%global appLoc serverName; %let compiled_apploc=/Public/app/angular-seed-app; %let serverName=SASApp; %let appLoc=%sysfunc(coalescec(&appLoc,&compiled_apploc)); %let sasjs_clickmeservice=clickme; %let syscc=0; options ps=max nonotes nosgen nomprint nomlogic nosource2 nosource noquotelenmax; /* user supplied build vars */ /* user supplied build vars end */ /* system macro dependencies for build process */ %macro mf_getattrn( libds ,attr )/*/STORE SOURCE*/; %local dsid rc; %let dsid=%sysfunc(open(&libds,is)); %if &dsid = 0 %then %do; %put %str(WARN)ING: Cannot open %trim(&libds), system message below; %put %sysfunc(sysmsg()); -1 %end; %else %do; %sysfunc(attrn(&dsid,&attr)) %let rc=%sysfunc(close(&dsid)); %end; %mend mf_getattrn; %macro mf_nobs(libds )/*/STORE SOURCE*/; %mf_getattrn(&libds,NLOBS) %mend mf_nobs; %macro mf_abort(mac=mf_abort.sas, msg=, iftrue=%str(1=1) )/*/STORE SOURCE*/; %if not(%eval(%unquote(&iftrue))) %then %return; %put NOTE: /// mf_abort macro executing //; %if %length(&mac)>0 %then %put NOTE- called by &mac; %put NOTE - &msg; %abort; %mend mf_abort; /** @endcond */ %macro mf_verifymacvars( verifyVars /* list of macro variable NAMES */ ,makeUpcase=NO /* set to YES to make all the variable VALUES uppercase */ ,mAbort=SOFT )/*/STORE SOURCE*/; %local verifyIterator verifyVar abortmsg; %do verifyIterator=1 %to %sysfunc(countw(&verifyVars,%str( ))); %let verifyVar=%qscan(&verifyVars,&verifyIterator,%str( )); %if not %symexist(&verifyvar) %then %do; %let abortmsg= Variable &verifyVar is MISSING; %goto exit_err; %end; %if %length(%trim(&&&verifyVar))=0 %then %do; %let abortmsg= Variable &verifyVar is EMPTY; %goto exit_err; %end; %if &makeupcase=YES %then %do; %let &verifyVar=%upcase(&&&verifyvar); %end; %end; %goto exit_success; %exit_err: %put &abortmsg; %mf_abort(iftrue=(&mabort ne SOFT), mac=mf_verifymacvars, msg=%str(&abortmsg) ) 0 %return; %exit_success: 1 %mend mf_verifymacvars; %macro mm_getDirectories( path= ,outds=work.mm_getDirectories ,mDebug=0 )/*/STORE SOURCE*/; %local mD; %if &mDebug=1 %then %let mD=; %else %let mD=%str(*); %&mD.put Executing mm_getDirectories.sas; %&mD.put _local_; data &outds (keep=directoryuri name directoryname directorydesc ); length directoryuri name directoryname directorydesc $256; call missing(of _all_); __i+1; %if %length(&path)=0 %then %do; do while (metadata_getnobj("omsobj:Directory?@Id contains '.'",__i,directoryuri)>0); %end; %else %do; do while( metadata_getnobj("omsobj:Directory?@DirectoryName='&path'",__i,directoryuri) >0 ); %end; __rc1=metadata_getattr(directoryuri, "Name", name); __rc2=metadata_getattr(directoryuri, "DirectoryName", directoryname); __rc3=metadata_getattr(directoryuri, "Desc", directorydesc); &mD.putlog (_all_) (=); drop __:; __i+1; if sum(of __rc1-__rc3)=0 then output; end; run; %mend mm_getDirectories; %macro mf_getuniquefileref(prefix=_,maxtries=1000,lrecl=32767); %local rc fname; %if &prefix=0 %then %do; %let rc=%sysfunc(filename(fname,,temp,lrecl=&lrecl)); %if &rc %then %put %sysfunc(sysmsg()); &fname %end; %else %do; %local x len; %let len=%eval(8-%length(&prefix)); %let x=0; %do x=0 %to &maxtries; %let fname=&prefix%substr(%sysfunc(ranuni(0)),3,&len); %if %sysfunc(fileref(&fname)) > 0 %then %do; %let rc=%sysfunc(filename(fname,,temp,lrecl=&lrecl)); %if &rc %then %put %sysfunc(sysmsg()); &fname %return; %end; %end; %put unable to find available fileref after &maxtries attempts; %end; %mend mf_getuniquefileref; %macro mm_updatestpsourcecode(stp= ,stpcode= ,minify=NO ,mdebug=0 ); /* first, check if STP exists */ %local tsuri; %let tsuri=stopifempty ; data _null_; format type uri tsuri value $200.; call missing (of _all_); path="&stp.(StoredProcess)"; /* first, find the STP ID */ if metadata_pathobj("",path,"StoredProcess",type,uri)>0 then do; /* get sourcecode */ cnt=1; do while (metadata_getnasn(uri,"Notes",cnt,tsuri)>0); rc=metadata_getattr(tsuri,"Name",value); %if &mdebug=1 %then %do; put tsuri= value=; %end; if value="SourceCode" then do; /* found it! */ rc=metadata_getattr(tsuri,"Id",value); call symputx('tsuri',value,'l'); stop; end; cnt+1; end; end; else put (_all_)(=); run; %if &tsuri=stopifempty %then %do; %put %str(WARN)ING: &stp.(StoredProcess) not found!; %return; %end; %if %length(&stpcode)<2 %then %do; %put %str(WARN)ING: No SAS code supplied!!; %return; %end; %local frefin frefout; %let frefin=%mf_getuniquefileref(); %let frefout=%mf_getuniquefileref(); /* write header XML */ data _null_; file &frefin; put "$METAREPOSITORY ','>'); outstr=tranwrd(outstr,"'",'''); outstr=tranwrd(outstr,'"','"'); outstr=tranwrd(outstr,'0A'x,' '); outstr=tranwrd(outstr,'0D'x,' '); outstr=tranwrd(outstr,'$','$'); %if &minify=YES %then %do; outstr=cats(outstr); if outstr ne ''; if not (outstr=:'/*' and subpad(left(reverse(outstr)),1,2)='/*'); %end; outstr=trim(outstr); put outstr ' '; run; %end; data _null_; file &frefin mod; put "'>SAS268435456 "; run; proc metadata in= &frefin out=&frefout; run; %if &mdebug=1 %then %do; /* write the response to the log for debugging */ data _null_; infile &frefout lrecl=32767; input; put _infile_; run; %end; %else %do; filename &frefin clear; filename &frefout clear; %end; %mend mm_updatestpsourcecode; %macro mm_getrepos( outds=work.mm_getrepos )/*/STORE SOURCE*/; * use a temporary fileref to hold the response; filename response temp; /* get list of libraries */ proc metadata in= "1" out=response; run; /* write the response to the log for debugging */ /* data _null_; infile response lrecl=1048576; input; put _infile_; run; */ /* create an XML map to read the response */ filename sxlemap temp; data _null_; file sxlemap; put ''; put "/GetRepositories/Repositories/Repository"; put ""; put ''; put "/GetRepositories/Repositories/Repository/@Id"; put ""; put "characterstring200"; put ''; put ''; put "/GetRepositories/Repositories/Repository/@Name"; put ""; put "characterstring200"; put ''; put ''; put "/GetRepositories/Repositories/Repository/@Desc"; put ""; put "characterstring200"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@DefaultNS"; put "characterstring200"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@RepositoryType"; put "characterstring20"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@RepositoryFormat"; put "characterstring10"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@Access"; put "characterstring16"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@CurrentAccess"; put "characterstring16"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@PauseState"; put "characterstring16"; put ''; put ''; put "/GetRepositories/Repositories/Repository/@Path"; put ""; put "characterstring256"; put ''; put ''; put "/GetRepositories/Repositories/Repository/@Engine"; put ""; put "characterstring8"; put ''; put ''; put "/GetRepositories/Repositories/Repository/@Options"; put ""; put "characterstring32"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@MetadataCreated"; put "characterstring24"; put ''; put ''; put ""; put "/GetRepositories/Repositories/Repository/@MetadataUpdated"; put "characterstring24"; put ''; put '
'; run; libname _XML_ xml xmlfileref=response xmlmap=sxlemap; proc sort data= _XML_.SASRepos out=&outds; by name; run; /* clear references */ filename sxlemap clear; filename response clear; libname _XML_ clear; %mend mm_getrepos; %macro mm_getservercontexts( outds=work.mm_getrepos )/*/STORE SOURCE*/; %local repo repocnt x; %let repo=%sysfunc(getoption(metarepository)); /* first get list of available repos */ %mm_getrepos(outds=work.repos) %let repocnt=0; data _null_; set repos; where repositorytype in('CUSTOM','FOUNDATION'); keep id name ; call symputx(cats('repo',_n_),name,'l'); call symputx('repocnt',_n_,'l'); run; filename __mc1 temp; filename __mc2 temp; data &outds; length serveruri servername $200; call missing (of _all_); stop; run; %do x=1 %to &repocnt; options metarepository=&&repo&x; proc metadata in= "$METAREPOSITORY ServerContextSAS 0" out=__mc1; run; /* data _null_; infile __mc1 lrecl=1048576; input; put _infile_; run; */ data _null_; file __mc2; put ''; put "/GetMetadataObjects/Objects/ServerContext"; put ""; put ''; put "/GetMetadataObjects/Objects/ServerContext/@Id"; put ""; put "characterstring200"; put ''; put ''; put "/GetMetadataObjects/Objects/ServerContext/@Name"; put ""; put "characterstring200"; put ''; put '
'; run; libname __mc3 xml xmlfileref=__mc1 xmlmap=__mc2; proc append base=&outds data=__mc3.SASContexts;run; libname __mc3 clear; %end; options metarepository=&repo; filename __mc1 clear; filename __mc2 clear; %mend mm_getservercontexts; %macro mp_abort(mac=mp_abort.sas, type=, msg=, iftrue=%str(1=1) , errds=work.mp_abort_errds , mode=REGULAR )/*/STORE SOURCE*/; %global sysprocessmode sysprocessname sasjs_stpsrv_header_loc sasjsprocessmode; %local fref fid i; %if not(%eval(%unquote(&iftrue))) %then %return; %put NOTE: /// mp_abort macro executing //; %if %length(&mac)>0 %then %put NOTE- called by &mac; %put NOTE - &msg; %if %symexist(_SYSINCLUDEFILEDEVICE) /* abort cancel FILE does not restart outside the INCLUDE on Viya 3.5 */ and %superq(SYSPROCESSNAME) ne %str(Compute Server) %then %do; %if "*&_SYSINCLUDEFILEDEVICE*" ne "**" %then %do; data &errds; iftrue='1=1'; length mac $100 msg $5000; mac=symget('mac'); msg=symget('msg'); run; data _null_; abort cancel FILE; run; %return; %end; %end; /* Web App Context */ %if %symexist(_PROGRAM) or %superq(SYSPROCESSNAME) = %str(Compute Server) or &mode=INCLUDE %then %do; options obs=max replace mprint; %if "%substr(&sysver,1,1)" ne "4" and "%substr(&sysver,1,1)" ne "5" %then %do; options nosyntaxcheck; %end; %if &mode=INCLUDE %then %do; %if %sysfunc(exist(&errds))=1 %then %do; data _null_; set &errds; call symputx('iftrue',iftrue,'l'); call symputx('mac',mac,'l'); call symputx('msg',msg,'l'); putlog (_all_)(=); run; %if (&iftrue)=0 %then %return; %end; %else %do; %put &sysmacroname: No include errors found; %return; %end; %end; /* extract log errs / warns, if exist */ %local logloc logline; %global logmsg; /* capture global messages */ %if %symexist(SYSPRINTTOLOG) %then %let logloc=&SYSPRINTTOLOG; %else %let logloc=%qsysfunc(getoption(LOG)); proc printto log=log;run; %let logline=0; %if %length(&logloc)>0 %then %do; data _null_; infile &logloc lrecl=5000; input; putlog _infile_; i=1; retain logonce 0; if ( _infile_=:"%str(WARN)ING" or _infile_=:"%str(ERR)OR" ) and logonce=0 then do; call symputx('logline',_n_); logonce+1; end; run; /* capture log including lines BEFORE the err */ %if &logline>0 %then %do; data _null_; infile &logloc lrecl=5000; input; i=1; stoploop=0; if _n_ ge &logline-15 and stoploop=0 then do until (i>22); call symputx('logmsg',catx('\n',symget('logmsg'),_infile_)); input; i+1; stoploop=1; end; if stoploop=1 then stop; run; %end; %end; %if %symexist(SYS_JES_JOB_URI) %then %do; /* setup webout for Viya */ options nobomfile; %if "X&SYS_JES_JOB_URI.X"="XX" %then %do; filename _webout temp lrecl=999999 mod; %end; %else %do; filename _webout filesrvc parenturi="&SYS_JES_JOB_URI" name="_webout.json" lrecl=999999 mod; %end; %end; %else %if %sysfunc(filename(fref,&sasjs_stpsrv_header_loc))=0 %then %do; options nobomfile; /* set up http header for SASjs Server */ %let fid=%sysfunc(fopen(&fref,A)); %if &fid=0 %then %do; %put %str(ERR)OR: %sysfunc(sysmsg()); %return; %end; %let rc=%sysfunc(fput(&fid,%str(Content-Type: application/json))); %let rc=%sysfunc(fwrite(&fid)); %let rc=%sysfunc(fclose(&fid)); %let rc=%sysfunc(filename(&fref)); %end; /* send response in SASjs JSON format */ data _null_; file _webout mod lrecl=32000 encoding='utf-8'; length msg syswarningtext syserrortext $32767 mode $10 ; sasdatetime=datetime(); msg=symget('msg'); %if &logline>0 %then %do; msg=cats(msg,'\n\nLog Extract:\n',symget('logmsg')); %end; /* escape the escapes */ msg=tranwrd(msg,'\','\\'); /* escape the quotes */ msg=tranwrd(msg,'"','\"'); /* ditch the CRLFs as chrome complains */ msg=compress(msg,,'kw'); /* quote without quoting the quotes (which are escaped instead) */ msg=cats('"',msg,'"'); if symexist('_debug') then debug=quote(trim(symget('_debug'))); else debug='""'; if symget('sasjsprocessmode')='Stored Program' then mode='SASJS'; if mode ne 'SASJS' then put '>>weboutBEGIN<<'; put '{"SYSDATE" : "' "&SYSDATE" '"'; put ',"SYSTIME" : "' "&SYSTIME" '"'; put ',"sasjsAbort" : [{'; put ' "MSG":' msg ; put ' ,"MAC": "' "&mac" '"}]'; put ",""SYSUSERID"" : ""&sysuserid"" "; put ',"_DEBUG":' debug ; if symexist('_metauser') then do; _METAUSER=quote(trim(symget('_METAUSER'))); put ",""_METAUSER"": " _METAUSER; _METAPERSON=quote(trim(symget('_METAPERSON'))); put ',"_METAPERSON": ' _METAPERSON; end; if symexist('SYS_JES_JOB_URI') then do; SYS_JES_JOB_URI=quote(trim(symget('SYS_JES_JOB_URI'))); put ',"SYS_JES_JOB_URI": ' SYS_JES_JOB_URI; end; _PROGRAM=quote(trim(resolve(symget('_PROGRAM')))); put ',"_PROGRAM" : ' _PROGRAM ; put ",""SYSCC"" : ""&syscc"" "; syserrortext=cats(symget('syserrortext')); if findc(syserrortext,'"\'!!'0A0D09000E0F010210111A'x) then do; syserrortext='"'!!trim( prxchange('s/"/\\"/',-1, /* double quote */ prxchange('s/\x0A/\n/',-1, /* new line */ prxchange('s/\x0D/\r/',-1, /* carriage return */ prxchange('s/\x09/\\t/',-1, /* tab */ prxchange('s/\x00/\\u0000/',-1, /* NUL */ prxchange('s/\x0E/\\u000E/',-1, /* SS */ prxchange('s/\x0F/\\u000F/',-1, /* SF */ prxchange('s/\x01/\\u0001/',-1, /* SOH */ prxchange('s/\x02/\\u0002/',-1, /* STX */ prxchange('s/\x10/\\u0010/',-1, /* DLE */ prxchange('s/\x11/\\u0011/',-1, /* DC1 */ prxchange('s/\x1A/\\u001A/',-1, /* SUB */ prxchange('s/\\/\\\\/',-1,syserrortext) )))))))))))))!!'"'; end; else syserrortext=cats('"',syserrortext,'"'); put ',"SYSERRORTEXT" : ' syserrortext; put ",""SYSHOSTNAME"" : ""&syshostname"" "; put ",""SYSJOBID"" : ""&sysjobid"" "; put ",""SYSSCPL"" : ""&sysscpl"" "; put ",""SYSSITE"" : ""&syssite"" "; sysvlong=quote(trim(symget('sysvlong'))); put ',"SYSVLONG" : ' sysvlong; syswarningtext=cats(symget('syswarningtext')); if findc(syswarningtext,'"\'!!'0A0D09000E0F010210111A'x) then do; syswarningtext='"'!!trim( prxchange('s/"/\\"/',-1, /* double quote */ prxchange('s/\x0A/\n/',-1, /* new line */ prxchange('s/\x0D/\r/',-1, /* carriage return */ prxchange('s/\x09/\\t/',-1, /* tab */ prxchange('s/\x00/\\u0000/',-1, /* NUL */ prxchange('s/\x0E/\\u000E/',-1, /* SS */ prxchange('s/\x0F/\\u000F/',-1, /* SF */ prxchange('s/\x01/\\u0001/',-1, /* SOH */ prxchange('s/\x02/\\u0002/',-1, /* STX */ prxchange('s/\x10/\\u0010/',-1, /* DLE */ prxchange('s/\x11/\\u0011/',-1, /* DC1 */ prxchange('s/\x1A/\\u001A/',-1, /* SUB */ prxchange('s/\\/\\\\/',-1,syswarningtext) )))))))))))))!!'"'; end; else syswarningtext=cats('"',syswarningtext,'"'); put ",""SYSWARNINGTEXT"" : " syswarningtext; put ',"END_DTTM" : "' "%sysfunc(datetime(),E8601DT26.6)" '" '; put "}" ; if mode ne 'SASJS' then put '>>weboutEND<<'; run; %put _all_; %if "&sysprocessmode " = "SAS Stored Process Server " %then %do; data _null_; putlog 'stpsrvset program err and syscc'; rc=stpsrvset('program error', 0); call symputx("syscc",0,"g"); run; %if &sysscp=WIN and 1=0 /* deprecating this logic until we figure out a consistent abort */ and "%substr(%str(&sysvlong ),1,8)"="9.04.01M" and "%substr(%str(&sysvlong ),9,1)">"5" %then %do; /* skip approach (below) does not work in windows m6+ envs */ endsas; %end; %else %do; /** * endsas kills 9.4m3 deployments by orphaning multibridges. * Abort variants are ungraceful (non zero return code) * This approach lets SAS run silently until the end :-) * Caution - fails when called within a %include within a macro * Use mp_include() to handle this. */ filename skip temp; data _null_; file skip; put '%macro skip();'; comment '%mend skip; -> fix lint '; put '%macro skippy();'; comment '%mend skippy; -> fix lint '; run; %inc skip; %end; %end; %else %if "&sysprocessmode " = "SAS Compute Server " %then %do; /* endsas kills the session making it harder to fetch results */ data _null_; syswarningtext=symget('syswarningtext'); syserrortext=symget('syserrortext'); abort_msg=symget('msg'); syscc=symget('syscc'); sysuserid=symget('sysuserid'); iftrue=symget('iftrue'); put (_all_)(/=); call symputx('syscc',0); abort cancel nolist; run; %end; %else %do; %abort cancel; %end; %end; %else %do; %put _all_; %abort cancel; %end; %mend mp_abort; /** @endcond */ %macro mf_isblank(param )/*/STORE SOURCE*/; %sysevalf(%superq(param)=,boolean) %mend mf_isblank; %macro mp_dropmembers( list /* space separated list of datasets / views */ ,libref=WORK /* can only drop from a single library at a time */ ,iftrue=%str(1=1) )/*/STORE SOURCE*/; %if not(%eval(%unquote(&iftrue))) %then %return; %if %mf_isblank(&list) %then %do; %put NOTE: nothing to drop!; %return; %end; proc datasets lib=&libref nolist; delete &list; delete &list /mtype=view; run; %mend mp_dropmembers; %macro mm_createstp( stpname=Macro People STP ,stpdesc=This stp was created automatically by the mm_createstp macro ,filename=mm_createstp.sas ,directory=SASEnvironment/SASCode ,tree=/User Folders/sasdemo ,package=false ,streaming=true ,outds=work.mm_createstp ,mDebug=0 ,server=SASApp ,stptype=1 ,minify=NO ,frefin=mm_in ,frefout=mm_out )/*/STORE SOURCE*/; %local mD; %if &mDebug=1 %then %let mD=; %else %let mD=%str(*); %&mD.put Executing mm_CreateSTP.sas; %&mD.put _local_; %mp_abort( iftrue=(%mf_verifymacvars(stpname filename directory tree)=0) ,mac=&sysmacroname ,msg=%str(Empty inputs: stpname filename directory tree) ) %mp_dropmembers(%scan(&outds,2,.)) /** * check tree exists */ data _null_; length type uri $256; rc=metadata_pathobj("","&tree","Folder",type,uri); call symputx('foldertype',type,'l'); call symputx('treeuri',uri,'l'); run; %if &foldertype ne Tree %then %do; %put %str(WARN)ING: Tree &tree does not exist!; %return; %end; /** * Check STP does not exist already */ %local cmtype; data _null_; length type uri $256; rc=metadata_pathobj("","&tree/&stpname",'StoredProcess',type,uri); call symputx('cmtype',type,'l'); call symputx('stpuri',uri,'l'); run; %if &cmtype = ClassifierMap %then %do; %put %str(WARN)ING: Stored Process &stpname already exists in &tree!; %return; %end; /** * Check that the physical file exists */ %if %sysfunc(fileexist(&directory/&filename)) ne 1 %then %do; %put %str(WARN)ING: FILE *&directory/&filename* NOT FOUND!; %return; %end; %if &stptype=1 %then %do; /* type 1 STP - where code is stored on filesystem */ %if %sysevalf(&sysver lt 9.2) %then %do; %put %str(WARN)ING: Version 9.2 or later required; %return; %end; /* check directory object (where 9.2 source code reference is stored) */ data _null_; length id $20 dirtype $256; rc=metadata_resolve("&directory",dirtype,id); call symputx('checkdirtype',dirtype,'l'); run; %if &checkdirtype ne Directory %then %do; %mm_getdirectories(path=&directory,outds=&outds ,mDebug=&mDebug) %if %mf_nobs(&outds)=0 or %sysfunc(exist(&outds))=0 %then %do; %put %str(WARN)ING: The directory object does not exist for &directory; %return; %end; %end; %else %do; data &outds; directoryuri="&directory"; run; %end; data &outds (keep=stpuri prompturi fileuri texturi); length stpuri prompturi fileuri texturi serveruri $256 ; if _n_=1 then call missing (of _all_); set &outds; /* final checks on uris */ length id $20 type $256; __rc=metadata_resolve("&treeuri",type,id); if type ne 'Tree' then do; putlog "%str(WARN)ING: Invalid tree URI: &treeuri"; stopme=1; end; __rc=metadata_resolve(directoryuri,type,id); if type ne 'Directory' then do; putlog "%str(WARN)ING: Invalid directory URI: " directoryuri; stopme=1; end; /* get server info */ __rc=metadata_resolve("&server",type,serveruri); if type ne 'LogicalServer' then do; __rc=metadata_getnobj("omsobj:LogicalServer?@Name='&server'",1,serveruri); if serveruri='' then do; putlog "%str(WARN)ING: Invalid server: &server"; stopme=1; end; end; if stopme=1 then do; putlog (_all_)(=); stop; end; /* create empty prompt */ rc1=METADATA_NEWOBJ('PromptGroup',prompturi,'Parameters'); rc2=METADATA_SETATTR(prompturi, 'UsageVersion', '1000000'); rc3=METADATA_SETATTR(prompturi, 'GroupType','2'); rc4=METADATA_SETATTR(prompturi, 'Name','Parameters'); rc5=METADATA_SETATTR(prompturi, 'PublicType','Embedded:PromptGroup'); GroupInfo= ""; rc6 = METADATA_SETATTR(prompturi, 'GroupInfo',groupinfo); if sum(of rc1-rc6) ne 0 then do; putlog "%str(WARN)ING: Issue creating prompt."; if prompturi ne . then do; putlog ' Removing orphan: ' prompturi; rc = METADATA_DELOBJ(prompturi); put rc=; end; stop; end; /* create a file uri */ rc7=METADATA_NEWOBJ('File',fileuri,'SP Source File'); rc8=METADATA_SETATTR(fileuri, 'FileName',"&filename"); rc9=METADATA_SETATTR(fileuri, 'IsARelativeName','1'); rc10=METADATA_SETASSN(fileuri, 'Directories','MODIFY',directoryuri); if sum(of rc7-rc10) ne 0 then do; putlog "%str(WARN)ING: Issue creating file."; if fileuri ne . then do; putlog ' Removing orphans:' prompturi fileuri; rc = METADATA_DELOBJ(prompturi); rc = METADATA_DELOBJ(fileuri); put (_all_)(=); end; stop; end; /* create a TextStore object */ rc11= METADATA_NEWOBJ('TextStore',texturi,'Stored Process'); rc12= METADATA_SETATTR(texturi, 'TextRole','StoredProcessConfiguration'); rc13= METADATA_SETATTR(texturi, 'TextType','XML'); storedtext='' !!"" !!""; rc14= METADATA_SETATTR(texturi, 'StoredText',storedtext); if sum(of rc11-rc14) ne 0 then do; putlog "%str(WARN)ING: Issue creating TextStore."; if texturi ne . then do; putlog ' Removing orphans: ' prompturi fileuri texturi; rc = METADATA_DELOBJ(prompturi); rc = METADATA_DELOBJ(fileuri); rc = METADATA_DELOBJ(texturi); put (_all_)(=); end; stop; end; /* create meta obj */ rc15= METADATA_NEWOBJ('ClassifierMap',stpuri,"&stpname"); rc16= METADATA_SETASSN(stpuri, 'Trees','MODIFY',treeuri); rc17= METADATA_SETASSN(stpuri, 'ComputeLocations','MODIFY',serveruri); rc18= METADATA_SETASSN(stpuri, 'SourceCode','MODIFY',fileuri); rc19= METADATA_SETASSN(stpuri, 'Prompts','MODIFY',prompturi); rc20= METADATA_SETASSN(stpuri, 'Notes','MODIFY',texturi); rc21= METADATA_SETATTR(stpuri, 'PublicType', 'StoredProcess'); rc22= METADATA_SETATTR(stpuri, 'TransformRole', 'StoredProcess'); rc23= METADATA_SETATTR(stpuri, 'UsageVersion', '1000000'); rc24= METADATA_SETATTR(stpuri, 'Desc', "&stpdesc"); /* tidy up if err */ if sum(of rc15-rc24) ne 0 then do; putlog "%str(WARN)ING: Issue creating STP."; if stpuri ne . then do; putlog ' Removing orphans: ' prompturi fileuri texturi stpuri; rc = METADATA_DELOBJ(prompturi); rc = METADATA_DELOBJ(fileuri); rc = METADATA_DELOBJ(texturi); rc = METADATA_DELOBJ(stpuri); put (_all_)(=); end; end; else do; fullpath=cats('_program=',treepath,"/&stpname"); putlog "NOTE: Stored Process Created!"; putlog "NOTE- "; putlog "NOTE-"; putlog "NOTE-" fullpath; putlog "NOTE- "; putlog "NOTE-"; end; output; stop; run; %end; %else %if &stptype=2 %then %do; /* type 2 stp - code is stored in metadata */ %if %sysevalf(&sysver lt 9.3) %then %do; %put %str(WARN)ING: SAS version 9.3 or later required to create type2 STPs; %return; %end; /* check we have the correct ServerContext */ %mm_getservercontexts(outds=contexts) %local serveruri; %let serveruri=NOTFOUND; data _null_; set contexts; where upcase(servername)="%upcase(&server)"; call symputx('serveruri',serveruri); run; %if &serveruri=NOTFOUND %then %do; %put %str(WARN)ING: ServerContext *&server* not found!; %return; %end; /** * First, create a Hello World type 2 stored process */ filename &frefin temp; data _null_; file &frefin; treeuri=quote(symget('treeuri')); serveruri=quote(symget('serveruri')); stpdesc=quote(symget('stpdesc')); stpname=quote(symget('stpname')); put "$METAREPOSITORY "/ ''/ " "/ " "/ " "/ " "/ ' '/ ' ' / " "/ " "/ ' '/ " "/ ""/ "SAS"/ "268435456"; run; filename &frefout temp; proc metadata in= &frefin out=&frefout ; run; %if &mdebug=1 %then %do; /* write the response to the log for debugging */ data _null_; infile &frefout lrecl=1048576; input; put _infile_; run; %end; /** * Next, add the source code */ %mm_updatestpsourcecode(stp=&tree/&stpname ,stpcode="&directory/&filename" ,mdebug=&mdebug ,minify=&minify) %end; %else %do; %put %str(WARN)ING: STPTYPE=*&stptype* not recognised!; %end; %mend mm_createstp; %macro mf_getuser( )/*/STORE SOURCE*/; %local user; %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; %let user=&SYS_COMPUTE_SESSION_OWNER; %end; %else %if %symexist(_metaperson) %then %do; %if %length(&_metaperson)=0 %then %let user=&sysuserid; /* sometimes SAS will add @domain extension - remove for consistency */ /* but be sure to quote in case of usernames with commas */ %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); %end; %else %let user=&sysuserid; %quote(&user) %mend mf_getuser; %macro mm_createfolder(path=,mDebug=0); %put &sysmacroname: execution started for &path; %local dbg errorcheck; %if &mDebug=0 %then %let dbg=*; %local parentFolderObjId child errorcheck paths; %let paths=0; %let errorcheck=1; %if &syscc ge 4 %then %do; %put SYSCC=&syscc - this macro requires a clean session; %return; %end; data _null_; length objId parentId objType parent child $200 folderPath $1000; call missing (of _all_); folderPath = "%trim(&path)"; * remove any trailing slash ; if ( substr(folderPath,length(folderPath),1) = '/' ) then folderPath=substr(folderPath,1,length(folderPath)-1); * name must not be blank; if ( folderPath = '' ) then do; put "%str(ERR)OR: &sysmacroname PATH parameter value must be non-blank"; end; * must have a starting slash ; if ( substr(folderPath,1,1) ne '/' ) then do; put "%str(ERR)OR: &sysmacroname PATH param value must have starting slash"; stop; end; * check if folder already exists ; rc=metadata_pathobj('',cats(folderPath,"(Folder)"),"",objType,objId); if rc ge 1 then do; put "NOTE: Folder " folderPath " already exists!"; stop; end; * do not create a root (one level) folder ; if countc(folderPath,'/')=1 then do; put "%str(ERR)OR: &sysmacroname will not create a new ROOT folder"; stop; end; * check that root folder exists ; root=cats('/',scan(folderpath,1,'/'),"(Folder)"); if metadata_pathobj('',root,"",objType,parentId)<1 then do; put "%str(ERR)OR: " root " does not exist!"; stop; end; * check that parent folder exists ; child=scan(folderPath,-1,'/'); parent=substr(folderpath,1,length(folderpath)-length(child)-1); rc=metadata_pathobj('',cats(parent,"(Folder)"),"",objType,parentId); if rc<1 then do; putlog 'The following folders will be created:'; /* folder does not exist - so start from top and work down */ length newpath $1000; paths=0; do x=2 to countw(folderpath,'/'); newpath=''; do i=1 to x; newpath=cats(newpath,'/',scan(folderpath,i,'/')); end; rc=metadata_pathobj('',cats(newpath,"(Folder)"),"",objType,parentId); if rc<1 then do; paths+1; call symputx(cats('path',paths),newpath); putlog newpath; end; call symputx('paths',paths); end; end; else putlog "parent " parent " exists"; call symputx('parentFolderObjId',parentId,'l'); call symputx('child',child,'l'); call symputx('errorcheck',0,'l'); &dbg put (_all_)(=); run; %if &errorcheck=1 or &syscc ge 4 %then %return; %if &paths>0 %then %do x=1 %to &paths; %put executing recursive call for &&path&x; %mm_createfolder(path=&&path&x) %end; %else %do; filename __newdir temp; options noquotelenmax; %local inmeta; %put creating: &path; %let inmeta=$METAREPOSITORY SAS268435456 ; proc metadata in="&inmeta" out=__newdir verbose; run ; /* check it was successful */ data _null_; length objId parentId objType parent child $200 ; call missing (of _all_); rc=metadata_pathobj('',cats("&path","(Folder)"),"",objType,objId); if rc ge 1 then do; putlog "SUCCCESS! &path created."; end; else do; putlog "%str(ERR)OR: unsuccessful attempt to create &path"; call symputx('syscc',8); end; run; /* write the response to the log for debugging */ %if &mDebug ne 0 %then %do; data _null_; infile __newdir lrecl=32767; input; put _infile_; run; %end; filename __newdir clear; %end; %put &sysmacroname: execution finished for &path; %mend mm_createfolder; %macro mm_deletestp( target= )/*/STORE SOURCE*/; /** * Check STP does exist */ %local cmtype; data _null_; length type uri $256; rc=metadata_pathobj("","&target",'StoredProcess',type,uri); call symputx('cmtype',type,'l'); call symputx('stpuri',uri,'l'); run; %if &cmtype ne ClassifierMap %then %do; %put NOTE: No Stored Process found at ⌖ %return; %end; filename __in temp lrecl=10000; filename __out temp lrecl=10000; data _null_ ; file __in ; put ""; put "SAS268436480"; put ""; run ; proc metadata in=__in out=__out verbose;run; /* list the result */ data _null_;infile __out; input; list; run; filename __in clear; filename __out clear; /** * Check deletion */ %local isgone; data _null_; length type uri $256; call missing (of _all_); rc=metadata_pathobj("","&target",'Note',type,uri); call symputx('isgone',type,'l'); run; %if &isgone = ClassifierMap %then %do; %put %str(ERR)OR: STP not deleted from ⌖ %let syscc=4; %return; %end; %mend mm_deletestp; /* system macro dependencies for build process end*/ /* system macros for build process */ %macro mm_createwebservice(path= ,name=initService ,precode= ,code=ft15f001 ,desc=This stp was created automagically by the mm_createwebservice macro ,mDebug=0 ,server=SASApp ,replace=YES ,adapter=sasjs )/*/STORE SOURCE*/; %if &syscc ge 4 %then %do; %put &=syscc - &sysmacroname will not execute in this state; %return; %end; %local mD; %if &mDebug=1 %then %let mD=; %else %let mD=%str(*); %&mD.put Executing mm_createwebservice.sas; %&mD.put _local_; * remove any trailing slash ; %if "%substr(&path,%length(&path),1)" = "/" %then %let path=%substr(&path,1,%length(&path)-1); /** * Add webout macro * These put statements are auto generated - to change the macro, change the * source (mm_webout) and run `build.py` */ filename sasjs temp; data _null_; file sasjs lrecl=3000 ; put "/* Created on %sysfunc(datetime(),datetime19.) by %mf_getuser() */"; /* WEBOUT BEGIN */ put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y '; put ' ,engine=DATASTEP '; put ' ,missing=NULL '; put ' ,showmeta=N '; put ' ,maxobs=MAX '; put ')/*/STORE SOURCE*/; '; put '%local tempds colinfo fmtds i numcols numobs stmt_obs lastobs optval '; put ' tmpds1 tmpds2 tmpds3 tmpds4; '; put '%let numcols=0; '; put '%if &maxobs ne MAX %then %let stmt_obs=%str(if _n_>&maxobs then stop;); '; put ' '; put '%if &action=OPEN %then %do; '; put ' options nobomfile; '; put ' data _null_;file &jref encoding=''utf-8'' lrecl=200; '; put ' put ''{"PROCESSED_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''"''; '; put ' run; '; put '%end; '; put '%else %if (&action=ARR or &action=OBJ) %then %do; '; put ' /* force variable names to always be uppercase in the JSON */ '; put ' options validvarname=upcase; '; put ' /* To avoid issues with _webout on EBI - such as encoding diffs and truncation '; put ' (https://support.sas.com/kb/49/325.html) we use temporary files */ '; put ' filename _sjs1 temp lrecl=200 ; '; put ' data _null_; file _sjs1 encoding=''utf-8''; '; put ' put ", ""%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":"; '; put ' run; '; put ' /* now write to _webout 1 char at a time */ '; put ' data _null_; '; put ' infile _sjs1 lrecl=1 recfm=n; '; put ' file &jref mod lrecl=1 recfm=n; '; put ' input sourcechar $char1. @@; '; put ' format sourcechar hex2.; '; put ' put sourcechar char1. @@; '; put ' run; '; put ' filename _sjs1 clear; '; put ' '; put ' /* grab col defs */ '; put ' proc contents noprint data=&ds '; put ' out=_data_(keep=name type length format formatl formatd varnum label); '; put ' run; '; put ' %let colinfo=%scan(&syslast,2,.); '; put ' proc sort data=&colinfo; '; put ' by varnum; '; put ' run; '; put ' /* move meta to mac vars */ '; put ' data &colinfo; '; put ' if _n_=1 then call symputx(''numcols'',nobs,''l''); '; put ' set &colinfo end=last nobs=nobs; '; put ' name=upcase(name); '; put ' /* fix formats */ '; put ' if type=2 or type=6 then do; '; put ' typelong=''char''; '; put ' length fmt $49.; '; put ' if format='''' then fmt=cats(''$'',length,''.''); '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else fmt=cats(format,formatl,''.''); '; put ' end; '; put ' else do; '; put ' typelong=''num''; '; put ' if format='''' then fmt=''best.''; '; put ' else if formatl=0 then fmt=cats(format,''.''); '; put ' else if formatd=0 then fmt=cats(format,formatl,''.''); '; put ' else fmt=cats(format,formatl,''.'',formatd); '; put ' end; '; put ' /* 32 char unique name */ '; put ' newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27); '; put ' '; put ' call symputx(cats(''name'',_n_),name,''l''); '; put ' call symputx(cats(''newname'',_n_),newname,''l''); '; put ' call symputx(cats(''length'',_n_),length,''l''); '; put ' call symputx(cats(''fmt'',_n_),fmt,''l''); '; put ' call symputx(cats(''type'',_n_),type,''l''); '; put ' call symputx(cats(''typelong'',_n_),typelong,''l''); '; put ' call symputx(cats(''label'',_n_),coalescec(label,name),''l''); '; put ' /* overwritten when fmt=Y and a custom format exists in catalog */ '; put ' if typelong=''num'' then call symputx(cats(''fmtlen'',_n_),200,''l''); '; put ' else call symputx(cats(''fmtlen'',_n_),min(32767,ceil((length+10)*1.5)),''l''); '; put ' run; '; put ' '; put ' %let tempds=%substr(_%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32); '; put ' proc sql; '; put ' select count(*) into: lastobs from &ds; '; put ' %if &maxobs ne MAX %then %let lastobs=%sysfunc(min(&lastobs,&maxobs)); '; put ' '; put ' %if &engine=PROCJSON %then %do; '; put ' %if &missing=STRING %then %do; '; put ' %put &sysmacroname: Special Missings not supported in proc json.; '; put ' %put &sysmacroname: Switching to DATASTEP engine; '; put ' %goto datastep; '; put ' %end; '; put ' data &tempds; '; put ' set &ds; '; put ' &stmt_obs; '; put ' %if &fmt=N %then format _numeric_ best32.;; '; put ' /* PRETTY is necessary to avoid line truncation in large files */ '; put ' filename _sjs2 temp lrecl=131068 encoding=''utf-8''; '; put ' proc json out=_sjs2 pretty '; put ' %if &action=ARR %then nokeys ; '; put ' ;export &tempds / nosastags fmtnumeric; '; put ' run; '; put ' /* send back to webout */ '; put ' data _null_; '; put ' infile _sjs2 lrecl=1 recfm=n; '; put ' file &jref mod lrecl=1 recfm=n; '; put ' input sourcechar $char1. @@; '; put ' format sourcechar hex2.; '; put ' put sourcechar char1. @@; '; put ' run; '; put ' filename _sjs2 clear; '; put ' %end; '; put ' %else %if &engine=DATASTEP %then %do; '; put ' %datastep: '; put ' %if %sysfunc(exist(&ds)) ne 1 & %sysfunc(exist(&ds,VIEW)) ne 1 '; put ' %then %do; '; put ' %put &sysmacroname: &ds NOT FOUND!!!; '; put ' %return; '; put ' %end; '; put ' '; put ' %if &fmt=Y %then %do; '; put ' /** '; put ' * Extract format definitions '; put ' * First, by getting library locations from dictionary.formats '; put ' * Then, by exporting the width using proc format '; put ' * Cannot use maxw from sashelp.vformat as not always populated '; put ' * Cannot use fmtinfo() as not supported in all flavours '; put ' */ '; put ' %let tmpds1=%substr(fmtsum%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32); '; put ' %let tmpds2=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32); '; put ' %let tmpds3=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32); '; put ' %let tmpds4=%substr(col%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32); '; put ' proc sql noprint; '; put ' create table &tmpds1 as '; put ' select cats(libname,''.'',memname) as FMTCAT, '; put ' FMTNAME '; put ' from dictionary.formats '; put ' where fmttype=''F'' and libname is not null '; put ' and fmtname in (select format from &colinfo where format is not null) '; put ' order by 1; '; put ' create table &tmpds2( '; put ' FMTNAME char(32), '; put ' LENGTH num '; put ' ); '; put ' %local catlist cat fmtlist i; '; put ' select distinct fmtcat into: catlist separated by '' '' from &tmpds1; '; put ' %do i=1 %to %sysfunc(countw(&catlist,%str( ))); '; put ' %let cat=%scan(&catlist,&i,%str( )); '; put ' proc sql; '; put ' select distinct fmtname into: fmtlist separated by '' '' '; put ' from &tmpds1 where fmtcat="&cat"; '; put ' proc format lib=&cat cntlout=&tmpds3(keep=fmtname length); '; put ' select &fmtlist; '; put ' run; '; put ' proc sql; '; put ' insert into &tmpds2 select distinct fmtname,length from &tmpds3; '; put ' %end; '; put ' '; put ' proc sql; '; put ' create table &tmpds4 as '; put ' select a.*, b.length as MAXW '; put ' from &colinfo a '; put ' left join &tmpds2 b '; put ' on cats(a.format)=cats(upcase(b.fmtname)) '; put ' order by a.varnum; '; put ' data _null_; '; put ' set &tmpds4; '; put ' if not missing(maxw); '; put ' call symputx( '; put ' cats(''fmtlen'',_n_), '; put ' /* vars need extra padding due to JSON escaping of special chars */ '; put ' min(32767,ceil((max(length,maxw)+10)*1.5)) '; put ' ,''l'' '; put ' ); '; put ' run; '; put ' '; put ' /* configure varlenchk - as we are explicitly shortening the variables */ '; put ' %let optval=%sysfunc(getoption(varlenchk)); '; put ' options varlenchk=NOWARN; '; put ' data _data_(compress=char); '; put ' /* shorten the new vars */ '; put ' length '; put ' %do i=1 %to &numcols; '; put ' &&name&i $&&fmtlen&i '; put ' %end; '; put ' ; '; put ' /* rename on entry */ '; put ' set &ds(rename=( '; put ' %do i=1 %to &numcols; '; put ' &&name&i=&&newname&i '; put ' %end; '; put ' )); '; put ' &stmt_obs; '; put ' '; put ' drop '; put ' %do i=1 %to &numcols; '; put ' &&newname&i '; put ' %end; '; put ' ; '; put ' %do i=1 %to &numcols; '; put ' %if &&typelong&i=num %then %do; '; put ' &&name&i=cats(put(&&newname&i,&&fmt&i)); '; put ' %end; '; put ' %else %do; '; put ' &&name&i=put(&&newname&i,&&fmt&i); '; put ' %end; '; put ' %end; '; put ' if _error_ then do; '; put ' call symputx(''syscc'',1012); '; put ' stop; '; put ' end; '; put ' run; '; put ' %let fmtds=&syslast; '; put ' options varlenchk=&optval; '; put ' %end; '; put ' '; put ' proc format; /* credit yabwon for special null removal */ '; put ' value bart (default=40) '; put ' %if &missing=NULL %then %do; '; put ' ._ - .z = null '; put ' %end; '; put ' %else %do; '; put ' ._ = [quote()] '; put ' . = null '; put ' .a - .z = [quote()] '; put ' %end; '; put ' other = [best.]; '; put ' '; put ' data &tempds; '; put ' attrib _all_ label=''''; '; put ' %do i=1 %to &numcols; '; put ' %if &&typelong&i=char or &fmt=Y %then %do; '; put ' length &&name&i $&&fmtlen&i...; '; put ' format &&name&i $&&fmtlen&i...; '; put ' %end; '; put ' %end; '; put ' %if &fmt=Y %then %do; '; put ' set &fmtds; '; put ' %end; '; put ' %else %do; '; put ' set &ds; '; put ' %end; '; put ' &stmt_obs; '; put ' format _numeric_ bart.; '; put ' %do i=1 %to &numcols; '; put ' %if &&typelong&i=char or &fmt=Y %then %do; '; put ' if findc(&&name&i,''"\''!!''0A0D09000E0F010210111A''x) then do; '; put ' &&name&i=''"''!!trim( '; put ' prxchange(''s/"/\\"/'',-1, /* double quote */ '; put ' prxchange(''s/\x0A/\n/'',-1, /* new line */ '; put ' prxchange(''s/\x0D/\r/'',-1, /* carriage return */ '; put ' prxchange(''s/\x09/\\t/'',-1, /* tab */ '; put ' prxchange(''s/\x00/\\u0000/'',-1, /* NUL */ '; put ' prxchange(''s/\x0E/\\u000E/'',-1, /* SS */ '; put ' prxchange(''s/\x0F/\\u000F/'',-1, /* SF */ '; put ' prxchange(''s/\x01/\\u0001/'',-1, /* SOH */ '; put ' prxchange(''s/\x02/\\u0002/'',-1, /* STX */ '; put ' prxchange(''s/\x10/\\u0010/'',-1, /* DLE */ '; put ' prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */ '; put ' prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */ '; put ' prxchange(''s/\\/\\\\/'',-1,&&name&i) '; put ' )))))))))))))!!''"''; '; put ' end; '; put ' else &&name&i=quote(cats(&&name&i)); '; put ' %end; '; put ' %end; '; put ' run; '; put ' '; put ' filename _sjs3 temp lrecl=131068 ; '; put ' data _null_; '; put ' file _sjs3 encoding=''utf-8''; '; put ' if _n_=1 then put "["; '; put ' set &tempds; '; put ' if _n_>1 then put "," @; put '; put ' %if &action=ARR %then "[" ; %else "{" ; '; put ' %do i=1 %to &numcols; '; put ' %if &i>1 %then "," ; '; put ' %if &action=OBJ %then """&&name&i"":" ; '; put ' "&&name&i"n /* name literal for reserved variable names */ '; put ' %end; '; put ' %if &action=ARR %then "]" ; %else "}" ; ; '; put ' '; put ' /* close out the table */ '; put ' data _null_; '; put ' file _sjs3 mod encoding=''utf-8''; '; put ' put '']''; '; put ' run; '; put ' data _null_; '; put ' infile _sjs3 lrecl=1 recfm=n; '; put ' file &jref mod lrecl=1 recfm=n; '; put ' input sourcechar $char1. @@; '; put ' format sourcechar hex2.; '; put ' put sourcechar char1. @@; '; put ' run; '; put ' filename _sjs3 clear; '; put ' %end; '; put ' '; put ' proc sql; '; put ' drop table &colinfo, &tempds; '; put ' '; put ' %if %substr(&showmeta,1,1)=Y %then %do; '; put ' filename _sjs4 temp lrecl=131068 encoding=''utf-8''; '; put ' data _null_; '; put ' file _sjs4; '; put ' length label $350; '; put ' put ", ""$%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":{""vars"":{"; '; put ' do i=1 to &numcols; '; put ' name=quote(trim(symget(cats(''name'',i)))); '; put ' format=quote(trim(symget(cats(''fmt'',i)))); '; put ' label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i))))); '; put ' length=quote(trim(symget(cats(''length'',i)))); '; put ' type=quote(trim(symget(cats(''typelong'',i)))); '; put ' if i>1 then put "," @@; '; put ' put name '':{"format":'' format '',"label":'' label '; put ' '',"length":'' length '',"type":'' type ''}''; '; put ' end; '; put ' put ''}}''; '; put ' run; '; put ' /* send back to webout */ '; put ' data _null_; '; put ' infile _sjs4 lrecl=1 recfm=n; '; put ' file &jref mod lrecl=1 recfm=n; '; put ' input sourcechar $char1. @@; '; put ' format sourcechar hex2.; '; put ' put sourcechar char1. @@; '; put ' run; '; put ' filename _sjs4 clear; '; put ' %end; '; put '%end; '; put ' '; put '%else %if &action=CLOSE %then %do; '; put ' data _null_; file &jref encoding=''utf-8'' mod ; '; put ' put "}"; '; put ' run; '; put '%end; '; put '%mend mp_jsonout; '; put ' '; put '%macro mf_getuser( '; put ')/*/STORE SOURCE*/; '; put ' %local user; '; put ' '; put ' %if %symexist(_sasjs_username) %then %let user=&_sasjs_username; '; put ' %else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do; '; put ' %let user=&SYS_COMPUTE_SESSION_OWNER; '; put ' %end; '; put ' %else %if %symexist(_metaperson) %then %do; '; put ' %if %length(&_metaperson)=0 %then %let user=&sysuserid; '; put ' /* sometimes SAS will add @domain extension - remove for consistency */ '; put ' /* but be sure to quote in case of usernames with commas */ '; put ' %else %let user=%unquote(%scan(%quote(&_metaperson),1,@)); '; put ' %end; '; put ' %else %let user=&sysuserid; '; put ' '; put ' %quote(&user) '; put ' '; put '%mend mf_getuser; '; put '%macro mm_webout(action,ds,dslabel=,fref=_webout,fmt=N,missing=NULL '; put ' ,showmeta=N,maxobs=MAX,workobs=0 '; put '); '; put '%global _webin_file_count _webin_fileref1 _webin_name1 _program _debug '; put ' sasjs_tables; '; put '%local i tempds jsonengine; '; put ' '; put '/* see https://github.com/sasjs/core/issues/41 */ '; put '%if "%upcase(&SYSENCODING)" ne "UTF-8" %then %let jsonengine=PROCJSON; '; put '%else %let jsonengine=DATASTEP; '; put ' '; put ' '; put '%if &action=FETCH %then %do; '; put ' %if %str(&_debug) ge 131 %then %do; '; put ' options mprint notes mprintnest; '; put ' %end; '; put ' %let _webin_file_count=%eval(&_webin_file_count+0); '; put ' /* now read in the data */ '; put ' %do i=1 %to &_webin_file_count; '; put ' %if &_webin_file_count=1 %then %do; '; put ' %let _webin_fileref1=&_webin_fileref; '; put ' %let _webin_name1=&_webin_name; '; put ' %end; '; put ' data _null_; '; put ' infile &&_webin_fileref&i termstr=crlf; '; put ' input; '; put ' call symputx(''input_statement'',_infile_); '; put ' putlog "&&_webin_name&i input statement: " _infile_; '; put ' stop; '; put ' data &&_webin_name&i; '; put ' infile &&_webin_fileref&i firstobs=2 dsd termstr=crlf encoding=''utf-8''; '; put ' input &input_statement; '; put ' %if %str(&_debug) ge 131 %then %do; '; put ' if _n_<20 then putlog _infile_; '; put ' %end; '; put ' run; '; put ' %let sasjs_tables=&sasjs_tables &&_webin_name&i; '; put ' %end; '; put '%end; '; put ' '; put '%else %if &action=OPEN %then %do; '; put ' /* fix encoding */ '; put ' OPTIONS NOBOMFILE; '; put ' '; put ' /** '; put ' * check xengine type to avoid the below err message: '; put ' * > Function is only valid for filerefs using the CACHE access method. '; put ' */ '; put ' data _null_; '; put ' set sashelp.vextfl(where=(fileref="_WEBOUT")); '; put ' if xengine=''STREAM'' then do; '; put ' rc=stpsrv_header(''Content-type'',"text/html; encoding=utf-8"); '; put ' end; '; put ' run; '; put ' '; put ' /* setup json */ '; put ' data _null_;file &fref encoding=''utf-8''; '; put ' %if %str(&_debug) ge 131 %then %do; '; put ' put ''>>weboutBEGIN<<''; '; put ' %end; '; put ' put ''{"SYSDATE" : "'' "&SYSDATE" ''"''; '; put ' put '',"SYSTIME" : "'' "&SYSTIME" ''"''; '; put ' run; '; put ' '; put '%end; '; put ' '; put '%else %if &action=ARR or &action=OBJ %then %do; '; put ' %mp_jsonout(&action,&ds,dslabel=&dslabel,fmt=&fmt,jref=&fref '; put ' ,engine=&jsonengine,missing=&missing,showmeta=&showmeta,maxobs=&maxobs '; put ' ) '; put '%end; '; put '%else %if &action=CLOSE %then %do; '; put ' /* To avoid issues with _webout on EBI we use a temporary file */ '; put ' filename _sjsref temp lrecl=131068; '; put ' %if %str(&workobs) > 0 %then %do; '; put ' /* if debug mode, send back first XX records of each work table also */ '; put ' data;run;%let tempds=%scan(&syslast,2,.); '; put ' ods output Members=&tempds; '; put ' proc datasets library=WORK memtype=data; '; put ' %local wtcnt;%let wtcnt=0; '; put ' data _null_; '; put ' set &tempds; '; put ' if not (upcase(name) =:"DATA"); /* ignore temp datasets */ '; put ' i+1; '; put ' call symputx(cats(''wt'',i),name,''l''); '; put ' call symputx(''wtcnt'',i,''l''); '; put ' data _null_; file _sjsref mod encoding=''utf-8''; '; put ' put ",""WORK"":{"; '; put ' %do i=1 %to &wtcnt; '; put ' %let wt=&&wt&i; '; put ' data _null_; file _sjsref mod encoding=''utf-8''; '; put ' dsid=open("WORK.&wt",''is''); '; put ' nlobs=attrn(dsid,''NLOBS''); '; put ' nvars=attrn(dsid,''NVARS''); '; put ' rc=close(dsid); '; put ' if &i>1 then put '',''@; '; put ' put " ""&wt"" : {"; '; put ' put ''"nlobs":'' nlobs; '; put ' put '',"nvars":'' nvars; '; put ' %mp_jsonout(OBJ,&wt,jref=_sjsref,dslabel=first10rows,showmeta=Y,maxobs=10 '; put ' ,maxobs=&workobs '; put ' ) '; put ' data _null_; file _sjsref mod encoding=''utf-8''; '; put ' put "}"; '; put ' %end; '; put ' data _null_; file _sjsref mod encoding=''utf-8''; '; put ' put "}"; '; put ' run; '; put ' %end; '; put ' /* close off json */ '; put ' data _null_;file _sjsref mod encoding=''utf-8''; '; put ' length SYSPROCESSNAME syserrortext syswarningtext autoexec $512; '; put ' put ",""_DEBUG"" : ""&_debug"" "; '; put ' _METAUSER=quote(trim(symget(''_METAUSER''))); '; put ' put ",""_METAUSER"": " _METAUSER; '; put ' _METAPERSON=quote(trim(symget(''_METAPERSON''))); '; put ' put '',"_METAPERSON": '' _METAPERSON; '; put ' _PROGRAM=quote(trim(resolve(symget(''_PROGRAM'')))); '; put ' put '',"_PROGRAM" : '' _PROGRAM ; '; put ' autoexec=quote(urlencode(trim(getoption(''autoexec'')))); '; put ' put '',"AUTOEXEC" : '' autoexec; '; put ' put ",""MF_GETUSER"" : ""%mf_getuser()"" "; '; put ' put ",""SYSCC"" : ""&syscc"" "; '; put ' put ",""SYSENCODING"" : ""&sysencoding"" "; '; put ' syserrortext=cats(symget(''syserrortext'')); '; put ' if findc(syserrortext,''"\''!!''0A0D09000E0F010210111A''x) then do; '; put ' syserrortext=''"''!!trim( '; put ' prxchange(''s/"/\\"/'',-1, /* double quote */ '; put ' prxchange(''s/\x0A/\n/'',-1, /* new line */ '; put ' prxchange(''s/\x0D/\r/'',-1, /* carriage return */ '; put ' prxchange(''s/\x09/\\t/'',-1, /* tab */ '; put ' prxchange(''s/\x00/\\u0000/'',-1, /* NUL */ '; put ' prxchange(''s/\x0E/\\u000E/'',-1, /* SS */ '; put ' prxchange(''s/\x0F/\\u000F/'',-1, /* SF */ '; put ' prxchange(''s/\x01/\\u0001/'',-1, /* SOH */ '; put ' prxchange(''s/\x02/\\u0002/'',-1, /* STX */ '; put ' prxchange(''s/\x10/\\u0010/'',-1, /* DLE */ '; put ' prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */ '; put ' prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */ '; put ' prxchange(''s/\\/\\\\/'',-1,syserrortext) '; put ' )))))))))))))!!''"''; '; put ' end; '; put ' else syserrortext=cats(''"'',syserrortext,''"''); '; put ' put '',"SYSERRORTEXT" : '' syserrortext; '; put ' put ",""SYSHOSTNAME"" : ""&syshostname"" "; '; put ' put ",""SYSPROCESSID"" : ""&SYSPROCESSID"" "; '; put ' put ",""SYSPROCESSMODE"" : ""&SYSPROCESSMODE"" "; '; put ' SYSPROCESSNAME=quote(urlencode(cats(SYSPROCESSNAME))); '; put ' put ",""SYSPROCESSNAME"" : " SYSPROCESSNAME; '; put ' put ",""SYSJOBID"" : ""&sysjobid"" "; '; put ' put ",""SYSSCPL"" : ""&sysscpl"" "; '; put ' put ",""SYSSITE"" : ""&syssite"" "; '; put ' put ",""SYSUSERID"" : ""&sysuserid"" "; '; put ' sysvlong=quote(trim(symget(''sysvlong''))); '; put ' put '',"SYSVLONG" : '' sysvlong; '; put ' syswarningtext=cats(symget(''syswarningtext'')); '; put ' if findc(syswarningtext,''"\''!!''0A0D09000E0F010210111A''x) then do; '; put ' syswarningtext=''"''!!trim( '; put ' prxchange(''s/"/\\"/'',-1, /* double quote */ '; put ' prxchange(''s/\x0A/\n/'',-1, /* new line */ '; put ' prxchange(''s/\x0D/\r/'',-1, /* carriage return */ '; put ' prxchange(''s/\x09/\\t/'',-1, /* tab */ '; put ' prxchange(''s/\x00/\\u0000/'',-1, /* NUL */ '; put ' prxchange(''s/\x0E/\\u000E/'',-1, /* SS */ '; put ' prxchange(''s/\x0F/\\u000F/'',-1, /* SF */ '; put ' prxchange(''s/\x01/\\u0001/'',-1, /* SOH */ '; put ' prxchange(''s/\x02/\\u0002/'',-1, /* STX */ '; put ' prxchange(''s/\x10/\\u0010/'',-1, /* DLE */ '; put ' prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */ '; put ' prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */ '; put ' prxchange(''s/\\/\\\\/'',-1,syswarningtext) '; put ' )))))))))))))!!''"''; '; put ' end; '; put ' else syswarningtext=cats(''"'',syswarningtext,''"''); '; put ' put '',"SYSWARNINGTEXT" : '' syswarningtext; '; put ' put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" ''; '; put ' length memsize $32; '; put ' memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)"; '; put ' memsize=quote(cats(memsize)); '; put ' put '',"MEMSIZE" : '' memsize; '; put ' put "}" @; '; put ' %if %str(&_debug) ge 131 %then %do; '; put ' put ''>>weboutEND<<''; '; put ' %end; '; put ' run; '; put ' /* now write to _webout 1 char at a time */ '; put ' data _null_; '; put ' infile _sjsref lrecl=1 recfm=n; '; put ' file &fref mod lrecl=1 recfm=n; '; put ' input sourcechar $char1. @@; '; put ' format sourcechar hex2.; '; put ' put sourcechar char1. @@; '; put ' run; '; put ' filename _sjsref clear; '; put ' '; put '%end; '; put ' '; put '%mend mm_webout; '; /* WEBOUT END */ put '%macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO);'; put ' %mm_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt,missing=&missing'; put ' ,showmeta=&showmeta'; put ' )'; put '%mend;'; run; /* add precode and code */ %local work tmpfile; %let work=%sysfunc(pathname(work)); %let tmpfile=__mm_createwebservice.temp; %local x fref freflist mod; %let freflist= &adapter &precode &code ; %do x=1 %to %sysfunc(countw(&freflist)); %if &x>1 %then %let mod=mod; %let fref=%scan(&freflist,&x); %&mD.put &sysmacroname: adding &fref; data _null_; file "&work/&tmpfile" lrecl=3000 &mod; infile &fref; input; put _infile_; run; %end; /* create the metadata folder if not already there */ %mm_createfolder(path=&path) %if &syscc ge 4 %then %return; %if %upcase(&replace)=YES %then %do; %mm_deletestp(target=&path/&name) %end; /* create the web service */ %mm_createstp(stpname=&name ,filename=&tmpfile ,directory=&work ,tree=&path ,stpdesc=&desc ,mDebug=&mdebug ,server=&server ,stptype=2) /* find the web app url */ %local url; %let url=localhost/SASStoredProcess; data _null_; length url $128; rc=METADATA_GETURI("Stored Process Web App",url); if rc=0 then call symputx('url',url,'l'); run; %put &sysmacroname: STP &name successfully created in &path; %put Check it out here:; %put ;%put ;%put ; %put &url?_PROGRAM=&path/&name; %put ;%put ;%put ; %mend mm_createwebservice; /* system macros for build process end */ %let path=services; %let service=Angular; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put '''';'; put 'put '' '';'; put 'put '' SASjs Angular Seed App'';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '' '';'; put 'put '''';'; put 'run;'; put '%sasjsout(HTML)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/common; %let service=appinit; filename sascode temp lrecl=32767; data _null_; file sascode; put '%macro mf_getuser('; put ')/*/STORE SOURCE*/;'; put '%local user;'; put '%if %symexist(_sasjs_username) %then %let user=&_sasjs_username;'; put '%else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do;'; put '%let user=&SYS_COMPUTE_SESSION_OWNER;'; put '%end;'; put '%else %if %symexist(_metaperson) %then %do;'; put '%if %length(&_metaperson)=0 %then %let user=&sysuserid;'; put '/* sometimes SAS will add @domain extension - remove for consistency */'; put '/* but be sure to quote in case of usernames with commas */'; put '%else %let user=%unquote(%scan(%quote(&_metaperson),1,@));'; put '%end;'; put '%else %let user=&sysuserid;'; put '%quote(&user)'; put '%mend mf_getuser;'; put '/**'; put '@file mp_jsonout.sas'; put '@brief Writes JSON in SASjs format to a fileref'; put '@details This macro can be used to OPEN a JSON stream and send one or more'; put 'tables as arrays of rows, where each row can be an object or a nested array.'; put 'There are two engines available - DATASTEP or PROCJSON.'; put 'PROC JSON is fast but will produce errs like the ones below if'; put 'special chars are encountered.'; put '> (ERR)OR: Some code points did not transcode.'; put '> An object or array close is not valid at this point in the JSON text.'; put '> Date value out of range'; put 'If this happens, try running with ENGINE=DATASTEP.'; put 'The DATASTEP engine is used to handle special SAS missing numerics, and'; put 'can also convert entire datasets to formatted values. Output JSON is always'; put 'in UTF-8.'; put 'Usage:'; put 'filename tmp temp;'; put 'data class; set sashelp.class;run;'; put '%mp_jsonout(OPEN,jref=tmp)'; put '%mp_jsonout(OBJ,class,jref=tmp)'; put '%mp_jsonout(OBJ,class,dslabel=class2,jref=tmp,showmeta=Y)'; put '%mp_jsonout(CLOSE,jref=tmp)'; put 'data _null_;'; put 'infile tmp;'; put 'input;putlog _infile_;'; put 'run;'; put 'If you are building web apps with SAS then you are strongly encouraged to use'; put 'the mX_createwebservice macros in combination with the'; put '[sasjs adapter](https://github.com/sasjs/adapter).'; put 'For more information see https://sasjs.io'; put '@param [in] action Valid values:'; put '@li OPEN - opens the JSON'; put '@li OBJ - sends a table with each row as an object'; put '@li ARR - sends a table with each row in an array'; put '@li CLOSE - closes the JSON'; put '@param [in] ds The dataset to send. Must be a work table.'; put '@param [out] jref= (_webout) The fileref to which to send the JSON'; put '@param [out] dslabel= The name to give the table in the exported JSON'; put '@param [in] fmt= (Y) Whether to keep (Y) or strip (N) formats from the table'; put '@param [in] engine= (DATASTEP) Which engine to use to send the JSON. Options:'; put '@li PROCJSON (default)'; put '@li DATASTEP (more reliable when data has non standard characters)'; put '@param [in] missing= (NULL) Special numeric missing values can be sent as NULL'; put '(eg `null`) or as STRING values (eg `".a"` or `".b"`)'; put '@param [in] showmeta= (N) Set to Y to output metadata alongside each table,'; put 'such as the column formats and types. The metadata is contained inside an'; put 'object with the same name as the table but prefixed with a dollar sign - ie,'; put '`,"$tablename":{"formats":{"col1":"$CHAR1"},"types":{"COL1":"C"}}`'; put '@param [in] maxobs= (MAX) Provide an integer to limit the number of input rows'; put 'that should be converted to JSON'; put '

Related Files

'; put '@li mp_ds2fmtds.sas'; put '@version 9.2'; put '@author Allan Bowe'; put '@source https://github.com/sasjs/core'; put '**/'; put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y'; put ',engine=DATASTEP'; put ',missing=NULL'; put ',showmeta=N'; put ',maxobs=MAX'; put ')/*/STORE SOURCE*/;'; put '%local tempds colinfo fmtds i numcols numobs stmt_obs lastobs optval'; put 'tmpds1 tmpds2 tmpds3 tmpds4;'; put '%let numcols=0;'; put '%if &maxobs ne MAX %then %let stmt_obs=%str(if _n_>&maxobs then stop;);'; put '%if &action=OPEN %then %do;'; put 'options nobomfile;'; put 'data _null_;file &jref encoding=''utf-8'' lrecl=200;'; put 'put ''{"PROCESSED_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''"'';'; put 'run;'; put '%end;'; put '%else %if (&action=ARR or &action=OBJ) %then %do;'; put '/* force variable names to always be uppercase in the JSON */'; put 'options validvarname=upcase;'; put '/* To avoid issues with _webout on EBI - such as encoding diffs and truncation'; put '(https://support.sas.com/kb/49/325.html) we use temporary files */'; put 'filename _sjs1 temp lrecl=200 ;'; put 'data _null_; file _sjs1 encoding=''utf-8'';'; put 'put ", ""%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":";'; put 'run;'; put '/* now write to _webout 1 char at a time */'; put 'data _null_;'; put 'infile _sjs1 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs1 clear;'; put '/* grab col defs */'; put 'proc contents noprint data=&ds'; put 'out=_data_(keep=name type length format formatl formatd varnum label);'; put 'run;'; put '%let colinfo=%scan(&syslast,2,.);'; put 'proc sort data=&colinfo;'; put 'by varnum;'; put 'run;'; put '/* move meta to mac vars */'; put 'data &colinfo;'; put 'if _n_=1 then call symputx(''numcols'',nobs,''l'');'; put 'set &colinfo end=last nobs=nobs;'; put 'name=upcase(name);'; put '/* fix formats */'; put 'if type=2 or type=6 then do;'; put 'typelong=''char'';'; put 'length fmt $49.;'; put 'if format='''' then fmt=cats(''$'',length,''.'');'; put 'else if formatl=0 then fmt=cats(format,''.'');'; put 'else fmt=cats(format,formatl,''.'');'; put 'end;'; put 'else do;'; put 'typelong=''num'';'; put 'if format='''' then fmt=''best.'';'; put 'else if formatl=0 then fmt=cats(format,''.'');'; put 'else if formatd=0 then fmt=cats(format,formatl,''.'');'; put 'else fmt=cats(format,formatl,''.'',formatd);'; put 'end;'; put '/* 32 char unique name */'; put 'newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27);'; put 'call symputx(cats(''name'',_n_),name,''l'');'; put 'call symputx(cats(''newname'',_n_),newname,''l'');'; put 'call symputx(cats(''length'',_n_),length,''l'');'; put 'call symputx(cats(''fmt'',_n_),fmt,''l'');'; put 'call symputx(cats(''type'',_n_),type,''l'');'; put 'call symputx(cats(''typelong'',_n_),typelong,''l'');'; put 'call symputx(cats(''label'',_n_),coalescec(label,name),''l'');'; put '/* overwritten when fmt=Y and a custom format exists in catalog */'; put 'if typelong=''num'' then call symputx(cats(''fmtlen'',_n_),200,''l'');'; put 'else call symputx(cats(''fmtlen'',_n_),min(32767,ceil((length+10)*1.5)),''l'');'; put 'run;'; put '%let tempds=%substr(_%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put 'proc sql;'; put 'select count(*) into: lastobs from &ds;'; put '%if &maxobs ne MAX %then %let lastobs=%sysfunc(min(&lastobs,&maxobs));'; put '%if &engine=PROCJSON %then %do;'; put '%if &missing=STRING %then %do;'; put '%put &sysmacroname: Special Missings not supported in proc json.;'; put '%put &sysmacroname: Switching to DATASTEP engine;'; put '%goto datastep;'; put '%end;'; put 'data &tempds;'; put 'set &ds;'; put '&stmt_obs;'; put '%if &fmt=N %then format _numeric_ best32.;;'; put '/* PRETTY is necessary to avoid line truncation in large files */'; put 'filename _sjs2 temp lrecl=131068 encoding=''utf-8'';'; put 'proc json out=_sjs2 pretty'; put '%if &action=ARR %then nokeys ;'; put ';export &tempds / nosastags fmtnumeric;'; put 'run;'; put '/* send back to webout */'; put 'data _null_;'; put 'infile _sjs2 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs2 clear;'; put '%end;'; put '%else %if &engine=DATASTEP %then %do;'; put '%datastep:'; put '%if %sysfunc(exist(&ds)) ne 1 & %sysfunc(exist(&ds,VIEW)) ne 1'; put '%then %do;'; put '%put &sysmacroname: &ds NOT FOUND!!!;'; put '%return;'; put '%end;'; put '%if &fmt=Y %then %do;'; put '/**'; put '* Extract format definitions'; put '* First, by getting library locations from dictionary.formats'; put '* Then, by exporting the width using proc format'; put '* Cannot use maxw from sashelp.vformat as not always populated'; put '* Cannot use fmtinfo() as not supported in all flavours'; put '*/'; put '%let tmpds1=%substr(fmtsum%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds2=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds3=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds4=%substr(col%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put 'proc sql noprint;'; put 'create table &tmpds1 as'; put 'select cats(libname,''.'',memname) as FMTCAT,'; put 'FMTNAME'; put 'from dictionary.formats'; put 'where fmttype=''F'' and libname is not null'; put 'and fmtname in (select format from &colinfo where format is not null)'; put 'order by 1;'; put 'create table &tmpds2('; put 'FMTNAME char(32),'; put 'LENGTH num'; put ');'; put '%local catlist cat fmtlist i;'; put 'select distinct fmtcat into: catlist separated by '' '' from &tmpds1;'; put '%do i=1 %to %sysfunc(countw(&catlist,%str( )));'; put '%let cat=%scan(&catlist,&i,%str( ));'; put 'proc sql;'; put 'select distinct fmtname into: fmtlist separated by '' '''; put 'from &tmpds1 where fmtcat="&cat";'; put 'proc format lib=&cat cntlout=&tmpds3(keep=fmtname length);'; put 'select &fmtlist;'; put 'run;'; put 'proc sql;'; put 'insert into &tmpds2 select distinct fmtname,length from &tmpds3;'; put '%end;'; put 'proc sql;'; put 'create table &tmpds4 as'; put 'select a.*, b.length as MAXW'; put 'from &colinfo a'; put 'left join &tmpds2 b'; put 'on cats(a.format)=cats(upcase(b.fmtname))'; put 'order by a.varnum;'; put 'data _null_;'; put 'set &tmpds4;'; put 'if not missing(maxw);'; put 'call symputx('; put 'cats(''fmtlen'',_n_),'; put '/* vars need extra padding due to JSON escaping of special chars */'; put 'min(32767,ceil((max(length,maxw)+10)*1.5))'; put ',''l'''; put ');'; put 'run;'; put '/* configure varlenchk - as we are explicitly shortening the variables */'; put '%let optval=%sysfunc(getoption(varlenchk));'; put 'options varlenchk=NOWARN;'; put 'data _data_(compress=char);'; put '/* shorten the new vars */'; put 'length'; put '%do i=1 %to &numcols;'; put '&&name&i $&&fmtlen&i'; put '%end;'; put ';'; put '/* rename on entry */'; put 'set &ds(rename=('; put '%do i=1 %to &numcols;'; put '&&name&i=&&newname&i'; put '%end;'; put '));'; put '&stmt_obs;'; put 'drop'; put '%do i=1 %to &numcols;'; put '&&newname&i'; put '%end;'; put ';'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=num %then %do;'; put '&&name&i=cats(put(&&newname&i,&&fmt&i));'; put '%end;'; put '%else %do;'; put '&&name&i=put(&&newname&i,&&fmt&i);'; put '%end;'; put '%end;'; put 'if _error_ then do;'; put 'call symputx(''syscc'',1012);'; put 'stop;'; put 'end;'; put 'run;'; put '%let fmtds=&syslast;'; put 'options varlenchk=&optval;'; put '%end;'; put 'proc format; /* credit yabwon for special null removal */'; put 'value bart (default=40)'; put '%if &missing=NULL %then %do;'; put '._ - .z = null'; put '%end;'; put '%else %do;'; put '._ = [quote()]'; put '. = null'; put '.a - .z = [quote()]'; put '%end;'; put 'other = [best.];'; put 'data &tempds;'; put 'attrib _all_ label='''';'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=char or &fmt=Y %then %do;'; put 'length &&name&i $&&fmtlen&i...;'; put 'format &&name&i $&&fmtlen&i...;'; put '%end;'; put '%end;'; put '%if &fmt=Y %then %do;'; put 'set &fmtds;'; put '%end;'; put '%else %do;'; put 'set &ds;'; put '%end;'; put '&stmt_obs;'; put 'format _numeric_ bart.;'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=char or &fmt=Y %then %do;'; put 'if findc(&&name&i,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put '&&name&i=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,&&name&i)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else &&name&i=quote(cats(&&name&i));'; put '%end;'; put '%end;'; put 'run;'; put 'filename _sjs3 temp lrecl=131068 ;'; put 'data _null_;'; put 'file _sjs3 encoding=''utf-8'';'; put 'if _n_=1 then put "[";'; put 'set &tempds;'; put 'if _n_>1 then put "," @; put'; put '%if &action=ARR %then "[" ; %else "{" ;'; put '%do i=1 %to &numcols;'; put '%if &i>1 %then "," ;'; put '%if &action=OBJ %then """&&name&i"":" ;'; put '"&&name&i"n /* name literal for reserved variable names */'; put '%end;'; put '%if &action=ARR %then "]" ; %else "}" ; ;'; put '/* close out the table */'; put 'data _null_;'; put 'file _sjs3 mod encoding=''utf-8'';'; put 'put '']'';'; put 'run;'; put 'data _null_;'; put 'infile _sjs3 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs3 clear;'; put '%end;'; put 'proc sql;'; put 'drop table &colinfo, &tempds;'; put '%if %substr(&showmeta,1,1)=Y %then %do;'; put 'filename _sjs4 temp lrecl=131068 encoding=''utf-8'';'; put 'data _null_;'; put 'file _sjs4;'; put 'length label $350;'; put 'put ", ""$%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":{""vars"":{";'; put 'do i=1 to &numcols;'; put 'name=quote(trim(symget(cats(''name'',i))));'; put 'format=quote(trim(symget(cats(''fmt'',i))));'; put 'label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i)))));'; put 'length=quote(trim(symget(cats(''length'',i))));'; put 'type=quote(trim(symget(cats(''typelong'',i))));'; put 'if i>1 then put "," @@;'; put 'put name '':{"format":'' format '',"label":'' label'; put ''',"length":'' length '',"type":'' type ''}'';'; put 'end;'; put 'put ''}}'';'; put 'run;'; put '/* send back to webout */'; put 'data _null_;'; put 'infile _sjs4 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs4 clear;'; put '%end;'; put '%end;'; put '%else %if &action=CLOSE %then %do;'; put 'data _null_; file &jref encoding=''utf-8'' mod ;'; put 'put "}";'; put 'run;'; put '%end;'; put '%mend mp_jsonout;'; put '/**'; put '@file mm_webout.sas'; put '@brief Send data to/from SAS Stored Processes'; put '@details This macro should be added to the start of each Stored Process,'; put '**immediately** followed by a call to:'; put '%mm_webout(FETCH)'; put 'This will read all the input data and create same-named SAS datasets in the'; put 'WORK library. You can then insert your code, and send data back using the'; put 'following syntax:'; put 'data some datasets; * make some data ;'; put 'retain some columns;'; put 'run;'; put '%mm_webout(OPEN)'; put '%mm_webout(ARR,some) * Array format, fast, suitable for large tables ;'; put '%mm_webout(OBJ,datasets) * Object format, easier to work with ;'; put 'Finally, wrap everything up send some helpful system variables too'; put '%mm_webout(CLOSE)'; put '@param [in] action Either FETCH, OPEN, ARR, OBJ or CLOSE'; put '@param [in] ds The dataset to send back to the frontend'; put '@param [out] dslabel= Value to use instead of table name for sending to JSON'; put '@param [in] fmt= (N) Setting Y converts all vars to their formatted values'; put '@param [out] fref= (_webout) The fileref to which to write the JSON'; put '@param [in] missing= (NULL) Special numeric missing values can be sent as NULL'; put '(eg `null`) or as STRING values (eg `".a"` or `".b"`)'; put '@param [in] showmeta= (N) Set to Y to output metadata alongside each table,'; put 'such as the column formats and types. The metadata is contained inside an'; put 'object with the same name as the table but prefixed with a dollar sign - ie,'; put '`,"$tablename":{"formats":{"col1":"$CHAR1"},"types":{"COL1":"C"}}`'; put '@param [in] workobs= (0) When set to a positive integer, will create a new'; put 'output object (WORK) which contains this number of observations from all'; put 'tables in the WORK library.'; put '@param [in] maxobs= (MAX) Provide an integer to limit the number of input rows'; put 'that should be converted to output JSON'; put '

SAS Macros

'; put '@li mp_jsonout.sas'; put '

Related Macros

'; put '@li ms_webout.sas'; put '@li mv_webout.sas'; put '@version 9.3'; put '@author Allan Bowe'; put '**/'; put '%macro mm_webout(action,ds,dslabel=,fref=_webout,fmt=N,missing=NULL'; put ',showmeta=N,maxobs=MAX,workobs=0'; put ');'; put '%global _webin_file_count _webin_fileref1 _webin_name1 _program _debug'; put 'sasjs_tables;'; put '%local i tempds jsonengine;'; put '/* see https://github.com/sasjs/core/issues/41 */'; put '%if "%upcase(&SYSENCODING)" ne "UTF-8" %then %let jsonengine=PROCJSON;'; put '%else %let jsonengine=DATASTEP;'; put '%if &action=FETCH %then %do;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'options mprint notes mprintnest;'; put '%end;'; put '%let _webin_file_count=%eval(&_webin_file_count+0);'; put '/* now read in the data */'; put '%do i=1 %to &_webin_file_count;'; put '%if &_webin_file_count=1 %then %do;'; put '%let _webin_fileref1=&_webin_fileref;'; put '%let _webin_name1=&_webin_name;'; put '%end;'; put 'data _null_;'; put 'infile &&_webin_fileref&i termstr=crlf;'; put 'input;'; put 'call symputx(''input_statement'',_infile_);'; put 'putlog "&&_webin_name&i input statement: " _infile_;'; put 'stop;'; put 'data &&_webin_name&i;'; put 'infile &&_webin_fileref&i firstobs=2 dsd termstr=crlf encoding=''utf-8'';'; put 'input &input_statement;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'if _n_<20 then putlog _infile_;'; put '%end;'; put 'run;'; put '%let sasjs_tables=&sasjs_tables &&_webin_name&i;'; put '%end;'; put '%end;'; put '%else %if &action=OPEN %then %do;'; put '/* fix encoding */'; put 'OPTIONS NOBOMFILE;'; put '/**'; put '* check xengine type to avoid the below err message:'; put '* > Function is only valid for filerefs using the CACHE access method.'; put '*/'; put 'data _null_;'; put 'set sashelp.vextfl(where=(fileref="_WEBOUT"));'; put 'if xengine=''STREAM'' then do;'; put 'rc=stpsrv_header(''Content-type'',"text/html; encoding=utf-8");'; put 'end;'; put 'run;'; put '/* setup json */'; put 'data _null_;file &fref encoding=''utf-8'';'; put '%if %str(&_debug) ge 131 %then %do;'; put 'put ''>>weboutBEGIN<<'';'; put '%end;'; put 'put ''{"SYSDATE" : "'' "&SYSDATE" ''"'';'; put 'put '',"SYSTIME" : "'' "&SYSTIME" ''"'';'; put 'run;'; put '%end;'; put '%else %if &action=ARR or &action=OBJ %then %do;'; put '%mp_jsonout(&action,&ds,dslabel=&dslabel,fmt=&fmt,jref=&fref'; put ',engine=&jsonengine,missing=&missing,showmeta=&showmeta,maxobs=&maxobs'; put ')'; put '%end;'; put '%else %if &action=CLOSE %then %do;'; put '/* To avoid issues with _webout on EBI we use a temporary file */'; put 'filename _sjsref temp lrecl=131068;'; put '%if %str(&workobs) > 0 %then %do;'; put '/* if debug mode, send back first XX records of each work table also */'; put 'data;run;%let tempds=%scan(&syslast,2,.);'; put 'ods output Members=&tempds;'; put 'proc datasets library=WORK memtype=data;'; put '%local wtcnt;%let wtcnt=0;'; put 'data _null_;'; put 'set &tempds;'; put 'if not (upcase(name) =:"DATA"); /* ignore temp datasets */'; put 'i+1;'; put 'call symputx(cats(''wt'',i),name,''l'');'; put 'call symputx(''wtcnt'',i,''l'');'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put ",""WORK"":{";'; put '%do i=1 %to &wtcnt;'; put '%let wt=&&wt&i;'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'dsid=open("WORK.&wt",''is'');'; put 'nlobs=attrn(dsid,''NLOBS'');'; put 'nvars=attrn(dsid,''NVARS'');'; put 'rc=close(dsid);'; put 'if &i>1 then put '',''@;'; put 'put " ""&wt"" : {";'; put 'put ''"nlobs":'' nlobs;'; put 'put '',"nvars":'' nvars;'; put '%mp_jsonout(OBJ,&wt,jref=_sjsref,dslabel=first10rows,showmeta=Y'; put ',maxobs=&workobs'; put ')'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put "}";'; put '%end;'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put "}";'; put 'run;'; put '%end;'; put '/* close off json */'; put 'data _null_;file _sjsref mod encoding=''utf-8'';'; put 'length SYSPROCESSNAME syserrortext syswarningtext autoexec $512;'; put 'put ",""_DEBUG"" : ""&_debug"" ";'; put '_METAUSER=quote(trim(symget(''_METAUSER'')));'; put 'put ",""_METAUSER"": " _METAUSER;'; put '_METAPERSON=quote(trim(symget(''_METAPERSON'')));'; put 'put '',"_METAPERSON": '' _METAPERSON;'; put '_PROGRAM=quote(trim(resolve(symget(''_PROGRAM''))));'; put 'put '',"_PROGRAM" : '' _PROGRAM ;'; put 'autoexec=quote(urlencode(trim(getoption(''autoexec''))));'; put 'put '',"AUTOEXEC" : '' autoexec;'; put 'put ",""MF_GETUSER"" : ""%mf_getuser()"" ";'; put 'put ",""SYSCC"" : ""&syscc"" ";'; put 'put ",""SYSENCODING"" : ""&sysencoding"" ";'; put 'syserrortext=cats(symget(''syserrortext''));'; put 'if findc(syserrortext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syserrortext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syserrortext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syserrortext=cats(''"'',syserrortext,''"'');'; put 'put '',"SYSERRORTEXT" : '' syserrortext;'; put 'put ",""SYSHOSTNAME"" : ""&syshostname"" ";'; put 'put ",""SYSPROCESSID"" : ""&SYSPROCESSID"" ";'; put 'put ",""SYSPROCESSMODE"" : ""&SYSPROCESSMODE"" ";'; put 'SYSPROCESSNAME=quote(urlencode(cats(SYSPROCESSNAME)));'; put 'put ",""SYSPROCESSNAME"" : " SYSPROCESSNAME;'; put 'put ",""SYSJOBID"" : ""&sysjobid"" ";'; put 'put ",""SYSSCPL"" : ""&sysscpl"" ";'; put 'put ",""SYSSITE"" : ""&syssite"" ";'; put 'put ",""SYSUSERID"" : ""&sysuserid"" ";'; put 'sysvlong=quote(trim(symget(''sysvlong'')));'; put 'put '',"SYSVLONG" : '' sysvlong;'; put 'syswarningtext=cats(symget(''syswarningtext''));'; put 'if findc(syswarningtext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syswarningtext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syswarningtext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syswarningtext=cats(''"'',syswarningtext,''"'');'; put 'put '',"SYSWARNINGTEXT" : '' syswarningtext;'; put 'put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" '';'; put 'length memsize $32;'; put 'memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)";'; put 'memsize=quote(cats(memsize));'; put 'put '',"MEMSIZE" : '' memsize;'; put 'put "}" @;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'put ''>>weboutEND<<'';'; put '%end;'; put 'run;'; put '/* now write to _webout 1 char at a time */'; put 'data _null_;'; put 'infile _sjsref lrecl=1 recfm=n;'; put 'file &fref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjsref clear;'; put '%end;'; put '%mend mm_webout;'; put '%macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);'; put '%mm_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt'; put ',missing=&missing'; put ',showmeta=&showmeta'; put ',maxobs=&maxobs'; put ') %mend;'; put '/* provide additional debug info */'; put '%global _program;'; put '%put &=syscc;'; put '%put user=%mf_getuser();'; put '%put pgm=&_program;'; put '%put timestamp=%sysfunc(datetime(),datetime19.);'; put '* Service Variables start;'; put '* Service Variables end;'; put '* SAS Macros start;'; put '* SAS Macros end;'; put '* SAS Includes start;'; put '* SAS Includes end;'; put '* Binary Files start;'; put '* Binary Files end;'; put '* ServiceInit start;'; put 'libname mydb (work);'; put 'data mydb.springs ;'; put 'attrib'; put 'Latitude length= 8'; put 'Longitude length= 8'; put 'Name length= $34'; put 'Area length= $14'; put 'Type length= $9'; put 'Farenheit length= 8'; put 'Celsius length= 8'; put ';'; put 'infile cards dsd;'; put 'input'; put 'Latitude'; put 'Longitude'; put 'Name :$char.'; put 'Area :$char.'; put 'Type :$char.'; put 'Farenheit'; put 'Celsius'; put ';'; put 'missing a b c d e f g h i j k l m n o p q r s t u v w x y z _;'; put 'datalines4;'; put '51.925,-177.16,Fumaroles on Kanaga Island,Adak,Hotspring,219,104'; put '65.858,-164.71,Serpentine Hot Springs,Bendeleben,Hotspring,171,77'; put '53.851,-166.918,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,H,H'; put '53.877,-166.448,Hot Springs Near Summer Bay,Unalaska,Hotspring,H,H'; put '52.27,-174.042,Hot Springs on Atka Island,Atka,Hotspring,H,H'; put '52.34,-174.26,Hot Springs on Atka Island,Atka,Hotspring,H,H'; put '52.358,-172.317,Hot Spring on Seguam Island,Seguam,Hotspring,H,H'; put '52.84,-169.9,Chuginadak Hot Springs,Samalga Island,Hotspring,H,H'; put '52.96,-169.71,Hot Spring on Kagamil Island,Samalga Island,Hotspring,H,H'; put '51.94,-178.5,Hot Spring on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '51.963,-178.491,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '51.775,-178.793,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,H,H'; put '53.207,-168.445,Hot Springs Near Geyser Bight,Umnak,Hotspring,H,H'; put '53.892,-166.93,Makushin Volcano Fumaroles,Unalaska,Hotspring,310,154'; put '54.9,-162.885,Hot Spring on Amagat Island,False Pass,Hotspring,H,H'; put '53.213,-168.463,Hot Springs Near Geyser Bight,Umnak,Hotspring,216,102'; put '53.223,-168.477,Hot Springs Near Geyser Bight,Umnak,Hotspring,214,101'; put '53.443,-168.092,Thermal Springs In Okmok Caldera,Umnak,Hotspring,212,100'; put '52.042,-176.108,Hot Springs on Great Sitkin Island,Adak,Hotspring,210,99'; put '55.983,-131.661,Bailey Hot Spring,Ketchikan,Hotspring,198,92'; put '53.242,-168.365,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,192,89'; put '54.157,-165.85,Hot Springs Near Hot Springs Bay,Unimak,Hotspring,181,83'; put '58.033,-136.017,Hot Springs North End Tenakee Inle,Mt. Fairweathe,Hotspring,180,82'; put '65.093,-164.922,Pilgrim Springs,Bendeleben,Hotspring,178,81'; put '57.831,-156.513,W Ukinek Spring,Ugashik,Hotspring,178,81'; put '65.459,-153.312,Little Melozitna Hot Springs,Melozitna,Hotspring,176,80'; put '51.81,-177.79,Hot Spring on Tanaga Island,Adak,Hotspring,H,H'; put '65.233,-144.483,Hot Springs on Big Windy Creek,Circle,Hotspring,H,H'; put '55.334,-162.137,Hot Spring at West End Emmons Lake,Cold Bay,Hotspring,68,20'; put '66.197,-154.006,Tunalkten Lake Hot Spring,Hughes,Hotspring,.,.'; put '67.403,-153.883,Hot Spring Near Arrigetch Peaks,Survey Pass,Hotspring,W,W'; put '65.047,-142.848,Hot Spring on Flat Creek,Charley River,Hotspring,W,W'; put '63.683,-151.233,Hot Springs Near Glacier,Mt. Mckinley,Hotspring,W,W'; put '63.883,-150.717,Hot Springs East of Diamond,Mt. Mckinley,Hotspring,W,W'; put '62.45,-157.933,Hot Spring Near Flat,Iditarod,Hotspring,W,W'; put '60.837,-142.42,Hot Spring on Twelvemile Creek,Bering Glacier,Hotspring,W,W'; put '56.58,-132.18,South Stikine Spring,Petersburg,Hotspring,W,W'; put '52.87,-173.13,Hot Spring on Attu Island,Attu,Hotspring,W,W'; put '65.908,-154.993,Deniktow Ridge Hot Springs,Melozitna,Hotspring,H,H'; put '53.95,-168.037,Hot Springs on Bogoslof Island,Umnak,Hotspring,H,H'; put '65.45,-150,Hot Spring Near Little Minook Cr,Tanana,Hotspring,H,H'; put '51.967,-178.444,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '64.002,-156.3,Hot Spring on Tributary of Innoko,Nulato,Hotspring,H,H'; put '61.058,-160.692,Hot Spring Near Tuluksak River,Russian Missio,Hotspring,H,H'; put '61.363,-157.733,Hot Springs on Upper Chuilnuk Rive,Sleetmute,Hotspring,H,H'; put '61.267,-151.238,Hot Lake In Bottom of Crater Peak,Tyonek,Hotspring,H,H'; put '58.24,-155.09,Hot Spring Near Katmai Pass,Mt. Katmai,Hotspring,H,H'; put '58.27,-154.89,Hot Springs Near Mt Katmai,Mt. Katmai,Hotspring,H,H'; put '58.92,-153.98,Hot Spring West of Cape Douglas,Afognak,Hotspring,H,H'; put '55.368,-161.961,Fumarole,Port Moller,Hotspring,H,H'; put '54.18,-165.41,Hot Springs on Akun Island,Unimak,Hotspring,H,H'; put '54.23,-165.66,Hot Springs on Akun Island,Unimak,Hotspring,H,H'; put '54.66,-164.55,Hot Spring on Unimak Island,Unimak,Hotspring,H,H'; put '65.97,-154.033,Pocahontas Hot Springs,Melozitna,Hotspring,H,H'; put '65.216,-149.993,Hutlinana Hot Springs,Livengood,Hotspring,109,43'; put '57.085,-134.839,Baranof Warm Springs,Sitka,Hotspring,124,51'; put '67.283,-155.067,Reed River Hot Spring,Survey Pass,Hotspring,122,50'; put '66.15,-157.117,Hot Springs Near South Bm,Shungnak,Hotspring,122,50'; put '66.233,-157.583,Hot Springs on Hawk River,Shungnak,Hotspring,122,50'; put '65.81,-151.237,Kilo Hot Spring,Tanana,Hotspring,122,50'; put '56.717,-132.005,Chief Shakes Hot Springs,Petersburg,Hotspring,122,50'; put '69.33,-144.044,Okpilak Springs,Mt. Michelson,Hotspring,119,49'; put '65.367,-161.25,Granite Mountain Hot Springs,Candle,Hotspring,120,49'; put '57.644,-135.333,Nylen Hot Springs,Sitka,Hotspring,120,49'; put '65.963,-150.919,Ray River Hot Spring,Tanana,Hotspring,117,47'; put '64.924,-154.837,Horner Hot Springs,Ruby,Hotspring,117,47'; put '65.267,-155.28,Hot Springs Near Dulbi River,Melozitna,Hotspring,126,52'; put '57.807,-136.341,White Sulphur Springs (Hooniah H S,Sitka,Hotspring,111,44'; put '57.781,-135.217,Tenakee Hot Springs,Sitka,Hotspring,109,43'; put '52.19,-174.25,Hot Springs on Atka Island,Atka,Hotspring,167,75'; put '55.334,-133.641,Dalton (Craig) Hot Springs,Craig,Hotspring,109,43'; put '51.944,-178.547,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '57.771,-135.82,Hot Spring North Arm Peril Strait,Sitka,Hotspring,100,38'; put '53.848,-166.873,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,94,34'; put '69.627,-146.027,Red Hill Spring,Mt. Michelson,Hotspring,91,33'; put '62.081,-145.007,Upper Klawasi Warm Springs,Gulkana,Hotspring,86,30'; put '62.058,-145.222,Mineral Spring (Lower Klawasi Cone,Gulkana,Hotspring,82,28'; put '56.68,-131.882,Barnes Lake Hot Springs,Bradfield Cana,Hotspring,79,26'; put '56.928,-158.12,Surprise Lake Hot Spring,Chignik,Hotspring,73,23'; put '56.667,-132.28,Twin Lakes Hot Springs,Petersburg,Hotspring,70,21'; put '66.383,-157.517,Warm Spring Near Purcell Mountain,Shungnak,Hotspring,68,20'; put '57.348,-135.385,Hot Spring Near Fish Bay,Sitka,Hotspring,117,47'; put '65.983,-150.56,Hot Springs on Lower Ray River,Tanana,Hotspring,142,61'; put '55.863,-160.493,Hot Spring Near Port Moller,Port Moller,Hotspring,160,71'; put '53.253,-168.358,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,158,70'; put '51.97,-176.61,Hot Springs on Adak Island,Adak,Hotspring,154,68'; put '65.053,-146.057,Chena Hot Springs,Circle,Hotspring,153,67'; put '58.37,-137.09,Hot Springs Near Icy Point,Mt. Fairweathe,Hotspring,153,67'; put '56.836,-135.374,Goddard Hot Springs,Port Alexander,Hotspring,153,67'; put '66.342,-150.85,Kanuti Hot Springs,Bettles,Hotspring,151,66'; put '64.85,-162.3,Clear Creek Hot Springs,Solomon,Hotspring,149,65'; put '53.233,-168.3,Hot Spring on Umnak Island,Umnak,Hotspring,149,65'; put '61.2,-159.863,Hot Springs Near Ophir Creek,Russian Missio,Hotspring,145,63'; put '57.865,-156.499,Gas Rocks Hot Spring,Ugashik,Hotspring,127,53'; put '51.762,-178.77,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,144,62'; put '66.367,-156.767,Hot Springs Near Division Bm,Shungnak,Hotspring,140,60'; put '64.7,-162.467,Hot Spring Near Kwiniuk River,Solomon,Hotspring,106,41'; put '65.274,-148.847,Tolovana Hot Springs,Livengood,Hotspring,140,60'; put '55.933,-131.559,Bell Island Hot Springs,Ketchikan,Hotspring,165,74'; put '57.178,-157.015,Hot Spring Near Mother Goose Lake,Ugashik,Hotspring,138,59'; put '65.483,-144.637,Circle Hot Springs,Circle,Hotspring,135,57'; put '56.233,-131.267,Bradfield Canal Hot Springs,Bradfield Cana,Hotspring,135,57'; put '65.006,-150.633,Manley Hot Springs,Tanana,Hotspring,133,56'; put '65.129,-154.692,Melozi (Melozitna) Springs,Melozitna,Hotspring,131,55'; put '66.217,-149.547,Dall Hot Springs,Beaver,Hotspring,129,54'; put '55.217,-162.483,Hot Springs East of Cold Bay,Cold Bay,Hotspring,129,54'; put '65.217,-162.9,Hot Springs Near Lava Creek,Bendeleben,Hotspring,127,53'; put '54.944,-163.251,Hot Springs Near Morzhovoi,False Pass,Hotspring,145,63'; put '36.48,-91.053,Warm Springs,Poplar Bluff,Hotspring,82,28'; put '34.384,-93.607,Caddo Gap Springs,Little Rock,Hotspring,95,35'; put '34.321,-93.739,Spring on Redland Mountain,Little Rock,Hotspring,77,25'; put '34.406,-93.908,Spring on Little Missouri River,Little Rock,Hotspring,74,23'; put '34.542,-93.024,Big Chalybeate Spring,Little Rock,Hotspring,79,26'; put '34.513,-93.053,Hot Springs,Little Rock,Hotspring,147,64'; put '33.008,-109.778,Grapevine Spring,Clifton,Hotspring,91,33'; put '32.984,-113.324,Agua Caliente Springs,Ajo,Hotspring,102,39'; put '34.563,-113.497,Kaiser Hot Spring,Prescott,Hotspring,99,37'; put '34.076,-111.708,Spring (Hot),Holbrook,Hotspring,99,37'; put '33.17,-110.528,Coolidge Dam Warm Spring,Mesa,Hotspring,99,37'; put '34.695,-113.572,Cofer Hot Spring,Prescott,Hotspring,97,36'; put '33.209,-110.818,Pioneer Spring,Mesa,Hotspring,91,33'; put '33.988,-112.362,Castle Hot Springs,Phoenix,Hotspring,115,46'; put '32.345,-110.247,Warm Springs,Tucson,Hotspring,91,33'; put '36.196,-113.081,Lava Warm Springs,Grand Canyon,Hotspring,90,32'; put '33.068,-109.975,Warm Spring,Clifton,Hotspring,90,32'; put '31.943,-113.013,Quitobaquito Springs,Lukeville,Hotspring,90,32'; put '31.695,-110.963,Agua Caliente Spring,Nogales,Hotspring,90,32'; put '33.075,-109.298,Seep,Clifton,Hotspring,95,35'; put '34.357,-111.71,Verde Hot Springs,Holbrook,Hotspring,104,40'; put '32.998,-109.901,Indian Hot Springs,Silver City,Hotspring,118,48'; put '33.669,-111.165,Roosevelt Dam Springs,Mesa,Hotspring,118,48'; put '32.336,-110.24,Hookers Hot Springs,Tucson,Hotspring,127,53'; put '33.4,-109.152,Hannah Hot Spring,Clifton,Hotspring,133,56'; put '33.08,-109.303,Hot Spring,Clifton,Hotspring,138,59'; put '32.741,-114.068,Radium Hot Springs,El Centro,Hotspring,140,60'; put '32.971,-109.35,Gillard Hot Springs,Silver City,Hotspring,180,82'; put '35.984,-114.742,Hot Spring,Kingman,Hotspring,H,H'; put '33.78,-110.317,Warm Spring,Mesa,Hotspring,W,W'; put '36.418,-113.956,Pakoon Springs,Grand Canyon,Hotspring,86,30'; put '33.493,-112.94,El Dorado Hot Springs,Phoenix South,Hotspring,112,44'; put '34.896,-114.308,Oatman Warm Springs,Needles,Hotspring,91,33'; put '33.055,-109.295,Clifton Hot Springs,Clifton,Hotspring,102,39'; put '34.445,-112.693,Spring,Prescott,Hotspring,72,22'; put '32.337,-110.708,Mercer Spring,Tucson,Hotspring,77,25'; put '34.649,-111.744,Soda Spring,Holbrook,Hotspring,75,24'; put '33.253,-110.703,Spring,Mesa,Hotspring,75,24'; put '31.362,-109.265,Astin Spring,Douglas,Hotspring,75,24'; put '35.169,-113.851,Frost Mine Spring,Williams,Hotspring,70,21'; put '31.673,-109.902,Antelope Spring,Douglas,Hotspring,79,26'; put '35.213,-113.425,Casa Grande Spring,Williams,Hotspring,72,22'; put '33.51,-110.403,Cassadore Spring,Mesa,Hotspring,73,23'; put '34.32,-111.453,Tonto Natural Bridge Spring,Holbrook,Hotspring,72,22'; put '34.405,-111.602,Spring,Holbrook,Hotspring,72,22'; put '34.436,-109.402,Salado Springs,Saint Johns,Hotspring,72,22'; put '31.592,-109.51,Lewis Spring,Douglas,Hotspring,68,20'; put '33.046,-109.44,Eagle Creek Hot Springs,Clifton,Hotspring,97,36'; put '36.509,-111.852,Colorado Pool,Marble Canyon,Hotspring,86,30'; put '33.062,-109.482,Warm Spring,Clifton,Hotspring,73,23'; put '31.637,-110.703,Monkey Spring,Nogales,Hotspring,82,28'; put '32.281,-110.73,Agua Caliente,Tucson,Hotspring,86,30'; put '32.327,-110.228,N-O Spring,Tucson,Hotspring,73,23'; put '32.983,-110.373,Warm Spring,Tucson,Hotspring,79,26'; put '33.152,-110.639,Mescal Warm Spring,Mesa,Hotspring,84,29'; put '33.163,-110.662,Spring,Mesa,Hotspring,82,28'; put '35.077,-113.267,Trout Creek Spring,Williams,Hotspring,81,27'; put '33.438,-110.213,Warm Springs,Mesa,Hotspring,86,30'; put '36.895,-113.913,Springs,Grand Canyon,Hotspring,79,26'; put '35.96,-114.725,Hot Spring,Kingman,Hotspring,86,30'; put '34.925,-114.221,Caliche Spring,Needles,Hotspring,79,26'; put '33.915,-112.332,Mitchell Spring,Phoenix,Hotspring,79,26'; put '33.831,-110.574,Salt Banks,Mesa,Hotspring,78,26'; put '34.91,-113.608,Tom Brown Warm Spring,Prescott,Hotspring,82,28'; put '38.873,-122.689,Seigler Springs,Santa Rosa,Hotspring,126,52'; put '36.814,-117.763,Palm Spring,Death Valley,Hotspring,120,49'; put '34.498,-119.341,Stingleys Hot Springs,Los Angeles,Hotspring,123,51'; put '33.67,-117.325,"Wrenden Hot Sprs, Elsinore Hot Spr",Santa Ana,Hotspring,125,52'; put '37.253,-118.373,Keough Hot Springs,Mariposa,Hotspring,124,51'; put '36.229,-118.302,Jordan Hot Springs,Fresno,Hotspring,124,51'; put '34.502,-119.346,Vickers Hot Springs,Los Angeles,Hotspring,124,51'; put '36.123,-121.64,Slates Hot Springs,Santa Cruz,Hotspring,122,50'; put '35.881,-118.67,California Hot Springs,Bakersfield,Hotspring,122,50'; put '38.788,-122.777,Sulphur Creek,Santa Rosa,Hotspring,120,49'; put '37.648,-118.806,Hot Springs,Mariposa,Hotspring,129,54'; put '36.703,-120.86,Mercey Hot Springs,Santa Cruz,Hotspring,119,48'; put '33.589,-117.511,San Juan Hot Springs,Santa Ana,Hotspring,120,49'; put '38.785,-122.655,Harbin Springs,Santa Rosa,Hotspring,120,49'; put '37.677,-118.79,Dehy Hot Spring,Mariposa,Hotspring,134,57'; put '39.183,-122.7,Bartlett Springs,Ukiah,Hotspring,144,62'; put '36.234,-121.546,Tassajara Hot Springs,Santa Cruz,Hotspring,144,62'; put '36.144,-120.555,Coalinga Mineral Springs,Santa Cruz,Hotspring,112,44'; put '39.033,-122.445,Jones Fountain of Life Spring,Ukiah,Hotspring,142,61'; put '35.575,-118.534,"Miracle Hot Sprs, Hobo Hot Sprs",Bakersfield,Hotspring,119,48'; put '33.284,-116.631,Warner Hot Spring,Santa Ana,Hotspring,138,59'; put '38.237,-119.326,Buckeye Hot Spring,Walker Lake,Hotspring,140,60'; put '41.266,-120.08,Hot Springs (Menlo Baths),Alturas,Hotspring,135,57'; put '33.753,-117.495,Glen Ivy Hot Springs,Santa Ana,Hotspring,131,55'; put '37.802,-118.532,Benton Hot Springs,Mariposa,Hotspring,134,57'; put '38.691,-123.024,Skaggs Springs,Santa Rosa,Hotspring,135,56'; put '35.62,-118.473,Scovern Hot Springs,Bakersfield,Hotspring,133,56'; put '34.538,-119.56,Agua Caliente Spring,Los Angeles,Hotspring,133,56'; put '33.558,-117.154,Murrietta Hot Springs,Santa Ana,Hotspring,132,56'; put '39.226,-120.01,Brockway Hot Springs,Chico,Hotspring,131,55'; put '41.036,-121.926,Hunt Hot Spring,Alturas,Hotspring,136,58'; put '34.582,-119.044,Willett Hot Springs,Los Angeles,Hotspring,108,42'; put '37.234,-118.881,Blaney Meadows Hot Springs,Mariposa,Hotspring,109,43'; put '36.477,-118.404,Kern Hot Spring,Fresno,Hotspring,109,43'; put '36.806,-117.771,Lower Warm Springs,Death Valley,Hotspring,110,43'; put '34.482,-119.302,Matilija Hot Springs,Los Angeles,Hotspring,109,43'; put '34.537,-119.879,San Marcos Hot Spring,Los Angeles,Hotspring,110,43'; put '33.896,-117.057,Eden Hot Springs,Santa Ana,Hotspring,109,43'; put '39.573,-120.348,Campbell Hot Springs,Chico,Hotspring,111,44'; put '38.994,-122.742,Horseshoe Spring,Santa Rosa,Hotspring,108,42'; put '33.969,-116.942,Highland Springs,Santa Ana,Hotspring,112,44'; put '34.34,-117.173,"Warm Spring, Hot Spring",San Bernardino,Hotspring,108,42'; put '41.219,-120.066,Squaw Baths,Alturas,Hotspring,106,41'; put '40.142,-120.935,Indian Valley Hot Springs,Susanville,Hotspring,106,41'; put '39.292,-122.821,Crabtree Hot Springs,Ukiah,Hotspring,106,41'; put '37.108,-121.478,Gilroy Hot Springs,San Jose,Hotspring,106,41'; put '39.227,-123.362,Orrs Springs,Ukiah,Hotspring,104,40'; put '38.773,-122.705,Anderson Springs,Santa Rosa,Hotspring,108,42'; put '38.858,-122.671,Howard Springs,Santa Rosa,Hotspring,113,45'; put '34.461,-119.637,Montecito Hot Springs,Los Angeles,Hotspring,118,48'; put '33.551,-117.167,Temecula Hot Springs,Santa Ana,Hotspring,116,47'; put '33.835,-116.988,Gilman Hot Springs,Santa Ana,Hotspring,117,47'; put '37.618,-119.074,Reds Meadow Hot Springs,Mariposa,Hotspring,115,46'; put '35.528,-118.665,Democrat Hot Springs,Bakersfield,Hotspring,115,46'; put '33.731,-118.348,Whites Point Hot Springs,Long Beach,Hotspring,115,46'; put '37.532,-119.025,Fish Creek Hot Springs,Mariposa,Hotspring,110,43'; put '39.032,-122.432,"Blank Spring, Manzanita Mine Sprs",Ukiah,Hotspring,112,45'; put '37.327,-119.018,Mono Hot Springs,Mariposa,Hotspring,109,43'; put '38.225,-119.217,The Hot Springs,Walker Lake,Hotspring,113,45'; put '35.727,-118.408,Hot Spring,Bakersfield,Hotspring,113,45'; put '41.6,-120.088,Leonards Hot Springs,Alturas,Hotspring,144,62'; put '38.874,-123.518,Point Arena Hot Springs,Santa Rosa,Hotspring,111,44'; put '41.126,-121.028,Kellog Hot Springs,Alturas,Hotspring,172,78'; put '35.558,-118.612,Delonegha Hot Springs,Bakersfield,Hotspring,112,44'; put '35.871,-116.23,Tecopa Hot Springs,Trona,Hotspring,118,48'; put '41.86,-120.158,Fort Bidwell Hot Spring,Alturas,Hotspring,113,45'; put '41.534,-120.078,Hot Springs (Surprise Valley),Alturas,Hotspring,208,98'; put '33.345,-115.588,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '41.012,-121.274,Hot Springs,Alturas,Hotspring,H,H'; put '39.922,-120.024,Zamboni Hot Springs,Chico,Hotspring,H,H'; put '38.979,-122.659,Fumarole,Santa Rosa,Hotspring,H,H'; put '37.622,-119.028,Fumaroles,Mariposa,Hotspring,H,H'; put '40.364,-120.243,Hot Spring,Susanville,Hotspring,204,96'; put '38.767,-122.748,Little Geysers,Santa Rosa,Hotspring,210,99'; put '33.328,-115.583,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '41.67,-120.206,Lake City Hot Springs,Alturas,Hotspring,207,97'; put '36.036,-117.802,Devils Kitchen,Death Valley,Hotspring,207,97'; put '36.045,-117.769,Coso Hot Springs,Death Valley,Hotspring,207,97'; put '40.382,-121.513,Morgan Hot Spring,Susanville,Hotspring,205,96'; put '40.421,-121.375,Terminal Geyser,Susanville,Hotspring,205,96'; put '41.19,-120.383,West Valley Reservoir Hot Spring,Alturas,Hotspring,171,77'; put '38.802,-122.81,The Geysers,Santa Rosa,Hotspring,214,101'; put '35.888,-116.258,Springs,Trona,Hotspring,W,W'; put '34.185,-117.262,"Arrowhead Springs, Waterman Hot Sp",San Bernardino,Hotspring,194,90'; put '33.823,-116.542,Palm Springs (Agua Caliente Spring,Santa Ana,Hotspring,104,40'; put '41.196,-120.475,Springs,Alturas,Hotspring,W,W'; put '41.959,-120.936,Warm Spring,Alturas,Hotspring,W,W'; put '37.929,-121.965,Springs,San Jose,Hotspring,W,W'; put '36.83,-117.736,Upper Warm Spring,Death Valley,Hotspring,W,W'; put '33.343,-115.573,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '35.536,-118.651,Spring (Hot),Bakersfield,Hotspring,W,W'; put '33.332,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '35.967,-116.931,Warm Spring,Trona,Hotspring,W,W'; put '33.28,-115.592,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.288,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.312,-115.577,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.313,-115.605,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '40.393,-121.507,Growler Hot Spring,Susanville,Hotspring,203,95'; put '35.148,-118.783,Warm Spring,Bakersfield,Hotspring,W,W'; put '41.973,-122.202,Klamath Hot Spring,Weed,Hotspring,156,69'; put '41.143,-121.11,Bassett Hot Springs,Alturas,Hotspring,174,79'; put '38.58,-122.575,Calistoga Hot Springs,Santa Rosa,Hotspring,172,78'; put '37.656,-118.834,Hot Creek Springs,Mariposa,Hotspring,171,77'; put '41.229,-121.405,Little Hot Spring,Alturas,Hotspring,169,76'; put '37.664,-118.802,The Tub,Mariposa,Hotspring,167,75'; put '40.355,-120.257,Wendel Hot Springs,Susanville,Hotspring,205,96'; put '38.768,-122.717,Castle Rock Springs,Santa Rosa,Hotspring,163,73'; put '38.245,-119.205,Travertine Hot Springs,Walker Lake,Hotspring,180,82'; put '39.002,-122.664,Sulphur Bank,Ukiah,Hotspring,156,69'; put '39.057,-122.475,Elgin Mine,Ukiah,Hotspring,156,69'; put '39.039,-122.421,Wilbur Springs,Ukiah,Hotspring,153,67'; put '40.444,-121.409,Drakesbad,Susanville,Hotspring,151,66'; put '40.457,-121.545,Mill Creek Springs,Susanville,Hotspring,150,66'; put '38.048,-119.081,Hot Spring,Walker Lake,Hotspring,151,66'; put '37.647,-118.859,Casa Diablo Hot Pool,Mariposa,Hotspring,165,74'; put '41.607,-121.523,Hot Spot,Alturas,Hotspring,191,88'; put '40.44,-121.434,Devils Kitchen,Susanville,Hotspring,203,95'; put '40.302,-120.195,Amedee Hot Springs,Susanville,Hotspring,203,95'; put '36.031,-117.833,Fumarole,Death Valley,Hotspring,203,95'; put '40.447,-121.536,"Sulphur Works, Tophet Hot Springs",Susanville,Hotspring,199,93'; put '40.455,-121.501,Bumpass Hell,Susanville,Hotspring,199,93'; put '37.648,-118.914,Casa Diablo Hot Springs And Geyser,Mariposa,Hotspring,199,93'; put '37.692,-118.839,Little Hot Creek Spring,Mariposa,Hotspring,180,82'; put '34.596,-118.998,Sespe Hot Springs,Los Angeles,Hotspring,194,90'; put '38.348,-119.4,Fales Hot Springs,Walker Lake,Hotspring,180,82'; put '40.434,-121.399,Boiling Springs Lake,Susanville,Hotspring,190,88'; put '41.615,-120.102,Seyferth Hot Springs,Alturas,Hotspring,185,85'; put '41.407,-122.197,"Hot Spring, Fumaroles",Weed,Hotspring,183,84'; put '37.993,-119.028,Paoha Island Springs,Mariposa,Hotspring,181,83'; put '41.025,-121.924,Big Bend Hot Springs,Alturas,Hotspring,180,82'; put '38.699,-119.846,Grovers Hot Springs,Walker Lake,Hotspring,147,64'; put '37.665,-118.828,Hot Creek Gorge Springs,Mariposa,Hotspring,199,93'; put '39.43,-122.538,"Sulphur Spring, Salt Spring",Ukiah,Hotspring,75,24'; put '38.925,-122.77,Hildebrande Spring,Santa Rosa,Hotspring,77,25'; put '38.203,-119.118,Warm Spring,Walker Lake,Hotspring,77,25'; put '36.938,-121.565,Sargent Estate Warm Spring,Santa Cruz,Hotspring,77,25'; put '34.826,-116.677,Newberry Spring,San Bernardino,Hotspring,77,25'; put '41.919,-122.369,Bogus Soda Springs,Weed,Hotspring,76,24'; put '39.053,-122.597,Quigley Soda Spring,Ukiah,Hotspring,82,28'; put '41.252,-120.521,Warm Spring,Alturas,Hotspring,75,24'; put '38.85,-122.693,Pine Cone Spring,Santa Rosa,Hotspring,78,26'; put '38.339,-122.259,Napa Vichy Springs,Santa Rosa,Hotspring,76,24'; put '38.892,-122.533,Baker Soda Spring,Santa Rosa,Hotspring,76,24'; put '38.897,-122.882,England Springs,Santa Rosa,Hotspring,76,24'; put '38.916,-122.799,Carlsbad Spring,Santa Rosa,Hotspring,76,24'; put '38.192,-120.827,Valley Springs,Sacramento,Hotspring,75,24'; put '38.85,-120.025,Myers Warm Spring,Sacramento,Hotspring,75,24'; put '37.708,-118.813,Hot Spring,Mariposa,Hotspring,68,20'; put '36.122,-117.217,Warm Sulphur Springs,Death Valley,Hotspring,80,27'; put '35.682,-116.422,Saratoga Spring,Trona,Hotspring,82,28'; put '33.733,-114.907,Mccoy Spring,Salton Sea,Hotspring,82,28'; put '41.484,-120.764,Spring,Alturas,Hotspring,81,27'; put '39.657,-123.585,Jackson Valley Mud Springs,Ukiah,Hotspring,80,27'; put '39.198,-122.505,Pseudo Complexion Spring,Ukiah,Hotspring,81,27'; put '38.85,-122.667,Bad Creek Spring,Santa Rosa,Hotspring,81,27'; put '32.97,-116.423,Vallecitos Spring,San Diego,Hotspring,79,26'; put '36.765,-120.901,Spring,Santa Cruz,Hotspring,81,27'; put '34.159,-118.499,El Encino Springs,Los Angeles,Hotspring,79,26'; put '35.879,-116.153,Resting Spring,Trona,Hotspring,80,27'; put '41.828,-120.917,Pothole Spring,Alturas,Hotspring,78,26'; put '39.348,-122.668,Fouts Springs,Ukiah,Hotspring,79,26'; put '38.519,-122.26,"Napa Rock Soda Spring, Phillips So",Santa Rosa,Hotspring,78,26'; put '38.838,-122.653,Spiers Springs,Santa Rosa,Hotspring,79,26'; put '35.141,-116.101,Soda Station Springs,Trona,Hotspring,75,24'; put '37.503,-121.904,Alameda Warm Springs,San Jose,Hotspring,80,27'; put '39.429,-123.308,Muir Springs,Ukiah,Hotspring,68,20'; put '37.924,-122.046,Sulphur Spring,San Francisco,Hotspring,75,24'; put '40.58,-120.265,Tipton Springs,Susanville,Hotspring,70,21'; put '39.697,-123.478,Pinches Spring,Ukiah,Hotspring,70,21'; put '38.755,-122.285,Zim Zim Spring,Santa Rosa,Hotspring,70,21'; put '37.083,-121.042,Spring In Oneill Forebay,San Jose,Hotspring,70,21'; put '37.632,-121.762,Crohare Spring,San Jose,Hotspring,70,21'; put '33.625,-115.325,Corn Spring,Salton Sea,Hotspring,72,22'; put '36.117,-118.776,Ward Spring,Fresno,Hotspring,70,21'; put '34.423,-119.538,Boron Spring,Los Angeles,Hotspring,72,22'; put '39.002,-122.498,Grizzly Spring,Ukiah,Hotspring,68,20'; put '39.088,-122.525,Sulphur Spring,Ukiah,Hotspring,68,20'; put '38.125,-122.188,Vallejo White Sulphur Springs,Santa Rosa,Hotspring,68,20'; put '38.31,-122.053,Tolenas Springs,Santa Rosa,Hotspring,68,20'; put '41.45,-120.834,Kelly Hot Spring,Alturas,Hotspring,198,92'; put '36.512,-116.821,Nevares Springs,Death Valley,Hotspring,102,39'; put '37.888,-118.487,Bertrand Ranch Springs,Mariposa,Hotspring,70,21'; put '35.483,-119.917,Mize Spring,Bakersfield,Hotspring,73,23'; put '36.698,-117.848,Little Hunter Canyon Springs,Death Valley,Hotspring,81,27'; put '38.995,-122.642,Davis Soda Spring,Santa Rosa,Hotspring,73,23'; put '37.432,-121.308,Salt Grass Springs,San Jose,Hotspring,73,23'; put '37.573,-121.445,Lone Tree Mineral Spring,San Jose,Hotspring,73,23'; put '37.638,-118.887,Chance Spring,Mariposa,Hotspring,73,23'; put '36.295,-120.985,Sulphur Springs,Santa Cruz,Hotspring,73,23'; put '41.16,-120.403,Warm Spring,Alturas,Hotspring,70,21'; put '35.4,-120.25,Cameta Warm Spring,San Luis Obisp,Hotspring,73,23'; put '37.719,-118.735,Springs,Mariposa,Hotspring,75,24'; put '35.588,-116.359,Sheep Creek Spring,Trona,Hotspring,73,23'; put '40.568,-120.325,Sellicks Springs,Susanville,Hotspring,72,22'; put '38.833,-122.357,One Shot Mining Co,Santa Rosa,Hotspring,72,22'; put '38.95,-122.572,Soda Spring In Cache Formation,Santa Rosa,Hotspring,72,22'; put '37.635,-118.72,Springs,Mariposa,Hotspring,72,22'; put '36.13,-118.816,Soda Spring,Fresno,Hotspring,72,22'; put '36.773,-120.898,Iridat Spring,Santa Cruz,Hotspring,73,23'; put '33.545,-115.654,Canyon Spring,Salton Sea,Hotspring,97,36'; put '36.675,-116.923,Keane Wonder Spring,Death Valley,Hotspring,93,34'; put '36.331,-121.367,Paraiso Springs (Sulphur Spring),Santa Cruz,Hotspring,98,37'; put '35.122,-120.542,Newsom Springs,San Luis Obisp,Hotspring,99,37'; put '34.503,-120.219,Las Cruces Hot Springs,Santa Maria,Hotspring,99,37'; put '38.49,-122.498,St Helena White Sulphur Spring,Santa Rosa,Hotspring,97,36'; put '35.946,-116.189,Chappo Spring,Trona,Hotspring,80,27'; put '40.019,-121.036,Spring,Susanville,Hotspring,99,37'; put '40.44,-121.42,Hot Springs Valley,Susanville,Hotspring,83,28'; put '32.947,-116.305,Agua Caliente Springs,San Diego,Hotspring,101,38'; put '39.196,-122.714,Newman Springs,Ukiah,Hotspring,94,35'; put '37.63,-118.808,Whitmore Hot Springs,Mariposa,Hotspring,95,35'; put '35.269,-120.851,Pecho Warm Springs,San Luis Obisp,Hotspring,95,35'; put '33.514,-117.604,Spring,Santa Ana,Hotspring,95,35'; put '38.958,-122.701,Riviera Beach Spring,Santa Rosa,Hotspring,93,34'; put '36.33,-117.948,Dirty Socks Hot Spring,Death Valley,Hotspring,93,34'; put '37.847,-121.635,Byron Hot Springs,San Jose,Hotspring,96,36'; put '35.433,-118.478,Yates Hot Springs,Bakersfield,Hotspring,100,38'; put '35.663,-120.692,Paso Robles Artesian Spring,San Luis Obisp,Hotspring,102,39'; put '34.507,-119.291,Wheeler Springs,Los Angeles,Hotspring,102,39'; put '33.8,-116.927,Soboda Hot Springs,Santa Ana,Hotspring,102,39'; put '40.223,-122.747,Stinking Springs,Redding,Hotspring,101,38'; put '38.8,-123.17,Hoods Hot Springs,Santa Rosa,Hotspring,100,38'; put '37.029,-117.383,Grapevine Springs,Goldfield,Hotspring,100,38'; put '36.084,-121.584,Dolans Hot Spring,Santa Cruz,Hotspring,98,37'; put '36.21,-118.176,Soda Springs,Fresno,Hotspring,100,38'; put '33.664,-117.913,Fairview Hot Spring,Santa Ana,Hotspring,96,36'; put '35.143,-116.813,Paradise Spring,Trona,Hotspring,100,38'; put '33.837,-117.145,Lakeview Hot Springs,Santa Ana,Hotspring,100,38'; put '33.201,-115.577,Mud Pots,Salton Sea,Hotspring,100,38'; put '33.212,-115.591,Mud Pots,Salton Sea,Hotspring,100,38'; put '33.217,-115.58,Wister Mud Pot,Salton Sea,Hotspring,100,38'; put '32.617,-116.189,Jacumba Hot Springs,San Diego,Hotspring,101,38'; put '36.618,-121.845,Sulphur Hot Spring,Santa Cruz,Hotspring,100,38'; put '36.495,-117.893,Springs,Death Valley,Hotspring,86,30'; put '38.033,-118.902,Mono Basin Warm Springs,Walker Lake,Hotspring,88,31'; put '35.908,-120.367,Table Mountain (Spring),San Luis Obisp,Hotspring,88,31'; put '34.271,-116.838,Pan Hot Springs,San Bernardino,Hotspring,88,31'; put '40.238,-122.11,Tuscan Springs,Redding,Hotspring,86,30'; put '40.245,-120.007,High Rock Spring,Susanville,Hotspring,86,30'; put '38.55,-122.72,Mark West Springs,Santa Rosa,Hotspring,88,31'; put '43.513,-119.903,Springs at Tecolote Tunnel,Los Angeles,Hotspring,93,34'; put '39.728,-120.547,Mclear Warm Springs,Chico,Hotspring,86,30'; put '38.835,-122.731,Gordon Warm Springs,Santa Rosa,Hotspring,97,36'; put '39.166,-123.159,Vichy Springs,Ukiah,Hotspring,85,29'; put '38.936,-122.907,Highland Springs,Santa Rosa,Hotspring,84,29'; put '37.398,-121.794,Mineral Springs,San Jose,Hotspring,84,29'; put '33.436,-117.324,De Luz Warm Springs,Santa Ana,Hotspring,85,29'; put '33.512,-115.827,Dos Palmas Spring,Salton Sea,Hotspring,84,29'; put '39.022,-122.444,Abbott Mine,Ukiah,Hotspring,86,30'; put '34.605,-118.561,Warm Spring,Los Angeles,Hotspring,92,33'; put '41.659,-123.319,Sulphur Springs,Weed,Hotspring,84,29'; put '38.394,-122.552,Los Guilicos Warm Springs,Santa Rosa,Hotspring,88,31'; put '41.492,-120.7,Essex Springs,Alturas,Hotspring,91,33'; put '38.654,-122.484,Aetna Springs,Santa Rosa,Hotspring,91,33'; put '35.842,-117.38,Bainter Spring,Trona,Hotspring,92,33'; put '34.228,-117.483,Tylers Bath Spring,San Bernardino,Hotspring,92,33'; put '33.363,-117.017,Agua Tibia Spring,Santa Ana,Hotspring,92,33'; put '41.167,-120.032,Bare Ranch Spring,Alturas,Hotspring,90,32'; put '35.978,-116.273,Shoshone Spring,Trona,Hotspring,90,32'; put '33.407,-116.035,Fish Springs,Santa Ana,Hotspring,90,32'; put '35.582,-120.666,Santa Ysabel Springs (Sulphur Spr),San Luis Obisp,Hotspring,92,33'; put '34.537,-119.613,Little Caliente Spring,Los Angeles,Hotspring,90,32'; put '39.006,-122.787,Big Soda Spring,Ukiah,Hotspring,90,32'; put '35.439,-119.846,Carneros Spring,Bakersfield,Hotspring,90,32'; put '36.441,-116.829,Travertine Springs,Death Valley,Hotspring,90,32'; put '37.88,-122.627,Rocky Point Springs,San Francisco,Hotspring,90,32'; put '39.227,-107.224,Penny Hot Springs,Leadville,Hotspring,133,56'; put '38.732,-106.178,Hortense Hot Spring,Montrose,Hotspring,181,83'; put '37.4,-107.849,Tripp Hot Springs,Durango,Hotspring,111,44'; put '40.073,-106.113,Hot Sulphur Springs,Craig,Hotspring,111,44'; put '39.739,-105.512,Idaho Springs,Denver,Hotspring,115,46'; put '39.552,-107.412,South Canyon Hot Springs,Leadville,Hotspring,118,48'; put '39.548,-107.322,Glenwood Springs,Leadville,Hotspring,124,51'; put '38.133,-107.736,Orvis Hot Spring,Montrose,Hotspring,126,52'; put '39.017,-105.793,Hartsel Hot Springs,Denver,Hotspring,126,52'; put '38.733,-106.162,Mount Princeton Hot Springs,Montrose,Hotspring,133,56'; put '37.752,-108.131,Paradise Warm Spring,Cortez,Hotspring,115,46'; put '37.747,-106.831,Wagon Wheel Gap Hot Springs,Durango,Hotspring,135,57'; put '37.263,-107.011,Pagosa Springs,Durango,Hotspring,136,58'; put '38.812,-106.226,Cottonwood Hot Springs,Montrose,Hotspring,136,58'; put '38.168,-105.924,Mineral Hot Springs,Pueblo,Hotspring,140,60'; put '40.559,-106.849,Routt Hot Springs,Craig,Hotspring,147,64'; put '38.021,-107.672,Ouray Hot Springs,Montrose,Hotspring,156,69'; put '38.498,-106.076,Poncha Hot Springs,Montrose,Hotspring,160,71'; put '38.514,-106.508,Upper Waunita Hot Springs,Montrose,Hotspring,176,80'; put '38.272,-107.1,Cebolla Hot Springs,Montrose,Hotspring,106,41'; put '37.313,-107.344,Piedra River Hot Springs,Durango,Hotspring,108,42'; put '38.517,-106.515,Lower Waunita Hot Springs,Montrose,Hotspring,167,75'; put '38.816,-106.873,Ranger Hot Spring,Montrose,Hotspring,81,27'; put '37.294,-105.784,Dexter Spring,Trinidad,Hotspring,68,20'; put '38.634,-106.072,Browns Grotto Warm Spring,Montrose,Hotspring,73,23'; put '39.164,-106.062,Rhodes Warm Spring,Leadville,Hotspring,75,24'; put '38.836,-106.825,Cement Creek Hot Spring,Montrose,Hotspring,77,25'; put '38.653,-106.056,Browns Canyon Warm Spring,Montrose,Hotspring,77,25'; put '37.033,-106.805,Stinking Springs,Durango,Hotspring,81,27'; put '37.747,-108.117,Geyser Warm Spring,Cortez,Hotspring,82,28'; put '38.479,-105.891,Swissvale Warm Springs,Pueblo,Hotspring,82,28'; put '37.751,-106.317,Shaw Springs,Durango,Hotspring,86,30'; put '37.728,-107.054,Birdsie Warm Spring,Durango,Hotspring,86,30'; put '37.741,-107.034,Antelope Spring,Durango,Hotspring,90,32'; put '39.628,-107.106,Dotsero Warm Springs,Leadville,Hotspring,90,32'; put '38.485,-105.91,Wellsville Warm Spring,Pueblo,Hotspring,91,33'; put '38.014,-108.054,Lemon Hot Spring,Moab,Hotspring,91,33'; put '37.391,-107.846,"Trimble Hot Spr, Stratten Warm Spr",Durango,Hotspring,97,36'; put '38.192,-105.816,Valley View Hot Springs,Pueblo,Hotspring,99,37'; put '38.433,-105.261,Canon City Hot Springs,Pueblo,Hotspring,104,40'; put '39.012,-106.891,Conundrum Hot Springs,Leadville,Hotspring,100,38'; put '37.511,-106.945,Rainbow Hot Springs,Durango,Hotspring,104,40'; put '40.467,-107.952,Juniper Hot Springs,Craig,Hotspring,100,38'; put '40.483,-106.827,Steamboat Springs,Craig,Hotspring,102,39'; put '37.771,-108.091,Dunton Hot Spring,Cortez,Hotspring,108,42'; put '37.453,-107.803,Pinkerton Hot Springs,Durango,Hotspring,90,32'; put '39.932,-105.277,Eldorado Springs,Denver,Hotspring,79,26'; put '27.074,-82.233,Little Salt Spring,Tampa,Hotspring,81,27'; put '27.06,-82.261,Warm Mineral Springs (Big Salt Spr,Tampa,Hotspring,86,30'; put '32.92,-84.438,Barker Spring,Phenix City,Hotspring,73,23'; put '32.964,-84.499,Thundering Spring,Phenix City,Hotspring,75,24'; put '33.018,-84.327,Taylor Spring,Atlanta,Hotspring,75,24'; put '32.862,-84.65,Parkman Spring,Phenix City,Hotspring,77,25'; put '33.037,-84.374,Lifsey Spring,Atlanta,Hotspring,79,26'; put '32.893,-84.69,Warm Springs,Phenix City,Hotspring,88,31'; put '32.873,-84.547,Tom Brown Spring,Phenix City,Hotspring,68,20'; put '19.407,-155.277,Steam Vents,Hawaii,Hotspring,H,H'; put '19.46,-154.847,Isaac Hale Park Spring,Hawaii,Hotspring,97,36'; put '19.496,-154.876,Warm Vapor,Hawaii,Hotspring,W,W'; put '19.373,-155.188,Steam Vents,Hawaii,Hotspring,H,H'; put '19.39,-155.311,Steam Vents,Hawaii,Hotspring,H,H'; put '19.434,-155.272,Steam Vents,Hawaii,Hotspring,H,H'; put '19.486,-155.598,Steam Vents,Hawaii,Hotspring,H,H'; put '19.466,-154.943,Steam Vents,Hawaii,Hotspring,H,H'; put '19.421,-155.62,Steam Vents,Hawaii,Hotspring,H,H'; put '19.201,-155.384,Waiwelawela Point Spring,Hawaii,Hotspring,90,32'; put '19.593,-154.928,Akins Spring,Hawaii,Hotspring,84,29'; put '44.721,-115.01,Thomas Creek Ranch Hot Spring,Challis,Hotspring,138,59'; put '45.431,-116.015,Cow Flats Hot Spring,Grangeville,Hotspring,138,59'; put '44.062,-115.685,Pine Flat Hot Springs,Challis,Hotspring,138,59'; put '44.382,-115.841,Dash Creek Hot Springs,Challis,Hotspring,138,59'; put '44.077,-115.553,Haven Lodge Hot Spring,Challis,Hotspring,147,64'; put '43.647,-114.816,Skillern Hot Springs,Hailey,Hotspring,140,60'; put '43.789,-115.434,Dutch Frank Hot Spring,Hailey,Hotspring,149,65'; put '43.54,-115.288,Bridge Hot Springs,Hailey,Hotspring,138,59'; put '43.72,-115.617,Smith Cabin Hot Spring,Hailey,Hotspring,138,59'; put '42.688,-114.826,Banbury Hot Spring,Twin Falls,Hotspring,138,59'; put '45.035,-115.561,Sheep Creek Hot Spring,Elk City,Hotspring,136,58'; put '44.245,-114.885,Elkhorn Hot Spring,Challis,Hotspring,136,58'; put '44.642,-115.693,Mollys Hot Spring,Challis,Hotspring,138,59'; put '43.811,-115.116,Atlanta Hot Springs,Hailey,Hotspring,140,60'; put '44.679,-116.231,White Licks Hot Spring,Baker,Hotspring,140,60'; put '45.512,-115.046,Barth Hot Springs,Elk City,Hotspring,140,60'; put '43.696,-115.658,Sheep Creek Bridge Hot Spring,Hailey,Hotspring,142,61'; put '44.914,-115.722,Teapot Hot Spring,Challis,Hotspring,142,61'; put '43.788,-115.444,Straight Creek Hot Spring,Hailey,Hotspring,144,62'; put '43.116,-115.305,Latty Hot Spring,Hailey,Hotspring,144,62'; put '45.039,-116.291,Zims Resort Hot Springs,Grangeville,Hotspring,144,62'; put '43.049,-114.952,White Arrow Hot Spring,Hailey,Hotspring,145,63'; put '44.645,-114.739,Upper Loon Creek Hot Springs,Challis,Hotspring,145,63'; put '43.383,-114.931,Wardrop Hot Spring,Hailey,Hotspring,147,64'; put '44.531,-116.754,Fairchild Hot Spring,Baker,Hotspring,126,52'; put '44.661,-114.652,Foster Ranch Hot Springs,Challis,Hotspring,135,57'; put '44.051,-115.829,Dan Hodges Hot Spring,Challis,Hotspring,140,60'; put '43.506,-114.354,Hailey Hot Springs,Hailey,Hotspring,131,55'; put '43.982,-114.486,West Pass Hot Spring,Hailey,Hotspring,124,51'; put '43.641,-114.487,Warfield Hot Spring,Hailey,Hotspring,124,51'; put '44.145,-112.554,Lidy Hot Springs,Dubois,Hotspring,124,51'; put '44.054,-115.907,Hot Spring Campground,Challis,Hotspring,124,51'; put '42.032,-115.363,Murphy Hot Springs,Twin Falls,Hotspring,126,52'; put '43.561,-114.415,Clarendon Hot Springs,Hailey,Hotspring,126,52'; put '43.423,-114.627,Elk Creek Hot Spring,Hailey,Hotspring,126,52'; put '43.553,-115.267,Paradise Hot Springs,Hailey,Hotspring,126,52'; put '42.308,-111.707,Maple Grove Hot Springs,Preston,Hotspring,172,78'; put '45.013,-113.605,Sharkey Hot Spring,Dillon,Hotspring,126,52'; put '44.73,-114.993,Sunflower Hot Springs,Challis,Hotspring,149,65'; put '43.974,-114.499,Lower Bowery Hot Spring,Hailey,Hotspring,129,54'; put '43.724,-115.604,Loftus Hot Spring,Hailey,Hotspring,129,54'; put '44.676,-115.943,Gold Fork Hot Spring,Challis,Hotspring,127,53'; put '44.044,-115.851,Donlay Ranch Hot Spring,Challis,Hotspring,131,55'; put '44.264,-114.818,Basin Creek Hot Spring,Challis,Hotspring,133,56'; put '44.652,-114.734,Owen Cabin Hot Spring,Challis,Hotspring,133,56'; put '43.605,-115.664,Rattlesnake Hot Spring,Hailey,Hotspring,133,56'; put '43.605,-114.948,Lightfoot Hot Springs,Hailey,Hotspring,133,56'; put '45.788,-115.198,Red River Hot Springs,Elk City,Hotspring,131,55'; put '44.632,-115.697,South Fork Plunge,Challis,Hotspring,129,54'; put '44.853,-116.442,Starkey Hot Springs,Baker,Hotspring,131,55'; put '42.692,-114.859,Hot Sulphur (Miracle Hot) Springs,Twin Falls,Hotspring,131,55'; put '44.045,-115.842,Corder Hot Spring,Challis,Hotspring,131,55'; put '44.247,-114.676,Robinson Bar Hot Springs,Challis,Hotspring,131,55'; put '44.785,-114.855,Cox Hot Springs,Challis,Hotspring,131,55'; put '43.637,-115.13,Willow Creek Hot Spring,Hailey,Hotspring,131,55'; put '43.803,-115.401,Granite Creek Hot Spring,Hailey,Hotspring,131,55'; put '43.129,-115.34,Coyote Hot Spring,Hailey,Hotspring,135,57'; put '44.211,-116.71,Cove Creek Hot Spring,Baker,Hotspring,131,55'; put '44.16,-115.167,Grandjean Hot Spring,Challis,Hotspring,H,H'; put '43.755,-115.571,Ninemeyer Hot Springs,Hailey,Hotspring,169,76'; put '43.701,-114.738,Big Smokey Hot Spring,Hailey,Hotspring,H,H'; put '43.831,-115.192,Queens River Hot Spring,Hailey,Hotspring,H,H'; put '43.817,-115.046,Leggit Creek Hot Spring,Hailey,Hotspring,H,H'; put '43.718,-115.563,Basset Hot Spring,Hailey,Hotspring,H,H'; put '43.588,-115.988,Mores Creek Hot Spring,Hailey,Hotspring,H,H'; put '44.951,-114.704,Mormon Ranch Warm Spring,Challis,Hotspring,H,H'; put '44.896,-114.563,Forge Creek Hot Springs,Challis,Hotspring,H,H'; put '44.77,-115.663,Billy Hot Spring,Challis,Hotspring,H,H'; put '44.628,-115.197,Sheepeater Hot Springs,Challis,Hotspring,H,H'; put '44.585,-115.072,Sulphur Creek Hot Spring,Challis,Hotspring,H,H'; put '44.554,-115.301,Sulphur Creek Hot Spring,Challis,Hotspring,H,H'; put '42.107,-113.39,Blm Well (Frazier Hot Spring),Pocatello,Hotspring,203,95'; put '44.4,-115.82,Goat Hot Springs,Challis,Hotspring,H,H'; put '45.307,-114.338,Big Creek Hot Springs,Elk City,Hotspring,199,93'; put '44.583,-116.112,Cascade Reservoir Hot Spring,Baker,Hotspring,H,H'; put '45.17,-115.807,Secesh Hot Spring,Elk City,Hotspring,H,H'; put '46.235,-114.707,Prospector Hot Springs,Hamilton,Hotspring,H,H'; put '46.138,-115.09,Stuart Hot Springs,Hamilton,Hotspring,H,H'; put '46.006,-115.021,Marten Hot Springs,Hamilton,Hotspring,H,H'; put '42.374,-111.726,Mound Valley Warm Spring,Preston,Hotspring,W,W'; put '43.255,-114.829,Mormon Reservoir Warm Spring,Hailey,Hotspring,W,W'; put '44.639,-115.671,Warm Lake Springs,Challis,Hotspring,W,W'; put '44.445,-115.239,Bear Valley Hot Spring,Challis,Hotspring,W,W'; put '44.354,-117.071,Old Homestead Warm Spring,Baker,Hotspring,W,W'; put '43.327,-113.918,Condie Hot Springs,Idaho Falls,Hotspring,124,51'; put '43.038,-112.004,Alkali Flats Warm Spring,Idaho Falls,Hotspring,93,34'; put '44.43,-115.762,Bull Creek Hot Springs,Challis,Hotspring,H,H'; put '42.119,-111.928,Squaw Hot Springs,Preston,Hotspring,163,73'; put '42.333,-111.716,Cleveland Hot Springs,Preston,Hotspring,151,66'; put '43.671,-115.696,Twin Springs,Hailey,Hotspring,151,66'; put '43.951,-116.353,Roystone Hot Springs,Boise,Hotspring,151,66'; put '42.704,-114.856,Salmon Falls Hot Spring,Twin Falls,Hotspring,153,67'; put '44.16,-115.177,Sacajawea Hot Springs,Challis,Hotspring,153,67'; put '43.738,-115.583,Vaughn Hot Spring,Hailey,Hotspring,154,68'; put '44.669,-116.305,Council Mtn Hot Springs,Baker,Hotspring,154,68'; put '44.831,-115.215,Kwiskwis Hot Spring,Challis,Hotspring,156,69'; put '43.684,-114.41,Guyer Hot Springs,Hailey,Hotspring,158,70'; put '43.155,-115.518,Hot Springs,Hailey,Hotspring,158,70'; put '44.586,-116.63,Lakey Hot Spring,Baker,Hotspring,158,70'; put '42.333,-115.65,Indian Hot Springs,Twin Falls,Hotspring,160,71'; put '42.637,-114.892,Poison Springs,Twin Falls,Hotspring,H,H'; put '44.813,-115.123,Middle Fork Indian Creek Hot Sprin,Challis,Hotspring,162,72'; put '44.072,-115.543,Kirkham Hot Springs,Challis,Hotspring,149,65'; put '43.328,-114.399,Magic Hot Springs,Hailey,Hotspring,163,73'; put '43.293,-114.908,Barrons Hot Spring,Hailey,Hotspring,167,75'; put '44.154,-115.993,Warm Springs Creek Hot Springs,Challis,Hotspring,167,75'; put '44.268,-114.748,Sunbeam Hot Springs,Challis,Hotspring,169,76'; put '44.092,-116.052,Deer Hot Springs,Baker,Hotspring,176,80'; put '43.563,-114.798,Worswick Hot Springs,Hailey,Hotspring,180,82'; put '42.133,-111.928,Battle Creek Hot Springs,Preston,Hotspring,183,84'; put '44.364,-115.856,Boiling Springs,Challis,Hotspring,185,85'; put '44.157,-115.314,Bonneville Hot Springs,Challis,Hotspring,185,85'; put '44.799,-115.129,Indian Creek Hot Spring,Challis,Hotspring,190,88'; put '44.568,-115.695,Vulcan Hot Springs,Challis,Hotspring,190,88'; put '44.306,-116.745,Crane Creek Hot Springs,Baker,Hotspring,198,92'; put '44.416,-116.031,Cabarton Hot Spring,Baker,Hotspring,160,71'; put '42.781,-111.983,Portneuf River Warm Spring,Preston,Hotspring,93,34'; put '44.621,-115.985,Badley Warm Spring,Challis,Hotspring,100,38'; put '45.201,-116.312,Boulder Creek Spring,Grangeville,Hotspring,82,28'; put '42.24,-113.588,Sears Spring,Pocatello,Hotspring,84,29'; put '44.257,-112.639,Warm Springs,Dubois,Hotspring,84,29'; put '42.911,-111.556,Henry Warm Spring,Preston,Hotspring,86,30'; put '43.021,-111.695,Wilson Lake Warm Spring,Driggs,Hotspring,86,30'; put '44.495,-116.732,Keithly Warm Spring,Baker,Hotspring,86,30'; put '42.655,-111.643,Steamboat Hot Spring,Preston,Hotspring,88,31'; put '45.152,-116.296,Stinky Warm Spring,Grangeville,Hotspring,88,31'; put '42.725,-112.872,Indian Springs,Pocatello,Hotspring,90,32'; put '43.114,-112.167,Yandell Springs,Idaho Falls,Hotspring,90,32'; put '44.64,-116.045,Arling Hot Spring,Baker,Hotspring,90,32'; put '42.657,-111.604,Soda Springs,Preston,Hotspring,82,28'; put '45.07,-115.826,Lick Creek Warm Spring,Elk City,Hotspring,91,33'; put '42.337,-111.726,Treasureton Hot Springs,Preston,Hotspring,95,35'; put '44.382,-114.088,Little Antelope Flat Warm Spring,Challis,Hotspring,93,34'; put '43.21,-111.495,Brockman Creek Hot Spring,Driggs,Hotspring,95,35'; put '44.398,-115.149,Cape Horn Warm Springs,Challis,Hotspring,95,35'; put '42.337,-114.509,Nat-Soo-Pah Warm Spring,Twin Falls,Hotspring,97,36'; put '44.9,-115.505,Hot Creek Warm Spring,Challis,Hotspring,97,36'; put '42.405,-114.142,Artesian City Hot Springs,Twin Falls,Hotspring,99,37'; put '42.762,-115.739,Indian Bathtub Hot Springs,Twin Falls,Hotspring,99,37'; put '43.227,-111.109,Alpine Warm Spring,Driggs,Hotspring,99,37'; put '42.545,-112.906,Rockland Warm Springs,Pocatello,Hotspring,100,38'; put '43.805,-114.585,Russian John Hot Spring,Hailey,Hotspring,100,38'; put '43.779,-114.539,Easley Hot Springs,Hailey,Hotspring,100,38'; put '44.26,-114.838,Mormon Bend Hot Spring,Challis,Hotspring,100,38'; put '44.64,-113.504,Big Eightmile Creek Warm Spring,Dubois,Hotspring,91,33'; put '42.339,-112.436,Kent Warm Spring,Pocatello,Hotspring,75,24'; put '42.957,-112.458,Tadpole Warm Spring,Pocatello,Hotspring,68,20'; put '43.607,-111.189,Taylor Springs,Driggs,Hotspring,68,20'; put '43.972,-116.325,Sweet Warm Spring,Boise,Hotspring,68,20'; put '44.717,-115.703,Dollar Creek Warm Spring,Challis,Hotspring,68,20'; put '42.625,-113.107,Lake Walcott Hot Spring,Pocatello,Hotspring,70,21'; put '42.015,-114.237,Thoroughbred Warm Springs,Twin Falls,Hotspring,69,21'; put '42.928,-111.592,Blackfoot Reservoir Warm Spring,Preston,Hotspring,72,22'; put '42.286,-113.446,"Rice Spring, Ward Spring",Pocatello,Hotspring,72,22'; put '42.085,-113.564,Grape Creek Warm Spring,Pocatello,Hotspring,72,22'; put '43.66,-111.715,Elkhorn Warm Spring,Driggs,Hotspring,72,22'; put '43.367,-113.884,Rush Warm Spring,Idaho Falls,Hotspring,72,22'; put '44.306,-117.042,Weiser Warm Springs,Baker,Hotspring,72,22'; put '45.344,-114.463,Owl Creek Hot Springs,Elk City,Hotspring,122,50'; put '44.454,-112.696,Big Spring,Dubois,Hotspring,73,23'; put '44.269,-113.449,Barney Hot Springs,Dubois,Hotspring,82,28'; put '43.5,-115.308,Towne Creek Warm Spring,Hailey,Hotspring,75,24'; put '43.161,-116.332,Thomas Flats Warm Spring,Boise,Hotspring,75,24'; put '44.612,-113.363,Whittaker Warm Springs,Dubois,Hotspring,75,24'; put '42.173,-112.239,Malad Warm Spring,Pocatello,Hotspring,77,25'; put '42.156,-112.348,Pleasantview Warm Springs,Pocatello,Hotspring,77,25'; put '42.025,-112.226,Prices Warm Spring,Pocatello,Hotspring,77,25'; put '42.865,-116.368,Lower Birch Spring,Jordan Valley,Hotspring,77,25'; put '43.423,-111.414,Fall Creek Mineral Springs,Driggs,Hotspring,77,25'; put '42.986,-111.743,Blackfoot River Warm Spring,Preston,Hotspring,79,26'; put '42.426,-111.378,Pescadero Warm Spring,Preston,Hotspring,79,26'; put '44.091,-111.458,Ashton Warm Spring,Ashton,Hotspring,79,26'; put '42.056,-112.246,Woodruff Hot Spring,Pocatello,Hotspring,81,27'; put '43.831,-116.396,Highland Land Co Warm Spring,Boise,Hotspring,73,23'; put '44.847,-115.696,Holdover Hot Spring,Challis,Hotspring,117,47'; put '43.047,-114.929,Hot Sulphur Lake,Hailey,Hotspring,81,27'; put '43.603,-115.07,Baumgartner Hot Spring,Hailey,Hotspring,111,44'; put '44.465,-116.037,Belvidere Hot Spring,Baker,Hotspring,111,44'; put '42.621,-112.008,Lava Hot Springs,Pocatello,Hotspring,113,45'; put '43.823,-115.327,Weatherby Hot Spring,Hailey,Hotspring,113,45'; put '43.335,-115.044,Wolf Hot Spring,Hailey,Hotspring,113,45'; put '44.905,-113.929,Goldbug Hot Spring,Dubois,Hotspring,113,45'; put '45.095,-113.836,Salmon Hot Spring,Dillon,Hotspring,113,45'; put '45.277,-115.912,Burgdorf Hot Springs,Elk City,Hotspring,113,45'; put '44.836,-114.79,Hospital Hot Spring,Challis,Hotspring,115,46'; put '44.72,-114.016,Cronks Canyon Hot Spring,Challis,Hotspring,115,46'; put '44.721,-115.207,Pistol Creek Hot Springs,Challis,Hotspring,115,46'; put '43.791,-111.435,Pincock (Green Canyon) Hot Springs,Driggs,Hotspring,111,44'; put '43.414,-116.707,Givens Hot Springs,Boise,Hotspring,117,47'; put '45.503,-114.463,Horse Creek Hot Springs,Elk City,Hotspring,109,43'; put '46.464,-115.035,Weir Creek Hot Springs,Hamilton,Hotspring,117,47'; put '42.115,-111.264,Bear Lake Hot Springs,Preston,Hotspring,118,48'; put '42.173,-113.861,Oakley Hot Spring,Pocatello,Hotspring,118,48'; put '46.463,-114.872,Jerry Johnson Hot Springs,Hamilton,Hotspring,118,48'; put '43.644,-111.687,Heise Hot Springs,Driggs,Hotspring,120,49'; put '44.799,-114.806,Lower Loon Creek Hot Spring,Challis,Hotspring,120,49'; put '44.253,-115.891,Rocky Canyon Hot Springs,Challis,Hotspring,120,49'; put '46.316,-115.258,Stanley Hot Springs,Hamilton,Hotspring,120,49'; put '43.779,-115.486,Brown Creek Hot Spring,Hailey,Hotspring,122,50'; put '44.628,-114.601,Shower Bath Springs,Challis,Hotspring,122,50'; put '44.171,-114.624,Slate Creek Hot Spring,Challis,Hotspring,122,50'; put '44.392,-115.834,Ground Hog Hot Springs,Challis,Hotspring,100,38'; put '42.797,-115.723,"Bat Hot Spring, Pence Hot Spring",Twin Falls,Hotspring,117,47'; put '42.767,-115.725,Lower Indian Bathtub Hot Springs,Twin Falls,Hotspring,108,42'; put '42.102,-113.632,Durfee Spring,Pocatello,Hotspring,102,39'; put '44.33,-115.802,Silver Creek Hot Spring,Challis,Hotspring,102,39'; put '42.447,-113.523,Marsh Creek Hot Spring,Pocatello,Hotspring,104,40'; put '42.449,-113.511,Marsh Gully Hot Springs,Pocatello,Hotspring,106,41'; put '42.798,-115.742,Bruneau Hot Spring,Twin Falls,Hotspring,106,41'; put '43.576,-114.83,Preis Hot Spring,Hailey,Hotspring,106,41'; put '43.677,-116.208,Terteling Hot Springs,Boise,Hotspring,106,41'; put '44.254,-114.443,Sullivan Hot Springs,Challis,Hotspring,106,41'; put '44.224,-114.929,Stanley Hot Spring,Challis,Hotspring,106,41'; put '44.101,-114.865,Rosalys Warm Spring,Challis,Hotspring,106,41'; put '44.06,-115.819,Danskin Creek Hot Spring,Challis,Hotspring,106,41'; put '45.852,-114.937,Running Warm Springs,Elk City,Hotspring,106,41'; put '43.363,-113.779,Milford Sweat Hot Spring,Idaho Falls,Hotspring,111,44'; put '46.466,-114.939,Colgate Warm Springs,Hamilton,Hotspring,106,41'; put '44.626,-115.749,Trail Creek Hot Spring,Challis,Hotspring,122,50'; put '43.816,-115.863,Warm Springs,Hailey,Hotspring,108,42'; put '43.76,-115.56,Pool Creek Hot Spring,Hailey,Hotspring,108,42'; put '45.042,-114.616,Snowshoe Johnsons Hot Spring,Elk City,Hotspring,108,42'; put '42.388,-112.085,Downata Hot Springs,Pocatello,Hotspring,109,43'; put '42.013,-114.504,Magic Hot Springs,Twin Falls,Hotspring,109,43'; put '42.779,-115.715,Buckaroo Hot Spring,Twin Falls,Hotspring,109,43'; put '43.99,-114.8,Pierson Hot Springs,Hailey,Hotspring,109,43'; put '43.038,-114.988,Tschanne Hot Spring,Hailey,Hotspring,109,43'; put '44.523,-114.173,Beardsley Hot Springs,Challis,Hotspring,109,43'; put '44.733,-115.018,Sunflower Flat Hot Spring,Challis,Hotspring,109,43'; put '44.516,-115.295,Dagger Creek Hot Spring,Challis,Hotspring,110,43'; put '44.971,-116.203,Krigbaum Hot Springs,Baker,Hotspring,109,43'; put '45.416,-116.172,Riggins Hot Springs,Grangeville,Hotspring,106,41'; put '42.735,-73.2,Sand Spring,Albany,Hotspring,75,24'; put '46.106,-114.004,Sleeping Child Hot Springs,Hamilton,Hotspring,122,50'; put '45.697,-114.365,Blue Joint Hot Springs 2,Elk City,Hotspring,84,29'; put '44.769,-111.649,Sloan Cow Camp Spring,Ashton,Hotspring,86,30'; put '47.632,-112.855,Medicine (Sun River) Springs,Choteau,Hotspring,86,30'; put '45.75,-113.938,Gallogly Spring,Dillon,Hotspring,100,38'; put '47.33,-114.789,Quinns Hot Springs,Wallace,Hotspring,109,43'; put '45.171,-112.153,Puller Hot Springs,Dillon,Hotspring,111,44'; put '46.728,-114.533,"Lolo Hot Springs, Granite Springs",Hamilton,Hotspring,111,44'; put '45.337,-110.691,Chico Hot Springs,Bozeman,Hotspring,113,45'; put '47.607,-114.663,Camas Hot Springs,Wallace,Hotspring,113,45'; put '45.841,-114.038,Medicine Hot Springs,Elk City,Hotspring,117,47'; put '45.458,-113.109,Elkhorn Hot Springs,Dillon,Hotspring,118,48'; put '45.027,-112.844,Mcmenomey Ranch Spring,Dillon,Hotspring,68,20'; put '45.792,-112.126,Renova Hot Springs,Dillon,Hotspring,122,50'; put '44.701,-111.878,Staudenmeyer Springs,Ashton,Hotspring,82,28'; put '45.602,-111.9,Potosi Warm Springs,Bozeman,Hotspring,124,51'; put '45.575,-111.683,Norris Hot Springs,Bozeman,Hotspring,127,53'; put '45.462,-112.475,New Biltmore Hot Springs,Dillon,Hotspring,127,53'; put '45.66,-111.186,Bozeman Hot Springs,Bozeman,Hotspring,131,55'; put '45.896,-112.233,Pipestone Hot Springs,Dillon,Hotspring,135,57'; put '46.547,-110.903,White Sulphur Springs,White Sulphur,Hotspring,136,58'; put '46.448,-111.982,Alhambra Hot Springs,White Sulphur,Hotspring,138,59'; put '45.757,-110.256,Hunters Hot Springs,Bozeman,Hotspring,140,60'; put '45.368,-113.403,Jardine Hot Spring,Dillon,Hotspring,140,60'; put '46.596,-112.108,Broadwater (Helena) Hot Springs,Butte,Hotspring,151,66'; put '44.984,-111.613,Wolf Creek Hot Springs,Ashton,Hotspring,154,68'; put '45.685,-112.295,Silver Star Hot Springs,Dillon,Hotspring,163,73'; put '45.59,-111.899,Potosi Hot Springs,Bozeman,Hotspring,122,50'; put '45.105,-112.751,Browns Springs,Dillon,Hotspring,75,24'; put '46.718,-113.306,Bearmouth Warm Spring 2,Butte,Hotspring,68,20'; put '46.717,-113.32,Bearmouth Warm Spring 1,Butte,Hotspring,68,20'; put '47.217,-109.471,Brooks Warm Spring,Lewistown,Hotspring,68,20'; put '45.708,-110.976,Bridger Canyon Warm Spring,Bozeman,Hotspring,70,21'; put '46.795,-108.883,Durfee Creek Springs,Roundup,Hotspring,70,21'; put '46.704,-113.452,Nimrod Springs,Butte,Hotspring,70,21'; put '47.876,-108.656,Landusky Springs,Lewistown,Hotspring,70,21'; put '45.032,-110.667,Bear Creek Springs,Bozeman,Hotspring,72,22'; put '45.111,-112.714,Lovells Hot Spring,Dillon,Hotspring,72,22'; put '46.106,-112.903,Anaconda Hot Springs,Butte,Hotspring,72,22'; put '45.235,-112.135,Trudau Warm Springs,Dillon,Hotspring,73,23'; put '45.698,-114.382,Blue Joint Hot Spring 1,Elk City,Hotspring,84,29'; put '45.037,-111.953,Vigilante Spring,Bozeman,Hotspring,75,24'; put '45.608,-110.571,Carter Bridge Warm Springs,Bozeman,Hotspring,82,28'; put '46.355,-111.565,Bedford Hot Springs,White Sulphur,Hotspring,74,24'; put '45.553,-110.142,Anderson Springs,Bozeman,Hotspring,77,25'; put '45.42,-112.692,Apex Warm Spring,Dillon,Hotspring,77,25'; put '46.607,-112.776,Garrison Warm Springs,Butte,Hotspring,77,25'; put '47.843,-108.598,The (Landusky) Plunge,Lewistown,Hotspring,77,25'; put '44.785,-111.649,West Fork Swimming Hole,Ashton,Hotspring,79,26'; put '46.61,-112.555,Avon Warm Spring,Butte,Hotspring,79,26'; put '46.334,-112.886,Deerlodge Prison Ranch Springs,Butte,Hotspring,79,26'; put '47.994,-108.445,Lodgepole (Big Warm) Springs,Lewistown,Hotspring,79,26'; put '47.451,-114.648,Green Springs,Wallace,Hotspring,79,26'; put '45.392,-112.452,Beaverhead Rock Spring,Dillon,Hotspring,81,27'; put '44.704,-111.892,Andersons Pasture Springs,Ashton,Hotspring,82,28'; put '47.971,-108.395,Little Warm Springs,Lewistown,Hotspring,73,23'; put '46.198,-112.094,Boulder Hot Springs,Butte,Hotspring,169,76'; put '46.178,-112.794,Warm Springs (State Hospital),Butte,Hotspring,172,78'; put '45.367,-111.726,Ennis Hot Springs,Bozeman,Hotspring,181,83'; put '46.044,-112.811,Gregson Hot Springs,Butte,Hotspring,158,70'; put '45.09,-110.774,Laduke (Corwin) Hot Spring,Bozeman,Hotspring,154,68'; put '35.897,-82.826,Hot Springs,Knoxville,Hotspring,108,42'; put '32.644,-108.128,Apache Tejo Warm Spring,Silver City,Hotspring,97,36'; put '33.135,-107.254,Truth Or Consequences,Tularosa,Hotspring,113,45'; put '36.305,-106.053,Ojo Caliente (Arsenic Spring),Aztec,Hotspring,111,44'; put '33.162,-108.209,Spring (Hot),Clifton,Hotspring,111,44'; put '36.508,-105.722,Manby Hot Springs,Raton,Hotspring,100,38'; put '35.849,-106.629,Spence Hot Springs,Albuquerque,Hotspring,100,38'; put '35.972,-106.56,San Antonio Warm Spring,Albuquerque,Hotspring,101,38'; put '35.82,-106.627,Mccauley Hot Springs,Albuquerque,Hotspring,99,37'; put '35.793,-106.685,Soda Dam Hot Springs,Albuquerque,Hotspring,117,47'; put '33.831,-108.8,(Upper) Frisco Hot Spring,Clifton,Hotspring,98,37'; put '35.646,-106.888,Warm Springs,Albuquerque,Hotspring,129,54'; put '36.324,-105.606,Ponce De Leon Springs,Raton,Hotspring,93,34'; put '34.038,-106.94,"Socorro Spring, Sedillo Spring",Socorro,Hotspring,93,34'; put '33.293,-108.282,"Spring Mfg Two, Spring Mfg Three",Clifton,Hotspring,99,37'; put '35.592,-106.753,Indian Springs,Albuquerque,Hotspring,123,51'; put '32.501,-106.926,Radium Springs,Las Cruces,Hotspring,127,53'; put '33.274,-108.25,Spring Mfg Four,Clifton,Hotspring,93,34'; put '35.938,-106.646,San Antonio Hot Spring,Albuquerque,Hotspring,129,54'; put '33.244,-108.88,San Francisco Hot Springs,Clifton,Hotspring,120,49'; put '32.748,-107.836,Mimbres Hot Springs,Las Cruces,Hotspring,136,58'; put '35.653,-105.29,Montezuma Hot Springs,Santa Fe,Hotspring,138,59'; put '33.233,-108.235,Spring (Hot),Clifton,Hotspring,149,65'; put '33.199,-108.209,Gila Hot Springs,Clifton,Hotspring,151,66'; put '33.108,-108.483,Turkey Creek Hot Spring,Clifton,Hotspring,165,74'; put '35.772,-106.69,Jemez Springs,Albuquerque,Hotspring,169,76'; put '35.908,-106.615,Sulphur Springs,Albuquerque,Hotspring,189,87'; put '33.237,-108.88,Hot Springs,Clifton,Hotspring,H,H'; put '32.562,-108.027,Kennecott Warm Springs,Silver City,Hotspring,W,W'; put '32.554,-107.994,Faywood Hot Springs,Las Cruces,Hotspring,129,54'; put '33.898,-108.501,Aragon Springs,Clifton,Hotspring,70,21'; put '34.847,-107.091,Spring (Salt),Socorro,Hotspring,76,24'; put '34.903,-107.085,El Ojo Escondido,Socorro,Hotspring,73,23'; put '35.06,-107.133,Alamos Spring,Albuquerque,Hotspring,72,22'; put '34.912,-108.951,Rainbow Spring,Saint Johns,Hotspring,71,22'; put '34.698,-107.129,Spring,Socorro,Hotspring,71,22'; put '32.455,-104.489,Indian Big Spring,Carlsbad,Hotspring,79,26'; put '34.995,-106.454,Clear Water Spring,Socorro,Hotspring,69,21'; put '32.821,-108.408,Ash Spring,Silver City,Hotspring,72,22'; put '32.83,-109.047,Goat Camp Spring,Silver City,Hotspring,69,21'; put '35.548,-106.827,San Ysidro Warm Springs,Albuquerque,Hotspring,68,20'; put '34.116,-106.98,Ojitos Springs,Socorro,Hotspring,68,20'; put '32.248,-104.411,Mosley Spring,Carlsbad,Hotspring,68,20'; put '33.708,-109.025,Frieborn Canyon Spring,Clifton,Hotspring,92,33'; put '33.192,-108.18,Lyons Hunting Lodge Hot Springs,Clifton,Hotspring,126,52'; put '35.601,-106.86,Phillips Springs,Albuquerque,Hotspring,70,21'; put '33.285,-108.262,Spring Mfg One,Clifton,Hotspring,88,31'; put '33.306,-108.324,The Meadows Warm Spring,Clifton,Hotspring,91,33'; put '34.049,-106.939,Cook Spring,Socorro,Hotspring,70,21'; put '32.795,-107.276,Derry Warm Springs,Las Cruces,Hotspring,92,33'; put '32.884,-108.358,Allen Springs,Silver City,Hotspring,78,26'; put '33.279,-107.563,Warm Springs,Tularosa,Hotspring,87,31'; put '32.606,-107.19,Souse Springs,Las Cruces,Hotspring,88,31'; put '34.808,-107.091,Spring (Salt),Socorro,Hotspring,86,30'; put '35.54,-106.854,San Ysidro Hot Springs,Albuquerque,Hotspring,85,29'; put '36.368,-106.059,Statue Spring,Aztec,Hotspring,83,28'; put '34.833,-107.091,Laguna Pueblo Seeps,Socorro,Hotspring,82,28'; put '33.572,-107.593,Ojo Caliente,Tularosa,Hotspring,83,28'; put '34.854,-107.088,Laguna Pueblo Springs,Socorro,Hotspring,80,27'; put '32.843,-108.512,Mangas Springs,Silver City,Hotspring,81,27'; put '34.769,-107.085,Spring (Salt),Socorro,Hotspring,78,26'; put '34.032,-106.777,Ojo De Las Canas,Socorro,Hotspring,79,26'; put '40.972,-119.007,Black Rock Hot Spring,Lovelock,Hotspring,136,58'; put '38.899,-119.41,Nevada (Hinds) Hot Springs,Walker Lake,Hotspring,144,62'; put '38.922,-118.198,Wedell Hot Springs,Walker Lake,Hotspring,144,62'; put '41.183,-114.991,Hot Springs,Wells,Hotspring,142,61'; put '38.437,-116.277,Hot Creek Valley Spring,Tonopah,Hotspring,142,61'; put '41.788,-114.735,Mineral Hot Spring,Wells,Hotspring,140,60'; put '37.825,-117.337,Alkali Hot Spring,Goldfield,Hotspring,140,60'; put '41.412,-114.675,Wine Cup Ranch Springs,Wells,Hotspring,138,59'; put '40.404,-116.517,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59'; put '40.417,-116.507,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59'; put '40.603,-116.463,Horseshoe Ranch Springs,Winnemucca,Hotspring,136,58'; put '41.378,-119.182,Springs (Hot),Vya,Hotspring,136,58'; put '39.883,-114.893,Cherry Creek Hot Springs,Ely,Hotspring,144,62'; put '40.922,-117.108,Hot Pot (Blossom Hot Springs),Winnemucca,Hotspring,136,58'; put '41.721,-118.505,Howard Hot Spring,Vya,Hotspring,135,57'; put '41.421,-117.388,The Hot Springs,Mcdermitt,Hotspring,135,57'; put '40.418,-117.415,Buffalo Springs,Winnemucca,Hotspring,162,72'; put '39.031,-116.666,Dianas Punch Bowl,Millett,Hotspring,138,59'; put '39.404,-116.347,Klobe (Bartholomae) Hot Spring,Millett,Hotspring,156,69'; put '36.975,-116.721,Hicks Hot Springs,Death Valley,Hotspring,109,43'; put '40.178,-117.496,Home Station Ranch Hot Spring,Winnemucca,Hotspring,135,57'; put '39.797,-118.067,Dixie Hot Springs,Reno,Hotspring,162,72'; put '39.904,-116.588,Walti Hot Springs,Millett,Hotspring,162,72'; put '38.981,-119.833,Walleys Hot Springs,Walker Lake,Hotspring,160,71'; put '38.464,-115.792,Chimney Warm Spring,Lund,Hotspring,160,71'; put '39.328,-116.858,Spencer Hot Springs,Millett,Hotspring,162,72'; put '41.108,-117.578,Hot Springs,Mcdermitt,Hotspring,158,70'; put '36.002,-114.742,Spring,Las Vegas,Hotspring,145,63'; put '41.576,-115.181,Hot Creek Springs,Wells,Hotspring,151,66'; put '40.954,-117.488,Golconda Hot Spring (South),Winnemucca,Hotspring,151,66'; put '40.22,-116.068,Bruffeys Hot Springs,Winnemucca,Hotspring,149,65'; put '40.249,-115.409,Smith Ranch Springs,Elko,Hotspring,149,65'; put '41.867,-114.692,San Jacinto Ranch Spring,Wells,Hotspring,148,64'; put '40.765,-116.04,Hot Sulphur Springs,Winnemucca,Hotspring,147,64'; put '38.188,-116.373,Warm Springs,Tonopah,Hotspring,145,63'; put '41.567,-118.564,Dyke Hot Springs,Vya,Hotspring,158,70'; put '38.365,-115.867,Abel Spring,Lund,Hotspring,115,46'; put '41.929,-114.071,Nile Spring,Wells,Hotspring,109,43'; put '39.193,-119.752,Carson Hot Springs,Reno,Hotspring,120,49'; put '39.512,-119.907,Lawton Hot Springs,Reno,Hotspring,120,49'; put '39.944,-119.509,Anaho Island Spring,Reno,Hotspring,120,49'; put '37.761,-117.632,Silverpeak Hot Spring,Goldfield,Hotspring,118,48'; put '37.621,-114.51,Caliente Hot Springs,Caliente,Hotspring,118,48'; put '39.058,-119.742,Saratoga Hot Spring,Reno,Hotspring,122,50'; put '39.308,-117.552,Hot Springs,Millett,Hotspring,115,46'; put '40.673,-116.838,Hot Springs,Winnemucca,Hotspring,122,50'; put '39.08,-116.639,Potts Ranch Hot Springs,Millett,Hotspring,113,45'; put '38.388,-115.866,Coyote Hole Spring,Lund,Hotspring,113,45'; put '41.753,-118.841,Warm Springs,Vya,Hotspring,112,44'; put '41.386,-114.165,Spring (Hot),Wells,Hotspring,111,44'; put '40.961,-117.494,Golconda Hot Spring (North),Winnemucca,Hotspring,165,74'; put '40.313,-117.07,Mound Springs,Winnemucca,Hotspring,109,43'; put '40.585,-115.285,Sulphur Hot Springs,Elko,Hotspring,205,96'; put '39.059,-119.815,Hobo Hot Springs,Reno,Hotspring,114,46'; put '40.191,-117.107,Hot Springs,Winnemucca,Hotspring,127,53'; put '40.819,-115.777,Hot Hole,Elko,Hotspring,133,56'; put '39.286,-119.84,Bowers Mansion Hot Spring,Reno,Hotspring,133,56'; put '41.809,-118.861,Painted Hills Mine,Vya,Hotspring,131,55'; put '41.925,-118.805,Bog Hot Springs,Vya,Hotspring,131,55'; put '41.647,-115.775,Wild Horse Hot Springs,Wells,Hotspring,129,54'; put '40.183,-117.102,Hot Springs Ranch,Winnemucca,Hotspring,129,54'; put '40.08,-117.604,Mccoy Springs,Winnemucca,Hotspring,120,49'; put '41.353,-119.216,Spring (Hot),Vya,Hotspring,127,53'; put '41.357,-119.188,Springs (Hot),Vya,Hotspring,133,56'; put '40.198,-117.103,Hot Springs,Winnemucca,Hotspring,127,53'; put '39.42,-119.738,Dimonte Spring,Reno,Hotspring,127,53'; put '38.952,-115.23,Williams Hot Spring,Lund,Hotspring,127,53'; put '41.261,-115.305,Hot Springs,Wells,Hotspring,126,52'; put '39.041,-116.663,Hot Spring,Millett,Hotspring,124,51'; put '41.365,-119.221,Spring (Hot),Vya,Hotspring,122,50'; put '41.159,-114.986,"Threemile Spring, Sulphur Hot Spr",Wells,Hotspring,122,50'; put '41.339,-119.192,Springs (Hot),Vya,Hotspring,127,53'; put '39.893,-116.649,Little Hot Springs,Millett,Hotspring,H,H'; put '39.787,-119.011,Bradys Hot Springs,Reno,Hotspring,209,98'; put '41.175,-115.278,Hot Spring,Wells,Hotspring,H,H'; put '41.145,-114.994,Hot Spring,Wells,Hotspring,H,H'; put '40.864,-117.349,Sulphur Spring,Winnemucca,Hotspring,H,H'; put '39.733,-119.039,Eagle Salt Works Spring,Reno,Hotspring,H,H'; put '39.281,-118.42,Sand Springs,Reno,Hotspring,H,H'; put '38.81,-116.397,Fish Springs,Tonopah,Hotspring,W,W'; put '39.559,-117.427,Petersons Mill Hot Spring,Millett,Hotspring,H,H'; put '38.339,-116.662,Warm Spring,Tonopah,Hotspring,W,W'; put '38.859,-119.175,Hot Spring,Walker Lake,Hotspring,H,H'; put '39.995,-117.854,Senator Fumaroles,Millett,Hotspring,B,B'; put '39.565,-118.856,(Soda Lake Area),Reno,Hotspring,210,99'; put '40.141,-119.687,The Needle Rocks Hot Springs,Lovelock,Hotspring,208,98'; put '40.146,-119.673,The Needle Rocks Hot Spring,Lovelock,Hotspring,208,98'; put '40.662,-119.365,Great Boiling Spring (Gerlach),Lovelock,Hotspring,208,98'; put '39.388,-119.743,Steamboat Springs,Reno,Hotspring,205,96'; put '39.866,-118.017,Dixie Comstock Mine,Reno,Hotspring,H,H'; put '40.746,-116.689,White House Spring,Winnemucca,Hotspring,W,W'; put '39.98,-119.502,Pyramid Island Hot Spring,Reno,Hotspring,.,.'; put '41.934,-118.808,Warm Springs,Vya,Hotspring,W,W'; put '41.385,-116.058,Petaini Springs,Mcdermitt,Hotspring,W,W'; put '41.064,-115.389,Warm Springs,Wells,Hotspring,W,W'; put '41.066,-114.99,Spring,Wells,Hotspring,W,W'; put '41.355,-114.133,Warm Springs,Wells,Hotspring,W,W'; put '41.148,-116.733,Hot Lake,Mcdermitt,Hotspring,H,H'; put '40.684,-116.153,Ellison Ranch Warm Spring,Winnemucca,Hotspring,W,W'; put '40.604,-117.648,Leach Hot Springs,Winnemucca,Hotspring,207,97'; put '40.751,-115.035,Warm Springs,Elko,Hotspring,W,W'; put '40.782,-115.363,Warm Spring,Elko,Hotspring,W,W'; put '39.529,-116.388,Warm Spring,Millett,Hotspring,W,W'; put '39.072,-115.635,Big Blue Spring,Ely,Hotspring,W,W'; put '38.95,-119.388,Spring,Walker Lake,Hotspring,W,W'; put '38.965,-118.689,Double Spring,Walker Lake,Hotspring,W,W'; put '38.458,-117.303,Indian Springs,Tonopah,Hotspring,W,W'; put '40.592,-116.157,Raine Ranch Springs,Winnemucca,Hotspring,W,W'; put '39.941,-116.681,Hot Springs,Millett,Hotspring,180,82'; put '40.567,-116.588,Beowawe Hot Springs (The Geysers),Winnemucca,Hotspring,208,98'; put '40.761,-117.492,Hot Springs,Winnemucca,Hotspring,185,85'; put '40.653,-119.378,Mud Springs,Lovelock,Hotspring,184,84'; put '38.768,-119.174,Wilson Hot Spring,Walker Lake,Hotspring,183,84'; put '41.921,-118.709,Baltazor Hot Spring,Vya,Hotspring,181,83'; put '40.857,-119.328,Fly Ranch (Wards) Hot Springs,Lovelock,Hotspring,180,82'; put '39.597,-119.11,Patua Hot Springs (Fernley),Reno,Hotspring,187,86'; put '39.028,-117.136,Mcleod Ranch Hot Spring,Millett,Hotspring,180,82'; put '40.316,-116.433,Hot Spring,Winnemucca,Hotspring,186,86'; put '38.521,-116.365,Hot Creek Ranch Hot Spring,Tonopah,Hotspring,180,82'; put '41.051,-119.028,Double Hot Springs,Vya,Hotspring,178,81'; put '40.003,-117.718,Hyder Hot Springs,Winnemucca,Hotspring,176,80'; put '39.665,-114.807,Monte Neva Hot Springs,Ely,Hotspring,176,80'; put '40.368,-117.327,Buffalo Valley Hot Springs,Winnemucca,Hotspring,174,79'; put '40.699,-116.133,Hot Springs (Carlin),Winnemucca,Hotspring,174,79'; put '41.052,-118.717,Macfarlane Hot Spring,Vya,Hotspring,170,77'; put '39.342,-118.578,Borax Spring,Reno,Hotspring,180,82'; put '39.484,-119.804,Moana Springs,Reno,Hotspring,199,93'; put '41.243,-114.947,Twelvemile Spring,Wells,Hotspring,102,39'; put '39.38,-119.74,Steamboat Springs,Reno,Hotspring,205,96'; put '39.558,-116.36,Bartine Hot Springs,Millett,Hotspring,108,42'; put '39.954,-117.917,Fumaroles,Millett,Hotspring,204,96'; put '40.389,-119.402,Hot Seeps (San Emidio Desert),Lovelock,Hotspring,203,95'; put '38.822,-117.183,Darroughs Hot Springs,Tonopah,Hotspring,203,95'; put '40.088,-117.725,Sou (Seven Devils) Hot Springs,Winnemucca,Hotspring,185,85'; put '41.363,-118.788,Pinto Hot Springs,Vya,Hotspring,199,93'; put '40.408,-117.883,Kyle Hot Springs,Winnemucca,Hotspring,171,77'; put '41.357,-118.809,West Pinto Hot Spring,Vya,Hotspring,198,92'; put '39.316,-117.549,Hot Springs,Millett,Hotspring,198,92'; put '41.468,-116.15,Hot Sulphur Springs (Tuscarora),Mcdermitt,Hotspring,194,90'; put '40.813,-115.778,Elko Hot Spring,Elko,Hotspring,190,88'; put '39.208,-118.723,"Lee Hot Springs, Allen Springs",Reno,Hotspring,190,88'; put '40.262,-119.379,Boiling Springs,Lovelock,Hotspring,187,86'; put '40.77,-119.113,Butte Springs (Trego Hot Springs),Lovelock,Hotspring,187,86'; put '39.161,-119.183,Wabuska Hot Springs,Reno,Hotspring,201,94'; put '39.814,-115.612,Giocoecha Warm Springs,Ely,Hotspring,76,24'; put '36.389,-114.433,Blue Point Spring,Las Vegas,Hotspring,82,28'; put '37.016,-117.211,Seep,Goldfield,Hotspring,77,25'; put '37.751,-116.274,Cedar Spring,Goldfield,Hotspring,77,25'; put '37.896,-114.227,Flatnose Ranch Spring,Caliente,Hotspring,77,25'; put '36.207,-115.983,Pahrump (Bennetts) Spring,Las Vegas,Hotspring,77,25'; put '41.775,-115.921,Rizzi Ranch Hot Spring,Wells,Hotspring,106,41'; put '35.944,-114.731,Hot Spring,Kingman,Hotspring,78,26'; put '41.884,-114.117,Gambles Hole,Wells,Hotspring,104,40'; put '36.565,-115.671,Indian Springs,Las Vegas,Hotspring,78,26'; put '39.547,-114.915,Campbell Ranch Springs,Ely,Hotspring,76,24'; put '38.423,-115.022,Flag Springs,Lund,Hotspring,75,24'; put '38.44,-115.011,Butterfield Springs,Lund,Hotspring,75,24'; put '37.997,-118.039,Fish Spring,Mariposa,Hotspring,75,24'; put '37.029,-116.719,Springs,Goldfield,Hotspring,75,24'; put '36.426,-116.411,Ash Tree Spring,Death Valley,Hotspring,75,24'; put '36.033,-115.888,Browns Spring,Las Vegas,Hotspring,75,24'; put '41.322,-119.206,Springs,Vya,Hotspring,75,24'; put '41.706,-118.261,Ninemile Springs,Vya,Hotspring,79,26'; put '35.964,-114.743,Hot Spring,Kingman,Hotspring,82,28'; put '41.763,-118.279,Fivemile Spring,Vya,Hotspring,81,27'; put '39.457,-119.722,Huffaker Springs,Reno,Hotspring,81,27'; put '38.992,-117.042,Charnock (Big Blue) Springs,Tonopah,Hotspring,80,27'; put '36.402,-116.302,Davis Ranch Springs,Death Valley,Hotspring,81,27'; put '36.45,-116.313,Spring,Death Valley,Hotspring,81,27'; put '39.792,-114.692,Lower Shellbourne Spring,Ely,Hotspring,77,25'; put '41.338,-119.168,Springs,Vya,Hotspring,79,26'; put '41.022,-119.275,Caine Spring,Vya,Hotspring,73,23'; put '41.05,-117.1,Hot Springs Ranch Springs,Mcdermitt,Hotspring,79,26'; put '40.079,-116.035,Flynn Ranch Springs,Winnemucca,Hotspring,78,26'; put '40.325,-116.058,Hot Springs,Winnemucca,Hotspring,79,26'; put '36.414,-116.292,Spring,Death Valley,Hotspring,79,26'; put '36.173,-115.191,Las Vegas Springs,Las Vegas,Hotspring,79,26'; put '36.174,-115.479,White Rock Spring,Las Vegas,Hotspring,78,26'; put '36.565,-115.623,Spring,Las Vegas,Hotspring,79,26'; put '36.491,-116.342,"Fairbanks Spring, Soda Spring",Death Valley,Hotspring,81,27'; put '38.654,-114.633,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '36.363,-116.271,Bole Spring,Death Valley,Hotspring,72,22'; put '36.999,-116.706,Spring,Death Valley,Hotspring,72,22'; put '36.942,-115.425,Ash Creek Spring,Las Vegas,Hotspring,72,22'; put '38.796,-119.65,Doud Springs,Walker Lake,Hotspring,70,21'; put '38.622,-115.047,Emigrant Springs,Lund,Hotspring,70,21'; put '38.927,-115.082,Preston Springs,Lund,Hotspring,70,21'; put '36.147,-115.893,Manse Ranch Spring,Las Vegas,Hotspring,75,24'; put '38.645,-114.632,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '38.574,-115.522,Tom Spring,Lund,Hotspring,72,22'; put '38.671,-114.628,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '37.783,-114.528,Bennett Springs,Caliente,Hotspring,70,21'; put '37.86,-114.321,Delmues Springs,Caliente,Hotspring,70,21'; put '36.408,-116.313,Davis Ranch Spring,Death Valley,Hotspring,70,21'; put '36.567,-114.446,Seep,Las Vegas,Hotspring,70,21'; put '41.369,-114.187,Gamble Spring,Wells,Hotspring,69,20'; put '39.901,-115.868,Thompson Ranch Spring,Ely,Hotspring,68,20'; put '38.633,-114.638,Wambolt Springs,Lund,Hotspring,70,21'; put '37.906,-118.171,Sand Spring,Mariposa,Hotspring,74,23'; put '36.486,-114.329,Springs,Las Vegas,Hotspring,77,25'; put '41.354,-119.116,Mustang Springs,Vya,Hotspring,73,23'; put '41.746,-119.791,Warm Springs,Vya,Hotspring,73,23'; put '41.258,-118.937,Cane Springs,Vya,Hotspring,74,23'; put '40.103,-119.884,Fish Springs,Lovelock,Hotspring,73,23'; put '39.853,-119.719,Spring,Reno,Hotspring,73,23'; put '39.832,-116.069,Sulphur Spring,Millett,Hotspring,74,23'; put '36.363,-116.263,Spring,Death Valley,Hotspring,72,22'; put '38.554,-115.531,Kate Spring,Lund,Hotspring,73,23'; put '37.074,-116.691,Spring,Goldfield,Hotspring,72,22'; put '37.979,-117.993,Gap Spring,Goldfield,Hotspring,73,23'; put '41.591,-119.862,Twin (Vya) Spring,Vya,Hotspring,71,22'; put '40.763,-119.172,Coyote Spring,Lovelock,Hotspring,72,22'; put '40.127,-116.884,Springs,Winnemucca,Hotspring,72,22'; put '40.187,-116.805,Spring,Winnemucca,Hotspring,72,22'; put '40.967,-114.515,Johnson Ranch Springs,Elko,Hotspring,72,22'; put '36.205,-115.141,Kyle Spring,Las Vegas,Hotspring,75,24'; put '39.8,-114.653,Upper Shellbourne Spring,Ely,Hotspring,74,23'; put '36.428,-116.303,Button Springs,Death Valley,Hotspring,93,34'; put '38.383,-115.153,Hot Creek Ranch Spring,Lund,Hotspring,90,32'; put '39.283,-114.866,Lackawanna Hot Springs,Ely,Hotspring,95,35'; put '38.532,-116.465,Upper Warm Spring,Tonopah,Hotspring,95,35'; put '38.823,-116.717,South Mosquito Creek Ranch Springs,Tonopah,Hotspring,95,35'; put '40.829,-117.306,Brooks Spring,Winnemucca,Hotspring,93,34'; put '40.992,-117.763,Spring,Winnemucca,Hotspring,93,34'; put '41.971,-114.574,Warm Springs,Wells,Hotspring,95,35'; put '38.95,-115.7,Big Warm Spring,Lund,Hotspring,93,34'; put '37.463,-115.192,Ash Springs,Caliente,Hotspring,97,36'; put '36.464,-116.319,Parent Springs,Death Valley,Hotspring,93,34'; put '38.352,-115.181,Moon River Spring,Lund,Hotspring,92,33'; put '36.402,-116.274,"Point of Rocks Springs, King Sprin",Death Valley,Hotspring,91,33'; put '36.421,-116.322,Crystal Pool,Death Valley,Hotspring,91,33'; put '36.425,-116.291,Devils Hole,Death Valley,Hotspring,92,33'; put '39.068,-119.786,Springs,Reno,Hotspring,90,32'; put '38.954,-117.049,Big Blue (A) Spring,Tonopah,Hotspring,90,32'; put '40.087,-114.647,Collar And Elbow Spring,Elko,Hotspring,93,34'; put '36.378,-114.443,Rogers Spring,Las Vegas,Hotspring,82,28'; put '39.943,-116.073,Shipley Hot Spring,Millett,Hotspring,106,41'; put '38.698,-116.435,"Upper Warm Spring, Warm Spring",Tonopah,Hotspring,106,41'; put '41.53,-118.57,Spring,Vya,Hotspring,104,40'; put '41.877,-115.628,Rowland Hot Springs,Wells,Hotspring,104,40'; put '40.035,-117.604,Lower Ranch Hot Springs,Winnemucca,Hotspring,104,40'; put '40.187,-116.79,Chillis Hot Spring,Winnemucca,Hotspring,102,39'; put '39.988,-116.044,Siri Ranch Spring,Millett,Hotspring,95,35'; put '39.421,-119.758,Zolezzi Spring,Reno,Hotspring,102,39'; put '38.531,-116.405,Old Dugan Ranch Hot Springs,Tonopah,Hotspring,102,39'; put '36.968,-116.723,Burrell Hot Spring,Death Valley,Hotspring,102,39'; put '38.343,-118.103,Soda Springs,Walker Lake,Hotspring,100,38'; put '38.556,-115.767,"Lockes Big Spring, Hay Corral Spr",Lund,Hotspring,100,38'; put '38.594,-115.138,Moorman Spring,Lund,Hotspring,100,38'; put '38.398,-115.862,Storm Spring,Lund,Hotspring,99,37'; put '41.19,-115.287,Hot Spring,Wells,Hotspring,97,36'; put '37.822,-117.48,Pearl Hot Springs,Goldfield,Hotspring,97,36'; put '39.159,-119.737,Nevada State Prison Spring,Reno,Hotspring,75,24'; put '40.025,-117.646,Spring,Winnemucca,Hotspring,83,28'; put '40.83,-119.538,Springs,Lovelock,Hotspring,84,29'; put '39.442,-119.743,Double Diamond Spring,Reno,Hotspring,84,29'; put '39.413,-114.779,Mcgill Spring,Ely,Hotspring,84,29'; put '39.458,-114.756,Schoolhouse Spring,Ely,Hotspring,84,29'; put '36.375,-116.274,Big (Ash Meadows) Spring,Death Valley,Hotspring,83,28'; put '38.292,-114.272,Hammond Ranch Spring,Lund,Hotspring,84,29'; put '41.398,-119.165,Spring,Vya,Hotspring,84,29'; put '41.732,-119.785,Seeps (Hills Warm Spring),Vya,Hotspring,83,28'; put '38.563,-115.528,Blue Eagle Springs,Lund,Hotspring,84,29'; put '40.873,-117.937,Rose Creek Spring,Winnemucca,Hotspring,83,28'; put '39.917,-114.667,Spring,Ely,Hotspring,83,28'; put '36.39,-116.278,Jack Rabbit Spring,Death Valley,Hotspring,82,28'; put '36.437,-116.206,Spring,Death Valley,Hotspring,82,28'; put '38.937,-115.695,Little Warm Spring,Lund,Hotspring,90,32'; put '36.479,-116.326,Rogers Spring,Death Valley,Hotspring,82,28'; put '40.29,-116.049,Carlotti Ranch Springs,Winnemucca,Hotspring,102,39'; put '36.468,-116.325,Longstreet Spring,Death Valley,Hotspring,82,28'; put '36.722,-114.716,Muddy Spring,Las Vegas,Hotspring,90,32'; put '37.532,-115.233,Crystal Springs,Caliente,Hotspring,90,32'; put '37.598,-115.215,Hiko Spring,Caliente,Hotspring,90,32'; put '36.404,-116.383,Spring,Death Valley,Hotspring,90,32'; put '37.996,-116.389,Reveille Mill Spring,Goldfield,Hotspring,84,29'; put '36.71,-114.714,Moapa Warm Springs,Las Vegas,Hotspring,90,32'; put '35.982,-114.748,Hot Springs,Kingman,Hotspring,86,30'; put '40.929,-116.895,Izzenhood Ranch Springs,Winnemucca,Hotspring,88,31'; put '37.807,-114.38,Panaca Spring,Caliente,Hotspring,88,31'; put '36.942,-116.729,Spring,Death Valley,Hotspring,88,31'; put '41.98,-114.376,Hot Spring,Wells,Hotspring,86,30'; put '36.433,-116.308,Scruggs Springs,Death Valley,Hotspring,86,30'; put '40.952,-114.751,Ralphs Warm Springs,Elko,Hotspring,86,30'; put '39.526,-118.876,Soda Lake,Reno,Hotspring,86,30'; put '38.027,-116.683,Spring,Tonopah,Hotspring,86,30'; put '37.741,-115.753,Sand Spring,Caliente,Hotspring,86,30'; put '36.918,-116.744,Beatty Municipal Spring,Death Valley,Hotspring,88,31'; put '38.255,-116.829,Saulsbury Warm Spring,Tonopah,Hotspring,86,30'; put '42.48,-73.37,Lebanon Spring,Albany,Hotspring,72,22'; put '44.241,-122.058,Bigelow Hot Springs,Salem,Hotspring,142,61'; put '44.862,-121.201,Kahneeta Hot Springs,Bend,Hotspring,126,52'; put '44.927,-117.939,Radium Hot Springs,Baker,Hotspring,135,57'; put '44.354,-118.574,Blue Mountain Hot Springs,Canyon City,Hotspring,136,58'; put '44.936,-122.173,Bagby Hot Springs,Salem,Hotspring,136,58'; put '43.944,-118.136,Beulah Hot Springs,Burns,Hotspring,140,60'; put '43.763,-117.156,Mitchell Butte Hot Spring,Boise,Hotspring,144,62'; put '42.116,-121.287,Oregon Hot Springs (Big Hot Spring,Klamath Falls,Hotspring,142,61'; put '45.151,-118.659,Lehman Springs,Pendleton,Hotspring,142,61'; put '43.719,-121.209,East Lake Hot Springs,Crescent,Hotspring,144,62'; put '43.469,-118.202,Luce Hot Springs,Burns,Hotspring,145,63'; put '45.018,-117.625,Medical Hot Springs,Grangeville,Hotspring,140,60'; put '44.867,-121.228,Springs,Bend,Hotspring,125,52'; put '42.188,-118.383,Flagstaff Butte Hot Spring,Adel,Hotspring,126,52'; put '44.451,-119.105,Mount Vernon Hot Springs,Canyon City,Hotspring,121,49'; put '42.977,-117.061,Canters Hot Spring,Jordan Valley,Hotspring,120,49'; put '43.294,-122.367,Umpqua Hot Springs,Roseburg,Hotspring,117,47'; put '44.002,-119.647,Weberg Hot Spring,Canyon City,Hotspring,115,46'; put '43.739,-117.178,Deer Butte Hot Spring,Boise,Hotspring,115,46'; put '43.795,-117.958,Jonesboro Warm Spring,Boise,Hotspring,112,45'; put '42.075,-119.927,Hallinan Spring,Adel,Hotspring,113,45'; put '42.297,-119.776,Fisher Hot Springs,Adel,Hotspring,154,68'; put '45.013,-117.885,Kropp Hot Spring,Grangeville,Hotspring,109,43'; put '42.221,-120.368,Hunters Hot Springs,Klamath Falls,Hotspring,205,96'; put '44.083,-122.233,Cougar Reservoir Hot Springs,Salem,Hotspring,111,44'; put '44.023,-117.46,Neal Hot Springs,Baker,Hotspring,189,87'; put '42.431,-121.963,Eagle Point Spring,Klamath Falls,Hotspring,95,35'; put '43.689,-122.372,Kitson Hot Springs,Roseburg,Hotspring,109,43'; put '44.813,-117.765,Spring (Hot),Baker,Hotspring,W,W'; put '43.776,-118.047,Warm Spring,Burns,Hotspring,W,W'; put '43.793,-118.472,Sitz Warm Spring,Burns,Hotspring,W,W'; put '43.86,-118.288,Altnow Hot Spring,Burns,Hotspring,W,W'; put '43.893,-117.596,Springs,Boise,Hotspring,W,W'; put '45.206,-117.912,Union Station Hot Springs,Grangeville,Hotspring,H,H'; put '44.208,-117.455,Jamieson Hot Springs,Baker,Hotspring,H,H'; put '42.338,-118.602,Hot Springs,Adel,Hotspring,207,97'; put '44.782,-121.975,Breitenbush Hot Springs,Bend,Hotspring,198,92'; put '42.219,-119.877,Warner Valley Ranch,Adel,Hotspring,198,92'; put '42.156,-120.345,Barry Ranch Hot Springs,Klamath Falls,Hotspring,190,88'; put '44.193,-122.049,Belknap Springs,Salem,Hotspring,160,71'; put '45.021,-122.009,Austin Hot Springs,Vancouver,Hotspring,186,86'; put '42.676,-118.344,Mickey Springs,Adel,Hotspring,187,86'; put '44.153,-122.098,Foley Springs,Salem,Hotspring,178,81'; put '45.244,-117.958,Hot Lake Springs,Grangeville,Hotspring,176,80'; put '42.544,-118.533,Alvord Hot Springs,Adel,Hotspring,174,79'; put '43.441,-118.638,Crane Hot Springs,Burns,Hotspring,172,78'; put '42.226,-119.881,Crump Geyser (Crump Spring),Adel,Hotspring,172,78'; put '43.727,-117.203,Snively Hot Spring,Boise,Hotspring,170,77'; put '42.174,-121.615,Olene Gap Hot Springs,Klamath Falls,Hotspring,165,74'; put '43.708,-122.288,Mccredie Springs,Roseburg,Hotspring,163,73'; put '43.982,-117.233,Vale Hot Springs,Boise,Hotspring,163,73'; put '42.162,-120.344,Leithead Hot Spring,Klamath Falls,Hotspring,162,72'; put '45.372,-121.697,Mount Hood Fumaroles,The Dalles,Hotspring,194,90'; put '43.264,-119.015,Dunn Spring,Burns,Hotspring,70,21'; put '42.873,-122.167,Annie Spring,Medford,Hotspring,77,25'; put '42.133,-121.219,Wilkersons Hot Spring,Klamath Falls,Hotspring,76,24'; put '43.272,-119.293,Basque Spring,Burns,Hotspring,74,23'; put '43.276,-119.34,Double O Spring,Burns,Hotspring,74,23'; put '44.073,-119.427,Brisbois Ranch Springs,Canyon City,Hotspring,72,22'; put '43.265,-119.276,Johnson Spring,Burns,Hotspring,72,22'; put '43.281,-119.311,Double O Barnyard Spring,Burns,Hotspring,72,22'; put '43.501,-119.091,Roadland Spring,Burns,Hotspring,72,22'; put '43.529,-119.081,Goodman Spring,Burns,Hotspring,72,22'; put '43.703,-117.19,South Black Willow Spring,Boise,Hotspring,71,22'; put '42.307,-119.875,Moss Ranch Spring,Adel,Hotspring,72,22'; put '43.758,-118.067,Juntura Warm Spring 1,Burns,Hotspring,77,25'; put '43.732,-121.252,Paulina Springs,Crescent,Hotspring,70,21'; put '42.176,-121.828,Howard Holiday,Klamath Falls,Hotspring,77,25'; put '43.477,-119.075,Baker Spring,Burns,Hotspring,70,21'; put '42.178,-121.801,Hardboard Spring,Klamath Falls,Hotspring,70,21'; put '42.325,-120.327,White Rock Ranch Hot Spring,Klamath Falls,Hotspring,71,21'; put '43.252,-119.258,Hughet Spring,Burns,Hotspring,68,20'; put '42.38,-120.33,Bean Hot Spring,Klamath Falls,Hotspring,69,20'; put '42.933,-120.642,Lost Cabin Spring,Klamath Falls,Hotspring,68,20'; put '42.998,-120.725,Buckhorn Creek Springs,Klamath Falls,Hotspring,68,20'; put '42.688,-117.905,Tudors Spring,Jordan Valley,Hotspring,68,20'; put '42.756,-117.55,Scott Spring,Jordan Valley,Hotspring,68,20'; put '42.725,-120.646,Summer Lake Hot Spring,Klamath Falls,Hotspring,109,43'; put '43.757,-118.092,Juntura Warm Spring 2,Burns,Hotspring,95,35'; put '44.374,-118.738,Limekiln Hot Spring,Canyon City,Hotspring,70,21'; put '42.221,-122.742,Jackson Hot Springs,Medford,Hotspring,95,35'; put '44.892,-119.141,Ritter Hot Springs,Canyon City,Hotspring,106,41'; put '43.808,-122.309,Wall Creek Warm Springs,Roseburg,Hotspring,106,41'; put '43.395,-118.308,Springs (Hot),Burns,Hotspring,106,41'; put '43.302,-117.383,Hot Spring,Boise,Hotspring,106,41'; put '44.28,-118.956,Joaquin Miller Hot Springs,Canyon City,Hotspring,104,40'; put '42.501,-119.693,Antelope Hot Springs,Adel,Hotspring,104,40'; put '45.129,-118.738,Hidaway Springs,Pendleton,Hotspring,100,38'; put '44.975,-118.044,Fisher Hot Springs,Canyon City,Hotspring,99,37'; put '44.033,-117.449,Bully Creek Spring,Baker,Hotspring,99,37'; put '42.93,-120.798,Pardon Warm Spring,Klamath Falls,Hotspring,76,24'; put '42.327,-118.602,Borax Lake (Hot Lake),Adel,Hotspring,97,36'; put '42.161,-121.627,Crystal Spring,Klamath Falls,Hotspring,78,26'; put '45.741,-118.233,Bingham Springs,Pendleton,Hotspring,93,34'; put '42.889,-118.898,Fivemile Spring (Hoghouse Hot Sprs,Adel,Hotspring,80,27'; put '43.54,-119.081,Millpond Hot Spring,Burns,Hotspring,79,26'; put '45.891,-116.873,Cook Creek Hot Spring,Grangeville,Hotspring,97,36'; put '45.295,-121.731,Swim Warm Springs,The Dalles,Hotspring,79,26'; put '42.04,-120.924,Warm Spring,Klamath Falls,Hotspring,92,33'; put '44.779,-117.811,Sam O Spring,Baker,Hotspring,80,27'; put '44.538,-117.417,Nelson Spring,Baker,Hotspring,80,27'; put '45.631,-119.703,Well Spring,Pendleton,Hotspring,80,27'; put '42.287,-119.867,Moss Ranch Springs,Adel,Hotspring,83,28'; put '45.061,-118.455,Warm Mineral Spring,Pendleton,Hotspring,83,28'; put '43.95,-119.634,Warm Springs,Burns,Hotspring,84,29'; put '45.295,-117.806,Warm Spring,Grangeville,Hotspring,85,29'; put '42.815,-118.899,Warm Springs,Adel,Hotspring,89,32'; put '43.452,-103.508,Hot Brook Springs,Hot Springs,Hotspring,75,24'; put '43.442,-103.481,Hot Springs,Hot Springs,Hotspring,87,31'; put '29.178,-102.953,Rio Grande Village Spring,Emory Peak,Hotspring,97,36'; put '30.823,-105.315,Indian Hot Springs,Marfa,Hotspring,117,47'; put '30.038,-104.598,Ruidosa Hot Springs,Marfa,Hotspring,113,45'; put '29.182,-102.992,Hot Springs,Emory Peak,Hotspring,106,41'; put '30.21,-104.562,Capote Springs,Marfa,Hotspring,99,37'; put '30.133,-104.602,Nixon Spring,Marfa,Hotspring,90,32'; put '29.787,-104.462,Springs (Las Cienegas),Presidio,Hotspring,86,30'; put '30.861,-105.34,Red Bull Spring,Marfa,Hotspring,99,37'; put '38.85,-112.49,Hatton Hot Spring,Richfield,Hotspring,100,38'; put '40.176,-111.801,Bird Island,Salt Lake City,Hotspring,86,30'; put '41.917,-111.958,Gancheff Spring,Ogden,Hotspring,88,31'; put '37.942,-112.438,Lefevre,Cedar City,Hotspring,90,32'; put '37.335,-113.687,Veyo Hot Spring,Cedar City,Hotspring,90,32'; put '40.332,-111.891,Fault Zone Spring,Salt Lake City,Hotspring,90,32'; put '40.146,-111.806,Lincoln Point Warm Springs,Salt Lake City,Hotspring,90,32'; put '38.186,-112.912,Us Blm,Richfield,Hotspring,91,33'; put '41.833,-112.454,Blue Creek Spring,Brigham City,Hotspring,82,28'; put '40.526,-111.488,Midway Hot Springs,Salt Lake City,Hotspring,100,38'; put '40.525,-111.468,Midway Hot Springs,Salt Lake City,Hotspring,104,40'; put '40.038,-111.529,Castilla Springs,Salt Lake City,Hotspring,104,40'; put '38.217,-112.904,Dotsons (Radium) Warm Spring,Richfield,Hotspring,91,33'; put '40.465,-109.221,Split Mountain Warm Springs,Vernal,Hotspring,86,30'; put '40.788,-112.017,Hobo Warm Spring,Tooele,Hotspring,84,29'; put '40.788,-111.899,Wasatch Hot Springs,Salt Lake City,Hotspring,108,42'; put '39.35,-113.515,Tule Spring,Delta,Hotspring,82,28'; put '39.424,-113.485,Coyote Spring,Delta,Hotspring,82,28'; put '39.842,-113.392,Fish Springs,Delta,Hotspring,82,28'; put '39.887,-113.413,North Springs,Delta,Hotspring,82,28'; put '41.756,-113.603,Warm Spring,Brigham City,Hotspring,81,27'; put '41.038,-111.656,Como Springs,Ogden,Hotspring,81,27'; put '40.397,-112.421,Morgans Warm Spring,Tooele,Hotspring,80,27'; put '39.464,-114.038,Gandy Warm Springs,Ely,Hotspring,81,27'; put '40.447,-110.828,Warm Springs,Salt Lake City,Hotspring,79,26'; put '37.7,-110.421,Warm Spring,Escalante,Hotspring,79,26'; put '40.502,-114.038,Blue Lake Spring,Elko,Hotspring,84,29'; put '38.503,-112.849,Roosevelt Hot Springs,Richfield,Hotspring,133,56'; put '38.774,-112.096,Richfield Warm Springs,Richfield,Hotspring,73,23'; put '40.488,-111.911,Crystal Hot Springs,Salt Lake City,Hotspring,187,86'; put '38.186,-113.197,Thermo Hot Springs,Richfield,Hotspring,185,85'; put '38.172,-113.204,Thermo Hot Springs,Richfield,Hotspring,181,83'; put '39.613,-112.729,"Baker (Abraham, Crater) Hot Spring",Delta,Hotspring,180,82'; put '38.639,-112.098,Red Hill Hot Spring,Richfield,Hotspring,171,77'; put '38.633,-112.107,Monroe (Cooper) Hot Springs,Richfield,Hotspring,169,76'; put '38.613,-112.202,Joseph Hot Springs,Richfield,Hotspring,147,64'; put '39.906,-113.43,Wilson Health Springs,Delta,Hotspring,142,61'; put '41.138,-112.175,Hooper Hot Springs,Brigham City,Hotspring,140,60'; put '41.338,-112.031,Utah Hot Springs,Brigham City,Hotspring,138,59'; put '38.864,-112.506,Meadow Hot Springs,Richfield,Hotspring,106,41'; put '40.815,-111.918,Becks Hot Spring,Salt Lake City,Hotspring,133,56'; put '37.189,-113.272,Dixie (Laverkin) Hot Springs,Cedar City,Hotspring,108,42'; put '41.659,-112.087,Crystal (Madsens) Hot Springs,Brigham City,Hotspring,129,54'; put '41.855,-112.158,Udy Hot Springs,Brigham City,Hotspring,124,51'; put '41.578,-112.23,Stinking Hot Springs,Brigham City,Hotspring,118,48'; put '40.517,-111.475,Midway Hot Spring,Salt Lake City,Hotspring,115,46'; put '40.536,-111.478,Warm Ditch Spring,Salt Lake City,Hotspring,115,46'; put '40.35,-111.905,Saratoga Hot Springs,Salt Lake City,Hotspring,111,44'; put '40.353,-111.895,Crater Hot Spring,Salt Lake City,Hotspring,111,44'; put '41.901,-112.999,Coyote Spring,Brigham City,Hotspring,109,43'; put '41.687,-113.986,Spring (Hot),Brigham City,Hotspring,108,42'; put '41.582,-112.256,Little Mountain Hot Spring,Brigham City,Hotspring,108,42'; put '41.822,-113.263,L.G. Carter Springs,Brigham City,Hotspring,77,25'; put '41.236,-111.924,Ogden Hot Spring,Ogden,Hotspring,135,57'; put '37.178,-113.634,Snow Spring,Cedar City,Hotspring,70,21'; put '38.34,-113.22,Woodhouse Spring,Richfield,Hotspring,72,22'; put '38.155,-112.901,Willow Spring,Richfield,Hotspring,72,22'; put '38.56,-112.578,Sulphurdale,Richfield,Hotspring,72,22'; put '38.981,-111.829,Salt Spring,Salina,Hotspring,72,22'; put '37.174,-112.535,Red Canyon,Cedar City,Hotspring,72,22'; put '41.808,-113.327,W.R. Carter Springs,Brigham City,Hotspring,70,21'; put '41.818,-113.311,Larson Springs,Brigham City,Hotspring,70,21'; put '41.829,-113.654,Head Spring,Brigham City,Hotspring,70,21'; put '40.653,-112.907,Redlum Spring,Tooele,Hotspring,70,21'; put '40.458,-111.929,Camp Williams,Salt Lake City,Hotspring,70,21'; put '40.647,-112.524,Grantsville Warm Springs,Tooele,Hotspring,77,25'; put '39.183,-111.691,Sterling (Peacock) Warm Spring,Price,Hotspring,72,22'; put '39.246,-111.645,Livingston Warm Springs,Price,Hotspring,73,23'; put '38.138,-112.863,Big Maple Spring,Richfield,Hotspring,70,21'; put '37.393,-113.61,Irvine Spring,Cedar City,Hotspring,70,21'; put '41.563,-113.954,Kimber (Rose) Spring,Brigham City,Hotspring,68,20'; put '41.614,-113.613,Warm Spring,Brigham City,Hotspring,68,20'; put '41.328,-111.826,Patio Springs,Ogden,Hotspring,68,20'; put '40.172,-112.426,Davis,Tooele,Hotspring,68,20'; put '40.118,-111.337,Diamond Fork Warm Springs,Salt Lake City,Hotspring,68,20'; put '39.249,-113.877,Knoll Springs,Delta,Hotspring,68,20'; put '39.403,-113.863,Twin Springs,Delta,Hotspring,68,20'; put '39.788,-111.881,Ray Lunt Spring,Price,Hotspring,68,20'; put '38.762,-112.87,Springs,Richfield,Hotspring,68,20'; put '38.77,-112.871,Coyote Spring,Richfield,Hotspring,68,20'; put '37.937,-112.424,Tebbs,Cedar City,Hotspring,68,20'; put '37.096,-113.447,Warner Valley Spring,Cedar City,Hotspring,70,21'; put '40.565,-112.738,Deseret Livestock South Springs,Tooele,Hotspring,73,23'; put '37.158,-113.399,Virgin River Spring,Cedar City,Hotspring,70,21'; put '39.899,-112.045,Springs,Delta,Hotspring,72,22'; put '38.603,-112.111,Johnson Warm Spring,Richfield,Hotspring,77,25'; put '41.722,-112.266,Bothwell Warm Springs,Brigham City,Hotspring,75,24'; put '40.538,-112.747,Deseret Livestock,Tooele,Hotspring,75,24'; put '40.733,-112.621,Utah Fish And Game Dept,Tooele,Hotspring,75,24'; put '40.228,-111.867,Warm Springs,Salt Lake City,Hotspring,75,24'; put '37.137,-113.513,Warm Spring,Cedar City,Hotspring,75,24'; put '37.138,-113.528,Green Spring,Cedar City,Hotspring,75,24'; put '37.166,-113.383,Berry Springs,Cedar City,Hotspring,75,24'; put '41.834,-112.054,Cutler Warm Spring,Brigham City,Hotspring,73,23'; put '40.614,-112.709,Horseshoe Springs,Tooele,Hotspring,73,23'; put '41.239,-112.413,Compton Spring,Brigham City,Hotspring,72,22'; put '40.743,-112.642,Big Warm Springs,Tooele,Hotspring,72,22'; put '40.558,-112.739,Deseret Livestock South Spring,Tooele,Hotspring,72,22'; put '40.39,-112.424,Russells Warm Springs,Tooele,Hotspring,72,22'; put '41.831,-113.391,Pugsley,Brigham City,Hotspring,73,23'; put '41.449,-112.442,Poulsen Spring (Salt),Brigham City,Hotspring,72,22'; put '40.167,-111.622,Wood Springs,Salt Lake City,Hotspring,73,23'; put '40.234,-111.865,Warm Springs,Salt Lake City,Hotspring,77,25'; put '39.955,-111.858,Goshen Warm Srings,Price,Hotspring,73,23'; put '39.334,-113.518,South Tule Spring,Delta,Hotspring,77,25'; put '39.616,-112.803,Fumarole Butte,Delta,Hotspring,73,23'; put '40.545,-111.928,East Jordan Canal,Salt Lake City,Hotspring,73,23'; put '41.643,-112.281,Springs,Brigham City,Hotspring,72,22'; put '37.29,-80.619,New River White Sulphur Springs,Bluefield,Hotspring,85,29'; put '37.997,-79.83,Hot Springs,Roanoke,Hotspring,106,41'; put '37.898,-79.462,Rockbridge Baths,Roanoke,Hotspring,72,22'; put '38.055,-79.78,Warm Springs,Charlottesvill,Hotspring,95,35'; put '37.963,-79.861,Healing Springs,Roanoke,Hotspring,86,30'; put '38.238,-79.65,Bragg Spring,Charlottesvill,Hotspring,75,24'; put '37.645,-80.238,Sweet Chalybeate Spring,Bluefield,Hotspring,75,24'; put '38.218,-79.673,Bolar Spring,Charlottesvill,Hotspring,73,23'; put '37.86,-79.988,Layton Spring,Roanoke,Hotspring,72,22'; put '37.87,-79.933,Falling Spring,Roanoke,Hotspring,77,25'; put '37.16,-80.806,Alum Springs,Bluefield,Hotspring,72,22'; put '46.852,-121.758,Mt Rainier Fumaroles,Yakima,Hotspring,162,72'; put '46.738,-121.562,Ohanapecosh Hot Springs,Yakima,Hotspring,122,50'; put '47.707,-121.155,Scenic Hot Springs,Wenatchee,Hotspring,122,50'; put '47.969,-123.864,Sol Duc Hot Springs,Seattle,Hotspring,122,50'; put '48.974,-119.475,Hot Lake,Okanogan,Hotspring,122,50'; put '45.658,-121.962,Moffetts (Bonneville) Hot Springs,The Dalles,Hotspring,97,36'; put '48.906,-119.455,Poison Lake,Okanogan,Hotspring,122,50'; put '45.701,-121.728,Collins Hot Springs,The Dalles,Hotspring,122,50'; put '47.484,-121.391,Goldmeyer Hot Springs,Wenatchee,Hotspring,127,53'; put '46.202,-121.492,Mount Adams Fumaroles,Yakima,Hotspring,150,66'; put '46.198,-122.197,Mt St Helens Fumaroles,Hoquiam,Hotspring,190,88'; put '48.789,-121.804,Dorr Fumarole Field,Concrete,Hotspring,194,90'; put '48.77,-121.813,Sherman Crater Fumaroles,Concrete,Hotspring,266,130'; put '45.723,-121.927,Rock Creek Hot Springs,The Dalles,Hotspring,H,H'; put '48.15,-121.062,Gamma Hot Springs,Concrete,Hotspring,140,60'; put '46.378,-122.265,Green River Soda Spring,Hoquiam,Hotspring,86,30'; put '46.575,-121.706,Packwood Hot Spring,Yakima,Hotspring,100,38'; put '47.201,-121.536,Lester Hot Springs,Wenatchee,Hotspring,120,49'; put '46.024,-118.771,Warm Springs Canyon Warm Spring,Walla Walla,Hotspring,72,22'; put '46.345,-121.6,Orr Creek Warm Springs,Yakima,Hotspring,72,22'; put '46.041,-121.181,Fish Hatchery Warm Spring,Yakima,Hotspring,75,24'; put '46.752,-121.814,Longmire Mineral Springs,Yakima,Hotspring,77,25'; put '47.892,-121.342,Garland Mineral Springs,Wenatchee,Hotspring,84,29'; put '46.452,-120.956,Simcoe Soda Springs,Yakima,Hotspring,90,32'; put '48.254,-121.17,Sulphur Creek Hot Springs,Concrete,Hotspring,99,37'; put '48.118,-121.192,Kennedy Hot Spring,Concrete,Hotspring,100,38'; put '48.763,-121.667,Baker Hot Spring,Concrete,Hotspring,108,42'; put '47.977,-123.682,Olympic Hot Springs,Seattle,Hotspring,118,48'; put '45.728,-121.8,St Martins Hot Springs,The Dalles,Hotspring,120,49'; put '45.821,-121.133,Klickitat Mineral Springs,The Dalles,Hotspring,81,27'; put '38.163,-79.975,Minnehaha Springs,Charlottesvill,Hotspring,70,21'; put '37.63,-80.24,Old Sweet Spring,Bluefield,Hotspring,73,23'; put '39.618,-78.23,Berkeley Springs,Cumberland,Hotspring,72,22'; put '38.605,-79.353,Thorn Spring,Charlottesvill,Hotspring,72,22'; put '39.471,-77.877,Swan Pond Spring,Baltimore,Hotspring,72,22'; put '44.29,-110.504,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94'; put '44.691,-110.728,Geyser Springs Group,Ashton,Hotspring,201,94'; put '44.554,-110.812,Fountain Group,Ashton,Hotspring,201,94'; put '44.543,-110.859,Fairy Springs,Ashton,Hotspring,201,94'; put '44.485,-110.852,"Biscuit Basin, Sapphire Pool",Ashton,Hotspring,201,94'; put '44.48,-110.85,Cascade Group,Ashton,Hotspring,201,94'; put '44.46,-110.844,Black Sand Basin,Ashton,Hotspring,201,94'; put '44.459,-110.835,Myriad Group,Ashton,Hotspring,201,94'; put '44.307,-110.526,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94'; put '44.354,-110.8,Shoshone Geyser Basin,Ashton,Hotspring,203,95'; put '44.568,-110.805,Quagmire Group,Ashton,Hotspring,203,95'; put '44.537,-110.801,"White Dome Geyser, Surprise Pool",Ashton,Hotspring,203,95'; put '44.52,-110.828,Flood Group,Ashton,Hotspring,203,95'; put '44.471,-110.843,"Daisy Group, Sentinel Geysers",Ashton,Hotspring,203,95'; put '44.466,-110.839,"Middle Group,tortoise Shell,inkwel",Ashton,Hotspring,203,95'; put '44.46,-110.828,"Geyser Hill Group, Old Faithful Ge",Ashton,Hotspring,203,95'; put '44.908,-110.393,Calcite Springs,Ashton,Hotspring,201,94'; put '44.417,-110.57,West Thumb Geyser Basin,Ashton,Hotspring,203,95'; put '44.459,-110.817,Southeastern Group,Ashton,Hotspring,198,92'; put '44.433,-110.581,Potts Hot Spring Basin,Ashton,Hotspring,203,95'; put '44.421,-110.952,Smoke Jumper Hot Springs,Ashton,Hotspring,198,92'; put '44.684,-110.753,Monument Geyser Basin,Ashton,Hotspring,197,92'; put '44.679,-110.746,Beryl Spring,Ashton,Hotspring,198,92'; put '44.544,-110.258,Turbid Springs,Ashton,Hotspring,198,92'; put '44.53,-110.297,Steamboat Springs,Ashton,Hotspring,198,92'; put '44.518,-110.813,"Hot Springs, Rabbit Creek Group",Ashton,Hotspring,198,92'; put '44.514,-110.828,Rabbit Creek Group,Ashton,Hotspring,198,92'; put '44.484,-110.873,Mystic Falls Springs,Ashton,Hotspring,198,92'; put '44.739,-110.324,Josephs Coat Springs,Ashton,Hotspring,199,93'; put '44.75,-110.714,Gas Vent,Ashton,Hotspring,H,H'; put '44.282,-110.506,Rustic Geyser,Ashton,Hotspring,199,93'; put '44.571,-110.811,Morning Mist Springs,Ashton,Hotspring,205,96'; put '44.733,-110.703,Cistern Spring,Ashton,Hotspring,199,93'; put '44.697,-110.724,Gibbon Hill Geyser,Ashton,Hotspring,199,93'; put '44.693,-110.738,Artists Paintpots,Ashton,Hotspring,199,93'; put '44.69,-110.384,Hot Springs on Bog Creek,Ashton,Hotspring,199,93'; put '44.526,-110.835,Excelsior Geyser Crater,Ashton,Hotspring,199,93'; put '44.418,-110.805,Lone Star Geyser,Ashton,Hotspring,199,93'; put '44.309,-110.654,Hot Springs on Lewis Lake,Ashton,Hotspring,199,93'; put '44.469,-110.828,Solitary Geyser,Ashton,Hotspring,198,92'; put '44.433,-110.813,Hot Springs,Ashton,Hotspring,H,H'; put '44.766,-110.3,Hot Springs,Ashton,Hotspring,H,H'; put '44.61,-110.438,Hot Springs,Ashton,Hotspring,H,H'; put '44.607,-110.617,Hot Springs East of Mary Lake,Ashton,Hotspring,H,H'; put '44.601,-110.632,Gas Vent East of Mary Lake,Ashton,Hotspring,H,H'; put '44.595,-110.622,Gas Vents Southeast of Mary Lake,Ashton,Hotspring,H,H'; put '44.572,-110.691,Hot Springs,Ashton,Hotspring,H,H'; put '44.553,-110.301,Beach Springs,Ashton,Hotspring,H,H'; put '44.551,-110.85,Springs on Fairy Creek,Ashton,Hotspring,H,H'; put '44.616,-110.616,Highland Hot Springs,Ashton,Hotspring,H,H'; put '44.438,-110.977,Hot Springs on Continental Divide,Ashton,Hotspring,H,H'; put '44.617,-110.432,Mud Geysers,Ashton,Hotspring,H,H'; put '44.404,-110.824,Hot Springs on Upper Firehole Rive,Ashton,Hotspring,H,H'; put '44.498,-109.193,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.495,-109.222,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.482,-109.204,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.841,-110.167,"Hot, on Lamar River",Ashton,Hotspring,W,W'; put '44.734,-110.029,Hot Springs,Ashton,Hotspring,W,W'; put '44.708,-110.471,Warm Spring,Ashton,Hotspring,W,W'; put '44.701,-110.036,Hot Springs,Ashton,Hotspring,W,W'; put '44.508,-110.832,Midway Picnic Ground,Ashton,Hotspring,H,H'; put '44.715,-110.555,Gas Vents,Ashton,Hotspring,H,H'; put '44.563,-110.834,River Group,Ashton,Hotspring,205,96'; put '44.544,-110.788,"Black Warrior Group, Shelf Spring",Ashton,Hotspring,205,96'; put '44.115,-110.684,Huckleberry Hot Springs,Ashton,Hotspring,B,B'; put '44.842,-110.732,Apollinaris Spring,Ashton,Hotspring,H,H'; put '44.825,-110.675,Gas Vents at Horseshoe Hill,Ashton,Hotspring,H,H'; put '44.781,-110.738,Steam Vents at Roaring Mountain,Ashton,Hotspring,H,H'; put '44.743,-110.242,Hot Spring Basin Group,Ashton,Hotspring,198,92'; put '44.752,-110.256,Hot Spring,Ashton,Hotspring,H,H'; put '44.612,-110.618,Gas Vent,Ashton,Hotspring,H,H'; put '44.741,-110.699,Gas Vent,Ashton,Hotspring,H,H'; put '44.566,-110.871,"Flat Cone Spring, Steep Cone",Ashton,Hotspring,205,96'; put '44.711,-110.468,Hot Springs,Ashton,Hotspring,H,H'; put '44.708,-110.461,Forest Springs,Ashton,Hotspring,H,H'; put '44.672,-110.236,Hot Springs,Ashton,Hotspring,H,H'; put '44.667,-110.282,Hot Springs,Ashton,Hotspring,H,H'; put '44.656,-110.572,Violet Springs,Ashton,Hotspring,H,H'; put '44.642,-110.238,Hot Spring,Ashton,Hotspring,H,H'; put '44.634,-110.234,The Mudkettles,Ashton,Hotspring,H,H'; put '44.634,-110.226,The Mushpots,Ashton,Hotspring,H,H'; put '44.532,-110.874,"Imperial Geyser, Spray Geyser",Ashton,Hotspring,192,89'; put '42.545,-106.725,Alcova Hot Springs,Casper,Hotspring,129,54'; put '42.75,-109.616,Steele Hot Springs,Lander,Hotspring,102,39'; put '43.37,-110.445,Granite Hot Spring,Driggs,Hotspring,106,41'; put '43.008,-108.835,Washakie Mineral Hot Springs,Thermopolis,Hotspring,111,44'; put '43.907,-110.198,North Buffalo Fork Springs,Driggs,Hotspring,113,45'; put '43.365,-110.443,Granite Falls Hot Springs,Driggs,Hotspring,112,45'; put '42.817,-110.997,Johnson Springs,Preston,Hotspring,115,46'; put '44.723,-110.358,Hot Spring on Moss Creek,Ashton,Hotspring,115,46'; put '44.681,-110.326,Hot Springs on Upper Sour Creek,Ashton,Hotspring,194,90'; put '41.45,-106.804,Saratoga Hot Springs,Rawlins,Hotspring,129,54'; put '44.671,-110.786,Secret Valley Hot Springs,Ashton,Hotspring,95,35'; put '44.625,-110.433,Mud Volcano,Ashton,Hotspring,131,55'; put '43.654,-108.194,Thermopolis Hot Springs,Thermopolis,Hotspring,133,56'; put '44.985,-110.689,Hot River,Ashton,Hotspring,136,58'; put '44.588,-110.341,Ebro Springs,Ashton,Hotspring,136,58'; put '44.55,-110.805,Fountain Paint Pot,Ashton,Hotspring,136,58'; put '44.169,-110.583,Snake Hot Springs,Ashton,Hotspring,136,58'; put '44.157,-110.699,Crawfish Creek Hot Springs,Ashton,Hotspring,136,58'; put '44.165,-110.723,Crawfish Creek Hot Springs,Ashton,Hotspring,138,59'; put '44.711,-110.741,Chocolate Pots,Ashton,Hotspring,124,51'; put '43.56,-109.732,Geyser (Warm Spring Creek Springs),Thermopolis,Hotspring,84,29'; put '43.489,-109.605,Jakeys Fork Spring,Thermopolis,Hotspring,68,20'; put '44.749,-108.188,Little Sheep Mountain Spring,Cody,Hotspring,68,20'; put '42.249,-104.781,Warm Springs (Immigrants Washtub),Torrington,Hotspring,70,21'; put '44.608,-108.138,Sheep Mountain Springs,Cody,Hotspring,70,21'; put '43.583,-108.213,Wind River Canyon Spring,Thermopolis,Hotspring,72,22'; put '42.702,-107.105,Horse Creek Springs,Casper,Hotspring,75,24'; put '44.511,-109.156,Needle Hot Springs,Cody,Hotspring,75,24'; put '43.52,-109.669,Little Warm Spring,Thermopolis,Hotspring,77,25'; put '43.3,-110.775,Astoria Mineral Hot Springs,Driggs,Hotspring,99,37'; put '43.543,-110.741,Abercrombie Warm Springs,Driggs,Hotspring,81,27'; put '44.513,-109.115,De Maris Springs,Cody,Hotspring,97,36'; put '42.665,-105.394,Douglas Hot Springs,Torrington,Hotspring,86,30'; put '43.471,-110.835,Boyles Hill Springs,Driggs,Hotspring,86,30'; put '43.282,-110.019,Kendall Warm Spring,Driggs,Hotspring,86,30'; put '44.662,-110.768,Iron Spring,Ashton,Hotspring,86,30'; put '42.492,-108.172,Sweetwater Station Warm Springs,Lander,Hotspring,90,32'; put '44.742,-110.579,Wolf Lake Springs,Ashton,Hotspring,91,33'; put '44.513,-109.129,Shoshone Hot Springs,Cody,Hotspring,95,35'; put '42.828,-110.999,Auburn Hot Springs,Preston,Hotspring,144,62'; put '43.639,-110.615,Kelly Warm Spring,Driggs,Hotspring,81,27'; put '44.532,-110.796,Five Sisters Springs,Ashton,Hotspring,192,89'; put '44.582,-110.314,Vermilion Springs,Ashton,Hotspring,140,60'; put '44.521,-110.275,Butte Springs,Ashton,Hotspring,187,86'; put '44.478,-110.867,Hillside Springs,Ashton,Hotspring,187,86'; put '44.752,-110.418,Hot Springs at Sevenmile Hole,Ashton,Hotspring,189,87'; put '44.401,-110.936,Hot Springs on Continental Divide,Ashton,Hotspring,189,87'; put '44.769,-110.269,Rainbow Springs,Ashton,Hotspring,190,88'; put '44.628,-110.433,Sulphur Caldron,Ashton,Hotspring,190,88'; put '44.702,-110.767,Sylvan Springs,Ashton,Hotspring,192,89'; put '44.529,-110.791,White Creek Group,Ashton,Hotspring,185,85'; put '44.564,-110.869,Queens Laundry,Ashton,Hotspring,192,89'; put '44.697,-110.375,Hot Springs on Bog Creek,Ashton,Hotspring,185,85'; put '44.285,-110.9,Bechler River Hot Springs,Ashton,Hotspring,194,90'; put '44.797,-110.725,Amphitheater Springs,Ashton,Hotspring,196,91'; put '44.766,-110.429,Washburn Hot Springs,Ashton,Hotspring,196,91'; put '44.756,-110.308,Coffee Pot Hot Springs,Ashton,Hotspring,196,91'; put '44.591,-110.321,Hot Springs at Sulphur Hills,Ashton,Hotspring,196,91'; put '44.556,-110.832,River Group,Ashton,Hotspring,196,91'; put '44.422,-110.574,West Thumb Geyser Basin,Ashton,Hotspring,196,91'; put '44.786,-110.74,Semi-Centennial Geyser,Ashton,Hotspring,198,92'; put '44.653,-110.482,Sulphur Springs,Ashton,Hotspring,194,89'; put '44.41,-110.953,Summit Lake Hot Springs,Ashton,Hotspring,162,72'; put '44.761,-110.73,Bijah Spring,Ashton,Hotspring,198,92'; put '44.781,-110.699,Whiterock Springs,Ashton,Hotspring,144,62'; put '44.739,-110.258,Hot Spring Basin Group,Ashton,Hotspring,153,67'; put '44.754,-110.403,Sevenmile Hole,Ashton,Hotspring,154,68'; put '44.276,-110.636,Hot Springs on Lewis Lake,Ashton,Hotspring,154,68'; put '44.598,-110.236,Hot Springs In Pelican Valley,Ashton,Hotspring,156,69'; put '44.142,-110.656,South Entrance Hot Springs,Ashton,Hotspring,156,69'; put '44.753,-110.724,"Roadside Springs, Frying Pan Sprin",Ashton,Hotspring,158,70'; put '44.733,-110.712,Horseshoe Spring,Ashton,Hotspring,187,86'; put '43.958,-110.696,Jackson Lake Hot Springs,Driggs,Hotspring,162,72'; put '44.187,-110.726,Hot Springs,Ashton,Hotspring,142,61'; put '44.967,-110.708,Mammoth Hot Springs,Ashton,Hotspring,163,73'; put '44.475,-110.843,Morning Glory Pool,Ashton,Hotspring,163,73'; put '44.204,-110.486,Hot Springs on Upper Snake River,Ashton,Hotspring,167,75'; put '44.299,-110.517,"Heart Lake Geyser Basin, Middle Gr",Ashton,Hotspring,174,79'; put '44.671,-110.29,Ponuntpa Springs Group,Ashton,Hotspring,180,82'; put '44.244,-111.022,Boundary Creek Hot Springs,Ashton,Hotspring,181,83'; put '44.414,-110.817,"Lone Star Geyser Basin, Footbridge",Ashton,Hotspring,183,84'; put '44.722,-110.701,Echinus Geyser,Ashton,Hotspring,185,85'; put '44.461,-110.854,Emerald Pool,Ashton,Hotspring,158,70'; put ';;;;'; put 'run;'; put '* ServiceInit end;'; put '* Service start;'; put '/**'; put '@file appinit.sas'; put '@brief Initialisation service - runs on app startup'; put '@details This is always the first service called when the app is opened.'; put 'The deployed code includes the `serviceinit.sas`, as defined in the'; put '`sasjs/sasjsconfig.json` file.'; put '

SAS Macros

'; put '**/'; put 'proc sql;'; put 'create table areas as select distinct area'; put 'from mydb.springs;'; put '%webout(OPEN)'; put '%webout(OBJ,areas)'; put '%webout(CLOSE)'; put '* Service end;'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=getdata; filename sascode temp lrecl=32767; data _null_; file sascode; put '%macro mf_getuser('; put ')/*/STORE SOURCE*/;'; put '%local user;'; put '%if %symexist(_sasjs_username) %then %let user=&_sasjs_username;'; put '%else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do;'; put '%let user=&SYS_COMPUTE_SESSION_OWNER;'; put '%end;'; put '%else %if %symexist(_metaperson) %then %do;'; put '%if %length(&_metaperson)=0 %then %let user=&sysuserid;'; put '/* sometimes SAS will add @domain extension - remove for consistency */'; put '/* but be sure to quote in case of usernames with commas */'; put '%else %let user=%unquote(%scan(%quote(&_metaperson),1,@));'; put '%end;'; put '%else %let user=&sysuserid;'; put '%quote(&user)'; put '%mend mf_getuser;'; put '/**'; put '@file mp_jsonout.sas'; put '@brief Writes JSON in SASjs format to a fileref'; put '@details This macro can be used to OPEN a JSON stream and send one or more'; put 'tables as arrays of rows, where each row can be an object or a nested array.'; put 'There are two engines available - DATASTEP or PROCJSON.'; put 'PROC JSON is fast but will produce errs like the ones below if'; put 'special chars are encountered.'; put '> (ERR)OR: Some code points did not transcode.'; put '> An object or array close is not valid at this point in the JSON text.'; put '> Date value out of range'; put 'If this happens, try running with ENGINE=DATASTEP.'; put 'The DATASTEP engine is used to handle special SAS missing numerics, and'; put 'can also convert entire datasets to formatted values. Output JSON is always'; put 'in UTF-8.'; put 'Usage:'; put 'filename tmp temp;'; put 'data class; set sashelp.class;run;'; put '%mp_jsonout(OPEN,jref=tmp)'; put '%mp_jsonout(OBJ,class,jref=tmp)'; put '%mp_jsonout(OBJ,class,dslabel=class2,jref=tmp,showmeta=Y)'; put '%mp_jsonout(CLOSE,jref=tmp)'; put 'data _null_;'; put 'infile tmp;'; put 'input;putlog _infile_;'; put 'run;'; put 'If you are building web apps with SAS then you are strongly encouraged to use'; put 'the mX_createwebservice macros in combination with the'; put '[sasjs adapter](https://github.com/sasjs/adapter).'; put 'For more information see https://sasjs.io'; put '@param [in] action Valid values:'; put '@li OPEN - opens the JSON'; put '@li OBJ - sends a table with each row as an object'; put '@li ARR - sends a table with each row in an array'; put '@li CLOSE - closes the JSON'; put '@param [in] ds The dataset to send. Must be a work table.'; put '@param [out] jref= (_webout) The fileref to which to send the JSON'; put '@param [out] dslabel= The name to give the table in the exported JSON'; put '@param [in] fmt= (Y) Whether to keep (Y) or strip (N) formats from the table'; put '@param [in] engine= (DATASTEP) Which engine to use to send the JSON. Options:'; put '@li PROCJSON (default)'; put '@li DATASTEP (more reliable when data has non standard characters)'; put '@param [in] missing= (NULL) Special numeric missing values can be sent as NULL'; put '(eg `null`) or as STRING values (eg `".a"` or `".b"`)'; put '@param [in] showmeta= (N) Set to Y to output metadata alongside each table,'; put 'such as the column formats and types. The metadata is contained inside an'; put 'object with the same name as the table but prefixed with a dollar sign - ie,'; put '`,"$tablename":{"formats":{"col1":"$CHAR1"},"types":{"COL1":"C"}}`'; put '@param [in] maxobs= (MAX) Provide an integer to limit the number of input rows'; put 'that should be converted to JSON'; put '

Related Files

'; put '@li mp_ds2fmtds.sas'; put '@version 9.2'; put '@author Allan Bowe'; put '@source https://github.com/sasjs/core'; put '**/'; put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y'; put ',engine=DATASTEP'; put ',missing=NULL'; put ',showmeta=N'; put ',maxobs=MAX'; put ')/*/STORE SOURCE*/;'; put '%local tempds colinfo fmtds i numcols numobs stmt_obs lastobs optval'; put 'tmpds1 tmpds2 tmpds3 tmpds4;'; put '%let numcols=0;'; put '%if &maxobs ne MAX %then %let stmt_obs=%str(if _n_>&maxobs then stop;);'; put '%if &action=OPEN %then %do;'; put 'options nobomfile;'; put 'data _null_;file &jref encoding=''utf-8'' lrecl=200;'; put 'put ''{"PROCESSED_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''"'';'; put 'run;'; put '%end;'; put '%else %if (&action=ARR or &action=OBJ) %then %do;'; put '/* force variable names to always be uppercase in the JSON */'; put 'options validvarname=upcase;'; put '/* To avoid issues with _webout on EBI - such as encoding diffs and truncation'; put '(https://support.sas.com/kb/49/325.html) we use temporary files */'; put 'filename _sjs1 temp lrecl=200 ;'; put 'data _null_; file _sjs1 encoding=''utf-8'';'; put 'put ", ""%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":";'; put 'run;'; put '/* now write to _webout 1 char at a time */'; put 'data _null_;'; put 'infile _sjs1 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs1 clear;'; put '/* grab col defs */'; put 'proc contents noprint data=&ds'; put 'out=_data_(keep=name type length format formatl formatd varnum label);'; put 'run;'; put '%let colinfo=%scan(&syslast,2,.);'; put 'proc sort data=&colinfo;'; put 'by varnum;'; put 'run;'; put '/* move meta to mac vars */'; put 'data &colinfo;'; put 'if _n_=1 then call symputx(''numcols'',nobs,''l'');'; put 'set &colinfo end=last nobs=nobs;'; put 'name=upcase(name);'; put '/* fix formats */'; put 'if type=2 or type=6 then do;'; put 'typelong=''char'';'; put 'length fmt $49.;'; put 'if format='''' then fmt=cats(''$'',length,''.'');'; put 'else if formatl=0 then fmt=cats(format,''.'');'; put 'else fmt=cats(format,formatl,''.'');'; put 'end;'; put 'else do;'; put 'typelong=''num'';'; put 'if format='''' then fmt=''best.'';'; put 'else if formatl=0 then fmt=cats(format,''.'');'; put 'else if formatd=0 then fmt=cats(format,formatl,''.'');'; put 'else fmt=cats(format,formatl,''.'',formatd);'; put 'end;'; put '/* 32 char unique name */'; put 'newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27);'; put 'call symputx(cats(''name'',_n_),name,''l'');'; put 'call symputx(cats(''newname'',_n_),newname,''l'');'; put 'call symputx(cats(''length'',_n_),length,''l'');'; put 'call symputx(cats(''fmt'',_n_),fmt,''l'');'; put 'call symputx(cats(''type'',_n_),type,''l'');'; put 'call symputx(cats(''typelong'',_n_),typelong,''l'');'; put 'call symputx(cats(''label'',_n_),coalescec(label,name),''l'');'; put '/* overwritten when fmt=Y and a custom format exists in catalog */'; put 'if typelong=''num'' then call symputx(cats(''fmtlen'',_n_),200,''l'');'; put 'else call symputx(cats(''fmtlen'',_n_),min(32767,ceil((length+10)*1.5)),''l'');'; put 'run;'; put '%let tempds=%substr(_%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put 'proc sql;'; put 'select count(*) into: lastobs from &ds;'; put '%if &maxobs ne MAX %then %let lastobs=%sysfunc(min(&lastobs,&maxobs));'; put '%if &engine=PROCJSON %then %do;'; put '%if &missing=STRING %then %do;'; put '%put &sysmacroname: Special Missings not supported in proc json.;'; put '%put &sysmacroname: Switching to DATASTEP engine;'; put '%goto datastep;'; put '%end;'; put 'data &tempds;'; put 'set &ds;'; put '&stmt_obs;'; put '%if &fmt=N %then format _numeric_ best32.;;'; put '/* PRETTY is necessary to avoid line truncation in large files */'; put 'filename _sjs2 temp lrecl=131068 encoding=''utf-8'';'; put 'proc json out=_sjs2 pretty'; put '%if &action=ARR %then nokeys ;'; put ';export &tempds / nosastags fmtnumeric;'; put 'run;'; put '/* send back to webout */'; put 'data _null_;'; put 'infile _sjs2 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs2 clear;'; put '%end;'; put '%else %if &engine=DATASTEP %then %do;'; put '%datastep:'; put '%if %sysfunc(exist(&ds)) ne 1 & %sysfunc(exist(&ds,VIEW)) ne 1'; put '%then %do;'; put '%put &sysmacroname: &ds NOT FOUND!!!;'; put '%return;'; put '%end;'; put '%if &fmt=Y %then %do;'; put '/**'; put '* Extract format definitions'; put '* First, by getting library locations from dictionary.formats'; put '* Then, by exporting the width using proc format'; put '* Cannot use maxw from sashelp.vformat as not always populated'; put '* Cannot use fmtinfo() as not supported in all flavours'; put '*/'; put '%let tmpds1=%substr(fmtsum%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds2=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds3=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds4=%substr(col%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put 'proc sql noprint;'; put 'create table &tmpds1 as'; put 'select cats(libname,''.'',memname) as FMTCAT,'; put 'FMTNAME'; put 'from dictionary.formats'; put 'where fmttype=''F'' and libname is not null'; put 'and fmtname in (select format from &colinfo where format is not null)'; put 'order by 1;'; put 'create table &tmpds2('; put 'FMTNAME char(32),'; put 'LENGTH num'; put ');'; put '%local catlist cat fmtlist i;'; put 'select distinct fmtcat into: catlist separated by '' '' from &tmpds1;'; put '%do i=1 %to %sysfunc(countw(&catlist,%str( )));'; put '%let cat=%scan(&catlist,&i,%str( ));'; put 'proc sql;'; put 'select distinct fmtname into: fmtlist separated by '' '''; put 'from &tmpds1 where fmtcat="&cat";'; put 'proc format lib=&cat cntlout=&tmpds3(keep=fmtname length);'; put 'select &fmtlist;'; put 'run;'; put 'proc sql;'; put 'insert into &tmpds2 select distinct fmtname,length from &tmpds3;'; put '%end;'; put 'proc sql;'; put 'create table &tmpds4 as'; put 'select a.*, b.length as MAXW'; put 'from &colinfo a'; put 'left join &tmpds2 b'; put 'on cats(a.format)=cats(upcase(b.fmtname))'; put 'order by a.varnum;'; put 'data _null_;'; put 'set &tmpds4;'; put 'if not missing(maxw);'; put 'call symputx('; put 'cats(''fmtlen'',_n_),'; put '/* vars need extra padding due to JSON escaping of special chars */'; put 'min(32767,ceil((max(length,maxw)+10)*1.5))'; put ',''l'''; put ');'; put 'run;'; put '/* configure varlenchk - as we are explicitly shortening the variables */'; put '%let optval=%sysfunc(getoption(varlenchk));'; put 'options varlenchk=NOWARN;'; put 'data _data_(compress=char);'; put '/* shorten the new vars */'; put 'length'; put '%do i=1 %to &numcols;'; put '&&name&i $&&fmtlen&i'; put '%end;'; put ';'; put '/* rename on entry */'; put 'set &ds(rename=('; put '%do i=1 %to &numcols;'; put '&&name&i=&&newname&i'; put '%end;'; put '));'; put '&stmt_obs;'; put 'drop'; put '%do i=1 %to &numcols;'; put '&&newname&i'; put '%end;'; put ';'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=num %then %do;'; put '&&name&i=cats(put(&&newname&i,&&fmt&i));'; put '%end;'; put '%else %do;'; put '&&name&i=put(&&newname&i,&&fmt&i);'; put '%end;'; put '%end;'; put 'if _error_ then do;'; put 'call symputx(''syscc'',1012);'; put 'stop;'; put 'end;'; put 'run;'; put '%let fmtds=&syslast;'; put 'options varlenchk=&optval;'; put '%end;'; put 'proc format; /* credit yabwon for special null removal */'; put 'value bart (default=40)'; put '%if &missing=NULL %then %do;'; put '._ - .z = null'; put '%end;'; put '%else %do;'; put '._ = [quote()]'; put '. = null'; put '.a - .z = [quote()]'; put '%end;'; put 'other = [best.];'; put 'data &tempds;'; put 'attrib _all_ label='''';'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=char or &fmt=Y %then %do;'; put 'length &&name&i $&&fmtlen&i...;'; put 'format &&name&i $&&fmtlen&i...;'; put '%end;'; put '%end;'; put '%if &fmt=Y %then %do;'; put 'set &fmtds;'; put '%end;'; put '%else %do;'; put 'set &ds;'; put '%end;'; put '&stmt_obs;'; put 'format _numeric_ bart.;'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=char or &fmt=Y %then %do;'; put 'if findc(&&name&i,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put '&&name&i=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,&&name&i)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else &&name&i=quote(cats(&&name&i));'; put '%end;'; put '%end;'; put 'run;'; put 'filename _sjs3 temp lrecl=131068 ;'; put 'data _null_;'; put 'file _sjs3 encoding=''utf-8'';'; put 'if _n_=1 then put "[";'; put 'set &tempds;'; put 'if _n_>1 then put "," @; put'; put '%if &action=ARR %then "[" ; %else "{" ;'; put '%do i=1 %to &numcols;'; put '%if &i>1 %then "," ;'; put '%if &action=OBJ %then """&&name&i"":" ;'; put '"&&name&i"n /* name literal for reserved variable names */'; put '%end;'; put '%if &action=ARR %then "]" ; %else "}" ; ;'; put '/* close out the table */'; put 'data _null_;'; put 'file _sjs3 mod encoding=''utf-8'';'; put 'put '']'';'; put 'run;'; put 'data _null_;'; put 'infile _sjs3 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs3 clear;'; put '%end;'; put 'proc sql;'; put 'drop table &colinfo, &tempds;'; put '%if %substr(&showmeta,1,1)=Y %then %do;'; put 'filename _sjs4 temp lrecl=131068 encoding=''utf-8'';'; put 'data _null_;'; put 'file _sjs4;'; put 'length label $350;'; put 'put ", ""$%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":{""vars"":{";'; put 'do i=1 to &numcols;'; put 'name=quote(trim(symget(cats(''name'',i))));'; put 'format=quote(trim(symget(cats(''fmt'',i))));'; put 'label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i)))));'; put 'length=quote(trim(symget(cats(''length'',i))));'; put 'type=quote(trim(symget(cats(''typelong'',i))));'; put 'if i>1 then put "," @@;'; put 'put name '':{"format":'' format '',"label":'' label'; put ''',"length":'' length '',"type":'' type ''}'';'; put 'end;'; put 'put ''}}'';'; put 'run;'; put '/* send back to webout */'; put 'data _null_;'; put 'infile _sjs4 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs4 clear;'; put '%end;'; put '%end;'; put '%else %if &action=CLOSE %then %do;'; put 'data _null_; file &jref encoding=''utf-8'' mod ;'; put 'put "}";'; put 'run;'; put '%end;'; put '%mend mp_jsonout;'; put '/**'; put '@file mm_webout.sas'; put '@brief Send data to/from SAS Stored Processes'; put '@details This macro should be added to the start of each Stored Process,'; put '**immediately** followed by a call to:'; put '%mm_webout(FETCH)'; put 'This will read all the input data and create same-named SAS datasets in the'; put 'WORK library. You can then insert your code, and send data back using the'; put 'following syntax:'; put 'data some datasets; * make some data ;'; put 'retain some columns;'; put 'run;'; put '%mm_webout(OPEN)'; put '%mm_webout(ARR,some) * Array format, fast, suitable for large tables ;'; put '%mm_webout(OBJ,datasets) * Object format, easier to work with ;'; put 'Finally, wrap everything up send some helpful system variables too'; put '%mm_webout(CLOSE)'; put '@param [in] action Either FETCH, OPEN, ARR, OBJ or CLOSE'; put '@param [in] ds The dataset to send back to the frontend'; put '@param [out] dslabel= Value to use instead of table name for sending to JSON'; put '@param [in] fmt= (N) Setting Y converts all vars to their formatted values'; put '@param [out] fref= (_webout) The fileref to which to write the JSON'; put '@param [in] missing= (NULL) Special numeric missing values can be sent as NULL'; put '(eg `null`) or as STRING values (eg `".a"` or `".b"`)'; put '@param [in] showmeta= (N) Set to Y to output metadata alongside each table,'; put 'such as the column formats and types. The metadata is contained inside an'; put 'object with the same name as the table but prefixed with a dollar sign - ie,'; put '`,"$tablename":{"formats":{"col1":"$CHAR1"},"types":{"COL1":"C"}}`'; put '@param [in] workobs= (0) When set to a positive integer, will create a new'; put 'output object (WORK) which contains this number of observations from all'; put 'tables in the WORK library.'; put '@param [in] maxobs= (MAX) Provide an integer to limit the number of input rows'; put 'that should be converted to output JSON'; put '

SAS Macros

'; put '@li mp_jsonout.sas'; put '

Related Macros

'; put '@li ms_webout.sas'; put '@li mv_webout.sas'; put '@version 9.3'; put '@author Allan Bowe'; put '**/'; put '%macro mm_webout(action,ds,dslabel=,fref=_webout,fmt=N,missing=NULL'; put ',showmeta=N,maxobs=MAX,workobs=0'; put ');'; put '%global _webin_file_count _webin_fileref1 _webin_name1 _program _debug'; put 'sasjs_tables;'; put '%local i tempds jsonengine;'; put '/* see https://github.com/sasjs/core/issues/41 */'; put '%if "%upcase(&SYSENCODING)" ne "UTF-8" %then %let jsonengine=PROCJSON;'; put '%else %let jsonengine=DATASTEP;'; put '%if &action=FETCH %then %do;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'options mprint notes mprintnest;'; put '%end;'; put '%let _webin_file_count=%eval(&_webin_file_count+0);'; put '/* now read in the data */'; put '%do i=1 %to &_webin_file_count;'; put '%if &_webin_file_count=1 %then %do;'; put '%let _webin_fileref1=&_webin_fileref;'; put '%let _webin_name1=&_webin_name;'; put '%end;'; put 'data _null_;'; put 'infile &&_webin_fileref&i termstr=crlf;'; put 'input;'; put 'call symputx(''input_statement'',_infile_);'; put 'putlog "&&_webin_name&i input statement: " _infile_;'; put 'stop;'; put 'data &&_webin_name&i;'; put 'infile &&_webin_fileref&i firstobs=2 dsd termstr=crlf encoding=''utf-8'';'; put 'input &input_statement;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'if _n_<20 then putlog _infile_;'; put '%end;'; put 'run;'; put '%let sasjs_tables=&sasjs_tables &&_webin_name&i;'; put '%end;'; put '%end;'; put '%else %if &action=OPEN %then %do;'; put '/* fix encoding */'; put 'OPTIONS NOBOMFILE;'; put '/**'; put '* check xengine type to avoid the below err message:'; put '* > Function is only valid for filerefs using the CACHE access method.'; put '*/'; put 'data _null_;'; put 'set sashelp.vextfl(where=(fileref="_WEBOUT"));'; put 'if xengine=''STREAM'' then do;'; put 'rc=stpsrv_header(''Content-type'',"text/html; encoding=utf-8");'; put 'end;'; put 'run;'; put '/* setup json */'; put 'data _null_;file &fref encoding=''utf-8'';'; put '%if %str(&_debug) ge 131 %then %do;'; put 'put ''>>weboutBEGIN<<'';'; put '%end;'; put 'put ''{"SYSDATE" : "'' "&SYSDATE" ''"'';'; put 'put '',"SYSTIME" : "'' "&SYSTIME" ''"'';'; put 'run;'; put '%end;'; put '%else %if &action=ARR or &action=OBJ %then %do;'; put '%mp_jsonout(&action,&ds,dslabel=&dslabel,fmt=&fmt,jref=&fref'; put ',engine=&jsonengine,missing=&missing,showmeta=&showmeta,maxobs=&maxobs'; put ')'; put '%end;'; put '%else %if &action=CLOSE %then %do;'; put '/* To avoid issues with _webout on EBI we use a temporary file */'; put 'filename _sjsref temp lrecl=131068;'; put '%if %str(&workobs) > 0 %then %do;'; put '/* if debug mode, send back first XX records of each work table also */'; put 'data;run;%let tempds=%scan(&syslast,2,.);'; put 'ods output Members=&tempds;'; put 'proc datasets library=WORK memtype=data;'; put '%local wtcnt;%let wtcnt=0;'; put 'data _null_;'; put 'set &tempds;'; put 'if not (upcase(name) =:"DATA"); /* ignore temp datasets */'; put 'i+1;'; put 'call symputx(cats(''wt'',i),name,''l'');'; put 'call symputx(''wtcnt'',i,''l'');'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put ",""WORK"":{";'; put '%do i=1 %to &wtcnt;'; put '%let wt=&&wt&i;'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'dsid=open("WORK.&wt",''is'');'; put 'nlobs=attrn(dsid,''NLOBS'');'; put 'nvars=attrn(dsid,''NVARS'');'; put 'rc=close(dsid);'; put 'if &i>1 then put '',''@;'; put 'put " ""&wt"" : {";'; put 'put ''"nlobs":'' nlobs;'; put 'put '',"nvars":'' nvars;'; put '%mp_jsonout(OBJ,&wt,jref=_sjsref,dslabel=first10rows,showmeta=Y'; put ',maxobs=&workobs'; put ')'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put "}";'; put '%end;'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put "}";'; put 'run;'; put '%end;'; put '/* close off json */'; put 'data _null_;file _sjsref mod encoding=''utf-8'';'; put 'length SYSPROCESSNAME syserrortext syswarningtext autoexec $512;'; put 'put ",""_DEBUG"" : ""&_debug"" ";'; put '_METAUSER=quote(trim(symget(''_METAUSER'')));'; put 'put ",""_METAUSER"": " _METAUSER;'; put '_METAPERSON=quote(trim(symget(''_METAPERSON'')));'; put 'put '',"_METAPERSON": '' _METAPERSON;'; put '_PROGRAM=quote(trim(resolve(symget(''_PROGRAM''))));'; put 'put '',"_PROGRAM" : '' _PROGRAM ;'; put 'autoexec=quote(urlencode(trim(getoption(''autoexec''))));'; put 'put '',"AUTOEXEC" : '' autoexec;'; put 'put ",""MF_GETUSER"" : ""%mf_getuser()"" ";'; put 'put ",""SYSCC"" : ""&syscc"" ";'; put 'put ",""SYSENCODING"" : ""&sysencoding"" ";'; put 'syserrortext=cats(symget(''syserrortext''));'; put 'if findc(syserrortext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syserrortext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syserrortext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syserrortext=cats(''"'',syserrortext,''"'');'; put 'put '',"SYSERRORTEXT" : '' syserrortext;'; put 'put ",""SYSHOSTNAME"" : ""&syshostname"" ";'; put 'put ",""SYSPROCESSID"" : ""&SYSPROCESSID"" ";'; put 'put ",""SYSPROCESSMODE"" : ""&SYSPROCESSMODE"" ";'; put 'SYSPROCESSNAME=quote(urlencode(cats(SYSPROCESSNAME)));'; put 'put ",""SYSPROCESSNAME"" : " SYSPROCESSNAME;'; put 'put ",""SYSJOBID"" : ""&sysjobid"" ";'; put 'put ",""SYSSCPL"" : ""&sysscpl"" ";'; put 'put ",""SYSSITE"" : ""&syssite"" ";'; put 'put ",""SYSUSERID"" : ""&sysuserid"" ";'; put 'sysvlong=quote(trim(symget(''sysvlong'')));'; put 'put '',"SYSVLONG" : '' sysvlong;'; put 'syswarningtext=cats(symget(''syswarningtext''));'; put 'if findc(syswarningtext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syswarningtext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syswarningtext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syswarningtext=cats(''"'',syswarningtext,''"'');'; put 'put '',"SYSWARNINGTEXT" : '' syswarningtext;'; put 'put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" '';'; put 'length memsize $32;'; put 'memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)";'; put 'memsize=quote(cats(memsize));'; put 'put '',"MEMSIZE" : '' memsize;'; put 'put "}" @;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'put ''>>weboutEND<<'';'; put '%end;'; put 'run;'; put '/* now write to _webout 1 char at a time */'; put 'data _null_;'; put 'infile _sjsref lrecl=1 recfm=n;'; put 'file &fref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjsref clear;'; put '%end;'; put '%mend mm_webout;'; put '%macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);'; put '%mm_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt'; put ',missing=&missing'; put ',showmeta=&showmeta'; put ',maxobs=&maxobs'; put ') %mend;'; put '/* provide additional debug info */'; put '%global _program;'; put '%put &=syscc;'; put '%put user=%mf_getuser();'; put '%put pgm=&_program;'; put '%put timestamp=%sysfunc(datetime(),datetime19.);'; put '* Service Variables start;'; put '* Service Variables end;'; put '* SAS Macros start;'; put '* SAS Macros end;'; put '* SAS Includes start;'; put '* SAS Includes end;'; put '* Binary Files start;'; put '* Binary Files end;'; put '* ServiceInit start;'; put 'libname mydb (work);'; put 'data mydb.springs ;'; put 'attrib'; put 'Latitude length= 8'; put 'Longitude length= 8'; put 'Name length= $34'; put 'Area length= $14'; put 'Type length= $9'; put 'Farenheit length= 8'; put 'Celsius length= 8'; put ';'; put 'infile cards dsd;'; put 'input'; put 'Latitude'; put 'Longitude'; put 'Name :$char.'; put 'Area :$char.'; put 'Type :$char.'; put 'Farenheit'; put 'Celsius'; put ';'; put 'missing a b c d e f g h i j k l m n o p q r s t u v w x y z _;'; put 'datalines4;'; put '51.925,-177.16,Fumaroles on Kanaga Island,Adak,Hotspring,219,104'; put '65.858,-164.71,Serpentine Hot Springs,Bendeleben,Hotspring,171,77'; put '53.851,-166.918,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,H,H'; put '53.877,-166.448,Hot Springs Near Summer Bay,Unalaska,Hotspring,H,H'; put '52.27,-174.042,Hot Springs on Atka Island,Atka,Hotspring,H,H'; put '52.34,-174.26,Hot Springs on Atka Island,Atka,Hotspring,H,H'; put '52.358,-172.317,Hot Spring on Seguam Island,Seguam,Hotspring,H,H'; put '52.84,-169.9,Chuginadak Hot Springs,Samalga Island,Hotspring,H,H'; put '52.96,-169.71,Hot Spring on Kagamil Island,Samalga Island,Hotspring,H,H'; put '51.94,-178.5,Hot Spring on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '51.963,-178.491,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '51.775,-178.793,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,H,H'; put '53.207,-168.445,Hot Springs Near Geyser Bight,Umnak,Hotspring,H,H'; put '53.892,-166.93,Makushin Volcano Fumaroles,Unalaska,Hotspring,310,154'; put '54.9,-162.885,Hot Spring on Amagat Island,False Pass,Hotspring,H,H'; put '53.213,-168.463,Hot Springs Near Geyser Bight,Umnak,Hotspring,216,102'; put '53.223,-168.477,Hot Springs Near Geyser Bight,Umnak,Hotspring,214,101'; put '53.443,-168.092,Thermal Springs In Okmok Caldera,Umnak,Hotspring,212,100'; put '52.042,-176.108,Hot Springs on Great Sitkin Island,Adak,Hotspring,210,99'; put '55.983,-131.661,Bailey Hot Spring,Ketchikan,Hotspring,198,92'; put '53.242,-168.365,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,192,89'; put '54.157,-165.85,Hot Springs Near Hot Springs Bay,Unimak,Hotspring,181,83'; put '58.033,-136.017,Hot Springs North End Tenakee Inle,Mt. Fairweathe,Hotspring,180,82'; put '65.093,-164.922,Pilgrim Springs,Bendeleben,Hotspring,178,81'; put '57.831,-156.513,W Ukinek Spring,Ugashik,Hotspring,178,81'; put '65.459,-153.312,Little Melozitna Hot Springs,Melozitna,Hotspring,176,80'; put '51.81,-177.79,Hot Spring on Tanaga Island,Adak,Hotspring,H,H'; put '65.233,-144.483,Hot Springs on Big Windy Creek,Circle,Hotspring,H,H'; put '55.334,-162.137,Hot Spring at West End Emmons Lake,Cold Bay,Hotspring,68,20'; put '66.197,-154.006,Tunalkten Lake Hot Spring,Hughes,Hotspring,.,.'; put '67.403,-153.883,Hot Spring Near Arrigetch Peaks,Survey Pass,Hotspring,W,W'; put '65.047,-142.848,Hot Spring on Flat Creek,Charley River,Hotspring,W,W'; put '63.683,-151.233,Hot Springs Near Glacier,Mt. Mckinley,Hotspring,W,W'; put '63.883,-150.717,Hot Springs East of Diamond,Mt. Mckinley,Hotspring,W,W'; put '62.45,-157.933,Hot Spring Near Flat,Iditarod,Hotspring,W,W'; put '60.837,-142.42,Hot Spring on Twelvemile Creek,Bering Glacier,Hotspring,W,W'; put '56.58,-132.18,South Stikine Spring,Petersburg,Hotspring,W,W'; put '52.87,-173.13,Hot Spring on Attu Island,Attu,Hotspring,W,W'; put '65.908,-154.993,Deniktow Ridge Hot Springs,Melozitna,Hotspring,H,H'; put '53.95,-168.037,Hot Springs on Bogoslof Island,Umnak,Hotspring,H,H'; put '65.45,-150,Hot Spring Near Little Minook Cr,Tanana,Hotspring,H,H'; put '51.967,-178.444,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '64.002,-156.3,Hot Spring on Tributary of Innoko,Nulato,Hotspring,H,H'; put '61.058,-160.692,Hot Spring Near Tuluksak River,Russian Missio,Hotspring,H,H'; put '61.363,-157.733,Hot Springs on Upper Chuilnuk Rive,Sleetmute,Hotspring,H,H'; put '61.267,-151.238,Hot Lake In Bottom of Crater Peak,Tyonek,Hotspring,H,H'; put '58.24,-155.09,Hot Spring Near Katmai Pass,Mt. Katmai,Hotspring,H,H'; put '58.27,-154.89,Hot Springs Near Mt Katmai,Mt. Katmai,Hotspring,H,H'; put '58.92,-153.98,Hot Spring West of Cape Douglas,Afognak,Hotspring,H,H'; put '55.368,-161.961,Fumarole,Port Moller,Hotspring,H,H'; put '54.18,-165.41,Hot Springs on Akun Island,Unimak,Hotspring,H,H'; put '54.23,-165.66,Hot Springs on Akun Island,Unimak,Hotspring,H,H'; put '54.66,-164.55,Hot Spring on Unimak Island,Unimak,Hotspring,H,H'; put '65.97,-154.033,Pocahontas Hot Springs,Melozitna,Hotspring,H,H'; put '65.216,-149.993,Hutlinana Hot Springs,Livengood,Hotspring,109,43'; put '57.085,-134.839,Baranof Warm Springs,Sitka,Hotspring,124,51'; put '67.283,-155.067,Reed River Hot Spring,Survey Pass,Hotspring,122,50'; put '66.15,-157.117,Hot Springs Near South Bm,Shungnak,Hotspring,122,50'; put '66.233,-157.583,Hot Springs on Hawk River,Shungnak,Hotspring,122,50'; put '65.81,-151.237,Kilo Hot Spring,Tanana,Hotspring,122,50'; put '56.717,-132.005,Chief Shakes Hot Springs,Petersburg,Hotspring,122,50'; put '69.33,-144.044,Okpilak Springs,Mt. Michelson,Hotspring,119,49'; put '65.367,-161.25,Granite Mountain Hot Springs,Candle,Hotspring,120,49'; put '57.644,-135.333,Nylen Hot Springs,Sitka,Hotspring,120,49'; put '65.963,-150.919,Ray River Hot Spring,Tanana,Hotspring,117,47'; put '64.924,-154.837,Horner Hot Springs,Ruby,Hotspring,117,47'; put '65.267,-155.28,Hot Springs Near Dulbi River,Melozitna,Hotspring,126,52'; put '57.807,-136.341,White Sulphur Springs (Hooniah H S,Sitka,Hotspring,111,44'; put '57.781,-135.217,Tenakee Hot Springs,Sitka,Hotspring,109,43'; put '52.19,-174.25,Hot Springs on Atka Island,Atka,Hotspring,167,75'; put '55.334,-133.641,Dalton (Craig) Hot Springs,Craig,Hotspring,109,43'; put '51.944,-178.547,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '57.771,-135.82,Hot Spring North Arm Peril Strait,Sitka,Hotspring,100,38'; put '53.848,-166.873,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,94,34'; put '69.627,-146.027,Red Hill Spring,Mt. Michelson,Hotspring,91,33'; put '62.081,-145.007,Upper Klawasi Warm Springs,Gulkana,Hotspring,86,30'; put '62.058,-145.222,Mineral Spring (Lower Klawasi Cone,Gulkana,Hotspring,82,28'; put '56.68,-131.882,Barnes Lake Hot Springs,Bradfield Cana,Hotspring,79,26'; put '56.928,-158.12,Surprise Lake Hot Spring,Chignik,Hotspring,73,23'; put '56.667,-132.28,Twin Lakes Hot Springs,Petersburg,Hotspring,70,21'; put '66.383,-157.517,Warm Spring Near Purcell Mountain,Shungnak,Hotspring,68,20'; put '57.348,-135.385,Hot Spring Near Fish Bay,Sitka,Hotspring,117,47'; put '65.983,-150.56,Hot Springs on Lower Ray River,Tanana,Hotspring,142,61'; put '55.863,-160.493,Hot Spring Near Port Moller,Port Moller,Hotspring,160,71'; put '53.253,-168.358,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,158,70'; put '51.97,-176.61,Hot Springs on Adak Island,Adak,Hotspring,154,68'; put '65.053,-146.057,Chena Hot Springs,Circle,Hotspring,153,67'; put '58.37,-137.09,Hot Springs Near Icy Point,Mt. Fairweathe,Hotspring,153,67'; put '56.836,-135.374,Goddard Hot Springs,Port Alexander,Hotspring,153,67'; put '66.342,-150.85,Kanuti Hot Springs,Bettles,Hotspring,151,66'; put '64.85,-162.3,Clear Creek Hot Springs,Solomon,Hotspring,149,65'; put '53.233,-168.3,Hot Spring on Umnak Island,Umnak,Hotspring,149,65'; put '61.2,-159.863,Hot Springs Near Ophir Creek,Russian Missio,Hotspring,145,63'; put '57.865,-156.499,Gas Rocks Hot Spring,Ugashik,Hotspring,127,53'; put '51.762,-178.77,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,144,62'; put '66.367,-156.767,Hot Springs Near Division Bm,Shungnak,Hotspring,140,60'; put '64.7,-162.467,Hot Spring Near Kwiniuk River,Solomon,Hotspring,106,41'; put '65.274,-148.847,Tolovana Hot Springs,Livengood,Hotspring,140,60'; put '55.933,-131.559,Bell Island Hot Springs,Ketchikan,Hotspring,165,74'; put '57.178,-157.015,Hot Spring Near Mother Goose Lake,Ugashik,Hotspring,138,59'; put '65.483,-144.637,Circle Hot Springs,Circle,Hotspring,135,57'; put '56.233,-131.267,Bradfield Canal Hot Springs,Bradfield Cana,Hotspring,135,57'; put '65.006,-150.633,Manley Hot Springs,Tanana,Hotspring,133,56'; put '65.129,-154.692,Melozi (Melozitna) Springs,Melozitna,Hotspring,131,55'; put '66.217,-149.547,Dall Hot Springs,Beaver,Hotspring,129,54'; put '55.217,-162.483,Hot Springs East of Cold Bay,Cold Bay,Hotspring,129,54'; put '65.217,-162.9,Hot Springs Near Lava Creek,Bendeleben,Hotspring,127,53'; put '54.944,-163.251,Hot Springs Near Morzhovoi,False Pass,Hotspring,145,63'; put '36.48,-91.053,Warm Springs,Poplar Bluff,Hotspring,82,28'; put '34.384,-93.607,Caddo Gap Springs,Little Rock,Hotspring,95,35'; put '34.321,-93.739,Spring on Redland Mountain,Little Rock,Hotspring,77,25'; put '34.406,-93.908,Spring on Little Missouri River,Little Rock,Hotspring,74,23'; put '34.542,-93.024,Big Chalybeate Spring,Little Rock,Hotspring,79,26'; put '34.513,-93.053,Hot Springs,Little Rock,Hotspring,147,64'; put '33.008,-109.778,Grapevine Spring,Clifton,Hotspring,91,33'; put '32.984,-113.324,Agua Caliente Springs,Ajo,Hotspring,102,39'; put '34.563,-113.497,Kaiser Hot Spring,Prescott,Hotspring,99,37'; put '34.076,-111.708,Spring (Hot),Holbrook,Hotspring,99,37'; put '33.17,-110.528,Coolidge Dam Warm Spring,Mesa,Hotspring,99,37'; put '34.695,-113.572,Cofer Hot Spring,Prescott,Hotspring,97,36'; put '33.209,-110.818,Pioneer Spring,Mesa,Hotspring,91,33'; put '33.988,-112.362,Castle Hot Springs,Phoenix,Hotspring,115,46'; put '32.345,-110.247,Warm Springs,Tucson,Hotspring,91,33'; put '36.196,-113.081,Lava Warm Springs,Grand Canyon,Hotspring,90,32'; put '33.068,-109.975,Warm Spring,Clifton,Hotspring,90,32'; put '31.943,-113.013,Quitobaquito Springs,Lukeville,Hotspring,90,32'; put '31.695,-110.963,Agua Caliente Spring,Nogales,Hotspring,90,32'; put '33.075,-109.298,Seep,Clifton,Hotspring,95,35'; put '34.357,-111.71,Verde Hot Springs,Holbrook,Hotspring,104,40'; put '32.998,-109.901,Indian Hot Springs,Silver City,Hotspring,118,48'; put '33.669,-111.165,Roosevelt Dam Springs,Mesa,Hotspring,118,48'; put '32.336,-110.24,Hookers Hot Springs,Tucson,Hotspring,127,53'; put '33.4,-109.152,Hannah Hot Spring,Clifton,Hotspring,133,56'; put '33.08,-109.303,Hot Spring,Clifton,Hotspring,138,59'; put '32.741,-114.068,Radium Hot Springs,El Centro,Hotspring,140,60'; put '32.971,-109.35,Gillard Hot Springs,Silver City,Hotspring,180,82'; put '35.984,-114.742,Hot Spring,Kingman,Hotspring,H,H'; put '33.78,-110.317,Warm Spring,Mesa,Hotspring,W,W'; put '36.418,-113.956,Pakoon Springs,Grand Canyon,Hotspring,86,30'; put '33.493,-112.94,El Dorado Hot Springs,Phoenix South,Hotspring,112,44'; put '34.896,-114.308,Oatman Warm Springs,Needles,Hotspring,91,33'; put '33.055,-109.295,Clifton Hot Springs,Clifton,Hotspring,102,39'; put '34.445,-112.693,Spring,Prescott,Hotspring,72,22'; put '32.337,-110.708,Mercer Spring,Tucson,Hotspring,77,25'; put '34.649,-111.744,Soda Spring,Holbrook,Hotspring,75,24'; put '33.253,-110.703,Spring,Mesa,Hotspring,75,24'; put '31.362,-109.265,Astin Spring,Douglas,Hotspring,75,24'; put '35.169,-113.851,Frost Mine Spring,Williams,Hotspring,70,21'; put '31.673,-109.902,Antelope Spring,Douglas,Hotspring,79,26'; put '35.213,-113.425,Casa Grande Spring,Williams,Hotspring,72,22'; put '33.51,-110.403,Cassadore Spring,Mesa,Hotspring,73,23'; put '34.32,-111.453,Tonto Natural Bridge Spring,Holbrook,Hotspring,72,22'; put '34.405,-111.602,Spring,Holbrook,Hotspring,72,22'; put '34.436,-109.402,Salado Springs,Saint Johns,Hotspring,72,22'; put '31.592,-109.51,Lewis Spring,Douglas,Hotspring,68,20'; put '33.046,-109.44,Eagle Creek Hot Springs,Clifton,Hotspring,97,36'; put '36.509,-111.852,Colorado Pool,Marble Canyon,Hotspring,86,30'; put '33.062,-109.482,Warm Spring,Clifton,Hotspring,73,23'; put '31.637,-110.703,Monkey Spring,Nogales,Hotspring,82,28'; put '32.281,-110.73,Agua Caliente,Tucson,Hotspring,86,30'; put '32.327,-110.228,N-O Spring,Tucson,Hotspring,73,23'; put '32.983,-110.373,Warm Spring,Tucson,Hotspring,79,26'; put '33.152,-110.639,Mescal Warm Spring,Mesa,Hotspring,84,29'; put '33.163,-110.662,Spring,Mesa,Hotspring,82,28'; put '35.077,-113.267,Trout Creek Spring,Williams,Hotspring,81,27'; put '33.438,-110.213,Warm Springs,Mesa,Hotspring,86,30'; put '36.895,-113.913,Springs,Grand Canyon,Hotspring,79,26'; put '35.96,-114.725,Hot Spring,Kingman,Hotspring,86,30'; put '34.925,-114.221,Caliche Spring,Needles,Hotspring,79,26'; put '33.915,-112.332,Mitchell Spring,Phoenix,Hotspring,79,26'; put '33.831,-110.574,Salt Banks,Mesa,Hotspring,78,26'; put '34.91,-113.608,Tom Brown Warm Spring,Prescott,Hotspring,82,28'; put '38.873,-122.689,Seigler Springs,Santa Rosa,Hotspring,126,52'; put '36.814,-117.763,Palm Spring,Death Valley,Hotspring,120,49'; put '34.498,-119.341,Stingleys Hot Springs,Los Angeles,Hotspring,123,51'; put '33.67,-117.325,"Wrenden Hot Sprs, Elsinore Hot Spr",Santa Ana,Hotspring,125,52'; put '37.253,-118.373,Keough Hot Springs,Mariposa,Hotspring,124,51'; put '36.229,-118.302,Jordan Hot Springs,Fresno,Hotspring,124,51'; put '34.502,-119.346,Vickers Hot Springs,Los Angeles,Hotspring,124,51'; put '36.123,-121.64,Slates Hot Springs,Santa Cruz,Hotspring,122,50'; put '35.881,-118.67,California Hot Springs,Bakersfield,Hotspring,122,50'; put '38.788,-122.777,Sulphur Creek,Santa Rosa,Hotspring,120,49'; put '37.648,-118.806,Hot Springs,Mariposa,Hotspring,129,54'; put '36.703,-120.86,Mercey Hot Springs,Santa Cruz,Hotspring,119,48'; put '33.589,-117.511,San Juan Hot Springs,Santa Ana,Hotspring,120,49'; put '38.785,-122.655,Harbin Springs,Santa Rosa,Hotspring,120,49'; put '37.677,-118.79,Dehy Hot Spring,Mariposa,Hotspring,134,57'; put '39.183,-122.7,Bartlett Springs,Ukiah,Hotspring,144,62'; put '36.234,-121.546,Tassajara Hot Springs,Santa Cruz,Hotspring,144,62'; put '36.144,-120.555,Coalinga Mineral Springs,Santa Cruz,Hotspring,112,44'; put '39.033,-122.445,Jones Fountain of Life Spring,Ukiah,Hotspring,142,61'; put '35.575,-118.534,"Miracle Hot Sprs, Hobo Hot Sprs",Bakersfield,Hotspring,119,48'; put '33.284,-116.631,Warner Hot Spring,Santa Ana,Hotspring,138,59'; put '38.237,-119.326,Buckeye Hot Spring,Walker Lake,Hotspring,140,60'; put '41.266,-120.08,Hot Springs (Menlo Baths),Alturas,Hotspring,135,57'; put '33.753,-117.495,Glen Ivy Hot Springs,Santa Ana,Hotspring,131,55'; put '37.802,-118.532,Benton Hot Springs,Mariposa,Hotspring,134,57'; put '38.691,-123.024,Skaggs Springs,Santa Rosa,Hotspring,135,56'; put '35.62,-118.473,Scovern Hot Springs,Bakersfield,Hotspring,133,56'; put '34.538,-119.56,Agua Caliente Spring,Los Angeles,Hotspring,133,56'; put '33.558,-117.154,Murrietta Hot Springs,Santa Ana,Hotspring,132,56'; put '39.226,-120.01,Brockway Hot Springs,Chico,Hotspring,131,55'; put '41.036,-121.926,Hunt Hot Spring,Alturas,Hotspring,136,58'; put '34.582,-119.044,Willett Hot Springs,Los Angeles,Hotspring,108,42'; put '37.234,-118.881,Blaney Meadows Hot Springs,Mariposa,Hotspring,109,43'; put '36.477,-118.404,Kern Hot Spring,Fresno,Hotspring,109,43'; put '36.806,-117.771,Lower Warm Springs,Death Valley,Hotspring,110,43'; put '34.482,-119.302,Matilija Hot Springs,Los Angeles,Hotspring,109,43'; put '34.537,-119.879,San Marcos Hot Spring,Los Angeles,Hotspring,110,43'; put '33.896,-117.057,Eden Hot Springs,Santa Ana,Hotspring,109,43'; put '39.573,-120.348,Campbell Hot Springs,Chico,Hotspring,111,44'; put '38.994,-122.742,Horseshoe Spring,Santa Rosa,Hotspring,108,42'; put '33.969,-116.942,Highland Springs,Santa Ana,Hotspring,112,44'; put '34.34,-117.173,"Warm Spring, Hot Spring",San Bernardino,Hotspring,108,42'; put '41.219,-120.066,Squaw Baths,Alturas,Hotspring,106,41'; put '40.142,-120.935,Indian Valley Hot Springs,Susanville,Hotspring,106,41'; put '39.292,-122.821,Crabtree Hot Springs,Ukiah,Hotspring,106,41'; put '37.108,-121.478,Gilroy Hot Springs,San Jose,Hotspring,106,41'; put '39.227,-123.362,Orrs Springs,Ukiah,Hotspring,104,40'; put '38.773,-122.705,Anderson Springs,Santa Rosa,Hotspring,108,42'; put '38.858,-122.671,Howard Springs,Santa Rosa,Hotspring,113,45'; put '34.461,-119.637,Montecito Hot Springs,Los Angeles,Hotspring,118,48'; put '33.551,-117.167,Temecula Hot Springs,Santa Ana,Hotspring,116,47'; put '33.835,-116.988,Gilman Hot Springs,Santa Ana,Hotspring,117,47'; put '37.618,-119.074,Reds Meadow Hot Springs,Mariposa,Hotspring,115,46'; put '35.528,-118.665,Democrat Hot Springs,Bakersfield,Hotspring,115,46'; put '33.731,-118.348,Whites Point Hot Springs,Long Beach,Hotspring,115,46'; put '37.532,-119.025,Fish Creek Hot Springs,Mariposa,Hotspring,110,43'; put '39.032,-122.432,"Blank Spring, Manzanita Mine Sprs",Ukiah,Hotspring,112,45'; put '37.327,-119.018,Mono Hot Springs,Mariposa,Hotspring,109,43'; put '38.225,-119.217,The Hot Springs,Walker Lake,Hotspring,113,45'; put '35.727,-118.408,Hot Spring,Bakersfield,Hotspring,113,45'; put '41.6,-120.088,Leonards Hot Springs,Alturas,Hotspring,144,62'; put '38.874,-123.518,Point Arena Hot Springs,Santa Rosa,Hotspring,111,44'; put '41.126,-121.028,Kellog Hot Springs,Alturas,Hotspring,172,78'; put '35.558,-118.612,Delonegha Hot Springs,Bakersfield,Hotspring,112,44'; put '35.871,-116.23,Tecopa Hot Springs,Trona,Hotspring,118,48'; put '41.86,-120.158,Fort Bidwell Hot Spring,Alturas,Hotspring,113,45'; put '41.534,-120.078,Hot Springs (Surprise Valley),Alturas,Hotspring,208,98'; put '33.345,-115.588,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '41.012,-121.274,Hot Springs,Alturas,Hotspring,H,H'; put '39.922,-120.024,Zamboni Hot Springs,Chico,Hotspring,H,H'; put '38.979,-122.659,Fumarole,Santa Rosa,Hotspring,H,H'; put '37.622,-119.028,Fumaroles,Mariposa,Hotspring,H,H'; put '40.364,-120.243,Hot Spring,Susanville,Hotspring,204,96'; put '38.767,-122.748,Little Geysers,Santa Rosa,Hotspring,210,99'; put '33.328,-115.583,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '41.67,-120.206,Lake City Hot Springs,Alturas,Hotspring,207,97'; put '36.036,-117.802,Devils Kitchen,Death Valley,Hotspring,207,97'; put '36.045,-117.769,Coso Hot Springs,Death Valley,Hotspring,207,97'; put '40.382,-121.513,Morgan Hot Spring,Susanville,Hotspring,205,96'; put '40.421,-121.375,Terminal Geyser,Susanville,Hotspring,205,96'; put '41.19,-120.383,West Valley Reservoir Hot Spring,Alturas,Hotspring,171,77'; put '38.802,-122.81,The Geysers,Santa Rosa,Hotspring,214,101'; put '35.888,-116.258,Springs,Trona,Hotspring,W,W'; put '34.185,-117.262,"Arrowhead Springs, Waterman Hot Sp",San Bernardino,Hotspring,194,90'; put '33.823,-116.542,Palm Springs (Agua Caliente Spring,Santa Ana,Hotspring,104,40'; put '41.196,-120.475,Springs,Alturas,Hotspring,W,W'; put '41.959,-120.936,Warm Spring,Alturas,Hotspring,W,W'; put '37.929,-121.965,Springs,San Jose,Hotspring,W,W'; put '36.83,-117.736,Upper Warm Spring,Death Valley,Hotspring,W,W'; put '33.343,-115.573,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '35.536,-118.651,Spring (Hot),Bakersfield,Hotspring,W,W'; put '33.332,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '35.967,-116.931,Warm Spring,Trona,Hotspring,W,W'; put '33.28,-115.592,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.288,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.312,-115.577,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.313,-115.605,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '40.393,-121.507,Growler Hot Spring,Susanville,Hotspring,203,95'; put '35.148,-118.783,Warm Spring,Bakersfield,Hotspring,W,W'; put '41.973,-122.202,Klamath Hot Spring,Weed,Hotspring,156,69'; put '41.143,-121.11,Bassett Hot Springs,Alturas,Hotspring,174,79'; put '38.58,-122.575,Calistoga Hot Springs,Santa Rosa,Hotspring,172,78'; put '37.656,-118.834,Hot Creek Springs,Mariposa,Hotspring,171,77'; put '41.229,-121.405,Little Hot Spring,Alturas,Hotspring,169,76'; put '37.664,-118.802,The Tub,Mariposa,Hotspring,167,75'; put '40.355,-120.257,Wendel Hot Springs,Susanville,Hotspring,205,96'; put '38.768,-122.717,Castle Rock Springs,Santa Rosa,Hotspring,163,73'; put '38.245,-119.205,Travertine Hot Springs,Walker Lake,Hotspring,180,82'; put '39.002,-122.664,Sulphur Bank,Ukiah,Hotspring,156,69'; put '39.057,-122.475,Elgin Mine,Ukiah,Hotspring,156,69'; put '39.039,-122.421,Wilbur Springs,Ukiah,Hotspring,153,67'; put '40.444,-121.409,Drakesbad,Susanville,Hotspring,151,66'; put '40.457,-121.545,Mill Creek Springs,Susanville,Hotspring,150,66'; put '38.048,-119.081,Hot Spring,Walker Lake,Hotspring,151,66'; put '37.647,-118.859,Casa Diablo Hot Pool,Mariposa,Hotspring,165,74'; put '41.607,-121.523,Hot Spot,Alturas,Hotspring,191,88'; put '40.44,-121.434,Devils Kitchen,Susanville,Hotspring,203,95'; put '40.302,-120.195,Amedee Hot Springs,Susanville,Hotspring,203,95'; put '36.031,-117.833,Fumarole,Death Valley,Hotspring,203,95'; put '40.447,-121.536,"Sulphur Works, Tophet Hot Springs",Susanville,Hotspring,199,93'; put '40.455,-121.501,Bumpass Hell,Susanville,Hotspring,199,93'; put '37.648,-118.914,Casa Diablo Hot Springs And Geyser,Mariposa,Hotspring,199,93'; put '37.692,-118.839,Little Hot Creek Spring,Mariposa,Hotspring,180,82'; put '34.596,-118.998,Sespe Hot Springs,Los Angeles,Hotspring,194,90'; put '38.348,-119.4,Fales Hot Springs,Walker Lake,Hotspring,180,82'; put '40.434,-121.399,Boiling Springs Lake,Susanville,Hotspring,190,88'; put '41.615,-120.102,Seyferth Hot Springs,Alturas,Hotspring,185,85'; put '41.407,-122.197,"Hot Spring, Fumaroles",Weed,Hotspring,183,84'; put '37.993,-119.028,Paoha Island Springs,Mariposa,Hotspring,181,83'; put '41.025,-121.924,Big Bend Hot Springs,Alturas,Hotspring,180,82'; put '38.699,-119.846,Grovers Hot Springs,Walker Lake,Hotspring,147,64'; put '37.665,-118.828,Hot Creek Gorge Springs,Mariposa,Hotspring,199,93'; put '39.43,-122.538,"Sulphur Spring, Salt Spring",Ukiah,Hotspring,75,24'; put '38.925,-122.77,Hildebrande Spring,Santa Rosa,Hotspring,77,25'; put '38.203,-119.118,Warm Spring,Walker Lake,Hotspring,77,25'; put '36.938,-121.565,Sargent Estate Warm Spring,Santa Cruz,Hotspring,77,25'; put '34.826,-116.677,Newberry Spring,San Bernardino,Hotspring,77,25'; put '41.919,-122.369,Bogus Soda Springs,Weed,Hotspring,76,24'; put '39.053,-122.597,Quigley Soda Spring,Ukiah,Hotspring,82,28'; put '41.252,-120.521,Warm Spring,Alturas,Hotspring,75,24'; put '38.85,-122.693,Pine Cone Spring,Santa Rosa,Hotspring,78,26'; put '38.339,-122.259,Napa Vichy Springs,Santa Rosa,Hotspring,76,24'; put '38.892,-122.533,Baker Soda Spring,Santa Rosa,Hotspring,76,24'; put '38.897,-122.882,England Springs,Santa Rosa,Hotspring,76,24'; put '38.916,-122.799,Carlsbad Spring,Santa Rosa,Hotspring,76,24'; put '38.192,-120.827,Valley Springs,Sacramento,Hotspring,75,24'; put '38.85,-120.025,Myers Warm Spring,Sacramento,Hotspring,75,24'; put '37.708,-118.813,Hot Spring,Mariposa,Hotspring,68,20'; put '36.122,-117.217,Warm Sulphur Springs,Death Valley,Hotspring,80,27'; put '35.682,-116.422,Saratoga Spring,Trona,Hotspring,82,28'; put '33.733,-114.907,Mccoy Spring,Salton Sea,Hotspring,82,28'; put '41.484,-120.764,Spring,Alturas,Hotspring,81,27'; put '39.657,-123.585,Jackson Valley Mud Springs,Ukiah,Hotspring,80,27'; put '39.198,-122.505,Pseudo Complexion Spring,Ukiah,Hotspring,81,27'; put '38.85,-122.667,Bad Creek Spring,Santa Rosa,Hotspring,81,27'; put '32.97,-116.423,Vallecitos Spring,San Diego,Hotspring,79,26'; put '36.765,-120.901,Spring,Santa Cruz,Hotspring,81,27'; put '34.159,-118.499,El Encino Springs,Los Angeles,Hotspring,79,26'; put '35.879,-116.153,Resting Spring,Trona,Hotspring,80,27'; put '41.828,-120.917,Pothole Spring,Alturas,Hotspring,78,26'; put '39.348,-122.668,Fouts Springs,Ukiah,Hotspring,79,26'; put '38.519,-122.26,"Napa Rock Soda Spring, Phillips So",Santa Rosa,Hotspring,78,26'; put '38.838,-122.653,Spiers Springs,Santa Rosa,Hotspring,79,26'; put '35.141,-116.101,Soda Station Springs,Trona,Hotspring,75,24'; put '37.503,-121.904,Alameda Warm Springs,San Jose,Hotspring,80,27'; put '39.429,-123.308,Muir Springs,Ukiah,Hotspring,68,20'; put '37.924,-122.046,Sulphur Spring,San Francisco,Hotspring,75,24'; put '40.58,-120.265,Tipton Springs,Susanville,Hotspring,70,21'; put '39.697,-123.478,Pinches Spring,Ukiah,Hotspring,70,21'; put '38.755,-122.285,Zim Zim Spring,Santa Rosa,Hotspring,70,21'; put '37.083,-121.042,Spring In Oneill Forebay,San Jose,Hotspring,70,21'; put '37.632,-121.762,Crohare Spring,San Jose,Hotspring,70,21'; put '33.625,-115.325,Corn Spring,Salton Sea,Hotspring,72,22'; put '36.117,-118.776,Ward Spring,Fresno,Hotspring,70,21'; put '34.423,-119.538,Boron Spring,Los Angeles,Hotspring,72,22'; put '39.002,-122.498,Grizzly Spring,Ukiah,Hotspring,68,20'; put '39.088,-122.525,Sulphur Spring,Ukiah,Hotspring,68,20'; put '38.125,-122.188,Vallejo White Sulphur Springs,Santa Rosa,Hotspring,68,20'; put '38.31,-122.053,Tolenas Springs,Santa Rosa,Hotspring,68,20'; put '41.45,-120.834,Kelly Hot Spring,Alturas,Hotspring,198,92'; put '36.512,-116.821,Nevares Springs,Death Valley,Hotspring,102,39'; put '37.888,-118.487,Bertrand Ranch Springs,Mariposa,Hotspring,70,21'; put '35.483,-119.917,Mize Spring,Bakersfield,Hotspring,73,23'; put '36.698,-117.848,Little Hunter Canyon Springs,Death Valley,Hotspring,81,27'; put '38.995,-122.642,Davis Soda Spring,Santa Rosa,Hotspring,73,23'; put '37.432,-121.308,Salt Grass Springs,San Jose,Hotspring,73,23'; put '37.573,-121.445,Lone Tree Mineral Spring,San Jose,Hotspring,73,23'; put '37.638,-118.887,Chance Spring,Mariposa,Hotspring,73,23'; put '36.295,-120.985,Sulphur Springs,Santa Cruz,Hotspring,73,23'; put '41.16,-120.403,Warm Spring,Alturas,Hotspring,70,21'; put '35.4,-120.25,Cameta Warm Spring,San Luis Obisp,Hotspring,73,23'; put '37.719,-118.735,Springs,Mariposa,Hotspring,75,24'; put '35.588,-116.359,Sheep Creek Spring,Trona,Hotspring,73,23'; put '40.568,-120.325,Sellicks Springs,Susanville,Hotspring,72,22'; put '38.833,-122.357,One Shot Mining Co,Santa Rosa,Hotspring,72,22'; put '38.95,-122.572,Soda Spring In Cache Formation,Santa Rosa,Hotspring,72,22'; put '37.635,-118.72,Springs,Mariposa,Hotspring,72,22'; put '36.13,-118.816,Soda Spring,Fresno,Hotspring,72,22'; put '36.773,-120.898,Iridat Spring,Santa Cruz,Hotspring,73,23'; put '33.545,-115.654,Canyon Spring,Salton Sea,Hotspring,97,36'; put '36.675,-116.923,Keane Wonder Spring,Death Valley,Hotspring,93,34'; put '36.331,-121.367,Paraiso Springs (Sulphur Spring),Santa Cruz,Hotspring,98,37'; put '35.122,-120.542,Newsom Springs,San Luis Obisp,Hotspring,99,37'; put '34.503,-120.219,Las Cruces Hot Springs,Santa Maria,Hotspring,99,37'; put '38.49,-122.498,St Helena White Sulphur Spring,Santa Rosa,Hotspring,97,36'; put '35.946,-116.189,Chappo Spring,Trona,Hotspring,80,27'; put '40.019,-121.036,Spring,Susanville,Hotspring,99,37'; put '40.44,-121.42,Hot Springs Valley,Susanville,Hotspring,83,28'; put '32.947,-116.305,Agua Caliente Springs,San Diego,Hotspring,101,38'; put '39.196,-122.714,Newman Springs,Ukiah,Hotspring,94,35'; put '37.63,-118.808,Whitmore Hot Springs,Mariposa,Hotspring,95,35'; put '35.269,-120.851,Pecho Warm Springs,San Luis Obisp,Hotspring,95,35'; put '33.514,-117.604,Spring,Santa Ana,Hotspring,95,35'; put '38.958,-122.701,Riviera Beach Spring,Santa Rosa,Hotspring,93,34'; put '36.33,-117.948,Dirty Socks Hot Spring,Death Valley,Hotspring,93,34'; put '37.847,-121.635,Byron Hot Springs,San Jose,Hotspring,96,36'; put '35.433,-118.478,Yates Hot Springs,Bakersfield,Hotspring,100,38'; put '35.663,-120.692,Paso Robles Artesian Spring,San Luis Obisp,Hotspring,102,39'; put '34.507,-119.291,Wheeler Springs,Los Angeles,Hotspring,102,39'; put '33.8,-116.927,Soboda Hot Springs,Santa Ana,Hotspring,102,39'; put '40.223,-122.747,Stinking Springs,Redding,Hotspring,101,38'; put '38.8,-123.17,Hoods Hot Springs,Santa Rosa,Hotspring,100,38'; put '37.029,-117.383,Grapevine Springs,Goldfield,Hotspring,100,38'; put '36.084,-121.584,Dolans Hot Spring,Santa Cruz,Hotspring,98,37'; put '36.21,-118.176,Soda Springs,Fresno,Hotspring,100,38'; put '33.664,-117.913,Fairview Hot Spring,Santa Ana,Hotspring,96,36'; put '35.143,-116.813,Paradise Spring,Trona,Hotspring,100,38'; put '33.837,-117.145,Lakeview Hot Springs,Santa Ana,Hotspring,100,38'; put '33.201,-115.577,Mud Pots,Salton Sea,Hotspring,100,38'; put '33.212,-115.591,Mud Pots,Salton Sea,Hotspring,100,38'; put '33.217,-115.58,Wister Mud Pot,Salton Sea,Hotspring,100,38'; put '32.617,-116.189,Jacumba Hot Springs,San Diego,Hotspring,101,38'; put '36.618,-121.845,Sulphur Hot Spring,Santa Cruz,Hotspring,100,38'; put '36.495,-117.893,Springs,Death Valley,Hotspring,86,30'; put '38.033,-118.902,Mono Basin Warm Springs,Walker Lake,Hotspring,88,31'; put '35.908,-120.367,Table Mountain (Spring),San Luis Obisp,Hotspring,88,31'; put '34.271,-116.838,Pan Hot Springs,San Bernardino,Hotspring,88,31'; put '40.238,-122.11,Tuscan Springs,Redding,Hotspring,86,30'; put '40.245,-120.007,High Rock Spring,Susanville,Hotspring,86,30'; put '38.55,-122.72,Mark West Springs,Santa Rosa,Hotspring,88,31'; put '43.513,-119.903,Springs at Tecolote Tunnel,Los Angeles,Hotspring,93,34'; put '39.728,-120.547,Mclear Warm Springs,Chico,Hotspring,86,30'; put '38.835,-122.731,Gordon Warm Springs,Santa Rosa,Hotspring,97,36'; put '39.166,-123.159,Vichy Springs,Ukiah,Hotspring,85,29'; put '38.936,-122.907,Highland Springs,Santa Rosa,Hotspring,84,29'; put '37.398,-121.794,Mineral Springs,San Jose,Hotspring,84,29'; put '33.436,-117.324,De Luz Warm Springs,Santa Ana,Hotspring,85,29'; put '33.512,-115.827,Dos Palmas Spring,Salton Sea,Hotspring,84,29'; put '39.022,-122.444,Abbott Mine,Ukiah,Hotspring,86,30'; put '34.605,-118.561,Warm Spring,Los Angeles,Hotspring,92,33'; put '41.659,-123.319,Sulphur Springs,Weed,Hotspring,84,29'; put '38.394,-122.552,Los Guilicos Warm Springs,Santa Rosa,Hotspring,88,31'; put '41.492,-120.7,Essex Springs,Alturas,Hotspring,91,33'; put '38.654,-122.484,Aetna Springs,Santa Rosa,Hotspring,91,33'; put '35.842,-117.38,Bainter Spring,Trona,Hotspring,92,33'; put '34.228,-117.483,Tylers Bath Spring,San Bernardino,Hotspring,92,33'; put '33.363,-117.017,Agua Tibia Spring,Santa Ana,Hotspring,92,33'; put '41.167,-120.032,Bare Ranch Spring,Alturas,Hotspring,90,32'; put '35.978,-116.273,Shoshone Spring,Trona,Hotspring,90,32'; put '33.407,-116.035,Fish Springs,Santa Ana,Hotspring,90,32'; put '35.582,-120.666,Santa Ysabel Springs (Sulphur Spr),San Luis Obisp,Hotspring,92,33'; put '34.537,-119.613,Little Caliente Spring,Los Angeles,Hotspring,90,32'; put '39.006,-122.787,Big Soda Spring,Ukiah,Hotspring,90,32'; put '35.439,-119.846,Carneros Spring,Bakersfield,Hotspring,90,32'; put '36.441,-116.829,Travertine Springs,Death Valley,Hotspring,90,32'; put '37.88,-122.627,Rocky Point Springs,San Francisco,Hotspring,90,32'; put '39.227,-107.224,Penny Hot Springs,Leadville,Hotspring,133,56'; put '38.732,-106.178,Hortense Hot Spring,Montrose,Hotspring,181,83'; put '37.4,-107.849,Tripp Hot Springs,Durango,Hotspring,111,44'; put '40.073,-106.113,Hot Sulphur Springs,Craig,Hotspring,111,44'; put '39.739,-105.512,Idaho Springs,Denver,Hotspring,115,46'; put '39.552,-107.412,South Canyon Hot Springs,Leadville,Hotspring,118,48'; put '39.548,-107.322,Glenwood Springs,Leadville,Hotspring,124,51'; put '38.133,-107.736,Orvis Hot Spring,Montrose,Hotspring,126,52'; put '39.017,-105.793,Hartsel Hot Springs,Denver,Hotspring,126,52'; put '38.733,-106.162,Mount Princeton Hot Springs,Montrose,Hotspring,133,56'; put '37.752,-108.131,Paradise Warm Spring,Cortez,Hotspring,115,46'; put '37.747,-106.831,Wagon Wheel Gap Hot Springs,Durango,Hotspring,135,57'; put '37.263,-107.011,Pagosa Springs,Durango,Hotspring,136,58'; put '38.812,-106.226,Cottonwood Hot Springs,Montrose,Hotspring,136,58'; put '38.168,-105.924,Mineral Hot Springs,Pueblo,Hotspring,140,60'; put '40.559,-106.849,Routt Hot Springs,Craig,Hotspring,147,64'; put '38.021,-107.672,Ouray Hot Springs,Montrose,Hotspring,156,69'; put '38.498,-106.076,Poncha Hot Springs,Montrose,Hotspring,160,71'; put '38.514,-106.508,Upper Waunita Hot Springs,Montrose,Hotspring,176,80'; put '38.272,-107.1,Cebolla Hot Springs,Montrose,Hotspring,106,41'; put '37.313,-107.344,Piedra River Hot Springs,Durango,Hotspring,108,42'; put '38.517,-106.515,Lower Waunita Hot Springs,Montrose,Hotspring,167,75'; put '38.816,-106.873,Ranger Hot Spring,Montrose,Hotspring,81,27'; put '37.294,-105.784,Dexter Spring,Trinidad,Hotspring,68,20'; put '38.634,-106.072,Browns Grotto Warm Spring,Montrose,Hotspring,73,23'; put '39.164,-106.062,Rhodes Warm Spring,Leadville,Hotspring,75,24'; put '38.836,-106.825,Cement Creek Hot Spring,Montrose,Hotspring,77,25'; put '38.653,-106.056,Browns Canyon Warm Spring,Montrose,Hotspring,77,25'; put '37.033,-106.805,Stinking Springs,Durango,Hotspring,81,27'; put '37.747,-108.117,Geyser Warm Spring,Cortez,Hotspring,82,28'; put '38.479,-105.891,Swissvale Warm Springs,Pueblo,Hotspring,82,28'; put '37.751,-106.317,Shaw Springs,Durango,Hotspring,86,30'; put '37.728,-107.054,Birdsie Warm Spring,Durango,Hotspring,86,30'; put '37.741,-107.034,Antelope Spring,Durango,Hotspring,90,32'; put '39.628,-107.106,Dotsero Warm Springs,Leadville,Hotspring,90,32'; put '38.485,-105.91,Wellsville Warm Spring,Pueblo,Hotspring,91,33'; put '38.014,-108.054,Lemon Hot Spring,Moab,Hotspring,91,33'; put '37.391,-107.846,"Trimble Hot Spr, Stratten Warm Spr",Durango,Hotspring,97,36'; put '38.192,-105.816,Valley View Hot Springs,Pueblo,Hotspring,99,37'; put '38.433,-105.261,Canon City Hot Springs,Pueblo,Hotspring,104,40'; put '39.012,-106.891,Conundrum Hot Springs,Leadville,Hotspring,100,38'; put '37.511,-106.945,Rainbow Hot Springs,Durango,Hotspring,104,40'; put '40.467,-107.952,Juniper Hot Springs,Craig,Hotspring,100,38'; put '40.483,-106.827,Steamboat Springs,Craig,Hotspring,102,39'; put '37.771,-108.091,Dunton Hot Spring,Cortez,Hotspring,108,42'; put '37.453,-107.803,Pinkerton Hot Springs,Durango,Hotspring,90,32'; put '39.932,-105.277,Eldorado Springs,Denver,Hotspring,79,26'; put '27.074,-82.233,Little Salt Spring,Tampa,Hotspring,81,27'; put '27.06,-82.261,Warm Mineral Springs (Big Salt Spr,Tampa,Hotspring,86,30'; put '32.92,-84.438,Barker Spring,Phenix City,Hotspring,73,23'; put '32.964,-84.499,Thundering Spring,Phenix City,Hotspring,75,24'; put '33.018,-84.327,Taylor Spring,Atlanta,Hotspring,75,24'; put '32.862,-84.65,Parkman Spring,Phenix City,Hotspring,77,25'; put '33.037,-84.374,Lifsey Spring,Atlanta,Hotspring,79,26'; put '32.893,-84.69,Warm Springs,Phenix City,Hotspring,88,31'; put '32.873,-84.547,Tom Brown Spring,Phenix City,Hotspring,68,20'; put '19.407,-155.277,Steam Vents,Hawaii,Hotspring,H,H'; put '19.46,-154.847,Isaac Hale Park Spring,Hawaii,Hotspring,97,36'; put '19.496,-154.876,Warm Vapor,Hawaii,Hotspring,W,W'; put '19.373,-155.188,Steam Vents,Hawaii,Hotspring,H,H'; put '19.39,-155.311,Steam Vents,Hawaii,Hotspring,H,H'; put '19.434,-155.272,Steam Vents,Hawaii,Hotspring,H,H'; put '19.486,-155.598,Steam Vents,Hawaii,Hotspring,H,H'; put '19.466,-154.943,Steam Vents,Hawaii,Hotspring,H,H'; put '19.421,-155.62,Steam Vents,Hawaii,Hotspring,H,H'; put '19.201,-155.384,Waiwelawela Point Spring,Hawaii,Hotspring,90,32'; put '19.593,-154.928,Akins Spring,Hawaii,Hotspring,84,29'; put '44.721,-115.01,Thomas Creek Ranch Hot Spring,Challis,Hotspring,138,59'; put '45.431,-116.015,Cow Flats Hot Spring,Grangeville,Hotspring,138,59'; put '44.062,-115.685,Pine Flat Hot Springs,Challis,Hotspring,138,59'; put '44.382,-115.841,Dash Creek Hot Springs,Challis,Hotspring,138,59'; put '44.077,-115.553,Haven Lodge Hot Spring,Challis,Hotspring,147,64'; put '43.647,-114.816,Skillern Hot Springs,Hailey,Hotspring,140,60'; put '43.789,-115.434,Dutch Frank Hot Spring,Hailey,Hotspring,149,65'; put '43.54,-115.288,Bridge Hot Springs,Hailey,Hotspring,138,59'; put '43.72,-115.617,Smith Cabin Hot Spring,Hailey,Hotspring,138,59'; put '42.688,-114.826,Banbury Hot Spring,Twin Falls,Hotspring,138,59'; put '45.035,-115.561,Sheep Creek Hot Spring,Elk City,Hotspring,136,58'; put '44.245,-114.885,Elkhorn Hot Spring,Challis,Hotspring,136,58'; put '44.642,-115.693,Mollys Hot Spring,Challis,Hotspring,138,59'; put '43.811,-115.116,Atlanta Hot Springs,Hailey,Hotspring,140,60'; put '44.679,-116.231,White Licks Hot Spring,Baker,Hotspring,140,60'; put '45.512,-115.046,Barth Hot Springs,Elk City,Hotspring,140,60'; put '43.696,-115.658,Sheep Creek Bridge Hot Spring,Hailey,Hotspring,142,61'; put '44.914,-115.722,Teapot Hot Spring,Challis,Hotspring,142,61'; put '43.788,-115.444,Straight Creek Hot Spring,Hailey,Hotspring,144,62'; put '43.116,-115.305,Latty Hot Spring,Hailey,Hotspring,144,62'; put '45.039,-116.291,Zims Resort Hot Springs,Grangeville,Hotspring,144,62'; put '43.049,-114.952,White Arrow Hot Spring,Hailey,Hotspring,145,63'; put '44.645,-114.739,Upper Loon Creek Hot Springs,Challis,Hotspring,145,63'; put '43.383,-114.931,Wardrop Hot Spring,Hailey,Hotspring,147,64'; put '44.531,-116.754,Fairchild Hot Spring,Baker,Hotspring,126,52'; put '44.661,-114.652,Foster Ranch Hot Springs,Challis,Hotspring,135,57'; put '44.051,-115.829,Dan Hodges Hot Spring,Challis,Hotspring,140,60'; put '43.506,-114.354,Hailey Hot Springs,Hailey,Hotspring,131,55'; put '43.982,-114.486,West Pass Hot Spring,Hailey,Hotspring,124,51'; put '43.641,-114.487,Warfield Hot Spring,Hailey,Hotspring,124,51'; put '44.145,-112.554,Lidy Hot Springs,Dubois,Hotspring,124,51'; put '44.054,-115.907,Hot Spring Campground,Challis,Hotspring,124,51'; put '42.032,-115.363,Murphy Hot Springs,Twin Falls,Hotspring,126,52'; put '43.561,-114.415,Clarendon Hot Springs,Hailey,Hotspring,126,52'; put '43.423,-114.627,Elk Creek Hot Spring,Hailey,Hotspring,126,52'; put '43.553,-115.267,Paradise Hot Springs,Hailey,Hotspring,126,52'; put '42.308,-111.707,Maple Grove Hot Springs,Preston,Hotspring,172,78'; put '45.013,-113.605,Sharkey Hot Spring,Dillon,Hotspring,126,52'; put '44.73,-114.993,Sunflower Hot Springs,Challis,Hotspring,149,65'; put '43.974,-114.499,Lower Bowery Hot Spring,Hailey,Hotspring,129,54'; put '43.724,-115.604,Loftus Hot Spring,Hailey,Hotspring,129,54'; put '44.676,-115.943,Gold Fork Hot Spring,Challis,Hotspring,127,53'; put '44.044,-115.851,Donlay Ranch Hot Spring,Challis,Hotspring,131,55'; put '44.264,-114.818,Basin Creek Hot Spring,Challis,Hotspring,133,56'; put '44.652,-114.734,Owen Cabin Hot Spring,Challis,Hotspring,133,56'; put '43.605,-115.664,Rattlesnake Hot Spring,Hailey,Hotspring,133,56'; put '43.605,-114.948,Lightfoot Hot Springs,Hailey,Hotspring,133,56'; put '45.788,-115.198,Red River Hot Springs,Elk City,Hotspring,131,55'; put '44.632,-115.697,South Fork Plunge,Challis,Hotspring,129,54'; put '44.853,-116.442,Starkey Hot Springs,Baker,Hotspring,131,55'; put '42.692,-114.859,Hot Sulphur (Miracle Hot) Springs,Twin Falls,Hotspring,131,55'; put '44.045,-115.842,Corder Hot Spring,Challis,Hotspring,131,55'; put '44.247,-114.676,Robinson Bar Hot Springs,Challis,Hotspring,131,55'; put '44.785,-114.855,Cox Hot Springs,Challis,Hotspring,131,55'; put '43.637,-115.13,Willow Creek Hot Spring,Hailey,Hotspring,131,55'; put '43.803,-115.401,Granite Creek Hot Spring,Hailey,Hotspring,131,55'; put '43.129,-115.34,Coyote Hot Spring,Hailey,Hotspring,135,57'; put '44.211,-116.71,Cove Creek Hot Spring,Baker,Hotspring,131,55'; put '44.16,-115.167,Grandjean Hot Spring,Challis,Hotspring,H,H'; put '43.755,-115.571,Ninemeyer Hot Springs,Hailey,Hotspring,169,76'; put '43.701,-114.738,Big Smokey Hot Spring,Hailey,Hotspring,H,H'; put '43.831,-115.192,Queens River Hot Spring,Hailey,Hotspring,H,H'; put '43.817,-115.046,Leggit Creek Hot Spring,Hailey,Hotspring,H,H'; put '43.718,-115.563,Basset Hot Spring,Hailey,Hotspring,H,H'; put '43.588,-115.988,Mores Creek Hot Spring,Hailey,Hotspring,H,H'; put '44.951,-114.704,Mormon Ranch Warm Spring,Challis,Hotspring,H,H'; put '44.896,-114.563,Forge Creek Hot Springs,Challis,Hotspring,H,H'; put '44.77,-115.663,Billy Hot Spring,Challis,Hotspring,H,H'; put '44.628,-115.197,Sheepeater Hot Springs,Challis,Hotspring,H,H'; put '44.585,-115.072,Sulphur Creek Hot Spring,Challis,Hotspring,H,H'; put '44.554,-115.301,Sulphur Creek Hot Spring,Challis,Hotspring,H,H'; put '42.107,-113.39,Blm Well (Frazier Hot Spring),Pocatello,Hotspring,203,95'; put '44.4,-115.82,Goat Hot Springs,Challis,Hotspring,H,H'; put '45.307,-114.338,Big Creek Hot Springs,Elk City,Hotspring,199,93'; put '44.583,-116.112,Cascade Reservoir Hot Spring,Baker,Hotspring,H,H'; put '45.17,-115.807,Secesh Hot Spring,Elk City,Hotspring,H,H'; put '46.235,-114.707,Prospector Hot Springs,Hamilton,Hotspring,H,H'; put '46.138,-115.09,Stuart Hot Springs,Hamilton,Hotspring,H,H'; put '46.006,-115.021,Marten Hot Springs,Hamilton,Hotspring,H,H'; put '42.374,-111.726,Mound Valley Warm Spring,Preston,Hotspring,W,W'; put '43.255,-114.829,Mormon Reservoir Warm Spring,Hailey,Hotspring,W,W'; put '44.639,-115.671,Warm Lake Springs,Challis,Hotspring,W,W'; put '44.445,-115.239,Bear Valley Hot Spring,Challis,Hotspring,W,W'; put '44.354,-117.071,Old Homestead Warm Spring,Baker,Hotspring,W,W'; put '43.327,-113.918,Condie Hot Springs,Idaho Falls,Hotspring,124,51'; put '43.038,-112.004,Alkali Flats Warm Spring,Idaho Falls,Hotspring,93,34'; put '44.43,-115.762,Bull Creek Hot Springs,Challis,Hotspring,H,H'; put '42.119,-111.928,Squaw Hot Springs,Preston,Hotspring,163,73'; put '42.333,-111.716,Cleveland Hot Springs,Preston,Hotspring,151,66'; put '43.671,-115.696,Twin Springs,Hailey,Hotspring,151,66'; put '43.951,-116.353,Roystone Hot Springs,Boise,Hotspring,151,66'; put '42.704,-114.856,Salmon Falls Hot Spring,Twin Falls,Hotspring,153,67'; put '44.16,-115.177,Sacajawea Hot Springs,Challis,Hotspring,153,67'; put '43.738,-115.583,Vaughn Hot Spring,Hailey,Hotspring,154,68'; put '44.669,-116.305,Council Mtn Hot Springs,Baker,Hotspring,154,68'; put '44.831,-115.215,Kwiskwis Hot Spring,Challis,Hotspring,156,69'; put '43.684,-114.41,Guyer Hot Springs,Hailey,Hotspring,158,70'; put '43.155,-115.518,Hot Springs,Hailey,Hotspring,158,70'; put '44.586,-116.63,Lakey Hot Spring,Baker,Hotspring,158,70'; put '42.333,-115.65,Indian Hot Springs,Twin Falls,Hotspring,160,71'; put '42.637,-114.892,Poison Springs,Twin Falls,Hotspring,H,H'; put '44.813,-115.123,Middle Fork Indian Creek Hot Sprin,Challis,Hotspring,162,72'; put '44.072,-115.543,Kirkham Hot Springs,Challis,Hotspring,149,65'; put '43.328,-114.399,Magic Hot Springs,Hailey,Hotspring,163,73'; put '43.293,-114.908,Barrons Hot Spring,Hailey,Hotspring,167,75'; put '44.154,-115.993,Warm Springs Creek Hot Springs,Challis,Hotspring,167,75'; put '44.268,-114.748,Sunbeam Hot Springs,Challis,Hotspring,169,76'; put '44.092,-116.052,Deer Hot Springs,Baker,Hotspring,176,80'; put '43.563,-114.798,Worswick Hot Springs,Hailey,Hotspring,180,82'; put '42.133,-111.928,Battle Creek Hot Springs,Preston,Hotspring,183,84'; put '44.364,-115.856,Boiling Springs,Challis,Hotspring,185,85'; put '44.157,-115.314,Bonneville Hot Springs,Challis,Hotspring,185,85'; put '44.799,-115.129,Indian Creek Hot Spring,Challis,Hotspring,190,88'; put '44.568,-115.695,Vulcan Hot Springs,Challis,Hotspring,190,88'; put '44.306,-116.745,Crane Creek Hot Springs,Baker,Hotspring,198,92'; put '44.416,-116.031,Cabarton Hot Spring,Baker,Hotspring,160,71'; put '42.781,-111.983,Portneuf River Warm Spring,Preston,Hotspring,93,34'; put '44.621,-115.985,Badley Warm Spring,Challis,Hotspring,100,38'; put '45.201,-116.312,Boulder Creek Spring,Grangeville,Hotspring,82,28'; put '42.24,-113.588,Sears Spring,Pocatello,Hotspring,84,29'; put '44.257,-112.639,Warm Springs,Dubois,Hotspring,84,29'; put '42.911,-111.556,Henry Warm Spring,Preston,Hotspring,86,30'; put '43.021,-111.695,Wilson Lake Warm Spring,Driggs,Hotspring,86,30'; put '44.495,-116.732,Keithly Warm Spring,Baker,Hotspring,86,30'; put '42.655,-111.643,Steamboat Hot Spring,Preston,Hotspring,88,31'; put '45.152,-116.296,Stinky Warm Spring,Grangeville,Hotspring,88,31'; put '42.725,-112.872,Indian Springs,Pocatello,Hotspring,90,32'; put '43.114,-112.167,Yandell Springs,Idaho Falls,Hotspring,90,32'; put '44.64,-116.045,Arling Hot Spring,Baker,Hotspring,90,32'; put '42.657,-111.604,Soda Springs,Preston,Hotspring,82,28'; put '45.07,-115.826,Lick Creek Warm Spring,Elk City,Hotspring,91,33'; put '42.337,-111.726,Treasureton Hot Springs,Preston,Hotspring,95,35'; put '44.382,-114.088,Little Antelope Flat Warm Spring,Challis,Hotspring,93,34'; put '43.21,-111.495,Brockman Creek Hot Spring,Driggs,Hotspring,95,35'; put '44.398,-115.149,Cape Horn Warm Springs,Challis,Hotspring,95,35'; put '42.337,-114.509,Nat-Soo-Pah Warm Spring,Twin Falls,Hotspring,97,36'; put '44.9,-115.505,Hot Creek Warm Spring,Challis,Hotspring,97,36'; put '42.405,-114.142,Artesian City Hot Springs,Twin Falls,Hotspring,99,37'; put '42.762,-115.739,Indian Bathtub Hot Springs,Twin Falls,Hotspring,99,37'; put '43.227,-111.109,Alpine Warm Spring,Driggs,Hotspring,99,37'; put '42.545,-112.906,Rockland Warm Springs,Pocatello,Hotspring,100,38'; put '43.805,-114.585,Russian John Hot Spring,Hailey,Hotspring,100,38'; put '43.779,-114.539,Easley Hot Springs,Hailey,Hotspring,100,38'; put '44.26,-114.838,Mormon Bend Hot Spring,Challis,Hotspring,100,38'; put '44.64,-113.504,Big Eightmile Creek Warm Spring,Dubois,Hotspring,91,33'; put '42.339,-112.436,Kent Warm Spring,Pocatello,Hotspring,75,24'; put '42.957,-112.458,Tadpole Warm Spring,Pocatello,Hotspring,68,20'; put '43.607,-111.189,Taylor Springs,Driggs,Hotspring,68,20'; put '43.972,-116.325,Sweet Warm Spring,Boise,Hotspring,68,20'; put '44.717,-115.703,Dollar Creek Warm Spring,Challis,Hotspring,68,20'; put '42.625,-113.107,Lake Walcott Hot Spring,Pocatello,Hotspring,70,21'; put '42.015,-114.237,Thoroughbred Warm Springs,Twin Falls,Hotspring,69,21'; put '42.928,-111.592,Blackfoot Reservoir Warm Spring,Preston,Hotspring,72,22'; put '42.286,-113.446,"Rice Spring, Ward Spring",Pocatello,Hotspring,72,22'; put '42.085,-113.564,Grape Creek Warm Spring,Pocatello,Hotspring,72,22'; put '43.66,-111.715,Elkhorn Warm Spring,Driggs,Hotspring,72,22'; put '43.367,-113.884,Rush Warm Spring,Idaho Falls,Hotspring,72,22'; put '44.306,-117.042,Weiser Warm Springs,Baker,Hotspring,72,22'; put '45.344,-114.463,Owl Creek Hot Springs,Elk City,Hotspring,122,50'; put '44.454,-112.696,Big Spring,Dubois,Hotspring,73,23'; put '44.269,-113.449,Barney Hot Springs,Dubois,Hotspring,82,28'; put '43.5,-115.308,Towne Creek Warm Spring,Hailey,Hotspring,75,24'; put '43.161,-116.332,Thomas Flats Warm Spring,Boise,Hotspring,75,24'; put '44.612,-113.363,Whittaker Warm Springs,Dubois,Hotspring,75,24'; put '42.173,-112.239,Malad Warm Spring,Pocatello,Hotspring,77,25'; put '42.156,-112.348,Pleasantview Warm Springs,Pocatello,Hotspring,77,25'; put '42.025,-112.226,Prices Warm Spring,Pocatello,Hotspring,77,25'; put '42.865,-116.368,Lower Birch Spring,Jordan Valley,Hotspring,77,25'; put '43.423,-111.414,Fall Creek Mineral Springs,Driggs,Hotspring,77,25'; put '42.986,-111.743,Blackfoot River Warm Spring,Preston,Hotspring,79,26'; put '42.426,-111.378,Pescadero Warm Spring,Preston,Hotspring,79,26'; put '44.091,-111.458,Ashton Warm Spring,Ashton,Hotspring,79,26'; put '42.056,-112.246,Woodruff Hot Spring,Pocatello,Hotspring,81,27'; put '43.831,-116.396,Highland Land Co Warm Spring,Boise,Hotspring,73,23'; put '44.847,-115.696,Holdover Hot Spring,Challis,Hotspring,117,47'; put '43.047,-114.929,Hot Sulphur Lake,Hailey,Hotspring,81,27'; put '43.603,-115.07,Baumgartner Hot Spring,Hailey,Hotspring,111,44'; put '44.465,-116.037,Belvidere Hot Spring,Baker,Hotspring,111,44'; put '42.621,-112.008,Lava Hot Springs,Pocatello,Hotspring,113,45'; put '43.823,-115.327,Weatherby Hot Spring,Hailey,Hotspring,113,45'; put '43.335,-115.044,Wolf Hot Spring,Hailey,Hotspring,113,45'; put '44.905,-113.929,Goldbug Hot Spring,Dubois,Hotspring,113,45'; put '45.095,-113.836,Salmon Hot Spring,Dillon,Hotspring,113,45'; put '45.277,-115.912,Burgdorf Hot Springs,Elk City,Hotspring,113,45'; put '44.836,-114.79,Hospital Hot Spring,Challis,Hotspring,115,46'; put '44.72,-114.016,Cronks Canyon Hot Spring,Challis,Hotspring,115,46'; put '44.721,-115.207,Pistol Creek Hot Springs,Challis,Hotspring,115,46'; put '43.791,-111.435,Pincock (Green Canyon) Hot Springs,Driggs,Hotspring,111,44'; put '43.414,-116.707,Givens Hot Springs,Boise,Hotspring,117,47'; put '45.503,-114.463,Horse Creek Hot Springs,Elk City,Hotspring,109,43'; put '46.464,-115.035,Weir Creek Hot Springs,Hamilton,Hotspring,117,47'; put '42.115,-111.264,Bear Lake Hot Springs,Preston,Hotspring,118,48'; put '42.173,-113.861,Oakley Hot Spring,Pocatello,Hotspring,118,48'; put '46.463,-114.872,Jerry Johnson Hot Springs,Hamilton,Hotspring,118,48'; put '43.644,-111.687,Heise Hot Springs,Driggs,Hotspring,120,49'; put '44.799,-114.806,Lower Loon Creek Hot Spring,Challis,Hotspring,120,49'; put '44.253,-115.891,Rocky Canyon Hot Springs,Challis,Hotspring,120,49'; put '46.316,-115.258,Stanley Hot Springs,Hamilton,Hotspring,120,49'; put '43.779,-115.486,Brown Creek Hot Spring,Hailey,Hotspring,122,50'; put '44.628,-114.601,Shower Bath Springs,Challis,Hotspring,122,50'; put '44.171,-114.624,Slate Creek Hot Spring,Challis,Hotspring,122,50'; put '44.392,-115.834,Ground Hog Hot Springs,Challis,Hotspring,100,38'; put '42.797,-115.723,"Bat Hot Spring, Pence Hot Spring",Twin Falls,Hotspring,117,47'; put '42.767,-115.725,Lower Indian Bathtub Hot Springs,Twin Falls,Hotspring,108,42'; put '42.102,-113.632,Durfee Spring,Pocatello,Hotspring,102,39'; put '44.33,-115.802,Silver Creek Hot Spring,Challis,Hotspring,102,39'; put '42.447,-113.523,Marsh Creek Hot Spring,Pocatello,Hotspring,104,40'; put '42.449,-113.511,Marsh Gully Hot Springs,Pocatello,Hotspring,106,41'; put '42.798,-115.742,Bruneau Hot Spring,Twin Falls,Hotspring,106,41'; put '43.576,-114.83,Preis Hot Spring,Hailey,Hotspring,106,41'; put '43.677,-116.208,Terteling Hot Springs,Boise,Hotspring,106,41'; put '44.254,-114.443,Sullivan Hot Springs,Challis,Hotspring,106,41'; put '44.224,-114.929,Stanley Hot Spring,Challis,Hotspring,106,41'; put '44.101,-114.865,Rosalys Warm Spring,Challis,Hotspring,106,41'; put '44.06,-115.819,Danskin Creek Hot Spring,Challis,Hotspring,106,41'; put '45.852,-114.937,Running Warm Springs,Elk City,Hotspring,106,41'; put '43.363,-113.779,Milford Sweat Hot Spring,Idaho Falls,Hotspring,111,44'; put '46.466,-114.939,Colgate Warm Springs,Hamilton,Hotspring,106,41'; put '44.626,-115.749,Trail Creek Hot Spring,Challis,Hotspring,122,50'; put '43.816,-115.863,Warm Springs,Hailey,Hotspring,108,42'; put '43.76,-115.56,Pool Creek Hot Spring,Hailey,Hotspring,108,42'; put '45.042,-114.616,Snowshoe Johnsons Hot Spring,Elk City,Hotspring,108,42'; put '42.388,-112.085,Downata Hot Springs,Pocatello,Hotspring,109,43'; put '42.013,-114.504,Magic Hot Springs,Twin Falls,Hotspring,109,43'; put '42.779,-115.715,Buckaroo Hot Spring,Twin Falls,Hotspring,109,43'; put '43.99,-114.8,Pierson Hot Springs,Hailey,Hotspring,109,43'; put '43.038,-114.988,Tschanne Hot Spring,Hailey,Hotspring,109,43'; put '44.523,-114.173,Beardsley Hot Springs,Challis,Hotspring,109,43'; put '44.733,-115.018,Sunflower Flat Hot Spring,Challis,Hotspring,109,43'; put '44.516,-115.295,Dagger Creek Hot Spring,Challis,Hotspring,110,43'; put '44.971,-116.203,Krigbaum Hot Springs,Baker,Hotspring,109,43'; put '45.416,-116.172,Riggins Hot Springs,Grangeville,Hotspring,106,41'; put '42.735,-73.2,Sand Spring,Albany,Hotspring,75,24'; put '46.106,-114.004,Sleeping Child Hot Springs,Hamilton,Hotspring,122,50'; put '45.697,-114.365,Blue Joint Hot Springs 2,Elk City,Hotspring,84,29'; put '44.769,-111.649,Sloan Cow Camp Spring,Ashton,Hotspring,86,30'; put '47.632,-112.855,Medicine (Sun River) Springs,Choteau,Hotspring,86,30'; put '45.75,-113.938,Gallogly Spring,Dillon,Hotspring,100,38'; put '47.33,-114.789,Quinns Hot Springs,Wallace,Hotspring,109,43'; put '45.171,-112.153,Puller Hot Springs,Dillon,Hotspring,111,44'; put '46.728,-114.533,"Lolo Hot Springs, Granite Springs",Hamilton,Hotspring,111,44'; put '45.337,-110.691,Chico Hot Springs,Bozeman,Hotspring,113,45'; put '47.607,-114.663,Camas Hot Springs,Wallace,Hotspring,113,45'; put '45.841,-114.038,Medicine Hot Springs,Elk City,Hotspring,117,47'; put '45.458,-113.109,Elkhorn Hot Springs,Dillon,Hotspring,118,48'; put '45.027,-112.844,Mcmenomey Ranch Spring,Dillon,Hotspring,68,20'; put '45.792,-112.126,Renova Hot Springs,Dillon,Hotspring,122,50'; put '44.701,-111.878,Staudenmeyer Springs,Ashton,Hotspring,82,28'; put '45.602,-111.9,Potosi Warm Springs,Bozeman,Hotspring,124,51'; put '45.575,-111.683,Norris Hot Springs,Bozeman,Hotspring,127,53'; put '45.462,-112.475,New Biltmore Hot Springs,Dillon,Hotspring,127,53'; put '45.66,-111.186,Bozeman Hot Springs,Bozeman,Hotspring,131,55'; put '45.896,-112.233,Pipestone Hot Springs,Dillon,Hotspring,135,57'; put '46.547,-110.903,White Sulphur Springs,White Sulphur,Hotspring,136,58'; put '46.448,-111.982,Alhambra Hot Springs,White Sulphur,Hotspring,138,59'; put '45.757,-110.256,Hunters Hot Springs,Bozeman,Hotspring,140,60'; put '45.368,-113.403,Jardine Hot Spring,Dillon,Hotspring,140,60'; put '46.596,-112.108,Broadwater (Helena) Hot Springs,Butte,Hotspring,151,66'; put '44.984,-111.613,Wolf Creek Hot Springs,Ashton,Hotspring,154,68'; put '45.685,-112.295,Silver Star Hot Springs,Dillon,Hotspring,163,73'; put '45.59,-111.899,Potosi Hot Springs,Bozeman,Hotspring,122,50'; put '45.105,-112.751,Browns Springs,Dillon,Hotspring,75,24'; put '46.718,-113.306,Bearmouth Warm Spring 2,Butte,Hotspring,68,20'; put '46.717,-113.32,Bearmouth Warm Spring 1,Butte,Hotspring,68,20'; put '47.217,-109.471,Brooks Warm Spring,Lewistown,Hotspring,68,20'; put '45.708,-110.976,Bridger Canyon Warm Spring,Bozeman,Hotspring,70,21'; put '46.795,-108.883,Durfee Creek Springs,Roundup,Hotspring,70,21'; put '46.704,-113.452,Nimrod Springs,Butte,Hotspring,70,21'; put '47.876,-108.656,Landusky Springs,Lewistown,Hotspring,70,21'; put '45.032,-110.667,Bear Creek Springs,Bozeman,Hotspring,72,22'; put '45.111,-112.714,Lovells Hot Spring,Dillon,Hotspring,72,22'; put '46.106,-112.903,Anaconda Hot Springs,Butte,Hotspring,72,22'; put '45.235,-112.135,Trudau Warm Springs,Dillon,Hotspring,73,23'; put '45.698,-114.382,Blue Joint Hot Spring 1,Elk City,Hotspring,84,29'; put '45.037,-111.953,Vigilante Spring,Bozeman,Hotspring,75,24'; put '45.608,-110.571,Carter Bridge Warm Springs,Bozeman,Hotspring,82,28'; put '46.355,-111.565,Bedford Hot Springs,White Sulphur,Hotspring,74,24'; put '45.553,-110.142,Anderson Springs,Bozeman,Hotspring,77,25'; put '45.42,-112.692,Apex Warm Spring,Dillon,Hotspring,77,25'; put '46.607,-112.776,Garrison Warm Springs,Butte,Hotspring,77,25'; put '47.843,-108.598,The (Landusky) Plunge,Lewistown,Hotspring,77,25'; put '44.785,-111.649,West Fork Swimming Hole,Ashton,Hotspring,79,26'; put '46.61,-112.555,Avon Warm Spring,Butte,Hotspring,79,26'; put '46.334,-112.886,Deerlodge Prison Ranch Springs,Butte,Hotspring,79,26'; put '47.994,-108.445,Lodgepole (Big Warm) Springs,Lewistown,Hotspring,79,26'; put '47.451,-114.648,Green Springs,Wallace,Hotspring,79,26'; put '45.392,-112.452,Beaverhead Rock Spring,Dillon,Hotspring,81,27'; put '44.704,-111.892,Andersons Pasture Springs,Ashton,Hotspring,82,28'; put '47.971,-108.395,Little Warm Springs,Lewistown,Hotspring,73,23'; put '46.198,-112.094,Boulder Hot Springs,Butte,Hotspring,169,76'; put '46.178,-112.794,Warm Springs (State Hospital),Butte,Hotspring,172,78'; put '45.367,-111.726,Ennis Hot Springs,Bozeman,Hotspring,181,83'; put '46.044,-112.811,Gregson Hot Springs,Butte,Hotspring,158,70'; put '45.09,-110.774,Laduke (Corwin) Hot Spring,Bozeman,Hotspring,154,68'; put '35.897,-82.826,Hot Springs,Knoxville,Hotspring,108,42'; put '32.644,-108.128,Apache Tejo Warm Spring,Silver City,Hotspring,97,36'; put '33.135,-107.254,Truth Or Consequences,Tularosa,Hotspring,113,45'; put '36.305,-106.053,Ojo Caliente (Arsenic Spring),Aztec,Hotspring,111,44'; put '33.162,-108.209,Spring (Hot),Clifton,Hotspring,111,44'; put '36.508,-105.722,Manby Hot Springs,Raton,Hotspring,100,38'; put '35.849,-106.629,Spence Hot Springs,Albuquerque,Hotspring,100,38'; put '35.972,-106.56,San Antonio Warm Spring,Albuquerque,Hotspring,101,38'; put '35.82,-106.627,Mccauley Hot Springs,Albuquerque,Hotspring,99,37'; put '35.793,-106.685,Soda Dam Hot Springs,Albuquerque,Hotspring,117,47'; put '33.831,-108.8,(Upper) Frisco Hot Spring,Clifton,Hotspring,98,37'; put '35.646,-106.888,Warm Springs,Albuquerque,Hotspring,129,54'; put '36.324,-105.606,Ponce De Leon Springs,Raton,Hotspring,93,34'; put '34.038,-106.94,"Socorro Spring, Sedillo Spring",Socorro,Hotspring,93,34'; put '33.293,-108.282,"Spring Mfg Two, Spring Mfg Three",Clifton,Hotspring,99,37'; put '35.592,-106.753,Indian Springs,Albuquerque,Hotspring,123,51'; put '32.501,-106.926,Radium Springs,Las Cruces,Hotspring,127,53'; put '33.274,-108.25,Spring Mfg Four,Clifton,Hotspring,93,34'; put '35.938,-106.646,San Antonio Hot Spring,Albuquerque,Hotspring,129,54'; put '33.244,-108.88,San Francisco Hot Springs,Clifton,Hotspring,120,49'; put '32.748,-107.836,Mimbres Hot Springs,Las Cruces,Hotspring,136,58'; put '35.653,-105.29,Montezuma Hot Springs,Santa Fe,Hotspring,138,59'; put '33.233,-108.235,Spring (Hot),Clifton,Hotspring,149,65'; put '33.199,-108.209,Gila Hot Springs,Clifton,Hotspring,151,66'; put '33.108,-108.483,Turkey Creek Hot Spring,Clifton,Hotspring,165,74'; put '35.772,-106.69,Jemez Springs,Albuquerque,Hotspring,169,76'; put '35.908,-106.615,Sulphur Springs,Albuquerque,Hotspring,189,87'; put '33.237,-108.88,Hot Springs,Clifton,Hotspring,H,H'; put '32.562,-108.027,Kennecott Warm Springs,Silver City,Hotspring,W,W'; put '32.554,-107.994,Faywood Hot Springs,Las Cruces,Hotspring,129,54'; put '33.898,-108.501,Aragon Springs,Clifton,Hotspring,70,21'; put '34.847,-107.091,Spring (Salt),Socorro,Hotspring,76,24'; put '34.903,-107.085,El Ojo Escondido,Socorro,Hotspring,73,23'; put '35.06,-107.133,Alamos Spring,Albuquerque,Hotspring,72,22'; put '34.912,-108.951,Rainbow Spring,Saint Johns,Hotspring,71,22'; put '34.698,-107.129,Spring,Socorro,Hotspring,71,22'; put '32.455,-104.489,Indian Big Spring,Carlsbad,Hotspring,79,26'; put '34.995,-106.454,Clear Water Spring,Socorro,Hotspring,69,21'; put '32.821,-108.408,Ash Spring,Silver City,Hotspring,72,22'; put '32.83,-109.047,Goat Camp Spring,Silver City,Hotspring,69,21'; put '35.548,-106.827,San Ysidro Warm Springs,Albuquerque,Hotspring,68,20'; put '34.116,-106.98,Ojitos Springs,Socorro,Hotspring,68,20'; put '32.248,-104.411,Mosley Spring,Carlsbad,Hotspring,68,20'; put '33.708,-109.025,Frieborn Canyon Spring,Clifton,Hotspring,92,33'; put '33.192,-108.18,Lyons Hunting Lodge Hot Springs,Clifton,Hotspring,126,52'; put '35.601,-106.86,Phillips Springs,Albuquerque,Hotspring,70,21'; put '33.285,-108.262,Spring Mfg One,Clifton,Hotspring,88,31'; put '33.306,-108.324,The Meadows Warm Spring,Clifton,Hotspring,91,33'; put '34.049,-106.939,Cook Spring,Socorro,Hotspring,70,21'; put '32.795,-107.276,Derry Warm Springs,Las Cruces,Hotspring,92,33'; put '32.884,-108.358,Allen Springs,Silver City,Hotspring,78,26'; put '33.279,-107.563,Warm Springs,Tularosa,Hotspring,87,31'; put '32.606,-107.19,Souse Springs,Las Cruces,Hotspring,88,31'; put '34.808,-107.091,Spring (Salt),Socorro,Hotspring,86,30'; put '35.54,-106.854,San Ysidro Hot Springs,Albuquerque,Hotspring,85,29'; put '36.368,-106.059,Statue Spring,Aztec,Hotspring,83,28'; put '34.833,-107.091,Laguna Pueblo Seeps,Socorro,Hotspring,82,28'; put '33.572,-107.593,Ojo Caliente,Tularosa,Hotspring,83,28'; put '34.854,-107.088,Laguna Pueblo Springs,Socorro,Hotspring,80,27'; put '32.843,-108.512,Mangas Springs,Silver City,Hotspring,81,27'; put '34.769,-107.085,Spring (Salt),Socorro,Hotspring,78,26'; put '34.032,-106.777,Ojo De Las Canas,Socorro,Hotspring,79,26'; put '40.972,-119.007,Black Rock Hot Spring,Lovelock,Hotspring,136,58'; put '38.899,-119.41,Nevada (Hinds) Hot Springs,Walker Lake,Hotspring,144,62'; put '38.922,-118.198,Wedell Hot Springs,Walker Lake,Hotspring,144,62'; put '41.183,-114.991,Hot Springs,Wells,Hotspring,142,61'; put '38.437,-116.277,Hot Creek Valley Spring,Tonopah,Hotspring,142,61'; put '41.788,-114.735,Mineral Hot Spring,Wells,Hotspring,140,60'; put '37.825,-117.337,Alkali Hot Spring,Goldfield,Hotspring,140,60'; put '41.412,-114.675,Wine Cup Ranch Springs,Wells,Hotspring,138,59'; put '40.404,-116.517,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59'; put '40.417,-116.507,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59'; put '40.603,-116.463,Horseshoe Ranch Springs,Winnemucca,Hotspring,136,58'; put '41.378,-119.182,Springs (Hot),Vya,Hotspring,136,58'; put '39.883,-114.893,Cherry Creek Hot Springs,Ely,Hotspring,144,62'; put '40.922,-117.108,Hot Pot (Blossom Hot Springs),Winnemucca,Hotspring,136,58'; put '41.721,-118.505,Howard Hot Spring,Vya,Hotspring,135,57'; put '41.421,-117.388,The Hot Springs,Mcdermitt,Hotspring,135,57'; put '40.418,-117.415,Buffalo Springs,Winnemucca,Hotspring,162,72'; put '39.031,-116.666,Dianas Punch Bowl,Millett,Hotspring,138,59'; put '39.404,-116.347,Klobe (Bartholomae) Hot Spring,Millett,Hotspring,156,69'; put '36.975,-116.721,Hicks Hot Springs,Death Valley,Hotspring,109,43'; put '40.178,-117.496,Home Station Ranch Hot Spring,Winnemucca,Hotspring,135,57'; put '39.797,-118.067,Dixie Hot Springs,Reno,Hotspring,162,72'; put '39.904,-116.588,Walti Hot Springs,Millett,Hotspring,162,72'; put '38.981,-119.833,Walleys Hot Springs,Walker Lake,Hotspring,160,71'; put '38.464,-115.792,Chimney Warm Spring,Lund,Hotspring,160,71'; put '39.328,-116.858,Spencer Hot Springs,Millett,Hotspring,162,72'; put '41.108,-117.578,Hot Springs,Mcdermitt,Hotspring,158,70'; put '36.002,-114.742,Spring,Las Vegas,Hotspring,145,63'; put '41.576,-115.181,Hot Creek Springs,Wells,Hotspring,151,66'; put '40.954,-117.488,Golconda Hot Spring (South),Winnemucca,Hotspring,151,66'; put '40.22,-116.068,Bruffeys Hot Springs,Winnemucca,Hotspring,149,65'; put '40.249,-115.409,Smith Ranch Springs,Elko,Hotspring,149,65'; put '41.867,-114.692,San Jacinto Ranch Spring,Wells,Hotspring,148,64'; put '40.765,-116.04,Hot Sulphur Springs,Winnemucca,Hotspring,147,64'; put '38.188,-116.373,Warm Springs,Tonopah,Hotspring,145,63'; put '41.567,-118.564,Dyke Hot Springs,Vya,Hotspring,158,70'; put '38.365,-115.867,Abel Spring,Lund,Hotspring,115,46'; put '41.929,-114.071,Nile Spring,Wells,Hotspring,109,43'; put '39.193,-119.752,Carson Hot Springs,Reno,Hotspring,120,49'; put '39.512,-119.907,Lawton Hot Springs,Reno,Hotspring,120,49'; put '39.944,-119.509,Anaho Island Spring,Reno,Hotspring,120,49'; put '37.761,-117.632,Silverpeak Hot Spring,Goldfield,Hotspring,118,48'; put '37.621,-114.51,Caliente Hot Springs,Caliente,Hotspring,118,48'; put '39.058,-119.742,Saratoga Hot Spring,Reno,Hotspring,122,50'; put '39.308,-117.552,Hot Springs,Millett,Hotspring,115,46'; put '40.673,-116.838,Hot Springs,Winnemucca,Hotspring,122,50'; put '39.08,-116.639,Potts Ranch Hot Springs,Millett,Hotspring,113,45'; put '38.388,-115.866,Coyote Hole Spring,Lund,Hotspring,113,45'; put '41.753,-118.841,Warm Springs,Vya,Hotspring,112,44'; put '41.386,-114.165,Spring (Hot),Wells,Hotspring,111,44'; put '40.961,-117.494,Golconda Hot Spring (North),Winnemucca,Hotspring,165,74'; put '40.313,-117.07,Mound Springs,Winnemucca,Hotspring,109,43'; put '40.585,-115.285,Sulphur Hot Springs,Elko,Hotspring,205,96'; put '39.059,-119.815,Hobo Hot Springs,Reno,Hotspring,114,46'; put '40.191,-117.107,Hot Springs,Winnemucca,Hotspring,127,53'; put '40.819,-115.777,Hot Hole,Elko,Hotspring,133,56'; put '39.286,-119.84,Bowers Mansion Hot Spring,Reno,Hotspring,133,56'; put '41.809,-118.861,Painted Hills Mine,Vya,Hotspring,131,55'; put '41.925,-118.805,Bog Hot Springs,Vya,Hotspring,131,55'; put '41.647,-115.775,Wild Horse Hot Springs,Wells,Hotspring,129,54'; put '40.183,-117.102,Hot Springs Ranch,Winnemucca,Hotspring,129,54'; put '40.08,-117.604,Mccoy Springs,Winnemucca,Hotspring,120,49'; put '41.353,-119.216,Spring (Hot),Vya,Hotspring,127,53'; put '41.357,-119.188,Springs (Hot),Vya,Hotspring,133,56'; put '40.198,-117.103,Hot Springs,Winnemucca,Hotspring,127,53'; put '39.42,-119.738,Dimonte Spring,Reno,Hotspring,127,53'; put '38.952,-115.23,Williams Hot Spring,Lund,Hotspring,127,53'; put '41.261,-115.305,Hot Springs,Wells,Hotspring,126,52'; put '39.041,-116.663,Hot Spring,Millett,Hotspring,124,51'; put '41.365,-119.221,Spring (Hot),Vya,Hotspring,122,50'; put '41.159,-114.986,"Threemile Spring, Sulphur Hot Spr",Wells,Hotspring,122,50'; put '41.339,-119.192,Springs (Hot),Vya,Hotspring,127,53'; put '39.893,-116.649,Little Hot Springs,Millett,Hotspring,H,H'; put '39.787,-119.011,Bradys Hot Springs,Reno,Hotspring,209,98'; put '41.175,-115.278,Hot Spring,Wells,Hotspring,H,H'; put '41.145,-114.994,Hot Spring,Wells,Hotspring,H,H'; put '40.864,-117.349,Sulphur Spring,Winnemucca,Hotspring,H,H'; put '39.733,-119.039,Eagle Salt Works Spring,Reno,Hotspring,H,H'; put '39.281,-118.42,Sand Springs,Reno,Hotspring,H,H'; put '38.81,-116.397,Fish Springs,Tonopah,Hotspring,W,W'; put '39.559,-117.427,Petersons Mill Hot Spring,Millett,Hotspring,H,H'; put '38.339,-116.662,Warm Spring,Tonopah,Hotspring,W,W'; put '38.859,-119.175,Hot Spring,Walker Lake,Hotspring,H,H'; put '39.995,-117.854,Senator Fumaroles,Millett,Hotspring,B,B'; put '39.565,-118.856,(Soda Lake Area),Reno,Hotspring,210,99'; put '40.141,-119.687,The Needle Rocks Hot Springs,Lovelock,Hotspring,208,98'; put '40.146,-119.673,The Needle Rocks Hot Spring,Lovelock,Hotspring,208,98'; put '40.662,-119.365,Great Boiling Spring (Gerlach),Lovelock,Hotspring,208,98'; put '39.388,-119.743,Steamboat Springs,Reno,Hotspring,205,96'; put '39.866,-118.017,Dixie Comstock Mine,Reno,Hotspring,H,H'; put '40.746,-116.689,White House Spring,Winnemucca,Hotspring,W,W'; put '39.98,-119.502,Pyramid Island Hot Spring,Reno,Hotspring,.,.'; put '41.934,-118.808,Warm Springs,Vya,Hotspring,W,W'; put '41.385,-116.058,Petaini Springs,Mcdermitt,Hotspring,W,W'; put '41.064,-115.389,Warm Springs,Wells,Hotspring,W,W'; put '41.066,-114.99,Spring,Wells,Hotspring,W,W'; put '41.355,-114.133,Warm Springs,Wells,Hotspring,W,W'; put '41.148,-116.733,Hot Lake,Mcdermitt,Hotspring,H,H'; put '40.684,-116.153,Ellison Ranch Warm Spring,Winnemucca,Hotspring,W,W'; put '40.604,-117.648,Leach Hot Springs,Winnemucca,Hotspring,207,97'; put '40.751,-115.035,Warm Springs,Elko,Hotspring,W,W'; put '40.782,-115.363,Warm Spring,Elko,Hotspring,W,W'; put '39.529,-116.388,Warm Spring,Millett,Hotspring,W,W'; put '39.072,-115.635,Big Blue Spring,Ely,Hotspring,W,W'; put '38.95,-119.388,Spring,Walker Lake,Hotspring,W,W'; put '38.965,-118.689,Double Spring,Walker Lake,Hotspring,W,W'; put '38.458,-117.303,Indian Springs,Tonopah,Hotspring,W,W'; put '40.592,-116.157,Raine Ranch Springs,Winnemucca,Hotspring,W,W'; put '39.941,-116.681,Hot Springs,Millett,Hotspring,180,82'; put '40.567,-116.588,Beowawe Hot Springs (The Geysers),Winnemucca,Hotspring,208,98'; put '40.761,-117.492,Hot Springs,Winnemucca,Hotspring,185,85'; put '40.653,-119.378,Mud Springs,Lovelock,Hotspring,184,84'; put '38.768,-119.174,Wilson Hot Spring,Walker Lake,Hotspring,183,84'; put '41.921,-118.709,Baltazor Hot Spring,Vya,Hotspring,181,83'; put '40.857,-119.328,Fly Ranch (Wards) Hot Springs,Lovelock,Hotspring,180,82'; put '39.597,-119.11,Patua Hot Springs (Fernley),Reno,Hotspring,187,86'; put '39.028,-117.136,Mcleod Ranch Hot Spring,Millett,Hotspring,180,82'; put '40.316,-116.433,Hot Spring,Winnemucca,Hotspring,186,86'; put '38.521,-116.365,Hot Creek Ranch Hot Spring,Tonopah,Hotspring,180,82'; put '41.051,-119.028,Double Hot Springs,Vya,Hotspring,178,81'; put '40.003,-117.718,Hyder Hot Springs,Winnemucca,Hotspring,176,80'; put '39.665,-114.807,Monte Neva Hot Springs,Ely,Hotspring,176,80'; put '40.368,-117.327,Buffalo Valley Hot Springs,Winnemucca,Hotspring,174,79'; put '40.699,-116.133,Hot Springs (Carlin),Winnemucca,Hotspring,174,79'; put '41.052,-118.717,Macfarlane Hot Spring,Vya,Hotspring,170,77'; put '39.342,-118.578,Borax Spring,Reno,Hotspring,180,82'; put '39.484,-119.804,Moana Springs,Reno,Hotspring,199,93'; put '41.243,-114.947,Twelvemile Spring,Wells,Hotspring,102,39'; put '39.38,-119.74,Steamboat Springs,Reno,Hotspring,205,96'; put '39.558,-116.36,Bartine Hot Springs,Millett,Hotspring,108,42'; put '39.954,-117.917,Fumaroles,Millett,Hotspring,204,96'; put '40.389,-119.402,Hot Seeps (San Emidio Desert),Lovelock,Hotspring,203,95'; put '38.822,-117.183,Darroughs Hot Springs,Tonopah,Hotspring,203,95'; put '40.088,-117.725,Sou (Seven Devils) Hot Springs,Winnemucca,Hotspring,185,85'; put '41.363,-118.788,Pinto Hot Springs,Vya,Hotspring,199,93'; put '40.408,-117.883,Kyle Hot Springs,Winnemucca,Hotspring,171,77'; put '41.357,-118.809,West Pinto Hot Spring,Vya,Hotspring,198,92'; put '39.316,-117.549,Hot Springs,Millett,Hotspring,198,92'; put '41.468,-116.15,Hot Sulphur Springs (Tuscarora),Mcdermitt,Hotspring,194,90'; put '40.813,-115.778,Elko Hot Spring,Elko,Hotspring,190,88'; put '39.208,-118.723,"Lee Hot Springs, Allen Springs",Reno,Hotspring,190,88'; put '40.262,-119.379,Boiling Springs,Lovelock,Hotspring,187,86'; put '40.77,-119.113,Butte Springs (Trego Hot Springs),Lovelock,Hotspring,187,86'; put '39.161,-119.183,Wabuska Hot Springs,Reno,Hotspring,201,94'; put '39.814,-115.612,Giocoecha Warm Springs,Ely,Hotspring,76,24'; put '36.389,-114.433,Blue Point Spring,Las Vegas,Hotspring,82,28'; put '37.016,-117.211,Seep,Goldfield,Hotspring,77,25'; put '37.751,-116.274,Cedar Spring,Goldfield,Hotspring,77,25'; put '37.896,-114.227,Flatnose Ranch Spring,Caliente,Hotspring,77,25'; put '36.207,-115.983,Pahrump (Bennetts) Spring,Las Vegas,Hotspring,77,25'; put '41.775,-115.921,Rizzi Ranch Hot Spring,Wells,Hotspring,106,41'; put '35.944,-114.731,Hot Spring,Kingman,Hotspring,78,26'; put '41.884,-114.117,Gambles Hole,Wells,Hotspring,104,40'; put '36.565,-115.671,Indian Springs,Las Vegas,Hotspring,78,26'; put '39.547,-114.915,Campbell Ranch Springs,Ely,Hotspring,76,24'; put '38.423,-115.022,Flag Springs,Lund,Hotspring,75,24'; put '38.44,-115.011,Butterfield Springs,Lund,Hotspring,75,24'; put '37.997,-118.039,Fish Spring,Mariposa,Hotspring,75,24'; put '37.029,-116.719,Springs,Goldfield,Hotspring,75,24'; put '36.426,-116.411,Ash Tree Spring,Death Valley,Hotspring,75,24'; put '36.033,-115.888,Browns Spring,Las Vegas,Hotspring,75,24'; put '41.322,-119.206,Springs,Vya,Hotspring,75,24'; put '41.706,-118.261,Ninemile Springs,Vya,Hotspring,79,26'; put '35.964,-114.743,Hot Spring,Kingman,Hotspring,82,28'; put '41.763,-118.279,Fivemile Spring,Vya,Hotspring,81,27'; put '39.457,-119.722,Huffaker Springs,Reno,Hotspring,81,27'; put '38.992,-117.042,Charnock (Big Blue) Springs,Tonopah,Hotspring,80,27'; put '36.402,-116.302,Davis Ranch Springs,Death Valley,Hotspring,81,27'; put '36.45,-116.313,Spring,Death Valley,Hotspring,81,27'; put '39.792,-114.692,Lower Shellbourne Spring,Ely,Hotspring,77,25'; put '41.338,-119.168,Springs,Vya,Hotspring,79,26'; put '41.022,-119.275,Caine Spring,Vya,Hotspring,73,23'; put '41.05,-117.1,Hot Springs Ranch Springs,Mcdermitt,Hotspring,79,26'; put '40.079,-116.035,Flynn Ranch Springs,Winnemucca,Hotspring,78,26'; put '40.325,-116.058,Hot Springs,Winnemucca,Hotspring,79,26'; put '36.414,-116.292,Spring,Death Valley,Hotspring,79,26'; put '36.173,-115.191,Las Vegas Springs,Las Vegas,Hotspring,79,26'; put '36.174,-115.479,White Rock Spring,Las Vegas,Hotspring,78,26'; put '36.565,-115.623,Spring,Las Vegas,Hotspring,79,26'; put '36.491,-116.342,"Fairbanks Spring, Soda Spring",Death Valley,Hotspring,81,27'; put '38.654,-114.633,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '36.363,-116.271,Bole Spring,Death Valley,Hotspring,72,22'; put '36.999,-116.706,Spring,Death Valley,Hotspring,72,22'; put '36.942,-115.425,Ash Creek Spring,Las Vegas,Hotspring,72,22'; put '38.796,-119.65,Doud Springs,Walker Lake,Hotspring,70,21'; put '38.622,-115.047,Emigrant Springs,Lund,Hotspring,70,21'; put '38.927,-115.082,Preston Springs,Lund,Hotspring,70,21'; put '36.147,-115.893,Manse Ranch Spring,Las Vegas,Hotspring,75,24'; put '38.645,-114.632,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '38.574,-115.522,Tom Spring,Lund,Hotspring,72,22'; put '38.671,-114.628,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '37.783,-114.528,Bennett Springs,Caliente,Hotspring,70,21'; put '37.86,-114.321,Delmues Springs,Caliente,Hotspring,70,21'; put '36.408,-116.313,Davis Ranch Spring,Death Valley,Hotspring,70,21'; put '36.567,-114.446,Seep,Las Vegas,Hotspring,70,21'; put '41.369,-114.187,Gamble Spring,Wells,Hotspring,69,20'; put '39.901,-115.868,Thompson Ranch Spring,Ely,Hotspring,68,20'; put '38.633,-114.638,Wambolt Springs,Lund,Hotspring,70,21'; put '37.906,-118.171,Sand Spring,Mariposa,Hotspring,74,23'; put '36.486,-114.329,Springs,Las Vegas,Hotspring,77,25'; put '41.354,-119.116,Mustang Springs,Vya,Hotspring,73,23'; put '41.746,-119.791,Warm Springs,Vya,Hotspring,73,23'; put '41.258,-118.937,Cane Springs,Vya,Hotspring,74,23'; put '40.103,-119.884,Fish Springs,Lovelock,Hotspring,73,23'; put '39.853,-119.719,Spring,Reno,Hotspring,73,23'; put '39.832,-116.069,Sulphur Spring,Millett,Hotspring,74,23'; put '36.363,-116.263,Spring,Death Valley,Hotspring,72,22'; put '38.554,-115.531,Kate Spring,Lund,Hotspring,73,23'; put '37.074,-116.691,Spring,Goldfield,Hotspring,72,22'; put '37.979,-117.993,Gap Spring,Goldfield,Hotspring,73,23'; put '41.591,-119.862,Twin (Vya) Spring,Vya,Hotspring,71,22'; put '40.763,-119.172,Coyote Spring,Lovelock,Hotspring,72,22'; put '40.127,-116.884,Springs,Winnemucca,Hotspring,72,22'; put '40.187,-116.805,Spring,Winnemucca,Hotspring,72,22'; put '40.967,-114.515,Johnson Ranch Springs,Elko,Hotspring,72,22'; put '36.205,-115.141,Kyle Spring,Las Vegas,Hotspring,75,24'; put '39.8,-114.653,Upper Shellbourne Spring,Ely,Hotspring,74,23'; put '36.428,-116.303,Button Springs,Death Valley,Hotspring,93,34'; put '38.383,-115.153,Hot Creek Ranch Spring,Lund,Hotspring,90,32'; put '39.283,-114.866,Lackawanna Hot Springs,Ely,Hotspring,95,35'; put '38.532,-116.465,Upper Warm Spring,Tonopah,Hotspring,95,35'; put '38.823,-116.717,South Mosquito Creek Ranch Springs,Tonopah,Hotspring,95,35'; put '40.829,-117.306,Brooks Spring,Winnemucca,Hotspring,93,34'; put '40.992,-117.763,Spring,Winnemucca,Hotspring,93,34'; put '41.971,-114.574,Warm Springs,Wells,Hotspring,95,35'; put '38.95,-115.7,Big Warm Spring,Lund,Hotspring,93,34'; put '37.463,-115.192,Ash Springs,Caliente,Hotspring,97,36'; put '36.464,-116.319,Parent Springs,Death Valley,Hotspring,93,34'; put '38.352,-115.181,Moon River Spring,Lund,Hotspring,92,33'; put '36.402,-116.274,"Point of Rocks Springs, King Sprin",Death Valley,Hotspring,91,33'; put '36.421,-116.322,Crystal Pool,Death Valley,Hotspring,91,33'; put '36.425,-116.291,Devils Hole,Death Valley,Hotspring,92,33'; put '39.068,-119.786,Springs,Reno,Hotspring,90,32'; put '38.954,-117.049,Big Blue (A) Spring,Tonopah,Hotspring,90,32'; put '40.087,-114.647,Collar And Elbow Spring,Elko,Hotspring,93,34'; put '36.378,-114.443,Rogers Spring,Las Vegas,Hotspring,82,28'; put '39.943,-116.073,Shipley Hot Spring,Millett,Hotspring,106,41'; put '38.698,-116.435,"Upper Warm Spring, Warm Spring",Tonopah,Hotspring,106,41'; put '41.53,-118.57,Spring,Vya,Hotspring,104,40'; put '41.877,-115.628,Rowland Hot Springs,Wells,Hotspring,104,40'; put '40.035,-117.604,Lower Ranch Hot Springs,Winnemucca,Hotspring,104,40'; put '40.187,-116.79,Chillis Hot Spring,Winnemucca,Hotspring,102,39'; put '39.988,-116.044,Siri Ranch Spring,Millett,Hotspring,95,35'; put '39.421,-119.758,Zolezzi Spring,Reno,Hotspring,102,39'; put '38.531,-116.405,Old Dugan Ranch Hot Springs,Tonopah,Hotspring,102,39'; put '36.968,-116.723,Burrell Hot Spring,Death Valley,Hotspring,102,39'; put '38.343,-118.103,Soda Springs,Walker Lake,Hotspring,100,38'; put '38.556,-115.767,"Lockes Big Spring, Hay Corral Spr",Lund,Hotspring,100,38'; put '38.594,-115.138,Moorman Spring,Lund,Hotspring,100,38'; put '38.398,-115.862,Storm Spring,Lund,Hotspring,99,37'; put '41.19,-115.287,Hot Spring,Wells,Hotspring,97,36'; put '37.822,-117.48,Pearl Hot Springs,Goldfield,Hotspring,97,36'; put '39.159,-119.737,Nevada State Prison Spring,Reno,Hotspring,75,24'; put '40.025,-117.646,Spring,Winnemucca,Hotspring,83,28'; put '40.83,-119.538,Springs,Lovelock,Hotspring,84,29'; put '39.442,-119.743,Double Diamond Spring,Reno,Hotspring,84,29'; put '39.413,-114.779,Mcgill Spring,Ely,Hotspring,84,29'; put '39.458,-114.756,Schoolhouse Spring,Ely,Hotspring,84,29'; put '36.375,-116.274,Big (Ash Meadows) Spring,Death Valley,Hotspring,83,28'; put '38.292,-114.272,Hammond Ranch Spring,Lund,Hotspring,84,29'; put '41.398,-119.165,Spring,Vya,Hotspring,84,29'; put '41.732,-119.785,Seeps (Hills Warm Spring),Vya,Hotspring,83,28'; put '38.563,-115.528,Blue Eagle Springs,Lund,Hotspring,84,29'; put '40.873,-117.937,Rose Creek Spring,Winnemucca,Hotspring,83,28'; put '39.917,-114.667,Spring,Ely,Hotspring,83,28'; put '36.39,-116.278,Jack Rabbit Spring,Death Valley,Hotspring,82,28'; put '36.437,-116.206,Spring,Death Valley,Hotspring,82,28'; put '38.937,-115.695,Little Warm Spring,Lund,Hotspring,90,32'; put '36.479,-116.326,Rogers Spring,Death Valley,Hotspring,82,28'; put '40.29,-116.049,Carlotti Ranch Springs,Winnemucca,Hotspring,102,39'; put '36.468,-116.325,Longstreet Spring,Death Valley,Hotspring,82,28'; put '36.722,-114.716,Muddy Spring,Las Vegas,Hotspring,90,32'; put '37.532,-115.233,Crystal Springs,Caliente,Hotspring,90,32'; put '37.598,-115.215,Hiko Spring,Caliente,Hotspring,90,32'; put '36.404,-116.383,Spring,Death Valley,Hotspring,90,32'; put '37.996,-116.389,Reveille Mill Spring,Goldfield,Hotspring,84,29'; put '36.71,-114.714,Moapa Warm Springs,Las Vegas,Hotspring,90,32'; put '35.982,-114.748,Hot Springs,Kingman,Hotspring,86,30'; put '40.929,-116.895,Izzenhood Ranch Springs,Winnemucca,Hotspring,88,31'; put '37.807,-114.38,Panaca Spring,Caliente,Hotspring,88,31'; put '36.942,-116.729,Spring,Death Valley,Hotspring,88,31'; put '41.98,-114.376,Hot Spring,Wells,Hotspring,86,30'; put '36.433,-116.308,Scruggs Springs,Death Valley,Hotspring,86,30'; put '40.952,-114.751,Ralphs Warm Springs,Elko,Hotspring,86,30'; put '39.526,-118.876,Soda Lake,Reno,Hotspring,86,30'; put '38.027,-116.683,Spring,Tonopah,Hotspring,86,30'; put '37.741,-115.753,Sand Spring,Caliente,Hotspring,86,30'; put '36.918,-116.744,Beatty Municipal Spring,Death Valley,Hotspring,88,31'; put '38.255,-116.829,Saulsbury Warm Spring,Tonopah,Hotspring,86,30'; put '42.48,-73.37,Lebanon Spring,Albany,Hotspring,72,22'; put '44.241,-122.058,Bigelow Hot Springs,Salem,Hotspring,142,61'; put '44.862,-121.201,Kahneeta Hot Springs,Bend,Hotspring,126,52'; put '44.927,-117.939,Radium Hot Springs,Baker,Hotspring,135,57'; put '44.354,-118.574,Blue Mountain Hot Springs,Canyon City,Hotspring,136,58'; put '44.936,-122.173,Bagby Hot Springs,Salem,Hotspring,136,58'; put '43.944,-118.136,Beulah Hot Springs,Burns,Hotspring,140,60'; put '43.763,-117.156,Mitchell Butte Hot Spring,Boise,Hotspring,144,62'; put '42.116,-121.287,Oregon Hot Springs (Big Hot Spring,Klamath Falls,Hotspring,142,61'; put '45.151,-118.659,Lehman Springs,Pendleton,Hotspring,142,61'; put '43.719,-121.209,East Lake Hot Springs,Crescent,Hotspring,144,62'; put '43.469,-118.202,Luce Hot Springs,Burns,Hotspring,145,63'; put '45.018,-117.625,Medical Hot Springs,Grangeville,Hotspring,140,60'; put '44.867,-121.228,Springs,Bend,Hotspring,125,52'; put '42.188,-118.383,Flagstaff Butte Hot Spring,Adel,Hotspring,126,52'; put '44.451,-119.105,Mount Vernon Hot Springs,Canyon City,Hotspring,121,49'; put '42.977,-117.061,Canters Hot Spring,Jordan Valley,Hotspring,120,49'; put '43.294,-122.367,Umpqua Hot Springs,Roseburg,Hotspring,117,47'; put '44.002,-119.647,Weberg Hot Spring,Canyon City,Hotspring,115,46'; put '43.739,-117.178,Deer Butte Hot Spring,Boise,Hotspring,115,46'; put '43.795,-117.958,Jonesboro Warm Spring,Boise,Hotspring,112,45'; put '42.075,-119.927,Hallinan Spring,Adel,Hotspring,113,45'; put '42.297,-119.776,Fisher Hot Springs,Adel,Hotspring,154,68'; put '45.013,-117.885,Kropp Hot Spring,Grangeville,Hotspring,109,43'; put '42.221,-120.368,Hunters Hot Springs,Klamath Falls,Hotspring,205,96'; put '44.083,-122.233,Cougar Reservoir Hot Springs,Salem,Hotspring,111,44'; put '44.023,-117.46,Neal Hot Springs,Baker,Hotspring,189,87'; put '42.431,-121.963,Eagle Point Spring,Klamath Falls,Hotspring,95,35'; put '43.689,-122.372,Kitson Hot Springs,Roseburg,Hotspring,109,43'; put '44.813,-117.765,Spring (Hot),Baker,Hotspring,W,W'; put '43.776,-118.047,Warm Spring,Burns,Hotspring,W,W'; put '43.793,-118.472,Sitz Warm Spring,Burns,Hotspring,W,W'; put '43.86,-118.288,Altnow Hot Spring,Burns,Hotspring,W,W'; put '43.893,-117.596,Springs,Boise,Hotspring,W,W'; put '45.206,-117.912,Union Station Hot Springs,Grangeville,Hotspring,H,H'; put '44.208,-117.455,Jamieson Hot Springs,Baker,Hotspring,H,H'; put '42.338,-118.602,Hot Springs,Adel,Hotspring,207,97'; put '44.782,-121.975,Breitenbush Hot Springs,Bend,Hotspring,198,92'; put '42.219,-119.877,Warner Valley Ranch,Adel,Hotspring,198,92'; put '42.156,-120.345,Barry Ranch Hot Springs,Klamath Falls,Hotspring,190,88'; put '44.193,-122.049,Belknap Springs,Salem,Hotspring,160,71'; put '45.021,-122.009,Austin Hot Springs,Vancouver,Hotspring,186,86'; put '42.676,-118.344,Mickey Springs,Adel,Hotspring,187,86'; put '44.153,-122.098,Foley Springs,Salem,Hotspring,178,81'; put '45.244,-117.958,Hot Lake Springs,Grangeville,Hotspring,176,80'; put '42.544,-118.533,Alvord Hot Springs,Adel,Hotspring,174,79'; put '43.441,-118.638,Crane Hot Springs,Burns,Hotspring,172,78'; put '42.226,-119.881,Crump Geyser (Crump Spring),Adel,Hotspring,172,78'; put '43.727,-117.203,Snively Hot Spring,Boise,Hotspring,170,77'; put '42.174,-121.615,Olene Gap Hot Springs,Klamath Falls,Hotspring,165,74'; put '43.708,-122.288,Mccredie Springs,Roseburg,Hotspring,163,73'; put '43.982,-117.233,Vale Hot Springs,Boise,Hotspring,163,73'; put '42.162,-120.344,Leithead Hot Spring,Klamath Falls,Hotspring,162,72'; put '45.372,-121.697,Mount Hood Fumaroles,The Dalles,Hotspring,194,90'; put '43.264,-119.015,Dunn Spring,Burns,Hotspring,70,21'; put '42.873,-122.167,Annie Spring,Medford,Hotspring,77,25'; put '42.133,-121.219,Wilkersons Hot Spring,Klamath Falls,Hotspring,76,24'; put '43.272,-119.293,Basque Spring,Burns,Hotspring,74,23'; put '43.276,-119.34,Double O Spring,Burns,Hotspring,74,23'; put '44.073,-119.427,Brisbois Ranch Springs,Canyon City,Hotspring,72,22'; put '43.265,-119.276,Johnson Spring,Burns,Hotspring,72,22'; put '43.281,-119.311,Double O Barnyard Spring,Burns,Hotspring,72,22'; put '43.501,-119.091,Roadland Spring,Burns,Hotspring,72,22'; put '43.529,-119.081,Goodman Spring,Burns,Hotspring,72,22'; put '43.703,-117.19,South Black Willow Spring,Boise,Hotspring,71,22'; put '42.307,-119.875,Moss Ranch Spring,Adel,Hotspring,72,22'; put '43.758,-118.067,Juntura Warm Spring 1,Burns,Hotspring,77,25'; put '43.732,-121.252,Paulina Springs,Crescent,Hotspring,70,21'; put '42.176,-121.828,Howard Holiday,Klamath Falls,Hotspring,77,25'; put '43.477,-119.075,Baker Spring,Burns,Hotspring,70,21'; put '42.178,-121.801,Hardboard Spring,Klamath Falls,Hotspring,70,21'; put '42.325,-120.327,White Rock Ranch Hot Spring,Klamath Falls,Hotspring,71,21'; put '43.252,-119.258,Hughet Spring,Burns,Hotspring,68,20'; put '42.38,-120.33,Bean Hot Spring,Klamath Falls,Hotspring,69,20'; put '42.933,-120.642,Lost Cabin Spring,Klamath Falls,Hotspring,68,20'; put '42.998,-120.725,Buckhorn Creek Springs,Klamath Falls,Hotspring,68,20'; put '42.688,-117.905,Tudors Spring,Jordan Valley,Hotspring,68,20'; put '42.756,-117.55,Scott Spring,Jordan Valley,Hotspring,68,20'; put '42.725,-120.646,Summer Lake Hot Spring,Klamath Falls,Hotspring,109,43'; put '43.757,-118.092,Juntura Warm Spring 2,Burns,Hotspring,95,35'; put '44.374,-118.738,Limekiln Hot Spring,Canyon City,Hotspring,70,21'; put '42.221,-122.742,Jackson Hot Springs,Medford,Hotspring,95,35'; put '44.892,-119.141,Ritter Hot Springs,Canyon City,Hotspring,106,41'; put '43.808,-122.309,Wall Creek Warm Springs,Roseburg,Hotspring,106,41'; put '43.395,-118.308,Springs (Hot),Burns,Hotspring,106,41'; put '43.302,-117.383,Hot Spring,Boise,Hotspring,106,41'; put '44.28,-118.956,Joaquin Miller Hot Springs,Canyon City,Hotspring,104,40'; put '42.501,-119.693,Antelope Hot Springs,Adel,Hotspring,104,40'; put '45.129,-118.738,Hidaway Springs,Pendleton,Hotspring,100,38'; put '44.975,-118.044,Fisher Hot Springs,Canyon City,Hotspring,99,37'; put '44.033,-117.449,Bully Creek Spring,Baker,Hotspring,99,37'; put '42.93,-120.798,Pardon Warm Spring,Klamath Falls,Hotspring,76,24'; put '42.327,-118.602,Borax Lake (Hot Lake),Adel,Hotspring,97,36'; put '42.161,-121.627,Crystal Spring,Klamath Falls,Hotspring,78,26'; put '45.741,-118.233,Bingham Springs,Pendleton,Hotspring,93,34'; put '42.889,-118.898,Fivemile Spring (Hoghouse Hot Sprs,Adel,Hotspring,80,27'; put '43.54,-119.081,Millpond Hot Spring,Burns,Hotspring,79,26'; put '45.891,-116.873,Cook Creek Hot Spring,Grangeville,Hotspring,97,36'; put '45.295,-121.731,Swim Warm Springs,The Dalles,Hotspring,79,26'; put '42.04,-120.924,Warm Spring,Klamath Falls,Hotspring,92,33'; put '44.779,-117.811,Sam O Spring,Baker,Hotspring,80,27'; put '44.538,-117.417,Nelson Spring,Baker,Hotspring,80,27'; put '45.631,-119.703,Well Spring,Pendleton,Hotspring,80,27'; put '42.287,-119.867,Moss Ranch Springs,Adel,Hotspring,83,28'; put '45.061,-118.455,Warm Mineral Spring,Pendleton,Hotspring,83,28'; put '43.95,-119.634,Warm Springs,Burns,Hotspring,84,29'; put '45.295,-117.806,Warm Spring,Grangeville,Hotspring,85,29'; put '42.815,-118.899,Warm Springs,Adel,Hotspring,89,32'; put '43.452,-103.508,Hot Brook Springs,Hot Springs,Hotspring,75,24'; put '43.442,-103.481,Hot Springs,Hot Springs,Hotspring,87,31'; put '29.178,-102.953,Rio Grande Village Spring,Emory Peak,Hotspring,97,36'; put '30.823,-105.315,Indian Hot Springs,Marfa,Hotspring,117,47'; put '30.038,-104.598,Ruidosa Hot Springs,Marfa,Hotspring,113,45'; put '29.182,-102.992,Hot Springs,Emory Peak,Hotspring,106,41'; put '30.21,-104.562,Capote Springs,Marfa,Hotspring,99,37'; put '30.133,-104.602,Nixon Spring,Marfa,Hotspring,90,32'; put '29.787,-104.462,Springs (Las Cienegas),Presidio,Hotspring,86,30'; put '30.861,-105.34,Red Bull Spring,Marfa,Hotspring,99,37'; put '38.85,-112.49,Hatton Hot Spring,Richfield,Hotspring,100,38'; put '40.176,-111.801,Bird Island,Salt Lake City,Hotspring,86,30'; put '41.917,-111.958,Gancheff Spring,Ogden,Hotspring,88,31'; put '37.942,-112.438,Lefevre,Cedar City,Hotspring,90,32'; put '37.335,-113.687,Veyo Hot Spring,Cedar City,Hotspring,90,32'; put '40.332,-111.891,Fault Zone Spring,Salt Lake City,Hotspring,90,32'; put '40.146,-111.806,Lincoln Point Warm Springs,Salt Lake City,Hotspring,90,32'; put '38.186,-112.912,Us Blm,Richfield,Hotspring,91,33'; put '41.833,-112.454,Blue Creek Spring,Brigham City,Hotspring,82,28'; put '40.526,-111.488,Midway Hot Springs,Salt Lake City,Hotspring,100,38'; put '40.525,-111.468,Midway Hot Springs,Salt Lake City,Hotspring,104,40'; put '40.038,-111.529,Castilla Springs,Salt Lake City,Hotspring,104,40'; put '38.217,-112.904,Dotsons (Radium) Warm Spring,Richfield,Hotspring,91,33'; put '40.465,-109.221,Split Mountain Warm Springs,Vernal,Hotspring,86,30'; put '40.788,-112.017,Hobo Warm Spring,Tooele,Hotspring,84,29'; put '40.788,-111.899,Wasatch Hot Springs,Salt Lake City,Hotspring,108,42'; put '39.35,-113.515,Tule Spring,Delta,Hotspring,82,28'; put '39.424,-113.485,Coyote Spring,Delta,Hotspring,82,28'; put '39.842,-113.392,Fish Springs,Delta,Hotspring,82,28'; put '39.887,-113.413,North Springs,Delta,Hotspring,82,28'; put '41.756,-113.603,Warm Spring,Brigham City,Hotspring,81,27'; put '41.038,-111.656,Como Springs,Ogden,Hotspring,81,27'; put '40.397,-112.421,Morgans Warm Spring,Tooele,Hotspring,80,27'; put '39.464,-114.038,Gandy Warm Springs,Ely,Hotspring,81,27'; put '40.447,-110.828,Warm Springs,Salt Lake City,Hotspring,79,26'; put '37.7,-110.421,Warm Spring,Escalante,Hotspring,79,26'; put '40.502,-114.038,Blue Lake Spring,Elko,Hotspring,84,29'; put '38.503,-112.849,Roosevelt Hot Springs,Richfield,Hotspring,133,56'; put '38.774,-112.096,Richfield Warm Springs,Richfield,Hotspring,73,23'; put '40.488,-111.911,Crystal Hot Springs,Salt Lake City,Hotspring,187,86'; put '38.186,-113.197,Thermo Hot Springs,Richfield,Hotspring,185,85'; put '38.172,-113.204,Thermo Hot Springs,Richfield,Hotspring,181,83'; put '39.613,-112.729,"Baker (Abraham, Crater) Hot Spring",Delta,Hotspring,180,82'; put '38.639,-112.098,Red Hill Hot Spring,Richfield,Hotspring,171,77'; put '38.633,-112.107,Monroe (Cooper) Hot Springs,Richfield,Hotspring,169,76'; put '38.613,-112.202,Joseph Hot Springs,Richfield,Hotspring,147,64'; put '39.906,-113.43,Wilson Health Springs,Delta,Hotspring,142,61'; put '41.138,-112.175,Hooper Hot Springs,Brigham City,Hotspring,140,60'; put '41.338,-112.031,Utah Hot Springs,Brigham City,Hotspring,138,59'; put '38.864,-112.506,Meadow Hot Springs,Richfield,Hotspring,106,41'; put '40.815,-111.918,Becks Hot Spring,Salt Lake City,Hotspring,133,56'; put '37.189,-113.272,Dixie (Laverkin) Hot Springs,Cedar City,Hotspring,108,42'; put '41.659,-112.087,Crystal (Madsens) Hot Springs,Brigham City,Hotspring,129,54'; put '41.855,-112.158,Udy Hot Springs,Brigham City,Hotspring,124,51'; put '41.578,-112.23,Stinking Hot Springs,Brigham City,Hotspring,118,48'; put '40.517,-111.475,Midway Hot Spring,Salt Lake City,Hotspring,115,46'; put '40.536,-111.478,Warm Ditch Spring,Salt Lake City,Hotspring,115,46'; put '40.35,-111.905,Saratoga Hot Springs,Salt Lake City,Hotspring,111,44'; put '40.353,-111.895,Crater Hot Spring,Salt Lake City,Hotspring,111,44'; put '41.901,-112.999,Coyote Spring,Brigham City,Hotspring,109,43'; put '41.687,-113.986,Spring (Hot),Brigham City,Hotspring,108,42'; put '41.582,-112.256,Little Mountain Hot Spring,Brigham City,Hotspring,108,42'; put '41.822,-113.263,L.G. Carter Springs,Brigham City,Hotspring,77,25'; put '41.236,-111.924,Ogden Hot Spring,Ogden,Hotspring,135,57'; put '37.178,-113.634,Snow Spring,Cedar City,Hotspring,70,21'; put '38.34,-113.22,Woodhouse Spring,Richfield,Hotspring,72,22'; put '38.155,-112.901,Willow Spring,Richfield,Hotspring,72,22'; put '38.56,-112.578,Sulphurdale,Richfield,Hotspring,72,22'; put '38.981,-111.829,Salt Spring,Salina,Hotspring,72,22'; put '37.174,-112.535,Red Canyon,Cedar City,Hotspring,72,22'; put '41.808,-113.327,W.R. Carter Springs,Brigham City,Hotspring,70,21'; put '41.818,-113.311,Larson Springs,Brigham City,Hotspring,70,21'; put '41.829,-113.654,Head Spring,Brigham City,Hotspring,70,21'; put '40.653,-112.907,Redlum Spring,Tooele,Hotspring,70,21'; put '40.458,-111.929,Camp Williams,Salt Lake City,Hotspring,70,21'; put '40.647,-112.524,Grantsville Warm Springs,Tooele,Hotspring,77,25'; put '39.183,-111.691,Sterling (Peacock) Warm Spring,Price,Hotspring,72,22'; put '39.246,-111.645,Livingston Warm Springs,Price,Hotspring,73,23'; put '38.138,-112.863,Big Maple Spring,Richfield,Hotspring,70,21'; put '37.393,-113.61,Irvine Spring,Cedar City,Hotspring,70,21'; put '41.563,-113.954,Kimber (Rose) Spring,Brigham City,Hotspring,68,20'; put '41.614,-113.613,Warm Spring,Brigham City,Hotspring,68,20'; put '41.328,-111.826,Patio Springs,Ogden,Hotspring,68,20'; put '40.172,-112.426,Davis,Tooele,Hotspring,68,20'; put '40.118,-111.337,Diamond Fork Warm Springs,Salt Lake City,Hotspring,68,20'; put '39.249,-113.877,Knoll Springs,Delta,Hotspring,68,20'; put '39.403,-113.863,Twin Springs,Delta,Hotspring,68,20'; put '39.788,-111.881,Ray Lunt Spring,Price,Hotspring,68,20'; put '38.762,-112.87,Springs,Richfield,Hotspring,68,20'; put '38.77,-112.871,Coyote Spring,Richfield,Hotspring,68,20'; put '37.937,-112.424,Tebbs,Cedar City,Hotspring,68,20'; put '37.096,-113.447,Warner Valley Spring,Cedar City,Hotspring,70,21'; put '40.565,-112.738,Deseret Livestock South Springs,Tooele,Hotspring,73,23'; put '37.158,-113.399,Virgin River Spring,Cedar City,Hotspring,70,21'; put '39.899,-112.045,Springs,Delta,Hotspring,72,22'; put '38.603,-112.111,Johnson Warm Spring,Richfield,Hotspring,77,25'; put '41.722,-112.266,Bothwell Warm Springs,Brigham City,Hotspring,75,24'; put '40.538,-112.747,Deseret Livestock,Tooele,Hotspring,75,24'; put '40.733,-112.621,Utah Fish And Game Dept,Tooele,Hotspring,75,24'; put '40.228,-111.867,Warm Springs,Salt Lake City,Hotspring,75,24'; put '37.137,-113.513,Warm Spring,Cedar City,Hotspring,75,24'; put '37.138,-113.528,Green Spring,Cedar City,Hotspring,75,24'; put '37.166,-113.383,Berry Springs,Cedar City,Hotspring,75,24'; put '41.834,-112.054,Cutler Warm Spring,Brigham City,Hotspring,73,23'; put '40.614,-112.709,Horseshoe Springs,Tooele,Hotspring,73,23'; put '41.239,-112.413,Compton Spring,Brigham City,Hotspring,72,22'; put '40.743,-112.642,Big Warm Springs,Tooele,Hotspring,72,22'; put '40.558,-112.739,Deseret Livestock South Spring,Tooele,Hotspring,72,22'; put '40.39,-112.424,Russells Warm Springs,Tooele,Hotspring,72,22'; put '41.831,-113.391,Pugsley,Brigham City,Hotspring,73,23'; put '41.449,-112.442,Poulsen Spring (Salt),Brigham City,Hotspring,72,22'; put '40.167,-111.622,Wood Springs,Salt Lake City,Hotspring,73,23'; put '40.234,-111.865,Warm Springs,Salt Lake City,Hotspring,77,25'; put '39.955,-111.858,Goshen Warm Srings,Price,Hotspring,73,23'; put '39.334,-113.518,South Tule Spring,Delta,Hotspring,77,25'; put '39.616,-112.803,Fumarole Butte,Delta,Hotspring,73,23'; put '40.545,-111.928,East Jordan Canal,Salt Lake City,Hotspring,73,23'; put '41.643,-112.281,Springs,Brigham City,Hotspring,72,22'; put '37.29,-80.619,New River White Sulphur Springs,Bluefield,Hotspring,85,29'; put '37.997,-79.83,Hot Springs,Roanoke,Hotspring,106,41'; put '37.898,-79.462,Rockbridge Baths,Roanoke,Hotspring,72,22'; put '38.055,-79.78,Warm Springs,Charlottesvill,Hotspring,95,35'; put '37.963,-79.861,Healing Springs,Roanoke,Hotspring,86,30'; put '38.238,-79.65,Bragg Spring,Charlottesvill,Hotspring,75,24'; put '37.645,-80.238,Sweet Chalybeate Spring,Bluefield,Hotspring,75,24'; put '38.218,-79.673,Bolar Spring,Charlottesvill,Hotspring,73,23'; put '37.86,-79.988,Layton Spring,Roanoke,Hotspring,72,22'; put '37.87,-79.933,Falling Spring,Roanoke,Hotspring,77,25'; put '37.16,-80.806,Alum Springs,Bluefield,Hotspring,72,22'; put '46.852,-121.758,Mt Rainier Fumaroles,Yakima,Hotspring,162,72'; put '46.738,-121.562,Ohanapecosh Hot Springs,Yakima,Hotspring,122,50'; put '47.707,-121.155,Scenic Hot Springs,Wenatchee,Hotspring,122,50'; put '47.969,-123.864,Sol Duc Hot Springs,Seattle,Hotspring,122,50'; put '48.974,-119.475,Hot Lake,Okanogan,Hotspring,122,50'; put '45.658,-121.962,Moffetts (Bonneville) Hot Springs,The Dalles,Hotspring,97,36'; put '48.906,-119.455,Poison Lake,Okanogan,Hotspring,122,50'; put '45.701,-121.728,Collins Hot Springs,The Dalles,Hotspring,122,50'; put '47.484,-121.391,Goldmeyer Hot Springs,Wenatchee,Hotspring,127,53'; put '46.202,-121.492,Mount Adams Fumaroles,Yakima,Hotspring,150,66'; put '46.198,-122.197,Mt St Helens Fumaroles,Hoquiam,Hotspring,190,88'; put '48.789,-121.804,Dorr Fumarole Field,Concrete,Hotspring,194,90'; put '48.77,-121.813,Sherman Crater Fumaroles,Concrete,Hotspring,266,130'; put '45.723,-121.927,Rock Creek Hot Springs,The Dalles,Hotspring,H,H'; put '48.15,-121.062,Gamma Hot Springs,Concrete,Hotspring,140,60'; put '46.378,-122.265,Green River Soda Spring,Hoquiam,Hotspring,86,30'; put '46.575,-121.706,Packwood Hot Spring,Yakima,Hotspring,100,38'; put '47.201,-121.536,Lester Hot Springs,Wenatchee,Hotspring,120,49'; put '46.024,-118.771,Warm Springs Canyon Warm Spring,Walla Walla,Hotspring,72,22'; put '46.345,-121.6,Orr Creek Warm Springs,Yakima,Hotspring,72,22'; put '46.041,-121.181,Fish Hatchery Warm Spring,Yakima,Hotspring,75,24'; put '46.752,-121.814,Longmire Mineral Springs,Yakima,Hotspring,77,25'; put '47.892,-121.342,Garland Mineral Springs,Wenatchee,Hotspring,84,29'; put '46.452,-120.956,Simcoe Soda Springs,Yakima,Hotspring,90,32'; put '48.254,-121.17,Sulphur Creek Hot Springs,Concrete,Hotspring,99,37'; put '48.118,-121.192,Kennedy Hot Spring,Concrete,Hotspring,100,38'; put '48.763,-121.667,Baker Hot Spring,Concrete,Hotspring,108,42'; put '47.977,-123.682,Olympic Hot Springs,Seattle,Hotspring,118,48'; put '45.728,-121.8,St Martins Hot Springs,The Dalles,Hotspring,120,49'; put '45.821,-121.133,Klickitat Mineral Springs,The Dalles,Hotspring,81,27'; put '38.163,-79.975,Minnehaha Springs,Charlottesvill,Hotspring,70,21'; put '37.63,-80.24,Old Sweet Spring,Bluefield,Hotspring,73,23'; put '39.618,-78.23,Berkeley Springs,Cumberland,Hotspring,72,22'; put '38.605,-79.353,Thorn Spring,Charlottesvill,Hotspring,72,22'; put '39.471,-77.877,Swan Pond Spring,Baltimore,Hotspring,72,22'; put '44.29,-110.504,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94'; put '44.691,-110.728,Geyser Springs Group,Ashton,Hotspring,201,94'; put '44.554,-110.812,Fountain Group,Ashton,Hotspring,201,94'; put '44.543,-110.859,Fairy Springs,Ashton,Hotspring,201,94'; put '44.485,-110.852,"Biscuit Basin, Sapphire Pool",Ashton,Hotspring,201,94'; put '44.48,-110.85,Cascade Group,Ashton,Hotspring,201,94'; put '44.46,-110.844,Black Sand Basin,Ashton,Hotspring,201,94'; put '44.459,-110.835,Myriad Group,Ashton,Hotspring,201,94'; put '44.307,-110.526,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94'; put '44.354,-110.8,Shoshone Geyser Basin,Ashton,Hotspring,203,95'; put '44.568,-110.805,Quagmire Group,Ashton,Hotspring,203,95'; put '44.537,-110.801,"White Dome Geyser, Surprise Pool",Ashton,Hotspring,203,95'; put '44.52,-110.828,Flood Group,Ashton,Hotspring,203,95'; put '44.471,-110.843,"Daisy Group, Sentinel Geysers",Ashton,Hotspring,203,95'; put '44.466,-110.839,"Middle Group,tortoise Shell,inkwel",Ashton,Hotspring,203,95'; put '44.46,-110.828,"Geyser Hill Group, Old Faithful Ge",Ashton,Hotspring,203,95'; put '44.908,-110.393,Calcite Springs,Ashton,Hotspring,201,94'; put '44.417,-110.57,West Thumb Geyser Basin,Ashton,Hotspring,203,95'; put '44.459,-110.817,Southeastern Group,Ashton,Hotspring,198,92'; put '44.433,-110.581,Potts Hot Spring Basin,Ashton,Hotspring,203,95'; put '44.421,-110.952,Smoke Jumper Hot Springs,Ashton,Hotspring,198,92'; put '44.684,-110.753,Monument Geyser Basin,Ashton,Hotspring,197,92'; put '44.679,-110.746,Beryl Spring,Ashton,Hotspring,198,92'; put '44.544,-110.258,Turbid Springs,Ashton,Hotspring,198,92'; put '44.53,-110.297,Steamboat Springs,Ashton,Hotspring,198,92'; put '44.518,-110.813,"Hot Springs, Rabbit Creek Group",Ashton,Hotspring,198,92'; put '44.514,-110.828,Rabbit Creek Group,Ashton,Hotspring,198,92'; put '44.484,-110.873,Mystic Falls Springs,Ashton,Hotspring,198,92'; put '44.739,-110.324,Josephs Coat Springs,Ashton,Hotspring,199,93'; put '44.75,-110.714,Gas Vent,Ashton,Hotspring,H,H'; put '44.282,-110.506,Rustic Geyser,Ashton,Hotspring,199,93'; put '44.571,-110.811,Morning Mist Springs,Ashton,Hotspring,205,96'; put '44.733,-110.703,Cistern Spring,Ashton,Hotspring,199,93'; put '44.697,-110.724,Gibbon Hill Geyser,Ashton,Hotspring,199,93'; put '44.693,-110.738,Artists Paintpots,Ashton,Hotspring,199,93'; put '44.69,-110.384,Hot Springs on Bog Creek,Ashton,Hotspring,199,93'; put '44.526,-110.835,Excelsior Geyser Crater,Ashton,Hotspring,199,93'; put '44.418,-110.805,Lone Star Geyser,Ashton,Hotspring,199,93'; put '44.309,-110.654,Hot Springs on Lewis Lake,Ashton,Hotspring,199,93'; put '44.469,-110.828,Solitary Geyser,Ashton,Hotspring,198,92'; put '44.433,-110.813,Hot Springs,Ashton,Hotspring,H,H'; put '44.766,-110.3,Hot Springs,Ashton,Hotspring,H,H'; put '44.61,-110.438,Hot Springs,Ashton,Hotspring,H,H'; put '44.607,-110.617,Hot Springs East of Mary Lake,Ashton,Hotspring,H,H'; put '44.601,-110.632,Gas Vent East of Mary Lake,Ashton,Hotspring,H,H'; put '44.595,-110.622,Gas Vents Southeast of Mary Lake,Ashton,Hotspring,H,H'; put '44.572,-110.691,Hot Springs,Ashton,Hotspring,H,H'; put '44.553,-110.301,Beach Springs,Ashton,Hotspring,H,H'; put '44.551,-110.85,Springs on Fairy Creek,Ashton,Hotspring,H,H'; put '44.616,-110.616,Highland Hot Springs,Ashton,Hotspring,H,H'; put '44.438,-110.977,Hot Springs on Continental Divide,Ashton,Hotspring,H,H'; put '44.617,-110.432,Mud Geysers,Ashton,Hotspring,H,H'; put '44.404,-110.824,Hot Springs on Upper Firehole Rive,Ashton,Hotspring,H,H'; put '44.498,-109.193,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.495,-109.222,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.482,-109.204,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.841,-110.167,"Hot, on Lamar River",Ashton,Hotspring,W,W'; put '44.734,-110.029,Hot Springs,Ashton,Hotspring,W,W'; put '44.708,-110.471,Warm Spring,Ashton,Hotspring,W,W'; put '44.701,-110.036,Hot Springs,Ashton,Hotspring,W,W'; put '44.508,-110.832,Midway Picnic Ground,Ashton,Hotspring,H,H'; put '44.715,-110.555,Gas Vents,Ashton,Hotspring,H,H'; put '44.563,-110.834,River Group,Ashton,Hotspring,205,96'; put '44.544,-110.788,"Black Warrior Group, Shelf Spring",Ashton,Hotspring,205,96'; put '44.115,-110.684,Huckleberry Hot Springs,Ashton,Hotspring,B,B'; put '44.842,-110.732,Apollinaris Spring,Ashton,Hotspring,H,H'; put '44.825,-110.675,Gas Vents at Horseshoe Hill,Ashton,Hotspring,H,H'; put '44.781,-110.738,Steam Vents at Roaring Mountain,Ashton,Hotspring,H,H'; put '44.743,-110.242,Hot Spring Basin Group,Ashton,Hotspring,198,92'; put '44.752,-110.256,Hot Spring,Ashton,Hotspring,H,H'; put '44.612,-110.618,Gas Vent,Ashton,Hotspring,H,H'; put '44.741,-110.699,Gas Vent,Ashton,Hotspring,H,H'; put '44.566,-110.871,"Flat Cone Spring, Steep Cone",Ashton,Hotspring,205,96'; put '44.711,-110.468,Hot Springs,Ashton,Hotspring,H,H'; put '44.708,-110.461,Forest Springs,Ashton,Hotspring,H,H'; put '44.672,-110.236,Hot Springs,Ashton,Hotspring,H,H'; put '44.667,-110.282,Hot Springs,Ashton,Hotspring,H,H'; put '44.656,-110.572,Violet Springs,Ashton,Hotspring,H,H'; put '44.642,-110.238,Hot Spring,Ashton,Hotspring,H,H'; put '44.634,-110.234,The Mudkettles,Ashton,Hotspring,H,H'; put '44.634,-110.226,The Mushpots,Ashton,Hotspring,H,H'; put '44.532,-110.874,"Imperial Geyser, Spray Geyser",Ashton,Hotspring,192,89'; put '42.545,-106.725,Alcova Hot Springs,Casper,Hotspring,129,54'; put '42.75,-109.616,Steele Hot Springs,Lander,Hotspring,102,39'; put '43.37,-110.445,Granite Hot Spring,Driggs,Hotspring,106,41'; put '43.008,-108.835,Washakie Mineral Hot Springs,Thermopolis,Hotspring,111,44'; put '43.907,-110.198,North Buffalo Fork Springs,Driggs,Hotspring,113,45'; put '43.365,-110.443,Granite Falls Hot Springs,Driggs,Hotspring,112,45'; put '42.817,-110.997,Johnson Springs,Preston,Hotspring,115,46'; put '44.723,-110.358,Hot Spring on Moss Creek,Ashton,Hotspring,115,46'; put '44.681,-110.326,Hot Springs on Upper Sour Creek,Ashton,Hotspring,194,90'; put '41.45,-106.804,Saratoga Hot Springs,Rawlins,Hotspring,129,54'; put '44.671,-110.786,Secret Valley Hot Springs,Ashton,Hotspring,95,35'; put '44.625,-110.433,Mud Volcano,Ashton,Hotspring,131,55'; put '43.654,-108.194,Thermopolis Hot Springs,Thermopolis,Hotspring,133,56'; put '44.985,-110.689,Hot River,Ashton,Hotspring,136,58'; put '44.588,-110.341,Ebro Springs,Ashton,Hotspring,136,58'; put '44.55,-110.805,Fountain Paint Pot,Ashton,Hotspring,136,58'; put '44.169,-110.583,Snake Hot Springs,Ashton,Hotspring,136,58'; put '44.157,-110.699,Crawfish Creek Hot Springs,Ashton,Hotspring,136,58'; put '44.165,-110.723,Crawfish Creek Hot Springs,Ashton,Hotspring,138,59'; put '44.711,-110.741,Chocolate Pots,Ashton,Hotspring,124,51'; put '43.56,-109.732,Geyser (Warm Spring Creek Springs),Thermopolis,Hotspring,84,29'; put '43.489,-109.605,Jakeys Fork Spring,Thermopolis,Hotspring,68,20'; put '44.749,-108.188,Little Sheep Mountain Spring,Cody,Hotspring,68,20'; put '42.249,-104.781,Warm Springs (Immigrants Washtub),Torrington,Hotspring,70,21'; put '44.608,-108.138,Sheep Mountain Springs,Cody,Hotspring,70,21'; put '43.583,-108.213,Wind River Canyon Spring,Thermopolis,Hotspring,72,22'; put '42.702,-107.105,Horse Creek Springs,Casper,Hotspring,75,24'; put '44.511,-109.156,Needle Hot Springs,Cody,Hotspring,75,24'; put '43.52,-109.669,Little Warm Spring,Thermopolis,Hotspring,77,25'; put '43.3,-110.775,Astoria Mineral Hot Springs,Driggs,Hotspring,99,37'; put '43.543,-110.741,Abercrombie Warm Springs,Driggs,Hotspring,81,27'; put '44.513,-109.115,De Maris Springs,Cody,Hotspring,97,36'; put '42.665,-105.394,Douglas Hot Springs,Torrington,Hotspring,86,30'; put '43.471,-110.835,Boyles Hill Springs,Driggs,Hotspring,86,30'; put '43.282,-110.019,Kendall Warm Spring,Driggs,Hotspring,86,30'; put '44.662,-110.768,Iron Spring,Ashton,Hotspring,86,30'; put '42.492,-108.172,Sweetwater Station Warm Springs,Lander,Hotspring,90,32'; put '44.742,-110.579,Wolf Lake Springs,Ashton,Hotspring,91,33'; put '44.513,-109.129,Shoshone Hot Springs,Cody,Hotspring,95,35'; put '42.828,-110.999,Auburn Hot Springs,Preston,Hotspring,144,62'; put '43.639,-110.615,Kelly Warm Spring,Driggs,Hotspring,81,27'; put '44.532,-110.796,Five Sisters Springs,Ashton,Hotspring,192,89'; put '44.582,-110.314,Vermilion Springs,Ashton,Hotspring,140,60'; put '44.521,-110.275,Butte Springs,Ashton,Hotspring,187,86'; put '44.478,-110.867,Hillside Springs,Ashton,Hotspring,187,86'; put '44.752,-110.418,Hot Springs at Sevenmile Hole,Ashton,Hotspring,189,87'; put '44.401,-110.936,Hot Springs on Continental Divide,Ashton,Hotspring,189,87'; put '44.769,-110.269,Rainbow Springs,Ashton,Hotspring,190,88'; put '44.628,-110.433,Sulphur Caldron,Ashton,Hotspring,190,88'; put '44.702,-110.767,Sylvan Springs,Ashton,Hotspring,192,89'; put '44.529,-110.791,White Creek Group,Ashton,Hotspring,185,85'; put '44.564,-110.869,Queens Laundry,Ashton,Hotspring,192,89'; put '44.697,-110.375,Hot Springs on Bog Creek,Ashton,Hotspring,185,85'; put '44.285,-110.9,Bechler River Hot Springs,Ashton,Hotspring,194,90'; put '44.797,-110.725,Amphitheater Springs,Ashton,Hotspring,196,91'; put '44.766,-110.429,Washburn Hot Springs,Ashton,Hotspring,196,91'; put '44.756,-110.308,Coffee Pot Hot Springs,Ashton,Hotspring,196,91'; put '44.591,-110.321,Hot Springs at Sulphur Hills,Ashton,Hotspring,196,91'; put '44.556,-110.832,River Group,Ashton,Hotspring,196,91'; put '44.422,-110.574,West Thumb Geyser Basin,Ashton,Hotspring,196,91'; put '44.786,-110.74,Semi-Centennial Geyser,Ashton,Hotspring,198,92'; put '44.653,-110.482,Sulphur Springs,Ashton,Hotspring,194,89'; put '44.41,-110.953,Summit Lake Hot Springs,Ashton,Hotspring,162,72'; put '44.761,-110.73,Bijah Spring,Ashton,Hotspring,198,92'; put '44.781,-110.699,Whiterock Springs,Ashton,Hotspring,144,62'; put '44.739,-110.258,Hot Spring Basin Group,Ashton,Hotspring,153,67'; put '44.754,-110.403,Sevenmile Hole,Ashton,Hotspring,154,68'; put '44.276,-110.636,Hot Springs on Lewis Lake,Ashton,Hotspring,154,68'; put '44.598,-110.236,Hot Springs In Pelican Valley,Ashton,Hotspring,156,69'; put '44.142,-110.656,South Entrance Hot Springs,Ashton,Hotspring,156,69'; put '44.753,-110.724,"Roadside Springs, Frying Pan Sprin",Ashton,Hotspring,158,70'; put '44.733,-110.712,Horseshoe Spring,Ashton,Hotspring,187,86'; put '43.958,-110.696,Jackson Lake Hot Springs,Driggs,Hotspring,162,72'; put '44.187,-110.726,Hot Springs,Ashton,Hotspring,142,61'; put '44.967,-110.708,Mammoth Hot Springs,Ashton,Hotspring,163,73'; put '44.475,-110.843,Morning Glory Pool,Ashton,Hotspring,163,73'; put '44.204,-110.486,Hot Springs on Upper Snake River,Ashton,Hotspring,167,75'; put '44.299,-110.517,"Heart Lake Geyser Basin, Middle Gr",Ashton,Hotspring,174,79'; put '44.671,-110.29,Ponuntpa Springs Group,Ashton,Hotspring,180,82'; put '44.244,-111.022,Boundary Creek Hot Springs,Ashton,Hotspring,181,83'; put '44.414,-110.817,"Lone Star Geyser Basin, Footbridge",Ashton,Hotspring,183,84'; put '44.722,-110.701,Echinus Geyser,Ashton,Hotspring,185,85'; put '44.461,-110.854,Emerald Pool,Ashton,Hotspring,158,70'; put ';;;;'; put 'run;'; put '* ServiceInit end;'; put '* Service start;'; put '/**'; put '@file getdata.sas'; put '@brief Get Data service - runs on app startup'; put '@details This is always the first service called when the app is opened.'; put '

SAS Macros

'; put '**/'; put '/* this macro converts the JS input to a WORK table - work.areas */'; put '%webout(FETCH)'; put 'proc sql;'; put 'create table springs as select *'; put 'from mydb.springs'; put 'where area in (select area from work.areas);'; put '/* these macros open the JSON, send the table back, and close the JSON */'; put '%webout(OPEN)'; put '%webout(OBJ,springs)'; put '%webout(CLOSE)'; put '* Service end;'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/files; %let service=upload; filename sascode temp lrecl=32767; data _null_; file sascode; put '%macro mf_getuser('; put ')/*/STORE SOURCE*/;'; put '%local user;'; put '%if %symexist(_sasjs_username) %then %let user=&_sasjs_username;'; put '%else %if %symexist(SYS_COMPUTE_SESSION_OWNER) %then %do;'; put '%let user=&SYS_COMPUTE_SESSION_OWNER;'; put '%end;'; put '%else %if %symexist(_metaperson) %then %do;'; put '%if %length(&_metaperson)=0 %then %let user=&sysuserid;'; put '/* sometimes SAS will add @domain extension - remove for consistency */'; put '/* but be sure to quote in case of usernames with commas */'; put '%else %let user=%unquote(%scan(%quote(&_metaperson),1,@));'; put '%end;'; put '%else %let user=&sysuserid;'; put '%quote(&user)'; put '%mend mf_getuser;'; put '/**'; put '@file mp_jsonout.sas'; put '@brief Writes JSON in SASjs format to a fileref'; put '@details This macro can be used to OPEN a JSON stream and send one or more'; put 'tables as arrays of rows, where each row can be an object or a nested array.'; put 'There are two engines available - DATASTEP or PROCJSON.'; put 'PROC JSON is fast but will produce errs like the ones below if'; put 'special chars are encountered.'; put '> (ERR)OR: Some code points did not transcode.'; put '> An object or array close is not valid at this point in the JSON text.'; put '> Date value out of range'; put 'If this happens, try running with ENGINE=DATASTEP.'; put 'The DATASTEP engine is used to handle special SAS missing numerics, and'; put 'can also convert entire datasets to formatted values. Output JSON is always'; put 'in UTF-8.'; put 'Usage:'; put 'filename tmp temp;'; put 'data class; set sashelp.class;run;'; put '%mp_jsonout(OPEN,jref=tmp)'; put '%mp_jsonout(OBJ,class,jref=tmp)'; put '%mp_jsonout(OBJ,class,dslabel=class2,jref=tmp,showmeta=Y)'; put '%mp_jsonout(CLOSE,jref=tmp)'; put 'data _null_;'; put 'infile tmp;'; put 'input;putlog _infile_;'; put 'run;'; put 'If you are building web apps with SAS then you are strongly encouraged to use'; put 'the mX_createwebservice macros in combination with the'; put '[sasjs adapter](https://github.com/sasjs/adapter).'; put 'For more information see https://sasjs.io'; put '@param [in] action Valid values:'; put '@li OPEN - opens the JSON'; put '@li OBJ - sends a table with each row as an object'; put '@li ARR - sends a table with each row in an array'; put '@li CLOSE - closes the JSON'; put '@param [in] ds The dataset to send. Must be a work table.'; put '@param [out] jref= (_webout) The fileref to which to send the JSON'; put '@param [out] dslabel= The name to give the table in the exported JSON'; put '@param [in] fmt= (Y) Whether to keep (Y) or strip (N) formats from the table'; put '@param [in] engine= (DATASTEP) Which engine to use to send the JSON. Options:'; put '@li PROCJSON (default)'; put '@li DATASTEP (more reliable when data has non standard characters)'; put '@param [in] missing= (NULL) Special numeric missing values can be sent as NULL'; put '(eg `null`) or as STRING values (eg `".a"` or `".b"`)'; put '@param [in] showmeta= (N) Set to Y to output metadata alongside each table,'; put 'such as the column formats and types. The metadata is contained inside an'; put 'object with the same name as the table but prefixed with a dollar sign - ie,'; put '`,"$tablename":{"formats":{"col1":"$CHAR1"},"types":{"COL1":"C"}}`'; put '@param [in] maxobs= (MAX) Provide an integer to limit the number of input rows'; put 'that should be converted to JSON'; put '

Related Files

'; put '@li mp_ds2fmtds.sas'; put '@version 9.2'; put '@author Allan Bowe'; put '@source https://github.com/sasjs/core'; put '**/'; put '%macro mp_jsonout(action,ds,jref=_webout,dslabel=,fmt=Y'; put ',engine=DATASTEP'; put ',missing=NULL'; put ',showmeta=N'; put ',maxobs=MAX'; put ')/*/STORE SOURCE*/;'; put '%local tempds colinfo fmtds i numcols numobs stmt_obs lastobs optval'; put 'tmpds1 tmpds2 tmpds3 tmpds4;'; put '%let numcols=0;'; put '%if &maxobs ne MAX %then %let stmt_obs=%str(if _n_>&maxobs then stop;);'; put '%if &action=OPEN %then %do;'; put 'options nobomfile;'; put 'data _null_;file &jref encoding=''utf-8'' lrecl=200;'; put 'put ''{"PROCESSED_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''"'';'; put 'run;'; put '%end;'; put '%else %if (&action=ARR or &action=OBJ) %then %do;'; put '/* force variable names to always be uppercase in the JSON */'; put 'options validvarname=upcase;'; put '/* To avoid issues with _webout on EBI - such as encoding diffs and truncation'; put '(https://support.sas.com/kb/49/325.html) we use temporary files */'; put 'filename _sjs1 temp lrecl=200 ;'; put 'data _null_; file _sjs1 encoding=''utf-8'';'; put 'put ", ""%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":";'; put 'run;'; put '/* now write to _webout 1 char at a time */'; put 'data _null_;'; put 'infile _sjs1 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs1 clear;'; put '/* grab col defs */'; put 'proc contents noprint data=&ds'; put 'out=_data_(keep=name type length format formatl formatd varnum label);'; put 'run;'; put '%let colinfo=%scan(&syslast,2,.);'; put 'proc sort data=&colinfo;'; put 'by varnum;'; put 'run;'; put '/* move meta to mac vars */'; put 'data &colinfo;'; put 'if _n_=1 then call symputx(''numcols'',nobs,''l'');'; put 'set &colinfo end=last nobs=nobs;'; put 'name=upcase(name);'; put '/* fix formats */'; put 'if type=2 or type=6 then do;'; put 'typelong=''char'';'; put 'length fmt $49.;'; put 'if format='''' then fmt=cats(''$'',length,''.'');'; put 'else if formatl=0 then fmt=cats(format,''.'');'; put 'else fmt=cats(format,formatl,''.'');'; put 'end;'; put 'else do;'; put 'typelong=''num'';'; put 'if format='''' then fmt=''best.'';'; put 'else if formatl=0 then fmt=cats(format,''.'');'; put 'else if formatd=0 then fmt=cats(format,formatl,''.'');'; put 'else fmt=cats(format,formatl,''.'',formatd);'; put 'end;'; put '/* 32 char unique name */'; put 'newname=''sasjs''!!substr(cats(put(md5(name),$hex32.)),1,27);'; put 'call symputx(cats(''name'',_n_),name,''l'');'; put 'call symputx(cats(''newname'',_n_),newname,''l'');'; put 'call symputx(cats(''length'',_n_),length,''l'');'; put 'call symputx(cats(''fmt'',_n_),fmt,''l'');'; put 'call symputx(cats(''type'',_n_),type,''l'');'; put 'call symputx(cats(''typelong'',_n_),typelong,''l'');'; put 'call symputx(cats(''label'',_n_),coalescec(label,name),''l'');'; put '/* overwritten when fmt=Y and a custom format exists in catalog */'; put 'if typelong=''num'' then call symputx(cats(''fmtlen'',_n_),200,''l'');'; put 'else call symputx(cats(''fmtlen'',_n_),min(32767,ceil((length+10)*1.5)),''l'');'; put 'run;'; put '%let tempds=%substr(_%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put 'proc sql;'; put 'select count(*) into: lastobs from &ds;'; put '%if &maxobs ne MAX %then %let lastobs=%sysfunc(min(&lastobs,&maxobs));'; put '%if &engine=PROCJSON %then %do;'; put '%if &missing=STRING %then %do;'; put '%put &sysmacroname: Special Missings not supported in proc json.;'; put '%put &sysmacroname: Switching to DATASTEP engine;'; put '%goto datastep;'; put '%end;'; put 'data &tempds;'; put 'set &ds;'; put '&stmt_obs;'; put '%if &fmt=N %then format _numeric_ best32.;;'; put '/* PRETTY is necessary to avoid line truncation in large files */'; put 'filename _sjs2 temp lrecl=131068 encoding=''utf-8'';'; put 'proc json out=_sjs2 pretty'; put '%if &action=ARR %then nokeys ;'; put ';export &tempds / nosastags fmtnumeric;'; put 'run;'; put '/* send back to webout */'; put 'data _null_;'; put 'infile _sjs2 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs2 clear;'; put '%end;'; put '%else %if &engine=DATASTEP %then %do;'; put '%datastep:'; put '%if %sysfunc(exist(&ds)) ne 1 & %sysfunc(exist(&ds,VIEW)) ne 1'; put '%then %do;'; put '%put &sysmacroname: &ds NOT FOUND!!!;'; put '%return;'; put '%end;'; put '%if &fmt=Y %then %do;'; put '/**'; put '* Extract format definitions'; put '* First, by getting library locations from dictionary.formats'; put '* Then, by exporting the width using proc format'; put '* Cannot use maxw from sashelp.vformat as not always populated'; put '* Cannot use fmtinfo() as not supported in all flavours'; put '*/'; put '%let tmpds1=%substr(fmtsum%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds2=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds3=%substr(cntl%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put '%let tmpds4=%substr(col%sysfunc(compress(%sysfunc(uuidgen()),-)),1,32);'; put 'proc sql noprint;'; put 'create table &tmpds1 as'; put 'select cats(libname,''.'',memname) as FMTCAT,'; put 'FMTNAME'; put 'from dictionary.formats'; put 'where fmttype=''F'' and libname is not null'; put 'and fmtname in (select format from &colinfo where format is not null)'; put 'order by 1;'; put 'create table &tmpds2('; put 'FMTNAME char(32),'; put 'LENGTH num'; put ');'; put '%local catlist cat fmtlist i;'; put 'select distinct fmtcat into: catlist separated by '' '' from &tmpds1;'; put '%do i=1 %to %sysfunc(countw(&catlist,%str( )));'; put '%let cat=%scan(&catlist,&i,%str( ));'; put 'proc sql;'; put 'select distinct fmtname into: fmtlist separated by '' '''; put 'from &tmpds1 where fmtcat="&cat";'; put 'proc format lib=&cat cntlout=&tmpds3(keep=fmtname length);'; put 'select &fmtlist;'; put 'run;'; put 'proc sql;'; put 'insert into &tmpds2 select distinct fmtname,length from &tmpds3;'; put '%end;'; put 'proc sql;'; put 'create table &tmpds4 as'; put 'select a.*, b.length as MAXW'; put 'from &colinfo a'; put 'left join &tmpds2 b'; put 'on cats(a.format)=cats(upcase(b.fmtname))'; put 'order by a.varnum;'; put 'data _null_;'; put 'set &tmpds4;'; put 'if not missing(maxw);'; put 'call symputx('; put 'cats(''fmtlen'',_n_),'; put '/* vars need extra padding due to JSON escaping of special chars */'; put 'min(32767,ceil((max(length,maxw)+10)*1.5))'; put ',''l'''; put ');'; put 'run;'; put '/* configure varlenchk - as we are explicitly shortening the variables */'; put '%let optval=%sysfunc(getoption(varlenchk));'; put 'options varlenchk=NOWARN;'; put 'data _data_(compress=char);'; put '/* shorten the new vars */'; put 'length'; put '%do i=1 %to &numcols;'; put '&&name&i $&&fmtlen&i'; put '%end;'; put ';'; put '/* rename on entry */'; put 'set &ds(rename=('; put '%do i=1 %to &numcols;'; put '&&name&i=&&newname&i'; put '%end;'; put '));'; put '&stmt_obs;'; put 'drop'; put '%do i=1 %to &numcols;'; put '&&newname&i'; put '%end;'; put ';'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=num %then %do;'; put '&&name&i=cats(put(&&newname&i,&&fmt&i));'; put '%end;'; put '%else %do;'; put '&&name&i=put(&&newname&i,&&fmt&i);'; put '%end;'; put '%end;'; put 'if _error_ then do;'; put 'call symputx(''syscc'',1012);'; put 'stop;'; put 'end;'; put 'run;'; put '%let fmtds=&syslast;'; put 'options varlenchk=&optval;'; put '%end;'; put 'proc format; /* credit yabwon for special null removal */'; put 'value bart (default=40)'; put '%if &missing=NULL %then %do;'; put '._ - .z = null'; put '%end;'; put '%else %do;'; put '._ = [quote()]'; put '. = null'; put '.a - .z = [quote()]'; put '%end;'; put 'other = [best.];'; put 'data &tempds;'; put 'attrib _all_ label='''';'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=char or &fmt=Y %then %do;'; put 'length &&name&i $&&fmtlen&i...;'; put 'format &&name&i $&&fmtlen&i...;'; put '%end;'; put '%end;'; put '%if &fmt=Y %then %do;'; put 'set &fmtds;'; put '%end;'; put '%else %do;'; put 'set &ds;'; put '%end;'; put '&stmt_obs;'; put 'format _numeric_ bart.;'; put '%do i=1 %to &numcols;'; put '%if &&typelong&i=char or &fmt=Y %then %do;'; put 'if findc(&&name&i,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put '&&name&i=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,&&name&i)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else &&name&i=quote(cats(&&name&i));'; put '%end;'; put '%end;'; put 'run;'; put 'filename _sjs3 temp lrecl=131068 ;'; put 'data _null_;'; put 'file _sjs3 encoding=''utf-8'';'; put 'if _n_=1 then put "[";'; put 'set &tempds;'; put 'if _n_>1 then put "," @; put'; put '%if &action=ARR %then "[" ; %else "{" ;'; put '%do i=1 %to &numcols;'; put '%if &i>1 %then "," ;'; put '%if &action=OBJ %then """&&name&i"":" ;'; put '"&&name&i"n /* name literal for reserved variable names */'; put '%end;'; put '%if &action=ARR %then "]" ; %else "}" ; ;'; put '/* close out the table */'; put 'data _null_;'; put 'file _sjs3 mod encoding=''utf-8'';'; put 'put '']'';'; put 'run;'; put 'data _null_;'; put 'infile _sjs3 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs3 clear;'; put '%end;'; put 'proc sql;'; put 'drop table &colinfo, &tempds;'; put '%if %substr(&showmeta,1,1)=Y %then %do;'; put 'filename _sjs4 temp lrecl=131068 encoding=''utf-8'';'; put 'data _null_;'; put 'file _sjs4;'; put 'length label $350;'; put 'put ", ""$%lowcase(%sysfunc(coalescec(&dslabel,&ds)))"":{""vars"":{";'; put 'do i=1 to &numcols;'; put 'name=quote(trim(symget(cats(''name'',i))));'; put 'format=quote(trim(symget(cats(''fmt'',i))));'; put 'label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i)))));'; put 'length=quote(trim(symget(cats(''length'',i))));'; put 'type=quote(trim(symget(cats(''typelong'',i))));'; put 'if i>1 then put "," @@;'; put 'put name '':{"format":'' format '',"label":'' label'; put ''',"length":'' length '',"type":'' type ''}'';'; put 'end;'; put 'put ''}}'';'; put 'run;'; put '/* send back to webout */'; put 'data _null_;'; put 'infile _sjs4 lrecl=1 recfm=n;'; put 'file &jref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjs4 clear;'; put '%end;'; put '%end;'; put '%else %if &action=CLOSE %then %do;'; put 'data _null_; file &jref encoding=''utf-8'' mod ;'; put 'put "}";'; put 'run;'; put '%end;'; put '%mend mp_jsonout;'; put '/**'; put '@file mm_webout.sas'; put '@brief Send data to/from SAS Stored Processes'; put '@details This macro should be added to the start of each Stored Process,'; put '**immediately** followed by a call to:'; put '%mm_webout(FETCH)'; put 'This will read all the input data and create same-named SAS datasets in the'; put 'WORK library. You can then insert your code, and send data back using the'; put 'following syntax:'; put 'data some datasets; * make some data ;'; put 'retain some columns;'; put 'run;'; put '%mm_webout(OPEN)'; put '%mm_webout(ARR,some) * Array format, fast, suitable for large tables ;'; put '%mm_webout(OBJ,datasets) * Object format, easier to work with ;'; put 'Finally, wrap everything up send some helpful system variables too'; put '%mm_webout(CLOSE)'; put '@param [in] action Either FETCH, OPEN, ARR, OBJ or CLOSE'; put '@param [in] ds The dataset to send back to the frontend'; put '@param [out] dslabel= Value to use instead of table name for sending to JSON'; put '@param [in] fmt= (N) Setting Y converts all vars to their formatted values'; put '@param [out] fref= (_webout) The fileref to which to write the JSON'; put '@param [in] missing= (NULL) Special numeric missing values can be sent as NULL'; put '(eg `null`) or as STRING values (eg `".a"` or `".b"`)'; put '@param [in] showmeta= (N) Set to Y to output metadata alongside each table,'; put 'such as the column formats and types. The metadata is contained inside an'; put 'object with the same name as the table but prefixed with a dollar sign - ie,'; put '`,"$tablename":{"formats":{"col1":"$CHAR1"},"types":{"COL1":"C"}}`'; put '@param [in] workobs= (0) When set to a positive integer, will create a new'; put 'output object (WORK) which contains this number of observations from all'; put 'tables in the WORK library.'; put '@param [in] maxobs= (MAX) Provide an integer to limit the number of input rows'; put 'that should be converted to output JSON'; put '

SAS Macros

'; put '@li mp_jsonout.sas'; put '

Related Macros

'; put '@li ms_webout.sas'; put '@li mv_webout.sas'; put '@version 9.3'; put '@author Allan Bowe'; put '**/'; put '%macro mm_webout(action,ds,dslabel=,fref=_webout,fmt=N,missing=NULL'; put ',showmeta=N,maxobs=MAX,workobs=0'; put ');'; put '%global _webin_file_count _webin_fileref1 _webin_name1 _program _debug'; put 'sasjs_tables;'; put '%local i tempds jsonengine;'; put '/* see https://github.com/sasjs/core/issues/41 */'; put '%if "%upcase(&SYSENCODING)" ne "UTF-8" %then %let jsonengine=PROCJSON;'; put '%else %let jsonengine=DATASTEP;'; put '%if &action=FETCH %then %do;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'options mprint notes mprintnest;'; put '%end;'; put '%let _webin_file_count=%eval(&_webin_file_count+0);'; put '/* now read in the data */'; put '%do i=1 %to &_webin_file_count;'; put '%if &_webin_file_count=1 %then %do;'; put '%let _webin_fileref1=&_webin_fileref;'; put '%let _webin_name1=&_webin_name;'; put '%end;'; put 'data _null_;'; put 'infile &&_webin_fileref&i termstr=crlf;'; put 'input;'; put 'call symputx(''input_statement'',_infile_);'; put 'putlog "&&_webin_name&i input statement: " _infile_;'; put 'stop;'; put 'data &&_webin_name&i;'; put 'infile &&_webin_fileref&i firstobs=2 dsd termstr=crlf encoding=''utf-8'';'; put 'input &input_statement;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'if _n_<20 then putlog _infile_;'; put '%end;'; put 'run;'; put '%let sasjs_tables=&sasjs_tables &&_webin_name&i;'; put '%end;'; put '%end;'; put '%else %if &action=OPEN %then %do;'; put '/* fix encoding */'; put 'OPTIONS NOBOMFILE;'; put '/**'; put '* check xengine type to avoid the below err message:'; put '* > Function is only valid for filerefs using the CACHE access method.'; put '*/'; put 'data _null_;'; put 'set sashelp.vextfl(where=(fileref="_WEBOUT"));'; put 'if xengine=''STREAM'' then do;'; put 'rc=stpsrv_header(''Content-type'',"text/html; encoding=utf-8");'; put 'end;'; put 'run;'; put '/* setup json */'; put 'data _null_;file &fref encoding=''utf-8'';'; put '%if %str(&_debug) ge 131 %then %do;'; put 'put ''>>weboutBEGIN<<'';'; put '%end;'; put 'put ''{"SYSDATE" : "'' "&SYSDATE" ''"'';'; put 'put '',"SYSTIME" : "'' "&SYSTIME" ''"'';'; put 'run;'; put '%end;'; put '%else %if &action=ARR or &action=OBJ %then %do;'; put '%mp_jsonout(&action,&ds,dslabel=&dslabel,fmt=&fmt,jref=&fref'; put ',engine=&jsonengine,missing=&missing,showmeta=&showmeta,maxobs=&maxobs'; put ')'; put '%end;'; put '%else %if &action=CLOSE %then %do;'; put '/* To avoid issues with _webout on EBI we use a temporary file */'; put 'filename _sjsref temp lrecl=131068;'; put '%if %str(&workobs) > 0 %then %do;'; put '/* if debug mode, send back first XX records of each work table also */'; put 'data;run;%let tempds=%scan(&syslast,2,.);'; put 'ods output Members=&tempds;'; put 'proc datasets library=WORK memtype=data;'; put '%local wtcnt;%let wtcnt=0;'; put 'data _null_;'; put 'set &tempds;'; put 'if not (upcase(name) =:"DATA"); /* ignore temp datasets */'; put 'i+1;'; put 'call symputx(cats(''wt'',i),name,''l'');'; put 'call symputx(''wtcnt'',i,''l'');'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put ",""WORK"":{";'; put '%do i=1 %to &wtcnt;'; put '%let wt=&&wt&i;'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'dsid=open("WORK.&wt",''is'');'; put 'nlobs=attrn(dsid,''NLOBS'');'; put 'nvars=attrn(dsid,''NVARS'');'; put 'rc=close(dsid);'; put 'if &i>1 then put '',''@;'; put 'put " ""&wt"" : {";'; put 'put ''"nlobs":'' nlobs;'; put 'put '',"nvars":'' nvars;'; put '%mp_jsonout(OBJ,&wt,jref=_sjsref,dslabel=first10rows,showmeta=Y'; put ',maxobs=&workobs'; put ')'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put "}";'; put '%end;'; put 'data _null_; file _sjsref mod encoding=''utf-8'';'; put 'put "}";'; put 'run;'; put '%end;'; put '/* close off json */'; put 'data _null_;file _sjsref mod encoding=''utf-8'';'; put 'length SYSPROCESSNAME syserrortext syswarningtext autoexec $512;'; put 'put ",""_DEBUG"" : ""&_debug"" ";'; put '_METAUSER=quote(trim(symget(''_METAUSER'')));'; put 'put ",""_METAUSER"": " _METAUSER;'; put '_METAPERSON=quote(trim(symget(''_METAPERSON'')));'; put 'put '',"_METAPERSON": '' _METAPERSON;'; put '_PROGRAM=quote(trim(resolve(symget(''_PROGRAM''))));'; put 'put '',"_PROGRAM" : '' _PROGRAM ;'; put 'autoexec=quote(urlencode(trim(getoption(''autoexec''))));'; put 'put '',"AUTOEXEC" : '' autoexec;'; put 'put ",""MF_GETUSER"" : ""%mf_getuser()"" ";'; put 'put ",""SYSCC"" : ""&syscc"" ";'; put 'put ",""SYSENCODING"" : ""&sysencoding"" ";'; put 'syserrortext=cats(symget(''syserrortext''));'; put 'if findc(syserrortext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syserrortext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syserrortext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syserrortext=cats(''"'',syserrortext,''"'');'; put 'put '',"SYSERRORTEXT" : '' syserrortext;'; put 'put ",""SYSHOSTNAME"" : ""&syshostname"" ";'; put 'put ",""SYSPROCESSID"" : ""&SYSPROCESSID"" ";'; put 'put ",""SYSPROCESSMODE"" : ""&SYSPROCESSMODE"" ";'; put 'SYSPROCESSNAME=quote(urlencode(cats(SYSPROCESSNAME)));'; put 'put ",""SYSPROCESSNAME"" : " SYSPROCESSNAME;'; put 'put ",""SYSJOBID"" : ""&sysjobid"" ";'; put 'put ",""SYSSCPL"" : ""&sysscpl"" ";'; put 'put ",""SYSSITE"" : ""&syssite"" ";'; put 'put ",""SYSUSERID"" : ""&sysuserid"" ";'; put 'sysvlong=quote(trim(symget(''sysvlong'')));'; put 'put '',"SYSVLONG" : '' sysvlong;'; put 'syswarningtext=cats(symget(''syswarningtext''));'; put 'if findc(syswarningtext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syswarningtext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syswarningtext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syswarningtext=cats(''"'',syswarningtext,''"'');'; put 'put '',"SYSWARNINGTEXT" : '' syswarningtext;'; put 'put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" '';'; put 'length memsize $32;'; put 'memsize="%sysfunc(INPUTN(%sysfunc(getoption(memsize)), best.),sizekmg.)";'; put 'memsize=quote(cats(memsize));'; put 'put '',"MEMSIZE" : '' memsize;'; put 'put "}" @;'; put '%if %str(&_debug) ge 131 %then %do;'; put 'put ''>>weboutEND<<'';'; put '%end;'; put 'run;'; put '/* now write to _webout 1 char at a time */'; put 'data _null_;'; put 'infile _sjsref lrecl=1 recfm=n;'; put 'file &fref mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put 'filename _sjsref clear;'; put '%end;'; put '%mend mm_webout;'; put '%macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);'; put '%mm_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt'; put ',missing=&missing'; put ',showmeta=&showmeta'; put ',maxobs=&maxobs'; put ') %mend;'; put '/* provide additional debug info */'; put '%global _program;'; put '%put &=syscc;'; put '%put user=%mf_getuser();'; put '%put pgm=&_program;'; put '%put timestamp=%sysfunc(datetime(),datetime19.);'; put '* Service Variables start;'; put '* Service Variables end;'; put '* SAS Macros start;'; put '%macro mp_abort(mac=mp_abort.sas, type=, msg=, iftrue=%str(1=1)'; put ', errds=work.mp_abort_errds'; put ', mode=REGULAR'; put ')/*/STORE SOURCE*/;'; put '%global sysprocessmode sysprocessname sasjs_stpsrv_header_loc sasjsprocessmode;'; put '%local fref fid i;'; put '%if not(%eval(%unquote(&iftrue))) %then %return;'; put '%put NOTE: /// mp_abort macro executing //;'; put '%if %length(&mac)>0 %then %put NOTE- called by &mac;'; put '%put NOTE - &msg;'; put '%if %symexist(_SYSINCLUDEFILEDEVICE)'; put '/* abort cancel FILE does not restart outside the INCLUDE on Viya 3.5 */'; put 'and %superq(SYSPROCESSNAME) ne %str(Compute Server)'; put '%then %do;'; put '%if "*&_SYSINCLUDEFILEDEVICE*" ne "**" %then %do;'; put 'data &errds;'; put 'iftrue=''1=1'';'; put 'length mac $100 msg $5000;'; put 'mac=symget(''mac'');'; put 'msg=symget(''msg'');'; put 'run;'; put 'data _null_;'; put 'abort cancel FILE;'; put 'run;'; put '%return;'; put '%end;'; put '%end;'; put '/* Web App Context */'; put '%if %symexist(_PROGRAM)'; put 'or %superq(SYSPROCESSNAME) = %str(Compute Server)'; put 'or &mode=INCLUDE'; put '%then %do;'; put 'options obs=max replace mprint;'; put '%if "%substr(&sysver,1,1)" ne "4" and "%substr(&sysver,1,1)" ne "5"'; put '%then %do;'; put 'options nosyntaxcheck;'; put '%end;'; put '%if &mode=INCLUDE %then %do;'; put '%if %sysfunc(exist(&errds))=1 %then %do;'; put 'data _null_;'; put 'set &errds;'; put 'call symputx(''iftrue'',iftrue,''l'');'; put 'call symputx(''mac'',mac,''l'');'; put 'call symputx(''msg'',msg,''l'');'; put 'putlog (_all_)(=);'; put 'run;'; put '%if (&iftrue)=0 %then %return;'; put '%end;'; put '%else %do;'; put '%put &sysmacroname: No include errors found;'; put '%return;'; put '%end;'; put '%end;'; put '/* extract log errs / warns, if exist */'; put '%local logloc logline;'; put '%global logmsg; /* capture global messages */'; put '%if %symexist(SYSPRINTTOLOG) %then %let logloc=&SYSPRINTTOLOG;'; put '%else %let logloc=%qsysfunc(getoption(LOG));'; put 'proc printto log=log;run;'; put '%let logline=0;'; put '%if %length(&logloc)>0 %then %do;'; put 'data _null_;'; put 'infile &logloc lrecl=5000;'; put 'input; putlog _infile_;'; put 'i=1;'; put 'retain logonce 0;'; put 'if ('; put '_infile_=:"%str(WARN)ING" or _infile_=:"%str(ERR)OR"'; put ') and logonce=0 then'; put 'do;'; put 'call symputx(''logline'',_n_);'; put 'logonce+1;'; put 'end;'; put 'run;'; put '/* capture log including lines BEFORE the err */'; put '%if &logline>0 %then %do;'; put 'data _null_;'; put 'infile &logloc lrecl=5000;'; put 'input;'; put 'i=1;'; put 'stoploop=0;'; put 'if _n_ ge &logline-15 and stoploop=0 then do until (i>22);'; put 'call symputx(''logmsg'',catx(''\n'',symget(''logmsg''),_infile_));'; put 'input;'; put 'i+1;'; put 'stoploop=1;'; put 'end;'; put 'if stoploop=1 then stop;'; put 'run;'; put '%end;'; put '%end;'; put '%if %symexist(SYS_JES_JOB_URI) %then %do;'; put '/* setup webout for Viya */'; put 'options nobomfile;'; put '%if "X&SYS_JES_JOB_URI.X"="XX" %then %do;'; put 'filename _webout temp lrecl=999999 mod;'; put '%end;'; put '%else %do;'; put 'filename _webout filesrvc parenturi="&SYS_JES_JOB_URI"'; put 'name="_webout.json" lrecl=999999 mod;'; put '%end;'; put '%end;'; put '%else %if %sysfunc(filename(fref,&sasjs_stpsrv_header_loc))=0 %then %do;'; put 'options nobomfile;'; put '/* set up http header for SASjs Server */'; put '%let fid=%sysfunc(fopen(&fref,A));'; put '%if &fid=0 %then %do;'; put '%put %str(ERR)OR: %sysfunc(sysmsg());'; put '%return;'; put '%end;'; put '%let rc=%sysfunc(fput(&fid,%str(Content-Type: application/json)));'; put '%let rc=%sysfunc(fwrite(&fid));'; put '%let rc=%sysfunc(fclose(&fid));'; put '%let rc=%sysfunc(filename(&fref));'; put '%end;'; put '/* send response in SASjs JSON format */'; put 'data _null_;'; put 'file _webout mod lrecl=32000 encoding=''utf-8'';'; put 'length msg syswarningtext syserrortext $32767 mode $10 ;'; put 'sasdatetime=datetime();'; put 'msg=symget(''msg'');'; put '%if &logline>0 %then %do;'; put 'msg=cats(msg,''\n\nLog Extract:\n'',symget(''logmsg''));'; put '%end;'; put '/* escape the escapes */'; put 'msg=tranwrd(msg,''\'',''\\'');'; put '/* escape the quotes */'; put 'msg=tranwrd(msg,''"'',''\"'');'; put '/* ditch the CRLFs as chrome complains */'; put 'msg=compress(msg,,''kw'');'; put '/* quote without quoting the quotes (which are escaped instead) */'; put 'msg=cats(''"'',msg,''"'');'; put 'if symexist(''_debug'') then debug=quote(trim(symget(''_debug'')));'; put 'else debug=''""'';'; put 'if symget(''sasjsprocessmode'')=''Stored Program'' then mode=''SASJS'';'; put 'if mode ne ''SASJS'' then put ''>>weboutBEGIN<<'';'; put 'put ''{"SYSDATE" : "'' "&SYSDATE" ''"'';'; put 'put '',"SYSTIME" : "'' "&SYSTIME" ''"'';'; put 'put '',"sasjsAbort" : [{'';'; put 'put '' "MSG":'' msg ;'; put 'put '' ,"MAC": "'' "&mac" ''"}]'';'; put 'put ",""SYSUSERID"" : ""&sysuserid"" ";'; put 'put '',"_DEBUG":'' debug ;'; put 'if symexist(''_metauser'') then do;'; put '_METAUSER=quote(trim(symget(''_METAUSER'')));'; put 'put ",""_METAUSER"": " _METAUSER;'; put '_METAPERSON=quote(trim(symget(''_METAPERSON'')));'; put 'put '',"_METAPERSON": '' _METAPERSON;'; put 'end;'; put 'if symexist(''SYS_JES_JOB_URI'') then do;'; put 'SYS_JES_JOB_URI=quote(trim(symget(''SYS_JES_JOB_URI'')));'; put 'put '',"SYS_JES_JOB_URI": '' SYS_JES_JOB_URI;'; put 'end;'; put '_PROGRAM=quote(trim(resolve(symget(''_PROGRAM''))));'; put 'put '',"_PROGRAM" : '' _PROGRAM ;'; put 'put ",""SYSCC"" : ""&syscc"" ";'; put 'syserrortext=cats(symget(''syserrortext''));'; put 'if findc(syserrortext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syserrortext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syserrortext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syserrortext=cats(''"'',syserrortext,''"'');'; put 'put '',"SYSERRORTEXT" : '' syserrortext;'; put 'put ",""SYSHOSTNAME"" : ""&syshostname"" ";'; put 'put ",""SYSJOBID"" : ""&sysjobid"" ";'; put 'put ",""SYSSCPL"" : ""&sysscpl"" ";'; put 'put ",""SYSSITE"" : ""&syssite"" ";'; put 'sysvlong=quote(trim(symget(''sysvlong'')));'; put 'put '',"SYSVLONG" : '' sysvlong;'; put 'syswarningtext=cats(symget(''syswarningtext''));'; put 'if findc(syswarningtext,''"\''!!''0A0D09000E0F010210111A''x) then do;'; put 'syswarningtext=''"''!!trim('; put 'prxchange(''s/"/\\"/'',-1, /* double quote */'; put 'prxchange(''s/\x0A/\n/'',-1, /* new line */'; put 'prxchange(''s/\x0D/\r/'',-1, /* carriage return */'; put 'prxchange(''s/\x09/\\t/'',-1, /* tab */'; put 'prxchange(''s/\x00/\\u0000/'',-1, /* NUL */'; put 'prxchange(''s/\x0E/\\u000E/'',-1, /* SS */'; put 'prxchange(''s/\x0F/\\u000F/'',-1, /* SF */'; put 'prxchange(''s/\x01/\\u0001/'',-1, /* SOH */'; put 'prxchange(''s/\x02/\\u0002/'',-1, /* STX */'; put 'prxchange(''s/\x10/\\u0010/'',-1, /* DLE */'; put 'prxchange(''s/\x11/\\u0011/'',-1, /* DC1 */'; put 'prxchange(''s/\x1A/\\u001A/'',-1, /* SUB */'; put 'prxchange(''s/\\/\\\\/'',-1,syswarningtext)'; put ')))))))))))))!!''"'';'; put 'end;'; put 'else syswarningtext=cats(''"'',syswarningtext,''"'');'; put 'put ",""SYSWARNINGTEXT"" : " syswarningtext;'; put 'put '',"END_DTTM" : "'' "%sysfunc(datetime(),E8601DT26.6)" ''" '';'; put 'put "}" ;'; put 'if mode ne ''SASJS'' then put ''>>weboutEND<<'';'; put 'run;'; put '%put _all_;'; put '%if "&sysprocessmode " = "SAS Stored Process Server " %then %do;'; put 'data _null_;'; put 'putlog ''stpsrvset program err and syscc'';'; put 'rc=stpsrvset(''program error'', 0);'; put 'call symputx("syscc",0,"g");'; put 'run;'; put '%if &sysscp=WIN'; put 'and 1=0 /* deprecating this logic until we figure out a consistent abort */'; put 'and "%substr(%str(&sysvlong ),1,8)"="9.04.01M"'; put 'and "%substr(%str(&sysvlong ),9,1)">"5" %then %do;'; put '/* skip approach (below) does not work in windows m6+ envs */'; put 'endsas;'; put '%end;'; put '%else %do;'; put '/**'; put '* endsas kills 9.4m3 deployments by orphaning multibridges.'; put '* Abort variants are ungraceful (non zero return code)'; put '* This approach lets SAS run silently until the end :-)'; put '* Caution - fails when called within a %include within a macro'; put '* Use mp_include() to handle this.'; put '*/'; put 'filename skip temp;'; put 'data _null_;'; put 'file skip;'; put 'put ''%macro skip();'';'; put 'comment ''%mend skip; -> fix lint '';'; put 'put ''%macro skippy();'';'; put 'comment ''%mend skippy; -> fix lint '';'; put 'run;'; put '%inc skip;'; put '%end;'; put '%end;'; put '%else %if "&sysprocessmode " = "SAS Compute Server " %then %do;'; put '/* endsas kills the session making it harder to fetch results */'; put 'data _null_;'; put 'syswarningtext=symget(''syswarningtext'');'; put 'syserrortext=symget(''syserrortext'');'; put 'abort_msg=symget(''msg'');'; put 'syscc=symget(''syscc'');'; put 'sysuserid=symget(''sysuserid'');'; put 'iftrue=symget(''iftrue'');'; put 'put (_all_)(/=);'; put 'call symputx(''syscc'',0);'; put 'abort cancel nolist;'; put 'run;'; put '%end;'; put '%else %do;'; put '%abort cancel;'; put '%end;'; put '%end;'; put '%else %do;'; put '%put _all_;'; put '%abort cancel;'; put '%end;'; put '%mend mp_abort;'; put '/** @endcond */'; put '%macro mf_isdir(path'; put ')/*/STORE SOURCE*/;'; put '%local rc did is_directory fref_t;'; put '%let is_directory = 0;'; put '%let rc = %sysfunc(filename(fref_t, %superq(path)));'; put '%let did = %sysfunc(dopen(&fref_t.));'; put '%if &did. ^= 0 %then %do;'; put '%let is_directory = 1;'; put '%let rc = %sysfunc(dclose(&did.));'; put '%end;'; put '%let rc = %sysfunc(filename(fref_t));'; put '&is_directory'; put '%mend mf_isdir;'; put '%macro mf_existds(libds'; put ')/*/STORE SOURCE*/;'; put '%if %sysfunc(exist(&libds)) ne 1 & %sysfunc(exist(&libds,VIEW)) ne 1 %then 0;'; put '%else 1;'; put '%mend mf_existds;'; put '%macro mf_getvarlist(libds'; put ',dlm=%str( )'; put ',quote=no'; put ',typefilter=A'; put ')/*/STORE SOURCE*/;'; put '/* declare local vars */'; put '%local outvar dsid nvars x rc dlm q var vtype;'; put '/* credit Rowland Hale - byte34 is double quote, 39 is single quote */'; put '%if %upcase("e)=DOUBLE %then %let q=%qsysfunc(byte(34));'; put '%else %if %upcase("e)=SINGLE %then %let q=%qsysfunc(byte(39));'; put '/* open dataset in macro */'; put '%let dsid=%sysfunc(open(&libds));'; put '%if &dsid %then %do;'; put '%let nvars=%sysfunc(attrn(&dsid,NVARS));'; put '%if &nvars>0 %then %do;'; put '/* add variables with supplied delimeter */'; put '%do x=1 %to &nvars;'; put '/* get variable type */'; put '%let vtype=%sysfunc(vartype(&dsid,&x));'; put '%if &vtype=&typefilter or &typefilter=A %then %do;'; put '%let var=&q.%sysfunc(varname(&dsid,&x))&q.;'; put '%if &var=&q&q %then %do;'; put '%put &sysmacroname: Empty column found in &libds!;'; put '%let var=&q. &q.;'; put '%end;'; put '%if %quote(&outvar)=%quote() %then %let outvar=&var;'; put '%else %let outvar=&outvar.&dlm.&var.;'; put '%end;'; put '%end;'; put '%end;'; put '%let rc=%sysfunc(close(&dsid));'; put '%end;'; put '%else %do;'; put '%put &sysmacroname: Unable to open &libds (rc=&dsid);'; put '%put &sysmacroname: SYSMSG= %sysfunc(sysmsg());'; put '%let rc=%sysfunc(close(&dsid));'; put '%end;'; put '%do;%unquote(&outvar)%end;'; put '%mend mf_getvarlist;'; put '%macro mf_wordsInStr1ButNotStr2('; put 'Str1= /* string containing words to extract */'; put ',Str2= /* used to compare with the extract string */'; put ')/*/STORE SOURCE*/;'; put '%local count_base count_extr i i2 extr_word base_word match outvar;'; put '%if %length(&str1)=0 or %length(&str2)=0 %then %do;'; put '%put base string (str1)= &str1;'; put '%put compare string (str2) = &str2;'; put '%return;'; put '%end;'; put '%let count_base=%sysfunc(countw(&Str2));'; put '%let count_extr=%sysfunc(countw(&Str1));'; put '%do i=1 %to &count_extr;'; put '%let extr_word=%scan(&Str1,&i,%str( ));'; put '%let match=0;'; put '%do i2=1 %to &count_base;'; put '%let base_word=%scan(&Str2,&i2,%str( ));'; put '%if &extr_word=&base_word %then %let match=1;'; put '%end;'; put '%if &match=0 %then %let outvar=&outvar &extr_word;'; put '%end;'; put '&outvar'; put '%mend mf_wordsInStr1ButNotStr2;'; put '%macro mf_isblank(param'; put ')/*/STORE SOURCE*/;'; put '%sysevalf(%superq(param)=,boolean)'; put '%mend mf_isblank;'; put '%macro mp_dropmembers('; put 'list /* space separated list of datasets / views */'; put ',libref=WORK /* can only drop from a single library at a time */'; put ',iftrue=%str(1=1)'; put ')/*/STORE SOURCE*/;'; put '%if not(%eval(%unquote(&iftrue))) %then %return;'; put '%if %mf_isblank(&list) %then %do;'; put '%put NOTE: nothing to drop!;'; put '%return;'; put '%end;'; put 'proc datasets lib=&libref nolist;'; put 'delete &list;'; put 'delete &list /mtype=view;'; put 'run;'; put '%mend mp_dropmembers;'; put '%macro mp_dirlist(path=%sysfunc(pathname(work))'; put ', fref=0'; put ', outds=work.mp_dirlist'; put ', getattrs=NO'; put ', showparent=NO'; put ', maxdepth=0'; put ', level=0 /* The level of recursion to perform. For internal use only. */'; put ')/*/STORE SOURCE*/;'; put '%let getattrs=%upcase(&getattrs)XX;'; put '/* temp table */'; put '%local out_ds;'; put 'data;run;'; put '%let out_ds=%str(&syslast);'; put '/* drop main (top) table if it exists */'; put '%if &level=0 %then %do;'; put '%mp_dropmembers(%scan(&outds,-1,.), libref=WORK)'; put '%end;'; put 'data &out_ds(compress=no'; put 'keep=file_or_folder filepath filename ext msg directory level'; put ');'; put 'length directory filepath $500 fref fref2 $8 file_or_folder $6 filename $80'; put 'ext $20 msg $200 foption $16;'; put 'if _n_=1 then call missing(of _all_);'; put 'retain level &level;'; put '%if &fref=0 %then %do;'; put 'rc = filename(fref, "&path");'; put '%end;'; put '%else %do;'; put 'fref="&fref";'; put 'rc=0;'; put '%end;'; put 'if rc = 0 then do;'; put 'did = dopen(fref);'; put 'if did=0 then do;'; put 'putlog "NOTE: This directory is empty, or does not exist - &path";'; put 'msg=sysmsg();'; put 'put (_all_)(=);'; put 'stop;'; put 'end;'; put '/* attribute is OS-dependent - could be "Directory" or "Directory Name" */'; put 'numopts=doptnum(did);'; put 'do i=1 to numopts;'; put 'foption=doptname(did,i);'; put 'if foption=:''Directory'' then i=numopts;'; put 'end;'; put 'directory=dinfo(did,foption);'; put 'rc = filename(fref);'; put 'end;'; put 'else do;'; put 'msg=sysmsg();'; put 'put _all_;'; put 'stop;'; put 'end;'; put 'dnum = dnum(did);'; put 'do i = 1 to dnum;'; put 'filename = dread(did, i);'; put 'filepath=cats(directory,''/'',filename);'; put 'rc = filename(fref2,filepath);'; put 'midd=dopen(fref2);'; put 'dmsg=sysmsg();'; put 'if did > 0 then file_or_folder=''folder'';'; put 'rc=dclose(midd);'; put 'midf=fopen(fref2);'; put 'fmsg=sysmsg();'; put 'if midf > 0 then file_or_folder=''file'';'; put 'rc=fclose(midf);'; put 'if index(fmsg,''File is in use'') or index(dmsg,''is not a directory'')'; put 'then file_or_folder=''file'';'; put 'else if index(fmsg,''Insufficient authorization'') then file_or_folder=''file'';'; put 'else if file_or_folder='''' then file_or_folder=''locked'';'; put 'if file_or_folder=''file'' then do;'; put 'ext = prxchange(''s/.*\.{1,1}(.*)/$1/'', 1, filename);'; put 'if filename = ext then ext = '' '';'; put 'end;'; put 'else do;'; put 'ext='''';'; put 'file_or_folder=''folder'';'; put 'end;'; put 'output;'; put 'end;'; put 'rc = dclose(did);'; put '%if &showparent=YES and &level=0 %then %do;'; put 'filepath=directory;'; put 'file_or_folder=''folder'';'; put 'ext='''';'; put 'filename=scan(directory,-1,''/\'');'; put 'msg='''';'; put 'level=&level;'; put 'output;'; put '%end;'; put 'stop;'; put 'run;'; put '%if %substr(&getattrs,1,1)=Y %then %do;'; put 'data &out_ds;'; put 'set &out_ds;'; put 'length infoname infoval $60 fref $8;'; put 'if _n_=1 then call missing(fref);'; put 'rc=filename(fref,filepath);'; put 'drop rc infoname fid i close fref;'; put 'if file_or_folder=''file'' then do;'; put 'fid=fopen(fref);'; put 'if fid le 0 then do;'; put 'msg=sysmsg();'; put 'putlog "Could not open file:" filepath fid= ;'; put 'sasname=''_MCNOTVALID_'';'; put 'output;'; put 'end;'; put 'else do i=1 to foptnum(fid);'; put 'infoname=foptname(fid,i);'; put 'infoval=finfo(fid,infoname);'; put 'sasname=compress(infoname, ''_'', ''adik'');'; put 'if anydigit(sasname)=1 then sasname=substr(sasname,anyalpha(sasname));'; put 'if upcase(sasname) ne ''FILENAME'' then output;'; put 'end;'; put 'close=fclose(fid);'; put 'end;'; put 'else do;'; put 'fid=dopen(fref);'; put 'if fid le 0 then do;'; put 'msg=sysmsg();'; put 'putlog "Could not open folder:" filepath fid= ;'; put 'sasname=''_MCNOTVALID_'';'; put 'output;'; put 'end;'; put 'else do i=1 to doptnum(fid);'; put 'infoname=doptname(fid,i);'; put 'infoval=dinfo(fid,infoname);'; put 'sasname=compress(infoname, ''_'', ''adik'');'; put 'if anydigit(sasname)=1 then sasname=substr(sasname,anyalpha(sasname));'; put 'if upcase(sasname) ne ''FILENAME'' then output;'; put 'end;'; put 'close=dclose(fid);'; put 'end;'; put 'run;'; put 'proc sort;'; put 'by filepath sasname;'; put 'proc transpose data=&out_ds out=&out_ds(drop=_:);'; put 'id sasname;'; put 'var infoval;'; put 'by filepath file_or_folder filename ext ;'; put 'run;'; put '%end;'; put 'data &out_ds;'; put 'set &out_ds(where=(filepath ne ''''));'; put 'run;'; put '/**'; put '* The above transpose can mean that some updates create additional columns.'; put '* This necessitates the occasional use of datastep over proc append.'; put '*/'; put '%if %mf_existds(&outds) %then %do;'; put '%local basevars appvars newvars;'; put '%let basevars=%mf_getvarlist(&outds);'; put '%let appvars=%mf_getvarlist(&out_ds);'; put '%let newvars=%length(%mf_wordsinstr1butnotstr2(Str1=&appvars,Str2=&basevars));'; put '%if &newvars>0 %then %do;'; put 'data &outds;'; put 'set &outds &out_ds;'; put 'run;'; put '%end;'; put '%else %do;'; put 'proc append base=&outds data=&out_ds force nowarn;'; put 'run;'; put '%end;'; put '%end;'; put '%else %do;'; put 'proc append base=&outds data=&out_ds;'; put 'run;'; put '%end;'; put '/* recursive call */'; put '%if &maxdepth>&level or &maxdepth=MAX %then %do;'; put 'data _null_;'; put 'set &out_ds;'; put 'where file_or_folder=''folder'';'; put '%if &showparent=YES and &level=0 %then %do;'; put 'if filepath ne directory;'; put '%end;'; put 'length code $10000;'; put 'code=cats(''%nrstr(%mp_dirlist(path='',filepath,",outds=&outds"'; put ',",getattrs=&getattrs,level=%eval(&level+1),maxdepth=&maxdepth))");'; put 'put code=;'; put 'call execute(code);'; put 'run;'; put '%end;'; put '/* tidy up */'; put 'proc sql;'; put 'drop table &out_ds;'; put '%mend mp_dirlist;'; put '%macro mp_binarycopy('; put 'inloc= /* full path and filename of the object to be copied */'; put ',outloc= /* full path and filename of object to be created */'; put ',inref=____in /* override default to use own filerefs */'; put ',outref=____out /* override default to use own filerefs */'; put ',mode=CREATE'; put ',iftrue=%str(1=1)'; put ')/*/STORE SOURCE*/;'; put '%local mod;'; put '%if not(%eval(%unquote(&iftrue))) %then %return;'; put '%if &mode=APPEND %then %let mod=mod;'; put '/* these IN and OUT filerefs can point to anything */'; put '%if &inref = ____in %then %do;'; put 'filename &inref &inloc lrecl=1048576 ;'; put '%end;'; put '%if &outref=____out %then %do;'; put 'filename &outref &outloc lrecl=1048576 &mod;'; put '%end;'; put '/* copy the file byte-for-byte */'; put 'data _null_;'; put 'infile &inref lrecl=1 recfm=n;'; put 'file &outref &mod recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%if &inref = ____in %then %do;'; put 'filename &inref clear;'; put '%end;'; put '%if &outref=____out %then %do;'; put 'filename &outref clear;'; put '%end;'; put '%mend mp_binarycopy;'; put '%macro mf_mval(var);'; put '%if %symexist(&var) %then %do;'; put '%superq(&var)'; put '%end;'; put '%mend mf_mval;'; put '%macro mf_trimstr(basestr,trimstr);'; put '%local baselen trimlen trimval;'; put '/* return if basestr is shorter than trimstr (or 0) */'; put '%let baselen=%length(%superq(basestr));'; put '%let trimlen=%length(%superq(trimstr));'; put '%if &baselen < &trimlen or &baselen=0 %then %return;'; put '/* obtain the characters from the end of basestr */'; put '%let trimval=%qsubstr(%superq(basestr)'; put ',%length(%superq(basestr))-&trimlen+1'; put ',&trimlen);'; put '/* compare and if matching, chop it off! */'; put '%if %superq(basestr)=%superq(trimstr) %then %do;'; put '%return;'; put '%end;'; put '%else %if %superq(trimval)=%superq(trimstr) %then %do;'; put '%qsubstr(%superq(basestr),1,%length(%superq(basestr))-&trimlen)'; put '%end;'; put '%else %do;'; put '&basestr'; put '%end;'; put '%mend mf_trimstr;'; put '%macro mf_getplatform(switch'; put ')/*/STORE SOURCE*/;'; put '%local a b c;'; put '%if &switch.NONE=NONE %then %do;'; put '%if %symexist(sasjsprocessmode) %then %do;'; put '%if &sasjsprocessmode=Stored Program %then %do;'; put 'SASJS'; put '%return;'; put '%end;'; put '%end;'; put '%if %symexist(sysprocessmode) %then %do;'; put '%if "&sysprocessmode"="SAS Object Server"'; put 'or "&sysprocessmode"= "SAS Compute Server" %then %do;'; put 'SASVIYA'; put '%end;'; put '%else %if "&sysprocessmode"="SAS Stored Process Server"'; put 'or "&sysprocessmode"="SAS Workspace Server"'; put '%then %do;'; put 'SASMETA'; put '%return;'; put '%end;'; put '%else %do;'; put 'BASESAS'; put '%return;'; put '%end;'; put '%end;'; put '%else %if %symexist(_metaport) or %symexist(_metauser) %then %do;'; put 'SASMETA'; put '%return;'; put '%end;'; put '%else %do;'; put 'BASESAS'; put '%return;'; put '%end;'; put '%end;'; put '%else %if &switch=SASSTUDIO %then %do;'; put '/* return the version of SAS Studio else 0 */'; put '%if %mf_mval(_CLIENTAPP)=%str(SAS Studio) %then %do;'; put '%let a=%mf_mval(_CLIENTVERSION);'; put '%let b=%scan(&a,1,.);'; put '%if %eval(&b >2) %then %do;'; put '&b'; put '%end;'; put '%else 0;'; put '%end;'; put '%else 0;'; put '%end;'; put '%else %if &switch=VIYARESTAPI %then %do;'; put '%mf_trimstr(%sysfunc(getoption(servicesbaseurl)),/)'; put '%end;'; put '%mend mf_getplatform;'; put '%macro mf_getuniquefileref(prefix=_,maxtries=1000,lrecl=32767);'; put '%local rc fname;'; put '%if &prefix=0 %then %do;'; put '%let rc=%sysfunc(filename(fname,,temp,lrecl=&lrecl));'; put '%if &rc %then %put %sysfunc(sysmsg());'; put '&fname'; put '%end;'; put '%else %do;'; put '%local x len;'; put '%let len=%eval(8-%length(&prefix));'; put '%let x=0;'; put '%do x=0 %to &maxtries;'; put '%let fname=&prefix%substr(%sysfunc(ranuni(0)),3,&len);'; put '%if %sysfunc(fileref(&fname)) > 0 %then %do;'; put '%let rc=%sysfunc(filename(fname,,temp,lrecl=&lrecl));'; put '%if &rc %then %put %sysfunc(sysmsg());'; put '&fname'; put '%return;'; put '%end;'; put '%end;'; put '%put unable to find available fileref after &maxtries attempts;'; put '%end;'; put '%mend mf_getuniquefileref;'; put '%macro mp_webin();'; put '/* prepare global variables */'; put '%global _webin_file_count'; put '_webin_filename _webin_filename1'; put '_webin_fileref _webin_fileref1'; put '_webin_fileuri _webin_fileuri1'; put '_webin_name _webin_name1'; put ';'; put '/* create initial versions */'; put '%let _webin_file_count=%eval(&_webin_file_count+0);'; put '%let _webin_filename1=%sysfunc(coalescec(&_webin_filename1,&_webin_filename));'; put '%let _webin_fileref1=%sysfunc(coalescec(&_webin_fileref1,&_webin_fileref));'; put '%let _webin_fileuri1=%sysfunc(coalescec(&_webin_fileuri1,&_webin_fileuri));'; put '%let _webin_name1=%sysfunc(coalescec(&_webin_name1,&_webin_name));'; put '/* If Viya, create temporary fileref(s) */'; put '%local i;'; put '%if %mf_getplatform()=SASVIYA %then %do i=1 %to &_webin_file_count;'; put '%let _webin_fileref&i=%mf_getuniquefileref();'; put 'filename &&_webin_fileref&i filesrvc "&&_webin_fileuri&i";'; put '%end;'; put '%mend mp_webin;'; put '* SAS Macros end;'; put '* SAS Includes start;'; put '* SAS Includes end;'; put '* Binary Files start;'; put '* Binary Files end;'; put '* ServiceInit start;'; put 'libname mydb (work);'; put 'data mydb.springs ;'; put 'attrib'; put 'Latitude length= 8'; put 'Longitude length= 8'; put 'Name length= $34'; put 'Area length= $14'; put 'Type length= $9'; put 'Farenheit length= 8'; put 'Celsius length= 8'; put ';'; put 'infile cards dsd;'; put 'input'; put 'Latitude'; put 'Longitude'; put 'Name :$char.'; put 'Area :$char.'; put 'Type :$char.'; put 'Farenheit'; put 'Celsius'; put ';'; put 'missing a b c d e f g h i j k l m n o p q r s t u v w x y z _;'; put 'datalines4;'; put '51.925,-177.16,Fumaroles on Kanaga Island,Adak,Hotspring,219,104'; put '65.858,-164.71,Serpentine Hot Springs,Bendeleben,Hotspring,171,77'; put '53.851,-166.918,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,H,H'; put '53.877,-166.448,Hot Springs Near Summer Bay,Unalaska,Hotspring,H,H'; put '52.27,-174.042,Hot Springs on Atka Island,Atka,Hotspring,H,H'; put '52.34,-174.26,Hot Springs on Atka Island,Atka,Hotspring,H,H'; put '52.358,-172.317,Hot Spring on Seguam Island,Seguam,Hotspring,H,H'; put '52.84,-169.9,Chuginadak Hot Springs,Samalga Island,Hotspring,H,H'; put '52.96,-169.71,Hot Spring on Kagamil Island,Samalga Island,Hotspring,H,H'; put '51.94,-178.5,Hot Spring on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '51.963,-178.491,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '51.775,-178.793,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,H,H'; put '53.207,-168.445,Hot Springs Near Geyser Bight,Umnak,Hotspring,H,H'; put '53.892,-166.93,Makushin Volcano Fumaroles,Unalaska,Hotspring,310,154'; put '54.9,-162.885,Hot Spring on Amagat Island,False Pass,Hotspring,H,H'; put '53.213,-168.463,Hot Springs Near Geyser Bight,Umnak,Hotspring,216,102'; put '53.223,-168.477,Hot Springs Near Geyser Bight,Umnak,Hotspring,214,101'; put '53.443,-168.092,Thermal Springs In Okmok Caldera,Umnak,Hotspring,212,100'; put '52.042,-176.108,Hot Springs on Great Sitkin Island,Adak,Hotspring,210,99'; put '55.983,-131.661,Bailey Hot Spring,Ketchikan,Hotspring,198,92'; put '53.242,-168.365,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,192,89'; put '54.157,-165.85,Hot Springs Near Hot Springs Bay,Unimak,Hotspring,181,83'; put '58.033,-136.017,Hot Springs North End Tenakee Inle,Mt. Fairweathe,Hotspring,180,82'; put '65.093,-164.922,Pilgrim Springs,Bendeleben,Hotspring,178,81'; put '57.831,-156.513,W Ukinek Spring,Ugashik,Hotspring,178,81'; put '65.459,-153.312,Little Melozitna Hot Springs,Melozitna,Hotspring,176,80'; put '51.81,-177.79,Hot Spring on Tanaga Island,Adak,Hotspring,H,H'; put '65.233,-144.483,Hot Springs on Big Windy Creek,Circle,Hotspring,H,H'; put '55.334,-162.137,Hot Spring at West End Emmons Lake,Cold Bay,Hotspring,68,20'; put '66.197,-154.006,Tunalkten Lake Hot Spring,Hughes,Hotspring,.,.'; put '67.403,-153.883,Hot Spring Near Arrigetch Peaks,Survey Pass,Hotspring,W,W'; put '65.047,-142.848,Hot Spring on Flat Creek,Charley River,Hotspring,W,W'; put '63.683,-151.233,Hot Springs Near Glacier,Mt. Mckinley,Hotspring,W,W'; put '63.883,-150.717,Hot Springs East of Diamond,Mt. Mckinley,Hotspring,W,W'; put '62.45,-157.933,Hot Spring Near Flat,Iditarod,Hotspring,W,W'; put '60.837,-142.42,Hot Spring on Twelvemile Creek,Bering Glacier,Hotspring,W,W'; put '56.58,-132.18,South Stikine Spring,Petersburg,Hotspring,W,W'; put '52.87,-173.13,Hot Spring on Attu Island,Attu,Hotspring,W,W'; put '65.908,-154.993,Deniktow Ridge Hot Springs,Melozitna,Hotspring,H,H'; put '53.95,-168.037,Hot Springs on Bogoslof Island,Umnak,Hotspring,H,H'; put '65.45,-150,Hot Spring Near Little Minook Cr,Tanana,Hotspring,H,H'; put '51.967,-178.444,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '64.002,-156.3,Hot Spring on Tributary of Innoko,Nulato,Hotspring,H,H'; put '61.058,-160.692,Hot Spring Near Tuluksak River,Russian Missio,Hotspring,H,H'; put '61.363,-157.733,Hot Springs on Upper Chuilnuk Rive,Sleetmute,Hotspring,H,H'; put '61.267,-151.238,Hot Lake In Bottom of Crater Peak,Tyonek,Hotspring,H,H'; put '58.24,-155.09,Hot Spring Near Katmai Pass,Mt. Katmai,Hotspring,H,H'; put '58.27,-154.89,Hot Springs Near Mt Katmai,Mt. Katmai,Hotspring,H,H'; put '58.92,-153.98,Hot Spring West of Cape Douglas,Afognak,Hotspring,H,H'; put '55.368,-161.961,Fumarole,Port Moller,Hotspring,H,H'; put '54.18,-165.41,Hot Springs on Akun Island,Unimak,Hotspring,H,H'; put '54.23,-165.66,Hot Springs on Akun Island,Unimak,Hotspring,H,H'; put '54.66,-164.55,Hot Spring on Unimak Island,Unimak,Hotspring,H,H'; put '65.97,-154.033,Pocahontas Hot Springs,Melozitna,Hotspring,H,H'; put '65.216,-149.993,Hutlinana Hot Springs,Livengood,Hotspring,109,43'; put '57.085,-134.839,Baranof Warm Springs,Sitka,Hotspring,124,51'; put '67.283,-155.067,Reed River Hot Spring,Survey Pass,Hotspring,122,50'; put '66.15,-157.117,Hot Springs Near South Bm,Shungnak,Hotspring,122,50'; put '66.233,-157.583,Hot Springs on Hawk River,Shungnak,Hotspring,122,50'; put '65.81,-151.237,Kilo Hot Spring,Tanana,Hotspring,122,50'; put '56.717,-132.005,Chief Shakes Hot Springs,Petersburg,Hotspring,122,50'; put '69.33,-144.044,Okpilak Springs,Mt. Michelson,Hotspring,119,49'; put '65.367,-161.25,Granite Mountain Hot Springs,Candle,Hotspring,120,49'; put '57.644,-135.333,Nylen Hot Springs,Sitka,Hotspring,120,49'; put '65.963,-150.919,Ray River Hot Spring,Tanana,Hotspring,117,47'; put '64.924,-154.837,Horner Hot Springs,Ruby,Hotspring,117,47'; put '65.267,-155.28,Hot Springs Near Dulbi River,Melozitna,Hotspring,126,52'; put '57.807,-136.341,White Sulphur Springs (Hooniah H S,Sitka,Hotspring,111,44'; put '57.781,-135.217,Tenakee Hot Springs,Sitka,Hotspring,109,43'; put '52.19,-174.25,Hot Springs on Atka Island,Atka,Hotspring,167,75'; put '55.334,-133.641,Dalton (Craig) Hot Springs,Craig,Hotspring,109,43'; put '51.944,-178.547,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H'; put '57.771,-135.82,Hot Spring North Arm Peril Strait,Sitka,Hotspring,100,38'; put '53.848,-166.873,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,94,34'; put '69.627,-146.027,Red Hill Spring,Mt. Michelson,Hotspring,91,33'; put '62.081,-145.007,Upper Klawasi Warm Springs,Gulkana,Hotspring,86,30'; put '62.058,-145.222,Mineral Spring (Lower Klawasi Cone,Gulkana,Hotspring,82,28'; put '56.68,-131.882,Barnes Lake Hot Springs,Bradfield Cana,Hotspring,79,26'; put '56.928,-158.12,Surprise Lake Hot Spring,Chignik,Hotspring,73,23'; put '56.667,-132.28,Twin Lakes Hot Springs,Petersburg,Hotspring,70,21'; put '66.383,-157.517,Warm Spring Near Purcell Mountain,Shungnak,Hotspring,68,20'; put '57.348,-135.385,Hot Spring Near Fish Bay,Sitka,Hotspring,117,47'; put '65.983,-150.56,Hot Springs on Lower Ray River,Tanana,Hotspring,142,61'; put '55.863,-160.493,Hot Spring Near Port Moller,Port Moller,Hotspring,160,71'; put '53.253,-168.358,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,158,70'; put '51.97,-176.61,Hot Springs on Adak Island,Adak,Hotspring,154,68'; put '65.053,-146.057,Chena Hot Springs,Circle,Hotspring,153,67'; put '58.37,-137.09,Hot Springs Near Icy Point,Mt. Fairweathe,Hotspring,153,67'; put '56.836,-135.374,Goddard Hot Springs,Port Alexander,Hotspring,153,67'; put '66.342,-150.85,Kanuti Hot Springs,Bettles,Hotspring,151,66'; put '64.85,-162.3,Clear Creek Hot Springs,Solomon,Hotspring,149,65'; put '53.233,-168.3,Hot Spring on Umnak Island,Umnak,Hotspring,149,65'; put '61.2,-159.863,Hot Springs Near Ophir Creek,Russian Missio,Hotspring,145,63'; put '57.865,-156.499,Gas Rocks Hot Spring,Ugashik,Hotspring,127,53'; put '51.762,-178.77,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,144,62'; put '66.367,-156.767,Hot Springs Near Division Bm,Shungnak,Hotspring,140,60'; put '64.7,-162.467,Hot Spring Near Kwiniuk River,Solomon,Hotspring,106,41'; put '65.274,-148.847,Tolovana Hot Springs,Livengood,Hotspring,140,60'; put '55.933,-131.559,Bell Island Hot Springs,Ketchikan,Hotspring,165,74'; put '57.178,-157.015,Hot Spring Near Mother Goose Lake,Ugashik,Hotspring,138,59'; put '65.483,-144.637,Circle Hot Springs,Circle,Hotspring,135,57'; put '56.233,-131.267,Bradfield Canal Hot Springs,Bradfield Cana,Hotspring,135,57'; put '65.006,-150.633,Manley Hot Springs,Tanana,Hotspring,133,56'; put '65.129,-154.692,Melozi (Melozitna) Springs,Melozitna,Hotspring,131,55'; put '66.217,-149.547,Dall Hot Springs,Beaver,Hotspring,129,54'; put '55.217,-162.483,Hot Springs East of Cold Bay,Cold Bay,Hotspring,129,54'; put '65.217,-162.9,Hot Springs Near Lava Creek,Bendeleben,Hotspring,127,53'; put '54.944,-163.251,Hot Springs Near Morzhovoi,False Pass,Hotspring,145,63'; put '36.48,-91.053,Warm Springs,Poplar Bluff,Hotspring,82,28'; put '34.384,-93.607,Caddo Gap Springs,Little Rock,Hotspring,95,35'; put '34.321,-93.739,Spring on Redland Mountain,Little Rock,Hotspring,77,25'; put '34.406,-93.908,Spring on Little Missouri River,Little Rock,Hotspring,74,23'; put '34.542,-93.024,Big Chalybeate Spring,Little Rock,Hotspring,79,26'; put '34.513,-93.053,Hot Springs,Little Rock,Hotspring,147,64'; put '33.008,-109.778,Grapevine Spring,Clifton,Hotspring,91,33'; put '32.984,-113.324,Agua Caliente Springs,Ajo,Hotspring,102,39'; put '34.563,-113.497,Kaiser Hot Spring,Prescott,Hotspring,99,37'; put '34.076,-111.708,Spring (Hot),Holbrook,Hotspring,99,37'; put '33.17,-110.528,Coolidge Dam Warm Spring,Mesa,Hotspring,99,37'; put '34.695,-113.572,Cofer Hot Spring,Prescott,Hotspring,97,36'; put '33.209,-110.818,Pioneer Spring,Mesa,Hotspring,91,33'; put '33.988,-112.362,Castle Hot Springs,Phoenix,Hotspring,115,46'; put '32.345,-110.247,Warm Springs,Tucson,Hotspring,91,33'; put '36.196,-113.081,Lava Warm Springs,Grand Canyon,Hotspring,90,32'; put '33.068,-109.975,Warm Spring,Clifton,Hotspring,90,32'; put '31.943,-113.013,Quitobaquito Springs,Lukeville,Hotspring,90,32'; put '31.695,-110.963,Agua Caliente Spring,Nogales,Hotspring,90,32'; put '33.075,-109.298,Seep,Clifton,Hotspring,95,35'; put '34.357,-111.71,Verde Hot Springs,Holbrook,Hotspring,104,40'; put '32.998,-109.901,Indian Hot Springs,Silver City,Hotspring,118,48'; put '33.669,-111.165,Roosevelt Dam Springs,Mesa,Hotspring,118,48'; put '32.336,-110.24,Hookers Hot Springs,Tucson,Hotspring,127,53'; put '33.4,-109.152,Hannah Hot Spring,Clifton,Hotspring,133,56'; put '33.08,-109.303,Hot Spring,Clifton,Hotspring,138,59'; put '32.741,-114.068,Radium Hot Springs,El Centro,Hotspring,140,60'; put '32.971,-109.35,Gillard Hot Springs,Silver City,Hotspring,180,82'; put '35.984,-114.742,Hot Spring,Kingman,Hotspring,H,H'; put '33.78,-110.317,Warm Spring,Mesa,Hotspring,W,W'; put '36.418,-113.956,Pakoon Springs,Grand Canyon,Hotspring,86,30'; put '33.493,-112.94,El Dorado Hot Springs,Phoenix South,Hotspring,112,44'; put '34.896,-114.308,Oatman Warm Springs,Needles,Hotspring,91,33'; put '33.055,-109.295,Clifton Hot Springs,Clifton,Hotspring,102,39'; put '34.445,-112.693,Spring,Prescott,Hotspring,72,22'; put '32.337,-110.708,Mercer Spring,Tucson,Hotspring,77,25'; put '34.649,-111.744,Soda Spring,Holbrook,Hotspring,75,24'; put '33.253,-110.703,Spring,Mesa,Hotspring,75,24'; put '31.362,-109.265,Astin Spring,Douglas,Hotspring,75,24'; put '35.169,-113.851,Frost Mine Spring,Williams,Hotspring,70,21'; put '31.673,-109.902,Antelope Spring,Douglas,Hotspring,79,26'; put '35.213,-113.425,Casa Grande Spring,Williams,Hotspring,72,22'; put '33.51,-110.403,Cassadore Spring,Mesa,Hotspring,73,23'; put '34.32,-111.453,Tonto Natural Bridge Spring,Holbrook,Hotspring,72,22'; put '34.405,-111.602,Spring,Holbrook,Hotspring,72,22'; put '34.436,-109.402,Salado Springs,Saint Johns,Hotspring,72,22'; put '31.592,-109.51,Lewis Spring,Douglas,Hotspring,68,20'; put '33.046,-109.44,Eagle Creek Hot Springs,Clifton,Hotspring,97,36'; put '36.509,-111.852,Colorado Pool,Marble Canyon,Hotspring,86,30'; put '33.062,-109.482,Warm Spring,Clifton,Hotspring,73,23'; put '31.637,-110.703,Monkey Spring,Nogales,Hotspring,82,28'; put '32.281,-110.73,Agua Caliente,Tucson,Hotspring,86,30'; put '32.327,-110.228,N-O Spring,Tucson,Hotspring,73,23'; put '32.983,-110.373,Warm Spring,Tucson,Hotspring,79,26'; put '33.152,-110.639,Mescal Warm Spring,Mesa,Hotspring,84,29'; put '33.163,-110.662,Spring,Mesa,Hotspring,82,28'; put '35.077,-113.267,Trout Creek Spring,Williams,Hotspring,81,27'; put '33.438,-110.213,Warm Springs,Mesa,Hotspring,86,30'; put '36.895,-113.913,Springs,Grand Canyon,Hotspring,79,26'; put '35.96,-114.725,Hot Spring,Kingman,Hotspring,86,30'; put '34.925,-114.221,Caliche Spring,Needles,Hotspring,79,26'; put '33.915,-112.332,Mitchell Spring,Phoenix,Hotspring,79,26'; put '33.831,-110.574,Salt Banks,Mesa,Hotspring,78,26'; put '34.91,-113.608,Tom Brown Warm Spring,Prescott,Hotspring,82,28'; put '38.873,-122.689,Seigler Springs,Santa Rosa,Hotspring,126,52'; put '36.814,-117.763,Palm Spring,Death Valley,Hotspring,120,49'; put '34.498,-119.341,Stingleys Hot Springs,Los Angeles,Hotspring,123,51'; put '33.67,-117.325,"Wrenden Hot Sprs, Elsinore Hot Spr",Santa Ana,Hotspring,125,52'; put '37.253,-118.373,Keough Hot Springs,Mariposa,Hotspring,124,51'; put '36.229,-118.302,Jordan Hot Springs,Fresno,Hotspring,124,51'; put '34.502,-119.346,Vickers Hot Springs,Los Angeles,Hotspring,124,51'; put '36.123,-121.64,Slates Hot Springs,Santa Cruz,Hotspring,122,50'; put '35.881,-118.67,California Hot Springs,Bakersfield,Hotspring,122,50'; put '38.788,-122.777,Sulphur Creek,Santa Rosa,Hotspring,120,49'; put '37.648,-118.806,Hot Springs,Mariposa,Hotspring,129,54'; put '36.703,-120.86,Mercey Hot Springs,Santa Cruz,Hotspring,119,48'; put '33.589,-117.511,San Juan Hot Springs,Santa Ana,Hotspring,120,49'; put '38.785,-122.655,Harbin Springs,Santa Rosa,Hotspring,120,49'; put '37.677,-118.79,Dehy Hot Spring,Mariposa,Hotspring,134,57'; put '39.183,-122.7,Bartlett Springs,Ukiah,Hotspring,144,62'; put '36.234,-121.546,Tassajara Hot Springs,Santa Cruz,Hotspring,144,62'; put '36.144,-120.555,Coalinga Mineral Springs,Santa Cruz,Hotspring,112,44'; put '39.033,-122.445,Jones Fountain of Life Spring,Ukiah,Hotspring,142,61'; put '35.575,-118.534,"Miracle Hot Sprs, Hobo Hot Sprs",Bakersfield,Hotspring,119,48'; put '33.284,-116.631,Warner Hot Spring,Santa Ana,Hotspring,138,59'; put '38.237,-119.326,Buckeye Hot Spring,Walker Lake,Hotspring,140,60'; put '41.266,-120.08,Hot Springs (Menlo Baths),Alturas,Hotspring,135,57'; put '33.753,-117.495,Glen Ivy Hot Springs,Santa Ana,Hotspring,131,55'; put '37.802,-118.532,Benton Hot Springs,Mariposa,Hotspring,134,57'; put '38.691,-123.024,Skaggs Springs,Santa Rosa,Hotspring,135,56'; put '35.62,-118.473,Scovern Hot Springs,Bakersfield,Hotspring,133,56'; put '34.538,-119.56,Agua Caliente Spring,Los Angeles,Hotspring,133,56'; put '33.558,-117.154,Murrietta Hot Springs,Santa Ana,Hotspring,132,56'; put '39.226,-120.01,Brockway Hot Springs,Chico,Hotspring,131,55'; put '41.036,-121.926,Hunt Hot Spring,Alturas,Hotspring,136,58'; put '34.582,-119.044,Willett Hot Springs,Los Angeles,Hotspring,108,42'; put '37.234,-118.881,Blaney Meadows Hot Springs,Mariposa,Hotspring,109,43'; put '36.477,-118.404,Kern Hot Spring,Fresno,Hotspring,109,43'; put '36.806,-117.771,Lower Warm Springs,Death Valley,Hotspring,110,43'; put '34.482,-119.302,Matilija Hot Springs,Los Angeles,Hotspring,109,43'; put '34.537,-119.879,San Marcos Hot Spring,Los Angeles,Hotspring,110,43'; put '33.896,-117.057,Eden Hot Springs,Santa Ana,Hotspring,109,43'; put '39.573,-120.348,Campbell Hot Springs,Chico,Hotspring,111,44'; put '38.994,-122.742,Horseshoe Spring,Santa Rosa,Hotspring,108,42'; put '33.969,-116.942,Highland Springs,Santa Ana,Hotspring,112,44'; put '34.34,-117.173,"Warm Spring, Hot Spring",San Bernardino,Hotspring,108,42'; put '41.219,-120.066,Squaw Baths,Alturas,Hotspring,106,41'; put '40.142,-120.935,Indian Valley Hot Springs,Susanville,Hotspring,106,41'; put '39.292,-122.821,Crabtree Hot Springs,Ukiah,Hotspring,106,41'; put '37.108,-121.478,Gilroy Hot Springs,San Jose,Hotspring,106,41'; put '39.227,-123.362,Orrs Springs,Ukiah,Hotspring,104,40'; put '38.773,-122.705,Anderson Springs,Santa Rosa,Hotspring,108,42'; put '38.858,-122.671,Howard Springs,Santa Rosa,Hotspring,113,45'; put '34.461,-119.637,Montecito Hot Springs,Los Angeles,Hotspring,118,48'; put '33.551,-117.167,Temecula Hot Springs,Santa Ana,Hotspring,116,47'; put '33.835,-116.988,Gilman Hot Springs,Santa Ana,Hotspring,117,47'; put '37.618,-119.074,Reds Meadow Hot Springs,Mariposa,Hotspring,115,46'; put '35.528,-118.665,Democrat Hot Springs,Bakersfield,Hotspring,115,46'; put '33.731,-118.348,Whites Point Hot Springs,Long Beach,Hotspring,115,46'; put '37.532,-119.025,Fish Creek Hot Springs,Mariposa,Hotspring,110,43'; put '39.032,-122.432,"Blank Spring, Manzanita Mine Sprs",Ukiah,Hotspring,112,45'; put '37.327,-119.018,Mono Hot Springs,Mariposa,Hotspring,109,43'; put '38.225,-119.217,The Hot Springs,Walker Lake,Hotspring,113,45'; put '35.727,-118.408,Hot Spring,Bakersfield,Hotspring,113,45'; put '41.6,-120.088,Leonards Hot Springs,Alturas,Hotspring,144,62'; put '38.874,-123.518,Point Arena Hot Springs,Santa Rosa,Hotspring,111,44'; put '41.126,-121.028,Kellog Hot Springs,Alturas,Hotspring,172,78'; put '35.558,-118.612,Delonegha Hot Springs,Bakersfield,Hotspring,112,44'; put '35.871,-116.23,Tecopa Hot Springs,Trona,Hotspring,118,48'; put '41.86,-120.158,Fort Bidwell Hot Spring,Alturas,Hotspring,113,45'; put '41.534,-120.078,Hot Springs (Surprise Valley),Alturas,Hotspring,208,98'; put '33.345,-115.588,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '41.012,-121.274,Hot Springs,Alturas,Hotspring,H,H'; put '39.922,-120.024,Zamboni Hot Springs,Chico,Hotspring,H,H'; put '38.979,-122.659,Fumarole,Santa Rosa,Hotspring,H,H'; put '37.622,-119.028,Fumaroles,Mariposa,Hotspring,H,H'; put '40.364,-120.243,Hot Spring,Susanville,Hotspring,204,96'; put '38.767,-122.748,Little Geysers,Santa Rosa,Hotspring,210,99'; put '33.328,-115.583,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '41.67,-120.206,Lake City Hot Springs,Alturas,Hotspring,207,97'; put '36.036,-117.802,Devils Kitchen,Death Valley,Hotspring,207,97'; put '36.045,-117.769,Coso Hot Springs,Death Valley,Hotspring,207,97'; put '40.382,-121.513,Morgan Hot Spring,Susanville,Hotspring,205,96'; put '40.421,-121.375,Terminal Geyser,Susanville,Hotspring,205,96'; put '41.19,-120.383,West Valley Reservoir Hot Spring,Alturas,Hotspring,171,77'; put '38.802,-122.81,The Geysers,Santa Rosa,Hotspring,214,101'; put '35.888,-116.258,Springs,Trona,Hotspring,W,W'; put '34.185,-117.262,"Arrowhead Springs, Waterman Hot Sp",San Bernardino,Hotspring,194,90'; put '33.823,-116.542,Palm Springs (Agua Caliente Spring,Santa Ana,Hotspring,104,40'; put '41.196,-120.475,Springs,Alturas,Hotspring,W,W'; put '41.959,-120.936,Warm Spring,Alturas,Hotspring,W,W'; put '37.929,-121.965,Springs,San Jose,Hotspring,W,W'; put '36.83,-117.736,Upper Warm Spring,Death Valley,Hotspring,W,W'; put '33.343,-115.573,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '35.536,-118.651,Spring (Hot),Bakersfield,Hotspring,W,W'; put '33.332,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '35.967,-116.931,Warm Spring,Trona,Hotspring,W,W'; put '33.28,-115.592,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.288,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.312,-115.577,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '33.313,-115.605,Mud Volcanoes,Salton Sea,Hotspring,W,W'; put '40.393,-121.507,Growler Hot Spring,Susanville,Hotspring,203,95'; put '35.148,-118.783,Warm Spring,Bakersfield,Hotspring,W,W'; put '41.973,-122.202,Klamath Hot Spring,Weed,Hotspring,156,69'; put '41.143,-121.11,Bassett Hot Springs,Alturas,Hotspring,174,79'; put '38.58,-122.575,Calistoga Hot Springs,Santa Rosa,Hotspring,172,78'; put '37.656,-118.834,Hot Creek Springs,Mariposa,Hotspring,171,77'; put '41.229,-121.405,Little Hot Spring,Alturas,Hotspring,169,76'; put '37.664,-118.802,The Tub,Mariposa,Hotspring,167,75'; put '40.355,-120.257,Wendel Hot Springs,Susanville,Hotspring,205,96'; put '38.768,-122.717,Castle Rock Springs,Santa Rosa,Hotspring,163,73'; put '38.245,-119.205,Travertine Hot Springs,Walker Lake,Hotspring,180,82'; put '39.002,-122.664,Sulphur Bank,Ukiah,Hotspring,156,69'; put '39.057,-122.475,Elgin Mine,Ukiah,Hotspring,156,69'; put '39.039,-122.421,Wilbur Springs,Ukiah,Hotspring,153,67'; put '40.444,-121.409,Drakesbad,Susanville,Hotspring,151,66'; put '40.457,-121.545,Mill Creek Springs,Susanville,Hotspring,150,66'; put '38.048,-119.081,Hot Spring,Walker Lake,Hotspring,151,66'; put '37.647,-118.859,Casa Diablo Hot Pool,Mariposa,Hotspring,165,74'; put '41.607,-121.523,Hot Spot,Alturas,Hotspring,191,88'; put '40.44,-121.434,Devils Kitchen,Susanville,Hotspring,203,95'; put '40.302,-120.195,Amedee Hot Springs,Susanville,Hotspring,203,95'; put '36.031,-117.833,Fumarole,Death Valley,Hotspring,203,95'; put '40.447,-121.536,"Sulphur Works, Tophet Hot Springs",Susanville,Hotspring,199,93'; put '40.455,-121.501,Bumpass Hell,Susanville,Hotspring,199,93'; put '37.648,-118.914,Casa Diablo Hot Springs And Geyser,Mariposa,Hotspring,199,93'; put '37.692,-118.839,Little Hot Creek Spring,Mariposa,Hotspring,180,82'; put '34.596,-118.998,Sespe Hot Springs,Los Angeles,Hotspring,194,90'; put '38.348,-119.4,Fales Hot Springs,Walker Lake,Hotspring,180,82'; put '40.434,-121.399,Boiling Springs Lake,Susanville,Hotspring,190,88'; put '41.615,-120.102,Seyferth Hot Springs,Alturas,Hotspring,185,85'; put '41.407,-122.197,"Hot Spring, Fumaroles",Weed,Hotspring,183,84'; put '37.993,-119.028,Paoha Island Springs,Mariposa,Hotspring,181,83'; put '41.025,-121.924,Big Bend Hot Springs,Alturas,Hotspring,180,82'; put '38.699,-119.846,Grovers Hot Springs,Walker Lake,Hotspring,147,64'; put '37.665,-118.828,Hot Creek Gorge Springs,Mariposa,Hotspring,199,93'; put '39.43,-122.538,"Sulphur Spring, Salt Spring",Ukiah,Hotspring,75,24'; put '38.925,-122.77,Hildebrande Spring,Santa Rosa,Hotspring,77,25'; put '38.203,-119.118,Warm Spring,Walker Lake,Hotspring,77,25'; put '36.938,-121.565,Sargent Estate Warm Spring,Santa Cruz,Hotspring,77,25'; put '34.826,-116.677,Newberry Spring,San Bernardino,Hotspring,77,25'; put '41.919,-122.369,Bogus Soda Springs,Weed,Hotspring,76,24'; put '39.053,-122.597,Quigley Soda Spring,Ukiah,Hotspring,82,28'; put '41.252,-120.521,Warm Spring,Alturas,Hotspring,75,24'; put '38.85,-122.693,Pine Cone Spring,Santa Rosa,Hotspring,78,26'; put '38.339,-122.259,Napa Vichy Springs,Santa Rosa,Hotspring,76,24'; put '38.892,-122.533,Baker Soda Spring,Santa Rosa,Hotspring,76,24'; put '38.897,-122.882,England Springs,Santa Rosa,Hotspring,76,24'; put '38.916,-122.799,Carlsbad Spring,Santa Rosa,Hotspring,76,24'; put '38.192,-120.827,Valley Springs,Sacramento,Hotspring,75,24'; put '38.85,-120.025,Myers Warm Spring,Sacramento,Hotspring,75,24'; put '37.708,-118.813,Hot Spring,Mariposa,Hotspring,68,20'; put '36.122,-117.217,Warm Sulphur Springs,Death Valley,Hotspring,80,27'; put '35.682,-116.422,Saratoga Spring,Trona,Hotspring,82,28'; put '33.733,-114.907,Mccoy Spring,Salton Sea,Hotspring,82,28'; put '41.484,-120.764,Spring,Alturas,Hotspring,81,27'; put '39.657,-123.585,Jackson Valley Mud Springs,Ukiah,Hotspring,80,27'; put '39.198,-122.505,Pseudo Complexion Spring,Ukiah,Hotspring,81,27'; put '38.85,-122.667,Bad Creek Spring,Santa Rosa,Hotspring,81,27'; put '32.97,-116.423,Vallecitos Spring,San Diego,Hotspring,79,26'; put '36.765,-120.901,Spring,Santa Cruz,Hotspring,81,27'; put '34.159,-118.499,El Encino Springs,Los Angeles,Hotspring,79,26'; put '35.879,-116.153,Resting Spring,Trona,Hotspring,80,27'; put '41.828,-120.917,Pothole Spring,Alturas,Hotspring,78,26'; put '39.348,-122.668,Fouts Springs,Ukiah,Hotspring,79,26'; put '38.519,-122.26,"Napa Rock Soda Spring, Phillips So",Santa Rosa,Hotspring,78,26'; put '38.838,-122.653,Spiers Springs,Santa Rosa,Hotspring,79,26'; put '35.141,-116.101,Soda Station Springs,Trona,Hotspring,75,24'; put '37.503,-121.904,Alameda Warm Springs,San Jose,Hotspring,80,27'; put '39.429,-123.308,Muir Springs,Ukiah,Hotspring,68,20'; put '37.924,-122.046,Sulphur Spring,San Francisco,Hotspring,75,24'; put '40.58,-120.265,Tipton Springs,Susanville,Hotspring,70,21'; put '39.697,-123.478,Pinches Spring,Ukiah,Hotspring,70,21'; put '38.755,-122.285,Zim Zim Spring,Santa Rosa,Hotspring,70,21'; put '37.083,-121.042,Spring In Oneill Forebay,San Jose,Hotspring,70,21'; put '37.632,-121.762,Crohare Spring,San Jose,Hotspring,70,21'; put '33.625,-115.325,Corn Spring,Salton Sea,Hotspring,72,22'; put '36.117,-118.776,Ward Spring,Fresno,Hotspring,70,21'; put '34.423,-119.538,Boron Spring,Los Angeles,Hotspring,72,22'; put '39.002,-122.498,Grizzly Spring,Ukiah,Hotspring,68,20'; put '39.088,-122.525,Sulphur Spring,Ukiah,Hotspring,68,20'; put '38.125,-122.188,Vallejo White Sulphur Springs,Santa Rosa,Hotspring,68,20'; put '38.31,-122.053,Tolenas Springs,Santa Rosa,Hotspring,68,20'; put '41.45,-120.834,Kelly Hot Spring,Alturas,Hotspring,198,92'; put '36.512,-116.821,Nevares Springs,Death Valley,Hotspring,102,39'; put '37.888,-118.487,Bertrand Ranch Springs,Mariposa,Hotspring,70,21'; put '35.483,-119.917,Mize Spring,Bakersfield,Hotspring,73,23'; put '36.698,-117.848,Little Hunter Canyon Springs,Death Valley,Hotspring,81,27'; put '38.995,-122.642,Davis Soda Spring,Santa Rosa,Hotspring,73,23'; put '37.432,-121.308,Salt Grass Springs,San Jose,Hotspring,73,23'; put '37.573,-121.445,Lone Tree Mineral Spring,San Jose,Hotspring,73,23'; put '37.638,-118.887,Chance Spring,Mariposa,Hotspring,73,23'; put '36.295,-120.985,Sulphur Springs,Santa Cruz,Hotspring,73,23'; put '41.16,-120.403,Warm Spring,Alturas,Hotspring,70,21'; put '35.4,-120.25,Cameta Warm Spring,San Luis Obisp,Hotspring,73,23'; put '37.719,-118.735,Springs,Mariposa,Hotspring,75,24'; put '35.588,-116.359,Sheep Creek Spring,Trona,Hotspring,73,23'; put '40.568,-120.325,Sellicks Springs,Susanville,Hotspring,72,22'; put '38.833,-122.357,One Shot Mining Co,Santa Rosa,Hotspring,72,22'; put '38.95,-122.572,Soda Spring In Cache Formation,Santa Rosa,Hotspring,72,22'; put '37.635,-118.72,Springs,Mariposa,Hotspring,72,22'; put '36.13,-118.816,Soda Spring,Fresno,Hotspring,72,22'; put '36.773,-120.898,Iridat Spring,Santa Cruz,Hotspring,73,23'; put '33.545,-115.654,Canyon Spring,Salton Sea,Hotspring,97,36'; put '36.675,-116.923,Keane Wonder Spring,Death Valley,Hotspring,93,34'; put '36.331,-121.367,Paraiso Springs (Sulphur Spring),Santa Cruz,Hotspring,98,37'; put '35.122,-120.542,Newsom Springs,San Luis Obisp,Hotspring,99,37'; put '34.503,-120.219,Las Cruces Hot Springs,Santa Maria,Hotspring,99,37'; put '38.49,-122.498,St Helena White Sulphur Spring,Santa Rosa,Hotspring,97,36'; put '35.946,-116.189,Chappo Spring,Trona,Hotspring,80,27'; put '40.019,-121.036,Spring,Susanville,Hotspring,99,37'; put '40.44,-121.42,Hot Springs Valley,Susanville,Hotspring,83,28'; put '32.947,-116.305,Agua Caliente Springs,San Diego,Hotspring,101,38'; put '39.196,-122.714,Newman Springs,Ukiah,Hotspring,94,35'; put '37.63,-118.808,Whitmore Hot Springs,Mariposa,Hotspring,95,35'; put '35.269,-120.851,Pecho Warm Springs,San Luis Obisp,Hotspring,95,35'; put '33.514,-117.604,Spring,Santa Ana,Hotspring,95,35'; put '38.958,-122.701,Riviera Beach Spring,Santa Rosa,Hotspring,93,34'; put '36.33,-117.948,Dirty Socks Hot Spring,Death Valley,Hotspring,93,34'; put '37.847,-121.635,Byron Hot Springs,San Jose,Hotspring,96,36'; put '35.433,-118.478,Yates Hot Springs,Bakersfield,Hotspring,100,38'; put '35.663,-120.692,Paso Robles Artesian Spring,San Luis Obisp,Hotspring,102,39'; put '34.507,-119.291,Wheeler Springs,Los Angeles,Hotspring,102,39'; put '33.8,-116.927,Soboda Hot Springs,Santa Ana,Hotspring,102,39'; put '40.223,-122.747,Stinking Springs,Redding,Hotspring,101,38'; put '38.8,-123.17,Hoods Hot Springs,Santa Rosa,Hotspring,100,38'; put '37.029,-117.383,Grapevine Springs,Goldfield,Hotspring,100,38'; put '36.084,-121.584,Dolans Hot Spring,Santa Cruz,Hotspring,98,37'; put '36.21,-118.176,Soda Springs,Fresno,Hotspring,100,38'; put '33.664,-117.913,Fairview Hot Spring,Santa Ana,Hotspring,96,36'; put '35.143,-116.813,Paradise Spring,Trona,Hotspring,100,38'; put '33.837,-117.145,Lakeview Hot Springs,Santa Ana,Hotspring,100,38'; put '33.201,-115.577,Mud Pots,Salton Sea,Hotspring,100,38'; put '33.212,-115.591,Mud Pots,Salton Sea,Hotspring,100,38'; put '33.217,-115.58,Wister Mud Pot,Salton Sea,Hotspring,100,38'; put '32.617,-116.189,Jacumba Hot Springs,San Diego,Hotspring,101,38'; put '36.618,-121.845,Sulphur Hot Spring,Santa Cruz,Hotspring,100,38'; put '36.495,-117.893,Springs,Death Valley,Hotspring,86,30'; put '38.033,-118.902,Mono Basin Warm Springs,Walker Lake,Hotspring,88,31'; put '35.908,-120.367,Table Mountain (Spring),San Luis Obisp,Hotspring,88,31'; put '34.271,-116.838,Pan Hot Springs,San Bernardino,Hotspring,88,31'; put '40.238,-122.11,Tuscan Springs,Redding,Hotspring,86,30'; put '40.245,-120.007,High Rock Spring,Susanville,Hotspring,86,30'; put '38.55,-122.72,Mark West Springs,Santa Rosa,Hotspring,88,31'; put '43.513,-119.903,Springs at Tecolote Tunnel,Los Angeles,Hotspring,93,34'; put '39.728,-120.547,Mclear Warm Springs,Chico,Hotspring,86,30'; put '38.835,-122.731,Gordon Warm Springs,Santa Rosa,Hotspring,97,36'; put '39.166,-123.159,Vichy Springs,Ukiah,Hotspring,85,29'; put '38.936,-122.907,Highland Springs,Santa Rosa,Hotspring,84,29'; put '37.398,-121.794,Mineral Springs,San Jose,Hotspring,84,29'; put '33.436,-117.324,De Luz Warm Springs,Santa Ana,Hotspring,85,29'; put '33.512,-115.827,Dos Palmas Spring,Salton Sea,Hotspring,84,29'; put '39.022,-122.444,Abbott Mine,Ukiah,Hotspring,86,30'; put '34.605,-118.561,Warm Spring,Los Angeles,Hotspring,92,33'; put '41.659,-123.319,Sulphur Springs,Weed,Hotspring,84,29'; put '38.394,-122.552,Los Guilicos Warm Springs,Santa Rosa,Hotspring,88,31'; put '41.492,-120.7,Essex Springs,Alturas,Hotspring,91,33'; put '38.654,-122.484,Aetna Springs,Santa Rosa,Hotspring,91,33'; put '35.842,-117.38,Bainter Spring,Trona,Hotspring,92,33'; put '34.228,-117.483,Tylers Bath Spring,San Bernardino,Hotspring,92,33'; put '33.363,-117.017,Agua Tibia Spring,Santa Ana,Hotspring,92,33'; put '41.167,-120.032,Bare Ranch Spring,Alturas,Hotspring,90,32'; put '35.978,-116.273,Shoshone Spring,Trona,Hotspring,90,32'; put '33.407,-116.035,Fish Springs,Santa Ana,Hotspring,90,32'; put '35.582,-120.666,Santa Ysabel Springs (Sulphur Spr),San Luis Obisp,Hotspring,92,33'; put '34.537,-119.613,Little Caliente Spring,Los Angeles,Hotspring,90,32'; put '39.006,-122.787,Big Soda Spring,Ukiah,Hotspring,90,32'; put '35.439,-119.846,Carneros Spring,Bakersfield,Hotspring,90,32'; put '36.441,-116.829,Travertine Springs,Death Valley,Hotspring,90,32'; put '37.88,-122.627,Rocky Point Springs,San Francisco,Hotspring,90,32'; put '39.227,-107.224,Penny Hot Springs,Leadville,Hotspring,133,56'; put '38.732,-106.178,Hortense Hot Spring,Montrose,Hotspring,181,83'; put '37.4,-107.849,Tripp Hot Springs,Durango,Hotspring,111,44'; put '40.073,-106.113,Hot Sulphur Springs,Craig,Hotspring,111,44'; put '39.739,-105.512,Idaho Springs,Denver,Hotspring,115,46'; put '39.552,-107.412,South Canyon Hot Springs,Leadville,Hotspring,118,48'; put '39.548,-107.322,Glenwood Springs,Leadville,Hotspring,124,51'; put '38.133,-107.736,Orvis Hot Spring,Montrose,Hotspring,126,52'; put '39.017,-105.793,Hartsel Hot Springs,Denver,Hotspring,126,52'; put '38.733,-106.162,Mount Princeton Hot Springs,Montrose,Hotspring,133,56'; put '37.752,-108.131,Paradise Warm Spring,Cortez,Hotspring,115,46'; put '37.747,-106.831,Wagon Wheel Gap Hot Springs,Durango,Hotspring,135,57'; put '37.263,-107.011,Pagosa Springs,Durango,Hotspring,136,58'; put '38.812,-106.226,Cottonwood Hot Springs,Montrose,Hotspring,136,58'; put '38.168,-105.924,Mineral Hot Springs,Pueblo,Hotspring,140,60'; put '40.559,-106.849,Routt Hot Springs,Craig,Hotspring,147,64'; put '38.021,-107.672,Ouray Hot Springs,Montrose,Hotspring,156,69'; put '38.498,-106.076,Poncha Hot Springs,Montrose,Hotspring,160,71'; put '38.514,-106.508,Upper Waunita Hot Springs,Montrose,Hotspring,176,80'; put '38.272,-107.1,Cebolla Hot Springs,Montrose,Hotspring,106,41'; put '37.313,-107.344,Piedra River Hot Springs,Durango,Hotspring,108,42'; put '38.517,-106.515,Lower Waunita Hot Springs,Montrose,Hotspring,167,75'; put '38.816,-106.873,Ranger Hot Spring,Montrose,Hotspring,81,27'; put '37.294,-105.784,Dexter Spring,Trinidad,Hotspring,68,20'; put '38.634,-106.072,Browns Grotto Warm Spring,Montrose,Hotspring,73,23'; put '39.164,-106.062,Rhodes Warm Spring,Leadville,Hotspring,75,24'; put '38.836,-106.825,Cement Creek Hot Spring,Montrose,Hotspring,77,25'; put '38.653,-106.056,Browns Canyon Warm Spring,Montrose,Hotspring,77,25'; put '37.033,-106.805,Stinking Springs,Durango,Hotspring,81,27'; put '37.747,-108.117,Geyser Warm Spring,Cortez,Hotspring,82,28'; put '38.479,-105.891,Swissvale Warm Springs,Pueblo,Hotspring,82,28'; put '37.751,-106.317,Shaw Springs,Durango,Hotspring,86,30'; put '37.728,-107.054,Birdsie Warm Spring,Durango,Hotspring,86,30'; put '37.741,-107.034,Antelope Spring,Durango,Hotspring,90,32'; put '39.628,-107.106,Dotsero Warm Springs,Leadville,Hotspring,90,32'; put '38.485,-105.91,Wellsville Warm Spring,Pueblo,Hotspring,91,33'; put '38.014,-108.054,Lemon Hot Spring,Moab,Hotspring,91,33'; put '37.391,-107.846,"Trimble Hot Spr, Stratten Warm Spr",Durango,Hotspring,97,36'; put '38.192,-105.816,Valley View Hot Springs,Pueblo,Hotspring,99,37'; put '38.433,-105.261,Canon City Hot Springs,Pueblo,Hotspring,104,40'; put '39.012,-106.891,Conundrum Hot Springs,Leadville,Hotspring,100,38'; put '37.511,-106.945,Rainbow Hot Springs,Durango,Hotspring,104,40'; put '40.467,-107.952,Juniper Hot Springs,Craig,Hotspring,100,38'; put '40.483,-106.827,Steamboat Springs,Craig,Hotspring,102,39'; put '37.771,-108.091,Dunton Hot Spring,Cortez,Hotspring,108,42'; put '37.453,-107.803,Pinkerton Hot Springs,Durango,Hotspring,90,32'; put '39.932,-105.277,Eldorado Springs,Denver,Hotspring,79,26'; put '27.074,-82.233,Little Salt Spring,Tampa,Hotspring,81,27'; put '27.06,-82.261,Warm Mineral Springs (Big Salt Spr,Tampa,Hotspring,86,30'; put '32.92,-84.438,Barker Spring,Phenix City,Hotspring,73,23'; put '32.964,-84.499,Thundering Spring,Phenix City,Hotspring,75,24'; put '33.018,-84.327,Taylor Spring,Atlanta,Hotspring,75,24'; put '32.862,-84.65,Parkman Spring,Phenix City,Hotspring,77,25'; put '33.037,-84.374,Lifsey Spring,Atlanta,Hotspring,79,26'; put '32.893,-84.69,Warm Springs,Phenix City,Hotspring,88,31'; put '32.873,-84.547,Tom Brown Spring,Phenix City,Hotspring,68,20'; put '19.407,-155.277,Steam Vents,Hawaii,Hotspring,H,H'; put '19.46,-154.847,Isaac Hale Park Spring,Hawaii,Hotspring,97,36'; put '19.496,-154.876,Warm Vapor,Hawaii,Hotspring,W,W'; put '19.373,-155.188,Steam Vents,Hawaii,Hotspring,H,H'; put '19.39,-155.311,Steam Vents,Hawaii,Hotspring,H,H'; put '19.434,-155.272,Steam Vents,Hawaii,Hotspring,H,H'; put '19.486,-155.598,Steam Vents,Hawaii,Hotspring,H,H'; put '19.466,-154.943,Steam Vents,Hawaii,Hotspring,H,H'; put '19.421,-155.62,Steam Vents,Hawaii,Hotspring,H,H'; put '19.201,-155.384,Waiwelawela Point Spring,Hawaii,Hotspring,90,32'; put '19.593,-154.928,Akins Spring,Hawaii,Hotspring,84,29'; put '44.721,-115.01,Thomas Creek Ranch Hot Spring,Challis,Hotspring,138,59'; put '45.431,-116.015,Cow Flats Hot Spring,Grangeville,Hotspring,138,59'; put '44.062,-115.685,Pine Flat Hot Springs,Challis,Hotspring,138,59'; put '44.382,-115.841,Dash Creek Hot Springs,Challis,Hotspring,138,59'; put '44.077,-115.553,Haven Lodge Hot Spring,Challis,Hotspring,147,64'; put '43.647,-114.816,Skillern Hot Springs,Hailey,Hotspring,140,60'; put '43.789,-115.434,Dutch Frank Hot Spring,Hailey,Hotspring,149,65'; put '43.54,-115.288,Bridge Hot Springs,Hailey,Hotspring,138,59'; put '43.72,-115.617,Smith Cabin Hot Spring,Hailey,Hotspring,138,59'; put '42.688,-114.826,Banbury Hot Spring,Twin Falls,Hotspring,138,59'; put '45.035,-115.561,Sheep Creek Hot Spring,Elk City,Hotspring,136,58'; put '44.245,-114.885,Elkhorn Hot Spring,Challis,Hotspring,136,58'; put '44.642,-115.693,Mollys Hot Spring,Challis,Hotspring,138,59'; put '43.811,-115.116,Atlanta Hot Springs,Hailey,Hotspring,140,60'; put '44.679,-116.231,White Licks Hot Spring,Baker,Hotspring,140,60'; put '45.512,-115.046,Barth Hot Springs,Elk City,Hotspring,140,60'; put '43.696,-115.658,Sheep Creek Bridge Hot Spring,Hailey,Hotspring,142,61'; put '44.914,-115.722,Teapot Hot Spring,Challis,Hotspring,142,61'; put '43.788,-115.444,Straight Creek Hot Spring,Hailey,Hotspring,144,62'; put '43.116,-115.305,Latty Hot Spring,Hailey,Hotspring,144,62'; put '45.039,-116.291,Zims Resort Hot Springs,Grangeville,Hotspring,144,62'; put '43.049,-114.952,White Arrow Hot Spring,Hailey,Hotspring,145,63'; put '44.645,-114.739,Upper Loon Creek Hot Springs,Challis,Hotspring,145,63'; put '43.383,-114.931,Wardrop Hot Spring,Hailey,Hotspring,147,64'; put '44.531,-116.754,Fairchild Hot Spring,Baker,Hotspring,126,52'; put '44.661,-114.652,Foster Ranch Hot Springs,Challis,Hotspring,135,57'; put '44.051,-115.829,Dan Hodges Hot Spring,Challis,Hotspring,140,60'; put '43.506,-114.354,Hailey Hot Springs,Hailey,Hotspring,131,55'; put '43.982,-114.486,West Pass Hot Spring,Hailey,Hotspring,124,51'; put '43.641,-114.487,Warfield Hot Spring,Hailey,Hotspring,124,51'; put '44.145,-112.554,Lidy Hot Springs,Dubois,Hotspring,124,51'; put '44.054,-115.907,Hot Spring Campground,Challis,Hotspring,124,51'; put '42.032,-115.363,Murphy Hot Springs,Twin Falls,Hotspring,126,52'; put '43.561,-114.415,Clarendon Hot Springs,Hailey,Hotspring,126,52'; put '43.423,-114.627,Elk Creek Hot Spring,Hailey,Hotspring,126,52'; put '43.553,-115.267,Paradise Hot Springs,Hailey,Hotspring,126,52'; put '42.308,-111.707,Maple Grove Hot Springs,Preston,Hotspring,172,78'; put '45.013,-113.605,Sharkey Hot Spring,Dillon,Hotspring,126,52'; put '44.73,-114.993,Sunflower Hot Springs,Challis,Hotspring,149,65'; put '43.974,-114.499,Lower Bowery Hot Spring,Hailey,Hotspring,129,54'; put '43.724,-115.604,Loftus Hot Spring,Hailey,Hotspring,129,54'; put '44.676,-115.943,Gold Fork Hot Spring,Challis,Hotspring,127,53'; put '44.044,-115.851,Donlay Ranch Hot Spring,Challis,Hotspring,131,55'; put '44.264,-114.818,Basin Creek Hot Spring,Challis,Hotspring,133,56'; put '44.652,-114.734,Owen Cabin Hot Spring,Challis,Hotspring,133,56'; put '43.605,-115.664,Rattlesnake Hot Spring,Hailey,Hotspring,133,56'; put '43.605,-114.948,Lightfoot Hot Springs,Hailey,Hotspring,133,56'; put '45.788,-115.198,Red River Hot Springs,Elk City,Hotspring,131,55'; put '44.632,-115.697,South Fork Plunge,Challis,Hotspring,129,54'; put '44.853,-116.442,Starkey Hot Springs,Baker,Hotspring,131,55'; put '42.692,-114.859,Hot Sulphur (Miracle Hot) Springs,Twin Falls,Hotspring,131,55'; put '44.045,-115.842,Corder Hot Spring,Challis,Hotspring,131,55'; put '44.247,-114.676,Robinson Bar Hot Springs,Challis,Hotspring,131,55'; put '44.785,-114.855,Cox Hot Springs,Challis,Hotspring,131,55'; put '43.637,-115.13,Willow Creek Hot Spring,Hailey,Hotspring,131,55'; put '43.803,-115.401,Granite Creek Hot Spring,Hailey,Hotspring,131,55'; put '43.129,-115.34,Coyote Hot Spring,Hailey,Hotspring,135,57'; put '44.211,-116.71,Cove Creek Hot Spring,Baker,Hotspring,131,55'; put '44.16,-115.167,Grandjean Hot Spring,Challis,Hotspring,H,H'; put '43.755,-115.571,Ninemeyer Hot Springs,Hailey,Hotspring,169,76'; put '43.701,-114.738,Big Smokey Hot Spring,Hailey,Hotspring,H,H'; put '43.831,-115.192,Queens River Hot Spring,Hailey,Hotspring,H,H'; put '43.817,-115.046,Leggit Creek Hot Spring,Hailey,Hotspring,H,H'; put '43.718,-115.563,Basset Hot Spring,Hailey,Hotspring,H,H'; put '43.588,-115.988,Mores Creek Hot Spring,Hailey,Hotspring,H,H'; put '44.951,-114.704,Mormon Ranch Warm Spring,Challis,Hotspring,H,H'; put '44.896,-114.563,Forge Creek Hot Springs,Challis,Hotspring,H,H'; put '44.77,-115.663,Billy Hot Spring,Challis,Hotspring,H,H'; put '44.628,-115.197,Sheepeater Hot Springs,Challis,Hotspring,H,H'; put '44.585,-115.072,Sulphur Creek Hot Spring,Challis,Hotspring,H,H'; put '44.554,-115.301,Sulphur Creek Hot Spring,Challis,Hotspring,H,H'; put '42.107,-113.39,Blm Well (Frazier Hot Spring),Pocatello,Hotspring,203,95'; put '44.4,-115.82,Goat Hot Springs,Challis,Hotspring,H,H'; put '45.307,-114.338,Big Creek Hot Springs,Elk City,Hotspring,199,93'; put '44.583,-116.112,Cascade Reservoir Hot Spring,Baker,Hotspring,H,H'; put '45.17,-115.807,Secesh Hot Spring,Elk City,Hotspring,H,H'; put '46.235,-114.707,Prospector Hot Springs,Hamilton,Hotspring,H,H'; put '46.138,-115.09,Stuart Hot Springs,Hamilton,Hotspring,H,H'; put '46.006,-115.021,Marten Hot Springs,Hamilton,Hotspring,H,H'; put '42.374,-111.726,Mound Valley Warm Spring,Preston,Hotspring,W,W'; put '43.255,-114.829,Mormon Reservoir Warm Spring,Hailey,Hotspring,W,W'; put '44.639,-115.671,Warm Lake Springs,Challis,Hotspring,W,W'; put '44.445,-115.239,Bear Valley Hot Spring,Challis,Hotspring,W,W'; put '44.354,-117.071,Old Homestead Warm Spring,Baker,Hotspring,W,W'; put '43.327,-113.918,Condie Hot Springs,Idaho Falls,Hotspring,124,51'; put '43.038,-112.004,Alkali Flats Warm Spring,Idaho Falls,Hotspring,93,34'; put '44.43,-115.762,Bull Creek Hot Springs,Challis,Hotspring,H,H'; put '42.119,-111.928,Squaw Hot Springs,Preston,Hotspring,163,73'; put '42.333,-111.716,Cleveland Hot Springs,Preston,Hotspring,151,66'; put '43.671,-115.696,Twin Springs,Hailey,Hotspring,151,66'; put '43.951,-116.353,Roystone Hot Springs,Boise,Hotspring,151,66'; put '42.704,-114.856,Salmon Falls Hot Spring,Twin Falls,Hotspring,153,67'; put '44.16,-115.177,Sacajawea Hot Springs,Challis,Hotspring,153,67'; put '43.738,-115.583,Vaughn Hot Spring,Hailey,Hotspring,154,68'; put '44.669,-116.305,Council Mtn Hot Springs,Baker,Hotspring,154,68'; put '44.831,-115.215,Kwiskwis Hot Spring,Challis,Hotspring,156,69'; put '43.684,-114.41,Guyer Hot Springs,Hailey,Hotspring,158,70'; put '43.155,-115.518,Hot Springs,Hailey,Hotspring,158,70'; put '44.586,-116.63,Lakey Hot Spring,Baker,Hotspring,158,70'; put '42.333,-115.65,Indian Hot Springs,Twin Falls,Hotspring,160,71'; put '42.637,-114.892,Poison Springs,Twin Falls,Hotspring,H,H'; put '44.813,-115.123,Middle Fork Indian Creek Hot Sprin,Challis,Hotspring,162,72'; put '44.072,-115.543,Kirkham Hot Springs,Challis,Hotspring,149,65'; put '43.328,-114.399,Magic Hot Springs,Hailey,Hotspring,163,73'; put '43.293,-114.908,Barrons Hot Spring,Hailey,Hotspring,167,75'; put '44.154,-115.993,Warm Springs Creek Hot Springs,Challis,Hotspring,167,75'; put '44.268,-114.748,Sunbeam Hot Springs,Challis,Hotspring,169,76'; put '44.092,-116.052,Deer Hot Springs,Baker,Hotspring,176,80'; put '43.563,-114.798,Worswick Hot Springs,Hailey,Hotspring,180,82'; put '42.133,-111.928,Battle Creek Hot Springs,Preston,Hotspring,183,84'; put '44.364,-115.856,Boiling Springs,Challis,Hotspring,185,85'; put '44.157,-115.314,Bonneville Hot Springs,Challis,Hotspring,185,85'; put '44.799,-115.129,Indian Creek Hot Spring,Challis,Hotspring,190,88'; put '44.568,-115.695,Vulcan Hot Springs,Challis,Hotspring,190,88'; put '44.306,-116.745,Crane Creek Hot Springs,Baker,Hotspring,198,92'; put '44.416,-116.031,Cabarton Hot Spring,Baker,Hotspring,160,71'; put '42.781,-111.983,Portneuf River Warm Spring,Preston,Hotspring,93,34'; put '44.621,-115.985,Badley Warm Spring,Challis,Hotspring,100,38'; put '45.201,-116.312,Boulder Creek Spring,Grangeville,Hotspring,82,28'; put '42.24,-113.588,Sears Spring,Pocatello,Hotspring,84,29'; put '44.257,-112.639,Warm Springs,Dubois,Hotspring,84,29'; put '42.911,-111.556,Henry Warm Spring,Preston,Hotspring,86,30'; put '43.021,-111.695,Wilson Lake Warm Spring,Driggs,Hotspring,86,30'; put '44.495,-116.732,Keithly Warm Spring,Baker,Hotspring,86,30'; put '42.655,-111.643,Steamboat Hot Spring,Preston,Hotspring,88,31'; put '45.152,-116.296,Stinky Warm Spring,Grangeville,Hotspring,88,31'; put '42.725,-112.872,Indian Springs,Pocatello,Hotspring,90,32'; put '43.114,-112.167,Yandell Springs,Idaho Falls,Hotspring,90,32'; put '44.64,-116.045,Arling Hot Spring,Baker,Hotspring,90,32'; put '42.657,-111.604,Soda Springs,Preston,Hotspring,82,28'; put '45.07,-115.826,Lick Creek Warm Spring,Elk City,Hotspring,91,33'; put '42.337,-111.726,Treasureton Hot Springs,Preston,Hotspring,95,35'; put '44.382,-114.088,Little Antelope Flat Warm Spring,Challis,Hotspring,93,34'; put '43.21,-111.495,Brockman Creek Hot Spring,Driggs,Hotspring,95,35'; put '44.398,-115.149,Cape Horn Warm Springs,Challis,Hotspring,95,35'; put '42.337,-114.509,Nat-Soo-Pah Warm Spring,Twin Falls,Hotspring,97,36'; put '44.9,-115.505,Hot Creek Warm Spring,Challis,Hotspring,97,36'; put '42.405,-114.142,Artesian City Hot Springs,Twin Falls,Hotspring,99,37'; put '42.762,-115.739,Indian Bathtub Hot Springs,Twin Falls,Hotspring,99,37'; put '43.227,-111.109,Alpine Warm Spring,Driggs,Hotspring,99,37'; put '42.545,-112.906,Rockland Warm Springs,Pocatello,Hotspring,100,38'; put '43.805,-114.585,Russian John Hot Spring,Hailey,Hotspring,100,38'; put '43.779,-114.539,Easley Hot Springs,Hailey,Hotspring,100,38'; put '44.26,-114.838,Mormon Bend Hot Spring,Challis,Hotspring,100,38'; put '44.64,-113.504,Big Eightmile Creek Warm Spring,Dubois,Hotspring,91,33'; put '42.339,-112.436,Kent Warm Spring,Pocatello,Hotspring,75,24'; put '42.957,-112.458,Tadpole Warm Spring,Pocatello,Hotspring,68,20'; put '43.607,-111.189,Taylor Springs,Driggs,Hotspring,68,20'; put '43.972,-116.325,Sweet Warm Spring,Boise,Hotspring,68,20'; put '44.717,-115.703,Dollar Creek Warm Spring,Challis,Hotspring,68,20'; put '42.625,-113.107,Lake Walcott Hot Spring,Pocatello,Hotspring,70,21'; put '42.015,-114.237,Thoroughbred Warm Springs,Twin Falls,Hotspring,69,21'; put '42.928,-111.592,Blackfoot Reservoir Warm Spring,Preston,Hotspring,72,22'; put '42.286,-113.446,"Rice Spring, Ward Spring",Pocatello,Hotspring,72,22'; put '42.085,-113.564,Grape Creek Warm Spring,Pocatello,Hotspring,72,22'; put '43.66,-111.715,Elkhorn Warm Spring,Driggs,Hotspring,72,22'; put '43.367,-113.884,Rush Warm Spring,Idaho Falls,Hotspring,72,22'; put '44.306,-117.042,Weiser Warm Springs,Baker,Hotspring,72,22'; put '45.344,-114.463,Owl Creek Hot Springs,Elk City,Hotspring,122,50'; put '44.454,-112.696,Big Spring,Dubois,Hotspring,73,23'; put '44.269,-113.449,Barney Hot Springs,Dubois,Hotspring,82,28'; put '43.5,-115.308,Towne Creek Warm Spring,Hailey,Hotspring,75,24'; put '43.161,-116.332,Thomas Flats Warm Spring,Boise,Hotspring,75,24'; put '44.612,-113.363,Whittaker Warm Springs,Dubois,Hotspring,75,24'; put '42.173,-112.239,Malad Warm Spring,Pocatello,Hotspring,77,25'; put '42.156,-112.348,Pleasantview Warm Springs,Pocatello,Hotspring,77,25'; put '42.025,-112.226,Prices Warm Spring,Pocatello,Hotspring,77,25'; put '42.865,-116.368,Lower Birch Spring,Jordan Valley,Hotspring,77,25'; put '43.423,-111.414,Fall Creek Mineral Springs,Driggs,Hotspring,77,25'; put '42.986,-111.743,Blackfoot River Warm Spring,Preston,Hotspring,79,26'; put '42.426,-111.378,Pescadero Warm Spring,Preston,Hotspring,79,26'; put '44.091,-111.458,Ashton Warm Spring,Ashton,Hotspring,79,26'; put '42.056,-112.246,Woodruff Hot Spring,Pocatello,Hotspring,81,27'; put '43.831,-116.396,Highland Land Co Warm Spring,Boise,Hotspring,73,23'; put '44.847,-115.696,Holdover Hot Spring,Challis,Hotspring,117,47'; put '43.047,-114.929,Hot Sulphur Lake,Hailey,Hotspring,81,27'; put '43.603,-115.07,Baumgartner Hot Spring,Hailey,Hotspring,111,44'; put '44.465,-116.037,Belvidere Hot Spring,Baker,Hotspring,111,44'; put '42.621,-112.008,Lava Hot Springs,Pocatello,Hotspring,113,45'; put '43.823,-115.327,Weatherby Hot Spring,Hailey,Hotspring,113,45'; put '43.335,-115.044,Wolf Hot Spring,Hailey,Hotspring,113,45'; put '44.905,-113.929,Goldbug Hot Spring,Dubois,Hotspring,113,45'; put '45.095,-113.836,Salmon Hot Spring,Dillon,Hotspring,113,45'; put '45.277,-115.912,Burgdorf Hot Springs,Elk City,Hotspring,113,45'; put '44.836,-114.79,Hospital Hot Spring,Challis,Hotspring,115,46'; put '44.72,-114.016,Cronks Canyon Hot Spring,Challis,Hotspring,115,46'; put '44.721,-115.207,Pistol Creek Hot Springs,Challis,Hotspring,115,46'; put '43.791,-111.435,Pincock (Green Canyon) Hot Springs,Driggs,Hotspring,111,44'; put '43.414,-116.707,Givens Hot Springs,Boise,Hotspring,117,47'; put '45.503,-114.463,Horse Creek Hot Springs,Elk City,Hotspring,109,43'; put '46.464,-115.035,Weir Creek Hot Springs,Hamilton,Hotspring,117,47'; put '42.115,-111.264,Bear Lake Hot Springs,Preston,Hotspring,118,48'; put '42.173,-113.861,Oakley Hot Spring,Pocatello,Hotspring,118,48'; put '46.463,-114.872,Jerry Johnson Hot Springs,Hamilton,Hotspring,118,48'; put '43.644,-111.687,Heise Hot Springs,Driggs,Hotspring,120,49'; put '44.799,-114.806,Lower Loon Creek Hot Spring,Challis,Hotspring,120,49'; put '44.253,-115.891,Rocky Canyon Hot Springs,Challis,Hotspring,120,49'; put '46.316,-115.258,Stanley Hot Springs,Hamilton,Hotspring,120,49'; put '43.779,-115.486,Brown Creek Hot Spring,Hailey,Hotspring,122,50'; put '44.628,-114.601,Shower Bath Springs,Challis,Hotspring,122,50'; put '44.171,-114.624,Slate Creek Hot Spring,Challis,Hotspring,122,50'; put '44.392,-115.834,Ground Hog Hot Springs,Challis,Hotspring,100,38'; put '42.797,-115.723,"Bat Hot Spring, Pence Hot Spring",Twin Falls,Hotspring,117,47'; put '42.767,-115.725,Lower Indian Bathtub Hot Springs,Twin Falls,Hotspring,108,42'; put '42.102,-113.632,Durfee Spring,Pocatello,Hotspring,102,39'; put '44.33,-115.802,Silver Creek Hot Spring,Challis,Hotspring,102,39'; put '42.447,-113.523,Marsh Creek Hot Spring,Pocatello,Hotspring,104,40'; put '42.449,-113.511,Marsh Gully Hot Springs,Pocatello,Hotspring,106,41'; put '42.798,-115.742,Bruneau Hot Spring,Twin Falls,Hotspring,106,41'; put '43.576,-114.83,Preis Hot Spring,Hailey,Hotspring,106,41'; put '43.677,-116.208,Terteling Hot Springs,Boise,Hotspring,106,41'; put '44.254,-114.443,Sullivan Hot Springs,Challis,Hotspring,106,41'; put '44.224,-114.929,Stanley Hot Spring,Challis,Hotspring,106,41'; put '44.101,-114.865,Rosalys Warm Spring,Challis,Hotspring,106,41'; put '44.06,-115.819,Danskin Creek Hot Spring,Challis,Hotspring,106,41'; put '45.852,-114.937,Running Warm Springs,Elk City,Hotspring,106,41'; put '43.363,-113.779,Milford Sweat Hot Spring,Idaho Falls,Hotspring,111,44'; put '46.466,-114.939,Colgate Warm Springs,Hamilton,Hotspring,106,41'; put '44.626,-115.749,Trail Creek Hot Spring,Challis,Hotspring,122,50'; put '43.816,-115.863,Warm Springs,Hailey,Hotspring,108,42'; put '43.76,-115.56,Pool Creek Hot Spring,Hailey,Hotspring,108,42'; put '45.042,-114.616,Snowshoe Johnsons Hot Spring,Elk City,Hotspring,108,42'; put '42.388,-112.085,Downata Hot Springs,Pocatello,Hotspring,109,43'; put '42.013,-114.504,Magic Hot Springs,Twin Falls,Hotspring,109,43'; put '42.779,-115.715,Buckaroo Hot Spring,Twin Falls,Hotspring,109,43'; put '43.99,-114.8,Pierson Hot Springs,Hailey,Hotspring,109,43'; put '43.038,-114.988,Tschanne Hot Spring,Hailey,Hotspring,109,43'; put '44.523,-114.173,Beardsley Hot Springs,Challis,Hotspring,109,43'; put '44.733,-115.018,Sunflower Flat Hot Spring,Challis,Hotspring,109,43'; put '44.516,-115.295,Dagger Creek Hot Spring,Challis,Hotspring,110,43'; put '44.971,-116.203,Krigbaum Hot Springs,Baker,Hotspring,109,43'; put '45.416,-116.172,Riggins Hot Springs,Grangeville,Hotspring,106,41'; put '42.735,-73.2,Sand Spring,Albany,Hotspring,75,24'; put '46.106,-114.004,Sleeping Child Hot Springs,Hamilton,Hotspring,122,50'; put '45.697,-114.365,Blue Joint Hot Springs 2,Elk City,Hotspring,84,29'; put '44.769,-111.649,Sloan Cow Camp Spring,Ashton,Hotspring,86,30'; put '47.632,-112.855,Medicine (Sun River) Springs,Choteau,Hotspring,86,30'; put '45.75,-113.938,Gallogly Spring,Dillon,Hotspring,100,38'; put '47.33,-114.789,Quinns Hot Springs,Wallace,Hotspring,109,43'; put '45.171,-112.153,Puller Hot Springs,Dillon,Hotspring,111,44'; put '46.728,-114.533,"Lolo Hot Springs, Granite Springs",Hamilton,Hotspring,111,44'; put '45.337,-110.691,Chico Hot Springs,Bozeman,Hotspring,113,45'; put '47.607,-114.663,Camas Hot Springs,Wallace,Hotspring,113,45'; put '45.841,-114.038,Medicine Hot Springs,Elk City,Hotspring,117,47'; put '45.458,-113.109,Elkhorn Hot Springs,Dillon,Hotspring,118,48'; put '45.027,-112.844,Mcmenomey Ranch Spring,Dillon,Hotspring,68,20'; put '45.792,-112.126,Renova Hot Springs,Dillon,Hotspring,122,50'; put '44.701,-111.878,Staudenmeyer Springs,Ashton,Hotspring,82,28'; put '45.602,-111.9,Potosi Warm Springs,Bozeman,Hotspring,124,51'; put '45.575,-111.683,Norris Hot Springs,Bozeman,Hotspring,127,53'; put '45.462,-112.475,New Biltmore Hot Springs,Dillon,Hotspring,127,53'; put '45.66,-111.186,Bozeman Hot Springs,Bozeman,Hotspring,131,55'; put '45.896,-112.233,Pipestone Hot Springs,Dillon,Hotspring,135,57'; put '46.547,-110.903,White Sulphur Springs,White Sulphur,Hotspring,136,58'; put '46.448,-111.982,Alhambra Hot Springs,White Sulphur,Hotspring,138,59'; put '45.757,-110.256,Hunters Hot Springs,Bozeman,Hotspring,140,60'; put '45.368,-113.403,Jardine Hot Spring,Dillon,Hotspring,140,60'; put '46.596,-112.108,Broadwater (Helena) Hot Springs,Butte,Hotspring,151,66'; put '44.984,-111.613,Wolf Creek Hot Springs,Ashton,Hotspring,154,68'; put '45.685,-112.295,Silver Star Hot Springs,Dillon,Hotspring,163,73'; put '45.59,-111.899,Potosi Hot Springs,Bozeman,Hotspring,122,50'; put '45.105,-112.751,Browns Springs,Dillon,Hotspring,75,24'; put '46.718,-113.306,Bearmouth Warm Spring 2,Butte,Hotspring,68,20'; put '46.717,-113.32,Bearmouth Warm Spring 1,Butte,Hotspring,68,20'; put '47.217,-109.471,Brooks Warm Spring,Lewistown,Hotspring,68,20'; put '45.708,-110.976,Bridger Canyon Warm Spring,Bozeman,Hotspring,70,21'; put '46.795,-108.883,Durfee Creek Springs,Roundup,Hotspring,70,21'; put '46.704,-113.452,Nimrod Springs,Butte,Hotspring,70,21'; put '47.876,-108.656,Landusky Springs,Lewistown,Hotspring,70,21'; put '45.032,-110.667,Bear Creek Springs,Bozeman,Hotspring,72,22'; put '45.111,-112.714,Lovells Hot Spring,Dillon,Hotspring,72,22'; put '46.106,-112.903,Anaconda Hot Springs,Butte,Hotspring,72,22'; put '45.235,-112.135,Trudau Warm Springs,Dillon,Hotspring,73,23'; put '45.698,-114.382,Blue Joint Hot Spring 1,Elk City,Hotspring,84,29'; put '45.037,-111.953,Vigilante Spring,Bozeman,Hotspring,75,24'; put '45.608,-110.571,Carter Bridge Warm Springs,Bozeman,Hotspring,82,28'; put '46.355,-111.565,Bedford Hot Springs,White Sulphur,Hotspring,74,24'; put '45.553,-110.142,Anderson Springs,Bozeman,Hotspring,77,25'; put '45.42,-112.692,Apex Warm Spring,Dillon,Hotspring,77,25'; put '46.607,-112.776,Garrison Warm Springs,Butte,Hotspring,77,25'; put '47.843,-108.598,The (Landusky) Plunge,Lewistown,Hotspring,77,25'; put '44.785,-111.649,West Fork Swimming Hole,Ashton,Hotspring,79,26'; put '46.61,-112.555,Avon Warm Spring,Butte,Hotspring,79,26'; put '46.334,-112.886,Deerlodge Prison Ranch Springs,Butte,Hotspring,79,26'; put '47.994,-108.445,Lodgepole (Big Warm) Springs,Lewistown,Hotspring,79,26'; put '47.451,-114.648,Green Springs,Wallace,Hotspring,79,26'; put '45.392,-112.452,Beaverhead Rock Spring,Dillon,Hotspring,81,27'; put '44.704,-111.892,Andersons Pasture Springs,Ashton,Hotspring,82,28'; put '47.971,-108.395,Little Warm Springs,Lewistown,Hotspring,73,23'; put '46.198,-112.094,Boulder Hot Springs,Butte,Hotspring,169,76'; put '46.178,-112.794,Warm Springs (State Hospital),Butte,Hotspring,172,78'; put '45.367,-111.726,Ennis Hot Springs,Bozeman,Hotspring,181,83'; put '46.044,-112.811,Gregson Hot Springs,Butte,Hotspring,158,70'; put '45.09,-110.774,Laduke (Corwin) Hot Spring,Bozeman,Hotspring,154,68'; put '35.897,-82.826,Hot Springs,Knoxville,Hotspring,108,42'; put '32.644,-108.128,Apache Tejo Warm Spring,Silver City,Hotspring,97,36'; put '33.135,-107.254,Truth Or Consequences,Tularosa,Hotspring,113,45'; put '36.305,-106.053,Ojo Caliente (Arsenic Spring),Aztec,Hotspring,111,44'; put '33.162,-108.209,Spring (Hot),Clifton,Hotspring,111,44'; put '36.508,-105.722,Manby Hot Springs,Raton,Hotspring,100,38'; put '35.849,-106.629,Spence Hot Springs,Albuquerque,Hotspring,100,38'; put '35.972,-106.56,San Antonio Warm Spring,Albuquerque,Hotspring,101,38'; put '35.82,-106.627,Mccauley Hot Springs,Albuquerque,Hotspring,99,37'; put '35.793,-106.685,Soda Dam Hot Springs,Albuquerque,Hotspring,117,47'; put '33.831,-108.8,(Upper) Frisco Hot Spring,Clifton,Hotspring,98,37'; put '35.646,-106.888,Warm Springs,Albuquerque,Hotspring,129,54'; put '36.324,-105.606,Ponce De Leon Springs,Raton,Hotspring,93,34'; put '34.038,-106.94,"Socorro Spring, Sedillo Spring",Socorro,Hotspring,93,34'; put '33.293,-108.282,"Spring Mfg Two, Spring Mfg Three",Clifton,Hotspring,99,37'; put '35.592,-106.753,Indian Springs,Albuquerque,Hotspring,123,51'; put '32.501,-106.926,Radium Springs,Las Cruces,Hotspring,127,53'; put '33.274,-108.25,Spring Mfg Four,Clifton,Hotspring,93,34'; put '35.938,-106.646,San Antonio Hot Spring,Albuquerque,Hotspring,129,54'; put '33.244,-108.88,San Francisco Hot Springs,Clifton,Hotspring,120,49'; put '32.748,-107.836,Mimbres Hot Springs,Las Cruces,Hotspring,136,58'; put '35.653,-105.29,Montezuma Hot Springs,Santa Fe,Hotspring,138,59'; put '33.233,-108.235,Spring (Hot),Clifton,Hotspring,149,65'; put '33.199,-108.209,Gila Hot Springs,Clifton,Hotspring,151,66'; put '33.108,-108.483,Turkey Creek Hot Spring,Clifton,Hotspring,165,74'; put '35.772,-106.69,Jemez Springs,Albuquerque,Hotspring,169,76'; put '35.908,-106.615,Sulphur Springs,Albuquerque,Hotspring,189,87'; put '33.237,-108.88,Hot Springs,Clifton,Hotspring,H,H'; put '32.562,-108.027,Kennecott Warm Springs,Silver City,Hotspring,W,W'; put '32.554,-107.994,Faywood Hot Springs,Las Cruces,Hotspring,129,54'; put '33.898,-108.501,Aragon Springs,Clifton,Hotspring,70,21'; put '34.847,-107.091,Spring (Salt),Socorro,Hotspring,76,24'; put '34.903,-107.085,El Ojo Escondido,Socorro,Hotspring,73,23'; put '35.06,-107.133,Alamos Spring,Albuquerque,Hotspring,72,22'; put '34.912,-108.951,Rainbow Spring,Saint Johns,Hotspring,71,22'; put '34.698,-107.129,Spring,Socorro,Hotspring,71,22'; put '32.455,-104.489,Indian Big Spring,Carlsbad,Hotspring,79,26'; put '34.995,-106.454,Clear Water Spring,Socorro,Hotspring,69,21'; put '32.821,-108.408,Ash Spring,Silver City,Hotspring,72,22'; put '32.83,-109.047,Goat Camp Spring,Silver City,Hotspring,69,21'; put '35.548,-106.827,San Ysidro Warm Springs,Albuquerque,Hotspring,68,20'; put '34.116,-106.98,Ojitos Springs,Socorro,Hotspring,68,20'; put '32.248,-104.411,Mosley Spring,Carlsbad,Hotspring,68,20'; put '33.708,-109.025,Frieborn Canyon Spring,Clifton,Hotspring,92,33'; put '33.192,-108.18,Lyons Hunting Lodge Hot Springs,Clifton,Hotspring,126,52'; put '35.601,-106.86,Phillips Springs,Albuquerque,Hotspring,70,21'; put '33.285,-108.262,Spring Mfg One,Clifton,Hotspring,88,31'; put '33.306,-108.324,The Meadows Warm Spring,Clifton,Hotspring,91,33'; put '34.049,-106.939,Cook Spring,Socorro,Hotspring,70,21'; put '32.795,-107.276,Derry Warm Springs,Las Cruces,Hotspring,92,33'; put '32.884,-108.358,Allen Springs,Silver City,Hotspring,78,26'; put '33.279,-107.563,Warm Springs,Tularosa,Hotspring,87,31'; put '32.606,-107.19,Souse Springs,Las Cruces,Hotspring,88,31'; put '34.808,-107.091,Spring (Salt),Socorro,Hotspring,86,30'; put '35.54,-106.854,San Ysidro Hot Springs,Albuquerque,Hotspring,85,29'; put '36.368,-106.059,Statue Spring,Aztec,Hotspring,83,28'; put '34.833,-107.091,Laguna Pueblo Seeps,Socorro,Hotspring,82,28'; put '33.572,-107.593,Ojo Caliente,Tularosa,Hotspring,83,28'; put '34.854,-107.088,Laguna Pueblo Springs,Socorro,Hotspring,80,27'; put '32.843,-108.512,Mangas Springs,Silver City,Hotspring,81,27'; put '34.769,-107.085,Spring (Salt),Socorro,Hotspring,78,26'; put '34.032,-106.777,Ojo De Las Canas,Socorro,Hotspring,79,26'; put '40.972,-119.007,Black Rock Hot Spring,Lovelock,Hotspring,136,58'; put '38.899,-119.41,Nevada (Hinds) Hot Springs,Walker Lake,Hotspring,144,62'; put '38.922,-118.198,Wedell Hot Springs,Walker Lake,Hotspring,144,62'; put '41.183,-114.991,Hot Springs,Wells,Hotspring,142,61'; put '38.437,-116.277,Hot Creek Valley Spring,Tonopah,Hotspring,142,61'; put '41.788,-114.735,Mineral Hot Spring,Wells,Hotspring,140,60'; put '37.825,-117.337,Alkali Hot Spring,Goldfield,Hotspring,140,60'; put '41.412,-114.675,Wine Cup Ranch Springs,Wells,Hotspring,138,59'; put '40.404,-116.517,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59'; put '40.417,-116.507,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59'; put '40.603,-116.463,Horseshoe Ranch Springs,Winnemucca,Hotspring,136,58'; put '41.378,-119.182,Springs (Hot),Vya,Hotspring,136,58'; put '39.883,-114.893,Cherry Creek Hot Springs,Ely,Hotspring,144,62'; put '40.922,-117.108,Hot Pot (Blossom Hot Springs),Winnemucca,Hotspring,136,58'; put '41.721,-118.505,Howard Hot Spring,Vya,Hotspring,135,57'; put '41.421,-117.388,The Hot Springs,Mcdermitt,Hotspring,135,57'; put '40.418,-117.415,Buffalo Springs,Winnemucca,Hotspring,162,72'; put '39.031,-116.666,Dianas Punch Bowl,Millett,Hotspring,138,59'; put '39.404,-116.347,Klobe (Bartholomae) Hot Spring,Millett,Hotspring,156,69'; put '36.975,-116.721,Hicks Hot Springs,Death Valley,Hotspring,109,43'; put '40.178,-117.496,Home Station Ranch Hot Spring,Winnemucca,Hotspring,135,57'; put '39.797,-118.067,Dixie Hot Springs,Reno,Hotspring,162,72'; put '39.904,-116.588,Walti Hot Springs,Millett,Hotspring,162,72'; put '38.981,-119.833,Walleys Hot Springs,Walker Lake,Hotspring,160,71'; put '38.464,-115.792,Chimney Warm Spring,Lund,Hotspring,160,71'; put '39.328,-116.858,Spencer Hot Springs,Millett,Hotspring,162,72'; put '41.108,-117.578,Hot Springs,Mcdermitt,Hotspring,158,70'; put '36.002,-114.742,Spring,Las Vegas,Hotspring,145,63'; put '41.576,-115.181,Hot Creek Springs,Wells,Hotspring,151,66'; put '40.954,-117.488,Golconda Hot Spring (South),Winnemucca,Hotspring,151,66'; put '40.22,-116.068,Bruffeys Hot Springs,Winnemucca,Hotspring,149,65'; put '40.249,-115.409,Smith Ranch Springs,Elko,Hotspring,149,65'; put '41.867,-114.692,San Jacinto Ranch Spring,Wells,Hotspring,148,64'; put '40.765,-116.04,Hot Sulphur Springs,Winnemucca,Hotspring,147,64'; put '38.188,-116.373,Warm Springs,Tonopah,Hotspring,145,63'; put '41.567,-118.564,Dyke Hot Springs,Vya,Hotspring,158,70'; put '38.365,-115.867,Abel Spring,Lund,Hotspring,115,46'; put '41.929,-114.071,Nile Spring,Wells,Hotspring,109,43'; put '39.193,-119.752,Carson Hot Springs,Reno,Hotspring,120,49'; put '39.512,-119.907,Lawton Hot Springs,Reno,Hotspring,120,49'; put '39.944,-119.509,Anaho Island Spring,Reno,Hotspring,120,49'; put '37.761,-117.632,Silverpeak Hot Spring,Goldfield,Hotspring,118,48'; put '37.621,-114.51,Caliente Hot Springs,Caliente,Hotspring,118,48'; put '39.058,-119.742,Saratoga Hot Spring,Reno,Hotspring,122,50'; put '39.308,-117.552,Hot Springs,Millett,Hotspring,115,46'; put '40.673,-116.838,Hot Springs,Winnemucca,Hotspring,122,50'; put '39.08,-116.639,Potts Ranch Hot Springs,Millett,Hotspring,113,45'; put '38.388,-115.866,Coyote Hole Spring,Lund,Hotspring,113,45'; put '41.753,-118.841,Warm Springs,Vya,Hotspring,112,44'; put '41.386,-114.165,Spring (Hot),Wells,Hotspring,111,44'; put '40.961,-117.494,Golconda Hot Spring (North),Winnemucca,Hotspring,165,74'; put '40.313,-117.07,Mound Springs,Winnemucca,Hotspring,109,43'; put '40.585,-115.285,Sulphur Hot Springs,Elko,Hotspring,205,96'; put '39.059,-119.815,Hobo Hot Springs,Reno,Hotspring,114,46'; put '40.191,-117.107,Hot Springs,Winnemucca,Hotspring,127,53'; put '40.819,-115.777,Hot Hole,Elko,Hotspring,133,56'; put '39.286,-119.84,Bowers Mansion Hot Spring,Reno,Hotspring,133,56'; put '41.809,-118.861,Painted Hills Mine,Vya,Hotspring,131,55'; put '41.925,-118.805,Bog Hot Springs,Vya,Hotspring,131,55'; put '41.647,-115.775,Wild Horse Hot Springs,Wells,Hotspring,129,54'; put '40.183,-117.102,Hot Springs Ranch,Winnemucca,Hotspring,129,54'; put '40.08,-117.604,Mccoy Springs,Winnemucca,Hotspring,120,49'; put '41.353,-119.216,Spring (Hot),Vya,Hotspring,127,53'; put '41.357,-119.188,Springs (Hot),Vya,Hotspring,133,56'; put '40.198,-117.103,Hot Springs,Winnemucca,Hotspring,127,53'; put '39.42,-119.738,Dimonte Spring,Reno,Hotspring,127,53'; put '38.952,-115.23,Williams Hot Spring,Lund,Hotspring,127,53'; put '41.261,-115.305,Hot Springs,Wells,Hotspring,126,52'; put '39.041,-116.663,Hot Spring,Millett,Hotspring,124,51'; put '41.365,-119.221,Spring (Hot),Vya,Hotspring,122,50'; put '41.159,-114.986,"Threemile Spring, Sulphur Hot Spr",Wells,Hotspring,122,50'; put '41.339,-119.192,Springs (Hot),Vya,Hotspring,127,53'; put '39.893,-116.649,Little Hot Springs,Millett,Hotspring,H,H'; put '39.787,-119.011,Bradys Hot Springs,Reno,Hotspring,209,98'; put '41.175,-115.278,Hot Spring,Wells,Hotspring,H,H'; put '41.145,-114.994,Hot Spring,Wells,Hotspring,H,H'; put '40.864,-117.349,Sulphur Spring,Winnemucca,Hotspring,H,H'; put '39.733,-119.039,Eagle Salt Works Spring,Reno,Hotspring,H,H'; put '39.281,-118.42,Sand Springs,Reno,Hotspring,H,H'; put '38.81,-116.397,Fish Springs,Tonopah,Hotspring,W,W'; put '39.559,-117.427,Petersons Mill Hot Spring,Millett,Hotspring,H,H'; put '38.339,-116.662,Warm Spring,Tonopah,Hotspring,W,W'; put '38.859,-119.175,Hot Spring,Walker Lake,Hotspring,H,H'; put '39.995,-117.854,Senator Fumaroles,Millett,Hotspring,B,B'; put '39.565,-118.856,(Soda Lake Area),Reno,Hotspring,210,99'; put '40.141,-119.687,The Needle Rocks Hot Springs,Lovelock,Hotspring,208,98'; put '40.146,-119.673,The Needle Rocks Hot Spring,Lovelock,Hotspring,208,98'; put '40.662,-119.365,Great Boiling Spring (Gerlach),Lovelock,Hotspring,208,98'; put '39.388,-119.743,Steamboat Springs,Reno,Hotspring,205,96'; put '39.866,-118.017,Dixie Comstock Mine,Reno,Hotspring,H,H'; put '40.746,-116.689,White House Spring,Winnemucca,Hotspring,W,W'; put '39.98,-119.502,Pyramid Island Hot Spring,Reno,Hotspring,.,.'; put '41.934,-118.808,Warm Springs,Vya,Hotspring,W,W'; put '41.385,-116.058,Petaini Springs,Mcdermitt,Hotspring,W,W'; put '41.064,-115.389,Warm Springs,Wells,Hotspring,W,W'; put '41.066,-114.99,Spring,Wells,Hotspring,W,W'; put '41.355,-114.133,Warm Springs,Wells,Hotspring,W,W'; put '41.148,-116.733,Hot Lake,Mcdermitt,Hotspring,H,H'; put '40.684,-116.153,Ellison Ranch Warm Spring,Winnemucca,Hotspring,W,W'; put '40.604,-117.648,Leach Hot Springs,Winnemucca,Hotspring,207,97'; put '40.751,-115.035,Warm Springs,Elko,Hotspring,W,W'; put '40.782,-115.363,Warm Spring,Elko,Hotspring,W,W'; put '39.529,-116.388,Warm Spring,Millett,Hotspring,W,W'; put '39.072,-115.635,Big Blue Spring,Ely,Hotspring,W,W'; put '38.95,-119.388,Spring,Walker Lake,Hotspring,W,W'; put '38.965,-118.689,Double Spring,Walker Lake,Hotspring,W,W'; put '38.458,-117.303,Indian Springs,Tonopah,Hotspring,W,W'; put '40.592,-116.157,Raine Ranch Springs,Winnemucca,Hotspring,W,W'; put '39.941,-116.681,Hot Springs,Millett,Hotspring,180,82'; put '40.567,-116.588,Beowawe Hot Springs (The Geysers),Winnemucca,Hotspring,208,98'; put '40.761,-117.492,Hot Springs,Winnemucca,Hotspring,185,85'; put '40.653,-119.378,Mud Springs,Lovelock,Hotspring,184,84'; put '38.768,-119.174,Wilson Hot Spring,Walker Lake,Hotspring,183,84'; put '41.921,-118.709,Baltazor Hot Spring,Vya,Hotspring,181,83'; put '40.857,-119.328,Fly Ranch (Wards) Hot Springs,Lovelock,Hotspring,180,82'; put '39.597,-119.11,Patua Hot Springs (Fernley),Reno,Hotspring,187,86'; put '39.028,-117.136,Mcleod Ranch Hot Spring,Millett,Hotspring,180,82'; put '40.316,-116.433,Hot Spring,Winnemucca,Hotspring,186,86'; put '38.521,-116.365,Hot Creek Ranch Hot Spring,Tonopah,Hotspring,180,82'; put '41.051,-119.028,Double Hot Springs,Vya,Hotspring,178,81'; put '40.003,-117.718,Hyder Hot Springs,Winnemucca,Hotspring,176,80'; put '39.665,-114.807,Monte Neva Hot Springs,Ely,Hotspring,176,80'; put '40.368,-117.327,Buffalo Valley Hot Springs,Winnemucca,Hotspring,174,79'; put '40.699,-116.133,Hot Springs (Carlin),Winnemucca,Hotspring,174,79'; put '41.052,-118.717,Macfarlane Hot Spring,Vya,Hotspring,170,77'; put '39.342,-118.578,Borax Spring,Reno,Hotspring,180,82'; put '39.484,-119.804,Moana Springs,Reno,Hotspring,199,93'; put '41.243,-114.947,Twelvemile Spring,Wells,Hotspring,102,39'; put '39.38,-119.74,Steamboat Springs,Reno,Hotspring,205,96'; put '39.558,-116.36,Bartine Hot Springs,Millett,Hotspring,108,42'; put '39.954,-117.917,Fumaroles,Millett,Hotspring,204,96'; put '40.389,-119.402,Hot Seeps (San Emidio Desert),Lovelock,Hotspring,203,95'; put '38.822,-117.183,Darroughs Hot Springs,Tonopah,Hotspring,203,95'; put '40.088,-117.725,Sou (Seven Devils) Hot Springs,Winnemucca,Hotspring,185,85'; put '41.363,-118.788,Pinto Hot Springs,Vya,Hotspring,199,93'; put '40.408,-117.883,Kyle Hot Springs,Winnemucca,Hotspring,171,77'; put '41.357,-118.809,West Pinto Hot Spring,Vya,Hotspring,198,92'; put '39.316,-117.549,Hot Springs,Millett,Hotspring,198,92'; put '41.468,-116.15,Hot Sulphur Springs (Tuscarora),Mcdermitt,Hotspring,194,90'; put '40.813,-115.778,Elko Hot Spring,Elko,Hotspring,190,88'; put '39.208,-118.723,"Lee Hot Springs, Allen Springs",Reno,Hotspring,190,88'; put '40.262,-119.379,Boiling Springs,Lovelock,Hotspring,187,86'; put '40.77,-119.113,Butte Springs (Trego Hot Springs),Lovelock,Hotspring,187,86'; put '39.161,-119.183,Wabuska Hot Springs,Reno,Hotspring,201,94'; put '39.814,-115.612,Giocoecha Warm Springs,Ely,Hotspring,76,24'; put '36.389,-114.433,Blue Point Spring,Las Vegas,Hotspring,82,28'; put '37.016,-117.211,Seep,Goldfield,Hotspring,77,25'; put '37.751,-116.274,Cedar Spring,Goldfield,Hotspring,77,25'; put '37.896,-114.227,Flatnose Ranch Spring,Caliente,Hotspring,77,25'; put '36.207,-115.983,Pahrump (Bennetts) Spring,Las Vegas,Hotspring,77,25'; put '41.775,-115.921,Rizzi Ranch Hot Spring,Wells,Hotspring,106,41'; put '35.944,-114.731,Hot Spring,Kingman,Hotspring,78,26'; put '41.884,-114.117,Gambles Hole,Wells,Hotspring,104,40'; put '36.565,-115.671,Indian Springs,Las Vegas,Hotspring,78,26'; put '39.547,-114.915,Campbell Ranch Springs,Ely,Hotspring,76,24'; put '38.423,-115.022,Flag Springs,Lund,Hotspring,75,24'; put '38.44,-115.011,Butterfield Springs,Lund,Hotspring,75,24'; put '37.997,-118.039,Fish Spring,Mariposa,Hotspring,75,24'; put '37.029,-116.719,Springs,Goldfield,Hotspring,75,24'; put '36.426,-116.411,Ash Tree Spring,Death Valley,Hotspring,75,24'; put '36.033,-115.888,Browns Spring,Las Vegas,Hotspring,75,24'; put '41.322,-119.206,Springs,Vya,Hotspring,75,24'; put '41.706,-118.261,Ninemile Springs,Vya,Hotspring,79,26'; put '35.964,-114.743,Hot Spring,Kingman,Hotspring,82,28'; put '41.763,-118.279,Fivemile Spring,Vya,Hotspring,81,27'; put '39.457,-119.722,Huffaker Springs,Reno,Hotspring,81,27'; put '38.992,-117.042,Charnock (Big Blue) Springs,Tonopah,Hotspring,80,27'; put '36.402,-116.302,Davis Ranch Springs,Death Valley,Hotspring,81,27'; put '36.45,-116.313,Spring,Death Valley,Hotspring,81,27'; put '39.792,-114.692,Lower Shellbourne Spring,Ely,Hotspring,77,25'; put '41.338,-119.168,Springs,Vya,Hotspring,79,26'; put '41.022,-119.275,Caine Spring,Vya,Hotspring,73,23'; put '41.05,-117.1,Hot Springs Ranch Springs,Mcdermitt,Hotspring,79,26'; put '40.079,-116.035,Flynn Ranch Springs,Winnemucca,Hotspring,78,26'; put '40.325,-116.058,Hot Springs,Winnemucca,Hotspring,79,26'; put '36.414,-116.292,Spring,Death Valley,Hotspring,79,26'; put '36.173,-115.191,Las Vegas Springs,Las Vegas,Hotspring,79,26'; put '36.174,-115.479,White Rock Spring,Las Vegas,Hotspring,78,26'; put '36.565,-115.623,Spring,Las Vegas,Hotspring,79,26'; put '36.491,-116.342,"Fairbanks Spring, Soda Spring",Death Valley,Hotspring,81,27'; put '38.654,-114.633,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '36.363,-116.271,Bole Spring,Death Valley,Hotspring,72,22'; put '36.999,-116.706,Spring,Death Valley,Hotspring,72,22'; put '36.942,-115.425,Ash Creek Spring,Las Vegas,Hotspring,72,22'; put '38.796,-119.65,Doud Springs,Walker Lake,Hotspring,70,21'; put '38.622,-115.047,Emigrant Springs,Lund,Hotspring,70,21'; put '38.927,-115.082,Preston Springs,Lund,Hotspring,70,21'; put '36.147,-115.893,Manse Ranch Spring,Las Vegas,Hotspring,75,24'; put '38.645,-114.632,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '38.574,-115.522,Tom Spring,Lund,Hotspring,72,22'; put '38.671,-114.628,Geyser Ranch Springs,Lund,Hotspring,70,21'; put '37.783,-114.528,Bennett Springs,Caliente,Hotspring,70,21'; put '37.86,-114.321,Delmues Springs,Caliente,Hotspring,70,21'; put '36.408,-116.313,Davis Ranch Spring,Death Valley,Hotspring,70,21'; put '36.567,-114.446,Seep,Las Vegas,Hotspring,70,21'; put '41.369,-114.187,Gamble Spring,Wells,Hotspring,69,20'; put '39.901,-115.868,Thompson Ranch Spring,Ely,Hotspring,68,20'; put '38.633,-114.638,Wambolt Springs,Lund,Hotspring,70,21'; put '37.906,-118.171,Sand Spring,Mariposa,Hotspring,74,23'; put '36.486,-114.329,Springs,Las Vegas,Hotspring,77,25'; put '41.354,-119.116,Mustang Springs,Vya,Hotspring,73,23'; put '41.746,-119.791,Warm Springs,Vya,Hotspring,73,23'; put '41.258,-118.937,Cane Springs,Vya,Hotspring,74,23'; put '40.103,-119.884,Fish Springs,Lovelock,Hotspring,73,23'; put '39.853,-119.719,Spring,Reno,Hotspring,73,23'; put '39.832,-116.069,Sulphur Spring,Millett,Hotspring,74,23'; put '36.363,-116.263,Spring,Death Valley,Hotspring,72,22'; put '38.554,-115.531,Kate Spring,Lund,Hotspring,73,23'; put '37.074,-116.691,Spring,Goldfield,Hotspring,72,22'; put '37.979,-117.993,Gap Spring,Goldfield,Hotspring,73,23'; put '41.591,-119.862,Twin (Vya) Spring,Vya,Hotspring,71,22'; put '40.763,-119.172,Coyote Spring,Lovelock,Hotspring,72,22'; put '40.127,-116.884,Springs,Winnemucca,Hotspring,72,22'; put '40.187,-116.805,Spring,Winnemucca,Hotspring,72,22'; put '40.967,-114.515,Johnson Ranch Springs,Elko,Hotspring,72,22'; put '36.205,-115.141,Kyle Spring,Las Vegas,Hotspring,75,24'; put '39.8,-114.653,Upper Shellbourne Spring,Ely,Hotspring,74,23'; put '36.428,-116.303,Button Springs,Death Valley,Hotspring,93,34'; put '38.383,-115.153,Hot Creek Ranch Spring,Lund,Hotspring,90,32'; put '39.283,-114.866,Lackawanna Hot Springs,Ely,Hotspring,95,35'; put '38.532,-116.465,Upper Warm Spring,Tonopah,Hotspring,95,35'; put '38.823,-116.717,South Mosquito Creek Ranch Springs,Tonopah,Hotspring,95,35'; put '40.829,-117.306,Brooks Spring,Winnemucca,Hotspring,93,34'; put '40.992,-117.763,Spring,Winnemucca,Hotspring,93,34'; put '41.971,-114.574,Warm Springs,Wells,Hotspring,95,35'; put '38.95,-115.7,Big Warm Spring,Lund,Hotspring,93,34'; put '37.463,-115.192,Ash Springs,Caliente,Hotspring,97,36'; put '36.464,-116.319,Parent Springs,Death Valley,Hotspring,93,34'; put '38.352,-115.181,Moon River Spring,Lund,Hotspring,92,33'; put '36.402,-116.274,"Point of Rocks Springs, King Sprin",Death Valley,Hotspring,91,33'; put '36.421,-116.322,Crystal Pool,Death Valley,Hotspring,91,33'; put '36.425,-116.291,Devils Hole,Death Valley,Hotspring,92,33'; put '39.068,-119.786,Springs,Reno,Hotspring,90,32'; put '38.954,-117.049,Big Blue (A) Spring,Tonopah,Hotspring,90,32'; put '40.087,-114.647,Collar And Elbow Spring,Elko,Hotspring,93,34'; put '36.378,-114.443,Rogers Spring,Las Vegas,Hotspring,82,28'; put '39.943,-116.073,Shipley Hot Spring,Millett,Hotspring,106,41'; put '38.698,-116.435,"Upper Warm Spring, Warm Spring",Tonopah,Hotspring,106,41'; put '41.53,-118.57,Spring,Vya,Hotspring,104,40'; put '41.877,-115.628,Rowland Hot Springs,Wells,Hotspring,104,40'; put '40.035,-117.604,Lower Ranch Hot Springs,Winnemucca,Hotspring,104,40'; put '40.187,-116.79,Chillis Hot Spring,Winnemucca,Hotspring,102,39'; put '39.988,-116.044,Siri Ranch Spring,Millett,Hotspring,95,35'; put '39.421,-119.758,Zolezzi Spring,Reno,Hotspring,102,39'; put '38.531,-116.405,Old Dugan Ranch Hot Springs,Tonopah,Hotspring,102,39'; put '36.968,-116.723,Burrell Hot Spring,Death Valley,Hotspring,102,39'; put '38.343,-118.103,Soda Springs,Walker Lake,Hotspring,100,38'; put '38.556,-115.767,"Lockes Big Spring, Hay Corral Spr",Lund,Hotspring,100,38'; put '38.594,-115.138,Moorman Spring,Lund,Hotspring,100,38'; put '38.398,-115.862,Storm Spring,Lund,Hotspring,99,37'; put '41.19,-115.287,Hot Spring,Wells,Hotspring,97,36'; put '37.822,-117.48,Pearl Hot Springs,Goldfield,Hotspring,97,36'; put '39.159,-119.737,Nevada State Prison Spring,Reno,Hotspring,75,24'; put '40.025,-117.646,Spring,Winnemucca,Hotspring,83,28'; put '40.83,-119.538,Springs,Lovelock,Hotspring,84,29'; put '39.442,-119.743,Double Diamond Spring,Reno,Hotspring,84,29'; put '39.413,-114.779,Mcgill Spring,Ely,Hotspring,84,29'; put '39.458,-114.756,Schoolhouse Spring,Ely,Hotspring,84,29'; put '36.375,-116.274,Big (Ash Meadows) Spring,Death Valley,Hotspring,83,28'; put '38.292,-114.272,Hammond Ranch Spring,Lund,Hotspring,84,29'; put '41.398,-119.165,Spring,Vya,Hotspring,84,29'; put '41.732,-119.785,Seeps (Hills Warm Spring),Vya,Hotspring,83,28'; put '38.563,-115.528,Blue Eagle Springs,Lund,Hotspring,84,29'; put '40.873,-117.937,Rose Creek Spring,Winnemucca,Hotspring,83,28'; put '39.917,-114.667,Spring,Ely,Hotspring,83,28'; put '36.39,-116.278,Jack Rabbit Spring,Death Valley,Hotspring,82,28'; put '36.437,-116.206,Spring,Death Valley,Hotspring,82,28'; put '38.937,-115.695,Little Warm Spring,Lund,Hotspring,90,32'; put '36.479,-116.326,Rogers Spring,Death Valley,Hotspring,82,28'; put '40.29,-116.049,Carlotti Ranch Springs,Winnemucca,Hotspring,102,39'; put '36.468,-116.325,Longstreet Spring,Death Valley,Hotspring,82,28'; put '36.722,-114.716,Muddy Spring,Las Vegas,Hotspring,90,32'; put '37.532,-115.233,Crystal Springs,Caliente,Hotspring,90,32'; put '37.598,-115.215,Hiko Spring,Caliente,Hotspring,90,32'; put '36.404,-116.383,Spring,Death Valley,Hotspring,90,32'; put '37.996,-116.389,Reveille Mill Spring,Goldfield,Hotspring,84,29'; put '36.71,-114.714,Moapa Warm Springs,Las Vegas,Hotspring,90,32'; put '35.982,-114.748,Hot Springs,Kingman,Hotspring,86,30'; put '40.929,-116.895,Izzenhood Ranch Springs,Winnemucca,Hotspring,88,31'; put '37.807,-114.38,Panaca Spring,Caliente,Hotspring,88,31'; put '36.942,-116.729,Spring,Death Valley,Hotspring,88,31'; put '41.98,-114.376,Hot Spring,Wells,Hotspring,86,30'; put '36.433,-116.308,Scruggs Springs,Death Valley,Hotspring,86,30'; put '40.952,-114.751,Ralphs Warm Springs,Elko,Hotspring,86,30'; put '39.526,-118.876,Soda Lake,Reno,Hotspring,86,30'; put '38.027,-116.683,Spring,Tonopah,Hotspring,86,30'; put '37.741,-115.753,Sand Spring,Caliente,Hotspring,86,30'; put '36.918,-116.744,Beatty Municipal Spring,Death Valley,Hotspring,88,31'; put '38.255,-116.829,Saulsbury Warm Spring,Tonopah,Hotspring,86,30'; put '42.48,-73.37,Lebanon Spring,Albany,Hotspring,72,22'; put '44.241,-122.058,Bigelow Hot Springs,Salem,Hotspring,142,61'; put '44.862,-121.201,Kahneeta Hot Springs,Bend,Hotspring,126,52'; put '44.927,-117.939,Radium Hot Springs,Baker,Hotspring,135,57'; put '44.354,-118.574,Blue Mountain Hot Springs,Canyon City,Hotspring,136,58'; put '44.936,-122.173,Bagby Hot Springs,Salem,Hotspring,136,58'; put '43.944,-118.136,Beulah Hot Springs,Burns,Hotspring,140,60'; put '43.763,-117.156,Mitchell Butte Hot Spring,Boise,Hotspring,144,62'; put '42.116,-121.287,Oregon Hot Springs (Big Hot Spring,Klamath Falls,Hotspring,142,61'; put '45.151,-118.659,Lehman Springs,Pendleton,Hotspring,142,61'; put '43.719,-121.209,East Lake Hot Springs,Crescent,Hotspring,144,62'; put '43.469,-118.202,Luce Hot Springs,Burns,Hotspring,145,63'; put '45.018,-117.625,Medical Hot Springs,Grangeville,Hotspring,140,60'; put '44.867,-121.228,Springs,Bend,Hotspring,125,52'; put '42.188,-118.383,Flagstaff Butte Hot Spring,Adel,Hotspring,126,52'; put '44.451,-119.105,Mount Vernon Hot Springs,Canyon City,Hotspring,121,49'; put '42.977,-117.061,Canters Hot Spring,Jordan Valley,Hotspring,120,49'; put '43.294,-122.367,Umpqua Hot Springs,Roseburg,Hotspring,117,47'; put '44.002,-119.647,Weberg Hot Spring,Canyon City,Hotspring,115,46'; put '43.739,-117.178,Deer Butte Hot Spring,Boise,Hotspring,115,46'; put '43.795,-117.958,Jonesboro Warm Spring,Boise,Hotspring,112,45'; put '42.075,-119.927,Hallinan Spring,Adel,Hotspring,113,45'; put '42.297,-119.776,Fisher Hot Springs,Adel,Hotspring,154,68'; put '45.013,-117.885,Kropp Hot Spring,Grangeville,Hotspring,109,43'; put '42.221,-120.368,Hunters Hot Springs,Klamath Falls,Hotspring,205,96'; put '44.083,-122.233,Cougar Reservoir Hot Springs,Salem,Hotspring,111,44'; put '44.023,-117.46,Neal Hot Springs,Baker,Hotspring,189,87'; put '42.431,-121.963,Eagle Point Spring,Klamath Falls,Hotspring,95,35'; put '43.689,-122.372,Kitson Hot Springs,Roseburg,Hotspring,109,43'; put '44.813,-117.765,Spring (Hot),Baker,Hotspring,W,W'; put '43.776,-118.047,Warm Spring,Burns,Hotspring,W,W'; put '43.793,-118.472,Sitz Warm Spring,Burns,Hotspring,W,W'; put '43.86,-118.288,Altnow Hot Spring,Burns,Hotspring,W,W'; put '43.893,-117.596,Springs,Boise,Hotspring,W,W'; put '45.206,-117.912,Union Station Hot Springs,Grangeville,Hotspring,H,H'; put '44.208,-117.455,Jamieson Hot Springs,Baker,Hotspring,H,H'; put '42.338,-118.602,Hot Springs,Adel,Hotspring,207,97'; put '44.782,-121.975,Breitenbush Hot Springs,Bend,Hotspring,198,92'; put '42.219,-119.877,Warner Valley Ranch,Adel,Hotspring,198,92'; put '42.156,-120.345,Barry Ranch Hot Springs,Klamath Falls,Hotspring,190,88'; put '44.193,-122.049,Belknap Springs,Salem,Hotspring,160,71'; put '45.021,-122.009,Austin Hot Springs,Vancouver,Hotspring,186,86'; put '42.676,-118.344,Mickey Springs,Adel,Hotspring,187,86'; put '44.153,-122.098,Foley Springs,Salem,Hotspring,178,81'; put '45.244,-117.958,Hot Lake Springs,Grangeville,Hotspring,176,80'; put '42.544,-118.533,Alvord Hot Springs,Adel,Hotspring,174,79'; put '43.441,-118.638,Crane Hot Springs,Burns,Hotspring,172,78'; put '42.226,-119.881,Crump Geyser (Crump Spring),Adel,Hotspring,172,78'; put '43.727,-117.203,Snively Hot Spring,Boise,Hotspring,170,77'; put '42.174,-121.615,Olene Gap Hot Springs,Klamath Falls,Hotspring,165,74'; put '43.708,-122.288,Mccredie Springs,Roseburg,Hotspring,163,73'; put '43.982,-117.233,Vale Hot Springs,Boise,Hotspring,163,73'; put '42.162,-120.344,Leithead Hot Spring,Klamath Falls,Hotspring,162,72'; put '45.372,-121.697,Mount Hood Fumaroles,The Dalles,Hotspring,194,90'; put '43.264,-119.015,Dunn Spring,Burns,Hotspring,70,21'; put '42.873,-122.167,Annie Spring,Medford,Hotspring,77,25'; put '42.133,-121.219,Wilkersons Hot Spring,Klamath Falls,Hotspring,76,24'; put '43.272,-119.293,Basque Spring,Burns,Hotspring,74,23'; put '43.276,-119.34,Double O Spring,Burns,Hotspring,74,23'; put '44.073,-119.427,Brisbois Ranch Springs,Canyon City,Hotspring,72,22'; put '43.265,-119.276,Johnson Spring,Burns,Hotspring,72,22'; put '43.281,-119.311,Double O Barnyard Spring,Burns,Hotspring,72,22'; put '43.501,-119.091,Roadland Spring,Burns,Hotspring,72,22'; put '43.529,-119.081,Goodman Spring,Burns,Hotspring,72,22'; put '43.703,-117.19,South Black Willow Spring,Boise,Hotspring,71,22'; put '42.307,-119.875,Moss Ranch Spring,Adel,Hotspring,72,22'; put '43.758,-118.067,Juntura Warm Spring 1,Burns,Hotspring,77,25'; put '43.732,-121.252,Paulina Springs,Crescent,Hotspring,70,21'; put '42.176,-121.828,Howard Holiday,Klamath Falls,Hotspring,77,25'; put '43.477,-119.075,Baker Spring,Burns,Hotspring,70,21'; put '42.178,-121.801,Hardboard Spring,Klamath Falls,Hotspring,70,21'; put '42.325,-120.327,White Rock Ranch Hot Spring,Klamath Falls,Hotspring,71,21'; put '43.252,-119.258,Hughet Spring,Burns,Hotspring,68,20'; put '42.38,-120.33,Bean Hot Spring,Klamath Falls,Hotspring,69,20'; put '42.933,-120.642,Lost Cabin Spring,Klamath Falls,Hotspring,68,20'; put '42.998,-120.725,Buckhorn Creek Springs,Klamath Falls,Hotspring,68,20'; put '42.688,-117.905,Tudors Spring,Jordan Valley,Hotspring,68,20'; put '42.756,-117.55,Scott Spring,Jordan Valley,Hotspring,68,20'; put '42.725,-120.646,Summer Lake Hot Spring,Klamath Falls,Hotspring,109,43'; put '43.757,-118.092,Juntura Warm Spring 2,Burns,Hotspring,95,35'; put '44.374,-118.738,Limekiln Hot Spring,Canyon City,Hotspring,70,21'; put '42.221,-122.742,Jackson Hot Springs,Medford,Hotspring,95,35'; put '44.892,-119.141,Ritter Hot Springs,Canyon City,Hotspring,106,41'; put '43.808,-122.309,Wall Creek Warm Springs,Roseburg,Hotspring,106,41'; put '43.395,-118.308,Springs (Hot),Burns,Hotspring,106,41'; put '43.302,-117.383,Hot Spring,Boise,Hotspring,106,41'; put '44.28,-118.956,Joaquin Miller Hot Springs,Canyon City,Hotspring,104,40'; put '42.501,-119.693,Antelope Hot Springs,Adel,Hotspring,104,40'; put '45.129,-118.738,Hidaway Springs,Pendleton,Hotspring,100,38'; put '44.975,-118.044,Fisher Hot Springs,Canyon City,Hotspring,99,37'; put '44.033,-117.449,Bully Creek Spring,Baker,Hotspring,99,37'; put '42.93,-120.798,Pardon Warm Spring,Klamath Falls,Hotspring,76,24'; put '42.327,-118.602,Borax Lake (Hot Lake),Adel,Hotspring,97,36'; put '42.161,-121.627,Crystal Spring,Klamath Falls,Hotspring,78,26'; put '45.741,-118.233,Bingham Springs,Pendleton,Hotspring,93,34'; put '42.889,-118.898,Fivemile Spring (Hoghouse Hot Sprs,Adel,Hotspring,80,27'; put '43.54,-119.081,Millpond Hot Spring,Burns,Hotspring,79,26'; put '45.891,-116.873,Cook Creek Hot Spring,Grangeville,Hotspring,97,36'; put '45.295,-121.731,Swim Warm Springs,The Dalles,Hotspring,79,26'; put '42.04,-120.924,Warm Spring,Klamath Falls,Hotspring,92,33'; put '44.779,-117.811,Sam O Spring,Baker,Hotspring,80,27'; put '44.538,-117.417,Nelson Spring,Baker,Hotspring,80,27'; put '45.631,-119.703,Well Spring,Pendleton,Hotspring,80,27'; put '42.287,-119.867,Moss Ranch Springs,Adel,Hotspring,83,28'; put '45.061,-118.455,Warm Mineral Spring,Pendleton,Hotspring,83,28'; put '43.95,-119.634,Warm Springs,Burns,Hotspring,84,29'; put '45.295,-117.806,Warm Spring,Grangeville,Hotspring,85,29'; put '42.815,-118.899,Warm Springs,Adel,Hotspring,89,32'; put '43.452,-103.508,Hot Brook Springs,Hot Springs,Hotspring,75,24'; put '43.442,-103.481,Hot Springs,Hot Springs,Hotspring,87,31'; put '29.178,-102.953,Rio Grande Village Spring,Emory Peak,Hotspring,97,36'; put '30.823,-105.315,Indian Hot Springs,Marfa,Hotspring,117,47'; put '30.038,-104.598,Ruidosa Hot Springs,Marfa,Hotspring,113,45'; put '29.182,-102.992,Hot Springs,Emory Peak,Hotspring,106,41'; put '30.21,-104.562,Capote Springs,Marfa,Hotspring,99,37'; put '30.133,-104.602,Nixon Spring,Marfa,Hotspring,90,32'; put '29.787,-104.462,Springs (Las Cienegas),Presidio,Hotspring,86,30'; put '30.861,-105.34,Red Bull Spring,Marfa,Hotspring,99,37'; put '38.85,-112.49,Hatton Hot Spring,Richfield,Hotspring,100,38'; put '40.176,-111.801,Bird Island,Salt Lake City,Hotspring,86,30'; put '41.917,-111.958,Gancheff Spring,Ogden,Hotspring,88,31'; put '37.942,-112.438,Lefevre,Cedar City,Hotspring,90,32'; put '37.335,-113.687,Veyo Hot Spring,Cedar City,Hotspring,90,32'; put '40.332,-111.891,Fault Zone Spring,Salt Lake City,Hotspring,90,32'; put '40.146,-111.806,Lincoln Point Warm Springs,Salt Lake City,Hotspring,90,32'; put '38.186,-112.912,Us Blm,Richfield,Hotspring,91,33'; put '41.833,-112.454,Blue Creek Spring,Brigham City,Hotspring,82,28'; put '40.526,-111.488,Midway Hot Springs,Salt Lake City,Hotspring,100,38'; put '40.525,-111.468,Midway Hot Springs,Salt Lake City,Hotspring,104,40'; put '40.038,-111.529,Castilla Springs,Salt Lake City,Hotspring,104,40'; put '38.217,-112.904,Dotsons (Radium) Warm Spring,Richfield,Hotspring,91,33'; put '40.465,-109.221,Split Mountain Warm Springs,Vernal,Hotspring,86,30'; put '40.788,-112.017,Hobo Warm Spring,Tooele,Hotspring,84,29'; put '40.788,-111.899,Wasatch Hot Springs,Salt Lake City,Hotspring,108,42'; put '39.35,-113.515,Tule Spring,Delta,Hotspring,82,28'; put '39.424,-113.485,Coyote Spring,Delta,Hotspring,82,28'; put '39.842,-113.392,Fish Springs,Delta,Hotspring,82,28'; put '39.887,-113.413,North Springs,Delta,Hotspring,82,28'; put '41.756,-113.603,Warm Spring,Brigham City,Hotspring,81,27'; put '41.038,-111.656,Como Springs,Ogden,Hotspring,81,27'; put '40.397,-112.421,Morgans Warm Spring,Tooele,Hotspring,80,27'; put '39.464,-114.038,Gandy Warm Springs,Ely,Hotspring,81,27'; put '40.447,-110.828,Warm Springs,Salt Lake City,Hotspring,79,26'; put '37.7,-110.421,Warm Spring,Escalante,Hotspring,79,26'; put '40.502,-114.038,Blue Lake Spring,Elko,Hotspring,84,29'; put '38.503,-112.849,Roosevelt Hot Springs,Richfield,Hotspring,133,56'; put '38.774,-112.096,Richfield Warm Springs,Richfield,Hotspring,73,23'; put '40.488,-111.911,Crystal Hot Springs,Salt Lake City,Hotspring,187,86'; put '38.186,-113.197,Thermo Hot Springs,Richfield,Hotspring,185,85'; put '38.172,-113.204,Thermo Hot Springs,Richfield,Hotspring,181,83'; put '39.613,-112.729,"Baker (Abraham, Crater) Hot Spring",Delta,Hotspring,180,82'; put '38.639,-112.098,Red Hill Hot Spring,Richfield,Hotspring,171,77'; put '38.633,-112.107,Monroe (Cooper) Hot Springs,Richfield,Hotspring,169,76'; put '38.613,-112.202,Joseph Hot Springs,Richfield,Hotspring,147,64'; put '39.906,-113.43,Wilson Health Springs,Delta,Hotspring,142,61'; put '41.138,-112.175,Hooper Hot Springs,Brigham City,Hotspring,140,60'; put '41.338,-112.031,Utah Hot Springs,Brigham City,Hotspring,138,59'; put '38.864,-112.506,Meadow Hot Springs,Richfield,Hotspring,106,41'; put '40.815,-111.918,Becks Hot Spring,Salt Lake City,Hotspring,133,56'; put '37.189,-113.272,Dixie (Laverkin) Hot Springs,Cedar City,Hotspring,108,42'; put '41.659,-112.087,Crystal (Madsens) Hot Springs,Brigham City,Hotspring,129,54'; put '41.855,-112.158,Udy Hot Springs,Brigham City,Hotspring,124,51'; put '41.578,-112.23,Stinking Hot Springs,Brigham City,Hotspring,118,48'; put '40.517,-111.475,Midway Hot Spring,Salt Lake City,Hotspring,115,46'; put '40.536,-111.478,Warm Ditch Spring,Salt Lake City,Hotspring,115,46'; put '40.35,-111.905,Saratoga Hot Springs,Salt Lake City,Hotspring,111,44'; put '40.353,-111.895,Crater Hot Spring,Salt Lake City,Hotspring,111,44'; put '41.901,-112.999,Coyote Spring,Brigham City,Hotspring,109,43'; put '41.687,-113.986,Spring (Hot),Brigham City,Hotspring,108,42'; put '41.582,-112.256,Little Mountain Hot Spring,Brigham City,Hotspring,108,42'; put '41.822,-113.263,L.G. Carter Springs,Brigham City,Hotspring,77,25'; put '41.236,-111.924,Ogden Hot Spring,Ogden,Hotspring,135,57'; put '37.178,-113.634,Snow Spring,Cedar City,Hotspring,70,21'; put '38.34,-113.22,Woodhouse Spring,Richfield,Hotspring,72,22'; put '38.155,-112.901,Willow Spring,Richfield,Hotspring,72,22'; put '38.56,-112.578,Sulphurdale,Richfield,Hotspring,72,22'; put '38.981,-111.829,Salt Spring,Salina,Hotspring,72,22'; put '37.174,-112.535,Red Canyon,Cedar City,Hotspring,72,22'; put '41.808,-113.327,W.R. Carter Springs,Brigham City,Hotspring,70,21'; put '41.818,-113.311,Larson Springs,Brigham City,Hotspring,70,21'; put '41.829,-113.654,Head Spring,Brigham City,Hotspring,70,21'; put '40.653,-112.907,Redlum Spring,Tooele,Hotspring,70,21'; put '40.458,-111.929,Camp Williams,Salt Lake City,Hotspring,70,21'; put '40.647,-112.524,Grantsville Warm Springs,Tooele,Hotspring,77,25'; put '39.183,-111.691,Sterling (Peacock) Warm Spring,Price,Hotspring,72,22'; put '39.246,-111.645,Livingston Warm Springs,Price,Hotspring,73,23'; put '38.138,-112.863,Big Maple Spring,Richfield,Hotspring,70,21'; put '37.393,-113.61,Irvine Spring,Cedar City,Hotspring,70,21'; put '41.563,-113.954,Kimber (Rose) Spring,Brigham City,Hotspring,68,20'; put '41.614,-113.613,Warm Spring,Brigham City,Hotspring,68,20'; put '41.328,-111.826,Patio Springs,Ogden,Hotspring,68,20'; put '40.172,-112.426,Davis,Tooele,Hotspring,68,20'; put '40.118,-111.337,Diamond Fork Warm Springs,Salt Lake City,Hotspring,68,20'; put '39.249,-113.877,Knoll Springs,Delta,Hotspring,68,20'; put '39.403,-113.863,Twin Springs,Delta,Hotspring,68,20'; put '39.788,-111.881,Ray Lunt Spring,Price,Hotspring,68,20'; put '38.762,-112.87,Springs,Richfield,Hotspring,68,20'; put '38.77,-112.871,Coyote Spring,Richfield,Hotspring,68,20'; put '37.937,-112.424,Tebbs,Cedar City,Hotspring,68,20'; put '37.096,-113.447,Warner Valley Spring,Cedar City,Hotspring,70,21'; put '40.565,-112.738,Deseret Livestock South Springs,Tooele,Hotspring,73,23'; put '37.158,-113.399,Virgin River Spring,Cedar City,Hotspring,70,21'; put '39.899,-112.045,Springs,Delta,Hotspring,72,22'; put '38.603,-112.111,Johnson Warm Spring,Richfield,Hotspring,77,25'; put '41.722,-112.266,Bothwell Warm Springs,Brigham City,Hotspring,75,24'; put '40.538,-112.747,Deseret Livestock,Tooele,Hotspring,75,24'; put '40.733,-112.621,Utah Fish And Game Dept,Tooele,Hotspring,75,24'; put '40.228,-111.867,Warm Springs,Salt Lake City,Hotspring,75,24'; put '37.137,-113.513,Warm Spring,Cedar City,Hotspring,75,24'; put '37.138,-113.528,Green Spring,Cedar City,Hotspring,75,24'; put '37.166,-113.383,Berry Springs,Cedar City,Hotspring,75,24'; put '41.834,-112.054,Cutler Warm Spring,Brigham City,Hotspring,73,23'; put '40.614,-112.709,Horseshoe Springs,Tooele,Hotspring,73,23'; put '41.239,-112.413,Compton Spring,Brigham City,Hotspring,72,22'; put '40.743,-112.642,Big Warm Springs,Tooele,Hotspring,72,22'; put '40.558,-112.739,Deseret Livestock South Spring,Tooele,Hotspring,72,22'; put '40.39,-112.424,Russells Warm Springs,Tooele,Hotspring,72,22'; put '41.831,-113.391,Pugsley,Brigham City,Hotspring,73,23'; put '41.449,-112.442,Poulsen Spring (Salt),Brigham City,Hotspring,72,22'; put '40.167,-111.622,Wood Springs,Salt Lake City,Hotspring,73,23'; put '40.234,-111.865,Warm Springs,Salt Lake City,Hotspring,77,25'; put '39.955,-111.858,Goshen Warm Srings,Price,Hotspring,73,23'; put '39.334,-113.518,South Tule Spring,Delta,Hotspring,77,25'; put '39.616,-112.803,Fumarole Butte,Delta,Hotspring,73,23'; put '40.545,-111.928,East Jordan Canal,Salt Lake City,Hotspring,73,23'; put '41.643,-112.281,Springs,Brigham City,Hotspring,72,22'; put '37.29,-80.619,New River White Sulphur Springs,Bluefield,Hotspring,85,29'; put '37.997,-79.83,Hot Springs,Roanoke,Hotspring,106,41'; put '37.898,-79.462,Rockbridge Baths,Roanoke,Hotspring,72,22'; put '38.055,-79.78,Warm Springs,Charlottesvill,Hotspring,95,35'; put '37.963,-79.861,Healing Springs,Roanoke,Hotspring,86,30'; put '38.238,-79.65,Bragg Spring,Charlottesvill,Hotspring,75,24'; put '37.645,-80.238,Sweet Chalybeate Spring,Bluefield,Hotspring,75,24'; put '38.218,-79.673,Bolar Spring,Charlottesvill,Hotspring,73,23'; put '37.86,-79.988,Layton Spring,Roanoke,Hotspring,72,22'; put '37.87,-79.933,Falling Spring,Roanoke,Hotspring,77,25'; put '37.16,-80.806,Alum Springs,Bluefield,Hotspring,72,22'; put '46.852,-121.758,Mt Rainier Fumaroles,Yakima,Hotspring,162,72'; put '46.738,-121.562,Ohanapecosh Hot Springs,Yakima,Hotspring,122,50'; put '47.707,-121.155,Scenic Hot Springs,Wenatchee,Hotspring,122,50'; put '47.969,-123.864,Sol Duc Hot Springs,Seattle,Hotspring,122,50'; put '48.974,-119.475,Hot Lake,Okanogan,Hotspring,122,50'; put '45.658,-121.962,Moffetts (Bonneville) Hot Springs,The Dalles,Hotspring,97,36'; put '48.906,-119.455,Poison Lake,Okanogan,Hotspring,122,50'; put '45.701,-121.728,Collins Hot Springs,The Dalles,Hotspring,122,50'; put '47.484,-121.391,Goldmeyer Hot Springs,Wenatchee,Hotspring,127,53'; put '46.202,-121.492,Mount Adams Fumaroles,Yakima,Hotspring,150,66'; put '46.198,-122.197,Mt St Helens Fumaroles,Hoquiam,Hotspring,190,88'; put '48.789,-121.804,Dorr Fumarole Field,Concrete,Hotspring,194,90'; put '48.77,-121.813,Sherman Crater Fumaroles,Concrete,Hotspring,266,130'; put '45.723,-121.927,Rock Creek Hot Springs,The Dalles,Hotspring,H,H'; put '48.15,-121.062,Gamma Hot Springs,Concrete,Hotspring,140,60'; put '46.378,-122.265,Green River Soda Spring,Hoquiam,Hotspring,86,30'; put '46.575,-121.706,Packwood Hot Spring,Yakima,Hotspring,100,38'; put '47.201,-121.536,Lester Hot Springs,Wenatchee,Hotspring,120,49'; put '46.024,-118.771,Warm Springs Canyon Warm Spring,Walla Walla,Hotspring,72,22'; put '46.345,-121.6,Orr Creek Warm Springs,Yakima,Hotspring,72,22'; put '46.041,-121.181,Fish Hatchery Warm Spring,Yakima,Hotspring,75,24'; put '46.752,-121.814,Longmire Mineral Springs,Yakima,Hotspring,77,25'; put '47.892,-121.342,Garland Mineral Springs,Wenatchee,Hotspring,84,29'; put '46.452,-120.956,Simcoe Soda Springs,Yakima,Hotspring,90,32'; put '48.254,-121.17,Sulphur Creek Hot Springs,Concrete,Hotspring,99,37'; put '48.118,-121.192,Kennedy Hot Spring,Concrete,Hotspring,100,38'; put '48.763,-121.667,Baker Hot Spring,Concrete,Hotspring,108,42'; put '47.977,-123.682,Olympic Hot Springs,Seattle,Hotspring,118,48'; put '45.728,-121.8,St Martins Hot Springs,The Dalles,Hotspring,120,49'; put '45.821,-121.133,Klickitat Mineral Springs,The Dalles,Hotspring,81,27'; put '38.163,-79.975,Minnehaha Springs,Charlottesvill,Hotspring,70,21'; put '37.63,-80.24,Old Sweet Spring,Bluefield,Hotspring,73,23'; put '39.618,-78.23,Berkeley Springs,Cumberland,Hotspring,72,22'; put '38.605,-79.353,Thorn Spring,Charlottesvill,Hotspring,72,22'; put '39.471,-77.877,Swan Pond Spring,Baltimore,Hotspring,72,22'; put '44.29,-110.504,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94'; put '44.691,-110.728,Geyser Springs Group,Ashton,Hotspring,201,94'; put '44.554,-110.812,Fountain Group,Ashton,Hotspring,201,94'; put '44.543,-110.859,Fairy Springs,Ashton,Hotspring,201,94'; put '44.485,-110.852,"Biscuit Basin, Sapphire Pool",Ashton,Hotspring,201,94'; put '44.48,-110.85,Cascade Group,Ashton,Hotspring,201,94'; put '44.46,-110.844,Black Sand Basin,Ashton,Hotspring,201,94'; put '44.459,-110.835,Myriad Group,Ashton,Hotspring,201,94'; put '44.307,-110.526,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94'; put '44.354,-110.8,Shoshone Geyser Basin,Ashton,Hotspring,203,95'; put '44.568,-110.805,Quagmire Group,Ashton,Hotspring,203,95'; put '44.537,-110.801,"White Dome Geyser, Surprise Pool",Ashton,Hotspring,203,95'; put '44.52,-110.828,Flood Group,Ashton,Hotspring,203,95'; put '44.471,-110.843,"Daisy Group, Sentinel Geysers",Ashton,Hotspring,203,95'; put '44.466,-110.839,"Middle Group,tortoise Shell,inkwel",Ashton,Hotspring,203,95'; put '44.46,-110.828,"Geyser Hill Group, Old Faithful Ge",Ashton,Hotspring,203,95'; put '44.908,-110.393,Calcite Springs,Ashton,Hotspring,201,94'; put '44.417,-110.57,West Thumb Geyser Basin,Ashton,Hotspring,203,95'; put '44.459,-110.817,Southeastern Group,Ashton,Hotspring,198,92'; put '44.433,-110.581,Potts Hot Spring Basin,Ashton,Hotspring,203,95'; put '44.421,-110.952,Smoke Jumper Hot Springs,Ashton,Hotspring,198,92'; put '44.684,-110.753,Monument Geyser Basin,Ashton,Hotspring,197,92'; put '44.679,-110.746,Beryl Spring,Ashton,Hotspring,198,92'; put '44.544,-110.258,Turbid Springs,Ashton,Hotspring,198,92'; put '44.53,-110.297,Steamboat Springs,Ashton,Hotspring,198,92'; put '44.518,-110.813,"Hot Springs, Rabbit Creek Group",Ashton,Hotspring,198,92'; put '44.514,-110.828,Rabbit Creek Group,Ashton,Hotspring,198,92'; put '44.484,-110.873,Mystic Falls Springs,Ashton,Hotspring,198,92'; put '44.739,-110.324,Josephs Coat Springs,Ashton,Hotspring,199,93'; put '44.75,-110.714,Gas Vent,Ashton,Hotspring,H,H'; put '44.282,-110.506,Rustic Geyser,Ashton,Hotspring,199,93'; put '44.571,-110.811,Morning Mist Springs,Ashton,Hotspring,205,96'; put '44.733,-110.703,Cistern Spring,Ashton,Hotspring,199,93'; put '44.697,-110.724,Gibbon Hill Geyser,Ashton,Hotspring,199,93'; put '44.693,-110.738,Artists Paintpots,Ashton,Hotspring,199,93'; put '44.69,-110.384,Hot Springs on Bog Creek,Ashton,Hotspring,199,93'; put '44.526,-110.835,Excelsior Geyser Crater,Ashton,Hotspring,199,93'; put '44.418,-110.805,Lone Star Geyser,Ashton,Hotspring,199,93'; put '44.309,-110.654,Hot Springs on Lewis Lake,Ashton,Hotspring,199,93'; put '44.469,-110.828,Solitary Geyser,Ashton,Hotspring,198,92'; put '44.433,-110.813,Hot Springs,Ashton,Hotspring,H,H'; put '44.766,-110.3,Hot Springs,Ashton,Hotspring,H,H'; put '44.61,-110.438,Hot Springs,Ashton,Hotspring,H,H'; put '44.607,-110.617,Hot Springs East of Mary Lake,Ashton,Hotspring,H,H'; put '44.601,-110.632,Gas Vent East of Mary Lake,Ashton,Hotspring,H,H'; put '44.595,-110.622,Gas Vents Southeast of Mary Lake,Ashton,Hotspring,H,H'; put '44.572,-110.691,Hot Springs,Ashton,Hotspring,H,H'; put '44.553,-110.301,Beach Springs,Ashton,Hotspring,H,H'; put '44.551,-110.85,Springs on Fairy Creek,Ashton,Hotspring,H,H'; put '44.616,-110.616,Highland Hot Springs,Ashton,Hotspring,H,H'; put '44.438,-110.977,Hot Springs on Continental Divide,Ashton,Hotspring,H,H'; put '44.617,-110.432,Mud Geysers,Ashton,Hotspring,H,H'; put '44.404,-110.824,Hot Springs on Upper Firehole Rive,Ashton,Hotspring,H,H'; put '44.498,-109.193,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.495,-109.222,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.482,-109.204,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W'; put '44.841,-110.167,"Hot, on Lamar River",Ashton,Hotspring,W,W'; put '44.734,-110.029,Hot Springs,Ashton,Hotspring,W,W'; put '44.708,-110.471,Warm Spring,Ashton,Hotspring,W,W'; put '44.701,-110.036,Hot Springs,Ashton,Hotspring,W,W'; put '44.508,-110.832,Midway Picnic Ground,Ashton,Hotspring,H,H'; put '44.715,-110.555,Gas Vents,Ashton,Hotspring,H,H'; put '44.563,-110.834,River Group,Ashton,Hotspring,205,96'; put '44.544,-110.788,"Black Warrior Group, Shelf Spring",Ashton,Hotspring,205,96'; put '44.115,-110.684,Huckleberry Hot Springs,Ashton,Hotspring,B,B'; put '44.842,-110.732,Apollinaris Spring,Ashton,Hotspring,H,H'; put '44.825,-110.675,Gas Vents at Horseshoe Hill,Ashton,Hotspring,H,H'; put '44.781,-110.738,Steam Vents at Roaring Mountain,Ashton,Hotspring,H,H'; put '44.743,-110.242,Hot Spring Basin Group,Ashton,Hotspring,198,92'; put '44.752,-110.256,Hot Spring,Ashton,Hotspring,H,H'; put '44.612,-110.618,Gas Vent,Ashton,Hotspring,H,H'; put '44.741,-110.699,Gas Vent,Ashton,Hotspring,H,H'; put '44.566,-110.871,"Flat Cone Spring, Steep Cone",Ashton,Hotspring,205,96'; put '44.711,-110.468,Hot Springs,Ashton,Hotspring,H,H'; put '44.708,-110.461,Forest Springs,Ashton,Hotspring,H,H'; put '44.672,-110.236,Hot Springs,Ashton,Hotspring,H,H'; put '44.667,-110.282,Hot Springs,Ashton,Hotspring,H,H'; put '44.656,-110.572,Violet Springs,Ashton,Hotspring,H,H'; put '44.642,-110.238,Hot Spring,Ashton,Hotspring,H,H'; put '44.634,-110.234,The Mudkettles,Ashton,Hotspring,H,H'; put '44.634,-110.226,The Mushpots,Ashton,Hotspring,H,H'; put '44.532,-110.874,"Imperial Geyser, Spray Geyser",Ashton,Hotspring,192,89'; put '42.545,-106.725,Alcova Hot Springs,Casper,Hotspring,129,54'; put '42.75,-109.616,Steele Hot Springs,Lander,Hotspring,102,39'; put '43.37,-110.445,Granite Hot Spring,Driggs,Hotspring,106,41'; put '43.008,-108.835,Washakie Mineral Hot Springs,Thermopolis,Hotspring,111,44'; put '43.907,-110.198,North Buffalo Fork Springs,Driggs,Hotspring,113,45'; put '43.365,-110.443,Granite Falls Hot Springs,Driggs,Hotspring,112,45'; put '42.817,-110.997,Johnson Springs,Preston,Hotspring,115,46'; put '44.723,-110.358,Hot Spring on Moss Creek,Ashton,Hotspring,115,46'; put '44.681,-110.326,Hot Springs on Upper Sour Creek,Ashton,Hotspring,194,90'; put '41.45,-106.804,Saratoga Hot Springs,Rawlins,Hotspring,129,54'; put '44.671,-110.786,Secret Valley Hot Springs,Ashton,Hotspring,95,35'; put '44.625,-110.433,Mud Volcano,Ashton,Hotspring,131,55'; put '43.654,-108.194,Thermopolis Hot Springs,Thermopolis,Hotspring,133,56'; put '44.985,-110.689,Hot River,Ashton,Hotspring,136,58'; put '44.588,-110.341,Ebro Springs,Ashton,Hotspring,136,58'; put '44.55,-110.805,Fountain Paint Pot,Ashton,Hotspring,136,58'; put '44.169,-110.583,Snake Hot Springs,Ashton,Hotspring,136,58'; put '44.157,-110.699,Crawfish Creek Hot Springs,Ashton,Hotspring,136,58'; put '44.165,-110.723,Crawfish Creek Hot Springs,Ashton,Hotspring,138,59'; put '44.711,-110.741,Chocolate Pots,Ashton,Hotspring,124,51'; put '43.56,-109.732,Geyser (Warm Spring Creek Springs),Thermopolis,Hotspring,84,29'; put '43.489,-109.605,Jakeys Fork Spring,Thermopolis,Hotspring,68,20'; put '44.749,-108.188,Little Sheep Mountain Spring,Cody,Hotspring,68,20'; put '42.249,-104.781,Warm Springs (Immigrants Washtub),Torrington,Hotspring,70,21'; put '44.608,-108.138,Sheep Mountain Springs,Cody,Hotspring,70,21'; put '43.583,-108.213,Wind River Canyon Spring,Thermopolis,Hotspring,72,22'; put '42.702,-107.105,Horse Creek Springs,Casper,Hotspring,75,24'; put '44.511,-109.156,Needle Hot Springs,Cody,Hotspring,75,24'; put '43.52,-109.669,Little Warm Spring,Thermopolis,Hotspring,77,25'; put '43.3,-110.775,Astoria Mineral Hot Springs,Driggs,Hotspring,99,37'; put '43.543,-110.741,Abercrombie Warm Springs,Driggs,Hotspring,81,27'; put '44.513,-109.115,De Maris Springs,Cody,Hotspring,97,36'; put '42.665,-105.394,Douglas Hot Springs,Torrington,Hotspring,86,30'; put '43.471,-110.835,Boyles Hill Springs,Driggs,Hotspring,86,30'; put '43.282,-110.019,Kendall Warm Spring,Driggs,Hotspring,86,30'; put '44.662,-110.768,Iron Spring,Ashton,Hotspring,86,30'; put '42.492,-108.172,Sweetwater Station Warm Springs,Lander,Hotspring,90,32'; put '44.742,-110.579,Wolf Lake Springs,Ashton,Hotspring,91,33'; put '44.513,-109.129,Shoshone Hot Springs,Cody,Hotspring,95,35'; put '42.828,-110.999,Auburn Hot Springs,Preston,Hotspring,144,62'; put '43.639,-110.615,Kelly Warm Spring,Driggs,Hotspring,81,27'; put '44.532,-110.796,Five Sisters Springs,Ashton,Hotspring,192,89'; put '44.582,-110.314,Vermilion Springs,Ashton,Hotspring,140,60'; put '44.521,-110.275,Butte Springs,Ashton,Hotspring,187,86'; put '44.478,-110.867,Hillside Springs,Ashton,Hotspring,187,86'; put '44.752,-110.418,Hot Springs at Sevenmile Hole,Ashton,Hotspring,189,87'; put '44.401,-110.936,Hot Springs on Continental Divide,Ashton,Hotspring,189,87'; put '44.769,-110.269,Rainbow Springs,Ashton,Hotspring,190,88'; put '44.628,-110.433,Sulphur Caldron,Ashton,Hotspring,190,88'; put '44.702,-110.767,Sylvan Springs,Ashton,Hotspring,192,89'; put '44.529,-110.791,White Creek Group,Ashton,Hotspring,185,85'; put '44.564,-110.869,Queens Laundry,Ashton,Hotspring,192,89'; put '44.697,-110.375,Hot Springs on Bog Creek,Ashton,Hotspring,185,85'; put '44.285,-110.9,Bechler River Hot Springs,Ashton,Hotspring,194,90'; put '44.797,-110.725,Amphitheater Springs,Ashton,Hotspring,196,91'; put '44.766,-110.429,Washburn Hot Springs,Ashton,Hotspring,196,91'; put '44.756,-110.308,Coffee Pot Hot Springs,Ashton,Hotspring,196,91'; put '44.591,-110.321,Hot Springs at Sulphur Hills,Ashton,Hotspring,196,91'; put '44.556,-110.832,River Group,Ashton,Hotspring,196,91'; put '44.422,-110.574,West Thumb Geyser Basin,Ashton,Hotspring,196,91'; put '44.786,-110.74,Semi-Centennial Geyser,Ashton,Hotspring,198,92'; put '44.653,-110.482,Sulphur Springs,Ashton,Hotspring,194,89'; put '44.41,-110.953,Summit Lake Hot Springs,Ashton,Hotspring,162,72'; put '44.761,-110.73,Bijah Spring,Ashton,Hotspring,198,92'; put '44.781,-110.699,Whiterock Springs,Ashton,Hotspring,144,62'; put '44.739,-110.258,Hot Spring Basin Group,Ashton,Hotspring,153,67'; put '44.754,-110.403,Sevenmile Hole,Ashton,Hotspring,154,68'; put '44.276,-110.636,Hot Springs on Lewis Lake,Ashton,Hotspring,154,68'; put '44.598,-110.236,Hot Springs In Pelican Valley,Ashton,Hotspring,156,69'; put '44.142,-110.656,South Entrance Hot Springs,Ashton,Hotspring,156,69'; put '44.753,-110.724,"Roadside Springs, Frying Pan Sprin",Ashton,Hotspring,158,70'; put '44.733,-110.712,Horseshoe Spring,Ashton,Hotspring,187,86'; put '43.958,-110.696,Jackson Lake Hot Springs,Driggs,Hotspring,162,72'; put '44.187,-110.726,Hot Springs,Ashton,Hotspring,142,61'; put '44.967,-110.708,Mammoth Hot Springs,Ashton,Hotspring,163,73'; put '44.475,-110.843,Morning Glory Pool,Ashton,Hotspring,163,73'; put '44.204,-110.486,Hot Springs on Upper Snake River,Ashton,Hotspring,167,75'; put '44.299,-110.517,"Heart Lake Geyser Basin, Middle Gr",Ashton,Hotspring,174,79'; put '44.671,-110.29,Ponuntpa Springs Group,Ashton,Hotspring,180,82'; put '44.244,-111.022,Boundary Creek Hot Springs,Ashton,Hotspring,181,83'; put '44.414,-110.817,"Lone Star Geyser Basin, Footbridge",Ashton,Hotspring,183,84'; put '44.722,-110.701,Echinus Geyser,Ashton,Hotspring,185,85'; put '44.461,-110.854,Emerald Pool,Ashton,Hotspring,158,70'; put ';;;;'; put 'run;'; put '* ServiceInit end;'; put '* Service start;'; put '/**'; put '@file'; put '@brief Loads a file from frontend to a user provided location'; put '@details Returns a directory listing if successful.'; put 'The macros shown below are compiled from the SASjs CORE library (or the'; put 'sasjs/macros project directory) when running the `sasjs cb` command. This is'; put 'why you see them in the service, but not in the file in the GIT repository.'; put '

SAS Macros

'; put '@li mp_abort.sas'; put '@li mf_isdir.sas'; put '@li mp_dirlist.sas'; put '@li mp_binarycopy.sas'; put '@li mp_webin.sas'; put '**/'; put '%mp_abort(iftrue= (%mf_isdir(&path) = 0)'; put ',mac=&_program..sas'; put ',msg=%str(File path (&path) is not a valid directory)'; put ')'; put '/*'; put 'Straighten up the _webin_xxx variables'; put '*/'; put '%mp_webin()'; put '/* setup the output destination */'; put '%let outloc=&path/&_webin_filename1;'; put 'filename fileout "&outloc";'; put '/* send the data */'; put '%mp_binarycopy(inref=&_webin_fileref1, outref=fileout)'; put '%mp_abort(iftrue= (&syscc ge 4)'; put ',mac=&_program..sas'; put ',msg=%str(Error occurred reading &_webin_fileref1 and writing to &outloc)'; put ')'; put '/* success - lets create a directory listing */'; put '%mp_dirlist(path=&path,outds=dirlist)'; put 'proc sort data=dirlist;'; put 'by filepath;'; put 'run;'; put '/* now send it back to the frontend */'; put '%webout(OPEN)'; put '%webout(OBJ,dirlist)'; put '%webout(CLOSE)'; put '* Service end;'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web; %let service=3rdpartylicenses-txt; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''QGFuZ3VsYXIvYW5pbWF0aW9ucwpNSVQKCkBhbmd1bGFyL2NvbW1vbgpNSVQKCkBhbmd1bGFyL2NvcmUKTUlUCgpAYW5ndWxhci9mb3JtcwpNSVQKCkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIKTUlUCgpAYW5ndWxhci9yb3V0ZXIKTUlUCgpAYmFiZWwvcnVudGltZQpNSVQKTUlUIExpY2Vu''@;'; put 'put ''c2UKCkNvcHlyaWdodCAoYykgMjAxNC1wcmVzZW50IFNlYmFzdGlhbiBNY0tlbnppZSBhbmQgb3RoZXIgY29udHJpYnV0b3JzCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKYSBjb3B5IG9mIHRoaXMgc29mdHdh''@;'; put 'put ''cmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCiJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l''@;'; put 'put ''cmdlLCBwdWJsaXNoLApkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCnRoZSBmb2xsb3dpbmcg''@;'; put 'put ''Y29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCmluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVE''@;'; put 'put ''ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCkVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgpNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORApOT05J''@;'; put 'put ''TkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFCkxJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04KT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX''@;'; put 'put ''SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OCldJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgoKCkBjZHMvY29yZQpNSVQKCkBjbHIvYW5ndWxhcgpNSVQKCkBsaXQvcmVhY3RpdmUtZWxlbWVudApC''@;'; put 'put ''U0QtMy1DbGF1c2UKQlNEIDMtQ2xhdXNlIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAxNyBHb29nbGUgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLgoKUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cm1vZGlmaWNhdGlv''@;'; put 'put ''biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgoKMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzCiAgIGxpc3Qgb2YgY29uZGl0aW9u''@;'; put 'put ''cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgoKMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAogICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy''@;'; put 'put ''IGluIHRoZSBkb2N1bWVudGF0aW9uCiAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgoKMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwogICBjb250cmlidXRvcnMgbWF5''@;'; put 'put ''IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg''@;'; put 'put ''QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCkFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS''@;'; put 'put ''IFBVUlBPU0UgQVJFCkRJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwK''@;'; put 'put ''REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKQ0FVU0VEIEFORCBPTiBB''@;'; put 'put ''TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ''@;'; put 'put ''RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCkBzYXNqcy9hZGFwdGVyCklTQwpNSVQgTGljZW5zZQoKQ29weXJpZ2h0IChjKSAyMDIxIE1hY3JvIFBlb3BsZQoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw''@;'; put 'put ''ZXJzb24gb2J0YWluaW5nIGEgY29weQpvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAppbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv''@;'; put 'put ''biB0aGUgcmlnaHRzCnRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCmZ1cm5pc2hl''@;'; put 'put ''ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo''@;'; put 'put ''ZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLApGSVRO''@;'; put 'put ''RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgpMSUFCSUxJVFksIFdIRVRIRVIgSU4g''@;'; put 'put ''QU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLApPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQpTT0ZUV0FSRS4KCgpAc2FzanMvbmd4LXNhc2pzCklT''@;'; put 'put ''QwoKbGl0CkJTRC0zLUNsYXVzZQpCU0QgMy1DbGF1c2UgTGljZW5zZQoKQ29weXJpZ2h0IChjKSAyMDE3IEdvb2dsZSBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgpSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKbW9k''@;'; put 'put ''aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CgoxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMKICAgbGlzdCBvZiBj''@;'; put 'put ''b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCgoyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp''@;'; put 'put ''c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCgozLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCiAgIGNvbnRyaWJ1''@;'; put 'put ''dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgpUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg''@;'; put 'put ''SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQpJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB''@;'; put 'put ''UlRJQ1VMQVIgUFVSUE9TRSBBUkUKRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQpGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR''@;'; put 'put ''VUVOVElBTApEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgpTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgpDQVVTRUQg''@;'; put 'put ''QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLApPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQpPRiBUSElTIFNPRlRXQVJF''@;'; put 'put ''LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKbGl0LWVsZW1lbnQKQlNELTMtQ2xhdXNlCkJTRCAzLUNsYXVzZSBMaWNlbnNlCgpDb3B5cmlnaHQgKGMpIDIwMTcgR29vZ2xlIExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KClJlZGlzdHJpYnV0''@;'; put 'put ''aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKCjEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k''@;'; put 'put ''ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcwogICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KCjIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp''@;'; put 'put ''Z2h0IG5vdGljZSwKICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgogICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KCjMuIE5laXRoZXIgdGhlIG5h''@;'; put 'put ''bWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0''@;'; put 'put ''ZW4gcGVybWlzc2lvbi4KClRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgpBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF''@;'; put 'put ''CklNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQpESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCkZPUiBBTlkg''@;'; put 'put ''RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCkRBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SClNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg''@;'; put 'put ''REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCkNBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCk9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U''@;'; put 'put ''SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCk9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgpsaXQtaHRtbApCU0QtMy1DbGF1c2UKQlNEIDMtQ2xhdXNlIExpY2Vuc2UKCkNvcHlyaWdo''@;'; put 'put ''dCAoYykgMjAxNyBHb29nbGUgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLgoKUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cm1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp''@;'; put 'put ''bmcgY29uZGl0aW9ucyBhcmUgbWV0OgoKMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzCiAgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgoKMi4gUmVkaXN0''@;'; put 'put ''cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAogICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCiAgIGFuZC9vciBvdGhlciBtYXRl''@;'; put 'put ''cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgoKMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl''@;'; put 'put ''cml2ZWQgZnJvbQogICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCkFORCBBTlkgRVhQUkVTUyBP''@;'; put 'put ''UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCkRJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM''@;'; put 'put ''IFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS''@;'; put 'put ''T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD''@;'; put 'put ''VCwgU1RSSUNUIExJQUJJTElUWSwKT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH''@;'; put 'put ''RS4KCgptb21lbnQKTUlUCkNvcHlyaWdodCAoYykgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbgpvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k''@;'; put 'put ''IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgpmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0CnJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLApjb3B5LCBtb2RpZnksIG1lcmdlLCBw''@;'; put 'put ''dWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbApjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcKY29uZGl0''@;'; put 'put ''aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCmluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ''@;'; put 'put ''UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCkVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUwpPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORApOT05JTkZSSU5H''@;'; put 'put ''RU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVApIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwKV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBB''@;'; put 'put ''UklTSU5HCkZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgoKCnJhbWRhCk1JVApUaGUgTUlUIExpY2Vuc2UgKE1JVCkKCkNvcHlyaWdodCAoYykgMjAxMy0yMDIwIFNjb3R0''@;'; put 'put ''IFNhdXlldCBhbmQgTWljaGFlbCBIdXJsZXkKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNv''@;'; put 'put ''ZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz''@;'; put 'put ''ZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo''@;'; put 'put ''aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVT''@;'; put 'put ''UyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1Ig''@;'; put 'put ''Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU''@;'; put 'put ''SCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgpUSEUgU09GVFdBUkUuCgoKcnhqcwpBcGFjaGUtMi4wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQogICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEph''@;'; put 'put ''bnVhcnkgMjAwNAogICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLwoKIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBVU0UsIFJFUFJPRFVDVElPTiwgQU5EIERJU1RSSUJVVElPTgoKIDEuIERlZmluaXRpb25zLgoKICAgICJMaWNlbnNlIiBzaGFs''@;'; put 'put ''bCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sCiAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KCiAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHly''@;'; put 'put ''aWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQogICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgoKICAgICJMZWdhbCBFbnRpdHkiIHNoYWxsIG1lYW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwKICAgIG90''@;'; put 'put ''aGVyIGVudGl0aWVzIHRoYXQgY29udHJvbCwgYXJlIGNvbnRyb2xsZWQgYnksIG9yIGFyZSB1bmRlciBjb21tb24KICAgIGNvbnRyb2wgd2l0aCB0aGF0IGVudGl0eS4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sCiAgICAiY29udHJvbCIgbWVhbnMgKGkpIHRoZSBwb3dl''@;'; put 'put ''ciwgZGlyZWN0IG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUKICAgIGRpcmVjdGlvbiBvciBtYW5hZ2VtZW50IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0IG9yCiAgICBvdGhlcndpc2UsIG9yIChpaSkgb3duZXJzaGlwIG9mIGZpZnR5IHBlcmNlbnQgKDUwJSkgb3IgbW9y''@;'; put 'put ''ZSBvZiB0aGUKICAgIG91dHN0YW5kaW5nIHNoYXJlcywgb3IgKGlpaSkgYmVuZWZpY2lhbCBvd25lcnNoaXAgb2Ygc3VjaCBlbnRpdHkuCgogICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQogICAgZXhlcmNpc2luZyBwZXJtaXNz''@;'; put 'put ''aW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KCiAgICAiU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywKICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRvY3Vt''@;'; put 'put ''ZW50YXRpb24KICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCgogICAgIk9iamVjdCIgZm9ybSBzaGFsbCBtZWFuIGFueSBmb3JtIHJlc3VsdGluZyBmcm9tIG1lY2hhbmljYWwKICAgIHRyYW5zZm9ybWF0aW9uIG9yIHRyYW5zbGF0aW9uIG9mIGEgU291cmNlIGZvcm0sIGlu''@;'; put 'put ''Y2x1ZGluZyBidXQKICAgIG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwKICAgIGFuZCBjb252ZXJzaW9ucyB0byBvdGhlciBtZWRpYSB0eXBlcy4KCiAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlw''@;'; put 'put ''LCB3aGV0aGVyIGluIFNvdXJjZSBvcgogICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQogICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrCiAgICAoYW4g''@;'; put 'put ''ZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLgoKICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKICAgIGZvcm0sIHRoYXQgaXMgYmFzZWQgb24gKG9yIGRlcml2ZWQgZnJvbSkgdGhl''@;'; put 'put ''IFdvcmsgYW5kIGZvciB3aGljaCB0aGUKICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMKICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhl''@;'; put 'put ''IHB1cnBvc2VzCiAgICBvZiB0aGlzIExpY2Vuc2UsIERlcml2YXRpdmUgV29ya3Mgc2hhbGwgbm90IGluY2x1ZGUgd29ya3MgdGhhdCByZW1haW4KICAgIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKICAgIHRo''@;'; put 'put ''ZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCgogICAgIkNvbnRyaWJ1dGlvbiIgc2hhbGwgbWVhbiBhbnkgd29yayBvZiBhdXRob3JzaGlwLCBpbmNsdWRpbmcKICAgIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoZSBXb3JrIGFuZCBhbnkgbW9kaWZpY2F0aW9ucyBvciBh''@;'; put 'put ''ZGRpdGlvbnMKICAgIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseQogICAgc3VibWl0dGVkIHRvIExpY2Vuc29yIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgdGhlIGNvcHlyaWdodCBvd25lcgogICAgb3IgYnkgYW4g''@;'; put 'put ''aW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgYXV0aG9yaXplZCB0byBzdWJtaXQgb24gYmVoYWxmIG9mCiAgICB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIKICAgIG1lYW5zIGFueSBmb3JtIG9mIGVsZWN0cm9u''@;'; put 'put ''aWMsIHZlcmJhbCwgb3Igd3JpdHRlbiBjb21tdW5pY2F0aW9uIHNlbnQKICAgIHRvIHRoZSBMaWNlbnNvciBvciBpdHMgcmVwcmVzZW50YXRpdmVzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvCiAgICBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFpbGluZyBsaXN0cywgc291''@;'; put 'put ''cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLAogICAgYW5kIGlzc3VlIHRyYWNraW5nIHN5c3RlbXMgdGhhdCBhcmUgbWFuYWdlZCBieSwgb3Igb24gYmVoYWxmIG9mLCB0aGUKICAgIExpY2Vuc29yIGZvciB0aGUgcHVycG9zZSBvZiBkaXNjdXNzaW5nIGFuZCBpbXByb3ZpbmcgdGhlIFdvcmss''@;'; put 'put ''IGJ1dAogICAgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UKICAgIGRlc2lnbmF0ZWQgaW4gd3JpdGluZyBieSB0aGUgY29weXJpZ2h0IG93bmVyIGFzICJOb3QgYSBDb250cmlidXRpb24uIgoKICAgICJDb250cmlidXRv''@;'; put 'put ''ciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CiAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGlu''@;'; put 'put ''IHRoZSBXb3JrLgoKIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgogICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAogICAgd29ybGR3aWRl''@;'; put 'put ''LCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAogICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGlj''@;'; put 'put ''ZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCiAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgoKIDMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgogICAgdGhpcyBM''@;'; put 'put ''aWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAogICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKICAgIChleGNlcHQgYXMgc3RhdGVkIGluIHRoaXMgc2VjdGlvbikg''@;'; put 'put ''cGF0ZW50IGxpY2Vuc2UgdG8gbWFrZSwgaGF2ZSBtYWRlLAogICAgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssCiAgICB3aGVyZSBzdWNoIGxpY2Vuc2UgYXBwbGllcyBvbmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMg''@;'; put 'put ''bGljZW5zYWJsZQogICAgYnkgc3VjaCBDb250cmlidXRvciB0aGF0IGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlaXIKICAgIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykKICAgIHdpdGggdGhlIFdvcmsgdG8g''@;'; put 'put ''d2hpY2ggc3VjaCBDb250cmlidXRpb24ocykgd2FzIHN1Ym1pdHRlZC4gSWYgWW91CiAgICBpbnN0aXR1dGUgcGF0ZW50IGxpdGlnYXRpb24gYWdhaW5zdCBhbnkgZW50aXR5IChpbmNsdWRpbmcgYQogICAgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdp''@;'; put 'put ''bmcgdGhhdCB0aGUgV29yawogICAgb3IgYSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yayBjb25zdGl0dXRlcyBkaXJlY3QKICAgIG9yIGNvbnRyaWJ1dG9yeSBwYXRlbnQgaW5mcmluZ2VtZW50LCB0aGVuIGFueSBwYXRlbnQgbGljZW5zZXMKICAgIGdyYW50ZWQg''@;'; put 'put ''dG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZQogICAgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLgoKIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2Yg''@;'; put 'put ''dGhlCiAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91CiAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29u''@;'; put 'put ''ZGl0aW9uczoKCiAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgogICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCgogICAgKGIpIFlvdSBtdXN0IGNhdXNlIGFueSBtb2RpZmllZCBmaWxlcyB0''@;'; put 'put ''byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcwogICAgICAgIHN0YXRpbmcgdGhhdCBZb3UgY2hhbmdlZCB0aGUgZmlsZXM7IGFuZAoKICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcwogICAgICAgIHRoYXQgWW91IGRpc3Ry''@;'; put 'put ''aWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQKICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLAogICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55''@;'; put 'put ''IHBhcnQgb2YKICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCgogICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCiAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91''@;'; put 'put ''IGRpc3RyaWJ1dGUgbXVzdAogICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAogICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAogICAgICAgIHBl''@;'; put 'put ''cnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQogICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCiAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBX''@;'; put 'put ''b3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgogICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAogICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBp''@;'; put 'put ''ZiBhbmQKICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCiAgICAgICAgZG8gbm90IG1vZGlm''@;'; put 'put ''eSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQogICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBm''@;'; put 'put ''cm9tIHRoZSBXb3JrLCBwcm92aWRlZAogICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAogICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KCiAgICBZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQgc3Rh''@;'; put 'put ''dGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQKICAgIG1heSBwcm92aWRlIGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50IGxpY2Vuc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMKICAgIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgb3IgZGlzdHJpYnV0aW9uIG9mIFlvdXIgbW9kaWZpY2F0aW9u''@;'; put 'put ''cywgb3IKICAgIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hvbGUsIHByb3ZpZGVkIFlvdXIgdXNlLAogICAgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoZSBXb3JrIG90aGVyd2lzZSBjb21wbGllcyB3aXRoCiAgICB0aGUgY29uZGl0aW9ucyBzdGF0''@;'; put 'put ''ZWQgaW4gdGhpcyBMaWNlbnNlLgoKIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwKICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yawog''@;'; put 'put ''ICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLgogICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90''@;'; put 'put ''aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQogICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KCiA2LiBUcmFk''@;'; put 'put ''ZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCiAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCiAgICBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJl''@;'; put 'put ''YXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUKICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgoKIDcuIERpc2NsYWltZXIgb2YgV2FycmFudHkuIFVubGVzcyByZXF1aXJlZCBieSBh''@;'; put 'put ''cHBsaWNhYmxlIGxhdyBvcgogICAgYWdyZWVkIHRvIGluIHdyaXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaAogICAgQ29udHJpYnV0b3IgcHJvdmlkZXMgaXRzIENvbnRyaWJ1dGlvbnMpIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAgICBXSVRIT1VUIFdBUlJBTlRJ''@;'; put 'put ''RVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IKICAgIGltcGxpZWQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhbnkgd2FycmFudGllcyBvciBjb25kaXRpb25zCiAgICBvZiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklM''@;'; put 'put ''SVRZLCBvciBGSVRORVNTIEZPUiBBCiAgICBQQVJUSUNVTEFSIFBVUlBPU0UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUKICAgIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBvciByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBhbmQgYXNzdW1lIGFueQog''@;'; put 'put ''ICAgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhlcmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgoKIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAogICAgd2hldGhlciBpbiB0b3J0IChp''@;'; put 'put ''bmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCiAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQogICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFs''@;'; put 'put ''bCBhbnkgQ29udHJpYnV0b3IgYmUKICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQog''@;'; put 'put ''ICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQogICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLAogICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIg''@;'; put 'put ''ZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwKICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KCiA5''@;'; put 'put ''LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCiAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAogICAgYW5kIGNoYXJnZSBhIGZlZSBmb3IsIGFjY2Vw''@;'; put 'put ''dGFuY2Ugb2Ygc3VwcG9ydCwgd2FycmFudHksIGluZGVtbml0eSwKICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCiAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91''@;'; put 'put ''IG1heSBhY3Qgb25seQogICAgb24gWW91ciBvd24gYmVoYWxmIGFuZCBvbiBZb3VyIHNvbGUgcmVzcG9uc2liaWxpdHksIG5vdCBvbiBiZWhhbGYKICAgIG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVtbmlmeSwKICAgIGRlZmVuZCwgYW5k''@;'; put 'put ''IGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQogICAgaW5jdXJyZWQgYnksIG9yIGNsYWltcyBhc3NlcnRlZCBhZ2FpbnN0LCBzdWNoIENvbnRyaWJ1dG9yIGJ5IHJlYXNvbgogICAgb2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3Ig''@;'; put 'put ''YWRkaXRpb25hbCBsaWFiaWxpdHkuCgogRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgogQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLgoKICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0''@;'; put 'put ''aGUgZm9sbG93aW5nCiAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAiW10iCiAgICByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLiAoRG9uJ3QgaW5jbHVkZQogICAgdGhlIGJyYWNrZXRzISkg''@;'; put 'put ''IFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQogICAgZmlsZSBvciBjbGFzcyBuYW1lIGFuZCBkZXNjcmlwdGlvbiBvZiBwdXJwb3NlIGJl''@;'; put 'put ''IGluY2x1ZGVkIG9uIHRoZQogICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCiAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCgogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTggR29vZ2xlLCBJbmMuLCBO''@;'; put 'put ''ZXRmbGl4LCBJbmMuLCBNaWNyb3NvZnQgQ29ycC4gYW5kIGNvbnRyaWJ1dG9ycwoKIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRo''@;'; put 'put ''IHRoZSBMaWNlbnNlLgogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywg''@;'; put 'put ''c29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5z''@;'; put 'put ''ZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCgoKdHNsaWIKMEJTRApDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4KClBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBt''@;'; put 'put ''b2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQpwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJ''@;'; put 'put ''RVMgV0lUSApSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkKQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULApJTkRJ''@;'; put 'put ''UkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00KTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IKT1RIRVIgVE9SVElPVVMg''@;'; put 'put ''QUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgpQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgoKem9uZS5qcwpNSVQKVGhlIE1JVCBMaWNlbnNlCgpDb3B5cmlnaHQgKGMpIDIwMTAtMjAyMiBHb29nbGUgTExDLiBodHRwczovL2FuZ3Vs''@;'; put 'put ''YXIuaW8vbGljZW5zZQoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQpvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8g''@;'; put 'put ''ZGVhbAppbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCnRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKY29waWVzIG9m''@;'; put 'put ''IHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u''@;'; put 'put ''IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgphbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCklNUExJRUQs''@;'; put 'put ''IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLApGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M''@;'; put 'put ''REVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgpMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLApPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS''@;'; put 'put ''RSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOClRIRSBTT0ZUV0FSRS4K'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=favicon-ico; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsSAAALEgHS3X78AAADZklEQVRIiZVXS0wTURS98+nMlNIWdUeRlgllow5ujC4MNnFjYgSCbBQ/hbjRRGCpRiPGDUt140YNMVFjjAoYjKIhhYif+Am48UMEplCkfEI/JIKa1NyxM7wOnc7MSSZ9895978y9c++ZWyqT''@;'; put 'put ''yYBViEGpHgCUS56OeXiOG2dZ9kFqceqs1TNMCcWgtB0AwtnLq85PRKc0G5qmMwLPjzpYtjOxEL1vm1AMSgGCxJ9vI0lIgmGYvwLPD7Msez4xL78yJBSDUglBUl3oKXft3AE/43MQGVp3Xg4cDvYXz3HPWYZtX5qXZYWwonJbOPte6gruJnDvzi2Yjc9BfWOT1S0g8Pysw8H2IaH1rAGAMl8pDEWe''@;'; put 'put ''KeOKqmqYlKN2tgNtyxoA2lpPaeOOC2fsblcIB60aezxuONhQq93X1+6HkhJvwT0kOI5L2PKwOXwk597r9UD76ZN2jlA8HLFq3BI+um4ufOywZTKWYSaRMGHFuLGhDtzuYmUci82AnK1Df/lmy6QURSUte9jWuha6q9euQ8flTu3ealhpmn5jyUMsdJ+vVBmn08vQ/3IAunv7IJlMKXPV0lYI1ew2''@;'; put 'put ''JaQoiCPhpJkh6V3/iwFIpdKQSCQVUhXtreZeUhT9QZE2MSgZFj9Z6Iia0D6Yjs0oWhrwl8PE91FtzUwIMqtLlFoWSWPv1godk6WszKeEGEOIhDIh4oWEAL8ooIq3GJQiALBHb4SFPvJx2PAQPfCdBqokJdx6YNGvpuMbVA/zJo6+0M1QSAhoilohPewAgIt6o9FPr7Xa+/L1m5IsKlZWVrUxyhtm''@;'; put 'put ''KgJDHAhK6whdRUWDy0uxEGv00GShIw41teQQkh9gMnlUIei6fTe/p9nfiH6BLIWHj3pzyPTAzOx58lSbzRdWhqG7wejzRBb6f8IeQzIVpEeFhEAlzJE3MlmwFN6+e29KiCJAloheCGiKfgy6nmbErJchYdRE5QP2Nr+X54tID2F87DO2g80AIFs+yQTYwbmLXTdVMtC/w/Gxz10AgMSXCqmPGVBV''@;'; put 'put ''sAzcLldlanH6BGlu2Ahn28YrAHA837pRSJ2C8IPnuL1qW6iHlc4bm+IuvfTpCVG6nIJwIF/zS8LyfwsxKIWyHiuJpRJiQjgF4VxyYQrXzIGEdi5snP3ilijj3PTHvdF3w9b+TAb+Afl3jDi6Q4zhAAAAAElFTkSuQmCC'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=index-html; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CiAgICA8dGl0bGU+U0FTanMgQW5ndWxhciBTZWVkIEFwcDwvdGl0bGU+CiAgICA8YmFzZSBocmVmPSIuLyIvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl''@;'; put 'put ''bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIi8+CiAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3gtaWNvbiIgaHJlZj0iZmF2aWNvbi5pY28iLz4KCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgIHdpbmRvdy5zYXNqc0NvbmZp''@;'; put 'put ''Z0lucHV0ID0gewogICAgICAgIGFwcExvYzogJy9QdWJsaWMvYXBwL2FuZ3VsYXItc2VlZC1hcHAnLAogICAgICAgIHNlcnZlclR5cGU6ICdTQVNKUycsCiAgICAgICAgZGVidWc6IHRydWUsCiAgICAgICAgdXNlQ29tcHV0ZUFwaTogdHJ1ZSwKICAgICAgICBjb250ZXh0TmFtZTogJ1NBUyBK''@;'; put 'put ''b2IgRXhlY3V0aW9uIGNvbXB1dGUgY29udGV4dCcKICAgICAgfQogICAgPC9zY3JpcHQ+CiAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZXMuNjJiODQ5NTNjMzNjNDIxZC5jc3MiPjwvaGVhZD4KICA8Ym9keSBjbGFzcz0ibWF0LXR5cG9ncmFwaHkiPgogICAgPGFwcC1yb290''@;'; put 'put ''PjwvYXBwLXJvb3Q+CiAgPHNjcmlwdCBzcmM9InJ1bnRpbWUuNWExYmU2OGU5YzJhN2I4My5qcyIgdHlwZT0ibW9kdWxlIj48L3NjcmlwdD48c2NyaXB0IHNyYz0ic2NyaXB0cy5kZDQ0Yzg1NjkwNzZlZDExLmpzIiBkZWZlcj48L3NjcmlwdD48c2NyaXB0IHNyYz0ibWFpbi43NDhjYThmYzk2''@;'; put 'put ''OGQ5ZmFkLmpzIiB0eXBlPSJtb2R1bGUiPjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPgo='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=main.748ca8fc968d9fad-js; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''dmFyIHlRPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx3UT1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxNUT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyxqOD1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLENRPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksa1E9T2Jq''@;'; put 'put ''ZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxmYz1NYXRoLnBvdyxTOD0oX3QsQ3QsRmUpPT5DdCBpbiBfdD95UShfdCxDdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6RmV9KTpfdFtDdF09RmUsYnI9KF90LEN0KT0+e2Zvcih2YXIg''@;'; put 'put ''RmUgaW4gQ3R8fChDdD17fSkpQ1EuY2FsbChDdCxGZSkmJlM4KF90LEZlLEN0W0ZlXSk7aWYoajgpZm9yKHZhciBGZSBvZiBqOChDdCkpa1EuY2FsbChDdCxGZSkmJlM4KF90LEZlLEN0W0ZlXSk7cmV0dXJuIF90fSxtZj0oX3QsQ3QpPT53UShfdCxNUShDdCkpOyhzZWxmLndlYnBhY2tDaHVu''@;'; put 'put ''a2FuZ3VsYXJfc2VlZF9hcHA9c2VsZi53ZWJwYWNrQ2h1bmthbmd1bGFyX3NlZWRfYXBwfHxbXSkucHVzaChbWzE3OV0sezc0NjM6KF90LEN0LEZlKT0+e3ZhciBDZT1GZSg3ODIwKS5kZWZhdWx0O3NlbGYsX3QuZXhwb3J0cz0oKCk9Pnt2YXIgb2U9ezI2NTY6ZnVuY3Rpb24oWixBLGopeyJ1''@;'; put 'put ''c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oUyl7cmV0dXJuIFMmJlMuX19lc01vZHVsZT9TOntkZWZhdWx0OlN9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5kZWNvZGVUb2tlbj1BLmhhc1Rv''@;'; put 'put ''a2VuRXhwaXJlZD1BLmlzUmVmcmVzaFRva2VuRXhwaXJpbmc9QS5pc0FjY2Vzc1Rva2VuRXhwaXJpbmc9dm9pZCAwO3ZhciB6PU4oaig2MjQ1KSk7ZnVuY3Rpb24gQyhTLG0pe3JldHVybigwLHouZGVmYXVsdCkoUykuZXhwLShuZXcgRGF0ZSkudmFsdWVPZigpLzFlMzw9bX1BLmlzQWNjZXNz''@;'; put 'put ''VG9rZW5FeHBpcmluZz1mdW5jdGlvbihTLG0pe3JldHVybiB2b2lkIDA9PT1tJiYobT0zNjAwKSwhU3x8QyhTLG0pfSxBLmlzUmVmcmVzaFRva2VuRXhwaXJpbmc9ZnVuY3Rpb24oUyxtKXtyZXR1cm4gdm9pZCAwPT09bSYmKG09MzApLCFTfHxDKFMsbSl9LEEuaGFzVG9rZW5FeHBpcmVkPWZ1''@;'; put 'put ''bmN0aW9uKFMpe3JldHVybiFTfHxDKFMsMCl9LEEuZGVjb2RlVG9rZW49ZnVuY3Rpb24oUyl7dmFyIG07dHJ5e209KDAsei5kZWZhdWx0KShTKX1jYXRjaChGKXt0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdG9rZW4gc3VwcGxpZWQuIil9cmV0dXJuIG19fSw2Nzk5OmZ1bmN0aW9uKFosQSxq''@;'; put 'put ''KXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKEMsUyxtLEYpe3ZvaWQgMD09PUYmJihGPW0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDLEYse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFNb''@;'; put 'put ''bV19fSl9OmZ1bmN0aW9uKEMsUyxtLEYpe3ZvaWQgMD09PUYmJihGPW0pLENbRl09U1ttXX0pLHo9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKEMsUyl7Zm9yKHZhciBtIGluIEMpImRlZmF1bHQiPT09bXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFMs''@;'; put 'put ''bSl8fE4oUyxDLG0pfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkseihqKDI2NTYpLEEpfSwzMjU5OmZ1bmN0aW9uKFosQSl7InVzZSBzdHJpY3QiO3ZhciBqPXRoaXMmJnRoaXMuX19hc3NpZ258fGZ1bmN0aW9uKCl7cmV0dXJuIGo9T2JqZWN0LmFz''@;'; put 'put ''c2lnbnx8ZnVuY3Rpb24oTil7Zm9yKHZhciB6LEM9MSxTPWFyZ3VtZW50cy5sZW5ndGg7QzxTO0MrKylmb3IodmFyIG0gaW4gej1hcmd1bWVudHNbQ10pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHosbSkmJihOW21dPXpbbV0pO3JldHVybiBOfSxqLmFwcGx5KHRoaXMs''@;'; put 'put ''YXJndW1lbnRzKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEucHJlZml4TWVzc2FnZT12b2lkIDAsQS5wcmVmaXhNZXNzYWdlPWZ1bmN0aW9uKE4seil7aWYoIm9iamVjdCI9PXR5cGVvZiBOKWlmKE4uaGFzT3duUHJvcGVydHkoIm1lc3NhZ2Ui''@;'; put 'put ''KSlOLm1lc3NhZ2U9eitOLm1lc3NhZ2U7ZWxzZXtpZighTi5oYXNPd25Qcm9wZXJ0eSgiYm9keSIpKXJldHVybiBqKGooe30sTikse21lc3NhZ2U6en0pO2lmKCJvYmplY3QiPT10eXBlb2YgTi5ib2R5JiYoTi5tZXNzYWdlPU4uYm9keS5tZXNzYWdlP3orTi5ib2R5Lm1lc3NhZ2U6eiksInN0''@;'; put 'put ''cmluZyI9PXR5cGVvZiBOLmJvZHkpe3ZhciBDPXZvaWQgMDt0cnl7Qz1KU09OLnBhcnNlKE4uYm9keSl9Y2F0Y2goUyl7cmV0dXJuIE4ubWVzc2FnZT16LE59cmV0dXJuIEMubWVzc2FnZT1DLm1lc3NhZ2U/eitDLm1lc3NhZ2U6eixOLmJvZHk9QyxOfX1yZXR1cm4ic3RyaW5nIj09dHlwZW9m''@;'; put 'put ''IE4mJihOPXorTiksTn19LDk3Nzg6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24oQyxTLG0sRil7dm9pZCAwPT09RiYmKEY9bSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEMsRix7ZW51''@;'; put 'put ''bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gU1ttXX19KX06ZnVuY3Rpb24oQyxTLG0sRil7dm9pZCAwPT09RiYmKEY9bSksQ1tGXT1TW21dfSksej10aGlzJiZ0aGlzLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oQyxTKXtmb3IodmFyIG0gaW4gQykiZGVmYXVsdCI9PT1tfHxPYmpl''@;'; put 'put ''Y3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoUyxtKXx8TihTLEMsbSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx6KGooMzI1OSksQSkseihqKDEwNjQpLEEpfSwxMDY0OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE4s''@;'; put 'put ''ej10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KE49ZnVuY3Rpb24oRCx3KXtyZXR1cm4oTj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oUCxNKXtQLl9fcHJvdG9fXz1NfXx8ZnVuY3Rpb24oUCxNKXtmb3IodmFyIGsgaW4gTSlP''@;'; put 'put ''YmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoTSxrKSYmKFBba109TVtrXSl9KShELHcpfSxmdW5jdGlvbihELHcpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB3JiZudWxsIT09dyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKHcpKyIg''@;'; put 'put ''aXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIFAoKXt0aGlzLmNvbnN0cnVjdG9yPUR9TihELHcpLEQucHJvdG90eXBlPW51bGw9PT13P09iamVjdC5jcmVhdGUodyk6KFAucHJvdG90eXBlPXcucHJvdG90eXBlLG5ldyBQKX0pLEM9dGhpcyYmdGhpcy5fX3JlYWR8fGZ1''@;'; put 'put ''bmN0aW9uKEQsdyl7dmFyIFA9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmRFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFQKXJldHVybiBEO3ZhciBNLGssTz1QLmNhbGwoRCksTD1bXTt0cnl7Zm9yKDsodm9pZCAwPT09d3x8dy0tID4wKSYmIShNPU8ubmV4dCgpKS5kb25lOylMLnB1c2goTS52''@;'; put 'put ''YWx1ZSl9Y2F0Y2goVCl7az17ZXJyb3I6VH19ZmluYWxseXt0cnl7TSYmIU0uZG9uZSYmKFA9Ty5yZXR1cm4pJiZQLmNhbGwoTyl9ZmluYWxseXtpZihrKXRocm93IGsuZXJyb3J9fXJldHVybiBMfSxTPXRoaXMmJnRoaXMuX19zcHJlYWRBcnJheXx8ZnVuY3Rpb24oRCx3LFApe2lmKFB8fDI9''@;'; put 'put ''PT1hcmd1bWVudHMubGVuZ3RoKWZvcih2YXIgTSxrPTAsTz13Lmxlbmd0aDtrPE87aysrKSFNJiZrIGluIHd8fChNfHwoTT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh3LDAsaykpLE1ba109d1trXSk7cmV0dXJuIEQuY29uY2F0KE18fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHcp''@;'; put 'put ''KX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuU2VydmVyVHlwZUVycm9yPXZvaWQgMDt2YXIgbT1qKDM5MDApLEY9ZnVuY3Rpb24oRCl7ZnVuY3Rpb24gdyhQKXt2b2lkIDA9PT1QJiYoUD1bXSk7dmFyIE09dGhpcyxrPShQPVMoW10sQyhuZXcg''@;'; put 'put ''U2V0KFApKSwhMSkpLmxlbmd0aD9QLmpvaW4oIiwgIikudHJpbSgpOlttLlNlcnZlclR5cGUuU2FzVml5YSxtLlNlcnZlclR5cGUuU2FzOSxtLlNlcnZlclR5cGUuU2FzanNdLmpvaW4oIiwgIikudHJpbSgpO3JldHVybiBrPWsucmVwbGFjZSgvLFxzKFteLF0qKSQvLCIgYW5kICQxIiksKE09''@;'; put 'put ''RC5jYWxsKHRoaXMsIkludmFsaWQgc2VydmVyIHR5cGU6IHZhbGlkIG9wdGlvbiIuY29uY2F0KDEhPT1QLmxlbmd0aD8icyI6IiIsIiAiKS5jb25jYXQoMSE9PVAubGVuZ3RoPyJhcmUiOiJpcyIsIiAiKS5jb25jYXQoaykpfHx0aGlzKS5uYW1lPSJTZXJ2ZXJUeXBlRXJyb3IiLE9iamVjdC5z''@;'; put 'put ''ZXRQcm90b3R5cGVPZihNLHcucHJvdG90eXBlKSxNfXJldHVybiB6KHcsRCksd30oRXJyb3IpO0EuU2VydmVyVHlwZUVycm9yPUZ9LDM5MDY6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oUCxNLGssTyl7cmV0dXJuIG5l''@;'; put 'put ''dyhrfHwoaz1Qcm9taXNlKSkoZnVuY3Rpb24oTCxUKXtmdW5jdGlvbiBZKFYpe3RyeXtVKE8ubmV4dChWKSl9Y2F0Y2goUil7VChSKX19ZnVuY3Rpb24gSShWKXt0cnl7VShPLnRocm93KFYpKX1jYXRjaChSKXtUKFIpfX1mdW5jdGlvbiBVKFYpe3ZhciBSO1YuZG9uZT9MKFYudmFsdWUpOihS''@;'; put 'put ''PVYudmFsdWUsUiBpbnN0YW5jZW9mIGs/UjpuZXcgayhmdW5jdGlvbihCKXtCKFIpfSkpLnRoZW4oWSxJKX1VKChPPU8uYXBwbHkoUCxNfHxbXSkpLm5leHQoKSl9KX0sej10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihQLE0pe3ZhciBrLE8sTCxULFk9e2xhYmVsOjAsc2VudDpm''@;'; put 'put ''dW5jdGlvbigpe2lmKDEmTFswXSl0aHJvdyBMWzFdO3JldHVybiBMWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFQ9e25leHQ6SSgwKSx0aHJvdzpJKDEpLHJldHVybjpJKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoVFtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0''@;'; put 'put ''dXJuIHRoaXN9KSxUO2Z1bmN0aW9uIEkoVSl7cmV0dXJuIGZ1bmN0aW9uKFYpe3JldHVybiBmdW5jdGlvbihSKXtpZihrKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO1k7KXRyeXtpZihrPTEsTyYmKEw9MiZSWzBdP08ucmV0dXJu''@;'; put 'put ''OlJbMF0/Ty50aHJvd3x8KChMPU8ucmV0dXJuKSYmTC5jYWxsKE8pLDApOk8ubmV4dCkmJiEoTD1MLmNhbGwoTyxSWzFdKSkuZG9uZSlyZXR1cm4gTDtzd2l0Y2goTz0wLEwmJihSPVsyJlJbMF0sTC52YWx1ZV0pLFJbMF0pe2Nhc2UgMDpjYXNlIDE6TD1SO2JyZWFrO2Nhc2UgNDpyZXR1cm4g''@;'; put 'put ''WS5sYWJlbCsrLHt2YWx1ZTpSWzFdLGRvbmU6ITF9O2Nhc2UgNTpZLmxhYmVsKyssTz1SWzFdLFI9WzBdO2NvbnRpbnVlO2Nhc2UgNzpSPVkub3BzLnBvcCgpLFkudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKEw9KEw9WS50cnlzKS5sZW5ndGg+MCYmTFtMLmxlbmd0aC0xXSl8''@;'; put 'put ''fDYhPT1SWzBdJiYyIT09UlswXSkpe1k9MDtjb250aW51ZX1pZigzPT09UlswXSYmKCFMfHxSWzFdPkxbMF0mJlJbMV08TFszXSkpe1kubGFiZWw9UlsxXTticmVha31pZig2PT09UlswXSYmWS5sYWJlbDxMWzFdKXtZLmxhYmVsPUxbMV0sTD1SO2JyZWFrfWlmKEwmJlkubGFiZWw8TFsyXSl7''@;'; put 'put ''WS5sYWJlbD1MWzJdLFkub3BzLnB1c2goUik7YnJlYWt9TFsyXSYmWS5vcHMucG9wKCksWS50cnlzLnBvcCgpO2NvbnRpbnVlfVI9TS5jYWxsKFAsWSl9Y2F0Y2goQil7Uj1bNixCXSxPPTB9ZmluYWxseXtrPUw9MH1pZig1JlJbMF0pdGhyb3cgUlsxXTtyZXR1cm57dmFsdWU6UlswXT9SWzFd''@;'; put 'put ''OnZvaWQgMCxkb25lOiEwfX0oW1UsVl0pfX19LEM9dGhpcyYmdGhpcy5fX3JlYWR8fGZ1bmN0aW9uKFAsTSl7dmFyIGs9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmUFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFrKXJldHVybiBQO3ZhciBPLEwsVD1rLmNhbGwoUCksWT1bXTt0cnl7Zm9yKDso''@;'; put 'put ''dm9pZCAwPT09TXx8TS0tID4wKSYmIShPPVQubmV4dCgpKS5kb25lOylZLnB1c2goTy52YWx1ZSl9Y2F0Y2goSSl7TD17ZXJyb3I6SX19ZmluYWxseXt0cnl7TyYmIU8uZG9uZSYmKGs9VC5yZXR1cm4pJiZrLmNhbGwoVCl9ZmluYWxseXtpZihMKXRocm93IEwuZXJyb3J9fXJldHVybiBZfSxT''@;'; put 'put ''PXRoaXMmJnRoaXMuX19zcHJlYWRBcnJheXx8ZnVuY3Rpb24oUCxNLGspe2lmKGt8fDI9PT1hcmd1bWVudHMubGVuZ3RoKWZvcih2YXIgTyxMPTAsVD1NLmxlbmd0aDtMPFQ7TCsrKSFPJiZMIGluIE18fChPfHwoTz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChNLDAsTCkpLE9bTF09TVtM''@;'; put 'put ''XSk7cmV0dXJuIFAuY29uY2F0KE98fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKE0pKX0sbT10aGlzJiZ0aGlzLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oUCl7cmV0dXJuIFAmJlAuX19lc01vZHVsZT9QOntkZWZhdWx0OlB9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01v''@;'; put 'put ''ZHVsZSIse3ZhbHVlOiEwfSksQS51cGRhdGVDc3Y9QS5jcmVhdGVDc3Y9QS5yZWFkQ3N2PXZvaWQgMDt2YXIgRj1qKDE1NTkpLEQ9bShqKDc1NjUpKTtBLnJlYWRDc3Y9ZnVuY3Rpb24oUCl7cmV0dXJuIE4odm9pZCAwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4geih0aGlzLGZ1''@;'; put 'put ''bmN0aW9uKE0pe3N3aXRjaChNLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAsRi5yZWFkRmlsZSkoUCldO2Nhc2UgMTpyZXR1cm5bMixNLnNlbnQoKS5zcGxpdCgiXG4iKS5maWx0ZXIoZnVuY3Rpb24oayl7cmV0dXJuIGsubGVuZ3RofSkubWFwKGZ1bmN0aW9uKGspe3JldHVybiBrLnNwbGl0''@;'; put 'put ''KCIsIil9KV19fSl9KX0sQS5jcmVhdGVDc3Y9ZnVuY3Rpb24oUCxNLGspe3JldHVybiBOKHZvaWQgMCx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIE87cmV0dXJuIHoodGhpcyxmdW5jdGlvbihMKXtzd2l0Y2goTC5sYWJlbCl7Y2FzZSAwOnJldHVybiBPPSgwLEQuZGVmYXVsdCkoTSx7''@;'; put 'put ''aGVhZGVyOjE9PT1NLmxlbmd0aCxjb2x1bW5zOmt9KSxbNCwoMCxGLmNyZWF0ZUZpbGUpKFAsTyldO2Nhc2UgMTpyZXR1cm4gTC5zZW50KCksWzJdfX0pfSl9LEEudXBkYXRlQ3N2PWZ1bmN0aW9uKFAsTSxrLE8pe3JldHVybiBOKHZvaWQgMCx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFy''@;'; put 'put ''IEwsVCxZO3JldHVybiB6KHRoaXMsZnVuY3Rpb24oSSl7c3dpdGNoKEkubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx3KFAsTSxrLE8pXTtjYXNlIDE6cmV0dXJuIEw9SS5zZW50KCksTyYmKFQ9MD09PUwubGVuZ3RoPzE6TC5sZW5ndGgsKFk9ay5maW5kSW5kZXgoZnVuY3Rpb24oVSl7cmV0dXJu''@;'; put 'put ''IFU9PT1PfSkpPi0xP00uc3BsaWNlKFksMCxUKTooay5zcGxpY2UoMCwwLE8pLE0uc3BsaWNlKDAsMCxUKSkpLEwucHVzaChNKSxbNCwoMCxBLmNyZWF0ZUNzdikoUCxMLGspXTtjYXNlIDI6cmV0dXJuIEkuc2VudCgpLFsyXX19KX0pfTt2YXIgdz1mdW5jdGlvbihQLE0sayxPKXtyZXR1cm4g''@;'; put 'put ''Tih2b2lkIDAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBMLFQsWSxJO3JldHVybiB6KHRoaXMsZnVuY3Rpb24oVSl7c3dpdGNoKFUubGFiZWwpe2Nhc2UgMDppZihNLmxlbmd0aCE9PWsubGVuZ3RoKXtpZihNLmxlbmd0aD5rLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImEgcmVjb3Jk''@;'; put 'put ''IGNhbiBub3QgaGF2ZSBtb3JlIGZpZWxkcyB0aGFuIHByb3ZpZGVkIGNvbHVtbnMiKTtpZighT3x8TS5sZW5ndGgrMSE9PWsubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiYSByZWNvcmQgY2FuIG5vdCBoYXZlIGxlc3MgZmllbGRzIHRoYW4gcHJvdmlkZWQgY29sdW1ucyIpfWVsc2UgaWYoTyYm''@;'; put 'put ''ay5pbmNsdWRlcyhPKSl0aHJvdyBuZXcgRXJyb3IoImEgcmVjb3JkIGNhbiBub3QgaGF2ZSBtb3JlIGZpZWxkcyB0aGFuIHByb3ZpZGVkIGNvbHVtbnMiKTtyZXR1cm5bNCwoMCxBLnJlYWRDc3YpKFApLmNhdGNoKGZ1bmN0aW9uKFYpe3JldHVybltdfSldO2Nhc2UgMTppZihMPVUuc2VudCgp''@;'; put 'put ''LFQ9TFswXSl7aWYoay5sZW5ndGg+VC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJudW1iZXIgb2YgcHJvdmlkZWQgY29sdW1ucyBhcmUgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBleGlzdGluZyBjb2x1bW5zIik7aWYoay5sZW5ndGg8VC5sZW5ndGgpe2lmKCFPfHxrLmxlbmd0aCsxIT09VC5s''@;'; put 'put ''ZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJudW1iZXIgb2YgcHJvdmlkZWQgY29sdW1ucyBhcmUgbGVzcyB0aGFuIG51bWJlciBvZiBleGlzdGluZyBjb2x1bW5zIik7aWYoWT1ULmZpbmRJbmRleChmdW5jdGlvbihWKXtyZXR1cm4gVj09PU99KSxJPVMoW10sQyhrKSwhMSksIShZPi0xKSl0aHJv''@;'; put 'put ''dyBuZXcgRXJyb3IoInByb3ZpZGVkIGNvbHVtbnMgZG9lcyBub3QgbWF0Y2ggZXhpc3RpbmcgY29sdW1ucyIpO2lmKEkuc3BsaWNlKFksMCxPKSxKU09OLnN0cmluZ2lmeShrKSE9PUpTT04uc3RyaW5naWZ5KEkpKXRocm93IG5ldyBFcnJvcigicHJvdmlkZWQgY29sdW1ucyBkb2VzIG5vdCBt''@;'; put 'put ''YXRjaCBleGlzdGluZyBjb2x1bW5zIil9ZWxzZXtpZihKU09OLnN0cmluZ2lmeShrKSE9PUpTT04uc3RyaW5naWZ5KFQpKXRocm93IG5ldyBFcnJvcigicHJvdmlkZWQgY29sdW1ucyBkb2VzIG5vdCBtYXRjaCBleGlzdGluZyBjb2x1bW5zIik7aWYoTyYmIWsuaW5jbHVkZXMoTykpdGhyb3cg''@;'; put 'put ''bmV3IEVycm9yKCJjYW4gbm90IGFkZCBuZXcgaWQgdG8gZXhpc3RpbmcgZGF0YSIpfX1yZXR1cm5bMixMXX19KX0pfX0sMTU1OTpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihSLEIs''@;'; put 'put ''cSxKKXt2b2lkIDA9PT1KJiYoSj1xKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUixKLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBCW3FdfX0pfTpmdW5jdGlvbihSLEIscSxKKXt2b2lkIDA9PT1KJiYoSj1xKSxSW0pdPUJbcV19KSx6PXRoaXMmJnRoaXMuX19zZXRNb2R1''@;'; put 'put ''bGVEZWZhdWx0fHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihSLEIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShSLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTpCfSl9OmZ1bmN0aW9uKFIsQil7Ui5kZWZhdWx0PUJ9KSxDPXRoaXMmJnRoaXMuX19pbXBvcnRTdGFyfHxmdW5jdGlvbihS''@;'; put 'put ''KXtpZihSJiZSLl9fZXNNb2R1bGUpcmV0dXJuIFI7dmFyIEI9e307aWYobnVsbCE9Uilmb3IodmFyIHEgaW4gUikiZGVmYXVsdCIhPT1xJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoUixxKSYmTihCLFIscSk7cmV0dXJuIHooQixSKSxCfSxTPXRoaXMmJnRoaXMuX19h''@;'; put 'put ''d2FpdGVyfHxmdW5jdGlvbihSLEIscSxKKXtyZXR1cm4gbmV3KHF8fChxPVByb21pc2UpKShmdW5jdGlvbigkLHRlKXtmdW5jdGlvbiBoKHApe3RyeXt5KEoubmV4dChwKSl9Y2F0Y2goZyl7dGUoZyl9fWZ1bmN0aW9uIGIocCl7dHJ5e3koSi50aHJvdyhwKSl9Y2F0Y2goZyl7dGUoZyl9fWZ1''@;'; put 'put ''bmN0aW9uIHkocCl7dmFyIGc7cC5kb25lPyQocC52YWx1ZSk6KGc9cC52YWx1ZSxnIGluc3RhbmNlb2YgcT9nOm5ldyBxKGZ1bmN0aW9uKF8pe18oZyl9KSkudGhlbihoLGIpfXkoKEo9Si5hcHBseShSLEJ8fFtdKSkubmV4dCgpKX0pfSxtPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0''@;'; put 'put ''aW9uKFIsQil7dmFyIHEsSiwkLHRlLGg9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmJFswXSl0aHJvdyAkWzFdO3JldHVybiAkWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIHRlPXtuZXh0OmIoMCksdGhyb3c6YigxKSxyZXR1cm46YigyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5''@;'; put 'put ''bWJvbCYmKHRlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLHRlO2Z1bmN0aW9uIGIoeSl7cmV0dXJuIGZ1bmN0aW9uKHApe3JldHVybiBmdW5jdGlvbihnKXtpZihxKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4i''@;'; put 'put ''KTtmb3IoO2g7KXRyeXtpZihxPTEsSiYmKCQ9MiZnWzBdP0oucmV0dXJuOmdbMF0/Si50aHJvd3x8KCgkPUoucmV0dXJuKSYmJC5jYWxsKEopLDApOkoubmV4dCkmJiEoJD0kLmNhbGwoSixnWzFdKSkuZG9uZSlyZXR1cm4gJDtzd2l0Y2goSj0wLCQmJihnPVsyJmdbMF0sJC52YWx1ZV0pLGdb''@;'; put 'put ''MF0pe2Nhc2UgMDpjYXNlIDE6JD1nO2JyZWFrO2Nhc2UgNDpyZXR1cm4gaC5sYWJlbCsrLHt2YWx1ZTpnWzFdLGRvbmU6ITF9O2Nhc2UgNTpoLmxhYmVsKyssSj1nWzFdLGc9WzBdO2NvbnRpbnVlO2Nhc2UgNzpnPWgub3BzLnBvcCgpLGgudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0Omlm''@;'; put 'put ''KCEoKCQ9KCQ9aC50cnlzKS5sZW5ndGg+MCYmJFskLmxlbmd0aC0xXSl8fDYhPT1nWzBdJiYyIT09Z1swXSkpe2g9MDtjb250aW51ZX1pZigzPT09Z1swXSYmKCEkfHxnWzFdPiRbMF0mJmdbMV08JFszXSkpe2gubGFiZWw9Z1sxXTticmVha31pZig2PT09Z1swXSYmaC5sYWJlbDwkWzFdKXto''@;'; put 'put ''LmxhYmVsPSRbMV0sJD1nO2JyZWFrfWlmKCQmJmgubGFiZWw8JFsyXSl7aC5sYWJlbD0kWzJdLGgub3BzLnB1c2goZyk7YnJlYWt9JFsyXSYmaC5vcHMucG9wKCksaC50cnlzLnBvcCgpO2NvbnRpbnVlfWc9Qi5jYWxsKFIsaCl9Y2F0Y2goXyl7Zz1bNixfXSxKPTB9ZmluYWxseXtxPSQ9MH1p''@;'; put 'put ''Zig1JmdbMF0pdGhyb3cgZ1sxXTtyZXR1cm57dmFsdWU6Z1swXT9nWzFdOnZvaWQgMCxkb25lOiEwfX0oW3kscF0pfX19LEY9dGhpcyYmdGhpcy5fX3JlYWR8fGZ1bmN0aW9uKFIsQil7dmFyIHE9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmUltTeW1ib2wuaXRlcmF0b3JdO2lmKCFxKXJl''@;'; put 'put ''dHVybiBSO3ZhciBKLCQsdGU9cS5jYWxsKFIpLGg9W107dHJ5e2Zvcig7KHZvaWQgMD09PUJ8fEItLSA+MCkmJiEoSj10ZS5uZXh0KCkpLmRvbmU7KWgucHVzaChKLnZhbHVlKX1jYXRjaChiKXskPXtlcnJvcjpifX1maW5hbGx5e3RyeXtKJiYhSi5kb25lJiYocT10ZS5yZXR1cm4pJiZxLmNh''@;'; put 'put ''bGwodGUpfWZpbmFsbHl7aWYoJCl0aHJvdyAkLmVycm9yfX1yZXR1cm4gaH0sRD10aGlzJiZ0aGlzLl9fc3ByZWFkQXJyYXl8fGZ1bmN0aW9uKFIsQixxKXtpZihxfHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIEosJD0wLHRlPUIubGVuZ3RoOyQ8dGU7JCsrKSFKJiYkIGluIEJ8fChK''@;'; put 'put ''fHwoSj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChCLDAsJCkpLEpbJF09QlskXSk7cmV0dXJuIFIuY29uY2F0KEp8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKEIpKX0sdz10aGlzJiZ0aGlzLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oUil7cmV0dXJuIFImJlIuX19lc01vZHVs''@;'; put 'put ''ZT9SOntkZWZhdWx0OlJ9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5pc1Rlc3RGaWxlPUEudGVzdEZpbGVSZWdFeHA9QS5jcmVhdGVXcml0ZVN0cmVhbT1BLmdldFJlYWxQYXRoPUEuYmFzZTY0RW5jb2RlRmlsZT1BLmJhc2U2NEVuY29kZUlt''@;'; put 'put ''YWdlRmlsZT1BLnBhdGhTZXBFc2NhcGVkPUEuY29weT1BLm1vdmVGaWxlPUEuZ2V0UmVsYXRpdmVQYXRoPUEudW5pZnlGaWxlUGF0aD1BLmRlbGV0ZUZvbGRlcj1BLmRlbGV0ZUZpbGU9QS5jcmVhdGVGaWxlPUEuY3JlYXRlRm9sZGVyPUEubGlzdEZpbGVzQW5kU3ViRm9sZGVyc0luRm9sZGVy''@;'; put 'put ''PUEubGlzdFN1YkZvbGRlcnNJbkZvbGRlcj1BLmxpc3RJbmlGaWxlc0luRm9sZGVyPUEubGlzdEZpbGVzSW5Gb2xkZXI9QS5yZWFkRmlsZUJpbmFyeT1BLnJlYWRGaWxlPUEuaXNGb2xkZXI9QS5mb2xkZXJFeGlzdHM9QS5maWxlRXhpc3RzPXZvaWQgMDt2YXIgUD13KGooNTY3NCkpLE09dyhq''@;'; put 'put ''KDk4NCkpLGs9dyhqKDI1MjApKSxPPWooNjI2NiksTD1DKGooMjk3NSkpO2Z1bmN0aW9uIFQoUil7cmV0dXJuIFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihCKXtyZXR1cm5bMixQLmRlZmF1bHQucHJvbWlzZXMuYWNjZXNzKFIsUC5kZWZh''@;'; put 'put ''dWx0LmNvbnN0YW50cy5GX09LKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSldfSl9KX1mdW5jdGlvbiBZKFIpe3JldHVybiBTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBtKHRoaXMsZnVuY3Rpb24oQil7cmV0dXJu''@;'; put 'put ''WzIsUC5kZWZhdWx0LnByb21pc2VzLnJlYWRGaWxlKFIpXX0pfSl9ZnVuY3Rpb24gSShSKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEIpe3JldHVyblsyLFAuZGVmYXVsdC5wcm9taXNlcy5yZWFkZGlyKFIse3dpdGhGaWxl''@;'; put 'put ''VHlwZXM6ITB9KS50aGVuKGZ1bmN0aW9uKHEpe3JldHVybiBxLmZpbHRlcihmdW5jdGlvbihKKXtyZXR1cm4hSi5pc0RpcmVjdG9yeSgpfSkubWFwKGZ1bmN0aW9uKEope3JldHVybiBKLm5hbWV9KX0pXX0pfSl9ZnVuY3Rpb24gVShSKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVu''@;'; put 'put ''Y3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEIpe3JldHVyblsyLFAuZGVmYXVsdC5wcm9taXNlcy5ta2RpcihSLHtyZWN1cnNpdmU6ITB9KV19KX0pfWZ1bmN0aW9uIFYoUixCLHEpe3ZvaWQgMD09PUImJihCPWsuZGVmYXVsdC5zZXApLHZvaWQgMD09PXEmJihxPSIvIik7dmFyIEo9''@;'; put 'put ''e3VuaXg6Ii8iLHdpbjoiXFwifSwkPU9iamVjdC5rZXlzKEopLmZpbmQoZnVuY3Rpb24oaCl7cmV0dXJuIEpbaF09PT1CfSk7aWYoJCl7dmFyIHRlPUpbT2JqZWN0LmtleXMoSikuZmluZChmdW5jdGlvbihoKXtyZXR1cm4gaCE9PSR9KV07cmV0dXJuICQ9SlskXSxSLnNwbGl0KHRlKS5qb2lu''@;'; put 'put ''KCQpfXJldHVybiBSLnNwbGl0KHEpLmpvaW4oQil9QS5maWxlRXhpc3RzPWZ1bmN0aW9uKFIpe3JldHVybiBTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBtKHRoaXMsZnVuY3Rpb24oQil7cmV0dXJuWzIsUC5kZWZhdWx0LnByb21pc2VzLmFjY2VzcyhSLFAuZGVmYXVs''@;'; put 'put ''dC5jb25zdGFudHMuRl9PSykudGhlbihmdW5jdGlvbigpe3JldHVybiEwfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4hMX0pXX0pfSl9LEEuZm9sZGVyRXhpc3RzPVQsQS5pc0ZvbGRlcj1mdW5jdGlvbihSKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''bSh0aGlzLGZ1bmN0aW9uKEIpe3JldHVyblsyLFAuZGVmYXVsdC5wcm9taXNlcy5sc3RhdChSKS50aGVuKGZ1bmN0aW9uKHEpe3JldHVybiBxLmlzRGlyZWN0b3J5KCl9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSldfSl9KX0sQS5yZWFkRmlsZT1mdW5jdGlvbihSLEIpe3JldHVybiB2''@;'; put 'put ''b2lkIDA9PT1CJiYoQj0idXRmOCIpLFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihxKXtyZXR1cm5bMixQLmRlZmF1bHQucHJvbWlzZXMucmVhZEZpbGUoUixCKV19KX0pfSxBLnJlYWRGaWxlQmluYXJ5PVksQS5saXN0RmlsZXNJbkZvbGRl''@;'; put 'put ''cj1JLEEubGlzdEluaUZpbGVzSW5Gb2xkZXI9ZnVuY3Rpb24oUil7cmV0dXJuIFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihCKXtzd2l0Y2goQi5sYWJlbCl7Y2FzZSAwOnJldHVybls0LEkoUildO2Nhc2UgMTpyZXR1cm5bMixCLnNlbnQo''@;'; put 'put ''KS5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIHEuZW5kc1dpdGgoIi5pbmkiKX0pXX19KX0pfSxBLmxpc3RTdWJGb2xkZXJzSW5Gb2xkZXI9ZnVuY3Rpb24oUil7cmV0dXJuIFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihCKXtyZXR1cm5b''@;'; put 'put ''MixQLmRlZmF1bHQucHJvbWlzZXMucmVhZGRpcihSLHt3aXRoRmlsZVR5cGVzOiEwfSkudGhlbihmdW5jdGlvbihxKXtyZXR1cm4gcS5maWx0ZXIoZnVuY3Rpb24oSil7cmV0dXJuIEouaXNEaXJlY3RvcnkoKX0pLm1hcChmdW5jdGlvbihKKXtyZXR1cm4gSi5uYW1lfSl9KV19KX0pfSxBLmxp''@;'; put 'put ''c3RGaWxlc0FuZFN1YkZvbGRlcnNJbkZvbGRlcj1mdW5jdGlvbiBSKEIscSl7cmV0dXJuIHZvaWQgMD09PXEmJihxPSEwKSxTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBKPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbigkKXtyZXR1cm5bMixQLmRlZmF1bHQucHJvbWlz''@;'; put 'put ''ZXMucmVhZGRpcihCLHt3aXRoRmlsZVR5cGVzOiEwfSkudGhlbihmdW5jdGlvbih0ZSl7cmV0dXJuIFMoSix2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGgsYj10aGlzO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oeSl7c3dpdGNoKHkubGFiZWwpe2Nhc2UgMDpyZXR1cm4gcSYmdGUuZmls''@;'; put 'put ''dGVyKGZ1bmN0aW9uKHApe3JldHVybiBwLmlzRGlyZWN0b3J5KCl9KS5sZW5ndGg/KGg9W10sWzQsKDAsTy5hc3luY0ZvckVhY2gpKHRlLmZpbHRlcihmdW5jdGlvbihwKXtyZXR1cm4gcC5pc0RpcmVjdG9yeSgpfSksZnVuY3Rpb24ocCl7cmV0dXJuIFMoYix2b2lkIDAsdm9pZCAwLGZ1bmN0''@;'; put 'put ''aW9uKCl7dmFyIGcsXyxFO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oVyl7c3dpdGNoKFcubGFiZWwpe2Nhc2UgMDpyZXR1cm4gXz1rLmRlZmF1bHQuam9pbihCLGc9cC5uYW1lKSxFPVtEKFtdLEYoaCksITEpXSxbNCxSKF8pXTtjYXNlIDE6cmV0dXJuIGg9RC5hcHBseSh2b2lkIDAsRS5jb25j''@;'; put 'put ''YXQoW0YuYXBwbHkodm9pZCAwLFtXLnNlbnQoKS5tYXAoZnVuY3Rpb24oRyl7cmV0dXJuIGsuZGVmYXVsdC5qb2luKGcsRyl9KV0pLCExXSkpLFsyXX19KX0pfSldKTpbMywyXTtjYXNlIDE6cmV0dXJuIHkuc2VudCgpLFsyLEQoRChbXSxGKHRlLmZpbHRlcihmdW5jdGlvbihwKXtyZXR1cm4h''@;'; put 'put ''cC5pc0RpcmVjdG9yeSgpfSkubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwLm5hbWV9KSksITEpLEYoaCksITEpXTtjYXNlIDI6cmV0dXJuWzIsdGUubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwLm5hbWV9KV19fSl9KX0pXX0pfSl9LEEuY3JlYXRlRm9sZGVyPVUsQS5jcmVhdGVGaWxlPWZ1bmN0''@;'; put 'put ''aW9uKFIsQixxKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgSiwkO3JldHVybiBtKHRoaXMsZnVuY3Rpb24odGUpe3N3aXRjaCh0ZS5sYWJlbCl7Y2FzZSAwOnJldHVybihSPVYoUikpLnNwbGl0KGsuZGVmYXVsdC5zZXApLmxlbmd0aD4xPygoSj1SLnNwbGl0''@;'; put 'put ''KGsuZGVmYXVsdC5zZXApKS5wb3AoKSxbNCxUKCQ9Si5qb2luKGsuZGVmYXVsdC5zZXApKV0pOlszLDNdO2Nhc2UgMTpyZXR1cm4gdGUuc2VudCgpP1szLDNdOls0LFUoJCldO2Nhc2UgMjp0ZS5zZW50KCksdGUubGFiZWw9MztjYXNlIDM6cmV0dXJuWzIsUC5kZWZhdWx0LnByb21pc2VzLndy''@;'; put 'put ''aXRlRmlsZShSLEIscSldfX0pfSl9LEEuZGVsZXRlRmlsZT1mdW5jdGlvbihSKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEIpe3JldHVyblsyLFAuZGVmYXVsdC5yZW1vdmUoUildfSl9KX0sQS5kZWxldGVGb2xkZXI9ZnVu''@;'; put 'put ''Y3Rpb24oUil7cmV0dXJuIFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihCKXtyZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbihxLEopeygwLE0uZGVmYXVsdCkoUix7fSxmdW5jdGlvbigkKXtyZXR1cm4gJD9KKCQpOnEoKX0pfSldfSl9''@;'; put 'put ''KX0sQS51bmlmeUZpbGVQYXRoPVYsQS5nZXRSZWxhdGl2ZVBhdGg9ZnVuY3Rpb24oUixCKXt2YXIgcT1SLnNwbGl0KGsuZGVmYXVsdC5zZXApLEo9Qi5zcGxpdChrLmRlZmF1bHQuc2VwKSwkPVtdLHRlPVtdO3EuZm9yRWFjaChmdW5jdGlvbihwLGcpe3ZvaWQgMCE9PUpbZ10mJnFbZ109PT1K''@;'; put 'put ''W2ddPyQucHVzaChwKTpwJiZ0ZS5wdXNoKHApfSk7dmFyIGg9JC5qb2luKGsuZGVmYXVsdC5zZXApLGI9bmV3IFJlZ0V4cCgiXiIuY29uY2F0KGsuZGVmYXVsdC5zZXAucmVwbGFjZSgvXFwvZywiXFxcXCIpKSkseT1uZXcgUmVnRXhwKCIiLmNvbmNhdChrLmRlZmF1bHQuc2VwLnJlcGxhY2Uo''@;'; put 'put ''L1xcL2csIlxcXFwiKSwiJCIpKTtyZXR1cm4odGUubGVuZ3RoPyIuLiIuY29uY2F0KGsuZGVmYXVsdC5zZXApLnJlcGVhdCh0ZS5sZW5ndGgpOiIuIi5jb25jYXQoay5kZWZhdWx0LnNlcCkpK0IucmVwbGFjZShoLCIiKS5yZXBsYWNlKGIsIiIpLnJlcGxhY2UoeSwiIil9LEEubW92ZUZpbGU9''@;'; put 'put ''ZnVuY3Rpb24oUixCKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKHEpe3JldHVyblsyLFAuZGVmYXVsdC5wcm9taXNlcy5yZW5hbWUoUixCKV19KX0pfSxBLmNvcHk9ZnVuY3Rpb24oUixCKXtyZXR1cm4gUyh0aGlzLHZvaWQg''@;'; put 'put ''MCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKHEpe3JldHVyblsyLFAuZGVmYXVsdC5jb3B5KFIsQildfSl9KX0sQS5wYXRoU2VwRXNjYXBlZD1rLmRlZmF1bHQuc2VwLnJlcGxhY2UoL1xcL2csIlxcXFwiKSxBLmJhc2U2NEVuY29kZUltYWdlRmlsZT1mdW5jdGlv''@;'; put 'put ''bihSKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEIpe3JldHVyblsyLFkoUikudGhlbihmdW5jdGlvbihxKXt2YXIgSj1rLmRlZmF1bHQuZXh0bmFtZShSKS5zdWJzdHIoMSl8fCJwbmciO3JldHVybiJzdmciPT09SiYmKEo9''@;'; put 'put ''InN2Zyt4bWwiKSwiZGF0YTppbWFnZS8iK0orIjtiYXNlNjQsIitxLnRvU3RyaW5nKCJiYXNlNjQiKX0pXX0pfSl9LEEuYmFzZTY0RW5jb2RlRmlsZT1mdW5jdGlvbihSKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEIpe3Jl''@;'; put 'put ''dHVyblsyLFAuZGVmYXVsdC5wcm9taXNlcy5yZWFkRmlsZShSLHtlbmNvZGluZzoiYmFzZTY0In0pXX0pfSl9LEEuZ2V0UmVhbFBhdGg9ZnVuY3Rpb24oUil7cmV0dXJuIFAuZGVmYXVsdC5yZWFscGF0aFN5bmMoUil9LEEuY3JlYXRlV3JpdGVTdHJlYW09ZnVuY3Rpb24oUil7cmV0dXJuIFMo''@;'; put 'put ''dGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihCKXtzd2l0Y2goQi5sYWJlbCl7Y2FzZSAwOnJldHVybls0LEwuZmlsZUV4aXN0cyhSKV07Y2FzZSAxOnJldHVybiBCLnNlbnQoKT9bMixQLmRlZmF1bHQuY3JlYXRlV3JpdGVTdHJlYW0oUix7Zmxh''@;'; put 'put ''Z3M6ImEifSldOls0LEwuY3JlYXRlRmlsZShSLCIiKV07Y2FzZSAyOnJldHVybiBCLnNlbnQoKSxbMixQLmRlZmF1bHQuY3JlYXRlV3JpdGVTdHJlYW0oUix7ZmxhZ3M6ImEifSldfX0pfSl9LEEudGVzdEZpbGVSZWdFeHA9L1wudGVzdFwuKFxkK1wuKT9zYXMkL2ksQS5pc1Rlc3RGaWxlPWZ1''@;'; put 'put ''bmN0aW9uKFIpe3JldHVybiBBLnRlc3RGaWxlUmVnRXhwLnRlc3QoUil9fSw1NjI2OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKFMpe3JldHVybiBTJiZTLl9fZXNNb2R1bGU/Uzp7ZGVmYXVsdDpTfX07T2Jq''@;'; put 'put ''ZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuZ2V0QWJzb2x1dGVQYXRoPXZvaWQgMDt2YXIgej1OKGooMjUyMCkpLEM9TihqKDc0MzUpKTtBLmdldEFic29sdXRlUGF0aD1mdW5jdGlvbihTLG0pe3JldHVybiB6LmRlZmF1bHQuaXNBYnNvbHV0ZShTKXx8''@;'; put 'put ''L15+Ly5leGVjKFMpP3ouZGVmYXVsdC5ub3JtYWxpemUoUy5yZXBsYWNlKC9efi8sQy5kZWZhdWx0LmhvbWVkaXIoKSkpOnouZGVmYXVsdC5qb2luKG0sUyl9fSwyOTc1OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmpl''@;'; put 'put ''Y3QuY3JlYXRlP2Z1bmN0aW9uKG0sRixELHcpe3ZvaWQgMD09PXcmJih3PUQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLHcse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEZbRF19fSl9OmZ1bmN0aW9uKG0sRixELHcpe3ZvaWQgMD09PXcmJih3PUQpLG1bd109RltEXX0p''@;'; put 'put ''LHo9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKG0sRil7Zm9yKHZhciBEIGluIG0pImRlZmF1bHQiPT09RHx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEYsRCl8fE4oRixtLEQpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3Zh''@;'; put 'put ''bHVlOiEwfSksQS5yZWFkQ3N2PUEuY3JlYXRlQ3N2PUEudXBkYXRlQ3N2PUEudGVzdEZpbGVSZWdFeHA9QS5pc1Rlc3RGaWxlPUEuZ2V0UmVhbFBhdGg9QS5iYXNlNjRFbmNvZGVGaWxlPUEuYmFzZTY0RW5jb2RlSW1hZ2VGaWxlPUEuY29weT1BLnBhdGhTZXBFc2NhcGVkPUEubW92ZUZpbGU9''@;'; put 'put ''QS51bmlmeUZpbGVQYXRoPUEuZ2V0UmVsYXRpdmVQYXRoPUEuZGVsZXRlRm9sZGVyPUEuZGVsZXRlRmlsZT1BLmNyZWF0ZVdyaXRlU3RyZWFtPUEuY3JlYXRlRm9sZGVyPUEuY3JlYXRlRmlsZT1BLmxpc3RGaWxlc0FuZFN1YkZvbGRlcnNJbkZvbGRlcj1BLmxpc3RTdWJGb2xkZXJzSW5Gb2xk''@;'; put 'put ''ZXI9QS5saXN0SW5pRmlsZXNJbkZvbGRlcj1BLmxpc3RGaWxlc0luRm9sZGVyPUEucmVhZEZpbGVCaW5hcnk9QS5yZWFkRmlsZT1BLmlzRm9sZGVyPUEuZm9sZGVyRXhpc3RzPUEuZmlsZUV4aXN0cz12b2lkIDA7dmFyIEM9aigxNTU5KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiZmlsZUV4''@;'; put 'put ''aXN0cyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMuZmlsZUV4aXN0c319KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiZm9sZGVyRXhpc3RzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5mb2xkZXJFeGlzdHN9fSksT2JqZWN0LmRlZmlu''@;'; put 'put ''ZVByb3BlcnR5KEEsImlzRm9sZGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5pc0ZvbGRlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwicmVhZEZpbGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBDLnJlYWRGaWxlfX0pLE9iamVj''@;'; put 'put ''dC5kZWZpbmVQcm9wZXJ0eShBLCJyZWFkRmlsZUJpbmFyeSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMucmVhZEZpbGVCaW5hcnl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImxpc3RGaWxlc0luRm9sZGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24o''@;'; put 'put ''KXtyZXR1cm4gQy5saXN0RmlsZXNJbkZvbGRlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwibGlzdEluaUZpbGVzSW5Gb2xkZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBDLmxpc3RJbmlGaWxlc0luRm9sZGVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShB''@;'; put 'put ''LCJsaXN0U3ViRm9sZGVyc0luRm9sZGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5saXN0U3ViRm9sZGVyc0luRm9sZGVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJsaXN0RmlsZXNBbmRTdWJGb2xkZXJzSW5Gb2xkZXIiLHtlbnVtZXJhYmxlOiEwLGdl''@;'; put 'put ''dDpmdW5jdGlvbigpe3JldHVybiBDLmxpc3RGaWxlc0FuZFN1YkZvbGRlcnNJbkZvbGRlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiY3JlYXRlRmlsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMuY3JlYXRlRmlsZX19KSxPYmplY3QuZGVmaW5lUHJvcGVy''@;'; put 'put ''dHkoQSwiY3JlYXRlRm9sZGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5jcmVhdGVGb2xkZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImNyZWF0ZVdyaXRlU3RyZWFtIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5jcmVhdGVX''@;'; put 'put ''cml0ZVN0cmVhbX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiZGVsZXRlRmlsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMuZGVsZXRlRmlsZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiZGVsZXRlRm9sZGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVu''@;'; put 'put ''Y3Rpb24oKXtyZXR1cm4gQy5kZWxldGVGb2xkZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImdldFJlbGF0aXZlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMuZ2V0UmVsYXRpdmVQYXRofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJ1bmlmeUZp''@;'; put 'put ''bGVQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy51bmlmeUZpbGVQYXRofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJtb3ZlRmlsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMubW92ZUZpbGV9fSksT2JqZWN0LmRlZmluZVBy''@;'; put 'put ''b3BlcnR5KEEsInBhdGhTZXBFc2NhcGVkIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5wYXRoU2VwRXNjYXBlZH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiY29weSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMuY29weX19KSxPYmpl''@;'; put 'put ''Y3QuZGVmaW5lUHJvcGVydHkoQSwiYmFzZTY0RW5jb2RlSW1hZ2VGaWxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5iYXNlNjRFbmNvZGVJbWFnZUZpbGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImJhc2U2NEVuY29kZUZpbGUiLHtlbnVtZXJhYmxlOiEw''@;'; put 'put ''LGdldDpmdW5jdGlvbigpe3JldHVybiBDLmJhc2U2NEVuY29kZUZpbGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImdldFJlYWxQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5nZXRSZWFsUGF0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiaXNU''@;'; put 'put ''ZXN0RmlsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMuaXNUZXN0RmlsZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwidGVzdEZpbGVSZWdFeHAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBDLnRlc3RGaWxlUmVnRXhwfX0pO3ZhciBT''@;'; put 'put ''PWooMzkwNik7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsInVwZGF0ZUNzdiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFMudXBkYXRlQ3N2fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJjcmVhdGVDc3YiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3Jl''@;'; put 'put ''dHVybiBTLmNyZWF0ZUNzdn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwicmVhZENzdiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFMucmVhZENzdn19KSx6KGooNTYyNiksQSl9LDI3Nzc6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVy''@;'; put 'put ''dHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5uZXdMaW5lPUEuY2FwaXRhbGl6ZUZpcnN0Q2hhcj1BLnNhbml0aXplU3BlY2lhbENoYXJzPUEucGFkV2l0aE51bWJlcj12b2lkIDA7dmFyIE49aig1MzA2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwicGFkV2l0aE51bWJlciIse2Vu''@;'; put 'put ''dW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE4ucGFkV2l0aE51bWJlcn19KTt2YXIgej1qKDkwMTcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJzYW5pdGl6ZVNwZWNpYWxDaGFycyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHouc2FuaXRpemVTcGVj''@;'; put 'put ''aWFsQ2hhcnN9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImNhcGl0YWxpemVGaXJzdENoYXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB6LmNhcGl0YWxpemVGaXJzdENoYXJ9fSk7dmFyIEM9aigxNjI4KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwibmV3TGlu''@;'; put 'put ''ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMubmV3TGluZX19KX0sNTMwNjooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5wYWRXaXRoTnVtYmVyPXZvaWQgMCxBLnBhZFdpdGhOdW1i''@;'; put 'put ''ZXI9ZnVuY3Rpb24oaixOKXtyZXR1cm4gdm9pZCAwPT09TiYmKE49MCksaj45P2o6IiIuY29uY2F0KE4pLmNvbmNhdChqKX19LDE2Mjg6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxB''@;'; put 'put ''Lm5ld0xpbmU9dm9pZCAwLEEubmV3TGluZT1mdW5jdGlvbigpe3JldHVybiJ3aW4zMiI9PT1OLnBsYXRmb3JtPyJcXHJcXG4iOiJcXG4ifX0sOTAxNzooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5jYXBpdGFs''@;'; put 'put ''aXplRmlyc3RDaGFyPUEuc2FuaXRpemVTcGVjaWFsQ2hhcnM9dm9pZCAwLEEuc2FuaXRpemVTcGVjaWFsQ2hhcnM9ZnVuY3Rpb24oail7cmV0dXJuIGoucmVwbGFjZSgvW1x1MDAxYlx1MDA5Yl1bWygpIzs/XSooPzpbMC05XXsxLDR9KD86O1swLTldezAsNH0pKik/WzAtOUEtT1JaY2YtbnFy''@;'; put 'put ''eT0+PF0vZywiIil9LEEuY2FwaXRhbGl6ZUZpcnN0Q2hhcj1mdW5jdGlvbihqKXtyZXR1cm4gai5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStqLnNsaWNlKDEpfX0sNjQ2NzpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19pbXBvcnREZWZhdWx0fHxmdW5j''@;'; put 'put ''dGlvbihDKXtyZXR1cm4gQyYmQy5fX2VzTW9kdWxlP0M6e2RlZmF1bHQ6Q319O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmlzU3BlY2lhbE1pc3Npbmc9QS5jaG9pY2VWYWxpZGF0b3I9QS5jb25maXJtYXRpb25WYWxpZGF0b3I9QS51cmxWYWxp''@;'; put 'put ''ZGF0b3I9dm9pZCAwO3ZhciB6PU4oaig0ODEpKTtBLnVybFZhbGlkYXRvcj1mdW5jdGlvbihDLFMpe3JldHVybiEhei5kZWZhdWx0LmlzSHR0cFVyaShDKXx8ISF6LmRlZmF1bHQuaXNIdHRwc1VyaShDKXx8IiI9PT1DfHxTfSxBLmNvbmZpcm1hdGlvblZhbGlkYXRvcj1mdW5jdGlvbihDKXty''@;'; put 'put ''ZXR1cm4hMD09PUN8fCExPT09Q30sQS5jaG9pY2VWYWxpZGF0b3I9ZnVuY3Rpb24oQyxTLG0pe3JldHVybiBDPjAmJkM8PVN8fG19LEEuaXNTcGVjaWFsTWlzc2luZz1mdW5jdGlvbihDKXtyZXR1cm4oInN0cmluZyIhPXR5cGVvZiBDfHwhQy5pbmNsdWRlcygiLi4iKSkmJm5ldyBSZWdFeHAo''@;'; put 'put ''Il4oXFwuKT9bYS16Xy5dezF9JCIsImkiKS50ZXN0KEMpfX0sNzc1NzooWixBLGopPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmdlbmVyYXRlVGltZXN0YW1wPUEudGltZXN0YW1wVG9ZWVlZTU1EREhITU1TUz12b2lk''@;'; put 'put ''IDA7dmFyIE49aigxMzAyKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwidGltZXN0YW1wVG9ZWVlZTU1EREhITU1TUyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE4udGltZXN0YW1wVG9ZWVlZTU1EREhITU1TU319KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiZ2Vu''@;'; put 'put ''ZXJhdGVUaW1lc3RhbXAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBOLmdlbmVyYXRlVGltZXN0YW1wfX0pfSwxMzAyOihaLEEsaik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuZ2VuZXJhdGVU''@;'; put 'put ''aW1lc3RhbXA9QS50aW1lc3RhbXBUb1lZWVlNTURESEhNTVNTPXZvaWQgMDt2YXIgTj1qKDI3NzcpO0EudGltZXN0YW1wVG9ZWVlZTU1EREhITU1TUz1mdW5jdGlvbih6KXt2b2lkIDA9PT16JiYoej1EYXRlLm5vdygpKTt2YXIgQz1uZXcgRGF0ZSh6KTtyZXR1cm5bQy5nZXRGdWxsWWVhcigp''@;'; put 'put ''LCgwLE4ucGFkV2l0aE51bWJlcikoQy5nZXRNb250aCgpKzEpLCgwLE4ucGFkV2l0aE51bWJlcikoQy5nZXREYXRlKCkpXS5qb2luKCIvIikrIiAiK1soMCxOLnBhZFdpdGhOdW1iZXIpKEMuZ2V0SG91cnMoKSksKDAsTi5wYWRXaXRoTnVtYmVyKShDLmdldE1pbnV0ZXMoKSksKDAsTi5wYWRX''@;'; put 'put ''aXRoTnVtYmVyKShDLmdldFNlY29uZHMoKSldLmpvaW4oIjoiKX0sQS5nZW5lcmF0ZVRpbWVzdGFtcD1mdW5jdGlvbih6LEMpe3ZvaWQgMD09PXomJih6PSIiKTt2YXIgUz1uZXcgRGF0ZSxtPVtTLmdldFVUQ0Z1bGxZZWFyKCksUy5nZXRVVENNb250aCgpKzEsUy5nZXRVVENEYXRlKCksUy5n''@;'; put 'put ''ZXRVVENIb3VycygpLFMuZ2V0VVRDTWludXRlcygpLFMuZ2V0VVRDU2Vjb25kcygpXTtyZXR1cm4gbT1tLm1hcChmdW5jdGlvbihGKXtyZXR1cm4oMCxOLnBhZFdpdGhOdW1iZXIpKEYpfSksQyYmeiYmQzxtLmxlbmd0aCYmQz49MCYmbS5zcGxpY2UoQywwLHopLG0uam9pbihDPyIiOnopfX0s''@;'; put 'put ''ODIzOTooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDI0Mjc6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSwxODk6KFosQSk9Pnsi''@;'; put 'put ''dXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSwzNjkyOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sNjkzOTooWixBKT0+eyJ1c2Ugc3RyaWN0Ijt2''@;'; put 'put ''YXIgajtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5NZW1iZXJUeXBlPXZvaWQgMCwoaj1BLk1lbWJlclR5cGV8fChBLk1lbWJlclR5cGU9e30pKS5zZXJ2aWNlPSJzZXJ2aWNlIixqLmZpbGU9ImZpbGUiLGouZm9sZGVyPSJmb2xkZXIifSw1MTY1''@;'; put 'put ''OihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sMzkwMDpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihD''@;'; put 'put ''LFMsbSxGKXt2b2lkIDA9PT1GJiYoRj1tKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQyxGLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBTW21dfX0pfTpmdW5jdGlvbihDLFMsbSxGKXt2b2lkIDA9PT1GJiYoRj1tKSxDW0ZdPVNbbV19KSx6PXRoaXMmJnRoaXMuX19leHBv''@;'; put 'put ''cnRTdGFyfHxmdW5jdGlvbihDLFMpe2Zvcih2YXIgbSBpbiBDKSJkZWZhdWx0Ij09PW18fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChTLG0pfHxOKFMsQyxtKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHooaig4MjM5KSxB''@;'; put 'put ''KSx6KGooMjQyNyksQSkseihqKDE4OSksQSkseihqKDM2OTIpLEEpLHooaig2OTM5KSxBKSx6KGooNTE2NSksQSkseihqKDQwNjkpLEEpLHooaig4OTMyKSxBKSx6KGooNCksQSkseihqKDIwMTUpLEEpLHooaig4NTE1KSxBKSx6KGooNTMxMyksQSkseihqKDg5NzkpLEEpfSw0MDY5OihaLEEp''@;'; put 'put ''PT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmlzTWFjcm9WYXJzPXZvaWQgMCxBLmlzTWFjcm9WYXJzPWZ1bmN0aW9uKGope3JldHVybiBqJiYib2JqZWN0Ij09dHlwZW9mIGoubWFjcm9WYXJzJiYhQXJyYXkuaXNBcnJh''@;'; put 'put ''eShqLm1hY3JvVmFycyl9fSw4OTMyOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sNDooWixBKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgajtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVl''@;'; put 'put ''OiEwfSksQS5TQVNKc0ZpbGVUeXBlPXZvaWQgMCwoaj1BLlNBU0pzRmlsZVR5cGV8fChBLlNBU0pzRmlsZVR5cGU9e30pKS5zZXJ2aWNlPSJTZXJ2aWNlIixqLmpvYj0iSm9iIixqLnRlc3Q9IlRlc3QifSwyMDE1OihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShB''@;'; put 'put ''LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sODUxNTooWixBKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgajtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5TZXJ2ZXJUeXBlPXZvaWQgMCwoaj1BLlNlcnZlclR5cGV8fChBLlNlcnZlclR5cGU9e30pKS5T''@;'; put 'put ''YXNWaXlhPSJTQVNWSVlBIixqLlNhczk9IlNBUzkiLGouU2FzanM9IlNBU0pTIn0sNTMxMzooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDg5Nzk6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5l''@;'; put 'put ''UHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5UYXJnZXQ9dm9pZCAwO3ZhciBOPWooODUxNSksej1qKDY3ODEpLEM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBTKG0pe3RoaXMuX3NlcnZlclR5cGU9Ti5TZXJ2ZXJUeXBlLlNhc1ZpeWE7dHJ5e2lmKCFtKXRocm93IG5ldyBFcnJv''@;'; put 'put ''cigiSW52YWxpZCB0YXJnZXQ6IElucHV0IEpTT04gaXMgbnVsbCBvciB1bmRlZmluZWQuIik7dGhpcy5fbmFtZT0oMCx6LnZhbGlkYXRlVGFyZ2V0TmFtZSkobS5uYW1lKSx0aGlzLl9zZXJ2ZXJVcmw9KDAsei52YWxpZGF0ZVNlcnZlclVybCkobS5zZXJ2ZXJVcmwpLHRoaXMuX3NlcnZlclR5''@;'; put 'put ''cGU9KDAsei52YWxpZGF0ZVNlcnZlclR5cGUpKG0uc2VydmVyVHlwZSksdGhpcy5faHR0cHNBZ2VudE9wdGlvbnM9KDAsei52YWxpZGF0ZUh0dHBzQWdlbnRPcHRpb25zKShtLmh0dHBzQWdlbnRPcHRpb25zKSx0aGlzLl9hcHBMb2M9KDAsei52YWxpZGF0ZUFwcExvYykobS5hcHBMb2MpLHRo''@;'; put 'put ''aXMuX2NvbnRleHROYW1lPSgwLHoudmFsaWRhdGVDb250ZXh0TmFtZSkobS5jb250ZXh0TmFtZSx0aGlzLl9zZXJ2ZXJUeXBlKSx0aGlzLl9zZXJ2ZXJOYW1lPSgwLHoudmFsaWRhdGVTZXJ2ZXJOYW1lKShtLnNlcnZlck5hbWUsdGhpcy5fc2VydmVyVHlwZSksdGhpcy5fcmVwb3NpdG9yeU5h''@;'; put 'put ''bWU9KDAsei52YWxpZGF0ZVJlcG9zaXRvcnlOYW1lKShtLnJlcG9zaXRvcnlOYW1lLHRoaXMuX3NlcnZlclR5cGUpLG0uZG9jQ29uZmlnJiYodGhpcy5fZG9jQ29uZmlnPSgwLHoudmFsaWRhdGVEb2NDb25maWcpKG0uZG9jQ29uZmlnKSksbS5hdXRoQ29uZmlnJiYodGhpcy5fYXV0aENvbmZp''@;'; put 'put ''Zz0oMCx6LnZhbGlkYXRlQXV0aENvbmZpZykobS5hdXRoQ29uZmlnKSksbS5hdXRoQ29uZmlnU2FzOSYmKHRoaXMuX2F1dGhDb25maWdTYXM5PSgwLHoudmFsaWRhdGVBdXRoQ29uZmlnU2FzOSkobS5hdXRoQ29uZmlnU2FzOSkpLG0uYnVpbGRDb25maWcmJih0aGlzLl9idWlsZENvbmZpZz0o''@;'; put 'put ''MCx6LnZhbGlkYXRlQnVpbGRDb25maWcpKG0uYnVpbGRDb25maWcsdGhpcy5fbmFtZSkpLHRoaXMuX2RlcGxveUNvbmZpZz0oMCx6LnZhbGlkYXRlRGVwbG95Q29uZmlnKShtLmRlcGxveUNvbmZpZz9tLmRlcGxveUNvbmZpZzp7ZGVwbG95U2VydmljZVBhY2s6ITAsZGVwbG95U2NyaXB0czpb''@;'; put 'put ''XX0pLG0uc2VydmljZUNvbmZpZyYmKHRoaXMuX3NlcnZpY2VDb25maWc9KDAsei52YWxpZGF0ZVNlcnZpY2VDb25maWcpKG0uc2VydmljZUNvbmZpZykpLG0uam9iQ29uZmlnJiYodGhpcy5fam9iQ29uZmlnPSgwLHoudmFsaWRhdGVKb2JDb25maWcpKG0uam9iQ29uZmlnKSksbS5zdHJlYW1D''@;'; put 'put ''b25maWcmJih0aGlzLl9zdHJlYW1Db25maWc9KDAsei52YWxpZGF0ZVN0cmVhbUNvbmZpZykobS5zdHJlYW1Db25maWcpKSxtLnRlc3RDb25maWcmJih0aGlzLl90ZXN0Q29uZmlnPSgwLHoudmFsaWRhdGVUZXN0Q29uZmlnKShtLnRlc3RDb25maWcpKSxtLm1hY3JvRm9sZGVycyYmbS5tYWNy''@;'; put 'put ''b0ZvbGRlcnMubGVuZ3RoJiYodGhpcy5fbWFjcm9Gb2xkZXJzPW0ubWFjcm9Gb2xkZXJzKSxtLnByb2dyYW1Gb2xkZXJzJiZtLnByb2dyYW1Gb2xkZXJzLmxlbmd0aCYmKHRoaXMuX3Byb2dyYW1Gb2xkZXJzPW0ucHJvZ3JhbUZvbGRlcnMpLG0uYmluYXJ5Rm9sZGVycyYmbS5iaW5hcnlGb2xk''@;'; put 'put ''ZXJzLmxlbmd0aCYmKHRoaXMuX2JpbmFyeUZvbGRlcnM9bS5iaW5hcnlGb2xkZXJzKX1jYXRjaChGKXt0aHJvdyBuZXcgRXJyb3IoIkVycm9yIHBhcnNpbmcgdGFyZ2V0OiAiLmNvbmNhdChGLm1lc3NhZ2UpKX19cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3RvdHlwZSwibmFt''@;'; put 'put ''ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9uYW1lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3RvdHlwZSwic2VydmVyVXJsIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlcnZlclVybH0sZW51bWVyYWJs''@;'; put 'put ''ZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90b3R5cGUsInNlcnZlclR5cGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VydmVyVHlwZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHko''@;'; put 'put ''Uy5wcm90b3R5cGUsImh0dHBzQWdlbnRPcHRpb25zIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2h0dHBzQWdlbnRPcHRpb25zfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3RvdHlwZSwiYXBwTG9jIix7Z2V0OmZ1bmN0''@;'; put 'put ''aW9uKCl7cmV0dXJuIHRoaXMuX2FwcExvY30sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90b3R5cGUsImRvY0NvbmZpZyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kb2NDb25maWd9LGVudW1lcmFibGU6ITEsY29uZmln''@;'; put 'put ''dXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFMucHJvdG90eXBlLCJhdXRoQ29uZmlnIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2F1dGhDb25maWd9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFMucHJvdG90eXBl''@;'; put 'put ''LCJhdXRoQ29uZmlnU2FzOSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hdXRoQ29uZmlnU2FzOX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90b3R5cGUsImJ1aWxkQ29uZmlnIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJu''@;'; put 'put ''IHRoaXMuX2J1aWxkQ29uZmlnfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3RvdHlwZSwiZGVwbG95Q29uZmlnIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlcGxveUNvbmZpZ30sZW51bWVyYWJsZTohMSxjb25maWd1''@;'; put 'put ''cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90b3R5cGUsInNlcnZpY2VDb25maWciLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VydmljZUNvbmZpZ30sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90''@;'; put 'put ''b3R5cGUsImpvYkNvbmZpZyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9qb2JDb25maWd9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFMucHJvdG90eXBlLCJzdHJlYW1Db25maWciLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5fc3RyZWFtQ29uZmlnfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3RvdHlwZSwibWFjcm9Gb2xkZXJzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hY3JvRm9sZGVyc30sZW51bWVyYWJsZTohMSxjb25maWd1cmFi''@;'; put 'put ''bGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90b3R5cGUsInByb2dyYW1Gb2xkZXJzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Byb2dyYW1Gb2xkZXJzfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3Rv''@;'; put 'put ''dHlwZSwiYmluYXJ5Rm9sZGVycyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaW5hcnlGb2xkZXJzfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3RvdHlwZSwiY29udGV4dE5hbWUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1''@;'; put 'put ''cm4gdGhpcy5fY29udGV4dE5hbWV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFMucHJvdG90eXBlLCJzZXJ2ZXJOYW1lIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlcnZlck5hbWV9LGVudW1lcmFibGU6ITEsY29uZmlndXJh''@;'; put 'put ''YmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFMucHJvdG90eXBlLCJyZXBvc2l0b3J5TmFtZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZXBvc2l0b3J5TmFtZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90''@;'; put 'put ''b3R5cGUsInRlc3RDb25maWciLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGVzdENvbmZpZ30sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxTLnByb3RvdHlwZS50b0pzb249ZnVuY3Rpb24obSl7dmFyIEYsRCx3O3ZvaWQgMD09PW0mJihtPSEwKTt2YXIgUD17bmFtZTp0''@;'; put 'put ''aGlzLm5hbWUsc2VydmVyVXJsOnRoaXMuc2VydmVyVXJsLHNlcnZlclR5cGU6dGhpcy5zZXJ2ZXJUeXBlLGh0dHBzQWdlbnRPcHRpb25zOnRoaXMuaHR0cHNBZ2VudE9wdGlvbnMsYXBwTG9jOnRoaXMuYXBwTG9jLGRvY0NvbmZpZzp0aGlzLmRvY0NvbmZpZ307cmV0dXJuIShudWxsPT09KEY9''@;'; put 'put ''dGhpcy5tYWNyb0ZvbGRlcnMpfHx2b2lkIDA9PT1GKSYmRi5sZW5ndGgmJihQLm1hY3JvRm9sZGVycz10aGlzLm1hY3JvRm9sZGVycyksIShudWxsPT09KEQ9dGhpcy5wcm9ncmFtRm9sZGVycyl8fHZvaWQgMD09PUQpJiZELmxlbmd0aCYmKFAucHJvZ3JhbUZvbGRlcnM9dGhpcy5wcm9ncmFt''@;'; put 'put ''Rm9sZGVycyksIShudWxsPT09KHc9dGhpcy5iaW5hcnlGb2xkZXJzKXx8dm9pZCAwPT09dykmJncubGVuZ3RoJiYoUC5iaW5hcnlGb2xkZXJzPXRoaXMuYmluYXJ5Rm9sZGVycyksdGhpcy5hdXRoQ29uZmlnJiYoUC5hdXRoQ29uZmlnPXRoaXMuYXV0aENvbmZpZyksdGhpcy5hdXRoQ29uZmln''@;'; put 'put ''U2FzOSYmKFAuYXV0aENvbmZpZ1Nhczk9dGhpcy5hdXRoQ29uZmlnU2FzOSksdGhpcy5idWlsZENvbmZpZz9QLmJ1aWxkQ29uZmlnPXRoaXMuYnVpbGRDb25maWc6bSYmKFAuYnVpbGRDb25maWc9e2luaXRQcm9ncmFtOiIiLHRlcm1Qcm9ncmFtOiIiLGJ1aWxkT3V0cHV0RmlsZU5hbWU6IiIu''@;'; put 'put ''Y29uY2F0KHRoaXMubmFtZSwiLnNhcyIpLGJ1aWxkT3V0cHV0Rm9sZGVyOiJzYXNqc2J1aWxkIixidWlsZFJlc3VsdHNGb2xkZXI6InNhc2pzcmVzdWx0cyIsbWFjcm9WYXJzOnt9fSksdGhpcy5qb2JDb25maWc/UC5qb2JDb25maWc9dGhpcy5qb2JDb25maWc6bSYmKFAuam9iQ29uZmlnPXtq''@;'; put 'put ''b2JGb2xkZXJzOltdLGluaXRQcm9ncmFtOiIiLHRlcm1Qcm9ncmFtOiIiLG1hY3JvVmFyczp7fX0pLHRoaXMuc2VydmljZUNvbmZpZz9QLnNlcnZpY2VDb25maWc9dGhpcy5zZXJ2aWNlQ29uZmlnOm0mJihQLnNlcnZpY2VDb25maWc9e3NlcnZpY2VGb2xkZXJzOltdLGluaXRQcm9ncmFtOiIi''@;'; put 'put ''LHRlcm1Qcm9ncmFtOiIiLG1hY3JvVmFyczp7fX0pLHRoaXMuc3RyZWFtQ29uZmlnP1Auc3RyZWFtQ29uZmlnPXRoaXMuc3RyZWFtQ29uZmlnOm0mJihQLnN0cmVhbUNvbmZpZz17c3RyZWFtV2ViRm9sZGVyOiIiLHN0cmVhbVdlYjohMSx3ZWJTb3VyY2VQYXRoOiIiLHN0cmVhbVNlcnZpY2VO''@;'; put 'put ''YW1lOiIiLGFzc2V0UGF0aHM6W119KSwhdGhpcy5kZXBsb3lDb25maWd8fHRoaXMuZGVwbG95Q29uZmlnLmRlcGxveVNlcnZpY2VQYWNrJiYhdGhpcy5kZXBsb3lDb25maWcuZGVwbG95U2NyaXB0cy5sZW5ndGg/bSYmKFAuZGVwbG95Q29uZmlnPXtkZXBsb3lTY3JpcHRzOltdLGRlcGxveVNl''@;'; put 'put ''cnZpY2VQYWNrOiExfSk6UC5kZXBsb3lDb25maWc9dGhpcy5kZXBsb3lDb25maWcsdGhpcy50ZXN0Q29uZmlnP1AudGVzdENvbmZpZz10aGlzLnRlc3RDb25maWc6bSYmKFAudGVzdENvbmZpZz17aW5pdFByb2dyYW06IiIsdGVybVByb2dyYW06IiIsbWFjcm9WYXJzOnt9LHRlc3RTZXRVcDoi''@;'; put 'put ''Iix0ZXN0VGVhckRvd246IiJ9KSx0aGlzLnNlcnZlclR5cGU9PT1OLlNlcnZlclR5cGUuU2FzVml5YT9QLmNvbnRleHROYW1lPXRoaXMuY29udGV4dE5hbWU6dGhpcy5zZXJ2ZXJUeXBlPT09Ti5TZXJ2ZXJUeXBlLlNhczkmJihQLnNlcnZlck5hbWU9dGhpcy5zZXJ2ZXJOYW1lLFAucmVwb3Np''@;'; put 'put ''dG9yeU5hbWU9dGhpcy5yZXBvc2l0b3J5TmFtZSksUH0sU30oKTtBLlRhcmdldD1DfSw2NzgxOmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKFMpe3JldHVybiBTJiZTLl9fZXNNb2R1bGU/Uzp7ZGVmYXVsdDpT''@;'; put 'put ''fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEudmFsaWRhdGVSZXBvc2l0b3J5TmFtZT1BLnZhbGlkYXRlU2VydmVyTmFtZT1BLnZhbGlkYXRlQ29udGV4dE5hbWU9QS52YWxpZGF0ZVN0cmVhbUNvbmZpZz1BLnZhbGlkYXRlRGVwbG95Q29uZmln''@;'; put 'put ''PUEudmFsaWRhdGVKb2JDb25maWc9QS52YWxpZGF0ZVRlc3RDb25maWc9QS52YWxpZGF0ZVNlcnZpY2VDb25maWc9QS52YWxpZGF0ZUJ1aWxkQ29uZmlnPUEudmFsaWRhdGVBdXRoQ29uZmlnU2FzOT1BLnZhbGlkYXRlQXV0aENvbmZpZz1BLnZhbGlkYXRlRG9jQ29uZmlnPUEudmFsaWRhdGVB''@;'; put 'put ''cHBMb2M9QS52YWxpZGF0ZUh0dHBzQWdlbnRPcHRpb25zPUEudmFsaWRhdGVTZXJ2ZXJVcmw9QS52YWxpZGF0ZVRhcmdldE5hbWU9QS52YWxpZGF0ZVNlcnZlclR5cGU9dm9pZCAwO3ZhciB6PU4oaig0ODEpKSxDPWooMzkwMCk7QS52YWxpZGF0ZVNlcnZlclR5cGU9ZnVuY3Rpb24oUyl7aWYo''@;'; put 'put ''IVMpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNlcnZlciB0eXBlOiBgc2VydmVyVHlwZWAgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkLiIpO2lmKFMhPT1DLlNlcnZlclR5cGUuU2FzOSYmUyE9PUMuU2VydmVyVHlwZS5TYXNWaXlhJiZTIT09Qy5TZXJ2ZXJUeXBlLlNhc2pzKXRocm93''@;'; put 'put ''IG5ldyBFcnJvcigiSW52YWxpZCBzZXJ2ZXIgdHlwZTogU3VwcG9ydGVkIHZhbHVlcyBmb3IgIGBzZXJ2ZXJUeXBlYCBhcmUgIi5jb25jYXQoQy5TZXJ2ZXJUeXBlLlNhc1ZpeWEsIiwgIikuY29uY2F0KEMuU2VydmVyVHlwZS5TYXM5LCIgYW5kICIpLmNvbmNhdChDLlNlcnZlclR5cGUuU2Fz''@;'; put 'put ''anMsIi4iKSk7cmV0dXJuIFN9LEEudmFsaWRhdGVUYXJnZXROYW1lPWZ1bmN0aW9uKFMpe2lmKCFTKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB0YXJnZXQgbmFtZTogYG5hbWVgIGNhbm5vdCBiZSBlbXB0eSwgbnVsbCBvciB1bmRlZmluZWQuIik7aWYoUy50cmltKCkuaW5jbHVkZXMoIiAi''@;'; put 'put ''KSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdGFyZ2V0IG5hbWU6IGBuYW1lYCBjYW5ub3QgaW5jbHVkZSBzcGFjZXMuIik7aWYoIS9eW2EtekEtWjAtOVwtXSskL2kudGVzdChTKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdGFyZ2V0IG5hbWU6IGBuYW1lYCBjYW4gb25seSBjb250YWlu''@;'; put 'put ''IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBkYXNoZXMuIik7cmV0dXJuIFN9LEEudmFsaWRhdGVTZXJ2ZXJVcmw9ZnVuY3Rpb24oUyl7aWYobnVsbD09UyYmKFM9IiIpLCIiIT09UyYmIXouZGVmYXVsdC5pc0h0dHBVcmkoUykmJiF6LmRlZmF1bHQuaXNIdHRwc1VyaShTKSl0aHJvdyBu''@;'; put 'put ''ZXcgRXJyb3IoIkludmFsaWQgc2VydmVyIFVSTDogYHNlcnZlclVybGAgc2hvdWxkIGVpdGhlciBiZSBhbiBlbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBVUkwgb2YgdGhlIGZvcm0gaHR0cChzKTovL3lvdXItc2VydmVyLmNvbSg6cG9ydCkuIik7cmV0dXJuIFN9LEEudmFsaWRhdGVIdHRwc0Fn''@;'; put 'put ''ZW50T3B0aW9ucz1mdW5jdGlvbihTKXtpZihTKXtpZigib2JqZWN0IiE9dHlwZW9mIFMpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhbHVlOiBgaHR0cHNBZ2VudE9wdGlvbnNgIHNob3VsZCBlaXRoZXIgYmUgYW4gZW1wdHkgb3IgYW4gb2JqZWN0IG9mIGBIdHRwc0FnZW50T3B0aW9uc2Ai''@;'; put 'put ''KTtpZihudWxsPT1TLmFsbG93SW5zZWN1cmVSZXF1ZXN0cylTLmFsbG93SW5zZWN1cmVSZXF1ZXN0cz0hMTtlbHNlIGlmKCJib29sZWFuIiE9dHlwZW9mIFMuYWxsb3dJbnNlY3VyZVJlcXVlc3RzKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB2YWx1ZTogYGh0dHBzQWdlbnRPcHRpb25zLmFs''@;'; put 'put ''bG93SW5zZWN1cmVSZXF1ZXN0c2Agc2hvdWxkIGVpdGhlciBiZSBhbiBlbXB0eSBvciBhIGJvb2xlYW4iKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIFMuY2FQYXRoJiYoUy5jYVBhdGg9dm9pZCAwKSwic3RyaW5nIiE9dHlwZW9mIFMua2V5UGF0aCYmKFMua2V5UGF0aD12b2lkIDApLCJzdHJp''@;'; put 'put ''bmciIT10eXBlb2YgUy5jZXJ0UGF0aCYmKFMuY2VydFBhdGg9dm9pZCAwKSxTfX0sQS52YWxpZGF0ZUFwcExvYz1mdW5jdGlvbihTKXtpZighUyl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYXBwIGxvY2F0aW9uOiBgYXBwTG9jYCBjYW5ub3QgYmUgZW1wdHksIG51bGwgb3IgdW5kZWZpbmVk''@;'; put 'put ''LiIpO2lmKCFTLnN0YXJ0c1dpdGgoIi8iKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYXBwIGxvY2F0aW9uOiBgYXBwTG9jYCBtdXN0IHN0YXJ0IHdpdGggYSBgL2AuIik7cmV0dXJuIFN9LEEudmFsaWRhdGVEb2NDb25maWc9ZnVuY3Rpb24oUyl7aWYoU3x8KFM9e30pLCJib29sZWFuIiE9''@;'; put 'put ''dHlwZW9mIFMuZGlzcGxheU1hY3JvQ29yZSYmKFMuZGlzcGxheU1hY3JvQ29yZT12b2lkIDApLCJib29sZWFuIiE9dHlwZW9mIFMuZW5hYmxlTGluZWFnZSYmKFMuZW5hYmxlTGluZWFnZT12b2lkIDApLCJzdHJpbmciIT10eXBlb2YgUy5vdXREaXJlY3RvcnkmJihTLm91dERpcmVjdG9yeT12''@;'; put 'put ''b2lkIDApLCJzdHJpbmciPT10eXBlb2YgUy5kYXRhQ29udHJvbGxlclVybCl7aWYoIiIhPT1TLmRhdGFDb250cm9sbGVyVXJsJiYhei5kZWZhdWx0LmlzSHR0cFVyaShTLmRhdGFDb250cm9sbGVyVXJsKSYmIXouZGVmYXVsdC5pc0h0dHBzVXJpKFMuZGF0YUNvbnRyb2xsZXJVcmwpKXRocm93''@;'; put 'put ''IG5ldyBFcnJvcigiSW52YWxpZCBEYXRhIENvbnRyb2xsZXIgVXJsOiBgZGF0YUNvbnRyb2xsZXJVcmxgIHNob3VsZCBlaXRoZXIgYmUgYW4gZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgVVJMIG9mIHRoZSBmb3JtIGh0dHAocyk6Ly95b3VyLXNlcnZlci5jb20oOnBvcnQpLiIpfWVsc2UgUy5k''@;'; put 'put ''YXRhQ29udHJvbGxlclVybD12b2lkIDA7cmV0dXJuIFN9LEEudmFsaWRhdGVBdXRoQ29uZmlnPWZ1bmN0aW9uKFMpe2lmKCFTKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBhdXRoIGNvbmZpZzogSlNPTiBjYW5ub3QgYmUgbnVsbCBvciB1bmRlZmluZWQuIik7cmV0dXJuIFN9LEEudmFsaWRh''@;'; put 'put ''dGVBdXRoQ29uZmlnU2FzOT1mdW5jdGlvbihTKXtpZighUyl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYXV0aCBjb25maWcgZm9yIHNhczk6IEpTT04gY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkLiIpO2lmKCFTLnVzZXJOYW1lfHwhUy5wYXNzd29yZCl0aHJvdyBuZXcgRXJyb3IoIklu''@;'; put 'put ''dmFsaWQgYXV0aCBjb25maWcgZm9yIHNhczk6IHVzZXJOYW1lIGFuZCBwYXNzd29yZCBjYW4gbm90IGJlIGVtcHR5Iik7cmV0dXJuIFN9LEEudmFsaWRhdGVCdWlsZENvbmZpZz1mdW5jdGlvbihTLG0pe2lmKCFTKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBidWlsZCBjb25maWc6IEpTT04g''@;'; put 'put ''Y2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkLiIpO3JldHVybiBTLmJ1aWxkUmVzdWx0c0ZvbGRlcnx8KFMuYnVpbGRSZXN1bHRzRm9sZGVyPSJzYXNqc3Jlc3VsdHMiKSxTLmJ1aWxkT3V0cHV0Rm9sZGVyfHwoUy5idWlsZE91dHB1dEZvbGRlcj0ic2FzanNidWlsZCIpLFMuYnVpbGRPdXRw''@;'; put 'put ''dXRGaWxlTmFtZXx8KFMuYnVpbGRPdXRwdXRGaWxlTmFtZT0iIi5jb25jYXQobSwiLnNhcyIpKSxTLmluaXRQcm9ncmFtfHwoUy5pbml0UHJvZ3JhbT0iIiksUy50ZXJtUHJvZ3JhbXx8KFMudGVybVByb2dyYW09IiIpLFMubWFjcm9WYXJzfHwoUy5tYWNyb1ZhcnM9e30pLFN9LEEudmFsaWRh''@;'; put 'put ''dGVTZXJ2aWNlQ29uZmlnPWZ1bmN0aW9uKFMpe2lmKCFTKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzZXJ2aWNlIGNvbmZpZzogSlNPTiBjYW5ub3QgYmUgbnVsbCBvciB1bmRlZmluZWQuIik7cmV0dXJuIFMuaW5pdFByb2dyYW18fChTLmluaXRQcm9ncmFtPSIiKSxTLnRlcm1Qcm9ncmFt''@;'; put 'put ''fHwoUy50ZXJtUHJvZ3JhbT0iIiksUy5zZXJ2aWNlRm9sZGVyc3x8KFMuc2VydmljZUZvbGRlcnM9W10pLFMubWFjcm9WYXJzfHwoUy5tYWNyb1ZhcnM9e30pLFN9LEEudmFsaWRhdGVUZXN0Q29uZmlnPWZ1bmN0aW9uKFMpe2lmKCFTKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB0ZXN0IGNv''@;'; put 'put ''bmZpZzogSlNPTiBjYW5ub3QgYmUgbnVsbCBvciB1bmRlZmluZWQuIik7cmV0dXJuIFMuaW5pdFByb2dyYW18fChTLmluaXRQcm9ncmFtPSIiKSxTLnRlcm1Qcm9ncmFtfHwoUy50ZXJtUHJvZ3JhbT0iIiksUy5tYWNyb1ZhcnN8fChTLm1hY3JvVmFycz17fSksUy50ZXN0U2V0VXB8fChTLnRl''@;'; put 'put ''c3RTZXRVcD0iIiksUy50ZXN0VGVhckRvd258fChTLnRlc3RUZWFyRG93bj0iIiksU30sQS52YWxpZGF0ZUpvYkNvbmZpZz1mdW5jdGlvbihTKXtpZighUyl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgam9iIGNvbmZpZzogSlNPTiBjYW5ub3QgYmUgbnVsbCBvciB1bmRlZmluZWQuIik7cmV0''@;'; put 'put ''dXJuIFMuaW5pdFByb2dyYW18fChTLmluaXRQcm9ncmFtPSIiKSxTLnRlcm1Qcm9ncmFtfHwoUy50ZXJtUHJvZ3JhbT0iIiksUy5qb2JGb2xkZXJzfHwoUy5qb2JGb2xkZXJzPVtdKSxTLm1hY3JvVmFyc3x8KFMubWFjcm9WYXJzPXt9KSxTfSxBLnZhbGlkYXRlRGVwbG95Q29uZmlnPWZ1bmN0''@;'; put 'put ''aW9uKFMpe2lmKCFTKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBkZXBsb3kgY29uZmlnOiBKU09OIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZC4iKTtyZXR1cm4gUy5kZXBsb3lTZXJ2aWNlUGFjaz0hIVMuZGVwbG95U2VydmljZVBhY2ssUy5kZXBsb3lTY3JpcHRzfHwoUy5kZXBsb3lT''@;'; put 'put ''Y3JpcHRzPVtdKSxTfSxBLnZhbGlkYXRlU3RyZWFtQ29uZmlnPWZ1bmN0aW9uKFMpe2lmKCFTKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJlYW0gY29uZmlnOiBKU09OIGNhbm5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZC4iKTtpZighMCE9PVMuc3RyZWFtV2ViJiYhMSE9PVMuc3RyZWFt''@;'; put 'put ''V2ViKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJlYW0gY29uZmlnOiBgc3RyZWFtV2ViYCBjYW5ub3QgYmUgYSBub24tYm9vbGVhbiB2YWx1ZS4iKTtpZihTLnN0cmVhbVdlYiYmIVMuc3RyZWFtV2ViRm9sZGVyKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJlYW0gY29uZmlnOiBg''@;'; put 'put ''c3RyZWFtV2ViRm9sZGVyYCBjYW5ub3QgYmUgZW1wdHksIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gYHN0cmVhbVdlYmAgaXMgdHJ1ZS4iKTtpZihTLnN0cmVhbVdlYiYmIVMud2ViU291cmNlUGF0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc3RyZWFtIGNvbmZpZzogYHdlYlNvdXJjZVBh''@;'; put 'put ''dGhgIGNhbm5vdCBiZSBlbXB0eSwgbnVsbCBvciB1bmRlZmluZWQuIik7cmV0dXJuIFMuc3RyZWFtTG9nbyYmInN0cmluZyIhPXR5cGVvZiBTLnN0cmVhbUxvZ28mJihTLnN0cmVhbUxvZ289dm9pZCAwKSxTLmFzc2V0UGF0aHN8fChTLmFzc2V0UGF0aHM9W10pLFMuc3RyZWFtU2VydmljZU5h''@;'; put 'put ''bWV8fChTLnN0cmVhbVNlcnZpY2VOYW1lPSJjbGlja21lIiksU30sQS52YWxpZGF0ZUNvbnRleHROYW1lPWZ1bmN0aW9uKFMsbSl7cmV0dXJuIG0hPT1DLlNlcnZlclR5cGUuU2FzVml5YXx8Uz9TOiJTQVMgSm9iIEV4ZWN1dGlvbiBjb21wdXRlIGNvbnRleHQifSxBLnZhbGlkYXRlU2VydmVy''@;'; put 'put ''TmFtZT1mdW5jdGlvbihTLG0pe3JldHVybiBtIT09Qy5TZXJ2ZXJUeXBlLlNhczl8fFM/UzoiU0FTQXBwIn0sQS52YWxpZGF0ZVJlcG9zaXRvcnlOYW1lPWZ1bmN0aW9uKFMsbSl7cmV0dXJuIG0hPT1DLlNlcnZlclR5cGUuU2FzOXx8Uz9TOiJGb3VuZGF0aW9uIn19LDI5Mjc6ZnVuY3Rpb24o''@;'; put 'put ''WixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDg3NjQpLkJ1ZmZlcix6PXRoaXMmJnRoaXMuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihtKXtyZXR1cm4gbSYmbS5fX2VzTW9kdWxlP206e2RlZmF1bHQ6bX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6''@;'; put 'put ''ITB9KSxBLmRlY29kZUZyb21CYXNlNjQ9QS5lbmNvZGVUb0Jhc2U2ND12b2lkIDA7dmFyIEM9eihqKDU4MzUpKSxTPSJ7c2FzanNfZW5jb2RlZH0iO0EuZW5jb2RlVG9CYXNlNjQ9ZnVuY3Rpb24obSl7dmFyIEY9Qy5kZWZhdWx0LnJhbmRvbUJ5dGVzKDEwMCkudG9TdHJpbmcoImhleCIpLEQ9''@;'; put 'put ''Ti5mcm9tKEYrbSkudG9TdHJpbmcoImJhc2U2NCIpO3JldHVybiBTK0R9LEEuZGVjb2RlRnJvbUJhc2U2ND1mdW5jdGlvbihtKXtyZXR1cm4gbS5zdGFydHNXaXRoKFMpPyhtPW0ucmVwbGFjZSgvXntzYXNqc19lbmNvZGVkfS8sIiIpLE4uZnJvbShtLCJiYXNlNjQiKS50b1N0cmluZygpLnN1''@;'; put 'put ''YnN0cmluZygyMDApKTptfX0sNTgxOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmJ5dGVzVG9TaXplPXZvaWQgMCxBLmJ5dGVzVG9TaXplPWZ1bmN0aW9uKGosTix6KXtpZih2b2lkIDA9PT1OJiYoTj0xKSx2''@;'; put 'put ''b2lkIDA9PT16JiYoej0xMDk5NTExNjI3Nzc2KSwwPT09ailyZXR1cm4iMCBCIjtqPWo+ej96Omo7dmFyIEM9TjwwPzA6TixTPU1hdGguZmxvb3IoTWF0aC5sb2coaikvTWF0aC5sb2coMTAyNCkpO3JldHVybihqL01hdGgucG93KDEwMjQsUykpLnRvRml4ZWQoQykrIiAiK1siQiIsIktCIiwi''@;'; put 'put ''TUIiLCJHQiIsIlRCIl1bU119fSw4NjUzOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmNodW5rPXZvaWQgMCxBLmNodW5rPWZ1bmN0aW9uKGosTil7cmV0dXJuIHZvaWQgMD09PU4mJihOPTIyMCksai5sZW5n''@;'; put 'put ''dGg8PU4/W2pdOihqLm1hdGNoKG5ldyBSZWdFeHAoIi57MSwiK04rIn0iLCJnIikpfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKHope3JldHVybiEhen0pfX0sNjQ1NzpmdW5jdGlvbihaLEEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaj10aGlzJiZ0aGlzLl9fcmVhZHx8ZnVuY3Rpb24oeixDKXt2YXIgUz0i''@;'; put 'put ''ZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ6W1N5bWJvbC5pdGVyYXRvcl07aWYoIVMpcmV0dXJuIHo7dmFyIG0sRixEPVMuY2FsbCh6KSx3PVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1DfHxDLS0gPjApJiYhKG09RC5uZXh0KCkpLmRvbmU7KXcucHVzaChtLnZhbHVlKX1jYXRjaChQKXtGPXtl''@;'; put 'put ''cnJvcjpQfX1maW5hbGx5e3RyeXttJiYhbS5kb25lJiYoUz1ELnJldHVybikmJlMuY2FsbChEKX1maW5hbGx5e2lmKEYpdGhyb3cgRi5lcnJvcn19cmV0dXJuIHd9LE49dGhpcyYmdGhpcy5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbih6LEMsUyl7aWYoU3x8Mj09PWFyZ3VtZW50cy5sZW5ndGgp''@;'; put 'put ''Zm9yKHZhciBtLEY9MCxEPUMubGVuZ3RoO0Y8RDtGKyspIW0mJkYgaW4gQ3x8KG18fChtPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKEMsMCxGKSksbVtGXT1DW0ZdKTtyZXR1cm4gei5jb25jYXQobXx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoQykpfTtPYmplY3QuZGVmaW5lUHJv''@;'; put 'put ''cGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5kaWZmPXZvaWQgMCxBLmRpZmY9ZnVuY3Rpb24oeixDKXt2YXIgUz16LmZpbHRlcihmdW5jdGlvbihGKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIEY/IUpTT04uc3RyaW5naWZ5KEMpLmluY2x1ZGVzKEpTT04uc3RyaW5naWZ5KEYp''@;'; put 'put ''KTohQy5pbmNsdWRlcyhGKX0pLG09Qy5maWx0ZXIoZnVuY3Rpb24oRil7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBGPyFKU09OLnN0cmluZ2lmeSh6KS5pbmNsdWRlcyhKU09OLnN0cmluZ2lmeShGKSk6IXouaW5jbHVkZXMoRil9KTtyZXR1cm4gTihOKFtdLGooUyksITEpLGoobSksITEpfX0s''@;'; put 'put ''MTUyOTooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5nZXRFeGVjdXRvclBhdGg9dm9pZCAwO3ZhciBqPXtTQVNWSVlBOiIvU0FTSm9iRXhlY3V0aW9uIixTQVM5OiIvU0FTU3RvcmVkUHJvY2Vzcy9kbyJ9O0Eu''@;'; put 'put ''Z2V0RXhlY3V0b3JQYXRoPWZ1bmN0aW9uKE4pe3JldHVybiBOPyhOPU4udG9VcHBlckNhc2UoKSxqW05dfHwiIik6IiJ9fSwzMzE2OihaLEEsaik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuZ2V0VHJlZUV4YW1wbGU9''@;'; put 'put ''QS5pc0ZpbGVUcmVlPXZvaWQgMDt2YXIgTj1qKDM5MDApO0EuaXNGaWxlVHJlZT1mdW5jdGlvbihtKXtyZXR1cm4gbSYmbS5tZW1iZXJzJiZBcnJheS5pc0FycmF5KG0ubWVtYmVycykmJjA9PT1tLm1lbWJlcnMuZmlsdGVyKGZ1bmN0aW9uKEYpe3JldHVybiF6KEYpJiYhQyhGKSYmIVMoRil9''@;'; put 'put ''KS5sZW5ndGh9O3ZhciB6PWZ1bmN0aW9uKG0pe3JldHVybiBtJiYic3RyaW5nIj09dHlwZW9mIG0ubmFtZSYmbS50eXBlPT09Ti5NZW1iZXJUeXBlLnNlcnZpY2UmJiJzdHJpbmciPT10eXBlb2YgbS5jb2RlfSxDPWZ1bmN0aW9uKG0pe3JldHVybiBtJiYic3RyaW5nIj09dHlwZW9mIG0ubmFt''@;'; put 'put ''ZSYmbS50eXBlPT09Ti5NZW1iZXJUeXBlLmZpbGUmJiJzdHJpbmciPT10eXBlb2YgbS5jb2RlfSxTPWZ1bmN0aW9uKG0pe3JldHVybiBtJiYic3RyaW5nIj09dHlwZW9mIG0ubmFtZSYmbS50eXBlPT09Ti5NZW1iZXJUeXBlLmZvbGRlciYmbS5tZW1iZXJzJiZBcnJheS5pc0FycmF5KG0ubWVt''@;'; put 'put ''YmVycykmJjA9PT1tLm1lbWJlcnMuZmlsdGVyKGZ1bmN0aW9uKEYpe3JldHVybiF6KEYpJiYhQyhGKSYmIVMoRil9KS5sZW5ndGh9O0EuZ2V0VHJlZUV4YW1wbGU9ZnVuY3Rpb24oKXtyZXR1cm57bWVtYmVyczpbe25hbWU6ImpvYnMiLHR5cGU6Ti5NZW1iZXJUeXBlLmZvbGRlcixtZW1iZXJz''@;'; put 'put ''Olt7bmFtZToiZXh0cmFjdCIsdHlwZTpOLk1lbWJlclR5cGUuZm9sZGVyLG1lbWJlcnM6W3tuYW1lOiJtYWtlZGF0YTEiLHR5cGU6Ti5NZW1iZXJUeXBlLnNlcnZpY2UsY29kZToiJXB1dCBIZWxsbyBXb3JsZCE7In1dfV19XX19fSw2MjY2OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7''@;'; put 'put ''dmFyIE49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKE0sayxPLEwpe3ZvaWQgMD09PUwmJihMPU8pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNLEwse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtbT119fSl9OmZ1bmN0aW9u''@;'; put 'put ''KE0sayxPLEwpe3ZvaWQgMD09PUwmJihMPU8pLE1bTF09a1tPXX0pLHo9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKE0sayl7Zm9yKHZhciBPIGluIE0pImRlZmF1bHQiPT09T3x8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGssTyl8fE4oayxNLE8pfTtP''@;'; put 'put ''YmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5jaHVuaz1BLmRpZmY9QS5ieXRlc1RvU2l6ZT1BLmdldEV4ZWN1dG9yUGF0aD1BLmRlY29kZUZyb21CYXNlNjQ9QS5lbmNvZGVUb0Jhc2U2ND1BLnVybE9yaWdpbj1BLmlzV2luZG93cz1BLnVuaXFBcnJh''@;'; put 'put ''eT1BLmFzeW5jRm9yRWFjaD1BLnV1aWR2ND12b2lkIDA7dmFyIEM9aigxMTMxKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwidXVpZHY0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy51dWlkdjR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImFzeW5jRm9yRWFj''@;'; put 'put ''aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMuYXN5bmNGb3JFYWNofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJ1bmlxQXJyYXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBDLnVuaXFBcnJheX19KSxPYmplY3QuZGVmaW5lUHJvcGVy''@;'; put 'put ''dHkoQSwiaXNXaW5kb3dzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy5pc1dpbmRvd3N9fSkseihqKDMzMTYpLEEpO3ZhciBTPWooOTY1Mik7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsInVybE9yaWdpbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0''@;'; put 'put ''dXJuIFMudXJsT3JpZ2lufX0pO3ZhciBtPWooMjkyNyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImVuY29kZVRvQmFzZTY0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbS5lbmNvZGVUb0Jhc2U2NH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiZGVjb2RlRnJv''@;'; put 'put ''bUJhc2U2NCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG0uZGVjb2RlRnJvbUJhc2U2NH19KTt2YXIgRj1qKDE1MjkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJnZXRFeGVjdXRvclBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBGLmdl''@;'; put 'put ''dEV4ZWN1dG9yUGF0aH19KTt2YXIgRD1qKDU4MSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImJ5dGVzVG9TaXplIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRC5ieXRlc1RvU2l6ZX19KTt2YXIgdz1qKDY0NTcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJkaWZm''@;'; put 'put ''Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdy5kaWZmfX0pO3ZhciBQPWooODY1Myk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsImNodW5rIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUC5jaHVua319KX0sOTY1MjooWixBKT0+eyJ1c2Ugc3Ry''@;'; put 'put ''aWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS51cmxPcmlnaW49dm9pZCAwLEEudXJsT3JpZ2luPWZ1bmN0aW9uKGope2lmKCIiPT09ailyZXR1cm4gajt2YXIgTjt0cnl7Tj1uZXcgVVJMKGopLm9yaWdpbn1jYXRjaCh6KXt0aHJvdyBuZXcg''@;'; put 'put ''RXJyb3IoIkludmFsaWQgVVJMLiIpfXJldHVybiBOfX0sMTEzMTpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSksej10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oUyxtLEYsRCl7cmV0dXJuIG5ldyhGfHwoRj1Qcm9taXNlKSkoZnVuY3Rpb24odyxQKXtm''@;'; put 'put ''dW5jdGlvbiBNKEwpe3RyeXtPKEQubmV4dChMKSl9Y2F0Y2goVCl7UChUKX19ZnVuY3Rpb24gayhMKXt0cnl7TyhELnRocm93KEwpKX1jYXRjaChUKXtQKFQpfX1mdW5jdGlvbiBPKEwpe3ZhciBUO0wuZG9uZT93KEwudmFsdWUpOihUPUwudmFsdWUsVCBpbnN0YW5jZW9mIEY/VDpuZXcgRihm''@;'; put 'put ''dW5jdGlvbihZKXtZKFQpfSkpLnRoZW4oTSxrKX1PKChEPUQuYXBwbHkoUyxtfHxbXSkpLm5leHQoKSl9KX0sQz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihTLG0pe3ZhciBGLEQsdyxQLE09e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmd1swXSl0aHJvdyB3WzFdO3Jl''@;'; put 'put ''dHVybiB3WzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFA9e25leHQ6aygwKSx0aHJvdzprKDEpLHJldHVybjprKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoUFtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxQO2Z1bmN0aW9uIGsoTyl7cmV0dXJu''@;'; put 'put ''IGZ1bmN0aW9uKEwpe3JldHVybiBmdW5jdGlvbihUKXtpZihGKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO007KXRyeXtpZihGPTEsRCYmKHc9MiZUWzBdP0QucmV0dXJuOlRbMF0/RC50aHJvd3x8KCh3PUQucmV0dXJuKSYmdy5j''@;'; put 'put ''YWxsKEQpLDApOkQubmV4dCkmJiEodz13LmNhbGwoRCxUWzFdKSkuZG9uZSlyZXR1cm4gdztzd2l0Y2goRD0wLHcmJihUPVsyJlRbMF0sdy52YWx1ZV0pLFRbMF0pe2Nhc2UgMDpjYXNlIDE6dz1UO2JyZWFrO2Nhc2UgNDpyZXR1cm4gTS5sYWJlbCsrLHt2YWx1ZTpUWzFdLGRvbmU6ITF9O2Nh''@;'; put 'put ''c2UgNTpNLmxhYmVsKyssRD1UWzFdLFQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpUPU0ub3BzLnBvcCgpLE0udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKHc9KHc9TS50cnlzKS5sZW5ndGg+MCYmd1t3Lmxlbmd0aC0xXSl8fDYhPT1UWzBdJiYyIT09VFswXSkpe009MDtjb250aW51''@;'; put 'put ''ZX1pZigzPT09VFswXSYmKCF3fHxUWzFdPndbMF0mJlRbMV08d1szXSkpe00ubGFiZWw9VFsxXTticmVha31pZig2PT09VFswXSYmTS5sYWJlbDx3WzFdKXtNLmxhYmVsPXdbMV0sdz1UO2JyZWFrfWlmKHcmJk0ubGFiZWw8d1syXSl7TS5sYWJlbD13WzJdLE0ub3BzLnB1c2goVCk7YnJlYWt9''@;'; put 'put ''d1syXSYmTS5vcHMucG9wKCksTS50cnlzLnBvcCgpO2NvbnRpbnVlfVQ9bS5jYWxsKFMsTSl9Y2F0Y2goWSl7VD1bNixZXSxEPTB9ZmluYWxseXtGPXc9MH1pZig1JlRbMF0pdGhyb3cgVFsxXTtyZXR1cm57dmFsdWU6VFswXT9UWzFdOnZvaWQgMCxkb25lOiEwfX0oW08sTF0pfX19O09iamVj''@;'; put 'put ''dC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmlzV2luZG93cz1BLnVuaXFBcnJheT1BLnV1aWR2ND1BLmFzeW5jRm9yRWFjaD12b2lkIDAsQS5hc3luY0ZvckVhY2g9ZnVuY3Rpb24oUyxtKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24o''@;'; put 'put ''KXt2YXIgRjtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKEQpe3N3aXRjaChELmxhYmVsKXtjYXNlIDA6Rj0wLEQubGFiZWw9MTtjYXNlIDE6cmV0dXJuIEY8Uy5sZW5ndGg/WzQsbShTW0ZdLEYsUyldOlszLDRdO2Nhc2UgMjpELnNlbnQoKSxELmxhYmVsPTM7Y2FzZSAzOnJldHVybiBGKyssWzMs''@;'; put 'put ''MV07Y2FzZSA0OnJldHVyblsyXX19KX0pfSxBLnV1aWR2ND1mdW5jdGlvbigpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZyxmdW5jdGlvbihTKXt2YXIgbT0xNipNYXRoLnJhbmRvbSgpfDA7cmV0dXJuKCJ4Ij09Uz9tOjMmbXw4''@;'; put 'put ''KS50b1N0cmluZygxNil9KX0sQS51bmlxQXJyYXk9ZnVuY3Rpb24oUyl7cmV0dXJuIEFycmF5LmZyb20obmV3IFNldChTKSl9LEEuaXNXaW5kb3dzPWZ1bmN0aW9uKCl7cmV0dXJuIndpbjMyIj09PU4ucGxhdGZvcm19fSw5ODA5OihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1BO04u''@;'; put 'put ''YmlnbnVtPWooNDU5MCksTi5kZWZpbmU9aigyNTAwKS5kZWZpbmUsTi5iYXNlPWooMTk3OSksTi5jb25zdGFudHM9aig2ODI2KSxOLmRlY29kZXJzPWooODMwNyksTi5lbmNvZGVycz1qKDY1NzkpfSwyNTAwOihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDY1NzkpLHo9aig4MzA3''@;'; put 'put ''KSxDPWooNTcxNyk7ZnVuY3Rpb24gUyhtLEYpe3RoaXMubmFtZT1tLHRoaXMuYm9keT1GLHRoaXMuZGVjb2RlcnM9e30sdGhpcy5lbmNvZGVycz17fX1BLmRlZmluZT1mdW5jdGlvbihtLEYpe3JldHVybiBuZXcgUyhtLEYpfSxTLnByb3RvdHlwZS5fY3JlYXRlTmFtZWQ9ZnVuY3Rpb24obSl7''@;'; put 'put ''Y29uc3QgRj10aGlzLm5hbWU7ZnVuY3Rpb24gRCh3KXt0aGlzLl9pbml0TmFtZWQodyxGKX1yZXR1cm4gQyhELG0pLEQucHJvdG90eXBlLl9pbml0TmFtZWQ9ZnVuY3Rpb24odyxQKXttLmNhbGwodGhpcyx3LFApfSxuZXcgRCh0aGlzKX0sUy5wcm90b3R5cGUuX2dldERlY29kZXI9ZnVuY3Rp''@;'; put 'put ''b24obSl7cmV0dXJuIHRoaXMuZGVjb2RlcnMuaGFzT3duUHJvcGVydHkobT1tfHwiZGVyIil8fCh0aGlzLmRlY29kZXJzW21dPXRoaXMuX2NyZWF0ZU5hbWVkKHpbbV0pKSx0aGlzLmRlY29kZXJzW21dfSxTLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24obSxGLEQpe3JldHVybiB0aGlzLl9n''@;'; put 'put ''ZXREZWNvZGVyKEYpLmRlY29kZShtLEQpfSxTLnByb3RvdHlwZS5fZ2V0RW5jb2Rlcj1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy5lbmNvZGVycy5oYXNPd25Qcm9wZXJ0eShtPW18fCJkZXIiKXx8KHRoaXMuZW5jb2RlcnNbbV09dGhpcy5fY3JlYXRlTmFtZWQoTlttXSkpLHRoaXMuZW5jb2Rl''@;'; put 'put ''cnNbbV19LFMucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbihtLEYsRCl7cmV0dXJuIHRoaXMuX2dldEVuY29kZXIoRikuZW5jb2RlKG0sRCl9fSw2NjI1OihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDU3MTcpLHo9aig4NDY1KS5iLEM9aigyMzk5KS5CdWZmZXI7ZnVuY3Rpb24g''@;'; put 'put ''UyhGLEQpe3ouY2FsbCh0aGlzLEQpLEMuaXNCdWZmZXIoRik/KHRoaXMuYmFzZT1GLHRoaXMub2Zmc2V0PTAsdGhpcy5sZW5ndGg9Ri5sZW5ndGgpOnRoaXMuZXJyb3IoIklucHV0IG5vdCBCdWZmZXIiKX1mdW5jdGlvbiBtKEYsRCl7aWYoQXJyYXkuaXNBcnJheShGKSl0aGlzLmxlbmd0aD0w''@;'; put 'put ''LHRoaXMudmFsdWU9Ri5tYXAoZnVuY3Rpb24odyl7cmV0dXJuIG0uaXNFbmNvZGVyQnVmZmVyKHcpfHwodz1uZXcgbSh3LEQpKSx0aGlzLmxlbmd0aCs9dy5sZW5ndGgsd30sdGhpcyk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIEYpe2lmKCEoMDw9RiYmRjw9MjU1KSlyZXR1cm4gRC5lcnJv''@;'; put 'put ''cigibm9uLWJ5dGUgRW5jb2RlckJ1ZmZlciB2YWx1ZSIpO3RoaXMudmFsdWU9Rix0aGlzLmxlbmd0aD0xfWVsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBGKXRoaXMudmFsdWU9Rix0aGlzLmxlbmd0aD1DLmJ5dGVMZW5ndGgoRik7ZWxzZXtpZighQy5pc0J1ZmZlcihGKSlyZXR1cm4gRC5lcnJv''@;'; put 'put ''cigiVW5zdXBwb3J0ZWQgdHlwZTogIit0eXBlb2YgRik7dGhpcy52YWx1ZT1GLHRoaXMubGVuZ3RoPUYubGVuZ3RofX1OKFMseiksQS5DPVMsUy5pc0RlY29kZXJCdWZmZXI9ZnVuY3Rpb24oRil7cmV0dXJuIEYgaW5zdGFuY2VvZiBTfHwib2JqZWN0Ij09dHlwZW9mIEYmJkMuaXNCdWZmZXIo''@;'; put 'put ''Ri5iYXNlKSYmIkRlY29kZXJCdWZmZXIiPT09Ri5jb25zdHJ1Y3Rvci5uYW1lJiYibnVtYmVyIj09dHlwZW9mIEYub2Zmc2V0JiYibnVtYmVyIj09dHlwZW9mIEYubGVuZ3RoJiYiZnVuY3Rpb24iPT10eXBlb2YgRi5zYXZlJiYiZnVuY3Rpb24iPT10eXBlb2YgRi5yZXN0b3JlJiYiZnVuY3Rp''@;'; put 'put ''b24iPT10eXBlb2YgRi5pc0VtcHR5JiYiZnVuY3Rpb24iPT10eXBlb2YgRi5yZWFkVUludDgmJiJmdW5jdGlvbiI9PXR5cGVvZiBGLnNraXAmJiJmdW5jdGlvbiI9PXR5cGVvZiBGLnJhd30sUy5wcm90b3R5cGUuc2F2ZT1mdW5jdGlvbigpe3JldHVybntvZmZzZXQ6dGhpcy5vZmZzZXQscmVw''@;'; put 'put ''b3J0ZXI6ei5wcm90b3R5cGUuc2F2ZS5jYWxsKHRoaXMpfX0sUy5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbihGKXtjb25zdCBEPW5ldyBTKHRoaXMuYmFzZSk7cmV0dXJuIEQub2Zmc2V0PUYub2Zmc2V0LEQubGVuZ3RoPXRoaXMub2Zmc2V0LHRoaXMub2Zmc2V0PUYub2Zmc2V0LHoucHJv''@;'; put 'put ''dG90eXBlLnJlc3RvcmUuY2FsbCh0aGlzLEYucmVwb3J0ZXIpLER9LFMucHJvdG90eXBlLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vZmZzZXQ9PT10aGlzLmxlbmd0aH0sUy5wcm90b3R5cGUucmVhZFVJbnQ4PWZ1bmN0aW9uKEYpe3JldHVybiB0aGlzLm9mZnNldCsxPD10aGlz''@;'; put 'put ''Lmxlbmd0aD90aGlzLmJhc2UucmVhZFVJbnQ4KHRoaXMub2Zmc2V0KyssITApOnRoaXMuZXJyb3IoRnx8IkRlY29kZXJCdWZmZXIgb3ZlcnJ1biIpfSxTLnByb3RvdHlwZS5za2lwPWZ1bmN0aW9uKEYsRCl7aWYoISh0aGlzLm9mZnNldCtGPD10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXMuZXJy''@;'; put 'put ''b3IoRHx8IkRlY29kZXJCdWZmZXIgb3ZlcnJ1biIpO2NvbnN0IHc9bmV3IFModGhpcy5iYXNlKTtyZXR1cm4gdy5fcmVwb3J0ZXJTdGF0ZT10aGlzLl9yZXBvcnRlclN0YXRlLHcub2Zmc2V0PXRoaXMub2Zmc2V0LHcubGVuZ3RoPXRoaXMub2Zmc2V0K0YsdGhpcy5vZmZzZXQrPUYsd30sUy5w''@;'; put 'put ''cm90b3R5cGUucmF3PWZ1bmN0aW9uKEYpe3JldHVybiB0aGlzLmJhc2Uuc2xpY2UoRj9GLm9mZnNldDp0aGlzLm9mZnNldCx0aGlzLmxlbmd0aCl9LEEuUj1tLG0uaXNFbmNvZGVyQnVmZmVyPWZ1bmN0aW9uKEYpe3JldHVybiBGIGluc3RhbmNlb2YgbXx8Im9iamVjdCI9PXR5cGVvZiBGJiYi''@;'; put 'put ''RW5jb2RlckJ1ZmZlciI9PT1GLmNvbnN0cnVjdG9yLm5hbWUmJiJudW1iZXIiPT10eXBlb2YgRi5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBGLmpvaW59LG0ucHJvdG90eXBlLmpvaW49ZnVuY3Rpb24oRixEKXtyZXR1cm4gRnx8KEY9Qy5hbGxvYyh0aGlzLmxlbmd0aCkpLER8fChEPTAp''@;'; put 'put ''LDA9PT10aGlzLmxlbmd0aHx8KEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSk/dGhpcy52YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHcpe3cuam9pbihGLEQpLEQrPXcubGVuZ3RofSk6KCJudW1iZXIiPT10eXBlb2YgdGhpcy52YWx1ZT9GW0RdPXRoaXMudmFsdWU6InN0cmluZyI9PXR5cGVvZiB0''@;'; put 'put ''aGlzLnZhbHVlP0Yud3JpdGUodGhpcy52YWx1ZSxEKTpDLmlzQnVmZmVyKHRoaXMudmFsdWUpJiZ0aGlzLnZhbHVlLmNvcHkoRixEKSxEKz10aGlzLmxlbmd0aCkpLEZ9fSwxOTc5OihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1BO04uUmVwb3J0ZXI9aig4NDY1KS5iLE4uRGVjb2Rl''@;'; put 'put ''ckJ1ZmZlcj1qKDY2MjUpLkMsTi5FbmNvZGVyQnVmZmVyPWooNjYyNSkuUixOLk5vZGU9aigxOTQ5KX0sMTk0OTooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49aig4NDY1KS5iLHo9aig2NjI1KS5SLEM9aig2NjI1KS5DLFM9aig5NzQ2KSxtPVsic2VxIiwic2Vxb2YiLCJzZXQiLCJz''@;'; put 'put ''ZXRvZiIsIm9iamlkIiwiYm9vbCIsImdlbnRpbWUiLCJ1dGN0aW1lIiwibnVsbF8iLCJlbnVtIiwiaW50Iiwib2JqRGVzYyIsImJpdHN0ciIsImJtcHN0ciIsImNoYXJzdHIiLCJnZW5zdHIiLCJncmFwaHN0ciIsImlhNXN0ciIsImlzbzY0NnN0ciIsIm51bXN0ciIsIm9jdHN0ciIsInByaW50''@;'; put 'put ''c3RyIiwidDYxc3RyIiwidW5pc3RyIiwidXRmOHN0ciIsInZpZGVvc3RyIl0sRj1bImtleSIsIm9iaiIsInVzZSIsIm9wdGlvbmFsIiwiZXhwbGljaXQiLCJpbXBsaWNpdCIsImRlZiIsImNob2ljZSIsImFueSIsImNvbnRhaW5zIl0uY29uY2F0KG0pO2Z1bmN0aW9uIEQoUCxNLGspe2NvbnN0''@;'; put 'put ''IE89e307dGhpcy5fYmFzZVN0YXRlPU8sTy5uYW1lPWssTy5lbmM9UCxPLnBhcmVudD1NfHxudWxsLE8uY2hpbGRyZW49bnVsbCxPLnRhZz1udWxsLE8uYXJncz1udWxsLE8ucmV2ZXJzZUFyZ3M9bnVsbCxPLmNob2ljZT1udWxsLE8ub3B0aW9uYWw9ITEsTy5hbnk9ITEsTy5vYmo9ITEsTy51''@;'; put 'put ''c2U9bnVsbCxPLnVzZURlY29kZXI9bnVsbCxPLmtleT1udWxsLE8uZGVmYXVsdD1udWxsLE8uZXhwbGljaXQ9bnVsbCxPLmltcGxpY2l0PW51bGwsTy5jb250YWlucz1udWxsLE8ucGFyZW50fHwoTy5jaGlsZHJlbj1bXSx0aGlzLl93cmFwKCkpfVouZXhwb3J0cz1EO2NvbnN0IHc9WyJlbmMi''@;'; put 'put ''LCJwYXJlbnQiLCJjaGlsZHJlbiIsInRhZyIsImFyZ3MiLCJyZXZlcnNlQXJncyIsImNob2ljZSIsIm9wdGlvbmFsIiwiYW55Iiwib2JqIiwidXNlIiwiYWx0ZXJlZFVzZSIsImtleSIsImRlZmF1bHQiLCJleHBsaWNpdCIsImltcGxpY2l0IiwiY29udGFpbnMiXTtELnByb3RvdHlwZS5jbG9u''@;'; put 'put ''ZT1mdW5jdGlvbigpe2NvbnN0IFA9dGhpcy5fYmFzZVN0YXRlLE09e307dy5mb3JFYWNoKGZ1bmN0aW9uKE8pe01bT109UFtPXX0pO2NvbnN0IGs9bmV3IHRoaXMuY29uc3RydWN0b3IoTS5wYXJlbnQpO3JldHVybiBrLl9iYXNlU3RhdGU9TSxrfSxELnByb3RvdHlwZS5fd3JhcD1mdW5jdGlv''@;'; put 'put ''bigpe2NvbnN0IFA9dGhpcy5fYmFzZVN0YXRlO0YuZm9yRWFjaChmdW5jdGlvbihNKXt0aGlzW01dPWZ1bmN0aW9uKCl7Y29uc3Qgaz1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtyZXR1cm4gUC5jaGlsZHJlbi5wdXNoKGspLGtbTV0uYXBwbHkoayxhcmd1bWVudHMpfX0sdGhpcyl9LEQu''@;'; put 'put ''cHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKFApe2NvbnN0IE09dGhpcy5fYmFzZVN0YXRlO1MobnVsbD09PU0ucGFyZW50KSxQLmNhbGwodGhpcyksTS5jaGlsZHJlbj1NLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihrKXtyZXR1cm4gay5fYmFzZVN0YXRlLnBhcmVudD09PXRoaXN9LHRoaXMp''@;'; put 'put ''LFMuZXF1YWwoTS5jaGlsZHJlbi5sZW5ndGgsMSwiUm9vdCBub2RlIGNhbiBoYXZlIG9ubHkgb25lIGNoaWxkIil9LEQucHJvdG90eXBlLl91c2VBcmdzPWZ1bmN0aW9uKFApe2NvbnN0IE09dGhpcy5fYmFzZVN0YXRlLGs9UC5maWx0ZXIoZnVuY3Rpb24oTyl7cmV0dXJuIE8gaW5zdGFuY2Vv''@;'; put 'put ''ZiB0aGlzLmNvbnN0cnVjdG9yfSx0aGlzKTtQPVAuZmlsdGVyKGZ1bmN0aW9uKE8pe3JldHVybiEoTyBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3IpfSx0aGlzKSwwIT09ay5sZW5ndGgmJihTKG51bGw9PT1NLmNoaWxkcmVuKSxNLmNoaWxkcmVuPWssay5mb3JFYWNoKGZ1bmN0aW9uKE8p''@;'; put 'put ''e08uX2Jhc2VTdGF0ZS5wYXJlbnQ9dGhpc30sdGhpcykpLDAhPT1QLmxlbmd0aCYmKFMobnVsbD09PU0uYXJncyksTS5hcmdzPVAsTS5yZXZlcnNlQXJncz1QLm1hcChmdW5jdGlvbihPKXtpZigib2JqZWN0IiE9dHlwZW9mIE98fE8uY29uc3RydWN0b3IhPT1PYmplY3QpcmV0dXJuIE87Y29u''@;'; put 'put ''c3QgTD17fTtyZXR1cm4gT2JqZWN0LmtleXMoTykuZm9yRWFjaChmdW5jdGlvbihUKXtUPT0oMHxUKSYmKFR8PTApLExbT1tUXV09VH0pLEx9KSl9LFsiX3BlZWtUYWciLCJfZGVjb2RlVGFnIiwiX3VzZSIsIl9kZWNvZGVTdHIiLCJfZGVjb2RlT2JqaWQiLCJfZGVjb2RlVGltZSIsIl9kZWNv''@;'; put 'put ''ZGVOdWxsIiwiX2RlY29kZUludCIsIl9kZWNvZGVCb29sIiwiX2RlY29kZUxpc3QiLCJfZW5jb2RlQ29tcG9zaXRlIiwiX2VuY29kZVN0ciIsIl9lbmNvZGVPYmppZCIsIl9lbmNvZGVUaW1lIiwiX2VuY29kZU51bGwiLCJfZW5jb2RlSW50IiwiX2VuY29kZUJvb2wiXS5mb3JFYWNoKGZ1bmN0''@;'; put 'put ''aW9uKFApe0QucHJvdG90eXBlW1BdPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFArIiBub3QgaW1wbGVtZW50ZWQgZm9yIGVuY29kaW5nOiAiK3RoaXMuX2Jhc2VTdGF0ZS5lbmMpfX0pLG0uZm9yRWFjaChmdW5jdGlvbihQKXtELnByb3RvdHlwZVtQXT1mdW5jdGlvbigpe2NvbnN0IE09''@;'; put 'put ''dGhpcy5fYmFzZVN0YXRlLGs9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gUyhudWxsPT09TS50YWcpLE0udGFnPVAsdGhpcy5fdXNlQXJncyhrKSx0aGlzfX0pLEQucHJvdG90eXBlLnVzZT1mdW5jdGlvbihQKXtTKFApO2NvbnN0IE09dGhpcy5fYmFzZVN0''@;'; put 'put ''YXRlO3JldHVybiBTKG51bGw9PT1NLnVzZSksTS51c2U9UCx0aGlzfSxELnByb3RvdHlwZS5vcHRpb25hbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iYXNlU3RhdGUub3B0aW9uYWw9ITAsdGhpc30sRC5wcm90b3R5cGUuZGVmPWZ1bmN0aW9uKFApe2NvbnN0IE09dGhpcy5fYmFzZVN0YXRl''@;'; put 'put ''O3JldHVybiBTKG51bGw9PT1NLmRlZmF1bHQpLE0uZGVmYXVsdD1QLE0ub3B0aW9uYWw9ITAsdGhpc30sRC5wcm90b3R5cGUuZXhwbGljaXQ9ZnVuY3Rpb24oUCl7Y29uc3QgTT10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIFMobnVsbD09PU0uZXhwbGljaXQmJm51bGw9PT1NLmltcGxpY2l0KSxN''@;'; put 'put ''LmV4cGxpY2l0PVAsdGhpc30sRC5wcm90b3R5cGUuaW1wbGljaXQ9ZnVuY3Rpb24oUCl7Y29uc3QgTT10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIFMobnVsbD09PU0uZXhwbGljaXQmJm51bGw9PT1NLmltcGxpY2l0KSxNLmltcGxpY2l0PVAsdGhpc30sRC5wcm90b3R5cGUub2JqPWZ1bmN0aW9u''@;'; put 'put ''KCl7Y29uc3QgUD10aGlzLl9iYXNlU3RhdGUsTT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiBQLm9iaj0hMCwwIT09TS5sZW5ndGgmJnRoaXMuX3VzZUFyZ3MoTSksdGhpc30sRC5wcm90b3R5cGUua2V5PWZ1bmN0aW9uKFApe2NvbnN0IE09dGhpcy5fYmFz''@;'; put 'put ''ZVN0YXRlO3JldHVybiBTKG51bGw9PT1NLmtleSksTS5rZXk9UCx0aGlzfSxELnByb3RvdHlwZS5hbnk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFzZVN0YXRlLmFueT0hMCx0aGlzfSxELnByb3RvdHlwZS5jaG9pY2U9ZnVuY3Rpb24oUCl7Y29uc3QgTT10aGlzLl9iYXNlU3RhdGU7cmV0''@;'; put 'put ''dXJuIFMobnVsbD09PU0uY2hvaWNlKSxNLmNob2ljZT1QLHRoaXMuX3VzZUFyZ3MoT2JqZWN0LmtleXMoUCkubWFwKGZ1bmN0aW9uKGspe3JldHVybiBQW2tdfSkpLHRoaXN9LEQucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKFApe2NvbnN0IE09dGhpcy5fYmFzZVN0YXRlO3JldHVybiBT''@;'; put 'put ''KG51bGw9PT1NLnVzZSksTS5jb250YWlucz1QLHRoaXN9LEQucHJvdG90eXBlLl9kZWNvZGU9ZnVuY3Rpb24oUCxNKXtjb25zdCBrPXRoaXMuX2Jhc2VTdGF0ZTtpZihudWxsPT09ay5wYXJlbnQpcmV0dXJuIFAud3JhcFJlc3VsdChrLmNoaWxkcmVuWzBdLl9kZWNvZGUoUCxNKSk7bGV0IE8s''@;'; put 'put ''TD1rLmRlZmF1bHQsVD0hMCxZPW51bGw7aWYobnVsbCE9PWsua2V5JiYoWT1QLmVudGVyS2V5KGsua2V5KSksay5vcHRpb25hbCl7bGV0IEk9bnVsbDtpZihudWxsIT09ay5leHBsaWNpdD9JPWsuZXhwbGljaXQ6bnVsbCE9PWsuaW1wbGljaXQ/ST1rLmltcGxpY2l0Om51bGwhPT1rLnRhZyYm''@;'; put 'put ''KEk9ay50YWcpLG51bGwhPT1JfHxrLmFueSl7aWYoVD10aGlzLl9wZWVrVGFnKFAsSSxrLmFueSksUC5pc0Vycm9yKFQpKXJldHVybiBUfWVsc2V7Y29uc3QgVT1QLnNhdmUoKTt0cnl7bnVsbD09PWsuY2hvaWNlP3RoaXMuX2RlY29kZUdlbmVyaWMoay50YWcsUCxNKTp0aGlzLl9kZWNvZGVD''@;'; put 'put ''aG9pY2UoUCxNKSxUPSEwfWNhdGNoKFYpe1Q9ITF9UC5yZXN0b3JlKFUpfX1pZihrLm9iaiYmVCYmKE89UC5lbnRlck9iamVjdCgpKSxUKXtpZihudWxsIT09ay5leHBsaWNpdCl7Y29uc3QgVT10aGlzLl9kZWNvZGVUYWcoUCxrLmV4cGxpY2l0KTtpZihQLmlzRXJyb3IoVSkpcmV0dXJuIFU7''@;'; put 'put ''UD1VfWNvbnN0IEk9UC5vZmZzZXQ7aWYobnVsbD09PWsudXNlJiZudWxsPT09ay5jaG9pY2Upe2xldCBVO2suYW55JiYoVT1QLnNhdmUoKSk7Y29uc3QgVj10aGlzLl9kZWNvZGVUYWcoUCxudWxsIT09ay5pbXBsaWNpdD9rLmltcGxpY2l0OmsudGFnLGsuYW55KTtpZihQLmlzRXJyb3IoVikp''@;'; put 'put ''cmV0dXJuIFY7ay5hbnk/TD1QLnJhdyhVKTpQPVZ9aWYoTSYmTS50cmFjayYmbnVsbCE9PWsudGFnJiZNLnRyYWNrKFAucGF0aCgpLEksUC5sZW5ndGgsInRhZ2dlZCIpLE0mJk0udHJhY2smJm51bGwhPT1rLnRhZyYmTS50cmFjayhQLnBhdGgoKSxQLm9mZnNldCxQLmxlbmd0aCwiY29udGVu''@;'; put 'put ''dCIpLGsuYW55fHwoTD1udWxsPT09ay5jaG9pY2U/dGhpcy5fZGVjb2RlR2VuZXJpYyhrLnRhZyxQLE0pOnRoaXMuX2RlY29kZUNob2ljZShQLE0pKSxQLmlzRXJyb3IoTCkpcmV0dXJuIEw7aWYoay5hbnl8fG51bGwhPT1rLmNob2ljZXx8bnVsbD09PWsuY2hpbGRyZW58fGsuY2hpbGRyZW4u''@;'; put 'put ''Zm9yRWFjaChmdW5jdGlvbihVKXtVLl9kZWNvZGUoUCxNKX0pLGsuY29udGFpbnMmJigib2N0c3RyIj09PWsudGFnfHwiYml0c3RyIj09PWsudGFnKSl7Y29uc3QgVT1uZXcgQyhMKTtMPXRoaXMuX2dldFVzZShrLmNvbnRhaW5zLFAuX3JlcG9ydGVyU3RhdGUub2JqKS5fZGVjb2RlKFUsTSl9''@;'; put 'put ''fXJldHVybiBrLm9iaiYmVCYmKEw9UC5sZWF2ZU9iamVjdChPKSksbnVsbD09PWsua2V5fHxudWxsPT09TCYmITAhPT1UP251bGwhPT1ZJiZQLmV4aXRLZXkoWSk6UC5sZWF2ZUtleShZLGsua2V5LEwpLEx9LEQucHJvdG90eXBlLl9kZWNvZGVHZW5lcmljPWZ1bmN0aW9uKFAsTSxrKXtjb25z''@;'; put 'put ''dCBPPXRoaXMuX2Jhc2VTdGF0ZTtyZXR1cm4ic2VxIj09PVB8fCJzZXQiPT09UD9udWxsOiJzZXFvZiI9PT1QfHwic2V0b2YiPT09UD90aGlzLl9kZWNvZGVMaXN0KE0sUCxPLmFyZ3NbMF0sayk6L3N0ciQvLnRlc3QoUCk/dGhpcy5fZGVjb2RlU3RyKE0sUCxrKToib2JqaWQiPT09UCYmTy5h''@;'; put 'put ''cmdzP3RoaXMuX2RlY29kZU9iamlkKE0sTy5hcmdzWzBdLE8uYXJnc1sxXSxrKToib2JqaWQiPT09UD90aGlzLl9kZWNvZGVPYmppZChNLG51bGwsbnVsbCxrKToiZ2VudGltZSI9PT1QfHwidXRjdGltZSI9PT1QP3RoaXMuX2RlY29kZVRpbWUoTSxQLGspOiJudWxsXyI9PT1QP3RoaXMuX2Rl''@;'; put 'put ''Y29kZU51bGwoTSxrKToiYm9vbCI9PT1QP3RoaXMuX2RlY29kZUJvb2woTSxrKToib2JqRGVzYyI9PT1QP3RoaXMuX2RlY29kZVN0cihNLFAsayk6ImludCI9PT1QfHwiZW51bSI9PT1QP3RoaXMuX2RlY29kZUludChNLE8uYXJncyYmTy5hcmdzWzBdLGspOm51bGwhPT1PLnVzZT90aGlzLl9n''@;'; put 'put ''ZXRVc2UoTy51c2UsTS5fcmVwb3J0ZXJTdGF0ZS5vYmopLl9kZWNvZGUoTSxrKTpNLmVycm9yKCJ1bmtub3duIHRhZzogIitQKX0sRC5wcm90b3R5cGUuX2dldFVzZT1mdW5jdGlvbihQLE0pe2NvbnN0IGs9dGhpcy5fYmFzZVN0YXRlO3JldHVybiBrLnVzZURlY29kZXI9dGhpcy5fdXNlKFAs''@;'; put 'put ''TSksUyhudWxsPT09ay51c2VEZWNvZGVyLl9iYXNlU3RhdGUucGFyZW50KSxrLnVzZURlY29kZXI9ay51c2VEZWNvZGVyLl9iYXNlU3RhdGUuY2hpbGRyZW5bMF0say5pbXBsaWNpdCE9PWsudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0JiYoay51c2VEZWNvZGVyPWsudXNlRGVjb2Rl''@;'; put 'put ''ci5jbG9uZSgpLGsudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0PWsuaW1wbGljaXQpLGsudXNlRGVjb2Rlcn0sRC5wcm90b3R5cGUuX2RlY29kZUNob2ljZT1mdW5jdGlvbihQLE0pe2NvbnN0IGs9dGhpcy5fYmFzZVN0YXRlO2xldCBPPW51bGwsTD0hMTtyZXR1cm4gT2JqZWN0Lmtl''@;'; put 'put ''eXMoay5jaG9pY2UpLnNvbWUoZnVuY3Rpb24oVCl7Y29uc3QgWT1QLnNhdmUoKSxJPWsuY2hvaWNlW1RdO3RyeXtjb25zdCBVPUkuX2RlY29kZShQLE0pO2lmKFAuaXNFcnJvcihVKSlyZXR1cm4hMTtPPXt0eXBlOlQsdmFsdWU6VX0sTD0hMH1jYXRjaChVKXtyZXR1cm4gUC5yZXN0b3JlKFkp''@;'; put 'put ''LCExfXJldHVybiEwfSx0aGlzKSxMP086UC5lcnJvcigiQ2hvaWNlIG5vdCBtYXRjaGVkIil9LEQucHJvdG90eXBlLl9jcmVhdGVFbmNvZGVyQnVmZmVyPWZ1bmN0aW9uKFApe3JldHVybiBuZXcgeihQLHRoaXMucmVwb3J0ZXIpfSxELnByb3RvdHlwZS5fZW5jb2RlPWZ1bmN0aW9uKFAsTSxr''@;'; put 'put ''KXtjb25zdCBPPXRoaXMuX2Jhc2VTdGF0ZTtpZihudWxsIT09Ty5kZWZhdWx0JiZPLmRlZmF1bHQ9PT1QKXJldHVybjtjb25zdCBMPXRoaXMuX2VuY29kZVZhbHVlKFAsTSxrKTtyZXR1cm4gdm9pZCAwPT09THx8dGhpcy5fc2tpcERlZmF1bHQoTCxNLGspP3ZvaWQgMDpMfSxELnByb3RvdHlw''@;'; put 'put ''ZS5fZW5jb2RlVmFsdWU9ZnVuY3Rpb24oUCxNLGspe2NvbnN0IE89dGhpcy5fYmFzZVN0YXRlO2lmKG51bGw9PT1PLnBhcmVudClyZXR1cm4gTy5jaGlsZHJlblswXS5fZW5jb2RlKFAsTXx8bmV3IE4pO2xldCBMPW51bGw7aWYodGhpcy5yZXBvcnRlcj1NLE8ub3B0aW9uYWwmJnZvaWQgMD09''@;'; put 'put ''PVApe2lmKG51bGw9PT1PLmRlZmF1bHQpcmV0dXJuO1A9Ty5kZWZhdWx0fWxldCBUPW51bGwsWT0hMTtpZihPLmFueSlMPXRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoUCk7ZWxzZSBpZihPLmNob2ljZSlMPXRoaXMuX2VuY29kZUNob2ljZShQLE0pO2Vsc2UgaWYoTy5jb250YWlucylUPXRo''@;'; put 'put ''aXMuX2dldFVzZShPLmNvbnRhaW5zLGspLl9lbmNvZGUoUCxNKSxZPSEwO2Vsc2UgaWYoTy5jaGlsZHJlbilUPU8uY2hpbGRyZW4ubWFwKGZ1bmN0aW9uKEkpe2lmKCJudWxsXyI9PT1JLl9iYXNlU3RhdGUudGFnKXJldHVybiBJLl9lbmNvZGUobnVsbCxNLFApO2lmKG51bGw9PT1JLl9iYXNl''@;'; put 'put ''U3RhdGUua2V5KXJldHVybiBNLmVycm9yKCJDaGlsZCBzaG91bGQgaGF2ZSBhIGtleSIpO2NvbnN0IFU9TS5lbnRlcktleShJLl9iYXNlU3RhdGUua2V5KTtpZigib2JqZWN0IiE9dHlwZW9mIFApcmV0dXJuIE0uZXJyb3IoIkNoaWxkIGV4cGVjdGVkLCBidXQgaW5wdXQgaXMgbm90IG9iamVj''@;'; put 'put ''dCIpO2NvbnN0IFY9SS5fZW5jb2RlKFBbSS5fYmFzZVN0YXRlLmtleV0sTSxQKTtyZXR1cm4gTS5sZWF2ZUtleShVKSxWfSx0aGlzKS5maWx0ZXIoZnVuY3Rpb24oSSl7cmV0dXJuIEl9KSxUPXRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoVCk7ZWxzZSBpZigic2Vxb2YiPT09Ty50YWd8fCJz''@;'; put 'put ''ZXRvZiI9PT1PLnRhZyl7aWYoIU8uYXJnc3x8MSE9PU8uYXJncy5sZW5ndGgpcmV0dXJuIE0uZXJyb3IoIlRvbyBtYW55IGFyZ3MgZm9yIDogIitPLnRhZyk7aWYoIUFycmF5LmlzQXJyYXkoUCkpcmV0dXJuIE0uZXJyb3IoInNlcW9mL3NldG9mLCBidXQgZGF0YSBpcyBub3QgQXJyYXkiKTtj''@;'; put 'put ''b25zdCBJPXRoaXMuY2xvbmUoKTtJLl9iYXNlU3RhdGUuaW1wbGljaXQ9bnVsbCxUPXRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoUC5tYXAoZnVuY3Rpb24oVSl7cmV0dXJuIHRoaXMuX2dldFVzZSh0aGlzLl9iYXNlU3RhdGUuYXJnc1swXSxQKS5fZW5jb2RlKFUsTSl9LEkpKX1lbHNlIG51''@;'; put 'put ''bGwhPT1PLnVzZT9MPXRoaXMuX2dldFVzZShPLnVzZSxrKS5fZW5jb2RlKFAsTSk6KFQ9dGhpcy5fZW5jb2RlUHJpbWl0aXZlKE8udGFnLFApLFk9ITApO2lmKCFPLmFueSYmbnVsbD09PU8uY2hvaWNlKXtjb25zdCBJPW51bGwhPT1PLmltcGxpY2l0P08uaW1wbGljaXQ6Ty50YWcsVT1udWxs''@;'; put 'put ''PT09Ty5pbXBsaWNpdD8idW5pdmVyc2FsIjoiY29udGV4dCI7bnVsbD09PUk/bnVsbD09PU8udXNlJiZNLmVycm9yKCJUYWcgY291bGQgYmUgb21pdHRlZCBvbmx5IGZvciAudXNlKCkiKTpudWxsPT09Ty51c2UmJihMPXRoaXMuX2VuY29kZUNvbXBvc2l0ZShJLFksVSxUKSl9cmV0dXJuIG51''@;'; put 'put ''bGwhPT1PLmV4cGxpY2l0JiYoTD10aGlzLl9lbmNvZGVDb21wb3NpdGUoTy5leHBsaWNpdCwhMSwiY29udGV4dCIsTCkpLEx9LEQucHJvdG90eXBlLl9lbmNvZGVDaG9pY2U9ZnVuY3Rpb24oUCxNKXtjb25zdCBrPXRoaXMuX2Jhc2VTdGF0ZSxPPWsuY2hvaWNlW1AudHlwZV07cmV0dXJuIE98''@;'; put 'put ''fFMoITEsUC50eXBlKyIgbm90IGZvdW5kIGluICIrSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmtleXMoay5jaG9pY2UpKSksTy5fZW5jb2RlKFAudmFsdWUsTSl9LEQucHJvdG90eXBlLl9lbmNvZGVQcmltaXRpdmU9ZnVuY3Rpb24oUCxNKXtjb25zdCBrPXRoaXMuX2Jhc2VTdGF0ZTtpZigvc3Ry''@;'; put 'put ''JC8udGVzdChQKSlyZXR1cm4gdGhpcy5fZW5jb2RlU3RyKE0sUCk7aWYoIm9iamlkIj09PVAmJmsuYXJncylyZXR1cm4gdGhpcy5fZW5jb2RlT2JqaWQoTSxrLnJldmVyc2VBcmdzWzBdLGsuYXJnc1sxXSk7aWYoIm9iamlkIj09PVApcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKE0sbnVsbCxu''@;'; put 'put ''dWxsKTtpZigiZ2VudGltZSI9PT1QfHwidXRjdGltZSI9PT1QKXJldHVybiB0aGlzLl9lbmNvZGVUaW1lKE0sUCk7aWYoIm51bGxfIj09PVApcmV0dXJuIHRoaXMuX2VuY29kZU51bGwoKTtpZigiaW50Ij09PVB8fCJlbnVtIj09PVApcmV0dXJuIHRoaXMuX2VuY29kZUludChNLGsuYXJncyYm''@;'; put 'put ''ay5yZXZlcnNlQXJnc1swXSk7aWYoImJvb2wiPT09UClyZXR1cm4gdGhpcy5fZW5jb2RlQm9vbChNKTtpZigib2JqRGVzYyI9PT1QKXJldHVybiB0aGlzLl9lbmNvZGVTdHIoTSxQKTt0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIHRhZzogIitQKX0sRC5wcm90b3R5cGUuX2lzTnVtc3Ry''@;'; put 'put ''PWZ1bmN0aW9uKFApe3JldHVybi9eWzAtOSBdKiQvLnRlc3QoUCl9LEQucHJvdG90eXBlLl9pc1ByaW50c3RyPWZ1bmN0aW9uKFApe3JldHVybi9eW0EtWmEtejAtOSAnKCkrLC0uLzo9P10qJC8udGVzdChQKX19LDg0NjU6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooNTcxNyk7''@;'; put 'put ''ZnVuY3Rpb24geihTKXt0aGlzLl9yZXBvcnRlclN0YXRlPXtvYmo6bnVsbCxwYXRoOltdLG9wdGlvbnM6U3x8e30sZXJyb3JzOltdfX1mdW5jdGlvbiBDKFMsbSl7dGhpcy5wYXRoPVMsdGhpcy5yZXRocm93KG0pfUEuYj16LHoucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oUyl7cmV0dXJu''@;'; put 'put ''IFMgaW5zdGFuY2VvZiBDfSx6LnByb3RvdHlwZS5zYXZlPWZ1bmN0aW9uKCl7Y29uc3QgUz10aGlzLl9yZXBvcnRlclN0YXRlO3JldHVybntvYmo6Uy5vYmoscGF0aExlbjpTLnBhdGgubGVuZ3RofX0sei5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbihTKXtjb25zdCBtPXRoaXMuX3JlcG9y''@;'; put 'put ''dGVyU3RhdGU7bS5vYmo9Uy5vYmosbS5wYXRoPW0ucGF0aC5zbGljZSgwLFMucGF0aExlbil9LHoucHJvdG90eXBlLmVudGVyS2V5PWZ1bmN0aW9uKFMpe3JldHVybiB0aGlzLl9yZXBvcnRlclN0YXRlLnBhdGgucHVzaChTKX0sei5wcm90b3R5cGUuZXhpdEtleT1mdW5jdGlvbihTKXtjb25z''@;'; put 'put ''dCBtPXRoaXMuX3JlcG9ydGVyU3RhdGU7bS5wYXRoPW0ucGF0aC5zbGljZSgwLFMtMSl9LHoucHJvdG90eXBlLmxlYXZlS2V5PWZ1bmN0aW9uKFMsbSxGKXtjb25zdCBEPXRoaXMuX3JlcG9ydGVyU3RhdGU7dGhpcy5leGl0S2V5KFMpLG51bGwhPT1ELm9iaiYmKEQub2JqW21dPUYpfSx6LnBy''@;'; put 'put ''b3RvdHlwZS5wYXRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlcG9ydGVyU3RhdGUucGF0aC5qb2luKCIvIil9LHoucHJvdG90eXBlLmVudGVyT2JqZWN0PWZ1bmN0aW9uKCl7Y29uc3QgUz10aGlzLl9yZXBvcnRlclN0YXRlLG09Uy5vYmo7cmV0dXJuIFMub2JqPXt9LG19LHoucHJvdG90''@;'; put 'put ''eXBlLmxlYXZlT2JqZWN0PWZ1bmN0aW9uKFMpe2NvbnN0IG09dGhpcy5fcmVwb3J0ZXJTdGF0ZSxGPW0ub2JqO3JldHVybiBtLm9iaj1TLEZ9LHoucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKFMpe2xldCBtO2NvbnN0IEY9dGhpcy5fcmVwb3J0ZXJTdGF0ZSxEPVMgaW5zdGFuY2VvZiBDO2lm''@;'; put 'put ''KG09RD9TOm5ldyBDKEYucGF0aC5tYXAoZnVuY3Rpb24odyl7cmV0dXJuIlsiK0pTT04uc3RyaW5naWZ5KHcpKyJdIn0pLmpvaW4oIiIpLFMubWVzc2FnZXx8UyxTLnN0YWNrKSwhRi5vcHRpb25zLnBhcnRpYWwpdGhyb3cgbTtyZXR1cm4gRHx8Ri5lcnJvcnMucHVzaChtKSxtfSx6LnByb3Rv''@;'; put 'put ''dHlwZS53cmFwUmVzdWx0PWZ1bmN0aW9uKFMpe2NvbnN0IG09dGhpcy5fcmVwb3J0ZXJTdGF0ZTtyZXR1cm4gbS5vcHRpb25zLnBhcnRpYWw/e3Jlc3VsdDp0aGlzLmlzRXJyb3IoUyk/bnVsbDpTLGVycm9yczptLmVycm9yc306U30sTihDLEVycm9yKSxDLnByb3RvdHlwZS5yZXRocm93PWZ1''@;'; put 'put ''bmN0aW9uKFMpe2lmKHRoaXMubWVzc2FnZT1TKyIgYXQ6ICIrKHRoaXMucGF0aHx8IihzaGFsbG93KSIpLEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLEMpLCF0aGlzLnN0YWNrKXRyeXt0aHJvdyBuZXcgRXJyb3IodGhpcy5tZXNzYWdlKX1j''@;'; put 'put ''YXRjaChtKXt0aGlzLnN0YWNrPW0uc3RhY2t9cmV0dXJuIHRoaXN9fSwxNjA6KFosQSk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaihOKXtjb25zdCB6PXt9O3JldHVybiBPYmplY3Qua2V5cyhOKS5mb3JFYWNoKGZ1bmN0aW9uKEMpeygwfEMpPT1DJiYoQ3w9MCkseltOW0NdXT1DfSksen1B''@;'; put 'put ''LnRhZ0NsYXNzPXswOiJ1bml2ZXJzYWwiLDE6ImFwcGxpY2F0aW9uIiwyOiJjb250ZXh0IiwzOiJwcml2YXRlIn0sQS50YWdDbGFzc0J5TmFtZT1qKEEudGFnQ2xhc3MpLEEudGFnPXswOiJlbmQiLDE6ImJvb2wiLDI6ImludCIsMzoiYml0c3RyIiw0OiJvY3RzdHIiLDU6Im51bGxfIiw2OiJv''@;'; put 'put ''YmppZCIsNzoib2JqRGVzYyIsODoiZXh0ZXJuYWwiLDk6InJlYWwiLDEwOiJlbnVtIiwxMToiZW1iZWQiLDEyOiJ1dGY4c3RyIiwxMzoicmVsYXRpdmVPaWQiLDE2OiJzZXEiLDE3OiJzZXQiLDE4OiJudW1zdHIiLDE5OiJwcmludHN0ciIsMjA6InQ2MXN0ciIsMjE6InZpZGVvc3RyIiwyMjoi''@;'; put 'put ''aWE1c3RyIiwyMzoidXRjdGltZSIsMjQ6ImdlbnRpbWUiLDI1OiJncmFwaHN0ciIsMjY6ImlzbzY0NnN0ciIsMjc6ImdlbnN0ciIsMjg6InVuaXN0ciIsMjk6ImNoYXJzdHIiLDMwOiJibXBzdHIifSxBLnRhZ0J5TmFtZT1qKEEudGFnKX0sNjgyNjooWixBLGopPT57InVzZSBzdHJpY3QiO2Nv''@;'; put 'put ''bnN0IE49QTtOLl9yZXZlcnNlPWZ1bmN0aW9uKHope2NvbnN0IEM9e307cmV0dXJuIE9iamVjdC5rZXlzKHopLmZvckVhY2goZnVuY3Rpb24oUyl7KDB8Uyk9PVMmJihTfD0wKSxDW3pbU11dPVN9KSxDfSxOLmRlcj1qKDE2MCl9LDE2NzE6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBO''@;'; put 'put ''PWooNTcxNyksej1qKDQ1OTApLEM9aig2NjI1KS5DLFM9aigxOTQ5KSxtPWooMTYwKTtmdW5jdGlvbiBGKE0pe3RoaXMuZW5jPSJkZXIiLHRoaXMubmFtZT1NLm5hbWUsdGhpcy5lbnRpdHk9TSx0aGlzLnRyZWU9bmV3IEQsdGhpcy50cmVlLl9pbml0KE0uYm9keSl9ZnVuY3Rpb24gRChNKXtT''@;'; put 'put ''LmNhbGwodGhpcywiZGVyIixNKX1mdW5jdGlvbiB3KE0sayl7bGV0IE89TS5yZWFkVUludDgoayk7aWYoTS5pc0Vycm9yKE8pKXJldHVybiBPO2NvbnN0IEw9bS50YWdDbGFzc1tPPj42XSxUPTA9PSgzMiZPKTtpZigzMT09KDMxJk8pKXtsZXQgWT1PO2ZvcihPPTA7MTI4PT0oMTI4JlkpOyl7''@;'; put 'put ''aWYoWT1NLnJlYWRVSW50OChrKSxNLmlzRXJyb3IoWSkpcmV0dXJuIFk7Tzw8PTcsT3w9MTI3Jll9fWVsc2UgTyY9MzE7cmV0dXJue2NsczpMLHByaW1pdGl2ZTpULHRhZzpPLHRhZ1N0cjptLnRhZ1tPXX19ZnVuY3Rpb24gUChNLGssTyl7bGV0IEw9TS5yZWFkVUludDgoTyk7aWYoTS5pc0Vy''@;'; put 'put ''cm9yKEwpKXJldHVybiBMO2lmKCFrJiYxMjg9PT1MKXJldHVybiBudWxsO2lmKDA9PSgxMjgmTCkpcmV0dXJuIEw7Y29uc3QgVD0xMjcmTDtpZihUPjQpcmV0dXJuIE0uZXJyb3IoImxlbmd0aCBvY3RlY3QgaXMgdG9vIGxvbmciKTtMPTA7Zm9yKGxldCBZPTA7WTxUO1krKyl7TDw8PTg7Y29u''@;'; put 'put ''c3QgST1NLnJlYWRVSW50OChPKTtpZihNLmlzRXJyb3IoSSkpcmV0dXJuIEk7THw9SX1yZXR1cm4gTH1aLmV4cG9ydHM9RixGLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24oTSxrKXtyZXR1cm4gQy5pc0RlY29kZXJCdWZmZXIoTSl8fChNPW5ldyBDKE0saykpLHRoaXMudHJlZS5fZGVjb2Rl''@;'; put 'put ''KE0sayl9LE4oRCxTKSxELnByb3RvdHlwZS5fcGVla1RhZz1mdW5jdGlvbihNLGssTyl7aWYoTS5pc0VtcHR5KCkpcmV0dXJuITE7Y29uc3QgTD1NLnNhdmUoKSxUPXcoTSwnRmFpbGVkIHRvIHBlZWsgdGFnOiAiJytrKyciJyk7cmV0dXJuIE0uaXNFcnJvcihUKT9UOihNLnJlc3RvcmUoTCks''@;'; put 'put ''VC50YWc9PT1rfHxULnRhZ1N0cj09PWt8fFQudGFnU3RyKyJvZiI9PT1rfHxPKX0sRC5wcm90b3R5cGUuX2RlY29kZVRhZz1mdW5jdGlvbihNLGssTyl7Y29uc3QgTD13KE0sJ0ZhaWxlZCB0byBkZWNvZGUgdGFnIG9mICInK2srJyInKTtpZihNLmlzRXJyb3IoTCkpcmV0dXJuIEw7bGV0IFQ9''@;'; put 'put ''UChNLEwucHJpbWl0aXZlLCdGYWlsZWQgdG8gZ2V0IGxlbmd0aCBvZiAiJytrKyciJyk7aWYoTS5pc0Vycm9yKFQpKXJldHVybiBUO2lmKCFPJiZMLnRhZyE9PWsmJkwudGFnU3RyIT09ayYmTC50YWdTdHIrIm9mIiE9PWspcmV0dXJuIE0uZXJyb3IoJ0ZhaWxlZCB0byBtYXRjaCB0YWc6ICIn''@;'; put 'put ''K2srJyInKTtpZihMLnByaW1pdGl2ZXx8bnVsbCE9PVQpcmV0dXJuIE0uc2tpcChULCdGYWlsZWQgdG8gbWF0Y2ggYm9keSBvZjogIicraysnIicpO2NvbnN0IFk9TS5zYXZlKCksST10aGlzLl9za2lwVW50aWxFbmQoTSwnRmFpbGVkIHRvIHNraXAgaW5kZWZpbml0ZSBsZW5ndGggYm9keTog''@;'; put 'put ''IicrdGhpcy50YWcrJyInKTtyZXR1cm4gTS5pc0Vycm9yKEkpP0k6KFQ9TS5vZmZzZXQtWS5vZmZzZXQsTS5yZXN0b3JlKFkpLE0uc2tpcChULCdGYWlsZWQgdG8gbWF0Y2ggYm9keSBvZjogIicraysnIicpKX0sRC5wcm90b3R5cGUuX3NraXBVbnRpbEVuZD1mdW5jdGlvbihNLGspe2Zvcig7''@;'; put 'put ''Oyl7Y29uc3QgTz13KE0sayk7aWYoTS5pc0Vycm9yKE8pKXJldHVybiBPO2NvbnN0IEw9UChNLE8ucHJpbWl0aXZlLGspO2lmKE0uaXNFcnJvcihMKSlyZXR1cm4gTDtsZXQgVDtpZihUPU8ucHJpbWl0aXZlfHxudWxsIT09TD9NLnNraXAoTCk6dGhpcy5fc2tpcFVudGlsRW5kKE0sayksTS5p''@;'; put 'put ''c0Vycm9yKFQpKXJldHVybiBUO2lmKCJlbmQiPT09Ty50YWdTdHIpYnJlYWt9fSxELnByb3RvdHlwZS5fZGVjb2RlTGlzdD1mdW5jdGlvbihNLGssTyxMKXtjb25zdCBUPVtdO2Zvcig7IU0uaXNFbXB0eSgpOyl7Y29uc3QgWT10aGlzLl9wZWVrVGFnKE0sImVuZCIpO2lmKE0uaXNFcnJvcihZ''@;'; put 'put ''KSlyZXR1cm4gWTtjb25zdCBJPU8uZGVjb2RlKE0sImRlciIsTCk7aWYoTS5pc0Vycm9yKEkpJiZZKWJyZWFrO1QucHVzaChJKX1yZXR1cm4gVH0sRC5wcm90b3R5cGUuX2RlY29kZVN0cj1mdW5jdGlvbihNLGspe2lmKCJiaXRzdHIiPT09ayl7Y29uc3QgTz1NLnJlYWRVSW50OCgpO3JldHVy''@;'; put 'put ''biBNLmlzRXJyb3IoTyk/Tzp7dW51c2VkOk8sZGF0YTpNLnJhdygpfX1pZigiYm1wc3RyIj09PWspe2NvbnN0IE89TS5yYXcoKTtpZihPLmxlbmd0aCUyPT0xKXJldHVybiBNLmVycm9yKCJEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogYm1wc3RyIGxlbmd0aCBtaXNtYXRjaCIpO2xldCBMPSIi''@;'; put 'put ''O2ZvcihsZXQgVD0wO1Q8Ty5sZW5ndGgvMjtUKyspTCs9U3RyaW5nLmZyb21DaGFyQ29kZShPLnJlYWRVSW50MTZCRSgyKlQpKTtyZXR1cm4gTH1pZigibnVtc3RyIj09PWspe2NvbnN0IE89TS5yYXcoKS50b1N0cmluZygiYXNjaWkiKTtyZXR1cm4gdGhpcy5faXNOdW1zdHIoTyk/TzpNLmVy''@;'; put 'put ''cm9yKCJEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogbnVtc3RyIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMiKX1pZigib2N0c3RyIj09PWt8fCJvYmpEZXNjIj09PWspcmV0dXJuIE0ucmF3KCk7aWYoInByaW50c3RyIj09PWspe2NvbnN0IE89TS5yYXcoKS50b1N0cmluZygiYXNjaWkiKTtyZXR1''@;'; put 'put ''cm4gdGhpcy5faXNQcmludHN0cihPKT9POk0uZXJyb3IoIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzIil9cmV0dXJuL3N0ciQvLnRlc3Qoayk/TS5yYXcoKS50b1N0cmluZygpOk0uZXJyb3IoIkRlY29kaW5nIG9mIHN0cmluZyB0eXBl''@;'; put 'put ''OiAiK2srIiB1bnN1cHBvcnRlZCIpfSxELnByb3RvdHlwZS5fZGVjb2RlT2JqaWQ9ZnVuY3Rpb24oTSxrLE8pe2xldCBMO2NvbnN0IFQ9W107bGV0IFk9MCxJPTA7Zm9yKDshTS5pc0VtcHR5KCk7KUk9TS5yZWFkVUludDgoKSxZPDw9NyxZfD0xMjcmSSwwPT0oMTI4JkkpJiYoVC5wdXNoKFkp''@;'; put 'put ''LFk9MCk7aWYoMTI4JkkmJlQucHVzaChZKSxMPU8/VDpbVFswXS80MHwwLFRbMF0lNDBdLmNvbmNhdChULnNsaWNlKDEpKSxrKXtsZXQgUj1rW0wuam9pbigiICIpXTt2b2lkIDA9PT1SJiYoUj1rW0wuam9pbigiLiIpXSksdm9pZCAwIT09UiYmKEw9Uil9cmV0dXJuIEx9LEQucHJvdG90eXBl''@;'; put 'put ''Ll9kZWNvZGVUaW1lPWZ1bmN0aW9uKE0sayl7Y29uc3QgTz1NLnJhdygpLnRvU3RyaW5nKCk7bGV0IEwsVCxZLEksVSxWO2lmKCJnZW50aW1lIj09PWspTD0wfE8uc2xpY2UoMCw0KSxUPTB8Ty5zbGljZSg0LDYpLFk9MHxPLnNsaWNlKDYsOCksST0wfE8uc2xpY2UoOCwxMCksVT0wfE8uc2xp''@;'; put 'put ''Y2UoMTAsMTIpLFY9MHxPLnNsaWNlKDEyLDE0KTtlbHNle2lmKCJ1dGN0aW1lIiE9PWspcmV0dXJuIE0uZXJyb3IoIkRlY29kaW5nICIraysiIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQiKTtMPTB8Ty5zbGljZSgwLDIpLFQ9MHxPLnNsaWNlKDIsNCksWT0wfE8uc2xpY2UoNCw2KSxJPTB8''@;'; put 'put ''Ty5zbGljZSg2LDgpLFU9MHxPLnNsaWNlKDgsMTApLFY9MHxPLnNsaWNlKDEwLDEyKSxMPUw8NzA/MmUzK0w6MTkwMCtMfXJldHVybiBEYXRlLlVUQyhMLFQtMSxZLEksVSxWLDApfSxELnByb3RvdHlwZS5fZGVjb2RlTnVsbD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxELnByb3RvdHlwZS5f''@;'; put 'put ''ZGVjb2RlQm9vbD1mdW5jdGlvbihNKXtjb25zdCBrPU0ucmVhZFVJbnQ4KCk7cmV0dXJuIE0uaXNFcnJvcihrKT9rOjAhPT1rfSxELnByb3RvdHlwZS5fZGVjb2RlSW50PWZ1bmN0aW9uKE0sayl7Y29uc3QgTz1NLnJhdygpO2xldCBMPW5ldyB6KE8pO3JldHVybiBrJiYoTD1rW0wudG9TdHJp''@;'; put 'put ''bmcoMTApXXx8TCksTH0sRC5wcm90b3R5cGUuX3VzZT1mdW5jdGlvbihNLGspe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBNJiYoTT1NKGspKSxNLl9nZXREZWNvZGVyKCJkZXIiKS50cmVlfX0sODMwNzooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49QTtOLmRlcj1qKDE2NzEpLE4u''@;'; put 'put ''cGVtPWooOTYzMSl9LDk2MzE6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooNTcxNyksej1qKDIzOTkpLkJ1ZmZlcixDPWooMTY3MSk7ZnVuY3Rpb24gUyhtKXtDLmNhbGwodGhpcyxtKSx0aGlzLmVuYz0icGVtIn1OKFMsQyksWi5leHBvcnRzPVMsUy5wcm90b3R5cGUuZGVjb2Rl''@;'; put 'put ''PWZ1bmN0aW9uKG0sRil7Y29uc3QgRD1tLnRvU3RyaW5nKCkuc3BsaXQoL1tcclxuXSsvZyksdz1GLmxhYmVsLnRvVXBwZXJDYXNlKCksUD0vXi0tLS0tKEJFR0lOfEVORCkgKFteLV0rKS0tLS0tJC87bGV0IE09LTEsaz0tMTtmb3IobGV0IFQ9MDtUPEQubGVuZ3RoO1QrKyl7Y29uc3QgWT1E''@;'; put 'put ''W1RdLm1hdGNoKFApO2lmKG51bGwhPT1ZJiZZWzJdPT09dyl7aWYoLTEhPT1NKXtpZigiRU5EIiE9PVlbMV0pYnJlYWs7az1UO2JyZWFrfWlmKCJCRUdJTiIhPT1ZWzFdKWJyZWFrO009VH19aWYoLTE9PT1NfHwtMT09PWspdGhyb3cgbmV3IEVycm9yKCJQRU0gc2VjdGlvbiBub3QgZm91bmQg''@;'; put 'put ''Zm9yOiAiK3cpO2NvbnN0IE89RC5zbGljZShNKzEsaykuam9pbigiIik7Ty5yZXBsYWNlKC9bXmEtejAtOSsvPV0rL2dpLCIiKTtjb25zdCBMPXouZnJvbShPLCJiYXNlNjQiKTtyZXR1cm4gQy5wcm90b3R5cGUuZGVjb2RlLmNhbGwodGhpcyxMLEYpfX0sNjk4NDooWixBLGopPT57InVzZSBz''@;'; put 'put ''dHJpY3QiO2NvbnN0IE49aig1NzE3KSx6PWooMjM5OSkuQnVmZmVyLEM9aigxOTQ5KSxTPWooMTYwKTtmdW5jdGlvbiBtKHcpe3RoaXMuZW5jPSJkZXIiLHRoaXMubmFtZT13Lm5hbWUsdGhpcy5lbnRpdHk9dyx0aGlzLnRyZWU9bmV3IEYsdGhpcy50cmVlLl9pbml0KHcuYm9keSl9ZnVuY3Rp''@;'; put 'put ''b24gRih3KXtDLmNhbGwodGhpcywiZGVyIix3KX1mdW5jdGlvbiBEKHcpe3JldHVybiB3PDEwPyIwIit3Ond9Wi5leHBvcnRzPW0sbS5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHcsUCl7cmV0dXJuIHRoaXMudHJlZS5fZW5jb2RlKHcsUCkuam9pbigpfSxOKEYsQyksRi5wcm90b3R5cGUu''@;'; put 'put ''X2VuY29kZUNvbXBvc2l0ZT1mdW5jdGlvbih3LFAsTSxrKXtjb25zdCBPPWZ1bmN0aW9uKFksSSxVLFYpe2xldCBSO2lmKCJzZXFvZiI9PT1ZP1k9InNlcSI6InNldG9mIj09PVkmJihZPSJzZXQiKSxTLnRhZ0J5TmFtZS5oYXNPd25Qcm9wZXJ0eShZKSlSPVMudGFnQnlOYW1lW1ldO2Vsc2V7''@;'; put 'put ''aWYoIm51bWJlciIhPXR5cGVvZiBZfHwoMHxZKSE9PVkpcmV0dXJuIFYuZXJyb3IoIlVua25vd24gdGFnOiAiK1kpO1I9WX1yZXR1cm4gUj49MzE/Vi5lcnJvcigiTXVsdGktb2N0ZXQgdGFnIGVuY29kaW5nIHVuc3VwcG9ydGVkIik6KEl8fChSfD0zMiksUnw9Uy50YWdDbGFzc0J5TmFtZVtV''@;'; put 'put ''fHwidW5pdmVyc2FsIl08PDYsUil9KHcsUCxNLHRoaXMucmVwb3J0ZXIpO2lmKGsubGVuZ3RoPDEyOCl7Y29uc3QgWT16LmFsbG9jKDIpO3JldHVybiBZWzBdPU8sWVsxXT1rLmxlbmd0aCx0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFtZLGtdKX1sZXQgTD0xO2ZvcihsZXQgWT1rLmxlbmd0''@;'; put 'put ''aDtZPj0yNTY7WT4+PTgpTCsrO2NvbnN0IFQ9ei5hbGxvYygyK0wpO1RbMF09TyxUWzFdPTEyOHxMO2ZvcihsZXQgWT0xK0wsST1rLmxlbmd0aDtJPjA7WS0tLEk+Pj04KVRbWV09MjU1Jkk7cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoW1Qsa10pfSxGLnByb3RvdHlwZS5fZW5j''@;'; put 'put ''b2RlU3RyPWZ1bmN0aW9uKHcsUCl7aWYoImJpdHN0ciI9PT1QKXJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFswfHcudW51c2VkLHcuZGF0YV0pO2lmKCJibXBzdHIiPT09UCl7Y29uc3QgTT16LmFsbG9jKDIqdy5sZW5ndGgpO2ZvcihsZXQgaz0wO2s8dy5sZW5ndGg7aysrKU0u''@;'; put 'put ''d3JpdGVVSW50MTZCRSh3LmNoYXJDb2RlQXQoayksMiprKTtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihNKX1yZXR1cm4ibnVtc3RyIj09PVA/dGhpcy5faXNOdW1zdHIodyk/dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih3KTp0aGlzLnJlcG9ydGVyLmVycm9yKCJFbmNvZGlu''@;'; put 'put ''ZyBvZiBzdHJpbmcgdHlwZTogbnVtc3RyIHN1cHBvcnRzIG9ubHkgZGlnaXRzIGFuZCBzcGFjZSIpOiJwcmludHN0ciI9PT1QP3RoaXMuX2lzUHJpbnRzdHIodyk/dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih3KTp0aGlzLnJlcG9ydGVyLmVycm9yKCJFbmNvZGluZyBvZiBzdHJpbmcgdHlw''@;'; put 'put ''ZTogcHJpbnRzdHIgc3VwcG9ydHMgb25seSBsYXRpbiB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMsIHNwYWNlLCBhcG9zdHJvcGhlLCBsZWZ0IGFuZCByaWd0aCBwYXJlbnRoZXNpcywgcGx1cyBzaWduLCBjb21tYSwgaHlwaGVuLCBkb3QsIHNsYXNoLCBjb2xvbiwgZXF1''@;'; put 'put ''YWwgc2lnbiwgcXVlc3Rpb24gbWFyayIpOi9zdHIkLy50ZXN0KFApfHwib2JqRGVzYyI9PT1QP3RoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIodyk6dGhpcy5yZXBvcnRlci5lcnJvcigiRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6ICIrUCsiIHVuc3VwcG9ydGVkIil9LEYucHJvdG90eXBlLl9l''@;'; put 'put ''bmNvZGVPYmppZD1mdW5jdGlvbih3LFAsTSl7aWYoInN0cmluZyI9PXR5cGVvZiB3KXtpZighUClyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcigic3RyaW5nIG9iamlkIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcCBmb3VuZCIpO2lmKCFQLmhhc093blByb3BlcnR5KHcpKXJldHVybiB0aGlz''@;'; put 'put ''LnJlcG9ydGVyLmVycm9yKCJvYmppZCBub3QgZm91bmQgaW4gdmFsdWVzIG1hcCIpO3c9UFt3XS5zcGxpdCgvW1xzLl0rL2cpO2ZvcihsZXQgVD0wO1Q8dy5sZW5ndGg7VCsrKXdbVF18PTB9ZWxzZSBpZihBcnJheS5pc0FycmF5KHcpKXt3PXcuc2xpY2UoKTtmb3IobGV0IFQ9MDtUPHcubGVu''@;'; put 'put ''Z3RoO1QrKyl3W1RdfD0wfWlmKCFBcnJheS5pc0FycmF5KHcpKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJvYmppZCgpIHNob3VsZCBiZSBlaXRoZXIgYXJyYXkgb3Igc3RyaW5nLCBnb3Q6ICIrSlNPTi5zdHJpbmdpZnkodykpO2lmKCFNKXtpZih3WzFdPj00MClyZXR1cm4gdGhpcy5y''@;'; put 'put ''ZXBvcnRlci5lcnJvcigiU2Vjb25kIG9iamlkIGlkZW50aWZpZXIgT09CIik7dy5zcGxpY2UoMCwyLDQwKndbMF0rd1sxXSl9bGV0IGs9MDtmb3IobGV0IFQ9MDtUPHcubGVuZ3RoO1QrKyl7bGV0IFk9d1tUXTtmb3IoaysrO1k+PTEyODtZPj49NylrKyt9Y29uc3QgTz16LmFsbG9jKGspO2xl''@;'; put 'put ''dCBMPU8ubGVuZ3RoLTE7Zm9yKGxldCBUPXcubGVuZ3RoLTE7VD49MDtULS0pe2xldCBZPXdbVF07Zm9yKE9bTC0tXT0xMjcmWTsoWT4+PTcpPjA7KU9bTC0tXT0xMjh8MTI3Jll9cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoTyl9LEYucHJvdG90eXBlLl9lbmNvZGVUaW1lPWZ1''@;'; put 'put ''bmN0aW9uKHcsUCl7bGV0IE07Y29uc3Qgaz1uZXcgRGF0ZSh3KTtyZXR1cm4iZ2VudGltZSI9PT1QP009W0Qoay5nZXRVVENGdWxsWWVhcigpKSxEKGsuZ2V0VVRDTW9udGgoKSsxKSxEKGsuZ2V0VVRDRGF0ZSgpKSxEKGsuZ2V0VVRDSG91cnMoKSksRChrLmdldFVUQ01pbnV0ZXMoKSksRChr''@;'; put 'put ''LmdldFVUQ1NlY29uZHMoKSksIloiXS5qb2luKCIiKToidXRjdGltZSI9PT1QP009W0Qoay5nZXRVVENGdWxsWWVhcigpJTEwMCksRChrLmdldFVUQ01vbnRoKCkrMSksRChrLmdldFVUQ0RhdGUoKSksRChrLmdldFVUQ0hvdXJzKCkpLEQoay5nZXRVVENNaW51dGVzKCkpLEQoay5nZXRVVENT''@;'; put 'put ''ZWNvbmRzKCkpLCJaIl0uam9pbigiIik6dGhpcy5yZXBvcnRlci5lcnJvcigiRW5jb2RpbmcgIitQKyIgdGltZSBpcyBub3Qgc3VwcG9ydGVkIHlldCIpLHRoaXMuX2VuY29kZVN0cihNLCJvY3RzdHIiKX0sRi5wcm90b3R5cGUuX2VuY29kZU51bGw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5f''@;'; put 'put ''Y3JlYXRlRW5jb2RlckJ1ZmZlcigiIil9LEYucHJvdG90eXBlLl9lbmNvZGVJbnQ9ZnVuY3Rpb24odyxQKXtpZigic3RyaW5nIj09dHlwZW9mIHcpe2lmKCFQKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJTdHJpbmcgaW50IG9yIGVudW0gZ2l2ZW4sIGJ1dCBubyB2YWx1ZXMgbWFwIik7''@;'; put 'put ''aWYoIVAuaGFzT3duUHJvcGVydHkodykpcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoIlZhbHVlcyBtYXAgZG9lc24ndCBjb250YWluOiAiK0pTT04uc3RyaW5naWZ5KHcpKTt3PVBbd119aWYoIm51bWJlciIhPXR5cGVvZiB3JiYhei5pc0J1ZmZlcih3KSl7Y29uc3QgTz13LnRvQXJyYXko''@;'; put 'put ''KTshdy5zaWduJiYxMjgmT1swXSYmTy51bnNoaWZ0KDApLHc9ei5mcm9tKE8pfWlmKHouaXNCdWZmZXIodykpe2xldCBPPXcubGVuZ3RoOzA9PT13Lmxlbmd0aCYmTysrO2NvbnN0IEw9ei5hbGxvYyhPKTtyZXR1cm4gdy5jb3B5KEwpLDA9PT13Lmxlbmd0aCYmKExbMF09MCksdGhpcy5fY3Jl''@;'; put 'put ''YXRlRW5jb2RlckJ1ZmZlcihMKX1pZih3PDEyOClyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih3KTtpZih3PDI1NilyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbMCx3XSk7bGV0IE09MTtmb3IobGV0IE89dztPPj0yNTY7Tz4+PTgpTSsrO2NvbnN0IGs9bmV3IEFy''@;'; put 'put ''cmF5KE0pO2ZvcihsZXQgTz1rLmxlbmd0aC0xO08+PTA7Ty0tKWtbT109MjU1Jncsdz4+PTg7cmV0dXJuIDEyOCZrWzBdJiZrLnVuc2hpZnQoMCksdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih6LmZyb20oaykpfSxGLnByb3RvdHlwZS5fZW5jb2RlQm9vbD1mdW5jdGlvbih3KXtyZXR1cm4g''@;'; put 'put ''dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih3PzI1NTowKX0sRi5wcm90b3R5cGUuX3VzZT1mdW5jdGlvbih3LFApe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB3JiYodz13KFApKSx3Ll9nZXRFbmNvZGVyKCJkZXIiKS50cmVlfSxGLnByb3RvdHlwZS5fc2tpcERlZmF1bHQ9ZnVuY3Rpb24o''@;'; put 'put ''dyxQLE0pe2NvbnN0IGs9dGhpcy5fYmFzZVN0YXRlO2xldCBPO2lmKG51bGw9PT1rLmRlZmF1bHQpcmV0dXJuITE7Y29uc3QgTD13LmpvaW4oKTtpZih2b2lkIDA9PT1rLmRlZmF1bHRCdWZmZXImJihrLmRlZmF1bHRCdWZmZXI9dGhpcy5fZW5jb2RlVmFsdWUoay5kZWZhdWx0LFAsTSkuam9p''@;'; put 'put ''bigpKSxMLmxlbmd0aCE9PWsuZGVmYXVsdEJ1ZmZlci5sZW5ndGgpcmV0dXJuITE7Zm9yKE89MDtPPEwubGVuZ3RoO08rKylpZihMW09dIT09ay5kZWZhdWx0QnVmZmVyW09dKXJldHVybiExO3JldHVybiEwfX0sNjU3OTooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49QTtOLmRlcj1q''@;'; put 'put ''KDY5ODQpLE4ucGVtPWooMjg4Myl9LDI4ODM6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooNTcxNyksej1qKDY5ODQpO2Z1bmN0aW9uIEMoUyl7ei5jYWxsKHRoaXMsUyksdGhpcy5lbmM9InBlbSJ9TihDLHopLFouZXhwb3J0cz1DLEMucHJvdG90eXBlLmVuY29kZT1mdW5jdGlv''@;'; put 'put ''bihTLG0pe2NvbnN0IEY9ei5wcm90b3R5cGUuZW5jb2RlLmNhbGwodGhpcyxTKS50b1N0cmluZygiYmFzZTY0IiksRD1bIi0tLS0tQkVHSU4gIittLmxhYmVsKyItLS0tLSJdO2ZvcihsZXQgdz0wO3c8Ri5sZW5ndGg7dys9NjQpRC5wdXNoKEYuc2xpY2Uodyx3KzY0KSk7cmV0dXJuIEQucHVz''@;'; put 'put ''aCgiLS0tLS1FTkQgIittLmxhYmVsKyItLS0tLSIpLEQuam9pbigiXG4iKX19LDQ1OTA6ZnVuY3Rpb24oWixBLGopeyFmdW5jdGlvbihOLHopeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBDKGgsYil7aWYoIWgpdGhyb3cgbmV3IEVycm9yKGJ8fCJBc3NlcnRpb24gZmFpbGVkIil9ZnVuY3Rpb24g''@;'; put 'put ''UyhoLGIpe2guc3VwZXJfPWI7dmFyIHk9ZnVuY3Rpb24oKXt9O3kucHJvdG90eXBlPWIucHJvdG90eXBlLGgucHJvdG90eXBlPW5ldyB5LGgucHJvdG90eXBlLmNvbnN0cnVjdG9yPWh9ZnVuY3Rpb24gbShoLGIseSl7aWYobS5pc0JOKGgpKXJldHVybiBoO3RoaXMubmVnYXRpdmU9MCx0aGlz''@;'; put 'put ''LndvcmRzPW51bGwsdGhpcy5sZW5ndGg9MCx0aGlzLnJlZD1udWxsLG51bGwhPT1oJiYoImxlIiE9PWImJiJiZSIhPT1ifHwoeT1iLGI9MTApLHRoaXMuX2luaXQoaHx8MCxifHwxMCx5fHwiYmUiKSl9dmFyIEY7Im9iamVjdCI9PXR5cGVvZiBOP04uZXhwb3J0cz1tOnouQk49bSxtLkJOPW0s''@;'; put 'put ''bS53b3JkU2l6ZT0yNjt0cnl7Rj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LkJ1ZmZlcj93aW5kb3cuQnVmZmVyOmooOTUwKS5CdWZmZXJ9Y2F0Y2goaCl7fWZ1bmN0aW9uIEQoaCxiKXt2YXIgeT1oLmNoYXJDb2RlQXQoYik7cmV0dXJuIHk+PTY1JiZ5PD03''@;'; put 'put ''MD95LTU1Onk+PTk3JiZ5PD0xMDI/eS04Nzp5LTQ4JjE1fWZ1bmN0aW9uIHcoaCxiLHkpe3ZhciBwPUQoaCx5KTtyZXR1cm4geS0xPj1iJiYocHw9RChoLHktMSk8PDQpLHB9ZnVuY3Rpb24gUChoLGIseSxwKXtmb3IodmFyIGc9MCxfPU1hdGgubWluKGgubGVuZ3RoLHkpLEU9YjtFPF87RSsr''@;'; put 'put ''KXt2YXIgVz1oLmNoYXJDb2RlQXQoRSktNDg7Zyo9cCxnKz1XPj00OT9XLTQ5KzEwOlc+PTE3P1ctMTcrMTA6V31yZXR1cm4gZ31tLmlzQk49ZnVuY3Rpb24oaCl7cmV0dXJuIGggaW5zdGFuY2VvZiBtfHxudWxsIT09aCYmIm9iamVjdCI9PXR5cGVvZiBoJiZoLmNvbnN0cnVjdG9yLndvcmRT''@;'; put 'put ''aXplPT09bS53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheShoLndvcmRzKX0sbS5tYXg9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gaC5jbXAoYik+MD9oOmJ9LG0ubWluPWZ1bmN0aW9uKGgsYil7cmV0dXJuIGguY21wKGIpPDA/aDpifSxtLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbihoLGIseSl7aWYo''@;'; put 'put ''Im51bWJlciI9PXR5cGVvZiBoKXJldHVybiB0aGlzLl9pbml0TnVtYmVyKGgsYix5KTtpZigib2JqZWN0Ij09dHlwZW9mIGgpcmV0dXJuIHRoaXMuX2luaXRBcnJheShoLGIseSk7ImhleCI9PT1iJiYoYj0xNiksQyhiPT09KDB8YikmJmI+PTImJmI8PTM2KTt2YXIgcD0wOyItIj09PShoPWgu''@;'; put 'put ''dG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiYocCsrLHRoaXMubmVnYXRpdmU9MSkscDxoLmxlbmd0aCYmKDE2PT09Yj90aGlzLl9wYXJzZUhleChoLHAseSk6KHRoaXMuX3BhcnNlQmFzZShoLGIscCksImxlIj09PXkmJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxi''@;'; put 'put ''LHkpKSl9LG0ucHJvdG90eXBlLl9pbml0TnVtYmVyPWZ1bmN0aW9uKGgsYix5KXtoPDAmJih0aGlzLm5lZ2F0aXZlPTEsaD0taCksaDw2NzEwODg2ND8odGhpcy53b3Jkcz1bNjcxMDg4NjMmaF0sdGhpcy5sZW5ndGg9MSk6aDw0NTAzNTk5NjI3MzcwNDk2Pyh0aGlzLndvcmRzPVs2NzEwODg2''@;'; put 'put ''MyZoLGgvNjcxMDg4NjQmNjcxMDg4NjNdLHRoaXMubGVuZ3RoPTIpOihDKGg8OTAwNzE5OTI1NDc0MDk5MiksdGhpcy53b3Jkcz1bNjcxMDg4NjMmaCxoLzY3MTA4ODY0JjY3MTA4ODYzLDFdLHRoaXMubGVuZ3RoPTMpLCJsZSI9PT15JiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCks''@;'; put 'put ''Yix5KX0sbS5wcm90b3R5cGUuX2luaXRBcnJheT1mdW5jdGlvbihoLGIseSl7aWYoQygibnVtYmVyIj09dHlwZW9mIGgubGVuZ3RoKSxoLmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbChoLmxlbmd0aC8zKSx0''@;'; put 'put ''aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBwPTA7cDx0aGlzLmxlbmd0aDtwKyspdGhpcy53b3Jkc1twXT0wO3ZhciBnLF8sRT0wO2lmKCJiZSI9PT15KWZvcihwPWgubGVuZ3RoLTEsZz0wO3A+PTA7cC09Myl0aGlzLndvcmRzW2ddfD0oXz1oW3BdfGhbcC0xXTw8''@;'; put 'put ''OHxoW3AtMl08PDE2KTw8RSY2NzEwODg2Myx0aGlzLndvcmRzW2crMV09Xz4+PjI2LUUmNjcxMDg4NjMsKEUrPTI0KT49MjYmJihFLT0yNixnKyspO2Vsc2UgaWYoImxlIj09PXkpZm9yKHA9MCxnPTA7cDxoLmxlbmd0aDtwKz0zKXRoaXMud29yZHNbZ118PShfPWhbcF18aFtwKzFdPDw4fGhb''@;'; put 'put ''cCsyXTw8MTYpPDxFJjY3MTA4ODYzLHRoaXMud29yZHNbZysxXT1fPj4+MjYtRSY2NzEwODg2MywoRSs9MjQpPj0yNiYmKEUtPTI2LGcrKyk7cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uKGgsYix5KXt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoKGgu''@;'; put 'put ''bGVuZ3RoLWIpLzYpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHA9MDtwPHRoaXMubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3BdPTA7dmFyIGcsXz0wLEU9MDtpZigiYmUiPT09eSlmb3IocD1oLmxlbmd0aC0xO3A+PWI7cC09MilnPXcoaCxiLHApPDxfLHRoaXMu''@;'; put 'put ''d29yZHNbRV18PTY3MTA4ODYzJmcsXz49MTg/KF8tPTE4LHRoaXMud29yZHNbRSs9MV18PWc+Pj4yNik6Xys9ODtlbHNlIGZvcihwPShoLmxlbmd0aC1iKSUyPT0wP2IrMTpiO3A8aC5sZW5ndGg7cCs9MilnPXcoaCxiLHApPDxfLHRoaXMud29yZHNbRV18PTY3MTA4ODYzJmcsXz49MTg/KF8t''@;'; put 'put ''PTE4LHRoaXMud29yZHNbRSs9MV18PWc+Pj4yNik6Xys9ODt0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLl9wYXJzZUJhc2U9ZnVuY3Rpb24oaCxiLHkpe3RoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTE7Zm9yKHZhciBwPTAsZz0xO2c8PTY3MTA4ODYzO2cqPWIpcCsrO3AtLSxnPWcvYnww''@;'; put 'put ''O2Zvcih2YXIgXz1oLmxlbmd0aC15LEU9XyVwLFc9TWF0aC5taW4oXyxfLUUpK3ksRz0wLFg9eTtYPFc7WCs9cClHPVAoaCxYLFgrcCxiKSx0aGlzLmltdWxuKGcpLHRoaXMud29yZHNbMF0rRzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1HOnRoaXMuX2lhZGRuKEcpO2lmKDAhPT1FKXt2YXIg''@;'; put 'put ''bmU9MTtmb3IoRz1QKGgsWCxoLmxlbmd0aCxiKSxYPTA7WDxFO1grKyluZSo9Yjt0aGlzLmltdWxuKG5lKSx0aGlzLndvcmRzWzBdK0c8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Rzp0aGlzLl9pYWRkbihHKX10aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oaCl7aC53''@;'; put 'put ''b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgYj0wO2I8dGhpcy5sZW5ndGg7YisrKWgud29yZHNbYl09dGhpcy53b3Jkc1tiXTtoLmxlbmd0aD10aGlzLmxlbmd0aCxoLm5lZ2F0aXZlPXRoaXMubmVnYXRpdmUsaC5yZWQ9dGhpcy5yZWR9LG0ucHJvdG90eXBlLmNsb25lPWZ1''@;'; put 'put ''bmN0aW9uKCl7dmFyIGg9bmV3IG0obnVsbCk7cmV0dXJuIHRoaXMuY29weShoKSxofSxtLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uKGgpe2Zvcig7dGhpcy5sZW5ndGg8aDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO3JldHVybiB0aGlzfSxtLnByb3RvdHlwZS5zdHJpcD1mdW5j''@;'; put 'put ''dGlvbigpe2Zvcig7dGhpcy5sZW5ndGg+MSYmMD09PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV07KXRoaXMubGVuZ3RoLS07cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9LG0ucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndv''@;'; put 'put ''cmRzWzBdJiYodGhpcy5uZWdhdGl2ZT0wKSx0aGlzfSxtLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVkPyI8Qk4tUjogIjoiPEJOOiAiKSt0aGlzLnRvU3RyaW5nKDE2KSsiPiJ9O3ZhciBNPVsiIiwiMCIsIjAwIiwiMDAwIiwiMDAwMCIsIjAwMDAwIiwiMDAw''@;'; put 'put ''MDAwIiwiMDAwMDAwMCIsIjAwMDAwMDAwIiwiMDAwMDAwMDAwIiwiMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAw''@;'; put 'put ''MDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAw''@;'; put 'put ''MDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJdLGs9WzAsMCwyNSwxNiwxMiwxMSwxMCw5LDgsOCw3LDcsNyw3LDYsNiw2LDYsNiw2LDYsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNV0sTz1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYw''@;'; put 'put ''NDY2MTc2LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDEx''@;'; put 'put ''ODgxMzc2LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtmdW5jdGlvbiBMKGgsYix5KXt5Lm5lZ2F0aXZlPWIubmVnYXRpdmVeaC5uZWdhdGl2ZTt2YXIgcD1oLmxlbmd0aCtiLmxl''@;'; put 'put ''bmd0aHwwO3kubGVuZ3RoPXAscD1wLTF8MDt2YXIgZz0wfGgud29yZHNbMF0sXz0wfGIud29yZHNbMF0sRT1nKl8sRz1FLzY3MTA4ODY0fDA7eS53b3Jkc1swXT02NzEwODg2MyZFO2Zvcih2YXIgWD0xO1g8cDtYKyspe2Zvcih2YXIgbmU9Rz4+PjI2LGFlPTY3MTA4ODYzJkcsdWU9TWF0aC5t''@;'; put 'put ''aW4oWCxiLmxlbmd0aC0xKSxiZT1NYXRoLm1heCgwLFgtaC5sZW5ndGgrMSk7YmU8PXVlO2JlKyspbmUrPShFPShnPTB8aC53b3Jkc1tYLWJlfDBdKSooXz0wfGIud29yZHNbYmVdKSthZSkvNjcxMDg4NjR8MCxhZT02NzEwODg2MyZFO3kud29yZHNbWF09MHxhZSxHPTB8bmV9cmV0dXJuIDAh''@;'; put 'put ''PT1HP3kud29yZHNbWF09MHxHOnkubGVuZ3RoLS0seS5zdHJpcCgpfW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKGgsYil7dmFyIHk7aWYoYj0wfGJ8fDEsMTY9PT0oaD1ofHwxMCl8fCJoZXgiPT09aCl7eT0iIjtmb3IodmFyIHA9MCxnPTAsXz0wO188dGhpcy5sZW5ndGg7XysrKXt2''@;'; put 'put ''YXIgRT10aGlzLndvcmRzW19dLFc9KDE2Nzc3MjE1JihFPDxwfGcpKS50b1N0cmluZygxNik7eT0wIT0oZz1FPj4+MjQtcCYxNjc3NzIxNSl8fF8hPT10aGlzLmxlbmd0aC0xP01bNi1XLmxlbmd0aF0rVyt5OlcreSwocCs9Mik+PTI2JiYocC09MjYsXy0tKX1mb3IoMCE9PWcmJih5PWcudG9T''@;'; put 'put ''dHJpbmcoMTYpK3kpO3kubGVuZ3RoJWIhPTA7KXk9IjAiK3k7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYoeT0iLSIreSkseX1pZihoPT09KDB8aCkmJmg+PTImJmg8PTM2KXt2YXIgRz1rW2hdLFg9T1toXTt5PSIiO3ZhciBuZT10aGlzLmNsb25lKCk7Zm9yKG5lLm5lZ2F0aXZlPTA7IW5l''@;'; put 'put ''LmlzWmVybygpOyl7dmFyIGFlPW5lLm1vZG4oWCkudG9TdHJpbmcoaCk7eT0obmU9bmUuaWRpdm4oWCkpLmlzWmVybygpP2FlK3k6TVtHLWFlLmxlbmd0aF0rYWUreX1mb3IodGhpcy5pc1plcm8oKSYmKHk9IjAiK3kpO3kubGVuZ3RoJWIhPTA7KXk9IjAiK3k7cmV0dXJuIDAhPT10aGlzLm5l''@;'; put 'put ''Z2F0aXZlJiYoeT0iLSIreSkseX1DKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LG0ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIGg9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP2grPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09''@;'; put 'put ''PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT9oKz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmQyghMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LWg6aH0s''@;'; put 'put ''bS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxtLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbihoLGIpe3JldHVybiBDKHZvaWQgMCE9PUYpLHRoaXMudG9BcnJheUxpa2UoRixoLGIpfSxtLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9u''@;'; put 'put ''KGgsYil7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksaCxiKX0sbS5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24oaCxiLHkpe3ZhciBwPXRoaXMuYnl0ZUxlbmd0aCgpLGc9eXx8TWF0aC5tYXgoMSxwKTtDKHA8PWcsImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBs''@;'; put 'put ''ZW5ndGgiKSxDKGc+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIiksdGhpcy5zdHJpcCgpO3ZhciBfLEUsVz0ibGUiPT09YixHPW5ldyBoKGcpLFg9dGhpcy5jbG9uZSgpO2lmKFcpe2ZvcihFPTA7IVguaXNaZXJvKCk7RSsrKV89WC5hbmRsbigyNTUpLFguaXVzaHJuKDgpLEdbRV09''@;'; put 'put ''Xztmb3IoO0U8ZztFKyspR1tFXT0wfWVsc2V7Zm9yKEU9MDtFPGctcDtFKyspR1tFXT0wO2ZvcihFPTA7IVguaXNaZXJvKCk7RSsrKV89WC5hbmRsbigyNTUpLFguaXVzaHJuKDgpLEdbZy1FLTFdPV99cmV0dXJuIEd9LG0ucHJvdG90eXBlLl9jb3VudEJpdHM9TWF0aC5jbHozMj9mdW5jdGlv''@;'; put 'put ''bihoKXtyZXR1cm4gMzItTWF0aC5jbHozMihoKX06ZnVuY3Rpb24oaCl7dmFyIGI9aCx5PTA7cmV0dXJuIGI+PTQwOTYmJih5Kz0xMyxiPj4+PTEzKSxiPj02NCYmKHkrPTcsYj4+Pj03KSxiPj04JiYoeSs9NCxiPj4+PTQpLGI+PTImJih5Kz0yLGI+Pj49MikseStifSxtLnByb3RvdHlwZS5f''@;'; put 'put ''emVyb0JpdHM9ZnVuY3Rpb24oaCl7aWYoMD09PWgpcmV0dXJuIDI2O3ZhciBiPWgseT0wO3JldHVybiAwPT0oODE5MSZiKSYmKHkrPTEzLGI+Pj49MTMpLDA9PSgxMjcmYikmJih5Kz03LGI+Pj49NyksMD09KDE1JmIpJiYoeSs9NCxiPj4+PTQpLDA9PSgzJmIpJiYoeSs9MixiPj4+PTIpLDA9''@;'; put 'put ''PSgxJmIpJiZ5KysseX0sbS5wcm90b3R5cGUuYml0TGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fY291bnRCaXRzKHRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0pO3JldHVybiAyNioodGhpcy5sZW5ndGgtMSkrYn0sbS5wcm90b3R5cGUuemVyb0JpdHM9ZnVuY3Rpb24oKXtpZih0aGlz''@;'; put 'put ''LmlzWmVybygpKXJldHVybiAwO2Zvcih2YXIgaD0wLGI9MDtiPHRoaXMubGVuZ3RoO2IrKyl7dmFyIHk9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tiXSk7aWYoaCs9eSwyNiE9PXkpYnJlYWt9cmV0dXJuIGh9LG0ucHJvdG90eXBlLmJ5dGVMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0''@;'; put 'put ''aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9LG0ucHJvdG90eXBlLnRvVHdvcz1mdW5jdGlvbihoKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/dGhpcy5hYnMoKS5pbm90bihoKS5pYWRkbigxKTp0aGlzLmNsb25lKCl9LG0ucHJvdG90eXBlLmZyb21Ud29zPWZ1bmN0aW9uKGgpe3JldHVy''@;'; put 'put ''biB0aGlzLnRlc3RuKGgtMSk/dGhpcy5ub3RuKGgpLmlhZGRuKDEpLmluZWcoKTp0aGlzLmNsb25lKCl9LG0ucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlfSxtLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlu''@;'; put 'put ''ZWcoKX0sbS5wcm90b3R5cGUuaW5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzWmVybygpfHwodGhpcy5uZWdhdGl2ZV49MSksdGhpc30sbS5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbihoKXtmb3IoO3RoaXMubGVuZ3RoPGgubGVuZ3RoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7''@;'; put 'put ''Zm9yKHZhciBiPTA7YjxoLmxlbmd0aDtiKyspdGhpcy53b3Jkc1tiXT10aGlzLndvcmRzW2JdfGgud29yZHNbYl07cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PSh0aGlzLm5lZ2F0aXZlfGgubmVnYXRpdmUpKSx0aGlzLml1b3Io''@;'; put 'put ''aCl9LG0ucHJvdG90eXBlLm9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKGgpOmguY2xvbmUoKS5pb3IodGhpcyl9LG0ucHJvdG90eXBlLnVvcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9u''@;'; put 'put ''ZSgpLml1b3IoaCk6aC5jbG9uZSgpLml1b3IodGhpcyl9LG0ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKGgpe3ZhciBiO2I9dGhpcy5sZW5ndGg+aC5sZW5ndGg/aDp0aGlzO2Zvcih2YXIgeT0wO3k8Yi5sZW5ndGg7eSsrKXRoaXMud29yZHNbeV09dGhpcy53b3Jkc1t5XSZoLndvcmRzW3ld''@;'; put 'put ''O3JldHVybiB0aGlzLmxlbmd0aD1iLmxlbmd0aCx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09KHRoaXMubmVnYXRpdmV8aC5uZWdhdGl2ZSkpLHRoaXMuaXVhbmQoaCl9LG0ucHJvdG90eXBlLmFuZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlhbmQoaCk6aC5jbG9uZSgpLmlhbmQodGhpcyl9LG0ucHJvdG90eXBlLnVhbmQ9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdWFuZChoKTpoLmNsb25lKCkuaXVhbmQodGhpcyl9LG0u''@;'; put 'put ''cHJvdG90eXBlLml1eG9yPWZ1bmN0aW9uKGgpe3ZhciBiLHk7dGhpcy5sZW5ndGg+aC5sZW5ndGg/KGI9dGhpcyx5PWgpOihiPWgseT10aGlzKTtmb3IodmFyIHA9MDtwPHkubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3BdPWIud29yZHNbcF1eeS53b3Jkc1twXTtpZih0aGlzIT09Yilmb3IoO3A8''@;'; put 'put ''Yi5sZW5ndGg7cCsrKXRoaXMud29yZHNbcF09Yi53b3Jkc1twXTtyZXR1cm4gdGhpcy5sZW5ndGg9Yi5sZW5ndGgsdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PSh0aGlzLm5lZ2F0aXZlfGgubmVnYXRpdmUpKSx0aGlzLml1eG9yKGgpfSxt''@;'; put 'put ''LnByb3RvdHlwZS54b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5peG9yKGgpOmguY2xvbmUoKS5peG9yKHRoaXMpfSxtLnByb3RvdHlwZS51eG9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25l''@;'; put 'put ''KCkuaXV4b3IoaCk6aC5jbG9uZSgpLml1eG9yKHRoaXMpfSxtLnByb3RvdHlwZS5pbm90bj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIGI9MHxNYXRoLmNlaWwoaC8yNikseT1oJTI2O3RoaXMuX2V4cGFuZChiKSx5PjAmJmItLTtmb3IodmFyIHA9MDtwPGI7''@;'; put 'put ''cCsrKXRoaXMud29yZHNbcF09NjcxMDg4NjMmfnRoaXMud29yZHNbcF07cmV0dXJuIHk+MCYmKHRoaXMud29yZHNbcF09fnRoaXMud29yZHNbcF0mNjcxMDg4NjM+PjI2LXkpLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUubm90bj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlu''@;'; put 'put ''b3RuKGgpfSxtLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKGgsYil7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3ZhciB5PWgvMjZ8MCxwPWglMjY7cmV0dXJuIHRoaXMuX2V4cGFuZCh5KzEpLHRoaXMud29yZHNbeV09Yj90aGlzLndvcmRzW3ldfDE8PHA6dGhpcy53b3Jkc1t5XSZ+KDE8''@;'; put 'put ''PHApLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbihoKXt2YXIgYix5LHA7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT1oLm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsYj10aGlzLmlzdWIoaCksdGhpcy5uZWdhdGl2ZV49MSx0aGlzLl9ub3JtU2lnbigp''@;'; put 'put ''O2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09aC5uZWdhdGl2ZSlyZXR1cm4gaC5uZWdhdGl2ZT0wLGI9dGhpcy5pc3ViKGgpLGgubmVnYXRpdmU9MSxiLl9ub3JtU2lnbigpO3RoaXMubGVuZ3RoPmgubGVuZ3RoPyh5PXRoaXMscD1oKTooeT1oLHA9dGhpcyk7Zm9yKHZhciBnPTAsXz0wO188''@;'; put 'put ''cC5sZW5ndGg7XysrKXRoaXMud29yZHNbX109NjcxMDg4NjMmKGI9KDB8eS53b3Jkc1tfXSkrKDB8cC53b3Jkc1tfXSkrZyksZz1iPj4+MjY7Zm9yKDswIT09ZyYmXzx5Lmxlbmd0aDtfKyspdGhpcy53b3Jkc1tfXT02NzEwODg2MyYoYj0oMHx5LndvcmRzW19dKStnKSxnPWI+Pj4yNjtpZih0''@;'; put 'put ''aGlzLmxlbmd0aD15Lmxlbmd0aCwwIT09Zyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoXT1nLHRoaXMubGVuZ3RoKys7ZWxzZSBpZih5IT09dGhpcylmb3IoO188eS5sZW5ndGg7XysrKXRoaXMud29yZHNbX109eS53b3Jkc1tfXTtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9u''@;'; put 'put ''KGgpe3ZhciBiO3JldHVybiAwIT09aC5uZWdhdGl2ZSYmMD09PXRoaXMubmVnYXRpdmU/KGgubmVnYXRpdmU9MCxiPXRoaXMuc3ViKGgpLGgubmVnYXRpdmVePTEsYik6MD09PWgubmVnYXRpdmUmJjAhPT10aGlzLm5lZ2F0aXZlPyh0aGlzLm5lZ2F0aXZlPTAsYj1oLnN1Yih0aGlzKSx0aGlz''@;'; put 'put ''Lm5lZ2F0aXZlPTEsYik6dGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlhZGQoaCk6aC5jbG9uZSgpLmlhZGQodGhpcyl9LG0ucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24oaCl7aWYoMCE9PWgubmVnYXRpdmUpe2gubmVnYXRpdmU9MDt2YXIgYj10aGlzLmlhZGQoaCk7cmV0dXJu''@;'; put 'put ''IGgubmVnYXRpdmU9MSxiLl9ub3JtU2lnbigpfWlmKDAhPT10aGlzLm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pYWRkKGgpLHRoaXMubmVnYXRpdmU9MSx0aGlzLl9ub3JtU2lnbigpO3ZhciB5LHAsZz10aGlzLmNtcChoKTtpZigwPT09ZylyZXR1cm4gdGhpcy5uZWdh''@;'; put 'put ''dGl2ZT0wLHRoaXMubGVuZ3RoPTEsdGhpcy53b3Jkc1swXT0wLHRoaXM7Zz4wPyh5PXRoaXMscD1oKTooeT1oLHA9dGhpcyk7Zm9yKHZhciBfPTAsRT0wO0U8cC5sZW5ndGg7RSsrKV89KGI9KDB8eS53b3Jkc1tFXSktKDB8cC53b3Jkc1tFXSkrXyk+PjI2LHRoaXMud29yZHNbRV09NjcxMDg4''@;'; put 'put ''NjMmYjtmb3IoOzAhPT1fJiZFPHkubGVuZ3RoO0UrKylfPShiPSgwfHkud29yZHNbRV0pK18pPj4yNix0aGlzLndvcmRzW0VdPTY3MTA4ODYzJmI7aWYoMD09PV8mJkU8eS5sZW5ndGgmJnkhPT10aGlzKWZvcig7RTx5Lmxlbmd0aDtFKyspdGhpcy53b3Jkc1tFXT15LndvcmRzW0VdO3JldHVy''@;'; put 'put ''biB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxFKSx5IT09dGhpcyYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKGgpfTt2YXIgVD1mdW5jdGlvbihoLGIseSl7dmFyIHAs''@;'; put 'put ''ZyxfLEU9aC53b3JkcyxXPWIud29yZHMsRz15LndvcmRzLFg9MCxuZT0wfEVbMF0sYWU9ODE5MSZuZSx1ZT1uZT4+PjEzLGJlPTB8RVsxXSxfZT04MTkxJmJlLGxlPWJlPj4+MTMsY2U9MHxFWzJdLHBlPTgxOTEmY2Usd2U9Y2U+Pj4xMyxVZT0wfEVbM10seGU9ODE5MSZVZSxFZT1VZT4+PjEz''@;'; put 'put ''LHd0PTB8RVs0XSxOZT04MTkxJnd0LEhlPXd0Pj4+MTMsUmU9MHxFWzVdLE9lPTgxOTEmUmUsTGU9UmU+Pj4xMyxpZT0wfEVbNl0sc2U9ODE5MSZpZSxkZT1pZT4+PjEzLEFlPTB8RVs3XSxrZT04MTkxJkFlLFNlPUFlPj4+MTMsJGU9MHxFWzhdLFZlPTgxOTEmJGUsR2U9JGU+Pj4xMyxxdD0w''@;'; put 'put ''fEVbOV0sS2U9ODE5MSZxdCxldD1xdD4+PjEzLF9uPTB8V1swXSxidD04MTkxJl9uLHB0PV9uPj4+MTMsR3Q9MHxXWzFdLG50PTgxOTEmR3QseXQ9R3Q+Pj4xMyxTbj0wfFdbMl0sZ3Q9ODE5MSZTbixkdD1Tbj4+PjEzLFh0PTB8V1szXSxhdD04MTkxJlh0LFFlPVh0Pj4+MTMsbW49MHxXWzRd''@;'; put 'put ''LG90PTgxOTEmbW4sdnQ9bW4+Pj4xMyx0cj0wfFdbNV0sWmU9ODE5MSZ0cixtdD10cj4+PjEzLFVuPTB8V1s2XSxmdD04MTkxJlVuLGx0PVVuPj4+MTMsWnQ9MHxXWzddLFhlPTgxOTEmWnQsRGU9WnQ+Pj4xMyx1dD0wfFdbOF0scnQ9ODE5MSZ1dCxpdD11dD4+PjEzLGJuPTB8V1s5XSxXZT04''@;'; put 'put ''MTkxJmJuLEplPWJuPj4+MTM7eS5uZWdhdGl2ZT1oLm5lZ2F0aXZlXmIubmVnYXRpdmUseS5sZW5ndGg9MTk7dmFyIE10PShYKyhwPU1hdGguaW11bChhZSxidCkpfDApKygoODE5MSYoZz0oZz1NYXRoLmltdWwoYWUscHQpKStNYXRoLmltdWwodWUsYnQpfDApKTw8MTMpfDA7WD0oKF89TWF0''@;'; put 'put ''aC5pbXVsKHVlLHB0KSkrKGc+Pj4xMyl8MCkrKE10Pj4+MjYpfDAsTXQmPTY3MTA4ODYzLHA9TWF0aC5pbXVsKF9lLGJ0KSxnPShnPU1hdGguaW11bChfZSxwdCkpK01hdGguaW11bChsZSxidCl8MCxfPU1hdGguaW11bChsZSxwdCk7dmFyIER0PShYKyhwPXArTWF0aC5pbXVsKGFlLG50KXww''@;'; put 'put ''KXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUseXQpfDApK01hdGguaW11bCh1ZSxudCl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSx5dCl8MCkrKGc+Pj4xMyl8MCkrKER0Pj4+MjYpfDAsRHQmPTY3MTA4ODYzLHA9TWF0aC5pbXVsKHBlLGJ0KSxnPShnPU1hdGguaW11''@;'; put 'put ''bChwZSxwdCkpK01hdGguaW11bCh3ZSxidCl8MCxfPU1hdGguaW11bCh3ZSxwdCkscD1wK01hdGguaW11bChfZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLHl0KXwwKStNYXRoLmltdWwobGUsbnQpfDAsXz1fK01hdGguaW11bChsZSx5dCl8MDt2YXIgQnQ9KFgrKHA9cCtNYXRoLmltdWwo''@;'; put 'put ''YWUsZ3QpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxkdCl8MCkrTWF0aC5pbXVsKHVlLGd0KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLGR0KXwwKSsoZz4+PjEzKXwwKSsoQnQ+Pj4yNil8MCxCdCY9NjcxMDg4NjMscD1NYXRoLmltdWwoeGUsYnQpLGc9KGc9''@;'; put 'put ''TWF0aC5pbXVsKHhlLHB0KSkrTWF0aC5pbXVsKEVlLGJ0KXwwLF89TWF0aC5pbXVsKEVlLHB0KSxwPXArTWF0aC5pbXVsKHBlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwocGUseXQpfDApK01hdGguaW11bCh3ZSxudCl8MCxfPV8rTWF0aC5pbXVsKHdlLHl0KXwwLHA9cCtNYXRoLmltdWwoX2Us''@;'; put 'put ''Z3QpfDAsZz0oZz1nK01hdGguaW11bChfZSxkdCl8MCkrTWF0aC5pbXVsKGxlLGd0KXwwLF89XytNYXRoLmltdWwobGUsZHQpfDA7dmFyIGVuPShYKyhwPXArTWF0aC5pbXVsKGFlLGF0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsUWUpfDApK01hdGguaW11bCh1ZSxhdCl8''@;'; put 'put ''MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxRZSl8MCkrKGc+Pj4xMyl8MCkrKGVuPj4+MjYpfDAsZW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKE5lLGJ0KSxnPShnPU1hdGguaW11bChOZSxwdCkpK01hdGguaW11bChIZSxidCl8MCxfPU1hdGguaW11bChIZSxwdCkscD1wK01hdGgu''@;'; put 'put ''aW11bCh4ZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLHl0KXwwKStNYXRoLmltdWwoRWUsbnQpfDAsXz1fK01hdGguaW11bChFZSx5dCl8MCxwPXArTWF0aC5pbXVsKHBlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsZHQpfDApK01hdGguaW11bCh3ZSxndCl8MCxfPV8rTWF0aC5pbXVs''@;'; put 'put ''KHdlLGR0KXwwLHA9cCtNYXRoLmltdWwoX2UsYXQpfDAsZz0oZz1nK01hdGguaW11bChfZSxRZSl8MCkrTWF0aC5pbXVsKGxlLGF0KXwwLF89XytNYXRoLmltdWwobGUsUWUpfDA7dmFyIFl0PShYKyhwPXArTWF0aC5pbXVsKGFlLG90KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwo''@;'; put 'put ''YWUsdnQpfDApK01hdGguaW11bCh1ZSxvdCl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSx2dCl8MCkrKGc+Pj4xMyl8MCkrKFl0Pj4+MjYpfDAsWXQmPTY3MTA4ODYzLHA9TWF0aC5pbXVsKE9lLGJ0KSxnPShnPU1hdGguaW11bChPZSxwdCkpK01hdGguaW11bChMZSxidCl8MCxf''@;'; put 'put ''PU1hdGguaW11bChMZSxwdCkscD1wK01hdGguaW11bChOZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLHl0KXwwKStNYXRoLmltdWwoSGUsbnQpfDAsXz1fK01hdGguaW11bChIZSx5dCl8MCxwPXArTWF0aC5pbXVsKHhlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsZHQpfDApK01hdGgu''@;'; put 'put ''aW11bChFZSxndCl8MCxfPV8rTWF0aC5pbXVsKEVlLGR0KXwwLHA9cCtNYXRoLmltdWwocGUsYXQpfDAsZz0oZz1nK01hdGguaW11bChwZSxRZSl8MCkrTWF0aC5pbXVsKHdlLGF0KXwwLF89XytNYXRoLmltdWwod2UsUWUpfDAscD1wK01hdGguaW11bChfZSxvdCl8MCxnPShnPWcrTWF0aC5p''@;'; put 'put ''bXVsKF9lLHZ0KXwwKStNYXRoLmltdWwobGUsb3QpfDAsXz1fK01hdGguaW11bChsZSx2dCl8MDt2YXIgcm49KFgrKHA9cCtNYXRoLmltdWwoYWUsWmUpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxtdCl8MCkrTWF0aC5pbXVsKHVlLFplKXwwKSk8PDEzKXwwO1g9KChfPV8r''@;'; put 'put ''TWF0aC5pbXVsKHVlLG10KXwwKSsoZz4+PjEzKXwwKSsocm4+Pj4yNil8MCxybiY9NjcxMDg4NjMscD1NYXRoLmltdWwoc2UsYnQpLGc9KGc9TWF0aC5pbXVsKHNlLHB0KSkrTWF0aC5pbXVsKGRlLGJ0KXwwLF89TWF0aC5pbXVsKGRlLHB0KSxwPXArTWF0aC5pbXVsKE9lLG50KXwwLGc9KGc9''@;'; put 'put ''ZytNYXRoLmltdWwoT2UseXQpfDApK01hdGguaW11bChMZSxudCl8MCxfPV8rTWF0aC5pbXVsKExlLHl0KXwwLHA9cCtNYXRoLmltdWwoTmUsZ3QpfDAsZz0oZz1nK01hdGguaW11bChOZSxkdCl8MCkrTWF0aC5pbXVsKEhlLGd0KXwwLF89XytNYXRoLmltdWwoSGUsZHQpfDAscD1wK01hdGgu''@;'; put 'put ''aW11bCh4ZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLFFlKXwwKStNYXRoLmltdWwoRWUsYXQpfDAsXz1fK01hdGguaW11bChFZSxRZSl8MCxwPXArTWF0aC5pbXVsKHBlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsdnQpfDApK01hdGguaW11bCh3ZSxvdCl8MCxfPV8rTWF0aC5pbXVs''@;'; put 'put ''KHdlLHZ0KXwwLHA9cCtNYXRoLmltdWwoX2UsWmUpfDAsZz0oZz1nK01hdGguaW11bChfZSxtdCl8MCkrTWF0aC5pbXVsKGxlLFplKXwwLF89XytNYXRoLmltdWwobGUsbXQpfDA7dmFyIGFuPShYKyhwPXArTWF0aC5pbXVsKGFlLGZ0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwo''@;'; put 'put ''YWUsbHQpfDApK01hdGguaW11bCh1ZSxmdCl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxsdCl8MCkrKGc+Pj4xMyl8MCkrKGFuPj4+MjYpfDAsYW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKGtlLGJ0KSxnPShnPU1hdGguaW11bChrZSxwdCkpK01hdGguaW11bChTZSxidCl8MCxf''@;'; put 'put ''PU1hdGguaW11bChTZSxwdCkscD1wK01hdGguaW11bChzZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLHl0KXwwKStNYXRoLmltdWwoZGUsbnQpfDAsXz1fK01hdGguaW11bChkZSx5dCl8MCxwPXArTWF0aC5pbXVsKE9lLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsZHQpfDApK01hdGgu''@;'; put 'put ''aW11bChMZSxndCl8MCxfPV8rTWF0aC5pbXVsKExlLGR0KXwwLHA9cCtNYXRoLmltdWwoTmUsYXQpfDAsZz0oZz1nK01hdGguaW11bChOZSxRZSl8MCkrTWF0aC5pbXVsKEhlLGF0KXwwLF89XytNYXRoLmltdWwoSGUsUWUpfDAscD1wK01hdGguaW11bCh4ZSxvdCl8MCxnPShnPWcrTWF0aC5p''@;'; put 'put ''bXVsKHhlLHZ0KXwwKStNYXRoLmltdWwoRWUsb3QpfDAsXz1fK01hdGguaW11bChFZSx2dCl8MCxwPXArTWF0aC5pbXVsKHBlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwocGUsbXQpfDApK01hdGguaW11bCh3ZSxaZSl8MCxfPV8rTWF0aC5pbXVsKHdlLG10KXwwLHA9cCtNYXRoLmltdWwoX2Us''@;'; put 'put ''ZnQpfDAsZz0oZz1nK01hdGguaW11bChfZSxsdCl8MCkrTWF0aC5pbXVsKGxlLGZ0KXwwLF89XytNYXRoLmltdWwobGUsbHQpfDA7dmFyIGxuPShYKyhwPXArTWF0aC5pbXVsKGFlLFhlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsRGUpfDApK01hdGguaW11bCh1ZSxYZSl8''@;'; put 'put ''MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxEZSl8MCkrKGc+Pj4xMyl8MCkrKGxuPj4+MjYpfDAsbG4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKFZlLGJ0KSxnPShnPU1hdGguaW11bChWZSxwdCkpK01hdGguaW11bChHZSxidCl8MCxfPU1hdGguaW11bChHZSxwdCkscD1wK01hdGgu''@;'; put 'put ''aW11bChrZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLHl0KXwwKStNYXRoLmltdWwoU2UsbnQpfDAsXz1fK01hdGguaW11bChTZSx5dCl8MCxwPXArTWF0aC5pbXVsKHNlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsZHQpfDApK01hdGguaW11bChkZSxndCl8MCxfPV8rTWF0aC5pbXVs''@;'; put 'put ''KGRlLGR0KXwwLHA9cCtNYXRoLmltdWwoT2UsYXQpfDAsZz0oZz1nK01hdGguaW11bChPZSxRZSl8MCkrTWF0aC5pbXVsKExlLGF0KXwwLF89XytNYXRoLmltdWwoTGUsUWUpfDAscD1wK01hdGguaW11bChOZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLHZ0KXwwKStNYXRoLmltdWwoSGUs''@;'; put 'put ''b3QpfDAsXz1fK01hdGguaW11bChIZSx2dCl8MCxwPXArTWF0aC5pbXVsKHhlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsbXQpfDApK01hdGguaW11bChFZSxaZSl8MCxfPV8rTWF0aC5pbXVsKEVlLG10KXwwLHA9cCtNYXRoLmltdWwocGUsZnQpfDAsZz0oZz1nK01hdGguaW11bChwZSxs''@;'; put 'put ''dCl8MCkrTWF0aC5pbXVsKHdlLGZ0KXwwLF89XytNYXRoLmltdWwod2UsbHQpfDAscD1wK01hdGguaW11bChfZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLERlKXwwKStNYXRoLmltdWwobGUsWGUpfDAsXz1fK01hdGguaW11bChsZSxEZSl8MDt2YXIgTW49KFgrKHA9cCtNYXRoLmltdWwo''@;'; put 'put ''YWUscnQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxpdCl8MCkrTWF0aC5pbXVsKHVlLHJ0KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLGl0KXwwKSsoZz4+PjEzKXwwKSsoTW4+Pj4yNil8MCxNbiY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsYnQpLGc9KGc9''@;'; put 'put ''TWF0aC5pbXVsKEtlLHB0KSkrTWF0aC5pbXVsKGV0LGJ0KXwwLF89TWF0aC5pbXVsKGV0LHB0KSxwPXArTWF0aC5pbXVsKFZlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUseXQpfDApK01hdGguaW11bChHZSxudCl8MCxfPV8rTWF0aC5pbXVsKEdlLHl0KXwwLHA9cCtNYXRoLmltdWwoa2Us''@;'; put 'put ''Z3QpfDAsZz0oZz1nK01hdGguaW11bChrZSxkdCl8MCkrTWF0aC5pbXVsKFNlLGd0KXwwLF89XytNYXRoLmltdWwoU2UsZHQpfDAscD1wK01hdGguaW11bChzZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLFFlKXwwKStNYXRoLmltdWwoZGUsYXQpfDAsXz1fK01hdGguaW11bChkZSxRZSl8''@;'; put 'put ''MCxwPXArTWF0aC5pbXVsKE9lLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsdnQpfDApK01hdGguaW11bChMZSxvdCl8MCxfPV8rTWF0aC5pbXVsKExlLHZ0KXwwLHA9cCtNYXRoLmltdWwoTmUsWmUpfDAsZz0oZz1nK01hdGguaW11bChOZSxtdCl8MCkrTWF0aC5pbXVsKEhlLFplKXwwLF89''@;'; put 'put ''XytNYXRoLmltdWwoSGUsbXQpfDAscD1wK01hdGguaW11bCh4ZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLGx0KXwwKStNYXRoLmltdWwoRWUsZnQpfDAsXz1fK01hdGguaW11bChFZSxsdCl8MCxwPXArTWF0aC5pbXVsKHBlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwocGUsRGUpfDApK01h''@;'; put 'put ''dGguaW11bCh3ZSxYZSl8MCxfPV8rTWF0aC5pbXVsKHdlLERlKXwwLHA9cCtNYXRoLmltdWwoX2UscnQpfDAsZz0oZz1nK01hdGguaW11bChfZSxpdCl8MCkrTWF0aC5pbXVsKGxlLHJ0KXwwLF89XytNYXRoLmltdWwobGUsaXQpfDA7dmFyIG5uPShYKyhwPXArTWF0aC5pbXVsKGFlLFdlKXww''@;'; put 'put ''KXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsSmUpfDApK01hdGguaW11bCh1ZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKG5uPj4+MjYpfDAsbm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLG50KSxnPShnPU1hdGguaW11''@;'; put 'put ''bChLZSx5dCkpK01hdGguaW11bChldCxudCl8MCxfPU1hdGguaW11bChldCx5dCkscD1wK01hdGguaW11bChWZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLGR0KXwwKStNYXRoLmltdWwoR2UsZ3QpfDAsXz1fK01hdGguaW11bChHZSxkdCl8MCxwPXArTWF0aC5pbXVsKGtlLGF0KXwwLGc9''@;'; put 'put ''KGc9ZytNYXRoLmltdWwoa2UsUWUpfDApK01hdGguaW11bChTZSxhdCl8MCxfPV8rTWF0aC5pbXVsKFNlLFFlKXwwLHA9cCtNYXRoLmltdWwoc2Usb3QpfDAsZz0oZz1nK01hdGguaW11bChzZSx2dCl8MCkrTWF0aC5pbXVsKGRlLG90KXwwLF89XytNYXRoLmltdWwoZGUsdnQpfDAscD1wK01h''@;'; put 'put ''dGguaW11bChPZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLG10KXwwKStNYXRoLmltdWwoTGUsWmUpfDAsXz1fK01hdGguaW11bChMZSxtdCl8MCxwPXArTWF0aC5pbXVsKE5lLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsbHQpfDApK01hdGguaW11bChIZSxmdCl8MCxfPV8rTWF0aC5p''@;'; put 'put ''bXVsKEhlLGx0KXwwLHA9cCtNYXRoLmltdWwoeGUsWGUpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxEZSl8MCkrTWF0aC5pbXVsKEVlLFhlKXwwLF89XytNYXRoLmltdWwoRWUsRGUpfDAscD1wK01hdGguaW11bChwZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLGl0KXwwKStNYXRoLmltdWwo''@;'; put 'put ''d2UscnQpfDAsXz1fK01hdGguaW11bCh3ZSxpdCl8MDt2YXIgUW49KFgrKHA9cCtNYXRoLmltdWwoX2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChfZSxKZSl8MCkrTWF0aC5pbXVsKGxlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKGxlLEplKXwwKSsoZz4+''@;'; put 'put ''PjEzKXwwKSsoUW4+Pj4yNil8MCxRbiY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsZ3QpLGc9KGc9TWF0aC5pbXVsKEtlLGR0KSkrTWF0aC5pbXVsKGV0LGd0KXwwLF89TWF0aC5pbXVsKGV0LGR0KSxwPXArTWF0aC5pbXVsKFZlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsUWUpfDApK01h''@;'; put 'put ''dGguaW11bChHZSxhdCl8MCxfPV8rTWF0aC5pbXVsKEdlLFFlKXwwLHA9cCtNYXRoLmltdWwoa2Usb3QpfDAsZz0oZz1nK01hdGguaW11bChrZSx2dCl8MCkrTWF0aC5pbXVsKFNlLG90KXwwLF89XytNYXRoLmltdWwoU2UsdnQpfDAscD1wK01hdGguaW11bChzZSxaZSl8MCxnPShnPWcrTWF0''@;'; put 'put ''aC5pbXVsKHNlLG10KXwwKStNYXRoLmltdWwoZGUsWmUpfDAsXz1fK01hdGguaW11bChkZSxtdCl8MCxwPXArTWF0aC5pbXVsKE9lLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsbHQpfDApK01hdGguaW11bChMZSxmdCl8MCxfPV8rTWF0aC5pbXVsKExlLGx0KXwwLHA9cCtNYXRoLmltdWwo''@;'; put 'put ''TmUsWGUpfDAsZz0oZz1nK01hdGguaW11bChOZSxEZSl8MCkrTWF0aC5pbXVsKEhlLFhlKXwwLF89XytNYXRoLmltdWwoSGUsRGUpfDAscD1wK01hdGguaW11bCh4ZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLGl0KXwwKStNYXRoLmltdWwoRWUscnQpfDAsXz1fK01hdGguaW11bChFZSxp''@;'; put 'put ''dCl8MDt2YXIgWm49KFgrKHA9cCtNYXRoLmltdWwocGUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChwZSxKZSl8MCkrTWF0aC5pbXVsKHdlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHdlLEplKXwwKSsoZz4+PjEzKXwwKSsoWm4+Pj4yNil8MCxabiY9Njcx''@;'; put 'put ''MDg4NjMscD1NYXRoLmltdWwoS2UsYXQpLGc9KGc9TWF0aC5pbXVsKEtlLFFlKSkrTWF0aC5pbXVsKGV0LGF0KXwwLF89TWF0aC5pbXVsKGV0LFFlKSxwPXArTWF0aC5pbXVsKFZlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsdnQpfDApK01hdGguaW11bChHZSxvdCl8MCxfPV8rTWF0aC5p''@;'; put 'put ''bXVsKEdlLHZ0KXwwLHA9cCtNYXRoLmltdWwoa2UsWmUpfDAsZz0oZz1nK01hdGguaW11bChrZSxtdCl8MCkrTWF0aC5pbXVsKFNlLFplKXwwLF89XytNYXRoLmltdWwoU2UsbXQpfDAscD1wK01hdGguaW11bChzZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLGx0KXwwKStNYXRoLmltdWwo''@;'; put 'put ''ZGUsZnQpfDAsXz1fK01hdGguaW11bChkZSxsdCl8MCxwPXArTWF0aC5pbXVsKE9lLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsRGUpfDApK01hdGguaW11bChMZSxYZSl8MCxfPV8rTWF0aC5pbXVsKExlLERlKXwwLHA9cCtNYXRoLmltdWwoTmUscnQpfDAsZz0oZz1nK01hdGguaW11bChO''@;'; put 'put ''ZSxpdCl8MCkrTWF0aC5pbXVsKEhlLHJ0KXwwLF89XytNYXRoLmltdWwoSGUsaXQpfDA7dmFyIGxyPShYKyhwPXArTWF0aC5pbXVsKHhlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoeGUsSmUpfDApK01hdGguaW11bChFZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGgu''@;'; put 'put ''aW11bChFZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKGxyPj4+MjYpfDAsbHImPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLG90KSxnPShnPU1hdGguaW11bChLZSx2dCkpK01hdGguaW11bChldCxvdCl8MCxfPU1hdGguaW11bChldCx2dCkscD1wK01hdGguaW11bChWZSxaZSl8MCxnPShnPWcrTWF0''@;'; put 'put ''aC5pbXVsKFZlLG10KXwwKStNYXRoLmltdWwoR2UsWmUpfDAsXz1fK01hdGguaW11bChHZSxtdCl8MCxwPXArTWF0aC5pbXVsKGtlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsbHQpfDApK01hdGguaW11bChTZSxmdCl8MCxfPV8rTWF0aC5pbXVsKFNlLGx0KXwwLHA9cCtNYXRoLmltdWwo''@;'; put 'put ''c2UsWGUpfDAsZz0oZz1nK01hdGguaW11bChzZSxEZSl8MCkrTWF0aC5pbXVsKGRlLFhlKXwwLF89XytNYXRoLmltdWwoZGUsRGUpfDAscD1wK01hdGguaW11bChPZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLGl0KXwwKStNYXRoLmltdWwoTGUscnQpfDAsXz1fK01hdGguaW11bChMZSxp''@;'; put 'put ''dCl8MDt2YXIgd249KFgrKHA9cCtNYXRoLmltdWwoTmUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChOZSxKZSl8MCkrTWF0aC5pbXVsKEhlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKEhlLEplKXwwKSsoZz4+PjEzKXwwKSsod24+Pj4yNil8MCx3biY9Njcx''@;'; put 'put ''MDg4NjMscD1NYXRoLmltdWwoS2UsWmUpLGc9KGc9TWF0aC5pbXVsKEtlLG10KSkrTWF0aC5pbXVsKGV0LFplKXwwLF89TWF0aC5pbXVsKGV0LG10KSxwPXArTWF0aC5pbXVsKFZlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsbHQpfDApK01hdGguaW11bChHZSxmdCl8MCxfPV8rTWF0aC5p''@;'; put 'put ''bXVsKEdlLGx0KXwwLHA9cCtNYXRoLmltdWwoa2UsWGUpfDAsZz0oZz1nK01hdGguaW11bChrZSxEZSl8MCkrTWF0aC5pbXVsKFNlLFhlKXwwLF89XytNYXRoLmltdWwoU2UsRGUpfDAscD1wK01hdGguaW11bChzZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLGl0KXwwKStNYXRoLmltdWwo''@;'; put 'put ''ZGUscnQpfDAsXz1fK01hdGguaW11bChkZSxpdCl8MDt2YXIgdnI9KFgrKHA9cCtNYXRoLmltdWwoT2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChPZSxKZSl8MCkrTWF0aC5pbXVsKExlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKExlLEplKXwwKSsoZz4+''@;'; put 'put ''PjEzKXwwKSsodnI+Pj4yNil8MCx2ciY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsZnQpLGc9KGc9TWF0aC5pbXVsKEtlLGx0KSkrTWF0aC5pbXVsKGV0LGZ0KXwwLF89TWF0aC5pbXVsKGV0LGx0KSxwPXArTWF0aC5pbXVsKFZlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsRGUpfDApK01h''@;'; put 'put ''dGguaW11bChHZSxYZSl8MCxfPV8rTWF0aC5pbXVsKEdlLERlKXwwLHA9cCtNYXRoLmltdWwoa2UscnQpfDAsZz0oZz1nK01hdGguaW11bChrZSxpdCl8MCkrTWF0aC5pbXVsKFNlLHJ0KXwwLF89XytNYXRoLmltdWwoU2UsaXQpfDA7dmFyIHZuPShYKyhwPXArTWF0aC5pbXVsKHNlLFdlKXww''@;'; put 'put ''KXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoc2UsSmUpfDApK01hdGguaW11bChkZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChkZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKHZuPj4+MjYpfDAsdm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLFhlKSxnPShnPU1hdGguaW11''@;'; put 'put ''bChLZSxEZSkpK01hdGguaW11bChldCxYZSl8MCxfPU1hdGguaW11bChldCxEZSkscD1wK01hdGguaW11bChWZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLGl0KXwwKStNYXRoLmltdWwoR2UscnQpfDAsXz1fK01hdGguaW11bChHZSxpdCl8MDt2YXIgY3I9KFgrKHA9cCtNYXRoLmltdWwo''@;'; put 'put ''a2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChrZSxKZSl8MCkrTWF0aC5pbXVsKFNlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKFNlLEplKXwwKSsoZz4+PjEzKXwwKSsoY3I+Pj4yNil8MCxjciY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UscnQpLGc9KGc9''@;'; put 'put ''TWF0aC5pbXVsKEtlLGl0KSkrTWF0aC5pbXVsKGV0LHJ0KXwwLF89TWF0aC5pbXVsKGV0LGl0KTt2YXIgb3I9KFgrKHA9cCtNYXRoLmltdWwoVmUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChWZSxKZSl8MCkrTWF0aC5pbXVsKEdlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8r''@;'; put 'put ''TWF0aC5pbXVsKEdlLEplKXwwKSsoZz4+PjEzKXwwKSsob3I+Pj4yNil8MCxvciY9NjcxMDg4NjM7dmFyIENuPShYKyhwPU1hdGguaW11bChLZSxXZSkpfDApKygoODE5MSYoZz0oZz1NYXRoLmltdWwoS2UsSmUpKStNYXRoLmltdWwoZXQsV2UpfDApKTw8MTMpfDA7cmV0dXJuIFg9KChfPU1h''@;'; put 'put ''dGguaW11bChldCxKZSkpKyhnPj4+MTMpfDApKyhDbj4+PjI2KXwwLENuJj02NzEwODg2MyxHWzBdPU10LEdbMV09RHQsR1syXT1CdCxHWzNdPWVuLEdbNF09WXQsR1s1XT1ybixHWzZdPWFuLEdbN109bG4sR1s4XT1NbixHWzldPW5uLEdbMTBdPVFuLEdbMTFdPVpuLEdbMTJdPWxyLEdbMTNd''@;'; put 'put ''PXduLEdbMTRdPXZyLEdbMTVdPXZuLEdbMTZdPWNyLEdbMTddPW9yLEdbMThdPUNuLDAhPT1YJiYoR1sxOV09WCx5Lmxlbmd0aCsrKSx5fTtmdW5jdGlvbiBZKGgsYix5KXtyZXR1cm4obmV3IEkpLm11bHAoaCxiLHkpfWZ1bmN0aW9uIEkoaCxiKXt0aGlzLng9aCx0aGlzLnk9Yn1NYXRoLmlt''@;'; put 'put ''dWx8fChUPUwpLG0ucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uKGgsYil7dmFyIHA9dGhpcy5sZW5ndGgraC5sZW5ndGg7cmV0dXJuIDEwPT09dGhpcy5sZW5ndGgmJjEwPT09aC5sZW5ndGg/VCh0aGlzLGgsYik6cDw2Mz9MKHRoaXMsaCxiKTpwPDEwMjQ/ZnVuY3Rpb24oZyxfLEUpe0UubmVn''@;'; put 'put ''YXRpdmU9Xy5uZWdhdGl2ZV5nLm5lZ2F0aXZlLEUubGVuZ3RoPWcubGVuZ3RoK18ubGVuZ3RoO2Zvcih2YXIgVz0wLEc9MCxYPTA7WDxFLmxlbmd0aC0xO1grKyl7dmFyIG5lPUc7Rz0wO2Zvcih2YXIgYWU9NjcxMDg4NjMmVyx1ZT1NYXRoLm1pbihYLF8ubGVuZ3RoLTEpLGJlPU1hdGgubWF4''@;'; put 'put ''KDAsWC1nLmxlbmd0aCsxKTtiZTw9dWU7YmUrKyl7dmFyIGxlPSgwfGcud29yZHNbWC1iZV0pKigwfF8ud29yZHNbYmVdKSxjZT02NzEwODg2MyZsZTthZT02NzEwODg2MyYoY2U9Y2UrYWV8MCksRys9KG5lPShuZT1uZSsobGUvNjcxMDg4NjR8MCl8MCkrKGNlPj4+MjYpfDApPj4+MjYsbmUm''@;'; put 'put ''PTY3MTA4ODYzfUUud29yZHNbWF09YWUsVz1uZSxuZT1HfXJldHVybiAwIT09Vz9FLndvcmRzW1hdPVc6RS5sZW5ndGgtLSxFLnN0cmlwKCl9KHRoaXMsaCxiKTpZKHRoaXMsaCxiKX0sSS5wcm90b3R5cGUubWFrZVJCVD1mdW5jdGlvbihoKXtmb3IodmFyIGI9bmV3IEFycmF5KGgpLHk9bS5w''@;'; put 'put ''cm90b3R5cGUuX2NvdW50Qml0cyhoKS0xLHA9MDtwPGg7cCsrKWJbcF09dGhpcy5yZXZCaW4ocCx5LGgpO3JldHVybiBifSxJLnByb3RvdHlwZS5yZXZCaW49ZnVuY3Rpb24oaCxiLHkpe2lmKDA9PT1ofHxoPT09eS0xKXJldHVybiBoO2Zvcih2YXIgcD0wLGc9MDtnPGI7ZysrKXB8PSgxJmgp''@;'; put 'put ''PDxiLWctMSxoPj49MTtyZXR1cm4gcH0sSS5wcm90b3R5cGUucGVybXV0ZT1mdW5jdGlvbihoLGIseSxwLGcsXyl7Zm9yKHZhciBFPTA7RTxfO0UrKylwW0VdPWJbaFtFXV0sZ1tFXT15W2hbRV1dfSxJLnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24oaCxiLHkscCxnLF8pe3RoaXMucGVy''@;'; put 'put ''bXV0ZShfLGgsYix5LHAsZyk7Zm9yKHZhciBFPTE7RTxnO0U8PD0xKWZvcih2YXIgVz1FPDwxLEc9TWF0aC5jb3MoMipNYXRoLlBJL1cpLFg9TWF0aC5zaW4oMipNYXRoLlBJL1cpLG5lPTA7bmU8ZztuZSs9Vylmb3IodmFyIGFlPUcsdWU9WCxiZT0wO2JlPEU7YmUrKyl7dmFyIF9lPXlbbmUr''@;'; put 'put ''YmVdLGxlPXBbbmUrYmVdLGNlPXlbbmUrYmUrRV0scGU9cFtuZStiZStFXSx3ZT1hZSpjZS11ZSpwZTtwZT1hZSpwZSt1ZSpjZSx5W25lK2JlXT1fZSsoY2U9d2UpLHBbbmUrYmVdPWxlK3BlLHlbbmUrYmUrRV09X2UtY2UscFtuZStiZStFXT1sZS1wZSxiZSE9PVcmJih3ZT1HKmFlLVgqdWUs''@;'; put 'put ''dWU9Ryp1ZStYKmFlLGFlPXdlKX19LEkucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKGgsYil7dmFyIHk9MXxNYXRoLm1heChiLGgpLHA9MSZ5LGc9MDtmb3IoeT15LzJ8MDt5O3k+Pj49MSlnKys7cmV0dXJuIDE8PGcrMStwfSxJLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24o''@;'; put 'put ''aCxiLHkpe2lmKCEoeTw9MSkpZm9yKHZhciBwPTA7cDx5LzI7cCsrKXt2YXIgZz1oW3BdO2hbcF09aFt5LXAtMV0saFt5LXAtMV09ZyxnPWJbcF0sYltwXT0tYlt5LXAtMV0sYlt5LXAtMV09LWd9fSxJLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24oaCxiKXtmb3IodmFyIHk9MCxw''@;'; put 'put ''PTA7cDxiLzI7cCsrKXt2YXIgZz04MTkyKk1hdGgucm91bmQoaFsyKnArMV0vYikrTWF0aC5yb3VuZChoWzIqcF0vYikreTtoW3BdPTY3MTA4ODYzJmcseT1nPDY3MTA4ODY0PzA6Zy82NzEwODg2NHwwfXJldHVybiBofSxJLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKGgsYix5LHAp''@;'; put 'put ''e2Zvcih2YXIgZz0wLF89MDtfPGI7XysrKXlbMipfXT04MTkxJihnKz0wfGhbX10pLHlbMipfKzFdPTgxOTEmKGc+Pj49MTMpLGc+Pj49MTM7Zm9yKF89MipiO188cDsrK18peVtfXT0wO0MoMD09PWcpLEMoMD09KC04MTkyJmcpKX0sSS5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbihoKXtmb3Io''@;'; put 'put ''dmFyIGI9bmV3IEFycmF5KGgpLHk9MDt5PGg7eSsrKWJbeV09MDtyZXR1cm4gYn0sSS5wcm90b3R5cGUubXVscD1mdW5jdGlvbihoLGIseSl7dmFyIHA9Mip0aGlzLmd1ZXNzTGVuMTNiKGgubGVuZ3RoLGIubGVuZ3RoKSxnPXRoaXMubWFrZVJCVChwKSxfPXRoaXMuc3R1YihwKSxFPW5ldyBB''@;'; put 'put ''cnJheShwKSxXPW5ldyBBcnJheShwKSxHPW5ldyBBcnJheShwKSxYPW5ldyBBcnJheShwKSxuZT1uZXcgQXJyYXkocCksYWU9bmV3IEFycmF5KHApLHVlPXkud29yZHM7dWUubGVuZ3RoPXAsdGhpcy5jb252ZXJ0MTNiKGgud29yZHMsaC5sZW5ndGgsRSxwKSx0aGlzLmNvbnZlcnQxM2IoYi53''@;'; put 'put ''b3JkcyxiLmxlbmd0aCxYLHApLHRoaXMudHJhbnNmb3JtKEUsXyxXLEcscCxnKSx0aGlzLnRyYW5zZm9ybShYLF8sbmUsYWUscCxnKTtmb3IodmFyIGJlPTA7YmU8cDtiZSsrKXt2YXIgX2U9V1tiZV0qbmVbYmVdLUdbYmVdKmFlW2JlXTtHW2JlXT1XW2JlXSphZVtiZV0rR1tiZV0qbmVbYmVd''@;'; put 'put ''LFdbYmVdPV9lfXJldHVybiB0aGlzLmNvbmp1Z2F0ZShXLEcscCksdGhpcy50cmFuc2Zvcm0oVyxHLHVlLF8scCxnKSx0aGlzLmNvbmp1Z2F0ZSh1ZSxfLHApLHRoaXMubm9ybWFsaXplMTNiKHVlLHApLHkubmVnYXRpdmU9aC5uZWdhdGl2ZV5iLm5lZ2F0aXZlLHkubGVuZ3RoPWgubGVuZ3Ro''@;'; put 'put ''K2IubGVuZ3RoLHkuc3RyaXAoKX0sbS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGgpe3ZhciBiPW5ldyBtKG51bGwpO3JldHVybiBiLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtoLmxlbmd0aCksdGhpcy5tdWxUbyhoLGIpfSxtLnByb3RvdHlwZS5tdWxmPWZ1bmN0aW9uKGgpe3ZhciBi''@;'; put 'put ''PW5ldyBtKG51bGwpO3JldHVybiBiLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtoLmxlbmd0aCksWSh0aGlzLGgsYil9LG0ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhoLHRoaXMpfSxtLnByb3RvdHlwZS5pbXVsbj1mdW5jdGlvbiho''@;'; put 'put ''KXtDKCJudW1iZXIiPT10eXBlb2YgaCksQyhoPDY3MTA4ODY0KTtmb3IodmFyIGI9MCx5PTA7eTx0aGlzLmxlbmd0aDt5Kyspe3ZhciBwPSgwfHRoaXMud29yZHNbeV0pKmgsZz0oNjcxMDg4NjMmcCkrKDY3MTA4ODYzJmIpO2I+Pj0yNixiKz1wLzY3MTA4ODY0fDAsYis9Zz4+PjI2LHRoaXMu''@;'; put 'put ''d29yZHNbeV09NjcxMDg4NjMmZ31yZXR1cm4gMCE9PWImJih0aGlzLndvcmRzW3ldPWIsdGhpcy5sZW5ndGgrKyksdGhpc30sbS5wcm90b3R5cGUubXVsbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKGgpfSxtLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''dGhpcy5tdWwodGhpcyl9LG0ucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSl9LG0ucHJvdG90eXBlLnBvdz1mdW5jdGlvbihoKXt2YXIgYj1mdW5jdGlvbihfKXtmb3IodmFyIEU9bmV3IEFycmF5KF8uYml0TGVuZ3RoKCkpLFc9MDtXPEUu''@;'; put 'put ''bGVuZ3RoO1crKyl7dmFyIFg9VyUyNjtFW1ddPShfLndvcmRzW1cvMjZ8MF0mMTw8WCk+Pj5YfXJldHVybiBFfShoKTtpZigwPT09Yi5sZW5ndGgpcmV0dXJuIG5ldyBtKDEpO2Zvcih2YXIgeT10aGlzLHA9MDtwPGIubGVuZ3RoJiYwPT09YltwXTtwKysseT15LnNxcigpKTtpZigrK3A8Yi5s''@;'; put 'put ''ZW5ndGgpZm9yKHZhciBnPXkuc3FyKCk7cDxiLmxlbmd0aDtwKyssZz1nLnNxcigpKTAhPT1iW3BdJiYoeT15Lm11bChnKSk7cmV0dXJuIHl9LG0ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIGIseT1oJTI2LHA9KGgteSkvMjYs''@;'; put 'put ''Zz02NzEwODg2Mz4+PjI2LXk8PDI2LXk7aWYoMCE9PXkpe3ZhciBfPTA7Zm9yKGI9MDtiPHRoaXMubGVuZ3RoO2IrKyl7dmFyIEU9dGhpcy53b3Jkc1tiXSZnO3RoaXMud29yZHNbYl09KDB8dGhpcy53b3Jkc1tiXSktRTw8eXxfLF89RT4+PjI2LXl9XyYmKHRoaXMud29yZHNbYl09Xyx0aGlz''@;'; put 'put ''Lmxlbmd0aCsrKX1pZigwIT09cCl7Zm9yKGI9dGhpcy5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLndvcmRzW2IrcF09dGhpcy53b3Jkc1tiXTtmb3IoYj0wO2I8cDtiKyspdGhpcy53b3Jkc1tiXT0wO3RoaXMubGVuZ3RoKz1wfXJldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlzaGxu''@;'; put 'put ''PWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hsbihoKX0sbS5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKGgsYix5KXt2YXIgcDtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCkscD1iPyhiLWIlMjYpLzI2OjA7dmFyIGc9aCUyNixfPU1hdGgubWlu''@;'; put 'put ''KChoLWcpLzI2LHRoaXMubGVuZ3RoKSxFPTY3MTA4ODYzXjY3MTA4ODYzPj4+Zzw8ZyxXPXk7aWYocC09XyxwPU1hdGgubWF4KDAscCksVyl7Zm9yKHZhciBHPTA7RzxfO0crKylXLndvcmRzW0ddPXRoaXMud29yZHNbR107Vy5sZW5ndGg9X31pZigwIT09XylpZih0aGlzLmxlbmd0aD5fKWZv''@;'; put 'put ''cih0aGlzLmxlbmd0aC09XyxHPTA7Rzx0aGlzLmxlbmd0aDtHKyspdGhpcy53b3Jkc1tHXT10aGlzLndvcmRzW0crX107ZWxzZSB0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MTt2YXIgWD0wO2ZvcihHPXRoaXMubGVuZ3RoLTE7Rz49MCYmKDAhPT1YfHxHPj1wKTtHLS0pe3ZhciBuZT0w''@;'; put 'put ''fHRoaXMud29yZHNbR107dGhpcy53b3Jkc1tHXT1YPDwyNi1nfG5lPj4+ZyxYPW5lJkV9cmV0dXJuIFcmJjAhPT1YJiYoVy53b3Jkc1tXLmxlbmd0aCsrXT1YKSwwPT09dGhpcy5sZW5ndGgmJih0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MSksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlw''@;'; put 'put ''ZS5pc2hybj1mdW5jdGlvbihoLGIseSl7cmV0dXJuIEMoMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaHJuKGgsYix5KX0sbS5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGgpfSxtLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbihoKXtyZXR1''@;'; put 'put ''cm4gdGhpcy5jbG9uZSgpLml1c2hsbihoKX0sbS5wcm90b3R5cGUuc2hybj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGgpfSxtLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihoKX0sbS5wcm90b3R5cGUudGVzdG49''@;'; put 'put ''ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3ZhciBiPWglMjYseT0oaC1iKS8yNjtyZXR1cm4hKHRoaXMubGVuZ3RoPD15fHwhKHRoaXMud29yZHNbeV0mMTw8YikpfSxtLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+''@;'; put 'put ''PTApO3ZhciBiPWglMjYseT0oaC1iKS8yNjtyZXR1cm4gQygwPT09dGhpcy5uZWdhdGl2ZSwiaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzIiksdGhpcy5sZW5ndGg8PXk/dGhpczooMCE9PWImJnkrKyx0aGlzLmxlbmd0aD1NYXRoLm1pbih5LHRoaXMubGVuZ3RoKSww''@;'; put 'put ''IT09YiYmKHRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0mPTY3MTA4ODYzXjY3MTA4ODYzPj4+Yjw8YiksdGhpcy5zdHJpcCgpKX0sbS5wcm90b3R5cGUubWFza249ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oaCl9LG0ucHJvdG90eXBlLmlhZGRuPWZ1bmN0aW9uKGgp''@;'; put 'put ''e3JldHVybiBDKCJudW1iZXIiPT10eXBlb2YgaCksQyhoPDY3MTA4ODY0KSxoPDA/dGhpcy5pc3VibigtaCk6MCE9PXRoaXMubmVnYXRpdmU/MT09PXRoaXMubGVuZ3RoJiYoMHx0aGlzLndvcmRzWzBdKTxoPyh0aGlzLndvcmRzWzBdPWgtKDB8dGhpcy53b3Jkc1swXSksdGhpcy5uZWdhdGl2''@;'; put 'put ''ZT0wLHRoaXMpOih0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pc3VibihoKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcyk6dGhpcy5faWFkZG4oaCl9LG0ucHJvdG90eXBlLl9pYWRkbj1mdW5jdGlvbihoKXt0aGlzLndvcmRzWzBdKz1oO2Zvcih2YXIgYj0wO2I8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNb''@;'; put 'put ''Yl0+PTY3MTA4ODY0O2IrKyl0aGlzLndvcmRzW2JdLT02NzEwODg2NCxiPT09dGhpcy5sZW5ndGgtMT90aGlzLndvcmRzW2IrMV09MTp0aGlzLndvcmRzW2IrMV0rKztyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsYisxKSx0aGlzfSxtLnByb3RvdHlwZS5pc3Vibj1m''@;'; put 'put ''dW5jdGlvbihoKXtpZihDKCJudW1iZXIiPT10eXBlb2YgaCksQyhoPDY3MTA4ODY0KSxoPDApcmV0dXJuIHRoaXMuaWFkZG4oLWgpO2lmKDAhPT10aGlzLm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pYWRkbihoKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcztpZih0aGlzLndv''@;'; put 'put ''cmRzWzBdLT1oLDE9PT10aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1swXTwwKXRoaXMud29yZHNbMF09LXRoaXMud29yZHNbMF0sdGhpcy5uZWdhdGl2ZT0xO2Vsc2UgZm9yKHZhciBiPTA7Yjx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tiXTwwO2IrKyl0aGlzLndvcmRzW2JdKz02NzEwODg2NCx0''@;'; put 'put ''aGlzLndvcmRzW2IrMV0tPTE7cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuYWRkbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKGgpfSxtLnByb3RvdHlwZS5zdWJuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4oaCl9LG0ucHJvdG90''@;'; put 'put ''eXBlLmlhYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXN9LG0ucHJvdG90eXBlLmFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaWFicygpfSxtLnByb3RvdHlwZS5faXNobG5zdWJtdWw9ZnVuY3Rpb24oaCxiLHkpe3ZhciBwLGc7dGhpcy5fZXhwYW5k''@;'; put 'put ''KGgubGVuZ3RoK3kpO3ZhciBFPTA7Zm9yKHA9MDtwPGgubGVuZ3RoO3ArKyl7Zz0oMHx0aGlzLndvcmRzW3AreV0pK0U7dmFyIFc9KDB8aC53b3Jkc1twXSkqYjtFPSgoZy09NjcxMDg4NjMmVyk+PjI2KS0oVy82NzEwODg2NHwwKSx0aGlzLndvcmRzW3AreV09NjcxMDg4NjMmZ31mb3IoO3A8''@;'; put 'put ''dGhpcy5sZW5ndGgteTtwKyspRT0oZz0oMHx0aGlzLndvcmRzW3AreV0pK0UpPj4yNix0aGlzLndvcmRzW3AreV09NjcxMDg4NjMmZztpZigwPT09RSlyZXR1cm4gdGhpcy5zdHJpcCgpO2ZvcihDKC0xPT09RSksRT0wLHA9MDtwPHRoaXMubGVuZ3RoO3ArKylFPShnPS0oMHx0aGlzLndvcmRz''@;'; put 'put ''W3BdKStFKT4+MjYsdGhpcy53b3Jkc1twXT02NzEwODg2MyZnO3JldHVybiB0aGlzLm5lZ2F0aXZlPTEsdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbihoLGIpe3ZhciB5LHA9dGhpcy5jbG9uZSgpLGc9aCxfPTB8Zy53b3Jkc1tnLmxlbmd0aC0xXTswIT0oeT0y''@;'; put 'put ''Ni10aGlzLl9jb3VudEJpdHMoXykpJiYoZz1nLnVzaGxuKHkpLHAuaXVzaGxuKHkpLF89MHxnLndvcmRzW2cubGVuZ3RoLTFdKTt2YXIgRSxXPXAubGVuZ3RoLWcubGVuZ3RoO2lmKCJtb2QiIT09Yil7KEU9bmV3IG0obnVsbCkpLmxlbmd0aD1XKzEsRS53b3Jkcz1uZXcgQXJyYXkoRS5sZW5n''@;'; put 'put ''dGgpO2Zvcih2YXIgRz0wO0c8RS5sZW5ndGg7RysrKUUud29yZHNbR109MH12YXIgWD1wLmNsb25lKCkuX2lzaGxuc3VibXVsKGcsMSxXKTswPT09WC5uZWdhdGl2ZSYmKHA9WCxFJiYoRS53b3Jkc1tXXT0xKSk7Zm9yKHZhciBuZT1XLTE7bmU+PTA7bmUtLSl7dmFyIGFlPTY3MTA4ODY0Kigw''@;'; put 'put ''fHAud29yZHNbZy5sZW5ndGgrbmVdKSsoMHxwLndvcmRzW2cubGVuZ3RoK25lLTFdKTtmb3IoYWU9TWF0aC5taW4oYWUvX3wwLDY3MTA4ODYzKSxwLl9pc2hsbnN1Ym11bChnLGFlLG5lKTswIT09cC5uZWdhdGl2ZTspYWUtLSxwLm5lZ2F0aXZlPTAscC5faXNobG5zdWJtdWwoZywxLG5lKSxw''@;'; put 'put ''LmlzWmVybygpfHwocC5uZWdhdGl2ZV49MSk7RSYmKEUud29yZHNbbmVdPWFlKX1yZXR1cm4gRSYmRS5zdHJpcCgpLHAuc3RyaXAoKSwiZGl2IiE9PWImJjAhPT15JiZwLml1c2hybih5KSx7ZGl2OkV8fG51bGwsbW9kOnB9fSxtLnByb3RvdHlwZS5kaXZtb2Q9ZnVuY3Rpb24oaCxiLHkpe3Jl''@;'; put 'put ''dHVybiBDKCFoLmlzWmVybygpKSx0aGlzLmlzWmVybygpP3tkaXY6bmV3IG0oMCksbW9kOm5ldyBtKDApfTowIT09dGhpcy5uZWdhdGl2ZSYmMD09PWgubmVnYXRpdmU/KF89dGhpcy5uZWcoKS5kaXZtb2QoaCxiKSwibW9kIiE9PWImJihwPV8uZGl2Lm5lZygpKSwiZGl2IiE9PWImJihnPV8u''@;'; put 'put ''bW9kLm5lZygpLHkmJjAhPT1nLm5lZ2F0aXZlJiZnLmlhZGQoaCkpLHtkaXY6cCxtb2Q6Z30pOjA9PT10aGlzLm5lZ2F0aXZlJiYwIT09aC5uZWdhdGl2ZT8oXz10aGlzLmRpdm1vZChoLm5lZygpLGIpLCJtb2QiIT09YiYmKHA9Xy5kaXYubmVnKCkpLHtkaXY6cCxtb2Q6Xy5tb2R9KTowIT0o''@;'; put 'put ''dGhpcy5uZWdhdGl2ZSZoLm5lZ2F0aXZlKT8oXz10aGlzLm5lZygpLmRpdm1vZChoLm5lZygpLGIpLCJkaXYiIT09YiYmKGc9Xy5tb2QubmVnKCkseSYmMCE9PWcubmVnYXRpdmUmJmcuaXN1YihoKSkse2RpdjpfLmRpdixtb2Q6Z30pOmgubGVuZ3RoPnRoaXMubGVuZ3RofHx0aGlzLmNtcCho''@;'; put 'put ''KTwwP3tkaXY6bmV3IG0oMCksbW9kOnRoaXN9OjE9PT1oLmxlbmd0aD8iZGl2Ij09PWI/e2Rpdjp0aGlzLmRpdm4oaC53b3Jkc1swXSksbW9kOm51bGx9OiJtb2QiPT09Yj97ZGl2Om51bGwsbW9kOm5ldyBtKHRoaXMubW9kbihoLndvcmRzWzBdKSl9OntkaXY6dGhpcy5kaXZuKGgud29yZHNb''@;'; put 'put ''MF0pLG1vZDpuZXcgbSh0aGlzLm1vZG4oaC53b3Jkc1swXSkpfTp0aGlzLl93b3JkRGl2KGgsYik7dmFyIHAsZyxffSxtLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZGl2bW9kKGgsImRpdiIsITEpLmRpdn0sbS5wcm90b3R5cGUubW9kPWZ1bmN0aW9uKGgpe3JldHVy''@;'; put 'put ''biB0aGlzLmRpdm1vZChoLCJtb2QiLCExKS5tb2R9LG0ucHJvdG90eXBlLnVtb2Q9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZGl2bW9kKGgsIm1vZCIsITApLm1vZH0sbS5wcm90b3R5cGUuZGl2Um91bmQ9ZnVuY3Rpb24oaCl7dmFyIGI9dGhpcy5kaXZtb2QoaCk7aWYoYi5tb2QuaXNaZXJv''@;'; put 'put ''KCkpcmV0dXJuIGIuZGl2O3ZhciB5PTAhPT1iLmRpdi5uZWdhdGl2ZT9iLm1vZC5pc3ViKGgpOmIubW9kLHA9aC51c2hybigxKSxnPWguYW5kbG4oMSksXz15LmNtcChwKTtyZXR1cm4gXzwwfHwxPT09ZyYmMD09PV8/Yi5kaXY6MCE9PWIuZGl2Lm5lZ2F0aXZlP2IuZGl2LmlzdWJuKDEpOmIu''@;'; put 'put ''ZGl2LmlhZGRuKDEpfSxtLnByb3RvdHlwZS5tb2RuPWZ1bmN0aW9uKGgpe0MoaDw9NjcxMDg4NjMpO2Zvcih2YXIgYj02NzEwODg2NCVoLHk9MCxwPXRoaXMubGVuZ3RoLTE7cD49MDtwLS0peT0oYip5KygwfHRoaXMud29yZHNbcF0pKSVoO3JldHVybiB5fSxtLnByb3RvdHlwZS5pZGl2bj1m''@;'; put 'put ''dW5jdGlvbihoKXtDKGg8PTY3MTA4ODYzKTtmb3IodmFyIGI9MCx5PXRoaXMubGVuZ3RoLTE7eT49MDt5LS0pe3ZhciBwPSgwfHRoaXMud29yZHNbeV0pKzY3MTA4ODY0KmI7dGhpcy53b3Jkc1t5XT1wL2h8MCxiPXAlaH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5kaXZuPWZ1''@;'; put 'put ''bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4oaCl9LG0ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24oaCl7QygwPT09aC5uZWdhdGl2ZSksQyghaC5pc1plcm8oKSk7dmFyIGI9dGhpcyx5PWguY2xvbmUoKTtiPTAhPT1iLm5lZ2F0aXZlP2IudW1vZChoKTpiLmNsb25lKCk7Zm9y''@;'; put 'put ''KHZhciBwPW5ldyBtKDEpLGc9bmV3IG0oMCksXz1uZXcgbSgwKSxFPW5ldyBtKDEpLFc9MDtiLmlzRXZlbigpJiZ5LmlzRXZlbigpOyliLml1c2hybigxKSx5Lml1c2hybigxKSwrK1c7Zm9yKHZhciBHPXkuY2xvbmUoKSxYPWIuY2xvbmUoKTshYi5pc1plcm8oKTspe2Zvcih2YXIgbmU9MCxh''@;'; put 'put ''ZT0xOzA9PShiLndvcmRzWzBdJmFlKSYmbmU8MjY7KytuZSxhZTw8PTEpO2lmKG5lPjApZm9yKGIuaXVzaHJuKG5lKTtuZS0tID4wOykocC5pc09kZCgpfHxnLmlzT2RkKCkpJiYocC5pYWRkKEcpLGcuaXN1YihYKSkscC5pdXNocm4oMSksZy5pdXNocm4oMSk7Zm9yKHZhciB1ZT0wLGJlPTE7''@;'; put 'put ''MD09KHkud29yZHNbMF0mYmUpJiZ1ZTwyNjsrK3VlLGJlPDw9MSk7aWYodWU+MClmb3IoeS5pdXNocm4odWUpO3VlLS0gPjA7KShfLmlzT2RkKCl8fEUuaXNPZGQoKSkmJihfLmlhZGQoRyksRS5pc3ViKFgpKSxfLml1c2hybigxKSxFLml1c2hybigxKTtiLmNtcCh5KT49MD8oYi5pc3ViKHkp''@;'; put 'put ''LHAuaXN1YihfKSxnLmlzdWIoRSkpOih5LmlzdWIoYiksXy5pc3ViKHApLEUuaXN1YihnKSl9cmV0dXJue2E6XyxiOkUsZ2NkOnkuaXVzaGxuKFcpfX0sbS5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKGgpe0MoMD09PWgubmVnYXRpdmUpLEMoIWguaXNaZXJvKCkpO3ZhciBiPXRoaXMseT1o''@;'; put 'put ''LmNsb25lKCk7Yj0wIT09Yi5uZWdhdGl2ZT9iLnVtb2QoaCk6Yi5jbG9uZSgpO2Zvcih2YXIgcCxnPW5ldyBtKDEpLF89bmV3IG0oMCksRT15LmNsb25lKCk7Yi5jbXBuKDEpPjAmJnkuY21wbigxKT4wOyl7Zm9yKHZhciBXPTAsRz0xOzA9PShiLndvcmRzWzBdJkcpJiZXPDI2OysrVyxHPDw9''@;'; put 'put ''MSk7aWYoVz4wKWZvcihiLml1c2hybihXKTtXLS0gPjA7KWcuaXNPZGQoKSYmZy5pYWRkKEUpLGcuaXVzaHJuKDEpO2Zvcih2YXIgWD0wLG5lPTE7MD09KHkud29yZHNbMF0mbmUpJiZYPDI2OysrWCxuZTw8PTEpO2lmKFg+MClmb3IoeS5pdXNocm4oWCk7WC0tID4wOylfLmlzT2RkKCkmJl8u''@;'; put 'put ''aWFkZChFKSxfLml1c2hybigxKTtiLmNtcCh5KT49MD8oYi5pc3ViKHkpLGcuaXN1YihfKSk6KHkuaXN1YihiKSxfLmlzdWIoZykpfXJldHVybihwPTA9PT1iLmNtcG4oMSk/ZzpfKS5jbXBuKDApPDAmJnAuaWFkZChoKSxwfSxtLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24oaCl7aWYodGhpcy5p''@;'; put 'put ''c1plcm8oKSlyZXR1cm4gaC5hYnMoKTtpZihoLmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBiPXRoaXMuY2xvbmUoKSx5PWguY2xvbmUoKTtiLm5lZ2F0aXZlPTAseS5uZWdhdGl2ZT0wO2Zvcih2YXIgcD0wO2IuaXNFdmVuKCkmJnkuaXNFdmVuKCk7cCsrKWIuaXVzaHJuKDEpLHku''@;'; put 'put ''aXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtiLmlzRXZlbigpOyliLml1c2hybigxKTtmb3IoO3kuaXNFdmVuKCk7KXkuaXVzaHJuKDEpO3ZhciBnPWIuY21wKHkpO2lmKGc8MCl7dmFyIF89YjtiPXkseT1ffWVsc2UgaWYoMD09PWd8fDA9PT15LmNtcG4oMSkpYnJlYWs7Yi5pc3ViKHkpfXJldHVy''@;'; put 'put ''biB5Lml1c2hsbihwKX0sbS5wcm90b3R5cGUuaW52bT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5lZ2NkKGgpLmEudW1vZChoKX0sbS5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxtLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3Jl''@;'; put 'put ''dHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sbS5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMud29yZHNbMF0maH0sbS5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgpO3ZhciBiPWglMjYseT0oaC1iKS8yNixwPTE8PGI7aWYo''@;'; put 'put ''dGhpcy5sZW5ndGg8PXkpcmV0dXJuIHRoaXMuX2V4cGFuZCh5KzEpLHRoaXMud29yZHNbeV18PXAsdGhpcztmb3IodmFyIGc9cCxfPXk7MCE9PWcmJl88dGhpcy5sZW5ndGg7XysrKXt2YXIgRT0wfHRoaXMud29yZHNbX107Zz0oRSs9Zyk+Pj4yNix0aGlzLndvcmRzW19dPUUmPTY3MTA4ODYz''@;'; put 'put ''fXJldHVybiAwIT09ZyYmKHRoaXMud29yZHNbX109Zyx0aGlzLmxlbmd0aCsrKSx0aGlzfSxtLnByb3RvdHlwZS5pc1plcm89ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXX0sbS5wcm90b3R5cGUuY21wbj1mdW5jdGlvbihoKXt2YXIgYix5PWg8''@;'; put 'put ''MDtpZigwIT09dGhpcy5uZWdhdGl2ZSYmIXkpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJnkpcmV0dXJuIDE7aWYodGhpcy5zdHJpcCgpLHRoaXMubGVuZ3RoPjEpYj0xO2Vsc2V7eSYmKGg9LWgpLEMoaDw9NjcxMDg4NjMsIk51bWJlciBpcyB0b28gYmlnIik7dmFyIHA9MHx0aGlz''@;'; put 'put ''LndvcmRzWzBdO2I9cD09PWg/MDpwPGg/LTE6MX1yZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtYjpifSxtLnByb3RvdHlwZS5jbXA9ZnVuY3Rpb24oaCl7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT1oLm5lZ2F0aXZlKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09aC5u''@;'; put 'put ''ZWdhdGl2ZSlyZXR1cm4gMTt2YXIgYj10aGlzLnVjbXAoaCk7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWI6Yn0sbS5wcm90b3R5cGUudWNtcD1mdW5jdGlvbihoKXtpZih0aGlzLmxlbmd0aD5oLmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDxoLmxlbmd0aClyZXR1cm4tMTtm''@;'; put 'put ''b3IodmFyIGI9MCx5PXRoaXMubGVuZ3RoLTE7eT49MDt5LS0pe3ZhciBwPTB8dGhpcy53b3Jkc1t5XSxnPTB8aC53b3Jkc1t5XTtpZihwIT09Zyl7cDxnP2I9LTE6cD5nJiYoYj0xKTticmVha319cmV0dXJuIGJ9LG0ucHJvdG90eXBlLmd0bj1mdW5jdGlvbihoKXtyZXR1cm4gMT09PXRoaXMu''@;'; put 'put ''Y21wbihoKX0sbS5wcm90b3R5cGUuZ3Q9ZnVuY3Rpb24oaCl7cmV0dXJuIDE9PT10aGlzLmNtcChoKX0sbS5wcm90b3R5cGUuZ3Rlbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXBuKGgpPj0wfSxtLnByb3RvdHlwZS5ndGU9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY21wKGgpPj0wfSxt''@;'; put 'put ''LnByb3RvdHlwZS5sdG49ZnVuY3Rpb24oaCl7cmV0dXJuLTE9PT10aGlzLmNtcG4oaCl9LG0ucHJvdG90eXBlLmx0PWZ1bmN0aW9uKGgpe3JldHVybi0xPT09dGhpcy5jbXAoaCl9LG0ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY21wbihoKTw9MH0sbS5wcm90b3R5''@;'; put 'put ''cGUubHRlPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcChoKTw9MH0sbS5wcm90b3R5cGUuZXFuPWZ1bmN0aW9uKGgpe3JldHVybiAwPT09dGhpcy5jbXBuKGgpfSxtLnByb3RvdHlwZS5lcT1mdW5jdGlvbihoKXtyZXR1cm4gMD09PXRoaXMuY21wKGgpfSxtLnJlZD1mdW5jdGlvbihoKXty''@;'; put 'put ''ZXR1cm4gbmV3ICQoaCl9LG0ucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9uKGgpe3JldHVybiBDKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLEMoMD09PXRoaXMubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksaC5jb252''@;'; put 'put ''ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGgpfSxtLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsImZyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuX2ZvcmNlUmVkPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLnJlZD1oLHRoaXN9LG0ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uKGgpe3JldHVybiBDKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMuX2ZvcmNlUmVkKGgpfSxt''@;'; put 'put ''LnByb3RvdHlwZS5yZWRBZGQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5hZGQodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkSUFkZD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkSUFk''@;'; put 'put ''ZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pYWRkKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnN1Yih0aGlzLGgpfSxt''@;'; put 'put ''LnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlzdWIodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkU2hsPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRT''@;'; put 'put ''aGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc2hsKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZE11bD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMs''@;'; put 'put ''aCksdGhpcy5yZWQubXVsKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZElNdWw9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLGgpLHRoaXMucmVkLmltdWwodGhpcyxoKX0sbS5w''@;'; put 'put ''cm90b3R5cGUucmVkU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXIodGhpcyl9LG0ucHJvdG90eXBlLnJlZElTcXI9ZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''Qyh0aGlzLnJlZCwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pc3FyKHRoaXMpfSxtLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZFNxcnQgd29ya3Mgb25seSB3''@;'; put 'put ''aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FydCh0aGlzKX0sbS5wcm90b3R5cGUucmVkSW52bT1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJp''@;'; put 'put ''ZnkxKHRoaXMpLHRoaXMucmVkLmludm0odGhpcyl9LG0ucHJvdG90eXBlLnJlZE5lZz1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQubmVnKHRoaXMpfSxtLnBy''@;'; put 'put ''b3RvdHlwZS5yZWRQb3c9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQmJiFoLnJlZCwicmVkUG93KG5vcm1hbE51bSkiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5wb3codGhpcyxoKX07dmFyIFU9e2syNTY6bnVsbCxwMjI0Om51bGwscDE5MjpudWxsLHAyNTUxOTpu''@;'; put 'put ''dWxsfTtmdW5jdGlvbiBWKGgsYil7dGhpcy5uYW1lPWgsdGhpcy5wPW5ldyBtKGIsMTYpLHRoaXMubj10aGlzLnAuYml0TGVuZ3RoKCksdGhpcy5rPW5ldyBtKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKSx0aGlzLnRtcD10aGlzLl90bXAoKX1mdW5jdGlvbiBSKCl7Vi5jYWxsKHRo''@;'; put 'put ''aXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWZ1bmN0aW9uIEIoKXtWLmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAw''@;'; put 'put ''MDAwMDAwIDAwMDAwMDAxIil9ZnVuY3Rpb24gcSgpe1YuY2FsbCh0aGlzLCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1mdW5jdGlvbiBKKCl7Vi5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZm''@;'; put 'put ''ZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIpfWZ1bmN0aW9uICQoaCl7aWYoInN0cmluZyI9PXR5cGVvZiBoKXt2YXIgYj1tLl9wcmltZShoKTt0aGlzLm09Yi5wLHRoaXMucHJpbWU9Yn1lbHNlIEMoaC5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVy''@;'; put 'put ''IHRoYW4gMSIpLHRoaXMubT1oLHRoaXMucHJpbWU9bnVsbH1mdW5jdGlvbiB0ZShoKXskLmNhbGwodGhpcyxoKSx0aGlzLnNoaWZ0PXRoaXMubS5iaXRMZW5ndGgoKSx0aGlzLnNoaWZ0JTI2IT0wJiYodGhpcy5zaGlmdCs9MjYtdGhpcy5zaGlmdCUyNiksdGhpcy5yPW5ldyBtKDEpLml1c2hs''@;'; put 'put ''bih0aGlzLnNoaWZ0KSx0aGlzLnIyPXRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpLHRoaXMucmludj10aGlzLnIuX2ludm1wKHRoaXMubSksdGhpcy5taW52PXRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5taW52LnVtb2QodGhpcy5yKSx0''@;'; put 'put ''aGlzLm1pbnY9dGhpcy5yLnN1Yih0aGlzLm1pbnYpfVYucHJvdG90eXBlLl90bXA9ZnVuY3Rpb24oKXt2YXIgaD1uZXcgbShudWxsKTtyZXR1cm4gaC53b3Jkcz1uZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubi8xMykpLGh9LFYucHJvdG90eXBlLmlyZWR1Y2U9ZnVuY3Rpb24oaCl7dmFyIGIs''@;'; put 'put ''eT1oO2Rve3RoaXMuc3BsaXQoeSx0aGlzLnRtcCksYj0oeT0oeT10aGlzLmltdWxLKHkpKS5pYWRkKHRoaXMudG1wKSkuYml0TGVuZ3RoKCl9d2hpbGUoYj50aGlzLm4pO3ZhciBwPWI8dGhpcy5uPy0xOnkudWNtcCh0aGlzLnApO3JldHVybiAwPT09cD8oeS53b3Jkc1swXT0wLHkubGVuZ3Ro''@;'; put 'put ''PTEpOnA+MD95LmlzdWIodGhpcy5wKTp2b2lkIDAhPT15LnN0cmlwP3kuc3RyaXAoKTp5Ll9zdHJpcCgpLHl9LFYucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKGgsYil7aC5pdXNocm4odGhpcy5uLDAsYil9LFYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKGgpe3JldHVybiBoLmltdWwodGhp''@;'; put 'put ''cy5rKX0sUyhSLFYpLFIucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKGgsYil7Zm9yKHZhciB5PTQxOTQzMDMscD1NYXRoLm1pbihoLmxlbmd0aCw5KSxnPTA7ZzxwO2crKyliLndvcmRzW2ddPWgud29yZHNbZ107aWYoYi5sZW5ndGg9cCxoLmxlbmd0aDw9OSlyZXR1cm4gaC53b3Jkc1swXT0w''@;'; put 'put ''LHZvaWQoaC5sZW5ndGg9MSk7dmFyIF89aC53b3Jkc1s5XTtmb3IoYi53b3Jkc1tiLmxlbmd0aCsrXT1fJnksZz0xMDtnPGgubGVuZ3RoO2crKyl7dmFyIEU9MHxoLndvcmRzW2ddO2gud29yZHNbZy0xMF09KEUmeSk8PDR8Xz4+PjIyLF89RX1oLndvcmRzW2ctMTBdPV8+Pj49MjIsaC5sZW5n''@;'; put 'put ''dGgtPTA9PT1fJiZoLmxlbmd0aD4xMD8xMDo5fSxSLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbihoKXtoLndvcmRzW2gubGVuZ3RoXT0wLGgud29yZHNbaC5sZW5ndGgrMV09MCxoLmxlbmd0aCs9Mjtmb3IodmFyIGI9MCx5PTA7eTxoLmxlbmd0aDt5Kyspe3ZhciBwPTB8aC53b3Jkc1t5XTto''@;'; put 'put ''LndvcmRzW3ldPTY3MTA4ODYzJihiKz05NzcqcCksYj02NCpwKyhiLzY3MTA4ODY0fDApfXJldHVybiAwPT09aC53b3Jkc1toLmxlbmd0aC0xXSYmKGgubGVuZ3RoLS0sMD09PWgud29yZHNbaC5sZW5ndGgtMV0mJmgubGVuZ3RoLS0pLGh9LFMoQixWKSxTKHEsViksUyhKLFYpLEoucHJvdG90''@;'; put 'put ''eXBlLmltdWxLPWZ1bmN0aW9uKGgpe2Zvcih2YXIgYj0wLHk9MDt5PGgubGVuZ3RoO3krKyl7dmFyIHA9MTkqKDB8aC53b3Jkc1t5XSkrYixnPTY3MTA4ODYzJnA7cD4+Pj0yNixoLndvcmRzW3ldPWcsYj1wfXJldHVybiAwIT09YiYmKGgud29yZHNbaC5sZW5ndGgrK109YiksaH0sbS5fcHJp''@;'; put 'put ''bWU9ZnVuY3Rpb24oaCl7aWYoVVtoXSlyZXR1cm4gVVtoXTt2YXIgYjtpZigiazI1NiI9PT1oKWI9bmV3IFI7ZWxzZSBpZigicDIyNCI9PT1oKWI9bmV3IEI7ZWxzZSBpZigicDE5MiI9PT1oKWI9bmV3IHE7ZWxzZXtpZigicDI1NTE5IiE9PWgpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHBy''@;'; put 'put ''aW1lICIraCk7Yj1uZXcgSn1yZXR1cm4gVVtoXT1iLGJ9LCQucHJvdG90eXBlLl92ZXJpZnkxPWZ1bmN0aW9uKGgpe0MoMD09PWgubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksQyhoLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSwkLnBy''@;'; put 'put ''b3RvdHlwZS5fdmVyaWZ5Mj1mdW5jdGlvbihoLGIpe0MoMD09KGgubmVnYXRpdmV8Yi5uZWdhdGl2ZSksInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksQyhoLnJlZCYmaC5yZWQ9PT1iLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSwkLnByb3RvdHlwZS5p''@;'; put 'put ''bW9kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLnByaW1lP3RoaXMucHJpbWUuaXJlZHVjZShoKS5fZm9yY2VSZWQodGhpcyk6aC51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oaCl7cmV0dXJuIGguaXNaZXJvKCk/aC5jbG9uZSgpOnRoaXMu''@;'; put 'put ''bS5zdWIoaCkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFyIHk9aC5hZGQoYik7cmV0dXJuIHkuY21wKHRoaXMubSk+PTAmJnkuaXN1Yih0aGlzLm0pLHkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5pYWRk''@;'; put 'put ''PWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVyaWZ5MihoLGIpO3ZhciB5PWguaWFkZChiKTtyZXR1cm4geS5jbXAodGhpcy5tKT49MCYmeS5pc3ViKHRoaXMubSkseX0sJC5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVyaWZ5MihoLGIpO3ZhciB5PWguc3ViKGIpO3JldHVybiB5''@;'; put 'put ''LmNtcG4oMCk8MCYmeS5pYWRkKHRoaXMubSkseS5fZm9yY2VSZWQodGhpcyl9LCQucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFyIHk9aC5pc3ViKGIpO3JldHVybiB5LmNtcG4oMCk8MCYmeS5pYWRkKHRoaXMubSkseX0sJC5wcm90b3R5cGUuc2hs''@;'; put 'put ''PWZ1bmN0aW9uKGgsYil7cmV0dXJuIHRoaXMuX3ZlcmlmeTEoaCksdGhpcy5pbW9kKGgudXNobG4oYikpfSwkLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKGgsYil7cmV0dXJuIHRoaXMuX3ZlcmlmeTIoaCxiKSx0aGlzLmltb2QoaC5pbXVsKGIpKX0sJC5wcm90b3R5cGUubXVsPWZ1bmN0aW9u''@;'; put 'put ''KGgsYil7cmV0dXJuIHRoaXMuX3ZlcmlmeTIoaCxiKSx0aGlzLmltb2QoaC5tdWwoYikpfSwkLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmltdWwoaCxoLmNsb25lKCkpfSwkLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubXVsKGgsaCl9LCQu''@;'; put 'put ''cHJvdG90eXBlLnNxcnQ9ZnVuY3Rpb24oaCl7aWYoaC5pc1plcm8oKSlyZXR1cm4gaC5jbG9uZSgpO3ZhciBiPXRoaXMubS5hbmRsbigzKTtpZihDKGIlMj09MSksMz09PWIpe3ZhciB5PXRoaXMubS5hZGQobmV3IG0oMSkpLml1c2hybigyKTtyZXR1cm4gdGhpcy5wb3coaCx5KX1mb3IodmFy''@;'; put 'put ''IHA9dGhpcy5tLnN1Ym4oMSksZz0wOyFwLmlzWmVybygpJiYwPT09cC5hbmRsbigxKTspZysrLHAuaXVzaHJuKDEpO0MoIXAuaXNaZXJvKCkpO3ZhciBfPW5ldyBtKDEpLnRvUmVkKHRoaXMpLEU9Xy5yZWROZWcoKSxXPXRoaXMubS5zdWJuKDEpLml1c2hybigxKSxHPXRoaXMubS5iaXRMZW5n''@;'; put 'put ''dGgoKTtmb3IoRz1uZXcgbSgyKkcqRykudG9SZWQodGhpcyk7MCE9PXRoaXMucG93KEcsVykuY21wKEUpOylHLnJlZElBZGQoRSk7Zm9yKHZhciBYPXRoaXMucG93KEcscCksbmU9dGhpcy5wb3coaCxwLmFkZG4oMSkuaXVzaHJuKDEpKSxhZT10aGlzLnBvdyhoLHApLHVlPWc7MCE9PWFlLmNt''@;'; put 'put ''cChfKTspe2Zvcih2YXIgYmU9YWUsX2U9MDswIT09YmUuY21wKF8pO19lKyspYmU9YmUucmVkU3FyKCk7QyhfZTx1ZSk7dmFyIGxlPXRoaXMucG93KFgsbmV3IG0oMSkuaXVzaGxuKHVlLV9lLTEpKTtuZT1uZS5yZWRNdWwobGUpLFg9bGUucmVkU3FyKCksYWU9YWUucmVkTXVsKFgpLHVlPV9l''@;'; put 'put ''fXJldHVybiBuZX0sJC5wcm90b3R5cGUuaW52bT1mdW5jdGlvbihoKXt2YXIgYj1oLl9pbnZtcCh0aGlzLm0pO3JldHVybiAwIT09Yi5uZWdhdGl2ZT8oYi5uZWdhdGl2ZT0wLHRoaXMuaW1vZChiKS5yZWROZWcoKSk6dGhpcy5pbW9kKGIpfSwkLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24oaCxi''@;'; put 'put ''KXtpZihiLmlzWmVybygpKXJldHVybiBuZXcgbSgxKS50b1JlZCh0aGlzKTtpZigwPT09Yi5jbXBuKDEpKXJldHVybiBoLmNsb25lKCk7dmFyIHk9bmV3IEFycmF5KDE2KTt5WzBdPW5ldyBtKDEpLnRvUmVkKHRoaXMpLHlbMV09aDtmb3IodmFyIHA9MjtwPHkubGVuZ3RoO3ArKyl5W3BdPXRo''@;'; put 'put ''aXMubXVsKHlbcC0xXSxoKTt2YXIgZz15WzBdLF89MCxFPTAsVz1iLmJpdExlbmd0aCgpJTI2O2ZvcigwPT09VyYmKFc9MjYpLHA9Yi5sZW5ndGgtMTtwPj0wO3AtLSl7Zm9yKHZhciBHPWIud29yZHNbcF0sWD1XLTE7WD49MDtYLS0pe3ZhciBuZT1HPj5YJjE7ZyE9PXlbMF0mJihnPXRoaXMu''@;'; put 'put ''c3FyKGcpKSwwIT09bmV8fDAhPT1fPyhfPDw9MSxffD1uZSwoND09KytFfHwwPT09cCYmMD09PVgpJiYoZz10aGlzLm11bChnLHlbX10pLEU9MCxfPTApKTpFPTB9Vz0yNn1yZXR1cm4gZ30sJC5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKGgpe3ZhciBiPWgudW1vZCh0aGlzLm0pO3Jl''@;'; put 'put ''dHVybiBiPT09aD9iLmNsb25lKCk6Yn0sJC5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24oaCl7dmFyIGI9aC5jbG9uZSgpO3JldHVybiBiLnJlZD1udWxsLGJ9LG0ubW9udD1mdW5jdGlvbihoKXtyZXR1cm4gbmV3IHRlKGgpfSxTKHRlLCQpLHRlLnByb3RvdHlwZS5jb252ZXJ0VG89''@;'; put 'put ''ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuaW1vZChoLnVzaGxuKHRoaXMuc2hpZnQpKX0sdGUucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKGgpe3ZhciBiPXRoaXMuaW1vZChoLm11bCh0aGlzLnJpbnYpKTtyZXR1cm4gYi5yZWQ9bnVsbCxifSx0ZS5wcm90b3R5cGUuaW11bD1mdW5j''@;'; put 'put ''dGlvbihoLGIpe2lmKGguaXNaZXJvKCl8fGIuaXNaZXJvKCkpcmV0dXJuIGgud29yZHNbMF09MCxoLmxlbmd0aD0xLGg7dmFyIHk9aC5pbXVsKGIpLHA9eS5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksZz15LmlzdWIocCku''@;'; put 'put ''aXVzaHJuKHRoaXMuc2hpZnQpLF89ZztyZXR1cm4gZy5jbXAodGhpcy5tKT49MD9fPWcuaXN1Yih0aGlzLm0pOmcuY21wbigwKTwwJiYoXz1nLmlhZGQodGhpcy5tKSksXy5fZm9yY2VSZWQodGhpcyl9LHRlLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oaCxiKXtpZihoLmlzWmVybygpfHxiLmlz''@;'; put 'put ''WmVybygpKXJldHVybiBuZXcgbSgwKS5fZm9yY2VSZWQodGhpcyk7dmFyIHk9aC5tdWwoYikscD15Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxnPXkuaXN1YihwKS5pdXNocm4odGhpcy5zaGlmdCksXz1nO3JldHVybiBn''@;'; put 'put ''LmNtcCh0aGlzLm0pPj0wP189Zy5pc3ViKHRoaXMubSk6Zy5jbXBuKDApPDAmJihfPWcuaWFkZCh0aGlzLm0pKSxfLl9mb3JjZVJlZCh0aGlzKX0sdGUucHJvdG90eXBlLmludm09ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuaW1vZChoLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSkuX2Zv''@;'; put 'put ''cmNlUmVkKHRoaXMpfX0oWj1qLm5tZChaKSx0aGlzKX0sOTI4MjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSksej1qKDUxMDgpO2Z1bmN0aW9uIEMobmUpe3JldHVybihDPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJh''@;'; put 'put ''dG9yP2Z1bmN0aW9uKGFlKXtyZXR1cm4gdHlwZW9mIGFlfTpmdW5jdGlvbihhZSl7cmV0dXJuIGFlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZhZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmYWUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBhZX0pKG5lKX12YXIgUyxt''@;'; put 'put ''LEY9aigyMTM2KS5jb2RlcyxEPUYuRVJSX0FNQklHVU9VU19BUkdVTUVOVCx3PUYuRVJSX0lOVkFMSURfQVJHX1RZUEUsUD1GLkVSUl9JTlZBTElEX0FSR19WQUxVRSxNPUYuRVJSX0lOVkFMSURfUkVUVVJOX1ZBTFVFLGs9Ri5FUlJfTUlTU0lOR19BUkdTLE89aig1OTYxKSxMPWooOTUzOSku''@;'; put 'put ''aW5zcGVjdCxUPWooOTUzOSkudHlwZXMsWT1ULmlzUHJvbWlzZSxJPVQuaXNSZWdFeHAsVT1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ246aig4MDkxKS5hc3NpZ24sVj1PYmplY3QuaXM/T2JqZWN0LmlzOmooNjA5KTtmdW5jdGlvbiBSKCl7dmFyIG5lPWooOTE1OCk7Uz1uZS5pc0RlZXBF''@;'; put 'put ''cXVhbCxtPW5lLmlzRGVlcFN0cmljdEVxdWFsfXZhciBCPSExLHE9Wi5leHBvcnRzPWgsSj17fTtmdW5jdGlvbiAkKG5lKXt0aHJvdyBuZS5tZXNzYWdlIGluc3RhbmNlb2YgRXJyb3I/bmUubWVzc2FnZTpuZXcgTyhuZSl9ZnVuY3Rpb24gdGUobmUsYWUsdWUsYmUpe2lmKCF1ZSl7dmFyIF9l''@;'; put 'put ''PSExO2lmKDA9PT1hZSlfZT0hMCxiZT0iTm8gdmFsdWUgYXJndW1lbnQgcGFzc2VkIHRvIGBhc3NlcnQub2soKWAiO2Vsc2UgaWYoYmUgaW5zdGFuY2VvZiBFcnJvcil0aHJvdyBiZTt2YXIgbGU9bmV3IE8oe2FjdHVhbDp1ZSxleHBlY3RlZDohMCxtZXNzYWdlOmJlLG9wZXJhdG9yOiI9PSIs''@;'; put 'put ''c3RhY2tTdGFydEZuOm5lfSk7dGhyb3cgbGUuZ2VuZXJhdGVkTWVzc2FnZT1fZSxsZX19ZnVuY3Rpb24gaCgpe2Zvcih2YXIgbmU9YXJndW1lbnRzLmxlbmd0aCxhZT1uZXcgQXJyYXkobmUpLHVlPTA7dWU8bmU7dWUrKylhZVt1ZV09YXJndW1lbnRzW3VlXTt0ZS5hcHBseSh2b2lkIDAsW2gs''@;'; put 'put ''YWUubGVuZ3RoXS5jb25jYXQoYWUpKX1xLmZhaWw9ZnVuY3Rpb24gbmUoYWUsdWUsYmUsX2UsbGUpe3ZhciBjZSxwZT1hcmd1bWVudHMubGVuZ3RoO2lmKDA9PT1wZT9jZT0iRmFpbGVkIjoxPT09cGU/KGJlPWFlLGFlPXZvaWQgMCk6KCExPT09QiYmKEI9ITAsKE4uZW1pdFdhcm5pbmc/Ti5l''@;'; put 'put ''bWl0V2FybmluZzp6Lndhcm4uYmluZCh6KSkoImFzc2VydC5mYWlsKCkgd2l0aCBtb3JlIHRoYW4gb25lIGFyZ3VtZW50IGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgYXNzZXJ0LnN0cmljdEVxdWFsKCkgaW5zdGVhZCBvciBvbmx5IHBhc3MgYSBtZXNzYWdlLiIsIkRlcHJlY2F0aW9uV2Fy''@;'; put 'put ''bmluZyIsIkRFUDAwOTQiKSksMj09PXBlJiYoX2U9IiE9IikpLGJlIGluc3RhbmNlb2YgRXJyb3IpdGhyb3cgYmU7dmFyIFVlPXthY3R1YWw6YWUsZXhwZWN0ZWQ6dWUsb3BlcmF0b3I6dm9pZCAwPT09X2U/ImZhaWwiOl9lLHN0YWNrU3RhcnRGbjpsZXx8bmV9O3ZvaWQgMCE9PWJlJiYoVWUu''@;'; put 'put ''bWVzc2FnZT1iZSk7dmFyIHhlPW5ldyBPKFVlKTt0aHJvdyBjZSYmKHhlLm1lc3NhZ2U9Y2UseGUuZ2VuZXJhdGVkTWVzc2FnZT0hMCkseGV9LHEuQXNzZXJ0aW9uRXJyb3I9TyxxLm9rPWgscS5lcXVhbD1mdW5jdGlvbiBuZShhZSx1ZSxiZSl7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXRocm93''@;'; put 'put ''IG5ldyBrKCJhY3R1YWwiLCJleHBlY3RlZCIpO2FlIT11ZSYmJCh7YWN0dWFsOmFlLGV4cGVjdGVkOnVlLG1lc3NhZ2U6YmUsb3BlcmF0b3I6Ij09IixzdGFja1N0YXJ0Rm46bmV9KX0scS5ub3RFcXVhbD1mdW5jdGlvbiBuZShhZSx1ZSxiZSl7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXRocm93''@;'; put 'put ''IG5ldyBrKCJhY3R1YWwiLCJleHBlY3RlZCIpO2FlPT11ZSYmJCh7YWN0dWFsOmFlLGV4cGVjdGVkOnVlLG1lc3NhZ2U6YmUsb3BlcmF0b3I6IiE9IixzdGFja1N0YXJ0Rm46bmV9KX0scS5kZWVwRXF1YWw9ZnVuY3Rpb24gbmUoYWUsdWUsYmUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil0aHJv''@;'; put 'put ''dyBuZXcgaygiYWN0dWFsIiwiZXhwZWN0ZWQiKTt2b2lkIDA9PT1TJiZSKCksUyhhZSx1ZSl8fCQoe2FjdHVhbDphZSxleHBlY3RlZDp1ZSxtZXNzYWdlOmJlLG9wZXJhdG9yOiJkZWVwRXF1YWwiLHN0YWNrU3RhcnRGbjpuZX0pfSxxLm5vdERlZXBFcXVhbD1mdW5jdGlvbiBuZShhZSx1ZSxi''@;'; put 'put ''ZSl7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXRocm93IG5ldyBrKCJhY3R1YWwiLCJleHBlY3RlZCIpO3ZvaWQgMD09PVMmJlIoKSxTKGFlLHVlKSYmJCh7YWN0dWFsOmFlLGV4cGVjdGVkOnVlLG1lc3NhZ2U6YmUsb3BlcmF0b3I6Im5vdERlZXBFcXVhbCIsc3RhY2tTdGFydEZuOm5lfSl9LHEu''@;'; put 'put ''ZGVlcFN0cmljdEVxdWFsPWZ1bmN0aW9uIG5lKGFlLHVlLGJlKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpdGhyb3cgbmV3IGsoImFjdHVhbCIsImV4cGVjdGVkIik7dm9pZCAwPT09UyYmUigpLG0oYWUsdWUpfHwkKHthY3R1YWw6YWUsZXhwZWN0ZWQ6dWUsbWVzc2FnZTpiZSxvcGVyYXRvcjoi''@;'; put 'put ''ZGVlcFN0cmljdEVxdWFsIixzdGFja1N0YXJ0Rm46bmV9KX0scS5ub3REZWVwU3RyaWN0RXF1YWw9ZnVuY3Rpb24gbmUoYWUsdWUsYmUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil0aHJvdyBuZXcgaygiYWN0dWFsIiwiZXhwZWN0ZWQiKTt2b2lkIDA9PT1TJiZSKCksbShhZSx1ZSkmJiQoe2Fj''@;'; put 'put ''dHVhbDphZSxleHBlY3RlZDp1ZSxtZXNzYWdlOmJlLG9wZXJhdG9yOiJub3REZWVwU3RyaWN0RXF1YWwiLHN0YWNrU3RhcnRGbjpuZX0pfSxxLnN0cmljdEVxdWFsPWZ1bmN0aW9uIG5lKGFlLHVlLGJlKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpdGhyb3cgbmV3IGsoImFjdHVhbCIsImV4cGVj''@;'; put 'put ''dGVkIik7VihhZSx1ZSl8fCQoe2FjdHVhbDphZSxleHBlY3RlZDp1ZSxtZXNzYWdlOmJlLG9wZXJhdG9yOiJzdHJpY3RFcXVhbCIsc3RhY2tTdGFydEZuOm5lfSl9LHEubm90U3RyaWN0RXF1YWw9ZnVuY3Rpb24gbmUoYWUsdWUsYmUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil0aHJvdyBuZXcg''@;'; put 'put ''aygiYWN0dWFsIiwiZXhwZWN0ZWQiKTtWKGFlLHVlKSYmJCh7YWN0dWFsOmFlLGV4cGVjdGVkOnVlLG1lc3NhZ2U6YmUsb3BlcmF0b3I6Im5vdFN0cmljdEVxdWFsIixzdGFja1N0YXJ0Rm46bmV9KX07dmFyIGI9ZnVuY3Rpb24gbmUoYWUsdWUsYmUpe3ZhciBfZT10aGlzOyhmdW5jdGlvbihs''@;'; put 'put ''ZSxjZSl7aWYoIShsZSBpbnN0YW5jZW9mIGNlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsbmUpLHVlLmZvckVhY2goZnVuY3Rpb24obGUpe2xlIGluIGFlJiYoX2VbbGVdPXZvaWQgMCE9PWJlJiYic3RyaW5nIj09dHlw''@;'; put 'put ''ZW9mIGJlW2xlXSYmSShhZVtsZV0pJiZhZVtsZV0udGVzdChiZVtsZV0pP2JlW2xlXTphZVtsZV0pfSl9O2Z1bmN0aW9uIHkobmUsYWUsdWUsYmUsX2UsbGUpe2lmKCEodWUgaW4gbmUpfHwhbShuZVt1ZV0sYWVbdWVdKSl7aWYoIWJlKXt2YXIgY2U9bmV3IGIobmUsX2UpLHBlPW5ldyBiKGFl''@;'; put 'put ''LF9lLG5lKSx3ZT1uZXcgTyh7YWN0dWFsOmNlLGV4cGVjdGVkOnBlLG9wZXJhdG9yOiJkZWVwU3RyaWN0RXF1YWwiLHN0YWNrU3RhcnRGbjpsZX0pO3Rocm93IHdlLmFjdHVhbD1uZSx3ZS5leHBlY3RlZD1hZSx3ZS5vcGVyYXRvcj1sZS5uYW1lLHdlfSQoe2FjdHVhbDpuZSxleHBlY3RlZDph''@;'; put 'put ''ZSxtZXNzYWdlOmJlLG9wZXJhdG9yOmxlLm5hbWUsc3RhY2tTdGFydEZuOmxlfSl9fWZ1bmN0aW9uIHAobmUsYWUsdWUsYmUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBhZSl7aWYoSShhZSkpcmV0dXJuIGFlLnRlc3QobmUpO2lmKDI9PT1hcmd1bWVudHMubGVuZ3RoKXRocm93IG5ldyB3KCJl''@;'; put 'put ''eHBlY3RlZCIsWyJGdW5jdGlvbiIsIlJlZ0V4cCJdLGFlKTtpZigib2JqZWN0IiE9PUMobmUpfHxudWxsPT09bmUpe3ZhciBfZT1uZXcgTyh7YWN0dWFsOm5lLGV4cGVjdGVkOmFlLG1lc3NhZ2U6dWUsb3BlcmF0b3I6ImRlZXBTdHJpY3RFcXVhbCIsc3RhY2tTdGFydEZuOmJlfSk7dGhyb3cg''@;'; put 'put ''X2Uub3BlcmF0b3I9YmUubmFtZSxfZX12YXIgbGU9T2JqZWN0LmtleXMoYWUpO2lmKGFlIGluc3RhbmNlb2YgRXJyb3IpbGUucHVzaCgibmFtZSIsIm1lc3NhZ2UiKTtlbHNlIGlmKDA9PT1sZS5sZW5ndGgpdGhyb3cgbmV3IFAoImVycm9yIixhZSwibWF5IG5vdCBiZSBhbiBlbXB0eSBvYmpl''@;'; put 'put ''Y3QiKTtyZXR1cm4gdm9pZCAwPT09UyYmUigpLGxlLmZvckVhY2goZnVuY3Rpb24oY2UpeyJzdHJpbmciPT10eXBlb2YgbmVbY2VdJiZJKGFlW2NlXSkmJmFlW2NlXS50ZXN0KG5lW2NlXSl8fHkobmUsYWUsY2UsdWUsbGUsYmUpfSksITB9cmV0dXJuIHZvaWQgMCE9PWFlLnByb3RvdHlwZSYm''@;'; put 'put ''bmUgaW5zdGFuY2VvZiBhZXx8IUVycm9yLmlzUHJvdG90eXBlT2YoYWUpJiYhMD09PWFlLmNhbGwoe30sbmUpfWZ1bmN0aW9uIGcobmUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuZSl0aHJvdyBuZXcgdygiZm4iLCJGdW5jdGlvbiIsbmUpO3RyeXtuZSgpfWNhdGNoKGFlKXtyZXR1cm4gYWV9''@;'; put 'put ''cmV0dXJuIEp9ZnVuY3Rpb24gXyhuZSl7cmV0dXJuIFkobmUpfHxudWxsIT09bmUmJiJvYmplY3QiPT09QyhuZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBuZS50aGVuJiYiZnVuY3Rpb24iPT10eXBlb2YgbmUuY2F0Y2h9ZnVuY3Rpb24gRShuZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRo''@;'; put 'put ''ZW4oZnVuY3Rpb24oKXt2YXIgYWU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG5lKXtpZighXyhhZT1uZSgpKSl0aHJvdyBuZXcgTSgiaW5zdGFuY2Ugb2YgUHJvbWlzZSIsInByb21pc2VGbiIsYWUpfWVsc2V7aWYoIV8obmUpKXRocm93IG5ldyB3KCJwcm9taXNlRm4iLFsiRnVuY3Rpb24iLCJQ''@;'; put 'put ''cm9taXNlIl0sbmUpO2FlPW5lfXJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGFlfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBKfSkuY2F0Y2goZnVuY3Rpb24odWUpe3JldHVybiB1ZX0pfSl9ZnVuY3Rpb24gVyhuZSxhZSx1ZSxiZSl7aWYoInN0cmlu''@;'; put 'put ''ZyI9PXR5cGVvZiB1ZSl7aWYoND09PWFyZ3VtZW50cy5sZW5ndGgpdGhyb3cgbmV3IHcoImVycm9yIixbIk9iamVjdCIsIkVycm9yIiwiRnVuY3Rpb24iLCJSZWdFeHAiXSx1ZSk7aWYoIm9iamVjdCI9PT1DKGFlKSYmbnVsbCE9PWFlKXtpZihhZS5tZXNzYWdlPT09dWUpdGhyb3cgbmV3IEQo''@;'; put 'put ''ImVycm9yL21lc3NhZ2UiLCdUaGUgZXJyb3IgbWVzc2FnZSAiJy5jb25jYXQoYWUubWVzc2FnZSwnIiBpcyBpZGVudGljYWwgdG8gdGhlIG1lc3NhZ2UuJykpfWVsc2UgaWYoYWU9PT11ZSl0aHJvdyBuZXcgRCgiZXJyb3IvbWVzc2FnZSIsJ1RoZSBlcnJvciAiJy5jb25jYXQoYWUsJyIgaXMg''@;'; put 'put ''aWRlbnRpY2FsIHRvIHRoZSBtZXNzYWdlLicpKTtiZT11ZSx1ZT12b2lkIDB9ZWxzZSBpZihudWxsIT11ZSYmIm9iamVjdCIhPT1DKHVlKSYmImZ1bmN0aW9uIiE9dHlwZW9mIHVlKXRocm93IG5ldyB3KCJlcnJvciIsWyJPYmplY3QiLCJFcnJvciIsIkZ1bmN0aW9uIiwiUmVnRXhwIl0sdWUp''@;'; put 'put ''O2lmKGFlPT09Sil7dmFyIF9lPSIiO3VlJiZ1ZS5uYW1lJiYoX2UrPSIgKCIuY29uY2F0KHVlLm5hbWUsIikiKSksX2UrPWJlPyI6ICIuY29uY2F0KGJlKToiLiIsJCh7YWN0dWFsOnZvaWQgMCxleHBlY3RlZDp1ZSxvcGVyYXRvcjpuZS5uYW1lLG1lc3NhZ2U6Ik1pc3NpbmcgZXhwZWN0ZWQg''@;'; put 'put ''Ii5jb25jYXQoInJlamVjdHMiPT09bmUubmFtZT8icmVqZWN0aW9uIjoiZXhjZXB0aW9uIikuY29uY2F0KF9lKSxzdGFja1N0YXJ0Rm46bmV9KX1pZih1ZSYmIXAoYWUsdWUsYmUsbmUpKXRocm93IGFlfWZ1bmN0aW9uIEcobmUsYWUsdWUsYmUpe2lmKGFlIT09Sil7aWYoInN0cmluZyI9PXR5''@;'; put 'put ''cGVvZiB1ZSYmKGJlPXVlLHVlPXZvaWQgMCksIXVlfHxwKGFlLHVlKSl7dmFyIF9lPWJlPyI6ICIuY29uY2F0KGJlKToiLiI7JCh7YWN0dWFsOmFlLGV4cGVjdGVkOnVlLG9wZXJhdG9yOm5lLm5hbWUsbWVzc2FnZToiR290IHVud2FudGVkICIuY29uY2F0KCJkb2VzTm90UmVqZWN0Ij09PW5l''@;'; put 'put ''Lm5hbWU/InJlamVjdGlvbiI6ImV4Y2VwdGlvbiIpLmNvbmNhdChfZSwiXG4iKSsnQWN0dWFsIG1lc3NhZ2U6ICInLmNvbmNhdChhZSYmYWUubWVzc2FnZSwnIicpLHN0YWNrU3RhcnRGbjpuZX0pfXRocm93IGFlfX1mdW5jdGlvbiBYKCl7Zm9yKHZhciBuZT1hcmd1bWVudHMubGVuZ3RoLGFl''@;'; put 'put ''PW5ldyBBcnJheShuZSksdWU9MDt1ZTxuZTt1ZSsrKWFlW3VlXT1hcmd1bWVudHNbdWVdO3RlLmFwcGx5KHZvaWQgMCxbWCxhZS5sZW5ndGhdLmNvbmNhdChhZSkpfXEudGhyb3dzPWZ1bmN0aW9uIG5lKGFlKXtmb3IodmFyIHVlPWFyZ3VtZW50cy5sZW5ndGgsYmU9bmV3IEFycmF5KHVlPjE/''@;'; put 'put ''dWUtMTowKSxfZT0xO19lPHVlO19lKyspYmVbX2UtMV09YXJndW1lbnRzW19lXTtXLmFwcGx5KHZvaWQgMCxbbmUsZyhhZSldLmNvbmNhdChiZSkpfSxxLnJlamVjdHM9ZnVuY3Rpb24gbmUoYWUpe2Zvcih2YXIgdWU9YXJndW1lbnRzLmxlbmd0aCxiZT1uZXcgQXJyYXkodWU+MT91ZS0xOjAp''@;'; put 'put ''LF9lPTE7X2U8dWU7X2UrKyliZVtfZS0xXT1hcmd1bWVudHNbX2VdO3JldHVybiBFKGFlKS50aGVuKGZ1bmN0aW9uKGxlKXtyZXR1cm4gVy5hcHBseSh2b2lkIDAsW25lLGxlXS5jb25jYXQoYmUpKX0pfSxxLmRvZXNOb3RUaHJvdz1mdW5jdGlvbiBuZShhZSl7Zm9yKHZhciB1ZT1hcmd1bWVu''@;'; put 'put ''dHMubGVuZ3RoLGJlPW5ldyBBcnJheSh1ZT4xP3VlLTE6MCksX2U9MTtfZTx1ZTtfZSsrKWJlW19lLTFdPWFyZ3VtZW50c1tfZV07Ry5hcHBseSh2b2lkIDAsW25lLGcoYWUpXS5jb25jYXQoYmUpKX0scS5kb2VzTm90UmVqZWN0PWZ1bmN0aW9uIG5lKGFlKXtmb3IodmFyIHVlPWFyZ3VtZW50''@;'; put 'put ''cy5sZW5ndGgsYmU9bmV3IEFycmF5KHVlPjE/dWUtMTowKSxfZT0xO19lPHVlO19lKyspYmVbX2UtMV09YXJndW1lbnRzW19lXTtyZXR1cm4gRShhZSkudGhlbihmdW5jdGlvbihsZSl7cmV0dXJuIEcuYXBwbHkodm9pZCAwLFtuZSxsZV0uY29uY2F0KGJlKSl9KX0scS5pZkVycm9yPWZ1bmN0''@;'; put 'put ''aW9uIG5lKGFlKXtpZihudWxsIT1hZSl7dmFyIHVlPSJpZkVycm9yIGdvdCB1bndhbnRlZCBleGNlcHRpb246ICI7Im9iamVjdCI9PT1DKGFlKSYmInN0cmluZyI9PXR5cGVvZiBhZS5tZXNzYWdlP3VlKz0wPT09YWUubWVzc2FnZS5sZW5ndGgmJmFlLmNvbnN0cnVjdG9yP2FlLmNvbnN0cnVj''@;'; put 'put ''dG9yLm5hbWU6YWUubWVzc2FnZTp1ZSs9TChhZSk7dmFyIGJlPW5ldyBPKHthY3R1YWw6YWUsZXhwZWN0ZWQ6bnVsbCxvcGVyYXRvcjoiaWZFcnJvciIsbWVzc2FnZTp1ZSxzdGFja1N0YXJ0Rm46bmV9KSxfZT1hZS5zdGFjaztpZigic3RyaW5nIj09dHlwZW9mIF9lKXt2YXIgbGU9X2Uuc3Bs''@;'; put 'put ''aXQoIlxuIik7bGUuc2hpZnQoKTtmb3IodmFyIGNlPWJlLnN0YWNrLnNwbGl0KCJcbiIpLHBlPTA7cGU8bGUubGVuZ3RoO3BlKyspe3ZhciB3ZT1jZS5pbmRleE9mKGxlW3BlXSk7aWYoLTEhPT13ZSl7Y2U9Y2Uuc2xpY2UoMCx3ZSk7YnJlYWt9fWJlLnN0YWNrPSIiLmNvbmNhdChjZS5qb2lu''@;'; put 'put ''KCJcbiIpLCJcbiIpLmNvbmNhdChsZS5qb2luKCJcbiIpKX10aHJvdyBiZX19LHEuc3RyaWN0PVUoWCxxLHtlcXVhbDpxLnN0cmljdEVxdWFsLGRlZXBFcXVhbDpxLmRlZXBTdHJpY3RFcXVhbCxub3RFcXVhbDpxLm5vdFN0cmljdEVxdWFsLG5vdERlZXBFcXVhbDpxLm5vdERlZXBTdHJpY3RF''@;'; put 'put ''cXVhbH0pLHEuc3RyaWN0LnN0cmljdD1xLnN0cmljdH0sNTk2MTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSk7ZnVuY3Rpb24geih0ZSxoLGIpe3JldHVybiBoIGluIHRlP09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0ZSxoLHt2YWx1ZTpiLGVudW1lcmFibGU6ITAsY29uZmln''@;'; put 'put ''dXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dGVbaF09Yix0ZX1mdW5jdGlvbiBDKHRlLGgpe2Zvcih2YXIgYj0wO2I8aC5sZW5ndGg7YisrKXt2YXIgeT1oW2JdO3kuZW51bWVyYWJsZT15LmVudW1lcmFibGV8fCExLHkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiB5JiYoeS53cml0YWJsZT0h''@;'; put 'put ''MCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRlLHkua2V5LHkpfX1mdW5jdGlvbiBTKHRlLGgpe3JldHVybiFofHwib2JqZWN0IiE9PWsoaCkmJiJmdW5jdGlvbiIhPXR5cGVvZiBoP20odGUpOmh9ZnVuY3Rpb24gbSh0ZSl7aWYodm9pZCAwPT09dGUpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9y''@;'; put 'put ''KCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTtyZXR1cm4gdGV9ZnVuY3Rpb24gRih0ZSl7dmFyIGg9ImZ1bmN0aW9uIj09dHlwZW9mIE1hcD9uZXcgTWFwOnZvaWQgMDtyZXR1cm4gRj1mdW5jdGlvbihiKXtpZihudWxsPT09Ynx8''@;'; put 'put ''LTE9PT1GdW5jdGlvbi50b1N0cmluZy5jYWxsKGIpLmluZGV4T2YoIltuYXRpdmUgY29kZV0iKSlyZXR1cm4gYjtpZigiZnVuY3Rpb24iIT10eXBlb2YgYil0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO2lm''@;'; put 'put ''KHZvaWQgMCE9PWgpe2lmKGguaGFzKGIpKXJldHVybiBoLmdldChiKTtoLnNldChiLHApfWZ1bmN0aW9uIHAoKXtyZXR1cm4gdyhiLGFyZ3VtZW50cyxNKHRoaXMpLmNvbnN0cnVjdG9yKX1yZXR1cm4gcC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShiLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6''@;'; put 'put ''e3ZhbHVlOnAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksUChwLGIpfSxGKHRlKX1mdW5jdGlvbiBEKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3R8fFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7''@;'; put 'put ''aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLFtdLGZ1bmN0aW9uKCl7fSkpLCEwfWNhdGNoKHRlKXtyZXR1cm4hMX19ZnVuY3Rpb24gdyh0ZSxoLGIpe3JldHVy''@;'; put 'put ''bih3PUQoKT9SZWZsZWN0LmNvbnN0cnVjdDpmdW5jdGlvbih5LHAsZyl7dmFyIF89W251bGxdO18ucHVzaC5hcHBseShfLHApO3ZhciBFPW5ldyhGdW5jdGlvbi5iaW5kLmFwcGx5KHksXykpO3JldHVybiBnJiZQKEUsZy5wcm90b3R5cGUpLEV9KS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVu''@;'; put 'put ''Y3Rpb24gUCh0ZSxoKXtyZXR1cm4oUD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKGIseSl7cmV0dXJuIGIuX19wcm90b19fPXksYn0pKHRlLGgpfWZ1bmN0aW9uIE0odGUpe3JldHVybihNPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3QuZ2V0UHJvdG90eXBlT2Y6ZnVuY3Rp''@;'; put 'put ''b24oaCl7cmV0dXJuIGguX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoaCl9KSh0ZSl9ZnVuY3Rpb24gayh0ZSl7cmV0dXJuKGs9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oaCl7cmV0dXJuIHR5cGVv''@;'; put 'put ''ZiBofTpmdW5jdGlvbihoKXtyZXR1cm4gaCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmaC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmaCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGh9KSh0ZSl9dmFyIE89aig5NTM5KS5pbnNwZWN0LEw9aigyMTM2KS5jb2Rlcy5FUlJf''@;'; put 'put ''SU5WQUxJRF9BUkdfVFlQRTtmdW5jdGlvbiBUKHRlLGgsYil7cmV0dXJuKHZvaWQgMD09PWJ8fGI+dGUubGVuZ3RoKSYmKGI9dGUubGVuZ3RoKSx0ZS5zdWJzdHJpbmcoYi1oLmxlbmd0aCxiKT09PWh9dmFyIFk9IiIsST0iIixVPSIiLFY9IiIsUj17ZGVlcFN0cmljdEVxdWFsOiJFeHBlY3Rl''@;'; put 'put ''ZCB2YWx1ZXMgdG8gYmUgc3RyaWN0bHkgZGVlcC1lcXVhbDoiLHN0cmljdEVxdWFsOiJFeHBlY3RlZCB2YWx1ZXMgdG8gYmUgc3RyaWN0bHkgZXF1YWw6IixzdHJpY3RFcXVhbE9iamVjdDonRXhwZWN0ZWQgImFjdHVhbCIgdG8gYmUgcmVmZXJlbmNlLWVxdWFsIHRvICJleHBlY3RlZCI6Jyxk''@;'; put 'put ''ZWVwRXF1YWw6IkV4cGVjdGVkIHZhbHVlcyB0byBiZSBsb29zZWx5IGRlZXAtZXF1YWw6IixlcXVhbDoiRXhwZWN0ZWQgdmFsdWVzIHRvIGJlIGxvb3NlbHkgZXF1YWw6Iixub3REZWVwU3RyaWN0RXF1YWw6J0V4cGVjdGVkICJhY3R1YWwiIG5vdCB0byBiZSBzdHJpY3RseSBkZWVwLWVxdWFs''@;'; put 'put ''IHRvOicsbm90U3RyaWN0RXF1YWw6J0V4cGVjdGVkICJhY3R1YWwiIHRvIGJlIHN0cmljdGx5IHVuZXF1YWwgdG86Jyxub3RTdHJpY3RFcXVhbE9iamVjdDonRXhwZWN0ZWQgImFjdHVhbCIgbm90IHRvIGJlIHJlZmVyZW5jZS1lcXVhbCB0byAiZXhwZWN0ZWQiOicsbm90RGVlcEVxdWFsOidF''@;'; put 'put ''eHBlY3RlZCAiYWN0dWFsIiBub3QgdG8gYmUgbG9vc2VseSBkZWVwLWVxdWFsIHRvOicsbm90RXF1YWw6J0V4cGVjdGVkICJhY3R1YWwiIHRvIGJlIGxvb3NlbHkgdW5lcXVhbCB0bzonLG5vdElkZW50aWNhbDoiVmFsdWVzIGlkZW50aWNhbCBidXQgbm90IHJlZmVyZW5jZS1lcXVhbDoifTtm''@;'; put 'put ''dW5jdGlvbiBCKHRlKXt2YXIgaD1PYmplY3Qua2V5cyh0ZSksYj1PYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0ZSkpO3JldHVybiBoLmZvckVhY2goZnVuY3Rpb24oeSl7Ylt5XT10ZVt5XX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiLCJtZXNzYWdlIix7dmFsdWU6dGUu''@;'; put 'put ''bWVzc2FnZX0pLGJ9ZnVuY3Rpb24gcSh0ZSl7cmV0dXJuIE8odGUse2NvbXBhY3Q6ITEsY3VzdG9tSW5zcGVjdDohMSxkZXB0aDoxZTMsbWF4QXJyYXlMZW5ndGg6MS8wLHNob3dIaWRkZW46ITEsYnJlYWtMZW5ndGg6MS8wLHNob3dQcm94eTohMSxzb3J0ZWQ6ITAsZ2V0dGVyczohMH0pfXZh''@;'; put 'put ''ciAkPWZ1bmN0aW9uKHRlKXtmdW5jdGlvbiBoKGcpe3ZhciBfO2lmKGZ1bmN0aW9uKHBlLHdlKXtpZighKHBlIGluc3RhbmNlb2Ygd2UpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGgpLCJvYmplY3QiIT09ayhnKXx8bnVs''@;'; put 'put ''bD09PWcpdGhyb3cgbmV3IEwoIm9wdGlvbnMiLCJPYmplY3QiLGcpO3ZhciBFPWcubWVzc2FnZSxXPWcub3BlcmF0b3IsRz1nLnN0YWNrU3RhcnRGbixYPWcuYWN0dWFsLG5lPWcuZXhwZWN0ZWQsYWU9RXJyb3Iuc3RhY2tUcmFjZUxpbWl0O2lmKEVycm9yLnN0YWNrVHJhY2VMaW1pdD0wLG51''@;'; put 'put ''bGwhPUUpXz1TKHRoaXMsTShoKS5jYWxsKHRoaXMsU3RyaW5nKEUpKSk7ZWxzZSBpZihOLnN0ZGVyciYmTi5zdGRlcnIuaXNUVFkmJihOLnN0ZGVyciYmTi5zdGRlcnIuZ2V0Q29sb3JEZXB0aCYmMSE9PU4uc3RkZXJyLmdldENvbG9yRGVwdGgoKT8oWT0iXHgxYlszNG0iLEk9Ilx4MWJbMzJt''@;'; put 'put ''IixWPSJceDFiWzM5bSIsVT0iXHgxYlszMW0iKTooWT0iIixJPSIiLFY9IiIsVT0iIikpLCJvYmplY3QiPT09ayhYKSYmbnVsbCE9PVgmJiJvYmplY3QiPT09ayhuZSkmJm51bGwhPT1uZSYmInN0YWNrImluIFgmJlggaW5zdGFuY2VvZiBFcnJvciYmInN0YWNrImluIG5lJiZuZSBpbnN0YW5j''@;'; put 'put ''ZW9mIEVycm9yJiYoWD1CKFgpLG5lPUIobmUpKSwiZGVlcFN0cmljdEVxdWFsIj09PVd8fCJzdHJpY3RFcXVhbCI9PT1XKV89Uyh0aGlzLE0oaCkuY2FsbCh0aGlzLGZ1bmN0aW9uIEoodGUsaCxiKXt2YXIgeT0iIixwPSIiLGc9MCxfPSIiLEU9ITEsVz1xKHRlKSxHPVcuc3BsaXQoIlxuIiks''@;'; put 'put ''WD1xKGgpLnNwbGl0KCJcbiIpLG5lPTAsYWU9IiI7aWYoInN0cmljdEVxdWFsIj09PWImJiJvYmplY3QiPT09ayh0ZSkmJiJvYmplY3QiPT09ayhoKSYmbnVsbCE9PXRlJiZudWxsIT09aCYmKGI9InN0cmljdEVxdWFsT2JqZWN0IiksMT09PUcubGVuZ3RoJiYxPT09WC5sZW5ndGgmJkdbMF0h''@;'; put 'put ''PT1YWzBdKXt2YXIgdWU9R1swXS5sZW5ndGgrWFswXS5sZW5ndGg7aWYodWU8PTEwKXtpZighKCJvYmplY3QiPT09ayh0ZSkmJm51bGwhPT10ZXx8Im9iamVjdCI9PT1rKGgpJiZudWxsIT09aHx8MD09PXRlJiYwPT09aCkpcmV0dXJuIiIuY29uY2F0KFJbYl0sIlxuXG4iKSsiIi5jb25jYXQo''@;'; put 'put ''R1swXSwiICE9PSAiKS5jb25jYXQoWFswXSwiXG4iKX1lbHNlIGlmKCJzdHJpY3RFcXVhbE9iamVjdCIhPT1iJiZ1ZTwoTi5zdGRlcnImJk4uc3RkZXJyLmlzVFRZP04uc3RkZXJyLmNvbHVtbnM6ODApKXtmb3IoO0dbMF1bbmVdPT09WFswXVtuZV07KW5lKys7bmU+MiYmKGFlPSJcbiAgIi5j''@;'; put 'put ''b25jYXQoZnVuY3Rpb24oSGUsUmUpe2lmKFJlPU1hdGguZmxvb3IoUmUpLDA9PUhlLmxlbmd0aHx8MD09UmUpcmV0dXJuIiI7dmFyIE9lPUhlLmxlbmd0aCpSZTtmb3IoUmU9TWF0aC5mbG9vcihNYXRoLmxvZyhSZSkvTWF0aC5sb2coMikpO1JlOylIZSs9SGUsUmUtLTtyZXR1cm4gSGUrSGUu''@;'; put 'put ''c3Vic3RyaW5nKDAsT2UtSGUubGVuZ3RoKX0oIiAiLG5lKSwiXiIpLG5lPTApfX1mb3IodmFyIGJlPUdbRy5sZW5ndGgtMV0sX2U9WFtYLmxlbmd0aC0xXTtiZT09PV9lJiYobmUrKzwyP189IlxuICAiLmNvbmNhdChiZSkuY29uY2F0KF8pOnk9YmUsRy5wb3AoKSxYLnBvcCgpLDAhPT1HLmxl''@;'; put 'put ''bmd0aCYmMCE9PVgubGVuZ3RoKTspYmU9R1tHLmxlbmd0aC0xXSxfZT1YW1gubGVuZ3RoLTFdO3ZhciBsZT1NYXRoLm1heChHLmxlbmd0aCxYLmxlbmd0aCk7aWYoMD09PWxlKXt2YXIgY2U9Vy5zcGxpdCgiXG4iKTtpZihjZS5sZW5ndGg+MzApZm9yKGNlWzI2XT0iIi5jb25jYXQoWSwiLi4u''@;'; put 'put ''IikuY29uY2F0KFYpO2NlLmxlbmd0aD4yNzspY2UucG9wKCk7cmV0dXJuIiIuY29uY2F0KFIubm90SWRlbnRpY2FsLCJcblxuIikuY29uY2F0KGNlLmpvaW4oIlxuIiksIlxuIil9bmU+MyYmKF89IlxuIi5jb25jYXQoWSwiLi4uIikuY29uY2F0KFYpLmNvbmNhdChfKSxFPSEwKSwiIiE9PXkm''@;'; put 'put ''JihfPSJcbiAgIi5jb25jYXQoeSkuY29uY2F0KF8pLHk9IiIpO3ZhciBwZT0wLHdlPVJbYl0rIlxuIi5jb25jYXQoSSwiKyBhY3R1YWwiKS5jb25jYXQoViwiICIpLmNvbmNhdChVLCItIGV4cGVjdGVkIikuY29uY2F0KFYpLFVlPSIgIi5jb25jYXQoWSwiLi4uIikuY29uY2F0KFYsIiBMaW5l''@;'; put 'put ''cyBza2lwcGVkIik7Zm9yKG5lPTA7bmU8bGU7bmUrKyl7dmFyIHhlPW5lLWc7aWYoRy5sZW5ndGg8bmUrMSl4ZT4xJiZuZT4yJiYoeGU+ND8ocCs9IlxuIi5jb25jYXQoWSwiLi4uIikuY29uY2F0KFYpLEU9ITApOnhlPjMmJihwKz0iXG4gICIuY29uY2F0KFhbbmUtMl0pLHBlKyspLHArPSJc''@;'; put 'put ''biAgIi5jb25jYXQoWFtuZS0xXSkscGUrKyksZz1uZSx5Kz0iXG4iLmNvbmNhdChVLCItIikuY29uY2F0KFYsIiAiKS5jb25jYXQoWFtuZV0pLHBlKys7ZWxzZSBpZihYLmxlbmd0aDxuZSsxKXhlPjEmJm5lPjImJih4ZT40PyhwKz0iXG4iLmNvbmNhdChZLCIuLi4iKS5jb25jYXQoViksRT0h''@;'; put 'put ''MCk6eGU+MyYmKHArPSJcbiAgIi5jb25jYXQoR1tuZS0yXSkscGUrKykscCs9IlxuICAiLmNvbmNhdChHW25lLTFdKSxwZSsrKSxnPW5lLHArPSJcbiIuY29uY2F0KEksIisiKS5jb25jYXQoViwiICIpLmNvbmNhdChHW25lXSkscGUrKztlbHNle3ZhciBFZT1YW25lXSx3dD1HW25lXSxOZT13''@;'; put 'put ''dCE9PUVlJiYoIVQod3QsIiwiKXx8d3Quc2xpY2UoMCwtMSkhPT1FZSk7TmUmJlQoRWUsIiwiKSYmRWUuc2xpY2UoMCwtMSk9PT13dCYmKE5lPSExLHd0Kz0iLCIpLE5lPyh4ZT4xJiZuZT4yJiYoeGU+ND8ocCs9IlxuIi5jb25jYXQoWSwiLi4uIikuY29uY2F0KFYpLEU9ITApOnhlPjMmJihw''@;'; put 'put ''Kz0iXG4gICIuY29uY2F0KEdbbmUtMl0pLHBlKyspLHArPSJcbiAgIi5jb25jYXQoR1tuZS0xXSkscGUrKyksZz1uZSxwKz0iXG4iLmNvbmNhdChJLCIrIikuY29uY2F0KFYsIiAiKS5jb25jYXQod3QpLHkrPSJcbiIuY29uY2F0KFUsIi0iKS5jb25jYXQoViwiICIpLmNvbmNhdChFZSkscGUr''@;'; put 'put ''PTIpOihwKz15LHk9IiIsMSE9PXhlJiYwIT09bmV8fChwKz0iXG4gICIuY29uY2F0KHd0KSxwZSsrKSl9aWYocGU+MjAmJm5lPGxlLTIpcmV0dXJuIiIuY29uY2F0KHdlKS5jb25jYXQoVWUsIlxuIikuY29uY2F0KHAsIlxuIikuY29uY2F0KFksIi4uLiIpLmNvbmNhdChWKS5jb25jYXQoeSwi''@;'; put 'put ''XG4iKSsiIi5jb25jYXQoWSwiLi4uIikuY29uY2F0KFYpfXJldHVybiIiLmNvbmNhdCh3ZSkuY29uY2F0KEU/VWU6IiIsIlxuIikuY29uY2F0KHApLmNvbmNhdCh5KS5jb25jYXQoXykuY29uY2F0KGFlKX0oWCxuZSxXKSkpO2Vsc2UgaWYoIm5vdERlZXBTdHJpY3RFcXVhbCI9PT1XfHwibm90''@;'; put 'put ''U3RyaWN0RXF1YWwiPT09Vyl7dmFyIHVlPVJbV10sYmU9cShYKS5zcGxpdCgiXG4iKTtpZigibm90U3RyaWN0RXF1YWwiPT09VyYmIm9iamVjdCI9PT1rKFgpJiZudWxsIT09WCYmKHVlPVIubm90U3RyaWN0RXF1YWxPYmplY3QpLGJlLmxlbmd0aD4zMClmb3IoYmVbMjZdPSIiLmNvbmNhdChZ''@;'; put 'put ''LCIuLi4iKS5jb25jYXQoVik7YmUubGVuZ3RoPjI3OyliZS5wb3AoKTtfPVModGhpcywxPT09YmUubGVuZ3RoP00oaCkuY2FsbCh0aGlzLCIiLmNvbmNhdCh1ZSwiICIpLmNvbmNhdChiZVswXSkpOk0oaCkuY2FsbCh0aGlzLCIiLmNvbmNhdCh1ZSwiXG5cbiIpLmNvbmNhdChiZS5qb2luKCJc''@;'; put 'put ''biIpLCJcbiIpKSl9ZWxzZXt2YXIgX2U9cShYKSxsZT0iIixjZT1SW1ddOyJub3REZWVwRXF1YWwiPT09V3x8Im5vdEVxdWFsIj09PVc/KF9lPSIiLmNvbmNhdChSW1ddLCJcblxuIikuY29uY2F0KF9lKSkubGVuZ3RoPjEwMjQmJihfZT0iIi5jb25jYXQoX2Uuc2xpY2UoMCwxMDIxKSwiLi4u''@;'; put 'put ''IikpOihsZT0iIi5jb25jYXQocShuZSkpLF9lLmxlbmd0aD41MTImJihfZT0iIi5jb25jYXQoX2Uuc2xpY2UoMCw1MDkpLCIuLi4iKSksbGUubGVuZ3RoPjUxMiYmKGxlPSIiLmNvbmNhdChsZS5zbGljZSgwLDUwOSksIi4uLiIpKSwiZGVlcEVxdWFsIj09PVd8fCJlcXVhbCI9PT1XP19lPSIi''@;'; put 'put ''LmNvbmNhdChjZSwiXG5cbiIpLmNvbmNhdChfZSwiXG5cbnNob3VsZCBlcXVhbFxuXG4iKTpsZT0iICIuY29uY2F0KFcsIiAiKS5jb25jYXQobGUpKSxfPVModGhpcyxNKGgpLmNhbGwodGhpcywiIi5jb25jYXQoX2UpLmNvbmNhdChsZSkpKX1yZXR1cm4gRXJyb3Iuc3RhY2tUcmFjZUxpbWl0''@;'; put 'put ''PWFlLF8uZ2VuZXJhdGVkTWVzc2FnZT0hRSxPYmplY3QuZGVmaW5lUHJvcGVydHkobShfKSwibmFtZSIse3ZhbHVlOiJBc3NlcnRpb25FcnJvciBbRVJSX0FTU0VSVElPTl0iLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksXy5jb2RlPSJFUlJfQVNTRVJUSU9O''@;'; put 'put ''IixfLmFjdHVhbD1YLF8uZXhwZWN0ZWQ9bmUsXy5vcGVyYXRvcj1XLEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShtKF8pLEcpLF8ubmFtZT0iQXNzZXJ0aW9uRXJyb3IiLFMoXyl9dmFyIGIseTtyZXR1cm4gZnVuY3Rpb24oZyxfKXtpZigiZnVuY3Rp''@;'; put 'put ''b24iIT10eXBlb2YgXyYmbnVsbCE9PV8pdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTtnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKF8mJl8ucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6Zyx3cml0''@;'; put 'put ''YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksXyYmUChnLF8pfShoLHRlKSxiPWgseT1be2tleToidG9TdHJpbmciLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMubmFtZSwiIFsiKS5jb25jYXQodGhpcy5jb2RlLCJdOiAiKS5jb25jYXQodGhpcy5tZXNzYWdlKX19LHtr''@;'; put 'put ''ZXk6Ty5jdXN0b20sdmFsdWU6ZnVuY3Rpb24oZyxfKXtyZXR1cm4gTyh0aGlzLGZ1bmN0aW9uKEUpe2Zvcih2YXIgVz0xO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspe3ZhciBHPW51bGwhPWFyZ3VtZW50c1tXXT9hcmd1bWVudHNbV106e30sWD1PYmplY3Qua2V5cyhHKTsiZnVuY3Rpb24iPT10''@;'; put 'put ''eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyYmKFg9WC5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhHKS5maWx0ZXIoZnVuY3Rpb24obmUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEcsbmUpLmVudW1lcmFibGV9KSkpLFguZm9y''@;'; put 'put ''RWFjaChmdW5jdGlvbihuZSl7eihFLG5lLEdbbmVdKX0pfXJldHVybiBFfSh7fSxfLHtjdXN0b21JbnNwZWN0OiExLGRlcHRoOjB9KSl9fV0seSYmQyhiLnByb3RvdHlwZSx5KSxofShGKEVycm9yKSk7Wi5leHBvcnRzPSR9LDIxMzY6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBO''@;'; put 'put ''KE0pe3JldHVybihOPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGspe3JldHVybiB0eXBlb2Yga306ZnVuY3Rpb24oayl7cmV0dXJuIGsmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmsuY29uc3RydWN0b3I9''@;'; put 'put ''PT1TeW1ib2wmJmshPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBrfSkoTSl9ZnVuY3Rpb24gQyhNKXtyZXR1cm4oQz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKGspe3JldHVybiBrLl9fcHJvdG9fX3x8T2JqZWN0LmdldFBy''@;'; put 'put ''b3RvdHlwZU9mKGspfSkoTSl9ZnVuY3Rpb24gUyhNLGspe3JldHVybihTPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24oTyxMKXtyZXR1cm4gTy5fX3Byb3RvX189TCxPfSkoTSxrKX12YXIgbSxGLEQ9e307ZnVuY3Rpb24gdyhNLGssTyl7T3x8KE89RXJyb3IpO3ZhciBMPWZ1bmN0''@;'; put 'put ''aW9uKFQpe2Z1bmN0aW9uIFkoSSxVLFYpe3ZhciBSLEIscSxKO3JldHVybiBmdW5jdGlvbihCLHEpe2lmKCEoQiBpbnN0YW5jZW9mIHEpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLFkpLChSPWZ1bmN0aW9uIHooTSxrKXty''@;'; put 'put ''ZXR1cm4ha3x8Im9iamVjdCIhPT1OKGspJiYiZnVuY3Rpb24iIT10eXBlb2Ygaz9mdW5jdGlvbihPKXtpZih2b2lkIDA9PT1PKXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJu''@;'; put 'put ''IE99KE0pOmt9KHRoaXMsQyhZKS5jYWxsKHRoaXMsKEI9SSxxPVUsSj1WLCJzdHJpbmciPT10eXBlb2Ygaz9rOmsoQixxLEopKSkpKS5jb2RlPU0sUn1yZXR1cm4gZnVuY3Rpb24oSSxVKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgVSYmbnVsbCE9PVUpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3Vw''@;'; put 'put ''ZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTtJLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFUmJlUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6SSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksVSYmUyhJLFUpfShZLFQpLFl9KE8p''@;'; put 'put ''O0RbTV09TH1mdW5jdGlvbiBQKE0sayl7aWYoQXJyYXkuaXNBcnJheShNKSl7dmFyIE89TS5sZW5ndGg7cmV0dXJuIE09TS5tYXAoZnVuY3Rpb24oTCl7cmV0dXJuIFN0cmluZyhMKX0pLE8+Mj8ib25lIG9mICIuY29uY2F0KGssIiAiKS5jb25jYXQoTS5zbGljZSgwLE8tMSkuam9pbigiLCAi''@;'; put 'put ''KSwiLCBvciAiKStNW08tMV06Mj09PU8/Im9uZSBvZiAiLmNvbmNhdChrLCIgIikuY29uY2F0KE1bMF0sIiBvciAiKS5jb25jYXQoTVsxXSk6Im9mICIuY29uY2F0KGssIiAiKS5jb25jYXQoTVswXSl9cmV0dXJuIm9mICIuY29uY2F0KGssIiAiKS5jb25jYXQoU3RyaW5nKE0pKX13KCJFUlJf''@;'; put 'put ''QU1CSUdVT1VTX0FSR1VNRU5UIiwnVGhlICIlcyIgYXJndW1lbnQgaXMgYW1iaWd1b3VzLiAlcycsVHlwZUVycm9yKSx3KCJFUlJfSU5WQUxJRF9BUkdfVFlQRSIsZnVuY3Rpb24oTSxrLE8pe3ZhciBMLEksVixCO2lmKHZvaWQgMD09PW0mJihtPWooOTI4MikpLG0oInN0cmluZyI9PXR5cGVv''@;'; put 'put ''ZiBNLCInbmFtZScgbXVzdCBiZSBhIHN0cmluZyIpLCJzdHJpbmciPT10eXBlb2YgayYmIm5vdCAiPT09ay5zdWJzdHIoMCwibm90ICIubGVuZ3RoKT8oTD0ibXVzdCBub3QgYmUiLGs9ay5yZXBsYWNlKC9ebm90IC8sIiIpKTpMPSJtdXN0IGJlIixWPU0sKHZvaWQgMD09PUJ8fEI+Vi5sZW5n''@;'; put 'put ''dGgpJiYoQj1WLmxlbmd0aCksIiBhcmd1bWVudCI9PT1WLnN1YnN0cmluZyhCLSIgYXJndW1lbnQiLmxlbmd0aCxCKSlJPSJUaGUgIi5jb25jYXQoTSwiICIpLmNvbmNhdChMLCIgIikuY29uY2F0KFAoaywidHlwZSIpKTtlbHNle3ZhciBVPWZ1bmN0aW9uKFYsUixCKXtyZXR1cm4ibnVtYmVy''@;'; put 'put ''IiE9dHlwZW9mIEImJihCPTApLCEoQisiLiIubGVuZ3RoPlYubGVuZ3RoKSYmLTEhPT1WLmluZGV4T2YoIi4iLEIpfShNKT8icHJvcGVydHkiOiJhcmd1bWVudCI7ST0nVGhlICInLmNvbmNhdChNLCciICcpLmNvbmNhdChVLCIgIikuY29uY2F0KEwsIiAiKS5jb25jYXQoUChrLCJ0eXBlIikp''@;'; put 'put ''fXJldHVybiBJKyIuIFJlY2VpdmVkIHR5cGUgIi5jb25jYXQoTihPKSl9LFR5cGVFcnJvciksdygiRVJSX0lOVkFMSURfQVJHX1ZBTFVFIixmdW5jdGlvbihNLGspe3ZhciBPPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToiaXMgaW52YWxp''@;'; put 'put ''ZCI7dm9pZCAwPT09RiYmKEY9aig5NTM5KSk7dmFyIEw9Ri5pbnNwZWN0KGspO3JldHVybiBMLmxlbmd0aD4xMjgmJihMPSIiLmNvbmNhdChMLnNsaWNlKDAsMTI4KSwiLi4uIikpLCJUaGUgYXJndW1lbnQgJyIuY29uY2F0KE0sIicgIikuY29uY2F0KE8sIi4gUmVjZWl2ZWQgIikuY29uY2F0''@;'; put 'put ''KEwpfSxUeXBlRXJyb3IsUmFuZ2VFcnJvciksdygiRVJSX0lOVkFMSURfUkVUVVJOX1ZBTFVFIixmdW5jdGlvbihNLGssTyl7dmFyIEw7cmV0dXJuIEw9TyYmTy5jb25zdHJ1Y3RvciYmTy5jb25zdHJ1Y3Rvci5uYW1lPyJpbnN0YW5jZSBvZiAiLmNvbmNhdChPLmNvbnN0cnVjdG9yLm5hbWUp''@;'; put 'put ''OiJ0eXBlICIuY29uY2F0KE4oTykpLCJFeHBlY3RlZCAiLmNvbmNhdChNLCcgdG8gYmUgcmV0dXJuZWQgZnJvbSB0aGUgIicpLmNvbmNhdChrLCciJykrIiBmdW5jdGlvbiBidXQgZ290ICIuY29uY2F0KEwsIi4iKX0sVHlwZUVycm9yKSx3KCJFUlJfTUlTU0lOR19BUkdTIixmdW5jdGlvbigp''@;'; put 'put ''e2Zvcih2YXIgTT1hcmd1bWVudHMubGVuZ3RoLGs9bmV3IEFycmF5KE0pLE89MDtPPE07TysrKWtbT109YXJndW1lbnRzW09dO3ZvaWQgMD09PW0mJihtPWooOTI4MikpLG0oay5sZW5ndGg+MCwiQXQgbGVhc3Qgb25lIGFyZyBuZWVkcyB0byBiZSBzcGVjaWZpZWQiKTt2YXIgTD0iVGhlICIs''@;'; put 'put ''VD1rLmxlbmd0aDtzd2l0Y2goaz1rLm1hcChmdW5jdGlvbihZKXtyZXR1cm4nIicuY29uY2F0KFksJyInKX0pLFQpe2Nhc2UgMTpMKz0iIi5jb25jYXQoa1swXSwiIGFyZ3VtZW50Iik7YnJlYWs7Y2FzZSAyOkwrPSIiLmNvbmNhdChrWzBdLCIgYW5kICIpLmNvbmNhdChrWzFdLCIgYXJndW1l''@;'; put 'put ''bnRzIik7YnJlYWs7ZGVmYXVsdDpMKz1rLnNsaWNlKDAsVC0xKS5qb2luKCIsICIpLEwrPSIsIGFuZCAiLmNvbmNhdChrW1QtMV0sIiBhcmd1bWVudHMiKX1yZXR1cm4iIi5jb25jYXQoTCwiIG11c3QgYmUgc3BlY2lmaWVkIil9LFR5cGVFcnJvciksWi5leHBvcnRzLmNvZGVzPUR9LDkxNTg6''@;'; put 'put ''KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBOKGNlLHBlKXtyZXR1cm4gZnVuY3Rpb24od2Upe2lmKEFycmF5LmlzQXJyYXkod2UpKXJldHVybiB3ZX0oY2UpfHxmdW5jdGlvbih3ZSxVZSl7dmFyIHhlPVtdLEVlPSEwLHd0PSExLE5lPXZvaWQgMDt0cnl7Zm9yKHZhciBIZSxSZT13''@;'; put 'put ''ZVtTeW1ib2wuaXRlcmF0b3JdKCk7IShFZT0oSGU9UmUubmV4dCgpKS5kb25lKSYmKHhlLnB1c2goSGUudmFsdWUpLCFVZXx8eGUubGVuZ3RoIT09VWUpO0VlPSEwKTt9Y2F0Y2goT2Upe3d0PSEwLE5lPU9lfWZpbmFsbHl7dHJ5e0VlfHxudWxsPT1SZS5yZXR1cm58fFJlLnJldHVybigpfWZp''@;'; put 'put ''bmFsbHl7aWYod3QpdGhyb3cgTmV9fXJldHVybiB4ZX0oY2UscGUpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UiKX0oKX1mdW5jdGlvbiB6KGNlKXtyZXR1cm4oej0iZnVuY3Rpb24i''@;'; put 'put ''PT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihwZSl7cmV0dXJuIHR5cGVvZiBwZX06ZnVuY3Rpb24ocGUpe3JldHVybiBwZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmcGUuY29uc3RydWN0b3I9PT1TeW1ib2wmJnBlIT09U3lt''@;'; put 'put ''Ym9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgcGV9KShjZSl9dmFyIEM9dm9pZCAwIT09L2EvZy5mbGFncyxTPWZ1bmN0aW9uKGNlKXt2YXIgcGU9W107cmV0dXJuIGNlLmZvckVhY2goZnVuY3Rpb24od2Upe3JldHVybiBwZS5wdXNoKHdlKX0pLHBlfSxtPWZ1bmN0aW9uKGNlKXt2YXIg''@;'; put 'put ''cGU9W107cmV0dXJuIGNlLmZvckVhY2goZnVuY3Rpb24od2UsVWUpe3JldHVybiBwZS5wdXNoKFtVZSx3ZV0pfSkscGV9LEY9T2JqZWN0LmlzP09iamVjdC5pczpqKDYwOSksRD1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP09iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM6ZnVuY3Rp''@;'; put 'put ''b24oKXtyZXR1cm5bXX0sdz1OdW1iZXIuaXNOYU4/TnVtYmVyLmlzTmFOOmooMzYwKTtmdW5jdGlvbiBQKGNlKXtyZXR1cm4gY2UuY2FsbC5iaW5kKGNlKX12YXIgTT1QKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpLGs9UChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVt''@;'; put 'put ''ZXJhYmxlKSxPPVAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyksTD1qKDk1MzkpLnR5cGVzLFQ9TC5pc0FueUFycmF5QnVmZmVyLFk9TC5pc0FycmF5QnVmZmVyVmlldyxJPUwuaXNEYXRlLFU9TC5pc01hcCxWPUwuaXNSZWdFeHAsUj1MLmlzU2V0LEI9TC5pc05hdGl2ZUVycm9yLHE9TC5p''@;'; put 'put ''c0JveGVkUHJpbWl0aXZlLEo9TC5pc051bWJlck9iamVjdCwkPUwuaXNTdHJpbmdPYmplY3QsdGU9TC5pc0Jvb2xlYW5PYmplY3QsaD1MLmlzQmlnSW50T2JqZWN0LGI9TC5pc1N5bWJvbE9iamVjdCx5PUwuaXNGbG9hdDMyQXJyYXkscD1MLmlzRmxvYXQ2NEFycmF5O2Z1bmN0aW9uIGcoY2Up''@;'; put 'put ''e2lmKDA9PT1jZS5sZW5ndGh8fGNlLmxlbmd0aD4xMClyZXR1cm4hMDtmb3IodmFyIHBlPTA7cGU8Y2UubGVuZ3RoO3BlKyspe3ZhciB3ZT1jZS5jaGFyQ29kZUF0KHBlKTtpZih3ZTw0OHx8d2U+NTcpcmV0dXJuITB9cmV0dXJuIDEwPT09Y2UubGVuZ3RoJiZjZT49TWF0aC5wb3coMiwzMil9''@;'; put 'put ''ZnVuY3Rpb24gXyhjZSl7cmV0dXJuIE9iamVjdC5rZXlzKGNlKS5maWx0ZXIoZykuY29uY2F0KEQoY2UpLmZpbHRlcihPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmJpbmQoY2UpKSl9ZnVuY3Rpb24gRShjZSxwZSl7aWYoY2U9PT1wZSlyZXR1cm4gMDtmb3IodmFyIHdl''@;'; put 'put ''PWNlLmxlbmd0aCxVZT1wZS5sZW5ndGgseGU9MCxFZT1NYXRoLm1pbih3ZSxVZSk7eGU8RWU7Kyt4ZSlpZihjZVt4ZV0hPT1wZVt4ZV0pe3dlPWNlW3hlXSxVZT1wZVt4ZV07YnJlYWt9cmV0dXJuIHdlPFVlPy0xOlVlPHdlPzE6MH1mdW5jdGlvbiBXKGNlLHBlLHdlLFVlKXtpZihjZT09PXBl''@;'; put 'put ''KXJldHVybiAwIT09Y2V8fCF3ZXx8RihjZSxwZSk7aWYod2Upe2lmKCJvYmplY3QiIT09eihjZSkpcmV0dXJuIm51bWJlciI9PXR5cGVvZiBjZSYmdyhjZSkmJncocGUpO2lmKCJvYmplY3QiIT09eihwZSl8fG51bGw9PT1jZXx8bnVsbD09PXBlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2Up''@;'; put 'put ''IT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHBlKSlyZXR1cm4hMX1lbHNle2lmKG51bGw9PT1jZXx8Im9iamVjdCIhPT16KGNlKSlyZXR1cm4obnVsbD09PXBlfHwib2JqZWN0IiE9PXoocGUpKSYmY2U9PXBlO2lmKG51bGw9PT1wZXx8Im9iamVjdCIhPT16KHBlKSlyZXR1cm4hMX12YXIgeGUs''@;'; put 'put ''RWUsd3QsTmUsc2UsZGUsSGU9TyhjZSk7aWYoSGUhPT1PKHBlKSlyZXR1cm4hMTtpZihBcnJheS5pc0FycmF5KGNlKSl7aWYoY2UubGVuZ3RoIT09cGUubGVuZ3RoKXJldHVybiExO3ZhciBSZT1fKGNlKSxPZT1fKHBlKTtyZXR1cm4gUmUubGVuZ3RoPT09T2UubGVuZ3RoJiZYKGNlLHBlLHdl''@;'; put 'put ''LFVlLDEsUmUpfWlmKCJbb2JqZWN0IE9iamVjdF0iPT09SGUmJighVShjZSkmJlUocGUpfHwhUihjZSkmJlIocGUpKSlyZXR1cm4hMTtpZihJKGNlKSl7aWYoIUkocGUpfHxEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmNhbGwoY2UpIT09RGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5jYWxsKHBlKSly''@;'; put 'put ''ZXR1cm4hMX1lbHNlIGlmKFYoY2UpKXtpZighVihwZSl8fCh3dD1jZSxOZT1wZSwhKEM/d3Quc291cmNlPT09TmUuc291cmNlJiZ3dC5mbGFncz09PU5lLmZsYWdzOlJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh3dCk9PT1SZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoTmUp''@;'; put 'put ''KSkpcmV0dXJuITF9ZWxzZSBpZihCKGNlKXx8Y2UgaW5zdGFuY2VvZiBFcnJvcil7aWYoY2UubWVzc2FnZSE9PXBlLm1lc3NhZ2V8fGNlLm5hbWUhPT1wZS5uYW1lKXJldHVybiExfWVsc2V7aWYoWShjZSkpe2lmKHdlfHwheShjZSkmJiFwKGNlKSl7aWYoKHNlPWNlKS5ieXRlTGVuZ3RoIT09''@;'; put 'put ''KGRlPXBlKS5ieXRlTGVuZ3RofHwwIT09RShuZXcgVWludDhBcnJheShzZS5idWZmZXIsc2UuYnl0ZU9mZnNldCxzZS5ieXRlTGVuZ3RoKSxuZXcgVWludDhBcnJheShkZS5idWZmZXIsZGUuYnl0ZU9mZnNldCxkZS5ieXRlTGVuZ3RoKSkpcmV0dXJuITF9ZWxzZSBpZighZnVuY3Rpb24oc2Us''@;'; put 'put ''ZGUpe2lmKHNlLmJ5dGVMZW5ndGghPT1kZS5ieXRlTGVuZ3RoKXJldHVybiExO2Zvcih2YXIgQWU9MDtBZTxzZS5ieXRlTGVuZ3RoO0FlKyspaWYoc2VbQWVdIT09ZGVbQWVdKXJldHVybiExO3JldHVybiEwfShjZSxwZSkpcmV0dXJuITE7dmFyIExlPV8oY2UpLGllPV8ocGUpO3JldHVybiBM''@;'; put 'put ''ZS5sZW5ndGg9PT1pZS5sZW5ndGgmJlgoY2UscGUsd2UsVWUsMCxMZSl9aWYoUihjZSkpcmV0dXJuISghUihwZSl8fGNlLnNpemUhPT1wZS5zaXplKSYmWChjZSxwZSx3ZSxVZSwyKTtpZihVKGNlKSlyZXR1cm4hKCFVKHBlKXx8Y2Uuc2l6ZSE9PXBlLnNpemUpJiZYKGNlLHBlLHdlLFVlLDMp''@;'; put 'put ''O2lmKFQoY2UpKXtpZigoeGU9Y2UpLmJ5dGVMZW5ndGghPT0oRWU9cGUpLmJ5dGVMZW5ndGh8fDAhPT1FKG5ldyBVaW50OEFycmF5KHhlKSxuZXcgVWludDhBcnJheShFZSkpKXJldHVybiExfWVsc2UgaWYocShjZSkmJiFmdW5jdGlvbihzZSxkZSl7cmV0dXJuIEooc2UpP0ooZGUpJiZGKE51''@;'; put 'put ''bWJlci5wcm90b3R5cGUudmFsdWVPZi5jYWxsKHNlKSxOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YuY2FsbChkZSkpOiQoc2UpPyQoZGUpJiZTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YuY2FsbChzZSk9PT1TdHJpbmcucHJvdG90eXBlLnZhbHVlT2YuY2FsbChkZSk6dGUoc2UpP3RlKGRlKSYm''@;'; put 'put ''Qm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKHNlKT09PUJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChkZSk6aChzZSk/aChkZSkmJkJpZ0ludC5wcm90b3R5cGUudmFsdWVPZi5jYWxsKHNlKT09PUJpZ0ludC5wcm90b3R5cGUudmFsdWVPZi5jYWxsKGRlKTpiKGRlKSYmU3lt''@;'; put 'put ''Ym9sLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoc2UpPT09U3ltYm9sLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoZGUpfShjZSxwZSkpcmV0dXJuITF9cmV0dXJuIFgoY2UscGUsd2UsVWUsMCl9ZnVuY3Rpb24gRyhjZSxwZSl7cmV0dXJuIHBlLmZpbHRlcihmdW5jdGlvbih3ZSl7cmV0dXJuIGso''@;'; put 'put ''Y2Usd2UpfSl9ZnVuY3Rpb24gWChjZSxwZSx3ZSxVZSx4ZSxFZSl7aWYoNT09PWFyZ3VtZW50cy5sZW5ndGgpe0VlPU9iamVjdC5rZXlzKGNlKTt2YXIgd3Q9T2JqZWN0LmtleXMocGUpO2lmKEVlLmxlbmd0aCE9PXd0Lmxlbmd0aClyZXR1cm4hMX1mb3IodmFyIE5lPTA7TmU8RWUubGVuZ3Ro''@;'; put 'put ''O05lKyspaWYoIU0ocGUsRWVbTmVdKSlyZXR1cm4hMTtpZih3ZSYmNT09PWFyZ3VtZW50cy5sZW5ndGgpe3ZhciBIZT1EKGNlKTtpZigwIT09SGUubGVuZ3RoKXt2YXIgUmU9MDtmb3IoTmU9MDtOZTxIZS5sZW5ndGg7TmUrKyl7dmFyIE9lPUhlW05lXTtpZihrKGNlLE9lKSl7aWYoIWsocGUs''@;'; put 'put ''T2UpKXJldHVybiExO0VlLnB1c2goT2UpLFJlKyt9ZWxzZSBpZihrKHBlLE9lKSlyZXR1cm4hMX12YXIgTGU9RChwZSk7aWYoSGUubGVuZ3RoIT09TGUubGVuZ3RoJiZHKHBlLExlKS5sZW5ndGghPT1SZSlyZXR1cm4hMX1lbHNle3ZhciBpZT1EKHBlKTtpZigwIT09aWUubGVuZ3RoJiYwIT09''@;'; put 'put ''RyhwZSxpZSkubGVuZ3RoKXJldHVybiExfX1pZigwPT09RWUubGVuZ3RoJiYoMD09PXhlfHwxPT09eGUmJjA9PT1jZS5sZW5ndGh8fDA9PT1jZS5zaXplKSlyZXR1cm4hMDtpZih2b2lkIDA9PT1VZSlVZT17dmFsMTpuZXcgTWFwLHZhbDI6bmV3IE1hcCxwb3NpdGlvbjowfTtlbHNle3ZhciBz''@;'; put 'put ''ZT1VZS52YWwxLmdldChjZSk7aWYodm9pZCAwIT09c2Upe3ZhciBkZT1VZS52YWwyLmdldChwZSk7aWYodm9pZCAwIT09ZGUpcmV0dXJuIHNlPT09ZGV9VWUucG9zaXRpb24rK31VZS52YWwxLnNldChjZSxVZS5wb3NpdGlvbiksVWUudmFsMi5zZXQocGUsVWUucG9zaXRpb24pO3ZhciBBZT1s''@;'; put 'put ''ZShjZSxwZSx3ZSxFZSxVZSx4ZSk7cmV0dXJuIFVlLnZhbDEuZGVsZXRlKGNlKSxVZS52YWwyLmRlbGV0ZShwZSksQWV9ZnVuY3Rpb24gbmUoY2UscGUsd2UsVWUpe2Zvcih2YXIgeGU9UyhjZSksRWU9MDtFZTx4ZS5sZW5ndGg7RWUrKyl7dmFyIHd0PXhlW0VlXTtpZihXKHBlLHd0LHdlLFVl''@;'; put 'put ''KSlyZXR1cm4gY2UuZGVsZXRlKHd0KSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBhZShjZSl7c3dpdGNoKHooY2UpKXtjYXNlInVuZGVmaW5lZCI6cmV0dXJuIG51bGw7Y2FzZSJvYmplY3QiOnJldHVybjtjYXNlInN5bWJvbCI6cmV0dXJuITE7Y2FzZSJzdHJpbmciOmNlPStjZTtjYXNlIm51bWJl''@;'; put 'put ''ciI6aWYodyhjZSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gdWUoY2UscGUsd2Upe3ZhciBVZT1hZSh3ZSk7cmV0dXJuIG51bGwhPVVlP1VlOnBlLmhhcyhVZSkmJiFjZS5oYXMoVWUpfWZ1bmN0aW9uIGJlKGNlLHBlLHdlLFVlLHhlKXt2YXIgRWU9YWUod2UpO2lmKG51bGwhPUVlKXJl''@;'; put 'put ''dHVybiBFZTt2YXIgd3Q9cGUuZ2V0KEVlKTtyZXR1cm4hKHZvaWQgMD09PXd0JiYhcGUuaGFzKEVlKXx8IVcoVWUsd3QsITEseGUpKSYmIWNlLmhhcyhFZSkmJlcoVWUsd3QsITEseGUpfWZ1bmN0aW9uIF9lKGNlLHBlLHdlLFVlLHhlLEVlKXtmb3IodmFyIHd0PVMoY2UpLE5lPTA7TmU8d3Qu''@;'; put 'put ''bGVuZ3RoO05lKyspe3ZhciBIZT13dFtOZV07aWYoVyh3ZSxIZSx4ZSxFZSkmJlcoVWUscGUuZ2V0KEhlKSx4ZSxFZSkpcmV0dXJuIGNlLmRlbGV0ZShIZSksITB9cmV0dXJuITF9ZnVuY3Rpb24gbGUoY2UscGUsd2UsVWUseGUsRWUpe3ZhciB3dD0wO2lmKDI9PT1FZSl7aWYoIWZ1bmN0aW9u''@;'; put 'put ''KE9lLExlLGllLHNlKXtmb3IodmFyIGRlPW51bGwsQWU9UyhPZSksa2U9MDtrZTxBZS5sZW5ndGg7a2UrKyl7dmFyIFNlPUFlW2tlXTtpZigib2JqZWN0Ij09PXooU2UpJiZudWxsIT09U2UpbnVsbD09PWRlJiYoZGU9bmV3IFNldCksZGUuYWRkKFNlKTtlbHNlIGlmKCFMZS5oYXMoU2UpKXtp''@;'; put 'put ''ZihpZXx8IXVlKE9lLExlLFNlKSlyZXR1cm4hMTtudWxsPT09ZGUmJihkZT1uZXcgU2V0KSxkZS5hZGQoU2UpfX1pZihudWxsIT09ZGUpe2Zvcih2YXIgJGU9UyhMZSksVmU9MDtWZTwkZS5sZW5ndGg7VmUrKyl7dmFyIEdlPSRlW1ZlXTtpZigib2JqZWN0Ij09PXooR2UpJiZudWxsIT09R2Up''@;'; put 'put ''e2lmKCFuZShkZSxHZSxpZSxzZSkpcmV0dXJuITF9ZWxzZSBpZighaWUmJiFPZS5oYXMoR2UpJiYhbmUoZGUsR2UsaWUsc2UpKXJldHVybiExfXJldHVybiAwPT09ZGUuc2l6ZX1yZXR1cm4hMH0oY2UscGUsd2UseGUpKXJldHVybiExfWVsc2UgaWYoMz09PUVlKXtpZighZnVuY3Rpb24oT2Us''@;'; put 'put ''TGUsaWUsc2Upe2Zvcih2YXIgZGU9bnVsbCxBZT1tKE9lKSxrZT0wO2tlPEFlLmxlbmd0aDtrZSsrKXt2YXIgU2U9TihBZVtrZV0sMiksJGU9U2VbMF0sVmU9U2VbMV07aWYoIm9iamVjdCI9PT16KCRlKSYmbnVsbCE9PSRlKW51bGw9PT1kZSYmKGRlPW5ldyBTZXQpLGRlLmFkZCgkZSk7ZWxz''@;'; put 'put ''ZXt2YXIgR2U9TGUuZ2V0KCRlKTtpZih2b2lkIDA9PT1HZSYmIUxlLmhhcygkZSl8fCFXKFZlLEdlLGllLHNlKSl7aWYoaWV8fCFiZShPZSxMZSwkZSxWZSxzZSkpcmV0dXJuITE7bnVsbD09PWRlJiYoZGU9bmV3IFNldCksZGUuYWRkKCRlKX19fWlmKG51bGwhPT1kZSl7Zm9yKHZhciBxdD1t''@;'; put 'put ''KExlKSxLZT0wO0tlPHF0Lmxlbmd0aDtLZSsrKXt2YXIgZXQ9TihxdFtLZV0sMiksX249KCRlPWV0WzBdLGV0WzFdKTtpZigib2JqZWN0Ij09PXooJGUpJiZudWxsIT09JGUpe2lmKCFfZShkZSxPZSwkZSxfbixpZSxzZSkpcmV0dXJuITF9ZWxzZSBpZighKGllfHxPZS5oYXMoJGUpJiZXKE9l''@;'; put 'put ''LmdldCgkZSksX24sITEsc2UpfHxfZShkZSxPZSwkZSxfbiwhMSxzZSkpKXJldHVybiExfXJldHVybiAwPT09ZGUuc2l6ZX1yZXR1cm4hMH0oY2UscGUsd2UseGUpKXJldHVybiExfWVsc2UgaWYoMT09PUVlKWZvcig7d3Q8Y2UubGVuZ3RoO3d0Kyspe2lmKCFNKGNlLHd0KSl7aWYoTShwZSx3''@;'; put 'put ''dCkpcmV0dXJuITE7Zm9yKHZhciBOZT1PYmplY3Qua2V5cyhjZSk7d3Q8TmUubGVuZ3RoO3d0Kyspe3ZhciBIZT1OZVt3dF07aWYoIU0ocGUsSGUpfHwhVyhjZVtIZV0scGVbSGVdLHdlLHhlKSlyZXR1cm4hMX1yZXR1cm4gTmUubGVuZ3RoPT09T2JqZWN0LmtleXMocGUpLmxlbmd0aH1pZigh''@;'; put 'put ''TShwZSx3dCl8fCFXKGNlW3d0XSxwZVt3dF0sd2UseGUpKXJldHVybiExfWZvcih3dD0wO3d0PFVlLmxlbmd0aDt3dCsrKXt2YXIgUmU9VWVbd3RdO2lmKCFXKGNlW1JlXSxwZVtSZV0sd2UseGUpKXJldHVybiExfXJldHVybiEwfVouZXhwb3J0cz17aXNEZWVwRXF1YWw6ZnVuY3Rpb24oY2Us''@;'; put 'put ''cGUpe3JldHVybiBXKGNlLHBlLCExKX0saXNEZWVwU3RyaWN0RXF1YWw6ZnVuY3Rpb24oY2UscGUpe3JldHVybiBXKGNlLHBlLCEwKX19fSw4MjI0Olo9PnsidXNlIHN0cmljdCI7Wi5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBBfX0sOTY2OTooWixBLGopPT57Wi5leHBvcnRzPWooMTYw''@;'; put 'put ''OSl9LDU0NDg6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQ4NjcpLHo9aig2MDI2KSxDPWooNDM3MiksUz1qKDUzMjcpLG09aig0MDk3KSxGPWooNDEwOSksRD1qKDc5ODUpLHc9aig1MDYxKSxQPWooNTY1NSksTT1qKDUyNjMpO1ouZXhwb3J0cz1mdW5jdGlvbihrKXtyZXR1cm4g''@;'; put 'put ''bmV3IFByb21pc2UoZnVuY3Rpb24oTyxMKXt2YXIgVCxZPWsuZGF0YSxJPWsuaGVhZGVycyxVPWsucmVzcG9uc2VUeXBlO2Z1bmN0aW9uIFYoKXtrLmNhbmNlbFRva2VuJiZrLmNhbmNlbFRva2VuLnVuc3Vic2NyaWJlKFQpLGsuc2lnbmFsJiZrLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVy''@;'; put 'put ''KCJhYm9ydCIsVCl9Ti5pc0Zvcm1EYXRhKFkpJiZkZWxldGUgSVsiQ29udGVudC1UeXBlIl07dmFyIFI9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKGsuYXV0aCl7dmFyIEI9ay5hdXRoLnVzZXJuYW1lfHwiIixxPWsuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoay5h''@;'; put 'put ''dXRoLnBhc3N3b3JkKSk6IiI7SS5BdXRob3JpemF0aW9uPSJCYXNpYyAiK2J0b2EoQisiOiIrcSl9dmFyIEo9bShrLmJhc2VVUkwsay51cmwpO2Z1bmN0aW9uICQoKXtpZihSKXt2YXIgaD0iZ2V0QWxsUmVzcG9uc2VIZWFkZXJzImluIFI/RihSLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTpu''@;'; put 'put ''dWxsO3ooZnVuY3Rpb24oeSl7Tyh5KSxWKCl9LGZ1bmN0aW9uKHkpe0woeSksVigpfSx7ZGF0YTpVJiYidGV4dCIhPT1VJiYianNvbiIhPT1VP1IucmVzcG9uc2U6Ui5yZXNwb25zZVRleHQsc3RhdHVzOlIuc3RhdHVzLHN0YXR1c1RleHQ6Ui5zdGF0dXNUZXh0LGhlYWRlcnM6aCxjb25maWc6''@;'; put 'put ''ayxyZXF1ZXN0OlJ9KSxSPW51bGx9fWlmKFIub3BlbihrLm1ldGhvZC50b1VwcGVyQ2FzZSgpLFMoSixrLnBhcmFtcyxrLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSxSLnRpbWVvdXQ9ay50aW1lb3V0LCJvbmxvYWRlbmQiaW4gUj9SLm9ubG9hZGVuZD0kOlIub25yZWFkeXN0YXRlY2hhbmdlPWZ1''@;'; put 'put ''bmN0aW9uKCl7UiYmND09PVIucmVhZHlTdGF0ZSYmKDAhPT1SLnN0YXR1c3x8Ui5yZXNwb25zZVVSTCYmMD09PVIucmVzcG9uc2VVUkwuaW5kZXhPZigiZmlsZToiKSkmJnNldFRpbWVvdXQoJCl9LFIub25hYm9ydD1mdW5jdGlvbigpe1ImJihMKHcoIlJlcXVlc3QgYWJvcnRlZCIsaywiRUNP''@;'; put 'put ''Tk5BQk9SVEVEIixSKSksUj1udWxsKX0sUi5vbmVycm9yPWZ1bmN0aW9uKCl7TCh3KCJOZXR3b3JrIEVycm9yIixrLG51bGwsUikpLFI9bnVsbH0sUi5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgaD1rLnRpbWVvdXQ/InRpbWVvdXQgb2YgIitrLnRpbWVvdXQrIm1zIGV4Y2VlZGVkIjoidGlt''@;'; put 'put ''ZW91dCBleGNlZWRlZCI7ay50aW1lb3V0RXJyb3JNZXNzYWdlJiYoaD1rLnRpbWVvdXRFcnJvck1lc3NhZ2UpLEwodyhoLGssKGsudHJhbnNpdGlvbmFsfHxQLnRyYW5zaXRpb25hbCkuY2xhcmlmeVRpbWVvdXRFcnJvcj8iRVRJTUVET1VUIjoiRUNPTk5BQk9SVEVEIixSKSksUj1udWxsfSxO''@;'; put 'put ''LmlzU3RhbmRhcmRCcm93c2VyRW52KCkpe3ZhciB0ZT0oay53aXRoQ3JlZGVudGlhbHN8fEQoSikpJiZrLnhzcmZDb29raWVOYW1lP0MucmVhZChrLnhzcmZDb29raWVOYW1lKTp2b2lkIDA7dGUmJihJW2sueHNyZkhlYWRlck5hbWVdPXRlKX0ic2V0UmVxdWVzdEhlYWRlciJpbiBSJiZOLmZv''@;'; put 'put ''ckVhY2goSSxmdW5jdGlvbihoLGIpe3ZvaWQgMD09PVkmJiJjb250ZW50LXR5cGUiPT09Yi50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBJW2JdOlIuc2V0UmVxdWVzdEhlYWRlcihiLGgpfSksTi5pc1VuZGVmaW5lZChrLndpdGhDcmVkZW50aWFscyl8fChSLndpdGhDcmVkZW50aWFscz0hIWsud2l0''@;'; put 'put ''aENyZWRlbnRpYWxzKSxVJiYianNvbiIhPT1VJiYoUi5yZXNwb25zZVR5cGU9ay5yZXNwb25zZVR5cGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBrLm9uRG93bmxvYWRQcm9ncmVzcyYmUi5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsay5vbkRvd25sb2FkUHJvZ3Jlc3MpLCJmdW5jdGlvbiI9''@;'; put 'put ''PXR5cGVvZiBrLm9uVXBsb2FkUHJvZ3Jlc3MmJlIudXBsb2FkJiZSLnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsay5vblVwbG9hZFByb2dyZXNzKSwoay5jYW5jZWxUb2tlbnx8ay5zaWduYWwpJiYoVD1mdW5jdGlvbihoKXtSJiYoTCghaHx8aCYmaC50eXBlP25ldyBNKCJj''@;'; put 'put ''YW5jZWxlZCIpOmgpLFIuYWJvcnQoKSxSPW51bGwpfSxrLmNhbmNlbFRva2VuJiZrLmNhbmNlbFRva2VuLnN1YnNjcmliZShUKSxrLnNpZ25hbCYmKGsuc2lnbmFsLmFib3J0ZWQ/VCgpOmsuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixUKSkpLFl8fChZPW51bGwpLFIuc2VuZChZ''@;'; put 'put ''KX0pfX0sMTYwOTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDg2Nyksej1qKDE4NDkpLEM9aigzMjEpLFM9aig3MTg1KSxtPWZ1bmN0aW9uIEYoRCl7dmFyIHc9bmV3IEMoRCksUD16KEMucHJvdG90eXBlLnJlcXVlc3Qsdyk7cmV0dXJuIE4uZXh0ZW5kKFAsQy5wcm90b3R5cGUs''@;'; put 'put ''dyksTi5leHRlbmQoUCx3KSxQLmNyZWF0ZT1mdW5jdGlvbihNKXtyZXR1cm4gRihTKEQsTSkpfSxQfShqKDU2NTUpKTttLkF4aW9zPUMsbS5DYW5jZWw9aig1MjYzKSxtLkNhbmNlbFRva2VuPWooNDk3MiksbS5pc0NhbmNlbD1qKDY1MDIpLG0uVkVSU0lPTj1qKDcyODgpLnZlcnNpb24sbS5h''@;'; put 'put ''bGw9ZnVuY3Rpb24oRil7cmV0dXJuIFByb21pc2UuYWxsKEYpfSxtLnNwcmVhZD1qKDg3MTMpLG0uaXNBeGlvc0Vycm9yPWooNjI2OCksWi5leHBvcnRzPW0sWi5leHBvcnRzLmRlZmF1bHQ9bX0sNTI2MzpaPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEEoail7dGhpcy5tZXNzYWdlPWp9QS5w''@;'; put 'put ''cm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iQ2FuY2VsIisodGhpcy5tZXNzYWdlPyI6ICIrdGhpcy5tZXNzYWdlOiIiKX0sQS5wcm90b3R5cGUuX19DQU5DRUxfXz0hMCxaLmV4cG9ydHM9QX0sNDk3MjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNTI2Myk7ZnVu''@;'; put 'put ''Y3Rpb24geihDKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgQyl0aHJvdyBuZXcgVHlwZUVycm9yKCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uIik7dmFyIFM7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKEYpe1M9Rn0pO3ZhciBtPXRoaXM7dGhpcy5wcm9taXNlLnRoZW4o''@;'; put 'put ''ZnVuY3Rpb24oRil7aWYobS5fbGlzdGVuZXJzKXt2YXIgRCx3PW0uX2xpc3RlbmVycy5sZW5ndGg7Zm9yKEQ9MDtEPHc7RCsrKW0uX2xpc3RlbmVyc1tEXShGKTttLl9saXN0ZW5lcnM9bnVsbH19KSx0aGlzLnByb21pc2UudGhlbj1mdW5jdGlvbihGKXt2YXIgRCx3PW5ldyBQcm9taXNlKGZ1''@;'; put 'put ''bmN0aW9uKFApe20uc3Vic2NyaWJlKFApLEQ9UH0pLnRoZW4oRik7cmV0dXJuIHcuY2FuY2VsPWZ1bmN0aW9uKCl7bS51bnN1YnNjcmliZShEKX0sd30sQyhmdW5jdGlvbihGKXttLnJlYXNvbnx8KG0ucmVhc29uPW5ldyBOKEYpLFMobS5yZWFzb24pKX0pfXoucHJvdG90eXBlLnRocm93SWZS''@;'; put 'put ''ZXF1ZXN0ZWQ9ZnVuY3Rpb24oKXtpZih0aGlzLnJlYXNvbil0aHJvdyB0aGlzLnJlYXNvbn0sei5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKEMpe3RoaXMucmVhc29uP0ModGhpcy5yZWFzb24pOnRoaXMuX2xpc3RlbmVycz90aGlzLl9saXN0ZW5lcnMucHVzaChDKTp0aGlzLl9saXN0''@;'; put 'put ''ZW5lcnM9W0NdfSx6LnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbihDKXtpZih0aGlzLl9saXN0ZW5lcnMpe3ZhciBTPXRoaXMuX2xpc3RlbmVycy5pbmRleE9mKEMpOy0xIT09UyYmdGhpcy5fbGlzdGVuZXJzLnNwbGljZShTLDEpfX0sei5zb3VyY2U9ZnVuY3Rpb24oKXt2YXIgQzty''@;'; put 'put ''ZXR1cm57dG9rZW46bmV3IHooZnVuY3Rpb24oUyl7Qz1TfSksY2FuY2VsOkN9fSxaLmV4cG9ydHM9en0sNjUwMjpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4hKCFBfHwhQS5fX0NBTkNFTF9fKX19LDMyMTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBO''@;'; put 'put ''PWooNDg2Nyksej1qKDUzMjcpLEM9aig3ODIpLFM9aigzNTcyKSxtPWooNzE4NSksRj1qKDQ4NzUpLEQ9Ri52YWxpZGF0b3JzO2Z1bmN0aW9uIHcoUCl7dGhpcy5kZWZhdWx0cz1QLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBDLHJlc3BvbnNlOm5ldyBDfX13LnByb3RvdHlwZS5y''@;'; put 'put ''ZXF1ZXN0PWZ1bmN0aW9uKFAsTSl7InN0cmluZyI9PXR5cGVvZiBQPyhNPU18fHt9KS51cmw9UDpNPVB8fHt9LE0ubWV0aG9kPShNPW0odGhpcy5kZWZhdWx0cyxNKSkubWV0aG9kP00ubWV0aG9kLnRvTG93ZXJDYXNlKCk6dGhpcy5kZWZhdWx0cy5tZXRob2Q/dGhpcy5kZWZhdWx0cy5tZXRo''@;'; put 'put ''b2QudG9Mb3dlckNhc2UoKToiZ2V0Ijt2YXIgaz1NLnRyYW5zaXRpb25hbDt2b2lkIDAhPT1rJiZGLmFzc2VydE9wdGlvbnMoayx7c2lsZW50SlNPTlBhcnNpbmc6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKSxmb3JjZWRKU09OUGFyc2luZzpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pLGNs''@;'; put 'put ''YXJpZnlUaW1lb3V0RXJyb3I6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKX0sITEpO3ZhciBPPVtdLEw9ITA7dGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKGZ1bmN0aW9uKEIpeyJmdW5jdGlvbiI9PXR5cGVvZiBCLnJ1bldoZW4mJiExPT09Qi5ydW5XaGVuKE0pfHwoTD1MJiZC''@;'; put 'put ''LnN5bmNocm9ub3VzLE8udW5zaGlmdChCLmZ1bGZpbGxlZCxCLnJlamVjdGVkKSl9KTt2YXIgVCxZPVtdO2lmKHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goZnVuY3Rpb24oQil7WS5wdXNoKEIuZnVsZmlsbGVkLEIucmVqZWN0ZWQpfSksIUwpe3ZhciBJPVtTLHZvaWQgMF07''@;'; put 'put ''Zm9yKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KEksTyksST1JLmNvbmNhdChZKSxUPVByb21pc2UucmVzb2x2ZShNKTtJLmxlbmd0aDspVD1ULnRoZW4oSS5zaGlmdCgpLEkuc2hpZnQoKSk7cmV0dXJuIFR9Zm9yKHZhciBVPU07Ty5sZW5ndGg7KXt2YXIgVj1PLnNoaWZ0KCksUj1P''@;'; put 'put ''LnNoaWZ0KCk7dHJ5e1U9VihVKX1jYXRjaChCKXtSKEIpO2JyZWFrfX10cnl7VD1TKFUpfWNhdGNoKEIpe3JldHVybiBQcm9taXNlLnJlamVjdChCKX1mb3IoO1kubGVuZ3RoOylUPVQudGhlbihZLnNoaWZ0KCksWS5zaGlmdCgpKTtyZXR1cm4gVH0sdy5wcm90b3R5cGUuZ2V0VXJpPWZ1bmN0''@;'; put 'put ''aW9uKFApe3JldHVybiBQPW0odGhpcy5kZWZhdWx0cyxQKSx6KFAudXJsLFAucGFyYW1zLFAucGFyYW1zU2VyaWFsaXplcikucmVwbGFjZSgvXlw/LywiIil9LE4uZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiLCJvcHRpb25zIl0sZnVuY3Rpb24oUCl7dy5wcm90b3R5cGVbUF09ZnVu''@;'; put 'put ''Y3Rpb24oTSxrKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KG0oa3x8e30se21ldGhvZDpQLHVybDpNLGRhdGE6KGt8fHt9KS5kYXRhfSkpfX0pLE4uZm9yRWFjaChbInBvc3QiLCJwdXQiLCJwYXRjaCJdLGZ1bmN0aW9uKFApe3cucHJvdG90eXBlW1BdPWZ1bmN0aW9uKE0sayxPKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5yZXF1ZXN0KG0oT3x8e30se21ldGhvZDpQLHVybDpNLGRhdGE6a30pKX19KSxaLmV4cG9ydHM9d30sNzgyOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0ODY3KTtmdW5jdGlvbiB6KCl7dGhpcy5oYW5kbGVycz1bXX16LnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oQyxTLG0pe3Jl''@;'; put 'put ''dHVybiB0aGlzLmhhbmRsZXJzLnB1c2goe2Z1bGZpbGxlZDpDLHJlamVjdGVkOlMsc3luY2hyb25vdXM6ISFtJiZtLnN5bmNocm9ub3VzLHJ1bldoZW46bT9tLnJ1bldoZW46bnVsbH0pLHRoaXMuaGFuZGxlcnMubGVuZ3RoLTF9LHoucHJvdG90eXBlLmVqZWN0PWZ1bmN0aW9uKEMpe3RoaXMu''@;'; put 'put ''aGFuZGxlcnNbQ10mJih0aGlzLmhhbmRsZXJzW0NdPW51bGwpfSx6LnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKEMpe04uZm9yRWFjaCh0aGlzLmhhbmRsZXJzLGZ1bmN0aW9uKFMpe251bGwhPT1TJiZDKFMpfSl9LFouZXhwb3J0cz16fSw0MDk3OihaLEEsaik9PnsidXNlIHN0cmljdCI7''@;'; put 'put ''dmFyIE49aigxNzkzKSx6PWooNzMwMyk7Wi5leHBvcnRzPWZ1bmN0aW9uKEMsUyl7cmV0dXJuIEMmJiFOKFMpP3ooQyxTKTpTfX0sNTA2MTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooODk2NSk7Wi5leHBvcnRzPWZ1bmN0aW9uKHosQyxTLG0sRil7dmFyIEQ9bmV3IEVycm9yKHop''@;'; put 'put ''O3JldHVybiBOKEQsQyxTLG0sRil9fSwzNTcyOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0ODY3KSx6PWooODUyNyksQz1qKDY1MDIpLFM9aig1NjU1KSxtPWooNTI2Myk7ZnVuY3Rpb24gRihEKXtpZihELmNhbmNlbFRva2VuJiZELmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0''@;'; put 'put ''ZWQoKSxELnNpZ25hbCYmRC5zaWduYWwuYWJvcnRlZCl0aHJvdyBuZXcgbSgiY2FuY2VsZWQiKX1aLmV4cG9ydHM9ZnVuY3Rpb24oRCl7cmV0dXJuIEYoRCksRC5oZWFkZXJzPUQuaGVhZGVyc3x8e30sRC5kYXRhPXouY2FsbChELEQuZGF0YSxELmhlYWRlcnMsRC50cmFuc2Zvcm1SZXF1ZXN0''@;'; put 'put ''KSxELmhlYWRlcnM9Ti5tZXJnZShELmhlYWRlcnMuY29tbW9ufHx7fSxELmhlYWRlcnNbRC5tZXRob2RdfHx7fSxELmhlYWRlcnMpLE4uZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiLCJwb3N0IiwicHV0IiwicGF0Y2giLCJjb21tb24iXSxmdW5jdGlvbih3KXtkZWxldGUgRC5oZWFk''@;'; put 'put ''ZXJzW3ddfSksKEQuYWRhcHRlcnx8Uy5hZGFwdGVyKShEKS50aGVuKGZ1bmN0aW9uKHcpe3JldHVybiBGKEQpLHcuZGF0YT16LmNhbGwoRCx3LmRhdGEsdy5oZWFkZXJzLEQudHJhbnNmb3JtUmVzcG9uc2UpLHd9LGZ1bmN0aW9uKHcpe3JldHVybiBDKHcpfHwoRihEKSx3JiZ3LnJlc3BvbnNl''@;'; put 'put ''JiYody5yZXNwb25zZS5kYXRhPXouY2FsbChELHcucmVzcG9uc2UuZGF0YSx3LnJlc3BvbnNlLmhlYWRlcnMsRC50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdCh3KX0pfX0sODk2NTpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1mdW5jdGlvbihBLGosTix6LEMpe3JldHVy''@;'; put 'put ''biBBLmNvbmZpZz1qLE4mJihBLmNvZGU9TiksQS5yZXF1ZXN0PXosQS5yZXNwb25zZT1DLEEuaXNBeGlvc0Vycm9yPSEwLEEudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVt''@;'; put 'put ''YmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOnRoaXMuY29uZmlnLGNvZGU6dGhpcy5jb2RlLHN0YXR1czp0aGlzLnJlc3Bv''@;'; put 'put ''bnNlJiZ0aGlzLnJlc3BvbnNlLnN0YXR1cz90aGlzLnJlc3BvbnNlLnN0YXR1czpudWxsfX0sQX19LDcxODU6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQ4NjcpO1ouZXhwb3J0cz1mdW5jdGlvbih6LEMpe0M9Q3x8e307dmFyIFM9e307ZnVuY3Rpb24gbShrLE8pe3JldHVybiBO''@;'; put 'put ''LmlzUGxhaW5PYmplY3QoaykmJk4uaXNQbGFpbk9iamVjdChPKT9OLm1lcmdlKGssTyk6Ti5pc1BsYWluT2JqZWN0KE8pP04ubWVyZ2Uoe30sTyk6Ti5pc0FycmF5KE8pP08uc2xpY2UoKTpPfWZ1bmN0aW9uIEYoayl7cmV0dXJuIE4uaXNVbmRlZmluZWQoQ1trXSk/Ti5pc1VuZGVmaW5lZCh6''@;'; put 'put ''W2tdKT92b2lkIDA6bSh2b2lkIDAseltrXSk6bSh6W2tdLENba10pfWZ1bmN0aW9uIEQoayl7aWYoIU4uaXNVbmRlZmluZWQoQ1trXSkpcmV0dXJuIG0odm9pZCAwLENba10pfWZ1bmN0aW9uIHcoayl7cmV0dXJuIE4uaXNVbmRlZmluZWQoQ1trXSk/Ti5pc1VuZGVmaW5lZCh6W2tdKT92b2lk''@;'; put 'put ''IDA6bSh2b2lkIDAseltrXSk6bSh2b2lkIDAsQ1trXSl9ZnVuY3Rpb24gUChrKXtyZXR1cm4gayBpbiBDP20oeltrXSxDW2tdKTprIGluIHo/bSh2b2lkIDAseltrXSk6dm9pZCAwfXZhciBNPXt1cmw6RCxtZXRob2Q6RCxkYXRhOkQsYmFzZVVSTDp3LHRyYW5zZm9ybVJlcXVlc3Q6dyx0cmFu''@;'; put 'put ''c2Zvcm1SZXNwb25zZTp3LHBhcmFtc1NlcmlhbGl6ZXI6dyx0aW1lb3V0OncsdGltZW91dE1lc3NhZ2U6dyx3aXRoQ3JlZGVudGlhbHM6dyxhZGFwdGVyOncscmVzcG9uc2VUeXBlOncseHNyZkNvb2tpZU5hbWU6dyx4c3JmSGVhZGVyTmFtZTp3LG9uVXBsb2FkUHJvZ3Jlc3M6dyxvbkRvd25s''@;'; put 'put ''b2FkUHJvZ3Jlc3M6dyxkZWNvbXByZXNzOncsbWF4Q29udGVudExlbmd0aDp3LG1heEJvZHlMZW5ndGg6dyx0cmFuc3BvcnQ6dyxodHRwQWdlbnQ6dyxodHRwc0FnZW50OncsY2FuY2VsVG9rZW46dyxzb2NrZXRQYXRoOncscmVzcG9uc2VFbmNvZGluZzp3LHZhbGlkYXRlU3RhdHVzOlB9O3Jl''@;'; put 'put ''dHVybiBOLmZvckVhY2goT2JqZWN0LmtleXMoeikuY29uY2F0KE9iamVjdC5rZXlzKEMpKSxmdW5jdGlvbihrKXt2YXIgTz1NW2tdfHxGLEw9TyhrKTtOLmlzVW5kZWZpbmVkKEwpJiZPIT09UHx8KFNba109TCl9KSxTfX0sNjAyNjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNTA2''@;'; put 'put ''MSk7Wi5leHBvcnRzPWZ1bmN0aW9uKHosQyxTKXt2YXIgbT1TLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztTLnN0YXR1cyYmbSYmIW0oUy5zdGF0dXMpP0MoTigiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAiK1Muc3RhdHVzLFMuY29uZmlnLG51bGwsUy5yZXF1ZXN0LFMpKTp6KFMp''@;'; put 'put ''fX0sODUyNzooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDg2Nyksej1qKDU2NTUpO1ouZXhwb3J0cz1mdW5jdGlvbihDLFMsbSl7dmFyIEY9dGhpc3x8ejtyZXR1cm4gTi5mb3JFYWNoKG0sZnVuY3Rpb24oRCl7Qz1ELmNhbGwoRixDLFMpfSksQ319LDU2NTU6KFosQSxqKT0+eyJ1''@;'; put 'put ''c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpLHo9aig0ODY3KSxDPWooNjAxNiksUz1qKDg5NjUpLG09eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifTtmdW5jdGlvbiBGKFAsTSl7IXouaXNVbmRlZmluZWQoUCkmJnouaXNVbmRlZmluZWQoUFsiQ29u''@;'; put 'put ''dGVudC1UeXBlIl0pJiYoUFsiQ29udGVudC1UeXBlIl09TSl9dmFyIEQsdz17dHJhbnNpdGlvbmFsOntzaWxlbnRKU09OUGFyc2luZzohMCxmb3JjZWRKU09OUGFyc2luZzohMCxjbGFyaWZ5VGltZW91dEVycm9yOiExfSxhZGFwdGVyOigoInVuZGVmaW5lZCIhPXR5cGVvZiBYTUxIdHRwUmVx''@;'; put 'put ''dWVzdHx8dm9pZCAwIT09TiYmIltvYmplY3QgcHJvY2Vzc10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKE4pKSYmKEQ9aig1NDQ4KSksRCksdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oUCxNKXtyZXR1cm4gQyhNLCJBY2NlcHQiKSxDKE0sIkNvbnRlbnQtVHlwZSIpLHou''@;'; put 'put ''aXNGb3JtRGF0YShQKXx8ei5pc0FycmF5QnVmZmVyKFApfHx6LmlzQnVmZmVyKFApfHx6LmlzU3RyZWFtKFApfHx6LmlzRmlsZShQKXx8ei5pc0Jsb2IoUCk/UDp6LmlzQXJyYXlCdWZmZXJWaWV3KFApP1AuYnVmZmVyOnouaXNVUkxTZWFyY2hQYXJhbXMoUCk/KEYoTSwiYXBwbGljYXRpb24v''@;'; put 'put ''eC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKSxQLnRvU3RyaW5nKCkpOnouaXNPYmplY3QoUCl8fE0mJiJhcHBsaWNhdGlvbi9qc29uIj09PU1bIkNvbnRlbnQtVHlwZSJdPyhGKE0sImFwcGxpY2F0aW9uL2pzb24iKSxmdW5jdGlvbihrLE8sTCl7aWYoei5pc1N0cmluZyhr''@;'; put 'put ''KSl0cnl7cmV0dXJuKDAsSlNPTi5wYXJzZSkoayksei50cmltKGspfWNhdGNoKFQpe2lmKCJTeW50YXhFcnJvciIhPT1ULm5hbWUpdGhyb3cgVH1yZXR1cm4oMCxKU09OLnN0cmluZ2lmeSkoayl9KFApKTpQfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKFApe3ZhciBNPXRoaXMudHJh''@;'; put 'put ''bnNpdGlvbmFsfHx3LnRyYW5zaXRpb25hbCxMPSEoTSYmTS5zaWxlbnRKU09OUGFyc2luZykmJiJqc29uIj09PXRoaXMucmVzcG9uc2VUeXBlO2lmKEx8fE0mJk0uZm9yY2VkSlNPTlBhcnNpbmcmJnouaXNTdHJpbmcoUCkmJlAubGVuZ3RoKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShQKX1jYXRj''@;'; put 'put ''aChUKXtpZihMKXRocm93IlN5bnRheEVycm9yIj09PVQubmFtZT9TKFQsdGhpcywiRV9KU09OX1BBUlNFIik6VH1yZXR1cm4gUH1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZToiWFNSRi1UT0tFTiIseHNyZkhlYWRlck5hbWU6IlgtWFNSRi1UT0tFTiIsbWF4Q29udGVudExlbmd0aDotMSxt''@;'; put 'put ''YXhCb2R5TGVuZ3RoOi0xLHZhbGlkYXRlU3RhdHVzOmZ1bmN0aW9uKFApe3JldHVybiBQPj0yMDAmJlA8MzAwfSxoZWFkZXJzOntjb21tb246e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qIn19fTt6LmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIl0sZnVu''@;'; put 'put ''Y3Rpb24oUCl7dy5oZWFkZXJzW1BdPXt9fSksei5mb3JFYWNoKFsicG9zdCIsInB1dCIsInBhdGNoIl0sZnVuY3Rpb24oUCl7dy5oZWFkZXJzW1BdPXoubWVyZ2UobSl9KSxaLmV4cG9ydHM9d30sNzI4ODpaPT57Wi5leHBvcnRzPXt2ZXJzaW9uOiIwLjI2LjAifX0sMTg0OTpaPT57InVzZSBz''@;'; put 'put ''dHJpY3QiO1ouZXhwb3J0cz1mdW5jdGlvbihBLGope3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgTj1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksej0wO3o8Ti5sZW5ndGg7eisrKU5bel09YXJndW1lbnRzW3pdO3JldHVybiBBLmFwcGx5KGosTil9fX0sNTMyNzooWixBLGopPT57InVz''@;'; put 'put ''ZSBzdHJpY3QiO3ZhciBOPWooNDg2Nyk7ZnVuY3Rpb24geihDKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEMpLnJlcGxhY2UoLyUzQS9naSwiOiIpLnJlcGxhY2UoLyUyNC9nLCIkIikucmVwbGFjZSgvJTJDL2dpLCIsIikucmVwbGFjZSgvJTIwL2csIisiKS5yZXBsYWNlKC8lNUIvZ2ks''@;'; put 'put ''IlsiKS5yZXBsYWNlKC8lNUQvZ2ksIl0iKX1aLmV4cG9ydHM9ZnVuY3Rpb24oQyxTLG0pe2lmKCFTKXJldHVybiBDO3ZhciBGO2lmKG0pRj1tKFMpO2Vsc2UgaWYoTi5pc1VSTFNlYXJjaFBhcmFtcyhTKSlGPVMudG9TdHJpbmcoKTtlbHNle3ZhciBEPVtdO04uZm9yRWFjaChTLGZ1bmN0aW9u''@;'; put 'put ''KFAsTSl7bnVsbCE9UCYmKE4uaXNBcnJheShQKT9NKz0iW10iOlA9W1BdLE4uZm9yRWFjaChQLGZ1bmN0aW9uKGspe04uaXNEYXRlKGspP2s9ay50b0lTT1N0cmluZygpOk4uaXNPYmplY3QoaykmJihrPUpTT04uc3RyaW5naWZ5KGspKSxELnB1c2goeihNKSsiPSIreihrKSl9KSl9KSxGPUQu''@;'; put 'put ''am9pbigiJiIpfWlmKEYpe3ZhciB3PUMuaW5kZXhPZigiIyIpOy0xIT09dyYmKEM9Qy5zbGljZSgwLHcpKSxDKz0oLTE9PT1DLmluZGV4T2YoIj8iKT8iPyI6IiYiKStGfXJldHVybiBDfX0sNzMwMzpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1mdW5jdGlvbihBLGope3JldHVybiBqP0Eu''@;'; put 'put ''cmVwbGFjZSgvXC8rJC8sIiIpKyIvIitqLnJlcGxhY2UoL15cLysvLCIiKTpBfX0sNDM3MjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDg2Nyk7Wi5leHBvcnRzPU4uaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oeixDLFMsbSxGLEQpe3ZhciB3PVtdO3cu''@;'; put 'put ''cHVzaCh6KyI9IitlbmNvZGVVUklDb21wb25lbnQoQykpLE4uaXNOdW1iZXIoUykmJncucHVzaCgiZXhwaXJlcz0iK25ldyBEYXRlKFMpLnRvR01UU3RyaW5nKCkpLE4uaXNTdHJpbmcobSkmJncucHVzaCgicGF0aD0iK20pLE4uaXNTdHJpbmcoRikmJncucHVzaCgiZG9tYWluPSIrRiksITA9''@;'; put 'put ''PT1EJiZ3LnB1c2goInNlY3VyZSIpLGRvY3VtZW50LmNvb2tpZT13LmpvaW4oIjsgIil9LHJlYWQ6ZnVuY3Rpb24oeil7dmFyIEM9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoIihefDtcXHMqKSgiK3orIik9KFteO10qKSIpKTtyZXR1cm4gQz9kZWNvZGVVUklDb21wb25lbnQo''@;'; put 'put ''Q1szXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKHope3RoaXMud3JpdGUoeiwiIixEYXRlLm5vdygpLTg2NGU1KX19Ont3cml0ZTpmdW5jdGlvbigpe30scmVhZDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZW1vdmU6ZnVuY3Rpb24oKXt9fX0sMTc5MzpaPT57InVzZSBzdHJpY3QiO1ouZXhw''@;'; put 'put ''b3J0cz1mdW5jdGlvbihBKXtyZXR1cm4vXihbYS16XVthLXpcZCtcLS5dKjopP1wvXC8vaS50ZXN0KEEpfX0sNjI2ODooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDg2Nyk7Wi5leHBvcnRzPWZ1bmN0aW9uKHope3JldHVybiBOLmlzT2JqZWN0KHopJiYhMD09PXouaXNBeGlvc0Vy''@;'; put 'put ''cm9yfX0sNzk4NTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDg2Nyk7Wi5leHBvcnRzPU4uaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT9mdW5jdGlvbigpe3ZhciB6LEM9Lyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxTPWRvY3VtZW50LmNyZWF0ZUVs''@;'; put 'put ''ZW1lbnQoImEiKTtmdW5jdGlvbiBtKEYpe3ZhciBEPUY7cmV0dXJuIEMmJihTLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksRD1TLmhyZWYpLFMuc2V0QXR0cmlidXRlKCJocmVmIixEKSx7aHJlZjpTLmhyZWYscHJvdG9jb2w6Uy5wcm90b2NvbD9TLnByb3RvY29sLnJlcGxhY2UoLzokLywiIik6''@;'; put 'put ''IiIsaG9zdDpTLmhvc3Qsc2VhcmNoOlMuc2VhcmNoP1Muc2VhcmNoLnJlcGxhY2UoL15cPy8sIiIpOiIiLGhhc2g6Uy5oYXNoP1MuaGFzaC5yZXBsYWNlKC9eIy8sIiIpOiIiLGhvc3RuYW1lOlMuaG9zdG5hbWUscG9ydDpTLnBvcnQscGF0aG5hbWU6Ii8iPT09Uy5wYXRobmFtZS5jaGFyQXQo''@;'; put 'put ''MCk/Uy5wYXRobmFtZToiLyIrUy5wYXRobmFtZX19cmV0dXJuIHo9bSh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24oRil7dmFyIEQ9Ti5pc1N0cmluZyhGKT9tKEYpOkY7cmV0dXJuIEQucHJvdG9jb2w9PT16LnByb3RvY29sJiZELmhvc3Q9PT16Lmhvc3R9fSgpOmZ1bmN0aW9uKCl7''@;'; put 'put ''cmV0dXJuITB9fSw2MDE2OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0ODY3KTtaLmV4cG9ydHM9ZnVuY3Rpb24oeixDKXtOLmZvckVhY2goeixmdW5jdGlvbihTLG0pe20hPT1DJiZtLnRvVXBwZXJDYXNlKCk9PT1DLnRvVXBwZXJDYXNlKCkmJih6W0NdPVMsZGVsZXRlIHpbbV0p''@;'; put 'put ''fSl9fSw0MTA5OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0ODY3KSx6PVsiYWdlIiwiYXV0aG9yaXphdGlvbiIsImNvbnRlbnQtbGVuZ3RoIiwiY29udGVudC10eXBlIiwiZXRhZyIsImV4cGlyZXMiLCJmcm9tIiwiaG9zdCIsImlmLW1vZGlmaWVkLXNpbmNlIiwiaWYtdW5tb2Rp''@;'; put 'put ''ZmllZC1zaW5jZSIsImxhc3QtbW9kaWZpZWQiLCJsb2NhdGlvbiIsIm1heC1mb3J3YXJkcyIsInByb3h5LWF1dGhvcml6YXRpb24iLCJyZWZlcmVyIiwicmV0cnktYWZ0ZXIiLCJ1c2VyLWFnZW50Il07Wi5leHBvcnRzPWZ1bmN0aW9uKEMpe3ZhciBTLG0sRixEPXt9O3JldHVybiBDJiZOLmZv''@;'; put 'put ''ckVhY2goQy5zcGxpdCgiXG4iKSxmdW5jdGlvbih3KXtpZihGPXcuaW5kZXhPZigiOiIpLFM9Ti50cmltKHcuc3Vic3RyKDAsRikpLnRvTG93ZXJDYXNlKCksbT1OLnRyaW0ody5zdWJzdHIoRisxKSksUyl7aWYoRFtTXSYmei5pbmRleE9mKFMpPj0wKXJldHVybjtEW1NdPSJzZXQtY29va2ll''@;'; put 'put ''Ij09PVM/KERbU10/RFtTXTpbXSkuY29uY2F0KFttXSk6RFtTXT9EW1NdKyIsICIrbTptfX0pLER9fSw4NzEzOlo9PnsidXNlIHN0cmljdCI7Wi5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihqKXtyZXR1cm4gQS5hcHBseShudWxsLGopfX19LDQ4NzU6KFosQSxqKT0+eyJ1''@;'; put 'put ''c2Ugc3RyaWN0Ijt2YXIgTj1qKDUxMDgpLHo9aig3Mjg4KS52ZXJzaW9uLEM9e307WyJvYmplY3QiLCJib29sZWFuIiwibnVtYmVyIiwiZnVuY3Rpb24iLCJzdHJpbmciLCJzeW1ib2wiXS5mb3JFYWNoKGZ1bmN0aW9uKG0sRil7Q1ttXT1mdW5jdGlvbihEKXtyZXR1cm4gdHlwZW9mIEQ9PT1t''@;'; put 'put ''fHwiYSIrKEY8MT8ibiAiOiIgIikrbX19KTt2YXIgUz17fTtDLnRyYW5zaXRpb25hbD1mdW5jdGlvbihtLEYsRCl7ZnVuY3Rpb24gdyhQLE0pe3JldHVybiJbQXhpb3MgdiIreisiXSBUcmFuc2l0aW9uYWwgb3B0aW9uICciK1ArIiciK00rKEQ/Ii4gIitEOiIiKX1yZXR1cm4gZnVuY3Rpb24o''@;'; put 'put ''UCxNLGspe2lmKCExPT09bSl0aHJvdyBuZXcgRXJyb3IodyhNLCIgaGFzIGJlZW4gcmVtb3ZlZCIrKEY/IiBpbiAiK0Y6IiIpKSk7cmV0dXJuIEYmJiFTW01dJiYoU1tNXT0hMCxOLndhcm4odyhNLCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5jZSB2IitGKyIgYW5kIHdpbGwgYmUgcmVtb3Zl''@;'; put 'put ''ZCBpbiB0aGUgbmVhciBmdXR1cmUiKSkpLCFtfHxtKFAsTSxrKX19LFouZXhwb3J0cz17YXNzZXJ0T3B0aW9uczpmdW5jdGlvbihtLEYsRCl7aWYoIm9iamVjdCIhPXR5cGVvZiBtKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiKTtmb3IodmFyIHc9T2Jq''@;'; put 'put ''ZWN0LmtleXMobSksUD13Lmxlbmd0aDtQLS0gPjA7KXt2YXIgTT13W1BdLGs9RltNXTtpZihrKXt2YXIgTz1tW01dLEw9dm9pZCAwPT09T3x8ayhPLE0sbSk7aWYoITAhPT1MKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbiAiK00rIiBtdXN0IGJlICIrTCl9ZWxzZSBpZighMCE9PUQpdGhy''@;'; put 'put ''b3cgRXJyb3IoIlVua25vd24gb3B0aW9uICIrTSl9fSx2YWxpZGF0b3JzOkN9fSw0ODY3OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aigxODQ5KSx6PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gQyhNKXtyZXR1cm4gQXJyYXkuaXNBcnJheShNKX1mdW5jdGlvbiBT''@;'; put 'put ''KE0pe3JldHVybiB2b2lkIDA9PT1NfWZ1bmN0aW9uIG0oTSl7cmV0dXJuIltvYmplY3QgQXJyYXlCdWZmZXJdIj09PXouY2FsbChNKX1mdW5jdGlvbiBGKE0pe3JldHVybiBudWxsIT09TSYmIm9iamVjdCI9PXR5cGVvZiBNfWZ1bmN0aW9uIEQoTSl7aWYoIltvYmplY3QgT2JqZWN0XSIhPT16''@;'; put 'put ''LmNhbGwoTSkpcmV0dXJuITE7dmFyIGs9T2JqZWN0LmdldFByb3RvdHlwZU9mKE0pO3JldHVybiBudWxsPT09a3x8az09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gdyhNKXtyZXR1cm4iW29iamVjdCBGdW5jdGlvbl0iPT09ei5jYWxsKE0pfWZ1bmN0aW9uIFAoTSxrKXtpZihudWxsIT1N''@;'; put 'put ''KWlmKCJvYmplY3QiIT10eXBlb2YgTSYmKE09W01dKSxDKE0pKWZvcih2YXIgTz0wLEw9TS5sZW5ndGg7TzxMO08rKylrLmNhbGwobnVsbCxNW09dLE8sTSk7ZWxzZSBmb3IodmFyIFQgaW4gTSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoTSxUKSYmay5jYWxsKG51bGws''@;'; put 'put ''TVtUXSxULE0pfVouZXhwb3J0cz17aXNBcnJheTpDLGlzQXJyYXlCdWZmZXI6bSxpc0J1ZmZlcjpmdW5jdGlvbihNKXtyZXR1cm4gbnVsbCE9PU0mJiFTKE0pJiZudWxsIT09TS5jb25zdHJ1Y3RvciYmIVMoTS5jb25zdHJ1Y3RvcikmJiJmdW5jdGlvbiI9PXR5cGVvZiBNLmNvbnN0cnVjdG9y''@;'; put 'put ''LmlzQnVmZmVyJiZNLmNvbnN0cnVjdG9yLmlzQnVmZmVyKE0pfSxpc0Zvcm1EYXRhOmZ1bmN0aW9uKE0pe3JldHVybiJbb2JqZWN0IEZvcm1EYXRhXSI9PT16LmNhbGwoTSl9LGlzQXJyYXlCdWZmZXJWaWV3OmZ1bmN0aW9uKE0pe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZm''@;'; put 'put ''ZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcoTSk6TSYmTS5idWZmZXImJm0oTS5idWZmZXIpfSxpc1N0cmluZzpmdW5jdGlvbihNKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIE19LGlzTnVtYmVyOmZ1bmN0aW9uKE0pe3JldHVybiJudW1iZXIiPT10eXBlb2YgTX0s''@;'; put 'put ''aXNPYmplY3Q6Rixpc1BsYWluT2JqZWN0OkQsaXNVbmRlZmluZWQ6Uyxpc0RhdGU6ZnVuY3Rpb24oTSl7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09ei5jYWxsKE0pfSxpc0ZpbGU6ZnVuY3Rpb24oTSl7cmV0dXJuIltvYmplY3QgRmlsZV0iPT09ei5jYWxsKE0pfSxpc0Jsb2I6ZnVuY3Rpb24o''@;'; put 'put ''TSl7cmV0dXJuIltvYmplY3QgQmxvYl0iPT09ei5jYWxsKE0pfSxpc0Z1bmN0aW9uOncsaXNTdHJlYW06ZnVuY3Rpb24oTSl7cmV0dXJuIEYoTSkmJncoTS5waXBlKX0saXNVUkxTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oTSl7cmV0dXJuIltvYmplY3QgVVJMU2VhcmNoUGFyYW1zXSI9PT16LmNh''@;'; put 'put ''bGwoTSl9LGlzU3RhbmRhcmRCcm93c2VyRW52OmZ1bmN0aW9uKCl7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmF2aWdhdG9yfHwiUmVhY3ROYXRpdmUiIT09bmF2aWdhdG9yLnByb2R1Y3QmJiJOYXRpdmVTY3JpcHQiIT09bmF2aWdhdG9yLnByb2R1Y3QmJiJOUyIhPT1uYXZpZ2F0b3Iu''@;'; put 'put ''cHJvZHVjdCkmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50fSxmb3JFYWNoOlAsbWVyZ2U6ZnVuY3Rpb24gTSgpe3ZhciBrPXt9O2Z1bmN0aW9uIE8oWSxJKXtrW0ldPUQoa1tJXSkmJkQoWSk/TShrW0ldLFkpOkQoWSk/TSh7fSxZKTpD''@;'; put 'put ''KFkpP1kuc2xpY2UoKTpZfWZvcih2YXIgTD0wLFQ9YXJndW1lbnRzLmxlbmd0aDtMPFQ7TCsrKVAoYXJndW1lbnRzW0xdLE8pO3JldHVybiBrfSxleHRlbmQ6ZnVuY3Rpb24oTSxrLE8pe3JldHVybiBQKGssZnVuY3Rpb24oTCxUKXtNW1RdPU8mJiJmdW5jdGlvbiI9PXR5cGVvZiBMP04oTCxP''@;'; put 'put ''KTpMfSksTX0sdHJpbTpmdW5jdGlvbihNKXtyZXR1cm4gTS50cmltP00udHJpbSgpOk0ucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfSxzdHJpcEJPTTpmdW5jdGlvbihNKXtyZXR1cm4gNjUyNzk9PT1NLmNoYXJDb2RlQXQoMCkmJihNPU0uc2xpY2UoMSkpLE19fX0sNTYyMzpaPT57InVzZSBz''@;'; put 'put ''dHJpY3QiO2Z1bmN0aW9uIEEoeixDLFMpe3ogaW5zdGFuY2VvZiBSZWdFeHAmJih6PWooeixTKSksQyBpbnN0YW5jZW9mIFJlZ0V4cCYmKEM9aihDLFMpKTt2YXIgbT1OKHosQyxTKTtyZXR1cm4gbSYme3N0YXJ0Om1bMF0sZW5kOm1bMV0scHJlOlMuc2xpY2UoMCxtWzBdKSxib2R5OlMuc2xp''@;'; put 'put ''Y2UobVswXSt6Lmxlbmd0aCxtWzFdKSxwb3N0OlMuc2xpY2UobVsxXStDLmxlbmd0aCl9fWZ1bmN0aW9uIGooeixDKXt2YXIgUz1DLm1hdGNoKHopO3JldHVybiBTP1NbMF06bnVsbH1mdW5jdGlvbiBOKHosQyxTKXt2YXIgbSxGLEQsdyxQLE09Uy5pbmRleE9mKHopLGs9Uy5pbmRleE9mKEMs''@;'; put 'put ''TSsxKSxPPU07aWYoTT49MCYmaz4wKXtpZih6PT09QylyZXR1cm5bTSxrXTtmb3IobT1bXSxEPVMubGVuZ3RoO08+PTAmJiFQOylPPT1NPyhtLnB1c2goTyksTT1TLmluZGV4T2YoeixPKzEpKToxPT1tLmxlbmd0aD9QPVttLnBvcCgpLGtdOigoRj1tLnBvcCgpKTxEJiYoRD1GLHc9ayksaz1T''@;'; put 'put ''LmluZGV4T2YoQyxPKzEpKSxPPU08ayYmTT49MD9NOms7bS5sZW5ndGgmJihQPVtELHddKX1yZXR1cm4gUH1aLmV4cG9ydHM9QSxBLnJhbmdlPU59LDk3NDI6KFosQSk9PnsidXNlIHN0cmljdCI7QS5ieXRlTGVuZ3RoPWZ1bmN0aW9uKHcpe3ZhciBQPUYodyksaz1QWzFdO3JldHVybiAzKihQ''@;'; put 'put ''WzBdK2spLzQta30sQS50b0J5dGVBcnJheT1mdW5jdGlvbih3KXt2YXIgUCxNLFIsaz1GKHcpLE89a1swXSxMPWtbMV0sVD1uZXcgeigzKihPKyhSPUwpKS80LVIpLFk9MCxJPUw+MD9PLTQ6Tztmb3IoTT0wO008STtNKz00KVA9Tlt3LmNoYXJDb2RlQXQoTSldPDwxOHxOW3cuY2hhckNvZGVB''@;'; put 'put ''dChNKzEpXTw8MTJ8Tlt3LmNoYXJDb2RlQXQoTSsyKV08PDZ8Tlt3LmNoYXJDb2RlQXQoTSszKV0sVFtZKytdPVA+PjE2JjI1NSxUW1krK109UD4+OCYyNTUsVFtZKytdPTI1NSZQO3JldHVybiAyPT09TCYmKFA9Tlt3LmNoYXJDb2RlQXQoTSldPDwyfE5bdy5jaGFyQ29kZUF0KE0rMSldPj40''@;'; put 'put ''LFRbWSsrXT0yNTUmUCksMT09PUwmJihQPU5bdy5jaGFyQ29kZUF0KE0pXTw8MTB8Tlt3LmNoYXJDb2RlQXQoTSsxKV08PDR8Tlt3LmNoYXJDb2RlQXQoTSsyKV0+PjIsVFtZKytdPVA+PjgmMjU1LFRbWSsrXT0yNTUmUCksVH0sQS5mcm9tQnl0ZUFycmF5PWZ1bmN0aW9uKHcpe2Zvcih2YXIg''@;'; put 'put ''UCxNPXcubGVuZ3RoLGs9TSUzLE89W10sTD0xNjM4MyxUPTAsWT1NLWs7VDxZO1QrPUwpTy5wdXNoKEQodyxULFQrTD5ZP1k6VCtMKSk7cmV0dXJuIDE9PT1rP08ucHVzaChqWyhQPXdbTS0xXSk+PjJdK2pbUDw8NCY2M10rIj09Iik6Mj09PWsmJk8ucHVzaChqWyhQPSh3W00tMl08PDgpK3db''@;'; put 'put ''TS0xXSk+PjEwXStqW1A+PjQmNjNdK2pbUDw8MiY2M10rIj0iKSxPLmpvaW4oIiIpfTtmb3IodmFyIGo9W10sTj1bXSx6PSJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhBcnJheT9VaW50OEFycmF5OkFycmF5LEM9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFy''@;'; put 'put ''c3R1dnd4eXowMTIzNDU2Nzg5Ky8iLFM9MCxtPUMubGVuZ3RoO1M8bTsrK1MpaltTXT1DW1NdLE5bQy5jaGFyQ29kZUF0KFMpXT1TO2Z1bmN0aW9uIEYodyl7dmFyIFA9dy5sZW5ndGg7aWYoUCU0PjApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBt''@;'; put 'put ''dWx0aXBsZSBvZiA0Iik7dmFyIE09dy5pbmRleE9mKCI9Iik7cmV0dXJuLTE9PT1NJiYoTT1QKSxbTSxNPT09UD8wOjQtTSU0XX1mdW5jdGlvbiBEKHcsUCxNKXtmb3IodmFyIE8sTD1bXSxUPVA7VDxNO1QrPTMpTC5wdXNoKGpbKE89KHdbVF08PDE2JjE2NzExNjgwKSsod1tUKzFdPDw4JjY1''@;'; put 'put ''MjgwKSsoMjU1JndbVCsyXSkpPj4xOCY2M10raltPPj4xMiY2M10raltPPj42JjYzXStqWzYzJk9dKTtyZXR1cm4gTC5qb2luKCIiKX1OWyItIi5jaGFyQ29kZUF0KDApXT02MixOWyJfIi5jaGFyQ29kZUF0KDApXT02M30sMzU1MDpmdW5jdGlvbihaLEEsail7IWZ1bmN0aW9uKE4seil7InVz''@;'; put 'put ''ZSBzdHJpY3QiO2Z1bmN0aW9uIEMocCxnKXtpZighcCl0aHJvdyBuZXcgRXJyb3IoZ3x8IkFzc2VydGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBTKHAsZyl7cC5zdXBlcl89Zzt2YXIgXz1mdW5jdGlvbigpe307Xy5wcm90b3R5cGU9Zy5wcm90b3R5cGUscC5wcm90b3R5cGU9bmV3IF8scC5wcm90''@;'; put 'put ''b3R5cGUuY29uc3RydWN0b3I9cH1mdW5jdGlvbiBtKHAsZyxfKXtpZihtLmlzQk4ocCkpcmV0dXJuIHA7dGhpcy5uZWdhdGl2ZT0wLHRoaXMud29yZHM9bnVsbCx0aGlzLmxlbmd0aD0wLHRoaXMucmVkPW51bGwsbnVsbCE9PXAmJigibGUiIT09ZyYmImJlIiE9PWd8fChfPWcsZz0xMCksdGhp''@;'; put 'put ''cy5faW5pdChwfHwwLGd8fDEwLF98fCJiZSIpKX12YXIgRjsib2JqZWN0Ij09dHlwZW9mIE4/Ti5leHBvcnRzPW06ei5CTj1tLG0uQk49bSxtLndvcmRTaXplPTI2O3RyeXtGPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuQnVmZmVyP3dpbmRvdy5CdWZmZXI6''@;'; put 'put ''aig2NjAxKS5CdWZmZXJ9Y2F0Y2gocCl7fWZ1bmN0aW9uIEQocCxnKXt2YXIgXz1wLmNoYXJDb2RlQXQoZyk7cmV0dXJuIF8+PTQ4JiZfPD01Nz9fLTQ4Ol8+PTY1JiZfPD03MD9fLTU1Ol8+PTk3JiZfPD0xMDI/Xy04Nzp2b2lkIEMoITEsIkludmFsaWQgY2hhcmFjdGVyIGluICIrcCl9ZnVu''@;'; put 'put ''Y3Rpb24gdyhwLGcsXyl7dmFyIEU9RChwLF8pO3JldHVybiBfLTE+PWcmJihFfD1EKHAsXy0xKTw8NCksRX1mdW5jdGlvbiBQKHAsZyxfLEUpe2Zvcih2YXIgVz0wLEc9MCxYPU1hdGgubWluKHAubGVuZ3RoLF8pLG5lPWc7bmU8WDtuZSsrKXt2YXIgYWU9cC5jaGFyQ29kZUF0KG5lKS00ODtX''@;'; put 'put ''Kj1FLEc9YWU+PTQ5P2FlLTQ5KzEwOmFlPj0xNz9hZS0xNysxMDphZSxDKGFlPj0wJiZHPEUsIkludmFsaWQgY2hhcmFjdGVyIiksVys9R31yZXR1cm4gV31mdW5jdGlvbiBNKHAsZyl7cC53b3Jkcz1nLndvcmRzLHAubGVuZ3RoPWcubGVuZ3RoLHAubmVnYXRpdmU9Zy5uZWdhdGl2ZSxwLnJl''@;'; put 'put ''ZD1nLnJlZH1pZihtLmlzQk49ZnVuY3Rpb24ocCl7cmV0dXJuIHAgaW5zdGFuY2VvZiBtfHxudWxsIT09cCYmIm9iamVjdCI9PXR5cGVvZiBwJiZwLmNvbnN0cnVjdG9yLndvcmRTaXplPT09bS53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheShwLndvcmRzKX0sbS5tYXg9ZnVuY3Rpb24ocCxnKXty''@;'; put 'put ''ZXR1cm4gcC5jbXAoZyk+MD9wOmd9LG0ubWluPWZ1bmN0aW9uKHAsZyl7cmV0dXJuIHAuY21wKGcpPDA/cDpnfSxtLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbihwLGcsXyl7aWYoIm51bWJlciI9PXR5cGVvZiBwKXJldHVybiB0aGlzLl9pbml0TnVtYmVyKHAsZyxfKTtpZigib2JqZWN0Ij09''@;'; put 'put ''dHlwZW9mIHApcmV0dXJuIHRoaXMuX2luaXRBcnJheShwLGcsXyk7ImhleCI9PT1nJiYoZz0xNiksQyhnPT09KDB8ZykmJmc+PTImJmc8PTM2KTt2YXIgRT0wOyItIj09PShwPXAudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiYoRSsrLHRoaXMubmVnYXRpdmU9MSksRTxwLmxl''@;'; put 'put ''bmd0aCYmKDE2PT09Zz90aGlzLl9wYXJzZUhleChwLEUsXyk6KHRoaXMuX3BhcnNlQmFzZShwLGcsRSksImxlIj09PV8mJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxnLF8pKSl9LG0ucHJvdG90eXBlLl9pbml0TnVtYmVyPWZ1bmN0aW9uKHAsZyxfKXtwPDAmJih0aGlzLm5lZ2F0''@;'; put 'put ''aXZlPTEscD0tcCkscDw2NzEwODg2ND8odGhpcy53b3Jkcz1bNjcxMDg4NjMmcF0sdGhpcy5sZW5ndGg9MSk6cDw0NTAzNTk5NjI3MzcwNDk2Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZwLHAvNjcxMDg4NjQmNjcxMDg4NjNdLHRoaXMubGVuZ3RoPTIpOihDKHA8OTAwNzE5OTI1NDc0MDk5Miks''@;'; put 'put ''dGhpcy53b3Jkcz1bNjcxMDg4NjMmcCxwLzY3MTA4ODY0JjY3MTA4ODYzLDFdLHRoaXMubGVuZ3RoPTMpLCJsZSI9PT1fJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZyxfKX0sbS5wcm90b3R5cGUuX2luaXRBcnJheT1mdW5jdGlvbihwLGcsXyl7aWYoQygibnVtYmVyIj09dHlw''@;'; put 'put ''ZW9mIHAubGVuZ3RoKSxwLmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbChwLmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBFPTA7RTx0aGlzLmxlbmd0aDtFKysp''@;'; put 'put ''dGhpcy53b3Jkc1tFXT0wO3ZhciBXLEcsWD0wO2lmKCJiZSI9PT1fKWZvcihFPXAubGVuZ3RoLTEsVz0wO0U+PTA7RS09Myl0aGlzLndvcmRzW1ddfD0oRz1wW0VdfHBbRS0xXTw8OHxwW0UtMl08PDE2KTw8WCY2NzEwODg2Myx0aGlzLndvcmRzW1crMV09Rz4+PjI2LVgmNjcxMDg4NjMsKFgr''@;'; put 'put ''PTI0KT49MjYmJihYLT0yNixXKyspO2Vsc2UgaWYoImxlIj09PV8pZm9yKEU9MCxXPTA7RTxwLmxlbmd0aDtFKz0zKXRoaXMud29yZHNbV118PShHPXBbRV18cFtFKzFdPDw4fHBbRSsyXTw8MTYpPDxYJjY3MTA4ODYzLHRoaXMud29yZHNbVysxXT1HPj4+MjYtWCY2NzEwODg2MywoWCs9MjQp''@;'; put 'put ''Pj0yNiYmKFgtPTI2LFcrKyk7cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG0ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbihwLGcsXyl7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKChwLmxlbmd0aC1nKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBFPTA7RTx0''@;'; put 'put ''aGlzLmxlbmd0aDtFKyspdGhpcy53b3Jkc1tFXT0wO3ZhciBXLEc9MCxYPTA7aWYoImJlIj09PV8pZm9yKEU9cC5sZW5ndGgtMTtFPj1nO0UtPTIpVz13KHAsZyxFKTw8Ryx0aGlzLndvcmRzW1hdfD02NzEwODg2MyZXLEc+PTE4PyhHLT0xOCx0aGlzLndvcmRzW1grPTFdfD1XPj4+MjYpOkcr''@;'; put 'put ''PTg7ZWxzZSBmb3IoRT0ocC5sZW5ndGgtZyklMj09MD9nKzE6ZztFPHAubGVuZ3RoO0UrPTIpVz13KHAsZyxFKTw8Ryx0aGlzLndvcmRzW1hdfD02NzEwODg2MyZXLEc+PTE4PyhHLT0xOCx0aGlzLndvcmRzW1grPTFdfD1XPj4+MjYpOkcrPTg7dGhpcy5fc3RyaXAoKX0sbS5wcm90b3R5cGUu''@;'; put 'put ''X3BhcnNlQmFzZT1mdW5jdGlvbihwLGcsXyl7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIEU9MCxXPTE7Vzw9NjcxMDg4NjM7Vyo9ZylFKys7RS0tLFc9Vy9nfDA7Zm9yKHZhciBHPXAubGVuZ3RoLV8sWD1HJUUsbmU9TWF0aC5taW4oRyxHLVgpK18sYWU9MCx1ZT1fO3Vl''@;'; put 'put ''PG5lO3VlKz1FKWFlPVAocCx1ZSx1ZStFLGcpLHRoaXMuaW11bG4oVyksdGhpcy53b3Jkc1swXSthZTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1hZTp0aGlzLl9pYWRkbihhZSk7aWYoMCE9PVgpe3ZhciBiZT0xO2ZvcihhZT1QKHAsdWUscC5sZW5ndGgsZyksdWU9MDt1ZTxYO3VlKyspYmUq''@;'; put 'put ''PWc7dGhpcy5pbXVsbihiZSksdGhpcy53b3Jkc1swXSthZTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1hZTp0aGlzLl9pYWRkbihhZSl9dGhpcy5fc3RyaXAoKX0sbS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihwKXtwLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBnPTA7''@;'; put 'put ''Zzx0aGlzLmxlbmd0aDtnKyspcC53b3Jkc1tnXT10aGlzLndvcmRzW2ddO3AubGVuZ3RoPXRoaXMubGVuZ3RoLHAubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSxwLnJlZD10aGlzLnJlZH0sbS5wcm90b3R5cGUuX21vdmU9ZnVuY3Rpb24ocCl7TShwLHRoaXMpfSxtLnByb3RvdHlwZS5jbG9uZT1m''@;'; put 'put ''dW5jdGlvbigpe3ZhciBwPW5ldyBtKG51bGwpO3JldHVybiB0aGlzLmNvcHkocCkscH0sbS5wcm90b3R5cGUuX2V4cGFuZD1mdW5jdGlvbihwKXtmb3IoO3RoaXMubGVuZ3RoPHA7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuX3N0cmlwPWZ1''@;'; put 'put ''bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sbS5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMu''@;'; put 'put ''d29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sLmZvcil0cnl7bS5wcm90b3R5cGVbU3ltYm9sLmZvcigibm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20iKV09a31jYXRjaChwKXttLnBy''@;'; put 'put ''b3RvdHlwZS5pbnNwZWN0PWt9ZWxzZSBtLnByb3RvdHlwZS5pbnNwZWN0PWs7ZnVuY3Rpb24gaygpe3JldHVybih0aGlzLnJlZD8iPEJOLVI6ICI6IjxCTjogIikrdGhpcy50b1N0cmluZygxNikrIj4ifXZhciBPPVsiIiwiMCIsIjAwIiwiMDAwIiwiMDAwMCIsIjAwMDAwIiwiMDAwMDAwIiwi''@;'; put 'put ''MDAwMDAwMCIsIjAwMDAwMDAwIiwiMDAwMDAwMDAwIiwiMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwIiwi''@;'; put 'put ''MDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw''@;'; put 'put ''IiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJdLEw9WzAsMCwyNSwxNiwxMiwxMSwxMCw5LDgsOCw3LDcsNyw3LDYsNiw2LDYsNiw2LDYsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNV0sVD1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYwNDY2MTc2''@;'; put 'put ''LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDExODgxMzc2''@;'; put 'put ''LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtmdW5jdGlvbiBZKHAsZyxfKXtfLm5lZ2F0aXZlPWcubmVnYXRpdmVecC5uZWdhdGl2ZTt2YXIgRT1wLmxlbmd0aCtnLmxlbmd0aHww''@;'; put 'put ''O18ubGVuZ3RoPUUsRT1FLTF8MDt2YXIgVz0wfHAud29yZHNbMF0sRz0wfGcud29yZHNbMF0sWD1XKkcsYWU9WC82NzEwODg2NHwwO18ud29yZHNbMF09NjcxMDg4NjMmWDtmb3IodmFyIHVlPTE7dWU8RTt1ZSsrKXtmb3IodmFyIGJlPWFlPj4+MjYsX2U9NjcxMDg4NjMmYWUsbGU9TWF0aC5t''@;'; put 'put ''aW4odWUsZy5sZW5ndGgtMSksY2U9TWF0aC5tYXgoMCx1ZS1wLmxlbmd0aCsxKTtjZTw9bGU7Y2UrKyliZSs9KFg9KFc9MHxwLndvcmRzW3VlLWNlfDBdKSooRz0wfGcud29yZHNbY2VdKStfZSkvNjcxMDg4NjR8MCxfZT02NzEwODg2MyZYO18ud29yZHNbdWVdPTB8X2UsYWU9MHxiZX1yZXR1''@;'; put 'put ''cm4gMCE9PWFlP18ud29yZHNbdWVdPTB8YWU6Xy5sZW5ndGgtLSxfLl9zdHJpcCgpfW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHAsZyl7dmFyIF87aWYoZz0wfGd8fDEsMTY9PT0ocD1wfHwxMCl8fCJoZXgiPT09cCl7Xz0iIjtmb3IodmFyIEU9MCxXPTAsRz0wO0c8dGhpcy5sZW5n''@;'; put 'put ''dGg7RysrKXt2YXIgWD10aGlzLndvcmRzW0ddLG5lPSgxNjc3NzIxNSYoWDw8RXxXKSkudG9TdHJpbmcoMTYpO1c9WD4+PjI0LUUmMTY3NzcyMTUsKEUrPTIpPj0yNiYmKEUtPTI2LEctLSksXz0wIT09V3x8RyE9PXRoaXMubGVuZ3RoLTE/T1s2LW5lLmxlbmd0aF0rbmUrXzpuZStffWZvcigw''@;'; put 'put ''IT09VyYmKF89Vy50b1N0cmluZygxNikrXyk7Xy5sZW5ndGglZyE9MDspXz0iMCIrXztyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihfPSItIitfKSxffWlmKHA9PT0oMHxwKSYmcD49MiYmcDw9MzYpe3ZhciBhZT1MW3BdLHVlPVRbcF07Xz0iIjt2YXIgYmU9dGhpcy5jbG9uZSgpO2Zvcihi''@;'; put 'put ''ZS5uZWdhdGl2ZT0wOyFiZS5pc1plcm8oKTspe3ZhciBfZT1iZS5tb2Rybih1ZSkudG9TdHJpbmcocCk7Xz0oYmU9YmUuaWRpdm4odWUpKS5pc1plcm8oKT9fZStfOk9bYWUtX2UubGVuZ3RoXStfZStffWZvcih0aGlzLmlzWmVybygpJiYoXz0iMCIrXyk7Xy5sZW5ndGglZyE9MDspXz0iMCIr''@;'; put 'put ''XztyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihfPSItIitfKSxffUMoITEsIkJhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYiKX0sbS5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcD10aGlzLndvcmRzWzBdO3JldHVybiAyPT09dGhpcy5sZW5ndGg/cCs9NjcxMDg4''@;'; put 'put ''NjQqdGhpcy53b3Jkc1sxXTozPT09dGhpcy5sZW5ndGgmJjE9PT10aGlzLndvcmRzWzJdP3ArPTQ1MDM1OTk2MjczNzA0OTYrNjcxMDg4NjQqdGhpcy53b3Jkc1sxXTp0aGlzLmxlbmd0aD4yJiZDKCExLCJOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMiKSwwIT09''@;'; put 'put ''dGhpcy5uZWdhdGl2ZT8tcDpwfSxtLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNiwyKX0sRiYmKG0ucHJvdG90eXBlLnRvQnVmZmVyPWZ1bmN0aW9uKHAsZyl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoRixwLGcpfSksbS5wcm90b3R5cGUudG9B''@;'; put 'put ''cnJheT1mdW5jdGlvbihwLGcpe3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LHAsZyl9LG0ucHJvdG90eXBlLnRvQXJyYXlMaWtlPWZ1bmN0aW9uKHAsZyxfKXt0aGlzLl9zdHJpcCgpO3ZhciBFPXRoaXMuYnl0ZUxlbmd0aCgpLFc9X3x8TWF0aC5tYXgoMSxFKTtDKEU8PVcsImJ5dGUg''@;'; put 'put ''YXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxDKFc+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIik7dmFyIFgsbmUsRz0obmU9VywoWD1wKS5hbGxvY1Vuc2FmZT9YLmFsbG9jVW5zYWZlKG5lKTpuZXcgWChuZSkpO3JldHVybiB0aGlzWyJfdG9BcnJheUxpa2UiKygi''@;'; put 'put ''bGUiPT09Zz8iTEUiOiJCRSIpXShHLEUpLEd9LG0ucHJvdG90eXBlLl90b0FycmF5TGlrZUxFPWZ1bmN0aW9uKHAsZyl7Zm9yKHZhciBfPTAsRT0wLFc9MCxHPTA7Vzx0aGlzLmxlbmd0aDtXKyspe3ZhciBYPXRoaXMud29yZHNbV108PEd8RTtwW18rK109MjU1JlgsXzxwLmxlbmd0aCYmKHBb''@;'; put 'put ''XysrXT1YPj44JjI1NSksXzxwLmxlbmd0aCYmKHBbXysrXT1YPj4xNiYyNTUpLDY9PT1HPyhfPHAubGVuZ3RoJiYocFtfKytdPVg+PjI0JjI1NSksRT0wLEc9MCk6KEU9WD4+PjI0LEcrPTIpfWlmKF88cC5sZW5ndGgpZm9yKHBbXysrXT1FO188cC5sZW5ndGg7KXBbXysrXT0wfSxtLnByb3Rv''@;'; put 'put ''dHlwZS5fdG9BcnJheUxpa2VCRT1mdW5jdGlvbihwLGcpe2Zvcih2YXIgXz1wLmxlbmd0aC0xLEU9MCxXPTAsRz0wO1c8dGhpcy5sZW5ndGg7VysrKXt2YXIgWD10aGlzLndvcmRzW1ddPDxHfEU7cFtfLS1dPTI1NSZYLF8+PTAmJihwW18tLV09WD4+OCYyNTUpLF8+PTAmJihwW18tLV09WD4+''@;'; put 'put ''MTYmMjU1KSw2PT09Rz8oXz49MCYmKHBbXy0tXT1YPj4yNCYyNTUpLEU9MCxHPTApOihFPVg+Pj4yNCxHKz0yKX1pZihfPj0wKWZvcihwW18tLV09RTtfPj0wOylwW18tLV09MH0sbS5wcm90b3R5cGUuX2NvdW50Qml0cz1NYXRoLmNsejMyP2Z1bmN0aW9uKHApe3JldHVybiAzMi1NYXRoLmNs''@;'; put 'put ''ejMyKHApfTpmdW5jdGlvbihwKXt2YXIgZz1wLF89MDtyZXR1cm4gZz49NDA5NiYmKF8rPTEzLGc+Pj49MTMpLGc+PTY0JiYoXys9NyxnPj4+PTcpLGc+PTgmJihfKz00LGc+Pj49NCksZz49MiYmKF8rPTIsZz4+Pj0yKSxfK2d9LG0ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbihwKXtp''@;'; put 'put ''ZigwPT09cClyZXR1cm4gMjY7dmFyIGc9cCxfPTA7cmV0dXJuIDA9PSg4MTkxJmcpJiYoXys9MTMsZz4+Pj0xMyksMD09KDEyNyZnKSYmKF8rPTcsZz4+Pj03KSwwPT0oMTUmZykmJihfKz00LGc+Pj49NCksMD09KDMmZykmJihfKz0yLGc+Pj49MiksMD09KDEmZykmJl8rKyxffSxtLnByb3Rv''@;'; put 'put ''dHlwZS5iaXRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgZz10aGlzLl9jb3VudEJpdHModGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStnfSxtLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9y''@;'; put 'put ''KHZhciBwPTAsZz0wO2c8dGhpcy5sZW5ndGg7ZysrKXt2YXIgXz10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ddKTtpZihwKz1fLDI2IT09XylicmVha31yZXR1cm4gcH0sbS5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgo''@;'; put 'put ''KS84KX0sbS5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKHApe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKHApLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sbS5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMudGVzdG4ocC0xKT90aGlz''@;'; put 'put ''Lm5vdG4ocCkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sbS5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG0ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxtLnByb3RvdHlwZS5pbmVn''@;'; put 'put ''PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxtLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKHApe2Zvcig7dGhpcy5sZW5ndGg8cC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGc9MDtnPHAubGVuZ3Ro''@;'; put 'put ''O2crKyl0aGlzLndvcmRzW2ddPXRoaXMud29yZHNbZ118cC53b3Jkc1tnXTtyZXR1cm4gdGhpcy5fc3RyaXAoKX0sbS5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uKHApe3JldHVybiBDKDA9PSh0aGlzLm5lZ2F0aXZlfHAubmVnYXRpdmUpKSx0aGlzLml1b3IocCl9LG0ucHJvdG90eXBlLm9yPWZ1''@;'; put 'put ''bmN0aW9uKHApe3JldHVybiB0aGlzLmxlbmd0aD5wLmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKHApOnAuY2xvbmUoKS5pb3IodGhpcyl9LG0ucHJvdG90eXBlLnVvcj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5sZW5ndGg+cC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IocCk6cC5jbG9uZSgp''@;'; put 'put ''Lml1b3IodGhpcyl9LG0ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKHApe3ZhciBnO2c9dGhpcy5sZW5ndGg+cC5sZW5ndGg/cDp0aGlzO2Zvcih2YXIgXz0wO188Zy5sZW5ndGg7XysrKXRoaXMud29yZHNbX109dGhpcy53b3Jkc1tfXSZwLndvcmRzW19dO3JldHVybiB0aGlzLmxlbmd0aD1n''@;'; put 'put ''Lmxlbmd0aCx0aGlzLl9zdHJpcCgpfSxtLnByb3RvdHlwZS5pYW5kPWZ1bmN0aW9uKHApe3JldHVybiBDKDA9PSh0aGlzLm5lZ2F0aXZlfHAubmVnYXRpdmUpKSx0aGlzLml1YW5kKHApfSxtLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMubGVuZ3RoPnAubGVuZ3RoP3Ro''@;'; put 'put ''aXMuY2xvbmUoKS5pYW5kKHApOnAuY2xvbmUoKS5pYW5kKHRoaXMpfSxtLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmxlbmd0aD5wLmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQocCk6cC5jbG9uZSgpLml1YW5kKHRoaXMpfSxtLnByb3RvdHlwZS5pdXhvcj1mdW5j''@;'; put 'put ''dGlvbihwKXt2YXIgZyxfO3RoaXMubGVuZ3RoPnAubGVuZ3RoPyhnPXRoaXMsXz1wKTooZz1wLF89dGhpcyk7Zm9yKHZhciBFPTA7RTxfLmxlbmd0aDtFKyspdGhpcy53b3Jkc1tFXT1nLndvcmRzW0VdXl8ud29yZHNbRV07aWYodGhpcyE9PWcpZm9yKDtFPGcubGVuZ3RoO0UrKyl0aGlzLndv''@;'; put 'put ''cmRzW0VdPWcud29yZHNbRV07cmV0dXJuIHRoaXMubGVuZ3RoPWcubGVuZ3RoLHRoaXMuX3N0cmlwKCl9LG0ucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24ocCl7cmV0dXJuIEMoMD09KHRoaXMubmVnYXRpdmV8cC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IocCl9LG0ucHJvdG90eXBlLnhvcj1mdW5j''@;'; put 'put ''dGlvbihwKXtyZXR1cm4gdGhpcy5sZW5ndGg+cC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IocCk6cC5jbG9uZSgpLml4b3IodGhpcyl9LG0ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMubGVuZ3RoPnAubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcihwKTpwLmNsb25l''@;'; put 'put ''KCkuaXV4b3IodGhpcyl9LG0ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKHApe0MoIm51bWJlciI9PXR5cGVvZiBwJiZwPj0wKTt2YXIgZz0wfE1hdGguY2VpbChwLzI2KSxfPXAlMjY7dGhpcy5fZXhwYW5kKGcpLF8+MCYmZy0tO2Zvcih2YXIgRT0wO0U8ZztFKyspdGhpcy53b3Jkc1tFXT02''@;'; put 'put ''NzEwODg2MyZ+dGhpcy53b3Jkc1tFXTtyZXR1cm4gXz4wJiYodGhpcy53b3Jkc1tFXT1+dGhpcy53b3Jkc1tFXSY2NzEwODg2Mz4+MjYtXyksdGhpcy5fc3RyaXAoKX0sbS5wcm90b3R5cGUubm90bj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKHApfSxtLnByb3RvdHlw''@;'; put 'put ''ZS5zZXRuPWZ1bmN0aW9uKHAsZyl7QygibnVtYmVyIj09dHlwZW9mIHAmJnA+PTApO3ZhciBfPXAvMjZ8MCxFPXAlMjY7cmV0dXJuIHRoaXMuX2V4cGFuZChfKzEpLHRoaXMud29yZHNbX109Zz90aGlzLndvcmRzW19dfDE8PEU6dGhpcy53b3Jkc1tfXSZ+KDE8PEUpLHRoaXMuX3N0cmlwKCl9''@;'; put 'put ''LG0ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24ocCl7dmFyIGcsXyxFO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09cC5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLGc9dGhpcy5pc3ViKHApLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdh''@;'; put 'put ''dGl2ZSYmMCE9PXAubmVnYXRpdmUpcmV0dXJuIHAubmVnYXRpdmU9MCxnPXRoaXMuaXN1YihwKSxwLm5lZ2F0aXZlPTEsZy5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD5wLmxlbmd0aD8oXz10aGlzLEU9cCk6KF89cCxFPXRoaXMpO2Zvcih2YXIgVz0wLEc9MDtHPEUubGVuZ3RoO0crKyl0aGlz''@;'; put 'put ''LndvcmRzW0ddPTY3MTA4ODYzJihnPSgwfF8ud29yZHNbR10pKygwfEUud29yZHNbR10pK1cpLFc9Zz4+PjI2O2Zvcig7MCE9PVcmJkc8Xy5sZW5ndGg7RysrKXRoaXMud29yZHNbR109NjcxMDg4NjMmKGc9KDB8Xy53b3Jkc1tHXSkrVyksVz1nPj4+MjY7aWYodGhpcy5sZW5ndGg9Xy5sZW5n''@;'; put 'put ''dGgsMCE9PVcpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09Vyx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYoXyE9PXRoaXMpZm9yKDtHPF8ubGVuZ3RoO0crKyl0aGlzLndvcmRzW0ddPV8ud29yZHNbR107cmV0dXJuIHRoaXN9LG0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihwKXt2YXIgZztyZXR1cm4g''@;'; put 'put ''MCE9PXAubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyhwLm5lZ2F0aXZlPTAsZz10aGlzLnN1YihwKSxwLm5lZ2F0aXZlXj0xLGcpOjA9PT1wLm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLGc9cC5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLGcpOnRo''@;'; put 'put ''aXMubGVuZ3RoPnAubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKHApOnAuY2xvbmUoKS5pYWRkKHRoaXMpfSxtLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKHApe2lmKDAhPT1wLm5lZ2F0aXZlKXtwLm5lZ2F0aXZlPTA7dmFyIGc9dGhpcy5pYWRkKHApO3JldHVybiBwLm5lZ2F0aXZlPTEsZy5f''@;'; put 'put ''bm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZChwKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgXyxFLFc9dGhpcy5jbXAocCk7aWYoMD09PVcpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0''@;'; put 'put ''aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO1c+MD8oXz10aGlzLEU9cCk6KF89cCxFPXRoaXMpO2Zvcih2YXIgRz0wLFg9MDtYPEUubGVuZ3RoO1grKylHPShnPSgwfF8ud29yZHNbWF0pLSgwfEUud29yZHNbWF0pK0cpPj4yNix0aGlzLndvcmRzW1hdPTY3MTA4ODYzJmc7Zm9yKDswIT09RyYm''@;'; put 'put ''WDxfLmxlbmd0aDtYKyspRz0oZz0oMHxfLndvcmRzW1hdKStHKT4+MjYsdGhpcy53b3Jkc1tYXT02NzEwODg2MyZnO2lmKDA9PT1HJiZYPF8ubGVuZ3RoJiZfIT09dGhpcylmb3IoO1g8Xy5sZW5ndGg7WCsrKXRoaXMud29yZHNbWF09Xy53b3Jkc1tYXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0''@;'; put 'put ''aC5tYXgodGhpcy5sZW5ndGgsWCksXyE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuX3N0cmlwKCl9LG0ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIocCl9O3ZhciBJPWZ1bmN0aW9uKHAsZyxfKXt2YXIgRSxXLEcsWD1wLndvcmRzLG5l''@;'; put 'put ''PWcud29yZHMsYWU9Xy53b3Jkcyx1ZT0wLGJlPTB8WFswXSxfZT04MTkxJmJlLGxlPWJlPj4+MTMsY2U9MHxYWzFdLHBlPTgxOTEmY2Usd2U9Y2U+Pj4xMyxVZT0wfFhbMl0seGU9ODE5MSZVZSxFZT1VZT4+PjEzLHd0PTB8WFszXSxOZT04MTkxJnd0LEhlPXd0Pj4+MTMsUmU9MHxYWzRdLE9l''@;'; put 'put ''PTgxOTEmUmUsTGU9UmU+Pj4xMyxpZT0wfFhbNV0sc2U9ODE5MSZpZSxkZT1pZT4+PjEzLEFlPTB8WFs2XSxrZT04MTkxJkFlLFNlPUFlPj4+MTMsJGU9MHxYWzddLFZlPTgxOTEmJGUsR2U9JGU+Pj4xMyxxdD0wfFhbOF0sS2U9ODE5MSZxdCxldD1xdD4+PjEzLF9uPTB8WFs5XSxidD04MTkx''@;'; put 'put ''Jl9uLHB0PV9uPj4+MTMsR3Q9MHxuZVswXSxudD04MTkxJkd0LHl0PUd0Pj4+MTMsU249MHxuZVsxXSxndD04MTkxJlNuLGR0PVNuPj4+MTMsWHQ9MHxuZVsyXSxhdD04MTkxJlh0LFFlPVh0Pj4+MTMsbW49MHxuZVszXSxvdD04MTkxJm1uLHZ0PW1uPj4+MTMsdHI9MHxuZVs0XSxaZT04MTkx''@;'; put 'put ''JnRyLG10PXRyPj4+MTMsVW49MHxuZVs1XSxmdD04MTkxJlVuLGx0PVVuPj4+MTMsWnQ9MHxuZVs2XSxYZT04MTkxJlp0LERlPVp0Pj4+MTMsdXQ9MHxuZVs3XSxydD04MTkxJnV0LGl0PXV0Pj4+MTMsYm49MHxuZVs4XSxXZT04MTkxJmJuLEplPWJuPj4+MTMsTXQ9MHxuZVs5XSxEdD04MTkx''@;'; put 'put ''Jk10LEJ0PU10Pj4+MTM7Xy5uZWdhdGl2ZT1wLm5lZ2F0aXZlXmcubmVnYXRpdmUsXy5sZW5ndGg9MTk7dmFyIGVuPSh1ZSsoRT1NYXRoLmltdWwoX2UsbnQpKXwwKSsoKDgxOTEmKFc9KFc9TWF0aC5pbXVsKF9lLHl0KSkrTWF0aC5pbXVsKGxlLG50KXwwKSk8PDEzKXwwO3VlPSgoRz1NYXRo''@;'; put 'put ''LmltdWwobGUseXQpKSsoVz4+PjEzKXwwKSsoZW4+Pj4yNil8MCxlbiY9NjcxMDg4NjMsRT1NYXRoLmltdWwocGUsbnQpLFc9KFc9TWF0aC5pbXVsKHBlLHl0KSkrTWF0aC5pbXVsKHdlLG50KXwwLEc9TWF0aC5pbXVsKHdlLHl0KTt2YXIgWXQ9KHVlKyhFPUUrTWF0aC5pbXVsKF9lLGd0KXww''@;'; put 'put ''KXwwKSsoKDgxOTEmKFc9KFc9VytNYXRoLmltdWwoX2UsZHQpfDApK01hdGguaW11bChsZSxndCl8MCkpPDwxMyl8MDt1ZT0oKEc9RytNYXRoLmltdWwobGUsZHQpfDApKyhXPj4+MTMpfDApKyhZdD4+PjI2KXwwLFl0Jj02NzEwODg2MyxFPU1hdGguaW11bCh4ZSxudCksVz0oVz1NYXRoLmlt''@;'; put 'put ''dWwoeGUseXQpKStNYXRoLmltdWwoRWUsbnQpfDAsRz1NYXRoLmltdWwoRWUseXQpLEU9RStNYXRoLmltdWwocGUsZ3QpfDAsVz0oVz1XK01hdGguaW11bChwZSxkdCl8MCkrTWF0aC5pbXVsKHdlLGd0KXwwLEc9RytNYXRoLmltdWwod2UsZHQpfDA7dmFyIHJuPSh1ZSsoRT1FK01hdGguaW11''@;'; put 'put ''bChfZSxhdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKF9lLFFlKXwwKStNYXRoLmltdWwobGUsYXQpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKGxlLFFlKXwwKSsoVz4+PjEzKXwwKSsocm4+Pj4yNil8MCxybiY9NjcxMDg4NjMsRT1NYXRoLmltdWwoTmUsbnQpLFc9''@;'; put 'put ''KFc9TWF0aC5pbXVsKE5lLHl0KSkrTWF0aC5pbXVsKEhlLG50KXwwLEc9TWF0aC5pbXVsKEhlLHl0KSxFPUUrTWF0aC5pbXVsKHhlLGd0KXwwLFc9KFc9VytNYXRoLmltdWwoeGUsZHQpfDApK01hdGguaW11bChFZSxndCl8MCxHPUcrTWF0aC5pbXVsKEVlLGR0KXwwLEU9RStNYXRoLmltdWwo''@;'; put 'put ''cGUsYXQpfDAsVz0oVz1XK01hdGguaW11bChwZSxRZSl8MCkrTWF0aC5pbXVsKHdlLGF0KXwwLEc9RytNYXRoLmltdWwod2UsUWUpfDA7dmFyIGFuPSh1ZSsoRT1FK01hdGguaW11bChfZSxvdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKF9lLHZ0KXwwKStNYXRoLmltdWwobGUs''@;'; put 'put ''b3QpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKGxlLHZ0KXwwKSsoVz4+PjEzKXwwKSsoYW4+Pj4yNil8MCxhbiY9NjcxMDg4NjMsRT1NYXRoLmltdWwoT2UsbnQpLFc9KFc9TWF0aC5pbXVsKE9lLHl0KSkrTWF0aC5pbXVsKExlLG50KXwwLEc9TWF0aC5pbXVsKExlLHl0KSxFPUUr''@;'; put 'put ''TWF0aC5pbXVsKE5lLGd0KXwwLFc9KFc9VytNYXRoLmltdWwoTmUsZHQpfDApK01hdGguaW11bChIZSxndCl8MCxHPUcrTWF0aC5pbXVsKEhlLGR0KXwwLEU9RStNYXRoLmltdWwoeGUsYXQpfDAsVz0oVz1XK01hdGguaW11bCh4ZSxRZSl8MCkrTWF0aC5pbXVsKEVlLGF0KXwwLEc9RytNYXRo''@;'; put 'put ''LmltdWwoRWUsUWUpfDAsRT1FK01hdGguaW11bChwZSxvdCl8MCxXPShXPVcrTWF0aC5pbXVsKHBlLHZ0KXwwKStNYXRoLmltdWwod2Usb3QpfDAsRz1HK01hdGguaW11bCh3ZSx2dCl8MDt2YXIgbG49KHVlKyhFPUUrTWF0aC5pbXVsKF9lLFplKXwwKXwwKSsoKDgxOTEmKFc9KFc9VytNYXRo''@;'; put 'put ''LmltdWwoX2UsbXQpfDApK01hdGguaW11bChsZSxaZSl8MCkpPDwxMyl8MDt1ZT0oKEc9RytNYXRoLmltdWwobGUsbXQpfDApKyhXPj4+MTMpfDApKyhsbj4+PjI2KXwwLGxuJj02NzEwODg2MyxFPU1hdGguaW11bChzZSxudCksVz0oVz1NYXRoLmltdWwoc2UseXQpKStNYXRoLmltdWwoZGUs''@;'; put 'put ''bnQpfDAsRz1NYXRoLmltdWwoZGUseXQpLEU9RStNYXRoLmltdWwoT2UsZ3QpfDAsVz0oVz1XK01hdGguaW11bChPZSxkdCl8MCkrTWF0aC5pbXVsKExlLGd0KXwwLEc9RytNYXRoLmltdWwoTGUsZHQpfDAsRT1FK01hdGguaW11bChOZSxhdCl8MCxXPShXPVcrTWF0aC5pbXVsKE5lLFFlKXww''@;'; put 'put ''KStNYXRoLmltdWwoSGUsYXQpfDAsRz1HK01hdGguaW11bChIZSxRZSl8MCxFPUUrTWF0aC5pbXVsKHhlLG90KXwwLFc9KFc9VytNYXRoLmltdWwoeGUsdnQpfDApK01hdGguaW11bChFZSxvdCl8MCxHPUcrTWF0aC5pbXVsKEVlLHZ0KXwwLEU9RStNYXRoLmltdWwocGUsWmUpfDAsVz0oVz1X''@;'; put 'put ''K01hdGguaW11bChwZSxtdCl8MCkrTWF0aC5pbXVsKHdlLFplKXwwLEc9RytNYXRoLmltdWwod2UsbXQpfDA7dmFyIE1uPSh1ZSsoRT1FK01hdGguaW11bChfZSxmdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKF9lLGx0KXwwKStNYXRoLmltdWwobGUsZnQpfDApKTw8MTMpfDA7''@;'; put 'put ''dWU9KChHPUcrTWF0aC5pbXVsKGxlLGx0KXwwKSsoVz4+PjEzKXwwKSsoTW4+Pj4yNil8MCxNbiY9NjcxMDg4NjMsRT1NYXRoLmltdWwoa2UsbnQpLFc9KFc9TWF0aC5pbXVsKGtlLHl0KSkrTWF0aC5pbXVsKFNlLG50KXwwLEc9TWF0aC5pbXVsKFNlLHl0KSxFPUUrTWF0aC5pbXVsKHNlLGd0''@;'; put 'put ''KXwwLFc9KFc9VytNYXRoLmltdWwoc2UsZHQpfDApK01hdGguaW11bChkZSxndCl8MCxHPUcrTWF0aC5pbXVsKGRlLGR0KXwwLEU9RStNYXRoLmltdWwoT2UsYXQpfDAsVz0oVz1XK01hdGguaW11bChPZSxRZSl8MCkrTWF0aC5pbXVsKExlLGF0KXwwLEc9RytNYXRoLmltdWwoTGUsUWUpfDAs''@;'; put 'put ''RT1FK01hdGguaW11bChOZSxvdCl8MCxXPShXPVcrTWF0aC5pbXVsKE5lLHZ0KXwwKStNYXRoLmltdWwoSGUsb3QpfDAsRz1HK01hdGguaW11bChIZSx2dCl8MCxFPUUrTWF0aC5pbXVsKHhlLFplKXwwLFc9KFc9VytNYXRoLmltdWwoeGUsbXQpfDApK01hdGguaW11bChFZSxaZSl8MCxHPUcr''@;'; put 'put ''TWF0aC5pbXVsKEVlLG10KXwwLEU9RStNYXRoLmltdWwocGUsZnQpfDAsVz0oVz1XK01hdGguaW11bChwZSxsdCl8MCkrTWF0aC5pbXVsKHdlLGZ0KXwwLEc9RytNYXRoLmltdWwod2UsbHQpfDA7dmFyIG5uPSh1ZSsoRT1FK01hdGguaW11bChfZSxYZSl8MCl8MCkrKCg4MTkxJihXPShXPVcr''@;'; put 'put ''TWF0aC5pbXVsKF9lLERlKXwwKStNYXRoLmltdWwobGUsWGUpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKGxlLERlKXwwKSsoVz4+PjEzKXwwKSsobm4+Pj4yNil8MCxubiY9NjcxMDg4NjMsRT1NYXRoLmltdWwoVmUsbnQpLFc9KFc9TWF0aC5pbXVsKFZlLHl0KSkrTWF0aC5pbXVs''@;'; put 'put ''KEdlLG50KXwwLEc9TWF0aC5pbXVsKEdlLHl0KSxFPUUrTWF0aC5pbXVsKGtlLGd0KXwwLFc9KFc9VytNYXRoLmltdWwoa2UsZHQpfDApK01hdGguaW11bChTZSxndCl8MCxHPUcrTWF0aC5pbXVsKFNlLGR0KXwwLEU9RStNYXRoLmltdWwoc2UsYXQpfDAsVz0oVz1XK01hdGguaW11bChzZSxR''@;'; put 'put ''ZSl8MCkrTWF0aC5pbXVsKGRlLGF0KXwwLEc9RytNYXRoLmltdWwoZGUsUWUpfDAsRT1FK01hdGguaW11bChPZSxvdCl8MCxXPShXPVcrTWF0aC5pbXVsKE9lLHZ0KXwwKStNYXRoLmltdWwoTGUsb3QpfDAsRz1HK01hdGguaW11bChMZSx2dCl8MCxFPUUrTWF0aC5pbXVsKE5lLFplKXwwLFc9''@;'; put 'put ''KFc9VytNYXRoLmltdWwoTmUsbXQpfDApK01hdGguaW11bChIZSxaZSl8MCxHPUcrTWF0aC5pbXVsKEhlLG10KXwwLEU9RStNYXRoLmltdWwoeGUsZnQpfDAsVz0oVz1XK01hdGguaW11bCh4ZSxsdCl8MCkrTWF0aC5pbXVsKEVlLGZ0KXwwLEc9RytNYXRoLmltdWwoRWUsbHQpfDAsRT1FK01h''@;'; put 'put ''dGguaW11bChwZSxYZSl8MCxXPShXPVcrTWF0aC5pbXVsKHBlLERlKXwwKStNYXRoLmltdWwod2UsWGUpfDAsRz1HK01hdGguaW11bCh3ZSxEZSl8MDt2YXIgUW49KHVlKyhFPUUrTWF0aC5pbXVsKF9lLHJ0KXwwKXwwKSsoKDgxOTEmKFc9KFc9VytNYXRoLmltdWwoX2UsaXQpfDApK01hdGgu''@;'; put 'put ''aW11bChsZSxydCl8MCkpPDwxMyl8MDt1ZT0oKEc9RytNYXRoLmltdWwobGUsaXQpfDApKyhXPj4+MTMpfDApKyhRbj4+PjI2KXwwLFFuJj02NzEwODg2MyxFPU1hdGguaW11bChLZSxudCksVz0oVz1NYXRoLmltdWwoS2UseXQpKStNYXRoLmltdWwoZXQsbnQpfDAsRz1NYXRoLmltdWwoZXQs''@;'; put 'put ''eXQpLEU9RStNYXRoLmltdWwoVmUsZ3QpfDAsVz0oVz1XK01hdGguaW11bChWZSxkdCl8MCkrTWF0aC5pbXVsKEdlLGd0KXwwLEc9RytNYXRoLmltdWwoR2UsZHQpfDAsRT1FK01hdGguaW11bChrZSxhdCl8MCxXPShXPVcrTWF0aC5pbXVsKGtlLFFlKXwwKStNYXRoLmltdWwoU2UsYXQpfDAs''@;'; put 'put ''Rz1HK01hdGguaW11bChTZSxRZSl8MCxFPUUrTWF0aC5pbXVsKHNlLG90KXwwLFc9KFc9VytNYXRoLmltdWwoc2UsdnQpfDApK01hdGguaW11bChkZSxvdCl8MCxHPUcrTWF0aC5pbXVsKGRlLHZ0KXwwLEU9RStNYXRoLmltdWwoT2UsWmUpfDAsVz0oVz1XK01hdGguaW11bChPZSxtdCl8MCkr''@;'; put 'put ''TWF0aC5pbXVsKExlLFplKXwwLEc9RytNYXRoLmltdWwoTGUsbXQpfDAsRT1FK01hdGguaW11bChOZSxmdCl8MCxXPShXPVcrTWF0aC5pbXVsKE5lLGx0KXwwKStNYXRoLmltdWwoSGUsZnQpfDAsRz1HK01hdGguaW11bChIZSxsdCl8MCxFPUUrTWF0aC5pbXVsKHhlLFhlKXwwLFc9KFc9VytN''@;'; put 'put ''YXRoLmltdWwoeGUsRGUpfDApK01hdGguaW11bChFZSxYZSl8MCxHPUcrTWF0aC5pbXVsKEVlLERlKXwwLEU9RStNYXRoLmltdWwocGUscnQpfDAsVz0oVz1XK01hdGguaW11bChwZSxpdCl8MCkrTWF0aC5pbXVsKHdlLHJ0KXwwLEc9RytNYXRoLmltdWwod2UsaXQpfDA7dmFyIFpuPSh1ZSso''@;'; put 'put ''RT1FK01hdGguaW11bChfZSxXZSl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKF9lLEplKXwwKStNYXRoLmltdWwobGUsV2UpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKGxlLEplKXwwKSsoVz4+PjEzKXwwKSsoWm4+Pj4yNil8MCxabiY9NjcxMDg4NjMsRT1NYXRoLmlt''@;'; put 'put ''dWwoYnQsbnQpLFc9KFc9TWF0aC5pbXVsKGJ0LHl0KSkrTWF0aC5pbXVsKHB0LG50KXwwLEc9TWF0aC5pbXVsKHB0LHl0KSxFPUUrTWF0aC5pbXVsKEtlLGd0KXwwLFc9KFc9VytNYXRoLmltdWwoS2UsZHQpfDApK01hdGguaW11bChldCxndCl8MCxHPUcrTWF0aC5pbXVsKGV0LGR0KXwwLEU9''@;'; put 'put ''RStNYXRoLmltdWwoVmUsYXQpfDAsVz0oVz1XK01hdGguaW11bChWZSxRZSl8MCkrTWF0aC5pbXVsKEdlLGF0KXwwLEc9RytNYXRoLmltdWwoR2UsUWUpfDAsRT1FK01hdGguaW11bChrZSxvdCl8MCxXPShXPVcrTWF0aC5pbXVsKGtlLHZ0KXwwKStNYXRoLmltdWwoU2Usb3QpfDAsRz1HK01h''@;'; put 'put ''dGguaW11bChTZSx2dCl8MCxFPUUrTWF0aC5pbXVsKHNlLFplKXwwLFc9KFc9VytNYXRoLmltdWwoc2UsbXQpfDApK01hdGguaW11bChkZSxaZSl8MCxHPUcrTWF0aC5pbXVsKGRlLG10KXwwLEU9RStNYXRoLmltdWwoT2UsZnQpfDAsVz0oVz1XK01hdGguaW11bChPZSxsdCl8MCkrTWF0aC5p''@;'; put 'put ''bXVsKExlLGZ0KXwwLEc9RytNYXRoLmltdWwoTGUsbHQpfDAsRT1FK01hdGguaW11bChOZSxYZSl8MCxXPShXPVcrTWF0aC5pbXVsKE5lLERlKXwwKStNYXRoLmltdWwoSGUsWGUpfDAsRz1HK01hdGguaW11bChIZSxEZSl8MCxFPUUrTWF0aC5pbXVsKHhlLHJ0KXwwLFc9KFc9VytNYXRoLmlt''@;'; put 'put ''dWwoeGUsaXQpfDApK01hdGguaW11bChFZSxydCl8MCxHPUcrTWF0aC5pbXVsKEVlLGl0KXwwLEU9RStNYXRoLmltdWwocGUsV2UpfDAsVz0oVz1XK01hdGguaW11bChwZSxKZSl8MCkrTWF0aC5pbXVsKHdlLFdlKXwwLEc9RytNYXRoLmltdWwod2UsSmUpfDA7dmFyIGxyPSh1ZSsoRT1FK01h''@;'; put 'put ''dGguaW11bChfZSxEdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKF9lLEJ0KXwwKStNYXRoLmltdWwobGUsRHQpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKGxlLEJ0KXwwKSsoVz4+PjEzKXwwKSsobHI+Pj4yNil8MCxsciY9NjcxMDg4NjMsRT1NYXRoLmltdWwoYnQs''@;'; put 'put ''Z3QpLFc9KFc9TWF0aC5pbXVsKGJ0LGR0KSkrTWF0aC5pbXVsKHB0LGd0KXwwLEc9TWF0aC5pbXVsKHB0LGR0KSxFPUUrTWF0aC5pbXVsKEtlLGF0KXwwLFc9KFc9VytNYXRoLmltdWwoS2UsUWUpfDApK01hdGguaW11bChldCxhdCl8MCxHPUcrTWF0aC5pbXVsKGV0LFFlKXwwLEU9RStNYXRo''@;'; put 'put ''LmltdWwoVmUsb3QpfDAsVz0oVz1XK01hdGguaW11bChWZSx2dCl8MCkrTWF0aC5pbXVsKEdlLG90KXwwLEc9RytNYXRoLmltdWwoR2UsdnQpfDAsRT1FK01hdGguaW11bChrZSxaZSl8MCxXPShXPVcrTWF0aC5pbXVsKGtlLG10KXwwKStNYXRoLmltdWwoU2UsWmUpfDAsRz1HK01hdGguaW11''@;'; put 'put ''bChTZSxtdCl8MCxFPUUrTWF0aC5pbXVsKHNlLGZ0KXwwLFc9KFc9VytNYXRoLmltdWwoc2UsbHQpfDApK01hdGguaW11bChkZSxmdCl8MCxHPUcrTWF0aC5pbXVsKGRlLGx0KXwwLEU9RStNYXRoLmltdWwoT2UsWGUpfDAsVz0oVz1XK01hdGguaW11bChPZSxEZSl8MCkrTWF0aC5pbXVsKExl''@;'; put 'put ''LFhlKXwwLEc9RytNYXRoLmltdWwoTGUsRGUpfDAsRT1FK01hdGguaW11bChOZSxydCl8MCxXPShXPVcrTWF0aC5pbXVsKE5lLGl0KXwwKStNYXRoLmltdWwoSGUscnQpfDAsRz1HK01hdGguaW11bChIZSxpdCl8MCxFPUUrTWF0aC5pbXVsKHhlLFdlKXwwLFc9KFc9VytNYXRoLmltdWwoeGUs''@;'; put 'put ''SmUpfDApK01hdGguaW11bChFZSxXZSl8MCxHPUcrTWF0aC5pbXVsKEVlLEplKXwwO3ZhciB3bj0odWUrKEU9RStNYXRoLmltdWwocGUsRHQpfDApfDApKygoODE5MSYoVz0oVz1XK01hdGguaW11bChwZSxCdCl8MCkrTWF0aC5pbXVsKHdlLER0KXwwKSk8PDEzKXwwO3VlPSgoRz1HK01hdGgu''@;'; put 'put ''aW11bCh3ZSxCdCl8MCkrKFc+Pj4xMyl8MCkrKHduPj4+MjYpfDAsd24mPTY3MTA4ODYzLEU9TWF0aC5pbXVsKGJ0LGF0KSxXPShXPU1hdGguaW11bChidCxRZSkpK01hdGguaW11bChwdCxhdCl8MCxHPU1hdGguaW11bChwdCxRZSksRT1FK01hdGguaW11bChLZSxvdCl8MCxXPShXPVcrTWF0''@;'; put 'put ''aC5pbXVsKEtlLHZ0KXwwKStNYXRoLmltdWwoZXQsb3QpfDAsRz1HK01hdGguaW11bChldCx2dCl8MCxFPUUrTWF0aC5pbXVsKFZlLFplKXwwLFc9KFc9VytNYXRoLmltdWwoVmUsbXQpfDApK01hdGguaW11bChHZSxaZSl8MCxHPUcrTWF0aC5pbXVsKEdlLG10KXwwLEU9RStNYXRoLmltdWwo''@;'; put 'put ''a2UsZnQpfDAsVz0oVz1XK01hdGguaW11bChrZSxsdCl8MCkrTWF0aC5pbXVsKFNlLGZ0KXwwLEc9RytNYXRoLmltdWwoU2UsbHQpfDAsRT1FK01hdGguaW11bChzZSxYZSl8MCxXPShXPVcrTWF0aC5pbXVsKHNlLERlKXwwKStNYXRoLmltdWwoZGUsWGUpfDAsRz1HK01hdGguaW11bChkZSxE''@;'; put 'put ''ZSl8MCxFPUUrTWF0aC5pbXVsKE9lLHJ0KXwwLFc9KFc9VytNYXRoLmltdWwoT2UsaXQpfDApK01hdGguaW11bChMZSxydCl8MCxHPUcrTWF0aC5pbXVsKExlLGl0KXwwLEU9RStNYXRoLmltdWwoTmUsV2UpfDAsVz0oVz1XK01hdGguaW11bChOZSxKZSl8MCkrTWF0aC5pbXVsKEhlLFdlKXww''@;'; put 'put ''LEc9RytNYXRoLmltdWwoSGUsSmUpfDA7dmFyIHZyPSh1ZSsoRT1FK01hdGguaW11bCh4ZSxEdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKHhlLEJ0KXwwKStNYXRoLmltdWwoRWUsRHQpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKEVlLEJ0KXwwKSsoVz4+PjEzKXww''@;'; put 'put ''KSsodnI+Pj4yNil8MCx2ciY9NjcxMDg4NjMsRT1NYXRoLmltdWwoYnQsb3QpLFc9KFc9TWF0aC5pbXVsKGJ0LHZ0KSkrTWF0aC5pbXVsKHB0LG90KXwwLEc9TWF0aC5pbXVsKHB0LHZ0KSxFPUUrTWF0aC5pbXVsKEtlLFplKXwwLFc9KFc9VytNYXRoLmltdWwoS2UsbXQpfDApK01hdGguaW11''@;'; put 'put ''bChldCxaZSl8MCxHPUcrTWF0aC5pbXVsKGV0LG10KXwwLEU9RStNYXRoLmltdWwoVmUsZnQpfDAsVz0oVz1XK01hdGguaW11bChWZSxsdCl8MCkrTWF0aC5pbXVsKEdlLGZ0KXwwLEc9RytNYXRoLmltdWwoR2UsbHQpfDAsRT1FK01hdGguaW11bChrZSxYZSl8MCxXPShXPVcrTWF0aC5pbXVs''@;'; put 'put ''KGtlLERlKXwwKStNYXRoLmltdWwoU2UsWGUpfDAsRz1HK01hdGguaW11bChTZSxEZSl8MCxFPUUrTWF0aC5pbXVsKHNlLHJ0KXwwLFc9KFc9VytNYXRoLmltdWwoc2UsaXQpfDApK01hdGguaW11bChkZSxydCl8MCxHPUcrTWF0aC5pbXVsKGRlLGl0KXwwLEU9RStNYXRoLmltdWwoT2UsV2Up''@;'; put 'put ''fDAsVz0oVz1XK01hdGguaW11bChPZSxKZSl8MCkrTWF0aC5pbXVsKExlLFdlKXwwLEc9RytNYXRoLmltdWwoTGUsSmUpfDA7dmFyIHZuPSh1ZSsoRT1FK01hdGguaW11bChOZSxEdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKE5lLEJ0KXwwKStNYXRoLmltdWwoSGUsRHQpfDAp''@;'; put 'put ''KTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKEhlLEJ0KXwwKSsoVz4+PjEzKXwwKSsodm4+Pj4yNil8MCx2biY9NjcxMDg4NjMsRT1NYXRoLmltdWwoYnQsWmUpLFc9KFc9TWF0aC5pbXVsKGJ0LG10KSkrTWF0aC5pbXVsKHB0LFplKXwwLEc9TWF0aC5pbXVsKHB0LG10KSxFPUUrTWF0aC5p''@;'; put 'put ''bXVsKEtlLGZ0KXwwLFc9KFc9VytNYXRoLmltdWwoS2UsbHQpfDApK01hdGguaW11bChldCxmdCl8MCxHPUcrTWF0aC5pbXVsKGV0LGx0KXwwLEU9RStNYXRoLmltdWwoVmUsWGUpfDAsVz0oVz1XK01hdGguaW11bChWZSxEZSl8MCkrTWF0aC5pbXVsKEdlLFhlKXwwLEc9RytNYXRoLmltdWwo''@;'; put 'put ''R2UsRGUpfDAsRT1FK01hdGguaW11bChrZSxydCl8MCxXPShXPVcrTWF0aC5pbXVsKGtlLGl0KXwwKStNYXRoLmltdWwoU2UscnQpfDAsRz1HK01hdGguaW11bChTZSxpdCl8MCxFPUUrTWF0aC5pbXVsKHNlLFdlKXwwLFc9KFc9VytNYXRoLmltdWwoc2UsSmUpfDApK01hdGguaW11bChkZSxX''@;'; put 'put ''ZSl8MCxHPUcrTWF0aC5pbXVsKGRlLEplKXwwO3ZhciBjcj0odWUrKEU9RStNYXRoLmltdWwoT2UsRHQpfDApfDApKygoODE5MSYoVz0oVz1XK01hdGguaW11bChPZSxCdCl8MCkrTWF0aC5pbXVsKExlLER0KXwwKSk8PDEzKXwwO3VlPSgoRz1HK01hdGguaW11bChMZSxCdCl8MCkrKFc+Pj4x''@;'; put 'put ''Myl8MCkrKGNyPj4+MjYpfDAsY3ImPTY3MTA4ODYzLEU9TWF0aC5pbXVsKGJ0LGZ0KSxXPShXPU1hdGguaW11bChidCxsdCkpK01hdGguaW11bChwdCxmdCl8MCxHPU1hdGguaW11bChwdCxsdCksRT1FK01hdGguaW11bChLZSxYZSl8MCxXPShXPVcrTWF0aC5pbXVsKEtlLERlKXwwKStNYXRo''@;'; put 'put ''LmltdWwoZXQsWGUpfDAsRz1HK01hdGguaW11bChldCxEZSl8MCxFPUUrTWF0aC5pbXVsKFZlLHJ0KXwwLFc9KFc9VytNYXRoLmltdWwoVmUsaXQpfDApK01hdGguaW11bChHZSxydCl8MCxHPUcrTWF0aC5pbXVsKEdlLGl0KXwwLEU9RStNYXRoLmltdWwoa2UsV2UpfDAsVz0oVz1XK01hdGgu''@;'; put 'put ''aW11bChrZSxKZSl8MCkrTWF0aC5pbXVsKFNlLFdlKXwwLEc9RytNYXRoLmltdWwoU2UsSmUpfDA7dmFyIG9yPSh1ZSsoRT1FK01hdGguaW11bChzZSxEdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKHNlLEJ0KXwwKStNYXRoLmltdWwoZGUsRHQpfDApKTw8MTMpfDA7dWU9KChH''@;'; put 'put ''PUcrTWF0aC5pbXVsKGRlLEJ0KXwwKSsoVz4+PjEzKXwwKSsob3I+Pj4yNil8MCxvciY9NjcxMDg4NjMsRT1NYXRoLmltdWwoYnQsWGUpLFc9KFc9TWF0aC5pbXVsKGJ0LERlKSkrTWF0aC5pbXVsKHB0LFhlKXwwLEc9TWF0aC5pbXVsKHB0LERlKSxFPUUrTWF0aC5pbXVsKEtlLHJ0KXwwLFc9''@;'; put 'put ''KFc9VytNYXRoLmltdWwoS2UsaXQpfDApK01hdGguaW11bChldCxydCl8MCxHPUcrTWF0aC5pbXVsKGV0LGl0KXwwLEU9RStNYXRoLmltdWwoVmUsV2UpfDAsVz0oVz1XK01hdGguaW11bChWZSxKZSl8MCkrTWF0aC5pbXVsKEdlLFdlKXwwLEc9RytNYXRoLmltdWwoR2UsSmUpfDA7dmFyIENu''@;'; put 'put ''PSh1ZSsoRT1FK01hdGguaW11bChrZSxEdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKGtlLEJ0KXwwKStNYXRoLmltdWwoU2UsRHQpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKFNlLEJ0KXwwKSsoVz4+PjEzKXwwKSsoQ24+Pj4yNil8MCxDbiY9NjcxMDg4NjMsRT1N''@;'; put 'put ''YXRoLmltdWwoYnQscnQpLFc9KFc9TWF0aC5pbXVsKGJ0LGl0KSkrTWF0aC5pbXVsKHB0LHJ0KXwwLEc9TWF0aC5pbXVsKHB0LGl0KSxFPUUrTWF0aC5pbXVsKEtlLFdlKXwwLFc9KFc9VytNYXRoLmltdWwoS2UsSmUpfDApK01hdGguaW11bChldCxXZSl8MCxHPUcrTWF0aC5pbXVsKGV0LEpl''@;'; put 'put ''KXwwO3ZhciBrbj0odWUrKEU9RStNYXRoLmltdWwoVmUsRHQpfDApfDApKygoODE5MSYoVz0oVz1XK01hdGguaW11bChWZSxCdCl8MCkrTWF0aC5pbXVsKEdlLER0KXwwKSk8PDEzKXwwO3VlPSgoRz1HK01hdGguaW11bChHZSxCdCl8MCkrKFc+Pj4xMyl8MCkrKGtuPj4+MjYpfDAsa24mPTY3''@;'; put 'put ''MTA4ODYzLEU9TWF0aC5pbXVsKGJ0LFdlKSxXPShXPU1hdGguaW11bChidCxKZSkpK01hdGguaW11bChwdCxXZSl8MCxHPU1hdGguaW11bChwdCxKZSk7dmFyIE1vPSh1ZSsoRT1FK01hdGguaW11bChLZSxEdCl8MCl8MCkrKCg4MTkxJihXPShXPVcrTWF0aC5pbXVsKEtlLEJ0KXwwKStNYXRo''@;'; put 'put ''LmltdWwoZXQsRHQpfDApKTw8MTMpfDA7dWU9KChHPUcrTWF0aC5pbXVsKGV0LEJ0KXwwKSsoVz4+PjEzKXwwKSsoTW8+Pj4yNil8MCxNbyY9NjcxMDg4NjM7dmFyIENvPSh1ZSsoRT1NYXRoLmltdWwoYnQsRHQpKXwwKSsoKDgxOTEmKFc9KFc9TWF0aC5pbXVsKGJ0LEJ0KSkrTWF0aC5pbXVs''@;'; put 'put ''KHB0LER0KXwwKSk8PDEzKXwwO3JldHVybiB1ZT0oKEc9TWF0aC5pbXVsKHB0LEJ0KSkrKFc+Pj4xMyl8MCkrKENvPj4+MjYpfDAsQ28mPTY3MTA4ODYzLGFlWzBdPWVuLGFlWzFdPVl0LGFlWzJdPXJuLGFlWzNdPWFuLGFlWzRdPWxuLGFlWzVdPU1uLGFlWzZdPW5uLGFlWzddPVFuLGFlWzhd''@;'; put 'put ''PVpuLGFlWzldPWxyLGFlWzEwXT13bixhZVsxMV09dnIsYWVbMTJdPXZuLGFlWzEzXT1jcixhZVsxNF09b3IsYWVbMTVdPUNuLGFlWzE2XT1rbixhZVsxN109TW8sYWVbMThdPUNvLDAhPT11ZSYmKGFlWzE5XT11ZSxfLmxlbmd0aCsrKSxffTtmdW5jdGlvbiBVKHAsZyxfKXtfLm5lZ2F0aXZl''@;'; put 'put ''PWcubmVnYXRpdmVecC5uZWdhdGl2ZSxfLmxlbmd0aD1wLmxlbmd0aCtnLmxlbmd0aDtmb3IodmFyIEU9MCxXPTAsRz0wO0c8Xy5sZW5ndGgtMTtHKyspe3ZhciBYPVc7Vz0wO2Zvcih2YXIgbmU9NjcxMDg4NjMmRSxhZT1NYXRoLm1pbihHLGcubGVuZ3RoLTEpLHVlPU1hdGgubWF4KDAsRy1w''@;'; put 'put ''Lmxlbmd0aCsxKTt1ZTw9YWU7dWUrKyl7dmFyIF9lPSgwfHAud29yZHNbRy11ZV0pKigwfGcud29yZHNbdWVdKSxsZT02NzEwODg2MyZfZTtuZT02NzEwODg2MyYobGU9bGUrbmV8MCksVys9KFg9KFg9WCsoX2UvNjcxMDg4NjR8MCl8MCkrKGxlPj4+MjYpfDApPj4+MjYsWCY9NjcxMDg4NjN9''@;'; put 'put ''Xy53b3Jkc1tHXT1uZSxFPVgsWD1XfXJldHVybiAwIT09RT9fLndvcmRzW0ddPUU6Xy5sZW5ndGgtLSxfLl9zdHJpcCgpfWZ1bmN0aW9uIFYocCxnLF8pe3JldHVybiBVKHAsZyxfKX1mdW5jdGlvbiBSKHAsZyl7dGhpcy54PXAsdGhpcy55PWd9TWF0aC5pbXVsfHwoST1ZKSxtLnByb3RvdHlw''@;'; put 'put ''ZS5tdWxUbz1mdW5jdGlvbihwLGcpe3ZhciBfPXRoaXMubGVuZ3RoK3AubGVuZ3RoO3JldHVybiAxMD09PXRoaXMubGVuZ3RoJiYxMD09PXAubGVuZ3RoP0kodGhpcyxwLGcpOl88NjM/WSh0aGlzLHAsZyk6XzwxMDI0P1UodGhpcyxwLGcpOlYodGhpcyxwLGcpfSxSLnByb3RvdHlwZS5tYWtl''@;'; put 'put ''UkJUPWZ1bmN0aW9uKHApe2Zvcih2YXIgZz1uZXcgQXJyYXkocCksXz1tLnByb3RvdHlwZS5fY291bnRCaXRzKHApLTEsRT0wO0U8cDtFKyspZ1tFXT10aGlzLnJldkJpbihFLF8scCk7cmV0dXJuIGd9LFIucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbihwLGcsXyl7aWYoMD09PXB8fHA9PT1f''@;'; put 'put ''LTEpcmV0dXJuIHA7Zm9yKHZhciBFPTAsVz0wO1c8ZztXKyspRXw9KDEmcCk8PGctVy0xLHA+Pj0xO3JldHVybiBFfSxSLnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKHAsZyxfLEUsVyxHKXtmb3IodmFyIFg9MDtYPEc7WCsrKUVbWF09Z1twW1hdXSxXW1hdPV9bcFtYXV19LFIucHJvdG90''@;'; put 'put ''eXBlLnRyYW5zZm9ybT1mdW5jdGlvbihwLGcsXyxFLFcsRyl7dGhpcy5wZXJtdXRlKEcscCxnLF8sRSxXKTtmb3IodmFyIFg9MTtYPFc7WDw8PTEpZm9yKHZhciBuZT1YPDwxLGFlPU1hdGguY29zKDIqTWF0aC5QSS9uZSksdWU9TWF0aC5zaW4oMipNYXRoLlBJL25lKSxiZT0wO2JlPFc7YmUr''@;'; put 'put ''PW5lKWZvcih2YXIgX2U9YWUsbGU9dWUsY2U9MDtjZTxYO2NlKyspe3ZhciBwZT1fW2JlK2NlXSx3ZT1FW2JlK2NlXSxVZT1fW2JlK2NlK1hdLHhlPUVbYmUrY2UrWF0sRWU9X2UqVWUtbGUqeGU7eGU9X2UqeGUrbGUqVWUsX1tiZStjZV09cGUrKFVlPUVlKSxFW2JlK2NlXT13ZSt4ZSxfW2Jl''@;'; put 'put ''K2NlK1hdPXBlLVVlLEVbYmUrY2UrWF09d2UteGUsY2UhPT1uZSYmKEVlPWFlKl9lLXVlKmxlLGxlPWFlKmxlK3VlKl9lLF9lPUVlKX19LFIucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKHAsZyl7dmFyIF89MXxNYXRoLm1heChnLHApLEU9MSZfLFc9MDtmb3IoXz1fLzJ8MDtfO18+''@;'; put 'put ''Pj49MSlXKys7cmV0dXJuIDE8PFcrMStFfSxSLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24ocCxnLF8pe2lmKCEoXzw9MSkpZm9yKHZhciBFPTA7RTxfLzI7RSsrKXt2YXIgVz1wW0VdO3BbRV09cFtfLUUtMV0scFtfLUUtMV09VyxXPWdbRV0sZ1tFXT0tZ1tfLUUtMV0sZ1tfLUUtMV09''@;'; put 'put ''LVd9fSxSLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24ocCxnKXtmb3IodmFyIF89MCxFPTA7RTxnLzI7RSsrKXt2YXIgVz04MTkyKk1hdGgucm91bmQocFsyKkUrMV0vZykrTWF0aC5yb3VuZChwWzIqRV0vZykrXztwW0VdPTY3MTA4ODYzJlcsXz1XPDY3MTA4ODY0PzA6Vy82NzEw''@;'; put 'put ''ODg2NHwwfXJldHVybiBwfSxSLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKHAsZyxfLEUpe2Zvcih2YXIgVz0wLEc9MDtHPGc7RysrKV9bMipHXT04MTkxJihXKz0wfHBbR10pLF9bMipHKzFdPTgxOTEmKFc+Pj49MTMpLFc+Pj49MTM7Zm9yKEc9MipnO0c8RTsrK0cpX1tHXT0wO0Mo''@;'; put 'put ''MD09PVcpLEMoMD09KC04MTkyJlcpKX0sUi5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbihwKXtmb3IodmFyIGc9bmV3IEFycmF5KHApLF89MDtfPHA7XysrKWdbX109MDtyZXR1cm4gZ30sUi5wcm90b3R5cGUubXVscD1mdW5jdGlvbihwLGcsXyl7dmFyIEU9Mip0aGlzLmd1ZXNzTGVuMTNiKHAu''@;'; put 'put ''bGVuZ3RoLGcubGVuZ3RoKSxXPXRoaXMubWFrZVJCVChFKSxHPXRoaXMuc3R1YihFKSxYPW5ldyBBcnJheShFKSxuZT1uZXcgQXJyYXkoRSksYWU9bmV3IEFycmF5KEUpLHVlPW5ldyBBcnJheShFKSxiZT1uZXcgQXJyYXkoRSksX2U9bmV3IEFycmF5KEUpLGxlPV8ud29yZHM7bGUubGVuZ3Ro''@;'; put 'put ''PUUsdGhpcy5jb252ZXJ0MTNiKHAud29yZHMscC5sZW5ndGgsWCxFKSx0aGlzLmNvbnZlcnQxM2IoZy53b3JkcyxnLmxlbmd0aCx1ZSxFKSx0aGlzLnRyYW5zZm9ybShYLEcsbmUsYWUsRSxXKSx0aGlzLnRyYW5zZm9ybSh1ZSxHLGJlLF9lLEUsVyk7Zm9yKHZhciBjZT0wO2NlPEU7Y2UrKyl7''@;'; put 'put ''dmFyIHBlPW5lW2NlXSpiZVtjZV0tYWVbY2VdKl9lW2NlXTthZVtjZV09bmVbY2VdKl9lW2NlXSthZVtjZV0qYmVbY2VdLG5lW2NlXT1wZX1yZXR1cm4gdGhpcy5jb25qdWdhdGUobmUsYWUsRSksdGhpcy50cmFuc2Zvcm0obmUsYWUsbGUsRyxFLFcpLHRoaXMuY29uanVnYXRlKGxlLEcsRSks''@;'; put 'put ''dGhpcy5ub3JtYWxpemUxM2IobGUsRSksXy5uZWdhdGl2ZT1wLm5lZ2F0aXZlXmcubmVnYXRpdmUsXy5sZW5ndGg9cC5sZW5ndGgrZy5sZW5ndGgsXy5fc3RyaXAoKX0sbS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHApe3ZhciBnPW5ldyBtKG51bGwpO3JldHVybiBnLndvcmRzPW5ldyBBcnJh''@;'; put 'put ''eSh0aGlzLmxlbmd0aCtwLmxlbmd0aCksdGhpcy5tdWxUbyhwLGcpfSxtLnByb3RvdHlwZS5tdWxmPWZ1bmN0aW9uKHApe3ZhciBnPW5ldyBtKG51bGwpO3JldHVybiBnLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtwLmxlbmd0aCksVih0aGlzLHAsZyl9LG0ucHJvdG90eXBlLmltdWw9''@;'; put 'put ''ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhwLHRoaXMpfSxtLnByb3RvdHlwZS5pbXVsbj1mdW5jdGlvbihwKXt2YXIgZz1wPDA7ZyYmKHA9LXApLEMoIm51bWJlciI9PXR5cGVvZiBwKSxDKHA8NjcxMDg4NjQpO2Zvcih2YXIgXz0wLEU9MDtFPHRoaXMubGVuZ3RoO0Ur''@;'; put 'put ''Kyl7dmFyIFc9KDB8dGhpcy53b3Jkc1tFXSkqcCxHPSg2NzEwODg2MyZXKSsoNjcxMDg4NjMmXyk7Xz4+PTI2LF8rPVcvNjcxMDg4NjR8MCxfKz1HPj4+MjYsdGhpcy53b3Jkc1tFXT02NzEwODg2MyZHfXJldHVybiAwIT09XyYmKHRoaXMud29yZHNbRV09Xyx0aGlzLmxlbmd0aCsrKSxnP3Ro''@;'; put 'put ''aXMuaW5lZygpOnRoaXN9LG0ucHJvdG90eXBlLm11bG49ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihwKX0sbS5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsKHRoaXMpfSxtLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu''@;'; put 'put ''aW11bCh0aGlzLmNsb25lKCkpfSxtLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24ocCl7dmFyIGc9ZnVuY3Rpb24oRyl7Zm9yKHZhciBYPW5ldyBBcnJheShHLmJpdExlbmd0aCgpKSxuZT0wO25lPFgubGVuZ3RoO25lKyspWFtuZV09Ry53b3Jkc1tuZS8yNnwwXT4+Pm5lJTI2JjE7cmV0dXJuIFh9''@;'; put 'put ''KHApO2lmKDA9PT1nLmxlbmd0aClyZXR1cm4gbmV3IG0oMSk7Zm9yKHZhciBfPXRoaXMsRT0wO0U8Zy5sZW5ndGgmJjA9PT1nW0VdO0UrKyxfPV8uc3FyKCkpO2lmKCsrRTxnLmxlbmd0aClmb3IodmFyIFc9Xy5zcXIoKTtFPGcubGVuZ3RoO0UrKyxXPVcuc3FyKCkpMCE9PWdbRV0mJihfPV8u''@;'; put 'put ''bXVsKFcpKTtyZXR1cm4gX30sbS5wcm90b3R5cGUuaXVzaGxuPWZ1bmN0aW9uKHApe0MoIm51bWJlciI9PXR5cGVvZiBwJiZwPj0wKTt2YXIgZyxfPXAlMjYsRT0ocC1fKS8yNixXPTY3MTA4ODYzPj4+MjYtXzw8MjYtXztpZigwIT09Xyl7dmFyIEc9MDtmb3IoZz0wO2c8dGhpcy5sZW5ndGg7''@;'; put 'put ''ZysrKXt2YXIgWD10aGlzLndvcmRzW2ddJlc7dGhpcy53b3Jkc1tnXT0oMHx0aGlzLndvcmRzW2ddKS1YPDxffEcsRz1YPj4+MjYtX31HJiYodGhpcy53b3Jkc1tnXT1HLHRoaXMubGVuZ3RoKyspfWlmKDAhPT1FKXtmb3IoZz10aGlzLmxlbmd0aC0xO2c+PTA7Zy0tKXRoaXMud29yZHNbZytF''@;'; put 'put ''XT10aGlzLndvcmRzW2ddO2ZvcihnPTA7ZzxFO2crKyl0aGlzLndvcmRzW2ddPTA7dGhpcy5sZW5ndGgrPUV9cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG0ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uKHApe3JldHVybiBDKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hsbihwKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKHAsZyxfKXt2YXIgRTtDKCJudW1iZXIiPT10eXBlb2YgcCYmcD49MCksRT1nPyhnLWclMjYpLzI2OjA7dmFyIFc9cCUyNixHPU1hdGgubWluKChwLVcpLzI2LHRoaXMubGVuZ3RoKSxYPTY3MTA4ODYzXjY3MTA4ODYzPj4+Vzw8VyxuZT1fO2lmKEUtPUcs''@;'; put 'put ''RT1NYXRoLm1heCgwLEUpLG5lKXtmb3IodmFyIGFlPTA7YWU8RzthZSsrKW5lLndvcmRzW2FlXT10aGlzLndvcmRzW2FlXTtuZS5sZW5ndGg9R31pZigwIT09RylpZih0aGlzLmxlbmd0aD5HKWZvcih0aGlzLmxlbmd0aC09RyxhZT0wO2FlPHRoaXMubGVuZ3RoO2FlKyspdGhpcy53b3Jkc1th''@;'; put 'put ''ZV09dGhpcy53b3Jkc1thZStHXTtlbHNlIHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xO3ZhciB1ZT0wO2ZvcihhZT10aGlzLmxlbmd0aC0xO2FlPj0wJiYoMCE9PXVlfHxhZT49RSk7YWUtLSl7dmFyIGJlPTB8dGhpcy53b3Jkc1thZV07dGhpcy53b3Jkc1thZV09dWU8PDI2LVd8YmU+''@;'; put 'put ''Pj5XLHVlPWJlJlh9cmV0dXJuIG5lJiYwIT09dWUmJihuZS53b3Jkc1tuZS5sZW5ndGgrK109dWUpLDA9PT10aGlzLmxlbmd0aCYmKHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xKSx0aGlzLl9zdHJpcCgpfSxtLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbihwLGcsXyl7cmV0dXJuIEMo''@;'; put 'put ''MD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaHJuKHAsZyxfKX0sbS5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKHApfSxtLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihwKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuc2hybj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKHApfSxtLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihwKX0sbS5wcm90b3R5cGUudGVzdG49ZnVuY3Rpb24ocCl7QygibnVtYmVyIj09dHlwZW9mIHAm''@;'; put 'put ''JnA+PTApO3ZhciBnPXAlMjYsXz0ocC1nKS8yNjtyZXR1cm4hKHRoaXMubGVuZ3RoPD1ffHwhKHRoaXMud29yZHNbX10mMTw8ZykpfSxtLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24ocCl7QygibnVtYmVyIj09dHlwZW9mIHAmJnA+PTApO3ZhciBnPXAlMjYsXz0ocC1nKS8yNjtyZXR1cm4g''@;'; put 'put ''QygwPT09dGhpcy5uZWdhdGl2ZSwiaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzIiksdGhpcy5sZW5ndGg8PV8/dGhpczooMCE9PWcmJl8rKyx0aGlzLmxlbmd0aD1NYXRoLm1pbihfLHRoaXMubGVuZ3RoKSwwIT09ZyYmKHRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0m''@;'; put 'put ''PTY3MTA4ODYzXjY3MTA4ODYzPj4+Zzw8ZyksdGhpcy5fc3RyaXAoKSl9LG0ucHJvdG90eXBlLm1hc2tuPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKHApfSxtLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbihwKXtyZXR1cm4gQygibnVtYmVyIj09dHlwZW9mIHApLEMo''@;'; put 'put ''cDw2NzEwODg2NCkscDwwP3RoaXMuaXN1Ym4oLXApOjAhPT10aGlzLm5lZ2F0aXZlPzE9PT10aGlzLmxlbmd0aCYmKDB8dGhpcy53b3Jkc1swXSk8PXA/KHRoaXMud29yZHNbMF09cC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlz''@;'; put 'put ''LmlzdWJuKHApLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbihwKX0sbS5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKHApe3RoaXMud29yZHNbMF0rPXA7Zm9yKHZhciBnPTA7Zzx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tnXT49NjcxMDg4NjQ7ZysrKXRoaXMud29yZHNbZ10t''@;'; put 'put ''PTY3MTA4ODY0LGc9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbZysxXT0xOnRoaXMud29yZHNbZysxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxnKzEpLHRoaXN9LG0ucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKHApe2lmKEMoIm51bWJlciI9PXR5cGVv''@;'; put 'put ''ZiBwKSxDKHA8NjcxMDg4NjQpLHA8MClyZXR1cm4gdGhpcy5pYWRkbigtcCk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKHApLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPXAsMT09PXRoaXMubGVuZ3RoJiZ0aGlz''@;'; put 'put ''LndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGc9MDtnPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2ddPDA7ZysrKXRoaXMud29yZHNbZ10rPTY3MTA4ODY0LHRoaXMud29yZHNbZysxXS09MTtyZXR1cm4gdGhpcy5f''@;'; put 'put ''c3RyaXAoKX0sbS5wcm90b3R5cGUuYWRkbj1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKHApfSxtLnByb3RvdHlwZS5zdWJuPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4ocCl9LG0ucHJvdG90eXBlLmlhYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5uZWdhdGl2ZT0wLHRoaXN9LG0ucHJvdG90eXBlLmFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaWFicygpfSxtLnByb3RvdHlwZS5faXNobG5zdWJtdWw9ZnVuY3Rpb24ocCxnLF8pe3ZhciBFLFc7dGhpcy5fZXhwYW5kKHAubGVuZ3RoK18pO3ZhciBYPTA7Zm9yKEU9MDtF''@;'; put 'put ''PHAubGVuZ3RoO0UrKyl7Vz0oMHx0aGlzLndvcmRzW0UrX10pK1g7dmFyIG5lPSgwfHAud29yZHNbRV0pKmc7WD0oKFctPTY3MTA4ODYzJm5lKT4+MjYpLShuZS82NzEwODg2NHwwKSx0aGlzLndvcmRzW0UrX109NjcxMDg4NjMmV31mb3IoO0U8dGhpcy5sZW5ndGgtXztFKyspWD0oVz0oMHx0''@;'; put 'put ''aGlzLndvcmRzW0UrX10pK1gpPj4yNix0aGlzLndvcmRzW0UrX109NjcxMDg4NjMmVztpZigwPT09WClyZXR1cm4gdGhpcy5fc3RyaXAoKTtmb3IoQygtMT09PVgpLFg9MCxFPTA7RTx0aGlzLmxlbmd0aDtFKyspWD0oVz0tKDB8dGhpcy53b3Jkc1tFXSkrWCk+PjI2LHRoaXMud29yZHNbRV09''@;'; put 'put ''NjcxMDg4NjMmVztyZXR1cm4gdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX3N0cmlwKCl9LG0ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKHAsZyl7dmFyIF8sRT10aGlzLmNsb25lKCksVz1wLEc9MHxXLndvcmRzW1cubGVuZ3RoLTFdOzAhPShfPTI2LXRoaXMuX2NvdW50Qml0cyhHKSkmJihX''@;'; put 'put ''PVcudXNobG4oXyksRS5pdXNobG4oXyksRz0wfFcud29yZHNbVy5sZW5ndGgtMV0pO3ZhciBYLG5lPUUubGVuZ3RoLVcubGVuZ3RoO2lmKCJtb2QiIT09Zyl7KFg9bmV3IG0obnVsbCkpLmxlbmd0aD1uZSsxLFgud29yZHM9bmV3IEFycmF5KFgubGVuZ3RoKTtmb3IodmFyIGFlPTA7YWU8WC5s''@;'; put 'put ''ZW5ndGg7YWUrKylYLndvcmRzW2FlXT0wfXZhciB1ZT1FLmNsb25lKCkuX2lzaGxuc3VibXVsKFcsMSxuZSk7MD09PXVlLm5lZ2F0aXZlJiYoRT11ZSxYJiYoWC53b3Jkc1tuZV09MSkpO2Zvcih2YXIgYmU9bmUtMTtiZT49MDtiZS0tKXt2YXIgX2U9NjcxMDg4NjQqKDB8RS53b3Jkc1tXLmxl''@;'; put 'put ''bmd0aCtiZV0pKygwfEUud29yZHNbVy5sZW5ndGgrYmUtMV0pO2ZvcihfZT1NYXRoLm1pbihfZS9HfDAsNjcxMDg4NjMpLEUuX2lzaGxuc3VibXVsKFcsX2UsYmUpOzAhPT1FLm5lZ2F0aXZlOylfZS0tLEUubmVnYXRpdmU9MCxFLl9pc2hsbnN1Ym11bChXLDEsYmUpLEUuaXNaZXJvKCl8fChF''@;'; put 'put ''Lm5lZ2F0aXZlXj0xKTtYJiYoWC53b3Jkc1tiZV09X2UpfXJldHVybiBYJiZYLl9zdHJpcCgpLEUuX3N0cmlwKCksImRpdiIhPT1nJiYwIT09XyYmRS5pdXNocm4oXykse2RpdjpYfHxudWxsLG1vZDpFfX0sbS5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKHAsZyxfKXtyZXR1cm4gQyghcC5p''@;'; put 'put ''c1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBtKDApLG1vZDpuZXcgbSgwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT1wLm5lZ2F0aXZlPyhHPXRoaXMubmVnKCkuZGl2bW9kKHAsZyksIm1vZCIhPT1nJiYoRT1HLmRpdi5uZWcoKSksImRpdiIhPT1nJiYoVz1HLm1vZC5uZWcoKSxf''@;'; put 'put ''JiYwIT09Vy5uZWdhdGl2ZSYmVy5pYWRkKHApKSx7ZGl2OkUsbW9kOld9KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXAubmVnYXRpdmU/KEc9dGhpcy5kaXZtb2QocC5uZWcoKSxnKSwibW9kIiE9PWcmJihFPUcuZGl2Lm5lZygpKSx7ZGl2OkUsbW9kOkcubW9kfSk6MCE9KHRoaXMubmVnYXRp''@;'; put 'put ''dmUmcC5uZWdhdGl2ZSk/KEc9dGhpcy5uZWcoKS5kaXZtb2QocC5uZWcoKSxnKSwiZGl2IiE9PWcmJihXPUcubW9kLm5lZygpLF8mJjAhPT1XLm5lZ2F0aXZlJiZXLmlzdWIocCkpLHtkaXY6Ry5kaXYsbW9kOld9KTpwLmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAocCk8MD97ZGl2Om5l''@;'; put 'put ''dyBtKDApLG1vZDp0aGlzfToxPT09cC5sZW5ndGg/ImRpdiI9PT1nP3tkaXY6dGhpcy5kaXZuKHAud29yZHNbMF0pLG1vZDpudWxsfToibW9kIj09PWc/e2RpdjpudWxsLG1vZDpuZXcgbSh0aGlzLm1vZHJuKHAud29yZHNbMF0pKX06e2Rpdjp0aGlzLmRpdm4ocC53b3Jkc1swXSksbW9kOm5l''@;'; put 'put ''dyBtKHRoaXMubW9kcm4ocC53b3Jkc1swXSkpfTp0aGlzLl93b3JkRGl2KHAsZyk7dmFyIEUsVyxHfSxtLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuZGl2bW9kKHAsImRpdiIsITEpLmRpdn0sbS5wcm90b3R5cGUubW9kPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmRp''@;'; put 'put ''dm1vZChwLCJtb2QiLCExKS5tb2R9LG0ucHJvdG90eXBlLnVtb2Q9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuZGl2bW9kKHAsIm1vZCIsITApLm1vZH0sbS5wcm90b3R5cGUuZGl2Um91bmQ9ZnVuY3Rpb24ocCl7dmFyIGc9dGhpcy5kaXZtb2QocCk7aWYoZy5tb2QuaXNaZXJvKCkpcmV0dXJu''@;'; put 'put ''IGcuZGl2O3ZhciBfPTAhPT1nLmRpdi5uZWdhdGl2ZT9nLm1vZC5pc3ViKHApOmcubW9kLEU9cC51c2hybigxKSxXPXAuYW5kbG4oMSksRz1fLmNtcChFKTtyZXR1cm4gRzwwfHwxPT09VyYmMD09PUc/Zy5kaXY6MCE9PWcuZGl2Lm5lZ2F0aXZlP2cuZGl2LmlzdWJuKDEpOmcuZGl2LmlhZGRu''@;'; put 'put ''KDEpfSxtLnByb3RvdHlwZS5tb2Rybj1mdW5jdGlvbihwKXt2YXIgZz1wPDA7ZyYmKHA9LXApLEMocDw9NjcxMDg4NjMpO2Zvcih2YXIgXz02NzEwODg2NCVwLEU9MCxXPXRoaXMubGVuZ3RoLTE7Vz49MDtXLS0pRT0oXypFKygwfHRoaXMud29yZHNbV10pKSVwO3JldHVybiBnPy1FOkV9LG0u''@;'; put 'put ''cHJvdG90eXBlLm1vZG49ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMubW9kcm4ocCl9LG0ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKHApe3ZhciBnPXA8MDtnJiYocD0tcCksQyhwPD02NzEwODg2Myk7Zm9yKHZhciBfPTAsRT10aGlzLmxlbmd0aC0xO0U+PTA7RS0tKXt2YXIgVz0oMHx0aGlz''@;'; put 'put ''LndvcmRzW0VdKSs2NzEwODg2NCpfO3RoaXMud29yZHNbRV09Vy9wfDAsXz1XJXB9cmV0dXJuIHRoaXMuX3N0cmlwKCksZz90aGlzLmluZWcoKTp0aGlzfSxtLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4ocCl9LG0ucHJvdG90eXBlLmVnY2Q9''@;'; put 'put ''ZnVuY3Rpb24ocCl7QygwPT09cC5uZWdhdGl2ZSksQyghcC5pc1plcm8oKSk7dmFyIGc9dGhpcyxfPXAuY2xvbmUoKTtnPTAhPT1nLm5lZ2F0aXZlP2cudW1vZChwKTpnLmNsb25lKCk7Zm9yKHZhciBFPW5ldyBtKDEpLFc9bmV3IG0oMCksRz1uZXcgbSgwKSxYPW5ldyBtKDEpLG5lPTA7Zy5p''@;'; put 'put ''c0V2ZW4oKSYmXy5pc0V2ZW4oKTspZy5pdXNocm4oMSksXy5pdXNocm4oMSksKytuZTtmb3IodmFyIGFlPV8uY2xvbmUoKSx1ZT1nLmNsb25lKCk7IWcuaXNaZXJvKCk7KXtmb3IodmFyIGJlPTAsX2U9MTswPT0oZy53b3Jkc1swXSZfZSkmJmJlPDI2OysrYmUsX2U8PD0xKTtpZihiZT4wKWZv''@;'; put 'put ''cihnLml1c2hybihiZSk7YmUtLSA+MDspKEUuaXNPZGQoKXx8Vy5pc09kZCgpKSYmKEUuaWFkZChhZSksVy5pc3ViKHVlKSksRS5pdXNocm4oMSksVy5pdXNocm4oMSk7Zm9yKHZhciBsZT0wLGNlPTE7MD09KF8ud29yZHNbMF0mY2UpJiZsZTwyNjsrK2xlLGNlPDw9MSk7aWYobGU+MClmb3Io''@;'; put 'put ''Xy5pdXNocm4obGUpO2xlLS0gPjA7KShHLmlzT2RkKCl8fFguaXNPZGQoKSkmJihHLmlhZGQoYWUpLFguaXN1Yih1ZSkpLEcuaXVzaHJuKDEpLFguaXVzaHJuKDEpO2cuY21wKF8pPj0wPyhnLmlzdWIoXyksRS5pc3ViKEcpLFcuaXN1YihYKSk6KF8uaXN1YihnKSxHLmlzdWIoRSksWC5pc3Vi''@;'; put 'put ''KFcpKX1yZXR1cm57YTpHLGI6WCxnY2Q6Xy5pdXNobG4obmUpfX0sbS5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHApe0MoMD09PXAubmVnYXRpdmUpLEMoIXAuaXNaZXJvKCkpO3ZhciBnPXRoaXMsXz1wLmNsb25lKCk7Zz0wIT09Zy5uZWdhdGl2ZT9nLnVtb2QocCk6Zy5jbG9uZSgpO2Zv''@;'; put 'put ''cih2YXIgRSxXPW5ldyBtKDEpLEc9bmV3IG0oMCksWD1fLmNsb25lKCk7Zy5jbXBuKDEpPjAmJl8uY21wbigxKT4wOyl7Zm9yKHZhciBuZT0wLGFlPTE7MD09KGcud29yZHNbMF0mYWUpJiZuZTwyNjsrK25lLGFlPDw9MSk7aWYobmU+MClmb3IoZy5pdXNocm4obmUpO25lLS0gPjA7KVcuaXNP''@;'; put 'put ''ZGQoKSYmVy5pYWRkKFgpLFcuaXVzaHJuKDEpO2Zvcih2YXIgdWU9MCxiZT0xOzA9PShfLndvcmRzWzBdJmJlKSYmdWU8MjY7Kyt1ZSxiZTw8PTEpO2lmKHVlPjApZm9yKF8uaXVzaHJuKHVlKTt1ZS0tID4wOylHLmlzT2RkKCkmJkcuaWFkZChYKSxHLml1c2hybigxKTtnLmNtcChfKT49MD8o''@;'; put 'put ''Zy5pc3ViKF8pLFcuaXN1YihHKSk6KF8uaXN1YihnKSxHLmlzdWIoVykpfXJldHVybihFPTA9PT1nLmNtcG4oMSk/VzpHKS5jbXBuKDApPDAmJkUuaWFkZChwKSxFfSxtLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24ocCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gcC5hYnMoKTtpZihwLmlzWmVy''@;'; put 'put ''bygpKXJldHVybiB0aGlzLmFicygpO3ZhciBnPXRoaXMuY2xvbmUoKSxfPXAuY2xvbmUoKTtnLm5lZ2F0aXZlPTAsXy5uZWdhdGl2ZT0wO2Zvcih2YXIgRT0wO2cuaXNFdmVuKCkmJl8uaXNFdmVuKCk7RSsrKWcuaXVzaHJuKDEpLF8uaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtnLmlzRXZlbigp''@;'; put 'put ''OylnLml1c2hybigxKTtmb3IoO18uaXNFdmVuKCk7KV8uaXVzaHJuKDEpO3ZhciBXPWcuY21wKF8pO2lmKFc8MCl7dmFyIEc9ZztnPV8sXz1HfWVsc2UgaWYoMD09PVd8fDA9PT1fLmNtcG4oMSkpYnJlYWs7Zy5pc3ViKF8pfXJldHVybiBfLml1c2hsbihFKX0sbS5wcm90b3R5cGUuaW52bT1m''@;'; put 'put ''dW5jdGlvbihwKXtyZXR1cm4gdGhpcy5lZ2NkKHApLmEudW1vZChwKX0sbS5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxtLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuYW5kbG49ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMud29yZHNbMF0mcH0sbS5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24ocCl7QygibnVtYmVyIj09dHlwZW9mIHApO3ZhciBnPXAlMjYsXz0ocC1nKS8yNixFPTE8PGc7aWYodGhpcy5sZW5ndGg8PV8pcmV0dXJuIHRoaXMuX2V4cGFu''@;'; put 'put ''ZChfKzEpLHRoaXMud29yZHNbX118PUUsdGhpcztmb3IodmFyIFc9RSxHPV87MCE9PVcmJkc8dGhpcy5sZW5ndGg7RysrKXt2YXIgWD0wfHRoaXMud29yZHNbR107Vz0oWCs9Vyk+Pj4yNix0aGlzLndvcmRzW0ddPVgmPTY3MTA4ODYzfXJldHVybiAwIT09VyYmKHRoaXMud29yZHNbR109Vyx0''@;'; put 'put ''aGlzLmxlbmd0aCsrKSx0aGlzfSxtLnByb3RvdHlwZS5pc1plcm89ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXX0sbS5wcm90b3R5cGUuY21wbj1mdW5jdGlvbihwKXt2YXIgZyxfPXA8MDtpZigwIT09dGhpcy5uZWdhdGl2ZSYmIV8pcmV0dXJu''@;'; put 'put ''LTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJl8pcmV0dXJuIDE7aWYodGhpcy5fc3RyaXAoKSx0aGlzLmxlbmd0aD4xKWc9MTtlbHNle18mJihwPS1wKSxDKHA8PTY3MTA4ODYzLCJOdW1iZXIgaXMgdG9vIGJpZyIpO3ZhciBFPTB8dGhpcy53b3Jkc1swXTtnPUU9PT1wPzA6RTxwPy0xOjF9cmV0''@;'; put 'put ''dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWc6Z30sbS5wcm90b3R5cGUuY21wPWZ1bmN0aW9uKHApe2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09cC5uZWdhdGl2ZSlyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXAubmVnYXRpdmUpcmV0dXJuIDE7dmFyIGc9dGhpcy51Y21w''@;'; put 'put ''KHApO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1nOmd9LG0ucHJvdG90eXBlLnVjbXA9ZnVuY3Rpb24ocCl7aWYodGhpcy5sZW5ndGg+cC5sZW5ndGgpcmV0dXJuIDE7aWYodGhpcy5sZW5ndGg8cC5sZW5ndGgpcmV0dXJuLTE7Zm9yKHZhciBnPTAsXz10aGlzLmxlbmd0aC0xO18+PTA7''@;'; put 'put ''Xy0tKXt2YXIgRT0wfHRoaXMud29yZHNbX10sVz0wfHAud29yZHNbX107aWYoRSE9PVcpe0U8Vz9nPS0xOkU+VyYmKGc9MSk7YnJlYWt9fXJldHVybiBnfSxtLnByb3RvdHlwZS5ndG49ZnVuY3Rpb24ocCl7cmV0dXJuIDE9PT10aGlzLmNtcG4ocCl9LG0ucHJvdG90eXBlLmd0PWZ1bmN0aW9u''@;'; put 'put ''KHApe3JldHVybiAxPT09dGhpcy5jbXAocCl9LG0ucHJvdG90eXBlLmd0ZW49ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuY21wbihwKT49MH0sbS5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmNtcChwKT49MH0sbS5wcm90b3R5cGUubHRuPWZ1bmN0aW9uKHApe3JldHVy''@;'; put 'put ''bi0xPT09dGhpcy5jbXBuKHApfSxtLnByb3RvdHlwZS5sdD1mdW5jdGlvbihwKXtyZXR1cm4tMT09PXRoaXMuY21wKHApfSxtLnByb3RvdHlwZS5sdGVuPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmNtcG4ocCk8PTB9LG0ucHJvdG90eXBlLmx0ZT1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5j''@;'; put 'put ''bXAocCk8PTB9LG0ucHJvdG90eXBlLmVxbj1mdW5jdGlvbihwKXtyZXR1cm4gMD09PXRoaXMuY21wbihwKX0sbS5wcm90b3R5cGUuZXE9ZnVuY3Rpb24ocCl7cmV0dXJuIDA9PT10aGlzLmNtcChwKX0sbS5yZWQ9ZnVuY3Rpb24ocCl7cmV0dXJuIG5ldyBiKHApfSxtLnByb3RvdHlwZS50b1Jl''@;'; put 'put ''ZD1mdW5jdGlvbihwKXtyZXR1cm4gQyghdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSxDKDA9PT10aGlzLm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLHAuY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChwKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuZnJvbVJlZD1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5yZWQuY29udmVydEZyb20odGhpcyl9LG0ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbihwKXtyZXR1''@;'; put 'put ''cm4gdGhpcy5yZWQ9cCx0aGlzfSxtLnByb3RvdHlwZS5mb3JjZVJlZD1mdW5jdGlvbihwKXtyZXR1cm4gQyghdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLl9mb3JjZVJlZChwKX0sbS5wcm90b3R5cGUucmVkQWRkPWZ1bmN0aW9uKHApe3Jl''@;'; put 'put ''dHVybiBDKHRoaXMucmVkLCJyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuYWRkKHRoaXMscCl9LG0ucHJvdG90eXBlLnJlZElBZGQ9ZnVuY3Rpb24ocCl7cmV0dXJuIEModGhpcy5yZWQsInJlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiks''@;'; put 'put ''dGhpcy5yZWQuaWFkZCh0aGlzLHApfSxtLnByb3RvdHlwZS5yZWRTdWI9ZnVuY3Rpb24ocCl7cmV0dXJuIEModGhpcy5yZWQsInJlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zdWIodGhpcyxwKX0sbS5wcm90b3R5cGUucmVkSVN1Yj1mdW5jdGlvbihwKXty''@;'; put 'put ''ZXR1cm4gQyh0aGlzLnJlZCwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pc3ViKHRoaXMscCl9LG0ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbihwKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIp''@;'; put 'put ''LHRoaXMucmVkLnNobCh0aGlzLHApfSxtLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24ocCl7cmV0dXJuIEModGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLHApLHRoaXMucmVkLm11bCh0aGlzLHApfSxtLnByb3Rv''@;'; put 'put ''dHlwZS5yZWRJTXVsPWZ1bmN0aW9uKHApe3JldHVybiBDKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxwKSx0aGlzLnJlZC5pbXVsKHRoaXMscCl9LG0ucHJvdG90eXBlLnJlZFNxcj1mdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biBDKHRoaXMucmVkLCJyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FyKHRoaXMpfSxtLnByb3RvdHlwZS5yZWRJU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZElTcXIgd29ya3Mgb25seSB3''@;'; put 'put ''aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaXNxcih0aGlzKX0sbS5wcm90b3R5cGUucmVkU3FydD1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJp''@;'; put 'put ''ZnkxKHRoaXMpLHRoaXMucmVkLnNxcnQodGhpcyl9LG0ucHJvdG90eXBlLnJlZEludm09ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pbnZtKHRoaXMpfSxt''@;'; put 'put ''LnByb3RvdHlwZS5yZWROZWc9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLm5lZyh0aGlzKX0sbS5wcm90b3R5cGUucmVkUG93PWZ1bmN0aW9uKHApe3JldHVy''@;'; put 'put ''biBDKHRoaXMucmVkJiYhcC5yZWQsInJlZFBvdyhub3JtYWxOdW0pIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQucG93KHRoaXMscCl9O3ZhciBCPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24gcShwLGcpe3RoaXMubmFtZT1w''@;'; put 'put ''LHRoaXMucD1uZXcgbShnLDE2KSx0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpLHRoaXMuaz1uZXcgbSgxKS5pdXNobG4odGhpcy5uKS5pc3ViKHRoaXMucCksdGhpcy50bXA9dGhpcy5fdG1wKCl9ZnVuY3Rpb24gSigpe3EuY2FsbCh0aGlzLCJrMjU2IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZm''@;'; put 'put ''ZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiKX1mdW5jdGlvbiAkKCl7cS5jYWxsKHRoaXMsInAyMjQiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIpfWZ1bmN0aW9uIHRlKCl7''@;'; put 'put ''cS5jYWxsKHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIGgoKXtxLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZm''@;'; put 'put ''ZmZmZmZmZmZmZmVkIil9ZnVuY3Rpb24gYihwKXtpZigic3RyaW5nIj09dHlwZW9mIHApe3ZhciBnPW0uX3ByaW1lKHApO3RoaXMubT1nLnAsdGhpcy5wcmltZT1nfWVsc2UgQyhwLmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPXAsdGhpcy5wcmltZT1u''@;'; put 'put ''dWxsfWZ1bmN0aW9uIHkocCl7Yi5jYWxsKHRoaXMscCksdGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgbSgxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2Qo''@;'; put 'put ''dGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1x''@;'; put 'put ''LnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIHA9bmV3IG0obnVsbCk7cmV0dXJuIHAud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKSxwfSxxLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKHApe3ZhciBnLF89cDtkb3t0aGlzLnNwbGl0KF8sdGhpcy50bXApLGc9''@;'; put 'put ''KF89KF89dGhpcy5pbXVsSyhfKSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxlKGc+dGhpcy5uKTt2YXIgRT1nPHRoaXMubj8tMTpfLnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PUU/KF8ud29yZHNbMF09MCxfLmxlbmd0aD0xKTpFPjA/Xy5pc3ViKHRoaXMucCk6dm9pZCAwIT09''@;'; put 'put ''Xy5zdHJpcD9fLnN0cmlwKCk6Xy5fc3RyaXAoKSxffSxxLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihwLGcpe3AuaXVzaHJuKHRoaXMubiwwLGcpfSxxLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbihwKXtyZXR1cm4gcC5pbXVsKHRoaXMuayl9LFMoSixxKSxKLnByb3RvdHlwZS5zcGxpdD1m''@;'; put 'put ''dW5jdGlvbihwLGcpe2Zvcih2YXIgXz00MTk0MzAzLEU9TWF0aC5taW4ocC5sZW5ndGgsOSksVz0wO1c8RTtXKyspZy53b3Jkc1tXXT1wLndvcmRzW1ddO2lmKGcubGVuZ3RoPUUscC5sZW5ndGg8PTkpcmV0dXJuIHAud29yZHNbMF09MCx2b2lkKHAubGVuZ3RoPTEpO3ZhciBHPXAud29yZHNb''@;'; put 'put ''OV07Zm9yKGcud29yZHNbZy5sZW5ndGgrK109RyZfLFc9MTA7VzxwLmxlbmd0aDtXKyspe3ZhciBYPTB8cC53b3Jkc1tXXTtwLndvcmRzW1ctMTBdPShYJl8pPDw0fEc+Pj4yMixHPVh9cC53b3Jkc1tXLTEwXT1HPj4+PTIyLHAubGVuZ3RoLT0wPT09RyYmcC5sZW5ndGg+MTA/MTA6OX0sSi5w''@;'; put 'put ''cm90b3R5cGUuaW11bEs9ZnVuY3Rpb24ocCl7cC53b3Jkc1twLmxlbmd0aF09MCxwLndvcmRzW3AubGVuZ3RoKzFdPTAscC5sZW5ndGgrPTI7Zm9yKHZhciBnPTAsXz0wO188cC5sZW5ndGg7XysrKXt2YXIgRT0wfHAud29yZHNbX107cC53b3Jkc1tfXT02NzEwODg2MyYoZys9OTc3KkUpLGc9''@;'; put 'put ''NjQqRSsoZy82NzEwODg2NHwwKX1yZXR1cm4gMD09PXAud29yZHNbcC5sZW5ndGgtMV0mJihwLmxlbmd0aC0tLDA9PT1wLndvcmRzW3AubGVuZ3RoLTFdJiZwLmxlbmd0aC0tKSxwfSxTKCQscSksUyh0ZSxxKSxTKGgscSksaC5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24ocCl7Zm9yKHZhciBn''@;'; put 'put ''PTAsXz0wO188cC5sZW5ndGg7XysrKXt2YXIgRT0xOSooMHxwLndvcmRzW19dKStnLFc9NjcxMDg4NjMmRTtFPj4+PTI2LHAud29yZHNbX109VyxnPUV9cmV0dXJuIDAhPT1nJiYocC53b3Jkc1twLmxlbmd0aCsrXT1nKSxwfSxtLl9wcmltZT1mdW5jdGlvbihwKXtpZihCW3BdKXJldHVybiBC''@;'; put 'put ''W3BdO3ZhciBnO2lmKCJrMjU2Ij09PXApZz1uZXcgSjtlbHNlIGlmKCJwMjI0Ij09PXApZz1uZXcgJDtlbHNlIGlmKCJwMTkyIj09PXApZz1uZXcgdGU7ZWxzZXtpZigicDI1NTE5IiE9PXApdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHByaW1lICIrcCk7Zz1uZXcgaH1yZXR1cm4gQltwXT1n''@;'; put 'put ''LGd9LGIucHJvdG90eXBlLl92ZXJpZnkxPWZ1bmN0aW9uKHApe0MoMD09PXAubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksQyhwLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSxiLnByb3RvdHlwZS5fdmVyaWZ5Mj1mdW5jdGlvbihwLGcp''@;'; put 'put ''e0MoMD09KHAubmVnYXRpdmV8Zy5uZWdhdGl2ZSksInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksQyhwLnJlZCYmcC5yZWQ9PT1nLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSxiLnByb3RvdHlwZS5pbW9kPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLnBy''@;'; put 'put ''aW1lP3RoaXMucHJpbWUuaXJlZHVjZShwKS5fZm9yY2VSZWQodGhpcyk6KE0ocCxwLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcykpLHApfSxiLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24ocCl7cmV0dXJuIHAuaXNaZXJvKCk/cC5jbG9uZSgpOnRoaXMubS5zdWIocCkuX2ZvcmNlUmVkKHRo''@;'; put 'put ''aXMpfSxiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24ocCxnKXt0aGlzLl92ZXJpZnkyKHAsZyk7dmFyIF89cC5hZGQoZyk7cmV0dXJuIF8uY21wKHRoaXMubSk+PTAmJl8uaXN1Yih0aGlzLm0pLF8uX2ZvcmNlUmVkKHRoaXMpfSxiLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHAsZyl7dGhpcy5f''@;'; put 'put ''dmVyaWZ5MihwLGcpO3ZhciBfPXAuaWFkZChnKTtyZXR1cm4gXy5jbXAodGhpcy5tKT49MCYmXy5pc3ViKHRoaXMubSksX30sYi5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKHAsZyl7dGhpcy5fdmVyaWZ5MihwLGcpO3ZhciBfPXAuc3ViKGcpO3JldHVybiBfLmNtcG4oMCk8MCYmXy5pYWRkKHRo''@;'; put 'put ''aXMubSksXy5fZm9yY2VSZWQodGhpcyl9LGIucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24ocCxnKXt0aGlzLl92ZXJpZnkyKHAsZyk7dmFyIF89cC5pc3ViKGcpO3JldHVybiBfLmNtcG4oMCk8MCYmXy5pYWRkKHRoaXMubSksX30sYi5wcm90b3R5cGUuc2hsPWZ1bmN0aW9uKHAsZyl7cmV0dXJu''@;'; put 'put ''IHRoaXMuX3ZlcmlmeTEocCksdGhpcy5pbW9kKHAudXNobG4oZykpfSxiLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHAsZyl7cmV0dXJuIHRoaXMuX3ZlcmlmeTIocCxnKSx0aGlzLmltb2QocC5pbXVsKGcpKX0sYi5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHAsZyl7cmV0dXJuIHRoaXMuX3Zl''@;'; put 'put ''cmlmeTIocCxnKSx0aGlzLmltb2QocC5tdWwoZykpfSxiLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmltdWwocCxwLmNsb25lKCkpfSxiLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMubXVsKHAscCl9LGIucHJvdG90eXBlLnNxcnQ9ZnVuY3Rp''@;'; put 'put ''b24ocCl7aWYocC5pc1plcm8oKSlyZXR1cm4gcC5jbG9uZSgpO3ZhciBnPXRoaXMubS5hbmRsbigzKTtpZihDKGclMj09MSksMz09PWcpe3ZhciBfPXRoaXMubS5hZGQobmV3IG0oMSkpLml1c2hybigyKTtyZXR1cm4gdGhpcy5wb3cocCxfKX1mb3IodmFyIEU9dGhpcy5tLnN1Ym4oMSksVz0w''@;'; put 'put ''OyFFLmlzWmVybygpJiYwPT09RS5hbmRsbigxKTspVysrLEUuaXVzaHJuKDEpO0MoIUUuaXNaZXJvKCkpO3ZhciBHPW5ldyBtKDEpLnRvUmVkKHRoaXMpLFg9Ry5yZWROZWcoKSxuZT10aGlzLm0uc3VibigxKS5pdXNocm4oMSksYWU9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihhZT1uZXcgbSgy''@;'; put 'put ''KmFlKmFlKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coYWUsbmUpLmNtcChYKTspYWUucmVkSUFkZChYKTtmb3IodmFyIHVlPXRoaXMucG93KGFlLEUpLGJlPXRoaXMucG93KHAsRS5hZGRuKDEpLml1c2hybigxKSksX2U9dGhpcy5wb3cocCxFKSxsZT1XOzAhPT1fZS5jbXAoRyk7KXtmb3Io''@;'; put 'put ''dmFyIGNlPV9lLHBlPTA7MCE9PWNlLmNtcChHKTtwZSsrKWNlPWNlLnJlZFNxcigpO0MocGU8bGUpO3ZhciB3ZT10aGlzLnBvdyh1ZSxuZXcgbSgxKS5pdXNobG4obGUtcGUtMSkpO2JlPWJlLnJlZE11bCh3ZSksdWU9d2UucmVkU3FyKCksX2U9X2UucmVkTXVsKHVlKSxsZT1wZX1yZXR1cm4g''@;'; put 'put ''YmV9LGIucHJvdG90eXBlLmludm09ZnVuY3Rpb24ocCl7dmFyIGc9cC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWcubmVnYXRpdmU/KGcubmVnYXRpdmU9MCx0aGlzLmltb2QoZykucmVkTmVnKCkpOnRoaXMuaW1vZChnKX0sYi5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHAsZyl7aWYoZy5p''@;'; put 'put ''c1plcm8oKSlyZXR1cm4gbmV3IG0oMSkudG9SZWQodGhpcyk7aWYoMD09PWcuY21wbigxKSlyZXR1cm4gcC5jbG9uZSgpO3ZhciBfPW5ldyBBcnJheSgxNik7X1swXT1uZXcgbSgxKS50b1JlZCh0aGlzKSxfWzFdPXA7Zm9yKHZhciBFPTI7RTxfLmxlbmd0aDtFKyspX1tFXT10aGlzLm11bChf''@;'; put 'put ''W0UtMV0scCk7dmFyIFc9X1swXSxHPTAsWD0wLG5lPWcuYml0TGVuZ3RoKCklMjY7Zm9yKDA9PT1uZSYmKG5lPTI2KSxFPWcubGVuZ3RoLTE7RT49MDtFLS0pe2Zvcih2YXIgYWU9Zy53b3Jkc1tFXSx1ZT1uZS0xO3VlPj0wO3VlLS0pe3ZhciBiZT1hZT4+dWUmMTtXIT09X1swXSYmKFc9dGhp''@;'; put 'put ''cy5zcXIoVykpLDAhPT1iZXx8MCE9PUc/KEc8PD0xLEd8PWJlLCg0PT0rK1h8fDA9PT1FJiYwPT09dWUpJiYoVz10aGlzLm11bChXLF9bR10pLFg9MCxHPTApKTpYPTB9bmU9MjZ9cmV0dXJuIFd9LGIucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbihwKXt2YXIgZz1wLnVtb2QodGhpcy5t''@;'; put 'put ''KTtyZXR1cm4gZz09PXA/Zy5jbG9uZSgpOmd9LGIucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKHApe3ZhciBnPXAuY2xvbmUoKTtyZXR1cm4gZy5yZWQ9bnVsbCxnfSxtLm1vbnQ9ZnVuY3Rpb24ocCl7cmV0dXJuIG5ldyB5KHApfSxTKHksYikseS5wcm90b3R5cGUuY29udmVydFRv''@;'; put 'put ''PWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLmltb2QocC51c2hsbih0aGlzLnNoaWZ0KSl9LHkucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKHApe3ZhciBnPXRoaXMuaW1vZChwLm11bCh0aGlzLnJpbnYpKTtyZXR1cm4gZy5yZWQ9bnVsbCxnfSx5LnByb3RvdHlwZS5pbXVsPWZ1bmN0''@;'; put 'put ''aW9uKHAsZyl7aWYocC5pc1plcm8oKXx8Zy5pc1plcm8oKSlyZXR1cm4gcC53b3Jkc1swXT0wLHAubGVuZ3RoPTEscDt2YXIgXz1wLmltdWwoZyksRT1fLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxXPV8uaXN1YihFKS5p''@;'; put 'put ''dXNocm4odGhpcy5zaGlmdCksRz1XO3JldHVybiBXLmNtcCh0aGlzLm0pPj0wP0c9Vy5pc3ViKHRoaXMubSk6Vy5jbXBuKDApPDAmJihHPVcuaWFkZCh0aGlzLm0pKSxHLl9mb3JjZVJlZCh0aGlzKX0seS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHAsZyl7aWYocC5pc1plcm8oKXx8Zy5pc1pl''@;'; put 'put ''cm8oKSlyZXR1cm4gbmV3IG0oMCkuX2ZvcmNlUmVkKHRoaXMpO3ZhciBfPXAubXVsKGcpLEU9Xy5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksVz1fLmlzdWIoRSkuaXVzaHJuKHRoaXMuc2hpZnQpLEc9VztyZXR1cm4gVy5j''@;'; put 'put ''bXAodGhpcy5tKT49MD9HPVcuaXN1Yih0aGlzLm0pOlcuY21wbigwKTwwJiYoRz1XLmlhZGQodGhpcy5tKSksRy5fZm9yY2VSZWQodGhpcyl9LHkucHJvdG90eXBlLmludm09ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuaW1vZChwLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSkuX2ZvcmNl''@;'; put 'put ''UmVkKHRoaXMpfX0oWj1qLm5tZChaKSx0aGlzKX0sMzY0NDooWixBLGopPT57dmFyIE49aigxMDQ4KSx6PWooNTYyMyk7Wi5leHBvcnRzPWZ1bmN0aW9uKEkpe3JldHVybiBJPygie30iPT09SS5zdWJzdHIoMCwyKSYmKEk9Ilxce1xcfSIrSS5zdWJzdHIoMikpLFkoKFU9SSxVLnNwbGl0KCJc''@;'; put 'put ''XFxcIikuam9pbihDKS5zcGxpdCgiXFx7Iikuam9pbihTKS5zcGxpdCgiXFx9Iikuam9pbihtKS5zcGxpdCgiXFwsIikuam9pbihGKS5zcGxpdCgiXFwuIikuam9pbihEKSksITApLm1hcChQKSk6W107dmFyIFV9O3ZhciBDPSJcMFNMQVNIIitNYXRoLnJhbmRvbSgpKyJcMCIsUz0iXDBPUEVO''@;'; put 'put ''IitNYXRoLnJhbmRvbSgpKyJcMCIsbT0iXDBDTE9TRSIrTWF0aC5yYW5kb20oKSsiXDAiLEY9IlwwQ09NTUEiK01hdGgucmFuZG9tKCkrIlwwIixEPSJcMFBFUklPRCIrTWF0aC5yYW5kb20oKSsiXDAiO2Z1bmN0aW9uIHcoSSl7cmV0dXJuIHBhcnNlSW50KEksMTApPT1JP3BhcnNlSW50KEks''@;'; put 'put ''MTApOkkuY2hhckNvZGVBdCgwKX1mdW5jdGlvbiBQKEkpe3JldHVybiBJLnNwbGl0KEMpLmpvaW4oIlxcIikuc3BsaXQoUykuam9pbigieyIpLnNwbGl0KG0pLmpvaW4oIn0iKS5zcGxpdChGKS5qb2luKCIsIikuc3BsaXQoRCkuam9pbigiLiIpfWZ1bmN0aW9uIE0oSSl7aWYoIUkpcmV0dXJu''@;'; put 'put ''WyIiXTt2YXIgVT1bXSxWPXooInsiLCJ9IixJKTtpZighVilyZXR1cm4gSS5zcGxpdCgiLCIpO3ZhciBCPVYuYm9keSxxPVYucG9zdCxKPVYucHJlLnNwbGl0KCIsIik7SltKLmxlbmd0aC0xXSs9InsiK0IrIn0iO3ZhciAkPU0ocSk7cmV0dXJuIHEubGVuZ3RoJiYoSltKLmxlbmd0aC0xXSs9''@;'; put 'put ''JC5zaGlmdCgpLEoucHVzaC5hcHBseShKLCQpKSxVLnB1c2guYXBwbHkoVSxKKSxVfWZ1bmN0aW9uIGsoSSl7cmV0dXJuInsiK0krIn0ifWZ1bmN0aW9uIE8oSSl7cmV0dXJuL14tPzBcZC8udGVzdChJKX1mdW5jdGlvbiBMKEksVSl7cmV0dXJuIEk8PVV9ZnVuY3Rpb24gVChJLFUpe3JldHVy''@;'; put 'put ''biBJPj1VfWZ1bmN0aW9uIFkoSSxVKXt2YXIgVj1bXSxSPXooInsiLCJ9IixJKTtpZighUnx8L1wkJC8udGVzdChSLnByZSkpcmV0dXJuW0ldO3ZhciBCLHE9L14tP1xkK1wuXC4tP1xkKyg/OlwuXC4tP1xkKyk/JC8udGVzdChSLmJvZHkpLEo9L15bYS16QS1aXVwuXC5bYS16QS1aXSg/Olwu''@;'; put 'put ''XC4tP1xkKyk/JC8udGVzdChSLmJvZHkpLCQ9cXx8Six0ZT1SLmJvZHkuaW5kZXhPZigiLCIpPj0wO2lmKCEkJiYhdGUpcmV0dXJuIFIucG9zdC5tYXRjaCgvLC4qXH0vKT9ZKEk9Ui5wcmUrInsiK1IuYm9keSttK1IucG9zdCk6W0ldO2lmKCQpQj1SLmJvZHkuc3BsaXQoL1wuXC4vKTtlbHNl''@;'; put 'put ''IGlmKDE9PT0oQj1NKFIuYm9keSkpLmxlbmd0aCYmMT09PShCPVkoQlswXSwhMSkubWFwKGspKS5sZW5ndGgpcmV0dXJuKHk9Ui5wb3N0Lmxlbmd0aD9ZKFIucG9zdCwhMSk6WyIiXSkubWFwKGZ1bmN0aW9uKGNlKXtyZXR1cm4gUi5wcmUrQlswXStjZX0pO3ZhciBoLGI9Ui5wcmUseT1SLnBv''@;'; put 'put ''c3QubGVuZ3RoP1koUi5wb3N0LCExKTpbIiJdO2lmKCQpe3ZhciBwPXcoQlswXSksZz13KEJbMV0pLF89TWF0aC5tYXgoQlswXS5sZW5ndGgsQlsxXS5sZW5ndGgpLEU9Mz09Qi5sZW5ndGg/TWF0aC5hYnModyhCWzJdKSk6MSxXPUw7ZzxwJiYoRSo9LTEsVz1UKTt2YXIgRz1CLnNvbWUoTyk7''@;'; put 'put ''aD1bXTtmb3IodmFyIFg9cDtXKFgsZyk7WCs9RSl7dmFyIG5lO2lmKEopIlxcIj09PShuZT1TdHJpbmcuZnJvbUNoYXJDb2RlKFgpKSYmKG5lPSIiKTtlbHNlIGlmKG5lPVN0cmluZyhYKSxHKXt2YXIgYWU9Xy1uZS5sZW5ndGg7aWYoYWU+MCl7dmFyIHVlPW5ldyBBcnJheShhZSsxKS5qb2lu''@;'; put 'put ''KCIwIik7bmU9WDwwPyItIit1ZStuZS5zbGljZSgxKTp1ZStuZX19aC5wdXNoKG5lKX19ZWxzZSBoPU4oQixmdW5jdGlvbihjZSl7cmV0dXJuIFkoY2UsITEpfSk7Zm9yKHZhciBiZT0wO2JlPGgubGVuZ3RoO2JlKyspZm9yKHZhciBfZT0wO19lPHkubGVuZ3RoO19lKyspe3ZhciBsZT1iK2hb''@;'; put 'put ''YmVdK3lbX2VdOyghVXx8JHx8bGUpJiZWLnB1c2gobGUpfXJldHVybiBWfX0sOTkzMTooWixBLGopPT57dmFyIE47ZnVuY3Rpb24geihTKXt0aGlzLnJhbmQ9U31pZihaLmV4cG9ydHM9ZnVuY3Rpb24oUyl7cmV0dXJuIE58fChOPW5ldyB6KG51bGwpKSxOLmdlbmVyYXRlKFMpfSxaLmV4cG9y''@;'; put 'put ''dHMuUmFuZD16LHoucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uKFMpe3JldHVybiB0aGlzLl9yYW5kKFMpfSx6LnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbihTKXtpZih0aGlzLnJhbmQuZ2V0Qnl0ZXMpcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyhTKTtmb3IodmFyIG09bmV3IFVpbnQ4''@;'; put 'put ''QXJyYXkoUyksRj0wO0Y8bS5sZW5ndGg7RisrKW1bRl09dGhpcy5yYW5kLmdldEJ5dGUoKTtyZXR1cm4gbX0sIm9iamVjdCI9PXR5cGVvZiBzZWxmKXNlbGYuY3J5cHRvJiZzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXM/ei5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24oUyl7dmFyIG09bmV3''@;'; put 'put ''IFVpbnQ4QXJyYXkoUyk7cmV0dXJuIHNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhtKSxtfTpzZWxmLm1zQ3J5cHRvJiZzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcz96LnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbihTKXt2YXIgbT1uZXcgVWludDhBcnJheShTKTtyZXR1cm4gc2Vs''@;'; put 'put ''Zi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMobSksbX06Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJih6LnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIHlldCIpfSk7ZWxzZSB0cnl7dmFyIEM9aig5MjE0KTtpZigiZnVuY3Rpb24i''@;'; put 'put ''IT10eXBlb2YgQy5yYW5kb21CeXRlcyl0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQiKTt6LnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbihTKXtyZXR1cm4gQy5yYW5kb21CeXRlcyhTKX19Y2F0Y2goUyl7fX0sNDQ5NzooWixBLGopPT57dmFyIE49aig5NTA5KS5CdWZmZXI7ZnVuY3Rp''@;'; put 'put ''b24geih3KXtOLmlzQnVmZmVyKHcpfHwodz1OLmZyb20odykpO2Zvcih2YXIgUD13Lmxlbmd0aC80fDAsTT1uZXcgQXJyYXkoUCksaz0wO2s8UDtrKyspTVtrXT13LnJlYWRVSW50MzJCRSg0KmspO3JldHVybiBNfWZ1bmN0aW9uIEModyl7Zm9yKDswPHcubGVuZ3RoO3crKyl3WzBdPTB9ZnVu''@;'; put 'put ''Y3Rpb24gUyh3LFAsTSxrLE8pe2Zvcih2YXIgTCxULFksSSxVPU1bMF0sVj1NWzFdLFI9TVsyXSxCPU1bM10scT13WzBdXlBbMF0sSj13WzFdXlBbMV0sJD13WzJdXlBbMl0sdGU9d1szXV5QWzNdLGg9NCxiPTE7YjxPO2IrKylMPVVbcT4+PjI0XV5WW0o+Pj4xNiYyNTVdXlJbJD4+PjgmMjU1''@;'; put 'put ''XV5CWzI1NSZ0ZV1eUFtoKytdLFQ9VVtKPj4+MjRdXlZbJD4+PjE2JjI1NV1eUlt0ZT4+PjgmMjU1XV5CWzI1NSZxXV5QW2grK10sWT1VWyQ+Pj4yNF1eVlt0ZT4+PjE2JjI1NV1eUltxPj4+OCYyNTVdXkJbMjU1JkpdXlBbaCsrXSxJPVVbdGU+Pj4yNF1eVltxPj4+MTYmMjU1XV5SW0o+Pj44''@;'; put 'put ''JjI1NV1eQlsyNTUmJF1eUFtoKytdLHE9TCxKPVQsJD1ZLHRlPUk7cmV0dXJuIEw9KGtbcT4+PjI0XTw8MjR8a1tKPj4+MTYmMjU1XTw8MTZ8a1skPj4+OCYyNTVdPDw4fGtbMjU1JnRlXSleUFtoKytdLFQ9KGtbSj4+PjI0XTw8MjR8a1skPj4+MTYmMjU1XTw8MTZ8a1t0ZT4+PjgmMjU1XTw8''@;'; put 'put ''OHxrWzI1NSZxXSleUFtoKytdLFk9KGtbJD4+PjI0XTw8MjR8a1t0ZT4+PjE2JjI1NV08PDE2fGtbcT4+PjgmMjU1XTw8OHxrWzI1NSZKXSleUFtoKytdLEk9KGtbdGU+Pj4yNF08PDI0fGtbcT4+PjE2JjI1NV08PDE2fGtbSj4+PjgmMjU1XTw8OHxrWzI1NSYkXSleUFtoKytdLFtMPj4+PTAs''@;'; put 'put ''VD4+Pj0wLFk+Pj49MCxJPj4+PTBdfXZhciBtPVswLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0XSxGPWZ1bmN0aW9uKCl7Zm9yKHZhciB3PW5ldyBBcnJheSgyNTYpLFA9MDtQPDI1NjtQKyspd1tQXT1QPDEyOD9QPDwxOlA8PDFeMjgzO2Zvcih2YXIgTT1bXSxrPVtdLE89W1tdLFtdLFtd''@;'; put 'put ''LFtdXSxMPVtbXSxbXSxbXSxbXV0sVD0wLFk9MCxJPTA7STwyNTY7KytJKXt2YXIgVT1ZXlk8PDFeWTw8Ml5ZPDwzXlk8PDQ7TVtUXT1VPVU+Pj44XjI1NSZVXjk5LGtbVV09VDt2YXIgVj13W1RdLFI9d1tWXSxCPXdbUl0scT0yNTcqd1tVXV4xNjg0MzAwOCpVO09bMF1bVF09cTw8MjR8cT4+''@;'; put 'put ''PjgsT1sxXVtUXT1xPDwxNnxxPj4+MTYsT1syXVtUXT1xPDw4fHE+Pj4yNCxPWzNdW1RdPXEsTFswXVtVXT0ocT0xNjg0MzAwOSpCXjY1NTM3KlJeMjU3KlZeMTY4NDMwMDgqVCk8PDI0fHE+Pj44LExbMV1bVV09cTw8MTZ8cT4+PjE2LExbMl1bVV09cTw8OHxxPj4+MjQsTFszXVtVXT1xLDA9''@;'; put 'put ''PT1UP1Q9WT0xOihUPVZed1t3W3dbQl5WXV1dLFlePXdbd1tZXV0pfXJldHVybntTQk9YOk0sSU5WX1NCT1g6ayxTVUJfTUlYOk8sSU5WX1NVQl9NSVg6TH19KCk7ZnVuY3Rpb24gRCh3KXt0aGlzLl9rZXk9eih3KSx0aGlzLl9yZXNldCgpfUQuYmxvY2tTaXplPTE2LEQua2V5U2l6ZT0zMixE''@;'; put 'put ''LnByb3RvdHlwZS5ibG9ja1NpemU9RC5ibG9ja1NpemUsRC5wcm90b3R5cGUua2V5U2l6ZT1ELmtleVNpemUsRC5wcm90b3R5cGUuX3Jlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB3PXRoaXMuX2tleSxQPXcubGVuZ3RoLE09UCs2LGs9NCooTSsxKSxPPVtdLEw9MDtMPFA7TCsrKU9bTF09d1tM''@;'; put 'put ''XTtmb3IoTD1QO0w8aztMKyspe3ZhciBUPU9bTC0xXTtMJVA9PTA/KFQ9Ri5TQk9YWyhUPVQ8PDh8VD4+PjI0KT4+PjI0XTw8MjR8Ri5TQk9YW1Q+Pj4xNiYyNTVdPDwxNnxGLlNCT1hbVD4+PjgmMjU1XTw8OHxGLlNCT1hbMjU1JlRdLFRePW1bTC9QfDBdPDwyNCk6UD42JiZMJVA9PTQmJihU''@;'; put 'put ''PUYuU0JPWFtUPj4+MjRdPDwyNHxGLlNCT1hbVD4+PjE2JjI1NV08PDE2fEYuU0JPWFtUPj4+OCYyNTVdPDw4fEYuU0JPWFsyNTUmVF0pLE9bTF09T1tMLVBdXlR9Zm9yKHZhciBZPVtdLEk9MDtJPGs7SSsrKXt2YXIgVT1rLUksVj1PW1UtKEklND8wOjQpXTtZW0ldPUk8NHx8VTw9ND9WOkYu''@;'; put 'put ''SU5WX1NVQl9NSVhbMF1bRi5TQk9YW1Y+Pj4yNF1dXkYuSU5WX1NVQl9NSVhbMV1bRi5TQk9YW1Y+Pj4xNiYyNTVdXV5GLklOVl9TVUJfTUlYWzJdW0YuU0JPWFtWPj4+OCYyNTVdXV5GLklOVl9TVUJfTUlYWzNdW0YuU0JPWFsyNTUmVl1dfXRoaXMuX25Sb3VuZHM9TSx0aGlzLl9rZXlTY2hl''@;'; put 'put ''ZHVsZT1PLHRoaXMuX2ludktleVNjaGVkdWxlPVl9LEQucHJvdG90eXBlLmVuY3J5cHRCbG9ja1Jhdz1mdW5jdGlvbih3KXtyZXR1cm4gUyh3PXoodyksdGhpcy5fa2V5U2NoZWR1bGUsRi5TVUJfTUlYLEYuU0JPWCx0aGlzLl9uUm91bmRzKX0sRC5wcm90b3R5cGUuZW5jcnlwdEJsb2NrPWZ1''@;'; put 'put ''bmN0aW9uKHcpe3ZhciBQPXRoaXMuZW5jcnlwdEJsb2NrUmF3KHcpLE09Ti5hbGxvY1Vuc2FmZSgxNik7cmV0dXJuIE0ud3JpdGVVSW50MzJCRShQWzBdLDApLE0ud3JpdGVVSW50MzJCRShQWzFdLDQpLE0ud3JpdGVVSW50MzJCRShQWzJdLDgpLE0ud3JpdGVVSW50MzJCRShQWzNdLDEyKSxN''@;'; put 'put ''fSxELnByb3RvdHlwZS5kZWNyeXB0QmxvY2s9ZnVuY3Rpb24odyl7dmFyIFA9KHc9eih3KSlbMV07d1sxXT13WzNdLHdbM109UDt2YXIgTT1TKHcsdGhpcy5faW52S2V5U2NoZWR1bGUsRi5JTlZfU1VCX01JWCxGLklOVl9TQk9YLHRoaXMuX25Sb3VuZHMpLGs9Ti5hbGxvY1Vuc2FmZSgxNik7''@;'; put 'put ''cmV0dXJuIGsud3JpdGVVSW50MzJCRShNWzBdLDApLGsud3JpdGVVSW50MzJCRShNWzNdLDQpLGsud3JpdGVVSW50MzJCRShNWzJdLDgpLGsud3JpdGVVSW50MzJCRShNWzFdLDEyKSxrfSxELnByb3RvdHlwZS5zY3J1Yj1mdW5jdGlvbigpe0ModGhpcy5fa2V5U2NoZWR1bGUpLEModGhpcy5f''@;'; put 'put ''aW52S2V5U2NoZWR1bGUpLEModGhpcy5fa2V5KX0sWi5leHBvcnRzLkFFUz1EfSw0ODQ4OihaLEEsaik9Pnt2YXIgTj1qKDQ0OTcpLHo9aig5NTA5KS5CdWZmZXIsQz1qKDEwMjcpLFM9aig1NzE3KSxtPWooMzI4OCksRj1qKDcyOTUpLEQ9aig2ODUpO2Z1bmN0aW9uIHcoUCxNLGssTyl7Qy5j''@;'; put 'put ''YWxsKHRoaXMpO3ZhciBMPXouYWxsb2MoNCwwKTt0aGlzLl9jaXBoZXI9bmV3IE4uQUVTKE0pO3ZhciBUPXRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2soTCk7dGhpcy5fZ2hhc2g9bmV3IG0oVCksaz1mdW5jdGlvbihZLEksVSl7aWYoMTI9PT1JLmxlbmd0aClyZXR1cm4gWS5fZmluSUQ9ei5j''@;'; put 'put ''b25jYXQoW0ksei5mcm9tKFswLDAsMCwxXSldKSx6LmNvbmNhdChbSSx6LmZyb20oWzAsMCwwLDJdKV0pO3ZhciBWPW5ldyBtKFUpLFI9SS5sZW5ndGgsQj1SJTE2O1YudXBkYXRlKEkpLEImJlYudXBkYXRlKHouYWxsb2MoQj0xNi1CLDApKSxWLnVwZGF0ZSh6LmFsbG9jKDgsMCkpO3ZhciBx''@;'; put 'put ''PTgqUixKPXouYWxsb2MoOCk7Si53cml0ZVVJbnRCRShxLDAsOCksVi51cGRhdGUoSiksWS5fZmluSUQ9Vi5zdGF0ZTt2YXIgJD16LmZyb20oWS5fZmluSUQpO3JldHVybiBEKCQpLCR9KHRoaXMsayxUKSx0aGlzLl9wcmV2PXouZnJvbShrKSx0aGlzLl9jYWNoZT16LmFsbG9jVW5zYWZlKDAp''@;'; put 'put ''LHRoaXMuX3NlY0NhY2hlPXouYWxsb2NVbnNhZmUoMCksdGhpcy5fZGVjcnlwdD1PLHRoaXMuX2FsZW49MCx0aGlzLl9sZW49MCx0aGlzLl9tb2RlPVAsdGhpcy5fYXV0aFRhZz1udWxsLHRoaXMuX2NhbGxlZD0hMX1TKHcsQyksdy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihQKXtpZigh''@;'; put 'put ''dGhpcy5fY2FsbGVkJiZ0aGlzLl9hbGVuKXt2YXIgTT0xNi10aGlzLl9hbGVuJTE2O008MTYmJihNPXouYWxsb2MoTSwwKSx0aGlzLl9naGFzaC51cGRhdGUoTSkpfXRoaXMuX2NhbGxlZD0hMDt2YXIgaz10aGlzLl9tb2RlLmVuY3J5cHQodGhpcyxQKTtyZXR1cm4gdGhpcy5fZ2hhc2gudXBk''@;'; put 'put ''YXRlKHRoaXMuX2RlY3J5cHQ/UDprKSx0aGlzLl9sZW4rPVAubGVuZ3RoLGt9LHcucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe2lmKHRoaXMuX2RlY3J5cHQmJiF0aGlzLl9hdXRoVGFnKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgc3RhdGUgb3IgdW5hYmxlIHRvIGF1dGhlbnRp''@;'; put 'put ''Y2F0ZSBkYXRhIik7dmFyIFA9Rih0aGlzLl9naGFzaC5maW5hbCg4KnRoaXMuX2FsZW4sOCp0aGlzLl9sZW4pLHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2sodGhpcy5fZmluSUQpKTtpZih0aGlzLl9kZWNyeXB0JiZmdW5jdGlvbihNLGspe3ZhciBPPTA7TS5sZW5ndGghPT1rLmxlbmd0aCYm''@;'; put 'put ''TysrO2Zvcih2YXIgTD1NYXRoLm1pbihNLmxlbmd0aCxrLmxlbmd0aCksVD0wO1Q8TDsrK1QpTys9TVtUXV5rW1RdO3JldHVybiBPfShQLHRoaXMuX2F1dGhUYWcpKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgc3RhdGUgb3IgdW5hYmxlIHRvIGF1dGhlbnRpY2F0ZSBkYXRhIik7dGhp''@;'; put 'put ''cy5fYXV0aFRhZz1QLHRoaXMuX2NpcGhlci5zY3J1YigpfSx3LnByb3RvdHlwZS5nZXRBdXRoVGFnPWZ1bmN0aW9uKCl7aWYodGhpcy5fZGVjcnlwdHx8IXouaXNCdWZmZXIodGhpcy5fYXV0aFRhZykpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0aW5nIHRvIGdldCBhdXRoIHRhZyBpbiB1bnN1''@;'; put 'put ''cHBvcnRlZCBzdGF0ZSIpO3JldHVybiB0aGlzLl9hdXRoVGFnfSx3LnByb3RvdHlwZS5zZXRBdXRoVGFnPWZ1bmN0aW9uKFApe2lmKCF0aGlzLl9kZWNyeXB0KXRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGluZyB0byBzZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKTt0aGlzLl9h''@;'; put 'put ''dXRoVGFnPVB9LHcucHJvdG90eXBlLnNldEFBRD1mdW5jdGlvbihQKXtpZih0aGlzLl9jYWxsZWQpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0aW5nIHRvIHNldCBBQUQgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKTt0aGlzLl9naGFzaC51cGRhdGUoUCksdGhpcy5fYWxlbis9UC5sZW5ndGh9LFou''@;'; put 'put ''ZXhwb3J0cz13fSw0Njk2OihaLEEsaik9Pnt2YXIgTj1qKDE0OTQpLHo9aig2MTkzKSxDPWooNDk0Nik7QS5jcmVhdGVDaXBoZXI9QS5DaXBoZXI9Ti5jcmVhdGVDaXBoZXIsQS5jcmVhdGVDaXBoZXJpdj1BLkNpcGhlcml2PU4uY3JlYXRlQ2lwaGVyaXYsQS5jcmVhdGVEZWNpcGhlcj1BLkRl''@;'; put 'put ''Y2lwaGVyPXouY3JlYXRlRGVjaXBoZXIsQS5jcmVhdGVEZWNpcGhlcml2PUEuRGVjaXBoZXJpdj16LmNyZWF0ZURlY2lwaGVyaXYsQS5saXN0Q2lwaGVycz1BLmdldENpcGhlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXMoQyl9fSw2MTkzOihaLEEsaik9Pnt2YXIgTj1qKDQ4NDgp''@;'; put 'put ''LHo9aig5NTA5KS5CdWZmZXIsQz1qKDQ1KSxTPWooNTk2OSksbT1qKDEwMjcpLEY9aig0NDk3KSxEPWooMzA0OCk7ZnVuY3Rpb24gdyhrLE8sTCl7bS5jYWxsKHRoaXMpLHRoaXMuX2NhY2hlPW5ldyBQLHRoaXMuX2xhc3Q9dm9pZCAwLHRoaXMuX2NpcGhlcj1uZXcgRi5BRVMoTyksdGhpcy5f''@;'; put 'put ''cHJldj16LmZyb20oTCksdGhpcy5fbW9kZT1rLHRoaXMuX2F1dG9wYWRkaW5nPSEwfWZ1bmN0aW9uIFAoKXt0aGlzLmNhY2hlPXouYWxsb2NVbnNhZmUoMCl9ZnVuY3Rpb24gTShrLE8sTCl7dmFyIFQ9Q1trLnRvTG93ZXJDYXNlKCldO2lmKCFUKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFs''@;'; put 'put ''aWQgc3VpdGUgdHlwZSIpO2lmKCJzdHJpbmciPT10eXBlb2YgTCYmKEw9ei5mcm9tKEwpKSwiR0NNIiE9PVQubW9kZSYmTC5sZW5ndGghPT1ULml2KXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgaXYgbGVuZ3RoICIrTC5sZW5ndGgpO2lmKCJzdHJpbmciPT10eXBlb2YgTyYmKE89ei5m''@;'; put 'put ''cm9tKE8pKSxPLmxlbmd0aCE9PVQua2V5LzgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBrZXkgbGVuZ3RoICIrTy5sZW5ndGgpO3JldHVybiJzdHJlYW0iPT09VC50eXBlP25ldyBTKFQubW9kdWxlLE8sTCwhMCk6ImF1dGgiPT09VC50eXBlP25ldyBOKFQubW9kdWxlLE8sTCwhMCk6''@;'; put 'put ''bmV3IHcoVC5tb2R1bGUsTyxMKX1qKDU3MTcpKHcsbSksdy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihrKXt2YXIgTyxMO3RoaXMuX2NhY2hlLmFkZChrKTtmb3IodmFyIFQ9W107Tz10aGlzLl9jYWNoZS5nZXQodGhpcy5fYXV0b3BhZGRpbmcpOylMPXRoaXMuX21vZGUuZGVjcnlwdCh0''@;'; put 'put ''aGlzLE8pLFQucHVzaChMKTtyZXR1cm4gei5jb25jYXQoVCl9LHcucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3ZhciBrPXRoaXMuX2NhY2hlLmZsdXNoKCk7aWYodGhpcy5fYXV0b3BhZGRpbmcpcmV0dXJuIGZ1bmN0aW9uKE8pe3ZhciBMPU9bMTVdO2lmKEw8MXx8TD4xNil0aHJvdyBu''@;'; put 'put ''ZXcgRXJyb3IoInVuYWJsZSB0byBkZWNyeXB0IGRhdGEiKTtmb3IodmFyIFQ9LTE7KytUPEw7KWlmKE9bVCsoMTYtTCldIT09TCl0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBkZWNyeXB0IGRhdGEiKTtpZigxNiE9PUwpcmV0dXJuIE8uc2xpY2UoMCwxNi1MKX0odGhpcy5fbW9kZS5kZWNy''@;'; put 'put ''eXB0KHRoaXMsaykpO2lmKGspdGhyb3cgbmV3IEVycm9yKCJkYXRhIG5vdCBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGgiKX0sdy5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmc9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuX2F1dG9wYWRkaW5nPSEhayx0aGlzfSxQLnByb3RvdHlwZS5hZGQ9ZnVu''@;'; put 'put ''Y3Rpb24oayl7dGhpcy5jYWNoZT16LmNvbmNhdChbdGhpcy5jYWNoZSxrXSl9LFAucHJvdG90eXBlLmdldD1mdW5jdGlvbihrKXt2YXIgTztpZihrKXtpZih0aGlzLmNhY2hlLmxlbmd0aD4xNilyZXR1cm4gTz10aGlzLmNhY2hlLnNsaWNlKDAsMTYpLHRoaXMuY2FjaGU9dGhpcy5jYWNoZS5z''@;'; put 'put ''bGljZSgxNiksT31lbHNlIGlmKHRoaXMuY2FjaGUubGVuZ3RoPj0xNilyZXR1cm4gTz10aGlzLmNhY2hlLnNsaWNlKDAsMTYpLHRoaXMuY2FjaGU9dGhpcy5jYWNoZS5zbGljZSgxNiksTztyZXR1cm4gbnVsbH0sUC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLmNhY2hlLmxl''@;'; put 'put ''bmd0aClyZXR1cm4gdGhpcy5jYWNoZX0sQS5jcmVhdGVEZWNpcGhlcj1mdW5jdGlvbihrLE8pe3ZhciBMPUNbay50b0xvd2VyQ2FzZSgpXTtpZighTCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN1aXRlIHR5cGUiKTt2YXIgVD1EKE8sITEsTC5rZXksTC5pdik7cmV0dXJuIE0oayxU''@;'; put 'put ''LmtleSxULml2KX0sQS5jcmVhdGVEZWNpcGhlcml2PU19LDE0OTQ6KFosQSxqKT0+e3ZhciBOPWooNDUpLHo9aig0ODQ4KSxDPWooOTUwOSkuQnVmZmVyLFM9aig1OTY5KSxtPWooMTAyNyksRj1qKDQ0OTcpLEQ9aigzMDQ4KTtmdW5jdGlvbiB3KE8sTCxUKXttLmNhbGwodGhpcyksdGhpcy5f''@;'; put 'put ''Y2FjaGU9bmV3IE0sdGhpcy5fY2lwaGVyPW5ldyBGLkFFUyhMKSx0aGlzLl9wcmV2PUMuZnJvbShUKSx0aGlzLl9tb2RlPU8sdGhpcy5fYXV0b3BhZGRpbmc9ITB9aig1NzE3KSh3LG0pLHcucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oTyl7dmFyIEwsVDt0aGlzLl9jYWNoZS5hZGQoTyk7''@;'; put 'put ''Zm9yKHZhciBZPVtdO0w9dGhpcy5fY2FjaGUuZ2V0KCk7KVQ9dGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsTCksWS5wdXNoKFQpO3JldHVybiBDLmNvbmNhdChZKX07dmFyIFA9Qy5hbGxvYygxNiwxNik7ZnVuY3Rpb24gTSgpe3RoaXMuY2FjaGU9Qy5hbGxvY1Vuc2FmZSgwKX1mdW5jdGlvbiBr''@;'; put 'put ''KE8sTCxUKXt2YXIgWT1OW08udG9Mb3dlckNhc2UoKV07aWYoIVkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIik7aWYoInN0cmluZyI9PXR5cGVvZiBMJiYoTD1DLmZyb20oTCkpLEwubGVuZ3RoIT09WS5rZXkvOCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlk''@;'; put 'put ''IGtleSBsZW5ndGggIitMLmxlbmd0aCk7aWYoInN0cmluZyI9PXR5cGVvZiBUJiYoVD1DLmZyb20oVCkpLCJHQ00iIT09WS5tb2RlJiZULmxlbmd0aCE9PVkuaXYpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBpdiBsZW5ndGggIitULmxlbmd0aCk7cmV0dXJuInN0cmVhbSI9PT1ZLnR5''@;'; put 'put ''cGU/bmV3IFMoWS5tb2R1bGUsTCxUKToiYXV0aCI9PT1ZLnR5cGU/bmV3IHooWS5tb2R1bGUsTCxUKTpuZXcgdyhZLm1vZHVsZSxMLFQpfXcucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3ZhciBPPXRoaXMuX2NhY2hlLmZsdXNoKCk7aWYodGhpcy5fYXV0b3BhZGRpbmcpcmV0dXJuIE89''@;'; put 'put ''dGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsTyksdGhpcy5fY2lwaGVyLnNjcnViKCksTztpZighTy5lcXVhbHMoUCkpdGhyb3cgdGhpcy5fY2lwaGVyLnNjcnViKCksbmV3IEVycm9yKCJkYXRhIG5vdCBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGgiKX0sdy5wcm90b3R5cGUuc2V0QXV0b1BhZGRp''@;'; put 'put ''bmc9ZnVuY3Rpb24oTyl7cmV0dXJuIHRoaXMuX2F1dG9wYWRkaW5nPSEhTyx0aGlzfSxNLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oTyl7dGhpcy5jYWNoZT1DLmNvbmNhdChbdGhpcy5jYWNoZSxPXSl9LE0ucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe2lmKHRoaXMuY2FjaGUubGVuZ3RoPjE1''@;'; put 'put ''KXt2YXIgTz10aGlzLmNhY2hlLnNsaWNlKDAsMTYpO3JldHVybiB0aGlzLmNhY2hlPXRoaXMuY2FjaGUuc2xpY2UoMTYpLE99cmV0dXJuIG51bGx9LE0ucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7Zm9yKHZhciBPPTE2LXRoaXMuY2FjaGUubGVuZ3RoLEw9Qy5hbGxvY1Vuc2FmZShPKSxU''@;'; put 'put ''PS0xOysrVDxPOylMLndyaXRlVUludDgoTyxUKTtyZXR1cm4gQy5jb25jYXQoW3RoaXMuY2FjaGUsTF0pfSxBLmNyZWF0ZUNpcGhlcml2PWssQS5jcmVhdGVDaXBoZXI9ZnVuY3Rpb24oTyxMKXt2YXIgVD1OW08udG9Mb3dlckNhc2UoKV07aWYoIVQpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52''@;'; put 'put ''YWxpZCBzdWl0ZSB0eXBlIik7dmFyIFk9RChMLCExLFQua2V5LFQuaXYpO3JldHVybiBrKE8sWS5rZXksWS5pdil9fSwzMjg4OihaLEEsaik9Pnt2YXIgTj1qKDk1MDkpLkJ1ZmZlcix6PU4uYWxsb2MoMTYsMCk7ZnVuY3Rpb24gQyhtKXt2YXIgRj1OLmFsbG9jVW5zYWZlKDE2KTtyZXR1cm4g''@;'; put 'put ''Ri53cml0ZVVJbnQzMkJFKG1bMF0+Pj4wLDApLEYud3JpdGVVSW50MzJCRShtWzFdPj4+MCw0KSxGLndyaXRlVUludDMyQkUobVsyXT4+PjAsOCksRi53cml0ZVVJbnQzMkJFKG1bM10+Pj4wLDEyKSxGfWZ1bmN0aW9uIFMobSl7dGhpcy5oPW0sdGhpcy5zdGF0ZT1OLmFsbG9jKDE2LDApLHRo''@;'; put 'put ''aXMuY2FjaGU9Ti5hbGxvY1Vuc2FmZSgwKX1TLnByb3RvdHlwZS5naGFzaD1mdW5jdGlvbihtKXtmb3IodmFyIEY9LTE7KytGPG0ubGVuZ3RoOyl0aGlzLnN0YXRlW0ZdXj1tW0ZdO3RoaXMuX211bHRpcGx5KCl9LFMucHJvdG90eXBlLl9tdWx0aXBseT1mdW5jdGlvbigpe2Zvcih2YXIgbSxG''@;'; put 'put ''LEQsdz1bKG09dGhpcy5oKS5yZWFkVUludDMyQkUoMCksbS5yZWFkVUludDMyQkUoNCksbS5yZWFkVUludDMyQkUoOCksbS5yZWFkVUludDMyQkUoMTIpXSxQPVswLDAsMCwwXSxNPS0xOysrTTwxMjg7KXtmb3IoMCE9KHRoaXMuc3RhdGVbfn4oTS84KV0mMTw8Ny1NJTgpJiYoUFswXV49d1sw''@;'; put 'put ''XSxQWzFdXj13WzFdLFBbMl1ePXdbMl0sUFszXV49d1szXSksRD0wIT0oMSZ3WzNdKSxGPTM7Rj4wO0YtLSl3W0ZdPXdbRl0+Pj4xfCgxJndbRi0xXSk8PDMxO3dbMF09d1swXT4+PjEsRCYmKHdbMF09LTUyMDA5MzY5Nl53WzBdKX10aGlzLnN0YXRlPUMoUCl9LFMucHJvdG90eXBlLnVwZGF0''@;'; put 'put ''ZT1mdW5jdGlvbihtKXt2YXIgRjtmb3IodGhpcy5jYWNoZT1OLmNvbmNhdChbdGhpcy5jYWNoZSxtXSk7dGhpcy5jYWNoZS5sZW5ndGg+PTE2OylGPXRoaXMuY2FjaGUuc2xpY2UoMCwxNiksdGhpcy5jYWNoZT10aGlzLmNhY2hlLnNsaWNlKDE2KSx0aGlzLmdoYXNoKEYpfSxTLnByb3RvdHlw''@;'; put 'put ''ZS5maW5hbD1mdW5jdGlvbihtLEYpe3JldHVybiB0aGlzLmNhY2hlLmxlbmd0aCYmdGhpcy5naGFzaChOLmNvbmNhdChbdGhpcy5jYWNoZSx6XSwxNikpLHRoaXMuZ2hhc2goQyhbMCxtLDAsRl0pKSx0aGlzLnN0YXRlfSxaLmV4cG9ydHM9U30sNjg1Olo9PntaLmV4cG9ydHM9ZnVuY3Rpb24o''@;'; put 'put ''QSl7Zm9yKHZhciBqLE49QS5sZW5ndGg7Ti0tOyl7aWYoMjU1IT09KGo9QS5yZWFkVUludDgoTikpKXtqKyssQS53cml0ZVVJbnQ4KGosTik7YnJlYWt9QS53cml0ZVVJbnQ4KDAsTil9fX0sNTI5MjooWixBLGopPT57dmFyIE49aig3Mjk1KTtBLmVuY3J5cHQ9ZnVuY3Rpb24oeixDKXt2YXIg''@;'; put 'put ''Uz1OKEMsei5fcHJldik7cmV0dXJuIHouX3ByZXY9ei5fY2lwaGVyLmVuY3J5cHRCbG9jayhTKSx6Ll9wcmV2fSxBLmRlY3J5cHQ9ZnVuY3Rpb24oeixDKXt2YXIgUz16Ll9wcmV2O3ouX3ByZXY9Qzt2YXIgbT16Ll9jaXBoZXIuZGVjcnlwdEJsb2NrKEMpO3JldHVybiBOKG0sUyl9fSw2MzEx''@;'; put 'put ''OihaLEEsaik9Pnt2YXIgTj1qKDk1MDkpLkJ1ZmZlcix6PWooNzI5NSk7ZnVuY3Rpb24gQyhTLG0sRil7dmFyIEQ9bS5sZW5ndGgsdz16KG0sUy5fY2FjaGUpO3JldHVybiBTLl9jYWNoZT1TLl9jYWNoZS5zbGljZShEKSxTLl9wcmV2PU4uY29uY2F0KFtTLl9wcmV2LEY/bTp3XSksd31BLmVu''@;'; put 'put ''Y3J5cHQ9ZnVuY3Rpb24oUyxtLEYpe2Zvcih2YXIgRCx3PU4uYWxsb2NVbnNhZmUoMCk7bS5sZW5ndGg7KXtpZigwPT09Uy5fY2FjaGUubGVuZ3RoJiYoUy5fY2FjaGU9Uy5fY2lwaGVyLmVuY3J5cHRCbG9jayhTLl9wcmV2KSxTLl9wcmV2PU4uYWxsb2NVbnNhZmUoMCkpLCEoUy5fY2FjaGUu''@;'; put 'put ''bGVuZ3RoPD1tLmxlbmd0aCkpe3c9Ti5jb25jYXQoW3csQyhTLG0sRildKTticmVha313PU4uY29uY2F0KFt3LEMoUyxtLnNsaWNlKDAsRD1TLl9jYWNoZS5sZW5ndGgpLEYpXSksbT1tLnNsaWNlKEQpfXJldHVybiB3fX0sMTUxMDooWixBLGopPT57dmFyIE49aig5NTA5KS5CdWZmZXI7ZnVu''@;'; put 'put ''Y3Rpb24geihTLG0sRil7Zm9yKHZhciBELHcsUD0tMSxNPTA7KytQPDg7KUQ9bSYxPDw3LVA/MTI4OjAsTSs9KDEyOCYodz1TLl9jaXBoZXIuZW5jcnlwdEJsb2NrKFMuX3ByZXYpWzBdXkQpKT4+UCU4LFMuX3ByZXY9QyhTLl9wcmV2LEY/RDp3KTtyZXR1cm4gTX1mdW5jdGlvbiBDKFMsbSl7''@;'; put 'put ''dmFyIEY9Uy5sZW5ndGgsRD0tMSx3PU4uYWxsb2NVbnNhZmUoUy5sZW5ndGgpO2ZvcihTPU4uY29uY2F0KFtTLE4uZnJvbShbbV0pXSk7KytEPEY7KXdbRF09U1tEXTw8MXxTW0QrMV0+Pjc7cmV0dXJuIHd9QS5lbmNyeXB0PWZ1bmN0aW9uKFMsbSxGKXtmb3IodmFyIEQ9bS5sZW5ndGgsdz1O''@;'; put 'put ''LmFsbG9jVW5zYWZlKEQpLFA9LTE7KytQPEQ7KXdbUF09eihTLG1bUF0sRik7cmV0dXJuIHd9fSwxOTY0OihaLEEsaik9Pnt2YXIgTj1qKDk1MDkpLkJ1ZmZlcjtmdW5jdGlvbiB6KEMsUyxtKXt2YXIgRj1DLl9jaXBoZXIuZW5jcnlwdEJsb2NrKEMuX3ByZXYpWzBdXlM7cmV0dXJuIEMuX3By''@;'; put 'put ''ZXY9Ti5jb25jYXQoW0MuX3ByZXYuc2xpY2UoMSksTi5mcm9tKFttP1M6Rl0pXSksRn1BLmVuY3J5cHQ9ZnVuY3Rpb24oQyxTLG0pe2Zvcih2YXIgRj1TLmxlbmd0aCxEPU4uYWxsb2NVbnNhZmUoRiksdz0tMTsrK3c8RjspRFt3XT16KEMsU1t3XSxtKTtyZXR1cm4gRH19LDYwMDk6KFosQSxq''@;'; put 'put ''KT0+e3ZhciBOPWooNzI5NSksej1qKDk1MDkpLkJ1ZmZlcixDPWooNjg1KTtmdW5jdGlvbiBTKG0pe3ZhciBGPW0uX2NpcGhlci5lbmNyeXB0QmxvY2tSYXcobS5fcHJldik7cmV0dXJuIEMobS5fcHJldiksRn1BLmVuY3J5cHQ9ZnVuY3Rpb24obSxGKXt2YXIgRD1NYXRoLmNlaWwoRi5sZW5n''@;'; put 'put ''dGgvMTYpLHc9bS5fY2FjaGUubGVuZ3RoO20uX2NhY2hlPXouY29uY2F0KFttLl9jYWNoZSx6LmFsbG9jVW5zYWZlKDE2KkQpXSk7Zm9yKHZhciBQPTA7UDxEO1ArKyl7dmFyIE09UyhtKSxrPXcrMTYqUDttLl9jYWNoZS53cml0ZVVJbnQzMkJFKE1bMF0sayswKSxtLl9jYWNoZS53cml0ZVVJ''@;'; put 'put ''bnQzMkJFKE1bMV0says0KSxtLl9jYWNoZS53cml0ZVVJbnQzMkJFKE1bMl0says4KSxtLl9jYWNoZS53cml0ZVVJbnQzMkJFKE1bM10saysxMil9dmFyIE89bS5fY2FjaGUuc2xpY2UoMCxGLmxlbmd0aCk7cmV0dXJuIG0uX2NhY2hlPW0uX2NhY2hlLnNsaWNlKEYubGVuZ3RoKSxOKEYsTyl9''@;'; put 'put ''fSwxMDg0OihaLEEpPT57QS5lbmNyeXB0PWZ1bmN0aW9uKGosTil7cmV0dXJuIGouX2NpcGhlci5lbmNyeXB0QmxvY2soTil9LEEuZGVjcnlwdD1mdW5jdGlvbihqLE4pe3JldHVybiBqLl9jaXBoZXIuZGVjcnlwdEJsb2NrKE4pfX0sNDU6KFosQSxqKT0+e3ZhciBOPXtFQ0I6aigxMDg0KSxD''@;'; put 'put ''QkM6aig1MjkyKSxDRkI6aig2MzExKSxDRkI4OmooMTk2NCksQ0ZCMTpqKDE1MTApLE9GQjpqKDg4NjEpLENUUjpqKDYwMDkpLEdDTTpqKDYwMDkpfSx6PWooNDk0Nik7Zm9yKHZhciBDIGluIHopeltDXS5tb2R1bGU9Tlt6W0NdLm1vZGVdO1ouZXhwb3J0cz16fSw4ODYxOihaLEEsaik9Pnt2''@;'; put 'put ''YXIgTj1qKDg3NjQpLkJ1ZmZlcix6PWooNzI5NSk7ZnVuY3Rpb24gQyhTKXtyZXR1cm4gUy5fcHJldj1TLl9jaXBoZXIuZW5jcnlwdEJsb2NrKFMuX3ByZXYpLFMuX3ByZXZ9QS5lbmNyeXB0PWZ1bmN0aW9uKFMsbSl7Zm9yKDtTLl9jYWNoZS5sZW5ndGg8bS5sZW5ndGg7KVMuX2NhY2hlPU4u''@;'; put 'put ''Y29uY2F0KFtTLl9jYWNoZSxDKFMpXSk7dmFyIEY9Uy5fY2FjaGUuc2xpY2UoMCxtLmxlbmd0aCk7cmV0dXJuIFMuX2NhY2hlPVMuX2NhY2hlLnNsaWNlKG0ubGVuZ3RoKSx6KG0sRil9fSw1OTY5OihaLEEsaik9Pnt2YXIgTj1qKDQ0OTcpLHo9aig5NTA5KS5CdWZmZXIsQz1qKDEwMjcpO2Z1''@;'; put 'put ''bmN0aW9uIFMobSxGLEQsdyl7Qy5jYWxsKHRoaXMpLHRoaXMuX2NpcGhlcj1uZXcgTi5BRVMoRiksdGhpcy5fcHJldj16LmZyb20oRCksdGhpcy5fY2FjaGU9ei5hbGxvY1Vuc2FmZSgwKSx0aGlzLl9zZWNDYWNoZT16LmFsbG9jVW5zYWZlKDApLHRoaXMuX2RlY3J5cHQ9dyx0aGlzLl9tb2Rl''@;'; put 'put ''PW19aig1NzE3KShTLEMpLFMucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24obSl7cmV0dXJuIHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLG0sdGhpcy5fZGVjcnlwdCl9LFMucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3RoaXMuX2NpcGhlci5zY3J1YigpfSxaLmV4cG9ydHM9U30sMzYx''@;'; put 'put ''NDooWixBLGopPT57dmFyIE49aig3NjY3KSx6PWooNDY5NiksQz1qKDQ1KSxTPWooOTcxNSksbT1qKDMwNDgpO2Z1bmN0aW9uIEYodyxQLE0pe2lmKHc9dy50b0xvd2VyQ2FzZSgpLENbd10pcmV0dXJuIHouY3JlYXRlQ2lwaGVyaXYodyxQLE0pO2lmKFNbd10pcmV0dXJuIG5ldyBOKHtrZXk6''@;'; put 'put ''UCxpdjpNLG1vZGU6d30pO3Rocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpfWZ1bmN0aW9uIEQodyxQLE0pe2lmKHc9dy50b0xvd2VyQ2FzZSgpLENbd10pcmV0dXJuIHouY3JlYXRlRGVjaXBoZXJpdih3LFAsTSk7aWYoU1t3XSlyZXR1cm4gbmV3IE4oe2tleTpQLGl2''@;'; put 'put ''Ok0sbW9kZTp3LGRlY3J5cHQ6ITB9KTt0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN1aXRlIHR5cGUiKX1BLmNyZWF0ZUNpcGhlcj1BLkNpcGhlcj1mdW5jdGlvbih3LFApe3ZhciBNLGs7aWYodz13LnRvTG93ZXJDYXNlKCksQ1t3XSlNPUNbd10ua2V5LGs9Q1t3XS5pdjtlbHNle2lm''@;'; put 'put ''KCFTW3ddKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpO009OCpTW3ddLmtleSxrPVNbd10uaXZ9dmFyIE89bShQLCExLE0sayk7cmV0dXJuIEYodyxPLmtleSxPLml2KX0sQS5jcmVhdGVDaXBoZXJpdj1BLkNpcGhlcml2PUYsQS5jcmVhdGVEZWNpcGhlcj1BLkRl''@;'; put 'put ''Y2lwaGVyPWZ1bmN0aW9uKHcsUCl7dmFyIE0saztpZih3PXcudG9Mb3dlckNhc2UoKSxDW3ddKU09Q1t3XS5rZXksaz1DW3ddLml2O2Vsc2V7aWYoIVNbd10pdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIik7TT04KlNbd10ua2V5LGs9U1t3XS5pdn12YXIgTz1tKFAs''@;'; put 'put ''ITEsTSxrKTtyZXR1cm4gRCh3LE8ua2V5LE8uaXYpfSxBLmNyZWF0ZURlY2lwaGVyaXY9QS5EZWNpcGhlcml2PUQsQS5saXN0Q2lwaGVycz1BLmdldENpcGhlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXMoUykuY29uY2F0KHouZ2V0Q2lwaGVycygpKX19LDc2Njc6KFosQSxqKT0+''@;'; put 'put ''e3ZhciBOPWooMTAyNyksej1qKDUyNTEpLEM9aig1NzE3KSxTPWooOTUwOSkuQnVmZmVyLG09eyJkZXMtZWRlMy1jYmMiOnouQ0JDLmluc3RhbnRpYXRlKHouRURFKSwiZGVzLWVkZTMiOnouRURFLCJkZXMtZWRlLWNiYyI6ei5DQkMuaW5zdGFudGlhdGUoei5FREUpLCJkZXMtZWRlIjp6LkVE''@;'; put 'put ''RSwiZGVzLWNiYyI6ei5DQkMuaW5zdGFudGlhdGUoei5ERVMpLCJkZXMtZWNiIjp6LkRFU307ZnVuY3Rpb24gRihEKXtOLmNhbGwodGhpcyk7dmFyIHcsUD1ELm1vZGUudG9Mb3dlckNhc2UoKSxNPW1bUF07dz1ELmRlY3J5cHQ/ImRlY3J5cHQiOiJlbmNyeXB0Ijt2YXIgaz1ELmtleTtTLmlz''@;'; put 'put ''QnVmZmVyKGspfHwoaz1TLmZyb20oaykpLCJkZXMtZWRlIiE9PVAmJiJkZXMtZWRlLWNiYyIhPT1QfHwoaz1TLmNvbmNhdChbayxrLnNsaWNlKDAsOCldKSk7dmFyIE89RC5pdjtTLmlzQnVmZmVyKE8pfHwoTz1TLmZyb20oTykpLHRoaXMuX2Rlcz1NLmNyZWF0ZSh7a2V5OmssaXY6Tyx0eXBl''@;'; put 'put ''Ond9KX1tLmRlcz1tWyJkZXMtY2JjIl0sbS5kZXMzPW1bImRlcy1lZGUzLWNiYyJdLFouZXhwb3J0cz1GLEMoRixOKSxGLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKEQpe3JldHVybiBTLmZyb20odGhpcy5fZGVzLnVwZGF0ZShEKSl9LEYucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigp''@;'; put 'put ''e3JldHVybiBTLmZyb20odGhpcy5fZGVzLmZpbmFsKCkpfX0sOTcxNTooWixBKT0+e0FbImRlcy1lY2IiXT17a2V5OjgsaXY6MH0sQVsiZGVzLWNiYyJdPUEuZGVzPXtrZXk6OCxpdjo4fSxBWyJkZXMtZWRlMy1jYmMiXT1BLmRlczM9e2tleToyNCxpdjo4fSxBWyJkZXMtZWRlMyJdPXtrZXk6''@;'; put 'put ''MjQsaXY6MH0sQVsiZGVzLWVkZS1jYmMiXT17a2V5OjE2LGl2Ojh9LEFbImRlcy1lZGUiXT17a2V5OjE2LGl2OjB9fSwzNjYzOihaLEEsaik9Pnt2YXIgTj1qKDg3NjQpLkJ1ZmZlcix6PWooMzU1MCksQz1qKDE3OTgpO2Z1bmN0aW9uIFMoRil7dmFyIEQsdz1GLm1vZHVsdXMuYnl0ZUxlbmd0''@;'; put 'put ''aCgpO2Rve0Q9bmV3IHooQyh3KSl9d2hpbGUoRC5jbXAoRi5tb2R1bHVzKT49MHx8IUQudW1vZChGLnByaW1lMSl8fCFELnVtb2QoRi5wcmltZTIpKTtyZXR1cm4gRH1mdW5jdGlvbiBtKEYsRCl7dmFyIFIsQix3PXtibGluZGVyOihCPVMoUj1EKSkudG9SZWQoei5tb250KFIubW9kdWx1cykp''@;'; put 'put ''LnJlZFBvdyhuZXcgeihSLnB1YmxpY0V4cG9uZW50KSkuZnJvbVJlZCgpLHVuYmxpbmRlcjpCLmludm0oUi5tb2R1bHVzKX0sUD1ELm1vZHVsdXMuYnl0ZUxlbmd0aCgpLE09bmV3IHooRikubXVsKHcuYmxpbmRlcikudW1vZChELm1vZHVsdXMpLGs9TS50b1JlZCh6Lm1vbnQoRC5wcmltZTEp''@;'; put 'put ''KSxPPU0udG9SZWQoei5tb250KEQucHJpbWUyKSksTD1ELmNvZWZmaWNpZW50LFQ9RC5wcmltZTEsWT1ELnByaW1lMixJPWsucmVkUG93KEQuZXhwb25lbnQxKS5mcm9tUmVkKCksVT1PLnJlZFBvdyhELmV4cG9uZW50MikuZnJvbVJlZCgpLFY9SS5pc3ViKFUpLmltdWwoTCkudW1vZChUKS5p''@;'; put 'put ''bXVsKFkpO3JldHVybiBVLmlhZGQoVikuaW11bCh3LnVuYmxpbmRlcikudW1vZChELm1vZHVsdXMpLnRvQXJyYXlMaWtlKE4sImJlIixQKX1tLmdldHI9UyxaLmV4cG9ydHM9bX0sNjA0MjooWixBLGopPT57Wi5leHBvcnRzPWooNTIwNyl9LDQ3NDM6KFosQSxqKT0+e3ZhciBOPWooNTY3OSku''@;'; put 'put ''QnVmZmVyLHo9aigzNDgyKSxDPWooODQ3MyksUz1qKDU3MTcpLG09aigyOTU3KSxGPWooNzc1MyksRD1qKDUyMDcpO2Z1bmN0aW9uIHcoTyl7Qy5Xcml0YWJsZS5jYWxsKHRoaXMpO3ZhciBMPURbT107aWYoIUwpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG1lc3NhZ2UgZGlnZXN0Iik7dGhp''@;'; put 'put ''cy5faGFzaFR5cGU9TC5oYXNoLHRoaXMuX2hhc2g9eihMLmhhc2gpLHRoaXMuX3RhZz1MLmlkLHRoaXMuX3NpZ25UeXBlPUwuc2lnbn1mdW5jdGlvbiBQKE8pe0MuV3JpdGFibGUuY2FsbCh0aGlzKTt2YXIgTD1EW09dO2lmKCFMKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBtZXNzYWdlIGRp''@;'; put 'put ''Z2VzdCIpO3RoaXMuX2hhc2g9eihMLmhhc2gpLHRoaXMuX3RhZz1MLmlkLHRoaXMuX3NpZ25UeXBlPUwuc2lnbn1mdW5jdGlvbiBNKE8pe3JldHVybiBuZXcgdyhPKX1mdW5jdGlvbiBrKE8pe3JldHVybiBuZXcgUChPKX1PYmplY3Qua2V5cyhEKS5mb3JFYWNoKGZ1bmN0aW9uKE8pe0RbT10u''@;'; put 'put ''aWQ9Ti5mcm9tKERbT10uaWQsImhleCIpLERbTy50b0xvd2VyQ2FzZSgpXT1EW09dfSksUyh3LEMuV3JpdGFibGUpLHcucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihPLEwsVCl7dGhpcy5faGFzaC51cGRhdGUoTyksVCgpfSx3LnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oTyxMKXtyZXR1''@;'; put 'put ''cm4ic3RyaW5nIj09dHlwZW9mIE8mJihPPU4uZnJvbShPLEwpKSx0aGlzLl9oYXNoLnVwZGF0ZShPKSx0aGlzfSx3LnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKE8sTCl7dGhpcy5lbmQoKTt2YXIgVD10aGlzLl9oYXNoLmRpZ2VzdCgpLFk9bShULE8sdGhpcy5faGFzaFR5cGUsdGhpcy5fc2ln''@;'; put 'put ''blR5cGUsdGhpcy5fdGFnKTtyZXR1cm4gTD9ZLnRvU3RyaW5nKEwpOll9LFMoUCxDLldyaXRhYmxlKSxQLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oTyxMLFQpe3RoaXMuX2hhc2gudXBkYXRlKE8pLFQoKX0sUC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKE8sTCl7cmV0dXJuInN0cmlu''@;'; put 'put ''ZyI9PXR5cGVvZiBPJiYoTz1OLmZyb20oTyxMKSksdGhpcy5faGFzaC51cGRhdGUoTyksdGhpc30sUC5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uKE8sTCxUKXsic3RyaW5nIj09dHlwZW9mIEwmJihMPU4uZnJvbShMLFQpKSx0aGlzLmVuZCgpO3ZhciBZPXRoaXMuX2hhc2guZGlnZXN0KCk7''@;'; put 'put ''cmV0dXJuIEYoTCxZLE8sdGhpcy5fc2lnblR5cGUsdGhpcy5fdGFnKX0sWi5leHBvcnRzPXtTaWduOk0sVmVyaWZ5OmssY3JlYXRlU2lnbjpNLGNyZWF0ZVZlcmlmeTprfX0sMjk1NzooWixBLGopPT57dmFyIE49aig1Njc5KS5CdWZmZXIsej1qKDgzNTUpLEM9aigzNjYzKSxTPWooNjk0OCku''@;'; put 'put ''ZWMsbT1qKDM1NTApLEY9aig5ODApLEQ9aigxMzA4KTtmdW5jdGlvbiB3KE8sTCxULFkpe2lmKChPPU4uZnJvbShPLnRvQXJyYXkoKSkpLmxlbmd0aDxMLmJ5dGVMZW5ndGgoKSl7dmFyIEk9Ti5hbGxvYyhMLmJ5dGVMZW5ndGgoKS1PLmxlbmd0aCk7Tz1OLmNvbmNhdChbSSxPXSl9dmFyIFU9''@;'; put 'put ''VC5sZW5ndGgsVj1mdW5jdGlvbihxLEope3E9KHE9UChxLEopKS5tb2QoSik7dmFyICQ9Ti5mcm9tKHEudG9BcnJheSgpKTtpZigkLmxlbmd0aDxKLmJ5dGVMZW5ndGgoKSl7dmFyIHRlPU4uYWxsb2MoSi5ieXRlTGVuZ3RoKCktJC5sZW5ndGgpOyQ9Ti5jb25jYXQoW3RlLCRdKX1yZXR1cm4g''@;'; put 'put ''JH0oVCxMKSxSPU4uYWxsb2MoVSk7Ui5maWxsKDEpO3ZhciBCPU4uYWxsb2MoVSk7cmV0dXJuIEI9eihZLEIpLnVwZGF0ZShSKS51cGRhdGUoTi5mcm9tKFswXSkpLnVwZGF0ZShPKS51cGRhdGUoVikuZGlnZXN0KCksUj16KFksQikudXBkYXRlKFIpLmRpZ2VzdCgpLHtrOkI9eihZLEIpLnVw''@;'; put 'put ''ZGF0ZShSKS51cGRhdGUoTi5mcm9tKFsxXSkpLnVwZGF0ZShPKS51cGRhdGUoVikuZGlnZXN0KCksdjpSPXooWSxCKS51cGRhdGUoUikuZGlnZXN0KCl9fWZ1bmN0aW9uIFAoTyxMKXt2YXIgVD1uZXcgbShPKSxZPShPLmxlbmd0aDw8MyktTC5iaXRMZW5ndGgoKTtyZXR1cm4gWT4wJiZULmlz''@;'; put 'put ''aHJuKFkpLFR9ZnVuY3Rpb24gTShPLEwsVCl7dmFyIFksSTtkb3tmb3IoWT1OLmFsbG9jKDApOzgqWS5sZW5ndGg8Ty5iaXRMZW5ndGgoKTspTC52PXooVCxMLmspLnVwZGF0ZShMLnYpLmRpZ2VzdCgpLFk9Ti5jb25jYXQoW1ksTC52XSk7ST1QKFksTyksTC5rPXooVCxMLmspLnVwZGF0ZShM''@;'; put 'put ''LnYpLnVwZGF0ZShOLmZyb20oWzBdKSkuZGlnZXN0KCksTC52PXooVCxMLmspLnVwZGF0ZShMLnYpLmRpZ2VzdCgpfXdoaWxlKC0xIT09SS5jbXAoTykpO3JldHVybiBJfWZ1bmN0aW9uIGsoTyxMLFQsWSl7cmV0dXJuIE8udG9SZWQobS5tb250KFQpKS5yZWRQb3coTCkuZnJvbVJlZCgpLm1v''@;'; put 'put ''ZChZKX1aLmV4cG9ydHM9ZnVuY3Rpb24oTyxMLFQsWSxJKXt2YXIgVT1GKEwpO2lmKFUuY3VydmUpe2lmKCJlY2RzYSIhPT1ZJiYiZWNkc2EvcnNhIiE9PVkpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwcml2YXRlIGtleSB0eXBlIik7cmV0dXJuIGZ1bmN0aW9uKHEsSil7dmFyICQ9RFtKLmN1''@;'; put 'put ''cnZlLmpvaW4oIi4iKV07aWYoISQpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGN1cnZlICIrSi5jdXJ2ZS5qb2luKCIuIikpO3ZhciB0ZT1uZXcgUygkKS5rZXlGcm9tUHJpdmF0ZShKLnByaXZhdGVLZXkpLnNpZ24ocSk7cmV0dXJuIE4uZnJvbSh0ZS50b0RFUigpKX0oTyxVKX1pZigiZHNh''@;'; put 'put ''Ij09PVUudHlwZSl7aWYoImRzYSIhPT1ZKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHJpdmF0ZSBrZXkgdHlwZSIpO3JldHVybiBmdW5jdGlvbihxLEosJCl7Zm9yKHZhciB0ZSxoPUoucGFyYW1zLnByaXZfa2V5LGI9Si5wYXJhbXMucCx5PUoucGFyYW1zLnEscD1KLnBhcmFtcy5nLGc9bmV3''@;'; put 'put ''IG0oMCksXz1QKHEseSkubW9kKHkpLEU9ITEsVz13KGgseSxxLCQpOyExPT09RTspZz1rKHAsdGU9TSh5LFcsJCksYix5KSwwPT09KEU9dGUuaW52bSh5KS5pbXVsKF8uYWRkKGgubXVsKGcpKSkubW9kKHkpKS5jbXBuKDApJiYoRT0hMSxnPW5ldyBtKDApKTtyZXR1cm4gZnVuY3Rpb24oRyxY''@;'; put 'put ''KXtHPUcudG9BcnJheSgpLFg9WC50b0FycmF5KCksMTI4JkdbMF0mJihHPVswXS5jb25jYXQoRykpLDEyOCZYWzBdJiYoWD1bMF0uY29uY2F0KFgpKTt2YXIgbmU9WzQ4LEcubGVuZ3RoK1gubGVuZ3RoKzQsMixHLmxlbmd0aF07cmV0dXJuIG5lPW5lLmNvbmNhdChHLFsyLFgubGVuZ3RoXSxY''@;'; put 'put ''KSxOLmZyb20obmUpfShnLEUpfShPLFUsVCl9aWYoInJzYSIhPT1ZJiYiZWNkc2EvcnNhIiE9PVkpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwcml2YXRlIGtleSB0eXBlIik7Tz1OLmNvbmNhdChbSSxPXSk7Zm9yKHZhciBWPVUubW9kdWx1cy5ieXRlTGVuZ3RoKCksUj1bMCwxXTtPLmxlbmd0''@;'; put 'put ''aCtSLmxlbmd0aCsxPFY7KVIucHVzaCgyNTUpO1IucHVzaCgwKTtmb3IodmFyIEI9LTE7KytCPE8ubGVuZ3RoOylSLnB1c2goT1tCXSk7cmV0dXJuIEMoUixVKX0sWi5leHBvcnRzLmdldEtleT13LFouZXhwb3J0cy5tYWtlS2V5PU19LDc3NTM6KFosQSxqKT0+e3ZhciBOPWooNTY3OSkuQnVm''@;'; put 'put ''ZmVyLHo9aigzNTUwKSxDPWooNjk0OCkuZWMsUz1qKDk4MCksbT1qKDEzMDgpO2Z1bmN0aW9uIEYoRCx3KXtpZihELmNtcG4oMCk8PTApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNpZyIpO2lmKEQuY21wKHcpPj13KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaWciKX1aLmV4cG9ydHM9''@;'; put 'put ''ZnVuY3Rpb24oRCx3LFAsTSxrKXt2YXIgTz1TKFApO2lmKCJlYyI9PT1PLnR5cGUpe2lmKCJlY2RzYSIhPT1NJiYiZWNkc2EvcnNhIiE9PU0pdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwdWJsaWMga2V5IHR5cGUiKTtyZXR1cm4gZnVuY3Rpb24oUixCLHEpe3ZhciBKPW1bcS5kYXRhLmFsZ29y''@;'; put 'put ''aXRobS5jdXJ2ZS5qb2luKCIuIildO2lmKCFKKXRocm93IG5ldyBFcnJvcigidW5rbm93biBjdXJ2ZSAiK3EuZGF0YS5hbGdvcml0aG0uY3VydmUuam9pbigiLiIpKTtyZXR1cm4gbmV3IEMoSikudmVyaWZ5KEIsUixxLmRhdGEuc3ViamVjdFByaXZhdGVLZXkuZGF0YSl9KEQsdyxPKX1pZigi''@;'; put 'put ''ZHNhIj09PU8udHlwZSl7aWYoImRzYSIhPT1NKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHVibGljIGtleSB0eXBlIik7cmV0dXJuIGZ1bmN0aW9uKFIsQixxKXt2YXIgSj1xLmRhdGEucCwkPXEuZGF0YS5xLHRlPXEuZGF0YS5nLGg9cS5kYXRhLnB1Yl9rZXksYj1TLnNpZ25hdHVyZS5kZWNv''@;'; put 'put ''ZGUoUiwiZGVyIikseT1iLnMscD1iLnI7Rih5LCQpLEYocCwkKTt2YXIgZz16Lm1vbnQoSiksXz15Lmludm0oJCk7cmV0dXJuIDA9PT10ZS50b1JlZChnKS5yZWRQb3cobmV3IHooQikubXVsKF8pLm1vZCgkKSkuZnJvbVJlZCgpLm11bChoLnRvUmVkKGcpLnJlZFBvdyhwLm11bChfKS5tb2Qo''@;'; put 'put ''JCkpLmZyb21SZWQoKSkubW9kKEopLm1vZCgkKS5jbXAocCl9KEQsdyxPKX1pZigicnNhIiE9PU0mJiJlY2RzYS9yc2EiIT09TSl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHB1YmxpYyBrZXkgdHlwZSIpO3c9Ti5jb25jYXQoW2ssd10pO2Zvcih2YXIgTD1PLm1vZHVsdXMuYnl0ZUxlbmd0aCgp''@;'; put 'put ''LFQ9WzFdLFk9MDt3Lmxlbmd0aCtULmxlbmd0aCsyPEw7KVQucHVzaCgyNTUpLFkrKztULnB1c2goMCk7Zm9yKHZhciBJPS0xOysrSTx3Lmxlbmd0aDspVC5wdXNoKHdbSV0pO1Q9Ti5mcm9tKFQpO3ZhciBVPXoubW9udChPLm1vZHVsdXMpO0Q9KEQ9bmV3IHooRCkudG9SZWQoVSkpLnJlZFBv''@;'; put 'put ''dyhuZXcgeihPLnB1YmxpY0V4cG9uZW50KSksRD1OLmZyb20oRC5mcm9tUmVkKCkudG9BcnJheSgpKTt2YXIgVj1ZPDg/MTowO2ZvcihMPU1hdGgubWluKEQubGVuZ3RoLFQubGVuZ3RoKSxELmxlbmd0aCE9PVQubGVuZ3RoJiYoVj0xKSxJPS0xOysrSTxMOylWfD1EW0ldXlRbSV07cmV0dXJu''@;'; put 'put ''IDA9PT1WfX0sNTY3OTooWixBLGopPT57dmFyIE49aig4NzY0KSx6PU4uQnVmZmVyO2Z1bmN0aW9uIEMobSxGKXtmb3IodmFyIEQgaW4gbSlGW0RdPW1bRF19ZnVuY3Rpb24gUyhtLEYsRCl7cmV0dXJuIHoobSxGLEQpfXouZnJvbSYmei5hbGxvYyYmei5hbGxvY1Vuc2FmZSYmei5hbGxvY1Vu''@;'; put 'put ''c2FmZVNsb3c/Wi5leHBvcnRzPU46KEMoTixBKSxBLkJ1ZmZlcj1TKSxTLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHoucHJvdG90eXBlKSxDKHosUyksUy5mcm9tPWZ1bmN0aW9uKG0sRixEKXtpZigibnVtYmVyIj09dHlwZW9mIG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVz''@;'; put 'put ''dCBub3QgYmUgYSBudW1iZXIiKTtyZXR1cm4geihtLEYsRCl9LFMuYWxsb2M9ZnVuY3Rpb24obSxGLEQpe2lmKCJudW1iZXIiIT10eXBlb2YgbSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7dmFyIHc9eihtKTtyZXR1cm4gdm9pZCAwIT09Rj8ic3Ry''@;'; put 'put ''aW5nIj09dHlwZW9mIEQ/dy5maWxsKEYsRCk6dy5maWxsKEYpOncuZmlsbCgwKSx3fSxTLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKG0pe2lmKCJudW1iZXIiIT10eXBlb2YgbSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIHoobSl9LFMuYWxs''@;'; put 'put ''b2NVbnNhZmVTbG93PWZ1bmN0aW9uKG0pe2lmKCJudW1iZXIiIT10eXBlb2YgbSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIE4uU2xvd0J1ZmZlcihtKX19LDcyOTU6KFosQSxqKT0+e3ZhciBOPWooODc2NCkuQnVmZmVyO1ouZXhwb3J0''@;'; put 'put ''cz1mdW5jdGlvbih6LEMpe2Zvcih2YXIgUz1NYXRoLm1pbih6Lmxlbmd0aCxDLmxlbmd0aCksbT1uZXcgTihTKSxGPTA7RjxTOysrRiltW0ZdPXpbRl1eQ1tGXTtyZXR1cm4gbX19LDg3NjQ6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDUxMDgpO2NvbnN0IHo9aig5NzQyKSxDPWoo''@;'; put 'put ''NjQ1KSxTPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wuZm9yP1N5bWJvbC5mb3IoIm5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tIik6bnVsbDtBLkJ1ZmZlcj1ELEEuU2xvd0J1ZmZlcj1mdW5jdGlvbihpZSl7cmV0dXJuK2llIT1pZSYmKGll''@;'; put 'put ''PTApLEQuYWxsb2MoK2llKX0sQS5JTlNQRUNUX01BWF9CWVRFUz01MDtjb25zdCBtPTIxNDc0ODM2NDc7ZnVuY3Rpb24gRihpZSl7aWYoaWU+bSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlICInK2llKyciIGlzIGludmFsaWQgZm9yIG9wdGlvbiAic2l6ZSInKTtjb25zdCBzZT1u''@;'; put 'put ''ZXcgVWludDhBcnJheShpZSk7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihzZSxELnByb3RvdHlwZSksc2V9ZnVuY3Rpb24gRChpZSxzZSxkZSl7aWYoIm51bWJlciI9PXR5cGVvZiBpZSl7aWYoInN0cmluZyI9PXR5cGVvZiBzZSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInN0cmlu''@;'; put 'put ''ZyIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZy4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTtyZXR1cm4gTShpZSl9cmV0dXJuIHcoaWUsc2UsZGUpfWZ1bmN0aW9uIHcoaWUsc2UsZGUpe2lmKCJzdHJpbmciPT10eXBlb2YgaWUpcmV0dXJuIGZ1bmN0aW9uKFNlLCRlKXtpZigic3Ry''@;'; put 'put ''aW5nIj09dHlwZW9mICRlJiYiIiE9PSRlfHwoJGU9InV0ZjgiKSwhRC5pc0VuY29kaW5nKCRlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiKyRlKTtjb25zdCBWZT0wfFQoU2UsJGUpO2xldCBHZT1GKFZlKTtjb25zdCBxdD1HZS53cml0ZShTZSwkZSk7cmV0dXJu''@;'; put 'put ''IHF0IT09VmUmJihHZT1HZS5zbGljZSgwLHF0KSksR2V9KGllLHNlKTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcoaWUpKXJldHVybiBmdW5jdGlvbihTZSl7aWYoTmUoU2UsVWludDhBcnJheSkpe2NvbnN0ICRlPW5ldyBVaW50OEFycmF5KFNlKTtyZXR1cm4gTygkZS5idWZmZXIsJGUuYnl0ZU9m''@;'; put 'put ''ZnNldCwkZS5ieXRlTGVuZ3RoKX1yZXR1cm4gayhTZSl9KGllKTtpZihudWxsPT1pZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVj''@;'; put 'put ''dC4gUmVjZWl2ZWQgdHlwZSAiK3R5cGVvZiBpZSk7aWYoTmUoaWUsQXJyYXlCdWZmZXIpfHxpZSYmTmUoaWUuYnVmZmVyLEFycmF5QnVmZmVyKXx8InVuZGVmaW5lZCIhPXR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlciYmKE5lKGllLFNoYXJlZEFycmF5QnVmZmVyKXx8aWUmJk5lKGllLmJ1ZmZl''@;'; put 'put ''cixTaGFyZWRBcnJheUJ1ZmZlcikpKXJldHVybiBPKGllLHNlLGRlKTtpZigibnVtYmVyIj09dHlwZW9mIGllKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAidmFsdWUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlIG51bWJlcicpO2NvbnN0IEFl''@;'; put 'put ''PWllLnZhbHVlT2YmJmllLnZhbHVlT2YoKTtpZihudWxsIT1BZSYmQWUhPT1pZSlyZXR1cm4gRC5mcm9tKEFlLHNlLGRlKTtjb25zdCBrZT1mdW5jdGlvbihTZSl7aWYoRC5pc0J1ZmZlcihTZSkpe2NvbnN0ICRlPTB8TChTZS5sZW5ndGgpLFZlPUYoJGUpO3JldHVybiAwPT09VmUubGVuZ3Ro''@;'; put 'put ''fHxTZS5jb3B5KFZlLDAsMCwkZSksVmV9cmV0dXJuIHZvaWQgMCE9PVNlLmxlbmd0aD8ibnVtYmVyIiE9dHlwZW9mIFNlLmxlbmd0aHx8SGUoU2UubGVuZ3RoKT9GKDApOmsoU2UpOiJCdWZmZXIiPT09U2UudHlwZSYmQXJyYXkuaXNBcnJheShTZS5kYXRhKT9rKFNlLmRhdGEpOnZvaWQgMH0o''@;'; put 'put ''aWUpO2lmKGtlKXJldHVybiBrZTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmbnVsbCE9U3ltYm9sLnRvUHJpbWl0aXZlJiYiZnVuY3Rpb24iPT10eXBlb2YgaWVbU3ltYm9sLnRvUHJpbWl0aXZlXSlyZXR1cm4gRC5mcm9tKGllW1N5bWJvbC50b1ByaW1pdGl2ZV0oInN0cmluZyIp''@;'; put 'put ''LHNlLGRlKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAiK3R5cGVvZiBpZSl9ZnVuY3Rpb24gUChp''@;'; put 'put ''ZSl7aWYoIm51bWJlciIhPXR5cGVvZiBpZSl0aHJvdyBuZXcgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIG51bWJlcicpO2lmKGllPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSAiJytpZSsnIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gInNpemUi''@;'; put 'put ''Jyl9ZnVuY3Rpb24gTShpZSl7cmV0dXJuIFAoaWUpLEYoaWU8MD8wOjB8TChpZSkpfWZ1bmN0aW9uIGsoaWUpe2NvbnN0IHNlPWllLmxlbmd0aDwwPzA6MHxMKGllLmxlbmd0aCksZGU9RihzZSk7Zm9yKGxldCBBZT0wO0FlPHNlO0FlKz0xKWRlW0FlXT0yNTUmaWVbQWVdO3JldHVybiBkZX1m''@;'; put 'put ''dW5jdGlvbiBPKGllLHNlLGRlKXtpZihzZTwwfHxpZS5ieXRlTGVuZ3RoPHNlKXRocm93IG5ldyBSYW5nZUVycm9yKCcib2Zmc2V0IiBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHMnKTtpZihpZS5ieXRlTGVuZ3RoPHNlKyhkZXx8MCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyJsZW5ndGgi''@;'; put 'put ''IGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO2xldCBBZTtyZXR1cm4gQWU9dm9pZCAwPT09c2UmJnZvaWQgMD09PWRlP25ldyBVaW50OEFycmF5KGllKTp2b2lkIDA9PT1kZT9uZXcgVWludDhBcnJheShpZSxzZSk6bmV3IFVpbnQ4QXJyYXkoaWUsc2UsZGUpLE9iamVjdC5zZXRQcm90''@;'; put 'put ''b3R5cGVPZihBZSxELnByb3RvdHlwZSksQWV9ZnVuY3Rpb24gTChpZSl7aWYoaWU+PW0pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK20udG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gMHxp''@;'; put 'put ''ZX1mdW5jdGlvbiBUKGllLHNlKXtpZihELmlzQnVmZmVyKGllKSlyZXR1cm4gaWUubGVuZ3RoO2lmKEFycmF5QnVmZmVyLmlzVmlldyhpZSl8fE5lKGllLEFycmF5QnVmZmVyKSlyZXR1cm4gaWUuYnl0ZUxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIGllKXRocm93IG5ldyBUeXBlRXJyb3Io''@;'; put 'put ''J1RoZSAic3RyaW5nIiBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBvciBBcnJheUJ1ZmZlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBpZSk7Y29uc3QgZGU9aWUubGVuZ3RoLEFlPWFyZ3VtZW50cy5sZW5ndGg+MiYmITA9PT1hcmd1bWVudHNbMl07aWYo''@;'; put 'put ''IUFlJiYwPT09ZGUpcmV0dXJuIDA7bGV0IGtlPSExO2Zvcig7Oylzd2l0Y2goc2Upe2Nhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIGRlO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIHhlKGllKS5sZW5ndGg7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpj''@;'; put 'put ''YXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiAyKmRlO2Nhc2UiaGV4IjpyZXR1cm4gZGU+Pj4xO2Nhc2UiYmFzZTY0IjpyZXR1cm4gRWUoaWUpLmxlbmd0aDtkZWZhdWx0OmlmKGtlKXJldHVybiBBZT8tMTp4ZShpZSkubGVuZ3RoO3NlPSgiIitzZSkudG9Mb3dlckNhc2UoKSxr''@;'; put 'put ''ZT0hMH19ZnVuY3Rpb24gWShpZSxzZSxkZSl7bGV0IEFlPSExO2lmKCh2b2lkIDA9PT1zZXx8c2U8MCkmJihzZT0wKSxzZT50aGlzLmxlbmd0aHx8KCh2b2lkIDA9PT1kZXx8ZGU+dGhpcy5sZW5ndGgpJiYoZGU9dGhpcy5sZW5ndGgpLGRlPD0wKXx8KGRlPj4+PTApPD0oc2U+Pj49MCkpcmV0''@;'; put 'put ''dXJuIiI7Zm9yKGllfHwoaWU9InV0ZjgiKTs7KXN3aXRjaChpZSl7Y2FzZSJoZXgiOnJldHVybiBnKHRoaXMsc2UsZGUpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIGgodGhpcyxzZSxkZSk7Y2FzZSJhc2NpaSI6cmV0dXJuIHkodGhpcyxzZSxkZSk7Y2FzZSJsYXRpbjEiOmNhc2Ui''@;'; put 'put ''YmluYXJ5IjpyZXR1cm4gcCh0aGlzLHNlLGRlKTtjYXNlImJhc2U2NCI6cmV0dXJuIHRlKHRoaXMsc2UsZGUpO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gXyh0aGlzLHNlLGRlKTtkZWZhdWx0OmlmKEFlKXRocm93IG5ldyBUeXBl''@;'; put 'put ''RXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIraWUpO2llPShpZSsiIikudG9Mb3dlckNhc2UoKSxBZT0hMH19ZnVuY3Rpb24gSShpZSxzZSxkZSl7Y29uc3QgQWU9aWVbc2VdO2llW3NlXT1pZVtkZV0saWVbZGVdPUFlfWZ1bmN0aW9uIFUoaWUsc2UsZGUsQWUsa2Upe2lmKDA9PT1pZS5sZW5n''@;'; put 'put ''dGgpcmV0dXJuLTE7aWYoInN0cmluZyI9PXR5cGVvZiBkZT8oQWU9ZGUsZGU9MCk6ZGU+MjE0NzQ4MzY0Nz9kZT0yMTQ3NDgzNjQ3OmRlPC0yMTQ3NDgzNjQ4JiYoZGU9LTIxNDc0ODM2NDgpLEhlKGRlPStkZSkmJihkZT1rZT8wOmllLmxlbmd0aC0xKSxkZTwwJiYoZGU9aWUubGVuZ3RoK2Rl''@;'; put 'put ''KSxkZT49aWUubGVuZ3RoKXtpZihrZSlyZXR1cm4tMTtkZT1pZS5sZW5ndGgtMX1lbHNlIGlmKGRlPDApe2lmKCFrZSlyZXR1cm4tMTtkZT0wfWlmKCJzdHJpbmciPT10eXBlb2Ygc2UmJihzZT1ELmZyb20oc2UsQWUpKSxELmlzQnVmZmVyKHNlKSlyZXR1cm4gMD09PXNlLmxlbmd0aD8tMTpW''@;'; put 'put ''KGllLHNlLGRlLEFlLGtlKTtpZigibnVtYmVyIj09dHlwZW9mIHNlKXJldHVybiBzZSY9MjU1LCJmdW5jdGlvbiI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mP2tlP1VpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChpZSxzZSxkZSk6VWludDhBcnJheS5wcm90''@;'; put 'put ''b3R5cGUubGFzdEluZGV4T2YuY2FsbChpZSxzZSxkZSk6VihpZSxbc2VdLGRlLEFlLGtlKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJ2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXIiKX1mdW5jdGlvbiBWKGllLHNlLGRlLEFlLGtlKXtsZXQgU2UsJGU9MSxWZT1pZS5sZW5ndGgs''@;'; put 'put ''R2U9c2UubGVuZ3RoO2lmKHZvaWQgMCE9PUFlJiYoInVjczIiPT09KEFlPVN0cmluZyhBZSkudG9Mb3dlckNhc2UoKSl8fCJ1Y3MtMiI9PT1BZXx8InV0ZjE2bGUiPT09QWV8fCJ1dGYtMTZsZSI9PT1BZSkpe2lmKGllLmxlbmd0aDwyfHxzZS5sZW5ndGg8MilyZXR1cm4tMTskZT0yLFZlLz0y''@;'; put 'put ''LEdlLz0yLGRlLz0yfWZ1bmN0aW9uIHF0KEtlLGV0KXtyZXR1cm4gMT09PSRlP0tlW2V0XTpLZS5yZWFkVUludDE2QkUoZXQqJGUpfWlmKGtlKXtsZXQgS2U9LTE7Zm9yKFNlPWRlO1NlPFZlO1NlKyspaWYocXQoaWUsU2UpPT09cXQoc2UsLTE9PT1LZT8wOlNlLUtlKSl7aWYoLTE9PT1LZSYm''@;'; put 'put ''KEtlPVNlKSxTZS1LZSsxPT09R2UpcmV0dXJuIEtlKiRlfWVsc2UtMSE9PUtlJiYoU2UtPVNlLUtlKSxLZT0tMX1lbHNlIGZvcihkZStHZT5WZSYmKGRlPVZlLUdlKSxTZT1kZTtTZT49MDtTZS0tKXtsZXQgS2U9ITA7Zm9yKGxldCBldD0wO2V0PEdlO2V0KyspaWYocXQoaWUsU2UrZXQpIT09''@;'; put 'put ''cXQoc2UsZXQpKXtLZT0hMTticmVha31pZihLZSlyZXR1cm4gU2V9cmV0dXJuLTF9ZnVuY3Rpb24gUihpZSxzZSxkZSxBZSl7ZGU9TnVtYmVyKGRlKXx8MDtjb25zdCBrZT1pZS5sZW5ndGgtZGU7QWU/KEFlPU51bWJlcihBZSkpPmtlJiYoQWU9a2UpOkFlPWtlO2NvbnN0IFNlPXNlLmxlbmd0''@;'; put 'put ''aDtsZXQgJGU7Zm9yKEFlPlNlLzImJihBZT1TZS8yKSwkZT0wOyRlPEFlOysrJGUpe2NvbnN0IFZlPXBhcnNlSW50KHNlLnN1YnN0cigyKiRlLDIpLDE2KTtpZihIZShWZSkpcmV0dXJuICRlO2llW2RlKyRlXT1WZX1yZXR1cm4gJGV9ZnVuY3Rpb24gQihpZSxzZSxkZSxBZSl7cmV0dXJuIHd0''@;'; put 'put ''KHhlKHNlLGllLmxlbmd0aC1kZSksaWUsZGUsQWUpfWZ1bmN0aW9uIHEoaWUsc2UsZGUsQWUpe3JldHVybiB3dChmdW5jdGlvbihrZSl7Y29uc3QgU2U9W107Zm9yKGxldCAkZT0wOyRlPGtlLmxlbmd0aDsrKyRlKVNlLnB1c2goMjU1JmtlLmNoYXJDb2RlQXQoJGUpKTtyZXR1cm4gU2V9KHNl''@;'; put 'put ''KSxpZSxkZSxBZSl9ZnVuY3Rpb24gSihpZSxzZSxkZSxBZSl7cmV0dXJuIHd0KEVlKHNlKSxpZSxkZSxBZSl9ZnVuY3Rpb24gJChpZSxzZSxkZSxBZSl7cmV0dXJuIHd0KGZ1bmN0aW9uKGtlLFNlKXtsZXQgJGUsVmUsR2U7Y29uc3QgcXQ9W107Zm9yKGxldCBLZT0wO0tlPGtlLmxlbmd0aCYm''@;'; put 'put ''ISgoU2UtPTIpPDApOysrS2UpJGU9a2UuY2hhckNvZGVBdChLZSksVmU9JGU+PjgsR2U9JGUlMjU2LHF0LnB1c2goR2UpLHF0LnB1c2goVmUpO3JldHVybiBxdH0oc2UsaWUubGVuZ3RoLWRlKSxpZSxkZSxBZSl9ZnVuY3Rpb24gdGUoaWUsc2UsZGUpe3JldHVybiB6LmZyb21CeXRlQXJyYXko''@;'; put 'put ''MD09PXNlJiZkZT09PWllLmxlbmd0aD9pZTppZS5zbGljZShzZSxkZSkpfWZ1bmN0aW9uIGgoaWUsc2UsZGUpe2RlPU1hdGgubWluKGllLmxlbmd0aCxkZSk7Y29uc3QgQWU9W107bGV0IGtlPXNlO2Zvcig7a2U8ZGU7KXtjb25zdCBTZT1pZVtrZV07bGV0ICRlPW51bGwsVmU9U2U+MjM5PzQ6''@;'; put 'put ''U2U+MjIzPzM6U2U+MTkxPzI6MTtpZihrZStWZTw9ZGUpe2xldCBHZSxxdCxLZSxldDtzd2l0Y2goVmUpe2Nhc2UgMTpTZTwxMjgmJigkZT1TZSk7YnJlYWs7Y2FzZSAyOkdlPWllW2tlKzFdLDEyOD09KDE5MiZHZSkmJihldD0oMzEmU2UpPDw2fDYzJkdlLGV0PjEyNyYmKCRlPWV0KSk7YnJl''@;'; put 'put ''YWs7Y2FzZSAzOkdlPWllW2tlKzFdLHF0PWllW2tlKzJdLDEyOD09KDE5MiZHZSkmJjEyOD09KDE5MiZxdCkmJihldD0oMTUmU2UpPDwxMnwoNjMmR2UpPDw2fDYzJnF0LGV0PjIwNDcmJihldDw1NTI5Nnx8ZXQ+NTczNDMpJiYoJGU9ZXQpKTticmVhaztjYXNlIDQ6R2U9aWVba2UrMV0scXQ9''@;'; put 'put ''aWVba2UrMl0sS2U9aWVba2UrM10sMTI4PT0oMTkyJkdlKSYmMTI4PT0oMTkyJnF0KSYmMTI4PT0oMTkyJktlKSYmKGV0PSgxNSZTZSk8PDE4fCg2MyZHZSk8PDEyfCg2MyZxdCk8PDZ8NjMmS2UsZXQ+NjU1MzUmJmV0PDExMTQxMTImJigkZT1ldCkpfX1udWxsPT09JGU/KCRlPTY1NTMzLFZl''@;'; put 'put ''PTEpOiRlPjY1NTM1JiYoJGUtPTY1NTM2LEFlLnB1c2goJGU+Pj4xMCYxMDIzfDU1Mjk2KSwkZT01NjMyMHwxMDIzJiRlKSxBZS5wdXNoKCRlKSxrZSs9VmV9cmV0dXJuIGZ1bmN0aW9uKFNlKXtjb25zdCAkZT1TZS5sZW5ndGg7aWYoJGU8PWIpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUu''@;'; put 'put ''YXBwbHkoU3RyaW5nLFNlKTtsZXQgVmU9IiIsR2U9MDtmb3IoO0dlPCRlOylWZSs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsU2Uuc2xpY2UoR2UsR2UrPWIpKTtyZXR1cm4gVmV9KEFlKX1BLmtNYXhMZW5ndGg9bSwoRC5UWVBFRF9BUlJBWV9TVVBQT1JUPWZ1bmN0aW9uKCl7''@;'; put 'put ''dHJ5e2NvbnN0IGllPW5ldyBVaW50OEFycmF5KDEpLHNlPXtmb286ZnVuY3Rpb24oKXtyZXR1cm4gNDJ9fTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKHNlLFVpbnQ4QXJyYXkucHJvdG90eXBlKSxPYmplY3Quc2V0UHJvdG90eXBlT2YoaWUsc2UpLDQyPT09aWUuZm9vKCl9Y2F0Y2go''@;'; put 'put ''aWUpe3JldHVybiExfX0oKSl8fHZvaWQgMD09PU58fCJmdW5jdGlvbiIhPXR5cGVvZiBOLmVycm9yfHxOLmVycm9yKCJUaGlzIGJyb3dzZXIgbGFja3MgdHlwZWQgYXJyYXkgKFVpbnQ4QXJyYXkpIHN1cHBvcnQgd2hpY2ggaXMgcmVxdWlyZWQgYnkgYGJ1ZmZlcmAgdjUueC4gVXNlIGBidWZm''@;'; put 'put ''ZXJgIHY0LnggaWYgeW91IHJlcXVpcmUgb2xkIGJyb3dzZXIgc3VwcG9ydC4iKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRC5wcm90b3R5cGUsInBhcmVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoRC5pc0J1ZmZlcih0aGlzKSlyZXR1cm4gdGhpcy5idWZmZXJ9fSksT2Jq''@;'; put 'put ''ZWN0LmRlZmluZVByb3BlcnR5KEQucHJvdG90eXBlLCJvZmZzZXQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKEQuaXNCdWZmZXIodGhpcykpcmV0dXJuIHRoaXMuYnl0ZU9mZnNldH19KSxELnBvb2xTaXplPTgxOTIsRC5mcm9tPWZ1bmN0aW9uKGllLHNlLGRlKXtyZXR1cm4g''@;'; put 'put ''dyhpZSxzZSxkZSl9LE9iamVjdC5zZXRQcm90b3R5cGVPZihELnByb3RvdHlwZSxVaW50OEFycmF5LnByb3RvdHlwZSksT2JqZWN0LnNldFByb3RvdHlwZU9mKEQsVWludDhBcnJheSksRC5hbGxvYz1mdW5jdGlvbihpZSxzZSxkZSl7cmV0dXJuIGtlPXNlLFNlPWRlLFAoQWU9aWUpLEFlPD0w''@;'; put 'put ''P0YoQWUpOnZvaWQgMCE9PWtlPyJzdHJpbmciPT10eXBlb2YgU2U/RihBZSkuZmlsbChrZSxTZSk6RihBZSkuZmlsbChrZSk6RihBZSk7dmFyIEFlLGtlLFNlfSxELmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGllKXtyZXR1cm4gTShpZSl9LEQuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGllKXty''@;'; put 'put ''ZXR1cm4gTShpZSl9LEQuaXNCdWZmZXI9ZnVuY3Rpb24oaWUpe3JldHVybiBudWxsIT1pZSYmITA9PT1pZS5faXNCdWZmZXImJmllIT09RC5wcm90b3R5cGV9LEQuY29tcGFyZT1mdW5jdGlvbihpZSxzZSl7aWYoTmUoaWUsVWludDhBcnJheSkmJihpZT1ELmZyb20oaWUsaWUub2Zmc2V0LGll''@;'; put 'put ''LmJ5dGVMZW5ndGgpKSxOZShzZSxVaW50OEFycmF5KSYmKHNlPUQuZnJvbShzZSxzZS5vZmZzZXQsc2UuYnl0ZUxlbmd0aCkpLCFELmlzQnVmZmVyKGllKXx8IUQuaXNCdWZmZXIoc2UpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAiYnVmMSIsICJidWYyIiBhcmd1bWVudHMgbXVzdCBiZSBv''@;'; put 'put ''bmUgb2YgdHlwZSBCdWZmZXIgb3IgVWludDhBcnJheScpO2lmKGllPT09c2UpcmV0dXJuIDA7bGV0IGRlPWllLmxlbmd0aCxBZT1zZS5sZW5ndGg7Zm9yKGxldCBrZT0wLFNlPU1hdGgubWluKGRlLEFlKTtrZTxTZTsrK2tlKWlmKGllW2tlXSE9PXNlW2tlXSl7ZGU9aWVba2VdLEFlPXNlW2tl''@;'; put 'put ''XTticmVha31yZXR1cm4gZGU8QWU/LTE6QWU8ZGU/MTowfSxELmlzRW5jb2Rpbmc9ZnVuY3Rpb24oaWUpe3N3aXRjaChTdHJpbmcoaWUpLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6''@;'; put 'put ''Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sRC5jb25jYXQ9ZnVuY3Rpb24oaWUsc2Upe2lmKCFBcnJheS5pc0FycmF5KGllKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlz''@;'; put 'put ''dCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PWllLmxlbmd0aClyZXR1cm4gRC5hbGxvYygwKTtsZXQgZGU7aWYodm9pZCAwPT09c2UpZm9yKHNlPTAsZGU9MDtkZTxpZS5sZW5ndGg7KytkZSlzZSs9aWVbZGVdLmxlbmd0aDtjb25zdCBBZT1ELmFsbG9j''@;'; put 'put ''VW5zYWZlKHNlKTtsZXQga2U9MDtmb3IoZGU9MDtkZTxpZS5sZW5ndGg7KytkZSl7bGV0IFNlPWllW2RlXTtpZihOZShTZSxVaW50OEFycmF5KSlrZStTZS5sZW5ndGg+QWUubGVuZ3RoPyhELmlzQnVmZmVyKFNlKXx8KFNlPUQuZnJvbShTZSkpLFNlLmNvcHkoQWUsa2UpKTpVaW50OEFycmF5''@;'; put 'put ''LnByb3RvdHlwZS5zZXQuY2FsbChBZSxTZSxrZSk7ZWxzZXtpZighRC5pc0J1ZmZlcihTZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO1NlLmNvcHkoQWUsa2UpfWtlKz1TZS5sZW5ndGh9cmV0dXJuIEFlfSxELmJ5''@;'; put 'put ''dGVMZW5ndGg9VCxELnByb3RvdHlwZS5faXNCdWZmZXI9ITAsRC5wcm90b3R5cGUuc3dhcDE2PWZ1bmN0aW9uKCl7Y29uc3QgaWU9dGhpcy5sZW5ndGg7aWYoaWUlMiE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHMiKTtm''@;'; put 'put ''b3IobGV0IHNlPTA7c2U8aWU7c2UrPTIpSSh0aGlzLHNlLHNlKzEpO3JldHVybiB0aGlzfSxELnByb3RvdHlwZS5zd2FwMzI9ZnVuY3Rpb24oKXtjb25zdCBpZT10aGlzLmxlbmd0aDtpZihpZSU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlw''@;'; put 'put ''bGUgb2YgMzItYml0cyIpO2ZvcihsZXQgc2U9MDtzZTxpZTtzZSs9NClJKHRoaXMsc2Usc2UrMyksSSh0aGlzLHNlKzEsc2UrMik7cmV0dXJuIHRoaXN9LEQucHJvdG90eXBlLnN3YXA2ND1mdW5jdGlvbigpe2NvbnN0IGllPXRoaXMubGVuZ3RoO2lmKGllJTghPTApdGhyb3cgbmV3IFJhbmdl''@;'; put 'put ''RXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKGxldCBzZT0wO3NlPGllO3NlKz04KUkodGhpcyxzZSxzZSs3KSxJKHRoaXMsc2UrMSxzZSs2KSxJKHRoaXMsc2UrMixzZSs1KSxJKHRoaXMsc2UrMyxzZSs0KTtyZXR1cm4gdGhpc30sRC5wcm90''@;'; put 'put ''b3R5cGUudG9Mb2NhbGVTdHJpbmc9RC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtjb25zdCBpZT10aGlzLmxlbmd0aDtyZXR1cm4gMD09PWllPyIiOjA9PT1hcmd1bWVudHMubGVuZ3RoP2godGhpcywwLGllKTpZLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sRC5wcm90b3R5cGUuZXF1''@;'; put 'put ''YWxzPWZ1bmN0aW9uKGllKXtpZighRC5pc0J1ZmZlcihpZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciIpO3JldHVybiB0aGlzPT09aWV8fDA9PT1ELmNvbXBhcmUodGhpcyxpZSl9LEQucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtsZXQgaWU9''@;'; put 'put ''IiI7Y29uc3Qgc2U9QS5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gaWU9dGhpcy50b1N0cmluZygiaGV4IiwwLHNlKS5yZXBsYWNlKC8oLnsyfSkvZywiJDEgIikudHJpbSgpLHRoaXMubGVuZ3RoPnNlJiYoaWUrPSIgLi4uICIpLCI8QnVmZmVyICIraWUrIj4ifSxTJiYoRC5wcm90b3R5cGVb''@;'; put 'put ''U109RC5wcm90b3R5cGUuaW5zcGVjdCksRC5wcm90b3R5cGUuY29tcGFyZT1mdW5jdGlvbihpZSxzZSxkZSxBZSxrZSl7aWYoTmUoaWUsVWludDhBcnJheSkmJihpZT1ELmZyb20oaWUsaWUub2Zmc2V0LGllLmJ5dGVMZW5ndGgpKSwhRC5pc0J1ZmZlcihpZSkpdGhyb3cgbmV3IFR5cGVFcnJv''@;'; put 'put ''cignVGhlICJ0YXJnZXQiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgQnVmZmVyIG9yIFVpbnQ4QXJyYXkuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgaWUpO2lmKHZvaWQgMD09PXNlJiYoc2U9MCksdm9pZCAwPT09ZGUmJihkZT1pZT9pZS5sZW5ndGg6MCksdm9pZCAwPT09QWUmJihB''@;'; put 'put ''ZT0wKSx2b2lkIDA9PT1rZSYmKGtlPXRoaXMubGVuZ3RoKSxzZTwwfHxkZT5pZS5sZW5ndGh8fEFlPDB8fGtlPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihBZT49a2UmJnNlPj1kZSlyZXR1cm4gMDtpZihBZT49a2UpcmV0dXJuLTE7''@;'; put 'put ''aWYoc2U+PWRlKXJldHVybiAxO2lmKHRoaXM9PT1pZSlyZXR1cm4gMDtsZXQgU2U9KGtlPj4+PTApLShBZT4+Pj0wKSwkZT0oZGU+Pj49MCktKHNlPj4+PTApO2NvbnN0IFZlPU1hdGgubWluKFNlLCRlKSxHZT10aGlzLnNsaWNlKEFlLGtlKSxxdD1pZS5zbGljZShzZSxkZSk7Zm9yKGxldCBL''@;'; put 'put ''ZT0wO0tlPFZlOysrS2UpaWYoR2VbS2VdIT09cXRbS2VdKXtTZT1HZVtLZV0sJGU9cXRbS2VdO2JyZWFrfXJldHVybiBTZTwkZT8tMTokZTxTZT8xOjB9LEQucHJvdG90eXBlLmluY2x1ZGVzPWZ1bmN0aW9uKGllLHNlLGRlKXtyZXR1cm4tMSE9PXRoaXMuaW5kZXhPZihpZSxzZSxkZSl9LEQu''@;'; put 'put ''cHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24oaWUsc2UsZGUpe3JldHVybiBVKHRoaXMsaWUsc2UsZGUsITApfSxELnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbihpZSxzZSxkZSl7cmV0dXJuIFUodGhpcyxpZSxzZSxkZSwhMSl9LEQucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGll''@;'; put 'put ''LHNlLGRlLEFlKXtpZih2b2lkIDA9PT1zZSlBZT0idXRmOCIsZGU9dGhpcy5sZW5ndGgsc2U9MDtlbHNlIGlmKHZvaWQgMD09PWRlJiYic3RyaW5nIj09dHlwZW9mIHNlKUFlPXNlLGRlPXRoaXMubGVuZ3RoLHNlPTA7ZWxzZXtpZighaXNGaW5pdGUoc2UpKXRocm93IG5ldyBFcnJvcigiQnVm''@;'; put 'put ''ZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiKTtzZT4+Pj0wLGlzRmluaXRlKGRlKT8oZGU+Pj49MCx2b2lkIDA9PT1BZSYmKEFlPSJ1dGY4IikpOihBZT1kZSxkZT12b2lkIDApfWNvbnN0IGtlPXRoaXMubGVuZ3Ro''@;'; put 'put ''LXNlO2lmKCh2b2lkIDA9PT1kZXx8ZGU+a2UpJiYoZGU9a2UpLGllLmxlbmd0aD4wJiYoZGU8MHx8c2U8MCl8fHNlPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kcyIpO0FlfHwoQWU9InV0ZjgiKTtsZXQgU2U9''@;'; put 'put ''ITE7Zm9yKDs7KXN3aXRjaChBZSl7Y2FzZSJoZXgiOnJldHVybiBSKHRoaXMsaWUsc2UsZGUpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIEIodGhpcyxpZSxzZSxkZSk7Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gcSh0aGlzLGllLHNlLGRlKTtj''@;'; put 'put ''YXNlImJhc2U2NCI6cmV0dXJuIEoodGhpcyxpZSxzZSxkZSk7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiAkKHRoaXMsaWUsc2UsZGUpO2RlZmF1bHQ6aWYoU2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzog''@;'; put 'put ''IitBZSk7QWU9KCIiK0FlKS50b0xvd2VyQ2FzZSgpLFNlPSEwfX0sRC5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6IkJ1ZmZlciIsZGF0YTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnJ8fHRoaXMsMCl9fTtjb25zdCBiPTQwOTY7ZnVuY3Rpb24g''@;'; put 'put ''eShpZSxzZSxkZSl7bGV0IEFlPSIiO2RlPU1hdGgubWluKGllLmxlbmd0aCxkZSk7Zm9yKGxldCBrZT1zZTtrZTxkZTsrK2tlKUFlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyZpZVtrZV0pO3JldHVybiBBZX1mdW5jdGlvbiBwKGllLHNlLGRlKXtsZXQgQWU9IiI7ZGU9TWF0aC5taW4oaWUu''@;'; put 'put ''bGVuZ3RoLGRlKTtmb3IobGV0IGtlPXNlO2tlPGRlOysra2UpQWUrPVN0cmluZy5mcm9tQ2hhckNvZGUoaWVba2VdKTtyZXR1cm4gQWV9ZnVuY3Rpb24gZyhpZSxzZSxkZSl7Y29uc3QgQWU9aWUubGVuZ3RoOyghc2V8fHNlPDApJiYoc2U9MCksKCFkZXx8ZGU8MHx8ZGU+QWUpJiYoZGU9QWUp''@;'; put 'put ''O2xldCBrZT0iIjtmb3IobGV0IFNlPXNlO1NlPGRlOysrU2Upa2UrPVJlW2llW1NlXV07cmV0dXJuIGtlfWZ1bmN0aW9uIF8oaWUsc2UsZGUpe2NvbnN0IEFlPWllLnNsaWNlKHNlLGRlKTtsZXQga2U9IiI7Zm9yKGxldCBTZT0wO1NlPEFlLmxlbmd0aC0xO1NlKz0yKWtlKz1TdHJpbmcuZnJv''@;'; put 'put ''bUNoYXJDb2RlKEFlW1NlXSsyNTYqQWVbU2UrMV0pO3JldHVybiBrZX1mdW5jdGlvbiBFKGllLHNlLGRlKXtpZihpZSUxIT0wfHxpZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgbm90IHVpbnQiKTtpZihpZStzZT5kZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVHJ5aW5nIHRv''@;'; put 'put ''IGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCIpfWZ1bmN0aW9uIFcoaWUsc2UsZGUsQWUsa2UsU2Upe2lmKCFELmlzQnVmZmVyKGllKSl0aHJvdyBuZXcgVHlwZUVycm9yKCciYnVmZmVyIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7aWYoc2U+a2V8fHNlPFNlKXRo''@;'; put 'put ''cm93IG5ldyBSYW5nZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IGlzIG91dCBvZiBib3VuZHMnKTtpZihkZStBZT5pZS5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIEcoaWUsc2UsZGUsQWUsa2Upe2NlKHNlLEFlLGtlLGllLGRlLDcp''@;'; put 'put ''O2xldCBTZT1OdW1iZXIoc2UmQmlnSW50KDQyOTQ5NjcyOTUpKTtpZVtkZSsrXT1TZSxTZT4+PTgsaWVbZGUrK109U2UsU2U+Pj04LGllW2RlKytdPVNlLFNlPj49OCxpZVtkZSsrXT1TZTtsZXQgJGU9TnVtYmVyKHNlPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSk7cmV0dXJuIGll''@;'; put 'put ''W2RlKytdPSRlLCRlPj49OCxpZVtkZSsrXT0kZSwkZT4+PTgsaWVbZGUrK109JGUsJGU+Pj04LGllW2RlKytdPSRlLGRlfWZ1bmN0aW9uIFgoaWUsc2UsZGUsQWUsa2Upe2NlKHNlLEFlLGtlLGllLGRlLDcpO2xldCBTZT1OdW1iZXIoc2UmQmlnSW50KDQyOTQ5NjcyOTUpKTtpZVtkZSs3XT1T''@;'; put 'put ''ZSxTZT4+PTgsaWVbZGUrNl09U2UsU2U+Pj04LGllW2RlKzVdPVNlLFNlPj49OCxpZVtkZSs0XT1TZTtsZXQgJGU9TnVtYmVyKHNlPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSk7cmV0dXJuIGllW2RlKzNdPSRlLCRlPj49OCxpZVtkZSsyXT0kZSwkZT4+PTgsaWVbZGUrMV09JGUs''@;'; put 'put ''JGU+Pj04LGllW2RlXT0kZSxkZSs4fWZ1bmN0aW9uIG5lKGllLHNlLGRlLEFlLGtlLFNlKXtpZihkZStBZT5pZS5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKGRlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIp''@;'; put 'put ''fWZ1bmN0aW9uIGFlKGllLHNlLGRlLEFlLGtlKXtyZXR1cm4gc2U9K3NlLGRlPj4+PTAsa2V8fG5lKGllLDAsZGUsNCksQy53cml0ZShpZSxzZSxkZSxBZSwyMyw0KSxkZSs0fWZ1bmN0aW9uIHVlKGllLHNlLGRlLEFlLGtlKXtyZXR1cm4gc2U9K3NlLGRlPj4+PTAsa2V8fG5lKGllLDAsZGUs''@;'; put 'put ''OCksQy53cml0ZShpZSxzZSxkZSxBZSw1Miw4KSxkZSs4fUQucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKGllLHNlKXtjb25zdCBkZT10aGlzLmxlbmd0aDsoaWU9fn5pZSk8MD8oaWUrPWRlKTwwJiYoaWU9MCk6aWU+ZGUmJihpZT1kZSksKHNlPXZvaWQgMD09PXNlP2RlOn5+c2UpPDA/KHNl''@;'; put 'put ''Kz1kZSk8MCYmKHNlPTApOnNlPmRlJiYoc2U9ZGUpLHNlPGllJiYoc2U9aWUpO2NvbnN0IEFlPXRoaXMuc3ViYXJyYXkoaWUsc2UpO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoQWUsRC5wcm90b3R5cGUpLEFlfSxELnByb3RvdHlwZS5yZWFkVWludExFPUQucHJvdG90eXBlLnJlYWRV''@;'; put 'put ''SW50TEU9ZnVuY3Rpb24oaWUsc2UsZGUpe2llPj4+PTAsc2U+Pj49MCxkZXx8RShpZSxzZSx0aGlzLmxlbmd0aCk7bGV0IEFlPXRoaXNbaWVdLGtlPTEsU2U9MDtmb3IoOysrU2U8c2UmJihrZSo9MjU2KTspQWUrPXRoaXNbaWUrU2VdKmtlO3JldHVybiBBZX0sRC5wcm90b3R5cGUucmVhZFVp''@;'; put 'put ''bnRCRT1ELnByb3RvdHlwZS5yZWFkVUludEJFPWZ1bmN0aW9uKGllLHNlLGRlKXtpZT4+Pj0wLHNlPj4+PTAsZGV8fEUoaWUsc2UsdGhpcy5sZW5ndGgpO2xldCBBZT10aGlzW2llKy0tc2VdLGtlPTE7Zm9yKDtzZT4wJiYoa2UqPTI1Nik7KUFlKz10aGlzW2llKy0tc2VdKmtlO3JldHVybiBB''@;'; put 'put ''ZX0sRC5wcm90b3R5cGUucmVhZFVpbnQ4PUQucHJvdG90eXBlLnJlYWRVSW50OD1mdW5jdGlvbihpZSxzZSl7cmV0dXJuIGllPj4+PTAsc2V8fEUoaWUsMSx0aGlzLmxlbmd0aCksdGhpc1tpZV19LEQucHJvdG90eXBlLnJlYWRVaW50MTZMRT1ELnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVu''@;'; put 'put ''Y3Rpb24oaWUsc2Upe3JldHVybiBpZT4+Pj0wLHNlfHxFKGllLDIsdGhpcy5sZW5ndGgpLHRoaXNbaWVdfHRoaXNbaWUrMV08PDh9LEQucHJvdG90eXBlLnJlYWRVaW50MTZCRT1ELnByb3RvdHlwZS5yZWFkVUludDE2QkU9ZnVuY3Rpb24oaWUsc2Upe3JldHVybiBpZT4+Pj0wLHNlfHxFKGll''@;'; put 'put ''LDIsdGhpcy5sZW5ndGgpLHRoaXNbaWVdPDw4fHRoaXNbaWUrMV19LEQucHJvdG90eXBlLnJlYWRVaW50MzJMRT1ELnByb3RvdHlwZS5yZWFkVUludDMyTEU9ZnVuY3Rpb24oaWUsc2Upe3JldHVybiBpZT4+Pj0wLHNlfHxFKGllLDQsdGhpcy5sZW5ndGgpLCh0aGlzW2llXXx0aGlzW2llKzFd''@;'; put 'put ''PDw4fHRoaXNbaWUrMl08PDE2KSsxNjc3NzIxNip0aGlzW2llKzNdfSxELnByb3RvdHlwZS5yZWFkVWludDMyQkU9RC5wcm90b3R5cGUucmVhZFVJbnQzMkJFPWZ1bmN0aW9uKGllLHNlKXtyZXR1cm4gaWU+Pj49MCxzZXx8RShpZSw0LHRoaXMubGVuZ3RoKSwxNjc3NzIxNip0aGlzW2llXSso''@;'; put 'put ''dGhpc1tpZSsxXTw8MTZ8dGhpc1tpZSsyXTw8OHx0aGlzW2llKzNdKX0sRC5wcm90b3R5cGUucmVhZEJpZ1VJbnQ2NExFPU9lKGZ1bmN0aW9uKGllKXtwZShpZT4+Pj0wLCJvZmZzZXQiKTtjb25zdCBzZT10aGlzW2llXSxkZT10aGlzW2llKzddO3ZvaWQgMCE9PXNlJiZ2b2lkIDAhPT1kZXx8''@;'; put 'put ''d2UoaWUsdGhpcy5sZW5ndGgtOCk7Y29uc3QgQWU9c2UrMjU2KnRoaXNbKytpZV0rNjU1MzYqdGhpc1srK2llXSt0aGlzWysraWVdKmZjKDIsMjQpLGtlPXRoaXNbKytpZV0rMjU2KnRoaXNbKytpZV0rNjU1MzYqdGhpc1srK2llXStkZSpmYygyLDI0KTtyZXR1cm4gQmlnSW50KEFlKSsoQmln''@;'; put 'put ''SW50KGtlKTw8QmlnSW50KDMyKSl9KSxELnByb3RvdHlwZS5yZWFkQmlnVUludDY0QkU9T2UoZnVuY3Rpb24oaWUpe3BlKGllPj4+PTAsIm9mZnNldCIpO2NvbnN0IHNlPXRoaXNbaWVdLGRlPXRoaXNbaWUrN107dm9pZCAwIT09c2UmJnZvaWQgMCE9PWRlfHx3ZShpZSx0aGlzLmxlbmd0aC04''@;'; put 'put ''KTtjb25zdCBBZT1zZSpmYygyLDI0KSs2NTUzNip0aGlzWysraWVdKzI1Nip0aGlzWysraWVdK3RoaXNbKytpZV0sa2U9dGhpc1srK2llXSpmYygyLDI0KSs2NTUzNip0aGlzWysraWVdKzI1Nip0aGlzWysraWVdK2RlO3JldHVybihCaWdJbnQoQWUpPDxCaWdJbnQoMzIpKStCaWdJbnQoa2Up''@;'; put 'put ''fSksRC5wcm90b3R5cGUucmVhZEludExFPWZ1bmN0aW9uKGllLHNlLGRlKXtpZT4+Pj0wLHNlPj4+PTAsZGV8fEUoaWUsc2UsdGhpcy5sZW5ndGgpO2xldCBBZT10aGlzW2llXSxrZT0xLFNlPTA7Zm9yKDsrK1NlPHNlJiYoa2UqPTI1Nik7KUFlKz10aGlzW2llK1NlXSprZTtyZXR1cm4ga2Uq''@;'; put 'put ''PTEyOCxBZT49a2UmJihBZS09TWF0aC5wb3coMiw4KnNlKSksQWV9LEQucHJvdG90eXBlLnJlYWRJbnRCRT1mdW5jdGlvbihpZSxzZSxkZSl7aWU+Pj49MCxzZT4+Pj0wLGRlfHxFKGllLHNlLHRoaXMubGVuZ3RoKTtsZXQgQWU9c2Usa2U9MSxTZT10aGlzW2llKy0tQWVdO2Zvcig7QWU+MCYm''@;'; put 'put ''KGtlKj0yNTYpOylTZSs9dGhpc1tpZSstLUFlXSprZTtyZXR1cm4ga2UqPTEyOCxTZT49a2UmJihTZS09TWF0aC5wb3coMiw4KnNlKSksU2V9LEQucHJvdG90eXBlLnJlYWRJbnQ4PWZ1bmN0aW9uKGllLHNlKXtyZXR1cm4gaWU+Pj49MCxzZXx8RShpZSwxLHRoaXMubGVuZ3RoKSwxMjgmdGhp''@;'; put 'put ''c1tpZV0/LTEqKDI1NS10aGlzW2llXSsxKTp0aGlzW2llXX0sRC5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24oaWUsc2Upe2llPj4+PTAsc2V8fEUoaWUsMix0aGlzLmxlbmd0aCk7Y29uc3QgZGU9dGhpc1tpZV18dGhpc1tpZSsxXTw8ODtyZXR1cm4gMzI3NjgmZGU/NDI5NDkwMTc2''@;'; put 'put ''MHxkZTpkZX0sRC5wcm90b3R5cGUucmVhZEludDE2QkU9ZnVuY3Rpb24oaWUsc2Upe2llPj4+PTAsc2V8fEUoaWUsMix0aGlzLmxlbmd0aCk7Y29uc3QgZGU9dGhpc1tpZSsxXXx0aGlzW2llXTw8ODtyZXR1cm4gMzI3NjgmZGU/NDI5NDkwMTc2MHxkZTpkZX0sRC5wcm90b3R5cGUucmVhZElu''@;'; put 'put ''dDMyTEU9ZnVuY3Rpb24oaWUsc2Upe3JldHVybiBpZT4+Pj0wLHNlfHxFKGllLDQsdGhpcy5sZW5ndGgpLHRoaXNbaWVdfHRoaXNbaWUrMV08PDh8dGhpc1tpZSsyXTw8MTZ8dGhpc1tpZSszXTw8MjR9LEQucHJvdG90eXBlLnJlYWRJbnQzMkJFPWZ1bmN0aW9uKGllLHNlKXtyZXR1cm4gaWU+''@;'; put 'put ''Pj49MCxzZXx8RShpZSw0LHRoaXMubGVuZ3RoKSx0aGlzW2llXTw8MjR8dGhpc1tpZSsxXTw8MTZ8dGhpc1tpZSsyXTw8OHx0aGlzW2llKzNdfSxELnByb3RvdHlwZS5yZWFkQmlnSW50NjRMRT1PZShmdW5jdGlvbihpZSl7cGUoaWU+Pj49MCwib2Zmc2V0Iik7Y29uc3Qgc2U9dGhpc1tpZV0s''@;'; put 'put ''ZGU9dGhpc1tpZSs3XTtyZXR1cm4gdm9pZCAwIT09c2UmJnZvaWQgMCE9PWRlfHx3ZShpZSx0aGlzLmxlbmd0aC04KSwoQmlnSW50KHRoaXNbaWUrNF0rMjU2KnRoaXNbaWUrNV0rNjU1MzYqdGhpc1tpZSs2XSsoZGU8PDI0KSk8PEJpZ0ludCgzMikpK0JpZ0ludChzZSsyNTYqdGhpc1srK2ll''@;'; put 'put ''XSs2NTUzNip0aGlzWysraWVdKzE2Nzc3MjE2KnRoaXNbKytpZV0pfSksRC5wcm90b3R5cGUucmVhZEJpZ0ludDY0QkU9T2UoZnVuY3Rpb24oaWUpe3BlKGllPj4+PTAsIm9mZnNldCIpO2NvbnN0IHNlPXRoaXNbaWVdLGRlPXRoaXNbaWUrN107dm9pZCAwIT09c2UmJnZvaWQgMCE9PWRlfHx3''@;'; put 'put ''ZShpZSx0aGlzLmxlbmd0aC04KTtjb25zdCBBZT0oc2U8PDI0KSs2NTUzNip0aGlzWysraWVdKzI1Nip0aGlzWysraWVdK3RoaXNbKytpZV07cmV0dXJuKEJpZ0ludChBZSk8PEJpZ0ludCgzMikpK0JpZ0ludCgxNjc3NzIxNip0aGlzWysraWVdKzY1NTM2KnRoaXNbKytpZV0rMjU2KnRoaXNb''@;'; put 'put ''KytpZV0rZGUpfSksRC5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24oaWUsc2Upe3JldHVybiBpZT4+Pj0wLHNlfHxFKGllLDQsdGhpcy5sZW5ndGgpLEMucmVhZCh0aGlzLGllLCEwLDIzLDQpfSxELnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbihpZSxzZSl7cmV0dXJuIGll''@;'; put 'put ''Pj4+PTAsc2V8fEUoaWUsNCx0aGlzLmxlbmd0aCksQy5yZWFkKHRoaXMsaWUsITEsMjMsNCl9LEQucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbihpZSxzZSl7cmV0dXJuIGllPj4+PTAsc2V8fEUoaWUsOCx0aGlzLmxlbmd0aCksQy5yZWFkKHRoaXMsaWUsITAsNTIsOCl9LEQucHJv''@;'; put 'put ''dG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbihpZSxzZSl7cmV0dXJuIGllPj4+PTAsc2V8fEUoaWUsOCx0aGlzLmxlbmd0aCksQy5yZWFkKHRoaXMsaWUsITEsNTIsOCl9LEQucHJvdG90eXBlLndyaXRlVWludExFPUQucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKGllLHNlLGRl''@;'; put 'put ''LEFlKXtpZT0raWUsc2U+Pj49MCxkZT4+Pj0wLCFBZSYmVyh0aGlzLGllLHNlLGRlLE1hdGgucG93KDIsOCpkZSktMSwwKTtsZXQga2U9MSxTZT0wO2Zvcih0aGlzW3NlXT0yNTUmaWU7KytTZTxkZSYmKGtlKj0yNTYpOyl0aGlzW3NlK1NlXT1pZS9rZSYyNTU7cmV0dXJuIHNlK2RlfSxELnBy''@;'; put 'put ''b3RvdHlwZS53cml0ZVVpbnRCRT1ELnByb3RvdHlwZS53cml0ZVVJbnRCRT1mdW5jdGlvbihpZSxzZSxkZSxBZSl7aWU9K2llLHNlPj4+PTAsZGU+Pj49MCwhQWUmJlcodGhpcyxpZSxzZSxkZSxNYXRoLnBvdygyLDgqZGUpLTEsMCk7bGV0IGtlPWRlLTEsU2U9MTtmb3IodGhpc1tzZStrZV09''@;'; put 'put ''MjU1JmllOy0ta2U+PTAmJihTZSo9MjU2KTspdGhpc1tzZStrZV09aWUvU2UmMjU1O3JldHVybiBzZStkZX0sRC5wcm90b3R5cGUud3JpdGVVaW50OD1ELnByb3RvdHlwZS53cml0ZVVJbnQ4PWZ1bmN0aW9uKGllLHNlLGRlKXtyZXR1cm4gaWU9K2llLHNlPj4+PTAsZGV8fFcodGhpcyxpZSxz''@;'; put 'put ''ZSwxLDI1NSwwKSx0aGlzW3NlXT0yNTUmaWUsc2UrMX0sRC5wcm90b3R5cGUud3JpdGVVaW50MTZMRT1ELnByb3RvdHlwZS53cml0ZVVJbnQxNkxFPWZ1bmN0aW9uKGllLHNlLGRlKXtyZXR1cm4gaWU9K2llLHNlPj4+PTAsZGV8fFcodGhpcyxpZSxzZSwyLDY1NTM1LDApLHRoaXNbc2VdPTI1''@;'; put 'put ''NSZpZSx0aGlzW3NlKzFdPWllPj4+OCxzZSsyfSxELnByb3RvdHlwZS53cml0ZVVpbnQxNkJFPUQucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24oaWUsc2UsZGUpe3JldHVybiBpZT0raWUsc2U+Pj49MCxkZXx8Vyh0aGlzLGllLHNlLDIsNjU1MzUsMCksdGhpc1tzZV09aWU+Pj44''@;'; put 'put ''LHRoaXNbc2UrMV09MjU1JmllLHNlKzJ9LEQucHJvdG90eXBlLndyaXRlVWludDMyTEU9RC5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihpZSxzZSxkZSl7cmV0dXJuIGllPStpZSxzZT4+Pj0wLGRlfHxXKHRoaXMsaWUsc2UsNCw0Mjk0OTY3Mjk1LDApLHRoaXNbc2UrM109aWU+''@;'; put 'put ''Pj4yNCx0aGlzW3NlKzJdPWllPj4+MTYsdGhpc1tzZSsxXT1pZT4+PjgsdGhpc1tzZV09MjU1JmllLHNlKzR9LEQucHJvdG90eXBlLndyaXRlVWludDMyQkU9RC5wcm90b3R5cGUud3JpdGVVSW50MzJCRT1mdW5jdGlvbihpZSxzZSxkZSl7cmV0dXJuIGllPStpZSxzZT4+Pj0wLGRlfHxXKHRo''@;'; put 'put ''aXMsaWUsc2UsNCw0Mjk0OTY3Mjk1LDApLHRoaXNbc2VdPWllPj4+MjQsdGhpc1tzZSsxXT1pZT4+PjE2LHRoaXNbc2UrMl09aWU+Pj44LHRoaXNbc2UrM109MjU1JmllLHNlKzR9LEQucHJvdG90eXBlLndyaXRlQmlnVUludDY0TEU9T2UoZnVuY3Rpb24oaWUsc2U9MCl7cmV0dXJuIEcodGhp''@;'; put 'put ''cyxpZSxzZSxCaWdJbnQoMCksQmlnSW50KCIweGZmZmZmZmZmZmZmZmZmZmYiKSl9KSxELnByb3RvdHlwZS53cml0ZUJpZ1VJbnQ2NEJFPU9lKGZ1bmN0aW9uKGllLHNlPTApe3JldHVybiBYKHRoaXMsaWUsc2UsQmlnSW50KDApLEJpZ0ludCgiMHhmZmZmZmZmZmZmZmZmZmZmIikpfSksRC5w''@;'; put 'put ''cm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbihpZSxzZSxkZSxBZSl7aWYoaWU9K2llLHNlPj4+PTAsIUFlKXtjb25zdCBWZT1NYXRoLnBvdygyLDgqZGUtMSk7Vyh0aGlzLGllLHNlLGRlLFZlLTEsLVZlKX1sZXQga2U9MCxTZT0xLCRlPTA7Zm9yKHRoaXNbc2VdPTI1NSZpZTsrK2tlPGRl''@;'; put 'put ''JiYoU2UqPTI1Nik7KWllPDAmJjA9PT0kZSYmMCE9PXRoaXNbc2Ura2UtMV0mJigkZT0xKSx0aGlzW3NlK2tlXT0oaWUvU2U+PjApLSRlJjI1NTtyZXR1cm4gc2UrZGV9LEQucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24oaWUsc2UsZGUsQWUpe2lmKGllPStpZSxzZT4+Pj0wLCFBZSl7''@;'; put 'put ''Y29uc3QgVmU9TWF0aC5wb3coMiw4KmRlLTEpO1codGhpcyxpZSxzZSxkZSxWZS0xLC1WZSl9bGV0IGtlPWRlLTEsU2U9MSwkZT0wO2Zvcih0aGlzW3NlK2tlXT0yNTUmaWU7LS1rZT49MCYmKFNlKj0yNTYpOylpZTwwJiYwPT09JGUmJjAhPT10aGlzW3NlK2tlKzFdJiYoJGU9MSksdGhpc1tz''@;'; put 'put ''ZStrZV09KGllL1NlPj4wKS0kZSYyNTU7cmV0dXJuIHNlK2RlfSxELnByb3RvdHlwZS53cml0ZUludDg9ZnVuY3Rpb24oaWUsc2UsZGUpe3JldHVybiBpZT0raWUsc2U+Pj49MCxkZXx8Vyh0aGlzLGllLHNlLDEsMTI3LC0xMjgpLGllPDAmJihpZT0yNTUraWUrMSksdGhpc1tzZV09MjU1Jmll''@;'; put 'put ''LHNlKzF9LEQucHJvdG90eXBlLndyaXRlSW50MTZMRT1mdW5jdGlvbihpZSxzZSxkZSl7cmV0dXJuIGllPStpZSxzZT4+Pj0wLGRlfHxXKHRoaXMsaWUsc2UsMiwzMjc2NywtMzI3NjgpLHRoaXNbc2VdPTI1NSZpZSx0aGlzW3NlKzFdPWllPj4+OCxzZSsyfSxELnByb3RvdHlwZS53cml0ZUlu''@;'; put 'put ''dDE2QkU9ZnVuY3Rpb24oaWUsc2UsZGUpe3JldHVybiBpZT0raWUsc2U+Pj49MCxkZXx8Vyh0aGlzLGllLHNlLDIsMzI3NjcsLTMyNzY4KSx0aGlzW3NlXT1pZT4+PjgsdGhpc1tzZSsxXT0yNTUmaWUsc2UrMn0sRC5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKGllLHNlLGRlKXty''@;'; put 'put ''ZXR1cm4gaWU9K2llLHNlPj4+PTAsZGV8fFcodGhpcyxpZSxzZSw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLHRoaXNbc2VdPTI1NSZpZSx0aGlzW3NlKzFdPWllPj4+OCx0aGlzW3NlKzJdPWllPj4+MTYsdGhpc1tzZSszXT1pZT4+PjI0LHNlKzR9LEQucHJvdG90eXBlLndyaXRlSW50MzJC''@;'; put 'put ''RT1mdW5jdGlvbihpZSxzZSxkZSl7cmV0dXJuIGllPStpZSxzZT4+Pj0wLGRlfHxXKHRoaXMsaWUsc2UsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSxpZTwwJiYoaWU9NDI5NDk2NzI5NStpZSsxKSx0aGlzW3NlXT1pZT4+PjI0LHRoaXNbc2UrMV09aWU+Pj4xNix0aGlzW3NlKzJdPWllPj4+''@;'; put 'put ''OCx0aGlzW3NlKzNdPTI1NSZpZSxzZSs0fSxELnByb3RvdHlwZS53cml0ZUJpZ0ludDY0TEU9T2UoZnVuY3Rpb24oaWUsc2U9MCl7cmV0dXJuIEcodGhpcyxpZSxzZSwtQmlnSW50KCIweDgwMDAwMDAwMDAwMDAwMDAiKSxCaWdJbnQoIjB4N2ZmZmZmZmZmZmZmZmZmZiIpKX0pLEQucHJvdG90''@;'; put 'put ''eXBlLndyaXRlQmlnSW50NjRCRT1PZShmdW5jdGlvbihpZSxzZT0wKXtyZXR1cm4gWCh0aGlzLGllLHNlLC1CaWdJbnQoIjB4ODAwMDAwMDAwMDAwMDAwMCIpLEJpZ0ludCgiMHg3ZmZmZmZmZmZmZmZmZmZmIikpfSksRC5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKGllLHNlLGRl''@;'; put 'put ''KXtyZXR1cm4gYWUodGhpcyxpZSxzZSwhMCxkZSl9LEQucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihpZSxzZSxkZSl7cmV0dXJuIGFlKHRoaXMsaWUsc2UsITEsZGUpfSxELnByb3RvdHlwZS53cml0ZURvdWJsZUxFPWZ1bmN0aW9uKGllLHNlLGRlKXtyZXR1cm4gdWUodGhpcyxp''@;'; put 'put ''ZSxzZSwhMCxkZSl9LEQucHJvdG90eXBlLndyaXRlRG91YmxlQkU9ZnVuY3Rpb24oaWUsc2UsZGUpe3JldHVybiB1ZSh0aGlzLGllLHNlLCExLGRlKX0sRC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihpZSxzZSxkZSxBZSl7aWYoIUQuaXNCdWZmZXIoaWUpKXRocm93IG5ldyBUeXBlRXJyb3Io''@;'; put 'put ''ImFyZ3VtZW50IHNob3VsZCBiZSBhIEJ1ZmZlciIpO2lmKGRlfHwoZGU9MCksQWV8fDA9PT1BZXx8KEFlPXRoaXMubGVuZ3RoKSxzZT49aWUubGVuZ3RoJiYoc2U9aWUubGVuZ3RoKSxzZXx8KHNlPTApLEFlPjAmJkFlPGRlJiYoQWU9ZGUpLEFlPT09ZGV8fDA9PT1pZS5sZW5ndGh8fDA9PT10''@;'; put 'put ''aGlzLmxlbmd0aClyZXR1cm4gMDtpZihzZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzIik7aWYoZGU8MHx8ZGU+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKTtpZihBZTwwKXRocm93IG5ldyBS''@;'; put 'put ''YW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO0FlPnRoaXMubGVuZ3RoJiYoQWU9dGhpcy5sZW5ndGgpLGllLmxlbmd0aC1zZTxBZS1kZSYmKEFlPWllLmxlbmd0aC1zZStkZSk7Y29uc3Qga2U9QWUtZGU7cmV0dXJuIHRoaXM9PT1pZSYmImZ1bmN0aW9uIj09dHlwZW9mIFVp''@;'; put 'put ''bnQ4QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4/dGhpcy5jb3B5V2l0aGluKHNlLGRlLEFlKTpVaW50OEFycmF5LnByb3RvdHlwZS5zZXQuY2FsbChpZSx0aGlzLnN1YmFycmF5KGRlLEFlKSxzZSksa2V9LEQucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oaWUsc2UsZGUsQWUpe2lmKCJzdHJp''@;'; put 'put ''bmciPT10eXBlb2YgaWUpe2lmKCJzdHJpbmciPT10eXBlb2Ygc2U/KEFlPXNlLHNlPTAsZGU9dGhpcy5sZW5ndGgpOiJzdHJpbmciPT10eXBlb2YgZGUmJihBZT1kZSxkZT10aGlzLmxlbmd0aCksdm9pZCAwIT09QWUmJiJzdHJpbmciIT10eXBlb2YgQWUpdGhyb3cgbmV3IFR5cGVFcnJvcigi''@;'; put 'put ''ZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT10eXBlb2YgQWUmJiFELmlzRW5jb2RpbmcoQWUpKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrQWUpO2lmKDE9PT1pZS5sZW5ndGgpe2NvbnN0IFNlPWllLmNoYXJDb2RlQXQoMCk7KCJ1dGY4''@;'; put 'put ''Ij09PUFlJiZTZTwxMjh8fCJsYXRpbjEiPT09QWUpJiYoaWU9U2UpfX1lbHNlIm51bWJlciI9PXR5cGVvZiBpZT9pZSY9MjU1OiJib29sZWFuIj09dHlwZW9mIGllJiYoaWU9TnVtYmVyKGllKSk7aWYoc2U8MHx8dGhpcy5sZW5ndGg8c2V8fHRoaXMubGVuZ3RoPGRlKXRocm93IG5ldyBSYW5n''@;'; put 'put ''ZUVycm9yKCJPdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihkZTw9c2UpcmV0dXJuIHRoaXM7bGV0IGtlO2lmKHNlPj4+PTAsZGU9dm9pZCAwPT09ZGU/dGhpcy5sZW5ndGg6ZGU+Pj4wLGllfHwoaWU9MCksIm51bWJlciI9PXR5cGVvZiBpZSlmb3Ioa2U9c2U7a2U8ZGU7KytrZSl0aGlzW2tlXT1p''@;'; put 'put ''ZTtlbHNle2NvbnN0IFNlPUQuaXNCdWZmZXIoaWUpP2llOkQuZnJvbShpZSxBZSksJGU9U2UubGVuZ3RoO2lmKDA9PT0kZSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgdmFsdWUgIicraWUrJyIgaXMgaW52YWxpZCBmb3IgYXJndW1lbnQgInZhbHVlIicpO2ZvcihrZT0wO2tlPGRlLXNlOysr''@;'; put 'put ''a2UpdGhpc1trZStzZV09U2Vba2UlJGVdfXJldHVybiB0aGlzfTtjb25zdCBiZT17fTtmdW5jdGlvbiBfZShpZSxzZSxkZSl7YmVbaWVdPWNsYXNzIGV4dGVuZHMgZGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJtZXNzYWdlIix7dmFsdWU6c2Uu''@;'; put 'put ''YXBwbHkodGhpcyxhcmd1bWVudHMpLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHRoaXMubmFtZT1gJHt0aGlzLm5hbWV9IFske2llfV1gLGRlbGV0ZSB0aGlzLm5hbWV9Z2V0IGNvZGUoKXtyZXR1cm4gaWV9c2V0IGNvZGUoQWUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJj''@;'; put 'put ''b2RlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6QWUsd3JpdGFibGU6ITB9KX10b1N0cmluZygpe3JldHVybmAke3RoaXMubmFtZX0gWyR7aWV9XTogJHt0aGlzLm1lc3NhZ2V9YH19fWZ1bmN0aW9uIGxlKGllKXtsZXQgc2U9IiIsZGU9aWUubGVuZ3RoO2NvbnN0IEFl''@;'; put 'put ''PSItIj09PWllWzBdPzE6MDtmb3IoO2RlPj1BZSs0O2RlLT0zKXNlPWBfJHtpZS5zbGljZShkZS0zLGRlKX0ke3NlfWA7cmV0dXJuYCR7aWUuc2xpY2UoMCxkZSl9JHtzZX1gfWZ1bmN0aW9uIGNlKGllLHNlLGRlLEFlLGtlLFNlKXtpZihpZT5kZXx8aWU8c2Upe2NvbnN0ICRlPSJiaWdpbnQi''@;'; put 'put ''PT10eXBlb2Ygc2U/Im4iOiIiO2xldCBWZTt0aHJvdyBWZT1TZT4zPzA9PT1zZXx8c2U9PT1CaWdJbnQoMCk/YD49IDAkeyRlfSBhbmQgPCAyJHskZX0gKiogJHs4KihTZSsxKX0keyRlfWA6YD49IC0oMiR7JGV9ICoqICR7OCooU2UrMSktMX0keyRlfSkgYW5kIDwgMiAqKiAkezgqKFNlKzEp''@;'; put 'put ''LTF9JHskZX1gOmA+PSAke3NlfSR7JGV9IGFuZCA8PSAke2RlfSR7JGV9YCxuZXcgYmUuRVJSX09VVF9PRl9SQU5HRSgidmFsdWUiLFZlLGllKX12YXIgJGUsVmUsR2U7JGU9QWUsR2U9U2UscGUoVmU9a2UsIm9mZnNldCIpLHZvaWQgMCE9PSRlW1ZlXSYmdm9pZCAwIT09JGVbVmUrR2VdfHx3''@;'; put 'put ''ZShWZSwkZS5sZW5ndGgtKEdlKzEpKX1mdW5jdGlvbiBwZShpZSxzZSl7aWYoIm51bWJlciIhPXR5cGVvZiBpZSl0aHJvdyBuZXcgYmUuRVJSX0lOVkFMSURfQVJHX1RZUEUoc2UsIm51bWJlciIsaWUpfWZ1bmN0aW9uIHdlKGllLHNlLGRlKXt0aHJvdyBNYXRoLmZsb29yKGllKSE9PWllPyhw''@;'; put 'put ''ZShpZSxkZSksbmV3IGJlLkVSUl9PVVRfT0ZfUkFOR0UoZGV8fCJvZmZzZXQiLCJhbiBpbnRlZ2VyIixpZSkpOnNlPDA/bmV3IGJlLkVSUl9CVUZGRVJfT1VUX09GX0JPVU5EUzpuZXcgYmUuRVJSX09VVF9PRl9SQU5HRShkZXx8Im9mZnNldCIsYD49ICR7ZGU/MTowfSBhbmQgPD0gJHtzZX1g''@;'; put 'put ''LGllKX1fZSgiRVJSX0JVRkZFUl9PVVRfT0ZfQk9VTkRTIixmdW5jdGlvbihpZSl7cmV0dXJuIGllP2Ake2llfSBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHNgOiJBdHRlbXB0IHRvIGFjY2VzcyBtZW1vcnkgb3V0c2lkZSBidWZmZXIgYm91bmRzIn0sUmFuZ2VFcnJvciksX2UoIkVSUl9J''@;'; put 'put ''TlZBTElEX0FSR19UWVBFIixmdW5jdGlvbihpZSxzZSl7cmV0dXJuYFRoZSAiJHtpZX0iIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJHt0eXBlb2Ygc2V9YH0sVHlwZUVycm9yKSxfZSgiRVJSX09VVF9PRl9SQU5HRSIsZnVuY3Rpb24oaWUsc2UsZGUp''@;'; put 'put ''e2xldCBBZT1gVGhlIHZhbHVlIG9mICIke2llfSIgaXMgb3V0IG9mIHJhbmdlLmAsa2U9ZGU7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZGUpJiZNYXRoLmFicyhkZSk+NDI5NDk2NzI5Nj9rZT1sZShTdHJpbmcoZGUpKToiYmlnaW50Ij09dHlwZW9mIGRlJiYoa2U9U3RyaW5nKGRlKSwoZGU+''@;'; put 'put ''ZmMoQmlnSW50KDIpLEJpZ0ludCgzMikpfHxkZTwtZmMoQmlnSW50KDIpLEJpZ0ludCgzMikpKSYmKGtlPWxlKGtlKSksa2UrPSJuIiksQWUrPWAgSXQgbXVzdCBiZSAke3NlfS4gUmVjZWl2ZWQgJHtrZX1gLEFlfSxSYW5nZUVycm9yKTtjb25zdCBVZT0vW14rLzAtOUEtWmEtei1fXS9nO2Z1''@;'; put 'put ''bmN0aW9uIHhlKGllLHNlKXtsZXQgZGU7c2U9c2V8fDEvMDtjb25zdCBBZT1pZS5sZW5ndGg7bGV0IGtlPW51bGw7Y29uc3QgU2U9W107Zm9yKGxldCAkZT0wOyRlPEFlOysrJGUpe2lmKGRlPWllLmNoYXJDb2RlQXQoJGUpLGRlPjU1Mjk1JiZkZTw1NzM0NCl7aWYoIWtlKXtpZihkZT41NjMx''@;'; put 'put ''OSl7KHNlLT0zKT4tMSYmU2UucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYoJGUrMT09PUFlKXsoc2UtPTMpPi0xJiZTZS5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1rZT1kZTtjb250aW51ZX1pZihkZTw1NjMyMCl7KHNlLT0zKT4tMSYmU2UucHVzaCgyMzksMTkxLDE4OSksa2U9''@;'; put 'put ''ZGU7Y29udGludWV9ZGU9NjU1MzYrKGtlLTU1Mjk2PDwxMHxkZS01NjMyMCl9ZWxzZSBrZSYmKHNlLT0zKT4tMSYmU2UucHVzaCgyMzksMTkxLDE4OSk7aWYoa2U9bnVsbCxkZTwxMjgpe2lmKChzZS09MSk8MClicmVhaztTZS5wdXNoKGRlKX1lbHNlIGlmKGRlPDIwNDgpe2lmKChzZS09Mik8''@;'; put 'put ''MClicmVhaztTZS5wdXNoKGRlPj42fDE5Miw2MyZkZXwxMjgpfWVsc2UgaWYoZGU8NjU1MzYpe2lmKChzZS09Myk8MClicmVhaztTZS5wdXNoKGRlPj4xMnwyMjQsZGU+PjYmNjN8MTI4LDYzJmRlfDEyOCl9ZWxzZXtpZighKGRlPDExMTQxMTIpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBj''@;'; put 'put ''b2RlIHBvaW50Iik7aWYoKHNlLT00KTwwKWJyZWFrO1NlLnB1c2goZGU+PjE4fDI0MCxkZT4+MTImNjN8MTI4LGRlPj42JjYzfDEyOCw2MyZkZXwxMjgpfX1yZXR1cm4gU2V9ZnVuY3Rpb24gRWUoaWUpe3JldHVybiB6LnRvQnl0ZUFycmF5KGZ1bmN0aW9uKHNlKXtpZigoc2U9KHNlPXNlLnNw''@;'; put 'put ''bGl0KCI9IilbMF0pLnRyaW0oKS5yZXBsYWNlKFVlLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDtzZS5sZW5ndGglNCE9MDspc2UrPSI9IjtyZXR1cm4gc2V9KGllKSl9ZnVuY3Rpb24gd3QoaWUsc2UsZGUsQWUpe2xldCBrZTtmb3Ioa2U9MDtrZTxBZSYmIShrZStkZT49c2UubGVuZ3Ro''@;'; put 'put ''fHxrZT49aWUubGVuZ3RoKTsrK2tlKXNlW2tlK2RlXT1pZVtrZV07cmV0dXJuIGtlfWZ1bmN0aW9uIE5lKGllLHNlKXtyZXR1cm4gaWUgaW5zdGFuY2VvZiBzZXx8bnVsbCE9aWUmJm51bGwhPWllLmNvbnN0cnVjdG9yJiZudWxsIT1pZS5jb25zdHJ1Y3Rvci5uYW1lJiZpZS5jb25zdHJ1Y3Rv''@;'; put 'put ''ci5uYW1lPT09c2UubmFtZX1mdW5jdGlvbiBIZShpZSl7cmV0dXJuIGllIT1pZX1jb25zdCBSZT1mdW5jdGlvbigpe2NvbnN0IGllPSIwMTIzNDU2Nzg5YWJjZGVmIixzZT1uZXcgQXJyYXkoMjU2KTtmb3IobGV0IGRlPTA7ZGU8MTY7KytkZSl7Y29uc3QgQWU9MTYqZGU7Zm9yKGxldCBrZT0w''@;'; put 'put ''O2tlPDE2Oysra2Upc2VbQWUra2VdPWllW2RlXStpZVtrZV19cmV0dXJuIHNlfSgpO2Z1bmN0aW9uIE9lKGllKXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIEJpZ0ludD9MZTppZX1mdW5jdGlvbiBMZSgpe3Rocm93IG5ldyBFcnJvcigiQmlnSW50IG5vdCBzdXBwb3J0ZWQiKX19LDE5MjQ6''@;'; put 'put ''KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDIxMCksej1qKDU1NTkpLEM9eihOKCJTdHJpbmcucHJvdG90eXBlLmluZGV4T2YiKSk7Wi5leHBvcnRzPWZ1bmN0aW9uKFMsbSl7dmFyIEY9TihTLCEhbSk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIEYmJkMoUywiLnByb3RvdHlwZS4i''@;'; put 'put ''KT4tMT96KEYpOkZ9fSw1NTU5OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig4NjEyKSx6PWooMjEwKSxDPXooIiVGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHklIiksUz16KCIlRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwlIiksbT16KCIlUmVmbGVjdC5hcHBseSUiLCEwKXx8Ti5jYWxs''@;'; put 'put ''KFMsQyksRj16KCIlT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciUiLCEwKSxEPXooIiVPYmplY3QuZGVmaW5lUHJvcGVydHklIiwhMCksdz16KCIlTWF0aC5tYXglIik7aWYoRCl0cnl7RCh7fSwiYSIse3ZhbHVlOjF9KX1jYXRjaChNKXtEPW51bGx9Wi5leHBvcnRzPWZ1bmN0aW9u''@;'; put 'put ''KE0pe3ZhciBrPW0oTixTLGFyZ3VtZW50cyk7cmV0dXJuIEYmJkQmJkYoaywibGVuZ3RoIikuY29uZmlndXJhYmxlJiZEKGssImxlbmd0aCIse3ZhbHVlOjErdygwLE0ubGVuZ3RoLShhcmd1bWVudHMubGVuZ3RoLTEpKX0pLGt9O3ZhciBQPWZ1bmN0aW9uKCl7cmV0dXJuIG0oTixDLGFyZ3Vt''@;'; put 'put ''ZW50cyl9O0Q/RChaLmV4cG9ydHMsImFwcGx5Iix7dmFsdWU6UH0pOlouZXhwb3J0cy5hcHBseT1QfSwxMDI3OihaLEEsaik9Pnt2YXIgTj1qKDk1MDkpLkJ1ZmZlcix6PWooMjgzMCkuVHJhbnNmb3JtLEM9aigyNTUzKS5TdHJpbmdEZWNvZGVyO2Z1bmN0aW9uIFMobSl7ei5jYWxsKHRoaXMp''@;'; put 'put ''LHRoaXMuaGFzaE1vZGU9InN0cmluZyI9PXR5cGVvZiBtLHRoaXMuaGFzaE1vZGU/dGhpc1ttXT10aGlzLl9maW5hbE9yRGlnZXN0OnRoaXMuZmluYWw9dGhpcy5fZmluYWxPckRpZ2VzdCx0aGlzLl9maW5hbCYmKHRoaXMuX19maW5hbD10aGlzLl9maW5hbCx0aGlzLl9maW5hbD1udWxsKSx0''@;'; put 'put ''aGlzLl9kZWNvZGVyPW51bGwsdGhpcy5fZW5jb2Rpbmc9bnVsbH1qKDU3MTcpKFMseiksUy5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKG0sRixEKXsic3RyaW5nIj09dHlwZW9mIG0mJihtPU4uZnJvbShtLEYpKTt2YXIgdz10aGlzLl91cGRhdGUobSk7cmV0dXJuIHRoaXMuaGFzaE1vZGU/''@;'; put 'put ''dGhpczooRCYmKHc9dGhpcy5fdG9TdHJpbmcodyxEKSksdyl9LFMucHJvdG90eXBlLnNldEF1dG9QYWRkaW5nPWZ1bmN0aW9uKCl7fSxTLnByb3RvdHlwZS5nZXRBdXRoVGFnPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJ0cnlpbmcgdG8gZ2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVk''@;'; put 'put ''IHN0YXRlIil9LFMucHJvdG90eXBlLnNldEF1dGhUYWc9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBzZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKX0sUy5wcm90b3R5cGUuc2V0QUFEPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJ0cnlpbmcgdG8g''@;'; put 'put ''c2V0IGFhZCBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpfSxTLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKG0sRixEKXt2YXIgdzt0cnl7dGhpcy5oYXNoTW9kZT90aGlzLl91cGRhdGUobSk6dGhpcy5wdXNoKHRoaXMuX3VwZGF0ZShtKSl9Y2F0Y2goUCl7dz1QfWZpbmFsbHl7RCh3KX19''@;'; put 'put ''LFMucHJvdG90eXBlLl9mbHVzaD1mdW5jdGlvbihtKXt2YXIgRjt0cnl7dGhpcy5wdXNoKHRoaXMuX19maW5hbCgpKX1jYXRjaChEKXtGPUR9bShGKX0sUy5wcm90b3R5cGUuX2ZpbmFsT3JEaWdlc3Q9ZnVuY3Rpb24obSl7dmFyIEY9dGhpcy5fX2ZpbmFsKCl8fE4uYWxsb2MoMCk7cmV0dXJu''@;'; put 'put ''IG0mJihGPXRoaXMuX3RvU3RyaW5nKEYsbSwhMCkpLEZ9LFMucHJvdG90eXBlLl90b1N0cmluZz1mdW5jdGlvbihtLEYsRCl7aWYodGhpcy5fZGVjb2Rlcnx8KHRoaXMuX2RlY29kZXI9bmV3IEMoRiksdGhpcy5fZW5jb2Rpbmc9RiksdGhpcy5fZW5jb2RpbmchPT1GKXRocm93IG5ldyBFcnJv''@;'; put 'put ''cigiY2FuJ3Qgc3dpdGNoIGVuY29kaW5ncyIpO3ZhciB3PXRoaXMuX2RlY29kZXIud3JpdGUobSk7cmV0dXJuIEQmJih3Kz10aGlzLl9kZWNvZGVyLmVuZCgpKSx3fSxaLmV4cG9ydHM9U30sMTA0ODpaPT57Wi5leHBvcnRzPWZ1bmN0aW9uKGosTil7Zm9yKHZhciB6PVtdLEM9MDtDPGoubGVu''@;'; put 'put ''Z3RoO0MrKyl7dmFyIFM9TihqW0NdLEMpO0EoUyk/ei5wdXNoLmFwcGx5KHosUyk6ei5wdXNoKFMpfXJldHVybiB6fTt2YXIgQT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihqKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGopfX0sNTEw''@;'; put 'put ''ODooWixBLGopPT57dmFyIE49aig5NTM5KSx6PWooOTI4Mik7ZnVuY3Rpb24gQygpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfXZhciBTLG09QXJyYXkucHJvdG90eXBlLnNsaWNlLEY9e307Uz12b2lkIDAhPT1qLmcmJmouZy5jb25zb2xlP2ouZy5jb25zb2xlOiJ1bmRlZmluZWQiIT10''@;'; put 'put ''eXBlb2Ygd2luZG93JiZ3aW5kb3cuY29uc29sZT93aW5kb3cuY29uc29sZTp7fTtmb3IodmFyIEQ9W1tmdW5jdGlvbigpe30sImxvZyJdLFtmdW5jdGlvbigpe1MubG9nLmFwcGx5KFMsYXJndW1lbnRzKX0sImluZm8iXSxbZnVuY3Rpb24oKXtTLmxvZy5hcHBseShTLGFyZ3VtZW50cyl9LCJ3''@;'; put 'put ''YXJuIl0sW2Z1bmN0aW9uKCl7Uy53YXJuLmFwcGx5KFMsYXJndW1lbnRzKX0sImVycm9yIl0sW2Z1bmN0aW9uKE8pe0ZbT109QygpfSwidGltZSJdLFtmdW5jdGlvbihPKXt2YXIgTD1GW09dO2lmKCFMKXRocm93IG5ldyBFcnJvcigiTm8gc3VjaCBsYWJlbDogIitPKTtkZWxldGUgRltPXTt2''@;'; put 'put ''YXIgVD1DKCktTDtTLmxvZyhPKyI6ICIrVCsibXMiKX0sInRpbWVFbmQiXSxbZnVuY3Rpb24oKXt2YXIgTz1uZXcgRXJyb3I7Ty5uYW1lPSJUcmFjZSIsTy5tZXNzYWdlPU4uZm9ybWF0LmFwcGx5KG51bGwsYXJndW1lbnRzKSxTLmVycm9yKE8uc3RhY2spfSwidHJhY2UiXSxbZnVuY3Rpb24o''@;'; put 'put ''Tyl7Uy5sb2coTi5pbnNwZWN0KE8pKyJcbiIpfSwiZGlyIl0sW2Z1bmN0aW9uKE8pe2lmKCFPKXt2YXIgTD1tLmNhbGwoYXJndW1lbnRzLDEpO3oub2soITEsTi5mb3JtYXQuYXBwbHkobnVsbCxMKSl9fSwiYXNzZXJ0Il1dLHc9MDt3PEQubGVuZ3RoO3crKyl7dmFyIFA9RFt3XSxrPVBbMV07''@;'; put 'put ''U1trXXx8KFNba109UFswXSl9Wi5leHBvcnRzPVN9LDYzOTM6KFosQSxqKT0+e3ZhciBOPWooODc2NCkuQnVmZmVyLHo9aig2OTQ4KSxDPWooNjQyNik7Wi5leHBvcnRzPWZ1bmN0aW9uKEQpe3JldHVybiBuZXcgbShEKX07dmFyIFM9e3NlY3AyNTZrMTp7bmFtZToic2VjcDI1NmsxIixieXRl''@;'; put 'put ''TGVuZ3RoOjMyfSxzZWNwMjI0cjE6e25hbWU6InAyMjQiLGJ5dGVMZW5ndGg6Mjh9LHByaW1lMjU2djE6e25hbWU6InAyNTYiLGJ5dGVMZW5ndGg6MzJ9LHByaW1lMTkydjE6e25hbWU6InAxOTIiLGJ5dGVMZW5ndGg6MjR9LGVkMjU1MTk6e25hbWU6ImVkMjU1MTkiLGJ5dGVMZW5ndGg6MzJ9''@;'; put 'put ''LHNlY3AzODRyMTp7bmFtZToicDM4NCIsYnl0ZUxlbmd0aDo0OH0sc2VjcDUyMXIxOntuYW1lOiJwNTIxIixieXRlTGVuZ3RoOjY2fX07ZnVuY3Rpb24gbShEKXt0aGlzLmN1cnZlVHlwZT1TW0RdLHRoaXMuY3VydmVUeXBlfHwodGhpcy5jdXJ2ZVR5cGU9e25hbWU6RH0pLHRoaXMuY3VydmU9''@;'; put 'put ''bmV3IHouZWModGhpcy5jdXJ2ZVR5cGUubmFtZSksdGhpcy5rZXlzPXZvaWQgMH1mdW5jdGlvbiBGKEQsdyxQKXtBcnJheS5pc0FycmF5KEQpfHwoRD1ELnRvQXJyYXkoKSk7dmFyIE09bmV3IE4oRCk7aWYoUCYmTS5sZW5ndGg8UCl7dmFyIGs9bmV3IE4oUC1NLmxlbmd0aCk7ay5maWxsKDAp''@;'; put 'put ''LE09Ti5jb25jYXQoW2ssTV0pfXJldHVybiB3P00udG9TdHJpbmcodyk6TX1TLnAyMjQ9Uy5zZWNwMjI0cjEsUy5wMjU2PVMuc2VjcDI1NnIxPVMucHJpbWUyNTZ2MSxTLnAxOTI9Uy5zZWNwMTkycjE9Uy5wcmltZTE5MnYxLFMucDM4ND1TLnNlY3AzODRyMSxTLnA1MjE9Uy5zZWNwNTIxcjEs''@;'; put 'put ''bS5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzPWZ1bmN0aW9uKEQsdyl7cmV0dXJuIHRoaXMua2V5cz10aGlzLmN1cnZlLmdlbktleVBhaXIoKSx0aGlzLmdldFB1YmxpY0tleShELHcpfSxtLnByb3RvdHlwZS5jb21wdXRlU2VjcmV0PWZ1bmN0aW9uKEQsdyxQKXtyZXR1cm4gdz13fHwidXRmOCIs''@;'; put 'put ''Ti5pc0J1ZmZlcihEKXx8KEQ9bmV3IE4oRCx3KSksRih0aGlzLmN1cnZlLmtleUZyb21QdWJsaWMoRCkuZ2V0UHVibGljKCkubXVsKHRoaXMua2V5cy5nZXRQcml2YXRlKCkpLmdldFgoKSxQLHRoaXMuY3VydmVUeXBlLmJ5dGVMZW5ndGgpfSxtLnByb3RvdHlwZS5nZXRQdWJsaWNLZXk9ZnVu''@;'; put 'put ''Y3Rpb24oRCx3KXt2YXIgUD10aGlzLmtleXMuZ2V0UHVibGljKCJjb21wcmVzc2VkIj09PXcsITApO3JldHVybiJoeWJyaWQiPT09dyYmKFBbMF09UFtQLmxlbmd0aC0xXSUyPzc6NiksRihQLEQpfSxtLnByb3RvdHlwZS5nZXRQcml2YXRlS2V5PWZ1bmN0aW9uKEQpe3JldHVybiBGKHRoaXMu''@;'; put 'put ''a2V5cy5nZXRQcml2YXRlKCksRCl9LG0ucHJvdG90eXBlLnNldFB1YmxpY0tleT1mdW5jdGlvbihELHcpe3JldHVybiB3PXd8fCJ1dGY4IixOLmlzQnVmZmVyKEQpfHwoRD1uZXcgTihELHcpKSx0aGlzLmtleXMuX2ltcG9ydFB1YmxpYyhEKSx0aGlzfSxtLnByb3RvdHlwZS5zZXRQcml2YXRl''@;'; put 'put ''S2V5PWZ1bmN0aW9uKEQsdyl7dz13fHwidXRmOCIsTi5pc0J1ZmZlcihEKXx8KEQ9bmV3IE4oRCx3KSk7dmFyIFA9bmV3IEMoRCk7cmV0dXJuIFA9UC50b1N0cmluZygxNiksdGhpcy5rZXlzPXRoaXMuY3VydmUuZ2VuS2V5UGFpcigpLHRoaXMua2V5cy5faW1wb3J0UHJpdmF0ZShQKSx0aGlz''@;'; put 'put ''fX0sNjQyNjpmdW5jdGlvbihaLEEsail7IWZ1bmN0aW9uKE4seil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEMoaCxiKXtpZighaCl0aHJvdyBuZXcgRXJyb3IoYnx8IkFzc2VydGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBTKGgsYil7aC5zdXBlcl89Yjt2YXIgeT1mdW5jdGlvbigpe307eS5wcm90''@;'; put 'put ''b3R5cGU9Yi5wcm90b3R5cGUsaC5wcm90b3R5cGU9bmV3IHksaC5wcm90b3R5cGUuY29uc3RydWN0b3I9aH1mdW5jdGlvbiBtKGgsYix5KXtpZihtLmlzQk4oaCkpcmV0dXJuIGg7dGhpcy5uZWdhdGl2ZT0wLHRoaXMud29yZHM9bnVsbCx0aGlzLmxlbmd0aD0wLHRoaXMucmVkPW51bGwsbnVs''@;'; put 'put ''bCE9PWgmJigibGUiIT09YiYmImJlIiE9PWJ8fCh5PWIsYj0xMCksdGhpcy5faW5pdChofHwwLGJ8fDEwLHl8fCJiZSIpKX12YXIgRjsib2JqZWN0Ij09dHlwZW9mIE4/Ti5leHBvcnRzPW06ei5CTj1tLG0uQk49bSxtLndvcmRTaXplPTI2O3RyeXtGPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2lu''@;'; put 'put ''ZG93JiZ2b2lkIDAhPT13aW5kb3cuQnVmZmVyP3dpbmRvdy5CdWZmZXI6aig4NjIzKS5CdWZmZXJ9Y2F0Y2goaCl7fWZ1bmN0aW9uIEQoaCxiKXt2YXIgeT1oLmNoYXJDb2RlQXQoYik7cmV0dXJuIHk+PTY1JiZ5PD03MD95LTU1Onk+PTk3JiZ5PD0xMDI/eS04Nzp5LTQ4JjE1fWZ1bmN0aW9u''@;'; put 'put ''IHcoaCxiLHkpe3ZhciBwPUQoaCx5KTtyZXR1cm4geS0xPj1iJiYocHw9RChoLHktMSk8PDQpLHB9ZnVuY3Rpb24gUChoLGIseSxwKXtmb3IodmFyIGc9MCxfPU1hdGgubWluKGgubGVuZ3RoLHkpLEU9YjtFPF87RSsrKXt2YXIgVz1oLmNoYXJDb2RlQXQoRSktNDg7Zyo9cCxnKz1XPj00OT9X''@;'; put 'put ''LTQ5KzEwOlc+PTE3P1ctMTcrMTA6V31yZXR1cm4gZ31tLmlzQk49ZnVuY3Rpb24oaCl7cmV0dXJuIGggaW5zdGFuY2VvZiBtfHxudWxsIT09aCYmIm9iamVjdCI9PXR5cGVvZiBoJiZoLmNvbnN0cnVjdG9yLndvcmRTaXplPT09bS53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheShoLndvcmRzKX0s''@;'; put 'put ''bS5tYXg9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gaC5jbXAoYik+MD9oOmJ9LG0ubWluPWZ1bmN0aW9uKGgsYil7cmV0dXJuIGguY21wKGIpPDA/aDpifSxtLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbihoLGIseSl7aWYoIm51bWJlciI9PXR5cGVvZiBoKXJldHVybiB0aGlzLl9pbml0TnVtYmVy''@;'; put 'put ''KGgsYix5KTtpZigib2JqZWN0Ij09dHlwZW9mIGgpcmV0dXJuIHRoaXMuX2luaXRBcnJheShoLGIseSk7ImhleCI9PT1iJiYoYj0xNiksQyhiPT09KDB8YikmJmI+PTImJmI8PTM2KTt2YXIgcD0wOyItIj09PShoPWgudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiYocCsrLHRo''@;'; put 'put ''aXMubmVnYXRpdmU9MSkscDxoLmxlbmd0aCYmKDE2PT09Yj90aGlzLl9wYXJzZUhleChoLHAseSk6KHRoaXMuX3BhcnNlQmFzZShoLGIscCksImxlIj09PXkmJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxiLHkpKSl9LG0ucHJvdG90eXBlLl9pbml0TnVtYmVyPWZ1bmN0aW9uKGgs''@;'; put 'put ''Yix5KXtoPDAmJih0aGlzLm5lZ2F0aXZlPTEsaD0taCksaDw2NzEwODg2ND8odGhpcy53b3Jkcz1bNjcxMDg4NjMmaF0sdGhpcy5sZW5ndGg9MSk6aDw0NTAzNTk5NjI3MzcwNDk2Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZoLGgvNjcxMDg4NjQmNjcxMDg4NjNdLHRoaXMubGVuZ3RoPTIpOihD''@;'; put 'put ''KGg8OTAwNzE5OTI1NDc0MDk5MiksdGhpcy53b3Jkcz1bNjcxMDg4NjMmaCxoLzY3MTA4ODY0JjY3MTA4ODYzLDFdLHRoaXMubGVuZ3RoPTMpLCJsZSI9PT15JiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksYix5KX0sbS5wcm90b3R5cGUuX2luaXRBcnJheT1mdW5jdGlvbihoLGIs''@;'; put 'put ''eSl7aWYoQygibnVtYmVyIj09dHlwZW9mIGgubGVuZ3RoKSxoLmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbChoLmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBw''@;'; put 'put ''PTA7cDx0aGlzLmxlbmd0aDtwKyspdGhpcy53b3Jkc1twXT0wO3ZhciBnLF8sRT0wO2lmKCJiZSI9PT15KWZvcihwPWgubGVuZ3RoLTEsZz0wO3A+PTA7cC09Myl0aGlzLndvcmRzW2ddfD0oXz1oW3BdfGhbcC0xXTw8OHxoW3AtMl08PDE2KTw8RSY2NzEwODg2Myx0aGlzLndvcmRzW2crMV09''@;'; put 'put ''Xz4+PjI2LUUmNjcxMDg4NjMsKEUrPTI0KT49MjYmJihFLT0yNixnKyspO2Vsc2UgaWYoImxlIj09PXkpZm9yKHA9MCxnPTA7cDxoLmxlbmd0aDtwKz0zKXRoaXMud29yZHNbZ118PShfPWhbcF18aFtwKzFdPDw4fGhbcCsyXTw8MTYpPDxFJjY3MTA4ODYzLHRoaXMud29yZHNbZysxXT1fPj4+''@;'; put 'put ''MjYtRSY2NzEwODg2MywoRSs9MjQpPj0yNiYmKEUtPTI2LGcrKyk7cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uKGgsYix5KXt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoKGgubGVuZ3RoLWIpLzYpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVu''@;'; put 'put ''Z3RoKTtmb3IodmFyIHA9MDtwPHRoaXMubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3BdPTA7dmFyIGcsXz0wLEU9MDtpZigiYmUiPT09eSlmb3IocD1oLmxlbmd0aC0xO3A+PWI7cC09MilnPXcoaCxiLHApPDxfLHRoaXMud29yZHNbRV18PTY3MTA4ODYzJmcsXz49MTg/KF8tPTE4LHRoaXMud29y''@;'; put 'put ''ZHNbRSs9MV18PWc+Pj4yNik6Xys9ODtlbHNlIGZvcihwPShoLmxlbmd0aC1iKSUyPT0wP2IrMTpiO3A8aC5sZW5ndGg7cCs9MilnPXcoaCxiLHApPDxfLHRoaXMud29yZHNbRV18PTY3MTA4ODYzJmcsXz49MTg/KF8tPTE4LHRoaXMud29yZHNbRSs9MV18PWc+Pj4yNik6Xys9ODt0aGlzLnN0''@;'; put 'put ''cmlwKCl9LG0ucHJvdG90eXBlLl9wYXJzZUJhc2U9ZnVuY3Rpb24oaCxiLHkpe3RoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTE7Zm9yKHZhciBwPTAsZz0xO2c8PTY3MTA4ODYzO2cqPWIpcCsrO3AtLSxnPWcvYnwwO2Zvcih2YXIgXz1oLmxlbmd0aC15LEU9XyVwLFc9TWF0aC5taW4oXyxf''@;'; put 'put ''LUUpK3ksRz0wLFg9eTtYPFc7WCs9cClHPVAoaCxYLFgrcCxiKSx0aGlzLmltdWxuKGcpLHRoaXMud29yZHNbMF0rRzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1HOnRoaXMuX2lhZGRuKEcpO2lmKDAhPT1FKXt2YXIgbmU9MTtmb3IoRz1QKGgsWCxoLmxlbmd0aCxiKSxYPTA7WDxFO1grKylu''@;'; put 'put ''ZSo9Yjt0aGlzLmltdWxuKG5lKSx0aGlzLndvcmRzWzBdK0c8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Rzp0aGlzLl9pYWRkbihHKX10aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oaCl7aC53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgYj0wO2I8''@;'; put 'put ''dGhpcy5sZW5ndGg7YisrKWgud29yZHNbYl09dGhpcy53b3Jkc1tiXTtoLmxlbmd0aD10aGlzLmxlbmd0aCxoLm5lZ2F0aXZlPXRoaXMubmVnYXRpdmUsaC5yZWQ9dGhpcy5yZWR9LG0ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIGg9bmV3IG0obnVsbCk7cmV0dXJuIHRoaXMuY29w''@;'; put 'put ''eShoKSxofSxtLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uKGgpe2Zvcig7dGhpcy5sZW5ndGg8aDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO3JldHVybiB0aGlzfSxtLnByb3RvdHlwZS5zdHJpcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5sZW5ndGg+MSYmMD09PXRoaXMud29yZHNb''@;'; put 'put ''dGhpcy5sZW5ndGgtMV07KXRoaXMubGVuZ3RoLS07cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9LG0ucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdJiYodGhpcy5uZWdhdGl2ZT0wKSx0aGlzfSxtLnByb3RvdHlw''@;'; put 'put ''ZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVkPyI8Qk4tUjogIjoiPEJOOiAiKSt0aGlzLnRvU3RyaW5nKDE2KSsiPiJ9O3ZhciBNPVsiIiwiMCIsIjAwIiwiMDAwIiwiMDAwMCIsIjAwMDAwIiwiMDAwMDAwIiwiMDAwMDAwMCIsIjAwMDAwMDAwIiwiMDAwMDAwMDAwIiwiMDAw''@;'; put 'put ''MDAwMDAwMCIsIjAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAw''@;'; put 'put ''MDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJdLGs9WzAs''@;'; put 'put ''MCwyNSwxNiwxMiwxMSwxMCw5LDgsOCw3LDcsNyw3LDYsNiw2LDYsNiw2LDYsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNV0sTz1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYwNDY2MTc2LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4''@;'; put 'put ''NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDExODgxMzc2LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4''@;'; put 'put ''NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtmdW5jdGlvbiBMKGgsYix5KXt5Lm5lZ2F0aXZlPWIubmVnYXRpdmVeaC5uZWdhdGl2ZTt2YXIgcD1oLmxlbmd0aCtiLmxlbmd0aHwwO3kubGVuZ3RoPXAscD1wLTF8MDt2YXIgZz0wfGgud29yZHNb''@;'; put 'put ''MF0sXz0wfGIud29yZHNbMF0sRT1nKl8sRz1FLzY3MTA4ODY0fDA7eS53b3Jkc1swXT02NzEwODg2MyZFO2Zvcih2YXIgWD0xO1g8cDtYKyspe2Zvcih2YXIgbmU9Rz4+PjI2LGFlPTY3MTA4ODYzJkcsdWU9TWF0aC5taW4oWCxiLmxlbmd0aC0xKSxiZT1NYXRoLm1heCgwLFgtaC5sZW5ndGgr''@;'; put 'put ''MSk7YmU8PXVlO2JlKyspbmUrPShFPShnPTB8aC53b3Jkc1tYLWJlfDBdKSooXz0wfGIud29yZHNbYmVdKSthZSkvNjcxMDg4NjR8MCxhZT02NzEwODg2MyZFO3kud29yZHNbWF09MHxhZSxHPTB8bmV9cmV0dXJuIDAhPT1HP3kud29yZHNbWF09MHxHOnkubGVuZ3RoLS0seS5zdHJpcCgpfW0u''@;'; put 'put ''cHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKGgsYil7dmFyIHk7aWYoYj0wfGJ8fDEsMTY9PT0oaD1ofHwxMCl8fCJoZXgiPT09aCl7eT0iIjtmb3IodmFyIHA9MCxnPTAsXz0wO188dGhpcy5sZW5ndGg7XysrKXt2YXIgRT10aGlzLndvcmRzW19dLFc9KDE2Nzc3MjE1JihFPDxwfGcpKS50''@;'; put 'put ''b1N0cmluZygxNik7eT0wIT0oZz1FPj4+MjQtcCYxNjc3NzIxNSl8fF8hPT10aGlzLmxlbmd0aC0xP01bNi1XLmxlbmd0aF0rVyt5OlcreSwocCs9Mik+PTI2JiYocC09MjYsXy0tKX1mb3IoMCE9PWcmJih5PWcudG9TdHJpbmcoMTYpK3kpO3kubGVuZ3RoJWIhPTA7KXk9IjAiK3k7cmV0dXJu''@;'; put 'put ''IDAhPT10aGlzLm5lZ2F0aXZlJiYoeT0iLSIreSkseX1pZihoPT09KDB8aCkmJmg+PTImJmg8PTM2KXt2YXIgRz1rW2hdLFg9T1toXTt5PSIiO3ZhciBuZT10aGlzLmNsb25lKCk7Zm9yKG5lLm5lZ2F0aXZlPTA7IW5lLmlzWmVybygpOyl7dmFyIGFlPW5lLm1vZG4oWCkudG9TdHJpbmcoaCk7''@;'; put 'put ''eT0obmU9bmUuaWRpdm4oWCkpLmlzWmVybygpP2FlK3k6TVtHLWFlLmxlbmd0aF0rYWUreX1mb3IodGhpcy5pc1plcm8oKSYmKHk9IjAiK3kpO3kubGVuZ3RoJWIhPTA7KXk9IjAiK3k7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYoeT0iLSIreSkseX1DKCExLCJCYXNlIHNob3VsZCBiZSBi''@;'; put 'put ''ZXR3ZWVuIDIgYW5kIDM2Iil9LG0ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIGg9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP2grPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT9oKz00NTAzNTk5''@;'; put 'put ''NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmQyghMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LWg6aH0sbS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu''@;'; put 'put ''dG9TdHJpbmcoMTYpfSxtLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbihoLGIpe3JldHVybiBDKHZvaWQgMCE9PUYpLHRoaXMudG9BcnJheUxpa2UoRixoLGIpfSxtLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKGgsYil7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksaCxiKX0s''@;'; put 'put ''bS5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24oaCxiLHkpe3ZhciBwPXRoaXMuYnl0ZUxlbmd0aCgpLGc9eXx8TWF0aC5tYXgoMSxwKTtDKHA8PWcsImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxDKGc+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAw''@;'; put 'put ''IiksdGhpcy5zdHJpcCgpO3ZhciBfLEUsVz0ibGUiPT09YixHPW5ldyBoKGcpLFg9dGhpcy5jbG9uZSgpO2lmKFcpe2ZvcihFPTA7IVguaXNaZXJvKCk7RSsrKV89WC5hbmRsbigyNTUpLFguaXVzaHJuKDgpLEdbRV09Xztmb3IoO0U8ZztFKyspR1tFXT0wfWVsc2V7Zm9yKEU9MDtFPGctcDtF''@;'; put 'put ''KyspR1tFXT0wO2ZvcihFPTA7IVguaXNaZXJvKCk7RSsrKV89WC5hbmRsbigyNTUpLFguaXVzaHJuKDgpLEdbZy1FLTFdPV99cmV0dXJuIEd9LG0ucHJvdG90eXBlLl9jb3VudEJpdHM9TWF0aC5jbHozMj9mdW5jdGlvbihoKXtyZXR1cm4gMzItTWF0aC5jbHozMihoKX06ZnVuY3Rpb24oaCl7''@;'; put 'put ''dmFyIGI9aCx5PTA7cmV0dXJuIGI+PTQwOTYmJih5Kz0xMyxiPj4+PTEzKSxiPj02NCYmKHkrPTcsYj4+Pj03KSxiPj04JiYoeSs9NCxiPj4+PTQpLGI+PTImJih5Kz0yLGI+Pj49MikseStifSxtLnByb3RvdHlwZS5femVyb0JpdHM9ZnVuY3Rpb24oaCl7aWYoMD09PWgpcmV0dXJuIDI2O3Zh''@;'; put 'put ''ciBiPWgseT0wO3JldHVybiAwPT0oODE5MSZiKSYmKHkrPTEzLGI+Pj49MTMpLDA9PSgxMjcmYikmJih5Kz03LGI+Pj49NyksMD09KDE1JmIpJiYoeSs9NCxiPj4+PTQpLDA9PSgzJmIpJiYoeSs9MixiPj4+PTIpLDA9PSgxJmIpJiZ5KysseX0sbS5wcm90b3R5cGUuYml0TGVuZ3RoPWZ1bmN0''@;'; put 'put ''aW9uKCl7dmFyIGI9dGhpcy5fY291bnRCaXRzKHRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0pO3JldHVybiAyNioodGhpcy5sZW5ndGgtMSkrYn0sbS5wcm90b3R5cGUuemVyb0JpdHM9ZnVuY3Rpb24oKXtpZih0aGlzLmlzWmVybygpKXJldHVybiAwO2Zvcih2YXIgaD0wLGI9MDtiPHRoaXMu''@;'; put 'put ''bGVuZ3RoO2IrKyl7dmFyIHk9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tiXSk7aWYoaCs9eSwyNiE9PXkpYnJlYWt9cmV0dXJuIGh9LG0ucHJvdG90eXBlLmJ5dGVMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9LG0ucHJvdG90eXBlLnRv''@;'; put 'put ''VHdvcz1mdW5jdGlvbihoKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/dGhpcy5hYnMoKS5pbm90bihoKS5pYWRkbigxKTp0aGlzLmNsb25lKCl9LG0ucHJvdG90eXBlLmZyb21Ud29zPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLnRlc3RuKGgtMSk/dGhpcy5ub3RuKGgpLmlhZGRuKDEpLmlu''@;'; put 'put ''ZWcoKTp0aGlzLmNsb25lKCl9LG0ucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlfSxtLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX0sbS5wcm90b3R5cGUuaW5lZz1mdW5jdGlvbigpe3JldHVybiB0''@;'; put 'put ''aGlzLmlzWmVybygpfHwodGhpcy5uZWdhdGl2ZV49MSksdGhpc30sbS5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbihoKXtmb3IoO3RoaXMubGVuZ3RoPGgubGVuZ3RoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7Zm9yKHZhciBiPTA7YjxoLmxlbmd0aDtiKyspdGhpcy53b3Jkc1tiXT10''@;'; put 'put ''aGlzLndvcmRzW2JdfGgud29yZHNbYl07cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PSh0aGlzLm5lZ2F0aXZlfGgubmVnYXRpdmUpKSx0aGlzLml1b3IoaCl9LG0ucHJvdG90eXBlLm9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlz''@;'; put 'put ''Lmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKGgpOmguY2xvbmUoKS5pb3IodGhpcyl9LG0ucHJvdG90eXBlLnVvcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IoaCk6aC5jbG9uZSgpLml1b3IodGhpcyl9LG0ucHJvdG90''@;'; put 'put ''eXBlLml1YW5kPWZ1bmN0aW9uKGgpe3ZhciBiO2I9dGhpcy5sZW5ndGg+aC5sZW5ndGg/aDp0aGlzO2Zvcih2YXIgeT0wO3k8Yi5sZW5ndGg7eSsrKXRoaXMud29yZHNbeV09dGhpcy53b3Jkc1t5XSZoLndvcmRzW3ldO3JldHVybiB0aGlzLmxlbmd0aD1iLmxlbmd0aCx0aGlzLnN0cmlwKCl9''@;'; put 'put ''LG0ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09KHRoaXMubmVnYXRpdmV8aC5uZWdhdGl2ZSkpLHRoaXMuaXVhbmQoaCl9LG0ucHJvdG90eXBlLmFuZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlhbmQoaCk6aC5j''@;'; put 'put ''bG9uZSgpLmlhbmQodGhpcyl9LG0ucHJvdG90eXBlLnVhbmQ9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdWFuZChoKTpoLmNsb25lKCkuaXVhbmQodGhpcyl9LG0ucHJvdG90eXBlLml1eG9yPWZ1bmN0aW9uKGgpe3ZhciBiLHk7dGhpcy5s''@;'; put 'put ''ZW5ndGg+aC5sZW5ndGg/KGI9dGhpcyx5PWgpOihiPWgseT10aGlzKTtmb3IodmFyIHA9MDtwPHkubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3BdPWIud29yZHNbcF1eeS53b3Jkc1twXTtpZih0aGlzIT09Yilmb3IoO3A8Yi5sZW5ndGg7cCsrKXRoaXMud29yZHNbcF09Yi53b3Jkc1twXTtyZXR1''@;'; put 'put ''cm4gdGhpcy5sZW5ndGg9Yi5sZW5ndGgsdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PSh0aGlzLm5lZ2F0aXZlfGgubmVnYXRpdmUpKSx0aGlzLml1eG9yKGgpfSxtLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVu''@;'; put 'put ''Z3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5peG9yKGgpOmguY2xvbmUoKS5peG9yKHRoaXMpfSxtLnByb3RvdHlwZS51eG9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaXV4b3IoaCk6aC5jbG9uZSgpLml1eG9yKHRoaXMpfSxtLnByb3Rv''@;'; put 'put ''dHlwZS5pbm90bj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIGI9MHxNYXRoLmNlaWwoaC8yNikseT1oJTI2O3RoaXMuX2V4cGFuZChiKSx5PjAmJmItLTtmb3IodmFyIHA9MDtwPGI7cCsrKXRoaXMud29yZHNbcF09NjcxMDg4NjMmfnRoaXMud29yZHNbcF07''@;'; put 'put ''cmV0dXJuIHk+MCYmKHRoaXMud29yZHNbcF09fnRoaXMud29yZHNbcF0mNjcxMDg4NjM+PjI2LXkpLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUubm90bj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKGgpfSxtLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKGgsYil7Qygi''@;'; put 'put ''bnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3ZhciB5PWgvMjZ8MCxwPWglMjY7cmV0dXJuIHRoaXMuX2V4cGFuZCh5KzEpLHRoaXMud29yZHNbeV09Yj90aGlzLndvcmRzW3ldfDE8PHA6dGhpcy53b3Jkc1t5XSZ+KDE8PHApLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaWFkZD1mdW5jdGlv''@;'; put 'put ''bihoKXt2YXIgYix5LHA7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT1oLm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsYj10aGlzLmlzdWIoaCksdGhpcy5uZWdhdGl2ZV49MSx0aGlzLl9ub3JtU2lnbigpO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09aC5uZWdhdGl2ZSlyZXR1''@;'; put 'put ''cm4gaC5uZWdhdGl2ZT0wLGI9dGhpcy5pc3ViKGgpLGgubmVnYXRpdmU9MSxiLl9ub3JtU2lnbigpO3RoaXMubGVuZ3RoPmgubGVuZ3RoPyh5PXRoaXMscD1oKTooeT1oLHA9dGhpcyk7Zm9yKHZhciBnPTAsXz0wO188cC5sZW5ndGg7XysrKXRoaXMud29yZHNbX109NjcxMDg4NjMmKGI9KDB8''@;'; put 'put ''eS53b3Jkc1tfXSkrKDB8cC53b3Jkc1tfXSkrZyksZz1iPj4+MjY7Zm9yKDswIT09ZyYmXzx5Lmxlbmd0aDtfKyspdGhpcy53b3Jkc1tfXT02NzEwODg2MyYoYj0oMHx5LndvcmRzW19dKStnKSxnPWI+Pj4yNjtpZih0aGlzLmxlbmd0aD15Lmxlbmd0aCwwIT09Zyl0aGlzLndvcmRzW3RoaXMu''@;'; put 'put ''bGVuZ3RoXT1nLHRoaXMubGVuZ3RoKys7ZWxzZSBpZih5IT09dGhpcylmb3IoO188eS5sZW5ndGg7XysrKXRoaXMud29yZHNbX109eS53b3Jkc1tfXTtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGgpe3ZhciBiO3JldHVybiAwIT09aC5uZWdhdGl2ZSYmMD09PXRoaXMu''@;'; put 'put ''bmVnYXRpdmU/KGgubmVnYXRpdmU9MCxiPXRoaXMuc3ViKGgpLGgubmVnYXRpdmVePTEsYik6MD09PWgubmVnYXRpdmUmJjAhPT10aGlzLm5lZ2F0aXZlPyh0aGlzLm5lZ2F0aXZlPTAsYj1oLnN1Yih0aGlzKSx0aGlzLm5lZ2F0aXZlPTEsYik6dGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5j''@;'; put 'put ''bG9uZSgpLmlhZGQoaCk6aC5jbG9uZSgpLmlhZGQodGhpcyl9LG0ucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24oaCl7aWYoMCE9PWgubmVnYXRpdmUpe2gubmVnYXRpdmU9MDt2YXIgYj10aGlzLmlhZGQoaCk7cmV0dXJuIGgubmVnYXRpdmU9MSxiLl9ub3JtU2lnbigpfWlmKDAhPT10aGlzLm5l''@;'; put 'put ''Z2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pYWRkKGgpLHRoaXMubmVnYXRpdmU9MSx0aGlzLl9ub3JtU2lnbigpO3ZhciB5LHAsZz10aGlzLmNtcChoKTtpZigwPT09ZylyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMubGVuZ3RoPTEsdGhpcy53b3Jkc1swXT0wLHRoaXM7''@;'; put 'put ''Zz4wPyh5PXRoaXMscD1oKTooeT1oLHA9dGhpcyk7Zm9yKHZhciBfPTAsRT0wO0U8cC5sZW5ndGg7RSsrKV89KGI9KDB8eS53b3Jkc1tFXSktKDB8cC53b3Jkc1tFXSkrXyk+PjI2LHRoaXMud29yZHNbRV09NjcxMDg4NjMmYjtmb3IoOzAhPT1fJiZFPHkubGVuZ3RoO0UrKylfPShiPSgwfHku''@;'; put 'put ''d29yZHNbRV0pK18pPj4yNix0aGlzLndvcmRzW0VdPTY3MTA4ODYzJmI7aWYoMD09PV8mJkU8eS5sZW5ndGgmJnkhPT10aGlzKWZvcig7RTx5Lmxlbmd0aDtFKyspdGhpcy53b3Jkc1tFXT15LndvcmRzW0VdO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxFKSx5IT09''@;'; put 'put ''dGhpcyYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKGgpfTt2YXIgVD1mdW5jdGlvbihoLGIseSl7dmFyIHAsZyxfLEU9aC53b3JkcyxXPWIud29yZHMsRz15LndvcmRzLFg9MCxuZT0w''@;'; put 'put ''fEVbMF0sYWU9ODE5MSZuZSx1ZT1uZT4+PjEzLGJlPTB8RVsxXSxfZT04MTkxJmJlLGxlPWJlPj4+MTMsY2U9MHxFWzJdLHBlPTgxOTEmY2Usd2U9Y2U+Pj4xMyxVZT0wfEVbM10seGU9ODE5MSZVZSxFZT1VZT4+PjEzLHd0PTB8RVs0XSxOZT04MTkxJnd0LEhlPXd0Pj4+MTMsUmU9MHxFWzVd''@;'; put 'put ''LE9lPTgxOTEmUmUsTGU9UmU+Pj4xMyxpZT0wfEVbNl0sc2U9ODE5MSZpZSxkZT1pZT4+PjEzLEFlPTB8RVs3XSxrZT04MTkxJkFlLFNlPUFlPj4+MTMsJGU9MHxFWzhdLFZlPTgxOTEmJGUsR2U9JGU+Pj4xMyxxdD0wfEVbOV0sS2U9ODE5MSZxdCxldD1xdD4+PjEzLF9uPTB8V1swXSxidD04''@;'; put 'put ''MTkxJl9uLHB0PV9uPj4+MTMsR3Q9MHxXWzFdLG50PTgxOTEmR3QseXQ9R3Q+Pj4xMyxTbj0wfFdbMl0sZ3Q9ODE5MSZTbixkdD1Tbj4+PjEzLFh0PTB8V1szXSxhdD04MTkxJlh0LFFlPVh0Pj4+MTMsbW49MHxXWzRdLG90PTgxOTEmbW4sdnQ9bW4+Pj4xMyx0cj0wfFdbNV0sWmU9ODE5MSZ0''@;'; put 'put ''cixtdD10cj4+PjEzLFVuPTB8V1s2XSxmdD04MTkxJlVuLGx0PVVuPj4+MTMsWnQ9MHxXWzddLFhlPTgxOTEmWnQsRGU9WnQ+Pj4xMyx1dD0wfFdbOF0scnQ9ODE5MSZ1dCxpdD11dD4+PjEzLGJuPTB8V1s5XSxXZT04MTkxJmJuLEplPWJuPj4+MTM7eS5uZWdhdGl2ZT1oLm5lZ2F0aXZlXmIu''@;'; put 'put ''bmVnYXRpdmUseS5sZW5ndGg9MTk7dmFyIE10PShYKyhwPU1hdGguaW11bChhZSxidCkpfDApKygoODE5MSYoZz0oZz1NYXRoLmltdWwoYWUscHQpKStNYXRoLmltdWwodWUsYnQpfDApKTw8MTMpfDA7WD0oKF89TWF0aC5pbXVsKHVlLHB0KSkrKGc+Pj4xMyl8MCkrKE10Pj4+MjYpfDAsTXQm''@;'; put 'put ''PTY3MTA4ODYzLHA9TWF0aC5pbXVsKF9lLGJ0KSxnPShnPU1hdGguaW11bChfZSxwdCkpK01hdGguaW11bChsZSxidCl8MCxfPU1hdGguaW11bChsZSxwdCk7dmFyIER0PShYKyhwPXArTWF0aC5pbXVsKGFlLG50KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUseXQpfDApK01h''@;'; put 'put ''dGguaW11bCh1ZSxudCl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSx5dCl8MCkrKGc+Pj4xMyl8MCkrKER0Pj4+MjYpfDAsRHQmPTY3MTA4ODYzLHA9TWF0aC5pbXVsKHBlLGJ0KSxnPShnPU1hdGguaW11bChwZSxwdCkpK01hdGguaW11bCh3ZSxidCl8MCxfPU1hdGguaW11bCh3''@;'; put 'put ''ZSxwdCkscD1wK01hdGguaW11bChfZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLHl0KXwwKStNYXRoLmltdWwobGUsbnQpfDAsXz1fK01hdGguaW11bChsZSx5dCl8MDt2YXIgQnQ9KFgrKHA9cCtNYXRoLmltdWwoYWUsZ3QpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxk''@;'; put 'put ''dCl8MCkrTWF0aC5pbXVsKHVlLGd0KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLGR0KXwwKSsoZz4+PjEzKXwwKSsoQnQ+Pj4yNil8MCxCdCY9NjcxMDg4NjMscD1NYXRoLmltdWwoeGUsYnQpLGc9KGc9TWF0aC5pbXVsKHhlLHB0KSkrTWF0aC5pbXVsKEVlLGJ0KXwwLF89TWF0''@;'; put 'put ''aC5pbXVsKEVlLHB0KSxwPXArTWF0aC5pbXVsKHBlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwocGUseXQpfDApK01hdGguaW11bCh3ZSxudCl8MCxfPV8rTWF0aC5pbXVsKHdlLHl0KXwwLHA9cCtNYXRoLmltdWwoX2UsZ3QpfDAsZz0oZz1nK01hdGguaW11bChfZSxkdCl8MCkrTWF0aC5pbXVs''@;'; put 'put ''KGxlLGd0KXwwLF89XytNYXRoLmltdWwobGUsZHQpfDA7dmFyIGVuPShYKyhwPXArTWF0aC5pbXVsKGFlLGF0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsUWUpfDApK01hdGguaW11bCh1ZSxhdCl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxRZSl8MCkrKGc+''@;'; put 'put ''Pj4xMyl8MCkrKGVuPj4+MjYpfDAsZW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKE5lLGJ0KSxnPShnPU1hdGguaW11bChOZSxwdCkpK01hdGguaW11bChIZSxidCl8MCxfPU1hdGguaW11bChIZSxwdCkscD1wK01hdGguaW11bCh4ZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLHl0KXwwKStN''@;'; put 'put ''YXRoLmltdWwoRWUsbnQpfDAsXz1fK01hdGguaW11bChFZSx5dCl8MCxwPXArTWF0aC5pbXVsKHBlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsZHQpfDApK01hdGguaW11bCh3ZSxndCl8MCxfPV8rTWF0aC5pbXVsKHdlLGR0KXwwLHA9cCtNYXRoLmltdWwoX2UsYXQpfDAsZz0oZz1nK01h''@;'; put 'put ''dGguaW11bChfZSxRZSl8MCkrTWF0aC5pbXVsKGxlLGF0KXwwLF89XytNYXRoLmltdWwobGUsUWUpfDA7dmFyIFl0PShYKyhwPXArTWF0aC5pbXVsKGFlLG90KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsdnQpfDApK01hdGguaW11bCh1ZSxvdCl8MCkpPDwxMyl8MDtYPSgo''@;'; put 'put ''Xz1fK01hdGguaW11bCh1ZSx2dCl8MCkrKGc+Pj4xMyl8MCkrKFl0Pj4+MjYpfDAsWXQmPTY3MTA4ODYzLHA9TWF0aC5pbXVsKE9lLGJ0KSxnPShnPU1hdGguaW11bChPZSxwdCkpK01hdGguaW11bChMZSxidCl8MCxfPU1hdGguaW11bChMZSxwdCkscD1wK01hdGguaW11bChOZSxudCl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKE5lLHl0KXwwKStNYXRoLmltdWwoSGUsbnQpfDAsXz1fK01hdGguaW11bChIZSx5dCl8MCxwPXArTWF0aC5pbXVsKHhlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsZHQpfDApK01hdGguaW11bChFZSxndCl8MCxfPV8rTWF0aC5pbXVsKEVlLGR0KXwwLHA9cCtN''@;'; put 'put ''YXRoLmltdWwocGUsYXQpfDAsZz0oZz1nK01hdGguaW11bChwZSxRZSl8MCkrTWF0aC5pbXVsKHdlLGF0KXwwLF89XytNYXRoLmltdWwod2UsUWUpfDAscD1wK01hdGguaW11bChfZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLHZ0KXwwKStNYXRoLmltdWwobGUsb3QpfDAsXz1fK01hdGgu''@;'; put 'put ''aW11bChsZSx2dCl8MDt2YXIgcm49KFgrKHA9cCtNYXRoLmltdWwoYWUsWmUpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxtdCl8MCkrTWF0aC5pbXVsKHVlLFplKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLG10KXwwKSsoZz4+PjEzKXwwKSsocm4+Pj4yNil8''@;'; put 'put ''MCxybiY9NjcxMDg4NjMscD1NYXRoLmltdWwoc2UsYnQpLGc9KGc9TWF0aC5pbXVsKHNlLHB0KSkrTWF0aC5pbXVsKGRlLGJ0KXwwLF89TWF0aC5pbXVsKGRlLHB0KSxwPXArTWF0aC5pbXVsKE9lLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UseXQpfDApK01hdGguaW11bChMZSxudCl8MCxf''@;'; put 'put ''PV8rTWF0aC5pbXVsKExlLHl0KXwwLHA9cCtNYXRoLmltdWwoTmUsZ3QpfDAsZz0oZz1nK01hdGguaW11bChOZSxkdCl8MCkrTWF0aC5pbXVsKEhlLGd0KXwwLF89XytNYXRoLmltdWwoSGUsZHQpfDAscD1wK01hdGguaW11bCh4ZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLFFlKXwwKStN''@;'; put 'put ''YXRoLmltdWwoRWUsYXQpfDAsXz1fK01hdGguaW11bChFZSxRZSl8MCxwPXArTWF0aC5pbXVsKHBlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsdnQpfDApK01hdGguaW11bCh3ZSxvdCl8MCxfPV8rTWF0aC5pbXVsKHdlLHZ0KXwwLHA9cCtNYXRoLmltdWwoX2UsWmUpfDAsZz0oZz1nK01h''@;'; put 'put ''dGguaW11bChfZSxtdCl8MCkrTWF0aC5pbXVsKGxlLFplKXwwLF89XytNYXRoLmltdWwobGUsbXQpfDA7dmFyIGFuPShYKyhwPXArTWF0aC5pbXVsKGFlLGZ0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsbHQpfDApK01hdGguaW11bCh1ZSxmdCl8MCkpPDwxMyl8MDtYPSgo''@;'; put 'put ''Xz1fK01hdGguaW11bCh1ZSxsdCl8MCkrKGc+Pj4xMyl8MCkrKGFuPj4+MjYpfDAsYW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKGtlLGJ0KSxnPShnPU1hdGguaW11bChrZSxwdCkpK01hdGguaW11bChTZSxidCl8MCxfPU1hdGguaW11bChTZSxwdCkscD1wK01hdGguaW11bChzZSxudCl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKHNlLHl0KXwwKStNYXRoLmltdWwoZGUsbnQpfDAsXz1fK01hdGguaW11bChkZSx5dCl8MCxwPXArTWF0aC5pbXVsKE9lLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsZHQpfDApK01hdGguaW11bChMZSxndCl8MCxfPV8rTWF0aC5pbXVsKExlLGR0KXwwLHA9cCtN''@;'; put 'put ''YXRoLmltdWwoTmUsYXQpfDAsZz0oZz1nK01hdGguaW11bChOZSxRZSl8MCkrTWF0aC5pbXVsKEhlLGF0KXwwLF89XytNYXRoLmltdWwoSGUsUWUpfDAscD1wK01hdGguaW11bCh4ZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLHZ0KXwwKStNYXRoLmltdWwoRWUsb3QpfDAsXz1fK01hdGgu''@;'; put 'put ''aW11bChFZSx2dCl8MCxwPXArTWF0aC5pbXVsKHBlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwocGUsbXQpfDApK01hdGguaW11bCh3ZSxaZSl8MCxfPV8rTWF0aC5pbXVsKHdlLG10KXwwLHA9cCtNYXRoLmltdWwoX2UsZnQpfDAsZz0oZz1nK01hdGguaW11bChfZSxsdCl8MCkrTWF0aC5pbXVs''@;'; put 'put ''KGxlLGZ0KXwwLF89XytNYXRoLmltdWwobGUsbHQpfDA7dmFyIGxuPShYKyhwPXArTWF0aC5pbXVsKGFlLFhlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsRGUpfDApK01hdGguaW11bCh1ZSxYZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxEZSl8MCkrKGc+''@;'; put 'put ''Pj4xMyl8MCkrKGxuPj4+MjYpfDAsbG4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKFZlLGJ0KSxnPShnPU1hdGguaW11bChWZSxwdCkpK01hdGguaW11bChHZSxidCl8MCxfPU1hdGguaW11bChHZSxwdCkscD1wK01hdGguaW11bChrZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLHl0KXwwKStN''@;'; put 'put ''YXRoLmltdWwoU2UsbnQpfDAsXz1fK01hdGguaW11bChTZSx5dCl8MCxwPXArTWF0aC5pbXVsKHNlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsZHQpfDApK01hdGguaW11bChkZSxndCl8MCxfPV8rTWF0aC5pbXVsKGRlLGR0KXwwLHA9cCtNYXRoLmltdWwoT2UsYXQpfDAsZz0oZz1nK01h''@;'; put 'put ''dGguaW11bChPZSxRZSl8MCkrTWF0aC5pbXVsKExlLGF0KXwwLF89XytNYXRoLmltdWwoTGUsUWUpfDAscD1wK01hdGguaW11bChOZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLHZ0KXwwKStNYXRoLmltdWwoSGUsb3QpfDAsXz1fK01hdGguaW11bChIZSx2dCl8MCxwPXArTWF0aC5pbXVs''@;'; put 'put ''KHhlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsbXQpfDApK01hdGguaW11bChFZSxaZSl8MCxfPV8rTWF0aC5pbXVsKEVlLG10KXwwLHA9cCtNYXRoLmltdWwocGUsZnQpfDAsZz0oZz1nK01hdGguaW11bChwZSxsdCl8MCkrTWF0aC5pbXVsKHdlLGZ0KXwwLF89XytNYXRoLmltdWwod2Us''@;'; put 'put ''bHQpfDAscD1wK01hdGguaW11bChfZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLERlKXwwKStNYXRoLmltdWwobGUsWGUpfDAsXz1fK01hdGguaW11bChsZSxEZSl8MDt2YXIgTW49KFgrKHA9cCtNYXRoLmltdWwoYWUscnQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxp''@;'; put 'put ''dCl8MCkrTWF0aC5pbXVsKHVlLHJ0KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLGl0KXwwKSsoZz4+PjEzKXwwKSsoTW4+Pj4yNil8MCxNbiY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsYnQpLGc9KGc9TWF0aC5pbXVsKEtlLHB0KSkrTWF0aC5pbXVsKGV0LGJ0KXwwLF89TWF0''@;'; put 'put ''aC5pbXVsKGV0LHB0KSxwPXArTWF0aC5pbXVsKFZlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUseXQpfDApK01hdGguaW11bChHZSxudCl8MCxfPV8rTWF0aC5pbXVsKEdlLHl0KXwwLHA9cCtNYXRoLmltdWwoa2UsZ3QpfDAsZz0oZz1nK01hdGguaW11bChrZSxkdCl8MCkrTWF0aC5pbXVs''@;'; put 'put ''KFNlLGd0KXwwLF89XytNYXRoLmltdWwoU2UsZHQpfDAscD1wK01hdGguaW11bChzZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLFFlKXwwKStNYXRoLmltdWwoZGUsYXQpfDAsXz1fK01hdGguaW11bChkZSxRZSl8MCxwPXArTWF0aC5pbXVsKE9lLG90KXwwLGc9KGc9ZytNYXRoLmltdWwo''@;'; put 'put ''T2UsdnQpfDApK01hdGguaW11bChMZSxvdCl8MCxfPV8rTWF0aC5pbXVsKExlLHZ0KXwwLHA9cCtNYXRoLmltdWwoTmUsWmUpfDAsZz0oZz1nK01hdGguaW11bChOZSxtdCl8MCkrTWF0aC5pbXVsKEhlLFplKXwwLF89XytNYXRoLmltdWwoSGUsbXQpfDAscD1wK01hdGguaW11bCh4ZSxmdCl8''@;'; put 'put ''MCxnPShnPWcrTWF0aC5pbXVsKHhlLGx0KXwwKStNYXRoLmltdWwoRWUsZnQpfDAsXz1fK01hdGguaW11bChFZSxsdCl8MCxwPXArTWF0aC5pbXVsKHBlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwocGUsRGUpfDApK01hdGguaW11bCh3ZSxYZSl8MCxfPV8rTWF0aC5pbXVsKHdlLERlKXwwLHA9''@;'; put 'put ''cCtNYXRoLmltdWwoX2UscnQpfDAsZz0oZz1nK01hdGguaW11bChfZSxpdCl8MCkrTWF0aC5pbXVsKGxlLHJ0KXwwLF89XytNYXRoLmltdWwobGUsaXQpfDA7dmFyIG5uPShYKyhwPXArTWF0aC5pbXVsKGFlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsSmUpfDApK01h''@;'; put 'put ''dGguaW11bCh1ZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKG5uPj4+MjYpfDAsbm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLG50KSxnPShnPU1hdGguaW11bChLZSx5dCkpK01hdGguaW11bChldCxudCl8MCxfPU1hdGguaW11bChl''@;'; put 'put ''dCx5dCkscD1wK01hdGguaW11bChWZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLGR0KXwwKStNYXRoLmltdWwoR2UsZ3QpfDAsXz1fK01hdGguaW11bChHZSxkdCl8MCxwPXArTWF0aC5pbXVsKGtlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsUWUpfDApK01hdGguaW11bChTZSxhdCl8''@;'; put 'put ''MCxfPV8rTWF0aC5pbXVsKFNlLFFlKXwwLHA9cCtNYXRoLmltdWwoc2Usb3QpfDAsZz0oZz1nK01hdGguaW11bChzZSx2dCl8MCkrTWF0aC5pbXVsKGRlLG90KXwwLF89XytNYXRoLmltdWwoZGUsdnQpfDAscD1wK01hdGguaW11bChPZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLG10KXww''@;'; put 'put ''KStNYXRoLmltdWwoTGUsWmUpfDAsXz1fK01hdGguaW11bChMZSxtdCl8MCxwPXArTWF0aC5pbXVsKE5lLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsbHQpfDApK01hdGguaW11bChIZSxmdCl8MCxfPV8rTWF0aC5pbXVsKEhlLGx0KXwwLHA9cCtNYXRoLmltdWwoeGUsWGUpfDAsZz0oZz1n''@;'; put 'put ''K01hdGguaW11bCh4ZSxEZSl8MCkrTWF0aC5pbXVsKEVlLFhlKXwwLF89XytNYXRoLmltdWwoRWUsRGUpfDAscD1wK01hdGguaW11bChwZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLGl0KXwwKStNYXRoLmltdWwod2UscnQpfDAsXz1fK01hdGguaW11bCh3ZSxpdCl8MDt2YXIgUW49KFgr''@;'; put 'put ''KHA9cCtNYXRoLmltdWwoX2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChfZSxKZSl8MCkrTWF0aC5pbXVsKGxlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKGxlLEplKXwwKSsoZz4+PjEzKXwwKSsoUW4+Pj4yNil8MCxRbiY9NjcxMDg4NjMscD1NYXRoLmlt''@;'; put 'put ''dWwoS2UsZ3QpLGc9KGc9TWF0aC5pbXVsKEtlLGR0KSkrTWF0aC5pbXVsKGV0LGd0KXwwLF89TWF0aC5pbXVsKGV0LGR0KSxwPXArTWF0aC5pbXVsKFZlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsUWUpfDApK01hdGguaW11bChHZSxhdCl8MCxfPV8rTWF0aC5pbXVsKEdlLFFlKXwwLHA9''@;'; put 'put ''cCtNYXRoLmltdWwoa2Usb3QpfDAsZz0oZz1nK01hdGguaW11bChrZSx2dCl8MCkrTWF0aC5pbXVsKFNlLG90KXwwLF89XytNYXRoLmltdWwoU2UsdnQpfDAscD1wK01hdGguaW11bChzZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLG10KXwwKStNYXRoLmltdWwoZGUsWmUpfDAsXz1fK01h''@;'; put 'put ''dGguaW11bChkZSxtdCl8MCxwPXArTWF0aC5pbXVsKE9lLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsbHQpfDApK01hdGguaW11bChMZSxmdCl8MCxfPV8rTWF0aC5pbXVsKExlLGx0KXwwLHA9cCtNYXRoLmltdWwoTmUsWGUpfDAsZz0oZz1nK01hdGguaW11bChOZSxEZSl8MCkrTWF0aC5p''@;'; put 'put ''bXVsKEhlLFhlKXwwLF89XytNYXRoLmltdWwoSGUsRGUpfDAscD1wK01hdGguaW11bCh4ZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLGl0KXwwKStNYXRoLmltdWwoRWUscnQpfDAsXz1fK01hdGguaW11bChFZSxpdCl8MDt2YXIgWm49KFgrKHA9cCtNYXRoLmltdWwocGUsV2UpfDApfDAp''@;'; put 'put ''KygoODE5MSYoZz0oZz1nK01hdGguaW11bChwZSxKZSl8MCkrTWF0aC5pbXVsKHdlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHdlLEplKXwwKSsoZz4+PjEzKXwwKSsoWm4+Pj4yNil8MCxabiY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsYXQpLGc9KGc9TWF0aC5pbXVsKEtl''@;'; put 'put ''LFFlKSkrTWF0aC5pbXVsKGV0LGF0KXwwLF89TWF0aC5pbXVsKGV0LFFlKSxwPXArTWF0aC5pbXVsKFZlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsdnQpfDApK01hdGguaW11bChHZSxvdCl8MCxfPV8rTWF0aC5pbXVsKEdlLHZ0KXwwLHA9cCtNYXRoLmltdWwoa2UsWmUpfDAsZz0oZz1n''@;'; put 'put ''K01hdGguaW11bChrZSxtdCl8MCkrTWF0aC5pbXVsKFNlLFplKXwwLF89XytNYXRoLmltdWwoU2UsbXQpfDAscD1wK01hdGguaW11bChzZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLGx0KXwwKStNYXRoLmltdWwoZGUsZnQpfDAsXz1fK01hdGguaW11bChkZSxsdCl8MCxwPXArTWF0aC5p''@;'; put 'put ''bXVsKE9lLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsRGUpfDApK01hdGguaW11bChMZSxYZSl8MCxfPV8rTWF0aC5pbXVsKExlLERlKXwwLHA9cCtNYXRoLmltdWwoTmUscnQpfDAsZz0oZz1nK01hdGguaW11bChOZSxpdCl8MCkrTWF0aC5pbXVsKEhlLHJ0KXwwLF89XytNYXRoLmltdWwo''@;'; put 'put ''SGUsaXQpfDA7dmFyIGxyPShYKyhwPXArTWF0aC5pbXVsKHhlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoeGUsSmUpfDApK01hdGguaW11bChFZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChFZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKGxyPj4+MjYpfDAsbHIm''@;'; put 'put ''PTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLG90KSxnPShnPU1hdGguaW11bChLZSx2dCkpK01hdGguaW11bChldCxvdCl8MCxfPU1hdGguaW11bChldCx2dCkscD1wK01hdGguaW11bChWZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLG10KXwwKStNYXRoLmltdWwoR2UsWmUpfDAsXz1fK01h''@;'; put 'put ''dGguaW11bChHZSxtdCl8MCxwPXArTWF0aC5pbXVsKGtlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsbHQpfDApK01hdGguaW11bChTZSxmdCl8MCxfPV8rTWF0aC5pbXVsKFNlLGx0KXwwLHA9cCtNYXRoLmltdWwoc2UsWGUpfDAsZz0oZz1nK01hdGguaW11bChzZSxEZSl8MCkrTWF0aC5p''@;'; put 'put ''bXVsKGRlLFhlKXwwLF89XytNYXRoLmltdWwoZGUsRGUpfDAscD1wK01hdGguaW11bChPZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLGl0KXwwKStNYXRoLmltdWwoTGUscnQpfDAsXz1fK01hdGguaW11bChMZSxpdCl8MDt2YXIgd249KFgrKHA9cCtNYXRoLmltdWwoTmUsV2UpfDApfDAp''@;'; put 'put ''KygoODE5MSYoZz0oZz1nK01hdGguaW11bChOZSxKZSl8MCkrTWF0aC5pbXVsKEhlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKEhlLEplKXwwKSsoZz4+PjEzKXwwKSsod24+Pj4yNil8MCx3biY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsWmUpLGc9KGc9TWF0aC5pbXVsKEtl''@;'; put 'put ''LG10KSkrTWF0aC5pbXVsKGV0LFplKXwwLF89TWF0aC5pbXVsKGV0LG10KSxwPXArTWF0aC5pbXVsKFZlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsbHQpfDApK01hdGguaW11bChHZSxmdCl8MCxfPV8rTWF0aC5pbXVsKEdlLGx0KXwwLHA9cCtNYXRoLmltdWwoa2UsWGUpfDAsZz0oZz1n''@;'; put 'put ''K01hdGguaW11bChrZSxEZSl8MCkrTWF0aC5pbXVsKFNlLFhlKXwwLF89XytNYXRoLmltdWwoU2UsRGUpfDAscD1wK01hdGguaW11bChzZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLGl0KXwwKStNYXRoLmltdWwoZGUscnQpfDAsXz1fK01hdGguaW11bChkZSxpdCl8MDt2YXIgdnI9KFgr''@;'; put 'put ''KHA9cCtNYXRoLmltdWwoT2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChPZSxKZSl8MCkrTWF0aC5pbXVsKExlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKExlLEplKXwwKSsoZz4+PjEzKXwwKSsodnI+Pj4yNil8MCx2ciY9NjcxMDg4NjMscD1NYXRoLmlt''@;'; put 'put ''dWwoS2UsZnQpLGc9KGc9TWF0aC5pbXVsKEtlLGx0KSkrTWF0aC5pbXVsKGV0LGZ0KXwwLF89TWF0aC5pbXVsKGV0LGx0KSxwPXArTWF0aC5pbXVsKFZlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsRGUpfDApK01hdGguaW11bChHZSxYZSl8MCxfPV8rTWF0aC5pbXVsKEdlLERlKXwwLHA9''@;'; put 'put ''cCtNYXRoLmltdWwoa2UscnQpfDAsZz0oZz1nK01hdGguaW11bChrZSxpdCl8MCkrTWF0aC5pbXVsKFNlLHJ0KXwwLF89XytNYXRoLmltdWwoU2UsaXQpfDA7dmFyIHZuPShYKyhwPXArTWF0aC5pbXVsKHNlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoc2UsSmUpfDApK01h''@;'; put 'put ''dGguaW11bChkZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChkZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKHZuPj4+MjYpfDAsdm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLFhlKSxnPShnPU1hdGguaW11bChLZSxEZSkpK01hdGguaW11bChldCxYZSl8MCxfPU1hdGguaW11bChl''@;'; put 'put ''dCxEZSkscD1wK01hdGguaW11bChWZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLGl0KXwwKStNYXRoLmltdWwoR2UscnQpfDAsXz1fK01hdGguaW11bChHZSxpdCl8MDt2YXIgY3I9KFgrKHA9cCtNYXRoLmltdWwoa2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChrZSxK''@;'; put 'put ''ZSl8MCkrTWF0aC5pbXVsKFNlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKFNlLEplKXwwKSsoZz4+PjEzKXwwKSsoY3I+Pj4yNil8MCxjciY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UscnQpLGc9KGc9TWF0aC5pbXVsKEtlLGl0KSkrTWF0aC5pbXVsKGV0LHJ0KXwwLF89TWF0''@;'; put 'put ''aC5pbXVsKGV0LGl0KTt2YXIgb3I9KFgrKHA9cCtNYXRoLmltdWwoVmUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChWZSxKZSl8MCkrTWF0aC5pbXVsKEdlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKEdlLEplKXwwKSsoZz4+PjEzKXwwKSsob3I+Pj4yNil8''@;'; put 'put ''MCxvciY9NjcxMDg4NjM7dmFyIENuPShYKyhwPU1hdGguaW11bChLZSxXZSkpfDApKygoODE5MSYoZz0oZz1NYXRoLmltdWwoS2UsSmUpKStNYXRoLmltdWwoZXQsV2UpfDApKTw8MTMpfDA7cmV0dXJuIFg9KChfPU1hdGguaW11bChldCxKZSkpKyhnPj4+MTMpfDApKyhDbj4+PjI2KXwwLENu''@;'; put 'put ''Jj02NzEwODg2MyxHWzBdPU10LEdbMV09RHQsR1syXT1CdCxHWzNdPWVuLEdbNF09WXQsR1s1XT1ybixHWzZdPWFuLEdbN109bG4sR1s4XT1NbixHWzldPW5uLEdbMTBdPVFuLEdbMTFdPVpuLEdbMTJdPWxyLEdbMTNdPXduLEdbMTRdPXZyLEdbMTVdPXZuLEdbMTZdPWNyLEdbMTddPW9yLEdb''@;'; put 'put ''MThdPUNuLDAhPT1YJiYoR1sxOV09WCx5Lmxlbmd0aCsrKSx5fTtmdW5jdGlvbiBZKGgsYix5KXtyZXR1cm4obmV3IEkpLm11bHAoaCxiLHkpfWZ1bmN0aW9uIEkoaCxiKXt0aGlzLng9aCx0aGlzLnk9Yn1NYXRoLmltdWx8fChUPUwpLG0ucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uKGgsYil7''@;'; put 'put ''dmFyIHA9dGhpcy5sZW5ndGgraC5sZW5ndGg7cmV0dXJuIDEwPT09dGhpcy5sZW5ndGgmJjEwPT09aC5sZW5ndGg/VCh0aGlzLGgsYik6cDw2Mz9MKHRoaXMsaCxiKTpwPDEwMjQ/ZnVuY3Rpb24oZyxfLEUpe0UubmVnYXRpdmU9Xy5uZWdhdGl2ZV5nLm5lZ2F0aXZlLEUubGVuZ3RoPWcubGVu''@;'; put 'put ''Z3RoK18ubGVuZ3RoO2Zvcih2YXIgVz0wLEc9MCxYPTA7WDxFLmxlbmd0aC0xO1grKyl7dmFyIG5lPUc7Rz0wO2Zvcih2YXIgYWU9NjcxMDg4NjMmVyx1ZT1NYXRoLm1pbihYLF8ubGVuZ3RoLTEpLGJlPU1hdGgubWF4KDAsWC1nLmxlbmd0aCsxKTtiZTw9dWU7YmUrKyl7dmFyIGxlPSgwfGcu''@;'; put 'put ''d29yZHNbWC1iZV0pKigwfF8ud29yZHNbYmVdKSxjZT02NzEwODg2MyZsZTthZT02NzEwODg2MyYoY2U9Y2UrYWV8MCksRys9KG5lPShuZT1uZSsobGUvNjcxMDg4NjR8MCl8MCkrKGNlPj4+MjYpfDApPj4+MjYsbmUmPTY3MTA4ODYzfUUud29yZHNbWF09YWUsVz1uZSxuZT1HfXJldHVybiAw''@;'; put 'put ''IT09Vz9FLndvcmRzW1hdPVc6RS5sZW5ndGgtLSxFLnN0cmlwKCl9KHRoaXMsaCxiKTpZKHRoaXMsaCxiKX0sSS5wcm90b3R5cGUubWFrZVJCVD1mdW5jdGlvbihoKXtmb3IodmFyIGI9bmV3IEFycmF5KGgpLHk9bS5wcm90b3R5cGUuX2NvdW50Qml0cyhoKS0xLHA9MDtwPGg7cCsrKWJbcF09''@;'; put 'put ''dGhpcy5yZXZCaW4ocCx5LGgpO3JldHVybiBifSxJLnByb3RvdHlwZS5yZXZCaW49ZnVuY3Rpb24oaCxiLHkpe2lmKDA9PT1ofHxoPT09eS0xKXJldHVybiBoO2Zvcih2YXIgcD0wLGc9MDtnPGI7ZysrKXB8PSgxJmgpPDxiLWctMSxoPj49MTtyZXR1cm4gcH0sSS5wcm90b3R5cGUucGVybXV0''@;'; put 'put ''ZT1mdW5jdGlvbihoLGIseSxwLGcsXyl7Zm9yKHZhciBFPTA7RTxfO0UrKylwW0VdPWJbaFtFXV0sZ1tFXT15W2hbRV1dfSxJLnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24oaCxiLHkscCxnLF8pe3RoaXMucGVybXV0ZShfLGgsYix5LHAsZyk7Zm9yKHZhciBFPTE7RTxnO0U8PD0xKWZv''@;'; put 'put ''cih2YXIgVz1FPDwxLEc9TWF0aC5jb3MoMipNYXRoLlBJL1cpLFg9TWF0aC5zaW4oMipNYXRoLlBJL1cpLG5lPTA7bmU8ZztuZSs9Vylmb3IodmFyIGFlPUcsdWU9WCxiZT0wO2JlPEU7YmUrKyl7dmFyIF9lPXlbbmUrYmVdLGxlPXBbbmUrYmVdLGNlPXlbbmUrYmUrRV0scGU9cFtuZStiZStF''@;'; put 'put ''XSx3ZT1hZSpjZS11ZSpwZTtwZT1hZSpwZSt1ZSpjZSx5W25lK2JlXT1fZSsoY2U9d2UpLHBbbmUrYmVdPWxlK3BlLHlbbmUrYmUrRV09X2UtY2UscFtuZStiZStFXT1sZS1wZSxiZSE9PVcmJih3ZT1HKmFlLVgqdWUsdWU9Ryp1ZStYKmFlLGFlPXdlKX19LEkucHJvdG90eXBlLmd1ZXNzTGVu''@;'; put 'put ''MTNiPWZ1bmN0aW9uKGgsYil7dmFyIHk9MXxNYXRoLm1heChiLGgpLHA9MSZ5LGc9MDtmb3IoeT15LzJ8MDt5O3k+Pj49MSlnKys7cmV0dXJuIDE8PGcrMStwfSxJLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24oaCxiLHkpe2lmKCEoeTw9MSkpZm9yKHZhciBwPTA7cDx5LzI7cCsrKXt2''@;'; put 'put ''YXIgZz1oW3BdO2hbcF09aFt5LXAtMV0saFt5LXAtMV09ZyxnPWJbcF0sYltwXT0tYlt5LXAtMV0sYlt5LXAtMV09LWd9fSxJLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24oaCxiKXtmb3IodmFyIHk9MCxwPTA7cDxiLzI7cCsrKXt2YXIgZz04MTkyKk1hdGgucm91bmQoaFsyKnAr''@;'; put 'put ''MV0vYikrTWF0aC5yb3VuZChoWzIqcF0vYikreTtoW3BdPTY3MTA4ODYzJmcseT1nPDY3MTA4ODY0PzA6Zy82NzEwODg2NHwwfXJldHVybiBofSxJLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKGgsYix5LHApe2Zvcih2YXIgZz0wLF89MDtfPGI7XysrKXlbMipfXT04MTkxJihnKz0w''@;'; put 'put ''fGhbX10pLHlbMipfKzFdPTgxOTEmKGc+Pj49MTMpLGc+Pj49MTM7Zm9yKF89MipiO188cDsrK18peVtfXT0wO0MoMD09PWcpLEMoMD09KC04MTkyJmcpKX0sSS5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbihoKXtmb3IodmFyIGI9bmV3IEFycmF5KGgpLHk9MDt5PGg7eSsrKWJbeV09MDtyZXR1''@;'; put 'put ''cm4gYn0sSS5wcm90b3R5cGUubXVscD1mdW5jdGlvbihoLGIseSl7dmFyIHA9Mip0aGlzLmd1ZXNzTGVuMTNiKGgubGVuZ3RoLGIubGVuZ3RoKSxnPXRoaXMubWFrZVJCVChwKSxfPXRoaXMuc3R1YihwKSxFPW5ldyBBcnJheShwKSxXPW5ldyBBcnJheShwKSxHPW5ldyBBcnJheShwKSxYPW5l''@;'; put 'put ''dyBBcnJheShwKSxuZT1uZXcgQXJyYXkocCksYWU9bmV3IEFycmF5KHApLHVlPXkud29yZHM7dWUubGVuZ3RoPXAsdGhpcy5jb252ZXJ0MTNiKGgud29yZHMsaC5sZW5ndGgsRSxwKSx0aGlzLmNvbnZlcnQxM2IoYi53b3JkcyxiLmxlbmd0aCxYLHApLHRoaXMudHJhbnNmb3JtKEUsXyxXLEcs''@;'; put 'put ''cCxnKSx0aGlzLnRyYW5zZm9ybShYLF8sbmUsYWUscCxnKTtmb3IodmFyIGJlPTA7YmU8cDtiZSsrKXt2YXIgX2U9V1tiZV0qbmVbYmVdLUdbYmVdKmFlW2JlXTtHW2JlXT1XW2JlXSphZVtiZV0rR1tiZV0qbmVbYmVdLFdbYmVdPV9lfXJldHVybiB0aGlzLmNvbmp1Z2F0ZShXLEcscCksdGhp''@;'; put 'put ''cy50cmFuc2Zvcm0oVyxHLHVlLF8scCxnKSx0aGlzLmNvbmp1Z2F0ZSh1ZSxfLHApLHRoaXMubm9ybWFsaXplMTNiKHVlLHApLHkubmVnYXRpdmU9aC5uZWdhdGl2ZV5iLm5lZ2F0aXZlLHkubGVuZ3RoPWgubGVuZ3RoK2IubGVuZ3RoLHkuc3RyaXAoKX0sbS5wcm90b3R5cGUubXVsPWZ1bmN0''@;'; put 'put ''aW9uKGgpe3ZhciBiPW5ldyBtKG51bGwpO3JldHVybiBiLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtoLmxlbmd0aCksdGhpcy5tdWxUbyhoLGIpfSxtLnByb3RvdHlwZS5tdWxmPWZ1bmN0aW9uKGgpe3ZhciBiPW5ldyBtKG51bGwpO3JldHVybiBiLndvcmRzPW5ldyBBcnJheSh0aGlz''@;'; put 'put ''Lmxlbmd0aCtoLmxlbmd0aCksWSh0aGlzLGgsYil9LG0ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhoLHRoaXMpfSxtLnByb3RvdHlwZS5pbXVsbj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCksQyhoPDY3MTA4ODY0KTtmb3Io''@;'; put 'put ''dmFyIGI9MCx5PTA7eTx0aGlzLmxlbmd0aDt5Kyspe3ZhciBwPSgwfHRoaXMud29yZHNbeV0pKmgsZz0oNjcxMDg4NjMmcCkrKDY3MTA4ODYzJmIpO2I+Pj0yNixiKz1wLzY3MTA4ODY0fDAsYis9Zz4+PjI2LHRoaXMud29yZHNbeV09NjcxMDg4NjMmZ31yZXR1cm4gMCE9PWImJih0aGlzLndv''@;'; put 'put ''cmRzW3ldPWIsdGhpcy5sZW5ndGgrKyksdGhpc30sbS5wcm90b3R5cGUubXVsbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKGgpfSxtLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tdWwodGhpcyl9LG0ucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24o''@;'; put 'put ''KXtyZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSl9LG0ucHJvdG90eXBlLnBvdz1mdW5jdGlvbihoKXt2YXIgYj1mdW5jdGlvbihfKXtmb3IodmFyIEU9bmV3IEFycmF5KF8uYml0TGVuZ3RoKCkpLFc9MDtXPEUubGVuZ3RoO1crKyl7dmFyIFg9VyUyNjtFW1ddPShfLndvcmRzW1cvMjZ8''@;'; put 'put ''MF0mMTw8WCk+Pj5YfXJldHVybiBFfShoKTtpZigwPT09Yi5sZW5ndGgpcmV0dXJuIG5ldyBtKDEpO2Zvcih2YXIgeT10aGlzLHA9MDtwPGIubGVuZ3RoJiYwPT09YltwXTtwKysseT15LnNxcigpKTtpZigrK3A8Yi5sZW5ndGgpZm9yKHZhciBnPXkuc3FyKCk7cDxiLmxlbmd0aDtwKyssZz1n''@;'; put 'put ''LnNxcigpKTAhPT1iW3BdJiYoeT15Lm11bChnKSk7cmV0dXJuIHl9LG0ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIGIseT1oJTI2LHA9KGgteSkvMjYsZz02NzEwODg2Mz4+PjI2LXk8PDI2LXk7aWYoMCE9PXkpe3ZhciBfPTA7''@;'; put 'put ''Zm9yKGI9MDtiPHRoaXMubGVuZ3RoO2IrKyl7dmFyIEU9dGhpcy53b3Jkc1tiXSZnO3RoaXMud29yZHNbYl09KDB8dGhpcy53b3Jkc1tiXSktRTw8eXxfLF89RT4+PjI2LXl9XyYmKHRoaXMud29yZHNbYl09Xyx0aGlzLmxlbmd0aCsrKX1pZigwIT09cCl7Zm9yKGI9dGhpcy5sZW5ndGgtMTti''@;'; put 'put ''Pj0wO2ItLSl0aGlzLndvcmRzW2IrcF09dGhpcy53b3Jkc1tiXTtmb3IoYj0wO2I8cDtiKyspdGhpcy53b3Jkc1tiXT0wO3RoaXMubGVuZ3RoKz1wfXJldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PT10aGlzLm5lZ2F0aXZlKSx0''@;'; put 'put ''aGlzLml1c2hsbihoKX0sbS5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKGgsYix5KXt2YXIgcDtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCkscD1iPyhiLWIlMjYpLzI2OjA7dmFyIGc9aCUyNixfPU1hdGgubWluKChoLWcpLzI2LHRoaXMubGVuZ3RoKSxFPTY3MTA4ODYzXjY3MTA4ODYz''@;'; put 'put ''Pj4+Zzw8ZyxXPXk7aWYocC09XyxwPU1hdGgubWF4KDAscCksVyl7Zm9yKHZhciBHPTA7RzxfO0crKylXLndvcmRzW0ddPXRoaXMud29yZHNbR107Vy5sZW5ndGg9X31pZigwIT09XylpZih0aGlzLmxlbmd0aD5fKWZvcih0aGlzLmxlbmd0aC09XyxHPTA7Rzx0aGlzLmxlbmd0aDtHKyspdGhp''@;'; put 'put ''cy53b3Jkc1tHXT10aGlzLndvcmRzW0crX107ZWxzZSB0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MTt2YXIgWD0wO2ZvcihHPXRoaXMubGVuZ3RoLTE7Rz49MCYmKDAhPT1YfHxHPj1wKTtHLS0pe3ZhciBuZT0wfHRoaXMud29yZHNbR107dGhpcy53b3Jkc1tHXT1YPDwyNi1nfG5lPj4+''@;'; put 'put ''ZyxYPW5lJkV9cmV0dXJuIFcmJjAhPT1YJiYoVy53b3Jkc1tXLmxlbmd0aCsrXT1YKSwwPT09dGhpcy5sZW5ndGgmJih0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MSksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbihoLGIseSl7cmV0dXJuIEMoMD09PXRoaXMu''@;'; put 'put ''bmVnYXRpdmUpLHRoaXMuaXVzaHJuKGgsYix5KX0sbS5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGgpfSxtLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihoKX0sbS5wcm90b3R5cGUuc2hy''@;'; put 'put ''bj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGgpfSxtLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihoKX0sbS5wcm90b3R5cGUudGVzdG49ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3Zh''@;'; put 'put ''ciBiPWglMjYseT0oaC1iKS8yNjtyZXR1cm4hKHRoaXMubGVuZ3RoPD15fHwhKHRoaXMud29yZHNbeV0mMTw8YikpfSxtLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3ZhciBiPWglMjYseT0oaC1iKS8yNjtyZXR1cm4gQygwPT09dGhp''@;'; put 'put ''cy5uZWdhdGl2ZSwiaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzIiksdGhpcy5sZW5ndGg8PXk/dGhpczooMCE9PWImJnkrKyx0aGlzLmxlbmd0aD1NYXRoLm1pbih5LHRoaXMubGVuZ3RoKSwwIT09YiYmKHRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0mPTY3MTA4ODYz''@;'; put 'put ''XjY3MTA4ODYzPj4+Yjw8YiksdGhpcy5zdHJpcCgpKX0sbS5wcm90b3R5cGUubWFza249ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oaCl9LG0ucHJvdG90eXBlLmlhZGRuPWZ1bmN0aW9uKGgpe3JldHVybiBDKCJudW1iZXIiPT10eXBlb2YgaCksQyhoPDY3MTA4ODY0''@;'; put 'put ''KSxoPDA/dGhpcy5pc3VibigtaCk6MCE9PXRoaXMubmVnYXRpdmU/MT09PXRoaXMubGVuZ3RoJiYoMHx0aGlzLndvcmRzWzBdKTxoPyh0aGlzLndvcmRzWzBdPWgtKDB8dGhpcy53b3Jkc1swXSksdGhpcy5uZWdhdGl2ZT0wLHRoaXMpOih0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pc3VibihoKSx0''@;'; put 'put ''aGlzLm5lZ2F0aXZlPTEsdGhpcyk6dGhpcy5faWFkZG4oaCl9LG0ucHJvdG90eXBlLl9pYWRkbj1mdW5jdGlvbihoKXt0aGlzLndvcmRzWzBdKz1oO2Zvcih2YXIgYj0wO2I8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbYl0+PTY3MTA4ODY0O2IrKyl0aGlzLndvcmRzW2JdLT02NzEwODg2NCxi''@;'; put 'put ''PT09dGhpcy5sZW5ndGgtMT90aGlzLndvcmRzW2IrMV09MTp0aGlzLndvcmRzW2IrMV0rKztyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsYisxKSx0aGlzfSxtLnByb3RvdHlwZS5pc3Vibj1mdW5jdGlvbihoKXtpZihDKCJudW1iZXIiPT10eXBlb2YgaCksQyhoPDY3''@;'; put 'put ''MTA4ODY0KSxoPDApcmV0dXJuIHRoaXMuaWFkZG4oLWgpO2lmKDAhPT10aGlzLm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pYWRkbihoKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcztpZih0aGlzLndvcmRzWzBdLT1oLDE9PT10aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1swXTww''@;'; put 'put ''KXRoaXMud29yZHNbMF09LXRoaXMud29yZHNbMF0sdGhpcy5uZWdhdGl2ZT0xO2Vsc2UgZm9yKHZhciBiPTA7Yjx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tiXTwwO2IrKyl0aGlzLndvcmRzW2JdKz02NzEwODg2NCx0aGlzLndvcmRzW2IrMV0tPTE7cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5w''@;'; put 'put ''cm90b3R5cGUuYWRkbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKGgpfSxtLnByb3RvdHlwZS5zdWJuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4oaCl9LG0ucHJvdG90eXBlLmlhYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uZWdhdGl2ZT0w''@;'; put 'put ''LHRoaXN9LG0ucHJvdG90eXBlLmFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaWFicygpfSxtLnByb3RvdHlwZS5faXNobG5zdWJtdWw9ZnVuY3Rpb24oaCxiLHkpe3ZhciBwLGc7dGhpcy5fZXhwYW5kKGgubGVuZ3RoK3kpO3ZhciBFPTA7Zm9yKHA9MDtwPGgubGVuZ3RoO3Ar''@;'; put 'put ''Kyl7Zz0oMHx0aGlzLndvcmRzW3AreV0pK0U7dmFyIFc9KDB8aC53b3Jkc1twXSkqYjtFPSgoZy09NjcxMDg4NjMmVyk+PjI2KS0oVy82NzEwODg2NHwwKSx0aGlzLndvcmRzW3AreV09NjcxMDg4NjMmZ31mb3IoO3A8dGhpcy5sZW5ndGgteTtwKyspRT0oZz0oMHx0aGlzLndvcmRzW3AreV0p''@;'; put 'put ''K0UpPj4yNix0aGlzLndvcmRzW3AreV09NjcxMDg4NjMmZztpZigwPT09RSlyZXR1cm4gdGhpcy5zdHJpcCgpO2ZvcihDKC0xPT09RSksRT0wLHA9MDtwPHRoaXMubGVuZ3RoO3ArKylFPShnPS0oMHx0aGlzLndvcmRzW3BdKStFKT4+MjYsdGhpcy53b3Jkc1twXT02NzEwODg2MyZnO3JldHVy''@;'; put 'put ''biB0aGlzLm5lZ2F0aXZlPTEsdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbihoLGIpe3ZhciB5LHA9dGhpcy5jbG9uZSgpLGc9aCxfPTB8Zy53b3Jkc1tnLmxlbmd0aC0xXTswIT0oeT0yNi10aGlzLl9jb3VudEJpdHMoXykpJiYoZz1nLnVzaGxuKHkpLHAuaXVz''@;'; put 'put ''aGxuKHkpLF89MHxnLndvcmRzW2cubGVuZ3RoLTFdKTt2YXIgRSxXPXAubGVuZ3RoLWcubGVuZ3RoO2lmKCJtb2QiIT09Yil7KEU9bmV3IG0obnVsbCkpLmxlbmd0aD1XKzEsRS53b3Jkcz1uZXcgQXJyYXkoRS5sZW5ndGgpO2Zvcih2YXIgRz0wO0c8RS5sZW5ndGg7RysrKUUud29yZHNbR109''@;'; put 'put ''MH12YXIgWD1wLmNsb25lKCkuX2lzaGxuc3VibXVsKGcsMSxXKTswPT09WC5uZWdhdGl2ZSYmKHA9WCxFJiYoRS53b3Jkc1tXXT0xKSk7Zm9yKHZhciBuZT1XLTE7bmU+PTA7bmUtLSl7dmFyIGFlPTY3MTA4ODY0KigwfHAud29yZHNbZy5sZW5ndGgrbmVdKSsoMHxwLndvcmRzW2cubGVuZ3Ro''@;'; put 'put ''K25lLTFdKTtmb3IoYWU9TWF0aC5taW4oYWUvX3wwLDY3MTA4ODYzKSxwLl9pc2hsbnN1Ym11bChnLGFlLG5lKTswIT09cC5uZWdhdGl2ZTspYWUtLSxwLm5lZ2F0aXZlPTAscC5faXNobG5zdWJtdWwoZywxLG5lKSxwLmlzWmVybygpfHwocC5uZWdhdGl2ZV49MSk7RSYmKEUud29yZHNbbmVd''@;'; put 'put ''PWFlKX1yZXR1cm4gRSYmRS5zdHJpcCgpLHAuc3RyaXAoKSwiZGl2IiE9PWImJjAhPT15JiZwLml1c2hybih5KSx7ZGl2OkV8fG51bGwsbW9kOnB9fSxtLnByb3RvdHlwZS5kaXZtb2Q9ZnVuY3Rpb24oaCxiLHkpe3JldHVybiBDKCFoLmlzWmVybygpKSx0aGlzLmlzWmVybygpP3tkaXY6bmV3''@;'; put 'put ''IG0oMCksbW9kOm5ldyBtKDApfTowIT09dGhpcy5uZWdhdGl2ZSYmMD09PWgubmVnYXRpdmU/KF89dGhpcy5uZWcoKS5kaXZtb2QoaCxiKSwibW9kIiE9PWImJihwPV8uZGl2Lm5lZygpKSwiZGl2IiE9PWImJihnPV8ubW9kLm5lZygpLHkmJjAhPT1nLm5lZ2F0aXZlJiZnLmlhZGQoaCkpLHtk''@;'; put 'put ''aXY6cCxtb2Q6Z30pOjA9PT10aGlzLm5lZ2F0aXZlJiYwIT09aC5uZWdhdGl2ZT8oXz10aGlzLmRpdm1vZChoLm5lZygpLGIpLCJtb2QiIT09YiYmKHA9Xy5kaXYubmVnKCkpLHtkaXY6cCxtb2Q6Xy5tb2R9KTowIT0odGhpcy5uZWdhdGl2ZSZoLm5lZ2F0aXZlKT8oXz10aGlzLm5lZygpLmRp''@;'; put 'put ''dm1vZChoLm5lZygpLGIpLCJkaXYiIT09YiYmKGc9Xy5tb2QubmVnKCkseSYmMCE9PWcubmVnYXRpdmUmJmcuaXN1YihoKSkse2RpdjpfLmRpdixtb2Q6Z30pOmgubGVuZ3RoPnRoaXMubGVuZ3RofHx0aGlzLmNtcChoKTwwP3tkaXY6bmV3IG0oMCksbW9kOnRoaXN9OjE9PT1oLmxlbmd0aD8i''@;'; put 'put ''ZGl2Ij09PWI/e2Rpdjp0aGlzLmRpdm4oaC53b3Jkc1swXSksbW9kOm51bGx9OiJtb2QiPT09Yj97ZGl2Om51bGwsbW9kOm5ldyBtKHRoaXMubW9kbihoLndvcmRzWzBdKSl9OntkaXY6dGhpcy5kaXZuKGgud29yZHNbMF0pLG1vZDpuZXcgbSh0aGlzLm1vZG4oaC53b3Jkc1swXSkpfTp0aGlz''@;'; put 'put ''Ll93b3JkRGl2KGgsYik7dmFyIHAsZyxffSxtLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZGl2bW9kKGgsImRpdiIsITEpLmRpdn0sbS5wcm90b3R5cGUubW9kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmRpdm1vZChoLCJtb2QiLCExKS5tb2R9LG0ucHJvdG90eXBl''@;'; put 'put ''LnVtb2Q9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZGl2bW9kKGgsIm1vZCIsITApLm1vZH0sbS5wcm90b3R5cGUuZGl2Um91bmQ9ZnVuY3Rpb24oaCl7dmFyIGI9dGhpcy5kaXZtb2QoaCk7aWYoYi5tb2QuaXNaZXJvKCkpcmV0dXJuIGIuZGl2O3ZhciB5PTAhPT1iLmRpdi5uZWdhdGl2ZT9i''@;'; put 'put ''Lm1vZC5pc3ViKGgpOmIubW9kLHA9aC51c2hybigxKSxnPWguYW5kbG4oMSksXz15LmNtcChwKTtyZXR1cm4gXzwwfHwxPT09ZyYmMD09PV8/Yi5kaXY6MCE9PWIuZGl2Lm5lZ2F0aXZlP2IuZGl2LmlzdWJuKDEpOmIuZGl2LmlhZGRuKDEpfSxtLnByb3RvdHlwZS5tb2RuPWZ1bmN0aW9uKGgp''@;'; put 'put ''e0MoaDw9NjcxMDg4NjMpO2Zvcih2YXIgYj02NzEwODg2NCVoLHk9MCxwPXRoaXMubGVuZ3RoLTE7cD49MDtwLS0peT0oYip5KygwfHRoaXMud29yZHNbcF0pKSVoO3JldHVybiB5fSxtLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbihoKXtDKGg8PTY3MTA4ODYzKTtmb3IodmFyIGI9MCx5PXRo''@;'; put 'put ''aXMubGVuZ3RoLTE7eT49MDt5LS0pe3ZhciBwPSgwfHRoaXMud29yZHNbeV0pKzY3MTA4ODY0KmI7dGhpcy53b3Jkc1t5XT1wL2h8MCxiPXAlaH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4oaCl9LG0u''@;'; put 'put ''cHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24oaCl7QygwPT09aC5uZWdhdGl2ZSksQyghaC5pc1plcm8oKSk7dmFyIGI9dGhpcyx5PWguY2xvbmUoKTtiPTAhPT1iLm5lZ2F0aXZlP2IudW1vZChoKTpiLmNsb25lKCk7Zm9yKHZhciBwPW5ldyBtKDEpLGc9bmV3IG0oMCksXz1uZXcgbSgwKSxFPW5l''@;'; put 'put ''dyBtKDEpLFc9MDtiLmlzRXZlbigpJiZ5LmlzRXZlbigpOyliLml1c2hybigxKSx5Lml1c2hybigxKSwrK1c7Zm9yKHZhciBHPXkuY2xvbmUoKSxYPWIuY2xvbmUoKTshYi5pc1plcm8oKTspe2Zvcih2YXIgbmU9MCxhZT0xOzA9PShiLndvcmRzWzBdJmFlKSYmbmU8MjY7KytuZSxhZTw8PTEp''@;'; put 'put ''O2lmKG5lPjApZm9yKGIuaXVzaHJuKG5lKTtuZS0tID4wOykocC5pc09kZCgpfHxnLmlzT2RkKCkpJiYocC5pYWRkKEcpLGcuaXN1YihYKSkscC5pdXNocm4oMSksZy5pdXNocm4oMSk7Zm9yKHZhciB1ZT0wLGJlPTE7MD09KHkud29yZHNbMF0mYmUpJiZ1ZTwyNjsrK3VlLGJlPDw9MSk7aWYo''@;'; put 'put ''dWU+MClmb3IoeS5pdXNocm4odWUpO3VlLS0gPjA7KShfLmlzT2RkKCl8fEUuaXNPZGQoKSkmJihfLmlhZGQoRyksRS5pc3ViKFgpKSxfLml1c2hybigxKSxFLml1c2hybigxKTtiLmNtcCh5KT49MD8oYi5pc3ViKHkpLHAuaXN1YihfKSxnLmlzdWIoRSkpOih5LmlzdWIoYiksXy5pc3ViKHAp''@;'; put 'put ''LEUuaXN1YihnKSl9cmV0dXJue2E6XyxiOkUsZ2NkOnkuaXVzaGxuKFcpfX0sbS5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKGgpe0MoMD09PWgubmVnYXRpdmUpLEMoIWguaXNaZXJvKCkpO3ZhciBiPXRoaXMseT1oLmNsb25lKCk7Yj0wIT09Yi5uZWdhdGl2ZT9iLnVtb2QoaCk6Yi5jbG9u''@;'; put 'put ''ZSgpO2Zvcih2YXIgcCxnPW5ldyBtKDEpLF89bmV3IG0oMCksRT15LmNsb25lKCk7Yi5jbXBuKDEpPjAmJnkuY21wbigxKT4wOyl7Zm9yKHZhciBXPTAsRz0xOzA9PShiLndvcmRzWzBdJkcpJiZXPDI2OysrVyxHPDw9MSk7aWYoVz4wKWZvcihiLml1c2hybihXKTtXLS0gPjA7KWcuaXNPZGQo''@;'; put 'put ''KSYmZy5pYWRkKEUpLGcuaXVzaHJuKDEpO2Zvcih2YXIgWD0wLG5lPTE7MD09KHkud29yZHNbMF0mbmUpJiZYPDI2OysrWCxuZTw8PTEpO2lmKFg+MClmb3IoeS5pdXNocm4oWCk7WC0tID4wOylfLmlzT2RkKCkmJl8uaWFkZChFKSxfLml1c2hybigxKTtiLmNtcCh5KT49MD8oYi5pc3ViKHkp''@;'; put 'put ''LGcuaXN1YihfKSk6KHkuaXN1YihiKSxfLmlzdWIoZykpfXJldHVybihwPTA9PT1iLmNtcG4oMSk/ZzpfKS5jbXBuKDApPDAmJnAuaWFkZChoKSxwfSxtLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24oaCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gaC5hYnMoKTtpZihoLmlzWmVybygpKXJldHVy''@;'; put 'put ''biB0aGlzLmFicygpO3ZhciBiPXRoaXMuY2xvbmUoKSx5PWguY2xvbmUoKTtiLm5lZ2F0aXZlPTAseS5uZWdhdGl2ZT0wO2Zvcih2YXIgcD0wO2IuaXNFdmVuKCkmJnkuaXNFdmVuKCk7cCsrKWIuaXVzaHJuKDEpLHkuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtiLmlzRXZlbigpOyliLml1c2hy''@;'; put 'put ''bigxKTtmb3IoO3kuaXNFdmVuKCk7KXkuaXVzaHJuKDEpO3ZhciBnPWIuY21wKHkpO2lmKGc8MCl7dmFyIF89YjtiPXkseT1ffWVsc2UgaWYoMD09PWd8fDA9PT15LmNtcG4oMSkpYnJlYWs7Yi5pc3ViKHkpfXJldHVybiB5Lml1c2hsbihwKX0sbS5wcm90b3R5cGUuaW52bT1mdW5jdGlvbiho''@;'; put 'put ''KXtyZXR1cm4gdGhpcy5lZ2NkKGgpLmEudW1vZChoKX0sbS5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxtLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sbS5wcm90b3R5cGUuYW5k''@;'; put 'put ''bG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMud29yZHNbMF0maH0sbS5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgpO3ZhciBiPWglMjYseT0oaC1iKS8yNixwPTE8PGI7aWYodGhpcy5sZW5ndGg8PXkpcmV0dXJuIHRoaXMuX2V4cGFuZCh5KzEpLHRo''@;'; put 'put ''aXMud29yZHNbeV18PXAsdGhpcztmb3IodmFyIGc9cCxfPXk7MCE9PWcmJl88dGhpcy5sZW5ndGg7XysrKXt2YXIgRT0wfHRoaXMud29yZHNbX107Zz0oRSs9Zyk+Pj4yNix0aGlzLndvcmRzW19dPUUmPTY3MTA4ODYzfXJldHVybiAwIT09ZyYmKHRoaXMud29yZHNbX109Zyx0aGlzLmxlbmd0''@;'; put 'put ''aCsrKSx0aGlzfSxtLnByb3RvdHlwZS5pc1plcm89ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXX0sbS5wcm90b3R5cGUuY21wbj1mdW5jdGlvbihoKXt2YXIgYix5PWg8MDtpZigwIT09dGhpcy5uZWdhdGl2ZSYmIXkpcmV0dXJuLTE7aWYoMD09''@;'; put 'put ''PXRoaXMubmVnYXRpdmUmJnkpcmV0dXJuIDE7aWYodGhpcy5zdHJpcCgpLHRoaXMubGVuZ3RoPjEpYj0xO2Vsc2V7eSYmKGg9LWgpLEMoaDw9NjcxMDg4NjMsIk51bWJlciBpcyB0b28gYmlnIik7dmFyIHA9MHx0aGlzLndvcmRzWzBdO2I9cD09PWg/MDpwPGg/LTE6MX1yZXR1cm4gMCE9PXRo''@;'; put 'put ''aXMubmVnYXRpdmU/MHwtYjpifSxtLnByb3RvdHlwZS5jbXA9ZnVuY3Rpb24oaCl7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT1oLm5lZ2F0aXZlKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09aC5uZWdhdGl2ZSlyZXR1cm4gMTt2YXIgYj10aGlzLnVjbXAoaCk7cmV0dXJu''@;'; put 'put ''IDAhPT10aGlzLm5lZ2F0aXZlPzB8LWI6Yn0sbS5wcm90b3R5cGUudWNtcD1mdW5jdGlvbihoKXtpZih0aGlzLmxlbmd0aD5oLmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDxoLmxlbmd0aClyZXR1cm4tMTtmb3IodmFyIGI9MCx5PXRoaXMubGVuZ3RoLTE7eT49MDt5LS0pe3ZhciBw''@;'; put 'put ''PTB8dGhpcy53b3Jkc1t5XSxnPTB8aC53b3Jkc1t5XTtpZihwIT09Zyl7cDxnP2I9LTE6cD5nJiYoYj0xKTticmVha319cmV0dXJuIGJ9LG0ucHJvdG90eXBlLmd0bj1mdW5jdGlvbihoKXtyZXR1cm4gMT09PXRoaXMuY21wbihoKX0sbS5wcm90b3R5cGUuZ3Q9ZnVuY3Rpb24oaCl7cmV0dXJu''@;'; put 'put ''IDE9PT10aGlzLmNtcChoKX0sbS5wcm90b3R5cGUuZ3Rlbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXBuKGgpPj0wfSxtLnByb3RvdHlwZS5ndGU9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY21wKGgpPj0wfSxtLnByb3RvdHlwZS5sdG49ZnVuY3Rpb24oaCl7cmV0dXJuLTE9PT10aGlz''@;'; put 'put ''LmNtcG4oaCl9LG0ucHJvdG90eXBlLmx0PWZ1bmN0aW9uKGgpe3JldHVybi0xPT09dGhpcy5jbXAoaCl9LG0ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY21wbihoKTw9MH0sbS5wcm90b3R5cGUubHRlPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcChoKTw9MH0s''@;'; put 'put ''bS5wcm90b3R5cGUuZXFuPWZ1bmN0aW9uKGgpe3JldHVybiAwPT09dGhpcy5jbXBuKGgpfSxtLnByb3RvdHlwZS5lcT1mdW5jdGlvbihoKXtyZXR1cm4gMD09PXRoaXMuY21wKGgpfSxtLnJlZD1mdW5jdGlvbihoKXtyZXR1cm4gbmV3ICQoaCl9LG0ucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9u''@;'; put 'put ''KGgpe3JldHVybiBDKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLEMoMD09PXRoaXMubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksaC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGgpfSxtLnByb3RvdHlwZS5mcm9t''@;'; put 'put ''UmVkPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsImZyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX0sbS5wcm90b3R5cGUuX2ZvcmNlUmVkPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLnJl''@;'; put 'put ''ZD1oLHRoaXN9LG0ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uKGgpe3JldHVybiBDKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMuX2ZvcmNlUmVkKGgpfSxtLnByb3RvdHlwZS5yZWRBZGQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhp''@;'; put 'put ''cy5yZWQsInJlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5hZGQodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkSUFkZD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5p''@;'; put 'put ''YWRkKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnN1Yih0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRo''@;'; put 'put ''aXMucmVkLCJyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlzdWIodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkU2hsPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQu''@;'; put 'put ''c2hsKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZE11bD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsaCksdGhpcy5yZWQubXVsKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZElN''@;'; put 'put ''dWw9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLGgpLHRoaXMucmVkLmltdWwodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5y''@;'; put 'put ''ZWQsInJlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXIodGhpcyl9LG0ucHJvdG90eXBlLnJlZElTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51''@;'; put 'put ''bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pc3FyKHRoaXMpfSxtLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyks''@;'; put 'put ''dGhpcy5yZWQuc3FydCh0aGlzKX0sbS5wcm90b3R5cGUucmVkSW52bT1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmludm0odGhpcyl9LG0ucHJvdG90eXBl''@;'; put 'put ''LnJlZE5lZz1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQubmVnKHRoaXMpfSxtLnByb3RvdHlwZS5yZWRQb3c9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5y''@;'; put 'put ''ZWQmJiFoLnJlZCwicmVkUG93KG5vcm1hbE51bSkiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5wb3codGhpcyxoKX07dmFyIFU9e2syNTY6bnVsbCxwMjI0Om51bGwscDE5MjpudWxsLHAyNTUxOTpudWxsfTtmdW5jdGlvbiBWKGgsYil7dGhpcy5uYW1lPWgsdGhpcy5wPW5l''@;'; put 'put ''dyBtKGIsMTYpLHRoaXMubj10aGlzLnAuYml0TGVuZ3RoKCksdGhpcy5rPW5ldyBtKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKSx0aGlzLnRtcD10aGlzLl90bXAoKX1mdW5jdGlvbiBSKCl7Vi5jYWxsKHRoaXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZm''@;'; put 'put ''ZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWZ1bmN0aW9uIEIoKXtWLmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIil9ZnVuY3Rpb24gcSgpe1YuY2FsbCh0aGlz''@;'; put 'put ''LCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1mdW5jdGlvbiBKKCl7Vi5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZl''@;'; put 'put ''ZCIpfWZ1bmN0aW9uICQoaCl7aWYoInN0cmluZyI9PXR5cGVvZiBoKXt2YXIgYj1tLl9wcmltZShoKTt0aGlzLm09Yi5wLHRoaXMucHJpbWU9Yn1lbHNlIEMoaC5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMSIpLHRoaXMubT1oLHRoaXMucHJpbWU9bnVsbH1mdW5jdGlv''@;'; put 'put ''biB0ZShoKXskLmNhbGwodGhpcyxoKSx0aGlzLnNoaWZ0PXRoaXMubS5iaXRMZW5ndGgoKSx0aGlzLnNoaWZ0JTI2IT0wJiYodGhpcy5zaGlmdCs9MjYtdGhpcy5zaGlmdCUyNiksdGhpcy5yPW5ldyBtKDEpLml1c2hsbih0aGlzLnNoaWZ0KSx0aGlzLnIyPXRoaXMuaW1vZCh0aGlzLnIuc3Fy''@;'; put 'put ''KCkpLHRoaXMucmludj10aGlzLnIuX2ludm1wKHRoaXMubSksdGhpcy5taW52PXRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5taW52LnVtb2QodGhpcy5yKSx0aGlzLm1pbnY9dGhpcy5yLnN1Yih0aGlzLm1pbnYpfVYucHJvdG90eXBl''@;'; put 'put ''Ll90bXA9ZnVuY3Rpb24oKXt2YXIgaD1uZXcgbShudWxsKTtyZXR1cm4gaC53b3Jkcz1uZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubi8xMykpLGh9LFYucHJvdG90eXBlLmlyZWR1Y2U9ZnVuY3Rpb24oaCl7dmFyIGIseT1oO2Rve3RoaXMuc3BsaXQoeSx0aGlzLnRtcCksYj0oeT0oeT10aGlz''@;'; put 'put ''LmltdWxLKHkpKS5pYWRkKHRoaXMudG1wKSkuYml0TGVuZ3RoKCl9d2hpbGUoYj50aGlzLm4pO3ZhciBwPWI8dGhpcy5uPy0xOnkudWNtcCh0aGlzLnApO3JldHVybiAwPT09cD8oeS53b3Jkc1swXT0wLHkubGVuZ3RoPTEpOnA+MD95LmlzdWIodGhpcy5wKTp2b2lkIDAhPT15LnN0cmlwP3ku''@;'; put 'put ''c3RyaXAoKTp5Ll9zdHJpcCgpLHl9LFYucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKGgsYil7aC5pdXNocm4odGhpcy5uLDAsYil9LFYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKGgpe3JldHVybiBoLmltdWwodGhpcy5rKX0sUyhSLFYpLFIucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKGgs''@;'; put 'put ''Yil7Zm9yKHZhciB5PTQxOTQzMDMscD1NYXRoLm1pbihoLmxlbmd0aCw5KSxnPTA7ZzxwO2crKyliLndvcmRzW2ddPWgud29yZHNbZ107aWYoYi5sZW5ndGg9cCxoLmxlbmd0aDw9OSlyZXR1cm4gaC53b3Jkc1swXT0wLHZvaWQoaC5sZW5ndGg9MSk7dmFyIF89aC53b3Jkc1s5XTtmb3IoYi53''@;'; put 'put ''b3Jkc1tiLmxlbmd0aCsrXT1fJnksZz0xMDtnPGgubGVuZ3RoO2crKyl7dmFyIEU9MHxoLndvcmRzW2ddO2gud29yZHNbZy0xMF09KEUmeSk8PDR8Xz4+PjIyLF89RX1oLndvcmRzW2ctMTBdPV8+Pj49MjIsaC5sZW5ndGgtPTA9PT1fJiZoLmxlbmd0aD4xMD8xMDo5fSxSLnByb3RvdHlwZS5p''@;'; put 'put ''bXVsSz1mdW5jdGlvbihoKXtoLndvcmRzW2gubGVuZ3RoXT0wLGgud29yZHNbaC5sZW5ndGgrMV09MCxoLmxlbmd0aCs9Mjtmb3IodmFyIGI9MCx5PTA7eTxoLmxlbmd0aDt5Kyspe3ZhciBwPTB8aC53b3Jkc1t5XTtoLndvcmRzW3ldPTY3MTA4ODYzJihiKz05NzcqcCksYj02NCpwKyhiLzY3''@;'; put 'put ''MTA4ODY0fDApfXJldHVybiAwPT09aC53b3Jkc1toLmxlbmd0aC0xXSYmKGgubGVuZ3RoLS0sMD09PWgud29yZHNbaC5sZW5ndGgtMV0mJmgubGVuZ3RoLS0pLGh9LFMoQixWKSxTKHEsViksUyhKLFYpLEoucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKGgpe2Zvcih2YXIgYj0wLHk9MDt5PGgu''@;'; put 'put ''bGVuZ3RoO3krKyl7dmFyIHA9MTkqKDB8aC53b3Jkc1t5XSkrYixnPTY3MTA4ODYzJnA7cD4+Pj0yNixoLndvcmRzW3ldPWcsYj1wfXJldHVybiAwIT09YiYmKGgud29yZHNbaC5sZW5ndGgrK109YiksaH0sbS5fcHJpbWU9ZnVuY3Rpb24oaCl7aWYoVVtoXSlyZXR1cm4gVVtoXTt2YXIgYjtp''@;'; put 'put ''ZigiazI1NiI9PT1oKWI9bmV3IFI7ZWxzZSBpZigicDIyNCI9PT1oKWI9bmV3IEI7ZWxzZSBpZigicDE5MiI9PT1oKWI9bmV3IHE7ZWxzZXtpZigicDI1NTE5IiE9PWgpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHByaW1lICIraCk7Yj1uZXcgSn1yZXR1cm4gVVtoXT1iLGJ9LCQucHJvdG90''@;'; put 'put ''eXBlLl92ZXJpZnkxPWZ1bmN0aW9uKGgpe0MoMD09PWgubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksQyhoLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSwkLnByb3RvdHlwZS5fdmVyaWZ5Mj1mdW5jdGlvbihoLGIpe0MoMD09KGgubmVn''@;'; put 'put ''YXRpdmV8Yi5uZWdhdGl2ZSksInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksQyhoLnJlZCYmaC5yZWQ9PT1iLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSwkLnByb3RvdHlwZS5pbW9kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLnByaW1lP3RoaXMucHJp''@;'; put 'put ''bWUuaXJlZHVjZShoKS5fZm9yY2VSZWQodGhpcyk6aC51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oaCl7cmV0dXJuIGguaXNaZXJvKCk/aC5jbG9uZSgpOnRoaXMubS5zdWIoaCkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5hZGQ9''@;'; put 'put ''ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFyIHk9aC5hZGQoYik7cmV0dXJuIHkuY21wKHRoaXMubSk+PTAmJnkuaXN1Yih0aGlzLm0pLHkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVyaWZ5MihoLGIpO3ZhciB5PWgu''@;'; put 'put ''aWFkZChiKTtyZXR1cm4geS5jbXAodGhpcy5tKT49MCYmeS5pc3ViKHRoaXMubSkseX0sJC5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVyaWZ5MihoLGIpO3ZhciB5PWguc3ViKGIpO3JldHVybiB5LmNtcG4oMCk8MCYmeS5pYWRkKHRoaXMubSkseS5fZm9yY2VSZWQodGhp''@;'; put 'put ''cyl9LCQucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFyIHk9aC5pc3ViKGIpO3JldHVybiB5LmNtcG4oMCk8MCYmeS5pYWRkKHRoaXMubSkseX0sJC5wcm90b3R5cGUuc2hsPWZ1bmN0aW9uKGgsYil7cmV0dXJuIHRoaXMuX3ZlcmlmeTEoaCksdGhp''@;'; put 'put ''cy5pbW9kKGgudXNobG4oYikpfSwkLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKGgsYil7cmV0dXJuIHRoaXMuX3ZlcmlmeTIoaCxiKSx0aGlzLmltb2QoaC5pbXVsKGIpKX0sJC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGgsYil7cmV0dXJuIHRoaXMuX3ZlcmlmeTIoaCxiKSx0aGlzLmltb2Qo''@;'; put 'put ''aC5tdWwoYikpfSwkLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmltdWwoaCxoLmNsb25lKCkpfSwkLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubXVsKGgsaCl9LCQucHJvdG90eXBlLnNxcnQ9ZnVuY3Rpb24oaCl7aWYoaC5pc1plcm8oKSly''@;'; put 'put ''ZXR1cm4gaC5jbG9uZSgpO3ZhciBiPXRoaXMubS5hbmRsbigzKTtpZihDKGIlMj09MSksMz09PWIpe3ZhciB5PXRoaXMubS5hZGQobmV3IG0oMSkpLml1c2hybigyKTtyZXR1cm4gdGhpcy5wb3coaCx5KX1mb3IodmFyIHA9dGhpcy5tLnN1Ym4oMSksZz0wOyFwLmlzWmVybygpJiYwPT09cC5h''@;'; put 'put ''bmRsbigxKTspZysrLHAuaXVzaHJuKDEpO0MoIXAuaXNaZXJvKCkpO3ZhciBfPW5ldyBtKDEpLnRvUmVkKHRoaXMpLEU9Xy5yZWROZWcoKSxXPXRoaXMubS5zdWJuKDEpLml1c2hybigxKSxHPXRoaXMubS5iaXRMZW5ndGgoKTtmb3IoRz1uZXcgbSgyKkcqRykudG9SZWQodGhpcyk7MCE9PXRo''@;'; put 'put ''aXMucG93KEcsVykuY21wKEUpOylHLnJlZElBZGQoRSk7Zm9yKHZhciBYPXRoaXMucG93KEcscCksbmU9dGhpcy5wb3coaCxwLmFkZG4oMSkuaXVzaHJuKDEpKSxhZT10aGlzLnBvdyhoLHApLHVlPWc7MCE9PWFlLmNtcChfKTspe2Zvcih2YXIgYmU9YWUsX2U9MDswIT09YmUuY21wKF8pO19l''@;'; put 'put ''KyspYmU9YmUucmVkU3FyKCk7QyhfZTx1ZSk7dmFyIGxlPXRoaXMucG93KFgsbmV3IG0oMSkuaXVzaGxuKHVlLV9lLTEpKTtuZT1uZS5yZWRNdWwobGUpLFg9bGUucmVkU3FyKCksYWU9YWUucmVkTXVsKFgpLHVlPV9lfXJldHVybiBuZX0sJC5wcm90b3R5cGUuaW52bT1mdW5jdGlvbihoKXt2''@;'; put 'put ''YXIgYj1oLl9pbnZtcCh0aGlzLm0pO3JldHVybiAwIT09Yi5uZWdhdGl2ZT8oYi5uZWdhdGl2ZT0wLHRoaXMuaW1vZChiKS5yZWROZWcoKSk6dGhpcy5pbW9kKGIpfSwkLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24oaCxiKXtpZihiLmlzWmVybygpKXJldHVybiBuZXcgbSgxKS50b1JlZCh0aGlz''@;'; put 'put ''KTtpZigwPT09Yi5jbXBuKDEpKXJldHVybiBoLmNsb25lKCk7dmFyIHk9bmV3IEFycmF5KDE2KTt5WzBdPW5ldyBtKDEpLnRvUmVkKHRoaXMpLHlbMV09aDtmb3IodmFyIHA9MjtwPHkubGVuZ3RoO3ArKyl5W3BdPXRoaXMubXVsKHlbcC0xXSxoKTt2YXIgZz15WzBdLF89MCxFPTAsVz1iLmJp''@;'; put 'put ''dExlbmd0aCgpJTI2O2ZvcigwPT09VyYmKFc9MjYpLHA9Yi5sZW5ndGgtMTtwPj0wO3AtLSl7Zm9yKHZhciBHPWIud29yZHNbcF0sWD1XLTE7WD49MDtYLS0pe3ZhciBuZT1HPj5YJjE7ZyE9PXlbMF0mJihnPXRoaXMuc3FyKGcpKSwwIT09bmV8fDAhPT1fPyhfPDw9MSxffD1uZSwoND09KytF''@;'; put 'put ''fHwwPT09cCYmMD09PVgpJiYoZz10aGlzLm11bChnLHlbX10pLEU9MCxfPTApKTpFPTB9Vz0yNn1yZXR1cm4gZ30sJC5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKGgpe3ZhciBiPWgudW1vZCh0aGlzLm0pO3JldHVybiBiPT09aD9iLmNsb25lKCk6Yn0sJC5wcm90b3R5cGUuY29udmVy''@;'; put 'put ''dEZyb209ZnVuY3Rpb24oaCl7dmFyIGI9aC5jbG9uZSgpO3JldHVybiBiLnJlZD1udWxsLGJ9LG0ubW9udD1mdW5jdGlvbihoKXtyZXR1cm4gbmV3IHRlKGgpfSxTKHRlLCQpLHRlLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuaW1vZChoLnVzaGxuKHRoaXMu''@;'; put 'put ''c2hpZnQpKX0sdGUucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKGgpe3ZhciBiPXRoaXMuaW1vZChoLm11bCh0aGlzLnJpbnYpKTtyZXR1cm4gYi5yZWQ9bnVsbCxifSx0ZS5wcm90b3R5cGUuaW11bD1mdW5jdGlvbihoLGIpe2lmKGguaXNaZXJvKCl8fGIuaXNaZXJvKCkpcmV0dXJu''@;'; put 'put ''IGgud29yZHNbMF09MCxoLmxlbmd0aD0xLGg7dmFyIHk9aC5pbXVsKGIpLHA9eS5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksZz15LmlzdWIocCkuaXVzaHJuKHRoaXMuc2hpZnQpLF89ZztyZXR1cm4gZy5jbXAodGhpcy5t''@;'; put 'put ''KT49MD9fPWcuaXN1Yih0aGlzLm0pOmcuY21wbigwKTwwJiYoXz1nLmlhZGQodGhpcy5tKSksXy5fZm9yY2VSZWQodGhpcyl9LHRlLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oaCxiKXtpZihoLmlzWmVybygpfHxiLmlzWmVybygpKXJldHVybiBuZXcgbSgwKS5fZm9yY2VSZWQodGhpcyk7dmFy''@;'; put 'put ''IHk9aC5tdWwoYikscD15Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxnPXkuaXN1YihwKS5pdXNocm4odGhpcy5zaGlmdCksXz1nO3JldHVybiBnLmNtcCh0aGlzLm0pPj0wP189Zy5pc3ViKHRoaXMubSk6Zy5jbXBuKDAp''@;'; put 'put ''PDAmJihfPWcuaWFkZCh0aGlzLm0pKSxfLl9mb3JjZVJlZCh0aGlzKX0sdGUucHJvdG90eXBlLmludm09ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuaW1vZChoLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSkuX2ZvcmNlUmVkKHRoaXMpfX0oWj1qLm5tZChaKSx0aGlzKX0sMzQ4MjooWixB''@;'; put 'put ''LGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNTcxNyksej1qKDIzMTgpLEM9aig5Nzg1KSxTPWooOTA3MiksbT1qKDEwMjcpO2Z1bmN0aW9uIEYoRCl7bS5jYWxsKHRoaXMsImRpZ2VzdCIpLHRoaXMuX2hhc2g9RH1OKEYsbSksRi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihEKXt0aGlz''@;'; put 'put ''Ll9oYXNoLnVwZGF0ZShEKX0sRi5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2hhc2guZGlnZXN0KCl9LFouZXhwb3J0cz1mdW5jdGlvbihEKXtyZXR1cm4ibWQ1Ij09PShEPUQudG9Mb3dlckNhc2UoKSk/bmV3IHo6InJtZDE2MCI9PT1EfHwicmlwZW1kMTYwIj09''@;'; put 'put ''PUQ/bmV3IEM6bmV3IEYoUyhEKSl9fSw4MDI4OihaLEEsaik9Pnt2YXIgTj1qKDIzMTgpO1ouZXhwb3J0cz1mdW5jdGlvbih6KXtyZXR1cm4obmV3IE4pLnVwZGF0ZSh6KS5kaWdlc3QoKX19LDgzNTU6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDU3MTcpLHo9aigxMDMxKSxDPWoo''@;'; put 'put ''MTAyNyksUz1qKDk1MDkpLkJ1ZmZlcixtPWooODAyOCksRj1qKDk3ODUpLEQ9aig5MDcyKSx3PVMuYWxsb2MoMTI4KTtmdW5jdGlvbiBQKE0sayl7Qy5jYWxsKHRoaXMsImRpZ2VzdCIpLCJzdHJpbmciPT10eXBlb2YgayYmKGs9Uy5mcm9tKGspKTt2YXIgTz0ic2hhNTEyIj09PU18fCJzaGEz''@;'; put 'put ''ODQiPT09TT8xMjg6NjQ7dGhpcy5fYWxnPU0sdGhpcy5fa2V5PWssay5sZW5ndGg+Tz9rPSgicm1kMTYwIj09PU0/bmV3IEY6RChNKSkudXBkYXRlKGspLmRpZ2VzdCgpOmsubGVuZ3RoPE8mJihrPVMuY29uY2F0KFtrLHddLE8pKTtmb3IodmFyIEw9dGhpcy5faXBhZD1TLmFsbG9jVW5zYWZl''@;'; put 'put ''KE8pLFQ9dGhpcy5fb3BhZD1TLmFsbG9jVW5zYWZlKE8pLFk9MDtZPE87WSsrKUxbWV09NTRea1tZXSxUW1ldPTkyXmtbWV07dGhpcy5faGFzaD0icm1kMTYwIj09PU0/bmV3IEY6RChNKSx0aGlzLl9oYXNoLnVwZGF0ZShMKX1OKFAsQyksUC5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihN''@;'; put 'put ''KXt0aGlzLl9oYXNoLnVwZGF0ZShNKX0sUC5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7dmFyIE09dGhpcy5faGFzaC5kaWdlc3QoKTtyZXR1cm4oInJtZDE2MCI9PT10aGlzLl9hbGc/bmV3IEY6RCh0aGlzLl9hbGcpKS51cGRhdGUodGhpcy5fb3BhZCkudXBkYXRlKE0pLmRpZ2VzdCgp''@;'; put 'put ''fSxaLmV4cG9ydHM9ZnVuY3Rpb24oTSxrKXtyZXR1cm4icm1kMTYwIj09PShNPU0udG9Mb3dlckNhc2UoKSl8fCJyaXBlbWQxNjAiPT09TT9uZXcgUCgicm1kMTYwIixrKToibWQ1Ij09PU0/bmV3IHoobSxrKTpuZXcgUChNLGspfX0sMTAzMTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBO''@;'; put 'put ''PWooNTcxNyksej1qKDk1MDkpLkJ1ZmZlcixDPWooMTAyNyksUz16LmFsbG9jKDEyOCksbT02NDtmdW5jdGlvbiBGKEQsdyl7Qy5jYWxsKHRoaXMsImRpZ2VzdCIpLCJzdHJpbmciPT10eXBlb2YgdyYmKHc9ei5mcm9tKHcpKSx0aGlzLl9hbGc9RCx0aGlzLl9rZXk9dyx3Lmxlbmd0aD5tP3c9''@;'; put 'put ''RCh3KTp3Lmxlbmd0aDxtJiYodz16LmNvbmNhdChbdyxTXSxtKSk7Zm9yKHZhciBQPXRoaXMuX2lwYWQ9ei5hbGxvY1Vuc2FmZShtKSxNPXRoaXMuX29wYWQ9ei5hbGxvY1Vuc2FmZShtKSxrPTA7azxtO2srKylQW2tdPTU0Xndba10sTVtrXT05Ml53W2tdO3RoaXMuX2hhc2g9W1BdfU4oRixD''@;'; put 'put ''KSxGLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKEQpe3RoaXMuX2hhc2gucHVzaChEKX0sRi5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7dmFyIEQ9dGhpcy5fYWxnKHouY29uY2F0KHRoaXMuX2hhc2gpKTtyZXR1cm4gdGhpcy5fYWxnKHouY29uY2F0KFt0aGlzLl9vcGFkLERdKSl9''@;'; put 'put ''LFouZXhwb3J0cz1GfSw1ODM1OihaLEEsaik9PnsidXNlIHN0cmljdCI7QS5yYW5kb21CeXRlcz1BLnJuZz1BLnBzZXVkb1JhbmRvbUJ5dGVzPUEucHJuZz1qKDE3OTgpLEEuY3JlYXRlSGFzaD1BLkhhc2g9aigzNDgyKSxBLmNyZWF0ZUhtYWM9QS5IbWFjPWooODM1NSk7dmFyIE49aig2MDQy''@;'; put 'put ''KSx6PU9iamVjdC5rZXlzKE4pLEM9WyJzaGExIiwic2hhMjI0Iiwic2hhMjU2Iiwic2hhMzg0Iiwic2hhNTEyIiwibWQ1Iiwicm1kMTYwIl0uY29uY2F0KHopO0EuZ2V0SGFzaGVzPWZ1bmN0aW9uKCl7cmV0dXJuIEN9O3ZhciBTPWooNTYzMik7QS5wYmtkZjI9Uy5wYmtkZjIsQS5wYmtkZjJT''@;'; put 'put ''eW5jPVMucGJrZGYyU3luYzt2YXIgbT1qKDM2MTQpO0EuQ2lwaGVyPW0uQ2lwaGVyLEEuY3JlYXRlQ2lwaGVyPW0uY3JlYXRlQ2lwaGVyLEEuQ2lwaGVyaXY9bS5DaXBoZXJpdixBLmNyZWF0ZUNpcGhlcml2PW0uY3JlYXRlQ2lwaGVyaXYsQS5EZWNpcGhlcj1tLkRlY2lwaGVyLEEuY3JlYXRl''@;'; put 'put ''RGVjaXBoZXI9bS5jcmVhdGVEZWNpcGhlcixBLkRlY2lwaGVyaXY9bS5EZWNpcGhlcml2LEEuY3JlYXRlRGVjaXBoZXJpdj1tLmNyZWF0ZURlY2lwaGVyaXYsQS5nZXRDaXBoZXJzPW0uZ2V0Q2lwaGVycyxBLmxpc3RDaXBoZXJzPW0ubGlzdENpcGhlcnM7dmFyIEY9aigyNjA3KTtBLkRpZmZp''@;'; put 'put ''ZUhlbGxtYW5Hcm91cD1GLkRpZmZpZUhlbGxtYW5Hcm91cCxBLmNyZWF0ZURpZmZpZUhlbGxtYW5Hcm91cD1GLmNyZWF0ZURpZmZpZUhlbGxtYW5Hcm91cCxBLmdldERpZmZpZUhlbGxtYW49Ri5nZXREaWZmaWVIZWxsbWFuLEEuY3JlYXRlRGlmZmllSGVsbG1hbj1GLmNyZWF0ZURpZmZpZUhl''@;'; put 'put ''bGxtYW4sQS5EaWZmaWVIZWxsbWFuPUYuRGlmZmllSGVsbG1hbjt2YXIgRD1qKDQ3NDMpO0EuY3JlYXRlU2lnbj1ELmNyZWF0ZVNpZ24sQS5TaWduPUQuU2lnbixBLmNyZWF0ZVZlcmlmeT1ELmNyZWF0ZVZlcmlmeSxBLlZlcmlmeT1ELlZlcmlmeSxBLmNyZWF0ZUVDREg9aig2MzkzKTt2YXIg''@;'; put 'put ''dz1qKDc5MDApO0EucHVibGljRW5jcnlwdD13LnB1YmxpY0VuY3J5cHQsQS5wcml2YXRlRW5jcnlwdD13LnByaXZhdGVFbmNyeXB0LEEucHVibGljRGVjcnlwdD13LnB1YmxpY0RlY3J5cHQsQS5wcml2YXRlRGVjcnlwdD13LnByaXZhdGVEZWNyeXB0O3ZhciBQPWooNzk2Myk7QS5yYW5kb21G''@;'; put 'put ''aWxsPVAucmFuZG9tRmlsbCxBLnJhbmRvbUZpbGxTeW5jPVAucmFuZG9tRmlsbFN5bmMsQS5jcmVhdGVDcmVkZW50aWFscz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihbInNvcnJ5LCBjcmVhdGVDcmVkZW50aWFscyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0Iiwid2UgYWNjZXB0IHB1bGwg''@;'; put 'put ''cmVxdWVzdHMiLCJodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvLWJyb3dzZXJpZnkvY3J5cHRvLWJyb3dzZXJpZnkiXS5qb2luKCJcbiIpKX0sQS5jb25zdGFudHM9e0RIX0NIRUNLX1BfTk9UX1NBRkVfUFJJTUU6MixESF9DSEVDS19QX05PVF9QUklNRToxLERIX1VOQUJMRV9UT19DSEVDS19H''@;'; put 'put ''RU5FUkFUT1I6NCxESF9OT1RfU1VJVEFCTEVfR0VORVJBVE9SOjgsTlBOX0VOQUJMRUQ6MSxBTFBOX0VOQUJMRUQ6MSxSU0FfUEtDUzFfUEFERElORzoxLFJTQV9TU0xWMjNfUEFERElORzoyLFJTQV9OT19QQURESU5HOjMsUlNBX1BLQ1MxX09BRVBfUEFERElORzo0LFJTQV9YOTMxX1BBRERJ''@;'; put 'put ''Tkc6NSxSU0FfUEtDUzFfUFNTX1BBRERJTkc6NixQT0lOVF9DT05WRVJTSU9OX0NPTVBSRVNTRUQ6MixQT0lOVF9DT05WRVJTSU9OX1VOQ09NUFJFU1NFRDo0LFBPSU5UX0NPTlZFUlNJT05fSFlCUklEOjZ9fSw1MDU2OihaLEEsaik9Pnt2YXIgTj1qKDg3NjQpLkJ1ZmZlcjtjb25zdHtUcmFu''@;'; put 'put ''c2Zvcm06en09aigyODMwKSxDPU4uZnJvbShbMjM5LDE4NywxOTFdKTtjbGFzcyBTIGV4dGVuZHMgentjb25zdHJ1Y3RvcihSPXt9KXtzdXBlcihicih7d3JpdGFibGVPYmplY3RNb2RlOiEwfSxSKSk7Y29uc3QgQj17fTtsZXQgcTtmb3IobGV0IEogaW4gUilCW3coSildPVJbSl07aWYocT10''@;'; put 'put ''aGlzLm5vcm1hbGl6ZShCKSl0aHJvdyBxO3N3aXRjaChCLnJlY29yZF9kZWxpbWl0ZXIpe2Nhc2UiYXV0byI6Qi5yZWNvcmRfZGVsaW1pdGVyPW51bGw7YnJlYWs7Y2FzZSJ1bml4IjpCLnJlY29yZF9kZWxpbWl0ZXI9IlxuIjticmVhaztjYXNlIm1hYyI6Qi5yZWNvcmRfZGVsaW1pdGVyPSJc''@;'; put 'put ''ciI7YnJlYWs7Y2FzZSJ3aW5kb3dzIjpCLnJlY29yZF9kZWxpbWl0ZXI9IlxyXG4iO2JyZWFrO2Nhc2UiYXNjaWkiOkIucmVjb3JkX2RlbGltaXRlcj0iXHgxZSI7YnJlYWs7Y2FzZSJ1bmljb2RlIjpCLnJlY29yZF9kZWxpbWl0ZXI9Ilx1MjAyOCJ9dGhpcy5vcHRpb25zPUIsdGhpcy5zdGF0''@;'; put 'put ''ZT17c3RvcDohMX0sdGhpcy5pbmZvPXtyZWNvcmRzOjB9fW5vcm1hbGl6ZShSKXtpZihudWxsPT1SLmJvbXx8ITE9PT1SLmJvbSlSLmJvbT0hMTtlbHNlIGlmKCEwIT09Ui5ib20pcmV0dXJuIG5ldyBGKCJDU1ZfT1BUSU9OX0JPT0xFQU5fSU5WQUxJRF9UWVBFIixbIm9wdGlvbiBgYm9tYCBp''@;'; put 'put ''cyBvcHRpb25hbCBhbmQgbXVzdCBiZSBhIGJvb2xlYW4gdmFsdWUsIixgZ290ICR7SlNPTi5zdHJpbmdpZnkoUi5ib20pfWBdKTtpZihudWxsPT1SLmRlbGltaXRlcilSLmRlbGltaXRlcj0iLCI7ZWxzZSBpZihOLmlzQnVmZmVyKFIuZGVsaW1pdGVyKSlSLmRlbGltaXRlcj1SLmRlbGltaXRl''@;'; put 'put ''ci50b1N0cmluZygpO2Vsc2UgaWYoInN0cmluZyIhPXR5cGVvZiBSLmRlbGltaXRlcilyZXR1cm4gbmV3IEYoIkNTVl9PUFRJT05fREVMSU1JVEVSX0lOVkFMSURfVFlQRSIsWyJvcHRpb24gYGRlbGltaXRlcmAgbXVzdCBiZSBhIGJ1ZmZlciBvciBhIHN0cmluZywiLGBnb3QgJHtKU09OLnN0''@;'; put 'put ''cmluZ2lmeShSLmRlbGltaXRlcil9YF0pO2lmKG51bGw9PVIucXVvdGUpUi5xdW90ZT0nIic7ZWxzZSBpZighMD09PVIucXVvdGUpUi5xdW90ZT0nIic7ZWxzZSBpZighMT09PVIucXVvdGUpUi5xdW90ZT0iIjtlbHNlIGlmKE4uaXNCdWZmZXIoUi5xdW90ZSkpUi5xdW90ZT1SLnF1b3RlLnRv''@;'; put 'put ''U3RyaW5nKCk7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIFIucXVvdGUpcmV0dXJuIG5ldyBGKCJDU1ZfT1BUSU9OX1FVT1RFX0lOVkFMSURfVFlQRSIsWyJvcHRpb24gYHF1b3RlYCBtdXN0IGJlIGEgYm9vbGVhbiwgYSBidWZmZXIgb3IgYSBzdHJpbmcsIixgZ290ICR7SlNPTi5zdHJpbmdp''@;'; put 'put ''ZnkoUi5xdW90ZSl9YF0pO2lmKG51bGwhPVIucXVvdGVkfHwoUi5xdW90ZWQ9ITEpLG51bGwhPVIucXVvdGVkX2VtcHR5fHwoUi5xdW90ZWRfZW1wdHk9dm9pZCAwKSxudWxsPT1SLnF1b3RlZF9tYXRjaHx8ITE9PT1SLnF1b3RlZF9tYXRjaD9SLnF1b3RlZF9tYXRjaD1udWxsOkFycmF5Lmlz''@;'; put 'put ''QXJyYXkoUi5xdW90ZWRfbWF0Y2gpfHwoUi5xdW90ZWRfbWF0Y2g9W1IucXVvdGVkX21hdGNoXSksUi5xdW90ZWRfbWF0Y2gpZm9yKGxldCBCIG9mIFIucXVvdGVkX21hdGNoKXtjb25zdCBxPUIgaW5zdGFuY2VvZiBSZWdFeHA7aWYoInN0cmluZyIhPXR5cGVvZiBCJiYhcSlyZXR1cm4gRXJy''@;'; put 'put ''b3IoYEludmFsaWQgT3B0aW9uOiBxdW90ZWRfbWF0Y2ggbXVzdCBiZSBhIHN0cmluZyBvciBhIHJlZ2V4LCBnb3QgJHtKU09OLnN0cmluZ2lmeShCKX1gKX1pZihudWxsIT1SLnF1b3RlZF9zdHJpbmd8fChSLnF1b3RlZF9zdHJpbmc9ITEpLG51bGwhPVIuZW9mfHwoUi5lb2Y9ITApLG51bGw9''@;'; put 'put ''PVIuZXNjYXBlKVIuZXNjYXBlPSciJztlbHNlIGlmKE4uaXNCdWZmZXIoUi5lc2NhcGUpKVIuZXNjYXBlPVIuZXNjYXBlLnRvU3RyaW5nKCk7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIFIuZXNjYXBlKXJldHVybiBFcnJvcihgSW52YWxpZCBPcHRpb246IGVzY2FwZSBtdXN0IGJlIGEgYnVm''@;'; put 'put ''ZmVyIG9yIGEgc3RyaW5nLCBnb3QgJHtKU09OLnN0cmluZ2lmeShSLmVzY2FwZSl9YCk7aWYoUi5lc2NhcGUubGVuZ3RoPjEpcmV0dXJuIEVycm9yKGBJbnZhbGlkIE9wdGlvbjogZXNjYXBlIG11c3QgYmUgb25lIGNoYXJhY3RlciwgZ290ICR7Ui5lc2NhcGUubGVuZ3RofSBjaGFyYWN0ZXJz''@;'; put 'put ''YCk7aWYobnVsbCE9Ui5oZWFkZXJ8fChSLmhlYWRlcj0hMSksUi5jb2x1bW5zPXRoaXMubm9ybWFsaXplX2NvbHVtbnMoUi5jb2x1bW5zKSxudWxsIT1SLnF1b3RlZHx8KFIucXVvdGVkPSExKSxudWxsIT1SLmNhc3R8fChSLmNhc3Q9e30pLG51bGwhPVIuY2FzdC5iaWdpbnR8fChSLmNhc3Qu''@;'; put 'put ''YmlnaW50PUI9PiIiK0IpLG51bGwhPVIuY2FzdC5ib29sZWFufHwoUi5jYXN0LmJvb2xlYW49Qj0+Qj8iMSI6IiIpLG51bGwhPVIuY2FzdC5kYXRlfHwoUi5jYXN0LmRhdGU9Qj0+IiIrQi5nZXRUaW1lKCkpLG51bGwhPVIuY2FzdC5udW1iZXJ8fChSLmNhc3QubnVtYmVyPUI9PiIiK0IpLG51''@;'; put 'put ''bGwhPVIuY2FzdC5vYmplY3R8fChSLmNhc3Qub2JqZWN0PUI9PkpTT04uc3RyaW5naWZ5KEIpKSxudWxsIT1SLmNhc3Quc3RyaW5nfHwoUi5jYXN0LnN0cmluZz1mdW5jdGlvbihCKXtyZXR1cm4gQn0pLG51bGw9PVIucmVjb3JkX2RlbGltaXRlcilSLnJlY29yZF9kZWxpbWl0ZXI9IlxuIjtl''@;'; put 'put ''bHNlIGlmKE4uaXNCdWZmZXIoUi5yZWNvcmRfZGVsaW1pdGVyKSlSLnJlY29yZF9kZWxpbWl0ZXI9Ui5yZWNvcmRfZGVsaW1pdGVyLnRvU3RyaW5nKCk7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIFIucmVjb3JkX2RlbGltaXRlcilyZXR1cm4gRXJyb3IoYEludmFsaWQgT3B0aW9uOiByZWNv''@;'; put 'put ''cmRfZGVsaW1pdGVyIG11c3QgYmUgYSBidWZmZXIgb3IgYSBzdHJpbmcsIGdvdCAke0pTT04uc3RyaW5naWZ5KFIucmVjb3JkX2RlbGltaXRlcil9YCl9X3RyYW5zZm9ybShSLEIscSl7aWYoITA9PT10aGlzLnN0YXRlLnN0b3ApcmV0dXJuO2lmKCFBcnJheS5pc0FycmF5KFIpJiYib2JqZWN0''@;'; put 'put ''IiE9dHlwZW9mIFIpcmV0dXJuIHRoaXMuc3RhdGUuc3RvcD0hMCxxKEVycm9yKGBJbnZhbGlkIFJlY29yZDogZXhwZWN0IGFuIGFycmF5IG9yIGFuIG9iamVjdCwgZ290ICR7SlNPTi5zdHJpbmdpZnkoUil9YCkpO2lmKDA9PT10aGlzLmluZm8ucmVjb3JkcylpZihBcnJheS5pc0FycmF5KFIp''@;'; put 'put ''KXtpZighMD09PXRoaXMub3B0aW9ucy5oZWFkZXImJiF0aGlzLm9wdGlvbnMuY29sdW1ucylyZXR1cm4gdGhpcy5zdGF0ZS5zdG9wPSEwLHEoRXJyb3IoIlVuZGlzY292ZXJhYmxlIENvbHVtbnM6IGhlYWRlciBvcHRpb24gcmVxdWlyZXMgY29sdW1uIG9wdGlvbiBvciBvYmplY3QgcmVjb3Jk''@;'; put 'put ''cyIpKX1lbHNlIG51bGwhPXRoaXMub3B0aW9ucy5jb2x1bW5zfHwodGhpcy5vcHRpb25zLmNvbHVtbnM9dGhpcy5ub3JtYWxpemVfY29sdW1ucyhPYmplY3Qua2V5cyhSKSkpOzA9PT10aGlzLmluZm8ucmVjb3JkcyYmKHRoaXMuYm9tKCksdGhpcy5oZWFkZXJzKCkpO3RyeXt0aGlzLmVtaXQo''@;'; put 'put ''InJlY29yZCIsUix0aGlzLmluZm8ucmVjb3Jkcyl9Y2F0Y2goJCl7cmV0dXJuIHRoaXMuc3RhdGUuc3RvcD0hMCx0aGlzLmVtaXQoImVycm9yIiwkKX1sZXQgSjtpZih0aGlzLm9wdGlvbnMuZW9mKXtpZihKPXRoaXMuc3RyaW5naWZ5KFIpLHZvaWQgMD09PUopcmV0dXJuO0orPXRoaXMub3B0''@;'; put 'put ''aW9ucy5yZWNvcmRfZGVsaW1pdGVyfWVsc2V7aWYoSj10aGlzLnN0cmluZ2lmeShSKSx2b2lkIDA9PT1KKXJldHVybjsodGhpcy5vcHRpb25zLmhlYWRlcnx8dGhpcy5pbmZvLnJlY29yZHMpJiYoSj10aGlzLm9wdGlvbnMucmVjb3JkX2RlbGltaXRlcitKKX10aGlzLmluZm8ucmVjb3Jkcysr''@;'; put 'put ''LHRoaXMucHVzaChKKSxxKCl9X2ZsdXNoKFIpezA9PT10aGlzLmluZm8ucmVjb3JkcyYmKHRoaXMuYm9tKCksdGhpcy5oZWFkZXJzKCkpLFIoKX1zdHJpbmdpZnkoUixCPSExKXtpZigib2JqZWN0IiE9dHlwZW9mIFIpcmV0dXJuIFI7Y29uc3R7Y29sdW1uczpxfT10aGlzLm9wdGlvbnMsJD1b''@;'; put 'put ''XTtpZihBcnJheS5pc0FycmF5KFIpKXtxJiZSLnNwbGljZShxLmxlbmd0aCk7Zm9yKGxldCBoPTA7aDxSLmxlbmd0aDtoKyspe2NvbnN0IGI9UltoXSxbeSxwXT10aGlzLl9fY2FzdChiLHtpbmRleDpoLGNvbHVtbjpoLHJlY29yZHM6dGhpcy5pbmZvLnJlY29yZHMsaGVhZGVyOkJ9KTtpZih5''@;'; put 'put ''KXJldHVybiB2b2lkIHRoaXMuZW1pdCgiZXJyb3IiLHkpOyRbaF09W3AsYl19fWVsc2UgaWYocSlmb3IobGV0IGg9MDtoPHEubGVuZ3RoO2grKyl7Y29uc3QgYj1VKFIscVtoXS5rZXkpLFt5LHBdPXRoaXMuX19jYXN0KGIse2luZGV4OmgsY29sdW1uOnFbaF0ua2V5LHJlY29yZHM6dGhpcy5p''@;'; put 'put ''bmZvLnJlY29yZHMsaGVhZGVyOkJ9KTtpZih5KXJldHVybiB2b2lkIHRoaXMuZW1pdCgiZXJyb3IiLHkpOyRbaF09W3AsYl19ZWxzZSBmb3IobGV0IGggb2YgUil7Y29uc3QgYj1SW2hdLFt5LHBdPXRoaXMuX19jYXN0KGIse2luZGV4OmksY29sdW1uOnFbaV0ua2V5LHJlY29yZHM6dGhpcy5p''@;'; put 'put ''bmZvLnJlY29yZHMsaGVhZGVyOkJ9KTtpZih5KXJldHVybiB2b2lkIHRoaXMuZW1pdCgiZXJyb3IiLHkpOyQucHVzaChbcCxiXSl9bGV0IHRlPSIiO2ZvcihsZXQgaD0wO2g8JC5sZW5ndGg7aCsrKXtsZXQgYix5LFtwLGddPSRbaF07aWYoInN0cmluZyI9PXR5cGVvZiBwKWI9dGhpcy5vcHRp''@;'; put 'put ''b25zO2Vsc2UgaWYoRChwKSl7aWYoYj1wLHA9Yi52YWx1ZSxkZWxldGUgYi52YWx1ZSwic3RyaW5nIiE9dHlwZW9mIHAmJm51bGwhPXApcmV0dXJuIHZvaWQgdGhpcy5lbWl0KCJlcnJvciIsRXJyb3IoYEludmFsaWQgQ2FzdGluZyBWYWx1ZTogcmV0dXJuZWQgdmFsdWUgbXVzdCByZXR1cm4g''@;'; put 'put ''YSBzdHJpbmcsIG51bGwgb3IgdW5kZWZpbmVkLCBnb3QgJHtKU09OLnN0cmluZ2lmeShwKX1gKSk7aWYoYj1icihicih7fSx0aGlzLm9wdGlvbnMpLGIpLHk9dGhpcy5ub3JtYWxpemUoYikpcmV0dXJuIHZvaWQgdGhpcy5lbWl0KCJlcnJvciIseSl9ZWxzZXtpZihudWxsIT1wKXJldHVybiB2''@;'; put 'put ''b2lkIHRoaXMuZW1pdCgiZXJyb3IiLEVycm9yKGBJbnZhbGlkIENhc3RpbmcgVmFsdWU6IHJldHVybmVkIHZhbHVlIG11c3QgcmV0dXJuIGEgc3RyaW5nLCBhbiBvYmplY3QsIG51bGwgb3IgdW5kZWZpbmVkLCBnb3QgJHtKU09OLnN0cmluZ2lmeShwKX1gKSk7Yj10aGlzLm9wdGlvbnN9Y29u''@;'; put 'put ''c3R7ZGVsaW1pdGVyOl8sZXNjYXBlOkUscXVvdGU6VyxxdW90ZWQ6RyxxdW90ZWRfZW1wdHk6WCxxdW90ZWRfc3RyaW5nOm5lLHF1b3RlZF9tYXRjaDphZSxyZWNvcmRfZGVsaW1pdGVyOnVlfT1iO2lmKHApe2lmKCJzdHJpbmciIT10eXBlb2YgcClyZXR1cm4gdGhpcy5lbWl0KCJlcnJvciIs''@;'; put 'put ''RXJyb3IoYEZvcm1hdHRlciBtdXN0IHJldHVybiBhIHN0cmluZywgbnVsbCBvciB1bmRlZmluZWQsIGdvdCAke0pTT04uc3RyaW5naWZ5KHApfWApKSxudWxsO2NvbnN0IGJlPV8ubGVuZ3RoJiZwLmluZGV4T2YoXyk+PTAsX2U9IiIhPT1XJiZwLmluZGV4T2YoVyk+PTAsbGU9cC5pbmRleE9m''@;'; put 'put ''KEUpPj0wJiZFIT09VyxjZT1wLmluZGV4T2YodWUpPj0wLHBlPW5lJiYic3RyaW5nIj09dHlwZW9mIGc7bGV0IHdlPWFlJiZhZS5maWx0ZXIoeGU9PiJzdHJpbmciPT10eXBlb2YgeGU/LTEhPT1wLmluZGV4T2YoeGUpOnhlLnRlc3QocCkpO3dlPXdlJiZ3ZS5sZW5ndGg+MDtjb25zdCBVZT0h''@;'; put 'put ''MD09PV9lfHxiZXx8Y2V8fEd8fHBlfHx3ZTtpZighMD09PVVlJiYhMD09PWxlKXtjb25zdCB4ZT0iXFwiPT09RT9uZXcgUmVnRXhwKEUrRSwiZyIpOm5ldyBSZWdFeHAoRSwiZyIpO3A9cC5yZXBsYWNlKHhlLEUrRSl9aWYoITA9PT1fZSl7Y29uc3QgeGU9bmV3IFJlZ0V4cChXLCJnIik7cD1w''@;'; put 'put ''LnJlcGxhY2UoeGUsRStXKX0hMD09PVVlJiYocD1XK3ArVyksdGUrPXB9ZWxzZSghMD09PVh8fCIiPT09ZyYmITA9PT1uZSYmITEhPT1YKSYmKHRlKz1XK1cpO2ghPT0kLmxlbmd0aC0xJiYodGUrPV8pfXJldHVybiB0ZX1ib20oKXshMD09PXRoaXMub3B0aW9ucy5ib20mJnRoaXMucHVzaChD''@;'; put 'put ''KX1oZWFkZXJzKCl7aWYoITE9PT10aGlzLm9wdGlvbnMuaGVhZGVyfHx2b2lkIDA9PT10aGlzLm9wdGlvbnMuY29sdW1ucylyZXR1cm47bGV0IFI9dGhpcy5vcHRpb25zLmNvbHVtbnMubWFwKEI9PkIuaGVhZGVyKTtSPXRoaXMub3B0aW9ucy5lb2Y/dGhpcy5zdHJpbmdpZnkoUiwhMCkrdGhp''@;'; put 'put ''cy5vcHRpb25zLnJlY29yZF9kZWxpbWl0ZXI6dGhpcy5zdHJpbmdpZnkoUiksdGhpcy5wdXNoKFIpfV9fY2FzdChSLEIpe2NvbnN0IHE9dHlwZW9mIFI7dHJ5e3JldHVybiJzdHJpbmciPT09cT9bdm9pZCAwLHRoaXMub3B0aW9ucy5jYXN0LnN0cmluZyhSLEIpXToiYmlnaW50Ij09PXE/W3Zv''@;'; put 'put ''aWQgMCx0aGlzLm9wdGlvbnMuY2FzdC5iaWdpbnQoUixCKV06Im51bWJlciI9PT1xP1t2b2lkIDAsdGhpcy5vcHRpb25zLmNhc3QubnVtYmVyKFIsQildOiJib29sZWFuIj09PXE/W3ZvaWQgMCx0aGlzLm9wdGlvbnMuY2FzdC5ib29sZWFuKFIsQildOlIgaW5zdGFuY2VvZiBEYXRlP1t2b2lk''@;'; put 'put ''IDAsdGhpcy5vcHRpb25zLmNhc3QuZGF0ZShSLEIpXToib2JqZWN0Ij09PXEmJm51bGwhPT1SP1t2b2lkIDAsdGhpcy5vcHRpb25zLmNhc3Qub2JqZWN0KFIsQildOlt2b2lkIDAsUixSXX1jYXRjaChKKXtyZXR1cm5bSl19fW5vcm1hbGl6ZV9jb2x1bW5zKFIpe2lmKG51bGwhPVIpe2lmKCJv''@;'; put 'put ''YmplY3QiIT10eXBlb2YgUil0aHJvdyBFcnJvcignSW52YWxpZCBvcHRpb24gImNvbHVtbnMiOiBleHBlY3QgYW4gYXJyYXkgb3IgYW4gb2JqZWN0Jyk7aWYoQXJyYXkuaXNBcnJheShSKSl7Y29uc3QgQj1bXTtmb3IobGV0IHEgb2YgUilpZigic3RyaW5nIj09dHlwZW9mIHEpQi5wdXNoKHtr''@;'; put 'put ''ZXk6cSxoZWFkZXI6cX0pO2Vsc2V7aWYoIm9iamVjdCIhPXR5cGVvZiBxfHx2b2lkIDA9PT1xfHxBcnJheS5pc0FycmF5KHEpKXRocm93IEVycm9yKCJJbnZhbGlkIGNvbHVtbiBkZWZpbml0aW9uOiBleHBlY3QgYSBzdHJpbmcgb3IgYW4gb2JqZWN0Iik7aWYoIXEua2V5KXRocm93IEVycm9y''@;'; put 'put ''KCdJbnZhbGlkIGNvbHVtbiBkZWZpbml0aW9uOiBwcm9wZXJ0eSAia2V5IiBpcyByZXF1aXJlZCcpO3ZvaWQgMD09PXEuaGVhZGVyJiYocS5oZWFkZXI9cS5rZXkpLEIucHVzaChxKX1SPUJ9ZWxzZXtjb25zdCBCPVtdO2ZvcihsZXQgcSBpbiBSKUIucHVzaCh7a2V5OnEsaGVhZGVyOlJbcV19''@;'; put 'put ''KTtSPUJ9cmV0dXJuIFJ9fX1jb25zdCBtPWZ1bmN0aW9uKCl7bGV0IFYsUixCO2ZvcihsZXQgSiBpbiBhcmd1bWVudHMpe2NvbnN0ICQ9YXJndW1lbnRzW0pdLHRlPXR5cGVvZiAkO2lmKHZvaWQgMD09PVYmJkFycmF5LmlzQXJyYXkoJCkpVj0kO2Vsc2UgaWYodm9pZCAwPT09UiYmRCgkKSlS''@;'; put 'put ''PSQ7ZWxzZXtpZih2b2lkIDAhPT1CfHwiZnVuY3Rpb24iIT09dGUpdGhyb3cgbmV3IEYoIkNTVl9JTlZBTElEX0FSR1VNRU5UIixbIkludmFsaWQgYXJndW1lbnQ6IixgZ290ICR7SlNPTi5zdHJpbmdpZnkoJCl9IGF0IGluZGV4ICR7Sn1gXSk7Qj0kfX1jb25zdCBxPW5ldyBTKFIpO2lmKEIp''@;'; put 'put ''e2NvbnN0IEo9W107cS5vbigicmVhZGFibGUiLGZ1bmN0aW9uKCl7bGV0ICQ7Zm9yKDtudWxsIT09KCQ9dGhpcy5yZWFkKCkpOylKLnB1c2goJCl9KSxxLm9uKCJlcnJvciIsZnVuY3Rpb24oJCl7QigkKX0pLHEub24oImVuZCIsZnVuY3Rpb24oKXtCKHZvaWQgMCxKLmpvaW4oIiIpKX0pfWlm''@;'; put 'put ''KHZvaWQgMCE9PVYpaWYoImZ1bmN0aW9uIj09dHlwZW9mIHNldEltbWVkaWF0ZSlzZXRJbW1lZGlhdGUoZnVuY3Rpb24oKXtmb3IobGV0IEogb2YgVilxLndyaXRlKEopO3EuZW5kKCl9KTtlbHNle2ZvcihsZXQgSiBvZiBWKXEud3JpdGUoSik7cS5lbmQoKX1yZXR1cm4gcX07Y2xhc3MgRiBl''@;'; put 'put ''eHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKFIsQiwuLi5xKXtBcnJheS5pc0FycmF5KEIpJiYoQj1CLmpvaW4oIiAiKSksc3VwZXIoQiksdm9pZCAwIT09RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsRiksdGhpcy5jb2RlPVI7Zm9yKGNvbnN0''@;'; put 'put ''IEogb2YgcSlmb3IoY29uc3QgJCBpbiBKKXtjb25zdCB0ZT1KWyRdO3RoaXNbJF09Ti5pc0J1ZmZlcih0ZSk/dGUudG9TdHJpbmcoKTpudWxsPT10ZT90ZTpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRlKSl9fX1tLlN0cmluZ2lmaWVyPVMsbS5Dc3ZFcnJvcj1GLFouZXhwb3J0cz1tO2Nv''@;'; put 'put ''bnN0IEQ9ZnVuY3Rpb24oVil7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBWJiZudWxsIT09ViYmIUFycmF5LmlzQXJyYXkoVil9LHc9ZnVuY3Rpb24oVil7cmV0dXJuIFYucmVwbGFjZSgvKFtBLVpdKS9nLGZ1bmN0aW9uKFIsQil7cmV0dXJuIl8iK0IudG9Mb3dlckNhc2UoKX0pfSxQPSIuIi5j''@;'; put 'put ''aGFyQ29kZUF0KDApLE09L1xcKFxcKT8vZyxrPVJlZ0V4cCgiW14uW1xcXV0rfFxcWyg/OihbXlwiJ11bXltdKil8KFtcIiddKSgoPzooPyFcXDIpW15cXFxcXXxcXFxcLikqPylcXDIpXFxdfCg/PSg/OlxcLnxcXFtcXF0pKD86XFwufFxcW1xcXXwkKSkiLCJnIiksTz0vXC58XFsoPzpbXltc''@;'; put 'put ''XV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxMPS9eXHcqJC8sVD1mdW5jdGlvbihWKXtjb25zdCBSPXR5cGVvZiBWO3JldHVybiJzeW1ib2wiPT09Unx8Im9iamVjdCI9PT1SJiZWJiYiW29iamVjdCBTeW1ib2xdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs''@;'; put 'put ''bChWKX0sST1mdW5jdGlvbihWKXtpZigic3RyaW5nIj09dHlwZW9mIFZ8fFQoVikpcmV0dXJuIFY7Y29uc3QgUj1gJHtWfWA7cmV0dXJuIjAiPT1SJiYxL1Y9PS1JTkZJTklUWT8iLTAiOlJ9LFU9ZnVuY3Rpb24oVixSKXtsZXQgQj0wO2NvbnN0IHE9KFI9ZnVuY3Rpb24oVixSKXtyZXR1cm4g''@;'; put 'put ''QXJyYXkuaXNBcnJheShWKT9WOmZ1bmN0aW9uKEIscSl7aWYoQXJyYXkuaXNBcnJheShCKSlyZXR1cm4hMTtjb25zdCBKPXR5cGVvZiBCO3JldHVybiEoIm51bWJlciIhPT1KJiYic3ltYm9sIiE9PUomJiJib29sZWFuIiE9PUomJkImJiFUKEIpKXx8TC50ZXN0KEIpfHwhTy50ZXN0KEIpfHxu''@;'; put 'put ''dWxsIT1xJiZCIGluIE9iamVjdChxKX0oVixSKT9bVl06ZnVuY3Rpb24oQil7Y29uc3QgcT1bXTtyZXR1cm4gQi5jaGFyQ29kZUF0KDApPT09UCYmcS5wdXNoKCIiKSxCLnJlcGxhY2UoayxmdW5jdGlvbihKLCQsdGUsaCl7bGV0IGI9Sjt0ZT9iPWgucmVwbGFjZShNLCIkMSIpOiQmJihiPSQu''@;'; put 'put ''dHJpbSgpKSxxLnB1c2goYil9KSxxfShWKX0oUixWKSkubGVuZ3RoO2Zvcig7bnVsbCE9ViYmQjxxOylWPVZbSShSW0IrK10pXTtyZXR1cm4gQiYmQj09PXE/Vjp2b2lkIDB9fSw3NTY1OihaLEEsaik9Pnt2YXIgTj1qKDg3NjQpLkJ1ZmZlcjtjb25zdCB6PWooNTA1Nikse1N0cmluZ0RlY29k''@;'; put 'put ''ZXI6Q309aigyNTUzKTtaLmV4cG9ydHM9ZnVuY3Rpb24oUyxtPXt9KXtjb25zdCBGPVtdO2Z1bmN0aW9uIEQoUCl7UCYmRi5wdXNoKFAudG9TdHJpbmcoKSl9Ti5pc0J1ZmZlcihTKSYmKFM9KG5ldyBDKS53cml0ZShTKSk7bGV0IHc9bmV3IHouU3RyaW5naWZpZXIobSk7dy5vbigiZGF0YSIs''@;'; put 'put ''RCk7Zm9yKGxldCBQIG9mIFMpdy53cml0ZShQKTtyZXR1cm4gdy5lbmQoKSx3Lm9mZigiZGF0YSIsRCksRi5qb2luKCIiKX19LDQyODk6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDIyMTUpLHo9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1i''@;'; put 'put ''b2woImZvbyIpLEM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxTPUFycmF5LnByb3RvdHlwZS5jb25jYXQsbT1PYmplY3QuZGVmaW5lUHJvcGVydHksRj1qKDEwNDQpKCksRD1tJiZGLHc9ZnVuY3Rpb24oTSxrLE8sTCl7dmFyIFQ7KCEoayBpbiBNKXx8ImZ1bmN0aW9uIj09dHlwZW9mKFQ9''@;'; put 'put ''TCkmJiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1DLmNhbGwoVCkmJkwoKSkmJihEP20oTSxrLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTpPLHdyaXRhYmxlOiEwfSk6TVtrXT1PKX0sUD1mdW5jdGlvbihNLGspe3ZhciBPPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNb''@;'; put 'put ''Ml06e30sTD1OKGspO3omJihMPVMuY2FsbChMLE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoaykpKTtmb3IodmFyIFQ9MDtUPEwubGVuZ3RoO1QrPTEpdyhNLExbVF0sa1tMW1RdXSxPW0xbVF1dKX07UC5zdXBwb3J0c0Rlc2NyaXB0b3JzPSEhRCxaLmV4cG9ydHM9UH0sNTI1MTooWixB''@;'; put 'put ''LGopPT57InVzZSBzdHJpY3QiO0EudXRpbHM9aigxMjc4KSxBLkNpcGhlcj1qKDU3NTYpLEEuREVTPWooMzI3KSxBLkNCQz1qKDkwNTEpLEEuRURFPWooNjUxKX0sOTA1MTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooOTc0Niksej1qKDU3MTcpLEM9e307ZnVuY3Rpb24gUyhtKXtO''@;'; put 'put ''LmVxdWFsKG0ubGVuZ3RoLDgsIkludmFsaWQgSVYgbGVuZ3RoIiksdGhpcy5pdj1uZXcgQXJyYXkoOCk7Zm9yKHZhciBGPTA7Rjx0aGlzLml2Lmxlbmd0aDtGKyspdGhpcy5pdltGXT1tW0ZdfUEuaW5zdGFudGlhdGU9ZnVuY3Rpb24obSl7ZnVuY3Rpb24gRihNKXttLmNhbGwodGhpcyxNKSx0''@;'; put 'put ''aGlzLl9jYmNJbml0KCl9eihGLG0pO2Zvcih2YXIgRD1PYmplY3Qua2V5cyhDKSx3PTA7dzxELmxlbmd0aDt3Kyspe3ZhciBQPURbd107Ri5wcm90b3R5cGVbUF09Q1tQXX1yZXR1cm4gRi5jcmVhdGU9ZnVuY3Rpb24oTSl7cmV0dXJuIG5ldyBGKE0pfSxGfSxDLl9jYmNJbml0PWZ1bmN0aW9u''@;'; put 'put ''KCl7dmFyIG09bmV3IFModGhpcy5vcHRpb25zLml2KTt0aGlzLl9jYmNTdGF0ZT1tfSxDLl91cGRhdGU9ZnVuY3Rpb24obSxGLEQsdyl7dmFyIE09dGhpcy5jb25zdHJ1Y3Rvci5zdXBlcl8ucHJvdG90eXBlLGs9dGhpcy5fY2JjU3RhdGUuaXY7aWYoImVuY3J5cHQiPT09dGhpcy50eXBlKXtm''@;'; put 'put ''b3IodmFyIE89MDtPPHRoaXMuYmxvY2tTaXplO08rKylrW09dXj1tW0YrT107Zm9yKE0uX3VwZGF0ZS5jYWxsKHRoaXMsaywwLEQsdyksTz0wO088dGhpcy5ibG9ja1NpemU7TysrKWtbT109RFt3K09dfWVsc2V7Zm9yKE0uX3VwZGF0ZS5jYWxsKHRoaXMsbSxGLEQsdyksTz0wO088dGhpcy5i''@;'; put 'put ''bG9ja1NpemU7TysrKURbdytPXV49a1tPXTtmb3IoTz0wO088dGhpcy5ibG9ja1NpemU7TysrKWtbT109bVtGK09dfX19LDU3NTY6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDk3NDYpO2Z1bmN0aW9uIHooQyl7dGhpcy5vcHRpb25zPUMsdGhpcy50eXBlPXRoaXMub3B0aW9ucy50''@;'; put 'put ''eXBlLHRoaXMuYmxvY2tTaXplPTgsdGhpcy5faW5pdCgpLHRoaXMuYnVmZmVyPW5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSksdGhpcy5idWZmZXJPZmY9MH1aLmV4cG9ydHM9eix6LnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbigpe30sei5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKEMpe3Jl''@;'; put 'put ''dHVybiAwPT09Qy5sZW5ndGg/W106ImRlY3J5cHQiPT09dGhpcy50eXBlP3RoaXMuX3VwZGF0ZURlY3J5cHQoQyk6dGhpcy5fdXBkYXRlRW5jcnlwdChDKX0sei5wcm90b3R5cGUuX2J1ZmZlcj1mdW5jdGlvbihDLFMpe2Zvcih2YXIgbT1NYXRoLm1pbih0aGlzLmJ1ZmZlci5sZW5ndGgtdGhp''@;'; put 'put ''cy5idWZmZXJPZmYsQy5sZW5ndGgtUyksRj0wO0Y8bTtGKyspdGhpcy5idWZmZXJbdGhpcy5idWZmZXJPZmYrRl09Q1tTK0ZdO3JldHVybiB0aGlzLmJ1ZmZlck9mZis9bSxtfSx6LnByb3RvdHlwZS5fZmx1c2hCdWZmZXI9ZnVuY3Rpb24oQyxTKXtyZXR1cm4gdGhpcy5fdXBkYXRlKHRoaXMu''@;'; put 'put ''YnVmZmVyLDAsQyxTKSx0aGlzLmJ1ZmZlck9mZj0wLHRoaXMuYmxvY2tTaXplfSx6LnByb3RvdHlwZS5fdXBkYXRlRW5jcnlwdD1mdW5jdGlvbihDKXt2YXIgUz0wLG09MCxEPW5ldyBBcnJheSgoKHRoaXMuYnVmZmVyT2ZmK0MubGVuZ3RoKS90aGlzLmJsb2NrU2l6ZXwwKSp0aGlzLmJsb2Nr''@;'; put 'put ''U2l6ZSk7MCE9PXRoaXMuYnVmZmVyT2ZmJiYoUys9dGhpcy5fYnVmZmVyKEMsUyksdGhpcy5idWZmZXJPZmY9PT10aGlzLmJ1ZmZlci5sZW5ndGgmJihtKz10aGlzLl9mbHVzaEJ1ZmZlcihELG0pKSk7Zm9yKHZhciB3PUMubGVuZ3RoLShDLmxlbmd0aC1TKSV0aGlzLmJsb2NrU2l6ZTtTPHc7''@;'; put 'put ''Uys9dGhpcy5ibG9ja1NpemUpdGhpcy5fdXBkYXRlKEMsUyxELG0pLG0rPXRoaXMuYmxvY2tTaXplO2Zvcig7UzxDLmxlbmd0aDtTKyssdGhpcy5idWZmZXJPZmYrKyl0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlck9mZl09Q1tTXTtyZXR1cm4gRH0sei5wcm90b3R5cGUuX3VwZGF0ZURlY3J5cHQ9''@;'; put 'put ''ZnVuY3Rpb24oQyl7Zm9yKHZhciBTPTAsbT0wLEY9TWF0aC5jZWlsKCh0aGlzLmJ1ZmZlck9mZitDLmxlbmd0aCkvdGhpcy5ibG9ja1NpemUpLTEsRD1uZXcgQXJyYXkoRip0aGlzLmJsb2NrU2l6ZSk7Rj4wO0YtLSlTKz10aGlzLl9idWZmZXIoQyxTKSxtKz10aGlzLl9mbHVzaEJ1ZmZlcihE''@;'; put 'put ''LG0pO3JldHVybiBTKz10aGlzLl9idWZmZXIoQyxTKSxEfSx6LnByb3RvdHlwZS5maW5hbD1mdW5jdGlvbihDKXt2YXIgUyxtO3JldHVybiBDJiYoUz10aGlzLnVwZGF0ZShDKSksbT0iZW5jcnlwdCI9PT10aGlzLnR5cGU/dGhpcy5fZmluYWxFbmNyeXB0KCk6dGhpcy5fZmluYWxEZWNyeXB0''@;'; put 'put ''KCksUz9TLmNvbmNhdChtKTptfSx6LnByb3RvdHlwZS5fcGFkPWZ1bmN0aW9uKEMsUyl7aWYoMD09PVMpcmV0dXJuITE7Zm9yKDtTPEMubGVuZ3RoOylDW1MrK109MDtyZXR1cm4hMH0sei5wcm90b3R5cGUuX2ZpbmFsRW5jcnlwdD1mdW5jdGlvbigpe2lmKCF0aGlzLl9wYWQodGhpcy5idWZm''@;'; put 'put ''ZXIsdGhpcy5idWZmZXJPZmYpKXJldHVybltdO3ZhciBDPW5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSk7cmV0dXJuIHRoaXMuX3VwZGF0ZSh0aGlzLmJ1ZmZlciwwLEMsMCksQ30sei5wcm90b3R5cGUuX3VucGFkPWZ1bmN0aW9uKEMpe3JldHVybiBDfSx6LnByb3RvdHlwZS5fZmluYWxEZWNy''@;'; put 'put ''eXB0PWZ1bmN0aW9uKCl7Ti5lcXVhbCh0aGlzLmJ1ZmZlck9mZix0aGlzLmJsb2NrU2l6ZSwiTm90IGVub3VnaCBkYXRhIHRvIGRlY3J5cHQiKTt2YXIgQz1uZXcgQXJyYXkodGhpcy5ibG9ja1NpemUpO3JldHVybiB0aGlzLl9mbHVzaEJ1ZmZlcihDLDApLHRoaXMuX3VucGFkKEMpfX0sMzI3''@;'; put 'put ''OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig5NzQ2KSx6PWooNTcxNyksQz1qKDEyNzgpLFM9aig1NzU2KTtmdW5jdGlvbiBtKCl7dGhpcy50bXA9bmV3IEFycmF5KDIpLHRoaXMua2V5cz1udWxsfWZ1bmN0aW9uIEYodyl7Uy5jYWxsKHRoaXMsdyk7dmFyIFA9bmV3IG07dGhpcy5f''@;'; put 'put ''ZGVzU3RhdGU9UCx0aGlzLmRlcml2ZUtleXMoUCx3LmtleSl9eihGLFMpLFouZXhwb3J0cz1GLEYuY3JlYXRlPWZ1bmN0aW9uKHcpe3JldHVybiBuZXcgRih3KX07dmFyIEQ9WzEsMSwyLDIsMiwyLDIsMiwxLDIsMiwyLDIsMiwyLDFdO0YucHJvdG90eXBlLmRlcml2ZUtleXM9ZnVuY3Rpb24o''@;'; put 'put ''dyxQKXt3LmtleXM9bmV3IEFycmF5KDMyKSxOLmVxdWFsKFAubGVuZ3RoLHRoaXMuYmxvY2tTaXplLCJJbnZhbGlkIGtleSBsZW5ndGgiKTt2YXIgTT1DLnJlYWRVSW50MzJCRShQLDApLGs9Qy5yZWFkVUludDMyQkUoUCw0KTtDLnBjMShNLGssdy50bXAsMCksTT13LnRtcFswXSxrPXcudG1w''@;'; put 'put ''WzFdO2Zvcih2YXIgTz0wO088dy5rZXlzLmxlbmd0aDtPKz0yKXt2YXIgTD1EW08+Pj4xXTtNPUMucjI4c2hsKE0sTCksaz1DLnIyOHNobChrLEwpLEMucGMyKE0sayx3LmtleXMsTyl9fSxGLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHcsUCxNLGspe3ZhciBPPXRoaXMuX2Rlc1N0YXRl''@;'; put 'put ''LEw9Qy5yZWFkVUludDMyQkUodyxQKSxUPUMucmVhZFVJbnQzMkJFKHcsUCs0KTtDLmlwKEwsVCxPLnRtcCwwKSxMPU8udG1wWzBdLFQ9Ty50bXBbMV0sImVuY3J5cHQiPT09dGhpcy50eXBlP3RoaXMuX2VuY3J5cHQoTyxMLFQsTy50bXAsMCk6dGhpcy5fZGVjcnlwdChPLEwsVCxPLnRtcCww''@;'; put 'put ''KSxUPU8udG1wWzFdLEMud3JpdGVVSW50MzJCRShNLEw9Ty50bXBbMF0sayksQy53cml0ZVVJbnQzMkJFKE0sVCxrKzQpfSxGLnByb3RvdHlwZS5fcGFkPWZ1bmN0aW9uKHcsUCl7Zm9yKHZhciBNPXcubGVuZ3RoLVAsaz1QO2s8dy5sZW5ndGg7aysrKXdba109TTtyZXR1cm4hMH0sRi5wcm90''@;'; put 'put ''b3R5cGUuX3VucGFkPWZ1bmN0aW9uKHcpe2Zvcih2YXIgUD13W3cubGVuZ3RoLTFdLE09dy5sZW5ndGgtUDtNPHcubGVuZ3RoO00rKylOLmVxdWFsKHdbTV0sUCk7cmV0dXJuIHcuc2xpY2UoMCx3Lmxlbmd0aC1QKX0sRi5wcm90b3R5cGUuX2VuY3J5cHQ9ZnVuY3Rpb24odyxQLE0sayxPKXtm''@;'; put 'put ''b3IodmFyIEw9UCxUPU0sWT0wO1k8dy5rZXlzLmxlbmd0aDtZKz0yKXt2YXIgST13LmtleXNbWV0sVT13LmtleXNbWSsxXTtDLmV4cGFuZChULHcudG1wLDApO3ZhciBWPUMuc3Vic3RpdHV0ZShJXj13LnRtcFswXSxVXj13LnRtcFsxXSksUj1UO1Q9KExeQy5wZXJtdXRlKFYpKT4+PjAsTD1S''@;'; put 'put ''fUMucmlwKFQsTCxrLE8pfSxGLnByb3RvdHlwZS5fZGVjcnlwdD1mdW5jdGlvbih3LFAsTSxrLE8pe2Zvcih2YXIgTD1NLFQ9UCxZPXcua2V5cy5sZW5ndGgtMjtZPj0wO1ktPTIpe3ZhciBJPXcua2V5c1tZXSxVPXcua2V5c1tZKzFdO0MuZXhwYW5kKEwsdy50bXAsMCk7dmFyIFY9Qy5zdWJz''@;'; put 'put ''dGl0dXRlKElePXcudG1wWzBdLFVePXcudG1wWzFdKSxSPUw7TD0oVF5DLnBlcm11dGUoVikpPj4+MCxUPVJ9Qy5yaXAoTCxULGssTyl9fSw2NTE6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDk3NDYpLHo9aig1NzE3KSxDPWooNTc1NiksUz1qKDMyNyk7ZnVuY3Rpb24gbShELHcp''@;'; put 'put ''e04uZXF1YWwody5sZW5ndGgsMjQsIkludmFsaWQga2V5IGxlbmd0aCIpO3ZhciBQPXcuc2xpY2UoMCw4KSxNPXcuc2xpY2UoOCwxNiksaz13LnNsaWNlKDE2LDI0KTt0aGlzLmNpcGhlcnM9ImVuY3J5cHQiPT09RD9bUy5jcmVhdGUoe3R5cGU6ImVuY3J5cHQiLGtleTpQfSksUy5jcmVhdGUo''@;'; put 'put ''e3R5cGU6ImRlY3J5cHQiLGtleTpNfSksUy5jcmVhdGUoe3R5cGU6ImVuY3J5cHQiLGtleTprfSldOltTLmNyZWF0ZSh7dHlwZToiZGVjcnlwdCIsa2V5Omt9KSxTLmNyZWF0ZSh7dHlwZToiZW5jcnlwdCIsa2V5Ok19KSxTLmNyZWF0ZSh7dHlwZToiZGVjcnlwdCIsa2V5OlB9KV19ZnVuY3Rp''@;'; put 'put ''b24gRihEKXtDLmNhbGwodGhpcyxEKTt2YXIgdz1uZXcgbSh0aGlzLnR5cGUsdGhpcy5vcHRpb25zLmtleSk7dGhpcy5fZWRlU3RhdGU9d316KEYsQyksWi5leHBvcnRzPUYsRi5jcmVhdGU9ZnVuY3Rpb24oRCl7cmV0dXJuIG5ldyBGKEQpfSxGLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9u''@;'; put 'put ''KEQsdyxQLE0pe3ZhciBrPXRoaXMuX2VkZVN0YXRlO2suY2lwaGVyc1swXS5fdXBkYXRlKEQsdyxQLE0pLGsuY2lwaGVyc1sxXS5fdXBkYXRlKFAsTSxQLE0pLGsuY2lwaGVyc1syXS5fdXBkYXRlKFAsTSxQLE0pfSxGLnByb3RvdHlwZS5fcGFkPVMucHJvdG90eXBlLl9wYWQsRi5wcm90b3R5''@;'; put 'put ''cGUuX3VucGFkPVMucHJvdG90eXBlLl91bnBhZH0sMTI3ODooWixBKT0+eyJ1c2Ugc3RyaWN0IjtBLnJlYWRVSW50MzJCRT1mdW5jdGlvbihDLFMpe3JldHVybihDWzArU108PDI0fENbMStTXTw8MTZ8Q1syK1NdPDw4fENbMytTXSk+Pj4wfSxBLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oQyxT''@;'; put 'put ''LG0pe0NbMCttXT1TPj4+MjQsQ1sxK21dPVM+Pj4xNiYyNTUsQ1syK21dPVM+Pj44JjI1NSxDWzMrbV09MjU1JlN9LEEuaXA9ZnVuY3Rpb24oQyxTLG0sRil7Zm9yKHZhciBEPTAsdz0wLFA9NjtQPj0wO1AtPTIpe2Zvcih2YXIgTT0wO008PTI0O00rPTgpRDw8PTEsRHw9Uz4+Pk0rUCYxO2Zv''@;'; put 'put ''cihNPTA7TTw9MjQ7TSs9OClEPDw9MSxEfD1DPj4+TStQJjF9Zm9yKFA9NjtQPj0wO1AtPTIpe2ZvcihNPTE7TTw9MjU7TSs9OCl3PDw9MSx3fD1TPj4+TStQJjE7Zm9yKE09MTtNPD0yNTtNKz04KXc8PD0xLHd8PUM+Pj5NK1AmMX1tW0YrMF09RD4+PjAsbVtGKzFdPXc+Pj4wfSxBLnJpcD1m''@;'; put 'put ''dW5jdGlvbihDLFMsbSxGKXtmb3IodmFyIEQ9MCx3PTAsUD0wO1A8NDtQKyspZm9yKHZhciBNPTI0O00+PTA7TS09OClEPDw9MSxEfD1TPj4+TStQJjEsRDw8PTEsRHw9Qz4+Pk0rUCYxO2ZvcihQPTQ7UDw4O1ArKylmb3IoTT0yNDtNPj0wO00tPTgpdzw8PTEsd3w9Uz4+Pk0rUCYxLHc8PD0x''@;'; put 'put ''LHd8PUM+Pj5NK1AmMTttW0YrMF09RD4+PjAsbVtGKzFdPXc+Pj4wfSxBLnBjMT1mdW5jdGlvbihDLFMsbSxGKXtmb3IodmFyIEQ9MCx3PTAsUD03O1A+PTU7UC0tKXtmb3IodmFyIE09MDtNPD0yNDtNKz04KUQ8PD0xLER8PVM+Pk0rUCYxO2ZvcihNPTA7TTw9MjQ7TSs9OClEPDw9MSxEfD1D''@;'; put 'put ''Pj5NK1AmMX1mb3IoTT0wO008PTI0O00rPTgpRDw8PTEsRHw9Uz4+TStQJjE7Zm9yKFA9MTtQPD0zO1ArKyl7Zm9yKE09MDtNPD0yNDtNKz04KXc8PD0xLHd8PVM+Pk0rUCYxO2ZvcihNPTA7TTw9MjQ7TSs9OCl3PDw9MSx3fD1DPj5NK1AmMX1mb3IoTT0wO008PTI0O00rPTgpdzw8PTEsd3w9''@;'; put 'put ''Qz4+TStQJjE7bVtGKzBdPUQ+Pj4wLG1bRisxXT13Pj4+MH0sQS5yMjhzaGw9ZnVuY3Rpb24oQyxTKXtyZXR1cm4gQzw8UyYyNjg0MzU0NTV8Qz4+PjI4LVN9O3ZhciBqPVsxNCwxMSwxNyw0LDI3LDIzLDI1LDAsMTMsMjIsNywxOCw1LDksMTYsMjQsMiwyMCwxMiwyMSwxLDgsMTUsMjYsMTUs''@;'; put 'put ''NCwyNSwxOSw5LDEsMjYsMTYsNSwxMSwyMyw4LDEyLDcsMTcsMCwyMiwzLDEwLDE0LDYsMjAsMjcsMjRdO0EucGMyPWZ1bmN0aW9uKEMsUyxtLEYpe2Zvcih2YXIgRD0wLHc9MCxQPWoubGVuZ3RoPj4+MSxNPTA7TTxQO00rKylEPDw9MSxEfD1DPj4+altNXSYxO2ZvcihNPVA7TTxqLmxlbmd0''@;'; put 'put ''aDtNKyspdzw8PTEsd3w9Uz4+PmpbTV0mMTttW0YrMF09RD4+PjAsbVtGKzFdPXc+Pj4wfSxBLmV4cGFuZD1mdW5jdGlvbihDLFMsbSl7dmFyIEY9MCxEPTA7Rj0oMSZDKTw8NXxDPj4+Mjc7Zm9yKHZhciB3PTIzO3c+PTE1O3ctPTQpRjw8PTYsRnw9Qz4+PncmNjM7Zm9yKHc9MTE7dz49Mzt3''@;'; put 'put ''LT00KUR8PUM+Pj53JjYzLEQ8PD02O0R8PSgzMSZDKTw8MXxDPj4+MzEsU1ttKzBdPUY+Pj4wLFNbbSsxXT1EPj4+MH07dmFyIE49WzE0LDAsNCwxNSwxMyw3LDEsNCwyLDE0LDE1LDIsMTEsMTMsOCwxLDMsMTAsMTAsNiw2LDEyLDEyLDExLDUsOSw5LDUsMCwzLDcsOCw0LDE1LDEsMTIsMTQs''@;'; put 'put ''OCw4LDIsMTMsNCw2LDksMiwxLDExLDcsMTUsNSwxMiwxMSw5LDMsNywxNCwzLDEwLDEwLDAsNSw2LDAsMTMsMTUsMywxLDEzLDgsNCwxNCw3LDYsMTUsMTEsMiwzLDgsNCwxNCw5LDEyLDcsMCwyLDEsMTMsMTAsMTIsNiwwLDksNSwxMSwxMCw1LDAsMTMsMTQsOCw3LDEwLDExLDEsMTAsMyw0''@;'; put 'put ''LDE1LDEzLDQsMSwyLDUsMTEsOCw2LDEyLDcsNiwxMiw5LDAsMyw1LDIsMTQsMTUsOSwxMCwxMywwLDcsOSwwLDE0LDksNiwzLDMsNCwxNSw2LDUsMTAsMSwyLDEzLDgsMTIsNSw3LDE0LDExLDEyLDQsMTEsMiwxNSw4LDEsMTMsMSw2LDEwLDQsMTMsOSwwLDgsNiwxNSw5LDMsOCwwLDcsMTEs''@;'; put 'put ''NCwxLDE1LDIsMTQsMTIsMyw1LDExLDEwLDUsMTQsMiw3LDEyLDcsMTMsMTMsOCwxNCwxMSwzLDUsMCw2LDYsMTUsOSwwLDEwLDMsMSw0LDIsNyw4LDIsNSwxMiwxMSwxLDEyLDEwLDQsMTQsMTUsOSwxMCwzLDYsMTUsOSwwLDAsNiwxMiwxMCwxMSwxLDcsMTMsMTMsOCwxNSw5LDEsNCwzLDUs''@;'; put 'put ''MTQsMTEsNSwxMiwyLDcsOCwyLDQsMTQsMiwxNCwxMiwxMSw0LDIsMSwxMiw3LDQsMTAsNywxMSwxMyw2LDEsOCw1LDUsMCwzLDE1LDE1LDEwLDEzLDMsMCw5LDE0LDgsOSw2LDQsMTEsMiw4LDEsMTIsMTEsNywxMCwxLDEzLDE0LDcsMiw4LDEzLDE1LDYsOSwxNSwxMiwwLDUsOSw2LDEwLDMs''@;'; put 'put ''NCwwLDUsMTQsMywxMiwxMCwxLDE1LDEwLDQsMTUsMiw5LDcsMiwxMiw2LDksOCw1LDAsNiwxMywxLDMsMTMsNCwxNCwxNCwwLDcsMTEsNSwzLDExLDgsOSw0LDE0LDMsMTUsMiw1LDEyLDIsOSw4LDUsMTIsMTUsMywxMCw3LDExLDAsMTQsNCwxLDEwLDcsMSw2LDEzLDAsMTEsOCw2LDEzLDQs''@;'; put 'put ''MTMsMTEsMCwyLDExLDE0LDcsMTUsNCwwLDksOCwxLDEzLDEwLDMsMTQsMTIsMyw5LDUsNywxMiw1LDIsMTAsMTUsNiw4LDEsNiwxLDYsNCwxMSwxMSwxMywxMyw4LDEyLDEsMyw0LDcsMTAsMTQsNywxMCw5LDE1LDUsNiwwLDgsMTUsMCwxNCw1LDIsOSwzLDIsMTIsMTMsMSwyLDE1LDgsMTMs''@;'; put 'put ''NCw4LDYsMTAsMTUsMywxMSw3LDEsNCwxMCwxMiw5LDUsMyw2LDE0LDExLDUsMCwwLDE0LDEyLDksNywyLDcsMiwxMSwxLDQsMTQsMSw3LDksNCwxMiwxMCwxNCw4LDIsMTMsMCwxNSw2LDEyLDEwLDksMTMsMCwxNSwzLDMsNSw1LDYsOCwxMV07QS5zdWJzdGl0dXRlPWZ1bmN0aW9uKEMsUyl7''@;'; put 'put ''Zm9yKHZhciBtPTAsRj0wO0Y8NDtGKyspbTw8PTQsbXw9Tls2NCpGKyhDPj4+MTgtNipGJjYzKV07Zm9yKEY9MDtGPDQ7RisrKW08PD00LG18PU5bMjU2KzY0KkYrKFM+Pj4xOC02KkYmNjMpXTtyZXR1cm4gbT4+PjB9O3ZhciB6PVsxNiwyNSwxMiwxMSwzLDIwLDQsMTUsMzEsMTcsOSw2LDI3''@;'; put 'put ''LDE0LDEsMjIsMzAsMjQsOCwxOCwwLDUsMjksMjMsMTMsMTksMiwyNiwxMCwyMSwyOCw3XTtBLnBlcm11dGU9ZnVuY3Rpb24oQyl7Zm9yKHZhciBTPTAsbT0wO208ei5sZW5ndGg7bSsrKVM8PD0xLFN8PUM+Pj56W21dJjE7cmV0dXJuIFM+Pj4wfSxBLnBhZFNwbGl0PWZ1bmN0aW9uKEMsUyxt''@;'; put 'put ''KXtmb3IodmFyIEY9Qy50b1N0cmluZygyKTtGLmxlbmd0aDxTOylGPSIwIitGO2Zvcih2YXIgRD1bXSx3PTA7dzxTO3crPW0pRC5wdXNoKEYuc2xpY2Uodyx3K20pKTtyZXR1cm4gRC5qb2luKCIgIil9fSwyNjA3OihaLEEsaik9Pnt2YXIgTj1qKDg3NjQpLkJ1ZmZlcix6PWooMzU5MCksQz1q''@;'; put 'put ''KDk3OTkpLFM9aig3NDI2KSxtPXtiaW5hcnk6ITAsaGV4OiEwLGJhc2U2NDohMH07QS5EaWZmaWVIZWxsbWFuR3JvdXA9QS5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXA9QS5nZXREaWZmaWVIZWxsbWFuPWZ1bmN0aW9uKEYpe3ZhciBEPW5ldyBOKENbRl0ucHJpbWUsImhleCIpLHc9bmV3IE4o''@;'; put 'put ''Q1tGXS5nZW4sImhleCIpO3JldHVybiBuZXcgUyhELHcpfSxBLmNyZWF0ZURpZmZpZUhlbGxtYW49QS5EaWZmaWVIZWxsbWFuPWZ1bmN0aW9uIEYoRCx3LFAsTSl7cmV0dXJuIE4uaXNCdWZmZXIodyl8fHZvaWQgMD09PW1bd10/RihELCJiaW5hcnkiLHcsUCk6KHc9d3x8ImJpbmFyeSIsTT1N''@;'; put 'put ''fHwiYmluYXJ5IixQPVB8fG5ldyBOKFsyXSksTi5pc0J1ZmZlcihQKXx8KFA9bmV3IE4oUCxNKSksIm51bWJlciI9PXR5cGVvZiBEP25ldyBTKHooRCxQKSxQLCEwKTooTi5pc0J1ZmZlcihEKXx8KEQ9bmV3IE4oRCx3KSksbmV3IFMoRCxQLCEwKSkpfX0sNzQyNjooWixBLGopPT57dmFyIE49''@;'; put 'put ''aig4NzY0KS5CdWZmZXIsej1qKDM2MjApLEM9bmV3KGooMzA0NykpLFM9bmV3IHooMjQpLG09bmV3IHooMTEpLEY9bmV3IHooMTApLEQ9bmV3IHooMyksdz1uZXcgeig3KSxQPWooMzU5MCksTT1qKDE3OTgpO2Z1bmN0aW9uIGsoSSxVKXtyZXR1cm4gVT1VfHwidXRmOCIsTi5pc0J1ZmZlcihJ''@;'; put 'put ''KXx8KEk9bmV3IE4oSSxVKSksdGhpcy5fcHViPW5ldyB6KEkpLHRoaXN9ZnVuY3Rpb24gTyhJLFUpe3JldHVybiBVPVV8fCJ1dGY4IixOLmlzQnVmZmVyKEkpfHwoST1uZXcgTihJLFUpKSx0aGlzLl9wcml2PW5ldyB6KEkpLHRoaXN9Wi5leHBvcnRzPVQ7dmFyIEw9e307ZnVuY3Rpb24gVChJ''@;'; put 'put ''LFUsVil7dGhpcy5zZXRHZW5lcmF0b3IoVSksdGhpcy5fX3ByaW1lPW5ldyB6KEkpLHRoaXMuX3ByaW1lPXoubW9udCh0aGlzLl9fcHJpbWUpLHRoaXMuX3ByaW1lTGVuPUkubGVuZ3RoLHRoaXMuX3B1Yj12b2lkIDAsdGhpcy5fcHJpdj12b2lkIDAsdGhpcy5fcHJpbWVDb2RlPXZvaWQgMCxW''@;'; put 'put ''Pyh0aGlzLnNldFB1YmxpY0tleT1rLHRoaXMuc2V0UHJpdmF0ZUtleT1PKTp0aGlzLl9wcmltZUNvZGU9OH1mdW5jdGlvbiBZKEksVSl7dmFyIFY9bmV3IE4oSS50b0FycmF5KCkpO3JldHVybiBVP1YudG9TdHJpbmcoVSk6Vn1PYmplY3QuZGVmaW5lUHJvcGVydHkoVC5wcm90b3R5cGUsInZl''@;'; put 'put ''cmlmeUVycm9yIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIHRoaXMuX3ByaW1lQ29kZSYmKHRoaXMuX3ByaW1lQ29kZT1mdW5jdGlvbihJLFUpe3ZhciBWPVUudG9TdHJpbmcoImhleCIpLFI9W1YsSS50b1N0cmluZygxNildLmpvaW4oIl8i''@;'; put 'put ''KTtpZihSIGluIEwpcmV0dXJuIExbUl07dmFyIEIscT0wO2lmKEkuaXNFdmVuKCl8fCFQLnNpbXBsZVNpZXZlfHwhUC5mZXJtYXRUZXN0KEkpfHwhQy50ZXN0KEkpKXJldHVybiBxKz0xLExbUl09cSs9IjAyIj09PVZ8fCIwNSI9PT1WPzg6NCxxO3N3aXRjaChDLnRlc3QoSS5zaHJuKDEpKXx8''@;'; put 'put ''KHErPTIpLFYpe2Nhc2UiMDIiOkkubW9kKFMpLmNtcChtKSYmKHErPTgpO2JyZWFrO2Nhc2UiMDUiOihCPUkubW9kKEYpKS5jbXAoRCkmJkIuY21wKHcpJiYocSs9OCk7YnJlYWs7ZGVmYXVsdDpxKz00fXJldHVybiBMW1JdPXEscX0odGhpcy5fX3ByaW1lLHRoaXMuX19nZW4pKSx0aGlzLl9w''@;'; put 'put ''cmltZUNvZGV9fSksVC5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ByaXZ8fCh0aGlzLl9wcml2PW5ldyB6KE0odGhpcy5fcHJpbWVMZW4pKSksdGhpcy5fcHViPXRoaXMuX2dlbi50b1JlZCh0aGlzLl9wcmltZSkucmVkUG93KHRoaXMuX3ByaXYpLmZy''@;'; put 'put ''b21SZWQoKSx0aGlzLmdldFB1YmxpY0tleSgpfSxULnByb3RvdHlwZS5jb21wdXRlU2VjcmV0PWZ1bmN0aW9uKEkpe3ZhciBVPShJPShJPW5ldyB6KEkpKS50b1JlZCh0aGlzLl9wcmltZSkpLnJlZFBvdyh0aGlzLl9wcml2KS5mcm9tUmVkKCksVj1uZXcgTihVLnRvQXJyYXkoKSksUj10aGlz''@;'; put 'put ''LmdldFByaW1lKCk7aWYoVi5sZW5ndGg8Ui5sZW5ndGgpe3ZhciBCPW5ldyBOKFIubGVuZ3RoLVYubGVuZ3RoKTtCLmZpbGwoMCksVj1OLmNvbmNhdChbQixWXSl9cmV0dXJuIFZ9LFQucHJvdG90eXBlLmdldFB1YmxpY0tleT1mdW5jdGlvbihJKXtyZXR1cm4gWSh0aGlzLl9wdWIsSSl9LFQu''@;'; put 'put ''cHJvdG90eXBlLmdldFByaXZhdGVLZXk9ZnVuY3Rpb24oSSl7cmV0dXJuIFkodGhpcy5fcHJpdixJKX0sVC5wcm90b3R5cGUuZ2V0UHJpbWU9ZnVuY3Rpb24oSSl7cmV0dXJuIFkodGhpcy5fX3ByaW1lLEkpfSxULnByb3RvdHlwZS5nZXRHZW5lcmF0b3I9ZnVuY3Rpb24oSSl7cmV0dXJuIFko''@;'; put 'put ''dGhpcy5fZ2VuLEkpfSxULnByb3RvdHlwZS5zZXRHZW5lcmF0b3I9ZnVuY3Rpb24oSSxVKXtyZXR1cm4gVT1VfHwidXRmOCIsTi5pc0J1ZmZlcihJKXx8KEk9bmV3IE4oSSxVKSksdGhpcy5fX2dlbj1JLHRoaXMuX2dlbj1uZXcgeihJKSx0aGlzfX0sMzU5MDooWixBLGopPT57dmFyIE49aigx''@;'; put 'put ''Nzk4KTtaLmV4cG9ydHM9SSxJLnNpbXBsZVNpZXZlPVQsSS5mZXJtYXRUZXN0PVk7dmFyIHo9aigzNjIwKSxDPW5ldyB6KDI0KSxTPW5ldyhqKDMwNDcpKSxtPW5ldyB6KDEpLEY9bmV3IHooMiksRD1uZXcgeig1KSx3PShuZXcgeigxNiksbmV3IHooOCksbmV3IHooMTApKSxQPW5ldyB6KDMp''@;'; put 'put ''LE09KG5ldyB6KDcpLG5ldyB6KDExKSksaz1uZXcgeig0KSxPPShuZXcgeigxMiksbnVsbCk7ZnVuY3Rpb24gVChVKXtmb3IodmFyIFY9ZnVuY3Rpb24gTCgpe2lmKG51bGwhPT1PKXJldHVybiBPO3ZhciBVPVtdO1VbMF09Mjtmb3IodmFyIFY9MSxSPTM7UjwxMDQ4NTc2O1IrPTIpe2Zvcih2''@;'; put 'put ''YXIgQj1NYXRoLmNlaWwoTWF0aC5zcXJ0KFIpKSxxPTA7cTxWJiZVW3FdPD1CJiZSJVVbcV0hPTA7cSsrKTtWIT09cSYmVVtxXTw9Qnx8KFVbVisrXT1SKX1yZXR1cm4gTz1VLFV9KCksUj0wO1I8Vi5sZW5ndGg7UisrKWlmKDA9PT1VLm1vZG4oVltSXSkpcmV0dXJuIDA9PT1VLmNtcG4oVltS''@;'; put 'put ''XSk7cmV0dXJuITB9ZnVuY3Rpb24gWShVKXt2YXIgVj16Lm1vbnQoVSk7cmV0dXJuIDA9PT1GLnRvUmVkKFYpLnJlZFBvdyhVLnN1Ym4oMSkpLmZyb21SZWQoKS5jbXBuKDEpfWZ1bmN0aW9uIEkoVSxWKXtpZihVPDE2KXJldHVybiBuZXcgeigyPT09Vnx8NT09PVY/WzE0MCwxMjNdOlsxNDAs''@;'; put 'put ''MzldKTt2YXIgUixCO2ZvcihWPW5ldyB6KFYpOzspe2ZvcihSPW5ldyB6KE4oTWF0aC5jZWlsKFUvOCkpKTtSLmJpdExlbmd0aCgpPlU7KVIuaXNocm4oMSk7aWYoUi5pc0V2ZW4oKSYmUi5pYWRkKG0pLFIudGVzdG4oMSl8fFIuaWFkZChGKSxWLmNtcChGKSl7aWYoIVYuY21wKEQpKWZvcig7''@;'; put 'put ''Ui5tb2QodykuY21wKFApOylSLmlhZGQoayl9ZWxzZSBmb3IoO1IubW9kKEMpLmNtcChNKTspUi5pYWRkKGspO2lmKFQoQj1SLnNocm4oMSkpJiZUKFIpJiZZKEIpJiZZKFIpJiZTLnRlc3QoQikmJlMudGVzdChSKSlyZXR1cm4gUn19fSwzNjIwOmZ1bmN0aW9uKFosQSxqKXshZnVuY3Rpb24o''@;'; put 'put ''Tix6KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gQyhoLGIpe2lmKCFoKXRocm93IG5ldyBFcnJvcihifHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIFMoaCxiKXtoLnN1cGVyXz1iO3ZhciB5PWZ1bmN0aW9uKCl7fTt5LnByb3RvdHlwZT1iLnByb3RvdHlwZSxoLnByb3RvdHlwZT1uZXcg''@;'; put 'put ''eSxoLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1ofWZ1bmN0aW9uIG0oaCxiLHkpe2lmKG0uaXNCTihoKSlyZXR1cm4gaDt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09aCYmKCJsZSIhPT1iJiYiYmUiIT09Ynx8KHk9Yixi''@;'; put 'put ''PTEwKSx0aGlzLl9pbml0KGh8fDAsYnx8MTAseXx8ImJlIikpfXZhciBGOyJvYmplY3QiPT10eXBlb2YgTj9OLmV4cG9ydHM9bTp6LkJOPW0sbS5CTj1tLG0ud29yZFNpemU9MjY7dHJ5e0Y9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5CdWZmZXI/d2luZG93''@;'; put 'put ''LkJ1ZmZlcjpqKDc3NDgpLkJ1ZmZlcn1jYXRjaChoKXt9ZnVuY3Rpb24gRChoLGIpe3ZhciB5PWguY2hhckNvZGVBdChiKTtyZXR1cm4geT49NjUmJnk8PTcwP3ktNTU6eT49OTcmJnk8PTEwMj95LTg3OnktNDgmMTV9ZnVuY3Rpb24gdyhoLGIseSl7dmFyIHA9RChoLHkpO3JldHVybiB5LTE+''@;'; put 'put ''PWImJihwfD1EKGgseS0xKTw8NCkscH1mdW5jdGlvbiBQKGgsYix5LHApe2Zvcih2YXIgZz0wLF89TWF0aC5taW4oaC5sZW5ndGgseSksRT1iO0U8XztFKyspe3ZhciBXPWguY2hhckNvZGVBdChFKS00ODtnKj1wLGcrPVc+PTQ5P1ctNDkrMTA6Vz49MTc/Vy0xNysxMDpXfXJldHVybiBnfW0u''@;'; put 'put ''aXNCTj1mdW5jdGlvbihoKXtyZXR1cm4gaCBpbnN0YW5jZW9mIG18fG51bGwhPT1oJiYib2JqZWN0Ij09dHlwZW9mIGgmJmguY29uc3RydWN0b3Iud29yZFNpemU9PT1tLndvcmRTaXplJiZBcnJheS5pc0FycmF5KGgud29yZHMpfSxtLm1heD1mdW5jdGlvbihoLGIpe3JldHVybiBoLmNtcChi''@;'; put 'put ''KT4wP2g6Yn0sbS5taW49ZnVuY3Rpb24oaCxiKXtyZXR1cm4gaC5jbXAoYik8MD9oOmJ9LG0ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGgsYix5KXtpZigibnVtYmVyIj09dHlwZW9mIGgpcmV0dXJuIHRoaXMuX2luaXROdW1iZXIoaCxiLHkpO2lmKCJvYmplY3QiPT10eXBlb2YgaClyZXR1''@;'; put 'put ''cm4gdGhpcy5faW5pdEFycmF5KGgsYix5KTsiaGV4Ij09PWImJihiPTE2KSxDKGI9PT0oMHxiKSYmYj49MiYmYjw9MzYpO3ZhciBwPTA7Ii0iPT09KGg9aC50b1N0cmluZygpLnJlcGxhY2UoL1xzKy9nLCIiKSlbMF0mJihwKyssdGhpcy5uZWdhdGl2ZT0xKSxwPGgubGVuZ3RoJiYoMTY9PT1i''@;'; put 'put ''P3RoaXMuX3BhcnNlSGV4KGgscCx5KToodGhpcy5fcGFyc2VCYXNlKGgsYixwKSwibGUiPT09eSYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGIseSkpKX0sbS5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24oaCxiLHkpe2g8MCYmKHRoaXMubmVnYXRpdmU9MSxoPS1oKSxo''@;'; put 'put ''PDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZoXSx0aGlzLmxlbmd0aD0xKTpoPDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJmgsaC82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KEMoaDw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2''@;'; put 'put ''NzEwODg2MyZoLGgvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXkmJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxiLHkpfSxtLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKGgsYix5KXtpZihDKCJudW1iZXIiPT10eXBlb2YgaC5sZW5ndGgp''@;'; put 'put ''LGgubGVuZ3RoPD0wKXJldHVybiB0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xLHRoaXM7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKGgubGVuZ3RoLzMpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHA9MDtwPHRoaXMubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3Bd''@;'; put 'put ''PTA7dmFyIGcsXyxFPTA7aWYoImJlIj09PXkpZm9yKHA9aC5sZW5ndGgtMSxnPTA7cD49MDtwLT0zKXRoaXMud29yZHNbZ118PShfPWhbcF18aFtwLTFdPDw4fGhbcC0yXTw8MTYpPDxFJjY3MTA4ODYzLHRoaXMud29yZHNbZysxXT1fPj4+MjYtRSY2NzEwODg2MywoRSs9MjQpPj0yNiYmKEUt''@;'; put 'put ''PTI2LGcrKyk7ZWxzZSBpZigibGUiPT09eSlmb3IocD0wLGc9MDtwPGgubGVuZ3RoO3ArPTMpdGhpcy53b3Jkc1tnXXw9KF89aFtwXXxoW3ArMV08PDh8aFtwKzJdPDwxNik8PEUmNjcxMDg4NjMsdGhpcy53b3Jkc1tnKzFdPV8+Pj4yNi1FJjY3MTA4ODYzLChFKz0yNCk+PTI2JiYoRS09MjYs''@;'; put 'put ''ZysrKTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5fcGFyc2VIZXg9ZnVuY3Rpb24oaCxiLHkpe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgoaC5sZW5ndGgtYikvNiksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgcD0wO3A8dGhpcy5sZW5ndGg7cCsr''@;'; put 'put ''KXRoaXMud29yZHNbcF09MDt2YXIgZyxfPTAsRT0wO2lmKCJiZSI9PT15KWZvcihwPWgubGVuZ3RoLTE7cD49YjtwLT0yKWc9dyhoLGIscCk8PF8sdGhpcy53b3Jkc1tFXXw9NjcxMDg4NjMmZyxfPj0xOD8oXy09MTgsdGhpcy53b3Jkc1tFKz0xXXw9Zz4+PjI2KTpfKz04O2Vsc2UgZm9yKHA9''@;'; put 'put ''KGgubGVuZ3RoLWIpJTI9PTA/YisxOmI7cDxoLmxlbmd0aDtwKz0yKWc9dyhoLGIscCk8PF8sdGhpcy53b3Jkc1tFXXw9NjcxMDg4NjMmZyxfPj0xOD8oXy09MTgsdGhpcy53b3Jkc1tFKz0xXXw9Zz4+PjI2KTpfKz04O3RoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5j''@;'; put 'put ''dGlvbihoLGIseSl7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIHA9MCxnPTE7Zzw9NjcxMDg4NjM7Zyo9YilwKys7cC0tLGc9Zy9ifDA7Zm9yKHZhciBfPWgubGVuZ3RoLXksRT1fJXAsVz1NYXRoLm1pbihfLF8tRSkreSxHPTAsWD15O1g8VztYKz1wKUc9UChoLFgsWCtw''@;'; put 'put ''LGIpLHRoaXMuaW11bG4oZyksdGhpcy53b3Jkc1swXStHPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPUc6dGhpcy5faWFkZG4oRyk7aWYoMCE9PUUpe3ZhciBuZT0xO2ZvcihHPVAoaCxYLGgubGVuZ3RoLGIpLFg9MDtYPEU7WCsrKW5lKj1iO3RoaXMuaW11bG4obmUpLHRoaXMud29yZHNbMF0r''@;'; put 'put ''Rzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1HOnRoaXMuX2lhZGRuKEcpfXRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihoKXtoLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBiPTA7Yjx0aGlzLmxlbmd0aDtiKyspaC53b3Jkc1tiXT10aGlzLndv''@;'; put 'put ''cmRzW2JdO2gubGVuZ3RoPXRoaXMubGVuZ3RoLGgubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSxoLnJlZD10aGlzLnJlZH0sbS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgaD1uZXcgbShudWxsKTtyZXR1cm4gdGhpcy5jb3B5KGgpLGh9LG0ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rp''@;'; put 'put ''b24oaCl7Zm9yKDt0aGlzLmxlbmd0aDxoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG0ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1''@;'; put 'put ''cm4gdGhpcy5fbm9ybVNpZ24oKX0sbS5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG0ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5y''@;'; put 'put ''ZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIE09WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAw''@;'; put 'put ''MDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAw''@;'; put 'put ''MDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0saz1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2''@;'; put 'put ''LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxPPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEz''@;'; put 'put ''OTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQs''@;'; put 'put ''NTI1MjE4NzUsNjA0NjYxNzZdO2Z1bmN0aW9uIEwoaCxiLHkpe3kubmVnYXRpdmU9Yi5uZWdhdGl2ZV5oLm5lZ2F0aXZlO3ZhciBwPWgubGVuZ3RoK2IubGVuZ3RofDA7eS5sZW5ndGg9cCxwPXAtMXwwO3ZhciBnPTB8aC53b3Jkc1swXSxfPTB8Yi53b3Jkc1swXSxFPWcqXyxHPUUvNjcxMDg4''@;'; put 'put ''NjR8MDt5LndvcmRzWzBdPTY3MTA4ODYzJkU7Zm9yKHZhciBYPTE7WDxwO1grKyl7Zm9yKHZhciBuZT1HPj4+MjYsYWU9NjcxMDg4NjMmRyx1ZT1NYXRoLm1pbihYLGIubGVuZ3RoLTEpLGJlPU1hdGgubWF4KDAsWC1oLmxlbmd0aCsxKTtiZTw9dWU7YmUrKyluZSs9KEU9KGc9MHxoLndvcmRz''@;'; put 'put ''W1gtYmV8MF0pKihfPTB8Yi53b3Jkc1tiZV0pK2FlKS82NzEwODg2NHwwLGFlPTY3MTA4ODYzJkU7eS53b3Jkc1tYXT0wfGFlLEc9MHxuZX1yZXR1cm4gMCE9PUc/eS53b3Jkc1tYXT0wfEc6eS5sZW5ndGgtLSx5LnN0cmlwKCl9bS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oaCxiKXt2''@;'; put 'put ''YXIgeTtpZihiPTB8Ynx8MSwxNj09PShoPWh8fDEwKXx8ImhleCI9PT1oKXt5PSIiO2Zvcih2YXIgcD0wLGc9MCxfPTA7Xzx0aGlzLmxlbmd0aDtfKyspe3ZhciBFPXRoaXMud29yZHNbX10sVz0oMTY3NzcyMTUmKEU8PHB8ZykpLnRvU3RyaW5nKDE2KTt5PTAhPShnPUU+Pj4yNC1wJjE2Nzc3''@;'; put 'put ''MjE1KXx8XyE9PXRoaXMubGVuZ3RoLTE/TVs2LVcubGVuZ3RoXStXK3k6Vyt5LChwKz0yKT49MjYmJihwLT0yNixfLS0pfWZvcigwIT09ZyYmKHk9Zy50b1N0cmluZygxNikreSk7eS5sZW5ndGglYiE9MDspeT0iMCIreTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJih5PSItIit5KSx5fWlm''@;'; put 'put ''KGg9PT0oMHxoKSYmaD49MiYmaDw9MzYpe3ZhciBHPWtbaF0sWD1PW2hdO3k9IiI7dmFyIG5lPXRoaXMuY2xvbmUoKTtmb3IobmUubmVnYXRpdmU9MDshbmUuaXNaZXJvKCk7KXt2YXIgYWU9bmUubW9kbihYKS50b1N0cmluZyhoKTt5PShuZT1uZS5pZGl2bihYKSkuaXNaZXJvKCk/YWUreTpN''@;'; put 'put ''W0ctYWUubGVuZ3RoXSthZSt5fWZvcih0aGlzLmlzWmVybygpJiYoeT0iMCIreSk7eS5sZW5ndGglYiE9MDspeT0iMCIreTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJih5PSItIit5KSx5fUMoITEsIkJhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYiKX0sbS5wcm90b3R5cGUudG9O''@;'; put 'put ''dW1iZXI9ZnVuY3Rpb24oKXt2YXIgaD10aGlzLndvcmRzWzBdO3JldHVybiAyPT09dGhpcy5sZW5ndGg/aCs9NjcxMDg4NjQqdGhpcy53b3Jkc1sxXTozPT09dGhpcy5sZW5ndGgmJjE9PT10aGlzLndvcmRzWzJdP2grPTQ1MDM1OTk2MjczNzA0OTYrNjcxMDg4NjQqdGhpcy53b3Jkc1sxXTp0''@;'; put 'put ''aGlzLmxlbmd0aD4yJiZDKCExLCJOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMiKSwwIT09dGhpcy5uZWdhdGl2ZT8taDpofSxtLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNil9LG0ucHJvdG90eXBlLnRvQnVmZmVy''@;'; put 'put ''PWZ1bmN0aW9uKGgsYil7cmV0dXJuIEModm9pZCAwIT09RiksdGhpcy50b0FycmF5TGlrZShGLGgsYil9LG0ucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSxoLGIpfSxtLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbiho''@;'; put 'put ''LGIseSl7dmFyIHA9dGhpcy5ieXRlTGVuZ3RoKCksZz15fHxNYXRoLm1heCgxLHApO0MocDw9ZywiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpLEMoZz4wLCJSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAiKSx0aGlzLnN0cmlwKCk7dmFyIF8sRSxXPSJsZSI9PT1i''@;'; put 'put ''LEc9bmV3IGgoZyksWD10aGlzLmNsb25lKCk7aWYoVyl7Zm9yKEU9MDshWC5pc1plcm8oKTtFKyspXz1YLmFuZGxuKDI1NSksWC5pdXNocm4oOCksR1tFXT1fO2Zvcig7RTxnO0UrKylHW0VdPTB9ZWxzZXtmb3IoRT0wO0U8Zy1wO0UrKylHW0VdPTA7Zm9yKEU9MDshWC5pc1plcm8oKTtFKysp''@;'; put 'put ''Xz1YLmFuZGxuKDI1NSksWC5pdXNocm4oOCksR1tnLUUtMV09X31yZXR1cm4gR30sbS5wcm90b3R5cGUuX2NvdW50Qml0cz1NYXRoLmNsejMyP2Z1bmN0aW9uKGgpe3JldHVybiAzMi1NYXRoLmNsejMyKGgpfTpmdW5jdGlvbihoKXt2YXIgYj1oLHk9MDtyZXR1cm4gYj49NDA5NiYmKHkrPTEz''@;'; put 'put ''LGI+Pj49MTMpLGI+PTY0JiYoeSs9NyxiPj4+PTcpLGI+PTgmJih5Kz00LGI+Pj49NCksYj49MiYmKHkrPTIsYj4+Pj0yKSx5K2J9LG0ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbihoKXtpZigwPT09aClyZXR1cm4gMjY7dmFyIGI9aCx5PTA7cmV0dXJuIDA9PSg4MTkxJmIpJiYoeSs9''@;'; put 'put ''MTMsYj4+Pj0xMyksMD09KDEyNyZiKSYmKHkrPTcsYj4+Pj03KSwwPT0oMTUmYikmJih5Kz00LGI+Pj49NCksMD09KDMmYikmJih5Kz0yLGI+Pj49MiksMD09KDEmYikmJnkrKyx5fSxtLnByb3RvdHlwZS5iaXRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLl9jb3VudEJpdHModGhpcy53''@;'; put 'put ''b3Jkc1t0aGlzLmxlbmd0aC0xXSk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStifSxtLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciBoPTAsYj0wO2I8dGhpcy5sZW5ndGg7YisrKXt2YXIgeT10aGlzLl96ZXJvQml0cyh0''@;'; put 'put ''aGlzLndvcmRzW2JdKTtpZihoKz15LDI2IT09eSlicmVha31yZXR1cm4gaH0sbS5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sbS5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKGgpe3JldHVybiAwIT09dGhpcy5u''@;'; put 'put ''ZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKGgpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sbS5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMudGVzdG4oaC0xKT90aGlzLm5vdG4oaCkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sbS5wcm90b3R5cGUuaXNO''@;'; put 'put ''ZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG0ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxtLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0''@;'; put 'put ''aGlzfSxtLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKGgpe2Zvcig7dGhpcy5sZW5ndGg8aC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGI9MDtiPGgubGVuZ3RoO2IrKyl0aGlzLndvcmRzW2JdPXRoaXMud29yZHNbYl18aC53b3Jkc1tiXTtyZXR1cm4gdGhp''@;'; put 'put ''cy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09KHRoaXMubmVnYXRpdmV8aC5uZWdhdGl2ZSkpLHRoaXMuaXVvcihoKX0sbS5wcm90b3R5cGUub3I9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pb3Io''@;'; put 'put ''aCk6aC5jbG9uZSgpLmlvcih0aGlzKX0sbS5wcm90b3R5cGUudW9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaXVvcihoKTpoLmNsb25lKCkuaXVvcih0aGlzKX0sbS5wcm90b3R5cGUuaXVhbmQ9ZnVuY3Rpb24oaCl7dmFyIGI7Yj10aGlz''@;'; put 'put ''Lmxlbmd0aD5oLmxlbmd0aD9oOnRoaXM7Zm9yKHZhciB5PTA7eTxiLmxlbmd0aDt5KyspdGhpcy53b3Jkc1t5XT10aGlzLndvcmRzW3ldJmgud29yZHNbeV07cmV0dXJuIHRoaXMubGVuZ3RoPWIubGVuZ3RoLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbihoKXtyZXR1''@;'; put 'put ''cm4gQygwPT0odGhpcy5uZWdhdGl2ZXxoLm5lZ2F0aXZlKSksdGhpcy5pdWFuZChoKX0sbS5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZChoKTpoLmNsb25lKCkuaWFuZCh0aGlzKX0sbS5wcm90b3R5cGUudWFu''@;'; put 'put ''ZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKGgpOmguY2xvbmUoKS5pdWFuZCh0aGlzKX0sbS5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24oaCl7dmFyIGIseTt0aGlzLmxlbmd0aD5oLmxlbmd0aD8oYj10aGlzLHk9aCk6KGI9aCx5''@;'; put 'put ''PXRoaXMpO2Zvcih2YXIgcD0wO3A8eS5sZW5ndGg7cCsrKXRoaXMud29yZHNbcF09Yi53b3Jkc1twXV55LndvcmRzW3BdO2lmKHRoaXMhPT1iKWZvcig7cDxiLmxlbmd0aDtwKyspdGhpcy53b3Jkc1twXT1iLndvcmRzW3BdO3JldHVybiB0aGlzLmxlbmd0aD1iLmxlbmd0aCx0aGlzLnN0cmlw''@;'; put 'put ''KCl9LG0ucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09KHRoaXMubmVnYXRpdmV8aC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IoaCl9LG0ucHJvdG90eXBlLnhvcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IoaCk6''@;'; put 'put ''aC5jbG9uZSgpLml4b3IodGhpcyl9LG0ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcihoKTpoLmNsb25lKCkuaXV4b3IodGhpcyl9LG0ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9''@;'; put 'put ''PXR5cGVvZiBoJiZoPj0wKTt2YXIgYj0wfE1hdGguY2VpbChoLzI2KSx5PWglMjY7dGhpcy5fZXhwYW5kKGIpLHk+MCYmYi0tO2Zvcih2YXIgcD0wO3A8YjtwKyspdGhpcy53b3Jkc1twXT02NzEwODg2MyZ+dGhpcy53b3Jkc1twXTtyZXR1cm4geT4wJiYodGhpcy53b3Jkc1twXT1+dGhpcy53''@;'; put 'put ''b3Jkc1twXSY2NzEwODg2Mz4+MjYteSksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4oaCl9LG0ucHJvdG90eXBlLnNldG49ZnVuY3Rpb24oaCxiKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIHk9aC8y''@;'; put 'put ''NnwwLHA9aCUyNjtyZXR1cm4gdGhpcy5fZXhwYW5kKHkrMSksdGhpcy53b3Jkc1t5XT1iP3RoaXMud29yZHNbeV18MTw8cDp0aGlzLndvcmRzW3ldJn4oMTw8cCksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKGgpe3ZhciBiLHkscDtpZigwIT09dGhpcy5uZWdhdGl2''@;'; put 'put ''ZSYmMD09PWgubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxiPXRoaXMuaXN1YihoKSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT1oLm5lZ2F0aXZlKXJldHVybiBoLm5lZ2F0aXZlPTAsYj10aGlzLmlzdWIoaCksaC5u''@;'; put 'put ''ZWdhdGl2ZT0xLGIuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+aC5sZW5ndGg/KHk9dGhpcyxwPWgpOih5PWgscD10aGlzKTtmb3IodmFyIGc9MCxfPTA7XzxwLmxlbmd0aDtfKyspdGhpcy53b3Jkc1tfXT02NzEwODg2MyYoYj0oMHx5LndvcmRzW19dKSsoMHxwLndvcmRzW19dKStnKSxnPWI+''@;'; put 'put ''Pj4yNjtmb3IoOzAhPT1nJiZfPHkubGVuZ3RoO18rKyl0aGlzLndvcmRzW19dPTY3MTA4ODYzJihiPSgwfHkud29yZHNbX10pK2cpLGc9Yj4+PjI2O2lmKHRoaXMubGVuZ3RoPXkubGVuZ3RoLDAhPT1nKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWcsdGhpcy5sZW5ndGgrKztlbHNlIGlmKHkh''@;'; put 'put ''PT10aGlzKWZvcig7Xzx5Lmxlbmd0aDtfKyspdGhpcy53b3Jkc1tfXT15LndvcmRzW19dO3JldHVybiB0aGlzfSxtLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oaCl7dmFyIGI7cmV0dXJuIDAhPT1oLm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8oaC5uZWdhdGl2ZT0wLGI9dGhpcy5zdWIo''@;'; put 'put ''aCksaC5uZWdhdGl2ZV49MSxiKTowPT09aC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxiPWguc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxiKTp0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZChoKTpoLmNsb25lKCkuaWFkZCh0aGlz''@;'; put 'put ''KX0sbS5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbihoKXtpZigwIT09aC5uZWdhdGl2ZSl7aC5uZWdhdGl2ZT0wO3ZhciBiPXRoaXMuaWFkZChoKTtyZXR1cm4gaC5uZWdhdGl2ZT0xLGIuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlz''@;'; put 'put ''LmlhZGQoaCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHkscCxnPXRoaXMuY21wKGgpO2lmKDA9PT1nKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpcztnPjA/KHk9dGhpcyxwPWgpOih5PWgscD10aGlzKTtmb3Io''@;'; put 'put ''dmFyIF89MCxFPTA7RTxwLmxlbmd0aDtFKyspXz0oYj0oMHx5LndvcmRzW0VdKS0oMHxwLndvcmRzW0VdKStfKT4+MjYsdGhpcy53b3Jkc1tFXT02NzEwODg2MyZiO2Zvcig7MCE9PV8mJkU8eS5sZW5ndGg7RSsrKV89KGI9KDB8eS53b3Jkc1tFXSkrXyk+PjI2LHRoaXMud29yZHNbRV09Njcx''@;'; put 'put ''MDg4NjMmYjtpZigwPT09XyYmRTx5Lmxlbmd0aCYmeSE9PXRoaXMpZm9yKDtFPHkubGVuZ3RoO0UrKyl0aGlzLndvcmRzW0VdPXkud29yZHNbRV07cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLEUpLHkhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlw''@;'; put 'put ''KCl9LG0ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIoaCl9O3ZhciBUPWZ1bmN0aW9uKGgsYix5KXt2YXIgcCxnLF8sRT1oLndvcmRzLFc9Yi53b3JkcyxHPXkud29yZHMsWD0wLG5lPTB8RVswXSxhZT04MTkxJm5lLHVlPW5lPj4+MTMsYmU9MHxF''@;'; put 'put ''WzFdLF9lPTgxOTEmYmUsbGU9YmU+Pj4xMyxjZT0wfEVbMl0scGU9ODE5MSZjZSx3ZT1jZT4+PjEzLFVlPTB8RVszXSx4ZT04MTkxJlVlLEVlPVVlPj4+MTMsd3Q9MHxFWzRdLE5lPTgxOTEmd3QsSGU9d3Q+Pj4xMyxSZT0wfEVbNV0sT2U9ODE5MSZSZSxMZT1SZT4+PjEzLGllPTB8RVs2XSxz''@;'; put 'put ''ZT04MTkxJmllLGRlPWllPj4+MTMsQWU9MHxFWzddLGtlPTgxOTEmQWUsU2U9QWU+Pj4xMywkZT0wfEVbOF0sVmU9ODE5MSYkZSxHZT0kZT4+PjEzLHF0PTB8RVs5XSxLZT04MTkxJnF0LGV0PXF0Pj4+MTMsX249MHxXWzBdLGJ0PTgxOTEmX24scHQ9X24+Pj4xMyxHdD0wfFdbMV0sbnQ9ODE5''@;'; put 'put ''MSZHdCx5dD1HdD4+PjEzLFNuPTB8V1syXSxndD04MTkxJlNuLGR0PVNuPj4+MTMsWHQ9MHxXWzNdLGF0PTgxOTEmWHQsUWU9WHQ+Pj4xMyxtbj0wfFdbNF0sb3Q9ODE5MSZtbix2dD1tbj4+PjEzLHRyPTB8V1s1XSxaZT04MTkxJnRyLG10PXRyPj4+MTMsVW49MHxXWzZdLGZ0PTgxOTEmVW4s''@;'; put 'put ''bHQ9VW4+Pj4xMyxadD0wfFdbN10sWGU9ODE5MSZadCxEZT1adD4+PjEzLHV0PTB8V1s4XSxydD04MTkxJnV0LGl0PXV0Pj4+MTMsYm49MHxXWzldLFdlPTgxOTEmYm4sSmU9Ym4+Pj4xMzt5Lm5lZ2F0aXZlPWgubmVnYXRpdmVeYi5uZWdhdGl2ZSx5Lmxlbmd0aD0xOTt2YXIgTXQ9KFgrKHA9''@;'; put 'put ''TWF0aC5pbXVsKGFlLGJ0KSl8MCkrKCg4MTkxJihnPShnPU1hdGguaW11bChhZSxwdCkpK01hdGguaW11bCh1ZSxidCl8MCkpPDwxMyl8MDtYPSgoXz1NYXRoLmltdWwodWUscHQpKSsoZz4+PjEzKXwwKSsoTXQ+Pj4yNil8MCxNdCY9NjcxMDg4NjMscD1NYXRoLmltdWwoX2UsYnQpLGc9KGc9''@;'; put 'put ''TWF0aC5pbXVsKF9lLHB0KSkrTWF0aC5pbXVsKGxlLGJ0KXwwLF89TWF0aC5pbXVsKGxlLHB0KTt2YXIgRHQ9KFgrKHA9cCtNYXRoLmltdWwoYWUsbnQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSx5dCl8MCkrTWF0aC5pbXVsKHVlLG50KXwwKSk8PDEzKXwwO1g9KChfPV8r''@;'; put 'put ''TWF0aC5pbXVsKHVlLHl0KXwwKSsoZz4+PjEzKXwwKSsoRHQ+Pj4yNil8MCxEdCY9NjcxMDg4NjMscD1NYXRoLmltdWwocGUsYnQpLGc9KGc9TWF0aC5pbXVsKHBlLHB0KSkrTWF0aC5pbXVsKHdlLGJ0KXwwLF89TWF0aC5pbXVsKHdlLHB0KSxwPXArTWF0aC5pbXVsKF9lLG50KXwwLGc9KGc9''@;'; put 'put ''ZytNYXRoLmltdWwoX2UseXQpfDApK01hdGguaW11bChsZSxudCl8MCxfPV8rTWF0aC5pbXVsKGxlLHl0KXwwO3ZhciBCdD0oWCsocD1wK01hdGguaW11bChhZSxndCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLGR0KXwwKStNYXRoLmltdWwodWUsZ3QpfDApKTw8MTMpfDA7''@;'; put 'put ''WD0oKF89XytNYXRoLmltdWwodWUsZHQpfDApKyhnPj4+MTMpfDApKyhCdD4+PjI2KXwwLEJ0Jj02NzEwODg2MyxwPU1hdGguaW11bCh4ZSxidCksZz0oZz1NYXRoLmltdWwoeGUscHQpKStNYXRoLmltdWwoRWUsYnQpfDAsXz1NYXRoLmltdWwoRWUscHQpLHA9cCtNYXRoLmltdWwocGUsbnQp''@;'; put 'put ''fDAsZz0oZz1nK01hdGguaW11bChwZSx5dCl8MCkrTWF0aC5pbXVsKHdlLG50KXwwLF89XytNYXRoLmltdWwod2UseXQpfDAscD1wK01hdGguaW11bChfZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLGR0KXwwKStNYXRoLmltdWwobGUsZ3QpfDAsXz1fK01hdGguaW11bChsZSxkdCl8MDt2''@;'; put 'put ''YXIgZW49KFgrKHA9cCtNYXRoLmltdWwoYWUsYXQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxRZSl8MCkrTWF0aC5pbXVsKHVlLGF0KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLFFlKXwwKSsoZz4+PjEzKXwwKSsoZW4+Pj4yNil8MCxlbiY9NjcxMDg4NjMs''@;'; put 'put ''cD1NYXRoLmltdWwoTmUsYnQpLGc9KGc9TWF0aC5pbXVsKE5lLHB0KSkrTWF0aC5pbXVsKEhlLGJ0KXwwLF89TWF0aC5pbXVsKEhlLHB0KSxwPXArTWF0aC5pbXVsKHhlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUseXQpfDApK01hdGguaW11bChFZSxudCl8MCxfPV8rTWF0aC5pbXVsKEVl''@;'; put 'put ''LHl0KXwwLHA9cCtNYXRoLmltdWwocGUsZ3QpfDAsZz0oZz1nK01hdGguaW11bChwZSxkdCl8MCkrTWF0aC5pbXVsKHdlLGd0KXwwLF89XytNYXRoLmltdWwod2UsZHQpfDAscD1wK01hdGguaW11bChfZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLFFlKXwwKStNYXRoLmltdWwobGUsYXQp''@;'; put 'put ''fDAsXz1fK01hdGguaW11bChsZSxRZSl8MDt2YXIgWXQ9KFgrKHA9cCtNYXRoLmltdWwoYWUsb3QpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSx2dCl8MCkrTWF0aC5pbXVsKHVlLG90KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLHZ0KXwwKSsoZz4+PjEzKXww''@;'; put 'put ''KSsoWXQ+Pj4yNil8MCxZdCY9NjcxMDg4NjMscD1NYXRoLmltdWwoT2UsYnQpLGc9KGc9TWF0aC5pbXVsKE9lLHB0KSkrTWF0aC5pbXVsKExlLGJ0KXwwLF89TWF0aC5pbXVsKExlLHB0KSxwPXArTWF0aC5pbXVsKE5lLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUseXQpfDApK01hdGguaW11''@;'; put 'put ''bChIZSxudCl8MCxfPV8rTWF0aC5pbXVsKEhlLHl0KXwwLHA9cCtNYXRoLmltdWwoeGUsZ3QpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxkdCl8MCkrTWF0aC5pbXVsKEVlLGd0KXwwLF89XytNYXRoLmltdWwoRWUsZHQpfDAscD1wK01hdGguaW11bChwZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVs''@;'; put 'put ''KHBlLFFlKXwwKStNYXRoLmltdWwod2UsYXQpfDAsXz1fK01hdGguaW11bCh3ZSxRZSl8MCxwPXArTWF0aC5pbXVsKF9lLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsdnQpfDApK01hdGguaW11bChsZSxvdCl8MCxfPV8rTWF0aC5pbXVsKGxlLHZ0KXwwO3ZhciBybj0oWCsocD1wK01hdGgu''@;'; put 'put ''aW11bChhZSxaZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLG10KXwwKStNYXRoLmltdWwodWUsWmUpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsbXQpfDApKyhnPj4+MTMpfDApKyhybj4+PjI2KXwwLHJuJj02NzEwODg2MyxwPU1hdGguaW11bChzZSxidCks''@;'; put 'put ''Zz0oZz1NYXRoLmltdWwoc2UscHQpKStNYXRoLmltdWwoZGUsYnQpfDAsXz1NYXRoLmltdWwoZGUscHQpLHA9cCtNYXRoLmltdWwoT2UsbnQpfDAsZz0oZz1nK01hdGguaW11bChPZSx5dCl8MCkrTWF0aC5pbXVsKExlLG50KXwwLF89XytNYXRoLmltdWwoTGUseXQpfDAscD1wK01hdGguaW11''@;'; put 'put ''bChOZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLGR0KXwwKStNYXRoLmltdWwoSGUsZ3QpfDAsXz1fK01hdGguaW11bChIZSxkdCl8MCxwPXArTWF0aC5pbXVsKHhlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsUWUpfDApK01hdGguaW11bChFZSxhdCl8MCxfPV8rTWF0aC5pbXVsKEVl''@;'; put 'put ''LFFlKXwwLHA9cCtNYXRoLmltdWwocGUsb3QpfDAsZz0oZz1nK01hdGguaW11bChwZSx2dCl8MCkrTWF0aC5pbXVsKHdlLG90KXwwLF89XytNYXRoLmltdWwod2UsdnQpfDAscD1wK01hdGguaW11bChfZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLG10KXwwKStNYXRoLmltdWwobGUsWmUp''@;'; put 'put ''fDAsXz1fK01hdGguaW11bChsZSxtdCl8MDt2YXIgYW49KFgrKHA9cCtNYXRoLmltdWwoYWUsZnQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxsdCl8MCkrTWF0aC5pbXVsKHVlLGZ0KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLGx0KXwwKSsoZz4+PjEzKXww''@;'; put 'put ''KSsoYW4+Pj4yNil8MCxhbiY9NjcxMDg4NjMscD1NYXRoLmltdWwoa2UsYnQpLGc9KGc9TWF0aC5pbXVsKGtlLHB0KSkrTWF0aC5pbXVsKFNlLGJ0KXwwLF89TWF0aC5pbXVsKFNlLHB0KSxwPXArTWF0aC5pbXVsKHNlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UseXQpfDApK01hdGguaW11''@;'; put 'put ''bChkZSxudCl8MCxfPV8rTWF0aC5pbXVsKGRlLHl0KXwwLHA9cCtNYXRoLmltdWwoT2UsZ3QpfDAsZz0oZz1nK01hdGguaW11bChPZSxkdCl8MCkrTWF0aC5pbXVsKExlLGd0KXwwLF89XytNYXRoLmltdWwoTGUsZHQpfDAscD1wK01hdGguaW11bChOZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVs''@;'; put 'put ''KE5lLFFlKXwwKStNYXRoLmltdWwoSGUsYXQpfDAsXz1fK01hdGguaW11bChIZSxRZSl8MCxwPXArTWF0aC5pbXVsKHhlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsdnQpfDApK01hdGguaW11bChFZSxvdCl8MCxfPV8rTWF0aC5pbXVsKEVlLHZ0KXwwLHA9cCtNYXRoLmltdWwocGUsWmUp''@;'; put 'put ''fDAsZz0oZz1nK01hdGguaW11bChwZSxtdCl8MCkrTWF0aC5pbXVsKHdlLFplKXwwLF89XytNYXRoLmltdWwod2UsbXQpfDAscD1wK01hdGguaW11bChfZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLGx0KXwwKStNYXRoLmltdWwobGUsZnQpfDAsXz1fK01hdGguaW11bChsZSxsdCl8MDt2''@;'; put 'put ''YXIgbG49KFgrKHA9cCtNYXRoLmltdWwoYWUsWGUpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxEZSl8MCkrTWF0aC5pbXVsKHVlLFhlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLERlKXwwKSsoZz4+PjEzKXwwKSsobG4+Pj4yNil8MCxsbiY9NjcxMDg4NjMs''@;'; put 'put ''cD1NYXRoLmltdWwoVmUsYnQpLGc9KGc9TWF0aC5pbXVsKFZlLHB0KSkrTWF0aC5pbXVsKEdlLGJ0KXwwLF89TWF0aC5pbXVsKEdlLHB0KSxwPXArTWF0aC5pbXVsKGtlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UseXQpfDApK01hdGguaW11bChTZSxudCl8MCxfPV8rTWF0aC5pbXVsKFNl''@;'; put 'put ''LHl0KXwwLHA9cCtNYXRoLmltdWwoc2UsZ3QpfDAsZz0oZz1nK01hdGguaW11bChzZSxkdCl8MCkrTWF0aC5pbXVsKGRlLGd0KXwwLF89XytNYXRoLmltdWwoZGUsZHQpfDAscD1wK01hdGguaW11bChPZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLFFlKXwwKStNYXRoLmltdWwoTGUsYXQp''@;'; put 'put ''fDAsXz1fK01hdGguaW11bChMZSxRZSl8MCxwPXArTWF0aC5pbXVsKE5lLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsdnQpfDApK01hdGguaW11bChIZSxvdCl8MCxfPV8rTWF0aC5pbXVsKEhlLHZ0KXwwLHA9cCtNYXRoLmltdWwoeGUsWmUpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxtdCl8''@;'; put 'put ''MCkrTWF0aC5pbXVsKEVlLFplKXwwLF89XytNYXRoLmltdWwoRWUsbXQpfDAscD1wK01hdGguaW11bChwZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLGx0KXwwKStNYXRoLmltdWwod2UsZnQpfDAsXz1fK01hdGguaW11bCh3ZSxsdCl8MCxwPXArTWF0aC5pbXVsKF9lLFhlKXwwLGc9KGc9''@;'; put 'put ''ZytNYXRoLmltdWwoX2UsRGUpfDApK01hdGguaW11bChsZSxYZSl8MCxfPV8rTWF0aC5pbXVsKGxlLERlKXwwO3ZhciBNbj0oWCsocD1wK01hdGguaW11bChhZSxydCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLGl0KXwwKStNYXRoLmltdWwodWUscnQpfDApKTw8MTMpfDA7''@;'; put 'put ''WD0oKF89XytNYXRoLmltdWwodWUsaXQpfDApKyhnPj4+MTMpfDApKyhNbj4+PjI2KXwwLE1uJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxidCksZz0oZz1NYXRoLmltdWwoS2UscHQpKStNYXRoLmltdWwoZXQsYnQpfDAsXz1NYXRoLmltdWwoZXQscHQpLHA9cCtNYXRoLmltdWwoVmUsbnQp''@;'; put 'put ''fDAsZz0oZz1nK01hdGguaW11bChWZSx5dCl8MCkrTWF0aC5pbXVsKEdlLG50KXwwLF89XytNYXRoLmltdWwoR2UseXQpfDAscD1wK01hdGguaW11bChrZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLGR0KXwwKStNYXRoLmltdWwoU2UsZ3QpfDAsXz1fK01hdGguaW11bChTZSxkdCl8MCxw''@;'; put 'put ''PXArTWF0aC5pbXVsKHNlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsUWUpfDApK01hdGguaW11bChkZSxhdCl8MCxfPV8rTWF0aC5pbXVsKGRlLFFlKXwwLHA9cCtNYXRoLmltdWwoT2Usb3QpfDAsZz0oZz1nK01hdGguaW11bChPZSx2dCl8MCkrTWF0aC5pbXVsKExlLG90KXwwLF89XytN''@;'; put 'put ''YXRoLmltdWwoTGUsdnQpfDAscD1wK01hdGguaW11bChOZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLG10KXwwKStNYXRoLmltdWwoSGUsWmUpfDAsXz1fK01hdGguaW11bChIZSxtdCl8MCxwPXArTWF0aC5pbXVsKHhlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsbHQpfDApK01hdGgu''@;'; put 'put ''aW11bChFZSxmdCl8MCxfPV8rTWF0aC5pbXVsKEVlLGx0KXwwLHA9cCtNYXRoLmltdWwocGUsWGUpfDAsZz0oZz1nK01hdGguaW11bChwZSxEZSl8MCkrTWF0aC5pbXVsKHdlLFhlKXwwLF89XytNYXRoLmltdWwod2UsRGUpfDAscD1wK01hdGguaW11bChfZSxydCl8MCxnPShnPWcrTWF0aC5p''@;'; put 'put ''bXVsKF9lLGl0KXwwKStNYXRoLmltdWwobGUscnQpfDAsXz1fK01hdGguaW11bChsZSxpdCl8MDt2YXIgbm49KFgrKHA9cCtNYXRoLmltdWwoYWUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxKZSl8MCkrTWF0aC5pbXVsKHVlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8r''@;'; put 'put ''TWF0aC5pbXVsKHVlLEplKXwwKSsoZz4+PjEzKXwwKSsobm4+Pj4yNil8MCxubiY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsbnQpLGc9KGc9TWF0aC5pbXVsKEtlLHl0KSkrTWF0aC5pbXVsKGV0LG50KXwwLF89TWF0aC5pbXVsKGV0LHl0KSxwPXArTWF0aC5pbXVsKFZlLGd0KXwwLGc9KGc9''@;'; put 'put ''ZytNYXRoLmltdWwoVmUsZHQpfDApK01hdGguaW11bChHZSxndCl8MCxfPV8rTWF0aC5pbXVsKEdlLGR0KXwwLHA9cCtNYXRoLmltdWwoa2UsYXQpfDAsZz0oZz1nK01hdGguaW11bChrZSxRZSl8MCkrTWF0aC5pbXVsKFNlLGF0KXwwLF89XytNYXRoLmltdWwoU2UsUWUpfDAscD1wK01hdGgu''@;'; put 'put ''aW11bChzZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLHZ0KXwwKStNYXRoLmltdWwoZGUsb3QpfDAsXz1fK01hdGguaW11bChkZSx2dCl8MCxwPXArTWF0aC5pbXVsKE9lLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsbXQpfDApK01hdGguaW11bChMZSxaZSl8MCxfPV8rTWF0aC5pbXVs''@;'; put 'put ''KExlLG10KXwwLHA9cCtNYXRoLmltdWwoTmUsZnQpfDAsZz0oZz1nK01hdGguaW11bChOZSxsdCl8MCkrTWF0aC5pbXVsKEhlLGZ0KXwwLF89XytNYXRoLmltdWwoSGUsbHQpfDAscD1wK01hdGguaW11bCh4ZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLERlKXwwKStNYXRoLmltdWwoRWUs''@;'; put 'put ''WGUpfDAsXz1fK01hdGguaW11bChFZSxEZSl8MCxwPXArTWF0aC5pbXVsKHBlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsaXQpfDApK01hdGguaW11bCh3ZSxydCl8MCxfPV8rTWF0aC5pbXVsKHdlLGl0KXwwO3ZhciBRbj0oWCsocD1wK01hdGguaW11bChfZSxXZSl8MCl8MCkrKCg4MTkx''@;'; put 'put ''JihnPShnPWcrTWF0aC5pbXVsKF9lLEplKXwwKStNYXRoLmltdWwobGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwobGUsSmUpfDApKyhnPj4+MTMpfDApKyhRbj4+PjI2KXwwLFFuJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxndCksZz0oZz1NYXRoLmltdWwoS2UsZHQpKStN''@;'; put 'put ''YXRoLmltdWwoZXQsZ3QpfDAsXz1NYXRoLmltdWwoZXQsZHQpLHA9cCtNYXRoLmltdWwoVmUsYXQpfDAsZz0oZz1nK01hdGguaW11bChWZSxRZSl8MCkrTWF0aC5pbXVsKEdlLGF0KXwwLF89XytNYXRoLmltdWwoR2UsUWUpfDAscD1wK01hdGguaW11bChrZSxvdCl8MCxnPShnPWcrTWF0aC5p''@;'; put 'put ''bXVsKGtlLHZ0KXwwKStNYXRoLmltdWwoU2Usb3QpfDAsXz1fK01hdGguaW11bChTZSx2dCl8MCxwPXArTWF0aC5pbXVsKHNlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsbXQpfDApK01hdGguaW11bChkZSxaZSl8MCxfPV8rTWF0aC5pbXVsKGRlLG10KXwwLHA9cCtNYXRoLmltdWwoT2Us''@;'; put 'put ''ZnQpfDAsZz0oZz1nK01hdGguaW11bChPZSxsdCl8MCkrTWF0aC5pbXVsKExlLGZ0KXwwLF89XytNYXRoLmltdWwoTGUsbHQpfDAscD1wK01hdGguaW11bChOZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLERlKXwwKStNYXRoLmltdWwoSGUsWGUpfDAsXz1fK01hdGguaW11bChIZSxEZSl8''@;'; put 'put ''MCxwPXArTWF0aC5pbXVsKHhlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsaXQpfDApK01hdGguaW11bChFZSxydCl8MCxfPV8rTWF0aC5pbXVsKEVlLGl0KXwwO3ZhciBabj0oWCsocD1wK01hdGguaW11bChwZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKHBlLEplKXww''@;'; put 'put ''KStNYXRoLmltdWwod2UsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwod2UsSmUpfDApKyhnPj4+MTMpfDApKyhabj4+PjI2KXwwLFpuJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxhdCksZz0oZz1NYXRoLmltdWwoS2UsUWUpKStNYXRoLmltdWwoZXQsYXQpfDAsXz1NYXRoLmlt''@;'; put 'put ''dWwoZXQsUWUpLHA9cCtNYXRoLmltdWwoVmUsb3QpfDAsZz0oZz1nK01hdGguaW11bChWZSx2dCl8MCkrTWF0aC5pbXVsKEdlLG90KXwwLF89XytNYXRoLmltdWwoR2UsdnQpfDAscD1wK01hdGguaW11bChrZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLG10KXwwKStNYXRoLmltdWwoU2Us''@;'; put 'put ''WmUpfDAsXz1fK01hdGguaW11bChTZSxtdCl8MCxwPXArTWF0aC5pbXVsKHNlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsbHQpfDApK01hdGguaW11bChkZSxmdCl8MCxfPV8rTWF0aC5pbXVsKGRlLGx0KXwwLHA9cCtNYXRoLmltdWwoT2UsWGUpfDAsZz0oZz1nK01hdGguaW11bChPZSxE''@;'; put 'put ''ZSl8MCkrTWF0aC5pbXVsKExlLFhlKXwwLF89XytNYXRoLmltdWwoTGUsRGUpfDAscD1wK01hdGguaW11bChOZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLGl0KXwwKStNYXRoLmltdWwoSGUscnQpfDAsXz1fK01hdGguaW11bChIZSxpdCl8MDt2YXIgbHI9KFgrKHA9cCtNYXRoLmltdWwo''@;'; put 'put ''eGUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bCh4ZSxKZSl8MCkrTWF0aC5pbXVsKEVlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKEVlLEplKXwwKSsoZz4+PjEzKXwwKSsobHI+Pj4yNil8MCxsciY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2Usb3QpLGc9KGc9''@;'; put 'put ''TWF0aC5pbXVsKEtlLHZ0KSkrTWF0aC5pbXVsKGV0LG90KXwwLF89TWF0aC5pbXVsKGV0LHZ0KSxwPXArTWF0aC5pbXVsKFZlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsbXQpfDApK01hdGguaW11bChHZSxaZSl8MCxfPV8rTWF0aC5pbXVsKEdlLG10KXwwLHA9cCtNYXRoLmltdWwoa2Us''@;'; put 'put ''ZnQpfDAsZz0oZz1nK01hdGguaW11bChrZSxsdCl8MCkrTWF0aC5pbXVsKFNlLGZ0KXwwLF89XytNYXRoLmltdWwoU2UsbHQpfDAscD1wK01hdGguaW11bChzZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLERlKXwwKStNYXRoLmltdWwoZGUsWGUpfDAsXz1fK01hdGguaW11bChkZSxEZSl8''@;'; put 'put ''MCxwPXArTWF0aC5pbXVsKE9lLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsaXQpfDApK01hdGguaW11bChMZSxydCl8MCxfPV8rTWF0aC5pbXVsKExlLGl0KXwwO3ZhciB3bj0oWCsocD1wK01hdGguaW11bChOZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKE5lLEplKXww''@;'; put 'put ''KStNYXRoLmltdWwoSGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoSGUsSmUpfDApKyhnPj4+MTMpfDApKyh3bj4+PjI2KXwwLHduJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxaZSksZz0oZz1NYXRoLmltdWwoS2UsbXQpKStNYXRoLmltdWwoZXQsWmUpfDAsXz1NYXRoLmlt''@;'; put 'put ''dWwoZXQsbXQpLHA9cCtNYXRoLmltdWwoVmUsZnQpfDAsZz0oZz1nK01hdGguaW11bChWZSxsdCl8MCkrTWF0aC5pbXVsKEdlLGZ0KXwwLF89XytNYXRoLmltdWwoR2UsbHQpfDAscD1wK01hdGguaW11bChrZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLERlKXwwKStNYXRoLmltdWwoU2Us''@;'; put 'put ''WGUpfDAsXz1fK01hdGguaW11bChTZSxEZSl8MCxwPXArTWF0aC5pbXVsKHNlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsaXQpfDApK01hdGguaW11bChkZSxydCl8MCxfPV8rTWF0aC5pbXVsKGRlLGl0KXwwO3ZhciB2cj0oWCsocD1wK01hdGguaW11bChPZSxXZSl8MCl8MCkrKCg4MTkx''@;'; put 'put ''JihnPShnPWcrTWF0aC5pbXVsKE9lLEplKXwwKStNYXRoLmltdWwoTGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoTGUsSmUpfDApKyhnPj4+MTMpfDApKyh2cj4+PjI2KXwwLHZyJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxmdCksZz0oZz1NYXRoLmltdWwoS2UsbHQpKStN''@;'; put 'put ''YXRoLmltdWwoZXQsZnQpfDAsXz1NYXRoLmltdWwoZXQsbHQpLHA9cCtNYXRoLmltdWwoVmUsWGUpfDAsZz0oZz1nK01hdGguaW11bChWZSxEZSl8MCkrTWF0aC5pbXVsKEdlLFhlKXwwLF89XytNYXRoLmltdWwoR2UsRGUpfDAscD1wK01hdGguaW11bChrZSxydCl8MCxnPShnPWcrTWF0aC5p''@;'; put 'put ''bXVsKGtlLGl0KXwwKStNYXRoLmltdWwoU2UscnQpfDAsXz1fK01hdGguaW11bChTZSxpdCl8MDt2YXIgdm49KFgrKHA9cCtNYXRoLmltdWwoc2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChzZSxKZSl8MCkrTWF0aC5pbXVsKGRlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8r''@;'; put 'put ''TWF0aC5pbXVsKGRlLEplKXwwKSsoZz4+PjEzKXwwKSsodm4+Pj4yNil8MCx2biY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsWGUpLGc9KGc9TWF0aC5pbXVsKEtlLERlKSkrTWF0aC5pbXVsKGV0LFhlKXwwLF89TWF0aC5pbXVsKGV0LERlKSxwPXArTWF0aC5pbXVsKFZlLHJ0KXwwLGc9KGc9''@;'; put 'put ''ZytNYXRoLmltdWwoVmUsaXQpfDApK01hdGguaW11bChHZSxydCl8MCxfPV8rTWF0aC5pbXVsKEdlLGl0KXwwO3ZhciBjcj0oWCsocD1wK01hdGguaW11bChrZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGtlLEplKXwwKStNYXRoLmltdWwoU2UsV2UpfDApKTw8MTMpfDA7''@;'; put 'put ''WD0oKF89XytNYXRoLmltdWwoU2UsSmUpfDApKyhnPj4+MTMpfDApKyhjcj4+PjI2KXwwLGNyJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxydCksZz0oZz1NYXRoLmltdWwoS2UsaXQpKStNYXRoLmltdWwoZXQscnQpfDAsXz1NYXRoLmltdWwoZXQsaXQpO3ZhciBvcj0oWCsocD1wK01hdGgu''@;'; put 'put ''aW11bChWZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKFZlLEplKXwwKStNYXRoLmltdWwoR2UsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoR2UsSmUpfDApKyhnPj4+MTMpfDApKyhvcj4+PjI2KXwwLG9yJj02NzEwODg2Mzt2YXIgQ249KFgrKHA9TWF0aC5p''@;'; put 'put ''bXVsKEtlLFdlKSl8MCkrKCg4MTkxJihnPShnPU1hdGguaW11bChLZSxKZSkpK01hdGguaW11bChldCxXZSl8MCkpPDwxMyl8MDtyZXR1cm4gWD0oKF89TWF0aC5pbXVsKGV0LEplKSkrKGc+Pj4xMyl8MCkrKENuPj4+MjYpfDAsQ24mPTY3MTA4ODYzLEdbMF09TXQsR1sxXT1EdCxHWzJdPUJ0''@;'; put 'put ''LEdbM109ZW4sR1s0XT1ZdCxHWzVdPXJuLEdbNl09YW4sR1s3XT1sbixHWzhdPU1uLEdbOV09bm4sR1sxMF09UW4sR1sxMV09Wm4sR1sxMl09bHIsR1sxM109d24sR1sxNF09dnIsR1sxNV09dm4sR1sxNl09Y3IsR1sxN109b3IsR1sxOF09Q24sMCE9PVgmJihHWzE5XT1YLHkubGVuZ3RoKysp''@;'; put 'put ''LHl9O2Z1bmN0aW9uIFkoaCxiLHkpe3JldHVybihuZXcgSSkubXVscChoLGIseSl9ZnVuY3Rpb24gSShoLGIpe3RoaXMueD1oLHRoaXMueT1ifU1hdGguaW11bHx8KFQ9TCksbS5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24oaCxiKXt2YXIgcD10aGlzLmxlbmd0aCtoLmxlbmd0aDtyZXR1cm4g''@;'; put 'put ''MTA9PT10aGlzLmxlbmd0aCYmMTA9PT1oLmxlbmd0aD9UKHRoaXMsaCxiKTpwPDYzP0wodGhpcyxoLGIpOnA8MTAyND9mdW5jdGlvbihnLF8sRSl7RS5uZWdhdGl2ZT1fLm5lZ2F0aXZlXmcubmVnYXRpdmUsRS5sZW5ndGg9Zy5sZW5ndGgrXy5sZW5ndGg7Zm9yKHZhciBXPTAsRz0wLFg9MDtY''@;'; put 'put ''PEUubGVuZ3RoLTE7WCsrKXt2YXIgbmU9RztHPTA7Zm9yKHZhciBhZT02NzEwODg2MyZXLHVlPU1hdGgubWluKFgsXy5sZW5ndGgtMSksYmU9TWF0aC5tYXgoMCxYLWcubGVuZ3RoKzEpO2JlPD11ZTtiZSsrKXt2YXIgbGU9KDB8Zy53b3Jkc1tYLWJlXSkqKDB8Xy53b3Jkc1tiZV0pLGNlPTY3''@;'; put 'put ''MTA4ODYzJmxlO2FlPTY3MTA4ODYzJihjZT1jZSthZXwwKSxHKz0obmU9KG5lPW5lKyhsZS82NzEwODg2NHwwKXwwKSsoY2U+Pj4yNil8MCk+Pj4yNixuZSY9NjcxMDg4NjN9RS53b3Jkc1tYXT1hZSxXPW5lLG5lPUd9cmV0dXJuIDAhPT1XP0Uud29yZHNbWF09VzpFLmxlbmd0aC0tLEUuc3Ry''@;'; put 'put ''aXAoKX0odGhpcyxoLGIpOlkodGhpcyxoLGIpfSxJLnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKGgpe2Zvcih2YXIgYj1uZXcgQXJyYXkoaCkseT1tLnByb3RvdHlwZS5fY291bnRCaXRzKGgpLTEscD0wO3A8aDtwKyspYltwXT10aGlzLnJldkJpbihwLHksaCk7cmV0dXJuIGJ9LEkucHJv''@;'; put 'put ''dG90eXBlLnJldkJpbj1mdW5jdGlvbihoLGIseSl7aWYoMD09PWh8fGg9PT15LTEpcmV0dXJuIGg7Zm9yKHZhciBwPTAsZz0wO2c8YjtnKyspcHw9KDEmaCk8PGItZy0xLGg+Pj0xO3JldHVybiBwfSxJLnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKGgsYix5LHAsZyxfKXtmb3IodmFyIEU9''@;'; put 'put ''MDtFPF87RSsrKXBbRV09YltoW0VdXSxnW0VdPXlbaFtFXV19LEkucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbihoLGIseSxwLGcsXyl7dGhpcy5wZXJtdXRlKF8saCxiLHkscCxnKTtmb3IodmFyIEU9MTtFPGc7RTw8PTEpZm9yKHZhciBXPUU8PDEsRz1NYXRoLmNvcygyKk1hdGguUEkv''@;'; put 'put ''VyksWD1NYXRoLnNpbigyKk1hdGguUEkvVyksbmU9MDtuZTxnO25lKz1XKWZvcih2YXIgYWU9Ryx1ZT1YLGJlPTA7YmU8RTtiZSsrKXt2YXIgX2U9eVtuZStiZV0sbGU9cFtuZStiZV0sY2U9eVtuZStiZStFXSxwZT1wW25lK2JlK0VdLHdlPWFlKmNlLXVlKnBlO3BlPWFlKnBlK3VlKmNlLHlb''@;'; put 'put ''bmUrYmVdPV9lKyhjZT13ZSkscFtuZStiZV09bGUrcGUseVtuZStiZStFXT1fZS1jZSxwW25lK2JlK0VdPWxlLXBlLGJlIT09VyYmKHdlPUcqYWUtWCp1ZSx1ZT1HKnVlK1gqYWUsYWU9d2UpfX0sSS5wcm90b3R5cGUuZ3Vlc3NMZW4xM2I9ZnVuY3Rpb24oaCxiKXt2YXIgeT0xfE1hdGgubWF4''@;'; put 'put ''KGIsaCkscD0xJnksZz0wO2Zvcih5PXkvMnwwO3k7eT4+Pj0xKWcrKztyZXR1cm4gMTw8ZysxK3B9LEkucHJvdG90eXBlLmNvbmp1Z2F0ZT1mdW5jdGlvbihoLGIseSl7aWYoISh5PD0xKSlmb3IodmFyIHA9MDtwPHkvMjtwKyspe3ZhciBnPWhbcF07aFtwXT1oW3ktcC0xXSxoW3ktcC0xXT1n''@;'; put 'put ''LGc9YltwXSxiW3BdPS1iW3ktcC0xXSxiW3ktcC0xXT0tZ319LEkucHJvdG90eXBlLm5vcm1hbGl6ZTEzYj1mdW5jdGlvbihoLGIpe2Zvcih2YXIgeT0wLHA9MDtwPGIvMjtwKyspe3ZhciBnPTgxOTIqTWF0aC5yb3VuZChoWzIqcCsxXS9iKStNYXRoLnJvdW5kKGhbMipwXS9iKSt5O2hbcF09''@;'; put 'put ''NjcxMDg4NjMmZyx5PWc8NjcxMDg4NjQ/MDpnLzY3MTA4ODY0fDB9cmV0dXJuIGh9LEkucHJvdG90eXBlLmNvbnZlcnQxM2I9ZnVuY3Rpb24oaCxiLHkscCl7Zm9yKHZhciBnPTAsXz0wO188YjtfKyspeVsyKl9dPTgxOTEmKGcrPTB8aFtfXSkseVsyKl8rMV09ODE5MSYoZz4+Pj0xMyksZz4+''@;'; put 'put ''Pj0xMztmb3IoXz0yKmI7XzxwOysrXyl5W19dPTA7QygwPT09ZyksQygwPT0oLTgxOTImZykpfSxJLnByb3RvdHlwZS5zdHViPWZ1bmN0aW9uKGgpe2Zvcih2YXIgYj1uZXcgQXJyYXkoaCkseT0wO3k8aDt5KyspYlt5XT0wO3JldHVybiBifSxJLnByb3RvdHlwZS5tdWxwPWZ1bmN0aW9uKGgs''@;'; put 'put ''Yix5KXt2YXIgcD0yKnRoaXMuZ3Vlc3NMZW4xM2IoaC5sZW5ndGgsYi5sZW5ndGgpLGc9dGhpcy5tYWtlUkJUKHApLF89dGhpcy5zdHViKHApLEU9bmV3IEFycmF5KHApLFc9bmV3IEFycmF5KHApLEc9bmV3IEFycmF5KHApLFg9bmV3IEFycmF5KHApLG5lPW5ldyBBcnJheShwKSxhZT1uZXcg''@;'; put 'put ''QXJyYXkocCksdWU9eS53b3Jkczt1ZS5sZW5ndGg9cCx0aGlzLmNvbnZlcnQxM2IoaC53b3JkcyxoLmxlbmd0aCxFLHApLHRoaXMuY29udmVydDEzYihiLndvcmRzLGIubGVuZ3RoLFgscCksdGhpcy50cmFuc2Zvcm0oRSxfLFcsRyxwLGcpLHRoaXMudHJhbnNmb3JtKFgsXyxuZSxhZSxwLGcp''@;'; put 'put ''O2Zvcih2YXIgYmU9MDtiZTxwO2JlKyspe3ZhciBfZT1XW2JlXSpuZVtiZV0tR1tiZV0qYWVbYmVdO0dbYmVdPVdbYmVdKmFlW2JlXStHW2JlXSpuZVtiZV0sV1tiZV09X2V9cmV0dXJuIHRoaXMuY29uanVnYXRlKFcsRyxwKSx0aGlzLnRyYW5zZm9ybShXLEcsdWUsXyxwLGcpLHRoaXMuY29u''@;'; put 'put ''anVnYXRlKHVlLF8scCksdGhpcy5ub3JtYWxpemUxM2IodWUscCkseS5uZWdhdGl2ZT1oLm5lZ2F0aXZlXmIubmVnYXRpdmUseS5sZW5ndGg9aC5sZW5ndGgrYi5sZW5ndGgseS5zdHJpcCgpfSxtLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oaCl7dmFyIGI9bmV3IG0obnVsbCk7cmV0dXJuIGIu''@;'; put 'put ''d29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK2gubGVuZ3RoKSx0aGlzLm11bFRvKGgsYil9LG0ucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24oaCl7dmFyIGI9bmV3IG0obnVsbCk7cmV0dXJuIGIud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK2gubGVuZ3RoKSxZKHRoaXMsaCxiKX0sbS5w''@;'; put 'put ''cm90b3R5cGUuaW11bD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKGgsdGhpcyl9LG0ucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoKSxDKGg8NjcxMDg4NjQpO2Zvcih2YXIgYj0wLHk9MDt5PHRoaXMubGVuZ3RoO3krKyl7dmFy''@;'; put 'put ''IHA9KDB8dGhpcy53b3Jkc1t5XSkqaCxnPSg2NzEwODg2MyZwKSsoNjcxMDg4NjMmYik7Yj4+PTI2LGIrPXAvNjcxMDg4NjR8MCxiKz1nPj4+MjYsdGhpcy53b3Jkc1t5XT02NzEwODg2MyZnfXJldHVybiAwIT09YiYmKHRoaXMud29yZHNbeV09Yix0aGlzLmxlbmd0aCsrKSx0aGlzfSxtLnBy''@;'; put 'put ''b3RvdHlwZS5tdWxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4oaCl9LG0ucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0sbS5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0s''@;'; put 'put ''bS5wcm90b3R5cGUucG93PWZ1bmN0aW9uKGgpe3ZhciBiPWZ1bmN0aW9uKF8pe2Zvcih2YXIgRT1uZXcgQXJyYXkoXy5iaXRMZW5ndGgoKSksVz0wO1c8RS5sZW5ndGg7VysrKXt2YXIgWD1XJTI2O0VbV109KF8ud29yZHNbVy8yNnwwXSYxPDxYKT4+Plh9cmV0dXJuIEV9KGgpO2lmKDA9PT1i''@;'; put 'put ''Lmxlbmd0aClyZXR1cm4gbmV3IG0oMSk7Zm9yKHZhciB5PXRoaXMscD0wO3A8Yi5sZW5ndGgmJjA9PT1iW3BdO3ArKyx5PXkuc3FyKCkpO2lmKCsrcDxiLmxlbmd0aClmb3IodmFyIGc9eS5zcXIoKTtwPGIubGVuZ3RoO3ArKyxnPWcuc3FyKCkpMCE9PWJbcF0mJih5PXkubXVsKGcpKTtyZXR1''@;'; put 'put ''cm4geX0sbS5wcm90b3R5cGUuaXVzaGxuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgYix5PWglMjYscD0oaC15KS8yNixnPTY3MTA4ODYzPj4+MjYteTw8MjYteTtpZigwIT09eSl7dmFyIF89MDtmb3IoYj0wO2I8dGhpcy5sZW5ndGg7YisrKXt2YXIgRT10''@;'; put 'put ''aGlzLndvcmRzW2JdJmc7dGhpcy53b3Jkc1tiXT0oMHx0aGlzLndvcmRzW2JdKS1FPDx5fF8sXz1FPj4+MjYteX1fJiYodGhpcy53b3Jkc1tiXT1fLHRoaXMubGVuZ3RoKyspfWlmKDAhPT1wKXtmb3IoYj10aGlzLmxlbmd0aC0xO2I+PTA7Yi0tKXRoaXMud29yZHNbYitwXT10aGlzLndvcmRz''@;'; put 'put ''W2JdO2ZvcihiPTA7YjxwO2IrKyl0aGlzLndvcmRzW2JdPTA7dGhpcy5sZW5ndGgrPXB9cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaXNobG49ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaGxuKGgpfSxtLnByb3RvdHlwZS5pdXNocm49''@;'; put 'put ''ZnVuY3Rpb24oaCxiLHkpe3ZhciBwO0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKSxwPWI/KGItYiUyNikvMjY6MDt2YXIgZz1oJTI2LF89TWF0aC5taW4oKGgtZykvMjYsdGhpcy5sZW5ndGgpLEU9NjcxMDg4NjNeNjcxMDg4NjM+Pj5nPDxnLFc9eTtpZihwLT1fLHA9TWF0aC5tYXgoMCxw''@;'; put 'put ''KSxXKXtmb3IodmFyIEc9MDtHPF87RysrKVcud29yZHNbR109dGhpcy53b3Jkc1tHXTtXLmxlbmd0aD1ffWlmKDAhPT1fKWlmKHRoaXMubGVuZ3RoPl8pZm9yKHRoaXMubGVuZ3RoLT1fLEc9MDtHPHRoaXMubGVuZ3RoO0crKyl0aGlzLndvcmRzW0ddPXRoaXMud29yZHNbRytfXTtlbHNlIHRo''@;'; put 'put ''aXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xO3ZhciBYPTA7Zm9yKEc9dGhpcy5sZW5ndGgtMTtHPj0wJiYoMCE9PVh8fEc+PXApO0ctLSl7dmFyIG5lPTB8dGhpcy53b3Jkc1tHXTt0aGlzLndvcmRzW0ddPVg8PDI2LWd8bmU+Pj5nLFg9bmUmRX1yZXR1cm4gVyYmMCE9PVgmJihXLndvcmRz''@;'; put 'put ''W1cubGVuZ3RoKytdPVgpLDA9PT10aGlzLmxlbmd0aCYmKHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xKSx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlzaHJuPWZ1bmN0aW9uKGgsYix5KXtyZXR1cm4gQygwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNocm4oaCxiLHkpfSxtLnBy''@;'; put 'put ''b3RvdHlwZS5zaGxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXNobG4oaCl9LG0ucHJvdG90eXBlLnVzaGxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGgpfSxtLnByb3RvdHlwZS5zaHJuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCku''@;'; put 'put ''aXNocm4oaCl9LG0ucHJvdG90eXBlLnVzaHJuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKGgpfSxtLnByb3RvdHlwZS50ZXN0bj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIGI9aCUyNix5PShoLWIpLzI2O3JldHVybiEodGhpcy5s''@;'; put 'put ''ZW5ndGg8PXl8fCEodGhpcy53b3Jkc1t5XSYxPDxiKSl9LG0ucHJvdG90eXBlLmltYXNrbj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIGI9aCUyNix5PShoLWIpLzI2O3JldHVybiBDKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRo''@;'; put 'put ''IHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9eT90aGlzOigwIT09YiYmeSsrLHRoaXMubGVuZ3RoPU1hdGgubWluKHksdGhpcy5sZW5ndGgpLDAhPT1iJiYodGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9NjcxMDg4NjNeNjcxMDg4NjM+Pj5iPDxiKSx0aGlzLnN0cmlwKCkpfSxt''@;'; put 'put ''LnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbihoKX0sbS5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24oaCl7cmV0dXJuIEMoIm51bWJlciI9PXR5cGVvZiBoKSxDKGg8NjcxMDg4NjQpLGg8MD90aGlzLmlzdWJuKC1oKTowIT09dGhpcy5uZWdh''@;'; put 'put ''dGl2ZT8xPT09dGhpcy5sZW5ndGgmJigwfHRoaXMud29yZHNbMF0pPGg/KHRoaXMud29yZHNbMF09aC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJuKGgpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbiho''@;'; put 'put ''KX0sbS5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKGgpe3RoaXMud29yZHNbMF0rPWg7Zm9yKHZhciBiPTA7Yjx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tiXT49NjcxMDg4NjQ7YisrKXRoaXMud29yZHNbYl0tPTY3MTA4ODY0LGI9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbYisxXT0x''@;'; put 'put ''OnRoaXMud29yZHNbYisxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxiKzEpLHRoaXN9LG0ucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKGgpe2lmKEMoIm51bWJlciI9PXR5cGVvZiBoKSxDKGg8NjcxMDg4NjQpLGg8MClyZXR1cm4gdGhpcy5pYWRkbigtaCk7''@;'; put 'put ''aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKGgpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPWgsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlz''@;'; put 'put ''Lm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGI9MDtiPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2JdPDA7YisrKXRoaXMud29yZHNbYl0rPTY3MTA4ODY0LHRoaXMud29yZHNbYisxXS09MTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKGgpe3JldHVybiB0''@;'; put 'put ''aGlzLmNsb25lKCkuaWFkZG4oaCl9LG0ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihoKX0sbS5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30sbS5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7''@;'; put 'put ''cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LG0ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbihoLGIseSl7dmFyIHAsZzt0aGlzLl9leHBhbmQoaC5sZW5ndGgreSk7dmFyIEU9MDtmb3IocD0wO3A8aC5sZW5ndGg7cCsrKXtnPSgwfHRoaXMud29yZHNbcCt5XSkrRTt2YXIgVz0o''@;'; put 'put ''MHxoLndvcmRzW3BdKSpiO0U9KChnLT02NzEwODg2MyZXKT4+MjYpLShXLzY3MTA4ODY0fDApLHRoaXMud29yZHNbcCt5XT02NzEwODg2MyZnfWZvcig7cDx0aGlzLmxlbmd0aC15O3ArKylFPShnPSgwfHRoaXMud29yZHNbcCt5XSkrRSk+PjI2LHRoaXMud29yZHNbcCt5XT02NzEwODg2MyZn''@;'; put 'put ''O2lmKDA9PT1FKXJldHVybiB0aGlzLnN0cmlwKCk7Zm9yKEMoLTE9PT1FKSxFPTAscD0wO3A8dGhpcy5sZW5ndGg7cCsrKUU9KGc9LSgwfHRoaXMud29yZHNbcF0pK0UpPj4yNix0aGlzLndvcmRzW3BdPTY3MTA4ODYzJmc7cmV0dXJuIHRoaXMubmVnYXRpdmU9MSx0aGlzLnN0cmlwKCl9LG0u''@;'; put 'put ''cHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKGgsYil7dmFyIHkscD10aGlzLmNsb25lKCksZz1oLF89MHxnLndvcmRzW2cubGVuZ3RoLTFdOzAhPSh5PTI2LXRoaXMuX2NvdW50Qml0cyhfKSkmJihnPWcudXNobG4oeSkscC5pdXNobG4oeSksXz0wfGcud29yZHNbZy5sZW5ndGgtMV0pO3Zh''@;'; put 'put ''ciBFLFc9cC5sZW5ndGgtZy5sZW5ndGg7aWYoIm1vZCIhPT1iKXsoRT1uZXcgbShudWxsKSkubGVuZ3RoPVcrMSxFLndvcmRzPW5ldyBBcnJheShFLmxlbmd0aCk7Zm9yKHZhciBHPTA7RzxFLmxlbmd0aDtHKyspRS53b3Jkc1tHXT0wfXZhciBYPXAuY2xvbmUoKS5faXNobG5zdWJtdWwoZywx''@;'; put 'put ''LFcpOzA9PT1YLm5lZ2F0aXZlJiYocD1YLEUmJihFLndvcmRzW1ddPTEpKTtmb3IodmFyIG5lPVctMTtuZT49MDtuZS0tKXt2YXIgYWU9NjcxMDg4NjQqKDB8cC53b3Jkc1tnLmxlbmd0aCtuZV0pKygwfHAud29yZHNbZy5sZW5ndGgrbmUtMV0pO2ZvcihhZT1NYXRoLm1pbihhZS9ffDAsNjcx''@;'; put 'put ''MDg4NjMpLHAuX2lzaGxuc3VibXVsKGcsYWUsbmUpOzAhPT1wLm5lZ2F0aXZlOylhZS0tLHAubmVnYXRpdmU9MCxwLl9pc2hsbnN1Ym11bChnLDEsbmUpLHAuaXNaZXJvKCl8fChwLm5lZ2F0aXZlXj0xKTtFJiYoRS53b3Jkc1tuZV09YWUpfXJldHVybiBFJiZFLnN0cmlwKCkscC5zdHJpcCgp''@;'; put 'put ''LCJkaXYiIT09YiYmMCE9PXkmJnAuaXVzaHJuKHkpLHtkaXY6RXx8bnVsbCxtb2Q6cH19LG0ucHJvdG90eXBlLmRpdm1vZD1mdW5jdGlvbihoLGIseSl7cmV0dXJuIEMoIWguaXNaZXJvKCkpLHRoaXMuaXNaZXJvKCk/e2RpdjpuZXcgbSgwKSxtb2Q6bmV3IG0oMCl9OjAhPT10aGlzLm5lZ2F0''@;'; put 'put ''aXZlJiYwPT09aC5uZWdhdGl2ZT8oXz10aGlzLm5lZygpLmRpdm1vZChoLGIpLCJtb2QiIT09YiYmKHA9Xy5kaXYubmVnKCkpLCJkaXYiIT09YiYmKGc9Xy5tb2QubmVnKCkseSYmMCE9PWcubmVnYXRpdmUmJmcuaWFkZChoKSkse2RpdjpwLG1vZDpnfSk6MD09PXRoaXMubmVnYXRpdmUmJjAh''@;'; put 'put ''PT1oLm5lZ2F0aXZlPyhfPXRoaXMuZGl2bW9kKGgubmVnKCksYiksIm1vZCIhPT1iJiYocD1fLmRpdi5uZWcoKSkse2RpdjpwLG1vZDpfLm1vZH0pOjAhPSh0aGlzLm5lZ2F0aXZlJmgubmVnYXRpdmUpPyhfPXRoaXMubmVnKCkuZGl2bW9kKGgubmVnKCksYiksImRpdiIhPT1iJiYoZz1fLm1v''@;'; put 'put ''ZC5uZWcoKSx5JiYwIT09Zy5uZWdhdGl2ZSYmZy5pc3ViKGgpKSx7ZGl2Ol8uZGl2LG1vZDpnfSk6aC5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKGgpPDA/e2RpdjpuZXcgbSgwKSxtb2Q6dGhpc306MT09PWgubGVuZ3RoPyJkaXYiPT09Yj97ZGl2OnRoaXMuZGl2bihoLndvcmRzWzBd''@;'; put 'put ''KSxtb2Q6bnVsbH06Im1vZCI9PT1iP3tkaXY6bnVsbCxtb2Q6bmV3IG0odGhpcy5tb2RuKGgud29yZHNbMF0pKX06e2Rpdjp0aGlzLmRpdm4oaC53b3Jkc1swXSksbW9kOm5ldyBtKHRoaXMubW9kbihoLndvcmRzWzBdKSl9OnRoaXMuX3dvcmREaXYoaCxiKTt2YXIgcCxnLF99LG0ucHJvdG90''@;'; put 'put ''eXBlLmRpdj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5kaXZtb2QoaCwiZGl2IiwhMSkuZGl2fSxtLnByb3RvdHlwZS5tb2Q9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZGl2bW9kKGgsIm1vZCIsITEpLm1vZH0sbS5wcm90b3R5cGUudW1vZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5kaXZt''@;'; put 'put ''b2QoaCwibW9kIiwhMCkubW9kfSxtLnByb3RvdHlwZS5kaXZSb3VuZD1mdW5jdGlvbihoKXt2YXIgYj10aGlzLmRpdm1vZChoKTtpZihiLm1vZC5pc1plcm8oKSlyZXR1cm4gYi5kaXY7dmFyIHk9MCE9PWIuZGl2Lm5lZ2F0aXZlP2IubW9kLmlzdWIoaCk6Yi5tb2QscD1oLnVzaHJuKDEpLGc9''@;'; put 'put ''aC5hbmRsbigxKSxfPXkuY21wKHApO3JldHVybiBfPDB8fDE9PT1nJiYwPT09Xz9iLmRpdjowIT09Yi5kaXYubmVnYXRpdmU/Yi5kaXYuaXN1Ym4oMSk6Yi5kaXYuaWFkZG4oMSl9LG0ucHJvdG90eXBlLm1vZG49ZnVuY3Rpb24oaCl7QyhoPD02NzEwODg2Myk7Zm9yKHZhciBiPTY3MTA4ODY0''@;'; put 'put ''JWgseT0wLHA9dGhpcy5sZW5ndGgtMTtwPj0wO3AtLSl5PShiKnkrKDB8dGhpcy53b3Jkc1twXSkpJWg7cmV0dXJuIHl9LG0ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKGgpe0MoaDw9NjcxMDg4NjMpO2Zvcih2YXIgYj0wLHk9dGhpcy5sZW5ndGgtMTt5Pj0wO3ktLSl7dmFyIHA9KDB8dGhp''@;'; put 'put ''cy53b3Jkc1t5XSkrNjcxMDg4NjQqYjt0aGlzLndvcmRzW3ldPXAvaHwwLGI9cCVofXJldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmRpdm49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihoKX0sbS5wcm90b3R5cGUuZWdjZD1mdW5jdGlvbihoKXtDKDA9PT1o''@;'; put 'put ''Lm5lZ2F0aXZlKSxDKCFoLmlzWmVybygpKTt2YXIgYj10aGlzLHk9aC5jbG9uZSgpO2I9MCE9PWIubmVnYXRpdmU/Yi51bW9kKGgpOmIuY2xvbmUoKTtmb3IodmFyIHA9bmV3IG0oMSksZz1uZXcgbSgwKSxfPW5ldyBtKDApLEU9bmV3IG0oMSksVz0wO2IuaXNFdmVuKCkmJnkuaXNFdmVuKCk7''@;'; put 'put ''KWIuaXVzaHJuKDEpLHkuaXVzaHJuKDEpLCsrVztmb3IodmFyIEc9eS5jbG9uZSgpLFg9Yi5jbG9uZSgpOyFiLmlzWmVybygpOyl7Zm9yKHZhciBuZT0wLGFlPTE7MD09KGIud29yZHNbMF0mYWUpJiZuZTwyNjsrK25lLGFlPDw9MSk7aWYobmU+MClmb3IoYi5pdXNocm4obmUpO25lLS0gPjA7''@;'; put 'put ''KShwLmlzT2RkKCl8fGcuaXNPZGQoKSkmJihwLmlhZGQoRyksZy5pc3ViKFgpKSxwLml1c2hybigxKSxnLml1c2hybigxKTtmb3IodmFyIHVlPTAsYmU9MTswPT0oeS53b3Jkc1swXSZiZSkmJnVlPDI2OysrdWUsYmU8PD0xKTtpZih1ZT4wKWZvcih5Lml1c2hybih1ZSk7dWUtLSA+MDspKF8u''@;'; put 'put ''aXNPZGQoKXx8RS5pc09kZCgpKSYmKF8uaWFkZChHKSxFLmlzdWIoWCkpLF8uaXVzaHJuKDEpLEUuaXVzaHJuKDEpO2IuY21wKHkpPj0wPyhiLmlzdWIoeSkscC5pc3ViKF8pLGcuaXN1YihFKSk6KHkuaXN1YihiKSxfLmlzdWIocCksRS5pc3ViKGcpKX1yZXR1cm57YTpfLGI6RSxnY2Q6eS5p''@;'; put 'put ''dXNobG4oVyl9fSxtLnByb3RvdHlwZS5faW52bXA9ZnVuY3Rpb24oaCl7QygwPT09aC5uZWdhdGl2ZSksQyghaC5pc1plcm8oKSk7dmFyIGI9dGhpcyx5PWguY2xvbmUoKTtiPTAhPT1iLm5lZ2F0aXZlP2IudW1vZChoKTpiLmNsb25lKCk7Zm9yKHZhciBwLGc9bmV3IG0oMSksXz1uZXcgbSgw''@;'; put 'put ''KSxFPXkuY2xvbmUoKTtiLmNtcG4oMSk+MCYmeS5jbXBuKDEpPjA7KXtmb3IodmFyIFc9MCxHPTE7MD09KGIud29yZHNbMF0mRykmJlc8MjY7KytXLEc8PD0xKTtpZihXPjApZm9yKGIuaXVzaHJuKFcpO1ctLSA+MDspZy5pc09kZCgpJiZnLmlhZGQoRSksZy5pdXNocm4oMSk7Zm9yKHZhciBY''@;'; put 'put ''PTAsbmU9MTswPT0oeS53b3Jkc1swXSZuZSkmJlg8MjY7KytYLG5lPDw9MSk7aWYoWD4wKWZvcih5Lml1c2hybihYKTtYLS0gPjA7KV8uaXNPZGQoKSYmXy5pYWRkKEUpLF8uaXVzaHJuKDEpO2IuY21wKHkpPj0wPyhiLmlzdWIoeSksZy5pc3ViKF8pKTooeS5pc3ViKGIpLF8uaXN1YihnKSl9''@;'; put 'put ''cmV0dXJuKHA9MD09PWIuY21wbigxKT9nOl8pLmNtcG4oMCk8MCYmcC5pYWRkKGgpLHB9LG0ucHJvdG90eXBlLmdjZD1mdW5jdGlvbihoKXtpZih0aGlzLmlzWmVybygpKXJldHVybiBoLmFicygpO2lmKGguaXNaZXJvKCkpcmV0dXJuIHRoaXMuYWJzKCk7dmFyIGI9dGhpcy5jbG9uZSgpLHk9''@;'; put 'put ''aC5jbG9uZSgpO2IubmVnYXRpdmU9MCx5Lm5lZ2F0aXZlPTA7Zm9yKHZhciBwPTA7Yi5pc0V2ZW4oKSYmeS5pc0V2ZW4oKTtwKyspYi5pdXNocm4oMSkseS5pdXNocm4oMSk7Zm9yKDs7KXtmb3IoO2IuaXNFdmVuKCk7KWIuaXVzaHJuKDEpO2Zvcig7eS5pc0V2ZW4oKTspeS5pdXNocm4oMSk7''@;'; put 'put ''dmFyIGc9Yi5jbXAoeSk7aWYoZzwwKXt2YXIgXz1iO2I9eSx5PV99ZWxzZSBpZigwPT09Z3x8MD09PXkuY21wbigxKSlicmVhaztiLmlzdWIoeSl9cmV0dXJuIHkuaXVzaGxuKHApfSxtLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmVnY2QoaCkuYS51bW9kKGgpfSxt''@;'; put 'put ''LnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24oKXtyZXR1cm4gMD09KDEmdGhpcy53b3Jkc1swXSl9LG0ucHJvdG90eXBlLmlzT2RkPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PSgxJnRoaXMud29yZHNbMF0pfSxtLnByb3RvdHlwZS5hbmRsbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy53b3Jkc1sw''@;'; put 'put ''XSZofSxtLnByb3RvdHlwZS5iaW5jbj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCk7dmFyIGI9aCUyNix5PShoLWIpLzI2LHA9MTw8YjtpZih0aGlzLmxlbmd0aDw9eSlyZXR1cm4gdGhpcy5fZXhwYW5kKHkrMSksdGhpcy53b3Jkc1t5XXw9cCx0aGlzO2Zvcih2YXIgZz1wLF89''@;'; put 'put ''eTswIT09ZyYmXzx0aGlzLmxlbmd0aDtfKyspe3ZhciBFPTB8dGhpcy53b3Jkc1tfXTtnPShFKz1nKT4+PjI2LHRoaXMud29yZHNbX109RSY9NjcxMDg4NjN9cmV0dXJuIDAhPT1nJiYodGhpcy53b3Jkc1tfXT1nLHRoaXMubGVuZ3RoKyspLHRoaXN9LG0ucHJvdG90eXBlLmlzWmVybz1mdW5j''@;'; put 'put ''dGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxtLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKGgpe3ZhciBiLHk9aDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYheSlyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmeSlyZXR1cm4gMTtpZih0aGlz''@;'; put 'put ''LnN0cmlwKCksdGhpcy5sZW5ndGg+MSliPTE7ZWxzZXt5JiYoaD0taCksQyhoPD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgcD0wfHRoaXMud29yZHNbMF07Yj1wPT09aD8wOnA8aD8tMToxfXJldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1iOmJ9LG0ucHJvdG90eXBlLmNt''@;'; put 'put ''cD1mdW5jdGlvbihoKXtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PWgubmVnYXRpdmUpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT1oLm5lZ2F0aXZlKXJldHVybiAxO3ZhciBiPXRoaXMudWNtcChoKTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtYjpifSxtLnByb3Rv''@;'; put 'put ''dHlwZS51Y21wPWZ1bmN0aW9uKGgpe2lmKHRoaXMubGVuZ3RoPmgubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPGgubGVuZ3RoKXJldHVybi0xO2Zvcih2YXIgYj0wLHk9dGhpcy5sZW5ndGgtMTt5Pj0wO3ktLSl7dmFyIHA9MHx0aGlzLndvcmRzW3ldLGc9MHxoLndvcmRzW3ldO2lm''@;'; put 'put ''KHAhPT1nKXtwPGc/Yj0tMTpwPmcmJihiPTEpO2JyZWFrfX1yZXR1cm4gYn0sbS5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uKGgpe3JldHVybiAxPT09dGhpcy5jbXBuKGgpfSxtLnByb3RvdHlwZS5ndD1mdW5jdGlvbihoKXtyZXR1cm4gMT09PXRoaXMuY21wKGgpfSxtLnByb3RvdHlwZS5ndGVu''@;'; put 'put ''PWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcG4oaCk+PTB9LG0ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXAoaCk+PTB9LG0ucHJvdG90eXBlLmx0bj1mdW5jdGlvbihoKXtyZXR1cm4tMT09PXRoaXMuY21wbihoKX0sbS5wcm90b3R5cGUubHQ9ZnVuY3Rpb24o''@;'; put 'put ''aCl7cmV0dXJuLTE9PT10aGlzLmNtcChoKX0sbS5wcm90b3R5cGUubHRlbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXBuKGgpPD0wfSxtLnByb3RvdHlwZS5sdGU9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY21wKGgpPD0wfSxtLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24oaCl7cmV0dXJu''@;'; put 'put ''IDA9PT10aGlzLmNtcG4oaCl9LG0ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKGgpe3JldHVybiAwPT09dGhpcy5jbXAoaCl9LG0ucmVkPWZ1bmN0aW9uKGgpe3JldHVybiBuZXcgJChoKX0sbS5wcm90b3R5cGUudG9SZWQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoIXRoaXMucmVkLCJBbHJlYWR5IGEg''@;'; put 'put ''bnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksQygwPT09dGhpcy5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxoLmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoaCl9LG0ucHJvdG90eXBlLmZyb21SZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwi''@;'; put 'put ''ZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfSxtLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMucmVkPWgsdGhpc30sbS5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVu''@;'; put 'put ''Y3Rpb24oaCl7cmV0dXJuIEMoIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5fZm9yY2VSZWQoaCl9LG0ucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQg''@;'; put 'put ''bnVtYmVycyIpLHRoaXMucmVkLmFkZCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlhZGQodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkU3ViPWZ1''@;'; put 'put ''bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc3ViKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZElTdWIgd29ya3Mgb25seSB3aXRoIHJl''@;'; put 'put ''ZCBudW1iZXJzIiksdGhpcy5yZWQuaXN1Yih0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zaGwodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkTXVsPWZ1''@;'; put 'put ''bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxoKSx0aGlzLnJlZC5tdWwodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkSU11bD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwi''@;'; put 'put ''cmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsaCksdGhpcy5yZWQuaW11bCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVt''@;'; put 'put ''YmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcih0aGlzKX0sbS5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRo''@;'; put 'put ''aXMucmVkLmlzcXIodGhpcyl9LG0ucHJvdG90eXBlLnJlZFNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXJ0KHRoaXMpfSxtLnByb3RvdHlwZS5y''@;'; put 'put ''ZWRJbnZtPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaW52bSh0aGlzKX0sbS5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5y''@;'; put 'put ''ZWQsInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5uZWcodGhpcyl9LG0ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCYmIWgucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpLHRo''@;'; put 'put ''aXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnBvdyh0aGlzLGgpfTt2YXIgVT17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIFYoaCxiKXt0aGlzLm5hbWU9aCx0aGlzLnA9bmV3IG0oYiwxNiksdGhpcy5uPXRoaXMucC5iaXRMZW5ndGgo''@;'; put 'put ''KSx0aGlzLms9bmV3IG0oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApLHRoaXMudG1wPXRoaXMuX3RtcCgpfWZ1bmN0aW9uIFIoKXtWLmNhbGwodGhpcywiazI1NiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZm''@;'; put 'put ''ZmZmYzJmIil9ZnVuY3Rpb24gQigpe1YuY2FsbCh0aGlzLCJwMjI0IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiKX1mdW5jdGlvbiBxKCl7Vi5jYWxsKHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZm''@;'; put 'put ''ZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIEooKXtWLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIil9ZnVuY3Rpb24gJChoKXtpZigic3RyaW5nIj09dHlw''@;'; put 'put ''ZW9mIGgpe3ZhciBiPW0uX3ByaW1lKGgpO3RoaXMubT1iLnAsdGhpcy5wcmltZT1ifWVsc2UgQyhoLmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPWgsdGhpcy5wcmltZT1udWxsfWZ1bmN0aW9uIHRlKGgpeyQuY2FsbCh0aGlzLGgpLHRoaXMuc2hpZnQ9''@;'; put 'put ''dGhpcy5tLmJpdExlbmd0aCgpLHRoaXMuc2hpZnQlMjYhPTAmJih0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2KSx0aGlzLnI9bmV3IG0oMSkuaXVzaGxuKHRoaXMuc2hpZnQpLHRoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSksdGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5t''@;'; put 'put ''KSx0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pLHRoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpLHRoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9Vi5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbigpe3ZhciBoPW5ldyBtKG51bGwp''@;'; put 'put ''O3JldHVybiBoLndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSksaH0sVi5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbihoKXt2YXIgYix5PWg7ZG97dGhpcy5zcGxpdCh5LHRoaXMudG1wKSxiPSh5PSh5PXRoaXMuaW11bEsoeSkpLmlhZGQodGhpcy50bXApKS5iaXRMZW5n''@;'; put 'put ''dGgoKX13aGlsZShiPnRoaXMubik7dmFyIHA9Yjx0aGlzLm4/LTE6eS51Y21wKHRoaXMucCk7cmV0dXJuIDA9PT1wPyh5LndvcmRzWzBdPTAseS5sZW5ndGg9MSk6cD4wP3kuaXN1Yih0aGlzLnApOnZvaWQgMCE9PXkuc3RyaXA/eS5zdHJpcCgpOnkuX3N0cmlwKCkseX0sVi5wcm90b3R5cGUu''@;'; put 'put ''c3BsaXQ9ZnVuY3Rpb24oaCxiKXtoLml1c2hybih0aGlzLm4sMCxiKX0sVi5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oaCl7cmV0dXJuIGguaW11bCh0aGlzLmspfSxTKFIsViksUi5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24oaCxiKXtmb3IodmFyIHk9NDE5NDMwMyxwPU1hdGgubWluKGgu''@;'; put 'put ''bGVuZ3RoLDkpLGc9MDtnPHA7ZysrKWIud29yZHNbZ109aC53b3Jkc1tnXTtpZihiLmxlbmd0aD1wLGgubGVuZ3RoPD05KXJldHVybiBoLndvcmRzWzBdPTAsdm9pZChoLmxlbmd0aD0xKTt2YXIgXz1oLndvcmRzWzldO2ZvcihiLndvcmRzW2IubGVuZ3RoKytdPV8meSxnPTEwO2c8aC5sZW5n''@;'; put 'put ''dGg7ZysrKXt2YXIgRT0wfGgud29yZHNbZ107aC53b3Jkc1tnLTEwXT0oRSZ5KTw8NHxfPj4+MjIsXz1FfWgud29yZHNbZy0xMF09Xz4+Pj0yMixoLmxlbmd0aC09MD09PV8mJmgubGVuZ3RoPjEwPzEwOjl9LFIucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKGgpe2gud29yZHNbaC5sZW5ndGhd''@;'; put 'put ''PTAsaC53b3Jkc1toLmxlbmd0aCsxXT0wLGgubGVuZ3RoKz0yO2Zvcih2YXIgYj0wLHk9MDt5PGgubGVuZ3RoO3krKyl7dmFyIHA9MHxoLndvcmRzW3ldO2gud29yZHNbeV09NjcxMDg4NjMmKGIrPTk3NypwKSxiPTY0KnArKGIvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT1oLndvcmRzW2gubGVu''@;'; put 'put ''Z3RoLTFdJiYoaC5sZW5ndGgtLSwwPT09aC53b3Jkc1toLmxlbmd0aC0xXSYmaC5sZW5ndGgtLSksaH0sUyhCLFYpLFMocSxWKSxTKEosViksSi5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oaCl7Zm9yKHZhciBiPTAseT0wO3k8aC5sZW5ndGg7eSsrKXt2YXIgcD0xOSooMHxoLndvcmRzW3ld''@;'; put 'put ''KStiLGc9NjcxMDg4NjMmcDtwPj4+PTI2LGgud29yZHNbeV09ZyxiPXB9cmV0dXJuIDAhPT1iJiYoaC53b3Jkc1toLmxlbmd0aCsrXT1iKSxofSxtLl9wcmltZT1mdW5jdGlvbihoKXtpZihVW2hdKXJldHVybiBVW2hdO3ZhciBiO2lmKCJrMjU2Ij09PWgpYj1uZXcgUjtlbHNlIGlmKCJwMjI0''@;'; put 'put ''Ij09PWgpYj1uZXcgQjtlbHNlIGlmKCJwMTkyIj09PWgpYj1uZXcgcTtlbHNle2lmKCJwMjU1MTkiIT09aCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIitoKTtiPW5ldyBKfXJldHVybiBVW2hdPWIsYn0sJC5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24oaCl7QygwPT09aC5u''@;'; put 'put ''ZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxDKGgucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LCQucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKGgsYil7QygwPT0oaC5uZWdhdGl2ZXxiLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkg''@;'; put 'put ''d2l0aCBwb3NpdGl2ZXMiKSxDKGgucmVkJiZoLnJlZD09PWIucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LCQucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKGgpLl9mb3JjZVJlZCh0aGlzKTpoLnVt''@;'; put 'put ''b2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LCQucHJvdG90eXBlLm5lZz1mdW5jdGlvbihoKXtyZXR1cm4gaC5pc1plcm8oKT9oLmNsb25lKCk6dGhpcy5tLnN1YihoKS5fZm9yY2VSZWQodGhpcyl9LCQucHJvdG90eXBlLmFkZD1mdW5jdGlvbihoLGIpe3RoaXMuX3ZlcmlmeTIoaCxiKTt2''@;'; put 'put ''YXIgeT1oLmFkZChiKTtyZXR1cm4geS5jbXAodGhpcy5tKT49MCYmeS5pc3ViKHRoaXMubSkseS5fZm9yY2VSZWQodGhpcyl9LCQucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFyIHk9aC5pYWRkKGIpO3JldHVybiB5LmNtcCh0aGlzLm0pPj0wJiZ5''@;'; put 'put ''LmlzdWIodGhpcy5tKSx5fSwkLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFyIHk9aC5zdWIoYik7cmV0dXJuIHkuY21wbigwKTwwJiZ5LmlhZGQodGhpcy5tKSx5Ll9mb3JjZVJlZCh0aGlzKX0sJC5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbihoLGIp''@;'; put 'put ''e3RoaXMuX3ZlcmlmeTIoaCxiKTt2YXIgeT1oLmlzdWIoYik7cmV0dXJuIHkuY21wbigwKTwwJiZ5LmlhZGQodGhpcy5tKSx5fSwkLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MShoKSx0aGlzLmltb2QoaC51c2hsbihiKSl9LCQucHJvdG90eXBlLmlt''@;'; put 'put ''dWw9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MihoLGIpLHRoaXMuaW1vZChoLmltdWwoYikpfSwkLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MihoLGIpLHRoaXMuaW1vZChoLm11bChiKSl9LCQucHJvdG90eXBlLmlzcXI9ZnVuY3Rp''@;'; put 'put ''b24oaCl7cmV0dXJuIHRoaXMuaW11bChoLGguY2xvbmUoKSl9LCQucHJvdG90eXBlLnNxcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5tdWwoaCxoKX0sJC5wcm90b3R5cGUuc3FydD1mdW5jdGlvbihoKXtpZihoLmlzWmVybygpKXJldHVybiBoLmNsb25lKCk7dmFyIGI9dGhpcy5tLmFuZGxu''@;'; put 'put ''KDMpO2lmKEMoYiUyPT0xKSwzPT09Yil7dmFyIHk9dGhpcy5tLmFkZChuZXcgbSgxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyhoLHkpfWZvcih2YXIgcD10aGlzLm0uc3VibigxKSxnPTA7IXAuaXNaZXJvKCkmJjA9PT1wLmFuZGxuKDEpOylnKysscC5pdXNocm4oMSk7QyghcC5pc1pl''@;'; put 'put ''cm8oKSk7dmFyIF89bmV3IG0oMSkudG9SZWQodGhpcyksRT1fLnJlZE5lZygpLFc9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLEc9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihHPW5ldyBtKDIqRypHKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coRyxXKS5jbXAoRSk7KUcucmVkSUFkZChFKTtm''@;'; put 'put ''b3IodmFyIFg9dGhpcy5wb3coRyxwKSxuZT10aGlzLnBvdyhoLHAuYWRkbigxKS5pdXNocm4oMSkpLGFlPXRoaXMucG93KGgscCksdWU9ZzswIT09YWUuY21wKF8pOyl7Zm9yKHZhciBiZT1hZSxfZT0wOzAhPT1iZS5jbXAoXyk7X2UrKyliZT1iZS5yZWRTcXIoKTtDKF9lPHVlKTt2YXIgbGU9''@;'; put 'put ''dGhpcy5wb3coWCxuZXcgbSgxKS5pdXNobG4odWUtX2UtMSkpO25lPW5lLnJlZE11bChsZSksWD1sZS5yZWRTcXIoKSxhZT1hZS5yZWRNdWwoWCksdWU9X2V9cmV0dXJuIG5lfSwkLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKGgpe3ZhciBiPWguX2ludm1wKHRoaXMubSk7cmV0dXJuIDAhPT1i''@;'; put 'put ''Lm5lZ2F0aXZlPyhiLm5lZ2F0aXZlPTAsdGhpcy5pbW9kKGIpLnJlZE5lZygpKTp0aGlzLmltb2QoYil9LCQucHJvdG90eXBlLnBvdz1mdW5jdGlvbihoLGIpe2lmKGIuaXNaZXJvKCkpcmV0dXJuIG5ldyBtKDEpLnRvUmVkKHRoaXMpO2lmKDA9PT1iLmNtcG4oMSkpcmV0dXJuIGguY2xvbmUo''@;'; put 'put ''KTt2YXIgeT1uZXcgQXJyYXkoMTYpO3lbMF09bmV3IG0oMSkudG9SZWQodGhpcykseVsxXT1oO2Zvcih2YXIgcD0yO3A8eS5sZW5ndGg7cCsrKXlbcF09dGhpcy5tdWwoeVtwLTFdLGgpO3ZhciBnPXlbMF0sXz0wLEU9MCxXPWIuYml0TGVuZ3RoKCklMjY7Zm9yKDA9PT1XJiYoVz0yNikscD1i''@;'; put 'put ''Lmxlbmd0aC0xO3A+PTA7cC0tKXtmb3IodmFyIEc9Yi53b3Jkc1twXSxYPVctMTtYPj0wO1gtLSl7dmFyIG5lPUc+PlgmMTtnIT09eVswXSYmKGc9dGhpcy5zcXIoZykpLDAhPT1uZXx8MCE9PV8/KF88PD0xLF98PW5lLCg0PT0rK0V8fDA9PT1wJiYwPT09WCkmJihnPXRoaXMubXVsKGcseVtf''@;'; put 'put ''XSksRT0wLF89MCkpOkU9MH1XPTI2fXJldHVybiBnfSwkLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24oaCl7dmFyIGI9aC51bW9kKHRoaXMubSk7cmV0dXJuIGI9PT1oP2IuY2xvbmUoKTpifSwkLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbihoKXt2YXIgYj1oLmNsb25lKCk7''@;'; put 'put ''cmV0dXJuIGIucmVkPW51bGwsYn0sbS5tb250PWZ1bmN0aW9uKGgpe3JldHVybiBuZXcgdGUoaCl9LFModGUsJCksdGUucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5pbW9kKGgudXNobG4odGhpcy5zaGlmdCkpfSx0ZS5wcm90b3R5cGUuY29udmVydEZyb209''@;'; put 'put ''ZnVuY3Rpb24oaCl7dmFyIGI9dGhpcy5pbW9kKGgubXVsKHRoaXMucmludikpO3JldHVybiBiLnJlZD1udWxsLGJ9LHRlLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKGgsYil7aWYoaC5pc1plcm8oKXx8Yi5pc1plcm8oKSlyZXR1cm4gaC53b3Jkc1swXT0wLGgubGVuZ3RoPTEsaDt2YXIgeT1o''@;'; put 'put ''LmltdWwoYikscD15Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxnPXkuaXN1YihwKS5pdXNocm4odGhpcy5zaGlmdCksXz1nO3JldHVybiBnLmNtcCh0aGlzLm0pPj0wP189Zy5pc3ViKHRoaXMubSk6Zy5jbXBuKDApPDAm''@;'; put 'put ''JihfPWcuaWFkZCh0aGlzLm0pKSxfLl9mb3JjZVJlZCh0aGlzKX0sdGUucHJvdG90eXBlLm11bD1mdW5jdGlvbihoLGIpe2lmKGguaXNaZXJvKCl8fGIuaXNaZXJvKCkpcmV0dXJuIG5ldyBtKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgeT1oLm11bChiKSxwPXkubWFza24odGhpcy5zaGlmdCku''@;'; put 'put ''bXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGc9eS5pc3ViKHApLml1c2hybih0aGlzLnNoaWZ0KSxfPWc7cmV0dXJuIGcuY21wKHRoaXMubSk+PTA/Xz1nLmlzdWIodGhpcy5tKTpnLmNtcG4oMCk8MCYmKF89Zy5pYWRkKHRoaXMubSkpLF8uX2ZvcmNlUmVk''@;'; put 'put ''KHRoaXMpfSx0ZS5wcm90b3R5cGUuaW52bT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5pbW9kKGguX2ludm1wKHRoaXMubSkubXVsKHRoaXMucjIpKS5fZm9yY2VSZWQodGhpcyl9fShaPWoubm1kKFopLHRoaXMpfSw2OTQ4OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49QTtOLnZlcnNp''@;'; put 'put ''b249aig4NTk3KS5pOCxOLnV0aWxzPWooOTUzKSxOLnJhbmQ9aig5OTMxKSxOLmN1cnZlPWooODI1NCksTi5jdXJ2ZXM9aig1NDI3KSxOLmVjPWooNzk1NCksTi5lZGRzYT1qKDU5ODApfSw0OTE4OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aigzNzg1KSx6PWooOTUzKSxDPXouZ2V0''@;'; put 'put ''TkFGLFM9ei5nZXRKU0YsbT16LmFzc2VydDtmdW5jdGlvbiBGKHcsUCl7dGhpcy50eXBlPXcsdGhpcy5wPW5ldyBOKFAucCwxNiksdGhpcy5yZWQ9UC5wcmltZT9OLnJlZChQLnByaW1lKTpOLm1vbnQodGhpcy5wKSx0aGlzLnplcm89bmV3IE4oMCkudG9SZWQodGhpcy5yZWQpLHRoaXMub25l''@;'; put 'put ''PW5ldyBOKDEpLnRvUmVkKHRoaXMucmVkKSx0aGlzLnR3bz1uZXcgTigyKS50b1JlZCh0aGlzLnJlZCksdGhpcy5uPVAubiYmbmV3IE4oUC5uLDE2KSx0aGlzLmc9UC5nJiZ0aGlzLnBvaW50RnJvbUpTT04oUC5nLFAuZ1JlZCksdGhpcy5fd25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl93bmFm''@;'; put 'put ''VDI9bmV3IEFycmF5KDQpLHRoaXMuX3duYWZUMz1uZXcgQXJyYXkoNCksdGhpcy5fd25hZlQ0PW5ldyBBcnJheSg0KSx0aGlzLl9iaXRMZW5ndGg9dGhpcy5uP3RoaXMubi5iaXRMZW5ndGgoKTowO3ZhciBNPXRoaXMubiYmdGhpcy5wLmRpdih0aGlzLm4pOyFNfHxNLmNtcG4oMTAwKT4wP3Ro''@;'; put 'put ''aXMucmVkTj1udWxsOih0aGlzLl9tYXh3ZWxsVHJpY2s9ITAsdGhpcy5yZWROPXRoaXMubi50b1JlZCh0aGlzLnJlZCkpfWZ1bmN0aW9uIEQodyxQKXt0aGlzLmN1cnZlPXcsdGhpcy50eXBlPVAsdGhpcy5wcmVjb21wdXRlZD1udWxsfVouZXhwb3J0cz1GLEYucHJvdG90eXBlLnBvaW50PWZ1''@;'; put 'put ''bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0sRi5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSxGLnByb3RvdHlwZS5fZml4ZWROYWZNdWw9ZnVuY3Rpb24odyxQKXttKHcucHJlY29tcHV0''@;'; put 'put ''ZWQpO3ZhciBNPXcuX2dldERvdWJsZXMoKSxrPUMoUCwxLHRoaXMuX2JpdExlbmd0aCksTz0oMTw8TS5zdGVwKzEpLShNLnN0ZXAlMj09MD8yOjEpO08vPTM7dmFyIEwsVCxZPVtdO2ZvcihMPTA7TDxrLmxlbmd0aDtMKz1NLnN0ZXApe1Q9MDtmb3IodmFyIEk9TCtNLnN0ZXAtMTtJPj1MO0kt''@;'; put 'put ''LSlUPShUPDwxKStrW0ldO1kucHVzaChUKX1mb3IodmFyIFU9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLFY9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLFI9TztSPjA7Ui0tKXtmb3IoTD0wO0w8WS5sZW5ndGg7TCsrKShUPVlbTF0pPT09Uj9WPVYubWl4ZWRBZGQoTS5wb2ludHNb''@;'; put 'put ''TF0pOlQ9PT0tUiYmKFY9Vi5taXhlZEFkZChNLnBvaW50c1tMXS5uZWcoKSkpO1U9VS5hZGQoVil9cmV0dXJuIFUudG9QKCl9LEYucHJvdG90eXBlLl93bmFmTXVsPWZ1bmN0aW9uKHcsUCl7Zm9yKHZhciBNPTQsaz13Ll9nZXROQUZQb2ludHMoTSksTz1rLnBvaW50cyxMPUMoUCxNPWsud25k''@;'; put 'put ''LHRoaXMuX2JpdExlbmd0aCksVD10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksWT1MLmxlbmd0aC0xO1k+PTA7WS0tKXtmb3IodmFyIEk9MDtZPj0wJiYwPT09TFtZXTtZLS0pSSsrO2lmKFk+PTAmJkkrKyxUPVQuZGJscChJKSxZPDApYnJlYWs7dmFyIFU9TFtZXTttKDAhPT1VKSxUPSJh''@;'; put 'put ''ZmZpbmUiPT09dy50eXBlP1QubWl4ZWRBZGQoVT4wP09bVS0xPj4xXTpPWy1VLTE+PjFdLm5lZygpKTpULmFkZChVPjA/T1tVLTE+PjFdOk9bLVUtMT4+MV0ubmVnKCkpfXJldHVybiJhZmZpbmUiPT09dy50eXBlP1QudG9QKCk6VH0sRi5wcm90b3R5cGUuX3duYWZNdWxBZGQ9ZnVuY3Rpb24o''@;'; put 'put ''dyxQLE0sayxPKXt2YXIgTCxULFksST10aGlzLl93bmFmVDEsVT10aGlzLl93bmFmVDIsVj10aGlzLl93bmFmVDMsUj0wO2ZvcihMPTA7TDxrO0wrKyl7dmFyIEI9KFk9UFtMXSkuX2dldE5BRlBvaW50cyh3KTtJW0xdPUIud25kLFVbTF09Qi5wb2ludHN9Zm9yKEw9ay0xO0w+PTE7TC09Mil7''@;'; put 'put ''dmFyIHE9TC0xLEo9TDtpZigxPT09SVtxXSYmMT09PUlbSl0pe3ZhciAkPVtQW3FdLG51bGwsbnVsbCxQW0pdXTswPT09UFtxXS55LmNtcChQW0pdLnkpPygkWzFdPVBbcV0uYWRkKFBbSl0pLCRbMl09UFtxXS50b0ooKS5taXhlZEFkZChQW0pdLm5lZygpKSk6MD09PVBbcV0ueS5jbXAoUFtK''@;'; put 'put ''XS55LnJlZE5lZygpKT8oJFsxXT1QW3FdLnRvSigpLm1peGVkQWRkKFBbSl0pLCRbMl09UFtxXS5hZGQoUFtKXS5uZWcoKSkpOigkWzFdPVBbcV0udG9KKCkubWl4ZWRBZGQoUFtKXSksJFsyXT1QW3FdLnRvSigpLm1peGVkQWRkKFBbSl0ubmVnKCkpKTt2YXIgdGU9Wy0zLC0xLC01LC03LDAs''@;'; put 'put ''Nyw1LDEsM10saD1TKE1bcV0sTVtKXSk7Zm9yKFI9TWF0aC5tYXgoaFswXS5sZW5ndGgsUiksVltxXT1uZXcgQXJyYXkoUiksVltKXT1uZXcgQXJyYXkoUiksVD0wO1Q8UjtUKyspVltxXVtUXT10ZVszKigxKygwfGhbMF1bVF0pKSsoMSsoMHxoWzFdW1RdKSldLFZbSl1bVF09MCxVW3FdPSR9''@;'; put 'put ''ZWxzZSBWW3FdPUMoTVtxXSxJW3FdLHRoaXMuX2JpdExlbmd0aCksVltKXT1DKE1bSl0sSVtKXSx0aGlzLl9iaXRMZW5ndGgpLFI9TWF0aC5tYXgoVltxXS5sZW5ndGgsUiksUj1NYXRoLm1heChWW0pdLmxlbmd0aCxSKX12YXIgcD10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksZz10aGlz''@;'; put 'put ''Ll93bmFmVDQ7Zm9yKEw9UjtMPj0wO0wtLSl7Zm9yKHZhciBfPTA7TD49MDspe3ZhciBFPSEwO2ZvcihUPTA7VDxrO1QrKylnW1RdPTB8VltUXVtMXSwwIT09Z1tUXSYmKEU9ITEpO2lmKCFFKWJyZWFrO18rKyxMLS19aWYoTD49MCYmXysrLHA9cC5kYmxwKF8pLEw8MClicmVhaztmb3IoVD0w''@;'; put 'put ''O1Q8aztUKyspe3ZhciBXPWdbVF07MCE9PVcmJihXPjA/WT1VW1RdW1ctMT4+MV06VzwwJiYoWT1VW1RdWy1XLTE+PjFdLm5lZygpKSxwPSJhZmZpbmUiPT09WS50eXBlP3AubWl4ZWRBZGQoWSk6cC5hZGQoWSkpfX1mb3IoTD0wO0w8aztMKyspVVtMXT1udWxsO3JldHVybiBPP3A6cC50b1Ao''@;'; put 'put ''KX0sRi5CYXNlUG9pbnQ9RCxELnByb3RvdHlwZS5lcT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9LEQucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VydmUudmFsaWRhdGUodGhpcyl9LEYucHJvdG90eXBlLmRlY29kZVBv''@;'; put 'put ''aW50PWZ1bmN0aW9uKHcsUCl7dz16LnRvQXJyYXkodyxQKTt2YXIgTT10aGlzLnAuYnl0ZUxlbmd0aCgpO2lmKCg0PT09d1swXXx8Nj09PXdbMF18fDc9PT13WzBdKSYmdy5sZW5ndGgtMT09MipNKXJldHVybiA2PT09d1swXT9tKHdbdy5sZW5ndGgtMV0lMj09MCk6Nz09PXdbMF0mJm0od1t3''@;'; put 'put ''Lmxlbmd0aC0xXSUyPT0xKSx0aGlzLnBvaW50KHcuc2xpY2UoMSwxK00pLHcuc2xpY2UoMStNLDErMipNKSk7aWYoKDI9PT13WzBdfHwzPT09d1swXSkmJncubGVuZ3RoLTE9PT1NKXJldHVybiB0aGlzLnBvaW50RnJvbVgody5zbGljZSgxLDErTSksMz09PXdbMF0pO3Rocm93IG5ldyBFcnJv''@;'; put 'put ''cigiVW5rbm93biBwb2ludCBmb3JtYXQiKX0sRC5wcm90b3R5cGUuZW5jb2RlQ29tcHJlc3NlZD1mdW5jdGlvbih3KXtyZXR1cm4gdGhpcy5lbmNvZGUodywhMCl9LEQucHJvdG90eXBlLl9lbmNvZGU9ZnVuY3Rpb24odyl7dmFyIFA9dGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKSxNPXRoaXMu''@;'; put 'put ''Z2V0WCgpLnRvQXJyYXkoImJlIixQKTtyZXR1cm4gdz9bdGhpcy5nZXRZKCkuaXNFdmVuKCk/MjozXS5jb25jYXQoTSk6WzRdLmNvbmNhdChNLHRoaXMuZ2V0WSgpLnRvQXJyYXkoImJlIixQKSl9LEQucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih3LFApe3JldHVybiB6LmVuY29kZSh0aGlz''@;'; put 'put ''Ll9lbmNvZGUoUCksdyl9LEQucHJvdG90eXBlLnByZWNvbXB1dGU9ZnVuY3Rpb24odyl7aWYodGhpcy5wcmVjb21wdXRlZClyZXR1cm4gdGhpczt2YXIgUD17ZG91YmxlczpudWxsLG5hZjpudWxsLGJldGE6bnVsbH07cmV0dXJuIFAubmFmPXRoaXMuX2dldE5BRlBvaW50cyg4KSxQLmRvdWJs''@;'; put 'put ''ZXM9dGhpcy5fZ2V0RG91Ymxlcyg0LHcpLFAuYmV0YT10aGlzLl9nZXRCZXRhKCksdGhpcy5wcmVjb21wdXRlZD1QLHRoaXN9LEQucHJvdG90eXBlLl9oYXNEb3VibGVzPWZ1bmN0aW9uKHcpe2lmKCF0aGlzLnByZWNvbXB1dGVkKXJldHVybiExO3ZhciBQPXRoaXMucHJlY29tcHV0ZWQuZG91''@;'; put 'put ''YmxlcztyZXR1cm4hIVAmJlAucG9pbnRzLmxlbmd0aD49TWF0aC5jZWlsKCh3LmJpdExlbmd0aCgpKzEpL1Auc3RlcCl9LEQucHJvdG90eXBlLl9nZXREb3VibGVzPWZ1bmN0aW9uKHcsUCl7aWYodGhpcy5wcmVjb21wdXRlZCYmdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzKXJldHVybiB0aGlz''@;'; put 'put ''LnByZWNvbXB1dGVkLmRvdWJsZXM7Zm9yKHZhciBNPVt0aGlzXSxrPXRoaXMsTz0wO088UDtPKz13KXtmb3IodmFyIEw9MDtMPHc7TCsrKWs9ay5kYmwoKTtNLnB1c2goayl9cmV0dXJue3N0ZXA6dyxwb2ludHM6TX19LEQucHJvdG90eXBlLl9nZXROQUZQb2ludHM9ZnVuY3Rpb24odyl7aWYo''@;'; put 'put ''dGhpcy5wcmVjb21wdXRlZCYmdGhpcy5wcmVjb21wdXRlZC5uYWYpcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQubmFmO2Zvcih2YXIgUD1bdGhpc10sTT0oMTw8dyktMSxrPTE9PT1NP251bGw6dGhpcy5kYmwoKSxPPTE7TzxNO08rKylQW09dPVBbTy0xXS5hZGQoayk7cmV0dXJue3duZDp3LHBv''@;'; put 'put ''aW50czpQfX0sRC5wcm90b3R5cGUuX2dldEJldGE9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sRC5wcm90b3R5cGUuZGJscD1mdW5jdGlvbih3KXtmb3IodmFyIFA9dGhpcyxNPTA7TTx3O00rKylQPVAuZGJsKCk7cmV0dXJuIFB9fSwxMTM4OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49''@;'; put 'put ''aig5NTMpLHo9aigzNzg1KSxDPWooNTcxNyksUz1qKDQ5MTgpLG09Ti5hc3NlcnQ7ZnVuY3Rpb24gRih3KXt0aGlzLnR3aXN0ZWQ9MSE9KDB8dy5hKSx0aGlzLm1PbmVBPXRoaXMudHdpc3RlZCYmLTE9PSgwfHcuYSksdGhpcy5leHRlbmRlZD10aGlzLm1PbmVBLFMuY2FsbCh0aGlzLCJlZHdh''@;'; put 'put ''cmRzIix3KSx0aGlzLmE9bmV3IHoody5hLDE2KS51bW9kKHRoaXMucmVkLm0pLHRoaXMuYT10aGlzLmEudG9SZWQodGhpcy5yZWQpLHRoaXMuYz1uZXcgeih3LmMsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmMyPXRoaXMuYy5yZWRTcXIoKSx0aGlzLmQ9bmV3IHoody5kLDE2KS50b1JlZCh0''@;'; put 'put ''aGlzLnJlZCksdGhpcy5kZD10aGlzLmQucmVkQWRkKHRoaXMuZCksbSghdGhpcy50d2lzdGVkfHwwPT09dGhpcy5jLmZyb21SZWQoKS5jbXBuKDEpKSx0aGlzLm9uZUM9MT09KDB8dy5jKX1mdW5jdGlvbiBEKHcsUCxNLGssTyl7Uy5CYXNlUG9pbnQuY2FsbCh0aGlzLHcsInByb2plY3RpdmUi''@;'; put 'put ''KSxudWxsPT09UCYmbnVsbD09PU0mJm51bGw9PT1rPyh0aGlzLng9dGhpcy5jdXJ2ZS56ZXJvLHRoaXMueT10aGlzLmN1cnZlLm9uZSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpcy50PXRoaXMuY3VydmUuemVybyx0aGlzLnpPbmU9ITApOih0aGlzLng9bmV3IHooUCwxNiksdGhpcy55PW5l''@;'; put 'put ''dyB6KE0sMTYpLHRoaXMuej1rP25ldyB6KGssMTYpOnRoaXMuY3VydmUub25lLHRoaXMudD1PJiZuZXcgeihPLDE2KSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMueS5yZWR8fCh0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVk''@;'; put 'put ''KSksdGhpcy56LnJlZHx8KHRoaXMuej10aGlzLnoudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnQmJiF0aGlzLnQucmVkJiYodGhpcy50PXRoaXMudC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuek9uZT10aGlzLno9PT10aGlzLmN1cnZlLm9uZSx0aGlzLmN1cnZlLmV4dGVuZGVk''@;'; put 'put ''JiYhdGhpcy50JiYodGhpcy50PXRoaXMueC5yZWRNdWwodGhpcy55KSx0aGlzLnpPbmV8fCh0aGlzLnQ9dGhpcy50LnJlZE11bCh0aGlzLnoucmVkSW52bSgpKSkpKX1DKEYsUyksWi5leHBvcnRzPUYsRi5wcm90b3R5cGUuX211bEE9ZnVuY3Rpb24odyl7cmV0dXJuIHRoaXMubU9uZUE/dy5y''@;'; put 'put ''ZWROZWcoKTp0aGlzLmEucmVkTXVsKHcpfSxGLnByb3RvdHlwZS5fbXVsQz1mdW5jdGlvbih3KXtyZXR1cm4gdGhpcy5vbmVDP3c6dGhpcy5jLnJlZE11bCh3KX0sRi5wcm90b3R5cGUuanBvaW50PWZ1bmN0aW9uKHcsUCxNLGspe3JldHVybiB0aGlzLnBvaW50KHcsUCxNLGspfSxGLnByb3Rv''@;'; put 'put ''dHlwZS5wb2ludEZyb21YPWZ1bmN0aW9uKHcsUCl7KHc9bmV3IHoodywxNikpLnJlZHx8KHc9dy50b1JlZCh0aGlzLnJlZCkpO3ZhciBNPXcucmVkU3FyKCksaz10aGlzLmMyLnJlZFN1Yih0aGlzLmEucmVkTXVsKE0pKSxPPXRoaXMub25lLnJlZFN1Yih0aGlzLmMyLnJlZE11bCh0aGlzLmQp''@;'; put 'put ''LnJlZE11bChNKSksTD1rLnJlZE11bChPLnJlZEludm0oKSksVD1MLnJlZFNxcnQoKTtpZigwIT09VC5yZWRTcXIoKS5yZWRTdWIoTCkuY21wKHRoaXMuemVybykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7dmFyIFk9VC5mcm9tUmVkKCkuaXNPZGQoKTtyZXR1cm4oUCYmIVl8''@;'; put 'put ''fCFQJiZZKSYmKFQ9VC5yZWROZWcoKSksdGhpcy5wb2ludCh3LFQpfSxGLnByb3RvdHlwZS5wb2ludEZyb21ZPWZ1bmN0aW9uKHcsUCl7KHc9bmV3IHoodywxNikpLnJlZHx8KHc9dy50b1JlZCh0aGlzLnJlZCkpO3ZhciBNPXcucmVkU3FyKCksaz1NLnJlZFN1Yih0aGlzLmMyKSxPPU0ucmVk''@;'; put 'put ''TXVsKHRoaXMuZCkucmVkTXVsKHRoaXMuYzIpLnJlZFN1Yih0aGlzLmEpLEw9ay5yZWRNdWwoTy5yZWRJbnZtKCkpO2lmKDA9PT1MLmNtcCh0aGlzLnplcm8pKXtpZihQKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBwb2ludCIpO3JldHVybiB0aGlzLnBvaW50KHRoaXMuemVybyx3KX12YXIg''@;'; put 'put ''VD1MLnJlZFNxcnQoKTtpZigwIT09VC5yZWRTcXIoKS5yZWRTdWIoTCkuY21wKHRoaXMuemVybykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7cmV0dXJuIFQuZnJvbVJlZCgpLmlzT2RkKCkhPT1QJiYoVD1ULnJlZE5lZygpKSx0aGlzLnBvaW50KFQsdyl9LEYucHJvdG90eXBl''@;'; put 'put ''LnZhbGlkYXRlPWZ1bmN0aW9uKHcpe2lmKHcuaXNJbmZpbml0eSgpKXJldHVybiEwO3cubm9ybWFsaXplKCk7dmFyIFA9dy54LnJlZFNxcigpLE09dy55LnJlZFNxcigpLGs9UC5yZWRNdWwodGhpcy5hKS5yZWRBZGQoTSksTz10aGlzLmMyLnJlZE11bCh0aGlzLm9uZS5yZWRBZGQodGhpcy5k''@;'; put 'put ''LnJlZE11bChQKS5yZWRNdWwoTSkpKTtyZXR1cm4gMD09PWsuY21wKE8pfSxDKEQsUy5CYXNlUG9pbnQpLEYucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24odyl7cmV0dXJuIEQuZnJvbUpTT04odGhpcyx3KX0sRi5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24odyxQLE0sayl7cmV0''@;'; put 'put ''dXJuIG5ldyBEKHRoaXMsdyxQLE0sayl9LEQuZnJvbUpTT049ZnVuY3Rpb24odyxQKXtyZXR1cm4gbmV3IEQodyxQWzBdLFBbMV0sUFsyXSl9LEQucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBQb2ludCBJbmZpbml0eT4iOiI8RUMg''@;'; put 'put ''UG9pbnQgeDogIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyIgeTogIit0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyIgejogIit0aGlzLnouZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyI+In0sRC5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biAwPT09dGhpcy54LmNtcG4oMCkmJigwPT09dGhpcy55LmNtcCh0aGlzLnopfHx0aGlzLnpPbmUmJjA9PT10aGlzLnkuY21wKHRoaXMuY3VydmUuYykpfSxELnByb3RvdHlwZS5fZXh0RGJsPWZ1bmN0aW9uKCl7dmFyIHc9dGhpcy54LnJlZFNxcigpLFA9dGhpcy55LnJlZFNxcigpLE09dGhp''@;'; put 'put ''cy56LnJlZFNxcigpO009TS5yZWRJQWRkKE0pO3ZhciBrPXRoaXMuY3VydmUuX211bEEodyksTz10aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCkucmVkSVN1Yih3KS5yZWRJU3ViKFApLEw9ay5yZWRBZGQoUCksVD1MLnJlZFN1YihNKSxZPWsucmVkU3ViKFApLEk9Ty5yZWRNdWwoVCks''@;'; put 'put ''VT1MLnJlZE11bChZKSxWPU8ucmVkTXVsKFkpLFI9VC5yZWRNdWwoTCk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQoSSxVLFIsVil9LEQucHJvdG90eXBlLl9wcm9qRGJsPWZ1bmN0aW9uKCl7dmFyIHcsUCxNLGssTyxMLFQ9dGhpcy54LnJlZEFkZCh0aGlzLnkpLnJlZFNxcigpLFk9dGhpcy54''@;'; put 'put ''LnJlZFNxcigpLEk9dGhpcy55LnJlZFNxcigpO2lmKHRoaXMuY3VydmUudHdpc3RlZCl7dmFyIFU9KGs9dGhpcy5jdXJ2ZS5fbXVsQShZKSkucmVkQWRkKEkpO3RoaXMuek9uZT8odz1ULnJlZFN1YihZKS5yZWRTdWIoSSkucmVkTXVsKFUucmVkU3ViKHRoaXMuY3VydmUudHdvKSksUD1VLnJl''@;'; put 'put ''ZE11bChrLnJlZFN1YihJKSksTT1VLnJlZFNxcigpLnJlZFN1YihVKS5yZWRTdWIoVSkpOihPPXRoaXMuei5yZWRTcXIoKSxMPVUucmVkU3ViKE8pLnJlZElTdWIoTyksdz1ULnJlZFN1YihZKS5yZWRJU3ViKEkpLnJlZE11bChMKSxQPVUucmVkTXVsKGsucmVkU3ViKEkpKSxNPVUucmVkTXVs''@;'; put 'put ''KEwpKX1lbHNlIGs9WS5yZWRBZGQoSSksTz10aGlzLmN1cnZlLl9tdWxDKHRoaXMueikucmVkU3FyKCksTD1rLnJlZFN1YihPKS5yZWRTdWIoTyksdz10aGlzLmN1cnZlLl9tdWxDKFQucmVkSVN1YihrKSkucmVkTXVsKEwpLFA9dGhpcy5jdXJ2ZS5fbXVsQyhrKS5yZWRNdWwoWS5yZWRJU3Vi''@;'; put 'put ''KEkpKSxNPWsucmVkTXVsKEwpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHcsUCxNKX0sRC5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpP3RoaXM6dGhpcy5jdXJ2ZS5leHRlbmRlZD90aGlzLl9leHREYmwoKTp0aGlzLl9wcm9qRGJsKCl9LEQucHJv''@;'; put 'put ''dG90eXBlLl9leHRBZGQ9ZnVuY3Rpb24odyl7dmFyIFA9dGhpcy55LnJlZFN1Yih0aGlzLngpLnJlZE11bCh3LnkucmVkU3ViKHcueCkpLE09dGhpcy55LnJlZEFkZCh0aGlzLngpLnJlZE11bCh3LnkucmVkQWRkKHcueCkpLGs9dGhpcy50LnJlZE11bCh0aGlzLmN1cnZlLmRkKS5yZWRNdWwo''@;'; put 'put ''dy50KSxPPXRoaXMuei5yZWRNdWwody56LnJlZEFkZCh3LnopKSxMPU0ucmVkU3ViKFApLFQ9Ty5yZWRTdWIoayksWT1PLnJlZEFkZChrKSxJPU0ucmVkQWRkKFApLFU9TC5yZWRNdWwoVCksVj1ZLnJlZE11bChJKSxSPUwucmVkTXVsKEkpLEI9VC5yZWRNdWwoWSk7cmV0dXJuIHRoaXMuY3Vy''@;'; put 'put ''dmUucG9pbnQoVSxWLEIsUil9LEQucHJvdG90eXBlLl9wcm9qQWRkPWZ1bmN0aW9uKHcpe3ZhciBQLE0saz10aGlzLnoucmVkTXVsKHcueiksTz1rLnJlZFNxcigpLEw9dGhpcy54LnJlZE11bCh3LngpLFQ9dGhpcy55LnJlZE11bCh3LnkpLFk9dGhpcy5jdXJ2ZS5kLnJlZE11bChMKS5yZWRN''@;'; put 'put ''dWwoVCksST1PLnJlZFN1YihZKSxVPU8ucmVkQWRkKFkpLFY9dGhpcy54LnJlZEFkZCh0aGlzLnkpLnJlZE11bCh3LngucmVkQWRkKHcueSkpLnJlZElTdWIoTCkucmVkSVN1YihUKSxSPWsucmVkTXVsKEkpLnJlZE11bChWKTtyZXR1cm4gdGhpcy5jdXJ2ZS50d2lzdGVkPyhQPWsucmVkTXVs''@;'; put 'put ''KFUpLnJlZE11bChULnJlZFN1Yih0aGlzLmN1cnZlLl9tdWxBKEwpKSksTT1JLnJlZE11bChVKSk6KFA9ay5yZWRNdWwoVSkucmVkTXVsKFQucmVkU3ViKEwpKSxNPXRoaXMuY3VydmUuX211bEMoSSkucmVkTXVsKFUpKSx0aGlzLmN1cnZlLnBvaW50KFIsUCxNKX0sRC5wcm90b3R5cGUuYWRk''@;'; put 'put ''PWZ1bmN0aW9uKHcpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT93OncuaXNJbmZpbml0eSgpP3RoaXM6dGhpcy5jdXJ2ZS5leHRlbmRlZD90aGlzLl9leHRBZGQodyk6dGhpcy5fcHJvakFkZCh3KX0sRC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHcpe3JldHVybiB0aGlzLl9oYXNEb3VibGVz''@;'; put 'put ''KHcpP3RoaXMuY3VydmUuX2ZpeGVkTmFmTXVsKHRoaXMsdyk6dGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLHcpfSxELnByb3RvdHlwZS5tdWxBZGQ9ZnVuY3Rpb24odyxQLE0pe3JldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsW3RoaXMsUF0sW3csTV0sMiwhMSl9LEQucHJvdG90eXBl''@;'; put 'put ''LmptdWxBZGQ9ZnVuY3Rpb24odyxQLE0pe3JldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsW3RoaXMsUF0sW3csTV0sMiwhMCl9LEQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe2lmKHRoaXMuek9uZSlyZXR1cm4gdGhpczt2YXIgdz10aGlzLnoucmVkSW52bSgpO3JldHVy''@;'; put 'put ''biB0aGlzLng9dGhpcy54LnJlZE11bCh3KSx0aGlzLnk9dGhpcy55LnJlZE11bCh3KSx0aGlzLnQmJih0aGlzLnQ9dGhpcy50LnJlZE11bCh3KSksdGhpcy56PXRoaXMuY3VydmUub25lLHRoaXMuek9uZT0hMCx0aGlzfSxELnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5j''@;'; put 'put ''dXJ2ZS5wb2ludCh0aGlzLngucmVkTmVnKCksdGhpcy55LHRoaXMueix0aGlzLnQmJnRoaXMudC5yZWROZWcoKSl9LEQucHJvdG90eXBlLmdldFg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKSx0aGlzLnguZnJvbVJlZCgpfSxELnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uKCl7''@;'; put 'put ''cmV0dXJuIHRoaXMubm9ybWFsaXplKCksdGhpcy55LmZyb21SZWQoKX0sRC5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odyl7cmV0dXJuIHRoaXM9PT13fHwwPT09dGhpcy5nZXRYKCkuY21wKHcuZ2V0WCgpKSYmMD09PXRoaXMuZ2V0WSgpLmNtcCh3LmdldFkoKSl9LEQucHJvdG90eXBlLmVxWFRv''@;'; put 'put ''UD1mdW5jdGlvbih3KXt2YXIgUD13LnRvUmVkKHRoaXMuY3VydmUucmVkKS5yZWRNdWwodGhpcy56KTtpZigwPT09dGhpcy54LmNtcChQKSlyZXR1cm4hMDtmb3IodmFyIE09dy5jbG9uZSgpLGs9dGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh0aGlzLnopOzspe2lmKE0uaWFkZCh0aGlzLmN1cnZl''@;'; put 'put ''Lm4pLE0uY21wKHRoaXMuY3VydmUucCk+PTApcmV0dXJuITE7aWYoUC5yZWRJQWRkKGspLDA9PT10aGlzLnguY21wKFApKXJldHVybiEwfX0sRC5wcm90b3R5cGUudG9QPUQucHJvdG90eXBlLm5vcm1hbGl6ZSxELnByb3RvdHlwZS5taXhlZEFkZD1ELnByb3RvdHlwZS5hZGR9LDgyNTQ6KFos''@;'; put 'put ''QSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1BO04uYmFzZT1qKDQ5MTgpLE4uc2hvcnQ9aig2NjczKSxOLm1vbnQ9aigyODgxKSxOLmVkd2FyZHM9aigxMTM4KX0sMjg4MTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooMzc4NSksej1qKDU3MTcpLEM9aig0OTE4KSxTPWooOTUzKTtm''@;'; put 'put ''dW5jdGlvbiBtKEQpe0MuY2FsbCh0aGlzLCJtb250IixEKSx0aGlzLmE9bmV3IE4oRC5hLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5iPW5ldyBOKEQuYiwxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuaTQ9bmV3IE4oNCkudG9SZWQodGhpcy5yZWQpLnJlZEludm0oKSx0aGlzLnR3bz1uZXcg''@;'; put 'put ''TigyKS50b1JlZCh0aGlzLnJlZCksdGhpcy5hMjQ9dGhpcy5pNC5yZWRNdWwodGhpcy5hLnJlZEFkZCh0aGlzLnR3bykpfWZ1bmN0aW9uIEYoRCx3LFApe0MuQmFzZVBvaW50LmNhbGwodGhpcyxELCJwcm9qZWN0aXZlIiksbnVsbD09PXcmJm51bGw9PT1QPyh0aGlzLng9dGhpcy5jdXJ2ZS5v''@;'; put 'put ''bmUsdGhpcy56PXRoaXMuY3VydmUuemVybyk6KHRoaXMueD1uZXcgTih3LDE2KSx0aGlzLno9bmV3IE4oUCwxNiksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnoucmVkfHwodGhpcy56PXRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCkp''@;'; put 'put ''KX16KG0sQyksWi5leHBvcnRzPW0sbS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oRCl7dmFyIHc9RC5ub3JtYWxpemUoKS54LFA9dy5yZWRTcXIoKSxNPVAucmVkTXVsKHcpLnJlZEFkZChQLnJlZE11bCh0aGlzLmEpKS5yZWRBZGQodyk7cmV0dXJuIDA9PT1NLnJlZFNxcnQoKS5yZWRT''@;'; put 'put ''cXIoKS5jbXAoTSl9LHooRixDLkJhc2VQb2ludCksbS5wcm90b3R5cGUuZGVjb2RlUG9pbnQ9ZnVuY3Rpb24oRCx3KXtyZXR1cm4gdGhpcy5wb2ludChTLnRvQXJyYXkoRCx3KSwxKX0sbS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24oRCx3KXtyZXR1cm4gbmV3IEYodGhpcyxELHcpfSxtLnBy''@;'; put 'put ''b3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKEQpe3JldHVybiBGLmZyb21KU09OKHRoaXMsRCl9LEYucHJvdG90eXBlLnByZWNvbXB1dGU9ZnVuY3Rpb24oKXt9LEYucHJvdG90eXBlLl9lbmNvZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRYKCkudG9BcnJheSgiYmUiLHRoaXMu''@;'; put 'put ''Y3VydmUucC5ieXRlTGVuZ3RoKCkpfSxGLmZyb21KU09OPWZ1bmN0aW9uKEQsdyl7cmV0dXJuIG5ldyBGKEQsd1swXSx3WzFdfHxELm9uZSl9LEYucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBQb2ludCBJbmZpbml0eT4iOiI8RUMg''@;'; put 'put ''UG9pbnQgeDogIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyIgejogIit0aGlzLnouZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyI+In0sRi5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy56LmNtcG4oMCl9LEYucHJvdG90eXBlLmRibD1m''@;'; put 'put ''dW5jdGlvbigpe3ZhciBEPXRoaXMueC5yZWRBZGQodGhpcy56KS5yZWRTcXIoKSx3PXRoaXMueC5yZWRTdWIodGhpcy56KS5yZWRTcXIoKSxQPUQucmVkU3ViKHcpLE09RC5yZWRNdWwodyksaz1QLnJlZE11bCh3LnJlZEFkZCh0aGlzLmN1cnZlLmEyNC5yZWRNdWwoUCkpKTtyZXR1cm4gdGhp''@;'; put 'put ''cy5jdXJ2ZS5wb2ludChNLGspfSxGLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSxGLnByb3RvdHlwZS5kaWZmQWRkPWZ1bmN0aW9uKEQsdyl7dmFyIFA9dGhpcy54LnJlZEFkZCh0aGlzLnopLE09''@;'; put 'put ''dGhpcy54LnJlZFN1Yih0aGlzLnopLGs9RC54LnJlZEFkZChELnopLE89RC54LnJlZFN1YihELnopLnJlZE11bChQKSxMPWsucmVkTXVsKE0pLFQ9dy56LnJlZE11bChPLnJlZEFkZChMKS5yZWRTcXIoKSksWT13LngucmVkTXVsKE8ucmVkSVN1YihMKS5yZWRTcXIoKSk7cmV0dXJuIHRoaXMu''@;'; put 'put ''Y3VydmUucG9pbnQoVCxZKX0sRi5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKEQpe2Zvcih2YXIgdz1ELmNsb25lKCksUD10aGlzLE09dGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpLGs9W107MCE9PXcuY21wbigwKTt3Lml1c2hybigxKSlrLnB1c2gody5hbmRsbigxKSk7Zm9yKHZhciBPPWsu''@;'; put 'put ''bGVuZ3RoLTE7Tz49MDtPLS0pMD09PWtbT10/KFA9UC5kaWZmQWRkKE0sdGhpcyksTT1NLmRibCgpKTooTT1QLmRpZmZBZGQoTSx0aGlzKSxQPVAuZGJsKCkpO3JldHVybiBNfSxGLnByb3RvdHlwZS5tdWxBZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24g''@;'; put 'put ''TW9udGdvbWVyeSBjdXJ2ZSIpfSxGLnByb3RvdHlwZS5qdW1sQWRkPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUiKX0sRi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24oRCl7cmV0dXJuIDA9PT10aGlzLmdldFgoKS5jbXAoRC5nZXRY''@;'; put 'put ''KCkpfSxGLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54PXRoaXMueC5yZWRNdWwodGhpcy56LnJlZEludm0oKSksdGhpcy56PXRoaXMuY3VydmUub25lLHRoaXN9LEYucHJvdG90eXBlLmdldFg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKSx0''@;'; put 'put ''aGlzLnguZnJvbVJlZCgpfX0sNjY3MzooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooOTUzKSx6PWooMzc4NSksQz1qKDU3MTcpLFM9aig0OTE4KSxtPU4uYXNzZXJ0O2Z1bmN0aW9uIEYoUCl7Uy5jYWxsKHRoaXMsInNob3J0IixQKSx0aGlzLmE9bmV3IHooUC5hLDE2KS50b1JlZCh0''@;'; put 'put ''aGlzLnJlZCksdGhpcy5iPW5ldyB6KFAuYiwxNikudG9SZWQodGhpcy5yZWQpLHRoaXMudGludj10aGlzLnR3by5yZWRJbnZtKCksdGhpcy56ZXJvQT0wPT09dGhpcy5hLmZyb21SZWQoKS5jbXBuKDApLHRoaXMudGhyZWVBPTA9PT10aGlzLmEuZnJvbVJlZCgpLnN1Yih0aGlzLnApLmNtcG4o''@;'; put 'put ''LTMpLHRoaXMuZW5kbz10aGlzLl9nZXRFbmRvbW9ycGhpc20oUCksdGhpcy5fZW5kb1duYWZUMT1uZXcgQXJyYXkoNCksdGhpcy5fZW5kb1duYWZUMj1uZXcgQXJyYXkoNCl9ZnVuY3Rpb24gRChQLE0sayxPKXtTLkJhc2VQb2ludC5jYWxsKHRoaXMsUCwiYWZmaW5lIiksbnVsbD09PU0mJm51''@;'; put 'put ''bGw9PT1rPyh0aGlzLng9bnVsbCx0aGlzLnk9bnVsbCx0aGlzLmluZj0hMCk6KHRoaXMueD1uZXcgeihNLDE2KSx0aGlzLnk9bmV3IHooaywxNiksTyYmKHRoaXMueC5mb3JjZVJlZCh0aGlzLmN1cnZlLnJlZCksdGhpcy55LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy54LnJlZHx8''@;'; put 'put ''KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuaW5mPSExKX1mdW5jdGlvbiB3KFAsTSxrLE8pe1MuQmFzZVBvaW50LmNhbGwodGhpcyxQLCJqYWNvYmlhbiIpLG51bGw9PT1N''@;'; put 'put ''JiZudWxsPT09ayYmbnVsbD09PU8/KHRoaXMueD10aGlzLmN1cnZlLm9uZSx0aGlzLnk9dGhpcy5jdXJ2ZS5vbmUsdGhpcy56PW5ldyB6KDApKToodGhpcy54PW5ldyB6KE0sMTYpLHRoaXMueT1uZXcgeihrLDE2KSx0aGlzLno9bmV3IHooTywxNikpLHRoaXMueC5yZWR8fCh0aGlzLng9dGhp''@;'; put 'put ''cy54LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy55LnJlZHx8KHRoaXMueT10aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnoucmVkfHwodGhpcy56PXRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuek9uZT10aGlzLno9PT10aGlzLmN1cnZlLm9uZX1DKEYs''@;'; put 'put ''UyksWi5leHBvcnRzPUYsRi5wcm90b3R5cGUuX2dldEVuZG9tb3JwaGlzbT1mdW5jdGlvbihQKXtpZih0aGlzLnplcm9BJiZ0aGlzLmcmJnRoaXMubiYmMT09PXRoaXMucC5tb2RuKDMpKXt2YXIgTSxrO2lmKFAuYmV0YSlNPW5ldyB6KFAuYmV0YSwxNikudG9SZWQodGhpcy5yZWQpO2Vsc2V7''@;'; put 'put ''dmFyIE89dGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMucCk7TT0oTT1PWzBdLmNtcChPWzFdKTwwP09bMF06T1sxXSkudG9SZWQodGhpcy5yZWQpfWlmKFAubGFtYmRhKWs9bmV3IHooUC5sYW1iZGEsMTYpO2Vsc2V7dmFyIEw9dGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMubik7MD09PXRoaXMuZy5t''@;'; put 'put ''dWwoTFswXSkueC5jbXAodGhpcy5nLngucmVkTXVsKE0pKT9rPUxbMF06bSgwPT09dGhpcy5nLm11bChrPUxbMV0pLnguY21wKHRoaXMuZy54LnJlZE11bChNKSkpfXJldHVybntiZXRhOk0sbGFtYmRhOmssYmFzaXM6UC5iYXNpcz9QLmJhc2lzLm1hcChmdW5jdGlvbihUKXtyZXR1cm57YTpu''@;'; put 'put ''ZXcgeihULmEsMTYpLGI6bmV3IHooVC5iLDE2KX19KTp0aGlzLl9nZXRFbmRvQmFzaXMoayl9fX0sRi5wcm90b3R5cGUuX2dldEVuZG9Sb290cz1mdW5jdGlvbihQKXt2YXIgTT1QPT09dGhpcy5wP3RoaXMucmVkOnoubW9udChQKSxrPW5ldyB6KDIpLnRvUmVkKE0pLnJlZEludm0oKSxPPWsu''@;'; put 'put ''cmVkTmVnKCksTD1uZXcgeigzKS50b1JlZChNKS5yZWROZWcoKS5yZWRTcXJ0KCkucmVkTXVsKGspO3JldHVybltPLnJlZEFkZChMKS5mcm9tUmVkKCksTy5yZWRTdWIoTCkuZnJvbVJlZCgpXX0sRi5wcm90b3R5cGUuX2dldEVuZG9CYXNpcz1mdW5jdGlvbihQKXtmb3IodmFyIE0sayxPLEws''@;'; put 'put ''VCxZLEksVSxWLFI9dGhpcy5uLnVzaHJuKE1hdGguZmxvb3IodGhpcy5uLmJpdExlbmd0aCgpLzIpKSxCPVAscT10aGlzLm4uY2xvbmUoKSxKPW5ldyB6KDEpLCQ9bmV3IHooMCksdGU9bmV3IHooMCksaD1uZXcgeigxKSxiPTA7MCE9PUIuY21wbigwKTspe3ZhciB5PXEuZGl2KEIpO1U9cS5z''@;'; put 'put ''dWIoeS5tdWwoQikpLFY9dGUuc3ViKHkubXVsKEopKTt2YXIgcD1oLnN1Yih5Lm11bCgkKSk7aWYoIU8mJlUuY21wKFIpPDApTT1JLm5lZygpLGs9SixPPVUubmVnKCksTD1WO2Vsc2UgaWYoTyYmMj09KytiKWJyZWFrO0k9VSxxPUIsQj1VLHRlPUosSj1WLGg9JCwkPXB9VD1VLm5lZygpLFk9''@;'; put 'put ''Vjt2YXIgZz1PLnNxcigpLmFkZChMLnNxcigpKTtyZXR1cm4gVC5zcXIoKS5hZGQoWS5zcXIoKSkuY21wKGcpPj0wJiYoVD1NLFk9ayksTy5uZWdhdGl2ZSYmKE89Ty5uZWcoKSxMPUwubmVnKCkpLFQubmVnYXRpdmUmJihUPVQubmVnKCksWT1ZLm5lZygpKSxbe2E6TyxiOkx9LHthOlQsYjpZ''@;'; put 'put ''fV19LEYucHJvdG90eXBlLl9lbmRvU3BsaXQ9ZnVuY3Rpb24oUCl7dmFyIE09dGhpcy5lbmRvLmJhc2lzLGs9TVswXSxPPU1bMV0sTD1PLmIubXVsKFApLmRpdlJvdW5kKHRoaXMubiksVD1rLmIubmVnKCkubXVsKFApLmRpdlJvdW5kKHRoaXMubiksWT1MLm11bChrLmEpLEk9VC5tdWwoTy5h''@;'; put 'put ''KSxVPUwubXVsKGsuYiksVj1ULm11bChPLmIpO3JldHVybntrMTpQLnN1YihZKS5zdWIoSSksazI6VS5hZGQoVikubmVnKCl9fSxGLnByb3RvdHlwZS5wb2ludEZyb21YPWZ1bmN0aW9uKFAsTSl7KFA9bmV3IHooUCwxNikpLnJlZHx8KFA9UC50b1JlZCh0aGlzLnJlZCkpO3ZhciBrPVAucmVk''@;'; put 'put ''U3FyKCkucmVkTXVsKFApLnJlZElBZGQoUC5yZWRNdWwodGhpcy5hKSkucmVkSUFkZCh0aGlzLmIpLE89ay5yZWRTcXJ0KCk7aWYoMCE9PU8ucmVkU3FyKCkucmVkU3ViKGspLmNtcCh0aGlzLnplcm8pKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBwb2ludCIpO3ZhciBMPU8uZnJvbVJlZCgp''@;'; put 'put ''LmlzT2RkKCk7cmV0dXJuKE0mJiFMfHwhTSYmTCkmJihPPU8ucmVkTmVnKCkpLHRoaXMucG9pbnQoUCxPKX0sRi5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oUCl7aWYoUC5pbmYpcmV0dXJuITA7dmFyIE09UC54LGs9UC55LE89dGhpcy5hLnJlZE11bChNKSxMPU0ucmVkU3FyKCkucmVk''@;'; put 'put ''TXVsKE0pLnJlZElBZGQoTykucmVkSUFkZCh0aGlzLmIpO3JldHVybiAwPT09ay5yZWRTcXIoKS5yZWRJU3ViKEwpLmNtcG4oMCl9LEYucHJvdG90eXBlLl9lbmRvV25hZk11bEFkZD1mdW5jdGlvbihQLE0sayl7Zm9yKHZhciBPPXRoaXMuX2VuZG9XbmFmVDEsTD10aGlzLl9lbmRvV25hZlQy''@;'; put 'put ''LFQ9MDtUPFAubGVuZ3RoO1QrKyl7dmFyIFk9dGhpcy5fZW5kb1NwbGl0KE1bVF0pLEk9UFtUXSxVPUkuX2dldEJldGEoKTtZLmsxLm5lZ2F0aXZlJiYoWS5rMS5pbmVnKCksST1JLm5lZyghMCkpLFkuazIubmVnYXRpdmUmJihZLmsyLmluZWcoKSxVPVUubmVnKCEwKSksT1syKlRdPUksT1sy''@;'; put 'put ''KlQrMV09VSxMWzIqVF09WS5rMSxMWzIqVCsxXT1ZLmsyfWZvcih2YXIgVj10aGlzLl93bmFmTXVsQWRkKDEsTyxMLDIqVCxrKSxSPTA7UjwyKlQ7UisrKU9bUl09bnVsbCxMW1JdPW51bGw7cmV0dXJuIFZ9LEMoRCxTLkJhc2VQb2ludCksRi5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24oUCxN''@;'; put 'put ''LGspe3JldHVybiBuZXcgRCh0aGlzLFAsTSxrKX0sRi5wcm90b3R5cGUucG9pbnRGcm9tSlNPTj1mdW5jdGlvbihQLE0pe3JldHVybiBELmZyb21KU09OKHRoaXMsUCxNKX0sRC5wcm90b3R5cGUuX2dldEJldGE9ZnVuY3Rpb24oKXtpZih0aGlzLmN1cnZlLmVuZG8pe3ZhciBQPXRoaXMucHJl''@;'; put 'put ''Y29tcHV0ZWQ7aWYoUCYmUC5iZXRhKXJldHVybiBQLmJldGE7dmFyIE09dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngucmVkTXVsKHRoaXMuY3VydmUuZW5kby5iZXRhKSx0aGlzLnkpO2lmKFApe3ZhciBrPXRoaXMuY3VydmUsTz1mdW5jdGlvbihMKXtyZXR1cm4gay5wb2ludChMLngucmVkTXVs''@;'; put 'put ''KGsuZW5kby5iZXRhKSxMLnkpfTtQLmJldGE9TSxNLnByZWNvbXB1dGVkPXtiZXRhOm51bGwsbmFmOlAubmFmJiZ7d25kOlAubmFmLnduZCxwb2ludHM6UC5uYWYucG9pbnRzLm1hcChPKX0sZG91YmxlczpQLmRvdWJsZXMmJntzdGVwOlAuZG91Ymxlcy5zdGVwLHBvaW50czpQLmRvdWJsZXMu''@;'; put 'put ''cG9pbnRzLm1hcChPKX19fXJldHVybiBNfX0sRC5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJlY29tcHV0ZWQ/W3RoaXMueCx0aGlzLnksdGhpcy5wcmVjb21wdXRlZCYme2RvdWJsZXM6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzJiZ7c3RlcDp0aGlzLnByZWNv''@;'; put 'put ''bXB1dGVkLmRvdWJsZXMuc3RlcCxwb2ludHM6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnBvaW50cy5zbGljZSgxKX0sbmFmOnRoaXMucHJlY29tcHV0ZWQubmFmJiZ7d25kOnRoaXMucHJlY29tcHV0ZWQubmFmLnduZCxwb2ludHM6dGhpcy5wcmVjb21wdXRlZC5uYWYucG9pbnRzLnNsaWNl''@;'; put 'put ''KDEpfX1dOlt0aGlzLngsdGhpcy55XX0sRC5mcm9tSlNPTj1mdW5jdGlvbihQLE0sayl7InN0cmluZyI9PXR5cGVvZiBNJiYoTT1KU09OLnBhcnNlKE0pKTt2YXIgTz1QLnBvaW50KE1bMF0sTVsxXSxrKTtpZighTVsyXSlyZXR1cm4gTztmdW5jdGlvbiBMKFkpe3JldHVybiBQLnBvaW50KFlb''@;'; put 'put ''MF0sWVsxXSxrKX12YXIgVD1NWzJdO3JldHVybiBPLnByZWNvbXB1dGVkPXtiZXRhOm51bGwsZG91YmxlczpULmRvdWJsZXMmJntzdGVwOlQuZG91Ymxlcy5zdGVwLHBvaW50czpbT10uY29uY2F0KFQuZG91Ymxlcy5wb2ludHMubWFwKEwpKX0sbmFmOlQubmFmJiZ7d25kOlQubmFmLnduZCxw''@;'; put 'put ''b2ludHM6W09dLmNvbmNhdChULm5hZi5wb2ludHMubWFwKEwpKX19LE99LEQucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBQb2ludCBJbmZpbml0eT4iOiI8RUMgUG9pbnQgeDogIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2''@;'; put 'put ''LDIpKyIgeTogIit0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyI+In0sRC5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluZn0sRC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKFApe2lmKHRoaXMuaW5mKXJldHVybiBQO2lmKFAuaW5mKXJldHVybiB0''@;'; put 'put ''aGlzO2lmKHRoaXMuZXEoUCkpcmV0dXJuIHRoaXMuZGJsKCk7aWYodGhpcy5uZWcoKS5lcShQKSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO2lmKDA9PT10aGlzLnguY21wKFAueCkpcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgTT10aGlzLnkucmVk''@;'; put 'put ''U3ViKFAueSk7MCE9PU0uY21wbigwKSYmKE09TS5yZWRNdWwodGhpcy54LnJlZFN1YihQLngpLnJlZEludm0oKSkpO3ZhciBrPU0ucmVkU3FyKCkucmVkSVN1Yih0aGlzLngpLnJlZElTdWIoUC54KSxPPU0ucmVkTXVsKHRoaXMueC5yZWRTdWIoaykpLnJlZElTdWIodGhpcy55KTtyZXR1cm4g''@;'; put 'put ''dGhpcy5jdXJ2ZS5wb2ludChrLE8pfSxELnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtpZih0aGlzLmluZilyZXR1cm4gdGhpczt2YXIgUD10aGlzLnkucmVkQWRkKHRoaXMueSk7aWYoMD09PVAuY21wbigwKSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBNPXRoaXMu''@;'; put 'put ''Y3VydmUuYSxrPXRoaXMueC5yZWRTcXIoKSxPPVAucmVkSW52bSgpLEw9ay5yZWRBZGQoaykucmVkSUFkZChrKS5yZWRJQWRkKE0pLnJlZE11bChPKSxUPUwucmVkU3FyKCkucmVkSVN1Yih0aGlzLngucmVkQWRkKHRoaXMueCkpLFk9TC5yZWRNdWwodGhpcy54LnJlZFN1YihUKSkucmVkSVN1''@;'; put 'put ''Yih0aGlzLnkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KFQsWSl9LEQucHJvdG90eXBlLmdldFg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54LmZyb21SZWQoKX0sRC5wcm90b3R5cGUuZ2V0WT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnkuZnJvbVJlZCgpfSxELnByb3RvdHlwZS5tdWw9ZnVu''@;'; put 'put ''Y3Rpb24oUCl7cmV0dXJuIFA9bmV3IHooUCwxNiksdGhpcy5pc0luZmluaXR5KCk/dGhpczp0aGlzLl9oYXNEb3VibGVzKFApP3RoaXMuY3VydmUuX2ZpeGVkTmFmTXVsKHRoaXMsUCk6dGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKFt0aGlzXSxbUF0pOnRoaXMu''@;'; put 'put ''Y3VydmUuX3duYWZNdWwodGhpcyxQKX0sRC5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uKFAsTSxrKXt2YXIgTz1bdGhpcyxNXSxMPVtQLGtdO3JldHVybiB0aGlzLmN1cnZlLmVuZG8/dGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoTyxMKTp0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsTyxM''@;'; put 'put ''LDIpfSxELnByb3RvdHlwZS5qbXVsQWRkPWZ1bmN0aW9uKFAsTSxrKXt2YXIgTz1bdGhpcyxNXSxMPVtQLGtdO3JldHVybiB0aGlzLmN1cnZlLmVuZG8/dGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoTyxMLCEwKTp0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsTyxMLDIsITApfSxELnByb3Rv''@;'; put 'put ''dHlwZS5lcT1mdW5jdGlvbihQKXtyZXR1cm4gdGhpcz09PVB8fHRoaXMuaW5mPT09UC5pbmYmJih0aGlzLmluZnx8MD09PXRoaXMueC5jbXAoUC54KSYmMD09PXRoaXMueS5jbXAoUC55KSl9LEQucHJvdG90eXBlLm5lZz1mdW5jdGlvbihQKXtpZih0aGlzLmluZilyZXR1cm4gdGhpczt2YXIg''@;'; put 'put ''TT10aGlzLmN1cnZlLnBvaW50KHRoaXMueCx0aGlzLnkucmVkTmVnKCkpO2lmKFAmJnRoaXMucHJlY29tcHV0ZWQpe3ZhciBrPXRoaXMucHJlY29tcHV0ZWQsTz1mdW5jdGlvbihMKXtyZXR1cm4gTC5uZWcoKX07TS5wcmVjb21wdXRlZD17bmFmOmsubmFmJiZ7d25kOmsubmFmLnduZCxwb2lu''@;'; put 'put ''dHM6ay5uYWYucG9pbnRzLm1hcChPKX0sZG91YmxlczprLmRvdWJsZXMmJntzdGVwOmsuZG91Ymxlcy5zdGVwLHBvaW50czprLmRvdWJsZXMucG9pbnRzLm1hcChPKX19fXJldHVybiBNfSxELnByb3RvdHlwZS50b0o9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbmY/dGhpcy5jdXJ2ZS5qcG9p''@;'; put 'put ''bnQobnVsbCxudWxsLG51bGwpOnRoaXMuY3VydmUuanBvaW50KHRoaXMueCx0aGlzLnksdGhpcy5jdXJ2ZS5vbmUpfSxDKHcsUy5CYXNlUG9pbnQpLEYucHJvdG90eXBlLmpwb2ludD1mdW5jdGlvbihQLE0sayl7cmV0dXJuIG5ldyB3KHRoaXMsUCxNLGspfSx3LnByb3RvdHlwZS50b1A9ZnVu''@;'; put 'put ''Y3Rpb24oKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBQPXRoaXMuei5yZWRJbnZtKCksTT1QLnJlZFNxcigpLGs9dGhpcy54LnJlZE11bChNKSxPPXRoaXMueS5yZWRNdWwoTSkucmVkTXVsKFApO3JldHVybiB0aGlzLmN1cnZl''@;'; put 'put ''LnBvaW50KGssTyl9LHcucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsdGhpcy55LnJlZE5lZygpLHRoaXMueil9LHcucHJvdG90eXBlLmFkZD1mdW5jdGlvbihQKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gUDtpZihQLmlzSW5m''@;'; put 'put ''aW5pdHkoKSlyZXR1cm4gdGhpczt2YXIgTT1QLnoucmVkU3FyKCksaz10aGlzLnoucmVkU3FyKCksTz10aGlzLngucmVkTXVsKE0pLEw9UC54LnJlZE11bChrKSxUPXRoaXMueS5yZWRNdWwoTS5yZWRNdWwoUC56KSksWT1QLnkucmVkTXVsKGsucmVkTXVsKHRoaXMueikpLEk9Ty5yZWRTdWIo''@;'; put 'put ''TCksVT1ULnJlZFN1YihZKTtpZigwPT09SS5jbXBuKDApKXJldHVybiAwIT09VS5jbXBuKDApP3RoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTp0aGlzLmRibCgpO3ZhciBWPUkucmVkU3FyKCksUj1WLnJlZE11bChJKSxCPU8ucmVkTXVsKFYpLHE9VS5yZWRTcXIoKS5yZWRJQWRk''@;'; put 'put ''KFIpLnJlZElTdWIoQikucmVkSVN1YihCKSxKPVUucmVkTXVsKEIucmVkSVN1YihxKSkucmVkSVN1YihULnJlZE11bChSKSksJD10aGlzLnoucmVkTXVsKFAueikucmVkTXVsKEkpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChxLEosJCl9LHcucHJvdG90eXBlLm1peGVkQWRkPWZ1bmN0aW9u''@;'; put 'put ''KFApe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiBQLnRvSigpO2lmKFAuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO3ZhciBNPXRoaXMuei5yZWRTcXIoKSxrPXRoaXMueCxPPVAueC5yZWRNdWwoTSksTD10aGlzLnksVD1QLnkucmVkTXVsKE0pLnJlZE11bCh0aGlzLnopLFk9ay5yZWRT''@;'; put 'put ''dWIoTyksST1MLnJlZFN1YihUKTtpZigwPT09WS5jbXBuKDApKXJldHVybiAwIT09SS5jbXBuKDApP3RoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTp0aGlzLmRibCgpO3ZhciBVPVkucmVkU3FyKCksVj1VLnJlZE11bChZKSxSPWsucmVkTXVsKFUpLEI9SS5yZWRTcXIoKS5yZWRJ''@;'; put 'put ''QWRkKFYpLnJlZElTdWIoUikucmVkSVN1YihSKSxxPUkucmVkTXVsKFIucmVkSVN1YihCKSkucmVkSVN1YihMLnJlZE11bChWKSksSj10aGlzLnoucmVkTXVsKFkpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChCLHEsSil9LHcucHJvdG90eXBlLmRibHA9ZnVuY3Rpb24oUCl7aWYoMD09PVAp''@;'; put 'put ''cmV0dXJuIHRoaXM7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7aWYoIVApcmV0dXJuIHRoaXMuZGJsKCk7dmFyIE07aWYodGhpcy5jdXJ2ZS56ZXJvQXx8dGhpcy5jdXJ2ZS50aHJlZUEpe3ZhciBrPXRoaXM7Zm9yKE09MDtNPFA7TSsrKWs9ay5kYmwoKTtyZXR1cm4ga312YXIg''@;'; put 'put ''Tz10aGlzLmN1cnZlLmEsTD10aGlzLmN1cnZlLnRpbnYsVD10aGlzLngsWT10aGlzLnksST10aGlzLnosVT1JLnJlZFNxcigpLnJlZFNxcigpLFY9WS5yZWRBZGQoWSk7Zm9yKE09MDtNPFA7TSsrKXt2YXIgUj1ULnJlZFNxcigpLEI9Vi5yZWRTcXIoKSxxPUIucmVkU3FyKCksSj1SLnJlZEFk''@;'; put 'put ''ZChSKS5yZWRJQWRkKFIpLnJlZElBZGQoTy5yZWRNdWwoVSkpLCQ9VC5yZWRNdWwoQiksdGU9Si5yZWRTcXIoKS5yZWRJU3ViKCQucmVkQWRkKCQpKSxoPSQucmVkSVN1Yih0ZSksYj1KLnJlZE11bChoKTtiPWIucmVkSUFkZChiKS5yZWRJU3ViKHEpO3ZhciB5PVYucmVkTXVsKEkpO00rMTxQ''@;'; put 'put ''JiYoVT1VLnJlZE11bChxKSksVD10ZSxJPXksVj1ifXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChULFYucmVkTXVsKEwpLEkpfSx3LnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLnplcm9BP3RoaXMuX3plcm9EYmwoKTp0''@;'; put 'put ''aGlzLmN1cnZlLnRocmVlQT90aGlzLl90aHJlZURibCgpOnRoaXMuX2RibCgpfSx3LnByb3RvdHlwZS5femVyb0RibD1mdW5jdGlvbigpe3ZhciBQLE0saztpZih0aGlzLnpPbmUpe3ZhciBPPXRoaXMueC5yZWRTcXIoKSxMPXRoaXMueS5yZWRTcXIoKSxUPUwucmVkU3FyKCksWT10aGlzLngu''@;'; put 'put ''cmVkQWRkKEwpLnJlZFNxcigpLnJlZElTdWIoTykucmVkSVN1YihUKTtZPVkucmVkSUFkZChZKTt2YXIgST1PLnJlZEFkZChPKS5yZWRJQWRkKE8pLFU9SS5yZWRTcXIoKS5yZWRJU3ViKFkpLnJlZElTdWIoWSksVj1ULnJlZElBZGQoVCk7Vj0oVj1WLnJlZElBZGQoVikpLnJlZElBZGQoViks''@;'; put 'put ''UD1VLE09SS5yZWRNdWwoWS5yZWRJU3ViKFUpKS5yZWRJU3ViKFYpLGs9dGhpcy55LnJlZEFkZCh0aGlzLnkpfWVsc2V7dmFyIFI9dGhpcy54LnJlZFNxcigpLEI9dGhpcy55LnJlZFNxcigpLHE9Qi5yZWRTcXIoKSxKPXRoaXMueC5yZWRBZGQoQikucmVkU3FyKCkucmVkSVN1YihSKS5yZWRJ''@;'; put 'put ''U3ViKHEpO0o9Si5yZWRJQWRkKEopO3ZhciAkPVIucmVkQWRkKFIpLnJlZElBZGQoUiksdGU9JC5yZWRTcXIoKSxoPXEucmVkSUFkZChxKTtoPShoPWgucmVkSUFkZChoKSkucmVkSUFkZChoKSxQPXRlLnJlZElTdWIoSikucmVkSVN1YihKKSxNPSQucmVkTXVsKEoucmVkSVN1YihQKSkucmVk''@;'; put 'put ''SVN1YihoKSxrPShrPXRoaXMueS5yZWRNdWwodGhpcy56KSkucmVkSUFkZChrKX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoUCxNLGspfSx3LnByb3RvdHlwZS5fdGhyZWVEYmw9ZnVuY3Rpb24oKXt2YXIgUCxNLGs7aWYodGhpcy56T25lKXt2YXIgTz10aGlzLngucmVkU3FyKCksTD10aGlz''@;'; put 'put ''LnkucmVkU3FyKCksVD1MLnJlZFNxcigpLFk9dGhpcy54LnJlZEFkZChMKS5yZWRTcXIoKS5yZWRJU3ViKE8pLnJlZElTdWIoVCk7WT1ZLnJlZElBZGQoWSk7dmFyIEk9Ty5yZWRBZGQoTykucmVkSUFkZChPKS5yZWRJQWRkKHRoaXMuY3VydmUuYSksVT1JLnJlZFNxcigpLnJlZElTdWIoWSku''@;'; put 'put ''cmVkSVN1YihZKTtQPVU7dmFyIFY9VC5yZWRJQWRkKFQpO1Y9KFY9Vi5yZWRJQWRkKFYpKS5yZWRJQWRkKFYpLE09SS5yZWRNdWwoWS5yZWRJU3ViKFUpKS5yZWRJU3ViKFYpLGs9dGhpcy55LnJlZEFkZCh0aGlzLnkpfWVsc2V7dmFyIFI9dGhpcy56LnJlZFNxcigpLEI9dGhpcy55LnJlZFNx''@;'; put 'put ''cigpLHE9dGhpcy54LnJlZE11bChCKSxKPXRoaXMueC5yZWRTdWIoUikucmVkTXVsKHRoaXMueC5yZWRBZGQoUikpO0o9Si5yZWRBZGQoSikucmVkSUFkZChKKTt2YXIgJD1xLnJlZElBZGQocSksdGU9KCQ9JC5yZWRJQWRkKCQpKS5yZWRBZGQoJCk7UD1KLnJlZFNxcigpLnJlZElTdWIodGUp''@;'; put 'put ''LGs9dGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIoQikucmVkSVN1YihSKTt2YXIgaD1CLnJlZFNxcigpO2g9KGg9KGg9aC5yZWRJQWRkKGgpKS5yZWRJQWRkKGgpKS5yZWRJQWRkKGgpLE09Si5yZWRNdWwoJC5yZWRJU3ViKFApKS5yZWRJU3ViKGgpfXJldHVybiB0aGlz''@;'; put 'put ''LmN1cnZlLmpwb2ludChQLE0sayl9LHcucHJvdG90eXBlLl9kYmw9ZnVuY3Rpb24oKXt2YXIgUD10aGlzLmN1cnZlLmEsTT10aGlzLngsaz10aGlzLnksTz10aGlzLnosTD1PLnJlZFNxcigpLnJlZFNxcigpLFQ9TS5yZWRTcXIoKSxZPWsucmVkU3FyKCksST1ULnJlZEFkZChUKS5yZWRJQWRk''@;'; put 'put ''KFQpLnJlZElBZGQoUC5yZWRNdWwoTCkpLFU9TS5yZWRBZGQoTSksVj0oVT1VLnJlZElBZGQoVSkpLnJlZE11bChZKSxSPUkucmVkU3FyKCkucmVkSVN1YihWLnJlZEFkZChWKSksQj1WLnJlZElTdWIoUikscT1ZLnJlZFNxcigpO3E9KHE9KHE9cS5yZWRJQWRkKHEpKS5yZWRJQWRkKHEpKS5y''@;'; put 'put ''ZWRJQWRkKHEpO3ZhciBKPUkucmVkTXVsKEIpLnJlZElTdWIocSksJD1rLnJlZEFkZChrKS5yZWRNdWwoTyk7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KFIsSiwkKX0sdy5wcm90b3R5cGUudHJwbD1mdW5jdGlvbigpe2lmKCF0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLmRibCgpLmFk''@;'; put 'put ''ZCh0aGlzKTt2YXIgUD10aGlzLngucmVkU3FyKCksTT10aGlzLnkucmVkU3FyKCksaz10aGlzLnoucmVkU3FyKCksTz1NLnJlZFNxcigpLEw9UC5yZWRBZGQoUCkucmVkSUFkZChQKSxUPUwucmVkU3FyKCksWT10aGlzLngucmVkQWRkKE0pLnJlZFNxcigpLnJlZElTdWIoUCkucmVkSVN1YihP''@;'; put 'put ''KSxJPShZPShZPShZPVkucmVkSUFkZChZKSkucmVkQWRkKFkpLnJlZElBZGQoWSkpLnJlZElTdWIoVCkpLnJlZFNxcigpLFU9Ty5yZWRJQWRkKE8pO1U9KFU9KFU9VS5yZWRJQWRkKFUpKS5yZWRJQWRkKFUpKS5yZWRJQWRkKFUpO3ZhciBWPUwucmVkSUFkZChZKS5yZWRTcXIoKS5yZWRJU3Vi''@;'; put 'put ''KFQpLnJlZElTdWIoSSkucmVkSVN1YihVKSxSPU0ucmVkTXVsKFYpO1I9KFI9Ui5yZWRJQWRkKFIpKS5yZWRJQWRkKFIpO3ZhciBCPXRoaXMueC5yZWRNdWwoSSkucmVkSVN1YihSKTtCPShCPUIucmVkSUFkZChCKSkucmVkSUFkZChCKTt2YXIgcT10aGlzLnkucmVkTXVsKFYucmVkTXVsKFUu''@;'; put 'put ''cmVkSVN1YihWKSkucmVkSVN1YihZLnJlZE11bChJKSkpO3E9KHE9KHE9cS5yZWRJQWRkKHEpKS5yZWRJQWRkKHEpKS5yZWRJQWRkKHEpO3ZhciBKPXRoaXMuei5yZWRBZGQoWSkucmVkU3FyKCkucmVkSVN1YihrKS5yZWRJU3ViKEkpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChCLHEsSil9''@;'; put 'put ''LHcucHJvdG90eXBlLm11bD1mdW5jdGlvbihQLE0pe3JldHVybiBQPW5ldyB6KFAsTSksdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLFApfSx3LnByb3RvdHlwZS5lcT1mdW5jdGlvbihQKXtpZigiYWZmaW5lIj09PVAudHlwZSlyZXR1cm4gdGhpcy5lcShQLnRvSigpKTtpZih0aGlzPT09UCly''@;'; put 'put ''ZXR1cm4hMDt2YXIgTT10aGlzLnoucmVkU3FyKCksaz1QLnoucmVkU3FyKCk7aWYoMCE9PXRoaXMueC5yZWRNdWwoaykucmVkSVN1YihQLngucmVkTXVsKE0pKS5jbXBuKDApKXJldHVybiExO3ZhciBPPU0ucmVkTXVsKHRoaXMueiksTD1rLnJlZE11bChQLnopO3JldHVybiAwPT09dGhpcy55''@;'; put 'put ''LnJlZE11bChMKS5yZWRJU3ViKFAueS5yZWRNdWwoTykpLmNtcG4oMCl9LHcucHJvdG90eXBlLmVxWFRvUD1mdW5jdGlvbihQKXt2YXIgTT10aGlzLnoucmVkU3FyKCksaz1QLnRvUmVkKHRoaXMuY3VydmUucmVkKS5yZWRNdWwoTSk7aWYoMD09PXRoaXMueC5jbXAoaykpcmV0dXJuITA7Zm9y''@;'; put 'put ''KHZhciBPPVAuY2xvbmUoKSxMPXRoaXMuY3VydmUucmVkTi5yZWRNdWwoTSk7Oyl7aWYoTy5pYWRkKHRoaXMuY3VydmUubiksTy5jbXAodGhpcy5jdXJ2ZS5wKT49MClyZXR1cm4hMTtpZihrLnJlZElBZGQoTCksMD09PXRoaXMueC5jbXAoaykpcmV0dXJuITB9fSx3LnByb3RvdHlwZS5pbnNw''@;'; put 'put ''ZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpPyI8RUMgSlBvaW50IEluZmluaXR5PiI6IjxFQyBKUG9pbnQgeDogIit0aGlzLngudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS50b1N0cmluZygxNiwyKSsiIHo6ICIrdGhpcy56LnRvU3RyaW5nKDE2LDIpKyI+In0s''@;'; put 'put ''dy5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy56LmNtcG4oMCl9fSw1NDI3OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE4sej1BLEM9aigzNzE1KSxTPWooODI1NCksbT1qKDk1MykuYXNzZXJ0O2Z1bmN0aW9uIEYodyl7dGhpcy5jdXJ2ZT0ic2hv''@;'; put 'put ''cnQiPT09dy50eXBlP25ldyBTLnNob3J0KHcpOiJlZHdhcmRzIj09PXcudHlwZT9uZXcgUy5lZHdhcmRzKHcpOm5ldyBTLm1vbnQodyksdGhpcy5nPXRoaXMuY3VydmUuZyx0aGlzLm49dGhpcy5jdXJ2ZS5uLHRoaXMuaGFzaD13Lmhhc2gsbSh0aGlzLmcudmFsaWRhdGUoKSwiSW52YWxpZCBj''@;'; put 'put ''dXJ2ZSIpLG0odGhpcy5nLm11bCh0aGlzLm4pLmlzSW5maW5pdHkoKSwiSW52YWxpZCBjdXJ2ZSwgRypOICE9IE8iKX1mdW5jdGlvbiBEKHcsUCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHosdyx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dmFyIE09bmV3''@;'; put 'put ''IEYoUCk7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh6LHcse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOk19KSxNfX0pfXouUHJlc2V0Q3VydmU9RixEKCJwMTkyIix7dHlwZToic2hvcnQiLHByaW1lOiJwMTkyIixwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZm''@;'; put 'put ''ZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmMiLGI6IjY0MjEwNTE5IGU1OWM4MGU3IDBmYTdlOWFiIDcyMjQzMDQ5IGZlYjhkZWVjIGMxNDZiOWIxIixuOiJmZmZmZmZmZiBmZmZmZmZm''@;'; put 'put ''ZiBmZmZmZmZmZiA5OWRlZjgzNiAxNDZiYzliMSBiNGQyMjgzMSIsaGFzaDpDLnNoYTI1NixnUmVkOiExLGc6WyIxODhkYTgwZSBiMDMwOTBmNiA3Y2JmMjBlYiA0M2ExODgwMCBmNGZmMGFmZCA4MmZmMTAxMiIsIjA3MTkyYjk1IGZmYzhkYTc4IDYzMTAxMWVkIDZiMjRjZGQ1IDczZjk3N2Ex''@;'; put 'put ''IDFlNzk0ODExIl19KSxEKCJwMjI0Iix7dHlwZToic2hvcnQiLHByaW1lOiJwMjI0IixwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYg''@;'; put 'put ''ZmZmZmZmZmYgZmZmZmZmZmUiLGI6ImI0MDUwYTg1IDBjMDRiM2FiIGY1NDEzMjU2IDUwNDRiMGI3IGQ3YmZkOGJhIDI3MGIzOTQzIDIzNTVmZmI0IixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmMTZhMiBlMGI4ZjAzZSAxM2RkMjk0NSA1YzVjMmEzZCIsaGFzaDpDLnNoYTI1''@;'; put 'put ''NixnUmVkOiExLGc6WyJiNzBlMGNiZCA2YmI0YmY3ZiAzMjEzOTBiOSA0YTAzYzFkMyA1NmMyMTEyMiAzNDMyODBkNiAxMTVjMWQyMSIsImJkMzc2Mzg4IGI1ZjcyM2ZiIDRjMjJkZmU2IGNkNDM3NWEwIDVhMDc0NzY0IDQ0ZDU4MTk5IDg1MDA3ZTM0Il19KSxEKCJwMjU2Iix7dHlwZToic2hv''@;'; put 'put ''cnQiLHByaW1lOm51bGwscDoiZmZmZmZmZmYgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYiLGE6ImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZj''@;'; put 'put ''IixiOiI1YWM2MzVkOCBhYTNhOTNlNyBiM2ViYmQ1NSA3Njk4ODZiYyA2NTFkMDZiMCBjYzUzYjBmNiAzYmNlM2MzZSAyN2QyNjA0YiIsbjoiZmZmZmZmZmYgMDAwMDAwMDAgZmZmZmZmZmYgZmZmZmZmZmYgYmNlNmZhYWQgYTcxNzllODQgZjNiOWNhYzIgZmM2MzI1NTEiLGhhc2g6Qy5zaGEy''@;'; put 'put ''NTYsZ1JlZDohMSxnOlsiNmIxN2QxZjIgZTEyYzQyNDcgZjhiY2U2ZTUgNjNhNDQwZjIgNzcwMzdkODEgMmRlYjMzYTAgZjRhMTM5NDUgZDg5OGMyOTYiLCI0ZmUzNDJlMiBmZTFhN2Y5YiA4ZWU3ZWI0YSA3YzBmOWUxNiAyYmNlMzM1NyA2YjMxNWVjZSBjYmI2NDA2OCAzN2JmNTFmNSJdfSks''@;'; put 'put ''RCgicDM4NCIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIixhOiJmZmZmZmZmZiBmZmZmZmZm''@;'; put 'put ''ZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmYyIsYjoiYjMzMTJmYTcgZTIzZWU3ZTQgOTg4ZTA1NmIgZTNmODJkMTkgMTgxZDljNmUgZmU4MTQxMTIgMDMxNDA4OGYgNTAxMzg3''@;'; put 'put ''NWEgYzY1NjM5OGQgOGEyZWQxOWQgMmE4NWM4ZWQgZDNlYzJhZWYiLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGM3NjM0ZDgxIGY0MzcyZGRmIDU4MWEwZGIyIDQ4YjBhNzdhIGVjZWMxOTZhIGNjYzUyOTczIixoYXNoOkMuc2hhMzg0''@;'; put 'put ''LGdSZWQ6ITEsZzpbImFhODdjYTIyIGJlOGIwNTM3IDhlYjFjNzFlIGYzMjBhZDc0IDZlMWQzYjYyIDhiYTc5Yjk4IDU5Zjc0MWUwIDgyNTQyYTM4IDU1MDJmMjVkIGJmNTUyOTZjIDNhNTQ1ZTM4IDcyNzYwYWI3IiwiMzYxN2RlNGEgOTYyNjJjNmYgNWQ5ZTk4YmYgOTI5MmRjMjkgZjhmNDFk''@;'; put 'put ''YmQgMjg5YTE0N2MgZTlkYTMxMTMgYjVmMGI4YzAgMGE2MGIxY2UgMWQ3ZTgxOWQgN2E0MzFkN2MgOTBlYTBlNWYiXX0pLEQoInA1MjEiLHt0eXBlOiJzaG9ydCIscHJpbWU6bnVsbCxwOiIwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZm''@;'; put 'put ''ZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiIsYToiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZm''@;'; put 'put ''ZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmMiLGI6IjAwMDAwMDUxIDk1M2ViOTYxIDhlMWM5YTFmIDkyOWEyMWEwIGI2ODU0MGVlIGEyZGE3MjViIDk5YjMxNWYzIGI4YjQ4OTkxIDhl''@;'; put 'put ''ZjEwOWUxIDU2MTkzOTUxIGVjN2U5MzdiIDE2NTJjMGJkIDNiYjFiZjA3IDM1NzNkZjg4IDNkMmMzNGYxIGVmNDUxZmQ0IDZiNTAzZjAwIixuOiIwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYSA1''@;'; put 'put ''MTg2ODc4MyBiZjJmOTY2YiA3ZmNjMDE0OCBmNzA5YTVkMCAzYmI1YzliOCA4OTljNDdhZSBiYjZmYjcxZSA5MTM4NjQwOSIsaGFzaDpDLnNoYTUxMixnUmVkOiExLGc6WyIwMDAwMDBjNiA4NThlMDZiNyAwNDA0ZTljZCA5ZTNlY2I2NiAyMzk1YjQ0MiA5YzY0ODEzOSAwNTNmYjUyMSBmODI4''@;'; put 'put ''YWY2MCA2YjRkM2RiYSBhMTRiNWU3NyBlZmU3NTkyOCBmZTFkYzEyNyBhMmZmYThkZSAzMzQ4YjNjMSA4NTZhNDI5YiBmOTdlN2UzMSBjMmU1YmQ2NiIsIjAwMDAwMTE4IDM5Mjk2YTc4IDlhM2JjMDA0IDVjOGE1ZmI0IDJjN2QxYmQ5IDk4ZjU0NDQ5IDU3OWI0NDY4IDE3YWZiZDE3IDI3M2U2''@;'; put 'put ''NjJjIDk3ZWU3Mjk5IDVlZjQyNjQwIGM1NTBiOTAxIDNmYWQwNzYxIDM1M2M3MDg2IGEyNzJjMjQwIDg4YmU5NDc2IDlmZDE2NjUwIl19KSxEKCJjdXJ2ZTI1NTE5Iix7dHlwZToibW9udCIscHJpbWU6InAyNTUxOSIscDoiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZm''@;'; put 'put ''ZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIsYToiNzZkMDYiLGI6IjEiLG46IjEwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAxNGRlZjlkZWEyZjc5Y2Q2IDU4MTI2MzFhNWNmNWQzZWQiLGhhc2g6Qy5zaGEyNTYsZ1JlZDohMSxnOlsiOSJdfSksRCgiZWQyNTUxOSIse3R5''@;'; put 'put ''cGU6ImVkd2FyZHMiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ii0xIixjOiIxIixkOiI1MjAzNmNlZTJiNmZmZTczIDhjYzc0MDc5Nzc3OWU4OTggMDA3MDBhNGQ0MTQxZDhh''@;'; put 'put ''YiA3NWViNGRjYTEzNTk3OGEzIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOkMuc2hhMjU2LGdSZWQ6ITEsZzpbIjIxNjkzNmQzY2Q2ZTUzZmVjMGE0ZTIzMWZkZDZkYzVjNjkyY2M3NjA5NTI1YTdi''@;'; put 'put ''MmM5NTYyZDYwOGYyNWQ1MWEiLCI2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjU4Il19KTt0cnl7Tj1qKDEwMzcpfWNhdGNoKHcpe049dm9pZCAwfUQoInNlY3AyNTZrMSIse3R5cGU6InNob3J0IixwcmltZToiazI1NiIscDoi''@;'; put 'put ''ZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiLGE6IjAiLGI6IjciLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGJhYWVkY2U2IGFmNDhhMDNiIGJmZDI1ZThjIGQwMzY0MTQxIixoOiIx''@;'; put 'put ''IixoYXNoOkMuc2hhMjU2LGJldGE6IjdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUiLGxhbWJkYToiNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MiIsYmFz''@;'; put 'put ''aXM6W3thOiIzMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNSIsYjoiLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzIn0se2E6IjExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCIsYjoiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUifV0sZ1JlZDoh''@;'; put 'put ''MSxnOlsiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsIjQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgiLE5dfSl9LDc5NTQ6KFosQSxqKT0+eyJ1c2Ug''@;'; put 'put ''c3RyaWN0Ijt2YXIgTj1qKDM3ODUpLHo9aigyMTU2KSxDPWooOTUzKSxTPWooNTQyNyksbT1qKDk5MzEpLEY9Qy5hc3NlcnQsRD1qKDEyNTEpLHc9aig2MTEpO2Z1bmN0aW9uIFAoTSl7aWYoISh0aGlzIGluc3RhbmNlb2YgUCkpcmV0dXJuIG5ldyBQKE0pOyJzdHJpbmciPT10eXBlb2YgTSYm''@;'; put 'put ''KEYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFMsTSksIlVua25vd24gY3VydmUgIitNKSxNPVNbTV0pLE0gaW5zdGFuY2VvZiBTLlByZXNldEN1cnZlJiYoTT17Y3VydmU6TX0pLHRoaXMuY3VydmU9TS5jdXJ2ZS5jdXJ2ZSx0aGlzLm49dGhpcy5jdXJ2ZS5uLHRoaXMu''@;'; put 'put ''bmg9dGhpcy5uLnVzaHJuKDEpLHRoaXMuZz10aGlzLmN1cnZlLmcsdGhpcy5nPU0uY3VydmUuZyx0aGlzLmcucHJlY29tcHV0ZShNLmN1cnZlLm4uYml0TGVuZ3RoKCkrMSksdGhpcy5oYXNoPU0uaGFzaHx8TS5jdXJ2ZS5oYXNofVouZXhwb3J0cz1QLFAucHJvdG90eXBlLmtleVBhaXI9ZnVu''@;'; put 'put ''Y3Rpb24oTSl7cmV0dXJuIG5ldyBEKHRoaXMsTSl9LFAucHJvdG90eXBlLmtleUZyb21Qcml2YXRlPWZ1bmN0aW9uKE0sayl7cmV0dXJuIEQuZnJvbVByaXZhdGUodGhpcyxNLGspfSxQLnByb3RvdHlwZS5rZXlGcm9tUHVibGljPWZ1bmN0aW9uKE0sayl7cmV0dXJuIEQuZnJvbVB1YmxpYyh0''@;'; put 'put ''aGlzLE0sayl9LFAucHJvdG90eXBlLmdlbktleVBhaXI9ZnVuY3Rpb24oTSl7TXx8KE09e30pO2Zvcih2YXIgaz1uZXcgeih7aGFzaDp0aGlzLmhhc2gscGVyczpNLnBlcnMscGVyc0VuYzpNLnBlcnNFbmN8fCJ1dGY4IixlbnRyb3B5Ok0uZW50cm9weXx8bSh0aGlzLmhhc2guaG1hY1N0cmVu''@;'; put 'put ''Z3RoKSxlbnRyb3B5RW5jOk0uZW50cm9weSYmTS5lbnRyb3B5RW5jfHwidXRmOCIsbm9uY2U6dGhpcy5uLnRvQXJyYXkoKX0pLE89dGhpcy5uLmJ5dGVMZW5ndGgoKSxMPXRoaXMubi5zdWIobmV3IE4oMikpOzspe3ZhciBUPW5ldyBOKGsuZ2VuZXJhdGUoTykpO2lmKCEoVC5jbXAoTCk+MCkp''@;'; put 'put ''cmV0dXJuIFQuaWFkZG4oMSksdGhpcy5rZXlGcm9tUHJpdmF0ZShUKX19LFAucHJvdG90eXBlLl90cnVuY2F0ZVRvTj1mdW5jdGlvbihNLGspe3ZhciBPPTgqTS5ieXRlTGVuZ3RoKCktdGhpcy5uLmJpdExlbmd0aCgpO3JldHVybiBPPjAmJihNPU0udXNocm4oTykpLCFrJiZNLmNtcCh0aGlz''@;'; put 'put ''Lm4pPj0wP00uc3ViKHRoaXMubik6TX0sUC5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbihNLGssTyxMKXsib2JqZWN0Ij09dHlwZW9mIE8mJihMPU8sTz1udWxsKSxMfHwoTD17fSksaz10aGlzLmtleUZyb21Qcml2YXRlKGssTyksTT10aGlzLl90cnVuY2F0ZVRvTihuZXcgTihNLDE2KSk7Zm9y''@;'; put 'put ''KHZhciBUPXRoaXMubi5ieXRlTGVuZ3RoKCksWT1rLmdldFByaXZhdGUoKS50b0FycmF5KCJiZSIsVCksST1NLnRvQXJyYXkoImJlIixUKSxVPW5ldyB6KHtoYXNoOnRoaXMuaGFzaCxlbnRyb3B5Olksbm9uY2U6SSxwZXJzOkwucGVycyxwZXJzRW5jOkwucGVyc0VuY3x8InV0ZjgifSksVj10''@;'; put 'put ''aGlzLm4uc3ViKG5ldyBOKDEpKSxSPTA7O1IrKyl7dmFyIEI9TC5rP0wuayhSKTpuZXcgTihVLmdlbmVyYXRlKHRoaXMubi5ieXRlTGVuZ3RoKCkpKTtpZighKChCPXRoaXMuX3RydW5jYXRlVG9OKEIsITApKS5jbXBuKDEpPD0wfHxCLmNtcChWKT49MCkpe3ZhciBxPXRoaXMuZy5tdWwoQik7''@;'; put 'put ''aWYoIXEuaXNJbmZpbml0eSgpKXt2YXIgSj1xLmdldFgoKSwkPUoudW1vZCh0aGlzLm4pO2lmKDAhPT0kLmNtcG4oMCkpe3ZhciB0ZT1CLmludm0odGhpcy5uKS5tdWwoJC5tdWwoay5nZXRQcml2YXRlKCkpLmlhZGQoTSkpO2lmKDAhPT0odGU9dGUudW1vZCh0aGlzLm4pKS5jbXBuKDApKXt2''@;'; put 'put ''YXIgaD0ocS5nZXRZKCkuaXNPZGQoKT8xOjApfCgwIT09Si5jbXAoJCk/MjowKTtyZXR1cm4gTC5jYW5vbmljYWwmJnRlLmNtcCh0aGlzLm5oKT4wJiYodGU9dGhpcy5uLnN1Yih0ZSksaF49MSksbmV3IHcoe3I6JCxzOnRlLHJlY292ZXJ5UGFyYW06aH0pfX19fX19LFAucHJvdG90eXBlLnZl''@;'; put 'put ''cmlmeT1mdW5jdGlvbihNLGssTyxMKXtNPXRoaXMuX3RydW5jYXRlVG9OKG5ldyBOKE0sMTYpKSxPPXRoaXMua2V5RnJvbVB1YmxpYyhPLEwpO3ZhciBUPShrPW5ldyB3KGssImhleCIpKS5yLFk9ay5zO2lmKFQuY21wbigxKTwwfHxULmNtcCh0aGlzLm4pPj0wfHxZLmNtcG4oMSk8MHx8WS5j''@;'; put 'put ''bXAodGhpcy5uKT49MClyZXR1cm4hMTt2YXIgSSxVPVkuaW52bSh0aGlzLm4pLFY9VS5tdWwoTSkudW1vZCh0aGlzLm4pLFI9VS5tdWwoVCkudW1vZCh0aGlzLm4pO3JldHVybiB0aGlzLmN1cnZlLl9tYXh3ZWxsVHJpY2s/IShJPXRoaXMuZy5qbXVsQWRkKFYsTy5nZXRQdWJsaWMoKSxSKSku''@;'; put 'put ''aXNJbmZpbml0eSgpJiZJLmVxWFRvUChUKTohKEk9dGhpcy5nLm11bEFkZChWLE8uZ2V0UHVibGljKCksUikpLmlzSW5maW5pdHkoKSYmMD09PUkuZ2V0WCgpLnVtb2QodGhpcy5uKS5jbXAoVCl9LFAucHJvdG90eXBlLnJlY292ZXJQdWJLZXk9ZnVuY3Rpb24oTSxrLE8sTCl7RigoMyZPKT09''@;'; put 'put ''PU8sIlRoZSByZWNvdmVyeSBwYXJhbSBpcyBtb3JlIHRoYW4gdHdvIGJpdHMiKSxrPW5ldyB3KGssTCk7dmFyIFQ9dGhpcy5uLFk9bmV3IE4oTSksST1rLnIsVT1rLnMsVj0xJk8sUj1PPj4xO2lmKEkuY21wKHRoaXMuY3VydmUucC51bW9kKHRoaXMuY3VydmUubikpPj0wJiZSKXRocm93IG5l''@;'; put 'put ''dyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgc2VuY29uZCBrZXkgY2FuZGluYXRlIik7ST10aGlzLmN1cnZlLnBvaW50RnJvbVgoUj9JLmFkZCh0aGlzLmN1cnZlLm4pOkksVik7dmFyIEI9ay5yLmludm0oVCkscT1ULnN1YihZKS5tdWwoQikudW1vZChUKSxKPVUubXVsKEIpLnVtb2QoVCk7cmV0''@;'; put 'put ''dXJuIHRoaXMuZy5tdWxBZGQocSxJLEopfSxQLnByb3RvdHlwZS5nZXRLZXlSZWNvdmVyeVBhcmFtPWZ1bmN0aW9uKE0sayxPLEwpe2lmKG51bGwhPT0oaz1uZXcgdyhrLEwpKS5yZWNvdmVyeVBhcmFtKXJldHVybiBrLnJlY292ZXJ5UGFyYW07Zm9yKHZhciBUPTA7VDw0O1QrKyl7dmFyIFk7''@;'; put 'put ''dHJ5e1k9dGhpcy5yZWNvdmVyUHViS2V5KE0sayxUKX1jYXRjaChJKXtjb250aW51ZX1pZihZLmVxKE8pKXJldHVybiBUfXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgdmFsaWQgcmVjb3ZlcnkgZmFjdG9yIil9fSwxMjUxOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aigz''@;'; put 'put ''Nzg1KSx6PWooOTUzKS5hc3NlcnQ7ZnVuY3Rpb24gQyhTLG0pe3RoaXMuZWM9Uyx0aGlzLnByaXY9bnVsbCx0aGlzLnB1Yj1udWxsLG0ucHJpdiYmdGhpcy5faW1wb3J0UHJpdmF0ZShtLnByaXYsbS5wcml2RW5jKSxtLnB1YiYmdGhpcy5faW1wb3J0UHVibGljKG0ucHViLG0ucHViRW5jKX1a''@;'; put 'put ''LmV4cG9ydHM9QyxDLmZyb21QdWJsaWM9ZnVuY3Rpb24oUyxtLEYpe3JldHVybiBtIGluc3RhbmNlb2YgQz9tOm5ldyBDKFMse3B1YjptLHB1YkVuYzpGfSl9LEMuZnJvbVByaXZhdGU9ZnVuY3Rpb24oUyxtLEYpe3JldHVybiBtIGluc3RhbmNlb2YgQz9tOm5ldyBDKFMse3ByaXY6bSxwcml2''@;'; put 'put ''RW5jOkZ9KX0sQy5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt2YXIgUz10aGlzLmdldFB1YmxpYygpO3JldHVybiBTLmlzSW5maW5pdHkoKT97cmVzdWx0OiExLHJlYXNvbjoiSW52YWxpZCBwdWJsaWMga2V5In06Uy52YWxpZGF0ZSgpP1MubXVsKHRoaXMuZWMuY3VydmUubikuaXNJ''@;'; put 'put ''bmZpbml0eSgpP3tyZXN1bHQ6ITAscmVhc29uOm51bGx9OntyZXN1bHQ6ITEscmVhc29uOiJQdWJsaWMga2V5ICogTiAhPSBPIn06e3Jlc3VsdDohMSxyZWFzb246IlB1YmxpYyBrZXkgaXMgbm90IGEgcG9pbnQifX0sQy5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKFMsbSl7cmV0dXJu''@;'; put 'put ''InN0cmluZyI9PXR5cGVvZiBTJiYobT1TLFM9bnVsbCksdGhpcy5wdWJ8fCh0aGlzLnB1Yj10aGlzLmVjLmcubXVsKHRoaXMucHJpdikpLG0/dGhpcy5wdWIuZW5jb2RlKG0sUyk6dGhpcy5wdWJ9LEMucHJvdG90eXBlLmdldFByaXZhdGU9ZnVuY3Rpb24oUyl7cmV0dXJuImhleCI9PT1TP3Ro''@;'; put 'put ''aXMucHJpdi50b1N0cmluZygxNiwyKTp0aGlzLnByaXZ9LEMucHJvdG90eXBlLl9pbXBvcnRQcml2YXRlPWZ1bmN0aW9uKFMsbSl7dGhpcy5wcml2PW5ldyBOKFMsbXx8MTYpLHRoaXMucHJpdj10aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pfSxDLnByb3RvdHlwZS5faW1wb3J0UHVi''@;'; put 'put ''bGljPWZ1bmN0aW9uKFMsbSl7aWYoUy54fHxTLnkpcmV0dXJuIm1vbnQiPT09dGhpcy5lYy5jdXJ2ZS50eXBlP3ooUy54LCJOZWVkIHggY29vcmRpbmF0ZSIpOiJzaG9ydCIhPT10aGlzLmVjLmN1cnZlLnR5cGUmJiJlZHdhcmRzIiE9PXRoaXMuZWMuY3VydmUudHlwZXx8eihTLngmJlMueSwi''@;'; put 'put ''TmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZSIpLHZvaWQodGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5wb2ludChTLngsUy55KSk7dGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludChTLG0pfSxDLnByb3RvdHlwZS5kZXJpdmU9ZnVuY3Rpb24oUyl7cmV0dXJuIFMudmFsaWRhdGUo''@;'; put 'put ''KXx8eihTLnZhbGlkYXRlKCksInB1YmxpYyBwb2ludCBub3QgdmFsaWRhdGVkIiksUy5tdWwodGhpcy5wcml2KS5nZXRYKCl9LEMucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24oUyxtLEYpe3JldHVybiB0aGlzLmVjLnNpZ24oUyx0aGlzLG0sRil9LEMucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlv''@;'; put 'put ''bihTLG0pe3JldHVybiB0aGlzLmVjLnZlcmlmeShTLG0sdGhpcyl9LEMucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4iPEtleSBwcml2OiAiKyh0aGlzLnByaXYmJnRoaXMucHJpdi50b1N0cmluZygxNiwyKSkrIiBwdWI6ICIrKHRoaXMucHViJiZ0aGlzLnB1Yi5pbnNwZWN0''@;'; put 'put ''KCkpKyIgPiJ9fSw2MTE6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDM3ODUpLHo9aig5NTMpLEM9ei5hc3NlcnQ7ZnVuY3Rpb24gUyhQLE0pe2lmKFAgaW5zdGFuY2VvZiBTKXJldHVybiBQO3RoaXMuX2ltcG9ydERFUihQLE0pfHwoQyhQLnImJlAucywiU2lnbmF0dXJlIHdpdGhv''@;'; put 'put ''dXQgciBvciBzIiksdGhpcy5yPW5ldyBOKFAuciwxNiksdGhpcy5zPW5ldyBOKFAucywxNiksdGhpcy5yZWNvdmVyeVBhcmFtPXZvaWQgMD09PVAucmVjb3ZlcnlQYXJhbT9udWxsOlAucmVjb3ZlcnlQYXJhbSl9ZnVuY3Rpb24gbSgpe3RoaXMucGxhY2U9MH1mdW5jdGlvbiBGKFAsTSl7dmFy''@;'; put 'put ''IGs9UFtNLnBsYWNlKytdO2lmKCEoMTI4JmspKXJldHVybiBrO3ZhciBPPTE1Jms7aWYoMD09PU98fE8+NClyZXR1cm4hMTtmb3IodmFyIEw9MCxUPTAsWT1NLnBsYWNlO1Q8TztUKyssWSsrKUw8PD04LEx8PVBbWV0sTD4+Pj0wO3JldHVybiEoTDw9MTI3KSYmKE0ucGxhY2U9WSxMKX1mdW5j''@;'; put 'put ''dGlvbiBEKFApe2Zvcih2YXIgTT0wLGs9UC5sZW5ndGgtMTshUFtNXSYmISgxMjgmUFtNKzFdKSYmTTxrOylNKys7cmV0dXJuIDA9PT1NP1A6UC5zbGljZShNKX1mdW5jdGlvbiB3KFAsTSl7aWYoTTwxMjgpUC5wdXNoKE0pO2Vsc2V7dmFyIGs9MSsoTWF0aC5sb2coTSkvTWF0aC5MTjI+Pj4z''@;'; put 'put ''KTtmb3IoUC5wdXNoKDEyOHxrKTstLWs7KVAucHVzaChNPj4+KGs8PDMpJjI1NSk7UC5wdXNoKE0pfX1aLmV4cG9ydHM9UyxTLnByb3RvdHlwZS5faW1wb3J0REVSPWZ1bmN0aW9uKFAsTSl7UD16LnRvQXJyYXkoUCxNKTt2YXIgaz1uZXcgbTtpZig0OCE9PVBbay5wbGFjZSsrXSlyZXR1cm4h''@;'; put 'put ''MTt2YXIgTz1GKFAsayk7aWYoITE9PT1PfHxPK2sucGxhY2UhPT1QLmxlbmd0aHx8MiE9PVBbay5wbGFjZSsrXSlyZXR1cm4hMTt2YXIgTD1GKFAsayk7aWYoITE9PT1MKXJldHVybiExO3ZhciBUPVAuc2xpY2Uoay5wbGFjZSxMK2sucGxhY2UpO2lmKGsucGxhY2UrPUwsMiE9PVBbay5wbGFj''@;'; put 'put ''ZSsrXSlyZXR1cm4hMTt2YXIgWT1GKFAsayk7aWYoITE9PT1ZfHxQLmxlbmd0aCE9PVkray5wbGFjZSlyZXR1cm4hMTt2YXIgST1QLnNsaWNlKGsucGxhY2UsWStrLnBsYWNlKTtpZigwPT09VFswXSl7aWYoISgxMjgmVFsxXSkpcmV0dXJuITE7VD1ULnNsaWNlKDEpfWlmKDA9PT1JWzBdKXtp''@;'; put 'put ''ZighKDEyOCZJWzFdKSlyZXR1cm4hMTtJPUkuc2xpY2UoMSl9cmV0dXJuIHRoaXMucj1uZXcgTihUKSx0aGlzLnM9bmV3IE4oSSksdGhpcy5yZWNvdmVyeVBhcmFtPW51bGwsITB9LFMucHJvdG90eXBlLnRvREVSPWZ1bmN0aW9uKFApe3ZhciBNPXRoaXMuci50b0FycmF5KCksaz10aGlzLnMu''@;'; put 'put ''dG9BcnJheSgpO2ZvcigxMjgmTVswXSYmKE09WzBdLmNvbmNhdChNKSksMTI4JmtbMF0mJihrPVswXS5jb25jYXQoaykpLE09RChNKSxrPUQoayk7IShrWzBdfHwxMjgma1sxXSk7KWs9ay5zbGljZSgxKTt2YXIgTz1bMl07dyhPLE0ubGVuZ3RoKSwoTz1PLmNvbmNhdChNKSkucHVzaCgyKSx3''@;'; put 'put ''KE8say5sZW5ndGgpO3ZhciBMPU8uY29uY2F0KGspLFQ9WzQ4XTtyZXR1cm4gdyhULEwubGVuZ3RoKSxUPVQuY29uY2F0KEwpLHouZW5jb2RlKFQsUCl9fSw1OTgwOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aigzNzE1KSx6PWooNTQyNyksQz1qKDk1MyksUz1DLmFzc2VydCxtPUMu''@;'; put 'put ''cGFyc2VCeXRlcyxGPWooOTA4NyksRD1qKDM2MjIpO2Z1bmN0aW9uIHcoUCl7aWYoUygiZWQyNTUxOSI9PT1QLCJvbmx5IHRlc3RlZCB3aXRoIGVkMjU1MTkgc28gZmFyIiksISh0aGlzIGluc3RhbmNlb2YgdykpcmV0dXJuIG5ldyB3KFApO3RoaXMuY3VydmU9UD16W1BdLmN1cnZlLHRoaXMu''@;'; put 'put ''Zz1QLmcsdGhpcy5nLnByZWNvbXB1dGUoUC5uLmJpdExlbmd0aCgpKzEpLHRoaXMucG9pbnRDbGFzcz1QLnBvaW50KCkuY29uc3RydWN0b3IsdGhpcy5lbmNvZGluZ0xlbmd0aD1NYXRoLmNlaWwoUC5uLmJpdExlbmd0aCgpLzgpLHRoaXMuaGFzaD1OLnNoYTUxMn1aLmV4cG9ydHM9dyx3LnBy''@;'; put 'put ''b3RvdHlwZS5zaWduPWZ1bmN0aW9uKFAsTSl7UD1tKFApO3ZhciBrPXRoaXMua2V5RnJvbVNlY3JldChNKSxPPXRoaXMuaGFzaEludChrLm1lc3NhZ2VQcmVmaXgoKSxQKSxMPXRoaXMuZy5tdWwoTyksVD10aGlzLmVuY29kZVBvaW50KEwpLFk9dGhpcy5oYXNoSW50KFQsay5wdWJCeXRlcygp''@;'; put 'put ''LFApLm11bChrLnByaXYoKSksST1PLmFkZChZKS51bW9kKHRoaXMuY3VydmUubik7cmV0dXJuIHRoaXMubWFrZVNpZ25hdHVyZSh7UjpMLFM6SSxSZW5jb2RlZDpUfSl9LHcucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbihQLE0sayl7UD1tKFApLE09dGhpcy5tYWtlU2lnbmF0dXJlKE0pO3Zh''@;'; put 'put ''ciBPPXRoaXMua2V5RnJvbVB1YmxpYyhrKSxMPXRoaXMuaGFzaEludChNLlJlbmNvZGVkKCksTy5wdWJCeXRlcygpLFApLFQ9dGhpcy5nLm11bChNLlMoKSk7cmV0dXJuIE0uUigpLmFkZChPLnB1YigpLm11bChMKSkuZXEoVCl9LHcucHJvdG90eXBlLmhhc2hJbnQ9ZnVuY3Rpb24oKXtmb3Io''@;'; put 'put ''dmFyIFA9dGhpcy5oYXNoKCksTT0wO008YXJndW1lbnRzLmxlbmd0aDtNKyspUC51cGRhdGUoYXJndW1lbnRzW01dKTtyZXR1cm4gQy5pbnRGcm9tTEUoUC5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pfSx3LnByb3RvdHlwZS5rZXlGcm9tUHVibGljPWZ1bmN0aW9uKFApe3JldHVybiBG''@;'; put 'put ''LmZyb21QdWJsaWModGhpcyxQKX0sdy5wcm90b3R5cGUua2V5RnJvbVNlY3JldD1mdW5jdGlvbihQKXtyZXR1cm4gRi5mcm9tU2VjcmV0KHRoaXMsUCl9LHcucHJvdG90eXBlLm1ha2VTaWduYXR1cmU9ZnVuY3Rpb24oUCl7cmV0dXJuIFAgaW5zdGFuY2VvZiBEP1A6bmV3IEQodGhpcyxQKX0s''@;'; put 'put ''dy5wcm90b3R5cGUuZW5jb2RlUG9pbnQ9ZnVuY3Rpb24oUCl7dmFyIE09UC5nZXRZKCkudG9BcnJheSgibGUiLHRoaXMuZW5jb2RpbmdMZW5ndGgpO3JldHVybiBNW3RoaXMuZW5jb2RpbmdMZW5ndGgtMV18PVAuZ2V0WCgpLmlzT2RkKCk/MTI4OjAsTX0sdy5wcm90b3R5cGUuZGVjb2RlUG9p''@;'; put 'put ''bnQ9ZnVuY3Rpb24oUCl7dmFyIE09KFA9Qy5wYXJzZUJ5dGVzKFApKS5sZW5ndGgtMSxrPVAuc2xpY2UoMCxNKS5jb25jYXQoLTEyOSZQW01dKSxPPTAhPSgxMjgmUFtNXSksTD1DLmludEZyb21MRShrKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludEZyb21ZKEwsTyl9LHcucHJvdG90eXBlLmVu''@;'; put 'put ''Y29kZUludD1mdW5jdGlvbihQKXtyZXR1cm4gUC50b0FycmF5KCJsZSIsdGhpcy5lbmNvZGluZ0xlbmd0aCl9LHcucHJvdG90eXBlLmRlY29kZUludD1mdW5jdGlvbihQKXtyZXR1cm4gQy5pbnRGcm9tTEUoUCl9LHcucHJvdG90eXBlLmlzUG9pbnQ9ZnVuY3Rpb24oUCl7cmV0dXJuIFAgaW5z''@;'; put 'put ''dGFuY2VvZiB0aGlzLnBvaW50Q2xhc3N9fSw5MDg3OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig5NTMpLHo9Ti5hc3NlcnQsQz1OLnBhcnNlQnl0ZXMsUz1OLmNhY2hlZFByb3BlcnR5O2Z1bmN0aW9uIG0oRixEKXt0aGlzLmVkZHNhPUYsdGhpcy5fc2VjcmV0PUMoRC5zZWNyZXQp''@;'; put 'put ''LEYuaXNQb2ludChELnB1Yik/dGhpcy5fcHViPUQucHViOnRoaXMuX3B1YkJ5dGVzPUMoRC5wdWIpfW0uZnJvbVB1YmxpYz1mdW5jdGlvbihGLEQpe3JldHVybiBEIGluc3RhbmNlb2YgbT9EOm5ldyBtKEYse3B1YjpEfSl9LG0uZnJvbVNlY3JldD1mdW5jdGlvbihGLEQpe3JldHVybiBEIGlu''@;'; put 'put ''c3RhbmNlb2YgbT9EOm5ldyBtKEYse3NlY3JldDpEfSl9LG0ucHJvdG90eXBlLnNlY3JldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZWNyZXR9LFMobSwicHViQnl0ZXMiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5wdWIoKSl9KSxTKG0sInB1YiIs''@;'; put 'put ''ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHViQnl0ZXM/dGhpcy5lZGRzYS5kZWNvZGVQb2ludCh0aGlzLl9wdWJCeXRlcyk6dGhpcy5lZGRzYS5nLm11bCh0aGlzLnByaXYoKSl9KSxTKG0sInByaXZCeXRlcyIsZnVuY3Rpb24oKXt2YXIgRj10aGlzLmVkZHNhLEQ9dGhpcy5oYXNoKCksdz1G''@;'; put 'put ''LmVuY29kaW5nTGVuZ3RoLTEsUD1ELnNsaWNlKDAsRi5lbmNvZGluZ0xlbmd0aCk7cmV0dXJuIFBbMF0mPTI0OCxQW3ddJj0xMjcsUFt3XXw9NjQsUH0pLFMobSwicHJpdiIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5wcml2Qnl0ZXMoKSl9KSxTKG0sImhh''@;'; put 'put ''c2giLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuaGFzaCgpLnVwZGF0ZSh0aGlzLnNlY3JldCgpKS5kaWdlc3QoKX0pLFMobSwibWVzc2FnZVByZWZpeCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYXNoKCkuc2xpY2UodGhpcy5lZGRzYS5lbmNvZGluZ0xlbmd0aCl9KSxtLnByb3Rv''@;'; put 'put ''dHlwZS5zaWduPWZ1bmN0aW9uKEYpe3JldHVybiB6KHRoaXMuX3NlY3JldCwiS2V5UGFpciBjYW4gb25seSB2ZXJpZnkiKSx0aGlzLmVkZHNhLnNpZ24oRix0aGlzKX0sbS5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uKEYsRCl7cmV0dXJuIHRoaXMuZWRkc2EudmVyaWZ5KEYsRCx0aGlzKX0s''@;'; put 'put ''bS5wcm90b3R5cGUuZ2V0U2VjcmV0PWZ1bmN0aW9uKEYpe3JldHVybiB6KHRoaXMuX3NlY3JldCwiS2V5UGFpciBpcyBwdWJsaWMgb25seSIpLE4uZW5jb2RlKHRoaXMuc2VjcmV0KCksRil9LG0ucHJvdG90eXBlLmdldFB1YmxpYz1mdW5jdGlvbihGKXtyZXR1cm4gTi5lbmNvZGUodGhpcy5w''@;'; put 'put ''dWJCeXRlcygpLEYpfSxaLmV4cG9ydHM9bX0sMzYyMjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooMzc4NSksej1qKDk1MyksQz16LmFzc2VydCxTPXouY2FjaGVkUHJvcGVydHksbT16LnBhcnNlQnl0ZXM7ZnVuY3Rpb24gRihELHcpe3RoaXMuZWRkc2E9RCwib2JqZWN0IiE9dHlw''@;'; put 'put ''ZW9mIHcmJih3PW0odykpLEFycmF5LmlzQXJyYXkodykmJih3PXtSOncuc2xpY2UoMCxELmVuY29kaW5nTGVuZ3RoKSxTOncuc2xpY2UoRC5lbmNvZGluZ0xlbmd0aCl9KSxDKHcuUiYmdy5TLCJTaWduYXR1cmUgd2l0aG91dCBSIG9yIFMiKSxELmlzUG9pbnQody5SKSYmKHRoaXMuX1I9dy5S''@;'; put 'put ''KSx3LlMgaW5zdGFuY2VvZiBOJiYodGhpcy5fUz13LlMpLHRoaXMuX1JlbmNvZGVkPUFycmF5LmlzQXJyYXkody5SKT93LlI6dy5SZW5jb2RlZCx0aGlzLl9TZW5jb2RlZD1BcnJheS5pc0FycmF5KHcuUyk/dy5TOncuU2VuY29kZWR9UyhGLCJTIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVk''@;'; put 'put ''ZHNhLmRlY29kZUludCh0aGlzLlNlbmNvZGVkKCkpfSksUyhGLCJSIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuUmVuY29kZWQoKSl9KSxTKEYsIlJlbmNvZGVkIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmVuY29kZVBvaW50KHRoaXMuUigp''@;'; put 'put ''KX0pLFMoRiwiU2VuY29kZWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlSW50KHRoaXMuUygpKX0pLEYucHJvdG90eXBlLnRvQnl0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5SZW5jb2RlZCgpLmNvbmNhdCh0aGlzLlNlbmNvZGVkKCkpfSxGLnByb3RvdHlwZS50b0hl''@;'; put 'put ''eD1mdW5jdGlvbigpe3JldHVybiB6LmVuY29kZSh0aGlzLnRvQnl0ZXMoKSwiaGV4IikudG9VcHBlckNhc2UoKX0sWi5leHBvcnRzPUZ9LDEwMzc6Wj0+e1ouZXhwb3J0cz17ZG91Ymxlczp7c3RlcDo0LHBvaW50czpbWyJlNjBmY2U5M2I1OWU5ZWM1MzAxMWFhYmMyMWMyM2U5N2IyYTMxMzY5''@;'; put 'put ''Yjg3YTVhZTljNDRlZTg5ZTJhNmRlYzBhIiwiZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMSJdLFsiODI4MjI2MzIxMmM2MDlkOWVhMmE2ZTNlMTcyZGUyMzhkOGMzOWNhYmQ1YWMxY2ExMDY0NmUyM2ZkNWY1MTUwOCIsIjEx''@;'; put 'put ''ZjhhODA5ODU1N2RmZTQ1ZTgyNTZlODMwYjYwYWNlNjJkNjEzYWMyZjdiMTdiZWQzMWI2ZWFmZjZlMjZjYWYiXSxbIjE3NWUxNTlmNzI4Yjg2NWE3MmY5OWNjNmM2ZmM4NDZkZTBiOTM4MzNmZDIyMjJlZDczZmNlNWI1NTFlNWI3MzkiLCJkMzUwNmUwZDllM2M3OWViYTRlZjk3YTUxZmY3MWY1''@;'; put 'put ''ZWFjYjU5NTVhZGQyNDM0NWM2ZWZhNmZmZWU5ZmVkNjk1Il0sWyIzNjNkOTBkNDQ3YjAwYzljOTljZWFjMDViNjI2MmVlMDUzNDQxYzdlNTU1NTJmZmU1MjZiYWQ4ZjgzZmY0NjQwIiwiNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5''@;'; put 'put ''ZGU5Il0sWyI4YjRiNWYxNjVkZjNjMmJlOGM2MjQ0YjViNzQ1NjM4ODQzZTRhNzgxYTE1YmNkMWI2OWY3OWE1NWRmZmRmODBjIiwiNGFhZDBhNmY2OGQzMDhiNGIzZmJkNzgxM2FiMGRhMDRmOWUzMzY1NDYxNjJlZTU2YjNlZmYwYzY1ZmQ0ZmQzNiJdLFsiNzIzY2JhYTZlNWRiOTk2ZDZiZjc3''@;'; put 'put ''MWMwMGJkNTQ4YzdiNzAwZGJmZmE2YzBlNzdiY2I2MTE1OTI1MjMyZmNkYSIsIjk2ZTg2N2I1NTk1Y2M0OThhOTIxMTM3NDg4ODI0ZDZlMjY2MGEwNjUzNzc5NDk0ODAxZGMwNjlkOWViMzlmNWYiXSxbImVlYmZhNGQ0OTNiZWJmOThiYTVmZWVjODEyYzJkM2I1MDk0Nzk2MTIzN2E5MTk4Mzlh''@;'; put 'put ''NTMzZWNhMGU3ZGQ3ZmEiLCI1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5Il0sWyIxMDBmNDRkYTY5NmU3MTY3Mjc5MWQwYTA5YjdiZGU0NTlmMTIxNWEyOWIzYzAzYmZlZmQ3ODM1YjM5YTQ4ZGIwIiwiY2RkOWUxMzE5MmEw''@;'; put 'put ''MGI3NzJlYzhmMzMwMGMwOTA2NjZiN2ZmNGExOGZmNTE5NWFjMGZiZDVjZDYyYmM2NWEwOSJdLFsiZTEwMzFiZTI2MmM3ZWQxYjFkYzkyMjdhNGEwNGMwMTdhNzdmOGQ0NDY0ZjNiMzg1MmM4YWNkZTZlNTM0ZmQyZCIsIjlkNzA2MTkyODk0MDQwNWU2YmI2YTQxNzY1OTc1MzVhZjI5MmRkNDE5''@;'; put 'put ''ZTFjZWQ3OWE0NGYxOGYyOTQ1NmEwMGQiXSxbImZlZWE2Y2FlNDZkNTViNTMwYWMyODM5ZjE0M2JkN2VjNWNmOGIyNjZhNDFkNmFmNTJkNWU2ODhkOTA5NDY5NmQiLCJlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4Il0sWyJk''@;'; put 'put ''YTY3YTkxZDkxMDQ5Y2RjYjM2N2JlNGJlNmZmY2EzY2ZlZWQ2NTdkODA4NTgzZGUzM2ZhOTc4YmMxZWM2Y2IxIiwiOWJhY2FhMzU0ODE2NDJiYzQxZjQ2M2Y3ZWM5NzgwZTVkZWM3YWRjNTA4Zjc0MGExN2U5ZWE4ZTI3YTY4YmUxZCJdLFsiNTM5MDRmYWEwYjMzNGNkZGE2ZTAwMDkzNWVmMjIx''@;'; put 'put ''NTFlYzA4ZDBmN2JiMTEwNjlmNTc1NDVjY2MxYTM3YjdjMCIsIjViYzA4N2QwYmM4MDEwNmQ4OGM5ZWNjYWMyMGQzYzFjMTM5OTk5ODFlMTQ0MzQ2OTlkY2IwOTZiMDIyNzcxYzgiXSxbIjhlN2JjZDBiZDM1OTgzYTc3MTljY2E3NzY0Y2E5MDY3NzliNTNhMDQzYTliOGJjYWVmZjk1OWY0M2Fk''@;'; put 'put ''ODYwNDciLCIxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhIl0sWyIzODVlZWQzNGMxY2RmZjIxZTZkMDgxODY4OWI4MWJkZTcxYTdmNGYxODM5N2U2NjkwYTg0MWUxNTk5YzQzODYyIiwiMjgzYmViYzNlOGVhMjNmNTY3MDFk''@;'; put 'put ''ZTE5ZTllYmY0NTc2YjMwNGVlYzIwODZkYzhjYzA0NThmZTU1NDJlNTQ1MyJdLFsiNmY5ZDliODAzZWNmMTkxNjM3YzczYTQ0MTNkZmExODBmZGRmODRhNTk0N2ZiYzljNjA2ZWQ4NmMzZmFjM2E3IiwiN2M4MGM2OGU2MDMwNTliYTY5YjhlMmEzMGU0NWM0ZDQ3ZWE0ZGQyZjVjMjgxMDAyZDg2''@;'; put 'put ''ODkwNjAzYTg0MjE2MCJdLFsiMzMyMmQ0MDEyNDNjNGUyNTgyYTIxNDdjMTA0ZDZlY2JmNzc0ZDE2M2RiMGY1ZTUzMTNiN2UwZTc0MmQwZTZiZCIsIjU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTAiXSxbIjg1NjcyYzdkMmRl''@;'; put 'put ''MGI3ZGEyYmQxNzcwZDg5NjY1ODY4NzQxYjNmOWFmNzY0MzM5NzcyMWQ3NGQyODEzNGFiODMiLCI3YzQ4MWI5YjViNDNiMmViNjM3NDA0OWJmYTYyYzJlNWU3N2YxN2ZjYzUyOThmNDRjOGUzMDk0Zjc5MDMxM2E2Il0sWyI5NDhiZjgwOWIxOTg4YTQ2YjA2YzlmMTkxOTQxM2IxMGY5MjI2YzYw''@;'; put 'put ''ZjY2ODgzMmZmZDk1OWFmNjBjODJhMGEiLCI1M2E1NjI4NTZkY2I2NjQ2ZGM2Yjc0YzVkMWMzNDE4YzZkNGRmZjA4Yzk3Y2QyYmVkNGNiN2Y4OGQ4YzhlNTg5Il0sWyI2MjYwY2U3ZjQ2MTgwMWMzNGYwNjdjZTBmMDI4NzNhOGYxYjBlNDRkZmM2OTc1MmFjY2VjZDgxOWYzOGZkOGU4IiwiYmMy''@;'; put 'put ''ZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxNyJdLFsiZTUwMzdkZTBhZmMxZDhkNDNkODM0ODQxNGJiZjQxMDMwNDNlYzhmNTc1YmZkYzQzMjk1M2NjOGQyMDM3ZmEyZCIsIjQ1NzE1MzRiYWE5NGQzYjVmOWY5OGQwOWZiOTkwYmRk''@;'; put 'put ''YmQ1ZjViMDNlYzQ4MWYxMGUwZTVkYzg0MWQ3NTViZGEiXSxbImUwNjM3MmIwZjRhMjA3YWRmNWVhOTA1ZThmMTc3MWI0ZTdlOGRiZDFjNmE2YzViNzI1ODY2YTBhZTRmY2U3MjUiLCI3YTkwODk3NGJjZTE4Y2ZlMTJhMjdiYjJhZDVhNDg4Y2Q3NDg0YTc3ODcxMDQ4NzBiMjcwMzRmOTRlZWUz''@;'; put 'put ''MWRkIl0sWyIyMTNjN2E3MTVjZDVkNDUzNThkMGJiZjlkYzBjZTAyMjA0YjEwYmRkZTJhM2Y1ODU0MGFkNjkwOGQwNTU5NzU0IiwiNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMiJdLFsiNGU3YzI3MmE3YWY0YjM0ZThkYmI5''@;'; put 'put ''MzUyYTU0MTlhODdlMjgzOGM3MGFkYzYyY2RkZjBjYzNhM2IwOGZiZDUzYyIsIjE3NzQ5Yzc2NmM5ZDBiMThlMTZmZDA5ZjZkZWY2ODFiNTMwYjk2MTRiZmY3ZGQzM2UwYjM5NDE4MTdkY2FhZTYiXSxbImZlYTc0ZTNkYmU3NzhiMWIxMGYyMzhhZDYxNjg2YWE1Yzc2ZTNkYjJiZTQzMDU3NjMy''@;'; put 'put ''NDI3ZTI4NDBmYjI3YjYiLCI2ZTA1NjhkYjliMGIxMzI5N2NmNjc0ZGVjY2I2YWY5MzEyNmI1OTZiOTczZjdiNzc3MDFkM2RiN2YyM2NiOTZmIl0sWyI3NmU2NDExM2Y2NzdjZjBlMTBhMjU3MGQ1OTk5NjhkMzE1NDRlMTc5Yjc2MDQzMjk1MmMwMmE0NDE3YmRkZTM5IiwiYzkwZGRmOGRlZTRl''@;'; put 'put ''OTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMSJdLFsiYzczOGM1NmIwM2IyYWJlMWU4MjgxYmFhNzQzZjhmOWE4ZjdjYzY0M2RmMjZjYmVlM2FiMTUwMjQyYmNiYjg5MSIsIjg5M2ZiNTc4OTUxYWQyNTM3ZjcxOGYyZWFjYmZiYmJiODIzMTRlZWY3''@;'; put 'put ''ODgwY2ZlOTE3ZTczNWQ5Njk5YTg0YzMiXSxbImQ4OTU2MjY1NDhiNjViODFlMjY0Yzc2MzdjOTcyODc3ZDFkNzJlNWYzYTkyNTAxNDM3MmU5ZjY1ODhmNmMxNGIiLCJmZWJmYWEzOGYyYmM3ZWFlNzI4ZWM2MDgxOGMzNDBlYjAzNDI4ZDYzMmJiMDY3ZTE3OTM2M2VkNzVkN2Q5OTFmIl0sWyJi''@;'; put 'put ''OGRhOTQwMzJhOTU3NTE4ZWIwZjY0MzM1NzFlODc2MWNlZmZjNzM2OTNlODRlZGQ0OTE1MGE1NjRmNjc2ZTAzIiwiMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlNyJdLFsiZTgwZmVhMTQ0NDFmYjMzYTdkOGFkYWI5NDc1ZDdm''@;'; put 'put ''YWIyMDE5ZWZmYjUxNTZhNzkyZjFhMTE3NzhlM2MwZGY1ZCIsImVlZDFkZTdmNjM4ZTAwNzcxZTg5NzY4Y2EzY2E5NDQ3MmQxNTVlODBhZjMyMmVhOWZjYjQyOTFiNmFjOWVjNzgiXSxbImEzMDE2OTdiZGZjZDcwNDMxM2JhNDhlNTFkNTY3NTQzZjJhMTgyMDMxZWZkNjkxNWRkYzA3YmJjYzRl''@;'; put 'put ''MTYwNzAiLCI3MzcwZjkxY2ZiNjdlNGY1MDgxODA5ZmEyNWQ0MGY5YjE3MzVkYmY3YzBhMTFhMTMwYzBkMWEwNDFlMTc3ZWExIl0sWyI5MGFkODViMzg5ZDZiOTM2NDYzZjlkMDUxMjY3OGRlMjA4Y2MzMzBiMTEzMDdmZmZhYjdhYzYzZTNmYjA0ZWQ0IiwiZTUwN2EzNjIwYTM4MjYxYWZmZGNi''@;'; put 'put ''ZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwIl0sWyI4ZjY4YjlkMmY2M2I1ZjMzOTIzOWMxYWQ5ODFmMTYyZWU4OGM1Njc4NzIzZWEzMzUxYjdiNDQ0YzllYzRjMGRhIiwiNjYyYTlmMmRiYTA2Mzk4NmRlMWQ5MGMyYjZiZTIxNWRiYmVhMmNmZTk1NTEwYmZkZjIz''@;'; put 'put ''Y2JmNzk1MDFmZmY4MiJdLFsiZTRmM2ZiMDE3NmFmODVkNjVmZjk5ZmY5MTk4YzM2MDkxZjQ4ZTg2NTAzNjgxZTNlNjY4NmZkNTA1MzIzMWUxMSIsIjFlNjM2MzNhZDBlZjRmMWMxNjYxYTZkMGVhMDJiNzI4NmNjN2U3NGVjOTUxZDFjOTgyMmMzODU3NmZlYjczYmMiXSxbIjhjMDBmYTliMThl''@;'; put 'put ''YmYzMzFlYjk2MTUzN2E0NWE0MjY2YzcwMzRmMmYwZDRlMWQwNzE2ZmI2ZWFlMjBlYWUyOWUiLCJlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiIl0sWyJlN2EyNmNlNjlkZDQ4MjlmM2UxMGNlYzBhOWU5OGVkMzE0M2QwODRm''@;'; put 'put ''MzA4YjkyYzA5OTdmZGRmYzYwY2IzZTQxIiwiMmE3NThlMzAwZmE3OTg0YjQ3MWIwMDZhMWFhZmJiMThkMGE2YjJjMDQyMGU4M2UyMGU4YTk0MjFjZjJjZmQ1MSJdLFsiYjY0NTllMGVlMzY2MmVjOGQyMzU0MGMyMjNiY2JkYzU3MWNiY2I5NjdkNzk0MjRmM2NmMjllYjNkZTZiODBlZiIsIjY3''@;'; put 'put ''Yzg3NmQwNmYzZTA2ZGUxZGFkZjE2ZTU2NjFkYjNjNGIzYWU2ZDQ4ZTM1YjJmZjMwYmYwYjYxYTcxYmE0NSJdLFsiZDY4YTgwYzgyODBiYjg0MDc5MzIzNGFhMTE4ZjA2MjMxZDZmMWZjNjdlNzNjNWE1ZGVkYTBmNWI0OTY5NDNlOCIsImRiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhi''@;'; put 'put ''NWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjAiXSxbIjMyNGFlZDdkZjY1YzgwNDI1MmRjMDI3MDkwN2EzMGIwOTYxMmFlYjk3MzQ0OWNlYTQwOTU5ODBmYzI4ZDNkNWQiLCI2NDhhMzY1Nzc0YjYxZjJmZjEzMGMwYzM1YWVjMWY0ZjE5MjEzYjBjN2UzMzI4NDM5NjcyMjRhZjk2YWI3''@;'; put 'put ''Yzg0Il0sWyI0ZGY5YzE0OTE5Y2RlNjFmNmQ1MWRmZGJlNWZlZTVkY2VlYzQxNDNiYThkMWNhODg4ZThiZDM3M2ZkMDU0Yzk2IiwiMzVlYzUxMDkyZDg3MjgwNTA5NzRjMjNhMWQ4NWQ0YjVkNTA2Y2RjMjg4NDkwMTkyZWJhYzA2Y2FkMTBkNWQiXSxbIjljMzkxOWE4NGE0NzQ4NzBmYWVkOGE5''@;'; put 'put ''YzFjYzY2MDIxNTIzNDg5MDU0ZDdmMDMwOGNiZmM5OWM4YWMxZjk4Y2QiLCJkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkIl0sWyI2MDU3MTcwYjFkZDEyZmRmOGRlMDVmMjgxZDhlMDZiYjkxZTE0OTNhOGI5MWQ0Y2M1YTIx''@;'; put 'put ''MzgyMTIwYTk1OWU1IiwiOWExYWYwYjI2YTZhNDgwN2FkZDlhMmRhZjcxZGYyNjI0NjUxNTJiYzNlZTI0YzY1ZTg5OWJlOTMyMzg1YTJhOCJdLFsiYTU3NmRmOGUyM2EwODQxMTQyMTQzOWE0NTE4ZGEzMTg4MGNlZjBmYmE3ZDRkZjEyYjFhNjk3M2VlY2I5NDI2NiIsIjQwYTZiZjIwZTc2NjQw''@;'; put 'put ''YjJjOTJiOTdhZmU1OGNkODJjNDMyZTEwYTdmNTE0ZDlmM2VlOGJlMTFhZTFiMjhlYzgiXSxbIjc3NzhhNzhjMjhkZWMzZTMwYTA1ZmU5NjI5ZGU4YzM4YmIzMGQxZjVjZjlhM2EyMDhmNzYzODg5YmU1OGFkNzEiLCIzNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYy''@;'; put 'put ''NGFjNTYzYjUxM2ZjMWZkOWY0M2FjIl0sWyI5Mjg5NTVlZTYzN2E4NDQ2MzcyOWZkMzBlN2FmZDJlZDVmOTYyNzRlNWFkN2U1Y2IwOWVkYTljMDZkOTAzYWMiLCJjMjU2MjEwMDNkM2Y0MmE4MjdiNzhhMTMwOTNhOTVlZWFjM2QyNmVmYThhOGQ4M2ZjNTE4MGU5MzViY2QwOTFmIl0sWyI4NWQw''@;'; put 'put ''ZmVmM2VjNmRiMTA5Mzk5MDY0ZjNhMGUzYjI4NTU2NDViNGE5MDdhZDM1NDUyN2FhZTc1MTYzZDgyNzUxIiwiMWYwMzY0ODQxM2EzOGMwYmUyOWQ0OTZlNTgyY2Y1NjYzZTg3NTFlOTY4NzczMzE1ODJjMjM3YTI0ZWIxZjk2MiJdLFsiZmYyYjBkY2U5N2VlY2U5N2MxYzliNjA0MTc5OGI4NWRm''@;'; put 'put ''ZGZiNmQ4ODgyZGEyMDMwOGY1NDA0ODI0NTI2MDg3ZSIsIjQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDciXSxbIjgyN2ZiYmU0YjFlODgwZWE5ZWQyYjJlNjMwMWIyMTJiNTdmMWVlMTQ4Y2Q2ZGQyODc4MGU1ZTJjZjg1NmUy''@;'; put 'put ''NDEiLCJjNjBmOWM5MjNjNzI3YjBiNzFiZWYyYzY3ZDFkMTI2ODdmZjdhNjMxODY5MDMxNjZkNjA1YjY4YmFlYzI5M2VjIl0sWyJlYWE2NDlmMjFmNTFiZGJhZTdiZTRhZTM0Y2U2ZTUyMTdhNThmZGNlN2Y0N2Y5YWE3ZjNiNThmYTIxMjBlMmIzIiwiYmUzMjc5ZWQ1YmJiYjAzYWM2OWE4MGY4''@;'; put 'put ''OTg3OWFhNWEwMWE2Yjk2NWYxM2Y3ZTU5ZDQ3YTUzMDViYTVhZDkzZCJdLFsiZTRhNDJkNDNjNWNmMTY5ZDkzOTFkZjZkZWNmNDJlZTU0MWI2ZDhmMGM5YTEzNzQwMWUyMzYzMmRkYTM0ZDI0ZiIsIjRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3''@;'; put 'put ''MTMxZGViYTk0MTQiXSxbIjFlYzgwZmVmMzYwY2JkZDk1NDE2MGZhZGFiMzUyYjZiOTJiNTM1NzZhODhmZWE0OTQ3MTczYjlkNDMwMGJmMTkiLCJhZWVmZTkzNzU2YjUzNDBkMmYzYTQ5NThhN2FiYmY1ZTAxNDZlNzdmNjI5NWEwN2I2NzFjZGMxY2MxMDdjZWZkIl0sWyIxNDZhNzc4YzA0Njcw''@;'; put 'put ''YzJmOTFiMDBhZjQ2ODBkZmE4YmNlMzQ5MDcxN2Q1OGJhODg5ZGRiNTkyODM2NjY0MmJlIiwiYjMxOGUwZWMzMzU0MDI4YWRkNjY5ODI3ZjlkNGIyODcwYWFhOTcxZDJmN2U1ZWQxZDBiMjk3NDgzZDgzZWZkMCJdLFsiZmE1MGMwZjYxZDIyZTVmMDdlM2FjZWJiMWFhMDdiMTI4ZDAwMTIyMDlh''@;'; put 'put ''MjhiOTc3NmQ3NmE4NzkzMTgwZWVmOSIsIjZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTEiXSxbImRhMWQ2MWQwY2E3MjFhMTFiMWE1YmY2YjdkODhlODQyMWEyODhhYjVkNWJiYTUyMjBlNTNkMzJiNWYwNjdlYzIiLCI4MTU3''@;'; put 'put ''ZjU1YTdjOTkzMDZjNzljMDc2NjE2MWM5MWUyOTY2YTczODk5ZDI3OWI0OGE2NTVmYmEwZjFhZDgzNmYxIl0sWyJhOGUyODJmZjBjOTcwNjkwNzIxNWZmOThlOGZkNDE2NjE1MzExZGUwNDQ2ZjFlMDYyYTczYjA2MTBkMDY0ZTEzIiwiN2Y5NzM1NWI4ZGI4MWMwOWFiZmI3ZjNjNWIyNTE1ODg4''@;'; put 'put ''YjY3OWEzZTUwZGQ2YmQ2Y2VmN2M3MzExMWY0Y2MwYyJdLFsiMTc0YTUzYjljOWEyODU4NzJkMzllNTZlNjkxM2NhYjE1ZDU5YjFmYTUxMjUwOGMwMjJmMzgyZGU4MzE5NDk3YyIsImNjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZh''@;'; put 'put ''NzMiXSxbIjk1OTM5Njk4MTk0Mzc4NWMzZDNlNTdlZGY1MDE4Y2RiZTAzOWU3MzBlNDkxOGIzZDg4NGZkZmYwOTQ3NWI3YmEiLCIyZTdlNTUyODg4YzMzMWRkOGJhMDM4NmE0YjljZDY4NDljNjUzZjY0Yzg3MDkzODVlOWI4YWJmODc1MjRmMmZkIl0sWyJkMmE2M2E1MGFlNDAxZTU2ZDY0NWEx''@;'; put 'put ''MTUzYjEwOWE4ZmNjYTBhNDNkNTYxZmJhMmRiYjUxMzQwYzlkODJiMTUxIiwiZTgyZDg2ZmI2NDQzZmNiNzU2NWFlZTU4YjI5NDgyMjBhNzBmNzUwYWY0ODRjYTUyZDQxNDIxNzRkY2Y4OTQwNSJdLFsiNjQ1ODdlMjMzNTQ3MWViODkwZWU3ODk2ZDdjZmRjODY2YmFjYmRiZDM4MzkzMTdiMzQz''@;'; put 'put ''NmY5YjQ1NjE3ZTA3MyIsImQ5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODkiXSxbIjg0ODFiZGUwZTRlNGQ4ODViM2E1NDZkM2U1NDlkZTA0MmYwYWE2Y2VhMjUwZTdmZDM1OGQ2Yzg2ZGQ0NWU0NTgiLCIzOGVlN2I4Y2JhNTQw''@;'; put 'put ''NGRkODRhMjViZjM5Y2VjYjJjYTkwMGE3OWM0MmIyNjJlNTU2ZDY0YjFiNTk3NzkwNTdlIl0sWyIxMzQ2NGE1N2E3ODEwMmFhNjJiNjk3OWFlODE3ZjQ2MzdmZmNmZWQzYzRiMWNlMzBiY2Q2MzAzZjZjYWY2NjZiIiwiNjliZTE1OTAwNDYxNDU4MGVmN2U0MzM0NTNjY2IwY2E0OGYzMDBhODFk''@;'; put 'put ''MDk0MmUxM2Y0OTVhOTA3ZjZlY2MyNyJdLFsiYmM0YTlkZjViNzEzZmUyZTlhZWY0MzBiY2MxZGM5N2EwY2Q5Y2NlZGUyZjI4NTg4Y2FkYTNhMGQyZDgzZjM2NiIsImQzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMSJdLFsiOGMy''@;'; put 'put ''OGE5N2JmODI5OGJjMGQyM2Q4Yzc0OTQ1MmEzMmU2OTRiNjVlMzBhOTQ3MmEzOTU0YWIzMGZlNTMyNGNhYSIsIjQwYTMwNDYzYTMzMDUxOTMzNzhmZWRmMzFmN2NjMGViN2FlNzg0ZjA0NTFjYjk0NTllNzFkYzczY2JlZjk0ODIiXSxbIjhlYTk2NjYxMzk1MjdhOGMxZGQ5NGNlNGYwNzFmZDIz''@;'; put 'put ''YzhiMzUwYzVhNGJiMzM3NDhjNGJhMTExZmFjY2FlMCIsIjYyMGVmYWJiYzhlZTI3ODJlMjRlN2MwY2ZiOTVjNWQ3MzViNzgzYmU5Y2YwZjhlOTU1YWYzNGEzMGU2MmI5NDUiXSxbImRkMzYyNWZhZWY1YmEwNjA3NDY2OTcxNmJiZDM3ODhkODliZGRlODE1OTU5OTY4MDkyZjc2Y2M0ZWI5YTk3''@;'; put 'put ''ODciLCI3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczIl0sWyJmNzEwZDc5ZDllYjk2MjI5N2U0ZjYyMzJiNDBlOGY3ZmViMmJjNjM4MTQ2MTRkNjkyYzEyZGU3NTI0MDgyMjFlIiwiZWE5OGU2NzIzMmQzYjMyOTVkM2I1MzU1''@;'; put 'put ''MzIxMTVjY2FjODYxMmM3MjE4NTE2MTc1MjZhZTQ3YTljNzdiZmM4MiJdXX0sbmFmOnt3bmQ6Nyxwb2ludHM6W1siZjkzMDhhMDE5MjU4YzMxMDQ5MzQ0Zjg1Zjg5ZDUyMjliNTMxYzg0NTgzNmY5OWIwODYwMWYxMTNiY2UwMzZmOSIsIjM4OGY3YjBmNjMyZGU4MTQwZmUzMzdlNjJhMzdmMzU2''@;'; put 'put ''NjUwMGE5OTkzNGMyMjMxYjZjYjlmZDc1ODRiOGU2NzIiXSxbIjJmOGJkZTRkMWEwNzIwOTM1NWI0YTcyNTBhNWM1MTI4ZTg4Yjg0YmRkYzYxOWFiN2NiYThkNTY5YjI0MGVmZTQiLCJkOGFjMjIyNjM2ZTVlM2Q2ZDRkYmE5ZGRhNmM5YzQyNmY3ODgyNzFiYWIwZDY4NDBkY2E4N2QzYWE2YWM2''@;'; put 'put ''MmQ2Il0sWyI1Y2JkZjA2NDZlNWRiNGVhYTM5OGYzNjVmMmVhN2EwZTNkNDE5YjdlMDMzMGUzOWNlOTJiZGRlZGNhYzRmOWJjIiwiNmFlYmNhNDBiYTI1NTk2MGEzMTc4ZDZkODYxYTU0ZGJhODEzZDBiODEzZmRlN2I1YTUwODI2MjgwODcyNjRkYSJdLFsiYWNkNDg0ZTJmMGM3ZjY1MzA5YWQx''@;'; put 'put ''NzhhOWY1NTlhYmRlMDk3OTY5NzRjNTdlNzE0YzM1ZjExMGRmYzI3Y2NiZSIsImNjMzM4OTIxYjBhN2Q5ZmQ2NDM4MDk3MTc2M2I2MWU5YWRkODg4YTQzNzVmOGUwZjA1Y2MyNjJhYzY0ZjljMzciXSxbIjc3NGFlN2Y4NThhOTQxMWU1ZWY0MjQ2YjcwYzY1YWFjNTY0OTk4MGJlNWMxNzg5MWJi''@;'; put 'put ''ZWMxNzg5NWRhMDA4Y2IiLCJkOTg0YTAzMmViNmI1ZTE5MDI0M2RkNTZkN2I3YjM2NTM3MmRiMWUyZGZmOWQ2YTgzMDFkNzRjOWM5NTNjNjFiIl0sWyJmMjg3NzNjMmQ5NzUyODhiYzdkMWQyMDVjMzc0ODY1MWIwNzVmYmM2NjEwZTU4Y2RkZWVkZGY4ZjE5NDA1YWE4IiwiYWIwOTAyZThkODgw''@;'; put 'put ''YTg5NzU4MjEyZWI2NWNkYWY0NzNhMWEwNmRhNTIxZmE5MWYyOWI1Y2I1MmRiMDNlZDgxIl0sWyJkNzkyNGQ0ZjdkNDNlYTk2NWE0NjVhZTMwOTVmZjQxMTMxZTU5NDZmM2M4NWY3OWU0NGFkYmNmOGUyN2UwODBlIiwiNTgxZTI4NzJhODZjNzJhNjgzODQyZWMyMjhjYzZkZWZlYTQwYWYyYmQ4''@;'; put 'put ''OTZkM2E1YzUwNGRjOWZmNmEyNmI1OCJdLFsiZGVmZGVhNGNkYjY3Nzc1MGE0MjBmZWU4MDdlYWNmMjFlYjk4OThhZTc5Yjk3Njg3NjZlNGZhYTA0YTJkNGEzNCIsIjQyMTFhYjA2OTQ2MzUxNjhlOTk3YjBlYWQyYTkzZGFlY2VkMWY0YTA0YTk1YzBmNmNmYjE5OWY2OWU1NmViNzciXSxbIjJi''@;'; put 'put ''NGVhMGE3OTdhNDQzZDI5M2VmNWNmZjQ0NGY0OTc5ZjA2YWNmZWJkN2U4NmQyNzc0NzU2NTYxMzgzODViNmMiLCI4NWU4OWJjMDM3OTQ1ZDkzYjM0MzA4M2I1YTFjODYxMzFhMDFmNjBjNTAyNjk3NjNiNTcwYzg1NGU1YzA5YjdhIl0sWyIzNTJiYmY0YTRjZGQxMjU2NGY5M2ZhMzMyY2UzMzMz''@;'; put 'put ''MDFkOWFkNDAyNzFmODEwNzE4MTM0MGFlZjI1YmU1OWQ1IiwiMzIxZWI0MDc1MzQ4ZjUzNGQ1OWMxODI1OWRkYTNlMWY0YTFiM2IyZTcxYjEwMzljNjdiZDNkOGJjZjgxOTk4YyJdLFsiMmZhMjEwNGQ2YjM4ZDExYjAyMzAwMTA1NTk4NzkxMjRlNDJhYjhkZmVmZjVmZjI5ZGM5Y2RhZGQ0ZWNh''@;'; put 'put ''Y2MzZiIsIjJkZTEwNjgyOTVkZDg2NWI2NDU2OTMzNWJkNWRkODAxODFkNzBlY2ZjODgyNjQ4NDIzYmE3NmI1MzJiN2Q2NyJdLFsiOTI0ODI3OWIwOWI0ZDY4ZGFiMjFhOWIwNjZlZGRhODMyNjNjM2Q4NGUwOTU3MmUyNjljYTBjZDdmNTQ1MzcxNCIsIjczMDE2ZjdiZjIzNGFhZGU1ZDFhYTcx''@;'; put 'put ''YmRlYTJiMWZmM2ZjMGRlMmE4ODc5MTJmZmU1NGEzMmNlOTdjYjM0MDIiXSxbImRhZWQ0ZjJiZTNhOGJmMjc4ZTcwMTMyZmIwYmViNzUyMmY1NzBlMTQ0YmY2MTVjMDdlOTk2ZDQ0M2RlZTg3MjkiLCJhNjlkY2U0YTdkNmM5OGU4ZDRhMWFjYTg3ZWY4ZDcwMDNmODNjMjMwZjNhZmE3MjZhYjQw''@;'; put 'put ''ZTUyMjkwYmUxYzU1Il0sWyJjNDRkMTJjNzA2NWQ4MTJlOGFjZjI4ZDdjYmIxOWY5MDExZWNkOWU5ZmRmMjgxYjBlNmEzYjVlODdkMjJlN2RiIiwiMjExOWE0NjBjZTMyNmNkYzc2YzQ1OTI2Yzk4MmZkYWMwZTEwNmU4NjFlZGY2MWM1YTAzOTA2M2YwZTBlNjQ4MiJdLFsiNmEyNDViZjZkYzY5''@;'; put 'put ''ODUwNGM4OWEyMGNmZGVkNjA4NTMxNTJiNjk1MzM2YzI4MDYzYjYxYzY1Y2JkMjY5ZTZiNCIsImUwMjJjZjQyYzJiZDRhNzA4YjNmNTEyNmYxNmEyNGFkOGIzM2JhNDhkMDQyM2I2ZWZkNWU2MzQ4MTAwZDhhODIiXSxbIjE2OTdmZmE2ZmQ5ZGU2MjdjMDc3ZTNkMmZlNTQxMDg0Y2UxMzMwMGIw''@;'; put 'put ''YmVjMTE0NmY5NWFlNTdmMGQwYmQ2YTUiLCJiOWMzOThmMTg2ODA2ZjVkMjc1NjE1MDZlNDU1NzQzM2EyY2YxNTAwOWU0OThhZTdhZGVlOWQ2M2QwMWIyMzk2Il0sWyI2MDViZGIwMTk5ODE3MThiOTg2ZDBmMDdlODM0Y2IwZDlkZWI4MzYwZmZiN2Y2MWRmOTgyMzQ1ZWYyN2E3NDc5IiwiMjk3''@;'; put 'put ''MmQyZGU0ZjhkMjA2ODFhNzhkOTNlYzk2ZmUyM2MyNmJmYWU4NGZiMTRkYjQzYjAxZTFlOTA1NmI4YzQ5Il0sWyI2MmQxNGRhYjQxNTBiZjQ5NzQwMmZkYzQ1YTIxNWUxMGRjYjAxYzM1NDk1OWIxMGNmZTMxYzdlOWQ4N2ZmMzNkIiwiODBmYzA2YmQ4Y2M1YjAxMDk4MDg4YTE5NTBlZWQwZGIw''@;'; put 'put ''MWFhMTMyOTY3YWI0NzIyMzVmNTY0MjQ4M2IyNWVhZiJdLFsiODBjNjBhZDAwNDBmMjdkYWRlNWI0YjA2YzQwOGU1NmIyYzUwZTlmNTZiOWI4YjQyNWU1NTVjMmY4NjMwOGI2ZiIsIjFjMzgzMDNmMWNjNWMzMGYyNmU2NmJhZDdmZTcyZjcwYTY1ZWVkNGNiZTcwMjRlYjFhYTAxZjU2NDMwYmQ1''@;'; put 'put ''N2EiXSxbIjdhOTM3NWFkNjE2N2FkNTRhYTc0YzYzNDhjYzU0ZDM0NGNjNWRjOTQ4N2Q4NDcwNDlkNWVhYmIwZmEwM2M4ZmIiLCJkMGUzZmE5ZWNhODcyNjkwOTU1OWUwZDc5MjY5MDQ2YmRjNTllYTEwYzcwY2UyYjAyZDQ5OWVjMjI0ZGM3ZjciXSxbImQ1MjhlY2Q5YjY5NmI1NGM5MDdhOWVk''@;'; put 'put ''MDQ1NDQ3YTc5YmI0MDhlYzM5YjY4ZGY1MDRiYjUxZjQ1OWJjM2ZmYzkiLCJlZWNmNDEyNTMxMzZlNWY5OTk2NmYyMTg4MWZkNjU2ZWJjNDM0NTQwNWM1MjBkYmMwNjM0NjViNTIxNDA5OTMzIl0sWyI0OTM3MGE0YjVmNDM0MTJlYTI1ZjUxNGU4ZWNkYWQwNTI2NjExNWU0YTdlY2IxMzg3MjMx''@;'; put 'put ''ODA4ZjhiNDU5NjMiLCI3NThmM2Y0MWFmZDZlZDQyOGIzMDgxYjA1MTJmZDYyYTU0YzNmM2FmYmI1YjY3NjRiNjUzMDUyYTEyOTQ5YzlhIl0sWyI3N2YyMzA5MzZlZTg4Y2JiZDczZGY5MzBkNjQ3MDJlZjg4MWQ4MTFlMGUxNDk4ZTJmMWMxM2ViMWZjMzQ1ZDc0IiwiOTU4ZWY0MmE3ODg2YjY0''@;'; put 'put ''MDBhMDgyNjZlOWJhMWIzNzg5NmM5NTMzMGQ5NzA3N2NiYmU4ZWIzYzc2NzFjNjBkNiJdLFsiZjJkYWM5OTFjYzRjZTRiOWVhNDQ4ODdlNWM3YzBiY2U1OGM4MDA3NGFiOWQ0ZGJhZWIyODUzMWI3NzM5ZjUzMCIsImUwZGVkYzliM2IyZjhkYWQ0ZGExZjMyZGVjMjUzMWRmOWViNWZiZWIwNTk4''@;'; put 'put ''ZTRmZDFhMTE3ZGJhNzAzYTNjMzciXSxbIjQ2M2IzZDlmNjYyNjIxZmIxYjRiZThmYmJlMjUyMDEyNWEyMTZjZGZjOWRhZTNkZWJjYmE0ODUwYzY5MGQ0NWIiLCI1ZWQ0MzBkNzhjMjk2YzM1NDMxMTQzMDZkZDg2MjJkN2M2MjJlMjdjOTcwYTFkZTMxY2IzNzdiMDFhZjczMDdlIl0sWyJmMTZm''@;'; put 'put ''ODA0MjQ0ZTQ2ZTJhMDkyMzJkNGFmZjNiNTk5NzZiOThmYWMxNDMyOGEyZDFhMzI0OTZiNDk5OThmMjQ3IiwiY2VkYWJkOWI4MjIwM2Y3ZTEzZDIwNmZjZGY0ZTMzZDkyYTZjNTNjMjZlNWNjZTI2ZDY1Nzk5NjJjNGUzMWRmNiJdLFsiY2FmNzU0MjcyZGM4NDU2M2IwMzUyYjdhMTQzMTFhZjU1''@;'; put 'put ''ZDI0NTMxNWFjZTI3YzY1MzY5ZTE1ZjcxNTFkNDFkMSIsImNiNDc0NjYwZWYzNWY1ZjJhNDFiNjQzZmE1ZTQ2MDU3NWY0ZmE5Yjc5NjIyMzJhNWMzMmY5MDgzMThhMDQ0NzYiXSxbIjI2MDBjYTRiMjgyY2I5ODZmODVkMGYxNzA5OTc5ZDhiNDRhMDljMDdjYjg2ZDdjMTI0NDk3YmM4NmYwODIx''@;'; put 'put ''MjAiLCI0MTE5Yjg4NzUzYzE1YmQ2YTY5M2IwM2ZjZGRiYjQ1ZDVhYzZiZTc0YWI1ZjBlZjQ0YjBiZTk0NzVhN2U0YjQwIl0sWyI3NjM1Y2E3MmQ3ZTg0MzJjMzM4ZWM1M2NkMTIyMjBiYzAxYzQ4Njg1ZTI0ZjdkYzhjNjAyYTc3NDY5OThlNDM1IiwiOTFiNjQ5NjA5NDg5ZDYxM2QxZDVlNTkw''@;'; put 'put ''Zjc4ZTZkNzRlY2ZjMDYxZDU3MDQ4YmFkOWU3NmYzMDJjNWI5YzYxIl0sWyI3NTRlMzIzOWYzMjU1NzBjZGJiZjRhODdkZWVlOGE2NmI3ZjJiMzM0NzlkNDY4ZmJjMWE1MDc0M2JmNTZjYzE4IiwiNjczZmI4NmU1YmRhMzBmYjNjZDBlZDMwNGVhNDlhMDIzZWUzM2QwMTk3YTY5NWQwYzVkOTgw''@;'; put 'put ''OTNjNTM2NjgzIl0sWyJlM2U2YmQxMDcxYTFlOTZhZmY1Nzg1OWM4MmQ1NzBmMDMzMDgwMDY2MWQxYzk1MmY5ZmUyNjk0NjkxZDliOWU4IiwiNTljOWUwYmJhMzk0ZTc2ZjQwYzBhYTU4Mzc5YTNjYjZhNWEyMjgzOTkzZTkwYzQxNjcwMDJhZjQ5MjBlMzdmNSJdLFsiMTg2YjQ4M2QwNTZhMDMz''@;'; put 'put ''ODI2YWU3M2Q4OGY3MzI5ODVjNGNjYjFmMzJiYTM1ZjRiNGNjNDdmZGNmMDRhYTZlYiIsIjNiOTUyZDMyYzY3Y2Y3N2UyZTE3NDQ2ZTIwNDE4MGFiMjFmYjgwOTA4OTUxMzhiNGE0YTc5N2Y4NmU4MDg4OGIiXSxbImRmOWQ3MGE2Yjk4NzZjZTU0NGM5ODU2MWY0YmU0ZjcyNTQ0MmU2ZDJiNzM3''@;'; put 'put ''ZDljOTFhODMyMTcyNGNlMDk2M2YiLCI1NWViMmRhZmQ4NGQ2Y2NkNWY4NjJiNzg1ZGMzOWQ0YWIxNTcyMjI3MjBlZjlkYTIxN2I4YzQ1Y2YyYmEyNDE3Il0sWyI1ZWRkNWNjMjNjNTFlODdhNDk3Y2E4MTVkNWRjZTBmOGFiNTI1NTRmODQ5ZWQ4OTk1ZGU2NGM1ZjM0Y2U3MTQzIiwiZWZhZTlj''@;'; put 'put ''OGRiYzE0MTMwNjYxZThjZWMwMzBjODlhZDBjMTNjNjZjMGQxN2EyOTA1Y2RjNzA2YWI3Mzk5YTg2OCJdLFsiMjkwNzk4YzJiNjQ3NjgzMGRhMTJmZTAyMjg3ZTllNzc3YWEzZmJhMWMzNTViMTdhNzIyZDM2MmY4NDYxNGZiYSIsImUzOGRhNzZkY2Q0NDA2MjE5ODhkMDBiY2Y3OWFmMjVkNWIy''@;'; put 'put ''OWMwOTRkYjJhMjMxNDZkMDAzYWZkNDE5NDNlN2EiXSxbImFmM2M0MjNhOTVkOWY1YjMwNTQ3NTRlZmExNTBhYzM5Y2QyOTU1MmZlMzYwMjU3MzYyZGZkZWNlZjQwNTNiNDUiLCJmOThhM2ZkODMxZWIyYjc0OWE5M2IwZTZmMzVjZmI0MGM4Y2Q1YWE2NjdhMTU1ODFiYzJmZWRlZDQ5OGZkOWM2''@;'; put 'put ''Il0sWyI3NjZkYmIyNGQxMzRlNzQ1Y2NjYWEyOGM5OWJmMjc0OTA2YmI2NmIyNmRjZjk4ZGY4ZDJmZWQ1MGQ4ODQyNDlhIiwiNzQ0YjExNTJlYWNiZTVlMzhkY2M4ODc5ODBkYTM4Yjg5NzU4NGE2NWZhMDZjZWRkMmM5MjRmOTdjYmFjNTk5NiJdLFsiNTlkYmY0NmY4Yzk0NzU5YmEyMTI3N2Mz''@;'; put 'put ''Mzc4NGY0MTY0NWY3YjQ0ZjZjNTk2YTU4Y2U5MmU2NjYxOTFhYmUzZSIsImM1MzRhZDQ0MTc1ZmJjMzAwZjRlYTZjZTY0ODMwOWEwNDJjZTczOWE3OTE5Nzk4Y2Q4NWUyMTZjNGEzMDdmNmUiXSxbImYxM2FkYTk1MTAzYzQ1MzczMDVlNjkxZTc0ZTlhNGE4ZGQ2NDdlNzExYTk1ZTczY2I2MmRj''@;'; put 'put ''NjAxOGNmZDg3YjgiLCJlMTM4MTdiNDRlZTE0ZGU2NjNiZjRiYzgwODM0MWYzMjY5NDllMjFhNmE3NWMyNTcwNzc4NDE5YmRhZjU3MzNkIl0sWyI3NzU0YjRmYTBlOGFjZWQwNmQ0MTY3YTJjNTljY2E0Y2RhMTg2OWMwNmViYWRmYjY0ODg1NTAwMTVhODg1MjJjIiwiMzBlOTNlODY0ZTY2OWQ4''@;'; put 'put ''MjIyNGI5NjdjMzAyMGI4ZmE4ZDFlNGUzNTBiNmNiY2M1MzdhNDhiNTc4NDExNjNhMiJdLFsiOTQ4ZGNhZGY1OTkwZTA0OGFhMzg3NGQ0NmFiZWY5ZDcwMTg1OGY5NWRlODA0MWQyYTY4MjhjOTllMjI2MjUxOSIsImU0OTFhNDI1MzdmNmU1OTdkNWQyOGEzMjI0YjFiYzI1ZGY5MTU0ZWZiZDJl''@;'; put 'put ''ZjFkMmNiYmEyY2FlNTM0N2Q1N2UiXSxbIjc5NjI0MTQ0NTBjNzZjMTY4OWM3YjQ4ZjgyMDJlYzM3ZmIyMjRjZjVhYzBiZmExNTcwMzI4YThhM2Q3Yzc3YWIiLCIxMDBiNjEwZWM0ZmZiNDc2MGQ1YzFmYzEzM2VmNmY2YjEyNTA3YTA1MWYwNGFjNTc2MGFmYTViMjlkYjgzNDM3Il0sWyIzNTE0''@;'; put 'put ''MDg3ODM0OTY0YjU0YjE1YjE2MDY0NGQ5MTU0ODVhMTY5NzcyMjViODg0N2JiMGRkMDg1MTM3ZWM0N2NhIiwiZWYwYWZiYjIwNTYyMDU0NDhlMTY1MmM0OGU4MTI3ZmM2MDM5ZTc3YzE1YzIzNzhiN2U3ZDE1YTBkZTI5MzMxMSJdLFsiZDNjYzMwYWQ2YjQ4M2U0YmM3OWNlMmM5ZGQ4YmM1NDk5''@;'; put 'put ''M2U5NDdlYjhkZjc4N2I0NDI5NDNkM2Y3YjUyN2VhZiIsIjhiMzc4YTIyZDgyNzI3OGQ4OWM1ZTliZThmOTUwOGFlM2MyYWQ0NjI5MDM1ODYzMGFmYjM0ZGIwNGVlZGUwYTQiXSxbIjE2MjRkODQ3ODA3MzI4NjBjZTFjNzhmY2JmZWZlMDhiMmIyOTgyM2RiOTEzZjY0OTM5NzViYTBmZjQ4NDc2''@;'; put 'put ''MTAiLCI2ODY1MWNmOWI2ZGE5MDNlMDkxNDQ0OGM2Y2Q5ZDRjYTg5Njg3OGY1MjgyYmU0YzhjYzA2ZTJhNDA0MDc4NTc1Il0sWyI3MzNjZTgwZGE5NTVhOGEyNjkwMmM5NTYzM2U2MmE5ODUxOTI0NzRiNWFmMjA3ZGE2ZGY3YjRmZDVmYzYxY2Q0IiwiZjU0MzVhMmJkMmJhZGY3ZDQ4NWE0ZDhi''@;'; put 'put ''OGRiOWZjY2UzZTFlZjhlMDIwMWU0NTc4YzU0NjczYmMxZGM1ZWExZCJdLFsiMTVkOTQ0MTI1NDk0NTA2NGNmMWExYzMzYmJkM2I0OWY4OTY2YzUwOTIxNzFlNjk5ZWYyNThkZmFiODFjMDQ1YyIsImQ1NmViMzBiNjk0NjNlNzIzNGY1MTM3YjczYjg0MTc3NDM0ODAwYmFjZWJmYzY4NWZjMzdi''@;'; put 'put ''YmU5ZWZlNDA3MGQiXSxbImExZDBmY2YyZWM5ZGU2NzViNjEyMTM2ZTVjZTcwZDI3MWMyMTQxN2M5ZDJiOGFhYWFjMTM4NTk5ZDA3MTc5NDAiLCJlZGQ3N2Y1MGJjYjVhM2NhYjJlOTA3MzczMDk2NjdmMjY0MTQ2MmE1NDA3MGYzZDUxOTIxMmQzOWMxOTdhNjI5Il0sWyJlMjJmYmUxNWMwYWY4''@;'; put 'put ''Y2NjNTc4MGMwNzM1Zjg0ZGJlOWE3OTBiYWRlZTgyNDVjMDZjN2NhMzczMzFjYjM2OTgwIiwiYTg1NWJhYmFkNWNkNjBjODhiNDMwYTY5ZjUzYTFhN2EzODI4OTE1NDk2NDc5OWJlNDNkMDZkNzdkMzFkYTA2Il0sWyIzMTEwOTFkZDk4NjBlOGUyMGVlMTM0NzNjMTE1NWY1ZjY5NjM1ZTM5NDcw''@;'; put 'put ''NGVhYTc0MDA5NDUyMjQ2Y2ZhOWIzIiwiNjZkYjY1NmY4N2QxZjA0ZmZmZDFmMDQ3ODhjMDY4MzA4NzFlYzVhNjRmZWVlNjg1YmQ4MGYwYjEyODZkODM3NCJdLFsiMzRjMWZkMDRkMzAxYmU4OWIzMWMwNDQyZDNlNmFjMjQ4ODM5MjhiNDVhOTM0MDc4MTg2N2Q0MjMyZWMyZGJkZiIsIjk0MTQ2''@;'; put 'put ''ODVlOTdiMWI1OTU0YmQ0NmY3MzAxNzQxMzZkNTdmMWNlZWI0ODc0NDNkYzUzMjE4NTdiYTczYWJlZSJdLFsiZjIxOWVhNWQ2YjU0NzAxYzFjMTRkZTViNTU3ZWI0MmE4ZDEzZjNhYmJjZDA4YWZmY2MyYTVlNmIwNDliOGQ2MyIsIjRjYjk1OTU3ZTgzZDQwYjBmNzNhZjQ1NDRjY2NmNmIxZjRi''@;'; put 'put ''MDhkM2MwN2IyN2ZiOGQ4YzI5NjJhNDAwNzY2ZDEiXSxbImQ3Yjg3NDBmNzRhOGZiYWFiMWY2ODNkYjhmNDVkZTI2NTQzYTU0OTBiY2E2MjcwODcyMzY5MTI0NjlhMGI0NDgiLCJmYTc3OTY4MTI4ZDljOTJlZTEwMTBmMzM3YWQ0NzE3ZWZmMTVkYjVlZDNjMDQ5YjM0MTFlMDMxNWVhYTQ1OTNi''@;'; put 'put ''Il0sWyIzMmQzMWMyMjJmOGY2ZjBlZjg2ZjdjOThkM2EzMzM1ZWFkNWJjZDMyYWJkZDk0Mjg5ZmU0ZDMwOTFhYTgyNGJmIiwiNWYzMDMyZjU4OTIxNTZlMzljY2QzZDc5MTViOWUxZGEyZTZkYWM5ZTZmMjZlOTYxMTE4ZDE0Yjg0NjJlMTY2MSJdLFsiNzQ2MWYzNzE5MTRhYjMyNjcxMDQ1YTE1''@;'; put 'put ''NWQ5ODMxZWE4NzkzZDc3Y2Q1OTU5MmM0MzQwZjg2Y2JjMTgzNDdiNSIsIjhlYzBiYTIzOGI5NmJlYzBjYmRkZGNhZTBhYTQ0MjU0MmVlZTFmZjUwYzk4NmVhNmIzOTg0N2IzY2MwOTJmZjYiXSxbImVlMDc5YWRiMWRmMTg2MDA3NDM1NmEyNWFhMzgyMDZhNmQ3MTZiMmMzZTY3NDUzZDI4NzY5''@;'; put 'put ''OGJhZDdiMmIyZDYiLCI4ZGMyNDEyYWFmZTNiZTVjNGM1ZjM3ZTBlY2M1ZjlmNmE0NDY5ODlhZjA0YzRlMjVlYmFhYzQ3OWVjMWM4YzFlIl0sWyIxNmVjOTNlNDQ3ZWM4M2YwNDY3YjE4MzAyZWU2MjBmN2U2NWRlMzMxODc0YzlkYzcyYmZkODYxNmJhOWRhNmI1IiwiNWU0NjMxMTUwZTYyZmI0''@;'; put 'put ''MGQwZThjMmE3Y2E1ODA0YTM5ZDU4MTg2YTUwZTQ5NzEzOTYyNjc3OGUyNWIwNjc0ZCJdLFsiZWFhNWY5ODBjMjQ1ZjZmMDM4OTc4MjkwYWZhNzBiNmJkODg1NTg5N2Y5OGI2YWE0ODViOTYwNjVkNTM3YmQ5OSIsImY2NWY1ZDNlMjkyYzJlMDgxOWE1MjgzOTFjOTk0NjI0ZDc4NDg2OWQ3ZTZl''@;'; put 'put ''YTY3ZmIxODA0MTAyNGVkYzA3ZGMiXSxbIjc4Yzk0MDc1NDRhYzEzMjY5MmVlMTkxMGEwMjQzOTk1OGFlMDQ4NzcxNTEzNDJlYTk2YzRiNmIzNWE0OWY1MSIsImYzZTAzMTkxNjllYjliODVkNTQwNDc5NTUzOWE1ZTY4ZmExZmJkNTgzYzA2NGQyNDYyYjY3NWYxOTRhM2RkYjQiXSxbIjQ5NGY0''@;'; put 'put ''YmUyMTlhMWE3NzAxNmRjZDgzODQzMWFlYTAwMDFjZGM4YWU3YTZmYzY4ODcyNjU3OGQ5NzAyODU3YTUiLCI0MjI0MmE5NjkyODNhNWYzMzliYTdmMDc1ZTM2YmEyYWY5MjVjZTMwZDc2N2VkNmU1NWY0YjAzMTg4MGQ1NjJjIl0sWyJhNTk4YTgwMzBkYTZkODZjNmJjN2YyZjUxNDRlYTU0OWQy''@;'; put 'put ''ODIxMWVhNThmYWE3MGViZjRjMWU2NjVjMWZlOWI1IiwiMjA0YjVkNmY4NDgyMmMzMDdlNGI0YTcxNDA3MzdhZWMyM2ZjNjNiNjViMzVmODZhMTAwMjZkYmQyZDg2NGU2YiJdLFsiYzQxOTE2MzY1YWJiMmI1ZDA5MTkyZjVmMmRiZWFmZWMyMDhmMDIwZjEyNTcwYTE4NGRiYWRjM2U1ODU5NTk5''@;'; put 'put ''NyIsIjRmMTQzNTFkMDA4N2VmYTQ5ZDI0NWIzMjg5ODQ5ODlkNWNhZjk0NTBmMzRiZmMwZWQxNmU5NmI1OGZhOTkxMyJdLFsiODQxZDYwNjNhNTg2ZmE0NzVhNzI0NjA0ZGEwM2JjNWI5MmEyZTBkMmUwYTM2YWNmZTRjNzNhNTUxNDc0Mjg4MSIsIjczODY3ZjU5YzA2NTllODE5MDRmOWExYzc1''@;'; put 'put ''NDM2OThlNjI1NjJkNjc0NGMxNjljZTdhMzZkZTAxYThkNjE1NCJdLFsiNWU5NWJiMzk5YTY5NzFkMzc2MDI2OTQ3Zjg5YmRlMmYyODJiMzM4MTA5MjhiZTRkZWQxMTJhYzRkNzBlMjBkNSIsIjM5ZjIzZjM2NjgwOTA4NWJlZWJmYzcxMTgxMzEzNzc1YTk5YzlhZWQ3ZDhiYTM4YjE2MTM4NGM3''@;'; put 'put ''NDYwMTI4NjUiXSxbIjM2ZTQ2NDFhNTM5NDhmZDQ3NmMzOWY4YTk5ZmQ5NzRlNWVjMDc1NjRiNTMxNWQ4YmY5OTQ3MWJjYTBlZjJmNjYiLCJkMjQyNGIxYjFhYmU0ZWI4MTY0MjI3YjA4NWM5YWE5NDU2ZWExMzQ5M2ZkNTYzZTA2ZmQ1MWNmNTY5NGM3OGZjIl0sWyIzMzY1ODFlYTdiZmJiYjI5''@;'; put 'put ''MGMxOTFhMmY1MDdhNDFjZjU2NDM4NDIxNzBlOTE0ZmFlYWIyN2MyYzU3OWY3MjYiLCJlYWQxMjE2ODU5NWZlMWJlOTkyNTIxMjliNmU1NmIzMzkxZjdhYjE0MTBjZDFlMGVmM2RjZGNhYmQyZmRhMjI0Il0sWyI4YWI4OTgxNmRhZGZkNmI2YTFmMjYzNGZjZjAwZWM4NDAzNzgxMDI1ZWQ2ODkw''@;'; put 'put ''YzQ4NDk3NDI3MDZiZDQzZWRlIiwiNmZkY2VmMDlmMmY2ZDBhMDQ0ZTY1NGFlZjYyNDEzNmY1MDNkNDU5YzNlODk4NDU4NThhNDdhOTEyOWNkZDI0ZSJdLFsiMWUzM2YxYTc0NmM5YzU3NzgxMzMzNDRkOTI5OWZjYWEyMGIwOTM4ZThhY2ZmMjU0NGJiNDAyODRiOGM1ZmI5NCIsIjYwNjYwMjU3''@;'; put 'put ''ZGQxMWIzYWE5YzhlZDYxOGQyNGVkZmYyMzA2ZDMyMGYxZDAzMDEwZTMzYTdkMjA1N2YzYjNiNiJdLFsiODViN2MxZGNiM2NlYzFiN2VlN2YzMGRlZDc5ZGQyMGEwZWQxZjRjYzE4Y2JjZmNmYTQxMDM2MWZkOGYwOGYzMSIsIjNkOThhOWNkZDAyNmRkNDNmMzkwNDhmMjVhODg0N2Y0ZmNhZmFk''@;'; put 'put ''MTg5NWQ3YTYzM2M2ZmVkM2MzNWU5OTk1MTEiXSxbIjI5ZGY5ZmJkOGQ5ZTQ2NTA5Mjc1ZjRiMTI1ZDZkNDVkN2ZiZTlhM2I4NzhhN2FmODcyYTI4MDA2NjFhYzVmNTEiLCJiNGM0ZmU5OWM3NzVhNjA2ZTJkODg2MjE3OTEzOWZmZGE2MWRjODYxYzAxOWU1NWNkMjg3NmViMmEyN2Q4NGIiXSxb''@;'; put 'put ''ImEwYjFjYWUwNmIwYTg0N2EzZmVhNmU2NzFhYWY4YWRmZGZlNThjYTJmNzY4MTA1YzgwODJiMmU0NDlmY2UyNTIiLCJhZTQzNDEwMmVkZGUwOTU4ZWM0YjE5ZDkxN2E2YTI4ZTZiNzJkYTE4MzRhZmYwZTY1MGYwNDk1MDNhMjk2Y2YyIl0sWyI0ZThjZWFmYjliM2U5YTEzNmRjN2ZmNjdlODQw''@;'; put 'put ''Mjk1YjQ5OWRmYjNiMjEzM2U0YmExMTNmMmU0YzBlMTIxZTUiLCJjZjIxNzQxMThjOGI2ZDdhNGI0OGY2ZDUzNGNlNWM3OTQyMmMwODZhNjM0NjA1MDJiODI3Y2U2MmEzMjY2ODNjIl0sWyJkMjRhNDRlMDQ3ZTE5YjZmNWFmYjgxYzdjYTJmNjkwODBhNTA3NjY4OWEwMTA5MTlmNDI3MjVjMmI3''@;'; put 'put ''ODlhMzNiIiwiNmZiOGQ1NTkxYjQ2NmY4ZmM2M2RiNTBmMWMwZjFjNjkwMTNmOTk2ODg3YjgyNDRkMmNkZWM0MTdhZmVhOGZhMyJdLFsiZWEwMTYwNmE3YTZjOWNkZDI0OWZkZmNmYWNiOTk1ODQwMDFlZGQyOGFiYmFiNzdiNTEwNGU5OGU4ZTNiMzVkNCIsIjMyMmFmNDkwOGM3MzEyYjBjZmJm''@;'; put 'put ''ZTM2OWY3YTdiM2NkYjdkNDQ5NGJjMjgyMzcwMGNmZDY1MjE4OGEzZWE5OGQiXSxbImFmOGFkZGJmMmI2NjFjOGE2YzYzMjg2NTVlYjk2NjUxMjUyMDA3ZDhjNWVhMzFiZTRhZDE5NmRlOGNlMjEzMWYiLCI2NzQ5ZTY3YzAyOWI4NWY1MmEwMzRlYWZkMDk2ODM2YjI1MjA4MTg2ODBlMjZhYzhm''@;'; put 'put ''M2RmYmNkYjcxNzQ5NzAwIl0sWyJlM2FlMTk3NDU2NmNhMDZjYzUxNmQ0N2UwZmIxNjVhNjc0YTNkYWJjZmNhMTVlNzIyZjBlMzQ1MGY0NTg4OSIsIjJhZWFiZTdlNDUzMTUxMDExNjIxN2YwN2JmNGQwNzMwMGRlOTdlNDg3NGY4MWY1MzM0MjBhNzJlZWIwYmQ2YTQiXSxbIjU5MWVlMzU1MzEz''@;'; put 'put ''ZDk5NzIxY2Y2OTkzZmZlZDFlM2UzMDE5OTNmZjNlZDI1ODgwMjA3NWVhOGNlZDM5N2UyNDYiLCJiMGVhNTU4YTExM2MzMGJlYTYwZmM0Nzc1NDYwYzc5MDFmZjBiMDUzZDI1Y2EyYmRlZWU5OGYxYTRiZTVkMTk2Il0sWyIxMTM5NmQ1NWZkYTU0YzQ5ZjE5YWE5NzMxOGQ4ZGE2MWZhODU4NGU0''@;'; put 'put ''N2IwODQ5NDUwNzdjZjAzMjU1YjUyOTg0IiwiOTk4Yzc0YThjZDQ1YWMwMTI4OWQ1ODMzYTdiZWI0NzQ0ZmY1MzZiMDFiMjU3YmU0YzU3NjdiZWE5M2VhNTdhNCJdLFsiM2M1ZDJhMWJhMzljNWExNzkwMDAwNzM4YzllMGM0MGI4ZGNkZmQ1NDY4NzU0YjY0MDU1NDAxNTdlMDE3YWE3YSIsImIy''@;'; put 'put ''Mjg0Mjc5OTk1YTM0ZTJmOWQ0ZGU3Mzk2ZmMxOGI4MGY5YjhiOWZkZDI3MGY2NjYxZjc5Y2E0YzgxYmQyNTciXSxbImNjODcwNGI4YTYwYTBkZWZhM2E5OWE3Mjk5ZjJlOWMzZmJjMzk1YWZiMDRhYzA3ODQyNWVmOGExNzkzY2MwMzAiLCJiZGQ0NjAzOWZlZWQxNzg4MWQxZTA4NjJkYjM0N2Y4''@;'; put 'put ''Y2YzOTViNzRmYzRiY2RjNGU5NDBiNzRlM2FjMWYxYjEzIl0sWyJjNTMzZTRmN2VhODU1NWFhY2Q5Nzc3YWM1Y2FkMjliOTdkZDRkZWZjY2M1M2VlN2VhMjA0MTE5YjI4ODliMTk3IiwiNmYwYTI1NmJjNWVmZGY0MjlhMmZiNjI0MmYxYTQzYTJkOWI5MjViYjRhNGIzYTI2YmI4ZTBmNDVlYjU5''@;'; put 'put ''NjA5NiJdLFsiYzE0ZjhmMmNjYjI3ZDZmMTA5ZjZkMDhkMDNjYzk2YTY5YmE4YzM0ZWVjMDdiYmNmNTY2ZDQ4ZTMzZGE2NTkzIiwiYzM1OWQ2OTIzYmIzOThmN2ZkNDQ3M2UxNmZlMWMyODQ3NWI3NDBkZDA5ODA3NWU2YzBlODY0OTExM2RjM2EzOCJdLFsiYTZjYmMzMDQ2YmM2YTQ1MGJhYzI0''@;'; put 'put ''Nzg5ZmExNzExNWE0Yzk3MzllZDc1ZjhmMjFjZTQ0MWY3MmUwYjkwZTZlZiIsIjIxYWU3ZjQ2ODBlODg5YmIxMzA2MTllMmMwZjk1YTM2MGNlYjU3M2M3MDYwMzEzOTg2MmFmZDYxN2ZhOWI5ZiJdLFsiMzQ3ZDZkOWEwMmM0ODkyN2ViZmI4NmMxMzU5YjFjYWYxMzBhM2MwMjY3ZDExY2U2MzQ0''@;'; put 'put ''YjM5Zjk5ZDQzY2MzOCIsIjYwZWE3ZjYxYTM1MzUyNGQxYzk4N2Y2ZWNlYzkyZjA4NmQ1NjVhYjY4Nzg3MGNiMTI2ODlmZjFlMzFjNzQ0NDgiXSxbImRhNjU0NWQyMTgxZGI4ZDk4M2Y3ZGNiMzc1ZWY1ODY2ZDQ3YzY3YjFiZjMxYzhjZjg1NWVmNzQzN2I3MjY1NmEiLCI0OWI5NjcxNWFiNjg3''@;'; put 'put ''OGE3OWU3OGYwN2NlNTY4MGM1ZDY2NzMwNTFiNDkzNWJkODk3ZmVhODI0Yjc3ZGMyMDhhIl0sWyJjNDA3NDdjYzlkMDEyY2IxYTEzYjgxNDgzMDljNmRlN2VjMjVkNjk0NWQ2NTcxNDZiOWQ1OTk0YjhmZWIxMTExIiwiNWNhNTYwNzUzYmUyYTEyZmM2ZGU2Y2FmMmNiNDg5NTY1ZGI5MzYxNTZi''@;'; put 'put ''OTUxNGUxYmI1ZTgzMDM3ZTBmYTJkNCJdLFsiNGU0MmM4ZWM4MmM5OTc5OGNjZjNhNjEwYmU4NzBlNzgzMzhjN2Y3MTMzNDhiZDM0YzgyMDNlZjQwMzdmMzUwMiIsIjc1NzFkNzRlZTVlMGZiOTJhN2E4YjMzYTA3NzgzMzQxYTU0OTIxNDRjYzU0YmNjNDBhOTQ0NzM2OTM2MDY0MzciXSxbIjM3''@;'; put 'put ''NzVhYjcwODliYzZhZjgyM2FiYTJlMWFmNzBiMjM2ZDI1MWNhZGIwYzg2NzQzMjg3NTIyYTFiM2IwZGVkZWEiLCJiZTUyZDEwN2JjZmEwOWQ4YmNiOTczNmE4MjhjZmE3ZmFjOGRiMTdiZjdhNzZhMmM0MmFkOTYxNDA5MDE4Y2Y3Il0sWyJjZWUzMWNiZjdlMzRlYzM3OWQ5NGZiODE0ZDNkNzc1''@;'; put 'put ''YWQ5NTQ1OTVkMTMxNGJhODg0Njk1OWUzZTgyZjc0ZTI2IiwiOGZkNjRhMTRjMDZiNTg5YzI2Yjk0N2FlMmJjZjZiZmEwMTQ5ZWYwYmUxNGVkNGQ4MGY0NDhhMDFjNDNiMWM2ZCJdLFsiYjRmOWVhZWEwOWI2OTE3NjE5ZjZlYTZhNGViNTQ2NGVmZGRiNThmZDQ1YjFlYmVmY2RjMWEwMWQwOGI0''@;'; put 'put ''Nzk4NiIsIjM5ZTVjOTkyNWI1YTU0YjA3NDMzYTRmMThjNjE3MjZmOGJiMTMxYzAxMmNhNTQyZWIyNGE4YWMwNzIwMDY4MmEiXSxbImQ0MjYzZGZjM2QyZGY5MjNhMDE3OWE0ODk2NmQzMGNlODRlMjUxNWFmYzNkY2NjMWI3NzkwNzc5MmViY2M2MGUiLCI2MmRmYWYwN2EwZjc4ZmViMzBlMzBk''@;'; put 'put ''NjI5NTg1M2NlMTg5ZTEyNzc2MGFkNmNmN2ZhZTE2NGUxMjJhMjA4ZDU0Il0sWyI0ODQ1NzUyNDgyMGZhNjVhNGY4ZDM1ZWI2OTMwODU3YzAwMzJhY2MwYTRhMmRlNDIyMjMzZWVkYTg5NzYxMmM0IiwiMjVhNzQ4YWIzNjc5NzlkOTg3MzNjMzhhMWZhMWMyZTdkYzZjYzA3ZGIyZDYwYTlhZTdh''@;'; put 'put ''NzZhYWE0OWJkMGY3NyJdLFsiZGZlZWVmMTg4MTEwMWYyY2IxMTY0NGYzYTJhZmRmYzIwNDVlMTk5MTkxNTI5MjNmMzY3YTE3NjdjMTFjY2VkYSIsImVjZmI3MDU2Y2YxZGUwNDJmOTQyMGJhYjM5Njc5M2MwYzM5MGJkZTc0YjRiYmRmZjE2YTgzYWUwOWE5YTc1MTciXSxbIjZkN2VmNmIxNzU0''@;'; put 'put ''M2Y4MzczYzU3M2Y0NGUxZjM4OTgzNWQ4OWJjYmM2MDYyY2VkMzZjODJkZjgzYjhmYWU4NTkiLCJjZDQ1MGVjMzM1NDM4OTg2ZGZlZmExMGM1N2ZlYTliY2M1MjFhMDk1OWIyZDgwYmJmNzRiMTkwZGNhNzEyZDEwIl0sWyJlNzU2MDVkNTkxMDJhNWEyNjg0NTAwZDNiOTkxZjJlM2YzYzg4Yjkz''@;'; put 'put ''MjI1NTQ3MDM1YWYyNWFmNjZlMDQ1NDFmIiwiZjVjNTQ3NTRhOGY3MWVlNTQwYjliNDg3Mjg0NzNlMzE0ZjcyOWFjNTMwOGIwNjkzODM2MDk5MGUyYmZhZDEyNSJdLFsiZWI5ODY2MGY0YzRkZmFhMDZhMmJlNDUzZDUwMjBiYzk5YTBjMmU2MGFiZTM4ODQ1N2RkNDNmZWZiMWVkNjIwYyIsIjZj''@;'; put 'put ''YjlhODg3NmQ5Y2I4NTIwNjA5YWYzYWRkMjZjZDIwYTBhN2NkOGE5NDExMTMxY2U4NWY0NDEwMDA5OTIyM2UiXSxbIjEzZTg3YjAyN2Q4NTE0ZDM1OTM5ZjJlNjg5MmIxOTkyMjE1NDU5Njk0MTg4ODMzNmRjMzU2M2UzYjhkYmE5NDIiLCJmZWY1YTNjNjgwNTlhNmRlYzVkNjI0MTE0YmYxZTkx''@;'; put 'put ''YWFjMmI5ZGE1NjhkNmFiZWIyNTcwZDU1NjQ2YjhhZGYxIl0sWyJlZTE2MzAyNmU5ZmQ2ZmUwMTdjMzhmMDZhNWJlNmZjMTI1NDI0YjM3MWNlMjcwOGU3YmY0NDkxNjkxZTU3NjRhIiwiMWFjYjI1MGYyNTVkZDYxYzQzZDk0Y2NjNjcwZDBmNThmNDlhZTNmYTE1Yjk2NjIzZTU0MzBkYTBhZDZj''@;'; put 'put ''NjJiMiJdLFsiYjI2OGY1ZWY5YWQ1MWU0ZDc4ZGUzYTc1MGMyZGM4OWIxZTYyNmQ0MzUwNTg2Nzk5OTkzMmU1ZGIzM2FmM2Q4MCIsIjVmMzEwZDRiM2M5OWI5ZWJiMTlmNzdkNDFjMWRlZTAxOGNmMGQzNGZkNDE5MTYxNDAwM2U5NDVhMTIxNmU0MjMiXSxbImZmMDdmMzExOGE5ZGYwMzVlOWZh''@;'; put 'put ''ZDg1ZWI2YzdiZmU0MmIwMmYwMWNhOTljZWVhM2JmN2ZmZGJhOTNjNDc1MGQiLCI0MzgxMzZkNjAzZTg1OGEzYTVjNDQwYzM4ZWNjYmFkZGMxZDI5NDIxMTRlMmVkZGQ0NzQwZDA5OGNlZDFmMGQ4Il0sWyI4ZDhiOTg1NWM3YzA1MmEzNDE0NmZkMjBmZmI2NThiZWE0YjlmNjllMGQ4MjVlYmVj''@;'; put 'put ''MTZlOGMzY2UyYjUyNmExIiwiY2RiNTU5ZWVkYzJkNzlmOTI2YmFmNDRmYjg0ZWE0ZDQ0YmNmNTBmZWU1MWQ3Y2ViMzBlMmU3ZjQ2MzAzNjc1OCJdLFsiNTJkYjBiNTM4NGRmYmYwNWJmYTlkNDcyZDdhZTI2ZGZlNGI4NTFjZWNhOTFiMWViYTU0MjYzMTgwZGEzMmI2MyIsImMzYjk5N2QwNTBl''@;'; put 'put ''ZTVkNDIzZWJhZjY2YTZkYjlmNTdiMzE4MGM5MDI4NzU2NzlkZTkyNGI2OWQ4NGE3YjM3NSJdLFsiZTYyZjk0OTBkM2Q1MWRhNjM5NWVmZDI0ZTgwOTE5Y2M3ZDBmMjljM2YzZmE0OGM2ZmZmNTQzYmVjYmQ0MzM1MiIsIjZkODlhZDdiYTQ4NzZiMGIyMmMyY2EyODBjNjgyODYyZjM0MmM4NTkx''@;'; put 'put ''ZjFkYWY1MTcwZTA3YmZkOWNjYWZhN2QiXSxbIjdmMzBlYTI0NzZiMzk5YjQ5NTc1MDljODhmNzdkMDE5MWFmYTJmZjVjYjdiMTRmZDZkOGU3ZDY1YWFhYjExOTMiLCJjYTVlZjdkNGIyMzFjOTRjM2IxNTM4OWE1ZjYzMTFlOWRhZmY3YmI2N2IxMDNlOTg4MGVmNGJmZjYzN2FjYWVjIl0sWyI1''@;'; put 'put ''MDk4ZmYxZTFkOWYxNGZiNDZhMjEwZmFkYTZjOTAzZmVmMGZiN2I0YTFkZDFkOWFjNjBhMDM2MTgwMGI3YTAwIiwiOTczMTE0MWQ4MWZjOGY4MDg0ZDM3YzZlNzU0MjAwNmIzZWUxYjQwZDYwZGZlNTM2MmE1YjEzMmZkMTdkZGMwIl0sWyIzMmI3OGM3ZGU5ZWU1MTJhNzI4OTViZTZiOWNiZWZh''@;'; put 'put ''NmUyZjNjNGNjY2U0NDVjOTZiOWYyYzgxZTI3NzhhZDU4IiwiZWUxODQ5ZjUxM2RmNzFlMzJlZmMzODk2ZWUyODI2MGM3M2JiODA1NDdhZTIyNzViYTQ5NzIzNzc5NGM4NzUzYyJdLFsiZTJjYjc0ZmRkYzhlOWZiY2QwNzZlZWYyYTdjNzJiMGNlMzdkNTBmMDgyNjlkZmMwNzRiNTgxNTUwNTQ3''@;'; put 'put ''YTRmNyIsImQzYWEyZWQ3MWM5ZGQyMjQ3YTYyZGYwNjI3MzZlYjBiYWRkZWE5ZTM2MTIyZDJiZTg2NDFhYmNiMDA1Y2M0YTQiXSxbIjg0Mzg0NDc1NjZkNGQ3YmVkYWRjMjk5NDk2YWIzNTc0MjYwMDlhMzVmMjM1Y2IxNDFiZTBkOTljZDEwYWUzYTgiLCJjNGUxMDIwOTE2OTgwYTRkYTVkMDFh''@;'; put 'put ''YzVlNmFkMzMwNzM0ZWYwZDc5MDY2MzFjNGYyMzkwNDI2YjJlZGQ3OTFmIl0sWyI0MTYyZDQ4OGI4OTQwMjAzOWI1ODRjNmZjNmMzMDg4NzA1ODdkOWM0NmY2NjBiODc4YWI2NWM4MmM3MTFkNjdlIiwiNjcxNjNlOTAzMjM2Mjg5Zjc3NmYyMmMyNWZiOGEzYWZjMTczMmYyYjg0YjRlOTVkYmRh''@;'; put 'put ''NDdhZTVhMDg1MjY0OSJdLFsiM2ZhZDNmYTg0Y2FmMGYzNGYwZjg5YmZkMmRjZjU0ZmMxNzVkNzY3YWVjM2U1MDY4NGYzYmE0YTRiZjVmNjgzZCIsImNkMWJjN2NiNmNjNDA3YmIyZjBjYTY0N2M3MThhNzMwY2Y3MTg3MmU3ZDBkMmE1M2ZhMjBlZmNkZmU2MTgyNiJdLFsiNjc0ZjI2MDBhMzAw''@;'; put 'put ''N2EwMDU2OGMxYTdjZTA1ZDA4MTZjMWZiODRiZjEzNzA3OThmMWM2OTUzMmZhZWIxYTg2YiIsIjI5OWQyMWY5NDEzZjMzYjNlZGY0M2IyNTcwMDQ1ODBiNzBkYjU3ZGEwYjE4MjI1OWUwOWVlY2M2OWUwZDM4YTUiXSxbImQzMmY0ZGE1NGFkZTc0YWJiODFiODE1YWQxZmIzYjI2M2Q4MmQ2YzY5''@;'; put 'put ''MjcxNGJjZmY4N2QyOWJkNWVlOWYwOGYiLCJmOTQyOWU3MzhiOGU1M2I5NjhlOTkwMTZjMDU5NzA3NzgyZTE0ZjQ1MzUzNTlkNTgyZmM0MTY5MTBiM2VlYTg3Il0sWyIzMGU0ZTY3MDQzNTM4NTU1NmU1OTM2NTcxMzU4NDVkMzZmYmI2OTMxZjcyYjA4Y2IxZWQ5NTRmMWUzY2UzZmY2IiwiNDYy''@;'; put 'put ''ZjliY2U2MTk4OTg2Mzg0OTkzNTAxMTNiYmM5YjEwYTg3OGQzNWRhNzA3NDBkYzY5NWE1NTllYjg4ZGI3YiJdLFsiYmUyMDYyMDAzYzUxY2MzMDA0NjgyOTA0MzMwZTRkZWU3ZjNkY2QxMGIwMWU1ODBiZjE5NzFiMDRkNGNhZDI5NyIsIjYyMTg4YmM0OWQ2MWU1NDI4NTczZDQ4YTc0ZTFjNjU1''@;'; put 'put ''YjFjNjEwOTA5MDU2ODJhMGQ1NTU4ZWQ3MmRjY2I5YmMiXSxbIjkzMTQ0NDIzYWNlMzQ1MWVkMjllMGZiOWFjMmFmMjExY2I2ZTg0YTYwMWRmNTk5M2M0MTk4NTlmZmY1ZGYwNGEiLCI3YzEwZGZiMTY0YzM0MjVmNWM3MWEzZjlkNzk5MjAzOGYxMDY1MjI0ZjcyYmI5ZDFkOTAyYTZkMTMwMzdi''@;'; put 'put ''NDdjIl0sWyJiMDE1ZjgwNDRmNWZjYmRjZjIxY2EyNmQ2YzM0ZmI4MTk3ODI5MjA1YzdiN2QyYTdjYjY2NDE4YzE1N2IxMTJjIiwiYWI4YzFlMDg2ZDA0ZTgxMzc0NGE2NTViMmRmOGQ1ZjgzYjNjZGM2ZmFhMzA4OGMxZDNhZWExNDU0ZTNhMWQ1ZiJdLFsiZDVlOWUxZGE2NDlkOTdkODllNDg2''@;'; put 'put ''ODExN2E0NjVhM2E0ZjhhMThkZTU3YTE0MGQzNmIzZjJhZjM0MWEyMWI1MiIsIjRjYjA0NDM3ZjM5MWVkNzMxMTFhMTNjYzFkNGRkMGRiMTY5MzQ2NWMyMjQwNDgwZDg5NTVlODU5MmYyNzQ0N2EiXSxbImQzYWU0MTA0N2RkN2NhMDY1ZGJmOGVkNzdiOTkyNDM5OTgzMDA1Y2Q3MmUxNmQ2Zjk5''@;'; put 'put ''NmE1MzE2ZDM2OTY2YmIiLCJiZDFhZWIyMWFkMjJlYmIyMmExMGYwMzAzNDE3YzZkOTY0ZjhjZGQ3ZGYwYWNhNjE0YjEwZGMxNGQxMjVhYzQ2Il0sWyI0NjNlMjc2M2Q4ODVmOTU4ZmM2NmNkZDIyODAwZjBhNDg3MTk3ZDBhODJlMzc3YjQ5ZjgwYWY4N2M4OTdiMDY1IiwiYmZlZmFjZGIwZTVk''@;'; put 'put ''MGZkN2RmM2EzMTFhOTRkZTA2MmIyNmI4MGM2MWZiYzk3NTA4Yjc5OTkyNjcxZWY3Y2E3ZiJdLFsiNzk4NWZkZmQxMjdjMDU2N2M2ZjUzZWMxYmI2M2VjMzE1OGU1OTdjNDBiZmU3NDdjODNjZGRmYzkxMDY0MTkxNyIsIjYwM2MxMmRhZjNkOTg2MmVmMmIyNWZlMWRlMjg5YWVkMjRlZDI5MWUw''@;'; put 'put ''ZWM2NzA4NzAzYTViZDU2N2YzMmVkMDMiXSxbIjc0YTFhZDZiNWY3NmUzOWRiMmRkMjQ5NDEwZWFjN2Y5OWU3NGM1OWNiODNkMmQwZWQ1ZmYxNTQzZGE3NzAzZTkiLCJjYzYxNTdlZjE4YzljNjNjZDYxOTNkODM2MzFiYmVhMDA5M2UwOTY4OTQyZThjMzNkNTczN2ZkNzkwZTBkYjA4Il0sWyIz''@;'; put 'put ''MDY4MmE1MDcwMzM3NWY2MDJkNDE2NjY0YmExOWI3ZmM5YmFiNDJjNzI3NDc0NjNhNzFkMDg5NmIyMmY2ZGEzIiwiNTUzZTA0ZjZiMDE4YjRmYTZjOGYzOWU3ZjMxMWQzMTc2MjkwZDBlMGYxOWNhNzNmMTc3MTRkOTk3N2EyMmZmOCJdLFsiOWUyMTU4ZjBkN2MwZDVmMjZjMzc5MWVmZWZhNzk1''@;'; put 'put ''OTc2NTRlN2EyYjI0NjRmNTJiMWVlNmMxMzQ3NzY5ZWY1NyIsIjcxMmZjZGQxYjkwNTNmMDkwMDNhMzQ4MWZhNzc2MmU5ZmZkN2M4ZWYzNWEzODUwOWUyZmJmMjYyOTAwODM3MyJdLFsiMTc2ZTI2OTg5YTQzYzljZmViYTQwMjljMjAyNTM4YzI4MTcyZTU2NmUzYzRmY2U3MzIyODU3ZjNiZTMy''@;'; put 'put ''N2Q2NiIsImVkOGNjOWQwNGIyOWViODc3ZDI3MGI0ODc4ZGM0M2MxOWFlZmQzMWY0ZWVlMDllZTdiNDc4MzRjMWZhNGIxYzMiXSxbIjc1ZDQ2ZWZlYTM3NzFlNmU2OGFiYjg5YTEzYWQ3NDdlY2YxODkyMzkzZGZjNGYxYjcwMDQ3ODhjNTAzNzRkYTgiLCI5ODUyMzkwYTk5NTA3Njc5ZmQwYjg2''@;'; put 'put ''ZmQyYjM5YTg2OGQ3ZWZjMjIxNTEzNDZlMWEzY2E0NzI2NTg2YTZiZWQ4Il0sWyI4MDlhMjBjNjdkNjQ5MDBmZmI2OThjNGM4MjVmNmQ1ZjIzMTBmYjA0NTFjODY5MzQ1YjczMTlmNjQ1NjA1NzIxIiwiOWU5OTQ5ODBkOTkxN2UyMmI3NmIwNjE5MjdmYTA0MTQzZDA5NmNjYzU0OTYzZTZhNWVi''@;'; put 'put ''ZmE1ZjNmOGUyODZjMSJdLFsiMWIzODkwM2E0M2Y3ZjExNGVkNDUwMGI0ZWFjNzA4M2ZkZWZlY2UxY2YyOWM2MzUyOGQ1NjM0NDZmOTcyYzE4MCIsIjQwMzZlZGM5MzFhNjBhZTg4OTM1M2Y3N2ZkNTNkZTRhMjcwOGIyNmI2ZjVkYTcyYWQzMzk0MTE5ZGFmNDA4ZjkiXV19fX0sOTUzOihaLEEs''@;'; put 'put ''aik9PnsidXNlIHN0cmljdCI7dmFyIE49QSx6PWooMzc4NSksQz1qKDk3NDYpLFM9aig0NTA0KTtOLmFzc2VydD1DLE4udG9BcnJheT1TLnRvQXJyYXksTi56ZXJvMj1TLnplcm8yLE4udG9IZXg9Uy50b0hleCxOLmVuY29kZT1TLmVuY29kZSxOLmdldE5BRj1mdW5jdGlvbihtLEYsRCl7dmFy''@;'; put 'put ''IHc9bmV3IEFycmF5KE1hdGgubWF4KG0uYml0TGVuZ3RoKCksRCkrMSk7dy5maWxsKDApO2Zvcih2YXIgUD0xPDxGKzEsTT1tLmNsb25lKCksaz0wO2s8dy5sZW5ndGg7aysrKXt2YXIgTyxMPU0uYW5kbG4oUC0xKTtNLmlzT2RkKCk/TS5pc3VibihPPUw+KFA+PjEpLTE/KFA+PjEpLUw6TCk6''@;'; put 'put ''Tz0wLHdba109TyxNLml1c2hybigxKX1yZXR1cm4gd30sTi5nZXRKU0Y9ZnVuY3Rpb24obSxGKXt2YXIgRD1bW10sW11dO209bS5jbG9uZSgpLEY9Ri5jbG9uZSgpO2Zvcih2YXIgdyxQPTAsTT0wO20uY21wbigtUCk+MHx8Ri5jbXBuKC1NKT4wOyl7dmFyIGssTyxMPW0uYW5kbG4oMykrUCYz''@;'; put 'put ''LFQ9Ri5hbmRsbigzKStNJjM7Mz09PUwmJihMPS0xKSwzPT09VCYmKFQ9LTEpLGs9MD09KDEmTCk/MDozIT0odz1tLmFuZGxuKDcpK1AmNykmJjUhPT13fHwyIT09VD9MOi1MLERbMF0ucHVzaChrKSxPPTA9PSgxJlQpPzA6MyE9KHc9Ri5hbmRsbig3KStNJjcpJiY1IT09d3x8MiE9PUw/VDot''@;'; put 'put ''VCxEWzFdLnB1c2goTyksMipQPT09aysxJiYoUD0xLVApLDIqTT09PU8rMSYmKE09MS1NKSxtLml1c2hybigxKSxGLml1c2hybigxKX1yZXR1cm4gRH0sTi5jYWNoZWRQcm9wZXJ0eT1mdW5jdGlvbihtLEYsRCl7dmFyIHc9Il8iK0Y7bS5wcm90b3R5cGVbRl09ZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''dm9pZCAwIT09dGhpc1t3XT90aGlzW3ddOnRoaXNbd109RC5jYWxsKHRoaXMpfX0sTi5wYXJzZUJ5dGVzPWZ1bmN0aW9uKG0pe3JldHVybiJzdHJpbmciPT10eXBlb2YgbT9OLnRvQXJyYXkobSwiaGV4Iik6bX0sTi5pbnRGcm9tTEU9ZnVuY3Rpb24obSl7cmV0dXJuIG5ldyB6KG0sImhleCIs''@;'; put 'put ''ImxlIil9fSwzNzg1OmZ1bmN0aW9uKFosQSxqKXshZnVuY3Rpb24oTix6KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gQyhoLGIpe2lmKCFoKXRocm93IG5ldyBFcnJvcihifHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIFMoaCxiKXtoLnN1cGVyXz1iO3ZhciB5PWZ1bmN0aW9uKCl7fTt5''@;'; put 'put ''LnByb3RvdHlwZT1iLnByb3RvdHlwZSxoLnByb3RvdHlwZT1uZXcgeSxoLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1ofWZ1bmN0aW9uIG0oaCxiLHkpe2lmKG0uaXNCTihoKSlyZXR1cm4gaDt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVs''@;'; put 'put ''bCxudWxsIT09aCYmKCJsZSIhPT1iJiYiYmUiIT09Ynx8KHk9YixiPTEwKSx0aGlzLl9pbml0KGh8fDAsYnx8MTAseXx8ImJlIikpfXZhciBGOyJvYmplY3QiPT10eXBlb2YgTj9OLmV4cG9ydHM9bTp6LkJOPW0sbS5CTj1tLG0ud29yZFNpemU9MjY7dHJ5e0Y9InVuZGVmaW5lZCIhPXR5cGVv''@;'; put 'put ''ZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5CdWZmZXI/d2luZG93LkJ1ZmZlcjpqKDU1NjgpLkJ1ZmZlcn1jYXRjaChoKXt9ZnVuY3Rpb24gRChoLGIpe3ZhciB5PWguY2hhckNvZGVBdChiKTtyZXR1cm4geT49NjUmJnk8PTcwP3ktNTU6eT49OTcmJnk8PTEwMj95LTg3OnktNDgmMTV9ZnVu''@;'; put 'put ''Y3Rpb24gdyhoLGIseSl7dmFyIHA9RChoLHkpO3JldHVybiB5LTE+PWImJihwfD1EKGgseS0xKTw8NCkscH1mdW5jdGlvbiBQKGgsYix5LHApe2Zvcih2YXIgZz0wLF89TWF0aC5taW4oaC5sZW5ndGgseSksRT1iO0U8XztFKyspe3ZhciBXPWguY2hhckNvZGVBdChFKS00ODtnKj1wLGcrPVc+''@;'; put 'put ''PTQ5P1ctNDkrMTA6Vz49MTc/Vy0xNysxMDpXfXJldHVybiBnfW0uaXNCTj1mdW5jdGlvbihoKXtyZXR1cm4gaCBpbnN0YW5jZW9mIG18fG51bGwhPT1oJiYib2JqZWN0Ij09dHlwZW9mIGgmJmguY29uc3RydWN0b3Iud29yZFNpemU9PT1tLndvcmRTaXplJiZBcnJheS5pc0FycmF5KGgud29y''@;'; put 'put ''ZHMpfSxtLm1heD1mdW5jdGlvbihoLGIpe3JldHVybiBoLmNtcChiKT4wP2g6Yn0sbS5taW49ZnVuY3Rpb24oaCxiKXtyZXR1cm4gaC5jbXAoYik8MD9oOmJ9LG0ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGgsYix5KXtpZigibnVtYmVyIj09dHlwZW9mIGgpcmV0dXJuIHRoaXMuX2luaXRO''@;'; put 'put ''dW1iZXIoaCxiLHkpO2lmKCJvYmplY3QiPT10eXBlb2YgaClyZXR1cm4gdGhpcy5faW5pdEFycmF5KGgsYix5KTsiaGV4Ij09PWImJihiPTE2KSxDKGI9PT0oMHxiKSYmYj49MiYmYjw9MzYpO3ZhciBwPTA7Ii0iPT09KGg9aC50b1N0cmluZygpLnJlcGxhY2UoL1xzKy9nLCIiKSlbMF0mJihw''@;'; put 'put ''KyssdGhpcy5uZWdhdGl2ZT0xKSxwPGgubGVuZ3RoJiYoMTY9PT1iP3RoaXMuX3BhcnNlSGV4KGgscCx5KToodGhpcy5fcGFyc2VCYXNlKGgsYixwKSwibGUiPT09eSYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGIseSkpKX0sbS5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rp''@;'; put 'put ''b24oaCxiLHkpe2g8MCYmKHRoaXMubmVnYXRpdmU9MSxoPS1oKSxoPDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZoXSx0aGlzLmxlbmd0aD0xKTpoPDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJmgsaC82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9''@;'; put 'put ''Mik6KEMoaDw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZoLGgvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXkmJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxiLHkpfSxtLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9u''@;'; put 'put ''KGgsYix5KXtpZihDKCJudW1iZXIiPT10eXBlb2YgaC5sZW5ndGgpLGgubGVuZ3RoPD0wKXJldHVybiB0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xLHRoaXM7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKGgubGVuZ3RoLzMpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3Io''@;'; put 'put ''dmFyIHA9MDtwPHRoaXMubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3BdPTA7dmFyIGcsXyxFPTA7aWYoImJlIj09PXkpZm9yKHA9aC5sZW5ndGgtMSxnPTA7cD49MDtwLT0zKXRoaXMud29yZHNbZ118PShfPWhbcF18aFtwLTFdPDw4fGhbcC0yXTw8MTYpPDxFJjY3MTA4ODYzLHRoaXMud29yZHNb''@;'; put 'put ''ZysxXT1fPj4+MjYtRSY2NzEwODg2MywoRSs9MjQpPj0yNiYmKEUtPTI2LGcrKyk7ZWxzZSBpZigibGUiPT09eSlmb3IocD0wLGc9MDtwPGgubGVuZ3RoO3ArPTMpdGhpcy53b3Jkc1tnXXw9KF89aFtwXXxoW3ArMV08PDh8aFtwKzJdPDwxNik8PEUmNjcxMDg4NjMsdGhpcy53b3Jkc1tnKzFd''@;'; put 'put ''PV8+Pj4yNi1FJjY3MTA4ODYzLChFKz0yNCk+PTI2JiYoRS09MjYsZysrKTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5fcGFyc2VIZXg9ZnVuY3Rpb24oaCxiLHkpe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgoaC5sZW5ndGgtYikvNiksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhp''@;'; put 'put ''cy5sZW5ndGgpO2Zvcih2YXIgcD0wO3A8dGhpcy5sZW5ndGg7cCsrKXRoaXMud29yZHNbcF09MDt2YXIgZyxfPTAsRT0wO2lmKCJiZSI9PT15KWZvcihwPWgubGVuZ3RoLTE7cD49YjtwLT0yKWc9dyhoLGIscCk8PF8sdGhpcy53b3Jkc1tFXXw9NjcxMDg4NjMmZyxfPj0xOD8oXy09MTgsdGhp''@;'; put 'put ''cy53b3Jkc1tFKz0xXXw9Zz4+PjI2KTpfKz04O2Vsc2UgZm9yKHA9KGgubGVuZ3RoLWIpJTI9PTA/YisxOmI7cDxoLmxlbmd0aDtwKz0yKWc9dyhoLGIscCk8PF8sdGhpcy53b3Jkc1tFXXw9NjcxMDg4NjMmZyxfPj0xOD8oXy09MTgsdGhpcy53b3Jkc1tFKz0xXXw9Zz4+PjI2KTpfKz04O3Ro''@;'; put 'put ''aXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbihoLGIseSl7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIHA9MCxnPTE7Zzw9NjcxMDg4NjM7Zyo9YilwKys7cC0tLGc9Zy9ifDA7Zm9yKHZhciBfPWgubGVuZ3RoLXksRT1fJXAsVz1NYXRoLm1p''@;'; put 'put ''bihfLF8tRSkreSxHPTAsWD15O1g8VztYKz1wKUc9UChoLFgsWCtwLGIpLHRoaXMuaW11bG4oZyksdGhpcy53b3Jkc1swXStHPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPUc6dGhpcy5faWFkZG4oRyk7aWYoMCE9PUUpe3ZhciBuZT0xO2ZvcihHPVAoaCxYLGgubGVuZ3RoLGIpLFg9MDtYPEU7''@;'; put 'put ''WCsrKW5lKj1iO3RoaXMuaW11bG4obmUpLHRoaXMud29yZHNbMF0rRzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1HOnRoaXMuX2lhZGRuKEcpfXRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihoKXtoLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBi''@;'; put 'put ''PTA7Yjx0aGlzLmxlbmd0aDtiKyspaC53b3Jkc1tiXT10aGlzLndvcmRzW2JdO2gubGVuZ3RoPXRoaXMubGVuZ3RoLGgubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSxoLnJlZD10aGlzLnJlZH0sbS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgaD1uZXcgbShudWxsKTtyZXR1cm4gdGhp''@;'; put 'put ''cy5jb3B5KGgpLGh9LG0ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24oaCl7Zm9yKDt0aGlzLmxlbmd0aDxoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG0ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53''@;'; put 'put ''b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sbS5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG0ucHJv''@;'; put 'put ''dG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIE09WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAi''@;'; put 'put ''LCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAw''@;'; put 'put ''MDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0s''@;'; put 'put ''az1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxPPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3''@;'; put 'put ''LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQz''@;'; put 'put ''ZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO2Z1bmN0aW9uIEwoaCxiLHkpe3kubmVnYXRpdmU9Yi5uZWdhdGl2ZV5oLm5lZ2F0aXZlO3ZhciBwPWgubGVuZ3RoK2IubGVuZ3RofDA7eS5sZW5ndGg9cCxwPXAtMXwwO3ZhciBnPTB8aC53''@;'; put 'put ''b3Jkc1swXSxfPTB8Yi53b3Jkc1swXSxFPWcqXyxHPUUvNjcxMDg4NjR8MDt5LndvcmRzWzBdPTY3MTA4ODYzJkU7Zm9yKHZhciBYPTE7WDxwO1grKyl7Zm9yKHZhciBuZT1HPj4+MjYsYWU9NjcxMDg4NjMmRyx1ZT1NYXRoLm1pbihYLGIubGVuZ3RoLTEpLGJlPU1hdGgubWF4KDAsWC1oLmxl''@;'; put 'put ''bmd0aCsxKTtiZTw9dWU7YmUrKyluZSs9KEU9KGc9MHxoLndvcmRzW1gtYmV8MF0pKihfPTB8Yi53b3Jkc1tiZV0pK2FlKS82NzEwODg2NHwwLGFlPTY3MTA4ODYzJkU7eS53b3Jkc1tYXT0wfGFlLEc9MHxuZX1yZXR1cm4gMCE9PUc/eS53b3Jkc1tYXT0wfEc6eS5sZW5ndGgtLSx5LnN0cmlw''@;'; put 'put ''KCl9bS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oaCxiKXt2YXIgeTtpZihiPTB8Ynx8MSwxNj09PShoPWh8fDEwKXx8ImhleCI9PT1oKXt5PSIiO2Zvcih2YXIgcD0wLGc9MCxfPTA7Xzx0aGlzLmxlbmd0aDtfKyspe3ZhciBFPXRoaXMud29yZHNbX10sVz0oMTY3NzcyMTUmKEU8PHB8''@;'; put 'put ''ZykpLnRvU3RyaW5nKDE2KTt5PTAhPShnPUU+Pj4yNC1wJjE2Nzc3MjE1KXx8XyE9PXRoaXMubGVuZ3RoLTE/TVs2LVcubGVuZ3RoXStXK3k6Vyt5LChwKz0yKT49MjYmJihwLT0yNixfLS0pfWZvcigwIT09ZyYmKHk9Zy50b1N0cmluZygxNikreSk7eS5sZW5ndGglYiE9MDspeT0iMCIreTty''@;'; put 'put ''ZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJih5PSItIit5KSx5fWlmKGg9PT0oMHxoKSYmaD49MiYmaDw9MzYpe3ZhciBHPWtbaF0sWD1PW2hdO3k9IiI7dmFyIG5lPXRoaXMuY2xvbmUoKTtmb3IobmUubmVnYXRpdmU9MDshbmUuaXNaZXJvKCk7KXt2YXIgYWU9bmUubW9kbihYKS50b1N0cmlu''@;'; put 'put ''ZyhoKTt5PShuZT1uZS5pZGl2bihYKSkuaXNaZXJvKCk/YWUreTpNW0ctYWUubGVuZ3RoXSthZSt5fWZvcih0aGlzLmlzWmVybygpJiYoeT0iMCIreSk7eS5sZW5ndGglYiE9MDspeT0iMCIreTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJih5PSItIit5KSx5fUMoITEsIkJhc2Ugc2hvdWxk''@;'; put 'put ''IGJlIGJldHdlZW4gMiBhbmQgMzYiKX0sbS5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgaD10aGlzLndvcmRzWzBdO3JldHVybiAyPT09dGhpcy5sZW5ndGg/aCs9NjcxMDg4NjQqdGhpcy53b3Jkc1sxXTozPT09dGhpcy5sZW5ndGgmJjE9PT10aGlzLndvcmRzWzJdP2grPTQ1''@;'; put 'put ''MDM1OTk2MjczNzA0OTYrNjcxMDg4NjQqdGhpcy53b3Jkc1sxXTp0aGlzLmxlbmd0aD4yJiZDKCExLCJOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMiKSwwIT09dGhpcy5uZWdhdGl2ZT8taDpofSxtLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''dGhpcy50b1N0cmluZygxNil9LG0ucHJvdG90eXBlLnRvQnVmZmVyPWZ1bmN0aW9uKGgsYil7cmV0dXJuIEModm9pZCAwIT09RiksdGhpcy50b0FycmF5TGlrZShGLGgsYil9LG0ucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSxo''@;'; put 'put ''LGIpfSxtLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbihoLGIseSl7dmFyIHA9dGhpcy5ieXRlTGVuZ3RoKCksZz15fHxNYXRoLm1heCgxLHApO0MocDw9ZywiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpLEMoZz4wLCJSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3Ro''@;'; put 'put ''IDw9IDAiKSx0aGlzLnN0cmlwKCk7dmFyIF8sRSxXPSJsZSI9PT1iLEc9bmV3IGgoZyksWD10aGlzLmNsb25lKCk7aWYoVyl7Zm9yKEU9MDshWC5pc1plcm8oKTtFKyspXz1YLmFuZGxuKDI1NSksWC5pdXNocm4oOCksR1tFXT1fO2Zvcig7RTxnO0UrKylHW0VdPTB9ZWxzZXtmb3IoRT0wO0U8''@;'; put 'put ''Zy1wO0UrKylHW0VdPTA7Zm9yKEU9MDshWC5pc1plcm8oKTtFKyspXz1YLmFuZGxuKDI1NSksWC5pdXNocm4oOCksR1tnLUUtMV09X31yZXR1cm4gR30sbS5wcm90b3R5cGUuX2NvdW50Qml0cz1NYXRoLmNsejMyP2Z1bmN0aW9uKGgpe3JldHVybiAzMi1NYXRoLmNsejMyKGgpfTpmdW5jdGlv''@;'; put 'put ''bihoKXt2YXIgYj1oLHk9MDtyZXR1cm4gYj49NDA5NiYmKHkrPTEzLGI+Pj49MTMpLGI+PTY0JiYoeSs9NyxiPj4+PTcpLGI+PTgmJih5Kz00LGI+Pj49NCksYj49MiYmKHkrPTIsYj4+Pj0yKSx5K2J9LG0ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbihoKXtpZigwPT09aClyZXR1cm4g''@;'; put 'put ''MjY7dmFyIGI9aCx5PTA7cmV0dXJuIDA9PSg4MTkxJmIpJiYoeSs9MTMsYj4+Pj0xMyksMD09KDEyNyZiKSYmKHkrPTcsYj4+Pj03KSwwPT0oMTUmYikmJih5Kz00LGI+Pj49NCksMD09KDMmYikmJih5Kz0yLGI+Pj49MiksMD09KDEmYikmJnkrKyx5fSxtLnByb3RvdHlwZS5iaXRMZW5ndGg9''@;'; put 'put ''ZnVuY3Rpb24oKXt2YXIgYj10aGlzLl9jb3VudEJpdHModGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStifSxtLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciBoPTAsYj0wO2I8''@;'; put 'put ''dGhpcy5sZW5ndGg7YisrKXt2YXIgeT10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2JdKTtpZihoKz15LDI2IT09eSlicmVha31yZXR1cm4gaH0sbS5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sbS5wcm90b3R5''@;'; put 'put ''cGUudG9Ud29zPWZ1bmN0aW9uKGgpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKGgpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sbS5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMudGVzdG4oaC0xKT90aGlzLm5vdG4oaCkuaWFkZG4o''@;'; put 'put ''MSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sbS5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG0ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxtLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0''@;'; put 'put ''dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxtLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKGgpe2Zvcig7dGhpcy5sZW5ndGg8aC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGI9MDtiPGgubGVuZ3RoO2IrKyl0aGlzLndvcmRz''@;'; put 'put ''W2JdPXRoaXMud29yZHNbYl18aC53b3Jkc1tiXTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09KHRoaXMubmVnYXRpdmV8aC5uZWdhdGl2ZSkpLHRoaXMuaXVvcihoKX0sbS5wcm90b3R5cGUub3I9ZnVuY3Rpb24oaCl7cmV0dXJu''@;'; put 'put ''IHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pb3IoaCk6aC5jbG9uZSgpLmlvcih0aGlzKX0sbS5wcm90b3R5cGUudW9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaXVvcihoKTpoLmNsb25lKCkuaXVvcih0aGlzKX0sbS5w''@;'; put 'put ''cm90b3R5cGUuaXVhbmQ9ZnVuY3Rpb24oaCl7dmFyIGI7Yj10aGlzLmxlbmd0aD5oLmxlbmd0aD9oOnRoaXM7Zm9yKHZhciB5PTA7eTxiLmxlbmd0aDt5KyspdGhpcy53b3Jkc1t5XT10aGlzLndvcmRzW3ldJmgud29yZHNbeV07cmV0dXJuIHRoaXMubGVuZ3RoPWIubGVuZ3RoLHRoaXMuc3Ry''@;'; put 'put ''aXAoKX0sbS5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbihoKXtyZXR1cm4gQygwPT0odGhpcy5uZWdhdGl2ZXxoLm5lZ2F0aXZlKSksdGhpcy5pdWFuZChoKX0sbS5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCho''@;'; put 'put ''KTpoLmNsb25lKCkuaWFuZCh0aGlzKX0sbS5wcm90b3R5cGUudWFuZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKGgpOmguY2xvbmUoKS5pdWFuZCh0aGlzKX0sbS5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24oaCl7dmFyIGIseTt0''@;'; put 'put ''aGlzLmxlbmd0aD5oLmxlbmd0aD8oYj10aGlzLHk9aCk6KGI9aCx5PXRoaXMpO2Zvcih2YXIgcD0wO3A8eS5sZW5ndGg7cCsrKXRoaXMud29yZHNbcF09Yi53b3Jkc1twXV55LndvcmRzW3BdO2lmKHRoaXMhPT1iKWZvcig7cDxiLmxlbmd0aDtwKyspdGhpcy53b3Jkc1twXT1iLndvcmRzW3Bd''@;'; put 'put ''O3JldHVybiB0aGlzLmxlbmd0aD1iLmxlbmd0aCx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09KHRoaXMubmVnYXRpdmV8aC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IoaCl9LG0ucHJvdG90eXBlLnhvcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IoaCk6aC5jbG9uZSgpLml4b3IodGhpcyl9LG0ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcihoKTpoLmNsb25lKCkuaXV4b3IodGhpcyl9LG0u''@;'; put 'put ''cHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgYj0wfE1hdGguY2VpbChoLzI2KSx5PWglMjY7dGhpcy5fZXhwYW5kKGIpLHk+MCYmYi0tO2Zvcih2YXIgcD0wO3A8YjtwKyspdGhpcy53b3Jkc1twXT02NzEwODg2MyZ+dGhpcy53b3Jk''@;'; put 'put ''c1twXTtyZXR1cm4geT4wJiYodGhpcy53b3Jkc1twXT1+dGhpcy53b3Jkc1twXSY2NzEwODg2Mz4+MjYteSksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4oaCl9LG0ucHJvdG90eXBlLnNldG49ZnVuY3Rpb24oaCxi''@;'; put 'put ''KXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIHk9aC8yNnwwLHA9aCUyNjtyZXR1cm4gdGhpcy5fZXhwYW5kKHkrMSksdGhpcy53b3Jkc1t5XT1iP3RoaXMud29yZHNbeV18MTw8cDp0aGlzLndvcmRzW3ldJn4oMTw8cCksdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pYWRkPWZ1''@;'; put 'put ''bmN0aW9uKGgpe3ZhciBiLHkscDtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PWgubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxiPXRoaXMuaXN1YihoKSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT1oLm5lZ2F0aXZl''@;'; put 'put ''KXJldHVybiBoLm5lZ2F0aXZlPTAsYj10aGlzLmlzdWIoaCksaC5uZWdhdGl2ZT0xLGIuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+aC5sZW5ndGg/KHk9dGhpcyxwPWgpOih5PWgscD10aGlzKTtmb3IodmFyIGc9MCxfPTA7XzxwLmxlbmd0aDtfKyspdGhpcy53b3Jkc1tfXT02NzEwODg2MyYo''@;'; put 'put ''Yj0oMHx5LndvcmRzW19dKSsoMHxwLndvcmRzW19dKStnKSxnPWI+Pj4yNjtmb3IoOzAhPT1nJiZfPHkubGVuZ3RoO18rKyl0aGlzLndvcmRzW19dPTY3MTA4ODYzJihiPSgwfHkud29yZHNbX10pK2cpLGc9Yj4+PjI2O2lmKHRoaXMubGVuZ3RoPXkubGVuZ3RoLDAhPT1nKXRoaXMud29yZHNb''@;'; put 'put ''dGhpcy5sZW5ndGhdPWcsdGhpcy5sZW5ndGgrKztlbHNlIGlmKHkhPT10aGlzKWZvcig7Xzx5Lmxlbmd0aDtfKyspdGhpcy53b3Jkc1tfXT15LndvcmRzW19dO3JldHVybiB0aGlzfSxtLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oaCl7dmFyIGI7cmV0dXJuIDAhPT1oLm5lZ2F0aXZlJiYwPT09''@;'; put 'put ''dGhpcy5uZWdhdGl2ZT8oaC5uZWdhdGl2ZT0wLGI9dGhpcy5zdWIoaCksaC5uZWdhdGl2ZV49MSxiKTowPT09aC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxiPWguc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxiKTp0aGlzLmxlbmd0aD5oLmxlbmd0aD90''@;'; put 'put ''aGlzLmNsb25lKCkuaWFkZChoKTpoLmNsb25lKCkuaWFkZCh0aGlzKX0sbS5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbihoKXtpZigwIT09aC5uZWdhdGl2ZSl7aC5uZWdhdGl2ZT0wO3ZhciBiPXRoaXMuaWFkZChoKTtyZXR1cm4gaC5uZWdhdGl2ZT0xLGIuX25vcm1TaWduKCl9aWYoMCE9PXRo''@;'; put 'put ''aXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQoaCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHkscCxnPXRoaXMuY21wKGgpO2lmKDA9PT1nKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAs''@;'; put 'put ''dGhpcztnPjA/KHk9dGhpcyxwPWgpOih5PWgscD10aGlzKTtmb3IodmFyIF89MCxFPTA7RTxwLmxlbmd0aDtFKyspXz0oYj0oMHx5LndvcmRzW0VdKS0oMHxwLndvcmRzW0VdKStfKT4+MjYsdGhpcy53b3Jkc1tFXT02NzEwODg2MyZiO2Zvcig7MCE9PV8mJkU8eS5sZW5ndGg7RSsrKV89KGI9''@;'; put 'put ''KDB8eS53b3Jkc1tFXSkrXyk+PjI2LHRoaXMud29yZHNbRV09NjcxMDg4NjMmYjtpZigwPT09XyYmRTx5Lmxlbmd0aCYmeSE9PXRoaXMpZm9yKDtFPHkubGVuZ3RoO0UrKyl0aGlzLndvcmRzW0VdPXkud29yZHNbRV07cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLEUp''@;'; put 'put ''LHkhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIoaCl9O3ZhciBUPWZ1bmN0aW9uKGgsYix5KXt2YXIgcCxnLF8sRT1oLndvcmRzLFc9Yi53b3JkcyxHPXkud29yZHMsWD0w''@;'; put 'put ''LG5lPTB8RVswXSxhZT04MTkxJm5lLHVlPW5lPj4+MTMsYmU9MHxFWzFdLF9lPTgxOTEmYmUsbGU9YmU+Pj4xMyxjZT0wfEVbMl0scGU9ODE5MSZjZSx3ZT1jZT4+PjEzLFVlPTB8RVszXSx4ZT04MTkxJlVlLEVlPVVlPj4+MTMsd3Q9MHxFWzRdLE5lPTgxOTEmd3QsSGU9d3Q+Pj4xMyxSZT0w''@;'; put 'put ''fEVbNV0sT2U9ODE5MSZSZSxMZT1SZT4+PjEzLGllPTB8RVs2XSxzZT04MTkxJmllLGRlPWllPj4+MTMsQWU9MHxFWzddLGtlPTgxOTEmQWUsU2U9QWU+Pj4xMywkZT0wfEVbOF0sVmU9ODE5MSYkZSxHZT0kZT4+PjEzLHF0PTB8RVs5XSxLZT04MTkxJnF0LGV0PXF0Pj4+MTMsX249MHxXWzBd''@;'; put 'put ''LGJ0PTgxOTEmX24scHQ9X24+Pj4xMyxHdD0wfFdbMV0sbnQ9ODE5MSZHdCx5dD1HdD4+PjEzLFNuPTB8V1syXSxndD04MTkxJlNuLGR0PVNuPj4+MTMsWHQ9MHxXWzNdLGF0PTgxOTEmWHQsUWU9WHQ+Pj4xMyxtbj0wfFdbNF0sb3Q9ODE5MSZtbix2dD1tbj4+PjEzLHRyPTB8V1s1XSxaZT04''@;'; put 'put ''MTkxJnRyLG10PXRyPj4+MTMsVW49MHxXWzZdLGZ0PTgxOTEmVW4sbHQ9VW4+Pj4xMyxadD0wfFdbN10sWGU9ODE5MSZadCxEZT1adD4+PjEzLHV0PTB8V1s4XSxydD04MTkxJnV0LGl0PXV0Pj4+MTMsYm49MHxXWzldLFdlPTgxOTEmYm4sSmU9Ym4+Pj4xMzt5Lm5lZ2F0aXZlPWgubmVnYXRp''@;'; put 'put ''dmVeYi5uZWdhdGl2ZSx5Lmxlbmd0aD0xOTt2YXIgTXQ9KFgrKHA9TWF0aC5pbXVsKGFlLGJ0KSl8MCkrKCg4MTkxJihnPShnPU1hdGguaW11bChhZSxwdCkpK01hdGguaW11bCh1ZSxidCl8MCkpPDwxMyl8MDtYPSgoXz1NYXRoLmltdWwodWUscHQpKSsoZz4+PjEzKXwwKSsoTXQ+Pj4yNil8''@;'; put 'put ''MCxNdCY9NjcxMDg4NjMscD1NYXRoLmltdWwoX2UsYnQpLGc9KGc9TWF0aC5pbXVsKF9lLHB0KSkrTWF0aC5pbXVsKGxlLGJ0KXwwLF89TWF0aC5pbXVsKGxlLHB0KTt2YXIgRHQ9KFgrKHA9cCtNYXRoLmltdWwoYWUsbnQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSx5dCl8''@;'; put 'put ''MCkrTWF0aC5pbXVsKHVlLG50KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLHl0KXwwKSsoZz4+PjEzKXwwKSsoRHQ+Pj4yNil8MCxEdCY9NjcxMDg4NjMscD1NYXRoLmltdWwocGUsYnQpLGc9KGc9TWF0aC5pbXVsKHBlLHB0KSkrTWF0aC5pbXVsKHdlLGJ0KXwwLF89TWF0aC5p''@;'; put 'put ''bXVsKHdlLHB0KSxwPXArTWF0aC5pbXVsKF9lLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UseXQpfDApK01hdGguaW11bChsZSxudCl8MCxfPV8rTWF0aC5pbXVsKGxlLHl0KXwwO3ZhciBCdD0oWCsocD1wK01hdGguaW11bChhZSxndCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVs''@;'; put 'put ''KGFlLGR0KXwwKStNYXRoLmltdWwodWUsZ3QpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsZHQpfDApKyhnPj4+MTMpfDApKyhCdD4+PjI2KXwwLEJ0Jj02NzEwODg2MyxwPU1hdGguaW11bCh4ZSxidCksZz0oZz1NYXRoLmltdWwoeGUscHQpKStNYXRoLmltdWwoRWUsYnQpfDAs''@;'; put 'put ''Xz1NYXRoLmltdWwoRWUscHQpLHA9cCtNYXRoLmltdWwocGUsbnQpfDAsZz0oZz1nK01hdGguaW11bChwZSx5dCl8MCkrTWF0aC5pbXVsKHdlLG50KXwwLF89XytNYXRoLmltdWwod2UseXQpfDAscD1wK01hdGguaW11bChfZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLGR0KXwwKStNYXRo''@;'; put 'put ''LmltdWwobGUsZ3QpfDAsXz1fK01hdGguaW11bChsZSxkdCl8MDt2YXIgZW49KFgrKHA9cCtNYXRoLmltdWwoYWUsYXQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxRZSl8MCkrTWF0aC5pbXVsKHVlLGF0KXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLFFlKXww''@;'; put 'put ''KSsoZz4+PjEzKXwwKSsoZW4+Pj4yNil8MCxlbiY9NjcxMDg4NjMscD1NYXRoLmltdWwoTmUsYnQpLGc9KGc9TWF0aC5pbXVsKE5lLHB0KSkrTWF0aC5pbXVsKEhlLGJ0KXwwLF89TWF0aC5pbXVsKEhlLHB0KSxwPXArTWF0aC5pbXVsKHhlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUseXQp''@;'; put 'put ''fDApK01hdGguaW11bChFZSxudCl8MCxfPV8rTWF0aC5pbXVsKEVlLHl0KXwwLHA9cCtNYXRoLmltdWwocGUsZ3QpfDAsZz0oZz1nK01hdGguaW11bChwZSxkdCl8MCkrTWF0aC5pbXVsKHdlLGd0KXwwLF89XytNYXRoLmltdWwod2UsZHQpfDAscD1wK01hdGguaW11bChfZSxhdCl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKF9lLFFlKXwwKStNYXRoLmltdWwobGUsYXQpfDAsXz1fK01hdGguaW11bChsZSxRZSl8MDt2YXIgWXQ9KFgrKHA9cCtNYXRoLmltdWwoYWUsb3QpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSx2dCl8MCkrTWF0aC5pbXVsKHVlLG90KXwwKSk8PDEzKXww''@;'; put 'put ''O1g9KChfPV8rTWF0aC5pbXVsKHVlLHZ0KXwwKSsoZz4+PjEzKXwwKSsoWXQ+Pj4yNil8MCxZdCY9NjcxMDg4NjMscD1NYXRoLmltdWwoT2UsYnQpLGc9KGc9TWF0aC5pbXVsKE9lLHB0KSkrTWF0aC5pbXVsKExlLGJ0KXwwLF89TWF0aC5pbXVsKExlLHB0KSxwPXArTWF0aC5pbXVsKE5lLG50''@;'; put 'put ''KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUseXQpfDApK01hdGguaW11bChIZSxudCl8MCxfPV8rTWF0aC5pbXVsKEhlLHl0KXwwLHA9cCtNYXRoLmltdWwoeGUsZ3QpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxkdCl8MCkrTWF0aC5pbXVsKEVlLGd0KXwwLF89XytNYXRoLmltdWwoRWUsZHQpfDAs''@;'; put 'put ''cD1wK01hdGguaW11bChwZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLFFlKXwwKStNYXRoLmltdWwod2UsYXQpfDAsXz1fK01hdGguaW11bCh3ZSxRZSl8MCxwPXArTWF0aC5pbXVsKF9lLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsdnQpfDApK01hdGguaW11bChsZSxvdCl8MCxfPV8r''@;'; put 'put ''TWF0aC5pbXVsKGxlLHZ0KXwwO3ZhciBybj0oWCsocD1wK01hdGguaW11bChhZSxaZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLG10KXwwKStNYXRoLmltdWwodWUsWmUpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsbXQpfDApKyhnPj4+MTMpfDApKyhybj4+''@;'; put 'put ''PjI2KXwwLHJuJj02NzEwODg2MyxwPU1hdGguaW11bChzZSxidCksZz0oZz1NYXRoLmltdWwoc2UscHQpKStNYXRoLmltdWwoZGUsYnQpfDAsXz1NYXRoLmltdWwoZGUscHQpLHA9cCtNYXRoLmltdWwoT2UsbnQpfDAsZz0oZz1nK01hdGguaW11bChPZSx5dCl8MCkrTWF0aC5pbXVsKExlLG50''@;'; put 'put ''KXwwLF89XytNYXRoLmltdWwoTGUseXQpfDAscD1wK01hdGguaW11bChOZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLGR0KXwwKStNYXRoLmltdWwoSGUsZ3QpfDAsXz1fK01hdGguaW11bChIZSxkdCl8MCxwPXArTWF0aC5pbXVsKHhlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsUWUp''@;'; put 'put ''fDApK01hdGguaW11bChFZSxhdCl8MCxfPV8rTWF0aC5pbXVsKEVlLFFlKXwwLHA9cCtNYXRoLmltdWwocGUsb3QpfDAsZz0oZz1nK01hdGguaW11bChwZSx2dCl8MCkrTWF0aC5pbXVsKHdlLG90KXwwLF89XytNYXRoLmltdWwod2UsdnQpfDAscD1wK01hdGguaW11bChfZSxaZSl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKF9lLG10KXwwKStNYXRoLmltdWwobGUsWmUpfDAsXz1fK01hdGguaW11bChsZSxtdCl8MDt2YXIgYW49KFgrKHA9cCtNYXRoLmltdWwoYWUsZnQpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxsdCl8MCkrTWF0aC5pbXVsKHVlLGZ0KXwwKSk8PDEzKXww''@;'; put 'put ''O1g9KChfPV8rTWF0aC5pbXVsKHVlLGx0KXwwKSsoZz4+PjEzKXwwKSsoYW4+Pj4yNil8MCxhbiY9NjcxMDg4NjMscD1NYXRoLmltdWwoa2UsYnQpLGc9KGc9TWF0aC5pbXVsKGtlLHB0KSkrTWF0aC5pbXVsKFNlLGJ0KXwwLF89TWF0aC5pbXVsKFNlLHB0KSxwPXArTWF0aC5pbXVsKHNlLG50''@;'; put 'put ''KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UseXQpfDApK01hdGguaW11bChkZSxudCl8MCxfPV8rTWF0aC5pbXVsKGRlLHl0KXwwLHA9cCtNYXRoLmltdWwoT2UsZ3QpfDAsZz0oZz1nK01hdGguaW11bChPZSxkdCl8MCkrTWF0aC5pbXVsKExlLGd0KXwwLF89XytNYXRoLmltdWwoTGUsZHQpfDAs''@;'; put 'put ''cD1wK01hdGguaW11bChOZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLFFlKXwwKStNYXRoLmltdWwoSGUsYXQpfDAsXz1fK01hdGguaW11bChIZSxRZSl8MCxwPXArTWF0aC5pbXVsKHhlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsdnQpfDApK01hdGguaW11bChFZSxvdCl8MCxfPV8r''@;'; put 'put ''TWF0aC5pbXVsKEVlLHZ0KXwwLHA9cCtNYXRoLmltdWwocGUsWmUpfDAsZz0oZz1nK01hdGguaW11bChwZSxtdCl8MCkrTWF0aC5pbXVsKHdlLFplKXwwLF89XytNYXRoLmltdWwod2UsbXQpfDAscD1wK01hdGguaW11bChfZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLGx0KXwwKStNYXRo''@;'; put 'put ''LmltdWwobGUsZnQpfDAsXz1fK01hdGguaW11bChsZSxsdCl8MDt2YXIgbG49KFgrKHA9cCtNYXRoLmltdWwoYWUsWGUpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxEZSl8MCkrTWF0aC5pbXVsKHVlLFhlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLERlKXww''@;'; put 'put ''KSsoZz4+PjEzKXwwKSsobG4+Pj4yNil8MCxsbiY9NjcxMDg4NjMscD1NYXRoLmltdWwoVmUsYnQpLGc9KGc9TWF0aC5pbXVsKFZlLHB0KSkrTWF0aC5pbXVsKEdlLGJ0KXwwLF89TWF0aC5pbXVsKEdlLHB0KSxwPXArTWF0aC5pbXVsKGtlLG50KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UseXQp''@;'; put 'put ''fDApK01hdGguaW11bChTZSxudCl8MCxfPV8rTWF0aC5pbXVsKFNlLHl0KXwwLHA9cCtNYXRoLmltdWwoc2UsZ3QpfDAsZz0oZz1nK01hdGguaW11bChzZSxkdCl8MCkrTWF0aC5pbXVsKGRlLGd0KXwwLF89XytNYXRoLmltdWwoZGUsZHQpfDAscD1wK01hdGguaW11bChPZSxhdCl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKE9lLFFlKXwwKStNYXRoLmltdWwoTGUsYXQpfDAsXz1fK01hdGguaW11bChMZSxRZSl8MCxwPXArTWF0aC5pbXVsKE5lLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsdnQpfDApK01hdGguaW11bChIZSxvdCl8MCxfPV8rTWF0aC5pbXVsKEhlLHZ0KXwwLHA9cCtNYXRo''@;'; put 'put ''LmltdWwoeGUsWmUpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxtdCl8MCkrTWF0aC5pbXVsKEVlLFplKXwwLF89XytNYXRoLmltdWwoRWUsbXQpfDAscD1wK01hdGguaW11bChwZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLGx0KXwwKStNYXRoLmltdWwod2UsZnQpfDAsXz1fK01hdGguaW11''@;'; put 'put ''bCh3ZSxsdCl8MCxwPXArTWF0aC5pbXVsKF9lLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsRGUpfDApK01hdGguaW11bChsZSxYZSl8MCxfPV8rTWF0aC5pbXVsKGxlLERlKXwwO3ZhciBNbj0oWCsocD1wK01hdGguaW11bChhZSxydCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVs''@;'; put 'put ''KGFlLGl0KXwwKStNYXRoLmltdWwodWUscnQpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsaXQpfDApKyhnPj4+MTMpfDApKyhNbj4+PjI2KXwwLE1uJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxidCksZz0oZz1NYXRoLmltdWwoS2UscHQpKStNYXRoLmltdWwoZXQsYnQpfDAs''@;'; put 'put ''Xz1NYXRoLmltdWwoZXQscHQpLHA9cCtNYXRoLmltdWwoVmUsbnQpfDAsZz0oZz1nK01hdGguaW11bChWZSx5dCl8MCkrTWF0aC5pbXVsKEdlLG50KXwwLF89XytNYXRoLmltdWwoR2UseXQpfDAscD1wK01hdGguaW11bChrZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLGR0KXwwKStNYXRo''@;'; put 'put ''LmltdWwoU2UsZ3QpfDAsXz1fK01hdGguaW11bChTZSxkdCl8MCxwPXArTWF0aC5pbXVsKHNlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsUWUpfDApK01hdGguaW11bChkZSxhdCl8MCxfPV8rTWF0aC5pbXVsKGRlLFFlKXwwLHA9cCtNYXRoLmltdWwoT2Usb3QpfDAsZz0oZz1nK01hdGgu''@;'; put 'put ''aW11bChPZSx2dCl8MCkrTWF0aC5pbXVsKExlLG90KXwwLF89XytNYXRoLmltdWwoTGUsdnQpfDAscD1wK01hdGguaW11bChOZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLG10KXwwKStNYXRoLmltdWwoSGUsWmUpfDAsXz1fK01hdGguaW11bChIZSxtdCl8MCxwPXArTWF0aC5pbXVsKHhl''@;'; put 'put ''LGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsbHQpfDApK01hdGguaW11bChFZSxmdCl8MCxfPV8rTWF0aC5pbXVsKEVlLGx0KXwwLHA9cCtNYXRoLmltdWwocGUsWGUpfDAsZz0oZz1nK01hdGguaW11bChwZSxEZSl8MCkrTWF0aC5pbXVsKHdlLFhlKXwwLF89XytNYXRoLmltdWwod2UsRGUp''@;'; put 'put ''fDAscD1wK01hdGguaW11bChfZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKF9lLGl0KXwwKStNYXRoLmltdWwobGUscnQpfDAsXz1fK01hdGguaW11bChsZSxpdCl8MDt2YXIgbm49KFgrKHA9cCtNYXRoLmltdWwoYWUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChhZSxKZSl8''@;'; put 'put ''MCkrTWF0aC5pbXVsKHVlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKHVlLEplKXwwKSsoZz4+PjEzKXwwKSsobm4+Pj4yNil8MCxubiY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsbnQpLGc9KGc9TWF0aC5pbXVsKEtlLHl0KSkrTWF0aC5pbXVsKGV0LG50KXwwLF89TWF0aC5p''@;'; put 'put ''bXVsKGV0LHl0KSxwPXArTWF0aC5pbXVsKFZlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsZHQpfDApK01hdGguaW11bChHZSxndCl8MCxfPV8rTWF0aC5pbXVsKEdlLGR0KXwwLHA9cCtNYXRoLmltdWwoa2UsYXQpfDAsZz0oZz1nK01hdGguaW11bChrZSxRZSl8MCkrTWF0aC5pbXVsKFNl''@;'; put 'put ''LGF0KXwwLF89XytNYXRoLmltdWwoU2UsUWUpfDAscD1wK01hdGguaW11bChzZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLHZ0KXwwKStNYXRoLmltdWwoZGUsb3QpfDAsXz1fK01hdGguaW11bChkZSx2dCl8MCxwPXArTWF0aC5pbXVsKE9lLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoT2Us''@;'; put 'put ''bXQpfDApK01hdGguaW11bChMZSxaZSl8MCxfPV8rTWF0aC5pbXVsKExlLG10KXwwLHA9cCtNYXRoLmltdWwoTmUsZnQpfDAsZz0oZz1nK01hdGguaW11bChOZSxsdCl8MCkrTWF0aC5pbXVsKEhlLGZ0KXwwLF89XytNYXRoLmltdWwoSGUsbHQpfDAscD1wK01hdGguaW11bCh4ZSxYZSl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKHhlLERlKXwwKStNYXRoLmltdWwoRWUsWGUpfDAsXz1fK01hdGguaW11bChFZSxEZSl8MCxwPXArTWF0aC5pbXVsKHBlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsaXQpfDApK01hdGguaW11bCh3ZSxydCl8MCxfPV8rTWF0aC5pbXVsKHdlLGl0KXwwO3ZhciBR''@;'; put 'put ''bj0oWCsocD1wK01hdGguaW11bChfZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKF9lLEplKXwwKStNYXRoLmltdWwobGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwobGUsSmUpfDApKyhnPj4+MTMpfDApKyhRbj4+PjI2KXwwLFFuJj02NzEwODg2MyxwPU1h''@;'; put 'put ''dGguaW11bChLZSxndCksZz0oZz1NYXRoLmltdWwoS2UsZHQpKStNYXRoLmltdWwoZXQsZ3QpfDAsXz1NYXRoLmltdWwoZXQsZHQpLHA9cCtNYXRoLmltdWwoVmUsYXQpfDAsZz0oZz1nK01hdGguaW11bChWZSxRZSl8MCkrTWF0aC5pbXVsKEdlLGF0KXwwLF89XytNYXRoLmltdWwoR2UsUWUp''@;'; put 'put ''fDAscD1wK01hdGguaW11bChrZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLHZ0KXwwKStNYXRoLmltdWwoU2Usb3QpfDAsXz1fK01hdGguaW11bChTZSx2dCl8MCxwPXArTWF0aC5pbXVsKHNlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsbXQpfDApK01hdGguaW11bChkZSxaZSl8MCxf''@;'; put 'put ''PV8rTWF0aC5pbXVsKGRlLG10KXwwLHA9cCtNYXRoLmltdWwoT2UsZnQpfDAsZz0oZz1nK01hdGguaW11bChPZSxsdCl8MCkrTWF0aC5pbXVsKExlLGZ0KXwwLF89XytNYXRoLmltdWwoTGUsbHQpfDAscD1wK01hdGguaW11bChOZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLERlKXwwKStN''@;'; put 'put ''YXRoLmltdWwoSGUsWGUpfDAsXz1fK01hdGguaW11bChIZSxEZSl8MCxwPXArTWF0aC5pbXVsKHhlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsaXQpfDApK01hdGguaW11bChFZSxydCl8MCxfPV8rTWF0aC5pbXVsKEVlLGl0KXwwO3ZhciBabj0oWCsocD1wK01hdGguaW11bChwZSxXZSl8''@;'; put 'put ''MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKHBlLEplKXwwKStNYXRoLmltdWwod2UsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwod2UsSmUpfDApKyhnPj4+MTMpfDApKyhabj4+PjI2KXwwLFpuJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxhdCksZz0oZz1NYXRoLmlt''@;'; put 'put ''dWwoS2UsUWUpKStNYXRoLmltdWwoZXQsYXQpfDAsXz1NYXRoLmltdWwoZXQsUWUpLHA9cCtNYXRoLmltdWwoVmUsb3QpfDAsZz0oZz1nK01hdGguaW11bChWZSx2dCl8MCkrTWF0aC5pbXVsKEdlLG90KXwwLF89XytNYXRoLmltdWwoR2UsdnQpfDAscD1wK01hdGguaW11bChrZSxaZSl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKGtlLG10KXwwKStNYXRoLmltdWwoU2UsWmUpfDAsXz1fK01hdGguaW11bChTZSxtdCl8MCxwPXArTWF0aC5pbXVsKHNlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsbHQpfDApK01hdGguaW11bChkZSxmdCl8MCxfPV8rTWF0aC5pbXVsKGRlLGx0KXwwLHA9cCtN''@;'; put 'put ''YXRoLmltdWwoT2UsWGUpfDAsZz0oZz1nK01hdGguaW11bChPZSxEZSl8MCkrTWF0aC5pbXVsKExlLFhlKXwwLF89XytNYXRoLmltdWwoTGUsRGUpfDAscD1wK01hdGguaW11bChOZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLGl0KXwwKStNYXRoLmltdWwoSGUscnQpfDAsXz1fK01hdGgu''@;'; put 'put ''aW11bChIZSxpdCl8MDt2YXIgbHI9KFgrKHA9cCtNYXRoLmltdWwoeGUsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bCh4ZSxKZSl8MCkrTWF0aC5pbXVsKEVlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKEVlLEplKXwwKSsoZz4+PjEzKXwwKSsobHI+Pj4yNil8''@;'; put 'put ''MCxsciY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2Usb3QpLGc9KGc9TWF0aC5pbXVsKEtlLHZ0KSkrTWF0aC5pbXVsKGV0LG90KXwwLF89TWF0aC5pbXVsKGV0LHZ0KSxwPXArTWF0aC5pbXVsKFZlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsbXQpfDApK01hdGguaW11bChHZSxaZSl8MCxf''@;'; put 'put ''PV8rTWF0aC5pbXVsKEdlLG10KXwwLHA9cCtNYXRoLmltdWwoa2UsZnQpfDAsZz0oZz1nK01hdGguaW11bChrZSxsdCl8MCkrTWF0aC5pbXVsKFNlLGZ0KXwwLF89XytNYXRoLmltdWwoU2UsbHQpfDAscD1wK01hdGguaW11bChzZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLERlKXwwKStN''@;'; put 'put ''YXRoLmltdWwoZGUsWGUpfDAsXz1fK01hdGguaW11bChkZSxEZSl8MCxwPXArTWF0aC5pbXVsKE9lLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsaXQpfDApK01hdGguaW11bChMZSxydCl8MCxfPV8rTWF0aC5pbXVsKExlLGl0KXwwO3ZhciB3bj0oWCsocD1wK01hdGguaW11bChOZSxXZSl8''@;'; put 'put ''MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKE5lLEplKXwwKStNYXRoLmltdWwoSGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoSGUsSmUpfDApKyhnPj4+MTMpfDApKyh3bj4+PjI2KXwwLHduJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxaZSksZz0oZz1NYXRoLmlt''@;'; put 'put ''dWwoS2UsbXQpKStNYXRoLmltdWwoZXQsWmUpfDAsXz1NYXRoLmltdWwoZXQsbXQpLHA9cCtNYXRoLmltdWwoVmUsZnQpfDAsZz0oZz1nK01hdGguaW11bChWZSxsdCl8MCkrTWF0aC5pbXVsKEdlLGZ0KXwwLF89XytNYXRoLmltdWwoR2UsbHQpfDAscD1wK01hdGguaW11bChrZSxYZSl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKGtlLERlKXwwKStNYXRoLmltdWwoU2UsWGUpfDAsXz1fK01hdGguaW11bChTZSxEZSl8MCxwPXArTWF0aC5pbXVsKHNlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsaXQpfDApK01hdGguaW11bChkZSxydCl8MCxfPV8rTWF0aC5pbXVsKGRlLGl0KXwwO3ZhciB2''@;'; put 'put ''cj0oWCsocD1wK01hdGguaW11bChPZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKE9lLEplKXwwKStNYXRoLmltdWwoTGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoTGUsSmUpfDApKyhnPj4+MTMpfDApKyh2cj4+PjI2KXwwLHZyJj02NzEwODg2MyxwPU1h''@;'; put 'put ''dGguaW11bChLZSxmdCksZz0oZz1NYXRoLmltdWwoS2UsbHQpKStNYXRoLmltdWwoZXQsZnQpfDAsXz1NYXRoLmltdWwoZXQsbHQpLHA9cCtNYXRoLmltdWwoVmUsWGUpfDAsZz0oZz1nK01hdGguaW11bChWZSxEZSl8MCkrTWF0aC5pbXVsKEdlLFhlKXwwLF89XytNYXRoLmltdWwoR2UsRGUp''@;'; put 'put ''fDAscD1wK01hdGguaW11bChrZSxydCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLGl0KXwwKStNYXRoLmltdWwoU2UscnQpfDAsXz1fK01hdGguaW11bChTZSxpdCl8MDt2YXIgdm49KFgrKHA9cCtNYXRoLmltdWwoc2UsV2UpfDApfDApKygoODE5MSYoZz0oZz1nK01hdGguaW11bChzZSxKZSl8''@;'; put 'put ''MCkrTWF0aC5pbXVsKGRlLFdlKXwwKSk8PDEzKXwwO1g9KChfPV8rTWF0aC5pbXVsKGRlLEplKXwwKSsoZz4+PjEzKXwwKSsodm4+Pj4yNil8MCx2biY9NjcxMDg4NjMscD1NYXRoLmltdWwoS2UsWGUpLGc9KGc9TWF0aC5pbXVsKEtlLERlKSkrTWF0aC5pbXVsKGV0LFhlKXwwLF89TWF0aC5p''@;'; put 'put ''bXVsKGV0LERlKSxwPXArTWF0aC5pbXVsKFZlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoVmUsaXQpfDApK01hdGguaW11bChHZSxydCl8MCxfPV8rTWF0aC5pbXVsKEdlLGl0KXwwO3ZhciBjcj0oWCsocD1wK01hdGguaW11bChrZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVs''@;'; put 'put ''KGtlLEplKXwwKStNYXRoLmltdWwoU2UsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoU2UsSmUpfDApKyhnPj4+MTMpfDApKyhjcj4+PjI2KXwwLGNyJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxydCksZz0oZz1NYXRoLmltdWwoS2UsaXQpKStNYXRoLmltdWwoZXQscnQpfDAs''@;'; put 'put ''Xz1NYXRoLmltdWwoZXQsaXQpO3ZhciBvcj0oWCsocD1wK01hdGguaW11bChWZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKFZlLEplKXwwKStNYXRoLmltdWwoR2UsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoR2UsSmUpfDApKyhnPj4+MTMpfDApKyhvcj4+''@;'; put 'put ''PjI2KXwwLG9yJj02NzEwODg2Mzt2YXIgQ249KFgrKHA9TWF0aC5pbXVsKEtlLFdlKSl8MCkrKCg4MTkxJihnPShnPU1hdGguaW11bChLZSxKZSkpK01hdGguaW11bChldCxXZSl8MCkpPDwxMyl8MDtyZXR1cm4gWD0oKF89TWF0aC5pbXVsKGV0LEplKSkrKGc+Pj4xMyl8MCkrKENuPj4+MjYp''@;'; put 'put ''fDAsQ24mPTY3MTA4ODYzLEdbMF09TXQsR1sxXT1EdCxHWzJdPUJ0LEdbM109ZW4sR1s0XT1ZdCxHWzVdPXJuLEdbNl09YW4sR1s3XT1sbixHWzhdPU1uLEdbOV09bm4sR1sxMF09UW4sR1sxMV09Wm4sR1sxMl09bHIsR1sxM109d24sR1sxNF09dnIsR1sxNV09dm4sR1sxNl09Y3IsR1sxN109''@;'; put 'put ''b3IsR1sxOF09Q24sMCE9PVgmJihHWzE5XT1YLHkubGVuZ3RoKyspLHl9O2Z1bmN0aW9uIFkoaCxiLHkpe3JldHVybihuZXcgSSkubXVscChoLGIseSl9ZnVuY3Rpb24gSShoLGIpe3RoaXMueD1oLHRoaXMueT1ifU1hdGguaW11bHx8KFQ9TCksbS5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24o''@;'; put 'put ''aCxiKXt2YXIgcD10aGlzLmxlbmd0aCtoLmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT1oLmxlbmd0aD9UKHRoaXMsaCxiKTpwPDYzP0wodGhpcyxoLGIpOnA8MTAyND9mdW5jdGlvbihnLF8sRSl7RS5uZWdhdGl2ZT1fLm5lZ2F0aXZlXmcubmVnYXRpdmUsRS5sZW5ndGg9''@;'; put 'put ''Zy5sZW5ndGgrXy5sZW5ndGg7Zm9yKHZhciBXPTAsRz0wLFg9MDtYPEUubGVuZ3RoLTE7WCsrKXt2YXIgbmU9RztHPTA7Zm9yKHZhciBhZT02NzEwODg2MyZXLHVlPU1hdGgubWluKFgsXy5sZW5ndGgtMSksYmU9TWF0aC5tYXgoMCxYLWcubGVuZ3RoKzEpO2JlPD11ZTtiZSsrKXt2YXIgbGU9''@;'; put 'put ''KDB8Zy53b3Jkc1tYLWJlXSkqKDB8Xy53b3Jkc1tiZV0pLGNlPTY3MTA4ODYzJmxlO2FlPTY3MTA4ODYzJihjZT1jZSthZXwwKSxHKz0obmU9KG5lPW5lKyhsZS82NzEwODg2NHwwKXwwKSsoY2U+Pj4yNil8MCk+Pj4yNixuZSY9NjcxMDg4NjN9RS53b3Jkc1tYXT1hZSxXPW5lLG5lPUd9cmV0''@;'; put 'put ''dXJuIDAhPT1XP0Uud29yZHNbWF09VzpFLmxlbmd0aC0tLEUuc3RyaXAoKX0odGhpcyxoLGIpOlkodGhpcyxoLGIpfSxJLnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKGgpe2Zvcih2YXIgYj1uZXcgQXJyYXkoaCkseT1tLnByb3RvdHlwZS5fY291bnRCaXRzKGgpLTEscD0wO3A8aDtwKysp''@;'; put 'put ''YltwXT10aGlzLnJldkJpbihwLHksaCk7cmV0dXJuIGJ9LEkucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbihoLGIseSl7aWYoMD09PWh8fGg9PT15LTEpcmV0dXJuIGg7Zm9yKHZhciBwPTAsZz0wO2c8YjtnKyspcHw9KDEmaCk8PGItZy0xLGg+Pj0xO3JldHVybiBwfSxJLnByb3RvdHlwZS5w''@;'; put 'put ''ZXJtdXRlPWZ1bmN0aW9uKGgsYix5LHAsZyxfKXtmb3IodmFyIEU9MDtFPF87RSsrKXBbRV09YltoW0VdXSxnW0VdPXlbaFtFXV19LEkucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbihoLGIseSxwLGcsXyl7dGhpcy5wZXJtdXRlKF8saCxiLHkscCxnKTtmb3IodmFyIEU9MTtFPGc7RTw8''@;'; put 'put ''PTEpZm9yKHZhciBXPUU8PDEsRz1NYXRoLmNvcygyKk1hdGguUEkvVyksWD1NYXRoLnNpbigyKk1hdGguUEkvVyksbmU9MDtuZTxnO25lKz1XKWZvcih2YXIgYWU9Ryx1ZT1YLGJlPTA7YmU8RTtiZSsrKXt2YXIgX2U9eVtuZStiZV0sbGU9cFtuZStiZV0sY2U9eVtuZStiZStFXSxwZT1wW25l''@;'; put 'put ''K2JlK0VdLHdlPWFlKmNlLXVlKnBlO3BlPWFlKnBlK3VlKmNlLHlbbmUrYmVdPV9lKyhjZT13ZSkscFtuZStiZV09bGUrcGUseVtuZStiZStFXT1fZS1jZSxwW25lK2JlK0VdPWxlLXBlLGJlIT09VyYmKHdlPUcqYWUtWCp1ZSx1ZT1HKnVlK1gqYWUsYWU9d2UpfX0sSS5wcm90b3R5cGUuZ3Vl''@;'; put 'put ''c3NMZW4xM2I9ZnVuY3Rpb24oaCxiKXt2YXIgeT0xfE1hdGgubWF4KGIsaCkscD0xJnksZz0wO2Zvcih5PXkvMnwwO3k7eT4+Pj0xKWcrKztyZXR1cm4gMTw8ZysxK3B9LEkucHJvdG90eXBlLmNvbmp1Z2F0ZT1mdW5jdGlvbihoLGIseSl7aWYoISh5PD0xKSlmb3IodmFyIHA9MDtwPHkvMjtw''@;'; put 'put ''Kyspe3ZhciBnPWhbcF07aFtwXT1oW3ktcC0xXSxoW3ktcC0xXT1nLGc9YltwXSxiW3BdPS1iW3ktcC0xXSxiW3ktcC0xXT0tZ319LEkucHJvdG90eXBlLm5vcm1hbGl6ZTEzYj1mdW5jdGlvbihoLGIpe2Zvcih2YXIgeT0wLHA9MDtwPGIvMjtwKyspe3ZhciBnPTgxOTIqTWF0aC5yb3VuZCho''@;'; put 'put ''WzIqcCsxXS9iKStNYXRoLnJvdW5kKGhbMipwXS9iKSt5O2hbcF09NjcxMDg4NjMmZyx5PWc8NjcxMDg4NjQ/MDpnLzY3MTA4ODY0fDB9cmV0dXJuIGh9LEkucHJvdG90eXBlLmNvbnZlcnQxM2I9ZnVuY3Rpb24oaCxiLHkscCl7Zm9yKHZhciBnPTAsXz0wO188YjtfKyspeVsyKl9dPTgxOTEm''@;'; put 'put ''KGcrPTB8aFtfXSkseVsyKl8rMV09ODE5MSYoZz4+Pj0xMyksZz4+Pj0xMztmb3IoXz0yKmI7XzxwOysrXyl5W19dPTA7QygwPT09ZyksQygwPT0oLTgxOTImZykpfSxJLnByb3RvdHlwZS5zdHViPWZ1bmN0aW9uKGgpe2Zvcih2YXIgYj1uZXcgQXJyYXkoaCkseT0wO3k8aDt5KyspYlt5XT0w''@;'; put 'put ''O3JldHVybiBifSxJLnByb3RvdHlwZS5tdWxwPWZ1bmN0aW9uKGgsYix5KXt2YXIgcD0yKnRoaXMuZ3Vlc3NMZW4xM2IoaC5sZW5ndGgsYi5sZW5ndGgpLGc9dGhpcy5tYWtlUkJUKHApLF89dGhpcy5zdHViKHApLEU9bmV3IEFycmF5KHApLFc9bmV3IEFycmF5KHApLEc9bmV3IEFycmF5KHAp''@;'; put 'put ''LFg9bmV3IEFycmF5KHApLG5lPW5ldyBBcnJheShwKSxhZT1uZXcgQXJyYXkocCksdWU9eS53b3Jkczt1ZS5sZW5ndGg9cCx0aGlzLmNvbnZlcnQxM2IoaC53b3JkcyxoLmxlbmd0aCxFLHApLHRoaXMuY29udmVydDEzYihiLndvcmRzLGIubGVuZ3RoLFgscCksdGhpcy50cmFuc2Zvcm0oRSxf''@;'; put 'put ''LFcsRyxwLGcpLHRoaXMudHJhbnNmb3JtKFgsXyxuZSxhZSxwLGcpO2Zvcih2YXIgYmU9MDtiZTxwO2JlKyspe3ZhciBfZT1XW2JlXSpuZVtiZV0tR1tiZV0qYWVbYmVdO0dbYmVdPVdbYmVdKmFlW2JlXStHW2JlXSpuZVtiZV0sV1tiZV09X2V9cmV0dXJuIHRoaXMuY29uanVnYXRlKFcsRyxw''@;'; put 'put ''KSx0aGlzLnRyYW5zZm9ybShXLEcsdWUsXyxwLGcpLHRoaXMuY29uanVnYXRlKHVlLF8scCksdGhpcy5ub3JtYWxpemUxM2IodWUscCkseS5uZWdhdGl2ZT1oLm5lZ2F0aXZlXmIubmVnYXRpdmUseS5sZW5ndGg9aC5sZW5ndGgrYi5sZW5ndGgseS5zdHJpcCgpfSxtLnByb3RvdHlwZS5tdWw9''@;'; put 'put ''ZnVuY3Rpb24oaCl7dmFyIGI9bmV3IG0obnVsbCk7cmV0dXJuIGIud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK2gubGVuZ3RoKSx0aGlzLm11bFRvKGgsYil9LG0ucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24oaCl7dmFyIGI9bmV3IG0obnVsbCk7cmV0dXJuIGIud29yZHM9bmV3IEFycmF5''@;'; put 'put ''KHRoaXMubGVuZ3RoK2gubGVuZ3RoKSxZKHRoaXMsaCxiKX0sbS5wcm90b3R5cGUuaW11bD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKGgsdGhpcyl9LG0ucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoKSxDKGg8NjcxMDg4NjQp''@;'; put 'put ''O2Zvcih2YXIgYj0wLHk9MDt5PHRoaXMubGVuZ3RoO3krKyl7dmFyIHA9KDB8dGhpcy53b3Jkc1t5XSkqaCxnPSg2NzEwODg2MyZwKSsoNjcxMDg4NjMmYik7Yj4+PTI2LGIrPXAvNjcxMDg4NjR8MCxiKz1nPj4+MjYsdGhpcy53b3Jkc1t5XT02NzEwODg2MyZnfXJldHVybiAwIT09YiYmKHRo''@;'; put 'put ''aXMud29yZHNbeV09Yix0aGlzLmxlbmd0aCsrKSx0aGlzfSxtLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4oaCl9LG0ucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0sbS5wcm90b3R5cGUuaXNxcj1mdW5j''@;'; put 'put ''dGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0sbS5wcm90b3R5cGUucG93PWZ1bmN0aW9uKGgpe3ZhciBiPWZ1bmN0aW9uKF8pe2Zvcih2YXIgRT1uZXcgQXJyYXkoXy5iaXRMZW5ndGgoKSksVz0wO1c8RS5sZW5ndGg7VysrKXt2YXIgWD1XJTI2O0VbV109KF8ud29yZHNb''@;'; put 'put ''Vy8yNnwwXSYxPDxYKT4+Plh9cmV0dXJuIEV9KGgpO2lmKDA9PT1iLmxlbmd0aClyZXR1cm4gbmV3IG0oMSk7Zm9yKHZhciB5PXRoaXMscD0wO3A8Yi5sZW5ndGgmJjA9PT1iW3BdO3ArKyx5PXkuc3FyKCkpO2lmKCsrcDxiLmxlbmd0aClmb3IodmFyIGc9eS5zcXIoKTtwPGIubGVuZ3RoO3Ar''@;'; put 'put ''KyxnPWcuc3FyKCkpMCE9PWJbcF0mJih5PXkubXVsKGcpKTtyZXR1cm4geX0sbS5wcm90b3R5cGUuaXVzaGxuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgYix5PWglMjYscD0oaC15KS8yNixnPTY3MTA4ODYzPj4+MjYteTw8MjYteTtpZigwIT09eSl7dmFy''@;'; put 'put ''IF89MDtmb3IoYj0wO2I8dGhpcy5sZW5ndGg7YisrKXt2YXIgRT10aGlzLndvcmRzW2JdJmc7dGhpcy53b3Jkc1tiXT0oMHx0aGlzLndvcmRzW2JdKS1FPDx5fF8sXz1FPj4+MjYteX1fJiYodGhpcy53b3Jkc1tiXT1fLHRoaXMubGVuZ3RoKyspfWlmKDAhPT1wKXtmb3IoYj10aGlzLmxlbmd0''@;'; put 'put ''aC0xO2I+PTA7Yi0tKXRoaXMud29yZHNbYitwXT10aGlzLndvcmRzW2JdO2ZvcihiPTA7YjxwO2IrKyl0aGlzLndvcmRzW2JdPTA7dGhpcy5sZW5ndGgrPXB9cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaXNobG49ZnVuY3Rpb24oaCl7cmV0dXJuIEMoMD09PXRoaXMubmVnYXRp''@;'; put 'put ''dmUpLHRoaXMuaXVzaGxuKGgpfSxtLnByb3RvdHlwZS5pdXNocm49ZnVuY3Rpb24oaCxiLHkpe3ZhciBwO0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKSxwPWI/KGItYiUyNikvMjY6MDt2YXIgZz1oJTI2LF89TWF0aC5taW4oKGgtZykvMjYsdGhpcy5sZW5ndGgpLEU9NjcxMDg4NjNeNjcx''@;'; put 'put ''MDg4NjM+Pj5nPDxnLFc9eTtpZihwLT1fLHA9TWF0aC5tYXgoMCxwKSxXKXtmb3IodmFyIEc9MDtHPF87RysrKVcud29yZHNbR109dGhpcy53b3Jkc1tHXTtXLmxlbmd0aD1ffWlmKDAhPT1fKWlmKHRoaXMubGVuZ3RoPl8pZm9yKHRoaXMubGVuZ3RoLT1fLEc9MDtHPHRoaXMubGVuZ3RoO0cr''@;'; put 'put ''Kyl0aGlzLndvcmRzW0ddPXRoaXMud29yZHNbRytfXTtlbHNlIHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xO3ZhciBYPTA7Zm9yKEc9dGhpcy5sZW5ndGgtMTtHPj0wJiYoMCE9PVh8fEc+PXApO0ctLSl7dmFyIG5lPTB8dGhpcy53b3Jkc1tHXTt0aGlzLndvcmRzW0ddPVg8PDI2LWd8''@;'; put 'put ''bmU+Pj5nLFg9bmUmRX1yZXR1cm4gVyYmMCE9PVgmJihXLndvcmRzW1cubGVuZ3RoKytdPVgpLDA9PT10aGlzLmxlbmd0aCYmKHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xKSx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlzaHJuPWZ1bmN0aW9uKGgsYix5KXtyZXR1cm4gQygwPT09''@;'; put 'put ''dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNocm4oaCxiLHkpfSxtLnByb3RvdHlwZS5zaGxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXNobG4oaCl9LG0ucHJvdG90eXBlLnVzaGxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGgpfSxtLnByb3RvdHlw''@;'; put 'put ''ZS5zaHJuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXNocm4oaCl9LG0ucHJvdG90eXBlLnVzaHJuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKGgpfSxtLnByb3RvdHlwZS50ZXN0bj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49''@;'; put 'put ''MCk7dmFyIGI9aCUyNix5PShoLWIpLzI2O3JldHVybiEodGhpcy5sZW5ndGg8PXl8fCEodGhpcy53b3Jkc1t5XSYxPDxiKSl9LG0ucHJvdG90eXBlLmltYXNrbj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCYmaD49MCk7dmFyIGI9aCUyNix5PShoLWIpLzI2O3JldHVybiBDKDA9''@;'; put 'put ''PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9eT90aGlzOigwIT09YiYmeSsrLHRoaXMubGVuZ3RoPU1hdGgubWluKHksdGhpcy5sZW5ndGgpLDAhPT1iJiYodGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9Njcx''@;'; put 'put ''MDg4NjNeNjcxMDg4NjM+Pj5iPDxiKSx0aGlzLnN0cmlwKCkpfSxtLnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbihoKX0sbS5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24oaCl7cmV0dXJuIEMoIm51bWJlciI9PXR5cGVvZiBoKSxDKGg8Njcx''@;'; put 'put ''MDg4NjQpLGg8MD90aGlzLmlzdWJuKC1oKTowIT09dGhpcy5uZWdhdGl2ZT8xPT09dGhpcy5sZW5ndGgmJigwfHRoaXMud29yZHNbMF0pPGg/KHRoaXMud29yZHNbMF09aC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJu''@;'; put 'put ''KGgpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbihoKX0sbS5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKGgpe3RoaXMud29yZHNbMF0rPWg7Zm9yKHZhciBiPTA7Yjx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tiXT49NjcxMDg4NjQ7YisrKXRoaXMud29yZHNbYl0tPTY3MTA4''@;'; put 'put ''ODY0LGI9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbYisxXT0xOnRoaXMud29yZHNbYisxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxiKzEpLHRoaXN9LG0ucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKGgpe2lmKEMoIm51bWJlciI9PXR5cGVvZiBoKSxD''@;'; put 'put ''KGg8NjcxMDg4NjQpLGg8MClyZXR1cm4gdGhpcy5pYWRkbigtaCk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKGgpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPWgsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRz''@;'; put 'put ''WzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGI9MDtiPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2JdPDA7YisrKXRoaXMud29yZHNbYl0rPTY3MTA4ODY0LHRoaXMud29yZHNbYisxXS09MTtyZXR1cm4gdGhpcy5zdHJpcCgp''@;'; put 'put ''fSxtLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4oaCl9LG0ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihoKX0sbS5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0''@;'; put 'put ''aXZlPTAsdGhpc30sbS5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LG0ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbihoLGIseSl7dmFyIHAsZzt0aGlzLl9leHBhbmQoaC5sZW5ndGgreSk7dmFyIEU9MDtmb3IocD0wO3A8aC5sZW5n''@;'; put 'put ''dGg7cCsrKXtnPSgwfHRoaXMud29yZHNbcCt5XSkrRTt2YXIgVz0oMHxoLndvcmRzW3BdKSpiO0U9KChnLT02NzEwODg2MyZXKT4+MjYpLShXLzY3MTA4ODY0fDApLHRoaXMud29yZHNbcCt5XT02NzEwODg2MyZnfWZvcig7cDx0aGlzLmxlbmd0aC15O3ArKylFPShnPSgwfHRoaXMud29yZHNb''@;'; put 'put ''cCt5XSkrRSk+PjI2LHRoaXMud29yZHNbcCt5XT02NzEwODg2MyZnO2lmKDA9PT1FKXJldHVybiB0aGlzLnN0cmlwKCk7Zm9yKEMoLTE9PT1FKSxFPTAscD0wO3A8dGhpcy5sZW5ndGg7cCsrKUU9KGc9LSgwfHRoaXMud29yZHNbcF0pK0UpPj4yNix0aGlzLndvcmRzW3BdPTY3MTA4ODYzJmc7''@;'; put 'put ''cmV0dXJuIHRoaXMubmVnYXRpdmU9MSx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKGgsYil7dmFyIHkscD10aGlzLmNsb25lKCksZz1oLF89MHxnLndvcmRzW2cubGVuZ3RoLTFdOzAhPSh5PTI2LXRoaXMuX2NvdW50Qml0cyhfKSkmJihnPWcudXNobG4oeSks''@;'; put 'put ''cC5pdXNobG4oeSksXz0wfGcud29yZHNbZy5sZW5ndGgtMV0pO3ZhciBFLFc9cC5sZW5ndGgtZy5sZW5ndGg7aWYoIm1vZCIhPT1iKXsoRT1uZXcgbShudWxsKSkubGVuZ3RoPVcrMSxFLndvcmRzPW5ldyBBcnJheShFLmxlbmd0aCk7Zm9yKHZhciBHPTA7RzxFLmxlbmd0aDtHKyspRS53b3Jk''@;'; put 'put ''c1tHXT0wfXZhciBYPXAuY2xvbmUoKS5faXNobG5zdWJtdWwoZywxLFcpOzA9PT1YLm5lZ2F0aXZlJiYocD1YLEUmJihFLndvcmRzW1ddPTEpKTtmb3IodmFyIG5lPVctMTtuZT49MDtuZS0tKXt2YXIgYWU9NjcxMDg4NjQqKDB8cC53b3Jkc1tnLmxlbmd0aCtuZV0pKygwfHAud29yZHNbZy5s''@;'; put 'put ''ZW5ndGgrbmUtMV0pO2ZvcihhZT1NYXRoLm1pbihhZS9ffDAsNjcxMDg4NjMpLHAuX2lzaGxuc3VibXVsKGcsYWUsbmUpOzAhPT1wLm5lZ2F0aXZlOylhZS0tLHAubmVnYXRpdmU9MCxwLl9pc2hsbnN1Ym11bChnLDEsbmUpLHAuaXNaZXJvKCl8fChwLm5lZ2F0aXZlXj0xKTtFJiYoRS53b3Jk''@;'; put 'put ''c1tuZV09YWUpfXJldHVybiBFJiZFLnN0cmlwKCkscC5zdHJpcCgpLCJkaXYiIT09YiYmMCE9PXkmJnAuaXVzaHJuKHkpLHtkaXY6RXx8bnVsbCxtb2Q6cH19LG0ucHJvdG90eXBlLmRpdm1vZD1mdW5jdGlvbihoLGIseSl7cmV0dXJuIEMoIWguaXNaZXJvKCkpLHRoaXMuaXNaZXJvKCk/e2Rp''@;'; put 'put ''djpuZXcgbSgwKSxtb2Q6bmV3IG0oMCl9OjAhPT10aGlzLm5lZ2F0aXZlJiYwPT09aC5uZWdhdGl2ZT8oXz10aGlzLm5lZygpLmRpdm1vZChoLGIpLCJtb2QiIT09YiYmKHA9Xy5kaXYubmVnKCkpLCJkaXYiIT09YiYmKGc9Xy5tb2QubmVnKCkseSYmMCE9PWcubmVnYXRpdmUmJmcuaWFkZCho''@;'; put 'put ''KSkse2RpdjpwLG1vZDpnfSk6MD09PXRoaXMubmVnYXRpdmUmJjAhPT1oLm5lZ2F0aXZlPyhfPXRoaXMuZGl2bW9kKGgubmVnKCksYiksIm1vZCIhPT1iJiYocD1fLmRpdi5uZWcoKSkse2RpdjpwLG1vZDpfLm1vZH0pOjAhPSh0aGlzLm5lZ2F0aXZlJmgubmVnYXRpdmUpPyhfPXRoaXMubmVn''@;'; put 'put ''KCkuZGl2bW9kKGgubmVnKCksYiksImRpdiIhPT1iJiYoZz1fLm1vZC5uZWcoKSx5JiYwIT09Zy5uZWdhdGl2ZSYmZy5pc3ViKGgpKSx7ZGl2Ol8uZGl2LG1vZDpnfSk6aC5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKGgpPDA/e2RpdjpuZXcgbSgwKSxtb2Q6dGhpc306MT09PWgubGVu''@;'; put 'put ''Z3RoPyJkaXYiPT09Yj97ZGl2OnRoaXMuZGl2bihoLndvcmRzWzBdKSxtb2Q6bnVsbH06Im1vZCI9PT1iP3tkaXY6bnVsbCxtb2Q6bmV3IG0odGhpcy5tb2RuKGgud29yZHNbMF0pKX06e2Rpdjp0aGlzLmRpdm4oaC53b3Jkc1swXSksbW9kOm5ldyBtKHRoaXMubW9kbihoLndvcmRzWzBdKSl9''@;'; put 'put ''OnRoaXMuX3dvcmREaXYoaCxiKTt2YXIgcCxnLF99LG0ucHJvdG90eXBlLmRpdj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5kaXZtb2QoaCwiZGl2IiwhMSkuZGl2fSxtLnByb3RvdHlwZS5tb2Q9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZGl2bW9kKGgsIm1vZCIsITEpLm1vZH0sbS5wcm90''@;'; put 'put ''b3R5cGUudW1vZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5kaXZtb2QoaCwibW9kIiwhMCkubW9kfSxtLnByb3RvdHlwZS5kaXZSb3VuZD1mdW5jdGlvbihoKXt2YXIgYj10aGlzLmRpdm1vZChoKTtpZihiLm1vZC5pc1plcm8oKSlyZXR1cm4gYi5kaXY7dmFyIHk9MCE9PWIuZGl2Lm5lZ2F0''@;'; put 'put ''aXZlP2IubW9kLmlzdWIoaCk6Yi5tb2QscD1oLnVzaHJuKDEpLGc9aC5hbmRsbigxKSxfPXkuY21wKHApO3JldHVybiBfPDB8fDE9PT1nJiYwPT09Xz9iLmRpdjowIT09Yi5kaXYubmVnYXRpdmU/Yi5kaXYuaXN1Ym4oMSk6Yi5kaXYuaWFkZG4oMSl9LG0ucHJvdG90eXBlLm1vZG49ZnVuY3Rp''@;'; put 'put ''b24oaCl7QyhoPD02NzEwODg2Myk7Zm9yKHZhciBiPTY3MTA4ODY0JWgseT0wLHA9dGhpcy5sZW5ndGgtMTtwPj0wO3AtLSl5PShiKnkrKDB8dGhpcy53b3Jkc1twXSkpJWg7cmV0dXJuIHl9LG0ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKGgpe0MoaDw9NjcxMDg4NjMpO2Zvcih2YXIgYj0w''@;'; put 'put ''LHk9dGhpcy5sZW5ndGgtMTt5Pj0wO3ktLSl7dmFyIHA9KDB8dGhpcy53b3Jkc1t5XSkrNjcxMDg4NjQqYjt0aGlzLndvcmRzW3ldPXAvaHwwLGI9cCVofXJldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmRpdm49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2biho''@;'; put 'put ''KX0sbS5wcm90b3R5cGUuZWdjZD1mdW5jdGlvbihoKXtDKDA9PT1oLm5lZ2F0aXZlKSxDKCFoLmlzWmVybygpKTt2YXIgYj10aGlzLHk9aC5jbG9uZSgpO2I9MCE9PWIubmVnYXRpdmU/Yi51bW9kKGgpOmIuY2xvbmUoKTtmb3IodmFyIHA9bmV3IG0oMSksZz1uZXcgbSgwKSxfPW5ldyBtKDAp''@;'; put 'put ''LEU9bmV3IG0oMSksVz0wO2IuaXNFdmVuKCkmJnkuaXNFdmVuKCk7KWIuaXVzaHJuKDEpLHkuaXVzaHJuKDEpLCsrVztmb3IodmFyIEc9eS5jbG9uZSgpLFg9Yi5jbG9uZSgpOyFiLmlzWmVybygpOyl7Zm9yKHZhciBuZT0wLGFlPTE7MD09KGIud29yZHNbMF0mYWUpJiZuZTwyNjsrK25lLGFl''@;'; put 'put ''PDw9MSk7aWYobmU+MClmb3IoYi5pdXNocm4obmUpO25lLS0gPjA7KShwLmlzT2RkKCl8fGcuaXNPZGQoKSkmJihwLmlhZGQoRyksZy5pc3ViKFgpKSxwLml1c2hybigxKSxnLml1c2hybigxKTtmb3IodmFyIHVlPTAsYmU9MTswPT0oeS53b3Jkc1swXSZiZSkmJnVlPDI2OysrdWUsYmU8PD0x''@;'; put 'put ''KTtpZih1ZT4wKWZvcih5Lml1c2hybih1ZSk7dWUtLSA+MDspKF8uaXNPZGQoKXx8RS5pc09kZCgpKSYmKF8uaWFkZChHKSxFLmlzdWIoWCkpLF8uaXVzaHJuKDEpLEUuaXVzaHJuKDEpO2IuY21wKHkpPj0wPyhiLmlzdWIoeSkscC5pc3ViKF8pLGcuaXN1YihFKSk6KHkuaXN1YihiKSxfLmlz''@;'; put 'put ''dWIocCksRS5pc3ViKGcpKX1yZXR1cm57YTpfLGI6RSxnY2Q6eS5pdXNobG4oVyl9fSxtLnByb3RvdHlwZS5faW52bXA9ZnVuY3Rpb24oaCl7QygwPT09aC5uZWdhdGl2ZSksQyghaC5pc1plcm8oKSk7dmFyIGI9dGhpcyx5PWguY2xvbmUoKTtiPTAhPT1iLm5lZ2F0aXZlP2IudW1vZChoKTpi''@;'; put 'put ''LmNsb25lKCk7Zm9yKHZhciBwLGc9bmV3IG0oMSksXz1uZXcgbSgwKSxFPXkuY2xvbmUoKTtiLmNtcG4oMSk+MCYmeS5jbXBuKDEpPjA7KXtmb3IodmFyIFc9MCxHPTE7MD09KGIud29yZHNbMF0mRykmJlc8MjY7KytXLEc8PD0xKTtpZihXPjApZm9yKGIuaXVzaHJuKFcpO1ctLSA+MDspZy5p''@;'; put 'put ''c09kZCgpJiZnLmlhZGQoRSksZy5pdXNocm4oMSk7Zm9yKHZhciBYPTAsbmU9MTswPT0oeS53b3Jkc1swXSZuZSkmJlg8MjY7KytYLG5lPDw9MSk7aWYoWD4wKWZvcih5Lml1c2hybihYKTtYLS0gPjA7KV8uaXNPZGQoKSYmXy5pYWRkKEUpLF8uaXVzaHJuKDEpO2IuY21wKHkpPj0wPyhiLmlz''@;'; put 'put ''dWIoeSksZy5pc3ViKF8pKTooeS5pc3ViKGIpLF8uaXN1YihnKSl9cmV0dXJuKHA9MD09PWIuY21wbigxKT9nOl8pLmNtcG4oMCk8MCYmcC5pYWRkKGgpLHB9LG0ucHJvdG90eXBlLmdjZD1mdW5jdGlvbihoKXtpZih0aGlzLmlzWmVybygpKXJldHVybiBoLmFicygpO2lmKGguaXNaZXJvKCkp''@;'; put 'put ''cmV0dXJuIHRoaXMuYWJzKCk7dmFyIGI9dGhpcy5jbG9uZSgpLHk9aC5jbG9uZSgpO2IubmVnYXRpdmU9MCx5Lm5lZ2F0aXZlPTA7Zm9yKHZhciBwPTA7Yi5pc0V2ZW4oKSYmeS5pc0V2ZW4oKTtwKyspYi5pdXNocm4oMSkseS5pdXNocm4oMSk7Zm9yKDs7KXtmb3IoO2IuaXNFdmVuKCk7KWIu''@;'; put 'put ''aXVzaHJuKDEpO2Zvcig7eS5pc0V2ZW4oKTspeS5pdXNocm4oMSk7dmFyIGc9Yi5jbXAoeSk7aWYoZzwwKXt2YXIgXz1iO2I9eSx5PV99ZWxzZSBpZigwPT09Z3x8MD09PXkuY21wbigxKSlicmVhaztiLmlzdWIoeSl9cmV0dXJuIHkuaXVzaGxuKHApfSxtLnByb3RvdHlwZS5pbnZtPWZ1bmN0''@;'; put 'put ''aW9uKGgpe3JldHVybiB0aGlzLmVnY2QoaCkuYS51bW9kKGgpfSxtLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24oKXtyZXR1cm4gMD09KDEmdGhpcy53b3Jkc1swXSl9LG0ucHJvdG90eXBlLmlzT2RkPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PSgxJnRoaXMud29yZHNbMF0pfSxtLnByb3RvdHlw''@;'; put 'put ''ZS5hbmRsbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy53b3Jkc1swXSZofSxtLnByb3RvdHlwZS5iaW5jbj1mdW5jdGlvbihoKXtDKCJudW1iZXIiPT10eXBlb2YgaCk7dmFyIGI9aCUyNix5PShoLWIpLzI2LHA9MTw8YjtpZih0aGlzLmxlbmd0aDw9eSlyZXR1cm4gdGhpcy5fZXhwYW5kKHkr''@;'; put 'put ''MSksdGhpcy53b3Jkc1t5XXw9cCx0aGlzO2Zvcih2YXIgZz1wLF89eTswIT09ZyYmXzx0aGlzLmxlbmd0aDtfKyspe3ZhciBFPTB8dGhpcy53b3Jkc1tfXTtnPShFKz1nKT4+PjI2LHRoaXMud29yZHNbX109RSY9NjcxMDg4NjN9cmV0dXJuIDAhPT1nJiYodGhpcy53b3Jkc1tfXT1nLHRoaXMu''@;'; put 'put ''bGVuZ3RoKyspLHRoaXN9LG0ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxtLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKGgpe3ZhciBiLHk9aDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYheSlyZXR1cm4tMTtp''@;'; put 'put ''ZigwPT09dGhpcy5uZWdhdGl2ZSYmeSlyZXR1cm4gMTtpZih0aGlzLnN0cmlwKCksdGhpcy5sZW5ndGg+MSliPTE7ZWxzZXt5JiYoaD0taCksQyhoPD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgcD0wfHRoaXMud29yZHNbMF07Yj1wPT09aD8wOnA8aD8tMToxfXJldHVybiAw''@;'; put 'put ''IT09dGhpcy5uZWdhdGl2ZT8wfC1iOmJ9LG0ucHJvdG90eXBlLmNtcD1mdW5jdGlvbihoKXtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PWgubmVnYXRpdmUpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT1oLm5lZ2F0aXZlKXJldHVybiAxO3ZhciBiPXRoaXMudWNtcChoKTty''@;'; put 'put ''ZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtYjpifSxtLnByb3RvdHlwZS51Y21wPWZ1bmN0aW9uKGgpe2lmKHRoaXMubGVuZ3RoPmgubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPGgubGVuZ3RoKXJldHVybi0xO2Zvcih2YXIgYj0wLHk9dGhpcy5sZW5ndGgtMTt5Pj0wO3ktLSl7''@;'; put 'put ''dmFyIHA9MHx0aGlzLndvcmRzW3ldLGc9MHxoLndvcmRzW3ldO2lmKHAhPT1nKXtwPGc/Yj0tMTpwPmcmJihiPTEpO2JyZWFrfX1yZXR1cm4gYn0sbS5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uKGgpe3JldHVybiAxPT09dGhpcy5jbXBuKGgpfSxtLnByb3RvdHlwZS5ndD1mdW5jdGlvbihoKXty''@;'; put 'put ''ZXR1cm4gMT09PXRoaXMuY21wKGgpfSxtLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcG4oaCk+PTB9LG0ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXAoaCk+PTB9LG0ucHJvdG90eXBlLmx0bj1mdW5jdGlvbihoKXtyZXR1cm4tMT09''@;'; put 'put ''PXRoaXMuY21wbihoKX0sbS5wcm90b3R5cGUubHQ9ZnVuY3Rpb24oaCl7cmV0dXJuLTE9PT10aGlzLmNtcChoKX0sbS5wcm90b3R5cGUubHRlbj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXBuKGgpPD0wfSxtLnByb3RvdHlwZS5sdGU9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY21wKGgp''@;'; put 'put ''PD0wfSxtLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24oaCl7cmV0dXJuIDA9PT10aGlzLmNtcG4oaCl9LG0ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKGgpe3JldHVybiAwPT09dGhpcy5jbXAoaCl9LG0ucmVkPWZ1bmN0aW9uKGgpe3JldHVybiBuZXcgJChoKX0sbS5wcm90b3R5cGUudG9SZWQ9ZnVu''@;'; put 'put ''Y3Rpb24oaCl7cmV0dXJuIEMoIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksQygwPT09dGhpcy5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxoLmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoaCl9LG0ucHJvdG90eXBl''@;'; put 'put ''LmZyb21SZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwiZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfSxtLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24oaCl7cmV0dXJuIHRo''@;'; put 'put ''aXMucmVkPWgsdGhpc30sbS5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEMoIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5fZm9yY2VSZWQoaCl9LG0ucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbihoKXtyZXR1cm4g''@;'; put 'put ''Qyh0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmFkZCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMu''@;'; put 'put ''cmVkLmlhZGQodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkU3ViPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc3ViKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24oaCl7cmV0dXJu''@;'; put 'put ''IEModGhpcy5yZWQsInJlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaXN1Yih0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlz''@;'; put 'put ''LnJlZC5zaGwodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkTXVsPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxoKSx0aGlzLnJlZC5tdWwodGhpcyxoKX0sbS5wcm90b3R5cGUu''@;'; put 'put ''cmVkSU11bD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsaCksdGhpcy5yZWQuaW11bCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0''@;'; put 'put ''aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcih0aGlzKX0sbS5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCBy''@;'; put 'put ''ZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmlzcXIodGhpcyl9LG0ucHJvdG90eXBlLnJlZFNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0''@;'; put 'put ''aGlzKSx0aGlzLnJlZC5zcXJ0KHRoaXMpfSxtLnByb3RvdHlwZS5yZWRJbnZtPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaW52bSh0aGlzKX0sbS5wcm90''@;'; put 'put ''b3R5cGUucmVkTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5uZWcodGhpcyl9LG0ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbihoKXtyZXR1cm4gQyh0''@;'; put 'put ''aGlzLnJlZCYmIWgucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnBvdyh0aGlzLGgpfTt2YXIgVT17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIFYoaCxiKXt0aGlzLm5hbWU9aCx0aGlz''@;'; put 'put ''LnA9bmV3IG0oYiwxNiksdGhpcy5uPXRoaXMucC5iaXRMZW5ndGgoKSx0aGlzLms9bmV3IG0oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApLHRoaXMudG1wPXRoaXMuX3RtcCgpfWZ1bmN0aW9uIFIoKXtWLmNhbGwodGhpcywiazI1NiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZm''@;'; put 'put ''IGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIil9ZnVuY3Rpb24gQigpe1YuY2FsbCh0aGlzLCJwMjI0IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiKX1mdW5jdGlvbiBxKCl7Vi5jYWxs''@;'; put 'put ''KHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIEooKXtWLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZm''@;'; put 'put ''ZmZmZmVkIil9ZnVuY3Rpb24gJChoKXtpZigic3RyaW5nIj09dHlwZW9mIGgpe3ZhciBiPW0uX3ByaW1lKGgpO3RoaXMubT1iLnAsdGhpcy5wcmltZT1ifWVsc2UgQyhoLmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPWgsdGhpcy5wcmltZT1udWxsfWZ1''@;'; put 'put ''bmN0aW9uIHRlKGgpeyQuY2FsbCh0aGlzLGgpLHRoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpLHRoaXMuc2hpZnQlMjYhPTAmJih0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2KSx0aGlzLnI9bmV3IG0oMSkuaXVzaGxuKHRoaXMuc2hpZnQpLHRoaXMucjI9dGhpcy5pbW9kKHRoaXMu''@;'; put 'put ''ci5zcXIoKSksdGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pLHRoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpLHRoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9Vi5wcm90''@;'; put 'put ''b3R5cGUuX3RtcD1mdW5jdGlvbigpe3ZhciBoPW5ldyBtKG51bGwpO3JldHVybiBoLndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSksaH0sVi5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbihoKXt2YXIgYix5PWg7ZG97dGhpcy5zcGxpdCh5LHRoaXMudG1wKSxiPSh5PSh5''@;'; put 'put ''PXRoaXMuaW11bEsoeSkpLmlhZGQodGhpcy50bXApKS5iaXRMZW5ndGgoKX13aGlsZShiPnRoaXMubik7dmFyIHA9Yjx0aGlzLm4/LTE6eS51Y21wKHRoaXMucCk7cmV0dXJuIDA9PT1wPyh5LndvcmRzWzBdPTAseS5sZW5ndGg9MSk6cD4wP3kuaXN1Yih0aGlzLnApOnZvaWQgMCE9PXkuc3Ry''@;'; put 'put ''aXA/eS5zdHJpcCgpOnkuX3N0cmlwKCkseX0sVi5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24oaCxiKXtoLml1c2hybih0aGlzLm4sMCxiKX0sVi5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oaCl7cmV0dXJuIGguaW11bCh0aGlzLmspfSxTKFIsViksUi5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rp''@;'; put 'put ''b24oaCxiKXtmb3IodmFyIHk9NDE5NDMwMyxwPU1hdGgubWluKGgubGVuZ3RoLDkpLGc9MDtnPHA7ZysrKWIud29yZHNbZ109aC53b3Jkc1tnXTtpZihiLmxlbmd0aD1wLGgubGVuZ3RoPD05KXJldHVybiBoLndvcmRzWzBdPTAsdm9pZChoLmxlbmd0aD0xKTt2YXIgXz1oLndvcmRzWzldO2Zv''@;'; put 'put ''cihiLndvcmRzW2IubGVuZ3RoKytdPV8meSxnPTEwO2c8aC5sZW5ndGg7ZysrKXt2YXIgRT0wfGgud29yZHNbZ107aC53b3Jkc1tnLTEwXT0oRSZ5KTw8NHxfPj4+MjIsXz1FfWgud29yZHNbZy0xMF09Xz4+Pj0yMixoLmxlbmd0aC09MD09PV8mJmgubGVuZ3RoPjEwPzEwOjl9LFIucHJvdG90''@;'; put 'put ''eXBlLmltdWxLPWZ1bmN0aW9uKGgpe2gud29yZHNbaC5sZW5ndGhdPTAsaC53b3Jkc1toLmxlbmd0aCsxXT0wLGgubGVuZ3RoKz0yO2Zvcih2YXIgYj0wLHk9MDt5PGgubGVuZ3RoO3krKyl7dmFyIHA9MHxoLndvcmRzW3ldO2gud29yZHNbeV09NjcxMDg4NjMmKGIrPTk3NypwKSxiPTY0KnAr''@;'; put 'put ''KGIvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT1oLndvcmRzW2gubGVuZ3RoLTFdJiYoaC5sZW5ndGgtLSwwPT09aC53b3Jkc1toLmxlbmd0aC0xXSYmaC5sZW5ndGgtLSksaH0sUyhCLFYpLFMocSxWKSxTKEosViksSi5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oaCl7Zm9yKHZhciBiPTAseT0w''@;'; put 'put ''O3k8aC5sZW5ndGg7eSsrKXt2YXIgcD0xOSooMHxoLndvcmRzW3ldKStiLGc9NjcxMDg4NjMmcDtwPj4+PTI2LGgud29yZHNbeV09ZyxiPXB9cmV0dXJuIDAhPT1iJiYoaC53b3Jkc1toLmxlbmd0aCsrXT1iKSxofSxtLl9wcmltZT1mdW5jdGlvbihoKXtpZihVW2hdKXJldHVybiBVW2hdO3Zh''@;'; put 'put ''ciBiO2lmKCJrMjU2Ij09PWgpYj1uZXcgUjtlbHNlIGlmKCJwMjI0Ij09PWgpYj1uZXcgQjtlbHNlIGlmKCJwMTkyIj09PWgpYj1uZXcgcTtlbHNle2lmKCJwMjU1MTkiIT09aCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIitoKTtiPW5ldyBKfXJldHVybiBVW2hdPWIsYn0sJC5w''@;'; put 'put ''cm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24oaCl7QygwPT09aC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxDKGgucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LCQucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKGgsYil7QygwPT0o''@;'; put 'put ''aC5uZWdhdGl2ZXxiLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxDKGgucmVkJiZoLnJlZD09PWIucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LCQucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMucHJpbWU/dGhp''@;'; put 'put ''cy5wcmltZS5pcmVkdWNlKGgpLl9mb3JjZVJlZCh0aGlzKTpoLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LCQucHJvdG90eXBlLm5lZz1mdW5jdGlvbihoKXtyZXR1cm4gaC5pc1plcm8oKT9oLmNsb25lKCk6dGhpcy5tLnN1YihoKS5fZm9yY2VSZWQodGhpcyl9LCQucHJvdG90eXBl''@;'; put 'put ''LmFkZD1mdW5jdGlvbihoLGIpe3RoaXMuX3ZlcmlmeTIoaCxiKTt2YXIgeT1oLmFkZChiKTtyZXR1cm4geS5jbXAodGhpcy5tKT49MCYmeS5pc3ViKHRoaXMubSkseS5fZm9yY2VSZWQodGhpcyl9LCQucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFy''@;'; put 'put ''IHk9aC5pYWRkKGIpO3JldHVybiB5LmNtcCh0aGlzLm0pPj0wJiZ5LmlzdWIodGhpcy5tKSx5fSwkLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24oaCxiKXt0aGlzLl92ZXJpZnkyKGgsYik7dmFyIHk9aC5zdWIoYik7cmV0dXJuIHkuY21wbigwKTwwJiZ5LmlhZGQodGhpcy5tKSx5Ll9mb3JjZVJl''@;'; put 'put ''ZCh0aGlzKX0sJC5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbihoLGIpe3RoaXMuX3ZlcmlmeTIoaCxiKTt2YXIgeT1oLmlzdWIoYik7cmV0dXJuIHkuY21wbigwKTwwJiZ5LmlhZGQodGhpcy5tKSx5fSwkLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSho''@;'; put 'put ''KSx0aGlzLmltb2QoaC51c2hsbihiKSl9LCQucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MihoLGIpLHRoaXMuaW1vZChoLmltdWwoYikpfSwkLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MihoLGIpLHRoaXMu''@;'; put 'put ''aW1vZChoLm11bChiKSl9LCQucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuaW11bChoLGguY2xvbmUoKSl9LCQucHJvdG90eXBlLnNxcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5tdWwoaCxoKX0sJC5wcm90b3R5cGUuc3FydD1mdW5jdGlvbihoKXtpZihoLmlzWmVy''@;'; put 'put ''bygpKXJldHVybiBoLmNsb25lKCk7dmFyIGI9dGhpcy5tLmFuZGxuKDMpO2lmKEMoYiUyPT0xKSwzPT09Yil7dmFyIHk9dGhpcy5tLmFkZChuZXcgbSgxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyhoLHkpfWZvcih2YXIgcD10aGlzLm0uc3VibigxKSxnPTA7IXAuaXNaZXJvKCkmJjA9''@;'; put 'put ''PT1wLmFuZGxuKDEpOylnKysscC5pdXNocm4oMSk7QyghcC5pc1plcm8oKSk7dmFyIF89bmV3IG0oMSkudG9SZWQodGhpcyksRT1fLnJlZE5lZygpLFc9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLEc9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihHPW5ldyBtKDIqRypHKS50b1JlZCh0aGlzKTsw''@;'; put 'put ''IT09dGhpcy5wb3coRyxXKS5jbXAoRSk7KUcucmVkSUFkZChFKTtmb3IodmFyIFg9dGhpcy5wb3coRyxwKSxuZT10aGlzLnBvdyhoLHAuYWRkbigxKS5pdXNocm4oMSkpLGFlPXRoaXMucG93KGgscCksdWU9ZzswIT09YWUuY21wKF8pOyl7Zm9yKHZhciBiZT1hZSxfZT0wOzAhPT1iZS5jbXAo''@;'; put 'put ''Xyk7X2UrKyliZT1iZS5yZWRTcXIoKTtDKF9lPHVlKTt2YXIgbGU9dGhpcy5wb3coWCxuZXcgbSgxKS5pdXNobG4odWUtX2UtMSkpO25lPW5lLnJlZE11bChsZSksWD1sZS5yZWRTcXIoKSxhZT1hZS5yZWRNdWwoWCksdWU9X2V9cmV0dXJuIG5lfSwkLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9u''@;'; put 'put ''KGgpe3ZhciBiPWguX2ludm1wKHRoaXMubSk7cmV0dXJuIDAhPT1iLm5lZ2F0aXZlPyhiLm5lZ2F0aXZlPTAsdGhpcy5pbW9kKGIpLnJlZE5lZygpKTp0aGlzLmltb2QoYil9LCQucHJvdG90eXBlLnBvdz1mdW5jdGlvbihoLGIpe2lmKGIuaXNaZXJvKCkpcmV0dXJuIG5ldyBtKDEpLnRvUmVk''@;'; put 'put ''KHRoaXMpO2lmKDA9PT1iLmNtcG4oMSkpcmV0dXJuIGguY2xvbmUoKTt2YXIgeT1uZXcgQXJyYXkoMTYpO3lbMF09bmV3IG0oMSkudG9SZWQodGhpcykseVsxXT1oO2Zvcih2YXIgcD0yO3A8eS5sZW5ndGg7cCsrKXlbcF09dGhpcy5tdWwoeVtwLTFdLGgpO3ZhciBnPXlbMF0sXz0wLEU9MCxX''@;'; put 'put ''PWIuYml0TGVuZ3RoKCklMjY7Zm9yKDA9PT1XJiYoVz0yNikscD1iLmxlbmd0aC0xO3A+PTA7cC0tKXtmb3IodmFyIEc9Yi53b3Jkc1twXSxYPVctMTtYPj0wO1gtLSl7dmFyIG5lPUc+PlgmMTtnIT09eVswXSYmKGc9dGhpcy5zcXIoZykpLDAhPT1uZXx8MCE9PV8/KF88PD0xLF98PW5lLCg0''@;'; put 'put ''PT0rK0V8fDA9PT1wJiYwPT09WCkmJihnPXRoaXMubXVsKGcseVtfXSksRT0wLF89MCkpOkU9MH1XPTI2fXJldHVybiBnfSwkLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24oaCl7dmFyIGI9aC51bW9kKHRoaXMubSk7cmV0dXJuIGI9PT1oP2IuY2xvbmUoKTpifSwkLnByb3RvdHlwZS5j''@;'; put 'put ''b252ZXJ0RnJvbT1mdW5jdGlvbihoKXt2YXIgYj1oLmNsb25lKCk7cmV0dXJuIGIucmVkPW51bGwsYn0sbS5tb250PWZ1bmN0aW9uKGgpe3JldHVybiBuZXcgdGUoaCl9LFModGUsJCksdGUucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5pbW9kKGgudXNobG4o''@;'; put 'put ''dGhpcy5zaGlmdCkpfSx0ZS5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24oaCl7dmFyIGI9dGhpcy5pbW9kKGgubXVsKHRoaXMucmludikpO3JldHVybiBiLnJlZD1udWxsLGJ9LHRlLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKGgsYil7aWYoaC5pc1plcm8oKXx8Yi5pc1plcm8oKSly''@;'; put 'put ''ZXR1cm4gaC53b3Jkc1swXT0wLGgubGVuZ3RoPTEsaDt2YXIgeT1oLmltdWwoYikscD15Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxnPXkuaXN1YihwKS5pdXNocm4odGhpcy5zaGlmdCksXz1nO3JldHVybiBnLmNtcCh0''@;'; put 'put ''aGlzLm0pPj0wP189Zy5pc3ViKHRoaXMubSk6Zy5jbXBuKDApPDAmJihfPWcuaWFkZCh0aGlzLm0pKSxfLl9mb3JjZVJlZCh0aGlzKX0sdGUucHJvdG90eXBlLm11bD1mdW5jdGlvbihoLGIpe2lmKGguaXNaZXJvKCl8fGIuaXNaZXJvKCkpcmV0dXJuIG5ldyBtKDApLl9mb3JjZVJlZCh0aGlz''@;'; put 'put ''KTt2YXIgeT1oLm11bChiKSxwPXkubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGc9eS5pc3ViKHApLml1c2hybih0aGlzLnNoaWZ0KSxfPWc7cmV0dXJuIGcuY21wKHRoaXMubSk+PTA/Xz1nLmlzdWIodGhpcy5tKTpnLmNt''@;'; put 'put ''cG4oMCk8MCYmKF89Zy5pYWRkKHRoaXMubSkpLF8uX2ZvcmNlUmVkKHRoaXMpfSx0ZS5wcm90b3R5cGUuaW52bT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5pbW9kKGguX2ludm1wKHRoaXMubSkubXVsKHRoaXMucjIpKS5fZm9yY2VSZWQodGhpcyl9fShaPWoubm1kKFopLHRoaXMpfSw4MDkx''@;'; put 'put ''Olo9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gQShqLE4pe2lmKG51bGw9PWopdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgZmlyc3QgYXJndW1lbnQgdG8gb2JqZWN0Iik7Zm9yKHZhciB6PU9iamVjdChqKSxDPTE7Qzxhcmd1bWVudHMubGVuZ3RoO0MrKyl7dmFyIFM9YXJn''@;'; put 'put ''dW1lbnRzW0NdO2lmKG51bGwhPVMpZm9yKHZhciBtPU9iamVjdC5rZXlzKE9iamVjdChTKSksRj0wLEQ9bS5sZW5ndGg7RjxEO0YrKyl7dmFyIHc9bVtGXSxQPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUyx3KTt2b2lkIDAhPT1QJiZQLmVudW1lcmFibGUmJih6W3ddPVNbd10p''@;'; put 'put ''fX1yZXR1cm4gen1aLmV4cG9ydHM9e2Fzc2lnbjpBLHBvbHlmaWxsOmZ1bmN0aW9uKCl7T2JqZWN0LmFzc2lnbnx8T2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwiYXNzaWduIix7ZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6QX0pfX19LDcxODc6''@;'; put 'put ''KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PWooNTEwOCksQz0ib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3Q/UmVmbGVjdDpudWxsLFM9QyYmImZ1bmN0aW9uIj09dHlwZW9mIEMuYXBwbHk/Qy5hcHBseTpmdW5jdGlvbihVLFYsUil7cmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBs''@;'; put 'put ''eS5jYWxsKFUsVixSKX07Tj1DJiYiZnVuY3Rpb24iPT10eXBlb2YgQy5vd25LZXlzP0Mub3duS2V5czpPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2Z1bmN0aW9uKFUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhVKS5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5''@;'; put 'put ''U3ltYm9scyhVKSl9OmZ1bmN0aW9uKFUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhVKX07dmFyIG09TnVtYmVyLmlzTmFOfHxmdW5jdGlvbihVKXtyZXR1cm4gVSE9VX07ZnVuY3Rpb24gRigpe0YuaW5pdC5jYWxsKHRoaXMpfVouZXhwb3J0cz1GLFouZXhwb3J0cy5vbmNl''@;'; put 'put ''PWZ1bmN0aW9uKFUsVil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKFIsQil7ZnVuY3Rpb24gcSgkKXtVLnJlbW92ZUxpc3RlbmVyKFYsSiksQigkKX1mdW5jdGlvbiBKKCl7ImZ1bmN0aW9uIj09dHlwZW9mIFUucmVtb3ZlTGlzdGVuZXImJlUucmVtb3ZlTGlzdGVuZXIoImVycm9yIixx''@;'; put 'put ''KSxSKFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9dmFyICQ7SShVLFYsSix7b25jZTohMH0pLCJlcnJvciIhPT1WJiYoImZ1bmN0aW9uIj09dHlwZW9mKCQ9VSkub24mJkkoJCwiZXJyb3IiLHEse29uY2U6ITB9KSl9KX0sRi5FdmVudEVtaXR0ZXI9RixGLnByb3RvdHlwZS5fZXZlbnRzPXZv''@;'; put 'put ''aWQgMCxGLnByb3RvdHlwZS5fZXZlbnRzQ291bnQ9MCxGLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMDt2YXIgRD0xMDtmdW5jdGlvbiB3KFUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBVKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUg''@;'; put 'put ''b2YgdHlwZSBGdW5jdGlvbi4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBVKX1mdW5jdGlvbiBQKFUpe3JldHVybiB2b2lkIDA9PT1VLl9tYXhMaXN0ZW5lcnM/Ri5kZWZhdWx0TWF4TGlzdGVuZXJzOlUuX21heExpc3RlbmVyc31mdW5jdGlvbiBNKFUsVixSLEIpe3ZhciBxLEosJDtpZih3KFIp''@;'; put 'put ''LHZvaWQgMD09PShKPVUuX2V2ZW50cyk/KEo9VS5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksVS5fZXZlbnRzQ291bnQ9MCk6KHZvaWQgMCE9PUoubmV3TGlzdGVuZXImJihVLmVtaXQoIm5ld0xpc3RlbmVyIixWLFIubGlzdGVuZXI/Ui5saXN0ZW5lcjpSKSxKPVUuX2V2ZW50cyksJD1K''@;'; put 'put ''W1ZdKSx2b2lkIDA9PT0kKSQ9SltWXT1SLCsrVS5fZXZlbnRzQ291bnQ7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgJD8kPUpbVl09Qj9bUiwkXTpbJCxSXTpCPyQudW5zaGlmdChSKTokLnB1c2goUiksKHE9UChVKSk+MCYmJC5sZW5ndGg+cSYmISQud2FybmVkKXskLndhcm5lZD0hMDt2''@;'; put 'put ''YXIgaD1uZXcgRXJyb3IoIlBvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gIiskLmxlbmd0aCsiICIrU3RyaW5nKFYpKyIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdCIpO2gubmFtZT0iTWF4''@;'; put 'put ''TGlzdGVuZXJzRXhjZWVkZWRXYXJuaW5nIixoLmVtaXR0ZXI9VSxoLnR5cGU9VixoLmNvdW50PSQubGVuZ3RoLHomJnoud2FybiYmei53YXJuKGgpfXJldHVybiBVfWZ1bmN0aW9uIGsoKXtpZighdGhpcy5maXJlZClyZXR1cm4gdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBl''@;'; put 'put ''LHRoaXMud3JhcEZuKSx0aGlzLmZpcmVkPSEwLDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCk6dGhpcy5saXN0ZW5lci5hcHBseSh0aGlzLnRhcmdldCxhcmd1bWVudHMpfWZ1bmN0aW9uIE8oVSxWLFIpe3ZhciBCPXtmaXJlZDohMSx3cmFwRm46''@;'; put 'put ''dm9pZCAwLHRhcmdldDpVLHR5cGU6VixsaXN0ZW5lcjpSfSxxPWsuYmluZChCKTtyZXR1cm4gcS5saXN0ZW5lcj1SLEIud3JhcEZuPXEscX1mdW5jdGlvbiBMKFUsVixSKXt2YXIgQj1VLl9ldmVudHM7aWYodm9pZCAwPT09QilyZXR1cm5bXTt2YXIgcT1CW1ZdO3JldHVybiB2b2lkIDA9PT1x''@;'; put 'put ''P1tdOiJmdW5jdGlvbiI9PXR5cGVvZiBxP1I/W3EubGlzdGVuZXJ8fHFdOltxXTpSP2Z1bmN0aW9uKEope2Zvcih2YXIgJD1uZXcgQXJyYXkoSi5sZW5ndGgpLHRlPTA7dGU8JC5sZW5ndGg7Kyt0ZSkkW3RlXT1KW3RlXS5saXN0ZW5lcnx8Slt0ZV07cmV0dXJuICR9KHEpOlkocSxxLmxlbmd0''@;'; put 'put ''aCl9ZnVuY3Rpb24gVChVKXt2YXIgVj10aGlzLl9ldmVudHM7aWYodm9pZCAwIT09Vil7dmFyIFI9VltVXTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUilyZXR1cm4gMTtpZih2b2lkIDAhPT1SKXJldHVybiBSLmxlbmd0aH1yZXR1cm4gMH1mdW5jdGlvbiBZKFUsVil7Zm9yKHZhciBSPW5ldyBB''@;'; put 'put ''cnJheShWKSxCPTA7QjxWOysrQilSW0JdPVVbQl07cmV0dXJuIFJ9ZnVuY3Rpb24gSShVLFYsUixCKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgVS5vbilCLm9uY2U/VS5vbmNlKFYsUik6VS5vbihWLFIpO2Vsc2V7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFUuYWRkRXZlbnRMaXN0ZW5lcil0aHJv''@;'; put 'put ''dyBuZXcgVHlwZUVycm9yKCdUaGUgImVtaXR0ZXIiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBFdmVudEVtaXR0ZXIuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgVSk7VS5hZGRFdmVudExpc3RlbmVyKFYsZnVuY3Rpb24gcShKKXtCLm9uY2UmJlUucmVtb3ZlRXZlbnRMaXN0ZW5lcihWLHEp''@;'; put 'put ''LFIoSil9KX19T2JqZWN0LmRlZmluZVByb3BlcnR5KEYsImRlZmF1bHRNYXhMaXN0ZW5lcnMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBEfSxzZXQ6ZnVuY3Rpb24oVSl7aWYoIm51bWJlciIhPXR5cGVvZiBVfHxVPDB8fG0oVSkpdGhyb3cgbmV3IFJhbmdlRXJyb3Io''@;'; put 'put ''J1RoZSB2YWx1ZSBvZiAiZGVmYXVsdE1heExpc3RlbmVycyIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJytVKyIuIik7RD1VfX0pLEYuaW5pdD1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRz''@;'; put 'put ''IT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LEYucHJvdG90eXBlLnNldE1heExpc3Rl''@;'; put 'put ''bmVycz1mdW5jdGlvbihVKXtpZigibnVtYmVyIiE9dHlwZW9mIFV8fFU8MHx8bShVKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIG9mICJuIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK1UrIi4iKTtyZXR1cm4g''@;'; put 'put ''dGhpcy5fbWF4TGlzdGVuZXJzPVUsdGhpc30sRi5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIFAodGhpcyl9LEYucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oVSl7Zm9yKHZhciBWPVtdLFI9MTtSPGFyZ3VtZW50cy5sZW5ndGg7UisrKVYucHVzaChhcmd1bWVu''@;'; put 'put ''dHNbUl0pO3ZhciBCPSJlcnJvciI9PT1VLHE9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PXEpQj1CJiZ2b2lkIDA9PT1xLmVycm9yO2Vsc2UgaWYoIUIpcmV0dXJuITE7aWYoQil7dmFyIEo7aWYoVi5sZW5ndGg+MCYmKEo9VlswXSksSiBpbnN0YW5jZW9mIEVycm9yKXRocm93IEo7dmFyICQ9''@;'; put 'put ''bmV3IEVycm9yKCJVbmhhbmRsZWQgZXJyb3IuIisoSj8iICgiK0oubWVzc2FnZSsiKSI6IiIpKTt0aHJvdyAkLmNvbnRleHQ9SiwkfXZhciB0ZT1xW1VdO2lmKHZvaWQgMD09PXRlKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0ZSlTKHRlLHRoaXMsVik7ZWxzZXt2YXIgaD10ZS5s''@;'; put 'put ''ZW5ndGgsYj1ZKHRlLGgpO2ZvcihSPTA7UjxoOysrUilTKGJbUl0sdGhpcyxWKX1yZXR1cm4hMH0sRi5wcm90b3R5cGUub249Ri5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oVSxWKXtyZXR1cm4gTSh0aGlzLFUsViwhMSl9LEYucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5j''@;'; put 'put ''dGlvbihVLFYpe3JldHVybiBNKHRoaXMsVSxWLCEwKX0sRi5wcm90b3R5cGUub25jZT1mdW5jdGlvbihVLFYpe3JldHVybiB3KFYpLHRoaXMub24oVSxPKHRoaXMsVSxWKSksdGhpc30sRi5wcm90b3R5cGUucHJlcGVuZE9uY2VMaXN0ZW5lcj1mdW5jdGlvbihVLFYpe3JldHVybiB3KFYpLHRo''@;'; put 'put ''aXMucHJlcGVuZExpc3RlbmVyKFUsTyh0aGlzLFUsVikpLHRoaXN9LEYucHJvdG90eXBlLm9mZj1GLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihVLFYpe3ZhciBSLEIscSxKLCQ7aWYodyhWKSx2b2lkIDA9PT0oQj10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKHZvaWQg''@;'; put 'put ''MD09PShSPUJbVV0pKXJldHVybiB0aGlzO2lmKFI9PT1WfHxSLmxpc3RlbmVyPT09VikwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOihkZWxldGUgQltVXSxCLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIixV''@;'; put 'put ''LFIubGlzdGVuZXJ8fFYpKTtlbHNlIGlmKCJmdW5jdGlvbiIhPXR5cGVvZiBSKXtmb3IocT0tMSxKPVIubGVuZ3RoLTE7Sj49MDtKLS0paWYoUltKXT09PVZ8fFJbSl0ubGlzdGVuZXI9PT1WKXskPVJbSl0ubGlzdGVuZXIscT1KO2JyZWFrfWlmKHE8MClyZXR1cm4gdGhpczswPT09cT9SLnNo''@;'; put 'put ''aWZ0KCk6ZnVuY3Rpb24odGUsaCl7Zm9yKDtoKzE8dGUubGVuZ3RoO2grKyl0ZVtoXT10ZVtoKzFdO3RlLnBvcCgpfShSLHEpLDE9PT1SLmxlbmd0aCYmKEJbVV09UlswXSksdm9pZCAwIT09Qi5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsVSwkfHxWKX1yZXR1''@;'; put 'put ''cm4gdGhpc30sRi5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKFUpe3ZhciBWLFIsQjtpZih2b2lkIDA9PT0oUj10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKHZvaWQgMD09PVIucmVtb3ZlTGlzdGVuZXIpcmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoPyh0aGlz''@;'; put 'put ''Ll9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKTp2b2lkIDAhPT1SW1VdJiYoMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKTpkZWxldGUgUltVXSksdGhpcztpZigwPT09YXJndW1lbnRzLmxlbmd0aCl7''@;'; put 'put ''dmFyIHEsSj1PYmplY3Qua2V5cyhSKTtmb3IoQj0wO0I8Si5sZW5ndGg7KytCKSJyZW1vdmVMaXN0ZW5lciIhPT0ocT1KW0JdKSYmdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMocSk7cmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCJyZW1vdmVMaXN0ZW5lciIpLHRoaXMuX2V2ZW50cz1P''@;'; put 'put ''YmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTAsdGhpc31pZigiZnVuY3Rpb24iPT10eXBlb2YoVj1SW1VdKSl0aGlzLnJlbW92ZUxpc3RlbmVyKFUsVik7ZWxzZSBpZih2b2lkIDAhPT1WKWZvcihCPVYubGVuZ3RoLTE7Qj49MDtCLS0pdGhpcy5yZW1vdmVMaXN0ZW5lcihV''@;'; put 'put ''LFZbQl0pO3JldHVybiB0aGlzfSxGLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oVSl7cmV0dXJuIEwodGhpcyxVLCEwKX0sRi5wcm90b3R5cGUucmF3TGlzdGVuZXJzPWZ1bmN0aW9uKFUpe3JldHVybiBMKHRoaXMsVSwhMSl9LEYubGlzdGVuZXJDb3VudD1mdW5jdGlvbihVLFYpe3Jl''@;'; put 'put ''dHVybiJmdW5jdGlvbiI9PXR5cGVvZiBVLmxpc3RlbmVyQ291bnQ/VS5saXN0ZW5lckNvdW50KFYpOlQuY2FsbChVLFYpfSxGLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PVQsRi5wcm90b3R5cGUuZXZlbnROYW1lcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9ldmVudHNDb3VudD4wP04odGhp''@;'; put 'put ''cy5fZXZlbnRzKTpbXX19LDMwNDg6KFosQSxqKT0+e3ZhciBOPWooOTUwOSkuQnVmZmVyLHo9aigyMzE4KTtaLmV4cG9ydHM9ZnVuY3Rpb24oQyxTLG0sRil7aWYoTi5pc0J1ZmZlcihDKXx8KEM9Ti5mcm9tKEMsImJpbmFyeSIpKSxTJiYoTi5pc0J1ZmZlcihTKXx8KFM9Ti5mcm9tKFMsImJp''@;'; put 'put ''bmFyeSIpKSw4IT09Uy5sZW5ndGgpKXRocm93IG5ldyBSYW5nZUVycm9yKCJzYWx0IHNob3VsZCBiZSBCdWZmZXIgd2l0aCA4IGJ5dGUgbGVuZ3RoIik7Zm9yKHZhciBEPW0vOCx3PU4uYWxsb2MoRCksUD1OLmFsbG9jKEZ8fDApLE09Ti5hbGxvYygwKTtEPjB8fEY+MDspe3ZhciBrPW5ldyB6''@;'; put 'put ''O2sudXBkYXRlKE0pLGsudXBkYXRlKEMpLFMmJmsudXBkYXRlKFMpLE09ay5kaWdlc3QoKTt2YXIgTz0wO2lmKEQ+MCl7dmFyIEw9dy5sZW5ndGgtRDtPPU1hdGgubWluKEQsTS5sZW5ndGgpLE0uY29weSh3LEwsMCxPKSxELT1PfWlmKE88TS5sZW5ndGgmJkY+MCl7dmFyIFQ9UC5sZW5ndGgt''@;'; put 'put ''RixZPU1hdGgubWluKEYsTS5sZW5ndGgtTyk7TS5jb3B5KFAsVCxPLE8rWSksRi09WX19cmV0dXJuIE0uZmlsbCgwKSx7a2V5OncsaXY6UH19fSw0MDI5OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig1MzIwKSx6PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsQz1PYmplY3QucHJv''@;'; put 'put ''dG90eXBlLmhhc093blByb3BlcnR5LFM9ZnVuY3Rpb24oRCx3LFApe2Zvcih2YXIgTT0wLGs9RC5sZW5ndGg7TTxrO00rKylDLmNhbGwoRCxNKSYmKG51bGw9PVA/dyhEW01dLE0sRCk6dy5jYWxsKFAsRFtNXSxNLEQpKX0sbT1mdW5jdGlvbihELHcsUCl7Zm9yKHZhciBNPTAsaz1ELmxlbmd0''@;'; put 'put ''aDtNPGs7TSsrKW51bGw9PVA/dyhELmNoYXJBdChNKSxNLEQpOncuY2FsbChQLEQuY2hhckF0KE0pLE0sRCl9LEY9ZnVuY3Rpb24oRCx3LFApe2Zvcih2YXIgTSBpbiBEKUMuY2FsbChELE0pJiYobnVsbD09UD93KERbTV0sTSxEKTp3LmNhbGwoUCxEW01dLE0sRCkpfTtaLmV4cG9ydHM9ZnVu''@;'; put 'put ''Y3Rpb24oRCx3LFApe2lmKCFOKHcpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdG9yIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBNO2FyZ3VtZW50cy5sZW5ndGg+PTMmJihNPVApLCJbb2JqZWN0IEFycmF5XSI9PT16LmNhbGwoRCk/UyhELHcsTSk6InN0cmluZyI9PXR5cGVvZiBEP20o''@;'; put 'put ''RCx3LE0pOkYoRCx3LE0pfX0sNjIzMDpaPT57Wi5leHBvcnRzPSJvYmplY3QiPT10eXBlb2Ygc2VsZj9zZWxmLkZvcm1EYXRhOndpbmRvdy5Gb3JtRGF0YX0sNTMwMjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSksej1qKDUxMDgpO2NvbnN0IEM9aig3NyksUz1qKDI1MjAp''@;'; put 'put ''LG09aigxMzgxKS5ta2RpcnNTeW5jLEY9aigzMTgpLnV0aW1lc01pbGxpc1N5bmMsRD1qKDI3MzMpO2Z1bmN0aW9uIHcoTyxMLFQsWSl7Y29uc3QgST0oWS5kZXJlZmVyZW5jZT9DLnN0YXRTeW5jOkMubHN0YXRTeW5jKShMKTtpZihJLmlzRGlyZWN0b3J5KCkpcmV0dXJuIFU9SSxSPUwsQj1U''@;'; put 'put ''LHE9WSxPP2soUixCLHEpOihKPVUubW9kZSwkPVIsaD1xLEMubWtkaXJTeW5jKHRlPUIpLGsoJCx0ZSxoKSxNKHRlLEopKTt2YXIgVSxSLEIscSxKLCQsdGUsaDtpZihJLmlzRmlsZSgpfHxJLmlzQ2hhcmFjdGVyRGV2aWNlKCl8fEkuaXNCbG9ja0RldmljZSgpKXJldHVybiBmdW5jdGlvbihV''@;'; put 'put ''LFYsUixCLHEpe3JldHVybiBWP2Z1bmN0aW9uKEosJCx0ZSxoKXtpZihoLm92ZXJ3cml0ZSlyZXR1cm4gQy51bmxpbmtTeW5jKHRlKSxQKEosJCx0ZSxoKTtpZihoLmVycm9yT25FeGlzdCl0aHJvdyBuZXcgRXJyb3IoYCcke3RlfScgYWxyZWFkeSBleGlzdHNgKX0oVSxSLEIscSk6UChVLFIs''@;'; put 'put ''QixxKX0oSSxPLEwsVCxZKTtpZihJLmlzU3ltYm9saWNMaW5rKCkpcmV0dXJuIGZ1bmN0aW9uKFUsVixSLEIpe2xldCBxPUMucmVhZGxpbmtTeW5jKFYpO2lmKEIuZGVyZWZlcmVuY2UmJihxPVMucmVzb2x2ZShOLmN3ZCgpLHEpKSxVKXtsZXQgSjt0cnl7Sj1DLnJlYWRsaW5rU3luYyhSKX1j''@;'; put 'put ''YXRjaCgkKXtpZigiRUlOVkFMIj09PSQuY29kZXx8IlVOS05PV04iPT09JC5jb2RlKXJldHVybiBDLnN5bWxpbmtTeW5jKHEsUik7dGhyb3cgJH1pZihCLmRlcmVmZXJlbmNlJiYoSj1TLnJlc29sdmUoTi5jd2QoKSxKKSksRC5pc1NyY1N1YmRpcihxLEopKXRocm93IG5ldyBFcnJvcihgQ2Fu''@;'; put 'put ''bm90IGNvcHkgJyR7cX0nIHRvIGEgc3ViZGlyZWN0b3J5IG9mIGl0c2VsZiwgJyR7Sn0nLmApO2lmKEMuc3RhdFN5bmMoUikuaXNEaXJlY3RvcnkoKSYmRC5pc1NyY1N1YmRpcihKLHEpKXRocm93IG5ldyBFcnJvcihgQ2Fubm90IG92ZXJ3cml0ZSAnJHtKfScgd2l0aCAnJHtxfScuYCk7cmV0''@;'; put 'put ''dXJuIGZ1bmN0aW9uKCQsdGUpe3JldHVybiBDLnVubGlua1N5bmModGUpLEMuc3ltbGlua1N5bmMoJCx0ZSl9KHEsUil9cmV0dXJuIEMuc3ltbGlua1N5bmMocSxSKX0oTyxMLFQsWSk7dGhyb3cgSS5pc1NvY2tldCgpP25ldyBFcnJvcihgQ2Fubm90IGNvcHkgYSBzb2NrZXQgZmlsZTogJHtM''@;'; put 'put ''fWApOkkuaXNGSUZPKCk/bmV3IEVycm9yKGBDYW5ub3QgY29weSBhIEZJRk8gcGlwZTogJHtMfWApOm5ldyBFcnJvcihgVW5rbm93biBmaWxlOiAke0x9YCl9ZnVuY3Rpb24gUChPLEwsVCxZKXtyZXR1cm4gQy5jb3B5RmlsZVN5bmMoTCxUKSxZLnByZXNlcnZlVGltZXN0YW1wcyYmKFU9TCxW''@;'; put 'put ''PVQsMD09KDEyOCYoST1PLm1vZGUpKSYmTShWLDEyOHxJKSxmdW5jdGlvbihSLEIpe2NvbnN0IHE9Qy5zdGF0U3luYyhSKTtGKEIscS5hdGltZSxxLm10aW1lKX0oVSxWKSksTShULE8ubW9kZSk7dmFyIEksVSxWfWZ1bmN0aW9uIE0oTyxMKXtyZXR1cm4gQy5jaG1vZFN5bmMoTyxMKX1mdW5j''@;'; put 'put ''dGlvbiBrKE8sTCxUKXtDLnJlYWRkaXJTeW5jKE8pLmZvckVhY2goWT0+ZnVuY3Rpb24oSSxVLFYsUil7Y29uc3QgQj1TLmpvaW4oVSxJKSxxPVMuam9pbihWLEkpLHtkZXN0U3RhdDpKfT1ELmNoZWNrUGF0aHNTeW5jKEIscSwiY29weSIsUik7cmV0dXJuIGZ1bmN0aW9uKCQsdGUsaCxiKXtp''@;'; put 'put ''ZighYi5maWx0ZXJ8fGIuZmlsdGVyKHRlLGgpKXJldHVybiB3KCQsdGUsaCxiKX0oSixCLHEsUil9KFksTyxMLFQpKX1aLmV4cG9ydHM9ZnVuY3Rpb24oTyxMLFQpeyJmdW5jdGlvbiI9PXR5cGVvZiBUJiYoVD17ZmlsdGVyOlR9KSwoVD1UfHx7fSkuY2xvYmJlcj0hKCJjbG9iYmVyImluIFQp''@;'; put 'put ''fHwhIVQuY2xvYmJlcixULm92ZXJ3cml0ZT0ib3ZlcndyaXRlImluIFQ/ISFULm92ZXJ3cml0ZTpULmNsb2JiZXIsVC5wcmVzZXJ2ZVRpbWVzdGFtcHMmJiJpYTMyIj09PU4uYXJjaCYmei53YXJuKCJmcy1leHRyYTogVXNpbmcgdGhlIHByZXNlcnZlVGltZXN0YW1wcyBvcHRpb24gaW4gMzIt''@;'; put 'put ''Yml0IG5vZGUgaXMgbm90IHJlY29tbWVuZGVkO1xuXG4gICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHJpY2hhcmRzb24vbm9kZS1mcy1leHRyYS9pc3N1ZXMvMjY5Iik7Y29uc3R7c3JjU3RhdDpZLGRlc3RTdGF0Okl9PUQuY2hlY2tQYXRoc1N5bmMoTyxMLCJjb3B5IixUKTtyZXR1cm4g''@;'; put 'put ''RC5jaGVja1BhcmVudFBhdGhzU3luYyhPLFksTCwiY29weSIpLGZ1bmN0aW9uKFUsVixSLEIpe2lmKEIuZmlsdGVyJiYhQi5maWx0ZXIoVixSKSlyZXR1cm47Y29uc3QgcT1TLmRpcm5hbWUoUik7cmV0dXJuIEMuZXhpc3RzU3luYyhxKXx8bShxKSx3KFUsVixSLEIpfShJLE8sTCxUKX19LDg2''@;'; put 'put ''OTA6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtaLmV4cG9ydHM9e2NvcHlTeW5jOmooNTMwMil9fSw3MTg5OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0MTU1KSx6PWooNTEwOCk7Y29uc3QgQz1qKDc3KSxTPWooMjUyMCksbT1qKDEzODEpLm1rZGlycyxGPWooOTI1NykucGF0aEV4''@;'; put 'put ''aXN0cyxEPWooMzE4KS51dGltZXNNaWxsaXMsdz1qKDI3MzMpO2Z1bmN0aW9uIFAoVixSLEIscSxKKXtjb25zdCAkPVMuZGlybmFtZShCKTtGKCQsKHRlLGgpPT50ZT9KKHRlKTpoP2soVixSLEIscSxKKTp2b2lkIG0oJCxiPT5iP0ooYik6ayhWLFIsQixxLEopKSl9ZnVuY3Rpb24gTShWLFIs''@;'; put 'put ''QixxLEosJCl7UHJvbWlzZS5yZXNvbHZlKEouZmlsdGVyKEIscSkpLnRoZW4odGU9PnRlP1YoUixCLHEsSiwkKTokKCksdGU9PiQodGUpKX1mdW5jdGlvbiBrKFYsUixCLHEsSil7KHEuZGVyZWZlcmVuY2U/Qy5zdGF0OkMubHN0YXQpKFIsKCQsdGUpPT57cmV0dXJuICQ/SigkKTp0ZS5pc0Rp''@;'; put 'put ''cmVjdG9yeSgpPyhoPXRlLHk9UixwPUIsZz1xLF89SixWP1koeSxwLGcsXyk6KEU9aC5tb2RlLFc9eSxYPWcsbmU9Xyx2b2lkIEMubWtkaXIoRz1wLGFlPT57aWYoYWUpcmV0dXJuIG5lKGFlKTtZKFcsRyxYLHVlPT51ZT9uZSh1ZSk6VChHLEUsbmUpKX0pKSk6dGUuaXNGaWxlKCl8fHRlLmlz''@;'; put 'put ''Q2hhcmFjdGVyRGV2aWNlKCl8fHRlLmlzQmxvY2tEZXZpY2UoKT9mdW5jdGlvbihoLGIseSxwLGcsXyl7cmV0dXJuIGI/ZnVuY3Rpb24oRSxXLEcsWCxuZSl7aWYoIVgub3ZlcndyaXRlKXJldHVybiBYLmVycm9yT25FeGlzdD9uZShuZXcgRXJyb3IoYCcke0d9JyBhbHJlYWR5IGV4aXN0c2Ap''@;'; put 'put ''KTpuZSgpO0MudW5saW5rKEcsYWU9PmFlP25lKGFlKTpPKEUsVyxHLFgsbmUpKX0oaCx5LHAsZyxfKTpPKGgseSxwLGcsXyl9KHRlLFYsUixCLHEsSik6dGUuaXNTeW1ib2xpY0xpbmsoKT9mdW5jdGlvbiBVKFYsUixCLHEsSil7Qy5yZWFkbGluayhSLCgkLHRlKT0+JD9KKCQpOihxLmRlcmVm''@;'; put 'put ''ZXJlbmNlJiYodGU9Uy5yZXNvbHZlKE4uY3dkKCksdGUpKSxWP3ZvaWQgQy5yZWFkbGluayhCLChoLGIpPT57cmV0dXJuIGg/IkVJTlZBTCI9PT1oLmNvZGV8fCJVTktOT1dOIj09PWguY29kZT9DLnN5bWxpbmsodGUsQixKKTpKKGgpOihxLmRlcmVmZXJlbmNlJiYoYj1TLnJlc29sdmUoTi5j''@;'; put 'put ''d2QoKSxiKSksdy5pc1NyY1N1YmRpcih0ZSxiKT9KKG5ldyBFcnJvcihgQ2Fubm90IGNvcHkgJyR7dGV9JyB0byBhIHN1YmRpcmVjdG9yeSBvZiBpdHNlbGYsICcke2J9Jy5gKSk6Vi5pc0RpcmVjdG9yeSgpJiZ3LmlzU3JjU3ViZGlyKGIsdGUpP0oobmV3IEVycm9yKGBDYW5ub3Qgb3Zlcndy''@;'; put 'put ''aXRlICcke2J9JyB3aXRoICcke3RlfScuYCkpOih5PXRlLGc9Six2b2lkIEMudW5saW5rKHA9QixfPT5fP2coXyk6Qy5zeW1saW5rKHkscCxnKSkpKTt2YXIgeSxwLGd9KTpDLnN5bWxpbmsodGUsQixKKSkpfShWLFIsQixxLEopOnRlLmlzU29ja2V0KCk/SihuZXcgRXJyb3IoYENhbm5vdCBj''@;'; put 'put ''b3B5IGEgc29ja2V0IGZpbGU6ICR7Un1gKSk6dGUuaXNGSUZPKCk/SihuZXcgRXJyb3IoYENhbm5vdCBjb3B5IGEgRklGTyBwaXBlOiAke1J9YCkpOkoobmV3IEVycm9yKGBVbmtub3duIGZpbGU6ICR7Un1gKSk7dmFyIGgseSxwLGcsXyxFLFcsRyxYLG5lfSl9ZnVuY3Rpb24gTyhWLFIsQixx''@;'; put 'put ''LEope0MuY29weUZpbGUoUixCLCQ9PntyZXR1cm4gJD9KKCQpOnEucHJlc2VydmVUaW1lc3RhbXBzPyhoPVIsYj1CLHk9SiwwPT0oMTI4Jih0ZT1WLm1vZGUpKT9UKGIsMTI4fHRlLHA9PnA/eShwKTpMKHRlLGgsYix5KSk6TCh0ZSxoLGIseSkpOlQoQixWLm1vZGUsSik7dmFyIHRlLGgsYix5''@;'; put 'put ''fSl9ZnVuY3Rpb24gTChWLFIsQixxKXt2YXIgJCx0ZTskPUIsdGU9Sj0+Sj9xKEopOlQoQixWLHEpLEMuc3RhdChSLChoLGIpPT5oP3RlKGgpOkQoJCxiLmF0aW1lLGIubXRpbWUsdGUpKX1mdW5jdGlvbiBUKFYsUixCKXtyZXR1cm4gQy5jaG1vZChWLFIsQil9ZnVuY3Rpb24gWShWLFIsQixx''@;'; put 'put ''KXtDLnJlYWRkaXIoViwoSiwkKT0+Sj9xKEopOkkoJCxWLFIsQixxKSl9ZnVuY3Rpb24gSShWLFIsQixxLEope2NvbnN0ICQ9Vi5wb3AoKTtyZXR1cm4gJD9mdW5jdGlvbih0ZSxoLGIseSxwLGcpe2NvbnN0IF89Uy5qb2luKGIsaCksRT1TLmpvaW4oeSxoKTt3LmNoZWNrUGF0aHMoXyxFLCJj''@;'; put 'put ''b3B5IixwLChXLEcpPT57aWYoVylyZXR1cm4gZyhXKTtjb25zdHtkZXN0U3RhdDpYfT1HO3ZhciBuZSxhZSx1ZSxiZSxfZTtuZT1YLGFlPV8sdWU9RSxfZT1uZT0+bmU/ZyhuZSk6SSh0ZSxiLHkscCxnKSwoYmU9cCkuZmlsdGVyP00oayxuZSxhZSx1ZSxiZSxfZSk6ayhuZSxhZSx1ZSxiZSxf''@;'; put 'put ''ZSl9KX0oViwkLFIsQixxLEopOkooKX1aLmV4cG9ydHM9ZnVuY3Rpb24oVixSLEIscSl7ImZ1bmN0aW9uIiE9dHlwZW9mIEJ8fHE/ImZ1bmN0aW9uIj09dHlwZW9mIEImJihCPXtmaWx0ZXI6Qn0pOihxPUIsQj17fSkscT1xfHxmdW5jdGlvbigpe30sKEI9Qnx8e30pLmNsb2JiZXI9ISgiY2xv''@;'; put 'put ''YmJlciJpbiBCKXx8ISFCLmNsb2JiZXIsQi5vdmVyd3JpdGU9Im92ZXJ3cml0ZSJpbiBCPyEhQi5vdmVyd3JpdGU6Qi5jbG9iYmVyLEIucHJlc2VydmVUaW1lc3RhbXBzJiYiaWEzMiI9PT1OLmFyY2gmJnoud2FybigiZnMtZXh0cmE6IFVzaW5nIHRoZSBwcmVzZXJ2ZVRpbWVzdGFtcHMgb3B0''@;'; put 'put ''aW9uIGluIDMyLWJpdCBub2RlIGlzIG5vdCByZWNvbW1lbmRlZDtcblxuICAgIHNlZSBodHRwczovL2dpdGh1Yi5jb20vanByaWNoYXJkc29uL25vZGUtZnMtZXh0cmEvaXNzdWVzLzI2OSIpLHcuY2hlY2tQYXRocyhWLFIsImNvcHkiLEIsKEosJCk9PntpZihKKXJldHVybiBxKEopO2NvbnN0''@;'; put 'put ''e3NyY1N0YXQ6dGUsZGVzdFN0YXQ6aH09JDt3LmNoZWNrUGFyZW50UGF0aHMoVix0ZSxSLCJjb3B5IixiPT5iP3EoYik6Qi5maWx0ZXI/TShQLGgsVixSLEIscSk6UChoLFYsUixCLHEpKX0pfX0sNjQ2NDooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49aig4OTgxKS5mcm9tQ2FsbGJh''@;'; put 'put ''Y2s7Wi5leHBvcnRzPXtjb3B5Ok4oaig3MTg5KSl9fSw1NTkwOihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDg5ODEpLmZyb21Qcm9taXNlLHo9aig3NzQ5KSxDPWooMjUyMCksUz1qKDEzODEpLG09aig0NTQyKSxGPU4oZnVuY3Rpb24oKXt2YXIgdz1DZShmdW5jdGlvbiooUCl7''@;'; put 'put ''bGV0IE07dHJ5e009eWllbGQgei5yZWFkZGlyKFApfWNhdGNoKGspe3JldHVybiBTLm1rZGlycyhQKX1yZXR1cm4gUHJvbWlzZS5hbGwoTS5tYXAoaz0+bS5yZW1vdmUoQy5qb2luKFAsaykpKSl9KTtyZXR1cm4gZnVuY3Rpb24oUCl7cmV0dXJuIHcuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0o''@;'; put 'put ''KSk7ZnVuY3Rpb24gRCh3KXtsZXQgUDt0cnl7UD16LnJlYWRkaXJTeW5jKHcpfWNhdGNoKE0pe3JldHVybiBTLm1rZGlyc1N5bmModyl9UC5mb3JFYWNoKE09PntNPUMuam9pbih3LE0pLG0ucmVtb3ZlU3luYyhNKX0pfVouZXhwb3J0cz17ZW1wdHlEaXJTeW5jOkQsZW1wdHlkaXJTeW5jOkQs''@;'; put 'put ''ZW1wdHlEaXI6RixlbXB0eWRpcjpGfX0sNjUzMDooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49aig4OTgxKS5mcm9tQ2FsbGJhY2ssej1qKDI1MjApLEM9aig3NyksUz1qKDEzODEpO1ouZXhwb3J0cz17Y3JlYXRlRmlsZTpOKGZ1bmN0aW9uKG0sRil7ZnVuY3Rpb24gRCgpe0Mud3Jp''@;'; put 'put ''dGVGaWxlKG0sIiIsdz0+e2lmKHcpcmV0dXJuIEYodyk7RigpfSl9Qy5zdGF0KG0sKHcsUCk9PntpZighdyYmUC5pc0ZpbGUoKSlyZXR1cm4gRigpO2NvbnN0IE09ei5kaXJuYW1lKG0pO0Muc3RhdChNLChrLE8pPT57aWYoaylyZXR1cm4iRU5PRU5UIj09PWsuY29kZT9TLm1rZGlycyhNLEw9''@;'; put 'put ''PntpZihMKXJldHVybiBGKEwpO0QoKX0pOkYoayk7Ty5pc0RpcmVjdG9yeSgpP0QoKTpDLnJlYWRkaXIoTSxMPT57aWYoTClyZXR1cm4gRihMKX0pfSl9KX0pLGNyZWF0ZUZpbGVTeW5jOmZ1bmN0aW9uKG0pe2xldCBGO3RyeXtGPUMuc3RhdFN5bmMobSl9Y2F0Y2godyl7fWlmKEYmJkYuaXNG''@;'; put 'put ''aWxlKCkpcmV0dXJuO2NvbnN0IEQ9ei5kaXJuYW1lKG0pO3RyeXtDLnN0YXRTeW5jKEQpLmlzRGlyZWN0b3J5KCl8fEMucmVhZGRpclN5bmMoRCl9Y2F0Y2godyl7aWYoIXd8fCJFTk9FTlQiIT09dy5jb2RlKXRocm93IHc7Uy5ta2RpcnNTeW5jKEQpfUMud3JpdGVGaWxlU3luYyhtLCIiKX19''@;'; put 'put ''fSwxNzIwOihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDY1MzApLHo9aig0MTQ3KSxDPWooMzYzNSk7Wi5leHBvcnRzPXtjcmVhdGVGaWxlOk4uY3JlYXRlRmlsZSxjcmVhdGVGaWxlU3luYzpOLmNyZWF0ZUZpbGVTeW5jLGVuc3VyZUZpbGU6Ti5jcmVhdGVGaWxlLGVuc3VyZUZp''@;'; put 'put ''bGVTeW5jOk4uY3JlYXRlRmlsZVN5bmMsY3JlYXRlTGluazp6LmNyZWF0ZUxpbmssY3JlYXRlTGlua1N5bmM6ei5jcmVhdGVMaW5rU3luYyxlbnN1cmVMaW5rOnouY3JlYXRlTGluayxlbnN1cmVMaW5rU3luYzp6LmNyZWF0ZUxpbmtTeW5jLGNyZWF0ZVN5bWxpbms6Qy5jcmVhdGVTeW1saW5r''@;'; put 'put ''LGNyZWF0ZVN5bWxpbmtTeW5jOkMuY3JlYXRlU3ltbGlua1N5bmMsZW5zdXJlU3ltbGluazpDLmNyZWF0ZVN5bWxpbmssZW5zdXJlU3ltbGlua1N5bmM6Qy5jcmVhdGVTeW1saW5rU3luY319LDQxNDc6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooODk4MSkuZnJvbUNhbGxiYWNr''@;'; put 'put ''LHo9aigyNTIwKSxDPWooNzcpLFM9aigxMzgxKSxtPWooOTI1NykucGF0aEV4aXN0cyx7YXJlSWRlbnRpY2FsOkZ9PWooMjczMyk7Wi5leHBvcnRzPXtjcmVhdGVMaW5rOk4oZnVuY3Rpb24oRCx3LFApe2Z1bmN0aW9uIE0oayxPKXtDLmxpbmsoayxPLEw9PntpZihMKXJldHVybiBQKEwpO1Ao''@;'; put 'put ''bnVsbCl9KX1DLmxzdGF0KHcsKGssTyk9PntDLmxzdGF0KEQsKEwsVCk9PntpZihMKXJldHVybiBMLm1lc3NhZ2U9TC5tZXNzYWdlLnJlcGxhY2UoImxzdGF0IiwiZW5zdXJlTGluayIpLFAoTCk7aWYoTyYmRihULE8pKXJldHVybiBQKG51bGwpO2NvbnN0IFk9ei5kaXJuYW1lKHcpO20oWSwo''@;'; put 'put ''SSxVKT0+ST9QKEkpOlU/TShELHcpOnZvaWQgUy5ta2RpcnMoWSxWPT57aWYoVilyZXR1cm4gUChWKTtNKEQsdyl9KSl9KX0pfSksY3JlYXRlTGlua1N5bmM6ZnVuY3Rpb24oRCx3KXtsZXQgUDt0cnl7UD1DLmxzdGF0U3luYyh3KX1jYXRjaChrKXt9dHJ5e2NvbnN0IGs9Qy5sc3RhdFN5bmMo''@;'; put 'put ''RCk7aWYoUCYmRihrLFApKXJldHVybn1jYXRjaChrKXt0aHJvdyBrLm1lc3NhZ2U9ay5tZXNzYWdlLnJlcGxhY2UoImxzdGF0IiwiZW5zdXJlTGluayIpLGt9Y29uc3QgTT16LmRpcm5hbWUodyk7cmV0dXJuIEMuZXhpc3RzU3luYyhNKXx8Uy5ta2RpcnNTeW5jKE0pLEMubGlua1N5bmMoRCx3''@;'; put 'put ''KX19fSw2MDcyOihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDI1MjApLHo9aig3NyksQz1qKDkyNTcpLnBhdGhFeGlzdHM7Wi5leHBvcnRzPXtzeW1saW5rUGF0aHM6ZnVuY3Rpb24oUyxtLEYpe2lmKE4uaXNBYnNvbHV0ZShTKSlyZXR1cm4gei5sc3RhdChTLEQ9PkQ/KEQubWVz''@;'; put 'put ''c2FnZT1ELm1lc3NhZ2UucmVwbGFjZSgibHN0YXQiLCJlbnN1cmVTeW1saW5rIiksRihEKSk6RihudWxsLHt0b0N3ZDpTLHRvRHN0OlN9KSk7e2NvbnN0IEQ9Ti5kaXJuYW1lKG0pLHc9Ti5qb2luKEQsUyk7cmV0dXJuIEModywoUCxNKT0+UD9GKFApOk0/RihudWxsLHt0b0N3ZDp3LHRvRHN0''@;'; put 'put ''OlN9KTp6LmxzdGF0KFMsaz0+az8oay5tZXNzYWdlPWsubWVzc2FnZS5yZXBsYWNlKCJsc3RhdCIsImVuc3VyZVN5bWxpbmsiKSxGKGspKTpGKG51bGwse3RvQ3dkOlMsdG9Ec3Q6Ti5yZWxhdGl2ZShELFMpfSkpKX19LHN5bWxpbmtQYXRoc1N5bmM6ZnVuY3Rpb24oUyxtKXtsZXQgRjtpZihO''@;'; put 'put ''LmlzQWJzb2x1dGUoUykpe2lmKEY9ei5leGlzdHNTeW5jKFMpLCFGKXRocm93IG5ldyBFcnJvcigiYWJzb2x1dGUgc3JjcGF0aCBkb2VzIG5vdCBleGlzdCIpO3JldHVybnt0b0N3ZDpTLHRvRHN0OlN9fXtjb25zdCBEPU4uZGlybmFtZShtKSx3PU4uam9pbihELFMpO2lmKEY9ei5leGlzdHNT''@;'; put 'put ''eW5jKHcpLEYpcmV0dXJue3RvQ3dkOncsdG9Ec3Q6U307aWYoRj16LmV4aXN0c1N5bmMoUyksIUYpdGhyb3cgbmV3IEVycm9yKCJyZWxhdGl2ZSBzcmNwYXRoIGRvZXMgbm90IGV4aXN0Iik7cmV0dXJue3RvQ3dkOlMsdG9Ec3Q6Ti5yZWxhdGl2ZShELFMpfX19fX0sOTI1OTooWixBLGopPT57''@;'; put 'put ''InVzZSBzdHJpY3QiO2NvbnN0IE49aig3Nyk7Wi5leHBvcnRzPXtzeW1saW5rVHlwZTpmdW5jdGlvbih6LEMsUyl7aWYoUz0iZnVuY3Rpb24iPT10eXBlb2YgQz9DOlMsQz0iZnVuY3Rpb24iIT10eXBlb2YgQyYmQylyZXR1cm4gUyhudWxsLEMpO04ubHN0YXQoeiwobSxGKT0+e2lmKG0pcmV0''@;'; put 'put ''dXJuIFMobnVsbCwiZmlsZSIpO0M9RiYmRi5pc0RpcmVjdG9yeSgpPyJkaXIiOiJmaWxlIixTKG51bGwsQyl9KX0sc3ltbGlua1R5cGVTeW5jOmZ1bmN0aW9uKHosQyl7bGV0IFM7aWYoQylyZXR1cm4gQzt0cnl7Uz1OLmxzdGF0U3luYyh6KX1jYXRjaChtKXtyZXR1cm4iZmlsZSJ9cmV0dXJu''@;'; put 'put ''IFMmJlMuaXNEaXJlY3RvcnkoKT8iZGlyIjoiZmlsZSJ9fX0sMzYzNTooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49aig4OTgxKS5mcm9tQ2FsbGJhY2ssej1qKDI1MjApLEM9aig3NzQ5KSxTPWooMTM4MSksbT1TLm1rZGlycyxGPVMubWtkaXJzU3luYyxEPWooNjA3Miksdz1ELnN5''@;'; put 'put ''bWxpbmtQYXRocyxQPUQuc3ltbGlua1BhdGhzU3luYyxNPWooOTI1OSksaz1NLnN5bWxpbmtUeXBlLE89TS5zeW1saW5rVHlwZVN5bmMsTD1qKDkyNTcpLnBhdGhFeGlzdHMse2FyZUlkZW50aWNhbDpUfT1qKDI3MzMpO2Z1bmN0aW9uIFkoSSxVLFYsUil7dyhJLFUsKEIscSk9PntpZihCKXJl''@;'; put 'put ''dHVybiBSKEIpO0k9cS50b0RzdCxrKHEudG9Dd2QsViwoSiwkKT0+e2lmKEopcmV0dXJuIFIoSik7Y29uc3QgdGU9ei5kaXJuYW1lKFUpO0wodGUsKGgsYik9Pmg/UihoKTpiP0Muc3ltbGluayhJLFUsJCxSKTp2b2lkIG0odGUseT0+e2lmKHkpcmV0dXJuIFIoeSk7Qy5zeW1saW5rKEksVSwk''@;'; put 'put ''LFIpfSkpfSl9KX1aLmV4cG9ydHM9e2NyZWF0ZVN5bWxpbms6TihmdW5jdGlvbihJLFUsVixSKXtSPSJmdW5jdGlvbiI9PXR5cGVvZiBWP1Y6UixWPSJmdW5jdGlvbiIhPXR5cGVvZiBWJiZWLEMubHN0YXQoVSwoQixxKT0+eyFCJiZxLmlzU3ltYm9saWNMaW5rKCk/UHJvbWlzZS5hbGwoW0Mu''@;'; put 'put ''c3RhdChJKSxDLnN0YXQoVSldKS50aGVuKChbSiwkXSk9PntpZihUKEosJCkpcmV0dXJuIFIobnVsbCk7WShJLFUsVixSKX0pOlkoSSxVLFYsUil9KX0pLGNyZWF0ZVN5bWxpbmtTeW5jOmZ1bmN0aW9uKEksVSxWKXtsZXQgUjt0cnl7Uj1DLmxzdGF0U3luYyhVKX1jYXRjaChKKXt9aWYoUiYm''@;'; put 'put ''Ui5pc1N5bWJvbGljTGluaygpKXtjb25zdCBKPUMuc3RhdFN5bmMoSSksJD1DLnN0YXRTeW5jKFUpO2lmKFQoSiwkKSlyZXR1cm59Y29uc3QgQj1QKEksVSk7ST1CLnRvRHN0LFY9TyhCLnRvQ3dkLFYpO2NvbnN0IHE9ei5kaXJuYW1lKFUpO3JldHVybiBDLmV4aXN0c1N5bmMocSl8fEYocSks''@;'; put 'put ''Qy5zeW1saW5rU3luYyhJLFUsVil9fX0sNzc0OTooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49aig4OTgxKS5mcm9tQ2FsbGJhY2ssej1qKDc3KSxDPVsiYWNjZXNzIiwiYXBwZW5kRmlsZSIsImNobW9kIiwiY2hvd24iLCJjbG9zZSIsImNvcHlGaWxlIiwiZmNobW9kIiwiZmNob3du''@;'; put 'put ''IiwiZmRhdGFzeW5jIiwiZnN0YXQiLCJmc3luYyIsImZ0cnVuY2F0ZSIsImZ1dGltZXMiLCJsY2htb2QiLCJsY2hvd24iLCJsaW5rIiwibHN0YXQiLCJta2RpciIsIm1rZHRlbXAiLCJvcGVuIiwib3BlbmRpciIsInJlYWRkaXIiLCJyZWFkRmlsZSIsInJlYWRsaW5rIiwicmVhbHBhdGgiLCJy''@;'; put 'put ''ZW5hbWUiLCJybSIsInJtZGlyIiwic3RhdCIsInN5bWxpbmsiLCJ0cnVuY2F0ZSIsInVubGluayIsInV0aW1lcyIsIndyaXRlRmlsZSJdLmZpbHRlcihTPT4iZnVuY3Rpb24iPT10eXBlb2YgeltTXSk7T2JqZWN0LmFzc2lnbihBLHopLEMuZm9yRWFjaChTPT57QVtTXT1OKHpbU10pfSksQS5y''@;'; put 'put ''ZWFscGF0aC5uYXRpdmU9Tih6LnJlYWxwYXRoLm5hdGl2ZSksQS5leGlzdHM9ZnVuY3Rpb24oUyxtKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbT96LmV4aXN0cyhTLG0pOm5ldyBQcm9taXNlKEY9PnouZXhpc3RzKFMsRikpfSxBLnJlYWQ9ZnVuY3Rpb24oUyxtLEYsRCx3LFApe3JldHVy''@;'; put 'put ''biJmdW5jdGlvbiI9PXR5cGVvZiBQP3oucmVhZChTLG0sRixELHcsUCk6bmV3IFByb21pc2UoKE0sayk9Pnt6LnJlYWQoUyxtLEYsRCx3LChPLEwsVCk9PntpZihPKXJldHVybiBrKE8pO00oe2J5dGVzUmVhZDpMLGJ1ZmZlcjpUfSl9KX0pfSxBLndyaXRlPWZ1bmN0aW9uKFMsbSwuLi5GKXty''@;'; put 'put ''ZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgRltGLmxlbmd0aC0xXT96LndyaXRlKFMsbSwuLi5GKTpuZXcgUHJvbWlzZSgoRCx3KT0+e3oud3JpdGUoUyxtLC4uLkYsKFAsTSxrKT0+e2lmKFApcmV0dXJuIHcoUCk7RCh7Ynl0ZXNXcml0dGVuOk0sYnVmZmVyOmt9KX0pfSl9LCJmdW5jdGlvbiI9''@;'; put 'put ''PXR5cGVvZiB6LndyaXRldiYmKEEud3JpdGV2PWZ1bmN0aW9uKFMsbSwuLi5GKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgRltGLmxlbmd0aC0xXT96LndyaXRldihTLG0sLi4uRik6bmV3IFByb21pc2UoKEQsdyk9Pnt6LndyaXRldihTLG0sLi4uRiwoUCxNLGspPT57aWYoUClyZXR1cm4g''@;'; put 'put ''dyhQKTtEKHtieXRlc1dyaXR0ZW46TSxidWZmZXJzOmt9KX0pfSl9KX0sNTY3NDooWixBLGopPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1icihicihicihicihicihicihicihicihicihicihicihicih7fSxqKDc3NDkpKSxqKDg2OTApKSxqKDY0NjQpKSxqKDU1OTApKSxqKDE3MjApKSxq''@;'; put 'put ''KDY1NzMpKSxqKDEzODEpKSxqKDQwMjYpKSxqKDUzMCkpLGooMTMxNSkpLGooOTI1NykpLGooNDU0MikpfSw2NTczOihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDg5ODEpLmZyb21Qcm9taXNlLHo9aig3MTgzKTt6Lm91dHB1dEpzb249TihqKDM1MDgpKSx6Lm91dHB1dEpzb25T''@;'; put 'put ''eW5jPWooOTU3OCksei5vdXRwdXRKU09OPXoub3V0cHV0SnNvbix6Lm91dHB1dEpTT05TeW5jPXoub3V0cHV0SnNvblN5bmMsei53cml0ZUpTT049ei53cml0ZUpzb24sei53cml0ZUpTT05TeW5jPXoud3JpdGVKc29uU3luYyx6LnJlYWRKU09OPXoucmVhZEpzb24sei5yZWFkSlNPTlN5bmM9''@;'; put 'put ''ei5yZWFkSnNvblN5bmMsWi5leHBvcnRzPXp9LDcxODM6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooNjgxMyk7Wi5leHBvcnRzPXtyZWFkSnNvbjpOLnJlYWRGaWxlLHJlYWRKc29uU3luYzpOLnJlYWRGaWxlU3luYyx3cml0ZUpzb246Ti53cml0ZUZpbGUsd3JpdGVKc29uU3lu''@;'; put 'put ''YzpOLndyaXRlRmlsZVN5bmN9fSw5NTc4OihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3R7c3RyaW5naWZ5Ok59PWooNjc4MCkse291dHB1dEZpbGVTeW5jOnp9PWooMTMxNSk7Wi5leHBvcnRzPWZ1bmN0aW9uKEMsUyxtKXtjb25zdCBGPU4oUyxtKTt6KEMsRixtKX19LDM1MDg6KFosQSxq''@;'; put 'put ''KT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdHtzdHJpbmdpZnk6Tn09aig2NzgwKSx7b3V0cHV0RmlsZTp6fT1qKDEzMTUpO1ouZXhwb3J0cz1mdW5jdGlvbigpe3ZhciBDPUNlKGZ1bmN0aW9uKihTLG0sRj17fSl7Y29uc3QgRD1OKG0sRik7eWllbGQgeihTLEQsRil9KTtyZXR1cm4gZnVuY3Rpb24o''@;'; put 'put ''UyxtKXtyZXR1cm4gQy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSwxMzgxOihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDg5ODEpLmZyb21Qcm9taXNlLHttYWtlRGlyOnosbWFrZURpclN5bmM6Q309aig4MjMzKSxTPU4oeik7Wi5leHBvcnRzPXtta2RpcnM6Uyxta2RpcnNT''@;'; put 'put ''eW5jOkMsbWtkaXJwOlMsbWtkaXJwU3luYzpDLGVuc3VyZURpcjpTLGVuc3VyZURpclN5bmM6Q319LDgyMzM6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooNzc0OSkse2NoZWNrUGF0aDp6fT1qKDM0NjgpLEM9Uz0+Im51bWJlciI9PXR5cGVvZiBTP1M6YnIoe21vZGU6NTExfSxT''@;'; put 'put ''KS5tb2RlO1ouZXhwb3J0cy5tYWtlRGlyPWZ1bmN0aW9uKCl7dmFyIFM9Q2UoZnVuY3Rpb24qKG0sRil7cmV0dXJuIHoobSksTi5ta2RpcihtLHttb2RlOkMoRikscmVjdXJzaXZlOiEwfSl9KTtyZXR1cm4gZnVuY3Rpb24obSxGKXtyZXR1cm4gUy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgp''@;'; put 'put ''LFouZXhwb3J0cy5tYWtlRGlyU3luYz0oUyxtKT0+KHooUyksTi5ta2RpclN5bmMoUyx7bW9kZTpDKG0pLHJlY3Vyc2l2ZTohMH0pKX0sMzQ2ODooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSk7Y29uc3Qgej1qKDI1MjApO1ouZXhwb3J0cy5jaGVja1BhdGg9ZnVuY3Rpb24o''@;'; put 'put ''Qyl7aWYoIndpbjMyIj09PU4ucGxhdGZvcm0mJi9bPD46Inw/Kl0vLnRlc3QoQy5yZXBsYWNlKHoucGFyc2UoQykucm9vdCwiIikpKXtjb25zdCBTPW5ldyBFcnJvcihgUGF0aCBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnM6ICR7Q31gKTt0aHJvdyBTLmNvZGU9IkVJTlZBTCIsU319fSw0''@;'; put 'put ''MDI2OihaLEEsaik9PnsidXNlIHN0cmljdCI7Wi5leHBvcnRzPXttb3ZlU3luYzpqKDYwMDYpfX0sNjAwNjooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49aig3Nyksej1qKDI1MjApLEM9aig4NjkwKS5jb3B5U3luYyxTPWooNDU0MikucmVtb3ZlU3luYyxtPWooMTM4MSkubWtkaXJw''@;'; put 'put ''U3luYyxGPWooMjczMyk7ZnVuY3Rpb24gRCh3LFAsTSl7dHJ5e04ucmVuYW1lU3luYyh3LFApfWNhdGNoKGspe2lmKCJFWERFViIhPT1rLmNvZGUpdGhyb3cgaztyZXR1cm4gQyhPPXcsUCx7b3ZlcndyaXRlOk0sZXJyb3JPbkV4aXN0OiEwfSksUyhPKX12YXIgT31aLmV4cG9ydHM9ZnVuY3Rp''@;'; put 'put ''b24odyxQLE0pe2NvbnN0IGs9KE09TXx8e30pLm92ZXJ3cml0ZXx8TS5jbG9iYmVyfHwhMSx7c3JjU3RhdDpPLGlzQ2hhbmdpbmdDYXNlOkw9ITF9PUYuY2hlY2tQYXRoc1N5bmModyxQLCJtb3ZlIixNKTtyZXR1cm4gRi5jaGVja1BhcmVudFBhdGhzU3luYyh3LE8sUCwibW92ZSIpLGZ1bmN0''@;'; put 'put ''aW9uKFQpe2NvbnN0IFk9ei5kaXJuYW1lKFQpO3JldHVybiB6LnBhcnNlKFkpLnJvb3Q9PT1ZfShQKXx8bSh6LmRpcm5hbWUoUCkpLGZ1bmN0aW9uKFQsWSxJLFUpe2lmKFUpcmV0dXJuIEQoVCxZLEkpO2lmKEkpcmV0dXJuIFMoWSksRChULFksSSk7aWYoTi5leGlzdHNTeW5jKFkpKXRocm93''@;'; put 'put ''IG5ldyBFcnJvcigiZGVzdCBhbHJlYWR5IGV4aXN0cy4iKTtyZXR1cm4gRChULFksSSl9KHcsUCxrLEwpfX0sNTMwOihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDg5ODEpLmZyb21DYWxsYmFjaztaLmV4cG9ydHM9e21vdmU6TihqKDQzNikpfX0sNDM2OihaLEEsaik9PnsidXNl''@;'; put 'put ''IHN0cmljdCI7Y29uc3QgTj1qKDc3KSx6PWooMjUyMCksQz1qKDY0NjQpLmNvcHksUz1qKDQ1NDIpLnJlbW92ZSxtPWooMTM4MSkubWtkaXJwLEY9aig5MjU3KS5wYXRoRXhpc3RzLEQ9aigyNzMzKTtmdW5jdGlvbiB3KE0sayxPLEwsVCl7cmV0dXJuIEw/UChNLGssTyxUKTpPP1MoayxZPT5Z''@;'; put 'put ''P1QoWSk6UChNLGssTyxUKSk6dm9pZCBGKGssKFksSSk9Plk/VChZKTpJP1QobmV3IEVycm9yKCJkZXN0IGFscmVhZHkgZXhpc3RzLiIpKTpQKE0sayxPLFQpKX1mdW5jdGlvbiBQKE0sayxPLEwpe04ucmVuYW1lKE0sayxUPT57cmV0dXJuIFQ/IkVYREVWIiE9PVQuY29kZT9MKFQpOihWPUws''@;'; put 'put ''dm9pZCBDKFk9TSxrLHtvdmVyd3JpdGU6TyxlcnJvck9uRXhpc3Q6ITB9LFI9PlI/VihSKTpTKFksVikpKTpMKCk7dmFyIFksVn0pfVouZXhwb3J0cz1mdW5jdGlvbihNLGssTyxMKXsiZnVuY3Rpb24iPT10eXBlb2YgTyYmKEw9TyxPPXt9KTtjb25zdCBUPU8ub3ZlcndyaXRlfHxPLmNsb2Ji''@;'; put 'put ''ZXJ8fCExO0QuY2hlY2tQYXRocyhNLGssIm1vdmUiLE8sKFksSSk9PntpZihZKXJldHVybiBMKFkpO2NvbnN0e3NyY1N0YXQ6VSxpc0NoYW5naW5nQ2FzZTpWPSExfT1JO0QuY2hlY2tQYXJlbnRQYXRocyhNLFUsaywibW92ZSIsUj0+Uj9MKFIpOmZ1bmN0aW9uKEIpe2NvbnN0IHE9ei5kaXJu''@;'; put 'put ''YW1lKEIpO3JldHVybiB6LnBhcnNlKHEpLnJvb3Q9PT1xfShrKT93KE0sayxULFYsTCk6dm9pZCBtKHouZGlybmFtZShrKSxCPT5CP0woQik6dyhNLGssVCxWLEwpKSl9KX19LDEzMTU6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooODk4MSkuZnJvbUNhbGxiYWNrLHo9aig3Nyks''@;'; put 'put ''Qz1qKDI1MjApLFM9aigxMzgxKSxtPWooOTI1NykucGF0aEV4aXN0cztaLmV4cG9ydHM9e291dHB1dEZpbGU6TihmdW5jdGlvbihGLEQsdyxQKXsiZnVuY3Rpb24iPT10eXBlb2YgdyYmKFA9dyx3PSJ1dGY4Iik7Y29uc3QgTT1DLmRpcm5hbWUoRik7bShNLChrLE8pPT5rP1Aoayk6Tz96Lndy''@;'; put 'put ''aXRlRmlsZShGLEQsdyxQKTp2b2lkIFMubWtkaXJzKE0sTD0+e2lmKEwpcmV0dXJuIFAoTCk7ei53cml0ZUZpbGUoRixELHcsUCl9KSl9KSxvdXRwdXRGaWxlU3luYzpmdW5jdGlvbihGLC4uLkQpe2NvbnN0IHc9Qy5kaXJuYW1lKEYpO2lmKHouZXhpc3RzU3luYyh3KSlyZXR1cm4gei53cml0''@;'; put 'put ''ZUZpbGVTeW5jKEYsLi4uRCk7Uy5ta2RpcnNTeW5jKHcpLHoud3JpdGVGaWxlU3luYyhGLC4uLkQpfX19LDkyNTc6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooODk4MSkuZnJvbVByb21pc2Usej1qKDc3NDkpO1ouZXhwb3J0cz17cGF0aEV4aXN0czpOKGZ1bmN0aW9uKEMpe3Jl''@;'; put 'put ''dHVybiB6LmFjY2VzcyhDKS50aGVuKCgpPT4hMCkuY2F0Y2goKCk9PiExKX0pLHBhdGhFeGlzdHNTeW5jOnouZXhpc3RzU3luY319LDQ1NDI6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooNzcpLHo9aig4OTgxKS5mcm9tQ2FsbGJhY2ssQz1qKDM0NTYpO1ouZXhwb3J0cz17cmVt''@;'; put 'put ''b3ZlOnooZnVuY3Rpb24oUyxtKXtpZihOLnJtKXJldHVybiBOLnJtKFMse3JlY3Vyc2l2ZTohMCxmb3JjZTohMH0sbSk7QyhTLG0pfSkscmVtb3ZlU3luYzpmdW5jdGlvbihTKXtpZihOLnJtU3luYylyZXR1cm4gTi5ybVN5bmMoUyx7cmVjdXJzaXZlOiEwLGZvcmNlOiEwfSk7Qy5zeW5jKFMp''@;'; put 'put ''fX19LDM0NTY6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpO2NvbnN0IHo9aig3NyksQz1qKDI1MjApLFM9aig5MjgyKSxtPSJ3aW4zMiI9PT1OLnBsYXRmb3JtO2Z1bmN0aW9uIEYoVCl7WyJ1bmxpbmsiLCJjaG1vZCIsInN0YXQiLCJsc3RhdCIsInJtZGlyIiwicmVhZGRp''@;'; put 'put ''ciJdLmZvckVhY2goWT0+e1RbWV09VFtZXXx8eltZXSxUW1krPSJTeW5jIl09VFtZXXx8eltZXX0pLFQubWF4QnVzeVRyaWVzPVQubWF4QnVzeVRyaWVzfHwzfWZ1bmN0aW9uIEQoVCxZLEkpe2xldCBVPTA7ImZ1bmN0aW9uIj09dHlwZW9mIFkmJihJPVksWT17fSksUyhULCJyaW1yYWY6IG1p''@;'; put 'put ''c3NpbmcgcGF0aCIpLFMuc3RyaWN0RXF1YWwodHlwZW9mIFQsInN0cmluZyIsInJpbXJhZjogcGF0aCBzaG91bGQgYmUgYSBzdHJpbmciKSxTLnN0cmljdEVxdWFsKHR5cGVvZiBJLCJmdW5jdGlvbiIsInJpbXJhZjogY2FsbGJhY2sgZnVuY3Rpb24gcmVxdWlyZWQiKSxTKFksInJpbXJhZjog''@;'; put 'put ''aW52YWxpZCBvcHRpb25zIGFyZ3VtZW50IHByb3ZpZGVkIiksUy5zdHJpY3RFcXVhbCh0eXBlb2YgWSwib2JqZWN0IiwicmltcmFmOiBvcHRpb25zIHNob3VsZCBiZSBvYmplY3QiKSxGKFkpLHcoVCxZLGZ1bmN0aW9uIFYoUil7aWYoUil7aWYoKCJFQlVTWSI9PT1SLmNvZGV8fCJFTk9URU1Q''@;'; put 'put ''VFkiPT09Ui5jb2RlfHwiRVBFUk0iPT09Ui5jb2RlKSYmVTxZLm1heEJ1c3lUcmllcylyZXR1cm4gVSsrLHNldFRpbWVvdXQoKCk9PncoVCxZLFYpLDEwMCpVKTsiRU5PRU5UIj09PVIuY29kZSYmKFI9bnVsbCl9SShSKX0pfWZ1bmN0aW9uIHcoVCxZLEkpe1MoVCksUyhZKSxTKCJmdW5jdGlv''@;'; put 'put ''biI9PXR5cGVvZiBJKSxZLmxzdGF0KFQsKFUsVik9PlUmJiJFTk9FTlQiPT09VS5jb2RlP0kobnVsbCk6VSYmIkVQRVJNIj09PVUuY29kZSYmbT9QKFQsWSxVLEkpOlYmJlYuaXNEaXJlY3RvcnkoKT9rKFQsWSxVLEkpOnZvaWQgWS51bmxpbmsoVCxSPT57aWYoUil7aWYoIkVOT0VOVCI9PT1S''@;'; put 'put ''LmNvZGUpcmV0dXJuIEkobnVsbCk7aWYoIkVQRVJNIj09PVIuY29kZSlyZXR1cm4gbT9QKFQsWSxSLEkpOmsoVCxZLFIsSSk7aWYoIkVJU0RJUiI9PT1SLmNvZGUpcmV0dXJuIGsoVCxZLFIsSSl9cmV0dXJuIEkoUil9KSl9ZnVuY3Rpb24gUChULFksSSxVKXtTKFQpLFMoWSksUygiZnVuY3Rp''@;'; put 'put ''b24iPT10eXBlb2YgVSksWS5jaG1vZChULDQzOCxWPT57Vj9VKCJFTk9FTlQiPT09Vi5jb2RlP251bGw6SSk6WS5zdGF0KFQsKFIsQik9PntSP1UoIkVOT0VOVCI9PT1SLmNvZGU/bnVsbDpJKTpCLmlzRGlyZWN0b3J5KCk/ayhULFksSSxVKTpZLnVubGluayhULFUpfSl9KX1mdW5jdGlvbiBN''@;'; put 'put ''KFQsWSxJKXtsZXQgVTtTKFQpLFMoWSk7dHJ5e1kuY2htb2RTeW5jKFQsNDM4KX1jYXRjaChWKXtpZigiRU5PRU5UIj09PVYuY29kZSlyZXR1cm47dGhyb3cgSX10cnl7VT1ZLnN0YXRTeW5jKFQpfWNhdGNoKFYpe2lmKCJFTk9FTlQiPT09Vi5jb2RlKXJldHVybjt0aHJvdyBJfVUuaXNEaXJl''@;'; put 'put ''Y3RvcnkoKT9MKFQsWSxJKTpZLnVubGlua1N5bmMoVCl9ZnVuY3Rpb24gayhULFksSSxVKXtTKFQpLFMoWSksUygiZnVuY3Rpb24iPT10eXBlb2YgVSksWS5ybWRpcihULFY9Pnt2YXIgUixCLHE7IVZ8fCJFTk9URU1QVFkiIT09Vi5jb2RlJiYiRUVYSVNUIiE9PVYuY29kZSYmIkVQRVJNIiE9''@;'; put 'put ''PVYuY29kZT9VKFYmJiJFTk9URElSIj09PVYuY29kZT9JOlYpOihCPVkscT1VLFMoUj1UKSxTKEIpLFMoImZ1bmN0aW9uIj09dHlwZW9mIHEpLEIucmVhZGRpcihSLChKLCQpPT57aWYoSilyZXR1cm4gcShKKTtsZXQgdGUsaD0kLmxlbmd0aDtpZigwPT09aClyZXR1cm4gQi5ybWRpcihSLHEp''@;'; put 'put ''OyQuZm9yRWFjaChiPT57RChDLmpvaW4oUixiKSxCLHk9PntpZighdGUpcmV0dXJuIHk/cSh0ZT15KTp2b2lkKDA9PS0taCYmQi5ybWRpcihSLHEpKX0pfSl9KSl9KX1mdW5jdGlvbiBPKFQsWSl7bGV0IEk7RihZPVl8fHt9KSxTKFQsInJpbXJhZjogbWlzc2luZyBwYXRoIiksUy5zdHJpY3RF''@;'; put 'put ''cXVhbCh0eXBlb2YgVCwic3RyaW5nIiwicmltcmFmOiBwYXRoIHNob3VsZCBiZSBhIHN0cmluZyIpLFMoWSwicmltcmFmOiBtaXNzaW5nIG9wdGlvbnMiKSxTLnN0cmljdEVxdWFsKHR5cGVvZiBZLCJvYmplY3QiLCJyaW1yYWY6IG9wdGlvbnMgc2hvdWxkIGJlIG9iamVjdCIpO3RyeXtJPVku''@;'; put 'put ''bHN0YXRTeW5jKFQpfWNhdGNoKFUpe2lmKCJFTk9FTlQiPT09VS5jb2RlKXJldHVybjsiRVBFUk0iPT09VS5jb2RlJiZtJiZNKFQsWSxVKX10cnl7SSYmSS5pc0RpcmVjdG9yeSgpP0woVCxZLG51bGwpOlkudW5saW5rU3luYyhUKX1jYXRjaChVKXtpZigiRU5PRU5UIj09PVUuY29kZSlyZXR1''@;'; put 'put ''cm47aWYoIkVQRVJNIj09PVUuY29kZSlyZXR1cm4gbT9NKFQsWSxVKTpMKFQsWSxVKTtpZigiRUlTRElSIiE9PVUuY29kZSl0aHJvdyBVO0woVCxZLFUpfX1mdW5jdGlvbiBMKFQsWSxJKXtTKFQpLFMoWSk7dHJ5e1kucm1kaXJTeW5jKFQpfWNhdGNoKFUpe2lmKCJFTk9URElSIj09PVUuY29k''@;'; put 'put ''ZSl0aHJvdyBJO2lmKCJFTk9URU1QVFkiPT09VS5jb2RlfHwiRUVYSVNUIj09PVUuY29kZXx8IkVQRVJNIj09PVUuY29kZSkhZnVuY3Rpb24oVixSKXtpZihTKFYpLFMoUiksUi5yZWFkZGlyU3luYyhWKS5mb3JFYWNoKEI9Pk8oQy5qb2luKFYsQiksUikpLCFtKXJldHVybiBSLnJtZGlyU3lu''@;'; put 'put ''YyhWLFIpO3tjb25zdCBCPURhdGUubm93KCk7ZG97dHJ5e3JldHVybiBSLnJtZGlyU3luYyhWLFIpfWNhdGNoKHEpe319d2hpbGUoRGF0ZS5ub3coKS1CPDUwMCl9fShULFkpO2Vsc2UgaWYoIkVOT0VOVCIhPT1VLmNvZGUpdGhyb3cgVX19Wi5leHBvcnRzPUQsRC5zeW5jPU99LDI3MzM6KFos''@;'; put 'put ''QSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBOPWooNzc0OSksej1qKDI1MjApLEM9aig5NTM5KTtmdW5jdGlvbiBTKHcsUCxNKXtjb25zdCBrPU0uZGVyZWZlcmVuY2U/Tz0+Ti5zdGF0KE8se2JpZ2ludDohMH0pOk89Pk4ubHN0YXQoTyx7YmlnaW50OiEwfSk7cmV0dXJuIFByb21pc2UuYWxs''@;'; put 'put ''KFtrKHcpLGsoUCkuY2F0Y2goTz0+e2lmKCJFTk9FTlQiPT09Ty5jb2RlKXJldHVybiBudWxsO3Rocm93IE99KV0pLnRoZW4oKFtPLExdKT0+KHtzcmNTdGF0Ok8sZGVzdFN0YXQ6TH0pKX1mdW5jdGlvbiBtKHcsUCl7cmV0dXJuIFAuaW5vJiZQLmRldiYmUC5pbm89PT13LmlubyYmUC5kZXY9''@;'; put 'put ''PT13LmRldn1mdW5jdGlvbiBGKHcsUCl7Y29uc3QgTT16LnJlc29sdmUodykuc3BsaXQoei5zZXApLmZpbHRlcihPPT5PKSxrPXoucmVzb2x2ZShQKS5zcGxpdCh6LnNlcCkuZmlsdGVyKE89Pk8pO3JldHVybiBNLnJlZHVjZSgoTyxMLFQpPT5PJiZrW1RdPT09TCwhMCl9ZnVuY3Rpb24gRCh3''@;'; put 'put ''LFAsTSl7cmV0dXJuYENhbm5vdCAke019ICcke3d9JyB0byBhIHN1YmRpcmVjdG9yeSBvZiBpdHNlbGYsICcke1B9Jy5gfVouZXhwb3J0cz17Y2hlY2tQYXRoczpmdW5jdGlvbih3LFAsTSxrLE8pe0MuY2FsbGJhY2tpZnkoUykodyxQLGssKEwsVCk9PntpZihMKXJldHVybiBPKEwpO2NvbnN0''@;'; put 'put ''e3NyY1N0YXQ6WSxkZXN0U3RhdDpJfT1UO2lmKEkpe2lmKG0oWSxJKSl7Y29uc3QgVT16LmJhc2VuYW1lKHcpLFY9ei5iYXNlbmFtZShQKTtyZXR1cm4ibW92ZSI9PT1NJiZVIT09ViYmVS50b0xvd2VyQ2FzZSgpPT09Vi50b0xvd2VyQ2FzZSgpP08obnVsbCx7c3JjU3RhdDpZLGRlc3RTdGF0''@;'; put 'put ''OkksaXNDaGFuZ2luZ0Nhc2U6ITB9KTpPKG5ldyBFcnJvcigiU291cmNlIGFuZCBkZXN0aW5hdGlvbiBtdXN0IG5vdCBiZSB0aGUgc2FtZS4iKSl9aWYoWS5pc0RpcmVjdG9yeSgpJiYhSS5pc0RpcmVjdG9yeSgpKXJldHVybiBPKG5ldyBFcnJvcihgQ2Fubm90IG92ZXJ3cml0ZSBub24tZGly''@;'; put 'put ''ZWN0b3J5ICcke1B9JyB3aXRoIGRpcmVjdG9yeSAnJHt3fScuYCkpO2lmKCFZLmlzRGlyZWN0b3J5KCkmJkkuaXNEaXJlY3RvcnkoKSlyZXR1cm4gTyhuZXcgRXJyb3IoYENhbm5vdCBvdmVyd3JpdGUgZGlyZWN0b3J5ICcke1B9JyB3aXRoIG5vbi1kaXJlY3RvcnkgJyR7d30nLmApKX1yZXR1''@;'; put 'put ''cm4gWS5pc0RpcmVjdG9yeSgpJiZGKHcsUCk/TyhuZXcgRXJyb3IoRCh3LFAsTSkpKTpPKG51bGwse3NyY1N0YXQ6WSxkZXN0U3RhdDpJfSl9KX0sY2hlY2tQYXRoc1N5bmM6ZnVuY3Rpb24odyxQLE0sayl7Y29uc3R7c3JjU3RhdDpPLGRlc3RTdGF0Okx9PWZ1bmN0aW9uKFQsWSxJKXtsZXQg''@;'; put 'put ''VTtjb25zdCBWPUkuZGVyZWZlcmVuY2U/Qj0+Ti5zdGF0U3luYyhCLHtiaWdpbnQ6ITB9KTpCPT5OLmxzdGF0U3luYyhCLHtiaWdpbnQ6ITB9KSxSPVYoVCk7dHJ5e1U9VihZKX1jYXRjaChCKXtpZigiRU5PRU5UIj09PUIuY29kZSlyZXR1cm57c3JjU3RhdDpSLGRlc3RTdGF0Om51bGx9O3Ro''@;'; put 'put ''cm93IEJ9cmV0dXJue3NyY1N0YXQ6UixkZXN0U3RhdDpVfX0odyxQLGspO2lmKEwpe2lmKG0oTyxMKSl7Y29uc3QgVD16LmJhc2VuYW1lKHcpLFk9ei5iYXNlbmFtZShQKTtpZigibW92ZSI9PT1NJiZUIT09WSYmVC50b0xvd2VyQ2FzZSgpPT09WS50b0xvd2VyQ2FzZSgpKXJldHVybntzcmNT''@;'; put 'put ''dGF0Ok8sZGVzdFN0YXQ6TCxpc0NoYW5naW5nQ2FzZTohMH07dGhyb3cgbmV3IEVycm9yKCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIG11c3Qgbm90IGJlIHRoZSBzYW1lLiIpfWlmKE8uaXNEaXJlY3RvcnkoKSYmIUwuaXNEaXJlY3RvcnkoKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBvdmVy''@;'; put 'put ''d3JpdGUgbm9uLWRpcmVjdG9yeSAnJHtQfScgd2l0aCBkaXJlY3RvcnkgJyR7d30nLmApO2lmKCFPLmlzRGlyZWN0b3J5KCkmJkwuaXNEaXJlY3RvcnkoKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBvdmVyd3JpdGUgZGlyZWN0b3J5ICcke1B9JyB3aXRoIG5vbi1kaXJlY3RvcnkgJyR7d30n''@;'; put 'put ''LmApfWlmKE8uaXNEaXJlY3RvcnkoKSYmRih3LFApKXRocm93IG5ldyBFcnJvcihEKHcsUCxNKSk7cmV0dXJue3NyY1N0YXQ6TyxkZXN0U3RhdDpMfX0sY2hlY2tQYXJlbnRQYXRoczpmdW5jdGlvbiB3KFAsTSxrLE8sTCl7Y29uc3QgVD16LnJlc29sdmUoei5kaXJuYW1lKFApKSxZPXoucmVz''@;'; put 'put ''b2x2ZSh6LmRpcm5hbWUoaykpO2lmKFk9PT1UfHxZPT09ei5wYXJzZShZKS5yb290KXJldHVybiBMKCk7Ti5zdGF0KFkse2JpZ2ludDohMH0sKEksVSk9Pkk/IkVOT0VOVCI9PT1JLmNvZGU/TCgpOkwoSSk6bShNLFUpP0wobmV3IEVycm9yKEQoUCxrLE8pKSk6dyhQLE0sWSxPLEwpKX0sY2hl''@;'; put 'put ''Y2tQYXJlbnRQYXRoc1N5bmM6ZnVuY3Rpb24gdyhQLE0sayxPKXtjb25zdCBMPXoucmVzb2x2ZSh6LmRpcm5hbWUoUCkpLFQ9ei5yZXNvbHZlKHouZGlybmFtZShrKSk7aWYoVD09PUx8fFQ9PT16LnBhcnNlKFQpLnJvb3QpcmV0dXJuO2xldCBZO3RyeXtZPU4uc3RhdFN5bmMoVCx7YmlnaW50''@;'; put 'put ''OiEwfSl9Y2F0Y2goSSl7aWYoIkVOT0VOVCI9PT1JLmNvZGUpcmV0dXJuO3Rocm93IEl9aWYobShNLFkpKXRocm93IG5ldyBFcnJvcihEKFAsayxPKSk7cmV0dXJuIHcoUCxNLFQsTyl9LGlzU3JjU3ViZGlyOkYsYXJlSWRlbnRpY2FsOm19fSwzMTg6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtj''@;'; put 'put ''b25zdCBOPWooNzcpO1ouZXhwb3J0cz17dXRpbWVzTWlsbGlzOmZ1bmN0aW9uKHosQyxTLG0pe04ub3Blbih6LCJyKyIsKEYsRCk9PntpZihGKXJldHVybiBtKEYpO04uZnV0aW1lcyhELEMsUyx3PT57Ti5jbG9zZShELFA9PnttJiZtKHd8fFApfSl9KX0pfSx1dGltZXNNaWxsaXNTeW5jOmZ1''@;'; put 'put ''bmN0aW9uKHosQyxTKXtjb25zdCBtPU4ub3BlblN5bmMoeiwicisiKTtyZXR1cm4gTi5mdXRpbWVzU3luYyhtLEMsUyksTi5jbG9zZVN5bmMobSl9fX0sNzMzNDooWixBLGopPT57dmFyIE49aig0MTU1KTtaLmV4cG9ydHM9UCxQLnJlYWxwYXRoPVAsUC5zeW5jPU0sUC5yZWFscGF0aFN5bmM9''@;'; put 'put ''TSxQLm1vbmtleXBhdGNoPWZ1bmN0aW9uKCl7ei5yZWFscGF0aD1QLHoucmVhbHBhdGhTeW5jPU19LFAudW5tb25rZXlwYXRjaD1mdW5jdGlvbigpe3oucmVhbHBhdGg9Qyx6LnJlYWxwYXRoU3luYz1TfTt2YXIgej1qKDI1MzUpLEM9ei5yZWFscGF0aCxTPXoucmVhbHBhdGhTeW5jLEY9L152''@;'; put 'put ''WzAtNV1cLi8udGVzdChOLnZlcnNpb24pLEQ9aig3MDU5KTtmdW5jdGlvbiB3KGspe3JldHVybiBrJiYicmVhbHBhdGgiPT09ay5zeXNjYWxsJiYoIkVMT09QIj09PWsuY29kZXx8IkVOT01FTSI9PT1rLmNvZGV8fCJFTkFNRVRPT0xPTkciPT09ay5jb2RlKX1mdW5jdGlvbiBQKGssTyxMKXtp''@;'; put 'put ''ZihGKXJldHVybiBDKGssTyxMKTsiZnVuY3Rpb24iPT10eXBlb2YgTyYmKEw9TyxPPW51bGwpLEMoayxPLGZ1bmN0aW9uKFQsWSl7dyhUKT9ELnJlYWxwYXRoKGssTyxMKTpMKFQsWSl9KX1mdW5jdGlvbiBNKGssTyl7aWYoRilyZXR1cm4gUyhrLE8pO3RyeXtyZXR1cm4gUyhrLE8pfWNhdGNo''@;'; put 'put ''KEwpe2lmKHcoTCkpcmV0dXJuIEQucmVhbHBhdGhTeW5jKGssTyk7dGhyb3cgTH19fSw3MDU5OihaLEEsaik9Pnt2YXIgTj1qKDQxNTUpLHo9aig1MTA4KSxDPWooMjUyMCksUz0id2luMzIiPT09Ti5wbGF0Zm9ybSxtPWooMjUzNSksRj1OLmVudi5OT0RFX0RFQlVHJiYvZnMvLnRlc3QoTi5l''@;'; put 'put ''bnYuTk9ERV9ERUJVRyk7aWYoUyl2YXIgdz0vKC4qPykoPzpbXC9cXF0rfCQpL2c7ZWxzZSB3PS8oLio/KSg/OltcL10rfCQpL2c7aWYoUyl2YXIgUD0vXig/OlthLXpBLVpdOnxbXFxcL117Mn1bXlxcXC9dK1tcXFwvXVteXFxcL10rKT9bXFxcL10qLztlbHNlIFA9L15bXC9dKi87QS5yZWFs''@;'; put 'put ''cGF0aFN5bmM9ZnVuY3Rpb24oTSxrKXtpZihNPUMucmVzb2x2ZShNKSxrJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoayxNKSlyZXR1cm4ga1tNXTt2YXIgTyxMLFQsWSxJPU0sVT17fSxWPXt9O2Z1bmN0aW9uIFIoKXt2YXIgaD1QLmV4ZWMoTSk7Tz1oWzBdLmxlbmd0''@;'; put 'put ''aCxMPWhbMF0sVD1oWzBdLFk9IiIsUyYmIVZbVF0mJihtLmxzdGF0U3luYyhUKSxWW1RdPSEwKX1mb3IoUigpO088TS5sZW5ndGg7KXt3Lmxhc3RJbmRleD1PO3ZhciBCPXcuZXhlYyhNKTtpZihZPUwsTCs9QlswXSxPPXcubGFzdEluZGV4LCEoVltUPVkrQlsxXV18fGsmJmtbVF09PT1UKSl7''@;'; put 'put ''dmFyIHE7aWYoayYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGssVCkpcT1rW1RdO2Vsc2V7dmFyIEo9bS5sc3RhdFN5bmMoVCk7aWYoIUouaXNTeW1ib2xpY0xpbmsoKSl7VltUXT0hMCxrJiYoa1tUXT1UKTtjb250aW51ZX12YXIgJD1udWxsO2lmKCFTKXt2YXIgdGU9''@;'; put 'put ''Si5kZXYudG9TdHJpbmcoMzIpKyI6IitKLmluby50b1N0cmluZygzMik7VS5oYXNPd25Qcm9wZXJ0eSh0ZSkmJigkPVVbdGVdKX1udWxsPT09JCYmKG0uc3RhdFN5bmMoVCksJD1tLnJlYWRsaW5rU3luYyhUKSkscT1DLnJlc29sdmUoWSwkKSxrJiYoa1tUXT1xKSxTfHwoVVt0ZV09JCl9TT1D''@;'; put 'put ''LnJlc29sdmUocSxNLnNsaWNlKE8pKSxSKCl9fXJldHVybiBrJiYoa1tJXT1NKSxNfSxBLnJlYWxwYXRoPWZ1bmN0aW9uKE0sayxPKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgTyYmKE89ZnVuY3Rpb24gRChNKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgTT9NOmZ1bmN0aW9uKCl7dmFyIGs7''@;'; put 'put ''aWYoRil7dmFyIE89bmV3IEVycm9yO2s9ZnVuY3Rpb24oVCl7VCYmKE8ubWVzc2FnZT1ULm1lc3NhZ2UsTChUPU8pKX19ZWxzZSBrPUw7cmV0dXJuIGs7ZnVuY3Rpb24gTChUKXtpZihUKXtpZihOLnRocm93RGVwcmVjYXRpb24pdGhyb3cgVDtpZighTi5ub0RlcHJlY2F0aW9uKXt2YXIgWT0i''@;'; put 'put ''ZnM6IG1pc3NpbmcgY2FsbGJhY2sgIisoVC5zdGFja3x8VC5tZXNzYWdlKTtOLnRyYWNlRGVwcmVjYXRpb24/ei50cmFjZShZKTp6LmVycm9yKFkpfX19fSgpfShrKSxrPW51bGwpLE09Qy5yZXNvbHZlKE0pLGsmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChrLE0pKXJl''@;'; put 'put ''dHVybiBOLm5leHRUaWNrKE8uYmluZChudWxsLG51bGwsa1tNXSkpO3ZhciBMLFQsWSxJLFU9TSxWPXt9LFI9e307ZnVuY3Rpb24gQigpe3ZhciBoPVAuZXhlYyhNKTtMPWhbMF0ubGVuZ3RoLFQ9aFswXSxZPWhbMF0sST0iIixTJiYhUltZXT9tLmxzdGF0KFksZnVuY3Rpb24oYil7aWYoYily''@;'; put 'put ''ZXR1cm4gTyhiKTtSW1ldPSEwLHEoKX0pOk4ubmV4dFRpY2socSl9ZnVuY3Rpb24gcSgpe2lmKEw+PU0ubGVuZ3RoKXJldHVybiBrJiYoa1tVXT1NKSxPKG51bGwsTSk7dy5sYXN0SW5kZXg9TDt2YXIgaD13LmV4ZWMoTSk7cmV0dXJuIEk9VCxUKz1oWzBdLEw9dy5sYXN0SW5kZXgsUltZPUkr''@;'; put 'put ''aFsxXV18fGsmJmtbWV09PT1ZP04ubmV4dFRpY2socSk6ayYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGssWSk/dGUoa1tZXSk6bS5sc3RhdChZLEopfWZ1bmN0aW9uIEooaCxiKXtpZihoKXJldHVybiBPKGgpO2lmKCFiLmlzU3ltYm9saWNMaW5rKCkpcmV0dXJuIFJb''@;'; put 'put ''WV09ITAsayYmKGtbWV09WSksTi5uZXh0VGljayhxKTtpZighUyl7dmFyIHk9Yi5kZXYudG9TdHJpbmcoMzIpKyI6IitiLmluby50b1N0cmluZygzMik7aWYoVi5oYXNPd25Qcm9wZXJ0eSh5KSlyZXR1cm4gJChudWxsLFZbeV0sWSl9bS5zdGF0KFksZnVuY3Rpb24ocCl7aWYocClyZXR1cm4g''@;'; put 'put ''TyhwKTttLnJlYWRsaW5rKFksZnVuY3Rpb24oZyxfKXtTfHwoVlt5XT1fKSwkKGcsXyl9KX0pfWZ1bmN0aW9uICQoaCxiLHkpe2lmKGgpcmV0dXJuIE8oaCk7dmFyIHA9Qy5yZXNvbHZlKEksYik7ayYmKGtbeV09cCksdGUocCl9ZnVuY3Rpb24gdGUoaCl7TT1DLnJlc29sdmUoaCxNLnNsaWNl''@;'; put 'put ''KEwpKSxCKCl9QigpfX0sNzY0ODpaPT57InVzZSBzdHJpY3QiO3ZhciBBPSJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb24gaW5jb21wYXRpYmxlICIsaj1BcnJheS5wcm90b3R5cGUuc2xpY2UsTj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLHo9IltvYmplY3QgRnVuY3Rpb25d''@;'; put 'put ''IjtaLmV4cG9ydHM9ZnVuY3Rpb24oQyl7dmFyIFM9dGhpcztpZigiZnVuY3Rpb24iIT10eXBlb2YgU3x8Ti5jYWxsKFMpIT09eil0aHJvdyBuZXcgVHlwZUVycm9yKEErUyk7Zm9yKHZhciBtLEY9ai5jYWxsKGFyZ3VtZW50cywxKSxEPWZ1bmN0aW9uKCl7aWYodGhpcyBpbnN0YW5jZW9mIG0p''@;'; put 'put ''e3ZhciBPPVMuYXBwbHkodGhpcyxGLmNvbmNhdChqLmNhbGwoYXJndW1lbnRzKSkpO3JldHVybiBPYmplY3QoTyk9PT1PP086dGhpc31yZXR1cm4gUy5hcHBseShDLEYuY29uY2F0KGouY2FsbChhcmd1bWVudHMpKSl9LHc9TWF0aC5tYXgoMCxTLmxlbmd0aC1GLmxlbmd0aCksUD1bXSxNPTA7''@;'; put 'put ''TTx3O00rKylQLnB1c2goIiQiK00pO2lmKG09RnVuY3Rpb24oImJpbmRlciIsInJldHVybiBmdW5jdGlvbiAoIitQLmpvaW4oIiwiKSsiKXsgcmV0dXJuIGJpbmRlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7IH0iKShEKSxTLnByb3RvdHlwZSl7dmFyIGs9ZnVuY3Rpb24oKXt9O2sucHJvdG90''@;'; put 'put ''eXBlPVMucHJvdG90eXBlLG0ucHJvdG90eXBlPW5ldyBrLGsucHJvdG90eXBlPW51bGx9cmV0dXJuIG19fSw4NjEyOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig3NjQ4KTtaLmV4cG9ydHM9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmR8fE59LDIxMDooWixBLGopPT57InVzZSBzdHJp''@;'; put 'put ''Y3QiO3ZhciBOLHo9U3ludGF4RXJyb3IsQz1GdW5jdGlvbixTPVR5cGVFcnJvcixtPWZ1bmN0aW9uKHkpe3RyeXtyZXR1cm4gQygnInVzZSBzdHJpY3QiOyByZXR1cm4gKCcreSsiKS5jb25zdHJ1Y3RvcjsiKSgpfWNhdGNoKHApe319LEY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv''@;'; put 'put ''cjtpZihGKXRyeXtGKHt9LCIiKX1jYXRjaCh5KXtGPW51bGx9dmFyIEQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgU30sdz1GP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBEfWNhdGNoKHkpe3RyeXtyZXR1cm4gRihhcmd1bWVudHMsImNhbGxlZSIpLmdldH1jYXRjaChwKXtyZXR1cm4gRH19fSgpOkQs''@;'; put 'put ''UD1qKDE0MDUpKCksTT1PYmplY3QuZ2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKHkpe3JldHVybiB5Ll9fcHJvdG9fX30saz17fSxPPSJ1bmRlZmluZWQiPT10eXBlb2YgVWludDhBcnJheT9OOk0oVWludDhBcnJheSksTD17IiVBZ2dyZWdhdGVFcnJvciUiOiJ1bmRlZmluZWQiPT10eXBlb2Yg''@;'; put 'put ''QWdncmVnYXRlRXJyb3I/TjpBZ2dyZWdhdGVFcnJvciwiJUFycmF5JSI6QXJyYXksIiVBcnJheUJ1ZmZlciUiOiJ1bmRlZmluZWQiPT10eXBlb2YgQXJyYXlCdWZmZXI/TjpBcnJheUJ1ZmZlciwiJUFycmF5SXRlcmF0b3JQcm90b3R5cGUlIjpQP00oW11bU3ltYm9sLml0ZXJhdG9yXSgpKTpO''@;'; put 'put ''LCIlQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJvdG90eXBlJSI6TiwiJUFzeW5jRnVuY3Rpb24lIjprLCIlQXN5bmNHZW5lcmF0b3IlIjprLCIlQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiUiOmssIiVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSI6aywiJUF0b21pY3MlIjoidW5kZWZpbmVkIj09dHlw''@;'; put 'put ''ZW9mIEF0b21pY3M/TjpBdG9taWNzLCIlQmlnSW50JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBCaWdJbnQ/TjpCaWdJbnQsIiVCb29sZWFuJSI6Qm9vbGVhbiwiJURhdGFWaWV3JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBEYXRhVmlldz9OOkRhdGFWaWV3LCIlRGF0ZSUiOkRhdGUsIiVkZWNvZGVV''@;'; put 'put ''UkklIjpkZWNvZGVVUkksIiVkZWNvZGVVUklDb21wb25lbnQlIjpkZWNvZGVVUklDb21wb25lbnQsIiVlbmNvZGVVUkklIjplbmNvZGVVUkksIiVlbmNvZGVVUklDb21wb25lbnQlIjplbmNvZGVVUklDb21wb25lbnQsIiVFcnJvciUiOkVycm9yLCIlZXZhbCUiOmV2YWwsIiVFdmFsRXJyb3Il''@;'; put 'put ''IjpFdmFsRXJyb3IsIiVGbG9hdDMyQXJyYXklIjoidW5kZWZpbmVkIj09dHlwZW9mIEZsb2F0MzJBcnJheT9OOkZsb2F0MzJBcnJheSwiJUZsb2F0NjRBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgRmxvYXQ2NEFycmF5P046RmxvYXQ2NEFycmF5LCIlRmluYWxpemF0aW9uUmVnaXN0cnkl''@;'; put 'put ''IjoidW5kZWZpbmVkIj09dHlwZW9mIEZpbmFsaXphdGlvblJlZ2lzdHJ5P046RmluYWxpemF0aW9uUmVnaXN0cnksIiVGdW5jdGlvbiUiOkMsIiVHZW5lcmF0b3JGdW5jdGlvbiUiOmssIiVJbnQ4QXJyYXklIjoidW5kZWZpbmVkIj09dHlwZW9mIEludDhBcnJheT9OOkludDhBcnJheSwiJUlu''@;'; put 'put ''dDE2QXJyYXklIjoidW5kZWZpbmVkIj09dHlwZW9mIEludDE2QXJyYXk/TjpJbnQxNkFycmF5LCIlSW50MzJBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgSW50MzJBcnJheT9OOkludDMyQXJyYXksIiVpc0Zpbml0ZSUiOmlzRmluaXRlLCIlaXNOYU4lIjppc05hTiwiJUl0ZXJhdG9yUHJv''@;'; put 'put ''dG90eXBlJSI6UD9NKE0oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSk6TiwiJUpTT04lIjoib2JqZWN0Ij09dHlwZW9mIEpTT04/SlNPTjpOLCIlTWFwJSI6InVuZGVmaW5lZCI9PXR5cGVvZiBNYXA/TjpNYXAsIiVNYXBJdGVyYXRvclByb3RvdHlwZSUiOiJ1bmRlZmluZWQiIT10eXBlb2YgTWFw''@;'; put 'put ''JiZQP00oKG5ldyBNYXApW1N5bWJvbC5pdGVyYXRvcl0oKSk6TiwiJU1hdGglIjpNYXRoLCIlTnVtYmVyJSI6TnVtYmVyLCIlT2JqZWN0JSI6T2JqZWN0LCIlcGFyc2VGbG9hdCUiOnBhcnNlRmxvYXQsIiVwYXJzZUludCUiOnBhcnNlSW50LCIlUHJvbWlzZSUiOiJ1bmRlZmluZWQiPT10eXBl''@;'; put 'put ''b2YgUHJvbWlzZT9OOlByb21pc2UsIiVQcm94eSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgUHJveHk/TjpQcm94eSwiJVJhbmdlRXJyb3IlIjpSYW5nZUVycm9yLCIlUmVmZXJlbmNlRXJyb3IlIjpSZWZlcmVuY2VFcnJvciwiJVJlZmxlY3QlIjoidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3Q/''@;'; put 'put ''TjpSZWZsZWN0LCIlUmVnRXhwJSI6UmVnRXhwLCIlU2V0JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBTZXQ/TjpTZXQsIiVTZXRJdGVyYXRvclByb3RvdHlwZSUiOiJ1bmRlZmluZWQiIT10eXBlb2YgU2V0JiZQP00oKG5ldyBTZXQpW1N5bWJvbC5pdGVyYXRvcl0oKSk6TiwiJVNoYXJlZEFycmF5''@;'; put 'put ''QnVmZmVyJSI6InVuZGVmaW5lZCI9PXR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcj9OOlNoYXJlZEFycmF5QnVmZmVyLCIlU3RyaW5nJSI6U3RyaW5nLCIlU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUlIjpQP00oIiJbU3ltYm9sLml0ZXJhdG9yXSgpKTpOLCIlU3ltYm9sJSI6UD9TeW1ib2w6Tiwi''@;'; put 'put ''JVN5bnRheEVycm9yJSI6eiwiJVRocm93VHlwZUVycm9yJSI6dywiJVR5cGVkQXJyYXklIjpPLCIlVHlwZUVycm9yJSI6UywiJVVpbnQ4QXJyYXklIjoidW5kZWZpbmVkIj09dHlwZW9mIFVpbnQ4QXJyYXk/TjpVaW50OEFycmF5LCIlVWludDhDbGFtcGVkQXJyYXklIjoidW5kZWZpbmVkIj09''@;'; put 'put ''dHlwZW9mIFVpbnQ4Q2xhbXBlZEFycmF5P046VWludDhDbGFtcGVkQXJyYXksIiVVaW50MTZBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgVWludDE2QXJyYXk/TjpVaW50MTZBcnJheSwiJVVpbnQzMkFycmF5JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBVaW50MzJBcnJheT9OOlVpbnQzMkFy''@;'; put 'put ''cmF5LCIlVVJJRXJyb3IlIjpVUklFcnJvciwiJVdlYWtNYXAlIjoidW5kZWZpbmVkIj09dHlwZW9mIFdlYWtNYXA/TjpXZWFrTWFwLCIlV2Vha1JlZiUiOiJ1bmRlZmluZWQiPT10eXBlb2YgV2Vha1JlZj9OOldlYWtSZWYsIiVXZWFrU2V0JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBXZWFrU2V0''@;'; put 'put ''P046V2Vha1NldH0sVD1mdW5jdGlvbiB5KHApe3ZhciBnO2lmKCIlQXN5bmNGdW5jdGlvbiUiPT09cClnPW0oImFzeW5jIGZ1bmN0aW9uICgpIHt9Iik7ZWxzZSBpZigiJUdlbmVyYXRvckZ1bmN0aW9uJSI9PT1wKWc9bSgiZnVuY3Rpb24qICgpIHt9Iik7ZWxzZSBpZigiJUFzeW5jR2VuZXJh''@;'; put 'put ''dG9yRnVuY3Rpb24lIj09PXApZz1tKCJhc3luYyBmdW5jdGlvbiogKCkge30iKTtlbHNlIGlmKCIlQXN5bmNHZW5lcmF0b3IlIj09PXApe3ZhciBfPXkoIiVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJSIpO18mJihnPV8ucHJvdG90eXBlKX1lbHNlIGlmKCIlQXN5bmNJdGVyYXRvclByb3RvdHlw''@;'; put 'put ''ZSUiPT09cCl7dmFyIEU9eSgiJUFzeW5jR2VuZXJhdG9yJSIpO0UmJihnPU0oRS5wcm90b3R5cGUpKX1yZXR1cm4gTFtwXT1nLGd9LFk9eyIlQXJyYXlCdWZmZXJQcm90b3R5cGUlIjpbIkFycmF5QnVmZmVyIiwicHJvdG90eXBlIl0sIiVBcnJheVByb3RvdHlwZSUiOlsiQXJyYXkiLCJwcm90''@;'; put 'put ''b3R5cGUiXSwiJUFycmF5UHJvdG9fZW50cmllcyUiOlsiQXJyYXkiLCJwcm90b3R5cGUiLCJlbnRyaWVzIl0sIiVBcnJheVByb3RvX2ZvckVhY2glIjpbIkFycmF5IiwicHJvdG90eXBlIiwiZm9yRWFjaCJdLCIlQXJyYXlQcm90b19rZXlzJSI6WyJBcnJheSIsInByb3RvdHlwZSIsImtleXMi''@;'; put 'put ''XSwiJUFycmF5UHJvdG9fdmFsdWVzJSI6WyJBcnJheSIsInByb3RvdHlwZSIsInZhbHVlcyJdLCIlQXN5bmNGdW5jdGlvblByb3RvdHlwZSUiOlsiQXN5bmNGdW5jdGlvbiIsInByb3RvdHlwZSJdLCIlQXN5bmNHZW5lcmF0b3IlIjpbIkFzeW5jR2VuZXJhdG9yRnVuY3Rpb24iLCJwcm90b3R5''@;'; put 'put ''cGUiXSwiJUFzeW5jR2VuZXJhdG9yUHJvdG90eXBlJSI6WyJBc3luY0dlbmVyYXRvckZ1bmN0aW9uIiwicHJvdG90eXBlIiwicHJvdG90eXBlIl0sIiVCb29sZWFuUHJvdG90eXBlJSI6WyJCb29sZWFuIiwicHJvdG90eXBlIl0sIiVEYXRhVmlld1Byb3RvdHlwZSUiOlsiRGF0YVZpZXciLCJw''@;'; put 'put ''cm90b3R5cGUiXSwiJURhdGVQcm90b3R5cGUlIjpbIkRhdGUiLCJwcm90b3R5cGUiXSwiJUVycm9yUHJvdG90eXBlJSI6WyJFcnJvciIsInByb3RvdHlwZSJdLCIlRXZhbEVycm9yUHJvdG90eXBlJSI6WyJFdmFsRXJyb3IiLCJwcm90b3R5cGUiXSwiJUZsb2F0MzJBcnJheVByb3RvdHlwZSUi''@;'; put 'put ''OlsiRmxvYXQzMkFycmF5IiwicHJvdG90eXBlIl0sIiVGbG9hdDY0QXJyYXlQcm90b3R5cGUlIjpbIkZsb2F0NjRBcnJheSIsInByb3RvdHlwZSJdLCIlRnVuY3Rpb25Qcm90b3R5cGUlIjpbIkZ1bmN0aW9uIiwicHJvdG90eXBlIl0sIiVHZW5lcmF0b3IlIjpbIkdlbmVyYXRvckZ1bmN0aW9u''@;'; put 'put ''IiwicHJvdG90eXBlIl0sIiVHZW5lcmF0b3JQcm90b3R5cGUlIjpbIkdlbmVyYXRvckZ1bmN0aW9uIiwicHJvdG90eXBlIiwicHJvdG90eXBlIl0sIiVJbnQ4QXJyYXlQcm90b3R5cGUlIjpbIkludDhBcnJheSIsInByb3RvdHlwZSJdLCIlSW50MTZBcnJheVByb3RvdHlwZSUiOlsiSW50MTZB''@;'; put 'put ''cnJheSIsInByb3RvdHlwZSJdLCIlSW50MzJBcnJheVByb3RvdHlwZSUiOlsiSW50MzJBcnJheSIsInByb3RvdHlwZSJdLCIlSlNPTlBhcnNlJSI6WyJKU09OIiwicGFyc2UiXSwiJUpTT05TdHJpbmdpZnklIjpbIkpTT04iLCJzdHJpbmdpZnkiXSwiJU1hcFByb3RvdHlwZSUiOlsiTWFwIiwi''@;'; put 'put ''cHJvdG90eXBlIl0sIiVOdW1iZXJQcm90b3R5cGUlIjpbIk51bWJlciIsInByb3RvdHlwZSJdLCIlT2JqZWN0UHJvdG90eXBlJSI6WyJPYmplY3QiLCJwcm90b3R5cGUiXSwiJU9ialByb3RvX3RvU3RyaW5nJSI6WyJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyJdLCIlT2JqUHJvdG9f''@;'; put 'put ''dmFsdWVPZiUiOlsiT2JqZWN0IiwicHJvdG90eXBlIiwidmFsdWVPZiJdLCIlUHJvbWlzZVByb3RvdHlwZSUiOlsiUHJvbWlzZSIsInByb3RvdHlwZSJdLCIlUHJvbWlzZVByb3RvX3RoZW4lIjpbIlByb21pc2UiLCJwcm90b3R5cGUiLCJ0aGVuIl0sIiVQcm9taXNlX2FsbCUiOlsiUHJvbWlz''@;'; put 'put ''ZSIsImFsbCJdLCIlUHJvbWlzZV9yZWplY3QlIjpbIlByb21pc2UiLCJyZWplY3QiXSwiJVByb21pc2VfcmVzb2x2ZSUiOlsiUHJvbWlzZSIsInJlc29sdmUiXSwiJVJhbmdlRXJyb3JQcm90b3R5cGUlIjpbIlJhbmdlRXJyb3IiLCJwcm90b3R5cGUiXSwiJVJlZmVyZW5jZUVycm9yUHJvdG90''@;'; put 'put ''eXBlJSI6WyJSZWZlcmVuY2VFcnJvciIsInByb3RvdHlwZSJdLCIlUmVnRXhwUHJvdG90eXBlJSI6WyJSZWdFeHAiLCJwcm90b3R5cGUiXSwiJVNldFByb3RvdHlwZSUiOlsiU2V0IiwicHJvdG90eXBlIl0sIiVTaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZSUiOlsiU2hhcmVkQXJyYXlCdWZm''@;'; put 'put ''ZXIiLCJwcm90b3R5cGUiXSwiJVN0cmluZ1Byb3RvdHlwZSUiOlsiU3RyaW5nIiwicHJvdG90eXBlIl0sIiVTeW1ib2xQcm90b3R5cGUlIjpbIlN5bWJvbCIsInByb3RvdHlwZSJdLCIlU3ludGF4RXJyb3JQcm90b3R5cGUlIjpbIlN5bnRheEVycm9yIiwicHJvdG90eXBlIl0sIiVUeXBlZEFy''@;'; put 'put ''cmF5UHJvdG90eXBlJSI6WyJUeXBlZEFycmF5IiwicHJvdG90eXBlIl0sIiVUeXBlRXJyb3JQcm90b3R5cGUlIjpbIlR5cGVFcnJvciIsInByb3RvdHlwZSJdLCIlVWludDhBcnJheVByb3RvdHlwZSUiOlsiVWludDhBcnJheSIsInByb3RvdHlwZSJdLCIlVWludDhDbGFtcGVkQXJyYXlQcm90''@;'; put 'put ''b3R5cGUlIjpbIlVpbnQ4Q2xhbXBlZEFycmF5IiwicHJvdG90eXBlIl0sIiVVaW50MTZBcnJheVByb3RvdHlwZSUiOlsiVWludDE2QXJyYXkiLCJwcm90b3R5cGUiXSwiJVVpbnQzMkFycmF5UHJvdG90eXBlJSI6WyJVaW50MzJBcnJheSIsInByb3RvdHlwZSJdLCIlVVJJRXJyb3JQcm90b3R5''@;'; put 'put ''cGUlIjpbIlVSSUVycm9yIiwicHJvdG90eXBlIl0sIiVXZWFrTWFwUHJvdG90eXBlJSI6WyJXZWFrTWFwIiwicHJvdG90eXBlIl0sIiVXZWFrU2V0UHJvdG90eXBlJSI6WyJXZWFrU2V0IiwicHJvdG90eXBlIl19LEk9aig4NjEyKSxVPWooNzY0MiksVj1JLmNhbGwoRnVuY3Rpb24uY2FsbCxB''@;'; put 'put ''cnJheS5wcm90b3R5cGUuY29uY2F0KSxSPUkuY2FsbChGdW5jdGlvbi5hcHBseSxBcnJheS5wcm90b3R5cGUuc3BsaWNlKSxCPUkuY2FsbChGdW5jdGlvbi5jYWxsLFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSkscT1JLmNhbGwoRnVuY3Rpb24uY2FsbCxTdHJpbmcucHJvdG90eXBlLnNsaWNl''@;'; put 'put ''KSxKPUkuY2FsbChGdW5jdGlvbi5jYWxsLFJlZ0V4cC5wcm90b3R5cGUuZXhlYyksJD0vW14lLltcXV0rfFxbKD86KC0/XGQrKD86XC5cZCspPyl8KFsiJ10pKCg/Oig/IVwyKVteXFxdfFxcLikqPylcMilcXXwoPz0oPzpcLnxcW1xdKSg/OlwufFxbXF18JSQpKS9nLHRlPS9cXChcXCk/L2cs''@;'; put 'put ''aD1mdW5jdGlvbih5KXt2YXIgcD1xKHksMCwxKSxnPXEoeSwtMSk7aWYoIiUiPT09cCYmIiUiIT09Zyl0aHJvdyBuZXcgeigiaW52YWxpZCBpbnRyaW5zaWMgc3ludGF4LCBleHBlY3RlZCBjbG9zaW5nIGAlYCIpO2lmKCIlIj09PWcmJiIlIiE9PXApdGhyb3cgbmV3IHooImludmFsaWQgaW50''@;'; put 'put ''cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgb3BlbmluZyBgJWAiKTt2YXIgXz1bXTtyZXR1cm4gQih5LCQsZnVuY3Rpb24oRSxXLEcsWCl7X1tfLmxlbmd0aF09Rz9CKFgsdGUsIiQxIik6V3x8RX0pLF99LGI9ZnVuY3Rpb24oeSxwKXt2YXIgZyxfPXk7aWYoVShZLF8pJiYoXz0iJSIrKGc9WVtf''@;'; put 'put ''XSlbMF0rIiUiKSxVKEwsXykpe3ZhciBFPUxbX107aWYoRT09PWsmJihFPVQoXykpLHZvaWQgMD09PUUmJiFwKXRocm93IG5ldyBTKCJpbnRyaW5zaWMgIit5KyIgZXhpc3RzLCBidXQgaXMgbm90IGF2YWlsYWJsZS4gUGxlYXNlIGZpbGUgYW4gaXNzdWUhIik7cmV0dXJue2FsaWFzOmcsbmFt''@;'; put 'put ''ZTpfLHZhbHVlOkV9fXRocm93IG5ldyB6KCJpbnRyaW5zaWMgIit5KyIgZG9lcyBub3QgZXhpc3QhIil9O1ouZXhwb3J0cz1mdW5jdGlvbih5LHApe2lmKCJzdHJpbmciIT10eXBlb2YgeXx8MD09PXkubGVuZ3RoKXRocm93IG5ldyBTKCJpbnRyaW5zaWMgbmFtZSBtdXN0IGJlIGEgbm9uLWVt''@;'; put 'put ''cHR5IHN0cmluZyIpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSYmImJvb2xlYW4iIT10eXBlb2YgcCl0aHJvdyBuZXcgUygnImFsbG93TWlzc2luZyIgYXJndW1lbnQgbXVzdCBiZSBhIGJvb2xlYW4nKTtpZihudWxsPT09SigvXiU/W14lXSolPyQvZyx5KSl0aHJvdyBuZXcgeigiYCVgIG1heSBu''@;'; put 'put ''b3QgYmUgcHJlc2VudCBhbnl3aGVyZSBidXQgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSBpbnRyaW5zaWMgbmFtZSIpO3ZhciBnPWgoeSksXz1nLmxlbmd0aD4wP2dbMF06IiIsRT1iKCIlIitfKyIlIixwKSxXPUUubmFtZSxHPUUudmFsdWUsWD0hMSxuZT1FLmFsaWFzO25lJiYo''@;'; put 'put ''Xz1uZVswXSxSKGcsVihbMCwxXSxuZSkpKTtmb3IodmFyIGFlPTEsdWU9ITA7YWU8Zy5sZW5ndGg7YWUrPTEpe3ZhciBiZT1nW2FlXSxfZT1xKGJlLDAsMSksbGU9cShiZSwtMSk7aWYoKCciJz09PV9lfHwiJyI9PT1fZXx8ImAiPT09X2V8fCciJz09PWxlfHwiJyI9PT1sZXx8ImAiPT09bGUp''@;'; put 'put ''JiZfZSE9PWxlKXRocm93IG5ldyB6KCJwcm9wZXJ0eSBuYW1lcyB3aXRoIHF1b3RlcyBtdXN0IGhhdmUgbWF0Y2hpbmcgcXVvdGVzIik7aWYoImNvbnN0cnVjdG9yIiE9PWJlJiZ1ZXx8KFg9ITApLFUoTCxXPSIlIisoXys9Ii4iK2JlKSsiJSIpKUc9TFtXXTtlbHNlIGlmKG51bGwhPUcpe2lm''@;'; put 'put ''KCEoYmUgaW4gRykpe2lmKCFwKXRocm93IG5ldyBTKCJiYXNlIGludHJpbnNpYyBmb3IgIit5KyIgZXhpc3RzLCBidXQgdGhlIHByb3BlcnR5IGlzIG5vdCBhdmFpbGFibGUuIik7cmV0dXJufWlmKEYmJmFlKzE+PWcubGVuZ3RoKXt2YXIgY2U9RihHLGJlKTtHPSh1ZT0hIWNlKSYmImdldCJp''@;'; put 'put ''biBjZSYmISgib3JpZ2luYWxWYWx1ZSJpbiBjZS5nZXQpP2NlLmdldDpHW2JlXX1lbHNlIHVlPVUoRyxiZSksRz1HW2JlXTt1ZSYmIVgmJihMW1ddPUcpfX1yZXR1cm4gR319LDY3NzI6KFosQSxqKT0+e3ZhciBOPWooNDE1NSk7ZnVuY3Rpb24geihPLEwpe3JldHVybiBPYmplY3QucHJvdG90''@;'; put 'put ''eXBlLmhhc093blByb3BlcnR5LmNhbGwoTyxMKX1BLnNldG9wdHM9ZnVuY3Rpb24oTyxMLFQpe2lmKFR8fChUPXt9KSxULm1hdGNoQmFzZSYmLTE9PT1MLmluZGV4T2YoIi8iKSl7aWYoVC5ub2dsb2JzdGFyKXRocm93IG5ldyBFcnJvcigiYmFzZSBtYXRjaGluZyByZXF1aXJlcyBnbG9ic3Rh''@;'; put 'put ''ciIpO0w9IioqLyIrTH12YXIgSTtPLnNpbGVudD0hIVQuc2lsZW50LE8ucGF0dGVybj1MLE8uc3RyaWN0PSExIT09VC5zdHJpY3QsTy5yZWFscGF0aD0hIVQucmVhbHBhdGgsTy5yZWFscGF0aENhY2hlPVQucmVhbHBhdGhDYWNoZXx8T2JqZWN0LmNyZWF0ZShudWxsKSxPLmZvbGxvdz0hIVQu''@;'; put 'put ''Zm9sbG93LE8uZG90PSEhVC5kb3QsTy5tYXJrPSEhVC5tYXJrLE8ubm9kaXI9ISFULm5vZGlyLE8ubm9kaXImJihPLm1hcms9ITApLE8uc3luYz0hIVQuc3luYyxPLm5vdW5pcXVlPSEhVC5ub3VuaXF1ZSxPLm5vbnVsbD0hIVQubm9udWxsLE8ubm9zb3J0PSEhVC5ub3NvcnQsTy5ub2Nhc2U9''@;'; put 'put ''ISFULm5vY2FzZSxPLnN0YXQ9ISFULnN0YXQsTy5ub3Byb2Nlc3M9ISFULm5vcHJvY2VzcyxPLmFic29sdXRlPSEhVC5hYnNvbHV0ZSxPLmZzPVQuZnN8fEMsTy5tYXhMZW5ndGg9VC5tYXhMZW5ndGh8fDEvMCxPLmNhY2hlPVQuY2FjaGV8fE9iamVjdC5jcmVhdGUobnVsbCksTy5zdGF0Q2Fj''@;'; put 'put ''aGU9VC5zdGF0Q2FjaGV8fE9iamVjdC5jcmVhdGUobnVsbCksTy5zeW1saW5rcz1ULnN5bWxpbmtzfHxPYmplY3QuY3JlYXRlKG51bGwpLChJPU8pLmlnbm9yZT1ULmlnbm9yZXx8W10sQXJyYXkuaXNBcnJheShJLmlnbm9yZSl8fChJLmlnbm9yZT1bSS5pZ25vcmVdKSxJLmlnbm9yZS5sZW5n''@;'; put 'put ''dGgmJihJLmlnbm9yZT1JLmlnbm9yZS5tYXAoUCkpLE8uY2hhbmdlZEN3ZD0hMTt2YXIgWT1OLmN3ZCgpO3ooVCwiY3dkIik/KE8uY3dkPVMucmVzb2x2ZShULmN3ZCksTy5jaGFuZ2VkQ3dkPU8uY3dkIT09WSk6Ty5jd2Q9WSxPLnJvb3Q9VC5yb290fHxTLnJlc29sdmUoTy5jd2QsIi8iKSxP''@;'; put 'put ''LnJvb3Q9Uy5yZXNvbHZlKE8ucm9vdCksIndpbjMyIj09PU4ucGxhdGZvcm0mJihPLnJvb3Q9Ty5yb290LnJlcGxhY2UoL1xcL2csIi8iKSksTy5jd2RBYnM9RihPLmN3ZCk/Ty5jd2Q6TShPLE8uY3dkKSwid2luMzIiPT09Ti5wbGF0Zm9ybSYmKE8uY3dkQWJzPU8uY3dkQWJzLnJlcGxhY2Uo''@;'; put 'put ''L1xcL2csIi8iKSksTy5ub21vdW50PSEhVC5ub21vdW50LFQubm9uZWdhdGU9ITAsVC5ub2NvbW1lbnQ9ITAsVC5hbGxvd1dpbmRvd3NFc2NhcGU9ITEsTy5taW5pbWF0Y2g9bmV3IEQoTCxUKSxPLm9wdGlvbnM9Ty5taW5pbWF0Y2gub3B0aW9uc30sQS5vd25Qcm9wPXosQS5tYWtlQWJzPU0s''@;'; put 'put ''QS5maW5pc2g9ZnVuY3Rpb24oTyl7Zm9yKHZhciBMPU8ubm91bmlxdWUsVD1MP1tdOk9iamVjdC5jcmVhdGUobnVsbCksWT0wLEk9Ty5tYXRjaGVzLmxlbmd0aDtZPEk7WSsrKXt2YXIgVT1PLm1hdGNoZXNbWV07aWYoVSYmMCE9PU9iamVjdC5rZXlzKFUpLmxlbmd0aCl7dmFyIFY9T2JqZWN0''@;'; put 'put ''LmtleXMoVSk7TD9ULnB1c2guYXBwbHkoVCxWKTpWLmZvckVhY2goZnVuY3Rpb24oQil7VFtCXT0hMH0pfWVsc2UgaWYoTy5ub251bGwpe3ZhciBSPU8ubWluaW1hdGNoLmdsb2JTZXRbWV07TD9ULnB1c2goUik6VFtSXT0hMH19aWYoTHx8KFQ9T2JqZWN0LmtleXMoVCkpLE8ubm9zb3J0fHwo''@;'; put 'put ''VD1ULnNvcnQodykpLE8ubWFyayl7Zm9yKFk9MDtZPFQubGVuZ3RoO1krKylUW1ldPU8uX21hcmsoVFtZXSk7Ty5ub2RpciYmKFQ9VC5maWx0ZXIoZnVuY3Rpb24oQil7dmFyIHE9IS9cLyQvLnRlc3QoQiksSj1PLmNhY2hlW0JdfHxPLmNhY2hlW00oTyxCKV07cmV0dXJuIHEmJkomJihxPSJE''@;'; put 'put ''SVIiIT09SiYmIUFycmF5LmlzQXJyYXkoSikpLHF9KSl9Ty5pZ25vcmUubGVuZ3RoJiYoVD1ULmZpbHRlcihmdW5jdGlvbihCKXtyZXR1cm4hayhPLEIpfSkpLE8uZm91bmQ9VH0sQS5tYXJrPWZ1bmN0aW9uKE8sTCl7dmFyIFQ9TShPLEwpLFk9Ty5jYWNoZVtUXSxJPUw7aWYoWSl7dmFyIFU9''@;'; put 'put ''IkRJUiI9PT1ZfHxBcnJheS5pc0FycmF5KFkpLFY9Ii8iPT09TC5zbGljZSgtMSk7aWYoVSYmIVY/SSs9Ii8iOiFVJiZWJiYoST1JLnNsaWNlKDAsLTEpKSxJIT09TCl7dmFyIFI9TShPLEkpO08uc3RhdENhY2hlW1JdPU8uc3RhdENhY2hlW1RdLE8uY2FjaGVbUl09Ty5jYWNoZVtUXX19cmV0''@;'; put 'put ''dXJuIEl9LEEuaXNJZ25vcmVkPWssQS5jaGlsZHJlbklnbm9yZWQ9ZnVuY3Rpb24oTyxMKXtyZXR1cm4hIU8uaWdub3JlLmxlbmd0aCYmTy5pZ25vcmUuc29tZShmdW5jdGlvbihUKXtyZXR1cm4hKCFULmdtYXRjaGVyfHwhVC5nbWF0Y2hlci5tYXRjaChMKSl9KX07dmFyIEM9aigzNzEwKSxT''@;'; put 'put ''PWooMjUyMCksbT1qKDExNzEpLEY9aig0MDk1KSxEPW0uTWluaW1hdGNoO2Z1bmN0aW9uIHcoTyxMKXtyZXR1cm4gTy5sb2NhbGVDb21wYXJlKEwsImVuIil9ZnVuY3Rpb24gUChPKXt2YXIgTD1udWxsO2lmKCIvKioiPT09Ty5zbGljZSgtMykpe3ZhciBUPU8ucmVwbGFjZSgvKFwvXCpcKikr''@;'; put 'put ''JC8sIiIpO0w9bmV3IEQoVCx7ZG90OiEwfSl9cmV0dXJue21hdGNoZXI6bmV3IEQoTyx7ZG90OiEwfSksZ21hdGNoZXI6TH19ZnVuY3Rpb24gTShPLEwpe3ZhciBUPUw7cmV0dXJuIFQ9Ii8iPT09TC5jaGFyQXQoMCk/Uy5qb2luKE8ucm9vdCxMKTpGKEwpfHwiIj09PUw/TDpPLmNoYW5nZWRD''@;'; put 'put ''d2Q/Uy5yZXNvbHZlKE8uY3dkLEwpOlMucmVzb2x2ZShMKSwid2luMzIiPT09Ti5wbGF0Zm9ybSYmKFQ9VC5yZXBsYWNlKC9cXC9nLCIvIikpLFR9ZnVuY3Rpb24gayhPLEwpe3JldHVybiEhTy5pZ25vcmUubGVuZ3RoJiZPLmlnbm9yZS5zb21lKGZ1bmN0aW9uKFQpe3JldHVybiBULm1hdGNo''@;'; put 'put ''ZXIubWF0Y2goTCl8fCEoIVQuZ21hdGNoZXJ8fCFULmdtYXRjaGVyLm1hdGNoKEwpKX0pfX0sMjg4NDooWixBLGopPT57dmFyIE49aig0MTU1KSx6PWooNTEwOCk7Wi5leHBvcnRzPVY7dmFyIEM9aig3MzM0KSxTPWooMTE3MSksbT1qKDU3MTcpLEY9aig3MTg3KS5FdmVudEVtaXR0ZXIsRD1q''@;'; put 'put ''KDI1MjApLHc9aig5MjgyKSxQPWooNDA5NSksTT1qKDQ3NTEpLGs9aig2NzcyKSxPPWsuc2V0b3B0cyxMPWsub3duUHJvcCxUPWooNzg0NCksWT0oaig5NTM5KSxrLmNoaWxkcmVuSWdub3JlZCksST1rLmlzSWdub3JlZCxVPWooNzc4KTtmdW5jdGlvbiBWKHEsSiwkKXtpZigiZnVuY3Rpb24i''@;'; put 'put ''PT10eXBlb2YgSiYmKCQ9SixKPXt9KSxKfHwoSj17fSksSi5zeW5jKXtpZigkKXRocm93IG5ldyBUeXBlRXJyb3IoImNhbGxiYWNrIHByb3ZpZGVkIHRvIHN5bmMgZ2xvYiIpO3JldHVybiBNKHEsSil9cmV0dXJuIG5ldyBCKHEsSiwkKX1WLnN5bmM9TTt2YXIgUj1WLkdsb2JTeW5jPU0uR2xv''@;'; put 'put ''YlN5bmM7ZnVuY3Rpb24gQihxLEosJCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIEomJigkPUosSj1udWxsKSxKJiZKLnN5bmMpe2lmKCQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgcHJvdmlkZWQgdG8gc3luYyBnbG9iIik7cmV0dXJuIG5ldyBSKHEsSil9aWYoISh0aGlzIGluc3Rh''@;'; put 'put ''bmNlb2YgQikpcmV0dXJuIG5ldyBCKHEsSiwkKTtPKHRoaXMscSxKKSx0aGlzLl9kaWRSZWFsUGF0aD0hMTt2YXIgdGU9dGhpcy5taW5pbWF0Y2guc2V0Lmxlbmd0aDt0aGlzLm1hdGNoZXM9bmV3IEFycmF5KHRlKSwiZnVuY3Rpb24iPT10eXBlb2YgJCYmKCQ9VSgkKSx0aGlzLm9uKCJlcnJv''@;'; put 'put ''ciIsJCksdGhpcy5vbigiZW5kIixmdW5jdGlvbihwKXskKG51bGwscCl9KSk7dmFyIGg9dGhpcztpZih0aGlzLl9wcm9jZXNzaW5nPTAsdGhpcy5fZW1pdFF1ZXVlPVtdLHRoaXMuX3Byb2Nlc3NRdWV1ZT1bXSx0aGlzLnBhdXNlZD0hMSx0aGlzLm5vcHJvY2VzcylyZXR1cm4gdGhpcztpZigw''@;'; put 'put ''PT09dGUpcmV0dXJuIHkoKTtmb3IodmFyIGI9MDtiPHRlO2IrKyl0aGlzLl9wcm9jZXNzKHRoaXMubWluaW1hdGNoLnNldFtiXSxiLCExLHkpO2Z1bmN0aW9uIHkoKXstLWguX3Byb2Nlc3NpbmcsaC5fcHJvY2Vzc2luZzw9MCYmaC5fZmluaXNoKCl9fVYuZ2xvYj1WLFYuaGFzTWFnaWM9ZnVu''@;'; put 'put ''Y3Rpb24ocSxKKXt2YXIgJD1mdW5jdGlvbihiLHkpe2lmKG51bGw9PT15fHwib2JqZWN0IiE9dHlwZW9mIHkpcmV0dXJuIGI7Zm9yKHZhciBwPU9iamVjdC5rZXlzKHkpLGc9cC5sZW5ndGg7Zy0tOyliW3BbZ11dPXlbcFtnXV07cmV0dXJuIGJ9KHt9LEopOyQubm9wcm9jZXNzPSEwO3ZhciB0''@;'; put 'put ''ZT1uZXcgQihxLCQpLm1pbmltYXRjaC5zZXQ7aWYoIXEpcmV0dXJuITE7aWYodGUubGVuZ3RoPjEpcmV0dXJuITA7Zm9yKHZhciBoPTA7aDx0ZVswXS5sZW5ndGg7aCsrKWlmKCJzdHJpbmciIT10eXBlb2YgdGVbMF1baF0pcmV0dXJuITA7cmV0dXJuITF9LFYuR2xvYj1CLG0oQixGKSxCLnBy''@;'; put 'put ''b3RvdHlwZS5fZmluaXNoPWZ1bmN0aW9uKCl7aWYodyh0aGlzIGluc3RhbmNlb2YgQiksIXRoaXMuYWJvcnRlZCl7aWYodGhpcy5yZWFscGF0aCYmIXRoaXMuX2RpZFJlYWxwYXRoKXJldHVybiB0aGlzLl9yZWFscGF0aCgpO2suZmluaXNoKHRoaXMpLHRoaXMuZW1pdCgiZW5kIix0aGlzLmZv''@;'; put 'put ''dW5kKX19LEIucHJvdG90eXBlLl9yZWFscGF0aD1mdW5jdGlvbigpe2lmKCF0aGlzLl9kaWRSZWFscGF0aCl7dGhpcy5fZGlkUmVhbHBhdGg9ITA7dmFyIHE9dGhpcy5tYXRjaGVzLmxlbmd0aDtpZigwPT09cSlyZXR1cm4gdGhpcy5fZmluaXNoKCk7Zm9yKHZhciBKPXRoaXMsJD0wOyQ8dGhp''@;'; put 'put ''cy5tYXRjaGVzLmxlbmd0aDskKyspdGhpcy5fcmVhbHBhdGhTZXQoJCx0ZSl9ZnVuY3Rpb24gdGUoKXswPT0tLXEmJkouX2ZpbmlzaCgpfX0sQi5wcm90b3R5cGUuX3JlYWxwYXRoU2V0PWZ1bmN0aW9uKHEsSil7dmFyICQ9dGhpcy5tYXRjaGVzW3FdO2lmKCEkKXJldHVybiBKKCk7dmFyIHRl''@;'; put 'put ''PU9iamVjdC5rZXlzKCQpLGg9dGhpcyxiPXRlLmxlbmd0aDtpZigwPT09YilyZXR1cm4gSigpO3ZhciB5PXRoaXMubWF0Y2hlc1txXT1PYmplY3QuY3JlYXRlKG51bGwpO3RlLmZvckVhY2goZnVuY3Rpb24ocCxnKXtwPWguX21ha2VBYnMocCksQy5yZWFscGF0aChwLGgucmVhbHBhdGhDYWNo''@;'; put 'put ''ZSxmdW5jdGlvbihfLEUpe18/InN0YXQiPT09Xy5zeXNjYWxsP3lbcF09ITA6aC5lbWl0KCJlcnJvciIsXyk6eVtFXT0hMCwwPT0tLWImJihoLm1hdGNoZXNbcV09eSxKKCkpfSl9KX0sQi5wcm90b3R5cGUuX21hcms9ZnVuY3Rpb24ocSl7cmV0dXJuIGsubWFyayh0aGlzLHEpfSxCLnByb3Rv''@;'; put 'put ''dHlwZS5fbWFrZUFicz1mdW5jdGlvbihxKXtyZXR1cm4gay5tYWtlQWJzKHRoaXMscSl9LEIucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7dGhpcy5hYm9ydGVkPSEwLHRoaXMuZW1pdCgiYWJvcnQiKX0sQi5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXt0aGlzLnBhdXNlZHx8KHRoaXMu''@;'; put 'put ''cGF1c2VkPSEwLHRoaXMuZW1pdCgicGF1c2UiKSl9LEIucHJvdG90eXBlLnJlc3VtZT1mdW5jdGlvbigpe2lmKHRoaXMucGF1c2VkKXtpZih0aGlzLmVtaXQoInJlc3VtZSIpLHRoaXMucGF1c2VkPSExLHRoaXMuX2VtaXRRdWV1ZS5sZW5ndGgpe3ZhciBxPXRoaXMuX2VtaXRRdWV1ZS5zbGlj''@;'; put 'put ''ZSgwKTt0aGlzLl9lbWl0UXVldWUubGVuZ3RoPTA7Zm9yKHZhciBKPTA7SjxxLmxlbmd0aDtKKyspe3ZhciAkPXFbSl07dGhpcy5fZW1pdE1hdGNoKCRbMF0sJFsxXSl9fWlmKHRoaXMuX3Byb2Nlc3NRdWV1ZS5sZW5ndGgpe3ZhciB0ZT10aGlzLl9wcm9jZXNzUXVldWUuc2xpY2UoMCk7Zm9y''@;'; put 'put ''KHRoaXMuX3Byb2Nlc3NRdWV1ZS5sZW5ndGg9MCxKPTA7Sjx0ZS5sZW5ndGg7SisrKXt2YXIgaD10ZVtKXTt0aGlzLl9wcm9jZXNzaW5nLS0sdGhpcy5fcHJvY2VzcyhoWzBdLGhbMV0saFsyXSxoWzNdKX19fX0sQi5wcm90b3R5cGUuX3Byb2Nlc3M9ZnVuY3Rpb24ocSxKLCQsdGUpe2lmKHco''@;'; put 'put ''dGhpcyBpbnN0YW5jZW9mIEIpLHcoImZ1bmN0aW9uIj09dHlwZW9mIHRlKSwhdGhpcy5hYm9ydGVkKWlmKHRoaXMuX3Byb2Nlc3NpbmcrKyx0aGlzLnBhdXNlZCl0aGlzLl9wcm9jZXNzUXVldWUucHVzaChbcSxKLCQsdGVdKTtlbHNle2Zvcih2YXIgaCxiPTA7InN0cmluZyI9PXR5cGVvZiBx''@;'; put 'put ''W2JdOyliKys7c3dpdGNoKGIpe2Nhc2UgcS5sZW5ndGg6cmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc1NpbXBsZShxLmpvaW4oIi8iKSxKLHRlKTtjYXNlIDA6aD1udWxsO2JyZWFrO2RlZmF1bHQ6aD1xLnNsaWNlKDAsYikuam9pbigiLyIpfXZhciB5LHA9cS5zbGljZShiKTtudWxsPT09aD95''@;'; put 'put ''PSIuIjooKFAoaCl8fFAocS5tYXAoZnVuY3Rpb24oXyl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBfP186IlsqXSJ9KS5qb2luKCIvIikpKSYmKGgmJlAoaCl8fChoPSIvIitoKSkseT1oKTt2YXIgZz10aGlzLl9tYWtlQWJzKHkpO2lmKFkodGhpcyx5KSlyZXR1cm4gdGUoKTtwWzBdPT09Uy5H''@;'; put 'put ''TE9CU1RBUj90aGlzLl9wcm9jZXNzR2xvYlN0YXIoaCx5LGcscCxKLCQsdGUpOnRoaXMuX3Byb2Nlc3NSZWFkZGlyKGgseSxnLHAsSiwkLHRlKX19LEIucHJvdG90eXBlLl9wcm9jZXNzUmVhZGRpcj1mdW5jdGlvbihxLEosJCx0ZSxoLGIseSl7dmFyIHA9dGhpczt0aGlzLl9yZWFkZGlyKCQs''@;'; put 'put ''YixmdW5jdGlvbihnLF8pe3JldHVybiBwLl9wcm9jZXNzUmVhZGRpcjIocSxKLCQsdGUsaCxiLF8seSl9KX0sQi5wcm90b3R5cGUuX3Byb2Nlc3NSZWFkZGlyMj1mdW5jdGlvbihxLEosJCx0ZSxoLGIseSxwKXtpZigheSlyZXR1cm4gcCgpO2Zvcih2YXIgZz10ZVswXSxfPSEhdGhpcy5taW5p''@;'; put 'put ''bWF0Y2gubmVnYXRlLFc9dGhpcy5kb3R8fCIuIj09PWcuX2dsb2IuY2hhckF0KDApLEc9W10sWD0wO1g8eS5sZW5ndGg7WCsrKSgiLiIhPT0oYWU9eVtYXSkuY2hhckF0KDApfHxXKSYmKF8mJiFxPyFhZS5tYXRjaChnKTphZS5tYXRjaChnKSkmJkcucHVzaChhZSk7dmFyIG5lPUcubGVuZ3Ro''@;'; put 'put ''O2lmKDA9PT1uZSlyZXR1cm4gcCgpO2lmKDE9PT10ZS5sZW5ndGgmJiF0aGlzLm1hcmsmJiF0aGlzLnN0YXQpe2Zvcih0aGlzLm1hdGNoZXNbaF18fCh0aGlzLm1hdGNoZXNbaF09T2JqZWN0LmNyZWF0ZShudWxsKSksWD0wO1g8bmU7WCsrKXt2YXIgYWU9R1tYXTtxJiYoYWU9Ii8iIT09cT9x''@;'; put 'put ''KyIvIithZTpxK2FlKSwiLyIhPT1hZS5jaGFyQXQoMCl8fHRoaXMubm9tb3VudHx8KGFlPUQuam9pbih0aGlzLnJvb3QsYWUpKSx0aGlzLl9lbWl0TWF0Y2goaCxhZSl9cmV0dXJuIHAoKX1mb3IodGUuc2hpZnQoKSxYPTA7WDxuZTtYKyspYWU9R1tYXSxxJiYoYWU9Ii8iIT09cT9xKyIvIith''@;'; put 'put ''ZTpxK2FlKSx0aGlzLl9wcm9jZXNzKFthZV0uY29uY2F0KHRlKSxoLGIscCk7cCgpfSxCLnByb3RvdHlwZS5fZW1pdE1hdGNoPWZ1bmN0aW9uKHEsSil7aWYoIXRoaXMuYWJvcnRlZCYmIUkodGhpcyxKKSlpZih0aGlzLnBhdXNlZCl0aGlzLl9lbWl0UXVldWUucHVzaChbcSxKXSk7ZWxzZXt2''@;'; put 'put ''YXIgJD1QKEopP0o6dGhpcy5fbWFrZUFicyhKKTtpZih0aGlzLm1hcmsmJihKPXRoaXMuX21hcmsoSikpLHRoaXMuYWJzb2x1dGUmJihKPSQpLCF0aGlzLm1hdGNoZXNbcV1bSl0pe2lmKHRoaXMubm9kaXIpe3ZhciB0ZT10aGlzLmNhY2hlWyRdO2lmKCJESVIiPT09dGV8fEFycmF5LmlzQXJy''@;'; put 'put ''YXkodGUpKXJldHVybn10aGlzLm1hdGNoZXNbcV1bSl09ITA7dmFyIGg9dGhpcy5zdGF0Q2FjaGVbJF07aCYmdGhpcy5lbWl0KCJzdGF0IixKLGgpLHRoaXMuZW1pdCgibWF0Y2giLEopfX19LEIucHJvdG90eXBlLl9yZWFkZGlySW5HbG9iU3Rhcj1mdW5jdGlvbihxLEope2lmKCF0aGlzLmFi''@;'; put 'put ''b3J0ZWQpe2lmKHRoaXMuZm9sbG93KXJldHVybiB0aGlzLl9yZWFkZGlyKHEsITEsSik7dmFyICQ9dGhpcyx0ZT1UKCJsc3RhdFwwIitxLGZ1bmN0aW9uKGgsYil7aWYoaCYmIkVOT0VOVCI9PT1oLmNvZGUpcmV0dXJuIEooKTt2YXIgeT1iJiZiLmlzU3ltYm9saWNMaW5rKCk7JC5zeW1saW5r''@;'; put 'put ''c1txXT15LHl8fCFifHxiLmlzRGlyZWN0b3J5KCk/JC5fcmVhZGRpcihxLCExLEopOigkLmNhY2hlW3FdPSJGSUxFIixKKCkpfSk7dGUmJiQuZnMubHN0YXQocSx0ZSl9fSxCLnByb3RvdHlwZS5fcmVhZGRpcj1mdW5jdGlvbihxLEosJCl7aWYoIXRoaXMuYWJvcnRlZCYmKCQ9VCgicmVhZGRp''@;'; put 'put ''clwwIitxKyJcMCIrSiwkKSkpe2lmKEomJiFMKHRoaXMuc3ltbGlua3MscSkpcmV0dXJuIHRoaXMuX3JlYWRkaXJJbkdsb2JTdGFyKHEsJCk7aWYoTCh0aGlzLmNhY2hlLHEpKXt2YXIgdGU9dGhpcy5jYWNoZVtxXTtpZighdGV8fCJGSUxFIj09PXRlKXJldHVybiAkKCk7aWYoQXJyYXkuaXNB''@;'; put 'put ''cnJheSh0ZSkpcmV0dXJuICQobnVsbCx0ZSl9dGhpcy5mcy5yZWFkZGlyKHEsKGg9dGhpcyxiPXEseT0kLGZ1bmN0aW9uKHAsZyl7cD9oLl9yZWFkZGlyRXJyb3IoYixwLHkpOmguX3JlYWRkaXJFbnRyaWVzKGIsZyx5KX0pKX12YXIgaCxiLHl9LEIucHJvdG90eXBlLl9yZWFkZGlyRW50cmll''@;'; put 'put ''cz1mdW5jdGlvbihxLEosJCl7aWYoIXRoaXMuYWJvcnRlZCl7aWYoIXRoaXMubWFyayYmIXRoaXMuc3RhdClmb3IodmFyIHRlPTA7dGU8Si5sZW5ndGg7dGUrKyl7dmFyIGg9Slt0ZV07dGhpcy5jYWNoZVtoPSIvIj09PXE/cStoOnErIi8iK2hdPSEwfXJldHVybiB0aGlzLmNhY2hlW3FdPUos''@;'; put 'put ''JChudWxsLEopfX0sQi5wcm90b3R5cGUuX3JlYWRkaXJFcnJvcj1mdW5jdGlvbihxLEosJCl7aWYoIXRoaXMuYWJvcnRlZCl7c3dpdGNoKEouY29kZSl7Y2FzZSJFTk9UU1VQIjpjYXNlIkVOT1RESVIiOnZhciB0ZT10aGlzLl9tYWtlQWJzKHEpO2lmKHRoaXMuY2FjaGVbdGVdPSJGSUxFIix0''@;'; put 'put ''ZT09PXRoaXMuY3dkQWJzKXt2YXIgaD1uZXcgRXJyb3IoSi5jb2RlKyIgaW52YWxpZCBjd2QgIit0aGlzLmN3ZCk7aC5wYXRoPXRoaXMuY3dkLGguY29kZT1KLmNvZGUsdGhpcy5lbWl0KCJlcnJvciIsaCksdGhpcy5hYm9ydCgpfWJyZWFrO2Nhc2UiRU5PRU5UIjpjYXNlIkVMT09QIjpjYXNl''@;'; put 'put ''IkVOQU1FVE9PTE9ORyI6Y2FzZSJVTktOT1dOIjp0aGlzLmNhY2hlW3RoaXMuX21ha2VBYnMocSldPSExO2JyZWFrO2RlZmF1bHQ6dGhpcy5jYWNoZVt0aGlzLl9tYWtlQWJzKHEpXT0hMSx0aGlzLnN0cmljdCYmKHRoaXMuZW1pdCgiZXJyb3IiLEopLHRoaXMuYWJvcnQoKSksdGhpcy5zaWxl''@;'; put 'put ''bnR8fHouZXJyb3IoImdsb2IgZXJyb3IiLEopfXJldHVybiAkKCl9fSxCLnByb3RvdHlwZS5fcHJvY2Vzc0dsb2JTdGFyPWZ1bmN0aW9uKHEsSiwkLHRlLGgsYix5KXt2YXIgcD10aGlzO3RoaXMuX3JlYWRkaXIoJCxiLGZ1bmN0aW9uKGcsXyl7cC5fcHJvY2Vzc0dsb2JTdGFyMihxLEosJCx0''@;'; put 'put ''ZSxoLGIsXyx5KX0pfSxCLnByb3RvdHlwZS5fcHJvY2Vzc0dsb2JTdGFyMj1mdW5jdGlvbihxLEosJCx0ZSxoLGIseSxwKXtpZigheSlyZXR1cm4gcCgpO3ZhciBnPXRlLnNsaWNlKDEpLF89cT9bcV06W10sRT1fLmNvbmNhdChnKTt0aGlzLl9wcm9jZXNzKEUsaCwhMSxwKTt2YXIgRz15Lmxl''@;'; put 'put ''bmd0aDtpZih0aGlzLnN5bWxpbmtzWyRdJiZiKXJldHVybiBwKCk7Zm9yKHZhciBYPTA7WDxHO1grKylpZigiLiIhPT15W1hdLmNoYXJBdCgwKXx8dGhpcy5kb3Qpe3ZhciBuZT1fLmNvbmNhdCh5W1hdLGcpO3RoaXMuX3Byb2Nlc3MobmUsaCwhMCxwKTt2YXIgYWU9Xy5jb25jYXQoeVtYXSx0''@;'; put 'put ''ZSk7dGhpcy5fcHJvY2VzcyhhZSxoLCEwLHApfXAoKX0sQi5wcm90b3R5cGUuX3Byb2Nlc3NTaW1wbGU9ZnVuY3Rpb24ocSxKLCQpe3ZhciB0ZT10aGlzO3RoaXMuX3N0YXQocSxmdW5jdGlvbihoLGIpe3RlLl9wcm9jZXNzU2ltcGxlMihxLEosaCxiLCQpfSl9LEIucHJvdG90eXBlLl9wcm9j''@;'; put 'put ''ZXNzU2ltcGxlMj1mdW5jdGlvbihxLEosJCx0ZSxoKXtpZih0aGlzLm1hdGNoZXNbSl18fCh0aGlzLm1hdGNoZXNbSl09T2JqZWN0LmNyZWF0ZShudWxsKSksIXRlKXJldHVybiBoKCk7aWYocSYmUChxKSYmIXRoaXMubm9tb3VudCl7dmFyIGI9L1tcL1xcXSQvLnRlc3QocSk7Ii8iPT09cS5j''@;'; put 'put ''aGFyQXQoMCk/cT1ELmpvaW4odGhpcy5yb290LHEpOihxPUQucmVzb2x2ZSh0aGlzLnJvb3QscSksYiYmKHErPSIvIikpfSJ3aW4zMiI9PT1OLnBsYXRmb3JtJiYocT1xLnJlcGxhY2UoL1xcL2csIi8iKSksdGhpcy5fZW1pdE1hdGNoKEoscSksaCgpfSxCLnByb3RvdHlwZS5fc3RhdD1mdW5j''@;'; put 'put ''dGlvbihxLEope3ZhciAkPXRoaXMuX21ha2VBYnMocSksdGU9Ii8iPT09cS5zbGljZSgtMSk7aWYocS5sZW5ndGg+dGhpcy5tYXhMZW5ndGgpcmV0dXJuIEooKTtpZighdGhpcy5zdGF0JiZMKHRoaXMuY2FjaGUsJCkpe3ZhciBoPXRoaXMuY2FjaGVbJF07aWYoQXJyYXkuaXNBcnJheShoKSYm''@;'; put 'put ''KGg9IkRJUiIpLCF0ZXx8IkRJUiI9PT1oKXJldHVybiBKKG51bGwsaCk7aWYodGUmJiJGSUxFIj09PWgpcmV0dXJuIEooKX12YXIgYj10aGlzLnN0YXRDYWNoZVskXTtpZih2b2lkIDAhPT1iKXtpZighMT09PWIpcmV0dXJuIEoobnVsbCxiKTt2YXIgeT1iLmlzRGlyZWN0b3J5KCk/IkRJUiI6''@;'; put 'put ''IkZJTEUiO3JldHVybiB0ZSYmIkZJTEUiPT09eT9KKCk6SihudWxsLHksYil9dmFyIHA9dGhpcyxnPVQoInN0YXRcMCIrJCxmdW5jdGlvbihfLEUpe2lmKEUmJkUuaXNTeW1ib2xpY0xpbmsoKSlyZXR1cm4gcC5mcy5zdGF0KCQsZnVuY3Rpb24oVyxHKXtXP3AuX3N0YXQyKHEsJCxudWxsLEUs''@;'; put 'put ''Sik6cC5fc3RhdDIocSwkLFcsRyxKKX0pO3AuX3N0YXQyKHEsJCxfLEUsSil9KTtnJiZwLmZzLmxzdGF0KCQsZyl9LEIucHJvdG90eXBlLl9zdGF0Mj1mdW5jdGlvbihxLEosJCx0ZSxoKXtpZigkJiYoIkVOT0VOVCI9PT0kLmNvZGV8fCJFTk9URElSIj09PSQuY29kZSkpcmV0dXJuIHRoaXMu''@;'; put 'put ''c3RhdENhY2hlW0pdPSExLGgoKTt2YXIgYj0iLyI9PT1xLnNsaWNlKC0xKTtpZih0aGlzLnN0YXRDYWNoZVtKXT10ZSwiLyI9PT1KLnNsaWNlKC0xKSYmdGUmJiF0ZS5pc0RpcmVjdG9yeSgpKXJldHVybiBoKG51bGwsITEsdGUpO3ZhciB5PSEwO3JldHVybiB0ZSYmKHk9dGUuaXNEaXJlY3Rv''@;'; put 'put ''cnkoKT8iRElSIjoiRklMRSIpLHRoaXMuY2FjaGVbSl09dGhpcy5jYWNoZVtKXXx8eSxiJiYiRklMRSI9PT15P2goKTpoKG51bGwseSx0ZSl9fSw0NzUxOihaLEEsaik9Pnt2YXIgTj1qKDUxMDgpLHo9aig0MTU1KTtaLmV4cG9ydHM9TCxMLkdsb2JTeW5jPVQ7dmFyIEM9aig3MzM0KSxTPWoo''@;'; put 'put ''MTE3MSksbT0oaigyODg0KSxqKDk1MzkpLGooMjUyMCkpLEY9aig5MjgyKSxEPWooNDA5NSksdz1qKDY3NzIpLFA9dy5zZXRvcHRzLE09dy5vd25Qcm9wLGs9dy5jaGlsZHJlbklnbm9yZWQsTz13LmlzSWdub3JlZDtmdW5jdGlvbiBMKFksSSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIEl8fDM9''@;'; put 'put ''PT1hcmd1bWVudHMubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoImNhbGxiYWNrIHByb3ZpZGVkIHRvIHN5bmMgZ2xvYlxuU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaXNhYWNzL25vZGUtZ2xvYi9pc3N1ZXMvMTY3Iik7cmV0dXJuIG5ldyBUKFksSSkuZm91bmR9ZnVuY3Rpb24gVChZLEkp''@;'; put 'put ''e2lmKCFZKXRocm93IG5ldyBFcnJvcigibXVzdCBwcm92aWRlIHBhdHRlcm4iKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgSXx8Mz09PWFyZ3VtZW50cy5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgcHJvdmlkZWQgdG8gc3luYyBnbG9iXG5TZWU6IGh0dHBzOi8vZ2l0aHVi''@;'; put 'put ''LmNvbS9pc2FhY3Mvbm9kZS1nbG9iL2lzc3Vlcy8xNjciKTtpZighKHRoaXMgaW5zdGFuY2VvZiBUKSlyZXR1cm4gbmV3IFQoWSxJKTtpZihQKHRoaXMsWSxJKSx0aGlzLm5vcHJvY2VzcylyZXR1cm4gdGhpczt2YXIgVT10aGlzLm1pbmltYXRjaC5zZXQubGVuZ3RoO3RoaXMubWF0Y2hlcz1u''@;'; put 'put ''ZXcgQXJyYXkoVSk7Zm9yKHZhciBWPTA7VjxVO1YrKyl0aGlzLl9wcm9jZXNzKHRoaXMubWluaW1hdGNoLnNldFtWXSxWLCExKTt0aGlzLl9maW5pc2goKX1ULnByb3RvdHlwZS5fZmluaXNoPWZ1bmN0aW9uKCl7aWYoRi5vayh0aGlzIGluc3RhbmNlb2YgVCksdGhpcy5yZWFscGF0aCl7dmFy''@;'; put 'put ''IFk9dGhpczt0aGlzLm1hdGNoZXMuZm9yRWFjaChmdW5jdGlvbihJLFUpe3ZhciBWPVkubWF0Y2hlc1tVXT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcih2YXIgUiBpbiBJKXRyeXtSPVkuX21ha2VBYnMoUiksVltDLnJlYWxwYXRoU3luYyhSLFkucmVhbHBhdGhDYWNoZSldPSEwfWNhdGNoKEIp''@;'; put 'put ''e2lmKCJzdGF0IiE9PUIuc3lzY2FsbCl0aHJvdyBCO1ZbWS5fbWFrZUFicyhSKV09ITB9fSl9dy5maW5pc2godGhpcyl9LFQucHJvdG90eXBlLl9wcm9jZXNzPWZ1bmN0aW9uKFksSSxVKXtGLm9rKHRoaXMgaW5zdGFuY2VvZiBUKTtmb3IodmFyIFYsUj0wOyJzdHJpbmciPT10eXBlb2YgWVtS''@;'; put 'put ''XTspUisrO3N3aXRjaChSKXtjYXNlIFkubGVuZ3RoOnJldHVybiB2b2lkIHRoaXMuX3Byb2Nlc3NTaW1wbGUoWS5qb2luKCIvIiksSSk7Y2FzZSAwOlY9bnVsbDticmVhaztkZWZhdWx0OlY9WS5zbGljZSgwLFIpLmpvaW4oIi8iKX12YXIgQixxPVkuc2xpY2UoUik7bnVsbD09PVY/Qj0iLiI6''@;'; put 'put ''KChEKFYpfHxEKFkubWFwKGZ1bmN0aW9uKCQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgJD8kOiJbKl0ifSkuam9pbigiLyIpKSkmJihWJiZEKFYpfHwoVj0iLyIrVikpLEI9Vik7dmFyIEo9dGhpcy5fbWFrZUFicyhCKTtrKHRoaXMsQil8fChxWzBdPT09Uy5HTE9CU1RBUj90aGlzLl9wcm9j''@;'; put 'put ''ZXNzR2xvYlN0YXIoVixCLEoscSxJLFUpOnRoaXMuX3Byb2Nlc3NSZWFkZGlyKFYsQixKLHEsSSxVKSl9LFQucHJvdG90eXBlLl9wcm9jZXNzUmVhZGRpcj1mdW5jdGlvbihZLEksVSxWLFIsQil7dmFyIHE9dGhpcy5fcmVhZGRpcihVLEIpO2lmKHEpe2Zvcih2YXIgSj1WWzBdLCQ9ISF0aGlz''@;'; put 'put ''Lm1pbmltYXRjaC5uZWdhdGUsaD10aGlzLmRvdHx8Ii4iPT09Si5fZ2xvYi5jaGFyQXQoMCksYj1bXSx5PTA7eTxxLmxlbmd0aDt5KyspKCIuIiE9PShfPXFbeV0pLmNoYXJBdCgwKXx8aCkmJigkJiYhWT8hXy5tYXRjaChKKTpfLm1hdGNoKEopKSYmYi5wdXNoKF8pO3ZhciBwPWIubGVuZ3Ro''@;'; put 'put ''O2lmKDAhPT1wKWlmKDEhPT1WLmxlbmd0aHx8dGhpcy5tYXJrfHx0aGlzLnN0YXQpZm9yKFYuc2hpZnQoKSx5PTA7eTxwO3krKylfPWJbeV0sdGhpcy5fcHJvY2VzcygoWT9bWSxfXTpbX10pLmNvbmNhdChWKSxSLEIpO2Vsc2UgZm9yKHRoaXMubWF0Y2hlc1tSXXx8KHRoaXMubWF0Y2hlc1tS''@;'; put 'put ''XT1PYmplY3QuY3JlYXRlKG51bGwpKSx5PTA7eTxwO3krKyl7dmFyIF89Ylt5XTtZJiYoXz0iLyIhPT1ZLnNsaWNlKC0xKT9ZKyIvIitfOlkrXyksIi8iIT09Xy5jaGFyQXQoMCl8fHRoaXMubm9tb3VudHx8KF89bS5qb2luKHRoaXMucm9vdCxfKSksdGhpcy5fZW1pdE1hdGNoKFIsXyl9fX0s''@;'; put 'put ''VC5wcm90b3R5cGUuX2VtaXRNYXRjaD1mdW5jdGlvbihZLEkpe2lmKCFPKHRoaXMsSSkpe3ZhciBVPXRoaXMuX21ha2VBYnMoSSk7aWYodGhpcy5tYXJrJiYoST10aGlzLl9tYXJrKEkpKSx0aGlzLmFic29sdXRlJiYoST1VKSwhdGhpcy5tYXRjaGVzW1ldW0ldKXtpZih0aGlzLm5vZGlyKXt2''@;'; put 'put ''YXIgVj10aGlzLmNhY2hlW1VdO2lmKCJESVIiPT09Vnx8QXJyYXkuaXNBcnJheShWKSlyZXR1cm59dGhpcy5tYXRjaGVzW1ldW0ldPSEwLHRoaXMuc3RhdCYmdGhpcy5fc3RhdChJKX19fSxULnByb3RvdHlwZS5fcmVhZGRpckluR2xvYlN0YXI9ZnVuY3Rpb24oWSl7aWYodGhpcy5mb2xsb3cp''@;'; put 'put ''cmV0dXJuIHRoaXMuX3JlYWRkaXIoWSwhMSk7dmFyIEksVTt0cnl7VT10aGlzLmZzLmxzdGF0U3luYyhZKX1jYXRjaChSKXtpZigiRU5PRU5UIj09PVIuY29kZSlyZXR1cm4gbnVsbH12YXIgVj1VJiZVLmlzU3ltYm9saWNMaW5rKCk7cmV0dXJuIHRoaXMuc3ltbGlua3NbWV09VixWfHwhVXx8''@;'; put 'put ''VS5pc0RpcmVjdG9yeSgpP0k9dGhpcy5fcmVhZGRpcihZLCExKTp0aGlzLmNhY2hlW1ldPSJGSUxFIixJfSxULnByb3RvdHlwZS5fcmVhZGRpcj1mdW5jdGlvbihZLEkpe2lmKEkmJiFNKHRoaXMuc3ltbGlua3MsWSkpcmV0dXJuIHRoaXMuX3JlYWRkaXJJbkdsb2JTdGFyKFkpO2lmKE0odGhp''@;'; put 'put ''cy5jYWNoZSxZKSl7dmFyIFU9dGhpcy5jYWNoZVtZXTtpZighVXx8IkZJTEUiPT09VSlyZXR1cm4gbnVsbDtpZihBcnJheS5pc0FycmF5KFUpKXJldHVybiBVfXRyeXtyZXR1cm4gdGhpcy5fcmVhZGRpckVudHJpZXMoWSx0aGlzLmZzLnJlYWRkaXJTeW5jKFkpKX1jYXRjaChWKXtyZXR1cm4g''@;'; put 'put ''dGhpcy5fcmVhZGRpckVycm9yKFksViksbnVsbH19LFQucHJvdG90eXBlLl9yZWFkZGlyRW50cmllcz1mdW5jdGlvbihZLEkpe2lmKCF0aGlzLm1hcmsmJiF0aGlzLnN0YXQpZm9yKHZhciBVPTA7VTxJLmxlbmd0aDtVKyspe3ZhciBWPUlbVV07dGhpcy5jYWNoZVtWPSIvIj09PVk/WStWOlkr''@;'; put 'put ''Ii8iK1ZdPSEwfXJldHVybiB0aGlzLmNhY2hlW1ldPUksSX0sVC5wcm90b3R5cGUuX3JlYWRkaXJFcnJvcj1mdW5jdGlvbihZLEkpe3N3aXRjaChJLmNvZGUpe2Nhc2UiRU5PVFNVUCI6Y2FzZSJFTk9URElSIjp2YXIgVT10aGlzLl9tYWtlQWJzKFkpO2lmKHRoaXMuY2FjaGVbVV09IkZJTEUi''@;'; put 'put ''LFU9PT10aGlzLmN3ZEFicyl7dmFyIFY9bmV3IEVycm9yKEkuY29kZSsiIGludmFsaWQgY3dkICIrdGhpcy5jd2QpO3Rocm93IFYucGF0aD10aGlzLmN3ZCxWLmNvZGU9SS5jb2RlLFZ9YnJlYWs7Y2FzZSJFTk9FTlQiOmNhc2UiRUxPT1AiOmNhc2UiRU5BTUVUT09MT05HIjpjYXNlIlVOS05P''@;'; put 'put ''V04iOnRoaXMuY2FjaGVbdGhpcy5fbWFrZUFicyhZKV09ITE7YnJlYWs7ZGVmYXVsdDppZih0aGlzLmNhY2hlW3RoaXMuX21ha2VBYnMoWSldPSExLHRoaXMuc3RyaWN0KXRocm93IEk7dGhpcy5zaWxlbnR8fE4uZXJyb3IoImdsb2IgZXJyb3IiLEkpfX0sVC5wcm90b3R5cGUuX3Byb2Nlc3NH''@;'; put 'put ''bG9iU3Rhcj1mdW5jdGlvbihZLEksVSxWLFIsQil7dmFyIHE9dGhpcy5fcmVhZGRpcihVLEIpO2lmKHEpe3ZhciBKPVYuc2xpY2UoMSksJD1ZP1tZXTpbXSx0ZT0kLmNvbmNhdChKKTt0aGlzLl9wcm9jZXNzKHRlLFIsITEpO3ZhciBoPXEubGVuZ3RoO2lmKCF0aGlzLnN5bWxpbmtzW1VdfHwh''@;'; put 'put ''Qilmb3IodmFyIGI9MDtiPGg7YisrKWlmKCIuIiE9PXFbYl0uY2hhckF0KDApfHx0aGlzLmRvdCl7dmFyIHk9JC5jb25jYXQocVtiXSxKKTt0aGlzLl9wcm9jZXNzKHksUiwhMCk7dmFyIHA9JC5jb25jYXQocVtiXSxWKTt0aGlzLl9wcm9jZXNzKHAsUiwhMCl9fX0sVC5wcm90b3R5cGUuX3By''@;'; put 'put ''b2Nlc3NTaW1wbGU9ZnVuY3Rpb24oWSxJKXt2YXIgVT10aGlzLl9zdGF0KFkpO2lmKHRoaXMubWF0Y2hlc1tJXXx8KHRoaXMubWF0Y2hlc1tJXT1PYmplY3QuY3JlYXRlKG51bGwpKSxVKXtpZihZJiZEKFkpJiYhdGhpcy5ub21vdW50KXt2YXIgVj0vW1wvXFxdJC8udGVzdChZKTsiLyI9PT1Z''@;'; put 'put ''LmNoYXJBdCgwKT9ZPW0uam9pbih0aGlzLnJvb3QsWSk6KFk9bS5yZXNvbHZlKHRoaXMucm9vdCxZKSxWJiYoWSs9Ii8iKSl9IndpbjMyIj09PXoucGxhdGZvcm0mJihZPVkucmVwbGFjZSgvXFwvZywiLyIpKSx0aGlzLl9lbWl0TWF0Y2goSSxZKX19LFQucHJvdG90eXBlLl9zdGF0PWZ1bmN0''@;'; put 'put ''aW9uKFkpe3ZhciBJPXRoaXMuX21ha2VBYnMoWSksVT0iLyI9PT1ZLnNsaWNlKC0xKTtpZihZLmxlbmd0aD50aGlzLm1heExlbmd0aClyZXR1cm4hMTtpZighdGhpcy5zdGF0JiZNKHRoaXMuY2FjaGUsSSkpe3ZhciBWPXRoaXMuY2FjaGVbSV07aWYoQXJyYXkuaXNBcnJheShWKSYmKFY9IkRJ''@;'; put 'put ''UiIpLCFVfHwiRElSIj09PVYpcmV0dXJuIFY7aWYoVSYmIkZJTEUiPT09VilyZXR1cm4hMX12YXIgUj10aGlzLnN0YXRDYWNoZVtJXTtpZighUil7dmFyIEI7dHJ5e0I9dGhpcy5mcy5sc3RhdFN5bmMoSSl9Y2F0Y2gocSl7aWYocSYmKCJFTk9FTlQiPT09cS5jb2RlfHwiRU5PVERJUiI9PT1x''@;'; put 'put ''LmNvZGUpKXJldHVybiB0aGlzLnN0YXRDYWNoZVtJXT0hMSwhMX1pZihCJiZCLmlzU3ltYm9saWNMaW5rKCkpdHJ5e1I9dGhpcy5mcy5zdGF0U3luYyhJKX1jYXRjaChxKXtSPUJ9ZWxzZSBSPUJ9cmV0dXJuIHRoaXMuc3RhdENhY2hlW0ldPVIsVj0hMCxSJiYoVj1SLmlzRGlyZWN0b3J5KCk/''@;'; put 'put ''IkRJUiI6IkZJTEUiKSx0aGlzLmNhY2hlW0ldPXRoaXMuY2FjaGVbSV18fFYsKCFVfHwiRklMRSIhPT1WKSYmVn0sVC5wcm90b3R5cGUuX21hcms9ZnVuY3Rpb24oWSl7cmV0dXJuIHcubWFyayh0aGlzLFkpfSxULnByb3RvdHlwZS5fbWFrZUFicz1mdW5jdGlvbihZKXtyZXR1cm4gdy5tYWtl''@;'; put 'put ''QWJzKHRoaXMsWSl9fSw2NDU4Olo9PnsidXNlIHN0cmljdCI7Wi5leHBvcnRzPWZ1bmN0aW9uKGope2lmKG51bGw9PT1qfHwib2JqZWN0IiE9dHlwZW9mIGopcmV0dXJuIGo7aWYoaiBpbnN0YW5jZW9mIE9iamVjdCl2YXIgTj17X19wcm90b19fOkEoail9O2Vsc2UgTj1PYmplY3QuY3JlYXRl''@;'; put 'put ''KG51bGwpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhqKS5mb3JFYWNoKGZ1bmN0aW9uKHope09iamVjdC5kZWZpbmVQcm9wZXJ0eShOLHosT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihqLHopKX0pLE59O3ZhciBBPU9iamVjdC5nZXRQcm90b3R5cGVPZnx8ZnVu''@;'; put 'put ''Y3Rpb24oail7cmV0dXJuIGouX19wcm90b19ffX0sNzc6KFosQSxqKT0+e3ZhciBOLHosQz1qKDQxNTUpLFM9aig1MTA4KSxtPWooNTQ0MyksRj1qKDIxNjEpLEQ9aig4NTIwKSx3PWooNjQ1OCksUD1qKDk1MzkpO2Z1bmN0aW9uIE0oVixSKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoVixOLHtn''@;'; put 'put ''ZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUn19KX0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sLmZvcj8oTj1TeW1ib2wuZm9yKCJncmFjZWZ1bC1mcy5xdWV1ZSIpLHo9U3ltYm9sLmZvcigiZ3JhY2VmdWwtZnMucHJldmlvdXMiKSk6KE49Il9fX2dy''@;'; put 'put ''YWNlZnVsLWZzLnF1ZXVlIix6PSJfX19ncmFjZWZ1bC1mcy5wcmV2aW91cyIpO3ZhciBrLE89ZnVuY3Rpb24oKXt9O2Z1bmN0aW9uIFQoVil7RihWKSxWLmdyYWNlZnVsaWZ5PVQsVi5jcmVhdGVSZWFkU3RyZWFtPWZ1bmN0aW9uKFgsbmUpe3JldHVybiBuZXcgVi5SZWFkU3RyZWFtKFgsbmUp''@;'; put 'put ''fSxWLmNyZWF0ZVdyaXRlU3RyZWFtPWZ1bmN0aW9uKFgsbmUpe3JldHVybiBuZXcgVi5Xcml0ZVN0cmVhbShYLG5lKX07dmFyIFI9Vi5yZWFkRmlsZTtWLnJlYWRGaWxlPWZ1bmN0aW9uKFgsbmUsYWUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuZSYmKGFlPW5lLG5lPW51bGwpLGZ1bmN0''@;'; put 'put ''aW9uIHVlKGJlLF9lLGxlLGNlKXtyZXR1cm4gUihiZSxfZSxmdW5jdGlvbihwZSl7IXBlfHwiRU1GSUxFIiE9PXBlLmNvZGUmJiJFTkZJTEUiIT09cGUuY29kZT8iZnVuY3Rpb24iPT10eXBlb2YgbGUmJmxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpZKFt1ZSxbYmUsX2UsbGVdLHBlLGNlfHxE''@;'; put 'put ''YXRlLm5vdygpLERhdGUubm93KCldKX0pfShYLG5lLGFlKX07dmFyIEI9Vi53cml0ZUZpbGU7Vi53cml0ZUZpbGU9ZnVuY3Rpb24oWCxuZSxhZSx1ZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGFlJiYodWU9YWUsYWU9bnVsbCksZnVuY3Rpb24gYmUoX2UsbGUsY2UscGUsd2Upe3JldHVy''@;'; put 'put ''biBCKF9lLGxlLGNlLGZ1bmN0aW9uKFVlKXshVWV8fCJFTUZJTEUiIT09VWUuY29kZSYmIkVORklMRSIhPT1VZS5jb2RlPyJmdW5jdGlvbiI9PXR5cGVvZiBwZSYmcGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOlkoW2JlLFtfZSxsZSxjZSxwZV0sVWUsd2V8fERhdGUubm93KCksRGF0ZS5ub3co''@;'; put 'put ''KV0pfSl9KFgsbmUsYWUsdWUpfTt2YXIgcT1WLmFwcGVuZEZpbGU7cSYmKFYuYXBwZW5kRmlsZT1mdW5jdGlvbihYLG5lLGFlLHVlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYWUmJih1ZT1hZSxhZT1udWxsKSxmdW5jdGlvbiBiZShfZSxsZSxjZSxwZSx3ZSl7cmV0dXJuIHEoX2UsbGUs''@;'; put 'put ''Y2UsZnVuY3Rpb24oVWUpeyFVZXx8IkVNRklMRSIhPT1VZS5jb2RlJiYiRU5GSUxFIiE9PVVlLmNvZGU/ImZ1bmN0aW9uIj09dHlwZW9mIHBlJiZwZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6WShbYmUsW19lLGxlLGNlLHBlXSxVZSx3ZXx8RGF0ZS5ub3coKSxEYXRlLm5vdygpXSl9KX0oWCxu''@;'; put 'put ''ZSxhZSx1ZSl9KTt2YXIgSj1WLmNvcHlGaWxlO0omJihWLmNvcHlGaWxlPWZ1bmN0aW9uKFgsbmUsYWUsdWUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhZSYmKHVlPWFlLGFlPTApLGZ1bmN0aW9uIGJlKF9lLGxlLGNlLHBlLHdlKXtyZXR1cm4gSihfZSxsZSxjZSxmdW5jdGlvbihVZSl7''@;'; put 'put ''IVVlfHwiRU1GSUxFIiE9PVVlLmNvZGUmJiJFTkZJTEUiIT09VWUuY29kZT8iZnVuY3Rpb24iPT10eXBlb2YgcGUmJnBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpZKFtiZSxbX2UsbGUsY2UscGVdLFVlLHdlfHxEYXRlLm5vdygpLERhdGUubm93KCldKX0pfShYLG5lLGFlLHVlKX0pO3ZhciAk''@;'; put 'put ''PVYucmVhZGRpcjtWLnJlYWRkaXI9ZnVuY3Rpb24oWCxuZSxhZSl7ImZ1bmN0aW9uIj09dHlwZW9mIG5lJiYoYWU9bmUsbmU9bnVsbCk7dmFyIHVlPXRlLnRlc3QoQy52ZXJzaW9uKT9mdW5jdGlvbihfZSxsZSxjZSxwZSl7cmV0dXJuICQoX2UsYmUoX2UsbGUsY2UscGUpKX06ZnVuY3Rpb24o''@;'; put 'put ''X2UsbGUsY2UscGUpe3JldHVybiAkKF9lLGxlLGJlKF9lLGxlLGNlLHBlKSl9O3JldHVybiB1ZShYLG5lLGFlKTtmdW5jdGlvbiBiZShfZSxsZSxjZSxwZSl7cmV0dXJuIGZ1bmN0aW9uKHdlLFVlKXshd2V8fCJFTUZJTEUiIT09d2UuY29kZSYmIkVORklMRSIhPT13ZS5jb2RlPyhVZSYmVWUu''@;'; put 'put ''c29ydCYmVWUuc29ydCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBjZSYmY2UuY2FsbCh0aGlzLHdlLFVlKSk6WShbdWUsW19lLGxlLGNlXSx3ZSxwZXx8RGF0ZS5ub3coKSxEYXRlLm5vdygpXSl9fX07dmFyIHRlPS9edlswLTVdXC4vO2lmKCJ2MC44Ij09PUMudmVyc2lvbi5zdWJzdHIoMCw0KSl7''@;'; put 'put ''dmFyIGg9RChWKTtfPWguUmVhZFN0cmVhbSxFPWguV3JpdGVTdHJlYW19dmFyIGI9Vi5SZWFkU3RyZWFtO2ImJihfLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGIucHJvdG90eXBlKSxfLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7dmFyIFg9dGhpcztHKFgucGF0aCxYLmZsYWdzLFgubW9k''@;'; put 'put ''ZSxmdW5jdGlvbihuZSxhZSl7bmU/KFguYXV0b0Nsb3NlJiZYLmRlc3Ryb3koKSxYLmVtaXQoImVycm9yIixuZSkpOihYLmZkPWFlLFguZW1pdCgib3BlbiIsYWUpLFgucmVhZCgpKX0pfSk7dmFyIHk9Vi5Xcml0ZVN0cmVhbTt5JiYoRS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh5LnByb3Rv''@;'; put 'put ''dHlwZSksRS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBYPXRoaXM7RyhYLnBhdGgsWC5mbGFncyxYLm1vZGUsZnVuY3Rpb24obmUsYWUpe25lPyhYLmRlc3Ryb3koKSxYLmVtaXQoImVycm9yIixuZSkpOihYLmZkPWFlLFguZW1pdCgib3BlbiIsYWUpKX0pfSksT2JqZWN0LmRlZmlu''@;'; put 'put ''ZVByb3BlcnR5KFYsIlJlYWRTdHJlYW0iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gX30sc2V0OmZ1bmN0aW9uKFgpe189WH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoViwiV3JpdGVTdHJlYW0iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''RX0sc2V0OmZ1bmN0aW9uKFgpe0U9WH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KTt2YXIgcD1fO09iamVjdC5kZWZpbmVQcm9wZXJ0eShWLCJGaWxlUmVhZFN0cmVhbSIse2dldDpmdW5jdGlvbigpe3JldHVybiBwfSxzZXQ6ZnVuY3Rpb24oWCl7cD1YfSxlbnVtZXJhYmxlOiEw''@;'; put 'put ''LGNvbmZpZ3VyYWJsZTohMH0pO3ZhciBnPUU7ZnVuY3Rpb24gXyhYLG5lKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF8/KGIuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMpOl8uYXBwbHkoT2JqZWN0LmNyZWF0ZShfLnByb3RvdHlwZSksYXJndW1lbnRzKX1mdW5jdGlvbiBFKFgsbmUpe3Jl''@;'; put 'put ''dHVybiB0aGlzIGluc3RhbmNlb2YgRT8oeS5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcyk6RS5hcHBseShPYmplY3QuY3JlYXRlKEUucHJvdG90eXBlKSxhcmd1bWVudHMpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShWLCJGaWxlV3JpdGVTdHJlYW0iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''Z30sc2V0OmZ1bmN0aW9uKFgpe2c9WH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KTt2YXIgVz1WLm9wZW47ZnVuY3Rpb24gRyhYLG5lLGFlLHVlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYWUmJih1ZT1hZSxhZT1udWxsKSxmdW5jdGlvbiBiZShfZSxsZSxjZSxwZSx3ZSl7''@;'; put 'put ''cmV0dXJuIFcoX2UsbGUsY2UsZnVuY3Rpb24oVWUseGUpeyFVZXx8IkVNRklMRSIhPT1VZS5jb2RlJiYiRU5GSUxFIiE9PVVlLmNvZGU/ImZ1bmN0aW9uIj09dHlwZW9mIHBlJiZwZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6WShbYmUsW19lLGxlLGNlLHBlXSxVZSx3ZXx8RGF0ZS5ub3coKSxE''@;'; put 'put ''YXRlLm5vdygpXSl9KX0oWCxuZSxhZSx1ZSl9cmV0dXJuIFYub3Blbj1HLFZ9ZnVuY3Rpb24gWShWKXtPKCJFTlFVRVVFIixWWzBdLm5hbWUsVlsxXSksbVtOXS5wdXNoKFYpLFUoKX1mdW5jdGlvbiBJKCl7Zm9yKHZhciBWPURhdGUubm93KCksUj0wO1I8bVtOXS5sZW5ndGg7KytSKW1bTl1b''@;'; put 'put ''Ul0ubGVuZ3RoPjImJihtW05dW1JdWzNdPVYsbVtOXVtSXVs0XT1WKTtVKCl9ZnVuY3Rpb24gVSgpe2lmKGNsZWFyVGltZW91dChrKSxrPXZvaWQgMCwwIT09bVtOXS5sZW5ndGgpe3ZhciBWPW1bTl0uc2hpZnQoKSxSPVZbMF0sQj1WWzFdLHE9VlsyXSxKPVZbM10sJD1WWzRdO2lmKHZvaWQg''@;'; put 'put ''MD09PUopTygiUkVUUlkiLFIubmFtZSxCKSxSLmFwcGx5KG51bGwsQik7ZWxzZSBpZihEYXRlLm5vdygpLUo+PTZlNCl7TygiVElNRU9VVCIsUi5uYW1lLEIpO3ZhciB0ZT1CLnBvcCgpOyJmdW5jdGlvbiI9PXR5cGVvZiB0ZSYmdGUuY2FsbChudWxsLHEpfWVsc2V7dmFyIGg9RGF0ZS5ub3co''@;'; put 'put ''KS0kLGI9TWF0aC5tYXgoJC1KLDEpO2g+PU1hdGgubWluKDEuMipiLDEwMCk/KE8oIlJFVFJZIixSLm5hbWUsQiksUi5hcHBseShudWxsLEIuY29uY2F0KFtKXSkpKTptW05dLnB1c2goVil9dm9pZCAwPT09ayYmKGs9c2V0VGltZW91dChVLDApKX19UC5kZWJ1Z2xvZz9PPVAuZGVidWdsb2co''@;'; put 'put ''ImdmczQiKTovXGJnZnM0XGIvaS50ZXN0KEMuZW52Lk5PREVfREVCVUd8fCIiKSYmKE89ZnVuY3Rpb24oKXt2YXIgVj1QLmZvcm1hdC5hcHBseShQLGFyZ3VtZW50cyk7Vj0iR0ZTNDogIitWLnNwbGl0KC9cbi8pLmpvaW4oIlxuR0ZTNDogIiksUy5lcnJvcihWKX0pLG1bTl18fChNKG0sai5n''@;'; put 'put ''W05dfHxbXSksbS5jbG9zZT1mdW5jdGlvbihWKXtmdW5jdGlvbiBSKEIscSl7cmV0dXJuIFYuY2FsbChtLEIsZnVuY3Rpb24oSil7Snx8SSgpLCJmdW5jdGlvbiI9PXR5cGVvZiBxJiZxLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoUix6LHt2''@;'; put 'put ''YWx1ZTpWfSksUn0obS5jbG9zZSksbS5jbG9zZVN5bmM9ZnVuY3Rpb24oVil7ZnVuY3Rpb24gUihCKXtWLmFwcGx5KG0sYXJndW1lbnRzKSxJKCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSLHose3ZhbHVlOlZ9KSxSfShtLmNsb3NlU3luYyksL1xiZ2ZzNFxiL2kudGVzdChDLmVu''@;'; put 'put ''di5OT0RFX0RFQlVHfHwiIikmJkMub24oImV4aXQiLGZ1bmN0aW9uKCl7TyhtW05dKSxqKDkyODIpLmVxdWFsKG1bTl0ubGVuZ3RoLDApfSkpLGouZ1tOXXx8TShqLmcsbVtOXSksWi5leHBvcnRzPVQodyhtKSksQy5lbnYuVEVTVF9HUkFDRUZVTF9GU19HTE9CQUxfUEFUQ0gmJiFtLl9fcGF0''@;'; put 'put ''Y2hlZCYmKFouZXhwb3J0cz1UKG0pLG0uX19wYXRjaGVkPSEwKX0sODUyMDooWixBLGopPT57dmFyIE49aig0MTU1KSx6PWooMjgzMCkuU3RyZWFtO1ouZXhwb3J0cz1mdW5jdGlvbihDKXtyZXR1cm57UmVhZFN0cmVhbTpmdW5jdGlvbiBTKG0sRil7aWYoISh0aGlzIGluc3RhbmNlb2YgUykp''@;'; put 'put ''cmV0dXJuIG5ldyBTKG0sRik7ei5jYWxsKHRoaXMpO3ZhciBEPXRoaXM7dGhpcy5wYXRoPW0sdGhpcy5mZD1udWxsLHRoaXMucmVhZGFibGU9ITAsdGhpcy5wYXVzZWQ9ITEsdGhpcy5mbGFncz0iciIsdGhpcy5tb2RlPTQzOCx0aGlzLmJ1ZmZlclNpemU9NjU1MzYsRj1GfHx7fTtmb3IodmFy''@;'; put 'put ''IHc9T2JqZWN0LmtleXMoRiksUD0wLE09dy5sZW5ndGg7UDxNO1ArKyl7dmFyIGs9d1tQXTt0aGlzW2tdPUZba119aWYodGhpcy5lbmNvZGluZyYmdGhpcy5zZXRFbmNvZGluZyh0aGlzLmVuY29kaW5nKSx2b2lkIDAhPT10aGlzLnN0YXJ0KXtpZigibnVtYmVyIiE9dHlwZW9mIHRoaXMuc3Rh''@;'; put 'put ''cnQpdGhyb3cgVHlwZUVycm9yKCJzdGFydCBtdXN0IGJlIGEgTnVtYmVyIik7aWYodm9pZCAwPT09dGhpcy5lbmQpdGhpcy5lbmQ9MS8wO2Vsc2UgaWYoIm51bWJlciIhPXR5cGVvZiB0aGlzLmVuZCl0aHJvdyBUeXBlRXJyb3IoImVuZCBtdXN0IGJlIGEgTnVtYmVyIik7aWYodGhpcy5zdGFy''@;'; put 'put ''dD50aGlzLmVuZCl0aHJvdyBuZXcgRXJyb3IoInN0YXJ0IG11c3QgYmUgPD0gZW5kIik7dGhpcy5wb3M9dGhpcy5zdGFydH1udWxsPT09dGhpcy5mZD9DLm9wZW4odGhpcy5wYXRoLHRoaXMuZmxhZ3MsdGhpcy5tb2RlLGZ1bmN0aW9uKE8sTCl7aWYoTylyZXR1cm4gRC5lbWl0KCJlcnJvciIs''@;'; put 'put ''Tyksdm9pZChELnJlYWRhYmxlPSExKTtELmZkPUwsRC5lbWl0KCJvcGVuIixMKSxELl9yZWFkKCl9KTpOLm5leHRUaWNrKGZ1bmN0aW9uKCl7RC5fcmVhZCgpfSl9LFdyaXRlU3RyZWFtOmZ1bmN0aW9uIFMobSxGKXtpZighKHRoaXMgaW5zdGFuY2VvZiBTKSlyZXR1cm4gbmV3IFMobSxGKTt6''@;'; put 'put ''LmNhbGwodGhpcyksdGhpcy5wYXRoPW0sdGhpcy5mZD1udWxsLHRoaXMud3JpdGFibGU9ITAsdGhpcy5mbGFncz0idyIsdGhpcy5lbmNvZGluZz0iYmluYXJ5Iix0aGlzLm1vZGU9NDM4LHRoaXMuYnl0ZXNXcml0dGVuPTAsRj1GfHx7fTtmb3IodmFyIEQ9T2JqZWN0LmtleXMoRiksdz0wLFA9''@;'; put 'put ''RC5sZW5ndGg7dzxQO3crKyl7dmFyIE09RFt3XTt0aGlzW01dPUZbTV19aWYodm9pZCAwIT09dGhpcy5zdGFydCl7aWYoIm51bWJlciIhPXR5cGVvZiB0aGlzLnN0YXJ0KXRocm93IFR5cGVFcnJvcigic3RhcnQgbXVzdCBiZSBhIE51bWJlciIpO2lmKHRoaXMuc3RhcnQ8MCl0aHJvdyBuZXcg''@;'; put 'put ''RXJyb3IoInN0YXJ0IG11c3QgYmUgPj0gemVybyIpO3RoaXMucG9zPXRoaXMuc3RhcnR9dGhpcy5idXN5PSExLHRoaXMuX3F1ZXVlPVtdLG51bGw9PT10aGlzLmZkJiYodGhpcy5fb3Blbj1DLm9wZW4sdGhpcy5fcXVldWUucHVzaChbdGhpcy5fb3Blbix0aGlzLnBhdGgsdGhpcy5mbGFncyx0''@;'; put 'put ''aGlzLm1vZGUsdm9pZCAwXSksdGhpcy5mbHVzaCgpKX19fX0sMjE2MTooWixBLGopPT57dmFyIE49aig0MTU1KSx6PWooMzIwOCksQz1OLmN3ZCxTPW51bGwsbT1OLmVudi5HUkFDRUZVTF9GU19QTEFURk9STXx8Ti5wbGF0Zm9ybTtOLmN3ZD1mdW5jdGlvbigpe3JldHVybiBTfHwoUz1DLmNh''@;'; put 'put ''bGwoTikpLFN9O3RyeXtOLmN3ZCgpfWNhdGNoKEQpe31pZigiZnVuY3Rpb24iPT10eXBlb2YgTi5jaGRpcil7dmFyIEY9Ti5jaGRpcjtOLmNoZGlyPWZ1bmN0aW9uKEQpe1M9bnVsbCxGLmNhbGwoTixEKX0sT2JqZWN0LnNldFByb3RvdHlwZU9mJiZPYmplY3Quc2V0UHJvdG90eXBlT2YoTi5j''@;'; put 'put ''aGRpcixGKX1aLmV4cG9ydHM9ZnVuY3Rpb24oRCl7dmFyIEksWTtmdW5jdGlvbiB3KEkpe3JldHVybiBJJiZmdW5jdGlvbihVLFYsUil7cmV0dXJuIEkuY2FsbChELFUsVixmdW5jdGlvbihCKXtUKEIpJiYoQj1udWxsKSxSJiZSLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfX1mdW5jdGlvbiBQ''@;'; put 'put ''KEkpe3JldHVybiBJJiZmdW5jdGlvbihVLFYpe3RyeXtyZXR1cm4gSS5jYWxsKEQsVSxWKX1jYXRjaChSKXtpZighVChSKSl0aHJvdyBSfX19ZnVuY3Rpb24gTShJKXtyZXR1cm4gSSYmZnVuY3Rpb24oVSxWLFIsQil7cmV0dXJuIEkuY2FsbChELFUsVixSLGZ1bmN0aW9uKHEpe1QocSkmJihx''@;'; put 'put ''PW51bGwpLEImJkIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9fWZ1bmN0aW9uIGsoSSl7cmV0dXJuIEkmJmZ1bmN0aW9uKFUsVixSKXt0cnl7cmV0dXJuIEkuY2FsbChELFUsVixSKX1jYXRjaChCKXtpZighVChCKSl0aHJvdyBCfX19ZnVuY3Rpb24gTyhJKXtyZXR1cm4gSSYmZnVuY3Rpb24o''@;'; put 'put ''VSxWLFIpe2Z1bmN0aW9uIEIocSxKKXtKJiYoSi51aWQ8MCYmKEoudWlkKz00Mjk0OTY3Mjk2KSxKLmdpZDwwJiYoSi5naWQrPTQyOTQ5NjcyOTYpKSxSJiZSLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgViYmKFI9VixWPW51bGwpLFY/SS5jYWxsKEQs''@;'; put 'put ''VSxWLEIpOkkuY2FsbChELFUsQil9fWZ1bmN0aW9uIEwoSSl7cmV0dXJuIEkmJmZ1bmN0aW9uKFUsVil7dmFyIFI9Vj9JLmNhbGwoRCxVLFYpOkkuY2FsbChELFUpO3JldHVybiBSJiYoUi51aWQ8MCYmKFIudWlkKz00Mjk0OTY3Mjk2KSxSLmdpZDwwJiYoUi5naWQrPTQyOTQ5NjcyOTYpKSxS''@;'; put 'put ''fX1mdW5jdGlvbiBUKEkpe3JldHVybiFJfHwiRU5PU1lTIj09PUkuY29kZXx8IShOLmdldHVpZCYmMD09PU4uZ2V0dWlkKCl8fCJFSU5WQUwiIT09SS5jb2RlJiYiRVBFUk0iIT09SS5jb2RlKX16Lmhhc093blByb3BlcnR5KCJPX1NZTUxJTksiKSYmTi52ZXJzaW9uLm1hdGNoKC9edjBcLjZc''@;'; put 'put ''LlswLTJdfF52MFwuNVwuLykmJigoST1EKS5sY2htb2Q9ZnVuY3Rpb24oVSxWLFIpe0kub3BlbihVLHouT19XUk9OTFl8ei5PX1NZTUxJTkssVixmdW5jdGlvbihCLHEpe0I/UiYmUihCKTpJLmZjaG1vZChxLFYsZnVuY3Rpb24oSil7SS5jbG9zZShxLGZ1bmN0aW9uKCQpe1ImJlIoSnx8JCl9''@;'; put 'put ''KX0pfSl9LEkubGNobW9kU3luYz1mdW5jdGlvbihVLFYpe3ZhciBSLEI9SS5vcGVuU3luYyhVLHouT19XUk9OTFl8ei5PX1NZTUxJTkssVikscT0hMDt0cnl7Uj1JLmZjaG1vZFN5bmMoQixWKSxxPSExfWZpbmFsbHl7aWYocSl0cnl7SS5jbG9zZVN5bmMoQil9Y2F0Y2goSil7fWVsc2UgSS5j''@;'; put 'put ''bG9zZVN5bmMoQil9cmV0dXJuIFJ9KSxELmx1dGltZXN8fGZ1bmN0aW9uKEkpe3ouaGFzT3duUHJvcGVydHkoIk9fU1lNTElOSyIpJiZJLmZ1dGltZXM/KEkubHV0aW1lcz1mdW5jdGlvbihVLFYsUixCKXtJLm9wZW4oVSx6Lk9fU1lNTElOSyxmdW5jdGlvbihxLEope3E/QiYmQihxKTpJLmZ1''@;'; put 'put ''dGltZXMoSixWLFIsZnVuY3Rpb24oJCl7SS5jbG9zZShKLGZ1bmN0aW9uKHRlKXtCJiZCKCR8fHRlKX0pfSl9KX0sSS5sdXRpbWVzU3luYz1mdW5jdGlvbihVLFYsUil7dmFyIEIscT1JLm9wZW5TeW5jKFUsei5PX1NZTUxJTkspLEo9ITA7dHJ5e0I9SS5mdXRpbWVzU3luYyhxLFYsUiksSj0h''@;'; put 'put ''MX1maW5hbGx5e2lmKEopdHJ5e0kuY2xvc2VTeW5jKHEpfWNhdGNoKCQpe31lbHNlIEkuY2xvc2VTeW5jKHEpfXJldHVybiBCfSk6SS5mdXRpbWVzJiYoSS5sdXRpbWVzPWZ1bmN0aW9uKFUsVixSLEIpe0ImJk4ubmV4dFRpY2soQil9LEkubHV0aW1lc1N5bmM9ZnVuY3Rpb24oKXt9KX0oRCks''@;'; put 'put ''RC5jaG93bj1NKEQuY2hvd24pLEQuZmNob3duPU0oRC5mY2hvd24pLEQubGNob3duPU0oRC5sY2hvd24pLEQuY2htb2Q9dyhELmNobW9kKSxELmZjaG1vZD13KEQuZmNobW9kKSxELmxjaG1vZD13KEQubGNobW9kKSxELmNob3duU3luYz1rKEQuY2hvd25TeW5jKSxELmZjaG93blN5bmM9ayhE''@;'; put 'put ''LmZjaG93blN5bmMpLEQubGNob3duU3luYz1rKEQubGNob3duU3luYyksRC5jaG1vZFN5bmM9UChELmNobW9kU3luYyksRC5mY2htb2RTeW5jPVAoRC5mY2htb2RTeW5jKSxELmxjaG1vZFN5bmM9UChELmxjaG1vZFN5bmMpLEQuc3RhdD1PKEQuc3RhdCksRC5mc3RhdD1PKEQuZnN0YXQpLEQu''@;'; put 'put ''bHN0YXQ9TyhELmxzdGF0KSxELnN0YXRTeW5jPUwoRC5zdGF0U3luYyksRC5mc3RhdFN5bmM9TChELmZzdGF0U3luYyksRC5sc3RhdFN5bmM9TChELmxzdGF0U3luYyksRC5jaG1vZCYmIUQubGNobW9kJiYoRC5sY2htb2Q9ZnVuY3Rpb24oSSxVLFYpe1YmJk4ubmV4dFRpY2soVil9LEQubGNo''@;'; put 'put ''bW9kU3luYz1mdW5jdGlvbigpe30pLEQuY2hvd24mJiFELmxjaG93biYmKEQubGNob3duPWZ1bmN0aW9uKEksVSxWLFIpe1ImJk4ubmV4dFRpY2soUil9LEQubGNob3duU3luYz1mdW5jdGlvbigpe30pLCJ3aW4zMiI9PT1tJiYoRC5yZW5hbWU9ImZ1bmN0aW9uIiE9dHlwZW9mIEQucmVuYW1l''@;'; put 'put ''P0QucmVuYW1lOmZ1bmN0aW9uKEkpe2Z1bmN0aW9uIFUoVixSLEIpe3ZhciBxPURhdGUubm93KCksSj0wO0koVixSLGZ1bmN0aW9uICQodGUpe2lmKHRlJiYoIkVBQ0NFUyI9PT10ZS5jb2RlfHwiRVBFUk0iPT09dGUuY29kZSkmJkRhdGUubm93KCktcTw2ZTQpcmV0dXJuIHNldFRpbWVvdXQo''@;'; put 'put ''ZnVuY3Rpb24oKXtELnN0YXQoUixmdW5jdGlvbihoLGIpe2gmJiJFTk9FTlQiPT09aC5jb2RlP0koVixSLCQpOkIodGUpfSl9LEopLHZvaWQoSjwxMDAmJihKKz0xMCkpO0ImJkIodGUpfSl9cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZiYmT2JqZWN0LnNldFByb3RvdHlwZU9mKFUsSSks''@;'; put 'put ''VX0oRC5yZW5hbWUpKSxELnJlYWQ9ImZ1bmN0aW9uIiE9dHlwZW9mIEQucmVhZD9ELnJlYWQ6ZnVuY3Rpb24oSSl7ZnVuY3Rpb24gVShWLFIsQixxLEosJCl7dmFyIHRlO2lmKCQmJiJmdW5jdGlvbiI9PXR5cGVvZiAkKXt2YXIgaD0wO3RlPWZ1bmN0aW9uKGIseSxwKXtpZihiJiYiRUFHQUlO''@;'; put 'put ''Ij09PWIuY29kZSYmaDwxMClyZXR1cm4gaCsrLEkuY2FsbChELFYsUixCLHEsSix0ZSk7JC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fXJldHVybiBJLmNhbGwoRCxWLFIsQixxLEosdGUpfXJldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YmJk9iamVjdC5zZXRQcm90b3R5cGVPZihVLEkpLFV9''@;'; put 'put ''KEQucmVhZCksRC5yZWFkU3luYz0iZnVuY3Rpb24iIT10eXBlb2YgRC5yZWFkU3luYz9ELnJlYWRTeW5jOihZPUQucmVhZFN5bmMsZnVuY3Rpb24oSSxVLFYsUixCKXtmb3IodmFyIHE9MDs7KXRyeXtyZXR1cm4gWS5jYWxsKEQsSSxVLFYsUixCKX1jYXRjaChKKXtpZigiRUFHQUlOIj09PUou''@;'; put 'put ''Y29kZSYmcTwxMCl7cSsrO2NvbnRpbnVlfXRocm93IEp9fSl9fSwxMDQ0OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aigyMTApKCIlT2JqZWN0LmRlZmluZVByb3BlcnR5JSIsITApLHo9ZnVuY3Rpb24oKXtpZihOKXRyeXtyZXR1cm4gTih7fSwiYSIse3ZhbHVlOjF9KSwhMH1jYXRj''@;'; put 'put ''aChDKXtyZXR1cm4hMX1yZXR1cm4hMX07ei5oYXNBcnJheUxlbmd0aERlZmluZUJ1Zz1mdW5jdGlvbigpe2lmKCF6KCkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiAxIT09TihbXSwibGVuZ3RoIix7dmFsdWU6MX0pLmxlbmd0aH1jYXRjaChDKXtyZXR1cm4hMH19LFouZXhwb3J0cz16fSwxNDA1''@;'; put 'put ''OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbCx6PWooNTQxOSk7Wi5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIE4mJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBl''@;'; put 'put ''b2YgTigiZm9vIikmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sKCJiYXIiKSYmeigpfX0sNTQxOTpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBTeW1ib2x8fCJmdW5jdGlvbiIhPXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlT''@;'; put 'put ''eW1ib2xzKXJldHVybiExO2lmKCJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yKXJldHVybiEwO3ZhciBBPXt9LGo9U3ltYm9sKCJ0ZXN0IiksTj1PYmplY3Qoaik7aWYoInN0cmluZyI9PXR5cGVvZiBqfHwiW29iamVjdCBTeW1ib2xdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJp''@;'; put 'put ''bmcuY2FsbChqKXx8IltvYmplY3QgU3ltYm9sXSIhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoTikpcmV0dXJuITE7Zm9yKGogaW4gQVtqXT00MixBKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3Qua2V5cyYmMCE9PU9iamVjdC5rZXlzKEEpLmxlbmd0aHx8''@;'; put 'put ''ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzJiYwIT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoQSkubGVuZ3RoKXJldHVybiExO3ZhciB6PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoQSk7aWYoMSE9PXoubGVuZ3RofHx6WzBdIT09anx8IU9i''@;'; put 'put ''amVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChBLGopKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKXt2YXIgQz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsaik7aWYoNDIhPT1DLnZh''@;'; put 'put ''bHVlfHwhMCE9PUMuZW51bWVyYWJsZSlyZXR1cm4hMX1yZXR1cm4hMH19LDY0MTA6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDU0MTkpO1ouZXhwb3J0cz1mdW5jdGlvbigpe3JldHVybiBOKCkmJiEhU3ltYm9sLnRvU3RyaW5nVGFnfX0sNzY0MjooWixBLGopPT57InVzZSBzdHJp''@;'; put 'put ''Y3QiO3ZhciBOPWooODYxMik7Wi5leHBvcnRzPU4uY2FsbChGdW5jdGlvbi5jYWxsLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpfSwzMzQ5OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aigyMTMpLkJ1ZmZlcix6PWooODQ3MykuVHJhbnNmb3JtO2Z1bmN0aW9uIEMoUyl7''@;'; put 'put ''ei5jYWxsKHRoaXMpLHRoaXMuX2Jsb2NrPU4uYWxsb2NVbnNhZmUoUyksdGhpcy5fYmxvY2tTaXplPVMsdGhpcy5fYmxvY2tPZmZzZXQ9MCx0aGlzLl9sZW5ndGg9WzAsMCwwLDBdLHRoaXMuX2ZpbmFsaXplZD0hMX1qKDU3MTcpKEMseiksQy5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlv''@;'; put 'put ''bihTLG0sRil7dmFyIEQ9bnVsbDt0cnl7dGhpcy51cGRhdGUoUyxtKX1jYXRjaCh3KXtEPXd9RihEKX0sQy5wcm90b3R5cGUuX2ZsdXNoPWZ1bmN0aW9uKFMpe3ZhciBtPW51bGw7dHJ5e3RoaXMucHVzaCh0aGlzLmRpZ2VzdCgpKX1jYXRjaChGKXttPUZ9UyhtKX0sQy5wcm90b3R5cGUudXBk''@;'; put 'put ''YXRlPWZ1bmN0aW9uKFMsbSl7aWYoZnVuY3Rpb24oayxPKXtpZighTi5pc0J1ZmZlcihrKSYmInN0cmluZyIhPXR5cGVvZiBrKXRocm93IG5ldyBUeXBlRXJyb3IoIkRhdGEgbXVzdCBiZSBhIHN0cmluZyBvciBhIGJ1ZmZlciIpfShTKSx0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9y''@;'; put 'put ''KCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTtOLmlzQnVmZmVyKFMpfHwoUz1OLmZyb20oUyxtKSk7Zm9yKHZhciBGPXRoaXMuX2Jsb2NrLEQ9MDt0aGlzLl9ibG9ja09mZnNldCtTLmxlbmd0aC1EPj10aGlzLl9ibG9ja1NpemU7KXtmb3IodmFyIHc9dGhpcy5fYmxvY2tPZmZzZXQ7dzx0aGlz''@;'; put 'put ''Ll9ibG9ja1NpemU7KUZbdysrXT1TW0QrK107dGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MH1mb3IoO0Q8Uy5sZW5ndGg7KUZbdGhpcy5fYmxvY2tPZmZzZXQrK109U1tEKytdO2Zvcih2YXIgUD0wLE09OCpTLmxlbmd0aDtNPjA7KytQKXRoaXMuX2xlbmd0aFtQXSs9TSwoTT10''@;'; put 'put ''aGlzLl9sZW5ndGhbUF0vNDI5NDk2NzI5NnwwKT4wJiYodGhpcy5fbGVuZ3RoW1BdLT00Mjk0OTY3Mjk2Kk0pO3JldHVybiB0aGlzfSxDLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfdXBkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxDLnByb3RvdHlw''@;'; put 'put ''ZS5kaWdlc3Q9ZnVuY3Rpb24oUyl7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7dGhpcy5fZmluYWxpemVkPSEwO3ZhciBtPXRoaXMuX2RpZ2VzdCgpO3ZvaWQgMCE9PVMmJihtPW0udG9TdHJpbmcoUykpLHRoaXMuX2Jsb2NrLmZp''@;'; put 'put ''bGwoMCksdGhpcy5fYmxvY2tPZmZzZXQ9MDtmb3IodmFyIEY9MDtGPDQ7KytGKXRoaXMuX2xlbmd0aFtGXT0wO3JldHVybiBtfSxDLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfZGlnZXN0IGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxaLmV4cG9ydHM9Q30s''@;'; put 'put ''MjEzOihaLEEsaik9Pnt2YXIgTj1qKDg3NjQpLHo9Ti5CdWZmZXI7ZnVuY3Rpb24gQyhtLEYpe2Zvcih2YXIgRCBpbiBtKUZbRF09bVtEXX1mdW5jdGlvbiBTKG0sRixEKXtyZXR1cm4geihtLEYsRCl9ei5mcm9tJiZ6LmFsbG9jJiZ6LmFsbG9jVW5zYWZlJiZ6LmFsbG9jVW5zYWZlU2xvdz9a''@;'; put 'put ''LmV4cG9ydHM9TjooQyhOLEEpLEEuQnVmZmVyPVMpLFMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoei5wcm90b3R5cGUpLEMoeixTKSxTLmZyb209ZnVuY3Rpb24obSxGLEQpe2lmKCJudW1iZXIiPT10eXBlb2YgbSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IG5vdCBiZSBh''@;'; put 'put ''IG51bWJlciIpO3JldHVybiB6KG0sRixEKX0sUy5hbGxvYz1mdW5jdGlvbihtLEYsRCl7aWYoIm51bWJlciIhPXR5cGVvZiBtKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTt2YXIgdz16KG0pO3JldHVybiB2b2lkIDAhPT1GPyJzdHJpbmciPT10eXBl''@;'; put 'put ''b2YgRD93LmZpbGwoRixEKTp3LmZpbGwoRik6dy5maWxsKDApLHd9LFMuYWxsb2NVbnNhZmU9ZnVuY3Rpb24obSl7aWYoIm51bWJlciIhPXR5cGVvZiBtKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4geihtKX0sUy5hbGxvY1Vuc2FmZVNs''@;'; put 'put ''b3c9ZnVuY3Rpb24obSl7aWYoIm51bWJlciIhPXR5cGVvZiBtKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gTi5TbG93QnVmZmVyKG0pfX0sMzcxNTooWixBLGopPT57dmFyIE49QTtOLnV0aWxzPWooNjQzNiksTi5jb21tb249aig1Nzcy''@;'; put 'put ''KSxOLnNoYT1qKDkwNDEpLE4ucmlwZW1kPWooMjk0OSksTi5obWFjPWooMjM0NCksTi5zaGExPU4uc2hhLnNoYTEsTi5zaGEyNTY9Ti5zaGEuc2hhMjU2LE4uc2hhMjI0PU4uc2hhLnNoYTIyNCxOLnNoYTM4ND1OLnNoYS5zaGEzODQsTi5zaGE1MTI9Ti5zaGEuc2hhNTEyLE4ucmlwZW1kMTYw''@;'; put 'put ''PU4ucmlwZW1kLnJpcGVtZDE2MH0sNTc3MjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNjQzNiksej1qKDk3NDYpO2Z1bmN0aW9uIEMoKXt0aGlzLnBlbmRpbmc9bnVsbCx0aGlzLnBlbmRpbmdUb3RhbD0wLHRoaXMuYmxvY2tTaXplPXRoaXMuY29uc3RydWN0b3IuYmxvY2tTaXpl''@;'; put 'put ''LHRoaXMub3V0U2l6ZT10aGlzLmNvbnN0cnVjdG9yLm91dFNpemUsdGhpcy5obWFjU3RyZW5ndGg9dGhpcy5jb25zdHJ1Y3Rvci5obWFjU3RyZW5ndGgsdGhpcy5wYWRMZW5ndGg9dGhpcy5jb25zdHJ1Y3Rvci5wYWRMZW5ndGgvOCx0aGlzLmVuZGlhbj0iYmlnIix0aGlzLl9kZWx0YTg9dGhp''@;'; put 'put ''cy5ibG9ja1NpemUvOCx0aGlzLl9kZWx0YTMyPXRoaXMuYmxvY2tTaXplLzMyfUEuQmxvY2tIYXNoPUMsQy5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKFMsbSl7aWYoUz1OLnRvQXJyYXkoUyxtKSx0aGlzLnBlbmRpbmc9dGhpcy5wZW5kaW5nP3RoaXMucGVuZGluZy5jb25jYXQoUyk6Uyx0''@;'; put 'put ''aGlzLnBlbmRpbmdUb3RhbCs9Uy5sZW5ndGgsdGhpcy5wZW5kaW5nLmxlbmd0aD49dGhpcy5fZGVsdGE4KXt2YXIgRj0oUz10aGlzLnBlbmRpbmcpLmxlbmd0aCV0aGlzLl9kZWx0YTg7dGhpcy5wZW5kaW5nPVMuc2xpY2UoUy5sZW5ndGgtRixTLmxlbmd0aCksMD09PXRoaXMucGVuZGluZy5s''@;'; put 'put ''ZW5ndGgmJih0aGlzLnBlbmRpbmc9bnVsbCksUz1OLmpvaW4zMihTLDAsUy5sZW5ndGgtRix0aGlzLmVuZGlhbik7Zm9yKHZhciBEPTA7RDxTLmxlbmd0aDtEKz10aGlzLl9kZWx0YTMyKXRoaXMuX3VwZGF0ZShTLEQsRCt0aGlzLl9kZWx0YTMyKX1yZXR1cm4gdGhpc30sQy5wcm90b3R5cGUu''@;'; put 'put ''ZGlnZXN0PWZ1bmN0aW9uKFMpe3JldHVybiB0aGlzLnVwZGF0ZSh0aGlzLl9wYWQoKSkseihudWxsPT09dGhpcy5wZW5kaW5nKSx0aGlzLl9kaWdlc3QoUyl9LEMucHJvdG90eXBlLl9wYWQ9ZnVuY3Rpb24oKXt2YXIgUz10aGlzLnBlbmRpbmdUb3RhbCxtPXRoaXMuX2RlbHRhOCxGPW0tKFMr''@;'; put 'put ''dGhpcy5wYWRMZW5ndGgpJW0sRD1uZXcgQXJyYXkoRit0aGlzLnBhZExlbmd0aCk7RFswXT0xMjg7Zm9yKHZhciB3PTE7dzxGO3crKylEW3ddPTA7aWYoUzw8PTMsImJpZyI9PT10aGlzLmVuZGlhbil7Zm9yKHZhciBQPTg7UDx0aGlzLnBhZExlbmd0aDtQKyspRFt3KytdPTA7RFt3KytdPTAs''@;'; put 'put ''RFt3KytdPTAsRFt3KytdPTAsRFt3KytdPTAsRFt3KytdPVM+Pj4yNCYyNTUsRFt3KytdPVM+Pj4xNiYyNTUsRFt3KytdPVM+Pj44JjI1NSxEW3crK109MjU1JlN9ZWxzZSBmb3IoRFt3KytdPTI1NSZTLERbdysrXT1TPj4+OCYyNTUsRFt3KytdPVM+Pj4xNiYyNTUsRFt3KytdPVM+Pj4yNCYy''@;'; put 'put ''NTUsRFt3KytdPTAsRFt3KytdPTAsRFt3KytdPTAsRFt3KytdPTAsUD04O1A8dGhpcy5wYWRMZW5ndGg7UCsrKURbdysrXT0wO3JldHVybiBEfX0sMjM0NDooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNjQzNiksej1qKDk3NDYpO2Z1bmN0aW9uIEMoUyxtLEYpe2lmKCEodGhpcyBp''@;'; put 'put ''bnN0YW5jZW9mIEMpKXJldHVybiBuZXcgQyhTLG0sRik7dGhpcy5IYXNoPVMsdGhpcy5ibG9ja1NpemU9Uy5ibG9ja1NpemUvOCx0aGlzLm91dFNpemU9Uy5vdXRTaXplLzgsdGhpcy5pbm5lcj1udWxsLHRoaXMub3V0ZXI9bnVsbCx0aGlzLl9pbml0KE4udG9BcnJheShtLEYpKX1aLmV4cG9y''@;'; put 'put ''dHM9QyxDLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbihTKXtTLmxlbmd0aD50aGlzLmJsb2NrU2l6ZSYmKFM9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZShTKS5kaWdlc3QoKSkseihTLmxlbmd0aDw9dGhpcy5ibG9ja1NpemUpO2Zvcih2YXIgbT1TLmxlbmd0aDttPHRoaXMuYmxvY2tTaXplO20r''@;'; put 'put ''KylTLnB1c2goMCk7Zm9yKG09MDttPFMubGVuZ3RoO20rKylTW21dXj01NDtmb3IodGhpcy5pbm5lcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKFMpLG09MDttPFMubGVuZ3RoO20rKylTW21dXj0xMDY7dGhpcy5vdXRlcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKFMpfSxDLnByb3RvdHlwZS51''@;'; put 'put ''cGRhdGU9ZnVuY3Rpb24oUyxtKXtyZXR1cm4gdGhpcy5pbm5lci51cGRhdGUoUyxtKSx0aGlzfSxDLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24oUyl7cmV0dXJuIHRoaXMub3V0ZXIudXBkYXRlKHRoaXMuaW5uZXIuZGlnZXN0KCkpLHRoaXMub3V0ZXIuZGlnZXN0KFMpfX0sMjk0OTooWixB''@;'; put 'put ''LGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNjQzNiksej1qKDU3NzIpLEM9Ti5yb3RsMzIsUz1OLnN1bTMyLG09Ti5zdW0zMl8zLEY9Ti5zdW0zMl80LEQ9ei5CbG9ja0hhc2g7ZnVuY3Rpb24gdygpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHcpKXJldHVybiBuZXcgdztELmNhbGwodGhpcyks''@;'; put 'put ''dGhpcy5oPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF0sdGhpcy5lbmRpYW49ImxpdHRsZSJ9ZnVuY3Rpb24gUChJLFUsVixSKXtyZXR1cm4gSTw9MTU/VV5WXlI6STw9MzE/VSZWfH5VJlI6STw9NDc/KFV8flYpXlI6STw9NjM/VSZSfFYm''@;'; put 'put ''flI6VV4oVnx+Uil9ZnVuY3Rpb24gTShJKXtyZXR1cm4gSTw9MTU/MDpJPD0zMT8xNTE4NTAwMjQ5Okk8PTQ3PzE4NTk3NzUzOTM6STw9NjM/MjQwMDk1OTcwODoyODQwODUzODM4fWZ1bmN0aW9uIGsoSSl7cmV0dXJuIEk8PTE1PzEzNTI4Mjk5MjY6STw9MzE/MTU0ODYwMzY4NDpJPD00Nz8x''@;'; put 'put ''ODM2MDcyNjkxOkk8PTYzPzIwNTM5OTQyMTc6MH1OLmluaGVyaXRzKHcsRCksQS5yaXBlbWQxNjA9dyx3LmJsb2NrU2l6ZT01MTIsdy5vdXRTaXplPTE2MCx3LmhtYWNTdHJlbmd0aD0xOTIsdy5wYWRMZW5ndGg9NjQsdy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihJLFUpe2Zvcih2YXIg''@;'; put 'put ''Vj10aGlzLmhbMF0sUj10aGlzLmhbMV0sQj10aGlzLmhbMl0scT10aGlzLmhbM10sSj10aGlzLmhbNF0sJD1WLHRlPVIsaD1CLGI9cSx5PUoscD0wO3A8ODA7cCsrKXt2YXIgZz1TKEMoRihWLFAocCxSLEIscSksSVtPW3BdK1VdLE0ocCkpLFRbcF0pLEopO1Y9SixKPXEscT1DKEIsMTApLEI9''@;'; put 'put ''UixSPWcsZz1TKEMoRigkLFAoNzktcCx0ZSxoLGIpLElbTFtwXStVXSxrKHApKSxZW3BdKSx5KSwkPXkseT1iLGI9QyhoLDEwKSxoPXRlLHRlPWd9Zz1tKHRoaXMuaFsxXSxCLGIpLHRoaXMuaFsxXT1tKHRoaXMuaFsyXSxxLHkpLHRoaXMuaFsyXT1tKHRoaXMuaFszXSxKLCQpLHRoaXMuaFsz''@;'; put 'put ''XT1tKHRoaXMuaFs0XSxWLHRlKSx0aGlzLmhbNF09bSh0aGlzLmhbMF0sUixoKSx0aGlzLmhbMF09Z30sdy5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbihJKXtyZXR1cm4iaGV4Ij09PUk/Ti50b0hleDMyKHRoaXMuaCwibGl0dGxlIik6Ti5zcGxpdDMyKHRoaXMuaCwibGl0dGxlIil9O3Zh''@;'; put 'put ''ciBPPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDcsNCwxMywxLDEwLDYsMTUsMywxMiwwLDksNSwyLDE0LDExLDgsMywxMCwxNCw0LDksMTUsOCwxLDIsNywwLDYsMTMsMTEsNSwxMiwxLDksMTEsMTAsMCw4LDEyLDQsMTMsMyw3LDE1LDE0LDUsNiwyLDQsMCw1LDks''@;'; put 'put ''NywxMiwyLDEwLDE0LDEsMyw4LDExLDYsMTUsMTNdLEw9WzUsMTQsNywwLDksMiwxMSw0LDEzLDYsMTUsOCwxLDEwLDMsMTIsNiwxMSwzLDcsMCwxMyw1LDEwLDE0LDE1LDgsMTIsNCw5LDEsMiwxNSw1LDEsMyw3LDE0LDYsOSwxMSw4LDEyLDIsMTAsMCw0LDEzLDgsNiw0LDEsMywxMSwxNSww''@;'; put 'put ''LDUsMTIsMiwxMyw5LDcsMTAsMTQsMTIsMTUsMTAsNCwxLDUsOCw3LDYsMiwxMywxNCwwLDMsOSwxMV0sVD1bMTEsMTQsMTUsMTIsNSw4LDcsOSwxMSwxMywxNCwxNSw2LDcsOSw4LDcsNiw4LDEzLDExLDksNywxNSw3LDEyLDE1LDksMTEsNywxMywxMiwxMSwxMyw2LDcsMTQsOSwxMywxNSwx''@;'; put 'put ''NCw4LDEzLDYsNSwxMiw3LDUsMTEsMTIsMTQsMTUsMTQsMTUsOSw4LDksMTQsNSw2LDgsNiw1LDEyLDksMTUsNSwxMSw2LDgsMTMsMTIsNSwxMiwxMywxNCwxMSw4LDUsNl0sWT1bOCw5LDksMTEsMTMsMTUsMTUsNSw3LDcsOCwxMSwxNCwxNCwxMiw2LDksMTMsMTUsNywxMiw4LDksMTEsNyw3''@;'; put 'put ''LDEyLDcsNiwxNSwxMywxMSw5LDcsMTUsMTEsOCw2LDYsMTQsMTIsMTMsNSwxNCwxMywxMyw3LDUsMTUsNSw4LDExLDE0LDE0LDYsMTQsNiw5LDEyLDksMTIsNSwxNSw4LDgsNSwxMiw5LDEyLDUsMTQsNiw4LDEzLDYsNSwxNSwxMywxMSwxMV19LDkwNDE6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0''@;'; put 'put ''IjtBLnNoYTE9aig0NzYxKSxBLnNoYTIyND1qKDc5OSksQS5zaGEyNTY9aig5MzQ0KSxBLnNoYTM4ND1qKDc3MiksQS5zaGE1MTI9aig1OTAwKX0sNDc2MTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNjQzNiksej1qKDU3NzIpLEM9aig3MDM4KSxTPU4ucm90bDMyLG09Ti5zdW0z''@;'; put 'put ''MixGPU4uc3VtMzJfNSxEPUMuZnRfMSx3PXouQmxvY2tIYXNoLFA9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4LDMzOTU0Njk3ODJdO2Z1bmN0aW9uIE0oKXtpZighKHRoaXMgaW5zdGFuY2VvZiBNKSlyZXR1cm4gbmV3IE07dy5jYWxsKHRoaXMpLHRoaXMuaD1bMTczMjU4NDE5''@;'; put 'put ''Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4LDMyODUzNzc1MjBdLHRoaXMuVz1uZXcgQXJyYXkoODApfU4uaW5oZXJpdHMoTSx3KSxaLmV4cG9ydHM9TSxNLmJsb2NrU2l6ZT01MTIsTS5vdXRTaXplPTE2MCxNLmhtYWNTdHJlbmd0aD04MCxNLnBhZExlbmd0aD02NCxNLnByb3Rv''@;'; put 'put ''dHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGssTyl7Zm9yKHZhciBMPXRoaXMuVyxUPTA7VDwxNjtUKyspTFtUXT1rW08rVF07Zm9yKDtUPEwubGVuZ3RoO1QrKylMW1RdPVMoTFtULTNdXkxbVC04XV5MW1QtMTRdXkxbVC0xNl0sMSk7dmFyIFk9dGhpcy5oWzBdLEk9dGhpcy5oWzFdLFU9dGhpcy5o''@;'; put 'put ''WzJdLFY9dGhpcy5oWzNdLFI9dGhpcy5oWzRdO2ZvcihUPTA7VDxMLmxlbmd0aDtUKyspe3ZhciBCPX5+KFQvMjApLHE9RihTKFksNSksRChCLEksVSxWKSxSLExbVF0sUFtCXSk7Uj1WLFY9VSxVPVMoSSwzMCksST1ZLFk9cX10aGlzLmhbMF09bSh0aGlzLmhbMF0sWSksdGhpcy5oWzFdPW0o''@;'; put 'put ''dGhpcy5oWzFdLEkpLHRoaXMuaFsyXT1tKHRoaXMuaFsyXSxVKSx0aGlzLmhbM109bSh0aGlzLmhbM10sViksdGhpcy5oWzRdPW0odGhpcy5oWzRdLFIpfSxNLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKGspe3JldHVybiJoZXgiPT09az9OLnRvSGV4MzIodGhpcy5oLCJiaWciKTpOLnNw''@;'; put 'put ''bGl0MzIodGhpcy5oLCJiaWciKX19LDc5OTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNjQzNiksej1qKDkzNDQpO2Z1bmN0aW9uIEMoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBDKSlyZXR1cm4gbmV3IEM7ei5jYWxsKHRoaXMpLHRoaXMuaD1bMzIzODM3MTAzMiw5MTQxNTA2NjMs''@;'; put 'put ''ODEyNzAyOTk5LDQxNDQ5MTI2OTcsNDI5MDc3NTg1NywxNzUwNjAzMDI1LDE2OTQwNzY4MzksMzIwNDA3NTQyOF19Ti5pbmhlcml0cyhDLHopLFouZXhwb3J0cz1DLEMuYmxvY2tTaXplPTUxMixDLm91dFNpemU9MjI0LEMuaG1hY1N0cmVuZ3RoPTE5MixDLnBhZExlbmd0aD02NCxDLnByb3Rv''@;'; put 'put ''dHlwZS5fZGlnZXN0PWZ1bmN0aW9uKFMpe3JldHVybiJoZXgiPT09Uz9OLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsNyksImJpZyIpOk4uc3BsaXQzMih0aGlzLmguc2xpY2UoMCw3KSwiYmlnIil9fSw5MzQ0OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig2NDM2KSx6PWooNTc3Miks''@;'; put 'put ''Qz1qKDcwMzgpLFM9aig5NzQ2KSxtPU4uc3VtMzIsRj1OLnN1bTMyXzQsRD1OLnN1bTMyXzUsdz1DLmNoMzIsUD1DLm1hajMyLE09Qy5zMF8yNTYsaz1DLnMxXzI1NixPPUMuZzBfMjU2LEw9Qy5nMV8yNTYsVD16LkJsb2NrSGFzaCxZPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3''@;'; put 'put ''MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwy''@;'; put 'put ''NjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5''@;'; put 'put ''MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0''@;'; put 'put ''LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO2Z1''@;'; put 'put ''bmN0aW9uIEkoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJKSlyZXR1cm4gbmV3IEk7VC5jYWxsKHRoaXMpLHRoaXMuaD1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdLHRoaXMuaz1Z''@;'; put 'put ''LHRoaXMuVz1uZXcgQXJyYXkoNjQpfU4uaW5oZXJpdHMoSSxUKSxaLmV4cG9ydHM9SSxJLmJsb2NrU2l6ZT01MTIsSS5vdXRTaXplPTI1NixJLmhtYWNTdHJlbmd0aD0xOTIsSS5wYWRMZW5ndGg9NjQsSS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihVLFYpe2Zvcih2YXIgUj10aGlzLlcs''@;'; put 'put ''Qj0wO0I8MTY7QisrKVJbQl09VVtWK0JdO2Zvcig7QjxSLmxlbmd0aDtCKyspUltCXT1GKEwoUltCLTJdKSxSW0ItN10sTyhSW0ItMTVdKSxSW0ItMTZdKTt2YXIgcT10aGlzLmhbMF0sSj10aGlzLmhbMV0sJD10aGlzLmhbMl0sdGU9dGhpcy5oWzNdLGg9dGhpcy5oWzRdLGI9dGhpcy5oWzVd''@;'; put 'put ''LHk9dGhpcy5oWzZdLHA9dGhpcy5oWzddO2ZvcihTKHRoaXMuay5sZW5ndGg9PT1SLmxlbmd0aCksQj0wO0I8Ui5sZW5ndGg7QisrKXt2YXIgZz1EKHAsayhoKSx3KGgsYix5KSx0aGlzLmtbQl0sUltCXSksXz1tKE0ocSksUChxLEosJCkpO3A9eSx5PWIsYj1oLGg9bSh0ZSxnKSx0ZT0kLCQ9''@;'; put 'put ''SixKPXEscT1tKGcsXyl9dGhpcy5oWzBdPW0odGhpcy5oWzBdLHEpLHRoaXMuaFsxXT1tKHRoaXMuaFsxXSxKKSx0aGlzLmhbMl09bSh0aGlzLmhbMl0sJCksdGhpcy5oWzNdPW0odGhpcy5oWzNdLHRlKSx0aGlzLmhbNF09bSh0aGlzLmhbNF0saCksdGhpcy5oWzVdPW0odGhpcy5oWzVdLGIp''@;'; put 'put ''LHRoaXMuaFs2XT1tKHRoaXMuaFs2XSx5KSx0aGlzLmhbN109bSh0aGlzLmhbN10scCl9LEkucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oVSl7cmV0dXJuImhleCI9PT1VP04udG9IZXgzMih0aGlzLmgsImJpZyIpOk4uc3BsaXQzMih0aGlzLmgsImJpZyIpfX0sNzcyOihaLEEsaik9Pnsi''@;'; put 'put ''dXNlIHN0cmljdCI7dmFyIE49aig2NDM2KSx6PWooNTkwMCk7ZnVuY3Rpb24gQygpe2lmKCEodGhpcyBpbnN0YW5jZW9mIEMpKXJldHVybiBuZXcgQzt6LmNhbGwodGhpcyksdGhpcy5oPVszNDE4MDcwMzY1LDMyMzgzNzEwMzIsMTY1NDI3MDI1MCw5MTQxNTA2NjMsMjQzODUyOTM3MCw4MTI3''@;'; put 'put ''MDI5OTksMzU1NDYyMzYwLDQxNDQ5MTI2OTcsMTczMTQwNTQxNSw0MjkwNzc1ODU3LDIzOTQxODAyMzEsMTc1MDYwMzAyNSwzNjc1MDA4NTI1LDE2OTQwNzY4MzksMTIwMzA2MjgxMywzMjA0MDc1NDI4XX1OLmluaGVyaXRzKEMseiksWi5leHBvcnRzPUMsQy5ibG9ja1NpemU9MTAyNCxDLm91''@;'; put 'put ''dFNpemU9Mzg0LEMuaG1hY1N0cmVuZ3RoPTE5MixDLnBhZExlbmd0aD0xMjgsQy5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbihTKXtyZXR1cm4iaGV4Ij09PVM/Ti50b0hleDMyKHRoaXMuaC5zbGljZSgwLDEyKSwiYmlnIik6Ti5zcGxpdDMyKHRoaXMuaC5zbGljZSgwLDEyKSwiYmlnIil9''@;'; put 'put ''fSw1OTAwOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig2NDM2KSx6PWooNTc3MiksQz1qKDk3NDYpLFM9Ti5yb3RyNjRfaGksbT1OLnJvdHI2NF9sbyxGPU4uc2hyNjRfaGksRD1OLnNocjY0X2xvLHc9Ti5zdW02NCxQPU4uc3VtNjRfaGksTT1OLnN1bTY0X2xvLGs9Ti5zdW02NF80''@;'; put 'put ''X2hpLE89Ti5zdW02NF80X2xvLEw9Ti5zdW02NF81X2hpLFQ9Ti5zdW02NF81X2xvLFk9ei5CbG9ja0hhc2gsST1bMTExNjM1MjQwOCwzNjA5NzY3NDU4LDE4OTk0NDc0NDEsNjAyODkxNzI1LDMwNDkzMjM0NzEsMzk2NDQ4NDM5OSwzOTIxMDA5NTczLDIxNzMyOTU1NDgsOTYxOTg3MTYzLDQw''@;'; put 'put ''ODE2Mjg0NzIsMTUwODk3MDk5MywzMDUzODM0MjY1LDI0NTM2MzU3NDgsMjkzNzY3MTU3OSwyODcwNzYzMjIxLDM2NjQ2MDk1NjAsMzYyNDM4MTA4MCwyNzM0ODgzMzk0LDMxMDU5ODQwMSwxMTY0OTk2NTQyLDYwNzIyNTI3OCwxMzIzNjEwNzY0LDE0MjY4ODE5ODcsMzU5MDMwNDk5NCwxOTI1''@;'; put 'put ''MDc4Mzg4LDQwNjgxODIzODMsMjE2MjA3ODIwNiw5OTEzMzYxMTMsMjYxNDg4ODEwMyw2MzM4MDMzMTcsMzI0ODIyMjU4MCwzNDc5Nzc0ODY4LDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCw0MDIyMjI0Nzc0LDk0NDcxMTEzOSwyNjQzNDcwNzgsMjM0MTI2Mjc3Myw2MDQ4MDc2MjgsMjAwNzgwMDkz''@;'; put 'put ''Myw3NzAyNTU5ODMsMTQ5NTk5MDkwMSwxMjQ5MTUwMTIyLDE4NTY0MzEyMzUsMTU1NTA4MTY5MiwzMTc1MjE4MTMyLDE5OTYwNjQ5ODYsMjE5ODk1MDgzNywyNTU0MjIwODgyLDM5OTk3MTkzMzksMjgyMTgzNDM0OSw3NjY3ODQwMTYsMjk1Mjk5NjgwOCwyNTY2NTk0ODc5LDMyMTAzMTM2NzEs''@;'; put 'put ''MzIwMzMzNzk1NiwzMzM2NTcxODkxLDEwMzQ0NTcwMjYsMzU4NDUyODcxMSwyNDY2OTQ4OTAxLDExMzkyNjk5MywzNzU4MzI2MzgzLDMzODI0MTg5NSwxNjg3MTc5MzYsNjY2MzA3MjA1LDExODgxNzk5NjQsNzczNTI5OTEyLDE1NDYwNDU3MzQsMTI5NDc1NzM3MiwxNTIyODA1NDg1LDEzOTYx''@;'; put 'put ''ODIyOTEsMjY0MzgzMzgyMywxNjk1MTgzNzAwLDIzNDM1MjczOTAsMTk4NjY2MTA1MSwxMDE0NDc3NDgwLDIxNzcwMjYzNTAsMTIwNjc1OTE0MiwyNDU2OTU2MDM3LDM0NDA3NzYyNywyNzMwNDg1OTIxLDEyOTA4NjM0NjAsMjgyMDMwMjQxMSwzMTU4NDU0MjczLDMyNTk3MzA4MDAsMzUwNTk1''@;'; put 'put ''MjY1NywzMzQ1NzY0NzcxLDEwNjIxNzAwOCwzNTE2MDY1ODE3LDM2MDYwMDgzNDQsMzYwMDM1MjgwNCwxNDMyNzI1Nzc2LDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCwyNzU0MjMzNDQsODUxMTY5NzIwLDQzMDIyNzczNCwzMTAwODIzNzUyLDUwNjk0ODYxNiwxMzYzMjU4MTk1LDY1OTA2MDU1Niwz''@;'; put 'put ''NzUwNjg1NTkzLDg4Mzk5Nzg3NywzNzg1MDUwMjgwLDk1ODEzOTU3MSwzMzE4MzA3NDI3LDEzMjI4MjIyMTgsMzgxMjcyMzQwMywxNTM3MDAyMDYzLDIwMDMwMzQ5OTUsMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5LDE5NTU1NjIyMjIsMTU3NTk5MDAxMiwyMDI0MTA0ODE1LDExMjU1OTI5MjgsMjIy''@;'; put 'put ''NzczMDQ1MiwyNzE2OTA0MzA2LDIzNjE4NTI0MjQsNDQyNzc2MDQ0LDI0Mjg0MzY0NzQsNTkzNjk4MzQ0LDI3NTY3MzQxODcsMzczMzExMDI0OSwzMjA0MDMxNDc5LDI5OTkzNTE1NzMsMzMyOTMyNTI5OCwzODE1OTIwNDI3LDMzOTE1Njk2MTQsMzkyODM4MzkwMCwzNTE1MjY3MjcxLDU2NjI4''@;'; put 'put ''MDcxMSwzOTQwMTg3NjA2LDM0NTQwNjk1MzQsNDExODYzMDI3MSw0MDAwMjM5OTkyLDExNjQxODQ3NCwxOTE0MTM4NTU0LDE3NDI5MjQyMSwyNzMxMDU1MjcwLDI4OTM4MDM1NiwzMjAzOTkzMDA2LDQ2MDM5MzI2OSwzMjA2MjAzMTUsNjg1NDcxNzMzLDU4NzQ5NjgzNiw4NTIxNDI5NzEsMTA4''@;'; put 'put ''Njc5Mjg1MSwxMDE3MDM2Mjk4LDM2NTU0MzEwMCwxMTI2MDAwNTgwLDI2MTgyOTc2NzYsMTI4ODAzMzQ3MCwzNDA5ODU1MTU4LDE1MDE1MDU5NDgsNDIzNDUwOTg2NiwxNjA3MTY3OTE1LDk4NzE2NzQ2OCwxODE2NDAyMzE2LDEyNDYxODk1OTFdO2Z1bmN0aW9uIFUoKXtpZighKHRoaXMgaW5z''@;'; put 'put ''dGFuY2VvZiBVKSlyZXR1cm4gbmV3IFU7WS5jYWxsKHRoaXMpLHRoaXMuaD1bMTc3OTAzMzcwMyw0MDg5MjM1NzIwLDMxNDQxMzQyNzcsMjIyNzg3MzU5NSwxMDEzOTA0MjQyLDQyNzExNzU3MjMsMjc3MzQ4MDc2MiwxNTk1NzUwMTI5LDEzNTk4OTMxMTksMjkxNzU2NTEzNywyNjAwODIyOTI0''@;'; put 'put ''LDcyNTUxMTE5OSw1Mjg3MzQ2MzUsNDIxNTM4OTU0NywxNTQxNDU5MjI1LDMyNzAzMzIwOV0sdGhpcy5rPUksdGhpcy5XPW5ldyBBcnJheSgxNjApfWZ1bmN0aW9uIFYoXyxFLFcsRyxYKXt2YXIgbmU9XyZXXn5fJlg7cmV0dXJuIG5lPDAmJihuZSs9NDI5NDk2NzI5NiksbmV9ZnVuY3Rpb24g''@;'; put 'put ''UihfLEUsVyxHLFgsbmUpe3ZhciBhZT1FJkdefkUmbmU7cmV0dXJuIGFlPDAmJihhZSs9NDI5NDk2NzI5NiksYWV9ZnVuY3Rpb24gQihfLEUsVyxHLFgpe3ZhciBuZT1fJldeXyZYXlcmWDtyZXR1cm4gbmU8MCYmKG5lKz00Mjk0OTY3Mjk2KSxuZX1mdW5jdGlvbiBxKF8sRSxXLEcsWCxuZSl7''@;'; put 'put ''dmFyIGFlPUUmR15FJm5lXkcmbmU7cmV0dXJuIGFlPDAmJihhZSs9NDI5NDk2NzI5NiksYWV9ZnVuY3Rpb24gSihfLEUpe3ZhciBXPVMoXyxFLDI4KV5TKEUsXywyKV5TKEUsXyw3KTtyZXR1cm4gVzwwJiYoVys9NDI5NDk2NzI5NiksV31mdW5jdGlvbiAkKF8sRSl7dmFyIFc9bShfLEUsMjgp''@;'; put 'put ''Xm0oRSxfLDIpXm0oRSxfLDcpO3JldHVybiBXPDAmJihXKz00Mjk0OTY3Mjk2KSxXfWZ1bmN0aW9uIHRlKF8sRSl7dmFyIFc9UyhfLEUsMTQpXlMoXyxFLDE4KV5TKEUsXyw5KTtyZXR1cm4gVzwwJiYoVys9NDI5NDk2NzI5NiksV31mdW5jdGlvbiBoKF8sRSl7dmFyIFc9bShfLEUsMTQpXm0o''@;'; put 'put ''XyxFLDE4KV5tKEUsXyw5KTtyZXR1cm4gVzwwJiYoVys9NDI5NDk2NzI5NiksV31mdW5jdGlvbiBiKF8sRSl7dmFyIFc9UyhfLEUsMSleUyhfLEUsOCleRihfLEUsNyk7cmV0dXJuIFc8MCYmKFcrPTQyOTQ5NjcyOTYpLFd9ZnVuY3Rpb24geShfLEUpe3ZhciBXPW0oXyxFLDEpXm0oXyxFLDgp''@;'; put 'put ''XkQoXyxFLDcpO3JldHVybiBXPDAmJihXKz00Mjk0OTY3Mjk2KSxXfWZ1bmN0aW9uIHAoXyxFKXt2YXIgVz1TKF8sRSwxOSleUyhFLF8sMjkpXkYoXyxFLDYpO3JldHVybiBXPDAmJihXKz00Mjk0OTY3Mjk2KSxXfWZ1bmN0aW9uIGcoXyxFKXt2YXIgVz1tKF8sRSwxOSlebShFLF8sMjkpXkQo''@;'; put 'put ''XyxFLDYpO3JldHVybiBXPDAmJihXKz00Mjk0OTY3Mjk2KSxXfU4uaW5oZXJpdHMoVSxZKSxaLmV4cG9ydHM9VSxVLmJsb2NrU2l6ZT0xMDI0LFUub3V0U2l6ZT01MTIsVS5obWFjU3RyZW5ndGg9MTkyLFUucGFkTGVuZ3RoPTEyOCxVLnByb3RvdHlwZS5fcHJlcGFyZUJsb2NrPWZ1bmN0aW9u''@;'; put 'put ''KF8sRSl7Zm9yKHZhciBXPXRoaXMuVyxHPTA7RzwzMjtHKyspV1tHXT1fW0UrR107Zm9yKDtHPFcubGVuZ3RoO0crPTIpe3ZhciBYPXAoV1tHLTRdLFdbRy0zXSksbmU9ZyhXW0ctNF0sV1tHLTNdKSxhZT1XW0ctMTRdLHVlPVdbRy0xM10sYmU9YihXW0ctMzBdLFdbRy0yOV0pLF9lPXkoV1tH''@;'; put 'put ''LTMwXSxXW0ctMjldKSxsZT1XW0ctMzJdLGNlPVdbRy0zMV07V1tHXT1rKFgsbmUsYWUsdWUsYmUsX2UsbGUsY2UpLFdbRysxXT1PKFgsbmUsYWUsdWUsYmUsX2UsbGUsY2UpfX0sVS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihfLEUpe3RoaXMuX3ByZXBhcmVCbG9jayhfLEUpO3ZhciBX''@;'; put 'put ''PXRoaXMuVyxHPXRoaXMuaFswXSxYPXRoaXMuaFsxXSxuZT10aGlzLmhbMl0sYWU9dGhpcy5oWzNdLHVlPXRoaXMuaFs0XSxiZT10aGlzLmhbNV0sX2U9dGhpcy5oWzZdLGxlPXRoaXMuaFs3XSxjZT10aGlzLmhbOF0scGU9dGhpcy5oWzldLHdlPXRoaXMuaFsxMF0sVWU9dGhpcy5oWzExXSx4''@;'; put 'put ''ZT10aGlzLmhbMTJdLEVlPXRoaXMuaFsxM10sd3Q9dGhpcy5oWzE0XSxOZT10aGlzLmhbMTVdO0ModGhpcy5rLmxlbmd0aD09PVcubGVuZ3RoKTtmb3IodmFyIEhlPTA7SGU8Vy5sZW5ndGg7SGUrPTIpe3ZhciBSZT13dCxPZT1OZSxMZT10ZShjZSxwZSksaWU9aChjZSxwZSksc2U9VihjZSww''@;'; put 'put ''LHdlLDAseGUpLGRlPVIoMCxwZSwwLFVlLDAsRWUpLEFlPXRoaXMua1tIZV0sa2U9dGhpcy5rW0hlKzFdLFNlPVdbSGVdLCRlPVdbSGUrMV0sVmU9TChSZSxPZSxMZSxpZSxzZSxkZSxBZSxrZSxTZSwkZSksR2U9VChSZSxPZSxMZSxpZSxzZSxkZSxBZSxrZSxTZSwkZSk7UmU9SihHLFgpLE9l''@;'; put 'put ''PSQoRyxYKSxMZT1CKEcsMCxuZSwwLHVlKSxpZT1xKDAsWCwwLGFlLDAsYmUpO3ZhciBxdD1QKFJlLE9lLExlLGllKSxLZT1NKFJlLE9lLExlLGllKTt3dD14ZSxOZT1FZSx4ZT13ZSxFZT1VZSx3ZT1jZSxVZT1wZSxjZT1QKF9lLGxlLFZlLEdlKSxwZT1NKGxlLGxlLFZlLEdlKSxfZT11ZSxs''@;'; put 'put ''ZT1iZSx1ZT1uZSxiZT1hZSxuZT1HLGFlPVgsRz1QKFZlLEdlLHF0LEtlKSxYPU0oVmUsR2UscXQsS2UpfXcodGhpcy5oLDAsRyxYKSx3KHRoaXMuaCwyLG5lLGFlKSx3KHRoaXMuaCw0LHVlLGJlKSx3KHRoaXMuaCw2LF9lLGxlKSx3KHRoaXMuaCw4LGNlLHBlKSx3KHRoaXMuaCwxMCx3ZSxV''@;'; put 'put ''ZSksdyh0aGlzLmgsMTIseGUsRWUpLHcodGhpcy5oLDE0LHd0LE5lKX0sVS5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbihfKXtyZXR1cm4iaGV4Ij09PV8/Ti50b0hleDMyKHRoaXMuaCwiYmlnIik6Ti5zcGxpdDMyKHRoaXMuaCwiYmlnIil9fSw3MDM4OihaLEEsaik9PnsidXNlIHN0cmlj''@;'; put 'put ''dCI7dmFyIE49aig2NDM2KS5yb3RyMzI7ZnVuY3Rpb24geihtLEYsRCl7cmV0dXJuIG0mRl5+bSZEfWZ1bmN0aW9uIEMobSxGLEQpe3JldHVybiBtJkZebSZEXkYmRH1mdW5jdGlvbiBTKG0sRixEKXtyZXR1cm4gbV5GXkR9QS5mdF8xPWZ1bmN0aW9uKG0sRixELHcpe3JldHVybiAwPT09bT96''@;'; put 'put ''KEYsRCx3KToxPT09bXx8Mz09PW0/UyhGLEQsdyk6Mj09PW0/QyhGLEQsdyk6dm9pZCAwfSxBLmNoMzI9eixBLm1hajMyPUMsQS5wMzI9UyxBLnMwXzI1Nj1mdW5jdGlvbihtKXtyZXR1cm4gTihtLDIpXk4obSwxMyleTihtLDIyKX0sQS5zMV8yNTY9ZnVuY3Rpb24obSl7cmV0dXJuIE4obSw2''@;'; put 'put ''KV5OKG0sMTEpXk4obSwyNSl9LEEuZzBfMjU2PWZ1bmN0aW9uKG0pe3JldHVybiBOKG0sNyleTihtLDE4KV5tPj4+M30sQS5nMV8yNTY9ZnVuY3Rpb24obSl7cmV0dXJuIE4obSwxNyleTihtLDE5KV5tPj4+MTB9fSw2NDM2OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig5NzQ2KSx6''@;'; put 'put ''PWooNTcxNyk7ZnVuY3Rpb24gQyhELHcpe3JldHVybiA1NTI5Nj09KDY0NTEyJkQuY2hhckNvZGVBdCh3KSkmJiEodzwwfHx3KzE+PUQubGVuZ3RoKSYmNTYzMjA9PSg2NDUxMiZELmNoYXJDb2RlQXQodysxKSl9ZnVuY3Rpb24gUyhEKXtyZXR1cm4oRD4+PjI0fEQ+Pj44JjY1MjgwfEQ8PDgm''@;'; put 'put ''MTY3MTE2ODB8KDI1NSZEKTw8MjQpPj4+MH1mdW5jdGlvbiBtKEQpe3JldHVybiAxPT09RC5sZW5ndGg/IjAiK0Q6RH1mdW5jdGlvbiBGKEQpe3JldHVybiA3PT09RC5sZW5ndGg/IjAiK0Q6Nj09PUQubGVuZ3RoPyIwMCIrRDo1PT09RC5sZW5ndGg/IjAwMCIrRDo0PT09RC5sZW5ndGg/IjAw''@;'; put 'put ''MDAiK0Q6Mz09PUQubGVuZ3RoPyIwMDAwMCIrRDoyPT09RC5sZW5ndGg/IjAwMDAwMCIrRDoxPT09RC5sZW5ndGg/IjAwMDAwMDAiK0Q6RH1BLmluaGVyaXRzPXosQS50b0FycmF5PWZ1bmN0aW9uKEQsdyl7aWYoQXJyYXkuaXNBcnJheShEKSlyZXR1cm4gRC5zbGljZSgpO2lmKCFEKXJldHVy''@;'; put 'put ''bltdO3ZhciBQPVtdO2lmKCJzdHJpbmciPT10eXBlb2YgRClpZih3KXtpZigiaGV4Ij09PXcpZm9yKChEPUQucmVwbGFjZSgvW15hLXowLTldKy9naSwiIikpLmxlbmd0aCUyIT0wJiYoRD0iMCIrRCksaz0wO2s8RC5sZW5ndGg7ays9MilQLnB1c2gocGFyc2VJbnQoRFtrXStEW2srMV0sMTYp''@;'; put 'put ''KX1lbHNlIGZvcih2YXIgTT0wLGs9MDtrPEQubGVuZ3RoO2srKyl7dmFyIE89RC5jaGFyQ29kZUF0KGspO088MTI4P1BbTSsrXT1POk88MjA0OD8oUFtNKytdPU8+PjZ8MTkyLFBbTSsrXT02MyZPfDEyOCk6QyhELGspPyhPPTY1NTM2KygoMTAyMyZPKTw8MTApKygxMDIzJkQuY2hhckNvZGVB''@;'; put 'put ''dCgrK2spKSxQW00rK109Tz4+MTh8MjQwLFBbTSsrXT1PPj4xMiY2M3wxMjgsUFtNKytdPU8+PjYmNjN8MTI4LFBbTSsrXT02MyZPfDEyOCk6KFBbTSsrXT1PPj4xMnwyMjQsUFtNKytdPU8+PjYmNjN8MTI4LFBbTSsrXT02MyZPfDEyOCl9ZWxzZSBmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKVBb''@;'; put 'put ''a109MHxEW2tdO3JldHVybiBQfSxBLnRvSGV4PWZ1bmN0aW9uKEQpe2Zvcih2YXIgdz0iIixQPTA7UDxELmxlbmd0aDtQKyspdys9bShEW1BdLnRvU3RyaW5nKDE2KSk7cmV0dXJuIHd9LEEuaHRvbmw9UyxBLnRvSGV4MzI9ZnVuY3Rpb24oRCx3KXtmb3IodmFyIFA9IiIsTT0wO008RC5sZW5n''@;'; put 'put ''dGg7TSsrKXt2YXIgaz1EW01dOyJsaXR0bGUiPT09dyYmKGs9UyhrKSksUCs9RihrLnRvU3RyaW5nKDE2KSl9cmV0dXJuIFB9LEEuemVybzI9bSxBLnplcm84PUYsQS5qb2luMzI9ZnVuY3Rpb24oRCx3LFAsTSl7dmFyIGs9UC13O04oayU0PT0wKTtmb3IodmFyIE89bmV3IEFycmF5KGsvNCks''@;'; put 'put ''TD0wLFQ9dztMPE8ubGVuZ3RoO0wrKyxUKz00KU9bTF09KCJiaWciPT09TT9EW1RdPDwyNHxEW1QrMV08PDE2fERbVCsyXTw8OHxEW1QrM106RFtUKzNdPDwyNHxEW1QrMl08PDE2fERbVCsxXTw8OHxEW1RdKT4+PjA7cmV0dXJuIE99LEEuc3BsaXQzMj1mdW5jdGlvbihELHcpe2Zvcih2YXIg''@;'; put 'put ''UD1uZXcgQXJyYXkoNCpELmxlbmd0aCksTT0wLGs9MDtNPEQubGVuZ3RoO00rKyxrKz00KXt2YXIgTz1EW01dOyJiaWciPT09dz8oUFtrXT1PPj4+MjQsUFtrKzFdPU8+Pj4xNiYyNTUsUFtrKzJdPU8+Pj44JjI1NSxQW2srM109MjU1Jk8pOihQW2srM109Tz4+PjI0LFBbaysyXT1PPj4+MTYm''@;'; put 'put ''MjU1LFBbaysxXT1PPj4+OCYyNTUsUFtrXT0yNTUmTyl9cmV0dXJuIFB9LEEucm90cjMyPWZ1bmN0aW9uKEQsdyl7cmV0dXJuIEQ+Pj53fEQ8PDMyLXd9LEEucm90bDMyPWZ1bmN0aW9uKEQsdyl7cmV0dXJuIEQ8PHd8RD4+PjMyLXd9LEEuc3VtMzI9ZnVuY3Rpb24oRCx3KXtyZXR1cm4gRCt3''@;'; put 'put ''Pj4+MH0sQS5zdW0zMl8zPWZ1bmN0aW9uKEQsdyxQKXtyZXR1cm4gRCt3K1A+Pj4wfSxBLnN1bTMyXzQ9ZnVuY3Rpb24oRCx3LFAsTSl7cmV0dXJuIEQrdytQK00+Pj4wfSxBLnN1bTMyXzU9ZnVuY3Rpb24oRCx3LFAsTSxrKXtyZXR1cm4gRCt3K1ArTStrPj4+MH0sQS5zdW02ND1mdW5jdGlv''@;'; put 'put ''bihELHcsUCxNKXt2YXIgTz1NK0RbdysxXT4+PjA7RFt3XT0oTzxNPzE6MCkrUCtEW3ddPj4+MCxEW3crMV09T30sQS5zdW02NF9oaT1mdW5jdGlvbihELHcsUCxNKXtyZXR1cm4odytNPj4+MDx3PzE6MCkrRCtQPj4+MH0sQS5zdW02NF9sbz1mdW5jdGlvbihELHcsUCxNKXtyZXR1cm4gdytN''@;'; put 'put ''Pj4+MH0sQS5zdW02NF80X2hpPWZ1bmN0aW9uKEQsdyxQLE0sayxPLEwsVCl7dmFyIFk9MCxJPXc7cmV0dXJuIFkrPShJPUkrTT4+PjApPHc/MTowLFkrPShJPUkrTz4+PjApPE8/MTowLEQrUCtrK0wrKFkrPShJPUkrVD4+PjApPFQ/MTowKT4+PjB9LEEuc3VtNjRfNF9sbz1mdW5jdGlvbihE''@;'; put 'put ''LHcsUCxNLGssTyxMLFQpe3JldHVybiB3K00rTytUPj4+MH0sQS5zdW02NF81X2hpPWZ1bmN0aW9uKEQsdyxQLE0sayxPLEwsVCxZLEkpe3ZhciBVPTAsVj13O3JldHVybiBVKz0oVj1WK00+Pj4wKTx3PzE6MCxVKz0oVj1WK08+Pj4wKTxPPzE6MCxVKz0oVj1WK1Q+Pj4wKTxUPzE6MCxEK1Ar''@;'; put 'put ''aytMK1krKFUrPShWPVYrST4+PjApPEk/MTowKT4+PjB9LEEuc3VtNjRfNV9sbz1mdW5jdGlvbihELHcsUCxNLGssTyxMLFQsWSxJKXtyZXR1cm4gdytNK08rVCtJPj4+MH0sQS5yb3RyNjRfaGk9ZnVuY3Rpb24oRCx3LFApe3JldHVybih3PDwzMi1QfEQ+Pj5QKT4+PjB9LEEucm90cjY0X2xv''@;'; put 'put ''PWZ1bmN0aW9uKEQsdyxQKXtyZXR1cm4oRDw8MzItUHx3Pj4+UCk+Pj4wfSxBLnNocjY0X2hpPWZ1bmN0aW9uKEQsdyxQKXtyZXR1cm4gRD4+PlB9LEEuc2hyNjRfbG89ZnVuY3Rpb24oRCx3LFApe3JldHVybihEPDwzMi1QfHc+Pj5QKT4+PjB9fSwyMTU2OihaLEEsaik9PnsidXNlIHN0cmlj''@;'; put 'put ''dCI7dmFyIE49aigzNzE1KSx6PWooNDUwNCksQz1qKDk3NDYpO2Z1bmN0aW9uIFMobSl7aWYoISh0aGlzIGluc3RhbmNlb2YgUykpcmV0dXJuIG5ldyBTKG0pO3RoaXMuaGFzaD1tLmhhc2gsdGhpcy5wcmVkUmVzaXN0PSEhbS5wcmVkUmVzaXN0LHRoaXMub3V0TGVuPXRoaXMuaGFzaC5vdXRT''@;'; put 'put ''aXplLHRoaXMubWluRW50cm9weT1tLm1pbkVudHJvcHl8fHRoaXMuaGFzaC5obWFjU3RyZW5ndGgsdGhpcy5fcmVzZWVkPW51bGwsdGhpcy5yZXNlZWRJbnRlcnZhbD1udWxsLHRoaXMuSz1udWxsLHRoaXMuVj1udWxsO3ZhciBGPXoudG9BcnJheShtLmVudHJvcHksbS5lbnRyb3B5RW5jfHwi''@;'; put 'put ''aGV4IiksRD16LnRvQXJyYXkobS5ub25jZSxtLm5vbmNlRW5jfHwiaGV4Iiksdz16LnRvQXJyYXkobS5wZXJzLG0ucGVyc0VuY3x8ImhleCIpO0MoRi5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIg''@;'; put 'put ''Yml0cyIpLHRoaXMuX2luaXQoRixELHcpfVouZXhwb3J0cz1TLFMucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKG0sRixEKXt2YXIgdz1tLmNvbmNhdChGKS5jb25jYXQoRCk7dGhpcy5LPW5ldyBBcnJheSh0aGlzLm91dExlbi84KSx0aGlzLlY9bmV3IEFycmF5KHRoaXMub3V0TGVuLzgpO2Zv''@;'; put 'put ''cih2YXIgUD0wO1A8dGhpcy5WLmxlbmd0aDtQKyspdGhpcy5LW1BdPTAsdGhpcy5WW1BdPTE7dGhpcy5fdXBkYXRlKHcpLHRoaXMuX3Jlc2VlZD0xLHRoaXMucmVzZWVkSW50ZXJ2YWw9MjgxNDc0OTc2NzEwNjU2fSxTLnByb3RvdHlwZS5faG1hYz1mdW5jdGlvbigpe3JldHVybiBuZXcgTi5o''@;'; put 'put ''bWFjKHRoaXMuaGFzaCx0aGlzLkspfSxTLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKG0pe3ZhciBGPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzBdKTttJiYoRj1GLnVwZGF0ZShtKSksdGhpcy5LPUYuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUo''@;'; put 'put ''dGhpcy5WKS5kaWdlc3QoKSxtJiYodGhpcy5LPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzFdKS51cGRhdGUobSkuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSl9LFMucHJvdG90eXBlLnJlc2VlZD1mdW5jdGlvbihtLEYs''@;'; put 'put ''RCx3KXsic3RyaW5nIiE9dHlwZW9mIEYmJih3PUQsRD1GLEY9bnVsbCksbT16LnRvQXJyYXkobSxGKSxEPXoudG9BcnJheShELHcpLEMobS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIp''@;'; put 'put ''LHRoaXMuX3VwZGF0ZShtLmNvbmNhdChEfHxbXSkpLHRoaXMuX3Jlc2VlZD0xfSxTLnByb3RvdHlwZS5nZW5lcmF0ZT1mdW5jdGlvbihtLEYsRCx3KXtpZih0aGlzLl9yZXNlZWQ+dGhpcy5yZXNlZWRJbnRlcnZhbCl0aHJvdyBuZXcgRXJyb3IoIlJlc2VlZCBpcyByZXF1aXJlZCIpOyJzdHJp''@;'; put 'put ''bmciIT10eXBlb2YgRiYmKHc9RCxEPUYsRj1udWxsKSxEJiYoRD16LnRvQXJyYXkoRCx3fHwiaGV4IiksdGhpcy5fdXBkYXRlKEQpKTtmb3IodmFyIFA9W107UC5sZW5ndGg8bTspdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSxQPVAuY29uY2F0KHRoaXMuVik7''@;'; put 'put ''dmFyIE09UC5zbGljZSgwLG0pO3JldHVybiB0aGlzLl91cGRhdGUoRCksdGhpcy5fcmVzZWVkKyssei5lbmNvZGUoTSxGKX19LDY0NTooWixBKT0+e0EucmVhZD1mdW5jdGlvbihqLE4seixDLFMpe3ZhciBtLEYsRD04KlMtQy0xLHc9KDE8PEQpLTEsUD13Pj4xLE09LTcsaz16P1MtMTowLE89''@;'; put 'put ''ej8tMToxLEw9altOK2tdO2ZvcihrKz1PLG09TCYoMTw8LU0pLTEsTD4+PS1NLE0rPUQ7TT4wO209MjU2Km0raltOK2tdLGsrPU8sTS09OCk7Zm9yKEY9bSYoMTw8LU0pLTEsbT4+PS1NLE0rPUM7TT4wO0Y9MjU2KkYraltOK2tdLGsrPU8sTS09OCk7aWYoMD09PW0pbT0xLVA7ZWxzZXtpZiht''@;'; put 'put ''PT09dylyZXR1cm4gRj9OYU46MS8wKihMPy0xOjEpO0YrPU1hdGgucG93KDIsQyksbS09UH1yZXR1cm4oTD8tMToxKSpGKk1hdGgucG93KDIsbS1DKX0sQS53cml0ZT1mdW5jdGlvbihqLE4seixDLFMsbSl7dmFyIEYsRCx3LFA9OCptLVMtMSxNPSgxPDxQKS0xLGs9TT4+MSxPPTIzPT09Uz9N''@;'; put 'put ''YXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsTD1DPzA6bS0xLFQ9Qz8xOi0xLFk9TjwwfHwwPT09TiYmMS9OPDA/MTowO2ZvcihOPU1hdGguYWJzKE4pLGlzTmFOKE4pfHxOPT09MS8wPyhEPWlzTmFOKE4pPzE6MCxGPU0pOihGPU1hdGguZmxvb3IoTWF0aC5sb2coTikvTWF0aC5M''@;'; put 'put ''TjIpLE4qKHc9TWF0aC5wb3coMiwtRikpPDEmJihGLS0sdyo9MiksKE4rPUYraz49MT9PL3c6TypNYXRoLnBvdygyLDEtaykpKnc+PTImJihGKyssdy89MiksRitrPj1NPyhEPTAsRj1NKTpGK2s+PTE/KEQ9KE4qdy0xKSpNYXRoLnBvdygyLFMpLEYrPWspOihEPU4qTWF0aC5wb3coMixrLTEp''@;'; put 'put ''Kk1hdGgucG93KDIsUyksRj0wKSk7Uz49ODtqW3orTF09MjU1JkQsTCs9VCxELz0yNTYsUy09OCk7Zm9yKEY9Rjw8U3xELFArPVM7UD4wO2pbeitMXT0yNTUmRixMKz1ULEYvPTI1NixQLT04KTtqW3orTC1UXXw9MTI4Kll9fSw3ODQ0OihaLEEsaik9Pnt2YXIgTj1qKDQxNTUpLHo9aigyNDc5''@;'; put 'put ''KSxDPU9iamVjdC5jcmVhdGUobnVsbCksUz1qKDc3OCk7ZnVuY3Rpb24gbShGKXtmb3IodmFyIEQ9Ri5sZW5ndGgsdz1bXSxQPTA7UDxEO1ArKyl3W1BdPUZbUF07cmV0dXJuIHd9Wi5leHBvcnRzPXooZnVuY3Rpb24oRixEKXtyZXR1cm4gQ1tGXT8oQ1tGXS5wdXNoKEQpLG51bGwpOihDW0Zd''@;'; put 'put ''PVtEXSx3PUYsUyhmdW5jdGlvbiBQKCl7dmFyIE09Q1t3XSxrPU0ubGVuZ3RoLE89bShhcmd1bWVudHMpO3RyeXtmb3IodmFyIEw9MDtMPGs7TCsrKU1bTF0uYXBwbHkobnVsbCxPKX1maW5hbGx5e00ubGVuZ3RoPms/KE0uc3BsaWNlKDAsayksTi5uZXh0VGljayhmdW5jdGlvbigpe1AuYXBw''@;'; put 'put ''bHkobnVsbCxPKX0pKTpkZWxldGUgQ1t3XX19KSk7dmFyIHd9KX0sNTcxNzpaPT57Wi5leHBvcnRzPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKEEsail7aiYmKEEuc3VwZXJfPWosQS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShqLnByb3RvdHlwZSx7Y29uc3Ry''@;'; put 'put ''dWN0b3I6e3ZhbHVlOkEsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSkpfTpmdW5jdGlvbihBLGope2lmKGope0Euc3VwZXJfPWo7dmFyIE49ZnVuY3Rpb24oKXt9O04ucHJvdG90eXBlPWoucHJvdG90eXBlLEEucHJvdG90eXBlPW5ldyBOLEEucHJvdG90eXBl''@;'; put 'put ''LmNvbnN0cnVjdG9yPUF9fX0sMjU4NDooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNjQxMCkoKSx6PWooMTkyNCkoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmciKSxDPWZ1bmN0aW9uKEYpe3JldHVybiEoTiYmRiYmIm9iamVjdCI9PXR5cGVvZiBGJiZTeW1ib2wudG9TdHJpbmdU''@;'; put 'put ''YWcgaW4gRikmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT09eihGKX0sUz1mdW5jdGlvbihGKXtyZXR1cm4hIUMoRil8fG51bGwhPT1GJiYib2JqZWN0Ij09dHlwZW9mIEYmJiJudW1iZXIiPT10eXBlb2YgRi5sZW5ndGgmJkYubGVuZ3RoPj0wJiYiW29iamVjdCBBcnJheV0iIT09eihGKSYmIltv''@;'; put 'put ''YmplY3QgRnVuY3Rpb25dIj09PXooRi5jYWxsZWUpfSxtPWZ1bmN0aW9uKCl7cmV0dXJuIEMoYXJndW1lbnRzKX0oKTtDLmlzTGVnYWN5QXJndW1lbnRzPVMsWi5leHBvcnRzPW0/QzpTfSw1MzIwOlo9PnsidXNlIHN0cmljdCI7dmFyIEEsaixOPUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmlu''@;'; put 'put ''Zyx6PSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmbnVsbCE9PVJlZmxlY3QmJlJlZmxlY3QuYXBwbHk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHomJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydHkpdHJ5e0E9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJsZW5ndGgi''@;'; put 'put ''LHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBqfX0pLGo9e30seihmdW5jdGlvbigpe3Rocm93IDQyfSxudWxsLEEpfWNhdGNoKHcpe3chPT1qJiYoej1udWxsKX1lbHNlIHo9bnVsbDt2YXIgQz0vXlxzKmNsYXNzXGIvLFM9ZnVuY3Rpb24odyl7dHJ5e3ZhciBQPU4uY2FsbCh3KTtyZXR1cm4gQy50''@;'; put 'put ''ZXN0KFApfWNhdGNoKE0pe3JldHVybiExfX0sbT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEY9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmISFTeW1ib2wudG9TdHJpbmdUYWcsRD0ib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50JiZ2b2lkIDA9PT1kb2N1bWVudC5hbGwmJnZvaWQgMCE9''@;'; put 'put ''PWRvY3VtZW50LmFsbD9kb2N1bWVudC5hbGw6e307Wi5leHBvcnRzPXo/ZnVuY3Rpb24odyl7aWYodz09PUQpcmV0dXJuITA7aWYoIXd8fCJmdW5jdGlvbiIhPXR5cGVvZiB3JiYib2JqZWN0IiE9dHlwZW9mIHcpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHcmJiF3LnByb3RvdHlw''@;'; put 'put ''ZSlyZXR1cm4hMDt0cnl7eih3LG51bGwsQSl9Y2F0Y2goUCl7aWYoUCE9PWopcmV0dXJuITF9cmV0dXJuIVModyl9OmZ1bmN0aW9uKHcpe2lmKHc9PT1EKXJldHVybiEwO2lmKCF3fHwiZnVuY3Rpb24iIT10eXBlb2YgdyYmIm9iamVjdCIhPXR5cGVvZiB3KXJldHVybiExO2lmKCJmdW5jdGlv''@;'; put 'put ''biI9PXR5cGVvZiB3JiYhdy5wcm90b3R5cGUpcmV0dXJuITA7aWYoRilyZXR1cm4gZnVuY3Rpb24oTSl7dHJ5e3JldHVybiFTKE0pJiYoTi5jYWxsKE0pLCEwKX1jYXRjaChrKXtyZXR1cm4hMX19KHcpO2lmKFModykpcmV0dXJuITE7dmFyIFA9bS5jYWxsKHcpO3JldHVybiJbb2JqZWN0IEZ1''@;'; put 'put ''bmN0aW9uXSI9PT1QfHwiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iPT09UH19LDg2NjI6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsQz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsUz0vXlxzKig/OmZ1bmN0aW9uKT9cKi8s''@;'; put 'put ''bT1qKDY0MTApKCksRj1PYmplY3QuZ2V0UHJvdG90eXBlT2Y7Wi5leHBvcnRzPWZ1bmN0aW9uKEQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBEKXJldHVybiExO2lmKFMudGVzdChDLmNhbGwoRCkpKXJldHVybiEwO2lmKCFtKXJldHVybiJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PT16''@;'; put 'put ''LmNhbGwoRCk7aWYoIUYpcmV0dXJuITE7aWYodm9pZCAwPT09Til7dmFyIHc9ZnVuY3Rpb24oKXtpZighbSlyZXR1cm4hMTt0cnl7cmV0dXJuIEZ1bmN0aW9uKCJyZXR1cm4gZnVuY3Rpb24qKCkge30iKSgpfWNhdGNoKFApe319KCk7Tj0hIXcmJkYodyl9cmV0dXJuIEYoRCk9PT1OfX0sODYx''@;'; put 'put ''MTpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gQSE9QX19LDM2MDooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNTU1OSksej1qKDQyODkpLEM9aig4NjExKSxTPWooOTQxNSksbT1qKDMxOTQpLEY9TihTKCksTnVtYmVyKTt6KEYse2dldFBvbHlm''@;'; put 'put ''aWxsOlMsaW1wbGVtZW50YXRpb246QyxzaGltOm19KSxaLmV4cG9ydHM9Rn0sOTQxNTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooODYxMSk7Wi5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuIE51bWJlci5pc05hTiYmTnVtYmVyLmlzTmFOKE5hTikmJiFOdW1iZXIuaXNOYU4oImEi''@;'; put 'put ''KT9OdW1iZXIuaXNOYU46Tn19LDMxOTQ6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQyODkpLHo9aig5NDE1KTtaLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgQz16KCk7cmV0dXJuIE4oTnVtYmVyLHtpc05hTjpDfSx7aXNOYU46ZnVuY3Rpb24oKXtyZXR1cm4gTnVtYmVyLmlzTmFO''@;'; put 'put ''IT09Q319KSxDfX0sNTY5MjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDAyOSksej1qKDMwODMpLEM9aigxOTI0KSxTPUMoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmciKSxtPWooNjQxMCkoKSxGPSJ1bmRlZmluZWQiPT10eXBlb2YgZ2xvYmFsVGhpcz9qLmc6Z2xvYmFsVGhp''@;'; put 'put ''cyxEPXooKSx3PUMoIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIiwhMCl8fGZ1bmN0aW9uKEwsVCl7Zm9yKHZhciBZPTA7WTxMLmxlbmd0aDtZKz0xKWlmKExbWV09PT1UKXJldHVybiBZO3JldHVybi0xfSxQPUMoIlN0cmluZy5wcm90b3R5cGUuc2xpY2UiKSxNPXt9LGs9aig4ODIpLE89T2Jq''@;'; put 'put ''ZWN0LmdldFByb3RvdHlwZU9mO20mJmsmJk8mJk4oRCxmdW5jdGlvbihMKXt2YXIgVD1uZXcgRltMXTtpZihTeW1ib2wudG9TdHJpbmdUYWcgaW4gVCl7dmFyIFk9TyhUKSxJPWsoWSxTeW1ib2wudG9TdHJpbmdUYWcpO2lmKCFJKXt2YXIgVT1PKFkpO0k9ayhVLFN5bWJvbC50b1N0cmluZ1Rh''@;'; put 'put ''Zyl9TVtMXT1JLmdldH19KSxaLmV4cG9ydHM9ZnVuY3Rpb24oTCl7aWYoIUx8fCJvYmplY3QiIT10eXBlb2YgTClyZXR1cm4hMTtpZighbXx8IShTeW1ib2wudG9TdHJpbmdUYWcgaW4gTCkpe3ZhciBUPVAoUyhMKSw4LC0xKTtyZXR1cm4gdyhELFQpPi0xfXJldHVybiEhayYmKFk9TCxJPSEx''@;'; put 'put ''LE4oTSxmdW5jdGlvbihVLFYpe2lmKCFJKXRyeXtJPVUuY2FsbChZKT09PVZ9Y2F0Y2goUil7fX0pLEkpO3ZhciBZLEl9fSw2ODEzOihaLEEsaik9PntsZXQgTjt0cnl7Tj1qKDc3KX1jYXRjaChGKXtOPWooNDEyOSl9Y29uc3Qgej1qKDg5ODEpLHtzdHJpbmdpZnk6QyxzdHJpcEJvbTpTfT1q''@;'; put 'put ''KDY3ODApLG09e3JlYWRGaWxlOnouZnJvbVByb21pc2UoZnVuY3Rpb24oKXt2YXIgRj1DZShmdW5jdGlvbiooRCx3PXt9KXsic3RyaW5nIj09dHlwZW9mIHcmJih3PXtlbmNvZGluZzp3fSk7Y29uc3QgUD13LmZzfHxOLE09ISgidGhyb3dzImluIHcpfHx3LnRocm93cztsZXQgayxPPXlpZWxk''@;'; put 'put ''IHouZnJvbUNhbGxiYWNrKFAucmVhZEZpbGUpKEQsdyk7Tz1TKE8pO3RyeXtrPUpTT04ucGFyc2UoTyx3P3cucmV2aXZlcjpudWxsKX1jYXRjaChMKXtpZihNKXRocm93IEwubWVzc2FnZT1gJHtEfTogJHtMLm1lc3NhZ2V9YCxMO3JldHVybiBudWxsfXJldHVybiBrfSk7cmV0dXJuIGZ1bmN0''@;'; put 'put ''aW9uKEQpe3JldHVybiBGLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpLHJlYWRGaWxlU3luYzpmdW5jdGlvbihGLEQ9e30peyJzdHJpbmciPT10eXBlb2YgRCYmKEQ9e2VuY29kaW5nOkR9KTtjb25zdCB3PUQuZnN8fE4sUD0hKCJ0aHJvd3MiaW4gRCl8fEQudGhyb3dzO3RyeXtsZXQgTT13''@;'; put 'put ''LnJlYWRGaWxlU3luYyhGLEQpO3JldHVybiBNPVMoTSksSlNPTi5wYXJzZShNLEQucmV2aXZlcil9Y2F0Y2goTSl7aWYoUCl0aHJvdyBNLm1lc3NhZ2U9YCR7Rn06ICR7TS5tZXNzYWdlfWAsTTtyZXR1cm4gbnVsbH19LHdyaXRlRmlsZTp6LmZyb21Qcm9taXNlKGZ1bmN0aW9uKCl7dmFyIEY9''@;'; put 'put ''Q2UoZnVuY3Rpb24qKEQsdyxQPXt9KXtjb25zdCBNPVAuZnN8fE4saz1DKHcsUCk7eWllbGQgei5mcm9tQ2FsbGJhY2soTS53cml0ZUZpbGUpKEQsayxQKX0pO3JldHVybiBmdW5jdGlvbihELHcpe3JldHVybiBGLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpLHdyaXRlRmlsZVN5bmM6ZnVu''@;'; put 'put ''Y3Rpb24oRixELHc9e30pe2NvbnN0IFA9dy5mc3x8TixNPUMoRCx3KTtyZXR1cm4gUC53cml0ZUZpbGVTeW5jKEYsTSx3KX19O1ouZXhwb3J0cz1tfSw2NzgwOihaLEEsaik9Pnt2YXIgTj1qKDg3NjQpLkJ1ZmZlcjtaLmV4cG9ydHM9e3N0cmluZ2lmeTpmdW5jdGlvbih6LHtFT0w6Qz0iXG4i''@;'; put 'put ''LGZpbmFsRU9MOlM9ITAscmVwbGFjZXI6bT1udWxsLHNwYWNlczpGfT17fSl7Y29uc3QgRD1TP0M6IiI7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHosbSxGKS5yZXBsYWNlKC9cbi9nLEMpK0R9LHN0cmlwQm9tOmZ1bmN0aW9uKHope3JldHVybiBOLmlzQnVmZmVyKHopJiYoej16LnRvU3RyaW5n''@;'; put 'put ''KCJ1dGY4IikpLHoucmVwbGFjZSgvXlx1RkVGRi8sIiIpfX19LDYyNDU6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBOKEYpe3RoaXMubWVzc2FnZT1GfWoucihBKSxqLmQoQSx7ZGVmYXVsdDooKT0+bSxJbnZhbGlkVG9rZW5FcnJvcjooKT0+U30pLChOLnByb3RvdHlwZT1uZXcg''@;'; put 'put ''RXJyb3IpLm5hbWU9IkludmFsaWRDaGFyYWN0ZXJFcnJvciI7dmFyIHo9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5hdG9iJiZ3aW5kb3cuYXRvYi5iaW5kKHdpbmRvdyl8fGZ1bmN0aW9uKEYpe3ZhciBEPVN0cmluZyhGKS5yZXBsYWNlKC89KyQvLCIiKTtpZihELmxlbmd0''@;'; put 'put ''aCU0PT0xKXRocm93IG5ldyBOKCInYXRvYicgZmFpbGVkOiBUaGUgc3RyaW5nIHRvIGJlIGRlY29kZWQgaXMgbm90IGNvcnJlY3RseSBlbmNvZGVkLiIpO2Zvcih2YXIgdyxQLE09MCxrPTAsTz0iIjtQPUQuY2hhckF0KGsrKyk7flAmJih3PU0lND82NCp3K1A6UCxNKyslNCk/Tys9U3RyaW5n''@;'; put 'put ''LmZyb21DaGFyQ29kZSgyNTUmdz4+KC0yKk0mNikpOjApUD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLmluZGV4T2YoUCk7cmV0dXJuIE99O2Z1bmN0aW9uIFMoRil7dGhpcy5tZXNzYWdlPUZ9KFMucHJvdG90eXBl''@;'; put 'put ''PW5ldyBFcnJvcikubmFtZT0iSW52YWxpZFRva2VuRXJyb3IiO2NvbnN0IG09ZnVuY3Rpb24oRixEKXtpZigic3RyaW5nIiE9dHlwZW9mIEYpdGhyb3cgbmV3IFMoIkludmFsaWQgdG9rZW4gc3BlY2lmaWVkIik7dmFyIHc9ITA9PT0oRD1EfHx7fSkuaGVhZGVyPzA6MTt0cnl7cmV0dXJuIEpT''@;'; put 'put ''T04ucGFyc2UoZnVuY3Rpb24gQyhGKXt2YXIgRD1GLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpO3N3aXRjaChELmxlbmd0aCU0KXtjYXNlIDA6YnJlYWs7Y2FzZSAyOkQrPSI9PSI7YnJlYWs7Y2FzZSAzOkQrPSI9IjticmVhaztkZWZhdWx0OnRocm93IklsbGVnYWwgYmFz''@;'; put 'put ''ZTY0dXJsIHN0cmluZyEifXRyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHooRCkucmVwbGFjZSgvKC4pL2csZnVuY3Rpb24oUCxNKXt2YXIgaz1NLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7cmV0dXJuIGsubGVuZ3RoPDImJihrPSIwIitrKSwiJSIra30p''@;'; put 'put ''KX1jYXRjaCh3KXtyZXR1cm4geihEKX19KEYuc3BsaXQoIi4iKVt3XSkpfWNhdGNoKFApe3Rocm93IG5ldyBTKCJJbnZhbGlkIHRva2VuIHNwZWNpZmllZDogIitQLm1lc3NhZ2UpfX19LDIzMTg6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDU3MTcpLHo9aigzMzQ5KSxDPWooOTUw''@;'; put 'put ''OSkuQnVmZmVyLFM9bmV3IEFycmF5KDE2KTtmdW5jdGlvbiBtKCl7ei5jYWxsKHRoaXMsNjQpLHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4fWZ1bmN0aW9uIEYoayxPKXtyZXR1cm4gazw8T3xrPj4+MzIt''@;'; put 'put ''T31mdW5jdGlvbiBEKGssTyxMLFQsWSxJLFUpe3JldHVybiBGKGsrKE8mTHx+TyZUKStZK0l8MCxVKStPfDB9ZnVuY3Rpb24gdyhrLE8sTCxULFksSSxVKXtyZXR1cm4gRihrKyhPJlR8TCZ+VCkrWStJfDAsVSkrT3wwfWZ1bmN0aW9uIFAoayxPLEwsVCxZLEksVSl7cmV0dXJuIEYoaysoT15M''@;'; put 'put ''XlQpK1krSXwwLFUpK098MH1mdW5jdGlvbiBNKGssTyxMLFQsWSxJLFUpe3JldHVybiBGKGsrKExeKE98flQpKStZK0l8MCxVKStPfDB9TihtLHopLG0ucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIGs9UyxPPTA7TzwxNjsrK08pa1tPXT10aGlzLl9ibG9jay5yZWFkSW50''@;'; put 'put ''MzJMRSg0Kk8pO3ZhciBMPXRoaXMuX2EsVD10aGlzLl9iLFk9dGhpcy5fYyxJPXRoaXMuX2Q7TD1EKEwsVCxZLEksa1swXSwzNjE0MDkwMzYwLDcpLEk9RChJLEwsVCxZLGtbMV0sMzkwNTQwMjcxMCwxMiksWT1EKFksSSxMLFQsa1syXSw2MDYxMDU4MTksMTcpLFQ9RChULFksSSxMLGtbM10s''@;'; put 'put ''MzI1MDQ0MTk2NiwyMiksTD1EKEwsVCxZLEksa1s0XSw0MTE4NTQ4Mzk5LDcpLEk9RChJLEwsVCxZLGtbNV0sMTIwMDA4MDQyNiwxMiksWT1EKFksSSxMLFQsa1s2XSwyODIxNzM1OTU1LDE3KSxUPUQoVCxZLEksTCxrWzddLDQyNDkyNjEzMTMsMjIpLEw9RChMLFQsWSxJLGtbOF0sMTc3MDAz''@;'; put 'put ''NTQxNiw3KSxJPUQoSSxMLFQsWSxrWzldLDIzMzY1NTI4NzksMTIpLFk9RChZLEksTCxULGtbMTBdLDQyOTQ5MjUyMzMsMTcpLFQ9RChULFksSSxMLGtbMTFdLDIzMDQ1NjMxMzQsMjIpLEw9RChMLFQsWSxJLGtbMTJdLDE4MDQ2MDM2ODIsNyksST1EKEksTCxULFksa1sxM10sNDI1NDYyNjE5''@;'; put 'put ''NSwxMiksWT1EKFksSSxMLFQsa1sxNF0sMjc5Mjk2NTAwNiwxNyksTD13KEwsVD1EKFQsWSxJLEwsa1sxNV0sMTIzNjUzNTMyOSwyMiksWSxJLGtbMV0sNDEyOTE3MDc4Niw1KSxJPXcoSSxMLFQsWSxrWzZdLDMyMjU0NjU2NjQsOSksWT13KFksSSxMLFQsa1sxMV0sNjQzNzE3NzEzLDE0KSxU''@;'; put 'put ''PXcoVCxZLEksTCxrWzBdLDM5MjEwNjk5OTQsMjApLEw9dyhMLFQsWSxJLGtbNV0sMzU5MzQwODYwNSw1KSxJPXcoSSxMLFQsWSxrWzEwXSwzODAxNjA4Myw5KSxZPXcoWSxJLEwsVCxrWzE1XSwzNjM0NDg4OTYxLDE0KSxUPXcoVCxZLEksTCxrWzRdLDM4ODk0Mjk0NDgsMjApLEw9dyhMLFQs''@;'; put 'put ''WSxJLGtbOV0sNTY4NDQ2NDM4LDUpLEk9dyhJLEwsVCxZLGtbMTRdLDMyNzUxNjM2MDYsOSksWT13KFksSSxMLFQsa1szXSw0MTA3NjAzMzM1LDE0KSxUPXcoVCxZLEksTCxrWzhdLDExNjM1MzE1MDEsMjApLEw9dyhMLFQsWSxJLGtbMTNdLDI4NTAyODU4MjksNSksST13KEksTCxULFksa1sy''@;'; put 'put ''XSw0MjQzNTYzNTEyLDkpLFk9dyhZLEksTCxULGtbN10sMTczNTMyODQ3MywxNCksTD1QKEwsVD13KFQsWSxJLEwsa1sxMl0sMjM2ODM1OTU2MiwyMCksWSxJLGtbNV0sNDI5NDU4ODczOCw0KSxJPVAoSSxMLFQsWSxrWzhdLDIyNzIzOTI4MzMsMTEpLFk9UChZLEksTCxULGtbMTFdLDE4Mzkw''@;'; put 'put ''MzA1NjIsMTYpLFQ9UChULFksSSxMLGtbMTRdLDQyNTk2NTc3NDAsMjMpLEw9UChMLFQsWSxJLGtbMV0sMjc2Mzk3NTIzNiw0KSxJPVAoSSxMLFQsWSxrWzRdLDEyNzI4OTMzNTMsMTEpLFk9UChZLEksTCxULGtbN10sNDEzOTQ2OTY2NCwxNiksVD1QKFQsWSxJLEwsa1sxMF0sMzIwMDIzNjY1''@;'; put 'put ''NiwyMyksTD1QKEwsVCxZLEksa1sxM10sNjgxMjc5MTc0LDQpLEk9UChJLEwsVCxZLGtbMF0sMzkzNjQzMDA3NCwxMSksWT1QKFksSSxMLFQsa1szXSwzNTcyNDQ1MzE3LDE2KSxUPVAoVCxZLEksTCxrWzZdLDc2MDI5MTg5LDIzKSxMPVAoTCxULFksSSxrWzldLDM2NTQ2MDI4MDksNCksST1Q''@;'; put 'put ''KEksTCxULFksa1sxMl0sMzg3MzE1MTQ2MSwxMSksWT1QKFksSSxMLFQsa1sxNV0sNTMwNzQyNTIwLDE2KSxMPU0oTCxUPVAoVCxZLEksTCxrWzJdLDMyOTk2Mjg2NDUsMjMpLFksSSxrWzBdLDQwOTYzMzY0NTIsNiksST1NKEksTCxULFksa1s3XSwxMTI2ODkxNDE1LDEwKSxZPU0oWSxJLEws''@;'; put 'put ''VCxrWzE0XSwyODc4NjEyMzkxLDE1KSxUPU0oVCxZLEksTCxrWzVdLDQyMzc1MzMyNDEsMjEpLEw9TShMLFQsWSxJLGtbMTJdLDE3MDA0ODU1NzEsNiksST1NKEksTCxULFksa1szXSwyMzk5OTgwNjkwLDEwKSxZPU0oWSxJLEwsVCxrWzEwXSw0MjkzOTE1NzczLDE1KSxUPU0oVCxZLEksTCxr''@;'; put 'put ''WzFdLDIyNDAwNDQ0OTcsMjEpLEw9TShMLFQsWSxJLGtbOF0sMTg3MzMxMzM1OSw2KSxJPU0oSSxMLFQsWSxrWzE1XSw0MjY0MzU1NTUyLDEwKSxZPU0oWSxJLEwsVCxrWzZdLDI3MzQ3Njg5MTYsMTUpLFQ9TShULFksSSxMLGtbMTNdLDEzMDkxNTE2NDksMjEpLEw9TShMLFQsWSxJLGtbNF0s''@;'; put 'put ''NDE0OTQ0NDIyNiw2KSxJPU0oSSxMLFQsWSxrWzExXSwzMTc0NzU2OTE3LDEwKSxZPU0oWSxJLEwsVCxrWzJdLDcxODc4NzI1OSwxNSksVD1NKFQsWSxJLEwsa1s5XSwzOTUxNDgxNzQ1LDIxKSx0aGlzLl9hPXRoaXMuX2ErTHwwLHRoaXMuX2I9dGhpcy5fYitUfDAsdGhpcy5fYz10aGlzLl9j''@;'; put 'put ''K1l8MCx0aGlzLl9kPXRoaXMuX2QrSXwwfSxtLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK109MTI4LHRoaXMuX2Jsb2NrT2Zmc2V0PjU2JiYodGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDY0KSx0aGlzLl91''@;'; put 'put ''cGRhdGUoKSx0aGlzLl9ibG9ja09mZnNldD0wKSx0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNTYpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFsxXSw2MCksdGhp''@;'; put 'put ''cy5fdXBkYXRlKCk7dmFyIGs9Qy5hbGxvY1Vuc2FmZSgxNik7cmV0dXJuIGsud3JpdGVJbnQzMkxFKHRoaXMuX2EsMCksay53cml0ZUludDMyTEUodGhpcy5fYiw0KSxrLndyaXRlSW50MzJMRSh0aGlzLl9jLDgpLGsud3JpdGVJbnQzMkxFKHRoaXMuX2QsMTIpLGt9LFouZXhwb3J0cz1tfSwz''@;'; put 'put ''MDQ3OihaLEEsaik9Pnt2YXIgTj1qKDYyNDApLHo9aig5OTMxKTtmdW5jdGlvbiBDKFMpe3RoaXMucmFuZD1TfHxuZXcgei5SYW5kfVouZXhwb3J0cz1DLEMuY3JlYXRlPWZ1bmN0aW9uKFMpe3JldHVybiBuZXcgQyhTKX0sQy5wcm90b3R5cGUuX3JhbmRiZWxvdz1mdW5jdGlvbihTKXt2YXIg''@;'; put 'put ''bT1TLmJpdExlbmd0aCgpLEY9TWF0aC5jZWlsKG0vOCk7ZG97dmFyIEQ9bmV3IE4odGhpcy5yYW5kLmdlbmVyYXRlKEYpKX13aGlsZShELmNtcChTKT49MCk7cmV0dXJuIER9LEMucHJvdG90eXBlLl9yYW5kcmFuZ2U9ZnVuY3Rpb24oUyxtKXt2YXIgRj1tLnN1YihTKTtyZXR1cm4gUy5hZGQo''@;'; put 'put ''dGhpcy5fcmFuZGJlbG93KEYpKX0sQy5wcm90b3R5cGUudGVzdD1mdW5jdGlvbihTLG0sRil7dmFyIEQ9Uy5iaXRMZW5ndGgoKSx3PU4ubW9udChTKSxQPW5ldyBOKDEpLnRvUmVkKHcpO218fChtPU1hdGgubWF4KDEsRC80OHwwKSk7Zm9yKHZhciBNPVMuc3VibigxKSxrPTA7IU0udGVzdG4o''@;'; put 'put ''ayk7aysrKTtmb3IodmFyIE89Uy5zaHJuKGspLEw9TS50b1JlZCh3KTttPjA7bS0tKXt2YXIgVD10aGlzLl9yYW5kcmFuZ2UobmV3IE4oMiksTSk7RiYmRihUKTt2YXIgWT1ULnRvUmVkKHcpLnJlZFBvdyhPKTtpZigwIT09WS5jbXAoUCkmJjAhPT1ZLmNtcChMKSl7Zm9yKHZhciBJPTE7STxr''@;'; put 'put ''O0krKyl7aWYoMD09PShZPVkucmVkU3FyKCkpLmNtcChQKSlyZXR1cm4hMTtpZigwPT09WS5jbXAoTCkpYnJlYWt9aWYoST09PWspcmV0dXJuITF9fXJldHVybiEwfSxDLnByb3RvdHlwZS5nZXREaXZpc29yPWZ1bmN0aW9uKFMsbSl7dmFyIEY9Uy5iaXRMZW5ndGgoKSxEPU4ubW9udChTKSx3''@;'; put 'put ''PW5ldyBOKDEpLnRvUmVkKEQpO218fChtPU1hdGgubWF4KDEsRi80OHwwKSk7Zm9yKHZhciBQPVMuc3VibigxKSxNPTA7IVAudGVzdG4oTSk7TSsrKTtmb3IodmFyIGs9Uy5zaHJuKE0pLE89UC50b1JlZChEKTttPjA7bS0tKXt2YXIgTD10aGlzLl9yYW5kcmFuZ2UobmV3IE4oMiksUCksVD1T''@;'; put 'put ''LmdjZChMKTtpZigwIT09VC5jbXBuKDEpKXJldHVybiBUO3ZhciBZPUwudG9SZWQoRCkucmVkUG93KGspO2lmKDAhPT1ZLmNtcCh3KSYmMCE9PVkuY21wKE8pKXtmb3IodmFyIEk9MTtJPE07SSsrKXtpZigwPT09KFk9WS5yZWRTcXIoKSkuY21wKHcpKXJldHVybiBZLmZyb21SZWQoKS5zdWJu''@;'; put 'put ''KDEpLmdjZChTKTtpZigwPT09WS5jbXAoTykpYnJlYWt9aWYoST09PU0pcmV0dXJuKFk9WS5yZWRTcXIoKSkuZnJvbVJlZCgpLnN1Ym4oMSkuZ2NkKFMpfX1yZXR1cm4hMX19LDYyNDA6ZnVuY3Rpb24oWixBLGopeyFmdW5jdGlvbihOLHopeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBDKGgsYil7''@;'; put 'put ''aWYoIWgpdGhyb3cgbmV3IEVycm9yKGJ8fCJBc3NlcnRpb24gZmFpbGVkIil9ZnVuY3Rpb24gUyhoLGIpe2guc3VwZXJfPWI7dmFyIHk9ZnVuY3Rpb24oKXt9O3kucHJvdG90eXBlPWIucHJvdG90eXBlLGgucHJvdG90eXBlPW5ldyB5LGgucHJvdG90eXBlLmNvbnN0cnVjdG9yPWh9ZnVuY3Rp''@;'; put 'put ''b24gbShoLGIseSl7aWYobS5pc0JOKGgpKXJldHVybiBoO3RoaXMubmVnYXRpdmU9MCx0aGlzLndvcmRzPW51bGwsdGhpcy5sZW5ndGg9MCx0aGlzLnJlZD1udWxsLG51bGwhPT1oJiYoImxlIiE9PWImJiJiZSIhPT1ifHwoeT1iLGI9MTApLHRoaXMuX2luaXQoaHx8MCxifHwxMCx5fHwiYmUi''@;'; put 'put ''KSl9dmFyIEY7Im9iamVjdCI9PXR5cGVvZiBOP04uZXhwb3J0cz1tOnouQk49bSxtLkJOPW0sbS53b3JkU2l6ZT0yNjt0cnl7Rj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LkJ1ZmZlcj93aW5kb3cuQnVmZmVyOmooNjYxOSkuQnVmZmVyfWNhdGNoKGgpe31m''@;'; put 'put ''dW5jdGlvbiBEKGgsYil7dmFyIHk9aC5jaGFyQ29kZUF0KGIpO3JldHVybiB5Pj02NSYmeTw9NzA/eS01NTp5Pj05NyYmeTw9MTAyP3ktODc6eS00OCYxNX1mdW5jdGlvbiB3KGgsYix5KXt2YXIgcD1EKGgseSk7cmV0dXJuIHktMT49YiYmKHB8PUQoaCx5LTEpPDw0KSxwfWZ1bmN0aW9uIFAo''@;'; put 'put ''aCxiLHkscCl7Zm9yKHZhciBnPTAsXz1NYXRoLm1pbihoLmxlbmd0aCx5KSxFPWI7RTxfO0UrKyl7dmFyIFc9aC5jaGFyQ29kZUF0KEUpLTQ4O2cqPXAsZys9Vz49NDk/Vy00OSsxMDpXPj0xNz9XLTE3KzEwOld9cmV0dXJuIGd9bS5pc0JOPWZ1bmN0aW9uKGgpe3JldHVybiBoIGluc3RhbmNl''@;'; put 'put ''b2YgbXx8bnVsbCE9PWgmJiJvYmplY3QiPT10eXBlb2YgaCYmaC5jb25zdHJ1Y3Rvci53b3JkU2l6ZT09PW0ud29yZFNpemUmJkFycmF5LmlzQXJyYXkoaC53b3Jkcyl9LG0ubWF4PWZ1bmN0aW9uKGgsYil7cmV0dXJuIGguY21wKGIpPjA/aDpifSxtLm1pbj1mdW5jdGlvbihoLGIpe3JldHVy''@;'; put 'put ''biBoLmNtcChiKTwwP2g6Yn0sbS5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24oaCxiLHkpe2lmKCJudW1iZXIiPT10eXBlb2YgaClyZXR1cm4gdGhpcy5faW5pdE51bWJlcihoLGIseSk7aWYoIm9iamVjdCI9PXR5cGVvZiBoKXJldHVybiB0aGlzLl9pbml0QXJyYXkoaCxiLHkpOyJoZXgiPT09''@;'; put 'put ''YiYmKGI9MTYpLEMoYj09PSgwfGIpJiZiPj0yJiZiPD0zNik7dmFyIHA9MDsiLSI9PT0oaD1oLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmKHArKyx0aGlzLm5lZ2F0aXZlPTEpLHA8aC5sZW5ndGgmJigxNj09PWI/dGhpcy5fcGFyc2VIZXgoaCxwLHkpOih0aGlzLl9wYXJz''@;'; put 'put ''ZUJhc2UoaCxiLHApLCJsZSI9PT15JiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksYix5KSkpfSxtLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbihoLGIseSl7aDwwJiYodGhpcy5uZWdhdGl2ZT0xLGg9LWgpLGg8NjcxMDg4NjQ/KHRoaXMud29yZHM9WzY3MTA4ODYzJmhd''@;'; put 'put ''LHRoaXMubGVuZ3RoPTEpOmg8NDUwMzU5OTYyNzM3MDQ5Nj8odGhpcy53b3Jkcz1bNjcxMDg4NjMmaCxoLzY3MTA4ODY0JjY3MTA4ODYzXSx0aGlzLmxlbmd0aD0yKTooQyhoPDkwMDcxOTkyNTQ3NDA5OTIpLHRoaXMud29yZHM9WzY3MTA4ODYzJmgsaC82NzEwODg2NCY2NzEwODg2MywxXSx0''@;'; put 'put ''aGlzLmxlbmd0aD0zKSwibGUiPT09eSYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGIseSl9LG0ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24oaCxiLHkpe2lmKEMoIm51bWJlciI9PXR5cGVvZiBoLmxlbmd0aCksaC5sZW5ndGg8PTApcmV0dXJuIHRoaXMud29yZHM9WzBd''@;'; put 'put ''LHRoaXMubGVuZ3RoPTEsdGhpczt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoaC5sZW5ndGgvMyksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgcD0wO3A8dGhpcy5sZW5ndGg7cCsrKXRoaXMud29yZHNbcF09MDt2YXIgZyxfLEU9MDtpZigiYmUiPT09eSlmb3IocD1o''@;'; put 'put ''Lmxlbmd0aC0xLGc9MDtwPj0wO3AtPTMpdGhpcy53b3Jkc1tnXXw9KF89aFtwXXxoW3AtMV08PDh8aFtwLTJdPDwxNik8PEUmNjcxMDg4NjMsdGhpcy53b3Jkc1tnKzFdPV8+Pj4yNi1FJjY3MTA4ODYzLChFKz0yNCk+PTI2JiYoRS09MjYsZysrKTtlbHNlIGlmKCJsZSI9PT15KWZvcihwPTAs''@;'; put 'put ''Zz0wO3A8aC5sZW5ndGg7cCs9Myl0aGlzLndvcmRzW2ddfD0oXz1oW3BdfGhbcCsxXTw8OHxoW3ArMl08PDE2KTw8RSY2NzEwODg2Myx0aGlzLndvcmRzW2crMV09Xz4+PjI2LUUmNjcxMDg4NjMsKEUrPTI0KT49MjYmJihFLT0yNixnKyspO3JldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90''@;'; put 'put ''eXBlLl9wYXJzZUhleD1mdW5jdGlvbihoLGIseSl7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKChoLmxlbmd0aC1iKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBwPTA7cDx0aGlzLmxlbmd0aDtwKyspdGhpcy53b3Jkc1twXT0wO3ZhciBnLF89MCxFPTA7aWYo''@;'; put 'put ''ImJlIj09PXkpZm9yKHA9aC5sZW5ndGgtMTtwPj1iO3AtPTIpZz13KGgsYixwKTw8Xyx0aGlzLndvcmRzW0VdfD02NzEwODg2MyZnLF8+PTE4PyhfLT0xOCx0aGlzLndvcmRzW0UrPTFdfD1nPj4+MjYpOl8rPTg7ZWxzZSBmb3IocD0oaC5sZW5ndGgtYiklMj09MD9iKzE6YjtwPGgubGVuZ3Ro''@;'; put 'put ''O3ArPTIpZz13KGgsYixwKTw8Xyx0aGlzLndvcmRzW0VdfD02NzEwODg2MyZnLF8+PTE4PyhfLT0xOCx0aGlzLndvcmRzW0UrPTFdfD1nPj4+MjYpOl8rPTg7dGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uKGgsYix5KXt0aGlzLndvcmRzPVswXSx0aGlzLmxl''@;'; put 'put ''bmd0aD0xO2Zvcih2YXIgcD0wLGc9MTtnPD02NzEwODg2MztnKj1iKXArKztwLS0sZz1nL2J8MDtmb3IodmFyIF89aC5sZW5ndGgteSxFPV8lcCxXPU1hdGgubWluKF8sXy1FKSt5LEc9MCxYPXk7WDxXO1grPXApRz1QKGgsWCxYK3AsYiksdGhpcy5pbXVsbihnKSx0aGlzLndvcmRzWzBdK0c8''@;'; put 'put ''NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Rzp0aGlzLl9pYWRkbihHKTtpZigwIT09RSl7dmFyIG5lPTE7Zm9yKEc9UChoLFgsaC5sZW5ndGgsYiksWD0wO1g8RTtYKyspbmUqPWI7dGhpcy5pbXVsbihuZSksdGhpcy53b3Jkc1swXStHPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPUc6dGhpcy5f''@;'; put 'put ''aWFkZG4oRyl9dGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGgpe2gud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGI9MDtiPHRoaXMubGVuZ3RoO2IrKyloLndvcmRzW2JdPXRoaXMud29yZHNbYl07aC5sZW5ndGg9dGhpcy5sZW5ndGgsaC5uZWdh''@;'; put 'put ''dGl2ZT10aGlzLm5lZ2F0aXZlLGgucmVkPXRoaXMucmVkfSxtLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBoPW5ldyBtKG51bGwpO3JldHVybiB0aGlzLmNvcHkoaCksaH0sbS5wcm90b3R5cGUuX2V4cGFuZD1mdW5jdGlvbihoKXtmb3IoO3RoaXMubGVuZ3RoPGg7KXRoaXMud29y''@;'; put 'put ''ZHNbdGhpcy5sZW5ndGgrK109MDtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuc3RyaXA9ZnVuY3Rpb24oKXtmb3IoO3RoaXMubGVuZ3RoPjEmJjA9PT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdOyl0aGlzLmxlbmd0aC0tO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfSxtLnByb3RvdHlwZS5f''@;'; put 'put ''bm9ybVNpZ249ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXSYmKHRoaXMubmVnYXRpdmU9MCksdGhpc30sbS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybih0aGlzLnJlZD8iPEJOLVI6ICI6IjxCTjogIikrdGhpcy50b1N0cmlu''@;'; put 'put ''ZygxNikrIj4ifTt2YXIgTT1bIiIsIjAiLCIwMCIsIjAwMCIsIjAwMDAiLCIwMDAwMCIsIjAwMDAwMCIsIjAwMDAwMDAiLCIwMDAwMDAwMCIsIjAwMDAwMDAwMCIsIjAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAw''@;'; put 'put ''MCIsIjAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAw''@;'; put 'put ''MDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiXSxrPVswLDAsMjUsMTYsMTIsMTEsMTAsOSw4LDgsNyw3LDcsNyw2LDYsNiw2LDYsNiw2LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1''@;'; put 'put ''LDUsNSw1LDVdLE89WzAsMCwzMzU1NDQzMiw0MzA0NjcyMSwxNjc3NzIxNiw0ODgyODEyNSw2MDQ2NjE3Niw0MDM1MzYwNywxNjc3NzIxNiw0MzA0NjcyMSwxZTcsMTk0ODcxNzEsMzU4MzE4MDgsNjI3NDg1MTcsNzUyOTUzNiwxMTM5MDYyNSwxNjc3NzIxNiwyNDEzNzU2OSwzNDAxMjIyNCw0''@;'; put 'put ''NzA0NTg4MSw2NGU2LDQwODQxMDEsNTE1MzYzMiw2NDM2MzQzLDc5NjI2MjQsOTc2NTYyNSwxMTg4MTM3NiwxNDM0ODkwNywxNzIxMDM2OCwyMDUxMTE0OSwyNDNlNSwyODYyOTE1MSwzMzU1NDQzMiwzOTEzNTM5Myw0NTQzNTQyNCw1MjUyMTg3NSw2MDQ2NjE3Nl07ZnVuY3Rpb24gTChoLGIs''@;'; put 'put ''eSl7eS5uZWdhdGl2ZT1iLm5lZ2F0aXZlXmgubmVnYXRpdmU7dmFyIHA9aC5sZW5ndGgrYi5sZW5ndGh8MDt5Lmxlbmd0aD1wLHA9cC0xfDA7dmFyIGc9MHxoLndvcmRzWzBdLF89MHxiLndvcmRzWzBdLEU9ZypfLEc9RS82NzEwODg2NHwwO3kud29yZHNbMF09NjcxMDg4NjMmRTtmb3IodmFy''@;'; put 'put ''IFg9MTtYPHA7WCsrKXtmb3IodmFyIG5lPUc+Pj4yNixhZT02NzEwODg2MyZHLHVlPU1hdGgubWluKFgsYi5sZW5ndGgtMSksYmU9TWF0aC5tYXgoMCxYLWgubGVuZ3RoKzEpO2JlPD11ZTtiZSsrKW5lKz0oRT0oZz0wfGgud29yZHNbWC1iZXwwXSkqKF89MHxiLndvcmRzW2JlXSkrYWUpLzY3''@;'; put 'put ''MTA4ODY0fDAsYWU9NjcxMDg4NjMmRTt5LndvcmRzW1hdPTB8YWUsRz0wfG5lfXJldHVybiAwIT09Rz95LndvcmRzW1hdPTB8Rzp5Lmxlbmd0aC0tLHkuc3RyaXAoKX1tLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihoLGIpe3ZhciB5O2lmKGI9MHxifHwxLDE2PT09KGg9aHx8MTApfHwi''@;'; put 'put ''aGV4Ij09PWgpe3k9IiI7Zm9yKHZhciBwPTAsZz0wLF89MDtfPHRoaXMubGVuZ3RoO18rKyl7dmFyIEU9dGhpcy53b3Jkc1tfXSxXPSgxNjc3NzIxNSYoRTw8cHxnKSkudG9TdHJpbmcoMTYpO3k9MCE9KGc9RT4+PjI0LXAmMTY3NzcyMTUpfHxfIT09dGhpcy5sZW5ndGgtMT9NWzYtVy5sZW5n''@;'; put 'put ''dGhdK1creTpXK3ksKHArPTIpPj0yNiYmKHAtPTI2LF8tLSl9Zm9yKDAhPT1nJiYoeT1nLnRvU3RyaW5nKDE2KSt5KTt5Lmxlbmd0aCViIT0wOyl5PSIwIit5O3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHk9Ii0iK3kpLHl9aWYoaD09PSgwfGgpJiZoPj0yJiZoPD0zNil7dmFyIEc9a1to''@;'; put 'put ''XSxYPU9baF07eT0iIjt2YXIgbmU9dGhpcy5jbG9uZSgpO2ZvcihuZS5uZWdhdGl2ZT0wOyFuZS5pc1plcm8oKTspe3ZhciBhZT1uZS5tb2RuKFgpLnRvU3RyaW5nKGgpO3k9KG5lPW5lLmlkaXZuKFgpKS5pc1plcm8oKT9hZSt5Ok1bRy1hZS5sZW5ndGhdK2FlK3l9Zm9yKHRoaXMuaXNaZXJv''@;'; put 'put ''KCkmJih5PSIwIit5KTt5Lmxlbmd0aCViIT0wOyl5PSIwIit5O3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHk9Ii0iK3kpLHl9QyghMSwiQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNiIpfSxtLnByb3RvdHlwZS50b051bWJlcj1mdW5jdGlvbigpe3ZhciBoPXRoaXMud29yZHNb''@;'; put 'put ''MF07cmV0dXJuIDI9PT10aGlzLmxlbmd0aD9oKz02NzEwODg2NCp0aGlzLndvcmRzWzFdOjM9PT10aGlzLmxlbmd0aCYmMT09PXRoaXMud29yZHNbMl0/aCs9NDUwMzU5OTYyNzM3MDQ5Nis2NzEwODg2NCp0aGlzLndvcmRzWzFdOnRoaXMubGVuZ3RoPjImJkMoITEsIk51bWJlciBjYW4gb25s''@;'; put 'put ''eSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cyIpLDAhPT10aGlzLm5lZ2F0aXZlPy1oOmh9LG0ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKDE2KX0sbS5wcm90b3R5cGUudG9CdWZmZXI9ZnVuY3Rpb24oaCxiKXtyZXR1cm4gQyh2b2lkIDAhPT1G''@;'; put 'put ''KSx0aGlzLnRvQXJyYXlMaWtlKEYsaCxiKX0sbS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihoLGIpe3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LGgsYil9LG0ucHJvdG90eXBlLnRvQXJyYXlMaWtlPWZ1bmN0aW9uKGgsYix5KXt2YXIgcD10aGlzLmJ5dGVMZW5ndGgoKSxnPXl8''@;'; put 'put ''fE1hdGgubWF4KDEscCk7QyhwPD1nLCJieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoIiksQyhnPjAsIlJlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCIpLHRoaXMuc3RyaXAoKTt2YXIgXyxFLFc9ImxlIj09PWIsRz1uZXcgaChnKSxYPXRoaXMuY2xvbmUoKTtpZihXKXtm''@;'; put 'put ''b3IoRT0wOyFYLmlzWmVybygpO0UrKylfPVguYW5kbG4oMjU1KSxYLml1c2hybig4KSxHW0VdPV87Zm9yKDtFPGc7RSsrKUdbRV09MH1lbHNle2ZvcihFPTA7RTxnLXA7RSsrKUdbRV09MDtmb3IoRT0wOyFYLmlzWmVybygpO0UrKylfPVguYW5kbG4oMjU1KSxYLml1c2hybig4KSxHW2ctRS0x''@;'; put 'put ''XT1ffXJldHVybiBHfSxtLnByb3RvdHlwZS5fY291bnRCaXRzPU1hdGguY2x6MzI/ZnVuY3Rpb24oaCl7cmV0dXJuIDMyLU1hdGguY2x6MzIoaCl9OmZ1bmN0aW9uKGgpe3ZhciBiPWgseT0wO3JldHVybiBiPj00MDk2JiYoeSs9MTMsYj4+Pj0xMyksYj49NjQmJih5Kz03LGI+Pj49NyksYj49''@;'; put 'put ''OCYmKHkrPTQsYj4+Pj00KSxiPj0yJiYoeSs9MixiPj4+PTIpLHkrYn0sbS5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKGgpe2lmKDA9PT1oKXJldHVybiAyNjt2YXIgYj1oLHk9MDtyZXR1cm4gMD09KDgxOTEmYikmJih5Kz0xMyxiPj4+PTEzKSwwPT0oMTI3JmIpJiYoeSs9NyxiPj4+''@;'; put 'put ''PTcpLDA9PSgxNSZiKSYmKHkrPTQsYj4+Pj00KSwwPT0oMyZiKSYmKHkrPTIsYj4+Pj0yKSwwPT0oMSZiKSYmeSsrLHl9LG0ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciBiPXRoaXMuX2NvdW50Qml0cyh0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdKTtyZXR1cm4gMjYqKHRo''@;'; put 'put ''aXMubGVuZ3RoLTEpK2J9LG0ucHJvdG90eXBlLnplcm9CaXRzPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gMDtmb3IodmFyIGg9MCxiPTA7Yjx0aGlzLmxlbmd0aDtiKyspe3ZhciB5PXRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbYl0pO2lmKGgrPXksMjYhPT15KWJyZWFr''@;'; put 'put ''fXJldHVybiBofSxtLnByb3RvdHlwZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpLzgpfSxtLnByb3RvdHlwZS50b1R3b3M9ZnVuY3Rpb24oaCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlP3RoaXMuYWJzKCkuaW5vdG4oaCkuaWFkZG4o''@;'; put 'put ''MSk6dGhpcy5jbG9uZSgpfSxtLnByb3RvdHlwZS5mcm9tVHdvcz1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy50ZXN0bihoLTEpP3RoaXMubm90bihoKS5pYWRkbigxKS5pbmVnKCk6dGhpcy5jbG9uZSgpfSxtLnByb3RvdHlwZS5pc05lZz1mdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5uZWdh''@;'; put 'put ''dGl2ZX0sbS5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCl9LG0ucHJvdG90eXBlLmluZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1plcm8oKXx8KHRoaXMubmVnYXRpdmVePTEpLHRoaXN9LG0ucHJvdG90eXBlLml1b3I9ZnVuY3Rpb24oaCl7''@;'; put 'put ''Zm9yKDt0aGlzLmxlbmd0aDxoLmxlbmd0aDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO2Zvcih2YXIgYj0wO2I8aC5sZW5ndGg7YisrKXRoaXMud29yZHNbYl09dGhpcy53b3Jkc1tiXXxoLndvcmRzW2JdO3JldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlvcj1mdW5jdGlv''@;'; put 'put ''bihoKXtyZXR1cm4gQygwPT0odGhpcy5uZWdhdGl2ZXxoLm5lZ2F0aXZlKSksdGhpcy5pdW9yKGgpfSxtLnByb3RvdHlwZS5vcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlvcihoKTpoLmNsb25lKCkuaW9yKHRoaXMpfSxtLnByb3RvdHlw''@;'; put 'put ''ZS51b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdW9yKGgpOmguY2xvbmUoKS5pdW9yKHRoaXMpfSxtLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbihoKXt2YXIgYjtiPXRoaXMubGVuZ3RoPmgubGVuZ3RoP2g6dGhpcztmb3IodmFyIHk9''@;'; put 'put ''MDt5PGIubGVuZ3RoO3krKyl0aGlzLndvcmRzW3ldPXRoaXMud29yZHNbeV0maC53b3Jkc1t5XTtyZXR1cm4gdGhpcy5sZW5ndGg9Yi5sZW5ndGgsdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pYW5kPWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PSh0aGlzLm5lZ2F0aXZlfGgubmVnYXRpdmUp''@;'; put 'put ''KSx0aGlzLml1YW5kKGgpfSxtLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKGgpOmguY2xvbmUoKS5pYW5kKHRoaXMpfSxtLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5o''@;'; put 'put ''Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQoaCk6aC5jbG9uZSgpLml1YW5kKHRoaXMpfSxtLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbihoKXt2YXIgYix5O3RoaXMubGVuZ3RoPmgubGVuZ3RoPyhiPXRoaXMseT1oKTooYj1oLHk9dGhpcyk7Zm9yKHZhciBwPTA7cDx5Lmxlbmd0aDtwKysp''@;'; put 'put ''dGhpcy53b3Jkc1twXT1iLndvcmRzW3BdXnkud29yZHNbcF07aWYodGhpcyE9PWIpZm9yKDtwPGIubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3BdPWIud29yZHNbcF07cmV0dXJuIHRoaXMubGVuZ3RoPWIubGVuZ3RoLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaXhvcj1mdW5jdGlvbihoKXty''@;'; put 'put ''ZXR1cm4gQygwPT0odGhpcy5uZWdhdGl2ZXxoLm5lZ2F0aXZlKSksdGhpcy5pdXhvcihoKX0sbS5wcm90b3R5cGUueG9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaXhvcihoKTpoLmNsb25lKCkuaXhvcih0aGlzKX0sbS5wcm90b3R5cGUu''@;'; put 'put ''dXhvcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1eG9yKGgpOmguY2xvbmUoKS5pdXhvcih0aGlzKX0sbS5wcm90b3R5cGUuaW5vdG49ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3ZhciBiPTB8TWF0aC5jZWls''@;'; put 'put ''KGgvMjYpLHk9aCUyNjt0aGlzLl9leHBhbmQoYikseT4wJiZiLS07Zm9yKHZhciBwPTA7cDxiO3ArKyl0aGlzLndvcmRzW3BdPTY3MTA4ODYzJn50aGlzLndvcmRzW3BdO3JldHVybiB5PjAmJih0aGlzLndvcmRzW3BdPX50aGlzLndvcmRzW3BdJjY3MTA4ODYzPj4yNi15KSx0aGlzLnN0cmlw''@;'; put 'put ''KCl9LG0ucHJvdG90eXBlLm5vdG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bihoKX0sbS5wcm90b3R5cGUuc2V0bj1mdW5jdGlvbihoLGIpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgeT1oLzI2fDAscD1oJTI2O3JldHVybiB0aGlzLl9leHBhbmQoeSsx''@;'; put 'put ''KSx0aGlzLndvcmRzW3ldPWI/dGhpcy53b3Jkc1t5XXwxPDxwOnRoaXMud29yZHNbeV0mfigxPDxwKSx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oaCl7dmFyIGIseSxwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09aC5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdh''@;'; put 'put ''dGl2ZT0wLGI9dGhpcy5pc3ViKGgpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWgubmVnYXRpdmUpcmV0dXJuIGgubmVnYXRpdmU9MCxiPXRoaXMuaXN1YihoKSxoLm5lZ2F0aXZlPTEsYi5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0''@;'; put 'put ''aD5oLmxlbmd0aD8oeT10aGlzLHA9aCk6KHk9aCxwPXRoaXMpO2Zvcih2YXIgZz0wLF89MDtfPHAubGVuZ3RoO18rKyl0aGlzLndvcmRzW19dPTY3MTA4ODYzJihiPSgwfHkud29yZHNbX10pKygwfHAud29yZHNbX10pK2cpLGc9Yj4+PjI2O2Zvcig7MCE9PWcmJl88eS5sZW5ndGg7XysrKXRo''@;'; put 'put ''aXMud29yZHNbX109NjcxMDg4NjMmKGI9KDB8eS53b3Jkc1tfXSkrZyksZz1iPj4+MjY7aWYodGhpcy5sZW5ndGg9eS5sZW5ndGgsMCE9PWcpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09Zyx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYoeSE9PXRoaXMpZm9yKDtfPHkubGVuZ3RoO18rKyl0aGlzLndv''@;'; put 'put ''cmRzW19dPXkud29yZHNbX107cmV0dXJuIHRoaXN9LG0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihoKXt2YXIgYjtyZXR1cm4gMCE9PWgubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyhoLm5lZ2F0aXZlPTAsYj10aGlzLnN1YihoKSxoLm5lZ2F0aXZlXj0xLGIpOjA9PT1oLm5lZ2F0aXZl''@;'; put 'put ''JiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLGI9aC5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLGIpOnRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKGgpOmguY2xvbmUoKS5pYWRkKHRoaXMpfSxtLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKGgpe2lm''@;'; put 'put ''KDAhPT1oLm5lZ2F0aXZlKXtoLm5lZ2F0aXZlPTA7dmFyIGI9dGhpcy5pYWRkKGgpO3JldHVybiBoLm5lZ2F0aXZlPTEsYi5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZChoKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9y''@;'; put 'put ''bVNpZ24oKTt2YXIgeSxwLGc9dGhpcy5jbXAoaCk7aWYoMD09PWcpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2c+MD8oeT10aGlzLHA9aCk6KHk9aCxwPXRoaXMpO2Zvcih2YXIgXz0wLEU9MDtFPHAubGVuZ3RoO0UrKylfPShiPSgw''@;'; put 'put ''fHkud29yZHNbRV0pLSgwfHAud29yZHNbRV0pK18pPj4yNix0aGlzLndvcmRzW0VdPTY3MTA4ODYzJmI7Zm9yKDswIT09XyYmRTx5Lmxlbmd0aDtFKyspXz0oYj0oMHx5LndvcmRzW0VdKStfKT4+MjYsdGhpcy53b3Jkc1tFXT02NzEwODg2MyZiO2lmKDA9PT1fJiZFPHkubGVuZ3RoJiZ5IT09''@;'; put 'put ''dGhpcylmb3IoO0U8eS5sZW5ndGg7RSsrKXRoaXMud29yZHNbRV09eS53b3Jkc1tFXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsRSkseSE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKGgpe3Jl''@;'; put 'put ''dHVybiB0aGlzLmNsb25lKCkuaXN1YihoKX07dmFyIFQ9ZnVuY3Rpb24oaCxiLHkpe3ZhciBwLGcsXyxFPWgud29yZHMsVz1iLndvcmRzLEc9eS53b3JkcyxYPTAsbmU9MHxFWzBdLGFlPTgxOTEmbmUsdWU9bmU+Pj4xMyxiZT0wfEVbMV0sX2U9ODE5MSZiZSxsZT1iZT4+PjEzLGNlPTB8RVsy''@;'; put 'put ''XSxwZT04MTkxJmNlLHdlPWNlPj4+MTMsVWU9MHxFWzNdLHhlPTgxOTEmVWUsRWU9VWU+Pj4xMyx3dD0wfEVbNF0sTmU9ODE5MSZ3dCxIZT13dD4+PjEzLFJlPTB8RVs1XSxPZT04MTkxJlJlLExlPVJlPj4+MTMsaWU9MHxFWzZdLHNlPTgxOTEmaWUsZGU9aWU+Pj4xMyxBZT0wfEVbN10sa2U9''@;'; put 'put ''ODE5MSZBZSxTZT1BZT4+PjEzLCRlPTB8RVs4XSxWZT04MTkxJiRlLEdlPSRlPj4+MTMscXQ9MHxFWzldLEtlPTgxOTEmcXQsZXQ9cXQ+Pj4xMyxfbj0wfFdbMF0sYnQ9ODE5MSZfbixwdD1fbj4+PjEzLEd0PTB8V1sxXSxudD04MTkxJkd0LHl0PUd0Pj4+MTMsU249MHxXWzJdLGd0PTgxOTEm''@;'; put 'put ''U24sZHQ9U24+Pj4xMyxYdD0wfFdbM10sYXQ9ODE5MSZYdCxRZT1YdD4+PjEzLG1uPTB8V1s0XSxvdD04MTkxJm1uLHZ0PW1uPj4+MTMsdHI9MHxXWzVdLFplPTgxOTEmdHIsbXQ9dHI+Pj4xMyxVbj0wfFdbNl0sZnQ9ODE5MSZVbixsdD1Vbj4+PjEzLFp0PTB8V1s3XSxYZT04MTkxJlp0LERl''@;'; put 'put ''PVp0Pj4+MTMsdXQ9MHxXWzhdLHJ0PTgxOTEmdXQsaXQ9dXQ+Pj4xMyxibj0wfFdbOV0sV2U9ODE5MSZibixKZT1ibj4+PjEzO3kubmVnYXRpdmU9aC5uZWdhdGl2ZV5iLm5lZ2F0aXZlLHkubGVuZ3RoPTE5O3ZhciBNdD0oWCsocD1NYXRoLmltdWwoYWUsYnQpKXwwKSsoKDgxOTEmKGc9KGc9''@;'; put 'put ''TWF0aC5pbXVsKGFlLHB0KSkrTWF0aC5pbXVsKHVlLGJ0KXwwKSk8PDEzKXwwO1g9KChfPU1hdGguaW11bCh1ZSxwdCkpKyhnPj4+MTMpfDApKyhNdD4+PjI2KXwwLE10Jj02NzEwODg2MyxwPU1hdGguaW11bChfZSxidCksZz0oZz1NYXRoLmltdWwoX2UscHQpKStNYXRoLmltdWwobGUsYnQp''@;'; put 'put ''fDAsXz1NYXRoLmltdWwobGUscHQpO3ZhciBEdD0oWCsocD1wK01hdGguaW11bChhZSxudCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLHl0KXwwKStNYXRoLmltdWwodWUsbnQpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUseXQpfDApKyhnPj4+MTMpfDApKyhE''@;'; put 'put ''dD4+PjI2KXwwLER0Jj02NzEwODg2MyxwPU1hdGguaW11bChwZSxidCksZz0oZz1NYXRoLmltdWwocGUscHQpKStNYXRoLmltdWwod2UsYnQpfDAsXz1NYXRoLmltdWwod2UscHQpLHA9cCtNYXRoLmltdWwoX2UsbnQpfDAsZz0oZz1nK01hdGguaW11bChfZSx5dCl8MCkrTWF0aC5pbXVsKGxl''@;'; put 'put ''LG50KXwwLF89XytNYXRoLmltdWwobGUseXQpfDA7dmFyIEJ0PShYKyhwPXArTWF0aC5pbXVsKGFlLGd0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsZHQpfDApK01hdGguaW11bCh1ZSxndCl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxkdCl8MCkrKGc+Pj4x''@;'; put 'put ''Myl8MCkrKEJ0Pj4+MjYpfDAsQnQmPTY3MTA4ODYzLHA9TWF0aC5pbXVsKHhlLGJ0KSxnPShnPU1hdGguaW11bCh4ZSxwdCkpK01hdGguaW11bChFZSxidCl8MCxfPU1hdGguaW11bChFZSxwdCkscD1wK01hdGguaW11bChwZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLHl0KXwwKStNYXRo''@;'; put 'put ''LmltdWwod2UsbnQpfDAsXz1fK01hdGguaW11bCh3ZSx5dCl8MCxwPXArTWF0aC5pbXVsKF9lLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsZHQpfDApK01hdGguaW11bChsZSxndCl8MCxfPV8rTWF0aC5pbXVsKGxlLGR0KXwwO3ZhciBlbj0oWCsocD1wK01hdGguaW11bChhZSxhdCl8MCl8''@;'; put 'put ''MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLFFlKXwwKStNYXRoLmltdWwodWUsYXQpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsUWUpfDApKyhnPj4+MTMpfDApKyhlbj4+PjI2KXwwLGVuJj02NzEwODg2MyxwPU1hdGguaW11bChOZSxidCksZz0oZz1NYXRoLmltdWwo''@;'; put 'put ''TmUscHQpKStNYXRoLmltdWwoSGUsYnQpfDAsXz1NYXRoLmltdWwoSGUscHQpLHA9cCtNYXRoLmltdWwoeGUsbnQpfDAsZz0oZz1nK01hdGguaW11bCh4ZSx5dCl8MCkrTWF0aC5pbXVsKEVlLG50KXwwLF89XytNYXRoLmltdWwoRWUseXQpfDAscD1wK01hdGguaW11bChwZSxndCl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKHBlLGR0KXwwKStNYXRoLmltdWwod2UsZ3QpfDAsXz1fK01hdGguaW11bCh3ZSxkdCl8MCxwPXArTWF0aC5pbXVsKF9lLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsUWUpfDApK01hdGguaW11bChsZSxhdCl8MCxfPV8rTWF0aC5pbXVsKGxlLFFlKXwwO3ZhciBZdD0o''@;'; put 'put ''WCsocD1wK01hdGguaW11bChhZSxvdCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLHZ0KXwwKStNYXRoLmltdWwodWUsb3QpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsdnQpfDApKyhnPj4+MTMpfDApKyhZdD4+PjI2KXwwLFl0Jj02NzEwODg2MyxwPU1hdGgu''@;'; put 'put ''aW11bChPZSxidCksZz0oZz1NYXRoLmltdWwoT2UscHQpKStNYXRoLmltdWwoTGUsYnQpfDAsXz1NYXRoLmltdWwoTGUscHQpLHA9cCtNYXRoLmltdWwoTmUsbnQpfDAsZz0oZz1nK01hdGguaW11bChOZSx5dCl8MCkrTWF0aC5pbXVsKEhlLG50KXwwLF89XytNYXRoLmltdWwoSGUseXQpfDAs''@;'; put 'put ''cD1wK01hdGguaW11bCh4ZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLGR0KXwwKStNYXRoLmltdWwoRWUsZ3QpfDAsXz1fK01hdGguaW11bChFZSxkdCl8MCxwPXArTWF0aC5pbXVsKHBlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsUWUpfDApK01hdGguaW11bCh3ZSxhdCl8MCxfPV8r''@;'; put 'put ''TWF0aC5pbXVsKHdlLFFlKXwwLHA9cCtNYXRoLmltdWwoX2Usb3QpfDAsZz0oZz1nK01hdGguaW11bChfZSx2dCl8MCkrTWF0aC5pbXVsKGxlLG90KXwwLF89XytNYXRoLmltdWwobGUsdnQpfDA7dmFyIHJuPShYKyhwPXArTWF0aC5pbXVsKGFlLFplKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytN''@;'; put 'put ''YXRoLmltdWwoYWUsbXQpfDApK01hdGguaW11bCh1ZSxaZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxtdCl8MCkrKGc+Pj4xMyl8MCkrKHJuPj4+MjYpfDAscm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKHNlLGJ0KSxnPShnPU1hdGguaW11bChzZSxwdCkpK01hdGguaW11bChk''@;'; put 'put ''ZSxidCl8MCxfPU1hdGguaW11bChkZSxwdCkscD1wK01hdGguaW11bChPZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLHl0KXwwKStNYXRoLmltdWwoTGUsbnQpfDAsXz1fK01hdGguaW11bChMZSx5dCl8MCxwPXArTWF0aC5pbXVsKE5lLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsZHQp''@;'; put 'put ''fDApK01hdGguaW11bChIZSxndCl8MCxfPV8rTWF0aC5pbXVsKEhlLGR0KXwwLHA9cCtNYXRoLmltdWwoeGUsYXQpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxRZSl8MCkrTWF0aC5pbXVsKEVlLGF0KXwwLF89XytNYXRoLmltdWwoRWUsUWUpfDAscD1wK01hdGguaW11bChwZSxvdCl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKHBlLHZ0KXwwKStNYXRoLmltdWwod2Usb3QpfDAsXz1fK01hdGguaW11bCh3ZSx2dCl8MCxwPXArTWF0aC5pbXVsKF9lLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsbXQpfDApK01hdGguaW11bChsZSxaZSl8MCxfPV8rTWF0aC5pbXVsKGxlLG10KXwwO3ZhciBhbj0o''@;'; put 'put ''WCsocD1wK01hdGguaW11bChhZSxmdCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLGx0KXwwKStNYXRoLmltdWwodWUsZnQpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsbHQpfDApKyhnPj4+MTMpfDApKyhhbj4+PjI2KXwwLGFuJj02NzEwODg2MyxwPU1hdGgu''@;'; put 'put ''aW11bChrZSxidCksZz0oZz1NYXRoLmltdWwoa2UscHQpKStNYXRoLmltdWwoU2UsYnQpfDAsXz1NYXRoLmltdWwoU2UscHQpLHA9cCtNYXRoLmltdWwoc2UsbnQpfDAsZz0oZz1nK01hdGguaW11bChzZSx5dCl8MCkrTWF0aC5pbXVsKGRlLG50KXwwLF89XytNYXRoLmltdWwoZGUseXQpfDAs''@;'; put 'put ''cD1wK01hdGguaW11bChPZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLGR0KXwwKStNYXRoLmltdWwoTGUsZ3QpfDAsXz1fK01hdGguaW11bChMZSxkdCl8MCxwPXArTWF0aC5pbXVsKE5lLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsUWUpfDApK01hdGguaW11bChIZSxhdCl8MCxfPV8r''@;'; put 'put ''TWF0aC5pbXVsKEhlLFFlKXwwLHA9cCtNYXRoLmltdWwoeGUsb3QpfDAsZz0oZz1nK01hdGguaW11bCh4ZSx2dCl8MCkrTWF0aC5pbXVsKEVlLG90KXwwLF89XytNYXRoLmltdWwoRWUsdnQpfDAscD1wK01hdGguaW11bChwZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLG10KXwwKStNYXRo''@;'; put 'put ''LmltdWwod2UsWmUpfDAsXz1fK01hdGguaW11bCh3ZSxtdCl8MCxwPXArTWF0aC5pbXVsKF9lLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsbHQpfDApK01hdGguaW11bChsZSxmdCl8MCxfPV8rTWF0aC5pbXVsKGxlLGx0KXwwO3ZhciBsbj0oWCsocD1wK01hdGguaW11bChhZSxYZSl8MCl8''@;'; put 'put ''MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLERlKXwwKStNYXRoLmltdWwodWUsWGUpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsRGUpfDApKyhnPj4+MTMpfDApKyhsbj4+PjI2KXwwLGxuJj02NzEwODg2MyxwPU1hdGguaW11bChWZSxidCksZz0oZz1NYXRoLmltdWwo''@;'; put 'put ''VmUscHQpKStNYXRoLmltdWwoR2UsYnQpfDAsXz1NYXRoLmltdWwoR2UscHQpLHA9cCtNYXRoLmltdWwoa2UsbnQpfDAsZz0oZz1nK01hdGguaW11bChrZSx5dCl8MCkrTWF0aC5pbXVsKFNlLG50KXwwLF89XytNYXRoLmltdWwoU2UseXQpfDAscD1wK01hdGguaW11bChzZSxndCl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKHNlLGR0KXwwKStNYXRoLmltdWwoZGUsZ3QpfDAsXz1fK01hdGguaW11bChkZSxkdCl8MCxwPXArTWF0aC5pbXVsKE9lLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsUWUpfDApK01hdGguaW11bChMZSxhdCl8MCxfPV8rTWF0aC5pbXVsKExlLFFlKXwwLHA9cCtNYXRo''@;'; put 'put ''LmltdWwoTmUsb3QpfDAsZz0oZz1nK01hdGguaW11bChOZSx2dCl8MCkrTWF0aC5pbXVsKEhlLG90KXwwLF89XytNYXRoLmltdWwoSGUsdnQpfDAscD1wK01hdGguaW11bCh4ZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLG10KXwwKStNYXRoLmltdWwoRWUsWmUpfDAsXz1fK01hdGguaW11''@;'; put 'put ''bChFZSxtdCl8MCxwPXArTWF0aC5pbXVsKHBlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsbHQpfDApK01hdGguaW11bCh3ZSxmdCl8MCxfPV8rTWF0aC5pbXVsKHdlLGx0KXwwLHA9cCtNYXRoLmltdWwoX2UsWGUpfDAsZz0oZz1nK01hdGguaW11bChfZSxEZSl8MCkrTWF0aC5pbXVsKGxl''@;'; put 'put ''LFhlKXwwLF89XytNYXRoLmltdWwobGUsRGUpfDA7dmFyIE1uPShYKyhwPXArTWF0aC5pbXVsKGFlLHJ0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsaXQpfDApK01hdGguaW11bCh1ZSxydCl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxpdCl8MCkrKGc+Pj4x''@;'; put 'put ''Myl8MCkrKE1uPj4+MjYpfDAsTW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGJ0KSxnPShnPU1hdGguaW11bChLZSxwdCkpK01hdGguaW11bChldCxidCl8MCxfPU1hdGguaW11bChldCxwdCkscD1wK01hdGguaW11bChWZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLHl0KXwwKStNYXRo''@;'; put 'put ''LmltdWwoR2UsbnQpfDAsXz1fK01hdGguaW11bChHZSx5dCl8MCxwPXArTWF0aC5pbXVsKGtlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsZHQpfDApK01hdGguaW11bChTZSxndCl8MCxfPV8rTWF0aC5pbXVsKFNlLGR0KXwwLHA9cCtNYXRoLmltdWwoc2UsYXQpfDAsZz0oZz1nK01hdGgu''@;'; put 'put ''aW11bChzZSxRZSl8MCkrTWF0aC5pbXVsKGRlLGF0KXwwLF89XytNYXRoLmltdWwoZGUsUWUpfDAscD1wK01hdGguaW11bChPZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLHZ0KXwwKStNYXRoLmltdWwoTGUsb3QpfDAsXz1fK01hdGguaW11bChMZSx2dCl8MCxwPXArTWF0aC5pbXVsKE5l''@;'; put 'put ''LFplKXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsbXQpfDApK01hdGguaW11bChIZSxaZSl8MCxfPV8rTWF0aC5pbXVsKEhlLG10KXwwLHA9cCtNYXRoLmltdWwoeGUsZnQpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxsdCl8MCkrTWF0aC5pbXVsKEVlLGZ0KXwwLF89XytNYXRoLmltdWwoRWUsbHQp''@;'; put 'put ''fDAscD1wK01hdGguaW11bChwZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLERlKXwwKStNYXRoLmltdWwod2UsWGUpfDAsXz1fK01hdGguaW11bCh3ZSxEZSl8MCxwPXArTWF0aC5pbXVsKF9lLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsaXQpfDApK01hdGguaW11bChsZSxydCl8MCxf''@;'; put 'put ''PV8rTWF0aC5pbXVsKGxlLGl0KXwwO3ZhciBubj0oWCsocD1wK01hdGguaW11bChhZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLEplKXwwKStNYXRoLmltdWwodWUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsSmUpfDApKyhnPj4+MTMpfDApKyhu''@;'; put 'put ''bj4+PjI2KXwwLG5uJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxudCksZz0oZz1NYXRoLmltdWwoS2UseXQpKStNYXRoLmltdWwoZXQsbnQpfDAsXz1NYXRoLmltdWwoZXQseXQpLHA9cCtNYXRoLmltdWwoVmUsZ3QpfDAsZz0oZz1nK01hdGguaW11bChWZSxkdCl8MCkrTWF0aC5pbXVsKEdl''@;'; put 'put ''LGd0KXwwLF89XytNYXRoLmltdWwoR2UsZHQpfDAscD1wK01hdGguaW11bChrZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLFFlKXwwKStNYXRoLmltdWwoU2UsYXQpfDAsXz1fK01hdGguaW11bChTZSxRZSl8MCxwPXArTWF0aC5pbXVsKHNlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoc2Us''@;'; put 'put ''dnQpfDApK01hdGguaW11bChkZSxvdCl8MCxfPV8rTWF0aC5pbXVsKGRlLHZ0KXwwLHA9cCtNYXRoLmltdWwoT2UsWmUpfDAsZz0oZz1nK01hdGguaW11bChPZSxtdCl8MCkrTWF0aC5pbXVsKExlLFplKXwwLF89XytNYXRoLmltdWwoTGUsbXQpfDAscD1wK01hdGguaW11bChOZSxmdCl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKE5lLGx0KXwwKStNYXRoLmltdWwoSGUsZnQpfDAsXz1fK01hdGguaW11bChIZSxsdCl8MCxwPXArTWF0aC5pbXVsKHhlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsRGUpfDApK01hdGguaW11bChFZSxYZSl8MCxfPV8rTWF0aC5pbXVsKEVlLERlKXwwLHA9cCtN''@;'; put 'put ''YXRoLmltdWwocGUscnQpfDAsZz0oZz1nK01hdGguaW11bChwZSxpdCl8MCkrTWF0aC5pbXVsKHdlLHJ0KXwwLF89XytNYXRoLmltdWwod2UsaXQpfDA7dmFyIFFuPShYKyhwPXArTWF0aC5pbXVsKF9lLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoX2UsSmUpfDApK01hdGgu''@;'; put 'put ''aW11bChsZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChsZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKFFuPj4+MjYpfDAsUW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGd0KSxnPShnPU1hdGguaW11bChLZSxkdCkpK01hdGguaW11bChldCxndCl8MCxfPU1hdGguaW11bChldCxk''@;'; put 'put ''dCkscD1wK01hdGguaW11bChWZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLFFlKXwwKStNYXRoLmltdWwoR2UsYXQpfDAsXz1fK01hdGguaW11bChHZSxRZSl8MCxwPXArTWF0aC5pbXVsKGtlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsdnQpfDApK01hdGguaW11bChTZSxvdCl8MCxf''@;'; put 'put ''PV8rTWF0aC5pbXVsKFNlLHZ0KXwwLHA9cCtNYXRoLmltdWwoc2UsWmUpfDAsZz0oZz1nK01hdGguaW11bChzZSxtdCl8MCkrTWF0aC5pbXVsKGRlLFplKXwwLF89XytNYXRoLmltdWwoZGUsbXQpfDAscD1wK01hdGguaW11bChPZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLGx0KXwwKStN''@;'; put 'put ''YXRoLmltdWwoTGUsZnQpfDAsXz1fK01hdGguaW11bChMZSxsdCl8MCxwPXArTWF0aC5pbXVsKE5lLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsRGUpfDApK01hdGguaW11bChIZSxYZSl8MCxfPV8rTWF0aC5pbXVsKEhlLERlKXwwLHA9cCtNYXRoLmltdWwoeGUscnQpfDAsZz0oZz1nK01h''@;'; put 'put ''dGguaW11bCh4ZSxpdCl8MCkrTWF0aC5pbXVsKEVlLHJ0KXwwLF89XytNYXRoLmltdWwoRWUsaXQpfDA7dmFyIFpuPShYKyhwPXArTWF0aC5pbXVsKHBlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwocGUsSmUpfDApK01hdGguaW11bCh3ZSxXZSl8MCkpPDwxMyl8MDtYPSgo''@;'; put 'put ''Xz1fK01hdGguaW11bCh3ZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKFpuPj4+MjYpfDAsWm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGF0KSxnPShnPU1hdGguaW11bChLZSxRZSkpK01hdGguaW11bChldCxhdCl8MCxfPU1hdGguaW11bChldCxRZSkscD1wK01hdGguaW11bChWZSxvdCl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKFZlLHZ0KXwwKStNYXRoLmltdWwoR2Usb3QpfDAsXz1fK01hdGguaW11bChHZSx2dCl8MCxwPXArTWF0aC5pbXVsKGtlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsbXQpfDApK01hdGguaW11bChTZSxaZSl8MCxfPV8rTWF0aC5pbXVsKFNlLG10KXwwLHA9cCtN''@;'; put 'put ''YXRoLmltdWwoc2UsZnQpfDAsZz0oZz1nK01hdGguaW11bChzZSxsdCl8MCkrTWF0aC5pbXVsKGRlLGZ0KXwwLF89XytNYXRoLmltdWwoZGUsbHQpfDAscD1wK01hdGguaW11bChPZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLERlKXwwKStNYXRoLmltdWwoTGUsWGUpfDAsXz1fK01hdGgu''@;'; put 'put ''aW11bChMZSxEZSl8MCxwPXArTWF0aC5pbXVsKE5lLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsaXQpfDApK01hdGguaW11bChIZSxydCl8MCxfPV8rTWF0aC5pbXVsKEhlLGl0KXwwO3ZhciBscj0oWCsocD1wK01hdGguaW11bCh4ZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5p''@;'; put 'put ''bXVsKHhlLEplKXwwKStNYXRoLmltdWwoRWUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoRWUsSmUpfDApKyhnPj4+MTMpfDApKyhscj4+PjI2KXwwLGxyJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxvdCksZz0oZz1NYXRoLmltdWwoS2UsdnQpKStNYXRoLmltdWwoZXQsb3Qp''@;'; put 'put ''fDAsXz1NYXRoLmltdWwoZXQsdnQpLHA9cCtNYXRoLmltdWwoVmUsWmUpfDAsZz0oZz1nK01hdGguaW11bChWZSxtdCl8MCkrTWF0aC5pbXVsKEdlLFplKXwwLF89XytNYXRoLmltdWwoR2UsbXQpfDAscD1wK01hdGguaW11bChrZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLGx0KXwwKStN''@;'; put 'put ''YXRoLmltdWwoU2UsZnQpfDAsXz1fK01hdGguaW11bChTZSxsdCl8MCxwPXArTWF0aC5pbXVsKHNlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsRGUpfDApK01hdGguaW11bChkZSxYZSl8MCxfPV8rTWF0aC5pbXVsKGRlLERlKXwwLHA9cCtNYXRoLmltdWwoT2UscnQpfDAsZz0oZz1nK01h''@;'; put 'put ''dGguaW11bChPZSxpdCl8MCkrTWF0aC5pbXVsKExlLHJ0KXwwLF89XytNYXRoLmltdWwoTGUsaXQpfDA7dmFyIHduPShYKyhwPXArTWF0aC5pbXVsKE5lLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoTmUsSmUpfDApK01hdGguaW11bChIZSxXZSl8MCkpPDwxMyl8MDtYPSgo''@;'; put 'put ''Xz1fK01hdGguaW11bChIZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKHduPj4+MjYpfDAsd24mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLFplKSxnPShnPU1hdGguaW11bChLZSxtdCkpK01hdGguaW11bChldCxaZSl8MCxfPU1hdGguaW11bChldCxtdCkscD1wK01hdGguaW11bChWZSxmdCl8MCxn''@;'; put 'put ''PShnPWcrTWF0aC5pbXVsKFZlLGx0KXwwKStNYXRoLmltdWwoR2UsZnQpfDAsXz1fK01hdGguaW11bChHZSxsdCl8MCxwPXArTWF0aC5pbXVsKGtlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsRGUpfDApK01hdGguaW11bChTZSxYZSl8MCxfPV8rTWF0aC5pbXVsKFNlLERlKXwwLHA9cCtN''@;'; put 'put ''YXRoLmltdWwoc2UscnQpfDAsZz0oZz1nK01hdGguaW11bChzZSxpdCl8MCkrTWF0aC5pbXVsKGRlLHJ0KXwwLF89XytNYXRoLmltdWwoZGUsaXQpfDA7dmFyIHZyPShYKyhwPXArTWF0aC5pbXVsKE9lLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoT2UsSmUpfDApK01hdGgu''@;'; put 'put ''aW11bChMZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChMZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKHZyPj4+MjYpfDAsdnImPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGZ0KSxnPShnPU1hdGguaW11bChLZSxsdCkpK01hdGguaW11bChldCxmdCl8MCxfPU1hdGguaW11bChldCxs''@;'; put 'put ''dCkscD1wK01hdGguaW11bChWZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLERlKXwwKStNYXRoLmltdWwoR2UsWGUpfDAsXz1fK01hdGguaW11bChHZSxEZSl8MCxwPXArTWF0aC5pbXVsKGtlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsaXQpfDApK01hdGguaW11bChTZSxydCl8MCxf''@;'; put 'put ''PV8rTWF0aC5pbXVsKFNlLGl0KXwwO3ZhciB2bj0oWCsocD1wK01hdGguaW11bChzZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKHNlLEplKXwwKStNYXRoLmltdWwoZGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoZGUsSmUpfDApKyhnPj4+MTMpfDApKyh2''@;'; put 'put ''bj4+PjI2KXwwLHZuJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxYZSksZz0oZz1NYXRoLmltdWwoS2UsRGUpKStNYXRoLmltdWwoZXQsWGUpfDAsXz1NYXRoLmltdWwoZXQsRGUpLHA9cCtNYXRoLmltdWwoVmUscnQpfDAsZz0oZz1nK01hdGguaW11bChWZSxpdCl8MCkrTWF0aC5pbXVsKEdl''@;'; put 'put ''LHJ0KXwwLF89XytNYXRoLmltdWwoR2UsaXQpfDA7dmFyIGNyPShYKyhwPXArTWF0aC5pbXVsKGtlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoa2UsSmUpfDApK01hdGguaW11bChTZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChTZSxKZSl8MCkrKGc+Pj4x''@;'; put 'put ''Myl8MCkrKGNyPj4+MjYpfDAsY3ImPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLHJ0KSxnPShnPU1hdGguaW11bChLZSxpdCkpK01hdGguaW11bChldCxydCl8MCxfPU1hdGguaW11bChldCxpdCk7dmFyIG9yPShYKyhwPXArTWF0aC5pbXVsKFZlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytN''@;'; put 'put ''YXRoLmltdWwoVmUsSmUpfDApK01hdGguaW11bChHZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChHZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKG9yPj4+MjYpfDAsb3ImPTY3MTA4ODYzO3ZhciBDbj0oWCsocD1NYXRoLmltdWwoS2UsV2UpKXwwKSsoKDgxOTEmKGc9KGc9TWF0aC5p''@;'; put 'put ''bXVsKEtlLEplKSkrTWF0aC5pbXVsKGV0LFdlKXwwKSk8PDEzKXwwO3JldHVybiBYPSgoXz1NYXRoLmltdWwoZXQsSmUpKSsoZz4+PjEzKXwwKSsoQ24+Pj4yNil8MCxDbiY9NjcxMDg4NjMsR1swXT1NdCxHWzFdPUR0LEdbMl09QnQsR1szXT1lbixHWzRdPVl0LEdbNV09cm4sR1s2XT1hbixH''@;'; put 'put ''WzddPWxuLEdbOF09TW4sR1s5XT1ubixHWzEwXT1RbixHWzExXT1abixHWzEyXT1scixHWzEzXT13bixHWzE0XT12cixHWzE1XT12bixHWzE2XT1jcixHWzE3XT1vcixHWzE4XT1DbiwwIT09WCYmKEdbMTldPVgseS5sZW5ndGgrKykseX07ZnVuY3Rpb24gWShoLGIseSl7cmV0dXJuKG5ldyBJ''@;'; put 'put ''KS5tdWxwKGgsYix5KX1mdW5jdGlvbiBJKGgsYil7dGhpcy54PWgsdGhpcy55PWJ9TWF0aC5pbXVsfHwoVD1MKSxtLnByb3RvdHlwZS5tdWxUbz1mdW5jdGlvbihoLGIpe3ZhciBwPXRoaXMubGVuZ3RoK2gubGVuZ3RoO3JldHVybiAxMD09PXRoaXMubGVuZ3RoJiYxMD09PWgubGVuZ3RoP1Qo''@;'; put 'put ''dGhpcyxoLGIpOnA8NjM/TCh0aGlzLGgsYik6cDwxMDI0P2Z1bmN0aW9uKGcsXyxFKXtFLm5lZ2F0aXZlPV8ubmVnYXRpdmVeZy5uZWdhdGl2ZSxFLmxlbmd0aD1nLmxlbmd0aCtfLmxlbmd0aDtmb3IodmFyIFc9MCxHPTAsWD0wO1g8RS5sZW5ndGgtMTtYKyspe3ZhciBuZT1HO0c9MDtmb3Io''@;'; put 'put ''dmFyIGFlPTY3MTA4ODYzJlcsdWU9TWF0aC5taW4oWCxfLmxlbmd0aC0xKSxiZT1NYXRoLm1heCgwLFgtZy5sZW5ndGgrMSk7YmU8PXVlO2JlKyspe3ZhciBsZT0oMHxnLndvcmRzW1gtYmVdKSooMHxfLndvcmRzW2JlXSksY2U9NjcxMDg4NjMmbGU7YWU9NjcxMDg4NjMmKGNlPWNlK2FlfDAp''@;'; put 'put ''LEcrPShuZT0obmU9bmUrKGxlLzY3MTA4ODY0fDApfDApKyhjZT4+PjI2KXwwKT4+PjI2LG5lJj02NzEwODg2M31FLndvcmRzW1hdPWFlLFc9bmUsbmU9R31yZXR1cm4gMCE9PVc/RS53b3Jkc1tYXT1XOkUubGVuZ3RoLS0sRS5zdHJpcCgpfSh0aGlzLGgsYik6WSh0aGlzLGgsYil9LEkucHJv''@;'; put 'put ''dG90eXBlLm1ha2VSQlQ9ZnVuY3Rpb24oaCl7Zm9yKHZhciBiPW5ldyBBcnJheShoKSx5PW0ucHJvdG90eXBlLl9jb3VudEJpdHMoaCktMSxwPTA7cDxoO3ArKyliW3BdPXRoaXMucmV2QmluKHAseSxoKTtyZXR1cm4gYn0sSS5wcm90b3R5cGUucmV2QmluPWZ1bmN0aW9uKGgsYix5KXtpZigw''@;'; put 'put ''PT09aHx8aD09PXktMSlyZXR1cm4gaDtmb3IodmFyIHA9MCxnPTA7ZzxiO2crKylwfD0oMSZoKTw8Yi1nLTEsaD4+PTE7cmV0dXJuIHB9LEkucHJvdG90eXBlLnBlcm11dGU9ZnVuY3Rpb24oaCxiLHkscCxnLF8pe2Zvcih2YXIgRT0wO0U8XztFKyspcFtFXT1iW2hbRV1dLGdbRV09eVtoW0Vd''@;'; put 'put ''XX0sSS5wcm90b3R5cGUudHJhbnNmb3JtPWZ1bmN0aW9uKGgsYix5LHAsZyxfKXt0aGlzLnBlcm11dGUoXyxoLGIseSxwLGcpO2Zvcih2YXIgRT0xO0U8ZztFPDw9MSlmb3IodmFyIFc9RTw8MSxHPU1hdGguY29zKDIqTWF0aC5QSS9XKSxYPU1hdGguc2luKDIqTWF0aC5QSS9XKSxuZT0wO25l''@;'; put 'put ''PGc7bmUrPVcpZm9yKHZhciBhZT1HLHVlPVgsYmU9MDtiZTxFO2JlKyspe3ZhciBfZT15W25lK2JlXSxsZT1wW25lK2JlXSxjZT15W25lK2JlK0VdLHBlPXBbbmUrYmUrRV0sd2U9YWUqY2UtdWUqcGU7cGU9YWUqcGUrdWUqY2UseVtuZStiZV09X2UrKGNlPXdlKSxwW25lK2JlXT1sZStwZSx5''@;'; put 'put ''W25lK2JlK0VdPV9lLWNlLHBbbmUrYmUrRV09bGUtcGUsYmUhPT1XJiYod2U9RyphZS1YKnVlLHVlPUcqdWUrWCphZSxhZT13ZSl9fSxJLnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbihoLGIpe3ZhciB5PTF8TWF0aC5tYXgoYixoKSxwPTEmeSxnPTA7Zm9yKHk9eS8yfDA7eTt5Pj4+''@;'; put 'put ''PTEpZysrO3JldHVybiAxPDxnKzErcH0sSS5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKGgsYix5KXtpZighKHk8PTEpKWZvcih2YXIgcD0wO3A8eS8yO3ArKyl7dmFyIGc9aFtwXTtoW3BdPWhbeS1wLTFdLGhbeS1wLTFdPWcsZz1iW3BdLGJbcF09LWJbeS1wLTFdLGJbeS1wLTFdPS1n''@;'; put 'put ''fX0sSS5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uKGgsYil7Zm9yKHZhciB5PTAscD0wO3A8Yi8yO3ArKyl7dmFyIGc9ODE5MipNYXRoLnJvdW5kKGhbMipwKzFdL2IpK01hdGgucm91bmQoaFsyKnBdL2IpK3k7aFtwXT02NzEwODg2MyZnLHk9Zzw2NzEwODg2ND8wOmcvNjcxMDg4''@;'; put 'put ''NjR8MH1yZXR1cm4gaH0sSS5wcm90b3R5cGUuY29udmVydDEzYj1mdW5jdGlvbihoLGIseSxwKXtmb3IodmFyIGc9MCxfPTA7XzxiO18rKyl5WzIqX109ODE5MSYoZys9MHxoW19dKSx5WzIqXysxXT04MTkxJihnPj4+PTEzKSxnPj4+PTEzO2ZvcihfPTIqYjtfPHA7KytfKXlbX109MDtDKDA9''@;'; put 'put ''PT1nKSxDKDA9PSgtODE5MiZnKSl9LEkucHJvdG90eXBlLnN0dWI9ZnVuY3Rpb24oaCl7Zm9yKHZhciBiPW5ldyBBcnJheShoKSx5PTA7eTxoO3krKyliW3ldPTA7cmV0dXJuIGJ9LEkucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24oaCxiLHkpe3ZhciBwPTIqdGhpcy5ndWVzc0xlbjEzYihoLmxl''@;'; put 'put ''bmd0aCxiLmxlbmd0aCksZz10aGlzLm1ha2VSQlQocCksXz10aGlzLnN0dWIocCksRT1uZXcgQXJyYXkocCksVz1uZXcgQXJyYXkocCksRz1uZXcgQXJyYXkocCksWD1uZXcgQXJyYXkocCksbmU9bmV3IEFycmF5KHApLGFlPW5ldyBBcnJheShwKSx1ZT15LndvcmRzO3VlLmxlbmd0aD1wLHRo''@;'; put 'put ''aXMuY29udmVydDEzYihoLndvcmRzLGgubGVuZ3RoLEUscCksdGhpcy5jb252ZXJ0MTNiKGIud29yZHMsYi5sZW5ndGgsWCxwKSx0aGlzLnRyYW5zZm9ybShFLF8sVyxHLHAsZyksdGhpcy50cmFuc2Zvcm0oWCxfLG5lLGFlLHAsZyk7Zm9yKHZhciBiZT0wO2JlPHA7YmUrKyl7dmFyIF9lPVdb''@;'; put 'put ''YmVdKm5lW2JlXS1HW2JlXSphZVtiZV07R1tiZV09V1tiZV0qYWVbYmVdK0dbYmVdKm5lW2JlXSxXW2JlXT1fZX1yZXR1cm4gdGhpcy5jb25qdWdhdGUoVyxHLHApLHRoaXMudHJhbnNmb3JtKFcsRyx1ZSxfLHAsZyksdGhpcy5jb25qdWdhdGUodWUsXyxwKSx0aGlzLm5vcm1hbGl6ZTEzYih1''@;'; put 'put ''ZSxwKSx5Lm5lZ2F0aXZlPWgubmVnYXRpdmVeYi5uZWdhdGl2ZSx5Lmxlbmd0aD1oLmxlbmd0aCtiLmxlbmd0aCx5LnN0cmlwKCl9LG0ucHJvdG90eXBlLm11bD1mdW5jdGlvbihoKXt2YXIgYj1uZXcgbShudWxsKTtyZXR1cm4gYi53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgraC5sZW5n''@;'; put 'put ''dGgpLHRoaXMubXVsVG8oaCxiKX0sbS5wcm90b3R5cGUubXVsZj1mdW5jdGlvbihoKXt2YXIgYj1uZXcgbShudWxsKTtyZXR1cm4gYi53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgraC5sZW5ndGgpLFkodGhpcyxoLGIpfSxtLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKGgpe3JldHVybiB0''@;'; put 'put ''aGlzLmNsb25lKCkubXVsVG8oaCx0aGlzKX0sbS5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgpLEMoaDw2NzEwODg2NCk7Zm9yKHZhciBiPTAseT0wO3k8dGhpcy5sZW5ndGg7eSsrKXt2YXIgcD0oMHx0aGlzLndvcmRzW3ldKSpoLGc9KDY3MTA4ODYz''@;'; put 'put ''JnApKyg2NzEwODg2MyZiKTtiPj49MjYsYis9cC82NzEwODg2NHwwLGIrPWc+Pj4yNix0aGlzLndvcmRzW3ldPTY3MTA4ODYzJmd9cmV0dXJuIDAhPT1iJiYodGhpcy53b3Jkc1t5XT1iLHRoaXMubGVuZ3RoKyspLHRoaXN9LG0ucHJvdG90eXBlLm11bG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRo''@;'; put 'put ''aXMuY2xvbmUoKS5pbXVsbihoKX0sbS5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsKHRoaXMpfSxtLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpfSxtLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24oaCl7dmFyIGI9''@;'; put 'put ''ZnVuY3Rpb24oXyl7Zm9yKHZhciBFPW5ldyBBcnJheShfLmJpdExlbmd0aCgpKSxXPTA7VzxFLmxlbmd0aDtXKyspe3ZhciBYPVclMjY7RVtXXT0oXy53b3Jkc1tXLzI2fDBdJjE8PFgpPj4+WH1yZXR1cm4gRX0oaCk7aWYoMD09PWIubGVuZ3RoKXJldHVybiBuZXcgbSgxKTtmb3IodmFyIHk9''@;'; put 'put ''dGhpcyxwPTA7cDxiLmxlbmd0aCYmMD09PWJbcF07cCsrLHk9eS5zcXIoKSk7aWYoKytwPGIubGVuZ3RoKWZvcih2YXIgZz15LnNxcigpO3A8Yi5sZW5ndGg7cCsrLGc9Zy5zcXIoKSkwIT09YltwXSYmKHk9eS5tdWwoZykpO3JldHVybiB5fSxtLnByb3RvdHlwZS5pdXNobG49ZnVuY3Rpb24o''@;'; put 'put ''aCl7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3ZhciBiLHk9aCUyNixwPShoLXkpLzI2LGc9NjcxMDg4NjM+Pj4yNi15PDwyNi15O2lmKDAhPT15KXt2YXIgXz0wO2ZvcihiPTA7Yjx0aGlzLmxlbmd0aDtiKyspe3ZhciBFPXRoaXMud29yZHNbYl0mZzt0aGlzLndvcmRzW2JdPSgwfHRo''@;'; put 'put ''aXMud29yZHNbYl0pLUU8PHl8XyxfPUU+Pj4yNi15fV8mJih0aGlzLndvcmRzW2JdPV8sdGhpcy5sZW5ndGgrKyl9aWYoMCE9PXApe2ZvcihiPXRoaXMubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy53b3Jkc1tiK3BdPXRoaXMud29yZHNbYl07Zm9yKGI9MDtiPHA7YisrKXRoaXMud29yZHNbYl09''@;'; put 'put ''MDt0aGlzLmxlbmd0aCs9cH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pc2hsbj1mdW5jdGlvbihoKXtyZXR1cm4gQygwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNobG4oaCl9LG0ucHJvdG90eXBlLml1c2hybj1mdW5jdGlvbihoLGIseSl7dmFyIHA7QygibnVtYmVyIj09''@;'; put 'put ''dHlwZW9mIGgmJmg+PTApLHA9Yj8oYi1iJTI2KS8yNjowO3ZhciBnPWglMjYsXz1NYXRoLm1pbigoaC1nKS8yNix0aGlzLmxlbmd0aCksRT02NzEwODg2M142NzEwODg2Mz4+Pmc8PGcsVz15O2lmKHAtPV8scD1NYXRoLm1heCgwLHApLFcpe2Zvcih2YXIgRz0wO0c8XztHKyspVy53b3Jkc1tH''@;'; put 'put ''XT10aGlzLndvcmRzW0ddO1cubGVuZ3RoPV99aWYoMCE9PV8paWYodGhpcy5sZW5ndGg+Xylmb3IodGhpcy5sZW5ndGgtPV8sRz0wO0c8dGhpcy5sZW5ndGg7RysrKXRoaXMud29yZHNbR109dGhpcy53b3Jkc1tHK19dO2Vsc2UgdGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTE7dmFyIFg9''@;'; put 'put ''MDtmb3IoRz10aGlzLmxlbmd0aC0xO0c+PTAmJigwIT09WHx8Rz49cCk7Ry0tKXt2YXIgbmU9MHx0aGlzLndvcmRzW0ddO3RoaXMud29yZHNbR109WDw8MjYtZ3xuZT4+PmcsWD1uZSZFfXJldHVybiBXJiYwIT09WCYmKFcud29yZHNbVy5sZW5ndGgrK109WCksMD09PXRoaXMubGVuZ3RoJiYo''@;'; put 'put ''dGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTEpLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24oaCxiLHkpe3JldHVybiBDKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybihoLGIseSl9LG0ucHJvdG90eXBlLnNobG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRo''@;'; put 'put ''aXMuY2xvbmUoKS5pc2hsbihoKX0sbS5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4oaCl9LG0ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybihoKX0sbS5wcm90b3R5cGUudXNocm49ZnVuY3Rp''@;'; put 'put ''b24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oaCl9LG0ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgYj1oJTI2LHk9KGgtYikvMjY7cmV0dXJuISh0aGlzLmxlbmd0aDw9eXx8ISh0aGlzLndvcmRzW3ldJjE8PGIpKX0s''@;'; put 'put ''bS5wcm90b3R5cGUuaW1hc2tuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgYj1oJTI2LHk9KGgtYikvMjY7cmV0dXJuIEMoMD09PXRoaXMubmVnYXRpdmUsImltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycyIpLHRoaXMubGVuZ3RoPD15''@;'; put 'put ''P3RoaXM6KDAhPT1iJiZ5KyssdGhpcy5sZW5ndGg9TWF0aC5taW4oeSx0aGlzLmxlbmd0aCksMCE9PWImJih0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdJj02NzEwODg2M142NzEwODg2Mz4+PmI8PGIpLHRoaXMuc3RyaXAoKSl9LG0ucHJvdG90eXBlLm1hc2tuPWZ1bmN0aW9uKGgpe3JldHVy''@;'; put 'put ''biB0aGlzLmNsb25lKCkuaW1hc2tuKGgpfSxtLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbihoKXtyZXR1cm4gQygibnVtYmVyIj09dHlwZW9mIGgpLEMoaDw2NzEwODg2NCksaDwwP3RoaXMuaXN1Ym4oLWgpOjAhPT10aGlzLm5lZ2F0aXZlPzE9PT10aGlzLmxlbmd0aCYmKDB8dGhpcy53b3Jk''@;'; put 'put ''c1swXSk8aD8odGhpcy53b3Jkc1swXT1oLSgwfHRoaXMud29yZHNbMF0pLHRoaXMubmVnYXRpdmU9MCx0aGlzKToodGhpcy5uZWdhdGl2ZT0wLHRoaXMuaXN1Ym4oaCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMpOnRoaXMuX2lhZGRuKGgpfSxtLnByb3RvdHlwZS5faWFkZG49ZnVuY3Rpb24oaCl7''@;'; put 'put ''dGhpcy53b3Jkc1swXSs9aDtmb3IodmFyIGI9MDtiPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2JdPj02NzEwODg2NDtiKyspdGhpcy53b3Jkc1tiXS09NjcxMDg4NjQsYj09PXRoaXMubGVuZ3RoLTE/dGhpcy53b3Jkc1tiKzFdPTE6dGhpcy53b3Jkc1tiKzFdKys7cmV0dXJuIHRoaXMubGVu''@;'; put 'put ''Z3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGIrMSksdGhpc30sbS5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24oaCl7aWYoQygibnVtYmVyIj09dHlwZW9mIGgpLEMoaDw2NzEwODg2NCksaDwwKXJldHVybiB0aGlzLmlhZGRuKC1oKTtpZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5u''@;'; put 'put ''ZWdhdGl2ZT0wLHRoaXMuaWFkZG4oaCksdGhpcy5uZWdhdGl2ZT0xLHRoaXM7aWYodGhpcy53b3Jkc1swXS09aCwxPT09dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbMF08MCl0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdLHRoaXMubmVnYXRpdmU9MTtlbHNlIGZvcih2YXIgYj0wO2I8dGhp''@;'; put 'put ''cy5sZW5ndGgmJnRoaXMud29yZHNbYl08MDtiKyspdGhpcy53b3Jkc1tiXSs9NjcxMDg4NjQsdGhpcy53b3Jkc1tiKzFdLT0xO3JldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmFkZG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihoKX0sbS5wcm90b3R5cGUu''@;'; put 'put ''c3Vibj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKGgpfSxtLnByb3RvdHlwZS5pYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzfSxtLnByb3RvdHlwZS5hYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuX2lzaGxuc3VibXVsPWZ1bmN0aW9uKGgsYix5KXt2YXIgcCxnO3RoaXMuX2V4cGFuZChoLmxlbmd0aCt5KTt2YXIgRT0wO2ZvcihwPTA7cDxoLmxlbmd0aDtwKyspe2c9KDB8dGhpcy53b3Jkc1twK3ldKStFO3ZhciBXPSgwfGgud29yZHNbcF0pKmI7RT0oKGctPTY3MTA4ODYzJlcp''@;'; put 'put ''Pj4yNiktKFcvNjcxMDg4NjR8MCksdGhpcy53b3Jkc1twK3ldPTY3MTA4ODYzJmd9Zm9yKDtwPHRoaXMubGVuZ3RoLXk7cCsrKUU9KGc9KDB8dGhpcy53b3Jkc1twK3ldKStFKT4+MjYsdGhpcy53b3Jkc1twK3ldPTY3MTA4ODYzJmc7aWYoMD09PUUpcmV0dXJuIHRoaXMuc3RyaXAoKTtmb3Io''@;'; put 'put ''QygtMT09PUUpLEU9MCxwPTA7cDx0aGlzLmxlbmd0aDtwKyspRT0oZz0tKDB8dGhpcy53b3Jkc1twXSkrRSk+PjI2LHRoaXMud29yZHNbcF09NjcxMDg4NjMmZztyZXR1cm4gdGhpcy5uZWdhdGl2ZT0xLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuX3dvcmREaXY9ZnVuY3Rpb24oaCxiKXt2''@;'; put 'put ''YXIgeSxwPXRoaXMuY2xvbmUoKSxnPWgsXz0wfGcud29yZHNbZy5sZW5ndGgtMV07MCE9KHk9MjYtdGhpcy5fY291bnRCaXRzKF8pKSYmKGc9Zy51c2hsbih5KSxwLml1c2hsbih5KSxfPTB8Zy53b3Jkc1tnLmxlbmd0aC0xXSk7dmFyIEUsVz1wLmxlbmd0aC1nLmxlbmd0aDtpZigibW9kIiE9''@;'; put 'put ''PWIpeyhFPW5ldyBtKG51bGwpKS5sZW5ndGg9VysxLEUud29yZHM9bmV3IEFycmF5KEUubGVuZ3RoKTtmb3IodmFyIEc9MDtHPEUubGVuZ3RoO0crKylFLndvcmRzW0ddPTB9dmFyIFg9cC5jbG9uZSgpLl9pc2hsbnN1Ym11bChnLDEsVyk7MD09PVgubmVnYXRpdmUmJihwPVgsRSYmKEUud29y''@;'; put 'put ''ZHNbV109MSkpO2Zvcih2YXIgbmU9Vy0xO25lPj0wO25lLS0pe3ZhciBhZT02NzEwODg2NCooMHxwLndvcmRzW2cubGVuZ3RoK25lXSkrKDB8cC53b3Jkc1tnLmxlbmd0aCtuZS0xXSk7Zm9yKGFlPU1hdGgubWluKGFlL198MCw2NzEwODg2MykscC5faXNobG5zdWJtdWwoZyxhZSxuZSk7MCE9''@;'; put 'put ''PXAubmVnYXRpdmU7KWFlLS0scC5uZWdhdGl2ZT0wLHAuX2lzaGxuc3VibXVsKGcsMSxuZSkscC5pc1plcm8oKXx8KHAubmVnYXRpdmVePTEpO0UmJihFLndvcmRzW25lXT1hZSl9cmV0dXJuIEUmJkUuc3RyaXAoKSxwLnN0cmlwKCksImRpdiIhPT1iJiYwIT09eSYmcC5pdXNocm4oeSkse2Rp''@;'; put 'put ''djpFfHxudWxsLG1vZDpwfX0sbS5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKGgsYix5KXtyZXR1cm4gQyghaC5pc1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBtKDApLG1vZDpuZXcgbSgwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT1oLm5lZ2F0aXZlPyhfPXRoaXMubmVnKCku''@;'; put 'put ''ZGl2bW9kKGgsYiksIm1vZCIhPT1iJiYocD1fLmRpdi5uZWcoKSksImRpdiIhPT1iJiYoZz1fLm1vZC5uZWcoKSx5JiYwIT09Zy5uZWdhdGl2ZSYmZy5pYWRkKGgpKSx7ZGl2OnAsbW9kOmd9KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWgubmVnYXRpdmU/KF89dGhpcy5kaXZtb2QoaC5uZWco''@;'; put 'put ''KSxiKSwibW9kIiE9PWImJihwPV8uZGl2Lm5lZygpKSx7ZGl2OnAsbW9kOl8ubW9kfSk6MCE9KHRoaXMubmVnYXRpdmUmaC5uZWdhdGl2ZSk/KF89dGhpcy5uZWcoKS5kaXZtb2QoaC5uZWcoKSxiKSwiZGl2IiE9PWImJihnPV8ubW9kLm5lZygpLHkmJjAhPT1nLm5lZ2F0aXZlJiZnLmlzdWIo''@;'; put 'put ''aCkpLHtkaXY6Xy5kaXYsbW9kOmd9KTpoLmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAoaCk8MD97ZGl2Om5ldyBtKDApLG1vZDp0aGlzfToxPT09aC5sZW5ndGg/ImRpdiI9PT1iP3tkaXY6dGhpcy5kaXZuKGgud29yZHNbMF0pLG1vZDpudWxsfToibW9kIj09PWI/e2RpdjpudWxsLG1v''@;'; put 'put ''ZDpuZXcgbSh0aGlzLm1vZG4oaC53b3Jkc1swXSkpfTp7ZGl2OnRoaXMuZGl2bihoLndvcmRzWzBdKSxtb2Q6bmV3IG0odGhpcy5tb2RuKGgud29yZHNbMF0pKX06dGhpcy5fd29yZERpdihoLGIpO3ZhciBwLGcsX30sbS5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmRp''@;'; put 'put ''dm1vZChoLCJkaXYiLCExKS5kaXZ9LG0ucHJvdG90eXBlLm1vZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5kaXZtb2QoaCwibW9kIiwhMSkubW9kfSxtLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmRpdm1vZChoLCJtb2QiLCEwKS5tb2R9LG0ucHJvdG90eXBlLmRp''@;'; put 'put ''dlJvdW5kPWZ1bmN0aW9uKGgpe3ZhciBiPXRoaXMuZGl2bW9kKGgpO2lmKGIubW9kLmlzWmVybygpKXJldHVybiBiLmRpdjt2YXIgeT0wIT09Yi5kaXYubmVnYXRpdmU/Yi5tb2QuaXN1YihoKTpiLm1vZCxwPWgudXNocm4oMSksZz1oLmFuZGxuKDEpLF89eS5jbXAocCk7cmV0dXJuIF88MHx8''@;'; put 'put ''MT09PWcmJjA9PT1fP2IuZGl2OjAhPT1iLmRpdi5uZWdhdGl2ZT9iLmRpdi5pc3VibigxKTpiLmRpdi5pYWRkbigxKX0sbS5wcm90b3R5cGUubW9kbj1mdW5jdGlvbihoKXtDKGg8PTY3MTA4ODYzKTtmb3IodmFyIGI9NjcxMDg4NjQlaCx5PTAscD10aGlzLmxlbmd0aC0xO3A+PTA7cC0tKXk9''@;'; put 'put ''KGIqeSsoMHx0aGlzLndvcmRzW3BdKSklaDtyZXR1cm4geX0sbS5wcm90b3R5cGUuaWRpdm49ZnVuY3Rpb24oaCl7QyhoPD02NzEwODg2Myk7Zm9yKHZhciBiPTAseT10aGlzLmxlbmd0aC0xO3k+PTA7eS0tKXt2YXIgcD0oMHx0aGlzLndvcmRzW3ldKSs2NzEwODg2NCpiO3RoaXMud29yZHNb''@;'; put 'put ''eV09cC9ofDAsYj1wJWh9cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuZGl2bj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKGgpfSxtLnByb3RvdHlwZS5lZ2NkPWZ1bmN0aW9uKGgpe0MoMD09PWgubmVnYXRpdmUpLEMoIWguaXNaZXJvKCkpO3ZhciBiPXRo''@;'; put 'put ''aXMseT1oLmNsb25lKCk7Yj0wIT09Yi5uZWdhdGl2ZT9iLnVtb2QoaCk6Yi5jbG9uZSgpO2Zvcih2YXIgcD1uZXcgbSgxKSxnPW5ldyBtKDApLF89bmV3IG0oMCksRT1uZXcgbSgxKSxXPTA7Yi5pc0V2ZW4oKSYmeS5pc0V2ZW4oKTspYi5pdXNocm4oMSkseS5pdXNocm4oMSksKytXO2Zvcih2''@;'; put 'put ''YXIgRz15LmNsb25lKCksWD1iLmNsb25lKCk7IWIuaXNaZXJvKCk7KXtmb3IodmFyIG5lPTAsYWU9MTswPT0oYi53b3Jkc1swXSZhZSkmJm5lPDI2OysrbmUsYWU8PD0xKTtpZihuZT4wKWZvcihiLml1c2hybihuZSk7bmUtLSA+MDspKHAuaXNPZGQoKXx8Zy5pc09kZCgpKSYmKHAuaWFkZChH''@;'; put 'put ''KSxnLmlzdWIoWCkpLHAuaXVzaHJuKDEpLGcuaXVzaHJuKDEpO2Zvcih2YXIgdWU9MCxiZT0xOzA9PSh5LndvcmRzWzBdJmJlKSYmdWU8MjY7Kyt1ZSxiZTw8PTEpO2lmKHVlPjApZm9yKHkuaXVzaHJuKHVlKTt1ZS0tID4wOykoXy5pc09kZCgpfHxFLmlzT2RkKCkpJiYoXy5pYWRkKEcpLEUu''@;'; put 'put ''aXN1YihYKSksXy5pdXNocm4oMSksRS5pdXNocm4oMSk7Yi5jbXAoeSk+PTA/KGIuaXN1Yih5KSxwLmlzdWIoXyksZy5pc3ViKEUpKTooeS5pc3ViKGIpLF8uaXN1YihwKSxFLmlzdWIoZykpfXJldHVybnthOl8sYjpFLGdjZDp5Lml1c2hsbihXKX19LG0ucHJvdG90eXBlLl9pbnZtcD1mdW5j''@;'; put 'put ''dGlvbihoKXtDKDA9PT1oLm5lZ2F0aXZlKSxDKCFoLmlzWmVybygpKTt2YXIgYj10aGlzLHk9aC5jbG9uZSgpO2I9MCE9PWIubmVnYXRpdmU/Yi51bW9kKGgpOmIuY2xvbmUoKTtmb3IodmFyIHAsZz1uZXcgbSgxKSxfPW5ldyBtKDApLEU9eS5jbG9uZSgpO2IuY21wbigxKT4wJiZ5LmNtcG4o''@;'; put 'put ''MSk+MDspe2Zvcih2YXIgVz0wLEc9MTswPT0oYi53b3Jkc1swXSZHKSYmVzwyNjsrK1csRzw8PTEpO2lmKFc+MClmb3IoYi5pdXNocm4oVyk7Vy0tID4wOylnLmlzT2RkKCkmJmcuaWFkZChFKSxnLml1c2hybigxKTtmb3IodmFyIFg9MCxuZT0xOzA9PSh5LndvcmRzWzBdJm5lKSYmWDwyNjsr''@;'; put 'put ''K1gsbmU8PD0xKTtpZihYPjApZm9yKHkuaXVzaHJuKFgpO1gtLSA+MDspXy5pc09kZCgpJiZfLmlhZGQoRSksXy5pdXNocm4oMSk7Yi5jbXAoeSk+PTA/KGIuaXN1Yih5KSxnLmlzdWIoXykpOih5LmlzdWIoYiksXy5pc3ViKGcpKX1yZXR1cm4ocD0wPT09Yi5jbXBuKDEpP2c6XykuY21wbigw''@;'; put 'put ''KTwwJiZwLmlhZGQoaCkscH0sbS5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uKGgpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIGguYWJzKCk7aWYoaC5pc1plcm8oKSlyZXR1cm4gdGhpcy5hYnMoKTt2YXIgYj10aGlzLmNsb25lKCkseT1oLmNsb25lKCk7Yi5uZWdhdGl2ZT0wLHkubmVnYXRpdmU9''@;'; put 'put ''MDtmb3IodmFyIHA9MDtiLmlzRXZlbigpJiZ5LmlzRXZlbigpO3ArKyliLml1c2hybigxKSx5Lml1c2hybigxKTtmb3IoOzspe2Zvcig7Yi5pc0V2ZW4oKTspYi5pdXNocm4oMSk7Zm9yKDt5LmlzRXZlbigpOyl5Lml1c2hybigxKTt2YXIgZz1iLmNtcCh5KTtpZihnPDApe3ZhciBfPWI7Yj15''@;'; put 'put ''LHk9X31lbHNlIGlmKDA9PT1nfHwwPT09eS5jbXBuKDEpKWJyZWFrO2IuaXN1Yih5KX1yZXR1cm4geS5pdXNobG4ocCl9LG0ucHJvdG90eXBlLmludm09ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZWdjZChoKS5hLnVtb2QoaCl9LG0ucHJvdG90eXBlLmlzRXZlbj1mdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biAwPT0oMSZ0aGlzLndvcmRzWzBdKX0sbS5wcm90b3R5cGUuaXNPZGQ9ZnVuY3Rpb24oKXtyZXR1cm4gMT09KDEmdGhpcy53b3Jkc1swXSl9LG0ucHJvdG90eXBlLmFuZGxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLndvcmRzWzBdJmh9LG0ucHJvdG90eXBlLmJpbmNuPWZ1bmN0aW9uKGgp''@;'; put 'put ''e0MoIm51bWJlciI9PXR5cGVvZiBoKTt2YXIgYj1oJTI2LHk9KGgtYikvMjYscD0xPDxiO2lmKHRoaXMubGVuZ3RoPD15KXJldHVybiB0aGlzLl9leHBhbmQoeSsxKSx0aGlzLndvcmRzW3ldfD1wLHRoaXM7Zm9yKHZhciBnPXAsXz15OzAhPT1nJiZfPHRoaXMubGVuZ3RoO18rKyl7dmFyIEU9''@;'; put 'put ''MHx0aGlzLndvcmRzW19dO2c9KEUrPWcpPj4+MjYsdGhpcy53b3Jkc1tfXT1FJj02NzEwODg2M31yZXR1cm4gMCE9PWcmJih0aGlzLndvcmRzW19dPWcsdGhpcy5sZW5ndGgrKyksdGhpc30sbS5wcm90b3R5cGUuaXNaZXJvPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09''@;'; put 'put ''PXRoaXMud29yZHNbMF19LG0ucHJvdG90eXBlLmNtcG49ZnVuY3Rpb24oaCl7dmFyIGIseT1oPDA7aWYoMCE9PXRoaXMubmVnYXRpdmUmJiF5KXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiZ5KXJldHVybiAxO2lmKHRoaXMuc3RyaXAoKSx0aGlzLmxlbmd0aD4xKWI9MTtlbHNle3km''@;'; put 'put ''JihoPS1oKSxDKGg8PTY3MTA4ODYzLCJOdW1iZXIgaXMgdG9vIGJpZyIpO3ZhciBwPTB8dGhpcy53b3Jkc1swXTtiPXA9PT1oPzA6cDxoPy0xOjF9cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWI6Yn0sbS5wcm90b3R5cGUuY21wPWZ1bmN0aW9uKGgpe2lmKDAhPT10aGlzLm5lZ2F0aXZl''@;'; put 'put ''JiYwPT09aC5uZWdhdGl2ZSlyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWgubmVnYXRpdmUpcmV0dXJuIDE7dmFyIGI9dGhpcy51Y21wKGgpO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1iOmJ9LG0ucHJvdG90eXBlLnVjbXA9ZnVuY3Rpb24oaCl7aWYodGhpcy5sZW5n''@;'; put 'put ''dGg+aC5sZW5ndGgpcmV0dXJuIDE7aWYodGhpcy5sZW5ndGg8aC5sZW5ndGgpcmV0dXJuLTE7Zm9yKHZhciBiPTAseT10aGlzLmxlbmd0aC0xO3k+PTA7eS0tKXt2YXIgcD0wfHRoaXMud29yZHNbeV0sZz0wfGgud29yZHNbeV07aWYocCE9PWcpe3A8Zz9iPS0xOnA+ZyYmKGI9MSk7YnJlYWt9''@;'; put 'put ''fXJldHVybiBifSxtLnByb3RvdHlwZS5ndG49ZnVuY3Rpb24oaCl7cmV0dXJuIDE9PT10aGlzLmNtcG4oaCl9LG0ucHJvdG90eXBlLmd0PWZ1bmN0aW9uKGgpe3JldHVybiAxPT09dGhpcy5jbXAoaCl9LG0ucHJvdG90eXBlLmd0ZW49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY21wbihoKT49''@;'; put 'put ''MH0sbS5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcChoKT49MH0sbS5wcm90b3R5cGUubHRuPWZ1bmN0aW9uKGgpe3JldHVybi0xPT09dGhpcy5jbXBuKGgpfSxtLnByb3RvdHlwZS5sdD1mdW5jdGlvbihoKXtyZXR1cm4tMT09PXRoaXMuY21wKGgpfSxtLnByb3Rv''@;'; put 'put ''dHlwZS5sdGVuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcG4oaCk8PTB9LG0ucHJvdG90eXBlLmx0ZT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXAoaCk8PTB9LG0ucHJvdG90eXBlLmVxbj1mdW5jdGlvbihoKXtyZXR1cm4gMD09PXRoaXMuY21wbihoKX0sbS5wcm90b3R5cGUuZXE9''@;'; put 'put ''ZnVuY3Rpb24oaCl7cmV0dXJuIDA9PT10aGlzLmNtcChoKX0sbS5yZWQ9ZnVuY3Rpb24oaCl7cmV0dXJuIG5ldyAkKGgpfSxtLnByb3RvdHlwZS50b1JlZD1mdW5jdGlvbihoKXtyZXR1cm4gQyghdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSxDKDA9''@;'; put 'put ''PT10aGlzLm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLGguY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChoKX0sbS5wcm90b3R5cGUuZnJvbVJlZD1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGlu''@;'; put 'put ''IHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5yZWQuY29udmVydEZyb20odGhpcyl9LG0ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5yZWQ9aCx0aGlzfSxtLnByb3RvdHlwZS5mb3JjZVJlZD1mdW5jdGlvbihoKXtyZXR1cm4gQyghdGhpcy5yZWQsIkFscmVh''@;'; put 'put ''ZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLl9mb3JjZVJlZChoKX0sbS5wcm90b3R5cGUucmVkQWRkPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuYWRkKHRoaXMsaCl9LG0u''@;'; put 'put ''cHJvdG90eXBlLnJlZElBZGQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaWFkZCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRTdWI9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZFN1''@;'; put 'put ''YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zdWIodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkSVN1Yj1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pc3ViKHRoaXMsaCl9''@;'; put 'put ''LG0ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnNobCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZE11''@;'; put 'put ''bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLGgpLHRoaXMucmVkLm11bCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJz''@;'; put 'put ''IiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxoKSx0aGlzLnJlZC5pbXVsKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZFNxcj1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhp''@;'; put 'put ''cy5yZWQuc3FyKHRoaXMpfSxtLnByb3RvdHlwZS5yZWRJU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaXNxcih0aGlzKX0sbS5wcm90b3R5cGUucmVk''@;'; put 'put ''U3FydD1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcnQodGhpcyl9LG0ucHJvdG90eXBlLnJlZEludm09ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJl''@;'; put 'put ''ZCwicmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pbnZtKHRoaXMpfSxtLnByb3RvdHlwZS5yZWROZWc9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVt''@;'; put 'put ''YmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLm5lZyh0aGlzKX0sbS5wcm90b3R5cGUucmVkUG93PWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkJiYhaC5yZWQsInJlZFBvdyhub3JtYWxOdW0pIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQucG93''@;'; put 'put ''KHRoaXMsaCl9O3ZhciBVPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24gVihoLGIpe3RoaXMubmFtZT1oLHRoaXMucD1uZXcgbShiLDE2KSx0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpLHRoaXMuaz1uZXcgbSgxKS5pdXNobG4odGhpcy5uKS5p''@;'; put 'put ''c3ViKHRoaXMucCksdGhpcy50bXA9dGhpcy5fdG1wKCl9ZnVuY3Rpb24gUigpe1YuY2FsbCh0aGlzLCJrMjU2IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiKX1mdW5jdGlvbiBCKCl7Vi5jYWxsKHRoaXMs''@;'; put 'put ''InAyMjQiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIpfWZ1bmN0aW9uIHEoKXtWLmNhbGwodGhpcywicDE5MiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIil9ZnVu''@;'; put 'put ''Y3Rpb24gSigpe1YuY2FsbCh0aGlzLCIyNTUxOSIsIjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiKX1mdW5jdGlvbiAkKGgpe2lmKCJzdHJpbmciPT10eXBlb2YgaCl7dmFyIGI9bS5fcHJpbWUoaCk7dGhpcy5tPWIu''@;'; put 'put ''cCx0aGlzLnByaW1lPWJ9ZWxzZSBDKGguZ3RuKDEpLCJtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEiKSx0aGlzLm09aCx0aGlzLnByaW1lPW51bGx9ZnVuY3Rpb24gdGUoaCl7JC5jYWxsKHRoaXMsaCksdGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9''@;'; put 'put ''MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgbSgxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMuciku''@;'; put 'put ''aXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1WLnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIGg9bmV3IG0obnVsbCk7cmV0dXJuIGgud29yZHM9bmV3IEFycmF5KE1hdGguY2Vp''@;'; put 'put ''bCh0aGlzLm4vMTMpKSxofSxWLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKGgpe3ZhciBiLHk9aDtkb3t0aGlzLnNwbGl0KHksdGhpcy50bXApLGI9KHk9KHk9dGhpcy5pbXVsSyh5KSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxlKGI+dGhpcy5uKTt2YXIgcD1iPHRoaXMu''@;'; put 'put ''bj8tMTp5LnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PXA/KHkud29yZHNbMF09MCx5Lmxlbmd0aD0xKTpwPjA/eS5pc3ViKHRoaXMucCk6dm9pZCAwIT09eS5zdHJpcD95LnN0cmlwKCk6eS5fc3RyaXAoKSx5fSxWLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihoLGIpe2guaXVzaHJuKHRoaXMu''@;'; put 'put ''biwwLGIpfSxWLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbihoKXtyZXR1cm4gaC5pbXVsKHRoaXMuayl9LFMoUixWKSxSLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihoLGIpe2Zvcih2YXIgeT00MTk0MzAzLHA9TWF0aC5taW4oaC5sZW5ndGgsOSksZz0wO2c8cDtnKyspYi53b3Jkc1tnXT1o''@;'; put 'put ''LndvcmRzW2ddO2lmKGIubGVuZ3RoPXAsaC5sZW5ndGg8PTkpcmV0dXJuIGgud29yZHNbMF09MCx2b2lkKGgubGVuZ3RoPTEpO3ZhciBfPWgud29yZHNbOV07Zm9yKGIud29yZHNbYi5sZW5ndGgrK109XyZ5LGc9MTA7ZzxoLmxlbmd0aDtnKyspe3ZhciBFPTB8aC53b3Jkc1tnXTtoLndvcmRz''@;'; put 'put ''W2ctMTBdPShFJnkpPDw0fF8+Pj4yMixfPUV9aC53b3Jkc1tnLTEwXT1fPj4+PTIyLGgubGVuZ3RoLT0wPT09XyYmaC5sZW5ndGg+MTA/MTA6OX0sUi5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oaCl7aC53b3Jkc1toLmxlbmd0aF09MCxoLndvcmRzW2gubGVuZ3RoKzFdPTAsaC5sZW5ndGgr''@;'; put 'put ''PTI7Zm9yKHZhciBiPTAseT0wO3k8aC5sZW5ndGg7eSsrKXt2YXIgcD0wfGgud29yZHNbeV07aC53b3Jkc1t5XT02NzEwODg2MyYoYis9OTc3KnApLGI9NjQqcCsoYi82NzEwODg2NHwwKX1yZXR1cm4gMD09PWgud29yZHNbaC5sZW5ndGgtMV0mJihoLmxlbmd0aC0tLDA9PT1oLndvcmRzW2gu''@;'; put 'put ''bGVuZ3RoLTFdJiZoLmxlbmd0aC0tKSxofSxTKEIsViksUyhxLFYpLFMoSixWKSxKLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbihoKXtmb3IodmFyIGI9MCx5PTA7eTxoLmxlbmd0aDt5Kyspe3ZhciBwPTE5KigwfGgud29yZHNbeV0pK2IsZz02NzEwODg2MyZwO3A+Pj49MjYsaC53b3Jkc1t5''@;'; put 'put ''XT1nLGI9cH1yZXR1cm4gMCE9PWImJihoLndvcmRzW2gubGVuZ3RoKytdPWIpLGh9LG0uX3ByaW1lPWZ1bmN0aW9uKGgpe2lmKFVbaF0pcmV0dXJuIFVbaF07dmFyIGI7aWYoImsyNTYiPT09aCliPW5ldyBSO2Vsc2UgaWYoInAyMjQiPT09aCliPW5ldyBCO2Vsc2UgaWYoInAxOTIiPT09aCli''@;'; put 'put ''PW5ldyBxO2Vsc2V7aWYoInAyNTUxOSIhPT1oKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBwcmltZSAiK2gpO2I9bmV3IEp9cmV0dXJuIFVbaF09YixifSwkLnByb3RvdHlwZS5fdmVyaWZ5MT1mdW5jdGlvbihoKXtDKDA9PT1oLm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0''@;'; put 'put ''aXZlcyIpLEMoaC5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0sJC5wcm90b3R5cGUuX3ZlcmlmeTI9ZnVuY3Rpb24oaCxiKXtDKDA9PShoLm5lZ2F0aXZlfGIubmVnYXRpdmUpLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLEMoaC5yZWQmJmgucmVkPT09''@;'; put 'put ''Yi5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0sJC5wcm90b3R5cGUuaW1vZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5wcmltZT90aGlzLnByaW1lLmlyZWR1Y2UoaCkuX2ZvcmNlUmVkKHRoaXMpOmgudW1vZCh0aGlzLm0pLl9mb3JjZVJlZCh0aGlzKX0sJC5wcm90''@;'; put 'put ''b3R5cGUubmVnPWZ1bmN0aW9uKGgpe3JldHVybiBoLmlzWmVybygpP2guY2xvbmUoKTp0aGlzLm0uc3ViKGgpLl9mb3JjZVJlZCh0aGlzKX0sJC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVyaWZ5MihoLGIpO3ZhciB5PWguYWRkKGIpO3JldHVybiB5LmNtcCh0aGlzLm0p''@;'; put 'put ''Pj0wJiZ5LmlzdWIodGhpcy5tKSx5Ll9mb3JjZVJlZCh0aGlzKX0sJC5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbihoLGIpe3RoaXMuX3ZlcmlmeTIoaCxiKTt2YXIgeT1oLmlhZGQoYik7cmV0dXJuIHkuY21wKHRoaXMubSk+PTAmJnkuaXN1Yih0aGlzLm0pLHl9LCQucHJvdG90eXBlLnN1Yj1m''@;'; put 'put ''dW5jdGlvbihoLGIpe3RoaXMuX3ZlcmlmeTIoaCxiKTt2YXIgeT1oLnN1YihiKTtyZXR1cm4geS5jbXBuKDApPDAmJnkuaWFkZCh0aGlzLm0pLHkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVyaWZ5MihoLGIpO3ZhciB5PWguaXN1Yihi''@;'; put 'put ''KTtyZXR1cm4geS5jbXBuKDApPDAmJnkuaWFkZCh0aGlzLm0pLHl9LCQucHJvdG90eXBlLnNobD1mdW5jdGlvbihoLGIpe3JldHVybiB0aGlzLl92ZXJpZnkxKGgpLHRoaXMuaW1vZChoLnVzaGxuKGIpKX0sJC5wcm90b3R5cGUuaW11bD1mdW5jdGlvbihoLGIpe3JldHVybiB0aGlzLl92ZXJp''@;'; put 'put ''ZnkyKGgsYiksdGhpcy5pbW9kKGguaW11bChiKSl9LCQucHJvdG90eXBlLm11bD1mdW5jdGlvbihoLGIpe3JldHVybiB0aGlzLl92ZXJpZnkyKGgsYiksdGhpcy5pbW9kKGgubXVsKGIpKX0sJC5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5pbXVsKGgsaC5jbG9uZSgp''@;'; put 'put ''KX0sJC5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLm11bChoLGgpfSwkLnByb3RvdHlwZS5zcXJ0PWZ1bmN0aW9uKGgpe2lmKGguaXNaZXJvKCkpcmV0dXJuIGguY2xvbmUoKTt2YXIgYj10aGlzLm0uYW5kbG4oMyk7aWYoQyhiJTI9PTEpLDM9PT1iKXt2YXIgeT10aGlz''@;'; put 'put ''Lm0uYWRkKG5ldyBtKDEpKS5pdXNocm4oMik7cmV0dXJuIHRoaXMucG93KGgseSl9Zm9yKHZhciBwPXRoaXMubS5zdWJuKDEpLGc9MDshcC5pc1plcm8oKSYmMD09PXAuYW5kbG4oMSk7KWcrKyxwLml1c2hybigxKTtDKCFwLmlzWmVybygpKTt2YXIgXz1uZXcgbSgxKS50b1JlZCh0aGlzKSxF''@;'; put 'put ''PV8ucmVkTmVnKCksVz10aGlzLm0uc3VibigxKS5pdXNocm4oMSksRz10aGlzLm0uYml0TGVuZ3RoKCk7Zm9yKEc9bmV3IG0oMipHKkcpLnRvUmVkKHRoaXMpOzAhPT10aGlzLnBvdyhHLFcpLmNtcChFKTspRy5yZWRJQWRkKEUpO2Zvcih2YXIgWD10aGlzLnBvdyhHLHApLG5lPXRoaXMucG93''@;'; put 'put ''KGgscC5hZGRuKDEpLml1c2hybigxKSksYWU9dGhpcy5wb3coaCxwKSx1ZT1nOzAhPT1hZS5jbXAoXyk7KXtmb3IodmFyIGJlPWFlLF9lPTA7MCE9PWJlLmNtcChfKTtfZSsrKWJlPWJlLnJlZFNxcigpO0MoX2U8dWUpO3ZhciBsZT10aGlzLnBvdyhYLG5ldyBtKDEpLml1c2hsbih1ZS1fZS0x''@;'; put 'put ''KSk7bmU9bmUucmVkTXVsKGxlKSxYPWxlLnJlZFNxcigpLGFlPWFlLnJlZE11bChYKSx1ZT1fZX1yZXR1cm4gbmV9LCQucHJvdG90eXBlLmludm09ZnVuY3Rpb24oaCl7dmFyIGI9aC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWIubmVnYXRpdmU/KGIubmVnYXRpdmU9MCx0aGlzLmltb2Qo''@;'; put 'put ''YikucmVkTmVnKCkpOnRoaXMuaW1vZChiKX0sJC5wcm90b3R5cGUucG93PWZ1bmN0aW9uKGgsYil7aWYoYi5pc1plcm8oKSlyZXR1cm4gbmV3IG0oMSkudG9SZWQodGhpcyk7aWYoMD09PWIuY21wbigxKSlyZXR1cm4gaC5jbG9uZSgpO3ZhciB5PW5ldyBBcnJheSgxNik7eVswXT1uZXcgbSgx''@;'; put 'put ''KS50b1JlZCh0aGlzKSx5WzFdPWg7Zm9yKHZhciBwPTI7cDx5Lmxlbmd0aDtwKyspeVtwXT10aGlzLm11bCh5W3AtMV0saCk7dmFyIGc9eVswXSxfPTAsRT0wLFc9Yi5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PVcmJihXPTI2KSxwPWIubGVuZ3RoLTE7cD49MDtwLS0pe2Zvcih2YXIgRz1iLndv''@;'; put 'put ''cmRzW3BdLFg9Vy0xO1g+PTA7WC0tKXt2YXIgbmU9Rz4+WCYxO2chPT15WzBdJiYoZz10aGlzLnNxcihnKSksMCE9PW5lfHwwIT09Xz8oXzw8PTEsX3w9bmUsKDQ9PSsrRXx8MD09PXAmJjA9PT1YKSYmKGc9dGhpcy5tdWwoZyx5W19dKSxFPTAsXz0wKSk6RT0wfVc9MjZ9cmV0dXJuIGd9LCQu''@;'; put 'put ''cHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbihoKXt2YXIgYj1oLnVtb2QodGhpcy5tKTtyZXR1cm4gYj09PWg/Yi5jbG9uZSgpOmJ9LCQucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKGgpe3ZhciBiPWguY2xvbmUoKTtyZXR1cm4gYi5yZWQ9bnVsbCxifSxtLm1vbnQ9ZnVuY3Rp''@;'; put 'put ''b24oaCl7cmV0dXJuIG5ldyB0ZShoKX0sUyh0ZSwkKSx0ZS5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmltb2QoaC51c2hsbih0aGlzLnNoaWZ0KSl9LHRlLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbihoKXt2YXIgYj10aGlzLmltb2QoaC5tdWwo''@;'; put 'put ''dGhpcy5yaW52KSk7cmV0dXJuIGIucmVkPW51bGwsYn0sdGUucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24oaCxiKXtpZihoLmlzWmVybygpfHxiLmlzWmVybygpKXJldHVybiBoLndvcmRzWzBdPTAsaC5sZW5ndGg9MSxoO3ZhciB5PWguaW11bChiKSxwPXkubWFza24odGhpcy5zaGlmdCkubXVs''@;'; put 'put ''KHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGc9eS5pc3ViKHApLml1c2hybih0aGlzLnNoaWZ0KSxfPWc7cmV0dXJuIGcuY21wKHRoaXMubSk+PTA/Xz1nLmlzdWIodGhpcy5tKTpnLmNtcG4oMCk8MCYmKF89Zy5pYWRkKHRoaXMubSkpLF8uX2ZvcmNlUmVkKHRo''@;'; put 'put ''aXMpfSx0ZS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGgsYil7aWYoaC5pc1plcm8oKXx8Yi5pc1plcm8oKSlyZXR1cm4gbmV3IG0oMCkuX2ZvcmNlUmVkKHRoaXMpO3ZhciB5PWgubXVsKGIpLHA9eS5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCku''@;'; put 'put ''bXVsKHRoaXMubSksZz15LmlzdWIocCkuaXVzaHJuKHRoaXMuc2hpZnQpLF89ZztyZXR1cm4gZy5jbXAodGhpcy5tKT49MD9fPWcuaXN1Yih0aGlzLm0pOmcuY21wbigwKTwwJiYoXz1nLmlhZGQodGhpcy5tKSksXy5fZm9yY2VSZWQodGhpcyl9LHRlLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9u''@;'; put 'put ''KGgpe3JldHVybiB0aGlzLmltb2QoaC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KFo9ai5ubWQoWiksdGhpcyl9LDk3NDY6Wj0+e2Z1bmN0aW9uIEEoaixOKXtpZighail0aHJvdyBuZXcgRXJyb3IoTnx8IkFzc2VydGlvbiBmYWlsZWQiKX1aLmV4cG9y''@;'; put 'put ''dHM9QSxBLmVxdWFsPWZ1bmN0aW9uKGosTix6KXtpZihqIT1OKXRocm93IG5ldyBFcnJvcih6fHwiQXNzZXJ0aW9uIGZhaWxlZDogIitqKyIgIT0gIitOKX19LDQ1MDQ6KFosQSk9PnsidXNlIHN0cmljdCI7dmFyIGo9QTtmdW5jdGlvbiBOKEMpe3JldHVybiAxPT09Qy5sZW5ndGg/IjAiK0M6''@;'; put 'put ''Q31mdW5jdGlvbiB6KEMpe2Zvcih2YXIgUz0iIixtPTA7bTxDLmxlbmd0aDttKyspUys9TihDW21dLnRvU3RyaW5nKDE2KSk7cmV0dXJuIFN9ai50b0FycmF5PWZ1bmN0aW9uKEMsUyl7aWYoQXJyYXkuaXNBcnJheShDKSlyZXR1cm4gQy5zbGljZSgpO2lmKCFDKXJldHVybltdO3ZhciBtPVtd''@;'; put 'put ''O2lmKCJzdHJpbmciIT10eXBlb2YgQyl7Zm9yKHZhciBGPTA7RjxDLmxlbmd0aDtGKyspbVtGXT0wfENbRl07cmV0dXJuIG19aWYoImhleCI9PT1TKWZvcigoQz1DLnJlcGxhY2UoL1teYS16MC05XSsvZ2ksIiIpKS5sZW5ndGglMiE9MCYmKEM9IjAiK0MpLEY9MDtGPEMubGVuZ3RoO0YrPTIp''@;'; put 'put ''bS5wdXNoKHBhcnNlSW50KENbRl0rQ1tGKzFdLDE2KSk7ZWxzZSBmb3IoRj0wO0Y8Qy5sZW5ndGg7RisrKXt2YXIgRD1DLmNoYXJDb2RlQXQoRiksdz1EPj44LFA9MjU1JkQ7dz9tLnB1c2godyxQKTptLnB1c2goUCl9cmV0dXJuIG19LGouemVybzI9TixqLnRvSGV4PXosai5lbmNvZGU9ZnVu''@;'; put 'put ''Y3Rpb24oQyxTKXtyZXR1cm4iaGV4Ij09PVM/eihDKTpDfX0sMTE3MTooWixBLGopPT57dmFyIE49aig1MTA4KTtaLmV4cG9ydHM9ayxrLk1pbmltYXRjaD1PO3ZhciB6PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBqKDI1MjApfWNhdGNoKEkpe319KCl8fHtzZXA6Ii8ifTtrLnNlcD16LnNlcDt2''@;'; put 'put ''YXIgQz1rLkdMT0JTVEFSPU8uR0xPQlNUQVI9e30sUz1qKDM2NDQpLG09eyIhIjp7b3BlbjoiKD86KD8hKD86IixjbG9zZToiKSlbXi9dKj8pIn0sIj8iOntvcGVuOiIoPzoiLGNsb3NlOiIpPyJ9LCIrIjp7b3BlbjoiKD86IixjbG9zZToiKSsifSwiKiI6e29wZW46Iig/OiIsY2xvc2U6Iikq''@;'; put 'put ''In0sIkAiOntvcGVuOiIoPzoiLGNsb3NlOiIpIn19LEY9IlteL10iLEQ9IlteL10qPyIsdz0iKCkuKnt9Kz9bXV4kXFwhIi5zcGxpdCgiIikucmVkdWNlKGZ1bmN0aW9uKEksVSl7cmV0dXJuIElbVV09ITAsSX0se30pLFA9L1wvKy87ZnVuY3Rpb24gTShJLFUpe1U9VXx8e307dmFyIFY9e307''@;'; put 'put ''cmV0dXJuIE9iamVjdC5rZXlzKEkpLmZvckVhY2goZnVuY3Rpb24oUil7VltSXT1JW1JdfSksT2JqZWN0LmtleXMoVSkuZm9yRWFjaChmdW5jdGlvbihSKXtWW1JdPVVbUl19KSxWfWZ1bmN0aW9uIGsoSSxVLFYpe3JldHVybiBUKFUpLFZ8fChWPXt9KSwhKCFWLm5vY29tbWVudCYmIiMiPT09''@;'; put 'put ''VS5jaGFyQXQoMCkpJiZuZXcgTyhVLFYpLm1hdGNoKEkpfWZ1bmN0aW9uIE8oSSxVKXtpZighKHRoaXMgaW5zdGFuY2VvZiBPKSlyZXR1cm4gbmV3IE8oSSxVKTtUKEkpLFV8fChVPXt9KSxJPUkudHJpbSgpLFUuYWxsb3dXaW5kb3dzRXNjYXBlfHwiLyI9PT16LnNlcHx8KEk9SS5zcGxpdCh6''@;'; put 'put ''LnNlcCkuam9pbigiLyIpKSx0aGlzLm9wdGlvbnM9VSx0aGlzLnNldD1bXSx0aGlzLnBhdHRlcm49SSx0aGlzLnJlZ2V4cD1udWxsLHRoaXMubmVnYXRlPSExLHRoaXMuY29tbWVudD0hMSx0aGlzLmVtcHR5PSExLHRoaXMucGFydGlhbD0hIVUucGFydGlhbCx0aGlzLm1ha2UoKX1mdW5jdGlv''@;'; put 'put ''biBMKEksVSl7cmV0dXJuIFV8fChVPXRoaXMgaW5zdGFuY2VvZiBPP3RoaXMub3B0aW9uczp7fSksVChJPXZvaWQgMD09PUk/dGhpcy5wYXR0ZXJuOkkpLFUubm9icmFjZXx8IS9ceyg/Oig/IVx7KS4pKlx9Ly50ZXN0KEkpP1tJXTpTKEkpfWsuZmlsdGVyPWZ1bmN0aW9uKEksVSl7cmV0dXJu''@;'; put 'put ''IFU9VXx8e30sZnVuY3Rpb24oVixSLEIpe3JldHVybiBrKFYsSSxVKX19LGsuZGVmYXVsdHM9ZnVuY3Rpb24oSSl7aWYoIUl8fCJvYmplY3QiIT10eXBlb2YgSXx8IU9iamVjdC5rZXlzKEkpLmxlbmd0aClyZXR1cm4gazt2YXIgVT1rLFY9ZnVuY3Rpb24oUixCLHEpe3JldHVybiBVKFIsQixN''@;'; put 'put ''KEkscSkpfTtyZXR1cm4oVi5NaW5pbWF0Y2g9ZnVuY3Rpb24oUixCKXtyZXR1cm4gbmV3IFUuTWluaW1hdGNoKFIsTShJLEIpKX0pLmRlZmF1bHRzPWZ1bmN0aW9uKFIpe3JldHVybiBVLmRlZmF1bHRzKE0oSSxSKSkuTWluaW1hdGNofSxWLmZpbHRlcj1mdW5jdGlvbihSLEIpe3JldHVybiBV''@;'; put 'put ''LmZpbHRlcihSLE0oSSxCKSl9LFYuZGVmYXVsdHM9ZnVuY3Rpb24oUil7cmV0dXJuIFUuZGVmYXVsdHMoTShJLFIpKX0sVi5tYWtlUmU9ZnVuY3Rpb24oUixCKXtyZXR1cm4gVS5tYWtlUmUoUixNKEksQikpfSxWLmJyYWNlRXhwYW5kPWZ1bmN0aW9uKFIsQil7cmV0dXJuIFUuYnJhY2VFeHBh''@;'; put 'put ''bmQoUixNKEksQikpfSxWLm1hdGNoPWZ1bmN0aW9uKFIsQixxKXtyZXR1cm4gVS5tYXRjaChSLEIsTShJLHEpKX0sVn0sTy5kZWZhdWx0cz1mdW5jdGlvbihJKXtyZXR1cm4gay5kZWZhdWx0cyhJKS5NaW5pbWF0Y2h9LE8ucHJvdG90eXBlLmRlYnVnPWZ1bmN0aW9uKCl7fSxPLnByb3RvdHlw''@;'; put 'put ''ZS5tYWtlPWZ1bmN0aW9uKCl7dmFyIEk9dGhpcy5wYXR0ZXJuLFU9dGhpcy5vcHRpb25zO2lmKFUubm9jb21tZW50fHwiIyIhPT1JLmNoYXJBdCgwKSlpZihJKXt0aGlzLnBhcnNlTmVnYXRlKCk7dmFyIFY9dGhpcy5nbG9iU2V0PXRoaXMuYnJhY2VFeHBhbmQoKTtVLmRlYnVnJiYodGhpcy5k''@;'; put 'put ''ZWJ1Zz1mdW5jdGlvbigpe04uZXJyb3IuYXBwbHkoTixhcmd1bWVudHMpfSksdGhpcy5kZWJ1Zyh0aGlzLnBhdHRlcm4sViksVj10aGlzLmdsb2JQYXJ0cz1WLm1hcChmdW5jdGlvbihSKXtyZXR1cm4gUi5zcGxpdChQKX0pLHRoaXMuZGVidWcodGhpcy5wYXR0ZXJuLFYpLFY9Vi5tYXAoZnVu''@;'; put 'put ''Y3Rpb24oUixCLHEpe3JldHVybiBSLm1hcCh0aGlzLnBhcnNlLHRoaXMpfSx0aGlzKSx0aGlzLmRlYnVnKHRoaXMucGF0dGVybixWKSxWPVYuZmlsdGVyKGZ1bmN0aW9uKFIpe3JldHVybi0xPT09Ui5pbmRleE9mKCExKX0pLHRoaXMuZGVidWcodGhpcy5wYXR0ZXJuLFYpLHRoaXMuc2V0PVZ9''@;'; put 'put ''ZWxzZSB0aGlzLmVtcHR5PSEwO2Vsc2UgdGhpcy5jb21tZW50PSEwfSxPLnByb3RvdHlwZS5wYXJzZU5lZ2F0ZT1mdW5jdGlvbigpe3ZhciBJPXRoaXMucGF0dGVybixVPSExLFI9MDtpZighdGhpcy5vcHRpb25zLm5vbmVnYXRlKXtmb3IodmFyIEI9MCxxPUkubGVuZ3RoO0I8cSYmIiEiPT09''@;'; put 'put ''SS5jaGFyQXQoQik7QisrKVU9IVUsUisrO1ImJih0aGlzLnBhdHRlcm49SS5zdWJzdHIoUikpLHRoaXMubmVnYXRlPVV9fSxrLmJyYWNlRXhwYW5kPWZ1bmN0aW9uKEksVSl7cmV0dXJuIEwoSSxVKX0sTy5wcm90b3R5cGUuYnJhY2VFeHBhbmQ9TDt2YXIgVD1mdW5jdGlvbihJKXtpZigic3Ry''@;'; put 'put ''aW5nIiE9dHlwZW9mIEkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBwYXR0ZXJuIik7aWYoSS5sZW5ndGg+NjU1MzYpdGhyb3cgbmV3IFR5cGVFcnJvcigicGF0dGVybiBpcyB0b28gbG9uZyIpfTtPLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihJLFUpe1QoSSk7dmFyIFY9dGhpcy5v''@;'; put 'put ''cHRpb25zO2lmKCIqKiI9PT1JKXtpZighVi5ub2dsb2JzdGFyKXJldHVybiBDO0k9IioifWlmKCIiPT09SSlyZXR1cm4iIjt2YXIgUixCPSIiLHE9ISFWLm5vY2FzZSxKPSExLCQ9W10sdGU9W10saD0hMSxiPS0xLHk9LTEscD0iLiI9PT1JLmNoYXJBdCgwKT8iIjpWLmRvdD8iKD8hKD86Xnxc''@;'; put 'put ''XC8pXFwuezEsMn0oPzokfFxcLykpIjoiKD8hXFwuKSIsZz10aGlzO2Z1bmN0aW9uIF8oKXtpZihSKXtzd2l0Y2goUil7Y2FzZSIqIjpCKz1ELHE9ITA7YnJlYWs7Y2FzZSI/IjpCKz1GLHE9ITA7YnJlYWs7ZGVmYXVsdDpCKz0iXFwiK1J9Zy5kZWJ1ZygiY2xlYXJTdGF0ZUNoYXIgJWogJWoi''@;'; put 'put ''LFIsQiksUj0hMX19Zm9yKHZhciBFLFc9MCxHPUkubGVuZ3RoO1c8RyYmKEU9SS5jaGFyQXQoVykpO1crKylpZih0aGlzLmRlYnVnKCIlc1x0JXMgJXMgJWoiLEksVyxCLEUpLEomJndbRV0pQis9IlxcIitFLEo9ITE7ZWxzZSBzd2l0Y2goRSl7Y2FzZSIvIjpyZXR1cm4hMTtjYXNlIlxcIjpf''@;'; put 'put ''KCksSj0hMDtjb250aW51ZTtjYXNlIj8iOmNhc2UiKiI6Y2FzZSIrIjpjYXNlIkAiOmNhc2UiISI6aWYodGhpcy5kZWJ1ZygiJXNcdCVzICVzICVqIDwtLSBzdGF0ZUNoYXIiLEksVyxCLEUpLGgpe3RoaXMuZGVidWcoIiAgaW4gY2xhc3MiKSwiISI9PT1FJiZXPT09eSsxJiYoRT0iXiIpLEIr''@;'; put 'put ''PUU7Y29udGludWV9Zy5kZWJ1ZygiY2FsbCBjbGVhclN0YXRlQ2hhciAlaiIsUiksXygpLFI9RSxWLm5vZXh0JiZfKCk7Y29udGludWU7Y2FzZSIoIjppZihoKXtCKz0iKCI7Y29udGludWV9aWYoIVIpe0IrPSJcXCgiO2NvbnRpbnVlfSQucHVzaCh7dHlwZTpSLHN0YXJ0OlctMSxyZVN0YXJ0''@;'; put 'put ''OkIubGVuZ3RoLG9wZW46bVtSXS5vcGVuLGNsb3NlOm1bUl0uY2xvc2V9KSx0aGlzLmRlYnVnKCJwbFR5cGUgJWogJWoiLFIsQis9IiEiPT09Uj8iKD86KD8hKD86IjoiKD86IiksUj0hMTtjb250aW51ZTtjYXNlIikiOmlmKGh8fCEkLmxlbmd0aCl7Qis9IlxcKSI7Y29udGludWV9XygpLHE9''@;'; put 'put ''ITA7dmFyIFg9JC5wb3AoKTtCKz1YLmNsb3NlLCIhIj09PVgudHlwZSYmdGUucHVzaChYKSxYLnJlRW5kPUIubGVuZ3RoO2NvbnRpbnVlO2Nhc2UifCI6aWYoaHx8ISQubGVuZ3RofHxKKXtCKz0iXFx8IixKPSExO2NvbnRpbnVlfV8oKSxCKz0ifCI7Y29udGludWU7Y2FzZSJbIjppZihfKCks''@;'; put 'put ''aCl7Qis9IlxcIitFO2NvbnRpbnVlfWg9ITAseT1XLGI9Qi5sZW5ndGgsQis9RTtjb250aW51ZTtjYXNlIl0iOmlmKFc9PT15KzF8fCFoKXtCKz0iXFwiK0UsSj0hMTtjb250aW51ZX12YXIgbmU9SS5zdWJzdHJpbmcoeSsxLFcpO3RyeXtSZWdFeHAoIlsiK25lKyJdIil9Y2F0Y2goT2Upe3Zh''@;'; put 'put ''ciBhZT10aGlzLnBhcnNlKG5lLFkpO0I9Qi5zdWJzdHIoMCxiKSsiXFxbIithZVswXSsiXFxdIixxPXF8fGFlWzFdLGg9ITE7Y29udGludWV9cT0hMCxoPSExLEIrPUU7Y29udGludWU7ZGVmYXVsdDpfKCksSj9KPSExOiF3W0VdfHwiXiI9PT1FJiZofHwoQis9IlxcIiksQis9RX1mb3IoaCYm''@;'; put 'put ''KG5lPUkuc3Vic3RyKHkrMSksYWU9dGhpcy5wYXJzZShuZSxZKSxCPUIuc3Vic3RyKDAsYikrIlxcWyIrYWVbMF0scT1xfHxhZVsxXSksWD0kLnBvcCgpO1g7WD0kLnBvcCgpKXt2YXIgdWU9Qi5zbGljZShYLnJlU3RhcnQrWC5vcGVuLmxlbmd0aCk7dGhpcy5kZWJ1Zygic2V0dGluZyB0YWls''@;'; put 'put ''IixCLFgpLHVlPXVlLnJlcGxhY2UoLygoPzpcXHsyfSl7MCw2NH0pKFxcPylcfC9nLGZ1bmN0aW9uKE9lLExlLGllKXtyZXR1cm4gaWV8fChpZT0iXFwiKSxMZStMZStpZSsifCJ9KSx0aGlzLmRlYnVnKCJ0YWlsPSVqXG4gICAlcyIsdWUsdWUsWCxCKTt2YXIgYmU9IioiPT09WC50eXBlP0Q6''@;'; put 'put ''Ij8iPT09WC50eXBlP0Y6IlxcIitYLnR5cGU7cT0hMCxCPUIuc2xpY2UoMCxYLnJlU3RhcnQpK2JlKyJcXCgiK3VlfV8oKSxKJiYoQis9IlxcXFwiKTt2YXIgX2U9ITE7c3dpdGNoKEIuY2hhckF0KDApKXtjYXNlIlsiOmNhc2UiLiI6Y2FzZSIoIjpfZT0hMH1mb3IodmFyIGxlPXRlLmxlbmd0''@;'; put 'put ''aC0xO2xlPi0xO2xlLS0pe3ZhciBjZT10ZVtsZV0scGU9Qi5zbGljZSgwLGNlLnJlU3RhcnQpLHdlPUIuc2xpY2UoY2UucmVTdGFydCxjZS5yZUVuZC04KSxVZT1CLnNsaWNlKGNlLnJlRW5kLTgsY2UucmVFbmQpLHhlPUIuc2xpY2UoY2UucmVFbmQpO1VlKz14ZTt2YXIgRWU9cGUuc3BsaXQo''@;'; put 'put ''IigiKS5sZW5ndGgtMSx3dD14ZTtmb3IoVz0wO1c8RWU7VysrKXd0PXd0LnJlcGxhY2UoL1wpWysqP10/LywiIik7dmFyIE5lPSIiOyIiPT09KHhlPXd0KSYmVSE9PVkmJihOZT0iJCIpLEI9cGUrd2UreGUrTmUrVWV9aWYoIiIhPT1CJiZxJiYoQj0iKD89LikiK0IpLF9lJiYoQj1wK0IpLFU9''@;'; put 'put ''PT1ZKXJldHVybltCLHFdO2lmKCFxKXJldHVybiBJLnJlcGxhY2UoL1xcKC4pL2csIiQxIik7dmFyIEhlPVYubm9jYXNlPyJpIjoiIjt0cnl7dmFyIFJlPW5ldyBSZWdFeHAoIl4iK0IrIiQiLEhlKX1jYXRjaChPZSl7cmV0dXJuIG5ldyBSZWdFeHAoIiQuIil9cmV0dXJuIFJlLl9nbG9iPUks''@;'; put 'put ''UmUuX3NyYz1CLFJlfTt2YXIgWT17fTtrLm1ha2VSZT1mdW5jdGlvbihJLFUpe3JldHVybiBuZXcgTyhJLFV8fHt9KS5tYWtlUmUoKX0sTy5wcm90b3R5cGUubWFrZVJlPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWdleHB8fCExPT09dGhpcy5yZWdleHApcmV0dXJuIHRoaXMucmVnZXhwO3ZhciBJ''@;'; put 'put ''PXRoaXMuc2V0O2lmKCFJLmxlbmd0aClyZXR1cm4gdGhpcy5yZWdleHA9ITEsdGhpcy5yZWdleHA7dmFyIFU9dGhpcy5vcHRpb25zLFY9VS5ub2dsb2JzdGFyP0Q6VS5kb3Q/Iig/Oig/ISg/OlxcL3xeKSg/OlxcLnsxLDJ9KSgkfFxcLykpLikqPyI6Iig/Oig/ISg/OlxcL3xeKVxcLikuKSo/''@;'; put 'put ''IixSPVUubm9jYXNlPyJpIjoiIixCPUkubWFwKGZ1bmN0aW9uKHEpe3JldHVybiBxLm1hcChmdW5jdGlvbihKKXtyZXR1cm4gSj09PUM/Vjoic3RyaW5nIj09dHlwZW9mIEo/Si5yZXBsYWNlKC9bLVtcXXt9KCkqKz8uLFxcXiR8I1xzXS9nLCJcXCQmIik6Si5fc3JjfSkuam9pbigiXFwvIil9''@;'; put 'put ''KS5qb2luKCJ8Iik7Qj0iXig/OiIrQisiKSQiLHRoaXMubmVnYXRlJiYoQj0iXig/ISIrQisiKS4qJCIpO3RyeXt0aGlzLnJlZ2V4cD1uZXcgUmVnRXhwKEIsUil9Y2F0Y2gocSl7dGhpcy5yZWdleHA9ITF9cmV0dXJuIHRoaXMucmVnZXhwfSxrLm1hdGNoPWZ1bmN0aW9uKEksVSxWKXt2YXIg''@;'; put 'put ''Uj1uZXcgTyhVLFY9Vnx8e30pO3JldHVybiBJPUkuZmlsdGVyKGZ1bmN0aW9uKEIpe3JldHVybiBSLm1hdGNoKEIpfSksUi5vcHRpb25zLm5vbnVsbCYmIUkubGVuZ3RoJiZJLnB1c2goVSksSX0sTy5wcm90b3R5cGUubWF0Y2g9ZnVuY3Rpb24oSSxVKXtpZih2b2lkIDA9PT1VJiYoVT10aGlz''@;'; put 'put ''LnBhcnRpYWwpLHRoaXMuZGVidWcoIm1hdGNoIixJLHRoaXMucGF0dGVybiksdGhpcy5jb21tZW50KXJldHVybiExO2lmKHRoaXMuZW1wdHkpcmV0dXJuIiI9PT1JO2lmKCIvIj09PUkmJlUpcmV0dXJuITA7dmFyIFY9dGhpcy5vcHRpb25zOyIvIiE9PXouc2VwJiYoST1JLnNwbGl0KHouc2Vw''@;'; put 'put ''KS5qb2luKCIvIikpLEk9SS5zcGxpdChQKSx0aGlzLmRlYnVnKHRoaXMucGF0dGVybiwic3BsaXQiLEkpO3ZhciBSLEIscT10aGlzLnNldDtmb3IodGhpcy5kZWJ1Zyh0aGlzLnBhdHRlcm4sInNldCIscSksQj1JLmxlbmd0aC0xO0I+PTAmJiEoUj1JW0JdKTtCLS0pO2ZvcihCPTA7QjxxLmxl''@;'; put 'put ''bmd0aDtCKyspe3ZhciBKPXFbQl0sJD1JO2lmKFYubWF0Y2hCYXNlJiYxPT09Si5sZW5ndGgmJigkPVtSXSksdGhpcy5tYXRjaE9uZSgkLEosVSkpcmV0dXJuISFWLmZsaXBOZWdhdGV8fCF0aGlzLm5lZ2F0ZX1yZXR1cm4hVi5mbGlwTmVnYXRlJiZ0aGlzLm5lZ2F0ZX0sTy5wcm90b3R5cGUu''@;'; put 'put ''bWF0Y2hPbmU9ZnVuY3Rpb24oSSxVLFYpe3ZhciBSPXRoaXMub3B0aW9uczt0aGlzLmRlYnVnKCJtYXRjaE9uZSIse3RoaXM6dGhpcyxmaWxlOkkscGF0dGVybjpVfSksdGhpcy5kZWJ1ZygibWF0Y2hPbmUiLEkubGVuZ3RoLFUubGVuZ3RoKTtmb3IodmFyIEI9MCxxPTAsSj1JLmxlbmd0aCwk''@;'; put 'put ''PVUubGVuZ3RoO0I8SiYmcTwkO0IrKyxxKyspe3RoaXMuZGVidWcoIm1hdGNoT25lIGxvb3AiKTt2YXIgdGUsaD1VW3FdLGI9SVtCXTtpZih0aGlzLmRlYnVnKFUsaCxiKSwhMT09PWgpcmV0dXJuITE7aWYoaD09PUMpe3RoaXMuZGVidWcoIkdMT0JTVEFSIixbVSxoLGJdKTt2YXIgeT1CLHA9''@;'; put 'put ''cSsxO2lmKHA9PT0kKXtmb3IodGhpcy5kZWJ1ZygiKiogYXQgdGhlIGVuZCIpO0I8SjtCKyspaWYoIi4iPT09SVtCXXx8Ii4uIj09PUlbQl18fCFSLmRvdCYmIi4iPT09SVtCXS5jaGFyQXQoMCkpcmV0dXJuITE7cmV0dXJuITB9Zm9yKDt5PEo7KXt2YXIgZz1JW3ldO2lmKHRoaXMuZGVidWco''@;'; put 'put ''IlxuZ2xvYnN0YXIgd2hpbGUiLEkseSxVLHAsZyksdGhpcy5tYXRjaE9uZShJLnNsaWNlKHkpLFUuc2xpY2UocCksVikpcmV0dXJuIHRoaXMuZGVidWcoImdsb2JzdGFyIGZvdW5kIG1hdGNoISIseSxKLGcpLCEwO2lmKCIuIj09PWd8fCIuLiI9PT1nfHwhUi5kb3QmJiIuIj09PWcuY2hhckF0''@;'; put 'put ''KDApKXt0aGlzLmRlYnVnKCJkb3QgZGV0ZWN0ZWQhIixJLHksVSxwKTticmVha310aGlzLmRlYnVnKCJnbG9ic3RhciBzd2FsbG93IGEgc2VnbWVudCwgYW5kIGNvbnRpbnVlIikseSsrfXJldHVybiEoIVZ8fCh0aGlzLmRlYnVnKCJcbj4+PiBubyBtYXRjaCwgcGFydGlhbD8iLEkseSxVLHAp''@;'; put 'put ''LHkhPT1KKSl9aWYoInN0cmluZyI9PXR5cGVvZiBoP3RoaXMuZGVidWcoInN0cmluZyBtYXRjaCIsaCxiLHRlPWI9PT1oKToodGU9Yi5tYXRjaChoKSx0aGlzLmRlYnVnKCJwYXR0ZXJuIG1hdGNoIixoLGIsdGUpKSwhdGUpcmV0dXJuITF9aWYoQj09PUomJnE9PT0kKXJldHVybiEwO2lmKEI9''@;'; put 'put ''PT1KKXJldHVybiBWO2lmKHE9PT0kKXJldHVybiBCPT09Si0xJiYiIj09PUlbQl07dGhyb3cgbmV3IEVycm9yKCJ3dGY/Iil9fSw0MjQ0Olo9PnsidXNlIHN0cmljdCI7dmFyIEE9ZnVuY3Rpb24oail7cmV0dXJuIGohPWp9O1ouZXhwb3J0cz1mdW5jdGlvbihqLE4pe3JldHVybiAwPT09aiYm''@;'; put 'put ''MD09PU4/MS9qPT0xL046aj09PU58fCEoIUEoail8fCFBKE4pKX19LDYwOTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDI4OSksej1qKDU1NTkpLEM9aig0MjQ0KSxTPWooNTYyNCksbT1qKDIyODEpLEY9eihTKCksT2JqZWN0KTtOKEYse2dldFBvbHlmaWxsOlMsaW1wbGVtZW50''@;'; put 'put ''YXRpb246QyxzaGltOm19KSxaLmV4cG9ydHM9Rn0sNTYyNDooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDI0NCk7Wi5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5pcz9PYmplY3QuaXM6Tn19LDIyODE6KFosQSxqKT0+eyJ1c2Ugc3Ry''@;'; put 'put ''aWN0Ijt2YXIgTj1qKDU2MjQpLHo9aig0Mjg5KTtaLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgQz1OKCk7cmV0dXJuIHooT2JqZWN0LHtpczpDfSx7aXM6ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmlzIT09Q319KSxDfX0sODk4NzooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOO2lmKCFP''@;'; put 'put ''YmplY3Qua2V5cyl7dmFyIHo9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxDPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsUz1qKDE0MTQpLG09T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxGPSFtLmNhbGwoe3RvU3RyaW5nOm51bGx9LCJ0b1N0cmluZyIp''@;'; put 'put ''LEQ9bS5jYWxsKGZ1bmN0aW9uKCl7fSwicHJvdG90eXBlIiksdz1bInRvU3RyaW5nIiwidG9Mb2NhbGVTdHJpbmciLCJ2YWx1ZU9mIiwiaGFzT3duUHJvcGVydHkiLCJpc1Byb3RvdHlwZU9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjb25zdHJ1Y3RvciJdLFA9ZnVuY3Rpb24oTyl7dmFy''@;'; put 'put ''IEw9Ty5jb25zdHJ1Y3RvcjtyZXR1cm4gTCYmTC5wcm90b3R5cGU9PT1PfSxNPXskYXBwbGljYXRpb25DYWNoZTohMCwkY29uc29sZTohMCwkZXh0ZXJuYWw6ITAsJGZyYW1lOiEwLCRmcmFtZUVsZW1lbnQ6ITAsJGZyYW1lczohMCwkaW5uZXJIZWlnaHQ6ITAsJGlubmVyV2lkdGg6ITAsJG9u''@;'; put 'put ''bW96ZnVsbHNjcmVlbmNoYW5nZTohMCwkb25tb3pmdWxsc2NyZWVuZXJyb3I6ITAsJG91dGVySGVpZ2h0OiEwLCRvdXRlcldpZHRoOiEwLCRwYWdlWE9mZnNldDohMCwkcGFnZVlPZmZzZXQ6ITAsJHBhcmVudDohMCwkc2Nyb2xsTGVmdDohMCwkc2Nyb2xsVG9wOiEwLCRzY3JvbGxYOiEwLCRz''@;'; put 'put ''Y3JvbGxZOiEwLCRzZWxmOiEwLCR3ZWJraXRJbmRleGVkREI6ITAsJHdlYmtpdFN0b3JhZ2VJbmZvOiEwLCR3aW5kb3c6ITB9LGs9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdylyZXR1cm4hMTtmb3IodmFyIE8gaW4gd2luZG93KXRyeXtpZighTVsiJCIrT10mJnou''@;'; put 'put ''Y2FsbCh3aW5kb3csTykmJm51bGwhPT13aW5kb3dbT10mJiJvYmplY3QiPT10eXBlb2Ygd2luZG93W09dKXRyeXtQKHdpbmRvd1tPXSl9Y2F0Y2goTCl7cmV0dXJuITB9fWNhdGNoKEwpe3JldHVybiEwfXJldHVybiExfSgpO049ZnVuY3Rpb24oTyl7dmFyIEw9bnVsbCE9PU8mJiJvYmplY3Qi''@;'; put 'put ''PT10eXBlb2YgTyxUPSJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1DLmNhbGwoTyksWT1TKE8pLEk9TCYmIltvYmplY3QgU3RyaW5nXSI9PT1DLmNhbGwoTyksVT1bXTtpZighTCYmIVQmJiFZKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdC5rZXlzIGNhbGxlZCBvbiBhIG5vbi1vYmplY3QiKTt2''@;'; put 'put ''YXIgVj1EJiZUO2lmKEkmJk8ubGVuZ3RoPjAmJiF6LmNhbGwoTywwKSlmb3IodmFyIFI9MDtSPE8ubGVuZ3RoOysrUilVLnB1c2goU3RyaW5nKFIpKTtpZihZJiZPLmxlbmd0aD4wKWZvcih2YXIgQj0wO0I8Ty5sZW5ndGg7KytCKVUucHVzaChTdHJpbmcoQikpO2Vsc2UgZm9yKHZhciBxIGlu''@;'; put 'put ''IE8pViYmInByb3RvdHlwZSI9PT1xfHwhei5jYWxsKE8scSl8fFUucHVzaChTdHJpbmcocSkpO2lmKEYpZm9yKHZhciBKPWZ1bmN0aW9uKHRlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IWspcmV0dXJuIFAodGUpO3RyeXtyZXR1cm4gUCh0ZSl9Y2F0Y2goaCl7cmV0dXJuITF9''@;'; put 'put ''fShPKSwkPTA7JDx3Lmxlbmd0aDsrKyQpSiYmImNvbnN0cnVjdG9yIj09PXdbJF18fCF6LmNhbGwoTyx3WyRdKXx8VS5wdXNoKHdbJF0pO3JldHVybiBVfX1aLmV4cG9ydHM9Tn0sMjIxNTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPUFycmF5LnByb3RvdHlwZS5zbGljZSx6PWooMTQx''@;'; put 'put ''NCksQz1PYmplY3Qua2V5cyxTPUM/ZnVuY3Rpb24oRil7cmV0dXJuIEMoRil9OmooODk4NyksbT1PYmplY3Qua2V5cztTLnNoaW09ZnVuY3Rpb24oKXtpZihPYmplY3Qua2V5cyl7dmFyIEY9ZnVuY3Rpb24oKXt2YXIgRD1PYmplY3Qua2V5cyhhcmd1bWVudHMpO3JldHVybiBEJiZELmxlbmd0''@;'; put 'put ''aD09PWFyZ3VtZW50cy5sZW5ndGh9KDEsMik7Rnx8KE9iamVjdC5rZXlzPWZ1bmN0aW9uKEQpe3JldHVybiB6KEQpP20oTi5jYWxsKEQpKTptKEQpfSl9ZWxzZSBPYmplY3Qua2V5cz1TO3JldHVybiBPYmplY3Qua2V5c3x8U30sWi5leHBvcnRzPVN9LDE0MTQ6Wj0+eyJ1c2Ugc3RyaWN0Ijt2''@;'; put 'put ''YXIgQT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1ouZXhwb3J0cz1mdW5jdGlvbihqKXt2YXIgTj1BLmNhbGwoaiksej0iW29iamVjdCBBcmd1bWVudHNdIj09PU47cmV0dXJuIHp8fCh6PSJbb2JqZWN0IEFycmF5XSIhPT1OJiZudWxsIT09aiYmIm9iamVjdCI9PXR5cGVvZiBqJiYibnVt''@;'; put 'put ''YmVyIj09dHlwZW9mIGoubGVuZ3RoJiZqLmxlbmd0aD49MCYmIltvYmplY3QgRnVuY3Rpb25dIj09PUEuY2FsbChqLmNhbGxlZSkpLHp9fSw3Nzg6KFosQSxqKT0+e3ZhciBOPWooMjQ3OSk7ZnVuY3Rpb24geihTKXt2YXIgbT1mdW5jdGlvbigpe3JldHVybiBtLmNhbGxlZD9tLnZhbHVlOiht''@;'; put 'put ''LmNhbGxlZD0hMCxtLnZhbHVlPVMuYXBwbHkodGhpcyxhcmd1bWVudHMpKX07cmV0dXJuIG0uY2FsbGVkPSExLG19ZnVuY3Rpb24gQyhTKXt2YXIgbT1mdW5jdGlvbigpe2lmKG0uY2FsbGVkKXRocm93IG5ldyBFcnJvcihtLm9uY2VFcnJvcik7cmV0dXJuIG0uY2FsbGVkPSEwLG0udmFsdWU9''@;'; put 'put ''Uy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3JldHVybiBtLm9uY2VFcnJvcj0oUy5uYW1lfHwiRnVuY3Rpb24gd3JhcHBlZCB3aXRoIGBvbmNlYCIpKyIgc2hvdWxkbid0IGJlIGNhbGxlZCBtb3JlIHRoYW4gb25jZSIsbS5jYWxsZWQ9ITEsbX1aLmV4cG9ydHM9Tih6KSxaLmV4cG9ydHMuc3Ry''@;'; put 'put ''aWN0PU4oQyksei5wcm90bz16KGZ1bmN0aW9uKCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwib25jZSIse3ZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHoodGhpcyl9LGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90''@;'; put 'put ''b3R5cGUsIm9uY2VTdHJpY3QiLHt2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBDKHRoaXMpfSxjb25maWd1cmFibGU6ITB9KX0pfSw3NDM1OihaLEEpPT57QS5lbmRpYW5uZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIkxFIn0sQS5ob3N0bmFtZT1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10''@;'; put 'put ''eXBlb2YgbG9jYXRpb24/bG9jYXRpb24uaG9zdG5hbWU6IiJ9LEEubG9hZGF2Zz1mdW5jdGlvbigpe3JldHVybltdfSxBLnVwdGltZT1mdW5jdGlvbigpe3JldHVybiAwfSxBLmZyZWVtZW09ZnVuY3Rpb24oKXtyZXR1cm4gTnVtYmVyLk1BWF9WQUxVRX0sQS50b3RhbG1lbT1mdW5jdGlvbigp''@;'; put 'put ''e3JldHVybiBOdW1iZXIuTUFYX1ZBTFVFfSxBLmNwdXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sQS50eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIkJyb3dzZXIifSxBLnJlbGVhc2U9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcj9uYXZpZ2F0b3IuYXBwVmVyc2lv''@;'; put 'put ''bjoiIn0sQS5uZXR3b3JrSW50ZXJmYWNlcz1BLmdldE5ldHdvcmtJbnRlcmZhY2VzPWZ1bmN0aW9uKCl7cmV0dXJue319LEEuYXJjaD1mdW5jdGlvbigpe3JldHVybiJqYXZhc2NyaXB0In0sQS5wbGF0Zm9ybT1mdW5jdGlvbigpe3JldHVybiJicm93c2VyIn0sQS50bXBkaXI9QS50bXBEaXI9''@;'; put 'put ''ZnVuY3Rpb24oKXtyZXR1cm4iL3RtcCJ9LEEuRU9MPSJcbiIsQS5ob21lZGlyPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifX0sMjgxODooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooOTgwOSk7QS5jZXJ0aWZpY2F0ZT1qKDE5MzQpO3ZhciB6PU4uZGVmaW5lKCJSU0FQcml2YXRlS2V5Iixm''@;'; put 'put ''dW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ2ZXJzaW9uIikuaW50KCksdGhpcy5rZXkoIm1vZHVsdXMiKS5pbnQoKSx0aGlzLmtleSgicHVibGljRXhwb25lbnQiKS5pbnQoKSx0aGlzLmtleSgicHJpdmF0ZUV4cG9uZW50IikuaW50KCksdGhpcy5rZXkoInByaW1lMSIpLmlu''@;'; put 'put ''dCgpLHRoaXMua2V5KCJwcmltZTIiKS5pbnQoKSx0aGlzLmtleSgiZXhwb25lbnQxIikuaW50KCksdGhpcy5rZXkoImV4cG9uZW50MiIpLmludCgpLHRoaXMua2V5KCJjb2VmZmljaWVudCIpLmludCgpKX0pO0EuUlNBUHJpdmF0ZUtleT16O3ZhciBDPU4uZGVmaW5lKCJSU0FQdWJsaWNLZXki''@;'; put 'put ''LGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoIm1vZHVsdXMiKS5pbnQoKSx0aGlzLmtleSgicHVibGljRXhwb25lbnQiKS5pbnQoKSl9KTtBLlJTQVB1YmxpY0tleT1DO3ZhciBTPU4uZGVmaW5lKCJTdWJqZWN0UHVibGljS2V5SW5mbyIsZnVuY3Rpb24oKXt0aGlzLnNlcSgp''@;'; put 'put ''Lm9iaih0aGlzLmtleSgiYWxnb3JpdGhtIikudXNlKG0pLHRoaXMua2V5KCJzdWJqZWN0UHVibGljS2V5IikuYml0c3RyKCkpfSk7QS5QdWJsaWNLZXk9Uzt2YXIgbT1OLmRlZmluZSgiQWxnb3JpdGhtSWRlbnRpZmllciIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiYWxn''@;'; put 'put ''b3JpdGhtIikub2JqaWQoKSx0aGlzLmtleSgibm9uZSIpLm51bGxfKCkub3B0aW9uYWwoKSx0aGlzLmtleSgiY3VydmUiKS5vYmppZCgpLm9wdGlvbmFsKCksdGhpcy5rZXkoInBhcmFtcyIpLnNlcSgpLm9iaih0aGlzLmtleSgicCIpLmludCgpLHRoaXMua2V5KCJxIikuaW50KCksdGhpcy5r''@;'; put 'put ''ZXkoImciKS5pbnQoKSkub3B0aW9uYWwoKSl9KSxGPU4uZGVmaW5lKCJQcml2YXRlS2V5SW5mbyIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgidmVyc2lvbiIpLmludCgpLHRoaXMua2V5KCJhbGdvcml0aG0iKS51c2UobSksdGhpcy5rZXkoInN1YmplY3RQcml2YXRlS2V5''@;'; put 'put ''Iikub2N0c3RyKCkpfSk7QS5Qcml2YXRlS2V5PUY7dmFyIEQ9Ti5kZWZpbmUoIkVuY3J5cHRlZFByaXZhdGVLZXlJbmZvIixmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJhbGdvcml0aG0iKS5zZXEoKS5vYmoodGhpcy5rZXkoImlkIikub2JqaWQoKSx0aGlzLmtleSgiZGVj''@;'; put 'put ''cnlwdCIpLnNlcSgpLm9iaih0aGlzLmtleSgia2RlIikuc2VxKCkub2JqKHRoaXMua2V5KCJpZCIpLm9iamlkKCksdGhpcy5rZXkoImtkZXBhcmFtcyIpLnNlcSgpLm9iaih0aGlzLmtleSgic2FsdCIpLm9jdHN0cigpLHRoaXMua2V5KCJpdGVycyIpLmludCgpKSksdGhpcy5rZXkoImNpcGhl''@;'; put 'put ''ciIpLnNlcSgpLm9iaih0aGlzLmtleSgiYWxnbyIpLm9iamlkKCksdGhpcy5rZXkoIml2Iikub2N0c3RyKCkpKSksdGhpcy5rZXkoInN1YmplY3RQcml2YXRlS2V5Iikub2N0c3RyKCkpfSk7QS5FbmNyeXB0ZWRQcml2YXRlS2V5PUQ7dmFyIHc9Ti5kZWZpbmUoIkRTQVByaXZhdGVLZXkiLGZ1''@;'; put 'put ''bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInZlcnNpb24iKS5pbnQoKSx0aGlzLmtleSgicCIpLmludCgpLHRoaXMua2V5KCJxIikuaW50KCksdGhpcy5rZXkoImciKS5pbnQoKSx0aGlzLmtleSgicHViX2tleSIpLmludCgpLHRoaXMua2V5KCJwcml2X2tleSIpLmludCgpKX0p''@;'; put 'put ''O0EuRFNBUHJpdmF0ZUtleT13LEEuRFNBcGFyYW09Ti5kZWZpbmUoIkRTQXBhcmFtIixmdW5jdGlvbigpe3RoaXMuaW50KCl9KTt2YXIgUD1OLmRlZmluZSgiRUNQcml2YXRlS2V5IixmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ2ZXJzaW9uIikuaW50KCksdGhpcy5rZXko''@;'; put 'put ''InByaXZhdGVLZXkiKS5vY3RzdHIoKSx0aGlzLmtleSgicGFyYW1ldGVycyIpLm9wdGlvbmFsKCkuZXhwbGljaXQoMCkudXNlKE0pLHRoaXMua2V5KCJwdWJsaWNLZXkiKS5vcHRpb25hbCgpLmV4cGxpY2l0KDEpLmJpdHN0cigpKX0pO0EuRUNQcml2YXRlS2V5PVA7dmFyIE09Ti5kZWZpbmUo''@;'; put 'put ''IkVDUGFyYW1ldGVycyIsZnVuY3Rpb24oKXt0aGlzLmNob2ljZSh7bmFtZWRDdXJ2ZTp0aGlzLm9iamlkKCl9KX0pO0Euc2lnbmF0dXJlPU4uZGVmaW5lKCJzaWduYXR1cmUiLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInIiKS5pbnQoKSx0aGlzLmtleSgicyIpLmludCgp''@;'; put 'put ''KX0pfSwxOTM0OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig5ODA5KSx6PU4uZGVmaW5lKCJUaW1lIixmdW5jdGlvbigpe3RoaXMuY2hvaWNlKHt1dGNUaW1lOnRoaXMudXRjdGltZSgpLGdlbmVyYWxUaW1lOnRoaXMuZ2VudGltZSgpfSl9KSxDPU4uZGVmaW5lKCJBdHRyaWJ1dGVU''@;'; put 'put ''eXBlVmFsdWUiLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInR5cGUiKS5vYmppZCgpLHRoaXMua2V5KCJ2YWx1ZSIpLmFueSgpKX0pLFM9Ti5kZWZpbmUoIkFsZ29yaXRobUlkZW50aWZpZXIiLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoImFsZ29yaXRo''@;'; put 'put ''bSIpLm9iamlkKCksdGhpcy5rZXkoInBhcmFtZXRlcnMiKS5vcHRpb25hbCgpLHRoaXMua2V5KCJjdXJ2ZSIpLm9iamlkKCkub3B0aW9uYWwoKSl9KSxtPU4uZGVmaW5lKCJTdWJqZWN0UHVibGljS2V5SW5mbyIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiYWxnb3JpdGht''@;'; put 'put ''IikudXNlKFMpLHRoaXMua2V5KCJzdWJqZWN0UHVibGljS2V5IikuYml0c3RyKCkpfSksRj1OLmRlZmluZSgiUmVsYXRpdmVEaXN0aW5ndWlzaGVkTmFtZSIsZnVuY3Rpb24oKXt0aGlzLnNldG9mKEMpfSksRD1OLmRlZmluZSgiUkROU2VxdWVuY2UiLGZ1bmN0aW9uKCl7dGhpcy5zZXFvZihG''@;'; put 'put ''KX0pLHc9Ti5kZWZpbmUoIk5hbWUiLGZ1bmN0aW9uKCl7dGhpcy5jaG9pY2Uoe3JkblNlcXVlbmNlOnRoaXMudXNlKEQpfSl9KSxQPU4uZGVmaW5lKCJWYWxpZGl0eSIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgibm90QmVmb3JlIikudXNlKHopLHRoaXMua2V5KCJub3RB''@;'; put 'put ''ZnRlciIpLnVzZSh6KSl9KSxNPU4uZGVmaW5lKCJFeHRlbnNpb24iLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoImV4dG5JRCIpLm9iamlkKCksdGhpcy5rZXkoImNyaXRpY2FsIikuYm9vbCgpLmRlZighMSksdGhpcy5rZXkoImV4dG5WYWx1ZSIpLm9jdHN0cigpKX0pLGs9''@;'; put 'put ''Ti5kZWZpbmUoIlRCU0NlcnRpZmljYXRlIixmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ2ZXJzaW9uIikuZXhwbGljaXQoMCkuaW50KCkub3B0aW9uYWwoKSx0aGlzLmtleSgic2VyaWFsTnVtYmVyIikuaW50KCksdGhpcy5rZXkoInNpZ25hdHVyZSIpLnVzZShTKSx0aGlz''@;'; put 'put ''LmtleSgiaXNzdWVyIikudXNlKHcpLHRoaXMua2V5KCJ2YWxpZGl0eSIpLnVzZShQKSx0aGlzLmtleSgic3ViamVjdCIpLnVzZSh3KSx0aGlzLmtleSgic3ViamVjdFB1YmxpY0tleUluZm8iKS51c2UobSksdGhpcy5rZXkoImlzc3VlclVuaXF1ZUlEIikuaW1wbGljaXQoMSkuYml0c3RyKCku''@;'; put 'put ''b3B0aW9uYWwoKSx0aGlzLmtleSgic3ViamVjdFVuaXF1ZUlEIikuaW1wbGljaXQoMikuYml0c3RyKCkub3B0aW9uYWwoKSx0aGlzLmtleSgiZXh0ZW5zaW9ucyIpLmV4cGxpY2l0KDMpLnNlcW9mKE0pLm9wdGlvbmFsKCkpfSksTz1OLmRlZmluZSgiWDUwOUNlcnRpZmljYXRlIixmdW5jdGlv''@;'; put 'put ''bigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ0YnNDZXJ0aWZpY2F0ZSIpLnVzZShrKSx0aGlzLmtleSgic2lnbmF0dXJlQWxnb3JpdGhtIikudXNlKFMpLHRoaXMua2V5KCJzaWduYXR1cmVWYWx1ZSIpLmJpdHN0cigpKX0pO1ouZXhwb3J0cz1PfSw3NjMxOihaLEEsaik9Pnt2YXIgTj0v''@;'; put 'put ''UHJvYy1UeXBlOiA0LEVOQ1JZUFRFRFtcblxyXStERUstSW5mbzogQUVTLSgoPzoxMjgpfCg/OjE5Mil8KD86MjU2KSktQ0JDLChbMC05QS1IXSspW1xuXHJdKyhbMC05QS16XG5ccisvPV0rKVtcblxyXSsvbSx6PS9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0v''@;'; put 'put ''bSxDPS9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0oWzAtOUEtelxuXHIrLz1dKyktLS0tLUVORCBcMS0tLS0tJC9tLFM9aigzMDQ4KSxtPWooNDY5NiksRj1qKDk1MDkpLkJ1ZmZlcjtaLmV4cG9ydHM9ZnVuY3Rpb24oRCx3KXt2YXIgUCxNPUQudG9TdHJpbmco''@;'; put 'put ''KSxrPU0ubWF0Y2goTik7aWYoayl7dmFyIE89ImFlcyIra1sxXSxMPUYuZnJvbShrWzJdLCJoZXgiKSxUPUYuZnJvbShrWzNdLnJlcGxhY2UoL1tcclxuXS9nLCIiKSwiYmFzZTY0IiksWT1TKHcsTC5zbGljZSgwLDgpLHBhcnNlSW50KGtbMV0sMTApKS5rZXksST1bXSxVPW0uY3JlYXRlRGVj''@;'; put 'put ''aXBoZXJpdihPLFksTCk7SS5wdXNoKFUudXBkYXRlKFQpKSxJLnB1c2goVS5maW5hbCgpKSxQPUYuY29uY2F0KEkpfWVsc2V7dmFyIFY9TS5tYXRjaChDKTtQPUYuZnJvbShWWzJdLnJlcGxhY2UoL1tcclxuXS9nLCIiKSwiYmFzZTY0Iil9cmV0dXJue3RhZzpNLm1hdGNoKHopWzFdLGRhdGE6''@;'; put 'put ''UH19fSw5ODA6KFosQSxqKT0+e3ZhciBOPWooMjgxOCksej1qKDI1NjIpLEM9aig3NjMxKSxTPWooNDY5NiksbT1qKDU2MzIpLEY9aig5NTA5KS5CdWZmZXI7ZnVuY3Rpb24gRCh3KXt2YXIgUDsib2JqZWN0IiE9dHlwZW9mIHd8fEYuaXNCdWZmZXIodyl8fChQPXcucGFzc3BocmFzZSx3PXcu''@;'; put 'put ''a2V5KSwic3RyaW5nIj09dHlwZW9mIHcmJih3PUYuZnJvbSh3KSk7dmFyIE0sayxZLEksVSxWLFIsQixxLEosJCx0ZSxoLE89Qyh3LFApLEw9Ty50YWcsVD1PLmRhdGE7c3dpdGNoKEwpe2Nhc2UiQ0VSVElGSUNBVEUiOms9Ti5jZXJ0aWZpY2F0ZS5kZWNvZGUoVCwiZGVyIikudGJzQ2VydGlm''@;'; put 'put ''aWNhdGUuc3ViamVjdFB1YmxpY0tleUluZm87Y2FzZSJQVUJMSUMgS0VZIjpzd2l0Y2goa3x8KGs9Ti5QdWJsaWNLZXkuZGVjb2RlKFQsImRlciIpKSxNPWsuYWxnb3JpdGhtLmFsZ29yaXRobS5qb2luKCIuIikpe2Nhc2UiMS4yLjg0MC4xMTM1NDkuMS4xLjEiOnJldHVybiBOLlJTQVB1Ymxp''@;'; put 'put ''Y0tleS5kZWNvZGUoay5zdWJqZWN0UHVibGljS2V5LmRhdGEsImRlciIpO2Nhc2UiMS4yLjg0MC4xMDA0NS4yLjEiOnJldHVybiBrLnN1YmplY3RQcml2YXRlS2V5PWsuc3ViamVjdFB1YmxpY0tleSx7dHlwZToiZWMiLGRhdGE6a307Y2FzZSIxLjIuODQwLjEwMDQwLjQuMSI6cmV0dXJuIGsu''@;'; put 'put ''YWxnb3JpdGhtLnBhcmFtcy5wdWJfa2V5PU4uRFNBcGFyYW0uZGVjb2RlKGsuc3ViamVjdFB1YmxpY0tleS5kYXRhLCJkZXIiKSx7dHlwZToiZHNhIixkYXRhOmsuYWxnb3JpdGhtLnBhcmFtc307ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoInVua25vd24ga2V5IGlkICIrTSl9Y2FzZSJFTkNS''@;'; put 'put ''WVBURUQgUFJJVkFURSBLRVkiOkk9UCxVPShZPVQ9Ti5FbmNyeXB0ZWRQcml2YXRlS2V5LmRlY29kZShULCJkZXIiKSkuYWxnb3JpdGhtLmRlY3J5cHQua2RlLmtkZXBhcmFtcy5zYWx0LFY9cGFyc2VJbnQoWS5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLml0ZXJzLnRvU3RyaW5n''@;'; put 'put ''KCksMTApLFI9eltZLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5hbGdvLmpvaW4oIi4iKV0sQj1ZLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5pdixxPVkuc3ViamVjdFByaXZhdGVLZXksSj1wYXJzZUludChSLnNwbGl0KCItIilbMV0sMTApLzgsJD1tLnBia2RmMlN5bmMoSSxVLFYsSiwi''@;'; put 'put ''c2hhMSIpLHRlPVMuY3JlYXRlRGVjaXBoZXJpdihSLCQsQiksKGg9W10pLnB1c2godGUudXBkYXRlKHEpKSxoLnB1c2godGUuZmluYWwoKSksVD1GLmNvbmNhdChoKTtjYXNlIlBSSVZBVEUgS0VZIjpzd2l0Y2goTT0oaz1OLlByaXZhdGVLZXkuZGVjb2RlKFQsImRlciIpKS5hbGdvcml0aG0u''@;'; put 'put ''YWxnb3JpdGhtLmpvaW4oIi4iKSl7Y2FzZSIxLjIuODQwLjExMzU0OS4xLjEuMSI6cmV0dXJuIE4uUlNBUHJpdmF0ZUtleS5kZWNvZGUoay5zdWJqZWN0UHJpdmF0ZUtleSwiZGVyIik7Y2FzZSIxLjIuODQwLjEwMDQ1LjIuMSI6cmV0dXJue2N1cnZlOmsuYWxnb3JpdGhtLmN1cnZlLHByaXZh''@;'; put 'put ''dGVLZXk6Ti5FQ1ByaXZhdGVLZXkuZGVjb2RlKGsuc3ViamVjdFByaXZhdGVLZXksImRlciIpLnByaXZhdGVLZXl9O2Nhc2UiMS4yLjg0MC4xMDA0MC40LjEiOnJldHVybiBrLmFsZ29yaXRobS5wYXJhbXMucHJpdl9rZXk9Ti5EU0FwYXJhbS5kZWNvZGUoay5zdWJqZWN0UHJpdmF0ZUtleSwi''@;'; put 'put ''ZGVyIikse3R5cGU6ImRzYSIscGFyYW1zOmsuYWxnb3JpdGhtLnBhcmFtc307ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoInVua25vd24ga2V5IGlkICIrTSl9Y2FzZSJSU0EgUFVCTElDIEtFWSI6cmV0dXJuIE4uUlNBUHVibGljS2V5LmRlY29kZShULCJkZXIiKTtjYXNlIlJTQSBQUklWQVRF''@;'; put 'put ''IEtFWSI6cmV0dXJuIE4uUlNBUHJpdmF0ZUtleS5kZWNvZGUoVCwiZGVyIik7Y2FzZSJEU0EgUFJJVkFURSBLRVkiOnJldHVybnt0eXBlOiJkc2EiLHBhcmFtczpOLkRTQVByaXZhdGVLZXkuZGVjb2RlKFQsImRlciIpfTtjYXNlIkVDIFBSSVZBVEUgS0VZIjpyZXR1cm57Y3VydmU6KFQ9Ti5F''@;'; put 'put ''Q1ByaXZhdGVLZXkuZGVjb2RlKFQsImRlciIpKS5wYXJhbWV0ZXJzLnZhbHVlLHByaXZhdGVLZXk6VC5wcml2YXRlS2V5fTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigidW5rbm93biBrZXkgdHlwZSAiK0wpfX1aLmV4cG9ydHM9RCxELnNpZ25hdHVyZT1OLnNpZ25hdHVyZX0sNDA5NTooWixB''@;'; put 'put ''LGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSk7ZnVuY3Rpb24geihTKXtyZXR1cm4iLyI9PT1TLmNoYXJBdCgwKX1mdW5jdGlvbiBDKFMpe3ZhciBtPS9eKFthLXpBLVpdOnxbXFxcL117Mn1bXlxcXC9dK1tcXFwvXStbXlxcXC9dKyk/KFtcXFwvXSk/KFtcc1xTXSo/KSQvLmV4ZWMo''@;'; put 'put ''UyksRj1tWzFdfHwiIixEPUJvb2xlYW4oRiYmIjoiIT09Ri5jaGFyQXQoMSkpO3JldHVybiBCb29sZWFuKG1bMl18fEQpfVouZXhwb3J0cz0id2luMzIiPT09Ti5wbGF0Zm9ybT9DOnosWi5leHBvcnRzLnBvc2l4PXosWi5leHBvcnRzLndpbjMyPUN9LDE3MjU6Wj0+e1ouZXhwb3J0cz0iZnVu''@;'; put 'put ''Y3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihBLGope0Euc3VwZXJfPWosQS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShqLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOkEsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSl9OmZ1bmN0''@;'; put 'put ''aW9uKEEsail7QS5zdXBlcl89ajt2YXIgTj1mdW5jdGlvbigpe307Ti5wcm90b3R5cGU9ai5wcm90b3R5cGUsQS5wcm90b3R5cGU9bmV3IE4sQS5wcm90b3R5cGUuY29uc3RydWN0b3I9QX19LDI5NzQ6Wj0+e1ouZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gQSYmIm9iamVjdCI9PXR5cGVv''@;'; put 'put ''ZiBBJiYiZnVuY3Rpb24iPT10eXBlb2YgQS5jb3B5JiYiZnVuY3Rpb24iPT10eXBlb2YgQS5maWxsJiYiZnVuY3Rpb24iPT10eXBlb2YgQS5yZWFkVUludDh9fSw4MDU5OihaLEEsaik9Pnt2YXIgTj1qKDQxNTUpLHo9aig1MTA4KSxDPS8lW3NkaiVdL2c7QS5mb3JtYXQ9ZnVuY3Rpb24ocCl7''@;'; put 'put ''aWYoIUkocCkpe2Zvcih2YXIgZz1bXSxfPTA7Xzxhcmd1bWVudHMubGVuZ3RoO18rKylnLnB1c2goRihhcmd1bWVudHNbX10pKTtyZXR1cm4gZy5qb2luKCIgIil9Xz0xO2Zvcih2YXIgRT1hcmd1bWVudHMsVz1FLmxlbmd0aCxHPVN0cmluZyhwKS5yZXBsYWNlKEMsZnVuY3Rpb24obmUpe2lm''@;'; put 'put ''KCIlJSI9PT1uZSlyZXR1cm4iJSI7aWYoXz49VylyZXR1cm4gbmU7c3dpdGNoKG5lKXtjYXNlIiVzIjpyZXR1cm4gU3RyaW5nKEVbXysrXSk7Y2FzZSIlZCI6cmV0dXJuIE51bWJlcihFW18rK10pO2Nhc2UiJWoiOnRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoRVtfKytdKX1jYXRjaChhZSl7''@;'; put 'put ''cmV0dXJuIltDaXJjdWxhcl0ifWRlZmF1bHQ6cmV0dXJuIG5lfX0pLFg9RVtfXTtfPFc7WD1FWysrX10pVChYKXx8IVIoWCk/Rys9IiAiK1g6Rys9IiAiK0YoWCk7cmV0dXJuIEd9LEEuZGVwcmVjYXRlPWZ1bmN0aW9uKHAsZyl7aWYoVShqLmcucHJvY2VzcykpcmV0dXJuIGZ1bmN0aW9uKCl7''@;'; put 'put ''cmV0dXJuIEEuZGVwcmVjYXRlKHAsZykuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtpZighMD09PU4ubm9EZXByZWNhdGlvbilyZXR1cm4gcDt2YXIgXz0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighXyl7aWYoTi50aHJvd0RlcHJlY2F0aW9uKXRocm93IG5ldyBFcnJvcihnKTtOLnRyYWNlRGVw''@;'; put 'put ''cmVjYXRpb24/ei50cmFjZShnKTp6LmVycm9yKGcpLF89ITB9cmV0dXJuIHAuYXBwbHkodGhpcyxhcmd1bWVudHMpfX07dmFyIFMsbT17fTtmdW5jdGlvbiBGKHAsZyl7dmFyIF89e3NlZW46W10sc3R5bGl6ZTp3fTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD49MyYmKF8uZGVwdGg9YXJndW1l''@;'; put 'put ''bnRzWzJdKSxhcmd1bWVudHMubGVuZ3RoPj00JiYoXy5jb2xvcnM9YXJndW1lbnRzWzNdKSxMKGcpP18uc2hvd0hpZGRlbj1nOmcmJkEuX2V4dGVuZChfLGcpLFUoXy5zaG93SGlkZGVuKSYmKF8uc2hvd0hpZGRlbj0hMSksVShfLmRlcHRoKSYmKF8uZGVwdGg9MiksVShfLmNvbG9ycykmJihf''@;'; put 'put ''LmNvbG9ycz0hMSksVShfLmN1c3RvbUluc3BlY3QpJiYoXy5jdXN0b21JbnNwZWN0PSEwKSxfLmNvbG9ycyYmKF8uc3R5bGl6ZT1EKSxQKF8scCxfLmRlcHRoKX1mdW5jdGlvbiBEKHAsZyl7dmFyIF89Ri5zdHlsZXNbZ107cmV0dXJuIF8/Ilx4MWJbIitGLmNvbG9yc1tfXVswXSsibSIrcCsi''@;'; put 'put ''XHgxYlsiK0YuY29sb3JzW19dWzFdKyJtIjpwfWZ1bmN0aW9uIHcocCxnKXtyZXR1cm4gcH1mdW5jdGlvbiBQKHAsZyxfKXtpZihwLmN1c3RvbUluc3BlY3QmJmcmJkooZy5pbnNwZWN0KSYmZy5pbnNwZWN0IT09QS5pbnNwZWN0JiYoIWcuY29uc3RydWN0b3J8fGcuY29uc3RydWN0b3IucHJv''@;'; put 'put ''dG90eXBlIT09Zykpe3ZhciBFPWcuaW5zcGVjdChfLHApO3JldHVybiBJKEUpfHwoRT1QKHAsRSxfKSksRX12YXIgVz1mdW5jdGlvbihsZSxjZSl7aWYoVShjZSkpcmV0dXJuIGxlLnN0eWxpemUoInVuZGVmaW5lZCIsInVuZGVmaW5lZCIpO2lmKEkoY2UpKXt2YXIgcGU9IiciK0pTT04uc3Ry''@;'; put 'put ''aW5naWZ5KGNlKS5yZXBsYWNlKC9eInwiJC9nLCIiKS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykrIiciO3JldHVybiBsZS5zdHlsaXplKHBlLCJzdHJpbmciKX1yZXR1cm4gWShjZSk/bGUuc3R5bGl6ZSgiIitjZSwibnVtYmVyIik6TChjZSk/bGUuc3R5bGl6ZSgi''@;'; put 'put ''IitjZSwiYm9vbGVhbiIpOlQoY2UpP2xlLnN0eWxpemUoIm51bGwiLCJudWxsIik6dm9pZCAwfShwLGcpO2lmKFcpcmV0dXJuIFc7dmFyIGNlLEc9T2JqZWN0LmtleXMoZyksWD0oY2U9e30sRy5mb3JFYWNoKGZ1bmN0aW9uKHBlLHdlKXtjZVtwZV09ITB9KSxjZSk7aWYocC5zaG93SGlkZGVu''@;'; put 'put ''JiYoRz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhnKSkscShnKSYmKEcuaW5kZXhPZigibWVzc2FnZSIpPj0wfHxHLmluZGV4T2YoImRlc2NyaXB0aW9uIik+PTApKXJldHVybiBNKGcpO2lmKDA9PT1HLmxlbmd0aCl7aWYoSihnKSlyZXR1cm4gcC5zdHlsaXplKCJbRnVuY3Rpb24iKyhn''@;'; put 'put ''Lm5hbWU/IjogIitnLm5hbWU6IiIpKyJdIiwic3BlY2lhbCIpO2lmKFYoZykpcmV0dXJuIHAuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZyksInJlZ2V4cCIpO2lmKEIoZykpcmV0dXJuIHAuc3R5bGl6ZShEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGcpLCJk''@;'; put 'put ''YXRlIik7aWYocShnKSlyZXR1cm4gTShnKX12YXIgYWUsdWU9IiIsYmU9ITEsX2U9WyJ7IiwifSJdO3JldHVybiBPKGcpJiYoYmU9ITAsX2U9WyJbIiwiXSJdKSxKKGcpJiYodWU9IiBbRnVuY3Rpb24iKyhnLm5hbWU/IjogIitnLm5hbWU6IiIpKyJdIiksVihnKSYmKHVlPSIgIitSZWdFeHAu''@;'; put 'put ''cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZykpLEIoZykmJih1ZT0iICIrRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcuY2FsbChnKSkscShnKSYmKHVlPSIgIitNKGcpKSwwIT09Ry5sZW5ndGh8fGJlJiYwIT1nLmxlbmd0aD9fPDA/VihnKT9wLnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50''@;'; put 'put ''b1N0cmluZy5jYWxsKGcpLCJyZWdleHAiKTpwLnN0eWxpemUoIltPYmplY3RdIiwic3BlY2lhbCIpOihwLnNlZW4ucHVzaChnKSxhZT1iZT9mdW5jdGlvbihsZSxjZSxwZSx3ZSxVZSl7Zm9yKHZhciB4ZT1bXSxFZT0wLHd0PWNlLmxlbmd0aDtFZTx3dDsrK0VlKXkoY2UsU3RyaW5nKEVlKSk/''@;'; put 'put ''eGUucHVzaChrKGxlLGNlLHBlLHdlLFN0cmluZyhFZSksITApKTp4ZS5wdXNoKCIiKTtyZXR1cm4gVWUuZm9yRWFjaChmdW5jdGlvbihOZSl7TmUubWF0Y2goL15cZCskLyl8fHhlLnB1c2goayhsZSxjZSxwZSx3ZSxOZSwhMCkpfSkseGV9KHAsZyxfLFgsRyk6Ry5tYXAoZnVuY3Rpb24obGUp''@;'; put 'put ''e3JldHVybiBrKHAsZyxfLFgsbGUsYmUpfSkscC5zZWVuLnBvcCgpLGZ1bmN0aW9uKGxlLGNlLHBlKXtyZXR1cm4gbGUucmVkdWNlKGZ1bmN0aW9uKHdlLFVlKXtyZXR1cm4gVWUuaW5kZXhPZigiXG4iKSx3ZStVZS5yZXBsYWNlKC9cdTAwMWJcW1xkXGQ/bS9nLCIiKS5sZW5ndGgrMX0sMCk+''@;'; put 'put ''NjA/cGVbMF0rKCIiPT09Y2U/IiI6Y2UrIlxuICIpKyIgIitsZS5qb2luKCIsXG4gICIpKyIgIitwZVsxXTpwZVswXStjZSsiICIrbGUuam9pbigiLCAiKSsiICIrcGVbMV19KGFlLHVlLF9lKSk6X2VbMF0rdWUrX2VbMV19ZnVuY3Rpb24gTShwKXtyZXR1cm4iWyIrRXJyb3IucHJvdG90eXBl''@;'; put 'put ''LnRvU3RyaW5nLmNhbGwocCkrIl0ifWZ1bmN0aW9uIGsocCxnLF8sRSxXLEcpe3ZhciBYLG5lLGFlO2lmKChhZT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGcsVyl8fHt2YWx1ZTpnW1ddfSkuZ2V0P25lPXAuc3R5bGl6ZShhZS5zZXQ/IltHZXR0ZXIvU2V0dGVyXSI6IltHZXR0''@;'; put 'put ''ZXJdIiwic3BlY2lhbCIpOmFlLnNldCYmKG5lPXAuc3R5bGl6ZSgiW1NldHRlcl0iLCJzcGVjaWFsIikpLHkoRSxXKXx8KFg9IlsiK1crIl0iKSxuZXx8KHAuc2Vlbi5pbmRleE9mKGFlLnZhbHVlKTwwPyhuZT1UKF8pP1AocCxhZS52YWx1ZSxudWxsKTpQKHAsYWUudmFsdWUsXy0xKSkuaW5k''@;'; put 'put ''ZXhPZigiXG4iKT4tMSYmKG5lPUc/bmUuc3BsaXQoIlxuIikubWFwKGZ1bmN0aW9uKHVlKXtyZXR1cm4iICAiK3VlfSkuam9pbigiXG4iKS5zdWJzdHIoMik6IlxuIituZS5zcGxpdCgiXG4iKS5tYXAoZnVuY3Rpb24odWUpe3JldHVybiIgICAiK3VlfSkuam9pbigiXG4iKSk6bmU9cC5zdHls''@;'; put 'put ''aXplKCJbQ2lyY3VsYXJdIiwic3BlY2lhbCIpKSxVKFgpKXtpZihHJiZXLm1hdGNoKC9eXGQrJC8pKXJldHVybiBuZTsoWD1KU09OLnN0cmluZ2lmeSgiIitXKSkubWF0Y2goL14iKFthLXpBLVpfXVthLXpBLVpfMC05XSopIiQvKT8oWD1YLnN1YnN0cigxLFgubGVuZ3RoLTIpLFg9cC5zdHls''@;'; put 'put ''aXplKFgsIm5hbWUiKSk6KFg9WC5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykucmVwbGFjZSgvKF4ifCIkKS9nLCInIiksWD1wLnN0eWxpemUoWCwic3RyaW5nIikpfXJldHVybiBYKyI6ICIrbmV9ZnVuY3Rpb24gTyhwKXtyZXR1cm4gQXJyYXkuaXNBcnJheShwKX1m''@;'; put 'put ''dW5jdGlvbiBMKHApe3JldHVybiJib29sZWFuIj09dHlwZW9mIHB9ZnVuY3Rpb24gVChwKXtyZXR1cm4gbnVsbD09PXB9ZnVuY3Rpb24gWShwKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHB9ZnVuY3Rpb24gSShwKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHB9ZnVuY3Rpb24gVShwKXtyZXR1''@;'; put 'put ''cm4gdm9pZCAwPT09cH1mdW5jdGlvbiBWKHApe3JldHVybiBSKHApJiYiW29iamVjdCBSZWdFeHBdIj09PSQocCl9ZnVuY3Rpb24gUihwKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHAmJm51bGwhPT1wfWZ1bmN0aW9uIEIocCl7cmV0dXJuIFIocCkmJiJbb2JqZWN0IERhdGVdIj09PSQocCl9''@;'; put 'put ''ZnVuY3Rpb24gcShwKXtyZXR1cm4gUihwKSYmKCJbb2JqZWN0IEVycm9yXSI9PT0kKHApfHxwIGluc3RhbmNlb2YgRXJyb3IpfWZ1bmN0aW9uIEoocCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHB9ZnVuY3Rpb24gJChwKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs''@;'; put 'put ''KHApfWZ1bmN0aW9uIHRlKHApe3JldHVybiBwPDEwPyIwIitwLnRvU3RyaW5nKDEwKTpwLnRvU3RyaW5nKDEwKX1BLmRlYnVnbG9nPWZ1bmN0aW9uKHApe2lmKFUoUykmJihTPU4uZW52Lk5PREVfREVCVUd8fCIiKSxwPXAudG9VcHBlckNhc2UoKSwhbVtwXSlpZihuZXcgUmVnRXhwKCJcXGIi''@;'; put 'put ''K3ArIlxcYiIsImkiKS50ZXN0KFMpKXt2YXIgZz1OLnBpZDttW3BdPWZ1bmN0aW9uKCl7dmFyIF89QS5mb3JtYXQuYXBwbHkoQSxhcmd1bWVudHMpO3ouZXJyb3IoIiVzICVkOiAlcyIscCxnLF8pfX1lbHNlIG1bcF09ZnVuY3Rpb24oKXt9O3JldHVybiBtW3BdfSxBLmluc3BlY3Q9RixGLmNv''@;'; put 'put ''bG9ycz17Ym9sZDpbMSwyMl0saXRhbGljOlszLDIzXSx1bmRlcmxpbmU6WzQsMjRdLGludmVyc2U6WzcsMjddLHdoaXRlOlszNywzOV0sZ3JleTpbOTAsMzldLGJsYWNrOlszMCwzOV0sYmx1ZTpbMzQsMzldLGN5YW46WzM2LDM5XSxncmVlbjpbMzIsMzldLG1hZ2VudGE6WzM1LDM5XSxyZWQ6''@;'; put 'put ''WzMxLDM5XSx5ZWxsb3c6WzMzLDM5XX0sRi5zdHlsZXM9e3NwZWNpYWw6ImN5YW4iLG51bWJlcjoieWVsbG93Iixib29sZWFuOiJ5ZWxsb3ciLHVuZGVmaW5lZDoiZ3JleSIsbnVsbDoiYm9sZCIsc3RyaW5nOiJncmVlbiIsZGF0ZToibWFnZW50YSIscmVnZXhwOiJyZWQifSxBLmlzQXJyYXk9''@;'; put 'put ''TyxBLmlzQm9vbGVhbj1MLEEuaXNOdWxsPVQsQS5pc051bGxPclVuZGVmaW5lZD1mdW5jdGlvbihwKXtyZXR1cm4gbnVsbD09cH0sQS5pc051bWJlcj1ZLEEuaXNTdHJpbmc9SSxBLmlzU3ltYm9sPWZ1bmN0aW9uKHApe3JldHVybiJzeW1ib2wiPT10eXBlb2YgcH0sQS5pc1VuZGVmaW5lZD1V''@;'; put 'put ''LEEuaXNSZWdFeHA9VixBLmlzT2JqZWN0PVIsQS5pc0RhdGU9QixBLmlzRXJyb3I9cSxBLmlzRnVuY3Rpb249SixBLmlzUHJpbWl0aXZlPWZ1bmN0aW9uKHApe3JldHVybiBudWxsPT09cHx8ImJvb2xlYW4iPT10eXBlb2YgcHx8Im51bWJlciI9PXR5cGVvZiBwfHwic3RyaW5nIj09dHlwZW9m''@;'; put 'put ''IHB8fCJzeW1ib2wiPT10eXBlb2YgcHx8dm9pZCAwPT09cH0sQS5pc0J1ZmZlcj1qKDI5NzQpO3ZhciBoPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gYigpe3ZhciBwPW5ldyBEYXRlLGc9''@;'; put 'put ''W3RlKHAuZ2V0SG91cnMoKSksdGUocC5nZXRNaW51dGVzKCkpLHRlKHAuZ2V0U2Vjb25kcygpKV0uam9pbigiOiIpO3JldHVybltwLmdldERhdGUoKSxoW3AuZ2V0TW9udGgoKV0sZ10uam9pbigiICIpfWZ1bmN0aW9uIHkocCxnKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9w''@;'; put 'put ''ZXJ0eS5jYWxsKHAsZyl9QS5sb2c9ZnVuY3Rpb24oKXt6LmxvZygiJXMgLSAlcyIsYigpLEEuZm9ybWF0LmFwcGx5KEEsYXJndW1lbnRzKSl9LEEuaW5oZXJpdHM9aigxNzI1KSxBLl9leHRlbmQ9ZnVuY3Rpb24ocCxnKXtpZighZ3x8IVIoZykpcmV0dXJuIHA7Zm9yKHZhciBfPU9iamVjdC5r''@;'; put 'put ''ZXlzKGcpLEU9Xy5sZW5ndGg7RS0tOylwW19bRV1dPWdbX1tFXV07cmV0dXJuIHB9fSwyNTIwOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0MTU1KSx6PSJ3aW4zMiI9PT1OLnBsYXRmb3JtLEM9aig4MDU5KTtmdW5jdGlvbiBTKFksSSl7Zm9yKHZhciBVPVtdLFY9MDtWPFkubGVu''@;'; put 'put ''Z3RoO1YrKyl7dmFyIFI9WVtWXTtSJiYiLiIhPT1SJiYoIi4uIj09PVI/VS5sZW5ndGgmJiIuLiIhPT1VW1UubGVuZ3RoLTFdP1UucG9wKCk6SSYmVS5wdXNoKCIuLiIpOlUucHVzaChSKSl9cmV0dXJuIFV9ZnVuY3Rpb24gbShZKXtmb3IodmFyIEk9WS5sZW5ndGgtMSxVPTA7VTw9SSYmIVlb''@;'; put 'put ''VV07VSsrKTtmb3IodmFyIFY9STtWPj0wJiYhWVtWXTtWLS0pO3JldHVybiAwPT09VSYmVj09PUk/WTpVPlY/W106WS5zbGljZShVLFYrMSl9dmFyIEY9L14oW2EtekEtWl06fFtcXFwvXXsyfVteXFxcL10rW1xcXC9dK1teXFxcL10rKT8oW1xcXC9dKT8oW1xzXFNdKj8pJC8sRD0vXihbXHNc''@;'; put 'put ''U10qPykoKD86XC57MSwyfXxbXlxcXC9dKz98KShcLlteLlwvXFxdKnwpKSg/OltcXFwvXSopJC8sdz17fTtmdW5jdGlvbiBQKFkpe3ZhciBJPUYuZXhlYyhZKSxVPShJWzFdfHwiIikrKElbMl18fCIiKSxSPUQuZXhlYyhJWzNdfHwiIik7cmV0dXJuW1UsUlsxXSxSWzJdLFJbM11dfWZ1bmN0''@;'; put 'put ''aW9uIE0oWSl7dmFyIEk9Ri5leGVjKFkpLFU9SVsxXXx8IiIsVj0hIVUmJiI6IiE9PVVbMV07cmV0dXJue2RldmljZTpVLGlzVW5jOlYsaXNBYnNvbHV0ZTpWfHwhIUlbMl0sdGFpbDpJWzNdfX1mdW5jdGlvbiBrKFkpe3JldHVybiJcXFxcIitZLnJlcGxhY2UoL15bXFxcL10rLywiIikucmVw''@;'; put 'put ''bGFjZSgvW1xcXC9dKy9nLCJcXCIpfXcucmVzb2x2ZT1mdW5jdGlvbigpe2Zvcih2YXIgWT0iIixJPSIiLFU9ITEsVj1hcmd1bWVudHMubGVuZ3RoLTE7Vj49LTE7Vi0tKXt2YXIgUjtpZihWPj0wP1I9YXJndW1lbnRzW1ZdOlk/KFI9Ti5lbnZbIj0iK1ldKSYmUi5zdWJzdHIoMCwzKS50b0xv''@;'; put 'put ''d2VyQ2FzZSgpPT09WS50b0xvd2VyQ2FzZSgpKyJcXCJ8fChSPVkrIlxcIik6Uj1OLmN3ZCgpLCFDLmlzU3RyaW5nKFIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50cyB0byBwYXRoLnJlc29sdmUgbXVzdCBiZSBzdHJpbmdzIik7aWYoUil7dmFyIEI9TShSKSxxPUIuZGV2aWNlLEo9''@;'; put 'put ''Qi5pc1VuYywkPUIuaXNBYnNvbHV0ZSx0ZT1CLnRhaWw7aWYoKCFxfHwhWXx8cS50b0xvd2VyQ2FzZSgpPT09WS50b0xvd2VyQ2FzZSgpKSYmKFl8fChZPXEpLFV8fChJPXRlKyJcXCIrSSxVPSQpLFkmJlUpKWJyZWFrfX1yZXR1cm4gSiYmKFk9ayhZKSksWSsoVT8iXFwiOiIiKSsoST1TKEku''@;'; put 'put ''c3BsaXQoL1tcXFwvXSsvKSwhVSkuam9pbigiXFwiKSl8fCIuIn0sdy5ub3JtYWxpemU9ZnVuY3Rpb24oWSl7dmFyIEk9TShZKSxVPUkuZGV2aWNlLFY9SS5pc1VuYyxSPUkuaXNBYnNvbHV0ZSxCPUkudGFpbCxxPS9bXFxcL10kLy50ZXN0KEIpO3JldHVybihCPVMoQi5zcGxpdCgvW1xcXC9d''@;'; put 'put ''Ky8pLCFSKS5qb2luKCJcXCIpKXx8Unx8KEI9Ii4iKSxCJiZxJiYoQis9IlxcIiksViYmKFU9ayhVKSksVSsoUj8iXFwiOiIiKStCfSx3LmlzQWJzb2x1dGU9ZnVuY3Rpb24oWSl7cmV0dXJuIE0oWSkuaXNBYnNvbHV0ZX0sdy5qb2luPWZ1bmN0aW9uKCl7Zm9yKHZhciBZPVtdLEk9MDtJPGFy''@;'; put 'put ''Z3VtZW50cy5sZW5ndGg7SSsrKXt2YXIgVT1hcmd1bWVudHNbSV07aWYoIUMuaXNTdHJpbmcoVSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIHRvIHBhdGguam9pbiBtdXN0IGJlIHN0cmluZ3MiKTtVJiZZLnB1c2goVSl9dmFyIFY9WS5qb2luKCJcXCIpO3JldHVybi9eW1xcXC9d''@;'; put 'put ''ezJ9W15cXFwvXS8udGVzdChZWzBdKXx8KFY9Vi5yZXBsYWNlKC9eW1xcXC9dezIsfS8sIlxcIikpLHcubm9ybWFsaXplKFYpfSx3LnJlbGF0aXZlPWZ1bmN0aW9uKFksSSl7WT13LnJlc29sdmUoWSksST13LnJlc29sdmUoSSk7Zm9yKHZhciBVPVkudG9Mb3dlckNhc2UoKSxWPUkudG9Mb3dl''@;'; put 'put ''ckNhc2UoKSxSPW0oSS5zcGxpdCgiXFwiKSksQj1tKFUuc3BsaXQoIlxcIikpLHE9bShWLnNwbGl0KCJcXCIpKSxKPU1hdGgubWluKEIubGVuZ3RoLHEubGVuZ3RoKSwkPUosdGU9MDt0ZTxKO3RlKyspaWYoQlt0ZV0hPT1xW3RlXSl7JD10ZTticmVha31pZigwPT0kKXJldHVybiBJO3ZhciBo''@;'; put 'put ''PVtdO2Zvcih0ZT0kO3RlPEIubGVuZ3RoO3RlKyspaC5wdXNoKCIuLiIpO3JldHVybihoPWguY29uY2F0KFIuc2xpY2UoJCkpKS5qb2luKCJcXCIpfSx3Ll9tYWtlTG9uZz1mdW5jdGlvbihZKXtpZighQy5pc1N0cmluZyhZKSlyZXR1cm4gWTtpZighWSlyZXR1cm4iIjt2YXIgST13LnJlc29s''@;'; put 'put ''dmUoWSk7cmV0dXJuL15bYS16QS1aXVw6XFwvLnRlc3QoSSk/IlxcXFw/XFwiK0k6L15cXFxcW14/Ll0vLnRlc3QoSSk/IlxcXFw/XFxVTkNcXCIrSS5zdWJzdHJpbmcoMik6WX0sdy5kaXJuYW1lPWZ1bmN0aW9uKFkpe3ZhciBJPVAoWSksVT1JWzBdLFY9SVsxXTtyZXR1cm4gVXx8Vj8oViYm''@;'; put 'put ''KFY9Vi5zdWJzdHIoMCxWLmxlbmd0aC0xKSksVStWKToiLiJ9LHcuYmFzZW5hbWU9ZnVuY3Rpb24oWSxJKXt2YXIgVT1QKFkpWzJdO3JldHVybiBJJiZVLnN1YnN0cigtMSpJLmxlbmd0aCk9PT1JJiYoVT1VLnN1YnN0cigwLFUubGVuZ3RoLUkubGVuZ3RoKSksVX0sdy5leHRuYW1lPWZ1bmN0''@;'; put 'put ''aW9uKFkpe3JldHVybiBQKFkpWzNdfSx3LmZvcm1hdD1mdW5jdGlvbihZKXtpZighQy5pc09iamVjdChZKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXJhbWV0ZXIgJ3BhdGhPYmplY3QnIG11c3QgYmUgYW4gb2JqZWN0LCBub3QgIit0eXBlb2YgWSk7aWYoIUMuaXNTdHJpbmcoWS5yb290fHwi''@;'; put 'put ''IikpdGhyb3cgbmV3IFR5cGVFcnJvcigiJ3BhdGhPYmplY3Qucm9vdCcgbXVzdCBiZSBhIHN0cmluZyBvciB1bmRlZmluZWQsIG5vdCAiK3R5cGVvZiBZLnJvb3QpO3ZhciBVPVkuZGlyLFY9WS5iYXNlfHwiIjtyZXR1cm4gVT9VW1UubGVuZ3RoLTFdPT09dy5zZXA/VStWOlUrdy5zZXArVjpW''@;'; put 'put ''fSx3LnBhcnNlPWZ1bmN0aW9uKFkpe2lmKCFDLmlzU3RyaW5nKFkpKXRocm93IG5ldyBUeXBlRXJyb3IoIlBhcmFtZXRlciAncGF0aFN0cmluZycgbXVzdCBiZSBhIHN0cmluZywgbm90ICIrdHlwZW9mIFkpO3ZhciBJPVAoWSk7aWYoIUl8fDQhPT1JLmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVy''@;'; put 'put ''cm9yKCJJbnZhbGlkIHBhdGggJyIrWSsiJyIpO3JldHVybntyb290OklbMF0sZGlyOklbMF0rSVsxXS5zbGljZSgwLC0xKSxiYXNlOklbMl0sZXh0OklbM10sbmFtZTpJWzJdLnNsaWNlKDAsSVsyXS5sZW5ndGgtSVszXS5sZW5ndGgpfX0sdy5zZXA9IlxcIix3LmRlbGltaXRlcj0iOyI7dmFy''@;'; put 'put ''IE89L14oXC8/fCkoW1xzXFNdKj8pKCg/OlwuezEsMn18W15cL10rP3wpKFwuW14uXC9dKnwpKSg/OltcL10qKSQvLEw9e307ZnVuY3Rpb24gVChZKXtyZXR1cm4gTy5leGVjKFkpLnNsaWNlKDEpfUwucmVzb2x2ZT1mdW5jdGlvbigpe2Zvcih2YXIgWT0iIixJPSExLFU9YXJndW1lbnRzLmxl''@;'; put 'put ''bmd0aC0xO1U+PS0xJiYhSTtVLS0pe3ZhciBWPVU+PTA/YXJndW1lbnRzW1VdOk4uY3dkKCk7aWYoIUMuaXNTdHJpbmcoVikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIHRvIHBhdGgucmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3MiKTtWJiYoWT1WKyIvIitZLEk9Ii8iPT09VlswXSl9''@;'; put 'put ''cmV0dXJuKEk/Ii8iOiIiKSsoWT1TKFkuc3BsaXQoIi8iKSwhSSkuam9pbigiLyIpKXx8Ii4ifSxMLm5vcm1hbGl6ZT1mdW5jdGlvbihZKXt2YXIgST1MLmlzQWJzb2x1dGUoWSksVT1ZJiYiLyI9PT1ZW1kubGVuZ3RoLTFdO3JldHVybihZPVMoWS5zcGxpdCgiLyIpLCFJKS5qb2luKCIvIikp''@;'; put 'put ''fHxJfHwoWT0iLiIpLFkmJlUmJihZKz0iLyIpLChJPyIvIjoiIikrWX0sTC5pc0Fic29sdXRlPWZ1bmN0aW9uKFkpe3JldHVybiIvIj09PVkuY2hhckF0KDApfSxMLmpvaW49ZnVuY3Rpb24oKXtmb3IodmFyIFk9IiIsST0wO0k8YXJndW1lbnRzLmxlbmd0aDtJKyspe3ZhciBVPWFyZ3VtZW50''@;'; put 'put ''c1tJXTtpZighQy5pc1N0cmluZyhVKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudHMgdG8gcGF0aC5qb2luIG11c3QgYmUgc3RyaW5ncyIpO1UmJihZKz1ZPyIvIitVOlUpfXJldHVybiBMLm5vcm1hbGl6ZShZKX0sTC5yZWxhdGl2ZT1mdW5jdGlvbihZLEkpe1k9TC5yZXNvbHZlKFkp''@;'; put 'put ''LnN1YnN0cigxKSxJPUwucmVzb2x2ZShJKS5zdWJzdHIoMSk7Zm9yKHZhciBVPW0oWS5zcGxpdCgiLyIpKSxWPW0oSS5zcGxpdCgiLyIpKSxSPU1hdGgubWluKFUubGVuZ3RoLFYubGVuZ3RoKSxCPVIscT0wO3E8UjtxKyspaWYoVVtxXSE9PVZbcV0pe0I9cTticmVha312YXIgSj1bXTtmb3Io''@;'; put 'put ''cT1CO3E8VS5sZW5ndGg7cSsrKUoucHVzaCgiLi4iKTtyZXR1cm4oSj1KLmNvbmNhdChWLnNsaWNlKEIpKSkuam9pbigiLyIpfSxMLl9tYWtlTG9uZz1mdW5jdGlvbihZKXtyZXR1cm4gWX0sTC5kaXJuYW1lPWZ1bmN0aW9uKFkpe3ZhciBJPVQoWSksVT1JWzBdLFY9SVsxXTtyZXR1cm4gVXx8''@;'; put 'put ''Vj8oViYmKFY9Vi5zdWJzdHIoMCxWLmxlbmd0aC0xKSksVStWKToiLiJ9LEwuYmFzZW5hbWU9ZnVuY3Rpb24oWSxJKXt2YXIgVT1UKFkpWzJdO3JldHVybiBJJiZVLnN1YnN0cigtMSpJLmxlbmd0aCk9PT1JJiYoVT1VLnN1YnN0cigwLFUubGVuZ3RoLUkubGVuZ3RoKSksVX0sTC5leHRuYW1l''@;'; put 'put ''PWZ1bmN0aW9uKFkpe3JldHVybiBUKFkpWzNdfSxMLmZvcm1hdD1mdW5jdGlvbihZKXtpZighQy5pc09iamVjdChZKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXJhbWV0ZXIgJ3BhdGhPYmplY3QnIG11c3QgYmUgYW4gb2JqZWN0LCBub3QgIit0eXBlb2YgWSk7aWYoIUMuaXNTdHJpbmcoWS5y''@;'; put 'put ''b290fHwiIikpdGhyb3cgbmV3IFR5cGVFcnJvcigiJ3BhdGhPYmplY3Qucm9vdCcgbXVzdCBiZSBhIHN0cmluZyBvciB1bmRlZmluZWQsIG5vdCAiK3R5cGVvZiBZLnJvb3QpO3JldHVybihZLmRpcj9ZLmRpcitMLnNlcDoiIikrKFkuYmFzZXx8IiIpfSxMLnBhcnNlPWZ1bmN0aW9uKFkpe2lm''@;'; put 'put ''KCFDLmlzU3RyaW5nKFkpKXRocm93IG5ldyBUeXBlRXJyb3IoIlBhcmFtZXRlciAncGF0aFN0cmluZycgbXVzdCBiZSBhIHN0cmluZywgbm90ICIrdHlwZW9mIFkpO3ZhciBJPVQoWSk7aWYoIUl8fDQhPT1JLmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIHBhdGggJyIrWSsi''@;'; put 'put ''JyIpO3JldHVybiBJWzFdPUlbMV18fCIiLElbMl09SVsyXXx8IiIsSVszXT1JWzNdfHwiIix7cm9vdDpJWzBdLGRpcjpJWzBdK0lbMV0uc2xpY2UoMCwtMSksYmFzZTpJWzJdLGV4dDpJWzNdLG5hbWU6SVsyXS5zbGljZSgwLElbMl0ubGVuZ3RoLUlbM10ubGVuZ3RoKX19LEwuc2VwPSIvIixM''@;'; put 'put ''LmRlbGltaXRlcj0iOiIsWi5leHBvcnRzPXo/dzpMLFouZXhwb3J0cy5wb3NpeD1MLFouZXhwb3J0cy53aW4zMj13fSw1NjMyOihaLEEsaik9PntBLnBia2RmMj1qKDg2MzgpLEEucGJrZGYyU3luYz1qKDEyNTcpfSw4NjM4OihaLEEsaik9Pnt2YXIgTix6LEM9aig5NTA5KS5CdWZmZXIsUz1q''@;'; put 'put ''KDczNTcpLG09aigyMzY4KSxGPWooMTI1NyksRD1qKDc3NzcpLHc9ai5nLmNyeXB0byYmai5nLmNyeXB0by5zdWJ0bGUsUD17c2hhOiJTSEEtMSIsInNoYS0xIjoiU0hBLTEiLHNoYTE6IlNIQS0xIixzaGEyNTY6IlNIQS0yNTYiLCJzaGEtMjU2IjoiU0hBLTI1NiIsc2hhMzg0OiJTSEEtMzg0''@;'; put 'put ''Iiwic2hhLTM4NCI6IlNIQS0zODQiLCJzaGEtNTEyIjoiU0hBLTUxMiIsc2hhNTEyOiJTSEEtNTEyIn0sTT1bXTtmdW5jdGlvbiBrKCl7cmV0dXJuIHp8fCh6PWouZy5wcm9jZXNzJiZqLmcucHJvY2Vzcy5uZXh0VGljaz9qLmcucHJvY2Vzcy5uZXh0VGljazpqLmcucXVldWVNaWNyb3Rhc2s/''@;'; put 'put ''ai5nLnF1ZXVlTWljcm90YXNrOmouZy5zZXRJbW1lZGlhdGU/ai5nLnNldEltbWVkaWF0ZTpqLmcuc2V0VGltZW91dCl9ZnVuY3Rpb24gTyhMLFQsWSxJLFUpe3JldHVybiB3LmltcG9ydEtleSgicmF3IixMLHtuYW1lOiJQQktERjIifSwhMSxbImRlcml2ZUJpdHMiXSkudGhlbihmdW5jdGlv''@;'; put 'put ''bihWKXtyZXR1cm4gdy5kZXJpdmVCaXRzKHtuYW1lOiJQQktERjIiLHNhbHQ6VCxpdGVyYXRpb25zOlksaGFzaDp7bmFtZTpVfX0sVixJPDwzKX0pLnRoZW4oZnVuY3Rpb24oVil7cmV0dXJuIEMuZnJvbShWKX0pfVouZXhwb3J0cz1mdW5jdGlvbihMLFQsWSxJLFUsVil7ImZ1bmN0aW9uIj09''@;'; put 'put ''dHlwZW9mIFUmJihWPVUsVT12b2lkIDApO3ZhciBCLHEsUj1QWyhVPVV8fCJzaGExIikudG9Mb3dlckNhc2UoKV07aWYoUiYmImZ1bmN0aW9uIj09dHlwZW9mIGouZy5Qcm9taXNlKXtpZihTKFksSSksTD1EKEwsbSwiUGFzc3dvcmQiKSxUPUQoVCxtLCJTYWx0IiksImZ1bmN0aW9uIiE9dHlw''@;'; put 'put ''ZW9mIFYpdGhyb3cgbmV3IEVycm9yKCJObyBjYWxsYmFjayBwcm92aWRlZCB0byBwYmtkZjIiKTtCPWZ1bmN0aW9uKEIpe2lmKGouZy5wcm9jZXNzJiYhai5nLnByb2Nlc3MuYnJvd3Nlcnx8IXd8fCF3LmltcG9ydEtleXx8IXcuZGVyaXZlQml0cylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCEx''@;'; put 'put ''KTtpZih2b2lkIDAhPT1NW0JdKXJldHVybiBNW0JdO3ZhciBxPU8oTj1OfHxDLmFsbG9jKDgpLE4sMTAsMTI4LEIpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtyZXR1cm4gTVtCXT1xLHF9KFIpLnRoZW4oZnVuY3Rpb24oQil7cmV0dXJu''@;'; put 'put ''IEI/TyhMLFQsWSxJLFIpOkYoTCxULFksSSxVKX0pLHE9VixCLnRoZW4oZnVuY3Rpb24oSil7aygpKGZ1bmN0aW9uKCl7cShudWxsLEopfSl9LGZ1bmN0aW9uKEope2soKShmdW5jdGlvbigpe3EoSil9KX0pfWVsc2UgaygpKGZ1bmN0aW9uKCl7dmFyIEI7dHJ5e0I9RihMLFQsWSxJLFUpfWNh''@;'; put 'put ''dGNoKHEpe3JldHVybiBWKHEpfVYobnVsbCxCKX0pfX0sMjM2ODooWixBLGopPT57dmFyIE4sej1qKDQxNTUpO049ai5nLnByb2Nlc3MmJmouZy5wcm9jZXNzLmJyb3dzZXI/InV0Zi04IjpqLmcucHJvY2VzcyYmai5nLnByb2Nlc3MudmVyc2lvbj9wYXJzZUludCh6LnZlcnNpb24uc3BsaXQo''@;'; put 'put ''Ii4iKVswXS5zbGljZSgxKSwxMCk+PTY/InV0Zi04IjoiYmluYXJ5IjoidXRmLTgiLFouZXhwb3J0cz1OfSw3MzU3Olo9Pnt2YXIgQT1NYXRoLnBvdygyLDMwKS0xO1ouZXhwb3J0cz1mdW5jdGlvbihqLE4pe2lmKCJudW1iZXIiIT10eXBlb2Ygail0aHJvdyBuZXcgVHlwZUVycm9yKCJJdGVy''@;'; put 'put ''YXRpb25zIG5vdCBhIG51bWJlciIpO2lmKGo8MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJCYWQgaXRlcmF0aW9ucyIpO2lmKCJudW1iZXIiIT10eXBlb2YgTil0aHJvdyBuZXcgVHlwZUVycm9yKCJLZXkgbGVuZ3RoIG5vdCBhIG51bWJlciIpO2lmKE48MHx8Tj5BfHxOIT1OKXRocm93IG5ldyBU''@;'; put 'put ''eXBlRXJyb3IoIkJhZCBrZXkgbGVuZ3RoIil9fSwxMjU3OihaLEEsaik9Pnt2YXIgTj1qKDgwMjgpLHo9aig5Nzg1KSxDPWooOTA3MiksUz1qKDk1MDkpLkJ1ZmZlcixtPWooNzM1NyksRj1qKDIzNjgpLEQ9aig3Nzc3KSx3PVMuYWxsb2MoMTI4KSxQPXttZDU6MTYsc2hhMToyMCxzaGEyMjQ6''@;'; put 'put ''Mjgsc2hhMjU2OjMyLHNoYTM4NDo0OCxzaGE1MTI6NjQscm1kMTYwOjIwLHJpcGVtZDE2MDoyMH07ZnVuY3Rpb24gTShrLE8sTCl7dmFyIEIsVD0icm1kMTYwIj09PShCPWspfHwicmlwZW1kMTYwIj09PUI/ZnVuY3Rpb24gSigkKXtyZXR1cm4obmV3IHopLnVwZGF0ZSgkKS5kaWdlc3QoKX06''@;'; put 'put ''Im1kNSI9PT1CP046ZnVuY3Rpb24gcSgkKXtyZXR1cm4gQyhCKS51cGRhdGUoJCkuZGlnZXN0KCl9LFk9InNoYTUxMiI9PT1rfHwic2hhMzg0Ij09PWs/MTI4OjY0O08ubGVuZ3RoPlk/Tz1UKE8pOk8ubGVuZ3RoPFkmJihPPVMuY29uY2F0KFtPLHddLFkpKTtmb3IodmFyIEk9Uy5hbGxvY1Vu''@;'; put 'put ''c2FmZShZK1Bba10pLFU9Uy5hbGxvY1Vuc2FmZShZK1Bba10pLFY9MDtWPFk7VisrKUlbVl09NTReT1tWXSxVW1ZdPTkyXk9bVl07dmFyIFI9Uy5hbGxvY1Vuc2FmZShZK0wrNCk7SS5jb3B5KFIsMCwwLFkpLHRoaXMuaXBhZDE9Uix0aGlzLmlwYWQyPUksdGhpcy5vcGFkPVUsdGhpcy5hbGc9''@;'; put 'put ''ayx0aGlzLmJsb2Nrc2l6ZT1ZLHRoaXMuaGFzaD1ULHRoaXMuc2l6ZT1QW2tdfU0ucHJvdG90eXBlLnJ1bj1mdW5jdGlvbihrLE8pe3JldHVybiBrLmNvcHkoTyx0aGlzLmJsb2Nrc2l6ZSksdGhpcy5oYXNoKE8pLmNvcHkodGhpcy5vcGFkLHRoaXMuYmxvY2tzaXplKSx0aGlzLmhhc2godGhp''@;'; put 'put ''cy5vcGFkKX0sWi5leHBvcnRzPWZ1bmN0aW9uKGssTyxMLFQsWSl7bShMLFQpO3ZhciBJPW5ldyBNKFk9WXx8InNoYTEiLGs9RChrLEYsIlBhc3N3b3JkIiksKE89RChPLEYsIlNhbHQiKSkubGVuZ3RoKSxVPVMuYWxsb2NVbnNhZmUoVCksVj1TLmFsbG9jVW5zYWZlKE8ubGVuZ3RoKzQpO08u''@;'; put 'put ''Y29weShWLDAsMCxPLmxlbmd0aCk7Zm9yKHZhciBSPTAsQj1QW1ldLHE9TWF0aC5jZWlsKFQvQiksSj0xO0o8PXE7SisrKXtWLndyaXRlVUludDMyQkUoSixPLmxlbmd0aCk7Zm9yKHZhciAkPUkucnVuKFYsSS5pcGFkMSksdGU9JCxoPTE7aDxMO2grKyl7dGU9SS5ydW4odGUsSS5pcGFkMik7''@;'; put 'put ''Zm9yKHZhciBiPTA7YjxCO2IrKykkW2JdXj10ZVtiXX0kLmNvcHkoVSxSKSxSKz1CfXJldHVybiBVfX0sNzc3NzooWixBLGopPT57dmFyIE49aig5NTA5KS5CdWZmZXI7Wi5leHBvcnRzPWZ1bmN0aW9uKHosQyxTKXtpZihOLmlzQnVmZmVyKHopKXJldHVybiB6O2lmKCJzdHJpbmciPT10eXBl''@;'; put 'put ''b2YgeilyZXR1cm4gTi5mcm9tKHosQyk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHopKXJldHVybiBOLmZyb20oei5idWZmZXIpO3Rocm93IG5ldyBUeXBlRXJyb3IoUysiIG11c3QgYmUgYSBzdHJpbmcsIGEgQnVmZmVyLCBhIHR5cGVkIGFycmF5IG9yIGEgRGF0YVZpZXciKX19LDQxNTU6Wj0+''@;'; put 'put ''e3ZhciBBLGosTj1aLmV4cG9ydHM9e307ZnVuY3Rpb24geigpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIEMoKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIFMo''@;'; put 'put ''TCl7aWYoQT09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQoTCwwKTtpZigoQT09PXp8fCFBKSYmc2V0VGltZW91dClyZXR1cm4gQT1zZXRUaW1lb3V0LHNldFRpbWVvdXQoTCwwKTt0cnl7cmV0dXJuIEEoTCwwKX1jYXRjaChUKXt0cnl7cmV0dXJuIEEuY2FsbChudWxsLEwsMCl9Y2F0''@;'; put 'put ''Y2goWSl7cmV0dXJuIEEuY2FsbCh0aGlzLEwsMCl9fX0hZnVuY3Rpb24oKXt0cnl7QT0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Onp9Y2F0Y2goTCl7QT16fXRyeXtqPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OkN9Y2F0Y2go''@;'; put 'put ''TCl7aj1DfX0oKTt2YXIgbSxGPVtdLEQ9ITEsdz0tMTtmdW5jdGlvbiBQKCl7RCYmbSYmKEQ9ITEsbS5sZW5ndGg/Rj1tLmNvbmNhdChGKTp3PS0xLEYubGVuZ3RoJiZNKCkpfWZ1bmN0aW9uIE0oKXtpZighRCl7dmFyIEw9UyhQKTtEPSEwO2Zvcih2YXIgVD1GLmxlbmd0aDtUOyl7Zm9yKG09''@;'; put 'put ''RixGPVtdOysrdzxUOyltJiZtW3ddLnJ1bigpO3c9LTEsVD1GLmxlbmd0aH1tPW51bGwsRD0hMSxmdW5jdGlvbihZKXtpZihqPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoWSk7aWYoKGo9PT1DfHwhaikmJmNsZWFyVGltZW91dClyZXR1cm4gaj1jbGVhclRpbWVvdXQsY2xl''@;'; put 'put ''YXJUaW1lb3V0KFkpO3RyeXtqKFkpfWNhdGNoKEkpe3RyeXtyZXR1cm4gai5jYWxsKG51bGwsWSl9Y2F0Y2goVSl7cmV0dXJuIGouY2FsbCh0aGlzLFkpfX19KEwpfX1mdW5jdGlvbiBrKEwsVCl7dGhpcy5mdW49TCx0aGlzLmFycmF5PVR9ZnVuY3Rpb24gTygpe31OLm5leHRUaWNrPWZ1bmN0''@;'; put 'put ''aW9uKEwpe3ZhciBUPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIFk9MTtZPGFyZ3VtZW50cy5sZW5ndGg7WSsrKVRbWS0xXT1hcmd1bWVudHNbWV07Ri5wdXNoKG5ldyBrKEwsVCkpLDEhPT1GLmxlbmd0aHx8RHx8UyhNKX0say5w''@;'; put 'put ''cm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0sTi50aXRsZT0iYnJvd3NlciIsTi5icm93c2VyPSEwLE4uZW52PXt9LE4uYXJndj1bXSxOLnZlcnNpb249IiIsTi52ZXJzaW9ucz17fSxOLm9uPU8sTi5hZGRMaXN0ZW5lcj1PLE4ub25jZT1P''@;'; put 'put ''LE4ub2ZmPU8sTi5yZW1vdmVMaXN0ZW5lcj1PLE4ucmVtb3ZlQWxsTGlzdGVuZXJzPU8sTi5lbWl0PU8sTi5wcmVwZW5kTGlzdGVuZXI9TyxOLnByZXBlbmRPbmNlTGlzdGVuZXI9TyxOLmxpc3RlbmVycz1mdW5jdGlvbihMKXtyZXR1cm5bXX0sTi5iaW5kaW5nPWZ1bmN0aW9uKEwpe3Rocm93''@;'; put 'put ''IG5ldyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0sTi5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LE4uY2hkaXI9ZnVuY3Rpb24oTCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sTi51bWFzaz1mdW5jdGlvbigp''@;'; put 'put ''e3JldHVybiAwfX0sNjI0NDooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooMzY4OSksej17fTt6LnJ1bGVzPWooMzcwNCkubWFwKGZ1bmN0aW9uKEMpe3JldHVybntydWxlOkMsc3VmZml4OkMucmVwbGFjZSgvXihcKlwufFwhKS8sIiIpLHB1bnlTdWZmaXg6LTEsd2lsZGNhcmQ6Iioi''@;'; put 'put ''PT09Qy5jaGFyQXQoMCksZXhjZXB0aW9uOiIhIj09PUMuY2hhckF0KDApfX0pLHouZW5kc1dpdGg9ZnVuY3Rpb24oQyxTKXtyZXR1cm4tMSE9PUMuaW5kZXhPZihTLEMubGVuZ3RoLVMubGVuZ3RoKX0sei5maW5kUnVsZT1mdW5jdGlvbihDKXt2YXIgUz1OLnRvQVNDSUkoQyk7cmV0dXJuIHou''@;'; put 'put ''cnVsZXMucmVkdWNlKGZ1bmN0aW9uKG0sRil7cmV0dXJuLTE9PT1GLnB1bnlTdWZmaXgmJihGLnB1bnlTdWZmaXg9Ti50b0FTQ0lJKEYuc3VmZml4KSksei5lbmRzV2l0aChTLCIuIitGLnB1bnlTdWZmaXgpfHxTPT09Ri5wdW55U3VmZml4P0Y6bX0sbnVsbCl9LEEuZXJyb3JDb2Rlcz17RE9N''@;'; put 'put ''QUlOX1RPT19TSE9SVDoiRG9tYWluIG5hbWUgdG9vIHNob3J0LiIsRE9NQUlOX1RPT19MT05HOiJEb21haW4gbmFtZSB0b28gbG9uZy4gSXQgc2hvdWxkIGJlIG5vIG1vcmUgdGhhbiAyNTUgY2hhcnMuIixMQUJFTF9TVEFSVFNfV0lUSF9EQVNIOiJEb21haW4gbmFtZSBsYWJlbCBjYW4gbm90''@;'; put 'put ''IHN0YXJ0IHdpdGggYSBkYXNoLiIsTEFCRUxfRU5EU19XSVRIX0RBU0g6IkRvbWFpbiBuYW1lIGxhYmVsIGNhbiBub3QgZW5kIHdpdGggYSBkYXNoLiIsTEFCRUxfVE9PX0xPTkc6IkRvbWFpbiBuYW1lIGxhYmVsIHNob3VsZCBiZSBhdCBtb3N0IDYzIGNoYXJzIGxvbmcuIixMQUJFTF9UT09f''@;'; put 'put ''U0hPUlQ6IkRvbWFpbiBuYW1lIGxhYmVsIHNob3VsZCBiZSBhdCBsZWFzdCAxIGNoYXJhY3RlciBsb25nLiIsTEFCRUxfSU5WQUxJRF9DSEFSUzoiRG9tYWluIG5hbWUgbGFiZWwgY2FuIG9ubHkgY29udGFpbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBvciBkYXNoZXMuIn0sei52YWxpZGF0''@;'; put 'put ''ZT1mdW5jdGlvbihDKXt2YXIgUz1OLnRvQVNDSUkoQyk7aWYoUy5sZW5ndGg8MSlyZXR1cm4iRE9NQUlOX1RPT19TSE9SVCI7aWYoUy5sZW5ndGg+MjU1KXJldHVybiJET01BSU5fVE9PX0xPTkciO2Zvcih2YXIgbSxGPVMuc3BsaXQoIi4iKSxEPTA7RDxGLmxlbmd0aDsrK0Qpe2lmKCEobT1G''@;'; put 'put ''W0RdKS5sZW5ndGgpcmV0dXJuIkxBQkVMX1RPT19TSE9SVCI7aWYobS5sZW5ndGg+NjMpcmV0dXJuIkxBQkVMX1RPT19MT05HIjtpZigiLSI9PT1tLmNoYXJBdCgwKSlyZXR1cm4iTEFCRUxfU1RBUlRTX1dJVEhfREFTSCI7aWYoIi0iPT09bS5jaGFyQXQobS5sZW5ndGgtMSkpcmV0dXJuIkxB''@;'; put 'put ''QkVMX0VORFNfV0lUSF9EQVNIIjtpZighL15bYS16MC05XC1dKyQvLnRlc3QobSkpcmV0dXJuIkxBQkVMX0lOVkFMSURfQ0hBUlMifX0sQS5wYXJzZT1mdW5jdGlvbihDKXtpZigic3RyaW5nIiE9dHlwZW9mIEMpdGhyb3cgbmV3IFR5cGVFcnJvcigiRG9tYWluIG5hbWUgbXVzdCBiZSBhIHN0''@;'; put 'put ''cmluZy4iKTt2YXIgUz1DLnNsaWNlKDApLnRvTG93ZXJDYXNlKCk7Ii4iPT09Uy5jaGFyQXQoUy5sZW5ndGgtMSkmJihTPVMuc2xpY2UoMCxTLmxlbmd0aC0xKSk7dmFyIG09ei52YWxpZGF0ZShTKTtpZihtKXJldHVybntpbnB1dDpDLGVycm9yOnttZXNzYWdlOkEuZXJyb3JDb2Rlc1ttXSxj''@;'; put 'put ''b2RlOm19fTt2YXIgRj17aW5wdXQ6Qyx0bGQ6bnVsbCxzbGQ6bnVsbCxkb21haW46bnVsbCxzdWJkb21haW46bnVsbCxsaXN0ZWQ6ITF9LEQ9Uy5zcGxpdCgiLiIpO2lmKCJsb2NhbCI9PT1EW0QubGVuZ3RoLTFdKXJldHVybiBGO3ZhciB3PWZ1bmN0aW9uKCl7cmV0dXJuL3huLS0vLnRlc3Qo''@;'; put 'put ''UykmJihGLmRvbWFpbiYmKEYuZG9tYWluPU4udG9BU0NJSShGLmRvbWFpbikpLEYuc3ViZG9tYWluJiYoRi5zdWJkb21haW49Ti50b0FTQ0lJKEYuc3ViZG9tYWluKSkpLEZ9LFA9ei5maW5kUnVsZShTKTtpZighUClyZXR1cm4gRC5sZW5ndGg8Mj9GOihGLnRsZD1ELnBvcCgpLEYuc2xkPUQu''@;'; put 'put ''cG9wKCksRi5kb21haW49W0Yuc2xkLEYudGxkXS5qb2luKCIuIiksRC5sZW5ndGgmJihGLnN1YmRvbWFpbj1ELnBvcCgpKSx3KCkpO0YubGlzdGVkPSEwO3ZhciBNPVAuc3VmZml4LnNwbGl0KCIuIiksaz1ELnNsaWNlKDAsRC5sZW5ndGgtTS5sZW5ndGgpO3JldHVybiBQLmV4Y2VwdGlvbiYm''@;'; put 'put ''ay5wdXNoKE0uc2hpZnQoKSksRi50bGQ9TS5qb2luKCIuIiksay5sZW5ndGg/KFAud2lsZGNhcmQmJihNLnVuc2hpZnQoay5wb3AoKSksRi50bGQ9TS5qb2luKCIuIikpLGsubGVuZ3RoJiYoRi5zbGQ9ay5wb3AoKSxGLmRvbWFpbj1bRi5zbGQsRi50bGRdLmpvaW4oIi4iKSxrLmxlbmd0aCYm''@;'; put 'put ''KEYuc3ViZG9tYWluPWsuam9pbigiLiIpKSksdygpKTp3KCl9LEEuZ2V0PWZ1bmN0aW9uKEMpe3JldHVybiBDJiZBLnBhcnNlKEMpLmRvbWFpbnx8bnVsbH0sQS5pc1ZhbGlkPWZ1bmN0aW9uKEMpe3ZhciBTPUEucGFyc2UoQyk7cmV0dXJuIEJvb2xlYW4oUy5kb21haW4mJlMubGlzdGVkKX19''@;'; put 'put ''LDc5MDA6KFosQSxqKT0+e0EucHVibGljRW5jcnlwdD1qKDY1NTkpLEEucHJpdmF0ZURlY3J5cHQ9aig2MTM4KSxBLnByaXZhdGVFbmNyeXB0PWZ1bmN0aW9uKE4seil7cmV0dXJuIEEucHVibGljRW5jcnlwdChOLHosITApfSxBLnB1YmxpY0RlY3J5cHQ9ZnVuY3Rpb24oTix6KXtyZXR1cm4g''@;'; put 'put ''QS5wcml2YXRlRGVjcnlwdChOLHosITApfX0sOTE5OTooWixBLGopPT57dmFyIE49aigzNDgyKSx6PWooOTUwOSkuQnVmZmVyO2Z1bmN0aW9uIEMoUyl7dmFyIG09ei5hbGxvY1Vuc2FmZSg0KTtyZXR1cm4gbS53cml0ZVVJbnQzMkJFKFMsMCksbX1aLmV4cG9ydHM9ZnVuY3Rpb24oUyxtKXtm''@;'; put 'put ''b3IodmFyIEYsRD16LmFsbG9jKDApLHc9MDtELmxlbmd0aDxtOylGPUModysrKSxEPXouY29uY2F0KFtELE4oInNoYTEiKS51cGRhdGUoUykudXBkYXRlKEYpLmRpZ2VzdCgpXSk7cmV0dXJuIEQuc2xpY2UoMCxtKX19LDIxNDQ6ZnVuY3Rpb24oWixBLGopeyFmdW5jdGlvbihOLHopeyJ1c2Ug''@;'; put 'put ''c3RyaWN0IjtmdW5jdGlvbiBDKGgsYil7aWYoIWgpdGhyb3cgbmV3IEVycm9yKGJ8fCJBc3NlcnRpb24gZmFpbGVkIil9ZnVuY3Rpb24gUyhoLGIpe2guc3VwZXJfPWI7dmFyIHk9ZnVuY3Rpb24oKXt9O3kucHJvdG90eXBlPWIucHJvdG90eXBlLGgucHJvdG90eXBlPW5ldyB5LGgucHJvdG90''@;'; put 'put ''eXBlLmNvbnN0cnVjdG9yPWh9ZnVuY3Rpb24gbShoLGIseSl7aWYobS5pc0JOKGgpKXJldHVybiBoO3RoaXMubmVnYXRpdmU9MCx0aGlzLndvcmRzPW51bGwsdGhpcy5sZW5ndGg9MCx0aGlzLnJlZD1udWxsLG51bGwhPT1oJiYoImxlIiE9PWImJiJiZSIhPT1ifHwoeT1iLGI9MTApLHRoaXMu''@;'; put 'put ''X2luaXQoaHx8MCxifHwxMCx5fHwiYmUiKSl9dmFyIEY7Im9iamVjdCI9PXR5cGVvZiBOP04uZXhwb3J0cz1tOnouQk49bSxtLkJOPW0sbS53b3JkU2l6ZT0yNjt0cnl7Rj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LkJ1ZmZlcj93aW5kb3cuQnVmZmVyOmoo''@;'; put 'put ''NzEwOCkuQnVmZmVyfWNhdGNoKGgpe31mdW5jdGlvbiBEKGgsYil7dmFyIHk9aC5jaGFyQ29kZUF0KGIpO3JldHVybiB5Pj02NSYmeTw9NzA/eS01NTp5Pj05NyYmeTw9MTAyP3ktODc6eS00OCYxNX1mdW5jdGlvbiB3KGgsYix5KXt2YXIgcD1EKGgseSk7cmV0dXJuIHktMT49YiYmKHB8PUQo''@;'; put 'put ''aCx5LTEpPDw0KSxwfWZ1bmN0aW9uIFAoaCxiLHkscCl7Zm9yKHZhciBnPTAsXz1NYXRoLm1pbihoLmxlbmd0aCx5KSxFPWI7RTxfO0UrKyl7dmFyIFc9aC5jaGFyQ29kZUF0KEUpLTQ4O2cqPXAsZys9Vz49NDk/Vy00OSsxMDpXPj0xNz9XLTE3KzEwOld9cmV0dXJuIGd9bS5pc0JOPWZ1bmN0''@;'; put 'put ''aW9uKGgpe3JldHVybiBoIGluc3RhbmNlb2YgbXx8bnVsbCE9PWgmJiJvYmplY3QiPT10eXBlb2YgaCYmaC5jb25zdHJ1Y3Rvci53b3JkU2l6ZT09PW0ud29yZFNpemUmJkFycmF5LmlzQXJyYXkoaC53b3Jkcyl9LG0ubWF4PWZ1bmN0aW9uKGgsYil7cmV0dXJuIGguY21wKGIpPjA/aDpifSxt''@;'; put 'put ''Lm1pbj1mdW5jdGlvbihoLGIpe3JldHVybiBoLmNtcChiKTwwP2g6Yn0sbS5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24oaCxiLHkpe2lmKCJudW1iZXIiPT10eXBlb2YgaClyZXR1cm4gdGhpcy5faW5pdE51bWJlcihoLGIseSk7aWYoIm9iamVjdCI9PXR5cGVvZiBoKXJldHVybiB0aGlzLl9p''@;'; put 'put ''bml0QXJyYXkoaCxiLHkpOyJoZXgiPT09YiYmKGI9MTYpLEMoYj09PSgwfGIpJiZiPj0yJiZiPD0zNik7dmFyIHA9MDsiLSI9PT0oaD1oLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmKHArKyx0aGlzLm5lZ2F0aXZlPTEpLHA8aC5sZW5ndGgmJigxNj09PWI/dGhpcy5fcGFy''@;'; put 'put ''c2VIZXgoaCxwLHkpOih0aGlzLl9wYXJzZUJhc2UoaCxiLHApLCJsZSI9PT15JiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksYix5KSkpfSxtLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbihoLGIseSl7aDwwJiYodGhpcy5uZWdhdGl2ZT0xLGg9LWgpLGg8NjcxMDg4NjQ/''@;'; put 'put ''KHRoaXMud29yZHM9WzY3MTA4ODYzJmhdLHRoaXMubGVuZ3RoPTEpOmg8NDUwMzU5OTYyNzM3MDQ5Nj8odGhpcy53b3Jkcz1bNjcxMDg4NjMmaCxoLzY3MTA4ODY0JjY3MTA4ODYzXSx0aGlzLmxlbmd0aD0yKTooQyhoPDkwMDcxOTkyNTQ3NDA5OTIpLHRoaXMud29yZHM9WzY3MTA4ODYzJmgs''@;'; put 'put ''aC82NzEwODg2NCY2NzEwODg2MywxXSx0aGlzLmxlbmd0aD0zKSwibGUiPT09eSYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGIseSl9LG0ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24oaCxiLHkpe2lmKEMoIm51bWJlciI9PXR5cGVvZiBoLmxlbmd0aCksaC5sZW5ndGg8''@;'; put 'put ''PTApcmV0dXJuIHRoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTEsdGhpczt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoaC5sZW5ndGgvMyksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgcD0wO3A8dGhpcy5sZW5ndGg7cCsrKXRoaXMud29yZHNbcF09MDt2YXIgZyxf''@;'; put 'put ''LEU9MDtpZigiYmUiPT09eSlmb3IocD1oLmxlbmd0aC0xLGc9MDtwPj0wO3AtPTMpdGhpcy53b3Jkc1tnXXw9KF89aFtwXXxoW3AtMV08PDh8aFtwLTJdPDwxNik8PEUmNjcxMDg4NjMsdGhpcy53b3Jkc1tnKzFdPV8+Pj4yNi1FJjY3MTA4ODYzLChFKz0yNCk+PTI2JiYoRS09MjYsZysrKTtl''@;'; put 'put ''bHNlIGlmKCJsZSI9PT15KWZvcihwPTAsZz0wO3A8aC5sZW5ndGg7cCs9Myl0aGlzLndvcmRzW2ddfD0oXz1oW3BdfGhbcCsxXTw8OHxoW3ArMl08PDE2KTw8RSY2NzEwODg2Myx0aGlzLndvcmRzW2crMV09Xz4+PjI2LUUmNjcxMDg4NjMsKEUrPTI0KT49MjYmJihFLT0yNixnKyspO3JldHVy''@;'; put 'put ''biB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbihoLGIseSl7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKChoLmxlbmd0aC1iKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBwPTA7cDx0aGlzLmxlbmd0aDtwKyspdGhpcy53b3Jk''@;'; put 'put ''c1twXT0wO3ZhciBnLF89MCxFPTA7aWYoImJlIj09PXkpZm9yKHA9aC5sZW5ndGgtMTtwPj1iO3AtPTIpZz13KGgsYixwKTw8Xyx0aGlzLndvcmRzW0VdfD02NzEwODg2MyZnLF8+PTE4PyhfLT0xOCx0aGlzLndvcmRzW0UrPTFdfD1nPj4+MjYpOl8rPTg7ZWxzZSBmb3IocD0oaC5sZW5ndGgt''@;'; put 'put ''YiklMj09MD9iKzE6YjtwPGgubGVuZ3RoO3ArPTIpZz13KGgsYixwKTw8Xyx0aGlzLndvcmRzW0VdfD02NzEwODg2MyZnLF8+PTE4PyhfLT0xOCx0aGlzLndvcmRzW0UrPTFdfD1nPj4+MjYpOl8rPTg7dGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uKGgsYix5''@;'; put 'put ''KXt0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xO2Zvcih2YXIgcD0wLGc9MTtnPD02NzEwODg2MztnKj1iKXArKztwLS0sZz1nL2J8MDtmb3IodmFyIF89aC5sZW5ndGgteSxFPV8lcCxXPU1hdGgubWluKF8sXy1FKSt5LEc9MCxYPXk7WDxXO1grPXApRz1QKGgsWCxYK3AsYiksdGhpcy5p''@;'; put 'put ''bXVsbihnKSx0aGlzLndvcmRzWzBdK0c8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Rzp0aGlzLl9pYWRkbihHKTtpZigwIT09RSl7dmFyIG5lPTE7Zm9yKEc9UChoLFgsaC5sZW5ndGgsYiksWD0wO1g8RTtYKyspbmUqPWI7dGhpcy5pbXVsbihuZSksdGhpcy53b3Jkc1swXStHPDY3MTA4ODY0''@;'; put 'put ''P3RoaXMud29yZHNbMF0rPUc6dGhpcy5faWFkZG4oRyl9dGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGgpe2gud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGI9MDtiPHRoaXMubGVuZ3RoO2IrKyloLndvcmRzW2JdPXRoaXMud29yZHNbYl07aC5s''@;'; put 'put ''ZW5ndGg9dGhpcy5sZW5ndGgsaC5uZWdhdGl2ZT10aGlzLm5lZ2F0aXZlLGgucmVkPXRoaXMucmVkfSxtLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBoPW5ldyBtKG51bGwpO3JldHVybiB0aGlzLmNvcHkoaCksaH0sbS5wcm90b3R5cGUuX2V4cGFuZD1mdW5jdGlvbihoKXtmb3Io''@;'; put 'put ''O3RoaXMubGVuZ3RoPGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuc3RyaXA9ZnVuY3Rpb24oKXtmb3IoO3RoaXMubGVuZ3RoPjEmJjA9PT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdOyl0aGlzLmxlbmd0aC0tO3JldHVybiB0aGlzLl9u''@;'; put 'put ''b3JtU2lnbigpfSxtLnByb3RvdHlwZS5fbm9ybVNpZ249ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXSYmKHRoaXMubmVnYXRpdmU9MCksdGhpc30sbS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybih0aGlzLnJlZD8iPEJOLVI6''@;'; put 'put ''ICI6IjxCTjogIikrdGhpcy50b1N0cmluZygxNikrIj4ifTt2YXIgTT1bIiIsIjAiLCIwMCIsIjAwMCIsIjAwMDAiLCIwMDAwMCIsIjAwMDAwMCIsIjAwMDAwMDAiLCIwMDAwMDAwMCIsIjAwMDAwMDAwMCIsIjAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMCIsIjAwMDAw''@;'; put 'put ''MDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAw''@;'; put 'put ''MDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiXSxrPVswLDAsMjUsMTYsMTIsMTEsMTAsOSw4LDgsNyw3LDcsNyw2LDYsNiw2LDYsNiw2''@;'; put 'put ''LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDVdLE89WzAsMCwzMzU1NDQzMiw0MzA0NjcyMSwxNjc3NzIxNiw0ODgyODEyNSw2MDQ2NjE3Niw0MDM1MzYwNywxNjc3NzIxNiw0MzA0NjcyMSwxZTcsMTk0ODcxNzEsMzU4MzE4MDgsNjI3NDg1MTcsNzUyOTUzNiwxMTM5MDYyNSwxNjc3''@;'; put 'put ''NzIxNiwyNDEzNzU2OSwzNDAxMjIyNCw0NzA0NTg4MSw2NGU2LDQwODQxMDEsNTE1MzYzMiw2NDM2MzQzLDc5NjI2MjQsOTc2NTYyNSwxMTg4MTM3NiwxNDM0ODkwNywxNzIxMDM2OCwyMDUxMTE0OSwyNDNlNSwyODYyOTE1MSwzMzU1NDQzMiwzOTEzNTM5Myw0NTQzNTQyNCw1MjUyMTg3NSw2''@;'; put 'put ''MDQ2NjE3Nl07ZnVuY3Rpb24gTChoLGIseSl7eS5uZWdhdGl2ZT1iLm5lZ2F0aXZlXmgubmVnYXRpdmU7dmFyIHA9aC5sZW5ndGgrYi5sZW5ndGh8MDt5Lmxlbmd0aD1wLHA9cC0xfDA7dmFyIGc9MHxoLndvcmRzWzBdLF89MHxiLndvcmRzWzBdLEU9ZypfLEc9RS82NzEwODg2NHwwO3kud29y''@;'; put 'put ''ZHNbMF09NjcxMDg4NjMmRTtmb3IodmFyIFg9MTtYPHA7WCsrKXtmb3IodmFyIG5lPUc+Pj4yNixhZT02NzEwODg2MyZHLHVlPU1hdGgubWluKFgsYi5sZW5ndGgtMSksYmU9TWF0aC5tYXgoMCxYLWgubGVuZ3RoKzEpO2JlPD11ZTtiZSsrKW5lKz0oRT0oZz0wfGgud29yZHNbWC1iZXwwXSkq''@;'; put 'put ''KF89MHxiLndvcmRzW2JlXSkrYWUpLzY3MTA4ODY0fDAsYWU9NjcxMDg4NjMmRTt5LndvcmRzW1hdPTB8YWUsRz0wfG5lfXJldHVybiAwIT09Rz95LndvcmRzW1hdPTB8Rzp5Lmxlbmd0aC0tLHkuc3RyaXAoKX1tLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihoLGIpe3ZhciB5O2lmKGI9''@;'; put 'put ''MHxifHwxLDE2PT09KGg9aHx8MTApfHwiaGV4Ij09PWgpe3k9IiI7Zm9yKHZhciBwPTAsZz0wLF89MDtfPHRoaXMubGVuZ3RoO18rKyl7dmFyIEU9dGhpcy53b3Jkc1tfXSxXPSgxNjc3NzIxNSYoRTw8cHxnKSkudG9TdHJpbmcoMTYpO3k9MCE9KGc9RT4+PjI0LXAmMTY3NzcyMTUpfHxfIT09''@;'; put 'put ''dGhpcy5sZW5ndGgtMT9NWzYtVy5sZW5ndGhdK1creTpXK3ksKHArPTIpPj0yNiYmKHAtPTI2LF8tLSl9Zm9yKDAhPT1nJiYoeT1nLnRvU3RyaW5nKDE2KSt5KTt5Lmxlbmd0aCViIT0wOyl5PSIwIit5O3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHk9Ii0iK3kpLHl9aWYoaD09PSgwfGgp''@;'; put 'put ''JiZoPj0yJiZoPD0zNil7dmFyIEc9a1toXSxYPU9baF07eT0iIjt2YXIgbmU9dGhpcy5jbG9uZSgpO2ZvcihuZS5uZWdhdGl2ZT0wOyFuZS5pc1plcm8oKTspe3ZhciBhZT1uZS5tb2RuKFgpLnRvU3RyaW5nKGgpO3k9KG5lPW5lLmlkaXZuKFgpKS5pc1plcm8oKT9hZSt5Ok1bRy1hZS5sZW5n''@;'; put 'put ''dGhdK2FlK3l9Zm9yKHRoaXMuaXNaZXJvKCkmJih5PSIwIit5KTt5Lmxlbmd0aCViIT0wOyl5PSIwIit5O3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHk9Ii0iK3kpLHl9QyghMSwiQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNiIpfSxtLnByb3RvdHlwZS50b051bWJlcj1mdW5j''@;'; put 'put ''dGlvbigpe3ZhciBoPXRoaXMud29yZHNbMF07cmV0dXJuIDI9PT10aGlzLmxlbmd0aD9oKz02NzEwODg2NCp0aGlzLndvcmRzWzFdOjM9PT10aGlzLmxlbmd0aCYmMT09PXRoaXMud29yZHNbMl0/aCs9NDUwMzU5OTYyNzM3MDQ5Nis2NzEwODg2NCp0aGlzLndvcmRzWzFdOnRoaXMubGVuZ3Ro''@;'; put 'put ''PjImJkMoITEsIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cyIpLDAhPT10aGlzLm5lZ2F0aXZlPy1oOmh9LG0ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKDE2KX0sbS5wcm90b3R5cGUudG9CdWZmZXI9ZnVuY3Rpb24o''@;'; put 'put ''aCxiKXtyZXR1cm4gQyh2b2lkIDAhPT1GKSx0aGlzLnRvQXJyYXlMaWtlKEYsaCxiKX0sbS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihoLGIpe3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LGgsYil9LG0ucHJvdG90eXBlLnRvQXJyYXlMaWtlPWZ1bmN0aW9uKGgsYix5KXt2YXIg''@;'; put 'put ''cD10aGlzLmJ5dGVMZW5ndGgoKSxnPXl8fE1hdGgubWF4KDEscCk7QyhwPD1nLCJieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoIiksQyhnPjAsIlJlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCIpLHRoaXMuc3RyaXAoKTt2YXIgXyxFLFc9ImxlIj09PWIsRz1uZXcgaChn''@;'; put 'put ''KSxYPXRoaXMuY2xvbmUoKTtpZihXKXtmb3IoRT0wOyFYLmlzWmVybygpO0UrKylfPVguYW5kbG4oMjU1KSxYLml1c2hybig4KSxHW0VdPV87Zm9yKDtFPGc7RSsrKUdbRV09MH1lbHNle2ZvcihFPTA7RTxnLXA7RSsrKUdbRV09MDtmb3IoRT0wOyFYLmlzWmVybygpO0UrKylfPVguYW5kbG4o''@;'; put 'put ''MjU1KSxYLml1c2hybig4KSxHW2ctRS0xXT1ffXJldHVybiBHfSxtLnByb3RvdHlwZS5fY291bnRCaXRzPU1hdGguY2x6MzI/ZnVuY3Rpb24oaCl7cmV0dXJuIDMyLU1hdGguY2x6MzIoaCl9OmZ1bmN0aW9uKGgpe3ZhciBiPWgseT0wO3JldHVybiBiPj00MDk2JiYoeSs9MTMsYj4+Pj0xMyks''@;'; put 'put ''Yj49NjQmJih5Kz03LGI+Pj49NyksYj49OCYmKHkrPTQsYj4+Pj00KSxiPj0yJiYoeSs9MixiPj4+PTIpLHkrYn0sbS5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKGgpe2lmKDA9PT1oKXJldHVybiAyNjt2YXIgYj1oLHk9MDtyZXR1cm4gMD09KDgxOTEmYikmJih5Kz0xMyxiPj4+PTEz''@;'; put 'put ''KSwwPT0oMTI3JmIpJiYoeSs9NyxiPj4+PTcpLDA9PSgxNSZiKSYmKHkrPTQsYj4+Pj00KSwwPT0oMyZiKSYmKHkrPTIsYj4+Pj0yKSwwPT0oMSZiKSYmeSsrLHl9LG0ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciBiPXRoaXMuX2NvdW50Qml0cyh0aGlzLndvcmRzW3RoaXMu''@;'; put 'put ''bGVuZ3RoLTFdKTtyZXR1cm4gMjYqKHRoaXMubGVuZ3RoLTEpK2J9LG0ucHJvdG90eXBlLnplcm9CaXRzPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gMDtmb3IodmFyIGg9MCxiPTA7Yjx0aGlzLmxlbmd0aDtiKyspe3ZhciB5PXRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNb''@;'; put 'put ''Yl0pO2lmKGgrPXksMjYhPT15KWJyZWFrfXJldHVybiBofSxtLnByb3RvdHlwZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpLzgpfSxtLnByb3RvdHlwZS50b1R3b3M9ZnVuY3Rpb24oaCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlP3Ro''@;'; put 'put ''aXMuYWJzKCkuaW5vdG4oaCkuaWFkZG4oMSk6dGhpcy5jbG9uZSgpfSxtLnByb3RvdHlwZS5mcm9tVHdvcz1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy50ZXN0bihoLTEpP3RoaXMubm90bihoKS5pYWRkbigxKS5pbmVnKCk6dGhpcy5jbG9uZSgpfSxtLnByb3RvdHlwZS5pc05lZz1mdW5jdGlv''@;'; put 'put ''bigpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZX0sbS5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCl9LG0ucHJvdG90eXBlLmluZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1plcm8oKXx8KHRoaXMubmVnYXRpdmVePTEpLHRoaXN9LG0ucHJv''@;'; put 'put ''dG90eXBlLml1b3I9ZnVuY3Rpb24oaCl7Zm9yKDt0aGlzLmxlbmd0aDxoLmxlbmd0aDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO2Zvcih2YXIgYj0wO2I8aC5sZW5ndGg7YisrKXRoaXMud29yZHNbYl09dGhpcy53b3Jkc1tiXXxoLndvcmRzW2JdO3JldHVybiB0aGlzLnN0cmlwKCl9''@;'; put 'put ''LG0ucHJvdG90eXBlLmlvcj1mdW5jdGlvbihoKXtyZXR1cm4gQygwPT0odGhpcy5uZWdhdGl2ZXxoLm5lZ2F0aXZlKSksdGhpcy5pdW9yKGgpfSxtLnByb3RvdHlwZS5vcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlvcihoKTpoLmNsb25l''@;'; put 'put ''KCkuaW9yKHRoaXMpfSxtLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdW9yKGgpOmguY2xvbmUoKS5pdW9yKHRoaXMpfSxtLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbihoKXt2YXIgYjtiPXRoaXMubGVuZ3RoPmgu''@;'; put 'put ''bGVuZ3RoP2g6dGhpcztmb3IodmFyIHk9MDt5PGIubGVuZ3RoO3krKyl0aGlzLndvcmRzW3ldPXRoaXMud29yZHNbeV0maC53b3Jkc1t5XTtyZXR1cm4gdGhpcy5sZW5ndGg9Yi5sZW5ndGgsdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pYW5kPWZ1bmN0aW9uKGgpe3JldHVybiBDKDA9PSh0''@;'; put 'put ''aGlzLm5lZ2F0aXZlfGgubmVnYXRpdmUpKSx0aGlzLml1YW5kKGgpfSxtLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKGgpOmguY2xvbmUoKS5pYW5kKHRoaXMpfSxtLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9u''@;'; put 'put ''KGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQoaCk6aC5jbG9uZSgpLml1YW5kKHRoaXMpfSxtLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbihoKXt2YXIgYix5O3RoaXMubGVuZ3RoPmgubGVuZ3RoPyhiPXRoaXMseT1oKTooYj1oLHk9dGhpcyk7Zm9y''@;'; put 'put ''KHZhciBwPTA7cDx5Lmxlbmd0aDtwKyspdGhpcy53b3Jkc1twXT1iLndvcmRzW3BdXnkud29yZHNbcF07aWYodGhpcyE9PWIpZm9yKDtwPGIubGVuZ3RoO3ArKyl0aGlzLndvcmRzW3BdPWIud29yZHNbcF07cmV0dXJuIHRoaXMubGVuZ3RoPWIubGVuZ3RoLHRoaXMuc3RyaXAoKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuaXhvcj1mdW5jdGlvbihoKXtyZXR1cm4gQygwPT0odGhpcy5uZWdhdGl2ZXxoLm5lZ2F0aXZlKSksdGhpcy5pdXhvcihoKX0sbS5wcm90b3R5cGUueG9yPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmxlbmd0aD5oLmxlbmd0aD90aGlzLmNsb25lKCkuaXhvcihoKTpoLmNsb25lKCku''@;'; put 'put ''aXhvcih0aGlzKX0sbS5wcm90b3R5cGUudXhvcj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5sZW5ndGg+aC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1eG9yKGgpOmguY2xvbmUoKS5pdXhvcih0aGlzKX0sbS5wcm90b3R5cGUuaW5vdG49ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgm''@;'; put 'put ''Jmg+PTApO3ZhciBiPTB8TWF0aC5jZWlsKGgvMjYpLHk9aCUyNjt0aGlzLl9leHBhbmQoYikseT4wJiZiLS07Zm9yKHZhciBwPTA7cDxiO3ArKyl0aGlzLndvcmRzW3BdPTY3MTA4ODYzJn50aGlzLndvcmRzW3BdO3JldHVybiB5PjAmJih0aGlzLndvcmRzW3BdPX50aGlzLndvcmRzW3BdJjY3''@;'; put 'put ''MTA4ODYzPj4yNi15KSx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLm5vdG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bihoKX0sbS5wcm90b3R5cGUuc2V0bj1mdW5jdGlvbihoLGIpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgeT1oLzI2fDAscD1oJTI2''@;'; put 'put ''O3JldHVybiB0aGlzLl9leHBhbmQoeSsxKSx0aGlzLndvcmRzW3ldPWI/dGhpcy53b3Jkc1t5XXwxPDxwOnRoaXMud29yZHNbeV0mfigxPDxwKSx0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oaCl7dmFyIGIseSxwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09aC5u''@;'; put 'put ''ZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLGI9dGhpcy5pc3ViKGgpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWgubmVnYXRpdmUpcmV0dXJuIGgubmVnYXRpdmU9MCxiPXRoaXMuaXN1YihoKSxoLm5lZ2F0aXZlPTEs''@;'; put 'put ''Yi5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD5oLmxlbmd0aD8oeT10aGlzLHA9aCk6KHk9aCxwPXRoaXMpO2Zvcih2YXIgZz0wLF89MDtfPHAubGVuZ3RoO18rKyl0aGlzLndvcmRzW19dPTY3MTA4ODYzJihiPSgwfHkud29yZHNbX10pKygwfHAud29yZHNbX10pK2cpLGc9Yj4+PjI2O2Zvcig7''@;'; put 'put ''MCE9PWcmJl88eS5sZW5ndGg7XysrKXRoaXMud29yZHNbX109NjcxMDg4NjMmKGI9KDB8eS53b3Jkc1tfXSkrZyksZz1iPj4+MjY7aWYodGhpcy5sZW5ndGg9eS5sZW5ndGgsMCE9PWcpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09Zyx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYoeSE9PXRoaXMpZm9y''@;'; put 'put ''KDtfPHkubGVuZ3RoO18rKyl0aGlzLndvcmRzW19dPXkud29yZHNbX107cmV0dXJuIHRoaXN9LG0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihoKXt2YXIgYjtyZXR1cm4gMCE9PWgubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyhoLm5lZ2F0aXZlPTAsYj10aGlzLnN1YihoKSxoLm5lZ2F0''@;'; put 'put ''aXZlXj0xLGIpOjA9PT1oLm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLGI9aC5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLGIpOnRoaXMubGVuZ3RoPmgubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKGgpOmguY2xvbmUoKS5pYWRkKHRoaXMpfSxtLnByb3Rv''@;'; put 'put ''dHlwZS5pc3ViPWZ1bmN0aW9uKGgpe2lmKDAhPT1oLm5lZ2F0aXZlKXtoLm5lZ2F0aXZlPTA7dmFyIGI9dGhpcy5pYWRkKGgpO3JldHVybiBoLm5lZ2F0aXZlPTEsYi5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZChoKSx0''@;'; put 'put ''aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgeSxwLGc9dGhpcy5jbXAoaCk7aWYoMD09PWcpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2c+MD8oeT10aGlzLHA9aCk6KHk9aCxwPXRoaXMpO2Zvcih2YXIgXz0wLEU9''@;'; put 'put ''MDtFPHAubGVuZ3RoO0UrKylfPShiPSgwfHkud29yZHNbRV0pLSgwfHAud29yZHNbRV0pK18pPj4yNix0aGlzLndvcmRzW0VdPTY3MTA4ODYzJmI7Zm9yKDswIT09XyYmRTx5Lmxlbmd0aDtFKyspXz0oYj0oMHx5LndvcmRzW0VdKStfKT4+MjYsdGhpcy53b3Jkc1tFXT02NzEwODg2MyZiO2lm''@;'; put 'put ''KDA9PT1fJiZFPHkubGVuZ3RoJiZ5IT09dGhpcylmb3IoO0U8eS5sZW5ndGg7RSsrKXRoaXMud29yZHNbRV09eS53b3Jkc1tFXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsRSkseSE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKX0sbS5wcm90''@;'; put 'put ''b3R5cGUuc3ViPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1YihoKX07dmFyIFQ9ZnVuY3Rpb24oaCxiLHkpe3ZhciBwLGcsXyxFPWgud29yZHMsVz1iLndvcmRzLEc9eS53b3JkcyxYPTAsbmU9MHxFWzBdLGFlPTgxOTEmbmUsdWU9bmU+Pj4xMyxiZT0wfEVbMV0sX2U9ODE5''@;'; put 'put ''MSZiZSxsZT1iZT4+PjEzLGNlPTB8RVsyXSxwZT04MTkxJmNlLHdlPWNlPj4+MTMsVWU9MHxFWzNdLHhlPTgxOTEmVWUsRWU9VWU+Pj4xMyx3dD0wfEVbNF0sTmU9ODE5MSZ3dCxIZT13dD4+PjEzLFJlPTB8RVs1XSxPZT04MTkxJlJlLExlPVJlPj4+MTMsaWU9MHxFWzZdLHNlPTgxOTEmaWUs''@;'; put 'put ''ZGU9aWU+Pj4xMyxBZT0wfEVbN10sa2U9ODE5MSZBZSxTZT1BZT4+PjEzLCRlPTB8RVs4XSxWZT04MTkxJiRlLEdlPSRlPj4+MTMscXQ9MHxFWzldLEtlPTgxOTEmcXQsZXQ9cXQ+Pj4xMyxfbj0wfFdbMF0sYnQ9ODE5MSZfbixwdD1fbj4+PjEzLEd0PTB8V1sxXSxudD04MTkxJkd0LHl0PUd0''@;'; put 'put ''Pj4+MTMsU249MHxXWzJdLGd0PTgxOTEmU24sZHQ9U24+Pj4xMyxYdD0wfFdbM10sYXQ9ODE5MSZYdCxRZT1YdD4+PjEzLG1uPTB8V1s0XSxvdD04MTkxJm1uLHZ0PW1uPj4+MTMsdHI9MHxXWzVdLFplPTgxOTEmdHIsbXQ9dHI+Pj4xMyxVbj0wfFdbNl0sZnQ9ODE5MSZVbixsdD1Vbj4+PjEz''@;'; put 'put ''LFp0PTB8V1s3XSxYZT04MTkxJlp0LERlPVp0Pj4+MTMsdXQ9MHxXWzhdLHJ0PTgxOTEmdXQsaXQ9dXQ+Pj4xMyxibj0wfFdbOV0sV2U9ODE5MSZibixKZT1ibj4+PjEzO3kubmVnYXRpdmU9aC5uZWdhdGl2ZV5iLm5lZ2F0aXZlLHkubGVuZ3RoPTE5O3ZhciBNdD0oWCsocD1NYXRoLmltdWwo''@;'; put 'put ''YWUsYnQpKXwwKSsoKDgxOTEmKGc9KGc9TWF0aC5pbXVsKGFlLHB0KSkrTWF0aC5pbXVsKHVlLGJ0KXwwKSk8PDEzKXwwO1g9KChfPU1hdGguaW11bCh1ZSxwdCkpKyhnPj4+MTMpfDApKyhNdD4+PjI2KXwwLE10Jj02NzEwODg2MyxwPU1hdGguaW11bChfZSxidCksZz0oZz1NYXRoLmltdWwo''@;'; put 'put ''X2UscHQpKStNYXRoLmltdWwobGUsYnQpfDAsXz1NYXRoLmltdWwobGUscHQpO3ZhciBEdD0oWCsocD1wK01hdGguaW11bChhZSxudCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLHl0KXwwKStNYXRoLmltdWwodWUsbnQpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwo''@;'; put 'put ''dWUseXQpfDApKyhnPj4+MTMpfDApKyhEdD4+PjI2KXwwLER0Jj02NzEwODg2MyxwPU1hdGguaW11bChwZSxidCksZz0oZz1NYXRoLmltdWwocGUscHQpKStNYXRoLmltdWwod2UsYnQpfDAsXz1NYXRoLmltdWwod2UscHQpLHA9cCtNYXRoLmltdWwoX2UsbnQpfDAsZz0oZz1nK01hdGguaW11''@;'; put 'put ''bChfZSx5dCl8MCkrTWF0aC5pbXVsKGxlLG50KXwwLF89XytNYXRoLmltdWwobGUseXQpfDA7dmFyIEJ0PShYKyhwPXArTWF0aC5pbXVsKGFlLGd0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsZHQpfDApK01hdGguaW11bCh1ZSxndCl8MCkpPDwxMyl8MDtYPSgoXz1fK01h''@;'; put 'put ''dGguaW11bCh1ZSxkdCl8MCkrKGc+Pj4xMyl8MCkrKEJ0Pj4+MjYpfDAsQnQmPTY3MTA4ODYzLHA9TWF0aC5pbXVsKHhlLGJ0KSxnPShnPU1hdGguaW11bCh4ZSxwdCkpK01hdGguaW11bChFZSxidCl8MCxfPU1hdGguaW11bChFZSxwdCkscD1wK01hdGguaW11bChwZSxudCl8MCxnPShnPWcr''@;'; put 'put ''TWF0aC5pbXVsKHBlLHl0KXwwKStNYXRoLmltdWwod2UsbnQpfDAsXz1fK01hdGguaW11bCh3ZSx5dCl8MCxwPXArTWF0aC5pbXVsKF9lLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsZHQpfDApK01hdGguaW11bChsZSxndCl8MCxfPV8rTWF0aC5pbXVsKGxlLGR0KXwwO3ZhciBlbj0oWCso''@;'; put 'put ''cD1wK01hdGguaW11bChhZSxhdCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLFFlKXwwKStNYXRoLmltdWwodWUsYXQpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsUWUpfDApKyhnPj4+MTMpfDApKyhlbj4+PjI2KXwwLGVuJj02NzEwODg2MyxwPU1hdGguaW11''@;'; put 'put ''bChOZSxidCksZz0oZz1NYXRoLmltdWwoTmUscHQpKStNYXRoLmltdWwoSGUsYnQpfDAsXz1NYXRoLmltdWwoSGUscHQpLHA9cCtNYXRoLmltdWwoeGUsbnQpfDAsZz0oZz1nK01hdGguaW11bCh4ZSx5dCl8MCkrTWF0aC5pbXVsKEVlLG50KXwwLF89XytNYXRoLmltdWwoRWUseXQpfDAscD1w''@;'; put 'put ''K01hdGguaW11bChwZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLGR0KXwwKStNYXRoLmltdWwod2UsZ3QpfDAsXz1fK01hdGguaW11bCh3ZSxkdCl8MCxwPXArTWF0aC5pbXVsKF9lLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsUWUpfDApK01hdGguaW11bChsZSxhdCl8MCxfPV8rTWF0''@;'; put 'put ''aC5pbXVsKGxlLFFlKXwwO3ZhciBZdD0oWCsocD1wK01hdGguaW11bChhZSxvdCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLHZ0KXwwKStNYXRoLmltdWwodWUsb3QpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsdnQpfDApKyhnPj4+MTMpfDApKyhZdD4+PjI2''@;'; put 'put ''KXwwLFl0Jj02NzEwODg2MyxwPU1hdGguaW11bChPZSxidCksZz0oZz1NYXRoLmltdWwoT2UscHQpKStNYXRoLmltdWwoTGUsYnQpfDAsXz1NYXRoLmltdWwoTGUscHQpLHA9cCtNYXRoLmltdWwoTmUsbnQpfDAsZz0oZz1nK01hdGguaW11bChOZSx5dCl8MCkrTWF0aC5pbXVsKEhlLG50KXww''@;'; put 'put ''LF89XytNYXRoLmltdWwoSGUseXQpfDAscD1wK01hdGguaW11bCh4ZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLGR0KXwwKStNYXRoLmltdWwoRWUsZ3QpfDAsXz1fK01hdGguaW11bChFZSxkdCl8MCxwPXArTWF0aC5pbXVsKHBlLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsUWUpfDAp''@;'; put 'put ''K01hdGguaW11bCh3ZSxhdCl8MCxfPV8rTWF0aC5pbXVsKHdlLFFlKXwwLHA9cCtNYXRoLmltdWwoX2Usb3QpfDAsZz0oZz1nK01hdGguaW11bChfZSx2dCl8MCkrTWF0aC5pbXVsKGxlLG90KXwwLF89XytNYXRoLmltdWwobGUsdnQpfDA7dmFyIHJuPShYKyhwPXArTWF0aC5pbXVsKGFlLFpl''@;'; put 'put ''KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsbXQpfDApK01hdGguaW11bCh1ZSxaZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh1ZSxtdCl8MCkrKGc+Pj4xMyl8MCkrKHJuPj4+MjYpfDAscm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKHNlLGJ0KSxnPShnPU1hdGgu''@;'; put 'put ''aW11bChzZSxwdCkpK01hdGguaW11bChkZSxidCl8MCxfPU1hdGguaW11bChkZSxwdCkscD1wK01hdGguaW11bChPZSxudCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLHl0KXwwKStNYXRoLmltdWwoTGUsbnQpfDAsXz1fK01hdGguaW11bChMZSx5dCl8MCxwPXArTWF0aC5pbXVsKE5lLGd0KXww''@;'; put 'put ''LGc9KGc9ZytNYXRoLmltdWwoTmUsZHQpfDApK01hdGguaW11bChIZSxndCl8MCxfPV8rTWF0aC5pbXVsKEhlLGR0KXwwLHA9cCtNYXRoLmltdWwoeGUsYXQpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxRZSl8MCkrTWF0aC5pbXVsKEVlLGF0KXwwLF89XytNYXRoLmltdWwoRWUsUWUpfDAscD1w''@;'; put 'put ''K01hdGguaW11bChwZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLHZ0KXwwKStNYXRoLmltdWwod2Usb3QpfDAsXz1fK01hdGguaW11bCh3ZSx2dCl8MCxwPXArTWF0aC5pbXVsKF9lLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsbXQpfDApK01hdGguaW11bChsZSxaZSl8MCxfPV8rTWF0''@;'; put 'put ''aC5pbXVsKGxlLG10KXwwO3ZhciBhbj0oWCsocD1wK01hdGguaW11bChhZSxmdCl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLGx0KXwwKStNYXRoLmltdWwodWUsZnQpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsbHQpfDApKyhnPj4+MTMpfDApKyhhbj4+PjI2''@;'; put 'put ''KXwwLGFuJj02NzEwODg2MyxwPU1hdGguaW11bChrZSxidCksZz0oZz1NYXRoLmltdWwoa2UscHQpKStNYXRoLmltdWwoU2UsYnQpfDAsXz1NYXRoLmltdWwoU2UscHQpLHA9cCtNYXRoLmltdWwoc2UsbnQpfDAsZz0oZz1nK01hdGguaW11bChzZSx5dCl8MCkrTWF0aC5pbXVsKGRlLG50KXww''@;'; put 'put ''LF89XytNYXRoLmltdWwoZGUseXQpfDAscD1wK01hdGguaW11bChPZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLGR0KXwwKStNYXRoLmltdWwoTGUsZ3QpfDAsXz1fK01hdGguaW11bChMZSxkdCl8MCxwPXArTWF0aC5pbXVsKE5lLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsUWUpfDAp''@;'; put 'put ''K01hdGguaW11bChIZSxhdCl8MCxfPV8rTWF0aC5pbXVsKEhlLFFlKXwwLHA9cCtNYXRoLmltdWwoeGUsb3QpfDAsZz0oZz1nK01hdGguaW11bCh4ZSx2dCl8MCkrTWF0aC5pbXVsKEVlLG90KXwwLF89XytNYXRoLmltdWwoRWUsdnQpfDAscD1wK01hdGguaW11bChwZSxaZSl8MCxnPShnPWcr''@;'; put 'put ''TWF0aC5pbXVsKHBlLG10KXwwKStNYXRoLmltdWwod2UsWmUpfDAsXz1fK01hdGguaW11bCh3ZSxtdCl8MCxwPXArTWF0aC5pbXVsKF9lLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsbHQpfDApK01hdGguaW11bChsZSxmdCl8MCxfPV8rTWF0aC5pbXVsKGxlLGx0KXwwO3ZhciBsbj0oWCso''@;'; put 'put ''cD1wK01hdGguaW11bChhZSxYZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLERlKXwwKStNYXRoLmltdWwodWUsWGUpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwodWUsRGUpfDApKyhnPj4+MTMpfDApKyhsbj4+PjI2KXwwLGxuJj02NzEwODg2MyxwPU1hdGguaW11''@;'; put 'put ''bChWZSxidCksZz0oZz1NYXRoLmltdWwoVmUscHQpKStNYXRoLmltdWwoR2UsYnQpfDAsXz1NYXRoLmltdWwoR2UscHQpLHA9cCtNYXRoLmltdWwoa2UsbnQpfDAsZz0oZz1nK01hdGguaW11bChrZSx5dCl8MCkrTWF0aC5pbXVsKFNlLG50KXwwLF89XytNYXRoLmltdWwoU2UseXQpfDAscD1w''@;'; put 'put ''K01hdGguaW11bChzZSxndCl8MCxnPShnPWcrTWF0aC5pbXVsKHNlLGR0KXwwKStNYXRoLmltdWwoZGUsZ3QpfDAsXz1fK01hdGguaW11bChkZSxkdCl8MCxwPXArTWF0aC5pbXVsKE9lLGF0KXwwLGc9KGc9ZytNYXRoLmltdWwoT2UsUWUpfDApK01hdGguaW11bChMZSxhdCl8MCxfPV8rTWF0''@;'; put 'put ''aC5pbXVsKExlLFFlKXwwLHA9cCtNYXRoLmltdWwoTmUsb3QpfDAsZz0oZz1nK01hdGguaW11bChOZSx2dCl8MCkrTWF0aC5pbXVsKEhlLG90KXwwLF89XytNYXRoLmltdWwoSGUsdnQpfDAscD1wK01hdGguaW11bCh4ZSxaZSl8MCxnPShnPWcrTWF0aC5pbXVsKHhlLG10KXwwKStNYXRoLmlt''@;'; put 'put ''dWwoRWUsWmUpfDAsXz1fK01hdGguaW11bChFZSxtdCl8MCxwPXArTWF0aC5pbXVsKHBlLGZ0KXwwLGc9KGc9ZytNYXRoLmltdWwocGUsbHQpfDApK01hdGguaW11bCh3ZSxmdCl8MCxfPV8rTWF0aC5pbXVsKHdlLGx0KXwwLHA9cCtNYXRoLmltdWwoX2UsWGUpfDAsZz0oZz1nK01hdGguaW11''@;'; put 'put ''bChfZSxEZSl8MCkrTWF0aC5pbXVsKGxlLFhlKXwwLF89XytNYXRoLmltdWwobGUsRGUpfDA7dmFyIE1uPShYKyhwPXArTWF0aC5pbXVsKGFlLHJ0KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoYWUsaXQpfDApK01hdGguaW11bCh1ZSxydCl8MCkpPDwxMyl8MDtYPSgoXz1fK01h''@;'; put 'put ''dGguaW11bCh1ZSxpdCl8MCkrKGc+Pj4xMyl8MCkrKE1uPj4+MjYpfDAsTW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGJ0KSxnPShnPU1hdGguaW11bChLZSxwdCkpK01hdGguaW11bChldCxidCl8MCxfPU1hdGguaW11bChldCxwdCkscD1wK01hdGguaW11bChWZSxudCl8MCxnPShnPWcr''@;'; put 'put ''TWF0aC5pbXVsKFZlLHl0KXwwKStNYXRoLmltdWwoR2UsbnQpfDAsXz1fK01hdGguaW11bChHZSx5dCl8MCxwPXArTWF0aC5pbXVsKGtlLGd0KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsZHQpfDApK01hdGguaW11bChTZSxndCl8MCxfPV8rTWF0aC5pbXVsKFNlLGR0KXwwLHA9cCtNYXRoLmlt''@;'; put 'put ''dWwoc2UsYXQpfDAsZz0oZz1nK01hdGguaW11bChzZSxRZSl8MCkrTWF0aC5pbXVsKGRlLGF0KXwwLF89XytNYXRoLmltdWwoZGUsUWUpfDAscD1wK01hdGguaW11bChPZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLHZ0KXwwKStNYXRoLmltdWwoTGUsb3QpfDAsXz1fK01hdGguaW11bChM''@;'; put 'put ''ZSx2dCl8MCxwPXArTWF0aC5pbXVsKE5lLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsbXQpfDApK01hdGguaW11bChIZSxaZSl8MCxfPV8rTWF0aC5pbXVsKEhlLG10KXwwLHA9cCtNYXRoLmltdWwoeGUsZnQpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxsdCl8MCkrTWF0aC5pbXVsKEVlLGZ0''@;'; put 'put ''KXwwLF89XytNYXRoLmltdWwoRWUsbHQpfDAscD1wK01hdGguaW11bChwZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKHBlLERlKXwwKStNYXRoLmltdWwod2UsWGUpfDAsXz1fK01hdGguaW11bCh3ZSxEZSl8MCxwPXArTWF0aC5pbXVsKF9lLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoX2UsaXQp''@;'; put 'put ''fDApK01hdGguaW11bChsZSxydCl8MCxfPV8rTWF0aC5pbXVsKGxlLGl0KXwwO3ZhciBubj0oWCsocD1wK01hdGguaW11bChhZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKGFlLEplKXwwKStNYXRoLmltdWwodWUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwo''@;'; put 'put ''dWUsSmUpfDApKyhnPj4+MTMpfDApKyhubj4+PjI2KXwwLG5uJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxudCksZz0oZz1NYXRoLmltdWwoS2UseXQpKStNYXRoLmltdWwoZXQsbnQpfDAsXz1NYXRoLmltdWwoZXQseXQpLHA9cCtNYXRoLmltdWwoVmUsZ3QpfDAsZz0oZz1nK01hdGguaW11''@;'; put 'put ''bChWZSxkdCl8MCkrTWF0aC5pbXVsKEdlLGd0KXwwLF89XytNYXRoLmltdWwoR2UsZHQpfDAscD1wK01hdGguaW11bChrZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKGtlLFFlKXwwKStNYXRoLmltdWwoU2UsYXQpfDAsXz1fK01hdGguaW11bChTZSxRZSl8MCxwPXArTWF0aC5pbXVsKHNlLG90''@;'; put 'put ''KXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsdnQpfDApK01hdGguaW11bChkZSxvdCl8MCxfPV8rTWF0aC5pbXVsKGRlLHZ0KXwwLHA9cCtNYXRoLmltdWwoT2UsWmUpfDAsZz0oZz1nK01hdGguaW11bChPZSxtdCl8MCkrTWF0aC5pbXVsKExlLFplKXwwLF89XytNYXRoLmltdWwoTGUsbXQpfDAs''@;'; put 'put ''cD1wK01hdGguaW11bChOZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKE5lLGx0KXwwKStNYXRoLmltdWwoSGUsZnQpfDAsXz1fK01hdGguaW11bChIZSxsdCl8MCxwPXArTWF0aC5pbXVsKHhlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoeGUsRGUpfDApK01hdGguaW11bChFZSxYZSl8MCxfPV8r''@;'; put 'put ''TWF0aC5pbXVsKEVlLERlKXwwLHA9cCtNYXRoLmltdWwocGUscnQpfDAsZz0oZz1nK01hdGguaW11bChwZSxpdCl8MCkrTWF0aC5pbXVsKHdlLHJ0KXwwLF89XytNYXRoLmltdWwod2UsaXQpfDA7dmFyIFFuPShYKyhwPXArTWF0aC5pbXVsKF9lLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytN''@;'; put 'put ''YXRoLmltdWwoX2UsSmUpfDApK01hdGguaW11bChsZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChsZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKFFuPj4+MjYpfDAsUW4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGd0KSxnPShnPU1hdGguaW11bChLZSxkdCkpK01hdGguaW11bChl''@;'; put 'put ''dCxndCl8MCxfPU1hdGguaW11bChldCxkdCkscD1wK01hdGguaW11bChWZSxhdCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLFFlKXwwKStNYXRoLmltdWwoR2UsYXQpfDAsXz1fK01hdGguaW11bChHZSxRZSl8MCxwPXArTWF0aC5pbXVsKGtlLG90KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsdnQp''@;'; put 'put ''fDApK01hdGguaW11bChTZSxvdCl8MCxfPV8rTWF0aC5pbXVsKFNlLHZ0KXwwLHA9cCtNYXRoLmltdWwoc2UsWmUpfDAsZz0oZz1nK01hdGguaW11bChzZSxtdCl8MCkrTWF0aC5pbXVsKGRlLFplKXwwLF89XytNYXRoLmltdWwoZGUsbXQpfDAscD1wK01hdGguaW11bChPZSxmdCl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKE9lLGx0KXwwKStNYXRoLmltdWwoTGUsZnQpfDAsXz1fK01hdGguaW11bChMZSxsdCl8MCxwPXArTWF0aC5pbXVsKE5lLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsRGUpfDApK01hdGguaW11bChIZSxYZSl8MCxfPV8rTWF0aC5pbXVsKEhlLERlKXwwLHA9cCtNYXRo''@;'; put 'put ''LmltdWwoeGUscnQpfDAsZz0oZz1nK01hdGguaW11bCh4ZSxpdCl8MCkrTWF0aC5pbXVsKEVlLHJ0KXwwLF89XytNYXRoLmltdWwoRWUsaXQpfDA7dmFyIFpuPShYKyhwPXArTWF0aC5pbXVsKHBlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwocGUsSmUpfDApK01hdGguaW11''@;'; put 'put ''bCh3ZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bCh3ZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKFpuPj4+MjYpfDAsWm4mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGF0KSxnPShnPU1hdGguaW11bChLZSxRZSkpK01hdGguaW11bChldCxhdCl8MCxfPU1hdGguaW11bChldCxRZSks''@;'; put 'put ''cD1wK01hdGguaW11bChWZSxvdCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLHZ0KXwwKStNYXRoLmltdWwoR2Usb3QpfDAsXz1fK01hdGguaW11bChHZSx2dCl8MCxwPXArTWF0aC5pbXVsKGtlLFplKXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsbXQpfDApK01hdGguaW11bChTZSxaZSl8MCxfPV8r''@;'; put 'put ''TWF0aC5pbXVsKFNlLG10KXwwLHA9cCtNYXRoLmltdWwoc2UsZnQpfDAsZz0oZz1nK01hdGguaW11bChzZSxsdCl8MCkrTWF0aC5pbXVsKGRlLGZ0KXwwLF89XytNYXRoLmltdWwoZGUsbHQpfDAscD1wK01hdGguaW11bChPZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKE9lLERlKXwwKStNYXRo''@;'; put 'put ''LmltdWwoTGUsWGUpfDAsXz1fK01hdGguaW11bChMZSxEZSl8MCxwPXArTWF0aC5pbXVsKE5lLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoTmUsaXQpfDApK01hdGguaW11bChIZSxydCl8MCxfPV8rTWF0aC5pbXVsKEhlLGl0KXwwO3ZhciBscj0oWCsocD1wK01hdGguaW11bCh4ZSxXZSl8MCl8''@;'; put 'put ''MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKHhlLEplKXwwKStNYXRoLmltdWwoRWUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwoRWUsSmUpfDApKyhnPj4+MTMpfDApKyhscj4+PjI2KXwwLGxyJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxvdCksZz0oZz1NYXRoLmltdWwo''@;'; put 'put ''S2UsdnQpKStNYXRoLmltdWwoZXQsb3QpfDAsXz1NYXRoLmltdWwoZXQsdnQpLHA9cCtNYXRoLmltdWwoVmUsWmUpfDAsZz0oZz1nK01hdGguaW11bChWZSxtdCl8MCkrTWF0aC5pbXVsKEdlLFplKXwwLF89XytNYXRoLmltdWwoR2UsbXQpfDAscD1wK01hdGguaW11bChrZSxmdCl8MCxnPShn''@;'; put 'put ''PWcrTWF0aC5pbXVsKGtlLGx0KXwwKStNYXRoLmltdWwoU2UsZnQpfDAsXz1fK01hdGguaW11bChTZSxsdCl8MCxwPXArTWF0aC5pbXVsKHNlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoc2UsRGUpfDApK01hdGguaW11bChkZSxYZSl8MCxfPV8rTWF0aC5pbXVsKGRlLERlKXwwLHA9cCtNYXRo''@;'; put 'put ''LmltdWwoT2UscnQpfDAsZz0oZz1nK01hdGguaW11bChPZSxpdCl8MCkrTWF0aC5pbXVsKExlLHJ0KXwwLF89XytNYXRoLmltdWwoTGUsaXQpfDA7dmFyIHduPShYKyhwPXArTWF0aC5pbXVsKE5lLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoTmUsSmUpfDApK01hdGguaW11''@;'; put 'put ''bChIZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChIZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKHduPj4+MjYpfDAsd24mPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLFplKSxnPShnPU1hdGguaW11bChLZSxtdCkpK01hdGguaW11bChldCxaZSl8MCxfPU1hdGguaW11bChldCxtdCks''@;'; put 'put ''cD1wK01hdGguaW11bChWZSxmdCl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLGx0KXwwKStNYXRoLmltdWwoR2UsZnQpfDAsXz1fK01hdGguaW11bChHZSxsdCl8MCxwPXArTWF0aC5pbXVsKGtlLFhlKXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsRGUpfDApK01hdGguaW11bChTZSxYZSl8MCxfPV8r''@;'; put 'put ''TWF0aC5pbXVsKFNlLERlKXwwLHA9cCtNYXRoLmltdWwoc2UscnQpfDAsZz0oZz1nK01hdGguaW11bChzZSxpdCl8MCkrTWF0aC5pbXVsKGRlLHJ0KXwwLF89XytNYXRoLmltdWwoZGUsaXQpfDA7dmFyIHZyPShYKyhwPXArTWF0aC5pbXVsKE9lLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytN''@;'; put 'put ''YXRoLmltdWwoT2UsSmUpfDApK01hdGguaW11bChMZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChMZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKHZyPj4+MjYpfDAsdnImPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLGZ0KSxnPShnPU1hdGguaW11bChLZSxsdCkpK01hdGguaW11bChl''@;'; put 'put ''dCxmdCl8MCxfPU1hdGguaW11bChldCxsdCkscD1wK01hdGguaW11bChWZSxYZSl8MCxnPShnPWcrTWF0aC5pbXVsKFZlLERlKXwwKStNYXRoLmltdWwoR2UsWGUpfDAsXz1fK01hdGguaW11bChHZSxEZSl8MCxwPXArTWF0aC5pbXVsKGtlLHJ0KXwwLGc9KGc9ZytNYXRoLmltdWwoa2UsaXQp''@;'; put 'put ''fDApK01hdGguaW11bChTZSxydCl8MCxfPV8rTWF0aC5pbXVsKFNlLGl0KXwwO3ZhciB2bj0oWCsocD1wK01hdGguaW11bChzZSxXZSl8MCl8MCkrKCg4MTkxJihnPShnPWcrTWF0aC5pbXVsKHNlLEplKXwwKStNYXRoLmltdWwoZGUsV2UpfDApKTw8MTMpfDA7WD0oKF89XytNYXRoLmltdWwo''@;'; put 'put ''ZGUsSmUpfDApKyhnPj4+MTMpfDApKyh2bj4+PjI2KXwwLHZuJj02NzEwODg2MyxwPU1hdGguaW11bChLZSxYZSksZz0oZz1NYXRoLmltdWwoS2UsRGUpKStNYXRoLmltdWwoZXQsWGUpfDAsXz1NYXRoLmltdWwoZXQsRGUpLHA9cCtNYXRoLmltdWwoVmUscnQpfDAsZz0oZz1nK01hdGguaW11''@;'; put 'put ''bChWZSxpdCl8MCkrTWF0aC5pbXVsKEdlLHJ0KXwwLF89XytNYXRoLmltdWwoR2UsaXQpfDA7dmFyIGNyPShYKyhwPXArTWF0aC5pbXVsKGtlLFdlKXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoa2UsSmUpfDApK01hdGguaW11bChTZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01h''@;'; put 'put ''dGguaW11bChTZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKGNyPj4+MjYpfDAsY3ImPTY3MTA4ODYzLHA9TWF0aC5pbXVsKEtlLHJ0KSxnPShnPU1hdGguaW11bChLZSxpdCkpK01hdGguaW11bChldCxydCl8MCxfPU1hdGguaW11bChldCxpdCk7dmFyIG9yPShYKyhwPXArTWF0aC5pbXVsKFZlLFdl''@;'; put 'put ''KXwwKXwwKSsoKDgxOTEmKGc9KGc9ZytNYXRoLmltdWwoVmUsSmUpfDApK01hdGguaW11bChHZSxXZSl8MCkpPDwxMyl8MDtYPSgoXz1fK01hdGguaW11bChHZSxKZSl8MCkrKGc+Pj4xMyl8MCkrKG9yPj4+MjYpfDAsb3ImPTY3MTA4ODYzO3ZhciBDbj0oWCsocD1NYXRoLmltdWwoS2UsV2Up''@;'; put 'put ''KXwwKSsoKDgxOTEmKGc9KGc9TWF0aC5pbXVsKEtlLEplKSkrTWF0aC5pbXVsKGV0LFdlKXwwKSk8PDEzKXwwO3JldHVybiBYPSgoXz1NYXRoLmltdWwoZXQsSmUpKSsoZz4+PjEzKXwwKSsoQ24+Pj4yNil8MCxDbiY9NjcxMDg4NjMsR1swXT1NdCxHWzFdPUR0LEdbMl09QnQsR1szXT1lbixH''@;'; put 'put ''WzRdPVl0LEdbNV09cm4sR1s2XT1hbixHWzddPWxuLEdbOF09TW4sR1s5XT1ubixHWzEwXT1RbixHWzExXT1abixHWzEyXT1scixHWzEzXT13bixHWzE0XT12cixHWzE1XT12bixHWzE2XT1jcixHWzE3XT1vcixHWzE4XT1DbiwwIT09WCYmKEdbMTldPVgseS5sZW5ndGgrKykseX07ZnVuY3Rp''@;'; put 'put ''b24gWShoLGIseSl7cmV0dXJuKG5ldyBJKS5tdWxwKGgsYix5KX1mdW5jdGlvbiBJKGgsYil7dGhpcy54PWgsdGhpcy55PWJ9TWF0aC5pbXVsfHwoVD1MKSxtLnByb3RvdHlwZS5tdWxUbz1mdW5jdGlvbihoLGIpe3ZhciBwPXRoaXMubGVuZ3RoK2gubGVuZ3RoO3JldHVybiAxMD09PXRoaXMu''@;'; put 'put ''bGVuZ3RoJiYxMD09PWgubGVuZ3RoP1QodGhpcyxoLGIpOnA8NjM/TCh0aGlzLGgsYik6cDwxMDI0P2Z1bmN0aW9uKGcsXyxFKXtFLm5lZ2F0aXZlPV8ubmVnYXRpdmVeZy5uZWdhdGl2ZSxFLmxlbmd0aD1nLmxlbmd0aCtfLmxlbmd0aDtmb3IodmFyIFc9MCxHPTAsWD0wO1g8RS5sZW5ndGgt''@;'; put 'put ''MTtYKyspe3ZhciBuZT1HO0c9MDtmb3IodmFyIGFlPTY3MTA4ODYzJlcsdWU9TWF0aC5taW4oWCxfLmxlbmd0aC0xKSxiZT1NYXRoLm1heCgwLFgtZy5sZW5ndGgrMSk7YmU8PXVlO2JlKyspe3ZhciBsZT0oMHxnLndvcmRzW1gtYmVdKSooMHxfLndvcmRzW2JlXSksY2U9NjcxMDg4NjMmbGU7''@;'; put 'put ''YWU9NjcxMDg4NjMmKGNlPWNlK2FlfDApLEcrPShuZT0obmU9bmUrKGxlLzY3MTA4ODY0fDApfDApKyhjZT4+PjI2KXwwKT4+PjI2LG5lJj02NzEwODg2M31FLndvcmRzW1hdPWFlLFc9bmUsbmU9R31yZXR1cm4gMCE9PVc/RS53b3Jkc1tYXT1XOkUubGVuZ3RoLS0sRS5zdHJpcCgpfSh0aGlz''@;'; put 'put ''LGgsYik6WSh0aGlzLGgsYil9LEkucHJvdG90eXBlLm1ha2VSQlQ9ZnVuY3Rpb24oaCl7Zm9yKHZhciBiPW5ldyBBcnJheShoKSx5PW0ucHJvdG90eXBlLl9jb3VudEJpdHMoaCktMSxwPTA7cDxoO3ArKyliW3BdPXRoaXMucmV2QmluKHAseSxoKTtyZXR1cm4gYn0sSS5wcm90b3R5cGUucmV2''@;'; put 'put ''QmluPWZ1bmN0aW9uKGgsYix5KXtpZigwPT09aHx8aD09PXktMSlyZXR1cm4gaDtmb3IodmFyIHA9MCxnPTA7ZzxiO2crKylwfD0oMSZoKTw8Yi1nLTEsaD4+PTE7cmV0dXJuIHB9LEkucHJvdG90eXBlLnBlcm11dGU9ZnVuY3Rpb24oaCxiLHkscCxnLF8pe2Zvcih2YXIgRT0wO0U8XztFKysp''@;'; put 'put ''cFtFXT1iW2hbRV1dLGdbRV09eVtoW0VdXX0sSS5wcm90b3R5cGUudHJhbnNmb3JtPWZ1bmN0aW9uKGgsYix5LHAsZyxfKXt0aGlzLnBlcm11dGUoXyxoLGIseSxwLGcpO2Zvcih2YXIgRT0xO0U8ZztFPDw9MSlmb3IodmFyIFc9RTw8MSxHPU1hdGguY29zKDIqTWF0aC5QSS9XKSxYPU1hdGgu''@;'; put 'put ''c2luKDIqTWF0aC5QSS9XKSxuZT0wO25lPGc7bmUrPVcpZm9yKHZhciBhZT1HLHVlPVgsYmU9MDtiZTxFO2JlKyspe3ZhciBfZT15W25lK2JlXSxsZT1wW25lK2JlXSxjZT15W25lK2JlK0VdLHBlPXBbbmUrYmUrRV0sd2U9YWUqY2UtdWUqcGU7cGU9YWUqcGUrdWUqY2UseVtuZStiZV09X2Ur''@;'; put 'put ''KGNlPXdlKSxwW25lK2JlXT1sZStwZSx5W25lK2JlK0VdPV9lLWNlLHBbbmUrYmUrRV09bGUtcGUsYmUhPT1XJiYod2U9RyphZS1YKnVlLHVlPUcqdWUrWCphZSxhZT13ZSl9fSxJLnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbihoLGIpe3ZhciB5PTF8TWF0aC5tYXgoYixoKSxwPTEm''@;'; put 'put ''eSxnPTA7Zm9yKHk9eS8yfDA7eTt5Pj4+PTEpZysrO3JldHVybiAxPDxnKzErcH0sSS5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKGgsYix5KXtpZighKHk8PTEpKWZvcih2YXIgcD0wO3A8eS8yO3ArKyl7dmFyIGc9aFtwXTtoW3BdPWhbeS1wLTFdLGhbeS1wLTFdPWcsZz1iW3BdLGJb''@;'; put 'put ''cF09LWJbeS1wLTFdLGJbeS1wLTFdPS1nfX0sSS5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uKGgsYil7Zm9yKHZhciB5PTAscD0wO3A8Yi8yO3ArKyl7dmFyIGc9ODE5MipNYXRoLnJvdW5kKGhbMipwKzFdL2IpK01hdGgucm91bmQoaFsyKnBdL2IpK3k7aFtwXT02NzEwODg2MyZn''@;'; put 'put ''LHk9Zzw2NzEwODg2ND8wOmcvNjcxMDg4NjR8MH1yZXR1cm4gaH0sSS5wcm90b3R5cGUuY29udmVydDEzYj1mdW5jdGlvbihoLGIseSxwKXtmb3IodmFyIGc9MCxfPTA7XzxiO18rKyl5WzIqX109ODE5MSYoZys9MHxoW19dKSx5WzIqXysxXT04MTkxJihnPj4+PTEzKSxnPj4+PTEzO2Zvcihf''@;'; put 'put ''PTIqYjtfPHA7KytfKXlbX109MDtDKDA9PT1nKSxDKDA9PSgtODE5MiZnKSl9LEkucHJvdG90eXBlLnN0dWI9ZnVuY3Rpb24oaCl7Zm9yKHZhciBiPW5ldyBBcnJheShoKSx5PTA7eTxoO3krKyliW3ldPTA7cmV0dXJuIGJ9LEkucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24oaCxiLHkpe3ZhciBw''@;'; put 'put ''PTIqdGhpcy5ndWVzc0xlbjEzYihoLmxlbmd0aCxiLmxlbmd0aCksZz10aGlzLm1ha2VSQlQocCksXz10aGlzLnN0dWIocCksRT1uZXcgQXJyYXkocCksVz1uZXcgQXJyYXkocCksRz1uZXcgQXJyYXkocCksWD1uZXcgQXJyYXkocCksbmU9bmV3IEFycmF5KHApLGFlPW5ldyBBcnJheShwKSx1''@;'; put 'put ''ZT15LndvcmRzO3VlLmxlbmd0aD1wLHRoaXMuY29udmVydDEzYihoLndvcmRzLGgubGVuZ3RoLEUscCksdGhpcy5jb252ZXJ0MTNiKGIud29yZHMsYi5sZW5ndGgsWCxwKSx0aGlzLnRyYW5zZm9ybShFLF8sVyxHLHAsZyksdGhpcy50cmFuc2Zvcm0oWCxfLG5lLGFlLHAsZyk7Zm9yKHZhciBi''@;'; put 'put ''ZT0wO2JlPHA7YmUrKyl7dmFyIF9lPVdbYmVdKm5lW2JlXS1HW2JlXSphZVtiZV07R1tiZV09V1tiZV0qYWVbYmVdK0dbYmVdKm5lW2JlXSxXW2JlXT1fZX1yZXR1cm4gdGhpcy5jb25qdWdhdGUoVyxHLHApLHRoaXMudHJhbnNmb3JtKFcsRyx1ZSxfLHAsZyksdGhpcy5jb25qdWdhdGUodWUs''@;'; put 'put ''XyxwKSx0aGlzLm5vcm1hbGl6ZTEzYih1ZSxwKSx5Lm5lZ2F0aXZlPWgubmVnYXRpdmVeYi5uZWdhdGl2ZSx5Lmxlbmd0aD1oLmxlbmd0aCtiLmxlbmd0aCx5LnN0cmlwKCl9LG0ucHJvdG90eXBlLm11bD1mdW5jdGlvbihoKXt2YXIgYj1uZXcgbShudWxsKTtyZXR1cm4gYi53b3Jkcz1uZXcg''@;'; put 'put ''QXJyYXkodGhpcy5sZW5ndGgraC5sZW5ndGgpLHRoaXMubXVsVG8oaCxiKX0sbS5wcm90b3R5cGUubXVsZj1mdW5jdGlvbihoKXt2YXIgYj1uZXcgbShudWxsKTtyZXR1cm4gYi53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgraC5sZW5ndGgpLFkodGhpcyxoLGIpfSxtLnByb3RvdHlwZS5p''@;'; put 'put ''bXVsPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkubXVsVG8oaCx0aGlzKX0sbS5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgpLEMoaDw2NzEwODg2NCk7Zm9yKHZhciBiPTAseT0wO3k8dGhpcy5sZW5ndGg7eSsrKXt2YXIgcD0oMHx0aGlz''@;'; put 'put ''LndvcmRzW3ldKSpoLGc9KDY3MTA4ODYzJnApKyg2NzEwODg2MyZiKTtiPj49MjYsYis9cC82NzEwODg2NHwwLGIrPWc+Pj4yNix0aGlzLndvcmRzW3ldPTY3MTA4ODYzJmd9cmV0dXJuIDAhPT1iJiYodGhpcy53b3Jkc1t5XT1iLHRoaXMubGVuZ3RoKyspLHRoaXN9LG0ucHJvdG90eXBlLm11''@;'; put 'put ''bG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihoKX0sbS5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsKHRoaXMpfSxtLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpfSxtLnByb3RvdHlw''@;'; put 'put ''ZS5wb3c9ZnVuY3Rpb24oaCl7dmFyIGI9ZnVuY3Rpb24oXyl7Zm9yKHZhciBFPW5ldyBBcnJheShfLmJpdExlbmd0aCgpKSxXPTA7VzxFLmxlbmd0aDtXKyspe3ZhciBYPVclMjY7RVtXXT0oXy53b3Jkc1tXLzI2fDBdJjE8PFgpPj4+WH1yZXR1cm4gRX0oaCk7aWYoMD09PWIubGVuZ3RoKXJl''@;'; put 'put ''dHVybiBuZXcgbSgxKTtmb3IodmFyIHk9dGhpcyxwPTA7cDxiLmxlbmd0aCYmMD09PWJbcF07cCsrLHk9eS5zcXIoKSk7aWYoKytwPGIubGVuZ3RoKWZvcih2YXIgZz15LnNxcigpO3A8Yi5sZW5ndGg7cCsrLGc9Zy5zcXIoKSkwIT09YltwXSYmKHk9eS5tdWwoZykpO3JldHVybiB5fSxtLnBy''@;'; put 'put ''b3RvdHlwZS5pdXNobG49ZnVuY3Rpb24oaCl7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApO3ZhciBiLHk9aCUyNixwPShoLXkpLzI2LGc9NjcxMDg4NjM+Pj4yNi15PDwyNi15O2lmKDAhPT15KXt2YXIgXz0wO2ZvcihiPTA7Yjx0aGlzLmxlbmd0aDtiKyspe3ZhciBFPXRoaXMud29yZHNb''@;'; put 'put ''Yl0mZzt0aGlzLndvcmRzW2JdPSgwfHRoaXMud29yZHNbYl0pLUU8PHl8XyxfPUU+Pj4yNi15fV8mJih0aGlzLndvcmRzW2JdPV8sdGhpcy5sZW5ndGgrKyl9aWYoMCE9PXApe2ZvcihiPXRoaXMubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy53b3Jkc1tiK3BdPXRoaXMud29yZHNbYl07Zm9yKGI9''@;'; put 'put ''MDtiPHA7YisrKXRoaXMud29yZHNbYl09MDt0aGlzLmxlbmd0aCs9cH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxtLnByb3RvdHlwZS5pc2hsbj1mdW5jdGlvbihoKXtyZXR1cm4gQygwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNobG4oaCl9LG0ucHJvdG90eXBlLml1c2hybj1mdW5jdGlvbiho''@;'; put 'put ''LGIseSl7dmFyIHA7QygibnVtYmVyIj09dHlwZW9mIGgmJmg+PTApLHA9Yj8oYi1iJTI2KS8yNjowO3ZhciBnPWglMjYsXz1NYXRoLm1pbigoaC1nKS8yNix0aGlzLmxlbmd0aCksRT02NzEwODg2M142NzEwODg2Mz4+Pmc8PGcsVz15O2lmKHAtPV8scD1NYXRoLm1heCgwLHApLFcpe2Zvcih2''@;'; put 'put ''YXIgRz0wO0c8XztHKyspVy53b3Jkc1tHXT10aGlzLndvcmRzW0ddO1cubGVuZ3RoPV99aWYoMCE9PV8paWYodGhpcy5sZW5ndGg+Xylmb3IodGhpcy5sZW5ndGgtPV8sRz0wO0c8dGhpcy5sZW5ndGg7RysrKXRoaXMud29yZHNbR109dGhpcy53b3Jkc1tHK19dO2Vsc2UgdGhpcy53b3Jkc1sw''@;'; put 'put ''XT0wLHRoaXMubGVuZ3RoPTE7dmFyIFg9MDtmb3IoRz10aGlzLmxlbmd0aC0xO0c+PTAmJigwIT09WHx8Rz49cCk7Ry0tKXt2YXIgbmU9MHx0aGlzLndvcmRzW0ddO3RoaXMud29yZHNbR109WDw8MjYtZ3xuZT4+PmcsWD1uZSZFfXJldHVybiBXJiYwIT09WCYmKFcud29yZHNbVy5sZW5ndGgr''@;'; put 'put ''K109WCksMD09PXRoaXMubGVuZ3RoJiYodGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTEpLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24oaCxiLHkpe3JldHVybiBDKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybihoLGIseSl9LG0ucHJvdG90eXBlLnNo''@;'; put 'put ''bG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihoKX0sbS5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4oaCl9LG0ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybihoKX0s''@;'; put 'put ''bS5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oaCl9LG0ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgYj1oJTI2LHk9KGgtYikvMjY7cmV0dXJuISh0aGlzLmxlbmd0aDw9eXx8''@;'; put 'put ''ISh0aGlzLndvcmRzW3ldJjE8PGIpKX0sbS5wcm90b3R5cGUuaW1hc2tuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoJiZoPj0wKTt2YXIgYj1oJTI2LHk9KGgtYikvMjY7cmV0dXJuIEMoMD09PXRoaXMubmVnYXRpdmUsImltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUg''@;'; put 'put ''bnVtYmVycyIpLHRoaXMubGVuZ3RoPD15P3RoaXM6KDAhPT1iJiZ5KyssdGhpcy5sZW5ndGg9TWF0aC5taW4oeSx0aGlzLmxlbmd0aCksMCE9PWImJih0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdJj02NzEwODg2M142NzEwODg2Mz4+PmI8PGIpLHRoaXMuc3RyaXAoKSl9LG0ucHJvdG90eXBl''@;'; put 'put ''Lm1hc2tuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKGgpfSxtLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbihoKXtyZXR1cm4gQygibnVtYmVyIj09dHlwZW9mIGgpLEMoaDw2NzEwODg2NCksaDwwP3RoaXMuaXN1Ym4oLWgpOjAhPT10aGlzLm5lZ2F0aXZlPzE9PT10''@;'; put 'put ''aGlzLmxlbmd0aCYmKDB8dGhpcy53b3Jkc1swXSk8aD8odGhpcy53b3Jkc1swXT1oLSgwfHRoaXMud29yZHNbMF0pLHRoaXMubmVnYXRpdmU9MCx0aGlzKToodGhpcy5uZWdhdGl2ZT0wLHRoaXMuaXN1Ym4oaCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMpOnRoaXMuX2lhZGRuKGgpfSxtLnByb3Rv''@;'; put 'put ''dHlwZS5faWFkZG49ZnVuY3Rpb24oaCl7dGhpcy53b3Jkc1swXSs9aDtmb3IodmFyIGI9MDtiPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2JdPj02NzEwODg2NDtiKyspdGhpcy53b3Jkc1tiXS09NjcxMDg4NjQsYj09PXRoaXMubGVuZ3RoLTE/dGhpcy53b3Jkc1tiKzFdPTE6dGhpcy53b3Jk''@;'; put 'put ''c1tiKzFdKys7cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGIrMSksdGhpc30sbS5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24oaCl7aWYoQygibnVtYmVyIj09dHlwZW9mIGgpLEMoaDw2NzEwODg2NCksaDwwKXJldHVybiB0aGlzLmlhZGRuKC1oKTtpZigwIT09dGhp''@;'; put 'put ''cy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZG4oaCksdGhpcy5uZWdhdGl2ZT0xLHRoaXM7aWYodGhpcy53b3Jkc1swXS09aCwxPT09dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbMF08MCl0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdLHRoaXMubmVnYXRpdmU9''@;'; put 'put ''MTtlbHNlIGZvcih2YXIgYj0wO2I8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbYl08MDtiKyspdGhpcy53b3Jkc1tiXSs9NjcxMDg4NjQsdGhpcy53b3Jkc1tiKzFdLT0xO3JldHVybiB0aGlzLnN0cmlwKCl9LG0ucHJvdG90eXBlLmFkZG49ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuY2xvbmUo''@;'; put 'put ''KS5pYWRkbihoKX0sbS5wcm90b3R5cGUuc3Vibj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKGgpfSxtLnByb3RvdHlwZS5pYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzfSxtLnByb3RvdHlwZS5hYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5jbG9uZSgpLmlhYnMoKX0sbS5wcm90b3R5cGUuX2lzaGxuc3VibXVsPWZ1bmN0aW9uKGgsYix5KXt2YXIgcCxnO3RoaXMuX2V4cGFuZChoLmxlbmd0aCt5KTt2YXIgRT0wO2ZvcihwPTA7cDxoLmxlbmd0aDtwKyspe2c9KDB8dGhpcy53b3Jkc1twK3ldKStFO3ZhciBXPSgwfGgud29yZHNb''@;'; put 'put ''cF0pKmI7RT0oKGctPTY3MTA4ODYzJlcpPj4yNiktKFcvNjcxMDg4NjR8MCksdGhpcy53b3Jkc1twK3ldPTY3MTA4ODYzJmd9Zm9yKDtwPHRoaXMubGVuZ3RoLXk7cCsrKUU9KGc9KDB8dGhpcy53b3Jkc1twK3ldKStFKT4+MjYsdGhpcy53b3Jkc1twK3ldPTY3MTA4ODYzJmc7aWYoMD09PUUp''@;'; put 'put ''cmV0dXJuIHRoaXMuc3RyaXAoKTtmb3IoQygtMT09PUUpLEU9MCxwPTA7cDx0aGlzLmxlbmd0aDtwKyspRT0oZz0tKDB8dGhpcy53b3Jkc1twXSkrRSk+PjI2LHRoaXMud29yZHNbcF09NjcxMDg4NjMmZztyZXR1cm4gdGhpcy5uZWdhdGl2ZT0xLHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUu''@;'; put 'put ''X3dvcmREaXY9ZnVuY3Rpb24oaCxiKXt2YXIgeSxwPXRoaXMuY2xvbmUoKSxnPWgsXz0wfGcud29yZHNbZy5sZW5ndGgtMV07MCE9KHk9MjYtdGhpcy5fY291bnRCaXRzKF8pKSYmKGc9Zy51c2hsbih5KSxwLml1c2hsbih5KSxfPTB8Zy53b3Jkc1tnLmxlbmd0aC0xXSk7dmFyIEUsVz1wLmxl''@;'; put 'put ''bmd0aC1nLmxlbmd0aDtpZigibW9kIiE9PWIpeyhFPW5ldyBtKG51bGwpKS5sZW5ndGg9VysxLEUud29yZHM9bmV3IEFycmF5KEUubGVuZ3RoKTtmb3IodmFyIEc9MDtHPEUubGVuZ3RoO0crKylFLndvcmRzW0ddPTB9dmFyIFg9cC5jbG9uZSgpLl9pc2hsbnN1Ym11bChnLDEsVyk7MD09PVgu''@;'; put 'put ''bmVnYXRpdmUmJihwPVgsRSYmKEUud29yZHNbV109MSkpO2Zvcih2YXIgbmU9Vy0xO25lPj0wO25lLS0pe3ZhciBhZT02NzEwODg2NCooMHxwLndvcmRzW2cubGVuZ3RoK25lXSkrKDB8cC53b3Jkc1tnLmxlbmd0aCtuZS0xXSk7Zm9yKGFlPU1hdGgubWluKGFlL198MCw2NzEwODg2MykscC5f''@;'; put 'put ''aXNobG5zdWJtdWwoZyxhZSxuZSk7MCE9PXAubmVnYXRpdmU7KWFlLS0scC5uZWdhdGl2ZT0wLHAuX2lzaGxuc3VibXVsKGcsMSxuZSkscC5pc1plcm8oKXx8KHAubmVnYXRpdmVePTEpO0UmJihFLndvcmRzW25lXT1hZSl9cmV0dXJuIEUmJkUuc3RyaXAoKSxwLnN0cmlwKCksImRpdiIhPT1i''@;'; put 'put ''JiYwIT09eSYmcC5pdXNocm4oeSkse2RpdjpFfHxudWxsLG1vZDpwfX0sbS5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKGgsYix5KXtyZXR1cm4gQyghaC5pc1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBtKDApLG1vZDpuZXcgbSgwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT1o''@;'; put 'put ''Lm5lZ2F0aXZlPyhfPXRoaXMubmVnKCkuZGl2bW9kKGgsYiksIm1vZCIhPT1iJiYocD1fLmRpdi5uZWcoKSksImRpdiIhPT1iJiYoZz1fLm1vZC5uZWcoKSx5JiYwIT09Zy5uZWdhdGl2ZSYmZy5pYWRkKGgpKSx7ZGl2OnAsbW9kOmd9KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWgubmVnYXRp''@;'; put 'put ''dmU/KF89dGhpcy5kaXZtb2QoaC5uZWcoKSxiKSwibW9kIiE9PWImJihwPV8uZGl2Lm5lZygpKSx7ZGl2OnAsbW9kOl8ubW9kfSk6MCE9KHRoaXMubmVnYXRpdmUmaC5uZWdhdGl2ZSk/KF89dGhpcy5uZWcoKS5kaXZtb2QoaC5uZWcoKSxiKSwiZGl2IiE9PWImJihnPV8ubW9kLm5lZygpLHkm''@;'; put 'put ''JjAhPT1nLm5lZ2F0aXZlJiZnLmlzdWIoaCkpLHtkaXY6Xy5kaXYsbW9kOmd9KTpoLmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAoaCk8MD97ZGl2Om5ldyBtKDApLG1vZDp0aGlzfToxPT09aC5sZW5ndGg/ImRpdiI9PT1iP3tkaXY6dGhpcy5kaXZuKGgud29yZHNbMF0pLG1vZDpudWxs''@;'; put 'put ''fToibW9kIj09PWI/e2RpdjpudWxsLG1vZDpuZXcgbSh0aGlzLm1vZG4oaC53b3Jkc1swXSkpfTp7ZGl2OnRoaXMuZGl2bihoLndvcmRzWzBdKSxtb2Q6bmV3IG0odGhpcy5tb2RuKGgud29yZHNbMF0pKX06dGhpcy5fd29yZERpdihoLGIpO3ZhciBwLGcsX30sbS5wcm90b3R5cGUuZGl2PWZ1''@;'; put 'put ''bmN0aW9uKGgpe3JldHVybiB0aGlzLmRpdm1vZChoLCJkaXYiLCExKS5kaXZ9LG0ucHJvdG90eXBlLm1vZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5kaXZtb2QoaCwibW9kIiwhMSkubW9kfSxtLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmRpdm1vZChoLCJtb2Qi''@;'; put 'put ''LCEwKS5tb2R9LG0ucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKGgpe3ZhciBiPXRoaXMuZGl2bW9kKGgpO2lmKGIubW9kLmlzWmVybygpKXJldHVybiBiLmRpdjt2YXIgeT0wIT09Yi5kaXYubmVnYXRpdmU/Yi5tb2QuaXN1YihoKTpiLm1vZCxwPWgudXNocm4oMSksZz1oLmFuZGxuKDEp''@;'; put 'put ''LF89eS5jbXAocCk7cmV0dXJuIF88MHx8MT09PWcmJjA9PT1fP2IuZGl2OjAhPT1iLmRpdi5uZWdhdGl2ZT9iLmRpdi5pc3VibigxKTpiLmRpdi5pYWRkbigxKX0sbS5wcm90b3R5cGUubW9kbj1mdW5jdGlvbihoKXtDKGg8PTY3MTA4ODYzKTtmb3IodmFyIGI9NjcxMDg4NjQlaCx5PTAscD10''@;'; put 'put ''aGlzLmxlbmd0aC0xO3A+PTA7cC0tKXk9KGIqeSsoMHx0aGlzLndvcmRzW3BdKSklaDtyZXR1cm4geX0sbS5wcm90b3R5cGUuaWRpdm49ZnVuY3Rpb24oaCl7QyhoPD02NzEwODg2Myk7Zm9yKHZhciBiPTAseT10aGlzLmxlbmd0aC0xO3k+PTA7eS0tKXt2YXIgcD0oMHx0aGlzLndvcmRzW3ld''@;'; put 'put ''KSs2NzEwODg2NCpiO3RoaXMud29yZHNbeV09cC9ofDAsYj1wJWh9cmV0dXJuIHRoaXMuc3RyaXAoKX0sbS5wcm90b3R5cGUuZGl2bj1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKGgpfSxtLnByb3RvdHlwZS5lZ2NkPWZ1bmN0aW9uKGgpe0MoMD09PWgubmVnYXRpdmUp''@;'; put 'put ''LEMoIWguaXNaZXJvKCkpO3ZhciBiPXRoaXMseT1oLmNsb25lKCk7Yj0wIT09Yi5uZWdhdGl2ZT9iLnVtb2QoaCk6Yi5jbG9uZSgpO2Zvcih2YXIgcD1uZXcgbSgxKSxnPW5ldyBtKDApLF89bmV3IG0oMCksRT1uZXcgbSgxKSxXPTA7Yi5pc0V2ZW4oKSYmeS5pc0V2ZW4oKTspYi5pdXNocm4o''@;'; put 'put ''MSkseS5pdXNocm4oMSksKytXO2Zvcih2YXIgRz15LmNsb25lKCksWD1iLmNsb25lKCk7IWIuaXNaZXJvKCk7KXtmb3IodmFyIG5lPTAsYWU9MTswPT0oYi53b3Jkc1swXSZhZSkmJm5lPDI2OysrbmUsYWU8PD0xKTtpZihuZT4wKWZvcihiLml1c2hybihuZSk7bmUtLSA+MDspKHAuaXNPZGQo''@;'; put 'put ''KXx8Zy5pc09kZCgpKSYmKHAuaWFkZChHKSxnLmlzdWIoWCkpLHAuaXVzaHJuKDEpLGcuaXVzaHJuKDEpO2Zvcih2YXIgdWU9MCxiZT0xOzA9PSh5LndvcmRzWzBdJmJlKSYmdWU8MjY7Kyt1ZSxiZTw8PTEpO2lmKHVlPjApZm9yKHkuaXVzaHJuKHVlKTt1ZS0tID4wOykoXy5pc09kZCgpfHxF''@;'; put 'put ''LmlzT2RkKCkpJiYoXy5pYWRkKEcpLEUuaXN1YihYKSksXy5pdXNocm4oMSksRS5pdXNocm4oMSk7Yi5jbXAoeSk+PTA/KGIuaXN1Yih5KSxwLmlzdWIoXyksZy5pc3ViKEUpKTooeS5pc3ViKGIpLF8uaXN1YihwKSxFLmlzdWIoZykpfXJldHVybnthOl8sYjpFLGdjZDp5Lml1c2hsbihXKX19''@;'; put 'put ''LG0ucHJvdG90eXBlLl9pbnZtcD1mdW5jdGlvbihoKXtDKDA9PT1oLm5lZ2F0aXZlKSxDKCFoLmlzWmVybygpKTt2YXIgYj10aGlzLHk9aC5jbG9uZSgpO2I9MCE9PWIubmVnYXRpdmU/Yi51bW9kKGgpOmIuY2xvbmUoKTtmb3IodmFyIHAsZz1uZXcgbSgxKSxfPW5ldyBtKDApLEU9eS5jbG9u''@;'; put 'put ''ZSgpO2IuY21wbigxKT4wJiZ5LmNtcG4oMSk+MDspe2Zvcih2YXIgVz0wLEc9MTswPT0oYi53b3Jkc1swXSZHKSYmVzwyNjsrK1csRzw8PTEpO2lmKFc+MClmb3IoYi5pdXNocm4oVyk7Vy0tID4wOylnLmlzT2RkKCkmJmcuaWFkZChFKSxnLml1c2hybigxKTtmb3IodmFyIFg9MCxuZT0xOzA9''@;'; put 'put ''PSh5LndvcmRzWzBdJm5lKSYmWDwyNjsrK1gsbmU8PD0xKTtpZihYPjApZm9yKHkuaXVzaHJuKFgpO1gtLSA+MDspXy5pc09kZCgpJiZfLmlhZGQoRSksXy5pdXNocm4oMSk7Yi5jbXAoeSk+PTA/KGIuaXN1Yih5KSxnLmlzdWIoXykpOih5LmlzdWIoYiksXy5pc3ViKGcpKX1yZXR1cm4ocD0w''@;'; put 'put ''PT09Yi5jbXBuKDEpP2c6XykuY21wbigwKTwwJiZwLmlhZGQoaCkscH0sbS5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uKGgpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIGguYWJzKCk7aWYoaC5pc1plcm8oKSlyZXR1cm4gdGhpcy5hYnMoKTt2YXIgYj10aGlzLmNsb25lKCkseT1oLmNsb25lKCk7''@;'; put 'put ''Yi5uZWdhdGl2ZT0wLHkubmVnYXRpdmU9MDtmb3IodmFyIHA9MDtiLmlzRXZlbigpJiZ5LmlzRXZlbigpO3ArKyliLml1c2hybigxKSx5Lml1c2hybigxKTtmb3IoOzspe2Zvcig7Yi5pc0V2ZW4oKTspYi5pdXNocm4oMSk7Zm9yKDt5LmlzRXZlbigpOyl5Lml1c2hybigxKTt2YXIgZz1iLmNt''@;'; put 'put ''cCh5KTtpZihnPDApe3ZhciBfPWI7Yj15LHk9X31lbHNlIGlmKDA9PT1nfHwwPT09eS5jbXBuKDEpKWJyZWFrO2IuaXN1Yih5KX1yZXR1cm4geS5pdXNobG4ocCl9LG0ucHJvdG90eXBlLmludm09ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuZWdjZChoKS5hLnVtb2QoaCl9LG0ucHJvdG90eXBl''@;'; put 'put ''LmlzRXZlbj1mdW5jdGlvbigpe3JldHVybiAwPT0oMSZ0aGlzLndvcmRzWzBdKX0sbS5wcm90b3R5cGUuaXNPZGQ9ZnVuY3Rpb24oKXtyZXR1cm4gMT09KDEmdGhpcy53b3Jkc1swXSl9LG0ucHJvdG90eXBlLmFuZGxuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLndvcmRzWzBdJmh9LG0ucHJv''@;'; put 'put ''dG90eXBlLmJpbmNuPWZ1bmN0aW9uKGgpe0MoIm51bWJlciI9PXR5cGVvZiBoKTt2YXIgYj1oJTI2LHk9KGgtYikvMjYscD0xPDxiO2lmKHRoaXMubGVuZ3RoPD15KXJldHVybiB0aGlzLl9leHBhbmQoeSsxKSx0aGlzLndvcmRzW3ldfD1wLHRoaXM7Zm9yKHZhciBnPXAsXz15OzAhPT1nJiZf''@;'; put 'put ''PHRoaXMubGVuZ3RoO18rKyl7dmFyIEU9MHx0aGlzLndvcmRzW19dO2c9KEUrPWcpPj4+MjYsdGhpcy53b3Jkc1tfXT1FJj02NzEwODg2M31yZXR1cm4gMCE9PWcmJih0aGlzLndvcmRzW19dPWcsdGhpcy5sZW5ndGgrKyksdGhpc30sbS5wcm90b3R5cGUuaXNaZXJvPWZ1bmN0aW9uKCl7cmV0''@;'; put 'put ''dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF19LG0ucHJvdG90eXBlLmNtcG49ZnVuY3Rpb24oaCl7dmFyIGIseT1oPDA7aWYoMCE9PXRoaXMubmVnYXRpdmUmJiF5KXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiZ5KXJldHVybiAxO2lmKHRoaXMuc3RyaXAoKSx0''@;'; put 'put ''aGlzLmxlbmd0aD4xKWI9MTtlbHNle3kmJihoPS1oKSxDKGg8PTY3MTA4ODYzLCJOdW1iZXIgaXMgdG9vIGJpZyIpO3ZhciBwPTB8dGhpcy53b3Jkc1swXTtiPXA9PT1oPzA6cDxoPy0xOjF9cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWI6Yn0sbS5wcm90b3R5cGUuY21wPWZ1bmN0aW9u''@;'; put 'put ''KGgpe2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09aC5uZWdhdGl2ZSlyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWgubmVnYXRpdmUpcmV0dXJuIDE7dmFyIGI9dGhpcy51Y21wKGgpO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1iOmJ9LG0ucHJvdG90eXBlLnVjbXA9''@;'; put 'put ''ZnVuY3Rpb24oaCl7aWYodGhpcy5sZW5ndGg+aC5sZW5ndGgpcmV0dXJuIDE7aWYodGhpcy5sZW5ndGg8aC5sZW5ndGgpcmV0dXJuLTE7Zm9yKHZhciBiPTAseT10aGlzLmxlbmd0aC0xO3k+PTA7eS0tKXt2YXIgcD0wfHRoaXMud29yZHNbeV0sZz0wfGgud29yZHNbeV07aWYocCE9PWcpe3A8''@;'; put 'put ''Zz9iPS0xOnA+ZyYmKGI9MSk7YnJlYWt9fXJldHVybiBifSxtLnByb3RvdHlwZS5ndG49ZnVuY3Rpb24oaCl7cmV0dXJuIDE9PT10aGlzLmNtcG4oaCl9LG0ucHJvdG90eXBlLmd0PWZ1bmN0aW9uKGgpe3JldHVybiAxPT09dGhpcy5jbXAoaCl9LG0ucHJvdG90eXBlLmd0ZW49ZnVuY3Rpb24o''@;'; put 'put ''aCl7cmV0dXJuIHRoaXMuY21wbihoKT49MH0sbS5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcChoKT49MH0sbS5wcm90b3R5cGUubHRuPWZ1bmN0aW9uKGgpe3JldHVybi0xPT09dGhpcy5jbXBuKGgpfSxtLnByb3RvdHlwZS5sdD1mdW5jdGlvbihoKXtyZXR1cm4t''@;'; put 'put ''MT09PXRoaXMuY21wKGgpfSxtLnByb3RvdHlwZS5sdGVuPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmNtcG4oaCk8PTB9LG0ucHJvdG90eXBlLmx0ZT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5jbXAoaCk8PTB9LG0ucHJvdG90eXBlLmVxbj1mdW5jdGlvbihoKXtyZXR1cm4gMD09PXRoaXMu''@;'; put 'put ''Y21wbihoKX0sbS5wcm90b3R5cGUuZXE9ZnVuY3Rpb24oaCl7cmV0dXJuIDA9PT10aGlzLmNtcChoKX0sbS5yZWQ9ZnVuY3Rpb24oaCl7cmV0dXJuIG5ldyAkKGgpfSxtLnByb3RvdHlwZS50b1JlZD1mdW5jdGlvbihoKXtyZXR1cm4gQyghdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4g''@;'; put 'put ''cmVkdWN0aW9uIGNvbnRleHQiKSxDKDA9PT10aGlzLm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLGguY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChoKX0sbS5wcm90b3R5cGUuZnJvbVJlZD1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJmcm9tUmVkIHdv''@;'; put 'put ''cmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5yZWQuY29udmVydEZyb20odGhpcyl9LG0ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5yZWQ9aCx0aGlzfSxtLnByb3RvdHlwZS5mb3JjZVJlZD1mdW5jdGlvbihoKXty''@;'; put 'put ''ZXR1cm4gQyghdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLl9mb3JjZVJlZChoKX0sbS5wcm90b3R5cGUucmVkQWRkPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiks''@;'; put 'put ''dGhpcy5yZWQuYWRkKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZElBZGQ9ZnVuY3Rpb24oaCl7cmV0dXJuIEModGhpcy5yZWQsInJlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaWFkZCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRTdWI9ZnVuY3Rpb24oaCl7''@;'; put 'put ''cmV0dXJuIEModGhpcy5yZWQsInJlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zdWIodGhpcyxoKX0sbS5wcm90b3R5cGUucmVkSVN1Yj1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMi''@;'; put 'put ''KSx0aGlzLnJlZC5pc3ViKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbihoKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnNobCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24oaCl7''@;'; put 'put ''cmV0dXJuIEModGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLGgpLHRoaXMucmVkLm11bCh0aGlzLGgpfSxtLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkLCJyZWRNdWwgd29y''@;'; put 'put ''a3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxoKSx0aGlzLnJlZC5pbXVsKHRoaXMsaCl9LG0ucHJvdG90eXBlLnJlZFNxcj1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhp''@;'; put 'put ''cy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FyKHRoaXMpfSxtLnByb3RvdHlwZS5yZWRJU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcy5yZWQsInJlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaXNx''@;'; put 'put ''cih0aGlzKX0sbS5wcm90b3R5cGUucmVkU3FydD1mdW5jdGlvbigpe3JldHVybiBDKHRoaXMucmVkLCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcnQodGhpcyl9LG0ucHJvdG90eXBlLnJlZEludm09ZnVu''@;'; put 'put ''Y3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pbnZtKHRoaXMpfSxtLnByb3RvdHlwZS5yZWROZWc9ZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLnJlZCwicmVkTmVn''@;'; put 'put ''IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLm5lZyh0aGlzKX0sbS5wcm90b3R5cGUucmVkUG93PWZ1bmN0aW9uKGgpe3JldHVybiBDKHRoaXMucmVkJiYhaC5yZWQsInJlZFBvdyhub3JtYWxOdW0pIiksdGhpcy5yZWQuX3Zl''@;'; put 'put ''cmlmeTEodGhpcyksdGhpcy5yZWQucG93KHRoaXMsaCl9O3ZhciBVPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24gVihoLGIpe3RoaXMubmFtZT1oLHRoaXMucD1uZXcgbShiLDE2KSx0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpLHRoaXMuaz1u''@;'; put 'put ''ZXcgbSgxKS5pdXNobG4odGhpcy5uKS5pc3ViKHRoaXMucCksdGhpcy50bXA9dGhpcy5fdG1wKCl9ZnVuY3Rpb24gUigpe1YuY2FsbCh0aGlzLCJrMjU2IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiKX1m''@;'; put 'put ''dW5jdGlvbiBCKCl7Vi5jYWxsKHRoaXMsInAyMjQiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIpfWZ1bmN0aW9uIHEoKXtWLmNhbGwodGhpcywicDE5MiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZl''@;'; put 'put ''IGZmZmZmZmZmIGZmZmZmZmZmIil9ZnVuY3Rpb24gSigpe1YuY2FsbCh0aGlzLCIyNTUxOSIsIjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiKX1mdW5jdGlvbiAkKGgpe2lmKCJzdHJpbmciPT10eXBlb2YgaCl7dmFy''@;'; put 'put ''IGI9bS5fcHJpbWUoaCk7dGhpcy5tPWIucCx0aGlzLnByaW1lPWJ9ZWxzZSBDKGguZ3RuKDEpLCJtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEiKSx0aGlzLm09aCx0aGlzLnByaW1lPW51bGx9ZnVuY3Rpb24gdGUoaCl7JC5jYWxsKHRoaXMsaCksdGhpcy5zaGlmdD10aGlzLm0uYml0''@;'; put 'put ''TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgbSgxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWlu''@;'; put 'put ''dj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1WLnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIGg9bmV3IG0obnVsbCk7cmV0dXJuIGgu''@;'; put 'put ''d29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKSxofSxWLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKGgpe3ZhciBiLHk9aDtkb3t0aGlzLnNwbGl0KHksdGhpcy50bXApLGI9KHk9KHk9dGhpcy5pbXVsSyh5KSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxl''@;'; put 'put ''KGI+dGhpcy5uKTt2YXIgcD1iPHRoaXMubj8tMTp5LnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PXA/KHkud29yZHNbMF09MCx5Lmxlbmd0aD0xKTpwPjA/eS5pc3ViKHRoaXMucCk6dm9pZCAwIT09eS5zdHJpcD95LnN0cmlwKCk6eS5fc3RyaXAoKSx5fSxWLnByb3RvdHlwZS5zcGxpdD1mdW5j''@;'; put 'put ''dGlvbihoLGIpe2guaXVzaHJuKHRoaXMubiwwLGIpfSxWLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbihoKXtyZXR1cm4gaC5pbXVsKHRoaXMuayl9LFMoUixWKSxSLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihoLGIpe2Zvcih2YXIgeT00MTk0MzAzLHA9TWF0aC5taW4oaC5sZW5ndGgsOSks''@;'; put 'put ''Zz0wO2c8cDtnKyspYi53b3Jkc1tnXT1oLndvcmRzW2ddO2lmKGIubGVuZ3RoPXAsaC5sZW5ndGg8PTkpcmV0dXJuIGgud29yZHNbMF09MCx2b2lkKGgubGVuZ3RoPTEpO3ZhciBfPWgud29yZHNbOV07Zm9yKGIud29yZHNbYi5sZW5ndGgrK109XyZ5LGc9MTA7ZzxoLmxlbmd0aDtnKyspe3Zh''@;'; put 'put ''ciBFPTB8aC53b3Jkc1tnXTtoLndvcmRzW2ctMTBdPShFJnkpPDw0fF8+Pj4yMixfPUV9aC53b3Jkc1tnLTEwXT1fPj4+PTIyLGgubGVuZ3RoLT0wPT09XyYmaC5sZW5ndGg+MTA/MTA6OX0sUi5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oaCl7aC53b3Jkc1toLmxlbmd0aF09MCxoLndvcmRz''@;'; put 'put ''W2gubGVuZ3RoKzFdPTAsaC5sZW5ndGgrPTI7Zm9yKHZhciBiPTAseT0wO3k8aC5sZW5ndGg7eSsrKXt2YXIgcD0wfGgud29yZHNbeV07aC53b3Jkc1t5XT02NzEwODg2MyYoYis9OTc3KnApLGI9NjQqcCsoYi82NzEwODg2NHwwKX1yZXR1cm4gMD09PWgud29yZHNbaC5sZW5ndGgtMV0mJiho''@;'; put 'put ''Lmxlbmd0aC0tLDA9PT1oLndvcmRzW2gubGVuZ3RoLTFdJiZoLmxlbmd0aC0tKSxofSxTKEIsViksUyhxLFYpLFMoSixWKSxKLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbihoKXtmb3IodmFyIGI9MCx5PTA7eTxoLmxlbmd0aDt5Kyspe3ZhciBwPTE5KigwfGgud29yZHNbeV0pK2IsZz02NzEw''@;'; put 'put ''ODg2MyZwO3A+Pj49MjYsaC53b3Jkc1t5XT1nLGI9cH1yZXR1cm4gMCE9PWImJihoLndvcmRzW2gubGVuZ3RoKytdPWIpLGh9LG0uX3ByaW1lPWZ1bmN0aW9uKGgpe2lmKFVbaF0pcmV0dXJuIFVbaF07dmFyIGI7aWYoImsyNTYiPT09aCliPW5ldyBSO2Vsc2UgaWYoInAyMjQiPT09aCliPW5l''@;'; put 'put ''dyBCO2Vsc2UgaWYoInAxOTIiPT09aCliPW5ldyBxO2Vsc2V7aWYoInAyNTUxOSIhPT1oKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBwcmltZSAiK2gpO2I9bmV3IEp9cmV0dXJuIFVbaF09YixifSwkLnByb3RvdHlwZS5fdmVyaWZ5MT1mdW5jdGlvbihoKXtDKDA9PT1oLm5lZ2F0aXZlLCJy''@;'; put 'put ''ZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLEMoaC5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0sJC5wcm90b3R5cGUuX3ZlcmlmeTI9ZnVuY3Rpb24oaCxiKXtDKDA9PShoLm5lZ2F0aXZlfGIubmVnYXRpdmUpLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0''@;'; put 'put ''aXZlcyIpLEMoaC5yZWQmJmgucmVkPT09Yi5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0sJC5wcm90b3R5cGUuaW1vZD1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5wcmltZT90aGlzLnByaW1lLmlyZWR1Y2UoaCkuX2ZvcmNlUmVkKHRoaXMpOmgudW1vZCh0aGlzLm0p''@;'; put 'put ''Ll9mb3JjZVJlZCh0aGlzKX0sJC5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKGgpe3JldHVybiBoLmlzWmVybygpP2guY2xvbmUoKTp0aGlzLm0uc3ViKGgpLl9mb3JjZVJlZCh0aGlzKX0sJC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVyaWZ5MihoLGIpO3ZhciB5PWguYWRk''@;'; put 'put ''KGIpO3JldHVybiB5LmNtcCh0aGlzLm0pPj0wJiZ5LmlzdWIodGhpcy5tKSx5Ll9mb3JjZVJlZCh0aGlzKX0sJC5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbihoLGIpe3RoaXMuX3ZlcmlmeTIoaCxiKTt2YXIgeT1oLmlhZGQoYik7cmV0dXJuIHkuY21wKHRoaXMubSk+PTAmJnkuaXN1Yih0aGlz''@;'; put 'put ''Lm0pLHl9LCQucHJvdG90eXBlLnN1Yj1mdW5jdGlvbihoLGIpe3RoaXMuX3ZlcmlmeTIoaCxiKTt2YXIgeT1oLnN1YihiKTtyZXR1cm4geS5jbXBuKDApPDAmJnkuaWFkZCh0aGlzLm0pLHkuX2ZvcmNlUmVkKHRoaXMpfSwkLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKGgsYil7dGhpcy5fdmVy''@;'; put 'put ''aWZ5MihoLGIpO3ZhciB5PWguaXN1YihiKTtyZXR1cm4geS5jbXBuKDApPDAmJnkuaWFkZCh0aGlzLm0pLHl9LCQucHJvdG90eXBlLnNobD1mdW5jdGlvbihoLGIpe3JldHVybiB0aGlzLl92ZXJpZnkxKGgpLHRoaXMuaW1vZChoLnVzaGxuKGIpKX0sJC5wcm90b3R5cGUuaW11bD1mdW5jdGlv''@;'; put 'put ''bihoLGIpe3JldHVybiB0aGlzLl92ZXJpZnkyKGgsYiksdGhpcy5pbW9kKGguaW11bChiKSl9LCQucHJvdG90eXBlLm11bD1mdW5jdGlvbihoLGIpe3JldHVybiB0aGlzLl92ZXJpZnkyKGgsYiksdGhpcy5pbW9kKGgubXVsKGIpKX0sJC5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbihoKXtyZXR1''@;'; put 'put ''cm4gdGhpcy5pbXVsKGgsaC5jbG9uZSgpKX0sJC5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLm11bChoLGgpfSwkLnByb3RvdHlwZS5zcXJ0PWZ1bmN0aW9uKGgpe2lmKGguaXNaZXJvKCkpcmV0dXJuIGguY2xvbmUoKTt2YXIgYj10aGlzLm0uYW5kbG4oMyk7aWYoQyhi''@;'; put 'put ''JTI9PTEpLDM9PT1iKXt2YXIgeT10aGlzLm0uYWRkKG5ldyBtKDEpKS5pdXNocm4oMik7cmV0dXJuIHRoaXMucG93KGgseSl9Zm9yKHZhciBwPXRoaXMubS5zdWJuKDEpLGc9MDshcC5pc1plcm8oKSYmMD09PXAuYW5kbG4oMSk7KWcrKyxwLml1c2hybigxKTtDKCFwLmlzWmVybygpKTt2YXIg''@;'; put 'put ''Xz1uZXcgbSgxKS50b1JlZCh0aGlzKSxFPV8ucmVkTmVnKCksVz10aGlzLm0uc3VibigxKS5pdXNocm4oMSksRz10aGlzLm0uYml0TGVuZ3RoKCk7Zm9yKEc9bmV3IG0oMipHKkcpLnRvUmVkKHRoaXMpOzAhPT10aGlzLnBvdyhHLFcpLmNtcChFKTspRy5yZWRJQWRkKEUpO2Zvcih2YXIgWD10''@;'; put 'put ''aGlzLnBvdyhHLHApLG5lPXRoaXMucG93KGgscC5hZGRuKDEpLml1c2hybigxKSksYWU9dGhpcy5wb3coaCxwKSx1ZT1nOzAhPT1hZS5jbXAoXyk7KXtmb3IodmFyIGJlPWFlLF9lPTA7MCE9PWJlLmNtcChfKTtfZSsrKWJlPWJlLnJlZFNxcigpO0MoX2U8dWUpO3ZhciBsZT10aGlzLnBvdyhY''@;'; put 'put ''LG5ldyBtKDEpLml1c2hsbih1ZS1fZS0xKSk7bmU9bmUucmVkTXVsKGxlKSxYPWxlLnJlZFNxcigpLGFlPWFlLnJlZE11bChYKSx1ZT1fZX1yZXR1cm4gbmV9LCQucHJvdG90eXBlLmludm09ZnVuY3Rpb24oaCl7dmFyIGI9aC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWIubmVnYXRpdmU/''@;'; put 'put ''KGIubmVnYXRpdmU9MCx0aGlzLmltb2QoYikucmVkTmVnKCkpOnRoaXMuaW1vZChiKX0sJC5wcm90b3R5cGUucG93PWZ1bmN0aW9uKGgsYil7aWYoYi5pc1plcm8oKSlyZXR1cm4gbmV3IG0oMSkudG9SZWQodGhpcyk7aWYoMD09PWIuY21wbigxKSlyZXR1cm4gaC5jbG9uZSgpO3ZhciB5PW5l''@;'; put 'put ''dyBBcnJheSgxNik7eVswXT1uZXcgbSgxKS50b1JlZCh0aGlzKSx5WzFdPWg7Zm9yKHZhciBwPTI7cDx5Lmxlbmd0aDtwKyspeVtwXT10aGlzLm11bCh5W3AtMV0saCk7dmFyIGc9eVswXSxfPTAsRT0wLFc9Yi5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PVcmJihXPTI2KSxwPWIubGVuZ3RoLTE7''@;'; put 'put ''cD49MDtwLS0pe2Zvcih2YXIgRz1iLndvcmRzW3BdLFg9Vy0xO1g+PTA7WC0tKXt2YXIgbmU9Rz4+WCYxO2chPT15WzBdJiYoZz10aGlzLnNxcihnKSksMCE9PW5lfHwwIT09Xz8oXzw8PTEsX3w9bmUsKDQ9PSsrRXx8MD09PXAmJjA9PT1YKSYmKGc9dGhpcy5tdWwoZyx5W19dKSxFPTAsXz0w''@;'; put 'put ''KSk6RT0wfVc9MjZ9cmV0dXJuIGd9LCQucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbihoKXt2YXIgYj1oLnVtb2QodGhpcy5tKTtyZXR1cm4gYj09PWg/Yi5jbG9uZSgpOmJ9LCQucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKGgpe3ZhciBiPWguY2xvbmUoKTtyZXR1cm4gYi5y''@;'; put 'put ''ZWQ9bnVsbCxifSxtLm1vbnQ9ZnVuY3Rpb24oaCl7cmV0dXJuIG5ldyB0ZShoKX0sUyh0ZSwkKSx0ZS5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmltb2QoaC51c2hsbih0aGlzLnNoaWZ0KSl9LHRlLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbiho''@;'; put 'put ''KXt2YXIgYj10aGlzLmltb2QoaC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGIucmVkPW51bGwsYn0sdGUucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24oaCxiKXtpZihoLmlzWmVybygpfHxiLmlzWmVybygpKXJldHVybiBoLndvcmRzWzBdPTAsaC5sZW5ndGg9MSxoO3ZhciB5PWguaW11bChiKSxw''@;'; put 'put ''PXkubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGc9eS5pc3ViKHApLml1c2hybih0aGlzLnNoaWZ0KSxfPWc7cmV0dXJuIGcuY21wKHRoaXMubSk+PTA/Xz1nLmlzdWIodGhpcy5tKTpnLmNtcG4oMCk8MCYmKF89Zy5pYWRk''@;'; put 'put ''KHRoaXMubSkpLF8uX2ZvcmNlUmVkKHRoaXMpfSx0ZS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGgsYil7aWYoaC5pc1plcm8oKXx8Yi5pc1plcm8oKSlyZXR1cm4gbmV3IG0oMCkuX2ZvcmNlUmVkKHRoaXMpO3ZhciB5PWgubXVsKGIpLHA9eS5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5t''@;'; put 'put ''aW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksZz15LmlzdWIocCkuaXVzaHJuKHRoaXMuc2hpZnQpLF89ZztyZXR1cm4gZy5jbXAodGhpcy5tKT49MD9fPWcuaXN1Yih0aGlzLm0pOmcuY21wbigwKTwwJiYoXz1nLmlhZGQodGhpcy5tKSksXy5fZm9yY2VSZWQodGhpcyl9LHRl''@;'; put 'put ''LnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKGgpe3JldHVybiB0aGlzLmltb2QoaC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KFo9ai5ubWQoWiksdGhpcyl9LDYxMzg6KFosQSxqKT0+e3ZhciBOPWooOTgwKSx6PWooOTE5OSksQz1qKDc4NTkpLFM9aigy''@;'; put 'put ''MTQ0KSxtPWooMzY2MyksRj1qKDM0ODIpLEQ9aig0ODE4KSx3PWooOTUwOSkuQnVmZmVyO1ouZXhwb3J0cz1mdW5jdGlvbihQLE0sayl7dmFyIE87Tz1QLnBhZGRpbmc/UC5wYWRkaW5nOms/MTo0O3ZhciBMLFQ9TihQKSxZPVQubW9kdWx1cy5ieXRlTGVuZ3RoKCk7aWYoTS5sZW5ndGg+WXx8''@;'; put 'put ''bmV3IFMoTSkuY21wKFQubW9kdWx1cyk+PTApdGhyb3cgbmV3IEVycm9yKCJkZWNyeXB0aW9uIGVycm9yIik7TD1rP0QobmV3IFMoTSksVCk6bShNLFQpO3ZhciBJPXcuYWxsb2MoWS1MLmxlbmd0aCk7aWYoTD13LmNvbmNhdChbSSxMXSxZKSw0PT09TylyZXR1cm4gZnVuY3Rpb24oVSxWKXt2''@;'; put 'put ''YXIgUj1VLm1vZHVsdXMuYnl0ZUxlbmd0aCgpLEI9Rigic2hhMSIpLnVwZGF0ZSh3LmFsbG9jKDApKS5kaWdlc3QoKSxxPUIubGVuZ3RoO2lmKDAhPT1WWzBdKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO3ZhciBKPVYuc2xpY2UoMSxxKzEpLCQ9Vi5zbGljZShxKzEpLHRl''@;'; put 'put ''PUMoSix6KCQscSkpLGg9QygkLHoodGUsUi1xLTEpKTtpZihmdW5jdGlvbih5LHApe3k9dy5mcm9tKHkpLHA9dy5mcm9tKHApO3ZhciBnPTAsXz15Lmxlbmd0aDt5Lmxlbmd0aCE9PXAubGVuZ3RoJiYoZysrLF89TWF0aC5taW4oeS5sZW5ndGgscC5sZW5ndGgpKTtmb3IodmFyIEU9LTE7KytF''@;'; put 'put ''PF87KWcrPXlbRV1ecFtFXTtyZXR1cm4gZ30oQixoLnNsaWNlKDAscSkpKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO2Zvcih2YXIgYj1xOzA9PT1oW2JdOyliKys7aWYoMSE9PWhbYisrXSl0aHJvdyBuZXcgRXJyb3IoImRlY3J5cHRpb24gZXJyb3IiKTtyZXR1cm4gaC5z''@;'; put 'put ''bGljZShiKX0oVCxMKTtpZigxPT09TylyZXR1cm4gZnVuY3Rpb24oVSxWLFIpe2Zvcih2YXIgQj1WLnNsaWNlKDAsMikscT0yLEo9MDswIT09VltxKytdOylpZihxPj1WLmxlbmd0aCl7SisrO2JyZWFrfXZhciAkPVYuc2xpY2UoMixxLTEpO2lmKCgiMDAwMiIhPT1CLnRvU3RyaW5nKCJoZXgi''@;'; put 'put ''KSYmIVJ8fCIwMDAxIiE9PUIudG9TdHJpbmcoImhleCIpJiZSKSYmSisrLCQubGVuZ3RoPDgmJkorKyxKKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO3JldHVybiBWLnNsaWNlKHEpfSgwLEwsayk7aWYoMz09PU8pcmV0dXJuIEw7dGhyb3cgbmV3IEVycm9yKCJ1bmtub3du''@;'; put 'put ''IHBhZGRpbmciKX19LDY1NTk6KFosQSxqKT0+e3ZhciBOPWooOTgwKSx6PWooMTc5OCksQz1qKDM0ODIpLFM9aig5MTk5KSxtPWooNzg1OSksRj1qKDIxNDQpLEQ9aig0ODE4KSx3PWooMzY2MyksUD1qKDk1MDkpLkJ1ZmZlcjtaLmV4cG9ydHM9ZnVuY3Rpb24oTSxrLE8pe3ZhciBMO0w9TS5w''@;'; put 'put ''YWRkaW5nP00ucGFkZGluZzpPPzE6NDt2YXIgVCxZPU4oTSk7aWYoND09PUwpVD1mdW5jdGlvbihJLFUpe3ZhciBWPUkubW9kdWx1cy5ieXRlTGVuZ3RoKCksUj1VLmxlbmd0aCxCPUMoInNoYTEiKS51cGRhdGUoUC5hbGxvYygwKSkuZGlnZXN0KCkscT1CLmxlbmd0aCxKPTIqcTtpZihSPlYt''@;'; put 'put ''Si0yKXRocm93IG5ldyBFcnJvcigibWVzc2FnZSB0b28gbG9uZyIpO3ZhciAkPVAuYWxsb2MoVi1SLUotMiksdGU9Vi1xLTEsaD16KHEpLGI9bShQLmNvbmNhdChbQiwkLFAuYWxsb2MoMSwxKSxVXSx0ZSksUyhoLHRlKSkseT1tKGgsUyhiLHEpKTtyZXR1cm4gbmV3IEYoUC5jb25jYXQoW1Au''@;'; put 'put ''YWxsb2MoMSkseSxiXSxWKSl9KFksayk7ZWxzZSBpZigxPT09TClUPWZ1bmN0aW9uKEksVSxWKXt2YXIgUixCPVUubGVuZ3RoLHE9SS5tb2R1bHVzLmJ5dGVMZW5ndGgoKTtpZihCPnEtMTEpdGhyb3cgbmV3IEVycm9yKCJtZXNzYWdlIHRvbyBsb25nIik7cmV0dXJuIFI9Vj9QLmFsbG9jKHEt''@;'; put 'put ''Qi0zLDI1NSk6ZnVuY3Rpb24oSil7Zm9yKHZhciAkLHRlPVAuYWxsb2NVbnNhZmUoSiksaD0wLGI9eigyKkopLHk9MDtoPEo7KXk9PT1iLmxlbmd0aCYmKGI9eigyKkopLHk9MCksKCQ9Ylt5KytdKSYmKHRlW2grK109JCk7cmV0dXJuIHRlfShxLUItMyksbmV3IEYoUC5jb25jYXQoW1AuZnJv''@;'; put 'put ''bShbMCxWPzE6Ml0pLFIsUC5hbGxvYygxKSxVXSxxKSl9KFksayxPKTtlbHNle2lmKDMhPT1MKXRocm93IG5ldyBFcnJvcigidW5rbm93biBwYWRkaW5nIik7aWYoKFQ9bmV3IEYoaykpLmNtcChZLm1vZHVsdXMpPj0wKXRocm93IG5ldyBFcnJvcigiZGF0YSB0b28gbG9uZyBmb3IgbW9kdWx1''@;'; put 'put ''cyIpfXJldHVybiBPP3coVCxZKTpEKFQsWSl9fSw0ODE4OihaLEEsaik9Pnt2YXIgTj1qKDIxNDQpLHo9aig5NTA5KS5CdWZmZXI7Wi5leHBvcnRzPWZ1bmN0aW9uKEMsUyl7cmV0dXJuIHouZnJvbShDLnRvUmVkKE4ubW9udChTLm1vZHVsdXMpKS5yZWRQb3cobmV3IE4oUy5wdWJsaWNFeHBv''@;'; put 'put ''bmVudCkpLmZyb21SZWQoKS50b0FycmF5KCkpfX0sNzg1OTpaPT57Wi5leHBvcnRzPWZ1bmN0aW9uKEEsail7Zm9yKHZhciBOPUEubGVuZ3RoLHo9LTE7Kyt6PE47KUFbel1ePWpbel07cmV0dXJuIEF9fSwzNjg5OihaLEEsaik9PnsidXNlIHN0cmljdCI7ai5yKEEpLGouZChBLHt1Y3MyZGVj''@;'; put 'put ''b2RlOigpPT5rLHVjczJlbmNvZGU6KCk9Pk8sZGVjb2RlOigpPT5ZLGVuY29kZTooKT0+SSx0b0FTQ0lJOigpPT5WLHRvVW5pY29kZTooKT0+VSxkZWZhdWx0OigpPT5SfSk7Y29uc3QgTj0yMTQ3NDgzNjQ3LHo9MzYsQz0vXnhuLS0vLFM9L1teXDAtXHg3RV0vLG09L1tceDJFXHUzMDAyXHVG''@;'; put 'put ''RjBFXHVGRjYxXS9nLEY9e292ZXJmbG93OiJPdmVyZmxvdzogaW5wdXQgbmVlZHMgd2lkZXIgaW50ZWdlcnMgdG8gcHJvY2VzcyIsIm5vdC1iYXNpYyI6IklsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCkiLCJpbnZhbGlkLWlucHV0IjoiSW52YWxpZCBpbnB1''@;'; put 'put ''dCJ9LEQ9TWF0aC5mbG9vcix3PVN0cmluZy5mcm9tQ2hhckNvZGU7ZnVuY3Rpb24gUChCKXt0aHJvdyBuZXcgUmFuZ2VFcnJvcihGW0JdKX1mdW5jdGlvbiBNKEIscSl7Y29uc3QgSj1CLnNwbGl0KCJAIik7bGV0ICQ9IiI7cmV0dXJuIEoubGVuZ3RoPjEmJigkPUpbMF0rIkAiLEI9SlsxXSks''@;'; put 'put ''JCtmdW5jdGlvbihoLGIpe2NvbnN0IHk9W107bGV0IHA9aC5sZW5ndGg7Zm9yKDtwLS07KXlbcF09YihoW3BdKTtyZXR1cm4geX0oKEI9Qi5yZXBsYWNlKG0sIi4iKSkuc3BsaXQoIi4iKSxxKS5qb2luKCIuIil9ZnVuY3Rpb24gayhCKXtjb25zdCBxPVtdO2xldCBKPTA7Y29uc3QgJD1CLmxl''@;'; put 'put ''bmd0aDtmb3IoO0o8JDspe2NvbnN0IHRlPUIuY2hhckNvZGVBdChKKyspO2lmKHRlPj01NTI5NiYmdGU8PTU2MzE5JiZKPCQpe2NvbnN0IGg9Qi5jaGFyQ29kZUF0KEorKyk7NTYzMjA9PSg2NDUxMiZoKT9xLnB1c2goKCgxMDIzJnRlKTw8MTApKygxMDIzJmgpKzY1NTM2KToocS5wdXNoKHRl''@;'; put 'put ''KSxKLS0pfWVsc2UgcS5wdXNoKHRlKX1yZXR1cm4gcX1jb25zdCBPPUI9PlN0cmluZy5mcm9tQ29kZVBvaW50KC4uLkIpLEw9ZnVuY3Rpb24oQixxKXtyZXR1cm4gQisyMis3NSooQjwyNiktKCgwIT1xKTw8NSl9LFQ9ZnVuY3Rpb24oQixxLEope2xldCAkPTA7Zm9yKEI9Sj9EKEIvNzAwKTpC''@;'; put 'put ''Pj4xLEIrPUQoQi9xKTtCPjQ1NTskKz16KUI9RChCLzM1KTtyZXR1cm4gRCgkKzM2KkIvKEIrMzgpKX0sWT1mdW5jdGlvbihCKXtjb25zdCBxPVtdLEo9Qi5sZW5ndGg7bGV0ICQ9MCx0ZT0xMjgsaD03MixiPUIubGFzdEluZGV4T2YoIi0iKTtiPDAmJihiPTApO2ZvcihsZXQgcD0wO3A8Yjsr''@;'; put 'put ''K3ApQi5jaGFyQ29kZUF0KHApPj0xMjgmJlAoIm5vdC1iYXNpYyIpLHEucHVzaChCLmNoYXJDb2RlQXQocCkpO2ZvcihsZXQgcD1iPjA/YisxOjA7cDxKOyl7bGV0IGc9JDtmb3IobGV0IEU9MSxXPXo7O1crPXope3A+PUomJlAoImludmFsaWQtaW5wdXQiKTtjb25zdCBHPSh5PUIuY2hhckNv''@;'; put 'put ''ZGVBdChwKyspKS00ODwxMD95LTIyOnktNjU8MjY/eS02NTp5LTk3PDI2P3ktOTc6ejsoRz49enx8Rz5EKChOLSQpL0UpKSYmUCgib3ZlcmZsb3ciKSwkKz1HKkU7Y29uc3QgWD1XPD1oPzE6Vz49aCsyNj8yNjpXLWg7aWYoRzxYKWJyZWFrO2NvbnN0IG5lPXotWDtFPkQoTi9uZSkmJlAoIm92''@;'; put 'put ''ZXJmbG93IiksRSo9bmV9Y29uc3QgXz1xLmxlbmd0aCsxO2g9VCgkLWcsXywwPT1nKSxEKCQvXyk+Ti10ZSYmUCgib3ZlcmZsb3ciKSx0ZSs9RCgkL18pLCQlPV8scS5zcGxpY2UoJCsrLDAsdGUpfXZhciB5O3JldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludCguLi5xKX0sST1mdW5jdGlvbihC''@;'; put 'put ''KXtjb25zdCBxPVtdO2xldCBKPShCPWsoQikpLmxlbmd0aCwkPTEyOCx0ZT0wLGg9NzI7Zm9yKGNvbnN0IHAgb2YgQilwPDEyOCYmcS5wdXNoKHcocCkpO2xldCBiPXEubGVuZ3RoLHk9Yjtmb3IoYiYmcS5wdXNoKCItIik7eTxKOyl7bGV0IHA9Tjtmb3IoY29uc3QgXyBvZiBCKV8+PSQmJl88''@;'; put 'put ''cCYmKHA9Xyk7Y29uc3QgZz15KzE7cC0kPkQoKE4tdGUpL2cpJiZQKCJvdmVyZmxvdyIpLHRlKz0ocC0kKSpnLCQ9cDtmb3IoY29uc3QgXyBvZiBCKWlmKF88JCYmKyt0ZT5OJiZQKCJvdmVyZmxvdyIpLF89PSQpe2xldCBFPXRlO2ZvcihsZXQgVz16OztXKz16KXtjb25zdCBHPVc8PWg/MTpX''@;'; put 'put ''Pj1oKzI2PzI2OlctaDtpZihFPEcpYnJlYWs7Y29uc3QgWD1FLUcsbmU9ei1HO3EucHVzaCh3KEwoRytYJW5lLDApKSksRT1EKFgvbmUpfXEucHVzaCh3KEwoRSwwKSkpLGg9VCh0ZSxnLHk9PWIpLHRlPTAsKyt5fSsrdGUsKyskfXJldHVybiBxLmpvaW4oIiIpfSxVPWZ1bmN0aW9uKEIpe3Jl''@;'; put 'put ''dHVybiBNKEIsZnVuY3Rpb24ocSl7cmV0dXJuIEMudGVzdChxKT9ZKHEuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSk6cX0pfSxWPWZ1bmN0aW9uKEIpe3JldHVybiBNKEIsZnVuY3Rpb24ocSl7cmV0dXJuIFMudGVzdChxKT8ieG4tLSIrSShxKTpxfSl9LFI9e3ZlcnNpb246IjIuMS4wIix1Y3My''@;'; put 'put ''OntkZWNvZGU6ayxlbmNvZGU6T30sZGVjb2RlOlksZW5jb2RlOkksdG9BU0NJSTpWLHRvVW5pY29kZTpVfX0sMjU4NzpaPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEEoaixOKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGosTil9Wi5leHBvcnRzPWZ1bmN0''@;'; put 'put ''aW9uKGosTix6LEMpe3o9enx8Ij0iO3ZhciBTPXt9O2lmKCJzdHJpbmciIT10eXBlb2Yganx8MD09PWoubGVuZ3RoKXJldHVybiBTO3ZhciBtPS9cKy9nO2o9ai5zcGxpdChOPU58fCImIik7dmFyIEY9MWUzO0MmJiJudW1iZXIiPT10eXBlb2YgQy5tYXhLZXlzJiYoRj1DLm1heEtleXMpO3Zh''@;'; put 'put ''ciBEPWoubGVuZ3RoO0Y+MCYmRD5GJiYoRD1GKTtmb3IodmFyIHc9MDt3PEQ7Kyt3KXt2YXIgUCxNLGssTyxMPWpbd10ucmVwbGFjZShtLCIlMjAiKSxUPUwuaW5kZXhPZih6KTtUPj0wPyhQPUwuc3Vic3RyKDAsVCksTT1MLnN1YnN0cihUKzEpKTooUD1MLE09IiIpLGs9ZGVjb2RlVVJJQ29t''@;'; put 'put ''cG9uZW50KFApLE89ZGVjb2RlVVJJQ29tcG9uZW50KE0pLEEoUyxrKT9BcnJheS5pc0FycmF5KFNba10pP1Nba10ucHVzaChPKTpTW2tdPVtTW2tdLE9dOlNba109T31yZXR1cm4gU319LDIxODI6Wj0+eyJ1c2Ugc3RyaWN0Ijt2YXIgQT1mdW5jdGlvbihqKXtzd2l0Y2godHlwZW9mIGope2Nh''@;'; put 'put ''c2Uic3RyaW5nIjpyZXR1cm4gajtjYXNlImJvb2xlYW4iOnJldHVybiBqPyJ0cnVlIjoiZmFsc2UiO2Nhc2UibnVtYmVyIjpyZXR1cm4gaXNGaW5pdGUoaik/ajoiIjtkZWZhdWx0OnJldHVybiIifX07Wi5leHBvcnRzPWZ1bmN0aW9uKGosTix6LEMpe3JldHVybiBOPU58fCImIix6PXp8fCI9''@;'; put 'put ''IixudWxsPT09aiYmKGo9dm9pZCAwKSwib2JqZWN0Ij09dHlwZW9mIGo/T2JqZWN0LmtleXMoaikubWFwKGZ1bmN0aW9uKFMpe3ZhciBtPWVuY29kZVVSSUNvbXBvbmVudChBKFMpKSt6O3JldHVybiBBcnJheS5pc0FycmF5KGpbU10pP2pbU10ubWFwKGZ1bmN0aW9uKEYpe3JldHVybiBtK2Vu''@;'; put 'put ''Y29kZVVSSUNvbXBvbmVudChBKEYpKX0pLmpvaW4oTik6bStlbmNvZGVVUklDb21wb25lbnQoQShqW1NdKSl9KS5qb2luKE4pOkM/ZW5jb2RlVVJJQ29tcG9uZW50KEEoQykpK3orZW5jb2RlVVJJQ29tcG9uZW50KEEoaikpOiIifX0sNzY3MzooWixBLGopPT57InVzZSBzdHJpY3QiO0EuZGVj''@;'; put 'put ''b2RlPUEucGFyc2U9aigyNTg3KSxBLmVuY29kZT1BLnN0cmluZ2lmeT1qKDIxODIpfSwxNzk4OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0MTU1KSx6PTY1NTM2LFM9aig5NTA5KS5CdWZmZXIsbT1qLmcuY3J5cHRvfHxqLmcubXNDcnlwdG87Wi5leHBvcnRzPW0mJm0uZ2V0UmFu''@;'; put 'put ''ZG9tVmFsdWVzP2Z1bmN0aW9uKEYsRCl7aWYoRj40Mjk0OTY3Mjk1KXRocm93IG5ldyBSYW5nZUVycm9yKCJyZXF1ZXN0ZWQgdG9vIG1hbnkgcmFuZG9tIGJ5dGVzIik7dmFyIHc9Uy5hbGxvY1Vuc2FmZShGKTtpZihGPjApaWYoRj56KWZvcih2YXIgUD0wO1A8RjtQKz16KW0uZ2V0UmFuZG9t''@;'; put 'put ''VmFsdWVzKHcuc2xpY2UoUCxQK3opKTtlbHNlIG0uZ2V0UmFuZG9tVmFsdWVzKHcpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBEP04ubmV4dFRpY2soZnVuY3Rpb24oKXtEKG51bGwsdyl9KTp3fTpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiU2VjdXJlIHJhbmRvbSBudW1iZXIgZ2Vu''@;'; put 'put ''ZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3Nlci5cblVzZSBDaHJvbWUsIEZpcmVmb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEiKX19LDc5NjM6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpO2Z1bmN0aW9uIHooKXt0aHJvdyBuZXcgRXJyb3IoInNl''@;'; put 'put ''Y3VyZSByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXJcbnVzZSBjaHJvbWUsIEZpcmVGb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEiKX12YXIgQz1qKDk1MDkpLFM9aigxNzk4KSxtPUMuQnVmZmVyLEY9Qy5rTWF4TGVuZ3RoLEQ9ai5nLmNy''@;'; put 'put ''eXB0b3x8ai5nLm1zQ3J5cHRvLHc9TWF0aC5wb3coMiwzMiktMTtmdW5jdGlvbiBQKE8sTCl7aWYoIm51bWJlciIhPXR5cGVvZiBPfHxPIT1PKXRocm93IG5ldyBUeXBlRXJyb3IoIm9mZnNldCBtdXN0IGJlIGEgbnVtYmVyIik7aWYoTz53fHxPPDApdGhyb3cgbmV3IFR5cGVFcnJvcigib2Zm''@;'; put 'put ''c2V0IG11c3QgYmUgYSB1aW50MzIiKTtpZihPPkZ8fE8+TCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIE0oTyxMLFQpe2lmKCJudW1iZXIiIT10eXBlb2YgT3x8TyE9Tyl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaXplIG11c3QgYmUgYSBudW1i''@;'; put 'put ''ZXIiKTtpZihPPnd8fE88MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaXplIG11c3QgYmUgYSB1aW50MzIiKTtpZihPK0w+VHx8Tz5GKXRocm93IG5ldyBSYW5nZUVycm9yKCJidWZmZXIgdG9vIHNtYWxsIil9ZnVuY3Rpb24gayhPLEwsVCxZKXtpZihOLmJyb3dzZXIpe3ZhciBVPW5ldyBVaW50''@;'; put 'put ''OEFycmF5KE8uYnVmZmVyLEwsVCk7cmV0dXJuIEQuZ2V0UmFuZG9tVmFsdWVzKFUpLFk/dm9pZCBOLm5leHRUaWNrKGZ1bmN0aW9uKCl7WShudWxsLE8pfSk6T31pZighWSlyZXR1cm4gUyhUKS5jb3B5KE8sTCksTztTKFQsZnVuY3Rpb24oVixSKXtpZihWKXJldHVybiBZKFYpO1IuY29weShP''@;'; put 'put ''LEwpLFkobnVsbCxPKX0pfUQmJkQuZ2V0UmFuZG9tVmFsdWVzfHwhTi5icm93c2VyPyhBLnJhbmRvbUZpbGw9ZnVuY3Rpb24oTyxMLFQsWSl7aWYoIShtLmlzQnVmZmVyKE8pfHxPIGluc3RhbmNlb2Ygai5nLlVpbnQ4QXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWYiIGFyZ3VtZW50''@;'; put 'put ''IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBMKVk9TCxMPTAsVD1PLmxlbmd0aDtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBUKVk9VCxUPU8ubGVuZ3RoLUw7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2YgWSl0aHJvdyBuZXcgVHlw''@;'; put 'put ''ZUVycm9yKCciY2IiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO3JldHVybiBQKEwsTy5sZW5ndGgpLE0oVCxMLE8ubGVuZ3RoKSxrKE8sTCxULFkpfSxBLnJhbmRvbUZpbGxTeW5jPWZ1bmN0aW9uKE8sTCxUKXtpZih2b2lkIDA9PT1MJiYoTD0wKSwhKG0uaXNCdWZmZXIoTyl8fE8g''@;'; put 'put ''aW5zdGFuY2VvZiBqLmcuVWludDhBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImJ1ZiIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7cmV0dXJuIFAoTCxPLmxlbmd0aCksdm9pZCAwPT09VCYmKFQ9Ty5sZW5ndGgtTCksTShULEwsTy5sZW5ndGgpLGsoTyxM''@;'; put 'put ''LFQpfSk6KEEucmFuZG9tRmlsbD16LEEucmFuZG9tRmlsbFN5bmM9eil9LDQyODE6Wj0+eyJ1c2Ugc3RyaWN0Ijt2YXIgQT17fTtmdW5jdGlvbiBqKHosQyxTKXtTfHwoUz1FcnJvcik7dmFyIG09ZnVuY3Rpb24oRil7dmFyIEQsdztmdW5jdGlvbiBQKE0sayxPKXtyZXR1cm4gRi5jYWxsKHRo''@;'; put 'put ''aXMsInN0cmluZyI9PXR5cGVvZiBDP0M6QyhNLGssTykpfHx0aGlzfXJldHVybiB3PUYsKEQ9UCkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUody5wcm90b3R5cGUpLEQucHJvdG90eXBlLmNvbnN0cnVjdG9yPUQsRC5fX3Byb3RvX189dyxQfShTKTttLnByb3RvdHlwZS5uYW1lPVMubmFtZSxt''@;'; put 'put ''LnByb3RvdHlwZS5jb2RlPXosQVt6XT1tfWZ1bmN0aW9uIE4oeixDKXtpZihBcnJheS5pc0FycmF5KHopKXt2YXIgUz16Lmxlbmd0aDtyZXR1cm4gej16Lm1hcChmdW5jdGlvbihtKXtyZXR1cm4gU3RyaW5nKG0pfSksUz4yPyJvbmUgb2YgIi5jb25jYXQoQywiICIpLmNvbmNhdCh6LnNsaWNl''@;'; put 'put ''KDAsUy0xKS5qb2luKCIsICIpLCIsIG9yICIpK3pbUy0xXToyPT09Uz8ib25lIG9mICIuY29uY2F0KEMsIiAiKS5jb25jYXQoelswXSwiIG9yICIpLmNvbmNhdCh6WzFdKToib2YgIi5jb25jYXQoQywiICIpLmNvbmNhdCh6WzBdKX1yZXR1cm4ib2YgIi5jb25jYXQoQywiICIpLmNvbmNhdChT''@;'; put 'put ''dHJpbmcoeikpfWooIkVSUl9JTlZBTElEX09QVF9WQUxVRSIsZnVuY3Rpb24oeixDKXtyZXR1cm4nVGhlIHZhbHVlICInK0MrJyIgaXMgaW52YWxpZCBmb3Igb3B0aW9uICInK3orJyInfSxUeXBlRXJyb3IpLGooIkVSUl9JTlZBTElEX0FSR19UWVBFIixmdW5jdGlvbih6LEMsUyl7dmFyIG0s''@;'; put 'put ''dyxNLE87aWYoInN0cmluZyI9PXR5cGVvZiBDJiYibm90ICI9PT1DLnN1YnN0cigwLCJub3QgIi5sZW5ndGgpPyhtPSJtdXN0IG5vdCBiZSIsQz1DLnJlcGxhY2UoL15ub3QgLywiIikpOm09Im11c3QgYmUiLE09eiwodm9pZCAwPT09T3x8Tz5NLmxlbmd0aCkmJihPPU0ubGVuZ3RoKSwiIGFy''@;'; put 'put ''Z3VtZW50Ij09PU0uc3Vic3RyaW5nKE8tIiBhcmd1bWVudCIubGVuZ3RoLE8pKXc9IlRoZSAiLmNvbmNhdCh6LCIgIikuY29uY2F0KG0sIiAiKS5jb25jYXQoTihDLCJ0eXBlIikpO2Vsc2V7dmFyIFA9ZnVuY3Rpb24oTSxrLE8pe3JldHVybiJudW1iZXIiIT10eXBlb2YgTyYmKE89MCksIShP''@;'; put 'put ''KyIuIi5sZW5ndGg+TS5sZW5ndGgpJiYtMSE9PU0uaW5kZXhPZigiLiIsTyl9KHopPyJwcm9wZXJ0eSI6ImFyZ3VtZW50Ijt3PSdUaGUgIicuY29uY2F0KHosJyIgJykuY29uY2F0KFAsIiAiKS5jb25jYXQobSwiICIpLmNvbmNhdChOKEMsInR5cGUiKSl9cmV0dXJuIHcrIi4gUmVjZWl2ZWQg''@;'; put 'put ''dHlwZSAiLmNvbmNhdCh0eXBlb2YgUyl9LFR5cGVFcnJvciksaigiRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRiIsInN0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GIiksaigiRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQiLGZ1bmN0aW9uKHope3JldHVybiJUaGUgIit6KyIgbWV0aG9kIGlzIG5v''@;'; put 'put ''dCBpbXBsZW1lbnRlZCJ9KSxqKCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSIsIlByZW1hdHVyZSBjbG9zZSIpLGooIkVSUl9TVFJFQU1fREVTVFJPWUVEIixmdW5jdGlvbih6KXtyZXR1cm4iQ2Fubm90IGNhbGwgIit6KyIgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZCJ9KSxqKCJF''@;'; put 'put ''UlJfTVVMVElQTEVfQ0FMTEJBQ0siLCJDYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXMiKSxqKCJFUlJfU1RSRUFNX0NBTk5PVF9QSVBFIiwiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZSIpLGooIkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EIiwid3JpdGUgYWZ0ZXIgZW5kIiksaigi''@;'; put 'put ''RVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyIsIk1heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtIixUeXBlRXJyb3IpLGooIkVSUl9VTktOT1dOX0VOQ09ESU5HIixmdW5jdGlvbih6KXtyZXR1cm4iVW5rbm93biBlbmNvZGluZzogIit6fSxUeXBlRXJyb3IpLGooIkVSUl9TVFJFQU1f''@;'; put 'put ''VU5TSElGVF9BRlRFUl9FTkRfRVZFTlQiLCJzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudCIpLFouZXhwb3J0cy5xPUF9LDY3NTM6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpLHo9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKGspe3ZhciBPPVtdO2Zvcih2YXIgTCBp''@;'; put 'put ''biBrKU8ucHVzaChMKTtyZXR1cm4gT307Wi5leHBvcnRzPXc7dmFyIEM9aig5NDgxKSxTPWooNDIyOSk7aig1NzE3KSh3LEMpO2Zvcih2YXIgbT16KFMucHJvdG90eXBlKSxGPTA7RjxtLmxlbmd0aDtGKyspe3ZhciBEPW1bRl07dy5wcm90b3R5cGVbRF18fCh3LnByb3RvdHlwZVtEXT1TLnBy''@;'; put 'put ''b3RvdHlwZVtEXSl9ZnVuY3Rpb24gdyhrKXtpZighKHRoaXMgaW5zdGFuY2VvZiB3KSlyZXR1cm4gbmV3IHcoayk7Qy5jYWxsKHRoaXMsayksUy5jYWxsKHRoaXMsayksdGhpcy5hbGxvd0hhbGZPcGVuPSEwLGsmJighMT09PWsucmVhZGFibGUmJih0aGlzLnJlYWRhYmxlPSExKSwhMT09PWsu''@;'; put 'put ''d3JpdGFibGUmJih0aGlzLndyaXRhYmxlPSExKSwhMT09PWsuYWxsb3dIYWxmT3BlbiYmKHRoaXMuYWxsb3dIYWxmT3Blbj0hMSx0aGlzLm9uY2UoImVuZCIsUCkpKX1mdW5jdGlvbiBQKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8Ti5uZXh0VGljayhNLHRoaXMpfWZ1bmN0aW9uIE0o''@;'; put 'put ''ayl7ay5lbmQoKX1PYmplY3QuZGVmaW5lUHJvcGVydHkody5wcm90b3R5cGUsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxPYmplY3QuZGVmaW5lUHJvcGVydHko''@;'; put 'put ''dy5wcm90b3R5cGUsIndyaXRhYmxlQnVmZmVyIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkody5wcm90b3R5cGUsIndyaXRhYmxl''@;'; put 'put ''TGVuZ3RoIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHcucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAh''@;'; put 'put ''PT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbihrKXt2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lk''@;'; put 'put ''IDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ayx0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1rKX19KX0sMjcyNTooWixBLGopPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz16O3ZhciBOPWooNDYwNSk7ZnVuY3Rpb24geihDKXtp''@;'; put 'put ''ZighKHRoaXMgaW5zdGFuY2VvZiB6KSlyZXR1cm4gbmV3IHooQyk7Ti5jYWxsKHRoaXMsQyl9aig1NzE3KSh6LE4pLHoucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oQyxTLG0pe20obnVsbCxDKX19LDk0ODE6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PWooNDE1NSk7Wi5l''@;'; put 'put ''eHBvcnRzPSQsJC5SZWFkYWJsZVN0YXRlPUosaig3MTg3KTt2YXIgRCxDPWZ1bmN0aW9uKGxlLGNlKXtyZXR1cm4gbGUubGlzdGVuZXJzKGNlKS5sZW5ndGh9LFM9aigyNTAzKSxtPWooODc2NCkuQnVmZmVyLEY9ai5nLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fSx3PWooNDYxNik7RD13JiZ3''@;'; put 'put ''LmRlYnVnbG9nP3cuZGVidWdsb2coInN0cmVhbSIpOmZ1bmN0aW9uKCl7fTt2YXIgUCxNLGssTz1qKDczMjcpLEw9aigxMTk1KSxUPWooMjQ1NykuZ2V0SGlnaFdhdGVyTWFyayxZPWooNDI4MSkucSxJPVkuRVJSX0lOVkFMSURfQVJHX1RZUEUsVT1ZLkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9F''@;'; put 'put ''T0YsVj1ZLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFI9WS5FUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UO2ooNTcxNykoJCxTKTt2YXIgQj1MLmVycm9yT3JEZXN0cm95LHE9WyJlcnJvciIsImNsb3NlIiwiZGVzdHJveSIsInBhdXNlIiwicmVzdW1lIl07ZnVuY3Rpb24g''@;'; put 'put ''SihsZSxjZSxwZSl7Tj1OfHxqKDY3NTMpLCJib29sZWFuIiE9dHlwZW9mIHBlJiYocGU9Y2UgaW5zdGFuY2VvZiBOKSx0aGlzLm9iamVjdE1vZGU9ISEobGU9bGV8fHt9KS5vYmplY3RNb2RlLHBlJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFsZS5yZWFkYWJsZU9iamVj''@;'; put 'put ''dE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1UKHRoaXMsbGUsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIscGUpLHRoaXMuYnVmZmVyPW5ldyBPLHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhp''@;'; put 'put ''cy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLnBhdXNlZD0hMCx0aGlzLmVtaXRD''@;'; put 'put ''bG9zZT0hMSE9PWxlLmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhbGUuYXV0b0Rlc3Ryb3ksdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9bGUuZGVmYXVsdEVuY29kaW5nfHwidXRmOCIsdGhpcy5hd2FpdERyYWluPTAsdGhpcy5yZWFkaW5nTW9yZT0hMSx0aGlz''@;'; put 'put ''LmRlY29kZXI9bnVsbCx0aGlzLmVuY29kaW5nPW51bGwsbGUuZW5jb2RpbmcmJihQfHwoUD1qKDI1NTMpLlN0cmluZ0RlY29kZXIpLHRoaXMuZGVjb2Rlcj1uZXcgUChsZS5lbmNvZGluZyksdGhpcy5lbmNvZGluZz1sZS5lbmNvZGluZyl9ZnVuY3Rpb24gJChsZSl7aWYoTj1OfHxqKDY3NTMp''@;'; put 'put ''LCEodGhpcyBpbnN0YW5jZW9mICQpKXJldHVybiBuZXcgJChsZSk7dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgSihsZSx0aGlzLHRoaXMgaW5zdGFuY2VvZiBOKSx0aGlzLnJlYWRhYmxlPSEwLGxlJiYoImZ1bmN0aW9uIj09dHlwZW9mIGxlLnJlYWQmJih0aGlzLl9yZWFkPWxlLnJlYWQpLCJm''@;'; put 'put ''dW5jdGlvbiI9PXR5cGVvZiBsZS5kZXN0cm95JiYodGhpcy5fZGVzdHJveT1sZS5kZXN0cm95KSksUy5jYWxsKHRoaXMpfWZ1bmN0aW9uIHRlKGxlLGNlLHBlLHdlLFVlKXtEKCJyZWFkYWJsZUFkZENodW5rIixjZSk7dmFyIHhlLHd0LE5lLEhlLFJlLEVlPWxlLl9yZWFkYWJsZVN0YXRlO2lm''@;'; put 'put ''KG51bGw9PT1jZSlFZS5yZWFkaW5nPSExLGZ1bmN0aW9uKHd0LE5lKXtpZihEKCJvbkVvZkNodW5rIiksIU5lLmVuZGVkKXtpZihOZS5kZWNvZGVyKXt2YXIgSGU9TmUuZGVjb2Rlci5lbmQoKTtIZSYmSGUubGVuZ3RoJiYoTmUuYnVmZmVyLnB1c2goSGUpLE5lLmxlbmd0aCs9TmUub2JqZWN0''@;'; put 'put ''TW9kZT8xOkhlLmxlbmd0aCl9TmUuZW5kZWQ9ITAsTmUuc3luYz9wKHd0KTooTmUubmVlZFJlYWRhYmxlPSExLE5lLmVtaXR0ZWRSZWFkYWJsZXx8KE5lLmVtaXR0ZWRSZWFkYWJsZT0hMCxnKHd0KSkpfX0obGUsRWUpO2Vsc2UgaWYoVWV8fCh3dD1FZSxtLmlzQnVmZmVyKFJlPU5lPWNlKXx8''@;'; put 'put ''UmUgaW5zdGFuY2VvZiBGfHwic3RyaW5nIj09dHlwZW9mIE5lfHx2b2lkIDA9PT1OZXx8d3Qub2JqZWN0TW9kZXx8KEhlPW5ldyBJKCJjaHVuayIsWyJzdHJpbmciLCJCdWZmZXIiLCJVaW50OEFycmF5Il0sTmUpKSx4ZT1IZSkseGUpQihsZSx4ZSk7ZWxzZSBpZihFZS5vYmplY3RNb2RlfHxj''@;'; put 'put ''ZSYmY2UubGVuZ3RoPjApaWYoInN0cmluZyI9PXR5cGVvZiBjZXx8RWUub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKGNlKT09PW0ucHJvdG90eXBlfHwoY2U9ZnVuY3Rpb24od3Qpe3JldHVybiBtLmZyb20od3QpfShjZSkpLHdlKUVlLmVuZEVtaXR0ZWQ/QihsZSxuZXcgUik6''@;'; put 'put ''aChsZSxFZSxjZSwhMCk7ZWxzZSBpZihFZS5lbmRlZClCKGxlLG5ldyBVKTtlbHNle2lmKEVlLmRlc3Ryb3llZClyZXR1cm4hMTtFZS5yZWFkaW5nPSExLEVlLmRlY29kZXImJiFwZT8oY2U9RWUuZGVjb2Rlci53cml0ZShjZSksRWUub2JqZWN0TW9kZXx8MCE9PWNlLmxlbmd0aD9oKGxlLEVl''@;'; put 'put ''LGNlLCExKTpfKGxlLEVlKSk6aChsZSxFZSxjZSwhMSl9ZWxzZSB3ZXx8KEVlLnJlYWRpbmc9ITEsXyhsZSxFZSkpO3JldHVybiFFZS5lbmRlZCYmKEVlLmxlbmd0aDxFZS5oaWdoV2F0ZXJNYXJrfHwwPT09RWUubGVuZ3RoKX1mdW5jdGlvbiBoKGxlLGNlLHBlLHdlKXtjZS5mbG93aW5nJiYw''@;'; put 'put ''PT09Y2UubGVuZ3RoJiYhY2Uuc3luYz8oY2UuYXdhaXREcmFpbj0wLGxlLmVtaXQoImRhdGEiLHBlKSk6KGNlLmxlbmd0aCs9Y2Uub2JqZWN0TW9kZT8xOnBlLmxlbmd0aCx3ZT9jZS5idWZmZXIudW5zaGlmdChwZSk6Y2UuYnVmZmVyLnB1c2gocGUpLGNlLm5lZWRSZWFkYWJsZSYmcChsZSkp''@;'; put 'put ''LF8obGUsY2UpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkLnByb3RvdHlwZSwiZGVzdHJveWVkIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlv''@;'; put 'put ''bihsZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWxlKX19KSwkLnByb3RvdHlwZS5kZXN0cm95PUwuZGVzdHJveSwkLnByb3RvdHlwZS5fdW5kZXN0cm95PUwudW5kZXN0cm95LCQucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGxlLGNl''@;'; put 'put ''KXtjZShsZSl9LCQucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obGUsY2Upe3ZhciBwZSx3ZT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiB3ZS5vYmplY3RNb2RlP3BlPSEwOiJzdHJpbmciPT10eXBlb2YgbGUmJigoY2U9Y2V8fHdlLmRlZmF1bHRFbmNvZGluZykhPT13ZS5lbmNvZGluZyYm''@;'; put 'put ''KGxlPW0uZnJvbShsZSxjZSksY2U9IiIpLHBlPSEwKSx0ZSh0aGlzLGxlLGNlLCExLHBlKX0sJC5wcm90b3R5cGUudW5zaGlmdD1mdW5jdGlvbihsZSl7cmV0dXJuIHRlKHRoaXMsbGUsbnVsbCwhMCwhMSl9LCQucHJvdG90eXBlLmlzUGF1c2VkPWZ1bmN0aW9uKCl7cmV0dXJuITE9PT10aGlz''@;'; put 'put ''Ll9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LCQucHJvdG90eXBlLnNldEVuY29kaW5nPWZ1bmN0aW9uKGxlKXtQfHwoUD1qKDI1NTMpLlN0cmluZ0RlY29kZXIpO3ZhciBjZT1uZXcgUChsZSk7dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyPWNlLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rp''@;'; put 'put ''bmc9dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO2Zvcih2YXIgcGU9dGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuaGVhZCx3ZT0iIjtudWxsIT09cGU7KXdlKz1jZS53cml0ZShwZS5kYXRhKSxwZT1wZS5uZXh0O3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZl''@;'; put 'put ''ci5jbGVhcigpLCIiIT09d2UmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2god2UpLHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoPXdlLmxlbmd0aCx0aGlzfTt2YXIgYj0xMDczNzQxODI0O2Z1bmN0aW9uIHkobGUsY2Upe3JldHVybiBsZTw9MHx8MD09PWNlLmxlbmd0aCYmY2Uu''@;'; put 'put ''ZW5kZWQ/MDpjZS5vYmplY3RNb2RlPzE6bGUhPWxlP2NlLmZsb3dpbmcmJmNlLmxlbmd0aD9jZS5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDpjZS5sZW5ndGg6KGxlPmNlLmhpZ2hXYXRlck1hcmsmJihjZS5oaWdoV2F0ZXJNYXJrPSgocGU9bGUpPj1iP3BlPWI6KHBlLS0scGV8PXBlPj4+MSxw''@;'; put 'put ''ZXw9cGU+Pj4yLHBlfD1wZT4+PjQscGV8PXBlPj4+OCxwZXw9cGU+Pj4xNixwZSsrKSxwZSkpLGxlPD1jZS5sZW5ndGg/bGU6Y2UuZW5kZWQ/Y2UubGVuZ3RoOihjZS5uZWVkUmVhZGFibGU9ITAsMCkpO3ZhciBwZX1mdW5jdGlvbiBwKGxlKXt2YXIgY2U9bGUuX3JlYWRhYmxlU3RhdGU7RCgi''@;'; put 'put ''ZW1pdFJlYWRhYmxlIixjZS5uZWVkUmVhZGFibGUsY2UuZW1pdHRlZFJlYWRhYmxlKSxjZS5uZWVkUmVhZGFibGU9ITEsY2UuZW1pdHRlZFJlYWRhYmxlfHwoRCgiZW1pdFJlYWRhYmxlIixjZS5mbG93aW5nKSxjZS5lbWl0dGVkUmVhZGFibGU9ITAsei5uZXh0VGljayhnLGxlKSl9ZnVuY3Rp''@;'; put 'put ''b24gZyhsZSl7dmFyIGNlPWxlLl9yZWFkYWJsZVN0YXRlO0QoImVtaXRSZWFkYWJsZV8iLGNlLmRlc3Ryb3llZCxjZS5sZW5ndGgsY2UuZW5kZWQpLGNlLmRlc3Ryb3llZHx8IWNlLmxlbmd0aCYmIWNlLmVuZGVkfHwobGUuZW1pdCgicmVhZGFibGUiKSxjZS5lbWl0dGVkUmVhZGFibGU9ITEp''@;'; put 'put ''LGNlLm5lZWRSZWFkYWJsZT0hY2UuZmxvd2luZyYmIWNlLmVuZGVkJiZjZS5sZW5ndGg8PWNlLmhpZ2hXYXRlck1hcmssbmUobGUpfWZ1bmN0aW9uIF8obGUsY2Upe2NlLnJlYWRpbmdNb3JlfHwoY2UucmVhZGluZ01vcmU9ITAsei5uZXh0VGljayhFLGxlLGNlKSl9ZnVuY3Rpb24gRShsZSxj''@;'; put 'put ''ZSl7Zm9yKDshY2UucmVhZGluZyYmIWNlLmVuZGVkJiYoY2UubGVuZ3RoPGNlLmhpZ2hXYXRlck1hcmt8fGNlLmZsb3dpbmcmJjA9PT1jZS5sZW5ndGgpOyl7dmFyIHBlPWNlLmxlbmd0aDtpZihEKCJtYXliZVJlYWRNb3JlIHJlYWQgMCIpLGxlLnJlYWQoMCkscGU9PT1jZS5sZW5ndGgpYnJl''@;'; put 'put ''YWt9Y2UucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gVyhsZSl7dmFyIGNlPWxlLl9yZWFkYWJsZVN0YXRlO2NlLnJlYWRhYmxlTGlzdGVuaW5nPWxlLmxpc3RlbmVyQ291bnQoInJlYWRhYmxlIik+MCxjZS5yZXN1bWVTY2hlZHVsZWQmJiFjZS5wYXVzZWQ/Y2UuZmxvd2luZz0hMDpsZS5saXN0''@;'; put 'put ''ZW5lckNvdW50KCJkYXRhIik+MCYmbGUucmVzdW1lKCl9ZnVuY3Rpb24gRyhsZSl7RCgicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwIiksbGUucmVhZCgwKX1mdW5jdGlvbiBYKGxlLGNlKXtEKCJyZXN1bWUiLGNlLnJlYWRpbmcpLGNlLnJlYWRpbmd8fGxlLnJlYWQoMCksY2UucmVzdW1lU2No''@;'; put 'put ''ZWR1bGVkPSExLGxlLmVtaXQoInJlc3VtZSIpLG5lKGxlKSxjZS5mbG93aW5nJiYhY2UucmVhZGluZyYmbGUucmVhZCgwKX1mdW5jdGlvbiBuZShsZSl7dmFyIGNlPWxlLl9yZWFkYWJsZVN0YXRlO2ZvcihEKCJmbG93IixjZS5mbG93aW5nKTtjZS5mbG93aW5nJiZudWxsIT09bGUucmVhZCgp''@;'; put 'put ''Oyk7fWZ1bmN0aW9uIGFlKGxlLGNlKXtyZXR1cm4gMD09PWNlLmxlbmd0aD9udWxsOihjZS5vYmplY3RNb2RlP3BlPWNlLmJ1ZmZlci5zaGlmdCgpOiFsZXx8bGU+PWNlLmxlbmd0aD8ocGU9Y2UuZGVjb2Rlcj9jZS5idWZmZXIuam9pbigiIik6MT09PWNlLmJ1ZmZlci5sZW5ndGg/Y2UuYnVm''@;'; put 'put ''ZmVyLmZpcnN0KCk6Y2UuYnVmZmVyLmNvbmNhdChjZS5sZW5ndGgpLGNlLmJ1ZmZlci5jbGVhcigpKTpwZT1jZS5idWZmZXIuY29uc3VtZShsZSxjZS5kZWNvZGVyKSxwZSk7dmFyIHBlfWZ1bmN0aW9uIHVlKGxlKXt2YXIgY2U9bGUuX3JlYWRhYmxlU3RhdGU7RCgiZW5kUmVhZGFibGUiLGNl''@;'; put 'put ''LmVuZEVtaXR0ZWQpLGNlLmVuZEVtaXR0ZWR8fChjZS5lbmRlZD0hMCx6Lm5leHRUaWNrKGJlLGNlLGxlKSl9ZnVuY3Rpb24gYmUobGUsY2Upe2lmKEQoImVuZFJlYWRhYmxlTlQiLGxlLmVuZEVtaXR0ZWQsbGUubGVuZ3RoKSwhbGUuZW5kRW1pdHRlZCYmMD09PWxlLmxlbmd0aCYmKGxlLmVu''@;'; put 'put ''ZEVtaXR0ZWQ9ITAsY2UucmVhZGFibGU9ITEsY2UuZW1pdCgiZW5kIiksbGUuYXV0b0Rlc3Ryb3kpKXt2YXIgcGU9Y2UuX3dyaXRhYmxlU3RhdGU7KCFwZXx8cGUuYXV0b0Rlc3Ryb3kmJnBlLmZpbmlzaGVkKSYmY2UuZGVzdHJveSgpfX1mdW5jdGlvbiBfZShsZSxjZSl7Zm9yKHZhciBwZT0w''@;'; put 'put ''LHdlPWxlLmxlbmd0aDtwZTx3ZTtwZSsrKWlmKGxlW3BlXT09PWNlKXJldHVybiBwZTtyZXR1cm4tMX0kLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGxlKXtEKCJyZWFkIixsZSksbGU9cGFyc2VJbnQobGUsMTApO3ZhciBjZT10aGlzLl9yZWFkYWJsZVN0YXRlLHBlPWxlO2lmKDAhPT1sZSYm''@;'; put 'put ''KGNlLmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PWxlJiZjZS5uZWVkUmVhZGFibGUmJigoMCE9PWNlLmhpZ2hXYXRlck1hcms/Y2UubGVuZ3RoPj1jZS5oaWdoV2F0ZXJNYXJrOmNlLmxlbmd0aD4wKXx8Y2UuZW5kZWQpKXJldHVybiBEKCJyZWFkOiBlbWl0UmVhZGFibGUiLGNlLmxlbmd0aCxj''@;'; put 'put ''ZS5lbmRlZCksMD09PWNlLmxlbmd0aCYmY2UuZW5kZWQ/dWUodGhpcyk6cCh0aGlzKSxudWxsO2lmKDA9PT0obGU9eShsZSxjZSkpJiZjZS5lbmRlZClyZXR1cm4gMD09PWNlLmxlbmd0aCYmdWUodGhpcyksbnVsbDt2YXIgd2UsVWU9Y2UubmVlZFJlYWRhYmxlO3JldHVybiBEKCJuZWVkIHJl''@;'; put 'put ''YWRhYmxlIixVZSksKDA9PT1jZS5sZW5ndGh8fGNlLmxlbmd0aC1sZTxjZS5oaWdoV2F0ZXJNYXJrKSYmRCgibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsiLFVlPSEwKSxjZS5lbmRlZHx8Y2UucmVhZGluZz9EKCJyZWFkaW5nIG9yIGVuZGVkIixVZT0hMSk6VWUmJihEKCJkbyByZWFkIiks''@;'; put 'put ''Y2UucmVhZGluZz0hMCxjZS5zeW5jPSEwLDA9PT1jZS5sZW5ndGgmJihjZS5uZWVkUmVhZGFibGU9ITApLHRoaXMuX3JlYWQoY2UuaGlnaFdhdGVyTWFyayksY2Uuc3luYz0hMSxjZS5yZWFkaW5nfHwobGU9eShwZSxjZSkpKSxudWxsPT09KHdlPWxlPjA/YWUobGUsY2UpOm51bGwpPyhjZS5u''@;'; put 'put ''ZWVkUmVhZGFibGU9Y2UubGVuZ3RoPD1jZS5oaWdoV2F0ZXJNYXJrLGxlPTApOihjZS5sZW5ndGgtPWxlLGNlLmF3YWl0RHJhaW49MCksMD09PWNlLmxlbmd0aCYmKGNlLmVuZGVkfHwoY2UubmVlZFJlYWRhYmxlPSEwKSxwZSE9PWxlJiZjZS5lbmRlZCYmdWUodGhpcykpLG51bGwhPT13ZSYm''@;'; put 'put ''dGhpcy5lbWl0KCJkYXRhIix3ZSksd2V9LCQucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKGxlKXtCKHRoaXMsbmV3IFYoIl9yZWFkKCkiKSl9LCQucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24obGUsY2Upe3ZhciBwZT10aGlzLHdlPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKHdlLnBpcGVz''@;'; put 'put ''Q291bnQpe2Nhc2UgMDp3ZS5waXBlcz1sZTticmVhaztjYXNlIDE6d2UucGlwZXM9W3dlLnBpcGVzLGxlXTticmVhaztkZWZhdWx0OndlLnBpcGVzLnB1c2gobGUpfXdlLnBpcGVzQ291bnQrPTEsRCgicGlwZSBjb3VudD0lZCBvcHRzPSVqIix3ZS5waXBlc0NvdW50LGNlKTt2YXIgVWU9Y2Um''@;'; put 'put ''JiExPT09Y2UuZW5kfHxsZT09PXouc3Rkb3V0fHxsZT09PXouc3RkZXJyP2llOkVlO2Z1bmN0aW9uIEVlKCl7RCgib25lbmQiKSxsZS5lbmQoKX13ZS5lbmRFbWl0dGVkP3oubmV4dFRpY2soVWUpOnBlLm9uY2UoImVuZCIsVWUpLGxlLm9uKCJ1bnBpcGUiLGZ1bmN0aW9uIHhlKHNlLGRlKXtE''@;'; put 'put ''KCJvbnVucGlwZSIpLHNlPT09cGUmJmRlJiYhMT09PWRlLmhhc1VucGlwZWQmJihkZS5oYXNVbnBpcGVkPSEwLEQoImNsZWFudXAiKSxsZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLE9lKSxsZS5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixMZSksbGUucmVtb3ZlTGlzdGVuZXIoImRyYWluIix3''@;'; put 'put ''dCksbGUucmVtb3ZlTGlzdGVuZXIoImVycm9yIixSZSksbGUucmVtb3ZlTGlzdGVuZXIoInVucGlwZSIseGUpLHBlLnJlbW92ZUxpc3RlbmVyKCJlbmQiLEVlKSxwZS5yZW1vdmVMaXN0ZW5lcigiZW5kIixpZSkscGUucmVtb3ZlTGlzdGVuZXIoImRhdGEiLEhlKSxOZT0hMCwhd2UuYXdhaXRE''@;'; put 'put ''cmFpbnx8bGUuX3dyaXRhYmxlU3RhdGUmJiFsZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fHd0KCkpfSk7dmFyIHNlLHd0PShzZT1wZSxmdW5jdGlvbigpe3ZhciBkZT1zZS5fcmVhZGFibGVTdGF0ZTtEKCJwaXBlT25EcmFpbiIsZGUuYXdhaXREcmFpbiksZGUuYXdhaXREcmFpbiYmZGUu''@;'; put 'put ''YXdhaXREcmFpbi0tLDA9PT1kZS5hd2FpdERyYWluJiZDKHNlLCJkYXRhIikmJihkZS5mbG93aW5nPSEwLG5lKHNlKSl9KTtsZS5vbigiZHJhaW4iLHd0KTt2YXIgTmU9ITE7ZnVuY3Rpb24gSGUoc2Upe0QoIm9uZGF0YSIpO3ZhciBkZT1sZS53cml0ZShzZSk7RCgiZGVzdC53cml0ZSIsZGUp''@;'; put 'put ''LCExPT09ZGUmJigoMT09PXdlLnBpcGVzQ291bnQmJndlLnBpcGVzPT09bGV8fHdlLnBpcGVzQ291bnQ+MSYmLTEhPT1fZSh3ZS5waXBlcyxsZSkpJiYhTmUmJihEKCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLHdlLmF3YWl0RHJhaW4pLHdlLmF3YWl0RHJhaW4rKykscGUucGF1c2Uo''@;'; put 'put ''KSl9ZnVuY3Rpb24gUmUoc2Upe0QoIm9uZXJyb3IiLHNlKSxpZSgpLGxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsUmUpLDA9PT1DKGxlLCJlcnJvciIpJiZCKGxlLHNlKX1mdW5jdGlvbiBPZSgpe2xlLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLExlKSxpZSgpfWZ1bmN0aW9uIExlKCl7RCgi''@;'; put 'put ''b25maW5pc2giKSxsZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLE9lKSxpZSgpfWZ1bmN0aW9uIGllKCl7RCgidW5waXBlIikscGUudW5waXBlKGxlKX1yZXR1cm4gcGUub24oImRhdGEiLEhlKSxmdW5jdGlvbihzZSxkZSxBZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHNlLnByZXBlbmRMaXN0''@;'; put 'put ''ZW5lcilyZXR1cm4gc2UucHJlcGVuZExpc3RlbmVyKGRlLEFlKTtzZS5fZXZlbnRzJiZzZS5fZXZlbnRzW2RlXT9BcnJheS5pc0FycmF5KHNlLl9ldmVudHNbZGVdKT9zZS5fZXZlbnRzW2RlXS51bnNoaWZ0KEFlKTpzZS5fZXZlbnRzW2RlXT1bQWUsc2UuX2V2ZW50c1tkZV1dOnNlLm9uKGRl''@;'; put 'put ''LEFlKX0obGUsImVycm9yIixSZSksbGUub25jZSgiY2xvc2UiLE9lKSxsZS5vbmNlKCJmaW5pc2giLExlKSxsZS5lbWl0KCJwaXBlIixwZSksd2UuZmxvd2luZ3x8KEQoInBpcGUgcmVzdW1lIikscGUucmVzdW1lKCkpLGxlfSwkLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24obGUpe3ZhciBj''@;'; put 'put ''ZT10aGlzLl9yZWFkYWJsZVN0YXRlLHBlPXtoYXNVbnBpcGVkOiExfTtpZigwPT09Y2UucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09Y2UucGlwZXNDb3VudClyZXR1cm4gbGUmJmxlIT09Y2UucGlwZXN8fChsZXx8KGxlPWNlLnBpcGVzKSxjZS5waXBlcz1udWxsLGNlLnBpcGVzQ291''@;'; put 'put ''bnQ9MCxjZS5mbG93aW5nPSExLGxlJiZsZS5lbWl0KCJ1bnBpcGUiLHRoaXMscGUpKSx0aGlzO2lmKCFsZSl7dmFyIHdlPWNlLnBpcGVzLFVlPWNlLnBpcGVzQ291bnQ7Y2UucGlwZXM9bnVsbCxjZS5waXBlc0NvdW50PTAsY2UuZmxvd2luZz0hMTtmb3IodmFyIHhlPTA7eGU8VWU7eGUrKyl3''@;'; put 'put ''ZVt4ZV0uZW1pdCgidW5waXBlIix0aGlzLHtoYXNVbnBpcGVkOiExfSk7cmV0dXJuIHRoaXN9dmFyIEVlPV9lKGNlLnBpcGVzLGxlKTtyZXR1cm4tMT09PUVlfHwoY2UucGlwZXMuc3BsaWNlKEVlLDEpLGNlLnBpcGVzQ291bnQtPTEsMT09PWNlLnBpcGVzQ291bnQmJihjZS5waXBlcz1jZS5w''@;'; put 'put ''aXBlc1swXSksbGUuZW1pdCgidW5waXBlIix0aGlzLHBlKSksdGhpc30sJC5wcm90b3R5cGUuYWRkTGlzdGVuZXI9JC5wcm90b3R5cGUub249ZnVuY3Rpb24obGUsY2Upe3ZhciBwZT1TLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsbGUsY2UpLHdlPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJu''@;'; put 'put ''ImRhdGEiPT09bGU/KHdlLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudCgicmVhZGFibGUiKT4wLCExIT09d2UuZmxvd2luZyYmdGhpcy5yZXN1bWUoKSk6InJlYWRhYmxlIj09PWxlJiYod2UuZW5kRW1pdHRlZHx8d2UucmVhZGFibGVMaXN0ZW5pbmd8fCh3ZS5yZWFkYWJs''@;'; put 'put ''ZUxpc3RlbmluZz13ZS5uZWVkUmVhZGFibGU9ITAsd2UuZmxvd2luZz0hMSx3ZS5lbWl0dGVkUmVhZGFibGU9ITEsRCgib24gcmVhZGFibGUiLHdlLmxlbmd0aCx3ZS5yZWFkaW5nKSx3ZS5sZW5ndGg/cCh0aGlzKTp3ZS5yZWFkaW5nfHx6Lm5leHRUaWNrKEcsdGhpcykpKSxwZX0sJC5wcm90''@;'; put 'put ''b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24obGUsY2Upe3ZhciBwZT1TLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lci5jYWxsKHRoaXMsbGUsY2UpO3JldHVybiJyZWFkYWJsZSI9PT1sZSYmei5uZXh0VGljayhXLHRoaXMpLHBlfSwkLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9''@;'; put 'put ''ZnVuY3Rpb24obGUpe3ZhciBjZT1TLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiJyZWFkYWJsZSIhPT1sZSYmdm9pZCAwIT09bGV8fHoubmV4dFRpY2soVyx0aGlzKSxjZX0sJC5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFy''@;'; put 'put ''IHBlLGxlPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIGxlLmZsb3dpbmd8fChEKCJyZXN1bWUiKSxsZS5mbG93aW5nPSFsZS5yZWFkYWJsZUxpc3RlbmluZyx0aGlzLChwZT1sZSkucmVzdW1lU2NoZWR1bGVkfHwocGUucmVzdW1lU2NoZWR1bGVkPSEwLHoubmV4dFRpY2soWCx0aGlzLHBl''@;'; put 'put ''KSkpLGxlLnBhdXNlZD0hMSx0aGlzfSwkLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBEKCJjYWxsIHBhdXNlIGZsb3dpbmc9JWoiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihEKCJwYXVzZSIpLHRoaXMu''@;'; put 'put ''X3JlYWRhYmxlU3RhdGUuZmxvd2luZz0hMSx0aGlzLmVtaXQoInBhdXNlIikpLHRoaXMuX3JlYWRhYmxlU3RhdGUucGF1c2VkPSEwLHRoaXN9LCQucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24obGUpe3ZhciBjZT10aGlzLHBlPXRoaXMuX3JlYWRhYmxlU3RhdGUsd2U9ITE7Zm9yKHZhciBVZSBp''@;'; put 'put ''biBsZS5vbigiZW5kIixmdW5jdGlvbigpe2lmKEQoIndyYXBwZWQgZW5kIikscGUuZGVjb2RlciYmIXBlLmVuZGVkKXt2YXIgRWU9cGUuZGVjb2Rlci5lbmQoKTtFZSYmRWUubGVuZ3RoJiZjZS5wdXNoKEVlKX1jZS5wdXNoKG51bGwpfSksbGUub24oImRhdGEiLGZ1bmN0aW9uKEVlKXtEKCJ3''@;'; put 'put ''cmFwcGVkIGRhdGEiKSxwZS5kZWNvZGVyJiYoRWU9cGUuZGVjb2Rlci53cml0ZShFZSkpLHBlLm9iamVjdE1vZGUmJm51bGw9PUVlfHwocGUub2JqZWN0TW9kZXx8RWUmJkVlLmxlbmd0aCkmJihjZS5wdXNoKEVlKXx8KHdlPSEwLGxlLnBhdXNlKCkpKX0pLGxlKXZvaWQgMD09PXRoaXNbVWVd''@;'; put 'put ''JiYiZnVuY3Rpb24iPT10eXBlb2YgbGVbVWVdJiYodGhpc1tVZV09ZnVuY3Rpb24oRWUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBsZVtFZV0uYXBwbHkobGUsYXJndW1lbnRzKX19KFVlKSk7Zm9yKHZhciB4ZT0wO3hlPHEubGVuZ3RoO3hlKyspbGUub24ocVt4ZV0sdGhpcy5lbWl0LmJp''@;'; put 'put ''bmQodGhpcyxxW3hlXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKEVlKXtEKCJ3cmFwcGVkIF9yZWFkIixFZSksd2UmJih3ZT0hMSxsZS5yZXN1bWUoKSl9LHRoaXN9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJigkLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVu''@;'; put 'put ''Y3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09TSYmKE09aig1ODUwKSksTSh0aGlzKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkLnByb3RvdHlwZSwicmVhZGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5o''@;'; put 'put ''aWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkLnByb3RvdHlwZSwicmVhZGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcn19KSxPYmplY3QuZGVm''@;'; put 'put ''aW5lUHJvcGVydHkoJC5wcm90b3R5cGUsInJlYWRhYmxlRmxvd2luZyIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sc2V0OmZ1bmN0aW9uKGxlKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0''@;'; put 'put ''ZS5mbG93aW5nPWxlKX19KSwkLl9mcm9tTGlzdD1hZSxPYmplY3QuZGVmaW5lUHJvcGVydHkoJC5wcm90b3R5cGUsInJlYWRhYmxlTGVuZ3RoIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGh9fSksImZ1bmN0aW9uIj09dHlw''@;'; put 'put ''ZW9mIFN5bWJvbCYmKCQuZnJvbT1mdW5jdGlvbihsZSxjZSl7cmV0dXJuIHZvaWQgMD09PWsmJihrPWooNTE2NykpLGsoJCxsZSxjZSl9KX0sNDYwNTooWixBLGopPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz13O3ZhciBOPWooNDI4MSkucSx6PU4uRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5U''@;'; put 'put ''RUQsQz1OLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxTPU4uRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORyxtPU4uRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wLEY9aig2NzUzKTtmdW5jdGlvbiBEKGssTyl7dmFyIEw9dGhpcy5fdHJhbnNmb3JtU3RhdGU7TC50cmFuc2Zvcm1p''@;'; put 'put ''bmc9ITE7dmFyIFQ9TC53cml0ZWNiO2lmKG51bGw9PT1UKXJldHVybiB0aGlzLmVtaXQoImVycm9yIixuZXcgQyk7TC53cml0ZWNodW5rPW51bGwsTC53cml0ZWNiPW51bGwsbnVsbCE9TyYmdGhpcy5wdXNoKE8pLFQoayk7dmFyIFk9dGhpcy5fcmVhZGFibGVTdGF0ZTtZLnJlYWRpbmc9ITEs''@;'; put 'put ''KFkubmVlZFJlYWRhYmxlfHxZLmxlbmd0aDxZLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKFkuaGlnaFdhdGVyTWFyayl9ZnVuY3Rpb24gdyhrKXtpZighKHRoaXMgaW5zdGFuY2VvZiB3KSlyZXR1cm4gbmV3IHcoayk7Ri5jYWxsKHRoaXMsayksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2Fm''@;'; put 'put ''dGVyVHJhbnNmb3JtOkQuYmluZCh0aGlzKSxuZWVkVHJhbnNmb3JtOiExLHRyYW5zZm9ybWluZzohMSx3cml0ZWNiOm51bGwsd3JpdGVjaHVuazpudWxsLHdyaXRlZW5jb2Rpbmc6bnVsbH0sdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGU9ITAsdGhpcy5fcmVhZGFibGVTdGF0ZS5z''@;'; put 'put ''eW5jPSExLGsmJigiZnVuY3Rpb24iPT10eXBlb2Ygay50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09ay50cmFuc2Zvcm0pLCJmdW5jdGlvbiI9PXR5cGVvZiBrLmZsdXNoJiYodGhpcy5fZmx1c2g9ay5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIsUCl9ZnVuY3Rpb24gUCgpe3ZhciBr''@;'; put 'put ''PXRoaXM7ImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXMuX2ZsdXNofHx0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD9NKHRoaXMsbnVsbCxudWxsKTp0aGlzLl9mbHVzaChmdW5jdGlvbihPLEwpe00oayxPLEwpfSl9ZnVuY3Rpb24gTShrLE8sTCl7aWYoTylyZXR1cm4gay5lbWl0KCJlcnJv''@;'; put 'put ''ciIsTyk7aWYobnVsbCE9TCYmay5wdXNoKEwpLGsuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBtO2lmKGsuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgUztyZXR1cm4gay5wdXNoKG51bGwpfWooNTcxNykodyxGKSx3LnByb3RvdHlwZS5wdXNoPWZ1bmN0''@;'; put 'put ''aW9uKGssTyl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsRi5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsayxPKX0sdy5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihrLE8sTCl7TChuZXcgeigiX3RyYW5zZm9ybSgpIikpfSx3LnByb3RvdHlwZS5f''@;'; put 'put ''d3JpdGU9ZnVuY3Rpb24oayxPLEwpe3ZhciBUPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKFQud3JpdGVjYj1MLFQud3JpdGVjaHVuaz1rLFQud3JpdGVlbmNvZGluZz1PLCFULnRyYW5zZm9ybWluZyl7dmFyIFk9dGhpcy5fcmVhZGFibGVTdGF0ZTsoVC5uZWVkVHJhbnNmb3JtfHxZLm5lZWRS''@;'; put 'put ''ZWFkYWJsZXx8WS5sZW5ndGg8WS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChZLmhpZ2hXYXRlck1hcmspfX0sdy5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oayl7dmFyIE89dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbD09PU8ud3JpdGVjaHVua3x8Ty50cmFuc2Zvcm1pbmc/Ty5uZWVk''@;'; put 'put ''VHJhbnNmb3JtPSEwOihPLnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0oTy53cml0ZWNodW5rLE8ud3JpdGVlbmNvZGluZyxPLmFmdGVyVHJhbnNmb3JtKSl9LHcucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGssTyl7Ri5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLGss''@;'; put 'put ''ZnVuY3Rpb24oTCl7TyhMKX0pfX0sNDIyOTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOLHo9aig0MTU1KTtmdW5jdGlvbiBDKF8pe3ZhciBFPXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKCl7IWZ1bmN0aW9uKFcsRyxYKXt2YXIg''@;'; put 'put ''bmU9Vy5lbnRyeTtmb3IoVy5lbnRyeT1udWxsO25lOyl7dmFyIGFlPW5lLmNhbGxiYWNrO0cucGVuZGluZ2NiLS0sYWUodW5kZWZpbmVkKSxuZT1uZS5uZXh0fUcuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9V30oRSxfKX19Wi5leHBvcnRzPSQsJC5Xcml0YWJsZVN0YXRlPUo7dmFyIHcsUz17''@;'; put 'put ''ZGVwcmVjYXRlOmooNDkyNyl9LG09aigyNTAzKSxGPWooODc2NCkuQnVmZmVyLEQ9ai5nLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fSxQPWooMTE5NSksTT1qKDI0NTcpLmdldEhpZ2hXYXRlck1hcmssaz1qKDQyODEpLnEsTz1rLkVSUl9JTlZBTElEX0FSR19UWVBFLEw9ay5FUlJfTUVUSE9E''@;'; put 'put ''X05PVF9JTVBMRU1FTlRFRCxUPWsuRVJSX01VTFRJUExFX0NBTExCQUNLLFk9ay5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLEk9ay5FUlJfU1RSRUFNX0RFU1RST1lFRCxVPWsuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxWPWsuRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQsUj1rLkVSUl9VTktO''@;'; put 'put ''T1dOX0VOQ09ESU5HLEI9UC5lcnJvck9yRGVzdHJveTtmdW5jdGlvbiBxKCl7fWZ1bmN0aW9uIEooXyxFLFcpe049Tnx8aig2NzUzKSwiYm9vbGVhbiIhPXR5cGVvZiBXJiYoVz1FIGluc3RhbmNlb2YgTiksdGhpcy5vYmplY3RNb2RlPSEhKF89X3x8e30pLm9iamVjdE1vZGUsVyYmKHRoaXMu''@;'; put 'put ''b2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhXy53cml0YWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1NKHRoaXMsXywid3JpdGFibGVIaWdoV2F0ZXJNYXJrIixXKSx0aGlzLmZpbmFsQ2FsbGVkPSExLHRoaXMubmVlZERyYWluPSExLHRoaXMuZW5kaW5nPSExLHRoaXMu''@;'; put 'put ''ZW5kZWQ9ITEsdGhpcy5maW5pc2hlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlY29kZVN0cmluZ3M9ISghMT09PV8uZGVjb2RlU3RyaW5ncyksdGhpcy5kZWZhdWx0RW5jb2Rpbmc9Xy5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLmxlbmd0aD0wLHRoaXMud3JpdGluZz0hMSx0''@;'; put 'put ''aGlzLmNvcmtlZD0wLHRoaXMuc3luYz0hMCx0aGlzLmJ1ZmZlclByb2Nlc3Npbmc9ITEsdGhpcy5vbndyaXRlPWZ1bmN0aW9uKFgpeyFmdW5jdGlvbihuZSxhZSl7dmFyIGNlLHVlPW5lLl93cml0YWJsZVN0YXRlLGJlPXVlLnN5bmMsX2U9dWUud3JpdGVjYjtpZigiZnVuY3Rpb24iIT10eXBl''@;'; put 'put ''b2YgX2UpdGhyb3cgbmV3IFQ7aWYoKGNlPXVlKS53cml0aW5nPSExLGNlLndyaXRlY2I9bnVsbCxjZS5sZW5ndGgtPWNlLndyaXRlbGVuLGNlLndyaXRlbGVuPTAsYWUpIWZ1bmN0aW9uKGNlLHBlLHdlLFVlLHhlKXstLXBlLnBlbmRpbmdjYix3ZT8oei5uZXh0VGljayh4ZSxVZSksei5uZXh0''@;'; put 'put ''VGljayhnLGNlLHBlKSxjZS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsQihjZSxVZSkpOih4ZShVZSksY2UuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLEIoY2UsVWUpLGcoY2UscGUpKX0obmUsdWUsYmUsYWUsX2UpO2Vsc2V7dmFyIGxlPXkodWUpfHxuZS5kZXN0cm95''@;'; put 'put ''ZWQ7bGV8fHVlLmNvcmtlZHx8dWUuYnVmZmVyUHJvY2Vzc2luZ3x8IXVlLmJ1ZmZlcmVkUmVxdWVzdHx8YihuZSx1ZSksYmU/ei5uZXh0VGljayhoLG5lLHVlLGxlLF9lKTpoKG5lLHVlLGxlLF9lKX19KEUsWCl9LHRoaXMud3JpdGVjYj1udWxsLHRoaXMud3JpdGVsZW49MCx0aGlzLmJ1ZmZl''@;'; put 'put ''cmVkUmVxdWVzdD1udWxsLHRoaXMubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMucGVuZGluZ2NiPTAsdGhpcy5wcmVmaW5pc2hlZD0hMSx0aGlzLmVycm9yRW1pdHRlZD0hMSx0aGlzLmVtaXRDbG9zZT0hMSE9PV8uZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISFfLmF1dG9EZXN0''@;'; put 'put ''cm95LHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgQyh0aGlzKX1mdW5jdGlvbiAkKF8pe3ZhciBFPXRoaXMgaW5zdGFuY2VvZihOPU58fGooNjc1MykpO2lmKCFFJiYhdy5jYWxsKCQsdGhpcykpcmV0dXJuIG5ldyAkKF8pO3RoaXMuX3dy''@;'; put 'put ''aXRhYmxlU3RhdGU9bmV3IEooXyx0aGlzLEUpLHRoaXMud3JpdGFibGU9ITAsXyYmKCJmdW5jdGlvbiI9PXR5cGVvZiBfLndyaXRlJiYodGhpcy5fd3JpdGU9Xy53cml0ZSksImZ1bmN0aW9uIj09dHlwZW9mIF8ud3JpdGV2JiYodGhpcy5fd3JpdGV2PV8ud3JpdGV2KSwiZnVuY3Rpb24iPT10''@;'; put 'put ''eXBlb2YgXy5kZXN0cm95JiYodGhpcy5fZGVzdHJveT1fLmRlc3Ryb3kpLCJmdW5jdGlvbiI9PXR5cGVvZiBfLmZpbmFsJiYodGhpcy5fZmluYWw9Xy5maW5hbCkpLG0uY2FsbCh0aGlzKX1mdW5jdGlvbiB0ZShfLEUsVyxHLFgsbmUsYWUpe0Uud3JpdGVsZW49RyxFLndyaXRlY2I9YWUsRS53''@;'; put 'put ''cml0aW5nPSEwLEUuc3luYz0hMCxFLmRlc3Ryb3llZD9FLm9ud3JpdGUobmV3IEkoIndyaXRlIikpOlc/Xy5fd3JpdGV2KFgsRS5vbndyaXRlKTpfLl93cml0ZShYLG5lLEUub253cml0ZSksRS5zeW5jPSExfWZ1bmN0aW9uIGgoXyxFLFcsRyl7dmFyIFgsbmU7V3x8KFg9XywwPT09KG5lPUUp''@;'; put 'put ''Lmxlbmd0aCYmbmUubmVlZERyYWluJiYobmUubmVlZERyYWluPSExLFguZW1pdCgiZHJhaW4iKSkpLEUucGVuZGluZ2NiLS0sRygpLGcoXyxFKX1mdW5jdGlvbiBiKF8sRSl7RS5idWZmZXJQcm9jZXNzaW5nPSEwO3ZhciBXPUUuYnVmZmVyZWRSZXF1ZXN0O2lmKF8uX3dyaXRldiYmVyYmVy5u''@;'; put 'put ''ZXh0KXt2YXIgWD1uZXcgQXJyYXkoRS5idWZmZXJlZFJlcXVlc3RDb3VudCksbmU9RS5jb3JrZWRSZXF1ZXN0c0ZyZWU7bmUuZW50cnk9Vztmb3IodmFyIGFlPTAsdWU9ITA7VzspWFthZV09VyxXLmlzQnVmfHwodWU9ITEpLFc9Vy5uZXh0LGFlKz0xO1guYWxsQnVmZmVycz11ZSx0ZShfLEUs''@;'; put 'put ''ITAsRS5sZW5ndGgsWCwiIixuZS5maW5pc2gpLEUucGVuZGluZ2NiKyssRS5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsbmUubmV4dD8oRS5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmUubmV4dCxuZS5uZXh0PW51bGwpOkUuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBDKEUpLEUuYnVmZmVyZWRSZXF1''@;'; put 'put ''ZXN0Q291bnQ9MH1lbHNle2Zvcig7Vzspe3ZhciBiZT1XLmNodW5rO2lmKHRlKF8sRSwhMSxFLm9iamVjdE1vZGU/MTpiZS5sZW5ndGgsYmUsVy5lbmNvZGluZyxXLmNhbGxiYWNrKSxXPVcubmV4dCxFLmJ1ZmZlcmVkUmVxdWVzdENvdW50LS0sRS53cml0aW5nKWJyZWFrfW51bGw9PT1XJiYo''@;'; put 'put ''RS5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwpfUUuYnVmZmVyZWRSZXF1ZXN0PVcsRS5idWZmZXJQcm9jZXNzaW5nPSExfWZ1bmN0aW9uIHkoXyl7cmV0dXJuIF8uZW5kaW5nJiYwPT09Xy5sZW5ndGgmJm51bGw9PT1fLmJ1ZmZlcmVkUmVxdWVzdCYmIV8uZmluaXNoZWQmJiFfLndyaXRpbmd9''@;'; put 'put ''ZnVuY3Rpb24gcChfLEUpe18uX2ZpbmFsKGZ1bmN0aW9uKFcpe0UucGVuZGluZ2NiLS0sVyYmQihfLFcpLEUucHJlZmluaXNoZWQ9ITAsXy5lbWl0KCJwcmVmaW5pc2giKSxnKF8sRSl9KX1mdW5jdGlvbiBnKF8sRSl7dmFyIFgsbmUsVz15KEUpO2lmKFcmJihYPV8sKG5lPUUpLnByZWZpbmlz''@;'; put 'put ''aGVkfHxuZS5maW5hbENhbGxlZHx8KCJmdW5jdGlvbiIhPXR5cGVvZiBYLl9maW5hbHx8bmUuZGVzdHJveWVkPyhuZS5wcmVmaW5pc2hlZD0hMCxYLmVtaXQoInByZWZpbmlzaCIpKToobmUucGVuZGluZ2NiKyssbmUuZmluYWxDYWxsZWQ9ITAsei5uZXh0VGljayhwLFgsbmUpKSksMD09PUUu''@;'; put 'put ''cGVuZGluZ2NiJiYoRS5maW5pc2hlZD0hMCxfLmVtaXQoImZpbmlzaCIpLEUuYXV0b0Rlc3Ryb3kpKSl7dmFyIEc9Xy5fcmVhZGFibGVTdGF0ZTsoIUd8fEcuYXV0b0Rlc3Ryb3kmJkcuZW5kRW1pdHRlZCkmJl8uZGVzdHJveSgpfXJldHVybiBXfWooNTcxNykoJCxtKSxKLnByb3RvdHlwZS5n''@;'; put 'put ''ZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIF89dGhpcy5idWZmZXJlZFJlcXVlc3QsRT1bXTtfOylFLnB1c2goXyksXz1fLm5leHQ7cmV0dXJuIEV9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShKLnByb3RvdHlwZSwiYnVmZmVyIix7Z2V0OlMuZGVwcmVjYXRlKGZ1''@;'; put 'put ''bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCl9LCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLiIsIkRFUDAwMDMiKX0pfWNhdGNoKF8pe319KCksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYm''@;'; put 'put ''U3ltYm9sLmhhc0luc3RhbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0/KHc9RnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0sT2JqZWN0LmRlZmluZVByb3BlcnR5KCQsU3ltYm9sLmhhc0luc3RhbmNlLHt2''@;'; put 'put ''YWx1ZTpmdW5jdGlvbihfKXtyZXR1cm4hIXcuY2FsbCh0aGlzLF8pfHx0aGlzPT09JCYmXyYmXy5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIEp9fSkpOnc9ZnVuY3Rpb24oXyl7cmV0dXJuIF8gaW5zdGFuY2VvZiB0aGlzfSwkLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKCl7Qih0aGlzLG5l''@;'; put 'put ''dyBZKX0sJC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oXyxFLFcpe3ZhciBHLHVlLGJlLF9lLFg9dGhpcy5fd3JpdGFibGVTdGF0ZSxuZT0hMSxhZT0hWC5vYmplY3RNb2RlJiYoRi5pc0J1ZmZlcihHPV8pfHxHIGluc3RhbmNlb2YgRCk7cmV0dXJuIGFlJiYhRi5pc0J1ZmZlcihfKSYmKF89''@;'; put 'put ''Ri5mcm9tKF8pKSwiZnVuY3Rpb24iPT10eXBlb2YgRSYmKFc9RSxFPW51bGwpLGFlP0U9ImJ1ZmZlciI6RXx8KEU9WC5kZWZhdWx0RW5jb2RpbmcpLCJmdW5jdGlvbiIhPXR5cGVvZiBXJiYoVz1xKSxYLmVuZGluZz8odWU9dGhpcyxiZT1XLF9lPW5ldyBWLEIodWUsX2UpLHoubmV4dFRpY2so''@;'; put 'put ''YmUsX2UpKTooYWV8fGZ1bmN0aW9uKHVlLGJlLF9lLGxlKXt2YXIgY2U7cmV0dXJuIG51bGw9PT1fZT9jZT1uZXcgVToic3RyaW5nIj09dHlwZW9mIF9lfHxiZS5vYmplY3RNb2RlfHwoY2U9bmV3IE8oImNodW5rIixbInN0cmluZyIsIkJ1ZmZlciJdLF9lKSksIWNlfHwoQih1ZSxjZSksei5u''@;'; put 'put ''ZXh0VGljayhsZSxjZSksITEpfSh0aGlzLFgsXyxXKSkmJihYLnBlbmRpbmdjYisrLG5lPWZ1bmN0aW9uKHVlLGJlLF9lLGxlLGNlLHBlKXtpZighX2Upe3ZhciB3ZT0oTmU9bGUsKHd0PWJlKS5vYmplY3RNb2RlfHwhMT09PXd0LmRlY29kZVN0cmluZ3N8fCJzdHJpbmciIT10eXBlb2YgTmV8''@;'; put 'put ''fChOZT1GLmZyb20oTmUsY2UpKSxOZSk7bGUhPT13ZSYmKF9lPSEwLGNlPSJidWZmZXIiLGxlPXdlKX12YXIgd3QsTmUsVWU9YmUub2JqZWN0TW9kZT8xOmxlLmxlbmd0aDtiZS5sZW5ndGgrPVVlO3ZhciB4ZT1iZS5sZW5ndGg8YmUuaGlnaFdhdGVyTWFyaztpZih4ZXx8KGJlLm5lZWREcmFp''@;'; put 'put ''bj0hMCksYmUud3JpdGluZ3x8YmUuY29ya2VkKXt2YXIgRWU9YmUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtiZS5sYXN0QnVmZmVyZWRSZXF1ZXN0PXtjaHVuazpsZSxlbmNvZGluZzpjZSxpc0J1ZjpfZSxjYWxsYmFjazpwZSxuZXh0Om51bGx9LEVlP0VlLm5leHQ9YmUubGFzdEJ1ZmZlcmVkUmVx''@;'; put 'put ''dWVzdDpiZS5idWZmZXJlZFJlcXVlc3Q9YmUubGFzdEJ1ZmZlcmVkUmVxdWVzdCxiZS5idWZmZXJlZFJlcXVlc3RDb3VudCs9MX1lbHNlIHRlKHVlLGJlLCExLFVlLGxlLGNlLHBlKTtyZXR1cm4geGV9KHRoaXMsWCxhZSxfLEUsVykpLG5lfSwkLnByb3RvdHlwZS5jb3JrPWZ1bmN0aW9uKCl7''@;'; put 'put ''dGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrK30sJC5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIF89dGhpcy5fd3JpdGFibGVTdGF0ZTtfLmNvcmtlZCYmKF8uY29ya2VkLS0sXy53cml0aW5nfHxfLmNvcmtlZHx8Xy5idWZmZXJQcm9jZXNzaW5nfHwhXy5idWZmZXJlZFJlcXVl''@;'; put 'put ''c3R8fGIodGhpcyxfKSl9LCQucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZz1mdW5jdGlvbihfKXtpZigic3RyaW5nIj09dHlwZW9mIF8mJihfPV8udG9Mb3dlckNhc2UoKSksIShbImhleCIsInV0ZjgiLCJ1dGYtOCIsImFzY2lpIiwiYmluYXJ5IiwiYmFzZTY0IiwidWNzMiIsInVjcy0y''@;'; put 'put ''IiwidXRmMTZsZSIsInV0Zi0xNmxlIiwicmF3Il0uaW5kZXhPZigoXysiIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyBSKF8pO3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZz1fLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkLnByb3RvdHlwZSwi''@;'; put 'put ''d3JpdGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkLnByb3RvdHlwZSwid3JpdGFibGVIaWdoV2F0ZXJNYXJr''@;'; put 'put ''Iix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLCQucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihfLEUsVyl7VyhuZXcgTCgiX3dyaXRlKCkiKSl9LCQucHJvdG90eXBlLl93cml0ZXY9bnVsbCwkLnByb3Rv''@;'; put 'put ''dHlwZS5lbmQ9ZnVuY3Rpb24oXyxFLFcpe3ZhciBYLG5lLGFlLEc9dGhpcy5fd3JpdGFibGVTdGF0ZTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgXz8oVz1fLF89bnVsbCxFPW51bGwpOiJmdW5jdGlvbiI9PXR5cGVvZiBFJiYoVz1FLEU9bnVsbCksbnVsbCE9XyYmdGhpcy53cml0ZShfLEUp''@;'; put 'put ''LEcuY29ya2VkJiYoRy5jb3JrZWQ9MSx0aGlzLnVuY29yaygpKSxHLmVuZGluZ3x8KFg9dGhpcyxhZT1XLChuZT1HKS5lbmRpbmc9ITAsZyhYLG5lKSxhZSYmKG5lLmZpbmlzaGVkP3oubmV4dFRpY2soYWUpOlgub25jZSgiZmluaXNoIixhZSkpLG5lLmVuZGVkPSEwLFgud3JpdGFibGU9ITEp''@;'; put 'put ''LHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkLnByb3RvdHlwZSwid3JpdGFibGVMZW5ndGgiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoJC5wcm90b3R5cGUsImRlc3Ry''@;'; put 'put ''b3llZCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oXyl7dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVz''@;'; put 'put ''dHJveWVkPV8pfX0pLCQucHJvdG90eXBlLmRlc3Ryb3k9UC5kZXN0cm95LCQucHJvdG90eXBlLl91bmRlc3Ryb3k9UC51bmRlc3Ryb3ksJC5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oXyxFKXtFKF8pfX0sNTg1MDooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOLHo9aig0MTU1KTtm''@;'; put 'put ''dW5jdGlvbiBDKFUsVixSKXtyZXR1cm4gViBpbiBVP09iamVjdC5kZWZpbmVQcm9wZXJ0eShVLFYse3ZhbHVlOlIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTpVW1ZdPVIsVX12YXIgUz1qKDg2MTApLG09U3ltYm9sKCJsYXN0UmVzb2x2ZSIpLEY9U3ltYm9s''@;'; put 'put ''KCJsYXN0UmVqZWN0IiksRD1TeW1ib2woImVycm9yIiksdz1TeW1ib2woImVuZGVkIiksUD1TeW1ib2woImxhc3RQcm9taXNlIiksTT1TeW1ib2woImhhbmRsZVByb21pc2UiKSxrPVN5bWJvbCgic3RyZWFtIik7ZnVuY3Rpb24gTyhVLFYpe3JldHVybnt2YWx1ZTpVLGRvbmU6Vn19ZnVuY3Rp''@;'; put 'put ''b24gTChVKXt2YXIgVj1VW21dO2lmKG51bGwhPT1WKXt2YXIgUj1VW2tdLnJlYWQoKTtudWxsIT09UiYmKFVbUF09bnVsbCxVW21dPW51bGwsVVtGXT1udWxsLFYoTyhSLCExKSkpfX1mdW5jdGlvbiBUKFUpe3oubmV4dFRpY2soTCxVKX12YXIgWT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZnVu''@;'; put 'put ''Y3Rpb24oKXt9KSxJPU9iamVjdC5zZXRQcm90b3R5cGVPZigoQyhOPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNba119LG5leHQ6ZnVuY3Rpb24oKXt2YXIgVT10aGlzLFY9dGhpc1tEXTtpZihudWxsIT09VilyZXR1cm4gUHJvbWlzZS5yZWplY3QoVik7aWYodGhpc1t3XSlyZXR1cm4gUHJv''@;'; put 'put ''bWlzZS5yZXNvbHZlKE8odm9pZCAwLCEwKSk7aWYodGhpc1trXS5kZXN0cm95ZWQpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKEosJCl7ei5uZXh0VGljayhmdW5jdGlvbigpe1VbRF0/JChVW0RdKTpKKE8odm9pZCAwLCEwKSl9KX0pO3ZhciBSLEosJCxCPXRoaXNbUF07aWYoQilSPW5l''@;'; put 'put ''dyBQcm9taXNlKChKPUIsJD10aGlzLGZ1bmN0aW9uKHRlLGgpe0oudGhlbihmdW5jdGlvbigpeyRbd10/dGUoTyh2b2lkIDAsITApKTokW01dKHRlLGgpfSxoKX0pKTtlbHNle3ZhciBxPXRoaXNba10ucmVhZCgpO2lmKG51bGwhPT1xKXJldHVybiBQcm9taXNlLnJlc29sdmUoTyhxLCExKSk7''@;'; put 'put ''Uj1uZXcgUHJvbWlzZSh0aGlzW01dKX1yZXR1cm4gdGhpc1tQXT1SLFJ9fSxTeW1ib2wuYXN5bmNJdGVyYXRvcixmdW5jdGlvbigpe3JldHVybiB0aGlzfSksQyhOLCJyZXR1cm4iLGZ1bmN0aW9uKCl7dmFyIFU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oVixSKXtVW2tdLmRl''@;'; put 'put ''c3Ryb3kobnVsbCxmdW5jdGlvbihCKXtCP1IoQik6VihPKHZvaWQgMCwhMCkpfSl9KX0pLE4pLFkpO1ouZXhwb3J0cz1mdW5jdGlvbihVKXt2YXIgVixSPU9iamVjdC5jcmVhdGUoSSwoQyhWPXt9LGsse3ZhbHVlOlUsd3JpdGFibGU6ITB9KSxDKFYsbSx7dmFsdWU6bnVsbCx3cml0YWJsZToh''@;'; put 'put ''MH0pLEMoVixGLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksQyhWLEQse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxDKFYsdyx7dmFsdWU6VS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLHdyaXRhYmxlOiEwfSksQyhWLE0se3ZhbHVlOmZ1bmN0aW9uKEIscSl7dmFyIEo9UltrXS5yZWFk''@;'; put 'put ''KCk7Sj8oUltQXT1udWxsLFJbbV09bnVsbCxSW0ZdPW51bGwsQihPKEosITEpKSk6KFJbbV09QixSW0ZdPXEpfSx3cml0YWJsZTohMH0pLFYpKTtyZXR1cm4gUltQXT1udWxsLFMoVSxmdW5jdGlvbihCKXtpZihCJiYiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UiIT09Qi5jb2RlKXt2YXIg''@;'; put 'put ''cT1SW0ZdO3JldHVybiBudWxsIT09cSYmKFJbUF09bnVsbCxSW21dPW51bGwsUltGXT1udWxsLHEoQikpLHZvaWQoUltEXT1CKX12YXIgSj1SW21dO251bGwhPT1KJiYoUltQXT1udWxsLFJbbV09bnVsbCxSW0ZdPW51bGwsSihPKHZvaWQgMCwhMCkpKSxSW3ddPSEwfSksVS5vbigicmVhZGFi''@;'; put 'put ''bGUiLFQuYmluZChudWxsLFIpKSxSfX0sNzMyNzooWixBLGopPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIE4oRCx3KXt2YXIgUD1PYmplY3Qua2V5cyhEKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgTT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKEQpO3cmJihN''@;'; put 'put ''PU0uZmlsdGVyKGZ1bmN0aW9uKGspe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEQsaykuZW51bWVyYWJsZX0pKSxQLnB1c2guYXBwbHkoUCxNKX1yZXR1cm4gUH1mdW5jdGlvbiB6KEQsdyxQKXtyZXR1cm4gdyBpbiBEP09iamVjdC5kZWZpbmVQcm9wZXJ0eShELHcs''@;'; put 'put ''e3ZhbHVlOlAsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTpEW3ddPVAsRH1mdW5jdGlvbiBDKEQsdyl7Zm9yKHZhciBQPTA7UDx3Lmxlbmd0aDtQKyspe3ZhciBNPXdbUF07TS5lbnVtZXJhYmxlPU0uZW51bWVyYWJsZXx8ITEsTS5jb25maWd1cmFibGU9ITAs''@;'; put 'put ''InZhbHVlImluIE0mJihNLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRCxNLmtleSxNKX19dmFyIFM9aig4NzY0KS5CdWZmZXIsbT1qKDIzNjEpLmluc3BlY3QsRj1tJiZtLmN1c3RvbXx8Imluc3BlY3QiO1ouZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIEQoKXsoZnVu''@;'; put 'put ''Y3Rpb24oayxPKXtpZighKGsgaW5zdGFuY2VvZiBPKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsRCksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH12YXIgdyxQO3JldHVybiB3PUQsUD1b''@;'; put 'put ''e2tleToicHVzaCIsdmFsdWU6ZnVuY3Rpb24oayl7dmFyIE89e2RhdGE6ayxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9Tzp0aGlzLmhlYWQ9Tyx0aGlzLnRhaWw9TywrK3RoaXMubGVuZ3RofX0se2tleToidW5zaGlmdCIsdmFsdWU6ZnVuY3Rpb24oayl7dmFyIE89''@;'; put 'put ''e2RhdGE6ayxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPU8pLHRoaXMuaGVhZD1PLCsrdGhpcy5sZW5ndGh9fSx7a2V5OiJzaGlmdCIsdmFsdWU6ZnVuY3Rpb24oKXtpZigwIT09dGhpcy5sZW5ndGgpe3ZhciBrPXRoaXMuaGVhZC5kYXRhO3JldHVybiB0aGlz''@;'; put 'put ''LmhlYWQ9MT09PXRoaXMubGVuZ3RoP3RoaXMudGFpbD1udWxsOnRoaXMuaGVhZC5uZXh0LC0tdGhpcy5sZW5ndGgsa319fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH19LHtrZXk6ImpvaW4iLHZhbHVlOmZ1bmN0''@;'; put 'put ''aW9uKGspe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm4iIjtmb3IodmFyIE89dGhpcy5oZWFkLEw9IiIrTy5kYXRhO089Ty5uZXh0OylMKz1rK08uZGF0YTtyZXR1cm4gTH19LHtrZXk6ImNvbmNhdCIsdmFsdWU6ZnVuY3Rpb24oayl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiBTLmFsbG9j''@;'; put 'put ''KDApO2Zvcih2YXIgWT1TLmFsbG9jVW5zYWZlKGs+Pj4wKSxJPXRoaXMuaGVhZCxVPTA7STspUy5wcm90b3R5cGUuY29weS5jYWxsKEkuZGF0YSxZLFUpLFUrPUkuZGF0YS5sZW5ndGgsST1JLm5leHQ7cmV0dXJuIFl9fSx7a2V5OiJjb25zdW1lIix2YWx1ZTpmdW5jdGlvbihrLE8pe3ZhciBM''@;'; put 'put ''O3JldHVybiBrPHRoaXMuaGVhZC5kYXRhLmxlbmd0aD8oTD10aGlzLmhlYWQuZGF0YS5zbGljZSgwLGspLHRoaXMuaGVhZC5kYXRhPXRoaXMuaGVhZC5kYXRhLnNsaWNlKGspKTpMPWs9PT10aGlzLmhlYWQuZGF0YS5sZW5ndGg/dGhpcy5zaGlmdCgpOk8/dGhpcy5fZ2V0U3RyaW5nKGspOnRo''@;'; put 'put ''aXMuX2dldEJ1ZmZlcihrKSxMfX0se2tleToiZmlyc3QiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGVhZC5kYXRhfX0se2tleToiX2dldFN0cmluZyIsdmFsdWU6ZnVuY3Rpb24oayl7dmFyIE89dGhpcy5oZWFkLEw9MSxUPU8uZGF0YTtmb3Ioay09VC5sZW5ndGg7Tz1PLm5leHQ7''@;'; put 'put ''KXt2YXIgWT1PLmRhdGEsST1rPlkubGVuZ3RoP1kubGVuZ3RoOms7aWYoVCs9ST09PVkubGVuZ3RoP1k6WS5zbGljZSgwLGspLDA9PShrLT1JKSl7ST09PVkubGVuZ3RoPygrK0wsdGhpcy5oZWFkPU8ubmV4dD9PLm5leHQ6dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9TyxPLmRhdGE9WS5z''@;'; put 'put ''bGljZShJKSk7YnJlYWt9KytMfXJldHVybiB0aGlzLmxlbmd0aC09TCxUfX0se2tleToiX2dldEJ1ZmZlciIsdmFsdWU6ZnVuY3Rpb24oayl7dmFyIE89Uy5hbGxvY1Vuc2FmZShrKSxMPXRoaXMuaGVhZCxUPTE7Zm9yKEwuZGF0YS5jb3B5KE8pLGstPUwuZGF0YS5sZW5ndGg7TD1MLm5leHQ7''@;'; put 'put ''KXt2YXIgWT1MLmRhdGEsST1rPlkubGVuZ3RoP1kubGVuZ3RoOms7aWYoWS5jb3B5KE8sTy5sZW5ndGgtaywwLEkpLDA9PShrLT1JKSl7ST09PVkubGVuZ3RoPygrK1QsdGhpcy5oZWFkPUwubmV4dD9MLm5leHQ6dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9TCxMLmRhdGE9WS5zbGljZShJ''@;'; put 'put ''KSk7YnJlYWt9KytUfXJldHVybiB0aGlzLmxlbmd0aC09VCxPfX0se2tleTpGLHZhbHVlOmZ1bmN0aW9uKGssTyl7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihMKXtmb3IodmFyIFQ9MTtUPGFyZ3VtZW50cy5sZW5ndGg7VCsrKXt2YXIgWT1udWxsIT1hcmd1bWVudHNbVF0/YXJndW1lbnRzW1Rd''@;'; put 'put ''Ont9O1QlMj9OKE9iamVjdChZKSwhMCkuZm9yRWFjaChmdW5jdGlvbihJKXt6KEwsSSxZW0ldKX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEwsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoWSkpOk4oT2JqZWN0KFkp''@;'; put 'put ''KS5mb3JFYWNoKGZ1bmN0aW9uKEkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShMLEksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihZLEkpKX0pfXJldHVybiBMfSh7fSxPLHtkZXB0aDowLGN1c3RvbUluc3BlY3Q6ITF9KSl9fV0sUCYmQyh3LnByb3RvdHlwZSxQKSxEfSgpfSwxMTk1''@;'; put 'put ''OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0MTU1KTtmdW5jdGlvbiB6KG0sRil7UyhtLEYpLEMobSl9ZnVuY3Rpb24gQyhtKXttLl93cml0YWJsZVN0YXRlJiYhbS5fd3JpdGFibGVTdGF0ZS5lbWl0Q2xvc2V8fG0uX3JlYWRhYmxlU3RhdGUmJiFtLl9yZWFkYWJsZVN0YXRlLmVt''@;'; put 'put ''aXRDbG9zZXx8bS5lbWl0KCJjbG9zZSIpfWZ1bmN0aW9uIFMobSxGKXttLmVtaXQoImVycm9yIixGKX1aLmV4cG9ydHM9e2Rlc3Ryb3k6ZnVuY3Rpb24obSxGKXt2YXIgRD10aGlzO3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZHx8dGhp''@;'; put 'put ''cy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ/KEY/RihtKTptJiYodGhpcy5fd3JpdGFibGVTdGF0ZT90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZHx8KHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLE4ubmV4dFRpY2soUyx0''@;'; put 'put ''aGlzLG0pKTpOLm5leHRUaWNrKFMsdGhpcyxtKSksdGhpcyk6KHRoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl9kZXN0cm95KG18''@;'; put 'put ''fG51bGwsZnVuY3Rpb24oTSl7IUYmJk0/RC5fd3JpdGFibGVTdGF0ZT9ELl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD9OLm5leHRUaWNrKEMsRCk6KEQuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLE4ubmV4dFRpY2soeixELE0pKTpOLm5leHRUaWNrKHosRCxNKTpGPyhOLm5l''@;'; put 'put ''eHRUaWNrKEMsRCksRihNKSk6Ti5uZXh0VGljayhDLEQpfSksdGhpcyl9LHVuZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVT''@;'; put 'put ''dGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRo''@;'; put 'put ''aXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSExKX0sZXJyb3JPckRlc3Ryb3k6ZnVuY3Rpb24obSxG''@;'; put 'put ''KXt2YXIgRD1tLl9yZWFkYWJsZVN0YXRlLHc9bS5fd3JpdGFibGVTdGF0ZTtEJiZELmF1dG9EZXN0cm95fHx3JiZ3LmF1dG9EZXN0cm95P20uZGVzdHJveShGKTptLmVtaXQoImVycm9yIixGKX19fSw4NjEwOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0MjgxKS5xLkVSUl9TVFJF''@;'; put 'put ''QU1fUFJFTUFUVVJFX0NMT1NFO2Z1bmN0aW9uIHooKXt9Wi5leHBvcnRzPWZ1bmN0aW9uIEMoUyxtLEYpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBtKXJldHVybiBDKFMsbnVsbCxtKTt2YXIgVSxWO218fChtPXt9KSxVPUZ8fHosVj0hMSxGPWZ1bmN0aW9uKCl7aWYoIVYpe1Y9ITA7Zm9yKHZh''@;'; put 'put ''ciBSPWFyZ3VtZW50cy5sZW5ndGgsQj1uZXcgQXJyYXkoUikscT0wO3E8UjtxKyspQltxXT1hcmd1bWVudHNbcV07VS5hcHBseSh0aGlzLEIpfX07dmFyIEQ9bS5yZWFkYWJsZXx8ITEhPT1tLnJlYWRhYmxlJiZTLnJlYWRhYmxlLHc9bS53cml0YWJsZXx8ITEhPT1tLndyaXRhYmxlJiZTLndy''@;'; put 'put ''aXRhYmxlLFA9ZnVuY3Rpb24oKXtTLndyaXRhYmxlfHxrKCl9LE09Uy5fd3JpdGFibGVTdGF0ZSYmUy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCxrPWZ1bmN0aW9uKCl7dz0hMSxNPSEwLER8fEYuY2FsbChTKX0sTz1TLl9yZWFkYWJsZVN0YXRlJiZTLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0''@;'; put 'put ''ZWQsTD1mdW5jdGlvbigpe0Q9ITEsTz0hMCx3fHxGLmNhbGwoUyl9LFQ9ZnVuY3Rpb24oVSl7Ri5jYWxsKFMsVSl9LFk9ZnVuY3Rpb24oKXt2YXIgVTtyZXR1cm4gRCYmIU8/KFMuX3JlYWRhYmxlU3RhdGUmJlMuX3JlYWRhYmxlU3RhdGUuZW5kZWR8fChVPW5ldyBOKSxGLmNhbGwoUyxVKSk6''@;'; put 'put ''dyYmIU0/KFMuX3dyaXRhYmxlU3RhdGUmJlMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fChVPW5ldyBOKSxGLmNhbGwoUyxVKSk6dm9pZCAwfSxJPWZ1bmN0aW9uKCl7Uy5yZXEub24oImZpbmlzaCIsayl9O3JldHVybiBmdW5jdGlvbihVKXtyZXR1cm4gVS5zZXRIZWFkZXImJiJmdW5jdGlvbiI9''@;'; put 'put ''PXR5cGVvZiBVLmFib3J0fShTKT8oUy5vbigiY29tcGxldGUiLGspLFMub24oImFib3J0IixZKSxTLnJlcT9JKCk6Uy5vbigicmVxdWVzdCIsSSkpOncmJiFTLl93cml0YWJsZVN0YXRlJiYoUy5vbigiZW5kIixQKSxTLm9uKCJjbG9zZSIsUCkpLFMub24oImVuZCIsTCksUy5vbigiZmluaXNo''@;'; put 'put ''IixrKSwhMSE9PW0uZXJyb3ImJlMub24oImVycm9yIixUKSxTLm9uKCJjbG9zZSIsWSksZnVuY3Rpb24oKXtTLnJlbW92ZUxpc3RlbmVyKCJjb21wbGV0ZSIsayksUy5yZW1vdmVMaXN0ZW5lcigiYWJvcnQiLFkpLFMucmVtb3ZlTGlzdGVuZXIoInJlcXVlc3QiLEkpLFMucmVxJiZTLnJlcS5y''@;'; put 'put ''ZW1vdmVMaXN0ZW5lcigiZmluaXNoIixrKSxTLnJlbW92ZUxpc3RlbmVyKCJlbmQiLFApLFMucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixQKSxTLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLGspLFMucmVtb3ZlTGlzdGVuZXIoImVuZCIsTCksUy5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLFQpLFMu''@;'; put 'put ''cmVtb3ZlTGlzdGVuZXIoImNsb3NlIixZKX19fSw1MTY3Olo9PntaLmV4cG9ydHM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIlJlYWRhYmxlLmZyb20gaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgYnJvd3NlciIpfX0sOTk0NjooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOLHo9aig0''@;'; put 'put ''MjgxKS5xLEM9ei5FUlJfTUlTU0lOR19BUkdTLFM9ei5FUlJfU1RSRUFNX0RFU1RST1lFRDtmdW5jdGlvbiBtKE0pe2lmKE0pdGhyb3cgTX1mdW5jdGlvbiBGKE0sayxPLEwpe3ZhciBJLFU7ST1MLFU9ITEsTD1mdW5jdGlvbigpe1V8fChVPSEwLEkuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykp''@;'; put 'put ''fTt2YXIgVD0hMTtNLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXtUPSEwfSksdm9pZCAwPT09TiYmKE49aig4NjEwKSksTihNLHtyZWFkYWJsZTprLHdyaXRhYmxlOk99LGZ1bmN0aW9uKEkpe2lmKEkpcmV0dXJuIEwoSSk7VD0hMCxMKCl9KTt2YXIgWT0hMTtyZXR1cm4gZnVuY3Rpb24oSSl7aWYo''@;'; put 'put ''IVQmJiFZKXJldHVybiBZPSEwLGZ1bmN0aW9uKFUpe3JldHVybiBVLnNldEhlYWRlciYmImZ1bmN0aW9uIj09dHlwZW9mIFUuYWJvcnR9KE0pP00uYWJvcnQoKToiZnVuY3Rpb24iPT10eXBlb2YgTS5kZXN0cm95P00uZGVzdHJveSgpOnZvaWQgTChJfHxuZXcgUygicGlwZSIpKX19ZnVuY3Rp''@;'; put 'put ''b24gRChNKXtNKCl9ZnVuY3Rpb24gdyhNLGspe3JldHVybiBNLnBpcGUoayl9ZnVuY3Rpb24gUChNKXtyZXR1cm4gTS5sZW5ndGg/ImZ1bmN0aW9uIiE9dHlwZW9mIE1bTS5sZW5ndGgtMV0/bTpNLnBvcCgpOm19Wi5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBNPWFyZ3VtZW50cy5sZW5n''@;'; put 'put ''dGgsaz1uZXcgQXJyYXkoTSksTz0wO088TTtPKyspa1tPXT1hcmd1bWVudHNbT107dmFyIEwsVD1QKGspO2lmKEFycmF5LmlzQXJyYXkoa1swXSkmJihrPWtbMF0pLGsubGVuZ3RoPDIpdGhyb3cgbmV3IEMoInN0cmVhbXMiKTt2YXIgWT1rLm1hcChmdW5jdGlvbihJLFUpe3ZhciBWPVU8ay5s''@;'; put 'put ''ZW5ndGgtMTtyZXR1cm4gRihJLFYsVT4wLGZ1bmN0aW9uKFIpe0x8fChMPVIpLFImJlkuZm9yRWFjaChEKSxWfHwoWS5mb3JFYWNoKEQpLFQoTCkpfSl9KTtyZXR1cm4gay5yZWR1Y2Uodyl9fSwyNDU3OihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0MjgxKS5xLkVSUl9JTlZBTElE''@;'; put 'put ''X09QVF9WQUxVRTtaLmV4cG9ydHM9e2dldEhpZ2hXYXRlck1hcms6ZnVuY3Rpb24oeixDLFMsbSl7dmFyIEQsRj1udWxsIT0oRD1DKS5oaWdoV2F0ZXJNYXJrP0QuaGlnaFdhdGVyTWFyazptP0RbU106bnVsbDtpZihudWxsIT1GKXtpZighaXNGaW5pdGUoRil8fE1hdGguZmxvb3IoRikhPT1G''@;'; put 'put ''fHxGPDApdGhyb3cgbmV3IE4obT9TOiJoaWdoV2F0ZXJNYXJrIixGKTtyZXR1cm4gTWF0aC5mbG9vcihGKX1yZXR1cm4gei5vYmplY3RNb2RlPzE2OjE2Mzg0fX19LDI1MDM6KFosQSxqKT0+e1ouZXhwb3J0cz1qKDcxODcpLkV2ZW50RW1pdHRlcn0sODQ3MzooWixBLGopPT57KEE9Wi5leHBv''@;'; put 'put ''cnRzPWooOTQ4MSkpLlN0cmVhbT1BLEEuUmVhZGFibGU9QSxBLldyaXRhYmxlPWooNDIyOSksQS5EdXBsZXg9aig2NzUzKSxBLlRyYW5zZm9ybT1qKDQ2MDUpLEEuUGFzc1Rocm91Z2g9aigyNzI1KSxBLmZpbmlzaGVkPWooODYxMCksQS5waXBlbGluZT1qKDk5NDYpfSw5ODQ6KFosQSxqKT0+''@;'; put 'put ''e3ZhciBOPWooNDE1NSk7Y29uc3Qgej1qKDkyODIpLEM9aigyNTIwKSxTPWooNzIxNyk7bGV0IG07dHJ5e209aigyODg0KX1jYXRjaChSKXt9Y29uc3QgRj17bm9zb3J0OiEwLHNpbGVudDohMH07bGV0IEQ9MDtjb25zdCB3PSJ3aW4zMiI9PT1OLnBsYXRmb3JtLFA9Uj0+e2lmKFsidW5saW5r''@;'; put 'put ''IiwiY2htb2QiLCJzdGF0IiwibHN0YXQiLCJybWRpciIsInJlYWRkaXIiXS5mb3JFYWNoKEI9PntSW0JdPVJbQl18fFNbQl0sUltCKz0iU3luYyJdPVJbQl18fFNbQl19KSxSLm1heEJ1c3lUcmllcz1SLm1heEJ1c3lUcmllc3x8MyxSLmVtZmlsZVdhaXQ9Ui5lbWZpbGVXYWl0fHwxZTMsITE9''@;'; put 'put ''PT1SLmdsb2ImJihSLmRpc2FibGVHbG9iPSEwKSwhMCE9PVIuZGlzYWJsZUdsb2ImJnZvaWQgMD09PW0pdGhyb3cgRXJyb3IoImdsb2IgZGVwZW5kZW5jeSBub3QgZm91bmQsIHNldCBgb3B0aW9ucy5kaXNhYmxlR2xvYiA9IHRydWVgIGlmIGludGVudGlvbmFsIik7Ui5kaXNhYmxlR2xvYj1S''@;'; put 'put ''LmRpc2FibGVHbG9ifHwhMSxSLmdsb2I9Ui5nbG9ifHxGfSxNPShSLEIscSk9PnsiZnVuY3Rpb24iPT10eXBlb2YgQiYmKHE9QixCPXt9KSx6KFIsInJpbXJhZjogbWlzc2luZyBwYXRoIiksei5lcXVhbCh0eXBlb2YgUiwic3RyaW5nIiwicmltcmFmOiBwYXRoIHNob3VsZCBiZSBhIHN0cmlu''@;'; put 'put ''ZyIpLHouZXF1YWwodHlwZW9mIHEsImZ1bmN0aW9uIiwicmltcmFmOiBjYWxsYmFjayBmdW5jdGlvbiByZXF1aXJlZCIpLHooQiwicmltcmFmOiBpbnZhbGlkIG9wdGlvbnMgYXJndW1lbnQgcHJvdmlkZWQiKSx6LmVxdWFsKHR5cGVvZiBCLCJvYmplY3QiLCJyaW1yYWY6IG9wdGlvbnMgc2hv''@;'; put 'put ''dWxkIGJlIG9iamVjdCIpLFAoQik7bGV0IEo9MCwkPW51bGwsdGU9MDtjb25zdCBoPShiLHkpPT5iP3EoYik6KHRlPXkubGVuZ3RoLDA9PT10ZT9xKCk6dm9pZCB5LmZvckVhY2gocD0+e2NvbnN0IGc9Xz0+e2lmKF8pe2lmKCgiRUJVU1kiPT09Xy5jb2RlfHwiRU5PVEVNUFRZIj09PV8uY29k''@;'; put 'put ''ZXx8IkVQRVJNIj09PV8uY29kZSkmJko8Qi5tYXhCdXN5VHJpZXMpcmV0dXJuIEorKyxzZXRUaW1lb3V0KCgpPT5rKHAsQixnKSwxMDAqSik7aWYoIkVNRklMRSI9PT1fLmNvZGUmJkQ8Qi5lbWZpbGVXYWl0KXJldHVybiBzZXRUaW1lb3V0KCgpPT5rKHAsQixnKSxEKyspOyJFTk9FTlQiPT09''@;'; put 'put ''Xy5jb2RlJiYoXz1udWxsKX1EPTAsJD0kfHxfLDA9PS0tdGUmJnEoJCl9O2socCxCLGcpfSkpO2lmKEIuZGlzYWJsZUdsb2J8fCFtLmhhc01hZ2ljKFIpKXJldHVybiBoKG51bGwsW1JdKTtCLmxzdGF0KFIsKGIseSk9PntpZighYilyZXR1cm4gaChudWxsLFtSXSk7bShSLEIuZ2xvYixoKX0p''@;'; put 'put ''fSxrPShSLEIscSk9Pnt6KFIpLHooQikseigiZnVuY3Rpb24iPT10eXBlb2YgcSksQi5sc3RhdChSLChKLCQpPT5KJiYiRU5PRU5UIj09PUouY29kZT9xKG51bGwpOihKJiYiRVBFUk0iPT09Si5jb2RlJiZ3JiZPKFIsQixKLHEpLCQmJiQuaXNEaXJlY3RvcnkoKT9UKFIsQixKLHEpOnZvaWQg''@;'; put 'put ''Qi51bmxpbmsoUix0ZT0+e2lmKHRlKXtpZigiRU5PRU5UIj09PXRlLmNvZGUpcmV0dXJuIHEobnVsbCk7aWYoIkVQRVJNIj09PXRlLmNvZGUpcmV0dXJuIHc/TyhSLEIsdGUscSk6VChSLEIsdGUscSk7aWYoIkVJU0RJUiI9PT10ZS5jb2RlKXJldHVybiBUKFIsQix0ZSxxKX1yZXR1cm4gcSh0''@;'; put 'put ''ZSl9KSkpfSxPPShSLEIscSxKKT0+e3ooUikseihCKSx6KCJmdW5jdGlvbiI9PXR5cGVvZiBKKSxCLmNobW9kKFIsNDM4LCQ9PnskP0ooIkVOT0VOVCI9PT0kLmNvZGU/bnVsbDpxKTpCLnN0YXQoUiwodGUsaCk9Pnt0ZT9KKCJFTk9FTlQiPT09dGUuY29kZT9udWxsOnEpOmguaXNEaXJlY3Rv''@;'; put 'put ''cnkoKT9UKFIsQixxLEopOkIudW5saW5rKFIsSil9KX0pfSxMPShSLEIscSk9Pnt6KFIpLHooQik7dHJ5e0IuY2htb2RTeW5jKFIsNDM4KX1jYXRjaCgkKXtpZigiRU5PRU5UIj09PSQuY29kZSlyZXR1cm47dGhyb3cgcX1sZXQgSjt0cnl7Sj1CLnN0YXRTeW5jKFIpfWNhdGNoKCQpe2lmKCJF''@;'; put 'put ''Tk9FTlQiPT09JC5jb2RlKXJldHVybjt0aHJvdyBxfUouaXNEaXJlY3RvcnkoKT9VKFIsQixxKTpCLnVubGlua1N5bmMoUil9LFQ9KFIsQixxLEopPT57eihSKSx6KEIpLHooImZ1bmN0aW9uIj09dHlwZW9mIEopLEIucm1kaXIoUiwkPT57ISR8fCJFTk9URU1QVFkiIT09JC5jb2RlJiYiRUVY''@;'; put 'put ''SVNUIiE9PSQuY29kZSYmIkVQRVJNIiE9PSQuY29kZT9KKCQmJiJFTk9URElSIj09PSQuY29kZT9xOiQpOlkoUixCLEopfSl9LFk9KFIsQixxKT0+e3ooUikseihCKSx6KCJmdW5jdGlvbiI9PXR5cGVvZiBxKSxCLnJlYWRkaXIoUiwoSiwkKT0+e2lmKEopcmV0dXJuIHEoSik7bGV0IHRlLGg9''@;'; put 'put ''JC5sZW5ndGg7aWYoMD09PWgpcmV0dXJuIEIucm1kaXIoUixxKTskLmZvckVhY2goYj0+e00oQy5qb2luKFIsYiksQix5PT57aWYoIXRlKXJldHVybiB5P3EodGU9eSk6dm9pZCgwPT0tLWgmJkIucm1kaXIoUixxKSl9KX0pfSl9LEk9KFIsQik9PntsZXQgcTtpZihQKEI9Qnx8e30pLHooUiwi''@;'; put 'put ''cmltcmFmOiBtaXNzaW5nIHBhdGgiKSx6LmVxdWFsKHR5cGVvZiBSLCJzdHJpbmciLCJyaW1yYWY6IHBhdGggc2hvdWxkIGJlIGEgc3RyaW5nIikseihCLCJyaW1yYWY6IG1pc3Npbmcgb3B0aW9ucyIpLHouZXF1YWwodHlwZW9mIEIsIm9iamVjdCIsInJpbXJhZjogb3B0aW9ucyBzaG91bGQg''@;'; put 'put ''YmUgb2JqZWN0IiksQi5kaXNhYmxlR2xvYnx8IW0uaGFzTWFnaWMoUikpcT1bUl07ZWxzZSB0cnl7Qi5sc3RhdFN5bmMoUikscT1bUl19Y2F0Y2goSil7cT1tLnN5bmMoUixCLmdsb2IpfWlmKHEubGVuZ3RoKWZvcihsZXQgSj0wO0o8cS5sZW5ndGg7SisrKXtjb25zdCAkPXFbSl07bGV0IHRl''@;'; put 'put ''O3RyeXt0ZT1CLmxzdGF0U3luYygkKX1jYXRjaChoKXtpZigiRU5PRU5UIj09PWguY29kZSlyZXR1cm47IkVQRVJNIj09PWguY29kZSYmdyYmTCgkLEIsaCl9dHJ5e3RlJiZ0ZS5pc0RpcmVjdG9yeSgpP1UoJCxCLG51bGwpOkIudW5saW5rU3luYygkKX1jYXRjaChoKXtpZigiRU5PRU5UIj09''@;'; put 'put ''PWguY29kZSlyZXR1cm47aWYoIkVQRVJNIj09PWguY29kZSlyZXR1cm4gdz9MKCQsQixoKTpVKCQsQixoKTtpZigiRUlTRElSIiE9PWguY29kZSl0aHJvdyBoO1UoJCxCLGgpfX19LFU9KFIsQixxKT0+e3ooUikseihCKTt0cnl7Qi5ybWRpclN5bmMoUil9Y2F0Y2goSil7aWYoIkVOT0VOVCI9''@;'; put 'put ''PT1KLmNvZGUpcmV0dXJuO2lmKCJFTk9URElSIj09PUouY29kZSl0aHJvdyBxOyJFTk9URU1QVFkiIT09Si5jb2RlJiYiRUVYSVNUIiE9PUouY29kZSYmIkVQRVJNIiE9PUouY29kZXx8VihSLEIpfX0sVj0oUixCKT0+e3ooUikseihCKSxCLnJlYWRkaXJTeW5jKFIpLmZvckVhY2goJD0+SShD''@;'; put 'put ''LmpvaW4oUiwkKSxCKSk7Y29uc3QgcT13PzEwMDoxO2xldCBKPTA7Zm9yKDs7KXtsZXQgJD0hMDt0cnl7Y29uc3QgdGU9Qi5ybWRpclN5bmMoUixCKTtyZXR1cm4gJD0hMSx0ZX1maW5hbGx5e2lmKCsrSjxxJiYkKWNvbnRpbnVlfX19O1ouZXhwb3J0cz1NLE0uc3luYz1JfSw5Nzg1OihaLEEs''@;'; put 'put ''aik9PnsidXNlIHN0cmljdCI7dmFyIE49aig4NzY0KS5CdWZmZXIsej1qKDU3MTcpLEM9aigzMzQ5KSxTPW5ldyBBcnJheSgxNiksbT1bMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5''@;'; put 'put ''LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXSxGPVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwx''@;'; put 'put ''NCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdLEQ9WzExLDE0LDE1LDEyLDUsOCw3LDksMTEsMTMsMTQs''@;'; put 'put ''MTUsNiw3LDksOCw3LDYsOCwxMywxMSw5LDcsMTUsNywxMiwxNSw5LDExLDcsMTMsMTIsMTEsMTMsNiw3LDE0LDksMTMsMTUsMTQsOCwxMyw2LDUsMTIsNyw1LDExLDEyLDE0LDE1LDE0LDE1LDksOCw5LDE0LDUsNiw4LDYsNSwxMiw5LDE1LDUsMTEsNiw4LDEzLDEyLDUsMTIsMTMsMTQsMTEs''@;'; put 'put ''OCw1LDZdLHc9WzgsOSw5LDExLDEzLDE1LDE1LDUsNyw3LDgsMTEsMTQsMTQsMTIsNiw5LDEzLDE1LDcsMTIsOCw5LDExLDcsNywxMiw3LDYsMTUsMTMsMTEsOSw3LDE1LDExLDgsNiw2LDE0LDEyLDEzLDUsMTQsMTMsMTMsNyw1LDE1LDUsOCwxMSwxNCwxNCw2LDE0LDYsOSwxMiw5LDEyLDUs''@;'; put 'put ''MTUsOCw4LDUsMTIsOSwxMiw1LDE0LDYsOCwxMyw2LDUsMTUsMTMsMTEsMTFdLFA9WzAsMTUxODUwMDI0OSwxODU5Nzc1MzkzLDI0MDA5NTk3MDgsMjg0MDg1MzgzOF0sTT1bMTM1MjgyOTkyNiwxNTQ4NjAzNjg0LDE4MzYwNzI2OTEsMjA1Mzk5NDIxNywwXTtmdW5jdGlvbiBrKCl7Qy5jYWxs''@;'; put 'put ''KHRoaXMsNjQpLHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4LHRoaXMuX2U9MzI4NTM3NzUyMH1mdW5jdGlvbiBPKFYsUil7cmV0dXJuIFY8PFJ8Vj4+PjMyLVJ9ZnVuY3Rpb24gTChWLFIsQixxLEosJCx0''@;'; put 'put ''ZSxoKXtyZXR1cm4gTyhWKyhSXkJecSkrJCt0ZXwwLGgpK0p8MH1mdW5jdGlvbiBUKFYsUixCLHEsSiwkLHRlLGgpe3JldHVybiBPKFYrKFImQnx+UiZxKSskK3RlfDAsaCkrSnwwfWZ1bmN0aW9uIFkoVixSLEIscSxKLCQsdGUsaCl7cmV0dXJuIE8oVisoKFJ8fkIpXnEpKyQrdGV8MCxoKStK''@;'; put 'put ''fDB9ZnVuY3Rpb24gSShWLFIsQixxLEosJCx0ZSxoKXtyZXR1cm4gTyhWKyhSJnF8QiZ+cSkrJCt0ZXwwLGgpK0p8MH1mdW5jdGlvbiBVKFYsUixCLHEsSiwkLHRlLGgpe3JldHVybiBPKFYrKFJeKEJ8fnEpKSskK3RlfDAsaCkrSnwwfXooayxDKSxrLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0''@;'; put 'put ''aW9uKCl7Zm9yKHZhciBWPVMsUj0wO1I8MTY7KytSKVZbUl09dGhpcy5fYmxvY2sucmVhZEludDMyTEUoNCpSKTtmb3IodmFyIEI9MHx0aGlzLl9hLHE9MHx0aGlzLl9iLEo9MHx0aGlzLl9jLCQ9MHx0aGlzLl9kLHRlPTB8dGhpcy5fZSxoPTB8dGhpcy5fYSxiPTB8dGhpcy5fYix5PTB8dGhp''@;'; put 'put ''cy5fYyxwPTB8dGhpcy5fZCxnPTB8dGhpcy5fZSxfPTA7Xzw4MDtfKz0xKXt2YXIgRSxXO188MTY/KEU9TChCLHEsSiwkLHRlLFZbbVtfXV0sUFswXSxEW19dKSxXPVUoaCxiLHkscCxnLFZbRltfXV0sTVswXSx3W19dKSk6XzwzMj8oRT1UKEIscSxKLCQsdGUsVlttW19dXSxQWzFdLERbX10p''@;'; put 'put ''LFc9SShoLGIseSxwLGcsVltGW19dXSxNWzFdLHdbX10pKTpfPDQ4PyhFPVkoQixxLEosJCx0ZSxWW21bX11dLFBbMl0sRFtfXSksVz1ZKGgsYix5LHAsZyxWW0ZbX11dLE1bMl0sd1tfXSkpOl88NjQ/KEU9SShCLHEsSiwkLHRlLFZbbVtfXV0sUFszXSxEW19dKSxXPVQoaCxiLHkscCxnLFZb''@;'; put 'put ''RltfXV0sTVszXSx3W19dKSk6KEU9VShCLHEsSiwkLHRlLFZbbVtfXV0sUFs0XSxEW19dKSxXPUwoaCxiLHkscCxnLFZbRltfXV0sTVs0XSx3W19dKSksQj10ZSx0ZT0kLCQ9TyhKLDEwKSxKPXEscT1FLGg9ZyxnPXAscD1PKHksMTApLHk9YixiPVd9dmFyIEc9dGhpcy5fYitKK3B8MDt0aGlz''@;'; put 'put ''Ll9iPXRoaXMuX2MrJCtnfDAsdGhpcy5fYz10aGlzLl9kK3RlK2h8MCx0aGlzLl9kPXRoaXMuX2UrQitifDAsdGhpcy5fZT10aGlzLl9hK3EreXwwLHRoaXMuX2E9R30say5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3RoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPTEyOCx0''@;'; put 'put ''aGlzLl9ibG9ja09mZnNldD41NiYmKHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw2NCksdGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MCksdGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxF''@;'; put 'put ''KHRoaXMuX2xlbmd0aFswXSw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMV0sNjApLHRoaXMuX3VwZGF0ZSgpO3ZhciBWPU4uYWxsb2M/Ti5hbGxvYygyMCk6bmV3IE4oMjApO3JldHVybiBWLndyaXRlSW50MzJMRSh0aGlzLl9hLDApLFYud3JpdGVJbnQzMkxF''@;'; put 'put ''KHRoaXMuX2IsNCksVi53cml0ZUludDMyTEUodGhpcy5fYyw4KSxWLndyaXRlSW50MzJMRSh0aGlzLl9kLDEyKSxWLndyaXRlSW50MzJMRSh0aGlzLl9lLDE2KSxWfSxaLmV4cG9ydHM9a30sOTUwOTooWixBLGopPT57dmFyIE49aig4NzY0KSx6PU4uQnVmZmVyO2Z1bmN0aW9uIEMobSxGKXtm''@;'; put 'put ''b3IodmFyIEQgaW4gbSlGW0RdPW1bRF19ZnVuY3Rpb24gUyhtLEYsRCl7cmV0dXJuIHoobSxGLEQpfXouZnJvbSYmei5hbGxvYyYmei5hbGxvY1Vuc2FmZSYmei5hbGxvY1Vuc2FmZVNsb3c/Wi5leHBvcnRzPU46KEMoTixBKSxBLkJ1ZmZlcj1TKSxDKHosUyksUy5mcm9tPWZ1bmN0aW9uKG0s''@;'; put 'put ''RixEKXtpZigibnVtYmVyIj09dHlwZW9mIG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXIiKTtyZXR1cm4geihtLEYsRCl9LFMuYWxsb2M9ZnVuY3Rpb24obSxGLEQpe2lmKCJudW1iZXIiIT10eXBlb2YgbSl0aHJvdyBuZXcgVHlwZUVycm9yKCJB''@;'; put 'put ''cmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7dmFyIHc9eihtKTtyZXR1cm4gdm9pZCAwIT09Rj8ic3RyaW5nIj09dHlwZW9mIEQ/dy5maWxsKEYsRCk6dy5maWxsKEYpOncuZmlsbCgwKSx3fSxTLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKG0pe2lmKCJudW1iZXIiIT10eXBlb2YgbSl0aHJvdyBu''@;'; put 'put ''ZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIHoobSl9LFMuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKG0pe2lmKCJudW1iZXIiIT10eXBlb2YgbSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIE4u''@;'; put 'put ''U2xvd0J1ZmZlcihtKX19LDIzOTk6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PWooNDE1NSksQz1qKDg3NjQpLFM9Qy5CdWZmZXIsbT17fTtmb3IoTiBpbiBDKUMuaGFzT3duUHJvcGVydHkoTikmJiJTbG93QnVmZmVyIiE9PU4mJiJCdWZmZXIiIT09TiYmKG1bTl09Q1tOXSk7dmFy''@;'; put 'put ''IEY9bS5CdWZmZXI9e307Zm9yKE4gaW4gUylTLmhhc093blByb3BlcnR5KE4pJiYiYWxsb2NVbnNhZmUiIT09TiYmImFsbG9jVW5zYWZlU2xvdyIhPT1OJiYoRltOXT1TW05dKTtpZihtLkJ1ZmZlci5wcm90b3R5cGU9Uy5wcm90b3R5cGUsRi5mcm9tJiZGLmZyb20hPT1VaW50OEFycmF5LmZy''@;'; put 'put ''b218fChGLmZyb209ZnVuY3Rpb24oRCx3LFApe2lmKCJudW1iZXIiPT10eXBlb2YgRCl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBEKTtpZihEJiZ2b2lkIDA9PT1ELmxl''@;'; put 'put ''bmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAiK3R5cGVvZiBEKTtyZXR1cm4gUyhELHcsUCl9''@;'; put 'put ''KSxGLmFsbG9jfHwoRi5hbGxvYz1mdW5jdGlvbihELHcsUCl7aWYoIm51bWJlciIhPXR5cGVvZiBEKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBEKTtpZihEPDB8fEQ+PTIxNDc0''@;'; put 'put ''ODM2NDgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSAiJytEKyciIGlzIGludmFsaWQgZm9yIG9wdGlvbiAic2l6ZSInKTt2YXIgTT1TKEQpO3JldHVybiB3JiYwIT09dy5sZW5ndGg/InN0cmluZyI9PXR5cGVvZiBQP00uZmlsbCh3LFApOk0uZmlsbCh3KTpNLmZpbGwoMCksTX0p''@;'; put 'put ''LCFtLmtTdHJpbmdNYXhMZW5ndGgpdHJ5e20ua1N0cmluZ01heExlbmd0aD16LmJpbmRpbmcoImJ1ZmZlciIpLmtTdHJpbmdNYXhMZW5ndGh9Y2F0Y2goRCl7fW0uY29uc3RhbnRzfHwobS5jb25zdGFudHM9e01BWF9MRU5HVEg6bS5rTWF4TGVuZ3RofSxtLmtTdHJpbmdNYXhMZW5ndGgmJiht''@;'; put 'put ''LmNvbnN0YW50cy5NQVhfU1RSSU5HX0xFTkdUSD1tLmtTdHJpbmdNYXhMZW5ndGgpKSxaLmV4cG9ydHM9bX0sNDE4OTooWixBLGopPT57dmFyIE49aig5NTA5KS5CdWZmZXI7ZnVuY3Rpb24geihDLFMpe3RoaXMuX2Jsb2NrPU4uYWxsb2MoQyksdGhpcy5fZmluYWxTaXplPVMsdGhpcy5fYmxv''@;'; put 'put ''Y2tTaXplPUMsdGhpcy5fbGVuPTB9ei5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKEMsUyl7InN0cmluZyI9PXR5cGVvZiBDJiYoQz1OLmZyb20oQyxTPVN8fCJ1dGY4IikpO2Zvcih2YXIgbT10aGlzLl9ibG9jayxGPXRoaXMuX2Jsb2NrU2l6ZSxEPUMubGVuZ3RoLHc9dGhpcy5fbGVuLFA9''@;'; put 'put ''MDtQPEQ7KXtmb3IodmFyIE09dyVGLGs9TWF0aC5taW4oRC1QLEYtTSksTz0wO088aztPKyspbVtNK09dPUNbUCtPXTtQKz1rLCh3Kz1rKSVGPT0wJiZ0aGlzLl91cGRhdGUobSl9cmV0dXJuIHRoaXMuX2xlbis9RCx0aGlzfSx6LnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24oQyl7dmFyIFM9''@;'; put 'put ''dGhpcy5fbGVuJXRoaXMuX2Jsb2NrU2l6ZTt0aGlzLl9ibG9ja1tTXT0xMjgsdGhpcy5fYmxvY2suZmlsbCgwLFMrMSksUz49dGhpcy5fZmluYWxTaXplJiYodGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKSx0aGlzLl9ibG9jay5maWxsKDApKTt2YXIgbT04KnRoaXMuX2xlbjtpZihtPD00Mjk0''@;'; put 'put ''OTY3Mjk1KXRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUobSx0aGlzLl9ibG9ja1NpemUtNCk7ZWxzZXt2YXIgRj0oNDI5NDk2NzI5NSZtKT4+PjA7dGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRSgobS1GKS80Mjk0OTY3Mjk2LHRoaXMuX2Jsb2NrU2l6ZS04KSx0aGlzLl9ibG9jay53cml0ZVVJ''@;'; put 'put ''bnQzMkJFKEYsdGhpcy5fYmxvY2tTaXplLTQpfXRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jayk7dmFyIHc9dGhpcy5faGFzaCgpO3JldHVybiBDP3cudG9TdHJpbmcoQyk6d30sei5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX3VwZGF0ZSBtdXN0IGJlIGlt''@;'; put 'put ''cGxlbWVudGVkIGJ5IHN1YmNsYXNzIil9LFouZXhwb3J0cz16fSw5MDcyOihaLEEsaik9Pnt2YXIgTj1aLmV4cG9ydHM9ZnVuY3Rpb24oeil7ej16LnRvTG93ZXJDYXNlKCk7dmFyIEM9Tlt6XTtpZighQyl0aHJvdyBuZXcgRXJyb3IoeisiIGlzIG5vdCBzdXBwb3J0ZWQgKHdlIGFjY2VwdCBw''@;'; put 'put ''dWxsIHJlcXVlc3RzKSIpO3JldHVybiBuZXcgQ307Ti5zaGE9aig0NDQ4KSxOLnNoYTE9aig4MzM2KSxOLnNoYTIyND1qKDg0MzIpLE4uc2hhMjU2PWooNzQ5OSksTi5zaGEzODQ9aigxNjg2KSxOLnNoYTUxMj1qKDc4MTYpfSw0NDQ4OihaLEEsaik9Pnt2YXIgTj1qKDU3MTcpLHo9aig0MTg5''@;'; put 'put ''KSxDPWooOTUwOSkuQnVmZmVyLFM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywtMTg5NDAwNzU4OCwtODk5NDk3NTE0XSxtPW5ldyBBcnJheSg4MCk7ZnVuY3Rpb24gRigpe3RoaXMuaW5pdCgpLHRoaXMuX3c9bSx6LmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gRChQKXtyZXR1cm4gUDw8MzB8''@;'; put 'put ''UD4+PjJ9ZnVuY3Rpb24gdyhQLE0sayxPKXtyZXR1cm4gMD09PVA/TSZrfH5NJk86Mj09PVA/TSZrfE0mT3xrJk86TV5rXk99TihGLHopLEYucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIz''@;'; put 'put ''ODMxMDIsdGhpcy5fZD0yNzE3MzM4NzgsdGhpcy5fZT0zMjg1Mzc3NTIwLHRoaXN9LEYucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oUCl7Zm9yKHZhciBNLGs9dGhpcy5fdyxPPTB8dGhpcy5fYSxMPTB8dGhpcy5fYixUPTB8dGhpcy5fYyxZPTB8dGhpcy5fZCxJPTB8dGhpcy5fZSxVPTA7''@;'; put 'put ''VTwxNjsrK1Upa1tVXT1QLnJlYWRJbnQzMkJFKDQqVSk7Zm9yKDtVPDgwOysrVSlrW1VdPWtbVS0zXV5rW1UtOF1ea1tVLTE0XV5rW1UtMTZdO2Zvcih2YXIgVj0wO1Y8ODA7KytWKXt2YXIgUj1+fihWLzIwKSxCPTB8KChNPU8pPDw1fE0+Pj4yNykrdyhSLEwsVCxZKStJK2tbVl0rU1tSXTtJ''@;'; put 'put ''PVksWT1ULFQ9RChMKSxMPU8sTz1CfXRoaXMuX2E9Tyt0aGlzLl9hfDAsdGhpcy5fYj1MK3RoaXMuX2J8MCx0aGlzLl9jPVQrdGhpcy5fY3wwLHRoaXMuX2Q9WSt0aGlzLl9kfDAsdGhpcy5fZT1JK3RoaXMuX2V8MH0sRi5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgUD1DLmFsbG9j''@;'; put 'put ''VW5zYWZlKDIwKTtyZXR1cm4gUC53cml0ZUludDMyQkUoMHx0aGlzLl9hLDApLFAud3JpdGVJbnQzMkJFKDB8dGhpcy5fYiw0KSxQLndyaXRlSW50MzJCRSgwfHRoaXMuX2MsOCksUC53cml0ZUludDMyQkUoMHx0aGlzLl9kLDEyKSxQLndyaXRlSW50MzJCRSgwfHRoaXMuX2UsMTYpLFB9LFou''@;'; put 'put ''ZXhwb3J0cz1GfSw4MzM2OihaLEEsaik9Pnt2YXIgTj1qKDU3MTcpLHo9aig0MTg5KSxDPWooOTUwOSkuQnVmZmVyLFM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywtMTg5NDAwNzU4OCwtODk5NDk3NTE0XSxtPW5ldyBBcnJheSg4MCk7ZnVuY3Rpb24gRigpe3RoaXMuaW5pdCgpLHRoaXMuX3c9''@;'; put 'put ''bSx6LmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gRChNKXtyZXR1cm4gTTw8NXxNPj4+Mjd9ZnVuY3Rpb24gdyhNKXtyZXR1cm4gTTw8MzB8TT4+PjJ9ZnVuY3Rpb24gUChNLGssTyxMKXtyZXR1cm4gMD09PU0/ayZPfH5rJkw6Mj09PU0/ayZPfGsmTHxPJkw6a15PXkx9TihGLHopLEYucHJv''@;'; put 'put ''dG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4NzgsdGhpcy5fZT0zMjg1Mzc3NTIwLHRoaXN9LEYucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oTSl7Zm9y''@;'; put 'put ''KHZhciBrLE89dGhpcy5fdyxMPTB8dGhpcy5fYSxUPTB8dGhpcy5fYixZPTB8dGhpcy5fYyxJPTB8dGhpcy5fZCxVPTB8dGhpcy5fZSxWPTA7VjwxNjsrK1YpT1tWXT1NLnJlYWRJbnQzMkJFKDQqVik7Zm9yKDtWPDgwOysrVilPW1ZdPShrPU9bVi0zXV5PW1YtOF1eT1tWLTE0XV5PW1YtMTZd''@;'; put 'put ''KTw8MXxrPj4+MzE7Zm9yKHZhciBSPTA7Ujw4MDsrK1Ipe3ZhciBCPX5+KFIvMjApLHE9RChMKStQKEIsVCxZLEkpK1UrT1tSXStTW0JdfDA7VT1JLEk9WSxZPXcoVCksVD1MLEw9cX10aGlzLl9hPUwrdGhpcy5fYXwwLHRoaXMuX2I9VCt0aGlzLl9ifDAsdGhpcy5fYz1ZK3RoaXMuX2N8MCx0''@;'; put 'put ''aGlzLl9kPUkrdGhpcy5fZHwwLHRoaXMuX2U9VSt0aGlzLl9lfDB9LEYucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIE09Qy5hbGxvY1Vuc2FmZSgyMCk7cmV0dXJuIE0ud3JpdGVJbnQzMkJFKDB8dGhpcy5fYSwwKSxNLndyaXRlSW50MzJCRSgwfHRoaXMuX2IsNCksTS53cml0ZUlu''@;'; put 'put ''dDMyQkUoMHx0aGlzLl9jLDgpLE0ud3JpdGVJbnQzMkJFKDB8dGhpcy5fZCwxMiksTS53cml0ZUludDMyQkUoMHx0aGlzLl9lLDE2KSxNfSxaLmV4cG9ydHM9Rn0sODQzMjooWixBLGopPT57dmFyIE49aig1NzE3KSx6PWooNzQ5OSksQz1qKDQxODkpLFM9aig5NTA5KS5CdWZmZXIsbT1uZXcg''@;'; put 'put ''QXJyYXkoNjQpO2Z1bmN0aW9uIEYoKXt0aGlzLmluaXQoKSx0aGlzLl93PW0sQy5jYWxsKHRoaXMsNjQsNTYpfU4oRix6KSxGLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2E9MzIzODM3MTAzMix0aGlzLl9iPTkxNDE1MDY2Myx0aGlzLl9jPTgxMjcwMjk5OSx0aGlz''@;'; put 'put ''Ll9kPTQxNDQ5MTI2OTcsdGhpcy5fZT00MjkwNzc1ODU3LHRoaXMuX2Y9MTc1MDYwMzAyNSx0aGlzLl9nPTE2OTQwNzY4MzksdGhpcy5faD0zMjA0MDc1NDI4LHRoaXN9LEYucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIEQ9Uy5hbGxvY1Vuc2FmZSgyOCk7cmV0dXJuIEQud3JpdGVJ''@;'; put 'put ''bnQzMkJFKHRoaXMuX2EsMCksRC53cml0ZUludDMyQkUodGhpcy5fYiw0KSxELndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLEQud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLEQud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLEQud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLEQud3JpdGVJbnQzMkJF''@;'; put 'put ''KHRoaXMuX2csMjQpLER9LFouZXhwb3J0cz1GfSw3NDk5OihaLEEsaik9Pnt2YXIgTj1qKDU3MTcpLHo9aig0MTg5KSxDPWooOTUwOSkuQnVmZmVyLFM9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwy''@;'; put 'put ''ODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4''@;'; put 'put ''MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUx''@;'; put 'put ''LDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4''@;'; put 'put ''MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0sbT1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIEYoKXt0aGlzLmluaXQoKSx0aGlzLl93''@;'; put 'put ''PW0sei5jYWxsKHRoaXMsNjQsNTYpfWZ1bmN0aW9uIEQoTyxMLFQpe3JldHVybiBUXk8mKExeVCl9ZnVuY3Rpb24gdyhPLEwsVCl7cmV0dXJuIE8mTHxUJihPfEwpfWZ1bmN0aW9uIFAoTyl7cmV0dXJuKE8+Pj4yfE88PDMwKV4oTz4+PjEzfE88PDE5KV4oTz4+PjIyfE88PDEwKX1mdW5jdGlv''@;'; put 'put ''biBNKE8pe3JldHVybihPPj4+NnxPPDwyNileKE8+Pj4xMXxPPDwyMSleKE8+Pj4yNXxPPDw3KX1mdW5jdGlvbiBrKE8pe3JldHVybihPPj4+N3xPPDwyNSleKE8+Pj4xOHxPPDwxNCleTz4+PjN9TihGLHopLEYucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzc5''@;'; put 'put ''MDMzNzAzLHRoaXMuX2I9MzE0NDEzNDI3Nyx0aGlzLl9jPTEwMTM5MDQyNDIsdGhpcy5fZD0yNzczNDgwNzYyLHRoaXMuX2U9MTM1OTg5MzExOSx0aGlzLl9mPTI2MDA4MjI5MjQsdGhpcy5fZz01Mjg3MzQ2MzUsdGhpcy5faD0xNTQxNDU5MjI1LHRoaXN9LEYucHJvdG90eXBlLl91cGRhdGU9''@;'; put 'put ''ZnVuY3Rpb24oTyl7Zm9yKHZhciBMLFQ9dGhpcy5fdyxZPTB8dGhpcy5fYSxJPTB8dGhpcy5fYixVPTB8dGhpcy5fYyxWPTB8dGhpcy5fZCxSPTB8dGhpcy5fZSxCPTB8dGhpcy5fZixxPTB8dGhpcy5fZyxKPTB8dGhpcy5faCwkPTA7JDwxNjsrKyQpVFskXT1PLnJlYWRJbnQzMkJFKDQqJCk7''@;'; put 'put ''Zm9yKDskPDY0OysrJClUWyRdPTB8KCgoTD1UWyQtMl0pPj4+MTd8TDw8MTUpXihMPj4+MTl8TDw8MTMpXkw+Pj4xMCkrVFskLTddK2soVFskLTE1XSkrVFskLTE2XTtmb3IodmFyIHRlPTA7dGU8NjQ7Kyt0ZSl7dmFyIGg9SitNKFIpK0QoUixCLHEpK1NbdGVdK1RbdGVdfDAsYj1QKFkpK3co''@;'; put 'put ''WSxJLFUpfDA7Sj1xLHE9QixCPVIsUj1WK2h8MCxWPVUsVT1JLEk9WSxZPWgrYnwwfXRoaXMuX2E9WSt0aGlzLl9hfDAsdGhpcy5fYj1JK3RoaXMuX2J8MCx0aGlzLl9jPVUrdGhpcy5fY3wwLHRoaXMuX2Q9Vit0aGlzLl9kfDAsdGhpcy5fZT1SK3RoaXMuX2V8MCx0aGlzLl9mPUIrdGhpcy5f''@;'; put 'put ''ZnwwLHRoaXMuX2c9cSt0aGlzLl9nfDAsdGhpcy5faD1KK3RoaXMuX2h8MH0sRi5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgTz1DLmFsbG9jVW5zYWZlKDMyKTtyZXR1cm4gTy53cml0ZUludDMyQkUodGhpcy5fYSwwKSxPLndyaXRlSW50MzJCRSh0aGlzLl9iLDQpLE8ud3JpdGVJ''@;'; put 'put ''bnQzMkJFKHRoaXMuX2MsOCksTy53cml0ZUludDMyQkUodGhpcy5fZCwxMiksTy53cml0ZUludDMyQkUodGhpcy5fZSwxNiksTy53cml0ZUludDMyQkUodGhpcy5fZiwyMCksTy53cml0ZUludDMyQkUodGhpcy5fZywyNCksTy53cml0ZUludDMyQkUodGhpcy5faCwyOCksT30sWi5leHBvcnRz''@;'; put 'put ''PUZ9LDE2ODY6KFosQSxqKT0+e3ZhciBOPWooNTcxNyksej1qKDc4MTYpLEM9aig0MTg5KSxTPWooOTUwOSkuQnVmZmVyLG09bmV3IEFycmF5KDE2MCk7ZnVuY3Rpb24gRigpe3RoaXMuaW5pdCgpLHRoaXMuX3c9bSxDLmNhbGwodGhpcywxMjgsMTEyKX1OKEYseiksRi5wcm90b3R5cGUuaW5p''@;'; put 'put ''dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9haD0zNDE4MDcwMzY1LHRoaXMuX2JoPTE2NTQyNzAyNTAsdGhpcy5fY2g9MjQzODUyOTM3MCx0aGlzLl9kaD0zNTU0NjIzNjAsdGhpcy5fZWg9MTczMTQwNTQxNSx0aGlzLl9maD0yMzk0MTgwMjMxLHRoaXMuX2doPTM2NzUwMDg1MjUsdGhpcy5f''@;'; put 'put ''aGg9MTIwMzA2MjgxMyx0aGlzLl9hbD0zMjM4MzcxMDMyLHRoaXMuX2JsPTkxNDE1MDY2Myx0aGlzLl9jbD04MTI3MDI5OTksdGhpcy5fZGw9NDE0NDkxMjY5Nyx0aGlzLl9lbD00MjkwNzc1ODU3LHRoaXMuX2ZsPTE3NTA2MDMwMjUsdGhpcy5fZ2w9MTY5NDA3NjgzOSx0aGlzLl9obD0zMjA0''@;'; put 'put ''MDc1NDI4LHRoaXN9LEYucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIEQ9Uy5hbGxvY1Vuc2FmZSg0OCk7ZnVuY3Rpb24gdyhQLE0sayl7RC53cml0ZUludDMyQkUoUCxrKSxELndyaXRlSW50MzJCRShNLGsrNCl9cmV0dXJuIHcodGhpcy5fYWgsdGhpcy5fYWwsMCksdyh0aGlzLl9i''@;'; put 'put ''aCx0aGlzLl9ibCw4KSx3KHRoaXMuX2NoLHRoaXMuX2NsLDE2KSx3KHRoaXMuX2RoLHRoaXMuX2RsLDI0KSx3KHRoaXMuX2VoLHRoaXMuX2VsLDMyKSx3KHRoaXMuX2ZoLHRoaXMuX2ZsLDQwKSxEfSxaLmV4cG9ydHM9Rn0sNzgxNjooWixBLGopPT57dmFyIE49aig1NzE3KSx6PWooNDE4OSks''@;'; put 'put ''Qz1qKDk1MDkpLkJ1ZmZlcixTPVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3''@;'; put 'put ''NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDYwOTU2MCwzNjI0MzgxMDgwLDI3MzQ4ODMzOTQsMzEwNTk4NDAxLDExNjQ5OTY1NDIsNjA3MjI1Mjc4LDEzMjM2MTA3NjQsMTQyNjg4MTk4NywzNTkwMzA0OTk0LDE5MjUwNzgzODgsNDA2ODE4MjM4MywyMTYyMDc4MjA2LDk5MTMzNjExMywyNjE0ODg4''@;'; put 'put ''MTAzLDYzMzgwMzMxNywzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgsMzgzNTM5MDQwMSwyNjY2NjEzNDU4LDQwMjIyMjQ3NzQsOTQ0NzExMTM5LDI2NDM0NzA3OCwyMzQxMjYyNzczLDYwNDgwNzYyOCwyMDA3ODAwOTMzLDc3MDI1NTk4MywxNDk1OTkwOTAxLDEyNDkxNTAxMjIsMTg1NjQzMTIzNSwx''@;'; put 'put ''NTU1MDgxNjkyLDMxNzUyMTgxMzIsMTk5NjA2NDk4NiwyMTk4OTUwODM3LDI1NTQyMjA4ODIsMzk5OTcxOTMzOSwyODIxODM0MzQ5LDc2Njc4NDAxNiwyOTUyOTk2ODA4LDI1NjY1OTQ4NzksMzIxMDMxMzY3MSwzMjAzMzM3OTU2LDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiwzNTg0NTI4NzExLDI0''@;'; put 'put ''NjY5NDg5MDEsMTEzOTI2OTkzLDM3NTgzMjYzODMsMzM4MjQxODk1LDE2ODcxNzkzNiw2NjYzMDcyMDUsMTE4ODE3OTk2NCw3NzM1Mjk5MTIsMTU0NjA0NTczNCwxMjk0NzU3MzcyLDE1MjI4MDU0ODUsMTM5NjE4MjI5MSwyNjQzODMzODIzLDE2OTUxODM3MDAsMjM0MzUyNzM5MCwxOTg2NjYx''@;'; put 'put ''MDUxLDEwMTQ0Nzc0ODAsMjE3NzAyNjM1MCwxMjA2NzU5MTQyLDI0NTY5NTYwMzcsMzQ0MDc3NjI3LDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCwyODIwMzAyNDExLDMxNTg0NTQyNzMsMzI1OTczMDgwMCwzNTA1OTUyNjU3LDMzNDU3NjQ3NzEsMTA2MjE3MDA4LDM1MTYwNjU4MTcsMzYwNjAwODM0''@;'; put 'put ''NCwzNjAwMzUyODA0LDE0MzI3MjU3NzYsNDA5NDU3MTkwOSwxNDY3MDMxNTk0LDI3NTQyMzM0NCw4NTExNjk3MjAsNDMwMjI3NzM0LDMxMDA4MjM3NTIsNTA2OTQ4NjE2LDEzNjMyNTgxOTUsNjU5MDYwNTU2LDM3NTA2ODU1OTMsODgzOTk3ODc3LDM3ODUwNTAyODAsOTU4MTM5NTcxLDMzMTgz''@;'; put 'put ''MDc0MjcsMTMyMjgyMjIxOCwzODEyNzIzNDAzLDE1MzcwMDIwNjMsMjAwMzAzNDk5NSwxNzQ3ODczNzc5LDM2MDIwMzY4OTksMTk1NTU2MjIyMiwxNTc1OTkwMDEyLDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCwyMjI3NzMwNDUyLDI3MTY5MDQzMDYsMjM2MTg1MjQyNCw0NDI3NzYwNDQsMjQyODQz''@;'; put 'put ''NjQ3NCw1OTM2OTgzNDQsMjc1NjczNDE4NywzNzMzMTEwMjQ5LDMyMDQwMzE0NzksMjk5OTM1MTU3MywzMzI5MzI1Mjk4LDM4MTU5MjA0MjcsMzM5MTU2OTYxNCwzOTI4MzgzOTAwLDM1MTUyNjcyNzEsNTY2MjgwNzExLDM5NDAxODc2MDYsMzQ1NDA2OTUzNCw0MTE4NjMwMjcxLDQwMDAyMzk5''@;'; put 'put ''OTIsMTE2NDE4NDc0LDE5MTQxMzg1NTQsMTc0MjkyNDIxLDI3MzEwNTUyNzAsMjg5MzgwMzU2LDMyMDM5OTMwMDYsNDYwMzkzMjY5LDMyMDYyMDMxNSw2ODU0NzE3MzMsNTg3NDk2ODM2LDg1MjE0Mjk3MSwxMDg2NzkyODUxLDEwMTcwMzYyOTgsMzY1NTQzMTAwLDExMjYwMDA1ODAsMjYxODI5''@;'; put 'put ''NzY3NiwxMjg4MDMzNDcwLDM0MDk4NTUxNTgsMTUwMTUwNTk0OCw0MjM0NTA5ODY2LDE2MDcxNjc5MTUsOTg3MTY3NDY4LDE4MTY0MDIzMTYsMTI0NjE4OTU5MV0sbT1uZXcgQXJyYXkoMTYwKTtmdW5jdGlvbiBGKCl7dGhpcy5pbml0KCksdGhpcy5fdz1tLHouY2FsbCh0aGlzLDEyOCwxMTIp''@;'; put 'put ''fWZ1bmN0aW9uIEQoSSxVLFYpe3JldHVybiBWXkkmKFVeVil9ZnVuY3Rpb24gdyhJLFUsVil7cmV0dXJuIEkmVXxWJihJfFUpfWZ1bmN0aW9uIFAoSSxVKXtyZXR1cm4oST4+PjI4fFU8PDQpXihVPj4+MnxJPDwzMCleKFU+Pj43fEk8PDI1KX1mdW5jdGlvbiBNKEksVSl7cmV0dXJuKEk+Pj4x''@;'; put 'put ''NHxVPDwxOCleKEk+Pj4xOHxVPDwxNCleKFU+Pj45fEk8PDIzKX1mdW5jdGlvbiBrKEksVSl7cmV0dXJuKEk+Pj4xfFU8PDMxKV4oST4+Pjh8VTw8MjQpXkk+Pj43fWZ1bmN0aW9uIE8oSSxVKXtyZXR1cm4oST4+PjF8VTw8MzEpXihJPj4+OHxVPDwyNCleKEk+Pj43fFU8PDI1KX1mdW5jdGlv''@;'; put 'put ''biBMKEksVSl7cmV0dXJuKEk+Pj4xOXxVPDwxMyleKFU+Pj4yOXxJPDwzKV5JPj4+Nn1mdW5jdGlvbiBUKEksVSl7cmV0dXJuKEk+Pj4xOXxVPDwxMyleKFU+Pj4yOXxJPDwzKV4oST4+PjZ8VTw8MjYpfWZ1bmN0aW9uIFkoSSxVKXtyZXR1cm4gST4+PjA8VT4+PjA/MTowfU4oRix6KSxGLnBy''@;'; put 'put ''b3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FoPTE3NzkwMzM3MDMsdGhpcy5fYmg9MzE0NDEzNDI3Nyx0aGlzLl9jaD0xMDEzOTA0MjQyLHRoaXMuX2RoPTI3NzM0ODA3NjIsdGhpcy5fZWg9MTM1OTg5MzExOSx0aGlzLl9maD0yNjAwODIyOTI0LHRoaXMuX2doPTUyODcz''@;'; put 'put ''NDYzNSx0aGlzLl9oaD0xNTQxNDU5MjI1LHRoaXMuX2FsPTQwODkyMzU3MjAsdGhpcy5fYmw9MjIyNzg3MzU5NSx0aGlzLl9jbD00MjcxMTc1NzIzLHRoaXMuX2RsPTE1OTU3NTAxMjksdGhpcy5fZWw9MjkxNzU2NTEzNyx0aGlzLl9mbD03MjU1MTExOTksdGhpcy5fZ2w9NDIxNTM4OTU0Nyx0''@;'; put 'put ''aGlzLl9obD0zMjcwMzMyMDksdGhpc30sRi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihJKXtmb3IodmFyIFU9dGhpcy5fdyxWPTB8dGhpcy5fYWgsUj0wfHRoaXMuX2JoLEI9MHx0aGlzLl9jaCxxPTB8dGhpcy5fZGgsSj0wfHRoaXMuX2VoLCQ9MHx0aGlzLl9maCx0ZT0wfHRoaXMuX2do''@;'; put 'put ''LGg9MHx0aGlzLl9oaCxiPTB8dGhpcy5fYWwseT0wfHRoaXMuX2JsLHA9MHx0aGlzLl9jbCxnPTB8dGhpcy5fZGwsXz0wfHRoaXMuX2VsLEU9MHx0aGlzLl9mbCxXPTB8dGhpcy5fZ2wsRz0wfHRoaXMuX2hsLFg9MDtYPDMyO1grPTIpVVtYXT1JLnJlYWRJbnQzMkJFKDQqWCksVVtYKzFdPUku''@;'; put 'put ''cmVhZEludDMyQkUoNCpYKzQpO2Zvcig7WDwxNjA7WCs9Mil7dmFyIG5lPVVbWC0zMF0sYWU9VVtYLTMwKzFdLHVlPWsobmUsYWUpLGJlPU8oYWUsbmUpLF9lPUwobmU9VVtYLTRdLGFlPVVbWC00KzFdKSxsZT1UKGFlLG5lKSx3ZT1VW1gtMzJdLFVlPVVbWC0zMisxXSx4ZT1iZStVW1gtMTQr''@;'; put 'put ''MV18MCxFZT11ZStVW1gtMTRdK1koeGUsYmUpfDA7RWU9KEVlPUVlK19lK1koeGU9eGUrbGV8MCxsZSl8MCkrd2UrWSh4ZT14ZStVZXwwLFVlKXwwLFVbWF09RWUsVVtYKzFdPXhlfWZvcih2YXIgd3Q9MDt3dDwxNjA7d3QrPTIpe0VlPVVbd3RdLHhlPVVbd3QrMV07dmFyIE5lPXcoVixSLEIp''@;'; put 'put ''LEhlPXcoYix5LHApLFJlPVAoVixiKSxPZT1QKGIsViksTGU9TShKLF8pLGllPU0oXyxKKSxzZT1TW3d0XSxkZT1TW3d0KzFdLEFlPUQoSiwkLHRlKSxrZT1EKF8sRSxXKSxTZT1HK2llfDAsJGU9aCtMZStZKFNlLEcpfDA7JGU9KCRlPSgkZT0kZStBZStZKFNlPVNlK2tlfDAsa2UpfDApK3Nl''@;'; put 'put ''K1koU2U9U2UrZGV8MCxkZSl8MCkrRWUrWShTZT1TZSt4ZXwwLHhlKXwwO3ZhciBWZT1PZStIZXwwLEdlPVJlK05lK1koVmUsT2UpfDA7aD10ZSxHPVcsdGU9JCxXPUUsJD1KLEU9XyxKPXErJGUrWShfPWcrU2V8MCxnKXwwLHE9QixnPXAsQj1SLHA9eSxSPVYseT1iLFY9JGUrR2UrWShiPVNl''@;'; put 'put ''K1ZlfDAsU2UpfDB9dGhpcy5fYWw9dGhpcy5fYWwrYnwwLHRoaXMuX2JsPXRoaXMuX2JsK3l8MCx0aGlzLl9jbD10aGlzLl9jbCtwfDAsdGhpcy5fZGw9dGhpcy5fZGwrZ3wwLHRoaXMuX2VsPXRoaXMuX2VsK198MCx0aGlzLl9mbD10aGlzLl9mbCtFfDAsdGhpcy5fZ2w9dGhpcy5fZ2wrV3ww''@;'; put 'put ''LHRoaXMuX2hsPXRoaXMuX2hsK0d8MCx0aGlzLl9haD10aGlzLl9haCtWK1kodGhpcy5fYWwsYil8MCx0aGlzLl9iaD10aGlzLl9iaCtSK1kodGhpcy5fYmwseSl8MCx0aGlzLl9jaD10aGlzLl9jaCtCK1kodGhpcy5fY2wscCl8MCx0aGlzLl9kaD10aGlzLl9kaCtxK1kodGhpcy5fZGwsZyl8''@;'; put 'put ''MCx0aGlzLl9laD10aGlzLl9laCtKK1kodGhpcy5fZWwsXyl8MCx0aGlzLl9maD10aGlzLl9maCskK1kodGhpcy5fZmwsRSl8MCx0aGlzLl9naD10aGlzLl9naCt0ZStZKHRoaXMuX2dsLFcpfDAsdGhpcy5faGg9dGhpcy5faGgraCtZKHRoaXMuX2hsLEcpfDB9LEYucHJvdG90eXBlLl9oYXNo''@;'; put 'put ''PWZ1bmN0aW9uKCl7dmFyIEk9Qy5hbGxvY1Vuc2FmZSg2NCk7ZnVuY3Rpb24gVShWLFIsQil7SS53cml0ZUludDMyQkUoVixCKSxJLndyaXRlSW50MzJCRShSLEIrNCl9cmV0dXJuIFUodGhpcy5fYWgsdGhpcy5fYWwsMCksVSh0aGlzLl9iaCx0aGlzLl9ibCw4KSxVKHRoaXMuX2NoLHRoaXMu''@;'; put 'put ''X2NsLDE2KSxVKHRoaXMuX2RoLHRoaXMuX2RsLDI0KSxVKHRoaXMuX2VoLHRoaXMuX2VsLDMyKSxVKHRoaXMuX2ZoLHRoaXMuX2ZsLDQwKSxVKHRoaXMuX2doLHRoaXMuX2dsLDQ4KSxVKHRoaXMuX2hoLHRoaXMuX2hsLDU2KSxJfSxaLmV4cG9ydHM9Rn0sMjgzMDooWixBLGopPT57Wi5leHBv''@;'; put 'put ''cnRzPXo7dmFyIE49aig3MTg3KS5FdmVudEVtaXR0ZXI7ZnVuY3Rpb24geigpe04uY2FsbCh0aGlzKX1qKDU3MTcpKHosTiksei5SZWFkYWJsZT1qKDk0ODEpLHouV3JpdGFibGU9aig0MjI5KSx6LkR1cGxleD1qKDY3NTMpLHouVHJhbnNmb3JtPWooNDYwNSksei5QYXNzVGhyb3VnaD1qKDI3''@;'; put 'put ''MjUpLHouZmluaXNoZWQ9aig4NjEwKSx6LnBpcGVsaW5lPWooOTk0Niksei5TdHJlYW09eix6LnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKEMsUyl7dmFyIG09dGhpcztmdW5jdGlvbiBGKEwpe0Mud3JpdGFibGUmJiExPT09Qy53cml0ZShMKSYmbS5wYXVzZSYmbS5wYXVzZSgpfWZ1bmN0aW9u''@;'; put 'put ''IEQoKXttLnJlYWRhYmxlJiZtLnJlc3VtZSYmbS5yZXN1bWUoKX1tLm9uKCJkYXRhIixGKSxDLm9uKCJkcmFpbiIsRCksQy5faXNTdGRpb3x8UyYmITE9PT1TLmVuZHx8KG0ub24oImVuZCIsUCksbS5vbigiY2xvc2UiLE0pKTt2YXIgdz0hMTtmdW5jdGlvbiBQKCl7d3x8KHc9ITAsQy5lbmQo''@;'; put 'put ''KSl9ZnVuY3Rpb24gTSgpe3d8fCh3PSEwLCJmdW5jdGlvbiI9PXR5cGVvZiBDLmRlc3Ryb3kmJkMuZGVzdHJveSgpKX1mdW5jdGlvbiBrKEwpe2lmKE8oKSwwPT09Ti5saXN0ZW5lckNvdW50KHRoaXMsImVycm9yIikpdGhyb3cgTH1mdW5jdGlvbiBPKCl7bS5yZW1vdmVMaXN0ZW5lcigiZGF0''@;'; put 'put ''YSIsRiksQy5yZW1vdmVMaXN0ZW5lcigiZHJhaW4iLEQpLG0ucmVtb3ZlTGlzdGVuZXIoImVuZCIsUCksbS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLE0pLG0ucmVtb3ZlTGlzdGVuZXIoImVycm9yIixrKSxDLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsayksbS5yZW1vdmVMaXN0ZW5lcigiZW5k''@;'; put 'put ''IixPKSxtLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsTyksQy5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLE8pfXJldHVybiBtLm9uKCJlcnJvciIsayksQy5vbigiZXJyb3IiLGspLG0ub24oImVuZCIsTyksbS5vbigiY2xvc2UiLE8pLEMub24oImNsb3NlIixPKSxDLmVtaXQoInBpcGUiLG0pLEN9''@;'; put 'put ''fSwyNTUzOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49aigzOTYpLkJ1ZmZlcix6PU4uaXNFbmNvZGluZ3x8ZnVuY3Rpb24oTyl7c3dpdGNoKChPPSIiK08pJiZPLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UiYmlu''@;'; put 'put ''YXJ5IjpjYXNlImJhc2U2NCI6Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOmNhc2UicmF3IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX07ZnVuY3Rpb24gQyhPKXt2YXIgTDtzd2l0Y2godGhpcy5lbmNvZGluZz1mdW5jdGlvbihUKXt2YXIg''@;'; put 'put ''WT1mdW5jdGlvbihJKXtpZighSSlyZXR1cm4idXRmOCI7Zm9yKHZhciBVOzspc3dpdGNoKEkpe2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuInV0ZjgiO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4idXRmMTZsZSI7Y2FzZSJs''@;'; put 'put ''YXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4ibGF0aW4xIjtjYXNlImJhc2U2NCI6Y2FzZSJhc2NpaSI6Y2FzZSJoZXgiOnJldHVybiBJO2RlZmF1bHQ6aWYoVSlyZXR1cm47ST0oIiIrSSkudG9Mb3dlckNhc2UoKSxVPSEwfX0oVCk7aWYoInN0cmluZyIhPXR5cGVvZiBZJiYoTi5pc0VuY29k''@;'; put 'put ''aW5nPT09enx8IXooVCkpKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBlbmNvZGluZzogIitUKTtyZXR1cm4gWXx8VH0oTyksdGhpcy5lbmNvZGluZyl7Y2FzZSJ1dGYxNmxlIjp0aGlzLnRleHQ9Rix0aGlzLmVuZD1ELEw9NDticmVhaztjYXNlInV0ZjgiOnRoaXMuZmlsbExhc3Q9bSxMPTQ7''@;'; put 'put ''YnJlYWs7Y2FzZSJiYXNlNjQiOnRoaXMudGV4dD13LHRoaXMuZW5kPVAsTD0zO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHRoaXMud3JpdGU9TSx2b2lkKHRoaXMuZW5kPWspfXRoaXMubGFzdE5lZWQ9MCx0aGlzLmxhc3RUb3RhbD0wLHRoaXMubGFzdENoYXI9Ti5hbGxvY1Vuc2FmZShMKX1mdW5j''@;'; put 'put ''dGlvbiBTKE8pe3JldHVybiBPPD0xMjc/MDpPPj41PT02PzI6Tz4+ND09MTQ/MzpPPj4zPT0zMD80Ok8+PjY9PTI/LTE6LTJ9ZnVuY3Rpb24gbShPKXt2YXIgTD10aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLFQ9ZnVuY3Rpb24oWSxJLFUpe2lmKDEyOCE9KDE5MiZJWzBdKSlyZXR1cm4g''@;'; put 'put ''WS5sYXN0TmVlZD0wLCJcdWZmZmQiO2lmKFkubGFzdE5lZWQ+MSYmSS5sZW5ndGg+MSl7aWYoMTI4IT0oMTkyJklbMV0pKXJldHVybiBZLmxhc3ROZWVkPTEsIlx1ZmZmZCI7aWYoWS5sYXN0TmVlZD4yJiZJLmxlbmd0aD4yJiYxMjghPSgxOTImSVsyXSkpcmV0dXJuIFkubGFzdE5lZWQ9Miwi''@;'; put 'put ''XHVmZmZkIn19KHRoaXMsTyk7cmV0dXJuIHZvaWQgMCE9PVQ/VDp0aGlzLmxhc3ROZWVkPD1PLmxlbmd0aD8oTy5jb3B5KHRoaXMubGFzdENoYXIsTCwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKSk6KE8uY29w''@;'; put 'put ''eSh0aGlzLmxhc3RDaGFyLEwsMCxPLmxlbmd0aCksdm9pZCh0aGlzLmxhc3ROZWVkLT1PLmxlbmd0aCkpfWZ1bmN0aW9uIEYoTyxMKXtpZigoTy5sZW5ndGgtTCklMj09MCl7dmFyIFQ9Ty50b1N0cmluZygidXRmMTZsZSIsTCk7aWYoVCl7dmFyIFk9VC5jaGFyQ29kZUF0KFQubGVuZ3RoLTEp''@;'; put 'put ''O2lmKFk+PTU1Mjk2JiZZPD01NjMxOSlyZXR1cm4gdGhpcy5sYXN0TmVlZD0yLHRoaXMubGFzdFRvdGFsPTQsdGhpcy5sYXN0Q2hhclswXT1PW08ubGVuZ3RoLTJdLHRoaXMubGFzdENoYXJbMV09T1tPLmxlbmd0aC0xXSxULnNsaWNlKDAsLTEpfXJldHVybiBUfXJldHVybiB0aGlzLmxhc3RO''@;'; put 'put ''ZWVkPTEsdGhpcy5sYXN0VG90YWw9Mix0aGlzLmxhc3RDaGFyWzBdPU9bTy5sZW5ndGgtMV0sTy50b1N0cmluZygidXRmMTZsZSIsTCxPLmxlbmd0aC0xKX1mdW5jdGlvbiBEKE8pe3ZhciBMPU8mJk8ubGVuZ3RoP3RoaXMud3JpdGUoTyk6IiI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/TCt0aGlz''@;'; put 'put ''Lmxhc3RDaGFyLnRvU3RyaW5nKCJ1dGYxNmxlIiwwLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQpOkx9ZnVuY3Rpb24gdyhPLEwpe3ZhciBUPShPLmxlbmd0aC1MKSUzO3JldHVybiAwPT09VD9PLnRvU3RyaW5nKCJiYXNlNjQiLEwpOih0aGlzLmxhc3ROZWVkPTMtVCx0aGlzLmxhc3RU''@;'; put 'put ''b3RhbD0zLDE9PT1UP3RoaXMubGFzdENoYXJbMF09T1tPLmxlbmd0aC0xXToodGhpcy5sYXN0Q2hhclswXT1PW08ubGVuZ3RoLTJdLHRoaXMubGFzdENoYXJbMV09T1tPLmxlbmd0aC0xXSksTy50b1N0cmluZygiYmFzZTY0IixMLE8ubGVuZ3RoLVQpKX1mdW5jdGlvbiBQKE8pe3ZhciBMPU8m''@;'; put 'put ''Jk8ubGVuZ3RoP3RoaXMud3JpdGUoTyk6IiI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/TCt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCJiYXNlNjQiLDAsMy10aGlzLmxhc3ROZWVkKTpMfWZ1bmN0aW9uIE0oTyl7cmV0dXJuIE8udG9TdHJpbmcodGhpcy5lbmNvZGluZyl9ZnVuY3Rpb24gayhPKXty''@;'; put 'put ''ZXR1cm4gTyYmTy5sZW5ndGg/dGhpcy53cml0ZShPKToiIn1BLlN0cmluZ0RlY29kZXI9QyxDLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihPKXtpZigwPT09Ty5sZW5ndGgpcmV0dXJuIiI7dmFyIEwsVDtpZih0aGlzLmxhc3ROZWVkKXtpZih2b2lkIDA9PT0oTD10aGlzLmZpbGxMYXN0KE8p''@;'; put 'put ''KSlyZXR1cm4iIjtUPXRoaXMubGFzdE5lZWQsdGhpcy5sYXN0TmVlZD0wfWVsc2UgVD0wO3JldHVybiBUPE8ubGVuZ3RoP0w/TCt0aGlzLnRleHQoTyxUKTp0aGlzLnRleHQoTyxUKTpMfHwiIn0sQy5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKE8pe3ZhciBMPU8mJk8ubGVuZ3RoP3RoaXMud3Jp''@;'; put 'put ''dGUoTyk6IiI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/TCsiXHVmZmZkIjpMfSxDLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKE8sTCl7dmFyIFQ9ZnVuY3Rpb24oSSxVLFYpe3ZhciBSPVUubGVuZ3RoLTE7aWYoUjxWKXJldHVybiAwO3ZhciBCPVMoVVtSXSk7cmV0dXJuIEI+PTA/KEI+MCYmKEku''@;'; put 'put ''bGFzdE5lZWQ9Qi0xKSxCKTotLVI8Vnx8LTI9PT1CPzA6KEI9UyhVW1JdKSk+PTA/KEI+MCYmKEkubGFzdE5lZWQ9Qi0yKSxCKTotLVI8Vnx8LTI9PT1CPzA6KEI9UyhVW1JdKSk+PTA/KEI+MCYmKDI9PT1CP0I9MDpJLmxhc3ROZWVkPUItMyksQik6MH0odGhpcyxPLEwpO2lmKCF0aGlzLmxh''@;'; put 'put ''c3ROZWVkKXJldHVybiBPLnRvU3RyaW5nKCJ1dGY4IixMKTt0aGlzLmxhc3RUb3RhbD1UO3ZhciBZPU8ubGVuZ3RoLShULXRoaXMubGFzdE5lZWQpO3JldHVybiBPLmNvcHkodGhpcy5sYXN0Q2hhciwwLFkpLE8udG9TdHJpbmcoInV0ZjgiLEwsWSl9LEMucHJvdG90eXBlLmZpbGxMYXN0PWZ1''@;'; put 'put ''bmN0aW9uKE8pe2lmKHRoaXMubGFzdE5lZWQ8PU8ubGVuZ3RoKXJldHVybiBPLmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdGhpcy5sYXN0TmVlZCksdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsdGhpcy5sYXN0VG90YWwp''@;'; put 'put ''O08uY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCxPLmxlbmd0aCksdGhpcy5sYXN0TmVlZC09Ty5sZW5ndGh9fSwzOTY6KFosQSxqKT0+e3ZhciBOPWooODc2NCksej1OLkJ1ZmZlcjtmdW5jdGlvbiBDKG0sRil7Zm9yKHZhciBEIGluIG0pRltEXT1t''@;'; put 'put ''W0RdfWZ1bmN0aW9uIFMobSxGLEQpe3JldHVybiB6KG0sRixEKX16LmZyb20mJnouYWxsb2MmJnouYWxsb2NVbnNhZmUmJnouYWxsb2NVbnNhZmVTbG93P1ouZXhwb3J0cz1OOihDKE4sQSksQS5CdWZmZXI9UyksUy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh6LnByb3RvdHlwZSksQyh6LFMp''@;'; put 'put ''LFMuZnJvbT1mdW5jdGlvbihtLEYsRCl7aWYoIm51bWJlciI9PXR5cGVvZiBtKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyIik7cmV0dXJuIHoobSxGLEQpfSxTLmFsbG9jPWZ1bmN0aW9uKG0sRixEKXtpZigibnVtYmVyIiE9dHlwZW9mIG0pdGhy''@;'; put 'put ''b3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3ZhciB3PXoobSk7cmV0dXJuIHZvaWQgMCE9PUY/InN0cmluZyI9PXR5cGVvZiBEP3cuZmlsbChGLEQpOncuZmlsbChGKTp3LmZpbGwoMCksd30sUy5hbGxvY1Vuc2FmZT1mdW5jdGlvbihtKXtpZigibnVtYmVy''@;'; put 'put ''IiE9dHlwZW9mIG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybiB6KG0pfSxTLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihtKXtpZigibnVtYmVyIiE9dHlwZW9mIG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBh''@;'; put 'put ''IG51bWJlciIpO3JldHVybiBOLlNsb3dCdWZmZXIobSl9fSw3ODU3OihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29uc3QgTj1qKDM2ODkpLHo9aig4NTc1KS5RYyxDPWooOTUzOSksUz1qKDc1MiksbT1qKDIyMjQpLnksRj1qKDU3NjEpLm0sRD1qKDg5NzEpLlUsdz1qKDQ1Nikse2Zyb21DYWxs''@;'; put 'put ''YmFjazpQfT1qKDcwNDEpLE09L15bXHgyMVx4MjMtXHgyQlx4MkQtXHgzQVx4M0MtXHg1Qlx4NUQtXHg3RV0rJC8saz0vW1x4MDAtXHgxRl0vLE89WyJcbiIsIlxyIiwiXDAiXSxMPS9bXHgyMC1ceDNBXHgzQy1ceDdFXSsvLFQ9L1tceDA5XHgyMC1ceDJGXHgzQi1ceDQwXHg1Qi1ceDYwXHg3''@;'; put 'put ''Qi1ceDdFXS8sWT17amFuOjAsZmViOjEsbWFyOjIsYXByOjMsbWF5OjQsanVuOjUsanVsOjYsYXVnOjcsc2VwOjgsb2N0Ojksbm92OjEwLGRlYzoxMX0sST0yMTQ3NDgzNjQ3ZTMsVT0nSW52YWxpZCBzYW1lU2l0ZUNvbnRleHQgb3B0aW9uIGZvciBnZXRDb29raWVzKCk7IGV4cGVjdGVkIG9u''@;'; put 'put ''ZSBvZiAic3RyaWN0IiwgImxheCIsIG9yICJub25lIic7ZnVuY3Rpb24gVihfZSl7Y29uc3QgbGU9U3RyaW5nKF9lKS50b0xvd2VyQ2FzZSgpO3JldHVybiJub25lIj09PWxlfHwibGF4Ij09PWxlfHwic3RyaWN0Ij09PWxlP2xlOm51bGx9Y29uc3QgUj1PYmplY3QuZnJlZXplKHtTSUxFTlQ6''@;'; put 'put ''InNpbGVudCIsU1RSSUNUOiJzdHJpY3QiLERJU0FCTEVEOiJ1bnNhZmUtZGlzYWJsZWQifSk7dmFyIEI9Lyg/Ol4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldXGR8XGQpKD86XC4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldXGR8XGQpKXszfSQpfCg/Ol4oPzooPzpbYS1m''@;'; put 'put ''XGRdezEsNH06KXs3fSg/OlthLWZcZF17MSw0fXw6KXwoPzpbYS1mXGRdezEsNH06KXs2fSg/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV1cZHxcZCkoPzpcLig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV1cZHxcZCkpezN9fDpbYS1mXGRdezEsNH18Oil8KD86W2EtZlxk''@;'; put 'put ''XXsxLDR9Oil7NX0oPzo6KD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSl7M318KD86OlthLWZcZF17MSw0fSl7MSwyfXw6KXwoPzpbYS1mXGRdezEsNH06KXs0fSg/Oig/OjpbYS1mXGRdezEsNH0p''@;'; put 'put ''ezAsMX06KD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSl7M318KD86OlthLWZcZF17MSw0fSl7MSwzfXw6KXwoPzpbYS1mXGRdezEsNH06KXszfSg/Oig/OjpbYS1mXGRdezEsNH0pezAsMn06KD86''@;'; put 'put ''MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSl7M318KD86OlthLWZcZF17MSw0fSl7MSw0fXw6KXwoPzpbYS1mXGRdezEsNH06KXsyfSg/Oig/OjpbYS1mXGRdezEsNH0pezAsM306KD86MjVbMC01XXwy''@;'; put 'put ''WzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSl7M318KD86OlthLWZcZF17MSw0fSl7MSw1fXw6KXwoPzpbYS1mXGRdezEsNH06KXsxfSg/Oig/OjpbYS1mXGRdezEsNH0pezAsNH06KD86MjVbMC01XXwyWzAtNF1cZHwx''@;'; put 'put ''XGRcZHxbMS05XVxkfFxkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XVxkfFxkKSl7M318KD86OlthLWZcZF17MSw0fSl7MSw2fXw6KXwoPzo6KD86KD86OlthLWZcZF17MSw0fSl7MCw1fTooPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldXGR8XGQpKD86XC4oPzoy''@;'; put 'put ''NVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldXGR8XGQpKXszfXwoPzo6W2EtZlxkXXsxLDR9KXsxLDd9fDopKSkkKS87ZnVuY3Rpb24gcShfZSxsZSxjZSxwZSl7bGV0IHdlPTA7Zm9yKDt3ZTxfZS5sZW5ndGg7KXtjb25zdCBVZT1fZS5jaGFyQ29kZUF0KHdlKTtpZihVZTw9NDd8fFVlPj01''@;'; put 'put ''OClicmVhazt3ZSsrfXJldHVybiB3ZTxsZXx8d2U+Y2U/bnVsbDpwZXx8d2U9PV9lLmxlbmd0aD9wYXJzZUludChfZS5zdWJzdHIoMCx3ZSksMTApOm51bGx9ZnVuY3Rpb24gSihfZSl7Y29uc3QgbGU9X2Uuc3BsaXQoIjoiKSxjZT1bMCwwLDBdO2lmKDMhPT1sZS5sZW5ndGgpcmV0dXJuIG51''@;'; put 'put ''bGw7Zm9yKGxldCBwZT0wO3BlPDM7cGUrKyl7Y29uc3QgVWU9cShsZVtwZV0sMSwyLDI9PXBlKTtpZihudWxsPT09VWUpcmV0dXJuIG51bGw7Y2VbcGVdPVVlfXJldHVybiBjZX1mdW5jdGlvbiAkKF9lKXtfZT1TdHJpbmcoX2UpLnN1YnN0cigwLDMpLnRvTG93ZXJDYXNlKCk7Y29uc3QgbGU9''@;'; put 'put ''WVtfZV07cmV0dXJuIGxlPj0wP2xlOm51bGx9ZnVuY3Rpb24gdGUoX2Upe2lmKCFfZSlyZXR1cm47Y29uc3QgbGU9X2Uuc3BsaXQoVCk7aWYoIWxlKXJldHVybjtsZXQgY2U9bnVsbCxwZT1udWxsLHdlPW51bGwsVWU9bnVsbCx4ZT1udWxsLEVlPW51bGw7Zm9yKGxldCB3dD0wO3d0PGxlLmxl''@;'; put 'put ''bmd0aDt3dCsrKXtjb25zdCBOZT1sZVt3dF0udHJpbSgpO2lmKCFOZS5sZW5ndGgpY29udGludWU7bGV0IEhlO251bGw9PT13ZSYmKEhlPUooTmUpLEhlKT8oY2U9SGVbMF0scGU9SGVbMV0sd2U9SGVbMl0pOm51bGwhPT1VZXx8KEhlPXEoTmUsMSwyLCEwKSxudWxsPT09SGUpP251bGwhPT14''@;'; put 'put ''ZXx8KEhlPSQoTmUpLG51bGw9PT1IZSk/bnVsbD09PUVlJiYoSGU9cShOZSwyLDQsITApLG51bGwhPT1IZSYmKEVlPUhlLEVlPj03MCYmRWU8PTk5P0VlKz0xOTAwOkVlPj0wJiZFZTw9NjkmJihFZSs9MmUzKSkpOnhlPUhlOlVlPUhlfXJldHVybiBudWxsPT09VWV8fG51bGw9PT14ZXx8bnVs''@;'; put 'put ''bD09PUVlfHxudWxsPT09d2V8fFVlPDF8fFVlPjMxfHxFZTwxNjAxfHxjZT4yM3x8cGU+NTl8fHdlPjU5P3ZvaWQgMDpuZXcgRGF0ZShEYXRlLlVUQyhFZSx4ZSxVZSxjZSxwZSx3ZSkpfWZ1bmN0aW9uIGgoX2Upe3JldHVybiBfZS50b1VUQ1N0cmluZygpfWZ1bmN0aW9uIGIoX2Upe3JldHVy''@;'; put 'put ''biBudWxsPT1fZT9udWxsOihfZT1fZS50cmltKCkucmVwbGFjZSgvXlwuLywiIiksTiYmL1teXHUwMDAxLVx1MDA3Zl0vLnRlc3QoX2UpJiYoX2U9Ti50b0FTQ0lJKF9lKSksX2UudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24geShfZSxsZSxjZSl7aWYobnVsbD09X2V8fG51bGw9PWxlKXJldHVy''@;'; put 'put ''biBudWxsO2lmKCExIT09Y2UmJihfZT1iKF9lKSxsZT1iKGxlKSksX2U9PWxlKXJldHVybiEwO2NvbnN0IHBlPV9lLmluZGV4T2YobGUpO3JldHVybiEocGU8PTB8fF9lLmxlbmd0aCE9PWxlLmxlbmd0aCtwZXx8Ii4iIT09X2Uuc3Vic3RyKHBlLTEsMSl8fEIudGVzdChfZSkpfWZ1bmN0aW9u''@;'; put 'put ''IHAoX2Upe2lmKCFfZXx8Ii8iIT09X2Uuc3Vic3RyKDAsMSkpcmV0dXJuIi8iO2lmKCIvIj09PV9lKXJldHVybiBfZTtjb25zdCBsZT1fZS5sYXN0SW5kZXhPZigiLyIpO3JldHVybiAwPT09bGU/Ii8iOl9lLnNsaWNlKDAsbGUpfWZ1bmN0aW9uIF8oX2UsbGUpe2xlJiYib2JqZWN0Ij09dHlw''@;'; put 'put ''ZW9mIGxlfHwobGU9e30pO2NvbnN0IGNlPShfZT1fZS50cmltKCkpLmluZGV4T2YoIjsiKSxwZT1mdW5jdGlvbiBnKF9lLGxlKXtsZXQgY2UscGUsd2U9KF9lPWZ1bmN0aW9uKHhlKXtmb3IobGV0IEVlPTA7RWU8Ty5sZW5ndGg7RWUrKyl7Y29uc3Qgd3Q9eGUuaW5kZXhPZihPW0VlXSk7LTEh''@;'; put 'put ''PT13dCYmKHhlPXhlLnN1YnN0cigwLHd0KSl9cmV0dXJuIHhlfShfZSkpLmluZGV4T2YoIj0iKTtpZihsZSkwPT09d2UmJih3ZT0oX2U9X2Uuc3Vic3RyKDEpKS5pbmRleE9mKCI9IikpO2Vsc2UgaWYod2U8PTApcmV0dXJuO2lmKHdlPD0wPyhjZT0iIixwZT1fZS50cmltKCkpOihjZT1fZS5z''@;'; put 'put ''dWJzdHIoMCx3ZSkudHJpbSgpLHBlPV9lLnN1YnN0cih3ZSsxKS50cmltKCkpLGsudGVzdChjZSl8fGsudGVzdChwZSkpcmV0dXJuO2NvbnN0IFVlPW5ldyBhZTtyZXR1cm4gVWUua2V5PWNlLFVlLnZhbHVlPXBlLFVlfSgtMT09PWNlP19lOl9lLnN1YnN0cigwLGNlKSwhIWxlLmxvb3NlKTtp''@;'; put 'put ''ZighcGUpcmV0dXJuO2lmKC0xPT09Y2UpcmV0dXJuIHBlO2NvbnN0IHdlPV9lLnNsaWNlKGNlKzEpLnRyaW0oKTtpZigwPT09d2UubGVuZ3RoKXJldHVybiBwZTtjb25zdCBVZT13ZS5zcGxpdCgiOyIpO2Zvcig7VWUubGVuZ3RoOyl7Y29uc3QgeGU9VWUuc2hpZnQoKS50cmltKCk7aWYoMD09''@;'; put 'put ''PXhlLmxlbmd0aCljb250aW51ZTtjb25zdCBFZT14ZS5pbmRleE9mKCI9Iik7bGV0IHd0LE5lO3N3aXRjaCgtMT09PUVlPyh3dD14ZSxOZT1udWxsKTood3Q9eGUuc3Vic3RyKDAsRWUpLE5lPXhlLnN1YnN0cihFZSsxKSksd3Q9d3QudHJpbSgpLnRvTG93ZXJDYXNlKCksTmUmJihOZT1OZS50''@;'; put 'put ''cmltKCkpLHd0KXtjYXNlImV4cGlyZXMiOmlmKE5lKXtjb25zdCBIZT10ZShOZSk7SGUmJihwZS5leHBpcmVzPUhlKX1icmVhaztjYXNlIm1heC1hZ2UiOmlmKE5lJiYvXi0/WzAtOV0rJC8udGVzdChOZSkpe2NvbnN0IEhlPXBhcnNlSW50KE5lLDEwKTtwZS5zZXRNYXhBZ2UoSGUpfWJyZWFr''@;'; put 'put ''O2Nhc2UiZG9tYWluIjppZihOZSl7Y29uc3QgSGU9TmUudHJpbSgpLnJlcGxhY2UoL15cLi8sIiIpO0hlJiYocGUuZG9tYWluPUhlLnRvTG93ZXJDYXNlKCkpfWJyZWFrO2Nhc2UicGF0aCI6cGUucGF0aD1OZSYmIi8iPT09TmVbMF0/TmU6bnVsbDticmVhaztjYXNlInNlY3VyZSI6cGUuc2Vj''@;'; put 'put ''dXJlPSEwO2JyZWFrO2Nhc2UiaHR0cG9ubHkiOnBlLmh0dHBPbmx5PSEwO2JyZWFrO2Nhc2Uic2FtZXNpdGUiOnN3aXRjaChOZT9OZS50b0xvd2VyQ2FzZSgpOiIiKXtjYXNlInN0cmljdCI6cGUuc2FtZVNpdGU9InN0cmljdCI7YnJlYWs7Y2FzZSJsYXgiOnBlLnNhbWVTaXRlPSJsYXgifWJy''@;'; put 'put ''ZWFrO2RlZmF1bHQ6cGUuZXh0ZW5zaW9ucz1wZS5leHRlbnNpb25zfHxbXSxwZS5leHRlbnNpb25zLnB1c2goeGUpfX1yZXR1cm4gcGV9ZnVuY3Rpb24gRShfZSl7bGV0IGxlO3RyeXtsZT1KU09OLnBhcnNlKF9lKX1jYXRjaChjZSl7cmV0dXJuIGNlfXJldHVybiBsZX1mdW5jdGlvbiBXKF9l''@;'; put 'put ''KXtpZighX2UpcmV0dXJuIG51bGw7bGV0IGxlO2lmKCJzdHJpbmciPT10eXBlb2YgX2Upe2lmKGxlPUUoX2UpLGxlIGluc3RhbmNlb2YgRXJyb3IpcmV0dXJuIG51bGx9ZWxzZSBsZT1fZTtjb25zdCBjZT1uZXcgYWU7Zm9yKGxldCBwZT0wO3BlPGFlLnNlcmlhbGl6YWJsZVByb3BlcnRpZXMu''@;'; put 'put ''bGVuZ3RoO3BlKyspe2NvbnN0IHdlPWFlLnNlcmlhbGl6YWJsZVByb3BlcnRpZXNbcGVdO3ZvaWQgMCE9PWxlW3dlXSYmbGVbd2VdIT09bmVbd2VdJiYoY2Vbd2VdPSJleHBpcmVzIj09PXdlfHwiY3JlYXRpb24iPT09d2V8fCJsYXN0QWNjZXNzZWQiPT09d2U/bnVsbD09PWxlW3dlXT9udWxs''@;'; put 'put ''OiJJbmZpbml0eSI9PWxlW3dlXT8iSW5maW5pdHkiOm5ldyBEYXRlKGxlW3dlXSk6bGVbd2VdKX1yZXR1cm4gY2V9ZnVuY3Rpb24gRyhfZSxsZSl7bGV0IGNlPTA7cmV0dXJuIGNlPShsZS5wYXRoP2xlLnBhdGgubGVuZ3RoOjApLShfZS5wYXRoP19lLnBhdGgubGVuZ3RoOjApLDAhPT1jZXx8''@;'; put 'put ''KGNlPShfZS5jcmVhdGlvbj9fZS5jcmVhdGlvbi5nZXRUaW1lKCk6SSktKGxlLmNyZWF0aW9uP2xlLmNyZWF0aW9uLmdldFRpbWUoKTpJKSwwIT09Y2V8fChjZT1fZS5jcmVhdGlvbkluZGV4LWxlLmNyZWF0aW9uSW5kZXgpKSxjZX1mdW5jdGlvbiBYKF9lKXtpZihfZSBpbnN0YW5jZW9mIE9i''@;'; put 'put ''amVjdClyZXR1cm4gX2U7dHJ5e19lPWRlY29kZVVSSShfZSl9Y2F0Y2gobGUpe31yZXR1cm4geihfZSl9Y29uc3QgbmU9e2tleToiIix2YWx1ZToiIixleHBpcmVzOiJJbmZpbml0eSIsbWF4QWdlOm51bGwsZG9tYWluOm51bGwscGF0aDpudWxsLHNlY3VyZTohMSxodHRwT25seTohMSxleHRl''@;'; put 'put ''bnNpb25zOm51bGwsaG9zdE9ubHk6bnVsbCxwYXRoSXNEZWZhdWx0Om51bGwsY3JlYXRpb246bnVsbCxsYXN0QWNjZXNzZWQ6bnVsbCxzYW1lU2l0ZToibm9uZSJ9O2NsYXNzIGFle2NvbnN0cnVjdG9yKGxlPXt9KXtDLmluc3BlY3QuY3VzdG9tJiYodGhpc1tDLmluc3BlY3QuY3VzdG9tXT10''@;'; put 'put ''aGlzLmluc3BlY3QpLE9iamVjdC5hc3NpZ24odGhpcyxuZSxsZSksdGhpcy5jcmVhdGlvbj10aGlzLmNyZWF0aW9ufHxuZXcgRGF0ZSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiY3JlYXRpb25JbmRleCIse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLHZh''@;'; put 'put ''bHVlOisrYWUuY29va2llc0NyZWF0ZWR9KX1pbnNwZWN0KCl7Y29uc3QgbGU9RGF0ZS5ub3coKSxjZT1udWxsIT10aGlzLmhvc3RPbmx5P3RoaXMuaG9zdE9ubHk6Ij8iLHBlPXRoaXMuY3JlYXRpb24/bGUtdGhpcy5jcmVhdGlvbi5nZXRUaW1lKCkrIm1zIjoiPyIsd2U9dGhpcy5sYXN0QWNj''@;'; put 'put ''ZXNzZWQ/bGUtdGhpcy5sYXN0QWNjZXNzZWQuZ2V0VGltZSgpKyJtcyI6Ij8iO3JldHVybmBDb29raWU9IiR7dGhpcy50b1N0cmluZygpfTsgaG9zdE9ubHk9JHtjZX07IGFBZ2U9JHt3ZX07IGNBZ2U9JHtwZX0iYH10b0pTT04oKXtjb25zdCBsZT17fTtmb3IoY29uc3QgY2Ugb2YgYWUuc2Vy''@;'; put 'put ''aWFsaXphYmxlUHJvcGVydGllcyl0aGlzW2NlXSE9PW5lW2NlXSYmKCJleHBpcmVzIj09PWNlfHwiY3JlYXRpb24iPT09Y2V8fCJsYXN0QWNjZXNzZWQiPT09Y2U/bGVbY2VdPW51bGw9PT10aGlzW2NlXT9udWxsOiJJbmZpbml0eSI9PXRoaXNbY2VdPyJJbmZpbml0eSI6dGhpc1tjZV0udG9J''@;'; put 'put ''U09TdHJpbmcoKToibWF4QWdlIj09PWNlP251bGwhPT10aGlzW2NlXSYmKGxlW2NlXT10aGlzW2NlXT09MS8wfHx0aGlzW2NlXT09LTEvMD90aGlzW2NlXS50b1N0cmluZygpOnRoaXNbY2VdKTp0aGlzW2NlXSE9PW5lW2NlXSYmKGxlW2NlXT10aGlzW2NlXSkpO3JldHVybiBsZX1jbG9uZSgp''@;'; put 'put ''e3JldHVybiBXKHRoaXMudG9KU09OKCkpfXZhbGlkYXRlKCl7aWYoIU0udGVzdCh0aGlzLnZhbHVlKXx8ISh0aGlzLmV4cGlyZXM9PTEvMHx8dGhpcy5leHBpcmVzIGluc3RhbmNlb2YgRGF0ZXx8dGUodGhpcy5leHBpcmVzKSl8fG51bGwhPXRoaXMubWF4QWdlJiZ0aGlzLm1heEFnZTw9MHx8''@;'; put 'put ''bnVsbCE9dGhpcy5wYXRoJiYhTC50ZXN0KHRoaXMucGF0aCkpcmV0dXJuITE7Y29uc3QgbGU9dGhpcy5jZG9tYWluKCk7cmV0dXJuIShsZSYmKGxlLm1hdGNoKC9cLiQvKXx8bnVsbD09Uy5nZXRQdWJsaWNTdWZmaXgobGUpKSl9c2V0RXhwaXJlcyhsZSl7dGhpcy5leHBpcmVzPWxlIGluc3Rh''@;'; put 'put ''bmNlb2YgRGF0ZT9sZTp0ZShsZSl8fCJJbmZpbml0eSJ9c2V0TWF4QWdlKGxlKXt0aGlzLm1heEFnZT1sZT09PTEvMHx8bGU9PT0tMS8wP2xlLnRvU3RyaW5nKCk6bGV9Y29va2llU3RyaW5nKCl7bGV0IGxlPXRoaXMudmFsdWU7cmV0dXJuIG51bGw9PWxlJiYobGU9IiIpLCIiPT09dGhpcy5r''@;'; put 'put ''ZXk/bGU6YCR7dGhpcy5rZXl9PSR7bGV9YH10b1N0cmluZygpe2xldCBsZT10aGlzLmNvb2tpZVN0cmluZygpO3JldHVybiB0aGlzLmV4cGlyZXMhPTEvMCYmKHRoaXMuZXhwaXJlcyBpbnN0YW5jZW9mIERhdGU/bGUrPWA7IEV4cGlyZXM9JHtoKHRoaXMuZXhwaXJlcyl9YDpsZSs9YDsgRXhw''@;'; put 'put ''aXJlcz0ke3RoaXMuZXhwaXJlc31gKSxudWxsIT10aGlzLm1heEFnZSYmdGhpcy5tYXhBZ2UhPTEvMCYmKGxlKz1gOyBNYXgtQWdlPSR7dGhpcy5tYXhBZ2V9YCksdGhpcy5kb21haW4mJiF0aGlzLmhvc3RPbmx5JiYobGUrPWA7IERvbWFpbj0ke3RoaXMuZG9tYWlufWApLHRoaXMucGF0aCYm''@;'; put 'put ''KGxlKz1gOyBQYXRoPSR7dGhpcy5wYXRofWApLHRoaXMuc2VjdXJlJiYobGUrPSI7IFNlY3VyZSIpLHRoaXMuaHR0cE9ubHkmJihsZSs9IjsgSHR0cE9ubHkiKSx0aGlzLnNhbWVTaXRlJiYibm9uZSIhPT10aGlzLnNhbWVTaXRlJiYobGUrPWA7IFNhbWVTaXRlPSR7YWUuc2FtZVNpdGVDYW5v''@;'; put 'put ''bmljYWxbdGhpcy5zYW1lU2l0ZS50b0xvd2VyQ2FzZSgpXXx8dGhpcy5zYW1lU2l0ZX1gKSx0aGlzLmV4dGVuc2lvbnMmJnRoaXMuZXh0ZW5zaW9ucy5mb3JFYWNoKGNlPT57bGUrPWA7ICR7Y2V9YH0pLGxlfVRUTChsZSl7aWYobnVsbCE9dGhpcy5tYXhBZ2UpcmV0dXJuIHRoaXMubWF4QWdl''@;'; put 'put ''PD0wPzA6MWUzKnRoaXMubWF4QWdlO2xldCBjZT10aGlzLmV4cGlyZXM7cmV0dXJuIGNlIT0xLzA/KGNlIGluc3RhbmNlb2YgRGF0ZXx8KGNlPXRlKGNlKXx8MS8wKSxjZT09MS8wPzEvMDpjZS5nZXRUaW1lKCktKGxlfHxEYXRlLm5vdygpKSk6MS8wfWV4cGlyeVRpbWUobGUpe2lmKG51bGwh''@;'; put 'put ''PXRoaXMubWF4QWdlKXtjb25zdCBjZT1sZXx8dGhpcy5jcmVhdGlvbnx8bmV3IERhdGUscGU9dGhpcy5tYXhBZ2U8PTA/LTEvMDoxZTMqdGhpcy5tYXhBZ2U7cmV0dXJuIGNlLmdldFRpbWUoKStwZX1yZXR1cm4gdGhpcy5leHBpcmVzPT0xLzA/MS8wOnRoaXMuZXhwaXJlcy5nZXRUaW1lKCl9''@;'; put 'put ''ZXhwaXJ5RGF0ZShsZSl7Y29uc3QgY2U9dGhpcy5leHBpcnlUaW1lKGxlKTtyZXR1cm4gY2U9PTEvMD9uZXcgRGF0ZShJKTpjZT09LTEvMD9uZXcgRGF0ZSgwKTpuZXcgRGF0ZShjZSl9aXNQZXJzaXN0ZW50KCl7cmV0dXJuIG51bGwhPXRoaXMubWF4QWdlfHx0aGlzLmV4cGlyZXMhPTEvMH1j''@;'; put 'put ''YW5vbmljYWxpemVkRG9tYWluKCl7cmV0dXJuIG51bGw9PXRoaXMuZG9tYWluP251bGw6Yih0aGlzLmRvbWFpbil9Y2RvbWFpbigpe3JldHVybiB0aGlzLmNhbm9uaWNhbGl6ZWREb21haW4oKX19YWUuY29va2llc0NyZWF0ZWQ9MCxhZS5wYXJzZT1fLGFlLmZyb21KU09OPVcsYWUuc2VyaWFs''@;'; put 'put ''aXphYmxlUHJvcGVydGllcz1PYmplY3Qua2V5cyhuZSksYWUuc2FtZVNpdGVMZXZlbD17c3RyaWN0OjMsbGF4OjIsbm9uZToxfSxhZS5zYW1lU2l0ZUNhbm9uaWNhbD17c3RyaWN0OiJTdHJpY3QiLGxheDoiTGF4In07Y2xhc3MgdWV7Y29uc3RydWN0b3IobGUsY2U9e3JlamVjdFB1YmxpY1N1''@;'; put 'put ''ZmZpeGVzOiEwfSl7ImJvb2xlYW4iPT10eXBlb2YgY2UmJihjZT17cmVqZWN0UHVibGljU3VmZml4ZXM6Y2V9KSx0aGlzLnJlamVjdFB1YmxpY1N1ZmZpeGVzPWNlLnJlamVjdFB1YmxpY1N1ZmZpeGVzLHRoaXMuZW5hYmxlTG9vc2VNb2RlPSEhY2UubG9vc2VNb2RlLHRoaXMuYWxsb3dTcGVj''@;'; put 'put ''aWFsVXNlRG9tYWluPSEhY2UuYWxsb3dTcGVjaWFsVXNlRG9tYWluLHRoaXMuc3RvcmU9bGV8fG5ldyBGLHRoaXMucHJlZml4U2VjdXJpdHk9ZnVuY3Rpb24ocGUpe2lmKG51bGwhPXBlKXtjb25zdCB3ZT1wZS50b0xvd2VyQ2FzZSgpO3N3aXRjaCh3ZSl7Y2FzZSBSLlNUUklDVDpjYXNlIFIu''@;'; put 'put ''U0lMRU5UOmNhc2UgUi5ESVNBQkxFRDpyZXR1cm4gd2V9fXJldHVybiBSLlNJTEVOVH0oY2UucHJlZml4U2VjdXJpdHkpLHRoaXMuX2Nsb25lU3luYz1iZSgiY2xvbmUiKSx0aGlzLl9pbXBvcnRDb29raWVzU3luYz1iZSgiX2ltcG9ydENvb2tpZXMiKSx0aGlzLmdldENvb2tpZXNTeW5jPWJl''@;'; put 'put ''KCJnZXRDb29raWVzIiksdGhpcy5nZXRDb29raWVTdHJpbmdTeW5jPWJlKCJnZXRDb29raWVTdHJpbmciKSx0aGlzLmdldFNldENvb2tpZVN0cmluZ3NTeW5jPWJlKCJnZXRTZXRDb29raWVTdHJpbmdzIiksdGhpcy5yZW1vdmVBbGxDb29raWVzU3luYz1iZSgicmVtb3ZlQWxsQ29va2llcyIp''@;'; put 'put ''LHRoaXMuc2V0Q29va2llU3luYz1iZSgic2V0Q29va2llIiksdGhpcy5zZXJpYWxpemVTeW5jPWJlKCJzZXJpYWxpemUiKX1zZXRDb29raWUobGUsY2UscGUsd2Upe2xldCBVZTtjb25zdCB4ZT1YKGNlKTsiZnVuY3Rpb24iPT10eXBlb2YgcGUmJih3ZT1wZSxwZT17fSk7Y29uc3QgRWU9Yih4''@;'; put 'put ''ZS5ob3N0bmFtZSksd3Q9cGUubG9vc2V8fHRoaXMuZW5hYmxlTG9vc2VNb2RlO2xldCBOZT1udWxsO2lmKHBlLnNhbWVTaXRlQ29udGV4dCYmKE5lPVYocGUuc2FtZVNpdGVDb250ZXh0KSwhTmUpKXJldHVybiB3ZShuZXcgRXJyb3IoVSkpO2lmKCJzdHJpbmciPT10eXBlb2YgbGV8fGxlIGlu''@;'; put 'put ''c3RhbmNlb2YgU3RyaW5nKXtpZighKGxlPWFlLnBhcnNlKGxlLHtsb29zZTp3dH0pKSlyZXR1cm4gVWU9bmV3IEVycm9yKCJDb29raWUgZmFpbGVkIHRvIHBhcnNlIiksd2UocGUuaWdub3JlRXJyb3I/bnVsbDpVZSl9ZWxzZSBpZighKGxlIGluc3RhbmNlb2YgYWUpKXJldHVybiBVZT1uZXcg''@;'; put 'put ''RXJyb3IoIkZpcnN0IGFyZ3VtZW50IHRvIHNldENvb2tpZSBtdXN0IGJlIGEgQ29va2llIG9iamVjdCBvciBzdHJpbmciKSx3ZShwZS5pZ25vcmVFcnJvcj9udWxsOlVlKTtjb25zdCBIZT1wZS5ub3d8fG5ldyBEYXRlO2lmKHRoaXMucmVqZWN0UHVibGljU3VmZml4ZXMmJmxlLmRvbWFpbiYm''@;'; put 'put ''bnVsbD09Uy5nZXRQdWJsaWNTdWZmaXgobGUuY2RvbWFpbigpKSlyZXR1cm4gVWU9bmV3IEVycm9yKCJDb29raWUgaGFzIGRvbWFpbiBzZXQgdG8gYSBwdWJsaWMgc3VmZml4Iiksd2UocGUuaWdub3JlRXJyb3I/bnVsbDpVZSk7aWYobGUuZG9tYWluKXtpZigheShFZSxsZS5jZG9tYWluKCks''@;'; put 'put ''ITEpKXJldHVybiBVZT1uZXcgRXJyb3IoYENvb2tpZSBub3QgaW4gdGhpcyBob3N0J3MgZG9tYWluLiBDb29raWU6JHtsZS5jZG9tYWluKCl9IFJlcXVlc3Q6JHtFZX1gKSx3ZShwZS5pZ25vcmVFcnJvcj9udWxsOlVlKTtudWxsPT1sZS5ob3N0T25seSYmKGxlLmhvc3RPbmx5PSExKX1lbHNl''@;'; put 'put ''IGxlLmhvc3RPbmx5PSEwLGxlLmRvbWFpbj1FZTtpZihsZS5wYXRoJiYiLyI9PT1sZS5wYXRoWzBdfHwobGUucGF0aD1wKHhlLnBhdGhuYW1lKSxsZS5wYXRoSXNEZWZhdWx0PSEwKSwhMT09PXBlLmh0dHAmJmxlLmh0dHBPbmx5KXJldHVybiBVZT1uZXcgRXJyb3IoIkNvb2tpZSBpcyBIdHRw''@;'; put 'put ''T25seSBhbmQgdGhpcyBpc24ndCBhbiBIVFRQIEFQSSIpLHdlKHBlLmlnbm9yZUVycm9yP251bGw6VWUpO2lmKCJub25lIiE9PWxlLnNhbWVTaXRlJiZOZSYmIm5vbmUiPT09TmUpcmV0dXJuIFVlPW5ldyBFcnJvcigiQ29va2llIGlzIFNhbWVTaXRlIGJ1dCB0aGlzIGlzIGEgY3Jvc3Mtb3Jp''@;'; put 'put ''Z2luIHJlcXVlc3QiKSx3ZShwZS5pZ25vcmVFcnJvcj9udWxsOlVlKTtjb25zdCBSZT10aGlzLnByZWZpeFNlY3VyaXR5PT09Ui5TSUxFTlQ7aWYodGhpcy5wcmVmaXhTZWN1cml0eSE9PVIuRElTQUJMRUQpe2xldCBMZSxpZT0hMTtpZighKHNlPWxlKS5rZXkuc3RhcnRzV2l0aCgiX19TZWN1''@;'; put 'put ''cmUtIil8fHNlLnNlY3VyZT9mdW5jdGlvbihzZSl7cmV0dXJuIXNlLmtleS5zdGFydHNXaXRoKCJfX0hvc3QtIil8fHNlLnNlY3VyZSYmc2UuaG9zdE9ubHkmJm51bGwhPXNlLnBhdGgmJiIvIj09PXNlLnBhdGh9KGxlKXx8KGllPSEwLExlPSJDb29raWUgaGFzIF9fSG9zdCBwcmVmaXggYnV0''@;'; put 'put ''IGVpdGhlciBTZWN1cmUgb3IgSG9zdE9ubHkgYXR0cmlidXRlIGlzIG5vdCBzZXQgb3IgUGF0aCBpcyBub3QgJy8nIik6KGllPSEwLExlPSJDb29raWUgaGFzIF9fU2VjdXJlIHByZWZpeCBidXQgU2VjdXJlIGF0dHJpYnV0ZSBpcyBub3Qgc2V0IiksaWUpcmV0dXJuIHdlKHBlLmlnbm9yZUVy''@;'; put 'put ''cm9yfHxSZT9udWxsOm5ldyBFcnJvcihMZSkpfXZhciBzZTtjb25zdCBPZT10aGlzLnN0b3JlO09lLnVwZGF0ZUNvb2tpZXx8KE9lLnVwZGF0ZUNvb2tpZT1mdW5jdGlvbihMZSxpZSxzZSl7dGhpcy5wdXRDb29raWUoaWUsc2UpfSksT2UuZmluZENvb2tpZShsZS5kb21haW4sbGUucGF0aCxs''@;'; put 'put ''ZS5rZXksZnVuY3Rpb24oTGUsaWUpe2lmKExlKXJldHVybiB3ZShMZSk7Y29uc3Qgc2U9ZnVuY3Rpb24oZGUpe2lmKGRlKXJldHVybiB3ZShkZSk7d2UobnVsbCxsZSl9O2lmKGllKXtpZighMT09PXBlLmh0dHAmJmllLmh0dHBPbmx5KXJldHVybiBMZT1uZXcgRXJyb3IoIm9sZCBDb29raWUg''@;'; put 'put ''aXMgSHR0cE9ubHkgYW5kIHRoaXMgaXNuJ3QgYW4gSFRUUCBBUEkiKSx3ZShwZS5pZ25vcmVFcnJvcj9udWxsOkxlKTtsZS5jcmVhdGlvbj1pZS5jcmVhdGlvbixsZS5jcmVhdGlvbkluZGV4PWllLmNyZWF0aW9uSW5kZXgsbGUubGFzdEFjY2Vzc2VkPUhlLE9lLnVwZGF0ZUNvb2tpZShpZSxs''@;'; put 'put ''ZSxzZSl9ZWxzZSBsZS5jcmVhdGlvbj1sZS5sYXN0QWNjZXNzZWQ9SGUsT2UucHV0Q29va2llKGxlLHNlKX0pfWdldENvb2tpZXMobGUsY2UscGUpe2NvbnN0IHdlPVgobGUpOyJmdW5jdGlvbiI9PXR5cGVvZiBjZSYmKHBlPWNlLGNlPXt9KTtjb25zdCBVZT1iKHdlLmhvc3RuYW1lKSx4ZT13''@;'; put 'put ''ZS5wYXRobmFtZXx8Ii8iO2xldCBFZT1jZS5zZWN1cmU7bnVsbCE9RWV8fCF3ZS5wcm90b2NvbHx8Imh0dHBzOiIhPXdlLnByb3RvY29sJiYid3NzOiIhPXdlLnByb3RvY29sfHwoRWU9ITApO2xldCB3dD0wO2lmKGNlLnNhbWVTaXRlQ29udGV4dCl7Y29uc3Qgc2U9VihjZS5zYW1lU2l0ZUNv''@;'; put 'put ''bnRleHQpO2lmKHd0PWFlLnNhbWVTaXRlTGV2ZWxbc2VdLCF3dClyZXR1cm4gcGUobmV3IEVycm9yKFUpKX1sZXQgTmU9Y2UuaHR0cDtudWxsPT1OZSYmKE5lPSEwKTtjb25zdCBIZT1jZS5ub3d8fERhdGUubm93KCksUmU9ITEhPT1jZS5leHBpcmUsT2U9ISFjZS5hbGxQYXRocyxMZT10aGlz''@;'; put 'put ''LnN0b3JlO2Z1bmN0aW9uIGllKHNlKXtpZihzZS5ob3N0T25seSl7aWYoc2UuZG9tYWluIT1VZSlyZXR1cm4hMX1lbHNlIGlmKCF5KFVlLHNlLmRvbWFpbiwhMSkpcmV0dXJuITE7cmV0dXJuISghT2UmJiFEKHhlLHNlLnBhdGgpfHxzZS5zZWN1cmUmJiFFZXx8c2UuaHR0cE9ubHkmJiFOZXx8''@;'; put 'put ''d3QmJmFlLnNhbWVTaXRlTGV2ZWxbc2Uuc2FtZVNpdGV8fCJub25lIl0+d3R8fFJlJiZzZS5leHBpcnlUaW1lKCk8PUhlJiYoTGUucmVtb3ZlQ29va2llKHNlLmRvbWFpbixzZS5wYXRoLHNlLmtleSwoKT0+e30pLDEpKX1MZS5maW5kQ29va2llcyhVZSxPZT9udWxsOnhlLHRoaXMuYWxsb3dT''@;'; put 'put ''cGVjaWFsVXNlRG9tYWluLChzZSxkZSk9PntpZihzZSlyZXR1cm4gcGUoc2UpO2RlPWRlLmZpbHRlcihpZSksITEhPT1jZS5zb3J0JiYoZGU9ZGUuc29ydChHKSk7Y29uc3QgQWU9bmV3IERhdGU7Zm9yKGNvbnN0IGtlIG9mIGRlKWtlLmxhc3RBY2Nlc3NlZD1BZTtwZShudWxsLGRlKX0pfWdl''@;'; put 'put ''dENvb2tpZVN0cmluZyguLi5sZSl7Y29uc3QgY2U9bGUucG9wKCk7bGUucHVzaChmdW5jdGlvbihwZSx3ZSl7cGU/Y2UocGUpOmNlKG51bGwsd2Uuc29ydChHKS5tYXAoVWU9PlVlLmNvb2tpZVN0cmluZygpKS5qb2luKCI7ICIpKX0pLHRoaXMuZ2V0Q29va2llcy5hcHBseSh0aGlzLGxlKX1n''@;'; put 'put ''ZXRTZXRDb29raWVTdHJpbmdzKC4uLmxlKXtjb25zdCBjZT1sZS5wb3AoKTtsZS5wdXNoKGZ1bmN0aW9uKHBlLHdlKXtwZT9jZShwZSk6Y2UobnVsbCx3ZS5tYXAoVWU9PlVlLnRvU3RyaW5nKCkpKX0pLHRoaXMuZ2V0Q29va2llcy5hcHBseSh0aGlzLGxlKX1zZXJpYWxpemUobGUpe2xldCBj''@;'; put 'put ''ZT10aGlzLnN0b3JlLmNvbnN0cnVjdG9yLm5hbWU7Ik9iamVjdCI9PT1jZSYmKGNlPW51bGwpO2NvbnN0IHBlPXt2ZXJzaW9uOmB0b3VnaC1jb29raWVAJHt3fWAsc3RvcmVUeXBlOmNlLHJlamVjdFB1YmxpY1N1ZmZpeGVzOiEhdGhpcy5yZWplY3RQdWJsaWNTdWZmaXhlcyxjb29raWVzOltd''@;'; put 'put ''fTtpZighdGhpcy5zdG9yZS5nZXRBbGxDb29raWVzfHwiZnVuY3Rpb24iIT10eXBlb2YgdGhpcy5zdG9yZS5nZXRBbGxDb29raWVzKXJldHVybiBsZShuZXcgRXJyb3IoInN0b3JlIGRvZXMgbm90IHN1cHBvcnQgZ2V0QWxsQ29va2llcyBhbmQgY2Fubm90IGJlIHNlcmlhbGl6ZWQiKSk7dGhp''@;'; put 'put ''cy5zdG9yZS5nZXRBbGxDb29raWVzKCh3ZSxVZSk9PndlP2xlKHdlKToocGUuY29va2llcz1VZS5tYXAoeGU9PihkZWxldGUoeGU9eGUgaW5zdGFuY2VvZiBhZT94ZS50b0pTT04oKTp4ZSkuY3JlYXRpb25JbmRleCx4ZSkpLGxlKG51bGwscGUpKSl9dG9KU09OKCl7cmV0dXJuIHRoaXMuc2Vy''@;'; put 'put ''aWFsaXplU3luYygpfV9pbXBvcnRDb29raWVzKGxlLGNlKXtsZXQgcGU9bGUuY29va2llcztpZighcGV8fCFBcnJheS5pc0FycmF5KHBlKSlyZXR1cm4gY2UobmV3IEVycm9yKCJzZXJpYWxpemVkIGphciBoYXMgbm8gY29va2llcyBhcnJheSIpKTtwZT1wZS5zbGljZSgpO2NvbnN0IHdlPVVl''@;'; put 'put ''PT57aWYoVWUpcmV0dXJuIGNlKFVlKTtpZighcGUubGVuZ3RoKXJldHVybiBjZShVZSx0aGlzKTtsZXQgeGU7dHJ5e3hlPVcocGUuc2hpZnQoKSl9Y2F0Y2goRWUpe3JldHVybiBjZShFZSl9aWYobnVsbD09PXhlKXJldHVybiB3ZShudWxsKTt0aGlzLnN0b3JlLnB1dENvb2tpZSh4ZSx3ZSl9''@;'; put 'put ''O3dlKCl9Y2xvbmUobGUsY2UpezE9PT1hcmd1bWVudHMubGVuZ3RoJiYoY2U9bGUsbGU9bnVsbCksdGhpcy5zZXJpYWxpemUoKHBlLHdlKT0+e2lmKHBlKXJldHVybiBjZShwZSk7dWUuZGVzZXJpYWxpemUod2UsbGUsY2UpfSl9Y2xvbmVTeW5jKGxlKXtpZigwPT09YXJndW1lbnRzLmxlbmd0''@;'; put 'put ''aClyZXR1cm4gdGhpcy5fY2xvbmVTeW5jKCk7aWYoIWxlLnN5bmNocm9ub3VzKXRocm93IG5ldyBFcnJvcigiQ29va2llSmFyIGNsb25lIGRlc3RpbmF0aW9uIHN0b3JlIGlzIG5vdCBzeW5jaHJvbm91czsgdXNlIGFzeW5jIEFQSSBpbnN0ZWFkLiIpO3JldHVybiB0aGlzLl9jbG9uZVN5bmMo''@;'; put 'put ''bGUpfXJlbW92ZUFsbENvb2tpZXMobGUpe2NvbnN0IGNlPXRoaXMuc3RvcmU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGNlLnJlbW92ZUFsbENvb2tpZXMmJmNlLnJlbW92ZUFsbENvb2tpZXMhPT1tLnByb3RvdHlwZS5yZW1vdmVBbGxDb29raWVzKXJldHVybiBjZS5yZW1vdmVBbGxDb29raWVz''@;'; put 'put ''KGxlKTtjZS5nZXRBbGxDb29raWVzKChwZSx3ZSk9PntpZihwZSlyZXR1cm4gbGUocGUpO2lmKDA9PT13ZS5sZW5ndGgpcmV0dXJuIGxlKG51bGwpO2xldCBVZT0wO2NvbnN0IHhlPVtdO2Z1bmN0aW9uIEVlKHd0KXtpZih3dCYmeGUucHVzaCh3dCksVWUrKyxVZT09PXdlLmxlbmd0aClyZXR1''@;'; put 'put ''cm4gbGUoeGUubGVuZ3RoP3hlWzBdOm51bGwpfXdlLmZvckVhY2god3Q9PntjZS5yZW1vdmVDb29raWUod3QuZG9tYWluLHd0LnBhdGgsd3Qua2V5LEVlKX0pfSl9c3RhdGljIGRlc2VyaWFsaXplKGxlLGNlLHBlKXtsZXQgd2U7aWYoMyE9PWFyZ3VtZW50cy5sZW5ndGgmJihwZT1jZSxjZT1u''@;'; put 'put ''dWxsKSwic3RyaW5nIj09dHlwZW9mIGxlKXtpZih3ZT1FKGxlKSx3ZSBpbnN0YW5jZW9mIEVycm9yKXJldHVybiBwZSh3ZSl9ZWxzZSB3ZT1sZTtjb25zdCBVZT1uZXcgdWUoY2Usd2UucmVqZWN0UHVibGljU3VmZml4ZXMpO1VlLl9pbXBvcnRDb29raWVzKHdlLHhlPT57aWYoeGUpcmV0dXJu''@;'; put 'put ''IHBlKHhlKTtwZShudWxsLFVlKX0pfXN0YXRpYyBkZXNlcmlhbGl6ZVN5bmMobGUsY2Upe2NvbnN0IHBlPSJzdHJpbmciPT10eXBlb2YgbGU/SlNPTi5wYXJzZShsZSk6bGUsd2U9bmV3IHVlKGNlLHBlLnJlamVjdFB1YmxpY1N1ZmZpeGVzKTtpZighd2Uuc3RvcmUuc3luY2hyb25vdXMpdGhy''@;'; put 'put ''b3cgbmV3IEVycm9yKCJDb29raWVKYXIgc3RvcmUgaXMgbm90IHN5bmNocm9ub3VzOyB1c2UgYXN5bmMgQVBJIGluc3RlYWQuIik7cmV0dXJuIHdlLl9pbXBvcnRDb29raWVzU3luYyhwZSksd2V9fWZ1bmN0aW9uIGJlKF9lKXtyZXR1cm4gZnVuY3Rpb24oLi4ubGUpe2lmKCF0aGlzLnN0b3Jl''@;'; put 'put ''LnN5bmNocm9ub3VzKXRocm93IG5ldyBFcnJvcigiQ29va2llSmFyIHN0b3JlIGlzIG5vdCBzeW5jaHJvbm91czsgdXNlIGFzeW5jIEFQSSBpbnN0ZWFkLiIpO2xldCBjZSxwZTtpZih0aGlzW19lXSguLi5sZSwod2UsVWUpPT57Y2U9d2UscGU9VWV9KSxjZSl0aHJvdyBjZTtyZXR1cm4gcGV9''@;'; put 'put ''fXVlLmZyb21KU09OPXVlLmRlc2VyaWFsaXplU3luYyxbIl9pbXBvcnRDb29raWVzIiwiY2xvbmUiLCJnZXRDb29raWVzIiwiZ2V0Q29va2llU3RyaW5nIiwiZ2V0U2V0Q29va2llU3RyaW5ncyIsInJlbW92ZUFsbENvb2tpZXMiLCJzZXJpYWxpemUiLCJzZXRDb29raWUiXS5mb3JFYWNoKF9l''@;'; put 'put ''PT57dWUucHJvdG90eXBlW19lXT1QKHVlLnByb3RvdHlwZVtfZV0pfSksdWUuZGVzZXJpYWxpemU9UCh1ZS5kZXNlcmlhbGl6ZSksQS52ZXJzaW9uPXcsQS5Db29raWVKYXI9dWUsQS5Db29raWU9YWUsQS5TdG9yZT1tLEEuTWVtb3J5Q29va2llU3RvcmU9RixBLnBhcnNlRGF0ZT10ZSxBLmZv''@;'; put 'put ''cm1hdERhdGU9aCxBLnBhcnNlPV8sQS5mcm9tSlNPTj1XLEEuZG9tYWluTWF0Y2g9eSxBLmRlZmF1bHRQYXRoPXAsQS5wYXRoTWF0Y2g9RCxBLmdldFB1YmxpY1N1ZmZpeD1TLmdldFB1YmxpY1N1ZmZpeCxBLmNvb2tpZUNvbXBhcmU9RyxBLnBlcm11dGVEb21haW49aig3MzI0KS5wZXJtdXRl''@;'; put 'put ''RG9tYWluLEEucGVybXV0ZVBhdGg9ZnVuY3Rpb24oX2Upe2lmKCIvIj09PV9lKXJldHVyblsiLyJdO2NvbnN0IGxlPVtfZV07Zm9yKDtfZS5sZW5ndGg+MTspe2NvbnN0IGNlPV9lLmxhc3RJbmRleE9mKCIvIik7aWYoMD09PWNlKWJyZWFrO19lPV9lLnN1YnN0cigwLGNlKSxsZS5wdXNoKF9l''@;'; put 'put ''KX1yZXR1cm4gbGUucHVzaCgiLyIpLGxlfSxBLmNhbm9uaWNhbERvbWFpbj1iLEEuUHJlZml4U2VjdXJpdHlFbnVtPVJ9LDU3NjE6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdHtmcm9tQ2FsbGJhY2s6Tn09aig3MDQxKSx6PWooMjIyNCkueSxDPWooNzMyNCkucGVybXV0ZURvbWFpbixT''@;'; put 'put ''PWooODk3MSkuVSxtPWooOTUzOSk7Y2xhc3MgRiBleHRlbmRzIHp7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuc3luY2hyb25vdXM9ITAsdGhpcy5pZHg9e30sbS5pbnNwZWN0LmN1c3RvbSYmKHRoaXNbbS5pbnNwZWN0LmN1c3RvbV09dGhpcy5pbnNwZWN0KX1pbnNwZWN0KCl7cmV0dXJu''@;'; put 'put ''YHsgaWR4OiAke20uaW5zcGVjdCh0aGlzLmlkeCwhMSwyKX0gfWB9ZmluZENvb2tpZSh3LFAsTSxrKXtyZXR1cm4gayhudWxsLHRoaXMuaWR4W3ddJiZ0aGlzLmlkeFt3XVtQXT90aGlzLmlkeFt3XVtQXVtNXXx8bnVsbDp2b2lkIDApfWZpbmRDb29raWVzKHcsUCxNLGspe2NvbnN0IE89W107''@;'; put 'put ''aWYoImZ1bmN0aW9uIj09dHlwZW9mIE0mJihrPU0sTT0hMSksIXcpcmV0dXJuIGsobnVsbCxbXSk7bGV0IEw7TD1QP2Z1bmN0aW9uKEkpe09iamVjdC5rZXlzKEkpLmZvckVhY2goVT0+e2lmKFMoUCxVKSl7Y29uc3QgVj1JW1VdO2Zvcihjb25zdCBSIGluIFYpTy5wdXNoKFZbUl0pfX0pfTpm''@;'; put 'put ''dW5jdGlvbihJKXtmb3IoY29uc3QgVSBpbiBJKXtjb25zdCBWPUlbVV07Zm9yKGNvbnN0IFIgaW4gVilPLnB1c2goVltSXSl9fTtjb25zdCBUPUModyxNKXx8W3ddLFk9dGhpcy5pZHg7VC5mb3JFYWNoKEk9Pntjb25zdCBVPVlbSV07VSYmTChVKX0pLGsobnVsbCxPKX1wdXRDb29raWUodyxQ''@;'; put 'put ''KXt0aGlzLmlkeFt3LmRvbWFpbl18fCh0aGlzLmlkeFt3LmRvbWFpbl09e30pLHRoaXMuaWR4W3cuZG9tYWluXVt3LnBhdGhdfHwodGhpcy5pZHhbdy5kb21haW5dW3cucGF0aF09e30pLHRoaXMuaWR4W3cuZG9tYWluXVt3LnBhdGhdW3cua2V5XT13LFAobnVsbCl9dXBkYXRlQ29va2llKHcs''@;'; put 'put ''UCxNKXt0aGlzLnB1dENvb2tpZShQLE0pfXJlbW92ZUNvb2tpZSh3LFAsTSxrKXt0aGlzLmlkeFt3XSYmdGhpcy5pZHhbd11bUF0mJnRoaXMuaWR4W3ddW1BdW01dJiZkZWxldGUgdGhpcy5pZHhbd11bUF1bTV0sayhudWxsKX1yZW1vdmVDb29raWVzKHcsUCxNKXtyZXR1cm4gdGhpcy5pZHhb''@;'; put 'put ''d10mJihQP2RlbGV0ZSB0aGlzLmlkeFt3XVtQXTpkZWxldGUgdGhpcy5pZHhbd10pLE0obnVsbCl9cmVtb3ZlQWxsQ29va2llcyh3KXtyZXR1cm4gdGhpcy5pZHg9e30sdyhudWxsKX1nZXRBbGxDb29raWVzKHcpe2NvbnN0IFA9W10sTT10aGlzLmlkeDtPYmplY3Qua2V5cyhNKS5mb3JFYWNo''@;'; put 'put ''KGs9PntPYmplY3Qua2V5cyhNW2tdKS5mb3JFYWNoKE89PntPYmplY3Qua2V5cyhNW2tdW09dKS5mb3JFYWNoKEw9PntudWxsIT09TCYmUC5wdXNoKE1ba11bT11bTF0pfSl9KX0pLFAuc29ydCgoayxPKT0+KGsuY3JlYXRpb25JbmRleHx8MCktKE8uY3JlYXRpb25JbmRleHx8MCkpLHcobnVs''@;'; put 'put ''bCxQKX19WyJmaW5kQ29va2llIiwiZmluZENvb2tpZXMiLCJwdXRDb29raWUiLCJ1cGRhdGVDb29raWUiLCJyZW1vdmVDb29raWUiLCJyZW1vdmVDb29raWVzIiwicmVtb3ZlQWxsQ29va2llcyIsImdldEFsbENvb2tpZXMiXS5mb3JFYWNoKEQ9PntGW0RdPU4oRi5wcm90b3R5cGVbRF0pfSks''@;'; put 'put ''QS5tPUZ9LDg5NzE6KFosQSk9PnsidXNlIHN0cmljdCI7QS5VPWZ1bmN0aW9uKGosTil7cmV0dXJuIE49PT1qfHwwPT09ai5pbmRleE9mKE4pJiYoIi8iPT09Ti5zdWJzdHIoLTEpfHwiLyI9PT1qLnN1YnN0cihOLmxlbmd0aCwxKSl9fSw3MzI0OihaLEEsaik9PnsidXNlIHN0cmljdCI7Y29u''@;'; put 'put ''c3QgTj1qKDc1Miksej1bImxvY2FsIl07QS5wZXJtdXRlRG9tYWluPWZ1bmN0aW9uKEMsUyl7bGV0IG09bnVsbDtpZihTKXtjb25zdCBQPUMuc3BsaXQoIi4iKTttPXouaW5jbHVkZXMoUFtQLmxlbmd0aC0xXSk/YCR7UFtQLmxlbmd0aC0yXX0uJHtQW1AubGVuZ3RoLTFdfWA6Ti5nZXRQdWJs''@;'; put 'put ''aWNTdWZmaXgoQyl9ZWxzZSBtPU4uZ2V0UHVibGljU3VmZml4KEMpO2lmKCFtKXJldHVybiBudWxsO2lmKG09PUMpcmV0dXJuW0NdO2NvbnN0IEY9Qy5zbGljZSgwLC0obS5sZW5ndGgrMSkpLnNwbGl0KCIuIikucmV2ZXJzZSgpO2xldCBEPW07Y29uc3Qgdz1bRF07Zm9yKDtGLmxlbmd0aDsp''@;'; put 'put ''RD1gJHtGLnNoaWZ0KCl9LiR7RH1gLHcucHVzaChEKTtyZXR1cm4gd319LDc1MjooWixBLGopPT57InVzZSBzdHJpY3QiO2NvbnN0IE49aig2MjQ0KTtBLmdldFB1YmxpY1N1ZmZpeD1mdW5jdGlvbih6KXtyZXR1cm4gTi5nZXQoeil9fSwyMjI0OihaLEEpPT57InVzZSBzdHJpY3QiO0EueT1j''@;'; put 'put ''bGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3luY2hyb25vdXM9ITF9ZmluZENvb2tpZShqLE4seixDKXt0aHJvdyBuZXcgRXJyb3IoImZpbmRDb29raWUgaXMgbm90IGltcGxlbWVudGVkIil9ZmluZENvb2tpZXMoaixOLHosQyl7dGhyb3cgbmV3IEVycm9yKCJmaW5kQ29va2llcyBpcyBub3Qg''@;'; put 'put ''aW1wbGVtZW50ZWQiKX1wdXRDb29raWUoaixOKXt0aHJvdyBuZXcgRXJyb3IoInB1dENvb2tpZSBpcyBub3QgaW1wbGVtZW50ZWQiKX11cGRhdGVDb29raWUoaixOLHope3Rocm93IG5ldyBFcnJvcigidXBkYXRlQ29va2llIGlzIG5vdCBpbXBsZW1lbnRlZCIpfXJlbW92ZUNvb2tpZShqLE4s''@;'; put 'put ''eixDKXt0aHJvdyBuZXcgRXJyb3IoInJlbW92ZUNvb2tpZSBpcyBub3QgaW1wbGVtZW50ZWQiKX1yZW1vdmVDb29raWVzKGosTix6KXt0aHJvdyBuZXcgRXJyb3IoInJlbW92ZUNvb2tpZXMgaXMgbm90IGltcGxlbWVudGVkIil9cmVtb3ZlQWxsQ29va2llcyhqKXt0aHJvdyBuZXcgRXJyb3Io''@;'; put 'put ''InJlbW92ZUFsbENvb2tpZXMgaXMgbm90IGltcGxlbWVudGVkIil9Z2V0QWxsQ29va2llcyhqKXt0aHJvdyBuZXcgRXJyb3IoImdldEFsbENvb2tpZXMgaXMgbm90IGltcGxlbWVudGVkICh0aGVyZWZvcmUgamFyIGNhbm5vdCBiZSBzZXJpYWxpemVkKSIpfX19LDQ1NjpaPT57Wi5leHBvcnRz''@;'; put 'put ''PSI0LjAuMCJ9LDcwNDE6KFosQSk9PnsidXNlIHN0cmljdCI7QS5mcm9tQ2FsbGJhY2s9ZnVuY3Rpb24oail7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW5jdGlvbigpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aC0xXSlyZXR1cm4gbmV3''@;'; put 'put ''IFByb21pc2UoKE4seik9Pnthcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aF09KEMsUyk9PntpZihDKXJldHVybiB6KEMpO04oUyl9LGFyZ3VtZW50cy5sZW5ndGgrKyxqLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pO2ouYXBwbHkodGhpcyxhcmd1bWVudHMpfSwibmFtZSIse3ZhbHVlOmoubmFt''@;'; put 'put ''ZX0pfSxBLmZyb21Qcm9taXNlPWZ1bmN0aW9uKGope3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZnVuY3Rpb24oKXtjb25zdCBOPWFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoLTFdO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBOKXJldHVybiBqLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtq''@;'; put 'put ''LmFwcGx5KHRoaXMsYXJndW1lbnRzKS50aGVuKHo9Pk4obnVsbCx6KSxOKX0sIm5hbWUiLHt2YWx1ZTpqLm5hbWV9KX19LDY3MjpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19hc3NpZ258fGZ1bmN0aW9uKCl7cmV0dXJuIE49T2JqZWN0LmFzc2lnbnx8''@;'; put 'put ''ZnVuY3Rpb24oRCl7Zm9yKHZhciB3LFA9MSxNPWFyZ3VtZW50cy5sZW5ndGg7UDxNO1ArKylmb3IodmFyIGsgaW4gdz1hcmd1bWVudHNbUF0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHcsaykmJihEW2tdPXdba10pO3JldHVybiBEfSxOLmFwcGx5KHRoaXMsYXJndW1l''@;'; put 'put ''bnRzKX0sej10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oRCx3LFAsTSl7cmV0dXJuIG5ldyhQfHwoUD1Qcm9taXNlKSkoZnVuY3Rpb24oayxPKXtmdW5jdGlvbiBMKEkpe3RyeXtZKE0ubmV4dChJKSl9Y2F0Y2goVSl7TyhVKX19ZnVuY3Rpb24gVChJKXt0cnl7WShNLnRocm93KEkp''@;'; put 'put ''KX1jYXRjaChVKXtPKFUpfX1mdW5jdGlvbiBZKEkpe3ZhciBVO0kuZG9uZT9rKEkudmFsdWUpOihVPUkudmFsdWUsVSBpbnN0YW5jZW9mIFA/VTpuZXcgUChmdW5jdGlvbihWKXtWKFUpfSkpLnRoZW4oTCxUKX1ZKChNPU0uYXBwbHkoRCx3fHxbXSkpLm5leHQoKSl9KX0sQz10aGlzJiZ0aGlz''@;'; put 'put ''Ll9fZ2VuZXJhdG9yfHxmdW5jdGlvbihELHcpe3ZhciBQLE0sayxPLEw9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEma1swXSl0aHJvdyBrWzFdO3JldHVybiBrWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIE89e25leHQ6VCgwKSx0aHJvdzpUKDEpLHJldHVybjpUKDIpfSwiZnVu''@;'; put 'put ''Y3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoT1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxPO2Z1bmN0aW9uIFQoWSl7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBmdW5jdGlvbihVKXtpZihQKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJl''@;'; put 'put ''YWR5IGV4ZWN1dGluZy4iKTtmb3IoO0w7KXRyeXtpZihQPTEsTSYmKGs9MiZVWzBdP00ucmV0dXJuOlVbMF0/TS50aHJvd3x8KChrPU0ucmV0dXJuKSYmay5jYWxsKE0pLDApOk0ubmV4dCkmJiEoaz1rLmNhbGwoTSxVWzFdKSkuZG9uZSlyZXR1cm4gaztzd2l0Y2goTT0wLGsmJihVPVsyJlVb''@;'; put 'put ''MF0say52YWx1ZV0pLFVbMF0pe2Nhc2UgMDpjYXNlIDE6az1VO2JyZWFrO2Nhc2UgNDpyZXR1cm4gTC5sYWJlbCsrLHt2YWx1ZTpVWzFdLGRvbmU6ITF9O2Nhc2UgNTpMLmxhYmVsKyssTT1VWzFdLFU9WzBdO2NvbnRpbnVlO2Nhc2UgNzpVPUwub3BzLnBvcCgpLEwudHJ5cy5wb3AoKTtjb250''@;'; put 'put ''aW51ZTtkZWZhdWx0OmlmKCEoKGs9KGs9TC50cnlzKS5sZW5ndGg+MCYma1trLmxlbmd0aC0xXSl8fDYhPT1VWzBdJiYyIT09VVswXSkpe0w9MDtjb250aW51ZX1pZigzPT09VVswXSYmKCFrfHxVWzFdPmtbMF0mJlVbMV08a1szXSkpe0wubGFiZWw9VVsxXTticmVha31pZig2PT09VVswXSYm''@;'; put 'put ''TC5sYWJlbDxrWzFdKXtMLmxhYmVsPWtbMV0saz1VO2JyZWFrfWlmKGsmJkwubGFiZWw8a1syXSl7TC5sYWJlbD1rWzJdLEwub3BzLnB1c2goVSk7YnJlYWt9a1syXSYmTC5vcHMucG9wKCksTC50cnlzLnBvcCgpO2NvbnRpbnVlfVU9dy5jYWxsKEQsTCl9Y2F0Y2goVil7VT1bNixWXSxNPTB9''@;'; put 'put ''ZmluYWxseXtQPWs9MH1pZig1JlVbMF0pdGhyb3cgVVsxXTtyZXR1cm57dmFsdWU6VVswXT9VWzFdOnZvaWQgMCxkb25lOiEwfX0oW1ksSV0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLkNvbnRleHRNYW5hZ2VyPXZvaWQgMDt2YXIgUz1q''@;'; put 'put ''KDU5MjgpLG09aig5Nzc4KSxGPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gRCh3LFApe3RoaXMuc2VydmVyVXJsPXcsdGhpcy5yZXF1ZXN0Q2xpZW50PVAsdGhpcy5kZWZhdWx0Q29tcHV0ZUNvbnRleHRzPVsiQ0FTIEZvcm1hdHMgc2VydmljZSBjb21wdXRlIGNvbnRleHQiLCJEYXRhIE1pbmluZyBj''@;'; put 'put ''b21wdXRlIGNvbnRleHQiLCJJbXBvcnQgOSBzZXJ2aWNlIGNvbXB1dGUgY29udGV4dCIsIlNBUyBKb2IgRXhlY3V0aW9uIGNvbXB1dGUgY29udGV4dCIsIlNBUyBNb2RlbCBNYW5hZ2VyIGNvbXB1dGUgY29udGV4dCIsIlNBUyBTdHVkaW8gY29tcHV0ZSBjb250ZXh0IiwiU0FTIFZpc3VhbCBG''@;'; put 'put ''b3JlY2FzdGluZyBjb21wdXRlIGNvbnRleHQiXSx0aGlzLmRlZmF1bHRMYXVuY2hlckNvbnRleHRzPVsiQ0FTIEZvcm1hdHMgc2VydmljZSBsYXVuY2hlciBjb250ZXh0IiwiRGF0YSBNaW5pbmcgbGF1bmNoZXIgY29udGV4dCIsIkltcG9ydCA5IHNlcnZpY2UgbGF1bmNoZXIgY29udGV4dCIs''@;'; put 'put ''IkpvYiBGbG93IEV4ZWN1dGlvbiBsYXVuY2hlciBjb250ZXh0IiwiU0FTIEpvYiBFeGVjdXRpb24gbGF1bmNoZXIgY29udGV4dCIsIlNBUyBNb2RlbCBNYW5hZ2VyIGxhdW5jaGVyIGNvbnRleHQiLCJTQVMgU3R1ZGlvIGxhdW5jaGVyIGNvbnRleHQiLCJTQVMgVmlzdWFsIEZvcmVjYXN0aW5n''@;'; put 'put ''IGxhdW5jaGVyIGNvbnRleHQiXSx3JiYoMCxTLmlzVXJsKSh3KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEQucHJvdG90eXBlLCJnZXREZWZhdWx0Q29tcHV0ZUNvbnRleHRzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdENvbXB1dGVDb250ZXh0c30sZW51bWVy''@;'; put 'put ''YWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRC5wcm90b3R5cGUsImdldERlZmF1bHRMYXVuY2hlckNvbnRleHRzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdExhdW5jaGVyQ29udGV4dHN9LGVudW1lcmFibGU6ITEsY29uZmlndXJh''@;'; put 'put ''YmxlOiEwfSksRC5wcm90b3R5cGUuZ2V0Q29tcHV0ZUNvbnRleHRzPWZ1bmN0aW9uKHcpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBQO3JldHVybiBDKHRoaXMsZnVuY3Rpb24oTSl7c3dpdGNoKE0ubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLnJlcXVl''@;'; put 'put ''c3RDbGllbnQuZ2V0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2NvbXB1dGUvY29udGV4dHM/bGltaXQ9MTAwMDAiKSx3KS5jYXRjaChmdW5jdGlvbihrKXt0aHJvdygwLG0ucHJlZml4TWVzc2FnZSkoaywiRXJyb3Igd2hpbGUgZ2V0dGluZyBjb21wdXRlIGNvbnRleHRzLiAiKX0pXTtj''@;'; put 'put ''YXNlIDE6cmV0dXJuWzIsKChQPU0uc2VudCgpLnJlc3VsdCkmJlAuaXRlbXM/UC5pdGVtczpbXSkubWFwKGZ1bmN0aW9uKGspe3JldHVybntjcmVhdGVkQnk6ay5jcmVhdGVkQnksaWQ6ay5pZCxuYW1lOmsubmFtZSx2ZXJzaW9uOmsudmVyc2lvbixhdHRyaWJ1dGVzOnt9fX0pXX19KX0pfSxE''@;'; put 'put ''LnByb3RvdHlwZS5nZXRMYXVuY2hlckNvbnRleHRzPWZ1bmN0aW9uKHcpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBQO3JldHVybiBDKHRoaXMsZnVuY3Rpb24oTSl7c3dpdGNoKE0ubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLnJlcXVlc3RDbGllbnQu''@;'; put 'put ''Z2V0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2xhdW5jaGVyL2NvbnRleHRzP2xpbWl0PTEwMDAwIiksdykuY2F0Y2goZnVuY3Rpb24oayl7dGhyb3coMCxtLnByZWZpeE1lc3NhZ2UpKGssIkVycm9yIHdoaWxlIGdldHRpbmcgbGF1bmNoZXIgY29udGV4dHMuICIpfSldO2Nhc2UgMTpy''@;'; put 'put ''ZXR1cm5bMiwoKFA9TS5zZW50KCkucmVzdWx0KSYmUC5pdGVtcz9QLml0ZW1zOltdKS5tYXAoZnVuY3Rpb24oayl7cmV0dXJue2NyZWF0ZWRCeTprLmNyZWF0ZWRCeSxpZDprLmlkLG5hbWU6ay5uYW1lLHZlcnNpb246ay52ZXJzaW9uLGF0dHJpYnV0ZXM6e319fSldfX0pfSl9LEQucHJvdG90''@;'; put 'put ''eXBlLmNyZWF0ZUNvbXB1dGVDb250ZXh0PWZ1bmN0aW9uKHcsUCxNLGssTyxMKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgVCxZLEksVSxWO3JldHVybiBDKHRoaXMsZnVuY3Rpb24oUil7c3dpdGNoKFIubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy52YWxp''@;'; put 'put ''ZGF0ZUNvbnRleHROYW1lKHcpLHRoaXMuaXNEZWZhdWx0Q29udGV4dCh3LHRoaXMuZGVmYXVsdENvbXB1dGVDb250ZXh0cywiQ29tcHV0ZSBjb250ZXh0ICciLmNvbmNhdCh3LCInIGFscmVhZHkgZXhpc3RzLiIpKSxbNCx0aGlzLmdldENvbXB1dGVDb250ZXh0cyhPKV07Y2FzZSAxOmlmKFIu''@;'; put 'put ''c2VudCgpLmZpbmQoZnVuY3Rpb24oQil7cmV0dXJuIEIubmFtZT09PXd9KSl0aHJvdyBuZXcgRXJyb3IoIkNvbXB1dGUgY29udGV4dCAnIi5jb25jYXQodywiJyBhbHJlYWR5IGV4aXN0cy4iKSk7cmV0dXJuIFA/dGhpcy5kZWZhdWx0TGF1bmNoZXJDb250ZXh0cy5pbmNsdWRlcyhQKT9bMyw0''@;'; put 'put ''XTpbNCx0aGlzLmdldExhdW5jaGVyQ29udGV4dHMoTyldOlszLDRdO2Nhc2UgMjpyZXR1cm4gUi5zZW50KCkuZmluZChmdW5jdGlvbihCKXtyZXR1cm4gQi5uYW1lPT09UH0pP1szLDRdOihUPSJUaGUgbGF1bmNoZXIgY29udGV4dCBmb3IgIi5jb25jYXQoUCksWzQsdGhpcy5jcmVhdGVMYXVu''@;'; put 'put ''Y2hlckNvbnRleHQoUCxULCJkaXJlY3QiLE8pLmNhdGNoKGZ1bmN0aW9uKEIpe3Rocm93IG5ldyBFcnJvcigiRXJyb3Igd2hpbGUgY3JlYXRpbmcgbGF1bmNoZXIgY29udGV4dC4gIi5jb25jYXQoQikpfSldKTtjYXNlIDM6aWYoIShZPVIuc2VudCgpKXx8IVkubmFtZSl0aHJvdyBuZXcgRXJy''@;'; put 'put ''b3IoIkVycm9yIHdoaWxlIGNyZWF0aW5nIGxhdW5jaGVyIGNvbnRleHQuIik7UD1ZLm5hbWUsUi5sYWJlbD00O2Nhc2UgNDpyZXR1cm4gST17IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxPJiYoSS5BdXRob3JpemF0aW9uPSJCZWFyZXIgIi5jb25jYXQoTykpLFU9e3JldXNl''@;'; put 'put ''U2VydmVyUHJvY2Vzc2VzOiEwfSxNJiYoVT1OKE4oe30sVSkse3J1blNlcnZlckFzOk19KSksVj17bmFtZTp3LGxhdW5jaENvbnRleHQ6e2NvbnRleHROYW1lOlB8fCIifSxhdHRyaWJ1dGVzOlV9LEwmJkwubGVuZ3RoP1YuYXV0aG9yaXplZFVzZXJzPUw6Vi5hdXRob3JpemVBbGxBdXRoZW50''@;'; put 'put ''aWNhdGVkVXNlcnM9ITAsayYmKFYuZW52aXJvbm1lbnQ9e2F1dG9FeGVjTGluZXM6a30pLFs0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2NvbXB1dGUvY29udGV4dHMiKSxWLE8pLmNhdGNoKGZ1bmN0aW9uKEIpe3Rocm93KDAsbS5wcmVmaXhN''@;'; put 'put ''ZXNzYWdlKShCLCJFcnJvciB3aGlsZSBjcmVhdGluZyBjb21wdXRlIGNvbnRleHQuICIpfSldO2Nhc2UgNTpyZXR1cm5bMixSLnNlbnQoKS5yZXN1bHRdfX0pfSl9LEQucHJvdG90eXBlLmNyZWF0ZUxhdW5jaGVyQ29udGV4dD1mdW5jdGlvbih3LFAsTSxrKXtyZXR1cm4gdm9pZCAwPT09TSYm''@;'; put 'put ''KE09ImRpcmVjdCIpLHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIE8sTDtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKFQpe3N3aXRjaChULmxhYmVsKXtjYXNlIDA6aWYoIXcpdGhyb3cgbmV3IEVycm9yKCJDb250ZXh0IG5hbWUgaXMgcmVxdWlyZWQuIik7cmV0dXJuIHRoaXMu''@;'; put 'put ''aXNEZWZhdWx0Q29udGV4dCh3LHRoaXMuZGVmYXVsdExhdW5jaGVyQ29udGV4dHMsIkxhdW5jaGVyIGNvbnRleHQgJyIuY29uY2F0KHcsIicgYWxyZWFkeSBleGlzdHMuIikpLFs0LHRoaXMuZ2V0TGF1bmNoZXJDb250ZXh0cyhrKV07Y2FzZSAxOmlmKFQuc2VudCgpLmZpbmQoZnVuY3Rpb24o''@;'; put 'put ''WSl7cmV0dXJuIFkubmFtZT09PXd9KSl0aHJvdyBuZXcgRXJyb3IoIkxhdW5jaGVyIGNvbnRleHQgJyIuY29uY2F0KHcsIicgYWxyZWFkeSBleGlzdHMuIikpO3JldHVybiBPPXsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGsmJihPLkF1dGhvcml6YXRpb249IkJlYXJlciAi''@;'; put 'put ''LmNvbmNhdChrKSksTD17bmFtZTp3LGRlc2NyaXB0aW9uOlAsbGF1bmNoVHlwZTpNfSxbNCx0aGlzLnJlcXVlc3RDbGllbnQucG9zdCgiIi5jb25jYXQodGhpcy5zZXJ2ZXJVcmwsIi9sYXVuY2hlci9jb250ZXh0cyIpLEwsaykuY2F0Y2goZnVuY3Rpb24oWSl7dGhyb3coMCxtLnByZWZpeE1l''@;'; put 'put ''c3NhZ2UpKFksIkVycm9yIHdoaWxlIGNyZWF0aW5nIGxhdW5jaGVyIGNvbnRleHQuICIpfSldO2Nhc2UgMjpyZXR1cm5bMixULnNlbnQoKS5yZXN1bHRdfX0pfSl9LEQucHJvdG90eXBlLmVkaXRDb21wdXRlQ29udGV4dD1mdW5jdGlvbih3LFAsTSl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9p''@;'; put 'put ''ZCAwLGZ1bmN0aW9uKCl7dmFyIGssTyxMLFQ7cmV0dXJuIEModGhpcyxmdW5jdGlvbihZKXtzd2l0Y2goWS5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLnZhbGlkYXRlQ29udGV4dE5hbWUodyksdGhpcy5pc0RlZmF1bHRDb250ZXh0KHcsdGhpcy5kZWZhdWx0Q29tcHV0ZUNvbnRleHRzLCJF''@;'; put 'put ''ZGl0aW5nIGRlZmF1bHQgU0FTIGNvbXB1dGUgY29udGV4dHMgaXMgbm90IGFsbG93ZWQuIiwhMCksWzQsdGhpcy5nZXRDb21wdXRlQ29udGV4dEJ5TmFtZSh3LE0pXTtjYXNlIDE6cmV0dXJuKGs9WS5zZW50KCkpP1szLDNdOls0LHRoaXMuZ2V0Q29tcHV0ZUNvbnRleHRCeUlkKFAuaWQsTSld''@;'; put 'put ''O2Nhc2UgMjprPVkuc2VudCgpLFkubGFiZWw9MztjYXNlIDM6cmV0dXJuWzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldCgiIi5jb25jYXQodGhpcy5zZXJ2ZXJVcmwsIi9jb21wdXRlL2NvbnRleHRzLyIpLmNvbmNhdChrLmlkKSxNKS5jYXRjaChmdW5jdGlvbihJKXt0aHJvdyBJJiY0MDQ9PT1J''@;'; put 'put ''LnN0YXR1cz9uZXcgRXJyb3IoIlRoZSBjb250ZXh0ICciLmNvbmNhdCh3LCInIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuIikpOkl9KV07Y2FzZSA0OnJldHVybiBPPVkuc2VudCgpLFQ9Ty5ldGFnLFs0LHRoaXMucmVxdWVzdENsaWVudC5wdXQoIi9jb21wdXRlL2NvbnRleHRzLyIu''@;'; put 'put ''Y29uY2F0KChMPU8ucmVzdWx0KS5pZCksTihOKE4oe30sTCksUCkse2F0dHJpYnV0ZXM6TihOKHt9LEwuYXR0cmlidXRlcyksUC5hdHRyaWJ1dGVzKX0pLE0seyJJZi1NYXRjaCI6VH0pXTtjYXNlIDU6cmV0dXJuWzIsWS5zZW50KCldfX0pfSl9LEQucHJvdG90eXBlLmdldENvbXB1dGVDb250''@;'; put 'put ''ZXh0QnlOYW1lPWZ1bmN0aW9uKHcsUCl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIE07cmV0dXJuIEModGhpcyxmdW5jdGlvbihrKXtzd2l0Y2goay5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5nZXQoIiIuY29uY2F0KHRoaXMu''@;'; put 'put ''c2VydmVyVXJsLCcvY29tcHV0ZS9jb250ZXh0cz9maWx0ZXI9ZXEobmFtZSwgIicpLmNvbmNhdCh3LCciKScpLFApLmNhdGNoKGZ1bmN0aW9uKE8pe3Rocm93KDAsbS5wcmVmaXhNZXNzYWdlKShPLCJFcnJvciB3aGlsZSBnZXR0aW5nIGNvbXB1dGUgY29udGV4dCBieSBuYW1lLiAiKX0pXTtj''@;'; put 'put ''YXNlIDE6aWYoIShNPWsuc2VudCgpLnJlc3VsdCl8fCFNLml0ZW1zfHwhTS5pdGVtcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJUaGUgY29udGV4dCAnIi5jb25jYXQodywiJyB3YXMgbm90IGZvdW5kIGF0ICciKS5jb25jYXQodGhpcy5zZXJ2ZXJVcmwsIicuIikpO3JldHVyblsyLE0uaXRl''@;'; put 'put ''bXNbMF1dfX0pfSl9LEQucHJvdG90eXBlLmdldENvbXB1dGVDb250ZXh0QnlJZD1mdW5jdGlvbih3LFApe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24oTSl7c3dpdGNoKE0ubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLnJl''@;'; put 'put ''cXVlc3RDbGllbnQuZ2V0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2NvbXB1dGUvY29udGV4dHMvIikuY29uY2F0KHcpLFApLmNhdGNoKGZ1bmN0aW9uKGspe3Rocm93KDAsbS5wcmVmaXhNZXNzYWdlKShrLCJFcnJvciB3aGlsZSBnZXR0aW5nIGNvbXB1dGUgY29udGV4dCBieSBpZC4g''@;'; put 'put ''Iil9KV07Y2FzZSAxOnJldHVyblsyLE0uc2VudCgpLnJlc3VsdF19fSl9KX0sRC5wcm90b3R5cGUuZ2V0RXhlY3V0YWJsZUNvbnRleHRzPWZ1bmN0aW9uKHcsUCl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIE0sayxPLEwsVCxZLEksVixSO3JldHVybiBDKHRo''@;'; put 'put ''aXMsZnVuY3Rpb24oQil7c3dpdGNoKEIubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2NvbXB1dGUvY29udGV4dHM/bGltaXQ9MTAwMDAiKSxudWxsPT1QP3ZvaWQgMDpQLmFjY2Vzc190b2tlbikuY2F0Y2go''@;'; put 'put ''ZnVuY3Rpb24ocSl7dGhyb3coMCxtLnByZWZpeE1lc3NhZ2UpKHEsIkVycm9yIHdoaWxlIGZldGNoaW5nIGNvbXB1dGUgY29udGV4dHMuIil9KV07Y2FzZSAxOk09Qi5zZW50KCkucmVzdWx0LE89W10sTD0oaz1NLml0ZW1zfHxbXSkubWFwKGZ1bmN0aW9uKHEpe3ZhciBKPVsiJXB1dCAmPXN5''@;'; put 'put ''c3VzZXJpZDsiXTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdygidGVzdC0iLmNvbmNhdChxLm5hbWUpLEoscS5uYW1lLFAsbnVsbCwhMSwhMCwhMCkuY2F0Y2goZnVuY3Rpb24oJCl7cmV0dXJuICR9KX19KSxUPVtdLFk9MCxJPUwsQi5sYWJlbD0yO2Nhc2UgMjpyZXR1cm4gWTxJLmxlbmd0''@;'; put 'put ''aD8oUj0oVj1UKS5wdXNoLFs0LCgwLElbWV0pKCldKTpbMyw1XTtjYXNlIDM6Ui5hcHBseShWLFtCLnNlbnQoKV0pLEIubGFiZWw9NDtjYXNlIDQ6cmV0dXJuIFkrKyxbMywyXTtjYXNlIDU6cmV0dXJuIFQuZm9yRWFjaChmdW5jdGlvbihxLEope2lmKHEmJnEubG9nKXRyeXt2YXIgdGU9IiIs''@;'; put 'put ''aD1xLmxvZy5zcGxpdCgiXG4iKS5maW5kKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN0YXJ0c1dpdGgoIlNZU1VTRVJJRD0iKX0pO2gmJih0ZT1oLnJlcGxhY2UoIlNZU1VTRVJJRD0iLCIiKSxPLnB1c2goe2NyZWF0ZWRCeTprW0pdLmNyZWF0ZWRCeSxpZDprW0pdLmlkLG5hbWU6a1tKXS5uYW1l''@;'; put 'put ''LHZlcnNpb246a1tKXS52ZXJzaW9uLGF0dHJpYnV0ZXM6e3N5c1VzZXJJZDp0ZX19KSl9Y2F0Y2goYil7dGhyb3cgYn19KSxbMixPXX19KX0pfSxELnByb3RvdHlwZS5kZWxldGVDb21wdXRlQ29udGV4dD1mdW5jdGlvbih3LFApe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlv''@;'; put 'put ''bigpe3ZhciBNLGs7cmV0dXJuIEModGhpcyxmdW5jdGlvbihPKXtzd2l0Y2goTy5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLnZhbGlkYXRlQ29udGV4dE5hbWUodyksdGhpcy5pc0RlZmF1bHRDb250ZXh0KHcsdGhpcy5kZWZhdWx0Q29tcHV0ZUNvbnRleHRzLCJEZWxldGluZyBkZWZhdWx0''@;'; put 'put ''IFNBUyBjb21wdXRlIGNvbnRleHRzIGlzIG5vdCBhbGxvd2VkLiIsITApLE09eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sUCYmKE0uQXV0aG9yaXphdGlvbj0iQmVhcmVyICIuY29uY2F0KFApKSxbNCx0aGlzLmdldENvbXB1dGVDb250ZXh0QnlOYW1lKHcsUCldO2Nhc2Ug''@;'; put 'put ''MTpyZXR1cm4gaz1PLnNlbnQoKSxbNCx0aGlzLnJlcXVlc3RDbGllbnQuZGVsZXRlKCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2NvbXB1dGUvY29udGV4dHMvIikuY29uY2F0KGsuaWQpLFApXTtjYXNlIDI6cmV0dXJuWzIsTy5zZW50KCldfX0pfSl9LEQucHJvdG90eXBlLnZhbGlkYXRl''@;'; put 'put ''Q29udGV4dE5hbWU9ZnVuY3Rpb24odyl7aWYoIXcpdGhyb3cgbmV3IEVycm9yKCJDb250ZXh0IG5hbWUgaXMgcmVxdWlyZWQuIil9LEQucHJvdG90eXBlLmlzRGVmYXVsdENvbnRleHQ9ZnVuY3Rpb24odyxQLE0sayl7aWYodm9pZCAwPT09UCYmKFA9dGhpcy5kZWZhdWx0Q29tcHV0ZUNvbnRl''@;'; put 'put ''eHRzKSx2b2lkIDA9PT1NJiYoTT0iIiksdm9pZCAwPT09ayYmKGs9ITEpLFAuaW5jbHVkZXModykpdGhyb3cgbmV3IEVycm9yKCIiLmNvbmNhdChNKS5jb25jYXQoaz8iXG5EZWZhdWx0IGNvbnRleHRzOiIrUC5tYXAoZnVuY3Rpb24oTyxMKXtyZXR1cm4iXG4iLmNvbmNhdChMKzEsIi4gIiku''@;'; put 'put ''Y29uY2F0KE8pfSk6IiIpKX0sRH0oKTtBLkNvbnRleHRNYW5hZ2VyPUZ9LDgzMDY6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oTSxrLE8sTCl7cmV0dXJuIG5ldyhPfHwoTz1Qcm9taXNlKSkoZnVuY3Rpb24oVCxZKXtm''@;'; put 'put ''dW5jdGlvbiBJKFIpe3RyeXtWKEwubmV4dChSKSl9Y2F0Y2goQil7WShCKX19ZnVuY3Rpb24gVShSKXt0cnl7VihMLnRocm93KFIpKX1jYXRjaChCKXtZKEIpfX1mdW5jdGlvbiBWKFIpe3ZhciBCO1IuZG9uZT9UKFIudmFsdWUpOihCPVIudmFsdWUsQiBpbnN0YW5jZW9mIE8/QjpuZXcgTyhm''@;'; put 'put ''dW5jdGlvbihxKXtxKEIpfSkpLnRoZW4oSSxVKX1WKChMPUwuYXBwbHkoTSxrfHxbXSkpLm5leHQoKSl9KX0sej10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihNLGspe3ZhciBPLEwsVCxZLEk9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmVFswXSl0aHJvdyBUWzFdO3Jl''@;'; put 'put ''dHVybiBUWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFk9e25leHQ6VSgwKSx0aHJvdzpVKDEpLHJldHVybjpVKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoWVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxZO2Z1bmN0aW9uIFUoVil7cmV0dXJu''@;'; put 'put ''IGZ1bmN0aW9uKFIpe3JldHVybiBmdW5jdGlvbihCKXtpZihPKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO0k7KXRyeXtpZihPPTEsTCYmKFQ9MiZCWzBdP0wucmV0dXJuOkJbMF0/TC50aHJvd3x8KChUPUwucmV0dXJuKSYmVC5j''@;'; put 'put ''YWxsKEwpLDApOkwubmV4dCkmJiEoVD1ULmNhbGwoTCxCWzFdKSkuZG9uZSlyZXR1cm4gVDtzd2l0Y2goTD0wLFQmJihCPVsyJkJbMF0sVC52YWx1ZV0pLEJbMF0pe2Nhc2UgMDpjYXNlIDE6VD1CO2JyZWFrO2Nhc2UgNDpyZXR1cm4gSS5sYWJlbCsrLHt2YWx1ZTpCWzFdLGRvbmU6ITF9O2Nh''@;'; put 'put ''c2UgNTpJLmxhYmVsKyssTD1CWzFdLEI9WzBdO2NvbnRpbnVlO2Nhc2UgNzpCPUkub3BzLnBvcCgpLEkudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKFQ9KFQ9SS50cnlzKS5sZW5ndGg+MCYmVFtULmxlbmd0aC0xXSl8fDYhPT1CWzBdJiYyIT09QlswXSkpe0k9MDtjb250aW51''@;'; put 'put ''ZX1pZigzPT09QlswXSYmKCFUfHxCWzFdPlRbMF0mJkJbMV08VFszXSkpe0kubGFiZWw9QlsxXTticmVha31pZig2PT09QlswXSYmSS5sYWJlbDxUWzFdKXtJLmxhYmVsPVRbMV0sVD1CO2JyZWFrfWlmKFQmJkkubGFiZWw8VFsyXSl7SS5sYWJlbD1UWzJdLEkub3BzLnB1c2goQik7YnJlYWt9''@;'; put 'put ''VFsyXSYmSS5vcHMucG9wKCksSS50cnlzLnBvcCgpO2NvbnRpbnVlfUI9ay5jYWxsKE0sSSl9Y2F0Y2gocSl7Qj1bNixxXSxMPTB9ZmluYWxseXtPPVQ9MH1pZig1JkJbMF0pdGhyb3cgQlsxXTtyZXR1cm57dmFsdWU6QlswXT9CWzFdOnZvaWQgMCxkb25lOiEwfX0oW1YsUl0pfX19LEM9dGhp''@;'; put 'put ''cyYmdGhpcy5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihNLGssTyl7aWYoT3x8Mj09PWFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciBMLFQ9MCxZPWsubGVuZ3RoO1Q8WTtUKyspIUwmJlQgaW4ga3x8KEx8fChMPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGssMCxUKSksTFtUXT1rW1RdKTty''@;'; put 'put ''ZXR1cm4gTS5jb25jYXQoTHx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoaykpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5TQVM5QXBpQ2xpZW50PXZvaWQgMDt2YXIgUz1qKDc3NTcpLG09aig2MjMwKSxGPWooNzk1KSxEPWooNTkyOCks''@;'; put 'put ''dz1mdW5jdGlvbigpe2Z1bmN0aW9uIE0oayxPLEwpe3RoaXMuc2VydmVyVXJsPWssdGhpcy5qb2JzUGF0aD1PLGsmJigwLEQuaXNVcmwpKGspLHRoaXMucmVxdWVzdENsaWVudD1uZXcgRi5TYXM5UmVxdWVzdENsaWVudChrLEwpfXJldHVybiBNLnByb3RvdHlwZS5nZXRDb25maWc9ZnVuY3Rp''@;'; put 'put ''b24oKXtyZXR1cm57c2VydmVyVXJsOnRoaXMuc2VydmVyVXJsfX0sTS5wcm90b3R5cGUuc2V0Q29uZmlnPWZ1bmN0aW9uKGspe2smJih0aGlzLnNlcnZlclVybD1rKX0sTS5wcm90b3R5cGUuZXhlY3V0ZVNjcmlwdD1mdW5jdGlvbihrLE8sTCl7cmV0dXJuIE4odGhpcyx2b2lkIDAsdm9pZCAw''@;'; put 'put ''LGZ1bmN0aW9uKCl7dmFyIFQsWSxJLFUsVixSLEI7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihxKXtzd2l0Y2gocS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5sb2dpbihPLEwsdGhpcy5qb2JzUGF0aCldO2Nhc2UgMTpyZXR1cm4gcS5zZW50KCksVD1bImRhdGEg''@;'; put 'put ''X251bGxfOyIsImZpbGUgX3dlYm91dDsiLCJwdXQgJ0V4ZWN1dGVkIHNhc2pzIHJ1bic7IiwicnVuOyJdLFk9UChDKEMoW10saywhMCksVCwhMCkuam9pbigiXG4iKSksST0iL1VzZXIgRm9sZGVycy8iLmNvbmNhdChPLCIvTXkgRm9sZGVyL3Nhc2pzL3J1bm5lciIpLFU9Im11bHRpcGFydC9m''@;'; put 'put ''b3JtLWRhdGE7IGJvdW5kYXJ5PSIrWS5nZXRCb3VuZGFyeSgpLFY9WS5nZXRMZW5ndGhTeW5jKCksUj17ImNhY2hlLWNvbnRyb2wiOiJuby1jYWNoZSIsQWNjZXB0OiIqLyoiLCJDb250ZW50LVR5cGUiOlUsIkNvbnRlbnQtTGVuZ3RoIjpWLENvbm5lY3Rpb246ImtlZXAtYWxpdmUifSxCPSIi''@;'; put 'put ''LmNvbmNhdCh0aGlzLmpvYnNQYXRoLCIvPyIpLmNvbmNhdCgiX3Byb2dyYW09IitJKyImX2RlYnVnPWxvZyIpLFs0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KEIsWSx2b2lkIDAsVSxSKV07Y2FzZSAyOnJldHVyblsyLHEuc2VudCgpLnJlc3VsdF19fSl9KX0sTX0oKTtBLlNBUzlBcGlDbGll''@;'; put 'put ''bnQ9dzt2YXIgUD1mdW5jdGlvbihNKXt2YXIgaz1uZXcgbSxPPSJzYXNqcy1leGVjdXRlLXNhczktIi5jb25jYXQoKDAsUy5nZW5lcmF0ZVRpbWVzdGFtcCkoIiIpLCIuc2FzIik7cmV0dXJuIGsuYXBwZW5kKE8sTSx7ZmlsZW5hbWU6Tyxjb250ZW50VHlwZToidGV4dC9wbGFpbiJ9KSxrfX0s''@;'; put 'put ''OTgyMTpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSksej1qKDUxMDgpLEM9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKFIsQixxLEope3JldHVybiBuZXcocXx8KHE9UHJvbWlzZSkpKGZ1bmN0aW9uKCQsdGUpe2Z1bmN0aW9uIGgocCl7dHJ5e3koSi5u''@;'; put 'put ''ZXh0KHApKX1jYXRjaChnKXt0ZShnKX19ZnVuY3Rpb24gYihwKXt0cnl7eShKLnRocm93KHApKX1jYXRjaChnKXt0ZShnKX19ZnVuY3Rpb24geShwKXt2YXIgZztwLmRvbmU/JChwLnZhbHVlKTooZz1wLnZhbHVlLGcgaW5zdGFuY2VvZiBxP2c6bmV3IHEoZnVuY3Rpb24oXyl7XyhnKX0pKS50''@;'; put 'put ''aGVuKGgsYil9eSgoSj1KLmFwcGx5KFIsQnx8W10pKS5uZXh0KCkpfSl9LFM9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oUixCKXt2YXIgcSxKLCQsdGUsaD17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSYkWzBdKXRocm93ICRbMV07cmV0dXJuICRbMV19LHRyeXM6W10s''@;'; put 'put ''b3BzOltdfTtyZXR1cm4gdGU9e25leHQ6YigwKSx0aHJvdzpiKDEpLHJldHVybjpiKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYodGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksdGU7ZnVuY3Rpb24gYih5KXtyZXR1cm4gZnVuY3Rpb24ocCl7cmV0''@;'; put 'put ''dXJuIGZ1bmN0aW9uKGcpe2lmKHEpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7aDspdHJ5e2lmKHE9MSxKJiYoJD0yJmdbMF0/Si5yZXR1cm46Z1swXT9KLnRocm93fHwoKCQ9Si5yZXR1cm4pJiYkLmNhbGwoSiksMCk6Si5uZXh0''@;'; put 'put ''KSYmISgkPSQuY2FsbChKLGdbMV0pKS5kb25lKXJldHVybiAkO3N3aXRjaChKPTAsJCYmKGc9WzImZ1swXSwkLnZhbHVlXSksZ1swXSl7Y2FzZSAwOmNhc2UgMTokPWc7YnJlYWs7Y2FzZSA0OnJldHVybiBoLmxhYmVsKysse3ZhbHVlOmdbMV0sZG9uZTohMX07Y2FzZSA1OmgubGFiZWwrKyxK''@;'; put 'put ''PWdbMV0sZz1bMF07Y29udGludWU7Y2FzZSA3Omc9aC5vcHMucG9wKCksaC50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoJD0oJD1oLnRyeXMpLmxlbmd0aD4wJiYkWyQubGVuZ3RoLTFdKXx8NiE9PWdbMF0mJjIhPT1nWzBdKSl7aD0wO2NvbnRpbnVlfWlmKDM9PT1nWzBdJiYo''@;'; put 'put ''ISR8fGdbMV0+JFswXSYmZ1sxXTwkWzNdKSl7aC5sYWJlbD1nWzFdO2JyZWFrfWlmKDY9PT1nWzBdJiZoLmxhYmVsPCRbMV0pe2gubGFiZWw9JFsxXSwkPWc7YnJlYWt9aWYoJCYmaC5sYWJlbDwkWzJdKXtoLmxhYmVsPSRbMl0saC5vcHMucHVzaChnKTticmVha30kWzJdJiZoLm9wcy5wb3Ao''@;'; put 'put ''KSxoLnRyeXMucG9wKCk7Y29udGludWV9Zz1CLmNhbGwoUixoKX1jYXRjaChfKXtnPVs2LF9dLEo9MH1maW5hbGx5e3E9JD0wfWlmKDUmZ1swXSl0aHJvdyBnWzFdO3JldHVybnt2YWx1ZTpnWzBdP2dbMV06dm9pZCAwLGRvbmU6ITB9fShbeSxwXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5''@;'; put 'put ''KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuU0FTVml5YUFwaUNsaWVudD12b2lkIDA7dmFyIG09aig1OTI4KSxGPWooNjIzMCksRD1qKDEzOTUpLHc9aig2OTAzKSxQPWooNjcyKSxNPWooOTA5Nyksaz1qKDk3NzgpLE89aigxMzQzKSxMPWooNzA0KSxUPWooNjQ5NiksWT1qKDU0MDEp''@;'; put 'put ''LEk9aigzNTY5KSxVPWooMzY2KSxWPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gUihCLHEsSiwkKXt0aGlzLnNlcnZlclVybD1CLHRoaXMucm9vdEZvbGRlck5hbWU9cSx0aGlzLmNvbnRleHROYW1lPUosdGhpcy5yZXF1ZXN0Q2xpZW50PSQsdGhpcy5fZGVidWc9ITEsdGhpcy5zZXNzaW9uTWFuYWdl''@;'; put 'put ''cj1uZXcgdy5TZXNzaW9uTWFuYWdlcih0aGlzLnNlcnZlclVybCx0aGlzLmNvbnRleHROYW1lLHRoaXMucmVxdWVzdENsaWVudCksdGhpcy5jb250ZXh0TWFuYWdlcj1uZXcgUC5Db250ZXh0TWFuYWdlcih0aGlzLnNlcnZlclVybCx0aGlzLnJlcXVlc3RDbGllbnQpLHRoaXMuZm9sZGVyTWFw''@;'; put 'put ''PW5ldyBNYXAsQiYmKDAsbS5pc1VybCkoQil9cmV0dXJuIFIucHJvdG90eXBlLmFwcGVuZFJlcXVlc3Q9ZnVuY3Rpb24oQixxLEope3RoaXMucmVxdWVzdENsaWVudC5hcHBlbmRSZXF1ZXN0KEIscSxKKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KFIucHJvdG90eXBlLCJkZWJ1ZyIse2dldDpm''@;'; put 'put ''dW5jdGlvbigpe3JldHVybiB0aGlzLl9kZWJ1Z30sc2V0OmZ1bmN0aW9uKEIpe3RoaXMuX2RlYnVnPUIsdGhpcy5zZXNzaW9uTWFuYWdlciYmKHRoaXMuc2Vzc2lvbk1hbmFnZXIuZGVidWc9Qil9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksUi5wcm90b3R5cGUuZ2V0Sm9ic0lu''@;'; put 'put ''Rm9sZGVyPWZ1bmN0aW9uKEIpe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBxO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oSil7c3dpdGNoKEoubGFiZWwpe2Nhc2UgMDpyZXR1cm4gcT0oMCxtLmlzUmVsYXRpdmVQYXRoKShCKT8iIi5jb25jYXQodGhpcy5yb290''@;'; put 'put ''Rm9sZGVyTmFtZSwiLyIpLmNvbmNhdChCKTpCLHRoaXMuZm9sZGVyTWFwLmdldChxKT9bMix0aGlzLmZvbGRlck1hcC5nZXQocSldOls0LHRoaXMucG9wdWxhdGVGb2xkZXJNYXAocSldO2Nhc2UgMTpyZXR1cm4gSi5zZW50KCksWzIsdGhpcy5mb2xkZXJNYXAuZ2V0KHEpXX19KX0pfSxSLnBy''@;'; put 'put ''b3RvdHlwZS5nZXRDb25maWc9ZnVuY3Rpb24oKXtyZXR1cm57c2VydmVyVXJsOnRoaXMuc2VydmVyVXJsLHJvb3RGb2xkZXJOYW1lOnRoaXMucm9vdEZvbGRlck5hbWV9fSxSLnByb3RvdHlwZS5zZXRDb25maWc9ZnVuY3Rpb24oQixxKXtCJiYodGhpcy5zZXJ2ZXJVcmw9QikscSYmKHRoaXMu''@;'; put 'put ''cm9vdEZvbGRlck5hbWU9cSl9LFIucHJvdG90eXBlLmdldENvbXB1dGVDb250ZXh0cz1mdW5jdGlvbihCKXtyZXR1cm4gQyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKHEpe3N3aXRjaChxLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5j''@;'; put 'put ''b250ZXh0TWFuYWdlci5nZXRDb21wdXRlQ29udGV4dHMoQildO2Nhc2UgMTpyZXR1cm5bMixxLnNlbnQoKV19fSl9KX0sUi5wcm90b3R5cGUuZ2V0RGVmYXVsdENvbXB1dGVDb250ZXh0cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRleHRNYW5hZ2VyLmdldERlZmF1bHRDb21wdXRlQ29u''@;'; put 'put ''dGV4dHN9LFIucHJvdG90eXBlLmdldExhdW5jaGVyQ29udGV4dHM9ZnVuY3Rpb24oQil7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihxKXtzd2l0Y2gocS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuY29udGV4dE1hbmFn''@;'; put 'put ''ZXIuZ2V0TGF1bmNoZXJDb250ZXh0cyhCKV07Y2FzZSAxOnJldHVyblsyLHEuc2VudCgpXX19KX0pfSxSLnByb3RvdHlwZS5nZXRFeGVjdXRhYmxlQ29udGV4dHM9ZnVuY3Rpb24oQil7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHE7cmV0dXJuIFModGhpcyxm''@;'; put 'put ''dW5jdGlvbihKKXtzd2l0Y2goSi5sYWJlbCl7Y2FzZSAwOnJldHVybiBxPXRoaXMuZXhlY3V0ZVNjcmlwdC5iaW5kKHRoaXMpLFs0LHRoaXMuY29udGV4dE1hbmFnZXIuZ2V0RXhlY3V0YWJsZUNvbnRleHRzKHEsQildO2Nhc2UgMTpyZXR1cm5bMixKLnNlbnQoKV19fSl9KX0sUi5wcm90b3R5''@;'; put 'put ''cGUuY3JlYXRlU2Vzc2lvbj1mdW5jdGlvbihCLHEpe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBKLCQsdGU7cmV0dXJuIFModGhpcyxmdW5jdGlvbihoKXtzd2l0Y2goaC5sYWJlbCl7Y2FzZSAwOnJldHVybiBKPXsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRp''@;'; put 'put ''b24vanNvbiJ9LHEmJihKLkF1dGhvcml6YXRpb249IkJlYXJlciAiLmNvbmNhdChxKSksWzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldCgiL2NvbXB1dGUvY29udGV4dHM/bGltaXQ9MTAwMDAiLHEpXTtjYXNlIDE6aWYoJD1oLnNlbnQoKS5yZXN1bHQsISh0ZT0kLml0ZW1zJiYkLml0ZW1zLmxl''@;'; put 'put ''bmd0aD8kLml0ZW1zLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIubmFtZT09PUJ9KTpudWxsKSl0aHJvdyBuZXcgRXJyb3IoIkV4ZWN1dGlvbiBjb250ZXh0ICIuY29uY2F0KEIsIiBub3QgZm91bmQuIikpO3JldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCIvY29tcHV0ZS9jb250''@;'; put 'put ''ZXh0cy8iLmNvbmNhdCh0ZS5pZCwiL3Nlc3Npb25zIikse30scSldO2Nhc2UgMjpyZXR1cm5bMixoLnNlbnQoKS5yZXN1bHRdfX0pfSl9LFIucHJvdG90eXBlLmNyZWF0ZUNvbXB1dGVDb250ZXh0PWZ1bmN0aW9uKEIscSxKLCQsdGUsaCl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1''@;'; put 'put ''bmN0aW9uKCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihiKXtzd2l0Y2goYi5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuY29udGV4dE1hbmFnZXIuY3JlYXRlQ29tcHV0ZUNvbnRleHQoQixxLEosJCx0ZSxoKV07Y2FzZSAxOnJldHVyblsyLGIuc2VudCgpXX19KX0pfSxSLnByb3RvdHlw''@;'; put 'put ''ZS5jcmVhdGVMYXVuY2hlckNvbnRleHQ9ZnVuY3Rpb24oQixxLEosJCl7cmV0dXJuIHZvaWQgMD09PUomJihKPSJkaXJlY3QiKSxDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBTKHRoaXMsZnVuY3Rpb24odGUpe3N3aXRjaCh0ZS5sYWJlbCl7Y2FzZSAwOnJldHVybls0''@;'; put 'put ''LHRoaXMuY29udGV4dE1hbmFnZXIuY3JlYXRlTGF1bmNoZXJDb250ZXh0KEIscSxKLCQpXTtjYXNlIDE6cmV0dXJuWzIsdGUuc2VudCgpXX19KX0pfSxSLnByb3RvdHlwZS5lZGl0Q29tcHV0ZUNvbnRleHQ9ZnVuY3Rpb24oQixxLEope3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5j''@;'; put 'put ''dGlvbigpe3JldHVybiBTKHRoaXMsZnVuY3Rpb24oJCl7c3dpdGNoKCQubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmNvbnRleHRNYW5hZ2VyLmVkaXRDb21wdXRlQ29udGV4dChCLHEsSildO2Nhc2UgMTpyZXR1cm5bMiwkLnNlbnQoKV19fSl9KX0sUi5wcm90b3R5cGUuZGVsZXRlQ29t''@;'; put 'put ''cHV0ZUNvbnRleHQ9ZnVuY3Rpb24oQixxKXtyZXR1cm4gQyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKEope3N3aXRjaChKLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5jb250ZXh0TWFuYWdlci5kZWxldGVDb21wdXRlQ29udGV4dChC''@;'; put 'put ''LHEpXTtjYXNlIDE6cmV0dXJuWzIsSi5zZW50KCldfX0pfSl9LFIucHJvdG90eXBlLmV4ZWN1dGVTY3JpcHQ9ZnVuY3Rpb24oQixxLEosJCx0ZSxoLGIseSxwLGcsXyl7cmV0dXJuIHZvaWQgMD09PXRlJiYodGU9bnVsbCksdm9pZCAwPT09aCYmKGg9ITEpLHZvaWQgMD09PWImJihiPSExKSx2''@;'; put 'put ''b2lkIDA9PT15JiYoeT0hMCksdm9pZCAwPT09ZyYmKGc9ITEpLEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihFKXtyZXR1cm5bMiwoMCxZLmV4ZWN1dGVTY3JpcHQpKHRoaXMucmVxdWVzdENsaWVudCx0aGlzLnNlc3Npb25NYW5hZ2VyLHRo''@;'; put 'put ''aXMucm9vdEZvbGRlck5hbWUsQixxLEosJCx0ZSxoLGIseSxwLGcsXyldfSl9KX0sUi5wcm90b3R5cGUuZ2V0Rm9sZGVyPWZ1bmN0aW9uKEIscSl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihKKXtzd2l0Y2goSi5sYWJlbCl7''@;'; put 'put ''Y2FzZSAwOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5nZXQoIi9mb2xkZXJzL2ZvbGRlcnMvQGl0ZW0/cGF0aD0iLmNvbmNhdChCKSxxKS50aGVuKGZ1bmN0aW9uKCQpe3JldHVybiAkLnJlc3VsdH0pXTtjYXNlIDE6cmV0dXJuWzIsSi5zZW50KCldfX0pfSl9LFIucHJvdG90eXBlLmNy''@;'; put 'put ''ZWF0ZUZpbGU9ZnVuY3Rpb24oQixxLEosJCx0ZSl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGgsYjtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKHkpe3N3aXRjaCh5LmxhYmVsKXtjYXNlIDA6aWYoIUomJiEkKXRocm93IG5ldyBFcnJvcigiUGF0aCBvciBVUkkg''@;'; put 'put ''b2YgdGhlIHBhcmVudCBmb2xkZXIgaXMgcmVxdWlyZWQuIik7cmV0dXJuICR8fCFKP1szLDJdOls0LHRoaXMuZ2V0Rm9sZGVyVXJpKEosdGUpXTtjYXNlIDE6JD15LnNlbnQoKSx5LmxhYmVsPTI7Y2FzZSAyOnJldHVybiBoPXtBY2NlcHQ6ImFwcGxpY2F0aW9uL3ZuZC5zYXMuZmlsZStqc29u''@;'; put 'put ''IiwiQ29udGVudC1EaXNwb3NpdGlvbiI6J2ZpbGVuYW1lPSInLmNvbmNhdChCLCciOycpfSwoYj1uZXcgRikuYXBwZW5kKCJmaWxlIixxLEIpLFs0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCIvZmlsZXMvZmlsZXM/cGFyZW50Rm9sZGVyVXJpPSIuY29uY2F0KCQsIiZ0eXBlRGVmTmFtZT1m''@;'; put 'put ''aWxlI3Jhd1VwbG9hZCIpLGIsdGUsIm11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSIrYi5fYm91bmRhcnksaCldO2Nhc2UgMzpyZXR1cm5bMix5LnNlbnQoKS5yZXN1bHRdfX0pfSl9LFIucHJvdG90eXBlLmNyZWF0ZUZvbGRlcj1mdW5jdGlvbihCLHEsSiwkLHRlKXtyZXR1cm4gQyh0''@;'; put 'put ''aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgaCxiLHkscCxfO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oRSl7c3dpdGNoKEUubGFiZWwpe2Nhc2UgMDppZihoPU4ubG9nZ2VyfHx6LCFxJiYhSil0aHJvdyBuZXcgRXJyb3IoIlBhdGggb3IgVVJJIG9mIHRoZSBwYXJlbnQgZm9sZGVy''@;'; put 'put ''IGlzIHJlcXVpcmVkLiIpO3JldHVybiBKfHwhcT9bMyw2XTpbNCx0aGlzLmdldEZvbGRlclVyaShxLCQpXTtjYXNlIDE6aWYoSj1FLnNlbnQoKSlyZXR1cm5bMywzXTtpZihoLmluZm8oIlBhcmVudCBmb2xkZXIgYXQgcGF0aCAnIi5jb25jYXQocSwiJyBpcyBub3QgcHJlc2VudC4iKSksYj1x''@;'; put 'put ''LnN1YnN0cmluZygwLHEubGFzdEluZGV4T2YoIi8iKSkseT0iIi5jb25jYXQocS5zcGxpdCgiLyIpLnBvcCgpKSwiIj09PWIpdGhyb3cgbmV3IEQuUm9vdEZvbGRlck5vdEZvdW5kRXJyb3IocSx0aGlzLnNlcnZlclVybCwkKTtyZXR1cm4gaC5pbmZvKCJDcmVhdGluZyBwYXJlbnQgZm9sZGVy''@;'; put 'put ''OlxuJyIuY29uY2F0KHksIicgaW4gJyIpLmNvbmNhdChiLCInIikpLFs0LHRoaXMuY3JlYXRlRm9sZGVyKHksYix2b2lkIDAsJCldO2Nhc2UgMjpyZXR1cm4gcD1FLnNlbnQoKSxoLmluZm8oIlBhcmVudCBmb2xkZXIgJyIuY29uY2F0KHksIicgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNyZWF0''@;'; put 'put ''ZWQuIikpLEo9Ii9mb2xkZXJzL2ZvbGRlcnMvIi5jb25jYXQocC5pZCksWzMsNl07Y2FzZSAzOnJldHVybiB0ZSYmJD9bNCx0aGlzLmdldEZvbGRlclVyaShxKyIvIitCLCQpXTpbMyw2XTtjYXNlIDQ6cmV0dXJuIEUuc2VudCgpP1s0LHRoaXMuZGVsZXRlRm9sZGVyKHErIi8iK0IsJCldOlsz''@;'; put 'put ''LDZdO2Nhc2UgNTpFLnNlbnQoKSxFLmxhYmVsPTY7Y2FzZSA2OnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCIvZm9sZGVycy9mb2xkZXJzP3BhcmVudEZvbGRlclVyaT0iLmNvbmNhdChKKSx7bmFtZTpCLHR5cGU6ImZvbGRlciJ9LCQpXTtjYXNlIDc6cmV0dXJuIF89RS5zZW50''@;'; put 'put ''KCkucmVzdWx0LFs0LHRoaXMucG9wdWxhdGVGb2xkZXJNYXAoIiIuY29uY2F0KHEsIi8iKS5jb25jYXQoQiksJCldO2Nhc2UgODpyZXR1cm4gRS5zZW50KCksWzIsX119fSl9KX0sUi5wcm90b3R5cGUuY3JlYXRlSm9iRGVmaW5pdGlvbj1mdW5jdGlvbihCLHEsSiwkLHRlKXtyZXR1cm4gQyh0''@;'; put 'put ''aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKGgpe3N3aXRjaChoLmxhYmVsKXtjYXNlIDA6aWYoIUomJiEkKXRocm93IG5ldyBFcnJvcigiUGF0aCB0byBvciBVUkkgb2YgdGhlIHBhcmVudCBmb2xkZXIgaXMgcmVxdWlyZWQuIik7cmV0dXJuICR8''@;'; put 'put ''fCFKP1szLDJdOls0LHRoaXMuZ2V0Rm9sZGVyVXJpKEosdGUpXTtjYXNlIDE6JD1oLnNlbnQoKSxoLmxhYmVsPTI7Y2FzZSAyOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2pvYkRlZmluaXRpb25zL2RlZmluaXRpb25zP3BhcmVu''@;'; put 'put ''dEZvbGRlclVyaT0iKS5jb25jYXQoJCkse25hbWU6QixwYXJhbWV0ZXJzOlt7bmFtZToiX2FkZGplc2JlZ2luZW5kbWFjcm9zIix0eXBlOiJDSEFSQUNURVIiLGRlZmF1bHRWYWx1ZToiZmFsc2UifV0sdHlwZToiQ29tcHV0ZSIsY29kZTpxfSx0ZSldO2Nhc2UgMzpyZXR1cm5bMixoLnNlbnQo''@;'; put 'put ''KV19fSl9KX0sUi5wcm90b3R5cGUuZ2V0QXV0aENvZGU9ZnVuY3Rpb24oQil7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHEsSj10aGlzO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oJCl7c3dpdGNoKCQubGFiZWwpe2Nhc2UgMDpyZXR1cm4gcT0iIi5jb25jYXQo''@;'; put 'put ''dGhpcy5zZXJ2ZXJVcmwsIi9TQVNMb2dvbi9vYXV0aC9hdXRob3JpemU/Y2xpZW50X2lkPSIpLmNvbmNhdChCLCImcmVzcG9uc2VfdHlwZT1jb2RlIiksWzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldChxLHZvaWQgMCwidGV4dC9wbGFpbiIpLnRoZW4oZnVuY3Rpb24odGUpe3JldHVybiB0ZS5y''@;'; put 'put ''ZXN1bHR9KS50aGVuKGZ1bmN0aW9uKHRlKXtyZXR1cm4gQyhKLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgaCxiLHkscDtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKGcpe3N3aXRjaChnLmxhYmVsKXtjYXNlIDA6cmV0dXJuIGg9IiIsKDAsTS5pc0F1dGhvcml6ZUZvcm1SZXF1aXJlZCko''@;'; put 'put ''dGUpP1s0LHRoaXMucmVxdWVzdENsaWVudC5hdXRob3JpemUodGUpXTpbMywyXTtjYXNlIDE6cmV0dXJuIGI9Zy5zZW50KCkseT1iLnNwbGl0KCI8Ym9keT4iKVsxXS5zcGxpdCgiPC9ib2R5PiIpWzBdLChwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9eSxbMixo''@;'; put 'put ''PXAucXVlcnlTZWxlY3RvcigiLmluZm9ib3ggaDQiKS5pbm5lclRleHRdO2Nhc2UgMjpyZXR1cm4geT10ZS5zcGxpdCgiPGJvZHk+IilbMV0uc3BsaXQoIjwvYm9keT4iKVswXSwocD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPXkscCYmKGg9cC5xdWVyeVNlbGVj''@;'; put 'put ''dG9yKCIuaW5mb2JveCBoNCIpLmlubmVyVGV4dCksWzIsaF19fSl9KX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KV07Y2FzZSAxOnJldHVyblsyLCQuc2VudCgpXX19KX0pfSxSLnByb3RvdHlwZS5nZXRBY2Nlc3NUb2tlbj1mdW5jdGlvbihCLHEsSil7cmV0dXJuIEModGhpcyx2''@;'; put 'put ''b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbigkKXtyZXR1cm5bMiwoMCxJLmdldEFjY2Vzc1Rva2VuRm9yVml5YSkodGhpcy5yZXF1ZXN0Q2xpZW50LEIscSxKKV19KX0pfSxSLnByb3RvdHlwZS5yZWZyZXNoVG9rZW5zPWZ1bmN0aW9uKEIscSxKKXtyZXR1''@;'; put 'put ''cm4gQyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKCQpe3JldHVyblsyLCgwLFUucmVmcmVzaFRva2Vuc0ZvclZpeWEpKHRoaXMucmVxdWVzdENsaWVudCxCLHEsSildfSl9KX0sUi5wcm90b3R5cGUuZGVsZXRlQ2xpZW50PWZ1bmN0aW9uKEIs''@;'; put 'put ''cSl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEosJDtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKHRlKXtzd2l0Y2godGUubGFiZWwpe2Nhc2UgMDpyZXR1cm4gSj10aGlzLnNlcnZlclVybCsiL29hdXRoL2NsaWVudHMvIi5jb25jYXQoQiksJD17fSxxJiYoJC5B''@;'; put 'put ''dXRob3JpemF0aW9uPSJCZWFyZXIgIi5jb25jYXQocSkpLFs0LHRoaXMucmVxdWVzdENsaWVudC5kZWxldGUoSixxKV07Y2FzZSAxOnJldHVyblsyLHRlLnNlbnQoKS5yZXN1bHRdfX0pfSl9LFIucHJvdG90eXBlLmV4ZWN1dGVDb21wdXRlSm9iPWZ1bmN0aW9uKEIscSxKLCQsdGUsaCxiLHks''@;'; put 'put ''cCxnKXtyZXR1cm4gdm9pZCAwPT09aCYmKGg9ITApLHZvaWQgMD09PWImJihiPSExKSx2b2lkIDA9PT1wJiYocD0hMSksQyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgXyxFLFcsRyxYLG5lLGFlLHVlLGJlLF9lLGxlO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oY2Upe3N3aXRj''@;'; put 'put ''aChjZS5sYWJlbCl7Y2FzZSAwOnJldHVybiBfPSh0ZXx8e30pLmFjY2Vzc190b2tlbix0ZT9bNCwoMCxMLmdldFRva2VucykodGhpcy5yZXF1ZXN0Q2xpZW50LHRlKV06WzMsMl07Y2FzZSAxOl89Y2Uuc2VudCgpLmFjY2Vzc190b2tlbixjZS5sYWJlbD0yO2Nhc2UgMjppZigoMCxtLmlzUmVs''@;'; put 'put ''YXRpdmVQYXRoKShCKSYmIXRoaXMucm9vdEZvbGRlck5hbWUpdGhyb3cgbmV3IEVycm9yKCJSZWxhdGl2ZSBwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IHNwZWNpZnlpbmcgYSByb290IGZvbGRlciBuYW1lIik7cmV0dXJuIEU9Qi5zcGxpdCgiLyIpLFc9RS5wb3AoKSxHPUUuam9pbigi''@;'; put 'put ''LyIpLFg9KDAsbS5pc1JlbGF0aXZlUGF0aCkoQik/IiIuY29uY2F0KHRoaXMucm9vdEZvbGRlck5hbWUsIi8iKS5jb25jYXQoRyk6RyxbNCx0aGlzLnBvcHVsYXRlRm9sZGVyTWFwKFgsXykuY2F0Y2goZnVuY3Rpb24ocGUpe3Rocm93KDAsay5wcmVmaXhNZXNzYWdlKShwZSwiRXJyb3Igd2hp''@;'; put 'put ''bGUgcG9wdWxhdGluZyBmb2xkZXIgbWFwLiAiKX0pXTtjYXNlIDM6aWYoY2Uuc2VudCgpLCEobmU9dGhpcy5mb2xkZXJNYXAuZ2V0KFgpKSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBmb2xkZXIgJyIuY29uY2F0KFgsIicgd2FzIG5vdCBmb3VuZCBvbiAnIikuY29uY2F0KHRoaXMuc2VydmVyVXJs''@;'; put 'put ''LCInIikpO2lmKCEoYWU9bnVsbD09bmU/dm9pZCAwOm5lLmZpbmQoZnVuY3Rpb24ocGUpe3JldHVybiBwZS5uYW1lPT09V30pKSl0aHJvdyBuZXcgRXJyb3IoIkpvYiB3YXMgbm90IGZvdW5kLiIpO2lmKHVlPW51bGw9PWFlP3ZvaWQgMDphZS5jb2RlKXJldHVyblszLDVdO2lmKCEoYmU9bnVs''@;'; put 'put ''bD09YWU/dm9pZCAwOmFlLmxpbmtzLmZpbmQoZnVuY3Rpb24ocGUpe3JldHVybiJnZXRSZXNvdXJjZSI9PT1wZS5yZWx9KSkpdGhyb3cgbmV3IEVycm9yKCJVUkkgb2Ygam9iIGRlZmluaXRpb24gd2FzIG5vdCBmb3VuZC4iKTtyZXR1cm5bNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KCIiLmNv''@;'; put 'put ''bmNhdCh0aGlzLnNlcnZlclVybCkuY29uY2F0KGJlLmhyZWYpLF8pLmNhdGNoKGZ1bmN0aW9uKHBlKXt0aHJvdygwLGsucHJlZml4TWVzc2FnZSkocGUsIkVycm9yIHdoaWxlIGdldHRpbmcgam9iIGRlZmluaXRpb24uICIpfSldO2Nhc2UgNDpfZT1jZS5zZW50KCkucmVzdWx0LGFlLmNvZGU9''@;'; put 'put ''dWU9X2UuY29kZSxjZS5sYWJlbD01O2Nhc2UgNTpyZXR1cm4gdWV8fCh1ZT0iIiksbGU9dWUucmVwbGFjZSgvXHJcbi9nLCJcbiIpLnNwbGl0KCJcbiIpLFs0LHRoaXMuZXhlY3V0ZVNjcmlwdChCLGxlLHEsdGUsJCxKLGIsaCx5LHAsZyldO2Nhc2UgNjpyZXR1cm5bMixjZS5zZW50KCldfX0p''@;'; put 'put ''fSl9LFIucHJvdG90eXBlLmV4ZWN1dGVKb2I9ZnVuY3Rpb24oQixxLEosJCx0ZSl7dmFyIGgsYix5O3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwLGcsXyxFLFcsRyxYLG5lLGFlLHVlLGJlLF9lLGxlLGNlLHBlLHdlLFVlLHhlLEVlO3JldHVybiBTKHRoaXMs''@;'; put 'put ''ZnVuY3Rpb24od3Qpe3N3aXRjaCh3dC5sYWJlbCl7Y2FzZSAwOnJldHVybiBwPSh0ZXx8e30pLmFjY2Vzc190b2tlbix0ZT9bNCwoMCxMLmdldFRva2VucykodGhpcy5yZXF1ZXN0Q2xpZW50LHRlKV06WzMsMl07Y2FzZSAxOnA9d3Quc2VudCgpLmFjY2Vzc190b2tlbix3dC5sYWJlbD0yO2Nh''@;'; put 'put ''c2UgMjppZigoMCxtLmlzUmVsYXRpdmVQYXRoKShCKSYmIXRoaXMucm9vdEZvbGRlck5hbWUpdGhyb3cgbmV3IEVycm9yKCJSZWxhdGl2ZSBwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IHNwZWNpZnlpbmcgYSByb290IGZvbGRlciBuYW1lLiIpO3JldHVybiBnPUIuc3BsaXQoIi8iKSxf''@;'; put 'put ''PWcucG9wKCksRT1nLmpvaW4oIi8iKSxXPSgwLG0uaXNSZWxhdGl2ZVBhdGgpKEIpPyIiLmNvbmNhdCh0aGlzLnJvb3RGb2xkZXJOYW1lLCIvIikuY29uY2F0KEUpOkUsWzQsdGhpcy5wb3B1bGF0ZUZvbGRlck1hcChXLHApXTtjYXNlIDM6aWYod3Quc2VudCgpLCEoRz10aGlzLmZvbGRlck1h''@;'; put 'put ''cC5nZXQoVykpKXRocm93IG5ldyBFcnJvcigiVGhlIGZvbGRlciAnIi5jb25jYXQoVywiJyB3YXMgbm90IGZvdW5kIG9uICciKS5jb25jYXQodGhpcy5zZXJ2ZXJVcmwsIicuIikpO3JldHVybiBYPW51bGw9PUc/dm9pZCAwOkcuZmluZChmdW5jdGlvbihOZSl7cmV0dXJuIE5lLm5hbWU9PT1f''@;'; put 'put ''fSksbmU9W10sJCYmT2JqZWN0LmtleXMoJCkubGVuZ3RoP1s0LHRoaXMudXBsb2FkVGFibGVzKCQscCldOlszLDVdO2Nhc2UgNDpuZT13dC5zZW50KCksd3QubGFiZWw9NTtjYXNlIDU6aWYoIVgpdGhyb3cgbmV3IEVycm9yKCJKb2Igd2FzIG5vdCBmb3VuZC4iKTtyZXR1cm4gYWU9bnVsbD09''@;'; put 'put ''PShoPW51bGw9PVg/dm9pZCAwOlgubGlua3MuZmluZChmdW5jdGlvbihOZSl7cmV0dXJuImdldFJlc291cmNlIj09PU5lLnJlbH0pKXx8dm9pZCAwPT09aD92b2lkIDA6aC5ocmVmLFs0LHRoaXMucmVxdWVzdENsaWVudC5nZXQoIiIuY29uY2F0KHRoaXMuc2VydmVyVXJsKS5jb25jYXQoYWUp''@;'; put 'put ''LHApXTtjYXNlIDY6cmV0dXJuIHVlPXd0LnNlbnQoKS5yZXN1bHQsYmU9e19jb250ZXh0TmFtZTpxLF9wcm9ncmFtOiIiLmNvbmNhdChXLCIvIikuY29uY2F0KF8pLF93ZWJpbl9maWxlX2NvdW50Om5lLmxlbmd0aCxfT01JVEpTT05MSVNUSU5HOiEwLF9PTUlUSlNPTkxPRzohMCxfT01JVFNF''@;'; put 'put ''U1NJT05SRVNVTFRTOiEwLF9PTUlUVEVYVExJU1RJTkc6ITAsX09NSVRURVhUTE9HOiEwfSxKJiYoYmUuX09NSVRURVhUTE9HPSJmYWxzZSIsYmUuX09NSVRTRVNTSU9OUkVTVUxUUz0iZmFsc2UiLGJlLl9ERUJVRz0xMzEpLG5lLmZvckVhY2goZnVuY3Rpb24oTmUsSGUpe2JlWyJfd2ViaW5f''@;'; put 'put ''ZmlsZXVyaSIuY29uY2F0KEhlKzEpXT0iL2ZpbGVzL2ZpbGVzLyIuY29uY2F0KE5lLmZpbGUuaWQpLGJlWyJfd2ViaW5fbmFtZSIuY29uY2F0KEhlKzEpXT1OZS50YWJsZU5hbWV9KSxfZT17bmFtZToiZXhlYy0iLmNvbmNhdChfKSxkZXNjcmlwdGlvbjoiUG93ZXJlZCBieSBTQVNqcyIsam9i''@;'; put 'put ''RGVmaW5pdGlvbjp1ZSxhcmd1bWVudHM6YmV9LFs0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2pvYkV4ZWN1dGlvbi9qb2JzP19hY3Rpb249d2FpdCIpLF9lLHApXTtjYXNlIDc6cmV0dXJuIGxlPXd0LnNlbnQoKS5yZXN1bHQsWzQsdGhpcy5w''@;'; put 'put ''b2xsSm9iU3RhdGUobGUsdGUpLmNhdGNoKGZ1bmN0aW9uKE5lKXt0aHJvdygwLGsucHJlZml4TWVzc2FnZSkoTmUsIkVycm9yIHdoaWxlIHBvbGxpbmcgam9iIHN0YXR1cy4gIil9KV07Y2FzZSA4OnJldHVybiBjZT13dC5zZW50KCksWzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldCgiIi5jb25j''@;'; put 'put ''YXQodGhpcy5zZXJ2ZXJVcmwsIi9qb2JFeGVjdXRpb24vam9icy8iKS5jb25jYXQobGUuaWQpLHApXTtjYXNlIDk6cmV0dXJuIHBlPXd0LnNlbnQoKS5yZXN1bHQseGU9cGUucmVzdWx0c1siX3dlYm91dC5qc29uIl0sRWU9cGUubGlua3MuZmluZChmdW5jdGlvbihOZSl7cmV0dXJuImxvZyI9''@;'; put 'put ''PT1OZS5yZWx9KSx4ZT9bNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCkuY29uY2F0KHhlLCIvY29udGVudCIpLHAsInRleHQvcGxhaW4iKV06WzMsMTFdO2Nhc2UgMTA6d2U9d3Quc2VudCgpLHd0LmxhYmVsPTExO2Nhc2UgMTE6cmV0dXJuIEomJkVl''@;'; put 'put ''P1s0LHRoaXMucmVxdWVzdENsaWVudC5nZXQoIiIuY29uY2F0KHRoaXMuc2VydmVyVXJsKS5jb25jYXQoRWUuaHJlZiwiL2NvbnRlbnQiKSxwKS50aGVuKGZ1bmN0aW9uKE5lKXtyZXR1cm4gTmUucmVzdWx0Lml0ZW1zLm1hcChmdW5jdGlvbihIZSl7cmV0dXJuIEhlLmxpbmV9KS5qb2luKCJc''@;'; put 'put ''biIpfSldOlszLDEzXTtjYXNlIDEyOlVlPXd0LnNlbnQoKSx3dC5sYWJlbD0xMztjYXNlIDEzOmlmKCJmYWlsZWQiPT09Y2UpdGhyb3cgbmV3IEQuSm9iRXhlY3V0aW9uRXJyb3IobnVsbD09PShiPXBlLmVycm9yKXx8dm9pZCAwPT09Yj92b2lkIDA6Yi5lcnJvckNvZGUsbnVsbD09PSh5PXBl''@;'; put 'put ''LmVycm9yKXx8dm9pZCAwPT09eT92b2lkIDA6eS5tZXNzYWdlLFVlKTtyZXR1cm5bMix7cmVzdWx0Om51bGw9PXdlP3ZvaWQgMDp3ZS5yZXN1bHQsbG9nOlVlfV19fSl9KX0sUi5wcm90b3R5cGUucG9wdWxhdGVGb2xkZXJNYXA9ZnVuY3Rpb24oQixxKXtyZXR1cm4gQyh0aGlzLHZvaWQgMCx2''@;'; put 'put ''b2lkIDAsZnVuY3Rpb24oKXt2YXIgSix0ZSxoO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oeSl7c3dpdGNoKHkubGFiZWwpe2Nhc2UgMDpyZXR1cm4gSj0oMCxtLmlzUmVsYXRpdmVQYXRoKShCKT8iIi5jb25jYXQodGhpcy5yb290Rm9sZGVyTmFtZSwiLyIpLmNvbmNhdChCKTpCLHRoaXMuZm9s''@;'; put 'put ''ZGVyTWFwLmdldChKKT9bMl06WzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldCgiIi5jb25jYXQoIi9mb2xkZXJzL2ZvbGRlcnMvQGl0ZW0/cGF0aD0iK0opLHEpLmNhdGNoKGZ1bmN0aW9uKHApe3Rocm93KDAsay5wcmVmaXhNZXNzYWdlKShwLCJFcnJvciB3aGlsZSBnZXR0aW5nIGZvbGRlci4g''@;'; put 'put ''Iil9KV07Y2FzZSAxOmlmKCEodGU9eS5zZW50KCkucmVzdWx0KSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXRoICIuY29uY2F0KEosIiBkb2VzIG5vdCBleGlzdCBvbiAiKS5jb25jYXQodGhpcy5zZXJ2ZXJVcmwpKTtyZXR1cm5bNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KCIvZm9sZGVycy9m''@;'; put 'put ''b2xkZXJzLyIuY29uY2F0KHRlLmlkLCIvbWVtYmVycz9saW1pdD0iKS5jb25jYXQodGUubWVtYmVyQ291bnQ8NTAwPzUwMDp0ZS5tZW1iZXJDb3VudCkscSkuY2F0Y2goZnVuY3Rpb24ocCl7dGhyb3coMCxrLnByZWZpeE1lc3NhZ2UpKHAsIkVycm9yIHdoaWxlIGdldHRpbmcgbWVtYmVycy4g''@;'; put 'put ''Iil9KV07Y2FzZSAyOnJldHVybiBoPXkuc2VudCgpLnJlc3VsdCx0aGlzLmZvbGRlck1hcC5zZXQoSixoLml0ZW1zKSxbMl19fSl9KX0sUi5wcm90b3R5cGUucG9sbEpvYlN0YXRlPWZ1bmN0aW9uKEIscSxKKXtyZXR1cm4gQyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4g''@;'; put 'put ''Uyh0aGlzLGZ1bmN0aW9uKCQpe3JldHVyblsyLCgwLE8ucG9sbEpvYlN0YXRlKSh0aGlzLnJlcXVlc3RDbGllbnQsQix0aGlzLmRlYnVnLHEsSildfSl9KX0sUi5wcm90b3R5cGUudXBsb2FkVGFibGVzPWZ1bmN0aW9uKEIscSl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9u''@;'; put 'put ''KCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihKKXtyZXR1cm5bMiwoMCxULnVwbG9hZFRhYmxlcykodGhpcy5yZXF1ZXN0Q2xpZW50LEIscSldfSl9KX0sUi5wcm90b3R5cGUuZ2V0Rm9sZGVyRGV0YWlscz1mdW5jdGlvbihCLHEpe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlv''@;'; put 'put ''bigpe3ZhciBKLCQ7cmV0dXJuIFModGhpcyxmdW5jdGlvbih0ZSl7c3dpdGNoKHRlLmxhYmVsKXtjYXNlIDA6cmV0dXJuIEo9KDAsbS5pc1VyaSkoQik/QjoiL2ZvbGRlcnMvZm9sZGVycy9AaXRlbT9wYXRoPSIuY29uY2F0KEIpLFs0LHRoaXMucmVxdWVzdENsaWVudC5nZXQoIiIuY29uY2F0''@;'; put 'put ''KHRoaXMuc2VydmVyVXJsKS5jb25jYXQoSikscSkuY2F0Y2goZnVuY3Rpb24oaCl7aWYoaCBpbnN0YW5jZW9mIEQuQ2VydGlmaWNhdGVFcnJvcil0aHJvdyBoO3JldHVybntyZXN1bHQ6bnVsbH19KV07Y2FzZSAxOnJldHVybigkPXRlLnNlbnQoKS5yZXN1bHQpP1syLCRdOlsyLHZvaWQgMF19''@;'; put 'put ''fSl9KX0sUi5wcm90b3R5cGUuZ2V0Rm9sZGVyVXJpPWZ1bmN0aW9uKEIscSl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEo7cmV0dXJuIFModGhpcyxmdW5jdGlvbigkKXtzd2l0Y2goJC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuZ2V0Rm9sZGVyRGV0''@;'; put 'put ''YWlscyhCLHEpXTtjYXNlIDE6cmV0dXJuKEo9JC5zZW50KCkpP1syLCIvZm9sZGVycy9mb2xkZXJzLyIuY29uY2F0KEouaWQpXTpbMix2b2lkIDBdfX0pfSl9LFIucHJvdG90eXBlLmdldFJlY3ljbGVCaW5Vcmk9ZnVuY3Rpb24oQil7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0''@;'; put 'put ''aW9uKCl7dmFyIHE7cmV0dXJuIFModGhpcyxmdW5jdGlvbihKKXtzd2l0Y2goSi5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5nZXQoIiIuY29uY2F0KHRoaXMuc2VydmVyVXJsKS5jb25jYXQoIi9mb2xkZXJzL2ZvbGRlcnMvQG15UmVjeWNsZUJpbiIpLEIpLmNh''@;'; put 'put ''dGNoKGZ1bmN0aW9uKCQpe2lmKCQgaW5zdGFuY2VvZiBELkNlcnRpZmljYXRlRXJyb3IpdGhyb3cgJDtyZXR1cm57cmVzdWx0Om51bGx9fSldO2Nhc2UgMTpyZXR1cm4ocT1KLnNlbnQoKS5yZXN1bHQpP1syLCIvZm9sZGVycy9mb2xkZXJzLyIuY29uY2F0KHEuaWQpXTpbMix2b2lkIDBdfX0p''@;'; put 'put ''fSl9LFIucHJvdG90eXBlLmdldENvbXB1dGVDb250ZXh0QnlOYW1lPWZ1bmN0aW9uKEIscSl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihKKXtzd2l0Y2goSi5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuY29udGV4dE1h''@;'; put 'put ''bmFnZXIuZ2V0Q29tcHV0ZUNvbnRleHRCeU5hbWUoQixxKV07Y2FzZSAxOnJldHVyblsyLEouc2VudCgpXX19KX0pfSxSLnByb3RvdHlwZS5nZXRDb21wdXRlQ29udGV4dEJ5SWQ9ZnVuY3Rpb24oQixxKXtyZXR1cm4gQyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gUyh0''@;'; put 'put ''aGlzLGZ1bmN0aW9uKEope3N3aXRjaChKLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5jb250ZXh0TWFuYWdlci5nZXRDb21wdXRlQ29udGV4dEJ5SWQoQixxKV07Y2FzZSAxOnJldHVyblsyLEouc2VudCgpXX19KX0pfSxSLnByb3RvdHlwZS5saXN0Rm9sZGVyPWZ1bmN0aW9uKEIscSxK''@;'; put 'put ''KXtyZXR1cm4gdm9pZCAwPT09SiYmKEo9MjApLEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyICQsdGUsaDtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKGIpe3N3aXRjaChiLmxhYmVsKXtjYXNlIDA6cmV0dXJuKDAsbS5pc1VyaSkoQik/KHRlPUIsWzMsM10pOlszLDFdO2Nhc2Ug''@;'; put 'put ''MTpyZXR1cm5bNCx0aGlzLmdldEZvbGRlclVyaShCLHEpXTtjYXNlIDI6dGU9Yi5zZW50KCksYi5sYWJlbD0zO2Nhc2UgMzpyZXR1cm4gJD10ZSxbNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCkuY29uY2F0KCQsIi9tZW1iZXJzP2xpbWl0PSIpLmNv''@;'; put 'put ''bmNhdChKKSxxKV07Y2FzZSA0OnJldHVybihoPWIuc2VudCgpLnJlc3VsdCkmJmguaXRlbXM/WzIsaC5pdGVtcy5tYXAoZnVuY3Rpb24oeSl7cmV0dXJuIHkubmFtZX0pXTpbMixbXV19fSl9KX0sUi5wcm90b3R5cGUubW92ZUZvbGRlcj1mdW5jdGlvbihCLHEsSiwkKXtyZXR1cm4gQyh0aGlz''@;'; put 'put ''LHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdGUsaCxiLHkscCxnO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oXyl7c3dpdGNoKF8ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGU9Qi5zcGxpdCgiLyIpLnBvcCgpLFs0LHRoaXMuZ2V0Rm9sZGVyRGV0YWlscyhxLCQpXTtjYXNlIDE6cmV0dXJu''@;'; put 'put ''IF8uc2VudCgpP0o9dGU6KChoPXEuc3BsaXQoIi8iKSkuc3BsaWNlKGgubGVuZ3RoLTEsMSkscT1oLmpvaW4oIi8iKSksWzQsdGhpcy5nZXRGb2xkZXJVcmkoQiwkKV07Y2FzZSAyOnJldHVybiBiPV8uc2VudCgpLFs0LHRoaXMuZ2V0Rm9sZGVyVXJpKHEsJCldO2Nhc2UgMzpyZXR1cm4geT1f''@;'; put 'put ''LnNlbnQoKSxiPyhwPW51bGw9PWI/dm9pZCAwOmIuc3BsaXQoIi8iKS5wb3AoKSxbNCx0aGlzLnJlcXVlc3RDbGllbnQucGF0Y2goIiIuY29uY2F0KHRoaXMuc2VydmVyVXJsKS5jb25jYXQoYikse2lkOnAsbmFtZTpKLHBhcmVudEZvbGRlclVyaTp5fSwkKS5jYXRjaChmdW5jdGlvbihFKXt0''@;'; put 'put ''aHJvdyBFLmNvZGUmJiJFTk9URk9VTkQiPT09RS5jb2RlP3tib2R5OnttZXNzYWdlOiJGb2xkZXIgJyIuY29uY2F0KEIuc3BsaXQoIi8iKS5wb3AoKSwiJyB3YXMgbm90IGZvdW5kLiIpfX06RX0pXSk6WzIsdm9pZCAwXTtjYXNlIDQ6cmV0dXJuKGc9Xy5zZW50KCkucmVzdWx0KT9bMixnXTpb''@;'; put 'put ''Mix2b2lkIDBdfX0pfSl9LFIucHJvdG90eXBlLmRlbGV0ZUZvbGRlcj1mdW5jdGlvbihCLHEpe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBKLCQsdGUsaDtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKHkpe3N3aXRjaCh5LmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQs''@;'; put 'put ''dGhpcy5nZXRSZWN5Y2xlQmluVXJpKHEpXTtjYXNlIDE6cmV0dXJuIEo9eS5zZW50KCksJD1CLnNwbGl0KCIvIikucG9wKCl8fCIiLHRlPW5ldyBEYXRlLGg9dGUudG9Mb2NhbGVEYXRlU3RyaW5nKCkrIiAiK3RlLnRvTG9jYWxlVGltZVN0cmluZygpLFs0LHRoaXMubW92ZUZvbGRlcihCLEos''@;'; put 'put ''JCsiICIraCxxKV07Y2FzZSAyOnJldHVyblsyLHkuc2VudCgpXX19KX0pfSxSfSgpO0EuU0FTVml5YUFwaUNsaWVudD1WfSw1OTU2OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2Fzc2lnbnx8ZnVuY3Rpb24oKXtyZXR1cm4gTj1PYmplY3QuYXNzaWdu''@;'; put 'put ''fHxmdW5jdGlvbihWKXtmb3IodmFyIFIsQj0xLHE9YXJndW1lbnRzLmxlbmd0aDtCPHE7QisrKWZvcih2YXIgSiBpbiBSPWFyZ3VtZW50c1tCXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoUixKKSYmKFZbSl09UltKXSk7cmV0dXJuIFZ9LE4uYXBwbHkodGhpcyxhcmd1''@;'; put 'put ''bWVudHMpfSx6PXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihWLFIsQixxKXtyZXR1cm4gbmV3KEJ8fChCPVByb21pc2UpKShmdW5jdGlvbihKLCQpe2Z1bmN0aW9uIHRlKHkpe3RyeXtiKHEubmV4dCh5KSl9Y2F0Y2gocCl7JChwKX19ZnVuY3Rpb24gaCh5KXt0cnl7YihxLnRocm93''@;'; put 'put ''KHkpKX1jYXRjaChwKXskKHApfX1mdW5jdGlvbiBiKHkpe3ZhciBwO3kuZG9uZT9KKHkudmFsdWUpOihwPXkudmFsdWUscCBpbnN0YW5jZW9mIEI/cDpuZXcgQihmdW5jdGlvbihnKXtnKHApfSkpLnRoZW4odGUsaCl9YigocT1xLmFwcGx5KFYsUnx8W10pKS5uZXh0KCkpfSl9LEM9dGhpcyYm''@;'; put 'put ''dGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oVixSKXt2YXIgQixxLEosJCx0ZT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZKWzBdKXRocm93IEpbMV07cmV0dXJuIEpbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gJD17bmV4dDpoKDApLHRocm93OmgoMSkscmV0dXJuOmgoMil9''@;'; put 'put ''LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJigkW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLCQ7ZnVuY3Rpb24gaChiKXtyZXR1cm4gZnVuY3Rpb24oeSl7cmV0dXJuIGZ1bmN0aW9uKHApe2lmKEIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlz''@;'; put 'put ''IGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7dGU7KXRyeXtpZihCPTEscSYmKEo9MiZwWzBdP3EucmV0dXJuOnBbMF0/cS50aHJvd3x8KChKPXEucmV0dXJuKSYmSi5jYWxsKHEpLDApOnEubmV4dCkmJiEoSj1KLmNhbGwocSxwWzFdKSkuZG9uZSlyZXR1cm4gSjtzd2l0Y2gocT0wLEomJihw''@;'; put 'put ''PVsyJnBbMF0sSi52YWx1ZV0pLHBbMF0pe2Nhc2UgMDpjYXNlIDE6Sj1wO2JyZWFrO2Nhc2UgNDpyZXR1cm4gdGUubGFiZWwrKyx7dmFsdWU6cFsxXSxkb25lOiExfTtjYXNlIDU6dGUubGFiZWwrKyxxPXBbMV0scD1bMF07Y29udGludWU7Y2FzZSA3OnA9dGUub3BzLnBvcCgpLHRlLnRyeXMu''@;'; put 'put ''cG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChKPShKPXRlLnRyeXMpLmxlbmd0aD4wJiZKW0oubGVuZ3RoLTFdKXx8NiE9PXBbMF0mJjIhPT1wWzBdKSl7dGU9MDtjb250aW51ZX1pZigzPT09cFswXSYmKCFKfHxwWzFdPkpbMF0mJnBbMV08SlszXSkpe3RlLmxhYmVsPXBbMV07YnJlYWt9''@;'; put 'put ''aWYoNj09PXBbMF0mJnRlLmxhYmVsPEpbMV0pe3RlLmxhYmVsPUpbMV0sSj1wO2JyZWFrfWlmKEomJnRlLmxhYmVsPEpbMl0pe3RlLmxhYmVsPUpbMl0sdGUub3BzLnB1c2gocCk7YnJlYWt9SlsyXSYmdGUub3BzLnBvcCgpLHRlLnRyeXMucG9wKCk7Y29udGludWV9cD1SLmNhbGwoVix0ZSl9''@;'; put 'put ''Y2F0Y2goZyl7cD1bNixnXSxxPTB9ZmluYWxseXtCPUo9MH1pZig1JnBbMF0pdGhyb3cgcFsxXTtyZXR1cm57dmFsdWU6cFswXT9wWzFdOnZvaWQgMCxkb25lOiEwfX0oW2IseV0pfX19LFM9dGhpcyYmdGhpcy5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihWLFIsQil7aWYoQnx8Mj09PWFyZ3Vt''@;'; put 'put ''ZW50cy5sZW5ndGgpZm9yKHZhciBxLEo9MCwkPVIubGVuZ3RoO0o8JDtKKyspIXEmJkogaW4gUnx8KHF8fChxPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKFIsMCxKKSkscVtKXT1SW0pdKTtyZXR1cm4gVi5jb25jYXQocXx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoUikpfTtPYmpl''@;'; put 'put ''Y3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG09aig1OTI4KSxGPWooMTIzMCksRD1qKDk4MjEpLHc9aig4MzA2KSxQPWooMzQ2NyksTT1qKDE1MjcpLGs9aigzOTAwKSxPPWooNDU4OCksTD1qKDM2MDIpLFQ9aig4MjE3KSxZPWooMTM5NSksST17c2Vy''@;'; put 'put ''dmVyVXJsOiIiLHBhdGhTQVNKUzoiL1NBU2pzQXBpL3N0cC9leGVjdXRlIixwYXRoU0FTOToiL1NBU1N0b3JlZFByb2Nlc3MvZG8iLHBhdGhTQVNWaXlhOiIvU0FTSm9iRXhlY3V0aW9uIixhcHBMb2M6Ii9QdWJsaWMvc2VlZGFwcCIsc2VydmVyVHlwZTprLlNlcnZlclR5cGUuU2FzVml5YSxk''@;'; put 'put ''ZWJ1ZzohMSxjb250ZXh0TmFtZToiU0FTIEpvYiBFeGVjdXRpb24gY29tcHV0ZSBjb250ZXh0Iix1c2VDb21wdXRlQXBpOm51bGwsbG9naW5NZWNoYW5pc206Ri5Mb2dpbk1lY2hhbmlzbS5EZWZhdWx0fSxVPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gVihSKXt2YXIgQj10aGlzO3RoaXMuc2FzanND''@;'; put 'put ''b25maWc9bmV3IEYuU0FTanNDb25maWcsdGhpcy5qb2JzUGF0aD0iIix0aGlzLnNhc1ZpeWFBcGlDbGllbnQ9bnVsbCx0aGlzLnNhczlBcGlDbGllbnQ9bnVsbCx0aGlzLnNhc0pTQXBpQ2xpZW50PW51bGwsdGhpcy5maWxlVXBsb2FkZXI9bnVsbCx0aGlzLmF1dGhNYW5hZ2VyPW51bGwsdGhp''@;'; put 'put ''cy5yZXF1ZXN0Q2xpZW50PW51bGwsdGhpcy53ZWJKb2JFeGVjdXRvcj1udWxsLHRoaXMuc2FzanNKb2JFeGVjdXRvcj1udWxsLHRoaXMuY29tcHV0ZUpvYkV4ZWN1dG9yPW51bGwsdGhpcy5qZXNKb2JFeGVjdXRvcj1udWxsLHRoaXMuc2FzOUpvYkV4ZWN1dG9yPW51bGwsdGhpcy5yZXNlbmRX''@;'; put 'put ''YWl0aW5nUmVxdWVzdHM9ZnVuY3Rpb24oKXtyZXR1cm4geihCLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcSxKLCQsdGU7cmV0dXJuIEModGhpcyxmdW5jdGlvbihoKXtzd2l0Y2goaC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LG51bGw9PT0ocT10aGlzLndlYkpvYkV4ZWN1dG9yKXx8''@;'; put 'put ''dm9pZCAwPT09cT92b2lkIDA6cS5yZXNlbmRXYWl0aW5nUmVxdWVzdHMoKV07Y2FzZSAxOnJldHVybiBoLnNlbnQoKSxbNCxudWxsPT09KEo9dGhpcy5jb21wdXRlSm9iRXhlY3V0b3IpfHx2b2lkIDA9PT1KP3ZvaWQgMDpKLnJlc2VuZFdhaXRpbmdSZXF1ZXN0cygpXTtjYXNlIDI6cmV0dXJu''@;'; put 'put ''IGguc2VudCgpLFs0LG51bGw9PT0oJD10aGlzLmplc0pvYkV4ZWN1dG9yKXx8dm9pZCAwPT09JD92b2lkIDA6JC5yZXNlbmRXYWl0aW5nUmVxdWVzdHMoKV07Y2FzZSAzOnJldHVybiBoLnNlbnQoKSxbNCxudWxsPT09KHRlPXRoaXMuZmlsZVVwbG9hZGVyKXx8dm9pZCAwPT09dGU/dm9pZCAw''@;'; put 'put ''OnRlLnJlc2VuZFdhaXRpbmdSZXF1ZXN0cygpXTtjYXNlIDQ6cmV0dXJuIGguc2VudCgpLFsyXX19KX0pfSx0aGlzLnNhc2pzQ29uZmlnPU4oTih7fSxJKSxSKSx0aGlzLnNldHVwQ29uZmlndXJhdGlvbigpfXJldHVybiBWLnByb3RvdHlwZS5nZXRDc3JmVG9rZW49ZnVuY3Rpb24oUil7dmFy''@;'; put 'put ''IEI7cmV0dXJuIHZvaWQgMD09PVImJihSPSJnZW5lcmFsIiksbnVsbD09PShCPXRoaXMucmVxdWVzdENsaWVudCl8fHZvaWQgMD09PUI/dm9pZCAwOkIuZ2V0Q3NyZlRva2VuKFIpfSxWLnByb3RvdHlwZS5leGVjdXRlU2NyaXB0U0FTOT1mdW5jdGlvbihSLEIscSl7dmFyIEo7cmV0dXJuIHoo''@;'; put 'put ''dGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcyxmdW5jdGlvbigkKXtzd2l0Y2goJC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmlzTWV0aG9kU3VwcG9ydGVkKCJleGVjdXRlU2NyaXB0U0FTOSIsW2suU2VydmVyVHlwZS5TYXM5XSksWzQsbnVsbD09PShKPXRo''@;'; put 'put ''aXMuc2FzOUFwaUNsaWVudCl8fHZvaWQgMD09PUo/dm9pZCAwOkouZXhlY3V0ZVNjcmlwdChSLEIscSldO2Nhc2UgMTpyZXR1cm5bMiwkLnNlbnQoKV19fSl9KX0sVi5wcm90b3R5cGUuZXhlY3V0ZVNjcmlwdFNBU2pzPWZ1bmN0aW9uKFIsQixxKXt2YXIgSjtyZXR1cm4geih0aGlzLHZvaWQg''@;'; put 'put ''MCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKCQpe3N3aXRjaCgkLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImV4ZWN1dGVTY3JpcHRTQVNKUyIsW2suU2VydmVyVHlwZS5TYXNqc10pLFs0LG51bGw9PT0oSj10aGlzLnNhc0pT''@;'; put 'put ''QXBpQ2xpZW50KXx8dm9pZCAwPT09Sj92b2lkIDA6Si5leGVjdXRlU2NyaXB0KFIsQixxKV07Y2FzZSAxOnJldHVyblsyLCQuc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5leGVjdXRlU2NyaXB0U0FTVml5YT1mdW5jdGlvbihSLEIscSxKLCQpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQg''@;'; put 'put ''MCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24odGUpe3N3aXRjaCh0ZS5sYWJlbCl7Y2FzZSAwOmlmKHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImV4ZWN1dGVTY3JpcHRTQVNWaXlhIixbay5TZXJ2ZXJUeXBlLlNhc1ZpeWFdKSwhKHE9cXx8dGhpcy5zYXNqc0NvbmZpZy5jb250''@;'; put 'put ''ZXh0TmFtZSkpdGhyb3cgbmV3IEVycm9yKCJDb250ZXh0IG5hbWUgaXMgdW5kZWZpbmVkLiBQbGVhc2Ugc2V0IGEgYGNvbnRleHROYW1lYCBpbiB5b3VyIFNBU2pzIG9yIG92ZXJyaWRlIGNvbmZpZy4iKTtyZXR1cm5bNCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuZXhlY3V0ZVNjcmlwdChSLEIs''@;'; put 'put ''cSxKLG51bGwsJHx8dGhpcy5zYXNqc0NvbmZpZy5kZWJ1ZyldO2Nhc2UgMTpyZXR1cm5bMix0ZS5zZW50KCldfX0pfSl9LFYucHJvdG90eXBlLmdldENvbXB1dGVDb250ZXh0cz1mdW5jdGlvbihSKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlz''@;'; put 'put ''LGZ1bmN0aW9uKEIpe3N3aXRjaChCLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImdldENvbXB1dGVDb250ZXh0cyIsW2suU2VydmVyVHlwZS5TYXNWaXlhXSksWzQsdGhpcy5zYXNWaXlhQXBpQ2xpZW50LmdldENvbXB1dGVDb250ZXh0cyhSKV07Y2FzZSAx''@;'; put 'put ''OnJldHVyblsyLEIuc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5nZXRMYXVuY2hlckNvbnRleHRzPWZ1bmN0aW9uKFIpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24oQil7c3dpdGNoKEIubGFiZWwpe2Nhc2UgMDpyZXR1cm4g''@;'; put 'put ''dGhpcy5pc01ldGhvZFN1cHBvcnRlZCgiZ2V0TGF1bmNoZXJDb250ZXh0cyIsW2suU2VydmVyVHlwZS5TYXNWaXlhXSksWzQsdGhpcy5zYXNWaXlhQXBpQ2xpZW50LmdldExhdW5jaGVyQ29udGV4dHMoUildO2Nhc2UgMTpyZXR1cm5bMixCLnNlbnQoKV19fSl9KX0sVi5wcm90b3R5cGUuZ2V0''@;'; put 'put ''RGVmYXVsdENvbXB1dGVDb250ZXh0cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzTWV0aG9kU3VwcG9ydGVkKCJnZXREZWZhdWx0Q29tcHV0ZUNvbnRleHRzIixbay5TZXJ2ZXJUeXBlLlNhc1ZpeWFdKSx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuZ2V0RGVmYXVsdENvbXB1dGVDb250ZXh0cygp''@;'; put 'put ''fSxWLnByb3RvdHlwZS5nZXRFeGVjdXRhYmxlQ29udGV4dHM9ZnVuY3Rpb24oUil7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcyxmdW5jdGlvbihCKXtzd2l0Y2goQi5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmlzTWV0aG9kU3VwcG9ydGVk''@;'; put 'put ''KCJnZXRFeGVjdXRhYmxlQ29udGV4dHMiLFtrLlNlcnZlclR5cGUuU2FzVml5YV0pLFs0LHRoaXMuc2FzVml5YUFwaUNsaWVudC5nZXRFeGVjdXRhYmxlQ29udGV4dHMoUildO2Nhc2UgMTpyZXR1cm5bMixCLnNlbnQoKV19fSl9KX0sVi5wcm90b3R5cGUuY3JlYXRlQ29tcHV0ZUNvbnRleHQ9''@;'; put 'put ''ZnVuY3Rpb24oUixCLHEsSiwkLHRlKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKGgpe3N3aXRjaChoLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImNyZWF0ZUNvbXB1dGVDb250ZXh0Iixb''@;'; put 'put ''ay5TZXJ2ZXJUeXBlLlNhc1ZpeWFdKSxbNCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuY3JlYXRlQ29tcHV0ZUNvbnRleHQoUixCLHEsSiwkLHRlKV07Y2FzZSAxOnJldHVyblsyLGguc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5jcmVhdGVMYXVuY2hlckNvbnRleHQ9ZnVuY3Rpb24oUixCLHEs''@;'; put 'put ''Sil7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcyxmdW5jdGlvbigkKXtzd2l0Y2goJC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmlzTWV0aG9kU3VwcG9ydGVkKCJjcmVhdGVMYXVuY2hlckNvbnRleHQiLFtrLlNlcnZlclR5cGUuU2FzVml5''@;'; put 'put ''YV0pLFs0LHRoaXMuc2FzVml5YUFwaUNsaWVudC5jcmVhdGVMYXVuY2hlckNvbnRleHQoUixCLHEsSildO2Nhc2UgMTpyZXR1cm5bMiwkLnNlbnQoKV19fSl9KX0sVi5wcm90b3R5cGUuZWRpdENvbXB1dGVDb250ZXh0PWZ1bmN0aW9uKFIsQixxKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lk''@;'; put 'put ''IDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKEope3N3aXRjaChKLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImVkaXRDb21wdXRlQ29udGV4dCIsW2suU2VydmVyVHlwZS5TYXNWaXlhXSksWzQsdGhpcy5zYXNWaXlhQXBpQ2xpZW50LmVk''@;'; put 'put ''aXRDb21wdXRlQ29udGV4dChSLEIscSldO2Nhc2UgMTpyZXR1cm5bMixKLnNlbnQoKV19fSl9KX0sVi5wcm90b3R5cGUuZGVsZXRlQ29tcHV0ZUNvbnRleHQ9ZnVuY3Rpb24oUixCKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9u''@;'; put 'put ''KHEpe3N3aXRjaChxLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImRlbGV0ZUNvbXB1dGVDb250ZXh0Iixbay5TZXJ2ZXJUeXBlLlNhc1ZpeWFdKSxbNCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuZGVsZXRlQ29tcHV0ZUNvbnRleHQoUixCKV07Y2FzZSAxOnJl''@;'; put 'put ''dHVyblsyLHEuc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5nZXRDb21wdXRlQ29udGV4dEJ5TmFtZT1mdW5jdGlvbihSLEIpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24ocSl7c3dpdGNoKHEubGFiZWwpe2Nhc2UgMDpyZXR1''@;'; put 'put ''cm4gdGhpcy5pc01ldGhvZFN1cHBvcnRlZCgiZ2V0Q29tcHV0ZUNvbnRleHRCeU5hbWUiLFtrLlNlcnZlclR5cGUuU2FzVml5YV0pLFs0LHRoaXMuc2FzVml5YUFwaUNsaWVudC5nZXRDb21wdXRlQ29udGV4dEJ5TmFtZShSLEIpXTtjYXNlIDE6cmV0dXJuWzIscS5zZW50KCldfX0pfSl9LFYu''@;'; put 'put ''cHJvdG90eXBlLmdldENvbXB1dGVDb250ZXh0QnlJZD1mdW5jdGlvbihSLEIpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24ocSl7c3dpdGNoKHEubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5pc01ldGhvZFN1cHBvcnRlZCgi''@;'; put 'put ''Z2V0Q29tcHV0ZUNvbnRleHRCeUlkIixbay5TZXJ2ZXJUeXBlLlNhc1ZpeWFdKSxbNCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuZ2V0Q29tcHV0ZUNvbnRleHRCeUlkKFIsQildO2Nhc2UgMTpyZXR1cm5bMixxLnNlbnQoKV19fSl9KX0sVi5wcm90b3R5cGUuY3JlYXRlU2Vzc2lvbj1mdW5jdGlv''@;'; put 'put ''bihSLEIpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24ocSl7c3dpdGNoKHEubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5pc01ldGhvZFN1cHBvcnRlZCgiY3JlYXRlU2Vzc2lvbiIsW2suU2VydmVyVHlwZS5TYXNWaXlhXSks''@;'; put 'put ''WzQsdGhpcy5zYXNWaXlhQXBpQ2xpZW50LmNyZWF0ZVNlc3Npb24oUixCKV07Y2FzZSAxOnJldHVyblsyLHEuc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5jcmVhdGVGb2xkZXI9ZnVuY3Rpb24oUixCLHEsSiwkLHRlKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXty''@;'; put 'put ''ZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKGgpe3N3aXRjaChoLmxhYmVsKXtjYXNlIDA6cmV0dXJuICQ/WzQsJC5jcmVhdGVGb2xkZXIoUixCLHEsSildOlszLDJdO2Nhc2UgMTpjYXNlIDM6cmV0dXJuWzIsaC5zZW50KCldO2Nhc2UgMjpyZXR1cm5bNCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuY3Jl''@;'; put 'put ''YXRlRm9sZGVyKFIsQixxLEosdGUpXX19KX0pfSxWLnByb3RvdHlwZS5jcmVhdGVGaWxlPWZ1bmN0aW9uKFIsQixxLEosJCx0ZSl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcyxmdW5jdGlvbihoKXtzd2l0Y2goaC5sYWJlbCl7Y2FzZSAwOnJl''@;'; put 'put ''dHVybiB0ZT9bNCx0ZS5jcmVhdGVGaWxlKFIsQixxLEosJCldOlszLDJdO2Nhc2UgMTpjYXNlIDM6cmV0dXJuWzIsaC5zZW50KCldO2Nhc2UgMjpyZXR1cm5bNCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuY3JlYXRlRmlsZShSLEIscSxKLCQpXX19KX0pfSxWLnByb3RvdHlwZS5nZXRGb2xkZXI9''@;'; put 'put ''ZnVuY3Rpb24oUixCKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKHEpe3N3aXRjaChxLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImdldEZvbGRlciIsW2suU2VydmVyVHlwZS5TYXNWaXlh''@;'; put 'put ''XSksWzQsdGhpcy5zYXNWaXlhQXBpQ2xpZW50LmdldEZvbGRlcihSLEIpXTtjYXNlIDE6cmV0dXJuWzIscS5zZW50KCldfX0pfSl9LFYucHJvdG90eXBlLmRlbGV0ZUZvbGRlcj1mdW5jdGlvbihSLEIpe3ZhciBxO3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biBDKHRoaXMsZnVuY3Rpb24oSil7c3dpdGNoKEoubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5pc01ldGhvZFN1cHBvcnRlZCgiZGVsZXRlRm9sZGVyIixbay5TZXJ2ZXJUeXBlLlNhc1ZpeWFdKSxbNCxudWxsPT09KHE9dGhpcy5zYXNWaXlhQXBpQ2xpZW50KXx8dm9pZCAwPT09cT92b2lk''@;'; put 'put ''IDA6cS5kZWxldGVGb2xkZXIoUixCKV07Y2FzZSAxOnJldHVyblsyLEouc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5saXN0Rm9sZGVyPWZ1bmN0aW9uKFIsQixxKXt2YXIgSjtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKCQp''@;'; put 'put ''e3N3aXRjaCgkLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImxpc3RGb2xkZXIiLFtrLlNlcnZlclR5cGUuU2FzVml5YV0pLFs0LG51bGw9PT0oSj10aGlzLnNhc1ZpeWFBcGlDbGllbnQpfHx2b2lkIDA9PT1KP3ZvaWQgMDpKLmxpc3RGb2xkZXIoUixCLHEp''@;'; put 'put ''XTtjYXNlIDE6cmV0dXJuWzIsJC5zZW50KCldfX0pfSl9LFYucHJvdG90eXBlLm1vdmVGb2xkZXI9ZnVuY3Rpb24oUixCLHEsSil7dmFyICQ7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcyxmdW5jdGlvbih0ZSl7c3dpdGNoKHRlLmxhYmVsKXtj''@;'; put 'put ''YXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoIm1vdmVGb2xkZXIiLFtrLlNlcnZlclR5cGUuU2FzVml5YV0pLFs0LG51bGw9PT0oJD10aGlzLnNhc1ZpeWFBcGlDbGllbnQpfHx2b2lkIDA9PT0kP3ZvaWQgMDokLm1vdmVGb2xkZXIoUixCLHEsSildO2Nhc2UgMTpyZXR1cm5b''@;'; put 'put ''Mix0ZS5zZW50KCldfX0pfSl9LFYucHJvdG90eXBlLmNyZWF0ZUpvYkRlZmluaXRpb249ZnVuY3Rpb24oUixCLHEsSiwkLHRlKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKGgpe3N3aXRjaChoLmxhYmVsKXtjYXNlIDA6cmV0''@;'; put 'put ''dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoImNyZWF0ZUpvYkRlZmluaXRpb24iLFtrLlNlcnZlclR5cGUuU2FzVml5YV0pLHRlP1s0LHRlLmNyZWF0ZUpvYkRlZmluaXRpb24oUixCLHEsSiwkKV06WzMsMl07Y2FzZSAxOmNhc2UgMzpyZXR1cm5bMixoLnNlbnQoKV07Y2FzZSAyOnJldHVy''@;'; put 'put ''bls0LHRoaXMuc2FzVml5YUFwaUNsaWVudC5jcmVhdGVKb2JEZWZpbml0aW9uKFIsQixxLEosJCldfX0pfSl9LFYucHJvdG90eXBlLmdldEF1dGhDb2RlPWZ1bmN0aW9uKFIpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24oQil7''@;'; put 'put ''c3dpdGNoKEIubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5pc01ldGhvZFN1cHBvcnRlZCgiZ2V0QXV0aENvZGUiLFtrLlNlcnZlclR5cGUuU2FzVml5YV0pLFs0LHRoaXMuc2FzVml5YUFwaUNsaWVudC5nZXRBdXRoQ29kZShSKV07Y2FzZSAxOnJldHVyblsyLEIuc2VudCgpXX19KX0pfSxW''@;'; put 'put ''LnByb3RvdHlwZS5nZXRBY2Nlc3NUb2tlbj1mdW5jdGlvbihSLEIscSl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIEModGhpcyxmdW5jdGlvbihKKXtzd2l0Y2goSi5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmlzTWV0aG9kU3VwcG9ydGVkKCJnZXRB''@;'; put 'put ''Y2Nlc3NUb2tlbiIsW2suU2VydmVyVHlwZS5TYXNWaXlhLGsuU2VydmVyVHlwZS5TYXNqc10pLHRoaXMuc2FzanNDb25maWcuc2VydmVyVHlwZSE9PWsuU2VydmVyVHlwZS5TYXNqcz9bMywyXTpbNCx0aGlzLnNhc0pTQXBpQ2xpZW50LmdldEFjY2Vzc1Rva2VuKFIscSldO2Nhc2UgMTpjYXNl''@;'; put 'put ''IDM6cmV0dXJuWzIsSi5zZW50KCldO2Nhc2UgMjpyZXR1cm5bNCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQuZ2V0QWNjZXNzVG9rZW4oUixCLHEpXX19KX0pfSxWLnByb3RvdHlwZS5yZWZyZXNoVG9rZW5zPWZ1bmN0aW9uKFIsQixxKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rp''@;'; put 'put ''b24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKEope3N3aXRjaChKLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoInJlZnJlc2hUb2tlbnMiLFtrLlNlcnZlclR5cGUuU2FzVml5YSxrLlNlcnZlclR5cGUuU2FzanNdKSx0aGlzLnNhc2pzQ29uZmlnLnNlcnZl''@;'; put 'put ''clR5cGUhPT1rLlNlcnZlclR5cGUuU2FzanM/WzMsMl06WzQsdGhpcy5zYXNKU0FwaUNsaWVudC5yZWZyZXNoVG9rZW5zKHEpXTtjYXNlIDE6Y2FzZSAzOnJldHVyblsyLEouc2VudCgpXTtjYXNlIDI6cmV0dXJuWzQsdGhpcy5zYXNWaXlhQXBpQ2xpZW50LnJlZnJlc2hUb2tlbnMoUixCLHEp''@;'; put 'put ''XX19KX0pfSxWLnByb3RvdHlwZS5kZWxldGVDbGllbnQ9ZnVuY3Rpb24oUixCKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKHEpe3N3aXRjaChxLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQo''@;'; put 'put ''ImRlbGV0ZUNsaWVudCIsW2suU2VydmVyVHlwZS5TYXNWaXlhXSksWzQsdGhpcy5zYXNWaXlhQXBpQ2xpZW50LmRlbGV0ZUNsaWVudChSLEIpXTtjYXNlIDE6cmV0dXJuWzIscS5zZW50KCldfX0pfSl9LFYucHJvdG90eXBlLmdldFNhc2pzQ29uZmlnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu''@;'; put 'put ''c2FzanNDb25maWd9LFYucHJvdG90eXBlLmdldFVzZXJOYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXV0aE1hbmFnZXIudXNlck5hbWV9LFYucHJvdG90eXBlLnNldFNBU2pzQ29uZmlnPWZ1bmN0aW9uKFIpe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biBDKHRoaXMsZnVuY3Rpb24oQil7cmV0dXJuIHRoaXMuc2FzanNDb25maWc9TihOKHt9LHRoaXMuc2FzanNDb25maWcpLFIpLHRoaXMuc2V0dXBDb25maWd1cmF0aW9uKCksWzJdfSl9KX0sVi5wcm90b3R5cGUuc2V0RGVidWdTdGF0ZT1mdW5jdGlvbihSKXt0aGlzLnNhc2pzQ29uZmlnLmRl''@;'; put 'put ''YnVnPVIsdGhpcy5zYXNWaXlhQXBpQ2xpZW50JiYodGhpcy5zYXNWaXlhQXBpQ2xpZW50LmRlYnVnPVIpfSxWLnByb3RvdHlwZS5jaGVja1Nlc3Npb249ZnVuY3Rpb24oKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKFIpe3Jl''@;'; put 'put ''dHVyblsyLHRoaXMuYXV0aE1hbmFnZXIuY2hlY2tTZXNzaW9uKCldfSl9KX0sVi5wcm90b3R5cGUubG9nSW49ZnVuY3Rpb24oUixCLHEsSil7cmV0dXJuIHZvaWQgMD09PUomJihKPXt9KSx6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24oJCl7''@;'; put 'put ''aWYodGhpcy5zYXNqc0NvbmZpZy5sb2dpbk1lY2hhbmlzbT09PUYuTG9naW5NZWNoYW5pc20uRGVmYXVsdCl7aWYoIVJ8fCFCKXRocm93IG5ldyBFcnJvcigiQSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgYXJlIHJlcXVpcmVkIHdoZW4gdXNpbmcgdGhlIGRlZmF1bHQgbG9naW4gbWVjaGFuaXNt''@;'; put 'put ''LiIpO3JldHVyblsyLHRoaXMuYXV0aE1hbmFnZXIubG9nSW4oUixCKV19aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3cpdGhyb3cgbmV3IEVycm9yKCJUaGUgcmVkaXJlY3RlZCBsb2dpbiBtZWNoYW5pc20gaXMgb25seSBhdmFpbGFibGUgZm9yIHVzZSBpbiB0aGUgYnJvd3Nlci4iKTty''@;'; put 'put ''ZXR1cm5bMix0aGlzLmF1dGhNYW5hZ2VyLnJlZGlyZWN0ZWRMb2dJbihKKV19KX0pfSxWLnByb3RvdHlwZS5sb2dPdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdXRoTWFuYWdlci5sb2dPdXQoKX0sVi5wcm90b3R5cGUudXBsb2FkRmlsZT1mdW5jdGlvbihSLEIscSxKLCQpe3JldHVybiB2''@;'; put 'put ''b2lkIDA9PT1KJiYoSj17fSkseih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKGgpe3N3aXRjaChoLmxhYmVsKXtjYXNlIDA6cmV0dXJuIEo9TihOKHt9LHRoaXMuc2FzanNDb25maWcpLEopLFs0LHRoaXMuZmlsZVVwbG9hZGVyLmV4ZWN1dGUo''@;'; put 'put ''Uix7ZmlsZXM6QixwYXJhbXM6cX0sSiwkKV07Y2FzZSAxOnJldHVyblsyLGguc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKFIsQixxLEosJCx0ZSl7cmV0dXJuIHZvaWQgMD09PXEmJihxPXt9KSx2b2lkIDA9PT10ZSYmKHRlPVtdKSx6KHRoaXMsdm9pZCAwLHZv''@;'; put 'put ''aWQgMCxmdW5jdGlvbigpe3ZhciBoO3JldHVybiBDKHRoaXMsZnVuY3Rpb24oYil7c3dpdGNoKGIubGFiZWwpe2Nhc2UgMDpyZXR1cm4gcT1OKE4oe30sdGhpcy5zYXNqc0NvbmZpZykscSksKGg9KDAsbS52YWxpZGF0ZUlucHV0KShCKSkuc3RhdHVzP3Euc2VydmVyVHlwZSE9PWsuU2VydmVy''@;'; put 'put ''VHlwZS5TYXNqcz9bMywyXTpbNCx0aGlzLnNhc2pzSm9iRXhlY3V0b3IuZXhlY3V0ZShSLEIscSxKLCQsdGUpXTpbMywxMl07Y2FzZSAxOmNhc2UgMzpjYXNlIDU6Y2FzZSA4OmNhc2UgMTA6cmV0dXJuWzIsYi5zZW50KCldO2Nhc2UgMjpyZXR1cm4gcS5zZXJ2ZXJUeXBlIT09ay5TZXJ2ZXJU''@;'; put 'put ''eXBlLlNhc1ZpeWF8fG51bGw9PXEudXNlQ29tcHV0ZUFwaT9bMyw3XTpxLnVzZUNvbXB1dGVBcGk/WzQsdGhpcy5jb21wdXRlSm9iRXhlY3V0b3IuZXhlY3V0ZShSLEIscSxKLCQpXTpbMyw0XTtjYXNlIDQ6cmV0dXJuIHEuY29udGV4dE5hbWV8fChxPU4oTih7fSxxKSx7Y29udGV4dE5hbWU6''@;'; put 'put ''IlNBUyBKb2IgRXhlY3V0aW9uIGNvbXB1dGUgY29udGV4dCJ9KSksWzQsdGhpcy5qZXNKb2JFeGVjdXRvci5leGVjdXRlKFIsQixxLEosJCx0ZSldO2Nhc2UgNjpyZXR1cm5bMywxMV07Y2FzZSA3OnJldHVybiBxLnNlcnZlclR5cGU9PT1rLlNlcnZlclR5cGUuU2FzOSYmcS51c2VybmFtZSYm''@;'; put 'put ''cS5wYXNzd29yZD9bNCx0aGlzLnNhczlKb2JFeGVjdXRvci5leGVjdXRlKFIsQixxKV06WzMsOV07Y2FzZSA5OnJldHVybls0LHRoaXMud2ViSm9iRXhlY3V0b3IuZXhlY3V0ZShSLEIscSxKLCQsdGUpXTtjYXNlIDExOnJldHVyblszLDEzXTtjYXNlIDEyOnJldHVyblsyLFByb21pc2UucmVq''@;'; put 'put ''ZWN0KG5ldyBZLkVycm9yUmVzcG9uc2UoaC5tc2cpKV07Y2FzZSAxMzpyZXR1cm5bMl19fSl9KX0sVi5wcm90b3R5cGUuZGVwbG95U2VydmljZVBhY2s9ZnVuY3Rpb24oUixCLHEsSiwkKXtyZXR1cm4gdm9pZCAwPT09JCYmKCQ9ITEpLHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7''@;'; put 'put ''dmFyIHRlLGg7cmV0dXJuIEModGhpcyxmdW5jdGlvbih5KXtzd2l0Y2goeS5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmlzTWV0aG9kU3VwcG9ydGVkKCJkZXBsb3lTZXJ2aWNlUGFjayIsW2suU2VydmVyVHlwZS5TYXNWaXlhXSksdGU9bnVsbCxxfHxCPyhxfHwocT10aGlzLnNhc2pzQ29u''@;'; put 'put ''ZmlnLnNlcnZlclVybCksQnx8KEI9dGhpcy5zYXNqc0NvbmZpZy5hcHBMb2MpLHRoaXMuc2FzanNDb25maWcuc2VydmVyVHlwZT09PWsuU2VydmVyVHlwZS5TYXNWaXlhPyh0ZT1uZXcgRC5TQVNWaXlhQXBpQ2xpZW50KHEsQix0aGlzLnNhc2pzQ29uZmlnLmNvbnRleHROYW1lLHRoaXMucmVx''@;'; put 'put ''dWVzdENsaWVudCkpLmRlYnVnPXRoaXMuc2FzanNDb25maWcuZGVidWc6dGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJUeXBlPT09ay5TZXJ2ZXJUeXBlLlNhczkmJih0ZT1uZXcgdy5TQVM5QXBpQ2xpZW50KHEsdGhpcy5qb2JzUGF0aCx0aGlzLnNhc2pzQ29uZmlnLmh0dHBzQWdlbnRPcHRpb25z''@;'; put 'put ''KSkpOihoPW51bGwsdGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJUeXBlPT09ay5TZXJ2ZXJUeXBlLlNhc1ZpeWE/aD10aGlzLnNhc1ZpeWFBcGlDbGllbnQuZ2V0Q29uZmlnKCk6dGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJUeXBlPT09ay5TZXJ2ZXJUeXBlLlNhczkmJihoPXRoaXMuc2FzOUFwaUNs''@;'; put 'put ''aWVudC5nZXRDb25maWcoKSkscT1oLnNlcnZlclVybCxCPWgucm9vdEZvbGRlck5hbWUpLFIubWVtYmVyc1swXS5tZW1iZXJzJiZSLm1lbWJlcnNbMF0ubWVtYmVycy5zb3J0KGZ1bmN0aW9uKHApe3JldHVybiJmb2xkZXIiPT09cC50eXBlPy0xOjF9KSxbNCx0aGlzLmNyZWF0ZUZvbGRlcnNB''@;'; put 'put ''bmRTZXJ2aWNlcyhCLFIubWVtYmVycyxKLHRlLCQpXTtjYXNlIDE6cmV0dXJuIHkuc2VudCgpLFsyXX19KX0pfSxWLnByb3RvdHlwZS5kZXBsb3lUb1NBU2pzPWZ1bmN0aW9uKFIsQixxKXt2YXIgSjtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlz''@;'; put 'put ''LGZ1bmN0aW9uKCQpe3N3aXRjaCgkLmxhYmVsKXtjYXNlIDA6cmV0dXJuIEJ8fChCPXRoaXMuc2FzanNDb25maWcuYXBwTG9jKSxbNCxudWxsPT09KEo9dGhpcy5zYXNKU0FwaUNsaWVudCl8fHZvaWQgMD09PUo/dm9pZCAwOkouZGVwbG95KFIsQixxKV07Y2FzZSAxOnJldHVyblsyLCQuc2Vu''@;'; put 'put ''dCgpXX19KX0pfSxWLnByb3RvdHlwZS5leGVjdXRlSm9iU0FTanM9ZnVuY3Rpb24oUixCKXt2YXIgcTtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKEope3N3aXRjaChKLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsbnVsbD09PShx''@;'; put 'put ''PXRoaXMuc2FzSlNBcGlDbGllbnQpfHx2b2lkIDA9PT1xP3ZvaWQgMDpxLmV4ZWN1dGVKb2IoUixCKV07Y2FzZSAxOnJldHVyblsyLEouc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5zdGFydENvbXB1dGVKb2I9ZnVuY3Rpb24oUixCLHEsSiwkLHRlLGgsYil7dmFyIHk7cmV0dXJuIHZvaWQg''@;'; put 'put ''MD09PXEmJihxPXt9KSx2b2lkIDA9PT1oJiYoaD0hMSkseih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKHApe2lmKHE9TihOKHt9LHRoaXMuc2FzanNDb25maWcpLHEpLHRoaXMuaXNNZXRob2RTdXBwb3J0ZWQoInN0YXJ0Q29tcHV0ZUpvYiIs''@;'; put 'put ''W2suU2VydmVyVHlwZS5TYXNWaXlhXSksIXEuY29udGV4dE5hbWUpdGhyb3cgbmV3IEVycm9yKCJDb250ZXh0IG5hbWUgaXMgdW5kZWZpbmVkLiBQbGVhc2Ugc2V0IGEgYGNvbnRleHROYW1lYCBpbiB5b3VyIFNBU2pzIG9yIG92ZXJyaWRlIGNvbmZpZy4iKTtyZXR1cm5bMixudWxsPT09KHk9''@;'; put 'put ''dGhpcy5zYXNWaXlhQXBpQ2xpZW50KXx8dm9pZCAwPT09eT92b2lkIDA6eS5leGVjdXRlQ29tcHV0ZUpvYihSLHEuY29udGV4dE5hbWUscS5kZWJ1ZyxCLEosISEkLCExLHRlLGgsYildfSl9KX0sVi5wcm90b3R5cGUuZmV0Y2hMb2dGaWxlQ29udGVudD1mdW5jdGlvbihSLEIpe3JldHVybiB6''@;'; put 'put ''KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24ocSl7c3dpdGNoKHEubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KFIsQikudGhlbihmdW5jdGlvbihKKXtpZighSilyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3''@;'; put 'put ''IFkuRXJyb3JSZXNwb25zZSgiRXJyb3Igd2hpbGUgZmV0Y2hpbmcgbG9nLiBSZXNwb25zZSB3YXMgbm90IHByb3ZpZGVkLiIpKTt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KEoucmVzdWx0KX1jYXRjaCgkKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFkuRXJyb3JSZXNwb25zZSgiRXJy''@;'; put 'put ''b3Igd2hpbGUgZmV0Y2hpbmcgbG9nLiBUaGUgcmVzdWx0IGlzIG5vdCB2YWxpZC4iLCQpKX19KV07Y2FzZSAxOnJldHVyblsyLHEuc2VudCgpXX19KX0pfSxWLnByb3RvdHlwZS5nZXRTYXNSZXF1ZXN0cz1mdW5jdGlvbigpe3JldHVybiBTKFtdLHRoaXMucmVxdWVzdENsaWVudC5nZXRSZXF1''@;'; put 'put ''ZXN0cygpLCEwKS5zb3J0KG0uY29tcGFyZVRpbWVzdGFtcHMpfSxWLnByb3RvdHlwZS5jbGVhclNhc1JlcXVlc3RzPWZ1bmN0aW9uKCl7dGhpcy5yZXF1ZXN0Q2xpZW50LmNsZWFyUmVxdWVzdHMoKX0sVi5wcm90b3R5cGUuc2V0dXBDb25maWd1cmF0aW9uPWZ1bmN0aW9uKCl7aWYodm9pZCAw''@;'; put 'put ''PT09dGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJVcmx8fCIiPT09dGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJVcmwpaWYoInVuZGVmaW5lZCIhPXR5cGVvZiBsb2NhdGlvbil7dmFyIFI9IiIuY29uY2F0KGxvY2F0aW9uLnByb3RvY29sLCIvLyIpLmNvbmNhdChsb2NhdGlvbi5ob3N0bmFtZSk7bG9j''@;'; put 'put ''YXRpb24ucG9ydCYmKFI9IiIuY29uY2F0KFIsIjoiKS5jb25jYXQobG9jYXRpb24ucG9ydCkpLHRoaXMuc2FzanNDb25maWcuc2VydmVyVXJsPVJ9ZWxzZSB0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybD0iIjsiLyI9PT10aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybC5zbGljZSgtMSkmJih0''@;'; put 'put ''aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybD10aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybC5zbGljZSgwLC0xKSksdGhpcy5yZXF1ZXN0Q2xpZW50P3RoaXMucmVxdWVzdENsaWVudC5zZXRDb25maWcodGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJVcmwsdGhpcy5zYXNqc0NvbmZpZy5odHRwc0Fn''@;'; put 'put ''ZW50T3B0aW9ucyk6dGhpcy5yZXF1ZXN0Q2xpZW50PW5ldyh0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclR5cGU9PT1rLlNlcnZlclR5cGUuU2FzanM/TC5TYXNqc1JlcXVlc3RDbGllbnQ6Ty5SZXF1ZXN0Q2xpZW50KSh0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybCx0aGlzLnNhc2pzQ29uZmln''@;'; put 'put ''Lmh0dHBzQWdlbnRPcHRpb25zLHRoaXMuc2FzanNDb25maWcucmVxdWVzdEhpc3RvcnlMaW1pdCksdGhpcy5qb2JzUGF0aD10aGlzLnNhc2pzQ29uZmlnLnNlcnZlclR5cGU9PT1rLlNlcnZlclR5cGUuU2FzVml5YT90aGlzLnNhc2pzQ29uZmlnLnBhdGhTQVNWaXlhOnRoaXMuc2FzanNDb25m''@;'; put 'put ''aWcuc2VydmVyVHlwZT09PWsuU2VydmVyVHlwZS5TYXM5P3RoaXMuc2FzanNDb25maWcucGF0aFNBUzk6dGhpcy5zYXNqc0NvbmZpZy5wYXRoU0FTSlMsdGhpcy5hdXRoTWFuYWdlcj1uZXcgTS5BdXRoTWFuYWdlcih0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybCx0aGlzLnNhc2pzQ29uZmln''@;'; put 'put ''LnNlcnZlclR5cGUsdGhpcy5yZXF1ZXN0Q2xpZW50LHRoaXMucmVzZW5kV2FpdGluZ1JlcXVlc3RzKSx0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclR5cGU9PT1rLlNlcnZlclR5cGUuU2FzVml5YSYmKHRoaXMuc2FzVml5YUFwaUNsaWVudD90aGlzLnNhc1ZpeWFBcGlDbGllbnQuc2V0Q29uZmln''@;'; put 'put ''KHRoaXMuc2FzanNDb25maWcuc2VydmVyVXJsLHRoaXMuc2FzanNDb25maWcuYXBwTG9jKTp0aGlzLnNhc1ZpeWFBcGlDbGllbnQ9bmV3IEQuU0FTVml5YUFwaUNsaWVudCh0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybCx0aGlzLnNhc2pzQ29uZmlnLmFwcExvYyx0aGlzLnNhc2pzQ29uZmln''@;'; put 'put ''LmNvbnRleHROYW1lLHRoaXMucmVxdWVzdENsaWVudCksdGhpcy5zYXNWaXlhQXBpQ2xpZW50LmRlYnVnPXRoaXMuc2FzanNDb25maWcuZGVidWcpLHRoaXMuc2FzanNDb25maWcuc2VydmVyVHlwZT09PWsuU2VydmVyVHlwZS5TYXM5JiYodGhpcy5zYXM5QXBpQ2xpZW50P3RoaXMuc2FzOUFw''@;'; put 'put ''aUNsaWVudC5zZXRDb25maWcodGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJVcmwpOnRoaXMuc2FzOUFwaUNsaWVudD1uZXcgdy5TQVM5QXBpQ2xpZW50KHRoaXMuc2FzanNDb25maWcuc2VydmVyVXJsLHRoaXMuam9ic1BhdGgsdGhpcy5zYXNqc0NvbmZpZy5odHRwc0FnZW50T3B0aW9ucykpLHRo''@;'; put 'put ''aXMuc2FzanNDb25maWcuc2VydmVyVHlwZT09PWsuU2VydmVyVHlwZS5TYXNqcyYmKHRoaXMuc2FzSlNBcGlDbGllbnR8fCh0aGlzLnNhc0pTQXBpQ2xpZW50PW5ldyBQLlNBU2pzQXBpQ2xpZW50KHRoaXMucmVxdWVzdENsaWVudCkpKSx0aGlzLmZpbGVVcGxvYWRlcj1uZXcgVC5GaWxlVXBs''@;'; put 'put ''b2FkZXIodGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJVcmwsdGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJUeXBlLHRoaXMuam9ic1BhdGgsdGhpcy5yZXF1ZXN0Q2xpZW50KSx0aGlzLndlYkpvYkV4ZWN1dG9yPW5ldyBULldlYkpvYkV4ZWN1dG9yKHRoaXMuc2FzanNDb25maWcuc2VydmVyVXJsLHRo''@;'; put 'put ''aXMuc2FzanNDb25maWcuc2VydmVyVHlwZSx0aGlzLmpvYnNQYXRoLHRoaXMucmVxdWVzdENsaWVudCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQpLHRoaXMuc2FzanNKb2JFeGVjdXRvcj1uZXcgVC5TYXNqc0pvYkV4ZWN1dG9yKHRoaXMuc2FzanNDb25maWcuc2VydmVyVXJsLHRoaXMuam9ic1Bh''@;'; put 'put ''dGgsdGhpcy5yZXF1ZXN0Q2xpZW50KSx0aGlzLnNhczlKb2JFeGVjdXRvcj1uZXcgVC5TYXM5Sm9iRXhlY3V0b3IodGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJVcmwsdGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJUeXBlLHRoaXMuam9ic1BhdGgsdGhpcy5yZXF1ZXN0Q2xpZW50LHRoaXMuc2FzanND''@;'; put 'put ''b25maWcuaHR0cHNBZ2VudE9wdGlvbnMpLHRoaXMuY29tcHV0ZUpvYkV4ZWN1dG9yPW5ldyBULkNvbXB1dGVKb2JFeGVjdXRvcih0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclVybCx0aGlzLnNhc1ZpeWFBcGlDbGllbnQpLHRoaXMuamVzSm9iRXhlY3V0b3I9bmV3IFQuSmVzSm9iRXhlY3V0b3Io''@;'; put 'put ''dGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJVcmwsdGhpcy5zYXNWaXlhQXBpQ2xpZW50KX0sVi5wcm90b3R5cGUuY3JlYXRlRm9sZGVyc0FuZFNlcnZpY2VzPWZ1bmN0aW9uKFIsQixxLEosJCl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHRlPXRoaXM7cmV0dXJu''@;'; put 'put ''IEModGhpcyxmdW5jdGlvbihoKXtzd2l0Y2goaC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LCgwLG0uYXN5bmNGb3JFYWNoKShCLGZ1bmN0aW9uKGIpe3JldHVybiB6KHRlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKHkpe3N3aXRjaCh5LmxhYmVsKXtj''@;'; put 'put ''YXNlIDA6c3dpdGNoKGIudHlwZSl7Y2FzZSJmb2xkZXIiOnJldHVyblszLDFdO2Nhc2UiZmlsZSI6cmV0dXJuWzMsM107Y2FzZSJzZXJ2aWNlIjpyZXR1cm5bMyw1XX1yZXR1cm5bMyw3XTtjYXNlIDE6cmV0dXJuWzQsdGhpcy5jcmVhdGVGb2xkZXIoYi5uYW1lLFIsdm9pZCAwLHEsSiwkKV07''@;'; put 'put ''Y2FzZSAyOnJldHVybiB5LnNlbnQoKSxbMyw4XTtjYXNlIDM6cmV0dXJuWzQsdGhpcy5jcmVhdGVGaWxlKGIubmFtZSxiLmNvZGUsUix2b2lkIDAscSxKKV07Y2FzZSA0OnJldHVybiB5LnNlbnQoKSxbMyw4XTtjYXNlIDU6cmV0dXJuWzQsdGhpcy5jcmVhdGVKb2JEZWZpbml0aW9uKGIubmFt''@;'; put 'put ''ZSxiLmNvZGUsUix2b2lkIDAscSxKKV07Y2FzZSA2OnJldHVybiB5LnNlbnQoKSxbMyw4XTtjYXNlIDc6dGhyb3cgbmV3IEVycm9yKCJVbmlkZW50aWZpZWQgbWVtYmVyICciLmNvbmNhdChiLm5hbWUsIicgcHJvdmlkZWQuIikpO2Nhc2UgODpyZXR1cm4iZm9sZGVyIj09PWIudHlwZSYmYi5t''@;'; put 'put ''ZW1iZXJzJiZiLm1lbWJlcnMubGVuZ3RoP1s0LHRoaXMuY3JlYXRlRm9sZGVyc0FuZFNlcnZpY2VzKCIiLmNvbmNhdChSLCIvIikuY29uY2F0KGIubmFtZSksYi5tZW1iZXJzLHEsSiwkKV06WzMsMTBdO2Nhc2UgOTp5LnNlbnQoKSx5LmxhYmVsPTEwO2Nhc2UgMTA6cmV0dXJuWzJdfX0pfSl9''@;'; put 'put ''KV07Y2FzZSAxOnJldHVybiBoLnNlbnQoKSxbMl19fSl9KX0sVi5wcm90b3R5cGUuaXNNZXRob2RTdXBwb3J0ZWQ9ZnVuY3Rpb24oUixCKXtpZighdGhpcy5zYXNqc0NvbmZpZy5zZXJ2ZXJUeXBlfHwhQi5pbmNsdWRlcyh0aGlzLnNhc2pzQ29uZmlnLnNlcnZlclR5cGUpKXRocm93IG5ldyBF''@;'; put 'put ''cnJvcigiTWV0aG9kICciLmNvbmNhdChSLCInIGlzIG9ubHkgc3VwcG9ydGVkIG9uICIpLmNvbmNhdChCLmpvaW4oIiwgIiksIiBzZXJ2ZXJzLiIpKX0sVn0oKTtBLmRlZmF1bHQ9VX0sMzQ2NzpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19hd2FpdGVy''@;'; put 'put ''fHxmdW5jdGlvbihQLE0sayxPKXtyZXR1cm4gbmV3KGt8fChrPVByb21pc2UpKShmdW5jdGlvbihMLFQpe2Z1bmN0aW9uIFkoVil7dHJ5e1UoTy5uZXh0KFYpKX1jYXRjaChSKXtUKFIpfX1mdW5jdGlvbiBJKFYpe3RyeXtVKE8udGhyb3coVikpfWNhdGNoKFIpe1QoUil9fWZ1bmN0aW9uIFUo''@;'; put 'put ''Vil7dmFyIFI7Vi5kb25lP0woVi52YWx1ZSk6KFI9Vi52YWx1ZSxSIGluc3RhbmNlb2Ygaz9SOm5ldyBrKGZ1bmN0aW9uKEIpe0IoUil9KSkudGhlbihZLEkpfVUoKE89Ty5hcHBseShQLE18fFtdKSkubmV4dCgpKX0pfSx6PXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKFAsTSl7''@;'; put 'put ''dmFyIGssTyxMLFQsWT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZMWzBdKXRocm93IExbMV07cmV0dXJuIExbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gVD17bmV4dDpJKDApLHRocm93OkkoMSkscmV0dXJuOkkoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihUW1N5''@;'; put 'put ''bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLFQ7ZnVuY3Rpb24gSShVKXtyZXR1cm4gZnVuY3Rpb24oVil7cmV0dXJuIGZ1bmN0aW9uKFIpe2lmKGspdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7WTspdHJ5''@;'; put 'put ''e2lmKGs9MSxPJiYoTD0yJlJbMF0/Ty5yZXR1cm46UlswXT9PLnRocm93fHwoKEw9Ty5yZXR1cm4pJiZMLmNhbGwoTyksMCk6Ty5uZXh0KSYmIShMPUwuY2FsbChPLFJbMV0pKS5kb25lKXJldHVybiBMO3N3aXRjaChPPTAsTCYmKFI9WzImUlswXSxMLnZhbHVlXSksUlswXSl7Y2FzZSAwOmNh''@;'; put 'put ''c2UgMTpMPVI7YnJlYWs7Y2FzZSA0OnJldHVybiBZLmxhYmVsKysse3ZhbHVlOlJbMV0sZG9uZTohMX07Y2FzZSA1OlkubGFiZWwrKyxPPVJbMV0sUj1bMF07Y29udGludWU7Y2FzZSA3OlI9WS5vcHMucG9wKCksWS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoTD0oTD1ZLnRy''@;'; put 'put ''eXMpLmxlbmd0aD4wJiZMW0wubGVuZ3RoLTFdKXx8NiE9PVJbMF0mJjIhPT1SWzBdKSl7WT0wO2NvbnRpbnVlfWlmKDM9PT1SWzBdJiYoIUx8fFJbMV0+TFswXSYmUlsxXTxMWzNdKSl7WS5sYWJlbD1SWzFdO2JyZWFrfWlmKDY9PT1SWzBdJiZZLmxhYmVsPExbMV0pe1kubGFiZWw9TFsxXSxM''@;'; put 'put ''PVI7YnJlYWt9aWYoTCYmWS5sYWJlbDxMWzJdKXtZLmxhYmVsPUxbMl0sWS5vcHMucHVzaChSKTticmVha31MWzJdJiZZLm9wcy5wb3AoKSxZLnRyeXMucG9wKCk7Y29udGludWV9Uj1NLmNhbGwoUCxZKX1jYXRjaChCKXtSPVs2LEJdLE89MH1maW5hbGx5e2s9TD0wfWlmKDUmUlswXSl0aHJv''@;'; put 'put ''dyBSWzFdO3JldHVybnt2YWx1ZTpSWzBdP1JbMV06dm9pZCAwLGRvbmU6ITB9fShbVSxWXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuU0FTanNBcGlDbGllbnQ9dm9pZCAwO3ZhciBDPWooMzkwMCksUz1qKDU3KSxtPWooMjQ5KSxGPWoo''@;'; put 'put ''NTkyOCksRD1qKDcwNCksdz1mdW5jdGlvbigpe2Z1bmN0aW9uIFAoTSl7dGhpcy5yZXF1ZXN0Q2xpZW50PU19cmV0dXJuIFAucHJvdG90eXBlLmRlcGxveT1mdW5jdGlvbihNLGssTyl7cmV0dXJuIE4odGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEwsVDtyZXR1cm4geih0aGlz''@;'; put 'put ''LGZ1bmN0aW9uKFkpe3N3aXRjaChZLmxhYmVsKXtjYXNlIDA6cmV0dXJuIEw9KE98fHt9KS5hY2Nlc3NfdG9rZW4sTz9bNCwoMCxELmdldFRva2VucykodGhpcy5yZXF1ZXN0Q2xpZW50LE8sQy5TZXJ2ZXJUeXBlLlNhc2pzKV06WzMsMl07Y2FzZSAxOkw9WS5zZW50KCkuYWNjZXNzX3Rva2Vu''@;'; put 'put ''LFkubGFiZWw9MjtjYXNlIDI6cmV0dXJuIE0uYXBwTG9jPU0uYXBwTG9jfHxrLFs0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCJTQVNqc0FwaS9kcml2ZS9kZXBsb3kiLE0sTCx2b2lkIDAse30se21heENvbnRlbnRMZW5ndGg6MS8wLG1heEJvZHlMZW5ndGg6MS8wfSldO2Nhc2UgMzpyZXR1''@;'; put 'put ''cm4gVD1ZLnNlbnQoKS5yZXN1bHQsWzIsUHJvbWlzZS5yZXNvbHZlKFQpXX19KX0pfSxQLnByb3RvdHlwZS5leGVjdXRlSm9iPWZ1bmN0aW9uKE0sayl7cmV0dXJuIE4odGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEw7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihUKXtzd2l0Y2go''@;'; put 'put ''VC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCJTQVNqc0FwaS9zdHAvZXhlY3V0ZSIsTSxrP2suYWNjZXNzX3Rva2VuOnZvaWQgMCldO2Nhc2UgMTpyZXR1cm4gTD1ULnNlbnQoKS5yZXN1bHQsT2JqZWN0LmtleXMoTCkuaW5jbHVkZXMoIl93ZWJvdXQi''@;'; put 'put ''KSYmKEwuX3dlYm91dD0oMCxGLnBhcnNlV2Vib3V0UmVzcG9uc2UpKEwuX3dlYm91dCkpLFsyLFByb21pc2UucmVzb2x2ZShMKV19fSl9KX0sUC5wcm90b3R5cGUuZXhlY3V0ZVNjcmlwdD1mdW5jdGlvbihNLGssTyl7cmV0dXJuIHZvaWQgMD09PWsmJihrPSJzYXMiKSxOKHRoaXMsdm9pZCAw''@;'; put 'put ''LHZvaWQgMCxmdW5jdGlvbigpe3ZhciBMLFQ7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihZKXtzd2l0Y2goWS5sYWJlbCl7Y2FzZSAwOnJldHVybiBMPShPfHx7fSkuYWNjZXNzX3Rva2VuLE8/WzQsKDAsRC5nZXRUb2tlbnMpKHRoaXMucmVxdWVzdENsaWVudCxPLEMuU2VydmVyVHlwZS5TYXNq''@;'; put 'put ''cyldOlszLDJdO2Nhc2UgMTpMPVkuc2VudCgpLmFjY2Vzc190b2tlbixZLmxhYmVsPTI7Y2FzZSAyOnJldHVybiBUPSIiLFs0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCJTQVNqc0FwaS9jb2RlL2V4ZWN1dGUiLHtjb2RlOk0scnVuVGltZTprfSxMKS50aGVuKGZ1bmN0aW9uKEkpe0kubG9n''@;'; put 'put ''JiYoVD1JLmxvZyl9KV07Y2FzZSAzOnJldHVybiBZLnNlbnQoKSxbMixUXX19KX0pfSxQLnByb3RvdHlwZS5nZXRBY2Nlc3NUb2tlbj1mdW5jdGlvbihNLGspe3JldHVybiBOKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiB6KHRoaXMsZnVuY3Rpb24oTyl7cmV0dXJuWzIs''@;'; put 'put ''KDAsUy5nZXRBY2Nlc3NUb2tlbkZvclNhc2pzKSh0aGlzLnJlcXVlc3RDbGllbnQsTSxrKV19KX0pfSxQLnByb3RvdHlwZS5yZWZyZXNoVG9rZW5zPWZ1bmN0aW9uKE0pe3JldHVybiBOKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiB6KHRoaXMsZnVuY3Rpb24oayl7cmV0''@;'; put 'put ''dXJuWzIsKDAsbS5yZWZyZXNoVG9rZW5zRm9yU2FzanMpKHRoaXMucmVxdWVzdENsaWVudCxNKV19KX0pfSxQfSgpO0EuU0FTanNBcGlDbGllbnQ9d30sNjkwMzpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPWooNDE1NSksej1qKDUxMDgpLEM9dGhpcyYmdGhpcy5fX2F3YWl0''@;'; put 'put ''ZXJ8fGZ1bmN0aW9uKFAsTSxrLE8pe3JldHVybiBuZXcoa3x8KGs9UHJvbWlzZSkpKGZ1bmN0aW9uKEwsVCl7ZnVuY3Rpb24gWShWKXt0cnl7VShPLm5leHQoVikpfWNhdGNoKFIpe1QoUil9fWZ1bmN0aW9uIEkoVil7dHJ5e1UoTy50aHJvdyhWKSl9Y2F0Y2goUil7VChSKX19ZnVuY3Rpb24g''@;'; put 'put ''VShWKXt2YXIgUjtWLmRvbmU/TChWLnZhbHVlKTooUj1WLnZhbHVlLFIgaW5zdGFuY2VvZiBrP1I6bmV3IGsoZnVuY3Rpb24oQil7QihSKX0pKS50aGVuKFksSSl9VSgoTz1PLmFwcGx5KFAsTXx8W10pKS5uZXh0KCkpfSl9LFM9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oUCxN''@;'; put 'put ''KXt2YXIgayxPLEwsVCxZPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJkxbMF0pdGhyb3cgTFsxXTtyZXR1cm4gTFsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBUPXtuZXh0OkkoMCksdGhyb3c6SSgxKSxyZXR1cm46SSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKFRb''@;'; put 'put ''U3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksVDtmdW5jdGlvbiBJKFUpe3JldHVybiBmdW5jdGlvbihWKXtyZXR1cm4gZnVuY3Rpb24oUil7aWYoayl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtZOyl0''@;'; put 'put ''cnl7aWYoaz0xLE8mJihMPTImUlswXT9PLnJldHVybjpSWzBdP08udGhyb3d8fCgoTD1PLnJldHVybikmJkwuY2FsbChPKSwwKTpPLm5leHQpJiYhKEw9TC5jYWxsKE8sUlsxXSkpLmRvbmUpcmV0dXJuIEw7c3dpdGNoKE89MCxMJiYoUj1bMiZSWzBdLEwudmFsdWVdKSxSWzBdKXtjYXNlIDA6''@;'; put 'put ''Y2FzZSAxOkw9UjticmVhaztjYXNlIDQ6cmV0dXJuIFkubGFiZWwrKyx7dmFsdWU6UlsxXSxkb25lOiExfTtjYXNlIDU6WS5sYWJlbCsrLE89UlsxXSxSPVswXTtjb250aW51ZTtjYXNlIDc6Uj1ZLm9wcy5wb3AoKSxZLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChMPShMPVku''@;'; put 'put ''dHJ5cykubGVuZ3RoPjAmJkxbTC5sZW5ndGgtMV0pfHw2IT09UlswXSYmMiE9PVJbMF0pKXtZPTA7Y29udGludWV9aWYoMz09PVJbMF0mJighTHx8UlsxXT5MWzBdJiZSWzFdPExbM10pKXtZLmxhYmVsPVJbMV07YnJlYWt9aWYoNj09PVJbMF0mJlkubGFiZWw8TFsxXSl7WS5sYWJlbD1MWzFd''@;'; put 'put ''LEw9UjticmVha31pZihMJiZZLmxhYmVsPExbMl0pe1kubGFiZWw9TFsyXSxZLm9wcy5wdXNoKFIpO2JyZWFrfUxbMl0mJlkub3BzLnBvcCgpLFkudHJ5cy5wb3AoKTtjb250aW51ZX1SPU0uY2FsbChQLFkpfWNhdGNoKEIpe1I9WzYsQl0sTz0wfWZpbmFsbHl7az1MPTB9aWYoNSZSWzBdKXRo''@;'; put 'put ''cm93IFJbMV07cmV0dXJue3ZhbHVlOlJbMF0/UlsxXTp2b2lkIDAsZG9uZTohMH19KFtVLFZdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5TZXNzaW9uTWFuYWdlcj12b2lkIDA7dmFyIG09aigxMzk1KSxGPWooNTkyOCksRD1qKDk3Nzgp''@;'; put 'put ''LHc9ZnVuY3Rpb24oKXtmdW5jdGlvbiBQKE0sayxPKXt0aGlzLnNlcnZlclVybD1NLHRoaXMuY29udGV4dE5hbWU9ayx0aGlzLnJlcXVlc3RDbGllbnQ9Tyx0aGlzLmxvZ2dlZEVycm9ycz1bXSx0aGlzLnNlc3Npb25zPVtdLHRoaXMuY3VycmVudENvbnRleHQ9bnVsbCx0aGlzLl9kZWJ1Zz0h''@;'; put 'put ''MSx0aGlzLnByaW50ZWRTZXNzaW9uU3RhdGU9e3ByaW50ZWQ6ITEsc3RhdGU6IiJ9LE0mJigwLEYuaXNVcmwpKE0pfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoUC5wcm90b3R5cGUsImRlYnVnIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlYnVnfSxzZXQ6ZnVuY3Rpb24o''@;'; put 'put ''TSl7dGhpcy5fZGVidWc9TX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxQLnByb3RvdHlwZS5nZXRTZXNzaW9uPWZ1bmN0aW9uKE0pe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBrLE87cmV0dXJuIFModGhpcyxmdW5jdGlvbihMKXtzd2l0Y2go''@;'; put 'put ''TC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuY3JlYXRlU2Vzc2lvbnMoTSldO2Nhc2UgMTpyZXR1cm4gTC5zZW50KCksWzQsdGhpcy5jcmVhdGVBbmRXYWl0Rm9yU2Vzc2lvbihNKV07Y2FzZSAyOnJldHVybiBMLnNlbnQoKSxrPXRoaXMuc2Vzc2lvbnMucG9wKCksTz0oKG5ldyBEYXRl''@;'; put 'put ''KS5nZXRUaW1lKCktbmV3IERhdGUoay5jcmVhdGlvblRpbWVTdGFtcCkuZ2V0VGltZSgpKS8xZTMsIWsuYXR0cmlidXRlc3x8Tz49ay5hdHRyaWJ1dGVzLnNlc3Npb25JbmFjdGl2ZVRpbWVvdXQ/WzQsdGhpcy5jcmVhdGVTZXNzaW9ucyhNKV06WzMsNF07Y2FzZSAzOnJldHVybiBMLnNlbnQo''@;'; put 'put ''KSxbMix0aGlzLnNlc3Npb25zLnBvcCgpXTtjYXNlIDQ6cmV0dXJuWzIsa119fSl9KX0sUC5wcm90b3R5cGUuY2xlYXJTZXNzaW9uPWZ1bmN0aW9uKE0sayl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIE89dGhpcztyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKEwp''@;'; put 'put ''e3N3aXRjaChMLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmRlbGV0ZSgiL2NvbXB1dGUvc2Vzc2lvbnMvIi5jb25jYXQoTSksaykudGhlbihmdW5jdGlvbigpe08uc2Vzc2lvbnM9Ty5zZXNzaW9ucy5maWx0ZXIoZnVuY3Rpb24oVCl7cmV0dXJuIFQuaWQhPT1N''@;'; put 'put ''fSl9KS5jYXRjaChmdW5jdGlvbihUKXt0aHJvdygwLEQucHJlZml4TWVzc2FnZSkoVCwiRXJyb3Igd2hpbGUgZGVsZXRpbmcgc2Vzc2lvbi4gIil9KV07Y2FzZSAxOnJldHVyblsyLEwuc2VudCgpXX19KX0pfSxQLnByb3RvdHlwZS5jcmVhdGVTZXNzaW9ucz1mdW5jdGlvbihNKXtyZXR1cm4g''@;'; put 'put ''Qyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgaz10aGlzO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oTyl7c3dpdGNoKE8ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5zZXNzaW9ucy5sZW5ndGg/WzMsNF06dGhpcy5jdXJyZW50Q29udGV4dD9bMywyXTpbNCx0aGlzLnNldEN1''@;'; put 'put ''cnJlbnRDb250ZXh0KE0pLmNhdGNoKGZ1bmN0aW9uKEwpe3Rocm93IEx9KV07Y2FzZSAxOk8uc2VudCgpLE8ubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzQsKDAsRi5hc3luY0ZvckVhY2gpKG5ldyBBcnJheSgxKSxmdW5jdGlvbigpe3JldHVybiBDKGssdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigp''@;'; put 'put ''e3ZhciBMO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oVCl7c3dpdGNoKFQubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmNyZWF0ZUFuZFdhaXRGb3JTZXNzaW9uKE0pLmNhdGNoKGZ1bmN0aW9uKFkpe3Rocm93IFl9KV07Y2FzZSAxOnJldHVybiBMPVQuc2VudCgpLHRoaXMuc2Vzc2lvbnMu''@;'; put 'put ''cHVzaChMKSxbMl19fSl9KX0pLmNhdGNoKGZ1bmN0aW9uKEwpe3Rocm93IEx9KV07Y2FzZSAzOk8uc2VudCgpLE8ubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LFAucHJvdG90eXBlLmNyZWF0ZUFuZFdhaXRGb3JTZXNzaW9uPWZ1bmN0aW9uKE0pe3JldHVybiBDKHRoaXMsdm9pZCAw''@;'; put 'put ''LHZvaWQgMCxmdW5jdGlvbigpe3ZhciBrLE87cmV0dXJuIFModGhpcyxmdW5jdGlvbihUKXtzd2l0Y2goVC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2NvbXB1dGUvY29udGV4dHMvIikuY29uY2F0KHRo''@;'; put 'put ''aXMuY3VycmVudENvbnRleHQuaWQsIi9zZXNzaW9ucyIpLHt9LE0pLmNhdGNoKGZ1bmN0aW9uKFkpe3Rocm93IFl9KV07Y2FzZSAxOnJldHVybiBrPVQuc2VudCgpLFs0LHRoaXMud2FpdEZvclNlc3Npb24oTz1rLnJlc3VsdCxrLmV0YWcsTSldO2Nhc2UgMjpyZXR1cm4gVC5zZW50KCksdGhp''@;'; put 'put ''cy5zZXNzaW9ucy5wdXNoKE8pLFsyLE9dfX0pfSl9LFAucHJvdG90eXBlLnNldEN1cnJlbnRDb250ZXh0PWZ1bmN0aW9uKE0pe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBrLEwsVD10aGlzO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oWSl7c3dpdGNoKFkubGFi''@;'; put 'put ''ZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5jdXJyZW50Q29udGV4dD9bMywyXTpbNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KCIiLmNvbmNhdCh0aGlzLnNlcnZlclVybCwiL2NvbXB1dGUvY29udGV4dHM/bGltaXQ9MTAwMDAiKSxNKS5jYXRjaChmdW5jdGlvbihJKXt0aHJvdyBJfSldO2Nhc2Ug''@;'; put 'put ''MTppZihrPVkuc2VudCgpLnJlc3VsdCwhKEw9KGsmJmsuaXRlbXMmJmsuaXRlbXMubGVuZ3RoP2suaXRlbXM6W10pLmZpbmQoZnVuY3Rpb24oSSl7cmV0dXJuIEkubmFtZT09PVQuY29udGV4dE5hbWV9KSkpdGhyb3cgbmV3IEVycm9yKCJUaGUgY29udGV4dCAnIi5jb25jYXQodGhpcy5jb250''@;'; put 'put ''ZXh0TmFtZSwiJyB3YXMgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIgIikuY29uY2F0KHRoaXMuc2VydmVyVXJsLCIuIikpO3RoaXMuY3VycmVudENvbnRleHQ9TCxQcm9taXNlLnJlc29sdmUoKSxZLmxhYmVsPTI7Y2FzZSAyOnJldHVyblsyXX19KX0pfSxQLnByb3RvdHlwZS5nZXRIZWFkZXJz''@;'; put 'put ''PWZ1bmN0aW9uKE0pe3ZhciBrPXsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9O3JldHVybiBNJiYoay5BdXRob3JpemF0aW9uPSJCZWFyZXIgIi5jb25jYXQoTSkpLGt9LFAucHJvdG90eXBlLndhaXRGb3JTZXNzaW9uPWZ1bmN0aW9uKE0sayxPKXt2YXIgTDtyZXR1cm4gQyh0''@;'; put 'put ''aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgVCxZLEksVSxSLEI7cmV0dXJuIFModGhpcyxmdW5jdGlvbihxKXtzd2l0Y2gocS5sYWJlbCl7Y2FzZSAwOnJldHVybiBUPU4ubG9nZ2VyfHx6LFk9TS5zdGF0ZSxJPU0ubGlua3MuZmluZChmdW5jdGlvbihKKXtyZXR1cm4ic3RhdGUi''@;'; put 'put ''PT09Si5yZWx9KSwicGVuZGluZyIhPT1ZJiYicnVubmluZyIhPT1ZJiYiIiE9PVk/WzMsNl06ST8odGhpcy5kZWJ1ZyYmIXRoaXMucHJpbnRlZFNlc3Npb25TdGF0ZS5wcmludGVkJiYoVC5pbmZvKCJQb2xsaW5nOiAiLmNvbmNhdCh0aGlzLnNlcnZlclVybCtJLmhyZWYpKSx0aGlzLnByaW50''@;'; put 'put ''ZWRTZXNzaW9uU3RhdGUucHJpbnRlZD0hMCksWzQsdGhpcy5nZXRTZXNzaW9uU3RhdGUoIiIuY29uY2F0KHRoaXMuc2VydmVyVXJsKS5jb25jYXQoSS5ocmVmLCI/d2FpdD0zMCIpLGssTykuY2F0Y2goZnVuY3Rpb24oSil7dGhyb3coMCxELnByZWZpeE1lc3NhZ2UpKEosIkVycm9yIHdoaWxl''@;'; put 'put ''IGdldHRpbmcgc2Vzc2lvbiBzdGF0ZS4iKX0pXSk6WzMsNF07Y2FzZSAxOnJldHVybiBVPXEuc2VudCgpLFI9VS5yZXNwb25zZVN0YXR1cyxZPVUucmVzdWx0LnRyaW0oKSx0aGlzLmRlYnVnJiZ0aGlzLnByaW50ZWRTZXNzaW9uU3RhdGUuc3RhdGUhPT1ZJiYoVC5pbmZvKCJDdXJyZW50IHNl''@;'; put 'put ''c3Npb24gc3RhdGUgaXMgJyIuY29uY2F0KFksIiciKSksdGhpcy5wcmludGVkU2Vzc2lvblN0YXRlLnN0YXRlPVksdGhpcy5wcmludGVkU2Vzc2lvblN0YXRlLnByaW50ZWQ9ITEpLFk/WzMsM106KEI9bmV3IG0uTm9TZXNzaW9uU3RhdGVFcnJvcihSLHRoaXMuc2VydmVyVXJsK0kuaHJlZixu''@;'; put 'put ''dWxsPT09KEw9TS5saW5rcy5maW5kKGZ1bmN0aW9uKEope3JldHVybiJsb2ciPT09Si5yZWx9KSl8fHZvaWQgMD09PUw/dm9pZCAwOkwuaHJlZiksdGhpcy5sb2dnZWRFcnJvcnMuZmluZChmdW5jdGlvbihKKXtyZXR1cm4gSi5zZXJ2ZXJSZXNwb25zZVN0YXR1cz09PUIuc2VydmVyUmVzcG9u''@;'; put 'put ''c2VTdGF0dXN9KXx8KHRoaXMubG9nZ2VkRXJyb3JzLnB1c2goQiksVC5pbmZvKEIubWVzc2FnZSkpLFs0LHRoaXMud2FpdEZvclNlc3Npb24oTSxrLE8pXSk7Y2FzZSAyOnJldHVyblsyLHEuc2VudCgpXTtjYXNlIDM6Y2FzZSA2OnJldHVybiB0aGlzLmxvZ2dlZEVycm9ycz1bXSxbMixZXTtj''@;'; put 'put ''YXNlIDQ6dGhyb3ciRXJyb3Igd2hpbGUgZ2V0dGluZyBzZXNzaW9uIHN0YXRlIGxpbmsuIjtjYXNlIDU6cmV0dXJuWzMsN107Y2FzZSA3OnJldHVyblsyXX19KX0pfSxQLnByb3RvdHlwZS5nZXRTZXNzaW9uU3RhdGU9ZnVuY3Rpb24oTSxrLE8pe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQg''@;'; put 'put ''MCxmdW5jdGlvbigpe3JldHVybiBTKHRoaXMsZnVuY3Rpb24oTCl7c3dpdGNoKEwubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KE0sTywidGV4dC9wbGFpbiIseyJJZi1Ob25lLU1hdGNoIjprfSkudGhlbihmdW5jdGlvbihUKXtyZXR1cm57cmVzdWx0OlQu''@;'; put 'put ''cmVzdWx0LHJlc3BvbnNlU3RhdHVzOlQuc3RhdHVzfX0pLmNhdGNoKGZ1bmN0aW9uKFQpe3Rocm93IFR9KV07Y2FzZSAxOnJldHVyblsyLEwuc2VudCgpXX19KX0pfSxQLnByb3RvdHlwZS5nZXRWYXJpYWJsZT1mdW5jdGlvbihNLGssTyl7cmV0dXJuIEModGhpcyx2b2lkIDAsdm9pZCAwLGZ1''@;'; put 'put ''bmN0aW9uKCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihMKXtzd2l0Y2goTC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMucmVxdWVzdENsaWVudC5nZXQoIiIuY29uY2F0KHRoaXMuc2VydmVyVXJsLCIvY29tcHV0ZS9zZXNzaW9ucy8iKS5jb25jYXQoTSwiL3ZhcmlhYmxlcy8iKS5jb25j''@;'; put 'put ''YXQoayksTykuY2F0Y2goZnVuY3Rpb24oVCl7dGhyb3coMCxELnByZWZpeE1lc3NhZ2UpKFQsIkVycm9yIHdoaWxlIGZldGNoaW5nIHNlc3Npb24gdmFyaWFibGUgJyIuY29uY2F0KGssIicuIikpfSldO2Nhc2UgMTpyZXR1cm5bMixMLnNlbnQoKV19fSl9KX0sUH0oKTtBLlNlc3Npb25NYW5h''@;'; put 'put ''Z2VyPXd9LDU0MDE6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpLHo9aig1MTA4KSxDPXRoaXMmJnRoaXMuX19hc3NpZ258fGZ1bmN0aW9uKCl7cmV0dXJuIEM9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oVCl7Zm9yKHZhciBZLEk9MSxVPWFyZ3VtZW50cy5sZW5n''@;'; put 'put ''dGg7STxVO0krKylmb3IodmFyIFYgaW4gWT1hcmd1bWVudHNbSV0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFksVikmJihUW1ZdPVlbVl0pO3JldHVybiBUfSxDLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sUz10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oVCxZ''@;'; put 'put ''LEksVSl7cmV0dXJuIG5ldyhJfHwoST1Qcm9taXNlKSkoZnVuY3Rpb24oVixSKXtmdW5jdGlvbiBCKCQpe3RyeXtKKFUubmV4dCgkKSl9Y2F0Y2godGUpe1IodGUpfX1mdW5jdGlvbiBxKCQpe3RyeXtKKFUudGhyb3coJCkpfWNhdGNoKHRlKXtSKHRlKX19ZnVuY3Rpb24gSigkKXt2YXIgdGU7''@;'; put 'put ''JC5kb25lP1YoJC52YWx1ZSk6KHRlPSQudmFsdWUsdGUgaW5zdGFuY2VvZiBJP3RlOm5ldyBJKGZ1bmN0aW9uKGgpe2godGUpfSkpLnRoZW4oQixxKX1KKChVPVUuYXBwbHkoVCxZfHxbXSkpLm5leHQoKSl9KX0sbT10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihULFkpe3ZhciBJ''@;'; put 'put ''LFUsVixSLEI9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmVlswXSl0aHJvdyBWWzFdO3JldHVybiBWWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFI9e25leHQ6cSgwKSx0aHJvdzpxKDEpLHJldHVybjpxKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoUltTeW1ib2wu''@;'; put 'put ''aXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxSO2Z1bmN0aW9uIHEoSil7cmV0dXJuIGZ1bmN0aW9uKCQpe3JldHVybiBmdW5jdGlvbih0ZSl7aWYoSSl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtCOyl0cnl7aWYo''@;'; put 'put ''ST0xLFUmJihWPTImdGVbMF0/VS5yZXR1cm46dGVbMF0/VS50aHJvd3x8KChWPVUucmV0dXJuKSYmVi5jYWxsKFUpLDApOlUubmV4dCkmJiEoVj1WLmNhbGwoVSx0ZVsxXSkpLmRvbmUpcmV0dXJuIFY7c3dpdGNoKFU9MCxWJiYodGU9WzImdGVbMF0sVi52YWx1ZV0pLHRlWzBdKXtjYXNlIDA6''@;'; put 'put ''Y2FzZSAxOlY9dGU7YnJlYWs7Y2FzZSA0OnJldHVybiBCLmxhYmVsKysse3ZhbHVlOnRlWzFdLGRvbmU6ITF9O2Nhc2UgNTpCLmxhYmVsKyssVT10ZVsxXSx0ZT1bMF07Y29udGludWU7Y2FzZSA3OnRlPUIub3BzLnBvcCgpLEIudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKFY9''@;'; put 'put ''KFY9Qi50cnlzKS5sZW5ndGg+MCYmVltWLmxlbmd0aC0xXSl8fDYhPT10ZVswXSYmMiE9PXRlWzBdKSl7Qj0wO2NvbnRpbnVlfWlmKDM9PT10ZVswXSYmKCFWfHx0ZVsxXT5WWzBdJiZ0ZVsxXTxWWzNdKSl7Qi5sYWJlbD10ZVsxXTticmVha31pZig2PT09dGVbMF0mJkIubGFiZWw8VlsxXSl7''@;'; put 'put ''Qi5sYWJlbD1WWzFdLFY9dGU7YnJlYWt9aWYoViYmQi5sYWJlbDxWWzJdKXtCLmxhYmVsPVZbMl0sQi5vcHMucHVzaCh0ZSk7YnJlYWt9VlsyXSYmQi5vcHMucG9wKCksQi50cnlzLnBvcCgpO2NvbnRpbnVlfXRlPVkuY2FsbChULEIpfWNhdGNoKGgpe3RlPVs2LGhdLFU9MH1maW5hbGx5e0k9''@;'; put 'put ''Vj0wfWlmKDUmdGVbMF0pdGhyb3cgdGVbMV07cmV0dXJue3ZhbHVlOnRlWzBdP3RlWzFdOnZvaWQgMCxkb25lOiEwfX0oW0osJF0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmV4ZWN1dGVTY3JpcHQ9dm9pZCAwO3ZhciBGPWooNzc1Nyks''@;'; put 'put ''RD1qKDk3NzgpLHc9aigzNjA3KSxQPWooNzA0KSxNPWooNTkyOCksaz1qKDcxNCksTz1qKDEzNDMpLEw9aig2NDk2KTtBLmV4ZWN1dGVTY3JpcHQ9ZnVuY3Rpb24gVChZLEksVSxWLFIsQixxLEosJCx0ZSxoLGIseSxwKXt2YXIgZyxfO3JldHVybiB2b2lkIDA9PT1KJiYoSj1udWxsKSx2b2lk''@;'; put 'put ''IDA9PT0kJiYoJD0hMSksdm9pZCAwPT09dGUmJih0ZT0hMSksdm9pZCAwPT09aCYmKGg9ITApLHZvaWQgMD09PXkmJih5PSExKSxTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBFLFcsRyxYLG5lLGFlLHVlLGJlLF9lLGxlLGNlLHBlLHdlLFVlLHhlLEVlLHd0LE5lLEhlLFJl''@;'; put 'put ''LE9lLExlLGllLHNlPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihkZSl7c3dpdGNoKGRlLmxhYmVsKXtjYXNlIDA6cmV0dXJuIEU9KHF8fHt9KS5hY2Nlc3NfdG9rZW4scT9bNCwoMCxQLmdldFRva2VucykoWSxxKV06WzMsMl07Y2FzZSAxOkU9ZGUuc2VudCgpLmFjY2Vzc190b2tlbixk''@;'; put 'put ''ZS5sYWJlbD0yO2Nhc2UgMjpXPU4ubG9nZ2VyfHx6LGRlLmxhYmVsPTM7Y2FzZSAzOnJldHVybiBkZS50cnlzLnB1c2goWzMsMTksLDIwXSksRz12b2lkIDAsWzQsSS5nZXRTZXNzaW9uKEUpLmNhdGNoKGZ1bmN0aW9uKEFlKXt0aHJvdygwLEQucHJlZml4TWVzc2FnZSkoQWUsIkVycm9yIHdo''@;'; put 'put ''aWxlIGdldHRpbmcgc2Vzc2lvbi4gIil9KV07Y2FzZSA0OnJldHVybiBYPWRlLnNlbnQoKSxHPVguaWQseT9bNCxJLmdldFZhcmlhYmxlKEcsIlNZU0pPQklEIixFKS5jYXRjaChmdW5jdGlvbihBZSl7dGhyb3coMCxELnByZWZpeE1lc3NhZ2UpKEFlLCJFcnJvciB3aGlsZSBnZXR0aW5nIHNl''@;'; put 'put ''c3Npb24gdmFyaWFibGUuICIpfSldOlszLDZdO2Nhc2UgNToobmU9ZGUuc2VudCgpLnJlc3VsdCkmJm5lLnZhbHVlJiYoYWU9VT9WLnNwbGl0KFUpLmpvaW4oIiIpLnJlcGxhY2UoL15cLy8sIiIpOlYsKE4ubG9nZ2VyfHx6KS5pbmZvKCJUcmlnZ2VyZWQgJyIuY29uY2F0KGFlLCInIHdpdGgg''@;'; put 'put ''UElEICIpLmNvbmNhdChuZS52YWx1ZSwiIGF0ICIpLmNvbmNhdCgoMCxGLnRpbWVzdGFtcFRvWVlZWU1NRERISE1NU1MpKCkpKSksZGUubGFiZWw9NjtjYXNlIDY6cmV0dXJuIHVlPXtfY29udGV4dE5hbWU6QixfT01JVEpTT05MSVNUSU5HOiEwLF9PTUlUSlNPTkxPRzohMCxfT01JVFNFU1NJ''@;'; put 'put ''T05SRVNVTFRTOiEwLF9PTUlUVEVYVExJU1RJTkc6ITAsX09NSVRURVhUTE9HOiEwfSwkJiYodWUuX09NSVRURVhUTE9HPSExLHVlLl9PTUlUU0VTU0lPTlJFU1VMVFM9ITEpLGJlPXZvaWQgMCwoMCxNLmlzUmVsYXRpdmVQYXRoKShWKT9iZT0iZXhlYy0iLmNvbmNhdChWLmluY2x1ZGVzKCIv''@;'; put 'put ''Iik/Vi5zcGxpdCgiLyIpWzFdOlYpOihfZT1WLnNwbGl0KCIvIiksYmU9X2UucG9wKCkpLGxlPXtTWVNfSkVTX0pPQl9VUkk6IiIsX3Byb2dyYW06KDAsTS5pc1JlbGF0aXZlUGF0aCkoVik/VSsiLyIrVjpWfSxwJiYobGU9QyhDKHt9LGxlKSxwKSksJCYmKGxlPUMoQyh7fSxsZSkse19ERUJV''@;'; put 'put ''RzoxMzF9KSksY2U9W10sSj9KU09OLnN0cmluZ2lmeShKKS5pbmNsdWRlcygiOyIpP1s0LCgwLEwudXBsb2FkVGFibGVzKShZLEosRSkuY2F0Y2goZnVuY3Rpb24oQWUpe3Rocm93KDAsRC5wcmVmaXhNZXNzYWdlKShBZSwiRXJyb3Igd2hpbGUgdXBsb2FkaW5nIHRhYmxlcy4gIil9KV06WzMs''@;'; put 'put ''OF06WzMsOV07Y2FzZSA3OnJldHVybiBjZT1kZS5zZW50KCksbGUuX3dlYmluX2ZpbGVfY291bnQ9Y2UubGVuZ3RoLGNlLmZvckVhY2goZnVuY3Rpb24oQWUsa2Upe2xlWyJfd2ViaW5fZmlsZXVyaSIuY29uY2F0KGtlKzEpXT0iL2ZpbGVzL2ZpbGVzLyIuY29uY2F0KEFlLmZpbGUuaWQpLGxl''@;'; put 'put ''WyJfd2ViaW5fbmFtZSIuY29uY2F0KGtlKzEpXT1BZS50YWJsZU5hbWV9KSxbMyw5XTtjYXNlIDg6bGU9QyhDKHt9LGxlKSwoMCxrLmZvcm1hdERhdGFGb3JSZXF1ZXN0KShKKSksZGUubGFiZWw9OTtjYXNlIDk6cmV0dXJuIHBlPXtuYW1lOmJlLGRlc2NyaXB0aW9uOiJQb3dlcmVkIGJ5IFNB''@;'; put 'put ''U2pzIixjb2RlOlIsdmFyaWFibGVzOmxlLGFyZ3VtZW50czp1ZX0sWzQsWS5wb3N0KCIvY29tcHV0ZS9zZXNzaW9ucy8iLmNvbmNhdChHLCIvam9icyIpLHBlLEUpLmNhdGNoKGZ1bmN0aW9uKEFlKXt0aHJvdygwLEQucHJlZml4TWVzc2FnZSkoQWUsIkVycm9yIHdoaWxlIHBvc3Rpbmcgam9i''@;'; put 'put ''LiAiKX0pXTtjYXNlIDEwOnJldHVybiB3ZT1kZS5zZW50KCksVWU9d2UucmVzdWx0LGg/KCQmJihXLmluZm8oIkpvYiBoYXMgYmVlbiBzdWJtaXR0ZWQgZm9yICciLmNvbmNhdChiZSwiJy4iKSksVy5pbmZvKCJZb3UgY2FuIG1vbml0b3IgdGhlIGpvYiBwcm9ncmVzcyBhdCAnIi5jb25jYXQo''@;'; put 'put ''WS5nZXRCYXNlVXJsKCkpLmNvbmNhdChVZS5saW5rcy5maW5kKGZ1bmN0aW9uKEFlKXtyZXR1cm4ic3RhdGUiPT09QWUucmVsfSkuaHJlZiwiJy4iKSkpLFs0LCgwLE8ucG9sbEpvYlN0YXRlKShZLFVlLCQscSxiKS5jYXRjaChmdW5jdGlvbihBZSl7cmV0dXJuIFMoc2Usdm9pZCAwLHZvaWQg''@;'; put 'put ''MCxmdW5jdGlvbigpe3ZhciBrZSxTZSwkZSxWZSxHZSxxdDtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEtlKXtzd2l0Y2goS2UubGFiZWwpe2Nhc2UgMDpyZXR1cm4ga2U9bnVsbD09PShHZT1udWxsPT1BZT92b2lkIDA6QWUucmVzcG9uc2UpfHx2b2lkIDA9PT1HZT92b2lkIDA6R2UuZGF0YSxT''@;'; put 'put ''ZT0vZXJyPVswLTldKiwvLmV4ZWMoa2UpLCI1MTEzIiE9PShudWxsPT09KHF0PW51bGw9PVNlP3ZvaWQgMDpTZVswXSl8fHZvaWQgMD09PXF0P3ZvaWQgMDpxdC5zbGljZSg0LC0xKSk/WzMsMl06KCRlPVVlLmxpbmtzLmZpbmQoZnVuY3Rpb24oZXQpe3JldHVybiJ1cCI9PT1ldC5yZWx9KS5o''@;'; put 'put ''cmVmKyIvbG9nIixWZT1BZSxbNCwoMCxNLmZldGNoTG9nQnlDaHVua3MpKFksRSwkZSwxZTYpXSk7Y2FzZSAxOlZlLmxvZz1LZS5zZW50KCksS2UubGFiZWw9MjtjYXNlIDI6dGhyb3coMCxELnByZWZpeE1lc3NhZ2UpKEFlLCJFcnJvciB3aGlsZSBwb2xsaW5nIGpvYiBzdGF0dXMuICIpfX0p''@;'; put 'put ''fSl9KV0pOlsyLFhdO2Nhc2UgMTE6cmV0dXJuIHhlPWRlLnNlbnQoKSxxP1s0LCgwLFAuZ2V0VG9rZW5zKShZLHEpXTpbMywxM107Y2FzZSAxMjpFPWRlLnNlbnQoKS5hY2Nlc3NfdG9rZW4sZGUubGFiZWw9MTM7Y2FzZSAxMzpyZXR1cm5bNCxZLmdldCgiL2NvbXB1dGUvc2Vzc2lvbnMvIi5j''@;'; put 'put ''b25jYXQoRywiL2pvYnMvIikuY29uY2F0KFVlLmlkKSxFKS5jYXRjaChmdW5jdGlvbihBZSl7dGhyb3coMCxELnByZWZpeE1lc3NhZ2UpKEFlLCJFcnJvciB3aGlsZSBnZXR0aW5nIGpvYi4gIil9KV07Y2FzZSAxNDpyZXR1cm4gRWU9ZGUuc2VudCgpLnJlc3VsdCx3dD12b2lkIDAsTmU9IiIs''@;'; put 'put ''SGU9RWUubGlua3MuZmluZChmdW5jdGlvbihBZSl7cmV0dXJuImxvZyI9PT1BZS5yZWx9KSwkJiZIZT8oUmU9IiIuY29uY2F0KEhlLmhyZWYsIi9jb250ZW50IiksT2U9bnVsbCE9PShfPW51bGw9PT0oZz1FZS5sb2dTdGF0aXN0aWNzKXx8dm9pZCAwPT09Zz92b2lkIDA6Zy5saW5lQ291bnQp''@;'; put 'put ''JiZ2b2lkIDAhPT1fP186MWU2LFs0LCgwLE0uZmV0Y2hMb2dCeUNodW5rcykoWSxFLFJlLE9lKV0pOlszLDE2XTtjYXNlIDE1Ok5lPWRlLnNlbnQoKSxkZS5sYWJlbD0xNjtjYXNlIDE2OmlmKCJmYWlsZWQiPT09eGV8fCJlcnJvciI9PT14ZSl0aHJvdyBuZXcgdy5Db21wdXRlSm9iRXhlY3V0''@;'; put 'put ''aW9uRXJyb3IoRWUsTmUpO3JldHVybiB0ZT8oTGU9Ii9jb21wdXRlL3Nlc3Npb25zLyIuY29uY2F0KEcsIi9maWxlcmVmcy9fd2Vib3V0L2NvbnRlbnQiKSxbNCxZLmdldChMZSxFLCJ0ZXh0L3BsYWluIikuY2F0Y2goZnVuY3Rpb24oQWUpe3JldHVybiBTKHNlLHZvaWQgMCx2b2lkIDAsZnVu''@;'; put 'put ''Y3Rpb24oKXt2YXIga2UsU2UsJGUsVmU7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihHZSl7c3dpdGNoKEdlLmxhYmVsKXtjYXNlIDA6cmV0dXJuIEFlIGluc3RhbmNlb2Ygdy5Ob3RGb3VuZEVycm9yJiZIZT8oa2U9IiIuY29uY2F0KEhlLmhyZWYsIi9jb250ZW50IiksU2U9bnVsbCE9PShWZT1u''@;'; put 'put ''dWxsPT09KCRlPUVlLmxvZ1N0YXRpc3RpY3MpfHx2b2lkIDA9PT0kZT92b2lkIDA6JGUubGluZUNvdW50KSYmdm9pZCAwIT09VmU/VmU6MWU2LFs0LCgwLE0uZmV0Y2hMb2dCeUNodW5rcykoWSxFLGtlLFNlKV0pOlszLDJdO2Nhc2UgMTpyZXR1cm4gTmU9R2Uuc2VudCgpLFsyLFByb21pc2Uu''@;'; put 'put ''cmVqZWN0KHtzdGF0dXM6NTAwLGxvZzpOZX0pXTtjYXNlIDI6cmV0dXJuWzIse3Jlc3VsdDpKU09OLnN0cmluZ2lmeShBZSl9XX19KX0pfSldKTpbMix7am9iOkVlLGxvZzpOZX1dO2Nhc2UgMTc6cmV0dXJuIHd0PWRlLnNlbnQoKSxbNCxJLmNsZWFyU2Vzc2lvbihHLEUpLmNhdGNoKGZ1bmN0''@;'; put 'put ''aW9uKEFlKXt0aHJvdygwLEQucHJlZml4TWVzc2FnZSkoQWUsIkVycm9yIHdoaWxlIGNsZWFyaW5nIHNlc3Npb24uICIpfSldO2Nhc2UgMTg6cmV0dXJuIGRlLnNlbnQoKSxbMix7cmVzdWx0Om51bGw9PXd0P3ZvaWQgMDp3dC5yZXN1bHQsbG9nOk5lfV07Y2FzZSAxOTppZig0MDQ9PT0oaWU9''@;'; put 'put ''ZGUuc2VudCgpKS5zdGF0dXMpcmV0dXJuWzIsVChZLEksVSxWLFIsQixxLEosJCwhMSwhMCldO3Rocm93KDAsRC5wcmVmaXhNZXNzYWdlKShpZSwiRXJyb3Igd2hpbGUgZXhlY3V0aW5nIHNjcmlwdC4gIik7Y2FzZSAyMDpyZXR1cm5bMl19fSl9KX19LDc0NTg6ZnVuY3Rpb24oWixBLGopeyJ1''@;'; put 'put ''c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpLHo9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKEYsRCx3LFApe3JldHVybiBuZXcod3x8KHc9UHJvbWlzZSkpKGZ1bmN0aW9uKE0sayl7ZnVuY3Rpb24gTyhZKXt0cnl7VChQLm5leHQoWSkpfWNhdGNoKEkpe2soSSl9fWZ1bmN0aW9uIEwo''@;'; put 'put ''WSl7dHJ5e1QoUC50aHJvdyhZKSl9Y2F0Y2goSSl7ayhJKX19ZnVuY3Rpb24gVChZKXt2YXIgSTtZLmRvbmU/TShZLnZhbHVlKTooST1ZLnZhbHVlLEkgaW5zdGFuY2VvZiB3P0k6bmV3IHcoZnVuY3Rpb24oVSl7VShJKX0pKS50aGVuKE8sTCl9VCgoUD1QLmFwcGx5KEYsRHx8W10pKS5uZXh0''@;'; put 'put ''KCkpfSl9LEM9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oRixEKXt2YXIgdyxQLE0sayxPPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJk1bMF0pdGhyb3cgTVsxXTtyZXR1cm4gTVsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBrPXtuZXh0OkwoMCksdGhyb3c6TCgx''@;'; put 'put ''KSxyZXR1cm46TCgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGtbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaztmdW5jdGlvbiBMKFQpe3JldHVybiBmdW5jdGlvbihZKXtyZXR1cm4gZnVuY3Rpb24oSSl7aWYodyl0aHJvdyBuZXcgVHlwZUVycm9y''@;'; put 'put ''KCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtPOyl0cnl7aWYodz0xLFAmJihNPTImSVswXT9QLnJldHVybjpJWzBdP1AudGhyb3d8fCgoTT1QLnJldHVybikmJk0uY2FsbChQKSwwKTpQLm5leHQpJiYhKE09TS5jYWxsKFAsSVsxXSkpLmRvbmUpcmV0dXJuIE07c3dp''@;'; put 'put ''dGNoKFA9MCxNJiYoST1bMiZJWzBdLE0udmFsdWVdKSxJWzBdKXtjYXNlIDA6Y2FzZSAxOk09STticmVhaztjYXNlIDQ6cmV0dXJuIE8ubGFiZWwrKyx7dmFsdWU6SVsxXSxkb25lOiExfTtjYXNlIDU6Ty5sYWJlbCsrLFA9SVsxXSxJPVswXTtjb250aW51ZTtjYXNlIDc6ST1PLm9wcy5wb3Ao''@;'; put 'put ''KSxPLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChNPShNPU8udHJ5cykubGVuZ3RoPjAmJk1bTS5sZW5ndGgtMV0pfHw2IT09SVswXSYmMiE9PUlbMF0pKXtPPTA7Y29udGludWV9aWYoMz09PUlbMF0mJighTXx8SVsxXT5NWzBdJiZJWzFdPE1bM10pKXtPLmxhYmVsPUlbMV07''@;'; put 'put ''YnJlYWt9aWYoNj09PUlbMF0mJk8ubGFiZWw8TVsxXSl7Ty5sYWJlbD1NWzFdLE09STticmVha31pZihNJiZPLmxhYmVsPE1bMl0pe08ubGFiZWw9TVsyXSxPLm9wcy5wdXNoKEkpO2JyZWFrfU1bMl0mJk8ub3BzLnBvcCgpLE8udHJ5cy5wb3AoKTtjb250aW51ZX1JPUQuY2FsbChGLE8pfWNh''@;'; put 'put ''dGNoKFUpe0k9WzYsVV0sUD0wfWZpbmFsbHl7dz1NPTB9aWYoNSZJWzBdKXRocm93IElbMV07cmV0dXJue3ZhbHVlOklbMF0/SVsxXTp2b2lkIDAsZG9uZTohMH19KFtULFldKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5nZXRGaWxlU3Ry''@;'; put 'put ''ZWFtPXZvaWQgMDt2YXIgUz1qKDI5NzUpLG09aig3NzU3KTtBLmdldEZpbGVTdHJlYW09ZnVuY3Rpb24oRixEKXtyZXR1cm4geih2b2lkIDAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciB3LFAsTSxrLE87cmV0dXJuIEModGhpcyxmdW5jdGlvbihMKXtzd2l0Y2goTC5sYWJlbCl7Y2Fz''@;'; put 'put ''ZSAwOnJldHVybiB3PWooMjk3NSkuY3JlYXRlV3JpdGVTdHJlYW0sUD1EfHxOLmN3ZCgpLFs0LCgwLFMuaXNGb2xkZXIpKFApXTtjYXNlIDE6cmV0dXJuIEwuc2VudCgpPyhNPSIiLmNvbmNhdChGLm5hbWV8fCJqb2IiLCItIikuY29uY2F0KCgwLG0uZ2VuZXJhdGVUaW1lc3RhbXApKCksIi5s''@;'; put 'put ''b2ciKSxrPWooMjUyMCksTz1rLmpvaW4oRHx8Ti5jd2QoKSxNKSxbNCx3KE8pXSk6WzMsM107Y2FzZSAyOmNhc2UgNDpyZXR1cm5bMixMLnNlbnQoKV07Y2FzZSAzOnJldHVybls0LHcoUCldfX0pfSl9fSwxMzQzOmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49aig0MTU1KSx6''@;'; put 'put ''PWooNTEwOCksQz10aGlzJiZ0aGlzLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBDPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKE8pe2Zvcih2YXIgTCxUPTEsWT1hcmd1bWVudHMubGVuZ3RoO1Q8WTtUKyspZm9yKHZhciBJIGluIEw9YXJndW1lbnRzW1RdKU9iamVjdC5wcm90b3R5cGUu''@;'; put 'put ''aGFzT3duUHJvcGVydHkuY2FsbChMLEkpJiYoT1tJXT1MW0ldKTtyZXR1cm4gT30sQy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LFM9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKE8sTCxULFkpe3JldHVybiBuZXcoVHx8KFQ9UHJvbWlzZSkpKGZ1bmN0aW9uKEksVSl7ZnVuY3Rpb24g''@;'; put 'put ''VihxKXt0cnl7QihZLm5leHQocSkpfWNhdGNoKEope1UoSil9fWZ1bmN0aW9uIFIocSl7dHJ5e0IoWS50aHJvdyhxKSl9Y2F0Y2goSil7VShKKX19ZnVuY3Rpb24gQihxKXt2YXIgSjtxLmRvbmU/SShxLnZhbHVlKTooSj1xLnZhbHVlLEogaW5zdGFuY2VvZiBUP0o6bmV3IFQoZnVuY3Rpb24o''@;'; put 'put ''JCl7JChKKX0pKS50aGVuKFYsUil9QigoWT1ZLmFwcGx5KE8sTHx8W10pKS5uZXh0KCkpfSl9LG09dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oTyxMKXt2YXIgVCxZLEksVSxWPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJklbMF0pdGhyb3cgSVsxXTtyZXR1cm4gSVsx''@;'; put 'put ''XX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBVPXtuZXh0OlIoMCksdGhyb3c6UigxKSxyZXR1cm46UigyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKFVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksVTtmdW5jdGlvbiBSKEIpe3JldHVybiBmdW5jdGlv''@;'; put 'put ''bihxKXtyZXR1cm4gZnVuY3Rpb24oSil7aWYoVCl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtWOyl0cnl7aWYoVD0xLFkmJihJPTImSlswXT9ZLnJldHVybjpKWzBdP1kudGhyb3d8fCgoST1ZLnJldHVybikmJkkuY2FsbChZKSww''@;'; put 'put ''KTpZLm5leHQpJiYhKEk9SS5jYWxsKFksSlsxXSkpLmRvbmUpcmV0dXJuIEk7c3dpdGNoKFk9MCxJJiYoSj1bMiZKWzBdLEkudmFsdWVdKSxKWzBdKXtjYXNlIDA6Y2FzZSAxOkk9SjticmVhaztjYXNlIDQ6cmV0dXJuIFYubGFiZWwrKyx7dmFsdWU6SlsxXSxkb25lOiExfTtjYXNlIDU6Vi5s''@;'; put 'put ''YWJlbCsrLFk9SlsxXSxKPVswXTtjb250aW51ZTtjYXNlIDc6Sj1WLm9wcy5wb3AoKSxWLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChJPShJPVYudHJ5cykubGVuZ3RoPjAmJklbSS5sZW5ndGgtMV0pfHw2IT09SlswXSYmMiE9PUpbMF0pKXtWPTA7Y29udGludWV9aWYoMz09''@;'; put 'put ''PUpbMF0mJighSXx8SlsxXT5JWzBdJiZKWzFdPElbM10pKXtWLmxhYmVsPUpbMV07YnJlYWt9aWYoNj09PUpbMF0mJlYubGFiZWw8SVsxXSl7Vi5sYWJlbD1JWzFdLEk9SjticmVha31pZihJJiZWLmxhYmVsPElbMl0pe1YubGFiZWw9SVsyXSxWLm9wcy5wdXNoKEopO2JyZWFrfUlbMl0mJlYu''@;'; put 'put ''b3BzLnBvcCgpLFYudHJ5cy5wb3AoKTtjb250aW51ZX1KPUwuY2FsbChPLFYpfWNhdGNoKCQpe0o9WzYsJF0sWT0wfWZpbmFsbHl7VD1JPTB9aWYoNSZKWzBdKXRocm93IEpbMV07cmV0dXJue3ZhbHVlOkpbMF0/SlsxXTp2b2lkIDAsZG9uZTohMH19KFtCLHFdKX19fTtPYmplY3QuZGVmaW5l''@;'; put 'put ''UHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5wb2xsSm9iU3RhdGU9dm9pZCAwO3ZhciBGPWooNzA0KSxEPWooMTM5NSksdz1qKDU5MjgpO0EucG9sbEpvYlN0YXRlPWZ1bmN0aW9uKE8sTCxULFksSSl7cmV0dXJuIFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7''@;'; put 'put ''dmFyIFUsVixSLEIscSxKLCQ7cmV0dXJuIG0odGhpcyxmdW5jdGlvbih0ZSl7c3dpdGNoKHRlLmxhYmVsKXtjYXNlIDA6aWYoVT1OLmxvZ2dlcnx8eixJPUMoQyh7fSx7bWF4UG9sbENvdW50OjFlMyxwb2xsSW50ZXJ2YWw6MzAwLHN0cmVhbUxvZzohMX0pLEl8fHt9KSwhKFY9TC5saW5rcy5m''@;'; put 'put ''aW5kKGZ1bmN0aW9uKGgpe3JldHVybiJzdGF0ZSI9PT1oLnJlbH0pKSl0aHJvdyBuZXcgRXJyb3IoIkpvYiBzdGF0ZSBsaW5rIHdhcyBub3QgZm91bmQuIik7cmV0dXJuWzQsUChPLEwsIiIsVCxZKS5jYXRjaChmdW5jdGlvbihoKXtyZXR1cm4gVS5lcnJvcigiRXJyb3IgZmV0Y2hpbmcgam9i''@;'; put 'put ''IHN0YXRlIGZyb20gIi5jb25jYXQoVi5ocmVmLCIuIFN0YXJ0aW5nIHBvbGwsIGFzc3VtaW5nIGpvYiB0byBiZSBydW5uaW5nLiIpLGgpLCJ1bmF2YWlsYWJsZSJ9KV07Y2FzZSAxOnJldHVybiBSPXRlLnNlbnQoKSxCPTAsImNvbXBsZXRlZCI9PT1SP1syLFByb21pc2UucmVzb2x2ZShSKV06''@;'; put 'put ''SS5zdHJlYW1Mb2cmJigwLHcuaXNOb2RlKSgpP1s0LCgwLGooNzQ1OCkuZ2V0RmlsZVN0cmVhbSkoTCxJLmxvZ0ZvbGRlclBhdGgpXTpbMywzXTtjYXNlIDI6cT10ZS5zZW50KCksdGUubGFiZWw9MztjYXNlIDM6cmV0dXJuWzQsayhPLEwsUixULEIsWSxDKEMoe30sSSkse21heFBvbGxDb3Vu''@;'; put 'put ''dDpJLm1heFBvbGxDb3VudDw9MTAwP0kubWF4UG9sbENvdW50OjEwMH0pLHEpXTtjYXNlIDQ6cmV0dXJuIEo9dGUuc2VudCgpLEI9Si5wb2xsQ291bnQsIU0oUj1KLnN0YXRlKXx8Qj49SS5tYXhQb2xsQ291bnQ/WzIsUl06KCQ9e21heFBvbGxDb3VudDoxNDQwLHBvbGxJbnRlcnZhbDo2ZTQs''@;'; put 'put ''c3RyZWFtTG9nOiExfSxJJiYoJC5zdHJlYW1Mb2c9SS5zdHJlYW1Mb2csJC5sb2dGb2xkZXJQYXRoPUkubG9nRm9sZGVyUGF0aCksWzQsayhPLEwsUixULEIsWSwkLHEpXSk7Y2FzZSA1OnJldHVybiBKPXRlLnNlbnQoKSxSPUouc3RhdGUsQj1KLnBvbGxDb3VudCxxJiZxLmVuZCgpLFsyLFJd''@;'; put 'put ''fX0pfSl9O3ZhciBQPWZ1bmN0aW9uKE8sTCxULFksSSl7cmV0dXJuIFModm9pZCAwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgVSxWO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oUil7c3dpdGNoKFIubGFiZWwpe2Nhc2UgMDppZighKFU9TC5saW5rcy5maW5kKGZ1bmN0aW9uKEIpe3Jl''@;'; put 'put ''dHVybiJzdGF0ZSI9PT1CLnJlbH0pKSl0aHJvdyBuZXcgRXJyb3IoIkpvYiBzdGF0ZSBsaW5rIHdhcyBub3QgZm91bmQuIik7cmV0dXJuIE0oVCk/KFY9dm9pZCAwLEk/WzQsKDAsRi5nZXRUb2tlbnMpKE8sSSldOlszLDJdKTpbMyw0XTtjYXNlIDE6Vj1SLnNlbnQoKSxSLmxhYmVsPTI7Y2Fz''@;'; put 'put ''ZSAyOnJldHVybls0LE8uZ2V0KCIiLmNvbmNhdChVLmhyZWYsIj9fYWN0aW9uPXdhaXQmd2FpdD0zMDAiKSxudWxsPT1WP3ZvaWQgMDpWLmFjY2Vzc190b2tlbiwidGV4dC9wbGFpbiIse30sWSkuY2F0Y2goZnVuY3Rpb24oQil7dGhyb3cgbmV3IEQuSm9iU3RhdGVQb2xsRXJyb3IoTC5pZCxC''@;'; put 'put ''KX0pXTtjYXNlIDM6cmV0dXJuWzIsUi5zZW50KCkucmVzdWx0LnRyaW0oKV07Y2FzZSA0OnJldHVyblsyLFRdfX0pfSl9LE09ZnVuY3Rpb24oTyl7cmV0dXJuInJ1bm5pbmciPT09T3x8IiI9PT1PfHwicGVuZGluZyI9PT1PfHwidW5hdmFpbGFibGUiPT09T30saz1mdW5jdGlvbihPLEwsVCxZ''@;'; put 'put ''LEksVSxWLFIpe3JldHVybiBTKHZvaWQgMCx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEIscSxKLCQsdGUsaCxiLHkscCxnLF8sRSxXLEcsWDtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKG5lKXtzd2l0Y2gobmUubGFiZWwpe2Nhc2UgMDppZihCPTMwMCxxPTFlMyxKPTUsJD0wLHRlPVQs''@;'; put 'put ''aD0iIixiPTAseT1OLmxvZ2dlcnx8eixWJiYoQj1WLnBvbGxJbnRlcnZhbHx8QixxPVYubWF4UG9sbENvdW50fHxxKSwhKHA9TC5saW5rcy5maW5kKGZ1bmN0aW9uKGFlKXtyZXR1cm4ic3RhdGUiPT09YWUucmVsfSkpKXRocm93IG5ldyBFcnJvcigiSm9iIHN0YXRlIGxpbmsgd2FzIG5vdCBm''@;'; put 'put ''b3VuZC4iKTtuZS5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gTSh0ZSkmJkk8PXE/WzQsUChPLEwsdGUsWSxVKS5jYXRjaChmdW5jdGlvbihhZSl7aWYoJCsrLEk+PXF8fCQ+PUopdGhyb3cgYWU7cmV0dXJuIHkuZXJyb3IoIkVycm9yIGZldGNoaW5nIGpvYiBzdGF0ZSBmcm9tICIuY29uY2F0KHAu''@;'; put 'put ''aHJlZiwiLiBSZXN1bWluZyBwb2xsLCBhc3N1bWluZyBqb2IgdG8gYmUgcnVubmluZy4iKSxhZSksInVuYXZhaWxhYmxlIn0pXTpbMyw4XTtjYXNlIDI6cmV0dXJuIHRlPW5lLnNlbnQoKSxJKyssZz1MLmxpbmtzLmZpbmQoZnVuY3Rpb24oYWUpe3JldHVybiJzZWxmIj09PWFlLnJlbH0pLmhy''@;'; put 'put ''ZWYsbnVsbCE9ViYmVi5zdHJlYW1Mb2c/WzQsTy5nZXQoZyxudWxsPT1VP3ZvaWQgMDpVLmFjY2Vzc190b2tlbildOlszLDZdO2Nhc2UgMzpyZXR1cm4gXz1uZS5zZW50KCkucmVzdWx0LEU9bnVsbCE9PShYPW51bGw9PT0oRz1fLmxvZ1N0YXRpc3RpY3MpfHx2b2lkIDA9PT1HP3ZvaWQgMDpH''@;'; put 'put ''LmxpbmVDb3VudCkmJnZvaWQgMCE9PVg/WDoxZTYsKFc9KCgwLHcuaXNOb2RlKSgpP2ooMjA4MCk6e3NhdmVMb2c6bnVsbH0pLnNhdmVMb2cpP1s0LFcoTCxPLGIsRSxSLG51bGw9PVU/dm9pZCAwOlUuYWNjZXNzX3Rva2VuKV06WzMsNV07Y2FzZSA0Om5lLnNlbnQoKSxuZS5sYWJlbD01O2Nh''@;'; put 'put ''c2UgNTpiKz1FLG5lLmxhYmVsPTY7Y2FzZSA2OnJldHVybiBZJiZoIT09dGUmJih5LmluZm8oIlBvbGxpbmc6ICIuY29uY2F0KE8uZ2V0QmFzZVVybCgpK2csIi9zdGF0ZSIpKSx5LmluZm8oIkN1cnJlbnQgam9iIHN0YXRlOiAiLmNvbmNhdCh0ZSkpLGg9dGUpLCJ1bmF2YWlsYWJsZSIhPXRl''@;'; put 'put ''JiYkPjAmJigkPTApLFs0LCgwLHcuZGVsYXkpKEIpXTtjYXNlIDc6cmV0dXJuIG5lLnNlbnQoKSxbMywxXTtjYXNlIDg6cmV0dXJuWzIse3N0YXRlOnRlLHBvbGxDb3VudDpJfV19fSl9KX19LDIwODA6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpLHo9aig1MTA4''@;'; put 'put ''KSxDPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihELHcsUCxNKXtyZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihrLE8pe2Z1bmN0aW9uIEwoSSl7dHJ5e1koTS5uZXh0KEkpKX1jYXRjaChVKXtPKFUpfX1mdW5jdGlvbiBUKEkpe3RyeXtZKE0udGhyb3coSSkpfWNh''@;'; put 'put ''dGNoKFUpe08oVSl9fWZ1bmN0aW9uIFkoSSl7dmFyIFU7SS5kb25lP2soSS52YWx1ZSk6KFU9SS52YWx1ZSxVIGluc3RhbmNlb2YgUD9VOm5ldyBQKGZ1bmN0aW9uKFYpe1YoVSl9KSkudGhlbihMLFQpfVkoKE09TS5hcHBseShELHd8fFtdKSkubmV4dCgpKX0pfSxTPXRoaXMmJnRoaXMuX19n''@;'; put 'put ''ZW5lcmF0b3J8fGZ1bmN0aW9uKEQsdyl7dmFyIFAsTSxrLE8sTD17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZrWzBdKXRocm93IGtbMV07cmV0dXJuIGtbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gTz17bmV4dDpUKDApLHRocm93OlQoMSkscmV0dXJuOlQoMil9LCJmdW5jdGlv''@;'; put 'put ''biI9PXR5cGVvZiBTeW1ib2wmJihPW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLE87ZnVuY3Rpb24gVChZKXtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIGZ1bmN0aW9uKFUpe2lmKFApdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkg''@;'; put 'put ''ZXhlY3V0aW5nLiIpO2Zvcig7TDspdHJ5e2lmKFA9MSxNJiYoaz0yJlVbMF0/TS5yZXR1cm46VVswXT9NLnRocm93fHwoKGs9TS5yZXR1cm4pJiZrLmNhbGwoTSksMCk6TS5uZXh0KSYmIShrPWsuY2FsbChNLFVbMV0pKS5kb25lKXJldHVybiBrO3N3aXRjaChNPTAsayYmKFU9WzImVVswXSxr''@;'; put 'put ''LnZhbHVlXSksVVswXSl7Y2FzZSAwOmNhc2UgMTprPVU7YnJlYWs7Y2FzZSA0OnJldHVybiBMLmxhYmVsKysse3ZhbHVlOlVbMV0sZG9uZTohMX07Y2FzZSA1OkwubGFiZWwrKyxNPVVbMV0sVT1bMF07Y29udGludWU7Y2FzZSA3OlU9TC5vcHMucG9wKCksTC50cnlzLnBvcCgpO2NvbnRpbnVl''@;'; put 'put ''O2RlZmF1bHQ6aWYoISgoaz0oaz1MLnRyeXMpLmxlbmd0aD4wJiZrW2subGVuZ3RoLTFdKXx8NiE9PVVbMF0mJjIhPT1VWzBdKSl7TD0wO2NvbnRpbnVlfWlmKDM9PT1VWzBdJiYoIWt8fFVbMV0+a1swXSYmVVsxXTxrWzNdKSl7TC5sYWJlbD1VWzFdO2JyZWFrfWlmKDY9PT1VWzBdJiZMLmxh''@;'; put 'put ''YmVsPGtbMV0pe0wubGFiZWw9a1sxXSxrPVU7YnJlYWt9aWYoayYmTC5sYWJlbDxrWzJdKXtMLmxhYmVsPWtbMl0sTC5vcHMucHVzaChVKTticmVha31rWzJdJiZMLm9wcy5wb3AoKSxMLnRyeXMucG9wKCk7Y29udGludWV9VT13LmNhbGwoRCxMKX1jYXRjaChWKXtVPVs2LFZdLE09MH1maW5h''@;'; put 'put ''bGx5e1A9az0wfWlmKDUmVVswXSl0aHJvdyBVWzFdO3JldHVybnt2YWx1ZTpVWzBdP1VbMV06dm9pZCAwLGRvbmU6ITB9fShbWSxJXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuc2F2ZUxvZz12b2lkIDA7dmFyIG09aig1OTI4KSxGPWoo''@;'; put 'put ''NjEzMSk7QS5zYXZlTG9nPWZ1bmN0aW9uKEQsdyxQLE0sayxPKXtyZXR1cm4gQyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgTCxULFk7cmV0dXJuIFModGhpcyxmdW5jdGlvbihJKXtzd2l0Y2goSS5sYWJlbCl7Y2FzZSAwOmlmKCFPKXRocm93IG5ldyBFcnJvcigiTG9ncyBm''@;'; put 'put ''b3Igam9iICIuY29uY2F0KEQuaWQsIiBjYW5ub3QgYmUgZmV0Y2hlZCB3aXRob3V0IGEgdmFsaWQgYWNjZXNzIHRva2VuLiIpKTtpZighayl0aHJvdyBuZXcgRXJyb3IoIkxvZ3MgZm9yIGpvYiAiLmNvbmNhdChELmlkLCIgY2Fubm90IGJlIHdyaXR0ZW4gd2l0aG91dCBhIHZhbGlkIHdyaXRl''@;'; put 'put ''IHN0cmVhbS4iKSk7aWYoTD1OLmxvZ2dlcnx8eiwhKFQ9RC5saW5rcy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiJsb2ciPT09VS5yZWx9KSkpdGhyb3cgbmV3IEVycm9yKCJMb2cgVVJMIGZvciBqb2IgIi5jb25jYXQoRC5pZCwiIHdhcyBub3QgZm91bmQuIikpO3JldHVybls0LCgwLG0uZmV0''@;'; put 'put ''Y2hMb2cpKHcsTywiIi5jb25jYXQoVC5ocmVmLCIvY29udGVudCIpLFAsTSldO2Nhc2UgMTpyZXR1cm4gWT1JLnNlbnQoKSxMLmluZm8oIldyaXRpbmcgbG9ncyB0byAiLmNvbmNhdChrLnBhdGgpKSxbNCwoMCxGLndyaXRlU3RyZWFtKShrLFl8fCIiKV07Y2FzZSAyOnJldHVybiBJLnNlbnQo''@;'; put 'put ''KSxbMl19fSl9KX19LDY0OTY6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24obSxGLEQsdyl7cmV0dXJuIG5ldyhEfHwoRD1Qcm9taXNlKSkoZnVuY3Rpb24oUCxNKXtmdW5jdGlvbiBrKFQpe3RyeXtMKHcubmV4dChUKSl9''@;'; put 'put ''Y2F0Y2goWSl7TShZKX19ZnVuY3Rpb24gTyhUKXt0cnl7TCh3LnRocm93KFQpKX1jYXRjaChZKXtNKFkpfX1mdW5jdGlvbiBMKFQpe3ZhciBZO1QuZG9uZT9QKFQudmFsdWUpOihZPVQudmFsdWUsWSBpbnN0YW5jZW9mIEQ/WTpuZXcgRChmdW5jdGlvbihJKXtJKFkpfSkpLnRoZW4oayxPKX1M''@;'; put 'put ''KCh3PXcuYXBwbHkobSxGfHxbXSkpLm5leHQoKSl9KX0sej10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihtLEYpe3ZhciBELHcsUCxNLGs9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmUFswXSl0aHJvdyBQWzFdO3JldHVybiBQWzFdfSx0cnlzOltdLG9wczpbXX07cmV0''@;'; put 'put ''dXJuIE09e25leHQ6TygwKSx0aHJvdzpPKDEpLHJldHVybjpPKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoTVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxNO2Z1bmN0aW9uIE8oTCl7cmV0dXJuIGZ1bmN0aW9uKFQpe3JldHVybiBmdW5jdGlvbihZ''@;'; put 'put ''KXtpZihEKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2s7KXRyeXtpZihEPTEsdyYmKFA9MiZZWzBdP3cucmV0dXJuOllbMF0/dy50aHJvd3x8KChQPXcucmV0dXJuKSYmUC5jYWxsKHcpLDApOncubmV4dCkmJiEoUD1QLmNhbGwo''@;'; put 'put ''dyxZWzFdKSkuZG9uZSlyZXR1cm4gUDtzd2l0Y2godz0wLFAmJihZPVsyJllbMF0sUC52YWx1ZV0pLFlbMF0pe2Nhc2UgMDpjYXNlIDE6UD1ZO2JyZWFrO2Nhc2UgNDpyZXR1cm4gay5sYWJlbCsrLHt2YWx1ZTpZWzFdLGRvbmU6ITF9O2Nhc2UgNTprLmxhYmVsKyssdz1ZWzFdLFk9WzBdO2Nv''@;'; put 'put ''bnRpbnVlO2Nhc2UgNzpZPWsub3BzLnBvcCgpLGsudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKFA9KFA9ay50cnlzKS5sZW5ndGg+MCYmUFtQLmxlbmd0aC0xXSl8fDYhPT1ZWzBdJiYyIT09WVswXSkpe2s9MDtjb250aW51ZX1pZigzPT09WVswXSYmKCFQfHxZWzFdPlBbMF0m''@;'; put 'put ''JllbMV08UFszXSkpe2subGFiZWw9WVsxXTticmVha31pZig2PT09WVswXSYmay5sYWJlbDxQWzFdKXtrLmxhYmVsPVBbMV0sUD1ZO2JyZWFrfWlmKFAmJmsubGFiZWw8UFsyXSl7ay5sYWJlbD1QWzJdLGsub3BzLnB1c2goWSk7YnJlYWt9UFsyXSYmay5vcHMucG9wKCksay50cnlzLnBvcCgp''@;'; put 'put ''O2NvbnRpbnVlfVk9Ri5jYWxsKG0sayl9Y2F0Y2goSSl7WT1bNixJXSx3PTB9ZmluYWxseXtEPVA9MH1pZig1JllbMF0pdGhyb3cgWVsxXTtyZXR1cm57dmFsdWU6WVswXT9ZWzFdOnZvaWQgMCxkb25lOiEwfX0oW0wsVF0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxl''@;'; put 'put ''Iix7dmFsdWU6ITB9KSxBLnVwbG9hZFRhYmxlcz12b2lkIDA7dmFyIEM9aig5Nzc4KSxTPWooMjQwMik7QS51cGxvYWRUYWJsZXM9ZnVuY3Rpb24obSxGLEQpe3JldHVybiBOKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciB3LFAsTSxrLE8sTCxUO3JldHVybiB6KHRoaXMsZnVu''@;'; put 'put ''Y3Rpb24oWSl7c3dpdGNoKFkubGFiZWwpe2Nhc2UgMDpmb3IoTSBpbiB3PVtdLFA9W10sRilQLnB1c2goTSk7az0wLFkubGFiZWw9MTtjYXNlIDE6aWYoIShrPFAubGVuZ3RoKSlyZXR1cm5bMyw0XTtpZigiRVJST1I6IExBUkdFIFNUUklORyBMRU5HVEgiPT09KEw9KDAsUy5jb252ZXJ0VG9D''@;'; put 'put ''U1YpKEYsTz1QW2tdKSkpdGhyb3cgbmV3IEVycm9yKCJUaGUgbWF4IGxlbmd0aCBvZiBhIHN0cmluZyB2YWx1ZSBpbiBTQVNqcyBpcyAzMjc2NSBjaGFyYWN0ZXJzLiIpO3JldHVybls0LG0udXBsb2FkRmlsZSgiL2ZpbGVzL2ZpbGVzI3Jhd1VwbG9hZCIsTCxEKS5jYXRjaChmdW5jdGlvbihJ''@;'; put 'put ''KXt0aHJvdygwLEMucHJlZml4TWVzc2FnZSkoSSwiRXJyb3Igd2hpbGUgdXBsb2FkaW5nIGZpbGUuICIpfSldO2Nhc2UgMjpUPVkuc2VudCgpLHcucHVzaCh7dGFibGVOYW1lOk8sZmlsZTpULnJlc3VsdH0pLFkubGFiZWw9MztjYXNlIDM6cmV0dXJuIGsrKyxbMywxXTtjYXNlIDQ6cmV0dXJu''@;'; put 'put ''WzIsd119fSl9KX19LDYxMzE6ZnVuY3Rpb24oWixBKXsidXNlIHN0cmljdCI7dmFyIGo9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHosQyxTLG0pe3JldHVybiBuZXcoU3x8KFM9UHJvbWlzZSkpKGZ1bmN0aW9uKEYsRCl7ZnVuY3Rpb24gdyhrKXt0cnl7TShtLm5leHQoaykpfWNh''@;'; put 'put ''dGNoKE8pe0QoTyl9fWZ1bmN0aW9uIFAoayl7dHJ5e00obS50aHJvdyhrKSl9Y2F0Y2goTyl7RChPKX19ZnVuY3Rpb24gTShrKXt2YXIgTztrLmRvbmU/RihrLnZhbHVlKTooTz1rLnZhbHVlLE8gaW5zdGFuY2VvZiBTP086bmV3IFMoZnVuY3Rpb24oTCl7TChPKX0pKS50aGVuKHcsUCl9TSgo''@;'; put 'put ''bT1tLmFwcGx5KHosQ3x8W10pKS5uZXh0KCkpfSl9LE49dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oeixDKXt2YXIgUyxtLEYsRCx3PXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJkZbMF0pdGhyb3cgRlsxXTtyZXR1cm4gRlsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVy''@;'; put 'put ''biBEPXtuZXh0OlAoMCksdGhyb3c6UCgxKSxyZXR1cm46UCgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKERbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksRDtmdW5jdGlvbiBQKE0pe3JldHVybiBmdW5jdGlvbihrKXtyZXR1cm4gZnVuY3Rpb24oTyl7''@;'; put 'put ''aWYoUyl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDt3Oyl0cnl7aWYoUz0xLG0mJihGPTImT1swXT9tLnJldHVybjpPWzBdP20udGhyb3d8fCgoRj1tLnJldHVybikmJkYuY2FsbChtKSwwKTptLm5leHQpJiYhKEY9Ri5jYWxsKG0s''@;'; put 'put ''T1sxXSkpLmRvbmUpcmV0dXJuIEY7c3dpdGNoKG09MCxGJiYoTz1bMiZPWzBdLEYudmFsdWVdKSxPWzBdKXtjYXNlIDA6Y2FzZSAxOkY9TzticmVhaztjYXNlIDQ6cmV0dXJuIHcubGFiZWwrKyx7dmFsdWU6T1sxXSxkb25lOiExfTtjYXNlIDU6dy5sYWJlbCsrLG09T1sxXSxPPVswXTtjb250''@;'; put 'put ''aW51ZTtjYXNlIDc6Tz13Lm9wcy5wb3AoKSx3LnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChGPShGPXcudHJ5cykubGVuZ3RoPjAmJkZbRi5sZW5ndGgtMV0pfHw2IT09T1swXSYmMiE9PU9bMF0pKXt3PTA7Y29udGludWV9aWYoMz09PU9bMF0mJighRnx8T1sxXT5GWzBdJiZP''@;'; put 'put ''WzFdPEZbM10pKXt3LmxhYmVsPU9bMV07YnJlYWt9aWYoNj09PU9bMF0mJncubGFiZWw8RlsxXSl7dy5sYWJlbD1GWzFdLEY9TzticmVha31pZihGJiZ3LmxhYmVsPEZbMl0pe3cubGFiZWw9RlsyXSx3Lm9wcy5wdXNoKE8pO2JyZWFrfUZbMl0mJncub3BzLnBvcCgpLHcudHJ5cy5wb3AoKTtj''@;'; put 'put ''b250aW51ZX1PPUMuY2FsbCh6LHcpfWNhdGNoKEwpe089WzYsTF0sbT0wfWZpbmFsbHl7Uz1GPTB9aWYoNSZPWzBdKXRocm93IE9bMV07cmV0dXJue3ZhbHVlOk9bMF0/T1sxXTp2b2lkIDAsZG9uZTohMH19KFtNLGtdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIs''@;'; put 'put ''e3ZhbHVlOiEwfSksQS53cml0ZVN0cmVhbT12b2lkIDAsQS53cml0ZVN0cmVhbT1mdW5jdGlvbih6LEMpe3JldHVybiBqKHZvaWQgMCx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIE4odGhpcyxmdW5jdGlvbihTKXtyZXR1cm5bMix6LndyaXRlKEMrIlxuIixmdW5jdGlvbihtKXty''@;'; put 'put ''ZXR1cm4gbT9Qcm9taXNlLnJlamVjdChtKTpQcm9taXNlLnJlc29sdmUoKX0pXX0pfSl9fSwyODUxOmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49aig1MTA4KSx6PXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihPLEwsVCxZKXtyZXR1cm4gbmV3KFR8fChUPVByb21p''@;'; put 'put ''c2UpKShmdW5jdGlvbihJLFUpe2Z1bmN0aW9uIFYocSl7dHJ5e0IoWS5uZXh0KHEpKX1jYXRjaChKKXtVKEopfX1mdW5jdGlvbiBSKHEpe3RyeXtCKFkudGhyb3cocSkpfWNhdGNoKEope1UoSil9fWZ1bmN0aW9uIEIocSl7dmFyIEo7cS5kb25lP0kocS52YWx1ZSk6KEo9cS52YWx1ZSxKIGlu''@;'; put 'put ''c3RhbmNlb2YgVD9KOm5ldyBUKGZ1bmN0aW9uKCQpeyQoSil9KSkudGhlbihWLFIpfUIoKFk9WS5hcHBseShPLEx8fFtdKSkubmV4dCgpKX0pfSxDPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKE8sTCl7dmFyIFQsWSxJLFUsVj17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYo''@;'; put 'put ''MSZJWzBdKXRocm93IElbMV07cmV0dXJuIElbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gVT17bmV4dDpSKDApLHRocm93OlIoMSkscmV0dXJuOlIoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihVW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLFU7''@;'; put 'put ''ZnVuY3Rpb24gUihCKXtyZXR1cm4gZnVuY3Rpb24ocSl7cmV0dXJuIGZ1bmN0aW9uKEope2lmKFQpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7VjspdHJ5e2lmKFQ9MSxZJiYoST0yJkpbMF0/WS5yZXR1cm46SlswXT9ZLnRocm93''@;'; put 'put ''fHwoKEk9WS5yZXR1cm4pJiZJLmNhbGwoWSksMCk6WS5uZXh0KSYmIShJPUkuY2FsbChZLEpbMV0pKS5kb25lKXJldHVybiBJO3N3aXRjaChZPTAsSSYmKEo9WzImSlswXSxJLnZhbHVlXSksSlswXSl7Y2FzZSAwOmNhc2UgMTpJPUo7YnJlYWs7Y2FzZSA0OnJldHVybiBWLmxhYmVsKysse3Zh''@;'; put 'put ''bHVlOkpbMV0sZG9uZTohMX07Y2FzZSA1OlYubGFiZWwrKyxZPUpbMV0sSj1bMF07Y29udGludWU7Y2FzZSA3Oko9Vi5vcHMucG9wKCksVi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoST0oST1WLnRyeXMpLmxlbmd0aD4wJiZJW0kubGVuZ3RoLTFdKXx8NiE9PUpbMF0mJjIh''@;'; put 'put ''PT1KWzBdKSl7Vj0wO2NvbnRpbnVlfWlmKDM9PT1KWzBdJiYoIUl8fEpbMV0+SVswXSYmSlsxXTxJWzNdKSl7Vi5sYWJlbD1KWzFdO2JyZWFrfWlmKDY9PT1KWzBdJiZWLmxhYmVsPElbMV0pe1YubGFiZWw9SVsxXSxJPUo7YnJlYWt9aWYoSSYmVi5sYWJlbDxJWzJdKXtWLmxhYmVsPUlbMl0s''@;'; put 'put ''Vi5vcHMucHVzaChKKTticmVha31JWzJdJiZWLm9wcy5wb3AoKSxWLnRyeXMucG9wKCk7Y29udGludWV9Sj1MLmNhbGwoTyxWKX1jYXRjaCgkKXtKPVs2LCRdLFk9MH1maW5hbGx5e1Q9ST0wfWlmKDUmSlswXSl0aHJvdyBKWzFdO3JldHVybnt2YWx1ZTpKWzBdP0pbMV06dm9pZCAwLGRvbmU6''@;'; put 'put ''ITB9fShbQixxXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuQXV0aE1hbmFnZXI9dm9pZCAwO3ZhciBTPWooMzkwMCksbT1qKDU5MjgpLEY9aig1NDE4KSxEPWooNDU4Miksdz1qKDY1NDcpLFA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBPKEws''@;'; put 'put ''VCxZLEkpe3ZhciBVPXRoaXM7dGhpcy5zZXJ2ZXJVcmw9TCx0aGlzLnNlcnZlclR5cGU9VCx0aGlzLnJlcXVlc3RDbGllbnQ9WSx0aGlzLmxvZ2luQ2FsbGJhY2s9SSx0aGlzLnVzZXJOYW1lPSIiLHRoaXMucmVkaXJlY3RlZExvZ2luVXJsPSIvU0FTTG9nb24vaG9tZSIsdGhpcy5leHRyYWN0''@;'; put 'put ''VXNlck5hbWU9ZnVuY3Rpb24oVil7c3dpdGNoKFUuc2VydmVyVHlwZSl7Y2FzZSBTLlNlcnZlclR5cGUuU2FzVml5YTpyZXR1cm4gbnVsbD09Vj92b2lkIDA6Vi5pZDtjYXNlIFMuU2VydmVyVHlwZS5TYXM5OnZhciBSPW51bGw9PVY/dm9pZCAwOlYubWF0Y2goLyJ0aXRsZSI6IkxvZyBPZmYg''@;'; put 'put ''WzAtMWEtekEtWiBdKiIvKSxCPW51bGw9PVI/dm9pZCAwOlJbMF0uc2xpY2UoMTcsLTEpO3JldHVybiBCLmluY2x1ZGVzKCIgIik/Qi5zcGxpdCgiICIpLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gcS5zbGljZSgwLDMpLnRvTG93ZXJDYXNlKCl9KS5qb2luKCIiKTpCO2Nhc2UgUy5TZXJ2ZXJU''@;'; put 'put ''eXBlLlNhc2pzOnJldHVybiBudWxsPT1WP3ZvaWQgMDpWLnVzZXJuYW1lO2RlZmF1bHQ6cmV0dXJuIE4uZXJyb3IoIlNlcnZlciBUeXBlIG5vdCBmb3VuZCBpbiBleHRyYWN0VXNlck5hbWUgZnVuY3Rpb24iKSwiIn19LHRoaXMuc2V0TG9naW5Vcmw9ZnVuY3Rpb24oVil7dmFyIFI9VlsxXS5y''@;'; put 'put ''ZXBsYWNlKC9cPy4qLywiIik7aWYoIi8iPT09UlswXSl7Uj1SLnN1YnN0cigxKTt2YXIgQj1VLnNlcnZlclVybD8iIi5jb25jYXQoVS5zZXJ2ZXJVcmwsIi8iKS5jb25jYXQoUik6IiIuY29uY2F0KFIpO1UubG9naW5Vcmw9VS5zZXJ2ZXJUeXBlPT09Uy5TZXJ2ZXJUeXBlLlNhc1ZpeWE/QjpC''@;'; put 'put ''LnJlcGxhY2UoIi5kbyIsIiIpfX0sdGhpcy5sb2dpblVybD0iL1NBU0xvZ29uL2xvZ2luIix0aGlzLmxvZ291dFVybD10aGlzLnNlcnZlclR5cGU9PT1TLlNlcnZlclR5cGUuU2FzOT8iL1NBU0xvZ29uL2xvZ291dD8iOnRoaXMuc2VydmVyVHlwZT09PVMuU2VydmVyVHlwZS5TYXNWaXlhPyIv''@;'; put 'put ''U0FTTG9nb24vbG9nb3V0LmRvPyI6Ii9TQVNMb2dvbi9sb2dvdXQifXJldHVybiBPLnByb3RvdHlwZS5yZWRpcmVjdGVkTG9nSW49ZnVuY3Rpb24oTCl7dmFyIFQ9TC5vbkxvZ2dlZE91dDtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgWSxVLFYsUixCLHE7cmV0''@;'; put 'put ''dXJuIEModGhpcyxmdW5jdGlvbihKKXtzd2l0Y2goSi5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuZmV0Y2hVc2VyTmFtZSgpXTtjYXNlIDE6cmV0dXJuIFk9Si5zZW50KCksVT1ZLnVzZXJOYW1lLFkuaXNMb2dnZWRJbj9bNCx0aGlzLmxvZ2luQ2FsbGJhY2soKV06WzMsM107Y2FzZSAy''@;'; put 'put ''OnJldHVybiBKLnNlbnQoKSxbMix7aXNMb2dnZWRJbjohMCx1c2VyTmFtZTpVfV07Y2FzZSAzOnJldHVybls0LCgwLEYub3BlbldlYlBhZ2UpKHRoaXMucmVkaXJlY3RlZExvZ2luVXJsLCJTQVNMb2dvbiIse3dpZHRoOjUwMCxoZWlnaHQ6NjAwfSxUKV07Y2FzZSA0OnJldHVybihWPUouc2Vu''@;'; put 'put ''dCgpKT90aGlzLnNlcnZlclR5cGUhPT1TLlNlcnZlclR5cGUuU2FzVml5YT9bMyw2XTpbNCwoMCx3LnZlcmlmeVNhc1ZpeWFMb2dpbikoVildOlsyLHtpc0xvZ2dlZEluOiExLHVzZXJOYW1lOiIifV07Y2FzZSA1OnJldHVybiBCPUouc2VudCgpLFszLDhdO2Nhc2UgNjpyZXR1cm5bNCwoMCxE''@;'; put 'put ''LnZlcmlmeVNhczlMb2dpbikoVildO2Nhc2UgNzpCPUouc2VudCgpLEoubGFiZWw9ODtjYXNlIDg6cmV0dXJuIFI9Qi5pc0xvZ2dlZEluLFYuY2xvc2UoKSxSP3RoaXMuc2VydmVyVHlwZSE9PVMuU2VydmVyVHlwZS5TYXM5P1szLDEwXTpbNCx0aGlzLnBlcmZvcm1DQVNTZWN1cml0eUNoZWNr''@;'; put 'put ''KCldOlszLDEzXTtjYXNlIDk6Si5zZW50KCksSi5sYWJlbD0xMDtjYXNlIDEwOnJldHVybls0LHRoaXMuZmV0Y2hVc2VyTmFtZSgpXTtjYXNlIDExOnJldHVybiBxPUouc2VudCgpLnVzZXJOYW1lLFs0LHRoaXMubG9naW5DYWxsYmFjaygpXTtjYXNlIDEyOnJldHVybiBKLnNlbnQoKSxbMix7''@;'; put 'put ''aXNMb2dnZWRJbjohMCx1c2VyTmFtZTpxfV07Y2FzZSAxMzpyZXR1cm5bMix7aXNMb2dnZWRJbjohMSx1c2VyTmFtZToiIn1dfX0pfSl9LE8ucHJvdG90eXBlLmxvZ0luPWZ1bmN0aW9uKEwsVCl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIFksSSxWLFIsQixx''@;'; put 'put ''LEosJDtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKHRlKXtzd2l0Y2godGUubGFiZWwpe2Nhc2UgMDpyZXR1cm4gWT17X3NlcnZpY2U6ImRlZmF1bHQiLHVzZXJuYW1lOkwscGFzc3dvcmQ6VH0sWzQsdGhpcy5jaGVja1Nlc3Npb24oKV07Y2FzZSAxOnJldHVybiBJPXRlLnNlbnQoKSxWPUkubG9n''@;'; put 'put ''aW5Gb3JtLFI9SS51c2VyTmFtZSxJLmlzTG9nZ2VkSW4/UiE9PVkudXNlcm5hbWU/WzMsM106WzQsdGhpcy5sb2dpbkNhbGxiYWNrKCldOlszLDddO2Nhc2UgMjpyZXR1cm4gdGUuc2VudCgpLHRoaXMudXNlck5hbWU9UixbMix7aXNMb2dnZWRJbjohMCx1c2VyTmFtZTp0aGlzLnVzZXJOYW1l''@;'; put 'put ''fV07Y2FzZSAzOnJldHVybls0LHRoaXMubG9nT3V0KCldO2Nhc2UgNDpyZXR1cm4gdGUuc2VudCgpLFs0LHRoaXMuZ2V0TmV3TG9naW5Gb3JtKCldO2Nhc2UgNTpWPXRlLnNlbnQoKSx0ZS5sYWJlbD02O2Nhc2UgNjpyZXR1cm5bMyw4XTtjYXNlIDc6dGhpcy51c2VyTmFtZT0iIix0ZS5sYWJl''@;'; put 'put ''bD04O2Nhc2UgODpyZXR1cm5bNCx0aGlzLnNlbmRMb2dpblJlcXVlc3QoVixZKV07Y2FzZSA5OnJldHVybiBCPXRlLnNlbnQoKSwocT1rKHRoaXMuc2VydmVyVHlwZSxCKSk/WzMsMTRdOk0oQik/WzQsdGhpcy5nZXRMb2dpbkZvcm0oQildOlszLDEyXTtjYXNlIDEwOnJldHVybiBKPXRlLnNl''@;'; put 'put ''bnQoKSxbNCx0aGlzLnNlbmRMb2dpblJlcXVlc3QoSixZKV07Y2FzZSAxMTpCPXRlLnNlbnQoKSx0ZS5sYWJlbD0xMjtjYXNlIDEyOnJldHVybls0LHRoaXMuY2hlY2tTZXNzaW9uKCldO2Nhc2UgMTM6cmV0dXJuICQ9dGUuc2VudCgpLChxPSQuaXNMb2dnZWRJbikmJih0aGlzLnVzZXJOYW1l''@;'; put 'put ''PSQudXNlck5hbWUpLFszLDE1XTtjYXNlIDE0OnRoaXMudXNlck5hbWU9WS51c2VybmFtZSx0ZS5sYWJlbD0xNTtjYXNlIDE1OnJldHVybiBxP3RoaXMuc2VydmVyVHlwZSE9PVMuU2VydmVyVHlwZS5TYXM5P1szLDE3XTpbNCx0aGlzLnBlcmZvcm1DQVNTZWN1cml0eUNoZWNrKCldOlszLDE4''@;'; put 'put ''XTtjYXNlIDE2OnRlLnNlbnQoKSx0ZS5sYWJlbD0xNztjYXNlIDE3OnJldHVybiB0aGlzLmxvZ2luQ2FsbGJhY2soKSxbMywxOV07Y2FzZSAxODp0aGlzLnVzZXJOYW1lPSIiLHRlLmxhYmVsPTE5O2Nhc2UgMTk6cmV0dXJuWzIse2lzTG9nZ2VkSW46cSx1c2VyTmFtZTp0aGlzLnVzZXJOYW1l''@;'; put 'put ''fV19fSl9KX0sTy5wcm90b3R5cGUucGVyZm9ybUNBU1NlY3VyaXR5Q2hlY2s9ZnVuY3Rpb24oKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgTDtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKFQpe3N3aXRjaChULmxhYmVsKXtjYXNlIDA6cmV0dXJuIEw9IiIuY29u''@;'; put 'put ''Y2F0KHRoaXMuc2VydmVyVXJsLCIvU0FTU3RvcmVkUHJvY2Vzcy9qX3NwcmluZ19jYXNfc2VjdXJpdHlfY2hlY2siKSxbNCx0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KCIvU0FTTG9nb24vbG9naW4/c2VydmljZT0iLmNvbmNhdChMKSx2b2lkIDApXTtjYXNlIDE6cmV0dXJuIFQuc2VudCgpLFsy''@;'; put 'put ''XX19KX0pfSxPLnByb3RvdHlwZS5zZW5kTG9naW5SZXF1ZXN0PWZ1bmN0aW9uKEwsVCl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIFUsVjtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKFIpe3N3aXRjaChSLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMuc2VydmVy''@;'; put 'put ''VHlwZSE9PVMuU2VydmVyVHlwZS5TYXNqcz9bMywyXTpbNCx0aGlzLnJlcXVlc3RDbGllbnQucG9zdCh0aGlzLmxvZ2luVXJsLHt1c2VybmFtZTpULnVzZXJuYW1lLHBhc3N3b3JkOlQucGFzc3dvcmR9LHZvaWQgMCldO2Nhc2UgMTpjYXNlIDM6cmV0dXJuWzIsUi5zZW50KCkucmVzdWx0XTtj''@;'; put 'put ''YXNlIDI6Zm9yKFUgaW4gTClUW1VdPUxbVV07cmV0dXJuIFY9KDAsbS5zZXJpYWxpemUpKFQpLFs0LHRoaXMucmVxdWVzdENsaWVudC5wb3N0KHRoaXMubG9naW5VcmwsVix2b2lkIDAsInRleHQvcGxhaW4iLHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNv''@;'; put 'put ''ZGVkIixBY2NlcHQ6IiovKiJ9KV19fSl9KX0sTy5wcm90b3R5cGUuY2hlY2tTZXNzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEwsVCxZLEk7cmV0dXJuIEModGhpcyxmdW5jdGlvbihVKXtzd2l0Y2goVS5sYWJlbCl7Y2FzZSAwOnJl''@;'; put 'put ''dHVybls0LHRoaXMuZmV0Y2hVc2VyTmFtZSgpXTtjYXNlIDE6cmV0dXJuIEw9VS5zZW50KCksWT1MLnVzZXJOYW1lLEk9bnVsbCwoVD1MLmlzTG9nZ2VkSW4pP1szLDRdOls0LHRoaXMubG9nT3V0KCldO2Nhc2UgMjpyZXR1cm4gVS5zZW50KCksWzQsdGhpcy5nZXROZXdMb2dpbkZvcm0oKV07''@;'; put 'put ''Y2FzZSAzOkk9VS5zZW50KCksVS5sYWJlbD00O2Nhc2UgNDpyZXR1cm5bMixQcm9taXNlLnJlc29sdmUoe2lzTG9nZ2VkSW46VCx1c2VyTmFtZTpZLnRvTG93ZXJDYXNlKCksbG9naW5Gb3JtOkl9KV19fSl9KX0sTy5wcm90b3R5cGUuZ2V0TmV3TG9naW5Gb3JtPWZ1bmN0aW9uKCl7cmV0dXJu''@;'; put 'put ''IHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEw7cmV0dXJuIEModGhpcyxmdW5jdGlvbihUKXtzd2l0Y2goVC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLnNlcnZlclR5cGU9PT1TLlNlcnZlclR5cGUuU2FzanM/WzIsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldCgiLyIsdm9p''@;'; put 'put ''ZCAwKS50aGVuKGZ1bmN0aW9uKFkpe3ZhciBJLFY9bnVsbD09PShJPS88c2NyaXB0PmRvY3VtZW50LmNvb2tpZSA9ICcoWFNSRi1UT0tFTj0uKjsgTWF4LUFnZT04NjQwMDsgU2FtZVNpdGU9U3RyaWN0OyBQYXRoPVwvOyknPFwvc2NyaXB0Pi8uZXhlYyhZLnJlc3VsdCkpfHx2b2lkIDA9PT1J''@;'; put 'put ''P3ZvaWQgMDpJWzFdO1YmJihkb2N1bWVudC5jb29raWU9Vil9KV06WzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldCh0aGlzLmxvZ2luVXJsLnJlcGxhY2UoIi5kbyIsIiIpLHZvaWQgMCwidGV4dC9wbGFpbiIpXTtjYXNlIDE6cmV0dXJuIEw9VC5zZW50KCkucmVzdWx0LFs0LHRoaXMuZ2V0TG9n''@;'; put 'put ''aW5Gb3JtKEwpXTtjYXNlIDI6cmV0dXJuWzIsVC5zZW50KCldfX0pfSl9LE8ucHJvdG90eXBlLmZldGNoVXNlck5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4geih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgTCxULFksSTtyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKFUpe3N3aXRjaChV''@;'; put 'put ''LmxhYmVsKXtjYXNlIDA6cmV0dXJuIEw9IiIuY29uY2F0KHRoaXMuc2VydmVyVXJsLHRoaXMuc2VydmVyVHlwZT09PVMuU2VydmVyVHlwZS5TYXNWaXlhPyIvaWRlbnRpdGllcy91c2Vycy9AY3VycmVudFVzZXIiOnRoaXMuc2VydmVyVHlwZT09PVMuU2VydmVyVHlwZS5TYXM5PyIvU0FTU3Rv''@;'; put 'put ''cmVkUHJvY2VzcyI6Ii9TQVNqc0FwaS9zZXNzaW9uIiksWzQsdGhpcy5yZXF1ZXN0Q2xpZW50LmdldChMLHZvaWQgMCwidGV4dC9wbGFpbiIpLmNhdGNoKGZ1bmN0aW9uKFYpe3JldHVybntyZXN1bHQ6ImF1dGhFcnIifX0pXTtjYXNlIDE6cmV0dXJuIFQ9VS5zZW50KCkucmVzdWx0LEk9KFk9''@;'; put 'put ''ImF1dGhFcnIiIT09VCk/dGhpcy5leHRyYWN0VXNlck5hbWUoVCk6IiIsWT9bMywzXTpbNCx0aGlzLmxvZ091dCgpXTtjYXNlIDI6VS5zZW50KCksVS5sYWJlbD0zO2Nhc2UgMzpyZXR1cm5bMix7aXNMb2dnZWRJbjpZLHVzZXJOYW1lOkl9XX19KX0pfSxPLnByb3RvdHlwZS5nZXRMb2dpbkZv''@;'; put 'put ''cm09ZnVuY3Rpb24oTCl7dmFyIFQ9Lzxmb3JtLithY3Rpb249IiguKkxvZ29uW14iXSopLio+Ly5leGVjKEwpLFk9e307aWYoVCYmVC5sZW5ndGgpe3RoaXMuc2V0TG9naW5VcmwoVCk7dmFyIEk9TC5tYXRjaCgvPGlucHV0LioiaGlkZGVuIltePl0qPi9nKTtJJiZJLmZvckVhY2goZnVuY3Rp''@;'; put 'put ''b24oVSl7dmFyIFY9VS5tYXRjaCgvbmFtZT0iKFteIl0qKSJcc3ZhbHVlPSIoW14iXSopLyk7ViYmVi5sZW5ndGgmJihZW1ZbMV1dPVZbMl0pfSl9cmV0dXJuIE9iamVjdC5rZXlzKFkpLmxlbmd0aD9ZOm51bGx9LE8ucHJvdG90eXBlLmxvZ091dD1mdW5jdGlvbigpe3JldHVybiB6KHRoaXMs''@;'; put 'put ''dm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBDKHRoaXMsZnVuY3Rpb24oTCl7cmV0dXJuIHRoaXMucmVxdWVzdENsaWVudC5jbGVhckNzcmZUb2tlbnMoKSxbMix0aGlzLnJlcXVlc3RDbGllbnQuZ2V0KHRoaXMubG9nb3V0VXJsLHZvaWQgMCkudGhlbihmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biEwfSldfSl9KX0sT30oKTtBLkF1dGhNYW5hZ2VyPVA7dmFyIE09ZnVuY3Rpb24oTyl7cmV0dXJuL0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHRoZSBzeXN0ZW0gd2FzIHZlcmlmeWluZyB5b3VyIGNyZWRlbnRpYWxzLiBQbGVhc2UgZW50ZXIgeW91ciBjcmVkZW50aWFscyBhZ2Fpbi4vZ20u''@;'; put 'put ''dGVzdChPKX0saz1mdW5jdGlvbihPLEwpe3JldHVybiBPPT09Uy5TZXJ2ZXJUeXBlLlNhc2pzP251bGw9PUw/dm9pZCAwOkwubG9nZ2VkaW46L1lvdSBoYXZlIHNpZ25lZCBpbi9nbS50ZXN0KEwpfX0sNTc6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9f''@;'; put 'put ''YXdhaXRlcnx8ZnVuY3Rpb24oUyxtLEYsRCl7cmV0dXJuIG5ldyhGfHwoRj1Qcm9taXNlKSkoZnVuY3Rpb24odyxQKXtmdW5jdGlvbiBNKEwpe3RyeXtPKEQubmV4dChMKSl9Y2F0Y2goVCl7UChUKX19ZnVuY3Rpb24gayhMKXt0cnl7TyhELnRocm93KEwpKX1jYXRjaChUKXtQKFQpfX1mdW5j''@;'; put 'put ''dGlvbiBPKEwpe3ZhciBUO0wuZG9uZT93KEwudmFsdWUpOihUPUwudmFsdWUsVCBpbnN0YW5jZW9mIEY/VDpuZXcgRihmdW5jdGlvbihZKXtZKFQpfSkpLnRoZW4oTSxrKX1PKChEPUQuYXBwbHkoUyxtfHxbXSkpLm5leHQoKSl9KX0sej10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlv''@;'; put 'put ''bihTLG0pe3ZhciBGLEQsdyxQLE09e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmd1swXSl0aHJvdyB3WzFdO3JldHVybiB3WzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFA9e25leHQ6aygwKSx0aHJvdzprKDEpLHJldHVybjprKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9s''@;'; put 'put ''JiYoUFtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxQO2Z1bmN0aW9uIGsoTyl7cmV0dXJuIGZ1bmN0aW9uKEwpe3JldHVybiBmdW5jdGlvbihUKXtpZihGKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3Io''@;'; put 'put ''O007KXRyeXtpZihGPTEsRCYmKHc9MiZUWzBdP0QucmV0dXJuOlRbMF0/RC50aHJvd3x8KCh3PUQucmV0dXJuKSYmdy5jYWxsKEQpLDApOkQubmV4dCkmJiEodz13LmNhbGwoRCxUWzFdKSkuZG9uZSlyZXR1cm4gdztzd2l0Y2goRD0wLHcmJihUPVsyJlRbMF0sdy52YWx1ZV0pLFRbMF0pe2Nh''@;'; put 'put ''c2UgMDpjYXNlIDE6dz1UO2JyZWFrO2Nhc2UgNDpyZXR1cm4gTS5sYWJlbCsrLHt2YWx1ZTpUWzFdLGRvbmU6ITF9O2Nhc2UgNTpNLmxhYmVsKyssRD1UWzFdLFQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpUPU0ub3BzLnBvcCgpLE0udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKHc9''@;'; put 'put ''KHc9TS50cnlzKS5sZW5ndGg+MCYmd1t3Lmxlbmd0aC0xXSl8fDYhPT1UWzBdJiYyIT09VFswXSkpe009MDtjb250aW51ZX1pZigzPT09VFswXSYmKCF3fHxUWzFdPndbMF0mJlRbMV08d1szXSkpe00ubGFiZWw9VFsxXTticmVha31pZig2PT09VFswXSYmTS5sYWJlbDx3WzFdKXtNLmxhYmVs''@;'; put 'put ''PXdbMV0sdz1UO2JyZWFrfWlmKHcmJk0ubGFiZWw8d1syXSl7TS5sYWJlbD13WzJdLE0ub3BzLnB1c2goVCk7YnJlYWt9d1syXSYmTS5vcHMucG9wKCksTS50cnlzLnBvcCgpO2NvbnRpbnVlfVQ9bS5jYWxsKFMsTSl9Y2F0Y2goWSl7VD1bNixZXSxEPTB9ZmluYWxseXtGPXc9MH1pZig1JlRb''@;'; put 'put ''MF0pdGhyb3cgVFsxXTtyZXR1cm57dmFsdWU6VFswXT9UWzFdOnZvaWQgMCxkb25lOiEwfX0oW08sTF0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmdldEFjY2Vzc1Rva2VuRm9yU2FzanM9dm9pZCAwO3ZhciBDPWooOTc3OCk7QS5nZXRB''@;'; put 'put ''Y2Nlc3NUb2tlbkZvclNhc2pzPWZ1bmN0aW9uKFMsbSxGKXtyZXR1cm4gTih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4geih0aGlzLGZ1bmN0aW9uKHcpe3N3aXRjaCh3LmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsUy5wb3N0KCIvU0FTanNBcGkvYXV0aC90b2tlbiIse2Ns''@;'; put 'put ''aWVudElkOm0sY29kZTpGfSx2b2lkIDApLnRoZW4oZnVuY3Rpb24oUCl7dmFyIE09UC5yZXN1bHQ7cmV0dXJue2FjY2Vzc190b2tlbjpNLmFjY2Vzc1Rva2VuLHJlZnJlc2hfdG9rZW46TS5yZWZyZXNoVG9rZW59fSkuY2F0Y2goZnVuY3Rpb24oUCl7dGhyb3coMCxDLnByZWZpeE1lc3NhZ2Up''@;'; put 'put ''KFAsIkVycm9yIHdoaWxlIGdldHRpbmcgYWNjZXNzIHRva2VuLiAiKX0pXTtjYXNlIDE6cmV0dXJuWzIsdy5zZW50KCldfX0pfSl9fSwzNTY5OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49aig4NzY0KS5CdWZmZXIsej10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24o''@;'; put 'put ''RixELHcsUCl7cmV0dXJuIG5ldyh3fHwodz1Qcm9taXNlKSkoZnVuY3Rpb24oTSxrKXtmdW5jdGlvbiBPKFkpe3RyeXtUKFAubmV4dChZKSl9Y2F0Y2goSSl7ayhJKX19ZnVuY3Rpb24gTChZKXt0cnl7VChQLnRocm93KFkpKX1jYXRjaChJKXtrKEkpfX1mdW5jdGlvbiBUKFkpe3ZhciBJO1ku''@;'; put 'put ''ZG9uZT9NKFkudmFsdWUpOihJPVkudmFsdWUsSSBpbnN0YW5jZW9mIHc/STpuZXcgdyhmdW5jdGlvbihVKXtVKEkpfSkpLnRoZW4oTyxMKX1UKChQPVAuYXBwbHkoRixEfHxbXSkpLm5leHQoKSl9KX0sQz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihGLEQpe3ZhciB3LFAsTSxr''@;'; put 'put ''LE89e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmTVswXSl0aHJvdyBNWzFdO3JldHVybiBNWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGs9e25leHQ6TCgwKSx0aHJvdzpMKDEpLHJldHVybjpMKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoa1tTeW1ib2wuaXRlcmF0''@;'; put 'put ''b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxrO2Z1bmN0aW9uIEwoVCl7cmV0dXJuIGZ1bmN0aW9uKFkpe3JldHVybiBmdW5jdGlvbihJKXtpZih3KXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO087KXRyeXtpZih3PTEsUCYm''@;'; put 'put ''KE09MiZJWzBdP1AucmV0dXJuOklbMF0/UC50aHJvd3x8KChNPVAucmV0dXJuKSYmTS5jYWxsKFApLDApOlAubmV4dCkmJiEoTT1NLmNhbGwoUCxJWzFdKSkuZG9uZSlyZXR1cm4gTTtzd2l0Y2goUD0wLE0mJihJPVsyJklbMF0sTS52YWx1ZV0pLElbMF0pe2Nhc2UgMDpjYXNlIDE6TT1JO2Jy''@;'; put 'put ''ZWFrO2Nhc2UgNDpyZXR1cm4gTy5sYWJlbCsrLHt2YWx1ZTpJWzFdLGRvbmU6ITF9O2Nhc2UgNTpPLmxhYmVsKyssUD1JWzFdLEk9WzBdO2NvbnRpbnVlO2Nhc2UgNzpJPU8ub3BzLnBvcCgpLE8udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKE09KE09Ty50cnlzKS5sZW5ndGg+''@;'; put 'put ''MCYmTVtNLmxlbmd0aC0xXSl8fDYhPT1JWzBdJiYyIT09SVswXSkpe089MDtjb250aW51ZX1pZigzPT09SVswXSYmKCFNfHxJWzFdPk1bMF0mJklbMV08TVszXSkpe08ubGFiZWw9SVsxXTticmVha31pZig2PT09SVswXSYmTy5sYWJlbDxNWzFdKXtPLmxhYmVsPU1bMV0sTT1JO2JyZWFrfWlm''@;'; put 'put ''KE0mJk8ubGFiZWw8TVsyXSl7Ty5sYWJlbD1NWzJdLE8ub3BzLnB1c2goSSk7YnJlYWt9TVsyXSYmTy5vcHMucG9wKCksTy50cnlzLnBvcCgpO2NvbnRpbnVlfUk9RC5jYWxsKEYsTyl9Y2F0Y2goVSl7ST1bNixVXSxQPTB9ZmluYWxseXt3PU09MH1pZig1JklbMF0pdGhyb3cgSVsxXTtyZXR1''@;'; put 'put ''cm57dmFsdWU6SVswXT9JWzFdOnZvaWQgMCxkb25lOiEwfX0oW1QsWV0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmdldEFjY2Vzc1Rva2VuRm9yVml5YT12b2lkIDA7dmFyIFM9aig5Nzc4KSxtPWooMTM5NSk7QS5nZXRBY2Nlc3NUb2tl''@;'; put 'put ''bkZvclZpeWE9ZnVuY3Rpb24oRixELHcsUCl7cmV0dXJuIHoodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIE0sayxPO3JldHVybiBDKHRoaXMsZnVuY3Rpb24oTCl7c3dpdGNoKEwubGFiZWwpe2Nhc2UgMDpyZXR1cm4gTT12b2lkIDA9PT1OP2J0b2EoRCsiOiIrdyk6Ti5mcm9t''@;'; put 'put ''KEQrIjoiK3cpLnRvU3RyaW5nKCJiYXNlNjQiKSxrPXtBdXRob3JpemF0aW9uOiJCYXNpYyAiK00sQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sTz1uZXcgVVJMU2VhcmNoUGFyYW1zKHtncmFudF90eXBlOiJhdXRob3JpemF0aW9uX2NvZGUiLGNvZGU6UH0pLFs0LEYucG9zdCgiL1NBU0xv''@;'; put 'put ''Z29uL29hdXRoL3Rva2VuIixPLHZvaWQgMCwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIixrKS50aGVuKGZ1bmN0aW9uKFQpe3JldHVybiBULnJlc3VsdH0pLmNhdGNoKGZ1bmN0aW9uKFQpe3Rocm93IFQgaW5zdGFuY2VvZiBtLkNlcnRpZmljYXRlRXJyb3I/VDooMCxTLnBy''@;'; put 'put ''ZWZpeE1lc3NhZ2UpKFQsIkVycm9yIHdoaWxlIGdldHRpbmcgYWNjZXNzIHRva2VuLiAiKX0pXTtjYXNlIDE6cmV0dXJuWzIsTC5zZW50KCldfX0pfSl9fSw3MDQ6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDQxNTUpLHo9aig1MTA4KSxDPXRoaXMmJnRoaXMuX19hd2Fp''@;'; put 'put ''dGVyfHxmdW5jdGlvbihQLE0sayxPKXtyZXR1cm4gbmV3KGt8fChrPVByb21pc2UpKShmdW5jdGlvbihMLFQpe2Z1bmN0aW9uIFkoVil7dHJ5e1UoTy5uZXh0KFYpKX1jYXRjaChSKXtUKFIpfX1mdW5jdGlvbiBJKFYpe3RyeXtVKE8udGhyb3coVikpfWNhdGNoKFIpe1QoUil9fWZ1bmN0aW9u''@;'; put 'put ''IFUoVil7dmFyIFI7Vi5kb25lP0woVi52YWx1ZSk6KFI9Vi52YWx1ZSxSIGluc3RhbmNlb2Ygaz9SOm5ldyBrKGZ1bmN0aW9uKEIpe0IoUil9KSkudGhlbihZLEkpfVUoKE89Ty5hcHBseShQLE18fFtdKSkubmV4dCgpKX0pfSxTPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKFAs''@;'; put 'put ''TSl7dmFyIGssTyxMLFQsWT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZMWzBdKXRocm93IExbMV07cmV0dXJuIExbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gVD17bmV4dDpJKDApLHRocm93OkkoMSkscmV0dXJuOkkoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihU''@;'; put 'put ''W1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLFQ7ZnVuY3Rpb24gSShVKXtyZXR1cm4gZnVuY3Rpb24oVil7cmV0dXJuIGZ1bmN0aW9uKFIpe2lmKGspdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7WTsp''@;'; put 'put ''dHJ5e2lmKGs9MSxPJiYoTD0yJlJbMF0/Ty5yZXR1cm46UlswXT9PLnRocm93fHwoKEw9Ty5yZXR1cm4pJiZMLmNhbGwoTyksMCk6Ty5uZXh0KSYmIShMPUwuY2FsbChPLFJbMV0pKS5kb25lKXJldHVybiBMO3N3aXRjaChPPTAsTCYmKFI9WzImUlswXSxMLnZhbHVlXSksUlswXSl7Y2FzZSAw''@;'; put 'put ''OmNhc2UgMTpMPVI7YnJlYWs7Y2FzZSA0OnJldHVybiBZLmxhYmVsKysse3ZhbHVlOlJbMV0sZG9uZTohMX07Y2FzZSA1OlkubGFiZWwrKyxPPVJbMV0sUj1bMF07Y29udGludWU7Y2FzZSA3OlI9WS5vcHMucG9wKCksWS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoTD0oTD1Z''@;'; put 'put ''LnRyeXMpLmxlbmd0aD4wJiZMW0wubGVuZ3RoLTFdKXx8NiE9PVJbMF0mJjIhPT1SWzBdKSl7WT0wO2NvbnRpbnVlfWlmKDM9PT1SWzBdJiYoIUx8fFJbMV0+TFswXSYmUlsxXTxMWzNdKSl7WS5sYWJlbD1SWzFdO2JyZWFrfWlmKDY9PT1SWzBdJiZZLmxhYmVsPExbMV0pe1kubGFiZWw9TFsx''@;'; put 'put ''XSxMPVI7YnJlYWt9aWYoTCYmWS5sYWJlbDxMWzJdKXtZLmxhYmVsPUxbMl0sWS5vcHMucHVzaChSKTticmVha31MWzJdJiZZLm9wcy5wb3AoKSxZLnRyeXMucG9wKCk7Y29udGludWV9Uj1NLmNhbGwoUCxZKX1jYXRjaChCKXtSPVs2LEJdLE89MH1maW5hbGx5e2s9TD0wfWlmKDUmUlswXSl0''@;'; put 'put ''aHJvdyBSWzFdO3JldHVybnt2YWx1ZTpSWzBdP1JbMV06dm9pZCAwLGRvbmU6ITB9fShbVSxWXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuZ2V0VG9rZW5zPXZvaWQgMDt2YXIgbT1qKDY3OTkpLEY9aigzOTAwKSxEPWooMzY2KSx3PWoo''@;'; put 'put ''MjQ5KTtBLmdldFRva2Vucz1mdW5jdGlvbihQLE0sayl7cmV0dXJuIHZvaWQgMD09PWsmJihrPUYuU2VydmVyVHlwZS5TYXNWaXlhKSxDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBPLEwsVCxZLEksVixSO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oQil7c3dpdGNoKEIubGFi''@;'; put 'put ''ZWwpe2Nhc2UgMDppZihPPU4ubG9nZ2VyfHx6LFQ9TS5yZWZyZXNoX3Rva2VuLFk9TS5jbGllbnQsST1NLnNlY3JldCwhKDAsbS5pc0FjY2Vzc1Rva2VuRXhwaXJpbmcpKEw9TS5hY2Nlc3NfdG9rZW4pJiYhKDAsbS5pc1JlZnJlc2hUb2tlbkV4cGlyaW5nKShUKSlyZXR1cm5bMyw1XTtpZigo''@;'; put 'put ''MCxtLmhhc1Rva2VuRXhwaXJlZCkoVCkpdGhyb3cgTy5lcnJvcigiVW5hYmxlIHRvIG9idGFpbiBuZXcgYWNjZXNzIHRva2VuLiBZb3VyIHJlZnJlc2ggdG9rZW4gaGFzIGV4cGlyZWQuIiksbmV3IEVycm9yKCJVbmFibGUgdG8gb2J0YWluIG5ldyBhY2Nlc3MgdG9rZW4uIFlvdXIgcmVmcmVz''@;'; put 'put ''aCB0b2tlbiBoYXMgZXhwaXJlZC4iKTtyZXR1cm4gTy5pbmZvKCJSZWZyZXNoaW5nIGFjY2VzcyBhbmQgcmVmcmVzaCB0b2tlbnMuIiksayE9PUYuU2VydmVyVHlwZS5TYXNWaXlhP1szLDJdOls0LCgwLEQucmVmcmVzaFRva2Vuc0ZvclZpeWEpKFAsWSxJLFQpXTtjYXNlIDE6cmV0dXJuIFI9''@;'; put 'put ''Qi5zZW50KCksWzMsNF07Y2FzZSAyOnJldHVybls0LCgwLHcucmVmcmVzaFRva2Vuc0ZvclNhc2pzKShQLFQpXTtjYXNlIDM6Uj1CLnNlbnQoKSxCLmxhYmVsPTQ7Y2FzZSA0Okw9KFY9UikuYWNjZXNzX3Rva2VuLFQ9Vi5yZWZyZXNoX3Rva2VuLEIubGFiZWw9NTtjYXNlIDU6cmV0dXJuWzIs''@;'; put 'put ''e2FjY2Vzc190b2tlbjpMLHJlZnJlc2hfdG9rZW46VCxjbGllbnQ6WSxzZWNyZXQ6SX1dfX0pfSl9fSwxNTI3OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKEMsUyxtLEYpe3ZvaWQg''@;'; put 'put ''MD09PUYmJihGPW0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDLEYse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFNbbV19fSl9OmZ1bmN0aW9uKEMsUyxtLEYpe3ZvaWQgMD09PUYmJihGPW0pLENbRl09U1ttXX0pLHo9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0''@;'; put 'put ''aW9uKEMsUyl7Zm9yKHZhciBtIGluIEMpImRlZmF1bHQiPT09bXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFMsbSl8fE4oUyxDLG0pfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkseihqKDI4NTEpLEEpLHooaig5MDk3KSxB''@;'; put 'put ''KSx6KGooOTE2NiksQSl9LDkwOTc6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuaXNBdXRob3JpemVGb3JtUmVxdWlyZWQ9dm9pZCAwLEEuaXNBdXRob3JpemVGb3JtUmVxdWlyZWQ9ZnVuY3Rpb24oail7cmV0''@;'; put 'put ''dXJuLzxmb3JtLithY3Rpb249IiguKkxvZ29uXC9vYXV0aFwvYXV0aG9yaXplW14iXSopLio+L2dtLnRlc3Qoail9fSw5MTY2OihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmlzTG9nSW5SZXF1aXJlZD12b2lk''@;'; put 'put ''IDAsQS5pc0xvZ0luUmVxdWlyZWQ9ZnVuY3Rpb24oail7cmV0dXJuLzxmb3JtLithY3Rpb249IiguKkxvZ29uW14iXSopLio+L2dtLnRlc3Qoail9fSw1NDE4OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKG0sRixELHcp''@;'; put 'put ''e3JldHVybiBuZXcoRHx8KEQ9UHJvbWlzZSkpKGZ1bmN0aW9uKFAsTSl7ZnVuY3Rpb24gayhUKXt0cnl7TCh3Lm5leHQoVCkpfWNhdGNoKFkpe00oWSl9fWZ1bmN0aW9uIE8oVCl7dHJ5e0wody50aHJvdyhUKSl9Y2F0Y2goWSl7TShZKX19ZnVuY3Rpb24gTChUKXt2YXIgWTtULmRvbmU/UChU''@;'; put 'put ''LnZhbHVlKTooWT1ULnZhbHVlLFkgaW5zdGFuY2VvZiBEP1k6bmV3IEQoZnVuY3Rpb24oSSl7SShZKX0pKS50aGVuKGssTyl9TCgodz13LmFwcGx5KG0sRnx8W10pKS5uZXh0KCkpfSl9LHo9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24obSxGKXt2YXIgRCx3LFAsTSxrPXtsYWJl''@;'; put 'put ''bDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJlBbMF0pdGhyb3cgUFsxXTtyZXR1cm4gUFsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBNPXtuZXh0Ok8oMCksdGhyb3c6TygxKSxyZXR1cm46TygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKE1bU3ltYm9sLml0ZXJhdG9yXT1mdW5j''@;'; put 'put ''dGlvbigpe3JldHVybiB0aGlzfSksTTtmdW5jdGlvbiBPKEwpe3JldHVybiBmdW5jdGlvbihUKXtyZXR1cm4gZnVuY3Rpb24oWSl7aWYoRCl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtrOyl0cnl7aWYoRD0xLHcmJihQPTImWVsw''@;'; put 'put ''XT93LnJldHVybjpZWzBdP3cudGhyb3d8fCgoUD13LnJldHVybikmJlAuY2FsbCh3KSwwKTp3Lm5leHQpJiYhKFA9UC5jYWxsKHcsWVsxXSkpLmRvbmUpcmV0dXJuIFA7c3dpdGNoKHc9MCxQJiYoWT1bMiZZWzBdLFAudmFsdWVdKSxZWzBdKXtjYXNlIDA6Y2FzZSAxOlA9WTticmVhaztjYXNl''@;'; put 'put ''IDQ6cmV0dXJuIGsubGFiZWwrKyx7dmFsdWU6WVsxXSxkb25lOiExfTtjYXNlIDU6ay5sYWJlbCsrLHc9WVsxXSxZPVswXTtjb250aW51ZTtjYXNlIDc6WT1rLm9wcy5wb3AoKSxrLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChQPShQPWsudHJ5cykubGVuZ3RoPjAmJlBbUC5s''@;'; put 'put ''ZW5ndGgtMV0pfHw2IT09WVswXSYmMiE9PVlbMF0pKXtrPTA7Y29udGludWV9aWYoMz09PVlbMF0mJighUHx8WVsxXT5QWzBdJiZZWzFdPFBbM10pKXtrLmxhYmVsPVlbMV07YnJlYWt9aWYoNj09PVlbMF0mJmsubGFiZWw8UFsxXSl7ay5sYWJlbD1QWzFdLFA9WTticmVha31pZihQJiZrLmxh''@;'; put 'put ''YmVsPFBbMl0pe2subGFiZWw9UFsyXSxrLm9wcy5wdXNoKFkpO2JyZWFrfVBbMl0mJmsub3BzLnBvcCgpLGsudHJ5cy5wb3AoKTtjb250aW51ZX1ZPUYuY2FsbChtLGspfWNhdGNoKEkpe1k9WzYsSV0sdz0wfWZpbmFsbHl7RD1QPTB9aWYoNSZZWzBdKXRocm93IFlbMV07cmV0dXJue3ZhbHVl''@;'; put 'put ''OllbMF0/WVsxXTp2b2lkIDAsZG9uZTohMH19KFtMLFRdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5vcGVuV2ViUGFnZT12b2lkIDA7dmFyIEM9aigxMjEwKSxTPXt3aWR0aDo1MDAsaGVpZ2h0OjYwMH07QS5vcGVuV2ViUGFnZT1mdW5j''@;'; put 'put ''dGlvbihtLEYsRCx3KXtyZXR1cm4gdm9pZCAwPT09RiYmKEY9IiIpLHZvaWQgMD09PUQmJihEPVMpLE4odGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIFAsTSxrLE8sTDtyZXR1cm4geih0aGlzLGZ1bmN0aW9uKFQpe3N3aXRjaChULmxhYmVsKXtjYXNlIDA6cmV0dXJuIFA9RC53''@;'; put 'put ''aWR0aCxNPUQuaGVpZ2h0LGs9c2NyZWVuLndpZHRoLzItUC8yLE89c2NyZWVuLmhlaWdodC8yLU0vMiwoTD13aW5kb3cub3BlbihtLEYsInRvb2xiYXI9MCxsb2NhdGlvbj0wLG1lbnViYXI9MCx3aWR0aD0iLmNvbmNhdChQLCIsaGVpZ2h0PSIpLmNvbmNhdChNLCIsbGVmdD0iKS5jb25jYXQo''@;'; put 'put ''aywiLHRvcD0iKS5jb25jYXQoTykpKT9bMywyXTpbNCwobnVsbCE9dz93OkMub3BlbkxvZ2luUHJvbXB0KSgpXTtjYXNlIDE6cmV0dXJuWzIsVC5zZW50KCk/d2luZG93Lm9wZW4obSxGLCJ0b29sYmFyPTAsbG9jYXRpb249MCxtZW51YmFyPTAsd2lkdGg9Ii5jb25jYXQoUCwiLGhlaWdodD0i''@;'; put 'put ''KS5jb25jYXQoTSwiLGxlZnQ9IikuY29uY2F0KGssIix0b3A9IikuY29uY2F0KE8pKTpudWxsXTtjYXNlIDI6cmV0dXJuWzIsTF19fSl9KX19LDI0OTpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihTLG0sRixEKXtyZXR1''@;'; put 'put ''cm4gbmV3KEZ8fChGPVByb21pc2UpKShmdW5jdGlvbih3LFApe2Z1bmN0aW9uIE0oTCl7dHJ5e08oRC5uZXh0KEwpKX1jYXRjaChUKXtQKFQpfX1mdW5jdGlvbiBrKEwpe3RyeXtPKEQudGhyb3coTCkpfWNhdGNoKFQpe1AoVCl9fWZ1bmN0aW9uIE8oTCl7dmFyIFQ7TC5kb25lP3coTC52YWx1''@;'; put 'put ''ZSk6KFQ9TC52YWx1ZSxUIGluc3RhbmNlb2YgRj9UOm5ldyBGKGZ1bmN0aW9uKFkpe1koVCl9KSkudGhlbihNLGspfU8oKEQ9RC5hcHBseShTLG18fFtdKSkubmV4dCgpKX0pfSx6PXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKFMsbSl7dmFyIEYsRCx3LFAsTT17bGFiZWw6MCxz''@;'; put 'put ''ZW50OmZ1bmN0aW9uKCl7aWYoMSZ3WzBdKXRocm93IHdbMV07cmV0dXJuIHdbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gUD17bmV4dDprKDApLHRocm93OmsoMSkscmV0dXJuOmsoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihQW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24o''@;'; put 'put ''KXtyZXR1cm4gdGhpc30pLFA7ZnVuY3Rpb24gayhPKXtyZXR1cm4gZnVuY3Rpb24oTCl7cmV0dXJuIGZ1bmN0aW9uKFQpe2lmKEYpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7TTspdHJ5e2lmKEY9MSxEJiYodz0yJlRbMF0/RC5y''@;'; put 'put ''ZXR1cm46VFswXT9ELnRocm93fHwoKHc9RC5yZXR1cm4pJiZ3LmNhbGwoRCksMCk6RC5uZXh0KSYmISh3PXcuY2FsbChELFRbMV0pKS5kb25lKXJldHVybiB3O3N3aXRjaChEPTAsdyYmKFQ9WzImVFswXSx3LnZhbHVlXSksVFswXSl7Y2FzZSAwOmNhc2UgMTp3PVQ7YnJlYWs7Y2FzZSA0OnJl''@;'; put 'put ''dHVybiBNLmxhYmVsKysse3ZhbHVlOlRbMV0sZG9uZTohMX07Y2FzZSA1Ok0ubGFiZWwrKyxEPVRbMV0sVD1bMF07Y29udGludWU7Y2FzZSA3OlQ9TS5vcHMucG9wKCksTS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgodz0odz1NLnRyeXMpLmxlbmd0aD4wJiZ3W3cubGVuZ3Ro''@;'; put 'put ''LTFdKXx8NiE9PVRbMF0mJjIhPT1UWzBdKSl7TT0wO2NvbnRpbnVlfWlmKDM9PT1UWzBdJiYoIXd8fFRbMV0+d1swXSYmVFsxXTx3WzNdKSl7TS5sYWJlbD1UWzFdO2JyZWFrfWlmKDY9PT1UWzBdJiZNLmxhYmVsPHdbMV0pe00ubGFiZWw9d1sxXSx3PVQ7YnJlYWt9aWYodyYmTS5sYWJlbDx3''@;'; put 'put ''WzJdKXtNLmxhYmVsPXdbMl0sTS5vcHMucHVzaChUKTticmVha313WzJdJiZNLm9wcy5wb3AoKSxNLnRyeXMucG9wKCk7Y29udGludWV9VD1tLmNhbGwoUyxNKX1jYXRjaChZKXtUPVs2LFldLEQ9MH1maW5hbGx5e0Y9dz0wfWlmKDUmVFswXSl0aHJvdyBUWzFdO3JldHVybnt2YWx1ZTpUWzBd''@;'; put 'put ''P1RbMV06dm9pZCAwLGRvbmU6ITB9fShbTyxMXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEucmVmcmVzaFRva2Vuc0ZvclNhc2pzPXZvaWQgMDt2YXIgQz1qKDk3NzgpO0EucmVmcmVzaFRva2Vuc0ZvclNhc2pzPWZ1bmN0aW9uKFMsbSl7''@;'; put 'put ''cmV0dXJuIE4odGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihEKXtzd2l0Y2goRC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LFMucG9zdCgiL1NBU2pzQXBpL2F1dGgvcmVmcmVzaCIsdm9pZCAwLHZvaWQgMCx2b2lkIDAse0F1dGhvcml6YXRpb246''@;'; put 'put ''IkJlYXJlciAiK219KS50aGVuKGZ1bmN0aW9uKHcpe3ZhciBQPXcucmVzdWx0O3JldHVybnthY2Nlc3NfdG9rZW46UC5hY2Nlc3NUb2tlbixyZWZyZXNoX3Rva2VuOlAucmVmcmVzaFRva2VufX0pLmNhdGNoKGZ1bmN0aW9uKHcpe3Rocm93KDAsQy5wcmVmaXhNZXNzYWdlKSh3LCJFcnJvciB3''@;'; put 'put ''aGlsZSByZWZyZXNoaW5nIHRva2VuczogIil9KV07Y2FzZSAxOnJldHVyblsyLEQuc2VudCgpXX19KX0pfX0sMzY2OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49aig4NzY0KS5CdWZmZXIsej10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oRixELHcsUCl7cmV0dXJu''@;'; put 'put ''IG5ldyh3fHwodz1Qcm9taXNlKSkoZnVuY3Rpb24oTSxrKXtmdW5jdGlvbiBPKFkpe3RyeXtUKFAubmV4dChZKSl9Y2F0Y2goSSl7ayhJKX19ZnVuY3Rpb24gTChZKXt0cnl7VChQLnRocm93KFkpKX1jYXRjaChJKXtrKEkpfX1mdW5jdGlvbiBUKFkpe3ZhciBJO1kuZG9uZT9NKFkudmFsdWUp''@;'; put 'put ''OihJPVkudmFsdWUsSSBpbnN0YW5jZW9mIHc/STpuZXcgdyhmdW5jdGlvbihVKXtVKEkpfSkpLnRoZW4oTyxMKX1UKChQPVAuYXBwbHkoRixEfHxbXSkpLm5leHQoKSl9KX0sQz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihGLEQpe3ZhciB3LFAsTSxrLE89e2xhYmVsOjAsc2Vu''@;'; put 'put ''dDpmdW5jdGlvbigpe2lmKDEmTVswXSl0aHJvdyBNWzFdO3JldHVybiBNWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGs9e25leHQ6TCgwKSx0aHJvdzpMKDEpLHJldHVybjpMKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoa1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7''@;'; put 'put ''cmV0dXJuIHRoaXN9KSxrO2Z1bmN0aW9uIEwoVCl7cmV0dXJuIGZ1bmN0aW9uKFkpe3JldHVybiBmdW5jdGlvbihJKXtpZih3KXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO087KXRyeXtpZih3PTEsUCYmKE09MiZJWzBdP1AucmV0''@;'; put 'put ''dXJuOklbMF0/UC50aHJvd3x8KChNPVAucmV0dXJuKSYmTS5jYWxsKFApLDApOlAubmV4dCkmJiEoTT1NLmNhbGwoUCxJWzFdKSkuZG9uZSlyZXR1cm4gTTtzd2l0Y2goUD0wLE0mJihJPVsyJklbMF0sTS52YWx1ZV0pLElbMF0pe2Nhc2UgMDpjYXNlIDE6TT1JO2JyZWFrO2Nhc2UgNDpyZXR1''@;'; put 'put ''cm4gTy5sYWJlbCsrLHt2YWx1ZTpJWzFdLGRvbmU6ITF9O2Nhc2UgNTpPLmxhYmVsKyssUD1JWzFdLEk9WzBdO2NvbnRpbnVlO2Nhc2UgNzpJPU8ub3BzLnBvcCgpLE8udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKE09KE09Ty50cnlzKS5sZW5ndGg+MCYmTVtNLmxlbmd0aC0x''@;'; put 'put ''XSl8fDYhPT1JWzBdJiYyIT09SVswXSkpe089MDtjb250aW51ZX1pZigzPT09SVswXSYmKCFNfHxJWzFdPk1bMF0mJklbMV08TVszXSkpe08ubGFiZWw9SVsxXTticmVha31pZig2PT09SVswXSYmTy5sYWJlbDxNWzFdKXtPLmxhYmVsPU1bMV0sTT1JO2JyZWFrfWlmKE0mJk8ubGFiZWw8TVsy''@;'; put 'put ''XSl7Ty5sYWJlbD1NWzJdLE8ub3BzLnB1c2goSSk7YnJlYWt9TVsyXSYmTy5vcHMucG9wKCksTy50cnlzLnBvcCgpO2NvbnRpbnVlfUk9RC5jYWxsKEYsTyl9Y2F0Y2goVSl7ST1bNixVXSxQPTB9ZmluYWxseXt3PU09MH1pZig1JklbMF0pdGhyb3cgSVsxXTtyZXR1cm57dmFsdWU6SVswXT9J''@;'; put 'put ''WzFdOnZvaWQgMCxkb25lOiEwfX0oW1QsWV0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLnJlZnJlc2hUb2tlbnNGb3JWaXlhPXZvaWQgMDt2YXIgUz1qKDk3NzgpLG09aig2MjMwKTtBLnJlZnJlc2hUb2tlbnNGb3JWaXlhPWZ1bmN0aW9u''@;'; put 'put ''KEYsRCx3LFApe3JldHVybiB6KHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBNLGssTztyZXR1cm4gQyh0aGlzLGZ1bmN0aW9uKEwpe3N3aXRjaChMLmxhYmVsKXtjYXNlIDA6cmV0dXJuIE09dm9pZCAwPT09Tj9idG9hKEQrIjoiK3cpOk4uZnJvbShEKyI6Iit3KS50b1N0cmlu''@;'; put 'put ''ZygiYmFzZTY0Iiksaz17QXV0aG9yaXphdGlvbjoiQmFzaWMgIitNfSwoTz0idW5kZWZpbmVkIj09dHlwZW9mIEZvcm1EYXRhP25ldyBtOm5ldyBGb3JtRGF0YSkuYXBwZW5kKCJncmFudF90eXBlIiwicmVmcmVzaF90b2tlbiIpLE8uYXBwZW5kKCJyZWZyZXNoX3Rva2VuIixQKSxbNCxGLnBv''@;'; put 'put ''c3QoIi9TQVNMb2dvbi9vYXV0aC90b2tlbiIsTyx2b2lkIDAsIm11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSIrTy5fYm91bmRhcnksaykudGhlbihmdW5jdGlvbihUKXtyZXR1cm4gVC5yZXN1bHR9KS5jYXRjaChmdW5jdGlvbihUKXt0aHJvdygwLFMucHJlZml4TWVzc2FnZSkoVCwi''@;'; put 'put ''RXJyb3Igd2hpbGUgcmVmcmVzaGluZyB0b2tlbnM6ICIpfSldO2Nhc2UgMTpyZXR1cm5bMixMLnNlbnQoKV19fSl9KX19LDQ1ODI6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oUyxtLEYsRCl7cmV0dXJuIG5ldyhGfHwo''@;'; put 'put ''Rj1Qcm9taXNlKSkoZnVuY3Rpb24odyxQKXtmdW5jdGlvbiBNKEwpe3RyeXtPKEQubmV4dChMKSl9Y2F0Y2goVCl7UChUKX19ZnVuY3Rpb24gayhMKXt0cnl7TyhELnRocm93KEwpKX1jYXRjaChUKXtQKFQpfX1mdW5jdGlvbiBPKEwpe3ZhciBUO0wuZG9uZT93KEwudmFsdWUpOihUPUwudmFs''@;'; put 'put ''dWUsVCBpbnN0YW5jZW9mIEY/VDpuZXcgRihmdW5jdGlvbihZKXtZKFQpfSkpLnRoZW4oTSxrKX1PKChEPUQuYXBwbHkoUyxtfHxbXSkpLm5leHQoKSl9KX0sej10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihTLG0pe3ZhciBGLEQsdyxQLE09e2xhYmVsOjAsc2VudDpmdW5jdGlv''@;'; put 'put ''bigpe2lmKDEmd1swXSl0aHJvdyB3WzFdO3JldHVybiB3WzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFA9e25leHQ6aygwKSx0aHJvdzprKDEpLHJldHVybjprKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoUFtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRo''@;'; put 'put ''aXN9KSxQO2Z1bmN0aW9uIGsoTyl7cmV0dXJuIGZ1bmN0aW9uKEwpe3JldHVybiBmdW5jdGlvbihUKXtpZihGKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO007KXRyeXtpZihGPTEsRCYmKHc9MiZUWzBdP0QucmV0dXJuOlRbMF0/''@;'; put 'put ''RC50aHJvd3x8KCh3PUQucmV0dXJuKSYmdy5jYWxsKEQpLDApOkQubmV4dCkmJiEodz13LmNhbGwoRCxUWzFdKSkuZG9uZSlyZXR1cm4gdztzd2l0Y2goRD0wLHcmJihUPVsyJlRbMF0sdy52YWx1ZV0pLFRbMF0pe2Nhc2UgMDpjYXNlIDE6dz1UO2JyZWFrO2Nhc2UgNDpyZXR1cm4gTS5sYWJl''@;'; put 'put ''bCsrLHt2YWx1ZTpUWzFdLGRvbmU6ITF9O2Nhc2UgNTpNLmxhYmVsKyssRD1UWzFdLFQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpUPU0ub3BzLnBvcCgpLE0udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKHc9KHc9TS50cnlzKS5sZW5ndGg+MCYmd1t3Lmxlbmd0aC0xXSl8fDYhPT1U''@;'; put 'put ''WzBdJiYyIT09VFswXSkpe009MDtjb250aW51ZX1pZigzPT09VFswXSYmKCF3fHxUWzFdPndbMF0mJlRbMV08d1szXSkpe00ubGFiZWw9VFsxXTticmVha31pZig2PT09VFswXSYmTS5sYWJlbDx3WzFdKXtNLmxhYmVsPXdbMV0sdz1UO2JyZWFrfWlmKHcmJk0ubGFiZWw8d1syXSl7TS5sYWJl''@;'; put 'put ''bD13WzJdLE0ub3BzLnB1c2goVCk7YnJlYWt9d1syXSYmTS5vcHMucG9wKCksTS50cnlzLnBvcCgpO2NvbnRpbnVlfVQ9bS5jYWxsKFMsTSl9Y2F0Y2goWSl7VD1bNixZXSxEPTB9ZmluYWxseXtGPXc9MH1pZig1JlRbMF0pdGhyb3cgVFsxXTtyZXR1cm57dmFsdWU6VFswXT9UWzFdOnZvaWQg''@;'; put 'put ''MCxkb25lOiEwfX0oW08sTF0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLnZlcmlmeVNhczlMb2dpbj12b2lkIDA7dmFyIEM9aig1OTI4KTtBLnZlcmlmeVNhczlMb2dpbj1mdW5jdGlvbihTKXtyZXR1cm4gTih0aGlzLHZvaWQgMCx2b2lk''@;'; put 'put ''IDAsZnVuY3Rpb24oKXt2YXIgbSxGLEQ7cmV0dXJuIHoodGhpcyxmdW5jdGlvbih3KXtzd2l0Y2gody5sYWJlbCl7Y2FzZSAwOm09ITEsRj1uZXcgRGF0ZSxEPTAsdy5sYWJlbD0xO2Nhc2UgMTpyZXR1cm5bNCwoMCxDLmRlbGF5KSgxZTMpXTtjYXNlIDI6aWYody5zZW50KCksUy5jbG9zZWQp''@;'; put 'put ''cmV0dXJuWzMsNF07bT1TLndpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCJTQVNMb2dvbiIpJiZTLndpbmRvdy5kb2N1bWVudC5ib2R5LmlubmVyVGV4dC5pbmNsdWRlcygiWW91IGhhdmUgc2lnbmVkIGluLiIpLEQ9KChuZXcgRGF0ZSkudmFsdWVPZigpLUYudmFsdWVPZigpKS8xZTMs''@;'; put 'put ''dy5sYWJlbD0zO2Nhc2UgMzppZighbSYmRDwzMDApcmV0dXJuWzMsMV07dy5sYWJlbD00O2Nhc2UgNDpyZXR1cm5bMix7aXNMb2dnZWRJbjptfV19fSl9KX19LDY1NDc6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oUyxt''@;'; put 'put ''LEYsRCl7cmV0dXJuIG5ldyhGfHwoRj1Qcm9taXNlKSkoZnVuY3Rpb24odyxQKXtmdW5jdGlvbiBNKEwpe3RyeXtPKEQubmV4dChMKSl9Y2F0Y2goVCl7UChUKX19ZnVuY3Rpb24gayhMKXt0cnl7TyhELnRocm93KEwpKX1jYXRjaChUKXtQKFQpfX1mdW5jdGlvbiBPKEwpe3ZhciBUO0wuZG9u''@;'; put 'put ''ZT93KEwudmFsdWUpOihUPUwudmFsdWUsVCBpbnN0YW5jZW9mIEY/VDpuZXcgRihmdW5jdGlvbihZKXtZKFQpfSkpLnRoZW4oTSxrKX1PKChEPUQuYXBwbHkoUyxtfHxbXSkpLm5leHQoKSl9KX0sej10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihTLG0pe3ZhciBGLEQsdyxQLE09''@;'; put 'put ''e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmd1swXSl0aHJvdyB3WzFdO3JldHVybiB3WzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFA9e25leHQ6aygwKSx0aHJvdzprKDEpLHJldHVybjprKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoUFtTeW1ib2wuaXRlcmF0b3Jd''@;'; put 'put ''PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxQO2Z1bmN0aW9uIGsoTyl7cmV0dXJuIGZ1bmN0aW9uKEwpe3JldHVybiBmdW5jdGlvbihUKXtpZihGKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO007KXRyeXtpZihGPTEsRCYmKHc9''@;'; put 'put ''MiZUWzBdP0QucmV0dXJuOlRbMF0/RC50aHJvd3x8KCh3PUQucmV0dXJuKSYmdy5jYWxsKEQpLDApOkQubmV4dCkmJiEodz13LmNhbGwoRCxUWzFdKSkuZG9uZSlyZXR1cm4gdztzd2l0Y2goRD0wLHcmJihUPVsyJlRbMF0sdy52YWx1ZV0pLFRbMF0pe2Nhc2UgMDpjYXNlIDE6dz1UO2JyZWFr''@;'; put 'put ''O2Nhc2UgNDpyZXR1cm4gTS5sYWJlbCsrLHt2YWx1ZTpUWzFdLGRvbmU6ITF9O2Nhc2UgNTpNLmxhYmVsKyssRD1UWzFdLFQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpUPU0ub3BzLnBvcCgpLE0udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKHc9KHc9TS50cnlzKS5sZW5ndGg+MCYm''@;'; put 'put ''d1t3Lmxlbmd0aC0xXSl8fDYhPT1UWzBdJiYyIT09VFswXSkpe009MDtjb250aW51ZX1pZigzPT09VFswXSYmKCF3fHxUWzFdPndbMF0mJlRbMV08d1szXSkpe00ubGFiZWw9VFsxXTticmVha31pZig2PT09VFswXSYmTS5sYWJlbDx3WzFdKXtNLmxhYmVsPXdbMV0sdz1UO2JyZWFrfWlmKHcm''@;'; put 'put ''Jk0ubGFiZWw8d1syXSl7TS5sYWJlbD13WzJdLE0ub3BzLnB1c2goVCk7YnJlYWt9d1syXSYmTS5vcHMucG9wKCksTS50cnlzLnBvcCgpO2NvbnRpbnVlfVQ9bS5jYWxsKFMsTSl9Y2F0Y2goWSl7VD1bNixZXSxEPTB9ZmluYWxseXtGPXc9MH1pZig1JlRbMF0pdGhyb3cgVFsxXTtyZXR1cm57''@;'; put 'put ''dmFsdWU6VFswXT9UWzFdOnZvaWQgMCxkb25lOiEwfX0oW08sTF0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmlzTG9nZ2VkSW5TQVNWSVlBPUEudmVyaWZ5U2FzVml5YUxvZ2luPXZvaWQgMDt2YXIgQz1qKDU5MjgpO0EudmVyaWZ5U2Fz''@;'; put 'put ''Vml5YUxvZ2luPWZ1bmN0aW9uKFMpe3ZhciBtLEY7cmV0dXJuIE4odGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEQsdyxQLE07cmV0dXJuIHoodGhpcyxmdW5jdGlvbihrKXtzd2l0Y2goay5sYWJlbCl7Y2FzZSAwOkQ9ITEsdz1uZXcgRGF0ZSxQPTAsay5sYWJlbD0xO2Nhc2Ug''@;'; put 'put ''MTpyZXR1cm5bNCwoMCxDLmRlbGF5KSgxZTMpXTtjYXNlIDI6aWYoay5zZW50KCksUy5jbG9zZWQpcmV0dXJuWzMsNF07RD0oMCxBLmlzTG9nZ2VkSW5TQVNWSVlBKSgpLFA9KChuZXcgRGF0ZSkudmFsdWVPZigpLXcudmFsdWVPZigpKS8xZTMsay5sYWJlbD0zO2Nhc2UgMzppZighRCYmUDwz''@;'; put 'put ''MDApcmV0dXJuWzMsMV07ay5sYWJlbD00O2Nhc2UgNDpNPSExLHc9bmV3IERhdGUsay5sYWJlbD01O2Nhc2UgNTpyZXR1cm5bNCwoMCxDLmRlbGF5KSgxZTMpXTtjYXNlIDY6aWYoay5zZW50KCksUy5jbG9zZWQpcmV0dXJuWzMsOF07TT1TLndpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVz''@;'; put 'put ''KCJTQVNMb2dvbiIpfHwobnVsbD09PShGPW51bGw9PT0obT1TLndpbmRvdy5kb2N1bWVudC5ib2R5KXx8dm9pZCAwPT09bT92b2lkIDA6bS5pbm5lclRleHQpfHx2b2lkIDA9PT1GP3ZvaWQgMDpGLmluY2x1ZGVzKCJZb3UgaGF2ZSBzaWduZWQgaW4uIikpLFA9KChuZXcgRGF0ZSkudmFsdWVP''@;'; put 'put ''ZigpLXcudmFsdWVPZigpKS8xZTMsay5sYWJlbD03O2Nhc2UgNzppZighTSYmUDwzMDApcmV0dXJuWzMsNV07ay5sYWJlbD04O2Nhc2UgODpyZXR1cm5bMix7aXNMb2dnZWRJbjpEJiZNfV19fSl9KX0sQS5pc0xvZ2dlZEluU0FTVklZQT1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5jb29r''@;'; put 'put ''aWUuaW5jbHVkZXMoIkN1cnJlbnQtVXNlciIpJiZkb2N1bWVudC5jb29raWUuaW5jbHVkZXMoInVzZXJJZCIpfX0sNDAzNzooWixBLGopPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmdlbmVyYXRlRmlsZVVwbG9hZEZv''@;'; put 'put ''cm09dm9pZCAwO3ZhciBOPWooNjIzMCksej1qKDI0MDIpO0EuZ2VuZXJhdGVGaWxlVXBsb2FkRm9ybT1mdW5jdGlvbihDLFMpe2Zvcih2YXIgbSBpbiBTKWlmKEFycmF5LmlzQXJyYXkoU1ttXSkpe3ZhciBGPW0sRD0oMCx6LmNvbnZlcnRUb0NTVikoUyxtKTtpZigiRVJST1I6IExBUkdFIFNU''@;'; put 'put ''UklORyBMRU5HVEgiPT09RCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBtYXggbGVuZ3RoIG9mIGEgc3RyaW5nIHZhbHVlIGluIFNBU2pzIGlzIDMyNzY1IGNoYXJhY3RlcnMuIik7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBGb3JtRGF0YSYmQyBpbnN0YW5jZW9mIE4pQy5hcHBlbmQoRixELHtmaWxl''@;'; put 'put ''bmFtZToiIi5jb25jYXQoRiwiLmNzdiIpLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi9jc3YifSk7ZWxzZXt2YXIgdz1uZXcgQmxvYihbRF0se3R5cGU6ImFwcGxpY2F0aW9uL2NzdiJ9KTtDLmFwcGVuZChGLHcsIiIuY29uY2F0KEYsIi5jc3YiKSl9fXJldHVybiBDfX0sMjE3MDooWixBLGop''@;'; put 'put ''PT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmdlbmVyYXRlVGFibGVVcGxvYWRGb3JtPXZvaWQgMDt2YXIgTj1qKDI0MDIpLHo9aig0Nzk5KTtBLmdlbmVyYXRlVGFibGVVcGxvYWRGb3JtPWZ1bmN0aW9uKEMsUyl7dmFy''@;'; put 'put ''IG09W10sRj17fSxEPTA7Zm9yKHZhciB3IGluIFMpe0QrKywoMCxOLmlzRm9ybWF0c1RhYmxlKSh3KXx8bS5wdXNoKHcpO3ZhciBQPSgwLE4uY29udmVydFRvQ1NWKShTLHcpO2lmKCJFUlJPUjogTEFSR0UgU1RSSU5HIExFTkdUSCI9PT1QKXRocm93IG5ldyBFcnJvcigiVGhlIG1heCBsZW5n''@;'; put 'put ''dGggb2YgYSBzdHJpbmcgdmFsdWUgaW4gU0FTanMgaXMgMzI3NjUgY2hhcmFjdGVycy4iKTtQLmxlbmd0aD4xNmUzPygwLHouc3BsaXRDaHVua3MpKFApLm1hcChmdW5jdGlvbihNKXtDLmFwcGVuZCgic2FzanMiLmNvbmNhdChELCJkYXRhIiksTSl9KTpGWyJzYXNqcyIuY29uY2F0KEQsImRh''@;'; put 'put ''dGEiKV09UH1yZXR1cm4gRi5zYXNqc190YWJsZXM9bS5qb2luKCIgIikse2Zvcm1EYXRhOkMscmVxdWVzdFBhcmFtczpGfX19LDM2MDc6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24o''@;'; put 'put ''UyxtLEYsRCl7dm9pZCAwPT09RCYmKEQ9RiksT2JqZWN0LmRlZmluZVByb3BlcnR5KFMsRCx7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbVtGXX19KX06ZnVuY3Rpb24oUyxtLEYsRCl7dm9pZCAwPT09RCYmKEQ9RiksU1tEXT1tW0ZdfSksej10aGlzJiZ0aGlzLl9fZXhw''@;'; put 'put ''b3J0U3Rhcnx8ZnVuY3Rpb24oUyxtKXtmb3IodmFyIEYgaW4gUykiZGVmYXVsdCI9PT1GfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobSxGKXx8TihtLFMsRil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgQz1qKDU5''@;'; put 'put ''NTYpO3ooaigxMjMwKSxBKSx6KGooMTM5NSksQSkseihqKDk4MjEpLEEpLHooaig4MzA2KSxBKSxBLmRlZmF1bHQ9Qy5kZWZhdWx0fSwxNTcwOmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE4sej10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KE49ZnVuY3Rpb24odyxQKXtyZXR1cm4o''@;'; put 'put ''Tj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oTSxrKXtNLl9fcHJvdG9fXz1rfXx8ZnVuY3Rpb24oTSxrKXtmb3IodmFyIE8gaW4gaylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoayxPKSYmKE1bT109''@;'; put 'put ''a1tPXSl9KSh3LFApfSxmdW5jdGlvbih3LFApe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBQJiZudWxsIT09UCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKFApKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIE0oKXt0aGlz''@;'; put 'put ''LmNvbnN0cnVjdG9yPXd9Tih3LFApLHcucHJvdG90eXBlPW51bGw9PT1QP09iamVjdC5jcmVhdGUoUCk6KE0ucHJvdG90eXBlPVAucHJvdG90eXBlLG5ldyBNKX0pLEM9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHcsUCxNLGspe3JldHVybiBuZXcoTXx8KE09UHJvbWlzZSkpKGZ1''@;'; put 'put ''bmN0aW9uKE8sTCl7ZnVuY3Rpb24gVChVKXt0cnl7SShrLm5leHQoVSkpfWNhdGNoKFYpe0woVil9fWZ1bmN0aW9uIFkoVSl7dHJ5e0koay50aHJvdyhVKSl9Y2F0Y2goVil7TChWKX19ZnVuY3Rpb24gSShVKXt2YXIgVjtVLmRvbmU/TyhVLnZhbHVlKTooVj1VLnZhbHVlLFYgaW5zdGFuY2Vv''@;'; put 'put ''ZiBNP1Y6bmV3IE0oZnVuY3Rpb24oUil7UihWKX0pKS50aGVuKFQsWSl9SSgoaz1rLmFwcGx5KHcsUHx8W10pKS5uZXh0KCkpfSl9LFM9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odyxQKXt2YXIgTSxrLE8sTCxUPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJk9bMF0p''@;'; put 'put ''dGhyb3cgT1sxXTtyZXR1cm4gT1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBMPXtuZXh0OlkoMCksdGhyb3c6WSgxKSxyZXR1cm46WSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKExbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksTDtmdW5jdGlv''@;'; put 'put ''biBZKEkpe3JldHVybiBmdW5jdGlvbihVKXtyZXR1cm4gZnVuY3Rpb24oVil7aWYoTSl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtUOyl0cnl7aWYoTT0xLGsmJihPPTImVlswXT9rLnJldHVybjpWWzBdP2sudGhyb3d8fCgoTz1r''@;'; put 'put ''LnJldHVybikmJk8uY2FsbChrKSwwKTprLm5leHQpJiYhKE89Ty5jYWxsKGssVlsxXSkpLmRvbmUpcmV0dXJuIE87c3dpdGNoKGs9MCxPJiYoVj1bMiZWWzBdLE8udmFsdWVdKSxWWzBdKXtjYXNlIDA6Y2FzZSAxOk89VjticmVhaztjYXNlIDQ6cmV0dXJuIFQubGFiZWwrKyx7dmFsdWU6Vlsx''@;'; put 'put ''XSxkb25lOiExfTtjYXNlIDU6VC5sYWJlbCsrLGs9VlsxXSxWPVswXTtjb250aW51ZTtjYXNlIDc6Vj1ULm9wcy5wb3AoKSxULnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChPPShPPVQudHJ5cykubGVuZ3RoPjAmJk9bTy5sZW5ndGgtMV0pfHw2IT09VlswXSYmMiE9PVZbMF0p''@;'; put 'put ''KXtUPTA7Y29udGludWV9aWYoMz09PVZbMF0mJighT3x8VlsxXT5PWzBdJiZWWzFdPE9bM10pKXtULmxhYmVsPVZbMV07YnJlYWt9aWYoNj09PVZbMF0mJlQubGFiZWw8T1sxXSl7VC5sYWJlbD1PWzFdLE89VjticmVha31pZihPJiZULmxhYmVsPE9bMl0pe1QubGFiZWw9T1syXSxULm9wcy5w''@;'; put 'put ''dXNoKFYpO2JyZWFrfU9bMl0mJlQub3BzLnBvcCgpLFQudHJ5cy5wb3AoKTtjb250aW51ZX1WPVAuY2FsbCh3LFQpfWNhdGNoKFIpe1Y9WzYsUl0saz0wfWZpbmFsbHl7TT1PPTB9aWYoNSZWWzBdKXRocm93IFZbMV07cmV0dXJue3ZhbHVlOlZbMF0/VlsxXTp2b2lkIDAsZG9uZTohMH19KFtJ''@;'; put 'put ''LFVdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5Db21wdXRlSm9iRXhlY3V0b3I9dm9pZCAwO3ZhciBtPWooMzkwMCksRj1qKDEzOTUpLEQ9ZnVuY3Rpb24odyl7ZnVuY3Rpb24gUChNLGspe3ZhciBPPXcuY2FsbCh0aGlzLE0sbS5TZXJ2''@;'; put 'put ''ZXJUeXBlLlNhc1ZpeWEpfHx0aGlzO3JldHVybiBPLnNhc1ZpeWFBcGlDbGllbnQ9ayxPfXJldHVybiB6KFAsdyksUC5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihNLGssTyxMLFQpe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBZLFU9dGhpcztyZXR1cm4g''@;'; put 'put ''Uyh0aGlzLGZ1bmN0aW9uKFYpe3JldHVybiBZPUx8fGZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfSxbMixuZXcgUHJvbWlzZShmdW5jdGlvbihSLEIpe3ZhciBxO251bGw9PT0ocT1VLnNhc1ZpeWFBcGlDbGllbnQpfHx2b2lkIDA9PT1xfHxxLmV4ZWN1dGVDb21wdXRlSm9i''@;'; put 'put ''KE0sTy5jb250ZXh0TmFtZSxPLmRlYnVnLGssVCwhMCwhMCkudGhlbihmdW5jdGlvbihKKXtVLnNhc1ZpeWFBcGlDbGllbnQuYXBwZW5kUmVxdWVzdChKLE0sTy5kZWJ1ZyksUihKLnJlc3VsdCl9KS5jYXRjaChmdW5jdGlvbihKKXtyZXR1cm4gQyhVLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24o''@;'; put 'put ''KXt2YXIgJD10aGlzO3JldHVybiBTKHRoaXMsZnVuY3Rpb24odGUpe3N3aXRjaCh0ZS5sYWJlbCl7Y2FzZSAwOnJldHVybiBKIGluc3RhbmNlb2YgRi5Db21wdXRlSm9iRXhlY3V0aW9uRXJyb3ImJih0aGlzLnNhc1ZpeWFBcGlDbGllbnQuYXBwZW5kUmVxdWVzdChKLE0sTy5kZWJ1ZyksQihu''@;'; put 'put ''ZXcgRi5FcnJvclJlc3BvbnNlKG51bGw9PUo/dm9pZCAwOkoubWVzc2FnZSxKKSkpLEogaW5zdGFuY2VvZiBGLkxvZ2luUmVxdWlyZWRFcnJvcj8odGhpcy5hcHBlbmRXYWl0aW5nUmVxdWVzdChmdW5jdGlvbigpe3JldHVybiAkLmV4ZWN1dGUoTSxrLE8sTCkudGhlbihmdW5jdGlvbihoKXtS''@;'; put 'put ''KGgpfSxmdW5jdGlvbihoKXtCKGgpfSl9KSxbNCxZKCldKTpbMywyXTtjYXNlIDE6cmV0dXJuIHRlLnNlbnQoKSxbMywzXTtjYXNlIDI6QihuZXcgRi5FcnJvclJlc3BvbnNlKG51bGw9PUo/dm9pZCAwOkoubWVzc2FnZSxKKSksdGUubGFiZWw9MztjYXNlIDM6cmV0dXJuWzJdfX0pfSl9KX0p''@;'; put 'put ''XX0pfSl9LFB9KGooNjExOCkuQmFzZUpvYkV4ZWN1dG9yKTtBLkNvbXB1dGVKb2JFeGVjdXRvcj1EfSwzNDkxOmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE4sej10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KE49ZnVuY3Rpb24oUCxNKXtyZXR1cm4oTj1PYmplY3Quc2V0UHJvdG90''@;'; put 'put ''eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oayxPKXtrLl9fcHJvdG9fXz1PfXx8ZnVuY3Rpb24oayxPKXtmb3IodmFyIEwgaW4gTylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoTyxMKSYmKGtbTF09T1tMXSl9KShQLE0pfSxmdW5j''@;'; put 'put ''dGlvbihQLE0pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBNJiZudWxsIT09TSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKE0pKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIGsoKXt0aGlzLmNvbnN0cnVjdG9yPVB9TihQ''@;'; put 'put ''LE0pLFAucHJvdG90eXBlPW51bGw9PT1NP09iamVjdC5jcmVhdGUoTSk6KGsucHJvdG90eXBlPU0ucHJvdG90eXBlLG5ldyBrKX0pLEM9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKFAsTSxrLE8pe3JldHVybiBuZXcoa3x8KGs9UHJvbWlzZSkpKGZ1bmN0aW9uKEwsVCl7ZnVuY3Rp''@;'; put 'put ''b24gWShWKXt0cnl7VShPLm5leHQoVikpfWNhdGNoKFIpe1QoUil9fWZ1bmN0aW9uIEkoVil7dHJ5e1UoTy50aHJvdyhWKSl9Y2F0Y2goUil7VChSKX19ZnVuY3Rpb24gVShWKXt2YXIgUjtWLmRvbmU/TChWLnZhbHVlKTooUj1WLnZhbHVlLFIgaW5zdGFuY2VvZiBrP1I6bmV3IGsoZnVuY3Rp''@;'; put 'put ''b24oQil7QihSKX0pKS50aGVuKFksSSl9VSgoTz1PLmFwcGx5KFAsTXx8W10pKS5uZXh0KCkpfSl9LFM9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oUCxNKXt2YXIgayxPLEwsVCxZPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJkxbMF0pdGhyb3cgTFsxXTtyZXR1cm4g''@;'; put 'put ''TFsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBUPXtuZXh0OkkoMCksdGhyb3c6SSgxKSxyZXR1cm46SSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKFRbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksVDtmdW5jdGlvbiBJKFUpe3JldHVybiBmdW5j''@;'; put 'put ''dGlvbihWKXtyZXR1cm4gZnVuY3Rpb24oUil7aWYoayl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtZOyl0cnl7aWYoaz0xLE8mJihMPTImUlswXT9PLnJldHVybjpSWzBdP08udGhyb3d8fCgoTD1PLnJldHVybikmJkwuY2FsbChP''@;'; put 'put ''KSwwKTpPLm5leHQpJiYhKEw9TC5jYWxsKE8sUlsxXSkpLmRvbmUpcmV0dXJuIEw7c3dpdGNoKE89MCxMJiYoUj1bMiZSWzBdLEwudmFsdWVdKSxSWzBdKXtjYXNlIDA6Y2FzZSAxOkw9UjticmVhaztjYXNlIDQ6cmV0dXJuIFkubGFiZWwrKyx7dmFsdWU6UlsxXSxkb25lOiExfTtjYXNlIDU6''@;'; put 'put ''WS5sYWJlbCsrLE89UlsxXSxSPVswXTtjb250aW51ZTtjYXNlIDc6Uj1ZLm9wcy5wb3AoKSxZLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChMPShMPVkudHJ5cykubGVuZ3RoPjAmJkxbTC5sZW5ndGgtMV0pfHw2IT09UlswXSYmMiE9PVJbMF0pKXtZPTA7Y29udGludWV9aWYo''@;'; put 'put ''Mz09PVJbMF0mJighTHx8UlsxXT5MWzBdJiZSWzFdPExbM10pKXtZLmxhYmVsPVJbMV07YnJlYWt9aWYoNj09PVJbMF0mJlkubGFiZWw8TFsxXSl7WS5sYWJlbD1MWzFdLEw9UjticmVha31pZihMJiZZLmxhYmVsPExbMl0pe1kubGFiZWw9TFsyXSxZLm9wcy5wdXNoKFIpO2JyZWFrfUxbMl0m''@;'; put 'put ''Jlkub3BzLnBvcCgpLFkudHJ5cy5wb3AoKTtjb250aW51ZX1SPU0uY2FsbChQLFkpfWNhdGNoKEIpe1I9WzYsQl0sTz0wfWZpbmFsbHl7az1MPTB9aWYoNSZSWzBdKXRocm93IFJbMV07cmV0dXJue3ZhbHVlOlJbMF0/UlsxXTp2b2lkIDAsZG9uZTohMH19KFtVLFZdKX19fTtPYmplY3QuZGVm''@;'; put 'put ''aW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5GaWxlVXBsb2FkZXI9dm9pZCAwO3ZhciBtPWooNTkyOCksRj1qKDEzOTUpLEQ9aigzOTAwKSx3PWZ1bmN0aW9uKFApe2Z1bmN0aW9uIE0oayxPLEwsVCl7dmFyIFk9UC5jYWxsKHRoaXMsayxPKXx8dGhpcztyZXR1cm4g''@;'; put 'put ''WS5qb2JzUGF0aD1MLFkucmVxdWVzdENsaWVudD1ULFl9cmV0dXJuIHooTSxQKSxNLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGssTyxMLFQpe3JldHVybiBDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBZLEksVSxWLFIsQixxLEosJCx0ZSxoLGIseSxnPXRoaXM7cmV0''@;'; put 'put ''dXJuIFModGhpcyxmdW5jdGlvbihfKXtpZihJPU8ucGFyYW1zLFU9VHx8ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9LG51bGw9PShZPU8uZmlsZXMpfHwhWS5sZW5ndGgpdGhyb3cgbmV3IEYuRXJyb3JSZXNwb25zZSgiQXQgbGVhc3Qgb25lIGZpbGUgbXVzdCBiZSBwcm92''@;'; put 'put ''aWRlZC4iKTtpZigha3x8IiI9PT1rKXRocm93IG5ldyBGLkVycm9yUmVzcG9uc2UoInNhc0pvYiBtdXN0IGJlIHByb3ZpZGVkLiIpO2ZvcihSIGluIFY9IiIsSSlJLmhhc093blByb3BlcnR5KFIpJiYoVis9IiYiLmNvbmNhdChSLCI9IikuY29uY2F0KElbUl0pKTtmb3IoQj1MLmFwcExvYz9M''@;'; put 'put ''LmFwcExvYy5yZXBsYWNlKC9cLz8kLywiLyIpK2sucmVwbGFjZSgvXlwvLywiIik6ayxxPSIiLmNvbmNhdCh0aGlzLmpvYnNQYXRoLCIvPyIpLmNvbmNhdCgiX3Byb2dyYW09IitCKS5jb25jYXQoViksSj1uZXcgRm9ybURhdGEsJD0wLHRlPVk7JDx0ZS5sZW5ndGg7JCsrKUouYXBwZW5kKCJm''@;'; put 'put ''aWxlIiwoaD10ZVskXSkuZmlsZSxoLmZpbGVOYW1lKTtyZXR1cm4oYj10aGlzLnJlcXVlc3RDbGllbnQuZ2V0Q3NyZlRva2VuKCJmaWxlIikpJiZKLmFwcGVuZCgiX2NzcmYiLGIudmFsdWUpLEwuZGVidWcmJkouYXBwZW5kKCJfZGVidWciLCIxMzEiKSxMLnNlcnZlclR5cGU9PT1ELlNlcnZl''@;'; put 'put ''clR5cGUuU2FzVml5YSYmTC5jb250ZXh0TmFtZSYmSi5hcHBlbmQoIl9jb250ZXh0bmFtZSIsTC5jb250ZXh0TmFtZSkseT17ImNhY2hlLWNvbnRyb2wiOiJuby1jYWNoZSIsQWNjZXB0OiIqLyoiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L3BsYWluIn0sWzIsbmV3IFByb21pc2UoZnVuY3Rpb24o''@;'; put 'put ''RSxXKXtnLnJlcXVlc3RDbGllbnQucG9zdChxLEosdm9pZCAwLCJhcHBsaWNhdGlvbi9qc29uIix5KS50aGVuKGZ1bmN0aW9uKEcpe3JldHVybiBDKGcsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBYO3JldHVybiBTKHRoaXMsZnVuY3Rpb24obmUpe3N3aXRjaChuZS5sYWJlbCl7Y2Fz''@;'; put 'put ''ZSAwOmlmKHRoaXMucmVxdWVzdENsaWVudC5hcHBlbmRSZXF1ZXN0KEcsayxMLmRlYnVnKSxYPUcucmVzdWx0LCFMLmRlYnVnKXJldHVyblszLDVdO3N3aXRjaCh0aGlzLnNlcnZlclR5cGUpe2Nhc2UgRC5TZXJ2ZXJUeXBlLlNhc1ZpeWE6cmV0dXJuWzMsMV07Y2FzZSBELlNlcnZlclR5cGUu''@;'; put 'put ''U2FzOTpyZXR1cm5bMywzXX1yZXR1cm5bMyw0XTtjYXNlIDE6cmV0dXJuWzQsKDAsbS5wYXJzZVNhc1ZpeWFEZWJ1Z1Jlc3BvbnNlKShHLnJlc3VsdCx0aGlzLnJlcXVlc3RDbGllbnQsTC5zZXJ2ZXJVcmwpXTtjYXNlIDI6cmV0dXJuIFg9bmUuc2VudCgpLFszLDRdO2Nhc2UgMzpyZXR1cm4g''@;'; put 'put ''WD0ic3RyaW5nIj09dHlwZW9mIEcucmVzdWx0PygwLG0ucGFyc2VXZWJvdXRSZXNwb25zZSkoRy5yZXN1bHQscSk6Ry5yZXN1bHQsWzMsNF07Y2FzZSA0OnJldHVyblszLDZdO2Nhc2UgNTp0aGlzLnNlcnZlclR5cGUhPT1ELlNlcnZlclR5cGUuU2FzanMmJihYPSJzdHJpbmciPT10eXBlb2Yg''@;'; put 'put ''Ry5yZXN1bHQ/KDAsbS5nZXRWYWxpZEpzb24pKEcucmVzdWx0KTpHLnJlc3VsdCksbmUubGFiZWw9NjtjYXNlIDY6cmV0dXJuIEUoWCksWzJdfX0pfSl9KS5jYXRjaChmdW5jdGlvbihHKXtyZXR1cm4gQyhnLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgWD10aGlzO3JldHVybiBTKHRo''@;'; put 'put ''aXMsZnVuY3Rpb24obmUpe3N3aXRjaChuZS5sYWJlbCl7Y2FzZSAwOnJldHVybiBHIGluc3RhbmNlb2YgRi5Kb2JFeGVjdXRpb25FcnJvciYmKHRoaXMucmVxdWVzdENsaWVudC5hcHBlbmRSZXF1ZXN0KEcsayxMLmRlYnVnKSxXKG5ldyBGLkVycm9yUmVzcG9uc2UobnVsbD09Rz92b2lkIDA6''@;'; put 'put ''Ry5tZXNzYWdlLEcpKSksRyBpbnN0YW5jZW9mIEYuTG9naW5SZXF1aXJlZEVycm9yPyh0aGlzLmFwcGVuZFdhaXRpbmdSZXF1ZXN0KGZ1bmN0aW9uKCl7cmV0dXJuIFguZXhlY3V0ZShrLE8sTCxUKS50aGVuKGZ1bmN0aW9uKGFlKXtFKGFlKX0sZnVuY3Rpb24oYWUpe1coYWUpfSl9KSxbNCxV''@;'; put 'put ''KCldKTpbMywyXTtjYXNlIDE6cmV0dXJuIG5lLnNlbnQoKSxbMywzXTtjYXNlIDI6VyhuZXcgRi5FcnJvclJlc3BvbnNlKCJGaWxlIHVwbG9hZCByZXF1ZXN0IGZhaWxlZC4iLEcpKSxuZS5sYWJlbD0zO2Nhc2UgMzpyZXR1cm5bMl19fSl9KX0pfSldfSl9KX0sTX0oaig2MTE4KS5CYXNlSm9i''@;'; put 'put ''RXhlY3V0b3IpO0EuRmlsZVVwbG9hZGVyPXd9LDQ0NDY6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PXRoaXMmJnRoaXMuX19leHRlbmRzfHwoTj1mdW5jdGlvbihNLGspe3JldHVybihOPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9m''@;'; put 'put ''IEFycmF5JiZmdW5jdGlvbihPLEwpe08uX19wcm90b19fPUx9fHxmdW5jdGlvbihPLEwpe2Zvcih2YXIgVCBpbiBMKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChMLFQpJiYoT1tUXT1MW1RdKX0pKE0sayl9LGZ1bmN0aW9uKE0sayl7aWYoImZ1bmN0aW9uIiE9dHlwZW9m''@;'; put 'put ''IGsmJm51bGwhPT1rKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoaykrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gTygpe3RoaXMuY29uc3RydWN0b3I9TX1OKE0sayksTS5wcm90b3R5cGU9bnVsbD09PWs/T2JqZWN0''@;'; put 'put ''LmNyZWF0ZShrKTooTy5wcm90b3R5cGU9ay5wcm90b3R5cGUsbmV3IE8pfSksQz10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oTSxrLE8sTCl7cmV0dXJuIG5ldyhPfHwoTz1Qcm9taXNlKSkoZnVuY3Rpb24oVCxZKXtmdW5jdGlvbiBJKFIpe3RyeXtWKEwubmV4dChSKSl9Y2F0Y2go''@;'; put 'put ''Qil7WShCKX19ZnVuY3Rpb24gVShSKXt0cnl7VihMLnRocm93KFIpKX1jYXRjaChCKXtZKEIpfX1mdW5jdGlvbiBWKFIpe3ZhciBCO1IuZG9uZT9UKFIudmFsdWUpOihCPVIudmFsdWUsQiBpbnN0YW5jZW9mIE8/QjpuZXcgTyhmdW5jdGlvbihxKXtxKEIpfSkpLnRoZW4oSSxVKX1WKChMPUwu''@;'; put 'put ''YXBwbHkoTSxrfHxbXSkpLm5leHQoKSl9KX0sUz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihNLGspe3ZhciBPLEwsVCxZLEk9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmVFswXSl0aHJvdyBUWzFdO3JldHVybiBUWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIFk9''@;'; put 'put ''e25leHQ6VSgwKSx0aHJvdzpVKDEpLHJldHVybjpVKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoWVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxZO2Z1bmN0aW9uIFUoVil7cmV0dXJuIGZ1bmN0aW9uKFIpe3JldHVybiBmdW5jdGlvbihCKXtpZihP''@;'; put 'put ''KXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO0k7KXRyeXtpZihPPTEsTCYmKFQ9MiZCWzBdP0wucmV0dXJuOkJbMF0/TC50aHJvd3x8KChUPUwucmV0dXJuKSYmVC5jYWxsKEwpLDApOkwubmV4dCkmJiEoVD1ULmNhbGwoTCxCWzFd''@;'; put 'put ''KSkuZG9uZSlyZXR1cm4gVDtzd2l0Y2goTD0wLFQmJihCPVsyJkJbMF0sVC52YWx1ZV0pLEJbMF0pe2Nhc2UgMDpjYXNlIDE6VD1CO2JyZWFrO2Nhc2UgNDpyZXR1cm4gSS5sYWJlbCsrLHt2YWx1ZTpCWzFdLGRvbmU6ITF9O2Nhc2UgNTpJLmxhYmVsKyssTD1CWzFdLEI9WzBdO2NvbnRpbnVl''@;'; put 'put ''O2Nhc2UgNzpCPUkub3BzLnBvcCgpLEkudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKFQ9KFQ9SS50cnlzKS5sZW5ndGg+MCYmVFtULmxlbmd0aC0xXSl8fDYhPT1CWzBdJiYyIT09QlswXSkpe0k9MDtjb250aW51ZX1pZigzPT09QlswXSYmKCFUfHxCWzFdPlRbMF0mJkJbMV08''@;'; put 'put ''VFszXSkpe0kubGFiZWw9QlsxXTticmVha31pZig2PT09QlswXSYmSS5sYWJlbDxUWzFdKXtJLmxhYmVsPVRbMV0sVD1CO2JyZWFrfWlmKFQmJkkubGFiZWw8VFsyXSl7SS5sYWJlbD1UWzJdLEkub3BzLnB1c2goQik7YnJlYWt9VFsyXSYmSS5vcHMucG9wKCksSS50cnlzLnBvcCgpO2NvbnRp''@;'; put 'put ''bnVlfUI9ay5jYWxsKE0sSSl9Y2F0Y2gocSl7Qj1bNixxXSxMPTB9ZmluYWxseXtPPVQ9MH1pZig1JkJbMF0pdGhyb3cgQlsxXTtyZXR1cm57dmFsdWU6QlswXT9CWzFdOnZvaWQgMCxkb25lOiEwfX0oW1YsUl0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFs''@;'; put 'put ''dWU6ITB9KSxBLkplc0pvYkV4ZWN1dG9yPXZvaWQgMDt2YXIgbT1qKDM5MDApLEY9aigxMzk1KSxEPWooNjExOCksdz1qKDU5MjgpLFA9ZnVuY3Rpb24oTSl7ZnVuY3Rpb24gayhPLEwpe3ZhciBUPU0uY2FsbCh0aGlzLE8sbS5TZXJ2ZXJUeXBlLlNhc1ZpeWEpfHx0aGlzO3JldHVybiBULnNh''@;'; put 'put ''c1ZpeWFBcGlDbGllbnQ9TCxUfXJldHVybiB6KGssTSksay5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihPLEwsVCxZLEksVSl7cmV0dXJuIHZvaWQgMD09PVUmJihVPVtdKSxDKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBWLEI9dGhpcztyZXR1cm4gUyh0aGlzLGZ1bmN0''@;'; put 'put ''aW9uKHEpe3JldHVybiBWPVl8fGZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfSxbMixuZXcgUHJvbWlzZShmdW5jdGlvbihKLCQpe3ZhciB0ZTtudWxsPT09KHRlPUIuc2FzVml5YUFwaUNsaWVudCl8fHZvaWQgMD09PXRlfHx0ZS5leGVjdXRlSm9iKE8sVC5jb250ZXh0TmFt''@;'; put 'put ''ZSxULmRlYnVnLEwsSSkudGhlbihmdW5jdGlvbihoKXtCLnNhc1ZpeWFBcGlDbGllbnQuYXBwZW5kUmVxdWVzdChoLE8sVC5kZWJ1Zyk7dmFyIGI9KDAsdy5hcHBlbmRFeHRyYVJlc3BvbnNlQXR0cmlidXRlcykoaCxVKTtKKGIpfSkuY2F0Y2goZnVuY3Rpb24oaCl7cmV0dXJuIEMoQix2b2lk''@;'; put 'put ''IDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGI9dGhpcztyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKHkpe3N3aXRjaCh5LmxhYmVsKXtjYXNlIDA6cmV0dXJuIGggaW5zdGFuY2VvZiBGLkpvYkV4ZWN1dGlvbkVycm9yJiYodGhpcy5zYXNWaXlhQXBpQ2xpZW50LmFwcGVuZFJlcXVlc3QoaCxPLFQu''@;'; put 'put ''ZGVidWcpLCQobmV3IEYuRXJyb3JSZXNwb25zZShudWxsPT1oP3ZvaWQgMDpoLm1lc3NhZ2UsaCkpKSxoIGluc3RhbmNlb2YgRi5Mb2dpblJlcXVpcmVkRXJyb3I/KHRoaXMuYXBwZW5kV2FpdGluZ1JlcXVlc3QoZnVuY3Rpb24oKXtyZXR1cm4gYi5leGVjdXRlKE8sTCxULFksSSxVKS50aGVu''@;'; put 'put ''KGZ1bmN0aW9uKHApe0oocCl9LGZ1bmN0aW9uKHApeyQocCl9KX0pLFs0LFYoKV0pOlszLDJdO2Nhc2UgMTpyZXR1cm4geS5zZW50KCksWzMsM107Y2FzZSAyOiQobmV3IEYuRXJyb3JSZXNwb25zZShudWxsPT1oP3ZvaWQgMDpoLm1lc3NhZ2UsaCkpLHkubGFiZWw9MztjYXNlIDM6cmV0dXJu''@;'; put 'put ''WzJdfX0pfSl9KX0pXX0pfSl9LGt9KEQuQmFzZUpvYkV4ZWN1dG9yKTtBLkplc0pvYkV4ZWN1dG9yPVB9LDYxMTg6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24obSxGLEQsdyl7cmV0dXJuIG5ldyhEfHwoRD1Qcm9taXNl''@;'; put 'put ''KSkoZnVuY3Rpb24oUCxNKXtmdW5jdGlvbiBrKFQpe3RyeXtMKHcubmV4dChUKSl9Y2F0Y2goWSl7TShZKX19ZnVuY3Rpb24gTyhUKXt0cnl7TCh3LnRocm93KFQpKX1jYXRjaChZKXtNKFkpfX1mdW5jdGlvbiBMKFQpe3ZhciBZO1QuZG9uZT9QKFQudmFsdWUpOihZPVQudmFsdWUsWSBpbnN0''@;'; put 'put ''YW5jZW9mIEQ/WTpuZXcgRChmdW5jdGlvbihJKXtJKFkpfSkpLnRoZW4oayxPKX1MKCh3PXcuYXBwbHkobSxGfHxbXSkpLm5leHQoKSl9KX0sej10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihtLEYpe3ZhciBELHcsUCxNLGs9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEm''@;'; put 'put ''UFswXSl0aHJvdyBQWzFdO3JldHVybiBQWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIE09e25leHQ6TygwKSx0aHJvdzpPKDEpLHJldHVybjpPKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoTVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxNO2Z1''@;'; put 'put ''bmN0aW9uIE8oTCl7cmV0dXJuIGZ1bmN0aW9uKFQpe3JldHVybiBmdW5jdGlvbihZKXtpZihEKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2s7KXRyeXtpZihEPTEsdyYmKFA9MiZZWzBdP3cucmV0dXJuOllbMF0/dy50aHJvd3x8''@;'; put 'put ''KChQPXcucmV0dXJuKSYmUC5jYWxsKHcpLDApOncubmV4dCkmJiEoUD1QLmNhbGwodyxZWzFdKSkuZG9uZSlyZXR1cm4gUDtzd2l0Y2godz0wLFAmJihZPVsyJllbMF0sUC52YWx1ZV0pLFlbMF0pe2Nhc2UgMDpjYXNlIDE6UD1ZO2JyZWFrO2Nhc2UgNDpyZXR1cm4gay5sYWJlbCsrLHt2YWx1''@;'; put 'put ''ZTpZWzFdLGRvbmU6ITF9O2Nhc2UgNTprLmxhYmVsKyssdz1ZWzFdLFk9WzBdO2NvbnRpbnVlO2Nhc2UgNzpZPWsub3BzLnBvcCgpLGsudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKFA9KFA9ay50cnlzKS5sZW5ndGg+MCYmUFtQLmxlbmd0aC0xXSl8fDYhPT1ZWzBdJiYyIT09''@;'; put 'put ''WVswXSkpe2s9MDtjb250aW51ZX1pZigzPT09WVswXSYmKCFQfHxZWzFdPlBbMF0mJllbMV08UFszXSkpe2subGFiZWw9WVsxXTticmVha31pZig2PT09WVswXSYmay5sYWJlbDxQWzFdKXtrLmxhYmVsPVBbMV0sUD1ZO2JyZWFrfWlmKFAmJmsubGFiZWw8UFsyXSl7ay5sYWJlbD1QWzJdLGsu''@;'; put 'put ''b3BzLnB1c2goWSk7YnJlYWt9UFsyXSYmay5vcHMucG9wKCksay50cnlzLnBvcCgpO2NvbnRpbnVlfVk9Ri5jYWxsKG0sayl9Y2F0Y2goSSl7WT1bNixJXSx3PTB9ZmluYWxseXtEPVA9MH1pZig1JllbMF0pdGhyb3cgWVsxXTtyZXR1cm57dmFsdWU6WVswXT9ZWzFdOnZvaWQgMCxkb25lOiEw''@;'; put 'put ''fX0oW0wsVF0pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLkJhc2VKb2JFeGVjdXRvcj12b2lkIDA7dmFyIEM9aig1OTI4KSxTPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbShGLEQpe3ZhciB3PXRoaXM7dGhpcy5zZXJ2ZXJVcmw9Rix0aGlzLnNl''@;'; put 'put ''cnZlclR5cGU9RCx0aGlzLndhaXRpbmdSZXF1ZXN0cz1bXSx0aGlzLnJlc2VuZFdhaXRpbmdSZXF1ZXN0cz1mdW5jdGlvbigpe3JldHVybiBOKHcsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBQPXRoaXM7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihNKXtzd2l0Y2goTS5sYWJlbCl7Y2Fz''@;'; put 'put ''ZSAwOnJldHVybls0LCgwLEMuYXN5bmNGb3JFYWNoKSh0aGlzLndhaXRpbmdSZXF1ZXN0cyxmdW5jdGlvbihrKXtyZXR1cm4gTihQLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4geih0aGlzLGZ1bmN0aW9uKE8pe3N3aXRjaChPLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsaygpXTtj''@;'; put 'put ''YXNlIDE6cmV0dXJuIE8uc2VudCgpLFsyXX19KX0pfSldO2Nhc2UgMTpyZXR1cm4gTS5zZW50KCksdGhpcy53YWl0aW5nUmVxdWVzdHM9W10sWzJdfX0pfSl9fXJldHVybiBtLnByb3RvdHlwZS5hcHBlbmRXYWl0aW5nUmVxdWVzdD1mdW5jdGlvbihGKXt0aGlzLndhaXRpbmdSZXF1ZXN0cy5w''@;'; put 'put ''dXNoKEYpfSxtLnByb3RvdHlwZS5nZXRSZXF1ZXN0UGFyYW1zPWZ1bmN0aW9uKEYpe3ZhciBEPXt9O3JldHVybiBGLmRlYnVnJiYoRC5fb21pdHRleHRsb2c9ImZhbHNlIixELl9vbWl0c2Vzc2lvbnJlc3VsdHM9ImZhbHNlIixELl9kZWJ1Zz0xMzEpLER9LG19KCk7QS5CYXNlSm9iRXhlY3V0''@;'; put 'put ''b3I9U30sMjY5MzpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOLHo9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChOPWZ1bmN0aW9uKEwsVCl7cmV0dXJuKE49T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKFksSSl7''@;'; put 'put ''WS5fX3Byb3RvX189SX18fGZ1bmN0aW9uKFksSSl7Zm9yKHZhciBVIGluIEkpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEksVSkmJihZW1VdPUlbVV0pfSkoTCxUKX0sZnVuY3Rpb24oTCxUKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgVCYmbnVsbCE9PVQpdGhyb3cgbmV3''@;'; put 'put ''IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhUKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBZKCl7dGhpcy5jb25zdHJ1Y3Rvcj1MfU4oTCxUKSxMLnByb3RvdHlwZT1udWxsPT09VD9PYmplY3QuY3JlYXRlKFQpOihZLnByb3RvdHlw''@;'; put 'put ''ZT1ULnByb3RvdHlwZSxuZXcgWSl9KSxDPXRoaXMmJnRoaXMuX19hc3NpZ258fGZ1bmN0aW9uKCl7cmV0dXJuIEM9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oTCl7Zm9yKHZhciBULFk9MSxJPWFyZ3VtZW50cy5sZW5ndGg7WTxJO1krKylmb3IodmFyIFUgaW4gVD1hcmd1bWVudHNbWV0pT2Jq''@;'; put 'put ''ZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFQsVSkmJihMW1VdPVRbVV0pO3JldHVybiBMfSxDLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sUz10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oTCxULFksSSl7cmV0dXJuIG5ldyhZfHwoWT1Qcm9taXNlKSkoZnVuY3Rpb24o''@;'; put 'put ''VSxWKXtmdW5jdGlvbiBSKEope3RyeXtxKEkubmV4dChKKSl9Y2F0Y2goJCl7VigkKX19ZnVuY3Rpb24gQihKKXt0cnl7cShJLnRocm93KEopKX1jYXRjaCgkKXtWKCQpfX1mdW5jdGlvbiBxKEope3ZhciAkO0ouZG9uZT9VKEoudmFsdWUpOigkPUoudmFsdWUsJCBpbnN0YW5jZW9mIFk/JDpu''@;'; put 'put ''ZXcgWShmdW5jdGlvbih0ZSl7dGUoJCl9KSkudGhlbihSLEIpfXEoKEk9SS5hcHBseShMLFR8fFtdKSkubmV4dCgpKX0pfSxtPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKEwsVCl7dmFyIFksSSxVLFYsUj17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZVWzBdKXRocm93''@;'; put 'put ''IFVbMV07cmV0dXJuIFVbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gVj17bmV4dDpCKDApLHRocm93OkIoMSkscmV0dXJuOkIoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihWW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLFY7ZnVuY3Rpb24gQihx''@;'; put 'put ''KXtyZXR1cm4gZnVuY3Rpb24oSil7cmV0dXJuIGZ1bmN0aW9uKCQpe2lmKFkpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7UjspdHJ5e2lmKFk9MSxJJiYoVT0yJiRbMF0/SS5yZXR1cm46JFswXT9JLnRocm93fHwoKFU9SS5yZXR1''@;'; put 'put ''cm4pJiZVLmNhbGwoSSksMCk6SS5uZXh0KSYmIShVPVUuY2FsbChJLCRbMV0pKS5kb25lKXJldHVybiBVO3N3aXRjaChJPTAsVSYmKCQ9WzImJFswXSxVLnZhbHVlXSksJFswXSl7Y2FzZSAwOmNhc2UgMTpVPSQ7YnJlYWs7Y2FzZSA0OnJldHVybiBSLmxhYmVsKysse3ZhbHVlOiRbMV0sZG9u''@;'; put 'put ''ZTohMX07Y2FzZSA1OlIubGFiZWwrKyxJPSRbMV0sJD1bMF07Y29udGludWU7Y2FzZSA3OiQ9Ui5vcHMucG9wKCksUi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoVT0oVT1SLnRyeXMpLmxlbmd0aD4wJiZVW1UubGVuZ3RoLTFdKXx8NiE9PSRbMF0mJjIhPT0kWzBdKSl7Uj0w''@;'; put 'put ''O2NvbnRpbnVlfWlmKDM9PT0kWzBdJiYoIVV8fCRbMV0+VVswXSYmJFsxXTxVWzNdKSl7Ui5sYWJlbD0kWzFdO2JyZWFrfWlmKDY9PT0kWzBdJiZSLmxhYmVsPFVbMV0pe1IubGFiZWw9VVsxXSxVPSQ7YnJlYWt9aWYoVSYmUi5sYWJlbDxVWzJdKXtSLmxhYmVsPVVbMl0sUi5vcHMucHVzaCgk''@;'; put 'put ''KTticmVha31VWzJdJiZSLm9wcy5wb3AoKSxSLnRyeXMucG9wKCk7Y29udGludWV9JD1ULmNhbGwoTCxSKX1jYXRjaCh0ZSl7JD1bNix0ZV0sST0wfWZpbmFsbHl7WT1VPTB9aWYoNSYkWzBdKXRocm93ICRbMV07cmV0dXJue3ZhbHVlOiRbMF0/JFsxXTp2b2lkIDAsZG9uZTohMH19KFtxLEpd''@;'; put 'put ''KX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5TYXM5Sm9iRXhlY3V0b3I9dm9pZCAwO3ZhciBGPWooNjIzMCksRD1qKDEzOTUpLHc9aig1OTI4KSxQPWooNjExOCksTT1qKDc5NSksaz1mdW5jdGlvbihMKXtmdW5jdGlvbiBUKFksSSxVLFYs''@;'; put 'put ''Uil7dmFyIEI9TC5jYWxsKHRoaXMsWSxJKXx8dGhpcztyZXR1cm4gQi5qb2JzUGF0aD1VLEIucmVxdWVzdENsaWVudD1WLEIuc2FzOVJlcXVlc3RDbGllbnQ9bmV3IE0uU2FzOVJlcXVlc3RDbGllbnQoWSxSKSxCfXJldHVybiB6KFQsTCksVC5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihZ''@;'; put 'put ''LEksVSl7cmV0dXJuIFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIFYsUixCLHEsSiwkLHRlPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihoKXtzd2l0Y2goaC5sYWJlbCl7Y2FzZSAwOmlmKFY9KDAsdy5pc1JlbGF0aXZlUGF0aCkoWSkmJlUuYXBwTG9jP1UuYXBwTG9j''@;'; put 'put ''LnJlcGxhY2UoL1wvPyQvLCIvIikrWS5yZXBsYWNlKC9eXC8vLCIiKTpZLFI9IiIuY29uY2F0KFUuc2VydmVyVXJsKS5jb25jYXQodGhpcy5qb2JzUGF0aCwiPyIpLmNvbmNhdCgiX3Byb2dyYW09IitWKSxSPSIiLmNvbmNhdChSKS5jb25jYXQoVS51c2VybmFtZSYmVS5wYXNzd29yZD8iJl91''@;'; put 'put ''c2VybmFtZT0iK1UudXNlcm5hbWUrIiZfcGFzc3dvcmQ9IitVLnBhc3N3b3JkOiIiKSxSPSIiLmNvbmNhdChSKS5jb25jYXQoVS5kZWJ1Zz8iJl9kZWJ1Zz0xMzEiOiIiKSxCPUMoe30sdGhpcy5nZXRSZXF1ZXN0UGFyYW1zKFUpKSxxPW5ldyBGLEkpdHJ5e3E9TyhxLEkpfWNhdGNoKGIpe3Jl''@;'; put 'put ''dHVyblsyLFByb21pc2UucmVqZWN0KG5ldyBELkVycm9yUmVzcG9uc2UobnVsbD09Yj92b2lkIDA6Yi5tZXNzYWdlLGIpKV19ZWxzZSBJPSIiO2ZvcihKIGluIEIpQi5oYXNPd25Qcm9wZXJ0eShKKSYmcS5hcHBlbmQoSixCW0pdKTtyZXR1cm5bNCx0aGlzLnNhczlSZXF1ZXN0Q2xpZW50Lmxv''@;'; put 'put ''Z2luKFUudXNlcm5hbWUsVS5wYXNzd29yZCx0aGlzLmpvYnNQYXRoKV07Y2FzZSAxOnJldHVybiBoLnNlbnQoKSwkPUkmJk9iamVjdC5rZXlzKEkpLmxlbmd0aD8ibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9IitxLl9ib3VuZGFyeToidGV4dC9wbGFpbiIsWzIsbmV3IFByb21pc2Uo''@;'; put 'put ''ZnVuY3Rpb24oYix5KXtyZXR1cm4gdGUuc2FzOVJlcXVlc3RDbGllbnQucG9zdChSLHEsdm9pZCAwLCQse0FjY2VwdDoiKi8qIixDb25uZWN0aW9uOiJLZWVwLUFsaXZlIn0pLnRoZW4oZnVuY3Rpb24ocCl7dGUucmVxdWVzdENsaWVudC5hcHBlbmRSZXF1ZXN0KHAsWSxVLmRlYnVnKSxiKHAp''@;'; put 'put ''fSkuY2F0Y2goZnVuY3Rpb24ocCl7dmFyIGc9cDtwLnJlc3VsdCYmIiIhPT1wLnJlc3VsdD9nPXAucmVzdWx0OnAubWVzc2FnZSYmKGc9cC5tZXNzYWdlKSx0ZS5yZXF1ZXN0Q2xpZW50LmFwcGVuZFJlcXVlc3QoZyxZLFUuZGVidWcpLHkobmV3IEQuRXJyb3JSZXNwb25zZShudWxsPT1wP3Zv''@;'; put 'put ''aWQgMDpwLm1lc3NhZ2UscCkpfSl9KV19fSl9KX0sVC5wcm90b3R5cGUuZ2V0UmVxdWVzdFBhcmFtcz1mdW5jdGlvbihZKXt2YXIgST17fTtyZXR1cm4gWS5kZWJ1ZyYmKEkuX2RlYnVnPTEzMSksSX0sVH0oUC5CYXNlSm9iRXhlY3V0b3IpO0EuU2FzOUpvYkV4ZWN1dG9yPWs7dmFyIE89ZnVu''@;'; put 'put ''Y3Rpb24oTCxUKXtmb3IodmFyIFkgaW4gVCl7dmFyIEk9WSxVPSgwLHcuY29udmVydFRvQ1NWKShULFkpO2lmKCJFUlJPUjogTEFSR0UgU1RSSU5HIExFTkdUSCI9PT1VKXRocm93IG5ldyBFcnJvcigiVGhlIG1heCBsZW5ndGggb2YgYSBzdHJpbmcgdmFsdWUgaW4gU0FTanMgaXMgMzI3NjUg''@;'; put 'put ''Y2hhcmFjdGVycy4iKTtMLmFwcGVuZChJLFUse2ZpbGVuYW1lOiIiLmNvbmNhdChJLCIuY3N2IiksY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL2NzdiJ9KX1yZXR1cm4gTH19LDEwNjU6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PXRoaXMmJnRoaXMuX19leHRlbmRzfHwo''@;'; put 'put ''Tj1mdW5jdGlvbihPLEwpe3JldHVybihOPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihULFkpe1QuX19wcm90b19fPVl9fHxmdW5jdGlvbihULFkpe2Zvcih2YXIgSSBpbiBZKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJv''@;'; put 'put ''cGVydHkuY2FsbChZLEkpJiYoVFtJXT1ZW0ldKX0pKE8sTCl9LGZ1bmN0aW9uKE8sTCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIEwmJm51bGwhPT1MKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoTCkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBu''@;'; put 'put ''dWxsIik7ZnVuY3Rpb24gVCgpe3RoaXMuY29uc3RydWN0b3I9T31OKE8sTCksTy5wcm90b3R5cGU9bnVsbD09PUw/T2JqZWN0LmNyZWF0ZShMKTooVC5wcm90b3R5cGU9TC5wcm90b3R5cGUsbmV3IFQpfSksQz10aGlzJiZ0aGlzLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBDPU9iamVj''@;'; put 'put ''dC5hc3NpZ258fGZ1bmN0aW9uKE8pe2Zvcih2YXIgTCxUPTEsWT1hcmd1bWVudHMubGVuZ3RoO1Q8WTtUKyspZm9yKHZhciBJIGluIEw9YXJndW1lbnRzW1RdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChMLEkpJiYoT1tJXT1MW0ldKTtyZXR1cm4gT30sQy5hcHBseSh0''@;'; put 'put ''aGlzLGFyZ3VtZW50cyl9LFM9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKE8sTCxULFkpe3JldHVybiBuZXcoVHx8KFQ9UHJvbWlzZSkpKGZ1bmN0aW9uKEksVSl7ZnVuY3Rpb24gVihxKXt0cnl7QihZLm5leHQocSkpfWNhdGNoKEope1UoSil9fWZ1bmN0aW9uIFIocSl7dHJ5e0Io''@;'; put 'put ''WS50aHJvdyhxKSl9Y2F0Y2goSil7VShKKX19ZnVuY3Rpb24gQihxKXt2YXIgSjtxLmRvbmU/SShxLnZhbHVlKTooSj1xLnZhbHVlLEogaW5zdGFuY2VvZiBUP0o6bmV3IFQoZnVuY3Rpb24oJCl7JChKKX0pKS50aGVuKFYsUil9QigoWT1ZLmFwcGx5KE8sTHx8W10pKS5uZXh0KCkpfSl9LG09''@;'; put 'put ''dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oTyxMKXt2YXIgVCxZLEksVSxWPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJklbMF0pdGhyb3cgSVsxXTtyZXR1cm4gSVsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBVPXtuZXh0OlIoMCksdGhyb3c6UigxKSxyZXR1cm46''@;'; put 'put ''UigyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKFVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksVTtmdW5jdGlvbiBSKEIpe3JldHVybiBmdW5jdGlvbihxKXtyZXR1cm4gZnVuY3Rpb24oSil7aWYoVCl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0''@;'; put 'put ''b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtWOyl0cnl7aWYoVD0xLFkmJihJPTImSlswXT9ZLnJldHVybjpKWzBdP1kudGhyb3d8fCgoST1ZLnJldHVybikmJkkuY2FsbChZKSwwKTpZLm5leHQpJiYhKEk9SS5jYWxsKFksSlsxXSkpLmRvbmUpcmV0dXJuIEk7c3dpdGNoKFk9MCxJ''@;'; put 'put ''JiYoSj1bMiZKWzBdLEkudmFsdWVdKSxKWzBdKXtjYXNlIDA6Y2FzZSAxOkk9SjticmVhaztjYXNlIDQ6cmV0dXJuIFYubGFiZWwrKyx7dmFsdWU6SlsxXSxkb25lOiExfTtjYXNlIDU6Vi5sYWJlbCsrLFk9SlsxXSxKPVswXTtjb250aW51ZTtjYXNlIDc6Sj1WLm9wcy5wb3AoKSxWLnRyeXMu''@;'; put 'put ''cG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChJPShJPVYudHJ5cykubGVuZ3RoPjAmJklbSS5sZW5ndGgtMV0pfHw2IT09SlswXSYmMiE9PUpbMF0pKXtWPTA7Y29udGludWV9aWYoMz09PUpbMF0mJighSXx8SlsxXT5JWzBdJiZKWzFdPElbM10pKXtWLmxhYmVsPUpbMV07YnJlYWt9aWYo''@;'; put 'put ''Nj09PUpbMF0mJlYubGFiZWw8SVsxXSl7Vi5sYWJlbD1JWzFdLEk9SjticmVha31pZihJJiZWLmxhYmVsPElbMl0pe1YubGFiZWw9SVsyXSxWLm9wcy5wdXNoKEopO2JyZWFrfUlbMl0mJlYub3BzLnBvcCgpLFYudHJ5cy5wb3AoKTtjb250aW51ZX1KPUwuY2FsbChPLFYpfWNhdGNoKCQpe0o9''@;'; put 'put ''WzYsJF0sWT0wfWZpbmFsbHl7VD1JPTB9aWYoNSZKWzBdKXRocm93IEpbMV07cmV0dXJue3ZhbHVlOkpbMF0/SlsxXTp2b2lkIDAsZG9uZTohMH19KFtCLHFdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5TYXNqc0pvYkV4ZWN1dG9yPXZv''@;'; put 'put ''aWQgMDt2YXIgRj1qKDYyMzApLEQ9aigzOTAwKSx3PWooMTM5NSksUD1qKDQwMzcpLE09aig1OTI4KSxrPWZ1bmN0aW9uKE8pe2Z1bmN0aW9uIEwoVCxZLEkpe3ZhciBVPU8uY2FsbCh0aGlzLFQsRC5TZXJ2ZXJUeXBlLlNhc2pzKXx8dGhpcztyZXR1cm4gVS5qb2JzUGF0aD1ZLFUucmVxdWVz''@;'; put 'put ''dENsaWVudD1JLFV9cmV0dXJuIHooTCxPKSxMLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKFQsWSxJLFUsVixSKXtyZXR1cm4gdm9pZCAwPT09UiYmKFI9W10pLFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEIscSxKLCQsdGUsaCxiLHA9dGhpcztyZXR1cm4gbSh0aGlz''@;'; put 'put ''LGZ1bmN0aW9uKGcpe2lmKEI9VSxxPSgwLE0uaXNSZWxhdGl2ZVBhdGgpKFQpJiZJLmFwcExvYz9JLmFwcExvYy5yZXBsYWNlKC9cLz8kLywiLyIpK1QucmVwbGFjZSgvXlwvLywiIik6VCxKPSIiLmNvbmNhdChJLnNlcnZlclVybCkuY29uY2F0KHRoaXMuam9ic1BhdGgsIi8/IikuY29uY2F0''@;'; put 'put ''KCJfcHJvZ3JhbT0iK3EpLCQ9Qyh7fSx0aGlzLmdldFJlcXVlc3RQYXJhbXMoSSkpLHRlPSJ1bmRlZmluZWQiPT10eXBlb2YgRm9ybURhdGE/bmV3IEY6bmV3IEZvcm1EYXRhLFkpdHJ5e3RlPSgwLFAuZ2VuZXJhdGVGaWxlVXBsb2FkRm9ybSkodGUsWSl9Y2F0Y2goXyl7cmV0dXJuWzIsUHJv''@;'; put 'put ''bWlzZS5yZWplY3QobmV3IHcuRXJyb3JSZXNwb25zZShudWxsPT1fP3ZvaWQgMDpfLm1lc3NhZ2UsXykpXX1mb3IoaCBpbiAkKSQuaGFzT3duUHJvcGVydHkoaCkmJnRlLmFwcGVuZChoLCRbaF0pO3JldHVybiBiPXRlIGluc3RhbmNlb2YgRiYmInVuZGVmaW5lZCI9PXR5cGVvZiBGb3JtRGF0''@;'; put 'put ''YT8ibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9Ii5jb25jYXQodGUuZ2V0Qm91bmRhcnkoKSk6dm9pZCAwLFsyLG5ldyBQcm9taXNlKGZ1bmN0aW9uKF8sRSl7cC5yZXF1ZXN0Q2xpZW50LnBvc3QoSix0ZSxudWxsPT1WP3ZvaWQgMDpWLmFjY2Vzc190b2tlbixiKS50aGVuKGZ1bmN0''@;'; put 'put ''aW9uKFcpe3JldHVybiBTKHAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBHO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oWCl7aWYoT2JqZWN0LmVudHJpZXMoVy5yZXN1bHQpLmxlbmd0aDwxKXRocm93IG5ldyB3LkpvYkV4ZWN1dGlvbkVycm9yKDAsIk5vIHdlYm91dCB3YXMgcmV0dXJu''@;'; put 'put ''ZWQgYnkgam9iICIuY29uY2F0KHEsIi4gIFBsZWFzZSBjaGVjayB0aGUgU0FTIGxvZyBmb3IgbW9yZSBpbmZvLiIpLFcubG9nKTtyZXR1cm4gdGhpcy5yZXF1ZXN0Q2xpZW50LmFwcGVuZFJlcXVlc3QoVyxULEkuZGVidWcpLEc9KDAsTS5hcHBlbmRFeHRyYVJlc3BvbnNlQXR0cmlidXRlcyko''@;'; put 'put ''VyxSKSxfKEcpLFsyXX0pfSl9KS5jYXRjaChmdW5jdGlvbihXKXtyZXR1cm4gUyhwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgRz10aGlzO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oWCl7c3dpdGNoKFgubGFiZWwpe2Nhc2UgMDpyZXR1cm4gVyBpbnN0YW5jZW9mIHcuSm9iRXhlY3V0''@;'; put 'put ''aW9uRXJyb3ImJih0aGlzLnJlcXVlc3RDbGllbnQuYXBwZW5kUmVxdWVzdChXLFQsSS5kZWJ1ZyksRShuZXcgdy5FcnJvclJlc3BvbnNlKG51bGw9PVc/dm9pZCAwOlcubWVzc2FnZSxXKSkpLFcgaW5zdGFuY2VvZiB3LkxvZ2luUmVxdWlyZWRFcnJvcj8oVXx8RShuZXcgdy5FcnJvclJlc3Bv''@;'; put 'put ''bnNlKCJSZXF1ZXN0IGlzIG5vdCBhdXRoZW50aWNhdGVkLiBNYWtlIHN1cmUgLmVudiBmaWxlIGV4aXN0cyB3aXRoIHZhbGlkIGNyZWRlbnRpYWxzLiIsVykpLHRoaXMuYXBwZW5kV2FpdGluZ1JlcXVlc3QoZnVuY3Rpb24oKXtyZXR1cm4gRy5leGVjdXRlKFQsWSxJLFUsVixSKS50aGVuKGZ1''@;'; put 'put ''bmN0aW9uKG5lKXtfKG5lKX0sZnVuY3Rpb24obmUpe0UobmUpfSl9KSxCP1s0LEIoKV06WzMsMl0pOlszLDNdO2Nhc2UgMTpYLnNlbnQoKSxYLmxhYmVsPTI7Y2FzZSAyOnJldHVyblszLDRdO2Nhc2UgMzpFKG5ldyB3LkVycm9yUmVzcG9uc2UobnVsbD09Vz92b2lkIDA6Vy5tZXNzYWdlLFcp''@;'; put 'put ''KSxYLmxhYmVsPTQ7Y2FzZSA0OnJldHVyblsyXX19KX0pfSl9KV19KX0pfSxMfShqKDYxMTgpLkJhc2VKb2JFeGVjdXRvcik7QS5TYXNqc0pvYkV4ZWN1dG9yPWt9LDYwODQ6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PXRoaXMmJnRoaXMuX19leHRlbmRzfHwoTj1mdW5j''@;'; put 'put ''dGlvbihZLEkpe3JldHVybihOPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihVLFYpe1UuX19wcm90b19fPVZ9fHxmdW5jdGlvbihVLFYpe2Zvcih2YXIgUiBpbiBWKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHku''@;'; put 'put ''Y2FsbChWLFIpJiYoVVtSXT1WW1JdKX0pKFksSSl9LGZ1bmN0aW9uKFksSSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIEkmJm51bGwhPT1JKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoSSkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7''@;'; put 'put ''ZnVuY3Rpb24gVSgpe3RoaXMuY29uc3RydWN0b3I9WX1OKFksSSksWS5wcm90b3R5cGU9bnVsbD09PUk/T2JqZWN0LmNyZWF0ZShJKTooVS5wcm90b3R5cGU9SS5wcm90b3R5cGUsbmV3IFUpfSksQz10aGlzJiZ0aGlzLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBDPU9iamVjdC5hc3Np''@;'; put 'put ''Z258fGZ1bmN0aW9uKFkpe2Zvcih2YXIgSSxVPTEsVj1hcmd1bWVudHMubGVuZ3RoO1U8VjtVKyspZm9yKHZhciBSIGluIEk9YXJndW1lbnRzW1VdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChJLFIpJiYoWVtSXT1JW1JdKTtyZXR1cm4gWX0sQy5hcHBseSh0aGlzLGFy''@;'; put 'put ''Z3VtZW50cyl9LFM9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKFksSSxVLFYpe3JldHVybiBuZXcoVXx8KFU9UHJvbWlzZSkpKGZ1bmN0aW9uKFIsQil7ZnVuY3Rpb24gcSh0ZSl7dHJ5eyQoVi5uZXh0KHRlKSl9Y2F0Y2goaCl7QihoKX19ZnVuY3Rpb24gSih0ZSl7dHJ5eyQoVi50''@;'; put 'put ''aHJvdyh0ZSkpfWNhdGNoKGgpe0IoaCl9fWZ1bmN0aW9uICQodGUpe3ZhciBoO3RlLmRvbmU/Uih0ZS52YWx1ZSk6KGg9dGUudmFsdWUsaCBpbnN0YW5jZW9mIFU/aDpuZXcgVShmdW5jdGlvbihiKXtiKGgpfSkpLnRoZW4ocSxKKX0kKChWPVYuYXBwbHkoWSxJfHxbXSkpLm5leHQoKSl9KX0s''@;'; put 'put ''bT10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihZLEkpe3ZhciBVLFYsUixCLHE9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmUlswXSl0aHJvdyBSWzFdO3JldHVybiBSWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIEI9e25leHQ6SigwKSx0aHJvdzpKKDEpLHJldHVy''@;'; put 'put ''bjpKKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoQltTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxCO2Z1bmN0aW9uIEooJCl7cmV0dXJuIGZ1bmN0aW9uKHRlKXtyZXR1cm4gZnVuY3Rpb24oaCl7aWYoVSl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5l''@;'; put 'put ''cmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtxOyl0cnl7aWYoVT0xLFYmJihSPTImaFswXT9WLnJldHVybjpoWzBdP1YudGhyb3d8fCgoUj1WLnJldHVybikmJlIuY2FsbChWKSwwKTpWLm5leHQpJiYhKFI9Ui5jYWxsKFYsaFsxXSkpLmRvbmUpcmV0dXJuIFI7c3dpdGNoKFY9''@;'; put 'put ''MCxSJiYoaD1bMiZoWzBdLFIudmFsdWVdKSxoWzBdKXtjYXNlIDA6Y2FzZSAxOlI9aDticmVhaztjYXNlIDQ6cmV0dXJuIHEubGFiZWwrKyx7dmFsdWU6aFsxXSxkb25lOiExfTtjYXNlIDU6cS5sYWJlbCsrLFY9aFsxXSxoPVswXTtjb250aW51ZTtjYXNlIDc6aD1xLm9wcy5wb3AoKSxxLnRy''@;'; put 'put ''eXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChSPShSPXEudHJ5cykubGVuZ3RoPjAmJlJbUi5sZW5ndGgtMV0pfHw2IT09aFswXSYmMiE9PWhbMF0pKXtxPTA7Y29udGludWV9aWYoMz09PWhbMF0mJighUnx8aFsxXT5SWzBdJiZoWzFdPFJbM10pKXtxLmxhYmVsPWhbMV07YnJlYWt9''@;'; put 'put ''aWYoNj09PWhbMF0mJnEubGFiZWw8UlsxXSl7cS5sYWJlbD1SWzFdLFI9aDticmVha31pZihSJiZxLmxhYmVsPFJbMl0pe3EubGFiZWw9UlsyXSxxLm9wcy5wdXNoKGgpO2JyZWFrfVJbMl0mJnEub3BzLnBvcCgpLHEudHJ5cy5wb3AoKTtjb250aW51ZX1oPUkuY2FsbChZLHEpfWNhdGNoKGIp''@;'; put 'put ''e2g9WzYsYl0sVj0wfWZpbmFsbHl7VT1SPTB9aWYoNSZoWzBdKXRocm93IGhbMV07cmV0dXJue3ZhbHVlOmhbMF0/aFsxXTp2b2lkIDAsZG9uZTohMH19KFskLHRlXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuV2ViSm9iRXhlY3V0b3I9''@;'; put 'put ''dm9pZCAwO3ZhciBGPWooNjIzMCksRD1qKDM5MDApLHc9aigxMzk1KSxQPWooNDAzNyksTT1qKDIxNzApLGs9aig1OTI4KSxPPWooNjExOCksTD1qKDI4MTMpLFQ9ZnVuY3Rpb24oWSl7ZnVuY3Rpb24gSShVLFYsUixCLHEpe3ZhciBKPVkuY2FsbCh0aGlzLFUsVil8fHRoaXM7cmV0dXJuIEou''@;'; put 'put ''am9ic1BhdGg9UixKLnJlcXVlc3RDbGllbnQ9QixKLnNhc1ZpeWFBcGlDbGllbnQ9cSxKfXJldHVybiB6KEksWSksSS5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihVLFYsUixCLHEsSil7cmV0dXJuIHZvaWQgMD09PUomJihKPVtdKSxTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigp''@;'; put 'put ''e3ZhciAkLHRlLGgsYix5LHAsZyxfLEUsRyxYLG5lLHVlPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihiZSl7c3dpdGNoKGJlLmxhYmVsKXtjYXNlIDA6aWYoJD1CLHRlPSgwLGsuaXNSZWxhdGl2ZVBhdGgpKFUpJiZSLmFwcExvYz9SLmFwcExvYy5yZXBsYWNlKC9cLz8kLywiLyIpK1Uu''@;'; put 'put ''cmVwbGFjZSgvXlwvLywiIik6VSxoPSIiLmNvbmNhdChSLnNlcnZlclVybCkuY29uY2F0KHRoaXMuam9ic1BhdGgsIi8/IikuY29uY2F0KCJfcHJvZ3JhbT0iK3RlKSxSLnNlcnZlclR5cGUhPT1ELlNlcnZlclR5cGUuU2FzVml5YSlyZXR1cm5bMyw1XTtiPXZvaWQgMCxiZS5sYWJlbD0xO2Nh''@;'; put 'put ''c2UgMTpyZXR1cm4gYmUudHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCx0aGlzLmdldEpvYlVyaShVKV07Y2FzZSAyOnJldHVybiBiPWJlLnNlbnQoKSxbMyw0XTtjYXNlIDM6cmV0dXJuIHk9YmUuc2VudCgpLFsyLG5ldyBQcm9taXNlKGZ1bmN0aW9uKF9lLGxlKXtyZXR1cm4gUyh1ZSx2b2lkIDAs''@;'; put 'put ''dm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGNlPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihwZSl7c3dpdGNoKHBlLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHkgaW5zdGFuY2VvZiB3LkxvZ2luUmVxdWlyZWRFcnJvcj8odGhpcy5hcHBlbmRXYWl0aW5nUmVxdWVzdChmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biBjZS5leGVjdXRlKFUsVixSLEIscSxKKS50aGVuKGZ1bmN0aW9uKHdlKXtfZSh3ZSl9LGZ1bmN0aW9uKHdlKXtsZSh3ZSl9KX0pLCQ/WzQsJCgpXTpbMywyXSk6WzMsM107Y2FzZSAxOnBlLnNlbnQoKSxwZS5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMyw0XTtjYXNlIDM6bGUobmV3IHcuRXJy''@;'; put 'put ''b3JSZXNwb25zZShudWxsPT15P3ZvaWQgMDp5Lm1lc3NhZ2UseSkpLHBlLmxhYmVsPTQ7Y2FzZSA0OnJldHVyblsyXX19KX0pfSldO2Nhc2UgNDpoKz1iLmxlbmd0aD4wPyImX2pvYj0iK2I6IiIsYi5sZW5ndGg+MCYmKGg9KGgrPSImX2pvYj0iK2IpLnJlcGxhY2UoIl9wcm9ncmFtPSIsIl9f''@;'; put 'put ''cHJvZ3JhbT0iKSksaCs9Ui5jb250ZXh0TmFtZSYmIS9ccy8udGVzdChSLmNvbnRleHROYW1lKT8iJl9jb250ZXh0bmFtZT0iLmNvbmNhdChSLmNvbnRleHROYW1lKToiIixiZS5sYWJlbD01O2Nhc2UgNTppZihwPUMoe30sdGhpcy5nZXRSZXF1ZXN0UGFyYW1zKFIpKSxnPSJ1bmRlZmluZWQi''@;'; put 'put ''PT10eXBlb2YgRm9ybURhdGE/bmV3IEY6bmV3IEZvcm1EYXRhLFYpaWYoXz1KU09OLnN0cmluZ2lmeShWKSxSLnNlcnZlclR5cGU9PT1ELlNlcnZlclR5cGUuU2FzOXx8Xy5sZW5ndGg+NWU1fHxfLmluY2x1ZGVzKCI7IikpdHJ5e2c9KDAsUC5nZW5lcmF0ZUZpbGVVcGxvYWRGb3JtKShnLFYp''@;'; put 'put ''fWNhdGNoKF9lKXtyZXR1cm5bMixQcm9taXNlLnJlamVjdChuZXcgdy5FcnJvclJlc3BvbnNlKG51bGw9PV9lP3ZvaWQgMDpfZS5tZXNzYWdlLF9lKSldfWVsc2UgdHJ5e0U9KDAsTS5nZW5lcmF0ZVRhYmxlVXBsb2FkRm9ybSkoZyxWKSxHPUUucmVxdWVzdFBhcmFtcyxnPUUuZm9ybURhdGEs''@;'; put 'put ''cD1DKEMoe30scCksRyl9Y2F0Y2goX2Upe3JldHVyblsyLFByb21pc2UucmVqZWN0KG5ldyB3LkVycm9yUmVzcG9uc2UobnVsbD09X2U/dm9pZCAwOl9lLm1lc3NhZ2UsX2UpKV19Zm9yKFggaW4gcClwLmhhc093blByb3BlcnR5KFgpJiZnLmFwcGVuZChYLHBbWF0pO3JldHVybiBuZT1nIGlu''@;'; put 'put ''c3RhbmNlb2YgRiYmInVuZGVmaW5lZCI9PXR5cGVvZiBGb3JtRGF0YT8ibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9Ii5jb25jYXQoZy5nZXRCb3VuZGFyeSgpKTp2b2lkIDAsWzIsbmV3IFByb21pc2UoZnVuY3Rpb24oX2UsbGUpe3VlLnJlcXVlc3RDbGllbnQucG9zdChoLGcsbnVs''@;'; put 'put ''bD09cT92b2lkIDA6cS5hY2Nlc3NfdG9rZW4sbmUpLnRoZW4oZnVuY3Rpb24oY2Upe3JldHVybiBTKHVlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcGUsd2U7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihVZSl7c3dpdGNoKFVlLmxhYmVsKXtjYXNlIDA6aWYodGhpcy5yZXF1ZXN0Q2xp''@;'; put 'put ''ZW50LmFwcGVuZFJlcXVlc3QoY2UsVSxSLmRlYnVnKSxwZT1jZS5yZXN1bHQsIVIuZGVidWcpcmV0dXJuWzMsNF07c3dpdGNoKHRoaXMuc2VydmVyVHlwZSl7Y2FzZSBELlNlcnZlclR5cGUuU2FzVml5YTpyZXR1cm5bMywxXTtjYXNlIEQuU2VydmVyVHlwZS5TYXM5OnJldHVyblszLDNdfXJl''@;'; put 'put ''dHVyblszLDRdO2Nhc2UgMTpyZXR1cm5bNCwoMCxrLnBhcnNlU2FzVml5YURlYnVnUmVzcG9uc2UpKGNlLnJlc3VsdCx0aGlzLnJlcXVlc3RDbGllbnQsdGhpcy5zZXJ2ZXJVcmwpXTtjYXNlIDI6cmV0dXJuIHBlPVVlLnNlbnQoKSxbMyw0XTtjYXNlIDM6cmV0dXJuIHBlPSJzdHJpbmciPT10''@;'; put 'put ''eXBlb2YgY2UucmVzdWx0PygwLEwucGFyc2VXZWJvdXRSZXNwb25zZSkoY2UucmVzdWx0LGgpOmNlLnJlc3VsdCxbMyw0XTtjYXNlIDQ6cmV0dXJuIHdlPSgwLGsuYXBwZW5kRXh0cmFSZXNwb25zZUF0dHJpYnV0ZXMpKHtyZXN1bHQ6cGUsbG9nOmNlLmxvZ30sSiksX2Uod2UpLFsyXX19KX0p''@;'; put 'put ''fSkuY2F0Y2goZnVuY3Rpb24oY2Upe3JldHVybiBTKHVlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcGU9dGhpcztyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKHdlKXtzd2l0Y2god2UubGFiZWwpe2Nhc2UgMDpyZXR1cm4gY2UgaW5zdGFuY2VvZiB3LkpvYkV4ZWN1dGlvbkVycm9yJiYo''@;'; put 'put ''dGhpcy5yZXF1ZXN0Q2xpZW50LmFwcGVuZFJlcXVlc3QoY2UsVSxSLmRlYnVnKSxsZShuZXcgdy5FcnJvclJlc3BvbnNlKG51bGw9PWNlP3ZvaWQgMDpjZS5tZXNzYWdlLGNlKSkpLGNlIGluc3RhbmNlb2Ygdy5Mb2dpblJlcXVpcmVkRXJyb3I/KEJ8fGxlKG5ldyB3LkVycm9yUmVzcG9uc2Uo''@;'; put 'put ''IlJlcXVlc3QgaXMgbm90IGF1dGhlbnRpY2F0ZWQuIE1ha2Ugc3VyZSAuZW52IGZpbGUgZXhpc3RzIHdpdGggdmFsaWQgY3JlZGVudGlhbHMuIixjZSkpLHRoaXMuYXBwZW5kV2FpdGluZ1JlcXVlc3QoZnVuY3Rpb24oKXtyZXR1cm4gcGUuZXhlY3V0ZShVLFYsUixCLHEsSikudGhlbihmdW5j''@;'; put 'put ''dGlvbihVZSl7X2UoVWUpfSxmdW5jdGlvbihVZSl7bGUoVWUpfSl9KSwkP1s0LCQoKV06WzMsMl0pOlszLDNdO2Nhc2UgMTp3ZS5zZW50KCksd2UubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzMsNF07Y2FzZSAzOmxlKG5ldyB3LkVycm9yUmVzcG9uc2UobnVsbD09Y2U/dm9pZCAwOmNlLm1lc3Nh''@;'; put 'put ''Z2UsY2UpKSx3ZS5sYWJlbD00O2Nhc2UgNDpyZXR1cm5bMl19fSl9KX0pfSldfX0pfSl9LEkucHJvdG90eXBlLmdldEpvYlVyaT1mdW5jdGlvbihVKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgVixSLEIscSxKLCQ7cmV0dXJuIG0odGhpcyxmdW5jdGlvbih0''@;'; put 'put ''ZSl7c3dpdGNoKHRlLmxhYmVsKXtjYXNlIDA6aWYoIXRoaXMuc2FzVml5YUFwaUNsaWVudClyZXR1cm5bMiwiIl07aWYoVj0iIiwoMCxrLmlzUmVsYXRpdmVQYXRoKShVKT8ocT1VLnNwbGl0KCIvIiksUj1xLmxlbmd0aD4xP3FbMF06IiIsQj1xLmxlbmd0aD4xP3FbMV06IiIpOihxPVUuc3Bs''@;'; put 'put ''aXQoIi8iKSxCPXEucG9wKCl8fCIiLFI9cS5qb2luKCIvIikpLCFCKXRocm93IG5ldyBFcnJvcigiSm9iIG5hbWUgaXMgZW1wdHksIG51bGwgb3IgdW5kZWZpbmVkLiIpO3JldHVybls0LHRoaXMuc2FzVml5YUFwaUNsaWVudC5nZXRKb2JzSW5Gb2xkZXIoUildO2Nhc2UgMTpyZXR1cm4oSj10''@;'; put 'put ''ZS5zZW50KCkpJiYoJD1KLmZpbmQoZnVuY3Rpb24oaCl7cmV0dXJuIGgubmFtZT09PUImJiJqb2JEZWZpbml0aW9uIj09PWguY29udGVudFR5cGV9KSkmJihWPSQudXJpKSxbMixWXX19KX0pfSxJfShPLkJhc2VKb2JFeGVjdXRvcik7QS5XZWJKb2JFeGVjdXRvcj1UfSw4MjE3OmZ1bmN0aW9u''@;'; put 'put ''KFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKEMsUyxtLEYpe3ZvaWQgMD09PUYmJihGPW0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDLEYse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0''@;'; put 'put ''dXJuIFNbbV19fSl9OmZ1bmN0aW9uKEMsUyxtLEYpe3ZvaWQgMD09PUYmJihGPW0pLENbRl09U1ttXX0pLHo9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKEMsUyl7Zm9yKHZhciBtIGluIEMpImRlZmF1bHQiPT09bXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5j''@;'; put 'put ''YWxsKFMsbSl8fE4oUyxDLG0pfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkseihqKDE1NzApLEEpLHooaigzNDkxKSxBKSx6KGooNDQ0NiksQSkseihqKDYxMTgpLEEpLHooaigyNjkzKSxBKSx6KGooNjA4NCksQSkseihqKDEwNjUpLEEpfSw0NTg4''@;'; put 'put ''OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49aig0MTU1KSx6PWooNTEwOCksQz10aGlzJiZ0aGlzLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBDPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKEkpe2Zvcih2YXIgVSxWPTEsUj1hcmd1bWVudHMubGVuZ3RoO1Y8UjtWKysp''@;'; put 'put ''Zm9yKHZhciBCIGluIFU9YXJndW1lbnRzW1ZdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChVLEIpJiYoSVtCXT1VW0JdKTtyZXR1cm4gSX0sQy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LFM9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKEksVSxWLFIpe3JldHVy''@;'; put 'put ''biBuZXcoVnx8KFY9UHJvbWlzZSkpKGZ1bmN0aW9uKEIscSl7ZnVuY3Rpb24gSihoKXt0cnl7dGUoUi5uZXh0KGgpKX1jYXRjaChiKXtxKGIpfX1mdW5jdGlvbiAkKGgpe3RyeXt0ZShSLnRocm93KGgpKX1jYXRjaChiKXtxKGIpfX1mdW5jdGlvbiB0ZShoKXt2YXIgYjtoLmRvbmU/QihoLnZh''@;'; put 'put ''bHVlKTooYj1oLnZhbHVlLGIgaW5zdGFuY2VvZiBWP2I6bmV3IFYoZnVuY3Rpb24oeSl7eShiKX0pKS50aGVuKEosJCl9dGUoKFI9Ui5hcHBseShJLFV8fFtdKSkubmV4dCgpKX0pfSxtPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKEksVSl7dmFyIFYsUixCLHEsSj17bGFiZWw6''@;'; put 'put ''MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZCWzBdKXRocm93IEJbMV07cmV0dXJuIEJbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gcT17bmV4dDokKDApLHRocm93OiQoMSkscmV0dXJuOiQoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihxW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rp''@;'; put 'put ''b24oKXtyZXR1cm4gdGhpc30pLHE7ZnVuY3Rpb24gJCh0ZSl7cmV0dXJuIGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbihiKXtpZihWKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO0o7KXRyeXtpZihWPTEsUiYmKEI9MiZiWzBd''@;'; put 'put ''P1IucmV0dXJuOmJbMF0/Ui50aHJvd3x8KChCPVIucmV0dXJuKSYmQi5jYWxsKFIpLDApOlIubmV4dCkmJiEoQj1CLmNhbGwoUixiWzFdKSkuZG9uZSlyZXR1cm4gQjtzd2l0Y2goUj0wLEImJihiPVsyJmJbMF0sQi52YWx1ZV0pLGJbMF0pe2Nhc2UgMDpjYXNlIDE6Qj1iO2JyZWFrO2Nhc2Ug''@;'; put 'put ''NDpyZXR1cm4gSi5sYWJlbCsrLHt2YWx1ZTpiWzFdLGRvbmU6ITF9O2Nhc2UgNTpKLmxhYmVsKyssUj1iWzFdLGI9WzBdO2NvbnRpbnVlO2Nhc2UgNzpiPUoub3BzLnBvcCgpLEoudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKEI9KEI9Si50cnlzKS5sZW5ndGg+MCYmQltCLmxl''@;'; put 'put ''bmd0aC0xXSl8fDYhPT1iWzBdJiYyIT09YlswXSkpe0o9MDtjb250aW51ZX1pZigzPT09YlswXSYmKCFCfHxiWzFdPkJbMF0mJmJbMV08QlszXSkpe0oubGFiZWw9YlsxXTticmVha31pZig2PT09YlswXSYmSi5sYWJlbDxCWzFdKXtKLmxhYmVsPUJbMV0sQj1iO2JyZWFrfWlmKEImJkoubGFi''@;'; put 'put ''ZWw8QlsyXSl7Si5sYWJlbD1CWzJdLEoub3BzLnB1c2goYik7YnJlYWt9QlsyXSYmSi5vcHMucG9wKCksSi50cnlzLnBvcCgpO2NvbnRpbnVlfWI9VS5jYWxsKEksSil9Y2F0Y2goeSl7Yj1bNix5XSxSPTB9ZmluYWxseXtWPUI9MH1pZig1JmJbMF0pdGhyb3cgYlsxXTtyZXR1cm57dmFsdWU6''@;'; put 'put ''YlswXT9iWzFdOnZvaWQgMCxkb25lOiEwfX0oW3RlLGhdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS50aHJvd0lmRXJyb3I9QS5SZXF1ZXN0Q2xpZW50PXZvaWQgMDt2YXIgRj1qKDgzNzMpLEQ9aigxNTI3KSx3PWooMTM5NSksUD1qKDI4''@;'; put 'put ''MTMpLE09aig5Nzc4KSxrPWooOTUyNiksTz1qKDU5MjgpLEw9aigxMDA1KSxUPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gSShVLFYsUil7dmFyIEI9dGhpczt0aGlzLmJhc2VVcmw9VSx0aGlzLnJlcXVlc3RzPVtdLHRoaXMucmVxdWVzdHNMaW1pdD0xMCx0aGlzLmNzcmZUb2tlbj17aGVhZGVyTmFt''@;'; put 'put ''ZToiIix2YWx1ZToiIn0sdGhpcy5nZXRSZXF1ZXN0cz1mdW5jdGlvbigpe3JldHVybiBCLnJlcXVlc3RzfSx0aGlzLmNsZWFyUmVxdWVzdHM9ZnVuY3Rpb24oKXtCLnJlcXVlc3RzPVtdfSx0aGlzLmF1dGhvcml6ZT1mdW5jdGlvbihxKXtyZXR1cm4gUyhCLHZvaWQgMCx2b2lkIDAsZnVuY3Rp''@;'; put 'put ''b24oKXt2YXIgSiwkLHRlLGgsYix5LHAsZyxfLEUsVyxHO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oWCl7c3dpdGNoKFgubGFiZWwpe2Nhc2UgMDpmb3IoJD17fSx0ZT1xLnNwbGl0KCI8Ym9keT4iKVsxXS5zcGxpdCgiPC9ib2R5PiIpWzBdLChoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp''@;'; put 'put ''diIpKS5pbm5lckhUTUw9dGUsYj1oLnF1ZXJ5U2VsZWN0b3IoIiNhcHBsaWNhdGlvbl9hdXRob3JpemF0aW9uIiksSj1iP3RoaXMuYmFzZVVybCtiLmdldEF0dHJpYnV0ZSgiYWN0aW9uIik6bnVsbCx5PW51bGw9PWI/dm9pZCAwOmIucXVlcnlTZWxlY3RvckFsbCgiaW5wdXQiKSxwPTAsZz15''@;'; put 'put ''O3A8Zy5sZW5ndGg7cCsrKSJ1c2VyX29hdXRoX2FwcHJvdmFsIj09PShfPWdbcF0pLm5hbWUmJihfLnZhbHVlPSJ0cnVlIiksJFtfLm5hbWVdPV8udmFsdWU7Zm9yKEcgaW4oRT1PYmplY3Qua2V5cygkKS5maW5kKGZ1bmN0aW9uKG5lKXtyZXR1cm4gbnVsbD09bmU/dm9pZCAwOm5lLnRvTG93''@;'; put 'put ''ZXJDYXNlKCkuaW5jbHVkZXMoImNzcmYiKX0pKSYmKHRoaXMuY3NyZlRva2VuLnZhbHVlPSRbRV0sdGhpcy5jc3JmVG9rZW4uaGVhZGVyTmFtZT10aGlzLmNzcmZUb2tlbi5oZWFkZXJOYW1lfHwieC1jc3JmLXRva2VuIiksVz1uZXcgRm9ybURhdGEsJCkkLmhhc093blByb3BlcnR5KEcpJiZX''@;'; put 'put ''LmFwcGVuZChHLCRbR10pO2lmKCFKKXRocm93IG5ldyBFcnJvcigiQXV0aCBGb3JtIFVSTCBpcyBudWxsIG9yIHVuZGVmaW5lZC4iKTtyZXR1cm5bNCx0aGlzLmh0dHBDbGllbnQucG9zdChKLFcse3Jlc3BvbnNlVHlwZToidGV4dCIsaGVhZGVyczp7QWNjZXB0OiIqLyoiLCJDb250ZW50LVR5''@;'; put 'put ''cGUiOiJ0ZXh0L3BsYWluIn19KS50aGVuKGZ1bmN0aW9uKG5lKXtyZXR1cm4gbmUuZGF0YX0pLmNhdGNoKGZ1bmN0aW9uKG5lKXsoTi5sb2dnZXJ8fHopLmVycm9yKG5lKX0pXTtjYXNlIDE6cmV0dXJuWzIsWC5zZW50KCldfX0pfSl9LHRoaXMuZ2V0SGVhZGVycz1mdW5jdGlvbihxLEope3Zh''@;'; put 'put ''ciAkPXt9O3JldHVybiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIT09SiYmKCRbIkNvbnRlbnQtVHlwZSJdPUopLCQuQWNjZXB0PSJhcHBsaWNhdGlvbi9qc29uIj09PUo/ImFwcGxpY2F0aW9uL2pzb24iOiIqLyoiLHEmJigkLkF1dGhvcml6YXRpb249IkJlYXJlciAiLmNv''@;'; put 'put ''bmNhdChxKSksQi5jc3JmVG9rZW4uaGVhZGVyTmFtZSYmQi5jc3JmVG9rZW4udmFsdWUmJigkW0IuY3NyZlRva2VuLmhlYWRlck5hbWVdPUIuY3NyZlRva2VuLnZhbHVlKSwkfSx0aGlzLnBhcnNlQW5kU2V0RmlsZVVwbG9hZENzcmZUb2tlbj1mdW5jdGlvbihxKXt2YXIgSj1CLnBhcnNlQ3Ny''@;'; put 'put ''ZlRva2VuKHEpO0omJihCLmZpbGVVcGxvYWRDc3JmVG9rZW49Sil9LHRoaXMucGFyc2VBbmRTZXRDc3JmVG9rZW49ZnVuY3Rpb24ocSl7dmFyIEo9Qi5wYXJzZUNzcmZUb2tlbihxKTtKJiYoQi5jc3JmVG9rZW49Sil9LHRoaXMucGFyc2VDc3JmVG9rZW49ZnVuY3Rpb24ocSl7dmFyIEosJD1u''@;'; put 'put ''dWxsPT09KEo9cS5oZWFkZXJzWyJ4LWNzcmYtaGVhZGVyIl0pfHx2b2lkIDA9PT1KP3ZvaWQgMDpKLnRvTG93ZXJDYXNlKCk7aWYoJClyZXR1cm57aGVhZGVyTmFtZTokLHZhbHVlOnEuaGVhZGVyc1skXXx8IiJ9fSx0aGlzLmhhbmRsZUVycm9yPWZ1bmN0aW9uKHEsSiwkKXtyZXR1cm4gdm9p''@;'; put 'put ''ZCAwPT09JCYmKCQ9ITEpLFMoQix2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHRlLGg7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihiKXtzd2l0Y2goYi5sYWJlbCl7Y2FzZSAwOnJldHVybiB0ZT1xLnJlc3BvbnNlLHEgaW5zdGFuY2VvZiB3LkF1dGhvcml6ZUVycm9yP1s0LHRoaXMuaHR0''@;'; put 'put ''cENsaWVudC5nZXQocS5jb25maXJtVXJsLHtyZXNwb25zZVR5cGU6InRleHQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJ0ZXh0L3BsYWluIixBY2NlcHQ6IiovKiJ9fSkuY2F0Y2goZnVuY3Rpb24oeSl7dGhyb3coMCxNLnByZWZpeE1lc3NhZ2UpKHksIkVycm9yIHdoaWxlIGdldHRpbmcg''@;'; put 'put ''ZXJyb3IgY29uZmlybVVybC4gIil9KV06WzMsNV07Y2FzZSAxOnJldHVybiBoPWIuc2VudCgpLCgwLEQuaXNBdXRob3JpemVGb3JtUmVxdWlyZWQpKG51bGw9PWg/dm9pZCAwOmguZGF0YSk/WzQsdGhpcy5hdXRob3JpemUoaC5kYXRhKS5jYXRjaChmdW5jdGlvbih5KXt0aHJvdygwLE0ucHJl''@;'; put 'put ''Zml4TWVzc2FnZSkoeSwiRXJyb3Igd2hpbGUgYXV0aG9yaXppbmcgcmVxdWVzdC4gIil9KV06WzMsM107Y2FzZSAyOmIuc2VudCgpLGIubGFiZWw9MztjYXNlIDM6cmV0dXJuWzQsSigpLmNhdGNoKGZ1bmN0aW9uKHkpe3Rocm93KDAsTS5wcmVmaXhNZXNzYWdlKSh5LCJFcnJvciB3aGlsZSBl''@;'; put 'put ''eGVjdXRpbmcgY2FsbGJhY2sgaW4gaGFuZGxlRXJyb3IuICIpfSldO2Nhc2UgNDpyZXR1cm5bMixiLnNlbnQoKV07Y2FzZSA1OmlmKHEgaW5zdGFuY2VvZiB3LkxvZ2luUmVxdWlyZWRFcnJvcil0aHJvdyB0aGlzLmNsZWFyQ3NyZlRva2VucygpLHE7cmV0dXJuIHEgaW5zdGFuY2VvZiBMLklu''@;'; put 'put ''dmFsaWRTQVNqc0NzcmZFcnJvcj9bNCx0aGlzLmh0dHBDbGllbnQuZ2V0KCIvIix7d2l0aENyZWRlbnRpYWxzOiEwfSkudGhlbihmdW5jdGlvbih5KXt2YXIgcCxnPW51bGw9PT0ocD0vPHNjcmlwdD5kb2N1bWVudC5jb29raWUgPSAnKFhTUkYtVE9LRU49Lio7IE1heC1BZ2U9ODY0MDA7IFNh''@;'; put 'put ''bWVTaXRlPVN0cmljdDsgUGF0aD1cLzspJzxcL3NjcmlwdD4vLmV4ZWMoeS5kYXRhKSl8fHZvaWQgMD09PXA/dm9pZCAwOnBbMV07ZyYmKGRvY3VtZW50LmNvb2tpZT1nKX0pLmNhdGNoKGZ1bmN0aW9uKHkpe3Rocm93KDAsTS5wcmVmaXhNZXNzYWdlKSh5LCJFcnJvciB3aGlsZSByZS1mZXRj''@;'; put 'put ''aGluZyBDU1JGIHRva2VuLiIpfSldOlszLDhdO2Nhc2UgNjpyZXR1cm4gYi5zZW50KCksWzQsSigpLmNhdGNoKGZ1bmN0aW9uKHkpe3Rocm93KDAsTS5wcmVmaXhNZXNzYWdlKSh5LCJFcnJvciB3aGlsZSBleGVjdXRpbmcgY2FsbGJhY2sgaW4gaGFuZGxlRXJyb3IuICIpfSldO2Nhc2UgNzpy''@;'; put 'put ''ZXR1cm5bMixiLnNlbnQoKV07Y2FzZSA4OnJldHVybiA0MDMhPT0obnVsbD09dGU/dm9pZCAwOnRlLnN0YXR1cykmJjQ0OSE9PShudWxsPT10ZT92b2lkIDA6dGUuc3RhdHVzKT9bMywxMV06KHRoaXMucGFyc2VBbmRTZXRDc3JmVG9rZW4odGUpLHRoaXMuY3NyZlRva2VuLmhlYWRlck5hbWUm''@;'; put 'put ''JnRoaXMuY3NyZlRva2VuLnZhbHVlP1s0LEooKS5jYXRjaChmdW5jdGlvbih5KXt0aHJvdygwLE0ucHJlZml4TWVzc2FnZSkoeSwiRXJyb3Igd2hpbGUgZXhlY3V0aW5nIGNhbGxiYWNrIGluIGhhbmRsZUVycm9yLiAiKX0pXTpbMywxMF0pO2Nhc2UgOTpyZXR1cm5bMixiLnNlbnQoKV07Y2Fz''@;'; put 'put ''ZSAxMDp0aHJvdyBxO2Nhc2UgMTE6aWYoNDA0PT09KG51bGw9PXRlP3ZvaWQgMDp0ZS5zdGF0dXMpKXRocm93IG5ldyB3Lk5vdEZvdW5kRXJyb3IodGUuY29uZmlnLnVybCk7aWYoNTAyPT09KG51bGw9PXRlP3ZvaWQgMDp0ZS5zdGF0dXMpKXtpZigkKXRocm93IG5ldyB3LkludGVybmFsU2Vy''@;'; put 'put ''dmVyRXJyb3I7cmV0dXJuWzJdfWIubGFiZWw9MTI7Y2FzZSAxMjp0aHJvdyBxLmlzQXhpb3NFcnJvciYmIlVOQUJMRV9UT19WRVJJRllfTEVBRl9TSUdOQVRVUkUiPT09cS5jb2RlP25ldyB3LkNlcnRpZmljYXRlRXJyb3IocS5tZXNzYWdlKTpxLm1lc3NhZ2U/cTooMCxNLnByZWZpeE1lc3Nh''@;'; put 'put ''Z2UpKHEsIkVycm9yIHdoaWxlIGhhbmRsaW5nIGVycm9yLiAiKX19KX0pfSx0aGlzLmNyZWF0ZUh0dHBDbGllbnQoVSxWKSxSJiYodGhpcy5yZXF1ZXN0c0xpbWl0PVIpfXJldHVybiBJLnByb3RvdHlwZS5zZXRDb25maWc9ZnVuY3Rpb24oVSxWKXt0aGlzLmNyZWF0ZUh0dHBDbGllbnQoVSxW''@;'; put 'put ''KX0sSS5wcm90b3R5cGUuc2F2ZUxvY2FsU3RvcmFnZVRva2VuPWZ1bmN0aW9uKFUsVil7bG9jYWxTdG9yYWdlLnNldEl0ZW0oImFjY2Vzc1Rva2VuIixVKSxsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgicmVmcmVzaFRva2VuIixWKX0sSS5wcm90b3R5cGUuZ2V0Q3NyZlRva2VuPWZ1bmN0aW9uKFUp''@;'; put 'put ''e3JldHVybiB2b2lkIDA9PT1VJiYoVT0iZ2VuZXJhbCIpLCJmaWxlIj09PVU/dGhpcy5maWxlVXBsb2FkQ3NyZlRva2VuOnRoaXMuY3NyZlRva2VufSxJLnByb3RvdHlwZS5jbGVhckNzcmZUb2tlbnM9ZnVuY3Rpb24oKXt0aGlzLmNzcmZUb2tlbj17aGVhZGVyTmFtZToiIix2YWx1ZToiIn0s''@;'; put 'put ''dGhpcy5maWxlVXBsb2FkQ3NyZlRva2VuPXtoZWFkZXJOYW1lOiIiLHZhbHVlOiIifX0sSS5wcm90b3R5cGUuY2xlYXJMb2NhbFN0b3JhZ2VUb2tlbnM9ZnVuY3Rpb24oKXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiYWNjZXNzVG9rZW4iLCIiKSxsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgicmVmcmVz''@;'; put 'put ''aFRva2VuIiwiIil9LEkucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlZmF1bHRzLmJhc2VVUkx8fCIifSxJLnByb3RvdHlwZS5hcHBlbmRSZXF1ZXN0PWZ1bmN0aW9uKFUsVixSKXt2YXIgQj0iIixxPSIiLEo9bnVsbDtSJiYobnVsbCE9''@;'; put 'put ''VSYmVS5sb2c/KEI9KDAsTy5wYXJzZVNvdXJjZUNvZGUpKFUubG9nKSxxPSgwLE8ucGFyc2VHZW5lcmF0ZWRDb2RlKShVLmxvZyksSj1udWxsIT1VJiZVLnJlc3VsdD9VLnJlc3VsdC5XT1JLOlUubG9nKTpudWxsIT1VJiZVLnJlc3VsdCYmKCJzdHJpbmciPT10eXBlb2YgVS5yZXN1bHQmJihC''@;'; put 'put ''PSgwLE8ucGFyc2VTb3VyY2VDb2RlKShVLnJlc3VsdCkscT0oMCxPLnBhcnNlR2VuZXJhdGVkQ29kZSkoVS5yZXN1bHQpKSxKPVUucmVzdWx0LldPUkspKTt2YXIgJD0ic3RyaW5nIj09dHlwZW9mKG51bGw9PVU/dm9pZCAwOlUucmVzdWx0KT9udWxsPT1VP3ZvaWQgMDpVLnJlc3VsdDpKU09O''@;'; put 'put ''LnN0cmluZ2lmeShudWxsPT1VP3ZvaWQgMDpVLnJlc3VsdCxudWxsLDIpO3RoaXMucmVxdWVzdHMucHVzaCh7bG9nRmlsZToobnVsbD09VT92b2lkIDA6VS5sb2cpfHwkfHxVLHNlcnZpY2VMaW5rOlYsdGltZXN0YW1wOm5ldyBEYXRlLHNvdXJjZUNvZGU6QixnZW5lcmF0ZWRDb2RlOnEsU0FT''@;'; put 'put ''V09SSzpKfSksdGhpcy5yZXF1ZXN0cy5sZW5ndGg+dGhpcy5yZXF1ZXN0c0xpbWl0JiZ0aGlzLnJlcXVlc3RzLnNwbGljZSgwLDEpfSxJLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oVSxWLFIsQixxKXtyZXR1cm4gdm9pZCAwPT09UiYmKFI9ImFwcGxpY2F0aW9uL2pzb24iKSx2b2lkIDA9PT1C''@;'; put 'put ''JiYoQj17fSksdm9pZCAwPT09cSYmKHE9ITEpLFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEosJCx0ZT10aGlzO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuIEo9QyhDKHt9LHRoaXMuZ2V0SGVhZGVycyhWLFIpKSxCKSwkPXtoZWFkZXJzOkoscmVzcG9uc2VU''@;'; put 'put ''eXBlOiJ0ZXh0L3BsYWluIj09PVI/InRleHQiOiJqc29uIix3aXRoQ3JlZGVudGlhbHM6ITB9LCJ0ZXh0L3BsYWluIj09PVImJigkLnRyYW5zZm9ybVJlc3BvbnNlPXZvaWQgMCksWzIsdGhpcy5odHRwQ2xpZW50LmdldChVLCQpLnRoZW4oZnVuY3Rpb24oYil7cmV0dXJuKDAsQS50aHJvd0lm''@;'; put 'put ''RXJyb3IpKGIpLHRlLnBhcnNlUmVzcG9uc2UoYil9KS5jYXRjaChmdW5jdGlvbihiKXtyZXR1cm4gUyh0ZSx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHk9dGhpcztyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKHApe3N3aXRjaChwLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5oYW5k''@;'; put 'put ''bGVFcnJvcihiLGZ1bmN0aW9uKCl7cmV0dXJuIHkuZ2V0KFUsVixSLEIpLmNhdGNoKGZ1bmN0aW9uKGcpe3Rocm93KDAsTS5wcmVmaXhNZXNzYWdlKShnLCJFcnJvciB3aGlsZSBleGVjdXRpbmcgaGFuZGxlIGVycm9yIGNhbGxiYWNrLiAiKX0pfSxxKV07Y2FzZSAxOnJldHVyblsyLHAuc2Vu''@;'; put 'put ''dCgpXX19KX0pfSldfSl9KX0sSS5wcm90b3R5cGUucG9zdD1mdW5jdGlvbihVLFYsUixCLHEsSil7cmV0dXJuIHZvaWQgMD09PUImJihCPSJhcHBsaWNhdGlvbi9qc29uIiksdm9pZCAwPT09cSYmKHE9e30pLHZvaWQgMD09PUomJihKPXt9KSxTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlv''@;'; put 'put ''bigpe3ZhciAkLHRlPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gJD1DKEMoe30sdGhpcy5nZXRIZWFkZXJzKFIsQikpLHEpLFsyLHRoaXMuaHR0cENsaWVudC5wb3N0KFUsVixDKHtoZWFkZXJzOiQsd2l0aENyZWRlbnRpYWxzOiEwfSxKKSkudGhlbihmdW5jdGlvbihi''@;'; put 'put ''KXtyZXR1cm4oMCxBLnRocm93SWZFcnJvcikoYiksdGUucGFyc2VSZXNwb25zZShiKX0pLmNhdGNoKGZ1bmN0aW9uKGIpe3JldHVybiBTKHRlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgeT10aGlzO3JldHVybiBtKHRoaXMsZnVuY3Rpb24ocCl7c3dpdGNoKHAubGFiZWwpe2Nhc2Ug''@;'; put 'put ''MDpyZXR1cm5bNCx0aGlzLmhhbmRsZUVycm9yKGIsZnVuY3Rpb24oKXtyZXR1cm4geS5wb3N0KFUsVixSLEIscSl9KV07Y2FzZSAxOnJldHVyblsyLHAuc2VudCgpXX19KX0pfSldfSl9KX0sSS5wcm90b3R5cGUucHV0PWZ1bmN0aW9uKFUsVixSLEIpe3JldHVybiB2b2lkIDA9PT1CJiYoQj17''@;'; put 'put ''fSksUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcSxKPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbigkKXtyZXR1cm4gcT1DKEMoe30sdGhpcy5nZXRIZWFkZXJzKFIsImFwcGxpY2F0aW9uL2pzb24iKSksQiksWzIsdGhpcy5odHRwQ2xpZW50LnB1dChVLFYse2hlYWRl''@;'; put 'put ''cnM6cSx3aXRoQ3JlZGVudGlhbHM6ITB9KS50aGVuKGZ1bmN0aW9uKHRlKXtyZXR1cm4oMCxBLnRocm93SWZFcnJvcikodGUpLEoucGFyc2VSZXNwb25zZSh0ZSl9KS5jYXRjaChmdW5jdGlvbih0ZSl7cmV0dXJuIFMoSix2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGg9dGhpcztyZXR1''@;'; put 'put ''cm4gbSh0aGlzLGZ1bmN0aW9uKGIpe3N3aXRjaChiLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5oYW5kbGVFcnJvcih0ZSxmdW5jdGlvbigpe3JldHVybiBoLnB1dChVLFYsUixCKX0pXTtjYXNlIDE6cmV0dXJuWzIsYi5zZW50KCldfX0pfSl9KV19KX0pfSxJLnByb3RvdHlwZS5kZWxl''@;'; put 'put ''dGU9ZnVuY3Rpb24oVSxWKXtyZXR1cm4gUyh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgUixCPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihxKXtyZXR1cm4gUj10aGlzLmdldEhlYWRlcnMoViwiYXBwbGljYXRpb24vanNvbiIpLFsyLHRoaXMuaHR0cENsaWVudC5kZWxl''@;'; put 'put ''dGUoVSx7aGVhZGVyczpSLHdpdGhDcmVkZW50aWFsczohMH0pLnRoZW4oZnVuY3Rpb24oSil7cmV0dXJuKDAsQS50aHJvd0lmRXJyb3IpKEopLEIucGFyc2VSZXNwb25zZShKKX0pLmNhdGNoKGZ1bmN0aW9uKEope3JldHVybiBTKEIsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciAkPXRo''@;'; put 'put ''aXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbih0ZSl7c3dpdGNoKHRlLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5oYW5kbGVFcnJvcihKLGZ1bmN0aW9uKCl7cmV0dXJuICQuZGVsZXRlKFUsVil9KV07Y2FzZSAxOnJldHVyblsyLHRlLnNlbnQoKV19fSl9KX0pXX0pfSl9LEkucHJvdG90''@;'; put 'put ''eXBlLnBhdGNoPWZ1bmN0aW9uKFUsVixSKXtyZXR1cm4gdm9pZCAwPT09ViYmKFY9e30pLFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIEIscT10aGlzO3JldHVybiBtKHRoaXMsZnVuY3Rpb24oSil7cmV0dXJuIEI9dGhpcy5nZXRIZWFkZXJzKFIsImFwcGxpY2F0aW9uL2pz''@;'; put 'put ''b24iKSxbMix0aGlzLmh0dHBDbGllbnQucGF0Y2goVSxWLHtoZWFkZXJzOkIsd2l0aENyZWRlbnRpYWxzOiEwfSkudGhlbihmdW5jdGlvbigkKXtyZXR1cm4oMCxBLnRocm93SWZFcnJvcikoJCkscS5wYXJzZVJlc3BvbnNlKCQpfSkuY2F0Y2goZnVuY3Rpb24oJCl7cmV0dXJuIFMocSx2b2lk''@;'; put 'put ''IDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHRlPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbihoKXtzd2l0Y2goaC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuaGFuZGxlRXJyb3IoJCxmdW5jdGlvbigpe3JldHVybiB0ZS5wYXRjaChVLFYsUil9KV07Y2FzZSAxOnJldHVyblsyLGgu''@;'; put 'put ''c2VudCgpXX19KX0pfSldfSl9KX0sSS5wcm90b3R5cGUudXBsb2FkRmlsZT1mdW5jdGlvbihVLFYsUil7dmFyIEI7cmV0dXJuIFModGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHEsSiwkO3JldHVybiBtKHRoaXMsZnVuY3Rpb24odGUpe3N3aXRjaCh0ZS5sYWJlbCl7Y2FzZSAw''@;'; put 'put ''OnE9dGhpcy5nZXRIZWFkZXJzKFIsImFwcGxpY2F0aW9uL2pzb24iKSwhKG51bGw9PT0oQj10aGlzLmZpbGVVcGxvYWRDc3JmVG9rZW4pfHx2b2lkIDA9PT1CKSYmQi52YWx1ZSYmKHFbdGhpcy5maWxlVXBsb2FkQ3NyZlRva2VuLmhlYWRlck5hbWVdPXRoaXMuZmlsZVVwbG9hZENzcmZUb2tl''@;'; put 'put ''bi52YWx1ZSksdGUubGFiZWw9MTtjYXNlIDE6cmV0dXJuIHRlLnRyeXMucHVzaChbMSwzLCw0XSksWzQsdGhpcy5odHRwQ2xpZW50LnBvc3QoVSxWLHtoZWFkZXJzOnEsdHJhbnNmb3JtUmVxdWVzdDpmdW5jdGlvbihoKXtyZXR1cm4gaH19KV07Y2FzZSAyOnJldHVyblsyLHtyZXN1bHQ6KCQ9''@;'; put 'put ''dGUuc2VudCgpKS5kYXRhLGV0YWc6JC5oZWFkZXJzLmV0YWd9XTtjYXNlIDM6aWYoSj10ZS5zZW50KCksNDAzPT09KG51bGw9PSgkPUoucmVzcG9uc2UpP3ZvaWQgMDokLnN0YXR1cyl8fDQ0OT09PShudWxsPT0kP3ZvaWQgMDokLnN0YXR1cykpe2lmKHRoaXMucGFyc2VBbmRTZXRGaWxlVXBs''@;'; put 'put ''b2FkQ3NyZlRva2VuKCQpLHRoaXMuZmlsZVVwbG9hZENzcmZUb2tlbilyZXR1cm5bMix0aGlzLnVwbG9hZEZpbGUoVSxWLFIpXTt0aHJvdyBKfXRocm93IEo7Y2FzZSA0OnJldHVyblsyXX19KX0pfSxJLnByb3RvdHlwZS5wYXJzZVJlc3BvbnNlPWZ1bmN0aW9uKFUpe3ZhciBWLFI9bnVsbCE9''@;'; put 'put ''VSYmVS5oZWFkZXJzP1UuaGVhZGVycy5ldGFnOiIiLEI9ITE7dHJ5e1Y9InN0cmluZyI9PXR5cGVvZiBVLmRhdGE/SlNPTi5wYXJzZShVLmRhdGEpOlUuZGF0YX1jYXRjaChKKXt0cnl7Vj1KU09OLnBhcnNlKCgwLFAucGFyc2VXZWJvdXRSZXNwb25zZSkoVS5kYXRhKSl9Y2F0Y2goJCl7Vj1V''@;'; put 'put ''LmRhdGF9Qj0hMH12YXIgcT17cmVzdWx0OlYsZXRhZzpSLHN0YXR1czpVLnN0YXR1c307cmV0dXJuIEImJihxLmxvZz1VLmRhdGEpLHF9LEkucHJvdG90eXBlLmNyZWF0ZUh0dHBDbGllbnQ9ZnVuY3Rpb24oVSxWKXt2YXIgUj1WP25ldyBGLkFnZW50KFYpOnZvaWQgMDt0aGlzLmh0dHBDbGll''@;'; put 'put ''bnQ9KDAsTy5jcmVhdGVBeGlvc0luc3RhbmNlKShVLFIpLHRoaXMuaHR0cENsaWVudC5kZWZhdWx0cy52YWxpZGF0ZVN0YXR1cz1mdW5jdGlvbihCKXtyZXR1cm4gQj49MjAwJiZCPD00MDF9fSxJfSgpO0EuUmVxdWVzdENsaWVudD1ULEEudGhyb3dJZkVycm9yPWZ1bmN0aW9uKEkpe3ZhciBV''@;'; put 'put ''LFYsUixCLHEsSiwkO3N3aXRjaChJLnN0YXR1cyl7Y2FzZSA0MDA6aWYoIm9iamVjdCI9PXR5cGVvZiBJLmRhdGEmJiJpbnZhbGlkX2dyYW50Ij09PUkuZGF0YS5lcnJvcil0aHJvdyBuZXcgdy5Mb2dpblJlcXVpcmVkRXJyb3IoSS5kYXRhKTtpZigic3RyaW5nIj09dHlwZW9mIEkuZGF0YSYm''@;'; put 'put ''ImludmFsaWQgY3NyZiB0b2tlbiEiPT09SS5kYXRhLnRvTG93ZXJDYXNlKCkpdGhyb3cgbmV3IEwuSW52YWxpZFNBU2pzQ3NyZkVycm9yO2JyZWFrO2Nhc2UgNDAxOnRocm93Im9iamVjdCI9PXR5cGVvZiBJLmRhdGE/bmV3IHcuTG9naW5SZXF1aXJlZEVycm9yKEkuZGF0YSk6bmV3IHcuTG9n''@;'; put 'put ''aW5SZXF1aXJlZEVycm9yfWlmKG51bGwhPT0oVj1udWxsPT09KFU9SS5kYXRhKXx8dm9pZCAwPT09VT92b2lkIDA6VS5lbnRpdHlJRCkmJnZvaWQgMCE9PVYmJlYuaW5jbHVkZXMoImxvZ2luIikpdGhyb3cgbmV3IHcuTG9naW5SZXF1aXJlZEVycm9yO2lmKCJzdHJpbmciPT10eXBlb2YgSS5k''@;'; put 'put ''YXRhJiYoMCxELmlzQXV0aG9yaXplRm9ybVJlcXVpcmVkKShJLmRhdGEpKXRocm93IG5ldyB3LkF1dGhvcml6ZUVycm9yKCJBdXRob3JpemF0aW9uIHJlcXVpcmVkIixJLnJlcXVlc3QucmVzcG9uc2VVUkwpO2lmKCJzdHJpbmciPT10eXBlb2YgSS5kYXRhJiYoMCxELmlzTG9nSW5SZXF1aXJl''@;'; put 'put ''ZCkoSS5kYXRhKSYmKG51bGw9PT0oQj1udWxsPT09KFI9SS5jb25maWcpfHx2b2lkIDA9PT1SP3ZvaWQgMDpSLnVybCl8fHZvaWQgMD09PUJ8fCFCLmluY2x1ZGVzKCIvU0FTTG9nb24vbG9naW4iKSkpdGhyb3cgbmV3IHcuTG9naW5SZXF1aXJlZEVycm9yO2lmKG51bGwhPT0ocT1JLmRhdGEp''@;'; put 'put ''JiZ2b2lkIDAhPT1xJiZxLmF1dGhfcmVxdWVzdCl0aHJvdyBuZXcgdy5BdXRob3JpemVFcnJvcihJLmRhdGEubWVzc2FnZSxJLnJlcXVlc3QucmVzcG9uc2VVUkwpO2lmKG51bGwhPT0oJD1udWxsPT09KEo9SS5jb25maWcpfHx2b2lkIDA9PT1KP3ZvaWQgMDpKLnVybCkmJnZvaWQgMCE9PSQm''@;'; put 'put ''JiQuaW5jbHVkZXMoInNhc0F1dGhFcnJvciIpKXRocm93IG5ldyBrLlNBUzlBdXRoRXJyb3I7dmFyIGg9WShJLmRhdGEpO2lmKGgpdGhyb3cgaH07dmFyIFk9ZnVuY3Rpb24oSSl7aWYoIUkpcmV0dXJuIG51bGw7dHJ5e3ZhciBVPUpTT04ucGFyc2UobnVsbD09ST92b2lkIDA6SS5yZXBsYWNl''@;'; put 'put ''KC9bXG5ccl0vZywiICIpKTtpZihVLmVycm9yQ29kZSYmVS5tZXNzYWdlKXJldHVybiBuZXcgdy5Kb2JFeGVjdXRpb25FcnJvcihVLmVycm9yQ29kZSxVLm1lc3NhZ2UsbnVsbD09ST92b2lkIDA6SS5yZXBsYWNlKC9bXG5ccl0vZywiICIpKX1jYXRjaCh0ZSl7fXRyeXtpZihudWxsIT1JJiZJ''@;'; put 'put ''LmluY2x1ZGVzKCd7ImVycm9yQ29kZScpJiYoSj1JLnNwbGl0KCd7ImVycm9yQ29kZScpKS5sZW5ndGg+MSl7dmFyIFY9J3siZXJyb3JDb2RlJytKWzFdLnNwbGl0KCcifScpWzBdKycifScsUj1KU09OLnBhcnNlKFYucmVwbGFjZSgvW1xuXHJdL2csIiAiKSk7cmV0dXJuIG5ldyB3LkpvYkV4''@;'; put 'put ''ZWN1dGlvbkVycm9yKFIuZXJyb3JDb2RlLFIubWVzc2FnZSxudWxsPT1JP3ZvaWQgMDpJLnJlcGxhY2UoL1tcblxyXS9nLCJcbiIpKX19Y2F0Y2godGUpe310cnl7aWYobnVsbCE9SSYmSS5tYXRjaCgvc3RvcmVkIHByb2Nlc3Mgbm90IGZvdW5kOiAvaSkmJihKPUkuc3BsaXQoL3N0b3JlZCBw''@;'; put 'put ''cm9jZXNzIG5vdCBmb3VuZDogL2kpKS5sZW5ndGg+MSl7dmFyIEI9SlsxXS5zcGxpdCgiPGk+IilbMV0uc3BsaXQoIjwvaT4iKVswXSxxPSJTdG9yZWQgcHJvY2VzcyBub3QgZm91bmQ6ICIuY29uY2F0KEIpO3JldHVybiBuZXcgdy5Kb2JFeGVjdXRpb25FcnJvcig1MDAscSwiIil9fWNhdGNo''@;'; put 'put ''KHRlKXt9dHJ5e3ZhciBKO2lmKChudWxsPT1JfHwhSS5tYXRjaCgvPj53ZWJvdXRCRUdJTjw8LykpJiZudWxsIT1JJiZJLm1hdGNoKC9TdG9yZWQgUHJvY2VzcyBFcnJvci9pKSYmbnVsbCE9SSYmSS5tYXRjaCgvVGhpcyByZXF1ZXN0IGNvbXBsZXRlZCB3aXRoIGVycm9ycy4vaSkmJihKPUku''@;'; put 'put ''c3BsaXQoIjxoMj5TQVMgTG9nPC9oMj4iKSkubGVuZ3RoPjEpe3ZhciAkPUpbMV0uc3BsaXQoIjxwcmU+IilbMV0uc3BsaXQoIjwvcHJlPiIpWzBdO3JldHVybiBuZXcgdy5Kb2JFeGVjdXRpb25FcnJvcig1MDAscT0iVGhpcyByZXF1ZXN0IGNvbXBsZXRlZCB3aXRoIGVycm9ycy4iLCQpfX1j''@;'; put 'put ''YXRjaCh0ZSl7fXJldHVybiBudWxsfX0sNzk1OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE4sej10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KE49ZnVuY3Rpb24oayxPKXtyZXR1cm4oTj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJh''@;'; put 'put ''eSYmZnVuY3Rpb24oTCxUKXtMLl9fcHJvdG9fXz1UfXx8ZnVuY3Rpb24oTCxUKXtmb3IodmFyIFkgaW4gVClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVCxZKSYmKExbWV09VFtZXSl9KShrLE8pfSxmdW5jdGlvbihrLE8pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBPJiZu''@;'; put 'put ''dWxsIT09Tyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKE8pKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIEwoKXt0aGlzLmNvbnN0cnVjdG9yPWt9TihrLE8pLGsucHJvdG90eXBlPW51bGw9PT1PP09iamVjdC5jcmVh''@;'; put 'put ''dGUoTyk6KEwucHJvdG90eXBlPU8ucHJvdG90eXBlLG5ldyBMKX0pLEM9dGhpcyYmdGhpcy5fX2Fzc2lnbnx8ZnVuY3Rpb24oKXtyZXR1cm4gQz1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihrKXtmb3IodmFyIE8sTD0xLFQ9YXJndW1lbnRzLmxlbmd0aDtMPFQ7TCsrKWZvcih2YXIgWSBpbiBP''@;'; put 'put ''PWFyZ3VtZW50c1tMXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoTyxZKSYmKGtbWV09T1tZXSk7cmV0dXJuIGt9LEMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxTPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihrLE8sTCxUKXtyZXR1cm4gbmV3KEx8fChMPVBy''@;'; put 'put ''b21pc2UpKShmdW5jdGlvbihZLEkpe2Z1bmN0aW9uIFUoQil7dHJ5e1IoVC5uZXh0KEIpKX1jYXRjaChxKXtJKHEpfX1mdW5jdGlvbiBWKEIpe3RyeXtSKFQudGhyb3coQikpfWNhdGNoKHEpe0kocSl9fWZ1bmN0aW9uIFIoQil7dmFyIHE7Qi5kb25lP1koQi52YWx1ZSk6KHE9Qi52YWx1ZSxx''@;'; put 'put ''IGluc3RhbmNlb2YgTD9xOm5ldyBMKGZ1bmN0aW9uKEope0oocSl9KSkudGhlbihVLFYpfVIoKFQ9VC5hcHBseShrLE98fFtdKSkubmV4dCgpKX0pfSxtPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGssTyl7dmFyIEwsVCxZLEksVT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7''@;'; put 'put ''aWYoMSZZWzBdKXRocm93IFlbMV07cmV0dXJuIFlbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gST17bmV4dDpWKDApLHRocm93OlYoMSkscmV0dXJuOlYoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihJW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30p''@;'; put 'put ''LEk7ZnVuY3Rpb24gVihSKXtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIGZ1bmN0aW9uKHEpe2lmKEwpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7VTspdHJ5e2lmKEw9MSxUJiYoWT0yJnFbMF0/VC5yZXR1cm46cVswXT9ULnRo''@;'; put 'put ''cm93fHwoKFk9VC5yZXR1cm4pJiZZLmNhbGwoVCksMCk6VC5uZXh0KSYmIShZPVkuY2FsbChULHFbMV0pKS5kb25lKXJldHVybiBZO3N3aXRjaChUPTAsWSYmKHE9WzImcVswXSxZLnZhbHVlXSkscVswXSl7Y2FzZSAwOmNhc2UgMTpZPXE7YnJlYWs7Y2FzZSA0OnJldHVybiBVLmxhYmVsKyss''@;'; put 'put ''e3ZhbHVlOnFbMV0sZG9uZTohMX07Y2FzZSA1OlUubGFiZWwrKyxUPXFbMV0scT1bMF07Y29udGludWU7Y2FzZSA3OnE9VS5vcHMucG9wKCksVS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoWT0oWT1VLnRyeXMpLmxlbmd0aD4wJiZZW1kubGVuZ3RoLTFdKXx8NiE9PXFbMF0m''@;'; put 'put ''JjIhPT1xWzBdKSl7VT0wO2NvbnRpbnVlfWlmKDM9PT1xWzBdJiYoIVl8fHFbMV0+WVswXSYmcVsxXTxZWzNdKSl7VS5sYWJlbD1xWzFdO2JyZWFrfWlmKDY9PT1xWzBdJiZVLmxhYmVsPFlbMV0pe1UubGFiZWw9WVsxXSxZPXE7YnJlYWt9aWYoWSYmVS5sYWJlbDxZWzJdKXtVLmxhYmVsPVlb''@;'; put 'put ''Ml0sVS5vcHMucHVzaChxKTticmVha31ZWzJdJiZVLm9wcy5wb3AoKSxVLnRyeXMucG9wKCk7Y29udGludWV9cT1PLmNhbGwoayxVKX1jYXRjaChKKXtxPVs2LEpdLFQ9MH1maW5hbGx5e0w9WT0wfWlmKDUmcVswXSl0aHJvdyBxWzFdO3JldHVybnt2YWx1ZTpxWzBdP3FbMV06dm9pZCAwLGRv''@;'; put 'put ''bmU6ITB9fShbUixCXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuU2FzOVJlcXVlc3RDbGllbnQ9dm9pZCAwO3ZhciBGPWooODIyNCksRD1qKDc4NTcpLHc9aig5Nzc4KSxQPWooNDU4OCksTT1mdW5jdGlvbihrKXtmdW5jdGlvbiBPKEws''@;'; put 'put ''VCl7dmFyIFk9ay5jYWxsKHRoaXMsTCxUKXx8dGhpcztyZXR1cm4gWS5odHRwQ2xpZW50LmRlZmF1bHRzLm1heFJlZGlyZWN0cz0wLFkuaHR0cENsaWVudC5kZWZhdWx0cy52YWxpZGF0ZVN0YXR1cz1mdW5jdGlvbihJKXtyZXR1cm4gST49MjAwJiZJPDMwM30sRi5kZWZhdWx0JiYoKDAsRi5k''@;'; put 'put ''ZWZhdWx0KShZLmh0dHBDbGllbnQpLFkuaHR0cENsaWVudC5kZWZhdWx0cy5qYXI9bmV3IEQuQ29va2llSmFyKSxZfXJldHVybiB6KE8sayksTy5wcm90b3R5cGUubG9naW49ZnVuY3Rpb24oTCxULFkpe3JldHVybiBTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBJO3JldHVy''@;'; put 'put ''biBtKHRoaXMsZnVuY3Rpb24oVSl7c3dpdGNoKFUubGFiZWwpe2Nhc2UgMDpyZXR1cm4gST0iL1VzZXIgRm9sZGVycy8iLmNvbmNhdChMLCIvTXkgRm9sZGVyL3Nhc2pzL3J1bm5lciIpLHRoaXMuaHR0cENsaWVudC5kZWZhdWx0cy5qYXI/KHRoaXMuaHR0cENsaWVudC5kZWZhdWx0cy5qYXIu''@;'; put 'put ''cmVtb3ZlQWxsQ29va2llcygpLFs0LHRoaXMuZ2V0KCIiLmNvbmNhdChZLCI/X3Byb2dyYW09IikuY29uY2F0KEksIiZfdXNlcm5hbWU9IikuY29uY2F0KEwsIiZfcGFzc3dvcmQ9IikuY29uY2F0KFQpLHZvaWQgMCwidGV4dC9wbGFpbiIpXSk6WzMsMl07Y2FzZSAxOlUuc2VudCgpLFUubGFi''@;'; put 'put ''ZWw9MjtjYXNlIDI6cmV0dXJuWzJdfX0pfSl9LE8ucHJvdG90eXBlLmdldD1mdW5jdGlvbihMLFQsWSxJLFUpe3JldHVybiB2b2lkIDA9PT1ZJiYoWT0iYXBwbGljYXRpb24vanNvbiIpLHZvaWQgMD09PUkmJihJPXt9KSx2b2lkIDA9PT1VJiYoVT0hMSksUyh0aGlzLHZvaWQgMCx2b2lkIDAs''@;'; put 'put ''ZnVuY3Rpb24oKXt2YXIgVixSLEI9dGhpcztyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKHEpe3JldHVybiBWPUMoQyh7fSx0aGlzLmdldEhlYWRlcnMoVCxZKSksSSksUj17aGVhZGVyczpWLHJlc3BvbnNlVHlwZToidGV4dC9wbGFpbiI9PT1ZPyJ0ZXh0IjoianNvbiIsd2l0aENyZWRlbnRpYWxz''@;'; put 'put ''OiEwfSwidGV4dC9wbGFpbiI9PT1ZJiYoUi50cmFuc2Zvcm1SZXNwb25zZT12b2lkIDApLFsyLHRoaXMuaHR0cENsaWVudC5nZXQoTCxSKS50aGVuKGZ1bmN0aW9uKEope3JldHVybiAzMDI9PT1KLnN0YXR1cz9CLmdldChKLmhlYWRlcnMubG9jYXRpb24sVCxZKTooKDAsUC50aHJvd0lmRXJy''@;'; put 'put ''b3IpKEopLEIucGFyc2VSZXNwb25zZShKKSl9KS5jYXRjaChmdW5jdGlvbihKKXtyZXR1cm4gUyhCLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgJD10aGlzO3JldHVybiBtKHRoaXMsZnVuY3Rpb24odGUpe3N3aXRjaCh0ZS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuaGFuZGxl''@;'; put 'put ''RXJyb3IoSixmdW5jdGlvbigpe3JldHVybiAkLmdldChMLFQsWSxJKS5jYXRjaChmdW5jdGlvbihoKXt0aHJvdygwLHcucHJlZml4TWVzc2FnZSkoaCwiRXJyb3Igd2hpbGUgZXhlY3V0aW5nIGhhbmRsZSBlcnJvciBjYWxsYmFjay4gIil9KX0sVSkuY2F0Y2goZnVuY3Rpb24oaCl7dGhyb3co''@;'; put 'put ''MCx3LnByZWZpeE1lc3NhZ2UpKGgsIkVycm9yIHdoaWxlIGhhbmRsaW5nIGVycm9yLiAiKX0pXTtjYXNlIDE6cmV0dXJuWzIsdGUuc2VudCgpXX19KX0pfSldfSl9KX0sTy5wcm90b3R5cGUucG9zdD1mdW5jdGlvbihMLFQsWSxJLFUpe3JldHVybiB2b2lkIDA9PT1JJiYoST0iYXBwbGljYXRp''@;'; put 'put ''b24vanNvbiIpLHZvaWQgMD09PVUmJihVPXt9KSxTKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBWLFI9dGhpcztyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEIpe3JldHVybiBWPUMoQyh7fSx0aGlzLmdldEhlYWRlcnMoWSxJKSksVSksWzIsdGhpcy5odHRwQ2xpZW50LnBvc3Qo''@;'; put 'put ''TCxULHtoZWFkZXJzOlYsd2l0aENyZWRlbnRpYWxzOiEwfSkudGhlbihmdW5jdGlvbihxKXtyZXR1cm4gUyhSLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLGZ1bmN0aW9uKEope3N3aXRjaChKLmxhYmVsKXtjYXNlIDA6cmV0dXJuIDMwMiE9PXEuc3RhdHVzP1szLDJd''@;'; put 'put ''Ols0LHRoaXMuZ2V0KHEuaGVhZGVycy5sb2NhdGlvbix2b2lkIDAsSSxVKV07Y2FzZSAxOnJldHVyblsyLEouc2VudCgpXTtjYXNlIDI6cmV0dXJuKDAsUC50aHJvd0lmRXJyb3IpKHEpLFsyLHRoaXMucGFyc2VSZXNwb25zZShxKV19fSl9KX0pLmNhdGNoKGZ1bmN0aW9uKHEpe3JldHVybiBT''@;'; put 'put ''KFIsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBKPXRoaXM7cmV0dXJuIG0odGhpcyxmdW5jdGlvbigkKXtzd2l0Y2goJC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuaGFuZGxlRXJyb3IocSxmdW5jdGlvbigpe3JldHVybiBKLnBvc3QoTCxULFksSSxVKX0pXTtjYXNlIDE6cmV0''@;'; put 'put ''dXJuWzIsJC5zZW50KCldfX0pfSl9KV19KX0pfSxPfShQLlJlcXVlc3RDbGllbnQpO0EuU2FzOVJlcXVlc3RDbGllbnQ9TX0sMzYwMjpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOLHo9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChOPWZ1bmN0aW9uKEYsRCl7cmV0dXJuKE49T2Jq''@;'; put 'put ''ZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHcsUCl7dy5fX3Byb3RvX189UH18fGZ1bmN0aW9uKHcsUCl7Zm9yKHZhciBNIGluIFApT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFAsTSkmJih3W01dPVBbTV0p''@;'; put 'put ''fSkoRixEKX0sZnVuY3Rpb24oRixEKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgRCYmbnVsbCE9PUQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhEKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiB3KCl7dGhpcy5jb25z''@;'; put 'put ''dHJ1Y3Rvcj1GfU4oRixEKSxGLnByb3RvdHlwZT1udWxsPT09RD9PYmplY3QuY3JlYXRlKEQpOih3LnByb3RvdHlwZT1ELnByb3RvdHlwZSxuZXcgdyl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5TYXNqc1JlcXVlc3RDbGllbnQ9dm9pZCAw''@;'; put 'put ''O3ZhciBDPWooNDU4OCksUz1qKDU5MjgpLG09ZnVuY3Rpb24oRil7ZnVuY3Rpb24gRCgpe3ZhciB3PW51bGwhPT1GJiZGLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gdy5nZXRIZWFkZXJzPWZ1bmN0aW9uKFAsTSl7dmFyIGssTz17fTtyZXR1cm4iYXBwbGljYXRpb24veC13''@;'; put 'put ''d3ctZm9ybS11cmxlbmNvZGVkIiE9PU0mJihPWyJDb250ZW50LVR5cGUiXT1NKSxPLkFjY2VwdD0iYXBwbGljYXRpb24vanNvbiI9PT1NP006IiovKiIsUHx8InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fChQPW51bGwhPT0oaz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiYWNjZXNzVG9rZW4i''@;'; put 'put ''KSkmJnZvaWQgMCE9PWs/azp2b2lkIDApLFAmJihPLkF1dGhvcml6YXRpb249IkJlYXJlciAiLmNvbmNhdChQKSksT30sd31yZXR1cm4geihELEYpLEQucHJvdG90eXBlLnBhcnNlUmVzcG9uc2U9ZnVuY3Rpb24odyl7dmFyIFAsTT1udWxsIT13JiZ3LmhlYWRlcnM/dy5oZWFkZXJzLmV0YWc6''@;'; put 'put ''IiIsaz17fTt0cnl7az0ic3RyaW5nIj09dHlwZW9mIHcuZGF0YT9KU09OLnBhcnNlKHcuZGF0YSk6dy5kYXRhfWNhdGNoKEwpe2lmKHcuZGF0YS5pbmNsdWRlcyhTLlNBU0pTX0xPR1NfU0VQQVJBVE9SKSl7dmFyIE89dy5kYXRhLnNwbGl0KFMuU0FTSlNfTE9HU19TRVBBUkFUT1IpO1A9T1sx''@;'; put 'put ''XSxPWzBdLnRyaW0oKSYmKGs9KDAsUy5nZXRWYWxpZEpzb24pKE9bMF0pKX1lbHNlIGs9dy5kYXRhfXJldHVybntyZXN1bHQ6ayxsb2c6UCxldGFnOk0sc3RhdHVzOncuc3RhdHVzfX0sRH0oQy5SZXF1ZXN0Q2xpZW50KTtBLlNhc2pzUmVxdWVzdENsaWVudD1tfSw0NzA6KFosQSk9PnsidXNl''@;'; put 'put ''IHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw0NjY2OihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sNjE3NzooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmpl''@;'; put 'put ''Y3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDU3NjY6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw0OTc1OihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9w''@;'; put 'put ''ZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sMjE1OihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sNDc4MjooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01v''@;'; put 'put ''ZHVsZSIse3ZhbHVlOiEwfSl9LDQxNjg6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw4NTE2OihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6''@;'; put 'put ''ITB9KX0sMzE1MzooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDU4NDE6KFosQSk9PnsidXNlIHN0cmljdCI7dmFyIGosejtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSks''@;'; put 'put ''QS5Mb2dpbk1lY2hhbmlzbT1BLlNBU2pzQ29uZmlnPXZvaWQgMCxBLlNBU2pzQ29uZmlnPWZ1bmN0aW9uKCl7dGhpcy5zZXJ2ZXJVcmw9IiIsdGhpcy5wYXRoU0FTSlM9IiIsdGhpcy5wYXRoU0FTOT0iIix0aGlzLnBhdGhTQVNWaXlhPSIiLHRoaXMuYXBwTG9jPSIiLHRoaXMuc2VydmVyVHlw''@;'; put 'put ''ZT1udWxsLHRoaXMuZGVidWc9ITAsdGhpcy5jb250ZXh0TmFtZT0iIix0aGlzLnVzZUNvbXB1dGVBcGk9bnVsbCx0aGlzLmxvZ2luTWVjaGFuaXNtPWouRGVmYXVsdCx0aGlzLnJlcXVlc3RIaXN0b3J5TGltaXQ9MTB9LCh6PWo9QS5Mb2dpbk1lY2hhbmlzbXx8KEEuTG9naW5NZWNoYW5pc209''@;'; put 'put ''e30pKS5EZWZhdWx0PSJEZWZhdWx0Iix6LlJlZGlyZWN0ZWQ9IlJlZGlyZWN0ZWQifSwyNDkzOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sNjAzODooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5l''@;'; put 'put ''UHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDk0OTM6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSw4NjUwOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJf''@;'; put 'put ''X2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sMTI0OmZ1bmN0aW9uKFosQSl7InVzZSBzdHJpY3QiO3ZhciBqLE49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChqPWZ1bmN0aW9uKEMsUyl7cmV0dXJuKGo9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkm''@;'; put 'put ''JmZ1bmN0aW9uKG0sRil7bS5fX3Byb3RvX189Rn18fGZ1bmN0aW9uKG0sRil7Zm9yKHZhciBEIGluIEYpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEYsRCkmJihtW0RdPUZbRF0pfSkoQyxTKX0sZnVuY3Rpb24oQyxTKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgUyYmbnVs''@;'; put 'put ''bCE9PVMpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhTKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1DfWooQyxTKSxDLnByb3RvdHlwZT1udWxsPT09Uz9PYmplY3QuY3JlYXRl''@;'; put 'put ''KFMpOihtLnByb3RvdHlwZT1TLnByb3RvdHlwZSxuZXcgbSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5BdXRob3JpemVFcnJvcj12b2lkIDA7dmFyIHo9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gUyhtLEYpe3ZhciBEPUMuY2FsbCh0aGlzLG0p''@;'; put 'put ''fHx0aGlzO3JldHVybiBELm1lc3NhZ2U9bSxELmNvbmZpcm1Vcmw9RixELm5hbWU9IkF1dGhvcml6ZUVycm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YoRCxTLnByb3RvdHlwZSksRH1yZXR1cm4gTihTLEMpLFN9KEVycm9yKTtBLkF1dGhvcml6ZUVycm9yPXp9LDk0NjU6ZnVuY3Rpb24oWixB''@;'; put 'put ''KXsidXNlIHN0cmljdCI7dmFyIGosTj10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KGo9ZnVuY3Rpb24oQyxTKXtyZXR1cm4oaj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24obSxGKXttLl9fcHJvdG9fXz1GfXx8ZnVuY3Rpb24o''@;'; put 'put ''bSxGKXtmb3IodmFyIEQgaW4gRilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRixEKSYmKG1bRF09RltEXSl9KShDLFMpfSxmdW5jdGlvbihDLFMpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBTJiZudWxsIT09Uyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRz''@;'; put 'put ''IHZhbHVlICIrU3RyaW5nKFMpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPUN9aihDLFMpLEMucHJvdG90eXBlPW51bGw9PT1TP09iamVjdC5jcmVhdGUoUyk6KG0ucHJvdG90eXBlPVMucHJvdG90eXBlLG5ldyBtKX0pO09i''@;'; put 'put ''amVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLkNlcnRpZmljYXRlRXJyb3I9dm9pZCAwO3ZhciB6PWZ1bmN0aW9uKEMpe2Z1bmN0aW9uIFMobSl7dmFyIEY9Qy5jYWxsKHRoaXMsIiIuY29uY2F0KG0sIlxuUGxlYXNlIHZpc2l0IHRoZSBsaW5rIGJlbG93''@;'; put 'put ''IGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIG9uIHRoaXMgaXNzdWU6XG4tICIpLmNvbmNhdCgiaHR0cHM6Ly9naXRodWIuY29tL3Nhc2pzL2NsaS9pc3N1ZXMvMTE4MSNpc3N1ZWNvbW1lbnQtMTA5MDYzODU4NCIsIlxuIikpfHx0aGlzO3JldHVybiBGLm5hbWU9IkNlcnRpZmljYXRlRXJyb3Ii''@;'; put 'put ''LE9iamVjdC5zZXRQcm90b3R5cGVPZihGLFMucHJvdG90eXBlKSxGfXJldHVybiBOKFMsQyksU30oRXJyb3IpO0EuQ2VydGlmaWNhdGVFcnJvcj16fSw1MjY3OmZ1bmN0aW9uKFosQSl7InVzZSBzdHJpY3QiO3ZhciBqLE49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChqPWZ1bmN0aW9uKEMsUyl7''@;'; put 'put ''cmV0dXJuKGo9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKG0sRil7bS5fX3Byb3RvX189Rn18fGZ1bmN0aW9uKG0sRil7Zm9yKHZhciBEIGluIEYpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEYsRCkm''@;'; put 'put ''JihtW0RdPUZbRF0pfSkoQyxTKX0sZnVuY3Rpb24oQyxTKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgUyYmbnVsbCE9PVMpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhTKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBt''@;'; put 'put ''KCl7dGhpcy5jb25zdHJ1Y3Rvcj1DfWooQyxTKSxDLnByb3RvdHlwZT1udWxsPT09Uz9PYmplY3QuY3JlYXRlKFMpOihtLnByb3RvdHlwZT1TLnByb3RvdHlwZSxuZXcgbSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5Db21wdXRlSm9iRXhl''@;'; put 'put ''Y3V0aW9uRXJyb3I9dm9pZCAwO3ZhciB6PWZ1bmN0aW9uKEMpe2Z1bmN0aW9uIFMobSxGKXt2YXIgRD1DLmNhbGwodGhpcywiRXJyb3I6IEpvYiBleGVjdXRpb24gZmFpbGVkIil8fHRoaXM7cmV0dXJuIEQuam9iPW0sRC5sb2c9RixELm5hbWU9IkNvbXB1dGVKb2JFeGVjdXRpb25FcnJvciIs''@;'; put 'put ''T2JqZWN0LnNldFByb3RvdHlwZU9mKEQsUy5wcm90b3R5cGUpLER9cmV0dXJuIE4oUyxDKSxTfShFcnJvcik7QS5Db21wdXRlSm9iRXhlY3V0aW9uRXJyb3I9en0sOTIzMjooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEw''@;'; put 'put ''fSksQS5FcnJvclJlc3BvbnNlPXZvaWQgMCxBLkVycm9yUmVzcG9uc2U9ZnVuY3Rpb24oTix6LEMpe3ZhciBTPXo7aWYoIm9iamVjdCIhPXR5cGVvZiB6KXRyeXtTPUpTT04ucGFyc2Uoeil9Y2F0Y2gobSl7Qz16LFM9IiJ9dGhpcy5lcnJvcj17bWVzc2FnZTpOLGRldGFpbHM6UyxyYXc6Q319''@;'; put 'put ''fSw1MTA5OmZ1bmN0aW9uKFosQSl7InVzZSBzdHJpY3QiO3ZhciBqLE49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChqPWZ1bmN0aW9uKEMsUyl7cmV0dXJuKGo9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKG0sRil7bS5fX3By''@;'; put 'put ''b3RvX189Rn18fGZ1bmN0aW9uKG0sRil7Zm9yKHZhciBEIGluIEYpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEYsRCkmJihtW0RdPUZbRF0pfSkoQyxTKX0sZnVuY3Rpb24oQyxTKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgUyYmbnVsbCE9PVMpdGhyb3cgbmV3IFR5cGVF''@;'; put 'put ''cnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhTKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1DfWooQyxTKSxDLnByb3RvdHlwZT1udWxsPT09Uz9PYmplY3QuY3JlYXRlKFMpOihtLnByb3RvdHlwZT1TLnBy''@;'; put 'put ''b3RvdHlwZSxuZXcgbSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5JbnRlcm5hbFNlcnZlckVycm9yPXZvaWQgMDt2YXIgej1mdW5jdGlvbihDKXtmdW5jdGlvbiBTKCl7dmFyIG09Qy5jYWxsKHRoaXMsIkVycm9yOiBJbnRlcm5hbCBzZXJ2''@;'; put 'put ''ZXIgZXJyb3IuIil8fHRoaXM7cmV0dXJuIG0ubmFtZT0iSW50ZXJuYWxTZXJ2ZXJFcnJvciIsT2JqZWN0LnNldFByb3RvdHlwZU9mKG0sUy5wcm90b3R5cGUpLG19cmV0dXJuIE4oUyxDKSxTfShFcnJvcik7QS5JbnRlcm5hbFNlcnZlckVycm9yPXp9LDU1MTg6ZnVuY3Rpb24oWixBKXsidXNl''@;'; put 'put ''IHN0cmljdCI7dmFyIGosTj10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KGo9ZnVuY3Rpb24oQyxTKXtyZXR1cm4oaj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24obSxGKXttLl9fcHJvdG9fXz1GfXx8ZnVuY3Rpb24obSxGKXtm''@;'; put 'put ''b3IodmFyIEQgaW4gRilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRixEKSYmKG1bRF09RltEXSl9KShDLFMpfSxmdW5jdGlvbihDLFMpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBTJiZudWxsIT09Uyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVl''@;'; put 'put ''ICIrU3RyaW5nKFMpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPUN9aihDLFMpLEMucHJvdG90eXBlPW51bGw9PT1TP09iamVjdC5jcmVhdGUoUyk6KG0ucHJvdG90eXBlPVMucHJvdG90eXBlLG5ldyBtKX0pO09iamVjdC5k''@;'; put 'put ''ZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLkludmFsaWRKc29uRXJyb3I9dm9pZCAwO3ZhciB6PWZ1bmN0aW9uKEMpe2Z1bmN0aW9uIFMoKXt2YXIgbT1DLmNhbGwodGhpcywiRXJyb3I6IGludmFsaWQgSnNvbiBzdHJpbmciKXx8dGhpcztyZXR1cm4gbS5uYW1l''@;'; put 'put ''PSJJbnZhbGlkSnNvbkVycm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YobSxTLnByb3RvdHlwZSksbX1yZXR1cm4gTihTLEMpLFN9KEVycm9yKTtBLkludmFsaWRKc29uRXJyb3I9en0sMTAwNTpmdW5jdGlvbihaLEEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaixOPXRoaXMmJnRoaXMuX19leHRlbmRz''@;'; put 'put ''fHwoaj1mdW5jdGlvbihDLFMpe3JldHVybihqPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihtLEYpe20uX19wcm90b19fPUZ9fHxmdW5jdGlvbihtLEYpe2Zvcih2YXIgRCBpbiBGKU9iamVjdC5wcm90b3R5cGUuaGFzT3du''@;'; put 'put ''UHJvcGVydHkuY2FsbChGLEQpJiYobVtEXT1GW0RdKX0pKEMsUyl9LGZ1bmN0aW9uKEMsUyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFMmJm51bGwhPT1TKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoUykrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBv''@;'; put 'put ''ciBudWxsIik7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9Q31qKEMsUyksQy5wcm90b3R5cGU9bnVsbD09PVM/T2JqZWN0LmNyZWF0ZShTKToobS5wcm90b3R5cGU9Uy5wcm90b3R5cGUsbmV3IG0pfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZToh''@;'; put 'put ''MH0pLEEuSW52YWxpZFNBU2pzQ3NyZkVycm9yPXZvaWQgMDt2YXIgej1mdW5jdGlvbihDKXtmdW5jdGlvbiBTKCl7dmFyIG09dGhpcztyZXR1cm4obT1DLmNhbGwodGhpcywiQXV0aCBlcnJvcjogIi5jb25jYXQoIkludmFsaWQgQ1NSRiB0b2tlbiEiKSl8fHRoaXMpLm5hbWU9IkludmFsaWRT''@;'; put 'put ''QVNqc0NzcmZFcnJvciIsT2JqZWN0LnNldFByb3RvdHlwZU9mKG0sUy5wcm90b3R5cGUpLG19cmV0dXJuIE4oUyxDKSxTfShFcnJvcik7QS5JbnZhbGlkU0FTanNDc3JmRXJyb3I9en0sODUzMTpmdW5jdGlvbihaLEEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaixOPXRoaXMmJnRoaXMuX19leHRlbmRz''@;'; put 'put ''fHwoaj1mdW5jdGlvbihDLFMpe3JldHVybihqPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihtLEYpe20uX19wcm90b19fPUZ9fHxmdW5jdGlvbihtLEYpe2Zvcih2YXIgRCBpbiBGKU9iamVjdC5wcm90b3R5cGUuaGFzT3du''@;'; put 'put ''UHJvcGVydHkuY2FsbChGLEQpJiYobVtEXT1GW0RdKX0pKEMsUyl9LGZ1bmN0aW9uKEMsUyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFMmJm51bGwhPT1TKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoUykrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBv''@;'; put 'put ''ciBudWxsIik7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9Q31qKEMsUyksQy5wcm90b3R5cGU9bnVsbD09PVM/T2JqZWN0LmNyZWF0ZShTKToobS5wcm90b3R5cGU9Uy5wcm90b3R5cGUsbmV3IG0pfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZToh''@;'; put 'put ''MH0pLEEuSm9iRXhlY3V0aW9uRXJyb3I9dm9pZCAwO3ZhciB6PWZ1bmN0aW9uKEMpe2Z1bmN0aW9uIFMobSxGLEQpe3ZhciB3PUMuY2FsbCh0aGlzLCJFcnJvciBDb2RlICIuY29uY2F0KG0sIjogIikuY29uY2F0KEYpKXx8dGhpcztyZXR1cm4gdy5lcnJvckNvZGU9bSx3LmVycm9yTWVzc2Fn''@;'; put 'put ''ZT1GLHcucmVzdWx0PUQsdy5uYW1lPSJKb2JFeGVjdXRpb25FcnJvciIsT2JqZWN0LnNldFByb3RvdHlwZU9mKHcsUy5wcm90b3R5cGUpLHd9cmV0dXJuIE4oUyxDKSxTfShFcnJvcik7QS5Kb2JFeGVjdXRpb25FcnJvcj16fSw5MDc5OmZ1bmN0aW9uKFosQSl7InVzZSBzdHJpY3QiO3ZhciBq''@;'; put 'put ''LE49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChqPWZ1bmN0aW9uKEMsUyl7cmV0dXJuKGo9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKG0sRil7bS5fX3Byb3RvX189Rn18fGZ1bmN0aW9uKG0sRil7Zm9yKHZhciBEIGluIEYp''@;'; put 'put ''T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEYsRCkmJihtW0RdPUZbRF0pfSkoQyxTKX0sZnVuY3Rpb24oQyxTKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgUyYmbnVsbCE9PVMpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhTKSsi''@;'; put 'put ''IGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1DfWooQyxTKSxDLnByb3RvdHlwZT1udWxsPT09Uz9PYmplY3QuY3JlYXRlKFMpOihtLnByb3RvdHlwZT1TLnByb3RvdHlwZSxuZXcgbSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHko''@;'; put 'put ''QSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5Kb2JTdGF0ZVBvbGxFcnJvcj12b2lkIDA7dmFyIHo9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gUyhtLEYpe3ZhciBEPUMuY2FsbCh0aGlzLCJFcnJvciB3aGlsZSBwb2xsaW5nIGpvYiBzdGF0ZSBmb3Igam9iICIuY29uY2F0KG0sIjogIikuY29u''@;'; put 'put ''Y2F0KEYubWVzc2FnZXx8RikpfHx0aGlzO3JldHVybiBELm9yaWdpbmFsRXJyb3I9RixELm5hbWU9IkpvYlN0YXRlUG9sbEVycm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YoRCxTLnByb3RvdHlwZSksRH1yZXR1cm4gTihTLEMpLFN9KEVycm9yKTtBLkpvYlN0YXRlUG9sbEVycm9yPXp9LDMw''@;'; put 'put ''OTY6ZnVuY3Rpb24oWixBKXsidXNlIHN0cmljdCI7dmFyIGosTj10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KGo9ZnVuY3Rpb24oQyxTKXtyZXR1cm4oaj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24obSxGKXttLl9fcHJvdG9f''@;'; put 'put ''Xz1GfXx8ZnVuY3Rpb24obSxGKXtmb3IodmFyIEQgaW4gRilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRixEKSYmKG1bRF09RltEXSl9KShDLFMpfSxmdW5jdGlvbihDLFMpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBTJiZudWxsIT09Uyl0aHJvdyBuZXcgVHlwZUVycm9y''@;'; put 'put ''KCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKFMpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPUN9aihDLFMpLEMucHJvdG90eXBlPW51bGw9PT1TP09iamVjdC5jcmVhdGUoUyk6KG0ucHJvdG90eXBlPVMucHJvdG90''@;'; put 'put ''eXBlLG5ldyBtKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLkpzb25QYXJzZUFycmF5RXJyb3I9dm9pZCAwO3ZhciB6PWZ1bmN0aW9uKEMpe2Z1bmN0aW9uIFMoKXt2YXIgbT1DLmNhbGwodGhpcywiQ2FuIG5vdCBwYXJzZSBhcnJheSBvYmpl''@;'; put 'put ''Y3QgdG8ganNvbi4iKXx8dGhpcztyZXR1cm4gbS5uYW1lPSJKc29uUGFyc2VBcnJheUVycm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YobSxTLnByb3RvdHlwZSksbX1yZXR1cm4gTihTLEMpLFN9KEVycm9yKTtBLkpzb25QYXJzZUFycmF5RXJyb3I9en0sNjc0MzpmdW5jdGlvbihaLEEpeyJ1''@;'; put 'put ''c2Ugc3RyaWN0Ijt2YXIgaixOPXRoaXMmJnRoaXMuX19leHRlbmRzfHwoaj1mdW5jdGlvbihDLFMpe3JldHVybihqPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihtLEYpe20uX19wcm90b19fPUZ9fHxmdW5jdGlvbihtLEYp''@;'; put 'put ''e2Zvcih2YXIgRCBpbiBGKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChGLEQpJiYobVtEXT1GW0RdKX0pKEMsUyl9LGZ1bmN0aW9uKEMsUyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFMmJm51bGwhPT1TKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFs''@;'; put 'put ''dWUgIitTdHJpbmcoUykrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9Q31qKEMsUyksQy5wcm90b3R5cGU9bnVsbD09PVM/T2JqZWN0LmNyZWF0ZShTKToobS5wcm90b3R5cGU9Uy5wcm90b3R5cGUsbmV3IG0pfSk7T2JqZWN0''@;'; put 'put ''LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuTG9naW5SZXF1aXJlZEVycm9yPXZvaWQgMDt2YXIgej1mdW5jdGlvbihDKXtmdW5jdGlvbiBTKG0pe3ZhciBGPXRoaXMsRD1tP0pTT04uc3RyaW5naWZ5KG0sbnVsbCwyKToiWW91IG11c3QgYmUgbG9nZ2VkIGlu''@;'; put 'put ''IHRvIGFjY2VzcyB0aGlzIHJlc291cmNlIjtyZXR1cm4oRj1DLmNhbGwodGhpcywiQXV0aCBlcnJvcjogIi5jb25jYXQoRCkpfHx0aGlzKS5uYW1lPSJMb2dpblJlcXVpcmVkRXJyb3IiLE9iamVjdC5zZXRQcm90b3R5cGVPZihGLFMucHJvdG90eXBlKSxGfXJldHVybiBOKFMsQyksU30oRXJy''@;'; put 'put ''b3IpO0EuTG9naW5SZXF1aXJlZEVycm9yPXp9LDc4NjQ6ZnVuY3Rpb24oWixBKXsidXNlIHN0cmljdCI7dmFyIGosTj10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KGo9ZnVuY3Rpb24oQyxTKXtyZXR1cm4oaj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBB''@;'; put 'put ''cnJheSYmZnVuY3Rpb24obSxGKXttLl9fcHJvdG9fXz1GfXx8ZnVuY3Rpb24obSxGKXtmb3IodmFyIEQgaW4gRilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRixEKSYmKG1bRF09RltEXSl9KShDLFMpfSxmdW5jdGlvbihDLFMpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBT''@;'; put 'put ''JiZudWxsIT09Uyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKFMpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPUN9aihDLFMpLEMucHJvdG90eXBlPW51bGw9PT1TP09iamVjdC5j''@;'; put 'put ''cmVhdGUoUyk6KG0ucHJvdG90eXBlPVMucHJvdG90eXBlLG5ldyBtKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLk5vU2Vzc2lvblN0YXRlRXJyb3I9dm9pZCAwO3ZhciB6PWZ1bmN0aW9uKEMpe2Z1bmN0aW9uIFMobSxGLEQpe3ZhciB3PUMu''@;'; put 'put ''Y2FsbCh0aGlzLCJDb3VsZCBub3QgZ2V0IHNlc3Npb24gc3RhdGUuIFNlcnZlciByZXNwb25kZWQgd2l0aCAiLmNvbmNhdChtLCIgd2hpbHN0IGNoZWNraW5nIHN0YXRlOiAiKS5jb25jYXQoRikpfHx0aGlzO3JldHVybiB3LnNlcnZlclJlc3BvbnNlU3RhdHVzPW0sdy5zZXNzaW9uU3RhdGVV''@;'; put 'put ''cmw9Rix3LmxvZ1VybD1ELHcubmFtZT0iTm9TZXNzaW9uU3RhdHVzIixPYmplY3Quc2V0UHJvdG90eXBlT2YodyxTLnByb3RvdHlwZSksd31yZXR1cm4gTihTLEMpLFN9KEVycm9yKTtBLk5vU2Vzc2lvblN0YXRlRXJyb3I9en0sOTU3NzpmdW5jdGlvbihaLEEpeyJ1c2Ugc3RyaWN0Ijt2YXIg''@;'; put 'put ''aixOPXRoaXMmJnRoaXMuX19leHRlbmRzfHwoaj1mdW5jdGlvbihDLFMpe3JldHVybihqPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihtLEYpe20uX19wcm90b19fPUZ9fHxmdW5jdGlvbihtLEYpe2Zvcih2YXIgRCBpbiBG''@;'; put 'put ''KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChGLEQpJiYobVtEXT1GW0RdKX0pKEMsUyl9LGZ1bmN0aW9uKEMsUyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFMmJm51bGwhPT1TKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoUykr''@;'; put 'put ''IiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9Q31qKEMsUyksQy5wcm90b3R5cGU9bnVsbD09PVM/T2JqZWN0LmNyZWF0ZShTKToobS5wcm90b3R5cGU9Uy5wcm90b3R5cGUsbmV3IG0pfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5''@;'; put 'put ''KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuTm90Rm91bmRFcnJvcj12b2lkIDA7dmFyIHo9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gUyhtKXt2YXIgRj1DLmNhbGwodGhpcywiRXJyb3I6IFJlc291cmNlIGF0ICIuY29uY2F0KG0sIiB3YXMgbm90IGZvdW5kIikpfHx0aGlzO3JldHVybiBG''@;'; put 'put ''LnVybD1tLEYubmFtZT0iTm90Rm91bmRFcnJvciIsT2JqZWN0LnNldFByb3RvdHlwZU9mKEYsUy5wcm90b3R5cGUpLEZ9cmV0dXJuIE4oUyxDKSxTfShFcnJvcik7QS5Ob3RGb3VuZEVycm9yPXp9LDkyNzk6ZnVuY3Rpb24oWixBLGopeyJ1c2Ugc3RyaWN0Ijt2YXIgTix6PXRoaXMmJnRoaXMu''@;'; put 'put ''X19leHRlbmRzfHwoTj1mdW5jdGlvbihtLEYpe3JldHVybihOPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihELHcpe0QuX19wcm90b19fPXd9fHxmdW5jdGlvbihELHcpe2Zvcih2YXIgUCBpbiB3KU9iamVjdC5wcm90b3R5''@;'; put 'put ''cGUuaGFzT3duUHJvcGVydHkuY2FsbCh3LFApJiYoRFtQXT13W1BdKX0pKG0sRil9LGZ1bmN0aW9uKG0sRil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIEYmJm51bGwhPT1GKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoRikrIiBpcyBub3QgYSBjb25z''@;'; put 'put ''dHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gRCgpe3RoaXMuY29uc3RydWN0b3I9bX1OKG0sRiksbS5wcm90b3R5cGU9bnVsbD09PUY/T2JqZWN0LmNyZWF0ZShGKTooRC5wcm90b3R5cGU9Ri5wcm90b3R5cGUsbmV3IEQpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUi''@;'; put 'put ''LHt2YWx1ZTohMH0pLEEuUm9vdEZvbGRlck5vdEZvdW5kRXJyb3I9dm9pZCAwO3ZhciBDPWooNjc5OSksUz1mdW5jdGlvbihtKXtmdW5jdGlvbiBGKEQsdyxQKXt2YXIgTT10aGlzLGs9IlJvb3QgZm9sZGVyICIuY29uY2F0KEQsIiB3YXMgbm90IGZvdW5kLiIpKyJcblBsZWFzZSBjaGVjayAi''@;'; put 'put ''LmNvbmNhdCh3LCIvU0FTRHJpdmUuIikrIlxuSWYgdGhlIGZvbGRlciBET0VTIGV4aXN0IHRoZW4gaXQgaXMgbGlrZWx5IGEgcGVybWlzc2lvbiBwcm9ibGVtLlxuIjtpZihQKXt2YXIgTz0oMCxDLmRlY29kZVRva2VuKShQKS5zY29wZTtrKz0iWW91ciBhY2Nlc3MgdG9rZW4gY29udGFpbnMg''@;'; put 'put ''dGhlIGZvbGxvd2luZyBzY29wZXM6XG4iKyhPPU8ubWFwKGZ1bmN0aW9uKEwpe3JldHVybiIqICIrTH0pKS5qb2luKCJcbiIpfXJldHVybihNPW0uY2FsbCh0aGlzLGspfHx0aGlzKS5uYW1lPSJSb290Rm9sZGVyTm90Rm91bmRFcnJvciIsT2JqZWN0LnNldFByb3RvdHlwZU9mKE0sRi5wcm90''@;'; put 'put ''b3R5cGUpLE19cmV0dXJuIHooRixtKSxGfShFcnJvcik7QS5Sb290Rm9sZGVyTm90Rm91bmRFcnJvcj1TfSw5NTI2OmZ1bmN0aW9uKFosQSl7InVzZSBzdHJpY3QiO3ZhciBqLE49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChqPWZ1bmN0aW9uKEMsUyl7cmV0dXJuKGo9T2JqZWN0LnNldFByb3Rv''@;'; put 'put ''dHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKG0sRil7bS5fX3Byb3RvX189Rn18fGZ1bmN0aW9uKG0sRil7Zm9yKHZhciBEIGluIEYpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEYsRCkmJihtW0RdPUZbRF0pfSkoQyxTKX0sZnVu''@;'; put 'put ''Y3Rpb24oQyxTKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgUyYmbnVsbCE9PVMpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhTKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1DfWoo''@;'; put 'put ''QyxTKSxDLnByb3RvdHlwZT1udWxsPT09Uz9PYmplY3QuY3JlYXRlKFMpOihtLnByb3RvdHlwZT1TLnByb3RvdHlwZSxuZXcgbSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5TQVM5QXV0aEVycm9yPXZvaWQgMDt2YXIgej1mdW5jdGlvbihD''@;'; put 'put ''KXtmdW5jdGlvbiBTKCl7dmFyIG09Qy5jYWxsKHRoaXMsIlRoZSBjcmVkZW50aWFscyB5b3UgcHJvdmlkZWQgY2Fubm90IGJlIGF1dGhlbnRpY2F0ZWQuIFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgc2V0IG9mIGNyZWRlbnRpYWxzLiIpfHx0aGlzO3JldHVybiBtLm5hbWU9IkF1dGhvcml6ZUVy''@;'; put 'put ''cm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YobSxTLnByb3RvdHlwZSksbX1yZXR1cm4gTihTLEMpLFN9KEVycm9yKTtBLlNBUzlBdXRoRXJyb3I9en0sODg3NTpmdW5jdGlvbihaLEEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaixOPXRoaXMmJnRoaXMuX19leHRlbmRzfHwoaj1mdW5jdGlvbihDLFMp''@;'; put 'put ''e3JldHVybihqPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihtLEYpe20uX19wcm90b19fPUZ9fHxmdW5jdGlvbihtLEYpe2Zvcih2YXIgRCBpbiBGKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChGLEQp''@;'; put 'put ''JiYobVtEXT1GW0RdKX0pKEMsUyl9LGZ1bmN0aW9uKEMsUyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFMmJm51bGwhPT1TKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoUykrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24g''@;'; put 'put ''bSgpe3RoaXMuY29uc3RydWN0b3I9Q31qKEMsUyksQy5wcm90b3R5cGU9bnVsbD09PVM/T2JqZWN0LmNyZWF0ZShTKToobS5wcm90b3R5cGU9Uy5wcm90b3R5cGUsbmV3IG0pfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuV2Vib3V0UmVzcG9u''@;'; put 'put ''c2VFcnJvcj12b2lkIDA7dmFyIHo9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gUyhtKXt2YXIgRj1DLmNhbGwodGhpcywiRXJyb3I6IGVycm9yIHdoaWxlIHBhcnNpbmcgcmVzcG9uc2UgZnJvbSAiLmNvbmNhdChtKSl8fHRoaXM7cmV0dXJuIEYudXJsPW0sRi5uYW1lPSJXZWJvdXRSZXNwb25zZUVy''@;'; put 'put ''cm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YoRixTLnByb3RvdHlwZSksRn1yZXR1cm4gTihTLEMpLFN9KEVycm9yKTtBLldlYm91dFJlc3BvbnNlRXJyb3I9en0sMTM5NTpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2Jq''@;'; put 'put ''ZWN0LmNyZWF0ZT9mdW5jdGlvbihDLFMsbSxGKXt2b2lkIDA9PT1GJiYoRj1tKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQyxGLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBTW21dfX0pfTpmdW5jdGlvbihDLFMsbSxGKXt2b2lkIDA9PT1GJiYoRj1tKSxDW0ZdPVNbbV19''@;'; put 'put ''KSx6PXRoaXMmJnRoaXMuX19leHBvcnRTdGFyfHxmdW5jdGlvbihDLFMpe2Zvcih2YXIgbSBpbiBDKSJkZWZhdWx0Ij09PW18fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChTLG0pfHxOKFMsQyxtKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2''@;'; put 'put ''YWx1ZTohMH0pLHooaigxMjQpLEEpLHooaig5NDY1KSxBKSx6KGooNTI2NyksQSkseihqKDkyMzIpLEEpLHooaig1MTA5KSxBKSx6KGooNTUxOCksQSkseihqKDg1MzEpLEEpLHooaig5MDc5KSxBKSx6KGooMzA5NiksQSkseihqKDY3NDMpLEEpLHooaig3ODY0KSxBKSx6KGooOTU3NyksQSks''@;'; put 'put ''eihqKDkyNzkpLEEpLHooaig4ODc1KSxBKX0sMTIzMDpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRoaXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihDLFMsbSxGKXt2b2lkIDA9PT1GJiYoRj1tKSxPYmplY3QuZGVmaW5lUHJvcGVy''@;'; put 'put ''dHkoQyxGLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBTW21dfX0pfTpmdW5jdGlvbihDLFMsbSxGKXt2b2lkIDA9PT1GJiYoRj1tKSxDW0ZdPVNbbV19KSx6PXRoaXMmJnRoaXMuX19leHBvcnRTdGFyfHxmdW5jdGlvbihDLFMpe2Zvcih2YXIgbSBpbiBDKSJkZWZhdWx0''@;'; put 'put ''Ij09PW18fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChTLG0pfHxOKFMsQyxtKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHooaig0NzApLEEpLHooaig0NjY2KSxBKSx6KGooNDk3NSksQSkseihqKDU3NjYpLEEpLHooaigy''@;'; put 'put ''MTUpLEEpLHooaig0NzgyKSxBKSx6KGooNDE2OCksQSkseihqKDg1MTYpLEEpLHooaig1ODQxKSxBKSx6KGooMjQ5MyksQSkseihqKDYwMzgpLEEpLHooaig5NDkzKSxBKSx6KGooMzE1MyksQSkseihqKDg2NTApLEEpLHooaig2MTc3KSxBKX0sMzMwMjpmdW5jdGlvbihaLEEpeyJ1c2Ugc3Ry''@;'; put 'put ''aWN0Ijt2YXIgaj10aGlzJiZ0aGlzLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBqPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKEMpe2Zvcih2YXIgUyxtPTEsRj1hcmd1bWVudHMubGVuZ3RoO208RjttKyspZm9yKHZhciBEIGluIFM9YXJndW1lbnRzW21dKU9iamVjdC5wcm90b3R5cGUu''@;'; put 'put ''aGFzT3duUHJvcGVydHkuY2FsbChTLEQpJiYoQ1tEXT1TW0RdKTtyZXR1cm4gQ30sai5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE49dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKEMsUyxtLEYpe3JldHVybiBuZXcobXx8KG09UHJvbWlzZSkpKGZ1bmN0aW9uKEQsdyl7ZnVuY3Rpb24g''@;'; put 'put ''UChPKXt0cnl7ayhGLm5leHQoTykpfWNhdGNoKEwpe3coTCl9fWZ1bmN0aW9uIE0oTyl7dHJ5e2soRi50aHJvdyhPKSl9Y2F0Y2goTCl7dyhMKX19ZnVuY3Rpb24gayhPKXt2YXIgTDtPLmRvbmU/RChPLnZhbHVlKTooTD1PLnZhbHVlLEwgaW5zdGFuY2VvZiBtP0w6bmV3IG0oZnVuY3Rpb24o''@;'; put 'put ''VCl7VChMKX0pKS50aGVuKFAsTSl9aygoRj1GLmFwcGx5KEMsU3x8W10pKS5uZXh0KCkpfSl9LHo9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oQyxTKXt2YXIgbSxGLEQsdyxQPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJkRbMF0pdGhyb3cgRFsxXTtyZXR1cm4gRFsx''@;'; put 'put ''XX0sdHJ5czpbXSxvcHM6W119O3JldHVybiB3PXtuZXh0Ok0oMCksdGhyb3c6TSgxKSxyZXR1cm46TSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKHdbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksdztmdW5jdGlvbiBNKGspe3JldHVybiBmdW5jdGlv''@;'; put 'put ''bihPKXtyZXR1cm4gZnVuY3Rpb24oTCl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtQOyl0cnl7aWYobT0xLEYmJihEPTImTFswXT9GLnJldHVybjpMWzBdP0YudGhyb3d8fCgoRD1GLnJldHVybikmJkQuY2FsbChGKSww''@;'; put 'put ''KTpGLm5leHQpJiYhKEQ9RC5jYWxsKEYsTFsxXSkpLmRvbmUpcmV0dXJuIEQ7c3dpdGNoKEY9MCxEJiYoTD1bMiZMWzBdLEQudmFsdWVdKSxMWzBdKXtjYXNlIDA6Y2FzZSAxOkQ9TDticmVhaztjYXNlIDQ6cmV0dXJuIFAubGFiZWwrKyx7dmFsdWU6TFsxXSxkb25lOiExfTtjYXNlIDU6UC5s''@;'; put 'put ''YWJlbCsrLEY9TFsxXSxMPVswXTtjb250aW51ZTtjYXNlIDc6TD1QLm9wcy5wb3AoKSxQLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChEPShEPVAudHJ5cykubGVuZ3RoPjAmJkRbRC5sZW5ndGgtMV0pfHw2IT09TFswXSYmMiE9PUxbMF0pKXtQPTA7Y29udGludWV9aWYoMz09''@;'; put 'put ''PUxbMF0mJighRHx8TFsxXT5EWzBdJiZMWzFdPERbM10pKXtQLmxhYmVsPUxbMV07YnJlYWt9aWYoNj09PUxbMF0mJlAubGFiZWw8RFsxXSl7UC5sYWJlbD1EWzFdLEQ9TDticmVha31pZihEJiZQLmxhYmVsPERbMl0pe1AubGFiZWw9RFsyXSxQLm9wcy5wdXNoKEwpO2JyZWFrfURbMl0mJlAu''@;'; put 'put ''b3BzLnBvcCgpLFAudHJ5cy5wb3AoKTtjb250aW51ZX1MPVMuY2FsbChDLFApfWNhdGNoKFQpe0w9WzYsVF0sRj0wfWZpbmFsbHl7bT1EPTB9aWYoNSZMWzBdKXRocm93IExbMV07cmV0dXJue3ZhbHVlOkxbMF0/TFsxXTp2b2lkIDAsZG9uZTohMH19KFtrLE9dKX19fTtPYmplY3QuZGVmaW5l''@;'; put 'put ''UHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5hcHBlbmRFeHRyYVJlc3BvbnNlQXR0cmlidXRlcz12b2lkIDAsQS5hcHBlbmRFeHRyYVJlc3BvbnNlQXR0cmlidXRlcz1mdW5jdGlvbihDLFMpe3JldHVybiBOKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBt''@;'; put 'put ''LEY7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihEKXtyZXR1cm4gbT17fSxudWxsIT1TJiZTLmxlbmd0aD8oRj1TLnJlZHVjZShmdW5jdGlvbih3LFApe3JldHVybiB3W1BdPUNbUF0sd30se30pLG09aih7cmVzdWx0OkMucmVzdWx0fSxGKSk6bT1DLnJlc3VsdCxbMixtXX0pfSl9fSw3OTIyOmZ1''@;'; put 'put ''bmN0aW9uKFosQSl7InVzZSBzdHJpY3QiO3ZhciBqPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbih6LEMsUyxtKXtyZXR1cm4gbmV3KFN8fChTPVByb21pc2UpKShmdW5jdGlvbihGLEQpe2Z1bmN0aW9uIHcoayl7dHJ5e00obS5uZXh0KGspKX1jYXRjaChPKXtEKE8pfX1mdW5jdGlv''@;'; put 'put ''biBQKGspe3RyeXtNKG0udGhyb3coaykpfWNhdGNoKE8pe0QoTyl9fWZ1bmN0aW9uIE0oayl7dmFyIE87ay5kb25lP0Yoay52YWx1ZSk6KE89ay52YWx1ZSxPIGluc3RhbmNlb2YgUz9POm5ldyBTKGZ1bmN0aW9uKEwpe0woTyl9KSkudGhlbih3LFApfU0oKG09bS5hcHBseSh6LEN8fFtdKSku''@;'; put 'put ''bmV4dCgpKX0pfSxOPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHosQyl7dmFyIFMsbSxGLEQsdz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZGWzBdKXRocm93IEZbMV07cmV0dXJuIEZbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gRD17bmV4dDpQKDApLHRocm93''@;'; put 'put ''OlAoMSkscmV0dXJuOlAoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihEW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLEQ7ZnVuY3Rpb24gUChNKXtyZXR1cm4gZnVuY3Rpb24oayl7cmV0dXJuIGZ1bmN0aW9uKE8pe2lmKFMpdGhyb3cgbmV3IFR5cGVF''@;'; put 'put ''cnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7dzspdHJ5e2lmKFM9MSxtJiYoRj0yJk9bMF0/bS5yZXR1cm46T1swXT9tLnRocm93fHwoKEY9bS5yZXR1cm4pJiZGLmNhbGwobSksMCk6bS5uZXh0KSYmIShGPUYuY2FsbChtLE9bMV0pKS5kb25lKXJldHVybiBG''@;'; put 'put ''O3N3aXRjaChtPTAsRiYmKE89WzImT1swXSxGLnZhbHVlXSksT1swXSl7Y2FzZSAwOmNhc2UgMTpGPU87YnJlYWs7Y2FzZSA0OnJldHVybiB3LmxhYmVsKysse3ZhbHVlOk9bMV0sZG9uZTohMX07Y2FzZSA1OncubGFiZWwrKyxtPU9bMV0sTz1bMF07Y29udGludWU7Y2FzZSA3Ok89dy5vcHMu''@;'; put 'put ''cG9wKCksdy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoRj0oRj13LnRyeXMpLmxlbmd0aD4wJiZGW0YubGVuZ3RoLTFdKXx8NiE9PU9bMF0mJjIhPT1PWzBdKSl7dz0wO2NvbnRpbnVlfWlmKDM9PT1PWzBdJiYoIUZ8fE9bMV0+RlswXSYmT1sxXTxGWzNdKSl7dy5sYWJlbD1P''@;'; put 'put ''WzFdO2JyZWFrfWlmKDY9PT1PWzBdJiZ3LmxhYmVsPEZbMV0pe3cubGFiZWw9RlsxXSxGPU87YnJlYWt9aWYoRiYmdy5sYWJlbDxGWzJdKXt3LmxhYmVsPUZbMl0sdy5vcHMucHVzaChPKTticmVha31GWzJdJiZ3Lm9wcy5wb3AoKSx3LnRyeXMucG9wKCk7Y29udGludWV9Tz1DLmNhbGwoeix3''@;'; put 'put ''KX1jYXRjaChMKXtPPVs2LExdLG09MH1maW5hbGx5e1M9Rj0wfWlmKDUmT1swXSl0aHJvdyBPWzFdO3JldHVybnt2YWx1ZTpPWzBdP09bMV06dm9pZCAwLGRvbmU6ITB9fShbTSxrXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuYXN5bmNG''@;'; put 'put ''b3JFYWNoPXZvaWQgMCxBLmFzeW5jRm9yRWFjaD1mdW5jdGlvbih6LEMpe3JldHVybiBqKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBTO3JldHVybiBOKHRoaXMsZnVuY3Rpb24obSl7c3dpdGNoKG0ubGFiZWwpe2Nhc2UgMDpTPTAsbS5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4g''@;'; put 'put ''Uzx6Lmxlbmd0aD9bNCxDKHpbU10sUyx6KV06WzMsNF07Y2FzZSAyOm0uc2VudCgpLG0ubGFiZWw9MztjYXNlIDM6cmV0dXJuIFMrKyxbMywxXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9fSwzNzkzOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9k''@;'; put 'put ''dWxlIix7dmFsdWU6ITB9KSxBLmNvbXBhcmVUaW1lc3RhbXBzPXZvaWQgMCxBLmNvbXBhcmVUaW1lc3RhbXBzPWZ1bmN0aW9uKGosTil7cmV0dXJuIE4udGltZXN0YW1wLmdldFRpbWUoKS1qLnRpbWVzdGFtcC5nZXRUaW1lKCl9fSwzNTUzOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5k''@;'; put 'put ''ZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLlNBU0pTX0xPR1NfU0VQQVJBVE9SPXZvaWQgMCxBLlNBU0pTX0xPR1NfU0VQQVJBVE9SPSJTQVNKU19MT0dTX1NFUEFSQVRPUl8xNjNlZTE3YjZmZjI0ZjAyODkyODk3MmQ4MGEyNjc4NCJ9LDI0MDI6KFosQSxqKT0+''@;'; put 'put ''eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDUxMDgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmlzRm9ybWF0c1RhYmxlPUEuY29udmVydFRvQ1NWPXZvaWQgMDt2YXIgej1qKDY0NjcpLEM9aig5Nzc4KTtBLmNvbnZlcnRUb0NTVj1mdW5jdGlvbiht''@;'; put 'put ''LEYpe3ZhciBEO2lmKCFtW0ZdKXRocm93KDAsQy5wcmVmaXhNZXNzYWdlKSgiTm8gdGFibGUgcHJvdmlkZWQgdG8gYmUgY29udmVydGVkIHRvIENTVi4iLCJFcnJvciB3aGlsZSBjb252ZXJ0aW5nIHRvIENTVi4gIik7dmFyIHc9bVtGXTtpZighQXJyYXkuaXNBcnJheSh3KSlyZXR1cm4iIjt2''@;'; put 'put ''YXIgUCxNPW51bGw9PT0oRD1tWyIkIi5jb25jYXQoRildKXx8dm9pZCAwPT09RD92b2lkIDA6RC5mb3JtYXRzLGs9W10sTz0hMTtNJiYoaz1PYmplY3Qua2V5cyhNKS5tYXAoZnVuY3Rpb24oVCl7cmV0dXJuIiIuY29uY2F0KFQsIjoiKS5jb25jYXQoTVtUXSl9KSk7dmFyIEw9T2JqZWN0Lmtl''@;'; put 'put ''eXMod1swXSk7cmV0dXJuIEwuZm9yRWFjaChmdW5jdGlvbihUKXtpZighTXx8IU9iamVjdC5rZXlzKE0pLmluY2x1ZGVzKFQpKXt2YXIgWT0hMSxJPSExO2lmKHcuZm9yRWFjaChmdW5jdGlvbihxKXtudWxsPT09cVtUXXx8Im51bWJlciI9PXR5cGVvZiBxW1RdP1k9ITA6InN0cmluZyI9PXR5''@;'; put 'put ''cGVvZiBxW1RdJiYoMCx6LmlzU3BlY2lhbE1pc3NpbmcpKHFbVF0pJiYoST0hMCl9KSxZJiZJKWsucHVzaCgiIi5jb25jYXQoVCwiOmJlc3QuIikpLE18fChNPXt9KSxNW1RdPSJiZXN0LiI7ZWxzZXt2YXIgVT1udWxsLFY9ITEsUj0tMSxCPXcubWFwKGZ1bmN0aW9uKHEsSil7aWYocVtUXXx8''@;'; put 'put ''IiI9PT1xW1RdKXtVP1Z8fChSPShWPSgiIj09PXFbVF18fCJzdHJpbmciPT10eXBlb2YgcVtUXT8iY2hhcnMiOiJudW1iZXIiKSE9PVUpP0orMTotMSk6VT0iIj09PXFbVF18fCJzdHJpbmciPT10eXBlb2YgcVtUXT8iY2hhcnMiOiJudW1iZXIiO3ZhciB0ZT12b2lkIDA7cmV0dXJuInN0cmlu''@;'; put 'put ''ZyI9PXR5cGVvZiBxW1RdJiYodGU9UyhxW1RdKSksdGV9fSkuc29ydChmdW5jdGlvbihxLEope3JldHVybiBKLXF9KVswXTtCJiZCPjMyNzY1JiYoTz0hMCksViYmTi5lcnJvcigiUm93ICgiLmNvbmNhdChSLCIpLCBDb2x1bW4gKCIpLmNvbmNhdChULCIpIGhhcyBtaXhlZCB0eXBlczogRVJS''@;'; put 'put ''T1IiKSksay5wdXNoKCIiLmNvbmNhdChULCI6IikuY29uY2F0KCJjaGFycyI9PT1VPyIkY2hhciI6IiIpLmNvbmNhdChCfHwoImNoYXJzIj09PVU/IjEiOiJiZXN0IiksIi4iKSl9fX0pLE0mJihrPWsuc29ydChmdW5jdGlvbihULFkpe3JldHVybiBMLmluZGV4T2YoVC5yZXBsYWNlKC86Liov''@;'; put 'put ''LCIiKSktTC5pbmRleE9mKFkucmVwbGFjZSgvOi4qLywiIikpfSkpLE8/IkVSUk9SOiBMQVJHRSBTVFJJTkcgTEVOR1RIIjooUD13Lm1hcChmdW5jdGlvbihUKXtyZXR1cm4gT2JqZWN0LmtleXMoVCkubWFwKGZ1bmN0aW9uKFksSSl7dmFyIFUsVj1UW1ldO2lmKCJudW1iZXIiPT10eXBlb2Yg''@;'; put 'put ''VilyZXR1cm4gVjtpZihVPW51bGw9PT1WPyIiOlYsTSYmImJlc3QuIj09PU1bWV0pe2lmKFUmJiEoMCx6LmlzU3BlY2lhbE1pc3NpbmcpKFUpKXRocm93IG5ldyBFcnJvcigiQSBTcGVjaWFsIG1pc3NpbmcgdmFsdWUgY2FuIG9ubHkgYmUgYSBzaW5nbGUgY2hhcmFjdGVyIGZyb20gJ0EnIHRv''@;'; put 'put ''ICdaJywgJ18nLCAnLlthLXpdJywgJy5fJyIpO3ZhciBSPVUuaW5jbHVkZXMoIi4iKT8iIjoiLiI7cmV0dXJuIiIuY29uY2F0KFIpLmNvbmNhdChVLnRvTG93ZXJDYXNlKCkpfXJldHVybiBVPVUucmVwbGFjZSgvIi9nLCciIicpLChVPSciJy5jb25jYXQoVSwnIicpKS5zdWJzdHJpbmcoMSxV''@;'; put 'put ''Lmxlbmd0aC0xKS5zZWFyY2goLyhcdHxcbnxccnwsfFwnfFwiKS9nbSk8MCYmKFU9VS5zdWJzdHJpbmcoMSxVLmxlbmd0aC0xKSksIiI9PT0oVT1VLnJlcGxhY2UoL1xyXG4vZ20sIlxuIikpJiZrW0ldLmluY2x1ZGVzKCJiZXN0IikmJihVPSIuIiksVX0pLmpvaW4oIiwiKX0pLGsuam9pbigi''@;'; put 'put ''LCIpLnJlcGxhY2UoLywvZywiICIpKyJcclxuIitQLmpvaW4oIlxyXG4iKSl9LEEuaXNGb3JtYXRzVGFibGU9ZnVuY3Rpb24obSl7cmV0dXJuL15cJC4qLy50ZXN0KG0pfTt2YXIgUz1mdW5jdGlvbihtKXtmb3IodmFyIEY9bS5sZW5ndGgsRD1tLmxlbmd0aC0xO0Q+PTA7RC0tKXt2YXIgdz1t''@;'; put 'put ''LmNoYXJDb2RlQXQoRCk7dz4xMjcmJnc8PTIwNDc/RisrOnc+MjA0NyYmdzw9NjU1MzUmJihGKz0yKSx3Pj01NjMyMCYmdzw9NTczNDMmJkQtLX1yZXR1cm4gRn19LDYxMTY6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVl''@;'; put 'put ''OiEwfSksQS5jcmVhdGVBeGlvc0luc3RhbmNlPXZvaWQgMDt2YXIgTj1qKDk2NjkpO0EuY3JlYXRlQXhpb3NJbnN0YW5jZT1mdW5jdGlvbih6LEMpe3JldHVybiBOLmRlZmF1bHQuY3JlYXRlKHtiYXNlVVJMOnosaHR0cHNBZ2VudDpDfSl9fSw5ODI1OihaLEEpPT57InVzZSBzdHJpY3QiO09i''@;'; put 'put ''amVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLmRlbGF5PXZvaWQgMCxBLmRlbGF5PWZ1bmN0aW9uKGope3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihOKXtyZXR1cm4gc2V0VGltZW91dChOLGopfSl9fSw5OTA6ZnVuY3Rpb24oWixBLGopeyJ1c2Ug''@;'; put 'put ''c3RyaWN0Ijt2YXIgTj1qKDQxNTUpLHo9aig1MTA4KSxDPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihGLEQsdyxQKXtyZXR1cm4gbmV3KHd8fCh3PVByb21pc2UpKShmdW5jdGlvbihNLGspe2Z1bmN0aW9uIE8oWSl7dHJ5e1QoUC5uZXh0KFkpKX1jYXRjaChJKXtrKEkpfX1mdW5j''@;'; put 'put ''dGlvbiBMKFkpe3RyeXtUKFAudGhyb3coWSkpfWNhdGNoKEkpe2soSSl9fWZ1bmN0aW9uIFQoWSl7dmFyIEk7WS5kb25lP00oWS52YWx1ZSk6KEk9WS52YWx1ZSxJIGluc3RhbmNlb2Ygdz9JOm5ldyB3KGZ1bmN0aW9uKFUpe1UoSSl9KSkudGhlbihPLEwpfVQoKFA9UC5hcHBseShGLER8fFtd''@;'; put 'put ''KSkubmV4dCgpKX0pfSxTPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKEYsRCl7dmFyIHcsUCxNLGssTz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZNWzBdKXRocm93IE1bMV07cmV0dXJuIE1bMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gaz17bmV4dDpMKDApLHRo''@;'; put 'put ''cm93OkwoMSkscmV0dXJuOkwoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihrW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGs7ZnVuY3Rpb24gTChUKXtyZXR1cm4gZnVuY3Rpb24oWSl7cmV0dXJuIGZ1bmN0aW9uKEkpe2lmKHcpdGhyb3cgbmV3IFR5''@;'; put 'put ''cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7TzspdHJ5e2lmKHc9MSxQJiYoTT0yJklbMF0/UC5yZXR1cm46SVswXT9QLnRocm93fHwoKE09UC5yZXR1cm4pJiZNLmNhbGwoUCksMCk6UC5uZXh0KSYmIShNPU0uY2FsbChQLElbMV0pKS5kb25lKXJldHVy''@;'; put 'put ''biBNO3N3aXRjaChQPTAsTSYmKEk9WzImSVswXSxNLnZhbHVlXSksSVswXSl7Y2FzZSAwOmNhc2UgMTpNPUk7YnJlYWs7Y2FzZSA0OnJldHVybiBPLmxhYmVsKysse3ZhbHVlOklbMV0sZG9uZTohMX07Y2FzZSA1Ok8ubGFiZWwrKyxQPUlbMV0sST1bMF07Y29udGludWU7Y2FzZSA3Okk9Ty5v''@;'; put 'put ''cHMucG9wKCksTy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoTT0oTT1PLnRyeXMpLmxlbmd0aD4wJiZNW00ubGVuZ3RoLTFdKXx8NiE9PUlbMF0mJjIhPT1JWzBdKSl7Tz0wO2NvbnRpbnVlfWlmKDM9PT1JWzBdJiYoIU18fElbMV0+TVswXSYmSVsxXTxNWzNdKSl7Ty5sYWJl''@;'; put 'put ''bD1JWzFdO2JyZWFrfWlmKDY9PT1JWzBdJiZPLmxhYmVsPE1bMV0pe08ubGFiZWw9TVsxXSxNPUk7YnJlYWt9aWYoTSYmTy5sYWJlbDxNWzJdKXtPLmxhYmVsPU1bMl0sTy5vcHMucHVzaChJKTticmVha31NWzJdJiZPLm9wcy5wb3AoKSxPLnRyeXMucG9wKCk7Y29udGludWV9ST1ELmNhbGwo''@;'; put 'put ''RixPKX1jYXRjaChVKXtJPVs2LFVdLFA9MH1maW5hbGx5e3c9TT0wfWlmKDUmSVswXSl0aHJvdyBJWzFdO3JldHVybnt2YWx1ZTpJWzBdP0lbMV06dm9pZCAwLGRvbmU6ITB9fShbVCxZXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuZmV0''@;'; put 'put ''Y2hMb2c9QS5mZXRjaExvZ0J5Q2h1bmtzPXZvaWQgMDt2YXIgbT1qKDk3NzgpO0EuZmV0Y2hMb2dCeUNodW5rcz1mdW5jdGlvbihGLEQsdyxQKXtyZXR1cm4gQyh2b2lkIDAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBTKHRoaXMsZnVuY3Rpb24oTSl7c3dpdGNoKE0ubGFiZWwp''@;'; put 'put ''e2Nhc2UgMDpyZXR1cm5bNCwoMCxBLmZldGNoTG9nKShGLEQsdywwLFApXTtjYXNlIDE6cmV0dXJuWzIsTS5zZW50KCldfX0pfSl9LEEuZmV0Y2hMb2c9ZnVuY3Rpb24oRixELHcsUCxNKXtyZXR1cm4gQyh2b2lkIDAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBrLE8sTCxULFk7cmV0''@;'; put 'put ''dXJuIFModGhpcyxmdW5jdGlvbihJKXtzd2l0Y2goSS5sYWJlbCl7Y2FzZSAwOms9Ti5sb2dnZXJ8fHosTz0iIixMPU08MWU0P006MWU0LEkubGFiZWw9MTtjYXNlIDE6cmV0dXJuIGsuaW5mbygiRmV0Y2hpbmcgbG9ncyBmcm9tIGxpbmUgbm86ICIuY29uY2F0KFArMSwiIHRvICIpLmNvbmNh''@;'; put 'put ''dChQK0wsIiBvZiAiKS5jb25jYXQoTSwiLiIpKSxbNCxGLmdldCgiIi5jb25jYXQodywiP3N0YXJ0PSIpLmNvbmNhdChQLCImbGltaXQ9IikuY29uY2F0KEwpLEQpLnRoZW4oZnVuY3Rpb24oVSl7cmV0dXJuIFUucmVzdWx0fSkuY2F0Y2goZnVuY3Rpb24oVSl7dGhyb3coMCxtLnByZWZpeE1l''@;'; put 'put ''c3NhZ2UpKFUsIkVycm9yIHdoaWxlIGdldHRpbmcgbG9nLiAiKX0pXTtjYXNlIDI6aWYoMD09PShUPUkuc2VudCgpKS5pdGVtcy5sZW5ndGgpcmV0dXJuWzMsNF07WT1ULml0ZW1zLm1hcChmdW5jdGlvbihVKXtyZXR1cm4gVS5saW5lfSkuam9pbigiXG4iKSxPKz1ZLFArPUwsSS5sYWJlbD0z''@;'; put 'put ''O2Nhc2UgMzppZihQPE0pcmV0dXJuWzMsMV07SS5sYWJlbD00O2Nhc2UgNDpyZXR1cm5bMixPXX19KX0pfX0sNzE0OihaLEEsaik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuZm9ybWF0RGF0YUZvclJlcXVlc3Q9dm9p''@;'; put 'put ''ZCAwO3ZhciBOPWooMjQwMiksej1qKDQ3OTkpO0EuZm9ybWF0RGF0YUZvclJlcXVlc3Q9ZnVuY3Rpb24oQyl7dmFyIFM9W10sbT0wLEY9e307Zm9yKHZhciBEIGluIEMpaWYoISgwLE4uaXNGb3JtYXRzVGFibGUpKEQpfHwhT2JqZWN0LmtleXMoQykuaW5jbHVkZXMoRC5yZXBsYWNlKC9eXCQv''@;'; put 'put ''LCIiKSkpe20rKywoMCxOLmlzRm9ybWF0c1RhYmxlKShEKXx8Uy5wdXNoKEQpO3ZhciB3PSgwLE4uY29udmVydFRvQ1NWKShDLEQpO2lmKCJFUlJPUjogTEFSR0UgU1RSSU5HIExFTkdUSCI9PT13KXRocm93IG5ldyBFcnJvcigiVGhlIG1heCBsZW5ndGggb2YgYSBzdHJpbmcgdmFsdWUgaW4g''@;'; put 'put ''U0FTanMgaXMgMzI3NjUgY2hhcmFjdGVycy4iKTtpZih3Lmxlbmd0aD4xNmUzKXt2YXIgUD0oMCx6LnNwbGl0Q2h1bmtzKSh3KTtGWyJzYXNqcyIuY29uY2F0KG0sImRhdGEwIildPVAubGVuZ3RoLFAuZm9yRWFjaChmdW5jdGlvbihNLGspe0ZbInNhc2pzIi5jb25jYXQobSwiZGF0YSIpLmNv''@;'; put 'put ''bmNhdChrKzEpXT1NfSl9ZWxzZSBGWyJzYXNqcyIuY29uY2F0KG0sImRhdGEiKV09d31yZXR1cm4gRi5zYXNqc190YWJsZXM9Uy5qb2luKCIgIiksRn19LDE4ODQ6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSks''@;'; put 'put ''QS5nZXRWYWxpZEpzb249dm9pZCAwO3ZhciBOPWooMTM5NSk7QS5nZXRWYWxpZEpzb249ZnVuY3Rpb24oeil7dHJ5e2lmKG51bGw9PXopdGhyb3cgbmV3IE4uSW52YWxpZEpzb25FcnJvcjtpZihBcnJheS5pc0FycmF5KHopKXRocm93IG5ldyBOLkpzb25QYXJzZUFycmF5RXJyb3I7cmV0dXJu''@;'; put 'put ''Im9iamVjdCI9PXR5cGVvZiB6P3o6IiI9PT16P3t9OkpTT04ucGFyc2Uoeil9Y2F0Y2goQyl7dGhyb3cgQyBpbnN0YW5jZW9mIE4uSnNvblBhcnNlQXJyYXlFcnJvcj9DOm5ldyBOLkludmFsaWRKc29uRXJyb3J9fX0sNTkyODpmdW5jdGlvbihaLEEsail7InVzZSBzdHJpY3QiO3ZhciBOPXRo''@;'; put 'put ''aXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihDLFMsbSxGKXt2b2lkIDA9PT1GJiYoRj1tKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQyxGLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBTW21dfX0pfTpmdW5jdGlvbihDLFMsbSxG''@;'; put 'put ''KXt2b2lkIDA9PT1GJiYoRj1tKSxDW0ZdPVNbbV19KSx6PXRoaXMmJnRoaXMuX19leHBvcnRTdGFyfHxmdW5jdGlvbihDLFMpe2Zvcih2YXIgbSBpbiBDKSJkZWZhdWx0Ij09PW18fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChTLG0pfHxOKFMsQyxtKX07T2JqZWN0LmRl''@;'; put 'put ''ZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHooaigzMzAyKSxBKSx6KGooNzkyMiksQSkseihqKDM3OTMpLEEpLHooaigyNDAyKSxBKSx6KGooMzU1MyksQSkseihqKDYxMTYpLEEpLHooaig5ODI1KSxBKSx6KGooOTkwKSxBKSx6KGooMTg4NCksQSkseihqKDQyNDMp''@;'; put 'put ''LEEpLHooaigyNTcpLEEpLHooaigyKSxBKSx6KGooMjYxNSksQSkseihqKDI5MjApLEEpLHooaigyNDIyKSxBKSx6KGooMzEpLEEpLHooaig2NTE1KSxBKSx6KGooNjQxNiksQSkseihqKDI4MTMpLEEpLHooaig5ODk2KSxBKSx6KGooNDc5OSksQSkseihqKDQ1MTYpLEEpfSw0MjQzOihaLEEs''@;'; put 'put ''aik9PnsidXNlIHN0cmljdCI7dmFyIE49aig0MTU1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5pc05vZGU9dm9pZCAwLEEuaXNOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PU4mJm51bGwhPU4udmVyc2lvbnMmJm51bGwhPU4udmVy''@;'; put 'put ''c2lvbnMubm9kZX19LDI1NzooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5pc1JlbGF0aXZlUGF0aD12b2lkIDAsQS5pc1JlbGF0aXZlUGF0aD1mdW5jdGlvbihqKXtyZXR1cm4hIWomJiFqLnN0YXJ0c1dpdGgo''@;'; put 'put ''Ii8iKX19LDI6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuaXNVcmk9dm9pZCAwLEEuaXNVcmk9ZnVuY3Rpb24oail7cmV0dXJuL15cL2ZvbGRlcnNcL2ZvbGRlcnNcLy8udGVzdChqKX19LDI2MTU6KFosQSk9''@;'; put 'put ''PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuaXNVcmw9dm9pZCAwLEEuaXNVcmw9ZnVuY3Rpb24oail7dHJ5e3ZhciBOPW5ldyBVUkwoaik7aWYoIVsiaHR0cDoiLCJodHRwczoiXS5pbmNsdWRlcyhOLnByb3RvY29sKSly''@;'; put 'put ''ZXR1cm4hMX1jYXRjaCh6KXtyZXR1cm4hMX1yZXR1cm4hMH19LDEyMTA6ZnVuY3Rpb24oWixBKXsidXNlIHN0cmljdCI7dmFyIGosRCxOPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihELHcsUCxNKXtyZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihrLE8pe2Z1bmN0''@;'; put 'put ''aW9uIEwoSSl7dHJ5e1koTS5uZXh0KEkpKX1jYXRjaChVKXtPKFUpfX1mdW5jdGlvbiBUKEkpe3RyeXtZKE0udGhyb3coSSkpfWNhdGNoKFUpe08oVSl9fWZ1bmN0aW9uIFkoSSl7dmFyIFU7SS5kb25lP2soSS52YWx1ZSk6KFU9SS52YWx1ZSxVIGluc3RhbmNlb2YgUD9VOm5ldyBQKGZ1bmN0''@;'; put 'put ''aW9uKFYpe1YoVSl9KSkudGhlbihMLFQpfVkoKE09TS5hcHBseShELHd8fFtdKSkubmV4dCgpKX0pfSx6PXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKEQsdyl7dmFyIFAsTSxrLE8sTD17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZrWzBdKXRocm93IGtbMV07cmV0dXJu''@;'; put 'put ''IGtbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gTz17bmV4dDpUKDApLHRocm93OlQoMSkscmV0dXJuOlQoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihPW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLE87ZnVuY3Rpb24gVChZKXtyZXR1cm4gZnVu''@;'; put 'put ''Y3Rpb24oSSl7cmV0dXJuIGZ1bmN0aW9uKFUpe2lmKFApdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7TDspdHJ5e2lmKFA9MSxNJiYoaz0yJlVbMF0/TS5yZXR1cm46VVswXT9NLnRocm93fHwoKGs9TS5yZXR1cm4pJiZrLmNhbGwo''@;'; put 'put ''TSksMCk6TS5uZXh0KSYmIShrPWsuY2FsbChNLFVbMV0pKS5kb25lKXJldHVybiBrO3N3aXRjaChNPTAsayYmKFU9WzImVVswXSxrLnZhbHVlXSksVVswXSl7Y2FzZSAwOmNhc2UgMTprPVU7YnJlYWs7Y2FzZSA0OnJldHVybiBMLmxhYmVsKysse3ZhbHVlOlVbMV0sZG9uZTohMX07Y2FzZSA1''@;'; put 'put ''OkwubGFiZWwrKyxNPVVbMV0sVT1bMF07Y29udGludWU7Y2FzZSA3OlU9TC5vcHMucG9wKCksTC50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoaz0oaz1MLnRyeXMpLmxlbmd0aD4wJiZrW2subGVuZ3RoLTFdKXx8NiE9PVVbMF0mJjIhPT1VWzBdKSl7TD0wO2NvbnRpbnVlfWlm''@;'; put 'put ''KDM9PT1VWzBdJiYoIWt8fFVbMV0+a1swXSYmVVsxXTxrWzNdKSl7TC5sYWJlbD1VWzFdO2JyZWFrfWlmKDY9PT1VWzBdJiZMLmxhYmVsPGtbMV0pe0wubGFiZWw9a1sxXSxrPVU7YnJlYWt9aWYoayYmTC5sYWJlbDxrWzJdKXtMLmxhYmVsPWtbMl0sTC5vcHMucHVzaChVKTticmVha31rWzJd''@;'; put 'put ''JiZMLm9wcy5wb3AoKSxMLnRyeXMucG9wKCk7Y29udGludWV9VT13LmNhbGwoRCxMKX1jYXRjaChWKXtVPVs2LFZdLE09MH1maW5hbGx5e1A9az0wfWlmKDUmVVswXSl0aHJvdyBVWzFdO3JldHVybnt2YWx1ZTpVWzBdP1VbMV06dm9pZCAwLGRvbmU6ITB9fShbWSxJXSl9fX07T2JqZWN0LmRl''@;'; put 'put ''ZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEub3BlbkxvZ2luUHJvbXB0PXZvaWQgMCwoRD1qfHwoaj17fSkpLnN0eWxlcz0ic2FzanNBZGFwdGVyU3R5bGVzIixELm92ZXJsYXk9InNhc2pzQWRhcHRlckxvZ2luUHJvbXB0QkciLEQuZGlhbG9nPSJzYXNqc0FkYXB0''@;'; put 'put ''ZXJMb2dpblByb21wdCI7dmFyIEM9InNhc2pzLWFkYXB0ZXIiLFM9e3BvcFVwOiIiLmNvbmNhdChDLCJwb3BVcCIpLHBvcFVwQkc6IiIuY29uY2F0KEMsInBvcFVwQkciKX07QS5vcGVuTG9naW5Qcm9tcHQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oRCl7cmV0dXJu''@;'; put 'put ''IE4odm9pZCAwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdyxQLE0sayxPLEwsVCxZO3JldHVybiB6KHRoaXMsZnVuY3Rpb24oSSl7cmV0dXJuKHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSkuaWQ9ai5zdHlsZXMsdy5pbm5lclRleHQ9RiwoUD1kb2N1bWVudC5jcmVh''@;'; put 'put ''dGVFbGVtZW50KCJkaXYiKSkuaWQ9ai5vdmVybGF5LFAuY2xhc3NMaXN0LmFkZChTLnBvcFVwQkcpLChNPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pZD1qLmRpYWxvZyxNLmNsYXNzTGlzdC5hZGQoUy5wb3BVcCksKGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDEiKSkuaW5u''@;'; put 'put ''ZXJUZXh0PSJTZXNzaW9uIEV4cGlyZWQhIixNLmFwcGVuZENoaWxkKGspLE89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksKEw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKS5pbm5lclRleHQ9IllvdSBuZWVkIHRvIHJlbG9naW4sIGNsaWNrIE9LIHRvIGxvZ2luLiIsTy5h''@;'; put 'put ''cHBlbmRDaGlsZChMKSxNLmFwcGVuZENoaWxkKE8pLChUPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpKS5jbGFzc0xpc3QuYWRkKCJjYW5jZWwiKSxULmlubmVyVGV4dD0iQ2FuY2VsIixULm9uY2xpY2s9ZnVuY3Rpb24oKXttKCksRCghMSl9LE0uYXBwZW5kQ2hpbGQoVCksKFk9''@;'; put 'put ''ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIikpLmNsYXNzTGlzdC5hZGQoImNvbmZpcm0iKSxZLmlubmVyVGV4dD0iT2siLFkub25jbGljaz1mdW5jdGlvbigpe20oKSxEKCEwKX0sTS5hcHBlbmRDaGlsZChZKSxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGRv''@;'; put 'put ''Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChQKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKE0pLFsyXX0pfSl9KX07dmFyIG09ZnVuY3Rpb24oKXtPYmplY3QudmFsdWVzKGopLmZvckVhY2goZnVuY3Rpb24oRCl7dmFyIHcsUD1kb2N1bWVu''@;'; put 'put ''dC5nZXRFbGVtZW50QnlJZChEKTtudWxsPT09KHc9bnVsbD09UD92b2lkIDA6UC5wYXJlbnROb2RlKXx8dm9pZCAwPT09d3x8dy5yZW1vdmVDaGlsZChQKX0pLGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9ImF1dG8ifSxGPSJcbi4iLmNvbmNhdChTLnBvcFVwQkcsIiAsXG4uIikuY29u''@;'; put 'put ''Y2F0KFMucG9wVXAsIiB7XG4gIHotaW5kZXg6IDEwMDAwO1xufVxuLiIpLmNvbmNhdChTLnBvcFVwLCIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxh''@;'; put 'put ''eTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA0MCU7XG4gIGxlZnQ6IDUwJTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogJ1BUIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXN0eWxlOiBu''@;'; put 'put ''b25lO1xuICB6LWluZGV4OiA5OTk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAzMDBw''@;'; put 'put ''eDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4uIikuY29uY2F0KFMucG9wVXAsIiA+IGgxIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7''@;'; put 'put ''XG4gIHBhZGRpbmc6IDVweDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXIt''@;'; put 'put ''c3R5bGU6IG5vbmU7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xufVxuLiIpLmNvbmNhdChTLnBvcFVwLCIgPiBkaXYge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLTEwOHB4KTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBi''@;'; put 'put ''bG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDUlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBi''@;'; put 'put ''b3JkZXItY29sb3I6ICNjY2M7XG4gIGJvcmRlci1zdHlsZTogbm9uZSBub25lIHNvbGlkIG5vbmU7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLiIpLmNvbmNhdChTLnBvcFVwLCIgPiBkaXYgPiBzcGFuIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJv''@;'; put 'put ''eDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IDEwOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBi''@;'; put 'put ''b3JkZXItc3R5bGU6IG5vbmU7XG59XG4uIikuY29uY2F0KFMucG9wVXAsIiAuY2FuY2VsIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uIikuY29uY2F0KFMucG9wVXAsIiAuY29uZmlybSB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi4iKS5jb25jYXQoUy5wb3BVcCwiID4gYnV0dG9uIHtcbiAgYm94''@;'; put 'put ''LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDUwJTtcbiAgYm9yZGVyOiAxcHggbm9uZSAjY2NjO1xuICBj''@;'; put 'put ''b2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEsIDEsIDEsIDAuMik7XG59XG4uIikuY29uY2F0KFMucG9wVXAsIiA+IGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6''@;'; put 'put ''IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi4iKS5jb25jYXQoUy5wb3BVcEJHLCIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFk''@;'; put 'put ''ZGluZzogMDtcbiAgb3BhY2l0eTogMC45NTtcbiAgei1pbmRleDogNTA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgjMDM3OGNkLCAjMDEyMDM2KTtcbn1cbiIpfSwyOTIwOihaLEEpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9k''@;'; put 'put ''dWxlIix7dmFsdWU6ITB9KSxBLm5lZWRzUmV0cnk9dm9pZCAwLEEubmVlZHNSZXRyeT1mdW5jdGlvbihqKXtyZXR1cm4hIWomJihqLmluY2x1ZGVzKCciZXJyb3JDb2RlIjo0MDMnKSYmai5pbmNsdWRlcygiX2NzcmYiKSYmai5pbmNsdWRlcygiWC1DU1JGLVRPS0VOIil8fGouaW5jbHVkZXMo''@;'; put 'put ''JyJzdGF0dXMiOjQwMycpJiZqLmluY2x1ZGVzKCciZXJyb3IiOiJGb3JiaWRkZW4iJyl8fGouaW5jbHVkZXMoJyJzdGF0dXMiOjQ0OScpJiZqLmluY2x1ZGVzKCJBdXRoZW50aWNhdGlvbiBzdWNjZXNzLCByZXRyeSBvcmlnaW5hbCByZXF1ZXN0IikpfX0sMjQyMjooWixBKT0+eyJ1c2Ugc3Ry''@;'; put 'put ''aWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5wYXJzZUdlbmVyYXRlZENvZGU9dm9pZCAwLEEucGFyc2VHZW5lcmF0ZWRDb2RlPWZ1bmN0aW9uKGope3JldHVybiBqLnNwbGl0KCJcbiIpLmZpbHRlcihmdW5jdGlvbihOKXtyZXR1cm4gTi50''@;'; put 'put ''cmltKCkuc3RhcnRzV2l0aCgiTVBSSU5UIil9KS5qb2luKCJcclxuIil9fSwzMTooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNTEwOCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEucGFyc2VTYXNWaXlhTG9nPXZvaWQgMCxBLnBhcnNl''@;'; put 'put ''U2FzVml5YUxvZz1mdW5jdGlvbih6KXt2YXIgQzt0cnl7Qz16Lml0ZW1zP3ouaXRlbXMubWFwKGZ1bmN0aW9uKFMpe3JldHVybiBTLmxpbmV9KS5qb2luKCJcbiIpOkpTT04uc3RyaW5naWZ5KHopfWNhdGNoKFMpe04uZXJyb3IoIkFuIGVycm9yIGhhcyBvY2N1cnJlZCB3aGlsZSBwYXJzaW5n''@;'; put 'put ''IHRoZSBsb2cgcmVzcG9uc2UiLFMpLEM9en1yZXR1cm4gQ319LDY1MTU6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEucGFyc2VTb3VyY2VDb2RlPXZvaWQgMCxBLnBhcnNlU291cmNlQ29kZT1mdW5jdGlvbihq''@;'; put 'put ''KXtyZXR1cm4gai5zcGxpdCgiXG4iKS5maWx0ZXIoZnVuY3Rpb24oTil7cmV0dXJuIE4udHJpbSgpLnN1YnN0cmluZygwLDEwKS50cmltU3RhcnQoKS5tYXRjaCgvXlxkLyl9KS5qb2luKCJcclxuIil9fSw2NDE2OmZ1bmN0aW9uKFosQSxqKXsidXNlIHN0cmljdCI7dmFyIE49dGhpcyYmdGhp''@;'; put 'put ''cy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKFMsbSxGLEQpe3JldHVybiBuZXcoRnx8KEY9UHJvbWlzZSkpKGZ1bmN0aW9uKHcsUCl7ZnVuY3Rpb24gTShMKXt0cnl7TyhELm5leHQoTCkpfWNhdGNoKFQpe1AoVCl9fWZ1bmN0aW9uIGsoTCl7dHJ5e08oRC50aHJvdyhMKSl9Y2F0Y2goVCl7UChUKX19''@;'; put 'put ''ZnVuY3Rpb24gTyhMKXt2YXIgVDtMLmRvbmU/dyhMLnZhbHVlKTooVD1MLnZhbHVlLFQgaW5zdGFuY2VvZiBGP1Q6bmV3IEYoZnVuY3Rpb24oWSl7WShUKX0pKS50aGVuKE0sayl9TygoRD1ELmFwcGx5KFMsbXx8W10pKS5uZXh0KCkpfSl9LHo9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVu''@;'; put 'put ''Y3Rpb24oUyxtKXt2YXIgRixELHcsUCxNPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJndbMF0pdGhyb3cgd1sxXTtyZXR1cm4gd1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBQPXtuZXh0OmsoMCksdGhyb3c6aygxKSxyZXR1cm46aygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5''@;'; put 'put ''bWJvbCYmKFBbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksUDtmdW5jdGlvbiBrKE8pe3JldHVybiBmdW5jdGlvbihMKXtyZXR1cm4gZnVuY3Rpb24oVCl7aWYoRil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7''@;'; put 'put ''Zm9yKDtNOyl0cnl7aWYoRj0xLEQmJih3PTImVFswXT9ELnJldHVybjpUWzBdP0QudGhyb3d8fCgodz1ELnJldHVybikmJncuY2FsbChEKSwwKTpELm5leHQpJiYhKHc9dy5jYWxsKEQsVFsxXSkpLmRvbmUpcmV0dXJuIHc7c3dpdGNoKEQ9MCx3JiYoVD1bMiZUWzBdLHcudmFsdWVdKSxUWzBd''@;'; put 'put ''KXtjYXNlIDA6Y2FzZSAxOnc9VDticmVhaztjYXNlIDQ6cmV0dXJuIE0ubGFiZWwrKyx7dmFsdWU6VFsxXSxkb25lOiExfTtjYXNlIDU6TS5sYWJlbCsrLEQ9VFsxXSxUPVswXTtjb250aW51ZTtjYXNlIDc6VD1NLm9wcy5wb3AoKSxNLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZigh''@;'; put 'put ''KCh3PSh3PU0udHJ5cykubGVuZ3RoPjAmJndbdy5sZW5ndGgtMV0pfHw2IT09VFswXSYmMiE9PVRbMF0pKXtNPTA7Y29udGludWV9aWYoMz09PVRbMF0mJighd3x8VFsxXT53WzBdJiZUWzFdPHdbM10pKXtNLmxhYmVsPVRbMV07YnJlYWt9aWYoNj09PVRbMF0mJk0ubGFiZWw8d1sxXSl7TS5s''@;'; put 'put ''YWJlbD13WzFdLHc9VDticmVha31pZih3JiZNLmxhYmVsPHdbMl0pe00ubGFiZWw9d1syXSxNLm9wcy5wdXNoKFQpO2JyZWFrfXdbMl0mJk0ub3BzLnBvcCgpLE0udHJ5cy5wb3AoKTtjb250aW51ZX1UPW0uY2FsbChTLE0pfWNhdGNoKFkpe1Q9WzYsWV0sRD0wfWZpbmFsbHl7Rj13PTB9aWYo''@;'; put 'put ''NSZUWzBdKXRocm93IFRbMV07cmV0dXJue3ZhbHVlOlRbMF0/VFsxXTp2b2lkIDAsZG9uZTohMH19KFtPLExdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5wYXJzZVNhc1ZpeWFEZWJ1Z1Jlc3BvbnNlPXZvaWQgMDt2YXIgQz1qKDU5Mjgp''@;'; put 'put ''O0EucGFyc2VTYXNWaXlhRGVidWdSZXNwb25zZT1mdW5jdGlvbihTLG0sRil7cmV0dXJuIE4odm9pZCAwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgRCx3O3JldHVybiB6KHRoaXMsZnVuY3Rpb24oUCl7aWYoRD1TLnNwbGl0KC88aWZyYW1lIHN0eWxlPSJ3aWR0aDogOTklOyBoZWln''@;'; put 'put ''aHQ6IDUwMHB4IiBzcmM9Inw8aWZyYW1lIHN0eWxlPSJ3aWR0aDogOTklOyBoZWlnaHQ6IDUwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOkNhbnZhczsiIHNyYz0vKVsxXSwhKHc9RD9ELnNwbGl0KC8iPjxcL2lmcmFtZT58PjxcL2lmcmFtZT4vKVswXTpudWxsKSl0aHJvdyBuZXcgRXJyb3IoIlVu''@;'; put 'put ''YWJsZSB0byBmaW5kIHdlYm91dCBmaWxlIFVSTC4iKTtyZXR1cm5bMixtLmdldChGK3csdm9pZCAwLCJ0ZXh0L3BsYWluIikudGhlbihmdW5jdGlvbihNKXtyZXR1cm4oMCxDLmdldFZhbGlkSnNvbikoTS5yZXN1bHQpfSldfSl9KX19LDI4MTM6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIg''@;'; put 'put ''Tj1qKDUxMDgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxBLnBhcnNlV2Vib3V0UmVzcG9uc2U9dm9pZCAwO3ZhciB6PWooMTM5NSk7QS5wYXJzZVdlYm91dFJlc3BvbnNlPWZ1bmN0aW9uKEMsUyl7dmFyIG09IiI7aWYoQy5pbmNsdWRlcygiPj53''@;'; put 'put ''ZWJvdXRCRUdJTjw8IikpdHJ5e209Qy5zcGxpdCgiPj53ZWJvdXRCRUdJTjw8IilbMV0uc3BsaXQoIj4+d2Vib3V0RU5EPDwiKVswXX1jYXRjaChGKXtpZihTKXRocm93IG5ldyB6LldlYm91dFJlc3BvbnNlRXJyb3IoUyk7bT0iIixOLmVycm9yKEYpfXJldHVybiBtfX0sOTg5NjooWixBKT0+''@;'; put 'put ''eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQS5zZXJpYWxpemU9dm9pZCAwLEEuc2VyaWFsaXplPWZ1bmN0aW9uKGope3ZhciBOPVtdO2Zvcih2YXIgeiBpbiBqKWlmKGouaGFzT3duUHJvcGVydHkoeikpaWYoalt6XWluc3Rh''@;'; put 'put ''bmNlb2YgQXJyYXkpZm9yKHZhciBDPTAsUz1qW3pdLmxlbmd0aDtDPFM7QysrKU4ucHVzaChlbmNvZGVVUklDb21wb25lbnQoeikrIj0iK2VuY29kZVVSSUNvbXBvbmVudChqW3pdW0NdKSk7ZWxzZSBOLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KHopKyI9IitlbmNvZGVVUklDb21wb25lbnQo''@;'; put 'put ''alt6XSkpO3JldHVybiBOLmpvaW4oIiYiKX19LDQ3OTk6KFosQSk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLEEuc3BsaXRDaHVua3M9dm9pZCAwLEEuc3BsaXRDaHVua3M9ZnVuY3Rpb24oail7Zm9yKHZhciBOPTE2ZTMs''@;'; put 'put ''ej1NYXRoLmNlaWwoai5sZW5ndGgvTiksQz1uZXcgQXJyYXkoeiksUz0wLG09MDtTPHo7KytTLG0rPU4pQ1tTXT1qLnN1YnN0cihtLE4pO3JldHVybiBDfX0sNDUxNjooWixBKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSks''@;'; put 'put ''QS52YWxpZGF0ZUlucHV0PUEuSU5WQUxJRF9UQUJMRV9TVFJVQ1RVUkU9QS5NT1JFX0lORk89dm9pZCAwLEEuTU9SRV9JTkZPPSJGb3IgbW9yZSBpbmZvIHNlZSBodHRwczovL3Nhc2pzLmlvL3Nhc2pzLWFkYXB0ZXIvI3JlcXVlc3QtcmVzcG9uc2UiLEEuSU5WQUxJRF9UQUJMRV9TVFJVQ1RV''@;'; put 'put ''UkU9IlBhcmFtZXRlciBkYXRhIGNvbnRhaW5zIGludmFsaWQgdGFibGUgc3RydWN0dXJlLiAiLmNvbmNhdChBLk1PUkVfSU5GTyksQS52YWxpZGF0ZUlucHV0PWZ1bmN0aW9uKE4pe2lmKG51bGw9PT1OKXJldHVybntzdGF0dXM6ITAsbXNnOiIifTtpZigib2JqZWN0IiE9PWooTikpcmV0dXJu''@;'; put 'put ''e3N0YXR1czohMSxtc2c6QS5JTlZBTElEX1RBQkxFX1NUUlVDVFVSRX07dmFyIHo9ZnVuY3Rpb24oTSl7cmV0dXJuIE0ubWF0Y2goL15cJC4qLykmJk9iamVjdC5rZXlzKE4pLmluY2x1ZGVzKE0ucmVwbGFjZSgvXlwkLywiIikpfTtmb3IodmFyIEMgaW4gTil7aWYoIUMubWF0Y2goL15bYS16''@;'; put 'put ''QS1aX10vKSYmIXooQykpcmV0dXJue3N0YXR1czohMSxtc2c6IkZpcnN0IGxldHRlciBvZiB0YWJsZSBzaG91bGQgYmUgYWxwaGFiZXQgb3IgdW5kZXJzY29yZS4ifTtpZighQy5tYXRjaCgvXlthLXpBLVpfXVthLXpBLVowLTlfXSokLykmJiF6KEMpKXJldHVybntzdGF0dXM6ITEsbXNnOiJU''@;'; put 'put ''YWJsZSBuYW1lIHNob3VsZCBiZSBhbHBoYW51bWVyaWMuIn07aWYoQy5sZW5ndGg+MzIpcmV0dXJue3N0YXR1czohMSxtc2c6Ik1heGltdW0gbGVuZ3RoIGZvciB0YWJsZSBuYW1lIGNvdWxkIGJlIDMyIGNoYXJhY3RlcnMuIn07aWYoIkFycmF5IiE9PWooTltDXSkmJiF6KEMpKXJldHVybntz''@;'; put 'put ''dGF0dXM6ITEsbXNnOkEuSU5WQUxJRF9UQUJMRV9TVFJVQ1RVUkV9O2Zvcih2YXIgUz0wLG09TltDXTtTPG0ubGVuZ3RoO1MrKyl7dmFyIEY9bVtTXTtpZigib2JqZWN0IiE9PWooRikpcmV0dXJue3N0YXR1czohMSxtc2c6IlRhYmxlICIuY29uY2F0KEMsIiBjb250YWlucyBpbnZhbGlkIHN0''@;'; put 'put ''cnVjdHVyZS4gIikuY29uY2F0KEEuTU9SRV9JTkZPKX07Zm9yKHZhciBEPTAsdz1PYmplY3Qua2V5cyhGKTtEPHcubGVuZ3RoO0QrKyl7dmFyIFA9d1tEXTtpZih2b2lkIDA9PT1GW1BdKXJldHVybntzdGF0dXM6ITEsbXNnOiJBIHJvdyBpbiB0YWJsZSAiLmNvbmNhdChDLCIgY29udGFpbnMg''@;'; put 'put ''aW52YWxpZCB2YWx1ZS4gQ2FuJ3QgYXNzaWduIHVuZGVmaW5lZCB0byAiKS5jb25jYXQoUCwiLiIpfX19fXJldHVybntzdGF0dXM6ITAsbXNnOiIifX07dmFyIGo9ZnVuY3Rpb24oTil7cmV0dXJuIEFycmF5LmlzQXJyYXkoTik/IkFycmF5Ijp0eXBlb2YgTn19LDg5ODE6KFosQSk9PnsidXNl''@;'; put 'put ''IHN0cmljdCI7QS5mcm9tQ2FsbGJhY2s9ZnVuY3Rpb24oail7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW5jdGlvbiguLi5OKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgTltOLmxlbmd0aC0xXSlyZXR1cm4gbmV3IFByb21pc2UoKHosQyk9PntqLmNhbGwodGhpcywuLi5OLChTLG0p''@;'; put 'put ''PT5udWxsIT1TP0MoUyk6eihtKSl9KTtqLmFwcGx5KHRoaXMsTil9LCJuYW1lIix7dmFsdWU6ai5uYW1lfSl9LEEuZnJvbVByb21pc2U9ZnVuY3Rpb24oail7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW5jdGlvbiguLi5OKXtjb25zdCB6PU5bTi5sZW5ndGgtMV07aWYoImZ1bmN0''@;'; put 'put ''aW9uIiE9dHlwZW9mIHopcmV0dXJuIGouYXBwbHkodGhpcyxOKTtqLmFwcGx5KHRoaXMsTi5zbGljZSgwLC0xKSkudGhlbihDPT56KG51bGwsQykseil9LCJuYW1lIix7dmFsdWU6ai5uYW1lfSl9fSwyNTExOmZ1bmN0aW9uKFosQSxqKXt2YXIgTjtaPWoubm1kKFopLGZ1bmN0aW9uKHope3Zh''@;'; put 'put ''ciBTLG09MjE0NzQ4MzY0NyxGPTM2LEQ9L154bi0tLyx3PS9bXlx4MjAtXHg3RV0vLFA9L1tceDJFXHUzMDAyXHVGRjBFXHVGRjYxXS9nLE09e292ZXJmbG93OiJPdmVyZmxvdzogaW5wdXQgbmVlZHMgd2lkZXIgaW50ZWdlcnMgdG8gcHJvY2VzcyIsIm5vdC1iYXNpYyI6IklsbGVnYWwgaW5w''@;'; put 'put ''dXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCkiLCJpbnZhbGlkLWlucHV0IjoiSW52YWxpZCBpbnB1dCJ9LGs9TWF0aC5mbG9vcixPPVN0cmluZy5mcm9tQ2hhckNvZGU7ZnVuY3Rpb24gTChKKXt0aHJvdyBSYW5nZUVycm9yKE1bSl0pfWZ1bmN0aW9uIFQoSiwkKXtmb3IodmFy''@;'; put 'put ''IHRlPUoubGVuZ3RoLGg9W107dGUtLTspaFt0ZV09JChKW3RlXSk7cmV0dXJuIGh9ZnVuY3Rpb24gWShKLCQpe3ZhciB0ZT1KLnNwbGl0KCJAIiksaD0iIjtyZXR1cm4gdGUubGVuZ3RoPjEmJihoPXRlWzBdKyJAIixKPXRlWzFdKSxoK1QoKEo9Si5yZXBsYWNlKFAsIi4iKSkuc3BsaXQoIi4i''@;'; put 'put ''KSwkKS5qb2luKCIuIil9ZnVuY3Rpb24gSShKKXtmb3IodmFyICQsdGUsaD1bXSxiPTAseT1KLmxlbmd0aDtiPHk7KSgkPUouY2hhckNvZGVBdChiKyspKT49NTUyOTYmJiQ8PTU2MzE5JiZiPHk/NTYzMjA9PSg2NDUxMiYodGU9Si5jaGFyQ29kZUF0KGIrKykpKT9oLnB1c2goKCgxMDIzJiQp''@;'; put 'put ''PDwxMCkrKDEwMjMmdGUpKzY1NTM2KTooaC5wdXNoKCQpLGItLSk6aC5wdXNoKCQpO3JldHVybiBofWZ1bmN0aW9uIFUoSil7cmV0dXJuIFQoSixmdW5jdGlvbigkKXt2YXIgdGU9IiI7cmV0dXJuICQ+NjU1MzUmJih0ZSs9TygoJC09NjU1MzYpPj4+MTAmMTAyM3w1NTI5NiksJD01NjMyMHwx''@;'; put 'put ''MDIzJiQpLHRlK08oJCl9KS5qb2luKCIiKX1mdW5jdGlvbiBWKEosJCl7cmV0dXJuIEorMjIrNzUqKEo8MjYpLSgoMCE9JCk8PDUpfWZ1bmN0aW9uIFIoSiwkLHRlKXt2YXIgaD0wO2ZvcihKPXRlP2soSi83MDApOko+PjEsSis9ayhKLyQpO0o+NDU1O2grPUYpSj1rKEovMzUpO3JldHVybiBr''@;'; put 'put ''KGgrMzYqSi8oSiszOCkpfWZ1bmN0aW9uIEIoSil7dmFyICQsdGUsaCxiLHkscCxnLF8sRSxXLEcsWD1bXSxuZT1KLmxlbmd0aCxhZT0wLHVlPTEyOCxiZT03Mjtmb3IoKHRlPUoubGFzdEluZGV4T2YoIi0iKSk8MCYmKHRlPTApLGg9MDtoPHRlOysraClKLmNoYXJDb2RlQXQoaCk+PTEyOCYm''@;'; put 'put ''TCgibm90LWJhc2ljIiksWC5wdXNoKEouY2hhckNvZGVBdChoKSk7Zm9yKGI9dGU+MD90ZSsxOjA7YjxuZTspe2Zvcih5PWFlLHA9MSxnPUY7Yj49bmUmJkwoImludmFsaWQtaW5wdXQiKSwoKF89KEc9Si5jaGFyQ29kZUF0KGIrKykpLTQ4PDEwP0ctMjI6Ry02NTwyNj9HLTY1OkctOTc8MjY/''@;'; put 'put ''Ry05NzpGKT49Rnx8Xz5rKChtLWFlKS9wKSkmJkwoIm92ZXJmbG93IiksYWUrPV8qcCwhKF88KEU9Zzw9YmU/MTpnPj1iZSsyNj8yNjpnLWJlKSk7Zys9RilwPmsobS8oVz1GLUUpKSYmTCgib3ZlcmZsb3ciKSxwKj1XO2JlPVIoYWUteSwkPVgubGVuZ3RoKzEsMD09eSksayhhZS8kKT5tLXVl''@;'; put 'put ''JiZMKCJvdmVyZmxvdyIpLHVlKz1rKGFlLyQpLGFlJT0kLFguc3BsaWNlKGFlKyssMCx1ZSl9cmV0dXJuIFUoWCl9ZnVuY3Rpb24gcShKKXt2YXIgJCx0ZSxoLGIseSxwLGcsXyxFLFcsRyxYLG5lLGFlLHVlLGJlPVtdO2ZvcihYPShKPUkoSikpLmxlbmd0aCwkPTEyOCx0ZT0wLHk9NzIscD0w''@;'; put 'put ''O3A8WDsrK3ApKEc9SltwXSk8MTI4JiZiZS5wdXNoKE8oRykpO2ZvcihoPWI9YmUubGVuZ3RoLGImJmJlLnB1c2goIi0iKTtoPFg7KXtmb3IoZz1tLHA9MDtwPFg7KytwKShHPUpbcF0pPj0kJiZHPGcmJihnPUcpO2ZvcihnLSQ+aygobS10ZSkvKG5lPWgrMSkpJiZMKCJvdmVyZmxvdyIpLHRl''@;'; put 'put ''Kz0oZy0kKSpuZSwkPWcscD0wO3A8WDsrK3ApaWYoKEc9SltwXSk8JCYmKyt0ZT5tJiZMKCJvdmVyZmxvdyIpLEc9PSQpe2ZvcihfPXRlLEU9RjshKF88KFc9RTw9eT8xOkU+PXkrMjY/MjY6RS15KSk7RSs9RiliZS5wdXNoKE8oVihXKyh1ZT1fLVcpJShhZT1GLVcpLDApKSksXz1rKHVlL2Fl''@;'; put 'put ''KTtiZS5wdXNoKE8oVihfLDApKSkseT1SKHRlLG5lLGg9PWIpLHRlPTAsKytofSsrdGUsKyskfXJldHVybiBiZS5qb2luKCIiKX1TPXt2ZXJzaW9uOiIxLjMuMiIsdWNzMjp7ZGVjb2RlOkksZW5jb2RlOlV9LGRlY29kZTpCLGVuY29kZTpxLHRvQVNDSUk6ZnVuY3Rpb24oSil7cmV0dXJuIFko''@;'; put 'put ''SixmdW5jdGlvbigkKXtyZXR1cm4gdy50ZXN0KCQpPyJ4bi0tIitxKCQpOiR9KX0sdG9Vbmljb2RlOmZ1bmN0aW9uKEope3JldHVybiBZKEosZnVuY3Rpb24oJCl7cmV0dXJuIEQudGVzdCgkKT9CKCQuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSk6JH0pfX0sdm9pZCAwPT09KE49ZnVuY3Rpb24o''@;'; put 'put ''KXtyZXR1cm4gU30uY2FsbChBLGosQSxaKSl8fChaLmV4cG9ydHM9Til9KCl9LDg1NzU6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDI1MTEpLHo9aigyNTAyKTtmdW5jdGlvbiBDKCl7dGhpcy5wcm90b2NvbD1udWxsLHRoaXMuc2xhc2hlcz1udWxsLHRoaXMuYXV0aD1udWxsLHRo''@;'; put 'put ''aXMuaG9zdD1udWxsLHRoaXMucG9ydD1udWxsLHRoaXMuaG9zdG5hbWU9bnVsbCx0aGlzLmhhc2g9bnVsbCx0aGlzLnNlYXJjaD1udWxsLHRoaXMucXVlcnk9bnVsbCx0aGlzLnBhdGhuYW1lPW51bGwsdGhpcy5wYXRoPW51bGwsdGhpcy5ocmVmPW51bGx9QS5RYz1VO3ZhciBTPS9eKFthLXow''@;'; put 'put ''LTkuKy1dKzopL2ksbT0vOlswLTldKiQvLEY9L14oXC9cLz8oPyFcLylbXlw/XHNdKikoXD9bXlxzXSopPyQvLEQ9WyJ7IiwifSIsInwiLCJcXCIsIl4iLCJgIl0uY29uY2F0KFsiPCIsIj4iLCciJywiYCIsIiAiLCJcciIsIlxuIiwiXHQiXSksdz1bIiciXS5jb25jYXQoRCksUD1bIiUiLCIv''@;'; put 'put ''IiwiPyIsIjsiLCIjIl0uY29uY2F0KHcpLE09WyIvIiwiPyIsIiMiXSxrPS9eWythLXowLTlBLVpfLV17MCw2M30kLyxPPS9eKFsrYS16MC05QS1aXy1dezAsNjN9KSguKikkLyxMPXtqYXZhc2NyaXB0OiEwLCJqYXZhc2NyaXB0OiI6ITB9LFQ9e2phdmFzY3JpcHQ6ITAsImphdmFzY3JpcHQ6''@;'; put 'put ''IjohMH0sWT17aHR0cDohMCxodHRwczohMCxmdHA6ITAsZ29waGVyOiEwLGZpbGU6ITAsImh0dHA6IjohMCwiaHR0cHM6IjohMCwiZnRwOiI6ITAsImdvcGhlcjoiOiEwLCJmaWxlOiI6ITB9LEk9aig3NjczKTtmdW5jdGlvbiBVKFYsUixCKXtpZihWJiZ6LmlzT2JqZWN0KFYpJiZWIGluc3Rh''@;'; put 'put ''bmNlb2YgQylyZXR1cm4gVjt2YXIgcT1uZXcgQztyZXR1cm4gcS5wYXJzZShWLFIsQikscX1DLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihWLFIsQil7aWYoIXouaXNTdHJpbmcoVikpdGhyb3cgbmV3IFR5cGVFcnJvcigiUGFyYW1ldGVyICd1cmwnIG11c3QgYmUgYSBzdHJpbmcsIG5vdCAi''@;'; put 'put ''K3R5cGVvZiBWKTt2YXIgcT1WLmluZGV4T2YoIj8iKSxKPS0xIT09cSYmcTxWLmluZGV4T2YoIiMiKT8iPyI6IiMiLCQ9Vi5zcGxpdChKKTskWzBdPSRbMF0ucmVwbGFjZSgvXFwvZywiLyIpO3ZhciB0ZT1WPSQuam9pbihKKTtpZih0ZT10ZS50cmltKCksIUImJjE9PT1WLnNwbGl0KCIjIiku''@;'; put 'put ''bGVuZ3RoKXt2YXIgaD1GLmV4ZWModGUpO2lmKGgpcmV0dXJuIHRoaXMucGF0aD10ZSx0aGlzLmhyZWY9dGUsdGhpcy5wYXRobmFtZT1oWzFdLGhbMl0/KHRoaXMuc2VhcmNoPWhbMl0sdGhpcy5xdWVyeT1SP0kucGFyc2UodGhpcy5zZWFyY2guc3Vic3RyKDEpKTp0aGlzLnNlYXJjaC5zdWJz''@;'; put 'put ''dHIoMSkpOlImJih0aGlzLnNlYXJjaD0iIix0aGlzLnF1ZXJ5PXt9KSx0aGlzfXZhciBiPVMuZXhlYyh0ZSk7aWYoYil7dmFyIHk9KGI9YlswXSkudG9Mb3dlckNhc2UoKTt0aGlzLnByb3RvY29sPXksdGU9dGUuc3Vic3RyKGIubGVuZ3RoKX1pZihCfHxifHx0ZS5tYXRjaCgvXlwvXC9bXkBc''@;'; put 'put ''L10rQFteQFwvXSsvKSl7dmFyIHA9Ii8vIj09PXRlLnN1YnN0cigwLDIpOyFwfHxiJiZUW2JdfHwodGU9dGUuc3Vic3RyKDIpLHRoaXMuc2xhc2hlcz0hMCl9aWYoIVRbYl0mJihwfHxiJiYhWVtiXSkpe2Zvcih2YXIgZyxfLEU9LTEsVz0wO1c8TS5sZW5ndGg7VysrKS0xIT09KEc9dGUuaW5k''@;'; put 'put ''ZXhPZihNW1ddKSkmJigtMT09PUV8fEc8RSkmJihFPUcpO2ZvcigtMSE9PShfPS0xPT09RT90ZS5sYXN0SW5kZXhPZigiQCIpOnRlLmxhc3RJbmRleE9mKCJAIixFKSkmJihnPXRlLnNsaWNlKDAsXyksdGU9dGUuc2xpY2UoXysxKSx0aGlzLmF1dGg9ZGVjb2RlVVJJQ29tcG9uZW50KGcpKSxF''@;'; put 'put ''PS0xLFc9MDtXPFAubGVuZ3RoO1crKyl7dmFyIEc7LTEhPT0oRz10ZS5pbmRleE9mKFBbV10pKSYmKC0xPT09RXx8RzxFKSYmKEU9Ryl9LTE9PT1FJiYoRT10ZS5sZW5ndGgpLHRoaXMuaG9zdD10ZS5zbGljZSgwLEUpLHRlPXRlLnNsaWNlKEUpLHRoaXMucGFyc2VIb3N0KCksdGhpcy5ob3N0''@;'; put 'put ''bmFtZT10aGlzLmhvc3RuYW1lfHwiIjt2YXIgWD0iWyI9PT10aGlzLmhvc3RuYW1lWzBdJiYiXSI9PT10aGlzLmhvc3RuYW1lW3RoaXMuaG9zdG5hbWUubGVuZ3RoLTFdO2lmKCFYKWZvcih2YXIgbmU9dGhpcy5ob3N0bmFtZS5zcGxpdCgvXC4vKSxhZT0oVz0wLG5lLmxlbmd0aCk7VzxhZTtX''@;'; put 'put ''Kyspe3ZhciB1ZT1uZVtXXTtpZih1ZSYmIXVlLm1hdGNoKGspKXtmb3IodmFyIGJlPSIiLF9lPTAsbGU9dWUubGVuZ3RoO19lPGxlO19lKyspdWUuY2hhckNvZGVBdChfZSk+MTI3P2JlKz0ieCI6YmUrPXVlW19lXTtpZighYmUubWF0Y2goaykpe3ZhciBjZT1uZS5zbGljZSgwLFcpLHBlPW5l''@;'; put 'put ''LnNsaWNlKFcrMSksd2U9dWUubWF0Y2goTyk7d2UmJihjZS5wdXNoKHdlWzFdKSxwZS51bnNoaWZ0KHdlWzJdKSkscGUubGVuZ3RoJiYodGU9Ii8iK3BlLmpvaW4oIi4iKSt0ZSksdGhpcy5ob3N0bmFtZT1jZS5qb2luKCIuIik7YnJlYWt9fX10aGlzLmhvc3RuYW1lPXRoaXMuaG9zdG5hbWUu''@;'; put 'put ''bGVuZ3RoPjI1NT8iIjp0aGlzLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCksWHx8KHRoaXMuaG9zdG5hbWU9Ti50b0FTQ0lJKHRoaXMuaG9zdG5hbWUpKTt2YXIgVWU9dGhpcy5wb3J0PyI6Iit0aGlzLnBvcnQ6IiI7dGhpcy5ob3N0PSh0aGlzLmhvc3RuYW1lfHwiIikrVWUsdGhpcy5ocmVmKz10''@;'; put 'put ''aGlzLmhvc3QsWCYmKHRoaXMuaG9zdG5hbWU9dGhpcy5ob3N0bmFtZS5zdWJzdHIoMSx0aGlzLmhvc3RuYW1lLmxlbmd0aC0yKSwiLyIhPT10ZVswXSYmKHRlPSIvIit0ZSkpfWlmKCFMW3ldKWZvcihXPTAsYWU9dy5sZW5ndGg7VzxhZTtXKyspe3ZhciBFZT13W1ddO2lmKC0xIT09dGUuaW5k''@;'; put 'put ''ZXhPZihFZSkpe3ZhciB3dD1lbmNvZGVVUklDb21wb25lbnQoRWUpO3d0PT09RWUmJih3dD1lc2NhcGUoRWUpKSx0ZT10ZS5zcGxpdChFZSkuam9pbih3dCl9fXZhciBOZT10ZS5pbmRleE9mKCIjIik7LTEhPT1OZSYmKHRoaXMuaGFzaD10ZS5zdWJzdHIoTmUpLHRlPXRlLnNsaWNlKDAsTmUp''@;'; put 'put ''KTt2YXIgSGU9dGUuaW5kZXhPZigiPyIpO3JldHVybi0xIT09SGU/KHRoaXMuc2VhcmNoPXRlLnN1YnN0cihIZSksdGhpcy5xdWVyeT10ZS5zdWJzdHIoSGUrMSksUiYmKHRoaXMucXVlcnk9SS5wYXJzZSh0aGlzLnF1ZXJ5KSksdGU9dGUuc2xpY2UoMCxIZSkpOlImJih0aGlzLnNlYXJjaD0i''@;'; put 'put ''Iix0aGlzLnF1ZXJ5PXt9KSx0ZSYmKHRoaXMucGF0aG5hbWU9dGUpLFlbeV0mJnRoaXMuaG9zdG5hbWUmJiF0aGlzLnBhdGhuYW1lJiYodGhpcy5wYXRobmFtZT0iLyIpLCh0aGlzLnBhdGhuYW1lfHx0aGlzLnNlYXJjaCkmJih0aGlzLnBhdGg9KFVlPXRoaXMucGF0aG5hbWV8fCIiKSsodGhp''@;'; put 'put ''cy5zZWFyY2h8fCIiKSksdGhpcy5ocmVmPXRoaXMuZm9ybWF0KCksdGhpc30sQy5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKCl7dmFyIFY9dGhpcy5hdXRofHwiIjtWJiYoVj0oVj1lbmNvZGVVUklDb21wb25lbnQoVikpLnJlcGxhY2UoLyUzQS9pLCI6IiksVis9IkAiKTt2YXIgUj10aGlz''@;'; put 'put ''LnByb3RvY29sfHwiIixCPXRoaXMucGF0aG5hbWV8fCIiLHE9dGhpcy5oYXNofHwiIixKPSExLCQ9IiI7dGhpcy5ob3N0P0o9Vit0aGlzLmhvc3Q6dGhpcy5ob3N0bmFtZSYmKEo9VisoLTE9PT10aGlzLmhvc3RuYW1lLmluZGV4T2YoIjoiKT90aGlzLmhvc3RuYW1lOiJbIit0aGlzLmhvc3Ru''@;'; put 'put ''YW1lKyJdIiksdGhpcy5wb3J0JiYoSis9IjoiK3RoaXMucG9ydCkpLHRoaXMucXVlcnkmJnouaXNPYmplY3QodGhpcy5xdWVyeSkmJk9iamVjdC5rZXlzKHRoaXMucXVlcnkpLmxlbmd0aCYmKCQ9SS5zdHJpbmdpZnkodGhpcy5xdWVyeSkpO3ZhciB0ZT10aGlzLnNlYXJjaHx8JCYmIj8iKyR8''@;'; put 'put ''fCIiO3JldHVybiBSJiYiOiIhPT1SLnN1YnN0cigtMSkmJihSKz0iOiIpLHRoaXMuc2xhc2hlc3x8KCFSfHxZW1JdKSYmITEhPT1KPyhKPSIvLyIrKEp8fCIiKSxCJiYiLyIhPT1CLmNoYXJBdCgwKSYmKEI9Ii8iK0IpKTpKfHwoSj0iIikscSYmIiMiIT09cS5jaGFyQXQoMCkmJihxPSIjIitx''@;'; put 'put ''KSx0ZSYmIj8iIT09dGUuY2hhckF0KDApJiYodGU9Ij8iK3RlKSxSK0orKEI9Qi5yZXBsYWNlKC9bPyNdL2csZnVuY3Rpb24oaCl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChoKX0pKSsodGU9dGUucmVwbGFjZSgiIyIsIiUyMyIpKStxfSxDLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9u''@;'; put 'put ''KFYpe3JldHVybiB0aGlzLnJlc29sdmVPYmplY3QoVShWLCExLCEwKSkuZm9ybWF0KCl9LEMucHJvdG90eXBlLnJlc29sdmVPYmplY3Q9ZnVuY3Rpb24oVil7aWYoei5pc1N0cmluZyhWKSl7dmFyIFI9bmV3IEM7Ui5wYXJzZShWLCExLCEwKSxWPVJ9Zm9yKHZhciBCPW5ldyBDLHE9T2JqZWN0''@;'; put 'put ''LmtleXModGhpcyksSj0wO0o8cS5sZW5ndGg7SisrKXt2YXIgJD1xW0pdO0JbJF09dGhpc1skXX1pZihCLmhhc2g9Vi5oYXNoLCIiPT09Vi5ocmVmKXJldHVybiBCLmhyZWY9Qi5mb3JtYXQoKSxCO2lmKFYuc2xhc2hlcyYmIVYucHJvdG9jb2wpe2Zvcih2YXIgdGU9T2JqZWN0LmtleXMoViks''@;'; put 'put ''aD0wO2g8dGUubGVuZ3RoO2grKyl7dmFyIGI9dGVbaF07InByb3RvY29sIiE9PWImJihCW2JdPVZbYl0pfXJldHVybiBZW0IucHJvdG9jb2xdJiZCLmhvc3RuYW1lJiYhQi5wYXRobmFtZSYmKEIucGF0aD1CLnBhdGhuYW1lPSIvIiksQi5ocmVmPUIuZm9ybWF0KCksQn1pZihWLnByb3RvY29s''@;'; put 'put ''JiZWLnByb3RvY29sIT09Qi5wcm90b2NvbCl7aWYoIVlbVi5wcm90b2NvbF0pe2Zvcih2YXIgeT1PYmplY3Qua2V5cyhWKSxwPTA7cDx5Lmxlbmd0aDtwKyspe3ZhciBnPXlbcF07QltnXT1WW2ddfXJldHVybiBCLmhyZWY9Qi5mb3JtYXQoKSxCfWlmKEIucHJvdG9jb2w9Vi5wcm90b2NvbCxW''@;'; put 'put ''Lmhvc3R8fFRbVi5wcm90b2NvbF0pQi5wYXRobmFtZT1WLnBhdGhuYW1lO2Vsc2V7Zm9yKHZhciBfPShWLnBhdGhuYW1lfHwiIikuc3BsaXQoIi8iKTtfLmxlbmd0aCYmIShWLmhvc3Q9Xy5zaGlmdCgpKTspO1YuaG9zdHx8KFYuaG9zdD0iIiksVi5ob3N0bmFtZXx8KFYuaG9zdG5hbWU9IiIp''@;'; put 'put ''LCIiIT09X1swXSYmXy51bnNoaWZ0KCIiKSxfLmxlbmd0aDwyJiZfLnVuc2hpZnQoIiIpLEIucGF0aG5hbWU9Xy5qb2luKCIvIil9cmV0dXJuIEIuc2VhcmNoPVYuc2VhcmNoLEIucXVlcnk9Vi5xdWVyeSxCLmhvc3Q9Vi5ob3N0fHwiIixCLmF1dGg9Vi5hdXRoLEIuaG9zdG5hbWU9Vi5ob3N0''@;'; put 'put ''bmFtZXx8Vi5ob3N0LEIucG9ydD1WLnBvcnQsKEIucGF0aG5hbWV8fEIuc2VhcmNoKSYmKEIucGF0aD0oQi5wYXRobmFtZXx8IiIpKyhCLnNlYXJjaHx8IiIpKSxCLnNsYXNoZXM9Qi5zbGFzaGVzfHxWLnNsYXNoZXMsQi5ocmVmPUIuZm9ybWF0KCksQn12YXIgRz1CLnBhdGhuYW1lJiYiLyI9''@;'; put 'put ''PT1CLnBhdGhuYW1lLmNoYXJBdCgwKSxYPVYuaG9zdHx8Vi5wYXRobmFtZSYmIi8iPT09Vi5wYXRobmFtZS5jaGFyQXQoMCksbmU9WHx8R3x8Qi5ob3N0JiZWLnBhdGhuYW1lLGFlPW5lLHVlPUIucGF0aG5hbWUmJkIucGF0aG5hbWUuc3BsaXQoIi8iKXx8W10sYmU9KF89Vi5wYXRobmFtZSYm''@;'; put 'put ''Vi5wYXRobmFtZS5zcGxpdCgiLyIpfHxbXSxCLnByb3RvY29sJiYhWVtCLnByb3RvY29sXSk7aWYoYmUmJihCLmhvc3RuYW1lPSIiLEIucG9ydD1udWxsLEIuaG9zdCYmKCIiPT09dWVbMF0/dWVbMF09Qi5ob3N0OnVlLnVuc2hpZnQoQi5ob3N0KSksQi5ob3N0PSIiLFYucHJvdG9jb2wmJihW''@;'; put 'put ''Lmhvc3RuYW1lPW51bGwsVi5wb3J0PW51bGwsVi5ob3N0JiYoIiI9PT1fWzBdP19bMF09Vi5ob3N0Ol8udW5zaGlmdChWLmhvc3QpKSxWLmhvc3Q9bnVsbCksbmU9bmUmJigiIj09PV9bMF18fCIiPT09dWVbMF0pKSxYKUIuaG9zdD1WLmhvc3R8fCIiPT09Vi5ob3N0P1YuaG9zdDpCLmhvc3Qs''@;'; put 'put ''Qi5ob3N0bmFtZT1WLmhvc3RuYW1lfHwiIj09PVYuaG9zdG5hbWU/Vi5ob3N0bmFtZTpCLmhvc3RuYW1lLEIuc2VhcmNoPVYuc2VhcmNoLEIucXVlcnk9Vi5xdWVyeSx1ZT1fO2Vsc2UgaWYoXy5sZW5ndGgpdWV8fCh1ZT1bXSksdWUucG9wKCksdWU9dWUuY29uY2F0KF8pLEIuc2VhcmNoPVYu''@;'; put 'put ''c2VhcmNoLEIucXVlcnk9Vi5xdWVyeTtlbHNlIGlmKCF6LmlzTnVsbE9yVW5kZWZpbmVkKFYuc2VhcmNoKSlyZXR1cm4gYmUmJihCLmhvc3RuYW1lPUIuaG9zdD11ZS5zaGlmdCgpLCh3ZT0hIShCLmhvc3QmJkIuaG9zdC5pbmRleE9mKCJAIik+MCkmJkIuaG9zdC5zcGxpdCgiQCIpKSYmKEIu''@;'; put 'put ''YXV0aD13ZS5zaGlmdCgpLEIuaG9zdD1CLmhvc3RuYW1lPXdlLnNoaWZ0KCkpKSxCLnNlYXJjaD1WLnNlYXJjaCxCLnF1ZXJ5PVYucXVlcnksei5pc051bGwoQi5wYXRobmFtZSkmJnouaXNOdWxsKEIuc2VhcmNoKXx8KEIucGF0aD0oQi5wYXRobmFtZT9CLnBhdGhuYW1lOiIiKSsoQi5zZWFy''@;'; put 'put ''Y2g/Qi5zZWFyY2g6IiIpKSxCLmhyZWY9Qi5mb3JtYXQoKSxCO2lmKCF1ZS5sZW5ndGgpcmV0dXJuIEIucGF0aG5hbWU9bnVsbCxCLnBhdGg9Qi5zZWFyY2g/Ii8iK0Iuc2VhcmNoOm51bGwsQi5ocmVmPUIuZm9ybWF0KCksQjtmb3IodmFyIF9lPXVlLnNsaWNlKC0xKVswXSxsZT0oQi5ob3N0''@;'; put 'put ''fHxWLmhvc3R8fHVlLmxlbmd0aD4xKSYmKCIuIj09PV9lfHwiLi4iPT09X2UpfHwiIj09PV9lLGNlPTAscGU9dWUubGVuZ3RoO3BlPj0wO3BlLS0pIi4iPT09KF9lPXVlW3BlXSk/dWUuc3BsaWNlKHBlLDEpOiIuLiI9PT1fZT8odWUuc3BsaWNlKHBlLDEpLGNlKyspOmNlJiYodWUuc3BsaWNl''@;'; put 'put ''KHBlLDEpLGNlLS0pO2lmKCFuZSYmIWFlKWZvcig7Y2UtLTtjZSl1ZS51bnNoaWZ0KCIuLiIpOyFuZXx8IiI9PT11ZVswXXx8dWVbMF0mJiIvIj09PXVlWzBdLmNoYXJBdCgwKXx8dWUudW5zaGlmdCgiIiksbGUmJiIvIiE9PXVlLmpvaW4oIi8iKS5zdWJzdHIoLTEpJiZ1ZS5wdXNoKCIiKTt2''@;'; put 'put ''YXIgd2UsVWU9IiI9PT11ZVswXXx8dWVbMF0mJiIvIj09PXVlWzBdLmNoYXJBdCgwKTtyZXR1cm4gYmUmJihCLmhvc3RuYW1lPUIuaG9zdD1VZT8iIjp1ZS5sZW5ndGg/dWUuc2hpZnQoKToiIiwod2U9ISEoQi5ob3N0JiZCLmhvc3QuaW5kZXhPZigiQCIpPjApJiZCLmhvc3Quc3BsaXQoIkAi''@;'; put 'put ''KSkmJihCLmF1dGg9d2Uuc2hpZnQoKSxCLmhvc3Q9Qi5ob3N0bmFtZT13ZS5zaGlmdCgpKSksKG5lPW5lfHxCLmhvc3QmJnVlLmxlbmd0aCkmJiFVZSYmdWUudW5zaGlmdCgiIiksdWUubGVuZ3RoP0IucGF0aG5hbWU9dWUuam9pbigiLyIpOihCLnBhdGhuYW1lPW51bGwsQi5wYXRoPW51bGwp''@;'; put 'put ''LHouaXNOdWxsKEIucGF0aG5hbWUpJiZ6LmlzTnVsbChCLnNlYXJjaCl8fChCLnBhdGg9KEIucGF0aG5hbWU/Qi5wYXRobmFtZToiIikrKEIuc2VhcmNoP0Iuc2VhcmNoOiIiKSksQi5hdXRoPVYuYXV0aHx8Qi5hdXRoLEIuc2xhc2hlcz1CLnNsYXNoZXN8fFYuc2xhc2hlcyxCLmhyZWY9Qi5m''@;'; put 'put ''b3JtYXQoKSxCfSxDLnByb3RvdHlwZS5wYXJzZUhvc3Q9ZnVuY3Rpb24oKXt2YXIgVj10aGlzLmhvc3QsUj1tLmV4ZWMoVik7UiYmKCI6IiE9PShSPVJbMF0pJiYodGhpcy5wb3J0PVIuc3Vic3RyKDEpKSxWPVYuc3Vic3RyKDAsVi5sZW5ndGgtUi5sZW5ndGgpKSxWJiYodGhpcy5ob3N0bmFt''@;'; put 'put ''ZT1WKX19LDI1MDI6Wj0+eyJ1c2Ugc3RyaWN0IjtaLmV4cG9ydHM9e2lzU3RyaW5nOmZ1bmN0aW9uKEEpe3JldHVybiJzdHJpbmciPT10eXBlb2YgQX0saXNPYmplY3Q6ZnVuY3Rpb24oQSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBBJiZudWxsIT09QX0saXNOdWxsOmZ1bmN0aW9uKEEpe3Jl''@;'; put 'put ''dHVybiBudWxsPT09QX0saXNOdWxsT3JVbmRlZmluZWQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PUF9fX0sNDkyNzooWixBLGopPT57dmFyIE49aig1MTA4KTtmdW5jdGlvbiB6KEMpe3RyeXtpZighai5nLmxvY2FsU3RvcmFnZSlyZXR1cm4hMX1jYXRjaChtKXtyZXR1cm4hMX12YXIgUz1q''@;'; put 'put ''LmcubG9jYWxTdG9yYWdlW0NdO3JldHVybiBudWxsIT1TJiYidHJ1ZSI9PT1TdHJpbmcoUykudG9Mb3dlckNhc2UoKX1aLmV4cG9ydHM9ZnVuY3Rpb24oQyxTKXtpZih6KCJub0RlcHJlY2F0aW9uIikpcmV0dXJuIEM7dmFyIG09ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW0pe2lmKHooInRo''@;'; put 'put ''cm93RGVwcmVjYXRpb24iKSl0aHJvdyBuZXcgRXJyb3IoUyk7eigidHJhY2VEZXByZWNhdGlvbiIpP04udHJhY2UoUyk6Ti53YXJuKFMpLG09ITB9cmV0dXJuIEMuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19LDM4NDpaPT57Wi5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBBJiYib2JqZWN0''@;'; put 'put ''Ij09dHlwZW9mIEEmJiJmdW5jdGlvbiI9PXR5cGVvZiBBLmNvcHkmJiJmdW5jdGlvbiI9PXR5cGVvZiBBLmZpbGwmJiJmdW5jdGlvbiI9PXR5cGVvZiBBLnJlYWRVSW50OH19LDU5NTU6KFosQSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDI1ODQpLHo9aig4NjYyKSxDPWooNjQzMCksUz1q''@;'; put 'put ''KDU2OTIpO2Z1bmN0aW9uIG0oRSl7cmV0dXJuIEUuY2FsbC5iaW5kKEUpfXZhciBGPSJ1bmRlZmluZWQiIT10eXBlb2YgQmlnSW50LEQ9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wsdz1tKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpLFA9bShOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Yp''@;'; put 'put ''LE09bShTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YpLGs9bShCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKTtpZihGKXZhciBPPW0oQmlnSW50LnByb3RvdHlwZS52YWx1ZU9mKTtpZihEKXZhciBMPW0oU3ltYm9sLnByb3RvdHlwZS52YWx1ZU9mKTtmdW5jdGlvbiBUKEUsVyl7aWYoIm9iamVj''@;'; put 'put ''dCIhPXR5cGVvZiBFKXJldHVybiExO3RyeXtyZXR1cm4gVyhFKSwhMH1jYXRjaChHKXtyZXR1cm4hMX19ZnVuY3Rpb24gWShFKXtyZXR1cm4iW29iamVjdCBNYXBdIj09PXcoRSl9ZnVuY3Rpb24gSShFKXtyZXR1cm4iW29iamVjdCBTZXRdIj09PXcoRSl9ZnVuY3Rpb24gVShFKXtyZXR1cm4i''@;'; put 'put ''W29iamVjdCBXZWFrTWFwXSI9PT13KEUpfWZ1bmN0aW9uIFYoRSl7cmV0dXJuIltvYmplY3QgV2Vha1NldF0iPT09dyhFKX1mdW5jdGlvbiBSKEUpe3JldHVybiJbb2JqZWN0IEFycmF5QnVmZmVyXSI9PT13KEUpfWZ1bmN0aW9uIEIoRSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJh''@;'; put 'put ''eUJ1ZmZlciYmKFIud29ya2luZz9SKEUpOkUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil9ZnVuY3Rpb24gcShFKXtyZXR1cm4iW29iamVjdCBEYXRhVmlld10iPT09dyhFKX1mdW5jdGlvbiBKKEUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgRGF0YVZpZXcmJihxLndvcmtpbmc/cShFKTpF''@;'; put 'put ''IGluc3RhbmNlb2YgRGF0YVZpZXcpfUEuaXNBcmd1bWVudHNPYmplY3Q9TixBLmlzR2VuZXJhdG9yRnVuY3Rpb249eixBLmlzVHlwZWRBcnJheT1TLEEuaXNQcm9taXNlPWZ1bmN0aW9uKEUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSYmRSBpbnN0YW5jZW9mIFByb21pc2V8''@;'; put 'put ''fG51bGwhPT1FJiYib2JqZWN0Ij09dHlwZW9mIEUmJiJmdW5jdGlvbiI9PXR5cGVvZiBFLnRoZW4mJiJmdW5jdGlvbiI9PXR5cGVvZiBFLmNhdGNofSxBLmlzQXJyYXlCdWZmZXJWaWV3PWZ1bmN0aW9uKEUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVm''@;'; put 'put ''ZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcoRSk6UyhFKXx8SihFKX0sQS5pc1VpbnQ4QXJyYXk9ZnVuY3Rpb24oRSl7cmV0dXJuIlVpbnQ4QXJyYXkiPT09QyhFKX0sQS5pc1VpbnQ4Q2xhbXBlZEFycmF5PWZ1bmN0aW9uKEUpe3JldHVybiJVaW50OENsYW1wZWRBcnJheSI9PT1DKEUp''@;'; put 'put ''fSxBLmlzVWludDE2QXJyYXk9ZnVuY3Rpb24oRSl7cmV0dXJuIlVpbnQxNkFycmF5Ij09PUMoRSl9LEEuaXNVaW50MzJBcnJheT1mdW5jdGlvbihFKXtyZXR1cm4iVWludDMyQXJyYXkiPT09QyhFKX0sQS5pc0ludDhBcnJheT1mdW5jdGlvbihFKXtyZXR1cm4iSW50OEFycmF5Ij09PUMoRSl9''@;'; put 'put ''LEEuaXNJbnQxNkFycmF5PWZ1bmN0aW9uKEUpe3JldHVybiJJbnQxNkFycmF5Ij09PUMoRSl9LEEuaXNJbnQzMkFycmF5PWZ1bmN0aW9uKEUpe3JldHVybiJJbnQzMkFycmF5Ij09PUMoRSl9LEEuaXNGbG9hdDMyQXJyYXk9ZnVuY3Rpb24oRSl7cmV0dXJuIkZsb2F0MzJBcnJheSI9PT1DKEUp''@;'; put 'put ''fSxBLmlzRmxvYXQ2NEFycmF5PWZ1bmN0aW9uKEUpe3JldHVybiJGbG9hdDY0QXJyYXkiPT09QyhFKX0sQS5pc0JpZ0ludDY0QXJyYXk9ZnVuY3Rpb24oRSl7cmV0dXJuIkJpZ0ludDY0QXJyYXkiPT09QyhFKX0sQS5pc0JpZ1VpbnQ2NEFycmF5PWZ1bmN0aW9uKEUpe3JldHVybiJCaWdVaW50''@;'; put 'put ''NjRBcnJheSI9PT1DKEUpfSxZLndvcmtpbmc9InVuZGVmaW5lZCIhPXR5cGVvZiBNYXAmJlkobmV3IE1hcCksQS5pc01hcD1mdW5jdGlvbihFKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCYmKFkud29ya2luZz9ZKEUpOkUgaW5zdGFuY2VvZiBNYXApfSxJLndvcmtpbmc9InVuZGVm''@;'; put 'put ''aW5lZCIhPXR5cGVvZiBTZXQmJkkobmV3IFNldCksQS5pc1NldD1mdW5jdGlvbihFKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFNldCYmKEkud29ya2luZz9JKEUpOkUgaW5zdGFuY2VvZiBTZXQpfSxVLndvcmtpbmc9InVuZGVmaW5lZCIhPXR5cGVvZiBXZWFrTWFwJiZVKG5ldyBXZWFr''@;'; put 'put ''TWFwKSxBLmlzV2Vha01hcD1mdW5jdGlvbihFKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFdlYWtNYXAmJihVLndvcmtpbmc/VShFKTpFIGluc3RhbmNlb2YgV2Vha01hcCl9LFYud29ya2luZz0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYWtTZXQmJlYobmV3IFdlYWtTZXQpLEEuaXNXZWFr''@;'; put 'put ''U2V0PWZ1bmN0aW9uKEUpe3JldHVybiBWKEUpfSxSLndvcmtpbmc9InVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmUihuZXcgQXJyYXlCdWZmZXIpLEEuaXNBcnJheUJ1ZmZlcj1CLHEud29ya2luZz0idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYidW5kZWZpbmVkIiE9''@;'; put 'put ''dHlwZW9mIERhdGFWaWV3JiZxKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMSksMCwxKSksQS5pc0RhdGFWaWV3PUo7dmFyICQ9InVuZGVmaW5lZCIhPXR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcj9TaGFyZWRBcnJheUJ1ZmZlcjp2b2lkIDA7ZnVuY3Rpb24gdGUoRSl7cmV0dXJuIltv''@;'; put 'put ''YmplY3QgU2hhcmVkQXJyYXlCdWZmZXJdIj09PXcoRSl9ZnVuY3Rpb24gaChFKXtyZXR1cm4gdm9pZCAwIT09JCYmKHZvaWQgMD09PXRlLndvcmtpbmcmJih0ZS53b3JraW5nPXRlKG5ldyAkKSksdGUud29ya2luZz90ZShFKTpFIGluc3RhbmNlb2YgJCl9ZnVuY3Rpb24gYihFKXtyZXR1cm4g''@;'; put 'put ''VChFLFApfWZ1bmN0aW9uIHkoRSl7cmV0dXJuIFQoRSxNKX1mdW5jdGlvbiBwKEUpe3JldHVybiBUKEUsayl9ZnVuY3Rpb24gZyhFKXtyZXR1cm4gRiYmVChFLE8pfWZ1bmN0aW9uIF8oRSl7cmV0dXJuIEQmJlQoRSxMKX1BLmlzU2hhcmVkQXJyYXlCdWZmZXI9aCxBLmlzQXN5bmNGdW5jdGlv''@;'; put 'put ''bj1mdW5jdGlvbihFKXtyZXR1cm4iW29iamVjdCBBc3luY0Z1bmN0aW9uXSI9PT13KEUpfSxBLmlzTWFwSXRlcmF0b3I9ZnVuY3Rpb24oRSl7cmV0dXJuIltvYmplY3QgTWFwIEl0ZXJhdG9yXSI9PT13KEUpfSxBLmlzU2V0SXRlcmF0b3I9ZnVuY3Rpb24oRSl7cmV0dXJuIltvYmplY3QgU2V0''@;'; put 'put ''IEl0ZXJhdG9yXSI9PT13KEUpfSxBLmlzR2VuZXJhdG9yT2JqZWN0PWZ1bmN0aW9uKEUpe3JldHVybiJbb2JqZWN0IEdlbmVyYXRvcl0iPT09dyhFKX0sQS5pc1dlYkFzc2VtYmx5Q29tcGlsZWRNb2R1bGU9ZnVuY3Rpb24oRSl7cmV0dXJuIltvYmplY3QgV2ViQXNzZW1ibHkuTW9kdWxlXSI9''@;'; put 'put ''PT13KEUpfSxBLmlzTnVtYmVyT2JqZWN0PWIsQS5pc1N0cmluZ09iamVjdD15LEEuaXNCb29sZWFuT2JqZWN0PXAsQS5pc0JpZ0ludE9iamVjdD1nLEEuaXNTeW1ib2xPYmplY3Q9XyxBLmlzQm94ZWRQcmltaXRpdmU9ZnVuY3Rpb24oRSl7cmV0dXJuIGIoRSl8fHkoRSl8fHAoRSl8fGcoRSl8''@;'; put 'put ''fF8oRSl9LEEuaXNBbnlBcnJheUJ1ZmZlcj1mdW5jdGlvbihFKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFVpbnQ4QXJyYXkmJihCKEUpfHxoKEUpKX0sWyJpc1Byb3h5IiwiaXNFeHRlcm5hbCIsImlzTW9kdWxlTmFtZXNwYWNlT2JqZWN0Il0uZm9yRWFjaChmdW5jdGlvbihFKXtPYmpl''@;'; put 'put ''Y3QuZGVmaW5lUHJvcGVydHkoQSxFLHtlbnVtZXJhYmxlOiExLHZhbHVlOmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKEUrIiBpcyBub3Qgc3VwcG9ydGVkIGluIHVzZXJsYW5kIil9fSl9KX0sOTUzOTooWixBLGopPT57dmFyIE49aig0MTU1KSx6PWooNTEwOCksQz1PYmplY3QuZ2V0T3du''@;'; put 'put ''UHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24oVyl7Zm9yKHZhciBHPU9iamVjdC5rZXlzKFcpLFg9e30sbmU9MDtuZTxHLmxlbmd0aDtuZSsrKVhbR1tuZV1dPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVyxHW25lXSk7cmV0dXJuIFh9LFM9LyVbc2RqJV0vZztBLmZvcm1h''@;'; put 'put ''dD1mdW5jdGlvbihXKXtpZighVihXKSl7Zm9yKHZhciBHPVtdLFg9MDtYPGFyZ3VtZW50cy5sZW5ndGg7WCsrKUcucHVzaCh3KGFyZ3VtZW50c1tYXSkpO3JldHVybiBHLmpvaW4oIiAiKX1YPTE7Zm9yKHZhciBuZT1hcmd1bWVudHMsYWU9bmUubGVuZ3RoLHVlPVN0cmluZyhXKS5yZXBsYWNl''@;'; put 'put ''KFMsZnVuY3Rpb24oX2Upe2lmKCIlJSI9PT1fZSlyZXR1cm4iJSI7aWYoWD49YWUpcmV0dXJuIF9lO3N3aXRjaChfZSl7Y2FzZSIlcyI6cmV0dXJuIFN0cmluZyhuZVtYKytdKTtjYXNlIiVkIjpyZXR1cm4gTnVtYmVyKG5lW1grK10pO2Nhc2UiJWoiOnRyeXtyZXR1cm4gSlNPTi5zdHJpbmdp''@;'; put 'put ''ZnkobmVbWCsrXSl9Y2F0Y2gobGUpe3JldHVybiJbQ2lyY3VsYXJdIn1kZWZhdWx0OnJldHVybiBfZX19KSxiZT1uZVtYXTtYPGFlO2JlPW5lWysrWF0pSShiZSl8fCFxKGJlKT91ZSs9IiAiK2JlOnVlKz0iICIrdyhiZSk7cmV0dXJuIHVlfSxBLmRlcHJlY2F0ZT1mdW5jdGlvbihXLEcpe2lm''@;'; put 'put ''KHZvaWQgMCE9PU4mJiEwPT09Ti5ub0RlcHJlY2F0aW9uKXJldHVybiBXO2lmKHZvaWQgMD09PU4pcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEEuZGVwcmVjYXRlKFcsRykuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgWD0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighWCl7aWYoTi50aHJv''@;'; put 'put ''d0RlcHJlY2F0aW9uKXRocm93IG5ldyBFcnJvcihHKTtOLnRyYWNlRGVwcmVjYXRpb24/ei50cmFjZShHKTp6LmVycm9yKEcpLFg9ITB9cmV0dXJuIFcuYXBwbHkodGhpcyxhcmd1bWVudHMpfX07dmFyIG09e30sRj0vXiQvO2lmKE4uZW52Lk5PREVfREVCVUcpe3ZhciBEPU4uZW52Lk5PREVf''@;'; put 'put ''REVCVUc7RD1ELnJlcGxhY2UoL1t8XFx7fSgpW1xdXiQrPy5dL2csIlxcJCYiKS5yZXBsYWNlKC9cKi9nLCIuKiIpLnJlcGxhY2UoLywvZywiJHxeIikudG9VcHBlckNhc2UoKSxGPW5ldyBSZWdFeHAoIl4iK0QrIiQiLCJpIil9ZnVuY3Rpb24gdyhXLEcpe3ZhciBYPXtzZWVuOltdLHN0eWxp''@;'; put 'put ''emU6TX07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+PTMmJihYLmRlcHRoPWFyZ3VtZW50c1syXSksYXJndW1lbnRzLmxlbmd0aD49NCYmKFguY29sb3JzPWFyZ3VtZW50c1szXSksWShHKT9YLnNob3dIaWRkZW49RzpHJiZBLl9leHRlbmQoWCxHKSxSKFguc2hvd0hpZGRlbikmJihYLnNob3dI''@;'; put 'put ''aWRkZW49ITEpLFIoWC5kZXB0aCkmJihYLmRlcHRoPTIpLFIoWC5jb2xvcnMpJiYoWC5jb2xvcnM9ITEpLFIoWC5jdXN0b21JbnNwZWN0KSYmKFguY3VzdG9tSW5zcGVjdD0hMCksWC5jb2xvcnMmJihYLnN0eWxpemU9UCksayhYLFcsWC5kZXB0aCl9ZnVuY3Rpb24gUChXLEcpe3ZhciBYPXcu''@;'; put 'put ''c3R5bGVzW0ddO3JldHVybiBYPyJceDFiWyIrdy5jb2xvcnNbWF1bMF0rIm0iK1crIlx4MWJbIit3LmNvbG9yc1tYXVsxXSsibSI6V31mdW5jdGlvbiBNKFcsRyl7cmV0dXJuIFd9ZnVuY3Rpb24gayhXLEcsWCl7aWYoVy5jdXN0b21JbnNwZWN0JiZHJiZ0ZShHLmluc3BlY3QpJiZHLmluc3Bl''@;'; put 'put ''Y3QhPT1BLmluc3BlY3QmJighRy5jb25zdHJ1Y3Rvcnx8Ry5jb25zdHJ1Y3Rvci5wcm90b3R5cGUhPT1HKSl7dmFyIG5lPUcuaW5zcGVjdChYLFcpO3JldHVybiBWKG5lKXx8KG5lPWsoVyxuZSxYKSksbmV9dmFyIGFlPWZ1bmN0aW9uKFVlLHhlKXtpZihSKHhlKSlyZXR1cm4gVWUuc3R5bGl6''@;'; put 'put ''ZSgidW5kZWZpbmVkIiwidW5kZWZpbmVkIik7aWYoVih4ZSkpe3ZhciBFZT0iJyIrSlNPTi5zdHJpbmdpZnkoeGUpLnJlcGxhY2UoL14ifCIkL2csIiIpLnJlcGxhY2UoLycvZywiXFwnIikucmVwbGFjZSgvXFwiL2csJyInKSsiJyI7cmV0dXJuIFVlLnN0eWxpemUoRWUsInN0cmluZyIpfXJl''@;'; put 'put ''dHVybiBVKHhlKT9VZS5zdHlsaXplKCIiK3hlLCJudW1iZXIiKTpZKHhlKT9VZS5zdHlsaXplKCIiK3hlLCJib29sZWFuIik6SSh4ZSk/VWUuc3R5bGl6ZSgibnVsbCIsIm51bGwiKTp2b2lkIDB9KFcsRyk7aWYoYWUpcmV0dXJuIGFlO3ZhciB4ZSx1ZT1PYmplY3Qua2V5cyhHKSxiZT0oeGU9''@;'; put 'put ''e30sdWUuZm9yRWFjaChmdW5jdGlvbihFZSx3dCl7eGVbRWVdPSEwfSkseGUpO2lmKFcuc2hvd0hpZGRlbiYmKHVlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEcpKSwkKEcpJiYodWUuaW5kZXhPZigibWVzc2FnZSIpPj0wfHx1ZS5pbmRleE9mKCJkZXNjcmlwdGlvbiIpPj0wKSlyZXR1''@;'; put 'put ''cm4gTyhHKTtpZigwPT09dWUubGVuZ3RoKXtpZih0ZShHKSlyZXR1cm4gVy5zdHlsaXplKCJbRnVuY3Rpb24iKyhHLm5hbWU/IjogIitHLm5hbWU6IiIpKyJdIiwic3BlY2lhbCIpO2lmKEIoRykpcmV0dXJuIFcuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRyksInJl''@;'; put 'put ''Z2V4cCIpO2lmKEooRykpcmV0dXJuIFcuc3R5bGl6ZShEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEcpLCJkYXRlIik7aWYoJChHKSlyZXR1cm4gTyhHKX12YXIgbGUsY2U9IiIscGU9ITEsd2U9WyJ7IiwifSJdO3JldHVybiBUKEcpJiYocGU9ITAsd2U9WyJbIiwiXSJdKSx0ZShHKSYm''@;'; put 'put ''KGNlPSIgW0Z1bmN0aW9uIisoRy5uYW1lPyI6ICIrRy5uYW1lOiIiKSsiXSIpLEIoRykmJihjZT0iICIrUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEcpKSxKKEcpJiYoY2U9IiAiK0RhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwoRykpLCQoRykmJihjZT0iICIrTyhHKSks''@;'; put 'put ''MCE9PXVlLmxlbmd0aHx8cGUmJjAhPUcubGVuZ3RoP1g8MD9CKEcpP1cuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRyksInJlZ2V4cCIpOlcuc3R5bGl6ZSgiW09iamVjdF0iLCJzcGVjaWFsIik6KFcuc2Vlbi5wdXNoKEcpLGxlPXBlP2Z1bmN0aW9uKFVlLHhlLEVl''@;'; put 'put ''LHd0LE5lKXtmb3IodmFyIEhlPVtdLFJlPTAsT2U9eGUubGVuZ3RoO1JlPE9lOysrUmUpZyh4ZSxTdHJpbmcoUmUpKT9IZS5wdXNoKEwoVWUseGUsRWUsd3QsU3RyaW5nKFJlKSwhMCkpOkhlLnB1c2goIiIpO3JldHVybiBOZS5mb3JFYWNoKGZ1bmN0aW9uKExlKXtMZS5tYXRjaCgvXlxkKyQv''@;'; put 'put ''KXx8SGUucHVzaChMKFVlLHhlLEVlLHd0LExlLCEwKSl9KSxIZX0oVyxHLFgsYmUsdWUpOnVlLm1hcChmdW5jdGlvbihVZSl7cmV0dXJuIEwoVyxHLFgsYmUsVWUscGUpfSksVy5zZWVuLnBvcCgpLGZ1bmN0aW9uKFVlLHhlLEVlKXtyZXR1cm4gVWUucmVkdWNlKGZ1bmN0aW9uKHd0LE5lKXty''@;'; put 'put ''ZXR1cm4gTmUuaW5kZXhPZigiXG4iKSx3dCtOZS5yZXBsYWNlKC9cdTAwMWJcW1xkXGQ/bS9nLCIiKS5sZW5ndGgrMX0sMCk+NjA/RWVbMF0rKCIiPT09eGU/IiI6eGUrIlxuICIpKyIgIitVZS5qb2luKCIsXG4gICIpKyIgIitFZVsxXTpFZVswXSt4ZSsiICIrVWUuam9pbigiLCAiKSsiICIr''@;'; put 'put ''RWVbMV19KGxlLGNlLHdlKSk6d2VbMF0rY2Urd2VbMV19ZnVuY3Rpb24gTyhXKXtyZXR1cm4iWyIrRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoVykrIl0ifWZ1bmN0aW9uIEwoVyxHLFgsbmUsYWUsdWUpe3ZhciBiZSxfZSxsZTtpZigobGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVz''@;'; put 'put ''Y3JpcHRvcihHLGFlKXx8e3ZhbHVlOkdbYWVdfSkuZ2V0P19lPVcuc3R5bGl6ZShsZS5zZXQ/IltHZXR0ZXIvU2V0dGVyXSI6IltHZXR0ZXJdIiwic3BlY2lhbCIpOmxlLnNldCYmKF9lPVcuc3R5bGl6ZSgiW1NldHRlcl0iLCJzcGVjaWFsIikpLGcobmUsYWUpfHwoYmU9IlsiK2FlKyJdIiks''@;'; put 'put ''X2V8fChXLnNlZW4uaW5kZXhPZihsZS52YWx1ZSk8MD8oX2U9SShYKT9rKFcsbGUudmFsdWUsbnVsbCk6ayhXLGxlLnZhbHVlLFgtMSkpLmluZGV4T2YoIlxuIik+LTEmJihfZT11ZT9fZS5zcGxpdCgiXG4iKS5tYXAoZnVuY3Rpb24oY2Upe3JldHVybiIgICIrY2V9KS5qb2luKCJcbiIpLnN1''@;'; put 'put ''YnN0cigyKToiXG4iK19lLnNwbGl0KCJcbiIpLm1hcChmdW5jdGlvbihjZSl7cmV0dXJuIiAgICIrY2V9KS5qb2luKCJcbiIpKTpfZT1XLnN0eWxpemUoIltDaXJjdWxhcl0iLCJzcGVjaWFsIikpLFIoYmUpKXtpZih1ZSYmYWUubWF0Y2goL15cZCskLykpcmV0dXJuIF9lOyhiZT1KU09OLnN0''@;'; put 'put ''cmluZ2lmeSgiIithZSkpLm1hdGNoKC9eIihbYS16QS1aX11bYS16QS1aXzAtOV0qKSIkLyk/KGJlPWJlLnN1YnN0cigxLGJlLmxlbmd0aC0yKSxiZT1XLnN0eWxpemUoYmUsIm5hbWUiKSk6KGJlPWJlLnJlcGxhY2UoLycvZywiXFwnIikucmVwbGFjZSgvXFwiL2csJyInKS5yZXBsYWNlKC8o''@;'; put 'put ''XiJ8IiQpL2csIiciKSxiZT1XLnN0eWxpemUoYmUsInN0cmluZyIpKX1yZXR1cm4gYmUrIjogIitfZX1mdW5jdGlvbiBUKFcpe3JldHVybiBBcnJheS5pc0FycmF5KFcpfWZ1bmN0aW9uIFkoVyl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgV31mdW5jdGlvbiBJKFcpe3JldHVybiBudWxsPT09''@;'; put 'put ''V31mdW5jdGlvbiBVKFcpe3JldHVybiJudW1iZXIiPT10eXBlb2YgV31mdW5jdGlvbiBWKFcpe3JldHVybiJzdHJpbmciPT10eXBlb2YgV31mdW5jdGlvbiBSKFcpe3JldHVybiB2b2lkIDA9PT1XfWZ1bmN0aW9uIEIoVyl7cmV0dXJuIHEoVykmJiJbb2JqZWN0IFJlZ0V4cF0iPT09aChXKX1m''@;'; put 'put ''dW5jdGlvbiBxKFcpe3JldHVybiJvYmplY3QiPT10eXBlb2YgVyYmbnVsbCE9PVd9ZnVuY3Rpb24gSihXKXtyZXR1cm4gcShXKSYmIltvYmplY3QgRGF0ZV0iPT09aChXKX1mdW5jdGlvbiAkKFcpe3JldHVybiBxKFcpJiYoIltvYmplY3QgRXJyb3JdIj09PWgoVyl8fFcgaW5zdGFuY2VvZiBF''@;'; put 'put ''cnJvcil9ZnVuY3Rpb24gdGUoVyl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIFd9ZnVuY3Rpb24gaChXKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFcpfWZ1bmN0aW9uIGIoVyl7cmV0dXJuIFc8MTA/IjAiK1cudG9TdHJpbmcoMTApOlcudG9TdHJpbmcoMTApfUEu''@;'; put 'put ''ZGVidWdsb2c9ZnVuY3Rpb24oVyl7aWYoVz1XLnRvVXBwZXJDYXNlKCksIW1bV10paWYoRi50ZXN0KFcpKXt2YXIgRz1OLnBpZDttW1ddPWZ1bmN0aW9uKCl7dmFyIFg9QS5mb3JtYXQuYXBwbHkoQSxhcmd1bWVudHMpO3ouZXJyb3IoIiVzICVkOiAlcyIsVyxHLFgpfX1lbHNlIG1bV109ZnVu''@;'; put 'put ''Y3Rpb24oKXt9O3JldHVybiBtW1ddfSxBLmluc3BlY3Q9dyx3LmNvbG9ycz17Ym9sZDpbMSwyMl0saXRhbGljOlszLDIzXSx1bmRlcmxpbmU6WzQsMjRdLGludmVyc2U6WzcsMjddLHdoaXRlOlszNywzOV0sZ3JleTpbOTAsMzldLGJsYWNrOlszMCwzOV0sYmx1ZTpbMzQsMzldLGN5YW46WzM2''@;'; put 'put ''LDM5XSxncmVlbjpbMzIsMzldLG1hZ2VudGE6WzM1LDM5XSxyZWQ6WzMxLDM5XSx5ZWxsb3c6WzMzLDM5XX0sdy5zdHlsZXM9e3NwZWNpYWw6ImN5YW4iLG51bWJlcjoieWVsbG93Iixib29sZWFuOiJ5ZWxsb3ciLHVuZGVmaW5lZDoiZ3JleSIsbnVsbDoiYm9sZCIsc3RyaW5nOiJncmVlbiIs''@;'; put 'put ''ZGF0ZToibWFnZW50YSIscmVnZXhwOiJyZWQifSxBLnR5cGVzPWooNTk1NSksQS5pc0FycmF5PVQsQS5pc0Jvb2xlYW49WSxBLmlzTnVsbD1JLEEuaXNOdWxsT3JVbmRlZmluZWQ9ZnVuY3Rpb24oVyl7cmV0dXJuIG51bGw9PVd9LEEuaXNOdW1iZXI9VSxBLmlzU3RyaW5nPVYsQS5pc1N5bWJv''@;'; put 'put ''bD1mdW5jdGlvbihXKXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIFd9LEEuaXNVbmRlZmluZWQ9UixBLmlzUmVnRXhwPUIsQS50eXBlcy5pc1JlZ0V4cD1CLEEuaXNPYmplY3Q9cSxBLmlzRGF0ZT1KLEEudHlwZXMuaXNEYXRlPUosQS5pc0Vycm9yPSQsQS50eXBlcy5pc05hdGl2ZUVycm9yPSQs''@;'; put 'put ''QS5pc0Z1bmN0aW9uPXRlLEEuaXNQcmltaXRpdmU9ZnVuY3Rpb24oVyl7cmV0dXJuIG51bGw9PT1XfHwiYm9vbGVhbiI9PXR5cGVvZiBXfHwibnVtYmVyIj09dHlwZW9mIFd8fCJzdHJpbmciPT10eXBlb2YgV3x8InN5bWJvbCI9PXR5cGVvZiBXfHx2b2lkIDA9PT1XfSxBLmlzQnVmZmVyPWoo''@;'; put 'put ''Mzg0KTt2YXIgeT1bIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdO2Z1bmN0aW9uIHAoKXt2YXIgVz1uZXcgRGF0ZSxHPVtiKFcuZ2V0SG91cnMoKSksYihXLmdldE1pbnV0ZXMoKSksYihXLmdldFNlY29uZHMo''@;'; put 'put ''KSldLmpvaW4oIjoiKTtyZXR1cm5bVy5nZXREYXRlKCkseVtXLmdldE1vbnRoKCldLEddLmpvaW4oIiAiKX1mdW5jdGlvbiBnKFcsRyl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChXLEcpfUEubG9nPWZ1bmN0aW9uKCl7ei5sb2coIiVzIC0gJXMiLHAoKSxB''@;'; put 'put ''LmZvcm1hdC5hcHBseShBLGFyZ3VtZW50cykpfSxBLmluaGVyaXRzPWooNTcxNyksQS5fZXh0ZW5kPWZ1bmN0aW9uKFcsRyl7aWYoIUd8fCFxKEcpKXJldHVybiBXO2Zvcih2YXIgWD1PYmplY3Qua2V5cyhHKSxuZT1YLmxlbmd0aDtuZS0tOylXW1hbbmVdXT1HW1hbbmVdXTtyZXR1cm4gV307''@;'; put 'put ''dmFyIF89InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2w/U3ltYm9sKCJ1dGlsLnByb21pc2lmeS5jdXN0b20iKTp2b2lkIDA7ZnVuY3Rpb24gRShXLEcpe2lmKCFXKXt2YXIgWD1uZXcgRXJyb3IoIlByb21pc2Ugd2FzIHJlamVjdGVkIHdpdGggYSBmYWxzeSB2YWx1ZSIpO1gucmVhc29uPVcs''@;'; put 'put ''Vz1YfXJldHVybiBHKFcpfUEucHJvbWlzaWZ5PWZ1bmN0aW9uKFcpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBXKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAib3JpZ2luYWwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpO2lmKF8mJldbX10pe3ZhciBHO2lmKCJmdW5jdGlv''@;'; put 'put ''biIhPXR5cGVvZihHPVdbX10pKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAidXRpbC5wcm9taXNpZnkuY3VzdG9tIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24nKTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEcsXyx7dmFsdWU6RyxlbnVtZXJhYmxlOiExLHdyaXRh''@;'; put 'put ''YmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLEd9ZnVuY3Rpb24gRygpe2Zvcih2YXIgWCxuZSxhZT1uZXcgUHJvbWlzZShmdW5jdGlvbihfZSxsZSl7WD1fZSxuZT1sZX0pLHVlPVtdLGJlPTA7YmU8YXJndW1lbnRzLmxlbmd0aDtiZSsrKXVlLnB1c2goYXJndW1lbnRzW2JlXSk7dWUucHVzaChm''@;'; put 'put ''dW5jdGlvbihfZSxsZSl7X2U/bmUoX2UpOlgobGUpfSk7dHJ5e1cuYXBwbHkodGhpcyx1ZSl9Y2F0Y2goX2Upe25lKF9lKX1yZXR1cm4gYWV9cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihHLE9iamVjdC5nZXRQcm90b3R5cGVPZihXKSksXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEcs''@;'; put 'put ''Xyx7dmFsdWU6RyxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEcsQyhXKSl9LEEucHJvbWlzaWZ5LmN1c3RvbT1fLEEuY2FsbGJhY2tpZnk9ZnVuY3Rpb24oVyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFcpdGhyb3cg''@;'; put 'put ''bmV3IFR5cGVFcnJvcignVGhlICJvcmlnaW5hbCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uJyk7ZnVuY3Rpb24gRygpe2Zvcih2YXIgWD1bXSxuZT0wO25lPGFyZ3VtZW50cy5sZW5ndGg7bmUrKylYLnB1c2goYXJndW1lbnRzW25lXSk7dmFyIGFlPVgucG9wKCk7aWYoImZ1''@;'; put 'put ''bmN0aW9uIiE9dHlwZW9mIGFlKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBsYXN0IGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbiIpO3ZhciB1ZT10aGlzLGJlPWZ1bmN0aW9uKCl7cmV0dXJuIGFlLmFwcGx5KHVlLGFyZ3VtZW50cyl9O1cuYXBwbHkodGhpcyxYKS50aGVuKGZ1''@;'; put 'put ''bmN0aW9uKF9lKXtOLm5leHRUaWNrKGJlLmJpbmQobnVsbCxudWxsLF9lKSl9LGZ1bmN0aW9uKF9lKXtOLm5leHRUaWNrKEUuYmluZChudWxsLF9lLGJlKSl9KX1yZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKEcsT2JqZWN0LmdldFByb3RvdHlwZU9mKFcpKSxPYmplY3QuZGVmaW5lUHJv''@;'; put 'put ''cGVydGllcyhHLEMoVykpLEd9fSw0ODE6KFosQSxqKT0+eyFmdW5jdGlvbihOKXsidXNlIHN0cmljdCI7Ti5leHBvcnRzLmlzX3VyaT1DLE4uZXhwb3J0cy5pc19odHRwX3VyaT1TLE4uZXhwb3J0cy5pc19odHRwc191cmk9bSxOLmV4cG9ydHMuaXNfd2ViX3VyaT1GLE4uZXhwb3J0cy5pc1Vy''@;'; put 'put ''aT1DLE4uZXhwb3J0cy5pc0h0dHBVcmk9UyxOLmV4cG9ydHMuaXNIdHRwc1VyaT1tLE4uZXhwb3J0cy5pc1dlYlVyaT1GO3ZhciB6PWZ1bmN0aW9uKEQpe3JldHVybiBELm1hdGNoKC8oPzooW146XC8/I10rKTopPyg/OlwvXC8oW15cLz8jXSopKT8oW14/I10qKSg/Olw/KFteI10qKSk/KD86''@;'; put 'put ''IyguKikpPy8pfTtmdW5jdGlvbiBDKEQpe2lmKEQmJiEvW15hLXowLTlcOlwvXD9cI1xbXF1cQFwhXCRcJlwnXChcKVwqXCtcLFw7XD1cLlwtXF9cflwlXS9pLnRlc3QoRCkmJiEvJVteMC05YS1mXS9pLnRlc3QoRCkmJiEvJVswLTlhLWZdKDo/W14wLTlhLWZdfCQpL2kudGVzdChEKSl7dmFy''@;'; put 'put ''IHcsUCxNLGssTyxMPSIiLFQ9IiI7aWYoTD0odz16KEQpKVsxXSxQPXdbMl0sTT13WzNdLGs9d1s0XSxPPXdbNV0sTCYmTC5sZW5ndGgmJk0ubGVuZ3RoPj0wKXtpZihQJiZQLmxlbmd0aCl7aWYoMCE9PU0ubGVuZ3RoJiYhL15cLy8udGVzdChNKSlyZXR1cm59ZWxzZSBpZigvXlwvXC8vLnRl''@;'; put 'put ''c3QoTSkpcmV0dXJuO2lmKC9eW2Etel1bYS16MC05XCtcLVwuXSokLy50ZXN0KEwudG9Mb3dlckNhc2UoKSkpcmV0dXJuIFQrPUwrIjoiLFAmJlAubGVuZ3RoJiYoVCs9Ii8vIitQKSxUKz1NLGsmJmsubGVuZ3RoJiYoVCs9Ij8iK2spLE8mJk8ubGVuZ3RoJiYoVCs9IiMiK08pLFR9fX1mdW5j''@;'; put 'put ''dGlvbiBTKEQsdyl7aWYoQyhEKSl7dmFyIFAsTSxrLE8sTD0iIixUPSIiLFk9IiIsST0iIjtpZihMPShQPXooRCkpWzFdLFQ9UFsyXSxNPVBbM10saz1QWzRdLE89UFs1XSxMKXtpZih3KXtpZigiaHR0cHMiIT1MLnRvTG93ZXJDYXNlKCkpcmV0dXJufWVsc2UgaWYoImh0dHAiIT1MLnRvTG93''@;'; put 'put ''ZXJDYXNlKCkpcmV0dXJuO2lmKFQpcmV0dXJuLzooXGQrKSQvLnRlc3QoVCkmJihZPVQubWF0Y2goLzooXGQrKSQvKVswXSxUPVQucmVwbGFjZSgvOlxkKyQvLCIiKSksSSs9TCsiOiIsSSs9Ii8vIitULFkmJihJKz1ZKSxJKz1NLGsmJmsubGVuZ3RoJiYoSSs9Ij8iK2spLE8mJk8ubGVuZ3Ro''@;'; put 'put ''JiYoSSs9IiMiK08pLEl9fX1mdW5jdGlvbiBtKEQpe3JldHVybiBTKEQsITApfWZ1bmN0aW9uIEYoRCl7cmV0dXJuIFMoRCl8fG0oRCl9fShaPWoubm1kKFopKX0sNjQzMDooWixBLGopPT57InVzZSBzdHJpY3QiO3ZhciBOPWooNDAyOSksej1qKDMwODMpLEM9aigxOTI0KSxTPUMoIk9iamVj''@;'; put 'put ''dC5wcm90b3R5cGUudG9TdHJpbmciKSxtPWooNjQxMCkoKSxGPSJ1bmRlZmluZWQiPT10eXBlb2YgZ2xvYmFsVGhpcz9qLmc6Z2xvYmFsVGhpcyxEPXooKSx3PUMoIlN0cmluZy5wcm90b3R5cGUuc2xpY2UiKSxQPXt9LE09aig4ODIpLGs9T2JqZWN0LmdldFByb3RvdHlwZU9mO20mJk0mJmsm''@;'; put 'put ''Jk4oRCxmdW5jdGlvbihMKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgRltMXSl7dmFyIFQ9bmV3IEZbTF07aWYoU3ltYm9sLnRvU3RyaW5nVGFnIGluIFQpe3ZhciBZPWsoVCksST1NKFksU3ltYm9sLnRvU3RyaW5nVGFnKTtpZighSSl7dmFyIFU9ayhZKTtJPU0oVSxTeW1ib2wudG9TdHJpbmdU''@;'; put 'put ''YWcpfVBbTF09SS5nZXR9fX0pO3ZhciBPPWooNTY5Mik7Wi5leHBvcnRzPWZ1bmN0aW9uKEwpe3JldHVybiEhTyhMKSYmKG0mJlN5bWJvbC50b1N0cmluZ1RhZyBpbiBMPyhUPUwsWT0hMSxOKFAsZnVuY3Rpb24oSSxVKXtpZighWSl0cnl7dmFyIFY9SS5jYWxsKFQpO1Y9PT1VJiYoWT1WKX1j''@;'; put 'put ''YXRjaChSKXt9fSksWSk6dyhTKEwpLDgsLTEpKTt2YXIgVCxZfX0sMjQ3OTpaPT57Wi5leHBvcnRzPWZ1bmN0aW9uIEEoaixOKXtpZihqJiZOKXJldHVybiBBKGopKE4pO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBqKXRocm93IG5ldyBUeXBlRXJyb3IoIm5lZWQgd3JhcHBlciBmdW5jdGlvbiIp''@;'; put 'put ''O3JldHVybiBPYmplY3Qua2V5cyhqKS5mb3JFYWNoKGZ1bmN0aW9uKEMpe3pbQ109altDXX0pLHo7ZnVuY3Rpb24geigpe2Zvcih2YXIgQz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksUz0wO1M8Qy5sZW5ndGg7UysrKUNbU109YXJndW1lbnRzW1NdO3ZhciBtPWouYXBwbHkodGhpcyxD''@;'; put 'put ''KSxGPUNbQy5sZW5ndGgtMV07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG0mJm0hPT1GJiZPYmplY3Qua2V5cyhGKS5mb3JFYWNoKGZ1bmN0aW9uKEQpe21bRF09RltEXX0pLG19fX0sOTUwOigpPT57fSw2NjAxOigpPT57fSw5MjE0OigpPT57fSw4NjIzOigpPT57fSw3NzQ4OigpPT57fSw1''@;'; put 'put ''NTY4OigpPT57fSwyNTM1OigpPT57fSwzNzEwOigpPT57fSw1NDQzOigpPT57fSw0MTI5OigpPT57fSw2NjE5OigpPT57fSw3MTA4OigpPT57fSwyMzYxOigpPT57fSw0NjE2OigpPT57fSw3MjE3OigpPT57fSw4MzczOigpPT57fSwzMDgzOihaLEEsaik9PnsidXNlIHN0cmljdCI7dmFyIE49''@;'; put 'put ''WyJCaWdJbnQ2NEFycmF5IiwiQmlnVWludDY0QXJyYXkiLCJGbG9hdDMyQXJyYXkiLCJGbG9hdDY0QXJyYXkiLCJJbnQxNkFycmF5IiwiSW50MzJBcnJheSIsIkludDhBcnJheSIsIlVpbnQxNkFycmF5IiwiVWludDMyQXJyYXkiLCJVaW50OEFycmF5IiwiVWludDhDbGFtcGVkQXJyYXkiXSx6''@;'; put 'put ''PSJ1bmRlZmluZWQiPT10eXBlb2YgZ2xvYmFsVGhpcz9qLmc6Z2xvYmFsVGhpcztaLmV4cG9ydHM9ZnVuY3Rpb24oKXtmb3IodmFyIEM9W10sUz0wO1M8Ti5sZW5ndGg7UysrKSJmdW5jdGlvbiI9PXR5cGVvZiB6W05bU11dJiYoQ1tDLmxlbmd0aF09TltTXSk7cmV0dXJuIEN9fSw4ODI6KFos''@;'; put 'put ''QSxqKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTj1qKDIxMCkoIiVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJSIsITApO2lmKE4pdHJ5e04oW10sImxlbmd0aCIpfWNhdGNoKHope049bnVsbH1aLmV4cG9ydHM9Tn0sNDk0NjpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1KU09OLnBh''@;'; put 'put ''cnNlKCd7ImFlcy0xMjgtZWNiIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTI4LCJpdiI6MCwibW9kZSI6IkVDQiIsInR5cGUiOiJibG9jayJ9LCJhZXMtMTkyLWVjYiI6eyJjaXBoZXIiOiJBRVMiLCJrZXkiOjE5MiwiaXYiOjAsIm1vZGUiOiJFQ0IiLCJ0eXBlIjoiYmxvY2sifSwiYWVzLTI1''@;'; put 'put ''Ni1lY2IiOnsiY2lwaGVyIjoiQUVTIiwia2V5IjoyNTYsIml2IjowLCJtb2RlIjoiRUNCIiwidHlwZSI6ImJsb2NrIn0sImFlcy0xMjgtY2JjIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTI4LCJpdiI6MTYsIm1vZGUiOiJDQkMiLCJ0eXBlIjoiYmxvY2sifSwiYWVzLTE5Mi1jYmMiOnsiY2lw''@;'; put 'put ''aGVyIjoiQUVTIiwia2V5IjoxOTIsIml2IjoxNiwibW9kZSI6IkNCQyIsInR5cGUiOiJibG9jayJ9LCJhZXMtMjU2LWNiYyI6eyJjaXBoZXIiOiJBRVMiLCJrZXkiOjI1NiwiaXYiOjE2LCJtb2RlIjoiQ0JDIiwidHlwZSI6ImJsb2NrIn0sImFlczEyOCI6eyJjaXBoZXIiOiJBRVMiLCJrZXki''@;'; put 'put ''OjEyOCwiaXYiOjE2LCJtb2RlIjoiQ0JDIiwidHlwZSI6ImJsb2NrIn0sImFlczE5MiI6eyJjaXBoZXIiOiJBRVMiLCJrZXkiOjE5MiwiaXYiOjE2LCJtb2RlIjoiQ0JDIiwidHlwZSI6ImJsb2NrIn0sImFlczI1NiI6eyJjaXBoZXIiOiJBRVMiLCJrZXkiOjI1NiwiaXYiOjE2LCJtb2RlIjoi''@;'; put 'put ''Q0JDIiwidHlwZSI6ImJsb2NrIn0sImFlcy0xMjgtY2ZiIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTI4LCJpdiI6MTYsIm1vZGUiOiJDRkIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0xOTItY2ZiIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTkyLCJpdiI6MTYsIm1vZGUiOiJDRkIiLCJ0eXBl''@;'; put 'put ''Ijoic3RyZWFtIn0sImFlcy0yNTYtY2ZiIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MjU2LCJpdiI6MTYsIm1vZGUiOiJDRkIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0xMjgtY2ZiOCI6eyJjaXBoZXIiOiJBRVMiLCJrZXkiOjEyOCwiaXYiOjE2LCJtb2RlIjoiQ0ZCOCIsInR5cGUiOiJzdHJl''@;'; put 'put ''YW0ifSwiYWVzLTE5Mi1jZmI4Ijp7ImNpcGhlciI6IkFFUyIsImtleSI6MTkyLCJpdiI6MTYsIm1vZGUiOiJDRkI4IiwidHlwZSI6InN0cmVhbSJ9LCJhZXMtMjU2LWNmYjgiOnsiY2lwaGVyIjoiQUVTIiwia2V5IjoyNTYsIml2IjoxNiwibW9kZSI6IkNGQjgiLCJ0eXBlIjoic3RyZWFtIn0s''@;'; put 'put ''ImFlcy0xMjgtY2ZiMSI6eyJjaXBoZXIiOiJBRVMiLCJrZXkiOjEyOCwiaXYiOjE2LCJtb2RlIjoiQ0ZCMSIsInR5cGUiOiJzdHJlYW0ifSwiYWVzLTE5Mi1jZmIxIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTkyLCJpdiI6MTYsIm1vZGUiOiJDRkIxIiwidHlwZSI6InN0cmVhbSJ9LCJhZXMt''@;'; put 'put ''MjU2LWNmYjEiOnsiY2lwaGVyIjoiQUVTIiwia2V5IjoyNTYsIml2IjoxNiwibW9kZSI6IkNGQjEiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0xMjgtb2ZiIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTI4LCJpdiI6MTYsIm1vZGUiOiJPRkIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0xOTItb2Zi''@;'; put 'put ''Ijp7ImNpcGhlciI6IkFFUyIsImtleSI6MTkyLCJpdiI6MTYsIm1vZGUiOiJPRkIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0yNTYtb2ZiIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MjU2LCJpdiI6MTYsIm1vZGUiOiJPRkIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0xMjgtY3RyIjp7ImNpcGhl''@;'; put 'put ''ciI6IkFFUyIsImtleSI6MTI4LCJpdiI6MTYsIm1vZGUiOiJDVFIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0xOTItY3RyIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTkyLCJpdiI6MTYsIm1vZGUiOiJDVFIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0yNTYtY3RyIjp7ImNpcGhlciI6IkFFUyIs''@;'; put 'put ''ImtleSI6MjU2LCJpdiI6MTYsIm1vZGUiOiJDVFIiLCJ0eXBlIjoic3RyZWFtIn0sImFlcy0xMjgtZ2NtIjp7ImNpcGhlciI6IkFFUyIsImtleSI6MTI4LCJpdiI6MTIsIm1vZGUiOiJHQ00iLCJ0eXBlIjoiYXV0aCJ9LCJhZXMtMTkyLWdjbSI6eyJjaXBoZXIiOiJBRVMiLCJrZXkiOjE5Miwi''@;'; put 'put ''aXYiOjEyLCJtb2RlIjoiR0NNIiwidHlwZSI6ImF1dGgifSwiYWVzLTI1Ni1nY20iOnsiY2lwaGVyIjoiQUVTIiwia2V5IjoyNTYsIml2IjoxMiwibW9kZSI6IkdDTSIsInR5cGUiOiJhdXRoIn19Jyl9LDUyMDc6Wj0+eyJ1c2Ugc3RyaWN0IjtaLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJzaGEy''@;'; put 'put ''MjRXaXRoUlNBRW5jcnlwdGlvbiI6eyJzaWduIjoicnNhIiwiaGFzaCI6InNoYTIyNCIsImlkIjoiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSwiUlNBLVNIQTIyNCI6eyJzaWduIjoiZWNkc2EvcnNhIiwiaGFzaCI6InNoYTIyNCIsImlkIjoiMzAyZDMwMGQwNjA5''@;'; put 'put ''NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSwic2hhMjU2V2l0aFJTQUVuY3J5cHRpb24iOnsic2lnbiI6InJzYSIsImhhc2giOiJzaGEyNTYiLCJpZCI6IjMwMzEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMTA1MDAwNDIwIn0sIlJTQS1TSEEyNTYiOnsic2lnbiI6ImVjZHNhL3JzYSIs''@;'; put 'put ''Imhhc2giOiJzaGEyNTYiLCJpZCI6IjMwMzEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMTA1MDAwNDIwIn0sInNoYTM4NFdpdGhSU0FFbmNyeXB0aW9uIjp7InNpZ24iOiJyc2EiLCJoYXNoIjoic2hhMzg0IiwiaWQiOiIzMDQxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDIwNTAwMDQzMCJ9''@;'; put 'put ''LCJSU0EtU0hBMzg0Ijp7InNpZ24iOiJlY2RzYS9yc2EiLCJoYXNoIjoic2hhMzg0IiwiaWQiOiIzMDQxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDIwNTAwMDQzMCJ9LCJzaGE1MTJXaXRoUlNBRW5jcnlwdGlvbiI6eyJzaWduIjoicnNhIiwiaGFzaCI6InNoYTUxMiIsImlkIjoiMzA1MTMw''@;'; put 'put ''MGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTUxMiI6eyJzaWduIjoiZWNkc2EvcnNhIiwiaGFzaCI6InNoYTUxMiIsImlkIjoiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTEiOnsic2lnbiI6InJzYSIsImhhc2giOiJz''@;'; put 'put ''aGExIiwiaWQiOiIzMDIxMzAwOTA2MDUyYjBlMDMwMjFhMDUwMDA0MTQifSwiZWNkc2Etd2l0aC1TSEExIjp7InNpZ24iOiJlY2RzYSIsImhhc2giOiJzaGExIiwiaWQiOiIifSwic2hhMjU2Ijp7InNpZ24iOiJlY2RzYSIsImhhc2giOiJzaGEyNTYiLCJpZCI6IiJ9LCJzaGEyMjQiOnsic2ln''@;'; put 'put ''biI6ImVjZHNhIiwiaGFzaCI6InNoYTIyNCIsImlkIjoiIn0sInNoYTM4NCI6eyJzaWduIjoiZWNkc2EiLCJoYXNoIjoic2hhMzg0IiwiaWQiOiIifSwic2hhNTEyIjp7InNpZ24iOiJlY2RzYSIsImhhc2giOiJzaGE1MTIiLCJpZCI6IiJ9LCJEU0EtU0hBIjp7InNpZ24iOiJkc2EiLCJoYXNo''@;'; put 'put ''Ijoic2hhMSIsImlkIjoiIn0sIkRTQS1TSEExIjp7InNpZ24iOiJkc2EiLCJoYXNoIjoic2hhMSIsImlkIjoiIn0sIkRTQSI6eyJzaWduIjoiZHNhIiwiaGFzaCI6InNoYTEiLCJpZCI6IiJ9LCJEU0EtV0lUSC1TSEEyMjQiOnsic2lnbiI6ImRzYSIsImhhc2giOiJzaGEyMjQiLCJpZCI6IiJ9''@;'; put 'put ''LCJEU0EtU0hBMjI0Ijp7InNpZ24iOiJkc2EiLCJoYXNoIjoic2hhMjI0IiwiaWQiOiIifSwiRFNBLVdJVEgtU0hBMjU2Ijp7InNpZ24iOiJkc2EiLCJoYXNoIjoic2hhMjU2IiwiaWQiOiIifSwiRFNBLVNIQTI1NiI6eyJzaWduIjoiZHNhIiwiaGFzaCI6InNoYTI1NiIsImlkIjoiIn0sIkRT''@;'; put 'put ''QS1XSVRILVNIQTM4NCI6eyJzaWduIjoiZHNhIiwiaGFzaCI6InNoYTM4NCIsImlkIjoiIn0sIkRTQS1TSEEzODQiOnsic2lnbiI6ImRzYSIsImhhc2giOiJzaGEzODQiLCJpZCI6IiJ9LCJEU0EtV0lUSC1TSEE1MTIiOnsic2lnbiI6ImRzYSIsImhhc2giOiJzaGE1MTIiLCJpZCI6IiJ9LCJE''@;'; put 'put ''U0EtU0hBNTEyIjp7InNpZ24iOiJkc2EiLCJoYXNoIjoic2hhNTEyIiwiaWQiOiIifSwiRFNBLVJJUEVNRDE2MCI6eyJzaWduIjoiZHNhIiwiaGFzaCI6InJtZDE2MCIsImlkIjoiIn0sInJpcGVtZDE2MFdpdGhSU0EiOnsic2lnbiI6InJzYSIsImhhc2giOiJybWQxNjAiLCJpZCI6IjMwMjEz''@;'; put 'put ''MDA5MDYwNTJiMjQwMzAyMDEwNTAwMDQxNCJ9LCJSU0EtUklQRU1EMTYwIjp7InNpZ24iOiJyc2EiLCJoYXNoIjoicm1kMTYwIiwiaWQiOiIzMDIxMzAwOTA2MDUyYjI0MDMwMjAxMDUwMDA0MTQifSwibWQ1V2l0aFJTQUVuY3J5cHRpb24iOnsic2lnbiI6InJzYSIsImhhc2giOiJtZDUiLCJp''@;'; put 'put ''ZCI6IjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMCJ9LCJSU0EtTUQ1Ijp7InNpZ24iOiJyc2EiLCJoYXNoIjoibWQ1IiwiaWQiOiIzMDIwMzAwYzA2MDgyYTg2NDg4NmY3MGQwMjA1MDUwMDA0MTAifX0nKX0sMTMwODpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1KU09O''@;'; put 'put ''LnBhcnNlKCd7IjEuMy4xMzIuMC4xMCI6InNlY3AyNTZrMSIsIjEuMy4xMzIuMC4zMyI6InAyMjQiLCIxLjIuODQwLjEwMDQ1LjMuMS4xIjoicDE5MiIsIjEuMi44NDAuMTAwNDUuMy4xLjciOiJwMjU2IiwiMS4zLjEzMi4wLjM0IjoicDM4NCIsIjEuMy4xMzIuMC4zNSI6InA1MjEifScpfSwz''@;'; put 'put ''MjA4Olo9PnsidXNlIHN0cmljdCI7Wi5leHBvcnRzPUpTT04ucGFyc2UoJ3siT19SRE9OTFkiOjAsIk9fV1JPTkxZIjoxLCJPX1JEV1IiOjIsIlNfSUZNVCI6NjE0NDAsIlNfSUZSRUciOjMyNzY4LCJTX0lGRElSIjoxNjM4NCwiU19JRkNIUiI6ODE5MiwiU19JRkJMSyI6MjQ1NzYsIlNfSUZJ''@;'; put 'put ''Rk8iOjQwOTYsIlNfSUZMTksiOjQwOTYwLCJTX0lGU09DSyI6NDkxNTIsIk9fQ1JFQVQiOjUxMiwiT19FWENMIjoyMDQ4LCJPX05PQ1RUWSI6MTMxMDcyLCJPX1RSVU5DIjoxMDI0LCJPX0FQUEVORCI6OCwiT19ESVJFQ1RPUlkiOjEwNDg1NzYsIk9fTk9GT0xMT1ciOjI1NiwiT19TWU5DIjox''@;'; put 'put ''MjgsIk9fU1lNTElOSyI6MjA5NzE1MiwiT19OT05CTE9DSyI6NCwiU19JUldYVSI6NDQ4LCJTX0lSVVNSIjoyNTYsIlNfSVdVU1IiOjEyOCwiU19JWFVTUiI6NjQsIlNfSVJXWEciOjU2LCJTX0lSR1JQIjozMiwiU19JV0dSUCI6MTYsIlNfSVhHUlAiOjgsIlNfSVJXWE8iOjcsIlNfSVJPVEgi''@;'; put 'put ''OjQsIlNfSVdPVEgiOjIsIlNfSVhPVEgiOjEsIkUyQklHIjo3LCJFQUNDRVMiOjEzLCJFQUREUklOVVNFIjo0OCwiRUFERFJOT1RBVkFJTCI6NDksIkVBRk5PU1VQUE9SVCI6NDcsIkVBR0FJTiI6MzUsIkVBTFJFQURZIjozNywiRUJBREYiOjksIkVCQURNU0ciOjk0LCJFQlVTWSI6MTYsIkVD''@;'; put 'put ''QU5DRUxFRCI6ODksIkVDSElMRCI6MTAsIkVDT05OQUJPUlRFRCI6NTMsIkVDT05OUkVGVVNFRCI6NjEsIkVDT05OUkVTRVQiOjU0LCJFREVBRExLIjoxMSwiRURFU1RBRERSUkVRIjozOSwiRURPTSI6MzMsIkVEUVVPVCI6NjksIkVFWElTVCI6MTcsIkVGQVVMVCI6MTQsIkVGQklHIjoyNywi''@;'; put 'put ''RUhPU1RVTlJFQUNIIjo2NSwiRUlEUk0iOjkwLCJFSUxTRVEiOjkyLCJFSU5QUk9HUkVTUyI6MzYsIkVJTlRSIjo0LCJFSU5WQUwiOjIyLCJFSU8iOjUsIkVJU0NPTk4iOjU2LCJFSVNESVIiOjIxLCJFTE9PUCI6NjIsIkVNRklMRSI6MjQsIkVNTElOSyI6MzEsIkVNU0dTSVpFIjo0MCwiRU1V''@;'; put 'put ''TFRJSE9QIjo5NSwiRU5BTUVUT09MT05HIjo2MywiRU5FVERPV04iOjUwLCJFTkVUUkVTRVQiOjUyLCJFTkVUVU5SRUFDSCI6NTEsIkVORklMRSI6MjMsIkVOT0JVRlMiOjU1LCJFTk9EQVRBIjo5NiwiRU5PREVWIjoxOSwiRU5PRU5UIjoyLCJFTk9FWEVDIjo4LCJFTk9MQ0siOjc3LCJFTk9M''@;'; put 'put ''SU5LIjo5NywiRU5PTUVNIjoxMiwiRU5PTVNHIjo5MSwiRU5PUFJPVE9PUFQiOjQyLCJFTk9TUEMiOjI4LCJFTk9TUiI6OTgsIkVOT1NUUiI6OTksIkVOT1NZUyI6NzgsIkVOT1RDT05OIjo1NywiRU5PVERJUiI6MjAsIkVOT1RFTVBUWSI6NjYsIkVOT1RTT0NLIjozOCwiRU5PVFNVUCI6NDUs''@;'; put 'put ''IkVOT1RUWSI6MjUsIkVOWElPIjo2LCJFT1BOT1RTVVBQIjoxMDIsIkVPVkVSRkxPVyI6ODQsIkVQRVJNIjoxLCJFUElQRSI6MzIsIkVQUk9UTyI6MTAwLCJFUFJPVE9OT1NVUFBPUlQiOjQzLCJFUFJPVE9UWVBFIjo0MSwiRVJBTkdFIjozNCwiRVJPRlMiOjMwLCJFU1BJUEUiOjI5LCJFU1JD''@;'; put 'put ''SCI6MywiRVNUQUxFIjo3MCwiRVRJTUUiOjEwMSwiRVRJTUVET1VUIjo2MCwiRVRYVEJTWSI6MjYsIkVXT1VMREJMT0NLIjozNSwiRVhERVYiOjE4LCJTSUdIVVAiOjEsIlNJR0lOVCI6MiwiU0lHUVVJVCI6MywiU0lHSUxMIjo0LCJTSUdUUkFQIjo1LCJTSUdBQlJUIjo2LCJTSUdJT1QiOjYs''@;'; put 'put ''IlNJR0JVUyI6MTAsIlNJR0ZQRSI6OCwiU0lHS0lMTCI6OSwiU0lHVVNSMSI6MzAsIlNJR1NFR1YiOjExLCJTSUdVU1IyIjozMSwiU0lHUElQRSI6MTMsIlNJR0FMUk0iOjE0LCJTSUdURVJNIjoxNSwiU0lHQ0hMRCI6MjAsIlNJR0NPTlQiOjE5LCJTSUdTVE9QIjoxNywiU0lHVFNUUCI6MTgs''@;'; put 'put ''IlNJR1RUSU4iOjIxLCJTSUdUVE9VIjoyMiwiU0lHVVJHIjoxNiwiU0lHWENQVSI6MjQsIlNJR1hGU1oiOjI1LCJTSUdWVEFMUk0iOjI2LCJTSUdQUk9GIjoyNywiU0lHV0lOQ0giOjI4LCJTSUdJTyI6MjMsIlNJR1NZUyI6MTIsIlNTTF9PUF9BTEwiOjIxNDc0ODY3MTksIlNTTF9PUF9BTExP''@;'; put 'put ''V19VTlNBRkVfTEVHQUNZX1JFTkVHT1RJQVRJT04iOjI2MjE0NCwiU1NMX09QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSI6NDE5NDMwNCwiU1NMX09QX0NJU0NPX0FOWUNPTk5FQ1QiOjMyNzY4LCJTU0xfT1BfQ09PS0lFX0VYQ0hBTkdFIjo4MTkyLCJTU0xfT1BfQ1JZUFRPUFJPX1RMU0VY''@;'; put 'put ''VF9CVUciOjIxNDc0ODM2NDgsIlNTTF9PUF9ET05UX0lOU0VSVF9FTVBUWV9GUkFHTUVOVFMiOjIwNDgsIlNTTF9PUF9FUEhFTUVSQUxfUlNBIjowLCJTU0xfT1BfTEVHQUNZX1NFUlZFUl9DT05ORUNUIjo0LCJTU0xfT1BfTUlDUk9TT0ZUX0JJR19TU0xWM19CVUZGRVIiOjMyLCJTU0xfT1Bf''@;'; put 'put ''TUlDUk9TT0ZUX1NFU1NfSURfQlVHIjoxLCJTU0xfT1BfTVNJRV9TU0xWMl9SU0FfUEFERElORyI6MCwiU1NMX09QX05FVFNDQVBFX0NBX0ROX0JVRyI6NTM2ODcwOTEyLCJTU0xfT1BfTkVUU0NBUEVfQ0hBTExFTkdFX0JVRyI6MiwiU1NMX09QX05FVFNDQVBFX0RFTU9fQ0lQSEVSX0NIQU5H''@;'; put 'put ''RV9CVUciOjEwNzM3NDE4MjQsIlNTTF9PUF9ORVRTQ0FQRV9SRVVTRV9DSVBIRVJfQ0hBTkdFX0JVRyI6OCwiU1NMX09QX05PX0NPTVBSRVNTSU9OIjoxMzEwNzIsIlNTTF9PUF9OT19RVUVSWV9NVFUiOjQwOTYsIlNTTF9PUF9OT19TRVNTSU9OX1JFU1VNUFRJT05fT05fUkVORUdPVElBVElP''@;'; put 'put ''TiI6NjU1MzYsIlNTTF9PUF9OT19TU0x2MiI6MTY3NzcyMTYsIlNTTF9PUF9OT19TU0x2MyI6MzM1NTQ0MzIsIlNTTF9PUF9OT19USUNLRVQiOjE2Mzg0LCJTU0xfT1BfTk9fVExTdjEiOjY3MTA4ODY0LCJTU0xfT1BfTk9fVExTdjFfMSI6MjY4NDM1NDU2LCJTU0xfT1BfTk9fVExTdjFfMiI6''@;'; put 'put ''MTM0MjE3NzI4LCJTU0xfT1BfUEtDUzFfQ0hFQ0tfMSI6MCwiU1NMX09QX1BLQ1MxX0NIRUNLXzIiOjAsIlNTTF9PUF9TSU5HTEVfREhfVVNFIjoxMDQ4NTc2LCJTU0xfT1BfU0lOR0xFX0VDREhfVVNFIjo1MjQyODgsIlNTTF9PUF9TU0xFQVlfMDgwX0NMSUVOVF9ESF9CVUciOjEyOCwiU1NM''@;'; put 'put ''X09QX1NTTFJFRjJfUkVVU0VfQ0VSVF9UWVBFX0JVRyI6MCwiU1NMX09QX1RMU19CTE9DS19QQURESU5HX0JVRyI6NTEyLCJTU0xfT1BfVExTX0Q1X0JVRyI6MjU2LCJTU0xfT1BfVExTX1JPTExCQUNLX0JVRyI6ODM4ODYwOCwiRU5HSU5FX01FVEhPRF9EU0EiOjIsIkVOR0lORV9NRVRIT0Rf''@;'; put 'put ''REgiOjQsIkVOR0lORV9NRVRIT0RfUkFORCI6OCwiRU5HSU5FX01FVEhPRF9FQ0RIIjoxNiwiRU5HSU5FX01FVEhPRF9FQ0RTQSI6MzIsIkVOR0lORV9NRVRIT0RfQ0lQSEVSUyI6NjQsIkVOR0lORV9NRVRIT0RfRElHRVNUUyI6MTI4LCJFTkdJTkVfTUVUSE9EX1NUT1JFIjoyNTYsIkVOR0lO''@;'; put 'put ''RV9NRVRIT0RfUEtFWV9NRVRIUyI6NTEyLCJFTkdJTkVfTUVUSE9EX1BLRVlfQVNOMV9NRVRIUyI6MTAyNCwiRU5HSU5FX01FVEhPRF9BTEwiOjY1NTM1LCJFTkdJTkVfTUVUSE9EX05PTkUiOjAsIkRIX0NIRUNLX1BfTk9UX1NBRkVfUFJJTUUiOjIsIkRIX0NIRUNLX1BfTk9UX1BSSU1FIjox''@;'; put 'put ''LCJESF9VTkFCTEVfVE9fQ0hFQ0tfR0VORVJBVE9SIjo0LCJESF9OT1RfU1VJVEFCTEVfR0VORVJBVE9SIjo4LCJOUE5fRU5BQkxFRCI6MSwiUlNBX1BLQ1MxX1BBRERJTkciOjEsIlJTQV9TU0xWMjNfUEFERElORyI6MiwiUlNBX05PX1BBRERJTkciOjMsIlJTQV9QS0NTMV9PQUVQX1BBRERJ''@;'; put 'put ''TkciOjQsIlJTQV9YOTMxX1BBRERJTkciOjUsIlJTQV9QS0NTMV9QU1NfUEFERElORyI6NiwiUE9JTlRfQ09OVkVSU0lPTl9DT01QUkVTU0VEIjoyLCJQT0lOVF9DT05WRVJTSU9OX1VOQ09NUFJFU1NFRCI6NCwiUE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQiOjYsIkZfT0siOjAsIlJfT0siOjQs''@;'; put 'put ''IldfT0siOjIsIlhfT0siOjEsIlVWX1VEUF9SRVVTRUFERFIiOjR9Jyl9LDk3OTk6Wj0+eyJ1c2Ugc3RyaWN0IjtaLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJtb2RwMSI6eyJnZW4iOiIwMiIsInByaW1lIjoiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2Qx''@;'; put 'put ''MjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzYTM2MjBmZmZmZmZmZmZmZmZmZmZmIn0sIm1vZHAyIjp7ImdlbiI6IjAy''@;'; put 'put ''IiwicHJpbWUiOiJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYy''@;'; put 'put ''NWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNjUzODFmZmZmZmZmZmZmZmZmZmZmIn0sIm1vZHA1Ijp7ImdlbiI6IjAyIiwicHJpbWUiOiJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIz''@;'; put 'put ''NGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4''@;'; put 'put ''NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhj''@;'; put 'put ''YTIzNzMyN2ZmZmZmZmZmZmZmZmZmZmYifSwibW9kcDE0Ijp7ImdlbiI6IjAyIiwicHJpbWUiOiJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0''@;'; put 'put ''MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5''@;'; put 'put ''MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2Jm''@;'; put 'put ''Njk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWNhYTY4ZmZmZmZmZmZmZmZmZmZmZiJ9LCJtb2RwMTUiOnsiZ2VuIjoiMDIiLCJwcmltZSI6ImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2''@;'; put 'put ''N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2''@;'; put 'put ''NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMTgyMTdjMzI5MDVlNDYyZTM2Y2UzYmUzOWU3''@;'; put 'put ''NzJjMTgwZTg2MDM5YjI3ODNhMmVjMDdhMjhmYjVjNTVkZjA2ZjRjNTJjOWRlMmJjYmY2OTU1ODE3MTgzOTk1NDk3Y2VhOTU2YWU1MTVkMjI2MTg5OGZhMDUxMDE1NzI4ZTVhOGFhYWM0MmRhZDMzMTcwZDA0NTA3YTMzYTg1NTIxYWJkZjFjYmE2NGVjZmI4NTA0NThkYmVmMGE4YWVhNzE1NzVk''@;'; put 'put ''MDYwYzdkYjM5NzBmODVhNmUxZTRjN2FiZjVhZThjZGIwOTMzZDcxZThjOTRlMDRhMjU2MTlkY2VlM2QyMjYxYWQyZWU2YmYxMmZmYTA2ZDk4YTA4NjRkODc2MDI3MzNlYzg2YTY0NTIxZjJiMTgxNzdiMjAwY2JiZTExNzU3N2E2MTVkNmM3NzA5ODhjMGJhZDk0NmUyMDhlMjRmYTA3NGU1YWIz''@;'; put 'put ''MTQzZGI1YmZjZTBmZDEwOGU0YjgyZDEyMGE5M2FkMmNhZmZmZmZmZmZmZmZmZmZmZiJ9LCJtb2RwMTYiOnsiZ2VuIjoiMDIiLCJwcmltZSI6ImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0''@;'; put 'put ''YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4''@;'; put 'put ''YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMTgyMTdjMzI5MDVlNDYyZTM2Y2UzYmUzOWU3NzJjMTgwZTg2MDM5YjI3ODNhMmVjMDdh''@;'; put 'put ''MjhmYjVjNTVkZjA2ZjRjNTJjOWRlMmJjYmY2OTU1ODE3MTgzOTk1NDk3Y2VhOTU2YWU1MTVkMjI2MTg5OGZhMDUxMDE1NzI4ZTVhOGFhYWM0MmRhZDMzMTcwZDA0NTA3YTMzYTg1NTIxYWJkZjFjYmE2NGVjZmI4NTA0NThkYmVmMGE4YWVhNzE1NzVkMDYwYzdkYjM5NzBmODVhNmUxZTRjN2Fi''@;'; put 'put ''ZjVhZThjZGIwOTMzZDcxZThjOTRlMDRhMjU2MTlkY2VlM2QyMjYxYWQyZWU2YmYxMmZmYTA2ZDk4YTA4NjRkODc2MDI3MzNlYzg2YTY0NTIxZjJiMTgxNzdiMjAwY2JiZTExNzU3N2E2MTVkNmM3NzA5ODhjMGJhZDk0NmUyMDhlMjRmYTA3NGU1YWIzMTQzZGI1YmZjZTBmZDEwOGU0YjgyZDEy''@;'; put 'put ''MGE5MjEwODAxMWE3MjNjMTJhNzg3ZTZkNzg4NzE5YTEwYmRiYTViMjY5OWMzMjcxODZhZjRlMjNjMWE5NDY4MzRiNjE1MGJkYTI1ODNlOWNhMmFkNDRjZThkYmJiYzJkYjA0ZGU4ZWY5MmU4ZWZjMTQxZmJlY2FhNjI4N2M1OTQ3NGU2YmMwNWQ5OWIyOTY0ZmEwOTBjM2EyMjMzYmExODY1MTVi''@;'; put 'put ''ZTdlZDFmNjEyOTcwY2VlMmQ3YWZiODFiZGQ3NjIxNzA0ODFjZDAwNjkxMjdkNWIwNWFhOTkzYjRlYTk4OGQ4ZmRkYzE4NmZmYjdkYzkwYTZjMDhmNGRmNDM1YzkzNDA2MzE5OWZmZmZmZmZmZmZmZmZmZmYifSwibW9kcDE3Ijp7ImdlbiI6IjAyIiwicHJpbWUiOiJmZmZmZmZmZmZmZmZmZmZm''@;'; put 'put ''YzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1''@;'; put 'put ''Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRh''@;'; put 'put ''YmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2Ez''@;'; put 'put ''M2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUx''@;'; put 'put ''MTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTIxMDgwMTFhNzIzYzEyYTc4N2U2ZDc4ODcxOWExMGJkYmE1YjI2OTljMzI3MTg2YWY0ZTIzYzFhOTQ2ODM0YjYxNTBiZGEyNTgzZTljYTJhZDQ0Y2U4ZGJiYmMyZGIw''@;'; put 'put ''NGRlOGVmOTJlOGVmYzE0MWZiZWNhYTYyODdjNTk0NzRlNmJjMDVkOTliMjk2NGZhMDkwYzNhMjIzM2JhMTg2NTE1YmU3ZWQxZjYxMjk3MGNlZTJkN2FmYjgxYmRkNzYyMTcwNDgxY2QwMDY5MTI3ZDViMDVhYTk5M2I0ZWE5ODhkOGZkZGMxODZmZmI3ZGM5MGE2YzA4ZjRkZjQzNWM5MzQwMjg0''@;'; put 'put ''OTIzNmMzZmFiNGQyN2M3MDI2YzFkNGRjYjI2MDI2NDZkZWM5NzUxZTc2M2RiYTM3YmRmOGZmOTQwNmFkOWU1MzBlZTVkYjM4MmY0MTMwMDFhZWIwNmE1M2VkOTAyN2Q4MzExNzk3MjdiMDg2NWE4OTE4ZGEzZWRiZWJjZjliMTRlZDQ0Y2U2Y2JhY2VkNGJiMWJkYjdmMTQ0N2U2Y2MyNTRiMzMy''@;'; put 'put ''MDUxNTEyYmQ3YWY0MjZmYjhmNDAxMzc4Y2QyYmY1OTgzY2EwMWM2NGI5MmVjZjAzMmVhMTVkMTcyMWQwM2Y0ODJkN2NlNmU3NGZlZjZkNTVlNzAyZjQ2OTgwYzgyYjVhODQwMzE5MDBiMWM5ZTU5ZTdjOTdmYmVjN2U4ZjMyM2E5N2E3ZTM2Y2M4OGJlMGYxZDQ1YjdmZjU4NWFjNTRiZDQwN2Iy''@;'; put 'put ''MmI0MTU0YWFjYzhmNmQ3ZWJmNDhlMWQ4MTRjYzVlZDIwZjgwMzdlMGE3OTcxNWVlZjI5YmUzMjgwNmExZDU4YmI3YzVkYTc2ZjU1MGFhM2Q4YTFmYmZmMGViMTljY2IxYTMxM2Q1NWNkYTU2YzllYzJlZjI5NjMyMzg3ZmU4ZDc2ZTNjMDQ2ODA0M2U4ZjY2M2Y0ODYwZWUxMmJmMmQ1YjBiNzQ3''@;'; put 'put ''NGQ2ZTY5NGY5MWU2ZGNjNDAyNGZmZmZmZmZmZmZmZmZmZmYifSwibW9kcDE4Ijp7ImdlbiI6IjAyIiwicHJpbWUiOiJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRl''@;'; put 'put ''Zjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4''@;'; put 'put ''MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0''@;'; put 'put ''YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2EzM2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3''@;'; put 'put ''MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUxMTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTIxMDgwMTFhNzIz''@;'; put 'put ''YzEyYTc4N2U2ZDc4ODcxOWExMGJkYmE1YjI2OTljMzI3MTg2YWY0ZTIzYzFhOTQ2ODM0YjYxNTBiZGEyNTgzZTljYTJhZDQ0Y2U4ZGJiYmMyZGIwNGRlOGVmOTJlOGVmYzE0MWZiZWNhYTYyODdjNTk0NzRlNmJjMDVkOTliMjk2NGZhMDkwYzNhMjIzM2JhMTg2NTE1YmU3ZWQxZjYxMjk3MGNl''@;'; put 'put ''ZTJkN2FmYjgxYmRkNzYyMTcwNDgxY2QwMDY5MTI3ZDViMDVhYTk5M2I0ZWE5ODhkOGZkZGMxODZmZmI3ZGM5MGE2YzA4ZjRkZjQzNWM5MzQwMjg0OTIzNmMzZmFiNGQyN2M3MDI2YzFkNGRjYjI2MDI2NDZkZWM5NzUxZTc2M2RiYTM3YmRmOGZmOTQwNmFkOWU1MzBlZTVkYjM4MmY0MTMwMDFh''@;'; put 'put ''ZWIwNmE1M2VkOTAyN2Q4MzExNzk3MjdiMDg2NWE4OTE4ZGEzZWRiZWJjZjliMTRlZDQ0Y2U2Y2JhY2VkNGJiMWJkYjdmMTQ0N2U2Y2MyNTRiMzMyMDUxNTEyYmQ3YWY0MjZmYjhmNDAxMzc4Y2QyYmY1OTgzY2EwMWM2NGI5MmVjZjAzMmVhMTVkMTcyMWQwM2Y0ODJkN2NlNmU3NGZlZjZkNTVl''@;'; put 'put ''NzAyZjQ2OTgwYzgyYjVhODQwMzE5MDBiMWM5ZTU5ZTdjOTdmYmVjN2U4ZjMyM2E5N2E3ZTM2Y2M4OGJlMGYxZDQ1YjdmZjU4NWFjNTRiZDQwN2IyMmI0MTU0YWFjYzhmNmQ3ZWJmNDhlMWQ4MTRjYzVlZDIwZjgwMzdlMGE3OTcxNWVlZjI5YmUzMjgwNmExZDU4YmI3YzVkYTc2ZjU1MGFhM2Q4''@;'; put 'put ''YTFmYmZmMGViMTljY2IxYTMxM2Q1NWNkYTU2YzllYzJlZjI5NjMyMzg3ZmU4ZDc2ZTNjMDQ2ODA0M2U4ZjY2M2Y0ODYwZWUxMmJmMmQ1YjBiNzQ3NGQ2ZTY5NGY5MWU2ZGJlMTE1OTc0YTM5MjZmMTJmZWU1ZTQzODc3N2NiNmE5MzJkZjhjZDhiZWM0ZDA3M2I5MzFiYTNiYzgzMmI2OGQ5ZGQz''@;'; put 'put ''MDA3NDFmYTdiZjhhZmM0N2VkMjU3NmY2OTM2YmE0MjQ2NjNhYWI2MzljNWFlNGY1NjgzNDIzYjQ3NDJiZjFjOTc4MjM4ZjE2Y2JlMzlkNjUyZGUzZmRiOGJlZmM4NDhhZDkyMjIyMmUwNGE0MDM3YzA3MTNlYjU3YTgxYTIzZjBjNzM0NzNmYzY0NmNlYTMwNmI0YmNiYzg4NjJmODM4NWRkZmE5''@;'; put 'put ''ZDRiN2ZhMmMwODdlODc5NjgzMzAzZWQ1YmRkM2EwNjJiM2NmNWIzYTI3OGE2NmQyYTEzZjgzZjQ0ZjgyZGRmMzEwZWUwNzRhYjZhMzY0NTk3ZTg5OWEwMjU1ZGMxNjRmMzFjYzUwODQ2ODUxZGY5YWI0ODE5NWRlZDdlYTFiMWQ1MTBiZDdlZTc0ZDczZmFmMzZiYzMxZWNmYTI2ODM1OTA0NmY0''@;'; put 'put ''ZWI4NzlmOTI0MDA5NDM4YjQ4MWM2Y2Q3ODg5YTAwMmVkNWVlMzgyYmM5MTkwZGE2ZmMwMjZlNDc5NTU4ZTQ0NzU2NzdlOWFhOWUzMDUwZTI3NjU2OTRkZmM4MWY1NmU4ODBiOTZlNzE2MGM5ODBkZDk4ZWRkM2RmZmZmZmZmZmZmZmZmZmZmZiJ9fScpfSw4NTk3Olo9PnsidXNlIHN0cmljdCI7''@;'; put 'put ''Wi5leHBvcnRzPXtpODoiNi41LjQifX0sMjU2MjpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1KU09OLnBhcnNlKCd7IjIuMTYuODQwLjEuMTAxLjMuNC4xLjEiOiJhZXMtMTI4LWVjYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjIiOiJhZXMtMTI4LWNiYyIsIjIuMTYuODQwLjEuMTAxLjMu''@;'; put 'put ''NC4xLjMiOiJhZXMtMTI4LW9mYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQiOiJhZXMtMTI4LWNmYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjIxIjoiYWVzLTE5Mi1lY2IiLCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMiI6ImFlcy0xOTItY2JjIiwiMi4xNi44NDAuMS4xMDEuMy40LjEuMjMi''@;'; put 'put ''OiJhZXMtMTkyLW9mYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjI0IjoiYWVzLTE5Mi1jZmIiLCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MSI6ImFlcy0yNTYtZWNiIiwiMi4xNi44NDAuMS4xMDEuMy40LjEuNDIiOiJhZXMtMjU2LWNiYyIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQzIjoiYWVz''@;'; put 'put ''LTI1Ni1vZmIiLCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40NCI6ImFlcy0yNTYtY2ZiIn0nKX0sMzcwNDpaPT57InVzZSBzdHJpY3QiO1ouZXhwb3J0cz1KU09OLnBhcnNlKCdbImFjIiwiY29tLmFjIiwiZWR1LmFjIiwiZ292LmFjIiwibmV0LmFjIiwibWlsLmFjIiwib3JnLmFjIiwiYWQiLCJu''@;'; put 'put ''b20uYWQiLCJhZSIsImNvLmFlIiwibmV0LmFlIiwib3JnLmFlIiwic2NoLmFlIiwiYWMuYWUiLCJnb3YuYWUiLCJtaWwuYWUiLCJhZXJvIiwiYWNjaWRlbnQtaW52ZXN0aWdhdGlvbi5hZXJvIiwiYWNjaWRlbnQtcHJldmVudGlvbi5hZXJvIiwiYWVyb2JhdGljLmFlcm8iLCJhZXJvY2x1Yi5h''@;'; put 'put ''ZXJvIiwiYWVyb2Ryb21lLmFlcm8iLCJhZ2VudHMuYWVybyIsImFpcmNyYWZ0LmFlcm8iLCJhaXJsaW5lLmFlcm8iLCJhaXJwb3J0LmFlcm8iLCJhaXItc3VydmVpbGxhbmNlLmFlcm8iLCJhaXJ0cmFmZmljLmFlcm8iLCJhaXItdHJhZmZpYy1jb250cm9sLmFlcm8iLCJhbWJ1bGFuY2UuYWVy''@;'; put 'put ''byIsImFtdXNlbWVudC5hZXJvIiwiYXNzb2NpYXRpb24uYWVybyIsImF1dGhvci5hZXJvIiwiYmFsbG9vbmluZy5hZXJvIiwiYnJva2VyLmFlcm8iLCJjYWEuYWVybyIsImNhcmdvLmFlcm8iLCJjYXRlcmluZy5hZXJvIiwiY2VydGlmaWNhdGlvbi5hZXJvIiwiY2hhbXBpb25zaGlwLmFlcm8i''@;'; put 'put ''LCJjaGFydGVyLmFlcm8iLCJjaXZpbGF2aWF0aW9uLmFlcm8iLCJjbHViLmFlcm8iLCJjb25mZXJlbmNlLmFlcm8iLCJjb25zdWx0YW50LmFlcm8iLCJjb25zdWx0aW5nLmFlcm8iLCJjb250cm9sLmFlcm8iLCJjb3VuY2lsLmFlcm8iLCJjcmV3LmFlcm8iLCJkZXNpZ24uYWVybyIsImRnY2Eu''@;'; put 'put ''YWVybyIsImVkdWNhdG9yLmFlcm8iLCJlbWVyZ2VuY3kuYWVybyIsImVuZ2luZS5hZXJvIiwiZW5naW5lZXIuYWVybyIsImVudGVydGFpbm1lbnQuYWVybyIsImVxdWlwbWVudC5hZXJvIiwiZXhjaGFuZ2UuYWVybyIsImV4cHJlc3MuYWVybyIsImZlZGVyYXRpb24uYWVybyIsImZsaWdodC5h''@;'; put 'put ''ZXJvIiwiZnJlaWdodC5hZXJvIiwiZnVlbC5hZXJvIiwiZ2xpZGluZy5hZXJvIiwiZ292ZXJubWVudC5hZXJvIiwiZ3JvdW5kaGFuZGxpbmcuYWVybyIsImdyb3VwLmFlcm8iLCJoYW5nZ2xpZGluZy5hZXJvIiwiaG9tZWJ1aWx0LmFlcm8iLCJpbnN1cmFuY2UuYWVybyIsImpvdXJuYWwuYWVy''@;'; put 'put ''byIsImpvdXJuYWxpc3QuYWVybyIsImxlYXNpbmcuYWVybyIsImxvZ2lzdGljcy5hZXJvIiwibWFnYXppbmUuYWVybyIsIm1haW50ZW5hbmNlLmFlcm8iLCJtZWRpYS5hZXJvIiwibWljcm9saWdodC5hZXJvIiwibW9kZWxsaW5nLmFlcm8iLCJuYXZpZ2F0aW9uLmFlcm8iLCJwYXJhY2h1dGlu''@;'; put 'put ''Zy5hZXJvIiwicGFyYWdsaWRpbmcuYWVybyIsInBhc3Nlbmdlci1hc3NvY2lhdGlvbi5hZXJvIiwicGlsb3QuYWVybyIsInByZXNzLmFlcm8iLCJwcm9kdWN0aW9uLmFlcm8iLCJyZWNyZWF0aW9uLmFlcm8iLCJyZXBib2R5LmFlcm8iLCJyZXMuYWVybyIsInJlc2VhcmNoLmFlcm8iLCJyb3Rv''@;'; put 'put ''cmNyYWZ0LmFlcm8iLCJzYWZldHkuYWVybyIsInNjaWVudGlzdC5hZXJvIiwic2VydmljZXMuYWVybyIsInNob3cuYWVybyIsInNreWRpdmluZy5hZXJvIiwic29mdHdhcmUuYWVybyIsInN0dWRlbnQuYWVybyIsInRyYWRlci5hZXJvIiwidHJhZGluZy5hZXJvIiwidHJhaW5lci5hZXJvIiwi''@;'; put 'put ''dW5pb24uYWVybyIsIndvcmtpbmdncm91cC5hZXJvIiwid29ya3MuYWVybyIsImFmIiwiZ292LmFmIiwiY29tLmFmIiwib3JnLmFmIiwibmV0LmFmIiwiZWR1LmFmIiwiYWciLCJjb20uYWciLCJvcmcuYWciLCJuZXQuYWciLCJjby5hZyIsIm5vbS5hZyIsImFpIiwib2ZmLmFpIiwiY29tLmFp''@;'; put 'put ''IiwibmV0LmFpIiwib3JnLmFpIiwiYWwiLCJjb20uYWwiLCJlZHUuYWwiLCJnb3YuYWwiLCJtaWwuYWwiLCJuZXQuYWwiLCJvcmcuYWwiLCJhbSIsImNvLmFtIiwiY29tLmFtIiwiY29tbXVuZS5hbSIsIm5ldC5hbSIsIm9yZy5hbSIsImFvIiwiZWQuYW8iLCJndi5hbyIsIm9nLmFvIiwiY28u''@;'; put 'put ''YW8iLCJwYi5hbyIsIml0LmFvIiwiYXEiLCJhciIsImNvbS5hciIsImVkdS5hciIsImdvYi5hciIsImdvdi5hciIsImludC5hciIsIm1pbC5hciIsIm11c2ljYS5hciIsIm5ldC5hciIsIm9yZy5hciIsInR1ci5hciIsImFycGEiLCJlMTY0LmFycGEiLCJpbi1hZGRyLmFycGEiLCJpcDYuYXJw''@;'; put 'put ''YSIsImlyaXMuYXJwYSIsInVyaS5hcnBhIiwidXJuLmFycGEiLCJhcyIsImdvdi5hcyIsImFzaWEiLCJhdCIsImFjLmF0IiwiY28uYXQiLCJndi5hdCIsIm9yLmF0IiwiYXUiLCJjb20uYXUiLCJuZXQuYXUiLCJvcmcuYXUiLCJlZHUuYXUiLCJnb3YuYXUiLCJhc24uYXUiLCJpZC5hdSIsImlu''@;'; put 'put ''Zm8uYXUiLCJjb25mLmF1Iiwib3ouYXUiLCJhY3QuYXUiLCJuc3cuYXUiLCJudC5hdSIsInFsZC5hdSIsInNhLmF1IiwidGFzLmF1IiwidmljLmF1Iiwid2EuYXUiLCJhY3QuZWR1LmF1IiwiY2F0aG9saWMuZWR1LmF1IiwibnN3LmVkdS5hdSIsIm50LmVkdS5hdSIsInFsZC5lZHUuYXUiLCJz''@;'; put 'put ''YS5lZHUuYXUiLCJ0YXMuZWR1LmF1IiwidmljLmVkdS5hdSIsIndhLmVkdS5hdSIsInFsZC5nb3YuYXUiLCJzYS5nb3YuYXUiLCJ0YXMuZ292LmF1IiwidmljLmdvdi5hdSIsIndhLmdvdi5hdSIsImVkdWNhdGlvbi50YXMuZWR1LmF1Iiwic2Nob29scy5uc3cuZWR1LmF1IiwiYXciLCJjb20u''@;'; put 'put ''YXciLCJheCIsImF6IiwiY29tLmF6IiwibmV0LmF6IiwiaW50LmF6IiwiZ292LmF6Iiwib3JnLmF6IiwiZWR1LmF6IiwiaW5mby5heiIsInBwLmF6IiwibWlsLmF6IiwibmFtZS5heiIsInByby5heiIsImJpei5heiIsImJhIiwiY29tLmJhIiwiZWR1LmJhIiwiZ292LmJhIiwibWlsLmJhIiwi''@;'; put 'put ''bmV0LmJhIiwib3JnLmJhIiwiYmIiLCJiaXouYmIiLCJjby5iYiIsImNvbS5iYiIsImVkdS5iYiIsImdvdi5iYiIsImluZm8uYmIiLCJuZXQuYmIiLCJvcmcuYmIiLCJzdG9yZS5iYiIsInR2LmJiIiwiKi5iZCIsImJlIiwiYWMuYmUiLCJiZiIsImdvdi5iZiIsImJnIiwiYS5iZyIsImIuYmci''@;'; put 'put ''LCJjLmJnIiwiZC5iZyIsImUuYmciLCJmLmJnIiwiZy5iZyIsImguYmciLCJpLmJnIiwiai5iZyIsImsuYmciLCJsLmJnIiwibS5iZyIsIm4uYmciLCJvLmJnIiwicC5iZyIsInEuYmciLCJyLmJnIiwicy5iZyIsInQuYmciLCJ1LmJnIiwidi5iZyIsIncuYmciLCJ4LmJnIiwieS5iZyIsInou''@;'; put 'put ''YmciLCIwLmJnIiwiMS5iZyIsIjIuYmciLCIzLmJnIiwiNC5iZyIsIjUuYmciLCI2LmJnIiwiNy5iZyIsIjguYmciLCI5LmJnIiwiYmgiLCJjb20uYmgiLCJlZHUuYmgiLCJuZXQuYmgiLCJvcmcuYmgiLCJnb3YuYmgiLCJiaSIsImNvLmJpIiwiY29tLmJpIiwiZWR1LmJpIiwib3IuYmkiLCJv''@;'; put 'put ''cmcuYmkiLCJiaXoiLCJiaiIsImFzc28uYmoiLCJiYXJyZWF1LmJqIiwiZ291di5iaiIsImJtIiwiY29tLmJtIiwiZWR1LmJtIiwiZ292LmJtIiwibmV0LmJtIiwib3JnLmJtIiwiYm4iLCJjb20uYm4iLCJlZHUuYm4iLCJnb3YuYm4iLCJuZXQuYm4iLCJvcmcuYm4iLCJibyIsImNvbS5ibyIs''@;'; put 'put ''ImVkdS5ibyIsImdvYi5ibyIsImludC5ibyIsIm9yZy5ibyIsIm5ldC5ibyIsIm1pbC5ibyIsInR2LmJvIiwid2ViLmJvIiwiYWNhZGVtaWEuYm8iLCJhZ3JvLmJvIiwiYXJ0ZS5ibyIsImJsb2cuYm8iLCJib2xpdmlhLmJvIiwiY2llbmNpYS5ibyIsImNvb3BlcmF0aXZhLmJvIiwiZGVtb2Ny''@;'; put 'put ''YWNpYS5ibyIsImRlcG9ydGUuYm8iLCJlY29sb2dpYS5ibyIsImVjb25vbWlhLmJvIiwiZW1wcmVzYS5ibyIsImluZGlnZW5hLmJvIiwiaW5kdXN0cmlhLmJvIiwiaW5mby5ibyIsIm1lZGljaW5hLmJvIiwibW92aW1pZW50by5ibyIsIm11c2ljYS5ibyIsIm5hdHVyYWwuYm8iLCJub21icmUu''@;'; put 'put ''Ym8iLCJub3RpY2lhcy5ibyIsInBhdHJpYS5ibyIsInBvbGl0aWNhLmJvIiwicHJvZmVzaW9uYWwuYm8iLCJwbHVyaW5hY2lvbmFsLmJvIiwicHVlYmxvLmJvIiwicmV2aXN0YS5ibyIsInNhbHVkLmJvIiwidGVjbm9sb2dpYS5ibyIsInRrc2F0LmJvIiwidHJhbnNwb3J0ZS5ibyIsIndpa2ku''@;'; put 'put ''Ym8iLCJiciIsIjlndWFjdS5iciIsImFiYy5iciIsImFkbS5iciIsImFkdi5iciIsImFnci5iciIsImFqdS5iciIsImFtLmJyIiwiYW5hbmkuYnIiLCJhcGFyZWNpZGEuYnIiLCJhcnEuYnIiLCJhcnQuYnIiLCJhdG8uYnIiLCJiLmJyIiwiYmFydWVyaS5iciIsImJlbGVtLmJyIiwiYmh6LmJy''@;'; put 'put ''IiwiYmlvLmJyIiwiYmxvZy5iciIsImJtZC5iciIsImJvYXZpc3RhLmJyIiwiYnNiLmJyIiwiY2FtcGluYWdyYW5kZS5iciIsImNhbXBpbmFzLmJyIiwiY2F4aWFzLmJyIiwiY2ltLmJyIiwiY25nLmJyIiwiY250LmJyIiwiY29tLmJyIiwiY29udGFnZW0uYnIiLCJjb29wLmJyIiwiY3JpLmJy''@;'; put 'put ''IiwiY3VpYWJhLmJyIiwiY3VyaXRpYmEuYnIiLCJkZWYuYnIiLCJlY24uYnIiLCJlY28uYnIiLCJlZHUuYnIiLCJlbXAuYnIiLCJlbmcuYnIiLCJlc3AuYnIiLCJldGMuYnIiLCJldGkuYnIiLCJmYXIuYnIiLCJmZWlyYS5iciIsImZsb2cuYnIiLCJmbG9yaXBhLmJyIiwiZm0uYnIiLCJmbmQu''@;'; put 'put ''YnIiLCJmb3J0YWwuYnIiLCJmb3QuYnIiLCJmb3ouYnIiLCJmc3QuYnIiLCJnMTIuYnIiLCJnZ2YuYnIiLCJnb2lhbmlhLmJyIiwiZ292LmJyIiwiYWMuZ292LmJyIiwiYWwuZ292LmJyIiwiYW0uZ292LmJyIiwiYXAuZ292LmJyIiwiYmEuZ292LmJyIiwiY2UuZ292LmJyIiwiZGYuZ292LmJy''@;'; put 'put ''IiwiZXMuZ292LmJyIiwiZ28uZ292LmJyIiwibWEuZ292LmJyIiwibWcuZ292LmJyIiwibXMuZ292LmJyIiwibXQuZ292LmJyIiwicGEuZ292LmJyIiwicGIuZ292LmJyIiwicGUuZ292LmJyIiwicGkuZ292LmJyIiwicHIuZ292LmJyIiwicmouZ292LmJyIiwicm4uZ292LmJyIiwicm8uZ292''@;'; put 'put ''LmJyIiwicnIuZ292LmJyIiwicnMuZ292LmJyIiwic2MuZ292LmJyIiwic2UuZ292LmJyIiwic3AuZ292LmJyIiwidG8uZ292LmJyIiwiZ3J1LmJyIiwiaW1iLmJyIiwiaW5kLmJyIiwiaW5mLmJyIiwiamFiLmJyIiwiamFtcGEuYnIiLCJqZGYuYnIiLCJqb2ludmlsbGUuYnIiLCJqb3IuYnIi''@;'; put 'put ''LCJqdXMuYnIiLCJsZWcuYnIiLCJsZWwuYnIiLCJsb25kcmluYS5iciIsIm1hY2FwYS5iciIsIm1hY2Vpby5iciIsIm1hbmF1cy5iciIsIm1hcmluZ2EuYnIiLCJtYXQuYnIiLCJtZWQuYnIiLCJtaWwuYnIiLCJtb3JlbmEuYnIiLCJtcC5iciIsIm11cy5iciIsIm5hdGFsLmJyIiwibmV0LmJy''@;'; put 'put ''Iiwibml0ZXJvaS5iciIsIioubm9tLmJyIiwibm90LmJyIiwibnRyLmJyIiwib2RvLmJyIiwib25nLmJyIiwib3JnLmJyIiwib3Nhc2NvLmJyIiwicGFsbWFzLmJyIiwicG9hLmJyIiwicHBnLmJyIiwicHJvLmJyIiwicHNjLmJyIiwicHNpLmJyIiwicHZoLmJyIiwicXNsLmJyIiwicmFkaW8u''@;'; put 'put ''YnIiLCJyZWMuYnIiLCJyZWNpZmUuYnIiLCJyaWJlaXJhby5iciIsInJpby5iciIsInJpb2JyYW5jby5iciIsInJpb3ByZXRvLmJyIiwic2FsdmFkb3IuYnIiLCJzYW1wYS5iciIsInNhbnRhbWFyaWEuYnIiLCJzYW50b2FuZHJlLmJyIiwic2FvYmVybmFyZG8uYnIiLCJzYW9nb25jYS5iciIs''@;'; put 'put ''InNqYy5iciIsInNsZy5iciIsInNsei5iciIsInNvcm9jYWJhLmJyIiwic3J2LmJyIiwidGF4aS5iciIsInRjLmJyIiwidGVvLmJyIiwidGhlLmJyIiwidG1wLmJyIiwidHJkLmJyIiwidHVyLmJyIiwidHYuYnIiLCJ1ZGkuYnIiLCJ2ZXQuYnIiLCJ2aXguYnIiLCJ2bG9nLmJyIiwid2lraS5i''@;'; put 'put ''ciIsInpsZy5iciIsImJzIiwiY29tLmJzIiwibmV0LmJzIiwib3JnLmJzIiwiZWR1LmJzIiwiZ292LmJzIiwiYnQiLCJjb20uYnQiLCJlZHUuYnQiLCJnb3YuYnQiLCJuZXQuYnQiLCJvcmcuYnQiLCJidiIsImJ3IiwiY28uYnciLCJvcmcuYnciLCJieSIsImdvdi5ieSIsIm1pbC5ieSIsImNv''@;'; put 'put ''bS5ieSIsIm9mLmJ5IiwiYnoiLCJjb20uYnoiLCJuZXQuYnoiLCJvcmcuYnoiLCJlZHUuYnoiLCJnb3YuYnoiLCJjYSIsImFiLmNhIiwiYmMuY2EiLCJtYi5jYSIsIm5iLmNhIiwibmYuY2EiLCJubC5jYSIsIm5zLmNhIiwibnQuY2EiLCJudS5jYSIsIm9uLmNhIiwicGUuY2EiLCJxYy5jYSIs''@;'; put 'put ''InNrLmNhIiwieWsuY2EiLCJnYy5jYSIsImNhdCIsImNjIiwiY2QiLCJnb3YuY2QiLCJjZiIsImNnIiwiY2giLCJjaSIsIm9yZy5jaSIsIm9yLmNpIiwiY29tLmNpIiwiY28uY2kiLCJlZHUuY2kiLCJlZC5jaSIsImFjLmNpIiwibmV0LmNpIiwiZ28uY2kiLCJhc3NvLmNpIiwiYVx4ZTlyb3Bv''@;'; put 'put ''cnQuY2kiLCJpbnQuY2kiLCJwcmVzc2UuY2kiLCJtZC5jaSIsImdvdXYuY2kiLCIqLmNrIiwiIXd3dy5jayIsImNsIiwiYXByZW5kZW1hcy5jbCIsImNvLmNsIiwiZ29iLmNsIiwiZ292LmNsIiwibWlsLmNsIiwiY20iLCJjby5jbSIsImNvbS5jbSIsImdvdi5jbSIsIm5ldC5jbSIsImNuIiwi''@;'; put 'put ''YWMuY24iLCJjb20uY24iLCJlZHUuY24iLCJnb3YuY24iLCJuZXQuY24iLCJvcmcuY24iLCJtaWwuY24iLCJcdTUxNmNcdTUzZjguY24iLCJcdTdmNTFcdTdlZGMuY24iLCJcdTdkYjJcdTdkNjEuY24iLCJhaC5jbiIsImJqLmNuIiwiY3EuY24iLCJmai5jbiIsImdkLmNuIiwiZ3MuY24iLCJn''@;'; put 'put ''ei5jbiIsImd4LmNuIiwiaGEuY24iLCJoYi5jbiIsImhlLmNuIiwiaGkuY24iLCJobC5jbiIsImhuLmNuIiwiamwuY24iLCJqcy5jbiIsImp4LmNuIiwibG4uY24iLCJubS5jbiIsIm54LmNuIiwicWguY24iLCJzYy5jbiIsInNkLmNuIiwic2guY24iLCJzbi5jbiIsInN4LmNuIiwidGouY24i''@;'; put 'put ''LCJ4ai5jbiIsInh6LmNuIiwieW4uY24iLCJ6ai5jbiIsImhrLmNuIiwibW8uY24iLCJ0dy5jbiIsImNvIiwiYXJ0cy5jbyIsImNvbS5jbyIsImVkdS5jbyIsImZpcm0uY28iLCJnb3YuY28iLCJpbmZvLmNvIiwiaW50LmNvIiwibWlsLmNvIiwibmV0LmNvIiwibm9tLmNvIiwib3JnLmNvIiwi''@;'; put 'put ''cmVjLmNvIiwid2ViLmNvIiwiY29tIiwiY29vcCIsImNyIiwiYWMuY3IiLCJjby5jciIsImVkLmNyIiwiZmkuY3IiLCJnby5jciIsIm9yLmNyIiwic2EuY3IiLCJjdSIsImNvbS5jdSIsImVkdS5jdSIsIm9yZy5jdSIsIm5ldC5jdSIsImdvdi5jdSIsImluZi5jdSIsImN2IiwiY3ciLCJjb20u''@;'; put 'put ''Y3ciLCJlZHUuY3ciLCJuZXQuY3ciLCJvcmcuY3ciLCJjeCIsImdvdi5jeCIsImN5IiwiYWMuY3kiLCJiaXouY3kiLCJjb20uY3kiLCJla2xvZ2VzLmN5IiwiZ292LmN5IiwibHRkLmN5IiwibmFtZS5jeSIsIm5ldC5jeSIsIm9yZy5jeSIsInBhcmxpYW1lbnQuY3kiLCJwcmVzcy5jeSIsInBy''@;'; put 'put ''by5jeSIsInRtLmN5IiwiY3oiLCJkZSIsImRqIiwiZGsiLCJkbSIsImNvbS5kbSIsIm5ldC5kbSIsIm9yZy5kbSIsImVkdS5kbSIsImdvdi5kbSIsImRvIiwiYXJ0LmRvIiwiY29tLmRvIiwiZWR1LmRvIiwiZ29iLmRvIiwiZ292LmRvIiwibWlsLmRvIiwibmV0LmRvIiwib3JnLmRvIiwic2xk''@;'; put 'put ''LmRvIiwid2ViLmRvIiwiZHoiLCJjb20uZHoiLCJvcmcuZHoiLCJuZXQuZHoiLCJnb3YuZHoiLCJlZHUuZHoiLCJhc3NvLmR6IiwicG9sLmR6IiwiYXJ0LmR6IiwiZWMiLCJjb20uZWMiLCJpbmZvLmVjIiwibmV0LmVjIiwiZmluLmVjIiwiazEyLmVjIiwibWVkLmVjIiwicHJvLmVjIiwib3Jn''@;'; put 'put ''LmVjIiwiZWR1LmVjIiwiZ292LmVjIiwiZ29iLmVjIiwibWlsLmVjIiwiZWR1IiwiZWUiLCJlZHUuZWUiLCJnb3YuZWUiLCJyaWlrLmVlIiwibGliLmVlIiwibWVkLmVlIiwiY29tLmVlIiwicHJpLmVlIiwiYWlwLmVlIiwib3JnLmVlIiwiZmllLmVlIiwiZWciLCJjb20uZWciLCJlZHUuZWci''@;'; put 'put ''LCJldW4uZWciLCJnb3YuZWciLCJtaWwuZWciLCJuYW1lLmVnIiwibmV0LmVnIiwib3JnLmVnIiwic2NpLmVnIiwiKi5lciIsImVzIiwiY29tLmVzIiwibm9tLmVzIiwib3JnLmVzIiwiZ29iLmVzIiwiZWR1LmVzIiwiZXQiLCJjb20uZXQiLCJnb3YuZXQiLCJvcmcuZXQiLCJlZHUuZXQiLCJi''@;'; put 'put ''aXouZXQiLCJuYW1lLmV0IiwiaW5mby5ldCIsIm5ldC5ldCIsImV1IiwiZmkiLCJhbGFuZC5maSIsImZqIiwiYWMuZmoiLCJiaXouZmoiLCJjb20uZmoiLCJnb3YuZmoiLCJpbmZvLmZqIiwibWlsLmZqIiwibmFtZS5maiIsIm5ldC5maiIsIm9yZy5maiIsInByby5maiIsIiouZmsiLCJmbSIs''@;'; put 'put ''ImZvIiwiZnIiLCJhc3NvLmZyIiwiY29tLmZyIiwiZ291di5mciIsIm5vbS5mciIsInByZC5mciIsInRtLmZyIiwiYWVyb3BvcnQuZnIiLCJhdm9jYXQuZnIiLCJhdm91ZXMuZnIiLCJjY2kuZnIiLCJjaGFtYmFncmkuZnIiLCJjaGlydXJnaWVucy1kZW50aXN0ZXMuZnIiLCJleHBlcnRzLWNv''@;'; put 'put ''bXB0YWJsZXMuZnIiLCJnZW9tZXRyZS1leHBlcnQuZnIiLCJncmV0YS5mciIsImh1aXNzaWVyLWp1c3RpY2UuZnIiLCJtZWRlY2luLmZyIiwibm90YWlyZXMuZnIiLCJwaGFybWFjaWVuLmZyIiwicG9ydC5mciIsInZldGVyaW5haXJlLmZyIiwiZ2EiLCJnYiIsImdkIiwiZ2UiLCJjb20uZ2Ui''@;'; put 'put ''LCJlZHUuZ2UiLCJnb3YuZ2UiLCJvcmcuZ2UiLCJtaWwuZ2UiLCJuZXQuZ2UiLCJwdnQuZ2UiLCJnZiIsImdnIiwiY28uZ2ciLCJuZXQuZ2ciLCJvcmcuZ2ciLCJnaCIsImNvbS5naCIsImVkdS5naCIsImdvdi5naCIsIm9yZy5naCIsIm1pbC5naCIsImdpIiwiY29tLmdpIiwibHRkLmdpIiwi''@;'; put 'put ''Z292LmdpIiwibW9kLmdpIiwiZWR1LmdpIiwib3JnLmdpIiwiZ2wiLCJjby5nbCIsImNvbS5nbCIsImVkdS5nbCIsIm5ldC5nbCIsIm9yZy5nbCIsImdtIiwiZ24iLCJhYy5nbiIsImNvbS5nbiIsImVkdS5nbiIsImdvdi5nbiIsIm9yZy5nbiIsIm5ldC5nbiIsImdvdiIsImdwIiwiY29tLmdw''@;'; put 'put ''IiwibmV0LmdwIiwibW9iaS5ncCIsImVkdS5ncCIsIm9yZy5ncCIsImFzc28uZ3AiLCJncSIsImdyIiwiY29tLmdyIiwiZWR1LmdyIiwibmV0LmdyIiwib3JnLmdyIiwiZ292LmdyIiwiZ3MiLCJndCIsImNvbS5ndCIsImVkdS5ndCIsImdvYi5ndCIsImluZC5ndCIsIm1pbC5ndCIsIm5ldC5n''@;'; put 'put ''dCIsIm9yZy5ndCIsImd1IiwiY29tLmd1IiwiZWR1Lmd1IiwiZ292Lmd1IiwiZ3VhbS5ndSIsImluZm8uZ3UiLCJuZXQuZ3UiLCJvcmcuZ3UiLCJ3ZWIuZ3UiLCJndyIsImd5IiwiY28uZ3kiLCJjb20uZ3kiLCJlZHUuZ3kiLCJnb3YuZ3kiLCJuZXQuZ3kiLCJvcmcuZ3kiLCJoayIsImNvbS5o''@;'; put 'put ''ayIsImVkdS5oayIsImdvdi5oayIsImlkdi5oayIsIm5ldC5oayIsIm9yZy5oayIsIlx1NTE2Y1x1NTNmOC5oayIsIlx1NjU1OVx1ODBiMi5oayIsIlx1NjU0ZVx1ODBiMi5oayIsIlx1NjUzZlx1NWU5Yy5oayIsIlx1NTAwYlx1NGViYS5oayIsIlx1NGUyYVx1NGViYS5oayIsIlx1N2I4N1x1''@;'; put 'put ''NGViYS5oayIsIlx1N2RiMlx1N2VkYy5oayIsIlx1N2Y1MVx1N2VkYy5oayIsIlx1N2VjNFx1N2U1NC5oayIsIlx1N2RiMlx1N2Q2MS5oayIsIlx1N2Y1MVx1N2Q2MS5oayIsIlx1N2VjNFx1N2VjNy5oayIsIlx1N2Q0NFx1N2U1NC5oayIsIlx1N2Q0NFx1N2VjNy5oayIsImhtIiwiaG4iLCJj''@;'; put 'put ''b20uaG4iLCJlZHUuaG4iLCJvcmcuaG4iLCJuZXQuaG4iLCJtaWwuaG4iLCJnb2IuaG4iLCJociIsIml6LmhyIiwiZnJvbS5ociIsIm5hbWUuaHIiLCJjb20uaHIiLCJodCIsImNvbS5odCIsInNob3AuaHQiLCJmaXJtLmh0IiwiaW5mby5odCIsImFkdWx0Lmh0IiwibmV0Lmh0IiwicHJvLmh0''@;'; put 'put ''Iiwib3JnLmh0IiwibWVkLmh0IiwiYXJ0Lmh0IiwiY29vcC5odCIsInBvbC5odCIsImFzc28uaHQiLCJlZHUuaHQiLCJyZWwuaHQiLCJnb3V2Lmh0IiwicGVyc28uaHQiLCJodSIsImNvLmh1IiwiaW5mby5odSIsIm9yZy5odSIsInByaXYuaHUiLCJzcG9ydC5odSIsInRtLmh1IiwiMjAwMC5o''@;'; put 'put ''dSIsImFncmFyLmh1IiwiYm9sdC5odSIsImNhc2luby5odSIsImNpdHkuaHUiLCJlcm90aWNhLmh1IiwiZXJvdGlrYS5odSIsImZpbG0uaHUiLCJmb3J1bS5odSIsImdhbWVzLmh1IiwiaG90ZWwuaHUiLCJpbmdhdGxhbi5odSIsImpvZ2Fzei5odSIsImtvbnl2ZWxvLmh1IiwibGFrYXMuaHUi''@;'; put 'put ''LCJtZWRpYS5odSIsIm5ld3MuaHUiLCJyZWtsYW0uaHUiLCJzZXguaHUiLCJzaG9wLmh1Iiwic3VsaS5odSIsInN6ZXguaHUiLCJ0b3pzZGUuaHUiLCJ1dGF6YXMuaHUiLCJ2aWRlby5odSIsImlkIiwiYWMuaWQiLCJiaXouaWQiLCJjby5pZCIsImRlc2EuaWQiLCJnby5pZCIsIm1pbC5pZCIs''@;'; put 'put ''Im15LmlkIiwibmV0LmlkIiwib3IuaWQiLCJwb25wZXMuaWQiLCJzY2guaWQiLCJ3ZWIuaWQiLCJpZSIsImdvdi5pZSIsImlsIiwiYWMuaWwiLCJjby5pbCIsImdvdi5pbCIsImlkZi5pbCIsImsxMi5pbCIsIm11bmkuaWwiLCJuZXQuaWwiLCJvcmcuaWwiLCJpbSIsImFjLmltIiwiY28uaW0i''@;'; put 'put ''LCJjb20uaW0iLCJsdGQuY28uaW0iLCJuZXQuaW0iLCJvcmcuaW0iLCJwbGMuY28uaW0iLCJ0dC5pbSIsInR2LmltIiwiaW4iLCJjby5pbiIsImZpcm0uaW4iLCJuZXQuaW4iLCJvcmcuaW4iLCJnZW4uaW4iLCJpbmQuaW4iLCJuaWMuaW4iLCJhYy5pbiIsImVkdS5pbiIsInJlcy5pbiIsImdv''@;'; put 'put ''di5pbiIsIm1pbC5pbiIsImluZm8iLCJpbnQiLCJldS5pbnQiLCJpbyIsImNvbS5pbyIsImlxIiwiZ292LmlxIiwiZWR1LmlxIiwibWlsLmlxIiwiY29tLmlxIiwib3JnLmlxIiwibmV0LmlxIiwiaXIiLCJhYy5pciIsImNvLmlyIiwiZ292LmlyIiwiaWQuaXIiLCJuZXQuaXIiLCJvcmcuaXIi''@;'; put 'put ''LCJzY2guaXIiLCJcdTA2MjdcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2NDYuaXIiLCJcdTA2MjdcdTA2NGFcdTA2MzFcdTA2MjdcdTA2NDYuaXIiLCJpcyIsIm5ldC5pcyIsImNvbS5pcyIsImVkdS5pcyIsImdvdi5pcyIsIm9yZy5pcyIsImludC5pcyIsIml0IiwiZ292Lml0IiwiZWR1Lml0Iiwi''@;'; put 'put ''YWJyLml0IiwiYWJydXp6by5pdCIsImFvc3RhLXZhbGxleS5pdCIsImFvc3RhdmFsbGV5Lml0IiwiYmFzLml0IiwiYmFzaWxpY2F0YS5pdCIsImNhbC5pdCIsImNhbGFicmlhLml0IiwiY2FtLml0IiwiY2FtcGFuaWEuaXQiLCJlbWlsaWEtcm9tYWduYS5pdCIsImVtaWxpYXJvbWFnbmEuaXQi''@;'; put 'put ''LCJlbXIuaXQiLCJmcml1bGktdi1naXVsaWEuaXQiLCJmcml1bGktdmUtZ2l1bGlhLml0IiwiZnJpdWxpLXZlZ2l1bGlhLml0IiwiZnJpdWxpLXZlbmV6aWEtZ2l1bGlhLml0IiwiZnJpdWxpLXZlbmV6aWFnaXVsaWEuaXQiLCJmcml1bGktdmdpdWxpYS5pdCIsImZyaXVsaXYtZ2l1bGlhLml0''@;'; put 'put ''IiwiZnJpdWxpdmUtZ2l1bGlhLml0IiwiZnJpdWxpdmVnaXVsaWEuaXQiLCJmcml1bGl2ZW5lemlhLWdpdWxpYS5pdCIsImZyaXVsaXZlbmV6aWFnaXVsaWEuaXQiLCJmcml1bGl2Z2l1bGlhLml0IiwiZnZnLml0IiwibGF6Lml0IiwibGF6aW8uaXQiLCJsaWcuaXQiLCJsaWd1cmlhLml0Iiwi''@;'; put 'put ''bG9tLml0IiwibG9tYmFyZGlhLml0IiwibG9tYmFyZHkuaXQiLCJsdWNhbmlhLml0IiwibWFyLml0IiwibWFyY2hlLml0IiwibW9sLml0IiwibW9saXNlLml0IiwicGllZG1vbnQuaXQiLCJwaWVtb250ZS5pdCIsInBtbi5pdCIsInB1Zy5pdCIsInB1Z2xpYS5pdCIsInNhci5pdCIsInNhcmRl''@;'; put 'put ''Z25hLml0Iiwic2FyZGluaWEuaXQiLCJzaWMuaXQiLCJzaWNpbGlhLml0Iiwic2ljaWx5Lml0IiwidGFhLml0IiwidG9zLml0IiwidG9zY2FuYS5pdCIsInRyZW50aW4tc3VkLXRpcm9sLml0IiwidHJlbnRpbi1zXHhmY2QtdGlyb2wuaXQiLCJ0cmVudGluLXN1ZHRpcm9sLml0IiwidHJlbnRp''@;'; put 'put ''bi1zXHhmY2R0aXJvbC5pdCIsInRyZW50aW4tc3VlZC10aXJvbC5pdCIsInRyZW50aW4tc3VlZHRpcm9sLml0IiwidHJlbnRpbm8tYS1hZGlnZS5pdCIsInRyZW50aW5vLWFhZGlnZS5pdCIsInRyZW50aW5vLWFsdG8tYWRpZ2UuaXQiLCJ0cmVudGluby1hbHRvYWRpZ2UuaXQiLCJ0cmVudGlu''@;'; put 'put ''by1zLXRpcm9sLml0IiwidHJlbnRpbm8tc3Rpcm9sLml0IiwidHJlbnRpbm8tc3VkLXRpcm9sLml0IiwidHJlbnRpbm8tc1x4ZmNkLXRpcm9sLml0IiwidHJlbnRpbm8tc3VkdGlyb2wuaXQiLCJ0cmVudGluby1zXHhmY2R0aXJvbC5pdCIsInRyZW50aW5vLXN1ZWQtdGlyb2wuaXQiLCJ0cmVu''@;'; put 'put ''dGluby1zdWVkdGlyb2wuaXQiLCJ0cmVudGluby5pdCIsInRyZW50aW5vYS1hZGlnZS5pdCIsInRyZW50aW5vYWFkaWdlLml0IiwidHJlbnRpbm9hbHRvLWFkaWdlLml0IiwidHJlbnRpbm9hbHRvYWRpZ2UuaXQiLCJ0cmVudGlub3MtdGlyb2wuaXQiLCJ0cmVudGlub3N0aXJvbC5pdCIsInRy''@;'; put 'put ''ZW50aW5vc3VkLXRpcm9sLml0IiwidHJlbnRpbm9zXHhmY2QtdGlyb2wuaXQiLCJ0cmVudGlub3N1ZHRpcm9sLml0IiwidHJlbnRpbm9zXHhmY2R0aXJvbC5pdCIsInRyZW50aW5vc3VlZC10aXJvbC5pdCIsInRyZW50aW5vc3VlZHRpcm9sLml0IiwidHJlbnRpbnN1ZC10aXJvbC5pdCIsInRy''@;'; put 'put ''ZW50aW5zXHhmY2QtdGlyb2wuaXQiLCJ0cmVudGluc3VkdGlyb2wuaXQiLCJ0cmVudGluc1x4ZmNkdGlyb2wuaXQiLCJ0cmVudGluc3VlZC10aXJvbC5pdCIsInRyZW50aW5zdWVkdGlyb2wuaXQiLCJ0dXNjYW55Lml0IiwidW1iLml0IiwidW1icmlhLml0IiwidmFsLWQtYW9zdGEuaXQiLCJ2''@;'; put 'put ''YWwtZGFvc3RhLml0IiwidmFsZC1hb3N0YS5pdCIsInZhbGRhb3N0YS5pdCIsInZhbGxlLWFvc3RhLml0IiwidmFsbGUtZC1hb3N0YS5pdCIsInZhbGxlLWRhb3N0YS5pdCIsInZhbGxlYW9zdGEuaXQiLCJ2YWxsZWQtYW9zdGEuaXQiLCJ2YWxsZWRhb3N0YS5pdCIsInZhbGxlZS1hb3N0ZS5p''@;'; put 'put ''dCIsInZhbGxceGU5ZS1hb3N0ZS5pdCIsInZhbGxlZS1kLWFvc3RlLml0IiwidmFsbFx4ZTllLWQtYW9zdGUuaXQiLCJ2YWxsZWVhb3N0ZS5pdCIsInZhbGxceGU5ZWFvc3RlLml0IiwidmFsbGVlZGFvc3RlLml0IiwidmFsbFx4ZTllZGFvc3RlLml0IiwidmFvLml0IiwidmRhLml0IiwidmVu''@;'; put 'put ''Lml0IiwidmVuZXRvLml0IiwiYWcuaXQiLCJhZ3JpZ2VudG8uaXQiLCJhbC5pdCIsImFsZXNzYW5kcmlhLml0IiwiYWx0by1hZGlnZS5pdCIsImFsdG9hZGlnZS5pdCIsImFuLml0IiwiYW5jb25hLml0IiwiYW5kcmlhLWJhcmxldHRhLXRyYW5pLml0IiwiYW5kcmlhLXRyYW5pLWJhcmxldHRh''@;'; put 'put ''Lml0IiwiYW5kcmlhYmFybGV0dGF0cmFuaS5pdCIsImFuZHJpYXRyYW5pYmFybGV0dGEuaXQiLCJhby5pdCIsImFvc3RhLml0IiwiYW9zdGUuaXQiLCJhcC5pdCIsImFxLml0IiwiYXF1aWxhLml0IiwiYXIuaXQiLCJhcmV6em8uaXQiLCJhc2NvbGktcGljZW5vLml0IiwiYXNjb2xpcGljZW5v''@;'; put 'put ''Lml0IiwiYXN0aS5pdCIsImF0Lml0IiwiYXYuaXQiLCJhdmVsbGluby5pdCIsImJhLml0IiwiYmFsc2FuLXN1ZHRpcm9sLml0IiwiYmFsc2FuLXNceGZjZHRpcm9sLml0IiwiYmFsc2FuLXN1ZWR0aXJvbC5pdCIsImJhbHNhbi5pdCIsImJhcmkuaXQiLCJiYXJsZXR0YS10cmFuaS1hbmRyaWEu''@;'; put 'put ''aXQiLCJiYXJsZXR0YXRyYW5pYW5kcmlhLml0IiwiYmVsbHVuby5pdCIsImJlbmV2ZW50by5pdCIsImJlcmdhbW8uaXQiLCJiZy5pdCIsImJpLml0IiwiYmllbGxhLml0IiwiYmwuaXQiLCJibi5pdCIsImJvLml0IiwiYm9sb2duYS5pdCIsImJvbHphbm8tYWx0b2FkaWdlLml0IiwiYm9semFu''@;'; put 'put ''by5pdCIsImJvemVuLXN1ZHRpcm9sLml0IiwiYm96ZW4tc1x4ZmNkdGlyb2wuaXQiLCJib3plbi1zdWVkdGlyb2wuaXQiLCJib3plbi5pdCIsImJyLml0IiwiYnJlc2NpYS5pdCIsImJyaW5kaXNpLml0IiwiYnMuaXQiLCJidC5pdCIsImJ1bHNhbi1zdWR0aXJvbC5pdCIsImJ1bHNhbi1zXHhm''@;'; put 'put ''Y2R0aXJvbC5pdCIsImJ1bHNhbi1zdWVkdGlyb2wuaXQiLCJidWxzYW4uaXQiLCJiei5pdCIsImNhLml0IiwiY2FnbGlhcmkuaXQiLCJjYWx0YW5pc3NldHRhLml0IiwiY2FtcGlkYW5vLW1lZGlvLml0IiwiY2FtcGlkYW5vbWVkaW8uaXQiLCJjYW1wb2Jhc3NvLml0IiwiY2FyYm9uaWEtaWds''@;'; put 'put ''ZXNpYXMuaXQiLCJjYXJib25pYWlnbGVzaWFzLml0IiwiY2FycmFyYS1tYXNzYS5pdCIsImNhcnJhcmFtYXNzYS5pdCIsImNhc2VydGEuaXQiLCJjYXRhbmlhLml0IiwiY2F0YW56YXJvLml0IiwiY2IuaXQiLCJjZS5pdCIsImNlc2VuYS1mb3JsaS5pdCIsImNlc2VuYS1mb3JsXHhlYy5pdCIs''@;'; put 'put ''ImNlc2VuYWZvcmxpLml0IiwiY2VzZW5hZm9ybFx4ZWMuaXQiLCJjaC5pdCIsImNoaWV0aS5pdCIsImNpLml0IiwiY2wuaXQiLCJjbi5pdCIsImNvLml0IiwiY29tby5pdCIsImNvc2VuemEuaXQiLCJjci5pdCIsImNyZW1vbmEuaXQiLCJjcm90b25lLml0IiwiY3MuaXQiLCJjdC5pdCIsImN1''@;'; put 'put ''bmVvLml0IiwiY3ouaXQiLCJkZWxsLW9nbGlhc3RyYS5pdCIsImRlbGxvZ2xpYXN0cmEuaXQiLCJlbi5pdCIsImVubmEuaXQiLCJmYy5pdCIsImZlLml0IiwiZmVybW8uaXQiLCJmZXJyYXJhLml0IiwiZmcuaXQiLCJmaS5pdCIsImZpcmVuemUuaXQiLCJmbG9yZW5jZS5pdCIsImZtLml0Iiwi''@;'; put 'put ''Zm9nZ2lhLml0IiwiZm9ybGktY2VzZW5hLml0IiwiZm9ybFx4ZWMtY2VzZW5hLml0IiwiZm9ybGljZXNlbmEuaXQiLCJmb3JsXHhlY2Nlc2VuYS5pdCIsImZyLml0IiwiZnJvc2lub25lLml0IiwiZ2UuaXQiLCJnZW5vYS5pdCIsImdlbm92YS5pdCIsImdvLml0IiwiZ29yaXppYS5pdCIsImdy''@;'; put 'put ''Lml0IiwiZ3Jvc3NldG8uaXQiLCJpZ2xlc2lhcy1jYXJib25pYS5pdCIsImlnbGVzaWFzY2FyYm9uaWEuaXQiLCJpbS5pdCIsImltcGVyaWEuaXQiLCJpcy5pdCIsImlzZXJuaWEuaXQiLCJrci5pdCIsImxhLXNwZXppYS5pdCIsImxhcXVpbGEuaXQiLCJsYXNwZXppYS5pdCIsImxhdGluYS5p''@;'; put 'put ''dCIsImxjLml0IiwibGUuaXQiLCJsZWNjZS5pdCIsImxlY2NvLml0IiwibGkuaXQiLCJsaXZvcm5vLml0IiwibG8uaXQiLCJsb2RpLml0IiwibHQuaXQiLCJsdS5pdCIsImx1Y2NhLml0IiwibWFjZXJhdGEuaXQiLCJtYW50b3ZhLml0IiwibWFzc2EtY2FycmFyYS5pdCIsIm1hc3NhY2FycmFy''@;'; put 'put ''YS5pdCIsIm1hdGVyYS5pdCIsIm1iLml0IiwibWMuaXQiLCJtZS5pdCIsIm1lZGlvLWNhbXBpZGFuby5pdCIsIm1lZGlvY2FtcGlkYW5vLml0IiwibWVzc2luYS5pdCIsIm1pLml0IiwibWlsYW4uaXQiLCJtaWxhbm8uaXQiLCJtbi5pdCIsIm1vLml0IiwibW9kZW5hLml0IiwibW9uemEtYnJp''@;'; put 'put ''YW56YS5pdCIsIm1vbnphLWUtZGVsbGEtYnJpYW56YS5pdCIsIm1vbnphLml0IiwibW9uemFicmlhbnphLml0IiwibW9uemFlYnJpYW56YS5pdCIsIm1vbnphZWRlbGxhYnJpYW56YS5pdCIsIm1zLml0IiwibXQuaXQiLCJuYS5pdCIsIm5hcGxlcy5pdCIsIm5hcG9saS5pdCIsIm5vLml0Iiwi''@;'; put 'put ''bm92YXJhLml0IiwibnUuaXQiLCJudW9yby5pdCIsIm9nLml0Iiwib2dsaWFzdHJhLml0Iiwib2xiaWEtdGVtcGlvLml0Iiwib2xiaWF0ZW1waW8uaXQiLCJvci5pdCIsIm9yaXN0YW5vLml0Iiwib3QuaXQiLCJwYS5pdCIsInBhZG92YS5pdCIsInBhZHVhLml0IiwicGFsZXJtby5pdCIsInBh''@;'; put 'put ''cm1hLml0IiwicGF2aWEuaXQiLCJwYy5pdCIsInBkLml0IiwicGUuaXQiLCJwZXJ1Z2lhLml0IiwicGVzYXJvLXVyYmluby5pdCIsInBlc2Fyb3VyYmluby5pdCIsInBlc2NhcmEuaXQiLCJwZy5pdCIsInBpLml0IiwicGlhY2VuemEuaXQiLCJwaXNhLml0IiwicGlzdG9pYS5pdCIsInBuLml0''@;'; put 'put ''IiwicG8uaXQiLCJwb3JkZW5vbmUuaXQiLCJwb3RlbnphLml0IiwicHIuaXQiLCJwcmF0by5pdCIsInB0Lml0IiwicHUuaXQiLCJwdi5pdCIsInB6Lml0IiwicmEuaXQiLCJyYWd1c2EuaXQiLCJyYXZlbm5hLml0IiwicmMuaXQiLCJyZS5pdCIsInJlZ2dpby1jYWxhYnJpYS5pdCIsInJlZ2dp''@;'; put 'put ''by1lbWlsaWEuaXQiLCJyZWdnaW9jYWxhYnJpYS5pdCIsInJlZ2dpb2VtaWxpYS5pdCIsInJnLml0IiwicmkuaXQiLCJyaWV0aS5pdCIsInJpbWluaS5pdCIsInJtLml0Iiwicm4uaXQiLCJyby5pdCIsInJvbWEuaXQiLCJyb21lLml0Iiwicm92aWdvLml0Iiwic2EuaXQiLCJzYWxlcm5vLml0''@;'; put 'put ''Iiwic2Fzc2FyaS5pdCIsInNhdm9uYS5pdCIsInNpLml0Iiwic2llbmEuaXQiLCJzaXJhY3VzYS5pdCIsInNvLml0Iiwic29uZHJpby5pdCIsInNwLml0Iiwic3IuaXQiLCJzcy5pdCIsInN1ZWR0aXJvbC5pdCIsInNceGZjZHRpcm9sLml0Iiwic3YuaXQiLCJ0YS5pdCIsInRhcmFudG8uaXQi''@;'; put 'put ''LCJ0ZS5pdCIsInRlbXBpby1vbGJpYS5pdCIsInRlbXBpb29sYmlhLml0IiwidGVyYW1vLml0IiwidGVybmkuaXQiLCJ0bi5pdCIsInRvLml0IiwidG9yaW5vLml0IiwidHAuaXQiLCJ0ci5pdCIsInRyYW5pLWFuZHJpYS1iYXJsZXR0YS5pdCIsInRyYW5pLWJhcmxldHRhLWFuZHJpYS5pdCIs''@;'; put 'put ''InRyYW5pYW5kcmlhYmFybGV0dGEuaXQiLCJ0cmFuaWJhcmxldHRhYW5kcmlhLml0IiwidHJhcGFuaS5pdCIsInRyZW50by5pdCIsInRyZXZpc28uaXQiLCJ0cmllc3RlLml0IiwidHMuaXQiLCJ0dXJpbi5pdCIsInR2Lml0IiwidWQuaXQiLCJ1ZGluZS5pdCIsInVyYmluby1wZXNhcm8uaXQi''@;'; put 'put ''LCJ1cmJpbm9wZXNhcm8uaXQiLCJ2YS5pdCIsInZhcmVzZS5pdCIsInZiLml0IiwidmMuaXQiLCJ2ZS5pdCIsInZlbmV6aWEuaXQiLCJ2ZW5pY2UuaXQiLCJ2ZXJiYW5pYS5pdCIsInZlcmNlbGxpLml0IiwidmVyb25hLml0IiwidmkuaXQiLCJ2aWJvLXZhbGVudGlhLml0Iiwidmlib3ZhbGVu''@;'; put 'put ''dGlhLml0IiwidmljZW56YS5pdCIsInZpdGVyYm8uaXQiLCJ2ci5pdCIsInZzLml0IiwidnQuaXQiLCJ2di5pdCIsImplIiwiY28uamUiLCJuZXQuamUiLCJvcmcuamUiLCIqLmptIiwiam8iLCJjb20uam8iLCJvcmcuam8iLCJuZXQuam8iLCJlZHUuam8iLCJzY2guam8iLCJnb3Yuam8iLCJt''@;'; put 'put ''aWwuam8iLCJuYW1lLmpvIiwiam9icyIsImpwIiwiYWMuanAiLCJhZC5qcCIsImNvLmpwIiwiZWQuanAiLCJnby5qcCIsImdyLmpwIiwibGcuanAiLCJuZS5qcCIsIm9yLmpwIiwiYWljaGkuanAiLCJha2l0YS5qcCIsImFvbW9yaS5qcCIsImNoaWJhLmpwIiwiZWhpbWUuanAiLCJmdWt1aS5q''@;'; put 'put ''cCIsImZ1a3Vva2EuanAiLCJmdWt1c2hpbWEuanAiLCJnaWZ1LmpwIiwiZ3VubWEuanAiLCJoaXJvc2hpbWEuanAiLCJob2trYWlkby5qcCIsImh5b2dvLmpwIiwiaWJhcmFraS5qcCIsImlzaGlrYXdhLmpwIiwiaXdhdGUuanAiLCJrYWdhd2EuanAiLCJrYWdvc2hpbWEuanAiLCJrYW5hZ2F3''@;'; put 'put ''YS5qcCIsImtvY2hpLmpwIiwia3VtYW1vdG8uanAiLCJreW90by5qcCIsIm1pZS5qcCIsIm1peWFnaS5qcCIsIm1peWF6YWtpLmpwIiwibmFnYW5vLmpwIiwibmFnYXNha2kuanAiLCJuYXJhLmpwIiwibmlpZ2F0YS5qcCIsIm9pdGEuanAiLCJva2F5YW1hLmpwIiwib2tpbmF3YS5qcCIsIm9z''@;'; put 'put ''YWthLmpwIiwic2FnYS5qcCIsInNhaXRhbWEuanAiLCJzaGlnYS5qcCIsInNoaW1hbmUuanAiLCJzaGl6dW9rYS5qcCIsInRvY2hpZ2kuanAiLCJ0b2t1c2hpbWEuanAiLCJ0b2t5by5qcCIsInRvdHRvcmkuanAiLCJ0b3lhbWEuanAiLCJ3YWtheWFtYS5qcCIsInlhbWFnYXRhLmpwIiwieWFt''@;'; put 'put ''YWd1Y2hpLmpwIiwieWFtYW5hc2hpLmpwIiwiXHU2ODAzXHU2NzI4LmpwIiwiXHU2MTFiXHU3N2U1LmpwIiwiXHU2MTFiXHU1YTliLmpwIiwiXHU1MTc1XHU1ZWFiLmpwIiwiXHU3MThhXHU2NzJjLmpwIiwiXHU4MzI4XHU1N2NlLmpwIiwiXHU1MzE3XHU2ZDc3XHU5MDUzLmpwIiwiXHU1MzQz''@;'; put 'put ''XHU4NDQ5LmpwIiwiXHU1NDhjXHU2YjRjXHU1YzcxLmpwIiwiXHU5NTc3XHU1ZDBlLmpwIiwiXHU5NTc3XHU5MWNlLmpwIiwiXHU2NWIwXHU2ZjVmLmpwIiwiXHU5NzUyXHU2OGVlLmpwIiwiXHU5NzU5XHU1Y2ExLmpwIiwiXHU2NzcxXHU0ZWFjLmpwIiwiXHU3N2YzXHU1ZGRkLmpwIiwiXHU1''@;'; put 'put ''N2ZjXHU3Mzg5LmpwIiwiXHU0ZTA5XHU5MWNkLmpwIiwiXHU0ZWFjXHU5MGZkLmpwIiwiXHU0ZjUwXHU4Y2MwLmpwIiwiXHU1OTI3XHU1MjA2LmpwIiwiXHU1OTI3XHU5NjJhLmpwIiwiXHU1OTQ4XHU4MjZmLmpwIiwiXHU1YmFlXHU1N2NlLmpwIiwiXHU1YmFlXHU1ZDBlLmpwIiwiXHU1YmNj''@;'; put 'put ''XHU1YzcxLmpwIiwiXHU1YzcxXHU1M2UzLmpwIiwiXHU1YzcxXHU1ZjYyLmpwIiwiXHU1YzcxXHU2OGE4LmpwIiwiXHU1Y2E5XHU2MjRiLmpwIiwiXHU1YzkwXHU5NjFjLmpwIiwiXHU1Y2ExXHU1YzcxLmpwIiwiXHU1Y2Y2XHU2ODM5LmpwIiwiXHU1ZTgzXHU1Y2Y2LmpwIiwiXHU1ZmIzXHU1''@;'; put 'put ''Y2Y2LmpwIiwiXHU2Yzk2XHU3ZTA0LmpwIiwiXHU2ZWNiXHU4Y2MwLmpwIiwiXHU3OTVlXHU1OTQ4XHU1ZGRkLmpwIiwiXHU3OThmXHU0ZTk1LmpwIiwiXHU3OThmXHU1Y2ExLmpwIiwiXHU3OThmXHU1Y2Y2LmpwIiwiXHU3OWNiXHU3NTMwLmpwIiwiXHU3ZmE0XHU5OWFjLmpwIiwiXHU5OTk5''@;'; put 'put ''XHU1ZGRkLmpwIiwiXHU5YWQ4XHU3N2U1LmpwIiwiXHU5Y2U1XHU1M2Q2LmpwIiwiXHU5ZTdmXHU1MTUwXHU1Y2Y2LmpwIiwiKi5rYXdhc2FraS5qcCIsIioua2l0YWt5dXNodS5qcCIsIioua29iZS5qcCIsIioubmFnb3lhLmpwIiwiKi5zYXBwb3JvLmpwIiwiKi5zZW5kYWkuanAiLCIqLnlv''@;'; put 'put ''a29oYW1hLmpwIiwiIWNpdHkua2F3YXNha2kuanAiLCIhY2l0eS5raXRha3l1c2h1LmpwIiwiIWNpdHkua29iZS5qcCIsIiFjaXR5Lm5hZ295YS5qcCIsIiFjaXR5LnNhcHBvcm8uanAiLCIhY2l0eS5zZW5kYWkuanAiLCIhY2l0eS55b2tvaGFtYS5qcCIsImFpc2FpLmFpY2hpLmpwIiwiYW1h''@;'; put 'put ''LmFpY2hpLmpwIiwiYW5qby5haWNoaS5qcCIsImFzdWtlLmFpY2hpLmpwIiwiY2hpcnl1LmFpY2hpLmpwIiwiY2hpdGEuYWljaGkuanAiLCJmdXNvLmFpY2hpLmpwIiwiZ2FtYWdvcmkuYWljaGkuanAiLCJoYW5kYS5haWNoaS5qcCIsImhhenUuYWljaGkuanAiLCJoZWtpbmFuLmFpY2hpLmpw''@;'; put 'put ''IiwiaGlnYXNoaXVyYS5haWNoaS5qcCIsImljaGlub21peWEuYWljaGkuanAiLCJpbmF6YXdhLmFpY2hpLmpwIiwiaW51eWFtYS5haWNoaS5qcCIsImlzc2hpa2kuYWljaGkuanAiLCJpd2FrdXJhLmFpY2hpLmpwIiwia2FuaWUuYWljaGkuanAiLCJrYXJpeWEuYWljaGkuanAiLCJrYXN1Z2Fp''@;'; put 'put ''LmFpY2hpLmpwIiwia2lyYS5haWNoaS5qcCIsImtpeW9zdS5haWNoaS5qcCIsImtvbWFraS5haWNoaS5qcCIsImtvbmFuLmFpY2hpLmpwIiwia290YS5haWNoaS5qcCIsIm1paGFtYS5haWNoaS5qcCIsIm1peW9zaGkuYWljaGkuanAiLCJuaXNoaW8uYWljaGkuanAiLCJuaXNzaGluLmFpY2hp''@;'; put 'put ''LmpwIiwib2J1LmFpY2hpLmpwIiwib2d1Y2hpLmFpY2hpLmpwIiwib2hhcnUuYWljaGkuanAiLCJva2F6YWtpLmFpY2hpLmpwIiwib3dhcmlhc2FoaS5haWNoaS5qcCIsInNldG8uYWljaGkuanAiLCJzaGlrYXRzdS5haWNoaS5qcCIsInNoaW5zaGlyby5haWNoaS5qcCIsInNoaXRhcmEuYWlj''@;'; put 'put ''aGkuanAiLCJ0YWhhcmEuYWljaGkuanAiLCJ0YWthaGFtYS5haWNoaS5qcCIsInRvYmlzaGltYS5haWNoaS5qcCIsInRvZWkuYWljaGkuanAiLCJ0b2dvLmFpY2hpLmpwIiwidG9rYWkuYWljaGkuanAiLCJ0b2tvbmFtZS5haWNoaS5qcCIsInRveW9ha2UuYWljaGkuanAiLCJ0b3lvaGFzaGku''@;'; put 'put ''YWljaGkuanAiLCJ0b3lva2F3YS5haWNoaS5qcCIsInRveW9uZS5haWNoaS5qcCIsInRveW90YS5haWNoaS5qcCIsInRzdXNoaW1hLmFpY2hpLmpwIiwieWF0b21pLmFpY2hpLmpwIiwiYWtpdGEuYWtpdGEuanAiLCJkYWlzZW4uYWtpdGEuanAiLCJmdWppc2F0by5ha2l0YS5qcCIsImdvam9t''@;'; put 'put ''ZS5ha2l0YS5qcCIsImhhY2hpcm9nYXRhLmFraXRhLmpwIiwiaGFwcG91LmFraXRhLmpwIiwiaGlnYXNoaW5hcnVzZS5ha2l0YS5qcCIsImhvbmpvLmFraXRhLmpwIiwiaG9uanlvLmFraXRhLmpwIiwiaWthd2EuYWtpdGEuanAiLCJrYW1pa29hbmkuYWtpdGEuanAiLCJrYW1pb2thLmFraXRh''@;'; put 'put ''LmpwIiwia2F0YWdhbWkuYWtpdGEuanAiLCJrYXp1bm8uYWtpdGEuanAiLCJraXRhYWtpdGEuYWtpdGEuanAiLCJrb3Nha2EuYWtpdGEuanAiLCJreW93YS5ha2l0YS5qcCIsIm1pc2F0by5ha2l0YS5qcCIsIm1pdGFuZS5ha2l0YS5qcCIsIm1vcml5b3NoaS5ha2l0YS5qcCIsIm5pa2Foby5h''@;'; put 'put ''a2l0YS5qcCIsIm5vc2hpcm8uYWtpdGEuanAiLCJvZGF0ZS5ha2l0YS5qcCIsIm9nYS5ha2l0YS5qcCIsIm9nYXRhLmFraXRhLmpwIiwic2VtYm9rdS5ha2l0YS5qcCIsInlva290ZS5ha2l0YS5qcCIsInl1cmlob25qby5ha2l0YS5qcCIsImFvbW9yaS5hb21vcmkuanAiLCJnb25vaGUuYW9t''@;'; put 'put ''b3JpLmpwIiwiaGFjaGlub2hlLmFvbW9yaS5qcCIsImhhc2hpa2FtaS5hb21vcmkuanAiLCJoaXJhbmFpLmFvbW9yaS5qcCIsImhpcm9zYWtpLmFvbW9yaS5qcCIsIml0YXlhbmFnaS5hb21vcmkuanAiLCJrdXJvaXNoaS5hb21vcmkuanAiLCJtaXNhd2EuYW9tb3JpLmpwIiwibXV0c3UuYW9t''@;'; put 'put ''b3JpLmpwIiwibmFrYWRvbWFyaS5hb21vcmkuanAiLCJub2hlamkuYW9tb3JpLmpwIiwib2lyYXNlLmFvbW9yaS5qcCIsIm93YW5pLmFvbW9yaS5qcCIsInJva3Vub2hlLmFvbW9yaS5qcCIsInNhbm5vaGUuYW9tb3JpLmpwIiwic2hpY2hpbm9oZS5hb21vcmkuanAiLCJzaGluZ28uYW9tb3Jp''@;'; put 'put ''LmpwIiwidGFra28uYW9tb3JpLmpwIiwidG93YWRhLmFvbW9yaS5qcCIsInRzdWdhcnUuYW9tb3JpLmpwIiwidHN1cnV0YS5hb21vcmkuanAiLCJhYmlrby5jaGliYS5qcCIsImFzYWhpLmNoaWJhLmpwIiwiY2hvbmFuLmNoaWJhLmpwIiwiY2hvc2VpLmNoaWJhLmpwIiwiY2hvc2hpLmNoaWJh''@;'; put 'put ''LmpwIiwiY2h1by5jaGliYS5qcCIsImZ1bmFiYXNoaS5jaGliYS5qcCIsImZ1dHRzdS5jaGliYS5qcCIsImhhbmFtaWdhd2EuY2hpYmEuanAiLCJpY2hpaGFyYS5jaGliYS5qcCIsImljaGlrYXdhLmNoaWJhLmpwIiwiaWNoaW5vbWl5YS5jaGliYS5qcCIsImluemFpLmNoaWJhLmpwIiwiaXN1''@;'; put 'put ''bWkuY2hpYmEuanAiLCJrYW1hZ2F5YS5jaGliYS5qcCIsImthbW9nYXdhLmNoaWJhLmpwIiwia2FzaGl3YS5jaGliYS5qcCIsImthdG9yaS5jaGliYS5qcCIsImthdHN1dXJhLmNoaWJhLmpwIiwia2ltaXRzdS5jaGliYS5qcCIsImtpc2FyYXp1LmNoaWJhLmpwIiwia296YWtpLmNoaWJhLmpw''@;'; put 'put ''Iiwia3VqdWt1cmkuY2hpYmEuanAiLCJreW9uYW4uY2hpYmEuanAiLCJtYXRzdWRvLmNoaWJhLmpwIiwibWlkb3JpLmNoaWJhLmpwIiwibWloYW1hLmNoaWJhLmpwIiwibWluYW1pYm9zby5jaGliYS5qcCIsIm1vYmFyYS5jaGliYS5qcCIsIm11dHN1emF3YS5jaGliYS5qcCIsIm5hZ2FyYS5j''@;'; put 'put ''aGliYS5qcCIsIm5hZ2FyZXlhbWEuY2hpYmEuanAiLCJuYXJhc2hpbm8uY2hpYmEuanAiLCJuYXJpdGEuY2hpYmEuanAiLCJub2RhLmNoaWJhLmpwIiwib2FtaXNoaXJhc2F0by5jaGliYS5qcCIsIm9taWdhd2EuY2hpYmEuanAiLCJvbmp1a3UuY2hpYmEuanAiLCJvdGFraS5jaGliYS5qcCIs''@;'; put 'put ''InNha2FlLmNoaWJhLmpwIiwic2FrdXJhLmNoaWJhLmpwIiwic2hpbW9mdXNhLmNoaWJhLmpwIiwic2hpcmFrby5jaGliYS5qcCIsInNoaXJvaS5jaGliYS5qcCIsInNoaXN1aS5jaGliYS5qcCIsInNvZGVnYXVyYS5jaGliYS5qcCIsInNvc2EuY2hpYmEuanAiLCJ0YWtvLmNoaWJhLmpwIiwi''@;'; put 'put ''dGF0ZXlhbWEuY2hpYmEuanAiLCJ0b2dhbmUuY2hpYmEuanAiLCJ0b2hub3Noby5jaGliYS5qcCIsInRvbWlzYXRvLmNoaWJhLmpwIiwidXJheWFzdS5jaGliYS5qcCIsInlhY2hpbWF0YS5jaGliYS5qcCIsInlhY2hpeW8uY2hpYmEuanAiLCJ5b2thaWNoaWJhLmNoaWJhLmpwIiwieW9rb3No''@;'; put 'put ''aWJhaGlrYXJpLmNoaWJhLmpwIiwieW90c3VrYWlkby5jaGliYS5qcCIsImFpbmFuLmVoaW1lLmpwIiwiaG9uYWkuZWhpbWUuanAiLCJpa2F0YS5laGltZS5qcCIsImltYWJhcmkuZWhpbWUuanAiLCJpeW8uZWhpbWUuanAiLCJrYW1pamltYS5laGltZS5qcCIsImtpaG9rdS5laGltZS5qcCIs''@;'; put 'put ''Imt1bWFrb2dlbi5laGltZS5qcCIsIm1hc2FraS5laGltZS5qcCIsIm1hdHN1bm8uZWhpbWUuanAiLCJtYXRzdXlhbWEuZWhpbWUuanAiLCJuYW1pa2F0YS5laGltZS5qcCIsIm5paWhhbWEuZWhpbWUuanAiLCJvenUuZWhpbWUuanAiLCJzYWlqby5laGltZS5qcCIsInNlaXlvLmVoaW1lLmpw''@;'; put 'put ''Iiwic2hpa29rdWNodW8uZWhpbWUuanAiLCJ0b2JlLmVoaW1lLmpwIiwidG9vbi5laGltZS5qcCIsInVjaGlrby5laGltZS5qcCIsInV3YWppbWEuZWhpbWUuanAiLCJ5YXdhdGFoYW1hLmVoaW1lLmpwIiwiZWNoaXplbi5mdWt1aS5qcCIsImVpaGVpamkuZnVrdWkuanAiLCJmdWt1aS5mdWt1''@;'; put 'put ''aS5qcCIsImlrZWRhLmZ1a3VpLmpwIiwia2F0c3V5YW1hLmZ1a3VpLmpwIiwibWloYW1hLmZ1a3VpLmpwIiwibWluYW1pZWNoaXplbi5mdWt1aS5qcCIsIm9iYW1hLmZ1a3VpLmpwIiwib2hpLmZ1a3VpLmpwIiwib25vLmZ1a3VpLmpwIiwic2FiYWUuZnVrdWkuanAiLCJzYWthaS5mdWt1aS5q''@;'; put 'put ''cCIsInRha2FoYW1hLmZ1a3VpLmpwIiwidHN1cnVnYS5mdWt1aS5qcCIsIndha2FzYS5mdWt1aS5qcCIsImFzaGl5YS5mdWt1b2thLmpwIiwiYnV6ZW4uZnVrdW9rYS5qcCIsImNoaWt1Z28uZnVrdW9rYS5qcCIsImNoaWt1aG8uZnVrdW9rYS5qcCIsImNoaWt1am8uZnVrdW9rYS5qcCIsImNo''@;'; put 'put ''aWt1c2hpbm8uZnVrdW9rYS5qcCIsImNoaWt1emVuLmZ1a3Vva2EuanAiLCJjaHVvLmZ1a3Vva2EuanAiLCJkYXphaWZ1LmZ1a3Vva2EuanAiLCJmdWt1Y2hpLmZ1a3Vva2EuanAiLCJoYWthdGEuZnVrdW9rYS5qcCIsImhpZ2FzaGkuZnVrdW9rYS5qcCIsImhpcm9rYXdhLmZ1a3Vva2EuanAi''@;'; put 'put ''LCJoaXNheWFtYS5mdWt1b2thLmpwIiwiaWl6dWthLmZ1a3Vva2EuanAiLCJpbmF0c3VraS5mdWt1b2thLmpwIiwia2Foby5mdWt1b2thLmpwIiwia2FzdWdhLmZ1a3Vva2EuanAiLCJrYXN1eWEuZnVrdW9rYS5qcCIsImthd2FyYS5mdWt1b2thLmpwIiwia2Vpc2VuLmZ1a3Vva2EuanAiLCJr''@;'; put 'put ''b2dhLmZ1a3Vva2EuanAiLCJrdXJhdGUuZnVrdW9rYS5qcCIsImt1cm9naS5mdWt1b2thLmpwIiwia3VydW1lLmZ1a3Vva2EuanAiLCJtaW5hbWkuZnVrdW9rYS5qcCIsIm1peWFrby5mdWt1b2thLmpwIiwibWl5YW1hLmZ1a3Vva2EuanAiLCJtaXlhd2FrYS5mdWt1b2thLmpwIiwibWl6dW1h''@;'; put 'put ''a2kuZnVrdW9rYS5qcCIsIm11bmFrYXRhLmZ1a3Vva2EuanAiLCJuYWthZ2F3YS5mdWt1b2thLmpwIiwibmFrYW1hLmZ1a3Vva2EuanAiLCJuaXNoaS5mdWt1b2thLmpwIiwibm9nYXRhLmZ1a3Vva2EuanAiLCJvZ29yaS5mdWt1b2thLmpwIiwib2thZ2FraS5mdWt1b2thLmpwIiwib2thd2Eu''@;'; put 'put ''ZnVrdW9rYS5qcCIsIm9raS5mdWt1b2thLmpwIiwib211dGEuZnVrdW9rYS5qcCIsIm9uZ2EuZnVrdW9rYS5qcCIsIm9ub2pvLmZ1a3Vva2EuanAiLCJvdG8uZnVrdW9rYS5qcCIsInNhaWdhd2EuZnVrdW9rYS5qcCIsInNhc2FndXJpLmZ1a3Vva2EuanAiLCJzaGluZ3UuZnVrdW9rYS5qcCIs''@;'; put 'put ''InNoaW55b3NoaXRvbWkuZnVrdW9rYS5qcCIsInNob25haS5mdWt1b2thLmpwIiwic29lZGEuZnVrdW9rYS5qcCIsInN1ZS5mdWt1b2thLmpwIiwidGFjaGlhcmFpLmZ1a3Vva2EuanAiLCJ0YWdhd2EuZnVrdW9rYS5qcCIsInRha2F0YS5mdWt1b2thLmpwIiwidG9oby5mdWt1b2thLmpwIiwi''@;'; put 'put ''dG95b3RzdS5mdWt1b2thLmpwIiwidHN1aWtpLmZ1a3Vva2EuanAiLCJ1a2loYS5mdWt1b2thLmpwIiwidW1pLmZ1a3Vva2EuanAiLCJ1c3VpLmZ1a3Vva2EuanAiLCJ5YW1hZGEuZnVrdW9rYS5qcCIsInlhbWUuZnVrdW9rYS5qcCIsInlhbmFnYXdhLmZ1a3Vva2EuanAiLCJ5dWt1aGFzaGku''@;'; put 'put ''ZnVrdW9rYS5qcCIsImFpenViYW5nZS5mdWt1c2hpbWEuanAiLCJhaXp1bWlzYXRvLmZ1a3VzaGltYS5qcCIsImFpenV3YWthbWF0c3UuZnVrdXNoaW1hLmpwIiwiYXNha2F3YS5mdWt1c2hpbWEuanAiLCJiYW5kYWkuZnVrdXNoaW1hLmpwIiwiZGF0ZS5mdWt1c2hpbWEuanAiLCJmdWt1c2hp''@;'; put 'put ''bWEuZnVrdXNoaW1hLmpwIiwiZnVydWRvbm8uZnVrdXNoaW1hLmpwIiwiZnV0YWJhLmZ1a3VzaGltYS5qcCIsImhhbmF3YS5mdWt1c2hpbWEuanAiLCJoaWdhc2hpLmZ1a3VzaGltYS5qcCIsImhpcmF0YS5mdWt1c2hpbWEuanAiLCJoaXJvbm8uZnVrdXNoaW1hLmpwIiwiaWl0YXRlLmZ1a3Vz''@;'; put 'put ''aGltYS5qcCIsImluYXdhc2hpcm8uZnVrdXNoaW1hLmpwIiwiaXNoaWthd2EuZnVrdXNoaW1hLmpwIiwiaXdha2kuZnVrdXNoaW1hLmpwIiwiaXp1bWl6YWtpLmZ1a3VzaGltYS5qcCIsImthZ2FtaWlzaGkuZnVrdXNoaW1hLmpwIiwia2FuZXlhbWEuZnVrdXNoaW1hLmpwIiwia2F3YW1hdGEu''@;'; put 'put ''ZnVrdXNoaW1hLmpwIiwia2l0YWthdGEuZnVrdXNoaW1hLmpwIiwia2l0YXNoaW9iYXJhLmZ1a3VzaGltYS5qcCIsImtvb3JpLmZ1a3VzaGltYS5qcCIsImtvcml5YW1hLmZ1a3VzaGltYS5qcCIsImt1bmltaS5mdWt1c2hpbWEuanAiLCJtaWhhcnUuZnVrdXNoaW1hLmpwIiwibWlzaGltYS5m''@;'; put 'put ''dWt1c2hpbWEuanAiLCJuYW1pZS5mdWt1c2hpbWEuanAiLCJuYW5nby5mdWt1c2hpbWEuanAiLCJuaXNoaWFpenUuZnVrdXNoaW1hLmpwIiwibmlzaGlnby5mdWt1c2hpbWEuanAiLCJva3VtYS5mdWt1c2hpbWEuanAiLCJvbW90ZWdvLmZ1a3VzaGltYS5qcCIsIm9uby5mdWt1c2hpbWEuanAi''@;'; put 'put ''LCJvdGFtYS5mdWt1c2hpbWEuanAiLCJzYW1lZ2F3YS5mdWt1c2hpbWEuanAiLCJzaGltb2dvLmZ1a3VzaGltYS5qcCIsInNoaXJha2F3YS5mdWt1c2hpbWEuanAiLCJzaG93YS5mdWt1c2hpbWEuanAiLCJzb21hLmZ1a3VzaGltYS5qcCIsInN1a2FnYXdhLmZ1a3VzaGltYS5qcCIsInRhaXNo''@;'; put 'put ''aW4uZnVrdXNoaW1hLmpwIiwidGFtYWthd2EuZnVrdXNoaW1hLmpwIiwidGFuYWd1cmEuZnVrdXNoaW1hLmpwIiwidGVuZWkuZnVrdXNoaW1hLmpwIiwieWFidWtpLmZ1a3VzaGltYS5qcCIsInlhbWF0by5mdWt1c2hpbWEuanAiLCJ5YW1hdHN1cmkuZnVrdXNoaW1hLmpwIiwieWFuYWl6dS5m''@;'; put 'put ''dWt1c2hpbWEuanAiLCJ5dWdhd2EuZnVrdXNoaW1hLmpwIiwiYW5wYWNoaS5naWZ1LmpwIiwiZW5hLmdpZnUuanAiLCJnaWZ1LmdpZnUuanAiLCJnaW5hbi5naWZ1LmpwIiwiZ29kby5naWZ1LmpwIiwiZ3Vqby5naWZ1LmpwIiwiaGFzaGltYS5naWZ1LmpwIiwiaGljaGlzby5naWZ1LmpwIiwi''@;'; put 'put ''aGlkYS5naWZ1LmpwIiwiaGlnYXNoaXNoaXJha2F3YS5naWZ1LmpwIiwiaWJpZ2F3YS5naWZ1LmpwIiwiaWtlZGEuZ2lmdS5qcCIsImtha2FtaWdhaGFyYS5naWZ1LmpwIiwia2FuaS5naWZ1LmpwIiwia2FzYWhhcmEuZ2lmdS5qcCIsImthc2FtYXRzdS5naWZ1LmpwIiwia2F3YXVlLmdpZnUu''@;'; put 'put ''anAiLCJraXRhZ2F0YS5naWZ1LmpwIiwibWluby5naWZ1LmpwIiwibWlub2thbW8uZ2lmdS5qcCIsIm1pdGFrZS5naWZ1LmpwIiwibWl6dW5hbWkuZ2lmdS5qcCIsIm1vdG9zdS5naWZ1LmpwIiwibmFrYXRzdWdhd2EuZ2lmdS5qcCIsIm9nYWtpLmdpZnUuanAiLCJzYWthaG9naS5naWZ1Lmpw''@;'; put 'put ''Iiwic2VraS5naWZ1LmpwIiwic2VraWdhaGFyYS5naWZ1LmpwIiwic2hpcmFrYXdhLmdpZnUuanAiLCJ0YWppbWkuZ2lmdS5qcCIsInRha2F5YW1hLmdpZnUuanAiLCJ0YXJ1aS5naWZ1LmpwIiwidG9raS5naWZ1LmpwIiwidG9taWthLmdpZnUuanAiLCJ3YW5vdWNoaS5naWZ1LmpwIiwieWFt''@;'; put 'put ''YWdhdGEuZ2lmdS5qcCIsInlhb3RzdS5naWZ1LmpwIiwieW9yby5naWZ1LmpwIiwiYW5uYWthLmd1bm1hLmpwIiwiY2hpeW9kYS5ndW5tYS5qcCIsImZ1amlva2EuZ3VubWEuanAiLCJoaWdhc2hpYWdhdHN1bWEuZ3VubWEuanAiLCJpc2VzYWtpLmd1bm1hLmpwIiwiaXRha3VyYS5ndW5tYS5q''@;'; put 'put ''cCIsImthbm5hLmd1bm1hLmpwIiwia2FucmEuZ3VubWEuanAiLCJrYXRhc2hpbmEuZ3VubWEuanAiLCJrYXdhYmEuZ3VubWEuanAiLCJraXJ5dS5ndW5tYS5qcCIsImt1c2F0c3UuZ3VubWEuanAiLCJtYWViYXNoaS5ndW5tYS5qcCIsIm1laXdhLmd1bm1hLmpwIiwibWlkb3JpLmd1bm1hLmpw''@;'; put 'put ''IiwibWluYWthbWkuZ3VubWEuanAiLCJuYWdhbm9oYXJhLmd1bm1hLmpwIiwibmFrYW5vam8uZ3VubWEuanAiLCJuYW5tb2t1Lmd1bm1hLmpwIiwibnVtYXRhLmd1bm1hLmpwIiwib2l6dW1pLmd1bm1hLmpwIiwib3JhLmd1bm1hLmpwIiwib3RhLmd1bm1hLmpwIiwic2hpYnVrYXdhLmd1bm1h''@;'; put 'put ''LmpwIiwic2hpbW9uaXRhLmd1bm1hLmpwIiwic2hpbnRvLmd1bm1hLmpwIiwic2hvd2EuZ3VubWEuanAiLCJ0YWthc2FraS5ndW5tYS5qcCIsInRha2F5YW1hLmd1bm1hLmpwIiwidGFtYW11cmEuZ3VubWEuanAiLCJ0YXRlYmF5YXNoaS5ndW5tYS5qcCIsInRvbWlva2EuZ3VubWEuanAiLCJ0''@;'; put 'put ''c3VraXlvbm8uZ3VubWEuanAiLCJ0c3VtYWdvaS5ndW5tYS5qcCIsInVlbm8uZ3VubWEuanAiLCJ5b3NoaW9rYS5ndW5tYS5qcCIsImFzYW1pbmFtaS5oaXJvc2hpbWEuanAiLCJkYWl3YS5oaXJvc2hpbWEuanAiLCJldGFqaW1hLmhpcm9zaGltYS5qcCIsImZ1Y2h1Lmhpcm9zaGltYS5qcCIs''@;'; put 'put ''ImZ1a3V5YW1hLmhpcm9zaGltYS5qcCIsImhhdHN1a2FpY2hpLmhpcm9zaGltYS5qcCIsImhpZ2FzaGloaXJvc2hpbWEuaGlyb3NoaW1hLmpwIiwiaG9uZ28uaGlyb3NoaW1hLmpwIiwiamluc2VraWtvZ2VuLmhpcm9zaGltYS5qcCIsImthaXRhLmhpcm9zaGltYS5qcCIsImt1aS5oaXJvc2hp''@;'; put 'put ''bWEuanAiLCJrdW1hbm8uaGlyb3NoaW1hLmpwIiwia3VyZS5oaXJvc2hpbWEuanAiLCJtaWhhcmEuaGlyb3NoaW1hLmpwIiwibWl5b3NoaS5oaXJvc2hpbWEuanAiLCJuYWthLmhpcm9zaGltYS5qcCIsIm9ub21pY2hpLmhpcm9zaGltYS5qcCIsIm9zYWtpa2FtaWppbWEuaGlyb3NoaW1hLmpw''@;'; put 'put ''Iiwib3Rha2UuaGlyb3NoaW1hLmpwIiwic2FrYS5oaXJvc2hpbWEuanAiLCJzZXJhLmhpcm9zaGltYS5qcCIsInNlcmFuaXNoaS5oaXJvc2hpbWEuanAiLCJzaGluaWNoaS5oaXJvc2hpbWEuanAiLCJzaG9iYXJhLmhpcm9zaGltYS5qcCIsInRha2VoYXJhLmhpcm9zaGltYS5qcCIsImFiYXNo''@;'; put 'put ''aXJpLmhva2thaWRvLmpwIiwiYWJpcmEuaG9ra2FpZG8uanAiLCJhaWJldHN1Lmhva2thaWRvLmpwIiwiYWthYmlyYS5ob2trYWlkby5qcCIsImFra2VzaGkuaG9ra2FpZG8uanAiLCJhc2FoaWthd2EuaG9ra2FpZG8uanAiLCJhc2hpYmV0c3UuaG9ra2FpZG8uanAiLCJhc2hvcm8uaG9ra2Fp''@;'; put 'put ''ZG8uanAiLCJhc3NhYnUuaG9ra2FpZG8uanAiLCJhdHN1bWEuaG9ra2FpZG8uanAiLCJiaWJhaS5ob2trYWlkby5qcCIsImJpZWkuaG9ra2FpZG8uanAiLCJiaWZ1a2EuaG9ra2FpZG8uanAiLCJiaWhvcm8uaG9ra2FpZG8uanAiLCJiaXJhdG9yaS5ob2trYWlkby5qcCIsImNoaXBwdWJldHN1''@;'; put 'put ''Lmhva2thaWRvLmpwIiwiY2hpdG9zZS5ob2trYWlkby5qcCIsImRhdGUuaG9ra2FpZG8uanAiLCJlYmV0c3UuaG9ra2FpZG8uanAiLCJlbWJldHN1Lmhva2thaWRvLmpwIiwiZW5pd2EuaG9ra2FpZG8uanAiLCJlcmltby5ob2trYWlkby5qcCIsImVzYW4uaG9ra2FpZG8uanAiLCJlc2FzaGku''@;'; put 'put ''aG9ra2FpZG8uanAiLCJmdWthZ2F3YS5ob2trYWlkby5qcCIsImZ1a3VzaGltYS5ob2trYWlkby5qcCIsImZ1cmFuby5ob2trYWlkby5qcCIsImZ1cnViaXJhLmhva2thaWRvLmpwIiwiaGFib3JvLmhva2thaWRvLmpwIiwiaGFrb2RhdGUuaG9ra2FpZG8uanAiLCJoYW1hdG9uYmV0c3UuaG9r''@;'; put 'put ''a2FpZG8uanAiLCJoaWRha2EuaG9ra2FpZG8uanAiLCJoaWdhc2hpa2FndXJhLmhva2thaWRvLmpwIiwiaGlnYXNoaWthd2EuaG9ra2FpZG8uanAiLCJoaXJvby5ob2trYWlkby5qcCIsImhva3VyeXUuaG9ra2FpZG8uanAiLCJob2t1dG8uaG9ra2FpZG8uanAiLCJob25iZXRzdS5ob2trYWlk''@;'; put 'put ''by5qcCIsImhvcm9rYW5haS5ob2trYWlkby5qcCIsImhvcm9ub2JlLmhva2thaWRvLmpwIiwiaWtlZGEuaG9ra2FpZG8uanAiLCJpbWFrYW5lLmhva2thaWRvLmpwIiwiaXNoaWthcmkuaG9ra2FpZG8uanAiLCJpd2FtaXphd2EuaG9ra2FpZG8uanAiLCJpd2FuYWkuaG9ra2FpZG8uanAiLCJr''@;'; put 'put ''YW1pZnVyYW5vLmhva2thaWRvLmpwIiwia2FtaWthd2EuaG9ra2FpZG8uanAiLCJrYW1pc2hpaG9yby5ob2trYWlkby5qcCIsImthbWlzdW5hZ2F3YS5ob2trYWlkby5qcCIsImthbW9lbmFpLmhva2thaWRvLmpwIiwia2F5YWJlLmhva2thaWRvLmpwIiwia2VtYnVjaGkuaG9ra2FpZG8uanAi''@;'; put 'put ''LCJraWtvbmFpLmhva2thaWRvLmpwIiwia2ltb2JldHN1Lmhva2thaWRvLmpwIiwia2l0YWhpcm9zaGltYS5ob2trYWlkby5qcCIsImtpdGFtaS5ob2trYWlkby5qcCIsImtpeW9zYXRvLmhva2thaWRvLmpwIiwia29zaGltaXp1Lmhva2thaWRvLmpwIiwia3VubmVwcHUuaG9ra2FpZG8uanAi''@;'; put 'put ''LCJrdXJpeWFtYS5ob2trYWlkby5qcCIsImt1cm9tYXRzdW5haS5ob2trYWlkby5qcCIsImt1c2hpcm8uaG9ra2FpZG8uanAiLCJrdXRjaGFuLmhva2thaWRvLmpwIiwia3lvd2EuaG9ra2FpZG8uanAiLCJtYXNoaWtlLmhva2thaWRvLmpwIiwibWF0c3VtYWUuaG9ra2FpZG8uanAiLCJtaWth''@;'; put 'put ''c2EuaG9ra2FpZG8uanAiLCJtaW5hbWlmdXJhbm8uaG9ra2FpZG8uanAiLCJtb21iZXRzdS5ob2trYWlkby5qcCIsIm1vc2V1c2hpLmhva2thaWRvLmpwIiwibXVrYXdhLmhva2thaWRvLmpwIiwibXVyb3Jhbi5ob2trYWlkby5qcCIsIm5haWUuaG9ra2FpZG8uanAiLCJuYWthZ2F3YS5ob2tr''@;'; put 'put ''YWlkby5qcCIsIm5ha2FzYXRzdW5haS5ob2trYWlkby5qcCIsIm5ha2F0b21iZXRzdS5ob2trYWlkby5qcCIsIm5hbmFlLmhva2thaWRvLmpwIiwibmFucG9yby5ob2trYWlkby5qcCIsIm5heW9yby5ob2trYWlkby5qcCIsIm5lbXVyby5ob2trYWlkby5qcCIsIm5paWthcHB1Lmhva2thaWRv''@;'; put 'put ''LmpwIiwibmlraS5ob2trYWlkby5qcCIsIm5pc2hpb2tvcHBlLmhva2thaWRvLmpwIiwibm9ib3JpYmV0c3UuaG9ra2FpZG8uanAiLCJudW1hdGEuaG9ra2FpZG8uanAiLCJvYmloaXJvLmhva2thaWRvLmpwIiwib2JpcmEuaG9ra2FpZG8uanAiLCJva2V0by5ob2trYWlkby5qcCIsIm9rb3Bw''@;'; put 'put ''ZS5ob2trYWlkby5qcCIsIm90YXJ1Lmhva2thaWRvLmpwIiwib3RvYmUuaG9ra2FpZG8uanAiLCJvdG9mdWtlLmhva2thaWRvLmpwIiwib3RvaW5lcHB1Lmhva2thaWRvLmpwIiwib3VtdS5ob2trYWlkby5qcCIsIm96b3JhLmhva2thaWRvLmpwIiwicGlwcHUuaG9ra2FpZG8uanAiLCJyYW5r''@;'; put 'put ''b3NoaS5ob2trYWlkby5qcCIsInJlYnVuLmhva2thaWRvLmpwIiwicmlrdWJldHN1Lmhva2thaWRvLmpwIiwicmlzaGlyaS5ob2trYWlkby5qcCIsInJpc2hpcmlmdWppLmhva2thaWRvLmpwIiwic2Fyb21hLmhva2thaWRvLmpwIiwic2FydWZ1dHN1Lmhva2thaWRvLmpwIiwic2hha290YW4u''@;'; put 'put ''aG9ra2FpZG8uanAiLCJzaGFyaS5ob2trYWlkby5qcCIsInNoaWJlY2hhLmhva2thaWRvLmpwIiwic2hpYmV0c3UuaG9ra2FpZG8uanAiLCJzaGlrYWJlLmhva2thaWRvLmpwIiwic2hpa2FvaS5ob2trYWlkby5qcCIsInNoaW1hbWFraS5ob2trYWlkby5qcCIsInNoaW1penUuaG9ra2FpZG8u''@;'; put 'put ''anAiLCJzaGltb2thd2EuaG9ra2FpZG8uanAiLCJzaGluc2hpbm90c3UuaG9ra2FpZG8uanAiLCJzaGludG9rdS5ob2trYWlkby5qcCIsInNoaXJhbnVrYS5ob2trYWlkby5qcCIsInNoaXJhb2kuaG9ra2FpZG8uanAiLCJzaGlyaXVjaGkuaG9ra2FpZG8uanAiLCJzb2JldHN1Lmhva2thaWRv''@;'; put 'put ''LmpwIiwic3VuYWdhd2EuaG9ra2FpZG8uanAiLCJ0YWlraS5ob2trYWlkby5qcCIsInRha2FzdS5ob2trYWlkby5qcCIsInRha2lrYXdhLmhva2thaWRvLmpwIiwidGFraW5vdWUuaG9ra2FpZG8uanAiLCJ0ZXNoaWthZ2EuaG9ra2FpZG8uanAiLCJ0b2JldHN1Lmhva2thaWRvLmpwIiwidG9o''@;'; put 'put ''bWEuaG9ra2FpZG8uanAiLCJ0b21ha29tYWkuaG9ra2FpZG8uanAiLCJ0b21hcmkuaG9ra2FpZG8uanAiLCJ0b3lhLmhva2thaWRvLmpwIiwidG95YWtvLmhva2thaWRvLmpwIiwidG95b3RvbWkuaG9ra2FpZG8uanAiLCJ0b3lvdXJhLmhva2thaWRvLmpwIiwidHN1YmV0c3UuaG9ra2FpZG8u''@;'; put 'put ''anAiLCJ0c3VraWdhdGEuaG9ra2FpZG8uanAiLCJ1cmFrYXdhLmhva2thaWRvLmpwIiwidXJhdXN1Lmhva2thaWRvLmpwIiwidXJ5dS5ob2trYWlkby5qcCIsInV0YXNoaW5haS5ob2trYWlkby5qcCIsIndha2thbmFpLmhva2thaWRvLmpwIiwid2Fzc2FtdS5ob2trYWlkby5qcCIsInlha3Vt''@;'; put 'put ''by5ob2trYWlkby5qcCIsInlvaWNoaS5ob2trYWlkby5qcCIsImFpb2kuaHlvZ28uanAiLCJha2FzaGkuaHlvZ28uanAiLCJha28uaHlvZ28uanAiLCJhbWFnYXNha2kuaHlvZ28uanAiLCJhb2dha2kuaHlvZ28uanAiLCJhc2Fnby5oeW9nby5qcCIsImFzaGl5YS5oeW9nby5qcCIsImF3YWpp''@;'; put 'put ''Lmh5b2dvLmpwIiwiZnVrdXNha2kuaHlvZ28uanAiLCJnb3NoaWtpLmh5b2dvLmpwIiwiaGFyaW1hLmh5b2dvLmpwIiwiaGltZWppLmh5b2dvLmpwIiwiaWNoaWthd2EuaHlvZ28uanAiLCJpbmFnYXdhLmh5b2dvLmpwIiwiaXRhbWkuaHlvZ28uanAiLCJrYWtvZ2F3YS5oeW9nby5qcCIsImth''@;'; put 'put ''bWlnb3JpLmh5b2dvLmpwIiwia2FtaWthd2EuaHlvZ28uanAiLCJrYXNhaS5oeW9nby5qcCIsImthc3VnYS5oeW9nby5qcCIsImthd2FuaXNoaS5oeW9nby5qcCIsIm1pa2kuaHlvZ28uanAiLCJtaW5hbWlhd2FqaS5oeW9nby5qcCIsIm5pc2hpbm9taXlhLmh5b2dvLmpwIiwibmlzaGl3YWtp''@;'; put 'put ''Lmh5b2dvLmpwIiwib25vLmh5b2dvLmpwIiwic2FuZGEuaHlvZ28uanAiLCJzYW5uYW4uaHlvZ28uanAiLCJzYXNheWFtYS5oeW9nby5qcCIsInNheW8uaHlvZ28uanAiLCJzaGluZ3UuaHlvZ28uanAiLCJzaGlub25zZW4uaHlvZ28uanAiLCJzaGlzby5oeW9nby5qcCIsInN1bW90by5oeW9n''@;'; put 'put ''by5qcCIsInRhaXNoaS5oeW9nby5qcCIsInRha2EuaHlvZ28uanAiLCJ0YWthcmF6dWthLmh5b2dvLmpwIiwidGFrYXNhZ28uaHlvZ28uanAiLCJ0YWtpbm8uaHlvZ28uanAiLCJ0YW1iYS5oeW9nby5qcCIsInRhdHN1bm8uaHlvZ28uanAiLCJ0b3lvb2thLmh5b2dvLmpwIiwieWFidS5oeW9n''@;'; put 'put ''by5qcCIsInlhc2hpcm8uaHlvZ28uanAiLCJ5b2thLmh5b2dvLmpwIiwieW9rYXdhLmh5b2dvLmpwIiwiYW1pLmliYXJha2kuanAiLCJhc2FoaS5pYmFyYWtpLmpwIiwiYmFuZG8uaWJhcmFraS5qcCIsImNoaWt1c2VpLmliYXJha2kuanAiLCJkYWlnby5pYmFyYWtpLmpwIiwiZnVqaXNoaXJv''@;'; put 'put ''LmliYXJha2kuanAiLCJoaXRhY2hpLmliYXJha2kuanAiLCJoaXRhY2hpbmFrYS5pYmFyYWtpLmpwIiwiaGl0YWNoaW9taXlhLmliYXJha2kuanAiLCJoaXRhY2hpb3RhLmliYXJha2kuanAiLCJpYmFyYWtpLmliYXJha2kuanAiLCJpbmEuaWJhcmFraS5qcCIsImluYXNoaWtpLmliYXJha2ku''@;'; put 'put ''anAiLCJpdGFrby5pYmFyYWtpLmpwIiwiaXdhbWEuaWJhcmFraS5qcCIsImpvc28uaWJhcmFraS5qcCIsImthbWlzdS5pYmFyYWtpLmpwIiwia2FzYW1hLmliYXJha2kuanAiLCJrYXNoaW1hLmliYXJha2kuanAiLCJrYXN1bWlnYXVyYS5pYmFyYWtpLmpwIiwia29nYS5pYmFyYWtpLmpwIiwi''@;'; put 'put ''bWloby5pYmFyYWtpLmpwIiwibWl0by5pYmFyYWtpLmpwIiwibW9yaXlhLmliYXJha2kuanAiLCJuYWthLmliYXJha2kuanAiLCJuYW1lZ2F0YS5pYmFyYWtpLmpwIiwib2FyYWkuaWJhcmFraS5qcCIsIm9nYXdhLmliYXJha2kuanAiLCJvbWl0YW1hLmliYXJha2kuanAiLCJyeXVnYXNha2ku''@;'; put 'put ''aWJhcmFraS5qcCIsInNha2FpLmliYXJha2kuanAiLCJzYWt1cmFnYXdhLmliYXJha2kuanAiLCJzaGltb2RhdGUuaWJhcmFraS5qcCIsInNoaW1vdHN1bWEuaWJhcmFraS5qcCIsInNoaXJvc2F0by5pYmFyYWtpLmpwIiwic293YS5pYmFyYWtpLmpwIiwic3VpZnUuaWJhcmFraS5qcCIsInRh''@;'; put 'put ''a2FoYWdpLmliYXJha2kuanAiLCJ0YW1hdHN1a3VyaS5pYmFyYWtpLmpwIiwidG9rYWkuaWJhcmFraS5qcCIsInRvbW9iZS5pYmFyYWtpLmpwIiwidG9uZS5pYmFyYWtpLmpwIiwidG9yaWRlLmliYXJha2kuanAiLCJ0c3VjaGl1cmEuaWJhcmFraS5qcCIsInRzdWt1YmEuaWJhcmFraS5qcCIs''@;'; put 'put ''InVjaGloYXJhLmliYXJha2kuanAiLCJ1c2hpa3UuaWJhcmFraS5qcCIsInlhY2hpeW8uaWJhcmFraS5qcCIsInlhbWFnYXRhLmliYXJha2kuanAiLCJ5YXdhcmEuaWJhcmFraS5qcCIsInl1a2kuaWJhcmFraS5qcCIsImFuYW1penUuaXNoaWthd2EuanAiLCJoYWt1aS5pc2hpa2F3YS5qcCIs''@;'; put 'put ''Imhha3VzYW4uaXNoaWthd2EuanAiLCJrYWdhLmlzaGlrYXdhLmpwIiwia2Fob2t1LmlzaGlrYXdhLmpwIiwia2FuYXphd2EuaXNoaWthd2EuanAiLCJrYXdha2l0YS5pc2hpa2F3YS5qcCIsImtvbWF0c3UuaXNoaWthd2EuanAiLCJuYWthbm90by5pc2hpa2F3YS5qcCIsIm5hbmFvLmlzaGlr''@;'; put 'put ''YXdhLmpwIiwibm9taS5pc2hpa2F3YS5qcCIsIm5vbm9pY2hpLmlzaGlrYXdhLmpwIiwibm90by5pc2hpa2F3YS5qcCIsInNoaWthLmlzaGlrYXdhLmpwIiwic3V6dS5pc2hpa2F3YS5qcCIsInRzdWJhdGEuaXNoaWthd2EuanAiLCJ0c3VydWdpLmlzaGlrYXdhLmpwIiwidWNoaW5hZGEuaXNo''@;'; put 'put ''aWthd2EuanAiLCJ3YWppbWEuaXNoaWthd2EuanAiLCJmdWRhaS5pd2F0ZS5qcCIsImZ1amlzYXdhLml3YXRlLmpwIiwiaGFuYW1ha2kuaXdhdGUuanAiLCJoaXJhaXp1bWkuaXdhdGUuanAiLCJoaXJvbm8uaXdhdGUuanAiLCJpY2hpbm9oZS5pd2F0ZS5qcCIsImljaGlub3Nla2kuaXdhdGUu''@;'; put 'put ''anAiLCJpd2FpenVtaS5pd2F0ZS5qcCIsIml3YXRlLml3YXRlLmpwIiwiam9ib2ppLml3YXRlLmpwIiwia2FtYWlzaGkuaXdhdGUuanAiLCJrYW5lZ2FzYWtpLml3YXRlLmpwIiwia2FydW1haS5pd2F0ZS5qcCIsImthd2FpLml3YXRlLmpwIiwia2l0YWthbWkuaXdhdGUuanAiLCJrdWppLml3''@;'; put 'put ''YXRlLmpwIiwia3Vub2hlLml3YXRlLmpwIiwia3V6dW1ha2kuaXdhdGUuanAiLCJtaXlha28uaXdhdGUuanAiLCJtaXp1c2F3YS5pd2F0ZS5qcCIsIm1vcmlva2EuaXdhdGUuanAiLCJuaW5vaGUuaXdhdGUuanAiLCJub2RhLml3YXRlLmpwIiwib2Z1bmF0by5pd2F0ZS5qcCIsIm9zaHUuaXdh''@;'; put 'put ''dGUuanAiLCJvdHN1Y2hpLml3YXRlLmpwIiwicmlrdXplbnRha2F0YS5pd2F0ZS5qcCIsInNoaXdhLml3YXRlLmpwIiwic2hpenVrdWlzaGkuaXdhdGUuanAiLCJzdW1pdGEuaXdhdGUuanAiLCJ0YW5vaGF0YS5pd2F0ZS5qcCIsInRvbm8uaXdhdGUuanAiLCJ5YWhhYmEuaXdhdGUuanAiLCJ5''@;'; put 'put ''YW1hZGEuaXdhdGUuanAiLCJheWFnYXdhLmthZ2F3YS5qcCIsImhpZ2FzaGlrYWdhd2Eua2FnYXdhLmpwIiwia2Fub25qaS5rYWdhd2EuanAiLCJrb3RvaGlyYS5rYWdhd2EuanAiLCJtYW5uby5rYWdhd2EuanAiLCJtYXJ1Z2FtZS5rYWdhd2EuanAiLCJtaXRveW8ua2FnYXdhLmpwIiwibmFv''@;'; put 'put ''c2hpbWEua2FnYXdhLmpwIiwic2FudWtpLmthZ2F3YS5qcCIsInRhZG90c3Uua2FnYXdhLmpwIiwidGFrYW1hdHN1LmthZ2F3YS5qcCIsInRvbm9zaG8ua2FnYXdhLmpwIiwidWNoaW5vbWkua2FnYXdhLmpwIiwidXRhenUua2FnYXdhLmpwIiwiemVudHN1amkua2FnYXdhLmpwIiwiYWt1bmUu''@;'; put 'put ''a2Fnb3NoaW1hLmpwIiwiYW1hbWkua2Fnb3NoaW1hLmpwIiwiaGlva2kua2Fnb3NoaW1hLmpwIiwiaXNhLmthZ29zaGltYS5qcCIsImlzZW4ua2Fnb3NoaW1hLmpwIiwiaXp1bWkua2Fnb3NoaW1hLmpwIiwia2Fnb3NoaW1hLmthZ29zaGltYS5qcCIsImthbm95YS5rYWdvc2hpbWEuanAiLCJr''@;'; put 'put ''YXdhbmFiZS5rYWdvc2hpbWEuanAiLCJraW5rby5rYWdvc2hpbWEuanAiLCJrb3V5YW1hLmthZ29zaGltYS5qcCIsIm1ha3VyYXpha2kua2Fnb3NoaW1hLmpwIiwibWF0c3Vtb3RvLmthZ29zaGltYS5qcCIsIm1pbmFtaXRhbmUua2Fnb3NoaW1hLmpwIiwibmFrYXRhbmUua2Fnb3NoaW1hLmpw''@;'; put 'put ''IiwibmlzaGlub29tb3RlLmthZ29zaGltYS5qcCIsInNhdHN1bWFzZW5kYWkua2Fnb3NoaW1hLmpwIiwic29vLmthZ29zaGltYS5qcCIsInRhcnVtaXp1LmthZ29zaGltYS5qcCIsInl1c3VpLmthZ29zaGltYS5qcCIsImFpa2F3YS5rYW5hZ2F3YS5qcCIsImF0c3VnaS5rYW5hZ2F3YS5qcCIs''@;'; put 'put ''ImF5YXNlLmthbmFnYXdhLmpwIiwiY2hpZ2FzYWtpLmthbmFnYXdhLmpwIiwiZWJpbmEua2FuYWdhd2EuanAiLCJmdWppc2F3YS5rYW5hZ2F3YS5qcCIsImhhZGFuby5rYW5hZ2F3YS5qcCIsImhha29uZS5rYW5hZ2F3YS5qcCIsImhpcmF0c3VrYS5rYW5hZ2F3YS5qcCIsImlzZWhhcmEua2Fu''@;'; put 'put ''YWdhd2EuanAiLCJrYWlzZWkua2FuYWdhd2EuanAiLCJrYW1ha3VyYS5rYW5hZ2F3YS5qcCIsImtpeW9rYXdhLmthbmFnYXdhLmpwIiwibWF0c3VkYS5rYW5hZ2F3YS5qcCIsIm1pbmFtaWFzaGlnYXJhLmthbmFnYXdhLmpwIiwibWl1cmEua2FuYWdhd2EuanAiLCJuYWthaS5rYW5hZ2F3YS5q''@;'; put 'put ''cCIsIm5pbm9taXlhLmthbmFnYXdhLmpwIiwib2Rhd2FyYS5rYW5hZ2F3YS5qcCIsIm9pLmthbmFnYXdhLmpwIiwib2lzby5rYW5hZ2F3YS5qcCIsInNhZ2FtaWhhcmEua2FuYWdhd2EuanAiLCJzYW11a2F3YS5rYW5hZ2F3YS5qcCIsInRzdWt1aS5rYW5hZ2F3YS5qcCIsInlhbWFraXRhLmth''@;'; put 'put ''bmFnYXdhLmpwIiwieWFtYXRvLmthbmFnYXdhLmpwIiwieW9rb3N1a2Eua2FuYWdhd2EuanAiLCJ5dWdhd2FyYS5rYW5hZ2F3YS5qcCIsInphbWEua2FuYWdhd2EuanAiLCJ6dXNoaS5rYW5hZ2F3YS5qcCIsImFraS5rb2NoaS5qcCIsImdlaXNlaS5rb2NoaS5qcCIsImhpZGFrYS5rb2NoaS5q''@;'; put 'put ''cCIsImhpZ2FzaGl0c3Vuby5rb2NoaS5qcCIsImluby5rb2NoaS5qcCIsImthZ2FtaS5rb2NoaS5qcCIsImthbWkua29jaGkuanAiLCJraXRhZ2F3YS5rb2NoaS5qcCIsImtvY2hpLmtvY2hpLmpwIiwibWloYXJhLmtvY2hpLmpwIiwibW90b3lhbWEua29jaGkuanAiLCJtdXJvdG8ua29jaGku''@;'; put 'put ''anAiLCJuYWhhcmkua29jaGkuanAiLCJuYWthbXVyYS5rb2NoaS5qcCIsIm5hbmtva3Uua29jaGkuanAiLCJuaXNoaXRvc2Eua29jaGkuanAiLCJuaXlvZG9nYXdhLmtvY2hpLmpwIiwib2NoaS5rb2NoaS5qcCIsIm9rYXdhLmtvY2hpLmpwIiwib3RveW8ua29jaGkuanAiLCJvdHN1a2kua29j''@;'; put 'put ''aGkuanAiLCJzYWthd2Eua29jaGkuanAiLCJzdWt1bW8ua29jaGkuanAiLCJzdXNha2kua29jaGkuanAiLCJ0b3NhLmtvY2hpLmpwIiwidG9zYXNoaW1penUua29jaGkuanAiLCJ0b3lvLmtvY2hpLmpwIiwidHN1bm8ua29jaGkuanAiLCJ1bWFqaS5rb2NoaS5qcCIsInlhc3VkYS5rb2NoaS5q''@;'; put 'put ''cCIsInl1c3VoYXJhLmtvY2hpLmpwIiwiYW1ha3VzYS5rdW1hbW90by5qcCIsImFyYW8ua3VtYW1vdG8uanAiLCJhc28ua3VtYW1vdG8uanAiLCJjaG95by5rdW1hbW90by5qcCIsImd5b2t1dG8ua3VtYW1vdG8uanAiLCJrYW1pYW1ha3VzYS5rdW1hbW90by5qcCIsImtpa3VjaGkua3VtYW1v''@;'; put 'put ''dG8uanAiLCJrdW1hbW90by5rdW1hbW90by5qcCIsIm1hc2hpa2kua3VtYW1vdG8uanAiLCJtaWZ1bmUua3VtYW1vdG8uanAiLCJtaW5hbWF0YS5rdW1hbW90by5qcCIsIm1pbmFtaW9ndW5pLmt1bWFtb3RvLmpwIiwibmFnYXN1Lmt1bWFtb3RvLmpwIiwibmlzaGloYXJhLmt1bWFtb3RvLmpw''@;'; put 'put ''Iiwib2d1bmkua3VtYW1vdG8uanAiLCJvenUua3VtYW1vdG8uanAiLCJzdW1vdG8ua3VtYW1vdG8uanAiLCJ0YWthbW9yaS5rdW1hbW90by5qcCIsInVraS5rdW1hbW90by5qcCIsInV0by5rdW1hbW90by5qcCIsInlhbWFnYS5rdW1hbW90by5qcCIsInlhbWF0by5rdW1hbW90by5qcCIsInlh''@;'; put 'put ''dHN1c2hpcm8ua3VtYW1vdG8uanAiLCJheWFiZS5reW90by5qcCIsImZ1a3VjaGl5YW1hLmt5b3RvLmpwIiwiaGlnYXNoaXlhbWEua3lvdG8uanAiLCJpZGUua3lvdG8uanAiLCJpbmUua3lvdG8uanAiLCJqb3lvLmt5b3RvLmpwIiwia2FtZW9rYS5reW90by5qcCIsImthbW8ua3lvdG8uanAi''@;'; put 'put ''LCJraXRhLmt5b3RvLmpwIiwia2l6dS5reW90by5qcCIsImt1bWl5YW1hLmt5b3RvLmpwIiwia3lvdGFtYmEua3lvdG8uanAiLCJreW90YW5hYmUua3lvdG8uanAiLCJreW90YW5nby5reW90by5qcCIsIm1haXp1cnUua3lvdG8uanAiLCJtaW5hbWkua3lvdG8uanAiLCJtaW5hbWl5YW1hc2hp''@;'; put 'put ''cm8ua3lvdG8uanAiLCJtaXlhenUua3lvdG8uanAiLCJtdWtvLmt5b3RvLmpwIiwibmFnYW9rYWt5by5reW90by5qcCIsIm5ha2FneW8ua3lvdG8uanAiLCJuYW50YW4ua3lvdG8uanAiLCJveWFtYXpha2kua3lvdG8uanAiLCJzYWt5by5reW90by5qcCIsInNlaWthLmt5b3RvLmpwIiwidGFu''@;'; put 'put ''YWJlLmt5b3RvLmpwIiwidWppLmt5b3RvLmpwIiwidWppdGF3YXJhLmt5b3RvLmpwIiwid2F6dWthLmt5b3RvLmpwIiwieWFtYXNoaW5hLmt5b3RvLmpwIiwieWF3YXRhLmt5b3RvLmpwIiwiYXNhaGkubWllLmpwIiwiaW5hYmUubWllLmpwIiwiaXNlLm1pZS5qcCIsImthbWV5YW1hLm1pZS5q''@;'; put 'put ''cCIsImthd2Fnb2UubWllLmpwIiwia2loby5taWUuanAiLCJraXNvc2FraS5taWUuanAiLCJraXdhLm1pZS5qcCIsImtvbW9uby5taWUuanAiLCJrdW1hbm8ubWllLmpwIiwia3V3YW5hLm1pZS5qcCIsIm1hdHN1c2FrYS5taWUuanAiLCJtZWl3YS5taWUuanAiLCJtaWhhbWEubWllLmpwIiwi''@;'; put 'put ''bWluYW1paXNlLm1pZS5qcCIsIm1pc3VnaS5taWUuanAiLCJtaXlhbWEubWllLmpwIiwibmFiYXJpLm1pZS5qcCIsInNoaW1hLm1pZS5qcCIsInN1enVrYS5taWUuanAiLCJ0YWRvLm1pZS5qcCIsInRhaWtpLm1pZS5qcCIsInRha2kubWllLmpwIiwidGFtYWtpLm1pZS5qcCIsInRvYmEubWll''@;'; put 'put ''LmpwIiwidHN1Lm1pZS5qcCIsInVkb25vLm1pZS5qcCIsInVyZXNoaW5vLm1pZS5qcCIsIndhdGFyYWkubWllLmpwIiwieW9ra2FpY2hpLm1pZS5qcCIsImZ1cnVrYXdhLm1peWFnaS5qcCIsImhpZ2FzaGltYXRzdXNoaW1hLm1peWFnaS5qcCIsImlzaGlub21ha2kubWl5YWdpLmpwIiwiaXdh''@;'; put 'put ''bnVtYS5taXlhZ2kuanAiLCJrYWt1ZGEubWl5YWdpLmpwIiwia2FtaS5taXlhZ2kuanAiLCJrYXdhc2FraS5taXlhZ2kuanAiLCJtYXJ1bW9yaS5taXlhZ2kuanAiLCJtYXRzdXNoaW1hLm1peWFnaS5qcCIsIm1pbmFtaXNhbnJpa3UubWl5YWdpLmpwIiwibWlzYXRvLm1peWFnaS5qcCIsIm11''@;'; put 'put ''cmF0YS5taXlhZ2kuanAiLCJuYXRvcmkubWl5YWdpLmpwIiwib2dhd2FyYS5taXlhZ2kuanAiLCJvaGlyYS5taXlhZ2kuanAiLCJvbmFnYXdhLm1peWFnaS5qcCIsIm9zYWtpLm1peWFnaS5qcCIsInJpZnUubWl5YWdpLmpwIiwic2VtaW5lLm1peWFnaS5qcCIsInNoaWJhdGEubWl5YWdpLmpw''@;'; put 'put ''Iiwic2hpY2hpa2FzaHVrdS5taXlhZ2kuanAiLCJzaGlrYW1hLm1peWFnaS5qcCIsInNoaW9nYW1hLm1peWFnaS5qcCIsInNoaXJvaXNoaS5taXlhZ2kuanAiLCJ0YWdham8ubWl5YWdpLmpwIiwidGFpd2EubWl5YWdpLmpwIiwidG9tZS5taXlhZ2kuanAiLCJ0b21peWEubWl5YWdpLmpwIiwi''@;'; put 'put ''d2FrdXlhLm1peWFnaS5qcCIsIndhdGFyaS5taXlhZ2kuanAiLCJ5YW1hbW90by5taXlhZ2kuanAiLCJ6YW8ubWl5YWdpLmpwIiwiYXlhLm1peWF6YWtpLmpwIiwiZWJpbm8ubWl5YXpha2kuanAiLCJnb2thc2UubWl5YXpha2kuanAiLCJoeXVnYS5taXlhemFraS5qcCIsImthZG9nYXdhLm1p''@;'; put 'put ''eWF6YWtpLmpwIiwia2F3YW1pbmFtaS5taXlhemFraS5qcCIsImtpam8ubWl5YXpha2kuanAiLCJraXRhZ2F3YS5taXlhemFraS5qcCIsImtpdGFrYXRhLm1peWF6YWtpLmpwIiwia2l0YXVyYS5taXlhemFraS5qcCIsImtvYmF5YXNoaS5taXlhemFraS5qcCIsImt1bml0b21pLm1peWF6YWtp''@;'; put 'put ''LmpwIiwia3VzaGltYS5taXlhemFraS5qcCIsIm1pbWF0YS5taXlhemFraS5qcCIsIm1peWFrb25vam8ubWl5YXpha2kuanAiLCJtaXlhemFraS5taXlhemFraS5qcCIsIm1vcm90c3VrYS5taXlhemFraS5qcCIsIm5pY2hpbmFuLm1peWF6YWtpLmpwIiwibmlzaGltZXJhLm1peWF6YWtpLmpw''@;'; put 'put ''Iiwibm9iZW9rYS5taXlhemFraS5qcCIsInNhaXRvLm1peWF6YWtpLmpwIiwic2hpaWJhLm1peWF6YWtpLmpwIiwic2hpbnRvbWkubWl5YXpha2kuanAiLCJ0YWthaGFydS5taXlhemFraS5qcCIsInRha2FuYWJlLm1peWF6YWtpLmpwIiwidGFrYXpha2kubWl5YXpha2kuanAiLCJ0c3Vuby5t''@;'; put 'put ''aXlhemFraS5qcCIsImFjaGkubmFnYW5vLmpwIiwiYWdlbWF0c3UubmFnYW5vLmpwIiwiYW5hbi5uYWdhbm8uanAiLCJhb2tpLm5hZ2Fuby5qcCIsImFzYWhpLm5hZ2Fuby5qcCIsImF6dW1pbm8ubmFnYW5vLmpwIiwiY2hpa3Vob2t1Lm5hZ2Fuby5qcCIsImNoaWt1bWEubmFnYW5vLmpwIiwi''@;'; put 'put ''Y2hpbm8ubmFnYW5vLmpwIiwiZnVqaW1pLm5hZ2Fuby5qcCIsImhha3ViYS5uYWdhbm8uanAiLCJoYXJhLm5hZ2Fuby5qcCIsImhpcmF5YS5uYWdhbm8uanAiLCJpaWRhLm5hZ2Fuby5qcCIsImlpamltYS5uYWdhbm8uanAiLCJpaXlhbWEubmFnYW5vLmpwIiwiaWl6dW5hLm5hZ2Fuby5qcCIs''@;'; put 'put ''ImlrZWRhLm5hZ2Fuby5qcCIsImlrdXNha2EubmFnYW5vLmpwIiwiaW5hLm5hZ2Fuby5qcCIsImthcnVpemF3YS5uYWdhbm8uanAiLCJrYXdha2FtaS5uYWdhbm8uanAiLCJraXNvLm5hZ2Fuby5qcCIsImtpc29mdWt1c2hpbWEubmFnYW5vLmpwIiwia2l0YWFpa2kubmFnYW5vLmpwIiwia29t''@;'; put 'put ''YWdhbmUubmFnYW5vLmpwIiwia29tb3JvLm5hZ2Fuby5qcCIsIm1hdHN1a2F3YS5uYWdhbm8uanAiLCJtYXRzdW1vdG8ubmFnYW5vLmpwIiwibWlhc2EubmFnYW5vLmpwIiwibWluYW1pYWlraS5uYWdhbm8uanAiLCJtaW5hbWltYWtpLm5hZ2Fuby5qcCIsIm1pbmFtaW1pbm93YS5uYWdhbm8u''@;'; put 'put ''anAiLCJtaW5vd2EubmFnYW5vLmpwIiwibWl5YWRhLm5hZ2Fuby5qcCIsIm1peW90YS5uYWdhbm8uanAiLCJtb2NoaXp1a2kubmFnYW5vLmpwIiwibmFnYW5vLm5hZ2Fuby5qcCIsIm5hZ2F3YS5uYWdhbm8uanAiLCJuYWdpc28ubmFnYW5vLmpwIiwibmFrYWdhd2EubmFnYW5vLmpwIiwibmFr''@;'; put 'put ''YW5vLm5hZ2Fuby5qcCIsIm5vemF3YW9uc2VuLm5hZ2Fuby5qcCIsIm9idXNlLm5hZ2Fuby5qcCIsIm9nYXdhLm5hZ2Fuby5qcCIsIm9rYXlhLm5hZ2Fuby5qcCIsIm9tYWNoaS5uYWdhbm8uanAiLCJvbWkubmFnYW5vLmpwIiwib29rdXdhLm5hZ2Fuby5qcCIsIm9vc2hpa2EubmFnYW5vLmpw''@;'; put 'put ''Iiwib3Rha2kubmFnYW5vLmpwIiwib3RhcmkubmFnYW5vLmpwIiwic2FrYWUubmFnYW5vLmpwIiwic2FrYWtpLm5hZ2Fuby5qcCIsInNha3UubmFnYW5vLmpwIiwic2FrdWhvLm5hZ2Fuby5qcCIsInNoaW1vc3V3YS5uYWdhbm8uanAiLCJzaGluYW5vbWFjaGkubmFnYW5vLmpwIiwic2hpb2pp''@;'; put 'put ''cmkubmFnYW5vLmpwIiwic3V3YS5uYWdhbm8uanAiLCJzdXpha2EubmFnYW5vLmpwIiwidGFrYWdpLm5hZ2Fuby5qcCIsInRha2Ftb3JpLm5hZ2Fuby5qcCIsInRha2F5YW1hLm5hZ2Fuby5qcCIsInRhdGVzaGluYS5uYWdhbm8uanAiLCJ0YXRzdW5vLm5hZ2Fuby5qcCIsInRvZ2FrdXNoaS5u''@;'; put 'put ''YWdhbm8uanAiLCJ0b2d1cmEubmFnYW5vLmpwIiwidG9taS5uYWdhbm8uanAiLCJ1ZWRhLm5hZ2Fuby5qcCIsIndhZGEubmFnYW5vLmpwIiwieWFtYWdhdGEubmFnYW5vLmpwIiwieWFtYW5vdWNoaS5uYWdhbm8uanAiLCJ5YXNha2EubmFnYW5vLmpwIiwieWFzdW9rYS5uYWdhbm8uanAiLCJj''@;'; put 'put ''aGlqaXdhLm5hZ2FzYWtpLmpwIiwiZnV0c3UubmFnYXNha2kuanAiLCJnb3RvLm5hZ2FzYWtpLmpwIiwiaGFzYW1pLm5hZ2FzYWtpLmpwIiwiaGlyYWRvLm5hZ2FzYWtpLmpwIiwiaWtpLm5hZ2FzYWtpLmpwIiwiaXNhaGF5YS5uYWdhc2FraS5qcCIsImthd2F0YW5hLm5hZ2FzYWtpLmpwIiwi''@;'; put 'put ''a3VjaGlub3RzdS5uYWdhc2FraS5qcCIsIm1hdHN1dXJhLm5hZ2FzYWtpLmpwIiwibmFnYXNha2kubmFnYXNha2kuanAiLCJvYmFtYS5uYWdhc2FraS5qcCIsIm9tdXJhLm5hZ2FzYWtpLmpwIiwib3NldG8ubmFnYXNha2kuanAiLCJzYWlrYWkubmFnYXNha2kuanAiLCJzYXNlYm8ubmFnYXNh''@;'; put 'put ''a2kuanAiLCJzZWloaS5uYWdhc2FraS5qcCIsInNoaW1hYmFyYS5uYWdhc2FraS5qcCIsInNoaW5rYW1pZ290by5uYWdhc2FraS5qcCIsInRvZ2l0c3UubmFnYXNha2kuanAiLCJ0c3VzaGltYS5uYWdhc2FraS5qcCIsInVuemVuLm5hZ2FzYWtpLmpwIiwiYW5kby5uYXJhLmpwIiwiZ29zZS5u''@;'; put 'put ''YXJhLmpwIiwiaGVndXJpLm5hcmEuanAiLCJoaWdhc2hpeW9zaGluby5uYXJhLmpwIiwiaWthcnVnYS5uYXJhLmpwIiwiaWtvbWEubmFyYS5qcCIsImthbWlraXRheWFtYS5uYXJhLmpwIiwia2FubWFraS5uYXJhLmpwIiwia2FzaGliYS5uYXJhLmpwIiwia2FzaGloYXJhLm5hcmEuanAiLCJr''@;'; put 'put ''YXRzdXJhZ2kubmFyYS5qcCIsImthd2FpLm5hcmEuanAiLCJrYXdha2FtaS5uYXJhLmpwIiwia2F3YW5pc2hpLm5hcmEuanAiLCJrb3J5by5uYXJhLmpwIiwia3Vyb3Rha2kubmFyYS5qcCIsIm1pdHN1ZS5uYXJhLmpwIiwibWl5YWtlLm5hcmEuanAiLCJuYXJhLm5hcmEuanAiLCJub3NlZ2F3''@;'; put 'put ''YS5uYXJhLmpwIiwib2ppLm5hcmEuanAiLCJvdWRhLm5hcmEuanAiLCJveW9kby5uYXJhLmpwIiwic2FrdXJhaS5uYXJhLmpwIiwic2FuZ28ubmFyYS5qcCIsInNoaW1vaWNoaS5uYXJhLmpwIiwic2hpbW9raXRheWFtYS5uYXJhLmpwIiwic2hpbmpvLm5hcmEuanAiLCJzb25pLm5hcmEuanAi''@;'; put 'put ''LCJ0YWthdG9yaS5uYXJhLmpwIiwidGF3YXJhbW90by5uYXJhLmpwIiwidGVua2F3YS5uYXJhLmpwIiwidGVucmkubmFyYS5qcCIsInVkYS5uYXJhLmpwIiwieWFtYXRva29yaXlhbWEubmFyYS5qcCIsInlhbWF0b3Rha2FkYS5uYXJhLmpwIiwieWFtYXpvZS5uYXJhLmpwIiwieW9zaGluby5u''@;'; put 'put ''YXJhLmpwIiwiYWdhLm5paWdhdGEuanAiLCJhZ2Fuby5uaWlnYXRhLmpwIiwiZ29zZW4ubmlpZ2F0YS5qcCIsIml0b2lnYXdhLm5paWdhdGEuanAiLCJpenVtb3pha2kubmlpZ2F0YS5qcCIsImpvZXRzdS5uaWlnYXRhLmpwIiwia2Ftby5uaWlnYXRhLmpwIiwia2FyaXdhLm5paWdhdGEuanAi''@;'; put 'put ''LCJrYXNoaXdhemFraS5uaWlnYXRhLmpwIiwibWluYW1pdW9udW1hLm5paWdhdGEuanAiLCJtaXRzdWtlLm5paWdhdGEuanAiLCJtdWlrYS5uaWlnYXRhLmpwIiwibXVyYWthbWkubmlpZ2F0YS5qcCIsIm15b2tvLm5paWdhdGEuanAiLCJuYWdhb2thLm5paWdhdGEuanAiLCJuaWlnYXRhLm5p''@;'; put 'put ''aWdhdGEuanAiLCJvaml5YS5uaWlnYXRhLmpwIiwib21pLm5paWdhdGEuanAiLCJzYWRvLm5paWdhdGEuanAiLCJzYW5qby5uaWlnYXRhLmpwIiwic2Vpcm8ubmlpZ2F0YS5qcCIsInNlaXJvdS5uaWlnYXRhLmpwIiwic2VraWthd2EubmlpZ2F0YS5qcCIsInNoaWJhdGEubmlpZ2F0YS5qcCIs''@;'; put 'put ''InRhZ2FtaS5uaWlnYXRhLmpwIiwidGFpbmFpLm5paWdhdGEuanAiLCJ0b2NoaW8ubmlpZ2F0YS5qcCIsInRva2FtYWNoaS5uaWlnYXRhLmpwIiwidHN1YmFtZS5uaWlnYXRhLmpwIiwidHN1bmFuLm5paWdhdGEuanAiLCJ1b251bWEubmlpZ2F0YS5qcCIsInlhaGlrby5uaWlnYXRhLmpwIiwi''@;'; put 'put ''eW9pdGEubmlpZ2F0YS5qcCIsInl1emF3YS5uaWlnYXRhLmpwIiwiYmVwcHUub2l0YS5qcCIsImJ1bmdvb25vLm9pdGEuanAiLCJidW5nb3Rha2FkYS5vaXRhLmpwIiwiaGFzYW1hLm9pdGEuanAiLCJoaWppLm9pdGEuanAiLCJoaW1lc2hpbWEub2l0YS5qcCIsImhpdGEub2l0YS5qcCIsImth''@;'; put 'put ''bWl0c3VlLm9pdGEuanAiLCJrb2tvbm9lLm9pdGEuanAiLCJrdWp1Lm9pdGEuanAiLCJrdW5pc2FraS5vaXRhLmpwIiwia3VzdS5vaXRhLmpwIiwib2l0YS5vaXRhLmpwIiwic2Fpa2kub2l0YS5qcCIsInRha2V0YS5vaXRhLmpwIiwidHN1a3VtaS5vaXRhLmpwIiwidXNhLm9pdGEuanAiLCJ1''@;'; put 'put ''c3VraS5vaXRhLmpwIiwieXVmdS5vaXRhLmpwIiwiYWthaXdhLm9rYXlhbWEuanAiLCJhc2FrdWNoaS5va2F5YW1hLmpwIiwiYml6ZW4ub2theWFtYS5qcCIsImhheWFzaGltYS5va2F5YW1hLmpwIiwiaWJhcmEub2theWFtYS5qcCIsImthZ2FtaW5vLm9rYXlhbWEuanAiLCJrYXNhb2thLm9r''@;'; put 'put ''YXlhbWEuanAiLCJraWJpY2h1by5va2F5YW1hLmpwIiwia3VtZW5hbi5va2F5YW1hLmpwIiwia3VyYXNoaWtpLm9rYXlhbWEuanAiLCJtYW5pd2Eub2theWFtYS5qcCIsIm1pc2FraS5va2F5YW1hLmpwIiwibmFnaS5va2F5YW1hLmpwIiwibmlpbWkub2theWFtYS5qcCIsIm5pc2hpYXdha3Vy''@;'; put 'put ''YS5va2F5YW1hLmpwIiwib2theWFtYS5va2F5YW1hLmpwIiwic2F0b3Noby5va2F5YW1hLmpwIiwic2V0b3VjaGkub2theWFtYS5qcCIsInNoaW5qby5va2F5YW1hLmpwIiwic2hvby5va2F5YW1hLmpwIiwic29qYS5va2F5YW1hLmpwIiwidGFrYWhhc2hpLm9rYXlhbWEuanAiLCJ0YW1hbm8u''@;'; put 'put ''b2theWFtYS5qcCIsInRzdXlhbWEub2theWFtYS5qcCIsIndha2Uub2theWFtYS5qcCIsInlha2FnZS5va2F5YW1hLmpwIiwiYWd1bmkub2tpbmF3YS5qcCIsImdpbm93YW4ub2tpbmF3YS5qcCIsImdpbm96YS5va2luYXdhLmpwIiwiZ3VzaGlrYW1pLm9raW5hd2EuanAiLCJoYWViYXJ1Lm9r''@;'; put 'put ''aW5hd2EuanAiLCJoaWdhc2hpLm9raW5hd2EuanAiLCJoaXJhcmEub2tpbmF3YS5qcCIsImloZXlhLm9raW5hd2EuanAiLCJpc2hpZ2FraS5va2luYXdhLmpwIiwiaXNoaWthd2Eub2tpbmF3YS5qcCIsIml0b21hbi5va2luYXdhLmpwIiwiaXplbmEub2tpbmF3YS5qcCIsImthZGVuYS5va2lu''@;'; put 'put ''YXdhLmpwIiwia2luLm9raW5hd2EuanAiLCJraXRhZGFpdG8ub2tpbmF3YS5qcCIsImtpdGFuYWthZ3VzdWt1Lm9raW5hd2EuanAiLCJrdW1lamltYS5va2luYXdhLmpwIiwia3VuaWdhbWkub2tpbmF3YS5qcCIsIm1pbmFtaWRhaXRvLm9raW5hd2EuanAiLCJtb3RvYnUub2tpbmF3YS5qcCIs''@;'; put 'put ''Im5hZ28ub2tpbmF3YS5qcCIsIm5haGEub2tpbmF3YS5qcCIsIm5ha2FndXN1a3Uub2tpbmF3YS5qcCIsIm5ha2lqaW4ub2tpbmF3YS5qcCIsIm5hbmpvLm9raW5hd2EuanAiLCJuaXNoaWhhcmEub2tpbmF3YS5qcCIsIm9naW1pLm9raW5hd2EuanAiLCJva2luYXdhLm9raW5hd2EuanAiLCJv''@;'; put 'put ''bm5hLm9raW5hd2EuanAiLCJzaGltb2ppLm9raW5hd2EuanAiLCJ0YWtldG9taS5va2luYXdhLmpwIiwidGFyYW1hLm9raW5hd2EuanAiLCJ0b2thc2hpa2kub2tpbmF3YS5qcCIsInRvbWlndXN1a3Uub2tpbmF3YS5qcCIsInRvbmFraS5va2luYXdhLmpwIiwidXJhc29lLm9raW5hd2EuanAi''@;'; put 'put ''LCJ1cnVtYS5va2luYXdhLmpwIiwieWFlc2Uub2tpbmF3YS5qcCIsInlvbWl0YW4ub2tpbmF3YS5qcCIsInlvbmFiYXJ1Lm9raW5hd2EuanAiLCJ5b25hZ3VuaS5va2luYXdhLmpwIiwiemFtYW1pLm9raW5hd2EuanAiLCJhYmVuby5vc2FrYS5qcCIsImNoaWhheWFha2FzYWthLm9zYWthLmpw''@;'; put 'put ''IiwiY2h1by5vc2FrYS5qcCIsImRhaXRvLm9zYWthLmpwIiwiZnVqaWlkZXJhLm9zYWthLmpwIiwiaGFiaWtpbm8ub3Nha2EuanAiLCJoYW5uYW4ub3Nha2EuanAiLCJoaWdhc2hpb3Nha2Eub3Nha2EuanAiLCJoaWdhc2hpc3VtaXlvc2hpLm9zYWthLmpwIiwiaGlnYXNoaXlvZG9nYXdhLm9z''@;'; put 'put ''YWthLmpwIiwiaGlyYWthdGEub3Nha2EuanAiLCJpYmFyYWtpLm9zYWthLmpwIiwiaWtlZGEub3Nha2EuanAiLCJpenVtaS5vc2FrYS5qcCIsIml6dW1pb3RzdS5vc2FrYS5qcCIsIml6dW1pc2Fuby5vc2FrYS5qcCIsImthZG9tYS5vc2FrYS5qcCIsImthaXp1a2Eub3Nha2EuanAiLCJrYW5h''@;'; put 'put ''bi5vc2FrYS5qcCIsImthc2hpd2FyYS5vc2FrYS5qcCIsImthdGFuby5vc2FrYS5qcCIsImthd2FjaGluYWdhbm8ub3Nha2EuanAiLCJraXNoaXdhZGEub3Nha2EuanAiLCJraXRhLm9zYWthLmpwIiwia3VtYXRvcmkub3Nha2EuanAiLCJtYXRzdWJhcmEub3Nha2EuanAiLCJtaW5hdG8ub3Nh''@;'; put 'put ''a2EuanAiLCJtaW5vaC5vc2FrYS5qcCIsIm1pc2FraS5vc2FrYS5qcCIsIm1vcmlndWNoaS5vc2FrYS5qcCIsIm5leWFnYXdhLm9zYWthLmpwIiwibmlzaGkub3Nha2EuanAiLCJub3NlLm9zYWthLmpwIiwib3Nha2FzYXlhbWEub3Nha2EuanAiLCJzYWthaS5vc2FrYS5qcCIsInNheWFtYS5v''@;'; put 'put ''c2FrYS5qcCIsInNlbm5hbi5vc2FrYS5qcCIsInNldHRzdS5vc2FrYS5qcCIsInNoaWpvbmF3YXRlLm9zYWthLmpwIiwic2hpbWFtb3RvLm9zYWthLmpwIiwic3VpdGEub3Nha2EuanAiLCJ0YWRhb2thLm9zYWthLmpwIiwidGFpc2hpLm9zYWthLmpwIiwidGFqaXJpLm9zYWthLmpwIiwidGFr''@;'; put 'put ''YWlzaGkub3Nha2EuanAiLCJ0YWthdHN1a2kub3Nha2EuanAiLCJ0b25kYWJheWFzaGkub3Nha2EuanAiLCJ0b3lvbmFrYS5vc2FrYS5qcCIsInRveW9uby5vc2FrYS5qcCIsInlhby5vc2FrYS5qcCIsImFyaWFrZS5zYWdhLmpwIiwiYXJpdGEuc2FnYS5qcCIsImZ1a3Vkb21pLnNhZ2EuanAi''@;'; put 'put ''LCJnZW5rYWkuc2FnYS5qcCIsImhhbWF0YW1hLnNhZ2EuanAiLCJoaXplbi5zYWdhLmpwIiwiaW1hcmkuc2FnYS5qcCIsImthbWltaW5lLnNhZ2EuanAiLCJrYW56YWtpLnNhZ2EuanAiLCJrYXJhdHN1LnNhZ2EuanAiLCJrYXNoaW1hLnNhZ2EuanAiLCJraXRhZ2F0YS5zYWdhLmpwIiwia2l0''@;'; put 'put ''YWhhdGEuc2FnYS5qcCIsImtpeWFtYS5zYWdhLmpwIiwia291aG9rdS5zYWdhLmpwIiwia3l1cmFnaS5zYWdhLmpwIiwibmlzaGlhcml0YS5zYWdhLmpwIiwib2dpLnNhZ2EuanAiLCJvbWFjaGkuc2FnYS5qcCIsIm91Y2hpLnNhZ2EuanAiLCJzYWdhLnNhZ2EuanAiLCJzaGlyb2lzaGkuc2Fn''@;'; put 'put ''YS5qcCIsInRha3Uuc2FnYS5qcCIsInRhcmEuc2FnYS5qcCIsInRvc3Uuc2FnYS5qcCIsInlvc2hpbm9nYXJpLnNhZ2EuanAiLCJhcmFrYXdhLnNhaXRhbWEuanAiLCJhc2FrYS5zYWl0YW1hLmpwIiwiY2hpY2hpYnUuc2FpdGFtYS5qcCIsImZ1amltaS5zYWl0YW1hLmpwIiwiZnVqaW1pbm8u''@;'; put 'put ''c2FpdGFtYS5qcCIsImZ1a2F5YS5zYWl0YW1hLmpwIiwiaGFubm8uc2FpdGFtYS5qcCIsImhhbnl1LnNhaXRhbWEuanAiLCJoYXN1ZGEuc2FpdGFtYS5qcCIsImhhdG9nYXlhLnNhaXRhbWEuanAiLCJoYXRveWFtYS5zYWl0YW1hLmpwIiwiaGlkYWthLnNhaXRhbWEuanAiLCJoaWdhc2hpY2hp''@;'; put 'put ''Y2hpYnUuc2FpdGFtYS5qcCIsImhpZ2FzaGltYXRzdXlhbWEuc2FpdGFtYS5qcCIsImhvbmpvLnNhaXRhbWEuanAiLCJpbmEuc2FpdGFtYS5qcCIsImlydW1hLnNhaXRhbWEuanAiLCJpd2F0c3VraS5zYWl0YW1hLmpwIiwia2FtaWl6dW1pLnNhaXRhbWEuanAiLCJrYW1pa2F3YS5zYWl0YW1h''@;'; put 'put ''LmpwIiwia2FtaXNhdG8uc2FpdGFtYS5qcCIsImthc3VrYWJlLnNhaXRhbWEuanAiLCJrYXdhZ29lLnNhaXRhbWEuanAiLCJrYXdhZ3VjaGkuc2FpdGFtYS5qcCIsImthd2FqaW1hLnNhaXRhbWEuanAiLCJrYXpvLnNhaXRhbWEuanAiLCJraXRhbW90by5zYWl0YW1hLmpwIiwia29zaGlnYXlh''@;'; put 'put ''LnNhaXRhbWEuanAiLCJrb3Vub3N1LnNhaXRhbWEuanAiLCJrdWtpLnNhaXRhbWEuanAiLCJrdW1hZ2F5YS5zYWl0YW1hLmpwIiwibWF0c3VidXNoaS5zYWl0YW1hLmpwIiwibWluYW5vLnNhaXRhbWEuanAiLCJtaXNhdG8uc2FpdGFtYS5qcCIsIm1peWFzaGlyby5zYWl0YW1hLmpwIiwibWl5''@;'; put 'put ''b3NoaS5zYWl0YW1hLmpwIiwibW9yb3lhbWEuc2FpdGFtYS5qcCIsIm5hZ2F0b3JvLnNhaXRhbWEuanAiLCJuYW1lZ2F3YS5zYWl0YW1hLmpwIiwibmlpemEuc2FpdGFtYS5qcCIsIm9nYW5vLnNhaXRhbWEuanAiLCJvZ2F3YS5zYWl0YW1hLmpwIiwib2dvc2Uuc2FpdGFtYS5qcCIsIm9rZWdh''@;'; put 'put ''d2Euc2FpdGFtYS5qcCIsIm9taXlhLnNhaXRhbWEuanAiLCJvdGFraS5zYWl0YW1hLmpwIiwicmFuemFuLnNhaXRhbWEuanAiLCJyeW9rYW1pLnNhaXRhbWEuanAiLCJzYWl0YW1hLnNhaXRhbWEuanAiLCJzYWthZG8uc2FpdGFtYS5qcCIsInNhdHRlLnNhaXRhbWEuanAiLCJzYXlhbWEuc2Fp''@;'; put 'put ''dGFtYS5qcCIsInNoaWtpLnNhaXRhbWEuanAiLCJzaGlyYW9rYS5zYWl0YW1hLmpwIiwic29rYS5zYWl0YW1hLmpwIiwic3VnaXRvLnNhaXRhbWEuanAiLCJ0b2RhLnNhaXRhbWEuanAiLCJ0b2tpZ2F3YS5zYWl0YW1hLmpwIiwidG9rb3JvemF3YS5zYWl0YW1hLmpwIiwidHN1cnVnYXNoaW1h''@;'; put 'put ''LnNhaXRhbWEuanAiLCJ1cmF3YS5zYWl0YW1hLmpwIiwid2FyYWJpLnNhaXRhbWEuanAiLCJ5YXNoaW8uc2FpdGFtYS5qcCIsInlva296ZS5zYWl0YW1hLmpwIiwieW9uby5zYWl0YW1hLmpwIiwieW9yaWkuc2FpdGFtYS5qcCIsInlvc2hpZGEuc2FpdGFtYS5qcCIsInlvc2hpa2F3YS5zYWl0''@;'; put 'put ''YW1hLmpwIiwieW9zaGltaS5zYWl0YW1hLmpwIiwiYWlzaG8uc2hpZ2EuanAiLCJnYW1vLnNoaWdhLmpwIiwiaGlnYXNoaW9taS5zaGlnYS5qcCIsImhpa29uZS5zaGlnYS5qcCIsImtva2Euc2hpZ2EuanAiLCJrb25hbi5zaGlnYS5qcCIsImtvc2VpLnNoaWdhLmpwIiwia290by5zaGlnYS5q''@;'; put 'put ''cCIsImt1c2F0c3Uuc2hpZ2EuanAiLCJtYWliYXJhLnNoaWdhLmpwIiwibW9yaXlhbWEuc2hpZ2EuanAiLCJuYWdhaGFtYS5zaGlnYS5qcCIsIm5pc2hpYXphaS5zaGlnYS5qcCIsIm5vdG9nYXdhLnNoaWdhLmpwIiwib21paGFjaGltYW4uc2hpZ2EuanAiLCJvdHN1LnNoaWdhLmpwIiwicml0''@;'; put 'put ''dG8uc2hpZ2EuanAiLCJyeXVvaC5zaGlnYS5qcCIsInRha2FzaGltYS5zaGlnYS5qcCIsInRha2F0c3VraS5zaGlnYS5qcCIsInRvcmFoaW1lLnNoaWdhLmpwIiwidG95b3NhdG8uc2hpZ2EuanAiLCJ5YXN1LnNoaWdhLmpwIiwiYWthZ2kuc2hpbWFuZS5qcCIsImFtYS5zaGltYW5lLmpwIiwi''@;'; put 'put ''Z290c3Uuc2hpbWFuZS5qcCIsImhhbWFkYS5zaGltYW5lLmpwIiwiaGlnYXNoaWl6dW1vLnNoaW1hbmUuanAiLCJoaWthd2Euc2hpbWFuZS5qcCIsImhpa2ltaS5zaGltYW5lLmpwIiwiaXp1bW8uc2hpbWFuZS5qcCIsImtha2lub2tpLnNoaW1hbmUuanAiLCJtYXN1ZGEuc2hpbWFuZS5qcCIs''@;'; put 'put ''Im1hdHN1ZS5zaGltYW5lLmpwIiwibWlzYXRvLnNoaW1hbmUuanAiLCJuaXNoaW5vc2hpbWEuc2hpbWFuZS5qcCIsIm9oZGEuc2hpbWFuZS5qcCIsIm9raW5vc2hpbWEuc2hpbWFuZS5qcCIsIm9rdWl6dW1vLnNoaW1hbmUuanAiLCJzaGltYW5lLnNoaW1hbmUuanAiLCJ0YW1heXUuc2hpbWFu''@;'; put 'put ''ZS5qcCIsInRzdXdhbm8uc2hpbWFuZS5qcCIsInVubmFuLnNoaW1hbmUuanAiLCJ5YWt1bW8uc2hpbWFuZS5qcCIsInlhc3VnaS5zaGltYW5lLmpwIiwieWF0c3VrYS5zaGltYW5lLmpwIiwiYXJhaS5zaGl6dW9rYS5qcCIsImF0YW1pLnNoaXp1b2thLmpwIiwiZnVqaS5zaGl6dW9rYS5qcCIs''@;'; put 'put ''ImZ1amllZGEuc2hpenVva2EuanAiLCJmdWppa2F3YS5zaGl6dW9rYS5qcCIsImZ1amlub21peWEuc2hpenVva2EuanAiLCJmdWt1cm9pLnNoaXp1b2thLmpwIiwiZ290ZW1iYS5zaGl6dW9rYS5qcCIsImhhaWJhcmEuc2hpenVva2EuanAiLCJoYW1hbWF0c3Uuc2hpenVva2EuanAiLCJoaWdh''@;'; put 'put ''c2hpaXp1LnNoaXp1b2thLmpwIiwiaXRvLnNoaXp1b2thLmpwIiwiaXdhdGEuc2hpenVva2EuanAiLCJpenUuc2hpenVva2EuanAiLCJpenVub2t1bmkuc2hpenVva2EuanAiLCJrYWtlZ2F3YS5zaGl6dW9rYS5qcCIsImthbm5hbWkuc2hpenVva2EuanAiLCJrYXdhbmVob24uc2hpenVva2Eu''@;'; put 'put ''anAiLCJrYXdhenUuc2hpenVva2EuanAiLCJraWt1Z2F3YS5zaGl6dW9rYS5qcCIsImtvc2FpLnNoaXp1b2thLmpwIiwibWFraW5vaGFyYS5zaGl6dW9rYS5qcCIsIm1hdHN1emFraS5zaGl6dW9rYS5qcCIsIm1pbmFtaWl6dS5zaGl6dW9rYS5qcCIsIm1pc2hpbWEuc2hpenVva2EuanAiLCJt''@;'; put 'put ''b3JpbWFjaGkuc2hpenVva2EuanAiLCJuaXNoaWl6dS5zaGl6dW9rYS5qcCIsIm51bWF6dS5zaGl6dW9rYS5qcCIsIm9tYWV6YWtpLnNoaXp1b2thLmpwIiwic2hpbWFkYS5zaGl6dW9rYS5qcCIsInNoaW1penUuc2hpenVva2EuanAiLCJzaGltb2RhLnNoaXp1b2thLmpwIiwic2hpenVva2Eu''@;'; put 'put ''c2hpenVva2EuanAiLCJzdXNvbm8uc2hpenVva2EuanAiLCJ5YWl6dS5zaGl6dW9rYS5qcCIsInlvc2hpZGEuc2hpenVva2EuanAiLCJhc2hpa2FnYS50b2NoaWdpLmpwIiwiYmF0by50b2NoaWdpLmpwIiwiaGFnYS50b2NoaWdpLmpwIiwiaWNoaWthaS50b2NoaWdpLmpwIiwiaXdhZnVuZS50''@;'; put 'put ''b2NoaWdpLmpwIiwia2FtaW5va2F3YS50b2NoaWdpLmpwIiwia2FudW1hLnRvY2hpZ2kuanAiLCJrYXJhc3V5YW1hLnRvY2hpZ2kuanAiLCJrdXJvaXNvLnRvY2hpZ2kuanAiLCJtYXNoaWtvLnRvY2hpZ2kuanAiLCJtaWJ1LnRvY2hpZ2kuanAiLCJtb2thLnRvY2hpZ2kuanAiLCJtb3RlZ2ku''@;'; put 'put ''dG9jaGlnaS5qcCIsIm5hc3UudG9jaGlnaS5qcCIsIm5hc3VzaGlvYmFyYS50b2NoaWdpLmpwIiwibmlra28udG9jaGlnaS5qcCIsIm5pc2hpa2F0YS50b2NoaWdpLmpwIiwibm9naS50b2NoaWdpLmpwIiwib2hpcmEudG9jaGlnaS5qcCIsIm9odGF3YXJhLnRvY2hpZ2kuanAiLCJveWFtYS50''@;'; put 'put ''b2NoaWdpLmpwIiwic2FrdXJhLnRvY2hpZ2kuanAiLCJzYW5vLnRvY2hpZ2kuanAiLCJzaGltb3RzdWtlLnRvY2hpZ2kuanAiLCJzaGlveWEudG9jaGlnaS5qcCIsInRha2FuZXphd2EudG9jaGlnaS5qcCIsInRvY2hpZ2kudG9jaGlnaS5qcCIsInRzdWdhLnRvY2hpZ2kuanAiLCJ1amlpZS50''@;'; put 'put ''b2NoaWdpLmpwIiwidXRzdW5vbWl5YS50b2NoaWdpLmpwIiwieWFpdGEudG9jaGlnaS5qcCIsImFpenVtaS50b2t1c2hpbWEuanAiLCJhbmFuLnRva3VzaGltYS5qcCIsImljaGliYS50b2t1c2hpbWEuanAiLCJpdGFuby50b2t1c2hpbWEuanAiLCJrYWluYW4udG9rdXNoaW1hLmpwIiwia29t''@;'; put 'put ''YXRzdXNoaW1hLnRva3VzaGltYS5qcCIsIm1hdHN1c2hpZ2UudG9rdXNoaW1hLmpwIiwibWltYS50b2t1c2hpbWEuanAiLCJtaW5hbWkudG9rdXNoaW1hLmpwIiwibWl5b3NoaS50b2t1c2hpbWEuanAiLCJtdWdpLnRva3VzaGltYS5qcCIsIm5ha2FnYXdhLnRva3VzaGltYS5qcCIsIm5hcnV0''@;'; put 'put ''by50b2t1c2hpbWEuanAiLCJzYW5hZ29jaGkudG9rdXNoaW1hLmpwIiwic2hpc2hpa3VpLnRva3VzaGltYS5qcCIsInRva3VzaGltYS50b2t1c2hpbWEuanAiLCJ3YWppa2kudG9rdXNoaW1hLmpwIiwiYWRhY2hpLnRva3lvLmpwIiwiYWtpcnVuby50b2t5by5qcCIsImFraXNoaW1hLnRva3lv''@;'; put 'put ''LmpwIiwiYW9nYXNoaW1hLnRva3lvLmpwIiwiYXJha2F3YS50b2t5by5qcCIsImJ1bmt5by50b2t5by5qcCIsImNoaXlvZGEudG9reW8uanAiLCJjaG9mdS50b2t5by5qcCIsImNodW8udG9reW8uanAiLCJlZG9nYXdhLnRva3lvLmpwIiwiZnVjaHUudG9reW8uanAiLCJmdXNzYS50b2t5by5q''@;'; put 'put ''cCIsImhhY2hpam8udG9reW8uanAiLCJoYWNoaW9qaS50b2t5by5qcCIsImhhbXVyYS50b2t5by5qcCIsImhpZ2FzaGlrdXJ1bWUudG9reW8uanAiLCJoaWdhc2hpbXVyYXlhbWEudG9reW8uanAiLCJoaWdhc2hpeWFtYXRvLnRva3lvLmpwIiwiaGluby50b2t5by5qcCIsImhpbm9kZS50b2t5''@;'; put 'put ''by5qcCIsImhpbm9oYXJhLnRva3lvLmpwIiwiaW5hZ2kudG9reW8uanAiLCJpdGFiYXNoaS50b2t5by5qcCIsImthdHN1c2hpa2EudG9reW8uanAiLCJraXRhLnRva3lvLmpwIiwia2l5b3NlLnRva3lvLmpwIiwia29kYWlyYS50b2t5by5qcCIsImtvZ2FuZWkudG9reW8uanAiLCJrb2t1YnVu''@;'; put 'put ''amkudG9reW8uanAiLCJrb21hZS50b2t5by5qcCIsImtvdG8udG9reW8uanAiLCJrb3V6dXNoaW1hLnRva3lvLmpwIiwia3VuaXRhY2hpLnRva3lvLmpwIiwibWFjaGlkYS50b2t5by5qcCIsIm1lZ3Vyby50b2t5by5qcCIsIm1pbmF0by50b2t5by5qcCIsIm1pdGFrYS50b2t5by5qcCIsIm1p''@;'; put 'put ''enVoby50b2t5by5qcCIsIm11c2FzaGltdXJheWFtYS50b2t5by5qcCIsIm11c2FzaGluby50b2t5by5qcCIsIm5ha2Fuby50b2t5by5qcCIsIm5lcmltYS50b2t5by5qcCIsIm9nYXNhd2FyYS50b2t5by5qcCIsIm9rdXRhbWEudG9reW8uanAiLCJvbWUudG9reW8uanAiLCJvc2hpbWEudG9r''@;'; put 'put ''eW8uanAiLCJvdGEudG9reW8uanAiLCJzZXRhZ2F5YS50b2t5by5qcCIsInNoaWJ1eWEudG9reW8uanAiLCJzaGluYWdhd2EudG9reW8uanAiLCJzaGluanVrdS50b2t5by5qcCIsInN1Z2luYW1pLnRva3lvLmpwIiwic3VtaWRhLnRva3lvLmpwIiwidGFjaGlrYXdhLnRva3lvLmpwIiwidGFp''@;'; put 'put ''dG8udG9reW8uanAiLCJ0YW1hLnRva3lvLmpwIiwidG9zaGltYS50b2t5by5qcCIsImNoaXp1LnRvdHRvcmkuanAiLCJoaW5vLnRvdHRvcmkuanAiLCJrYXdhaGFyYS50b3R0b3JpLmpwIiwia29nZS50b3R0b3JpLmpwIiwia290b3VyYS50b3R0b3JpLmpwIiwibWlzYXNhLnRvdHRvcmkuanAi''@;'; put 'put ''LCJuYW5idS50b3R0b3JpLmpwIiwibmljaGluYW4udG90dG9yaS5qcCIsInNha2FpbWluYXRvLnRvdHRvcmkuanAiLCJ0b3R0b3JpLnRvdHRvcmkuanAiLCJ3YWthc2EudG90dG9yaS5qcCIsInlhenUudG90dG9yaS5qcCIsInlvbmFnby50b3R0b3JpLmpwIiwiYXNhaGkudG95YW1hLmpwIiwi''@;'; put 'put ''ZnVjaHUudG95YW1hLmpwIiwiZnVrdW1pdHN1LnRveWFtYS5qcCIsImZ1bmFoYXNoaS50b3lhbWEuanAiLCJoaW1pLnRveWFtYS5qcCIsImltaXp1LnRveWFtYS5qcCIsImluYW1pLnRveWFtYS5qcCIsImpvaGFuYS50b3lhbWEuanAiLCJrYW1paWNoaS50b3lhbWEuanAiLCJrdXJvYmUudG95''@;'; put 'put ''YW1hLmpwIiwibmFrYW5paWthd2EudG95YW1hLmpwIiwibmFtZXJpa2F3YS50b3lhbWEuanAiLCJuYW50by50b3lhbWEuanAiLCJueXV6ZW4udG95YW1hLmpwIiwib3lhYmUudG95YW1hLmpwIiwidGFpcmEudG95YW1hLmpwIiwidGFrYW9rYS50b3lhbWEuanAiLCJ0YXRleWFtYS50b3lhbWEu''@;'; put 'put ''anAiLCJ0b2dhLnRveWFtYS5qcCIsInRvbmFtaS50b3lhbWEuanAiLCJ0b3lhbWEudG95YW1hLmpwIiwidW5henVraS50b3lhbWEuanAiLCJ1b3p1LnRveWFtYS5qcCIsInlhbWFkYS50b3lhbWEuanAiLCJhcmlkYS53YWtheWFtYS5qcCIsImFyaWRhZ2F3YS53YWtheWFtYS5qcCIsImdvYm8u''@;'; put 'put ''d2FrYXlhbWEuanAiLCJoYXNoaW1vdG8ud2FrYXlhbWEuanAiLCJoaWRha2Eud2FrYXlhbWEuanAiLCJoaXJvZ2F3YS53YWtheWFtYS5qcCIsImluYW1pLndha2F5YW1hLmpwIiwiaXdhZGUud2FrYXlhbWEuanAiLCJrYWluYW4ud2FrYXlhbWEuanAiLCJrYW1pdG9uZGEud2FrYXlhbWEuanAi''@;'; put 'put ''LCJrYXRzdXJhZ2kud2FrYXlhbWEuanAiLCJraW1pbm8ud2FrYXlhbWEuanAiLCJraW5va2F3YS53YWtheWFtYS5qcCIsImtpdGF5YW1hLndha2F5YW1hLmpwIiwia295YS53YWtheWFtYS5qcCIsImtvemEud2FrYXlhbWEuanAiLCJrb3phZ2F3YS53YWtheWFtYS5qcCIsImt1ZG95YW1hLndh''@;'; put 'put ''a2F5YW1hLmpwIiwia3VzaGltb3RvLndha2F5YW1hLmpwIiwibWloYW1hLndha2F5YW1hLmpwIiwibWlzYXRvLndha2F5YW1hLmpwIiwibmFjaGlrYXRzdXVyYS53YWtheWFtYS5qcCIsInNoaW5ndS53YWtheWFtYS5qcCIsInNoaXJhaGFtYS53YWtheWFtYS5qcCIsInRhaWppLndha2F5YW1h''@;'; put 'put ''LmpwIiwidGFuYWJlLndha2F5YW1hLmpwIiwid2FrYXlhbWEud2FrYXlhbWEuanAiLCJ5dWFzYS53YWtheWFtYS5qcCIsInl1cmEud2FrYXlhbWEuanAiLCJhc2FoaS55YW1hZ2F0YS5qcCIsImZ1bmFnYXRhLnlhbWFnYXRhLmpwIiwiaGlnYXNoaW5lLnlhbWFnYXRhLmpwIiwiaWlkZS55YW1h''@;'; put 'put ''Z2F0YS5qcCIsImthaG9rdS55YW1hZ2F0YS5qcCIsImthbWlub3lhbWEueWFtYWdhdGEuanAiLCJrYW5leWFtYS55YW1hZ2F0YS5qcCIsImthd2FuaXNoaS55YW1hZ2F0YS5qcCIsIm1hbXVyb2dhd2EueWFtYWdhdGEuanAiLCJtaWthd2EueWFtYWdhdGEuanAiLCJtdXJheWFtYS55YW1hZ2F0''@;'; put 'put ''YS5qcCIsIm5hZ2FpLnlhbWFnYXRhLmpwIiwibmFrYXlhbWEueWFtYWdhdGEuanAiLCJuYW55by55YW1hZ2F0YS5qcCIsIm5pc2hpa2F3YS55YW1hZ2F0YS5qcCIsIm9iYW5hemF3YS55YW1hZ2F0YS5qcCIsIm9lLnlhbWFnYXRhLmpwIiwib2d1bmkueWFtYWdhdGEuanAiLCJvaGt1cmEueWFt''@;'; put 'put ''YWdhdGEuanAiLCJvaXNoaWRhLnlhbWFnYXRhLmpwIiwic2FnYWUueWFtYWdhdGEuanAiLCJzYWthdGEueWFtYWdhdGEuanAiLCJzYWtlZ2F3YS55YW1hZ2F0YS5qcCIsInNoaW5qby55YW1hZ2F0YS5qcCIsInNoaXJhdGFrYS55YW1hZ2F0YS5qcCIsInNob25haS55YW1hZ2F0YS5qcCIsInRh''@;'; put 'put ''a2FoYXRhLnlhbWFnYXRhLmpwIiwidGVuZG8ueWFtYWdhdGEuanAiLCJ0b3phd2EueWFtYWdhdGEuanAiLCJ0c3VydW9rYS55YW1hZ2F0YS5qcCIsInlhbWFnYXRhLnlhbWFnYXRhLmpwIiwieWFtYW5vYmUueWFtYWdhdGEuanAiLCJ5b25lemF3YS55YW1hZ2F0YS5qcCIsInl1emEueWFtYWdh''@;'; put 'put ''dGEuanAiLCJhYnUueWFtYWd1Y2hpLmpwIiwiaGFnaS55YW1hZ3VjaGkuanAiLCJoaWthcmkueWFtYWd1Y2hpLmpwIiwiaG9mdS55YW1hZ3VjaGkuanAiLCJpd2FrdW5pLnlhbWFndWNoaS5qcCIsImt1ZGFtYXRzdS55YW1hZ3VjaGkuanAiLCJtaXRvdS55YW1hZ3VjaGkuanAiLCJuYWdhdG8u''@;'; put 'put ''eWFtYWd1Y2hpLmpwIiwib3NoaW1hLnlhbWFndWNoaS5qcCIsInNoaW1vbm9zZWtpLnlhbWFndWNoaS5qcCIsInNodW5hbi55YW1hZ3VjaGkuanAiLCJ0YWJ1c2UueWFtYWd1Y2hpLmpwIiwidG9rdXlhbWEueWFtYWd1Y2hpLmpwIiwidG95b3RhLnlhbWFndWNoaS5qcCIsInViZS55YW1hZ3Vj''@;'; put 'put ''aGkuanAiLCJ5dXUueWFtYWd1Y2hpLmpwIiwiY2h1by55YW1hbmFzaGkuanAiLCJkb3NoaS55YW1hbmFzaGkuanAiLCJmdWVmdWtpLnlhbWFuYXNoaS5qcCIsImZ1amlrYXdhLnlhbWFuYXNoaS5qcCIsImZ1amlrYXdhZ3VjaGlrby55YW1hbmFzaGkuanAiLCJmdWppeW9zaGlkYS55YW1hbmFz''@;'; put 'put ''aGkuanAiLCJoYXlha2F3YS55YW1hbmFzaGkuanAiLCJob2t1dG8ueWFtYW5hc2hpLmpwIiwiaWNoaWthd2FtaXNhdG8ueWFtYW5hc2hpLmpwIiwia2FpLnlhbWFuYXNoaS5qcCIsImtvZnUueWFtYW5hc2hpLmpwIiwia29zaHUueWFtYW5hc2hpLmpwIiwia29zdWdlLnlhbWFuYXNoaS5qcCIs''@;'; put 'put ''Im1pbmFtaS1hbHBzLnlhbWFuYXNoaS5qcCIsIm1pbm9idS55YW1hbmFzaGkuanAiLCJuYWthbWljaGkueWFtYW5hc2hpLmpwIiwibmFuYnUueWFtYW5hc2hpLmpwIiwibmFydXNhd2EueWFtYW5hc2hpLmpwIiwibmlyYXNha2kueWFtYW5hc2hpLmpwIiwibmlzaGlrYXRzdXJhLnlhbWFuYXNo''@;'; put 'put ''aS5qcCIsIm9zaGluby55YW1hbmFzaGkuanAiLCJvdHN1a2kueWFtYW5hc2hpLmpwIiwic2hvd2EueWFtYW5hc2hpLmpwIiwidGFiYXlhbWEueWFtYW5hc2hpLmpwIiwidHN1cnUueWFtYW5hc2hpLmpwIiwidWVub2hhcmEueWFtYW5hc2hpLmpwIiwieWFtYW5ha2Frby55YW1hbmFzaGkuanAi''@;'; put 'put ''LCJ5YW1hbmFzaGkueWFtYW5hc2hpLmpwIiwia2UiLCJhYy5rZSIsImNvLmtlIiwiZ28ua2UiLCJpbmZvLmtlIiwibWUua2UiLCJtb2JpLmtlIiwibmUua2UiLCJvci5rZSIsInNjLmtlIiwia2ciLCJvcmcua2ciLCJuZXQua2ciLCJjb20ua2ciLCJlZHUua2ciLCJnb3Yua2ciLCJtaWwua2ci''@;'; put 'put ''LCIqLmtoIiwia2kiLCJlZHUua2kiLCJiaXoua2kiLCJuZXQua2kiLCJvcmcua2kiLCJnb3Yua2kiLCJpbmZvLmtpIiwiY29tLmtpIiwia20iLCJvcmcua20iLCJub20ua20iLCJnb3Yua20iLCJwcmQua20iLCJ0bS5rbSIsImVkdS5rbSIsIm1pbC5rbSIsImFzcy5rbSIsImNvbS5rbSIsImNv''@;'; put 'put ''b3Aua20iLCJhc3NvLmttIiwicHJlc3NlLmttIiwibWVkZWNpbi5rbSIsIm5vdGFpcmVzLmttIiwicGhhcm1hY2llbnMua20iLCJ2ZXRlcmluYWlyZS5rbSIsImdvdXYua20iLCJrbiIsIm5ldC5rbiIsIm9yZy5rbiIsImVkdS5rbiIsImdvdi5rbiIsImtwIiwiY29tLmtwIiwiZWR1LmtwIiwi''@;'; put 'put ''Z292LmtwIiwib3JnLmtwIiwicmVwLmtwIiwidHJhLmtwIiwia3IiLCJhYy5rciIsImNvLmtyIiwiZXMua3IiLCJnby5rciIsImhzLmtyIiwia2cua3IiLCJtaWwua3IiLCJtcy5rciIsIm5lLmtyIiwib3Iua3IiLCJwZS5rciIsInJlLmtyIiwic2Mua3IiLCJidXNhbi5rciIsImNodW5nYnVr''@;'; put 'put ''LmtyIiwiY2h1bmduYW0ua3IiLCJkYWVndS5rciIsImRhZWplb24ua3IiLCJnYW5nd29uLmtyIiwiZ3dhbmdqdS5rciIsImd5ZW9uZ2J1ay5rciIsImd5ZW9uZ2dpLmtyIiwiZ3llb25nbmFtLmtyIiwiaW5jaGVvbi5rciIsImplanUua3IiLCJqZW9uYnVrLmtyIiwiamVvbm5hbS5rciIsInNl''@;'; put 'put ''b3VsLmtyIiwidWxzYW4ua3IiLCJrdyIsImNvbS5rdyIsImVkdS5rdyIsImVtYi5rdyIsImdvdi5rdyIsImluZC5rdyIsIm5ldC5rdyIsIm9yZy5rdyIsImt5IiwiZWR1Lmt5IiwiZ292Lmt5IiwiY29tLmt5Iiwib3JnLmt5IiwibmV0Lmt5Iiwia3oiLCJvcmcua3oiLCJlZHUua3oiLCJuZXQu''@;'; put 'put ''a3oiLCJnb3Yua3oiLCJtaWwua3oiLCJjb20ua3oiLCJsYSIsImludC5sYSIsIm5ldC5sYSIsImluZm8ubGEiLCJlZHUubGEiLCJnb3YubGEiLCJwZXIubGEiLCJjb20ubGEiLCJvcmcubGEiLCJsYiIsImNvbS5sYiIsImVkdS5sYiIsImdvdi5sYiIsIm5ldC5sYiIsIm9yZy5sYiIsImxjIiwi''@;'; put 'put ''Y29tLmxjIiwibmV0LmxjIiwiY28ubGMiLCJvcmcubGMiLCJlZHUubGMiLCJnb3YubGMiLCJsaSIsImxrIiwiZ292LmxrIiwic2NoLmxrIiwibmV0LmxrIiwiaW50LmxrIiwiY29tLmxrIiwib3JnLmxrIiwiZWR1LmxrIiwibmdvLmxrIiwic29jLmxrIiwid2ViLmxrIiwibHRkLmxrIiwiYXNz''@;'; put 'put ''bi5sayIsImdycC5sayIsImhvdGVsLmxrIiwiYWMubGsiLCJsciIsImNvbS5sciIsImVkdS5sciIsImdvdi5sciIsIm9yZy5sciIsIm5ldC5sciIsImxzIiwiYWMubHMiLCJiaXoubHMiLCJjby5scyIsImVkdS5scyIsImdvdi5scyIsImluZm8ubHMiLCJuZXQubHMiLCJvcmcubHMiLCJzYy5s''@;'; put 'put ''cyIsImx0IiwiZ292Lmx0IiwibHUiLCJsdiIsImNvbS5sdiIsImVkdS5sdiIsImdvdi5sdiIsIm9yZy5sdiIsIm1pbC5sdiIsImlkLmx2IiwibmV0Lmx2IiwiYXNuLmx2IiwiY29uZi5sdiIsImx5IiwiY29tLmx5IiwibmV0Lmx5IiwiZ292Lmx5IiwicGxjLmx5IiwiZWR1Lmx5Iiwic2NoLmx5''@;'; put 'put ''IiwibWVkLmx5Iiwib3JnLmx5IiwiaWQubHkiLCJtYSIsImNvLm1hIiwibmV0Lm1hIiwiZ292Lm1hIiwib3JnLm1hIiwiYWMubWEiLCJwcmVzcy5tYSIsIm1jIiwidG0ubWMiLCJhc3NvLm1jIiwibWQiLCJtZSIsImNvLm1lIiwibmV0Lm1lIiwib3JnLm1lIiwiZWR1Lm1lIiwiYWMubWUiLCJn''@;'; put 'put ''b3YubWUiLCJpdHMubWUiLCJwcml2Lm1lIiwibWciLCJvcmcubWciLCJub20ubWciLCJnb3YubWciLCJwcmQubWciLCJ0bS5tZyIsImVkdS5tZyIsIm1pbC5tZyIsImNvbS5tZyIsImNvLm1nIiwibWgiLCJtaWwiLCJtayIsImNvbS5tayIsIm9yZy5tayIsIm5ldC5tayIsImVkdS5tayIsImdv''@;'; put 'put ''di5tayIsImluZi5tayIsIm5hbWUubWsiLCJtbCIsImNvbS5tbCIsImVkdS5tbCIsImdvdXYubWwiLCJnb3YubWwiLCJuZXQubWwiLCJvcmcubWwiLCJwcmVzc2UubWwiLCIqLm1tIiwibW4iLCJnb3YubW4iLCJlZHUubW4iLCJvcmcubW4iLCJtbyIsImNvbS5tbyIsIm5ldC5tbyIsIm9yZy5t''@;'; put 'put ''byIsImVkdS5tbyIsImdvdi5tbyIsIm1vYmkiLCJtcCIsIm1xIiwibXIiLCJnb3YubXIiLCJtcyIsImNvbS5tcyIsImVkdS5tcyIsImdvdi5tcyIsIm5ldC5tcyIsIm9yZy5tcyIsIm10IiwiY29tLm10IiwiZWR1Lm10IiwibmV0Lm10Iiwib3JnLm10IiwibXUiLCJjb20ubXUiLCJuZXQubXUi''@;'; put 'put ''LCJvcmcubXUiLCJnb3YubXUiLCJhYy5tdSIsImNvLm11Iiwib3IubXUiLCJtdXNldW0iLCJhY2FkZW15Lm11c2V1bSIsImFncmljdWx0dXJlLm11c2V1bSIsImFpci5tdXNldW0iLCJhaXJndWFyZC5tdXNldW0iLCJhbGFiYW1hLm11c2V1bSIsImFsYXNrYS5tdXNldW0iLCJhbWJlci5tdXNl''@;'; put 'put ''dW0iLCJhbWJ1bGFuY2UubXVzZXVtIiwiYW1lcmljYW4ubXVzZXVtIiwiYW1lcmljYW5hLm11c2V1bSIsImFtZXJpY2FuYW50aXF1ZXMubXVzZXVtIiwiYW1lcmljYW5hcnQubXVzZXVtIiwiYW1zdGVyZGFtLm11c2V1bSIsImFuZC5tdXNldW0iLCJhbm5lZnJhbmsubXVzZXVtIiwiYW50aHJv''@;'; put 'put ''Lm11c2V1bSIsImFudGhyb3BvbG9neS5tdXNldW0iLCJhbnRpcXVlcy5tdXNldW0iLCJhcXVhcml1bS5tdXNldW0iLCJhcmJvcmV0dW0ubXVzZXVtIiwiYXJjaGFlb2xvZ2ljYWwubXVzZXVtIiwiYXJjaGFlb2xvZ3kubXVzZXVtIiwiYXJjaGl0ZWN0dXJlLm11c2V1bSIsImFydC5tdXNldW0i''@;'; put 'put ''LCJhcnRhbmRkZXNpZ24ubXVzZXVtIiwiYXJ0Y2VudGVyLm11c2V1bSIsImFydGRlY28ubXVzZXVtIiwiYXJ0ZWR1Y2F0aW9uLm11c2V1bSIsImFydGdhbGxlcnkubXVzZXVtIiwiYXJ0cy5tdXNldW0iLCJhcnRzYW5kY3JhZnRzLm11c2V1bSIsImFzbWF0YXJ0Lm11c2V1bSIsImFzc2Fzc2lu''@;'; put 'put ''YXRpb24ubXVzZXVtIiwiYXNzaXNpLm11c2V1bSIsImFzc29jaWF0aW9uLm11c2V1bSIsImFzdHJvbm9teS5tdXNldW0iLCJhdGxhbnRhLm11c2V1bSIsImF1c3Rpbi5tdXNldW0iLCJhdXN0cmFsaWEubXVzZXVtIiwiYXV0b21vdGl2ZS5tdXNldW0iLCJhdmlhdGlvbi5tdXNldW0iLCJheGlz''@;'; put 'put ''Lm11c2V1bSIsImJhZGFqb3oubXVzZXVtIiwiYmFnaGRhZC5tdXNldW0iLCJiYWhuLm11c2V1bSIsImJhbGUubXVzZXVtIiwiYmFsdGltb3JlLm11c2V1bSIsImJhcmNlbG9uYS5tdXNldW0iLCJiYXNlYmFsbC5tdXNldW0iLCJiYXNlbC5tdXNldW0iLCJiYXRocy5tdXNldW0iLCJiYXVlcm4u''@;'; put 'put ''bXVzZXVtIiwiYmVhdXhhcnRzLm11c2V1bSIsImJlZWxkZW5nZWx1aWQubXVzZXVtIiwiYmVsbGV2dWUubXVzZXVtIiwiYmVyZ2JhdS5tdXNldW0iLCJiZXJrZWxleS5tdXNldW0iLCJiZXJsaW4ubXVzZXVtIiwiYmVybi5tdXNldW0iLCJiaWJsZS5tdXNldW0iLCJiaWxiYW8ubXVzZXVtIiwi''@;'; put 'put ''YmlsbC5tdXNldW0iLCJiaXJkYXJ0Lm11c2V1bSIsImJpcnRocGxhY2UubXVzZXVtIiwiYm9ubi5tdXNldW0iLCJib3N0b24ubXVzZXVtIiwiYm90YW5pY2FsLm11c2V1bSIsImJvdGFuaWNhbGdhcmRlbi5tdXNldW0iLCJib3RhbmljZ2FyZGVuLm11c2V1bSIsImJvdGFueS5tdXNldW0iLCJi''@;'; put 'put ''cmFuZHl3aW5ldmFsbGV5Lm11c2V1bSIsImJyYXNpbC5tdXNldW0iLCJicmlzdG9sLm11c2V1bSIsImJyaXRpc2gubXVzZXVtIiwiYnJpdGlzaGNvbHVtYmlhLm11c2V1bSIsImJyb2FkY2FzdC5tdXNldW0iLCJicnVuZWwubXVzZXVtIiwiYnJ1c3NlbC5tdXNldW0iLCJicnVzc2Vscy5tdXNl''@;'; put 'put ''dW0iLCJicnV4ZWxsZXMubXVzZXVtIiwiYnVpbGRpbmcubXVzZXVtIiwiYnVyZ2hvZi5tdXNldW0iLCJidXMubXVzZXVtIiwiYnVzaGV5Lm11c2V1bSIsImNhZGFxdWVzLm11c2V1bSIsImNhbGlmb3JuaWEubXVzZXVtIiwiY2FtYnJpZGdlLm11c2V1bSIsImNhbi5tdXNldW0iLCJjYW5hZGEu''@;'; put 'put ''bXVzZXVtIiwiY2FwZWJyZXRvbi5tdXNldW0iLCJjYXJyaWVyLm11c2V1bSIsImNhcnRvb25hcnQubXVzZXVtIiwiY2FzYWRlbGFtb25lZGEubXVzZXVtIiwiY2FzdGxlLm11c2V1bSIsImNhc3RyZXMubXVzZXVtIiwiY2VsdGljLm11c2V1bSIsImNlbnRlci5tdXNldW0iLCJjaGF0dGFub29n''@;'; put 'put ''YS5tdXNldW0iLCJjaGVsdGVuaGFtLm11c2V1bSIsImNoZXNhcGVha2ViYXkubXVzZXVtIiwiY2hpY2Fnby5tdXNldW0iLCJjaGlsZHJlbi5tdXNldW0iLCJjaGlsZHJlbnMubXVzZXVtIiwiY2hpbGRyZW5zZ2FyZGVuLm11c2V1bSIsImNoaXJvcHJhY3RpYy5tdXNldW0iLCJjaG9jb2xhdGUu''@;'; put 'put ''bXVzZXVtIiwiY2hyaXN0aWFuc2J1cmcubXVzZXVtIiwiY2luY2lubmF0aS5tdXNldW0iLCJjaW5lbWEubXVzZXVtIiwiY2lyY3VzLm11c2V1bSIsImNpdmlsaXNhdGlvbi5tdXNldW0iLCJjaXZpbGl6YXRpb24ubXVzZXVtIiwiY2l2aWx3YXIubXVzZXVtIiwiY2xpbnRvbi5tdXNldW0iLCJj''@;'; put 'put ''bG9jay5tdXNldW0iLCJjb2FsLm11c2V1bSIsImNvYXN0YWxkZWZlbmNlLm11c2V1bSIsImNvZHkubXVzZXVtIiwiY29sZHdhci5tdXNldW0iLCJjb2xsZWN0aW9uLm11c2V1bSIsImNvbG9uaWFsd2lsbGlhbXNidXJnLm11c2V1bSIsImNvbG9yYWRvcGxhdGVhdS5tdXNldW0iLCJjb2x1bWJp''@;'; put 'put ''YS5tdXNldW0iLCJjb2x1bWJ1cy5tdXNldW0iLCJjb21tdW5pY2F0aW9uLm11c2V1bSIsImNvbW11bmljYXRpb25zLm11c2V1bSIsImNvbW11bml0eS5tdXNldW0iLCJjb21wdXRlci5tdXNldW0iLCJjb21wdXRlcmhpc3RvcnkubXVzZXVtIiwiY29tdW5pY2FceGU3XHhmNWVzLm11c2V1bSIs''@;'; put 'put ''ImNvbnRlbXBvcmFyeS5tdXNldW0iLCJjb250ZW1wb3JhcnlhcnQubXVzZXVtIiwiY29udmVudC5tdXNldW0iLCJjb3BlbmhhZ2VuLm11c2V1bSIsImNvcnBvcmF0aW9uLm11c2V1bSIsImNvcnJlaW9zLWUtdGVsZWNvbXVuaWNhXHhlN1x4ZjVlcy5tdXNldW0iLCJjb3J2ZXR0ZS5tdXNldW0i''@;'; put 'put ''LCJjb3N0dW1lLm11c2V1bSIsImNvdW50cnllc3RhdGUubXVzZXVtIiwiY291bnR5Lm11c2V1bSIsImNyYWZ0cy5tdXNldW0iLCJjcmFuYnJvb2subXVzZXVtIiwiY3JlYXRpb24ubXVzZXVtIiwiY3VsdHVyYWwubXVzZXVtIiwiY3VsdHVyYWxjZW50ZXIubXVzZXVtIiwiY3VsdHVyZS5tdXNl''@;'; put 'put ''dW0iLCJjeWJlci5tdXNldW0iLCJjeW1ydS5tdXNldW0iLCJkYWxpLm11c2V1bSIsImRhbGxhcy5tdXNldW0iLCJkYXRhYmFzZS5tdXNldW0iLCJkZHIubXVzZXVtIiwiZGVjb3JhdGl2ZWFydHMubXVzZXVtIiwiZGVsYXdhcmUubXVzZXVtIiwiZGVsbWVuaG9yc3QubXVzZXVtIiwiZGVubWFy''@;'; put 'put ''ay5tdXNldW0iLCJkZXBvdC5tdXNldW0iLCJkZXNpZ24ubXVzZXVtIiwiZGV0cm9pdC5tdXNldW0iLCJkaW5vc2F1ci5tdXNldW0iLCJkaXNjb3ZlcnkubXVzZXVtIiwiZG9sbHMubXVzZXVtIiwiZG9ub3N0aWEubXVzZXVtIiwiZHVyaGFtLm11c2V1bSIsImVhc3RhZnJpY2EubXVzZXVtIiwi''@;'; put 'put ''ZWFzdGNvYXN0Lm11c2V1bSIsImVkdWNhdGlvbi5tdXNldW0iLCJlZHVjYXRpb25hbC5tdXNldW0iLCJlZ3lwdGlhbi5tdXNldW0iLCJlaXNlbmJhaG4ubXVzZXVtIiwiZWxidXJnLm11c2V1bSIsImVsdmVuZHJlbGwubXVzZXVtIiwiZW1icm9pZGVyeS5tdXNldW0iLCJlbmN5Y2xvcGVkaWMu''@;'; put 'put ''bXVzZXVtIiwiZW5nbGFuZC5tdXNldW0iLCJlbnRvbW9sb2d5Lm11c2V1bSIsImVudmlyb25tZW50Lm11c2V1bSIsImVudmlyb25tZW50YWxjb25zZXJ2YXRpb24ubXVzZXVtIiwiZXBpbGVwc3kubXVzZXVtIiwiZXNzZXgubXVzZXVtIiwiZXN0YXRlLm11c2V1bSIsImV0aG5vbG9neS5tdXNl''@;'; put 'put ''dW0iLCJleGV0ZXIubXVzZXVtIiwiZXhoaWJpdGlvbi5tdXNldW0iLCJmYW1pbHkubXVzZXVtIiwiZmFybS5tdXNldW0iLCJmYXJtZXF1aXBtZW50Lm11c2V1bSIsImZhcm1lcnMubXVzZXVtIiwiZmFybXN0ZWFkLm11c2V1bSIsImZpZWxkLm11c2V1bSIsImZpZ3VlcmVzLm11c2V1bSIsImZp''@;'; put 'put ''bGF0ZWxpYS5tdXNldW0iLCJmaWxtLm11c2V1bSIsImZpbmVhcnQubXVzZXVtIiwiZmluZWFydHMubXVzZXVtIiwiZmlubGFuZC5tdXNldW0iLCJmbGFuZGVycy5tdXNldW0iLCJmbG9yaWRhLm11c2V1bSIsImZvcmNlLm11c2V1bSIsImZvcnRtaXNzb3VsYS5tdXNldW0iLCJmb3J0d29ydGgu''@;'; put 'put ''bXVzZXVtIiwiZm91bmRhdGlvbi5tdXNldW0iLCJmcmFuY2Fpc2UubXVzZXVtIiwiZnJhbmtmdXJ0Lm11c2V1bSIsImZyYW56aXNrYW5lci5tdXNldW0iLCJmcmVlbWFzb25yeS5tdXNldW0iLCJmcmVpYnVyZy5tdXNldW0iLCJmcmlib3VyZy5tdXNldW0iLCJmcm9nLm11c2V1bSIsImZ1bmRh''@;'; put 'put ''Y2lvLm11c2V1bSIsImZ1cm5pdHVyZS5tdXNldW0iLCJnYWxsZXJ5Lm11c2V1bSIsImdhcmRlbi5tdXNldW0iLCJnYXRld2F5Lm11c2V1bSIsImdlZWx2aW5jay5tdXNldW0iLCJnZW1vbG9naWNhbC5tdXNldW0iLCJnZW9sb2d5Lm11c2V1bSIsImdlb3JnaWEubXVzZXVtIiwiZ2llc3Nlbi5t''@;'; put 'put ''dXNldW0iLCJnbGFzLm11c2V1bSIsImdsYXNzLm11c2V1bSIsImdvcmdlLm11c2V1bSIsImdyYW5kcmFwaWRzLm11c2V1bSIsImdyYXoubXVzZXVtIiwiZ3Vlcm5zZXkubXVzZXVtIiwiaGFsbG9mZmFtZS5tdXNldW0iLCJoYW1idXJnLm11c2V1bSIsImhhbmRzb24ubXVzZXVtIiwiaGFydmVz''@;'; put 'put ''dGNlbGVicmF0aW9uLm11c2V1bSIsImhhd2FpaS5tdXNldW0iLCJoZWFsdGgubXVzZXVtIiwiaGVpbWF0dW5kdWhyZW4ubXVzZXVtIiwiaGVsbGFzLm11c2V1bSIsImhlbHNpbmtpLm11c2V1bSIsImhlbWJ5Z2RzZm9yYnVuZC5tdXNldW0iLCJoZXJpdGFnZS5tdXNldW0iLCJoaXN0b2lyZS5t''@;'; put 'put ''dXNldW0iLCJoaXN0b3JpY2FsLm11c2V1bSIsImhpc3RvcmljYWxzb2NpZXR5Lm11c2V1bSIsImhpc3RvcmljaG91c2VzLm11c2V1bSIsImhpc3RvcmlzY2gubXVzZXVtIiwiaGlzdG9yaXNjaGVzLm11c2V1bSIsImhpc3RvcnkubXVzZXVtIiwiaGlzdG9yeW9mc2NpZW5jZS5tdXNldW0iLCJo''@;'; put 'put ''b3JvbG9neS5tdXNldW0iLCJob3VzZS5tdXNldW0iLCJodW1hbml0aWVzLm11c2V1bSIsImlsbHVzdHJhdGlvbi5tdXNldW0iLCJpbWFnZWFuZHNvdW5kLm11c2V1bSIsImluZGlhbi5tdXNldW0iLCJpbmRpYW5hLm11c2V1bSIsImluZGlhbmFwb2xpcy5tdXNldW0iLCJpbmRpYW5tYXJrZXQu''@;'; put 'put ''bXVzZXVtIiwiaW50ZWxsaWdlbmNlLm11c2V1bSIsImludGVyYWN0aXZlLm11c2V1bSIsImlyYXEubXVzZXVtIiwiaXJvbi5tdXNldW0iLCJpc2xlb2ZtYW4ubXVzZXVtIiwiamFtaXNvbi5tdXNldW0iLCJqZWZmZXJzb24ubXVzZXVtIiwiamVydXNhbGVtLm11c2V1bSIsImpld2VscnkubXVz''@;'; put 'put ''ZXVtIiwiamV3aXNoLm11c2V1bSIsImpld2lzaGFydC5tdXNldW0iLCJqZmsubXVzZXVtIiwiam91cm5hbGlzbS5tdXNldW0iLCJqdWRhaWNhLm11c2V1bSIsImp1ZHlnYXJsYW5kLm11c2V1bSIsImp1ZWRpc2NoZXMubXVzZXVtIiwianVpZi5tdXNldW0iLCJrYXJhdGUubXVzZXVtIiwia2Fy''@;'; put 'put ''aWthdHVyLm11c2V1bSIsImtpZHMubXVzZXVtIiwia29lYmVuaGF2bi5tdXNldW0iLCJrb2Vsbi5tdXNldW0iLCJrdW5zdC5tdXNldW0iLCJrdW5zdHNhbW1sdW5nLm11c2V1bSIsImt1bnN0dW5kZGVzaWduLm11c2V1bSIsImxhYm9yLm11c2V1bSIsImxhYm91ci5tdXNldW0iLCJsYWpvbGxh''@;'; put 'put ''Lm11c2V1bSIsImxhbmNhc2hpcmUubXVzZXVtIiwibGFuZGVzLm11c2V1bSIsImxhbnMubXVzZXVtIiwibFx4ZTRucy5tdXNldW0iLCJsYXJzc29uLm11c2V1bSIsImxld2lzbWlsbGVyLm11c2V1bSIsImxpbmNvbG4ubXVzZXVtIiwibGluei5tdXNldW0iLCJsaXZpbmcubXVzZXVtIiwibGl2''@;'; put 'put ''aW5naGlzdG9yeS5tdXNldW0iLCJsb2NhbGhpc3RvcnkubXVzZXVtIiwibG9uZG9uLm11c2V1bSIsImxvc2FuZ2VsZXMubXVzZXVtIiwibG91dnJlLm11c2V1bSIsImxveWFsaXN0Lm11c2V1bSIsImx1Y2VybmUubXVzZXVtIiwibHV4ZW1ib3VyZy5tdXNldW0iLCJsdXplcm4ubXVzZXVtIiwi''@;'; put 'put ''bWFkLm11c2V1bSIsIm1hZHJpZC5tdXNldW0iLCJtYWxsb3JjYS5tdXNldW0iLCJtYW5jaGVzdGVyLm11c2V1bSIsIm1hbnNpb24ubXVzZXVtIiwibWFuc2lvbnMubXVzZXVtIiwibWFueC5tdXNldW0iLCJtYXJidXJnLm11c2V1bSIsIm1hcml0aW1lLm11c2V1bSIsIm1hcml0aW1vLm11c2V1''@;'; put 'put ''bSIsIm1hcnlsYW5kLm11c2V1bSIsIm1hcnlsaHVyc3QubXVzZXVtIiwibWVkaWEubXVzZXVtIiwibWVkaWNhbC5tdXNldW0iLCJtZWRpemluaGlzdG9yaXNjaGVzLm11c2V1bSIsIm1lZXJlcy5tdXNldW0iLCJtZW1vcmlhbC5tdXNldW0iLCJtZXNhdmVyZGUubXVzZXVtIiwibWljaGlnYW4u''@;'; put 'put ''bXVzZXVtIiwibWlkYXRsYW50aWMubXVzZXVtIiwibWlsaXRhcnkubXVzZXVtIiwibWlsbC5tdXNldW0iLCJtaW5lcnMubXVzZXVtIiwibWluaW5nLm11c2V1bSIsIm1pbm5lc290YS5tdXNldW0iLCJtaXNzaWxlLm11c2V1bSIsIm1pc3NvdWxhLm11c2V1bSIsIm1vZGVybi5tdXNldW0iLCJt''@;'; put 'put ''b21hLm11c2V1bSIsIm1vbmV5Lm11c2V1bSIsIm1vbm1vdXRoLm11c2V1bSIsIm1vbnRpY2VsbG8ubXVzZXVtIiwibW9udHJlYWwubXVzZXVtIiwibW9zY293Lm11c2V1bSIsIm1vdG9yY3ljbGUubXVzZXVtIiwibXVlbmNoZW4ubXVzZXVtIiwibXVlbnN0ZXIubXVzZXVtIiwibXVsaG91c2Uu''@;'; put 'put ''bXVzZXVtIiwibXVuY2llLm11c2V1bSIsIm11c2VldC5tdXNldW0iLCJtdXNldW1jZW50ZXIubXVzZXVtIiwibXVzZXVtdmVyZW5pZ2luZy5tdXNldW0iLCJtdXNpYy5tdXNldW0iLCJuYXRpb25hbC5tdXNldW0iLCJuYXRpb25hbGZpcmVhcm1zLm11c2V1bSIsIm5hdGlvbmFsaGVyaXRhZ2Uu''@;'; put 'put ''bXVzZXVtIiwibmF0aXZlYW1lcmljYW4ubXVzZXVtIiwibmF0dXJhbGhpc3RvcnkubXVzZXVtIiwibmF0dXJhbGhpc3RvcnltdXNldW0ubXVzZXVtIiwibmF0dXJhbHNjaWVuY2VzLm11c2V1bSIsIm5hdHVyZS5tdXNldW0iLCJuYXR1cmhpc3RvcmlzY2hlcy5tdXNldW0iLCJuYXR1dXJ3ZXRl''@;'; put 'put ''bnNjaGFwcGVuLm11c2V1bSIsIm5hdW1idXJnLm11c2V1bSIsIm5hdmFsLm11c2V1bSIsIm5lYnJhc2thLm11c2V1bSIsIm5ldWVzLm11c2V1bSIsIm5ld2hhbXBzaGlyZS5tdXNldW0iLCJuZXdqZXJzZXkubXVzZXVtIiwibmV3bWV4aWNvLm11c2V1bSIsIm5ld3BvcnQubXVzZXVtIiwibmV3''@;'; put 'put ''c3BhcGVyLm11c2V1bSIsIm5ld3lvcmsubXVzZXVtIiwibmllcGNlLm11c2V1bSIsIm5vcmZvbGsubXVzZXVtIiwibm9ydGgubXVzZXVtIiwibnJ3Lm11c2V1bSIsIm55Yy5tdXNldW0iLCJueW55Lm11c2V1bSIsIm9jZWFub2dyYXBoaWMubXVzZXVtIiwib2NlYW5vZ3JhcGhpcXVlLm11c2V1''@;'; put 'put ''bSIsIm9tYWhhLm11c2V1bSIsIm9ubGluZS5tdXNldW0iLCJvbnRhcmlvLm11c2V1bSIsIm9wZW5haXIubXVzZXVtIiwib3JlZ29uLm11c2V1bSIsIm9yZWdvbnRyYWlsLm11c2V1bSIsIm90YWdvLm11c2V1bSIsIm94Zm9yZC5tdXNldW0iLCJwYWNpZmljLm11c2V1bSIsInBhZGVyYm9ybi5t''@;'; put 'put ''dXNldW0iLCJwYWxhY2UubXVzZXVtIiwicGFsZW8ubXVzZXVtIiwicGFsbXNwcmluZ3MubXVzZXVtIiwicGFuYW1hLm11c2V1bSIsInBhcmlzLm11c2V1bSIsInBhc2FkZW5hLm11c2V1bSIsInBoYXJtYWN5Lm11c2V1bSIsInBoaWxhZGVscGhpYS5tdXNldW0iLCJwaGlsYWRlbHBoaWFhcmVh''@;'; put 'put ''Lm11c2V1bSIsInBoaWxhdGVseS5tdXNldW0iLCJwaG9lbml4Lm11c2V1bSIsInBob3RvZ3JhcGh5Lm11c2V1bSIsInBpbG90cy5tdXNldW0iLCJwaXR0c2J1cmdoLm11c2V1bSIsInBsYW5ldGFyaXVtLm11c2V1bSIsInBsYW50YXRpb24ubXVzZXVtIiwicGxhbnRzLm11c2V1bSIsInBsYXph''@;'; put 'put ''Lm11c2V1bSIsInBvcnRhbC5tdXNldW0iLCJwb3J0bGFuZC5tdXNldW0iLCJwb3J0bGxpZ2F0Lm11c2V1bSIsInBvc3RzLWFuZC10ZWxlY29tbXVuaWNhdGlvbnMubXVzZXVtIiwicHJlc2VydmF0aW9uLm11c2V1bSIsInByZXNpZGlvLm11c2V1bSIsInByZXNzLm11c2V1bSIsInByb2plY3Qu''@;'; put 'put ''bXVzZXVtIiwicHVibGljLm11c2V1bSIsInB1Ym9sLm11c2V1bSIsInF1ZWJlYy5tdXNldW0iLCJyYWlscm9hZC5tdXNldW0iLCJyYWlsd2F5Lm11c2V1bSIsInJlc2VhcmNoLm11c2V1bSIsInJlc2lzdGFuY2UubXVzZXVtIiwicmlvZGVqYW5laXJvLm11c2V1bSIsInJvY2hlc3Rlci5tdXNl''@;'; put 'put ''dW0iLCJyb2NrYXJ0Lm11c2V1bSIsInJvbWEubXVzZXVtIiwicnVzc2lhLm11c2V1bSIsInNhaW50bG91aXMubXVzZXVtIiwic2FsZW0ubXVzZXVtIiwic2FsdmFkb3JkYWxpLm11c2V1bSIsInNhbHpidXJnLm11c2V1bSIsInNhbmRpZWdvLm11c2V1bSIsInNhbmZyYW5jaXNjby5tdXNldW0i''@;'; put 'put ''LCJzYW50YWJhcmJhcmEubXVzZXVtIiwic2FudGFjcnV6Lm11c2V1bSIsInNhbnRhZmUubXVzZXVtIiwic2Fza2F0Y2hld2FuLm11c2V1bSIsInNhdHgubXVzZXVtIiwic2F2YW5uYWhnYS5tdXNldW0iLCJzY2hsZXNpc2NoZXMubXVzZXVtIiwic2Nob2VuYnJ1bm4ubXVzZXVtIiwic2Nob2tv''@;'; put 'put ''bGFkZW4ubXVzZXVtIiwic2Nob29sLm11c2V1bSIsInNjaHdlaXoubXVzZXVtIiwic2NpZW5jZS5tdXNldW0iLCJzY2llbmNlYW5kaGlzdG9yeS5tdXNldW0iLCJzY2llbmNlYW5kaW5kdXN0cnkubXVzZXVtIiwic2NpZW5jZWNlbnRlci5tdXNldW0iLCJzY2llbmNlY2VudGVycy5tdXNldW0i''@;'; put 'put ''LCJzY2llbmNlLWZpY3Rpb24ubXVzZXVtIiwic2NpZW5jZWhpc3RvcnkubXVzZXVtIiwic2NpZW5jZXMubXVzZXVtIiwic2NpZW5jZXNuYXR1cmVsbGVzLm11c2V1bSIsInNjb3RsYW5kLm11c2V1bSIsInNlYXBvcnQubXVzZXVtIiwic2V0dGxlbWVudC5tdXNldW0iLCJzZXR0bGVycy5tdXNl''@;'; put 'put ''dW0iLCJzaGVsbC5tdXNldW0iLCJzaGVyYnJvb2tlLm11c2V1bSIsInNpYmVuaWsubXVzZXVtIiwic2lsay5tdXNldW0iLCJza2kubXVzZXVtIiwic2tvbGUubXVzZXVtIiwic29jaWV0eS5tdXNldW0iLCJzb2xvZ25lLm11c2V1bSIsInNvdW5kYW5kdmlzaW9uLm11c2V1bSIsInNvdXRoY2Fy''@;'; put 'put ''b2xpbmEubXVzZXVtIiwic291dGh3ZXN0Lm11c2V1bSIsInNwYWNlLm11c2V1bSIsInNweS5tdXNldW0iLCJzcXVhcmUubXVzZXVtIiwic3RhZHQubXVzZXVtIiwic3RhbGJhbnMubXVzZXVtIiwic3Rhcm5iZXJnLm11c2V1bSIsInN0YXRlLm11c2V1bSIsInN0YXRlb2ZkZWxhd2FyZS5tdXNl''@;'; put 'put ''dW0iLCJzdGF0aW9uLm11c2V1bSIsInN0ZWFtLm11c2V1bSIsInN0ZWllcm1hcmsubXVzZXVtIiwic3Rqb2huLm11c2V1bSIsInN0b2NraG9sbS5tdXNldW0iLCJzdHBldGVyc2J1cmcubXVzZXVtIiwic3R1dHRnYXJ0Lm11c2V1bSIsInN1aXNzZS5tdXNldW0iLCJzdXJnZW9uc2hhbGwubXVz''@;'; put 'put ''ZXVtIiwic3VycmV5Lm11c2V1bSIsInN2aXp6ZXJhLm11c2V1bSIsInN3ZWRlbi5tdXNldW0iLCJzeWRuZXkubXVzZXVtIiwidGFuay5tdXNldW0iLCJ0Y20ubXVzZXVtIiwidGVjaG5vbG9neS5tdXNldW0iLCJ0ZWxla29tbXVuaWthdGlvbi5tdXNldW0iLCJ0ZWxldmlzaW9uLm11c2V1bSIs''@;'; put 'put ''InRleGFzLm11c2V1bSIsInRleHRpbGUubXVzZXVtIiwidGhlYXRlci5tdXNldW0iLCJ0aW1lLm11c2V1bSIsInRpbWVrZWVwaW5nLm11c2V1bSIsInRvcG9sb2d5Lm11c2V1bSIsInRvcmluby5tdXNldW0iLCJ0b3VjaC5tdXNldW0iLCJ0b3duLm11c2V1bSIsInRyYW5zcG9ydC5tdXNldW0i''@;'; put 'put ''LCJ0cmVlLm11c2V1bSIsInRyb2xsZXkubXVzZXVtIiwidHJ1c3QubXVzZXVtIiwidHJ1c3RlZS5tdXNldW0iLCJ1aHJlbi5tdXNldW0iLCJ1bG0ubXVzZXVtIiwidW5kZXJzZWEubXVzZXVtIiwidW5pdmVyc2l0eS5tdXNldW0iLCJ1c2EubXVzZXVtIiwidXNhbnRpcXVlcy5tdXNldW0iLCJ1''@;'; put 'put ''c2FydHMubXVzZXVtIiwidXNjb3VudHJ5ZXN0YXRlLm11c2V1bSIsInVzY3VsdHVyZS5tdXNldW0iLCJ1c2RlY29yYXRpdmVhcnRzLm11c2V1bSIsInVzZ2FyZGVuLm11c2V1bSIsInVzaGlzdG9yeS5tdXNldW0iLCJ1c2h1YWlhLm11c2V1bSIsInVzbGl2aW5naGlzdG9yeS5tdXNldW0iLCJ1''@;'; put 'put ''dGFoLm11c2V1bSIsInV2aWMubXVzZXVtIiwidmFsbGV5Lm11c2V1bSIsInZhbnRhYS5tdXNldW0iLCJ2ZXJzYWlsbGVzLm11c2V1bSIsInZpa2luZy5tdXNldW0iLCJ2aWxsYWdlLm11c2V1bSIsInZpcmdpbmlhLm11c2V1bSIsInZpcnR1YWwubXVzZXVtIiwidmlydHVlbC5tdXNldW0iLCJ2''@;'; put 'put ''bGFhbmRlcmVuLm11c2V1bSIsInZvbGtlbmt1bmRlLm11c2V1bSIsIndhbGVzLm11c2V1bSIsIndhbGxvbmllLm11c2V1bSIsIndhci5tdXNldW0iLCJ3YXNoaW5ndG9uZGMubXVzZXVtIiwid2F0Y2hhbmRjbG9jay5tdXNldW0iLCJ3YXRjaC1hbmQtY2xvY2subXVzZXVtIiwid2VzdGVybi5t''@;'; put 'put ''dXNldW0iLCJ3ZXN0ZmFsZW4ubXVzZXVtIiwid2hhbGluZy5tdXNldW0iLCJ3aWxkbGlmZS5tdXNldW0iLCJ3aWxsaWFtc2J1cmcubXVzZXVtIiwid2luZG1pbGwubXVzZXVtIiwid29ya3Nob3AubXVzZXVtIiwieW9yay5tdXNldW0iLCJ5b3Jrc2hpcmUubXVzZXVtIiwieW9zZW1pdGUubXVz''@;'; put 'put ''ZXVtIiwieW91dGgubXVzZXVtIiwiem9vbG9naWNhbC5tdXNldW0iLCJ6b29sb2d5Lm11c2V1bSIsIlx1MDVkOVx1MDVlOFx1MDVkNVx1MDVlOVx1MDVkY1x1MDVkOVx1MDVkZC5tdXNldW0iLCJcdTA0MzhcdTA0M2FcdTA0M2VcdTA0M2MubXVzZXVtIiwibXYiLCJhZXJvLm12IiwiYml6Lm12''@;'; put 'put ''IiwiY29tLm12IiwiY29vcC5tdiIsImVkdS5tdiIsImdvdi5tdiIsImluZm8ubXYiLCJpbnQubXYiLCJtaWwubXYiLCJtdXNldW0ubXYiLCJuYW1lLm12IiwibmV0Lm12Iiwib3JnLm12IiwicHJvLm12IiwibXciLCJhYy5tdyIsImJpei5tdyIsImNvLm13IiwiY29tLm13IiwiY29vcC5tdyIs''@;'; put 'put ''ImVkdS5tdyIsImdvdi5tdyIsImludC5tdyIsIm11c2V1bS5tdyIsIm5ldC5tdyIsIm9yZy5tdyIsIm14IiwiY29tLm14Iiwib3JnLm14IiwiZ29iLm14IiwiZWR1Lm14IiwibmV0Lm14IiwibXkiLCJjb20ubXkiLCJuZXQubXkiLCJvcmcubXkiLCJnb3YubXkiLCJlZHUubXkiLCJtaWwubXki''@;'; put 'put ''LCJuYW1lLm15IiwibXoiLCJhYy5teiIsImFkdi5teiIsImNvLm16IiwiZWR1Lm16IiwiZ292Lm16IiwibWlsLm16IiwibmV0Lm16Iiwib3JnLm16IiwibmEiLCJpbmZvLm5hIiwicHJvLm5hIiwibmFtZS5uYSIsInNjaG9vbC5uYSIsIm9yLm5hIiwiZHIubmEiLCJ1cy5uYSIsIm14Lm5hIiwi''@;'; put 'put ''Y2EubmEiLCJpbi5uYSIsImNjLm5hIiwidHYubmEiLCJ3cy5uYSIsIm1vYmkubmEiLCJjby5uYSIsImNvbS5uYSIsIm9yZy5uYSIsIm5hbWUiLCJuYyIsImFzc28ubmMiLCJub20ubmMiLCJuZSIsIm5ldCIsIm5mIiwiY29tLm5mIiwibmV0Lm5mIiwicGVyLm5mIiwicmVjLm5mIiwid2ViLm5m''@;'; put 'put ''IiwiYXJ0cy5uZiIsImZpcm0ubmYiLCJpbmZvLm5mIiwib3RoZXIubmYiLCJzdG9yZS5uZiIsIm5nIiwiY29tLm5nIiwiZWR1Lm5nIiwiZ292Lm5nIiwiaS5uZyIsIm1pbC5uZyIsIm1vYmkubmciLCJuYW1lLm5nIiwibmV0Lm5nIiwib3JnLm5nIiwic2NoLm5nIiwibmkiLCJhYy5uaSIsImJp''@;'; put 'put ''ei5uaSIsImNvLm5pIiwiY29tLm5pIiwiZWR1Lm5pIiwiZ29iLm5pIiwiaW4ubmkiLCJpbmZvLm5pIiwiaW50Lm5pIiwibWlsLm5pIiwibmV0Lm5pIiwibm9tLm5pIiwib3JnLm5pIiwid2ViLm5pIiwibmwiLCJubyIsImZocy5ubyIsInZncy5ubyIsImZ5bGtlc2JpYmwubm8iLCJmb2xrZWJp''@;'; put 'put ''Ymwubm8iLCJtdXNldW0ubm8iLCJpZHJldHQubm8iLCJwcml2Lm5vIiwibWlsLm5vIiwic3RhdC5ubyIsImRlcC5ubyIsImtvbW11bmUubm8iLCJoZXJhZC5ubyIsImFhLm5vIiwiYWgubm8iLCJidS5ubyIsImZtLm5vIiwiaGwubm8iLCJobS5ubyIsImphbi1tYXllbi5ubyIsIm1yLm5vIiwi''@;'; put 'put ''bmwubm8iLCJudC5ubyIsIm9mLm5vIiwib2wubm8iLCJvc2xvLm5vIiwicmwubm8iLCJzZi5ubyIsInN0Lm5vIiwic3ZhbGJhcmQubm8iLCJ0bS5ubyIsInRyLm5vIiwidmEubm8iLCJ2Zi5ubyIsImdzLmFhLm5vIiwiZ3MuYWgubm8iLCJncy5idS5ubyIsImdzLmZtLm5vIiwiZ3MuaGwubm8i''@;'; put 'put ''LCJncy5obS5ubyIsImdzLmphbi1tYXllbi5ubyIsImdzLm1yLm5vIiwiZ3Mubmwubm8iLCJncy5udC5ubyIsImdzLm9mLm5vIiwiZ3Mub2wubm8iLCJncy5vc2xvLm5vIiwiZ3Mucmwubm8iLCJncy5zZi5ubyIsImdzLnN0Lm5vIiwiZ3Muc3ZhbGJhcmQubm8iLCJncy50bS5ubyIsImdzLnRy''@;'; put 'put ''Lm5vIiwiZ3MudmEubm8iLCJncy52Zi5ubyIsImFrcmVoYW1uLm5vIiwiXHhlNWtyZWhhbW4ubm8iLCJhbGdhcmQubm8iLCJceGU1bGdceGU1cmQubm8iLCJhcm5hLm5vIiwiYnJ1bXVuZGRhbC5ubyIsImJyeW5lLm5vIiwiYnJvbm5veXN1bmQubm8iLCJiclx4Zjhublx4Zjh5c3VuZC5ubyIs''@;'; put 'put ''ImRyb2Jhay5ubyIsImRyXHhmOGJhay5ubyIsImVnZXJzdW5kLm5vIiwiZmV0c3VuZC5ubyIsImZsb3JvLm5vIiwiZmxvclx4Zjgubm8iLCJmcmVkcmlrc3RhZC5ubyIsImhva2tzdW5kLm5vIiwiaG9uZWZvc3Mubm8iLCJoXHhmOG5lZm9zcy5ubyIsImplc3NoZWltLm5vIiwiam9ycGVsYW5k''@;'; put 'put ''Lm5vIiwialx4ZjhycGVsYW5kLm5vIiwia2lya2VuZXMubm8iLCJrb3BlcnZpay5ubyIsImtyb2tzdGFkZWx2YS5ubyIsImxhbmdldmFnLm5vIiwibGFuZ2V2XHhlNWcubm8iLCJsZWlydmlrLm5vIiwibWpvbmRhbGVuLm5vIiwibWpceGY4bmRhbGVuLm5vIiwibW8taS1yYW5hLm5vIiwibW9z''@;'; put 'put ''am9lbi5ubyIsIm1vc2pceGY4ZW4ubm8iLCJuZXNvZGR0YW5nZW4ubm8iLCJvcmthbmdlci5ubyIsIm9zb3lyby5ubyIsIm9zXHhmOHlyby5ubyIsInJhaG9sdC5ubyIsInJceGU1aG9sdC5ubyIsInNhbmRuZXNzam9lbi5ubyIsInNhbmRuZXNzalx4Zjhlbi5ubyIsInNrZWRzbW9rb3JzZXQu''@;'; put 'put ''bm8iLCJzbGF0dHVtLm5vIiwic3BqZWxrYXZpay5ubyIsInN0YXRoZWxsZS5ubyIsInN0YXZlcm4ubm8iLCJzdGpvcmRhbHNoYWxzZW4ubm8iLCJzdGpceGY4cmRhbHNoYWxzZW4ubm8iLCJ0YW5hbmdlci5ubyIsInRyYW5ieS5ubyIsInZvc3NldmFuZ2VuLm5vIiwiYWZqb3JkLm5vIiwiXHhl''@;'; put 'put ''NWZqb3JkLm5vIiwiYWdkZW5lcy5ubyIsImFsLm5vIiwiXHhlNWwubm8iLCJhbGVzdW5kLm5vIiwiXHhlNWxlc3VuZC5ubyIsImFsc3RhaGF1Zy5ubyIsImFsdGEubm8iLCJceGUxbHRceGUxLm5vIiwiYWxhaGVhZGp1Lm5vIiwiXHhlMWxhaGVhZGp1Lm5vIiwiYWx2ZGFsLm5vIiwiYW1saS5u''@;'; put 'put ''byIsIlx4ZTVtbGkubm8iLCJhbW90Lm5vIiwiXHhlNW1vdC5ubyIsImFuZGVidS5ubyIsImFuZG95Lm5vIiwiYW5kXHhmOHkubm8iLCJhbmRhc3VvbG8ubm8iLCJhcmRhbC5ubyIsIlx4ZTVyZGFsLm5vIiwiYXJlbWFyay5ubyIsImFyZW5kYWwubm8iLCJceGU1cy5ubyIsImFzZXJhbC5ubyIs''@;'; put 'put ''Ilx4ZTVzZXJhbC5ubyIsImFza2VyLm5vIiwiYXNraW0ubm8iLCJhc2t2b2xsLm5vIiwiYXNrb3kubm8iLCJhc2tceGY4eS5ubyIsImFzbmVzLm5vIiwiXHhlNXNuZXMubm8iLCJhdWRuZWRhbG4ubm8iLCJhdWtyYS5ubyIsImF1cmUubm8iLCJhdXJsYW5kLm5vIiwiYXVyc2tvZy1ob2xhbmQu''@;'; put 'put ''bm8iLCJhdXJza29nLWhceGY4bGFuZC5ubyIsImF1c3Rldm9sbC5ubyIsImF1c3RyaGVpbS5ubyIsImF2ZXJveS5ubyIsImF2ZXJceGY4eS5ubyIsImJhbGVzdHJhbmQubm8iLCJiYWxsYW5nZW4ubm8iLCJiYWxhdC5ubyIsImJceGUxbFx4ZTF0Lm5vIiwiYmFsc2Zqb3JkLm5vIiwiYmFoY2Nh''@;'; put 'put ''dnVvdG5hLm5vIiwiYlx4ZTFoY2NhdnVvdG5hLm5vIiwiYmFtYmxlLm5vIiwiYmFyZHUubm8iLCJiZWFyZHUubm8iLCJiZWlhcm4ubm8iLCJiYWpkZGFyLm5vIiwiYlx4ZTFqZGRhci5ubyIsImJhaWRhci5ubyIsImJceGUxaWRceGUxci5ubyIsImJlcmcubm8iLCJiZXJnZW4ubm8iLCJiZXJs''@;'; put 'put ''ZXZhZy5ubyIsImJlcmxldlx4ZTVnLm5vIiwiYmVhcmFsdmFoa2kubm8iLCJiZWFyYWx2XHhlMWhraS5ubyIsImJpbmRhbC5ubyIsImJpcmtlbmVzLm5vIiwiYmphcmtveS5ubyIsImJqYXJrXHhmOHkubm8iLCJiamVya3JlaW0ubm8iLCJianVnbi5ubyIsImJvZG8ubm8iLCJib2RceGY4Lm5v''@;'; put 'put ''IiwiYmFkYWRkamEubm8iLCJiXHhlNWRceGU1ZGRqXHhlNS5ubyIsImJ1ZGVqanUubm8iLCJib2tuLm5vIiwiYnJlbWFuZ2VyLm5vIiwiYnJvbm5veS5ubyIsImJyXHhmOG5uXHhmOHkubm8iLCJieWdsYW5kLm5vIiwiYnlrbGUubm8iLCJiYXJ1bS5ubyIsImJceGU2cnVtLm5vIiwiYm8udGVs''@;'; put 'put ''ZW1hcmsubm8iLCJiXHhmOC50ZWxlbWFyay5ubyIsImJvLm5vcmRsYW5kLm5vIiwiYlx4Zjgubm9yZGxhbmQubm8iLCJiaWV2YXQubm8iLCJiaWV2XHhlMXQubm8iLCJib21sby5ubyIsImJceGY4bWxvLm5vIiwiYmF0c2Zqb3JkLm5vIiwiYlx4ZTV0c2Zqb3JkLm5vIiwiYmFoY2F2dW90bmEu''@;'; put 'put ''bm8iLCJiXHhlMWhjYXZ1b3RuYS5ubyIsImRvdnJlLm5vIiwiZHJhbW1lbi5ubyIsImRyYW5nZWRhbC5ubyIsImR5cm95Lm5vIiwiZHlyXHhmOHkubm8iLCJkb25uYS5ubyIsImRceGY4bm5hLm5vIiwiZWlkLm5vIiwiZWlkZmpvcmQubm8iLCJlaWRzYmVyZy5ubyIsImVpZHNrb2cubm8iLCJl''@;'; put 'put ''aWRzdm9sbC5ubyIsImVpZ2Vyc3VuZC5ubyIsImVsdmVydW0ubm8iLCJlbmViYWtrLm5vIiwiZW5nZXJkYWwubm8iLCJldG5lLm5vIiwiZXRuZWRhbC5ubyIsImV2ZW5lcy5ubyIsImV2ZW5hc3NpLm5vIiwiZXZlblx4ZTFcdTAxNjFcdTAxNjFpLm5vIiwiZXZqZS1vZy1ob3JubmVzLm5vIiwi''@;'; put 'put ''ZmFyc3VuZC5ubyIsImZhdXNrZS5ubyIsImZ1b3Nza28ubm8iLCJmdW9pc2t1Lm5vIiwiZmVkamUubm8iLCJmZXQubm8iLCJmaW5ub3kubm8iLCJmaW5uXHhmOHkubm8iLCJmaXRqYXIubm8iLCJmamFsZXIubm8iLCJmamVsbC5ubyIsImZsYWtzdGFkLm5vIiwiZmxhdGFuZ2VyLm5vIiwiZmxl''@;'; put 'put ''a2tlZmpvcmQubm8iLCJmbGVzYmVyZy5ubyIsImZsb3JhLm5vIiwiZmxhLm5vIiwiZmxceGU1Lm5vIiwiZm9sbGRhbC5ubyIsImZvcnNhbmQubm8iLCJmb3NuZXMubm8iLCJmcmVpLm5vIiwiZnJvZ24ubm8iLCJmcm9sYW5kLm5vIiwiZnJvc3RhLm5vIiwiZnJhbmEubm8iLCJmclx4ZTZuYS5u''@;'; put 'put ''byIsImZyb3lhLm5vIiwiZnJceGY4eWEubm8iLCJmdXNhLm5vIiwiZnlyZXNkYWwubm8iLCJmb3JkZS5ubyIsImZceGY4cmRlLm5vIiwiZ2FtdmlrLm5vIiwiZ2FuZ2F2aWlrYS5ubyIsImdceGUxXHUwMTRiZ2F2aWlrYS5ubyIsImdhdWxhci5ubyIsImdhdXNkYWwubm8iLCJnaWxkZXNrYWwu''@;'; put 'put ''bm8iLCJnaWxkZXNrXHhlNWwubm8iLCJnaXNrZS5ubyIsImdqZW1uZXMubm8iLCJnamVyZHJ1bS5ubyIsImdqZXJzdGFkLm5vIiwiZ2plc2RhbC5ubyIsImdqb3Zpay5ubyIsImdqXHhmOHZpay5ubyIsImdsb3BwZW4ubm8iLCJnb2wubm8iLCJncmFuLm5vIiwiZ3JhbmUubm8iLCJncmFudmlu''@;'; put 'put ''Lm5vIiwiZ3JhdGFuZ2VuLm5vIiwiZ3JpbXN0YWQubm8iLCJncm9uZy5ubyIsImtyYWFuZ2hrZS5ubyIsImtyXHhlNWFuZ2hrZS5ubyIsImdydWUubm8iLCJndWxlbi5ubyIsImhhZHNlbC5ubyIsImhhbGRlbi5ubyIsImhhbHNhLm5vIiwiaGFtYXIubm8iLCJoYW1hcm95Lm5vIiwiaGFibWVy''@;'; put 'put ''Lm5vIiwiaFx4ZTFibWVyLm5vIiwiaGFwbWlyLm5vIiwiaFx4ZTFwbWlyLm5vIiwiaGFtbWVyZmVzdC5ubyIsImhhbW1hcmZlYXN0YS5ubyIsImhceGUxbW1ceGUxcmZlYXN0YS5ubyIsImhhcmFtLm5vIiwiaGFyZWlkLm5vIiwiaGFyc3RhZC5ubyIsImhhc3Zpay5ubyIsImFrbm9sdW9rdGEu''@;'; put 'put ''bm8iLCJceGUxa1x1MDE0Ym9sdW9rdGEubm8iLCJoYXR0ZmplbGxkYWwubm8iLCJhYXJib3J0ZS5ubyIsImhhdWdlc3VuZC5ubyIsImhlbW5lLm5vIiwiaGVtbmVzLm5vIiwiaGVtc2VkYWwubm8iLCJoZXJveS5tb3JlLW9nLXJvbXNkYWwubm8iLCJoZXJceGY4eS5tXHhmOHJlLW9nLXJvbXNk''@;'; put 'put ''YWwubm8iLCJoZXJveS5ub3JkbGFuZC5ubyIsImhlclx4Zjh5Lm5vcmRsYW5kLm5vIiwiaGl0cmEubm8iLCJoamFydGRhbC5ubyIsImhqZWxtZWxhbmQubm8iLCJob2JvbC5ubyIsImhvYlx4ZjhsLm5vIiwiaG9mLm5vIiwiaG9sLm5vIiwiaG9sZS5ubyIsImhvbG1lc3RyYW5kLm5vIiwiaG9s''@;'; put 'put ''dGFsZW4ubm8iLCJob2x0XHhlNWxlbi5ubyIsImhvcm5pbmRhbC5ubyIsImhvcnRlbi5ubyIsImh1cmRhbC5ubyIsImh1cnVtLm5vIiwiaHZhbGVyLm5vIiwiaHlsbGVzdGFkLm5vIiwiaGFnZWJvc3RhZC5ubyIsImhceGU2Z2Vib3N0YWQubm8iLCJob3lhbmdlci5ubyIsImhceGY4eWFuZ2Vy''@;'; put 'put ''Lm5vIiwiaG95bGFuZGV0Lm5vIiwiaFx4Zjh5bGFuZGV0Lm5vIiwiaGEubm8iLCJoXHhlNS5ubyIsImliZXN0YWQubm8iLCJpbmRlcm95Lm5vIiwiaW5kZXJceGY4eS5ubyIsIml2ZWxhbmQubm8iLCJqZXZuYWtlci5ubyIsImpvbmRhbC5ubyIsImpvbHN0ZXIubm8iLCJqXHhmOGxzdGVyLm5v''@;'; put 'put ''Iiwia2FyYXNqb2subm8iLCJrYXJhc2pvaGthLm5vIiwia1x4ZTFyXHhlMVx1MDE2MWpvaGthLm5vIiwia2FybHNveS5ubyIsImdhbHNhLm5vIiwiZ1x4ZTFsc1x4ZTEubm8iLCJrYXJtb3kubm8iLCJrYXJtXHhmOHkubm8iLCJrYXV0b2tlaW5vLm5vIiwiZ3VvdmRhZ2VhaWRudS5ubyIsImts''@;'; put 'put ''ZXBwLm5vIiwia2xhYnUubm8iLCJrbFx4ZTZidS5ubyIsImtvbmdzYmVyZy5ubyIsImtvbmdzdmluZ2VyLm5vIiwia3JhZ2Vyby5ubyIsImtyYWdlclx4Zjgubm8iLCJrcmlzdGlhbnNhbmQubm8iLCJrcmlzdGlhbnN1bmQubm8iLCJrcm9kc2hlcmFkLm5vIiwia3JceGY4ZHNoZXJhZC5ubyIs''@;'; put 'put ''Imt2YWxzdW5kLm5vIiwicmFoa2tlcmF2anUubm8iLCJyXHhlMWhra2VyXHhlMXZqdS5ubyIsImt2YW0ubm8iLCJrdmluZXNkYWwubm8iLCJrdmlubmhlcmFkLm5vIiwia3ZpdGVzZWlkLm5vIiwia3ZpdHNveS5ubyIsImt2aXRzXHhmOHkubm8iLCJrdmFmam9yZC5ubyIsImt2XHhlNmZqb3Jk''@;'; put 'put ''Lm5vIiwiZ2llaHRhdnVvYXRuYS5ubyIsImt2YW5hbmdlbi5ubyIsImt2XHhlNm5hbmdlbi5ubyIsIm5hdnVvdG5hLm5vIiwiblx4ZTF2dW90bmEubm8iLCJrYWZqb3JkLm5vIiwia1x4ZTVmam9yZC5ubyIsImdhaXZ1b3RuYS5ubyIsImdceGUxaXZ1b3RuYS5ubyIsImxhcnZpay5ubyIsImxh''@;'; put 'put ''dmFuZ2VuLm5vIiwibGF2YWdpcy5ubyIsImxvYWJhdC5ubyIsImxvYWJceGUxdC5ubyIsImxlYmVzYnkubm8iLCJkYXZ2ZXNpaWRhLm5vIiwibGVpa2FuZ2VyLm5vIiwibGVpcmZqb3JkLm5vIiwibGVrYS5ubyIsImxla3N2aWsubm8iLCJsZW52aWsubm8iLCJsZWFuZ2F2aWlrYS5ubyIsImxl''@;'; put 'put ''YVx1MDE0Ymdhdmlpa2Eubm8iLCJsZXNqYS5ubyIsImxldmFuZ2VyLm5vIiwibGllci5ubyIsImxpZXJuZS5ubyIsImxpbGxlaGFtbWVyLm5vIiwibGlsbGVzYW5kLm5vIiwibGluZGVzbmVzLm5vIiwibGluZGFzLm5vIiwibGluZFx4ZTVzLm5vIiwibG9tLm5vIiwibG9wcGEubm8iLCJsYWhw''@;'; put 'put ''cGkubm8iLCJsXHhlMWhwcGkubm8iLCJsdW5kLm5vIiwibHVubmVyLm5vIiwibHVyb3kubm8iLCJsdXJceGY4eS5ubyIsImx1c3Rlci5ubyIsImx5bmdkYWwubm8iLCJseW5nZW4ubm8iLCJpdmd1Lm5vIiwibGFyZGFsLm5vIiwibGVyZGFsLm5vIiwibFx4ZTZyZGFsLm5vIiwibG9kaW5nZW4u''@;'; put 'put ''bm8iLCJsXHhmOGRpbmdlbi5ubyIsImxvcmVuc2tvZy5ubyIsImxceGY4cmVuc2tvZy5ubyIsImxvdGVuLm5vIiwibFx4Zjh0ZW4ubm8iLCJtYWx2aWsubm8iLCJtYXNveS5ubyIsIm1ceGU1c1x4Zjh5Lm5vIiwibXVvc2F0Lm5vIiwibXVvc1x4ZTF0Lm5vIiwibWFuZGFsLm5vIiwibWFya2Vy''@;'; put 'put ''Lm5vIiwibWFybmFyZGFsLm5vIiwibWFzZmpvcmRlbi5ubyIsIm1lbGFuZC5ubyIsIm1lbGRhbC5ubyIsIm1lbGh1cy5ubyIsIm1lbG95Lm5vIiwibWVsXHhmOHkubm8iLCJtZXJha2VyLm5vIiwibWVyXHhlNWtlci5ubyIsIm1vYXJla2Uubm8iLCJtb1x4ZTVyZWtlLm5vIiwibWlkc3VuZC5u''@;'; put 'put ''byIsIm1pZHRyZS1nYXVsZGFsLm5vIiwibW9kYWxlbi5ubyIsIm1vZHVtLm5vIiwibW9sZGUubm8iLCJtb3NrZW5lcy5ubyIsIm1vc3Mubm8iLCJtb3N2aWsubm8iLCJtYWxzZWx2Lm5vIiwibVx4ZTVsc2Vsdi5ubyIsIm1hbGF0dnVvcG1pLm5vIiwibVx4ZTFsYXR2dW9wbWkubm8iLCJuYW1k''@;'; put 'put ''YWxzZWlkLm5vIiwiYWVqcmllLm5vIiwibmFtc29zLm5vIiwibmFtc3Nrb2dhbi5ubyIsIm5hYW1lc2pldnVlbWllLm5vIiwiblx4ZTVceGU1bWVzamV2dWVtaWUubm8iLCJsYWFrZXN2dWVtaWUubm8iLCJuYW5uZXN0YWQubm8iLCJuYXJ2aWsubm8iLCJuYXJ2aWlrYS5ubyIsIm5hdXN0ZGFs''@;'; put 'put ''Lm5vIiwibmVkcmUtZWlrZXIubm8iLCJuZXMuYWtlcnNodXMubm8iLCJuZXMuYnVza2VydWQubm8iLCJuZXNuYS5ubyIsIm5lc29kZGVuLm5vIiwibmVzc2VieS5ubyIsInVuamFyZ2Eubm8iLCJ1bmpceGUxcmdhLm5vIiwibmVzc2V0Lm5vIiwibmlzc2VkYWwubm8iLCJuaXR0ZWRhbC5ubyIs''@;'; put 'put ''Im5vcmQtYXVyZGFsLm5vIiwibm9yZC1mcm9uLm5vIiwibm9yZC1vZGFsLm5vIiwibm9yZGRhbC5ubyIsIm5vcmRrYXBwLm5vIiwiZGF2dmVuamFyZ2Eubm8iLCJkYXZ2ZW5qXHhlMXJnYS5ubyIsIm5vcmRyZS1sYW5kLm5vIiwibm9yZHJlaXNhLm5vIiwicmFpc2Eubm8iLCJyXHhlMWlzYS5u''@;'; put 'put ''byIsIm5vcmUtb2ctdXZkYWwubm8iLCJub3RvZGRlbi5ubyIsIm5hcm95Lm5vIiwiblx4ZTZyXHhmOHkubm8iLCJub3R0ZXJveS5ubyIsIm5ceGY4dHRlclx4Zjh5Lm5vIiwib2RkYS5ubyIsIm9rc25lcy5ubyIsIlx4Zjhrc25lcy5ubyIsIm9wcGRhbC5ubyIsIm9wcGVnYXJkLm5vIiwib3Bw''@;'; put 'put ''ZWdceGU1cmQubm8iLCJvcmtkYWwubm8iLCJvcmxhbmQubm8iLCJceGY4cmxhbmQubm8iLCJvcnNrb2cubm8iLCJceGY4cnNrb2cubm8iLCJvcnN0YS5ubyIsIlx4Zjhyc3RhLm5vIiwib3MuaGVkbWFyay5ubyIsIm9zLmhvcmRhbGFuZC5ubyIsIm9zZW4ubm8iLCJvc3Rlcm95Lm5vIiwib3N0''@;'; put 'put ''ZXJceGY4eS5ubyIsIm9zdHJlLXRvdGVuLm5vIiwiXHhmOHN0cmUtdG90ZW4ubm8iLCJvdmVyaGFsbGEubm8iLCJvdnJlLWVpa2VyLm5vIiwiXHhmOHZyZS1laWtlci5ubyIsIm95ZXIubm8iLCJceGY4eWVyLm5vIiwib3lnYXJkZW4ubm8iLCJceGY4eWdhcmRlbi5ubyIsIm95c3RyZS1zbGlk''@;'; put 'put ''cmUubm8iLCJceGY4eXN0cmUtc2xpZHJlLm5vIiwicG9yc2FuZ2VyLm5vIiwicG9yc2FuZ3Uubm8iLCJwb3JzXHhlMVx1MDE0Ymd1Lm5vIiwicG9yc2dydW5uLm5vIiwicmFkb3kubm8iLCJyYWRceGY4eS5ubyIsInJha2tlc3RhZC5ubyIsInJhbmEubm8iLCJydW92YXQubm8iLCJyYW5kYWJl''@;'; put 'put ''cmcubm8iLCJyYXVtYS5ubyIsInJlbmRhbGVuLm5vIiwicmVubmVidS5ubyIsInJlbm5lc295Lm5vIiwicmVubmVzXHhmOHkubm8iLCJyaW5kYWwubm8iLCJyaW5nZWJ1Lm5vIiwicmluZ2VyaWtlLm5vIiwicmluZ3Nha2VyLm5vIiwicmlzc2Eubm8iLCJyaXNvci5ubyIsInJpc1x4ZjhyLm5v''@;'; put 'put ''Iiwicm9hbi5ubyIsInJvbGxhZy5ubyIsInJ5Z2dlLm5vIiwicmFsaW5nZW4ubm8iLCJyXHhlNmxpbmdlbi5ubyIsInJvZG95Lm5vIiwiclx4ZjhkXHhmOHkubm8iLCJyb21za29nLm5vIiwiclx4Zjhtc2tvZy5ubyIsInJvcm9zLm5vIiwiclx4Zjhyb3Mubm8iLCJyb3N0Lm5vIiwiclx4Zjhz''@;'; put 'put ''dC5ubyIsInJveWtlbi5ubyIsInJceGY4eWtlbi5ubyIsInJveXJ2aWsubm8iLCJyXHhmOHlydmlrLm5vIiwicmFkZS5ubyIsInJceGU1ZGUubm8iLCJzYWxhbmdlbi5ubyIsInNpZWxsYWsubm8iLCJzYWx0ZGFsLm5vIiwic2FsYXQubm8iLCJzXHhlMWxceGUxdC5ubyIsInNceGUxbGF0Lm5v''@;'; put 'put ''Iiwic2FtbmFuZ2VyLm5vIiwic2FuZGUubW9yZS1vZy1yb21zZGFsLm5vIiwic2FuZGUubVx4ZjhyZS1vZy1yb21zZGFsLm5vIiwic2FuZGUudmVzdGZvbGQubm8iLCJzYW5kZWZqb3JkLm5vIiwic2FuZG5lcy5ubyIsInNhbmRveS5ubyIsInNhbmRceGY4eS5ubyIsInNhcnBzYm9yZy5ubyIs''@;'; put 'put ''InNhdWRhLm5vIiwic2F1aGVyYWQubm8iLCJzZWwubm8iLCJzZWxidS5ubyIsInNlbGplLm5vIiwic2Vsam9yZC5ubyIsInNpZ2RhbC5ubyIsInNpbGphbi5ubyIsInNpcmRhbC5ubyIsInNrYXVuLm5vIiwic2tlZHNtby5ubyIsInNraS5ubyIsInNraWVuLm5vIiwic2tpcHR2ZXQubm8iLCJz''@;'; put 'put ''a2plcnZveS5ubyIsInNramVydlx4Zjh5Lm5vIiwic2tpZXJ2YS5ubyIsInNraWVydlx4ZTEubm8iLCJza2phay5ubyIsInNralx4ZTVrLm5vIiwic2tvZGplLm5vIiwic2thbmxhbmQubm8iLCJza1x4ZTVubGFuZC5ubyIsInNrYW5pdC5ubyIsInNrXHhlMW5pdC5ubyIsInNtb2xhLm5vIiwi''@;'; put 'put ''c21ceGY4bGEubm8iLCJzbmlsbGZqb3JkLm5vIiwic25hc2Eubm8iLCJzblx4ZTVzYS5ubyIsInNub2FzYS5ubyIsInNuYWFzZS5ubyIsInNuXHhlNWFzZS5ubyIsInNvZ25kYWwubm8iLCJzb2tuZGFsLm5vIiwic29sYS5ubyIsInNvbHVuZC5ubyIsInNvbmdkYWxlbi5ubyIsInNvcnRsYW5k''@;'; put 'put ''Lm5vIiwic3B5ZGViZXJnLm5vIiwic3RhbmdlLm5vIiwic3RhdmFuZ2VyLm5vIiwic3RlaWdlbi5ubyIsInN0ZWlua2plci5ubyIsInN0am9yZGFsLm5vIiwic3RqXHhmOHJkYWwubm8iLCJzdG9ra2Uubm8iLCJzdG9yLWVsdmRhbC5ubyIsInN0b3JkLm5vIiwic3RvcmRhbC5ubyIsInN0b3Jm''@;'; put 'put ''am9yZC5ubyIsIm9tYXN2dW90bmEubm8iLCJzdHJhbmQubm8iLCJzdHJhbmRhLm5vIiwic3RyeW4ubm8iLCJzdWxhLm5vIiwic3VsZGFsLm5vIiwic3VuZC5ubyIsInN1bm5kYWwubm8iLCJzdXJuYWRhbC5ubyIsInN2ZWlvLm5vIiwic3ZlbHZpay5ubyIsInN5a2t5bHZlbi5ubyIsInNvZ25l''@;'; put 'put ''Lm5vIiwic1x4ZjhnbmUubm8iLCJzb21uYS5ubyIsInNceGY4bW5hLm5vIiwic29uZHJlLWxhbmQubm8iLCJzXHhmOG5kcmUtbGFuZC5ubyIsInNvci1hdXJkYWwubm8iLCJzXHhmOHItYXVyZGFsLm5vIiwic29yLWZyb24ubm8iLCJzXHhmOHItZnJvbi5ubyIsInNvci1vZGFsLm5vIiwic1x4''@;'; put 'put ''ZjhyLW9kYWwubm8iLCJzb3ItdmFyYW5nZXIubm8iLCJzXHhmOHItdmFyYW5nZXIubm8iLCJtYXR0YS12YXJqamF0Lm5vIiwibVx4ZTF0dGEtdlx4ZTFyamphdC5ubyIsInNvcmZvbGQubm8iLCJzXHhmOHJmb2xkLm5vIiwic29ycmVpc2Eubm8iLCJzXHhmOHJyZWlzYS5ubyIsInNvcnVtLm5v''@;'; put 'put ''Iiwic1x4ZjhydW0ubm8iLCJ0YW5hLm5vIiwiZGVhdG51Lm5vIiwidGltZS5ubyIsInRpbmd2b2xsLm5vIiwidGlubi5ubyIsInRqZWxkc3VuZC5ubyIsImRpZWxkZGFudW9ycmkubm8iLCJ0am9tZS5ubyIsInRqXHhmOG1lLm5vIiwidG9ra2Uubm8iLCJ0b2xnYS5ubyIsInRvcnNrZW4ubm8i''@;'; put 'put ''LCJ0cmFub3kubm8iLCJ0cmFuXHhmOHkubm8iLCJ0cm9tc28ubm8iLCJ0cm9tc1x4Zjgubm8iLCJ0cm9tc2Eubm8iLCJyb21zYS5ubyIsInRyb25kaGVpbS5ubyIsInRyb2FuZGluLm5vIiwidHJ5c2lsLm5vIiwidHJhbmEubm8iLCJ0clx4ZTZuYS5ubyIsInRyb2dzdGFkLm5vIiwidHJceGY4''@;'; put 'put ''Z3N0YWQubm8iLCJ0dmVkZXN0cmFuZC5ubyIsInR5ZGFsLm5vIiwidHluc2V0Lm5vIiwidHlzZmpvcmQubm8iLCJkaXZ0YXN2dW9kbmEubm8iLCJkaXZ0dGFzdnVvdG5hLm5vIiwidHlzbmVzLm5vIiwidHlzdmFyLm5vIiwidHlzdlx4ZTZyLm5vIiwidG9uc2Jlcmcubm8iLCJ0XHhmOG5zYmVy''@;'; put 'put ''Zy5ubyIsInVsbGVuc2FrZXIubm8iLCJ1bGxlbnN2YW5nLm5vIiwidWx2aWsubm8iLCJ1dHNpcmEubm8iLCJ2YWRzby5ubyIsInZhZHNceGY4Lm5vIiwiY2FoY2VzdW9sby5ubyIsIlx1MDEwZFx4ZTFoY2VzdW9sby5ubyIsInZha3NkYWwubm8iLCJ2YWxsZS5ubyIsInZhbmcubm8iLCJ2YW55''@;'; put 'put ''bHZlbi5ubyIsInZhcmRvLm5vIiwidmFyZFx4Zjgubm8iLCJ2YXJnZ2F0Lm5vIiwidlx4ZTFyZ2dceGUxdC5ubyIsInZlZnNuLm5vIiwidmFhcHN0ZS5ubyIsInZlZ2Eubm8iLCJ2ZWdhcnNoZWkubm8iLCJ2ZWdceGU1cnNoZWkubm8iLCJ2ZW5uZXNsYS5ubyIsInZlcmRhbC5ubyIsInZlcnJh''@;'; put 'put ''bi5ubyIsInZlc3RieS5ubyIsInZlc3RuZXMubm8iLCJ2ZXN0cmUtc2xpZHJlLm5vIiwidmVzdHJlLXRvdGVuLm5vIiwidmVzdHZhZ295Lm5vIiwidmVzdHZceGU1Z1x4Zjh5Lm5vIiwidmV2ZWxzdGFkLm5vIiwidmlrLm5vIiwidmlrbmEubm8iLCJ2aW5kYWZqb3JkLm5vIiwidm9sZGEubm8i''@;'; put 'put ''LCJ2b3NzLm5vIiwidmFyb3kubm8iLCJ2XHhlNnJceGY4eS5ubyIsInZhZ2FuLm5vIiwidlx4ZTVnYW4ubm8iLCJ2b2FnYXQubm8iLCJ2YWdzb3kubm8iLCJ2XHhlNWdzXHhmOHkubm8iLCJ2YWdhLm5vIiwidlx4ZTVnXHhlNS5ubyIsInZhbGVyLm9zdGZvbGQubm8iLCJ2XHhlNWxlci5ceGY4''@;'; put 'put ''c3Rmb2xkLm5vIiwidmFsZXIuaGVkbWFyay5ubyIsInZceGU1bGVyLmhlZG1hcmsubm8iLCIqLm5wIiwibnIiLCJiaXoubnIiLCJpbmZvLm5yIiwiZ292Lm5yIiwiZWR1Lm5yIiwib3JnLm5yIiwibmV0Lm5yIiwiY29tLm5yIiwibnUiLCJueiIsImFjLm56IiwiY28ubnoiLCJjcmkubnoiLCJn''@;'; put 'put ''ZWVrLm56IiwiZ2VuLm56IiwiZ292dC5ueiIsImhlYWx0aC5ueiIsIml3aS5ueiIsImtpd2kubnoiLCJtYW9yaS5ueiIsIm1pbC5ueiIsIm1cdTAxMDFvcmkubnoiLCJuZXQubnoiLCJvcmcubnoiLCJwYXJsaWFtZW50Lm56Iiwic2Nob29sLm56Iiwib20iLCJjby5vbSIsImNvbS5vbSIsImVk''@;'; put 'put ''dS5vbSIsImdvdi5vbSIsIm1lZC5vbSIsIm11c2V1bS5vbSIsIm5ldC5vbSIsIm9yZy5vbSIsInByby5vbSIsIm9uaW9uIiwib3JnIiwicGEiLCJhYy5wYSIsImdvYi5wYSIsImNvbS5wYSIsIm9yZy5wYSIsInNsZC5wYSIsImVkdS5wYSIsIm5ldC5wYSIsImluZy5wYSIsImFiby5wYSIsIm1l''@;'; put 'put ''ZC5wYSIsIm5vbS5wYSIsInBlIiwiZWR1LnBlIiwiZ29iLnBlIiwibm9tLnBlIiwibWlsLnBlIiwib3JnLnBlIiwiY29tLnBlIiwibmV0LnBlIiwicGYiLCJjb20ucGYiLCJvcmcucGYiLCJlZHUucGYiLCIqLnBnIiwicGgiLCJjb20ucGgiLCJuZXQucGgiLCJvcmcucGgiLCJnb3YucGgiLCJl''@;'; put 'put ''ZHUucGgiLCJuZ28ucGgiLCJtaWwucGgiLCJpLnBoIiwicGsiLCJjb20ucGsiLCJuZXQucGsiLCJlZHUucGsiLCJvcmcucGsiLCJmYW0ucGsiLCJiaXoucGsiLCJ3ZWIucGsiLCJnb3YucGsiLCJnb2IucGsiLCJnb2sucGsiLCJnb24ucGsiLCJnb3AucGsiLCJnb3MucGsiLCJpbmZvLnBrIiwi''@;'; put 'put ''cGwiLCJjb20ucGwiLCJuZXQucGwiLCJvcmcucGwiLCJhaWQucGwiLCJhZ3JvLnBsIiwiYXRtLnBsIiwiYXV0by5wbCIsImJpei5wbCIsImVkdS5wbCIsImdtaW5hLnBsIiwiZ3NtLnBsIiwiaW5mby5wbCIsIm1haWwucGwiLCJtaWFzdGEucGwiLCJtZWRpYS5wbCIsIm1pbC5wbCIsIm5pZXJ1''@;'; put 'put ''Y2hvbW9zY2kucGwiLCJub20ucGwiLCJwYy5wbCIsInBvd2lhdC5wbCIsInByaXYucGwiLCJyZWFsZXN0YXRlLnBsIiwicmVsLnBsIiwic2V4LnBsIiwic2hvcC5wbCIsInNrbGVwLnBsIiwic29zLnBsIiwic3prb2xhLnBsIiwidGFyZ2kucGwiLCJ0bS5wbCIsInRvdXJpc20ucGwiLCJ0cmF2''@;'; put 'put ''ZWwucGwiLCJ0dXJ5c3R5a2EucGwiLCJnb3YucGwiLCJhcC5nb3YucGwiLCJpYy5nb3YucGwiLCJpcy5nb3YucGwiLCJ1cy5nb3YucGwiLCJrbXBzcC5nb3YucGwiLCJrcHBzcC5nb3YucGwiLCJrd3BzcC5nb3YucGwiLCJwc3AuZ292LnBsIiwid3Nrci5nb3YucGwiLCJrd3AuZ292LnBsIiwi''@;'; put 'put ''bXcuZ292LnBsIiwidWcuZ292LnBsIiwidW0uZ292LnBsIiwidW1pZy5nb3YucGwiLCJ1Z2ltLmdvdi5wbCIsInVwb3cuZ292LnBsIiwidXcuZ292LnBsIiwic3Rhcm9zdHdvLmdvdi5wbCIsInBhLmdvdi5wbCIsInBvLmdvdi5wbCIsInBzc2UuZ292LnBsIiwicHVwLmdvdi5wbCIsInJ6Z3cu''@;'; put 'put ''Z292LnBsIiwic2EuZ292LnBsIiwic28uZ292LnBsIiwic3IuZ292LnBsIiwid3NhLmdvdi5wbCIsInNrby5nb3YucGwiLCJ1enMuZ292LnBsIiwid2lpaC5nb3YucGwiLCJ3aW5iLmdvdi5wbCIsInBpbmIuZ292LnBsIiwid2lvcy5nb3YucGwiLCJ3aXRkLmdvdi5wbCIsInd6bWl1dy5nb3Yu''@;'; put 'put ''cGwiLCJwaXcuZ292LnBsIiwid2l3Lmdvdi5wbCIsImdyaXcuZ292LnBsIiwid2lmLmdvdi5wbCIsIm91bS5nb3YucGwiLCJzZG4uZ292LnBsIiwienAuZ292LnBsIiwidXBwby5nb3YucGwiLCJtdXAuZ292LnBsIiwid3Vvei5nb3YucGwiLCJrb25zdWxhdC5nb3YucGwiLCJvaXJtLmdvdi5w''@;'; put 'put ''bCIsImF1Z3VzdG93LnBsIiwiYmFiaWEtZ29yYS5wbCIsImJlZHppbi5wbCIsImJlc2tpZHkucGwiLCJiaWFsb3dpZXphLnBsIiwiYmlhbHlzdG9rLnBsIiwiYmllbGF3YS5wbCIsImJpZXN6Y3phZHkucGwiLCJib2xlc2xhd2llYy5wbCIsImJ5ZGdvc3pjei5wbCIsImJ5dG9tLnBsIiwiY2ll''@;'; put 'put ''c3p5bi5wbCIsImN6ZWxhZHoucGwiLCJjemVzdC5wbCIsImRsdWdvbGVrYS5wbCIsImVsYmxhZy5wbCIsImVsay5wbCIsImdsb2dvdy5wbCIsImduaWV6bm8ucGwiLCJnb3JsaWNlLnBsIiwiZ3JhamV3by5wbCIsImlsYXdhLnBsIiwiamF3b3J6bm8ucGwiLCJqZWxlbmlhLWdvcmEucGwiLCJq''@;'; put 'put ''Z29yYS5wbCIsImthbGlzei5wbCIsImthemltaWVyei1kb2xueS5wbCIsImthcnBhY3oucGwiLCJrYXJ0dXp5LnBsIiwia2FzenVieS5wbCIsImthdG93aWNlLnBsIiwia2Vwbm8ucGwiLCJrZXRyenluLnBsIiwia2xvZHprby5wbCIsImtvYmllcnp5Y2UucGwiLCJrb2xvYnJ6ZWcucGwiLCJr''@;'; put 'put ''b25pbi5wbCIsImtvbnNrb3dvbGEucGwiLCJrdXRuby5wbCIsImxhcHkucGwiLCJsZWJvcmsucGwiLCJsZWduaWNhLnBsIiwibGV6YWpzay5wbCIsImxpbWFub3dhLnBsIiwibG9temEucGwiLCJsb3dpY3oucGwiLCJsdWJpbi5wbCIsImx1a293LnBsIiwibWFsYm9yay5wbCIsIm1hbG9wb2xz''@;'; put 'put ''a2EucGwiLCJtYXpvd3N6ZS5wbCIsIm1henVyeS5wbCIsIm1pZWxlYy5wbCIsIm1pZWxuby5wbCIsIm1yYWdvd28ucGwiLCJuYWtsby5wbCIsIm5vd2FydWRhLnBsIiwibnlzYS5wbCIsIm9sYXdhLnBsIiwib2xlY2tvLnBsIiwib2xrdXN6LnBsIiwib2xzenR5bi5wbCIsIm9wb2N6bm8ucGwi''@;'; put 'put ''LCJvcG9sZS5wbCIsIm9zdHJvZGEucGwiLCJvc3Ryb2xla2EucGwiLCJvc3Ryb3dpZWMucGwiLCJvc3Ryb3d3bGtwLnBsIiwicGlsYS5wbCIsInBpc3oucGwiLCJwb2RoYWxlLnBsIiwicG9kbGFzaWUucGwiLCJwb2xrb3dpY2UucGwiLCJwb21vcnplLnBsIiwicG9tb3Jza2llLnBsIiwicHJv''@;'; put 'put ''Y2hvd2ljZS5wbCIsInBydXN6a293LnBsIiwicHJ6ZXdvcnNrLnBsIiwicHVsYXd5LnBsIiwicmFkb20ucGwiLCJyYXdhLW1hei5wbCIsInJ5Ym5pay5wbCIsInJ6ZXN6b3cucGwiLCJzYW5vay5wbCIsInNlam55LnBsIiwic2xhc2sucGwiLCJzbHVwc2sucGwiLCJzb3Nub3dpZWMucGwiLCJz''@;'; put 'put ''dGFsb3dhLXdvbGEucGwiLCJza29jem93LnBsIiwic3RhcmFjaG93aWNlLnBsIiwic3RhcmdhcmQucGwiLCJzdXdhbGtpLnBsIiwic3dpZG5pY2EucGwiLCJzd2llYm9kemluLnBsIiwic3dpbm91anNjaWUucGwiLCJzemN6ZWNpbi5wbCIsInN6Y3p5dG5vLnBsIiwidGFybm9icnplZy5wbCIs''@;'; put 'put ''InRnb3J5LnBsIiwidHVyZWsucGwiLCJ0eWNoeS5wbCIsInVzdGthLnBsIiwid2FsYnJ6eWNoLnBsIiwid2FybWlhLnBsIiwid2Fyc3phd2EucGwiLCJ3YXcucGwiLCJ3ZWdyb3cucGwiLCJ3aWVsdW4ucGwiLCJ3bG9jbC5wbCIsIndsb2NsYXdlay5wbCIsIndvZHppc2xhdy5wbCIsIndvbG9t''@;'; put 'put ''aW4ucGwiLCJ3cm9jbGF3LnBsIiwiemFjaHBvbW9yLnBsIiwiemFnYW4ucGwiLCJ6YXJvdy5wbCIsInpnb3JhLnBsIiwiemdvcnplbGVjLnBsIiwicG0iLCJwbiIsImdvdi5wbiIsImNvLnBuIiwib3JnLnBuIiwiZWR1LnBuIiwibmV0LnBuIiwicG9zdCIsInByIiwiY29tLnByIiwibmV0LnBy''@;'; put 'put ''Iiwib3JnLnByIiwiZ292LnByIiwiZWR1LnByIiwiaXNsYS5wciIsInByby5wciIsImJpei5wciIsImluZm8ucHIiLCJuYW1lLnByIiwiZXN0LnByIiwicHJvZi5wciIsImFjLnByIiwicHJvIiwiYWFhLnBybyIsImFjYS5wcm8iLCJhY2N0LnBybyIsImF2b2NhdC5wcm8iLCJiYXIucHJvIiwi''@;'; put 'put ''Y3BhLnBybyIsImVuZy5wcm8iLCJqdXIucHJvIiwibGF3LnBybyIsIm1lZC5wcm8iLCJyZWNodC5wcm8iLCJwcyIsImVkdS5wcyIsImdvdi5wcyIsInNlYy5wcyIsInBsby5wcyIsImNvbS5wcyIsIm9yZy5wcyIsIm5ldC5wcyIsInB0IiwibmV0LnB0IiwiZ292LnB0Iiwib3JnLnB0IiwiZWR1''@;'; put 'put ''LnB0IiwiaW50LnB0IiwicHVibC5wdCIsImNvbS5wdCIsIm5vbWUucHQiLCJwdyIsImNvLnB3IiwibmUucHciLCJvci5wdyIsImVkLnB3IiwiZ28ucHciLCJiZWxhdS5wdyIsInB5IiwiY29tLnB5IiwiY29vcC5weSIsImVkdS5weSIsImdvdi5weSIsIm1pbC5weSIsIm5ldC5weSIsIm9yZy5w''@;'; put 'put ''eSIsInFhIiwiY29tLnFhIiwiZWR1LnFhIiwiZ292LnFhIiwibWlsLnFhIiwibmFtZS5xYSIsIm5ldC5xYSIsIm9yZy5xYSIsInNjaC5xYSIsInJlIiwiYXNzby5yZSIsImNvbS5yZSIsIm5vbS5yZSIsInJvIiwiYXJ0cy5ybyIsImNvbS5ybyIsImZpcm0ucm8iLCJpbmZvLnJvIiwibm9tLnJv''@;'; put 'put ''IiwibnQucm8iLCJvcmcucm8iLCJyZWMucm8iLCJzdG9yZS5ybyIsInRtLnJvIiwid3d3LnJvIiwicnMiLCJhYy5ycyIsImNvLnJzIiwiZWR1LnJzIiwiZ292LnJzIiwiaW4ucnMiLCJvcmcucnMiLCJydSIsInJ3IiwiYWMucnciLCJjby5ydyIsImNvb3AucnciLCJnb3YucnciLCJtaWwucnci''@;'; put 'put ''LCJuZXQucnciLCJvcmcucnciLCJzYSIsImNvbS5zYSIsIm5ldC5zYSIsIm9yZy5zYSIsImdvdi5zYSIsIm1lZC5zYSIsInB1Yi5zYSIsImVkdS5zYSIsInNjaC5zYSIsInNiIiwiY29tLnNiIiwiZWR1LnNiIiwiZ292LnNiIiwibmV0LnNiIiwib3JnLnNiIiwic2MiLCJjb20uc2MiLCJnb3Yu''@;'; put 'put ''c2MiLCJuZXQuc2MiLCJvcmcuc2MiLCJlZHUuc2MiLCJzZCIsImNvbS5zZCIsIm5ldC5zZCIsIm9yZy5zZCIsImVkdS5zZCIsIm1lZC5zZCIsInR2LnNkIiwiZ292LnNkIiwiaW5mby5zZCIsInNlIiwiYS5zZSIsImFjLnNlIiwiYi5zZSIsImJkLnNlIiwiYnJhbmQuc2UiLCJjLnNlIiwiZC5z''@;'; put 'put ''ZSIsImUuc2UiLCJmLnNlIiwiZmguc2UiLCJmaHNrLnNlIiwiZmh2LnNlIiwiZy5zZSIsImguc2UiLCJpLnNlIiwiay5zZSIsImtvbWZvcmIuc2UiLCJrb21tdW5hbGZvcmJ1bmQuc2UiLCJrb212dXguc2UiLCJsLnNlIiwibGFuYmliLnNlIiwibS5zZSIsIm4uc2UiLCJuYXR1cmJydWtzZ3lt''@;'; put 'put ''bi5zZSIsIm8uc2UiLCJvcmcuc2UiLCJwLnNlIiwicGFydGkuc2UiLCJwcC5zZSIsInByZXNzLnNlIiwici5zZSIsInMuc2UiLCJ0LnNlIiwidG0uc2UiLCJ1LnNlIiwidy5zZSIsInguc2UiLCJ5LnNlIiwiei5zZSIsInNnIiwiY29tLnNnIiwibmV0LnNnIiwib3JnLnNnIiwiZ292LnNnIiwi''@;'; put 'put ''ZWR1LnNnIiwicGVyLnNnIiwic2giLCJjb20uc2giLCJuZXQuc2giLCJnb3Yuc2giLCJvcmcuc2giLCJtaWwuc2giLCJzaSIsInNqIiwic2siLCJzbCIsImNvbS5zbCIsIm5ldC5zbCIsImVkdS5zbCIsImdvdi5zbCIsIm9yZy5zbCIsInNtIiwic24iLCJhcnQuc24iLCJjb20uc24iLCJlZHUu''@;'; put 'put ''c24iLCJnb3V2LnNuIiwib3JnLnNuIiwicGVyc28uc24iLCJ1bml2LnNuIiwic28iLCJjb20uc28iLCJlZHUuc28iLCJnb3Yuc28iLCJtZS5zbyIsIm5ldC5zbyIsIm9yZy5zbyIsInNyIiwic3MiLCJiaXouc3MiLCJjb20uc3MiLCJlZHUuc3MiLCJnb3Yuc3MiLCJuZXQuc3MiLCJvcmcuc3Mi''@;'; put 'put ''LCJzdCIsImNvLnN0IiwiY29tLnN0IiwiY29uc3VsYWRvLnN0IiwiZWR1LnN0IiwiZW1iYWl4YWRhLnN0IiwiZ292LnN0IiwibWlsLnN0IiwibmV0LnN0Iiwib3JnLnN0IiwicHJpbmNpcGUuc3QiLCJzYW90b21lLnN0Iiwic3RvcmUuc3QiLCJzdSIsInN2IiwiY29tLnN2IiwiZWR1LnN2Iiwi''@;'; put 'put ''Z29iLnN2Iiwib3JnLnN2IiwicmVkLnN2Iiwic3giLCJnb3Yuc3giLCJzeSIsImVkdS5zeSIsImdvdi5zeSIsIm5ldC5zeSIsIm1pbC5zeSIsImNvbS5zeSIsIm9yZy5zeSIsInN6IiwiY28uc3oiLCJhYy5zeiIsIm9yZy5zeiIsInRjIiwidGQiLCJ0ZWwiLCJ0ZiIsInRnIiwidGgiLCJhYy50''@;'; put 'put ''aCIsImNvLnRoIiwiZ28udGgiLCJpbi50aCIsIm1pLnRoIiwibmV0LnRoIiwib3IudGgiLCJ0aiIsImFjLnRqIiwiYml6LnRqIiwiY28udGoiLCJjb20udGoiLCJlZHUudGoiLCJnby50aiIsImdvdi50aiIsImludC50aiIsIm1pbC50aiIsIm5hbWUudGoiLCJuZXQudGoiLCJuaWMudGoiLCJv''@;'; put 'put ''cmcudGoiLCJ0ZXN0LnRqIiwid2ViLnRqIiwidGsiLCJ0bCIsImdvdi50bCIsInRtIiwiY29tLnRtIiwiY28udG0iLCJvcmcudG0iLCJuZXQudG0iLCJub20udG0iLCJnb3YudG0iLCJtaWwudG0iLCJlZHUudG0iLCJ0biIsImNvbS50biIsImVucy50biIsImZpbi50biIsImdvdi50biIsImlu''@;'; put 'put ''ZC50biIsImludGwudG4iLCJuYXQudG4iLCJuZXQudG4iLCJvcmcudG4iLCJpbmZvLnRuIiwicGVyc28udG4iLCJ0b3VyaXNtLnRuIiwiZWR1bmV0LnRuIiwicm5ydC50biIsInJucy50biIsInJudS50biIsIm1pbmNvbS50biIsImFncmluZXQudG4iLCJkZWZlbnNlLnRuIiwidHVyZW4udG4i''@;'; put 'put ''LCJ0byIsImNvbS50byIsImdvdi50byIsIm5ldC50byIsIm9yZy50byIsImVkdS50byIsIm1pbC50byIsInRyIiwiYXYudHIiLCJiYnMudHIiLCJiZWwudHIiLCJiaXoudHIiLCJjb20udHIiLCJkci50ciIsImVkdS50ciIsImdlbi50ciIsImdvdi50ciIsImluZm8udHIiLCJtaWwudHIiLCJr''@;'; put 'put ''MTIudHIiLCJrZXAudHIiLCJuYW1lLnRyIiwibmV0LnRyIiwib3JnLnRyIiwicG9sLnRyIiwidGVsLnRyIiwidHNrLnRyIiwidHYudHIiLCJ3ZWIudHIiLCJuYy50ciIsImdvdi5uYy50ciIsInR0IiwiY28udHQiLCJjb20udHQiLCJvcmcudHQiLCJuZXQudHQiLCJiaXoudHQiLCJpbmZvLnR0''@;'; put 'put ''IiwicHJvLnR0IiwiaW50LnR0IiwiY29vcC50dCIsImpvYnMudHQiLCJtb2JpLnR0IiwidHJhdmVsLnR0IiwibXVzZXVtLnR0IiwiYWVyby50dCIsIm5hbWUudHQiLCJnb3YudHQiLCJlZHUudHQiLCJ0diIsInR3IiwiZWR1LnR3IiwiZ292LnR3IiwibWlsLnR3IiwiY29tLnR3IiwibmV0LnR3''@;'; put 'put ''Iiwib3JnLnR3IiwiaWR2LnR3IiwiZ2FtZS50dyIsImViaXoudHciLCJjbHViLnR3IiwiXHU3ZGIyXHU4ZGVmLnR3IiwiXHU3ZDQ0XHU3ZTU0LnR3IiwiXHU1NTQ2XHU2OTZkLnR3IiwidHoiLCJhYy50eiIsImNvLnR6IiwiZ28udHoiLCJob3RlbC50eiIsImluZm8udHoiLCJtZS50eiIsIm1p''@;'; put 'put ''bC50eiIsIm1vYmkudHoiLCJuZS50eiIsIm9yLnR6Iiwic2MudHoiLCJ0di50eiIsInVhIiwiY29tLnVhIiwiZWR1LnVhIiwiZ292LnVhIiwiaW4udWEiLCJuZXQudWEiLCJvcmcudWEiLCJjaGVya2Fzc3kudWEiLCJjaGVya2FzeS51YSIsImNoZXJuaWdvdi51YSIsImNoZXJuaWhpdi51YSIs''@;'; put 'put ''ImNoZXJuaXZ0c2kudWEiLCJjaGVybm92dHN5LnVhIiwiY2sudWEiLCJjbi51YSIsImNyLnVhIiwiY3JpbWVhLnVhIiwiY3YudWEiLCJkbi51YSIsImRuZXByb3BldHJvdnNrLnVhIiwiZG5pcHJvcGV0cm92c2sudWEiLCJkb21pbmljLnVhIiwiZG9uZXRzay51YSIsImRwLnVhIiwiaWYudWEi''@;'; put 'put ''LCJpdmFuby1mcmFua2l2c2sudWEiLCJraC51YSIsImtoYXJraXYudWEiLCJraGFya292LnVhIiwia2hlcnNvbi51YSIsImtobWVsbml0c2tpeS51YSIsImtobWVsbnl0c2t5aS51YSIsImtpZXYudWEiLCJraXJvdm9ncmFkLnVhIiwia20udWEiLCJrci51YSIsImtyeW0udWEiLCJrcy51YSIs''@;'; put 'put ''Imt2LnVhIiwia3lpdi51YSIsImxnLnVhIiwibHQudWEiLCJsdWdhbnNrLnVhIiwibHV0c2sudWEiLCJsdi51YSIsImx2aXYudWEiLCJtay51YSIsIm15a29sYWl2LnVhIiwibmlrb2xhZXYudWEiLCJvZC51YSIsIm9kZXNhLnVhIiwib2Rlc3NhLnVhIiwicGwudWEiLCJwb2x0YXZhLnVhIiwi''@;'; put 'put ''cml2bmUudWEiLCJyb3Zuby51YSIsInJ2LnVhIiwic2IudWEiLCJzZWJhc3RvcG9sLnVhIiwic2V2YXN0b3BvbC51YSIsInNtLnVhIiwic3VteS51YSIsInRlLnVhIiwidGVybm9waWwudWEiLCJ1ei51YSIsInV6aGdvcm9kLnVhIiwidmlubmljYS51YSIsInZpbm55dHNpYS51YSIsInZuLnVh''@;'; put 'put ''Iiwidm9seW4udWEiLCJ5YWx0YS51YSIsInphcG9yaXpoemhlLnVhIiwiemFwb3Jpemh6aGlhLnVhIiwiemhpdG9taXIudWEiLCJ6aHl0b215ci51YSIsInpwLnVhIiwienQudWEiLCJ1ZyIsImNvLnVnIiwib3IudWciLCJhYy51ZyIsInNjLnVnIiwiZ28udWciLCJuZS51ZyIsImNvbS51ZyIs''@;'; put 'put ''Im9yZy51ZyIsInVrIiwiYWMudWsiLCJjby51ayIsImdvdi51ayIsImx0ZC51ayIsIm1lLnVrIiwibmV0LnVrIiwibmhzLnVrIiwib3JnLnVrIiwicGxjLnVrIiwicG9saWNlLnVrIiwiKi5zY2gudWsiLCJ1cyIsImRuaS51cyIsImZlZC51cyIsImlzYS51cyIsImtpZHMudXMiLCJuc24udXMi''@;'; put 'put ''LCJhay51cyIsImFsLnVzIiwiYXIudXMiLCJhcy51cyIsImF6LnVzIiwiY2EudXMiLCJjby51cyIsImN0LnVzIiwiZGMudXMiLCJkZS51cyIsImZsLnVzIiwiZ2EudXMiLCJndS51cyIsImhpLnVzIiwiaWEudXMiLCJpZC51cyIsImlsLnVzIiwiaW4udXMiLCJrcy51cyIsImt5LnVzIiwibGEu''@;'; put 'put ''dXMiLCJtYS51cyIsIm1kLnVzIiwibWUudXMiLCJtaS51cyIsIm1uLnVzIiwibW8udXMiLCJtcy51cyIsIm10LnVzIiwibmMudXMiLCJuZC51cyIsIm5lLnVzIiwibmgudXMiLCJuai51cyIsIm5tLnVzIiwibnYudXMiLCJueS51cyIsIm9oLnVzIiwib2sudXMiLCJvci51cyIsInBhLnVzIiwi''@;'; put 'put ''cHIudXMiLCJyaS51cyIsInNjLnVzIiwic2QudXMiLCJ0bi51cyIsInR4LnVzIiwidXQudXMiLCJ2aS51cyIsInZ0LnVzIiwidmEudXMiLCJ3YS51cyIsIndpLnVzIiwid3YudXMiLCJ3eS51cyIsImsxMi5hay51cyIsImsxMi5hbC51cyIsImsxMi5hci51cyIsImsxMi5hcy51cyIsImsxMi5h''@;'; put 'put ''ei51cyIsImsxMi5jYS51cyIsImsxMi5jby51cyIsImsxMi5jdC51cyIsImsxMi5kYy51cyIsImsxMi5kZS51cyIsImsxMi5mbC51cyIsImsxMi5nYS51cyIsImsxMi5ndS51cyIsImsxMi5pYS51cyIsImsxMi5pZC51cyIsImsxMi5pbC51cyIsImsxMi5pbi51cyIsImsxMi5rcy51cyIsImsx''@;'; put 'put ''Mi5reS51cyIsImsxMi5sYS51cyIsImsxMi5tYS51cyIsImsxMi5tZC51cyIsImsxMi5tZS51cyIsImsxMi5taS51cyIsImsxMi5tbi51cyIsImsxMi5tby51cyIsImsxMi5tcy51cyIsImsxMi5tdC51cyIsImsxMi5uYy51cyIsImsxMi5uZS51cyIsImsxMi5uaC51cyIsImsxMi5uai51cyIs''@;'; put 'put ''ImsxMi5ubS51cyIsImsxMi5udi51cyIsImsxMi5ueS51cyIsImsxMi5vaC51cyIsImsxMi5vay51cyIsImsxMi5vci51cyIsImsxMi5wYS51cyIsImsxMi5wci51cyIsImsxMi5yaS51cyIsImsxMi5zYy51cyIsImsxMi50bi51cyIsImsxMi50eC51cyIsImsxMi51dC51cyIsImsxMi52aS51''@;'; put 'put ''cyIsImsxMi52dC51cyIsImsxMi52YS51cyIsImsxMi53YS51cyIsImsxMi53aS51cyIsImsxMi53eS51cyIsImNjLmFrLnVzIiwiY2MuYWwudXMiLCJjYy5hci51cyIsImNjLmFzLnVzIiwiY2MuYXoudXMiLCJjYy5jYS51cyIsImNjLmNvLnVzIiwiY2MuY3QudXMiLCJjYy5kYy51cyIsImNj''@;'; put 'put ''LmRlLnVzIiwiY2MuZmwudXMiLCJjYy5nYS51cyIsImNjLmd1LnVzIiwiY2MuaGkudXMiLCJjYy5pYS51cyIsImNjLmlkLnVzIiwiY2MuaWwudXMiLCJjYy5pbi51cyIsImNjLmtzLnVzIiwiY2Mua3kudXMiLCJjYy5sYS51cyIsImNjLm1hLnVzIiwiY2MubWQudXMiLCJjYy5tZS51cyIsImNj''@;'; put 'put ''Lm1pLnVzIiwiY2MubW4udXMiLCJjYy5tby51cyIsImNjLm1zLnVzIiwiY2MubXQudXMiLCJjYy5uYy51cyIsImNjLm5kLnVzIiwiY2MubmUudXMiLCJjYy5uaC51cyIsImNjLm5qLnVzIiwiY2Mubm0udXMiLCJjYy5udi51cyIsImNjLm55LnVzIiwiY2Mub2gudXMiLCJjYy5vay51cyIsImNj''@;'; put 'put ''Lm9yLnVzIiwiY2MucGEudXMiLCJjYy5wci51cyIsImNjLnJpLnVzIiwiY2Muc2MudXMiLCJjYy5zZC51cyIsImNjLnRuLnVzIiwiY2MudHgudXMiLCJjYy51dC51cyIsImNjLnZpLnVzIiwiY2MudnQudXMiLCJjYy52YS51cyIsImNjLndhLnVzIiwiY2Mud2kudXMiLCJjYy53di51cyIsImNj''@;'; put 'put ''Lnd5LnVzIiwibGliLmFrLnVzIiwibGliLmFsLnVzIiwibGliLmFyLnVzIiwibGliLmFzLnVzIiwibGliLmF6LnVzIiwibGliLmNhLnVzIiwibGliLmNvLnVzIiwibGliLmN0LnVzIiwibGliLmRjLnVzIiwibGliLmZsLnVzIiwibGliLmdhLnVzIiwibGliLmd1LnVzIiwibGliLmhpLnVzIiwi''@;'; put 'put ''bGliLmlhLnVzIiwibGliLmlkLnVzIiwibGliLmlsLnVzIiwibGliLmluLnVzIiwibGliLmtzLnVzIiwibGliLmt5LnVzIiwibGliLmxhLnVzIiwibGliLm1hLnVzIiwibGliLm1kLnVzIiwibGliLm1lLnVzIiwibGliLm1pLnVzIiwibGliLm1uLnVzIiwibGliLm1vLnVzIiwibGliLm1zLnVz''@;'; put 'put ''IiwibGliLm10LnVzIiwibGliLm5jLnVzIiwibGliLm5kLnVzIiwibGliLm5lLnVzIiwibGliLm5oLnVzIiwibGliLm5qLnVzIiwibGliLm5tLnVzIiwibGliLm52LnVzIiwibGliLm55LnVzIiwibGliLm9oLnVzIiwibGliLm9rLnVzIiwibGliLm9yLnVzIiwibGliLnBhLnVzIiwibGliLnBy''@;'; put 'put ''LnVzIiwibGliLnJpLnVzIiwibGliLnNjLnVzIiwibGliLnNkLnVzIiwibGliLnRuLnVzIiwibGliLnR4LnVzIiwibGliLnV0LnVzIiwibGliLnZpLnVzIiwibGliLnZ0LnVzIiwibGliLnZhLnVzIiwibGliLndhLnVzIiwibGliLndpLnVzIiwibGliLnd5LnVzIiwicHZ0LmsxMi5tYS51cyIs''@;'; put 'put ''ImNodHIuazEyLm1hLnVzIiwicGFyb2NoLmsxMi5tYS51cyIsImFubi1hcmJvci5taS51cyIsImNvZy5taS51cyIsImRzdC5taS51cyIsImVhdG9uLm1pLnVzIiwiZ2VuLm1pLnVzIiwibXVzLm1pLnVzIiwidGVjLm1pLnVzIiwid2FzaHRlbmF3Lm1pLnVzIiwidXkiLCJjb20udXkiLCJlZHUu''@;'; put 'put ''dXkiLCJndWIudXkiLCJtaWwudXkiLCJuZXQudXkiLCJvcmcudXkiLCJ1eiIsImNvLnV6IiwiY29tLnV6IiwibmV0LnV6Iiwib3JnLnV6IiwidmEiLCJ2YyIsImNvbS52YyIsIm5ldC52YyIsIm9yZy52YyIsImdvdi52YyIsIm1pbC52YyIsImVkdS52YyIsInZlIiwiYXJ0cy52ZSIsImNvLnZl''@;'; put 'put ''IiwiY29tLnZlIiwiZTEyLnZlIiwiZWR1LnZlIiwiZmlybS52ZSIsImdvYi52ZSIsImdvdi52ZSIsImluZm8udmUiLCJpbnQudmUiLCJtaWwudmUiLCJuZXQudmUiLCJvcmcudmUiLCJyZWMudmUiLCJzdG9yZS52ZSIsInRlYy52ZSIsIndlYi52ZSIsInZnIiwidmkiLCJjby52aSIsImNvbS52''@;'; put 'put ''aSIsImsxMi52aSIsIm5ldC52aSIsIm9yZy52aSIsInZuIiwiY29tLnZuIiwibmV0LnZuIiwib3JnLnZuIiwiZWR1LnZuIiwiZ292LnZuIiwiaW50LnZuIiwiYWMudm4iLCJiaXoudm4iLCJpbmZvLnZuIiwibmFtZS52biIsInByby52biIsImhlYWx0aC52biIsInZ1IiwiY29tLnZ1IiwiZWR1''@;'; put 'put ''LnZ1IiwibmV0LnZ1Iiwib3JnLnZ1Iiwid2YiLCJ3cyIsImNvbS53cyIsIm5ldC53cyIsIm9yZy53cyIsImdvdi53cyIsImVkdS53cyIsInl0IiwiXHUwNjI3XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjI3XHUwNjJhIiwiXHUwNTcwXHUwNTYxXHUwNTc1IiwiXHUwOWFjXHUwOWJlXHUwOTgyXHUw''@;'; put 'put ''OWIyXHUwOWJlIiwiXHUwNDMxXHUwNDMzIiwiXHUwNDMxXHUwNDM1XHUwNDNiIiwiXHU0ZTJkXHU1NmZkIiwiXHU0ZTJkXHU1NzBiIiwiXHUwNjI3XHUwNjQ0XHUwNjJjXHUwNjMyXHUwNjI3XHUwNjI2XHUwNjMxIiwiXHUwNjQ1XHUwNjM1XHUwNjMxIiwiXHUwNDM1XHUwNDRlIiwiXHUwM2I1''@;'; put 'put ''XHUwM2M1IiwiXHUwNjQ1XHUwNjQ4XHUwNjMxXHUwNjRhXHUwNjJhXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjI3IiwiXHUxMGQyXHUxMGQ0IiwiXHUwM2I1XHUwM2JiIiwiXHU5OTk5XHU2ZTJmIiwiXHU1MTZjXHU1M2Y4Llx1OTk5OVx1NmUyZiIsIlx1NjU1OVx1ODBiMi5cdTk5OTlcdTZlMmYi''@;'; put 'put ''LCJcdTY1M2ZcdTVlOWMuXHU5OTk5XHU2ZTJmIiwiXHU1MDBiXHU0ZWJhLlx1OTk5OVx1NmUyZiIsIlx1N2RiMlx1N2Q2MS5cdTk5OTlcdTZlMmYiLCJcdTdkNDRcdTdlNTQuXHU5OTk5XHU2ZTJmIiwiXHUwY2FkXHUwY2JlXHUwY2IwXHUwY2E0IiwiXHUwYjJkXHUwYjNlXHUwYjMwXHUwYjI0''@;'; put 'put ''IiwiXHUwOWFkXHUwOWJlXHUwOWYwXHUwOWE0IiwiXHUwOTJkXHUwOTNlXHUwOTMwXHUwOTI0XHUwOTJlXHUwOTRkIiwiXHUwOTJkXHUwOTNlXHUwOTMwXHUwOTRiXHUwOTI0IiwiXHUwNjgwXHUwNjI3XHUwNjMxXHUwNjJhIiwiXHUwZDJkXHUwZDNlXHUwZDMwXHUwZDI0XHUwZDAyIiwiXHUw''@;'; put 'put ''OTJkXHUwOTNlXHUwOTMwXHUwOTI0IiwiXHUwNjI4XHUwNjI3XHUwNjMxXHUwNjJhIiwiXHUwNjI4XHUwNmJlXHUwNjI3XHUwNjMxXHUwNjJhIiwiXHUwYzJkXHUwYzNlXHUwYzMwXHUwYzI0XHUwYzRkIiwiXHUwYWFkXHUwYWJlXHUwYWIwXHUwYWE0IiwiXHUwYTJkXHUwYTNlXHUwYTMwXHUw''@;'; put 'put ''YTI0IiwiXHUwOWFkXHUwOWJlXHUwOWIwXHUwOWE0IiwiXHUwYjg3XHUwYmE4XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmFmXHUwYmJlIiwiXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2IiwiXHUwNjI3XHUwNjRhXHUwNjMxXHUwNjI3XHUwNjQ2IiwiXHUwNjM5XHUwNjMxXHUwNjI3XHUw''@;'; put 'put ''NjQyIiwiXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjMxXHUwNjJmXHUwNjQ2IiwiXHVkNTVjXHVhZDZkIiwiXHUwNDliXHUwNDMwXHUwNDM3IiwiXHUwZGJkXHUwZDgyXHUwZDlhXHUwZGNmIiwiXHUwYjg3XHUwYmIyXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmM4IiwiXHUwNjI3XHUwNjQ0XHUwNjQ1''@;'; put 'put ''XHUwNjNhXHUwNjMxXHUwNjI4IiwiXHUwNDNjXHUwNDNhXHUwNDM0IiwiXHUwNDNjXHUwNDNlXHUwNDNkIiwiXHU2ZmIzXHU5NTgwIiwiXHU2ZmIzXHU5NWU4IiwiXHUwNjQ1XHUwNjQ0XHUwNjRhXHUwNjMzXHUwNjRhXHUwNjI3IiwiXHUwNjM5XHUwNjQ1XHUwNjI3XHUwNjQ2IiwiXHUwNjdl''@;'; put 'put ''XHUwNjI3XHUwNmE5XHUwNjMzXHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjdlXHUwNjI3XHUwNjQzXHUwNjMzXHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjQxXHUwNjQ0XHUwNjMzXHUwNjM3XHUwNjRhXHUwNjQ2IiwiXHUwNDQxXHUwNDQwXHUwNDMxIiwiXHUwNDNmXHUwNDQwLlx1MDQ0MVx1''@;'; put 'put ''MDQ0MFx1MDQzMSIsIlx1MDQzZVx1MDQ0MFx1MDQzMy5cdTA0NDFcdTA0NDBcdTA0MzEiLCJcdTA0M2VcdTA0MzFcdTA0NDAuXHUwNDQxXHUwNDQwXHUwNDMxIiwiXHUwNDNlXHUwNDM0Llx1MDQ0MVx1MDQ0MFx1MDQzMSIsIlx1MDQ0M1x1MDQzZlx1MDQ0MC5cdTA0NDFcdTA0NDBcdTA0MzEi''@;'; put 'put ''LCJcdTA0MzBcdTA0M2EuXHUwNDQxXHUwNDQwXHUwNDMxIiwiXHUwNDQwXHUwNDQ0IiwiXHUwNjQyXHUwNjM3XHUwNjMxIiwiXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjM5XHUwNjQ4XHUwNjJmXHUwNjRhXHUwNjI5IiwiXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjM5XHUwNjQ4XHUwNjJmXHUwNmNj''@;'; put 'put ''XHUwNjI5IiwiXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjM5XHUwNjQ4XHUwNjJmXHUwNmNjXHUwNmMzIiwiXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjM5XHUwNjQ4XHUwNjJmXHUwNjRhXHUwNjQ3IiwiXHUwNjMzXHUwNjQ4XHUwNjJmXHUwNjI3XHUwNjQ2IiwiXHU2NWIwXHU1MmEwXHU1NzYxIiwi''@;'; put 'put ''XHUwYjlhXHUwYmJmXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMyXHUwYmIwXHUwYmNkIiwiXHUwNjMzXHUwNjQ4XHUwNjMxXHUwNjRhXHUwNjI5IiwiXHUwNjMzXHUwNjQ4XHUwNjMxXHUwNjRhXHUwNjI3IiwiXHUwZTQ0XHUwZTE3XHUwZTIyIiwiXHUwZTI4XHUw''@;'; put 'put ''ZTM2XHUwZTAxXHUwZTI5XHUwZTMyLlx1MGU0NFx1MGUxN1x1MGUyMiIsIlx1MGUxOFx1MGUzOFx1MGUyM1x1MGUwMVx1MGUzNFx1MGUwOC5cdTBlNDRcdTBlMTdcdTBlMjIiLCJcdTBlMjNcdTBlMzFcdTBlMTBcdTBlMWFcdTBlMzJcdTBlMjUuXHUwZTQ0XHUwZTE3XHUwZTIyIiwiXHUwZTE3''@;'; put 'put ''XHUwZTJiXHUwZTMyXHUwZTIzLlx1MGU0NFx1MGUxN1x1MGUyMiIsIlx1MGU0MFx1MGUxOVx1MGU0N1x1MGUxNS5cdTBlNDRcdTBlMTdcdTBlMjIiLCJcdTBlMmRcdTBlMDdcdTBlMDRcdTBlNGNcdTBlMDFcdTBlMjMuXHUwZTQ0XHUwZTE3XHUwZTIyIiwiXHUwNjJhXHUwNjQ4XHUwNjQ2XHUw''@;'; put 'put ''NjMzIiwiXHU1M2YwXHU3MDYzIiwiXHU1M2YwXHU2ZTdlIiwiXHU4MWZhXHU3MDYzIiwiXHUwNDQzXHUwNDNhXHUwNDQwIiwiXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjQ2IiwieHh4IiwiKi55ZSIsImFjLnphIiwiYWdyaWMuemEiLCJhbHQuemEiLCJjby56YSIsImVkdS56YSIsImdv''@;'; put 'put ''di56YSIsImdyb25kYXIuemEiLCJsYXcuemEiLCJtaWwuemEiLCJuZXQuemEiLCJuZ28uemEiLCJuaWMuemEiLCJuaXMuemEiLCJub20uemEiLCJvcmcuemEiLCJzY2hvb2wuemEiLCJ0bS56YSIsIndlYi56YSIsInptIiwiYWMuem0iLCJiaXouem0iLCJjby56bSIsImNvbS56bSIsImVkdS56''@;'; put 'put ''bSIsImdvdi56bSIsImluZm8uem0iLCJtaWwuem0iLCJuZXQuem0iLCJvcmcuem0iLCJzY2guem0iLCJ6dyIsImFjLnp3IiwiY28uenciLCJnb3YuenciLCJtaWwuenciLCJvcmcuenciLCJhYWEiLCJhYXJwIiwiYWJhcnRoIiwiYWJiIiwiYWJib3R0IiwiYWJidmllIiwiYWJjIiwiYWJsZSIs''@;'; put 'put ''ImFib2dhZG8iLCJhYnVkaGFiaSIsImFjYWRlbXkiLCJhY2NlbnR1cmUiLCJhY2NvdW50YW50IiwiYWNjb3VudGFudHMiLCJhY28iLCJhY3RvciIsImFkYWMiLCJhZHMiLCJhZHVsdCIsImFlZyIsImFldG5hIiwiYWZhbWlseWNvbXBhbnkiLCJhZmwiLCJhZnJpY2EiLCJhZ2FraGFuIiwiYWdl''@;'; put 'put ''bmN5IiwiYWlnIiwiYWlnbyIsImFpcmJ1cyIsImFpcmZvcmNlIiwiYWlydGVsIiwiYWtkbiIsImFsZmFyb21lbyIsImFsaWJhYmEiLCJhbGlwYXkiLCJhbGxmaW5hbnoiLCJhbGxzdGF0ZSIsImFsbHkiLCJhbHNhY2UiLCJhbHN0b20iLCJhbWF6b24iLCJhbWVyaWNhbmV4cHJlc3MiLCJhbWVy''@;'; put 'put ''aWNhbmZhbWlseSIsImFtZXgiLCJhbWZhbSIsImFtaWNhIiwiYW1zdGVyZGFtIiwiYW5hbHl0aWNzIiwiYW5kcm9pZCIsImFucXVhbiIsImFueiIsImFvbCIsImFwYXJ0bWVudHMiLCJhcHAiLCJhcHBsZSIsImFxdWFyZWxsZSIsImFyYWIiLCJhcmFtY28iLCJhcmNoaSIsImFybXkiLCJhcnQi''@;'; put 'put ''LCJhcnRlIiwiYXNkYSIsImFzc29jaWF0ZXMiLCJhdGhsZXRhIiwiYXR0b3JuZXkiLCJhdWN0aW9uIiwiYXVkaSIsImF1ZGlibGUiLCJhdWRpbyIsImF1c3Bvc3QiLCJhdXRob3IiLCJhdXRvIiwiYXV0b3MiLCJhdmlhbmNhIiwiYXdzIiwiYXhhIiwiYXp1cmUiLCJiYWJ5IiwiYmFpZHUiLCJi''@;'; put 'put ''YW5hbWV4IiwiYmFuYW5hcmVwdWJsaWMiLCJiYW5kIiwiYmFuayIsImJhciIsImJhcmNlbG9uYSIsImJhcmNsYXljYXJkIiwiYmFyY2xheXMiLCJiYXJlZm9vdCIsImJhcmdhaW5zIiwiYmFzZWJhbGwiLCJiYXNrZXRiYWxsIiwiYmF1aGF1cyIsImJheWVybiIsImJiYyIsImJidCIsImJidmEi''@;'; put 'put ''LCJiY2ciLCJiY24iLCJiZWF0cyIsImJlYXV0eSIsImJlZXIiLCJiZW50bGV5IiwiYmVybGluIiwiYmVzdCIsImJlc3RidXkiLCJiZXQiLCJiaGFydGkiLCJiaWJsZSIsImJpZCIsImJpa2UiLCJiaW5nIiwiYmluZ28iLCJiaW8iLCJibGFjayIsImJsYWNrZnJpZGF5IiwiYmxvY2tidXN0ZXIi''@;'; put 'put ''LCJibG9nIiwiYmxvb21iZXJnIiwiYmx1ZSIsImJtcyIsImJtdyIsImJucHBhcmliYXMiLCJib2F0cyIsImJvZWhyaW5nZXIiLCJib2ZhIiwiYm9tIiwiYm9uZCIsImJvbyIsImJvb2siLCJib29raW5nIiwiYm9zY2giLCJib3N0aWsiLCJib3N0b24iLCJib3QiLCJib3V0aXF1ZSIsImJveCIs''@;'; put 'put ''ImJyYWRlc2NvIiwiYnJpZGdlc3RvbmUiLCJicm9hZHdheSIsImJyb2tlciIsImJyb3RoZXIiLCJicnVzc2VscyIsImJ1ZGFwZXN0IiwiYnVnYXR0aSIsImJ1aWxkIiwiYnVpbGRlcnMiLCJidXNpbmVzcyIsImJ1eSIsImJ1enoiLCJiemgiLCJjYWIiLCJjYWZlIiwiY2FsIiwiY2FsbCIsImNh''@;'; put 'put ''bHZpbmtsZWluIiwiY2FtIiwiY2FtZXJhIiwiY2FtcCIsImNhbmNlcnJlc2VhcmNoIiwiY2Fub24iLCJjYXBldG93biIsImNhcGl0YWwiLCJjYXBpdGFsb25lIiwiY2FyIiwiY2FyYXZhbiIsImNhcmRzIiwiY2FyZSIsImNhcmVlciIsImNhcmVlcnMiLCJjYXJzIiwiY2FzYSIsImNhc2UiLCJj''@;'; put 'put ''YXNlaWgiLCJjYXNoIiwiY2FzaW5vIiwiY2F0ZXJpbmciLCJjYXRob2xpYyIsImNiYSIsImNibiIsImNicmUiLCJjYnMiLCJjZWIiLCJjZW50ZXIiLCJjZW8iLCJjZXJuIiwiY2ZhIiwiY2ZkIiwiY2hhbmVsIiwiY2hhbm5lbCIsImNoYXJpdHkiLCJjaGFzZSIsImNoYXQiLCJjaGVhcCIsImNo''@;'; put 'put ''aW50YWkiLCJjaHJpc3RtYXMiLCJjaHJvbWUiLCJjaHVyY2giLCJjaXByaWFuaSIsImNpcmNsZSIsImNpc2NvIiwiY2l0YWRlbCIsImNpdGkiLCJjaXRpYyIsImNpdHkiLCJjaXR5ZWF0cyIsImNsYWltcyIsImNsZWFuaW5nIiwiY2xpY2siLCJjbGluaWMiLCJjbGluaXF1ZSIsImNsb3RoaW5n''@;'; put 'put ''IiwiY2xvdWQiLCJjbHViIiwiY2x1Ym1lZCIsImNvYWNoIiwiY29kZXMiLCJjb2ZmZWUiLCJjb2xsZWdlIiwiY29sb2duZSIsImNvbWNhc3QiLCJjb21tYmFuayIsImNvbW11bml0eSIsImNvbXBhbnkiLCJjb21wYXJlIiwiY29tcHV0ZXIiLCJjb21zZWMiLCJjb25kb3MiLCJjb25zdHJ1Y3Rp''@;'; put 'put ''b24iLCJjb25zdWx0aW5nIiwiY29udGFjdCIsImNvbnRyYWN0b3JzIiwiY29va2luZyIsImNvb2tpbmdjaGFubmVsIiwiY29vbCIsImNvcnNpY2EiLCJjb3VudHJ5IiwiY291cG9uIiwiY291cG9ucyIsImNvdXJzZXMiLCJjcGEiLCJjcmVkaXQiLCJjcmVkaXRjYXJkIiwiY3JlZGl0dW5pb24i''@;'; put 'put ''LCJjcmlja2V0IiwiY3Jvd24iLCJjcnMiLCJjcnVpc2UiLCJjcnVpc2VzIiwiY3NjIiwiY3Vpc2luZWxsYSIsImN5bXJ1IiwiY3lvdSIsImRhYnVyIiwiZGFkIiwiZGFuY2UiLCJkYXRhIiwiZGF0ZSIsImRhdGluZyIsImRhdHN1biIsImRheSIsImRjbGsiLCJkZHMiLCJkZWFsIiwiZGVhbGVy''@;'; put 'put ''IiwiZGVhbHMiLCJkZWdyZWUiLCJkZWxpdmVyeSIsImRlbGwiLCJkZWxvaXR0ZSIsImRlbHRhIiwiZGVtb2NyYXQiLCJkZW50YWwiLCJkZW50aXN0IiwiZGVzaSIsImRlc2lnbiIsImRldiIsImRobCIsImRpYW1vbmRzIiwiZGlldCIsImRpZ2l0YWwiLCJkaXJlY3QiLCJkaXJlY3RvcnkiLCJk''@;'; put 'put ''aXNjb3VudCIsImRpc2NvdmVyIiwiZGlzaCIsImRpeSIsImRucCIsImRvY3MiLCJkb2N0b3IiLCJkb2ciLCJkb21haW5zIiwiZG90IiwiZG93bmxvYWQiLCJkcml2ZSIsImR0diIsImR1YmFpIiwiZHVjayIsImR1bmxvcCIsImR1cG9udCIsImR1cmJhbiIsImR2YWciLCJkdnIiLCJlYXJ0aCIs''@;'; put 'put ''ImVhdCIsImVjbyIsImVkZWthIiwiZWR1Y2F0aW9uIiwiZW1haWwiLCJlbWVyY2siLCJlbmVyZ3kiLCJlbmdpbmVlciIsImVuZ2luZWVyaW5nIiwiZW50ZXJwcmlzZXMiLCJlcHNvbiIsImVxdWlwbWVudCIsImVyaWNzc29uIiwiZXJuaSIsImVzcSIsImVzdGF0ZSIsImVzdXJhbmNlIiwiZXRp''@;'; put 'put ''c2FsYXQiLCJldXJvdmlzaW9uIiwiZXVzIiwiZXZlbnRzIiwiZXhjaGFuZ2UiLCJleHBlcnQiLCJleHBvc2VkIiwiZXhwcmVzcyIsImV4dHJhc3BhY2UiLCJmYWdlIiwiZmFpbCIsImZhaXJ3aW5kcyIsImZhaXRoIiwiZmFtaWx5IiwiZmFuIiwiZmFucyIsImZhcm0iLCJmYXJtZXJzIiwiZmFz''@;'; put 'put ''aGlvbiIsImZhc3QiLCJmZWRleCIsImZlZWRiYWNrIiwiZmVycmFyaSIsImZlcnJlcm8iLCJmaWF0IiwiZmlkZWxpdHkiLCJmaWRvIiwiZmlsbSIsImZpbmFsIiwiZmluYW5jZSIsImZpbmFuY2lhbCIsImZpcmUiLCJmaXJlc3RvbmUiLCJmaXJtZGFsZSIsImZpc2giLCJmaXNoaW5nIiwiZml0''@;'; put 'put ''IiwiZml0bmVzcyIsImZsaWNrciIsImZsaWdodHMiLCJmbGlyIiwiZmxvcmlzdCIsImZsb3dlcnMiLCJmbHkiLCJmb28iLCJmb29kIiwiZm9vZG5ldHdvcmsiLCJmb290YmFsbCIsImZvcmQiLCJmb3JleCIsImZvcnNhbGUiLCJmb3J1bSIsImZvdW5kYXRpb24iLCJmb3giLCJmcmVlIiwiZnJl''@;'; put 'put ''c2VuaXVzIiwiZnJsIiwiZnJvZ2FucyIsImZyb250ZG9vciIsImZyb250aWVyIiwiZnRyIiwiZnVqaXRzdSIsImZ1aml4ZXJveCIsImZ1biIsImZ1bmQiLCJmdXJuaXR1cmUiLCJmdXRib2wiLCJmeWkiLCJnYWwiLCJnYWxsZXJ5IiwiZ2FsbG8iLCJnYWxsdXAiLCJnYW1lIiwiZ2FtZXMiLCJn''@;'; put 'put ''YXAiLCJnYXJkZW4iLCJnYXkiLCJnYml6IiwiZ2RuIiwiZ2VhIiwiZ2VudCIsImdlbnRpbmciLCJnZW9yZ2UiLCJnZ2VlIiwiZ2lmdCIsImdpZnRzIiwiZ2l2ZXMiLCJnaXZpbmciLCJnbGFkZSIsImdsYXNzIiwiZ2xlIiwiZ2xvYmFsIiwiZ2xvYm8iLCJnbWFpbCIsImdtYmgiLCJnbW8iLCJn''@;'; put 'put ''bXgiLCJnb2RhZGR5IiwiZ29sZCIsImdvbGRwb2ludCIsImdvbGYiLCJnb28iLCJnb29keWVhciIsImdvb2ciLCJnb29nbGUiLCJnb3AiLCJnb3QiLCJncmFpbmdlciIsImdyYXBoaWNzIiwiZ3JhdGlzIiwiZ3JlZW4iLCJncmlwZSIsImdyb2NlcnkiLCJncm91cCIsImd1YXJkaWFuIiwiZ3Vj''@;'; put 'put ''Y2kiLCJndWdlIiwiZ3VpZGUiLCJndWl0YXJzIiwiZ3VydSIsImhhaXIiLCJoYW1idXJnIiwiaGFuZ291dCIsImhhdXMiLCJoYm8iLCJoZGZjIiwiaGRmY2JhbmsiLCJoZWFsdGgiLCJoZWFsdGhjYXJlIiwiaGVscCIsImhlbHNpbmtpIiwiaGVyZSIsImhlcm1lcyIsImhndHYiLCJoaXBob3Ai''@;'; put 'put ''LCJoaXNhbWl0c3UiLCJoaXRhY2hpIiwiaGl2IiwiaGt0IiwiaG9ja2V5IiwiaG9sZGluZ3MiLCJob2xpZGF5IiwiaG9tZWRlcG90IiwiaG9tZWdvb2RzIiwiaG9tZXMiLCJob21lc2Vuc2UiLCJob25kYSIsImhvcnNlIiwiaG9zcGl0YWwiLCJob3N0IiwiaG9zdGluZyIsImhvdCIsImhvdGVs''@;'; put 'put ''ZXMiLCJob3RlbHMiLCJob3RtYWlsIiwiaG91c2UiLCJob3ciLCJoc2JjIiwiaHVnaGVzIiwiaHlhdHQiLCJoeXVuZGFpIiwiaWJtIiwiaWNiYyIsImljZSIsImljdSIsImllZWUiLCJpZm0iLCJpa2FubyIsImltYW1hdCIsImltZGIiLCJpbW1vIiwiaW1tb2JpbGllbiIsImluYyIsImluZHVz''@;'; put 'put ''dHJpZXMiLCJpbmZpbml0aSIsImluZyIsImluayIsImluc3RpdHV0ZSIsImluc3VyYW5jZSIsImluc3VyZSIsImludGVsIiwiaW50ZXJuYXRpb25hbCIsImludHVpdCIsImludmVzdG1lbnRzIiwiaXBpcmFuZ2EiLCJpcmlzaCIsImlzbWFpbGkiLCJpc3QiLCJpc3RhbmJ1bCIsIml0YXUiLCJp''@;'; put 'put ''dHYiLCJpdmVjbyIsImphZ3VhciIsImphdmEiLCJqY2IiLCJqY3AiLCJqZWVwIiwiamV0enQiLCJqZXdlbHJ5IiwiamlvIiwiamxsIiwiam1wIiwiam5qIiwiam9idXJnIiwiam90Iiwiam95IiwianBtb3JnYW4iLCJqcHJzIiwianVlZ29zIiwianVuaXBlciIsImthdWZlbiIsImtkZGkiLCJr''@;'; put 'put ''ZXJyeWhvdGVscyIsImtlcnJ5bG9naXN0aWNzIiwia2Vycnlwcm9wZXJ0aWVzIiwia2ZoIiwia2lhIiwia2ltIiwia2luZGVyIiwia2luZGxlIiwia2l0Y2hlbiIsImtpd2kiLCJrb2VsbiIsImtvbWF0c3UiLCJrb3NoZXIiLCJrcG1nIiwia3BuIiwia3JkIiwia3JlZCIsImt1b2tncm91cCIs''@;'; put 'put ''Imt5b3RvIiwibGFjYWl4YSIsImxhbWJvcmdoaW5pIiwibGFtZXIiLCJsYW5jYXN0ZXIiLCJsYW5jaWEiLCJsYW5kIiwibGFuZHJvdmVyIiwibGFueGVzcyIsImxhc2FsbGUiLCJsYXQiLCJsYXRpbm8iLCJsYXRyb2JlIiwibGF3IiwibGF3eWVyIiwibGRzIiwibGVhc2UiLCJsZWNsZXJjIiwi''@;'; put 'put ''bGVmcmFrIiwibGVnYWwiLCJsZWdvIiwibGV4dXMiLCJsZ2J0IiwibGlkbCIsImxpZmUiLCJsaWZlaW5zdXJhbmNlIiwibGlmZXN0eWxlIiwibGlnaHRpbmciLCJsaWtlIiwibGlsbHkiLCJsaW1pdGVkIiwibGltbyIsImxpbmNvbG4iLCJsaW5kZSIsImxpbmsiLCJsaXBzeSIsImxpdmUiLCJs''@;'; put 'put ''aXZpbmciLCJsaXhpbCIsImxsYyIsImxscCIsImxvYW4iLCJsb2FucyIsImxvY2tlciIsImxvY3VzIiwibG9mdCIsImxvbCIsImxvbmRvbiIsImxvdHRlIiwibG90dG8iLCJsb3ZlIiwibHBsIiwibHBsZmluYW5jaWFsIiwibHRkIiwibHRkYSIsImx1bmRiZWNrIiwibHVwaW4iLCJsdXhlIiwi''@;'; put 'put ''bHV4dXJ5IiwibWFjeXMiLCJtYWRyaWQiLCJtYWlmIiwibWFpc29uIiwibWFrZXVwIiwibWFuIiwibWFuYWdlbWVudCIsIm1hbmdvIiwibWFwIiwibWFya2V0IiwibWFya2V0aW5nIiwibWFya2V0cyIsIm1hcnJpb3R0IiwibWFyc2hhbGxzIiwibWFzZXJhdGkiLCJtYXR0ZWwiLCJtYmEiLCJt''@;'; put 'put ''Y2tpbnNleSIsIm1lZCIsIm1lZGlhIiwibWVldCIsIm1lbGJvdXJuZSIsIm1lbWUiLCJtZW1vcmlhbCIsIm1lbiIsIm1lbnUiLCJtZXJja21zZCIsIm1ldGxpZmUiLCJtaWFtaSIsIm1pY3Jvc29mdCIsIm1pbmkiLCJtaW50IiwibWl0IiwibWl0c3ViaXNoaSIsIm1sYiIsIm1scyIsIm1tYSIs''@;'; put 'put ''Im1vYmlsZSIsIm1vZGEiLCJtb2UiLCJtb2kiLCJtb20iLCJtb25hc2giLCJtb25leSIsIm1vbnN0ZXIiLCJtb3Jtb24iLCJtb3J0Z2FnZSIsIm1vc2NvdyIsIm1vdG8iLCJtb3RvcmN5Y2xlcyIsIm1vdiIsIm1vdmllIiwibXNkIiwibXRuIiwibXRyIiwibXV0dWFsIiwibmFiIiwibmFkZXgi''@;'; put 'put ''LCJuYWdveWEiLCJuYXRpb253aWRlIiwibmF0dXJhIiwibmF2eSIsIm5iYSIsIm5lYyIsIm5ldGJhbmsiLCJuZXRmbGl4IiwibmV0d29yayIsIm5ldXN0YXIiLCJuZXciLCJuZXdob2xsYW5kIiwibmV3cyIsIm5leHQiLCJuZXh0ZGlyZWN0IiwibmV4dXMiLCJuZmwiLCJuZ28iLCJuaGsiLCJu''@;'; put 'put ''aWNvIiwibmlrZSIsIm5pa29uIiwibmluamEiLCJuaXNzYW4iLCJuaXNzYXkiLCJub2tpYSIsIm5vcnRod2VzdGVybm11dHVhbCIsIm5vcnRvbiIsIm5vdyIsIm5vd3J1eiIsIm5vd3R2IiwibnJhIiwibnJ3IiwibnR0IiwibnljIiwib2JpIiwib2JzZXJ2ZXIiLCJvZmYiLCJvZmZpY2UiLCJv''@;'; put 'put ''a2luYXdhIiwib2xheWFuIiwib2xheWFuZ3JvdXAiLCJvbGRuYXZ5Iiwib2xsbyIsIm9tZWdhIiwib25lIiwib25nIiwib25sIiwib25saW5lIiwib255b3Vyc2lkZSIsIm9vbyIsIm9wZW4iLCJvcmFjbGUiLCJvcmFuZ2UiLCJvcmdhbmljIiwib3JpZ2lucyIsIm9zYWthIiwib3RzdWthIiwi''@;'; put 'put ''b3R0Iiwib3ZoIiwicGFnZSIsInBhbmFzb25pYyIsInBhcmlzIiwicGFycyIsInBhcnRuZXJzIiwicGFydHMiLCJwYXJ0eSIsInBhc3NhZ2VucyIsInBheSIsInBjY3ciLCJwZXQiLCJwZml6ZXIiLCJwaGFybWFjeSIsInBoZCIsInBoaWxpcHMiLCJwaG9uZSIsInBob3RvIiwicGhvdG9ncmFw''@;'; put 'put ''aHkiLCJwaG90b3MiLCJwaHlzaW8iLCJwaWNzIiwicGljdGV0IiwicGljdHVyZXMiLCJwaWQiLCJwaW4iLCJwaW5nIiwicGluayIsInBpb25lZXIiLCJwaXp6YSIsInBsYWNlIiwicGxheSIsInBsYXlzdGF0aW9uIiwicGx1bWJpbmciLCJwbHVzIiwicG5jIiwicG9obCIsInBva2VyIiwicG9s''@;'; put 'put ''aXRpZSIsInBvcm4iLCJwcmFtZXJpY2EiLCJwcmF4aSIsInByZXNzIiwicHJpbWUiLCJwcm9kIiwicHJvZHVjdGlvbnMiLCJwcm9mIiwicHJvZ3Jlc3NpdmUiLCJwcm9tbyIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eSIsInByb3RlY3Rpb24iLCJwcnUiLCJwcnVkZW50aWFsIiwicHViIiwicHdj''@;'; put 'put ''IiwicXBvbiIsInF1ZWJlYyIsInF1ZXN0IiwicXZjIiwicmFjaW5nIiwicmFkaW8iLCJyYWlkIiwicmVhZCIsInJlYWxlc3RhdGUiLCJyZWFsdG9yIiwicmVhbHR5IiwicmVjaXBlcyIsInJlZCIsInJlZHN0b25lIiwicmVkdW1icmVsbGEiLCJyZWhhYiIsInJlaXNlIiwicmVpc2VuIiwicmVp''@;'; put 'put ''dCIsInJlbGlhbmNlIiwicmVuIiwicmVudCIsInJlbnRhbHMiLCJyZXBhaXIiLCJyZXBvcnQiLCJyZXB1YmxpY2FuIiwicmVzdCIsInJlc3RhdXJhbnQiLCJyZXZpZXciLCJyZXZpZXdzIiwicmV4cm90aCIsInJpY2giLCJyaWNoYXJkbGkiLCJyaWNvaCIsInJpZ2h0YXRob21lIiwicmlsIiwi''@;'; put 'put ''cmlvIiwicmlwIiwicm1pdCIsInJvY2hlciIsInJvY2tzIiwicm9kZW8iLCJyb2dlcnMiLCJyb29tIiwicnN2cCIsInJ1Z2J5IiwicnVociIsInJ1biIsInJ3ZSIsInJ5dWt5dSIsInNhYXJsYW5kIiwic2FmZSIsInNhZmV0eSIsInNha3VyYSIsInNhbGUiLCJzYWxvbiIsInNhbXNjbHViIiwi''@;'; put 'put ''c2Ftc3VuZyIsInNhbmR2aWsiLCJzYW5kdmlrY29yb21hbnQiLCJzYW5vZmkiLCJzYXAiLCJzYXJsIiwic2FzIiwic2F2ZSIsInNheG8iLCJzYmkiLCJzYnMiLCJzY2EiLCJzY2IiLCJzY2hhZWZmbGVyIiwic2NobWlkdCIsInNjaG9sYXJzaGlwcyIsInNjaG9vbCIsInNjaHVsZSIsInNjaHdh''@;'; put 'put ''cnoiLCJzY2llbmNlIiwic2Nqb2huc29uIiwic2NvciIsInNjb3QiLCJzZWFyY2giLCJzZWF0Iiwic2VjdXJlIiwic2VjdXJpdHkiLCJzZWVrIiwic2VsZWN0Iiwic2VuZXIiLCJzZXJ2aWNlcyIsInNlcyIsInNldmVuIiwic2V3Iiwic2V4Iiwic2V4eSIsInNmciIsInNoYW5ncmlsYSIsInNo''@;'; put 'put ''YXJwIiwic2hhdyIsInNoZWxsIiwic2hpYSIsInNoaWtzaGEiLCJzaG9lcyIsInNob3AiLCJzaG9wcGluZyIsInNob3VqaSIsInNob3ciLCJzaG93dGltZSIsInNocmlyYW0iLCJzaWxrIiwic2luYSIsInNpbmdsZXMiLCJzaXRlIiwic2tpIiwic2tpbiIsInNreSIsInNreXBlIiwic2xpbmci''@;'; put 'put ''LCJzbWFydCIsInNtaWxlIiwic25jZiIsInNvY2NlciIsInNvY2lhbCIsInNvZnRiYW5rIiwic29mdHdhcmUiLCJzb2h1Iiwic29sYXIiLCJzb2x1dGlvbnMiLCJzb25nIiwic29ueSIsInNveSIsInNwYSIsInNwYWNlIiwic3BvcnQiLCJzcG90Iiwic3ByZWFkYmV0dGluZyIsInNybCIsInN0''@;'; put 'put ''YWRhIiwic3RhcGxlcyIsInN0YXIiLCJzdGF0ZWJhbmsiLCJzdGF0ZWZhcm0iLCJzdGMiLCJzdGNncm91cCIsInN0b2NraG9sbSIsInN0b3JhZ2UiLCJzdG9yZSIsInN0cmVhbSIsInN0dWRpbyIsInN0dWR5Iiwic3R5bGUiLCJzdWNrcyIsInN1cHBsaWVzIiwic3VwcGx5Iiwic3VwcG9ydCIs''@;'; put 'put ''InN1cmYiLCJzdXJnZXJ5Iiwic3V6dWtpIiwic3dhdGNoIiwic3dpZnRjb3ZlciIsInN3aXNzIiwic3lkbmV5Iiwic3ltYW50ZWMiLCJzeXN0ZW1zIiwidGFiIiwidGFpcGVpIiwidGFsayIsInRhb2JhbyIsInRhcmdldCIsInRhdGFtb3RvcnMiLCJ0YXRhciIsInRhdHRvbyIsInRheCIsInRh''@;'; put 'put ''eGkiLCJ0Y2kiLCJ0ZGsiLCJ0ZWFtIiwidGVjaCIsInRlY2hub2xvZ3kiLCJ0ZW1hc2VrIiwidGVubmlzIiwidGV2YSIsInRoZCIsInRoZWF0ZXIiLCJ0aGVhdHJlIiwidGlhYSIsInRpY2tldHMiLCJ0aWVuZGEiLCJ0aWZmYW55IiwidGlwcyIsInRpcmVzIiwidGlyb2wiLCJ0am1heHgiLCJ0''@;'; put 'put ''angiLCJ0a21heHgiLCJ0bWFsbCIsInRvZGF5IiwidG9reW8iLCJ0b29scyIsInRvcCIsInRvcmF5IiwidG9zaGliYSIsInRvdGFsIiwidG91cnMiLCJ0b3duIiwidG95b3RhIiwidG95cyIsInRyYWRlIiwidHJhZGluZyIsInRyYWluaW5nIiwidHJhdmVsIiwidHJhdmVsY2hhbm5lbCIsInRy''@;'; put 'put ''YXZlbGVycyIsInRyYXZlbGVyc2luc3VyYW5jZSIsInRydXN0IiwidHJ2IiwidHViZSIsInR1aSIsInR1bmVzIiwidHVzaHUiLCJ0dnMiLCJ1YmFuayIsInVicyIsInVuaWNvbSIsInVuaXZlcnNpdHkiLCJ1bm8iLCJ1b2wiLCJ1cHMiLCJ2YWNhdGlvbnMiLCJ2YW5hIiwidmFuZ3VhcmQiLCJ2''@;'; put 'put ''ZWdhcyIsInZlbnR1cmVzIiwidmVyaXNpZ24iLCJ2ZXJzaWNoZXJ1bmciLCJ2ZXQiLCJ2aWFqZXMiLCJ2aWRlbyIsInZpZyIsInZpa2luZyIsInZpbGxhcyIsInZpbiIsInZpcCIsInZpcmdpbiIsInZpc2EiLCJ2aXNpb24iLCJ2aXZhIiwidml2byIsInZsYWFuZGVyZW4iLCJ2b2RrYSIsInZv''@;'; put 'put ''bGtzd2FnZW4iLCJ2b2x2byIsInZvdGUiLCJ2b3RpbmciLCJ2b3RvIiwidm95YWdlIiwidnVlbG9zIiwid2FsZXMiLCJ3YWxtYXJ0Iiwid2FsdGVyIiwid2FuZyIsIndhbmdnb3UiLCJ3YXRjaCIsIndhdGNoZXMiLCJ3ZWF0aGVyIiwid2VhdGhlcmNoYW5uZWwiLCJ3ZWJjYW0iLCJ3ZWJlciIs''@;'; put 'put ''IndlYnNpdGUiLCJ3ZWQiLCJ3ZWRkaW5nIiwid2VpYm8iLCJ3ZWlyIiwid2hvc3dobyIsIndpZW4iLCJ3aWtpIiwid2lsbGlhbWhpbGwiLCJ3aW4iLCJ3aW5kb3dzIiwid2luZSIsIndpbm5lcnMiLCJ3bWUiLCJ3b2x0ZXJza2x1d2VyIiwid29vZHNpZGUiLCJ3b3JrIiwid29ya3MiLCJ3b3Js''@;'; put 'put ''ZCIsIndvdyIsInd0YyIsInd0ZiIsInhib3giLCJ4ZXJveCIsInhmaW5pdHkiLCJ4aWh1YW4iLCJ4aW4iLCJcdTA5MTVcdTA5NDlcdTA5MmUiLCJcdTMwYmJcdTMwZmNcdTMwZWIiLCJcdTRmNWJcdTVjNzEiLCJcdTYxNDhcdTU1ODQiLCJcdTk2YzZcdTU2ZTIiLCJcdTU3MjhcdTdlYmYiLCJc''@;'; put 'put ''dTU5MjdcdTRmMTdcdTZjN2RcdThmNjYiLCJcdTcwYjlcdTc3MGIiLCJcdTBlMDRcdTBlMmRcdTBlMjEiLCJcdTUxNmJcdTUzNjYiLCJcdTA2NDVcdTA2NDhcdTA2NDJcdTA2MzkiLCJcdTUxNmNcdTc2Y2EiLCJcdTUxNmNcdTUzZjgiLCJcdTk5OTlcdTY4M2NcdTkxY2NcdTYyYzkiLCJcdTdm''@;'; put 'put ''NTFcdTdhZDkiLCJcdTc5ZmJcdTUyYTgiLCJcdTYyMTFcdTcyMzFcdTRmNjAiLCJcdTA0M2NcdTA0M2VcdTA0NDFcdTA0M2FcdTA0MzJcdTA0MzAiLCJcdTA0M2FcdTA0MzBcdTA0NDJcdTA0M2VcdTA0M2JcdTA0MzhcdTA0M2EiLCJcdTA0M2VcdTA0M2RcdTA0M2JcdTA0MzBcdTA0MzlcdTA0''@;'; put 'put ''M2QiLCJcdTA0NDFcdTA0MzBcdTA0MzlcdTA0NDIiLCJcdTgwNTRcdTkwMWEiLCJcdTA1ZTdcdTA1ZDVcdTA1ZGQiLCJcdTY1ZjZcdTVjMWEiLCJcdTVmYWVcdTUzNWEiLCJcdTZkZTFcdTlhNmNcdTk1MjEiLCJcdTMwZDVcdTMwYTFcdTMwYzNcdTMwYjdcdTMwZTdcdTMwZjMiLCJcdTA0M2Vc''@;'; put 'put ''dTA0NDBcdTA0MzMiLCJcdTA5MjhcdTA5NDdcdTA5MWYiLCJcdTMwYjlcdTMwYzhcdTMwYTIiLCJcdTMwYTJcdTMwZGVcdTMwYmVcdTMwZjMiLCJcdWMwYmNcdWMxMzEiLCJcdTU1NDZcdTY4MDciLCJcdTU1NDZcdTVlOTciLCJcdTU1NDZcdTU3Y2UiLCJcdTA0MzRcdTA0MzVcdTA0NDJcdTA0''@;'; put 'put ''MzgiLCJcdTMwZGRcdTMwYTRcdTMwZjNcdTMwYzgiLCJcdTY1YjBcdTk1ZmIiLCJcdTVkZTVcdTg4NGMiLCJcdTViYjZcdTk2ZmIiLCJcdTA2NDNcdTA2NDhcdTA2NDUiLCJcdTRlMmRcdTY1ODdcdTdmNTEiLCJcdTRlMmRcdTRmZTEiLCJcdTVhMzFcdTRlNTAiLCJcdThjMzdcdTZiNGMiLCJc''@;'; put 'put ''dTk2ZmJcdThhMGFcdTc2YzhcdTc5ZDEiLCJcdThkMmRcdTcyNjkiLCJcdTMwYWZcdTMwZTlcdTMwYTZcdTMwYzkiLCJcdTkwMWFcdThjYTkiLCJcdTdmNTFcdTVlOTciLCJcdTA5MzhcdTA5MDJcdTA5MTdcdTA5MjBcdTA5MjgiLCJcdTk5MTBcdTUzODUiLCJcdTdmNTFcdTdlZGMiLCJcdTA0''@;'; put 'put ''M2FcdTA0M2VcdTA0M2MiLCJcdTRlOWFcdTlhNmNcdTkwMGEiLCJcdThiZmFcdTU3ZmFcdTRlOWEiLCJcdTk4ZGZcdTU0YzEiLCJcdTk4ZGVcdTUyMjlcdTZkNjYiLCJcdTYyNGJcdTg4NjgiLCJcdTYyNGJcdTY3M2EiLCJcdTA2MjdcdTA2MzFcdTA2MjdcdTA2NDVcdTA2NDNcdTA2NDgiLCJc''@;'; put 'put ''dTA2MjdcdTA2NDRcdTA2MzlcdTA2NDRcdTA2NGFcdTA2MjdcdTA2NDYiLCJcdTA2MjdcdTA2MmFcdTA2MzVcdTA2MjdcdTA2NDRcdTA2MjdcdTA2MmEiLCJcdTA2MjhcdTA2MjdcdTA2MzJcdTA2MjdcdTA2MzEiLCJcdTA2MjdcdTA2MjhcdTA2NDhcdTA2MzhcdTA2MjhcdTA2NGEiLCJcdTA2''@;'; put 'put ''NDNcdTA2MjdcdTA2MmJcdTA2NDhcdTA2NDRcdTA2NGFcdTA2NDMiLCJcdTA2NDdcdTA2NDVcdTA2MzFcdTA2MjdcdTA2NDciLCJcdWIyZjdcdWNlZjQiLCJcdTY1M2ZcdTVlOWMiLCJcdTA2MzRcdTA2MjhcdTA2NDNcdTA2MjkiLCJcdTA2MjhcdTA2NGFcdTA2MmFcdTA2NDMiLCJcdTA2Mzlc''@;'; put 'put ''dTA2MzFcdTA2MjgiLCJcdTY3M2FcdTY3ODQiLCJcdTdlYzRcdTdlYzdcdTY3M2FcdTY3ODQiLCJcdTUwNjVcdTVlYjciLCJcdTYyZGJcdTgwNTgiLCJcdTA0NDBcdTA0NDNcdTA0NDEiLCJcdTczZTBcdTViOWQiLCJcdTU5MjdcdTYyZmYiLCJcdTMwN2ZcdTMwOTNcdTMwNmEiLCJcdTMwYjBc''@;'; put 'put ''dTMwZmNcdTMwYjBcdTMwZWIiLCJcdTRlMTZcdTc1NGMiLCJcdTY2ZjhcdTdjNGQiLCJcdTdmNTFcdTU3NDAiLCJcdWIyZjdcdWIxMzciLCJcdTMwYjNcdTMwZTAiLCJcdTU5MjlcdTRlM2JcdTY1NTkiLCJcdTZlMzhcdTYyMGYiLCJ2ZXJtXHhmNmdlbnNiZXJhdGVyIiwidmVybVx4ZjZnZW5z''@;'; put 'put ''YmVyYXR1bmciLCJcdTRmMDFcdTRlMWEiLCJcdTRmZTFcdTYwNmYiLCJcdTU2MDlcdTkxY2NcdTU5MjdcdTkxNTJcdTVlOTciLCJcdTU2MDlcdTkxY2MiLCJcdTVlN2ZcdTRlMWMiLCJcdTY1M2ZcdTUyYTEiLCJ4eXoiLCJ5YWNodHMiLCJ5YWhvbyIsInlhbWF4dW4iLCJ5YW5kZXgiLCJ5b2Rv''@;'; put 'put ''YmFzaGkiLCJ5b2dhIiwieW9rb2hhbWEiLCJ5b3UiLCJ5b3V0dWJlIiwieXVuIiwiemFwcG9zIiwiemFyYSIsInplcm8iLCJ6aXAiLCJ6b25lIiwienVlcmljaCIsImNjLnVhIiwiaW5mLnVhIiwibHRkLnVhIiwiYWRvYmVhZW1jbG91ZC5jb20iLCJhZG9iZWFlbWNsb3VkLm5ldCIsIiouZGV2''@;'; put 'put ''LmFkb2JlYWVtY2xvdWQuY29tIiwiYmVlcC5wbCIsImJhcnN5LmNhIiwiKi5jb21wdXRlLmVzdGF0ZSIsIiouYWxjZXMubmV0d29yayIsImFsdGVydmlzdGEub3JnIiwiYWx3YXlzZGF0YS5uZXQiLCJjbG91ZGZyb250Lm5ldCIsIiouY29tcHV0ZS5hbWF6b25hd3MuY29tIiwiKi5jb21wdXRl''@;'; put 'put ''LTEuYW1hem9uYXdzLmNvbSIsIiouY29tcHV0ZS5hbWF6b25hd3MuY29tLmNuIiwidXMtZWFzdC0xLmFtYXpvbmF3cy5jb20iLCJjbi1ub3J0aC0xLmViLmFtYXpvbmF3cy5jb20uY24iLCJjbi1ub3J0aHdlc3QtMS5lYi5hbWF6b25hd3MuY29tLmNuIiwiZWxhc3RpY2JlYW5zdGFsay5jb20i''@;'; put 'put ''LCJhcC1ub3J0aGVhc3QtMS5lbGFzdGljYmVhbnN0YWxrLmNvbSIsImFwLW5vcnRoZWFzdC0yLmVsYXN0aWNiZWFuc3RhbGsuY29tIiwiYXAtbm9ydGhlYXN0LTMuZWxhc3RpY2JlYW5zdGFsay5jb20iLCJhcC1zb3V0aC0xLmVsYXN0aWNiZWFuc3RhbGsuY29tIiwiYXAtc291dGhlYXN0LTEu''@;'; put 'put ''ZWxhc3RpY2JlYW5zdGFsay5jb20iLCJhcC1zb3V0aGVhc3QtMi5lbGFzdGljYmVhbnN0YWxrLmNvbSIsImNhLWNlbnRyYWwtMS5lbGFzdGljYmVhbnN0YWxrLmNvbSIsImV1LWNlbnRyYWwtMS5lbGFzdGljYmVhbnN0YWxrLmNvbSIsImV1LXdlc3QtMS5lbGFzdGljYmVhbnN0YWxrLmNvbSIs''@;'; put 'put ''ImV1LXdlc3QtMi5lbGFzdGljYmVhbnN0YWxrLmNvbSIsImV1LXdlc3QtMy5lbGFzdGljYmVhbnN0YWxrLmNvbSIsInNhLWVhc3QtMS5lbGFzdGljYmVhbnN0YWxrLmNvbSIsInVzLWVhc3QtMS5lbGFzdGljYmVhbnN0YWxrLmNvbSIsInVzLWVhc3QtMi5lbGFzdGljYmVhbnN0YWxrLmNvbSIs''@;'; put 'put ''InVzLWdvdi13ZXN0LTEuZWxhc3RpY2JlYW5zdGFsay5jb20iLCJ1cy13ZXN0LTEuZWxhc3RpY2JlYW5zdGFsay5jb20iLCJ1cy13ZXN0LTIuZWxhc3RpY2JlYW5zdGFsay5jb20iLCIqLmVsYi5hbWF6b25hd3MuY29tIiwiKi5lbGIuYW1hem9uYXdzLmNvbS5jbiIsInMzLmFtYXpvbmF3cy5j''@;'; put 'put ''b20iLCJzMy1hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tIiwiczMtYXAtbm9ydGhlYXN0LTIuYW1hem9uYXdzLmNvbSIsInMzLWFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbSIsInMzLWFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20iLCJzMy1hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3Mu''@;'; put 'put ''Y29tIiwiczMtY2EtY2VudHJhbC0xLmFtYXpvbmF3cy5jb20iLCJzMy1ldS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbSIsInMzLWV1LXdlc3QtMS5hbWF6b25hd3MuY29tIiwiczMtZXUtd2VzdC0yLmFtYXpvbmF3cy5jb20iLCJzMy1ldS13ZXN0LTMuYW1hem9uYXdzLmNvbSIsInMzLWV4dGVy''@;'; put 'put ''bmFsLTEuYW1hem9uYXdzLmNvbSIsInMzLWZpcHMtdXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tIiwiczMtc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20iLCJzMy11cy1nb3Ytd2VzdC0xLmFtYXpvbmF3cy5jb20iLCJzMy11cy1lYXN0LTIuYW1hem9uYXdzLmNvbSIsInMzLXVzLXdlc3QtMS5h''@;'; put 'put ''bWF6b25hd3MuY29tIiwiczMtdXMtd2VzdC0yLmFtYXpvbmF3cy5jb20iLCJzMy5hcC1ub3J0aGVhc3QtMi5hbWF6b25hd3MuY29tIiwiczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tIiwiczMuY24tbm9ydGgtMS5hbWF6b25hd3MuY29tLmNuIiwiczMuY2EtY2VudHJhbC0xLmFtYXpvbmF3''@;'; put 'put ''cy5jb20iLCJzMy5ldS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbSIsInMzLmV1LXdlc3QtMi5hbWF6b25hd3MuY29tIiwiczMuZXUtd2VzdC0zLmFtYXpvbmF3cy5jb20iLCJzMy51cy1lYXN0LTIuYW1hem9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay5hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3Mu''@;'; put 'put ''Y29tIiwiczMuZHVhbHN0YWNrLmFwLW5vcnRoZWFzdC0yLmFtYXpvbmF3cy5jb20iLCJzMy5kdWFsc3RhY2suYXAtc291dGgtMS5hbWF6b25hd3MuY29tIiwiczMuZHVhbHN0YWNrLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20iLCJzMy5kdWFsc3RhY2suYXAtc291dGhlYXN0LTIuYW1h''@;'; put 'put ''em9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay5jYS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay5ldS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay5ldS13ZXN0LTIuYW1hem9u''@;'; put 'put ''YXdzLmNvbSIsInMzLmR1YWxzdGFjay5ldS13ZXN0LTMuYW1hem9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsInMzLmR1YWxzdGFjay51cy1lYXN0LTIuYW1hem9uYXdzLmNvbSIs''@;'; put 'put ''InMzLXdlYnNpdGUtdXMtZWFzdC0xLmFtYXpvbmF3cy5jb20iLCJzMy13ZWJzaXRlLXVzLXdlc3QtMS5hbWF6b25hd3MuY29tIiwiczMtd2Vic2l0ZS11cy13ZXN0LTIuYW1hem9uYXdzLmNvbSIsInMzLXdlYnNpdGUtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbSIsInMzLXdlYnNpdGUt''@;'; put 'put ''YXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbSIsInMzLXdlYnNpdGUtYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbSIsInMzLXdlYnNpdGUtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20iLCJzMy13ZWJzaXRlLXNhLWVhc3QtMS5hbWF6b25hd3MuY29tIiwiczMtd2Vic2l0ZS5hcC1ub3J0''@;'; put 'put ''aGVhc3QtMi5hbWF6b25hd3MuY29tIiwiczMtd2Vic2l0ZS5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20iLCJzMy13ZWJzaXRlLmNhLWNlbnRyYWwtMS5hbWF6b25hd3MuY29tIiwiczMtd2Vic2l0ZS5ldS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbSIsInMzLXdlYnNpdGUuZXUtd2VzdC0yLmFt''@;'; put 'put ''YXpvbmF3cy5jb20iLCJzMy13ZWJzaXRlLmV1LXdlc3QtMy5hbWF6b25hd3MuY29tIiwiczMtd2Vic2l0ZS51cy1lYXN0LTIuYW1hem9uYXdzLmNvbSIsImFtc3cubmwiLCJ0M2wzcDBydC5uZXQiLCJ0ZWxlLmFtdW5lLm9yZyIsImFwaWdlZS5pbyIsIm9uLWFwdGlibGUuY29tIiwidXNlci5h''@;'; put 'put ''c2VpbmV0Lm5lLmpwIiwiZ3YudmMiLCJkLmd2LnZjIiwidXNlci5wYXJ0eS5ldXMiLCJwaW1pZW50YS5vcmciLCJwb2l2cm9uLm9yZyIsInBvdGFnZXIub3JnIiwic3dlZXRwZXBwZXIub3JnIiwibXlhc3VzdG9yLmNvbSIsIm15ZnJpdHoubmV0IiwiKi5hd2Rldi5jYSIsIiouYWR2aXNvci53''@;'; put 'put ''cyIsImItZGF0YS5pbyIsImJhY2twbGFuZWFwcC5pbyIsImJhbGVuYS1kZXZpY2VzLmNvbSIsImFwcC5iYW56YWljbG91ZC5pbyIsImJldGFpbmFib3guY29tIiwiYm5yLmxhIiwiYmxhY2tiYXVkY2RuLm5ldCIsImJvb21sYS5uZXQiLCJib3hmdXNlLmlvIiwic3F1YXJlNy5jaCIsImJwbGFj''@;'; put 'put ''ZWQuY29tIiwiYnBsYWNlZC5kZSIsInNxdWFyZTcuZGUiLCJicGxhY2VkLm5ldCIsInNxdWFyZTcubmV0IiwiYnJvd3NlcnNhZmV0eW1hcmsuaW8iLCJ1azAuYmlndi5pbyIsImRoLmJ5dGVtYXJrLmNvLnVrIiwidm0uYnl0ZW1hcmsuY28udWsiLCJteWNkLmV1IiwiY2FycmQuY28iLCJjcmQu''@;'; put 'put ''Y28iLCJ1d3UuYWkiLCJhZS5vcmciLCJhci5jb20iLCJici5jb20iLCJjbi5jb20iLCJjb20uZGUiLCJjb20uc2UiLCJkZS5jb20iLCJldS5jb20iLCJnYi5jb20iLCJnYi5uZXQiLCJodS5jb20iLCJodS5uZXQiLCJqcC5uZXQiLCJqcG4uY29tIiwia3IuY29tIiwibWV4LmNvbSIsIm5vLmNv''@;'; put 'put ''bSIsInFjLmNvbSIsInJ1LmNvbSIsInNhLmNvbSIsInNlLm5ldCIsInVrLmNvbSIsInVrLm5ldCIsInVzLmNvbSIsInV5LmNvbSIsInphLmJ6IiwiemEuY29tIiwiYWZyaWNhLmNvbSIsImdyLmNvbSIsImluLm5ldCIsInVzLm9yZyIsImNvLmNvbSIsImMubGEiLCJjZXJ0bWdyLm9yZyIsInhl''@;'; put 'put ''bmFwcG9uYXp1cmUuY29tIiwiZGlzY291cnNlLmdyb3VwIiwiZGlzY291cnNlLnRlYW0iLCJ2aXJ0dWVlbGRvbWVpbi5ubCIsImNsZXZlcmFwcHMuaW8iLCIqLmxjbC5kZXYiLCIqLnN0Zy5kZXYiLCJjNjYubWUiLCJjbG91ZDY2LndzIiwiY2xvdWQ2Ni56b25lIiwiamRldmNsb3VkLmNvbSIs''@;'; put 'put ''IndwZGV2Y2xvdWQuY29tIiwiY2xvdWRhY2Nlc3MuaG9zdCIsImZyZWVzaXRlLmhvc3QiLCJjbG91ZGFjY2Vzcy5uZXQiLCJjbG91ZGNvbnRyb2xsZWQuY29tIiwiY2xvdWRjb250cm9sYXBwLmNvbSIsImNsb3VkZXJhLnNpdGUiLCJ0cnljbG91ZGZsYXJlLmNvbSIsIndvcmtlcnMuZGV2Iiwi''@;'; put 'put ''d25leHQuYXBwIiwiY28uY2EiLCIqLm90YXAuY28iLCJjby5jeiIsImMuY2RuNzcub3JnIiwiY2RuNzctc3NsLm5ldCIsInIuY2RuNzcubmV0IiwicnNjLmNkbjc3Lm9yZyIsInNzbC5vcmlnaW4uY2RuNzctc2VjdXJlLm9yZyIsImNsb3VkbnMuYXNpYSIsImNsb3VkbnMuYml6IiwiY2xvdWRu''@;'; put 'put ''cy5jbHViIiwiY2xvdWRucy5jYyIsImNsb3VkbnMuZXUiLCJjbG91ZG5zLmluIiwiY2xvdWRucy5pbmZvIiwiY2xvdWRucy5vcmciLCJjbG91ZG5zLnBybyIsImNsb3VkbnMucHciLCJjbG91ZG5zLnVzIiwiY2xvdWRlaXR5Lm5ldCIsImNucHkuZ2RuIiwiY28ubmwiLCJjby5ubyIsIndlYmhv''@;'; put 'put ''c3RpbmcuYmUiLCJob3N0aW5nLWNsdXN0ZXIubmwiLCJhYy5ydSIsImVkdS5ydSIsImdvdi5ydSIsImludC5ydSIsIm1pbC5ydSIsInRlc3QucnUiLCJkeW4uY29zaWRucy5kZSIsImR5bmFtaXNjaGVzLWRucy5kZSIsImRuc3VwZGF0ZXIuZGUiLCJpbnRlcm5ldC1kbnMuZGUiLCJsLW8tZy1p''@;'; put 'put ''LW4uZGUiLCJkeW5hbWljLWRucy5pbmZvIiwiZmVzdGUtaXAubmV0Iiwia254LXNlcnZlci5uZXQiLCJzdGF0aWMtYWNjZXNzLm5ldCIsInJlYWxtLmN6IiwiKi5jcnlwdG9ub21pYy5uZXQiLCJjdXBjYWtlLmlzIiwiKi5jdXN0b21lci1vY2kuY29tIiwiKi5vY2kuY3VzdG9tZXItb2NpLmNv''@;'; put 'put ''bSIsIioub2NwLmN1c3RvbWVyLW9jaS5jb20iLCIqLm9jcy5jdXN0b21lci1vY2kuY29tIiwiY3lvbi5saW5rIiwiY3lvbi5zaXRlIiwiZGFwbGllLm1lIiwibG9jYWxob3N0LmRhcGxpZS5tZSIsImRhdHRvbG9jYWwuY29tIiwiZGF0dG9yZWxheS5jb20iLCJkYXR0b3dlYi5jb20iLCJteWRh''@;'; put 'put ''dHRvLmNvbSIsImRhdHRvbG9jYWwubmV0IiwibXlkYXR0by5uZXQiLCJiaXouZGsiLCJjby5kayIsImZpcm0uZGsiLCJyZWcuZGsiLCJzdG9yZS5kayIsIiouZGFwcHMuZWFydGgiLCIqLmJ6ei5kYXBwcy5lYXJ0aCIsImJ1aWx0d2l0aGRhcmsuY29tIiwiZWRnZXN0YWNrLm1lIiwiZGViaWFu''@;'; put 'put ''Lm5ldCIsImRlZHluLmlvIiwiZG5zaG9tZS5kZSIsIm9ubGluZS50aCIsInNob3AudGgiLCJkcmF5ZGRucy5jb20iLCJkcmVhbWhvc3RlcnMuY29tIiwibXlkcm9iby5jb20iLCJkcnVkLmlvIiwiZHJ1ZC51cyIsImR1Y2tkbnMub3JnIiwiZHkuZmkiLCJ0dW5rLm9yZyIsImR5bmRucy1hdC1o''@;'; put 'put ''b21lLmNvbSIsImR5bmRucy1hdC13b3JrLmNvbSIsImR5bmRucy1ibG9nLmNvbSIsImR5bmRucy1mcmVlLmNvbSIsImR5bmRucy1ob21lLmNvbSIsImR5bmRucy1pcC5jb20iLCJkeW5kbnMtbWFpbC5jb20iLCJkeW5kbnMtb2ZmaWNlLmNvbSIsImR5bmRucy1waWNzLmNvbSIsImR5bmRucy1y''@;'; put 'put ''ZW1vdGUuY29tIiwiZHluZG5zLXNlcnZlci5jb20iLCJkeW5kbnMtd2ViLmNvbSIsImR5bmRucy13aWtpLmNvbSIsImR5bmRucy13b3JrLmNvbSIsImR5bmRucy5iaXoiLCJkeW5kbnMuaW5mbyIsImR5bmRucy5vcmciLCJkeW5kbnMudHYiLCJhdC1iYW5kLWNhbXAubmV0IiwiYXRoLmN4Iiwi''@;'; put 'put ''YmFycmVsLW9mLWtub3dsZWRnZS5pbmZvIiwiYmFycmVsbC1vZi1rbm93bGVkZ2UuaW5mbyIsImJldHRlci10aGFuLnR2IiwiYmxvZ2Rucy5jb20iLCJibG9nZG5zLm5ldCIsImJsb2dkbnMub3JnIiwiYmxvZ3NpdGUub3JnIiwiYm9sZGx5Z29pbmdub3doZXJlLm9yZyIsImJyb2tlLWl0Lm5l''@;'; put 'put ''dCIsImJ1eXNob3VzZXMubmV0IiwiY2VjaGlyZS5jb20iLCJkbnNhbGlhcy5jb20iLCJkbnNhbGlhcy5uZXQiLCJkbnNhbGlhcy5vcmciLCJkbnNkb2pvLmNvbSIsImRuc2Rvam8ubmV0IiwiZG5zZG9qby5vcmciLCJkb2VzLWl0Lm5ldCIsImRvZXNudGV4aXN0LmNvbSIsImRvZXNudGV4aXN0''@;'; put 'put ''Lm9yZyIsImRvbnRleGlzdC5jb20iLCJkb250ZXhpc3QubmV0IiwiZG9udGV4aXN0Lm9yZyIsImRvb21kbnMuY29tIiwiZG9vbWRucy5vcmciLCJkdnJkbnMub3JnIiwiZHluLW8tc2F1ci5jb20iLCJkeW5hbGlhcy5jb20iLCJkeW5hbGlhcy5uZXQiLCJkeW5hbGlhcy5vcmciLCJkeW5hdGhv''@;'; put 'put ''bWUubmV0IiwiZHluZG5zLndzIiwiZW5kb2ZpbnRlcm5ldC5uZXQiLCJlbmRvZmludGVybmV0Lm9yZyIsImVuZG9mdGhlaW50ZXJuZXQub3JnIiwiZXN0LWEtbGEtbWFpc29uLmNvbSIsImVzdC1hLWxhLW1hc2lvbi5jb20iLCJlc3QtbGUtcGF0cm9uLmNvbSIsImVzdC1tb24tYmxvZ3VldXIu''@;'; put 'put ''Y29tIiwiZm9yLWJldHRlci5iaXoiLCJmb3ItbW9yZS5iaXoiLCJmb3Itb3VyLmluZm8iLCJmb3Itc29tZS5iaXoiLCJmb3ItdGhlLmJpeiIsImZvcmdvdC5oZXIubmFtZSIsImZvcmdvdC5oaXMubmFtZSIsImZyb20tYWsuY29tIiwiZnJvbS1hbC5jb20iLCJmcm9tLWFyLmNvbSIsImZyb20t''@;'; put 'put ''YXoubmV0IiwiZnJvbS1jYS5jb20iLCJmcm9tLWNvLm5ldCIsImZyb20tY3QuY29tIiwiZnJvbS1kYy5jb20iLCJmcm9tLWRlLmNvbSIsImZyb20tZmwuY29tIiwiZnJvbS1nYS5jb20iLCJmcm9tLWhpLmNvbSIsImZyb20taWEuY29tIiwiZnJvbS1pZC5jb20iLCJmcm9tLWlsLmNvbSIsImZy''@;'; put 'put ''b20taW4uY29tIiwiZnJvbS1rcy5jb20iLCJmcm9tLWt5LmNvbSIsImZyb20tbGEubmV0IiwiZnJvbS1tYS5jb20iLCJmcm9tLW1kLmNvbSIsImZyb20tbWUub3JnIiwiZnJvbS1taS5jb20iLCJmcm9tLW1uLmNvbSIsImZyb20tbW8uY29tIiwiZnJvbS1tcy5jb20iLCJmcm9tLW10LmNvbSIs''@;'; put 'put ''ImZyb20tbmMuY29tIiwiZnJvbS1uZC5jb20iLCJmcm9tLW5lLmNvbSIsImZyb20tbmguY29tIiwiZnJvbS1uai5jb20iLCJmcm9tLW5tLmNvbSIsImZyb20tbnYuY29tIiwiZnJvbS1ueS5uZXQiLCJmcm9tLW9oLmNvbSIsImZyb20tb2suY29tIiwiZnJvbS1vci5jb20iLCJmcm9tLXBhLmNv''@;'; put 'put ''bSIsImZyb20tcHIuY29tIiwiZnJvbS1yaS5jb20iLCJmcm9tLXNjLmNvbSIsImZyb20tc2QuY29tIiwiZnJvbS10bi5jb20iLCJmcm9tLXR4LmNvbSIsImZyb20tdXQuY29tIiwiZnJvbS12YS5jb20iLCJmcm9tLXZ0LmNvbSIsImZyb20td2EuY29tIiwiZnJvbS13aS5jb20iLCJmcm9tLXd2''@;'; put 'put ''LmNvbSIsImZyb20td3kuY29tIiwiZnRwYWNjZXNzLmNjIiwiZnVldHRlcnRkYXNuZXR6LmRlIiwiZ2FtZS1ob3N0Lm9yZyIsImdhbWUtc2VydmVyLmNjIiwiZ2V0bXlpcC5jb20iLCJnZXRzLWl0Lm5ldCIsImdvLmR5bmRucy5vcmciLCJnb3RkbnMuY29tIiwiZ290ZG5zLm9yZyIsImdyb2tz''@;'; put 'put ''LXRoZS5pbmZvIiwiZ3Jva3MtdGhpcy5pbmZvIiwiaGFtLXJhZGlvLW9wLm5ldCIsImhlcmUtZm9yLW1vcmUuaW5mbyIsImhvYmJ5LXNpdGUuY29tIiwiaG9iYnktc2l0ZS5vcmciLCJob21lLmR5bmRucy5vcmciLCJob21lZG5zLm9yZyIsImhvbWVmdHAubmV0IiwiaG9tZWZ0cC5vcmciLCJo''@;'; put 'put ''b21laXAubmV0IiwiaG9tZWxpbnV4LmNvbSIsImhvbWVsaW51eC5uZXQiLCJob21lbGludXgub3JnIiwiaG9tZXVuaXguY29tIiwiaG9tZXVuaXgubmV0IiwiaG9tZXVuaXgub3JnIiwiaWFtYWxsYW1hLmNvbSIsImluLXRoZS1iYW5kLm5ldCIsImlzLWEtYW5hcmNoaXN0LmNvbSIsImlzLWEt''@;'; put 'put ''YmxvZ2dlci5jb20iLCJpcy1hLWJvb2trZWVwZXIuY29tIiwiaXMtYS1icnVpbnNmYW4ub3JnIiwiaXMtYS1idWxscy1mYW4uY29tIiwiaXMtYS1jYW5kaWRhdGUub3JnIiwiaXMtYS1jYXRlcmVyLmNvbSIsImlzLWEtY2VsdGljc2Zhbi5vcmciLCJpcy1hLWNoZWYuY29tIiwiaXMtYS1jaGVm''@;'; put 'put ''Lm5ldCIsImlzLWEtY2hlZi5vcmciLCJpcy1hLWNvbnNlcnZhdGl2ZS5jb20iLCJpcy1hLWNwYS5jb20iLCJpcy1hLWN1YmljbGUtc2xhdmUuY29tIiwiaXMtYS1kZW1vY3JhdC5jb20iLCJpcy1hLWRlc2lnbmVyLmNvbSIsImlzLWEtZG9jdG9yLmNvbSIsImlzLWEtZmluYW5jaWFsYWR2aXNv''@;'; put 'put ''ci5jb20iLCJpcy1hLWdlZWsuY29tIiwiaXMtYS1nZWVrLm5ldCIsImlzLWEtZ2Vlay5vcmciLCJpcy1hLWdyZWVuLmNvbSIsImlzLWEtZ3VydS5jb20iLCJpcy1hLWhhcmQtd29ya2VyLmNvbSIsImlzLWEtaHVudGVyLmNvbSIsImlzLWEta25pZ2h0Lm9yZyIsImlzLWEtbGFuZHNjYXBlci5j''@;'; put 'put ''b20iLCJpcy1hLWxhd3llci5jb20iLCJpcy1hLWxpYmVyYWwuY29tIiwiaXMtYS1saWJlcnRhcmlhbi5jb20iLCJpcy1hLWxpbnV4LXVzZXIub3JnIiwiaXMtYS1sbGFtYS5jb20iLCJpcy1hLW11c2ljaWFuLmNvbSIsImlzLWEtbmFzY2FyZmFuLmNvbSIsImlzLWEtbnVyc2UuY29tIiwiaXMt''@;'; put 'put ''YS1wYWludGVyLmNvbSIsImlzLWEtcGF0c2Zhbi5vcmciLCJpcy1hLXBlcnNvbmFsdHJhaW5lci5jb20iLCJpcy1hLXBob3RvZ3JhcGhlci5jb20iLCJpcy1hLXBsYXllci5jb20iLCJpcy1hLXJlcHVibGljYW4uY29tIiwiaXMtYS1yb2Nrc3Rhci5jb20iLCJpcy1hLXNvY2lhbGlzdC5jb20i''@;'; put 'put ''LCJpcy1hLXNveGZhbi5vcmciLCJpcy1hLXN0dWRlbnQuY29tIiwiaXMtYS10ZWFjaGVyLmNvbSIsImlzLWEtdGVjaGllLmNvbSIsImlzLWEtdGhlcmFwaXN0LmNvbSIsImlzLWFuLWFjY291bnRhbnQuY29tIiwiaXMtYW4tYWN0b3IuY29tIiwiaXMtYW4tYWN0cmVzcy5jb20iLCJpcy1hbi1h''@;'; put 'put ''bmFyY2hpc3QuY29tIiwiaXMtYW4tYXJ0aXN0LmNvbSIsImlzLWFuLWVuZ2luZWVyLmNvbSIsImlzLWFuLWVudGVydGFpbmVyLmNvbSIsImlzLWJ5LnVzIiwiaXMtY2VydGlmaWVkLmNvbSIsImlzLWZvdW5kLm9yZyIsImlzLWdvbmUuY29tIiwiaXMtaW50by1hbmltZS5jb20iLCJpcy1pbnRv''@;'; put 'put ''LWNhcnMuY29tIiwiaXMtaW50by1jYXJ0b29ucy5jb20iLCJpcy1pbnRvLWdhbWVzLmNvbSIsImlzLWxlZXQuY29tIiwiaXMtbG9zdC5vcmciLCJpcy1ub3QtY2VydGlmaWVkLmNvbSIsImlzLXNhdmVkLm9yZyIsImlzLXNsaWNrLmNvbSIsImlzLXViZXJsZWV0LmNvbSIsImlzLXZlcnktYmFk''@;'; put 'put ''Lm9yZyIsImlzLXZlcnktZXZpbC5vcmciLCJpcy12ZXJ5LWdvb2Qub3JnIiwiaXMtdmVyeS1uaWNlLm9yZyIsImlzLXZlcnktc3dlZXQub3JnIiwiaXMtd2l0aC10aGViYW5kLmNvbSIsImlzYS1nZWVrLmNvbSIsImlzYS1nZWVrLm5ldCIsImlzYS1nZWVrLm9yZyIsImlzYS1ob2NrZXludXQu''@;'; put 'put ''Y29tIiwiaXNzbWFydGVydGhhbnlvdS5jb20iLCJpc3RlaW5nZWVrLmRlIiwiaXN0bWVpbi5kZSIsImtpY2tzLWFzcy5uZXQiLCJraWNrcy1hc3Mub3JnIiwia25vd3NpdGFsbC5pbmZvIiwibGFuZC00LXNhbGUudXMiLCJsZWJ0aW1uZXR6LmRlIiwibGVpdHVuZ3Nlbi5kZSIsImxpa2VzLXBp''@;'; put 'put ''ZS5jb20iLCJsaWtlc2NhbmR5LmNvbSIsIm1lcnNlaW5lLm51IiwibWluZS5udSIsIm1pc2NvbmZ1c2VkLm9yZyIsIm15cGV0cy53cyIsIm15cGhvdG9zLmNjIiwibmVhdC11cmwuY29tIiwib2ZmaWNlLW9uLXRoZS5uZXQiLCJvbi10aGUtd2ViLnR2IiwicG9kem9uZS5uZXQiLCJwb2R6b25l''@;'; put 'put ''Lm9yZyIsInJlYWRteWJsb2cub3JnIiwic2F2ZXMtdGhlLXdoYWxlcy5jb20iLCJzY3JhcHBlci1zaXRlLm5ldCIsInNjcmFwcGluZy5jYyIsInNlbGZpcC5iaXoiLCJzZWxmaXAuY29tIiwic2VsZmlwLmluZm8iLCJzZWxmaXAubmV0Iiwic2VsZmlwLm9yZyIsInNlbGxzLWZvci1sZXNzLmNv''@;'; put 'put ''bSIsInNlbGxzLWZvci11LmNvbSIsInNlbGxzLWl0Lm5ldCIsInNlbGxzeW91cmhvbWUub3JnIiwic2VydmViYnMuY29tIiwic2VydmViYnMubmV0Iiwic2VydmViYnMub3JnIiwic2VydmVmdHAubmV0Iiwic2VydmVmdHAub3JnIiwic2VydmVnYW1lLm9yZyIsInNoYWNrbmV0Lm51Iiwic2lt''@;'; put 'put ''cGxlLXVybC5jb20iLCJzcGFjZS10by1yZW50LmNvbSIsInN0dWZmLTQtc2FsZS5vcmciLCJzdHVmZi00LXNhbGUudXMiLCJ0ZWFjaGVzLXlvZ2EuY29tIiwidGhydWhlcmUubmV0IiwidHJhZXVtdGdlcmFkZS5kZSIsIndlYmhvcC5iaXoiLCJ3ZWJob3AuaW5mbyIsIndlYmhvcC5uZXQiLCJ3''@;'; put 'put ''ZWJob3Aub3JnIiwid29yc2UtdGhhbi50diIsIndyaXRlc3RoaXNibG9nLmNvbSIsImRkbnNzLmRlIiwiZHluLmRkbnNzLmRlIiwiZHluZG5zLmRkbnNzLmRlIiwiZHluZG5zMS5kZSIsImR5bi1pcDI0LmRlIiwiaG9tZS13ZWJzZXJ2ZXIuZGUiLCJkeW4uaG9tZS13ZWJzZXJ2ZXIuZGUiLCJt''@;'; put 'put ''eWhvbWUtc2VydmVyLmRlIiwiZGRuc3Mub3JnIiwiZGVmaW5pbWEubmV0IiwiZGVmaW5pbWEuaW8iLCJiY2kuZG5zdHJhY2UucHJvIiwiZGRuc2ZyZWUuY29tIiwiZGRuc2dlZWsuY29tIiwiZ2lpemUuY29tIiwiZ2xlZXplLmNvbSIsImtvem93LmNvbSIsImxvc2V5b3VyaXAuY29tIiwib29n''@;'; put 'put ''dXkuY29tIiwidGhld29ya3BjLmNvbSIsImNhc2FjYW0ubmV0IiwiZHludS5uZXQiLCJhY2Nlc3NjYW0ub3JnIiwiY2FtZHZyLm9yZyIsImZyZWVkZG5zLm9yZyIsIm15d2lyZS5vcmciLCJ3ZWJyZWRpcmVjdC5vcmciLCJteWRkbnMucm9ja3MiLCJibG9nc2l0ZS54eXoiLCJkeW52Ni5uZXQi''@;'; put 'put ''LCJlNC5jeiIsImVuLXJvb3QuZnIiLCJteXR1bGVhcC5jb20iLCJvbnJlZC5vbmUiLCJzdGFnaW5nLm9ucmVkLm9uZSIsImVub25pYy5pbyIsImN1c3RvbWVyLmVub25pYy5pbyIsImV1Lm9yZyIsImFsLmV1Lm9yZyIsImFzc28uZXUub3JnIiwiYXQuZXUub3JnIiwiYXUuZXUub3JnIiwiYmUu''@;'; put 'put ''ZXUub3JnIiwiYmcuZXUub3JnIiwiY2EuZXUub3JnIiwiY2QuZXUub3JnIiwiY2guZXUub3JnIiwiY24uZXUub3JnIiwiY3kuZXUub3JnIiwiY3ouZXUub3JnIiwiZGUuZXUub3JnIiwiZGsuZXUub3JnIiwiZWR1LmV1Lm9yZyIsImVlLmV1Lm9yZyIsImVzLmV1Lm9yZyIsImZpLmV1Lm9yZyIs''@;'; put 'put ''ImZyLmV1Lm9yZyIsImdyLmV1Lm9yZyIsImhyLmV1Lm9yZyIsImh1LmV1Lm9yZyIsImllLmV1Lm9yZyIsImlsLmV1Lm9yZyIsImluLmV1Lm9yZyIsImludC5ldS5vcmciLCJpcy5ldS5vcmciLCJpdC5ldS5vcmciLCJqcC5ldS5vcmciLCJrci5ldS5vcmciLCJsdC5ldS5vcmciLCJsdS5ldS5v''@;'; put 'put ''cmciLCJsdi5ldS5vcmciLCJtYy5ldS5vcmciLCJtZS5ldS5vcmciLCJtay5ldS5vcmciLCJtdC5ldS5vcmciLCJteS5ldS5vcmciLCJuZXQuZXUub3JnIiwibmcuZXUub3JnIiwibmwuZXUub3JnIiwibm8uZXUub3JnIiwibnouZXUub3JnIiwicGFyaXMuZXUub3JnIiwicGwuZXUub3JnIiwi''@;'; put 'put ''cHQuZXUub3JnIiwicS1hLmV1Lm9yZyIsInJvLmV1Lm9yZyIsInJ1LmV1Lm9yZyIsInNlLmV1Lm9yZyIsInNpLmV1Lm9yZyIsInNrLmV1Lm9yZyIsInRyLmV1Lm9yZyIsInVrLmV1Lm9yZyIsInVzLmV1Lm9yZyIsImV1LTEuZXZlbm5vZGUuY29tIiwiZXUtMi5ldmVubm9kZS5jb20iLCJldS0z''@;'; put 'put ''LmV2ZW5ub2RlLmNvbSIsImV1LTQuZXZlbm5vZGUuY29tIiwidXMtMS5ldmVubm9kZS5jb20iLCJ1cy0yLmV2ZW5ub2RlLmNvbSIsInVzLTMuZXZlbm5vZGUuY29tIiwidXMtNC5ldmVubm9kZS5jb20iLCJ0d21haWwuY2MiLCJ0d21haWwubmV0IiwidHdtYWlsLm9yZyIsIm15bWFpbGVyLmNv''@;'; put 'put ''bS50dyIsInVybC50dyIsImFwcHMuZmJzYnguY29tIiwicnUubmV0IiwiYWR5Z2V5YS5ydSIsImJhc2hraXJpYS5ydSIsImJpci5ydSIsImNiZy5ydSIsImNvbS5ydSIsImRhZ2VzdGFuLnJ1IiwiZ3Jvem55LnJ1Iiwia2FsbXlraWEucnUiLCJrdXN0YW5haS5ydSIsIm1hcmluZS5ydSIsIm1v''@;'; put 'put ''cmRvdmlhLnJ1IiwibXNrLnJ1IiwibXl0aXMucnUiLCJuYWxjaGlrLnJ1Iiwibm92LnJ1IiwicHlhdGlnb3Jzay5ydSIsInNwYi5ydSIsInZsYWRpa2F2a2F6LnJ1IiwidmxhZGltaXIucnUiLCJhYmtoYXppYS5zdSIsImFkeWdleWEuc3UiLCJha3R5dWJpbnNrLnN1IiwiYXJraGFuZ2Vsc2su''@;'; put 'put ''c3UiLCJhcm1lbmlhLnN1IiwiYXNoZ2FiYWQuc3UiLCJhemVyYmFpamFuLnN1IiwiYmFsYXNob3Yuc3UiLCJiYXNoa2lyaWEuc3UiLCJicnlhbnNrLnN1IiwiYnVraGFyYS5zdSIsImNoaW1rZW50LnN1IiwiZGFnZXN0YW4uc3UiLCJlYXN0LWthemFraHN0YW4uc3UiLCJleG5ldC5zdSIsImdl''@;'; put 'put ''b3JnaWEuc3UiLCJncm96bnkuc3UiLCJpdmFub3ZvLnN1IiwiamFtYnlsLnN1Iiwia2FsbXlraWEuc3UiLCJrYWx1Z2Euc3UiLCJrYXJhY29sLnN1Iiwia2FyYWdhbmRhLnN1Iiwia2FyZWxpYS5zdSIsImtoYWthc3NpYS5zdSIsImtyYXNub2Rhci5zdSIsImt1cmdhbi5zdSIsImt1c3RhbmFp''@;'; put 'put ''LnN1IiwibGVudWcuc3UiLCJtYW5neXNobGFrLnN1IiwibW9yZG92aWEuc3UiLCJtc2suc3UiLCJtdXJtYW5zay5zdSIsIm5hbGNoaWsuc3UiLCJuYXZvaS5zdSIsIm5vcnRoLWthemFraHN0YW4uc3UiLCJub3Yuc3UiLCJvYm5pbnNrLnN1IiwicGVuemEuc3UiLCJwb2tyb3Zzay5zdSIsInNv''@;'; put 'put ''Y2hpLnN1Iiwic3BiLnN1IiwidGFzaGtlbnQuc3UiLCJ0ZXJtZXouc3UiLCJ0b2dsaWF0dGkuc3UiLCJ0cm9pdHNrLnN1IiwidHNlbGlub2dyYWQuc3UiLCJ0dWxhLnN1IiwidHV2YS5zdSIsInZsYWRpa2F2a2F6LnN1IiwidmxhZGltaXIuc3UiLCJ2b2xvZ2RhLnN1IiwiY2hhbm5lbHNkdnIu''@;'; put 'put ''bmV0IiwidS5jaGFubmVsc2R2ci5uZXQiLCJmYXN0bHktdGVycmFyaXVtLmNvbSIsImZhc3RseWxiLm5ldCIsIm1hcC5mYXN0bHlsYi5uZXQiLCJmcmVldGxzLmZhc3RseS5uZXQiLCJtYXAuZmFzdGx5Lm5ldCIsImEucHJvZC5mYXN0bHkubmV0IiwiZ2xvYmFsLnByb2QuZmFzdGx5Lm5ldCIs''@;'; put 'put ''ImEuc3NsLmZhc3RseS5uZXQiLCJiLnNzbC5mYXN0bHkubmV0IiwiZ2xvYmFsLnNzbC5mYXN0bHkubmV0IiwiZmFzdHBhbmVsLmRpcmVjdCIsImZhc3R2cHMtc2VydmVyLmNvbSIsImZoYXBwLnh5eiIsImZlZG9yYWluZnJhY2xvdWQub3JnIiwiZmVkb3JhcGVvcGxlLm9yZyIsImNsb3VkLmZl''@;'; put 'put ''ZG9yYXByb2plY3Qub3JnIiwiYXBwLm9zLmZlZG9yYXByb2plY3Qub3JnIiwiYXBwLm9zLnN0Zy5mZWRvcmFwcm9qZWN0Lm9yZyIsIm15ZG9iaXNzLmNvbSIsImZpbGVnZWFyLm1lIiwiZmlsZWdlYXItYXUubWUiLCJmaWxlZ2Vhci1kZS5tZSIsImZpbGVnZWFyLWdiLm1lIiwiZmlsZWdlYXIt''@;'; put 'put ''aWUubWUiLCJmaWxlZ2Vhci1qcC5tZSIsImZpbGVnZWFyLXNnLm1lIiwiZmlyZWJhc2VhcHAuY29tIiwiZmx5bm5odWIuY29tIiwiZmx5bm5ob3N0aW5nLm5ldCIsIjBlLnZjIiwiZnJlZWJveC1vcy5jb20iLCJmcmVlYm94b3MuY29tIiwiZmJ4LW9zLmZyIiwiZmJ4b3MuZnIiLCJmcmVlYm94''@;'; put 'put ''LW9zLmZyIiwiZnJlZWJveG9zLmZyIiwiZnJlZWRlc2t0b3Aub3JnIiwiKi5mdXR1cmVjbXMuYXQiLCIqLmV4LmZ1dHVyZWNtcy5hdCIsIiouaW4uZnV0dXJlY21zLmF0IiwiZnV0dXJlaG9zdGluZy5hdCIsImZ1dHVyZW1haWxpbmcuYXQiLCIqLmV4Lm9ydHNpbmZvLmF0IiwiKi5rdW5kZW4u''@;'; put 'put ''b3J0c2luZm8uYXQiLCIqLnN0YXRpY3MuY2xvdWQiLCJzZXJ2aWNlLmdvdi51ayIsImdlaGlybi5uZS5qcCIsInVzZXJjb250ZW50LmpwIiwiZ2VudGFwcHMuY29tIiwibGFiLm1zIiwiZ2l0aHViLmlvIiwiZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwiZ2l0bGFiLmlvIiwiZ2xpdGNoLm1lIiwi''@;'; put 'put ''bG9saXBvcC5pbyIsImNsb3VkYXBwcy5kaWdpdGFsIiwibG9uZG9uLmNsb3VkYXBwcy5kaWdpdGFsIiwiaG9tZW9mZmljZS5nb3YudWsiLCJyby5pbSIsInNob3Aucm8iLCJnb2lwLmRlIiwicnVuLmFwcCIsImEucnVuLmFwcCIsIndlYi5hcHAiLCIqLjBlbW0uY29tIiwiYXBwc3BvdC5jb20i''@;'; put 'put ''LCIqLnIuYXBwc3BvdC5jb20iLCJibG9nc3BvdC5hZSIsImJsb2dzcG90LmFsIiwiYmxvZ3Nwb3QuYW0iLCJibG9nc3BvdC5iYSIsImJsb2dzcG90LmJlIiwiYmxvZ3Nwb3QuYmciLCJibG9nc3BvdC5iaiIsImJsb2dzcG90LmNhIiwiYmxvZ3Nwb3QuY2YiLCJibG9nc3BvdC5jaCIsImJsb2dz''@;'; put 'put ''cG90LmNsIiwiYmxvZ3Nwb3QuY28uYXQiLCJibG9nc3BvdC5jby5pZCIsImJsb2dzcG90LmNvLmlsIiwiYmxvZ3Nwb3QuY28ua2UiLCJibG9nc3BvdC5jby5ueiIsImJsb2dzcG90LmNvLnVrIiwiYmxvZ3Nwb3QuY28uemEiLCJibG9nc3BvdC5jb20iLCJibG9nc3BvdC5jb20uYXIiLCJibG9n''@;'; put 'put ''c3BvdC5jb20uYXUiLCJibG9nc3BvdC5jb20uYnIiLCJibG9nc3BvdC5jb20uYnkiLCJibG9nc3BvdC5jb20uY28iLCJibG9nc3BvdC5jb20uY3kiLCJibG9nc3BvdC5jb20uZWUiLCJibG9nc3BvdC5jb20uZWciLCJibG9nc3BvdC5jb20uZXMiLCJibG9nc3BvdC5jb20ubXQiLCJibG9nc3Bv''@;'; put 'put ''dC5jb20ubmciLCJibG9nc3BvdC5jb20udHIiLCJibG9nc3BvdC5jb20udXkiLCJibG9nc3BvdC5jdiIsImJsb2dzcG90LmN6IiwiYmxvZ3Nwb3QuZGUiLCJibG9nc3BvdC5kayIsImJsb2dzcG90LmZpIiwiYmxvZ3Nwb3QuZnIiLCJibG9nc3BvdC5nciIsImJsb2dzcG90LmhrIiwiYmxvZ3Nw''@;'; put 'put ''b3QuaHIiLCJibG9nc3BvdC5odSIsImJsb2dzcG90LmllIiwiYmxvZ3Nwb3QuaW4iLCJibG9nc3BvdC5pcyIsImJsb2dzcG90Lml0IiwiYmxvZ3Nwb3QuanAiLCJibG9nc3BvdC5rciIsImJsb2dzcG90LmxpIiwiYmxvZ3Nwb3QubHQiLCJibG9nc3BvdC5sdSIsImJsb2dzcG90Lm1kIiwiYmxv''@;'; put 'put ''Z3Nwb3QubWsiLCJibG9nc3BvdC5tciIsImJsb2dzcG90Lm14IiwiYmxvZ3Nwb3QubXkiLCJibG9nc3BvdC5ubCIsImJsb2dzcG90Lm5vIiwiYmxvZ3Nwb3QucGUiLCJibG9nc3BvdC5wdCIsImJsb2dzcG90LnFhIiwiYmxvZ3Nwb3QucmUiLCJibG9nc3BvdC5ybyIsImJsb2dzcG90LnJzIiwi''@;'; put 'put ''YmxvZ3Nwb3QucnUiLCJibG9nc3BvdC5zZSIsImJsb2dzcG90LnNnIiwiYmxvZ3Nwb3Quc2kiLCJibG9nc3BvdC5zayIsImJsb2dzcG90LnNuIiwiYmxvZ3Nwb3QudGQiLCJibG9nc3BvdC50dyIsImJsb2dzcG90LnVnIiwiYmxvZ3Nwb3Qudm4iLCJjbG91ZGZ1bmN0aW9ucy5uZXQiLCJjbG91''@;'; put 'put ''ZC5nb29nIiwiY29kZXNwb3QuY29tIiwiZ29vZ2xlYXBpcy5jb20iLCJnb29nbGVjb2RlLmNvbSIsInBhZ2VzcGVlZG1vYmlsaXplci5jb20iLCJwdWJsaXNocHJveHkuY29tIiwid2l0aGdvb2dsZS5jb20iLCJ3aXRoeW91dHViZS5jb20iLCJhd3NtcHBsLmNvbSIsImZpbi5jaSIsImZyZWUu''@;'; put 'put ''aHIiLCJjYWEubGkiLCJ1YS5ycyIsImNvbmYuc2UiLCJocy56b25lIiwiaHMucnVuIiwiaGFzaGJhbmcuc2giLCJoYXN1cmEuYXBwIiwiaGFzdXJhLWFwcC5pbyIsImhlcGZvcmdlLm9yZyIsImhlcm9rdWFwcC5jb20iLCJoZXJva3Vzc2wuY29tIiwibXlyYXZlbmRiLmNvbSIsInJhdmVuZGIu''@;'; put 'put ''Y29tbXVuaXR5IiwicmF2ZW5kYi5tZSIsImRldmVsb3BtZW50LnJ1biIsInJhdmVuZGIucnVuIiwiYnBsLmJpeiIsIm9yeC5iaXoiLCJuZy5jaXR5IiwiYml6LmdsIiwibmcuaW5rIiwiY29sLm5nIiwiZmlybS5uZyIsImdlbi5uZyIsImx0ZC5uZyIsIm5nby5uZyIsIm5nLnNjaG9vbCIsInNj''@;'; put 'put ''aC5zbyIsImhceGU0a2tpbmVuLmZpIiwiKi5tb29uc2NhbGUuaW8iLCJtb29uc2NhbGUubmV0IiwiaWtpLmZpIiwiZHluLWJlcmxpbi5kZSIsImluLWJlcmxpbi5kZSIsImluLWJyYi5kZSIsImluLWJ1dHRlci5kZSIsImluLWRzbC5kZSIsImluLWRzbC5uZXQiLCJpbi1kc2wub3JnIiwiaW4t''@;'; put 'put ''dnBuLmRlIiwiaW4tdnBuLm5ldCIsImluLXZwbi5vcmciLCJiaXouYXQiLCJpbmZvLmF0IiwiaW5mby5jeCIsImFjLmxlZy5iciIsImFsLmxlZy5iciIsImFtLmxlZy5iciIsImFwLmxlZy5iciIsImJhLmxlZy5iciIsImNlLmxlZy5iciIsImRmLmxlZy5iciIsImVzLmxlZy5iciIsImdvLmxl''@;'; put 'put ''Zy5iciIsIm1hLmxlZy5iciIsIm1nLmxlZy5iciIsIm1zLmxlZy5iciIsIm10LmxlZy5iciIsInBhLmxlZy5iciIsInBiLmxlZy5iciIsInBlLmxlZy5iciIsInBpLmxlZy5iciIsInByLmxlZy5iciIsInJqLmxlZy5iciIsInJuLmxlZy5iciIsInJvLmxlZy5iciIsInJyLmxlZy5iciIsInJz''@;'; put 'put ''LmxlZy5iciIsInNjLmxlZy5iciIsInNlLmxlZy5iciIsInNwLmxlZy5iciIsInRvLmxlZy5iciIsInBpeG9saW5vLmNvbSIsImlwaWZvbnkubmV0IiwibWVpbi1pc2Vydi5kZSIsInRlc3QtaXNlcnYuZGUiLCJpc2Vydi5kZXYiLCJpb2JiLm5ldCIsIm15amluby5ydSIsIiouaG9zdGluZy5t''@;'; put 'put ''eWppbm8ucnUiLCIqLmxhbmRpbmcubXlqaW5vLnJ1IiwiKi5zcGVjdHJ1bS5teWppbm8ucnUiLCIqLnZwcy5teWppbm8ucnUiLCIqLnRyaXRvbi56b25lIiwiKi5jbnMuam95ZW50LmNvbSIsImpzLm9yZyIsImthYXMuZ2ciLCJraHBsYXkubmwiLCJrZXltYWNoaW5lLmRlIiwia2luZ2hvc3Qu''@;'; put 'put ''bmV0IiwidW5pNS5uZXQiLCJrbmlnaHRwb2ludC5zeXN0ZW1zIiwib3lhLnRvIiwiY28ua3JkIiwiZWR1LmtyZCIsImdpdC1yZXBvcy5kZSIsImxjdWJlLXNlcnZlci5kZSIsInN2bi1yZXBvcy5kZSIsImxlYWRwYWdlcy5jbyIsImxwYWdlcy5jbyIsImxwdXNlcmNvbnRlbnQuY29tIiwibGVs''@;'; put 'put ''dXguc2l0ZSIsImNvLmJ1c2luZXNzIiwiY28uZWR1Y2F0aW9uIiwiY28uZXZlbnRzIiwiY28uZmluYW5jaWFsIiwiY28ubmV0d29yayIsImNvLnBsYWNlIiwiY28udGVjaG5vbG9neSIsImFwcC5sbXBtLmNvbSIsImxpbmtpdG9vbHMuc3BhY2UiLCJsaW5reWFyZC5jbG91ZCIsImxpbmt5YXJk''@;'; put 'put ''LWNsb3VkLmNoIiwibWVtYmVycy5saW5vZGUuY29tIiwibm9kZWJhbGFuY2VyLmxpbm9kZS5jb20iLCJ3ZS5icyIsImxvZ2lubGluZS5hcHAiLCJsb2dpbmxpbmUuZGV2IiwibG9naW5saW5lLmlvIiwibG9naW5saW5lLnNlcnZpY2VzIiwibG9naW5saW5lLnNpdGUiLCJrcmFzbmlrLnBsIiwi''@;'; put 'put ''bGVjem5hLnBsIiwibHViYXJ0b3cucGwiLCJsdWJsaW4ucGwiLCJwb25pYXRvd2EucGwiLCJzd2lkbmlrLnBsIiwidWtsdWdzLm9yZyIsImdsdWcub3JnLnVrIiwibHVnLm9yZy51ayIsImx1Z3Mub3JnLnVrIiwiYmFyc3kuYmciLCJiYXJzeS5jby51ayIsImJhcnN5b25saW5lLmNvLnVrIiwi''@;'; put 'put ''YmFyc3ljZW50ZXIuY29tIiwiYmFyc3lvbmxpbmUuY29tIiwiYmFyc3kuY2x1YiIsImJhcnN5LmRlIiwiYmFyc3kuZXUiLCJiYXJzeS5pbiIsImJhcnN5LmluZm8iLCJiYXJzeS5pbyIsImJhcnN5Lm1lIiwiYmFyc3kubWVudSIsImJhcnN5Lm1vYmkiLCJiYXJzeS5uZXQiLCJiYXJzeS5vbmxp''@;'; put 'put ''bmUiLCJiYXJzeS5vcmciLCJiYXJzeS5wcm8iLCJiYXJzeS5wdWIiLCJiYXJzeS5zaG9wIiwiYmFyc3kuc2l0ZSIsImJhcnN5LnN1cHBvcnQiLCJiYXJzeS51ayIsIioubWFnZW50b3NpdGUuY2xvdWQiLCJtYXlmaXJzdC5pbmZvIiwibWF5Zmlyc3Qub3JnIiwiaGIuY2xkbWFpbC5ydSIsIm1p''@;'; put 'put ''bmlzZXJ2ZXIuY29tIiwibWVtc2V0Lm5ldCIsImNsb3VkLm1ldGFjZW50cnVtLmN6IiwiY3VzdG9tLm1ldGFjZW50cnVtLmN6IiwiZmx0LmNsb3VkLm11bmkuY3oiLCJ1c3IuY2xvdWQubXVuaS5jeiIsIm1ldGVvcmFwcC5jb20iLCJldS5tZXRlb3JhcHAuY29tIiwiY28ucGwiLCJhenVyZWNv''@;'; put 'put ''bnRhaW5lci5pbyIsImF6dXJld2Vic2l0ZXMubmV0IiwiYXp1cmUtbW9iaWxlLm5ldCIsImNsb3VkYXBwLm5ldCIsIm1vemlsbGEtaW90Lm9yZyIsImJtb2F0dGFjaG1lbnRzLm9yZyIsIm5ldC5ydSIsIm9yZy5ydSIsInBwLnJ1IiwidWkubmFidS5jYXNhIiwicG9ueS5jbHViIiwib2YuZmFz''@;'; put 'put ''aGlvbiIsIm9uLmZhc2hpb24iLCJvZi5mb290YmFsbCIsImluLmxvbmRvbiIsIm9mLmxvbmRvbiIsImZvci5tZW4iLCJhbmQubW9tIiwiZm9yLm1vbSIsImZvci5vbmUiLCJmb3Iuc2FsZSIsIm9mLndvcmsiLCJ0by53b3JrIiwibmN0dS5tZSIsImJpdGJhbGxvb24uY29tIiwibmV0bGlmeS5j''@;'; put 'put ''b20iLCI0dS5jb20iLCJuZ3Jvay5pbyIsIm5oLXNlcnYuY28udWsiLCJuZnNob3N0LmNvbSIsImRuc2tpbmcuY2giLCJteXBpLmNvIiwibjR0LmNvIiwiMDAxd3d3LmNvbSIsImRkbnNsaXZlLmNvbSIsIm15aXBob3N0LmNvbSIsImZvcnVtei5pbmZvIiwiMTYtYi5pdCIsIjMyLWIuaXQiLCI2''@;'; put 'put ''NC1iLml0Iiwic291bmRjYXN0Lm1lIiwidGNwNC5tZSIsImRuc3VwLm5ldCIsImhpY2FtLm5ldCIsIm5vdy1kbnMubmV0Iiwib3duaXAubmV0IiwidnBuZG5zLm5ldCIsImR5bnNlcnYub3JnIiwibm93LWRucy5vcmciLCJ4NDQzLnB3Iiwibm93LWRucy50b3AiLCJudGRsbC50b3AiLCJmcmVl''@;'; put 'put ''ZGRucy51cyIsImNyYWZ0aW5nLnh5eiIsInphcHRvLnh5eiIsIm5zdXBkYXRlLmluZm8iLCJuZXJkcG9sLm92aCIsImJsb2dzeXRlLmNvbSIsImJyYXNpbGlhLm1lIiwiY2FibGUtbW9kZW0ub3JnIiwiY2lzY29mcmVhay5jb20iLCJjb2xsZWdlZmFuLm9yZyIsImNvdWNocG90YXRvZnJpZXMu''@;'; put 'put ''b3JnIiwiZGFtbnNlcnZlci5jb20iLCJkZG5zLm1lIiwiZGl0Y2h5b3VyaXAuY29tIiwiZG5zZm9yLm1lIiwiZG5zaXNraW5reS5jb20iLCJkdnJjYW0uaW5mbyIsImR5bm5zLmNvbSIsImVhdGluZy1vcmdhbmljLm5ldCIsImZhbnRhc3lsZWFndWUuY2MiLCJnZWVrZ2FsYXh5LmNvbSIsImdv''@;'; put 'put ''bGZmYW4udXMiLCJoZWFsdGgtY2FyZXJlZm9ybS5jb20iLCJob21lc2VjdXJpdHltYWMuY29tIiwiaG9tZXNlY3VyaXR5cGMuY29tIiwiaG9wdG8ubWUiLCJpbG92ZWNvbGxlZ2UuaW5mbyIsImxvZ2ludG8ubWUiLCJtbGJmYW4ub3JnIiwibW1hZmFuLmJpeiIsIm15YWN0aXZlZGlyZWN0b3J5''@;'; put 'put ''LmNvbSIsIm15ZGlzc2VudC5uZXQiLCJteWVmZmVjdC5uZXQiLCJteW1lZGlhcGMubmV0IiwibXlwc3gubmV0IiwibXlzZWN1cml0eWNhbWVyYS5jb20iLCJteXNlY3VyaXR5Y2FtZXJhLm5ldCIsIm15c2VjdXJpdHljYW1lcmEub3JnIiwibmV0LWZyZWFrcy5jb20iLCJuZmxmYW4ub3JnIiwi''@;'; put 'put ''bmhsZmFuLm5ldCIsIm5vLWlwLmNhIiwibm8taXAuY28udWsiLCJuby1pcC5uZXQiLCJub2lwLnVzIiwib250aGV3aWZpLmNvbSIsInBnYWZhbi5uZXQiLCJwb2ludDJ0aGlzLmNvbSIsInBvaW50dG8udXMiLCJwcml2YXRpemVoZWFsdGhpbnN1cmFuY2UubmV0IiwicXVpY2tzeXRlcy5jb20i''@;'; put 'put ''LCJyZWFkLWJvb2tzLm9yZyIsInNlY3VyaXR5dGFjdGljcy5jb20iLCJzZXJ2ZWV4Y2hhbmdlLmNvbSIsInNlcnZlaHVtb3VyLmNvbSIsInNlcnZlcDJwLmNvbSIsInNlcnZlc2FyY2FzbS5jb20iLCJzdHVmZnRvcmVhZC5jb20iLCJ1ZmNmYW4ub3JnIiwidW51c3VhbHBlcnNvbi5jb20iLCJ3''@;'; put 'put ''b3JraXNib3JpbmcuY29tIiwiM3V0aWxpdGllcy5jb20iLCJib3VuY2VtZS5uZXQiLCJkZG5zLm5ldCIsImRkbnNraW5nLmNvbSIsImdvdGRucy5jaCIsImhvcHRvLm9yZyIsIm15ZnRwLmJpeiIsIm15ZnRwLm9yZyIsIm15dm5jLmNvbSIsIm5vLWlwLmJpeiIsIm5vLWlwLmluZm8iLCJuby1p''@;'; put 'put ''cC5vcmciLCJub2lwLm1lIiwicmVkaXJlY3RtZS5uZXQiLCJzZXJ2ZWJlZXIuY29tIiwic2VydmVibG9nLm5ldCIsInNlcnZlY291bnRlcnN0cmlrZS5jb20iLCJzZXJ2ZWZ0cC5jb20iLCJzZXJ2ZWdhbWUuY29tIiwic2VydmVoYWxmbGlmZS5jb20iLCJzZXJ2ZWh0dHAuY29tIiwic2VydmVp''@;'; put 'put ''cmMuY29tIiwic2VydmVtaW5lY3JhZnQubmV0Iiwic2VydmVtcDMuY29tIiwic2VydmVwaWNzLmNvbSIsInNlcnZlcXVha2UuY29tIiwic3l0ZXMubmV0Iiwid2ViaG9wLm1lIiwiemFwdG8ub3JnIiwic3RhZ2Uubm9kZWFydC5pbyIsIm5vZHVtLmNvIiwibm9kdW0uaW8iLCJwY2xvdWQuaG9z''@;'; put 'put ''dCIsIm55Yy5tbiIsIm5vbS5hZSIsIm5vbS5hZiIsIm5vbS5haSIsIm5vbS5hbCIsIm55bS5ieSIsIm5vbS5ieiIsIm55bS5ieiIsIm5vbS5jbCIsIm55bS5lYyIsIm5vbS5nZCIsIm5vbS5nZSIsIm5vbS5nbCIsIm55bS5nciIsIm5vbS5ndCIsIm55bS5neSIsIm55bS5oayIsIm5vbS5obiIs''@;'; put 'put ''Im55bS5pZSIsIm5vbS5pbSIsIm5vbS5rZSIsIm55bS5reiIsIm55bS5sYSIsIm55bS5sYyIsIm5vbS5saSIsIm55bS5saSIsIm55bS5sdCIsIm55bS5sdSIsIm5vbS5sdiIsIm55bS5tZSIsIm5vbS5tayIsIm55bS5tbiIsIm55bS5teCIsIm5vbS5udSIsIm55bS5ueiIsIm55bS5wZSIsIm55''@;'; put 'put ''bS5wdCIsIm5vbS5wdyIsIm5vbS5xYSIsIm55bS5ybyIsIm5vbS5ycyIsIm5vbS5zaSIsIm55bS5zayIsIm5vbS5zdCIsIm55bS5zdSIsIm55bS5zeCIsIm5vbS50aiIsIm55bS50dyIsIm5vbS51ZyIsIm5vbS51eSIsIm5vbS52YyIsIm5vbS52ZyIsInN0YXRpYy5vYnNlcnZhYmxldXNlcmNv''@;'; put 'put ''bnRlbnQuY29tIiwiY3lhLmdnIiwiY2xvdWR5Y2x1c3Rlci5uZXQiLCJuaWQuaW8iLCJvcGVuY3JhZnQuaG9zdGluZyIsIm9wZXJhdW5pdGUuY29tIiwic2t5Z2VhcmFwcC5jb20iLCJvdXRzeXN0ZW1zY2xvdWQuY29tIiwib3ducHJvdmlkZXIuY29tIiwib3duLnBtIiwib3gucnMiLCJveS5s''@;'; put 'put ''YyIsInBnZm9nLmNvbSIsInBhZ2Vmcm9udGFwcC5jb20iLCJhcnQucGwiLCJnbGl3aWNlLnBsIiwia3Jha293LnBsIiwicG96bmFuLnBsIiwid3JvYy5wbCIsInpha29wYW5lLnBsIiwicGFudGhlb25zaXRlLmlvIiwiZ290cGFudGhlb24uY29tIiwibXlwZXAubGluayIsInBlcnNwZWN0YS5j''@;'; put 'put ''bG91ZCIsIm9uLXdlYi5mciIsIioucGxhdGZvcm0uc2giLCIqLnBsYXRmb3Jtc2guc2l0ZSIsImR5bjUzLmlvIiwiY28uYm4iLCJ4ZW4ucHJnbXIuY29tIiwicHJpdi5hdCIsInBydmN5LnBhZ2UiLCIqLmR3ZWIubGluayIsInByb3RvbmV0LmlvIiwiY2hpcnVyZ2llbnMtZGVudGlzdGVzLWVu''@;'; put 'put ''LWZyYW5jZS5mciIsImJ5ZW4uc2l0ZSIsInB1YnRscy5vcmciLCJxdWFsaWZpb2FwcC5jb20iLCJxYnVzZXIuY29tIiwiaW5zdGFudGNsb3VkLmNuIiwicmFzLnJ1IiwicWEyLmNvbSIsInFjeC5pbyIsIiouc3lzLnFjeC5pbyIsImRldi1teXFuYXBjbG91ZC5jb20iLCJhbHBoYS1teXFuYXBj''@;'; put 'put ''bG91ZC5jb20iLCJteXFuYXBjbG91ZC5jb20iLCIqLnF1aXBlbGVtZW50cy5jb20iLCJ2YXBvci5jbG91ZCIsInZhcG9yY2xvdWQuaW8iLCJyYWNrbWF6ZS5jb20iLCJyYWNrbWF6ZS5uZXQiLCIqLm9uLWszcy5pbyIsIioub24tcmFuY2hlci5jbG91ZCIsIioub24tcmlvLmlvIiwicmVhZHRo''@;'; put 'put ''ZWRvY3MuaW8iLCJyaGNsb3VkLmNvbSIsImFwcC5yZW5kZXIuY29tIiwib25yZW5kZXIuY29tIiwicmVwbC5jbyIsInJlcGwucnVuIiwicmVzaW5kZXZpY2UuaW8iLCJkZXZpY2VzLnJlc2luc3RhZ2luZy5pbyIsImh6Yy5pbyIsIndlbGxiZWluZ3pvbmUuZXUiLCJwdHBsdXMuZml0Iiwid2Vs''@;'; put 'put ''bGJlaW5nem9uZS5jby51ayIsImdpdC1wYWdlcy5yaXQuZWR1Iiwic2FuZGNhdHMuaW8iLCJsb2dvaXAuZGUiLCJsb2dvaXAuY29tIiwic2Nob2tva2Vrcy5uZXQiLCJnb3Yuc2NvdCIsInNjcnlzZWMuY29tIiwiZmlyZXdhbGwtZ2F0ZXdheS5jb20iLCJmaXJld2FsbC1nYXRld2F5LmRlIiwi''@;'; put 'put ''bXktZ2F0ZXdheS5kZSIsIm15LXJvdXRlci5kZSIsInNwZG5zLmRlIiwic3BkbnMuZXUiLCJmaXJld2FsbC1nYXRld2F5Lm5ldCIsIm15LWZpcmV3YWxsLm9yZyIsIm15ZmlyZXdhbGwub3JnIiwic3BkbnMub3JnIiwic2Vuc2VlcmluZy5uZXQiLCJiaXoudWEiLCJjby51YSIsInBwLnVhIiwi''@;'; put 'put ''c2hpZnRlZGl0LmlvIiwibXlzaG9wYmxvY2tzLmNvbSIsInNob3BpdHNpdGUuY29tIiwibW8tc2llbWVucy5pbyIsIjFrYXBwLmNvbSIsImFwcGNoaXppLmNvbSIsImFwcGxpbnppLmNvbSIsInNpbmFhcHAuY29tIiwidmlwc2luYWFwcC5jb20iLCJzaXRlbGVhZi5uZXQiLCJib3VudHktZnVs''@;'; put 'put ''bC5jb20iLCJhbHBoYS5ib3VudHktZnVsbC5jb20iLCJiZXRhLmJvdW50eS1mdWxsLmNvbSIsInN0YWNraGVyby1uZXR3b3JrLmNvbSIsInN0YXRpYy5sYW5kIiwiZGV2LnN0YXRpYy5sYW5kIiwic2l0ZXMuc3RhdGljLmxhbmQiLCJhcHBzLmxhaXIuaW8iLCIqLnN0b2xvcy5pbyIsInNwYWNl''@;'; put 'put ''a2l0LmlvIiwiY3VzdG9tZXIuc3BlZWRwYXJ0bmVyLmRlIiwiYXBpLnN0ZGxpYi5jb20iLCJzdG9yai5mYXJtIiwidXR3ZW50ZS5pbyIsInNvYy5zcmNmLm5ldCIsInVzZXIuc3JjZi5uZXQiLCJ0ZW1wLWRucy5jb20iLCJhcHBsaWNhdGlvbmNsb3VkLmlvIiwic2NhcHAuaW8iLCIqLnM1eS5p''@;'; put 'put ''byIsIiouc2Vuc2lvc2l0ZS5jbG91ZCIsInN5bmNsb3VkLml0IiwiZGlza3N0YXRpb24ubWUiLCJkc2Nsb3VkLmJpeiIsImRzY2xvdWQubWUiLCJkc2Nsb3VkLm1vYmkiLCJkc215bmFzLmNvbSIsImRzbXluYXMubmV0IiwiZHNteW5hcy5vcmciLCJmYW1pbHlkcy5jb20iLCJmYW1pbHlkcy5u''@;'; put 'put ''ZXQiLCJmYW1pbHlkcy5vcmciLCJpMjM0Lm1lIiwibXlkcy5tZSIsInN5bm9sb2d5Lm1lIiwidnBucGx1cy50byIsImRpcmVjdC5xdWlja2Nvbm5lY3QudG8iLCJ0YWlmdW4tZG5zLmRlIiwiZ2RhLnBsIiwiZ2RhbnNrLnBsIiwiZ2R5bmlhLnBsIiwibWVkLnBsIiwic29wb3QucGwiLCJlZHVn''@;'; put 'put ''aXQub3JnIiwidGVsZWJpdC5hcHAiLCJ0ZWxlYml0LmlvIiwiKi50ZWxlYml0Lnh5eiIsImd3aWRkbGUuY28udWsiLCJ0aGluZ2R1c3RkYXRhLmNvbSIsImN1c3QuZGV2LnRoaW5nZHVzdC5pbyIsImN1c3QuZGlzcmVjLnRoaW5nZHVzdC5pbyIsImN1c3QucHJvZC50aGluZ2R1c3QuaW8iLCJj''@;'; put 'put ''dXN0LnRlc3RpbmcudGhpbmdkdXN0LmlvIiwiYXJ2by5uZXR3b3JrIiwiYXppbXV0aC5uZXR3b3JrIiwiYmxveGNtcy5jb20iLCJ0b3dubmV3cy1zdGFnaW5nLmNvbSIsIjEyaHAuYXQiLCIyaXguYXQiLCI0bGltYS5hdCIsImxpbWEtY2l0eS5hdCIsIjEyaHAuY2giLCIyaXguY2giLCI0bGlt''@;'; put 'put ''YS5jaCIsImxpbWEtY2l0eS5jaCIsInRyYWZmaWNwbGV4LmNsb3VkIiwiZGUuY29vbCIsIjEyaHAuZGUiLCIyaXguZGUiLCI0bGltYS5kZSIsImxpbWEtY2l0eS5kZSIsIjEzMzcucGljdHVyZXMiLCJjbGFuLnJpcCIsImxpbWEtY2l0eS5yb2NrcyIsIndlYnNwYWNlLnJvY2tzIiwibGltYS56''@;'; put 'put ''b25lIiwiKi50cmFuc3VybC5iZSIsIioudHJhbnN1cmwuZXUiLCIqLnRyYW5zdXJsLm5sIiwidHV4ZmFtaWx5Lm9yZyIsImRkLWRucy5kZSIsImRpc2tzdGF0aW9uLmV1IiwiZGlza3N0YXRpb24ub3JnIiwiZHJheS1kbnMuZGUiLCJkcmF5ZG5zLmRlIiwiZHluLXZwbi5kZSIsImR5bnZwbi5k''@;'; put 'put ''ZSIsIm1laW4tdmlnb3IuZGUiLCJteS12aWdvci5kZSIsIm15LXdhbi5kZSIsInN5bm8tZHMuZGUiLCJzeW5vbG9neS1kaXNrc3RhdGlvbi5kZSIsInN5bm9sb2d5LWRzLmRlIiwidWJlci5zcGFjZSIsIioudWJlcnNwYWNlLmRlIiwiaGsuY29tIiwiaGsub3JnIiwibHRkLmhrIiwiaW5jLmhr''@;'; put 'put ''IiwidmlydHVhbHVzZXIuZGUiLCJ2aXJ0dWFsLXVzZXIuZGUiLCJ1cm93bi5jbG91ZCIsImRuc3VwZGF0ZS5pbmZvIiwibGliLmRlLnVzIiwiMjAzOC5pbyIsInJvdXRlci5tYW5hZ2VtZW50Iiwidi1pbmZvLmluZm8iLCJ2b29ybG9wZXIuY2xvdWQiLCJ2LnVhIiwid2FmZmxlY2VsbC5jb20i''@;'; put 'put ''LCIqLndlYmhhcmUuZGV2Iiwid2VkZXBsb3kuaW8iLCJ3ZWRlcGxveS5tZSIsIndlZGVwbG95LnNoIiwicmVtb3Rld2QuY29tIiwid21mbGFicy5vcmciLCJteWZvcnVtLmNvbW11bml0eSIsImNvbW11bml0eS1wcm8uZGUiLCJkaXNrdXNzaW9uc2JlcmVpY2guZGUiLCJjb21tdW5pdHktcHJv''@;'; put 'put ''Lm5ldCIsIm1laW5mb3J1bS5uZXQiLCJoYWxmLmhvc3QiLCJ4bmJheS5jb20iLCJ1Mi54bmJheS5jb20iLCJ1Mi1sb2NhbC54bmJheS5jb20iLCJjaXN0cm9uLm5sIiwiZGVtb24ubmwiLCJ4czRhbGwuc3BhY2UiLCJ5YW5kZXhjbG91ZC5uZXQiLCJzdG9yYWdlLnlhbmRleGNsb3VkLm5ldCIs''@;'; put 'put ''IndlYnNpdGUueWFuZGV4Y2xvdWQubmV0Iiwib2ZmaWNpYWwuYWNhZGVteSIsInlvbGFzaXRlLmNvbSIsInliby5mYWl0aCIsInlvbWJvLm1lIiwiaG9tZWxpbmsub25lIiwieWJvLnBhcnR5IiwieWJvLnJldmlldyIsInliby5zY2llbmNlIiwieWJvLnRyYWRlIiwibm9ob3N0Lm1lIiwibm9o''@;'; put 'put ''by5zdCIsInphLm5ldCIsInphLm9yZyIsIm5vdy5zaCIsImJzcy5kZXNpZ24iLCJiYXNpY3NlcnZlci5pbyIsInZpcnR1YWxzZXJ2ZXIuaW8iLCJlbnRlcnByaXNlY2xvdWQubnUiXScpfX0sZ2U9e307ZnVuY3Rpb24gaGUoWil7dmFyIEE9Z2VbWl07aWYodm9pZCAwIT09QSlyZXR1cm4gQS5l''@;'; put 'put ''eHBvcnRzO3ZhciBqPWdlW1pdPXtpZDpaLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gb2VbWl0uY2FsbChqLmV4cG9ydHMsaixqLmV4cG9ydHMsaGUpLGoubG9hZGVkPSEwLGouZXhwb3J0c31yZXR1cm4gaGUuZD0oWixBKT0+e2Zvcih2YXIgaiBpbiBBKWhlLm8oQSxqKSYmIWhlLm8o''@;'; put 'put ''WixqKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFosaix7ZW51bWVyYWJsZTohMCxnZXQ6QVtqXX0pfSxoZS5nPWZ1bmN0aW9uKCl7aWYoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhp''@;'; put 'put ''cyIpKCl9Y2F0Y2goWil7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksaGUubz0oWixBKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFosQSksaGUucj1aPT57InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmlu''@;'; put 'put ''Z1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFosU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZToiTW9kdWxlIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShaLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0saGUubm1kPVo9PihaLnBhdGhzPVtdLFouY2hpbGRyZW58fChaLmNoaWxkcmVuPVtd''@;'; put 'put ''KSxaKSxoZSgzNjA3KX0pKCl9LDY0MzE6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiYWYiLHttb250aHM6IkphbnVhcmllX0ZlYnJ1YXJpZV9NYWFydF9BcHJpbF9NZWlfSnVuaWVfSnVsaWVfQXVndXN0dXNfU2VwdGVtYmVy''@;'; put 'put ''X09rdG9iZXJfTm92ZW1iZXJfRGVzZW1iZXIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ikphbl9GZWJfTXJ0X0Fwcl9NZWlfSnVuX0p1bF9BdWdfU2VwX09rdF9Ob3ZfRGVzIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJTb25kYWdfTWFhbmRhZ19EaW5zZGFnX1dvZW5zZGFnX0RvbmRlcmRhZ19W''@;'; put 'put ''cnlkYWdfU2F0ZXJkYWciLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU29uX01hYV9EaW5fV29lX0Rvbl9WcnlfU2F0Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJTb19NYV9EaV9Xb19Eb19Wcl9TYSIuc3BsaXQoIl8iKSxtZXJpZGllbVBhcnNlOi92bXxubS9pLGlzUE06ZnVuY3Rpb24o''@;'; put 'put ''Z2Upe3JldHVybi9ebm0kL2kudGVzdChnZSl9LG1lcmlkaWVtOmZ1bmN0aW9uKGdlLGhlLFope3JldHVybiBnZTwxMj9aPyJ2bSI6IlZNIjpaPyJubSI6Ik5NIn0sbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZ''@;'; put 'put ''IixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbVmFuZGFnIG9tXSBMVCIsbmV4dERheToiW01ceGY0cmUgb21dIExUIixuZXh0V2VlazoiZGRkZCBbb21dIExUIixsYXN0RGF5OiJbR2lzdGVyIG9tXSBM''@;'; put 'put ''VCIsbGFzdFdlZWs6IltMYWFzXSBkZGRkIFtvbV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Im9vciAlcyIscGFzdDoiJXMgZ2VsZWRlIixzOiInbiBwYWFyIHNla29uZGVzIixzczoiJWQgc2Vrb25kZXMiLG06IiduIG1pbnV1dCIsbW06IiVkIG1pbnV0ZSIsaDoi''@;'; put 'put ''J24gdXVyIixoaDoiJWQgdXJlIixkOiInbiBkYWciLGRkOiIlZCBkYWUiLE06IiduIG1hYW5kIixNTToiJWQgbWFhbmRlIix5OiInbiBqYWFyIix5eToiJWQgamFhciJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oc3RlfGRlKS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7cmV0dXJu''@;'; put 'put ''IGdlKygxPT09Z2V8fDg9PT1nZXx8Z2U+PTIwPyJzdGUiOiJkZSIpfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSwxNjE2OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ZnVuY3Rpb24oail7cmV0dXJuIDA9PT1qPzA6MT09PWo/''@;'; put 'put ''MToyPT09aj8yOmolMTAwPj0zJiZqJTEwMDw9MTA/MzpqJTEwMD49MTE/NDo1fSxnZT17czpbIlx1MDYyM1x1MDY0Mlx1MDY0NCBcdTA2NDVcdTA2NDYgXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjI5IiwiXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjI5IFx1MDY0OFx1MDYyN1x1''@;'; put 'put ''MDYyZFx1MDYyZlx1MDYyOSIsWyJcdTA2MmJcdTA2MjdcdTA2NDZcdTA2NGFcdTA2MmFcdTA2MjdcdTA2NDYiLCJcdTA2MmJcdTA2MjdcdTA2NDZcdTA2NGFcdTA2MmFcdTA2NGFcdTA2NDYiXSwiJWQgXHUwNjJiXHUwNjQ4XHUwNjI3XHUwNjQ2IiwiJWQgXHUwNjJiXHUwNjI3XHUwNjQ2XHUw''@;'; put 'put ''NjRhXHUwNjI5IiwiJWQgXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjI5Il0sbTpbIlx1MDYyM1x1MDY0Mlx1MDY0NCBcdTA2NDVcdTA2NDYgXHUwNjJmXHUwNjQyXHUwNjRhXHUwNjQyXHUwNjI5IiwiXHUwNjJmXHUwNjQyXHUwNjRhXHUwNjQyXHUwNjI5IFx1MDY0OFx1MDYyN1x1MDYy''@;'; put 'put ''ZFx1MDYyZlx1MDYyOSIsWyJcdTA2MmZcdTA2NDJcdTA2NGFcdTA2NDJcdTA2MmFcdTA2MjdcdTA2NDYiLCJcdTA2MmZcdTA2NDJcdTA2NGFcdTA2NDJcdTA2MmFcdTA2NGFcdTA2NDYiXSwiJWQgXHUwNjJmXHUwNjQyXHUwNjI3XHUwNjI2XHUwNjQyIiwiJWQgXHUwNjJmXHUwNjQyXHUwNjRh''@;'; put 'put ''XHUwNjQyXHUwNjI5IiwiJWQgXHUwNjJmXHUwNjQyXHUwNjRhXHUwNjQyXHUwNjI5Il0saDpbIlx1MDYyM1x1MDY0Mlx1MDY0NCBcdTA2NDVcdTA2NDYgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5IiwiXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5IFx1MDY0OFx1MDYyN1x1MDYyZFx1MDYyZlx1''@;'; put 'put ''MDYyOSIsWyJcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MmFcdTA2MjdcdTA2NDYiLCJcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MmFcdTA2NGFcdTA2NDYiXSwiJWQgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI3XHUwNjJhIiwiJWQgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5IiwiJWQgXHUwNjMzXHUw''@;'; put 'put ''NjI3XHUwNjM5XHUwNjI5Il0sZDpbIlx1MDYyM1x1MDY0Mlx1MDY0NCBcdTA2NDVcdTA2NDYgXHUwNjRhXHUwNjQ4XHUwNjQ1IiwiXHUwNjRhXHUwNjQ4XHUwNjQ1IFx1MDY0OFx1MDYyN1x1MDYyZFx1MDYyZiIsWyJcdTA2NGFcdTA2NDhcdTA2NDVcdTA2MjdcdTA2NDYiLCJcdTA2NGFcdTA2''@;'; put 'put ''NDhcdTA2NDVcdTA2NGFcdTA2NDYiXSwiJWQgXHUwNjIzXHUwNjRhXHUwNjI3XHUwNjQ1IiwiJWQgXHUwNjRhXHUwNjQ4XHUwNjQ1XHUwNjRiXHUwNjI3IiwiJWQgXHUwNjRhXHUwNjQ4XHUwNjQ1Il0sTTpbIlx1MDYyM1x1MDY0Mlx1MDY0NCBcdTA2NDVcdTA2NDYgXHUwNjM0XHUwNjQ3XHUw''@;'; put 'put ''NjMxIiwiXHUwNjM0XHUwNjQ3XHUwNjMxIFx1MDY0OFx1MDYyN1x1MDYyZFx1MDYyZiIsWyJcdTA2MzRcdTA2NDdcdTA2MzFcdTA2MjdcdTA2NDYiLCJcdTA2MzRcdTA2NDdcdTA2MzFcdTA2NGFcdTA2NDYiXSwiJWQgXHUwNjIzXHUwNjM0XHUwNjQ3XHUwNjMxIiwiJWQgXHUwNjM0XHUwNjQ3''@;'; put 'put ''XHUwNjMxXHUwNjI3IiwiJWQgXHUwNjM0XHUwNjQ3XHUwNjMxIl0seTpbIlx1MDYyM1x1MDY0Mlx1MDY0NCBcdTA2NDVcdTA2NDYgXHUwNjM5XHUwNjI3XHUwNjQ1IiwiXHUwNjM5XHUwNjI3XHUwNjQ1IFx1MDY0OFx1MDYyN1x1MDYyZFx1MDYyZiIsWyJcdTA2MzlcdTA2MjdcdTA2NDVcdTA2''@;'; put 'put ''MjdcdTA2NDYiLCJcdTA2MzlcdTA2MjdcdTA2NDVcdTA2NGFcdTA2NDYiXSwiJWQgXHUwNjIzXHUwNjM5XHUwNjQ4XHUwNjI3XHUwNjQ1IiwiJWQgXHUwNjM5XHUwNjI3XHUwNjQ1XHUwNjRiXHUwNjI3IiwiJWQgXHUwNjM5XHUwNjI3XHUwNjQ1Il19LGhlPWZ1bmN0aW9uKGope3JldHVybiBm''@;'; put 'put ''dW5jdGlvbihOLHosQyxTKXt2YXIgbT1vZShOKSxGPWdlW2pdW29lKE4pXTtyZXR1cm4gMj09PW0mJihGPUZbej8wOjFdKSxGLnJlcGxhY2UoLyVkL2ksTil9fSxaPVsiXHUwNjJjXHUwNjI3XHUwNjQ2XHUwNjQxXHUwNjRhIiwiXHUwNjQxXHUwNjRhXHUwNjQxXHUwNjMxXHUwNjRhIiwiXHUw''@;'; put 'put ''NjQ1XHUwNjI3XHUwNjMxXHUwNjMzIiwiXHUwNjIzXHUwNjQxXHUwNjMxXHUwNjRhXHUwNjQ0IiwiXHUwNjQ1XHUwNjI3XHUwNjRhIiwiXHUwNjJjXHUwNjQ4XHUwNjI3XHUwNjQ2IiwiXHUwNjJjXHUwNjQ4XHUwNjRhXHUwNjQ0XHUwNjRhXHUwNjI5IiwiXHUwNjIzXHUwNjQ4XHUwNjJhIiwi''@;'; put 'put ''XHUwNjMzXHUwNjI4XHUwNjJhXHUwNjQ1XHUwNjI4XHUwNjMxIiwiXHUwNjIzXHUwNjQzXHUwNjJhXHUwNjQ4XHUwNjI4XHUwNjMxIiwiXHUwNjQ2XHUwNjQ4XHUwNjQxXHUwNjQ1XHUwNjI4XHUwNjMxIiwiXHUwNjJmXHUwNjRhXHUwNjMzXHUwNjQ1XHUwNjI4XHUwNjMxIl07Q2UuZGVmaW5l''@;'; put 'put ''TG9jYWxlKCJhci1keiIse21vbnRoczpaLG1vbnRoc1Nob3J0Olosd2Vla2RheXM6Ilx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZFx1MDYyZl9cdTA2MjdcdTA2NDRcdTA2MjVcdTA2MmJcdTA2NDZcdTA2NGFcdTA2NDZfXHUwNjI3XHUwNjQ0XHUwNjJiXHUwNjQ0XHUwNjI3XHUwNjJiXHUwNjI3''@;'; put 'put ''XHUwNjIxX1x1MDYyN1x1MDY0NFx1MDYyM1x1MDYzMVx1MDYyOFx1MDYzOVx1MDYyN1x1MDYyMV9cdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDVcdTA2NGFcdTA2MzNfXHUwNjI3XHUwNjQ0XHUwNjJjXHUwNjQ1XHUwNjM5XHUwNjI5X1x1MDYyN1x1MDY0NFx1MDYzM1x1MDYyOFx1MDYyYSIuc3Bs''@;'; put 'put ''aXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA2MjNcdTA2MmRcdTA2MmZfXHUwNjI1XHUwNjJiXHUwNjQ2XHUwNjRhXHUwNjQ2X1x1MDYyYlx1MDY0NFx1MDYyN1x1MDYyYlx1MDYyN1x1MDYyMV9cdTA2MjNcdTA2MzFcdTA2MjhcdTA2MzlcdTA2MjdcdTA2MjFfXHUwNjJlXHUwNjQ1XHUwNjRh''@;'; put 'put ''XHUwNjMzX1x1MDYyY1x1MDY0NVx1MDYzOVx1MDYyOV9cdTA2MzNcdTA2MjhcdTA2MmEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDYyZF9cdTA2NDZfXHUwNjJiX1x1MDYzMV9cdTA2MmVfXHUwNjJjX1x1MDYzMyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0Rh''@;'; put 'put ''dGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiRC9cdTIwMGZNL1x1MjAwZllZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCBEIE1NTU0gWVlZWSBISDptbSJ9LG1lcmlkaWVtUGFyc2U6L1x1MDYzNXxcdTA2NDUvLGlz''@;'; put 'put ''UE06ZnVuY3Rpb24oail7cmV0dXJuIlx1MDY0NSI9PT1qfSxtZXJpZGllbTpmdW5jdGlvbihqLE4seil7cmV0dXJuIGo8MTI/Ilx1MDYzNSI6Ilx1MDY0NSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ4XHUwNjQ1IFx1MDYzOVx1MDY0Nlx1MDYyZiBcdTA2''@;'; put 'put ''MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixuZXh0RGF5OiJbXHUwNjNhXHUwNjJmXHUwNjRiXHUwNjI3IFx1MDYzOVx1MDY0Nlx1MDYyZiBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixuZXh0V2VlazoiZGRkZCBbXHUwNjM5XHUwNjQ2XHUw''@;'; put 'put ''NjJmIFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLGxhc3REYXk6IltcdTA2MjNcdTA2NDVcdTA2MzMgXHUwNjM5XHUwNjQ2XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLGxhc3RXZWVrOiJkZGRkIFtcdTA2MzlcdTA2NDZc''@;'; put 'put ''dTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiXHUwNjI4XHUwNjM5XHUwNjJmICVzIixwYXN0OiJcdTA2NDVcdTA2NDZcdTA2MzAgJXMiLHM6aGUoInMiKSxzczpoZSgicyIpLG06aGUoIm0i''@;'; put 'put ''KSxtbTpoZSgibSIpLGg6aGUoImgiKSxoaDpoZSgiaCIpLGQ6aGUoImQiKSxkZDpoZSgiZCIpLE06aGUoIk0iKSxNTTpoZSgiTSIpLHk6aGUoInkiKSx5eTpoZSgieSIpfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKGope3JldHVybiBqLnJlcGxhY2UoLywvZywiXHUwNjBjIil9LHdlZWs6e2Rvdzow''@;'; put 'put ''LGRveTo0fX0pfShGZSg2NzM4KSl9LDk3NTk6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiYXIta3ciLHttb250aHM6Ilx1MDY0YVx1MDY0Nlx1MDYyN1x1MDY0YVx1MDYzMV9cdTA2NDFcdTA2MjhcdTA2MzFcdTA2MjdcdTA2''@;'; put 'put ''NGFcdTA2MzFfXHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjMzX1x1MDYyM1x1MDYyOFx1MDYzMVx1MDY0YVx1MDY0NF9cdTA2NDVcdTA2MjdcdTA2NGFfXHUwNjRhXHUwNjQ4XHUwNjQ2XHUwNjRhXHUwNjQ4X1x1MDY0YVx1MDY0OFx1MDY0NFx1MDY0YVx1MDY0OFx1MDYzMl9cdTA2M2FcdTA2MzRc''@;'; put 'put ''dTA2MmFfXHUwNjM0XHUwNjJhXHUwNjQ2XHUwNjI4XHUwNjMxX1x1MDYyM1x1MDY0M1x1MDYyYVx1MDY0OFx1MDYyOFx1MDYzMV9cdTA2NDZcdTA2NDhcdTA2NDZcdTA2MjhcdTA2MzFfXHUwNjJmXHUwNjJjXHUwNjQ2XHUwNjI4XHUwNjMxIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTA2''@;'; put 'put ''NGFcdTA2NDZcdTA2MjdcdTA2NGFcdTA2MzFfXHUwNjQxXHUwNjI4XHUwNjMxXHUwNjI3XHUwNjRhXHUwNjMxX1x1MDY0NVx1MDYyN1x1MDYzMVx1MDYzM19cdTA2MjNcdTA2MjhcdTA2MzFcdTA2NGFcdTA2NDRfXHUwNjQ1XHUwNjI3XHUwNjRhX1x1MDY0YVx1MDY0OFx1MDY0Nlx1MDY0YVx1''@;'; put 'put ''MDY0OF9cdTA2NGFcdTA2NDhcdTA2NDRcdTA2NGFcdTA2NDhcdTA2MzJfXHUwNjNhXHUwNjM0XHUwNjJhX1x1MDYzNFx1MDYyYVx1MDY0Nlx1MDYyOFx1MDYzMV9cdTA2MjNcdTA2NDNcdTA2MmFcdTA2NDhcdTA2MjhcdTA2MzFfXHUwNjQ2XHUwNjQ4XHUwNjQ2XHUwNjI4XHUwNjMxX1x1MDYy''@;'; put 'put ''Zlx1MDYyY1x1MDY0Nlx1MDYyOFx1MDYzMSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjJkXHUwNjJmX1x1MDYyN1x1MDY0NFx1MDYyNVx1MDYyYVx1MDY0Nlx1MDY0YVx1MDY0Nl9cdTA2MjdcdTA2NDRcdTA2MmJcdTA2NDRcdTA2MjdcdTA2MmJcdTA2Mjdc''@;'; put 'put ''dTA2MjFfXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMxXHUwNjI4XHUwNjM5XHUwNjI3XHUwNjIxX1x1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NVx1MDY0YVx1MDYzM19cdTA2MjdcdTA2NDRcdTA2MmNcdTA2NDVcdTA2MzlcdTA2MjlfXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI4XHUwNjJhIi5zcGxp''@;'; put 'put ''dCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDYyN1x1MDYyZFx1MDYyZl9cdTA2MjdcdTA2MmFcdTA2NDZcdTA2NGFcdTA2NDZfXHUwNjJiXHUwNjQ0XHUwNjI3XHUwNjJiXHUwNjI3XHUwNjIxX1x1MDYyN1x1MDYzMVx1MDYyOFx1MDYzOVx1MDYyN1x1MDYyMV9cdTA2MmVcdTA2NDVcdTA2NGFc''@;'; put 'put ''dTA2MzNfXHUwNjJjXHUwNjQ1XHUwNjM5XHUwNjI5X1x1MDYzM1x1MDYyOFx1MDYyYSIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNjJkX1x1MDY0Nl9cdTA2MmJfXHUwNjMxX1x1MDYyZV9cdTA2MmNfXHUwNjMzIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0''@;'; put 'put ''ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDYyN1x1MDY0NFx1MDY0YVx1MDY0''@;'; put 'put ''OFx1MDY0NSBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbmV4dERheToiW1x1MDYzYVx1MDYyZlx1MDYyNyBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbmV4dFdl''@;'; put 'put ''ZWs6ImRkZGQgW1x1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixsYXN0RGF5OiJbXHUwNjIzXHUwNjQ1XHUwNjMzIFx1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixsYXN0''@;'; put 'put ''V2VlazoiZGRkZCBbXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MDY0MVx1MDY0YSAlcyIscGFzdDoiXHUwNjQ1XHUwNjQ2XHUwNjMwICVzIixzOiJcdTA2MmJc''@;'; put 'put ''dTA2NDhcdTA2MjdcdTA2NDYiLHNzOiIlZCBcdTA2MmJcdTA2MjdcdTA2NDZcdTA2NGFcdTA2MjkiLG06Ilx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSIsbW06IiVkIFx1MDYyZlx1MDY0Mlx1MDYyN1x1MDYyNlx1MDY0MiIsaDoiXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5IixoaDoi''@;'; put 'put ''JWQgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI3XHUwNjJhIixkOiJcdTA2NGFcdTA2NDhcdTA2NDUiLGRkOiIlZCBcdTA2MjNcdTA2NGFcdTA2MjdcdTA2NDUiLE06Ilx1MDYzNFx1MDY0N1x1MDYzMSIsTU06IiVkIFx1MDYyM1x1MDYzNFx1MDY0N1x1MDYzMSIseToiXHUwNjMzXHUwNjQ2XHUw''@;'; put 'put ''NjI5Iix5eToiJWQgXHUwNjMzXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjJhIn0sd2Vlazp7ZG93OjAsZG95OjEyfX0pfShGZSg2NzM4KSl9LDMxNjA6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToi''@;'; put 'put ''NSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMDoiMCJ9LGdlPWZ1bmN0aW9uKE4pe3JldHVybiAwPT09Tj8wOjE9PT1OPzE6Mj09PU4/MjpOJTEwMD49MyYmTiUxMDA8PTEwPzM6TiUxMDA+PTExPzQ6NX0saGU9e3M6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDYyYlx1''@;'; put 'put ''MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSIsIlx1MDYyYlx1MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmZcdTA2MjkiLFsiXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjJh''@;'; put 'put ''XHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyYlx1MDY0OFx1MDYyN1x1MDY0NiIsIiVkIFx1MDYyYlx1MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSIsIiVkIFx1MDYyYlx1MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSJdLG06WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDYyZlx1MDY0''@;'; put 'put ''Mlx1MDY0YVx1MDY0Mlx1MDYyOSIsIlx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmZcdTA2MjkiLFsiXHUwNjJmXHUwNjQyXHUwNjRhXHUwNjQyXHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjJmXHUwNjQyXHUwNjRhXHUwNjQyXHUwNjJhXHUw''@;'; put 'put ''NjRhXHUwNjQ2Il0sIiVkIFx1MDYyZlx1MDY0Mlx1MDYyN1x1MDYyNlx1MDY0MiIsIiVkIFx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSIsIiVkIFx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSJdLGg6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDYzM1x1''@;'; put 'put ''MDYyN1x1MDYzOVx1MDYyOSIsIlx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmZcdTA2MjkiLFsiXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhXHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYz''@;'; put 'put ''M1x1MDYyN1x1MDYzOVx1MDYyN1x1MDYyYSIsIiVkIFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSIsIiVkIFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSJdLGQ6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDY0YVx1MDY0OFx1MDY0NSIsIlx1MDY0YVx1MDY0OFx1MDY0NSBc''@;'; put 'put ''dTA2NDhcdTA2MjdcdTA2MmRcdTA2MmYiLFsiXHUwNjRhXHUwNjQ4XHUwNjQ1XHUwNjI3XHUwNjQ2IiwiXHUwNjRhXHUwNjQ4XHUwNjQ1XHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyM1x1MDY0YVx1MDYyN1x1MDY0NSIsIiVkIFx1MDY0YVx1MDY0OFx1MDY0NVx1MDY0Ylx1MDYyNyIsIiVkIFx1''@;'; put 'put ''MDY0YVx1MDY0OFx1MDY0NSJdLE06WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDYzNFx1MDY0N1x1MDYzMSIsIlx1MDYzNFx1MDY0N1x1MDYzMSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmYiLFsiXHUwNjM0XHUwNjQ3XHUwNjMxXHUwNjI3XHUwNjQ2IiwiXHUwNjM0XHUw''@;'; put 'put ''NjQ3XHUwNjMxXHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyM1x1MDYzNFx1MDY0N1x1MDYzMSIsIiVkIFx1MDYzNFx1MDY0N1x1MDYzMVx1MDYyNyIsIiVkIFx1MDYzNFx1MDY0N1x1MDYzMSJdLHk6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDYzOVx1MDYyN1x1MDY0NSIs''@;'; put 'put ''Ilx1MDYzOVx1MDYyN1x1MDY0NSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmYiLFsiXHUwNjM5XHUwNjI3XHUwNjQ1XHUwNjI3XHUwNjQ2IiwiXHUwNjM5XHUwNjI3XHUwNjQ1XHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyM1x1MDYzOVx1MDY0OFx1MDYyN1x1MDY0NSIsIiVkIFx1MDYzOVx1MDYy''@;'; put 'put ''N1x1MDY0NVx1MDY0Ylx1MDYyNyIsIiVkIFx1MDYzOVx1MDYyN1x1MDY0NSJdfSxaPWZ1bmN0aW9uKE4pe3JldHVybiBmdW5jdGlvbih6LEMsUyxtKXt2YXIgRj1nZSh6KSxEPWhlW05dW2dlKHopXTtyZXR1cm4gMj09PUYmJihEPURbQz8wOjFdKSxELnJlcGxhY2UoLyVkL2kseil9fSxBPVsi''@;'; put 'put ''XHUwNjRhXHUwNjQ2XHUwNjI3XHUwNjRhXHUwNjMxIiwiXHUwNjQxXHUwNjI4XHUwNjMxXHUwNjI3XHUwNjRhXHUwNjMxIiwiXHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjMzIiwiXHUwNjIzXHUwNjI4XHUwNjMxXHUwNjRhXHUwNjQ0IiwiXHUwNjQ1XHUwNjI3XHUwNjRhXHUwNjQ4IiwiXHUwNjRh''@;'; put 'put ''XHUwNjQ4XHUwNjQ2XHUwNjRhXHUwNjQ4IiwiXHUwNjRhXHUwNjQ4XHUwNjQ0XHUwNjRhXHUwNjQ4IiwiXHUwNjIzXHUwNjNhXHUwNjMzXHUwNjM3XHUwNjMzIiwiXHUwNjMzXHUwNjI4XHUwNjJhXHUwNjQ1XHUwNjI4XHUwNjMxIiwiXHUwNjIzXHUwNjQzXHUwNjJhXHUwNjQ4XHUwNjI4XHUw''@;'; put 'put ''NjMxIiwiXHUwNjQ2XHUwNjQ4XHUwNjQxXHUwNjQ1XHUwNjI4XHUwNjMxIiwiXHUwNjJmXHUwNjRhXHUwNjMzXHUwNjQ1XHUwNjI4XHUwNjMxIl07Q2UuZGVmaW5lTG9jYWxlKCJhci1seSIse21vbnRoczpBLG1vbnRoc1Nob3J0OkEsd2Vla2RheXM6Ilx1MDYyN1x1MDY0NFx1MDYyM1x1MDYy''@;'; put 'put ''ZFx1MDYyZl9cdTA2MjdcdTA2NDRcdTA2MjVcdTA2MmJcdTA2NDZcdTA2NGFcdTA2NDZfXHUwNjI3XHUwNjQ0XHUwNjJiXHUwNjQ0XHUwNjI3XHUwNjJiXHUwNjI3XHUwNjIxX1x1MDYyN1x1MDY0NFx1MDYyM1x1MDYzMVx1MDYyOFx1MDYzOVx1MDYyN1x1MDYyMV9cdTA2MjdcdTA2NDRcdTA2''@;'; put 'put ''MmVcdTA2NDVcdTA2NGFcdTA2MzNfXHUwNjI3XHUwNjQ0XHUwNjJjXHUwNjQ1XHUwNjM5XHUwNjI5X1x1MDYyN1x1MDY0NFx1MDYzM1x1MDYyOFx1MDYyYSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA2MjNcdTA2MmRcdTA2MmZfXHUwNjI1XHUwNjJiXHUwNjQ2XHUwNjRhXHUwNjQ2''@;'; put 'put ''X1x1MDYyYlx1MDY0NFx1MDYyN1x1MDYyYlx1MDYyN1x1MDYyMV9cdTA2MjNcdTA2MzFcdTA2MjhcdTA2MzlcdTA2MjdcdTA2MjFfXHUwNjJlXHUwNjQ1XHUwNjRhXHUwNjMzX1x1MDYyY1x1MDY0NVx1MDYzOVx1MDYyOV9cdTA2MzNcdTA2MjhcdTA2MmEiLnNwbGl0KCJfIiksd2Vla2RheXNN''@;'; put 'put ''aW46Ilx1MDYyZF9cdTA2NDZfXHUwNjJiX1x1MDYzMV9cdTA2MmVfXHUwNjJjX1x1MDYzMyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiRC9cdTIwMGZNL1x1MjAwZllZWVkiLExMOiJEIE1NTU0g''@;'; put 'put ''WVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCBEIE1NTU0gWVlZWSBISDptbSJ9LG1lcmlkaWVtUGFyc2U6L1x1MDYzNXxcdTA2NDUvLGlzUE06ZnVuY3Rpb24oTil7cmV0dXJuIlx1MDY0NSI9PT1OfSxtZXJpZGllbTpmdW5jdGlvbihOLHosQyl7cmV0dXJuIE48MTI/''@;'; put 'put ''Ilx1MDYzNSI6Ilx1MDY0NSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ4XHUwNjQ1IFx1MDYzOVx1MDY0Nlx1MDYyZiBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixuZXh0RGF5OiJbXHUwNjNhXHUwNjJmXHUwNjRiXHUwNjI3''@;'; put 'put ''IFx1MDYzOVx1MDY0Nlx1MDYyZiBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixuZXh0V2VlazoiZGRkZCBbXHUwNjM5XHUwNjQ2XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLGxhc3REYXk6IltcdTA2MjNcdTA2NDVcdTA2''@;'; put 'put ''MzMgXHUwNjM5XHUwNjQ2XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLGxhc3RXZWVrOiJkZGRkIFtcdTA2MzlcdTA2NDZcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRp''@;'; put 'put ''bWU6e2Z1dHVyZToiXHUwNjI4XHUwNjM5XHUwNjJmICVzIixwYXN0OiJcdTA2NDVcdTA2NDZcdTA2MzAgJXMiLHM6WigicyIpLHNzOlooInMiKSxtOlooIm0iKSxtbTpaKCJtIiksaDpaKCJoIiksaGg6WigiaCIpLGQ6WigiZCIpLGRkOlooImQiKSxNOlooIk0iKSxNTTpaKCJNIikseTpaKCJ5''@;'; put 'put ''IikseXk6WigieSIpfSxwcmVwYXJzZTpmdW5jdGlvbihOKXtyZXR1cm4gTi5yZXBsYWNlKC9cdTA2MGMvZywiLCIpfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKE4pe3JldHVybiBOLnJlcGxhY2UoL1xkL2csZnVuY3Rpb24oeil7cmV0dXJuIG9lW3pdfSkucmVwbGFjZSgvLC9nLCJcdTA2MGMiKX0s''@;'; put 'put ''d2Vlazp7ZG93OjYsZG95OjEyfX0pfShGZSg2NzM4KSl9LDI1NTE6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiYXItbWEiLHttb250aHM6Ilx1MDY0YVx1MDY0Nlx1MDYyN1x1MDY0YVx1MDYzMV9cdTA2NDFcdTA2MjhcdTA2''@;'; put 'put ''MzFcdTA2MjdcdTA2NGFcdTA2MzFfXHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjMzX1x1MDYyM1x1MDYyOFx1MDYzMVx1MDY0YVx1MDY0NF9cdTA2NDVcdTA2MjdcdTA2NGFfXHUwNjRhXHUwNjQ4XHUwNjQ2XHUwNjRhXHUwNjQ4X1x1MDY0YVx1MDY0OFx1MDY0NFx1MDY0YVx1MDY0OFx1MDYzMl9c''@;'; put 'put ''dTA2M2FcdTA2MzRcdTA2MmFfXHUwNjM0XHUwNjJhXHUwNjQ2XHUwNjI4XHUwNjMxX1x1MDYyM1x1MDY0M1x1MDYyYVx1MDY0OFx1MDYyOFx1MDYzMV9cdTA2NDZcdTA2NDhcdTA2NDZcdTA2MjhcdTA2MzFfXHUwNjJmXHUwNjJjXHUwNjQ2XHUwNjI4XHUwNjMxIi5zcGxpdCgiXyIpLG1vbnRo''@;'; put 'put ''c1Nob3J0OiJcdTA2NGFcdTA2NDZcdTA2MjdcdTA2NGFcdTA2MzFfXHUwNjQxXHUwNjI4XHUwNjMxXHUwNjI3XHUwNjRhXHUwNjMxX1x1MDY0NVx1MDYyN1x1MDYzMVx1MDYzM19cdTA2MjNcdTA2MjhcdTA2MzFcdTA2NGFcdTA2NDRfXHUwNjQ1XHUwNjI3XHUwNjRhX1x1MDY0YVx1MDY0OFx1''@;'; put 'put ''MDY0Nlx1MDY0YVx1MDY0OF9cdTA2NGFcdTA2NDhcdTA2NDRcdTA2NGFcdTA2NDhcdTA2MzJfXHUwNjNhXHUwNjM0XHUwNjJhX1x1MDYzNFx1MDYyYVx1MDY0Nlx1MDYyOFx1MDYzMV9cdTA2MjNcdTA2NDNcdTA2MmFcdTA2NDhcdTA2MjhcdTA2MzFfXHUwNjQ2XHUwNjQ4XHUwNjQ2XHUwNjI4''@;'; put 'put ''XHUwNjMxX1x1MDYyZlx1MDYyY1x1MDY0Nlx1MDYyOFx1MDYzMSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjJkXHUwNjJmX1x1MDYyN1x1MDY0NFx1MDYyNVx1MDYyYlx1MDY0Nlx1MDY0YVx1MDY0Nl9cdTA2MjdcdTA2NDRcdTA2MmJcdTA2NDRcdTA2Mjdc''@;'; put 'put ''dTA2MmJcdTA2MjdcdTA2MjFfXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMxXHUwNjI4XHUwNjM5XHUwNjI3XHUwNjIxX1x1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NVx1MDY0YVx1MDYzM19cdTA2MjdcdTA2NDRcdTA2MmNcdTA2NDVcdTA2MzlcdTA2MjlfXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI4''@;'; put 'put ''XHUwNjJhIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDYyN1x1MDYyZFx1MDYyZl9cdTA2MjdcdTA2MmJcdTA2NDZcdTA2NGFcdTA2NDZfXHUwNjJiXHUwNjQ0XHUwNjI3XHUwNjJiXHUwNjI3XHUwNjIxX1x1MDYyN1x1MDYzMVx1MDYyOFx1MDYzOVx1MDYyN1x1MDYyMV9cdTA2MmVc''@;'; put 'put ''dTA2NDVcdTA2NGFcdTA2MzNfXHUwNjJjXHUwNjQ1XHUwNjM5XHUwNjI5X1x1MDYzM1x1MDYyOFx1MDYyYSIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNjJkX1x1MDY0Nl9cdTA2MmJfXHUwNjMxX1x1MDYyZV9cdTA2MmNfXHUwNjMzIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFj''@;'; put 'put ''dDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDYyN1x1MDY0''@;'; put 'put ''NFx1MDY0YVx1MDY0OFx1MDY0NSBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbmV4dERheToiW1x1MDYzYVx1MDYyZlx1MDYyNyBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5''@;'; put 'put ''XSBMVCIsbmV4dFdlZWs6ImRkZGQgW1x1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixsYXN0RGF5OiJbXHUwNjIzXHUwNjQ1XHUwNjMzIFx1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2''@;'; put 'put ''MjldIExUIixsYXN0V2VlazoiZGRkZCBbXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MDY0MVx1MDY0YSAlcyIscGFzdDoiXHUwNjQ1XHUwNjQ2XHUwNjMwICVz''@;'; put 'put ''IixzOiJcdTA2MmJcdTA2NDhcdTA2MjdcdTA2NDYiLHNzOiIlZCBcdTA2MmJcdTA2MjdcdTA2NDZcdTA2NGFcdTA2MjkiLG06Ilx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSIsbW06IiVkIFx1MDYyZlx1MDY0Mlx1MDYyN1x1MDYyNlx1MDY0MiIsaDoiXHUwNjMzXHUwNjI3XHUwNjM5''@;'; put 'put ''XHUwNjI5IixoaDoiJWQgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI3XHUwNjJhIixkOiJcdTA2NGFcdTA2NDhcdTA2NDUiLGRkOiIlZCBcdTA2MjNcdTA2NGFcdTA2MjdcdTA2NDUiLE06Ilx1MDYzNFx1MDY0N1x1MDYzMSIsTU06IiVkIFx1MDYyM1x1MDYzNFx1MDY0N1x1MDYzMSIseToiXHUw''@;'; put 'put ''NjMzXHUwNjQ2XHUwNjI5Iix5eToiJWQgXHUwNjMzXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjJhIn0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sOTk4OTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXsxOiJcdTA2NjEiLDI6Ilx1''@;'; put 'put ''MDY2MiIsMzoiXHUwNjYzIiw0OiJcdTA2NjQiLDU6Ilx1MDY2NSIsNjoiXHUwNjY2Iiw3OiJcdTA2NjciLDg6Ilx1MDY2OCIsOToiXHUwNjY5IiwwOiJcdTA2NjAifSxnZT17Ilx1MDY2MSI6IjEiLCJcdTA2NjIiOiIyIiwiXHUwNjYzIjoiMyIsIlx1MDY2NCI6IjQiLCJcdTA2NjUiOiI1Iiwi''@;'; put 'put ''XHUwNjY2IjoiNiIsIlx1MDY2NyI6IjciLCJcdTA2NjgiOiI4IiwiXHUwNjY5IjoiOSIsIlx1MDY2MCI6IjAifTtDZS5kZWZpbmVMb2NhbGUoImFyLXNhIix7bW9udGhzOiJcdTA2NGFcdTA2NDZcdTA2MjdcdTA2NGFcdTA2MzFfXHUwNjQxXHUwNjI4XHUwNjMxXHUwNjI3XHUwNjRhXHUwNjMx''@;'; put 'put ''X1x1MDY0NVx1MDYyN1x1MDYzMVx1MDYzM19cdTA2MjNcdTA2MjhcdTA2MzFcdTA2NGFcdTA2NDRfXHUwNjQ1XHUwNjI3XHUwNjRhXHUwNjQ4X1x1MDY0YVx1MDY0OFx1MDY0Nlx1MDY0YVx1MDY0OF9cdTA2NGFcdTA2NDhcdTA2NDRcdTA2NGFcdTA2NDhfXHUwNjIzXHUwNjNhXHUwNjMzXHUw''@;'; put 'put ''NjM3XHUwNjMzX1x1MDYzM1x1MDYyOFx1MDYyYVx1MDY0NVx1MDYyOFx1MDYzMV9cdTA2MjNcdTA2NDNcdTA2MmFcdTA2NDhcdTA2MjhcdTA2MzFfXHUwNjQ2XHUwNjQ4XHUwNjQxXHUwNjQ1XHUwNjI4XHUwNjMxX1x1MDYyZlx1MDY0YVx1MDYzM1x1MDY0NVx1MDYyOFx1MDYzMSIuc3BsaXQo''@;'; put 'put ''Il8iKSxtb250aHNTaG9ydDoiXHUwNjRhXHUwNjQ2XHUwNjI3XHUwNjRhXHUwNjMxX1x1MDY0MVx1MDYyOFx1MDYzMVx1MDYyN1x1MDY0YVx1MDYzMV9cdTA2NDVcdTA2MjdcdTA2MzFcdTA2MzNfXHUwNjIzXHUwNjI4XHUwNjMxXHUwNjRhXHUwNjQ0X1x1MDY0NVx1MDYyN1x1MDY0YVx1MDY0''@;'; put 'put ''OF9cdTA2NGFcdTA2NDhcdTA2NDZcdTA2NGFcdTA2NDhfXHUwNjRhXHUwNjQ4XHUwNjQ0XHUwNjRhXHUwNjQ4X1x1MDYyM1x1MDYzYVx1MDYzM1x1MDYzN1x1MDYzM19cdTA2MzNcdTA2MjhcdTA2MmFcdTA2NDVcdTA2MjhcdTA2MzFfXHUwNjIzXHUwNjQzXHUwNjJhXHUwNjQ4XHUwNjI4XHUw''@;'; put 'put ''NjMxX1x1MDY0Nlx1MDY0OFx1MDY0MVx1MDY0NVx1MDYyOFx1MDYzMV9cdTA2MmZcdTA2NGFcdTA2MzNcdTA2NDVcdTA2MjhcdTA2MzEiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZFx1MDYyZl9cdTA2MjdcdTA2NDRcdTA2MjVcdTA2MmJcdTA2NDZcdTA2''@;'; put 'put ''NGFcdTA2NDZfXHUwNjI3XHUwNjQ0XHUwNjJiXHUwNjQ0XHUwNjI3XHUwNjJiXHUwNjI3XHUwNjIxX1x1MDYyN1x1MDY0NFx1MDYyM1x1MDYzMVx1MDYyOFx1MDYzOVx1MDYyN1x1MDYyMV9cdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDVcdTA2NGFcdTA2MzNfXHUwNjI3XHUwNjQ0XHUwNjJjXHUw''@;'; put 'put ''NjQ1XHUwNjM5XHUwNjI5X1x1MDYyN1x1MDY0NFx1MDYzM1x1MDYyOFx1MDYyYSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA2MjNcdTA2MmRcdTA2MmZfXHUwNjI1XHUwNjJiXHUwNjQ2XHUwNjRhXHUwNjQ2X1x1MDYyYlx1MDY0NFx1MDYyN1x1MDYyYlx1MDYyN1x1MDYyMV9cdTA2''@;'; put 'put ''MjNcdTA2MzFcdTA2MjhcdTA2MzlcdTA2MjdcdTA2MjFfXHUwNjJlXHUwNjQ1XHUwNjRhXHUwNjMzX1x1MDYyY1x1MDY0NVx1MDYzOVx1MDYyOV9cdTA2MzNcdTA2MjhcdTA2MmEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDYyZF9cdTA2NDZfXHUwNjJiX1x1MDYzMV9cdTA2MmVfXHUw''@;'; put 'put ''NjJjX1x1MDYzMyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkIEQgTU1NTSBZWVlZ''@;'; put 'put ''IEhIOm1tIn0sbWVyaWRpZW1QYXJzZTovXHUwNjM1fFx1MDY0NS8saXNQTTpmdW5jdGlvbihaKXtyZXR1cm4iXHUwNjQ1Ij09PVp9LG1lcmlkaWVtOmZ1bmN0aW9uKFosQSxqKXtyZXR1cm4gWjwxMj8iXHUwNjM1IjoiXHUwNjQ1In0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA2MjdcdTA2NDRc''@;'; put 'put ''dTA2NGFcdTA2NDhcdTA2NDUgXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLG5leHREYXk6IltcdTA2M2FcdTA2MmZcdTA2MjcgXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0g''@;'; put 'put ''TFQiLG5leHRXZWVrOiJkZGRkIFtcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbGFzdERheToiW1x1MDYyM1x1MDY0NVx1MDYzMyBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5''@;'; put 'put ''XSBMVCIsbGFzdFdlZWs6ImRkZGQgW1x1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTA2NDFcdTA2NGEgJXMiLHBhc3Q6Ilx1MDY0NVx1MDY0Nlx1MDYzMCAlcyIs''@;'; put 'put ''czoiXHUwNjJiXHUwNjQ4XHUwNjI3XHUwNjQ2IixzczoiJWQgXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjI5IixtOiJcdTA2MmZcdTA2NDJcdTA2NGFcdTA2NDJcdTA2MjkiLG1tOiIlZCBcdTA2MmZcdTA2NDJcdTA2MjdcdTA2MjZcdTA2NDIiLGg6Ilx1MDYzM1x1MDYyN1x1MDYzOVx1''@;'; put 'put ''MDYyOSIsaGg6IiVkIFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyN1x1MDYyYSIsZDoiXHUwNjRhXHUwNjQ4XHUwNjQ1IixkZDoiJWQgXHUwNjIzXHUwNjRhXHUwNjI3XHUwNjQ1IixNOiJcdTA2MzRcdTA2NDdcdTA2MzEiLE1NOiIlZCBcdTA2MjNcdTA2MzRcdTA2NDdcdTA2MzEiLHk6Ilx1MDYz''@;'; put 'put ''M1x1MDY0Nlx1MDYyOSIseXk6IiVkIFx1MDYzM1x1MDY0Nlx1MDY0OFx1MDYyN1x1MDYyYSJ9LHByZXBhcnNlOmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1tcdTA2NjFcdTA2NjJcdTA2NjNcdTA2NjRcdTA2NjVcdTA2NjZcdTA2NjdcdTA2NjhcdTA2NjlcdTA2NjBdL2csZnVuY3Rp''@;'; put 'put ''b24oQSl7cmV0dXJuIGdlW0FdfSkucmVwbGFjZSgvXHUwNjBjL2csIiwiKX0scG9zdGZvcm1hdDpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC9cZC9nLGZ1bmN0aW9uKEEpe3JldHVybiBvZVtBXX0pLnJlcGxhY2UoLywvZywiXHUwNjBjIil9LHdlZWs6e2RvdzowLGRveTo2fX0pfShG''@;'; put 'put ''ZSg2NzM4KSl9LDY5NjI6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiYXItdG4iLHttb250aHM6Ilx1MDYyY1x1MDYyN1x1MDY0Nlx1MDY0MVx1MDY0YV9cdTA2NDFcdTA2NGFcdTA2NDFcdTA2MzFcdTA2NGFfXHUwNjQ1XHUw''@;'; put 'put ''NjI3XHUwNjMxXHUwNjMzX1x1MDYyM1x1MDY0MVx1MDYzMVx1MDY0YVx1MDY0NF9cdTA2NDVcdTA2MjdcdTA2NGFfXHUwNjJjXHUwNjQ4XHUwNjI3XHUwNjQ2X1x1MDYyY1x1MDY0OFx1MDY0YVx1MDY0NFx1MDY0YVx1MDYyOV9cdTA2MjNcdTA2NDhcdTA2MmFfXHUwNjMzXHUwNjI4XHUwNjJh''@;'; put 'put ''XHUwNjQ1XHUwNjI4XHUwNjMxX1x1MDYyM1x1MDY0M1x1MDYyYVx1MDY0OFx1MDYyOFx1MDYzMV9cdTA2NDZcdTA2NDhcdTA2NDFcdTA2NDVcdTA2MjhcdTA2MzFfXHUwNjJmXHUwNjRhXHUwNjMzXHUwNjQ1XHUwNjI4XHUwNjMxIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTA2MmNcdTA2''@;'; put 'put ''MjdcdTA2NDZcdTA2NDFcdTA2NGFfXHUwNjQxXHUwNjRhXHUwNjQxXHUwNjMxXHUwNjRhX1x1MDY0NVx1MDYyN1x1MDYzMVx1MDYzM19cdTA2MjNcdTA2NDFcdTA2MzFcdTA2NGFcdTA2NDRfXHUwNjQ1XHUwNjI3XHUwNjRhX1x1MDYyY1x1MDY0OFx1MDYyN1x1MDY0Nl9cdTA2MmNcdTA2NDhc''@;'; put 'put ''dTA2NGFcdTA2NDRcdTA2NGFcdTA2MjlfXHUwNjIzXHUwNjQ4XHUwNjJhX1x1MDYzM1x1MDYyOFx1MDYyYVx1MDY0NVx1MDYyOFx1MDYzMV9cdTA2MjNcdTA2NDNcdTA2MmFcdTA2NDhcdTA2MjhcdTA2MzFfXHUwNjQ2XHUwNjQ4XHUwNjQxXHUwNjQ1XHUwNjI4XHUwNjMxX1x1MDYyZlx1MDY0''@;'; put 'put ''YVx1MDYzM1x1MDY0NVx1MDYyOFx1MDYzMSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjJkXHUwNjJmX1x1MDYyN1x1MDY0NFx1MDYyNVx1MDYyYlx1MDY0Nlx1MDY0YVx1MDY0Nl9cdTA2MjdcdTA2NDRcdTA2MmJcdTA2NDRcdTA2MjdcdTA2MmJcdTA2Mjdc''@;'; put 'put ''dTA2MjFfXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMxXHUwNjI4XHUwNjM5XHUwNjI3XHUwNjIxX1x1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NVx1MDY0YVx1MDYzM19cdTA2MjdcdTA2NDRcdTA2MmNcdTA2NDVcdTA2MzlcdTA2MjlfXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI4XHUwNjJhIi5zcGxp''@;'; put 'put ''dCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDYyM1x1MDYyZFx1MDYyZl9cdTA2MjVcdTA2MmJcdTA2NDZcdTA2NGFcdTA2NDZfXHUwNjJiXHUwNjQ0XHUwNjI3XHUwNjJiXHUwNjI3XHUwNjIxX1x1MDYyM1x1MDYzMVx1MDYyOFx1MDYzOVx1MDYyN1x1MDYyMV9cdTA2MmVcdTA2NDVcdTA2NGFc''@;'; put 'put ''dTA2MzNfXHUwNjJjXHUwNjQ1XHUwNjM5XHUwNjI5X1x1MDYzM1x1MDYyOFx1MDYyYSIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNjJkX1x1MDY0Nl9cdTA2MmJfXHUwNjMxX1x1MDYyZV9cdTA2MmNfXHUwNjMzIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0''@;'; put 'put ''ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDYyN1x1MDY0NFx1MDY0YVx1MDY0''@;'; put 'put ''OFx1MDY0NSBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbmV4dERheToiW1x1MDYzYVx1MDYyZlx1MDYyNyBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbmV4dFdl''@;'; put 'put ''ZWs6ImRkZGQgW1x1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixsYXN0RGF5OiJbXHUwNjIzXHUwNjQ1XHUwNjMzIFx1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixsYXN0''@;'; put 'put ''V2VlazoiZGRkZCBbXHUwNjM5XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MDY0MVx1MDY0YSAlcyIscGFzdDoiXHUwNjQ1XHUwNjQ2XHUwNjMwICVzIixzOiJcdTA2MmJc''@;'; put 'put ''dTA2NDhcdTA2MjdcdTA2NDYiLHNzOiIlZCBcdTA2MmJcdTA2MjdcdTA2NDZcdTA2NGFcdTA2MjkiLG06Ilx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSIsbW06IiVkIFx1MDYyZlx1MDY0Mlx1MDYyN1x1MDYyNlx1MDY0MiIsaDoiXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5IixoaDoi''@;'; put 'put ''JWQgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI3XHUwNjJhIixkOiJcdTA2NGFcdTA2NDhcdTA2NDUiLGRkOiIlZCBcdTA2MjNcdTA2NGFcdTA2MjdcdTA2NDUiLE06Ilx1MDYzNFx1MDY0N1x1MDYzMSIsTU06IiVkIFx1MDYyM1x1MDYzNFx1MDY0N1x1MDYzMSIseToiXHUwNjMzXHUwNjQ2XHUw''@;'; put 'put ''NjI5Iix5eToiJWQgXHUwNjMzXHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjJhIn0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMTI4NjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXsxOiJcdTA2NjEiLDI6Ilx1MDY2MiIsMzoiXHUw''@;'; put 'put ''NjYzIiw0OiJcdTA2NjQiLDU6Ilx1MDY2NSIsNjoiXHUwNjY2Iiw3OiJcdTA2NjciLDg6Ilx1MDY2OCIsOToiXHUwNjY5IiwwOiJcdTA2NjAifSxnZT17Ilx1MDY2MSI6IjEiLCJcdTA2NjIiOiIyIiwiXHUwNjYzIjoiMyIsIlx1MDY2NCI6IjQiLCJcdTA2NjUiOiI1IiwiXHUwNjY2IjoiNiIs''@;'; put 'put ''Ilx1MDY2NyI6IjciLCJcdTA2NjgiOiI4IiwiXHUwNjY5IjoiOSIsIlx1MDY2MCI6IjAifSxoZT1mdW5jdGlvbih6KXtyZXR1cm4gMD09PXo/MDoxPT09ej8xOjI9PT16PzI6eiUxMDA+PTMmJnolMTAwPD0xMD8zOnolMTAwPj0xMT80OjV9LFo9e3M6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUw''@;'; put 'put ''NjQ1XHUwNjQ2IFx1MDYyYlx1MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSIsIlx1MDYyYlx1MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmZcdTA2MjkiLFsiXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNjRhXHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjJiXHUwNjI3''@;'; put 'put ''XHUwNjQ2XHUwNjRhXHUwNjJhXHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyYlx1MDY0OFx1MDYyN1x1MDY0NiIsIiVkIFx1MDYyYlx1MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSIsIiVkIFx1MDYyYlx1MDYyN1x1MDY0Nlx1MDY0YVx1MDYyOSJdLG06WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1''@;'; put 'put ''XHUwNjQ2IFx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSIsIlx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmZcdTA2MjkiLFsiXHUwNjJmXHUwNjQyXHUwNjRhXHUwNjQyXHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjJmXHUwNjQyXHUw''@;'; put 'put ''NjRhXHUwNjQyXHUwNjJhXHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyZlx1MDY0Mlx1MDYyN1x1MDYyNlx1MDY0MiIsIiVkIFx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSIsIiVkIFx1MDYyZlx1MDY0Mlx1MDY0YVx1MDY0Mlx1MDYyOSJdLGg6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUw''@;'; put 'put ''NjQ1XHUwNjQ2IFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSIsIlx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmZcdTA2MjkiLFsiXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhXHUwNjI3XHUwNjQ2IiwiXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhXHUwNjRh''@;'; put 'put ''XHUwNjQ2Il0sIiVkIFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyN1x1MDYyYSIsIiVkIFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSIsIiVkIFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSJdLGQ6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDY0YVx1MDY0OFx1MDY0NSIsIlx1''@;'; put 'put ''MDY0YVx1MDY0OFx1MDY0NSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmYiLFsiXHUwNjRhXHUwNjQ4XHUwNjQ1XHUwNjI3XHUwNjQ2IiwiXHUwNjRhXHUwNjQ4XHUwNjQ1XHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyM1x1MDY0YVx1MDYyN1x1MDY0NSIsIiVkIFx1MDY0YVx1MDY0OFx1MDY0NVx1''@;'; put 'put ''MDY0Ylx1MDYyNyIsIiVkIFx1MDY0YVx1MDY0OFx1MDY0NSJdLE06WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1MDYzNFx1MDY0N1x1MDYzMSIsIlx1MDYzNFx1MDY0N1x1MDYzMSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmYiLFsiXHUwNjM0XHUwNjQ3XHUwNjMxXHUwNjI3''@;'; put 'put ''XHUwNjQ2IiwiXHUwNjM0XHUwNjQ3XHUwNjMxXHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyM1x1MDYzNFx1MDY0N1x1MDYzMSIsIiVkIFx1MDYzNFx1MDY0N1x1MDYzMVx1MDYyNyIsIiVkIFx1MDYzNFx1MDY0N1x1MDYzMSJdLHk6WyJcdTA2MjNcdTA2NDJcdTA2NDQgXHUwNjQ1XHUwNjQ2IFx1''@;'; put 'put ''MDYzOVx1MDYyN1x1MDY0NSIsIlx1MDYzOVx1MDYyN1x1MDY0NSBcdTA2NDhcdTA2MjdcdTA2MmRcdTA2MmYiLFsiXHUwNjM5XHUwNjI3XHUwNjQ1XHUwNjI3XHUwNjQ2IiwiXHUwNjM5XHUwNjI3XHUwNjQ1XHUwNjRhXHUwNjQ2Il0sIiVkIFx1MDYyM1x1MDYzOVx1MDY0OFx1MDYyN1x1MDY0''@;'; put 'put ''NSIsIiVkIFx1MDYzOVx1MDYyN1x1MDY0NVx1MDY0Ylx1MDYyNyIsIiVkIFx1MDYzOVx1MDYyN1x1MDY0NSJdfSxBPWZ1bmN0aW9uKHope3JldHVybiBmdW5jdGlvbihDLFMsbSxGKXt2YXIgRD1oZShDKSx3PVpbel1baGUoQyldO3JldHVybiAyPT09RCYmKHc9d1tTPzA6MV0pLHcucmVwbGFj''@;'; put 'put ''ZSgvJWQvaSxDKX19LGo9WyJcdTA2NGFcdTA2NDZcdTA2MjdcdTA2NGFcdTA2MzEiLCJcdTA2NDFcdTA2MjhcdTA2MzFcdTA2MjdcdTA2NGFcdTA2MzEiLCJcdTA2NDVcdTA2MjdcdTA2MzFcdTA2MzMiLCJcdTA2MjNcdTA2MjhcdTA2MzFcdTA2NGFcdTA2NDQiLCJcdTA2NDVcdTA2MjdcdTA2''@;'; put 'put ''NGFcdTA2NDgiLCJcdTA2NGFcdTA2NDhcdTA2NDZcdTA2NGFcdTA2NDgiLCJcdTA2NGFcdTA2NDhcdTA2NDRcdTA2NGFcdTA2NDgiLCJcdTA2MjNcdTA2M2FcdTA2MzNcdTA2MzdcdTA2MzMiLCJcdTA2MzNcdTA2MjhcdTA2MmFcdTA2NDVcdTA2MjhcdTA2MzEiLCJcdTA2MjNcdTA2NDNcdTA2''@;'; put 'put ''MmFcdTA2NDhcdTA2MjhcdTA2MzEiLCJcdTA2NDZcdTA2NDhcdTA2NDFcdTA2NDVcdTA2MjhcdTA2MzEiLCJcdTA2MmZcdTA2NGFcdTA2MzNcdTA2NDVcdTA2MjhcdTA2MzEiXTtDZS5kZWZpbmVMb2NhbGUoImFyIix7bW9udGhzOmosbW9udGhzU2hvcnQ6aix3ZWVrZGF5czoiXHUwNjI3XHUw''@;'; put 'put ''NjQ0XHUwNjIzXHUwNjJkXHUwNjJmX1x1MDYyN1x1MDY0NFx1MDYyNVx1MDYyYlx1MDY0Nlx1MDY0YVx1MDY0Nl9cdTA2MjdcdTA2NDRcdTA2MmJcdTA2NDRcdTA2MjdcdTA2MmJcdTA2MjdcdTA2MjFfXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMxXHUwNjI4XHUwNjM5XHUwNjI3XHUwNjIxX1x1''@;'; put 'put ''MDYyN1x1MDY0NFx1MDYyZVx1MDY0NVx1MDY0YVx1MDYzM19cdTA2MjdcdTA2NDRcdTA2MmNcdTA2NDVcdTA2MzlcdTA2MjlfXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI4XHUwNjJhIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDYyM1x1MDYyZFx1MDYyZl9cdTA2MjVcdTA2MmJcdTA2''@;'; put 'put ''NDZcdTA2NGFcdTA2NDZfXHUwNjJiXHUwNjQ0XHUwNjI3XHUwNjJiXHUwNjI3XHUwNjIxX1x1MDYyM1x1MDYzMVx1MDYyOFx1MDYzOVx1MDYyN1x1MDYyMV9cdTA2MmVcdTA2NDVcdTA2NGFcdTA2MzNfXHUwNjJjXHUwNjQ1XHUwNjM5XHUwNjI5X1x1MDYzM1x1MDYyOFx1MDYyYSIuc3BsaXQo''@;'; put 'put ''Il8iKSx3ZWVrZGF5c01pbjoiXHUwNjJkX1x1MDY0Nl9cdTA2MmJfXHUwNjMxX1x1MDYyZV9cdTA2MmNfXHUwNjMzIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJEL1x1MjAwZk0vXHUyMDBmWVlZ''@;'; put 'put ''WSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkIEQgTU1NTSBZWVlZIEhIOm1tIn0sbWVyaWRpZW1QYXJzZTovXHUwNjM1fFx1MDY0NS8saXNQTTpmdW5jdGlvbih6KXtyZXR1cm4iXHUwNjQ1Ij09PXp9LG1lcmlkaWVtOmZ1bmN0aW9uKHosQyxT''@;'; put 'put ''KXtyZXR1cm4gejwxMj8iXHUwNjM1IjoiXHUwNjQ1In0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA2MjdcdTA2NDRcdTA2NGFcdTA2NDhcdTA2NDUgXHUwNjM5XHUwNjQ2XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLG5leHREYXk6IltcdTA2M2FcdTA2''@;'; put 'put ''MmZcdTA2NGJcdTA2MjcgXHUwNjM5XHUwNjQ2XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOV0gTFQiLG5leHRXZWVrOiJkZGRkIFtcdTA2MzlcdTA2NDZcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbGFzdERheToiW1x1''@;'; put 'put ''MDYyM1x1MDY0NVx1MDYzMyBcdTA2MzlcdTA2NDZcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5XSBMVCIsbGFzdFdlZWs6ImRkZGQgW1x1MDYzOVx1MDY0Nlx1MDYyZiBcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MjldIExUIixzYW1lRWxzZToi''@;'; put 'put ''TCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTA2MjhcdTA2MzlcdTA2MmYgJXMiLHBhc3Q6Ilx1MDY0NVx1MDY0Nlx1MDYzMCAlcyIsczpBKCJzIiksc3M6QSgicyIpLG06QSgibSIpLG1tOkEoIm0iKSxoOkEoImgiKSxoaDpBKCJoIiksZDpBKCJkIiksZGQ6QSgiZCIpLE06QSgiTSIpLE1N''@;'; put 'put ''OkEoIk0iKSx5OkEoInkiKSx5eTpBKCJ5Iil9LHByZXBhcnNlOmZ1bmN0aW9uKHope3JldHVybiB6LnJlcGxhY2UoL1tcdTA2NjFcdTA2NjJcdTA2NjNcdTA2NjRcdTA2NjVcdTA2NjZcdTA2NjdcdTA2NjhcdTA2NjlcdTA2NjBdL2csZnVuY3Rpb24oQyl7cmV0dXJuIGdlW0NdfSkucmVwbGFj''@;'; put 'put ''ZSgvXHUwNjBjL2csIiwiKX0scG9zdGZvcm1hdDpmdW5jdGlvbih6KXtyZXR1cm4gei5yZXBsYWNlKC9cZC9nLGZ1bmN0aW9uKEMpe3JldHVybiBvZVtDXX0pLnJlcGxhY2UoLywvZywiXHUwNjBjIil9LHdlZWs6e2Rvdzo2LGRveToxMn19KX0oRmUoNjczOCkpfSw1ODg3OmZ1bmN0aW9uKF90''@;'; put 'put ''LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ezE6Ii1pbmNpIiw1OiItaW5jaSIsODoiLWluY2kiLDcwOiItaW5jaSIsODA6Ii1pbmNpIiwyOiItbmNpIiw3OiItbmNpIiwyMDoiLW5jaSIsNTA6Ii1uY2kiLDM6Ii1ceGZjbmNceGZjIiw0OiItXHhmY25jXHhmYyIs''@;'; put 'put ''MTAwOiItXHhmY25jXHhmYyIsNjoiLW5jXHUwMTMxIiw5OiItdW5jdSIsMTA6Ii11bmN1IiwzMDoiLXVuY3UiLDYwOiItXHUwMTMxbmNcdTAxMzEiLDkwOiItXHUwMTMxbmNcdTAxMzEifTtDZS5kZWZpbmVMb2NhbGUoImF6Iix7bW9udGhzOiJ5YW52YXJfZmV2cmFsX21hcnRfYXByZWxfbWF5''@;'; put 'put ''X2l5dW5faXl1bF9hdnF1c3Rfc2VudHlhYnJfb2t0eWFicl9ub3lhYnJfZGVrYWJyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJ5YW5fZmV2X21hcl9hcHJfbWF5X2l5bl9peWxfYXZxX3Nlbl9va3Rfbm95X2RlayIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiQmF6YXJfQmF6YXIgZXJ0XHUwMjU5''@;'; put 'put ''c2lfXHhjN1x1MDI1OXJcdTAxNWZcdTAyNTluYlx1MDI1OSBheFx1MDE1ZmFtXHUwMTMxX1x4YzdcdTAyNTlyXHUwMTVmXHUwMjU5bmJcdTAyNTlfQ1x4ZmNtXHUwMjU5IGF4XHUwMTVmYW1cdTAxMzFfQ1x4ZmNtXHUwMjU5X1x1MDE1ZVx1MDI1OW5iXHUwMjU5Ii5zcGxpdCgiXyIpLHdlZWtk''@;'; put 'put ''YXlzU2hvcnQ6IkJhel9CekVfXHhjN0F4X1x4YzdcdTAyNTlyX0NBeF9DXHhmY21fXHUwMTVlXHUwMjU5biIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiQnpfQkVfXHhjN0FfXHhjN1x1MDI1OV9DQV9DXHhmY19cdTAxNWVcdTAyNTkiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEw''@;'; put 'put ''LGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW2J1Z1x4ZmNuIHNhYXRd''@;'; put 'put ''IExUIixuZXh0RGF5OiJbc2FiYWggc2FhdF0gTFQiLG5leHRXZWVrOiJbZ1x1MDI1OWxcdTAyNTluIGhcdTAyNTlmdFx1MDI1OV0gZGRkZCBbc2FhdF0gTFQiLGxhc3REYXk6IltkXHhmY25cdTAyNTluXSBMVCIsbGFzdFdlZWs6IltrZVx4ZTdcdTAyNTluIGhcdTAyNTlmdFx1MDI1OV0gZGRk''@;'; put 'put ''ZCBbc2FhdF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIHNvbnJhIixwYXN0OiIlcyBcdTAyNTl2dlx1MDI1OWwiLHM6ImJpciBuZVx4ZTdcdTAyNTkgc2FuaXlcdTAyNTkiLHNzOiIlZCBzYW5peVx1MDI1OSIsbToiYmlyIGRcdTAyNTlxaXFcdTAyNTkiLG1t''@;'; put 'put ''OiIlZCBkXHUwMjU5cWlxXHUwMjU5IixoOiJiaXIgc2FhdCIsaGg6IiVkIHNhYXQiLGQ6ImJpciBnXHhmY24iLGRkOiIlZCBnXHhmY24iLE06ImJpciBheSIsTU06IiVkIGF5Iix5OiJiaXIgaWwiLHl5OiIlZCBpbCJ9LG1lcmlkaWVtUGFyc2U6L2dlY1x1MDI1OXxzXHUwMjU5aFx1MDI1OXJ8''@;'; put 'put ''Z1x4ZmNuZFx4ZmN6fGF4XHUwMTVmYW0vLGlzUE06ZnVuY3Rpb24oaGUpe3JldHVybi9eKGdceGZjbmRceGZjenxheFx1MDE1ZmFtKSQvLnRlc3QoaGUpfSxtZXJpZGllbTpmdW5jdGlvbihoZSxaLEEpe3JldHVybiBoZTw0PyJnZWNcdTAyNTkiOmhlPDEyPyJzXHUwMjU5aFx1MDI1OXIiOmhl''@;'; put 'put ''PDE3PyJnXHhmY25kXHhmY3oiOiJheFx1MDE1ZmFtIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfS0oXHUwMTMxbmNcdTAxMzF8aW5jaXxuY2l8XHhmY25jXHhmY3xuY1x1MDEzMXx1bmN1KS8sb3JkaW5hbDpmdW5jdGlvbihoZSl7aWYoMD09PWhlKXJldHVybiBoZSsiLVx1MDEz''@;'; put 'put ''MW5jXHUwMTMxIjt2YXIgWj1oZSUxMDtyZXR1cm4gaGUrKG9lW1pdfHxvZVtoZSUxMDAtWl18fG9lW2hlPj0xMDA/MTAwOm51bGxdKX0sd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sNDU3MjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7ZnVu''@;'; put 'put ''Y3Rpb24gZ2UoWixBLGope3JldHVybiJtIj09PWo/QT8iXHUwNDQ1XHUwNDMyXHUwNDU2XHUwNDNiXHUwNDU2XHUwNDNkXHUwNDMwIjoiXHUwNDQ1XHUwNDMyXHUwNDU2XHUwNDNiXHUwNDU2XHUwNDNkXHUwNDQzIjoiaCI9PT1qP0E/Ilx1MDQzM1x1MDQzMFx1MDQzNFx1MDQzN1x1MDQ1Nlx1''@;'; put 'put ''MDQzZFx1MDQzMCI6Ilx1MDQzM1x1MDQzMFx1MDQzNFx1MDQzN1x1MDQ1Nlx1MDQzZFx1MDQ0MyI6WisiICIrZnVuY3Rpb24gb2UoWixBKXt2YXIgaj1aLnNwbGl0KCJfIik7cmV0dXJuIEElMTA9PTEmJkElMTAwIT0xMT9qWzBdOkElMTA+PTImJkElMTA8PTQmJihBJTEwMDwxMHx8QSUxMDA+''@;'; put 'put ''PTIwKT9qWzFdOmpbMl19KHtzczpBPyJcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0MzBfXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0XHUwNDRiX1x1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCI6Ilx1MDQ0MVx1MDQzNVx1MDQz''@;'; put 'put ''YVx1MDQ0M1x1MDQzZFx1MDQzNFx1MDQ0M19cdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0NGJfXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0IixtbTpBPyJcdTA0NDVcdTA0MzJcdTA0NTZcdTA0M2JcdTA0NTZcdTA0M2RcdTA0MzBfXHUwNDQ1XHUw''@;'; put 'put ''NDMyXHUwNDU2XHUwNDNiXHUwNDU2XHUwNDNkXHUwNDRiX1x1MDQ0NVx1MDQzMlx1MDQ1Nlx1MDQzYlx1MDQ1Nlx1MDQzZCI6Ilx1MDQ0NVx1MDQzMlx1MDQ1Nlx1MDQzYlx1MDQ1Nlx1MDQzZFx1MDQ0M19cdTA0NDVcdTA0MzJcdTA0NTZcdTA0M2JcdTA0NTZcdTA0M2RcdTA0NGJfXHUwNDQ1''@;'; put 'put ''XHUwNDMyXHUwNDU2XHUwNDNiXHUwNDU2XHUwNDNkIixoaDpBPyJcdTA0MzNcdTA0MzBcdTA0MzRcdTA0MzdcdTA0NTZcdTA0M2RcdTA0MzBfXHUwNDMzXHUwNDMwXHUwNDM0XHUwNDM3XHUwNDU2XHUwNDNkXHUwNDRiX1x1MDQzM1x1MDQzMFx1MDQzNFx1MDQzN1x1MDQ1Nlx1MDQzZCI6Ilx1''@;'; put 'put ''MDQzM1x1MDQzMFx1MDQzNFx1MDQzN1x1MDQ1Nlx1MDQzZFx1MDQ0M19cdTA0MzNcdTA0MzBcdTA0MzRcdTA0MzdcdTA0NTZcdTA0M2RcdTA0NGJfXHUwNDMzXHUwNDMwXHUwNDM0XHUwNDM3XHUwNDU2XHUwNDNkIixkZDoiXHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDRjX1x1MDQzNFx1''@;'; put 'put ''MDQzZFx1MDQ1Nl9cdTA0MzRcdTA0MzdcdTA0NTFcdTA0M2QiLE1NOiJcdTA0M2NcdTA0MzVcdTA0NDFcdTA0NGZcdTA0NDZfXHUwNDNjXHUwNDM1XHUwNDQxXHUwNDRmXHUwNDQ2XHUwNDRiX1x1MDQzY1x1MDQzNVx1MDQ0MVx1MDQ0Zlx1MDQ0Nlx1MDQzMFx1MDQ1ZSIseXk6Ilx1MDQzM1x1''@;'; put 'put ''MDQzZVx1MDQzNF9cdTA0MzNcdTA0MzBcdTA0MzRcdTA0NGJfXHUwNDMzXHUwNDMwXHUwNDM0XHUwNDNlXHUwNDVlIn1bal0sK1opfUNlLmRlZmluZUxvY2FsZSgiYmUiLHttb250aHM6e2Zvcm1hdDoiXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDRmX1x1''@;'; put 'put ''MDQzYlx1MDQ0ZVx1MDQ0Mlx1MDQzMFx1MDQzM1x1MDQzMF9cdTA0NDFcdTA0MzBcdTA0M2FcdTA0MzBcdTA0MzJcdTA0NTZcdTA0M2FcdTA0MzBfXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDNhXHUwNDMwX1x1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQ1ZVx1''@;'; put 'put ''MDQzZFx1MDQ0Zl9cdTA0NDdcdTA0NGRcdTA0NDBcdTA0MzJcdTA0MzVcdTA0M2RcdTA0NGZfXHUwNDNiXHUwNDU2XHUwNDNmXHUwNDM1XHUwNDNkXHUwNDRmX1x1MDQzNlx1MDQzZFx1MDQ1Nlx1MDQ1ZVx1MDQzZFx1MDQ0Zl9cdTA0MzJcdTA0MzVcdTA0NDBcdTA0MzBcdTA0NDFcdTA0M2Rc''@;'; put 'put ''dTA0NGZfXHUwNDNhXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDRiXHUwNDQ3XHUwNDNkXHUwNDU2XHUwNDNhXHUwNDMwX1x1MDQzYlx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZlx1MDQzMFx1MDQzNFx1MDQzMF9cdTA0NDFcdTA0M2RcdTA0MzVcdTA0MzZcdTA0M2RcdTA0NGYi''@;'; put 'put ''LnNwbGl0KCJfIiksc3RhbmRhbG9uZToiXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDRjX1x1MDQzYlx1MDQ0ZVx1MDQ0Mlx1MDQ0Yl9cdTA0NDFcdTA0MzBcdTA0M2FcdTA0MzBcdTA0MzJcdTA0NTZcdTA0M2FfXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDQx''@;'; put 'put ''XHUwNDMwXHUwNDMyXHUwNDU2XHUwNDNhX1x1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzNVx1MDQzZFx1MDQ0Y19cdTA0NDdcdTA0NGRcdTA0NDBcdTA0MzJcdTA0MzVcdTA0M2RcdTA0NGNfXHUwNDNiXHUwNDU2XHUwNDNmXHUwNDM1XHUwNDNkXHUwNDRjX1x1MDQzNlx1MDQzZFx1MDQ1''@;'; put 'put ''Nlx1MDQzMlx1MDQzNVx1MDQzZFx1MDQ0Y19cdTA0MzJcdTA0MzVcdTA0NDBcdTA0MzBcdTA0NDFcdTA0MzVcdTA0M2RcdTA0NGNfXHUwNDNhXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDRiXHUwNDQ3XHUwNDNkXHUwNDU2XHUwNDNhX1x1MDQzYlx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQz''@;'; put 'put ''MFx1MDQzZlx1MDQzMFx1MDQzNF9cdTA0NDFcdTA0M2RcdTA0MzVcdTA0MzZcdTA0MzBcdTA0M2RcdTA0NGMiLnNwbGl0KCJfIil9LG1vbnRoc1Nob3J0OiJcdTA0NDFcdTA0NDJcdTA0NDNcdTA0MzRfXHUwNDNiXHUwNDRlXHUwNDQyX1x1MDQ0MVx1MDQzMFx1MDQzYV9cdTA0M2FcdTA0NDBc''@;'; put 'put ''dTA0MzBcdTA0NDFfXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDMyX1x1MDQ0N1x1MDQ0ZFx1MDQ0MFx1MDQzMl9cdTA0M2JcdTA0NTZcdTA0M2ZfXHUwNDM2XHUwNDNkXHUwNDU2XHUwNDMyX1x1MDQzMlx1MDQzNVx1MDQ0MF9cdTA0M2FcdTA0MzBcdTA0NDFcdTA0NDJfXHUwNDNiXHUwNDU2XHUw''@;'; put 'put ''NDQxXHUwNDQyX1x1MDQ0MVx1MDQzZFx1MDQzNVx1MDQzNiIuc3BsaXQoIl8iKSx3ZWVrZGF5czp7Zm9ybWF0OiJcdTA0M2RcdTA0NGZcdTA0MzRcdTA0MzdcdTA0MzVcdTA0M2JcdTA0NGVfXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDRmXHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNiXHUwNDMwXHUw''@;'; put 'put ''NDNhX1x1MDQzMFx1MDQ1ZVx1MDQ0Mlx1MDQzZVx1MDQ0MFx1MDQzMFx1MDQzYV9cdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzBcdTA0MzRcdTA0NDNfXHUwNDQ3XHUwNDMwXHUwNDQ2XHUwNDMyXHUwNDM1XHUwNDQwX1x1MDQzZlx1MDQ0Zlx1MDQ0Mlx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQ0M19c''@;'; put 'put ''dTA0NDFcdTA0NDNcdTA0MzFcdTA0M2VcdTA0NDJcdTA0NDMiLnNwbGl0KCJfIiksc3RhbmRhbG9uZToiXHUwNDNkXHUwNDRmXHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNiXHUwNDRmX1x1MDQzZlx1MDQzMFx1MDQzZFx1MDQ0Zlx1MDQzNFx1MDQzN1x1MDQzNVx1MDQzYlx1MDQzMFx1MDQzYV9c''@;'; put 'put ''dTA0MzBcdTA0NWVcdTA0NDJcdTA0M2VcdTA0NDBcdTA0MzBcdTA0M2FfXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDMwXHUwNDM0XHUwNDMwX1x1MDQ0N1x1MDQzMFx1MDQ0Nlx1MDQzMlx1MDQzNVx1MDQ0MF9cdTA0M2ZcdTA0NGZcdTA0NDJcdTA0M2RcdTA0NTZcdTA0NDZcdTA0MzBfXHUwNDQx''@;'; put 'put ''XHUwNDQzXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDMwIi5zcGxpdCgiXyIpLGlzRm9ybWF0Oi9cWyA/W1x1MDQyM1x1MDQ0M1x1MDQ1ZV0gPyg/Olx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQ0M1x1MDQzYlx1MDQ0M1x1MDQ0ZXxcdTA0M2RcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2ZcdTA0''@;'; put 'put ''M2RcdTA0NDNcdTA0NGUpPyA/XF0gP2RkZGQvfSx3ZWVrZGF5c1Nob3J0OiJcdTA0M2RcdTA0MzRfXHUwNDNmXHUwNDNkX1x1MDQzMFx1MDQ0Ml9cdTA0NDFcdTA0NDBfXHUwNDQ3XHUwNDQ2X1x1MDQzZlx1MDQ0Ml9cdTA0NDFcdTA0MzEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDQz''@;'; put 'put ''ZFx1MDQzNF9cdTA0M2ZcdTA0M2RfXHUwNDMwXHUwNDQyX1x1MDQ0MVx1MDQ0MF9cdTA0NDdcdTA0NDZfXHUwNDNmXHUwNDQyX1x1MDQ0MVx1MDQzMSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRCBNTU1N''@;'; put 'put ''IFlZWVkgXHUwNDMzLiIsTExMOiJEIE1NTU0gWVlZWSBcdTA0MzMuLCBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgXHUwNDMzLiwgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDQyMVx1MDQ1MVx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0NWVdIExUIixuZXh0RGF5OiJbXHUw''@;'; put 'put ''NDE3XHUwNDMwXHUwNDVlXHUwNDQyXHUwNDQwXHUwNDMwIFx1MDQ1ZV0gTFQiLGxhc3REYXk6IltcdTA0MjNcdTA0NDdcdTA0M2VcdTA0NDBcdTA0MzAgXHUwNDVlXSBMVCIsbmV4dFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4iW1x1MDQyM10gZGRkZCBbXHUwNDVlXSBMVCJ9LGxhc3RXZWVrOmZ1''@;'; put 'put ''bmN0aW9uKCl7c3dpdGNoKHRoaXMuZGF5KCkpe2Nhc2UgMDpjYXNlIDM6Y2FzZSA1OmNhc2UgNjpyZXR1cm4iW1x1MDQyMyBcdTA0M2NcdTA0NTZcdTA0M2RcdTA0NDNcdTA0M2JcdTA0NDNcdTA0NGVdIGRkZGQgW1x1MDQ1ZV0gTFQiO2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OnJldHVybiJbXHUw''@;'; put 'put ''NDIzIFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQ0M1x1MDQzYlx1MDQ0Yl0gZGRkZCBbXHUwNDVlXSBMVCJ9fSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzcgJXMiLHBhc3Q6IiVzIFx1MDQ0Mlx1MDQzMFx1MDQzY1x1MDQ0MyIsczoi''@;'; put 'put ''XHUwNDNkXHUwNDM1XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCIsbTpnZSxtbTpnZSxoOmdlLGhoOmdlLGQ6Ilx1MDQzNFx1MDQzN1x1MDQzNVx1MDQzZFx1MDQ0YyIsZGQ6Z2UsTToiXHUwNDNjXHUwNDM1''@;'; put 'put ''XHUwNDQxXHUwNDRmXHUwNDQ2IixNTTpnZSx5OiJcdTA0MzNcdTA0M2VcdTA0MzQiLHl5OmdlfSxtZXJpZGllbVBhcnNlOi9cdTA0M2RcdTA0M2VcdTA0NDdcdTA0NGJ8XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRifFx1MDQzNFx1MDQzZFx1MDQ0ZnxcdTA0MzJcdTA0MzVc''@;'; put 'put ''dTA0NDdcdTA0MzBcdTA0NDBcdTA0MzAvLGlzUE06ZnVuY3Rpb24oWil7cmV0dXJuL14oXHUwNDM0XHUwNDNkXHUwNDRmfFx1MDQzMlx1MDQzNVx1MDQ0N1x1MDQzMFx1MDQ0MFx1MDQzMCkkLy50ZXN0KFopfSxtZXJpZGllbTpmdW5jdGlvbihaLEEsail7cmV0dXJuIFo8ND8iXHUwNDNkXHUw''@;'; put 'put ''NDNlXHUwNDQ3XHUwNDRiIjpaPDEyPyJcdTA0NDBcdTA0MzBcdTA0M2RcdTA0NTZcdTA0NDZcdTA0NGIiOlo8MTc/Ilx1MDQzNFx1MDQzZFx1MDQ0ZiI6Ilx1MDQzMlx1MDQzNVx1MDQ0N1x1MDQzMFx1MDQ0MFx1MDQzMCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0tKFx1MDQ1''@;'; put 'put ''NnxcdTA0NGJ8XHUwNDMzXHUwNDMwKS8sb3JkaW5hbDpmdW5jdGlvbihaLEEpe3N3aXRjaChBKXtjYXNlIk0iOmNhc2UiZCI6Y2FzZSJEREQiOmNhc2UidyI6Y2FzZSJXIjpyZXR1cm4gWiUxMCE9MiYmWiUxMCE9M3x8WiUxMDA9PTEyfHxaJTEwMD09MTM/WisiLVx1MDQ0YiI6WisiLVx1MDQ1''@;'; put 'put ''NiI7Y2FzZSJEIjpyZXR1cm4gWisiLVx1MDQzM1x1MDQzMCI7ZGVmYXVsdDpyZXR1cm4gWn19LHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDMyNzY6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiYmciLHttb250''@;'; put 'put ''aHM6Ilx1MDQ0Zlx1MDQzZFx1MDQ0M1x1MDQzMFx1MDQ0MFx1MDQzOF9cdTA0NDRcdTA0MzVcdTA0MzJcdTA0NDBcdTA0NDNcdTA0MzBcdTA0NDBcdTA0MzhfXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyX1x1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzOFx1MDQzYl9cdTA0M2NcdTA0MzBcdTA0Mzlf''@;'; put 'put ''XHUwNDRlXHUwNDNkXHUwNDM4X1x1MDQ0ZVx1MDQzYlx1MDQzOF9cdTA0MzBcdTA0MzJcdTA0MzNcdTA0NDNcdTA0NDFcdTA0NDJfXHUwNDQxXHUwNDM1XHUwNDNmXHUwNDQyXHUwNDM1XHUwNDNjXHUwNDMyXHUwNDQwXHUwNDM4X1x1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQzZVx1MDQzY1x1MDQz''@;'; put 'put ''Mlx1MDQ0MFx1MDQzOF9cdTA0M2RcdTA0M2VcdTA0MzVcdTA0M2NcdTA0MzJcdTA0NDBcdTA0MzhfXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDM1XHUwNDNjXHUwNDMyXHUwNDQwXHUwNDM4Ii5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTA0NGZcdTA0M2RcdTA0NDNfXHUwNDQ0XHUwNDM1XHUw''@;'; put 'put ''NDMyX1x1MDQzY1x1MDQzMFx1MDQ0MF9cdTA0MzBcdTA0M2ZcdTA0NDBfXHUwNDNjXHUwNDMwXHUwNDM5X1x1MDQ0ZVx1MDQzZFx1MDQzOF9cdTA0NGVcdTA0M2JcdTA0MzhfXHUwNDMwXHUwNDMyXHUwNDMzX1x1MDQ0MVx1MDQzNVx1MDQzZl9cdTA0M2VcdTA0M2FcdTA0NDJfXHUwNDNkXHUw''@;'; put 'put ''NDNlXHUwNDM1X1x1MDQzNFx1MDQzNVx1MDQzYSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHUwNDNkXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDNiXHUwNDRmX1x1MDQzZlx1MDQzZVx1MDQzZFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQzYlx1MDQzZFx1MDQzOFx1MDQzYV9cdTA0MzJcdTA0NDJcdTA0''@;'; put 'put ''M2VcdTA0NDBcdTA0M2RcdTA0MzhcdTA0M2FfXHUwNDQxXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDMwX1x1MDQ0N1x1MDQzNVx1MDQ0Mlx1MDQzMlx1MDQ0YVx1MDQ0MFx1MDQ0Mlx1MDQ0YVx1MDQzYV9cdTA0M2ZcdTA0MzVcdTA0NDJcdTA0NGFcdTA0M2FfXHUwNDQxXHUwNDRhXHUwNDMxXHUw''@;'; put 'put ''NDNlXHUwNDQyXHUwNDMwIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDQzZFx1MDQzNVx1MDQzNF9cdTA0M2ZcdTA0M2VcdTA0M2RfXHUwNDMyXHUwNDQyXHUwNDNlX1x1MDQ0MVx1MDQ0MFx1MDQ0Zl9cdTA0NDdcdTA0MzVcdTA0NDJfXHUwNDNmXHUwNDM1XHUwNDQyX1x1MDQ0MVx1''@;'; put 'put ''MDQ0YVx1MDQzMSIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNDNkXHUwNDM0X1x1MDQzZlx1MDQzZF9cdTA0MzJcdTA0NDJfXHUwNDQxXHUwNDQwX1x1MDQ0N1x1MDQ0Ml9cdTA0M2ZcdTA0NDJfXHUwNDQxXHUwNDMxIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIs''@;'; put 'put ''TFRTOiJIOm1tOnNzIixMOiJELk1NLllZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA0MTRcdTA0M2RcdTA0MzVcdTA0NDEgXHUwNDMyXSBMVCIsbmV4dERheToi''@;'; put 'put ''W1x1MDQyM1x1MDQ0Mlx1MDQ0MFx1MDQzNSBcdTA0MzJdIExUIixuZXh0V2VlazoiZGRkZCBbXHUwNDMyXSBMVCIsbGFzdERheToiW1x1MDQxMlx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzMCBcdTA0MzJdIExUIixsYXN0V2VlazpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLmRheSgpKXtjYXNlIDA6''@;'; put 'put ''Y2FzZSAzOmNhc2UgNjpyZXR1cm4iW1x1MDQxY1x1MDQzOFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQzMF0gZGRkZCBbXHUwNDMyXSBMVCI7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA1OnJldHVybiJbXHUwNDFjXHUwNDM4XHUwNDNkXHUwNDMwXHUwNDNiXHUwNDM4XHUw''@;'; put 'put ''NDRmXSBkZGRkIFtcdTA0MzJdIExUIn19LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNCAlcyIscGFzdDoiXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDM4ICVzIixzOiJcdTA0M2RcdTA0NGZcdTA0M2FcdTA0M2VcdTA0M2Jc''@;'; put 'put ''dTA0M2FcdTA0M2UgXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0XHUwNDM4IixzczoiJWQgXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0XHUwNDM4IixtOiJcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzAiLG1tOiIlZCBcdTA0M2NcdTA0''@;'; put 'put ''MzhcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzgiLGg6Ilx1MDQ0N1x1MDQzMFx1MDQ0MSIsaGg6IiVkIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQzMCIsZDoiXHUwNDM0XHUwNDM1XHUwNDNkIixkZDoiJWQgXHUwNDM0XHUwNDM1XHUwNDNkXHUwNDMwIix3OiJcdTA0NDFcdTA0MzVcdTA0MzRcdTA0''@;'; put 'put ''M2NcdTA0MzhcdTA0NDZcdTA0MzAiLHd3OiIlZCBcdTA0NDFcdTA0MzVcdTA0MzRcdTA0M2NcdTA0MzhcdTA0NDZcdTA0MzgiLE06Ilx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQzNVx1MDQ0NiIsTU06IiVkIFx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQzNVx1MDQ0Nlx1MDQzMCIseToiXHUwNDMzXHUw''@;'; put 'put ''NDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDMwIix5eToiJWQgXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDM4In0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfS0oXHUwNDM1XHUwNDMyfFx1MDQzNVx1MDQzZHxcdTA0NDJcdTA0Mzh8XHUwNDMyXHUwNDM4fFx1MDQ0''@;'; put 'put ''MFx1MDQzOHxcdTA0M2NcdTA0MzgpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlKXt2YXIgaGU9Z2UlMTAsWj1nZSUxMDA7cmV0dXJuIDA9PT1nZT9nZSsiLVx1MDQzNVx1MDQzMiI6MD09PVo/Z2UrIi1cdTA0MzVcdTA0M2QiOlo+MTAmJlo8MjA/Z2UrIi1cdTA0NDJcdTA0MzgiOjE9PT1oZT9nZSsi''@;'; put 'put ''LVx1MDQzMlx1MDQzOCI6Mj09PWhlP2dlKyItXHUwNDQwXHUwNDM4Ijo3PT09aGV8fDg9PT1oZT9nZSsiLVx1MDQzY1x1MDQzOCI6Z2UrIi1cdTA0NDJcdTA0MzgifSx3ZWVrOntkb3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSwzMzQ0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2Up''@;'; put 'put ''eyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImJtIix7bW9udGhzOiJaYW53dXlla2Fsb19GZXd1cnV5ZWthbG9fTWFyaXNpa2Fsb19Bd2lyaWxpa2Fsb19NXHUwMjVia2Fsb19adXdcdTAyNWJua2Fsb19adWx1eWVrYWxvX1V0aWthbG9fU1x1MDI1YnRhbmJ1cnVrYWxvX1x1MDI1NGt1''@;'; put 'put ''dFx1MDI1NGJ1cnVrYWxvX05vd2FuYnVydWthbG9fRGVzYW5idXJ1a2FsbyIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiWmFuX0Zld19NYXJfQXdpX01cdTAyNWJfWnV3X1p1bF9VdGlfU1x1MDI1YnRfXHUwMjU0a3VfTm93X0RlcyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiS2FyaV9OdFx1MDI1''@;'; put 'put ''Ym5cdTAyNWJuX1RhcmF0YV9BcmFiYV9BbGFtaXNhX0p1bWFfU2liaXJpIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ikthcl9OdFx1MDI1Yl9UYXJfQXJhX0FsYV9KdW1fU2liIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJLYV9OdF9UYV9Bcl9BbF9KdV9TaSIuc3BsaXQoIl8iKSxsb25n''@;'; put 'put ''RGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiTU1NTSBbdGlsZV0gRCBbc2FuXSBZWVlZIixMTEw6Ik1NTU0gW3RpbGVdIEQgW3Nhbl0gWVlZWSBbbFx1MDI1YnJcdTAyNWJdIEhIOm1tIixMTExMOiJkZGRkIE1NTU0gW3RpbGVdIEQgW3Nh''@;'; put 'put ''bl0gWVlZWSBbbFx1MDI1YnJcdTAyNWJdIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltCaSBsXHUwMjViclx1MDI1Yl0gTFQiLG5leHREYXk6IltTaW5pIGxcdTAyNWJyXHUwMjViXSBMVCIsbmV4dFdlZWs6ImRkZGQgW2RvbiBsXHUwMjViclx1MDI1Yl0gTFQiLGxhc3REYXk6IltLdW51''@;'; put 'put ''IGxcdTAyNWJyXHUwMjViXSBMVCIsbGFzdFdlZWs6ImRkZGQgW3RcdTAyNWJtXHUwMjVibmVuIGxcdTAyNWJyXHUwMjViXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMga1x1MDI1NG5cdTAyNTQiLHBhc3Q6ImEgYlx1MDI1YiAlcyBiXHUwMjU0IixzOiJzYW5n''@;'; put 'put ''YSBkYW1hIGRhbWEiLHNzOiJzZWtvbmRpICVkIixtOiJtaW5pdGkga2VsZW4iLG1tOiJtaW5pdGkgJWQiLGg6ImxcdTAyNWJyXHUwMjViIGtlbGVuIixoaDoibFx1MDI1YnJcdTAyNWIgJWQiLGQ6InRpbGUga2VsZW4iLGRkOiJ0aWxlICVkIixNOiJrYWxvIGtlbGVuIixNTToia2FsbyAlZCIs''@;'; put 'put ''eToic2FuIGtlbGVuIix5eToic2FuICVkIn0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMzk5MDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXsxOiJcdTA5ZTciLDI6Ilx1MDllOCIsMzoiXHUwOWU5Iiw0OiJcdTA5ZWEiLDU6''@;'; put 'put ''Ilx1MDllYiIsNjoiXHUwOWVjIiw3OiJcdTA5ZWQiLDg6Ilx1MDllZSIsOToiXHUwOWVmIiwwOiJcdTA5ZTYifSxnZT17Ilx1MDllNyI6IjEiLCJcdTA5ZTgiOiIyIiwiXHUwOWU5IjoiMyIsIlx1MDllYSI6IjQiLCJcdTA5ZWIiOiI1IiwiXHUwOWVjIjoiNiIsIlx1MDllZCI6IjciLCJcdTA5''@;'; put 'put ''ZWUiOiI4IiwiXHUwOWVmIjoiOSIsIlx1MDllNiI6IjAifTtDZS5kZWZpbmVMb2NhbGUoImJuLWJkIix7bW9udGhzOiJcdTA5OWNcdTA5YmVcdTA5YThcdTA5YzFcdTA5ZGZcdTA5YmVcdTA5YjBcdTA5YmZfXHUwOWFiXHUwOWM3XHUwOWFjXHUwOWNkXHUwOWIwXHUwOWMxXHUwOWRmXHUwOWJl''@;'; put 'put ''XHUwOWIwXHUwOWJmX1x1MDlhZVx1MDliZVx1MDliMFx1MDljZFx1MDk5YV9cdTA5OGZcdTA5YWFcdTA5Y2RcdTA5YjBcdTA5YmZcdTA5YjJfXHUwOWFlXHUwOWM3X1x1MDk5Y1x1MDljMVx1MDlhOF9cdTA5OWNcdTA5YzFcdTA5YjJcdTA5YmVcdTA5ODdfXHUwOTg2XHUwOTk3XHUwOWI4XHUw''@;'; put 'put ''OWNkXHUwOTlmX1x1MDliOFx1MDljN1x1MDlhYVx1MDljZFx1MDk5Zlx1MDljN1x1MDlhZVx1MDljZFx1MDlhY1x1MDliMF9cdTA5ODVcdTA5OTVcdTA5Y2RcdTA5OWZcdTA5Y2JcdTA5YWNcdTA5YjBfXHUwOWE4XHUwOWFkXHUwOWM3XHUwOWFlXHUwOWNkXHUwOWFjXHUwOWIwX1x1MDlhMVx1''@;'; put 'put ''MDliZlx1MDliOFx1MDljN1x1MDlhZVx1MDljZFx1MDlhY1x1MDliMCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwOTljXHUwOWJlXHUwOWE4XHUwOWMxX1x1MDlhYlx1MDljN1x1MDlhY1x1MDljZFx1MDliMFx1MDljMV9cdTA5YWVcdTA5YmVcdTA5YjBcdTA5Y2RcdTA5OWFfXHUwOThm''@;'; put 'put ''XHUwOWFhXHUwOWNkXHUwOWIwXHUwOWJmXHUwOWIyX1x1MDlhZVx1MDljN19cdTA5OWNcdTA5YzFcdTA5YThfXHUwOTljXHUwOWMxXHUwOWIyXHUwOWJlXHUwOTg3X1x1MDk4Nlx1MDk5N1x1MDliOFx1MDljZFx1MDk5Zl9cdTA5YjhcdTA5YzdcdTA5YWFcdTA5Y2RcdTA5OWZfXHUwOTg1XHUw''@;'; put 'put ''OTk1XHUwOWNkXHUwOTlmXHUwOWNiX1x1MDlhOFx1MDlhZFx1MDljN19cdTA5YTFcdTA5YmZcdTA5YjhcdTA5YzciLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MDliMFx1MDlhY1x1MDliZlx1MDlhY1x1MDliZVx1MDliMF9cdTA5YjhcdTA5Y2JcdTA5YWVcdTA5YWNcdTA5YmVcdTA5YjBfXHUw''@;'; put 'put ''OWFlXHUwOTk5XHUwOWNkXHUwOTk3XHUwOWIyXHUwOWFjXHUwOWJlXHUwOWIwX1x1MDlhY1x1MDljMVx1MDlhN1x1MDlhY1x1MDliZVx1MDliMF9cdTA5YWNcdTA5YzNcdTA5YjlcdTA5YjhcdTA5Y2RcdTA5YWFcdTA5YTRcdTA5YmZcdTA5YWNcdTA5YmVcdTA5YjBfXHUwOWI2XHUwOWMxXHUw''@;'; put 'put ''OTk1XHUwOWNkXHUwOWIwXHUwOWFjXHUwOWJlXHUwOWIwX1x1MDliNlx1MDlhOFx1MDliZlx1MDlhY1x1MDliZVx1MDliMCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA5YjBcdTA5YWNcdTA5YmZfXHUwOWI4XHUwOWNiXHUwOWFlX1x1MDlhZVx1MDk5OVx1MDljZFx1MDk5N1x1MDli''@;'; put 'put ''Ml9cdTA5YWNcdTA5YzFcdTA5YTdfXHUwOWFjXHUwOWMzXHUwOWI5XHUwOWI4XHUwOWNkXHUwOWFhXHUwOWE0XHUwOWJmX1x1MDliNlx1MDljMVx1MDk5NVx1MDljZFx1MDliMF9cdTA5YjZcdTA5YThcdTA5YmYiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDliMFx1MDlhY1x1MDliZl9c''@;'; put 'put ''dTA5YjhcdTA5Y2JcdTA5YWVfXHUwOWFlXHUwOTk5XHUwOWNkXHUwOTk3XHUwOWIyX1x1MDlhY1x1MDljMVx1MDlhN19cdTA5YWNcdTA5YzNcdTA5YjlfXHUwOWI2XHUwOWMxXHUwOTk1XHUwOWNkXHUwOWIwX1x1MDliNlx1MDlhOFx1MDliZiIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7''@;'; put 'put ''TFQ6IkEgaDptbSBcdTA5YjhcdTA5YWVcdTA5ZGYiLExUUzoiQSBoOm1tOnNzIFx1MDliOFx1MDlhZVx1MDlkZiIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZLCBBIGg6bW0gXHUwOWI4XHUwOWFlXHUwOWRmIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZ''@;'; put 'put ''WSwgQSBoOm1tIFx1MDliOFx1MDlhZVx1MDlkZiJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwOTg2XHUwOTljXSBMVCIsbmV4dERheToiW1x1MDk4Nlx1MDk5N1x1MDliZVx1MDlhZVx1MDljMFx1MDk5NVx1MDliZVx1MDliMl0gTFQiLG5leHRXZWVrOiJkZGRkLCBMVCIsbGFzdERheToiW1x1''@;'; put 'put ''MDk5N1x1MDlhNFx1MDk5NVx1MDliZVx1MDliMl0gTFQiLGxhc3RXZWVrOiJbXHUwOTk3XHUwOWE0XSBkZGRkLCBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHUwOWFhXHUwOWIwXHUwOWM3IixwYXN0OiIlcyBcdTA5ODZcdTA5OTdcdTA5YzciLHM6Ilx1MDk5''@;'; put 'put ''NVx1MDlkZlx1MDljN1x1MDk5NSBcdTA5YjhcdTA5YzdcdTA5OTVcdTA5YzdcdTA5YThcdTA5Y2RcdTA5YTEiLHNzOiIlZCBcdTA5YjhcdTA5YzdcdTA5OTVcdTA5YzdcdTA5YThcdTA5Y2RcdTA5YTEiLG06Ilx1MDk4Zlx1MDk5NSBcdTA5YWVcdTA5YmZcdTA5YThcdTA5YmZcdTA5OWYiLG1t''@;'; put 'put ''OiIlZCBcdTA5YWVcdTA5YmZcdTA5YThcdTA5YmZcdTA5OWYiLGg6Ilx1MDk4Zlx1MDk5NSBcdTA5OThcdTA5YThcdTA5Y2RcdTA5OWZcdTA5YmUiLGhoOiIlZCBcdTA5OThcdTA5YThcdTA5Y2RcdTA5OWZcdTA5YmUiLGQ6Ilx1MDk4Zlx1MDk5NSBcdTA5YTZcdTA5YmZcdTA5YTgiLGRkOiIl''@;'; put 'put ''ZCBcdTA5YTZcdTA5YmZcdTA5YTgiLE06Ilx1MDk4Zlx1MDk5NSBcdTA5YWVcdTA5YmVcdTA5YjgiLE1NOiIlZCBcdTA5YWVcdTA5YmVcdTA5YjgiLHk6Ilx1MDk4Zlx1MDk5NSBcdTA5YWNcdTA5OWJcdTA5YjAiLHl5OiIlZCBcdTA5YWNcdTA5OWJcdTA5YjAifSxwcmVwYXJzZTpmdW5jdGlv''@;'; put 'put ''bihaKXtyZXR1cm4gWi5yZXBsYWNlKC9bXHUwOWU3XHUwOWU4XHUwOWU5XHUwOWVhXHUwOWViXHUwOWVjXHUwOWVkXHUwOWVlXHUwOWVmXHUwOWU2XS9nLGZ1bmN0aW9uKEEpe3JldHVybiBnZVtBXX0pfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1xkL2csZnVu''@;'; put 'put ''Y3Rpb24oQSl7cmV0dXJuIG9lW0FdfSl9LG1lcmlkaWVtUGFyc2U6L1x1MDliMFx1MDliZVx1MDlhNHxcdTA5YWRcdTA5Y2JcdTA5YjB8XHUwOWI4XHUwOTk1XHUwOWJlXHUwOWIyfFx1MDlhNlx1MDljMVx1MDlhYVx1MDljMVx1MDliMHxcdTA5YWNcdTA5YmZcdTA5OTVcdTA5YmVcdTA5YjJ8''@;'; put 'put ''XHUwOWI4XHUwOWE4XHUwOWNkXHUwOWE3XHUwOWNkXHUwOWFmXHUwOWJlfFx1MDliMFx1MDliZVx1MDlhNC8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKFosQSl7cmV0dXJuIDEyPT09WiYmKFo9MCksIlx1MDliMFx1MDliZVx1MDlhNCI9PT1BP1o8ND9aOlorMTI6Ilx1MDlhZFx1MDljYlx1MDli''@;'; put 'put ''MCI9PT1BfHwiXHUwOWI4XHUwOTk1XHUwOWJlXHUwOWIyIj09PUE/WjoiXHUwOWE2XHUwOWMxXHUwOWFhXHUwOWMxXHUwOWIwIj09PUE/Wj49Mz9aOlorMTI6Ilx1MDlhY1x1MDliZlx1MDk5NVx1MDliZVx1MDliMiI9PT1BfHwiXHUwOWI4XHUwOWE4XHUwOWNkXHUwOWE3XHUwOWNkXHUwOWFm''@;'; put 'put ''XHUwOWJlIj09PUE/WisxMjp2b2lkIDB9LG1lcmlkaWVtOmZ1bmN0aW9uKFosQSxqKXtyZXR1cm4gWjw0PyJcdTA5YjBcdTA5YmVcdTA5YTQiOlo8Nj8iXHUwOWFkXHUwOWNiXHUwOWIwIjpaPDEyPyJcdTA5YjhcdTA5OTVcdTA5YmVcdTA5YjIiOlo8MTU/Ilx1MDlhNlx1MDljMVx1MDlhYVx1''@;'; put 'put ''MDljMVx1MDliMCI6WjwxOD8iXHUwOWFjXHUwOWJmXHUwOTk1XHUwOWJlXHUwOWIyIjpaPDIwPyJcdTA5YjhcdTA5YThcdTA5Y2RcdTA5YTdcdTA5Y2RcdTA5YWZcdTA5YmUiOiJcdTA5YjBcdTA5YmVcdTA5YTQifSx3ZWVrOntkb3c6MCxkb3k6Nn19KX0oRmUoNjczOCkpfSw4OTg1OmZ1bmN0''@;'; put 'put ''aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ezE6Ilx1MDllNyIsMjoiXHUwOWU4IiwzOiJcdTA5ZTkiLDQ6Ilx1MDllYSIsNToiXHUwOWViIiw2OiJcdTA5ZWMiLDc6Ilx1MDllZCIsODoiXHUwOWVlIiw5OiJcdTA5ZWYiLDA6Ilx1MDllNiJ9LGdlPXsi''@;'; put 'put ''XHUwOWU3IjoiMSIsIlx1MDllOCI6IjIiLCJcdTA5ZTkiOiIzIiwiXHUwOWVhIjoiNCIsIlx1MDllYiI6IjUiLCJcdTA5ZWMiOiI2IiwiXHUwOWVkIjoiNyIsIlx1MDllZSI6IjgiLCJcdTA5ZWYiOiI5IiwiXHUwOWU2IjoiMCJ9O0NlLmRlZmluZUxvY2FsZSgiYm4iLHttb250aHM6Ilx1MDk5''@;'; put 'put ''Y1x1MDliZVx1MDlhOFx1MDljMVx1MDlkZlx1MDliZVx1MDliMFx1MDliZl9cdTA5YWJcdTA5YzdcdTA5YWNcdTA5Y2RcdTA5YjBcdTA5YzFcdTA5ZGZcdTA5YmVcdTA5YjBcdTA5YmZfXHUwOWFlXHUwOWJlXHUwOWIwXHUwOWNkXHUwOTlhX1x1MDk4Zlx1MDlhYVx1MDljZFx1MDliMFx1MDli''@;'; put 'put ''Zlx1MDliMl9cdTA5YWVcdTA5YzdfXHUwOTljXHUwOWMxXHUwOWE4X1x1MDk5Y1x1MDljMVx1MDliMlx1MDliZVx1MDk4N19cdTA5ODZcdTA5OTdcdTA5YjhcdTA5Y2RcdTA5OWZfXHUwOWI4XHUwOWM3XHUwOWFhXHUwOWNkXHUwOTlmXHUwOWM3XHUwOWFlXHUwOWNkXHUwOWFjXHUwOWIwX1x1''@;'; put 'put ''MDk4NVx1MDk5NVx1MDljZFx1MDk5Zlx1MDljYlx1MDlhY1x1MDliMF9cdTA5YThcdTA5YWRcdTA5YzdcdTA5YWVcdTA5Y2RcdTA5YWNcdTA5YjBfXHUwOWExXHUwOWJmXHUwOWI4XHUwOWM3XHUwOWFlXHUwOWNkXHUwOWFjXHUwOWIwIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTA5OWNc''@;'; put 'put ''dTA5YmVcdTA5YThcdTA5YzFfXHUwOWFiXHUwOWM3XHUwOWFjXHUwOWNkXHUwOWIwXHUwOWMxX1x1MDlhZVx1MDliZVx1MDliMFx1MDljZFx1MDk5YV9cdTA5OGZcdTA5YWFcdTA5Y2RcdTA5YjBcdTA5YmZcdTA5YjJfXHUwOWFlXHUwOWM3X1x1MDk5Y1x1MDljMVx1MDlhOF9cdTA5OWNcdTA5''@;'; put 'put ''YzFcdTA5YjJcdTA5YmVcdTA5ODdfXHUwOTg2XHUwOTk3XHUwOWI4XHUwOWNkXHUwOTlmX1x1MDliOFx1MDljN1x1MDlhYVx1MDljZFx1MDk5Zl9cdTA5ODVcdTA5OTVcdTA5Y2RcdTA5OWZcdTA5Y2JfXHUwOWE4XHUwOWFkXHUwOWM3X1x1MDlhMVx1MDliZlx1MDliOFx1MDljNyIuc3BsaXQo''@;'; put 'put ''Il8iKSx3ZWVrZGF5czoiXHUwOWIwXHUwOWFjXHUwOWJmXHUwOWFjXHUwOWJlXHUwOWIwX1x1MDliOFx1MDljYlx1MDlhZVx1MDlhY1x1MDliZVx1MDliMF9cdTA5YWVcdTA5OTlcdTA5Y2RcdTA5OTdcdTA5YjJcdTA5YWNcdTA5YmVcdTA5YjBfXHUwOWFjXHUwOWMxXHUwOWE3XHUwOWFjXHUw''@;'; put 'put ''OWJlXHUwOWIwX1x1MDlhY1x1MDljM1x1MDliOVx1MDliOFx1MDljZFx1MDlhYVx1MDlhNFx1MDliZlx1MDlhY1x1MDliZVx1MDliMF9cdTA5YjZcdTA5YzFcdTA5OTVcdTA5Y2RcdTA5YjBcdTA5YWNcdTA5YmVcdTA5YjBfXHUwOWI2XHUwOWE4XHUwOWJmXHUwOWFjXHUwOWJlXHUwOWIwIi5z''@;'; put 'put ''cGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDliMFx1MDlhY1x1MDliZl9cdTA5YjhcdTA5Y2JcdTA5YWVfXHUwOWFlXHUwOTk5XHUwOWNkXHUwOTk3XHUwOWIyX1x1MDlhY1x1MDljMVx1MDlhN19cdTA5YWNcdTA5YzNcdTA5YjlcdTA5YjhcdTA5Y2RcdTA5YWFcdTA5YTRcdTA5YmZfXHUw''@;'; put 'put ''OWI2XHUwOWMxXHUwOTk1XHUwOWNkXHUwOWIwX1x1MDliNlx1MDlhOFx1MDliZiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwOWIwXHUwOWFjXHUwOWJmX1x1MDliOFx1MDljYlx1MDlhZV9cdTA5YWVcdTA5OTlcdTA5Y2RcdTA5OTdcdTA5YjJfXHUwOWFjXHUwOWMxXHUwOWE3X1x1MDlh''@;'; put 'put ''Y1x1MDljM1x1MDliOV9cdTA5YjZcdTA5YzFcdTA5OTVcdTA5Y2RcdTA5YjBfXHUwOWI2XHUwOWE4XHUwOWJmIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiQSBoOm1tIFx1MDliOFx1MDlhZVx1MDlkZiIsTFRTOiJBIGg6bW06c3MgXHUwOWI4XHUwOWFlXHUwOWRmIixMOiJERC9N''@;'; put 'put ''TS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVksIEEgaDptbSBcdTA5YjhcdTA5YWVcdTA5ZGYiLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZLCBBIGg6bW0gXHUwOWI4XHUwOWFlXHUwOWRmIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA5ODZcdTA5OWNdIExUIixuZXh0''@;'; put 'put ''RGF5OiJbXHUwOTg2XHUwOTk3XHUwOWJlXHUwOWFlXHUwOWMwXHUwOTk1XHUwOWJlXHUwOWIyXSBMVCIsbmV4dFdlZWs6ImRkZGQsIExUIixsYXN0RGF5OiJbXHUwOTk3XHUwOWE0XHUwOTk1XHUwOWJlXHUwOWIyXSBMVCIsbGFzdFdlZWs6IltcdTA5OTdcdTA5YTRdIGRkZGQsIExUIixzYW1l''@;'; put 'put ''RWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBcdTA5YWFcdTA5YjBcdTA5YzciLHBhc3Q6IiVzIFx1MDk4Nlx1MDk5N1x1MDljNyIsczoiXHUwOTk1XHUwOWRmXHUwOWM3XHUwOTk1IFx1MDliOFx1MDljN1x1MDk5NVx1MDljN1x1MDlhOFx1MDljZFx1MDlhMSIsc3M6IiVkIFx1''@;'; put 'put ''MDliOFx1MDljN1x1MDk5NVx1MDljN1x1MDlhOFx1MDljZFx1MDlhMSIsbToiXHUwOThmXHUwOTk1IFx1MDlhZVx1MDliZlx1MDlhOFx1MDliZlx1MDk5ZiIsbW06IiVkIFx1MDlhZVx1MDliZlx1MDlhOFx1MDliZlx1MDk5ZiIsaDoiXHUwOThmXHUwOTk1IFx1MDk5OFx1MDlhOFx1MDljZFx1''@;'; put 'put ''MDk5Zlx1MDliZSIsaGg6IiVkIFx1MDk5OFx1MDlhOFx1MDljZFx1MDk5Zlx1MDliZSIsZDoiXHUwOThmXHUwOTk1IFx1MDlhNlx1MDliZlx1MDlhOCIsZGQ6IiVkIFx1MDlhNlx1MDliZlx1MDlhOCIsTToiXHUwOThmXHUwOTk1IFx1MDlhZVx1MDliZVx1MDliOCIsTU06IiVkIFx1MDlhZVx1''@;'; put 'put ''MDliZVx1MDliOCIseToiXHUwOThmXHUwOTk1IFx1MDlhY1x1MDk5Ylx1MDliMCIseXk6IiVkIFx1MDlhY1x1MDk5Ylx1MDliMCJ9LHByZXBhcnNlOmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1tcdTA5ZTdcdTA5ZThcdTA5ZTlcdTA5ZWFcdTA5ZWJcdTA5ZWNcdTA5ZWRcdTA5ZWVc''@;'; put 'put ''dTA5ZWZcdTA5ZTZdL2csZnVuY3Rpb24oQSl7cmV0dXJuIGdlW0FdfSl9LHBvc3Rmb3JtYXQ6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvXGQvZyxmdW5jdGlvbihBKXtyZXR1cm4gb2VbQV19KX0sbWVyaWRpZW1QYXJzZTovXHUwOWIwXHUwOWJlXHUwOWE0fFx1MDliOFx1MDk5NVx1''@;'; put 'put ''MDliZVx1MDliMnxcdTA5YTZcdTA5YzFcdTA5YWFcdTA5YzFcdTA5YjB8XHUwOWFjXHUwOWJmXHUwOTk1XHUwOWJlXHUwOWIyfFx1MDliMFx1MDliZVx1MDlhNC8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKFosQSl7cmV0dXJuIDEyPT09WiYmKFo9MCksIlx1MDliMFx1MDliZVx1MDlhNCI9PT1B''@;'; put 'put ''JiZaPj00fHwiXHUwOWE2XHUwOWMxXHUwOWFhXHUwOWMxXHUwOWIwIj09PUEmJlo8NXx8Ilx1MDlhY1x1MDliZlx1MDk5NVx1MDliZVx1MDliMiI9PT1BP1orMTI6Wn0sbWVyaWRpZW06ZnVuY3Rpb24oWixBLGope3JldHVybiBaPDQ/Ilx1MDliMFx1MDliZVx1MDlhNCI6WjwxMD8iXHUwOWI4''@;'; put 'put ''XHUwOTk1XHUwOWJlXHUwOWIyIjpaPDE3PyJcdTA5YTZcdTA5YzFcdTA5YWFcdTA5YzFcdTA5YjAiOlo8MjA/Ilx1MDlhY1x1MDliZlx1MDk5NVx1MDliZVx1MDliMiI6Ilx1MDliMFx1MDliZVx1MDlhNCJ9LHdlZWs6e2RvdzowLGRveTo2fX0pfShGZSg2NzM4KSl9LDQzOTE6ZnVuY3Rpb24o''@;'; put 'put ''X3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MToiXHUwZjIxIiwyOiJcdTBmMjIiLDM6Ilx1MGYyMyIsNDoiXHUwZjI0Iiw1OiJcdTBmMjUiLDY6Ilx1MGYyNiIsNzoiXHUwZjI3Iiw4OiJcdTBmMjgiLDk6Ilx1MGYyOSIsMDoiXHUwZjIwIn0sZ2U9eyJcdTBm''@;'; put 'put ''MjEiOiIxIiwiXHUwZjIyIjoiMiIsIlx1MGYyMyI6IjMiLCJcdTBmMjQiOiI0IiwiXHUwZjI1IjoiNSIsIlx1MGYyNiI6IjYiLCJcdTBmMjciOiI3IiwiXHUwZjI4IjoiOCIsIlx1MGYyOSI6IjkiLCJcdTBmMjAiOiIwIn07Q2UuZGVmaW5lTG9jYWxlKCJibyIse21vbnRoczoiXHUwZjVmXHUw''@;'; put 'put ''ZmIzXHUwZjBiXHUwZjU2XHUwZjBiXHUwZjUxXHUwZjQ0XHUwZjBiXHUwZjU0XHUwZjdjX1x1MGY1Zlx1MGZiM1x1MGYwYlx1MGY1Nlx1MGYwYlx1MGY0Mlx1MGY0OVx1MGY3Mlx1MGY2Nlx1MGYwYlx1MGY1NF9cdTBmNWZcdTBmYjNcdTBmMGJcdTBmNTZcdTBmMGJcdTBmNDJcdTBmNjZcdTBm''@;'; put 'put ''NzRcdTBmNThcdTBmMGJcdTBmNTRfXHUwZjVmXHUwZmIzXHUwZjBiXHUwZjU2XHUwZjBiXHUwZjU2XHUwZjVlXHUwZjcyXHUwZjBiXHUwZjU0X1x1MGY1Zlx1MGZiM1x1MGYwYlx1MGY1Nlx1MGYwYlx1MGY2M1x1MGY5NFx1MGYwYlx1MGY1NF9cdTBmNWZcdTBmYjNcdTBmMGJcdTBmNTZcdTBm''@;'; put 'put ''MGJcdTBmNTFcdTBmYjJcdTBmNzRcdTBmNDJcdTBmMGJcdTBmNTRfXHUwZjVmXHUwZmIzXHUwZjBiXHUwZjU2XHUwZjBiXHUwZjU2XHUwZjUxXHUwZjc0XHUwZjUzXHUwZjBiXHUwZjU0X1x1MGY1Zlx1MGZiM1x1MGYwYlx1MGY1Nlx1MGYwYlx1MGY1Nlx1MGY2Mlx1MGY5Mlx1MGZiMVx1MGY1''@;'; put 'put ''MVx1MGYwYlx1MGY1NF9cdTBmNWZcdTBmYjNcdTBmMGJcdTBmNTZcdTBmMGJcdTBmNTFcdTBmNDJcdTBmNzRcdTBmMGJcdTBmNTRfXHUwZjVmXHUwZmIzXHUwZjBiXHUwZjU2XHUwZjBiXHUwZjU2XHUwZjQ1XHUwZjc0XHUwZjBiXHUwZjU0X1x1MGY1Zlx1MGZiM1x1MGYwYlx1MGY1Nlx1MGYw''@;'; put 'put ''Ylx1MGY1Nlx1MGY0NVx1MGY3NFx1MGYwYlx1MGY0Mlx1MGY0NVx1MGY3Mlx1MGY0Mlx1MGYwYlx1MGY1NF9cdTBmNWZcdTBmYjNcdTBmMGJcdTBmNTZcdTBmMGJcdTBmNTZcdTBmNDVcdTBmNzRcdTBmMGJcdTBmNDJcdTBmNDlcdTBmNzJcdTBmNjZcdTBmMGJcdTBmNTQiLnNwbGl0KCJfIiks''@;'; put 'put ''bW9udGhzU2hvcnQ6Ilx1MGY1Zlx1MGZiM1x1MGYwYjFfXHUwZjVmXHUwZmIzXHUwZjBiMl9cdTBmNWZcdTBmYjNcdTBmMGIzX1x1MGY1Zlx1MGZiM1x1MGYwYjRfXHUwZjVmXHUwZmIzXHUwZjBiNV9cdTBmNWZcdTBmYjNcdTBmMGI2X1x1MGY1Zlx1MGZiM1x1MGYwYjdfXHUwZjVmXHUwZmIz''@;'; put 'put ''XHUwZjBiOF9cdTBmNWZcdTBmYjNcdTBmMGI5X1x1MGY1Zlx1MGZiM1x1MGYwYjEwX1x1MGY1Zlx1MGZiM1x1MGYwYjExX1x1MGY1Zlx1MGZiM1x1MGYwYjEyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0UmVnZXg6L14oXHUwZjVmXHUwZmIzXHUwZjBiXGR7MSwyfSkvLG1vbnRoc1BhcnNlRXhh''@;'; put 'put ''Y3Q6ITAsd2Vla2RheXM6Ilx1MGY0Mlx1MGY1Zlx1MGY2MFx1MGYwYlx1MGY0OVx1MGY3Mlx1MGYwYlx1MGY1OFx1MGYwYl9cdTBmNDJcdTBmNWZcdTBmNjBcdTBmMGJcdTBmNWZcdTBmYjNcdTBmMGJcdTBmNTZcdTBmMGJfXHUwZjQyXHUwZjVmXHUwZjYwXHUwZjBiXHUwZjU4XHUwZjcyXHUw''@;'; put 'put ''ZjQyXHUwZjBiXHUwZjUxXHUwZjU4XHUwZjYyXHUwZjBiX1x1MGY0Mlx1MGY1Zlx1MGY2MFx1MGYwYlx1MGY2M1x1MGZiN1x1MGY0Mlx1MGYwYlx1MGY1NFx1MGYwYl9cdTBmNDJcdTBmNWZcdTBmNjBcdTBmMGJcdTBmNTVcdTBmNzRcdTBmNjJcdTBmMGJcdTBmNTZcdTBmNzRfXHUwZjQyXHUw''@;'; put 'put ''ZjVmXHUwZjYwXHUwZjBiXHUwZjU0XHUwZjBiXHUwZjY2XHUwZjQ0XHUwZjY2XHUwZjBiX1x1MGY0Mlx1MGY1Zlx1MGY2MFx1MGYwYlx1MGY2Nlx1MGZhNFx1MGY3YVx1MGY1M1x1MGYwYlx1MGY1NFx1MGYwYiIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTBmNDlcdTBmNzJcdTBmMGJc''@;'; put 'put ''dTBmNThcdTBmMGJfXHUwZjVmXHUwZmIzXHUwZjBiXHUwZjU2XHUwZjBiX1x1MGY1OFx1MGY3Mlx1MGY0Mlx1MGYwYlx1MGY1MVx1MGY1OFx1MGY2Mlx1MGYwYl9cdTBmNjNcdTBmYjdcdTBmNDJcdTBmMGJcdTBmNTRcdTBmMGJfXHUwZjU1XHUwZjc0XHUwZjYyXHUwZjBiXHUwZjU2XHUwZjc0''@;'; put 'put ''X1x1MGY1NFx1MGYwYlx1MGY2Nlx1MGY0NFx1MGY2Nlx1MGYwYl9cdTBmNjZcdTBmYTRcdTBmN2FcdTBmNTNcdTBmMGJcdTBmNTRcdTBmMGIiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MGY0OVx1MGY3Ml9cdTBmNWZcdTBmYjNfXHUwZjU4XHUwZjcyXHUwZjQyX1x1MGY2M1x1MGZiN1x1''@;'; put 'put ''MGY0Ml9cdTBmNTVcdTBmNzRcdTBmNjJfXHUwZjY2XHUwZjQ0XHUwZjY2X1x1MGY2Nlx1MGZhNFx1MGY3YVx1MGY1MyIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkEgaDptbSIsTFRTOiJBIGg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1N''@;'; put 'put ''TU0gWVlZWSwgQSBoOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSwgQSBoOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTBmNTFcdTBmNzJcdTBmMGJcdTBmNjJcdTBmNzJcdTBmNDRdIExUIixuZXh0RGF5OiJbXHUwZjY2XHUwZjQ0XHUwZjBiXHUwZjQ5XHUwZjcyXHUwZjUzXSBMVCIs''@;'; put 'put ''bmV4dFdlZWs6IltcdTBmNTZcdTBmNTFcdTBmNzRcdTBmNTNcdTBmMGJcdTBmNTVcdTBmYjJcdTBmNDJcdTBmMGJcdTBmNjJcdTBmOTdcdTBmN2FcdTBmNjZcdTBmMGJcdTBmNThdLCBMVCIsbGFzdERheToiW1x1MGY0MVx1MGYwYlx1MGY2Nlx1MGY0NF0gTFQiLGxhc3RXZWVrOiJbXHUwZjU2''@;'; put 'put ''XHUwZjUxXHUwZjc0XHUwZjUzXHUwZjBiXHUwZjU1XHUwZmIyXHUwZjQyXHUwZjBiXHUwZjU4XHUwZjUwXHUwZjYwXHUwZjBiXHUwZjU4XSBkZGRkLCBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHUwZjYzXHUwZjBiIixwYXN0OiIlcyBcdTBmNjZcdTBmOTRc''@;'; put 'put ''dTBmNTNcdTBmMGJcdTBmNjMiLHM6Ilx1MGY2M1x1MGY1OFx1MGYwYlx1MGY2Nlx1MGY0NCIsc3M6IiVkIFx1MGY2Nlx1MGY5MFx1MGY2Mlx1MGYwYlx1MGY0Nlx1MGYwZCIsbToiXHUwZjY2XHUwZjkwXHUwZjYyXHUwZjBiXHUwZjU4XHUwZjBiXHUwZjQyXHUwZjQ1XHUwZjcyXHUwZjQyIixt''@;'; put 'put ''bToiJWQgXHUwZjY2XHUwZjkwXHUwZjYyXHUwZjBiXHUwZjU4IixoOiJcdTBmNDZcdTBmNzRcdTBmMGJcdTBmNWFcdTBmN2NcdTBmNTFcdTBmMGJcdTBmNDJcdTBmNDVcdTBmNzJcdTBmNDIiLGhoOiIlZCBcdTBmNDZcdTBmNzRcdTBmMGJcdTBmNWFcdTBmN2NcdTBmNTEiLGQ6Ilx1MGY0OVx1''@;'; put 'put ''MGY3Mlx1MGY1M1x1MGYwYlx1MGY0Mlx1MGY0NVx1MGY3Mlx1MGY0MiIsZGQ6IiVkIFx1MGY0OVx1MGY3Mlx1MGY1M1x1MGYwYiIsTToiXHUwZjVmXHUwZmIzXHUwZjBiXHUwZjU2XHUwZjBiXHUwZjQyXHUwZjQ1XHUwZjcyXHUwZjQyIixNTToiJWQgXHUwZjVmXHUwZmIzXHUwZjBiXHUwZjU2''@;'; put 'put ''Iix5OiJcdTBmNjNcdTBmN2NcdTBmMGJcdTBmNDJcdTBmNDVcdTBmNzJcdTBmNDIiLHl5OiIlZCBcdTBmNjNcdTBmN2MifSxwcmVwYXJzZTpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC9bXHUwZjIxXHUwZjIyXHUwZjIzXHUwZjI0XHUwZjI1XHUwZjI2XHUwZjI3XHUwZjI4XHUwZjI5''@;'; put 'put ''XHUwZjIwXS9nLGZ1bmN0aW9uKEEpe3JldHVybiBnZVtBXX0pfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1xkL2csZnVuY3Rpb24oQSl7cmV0dXJuIG9lW0FdfSl9LG1lcmlkaWVtUGFyc2U6L1x1MGY1OFx1MGY1YVx1MGY1M1x1MGYwYlx1MGY1OFx1MGY3Y3xc''@;'; put 'put ''dTBmNWVcdTBmN2NcdTBmNDJcdTBmNjZcdTBmMGJcdTBmNDBcdTBmNjZ8XHUwZjQ5XHUwZjcyXHUwZjUzXHUwZjBiXHUwZjQyXHUwZjc0XHUwZjQ0fFx1MGY1MVx1MGY0Mlx1MGY3Y1x1MGY0NFx1MGYwYlx1MGY1MVx1MGY0MnxcdTBmNThcdTBmNWFcdTBmNTNcdTBmMGJcdTBmNThcdTBmN2Mv''@;'; put 'put ''LG1lcmlkaWVtSG91cjpmdW5jdGlvbihaLEEpe3JldHVybiAxMj09PVomJihaPTApLCJcdTBmNThcdTBmNWFcdTBmNTNcdTBmMGJcdTBmNThcdTBmN2MiPT09QSYmWj49NHx8Ilx1MGY0OVx1MGY3Mlx1MGY1M1x1MGYwYlx1MGY0Mlx1MGY3NFx1MGY0NCI9PT1BJiZaPDV8fCJcdTBmNTFcdTBm''@;'; put 'put ''NDJcdTBmN2NcdTBmNDRcdTBmMGJcdTBmNTFcdTBmNDIiPT09QT9aKzEyOlp9LG1lcmlkaWVtOmZ1bmN0aW9uKFosQSxqKXtyZXR1cm4gWjw0PyJcdTBmNThcdTBmNWFcdTBmNTNcdTBmMGJcdTBmNThcdTBmN2MiOlo8MTA/Ilx1MGY1ZVx1MGY3Y1x1MGY0Mlx1MGY2Nlx1MGYwYlx1MGY0MFx1''@;'; put 'put ''MGY2NiI6WjwxNz8iXHUwZjQ5XHUwZjcyXHUwZjUzXHUwZjBiXHUwZjQyXHUwZjc0XHUwZjQ0IjpaPDIwPyJcdTBmNTFcdTBmNDJcdTBmN2NcdTBmNDRcdTBmMGJcdTBmNTFcdTBmNDIiOiJcdTBmNThcdTBmNWFcdTBmNTNcdTBmMGJcdTBmNThcdTBmN2MifSx3ZWVrOntkb3c6MCxkb3k6Nn19''@;'; put 'put ''KX0oRmUoNjczOCkpfSw2NzI4OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvZSh3LFAsTSl7cmV0dXJuIHcrIiAiK2Z1bmN0aW9uIFoodyxQKXtyZXR1cm4gMj09PVA/ZnVuY3Rpb24gQSh3KXt2YXIgUD17bToidiIsYjoidiIsZDoieiJ9''@;'; put 'put ''O3JldHVybiB2b2lkIDA9PT1QW3cuY2hhckF0KDApXT93OlBbdy5jaGFyQXQoMCldK3cuc3Vic3RyaW5nKDEpfSh3KTp3fSh7bW06Im11bnV0ZW5uIixNTToibWl6IixkZDoiZGV2ZXpoIn1bTV0sdyl9ZnVuY3Rpb24gaGUodyl7cmV0dXJuIHc+OT9oZSh3JTEwKTp3fXZhciBqPVsvXmdlbi9p''@;'; put 'put ''LC9eY1tcdTAyYmNcJ11od2UvaSwvXm1ldS9pLC9eZWJyL2ksL15tYWUvaSwvXihtZXp8ZXZlKS9pLC9eZ291L2ksL15lb3MvaSwvXmd3ZS9pLC9eaGVyL2ksL15kdS9pLC9ea2VyL2ldLE49L14oZ2VudmVyfGNbXHUwMmJjXCddaHdldnJlcnxtZXVyemh8ZWJyZWx8bWFlfG1lemhldmVufGdv''@;'; put 'put ''dWVyZXxlb3N0fGd3ZW5nb2xvfGhlcmV8ZHV8a2VyenV8Z2VufGNbXHUwMmJjXCddaHdlfG1ldXxlYnJ8bWFlfGV2ZXxnb3V8ZW9zfGd3ZXxoZXJ8ZHV8a2VyKS9pLEY9Wy9eU3UvaSwvXkx1L2ksL15NZShbXnJdfCQpL2ksL15NZXIvaSwvXllhL2ksL15Hdy9pLC9eU2EvaV07Q2UuZGVmaW5l''@;'; put 'put ''TG9jYWxlKCJiciIse21vbnRoczoiR2VudmVyX0NcdTAyYmNod2V2cmVyX01ldXJ6aF9FYnJlbF9NYWVfTWV6aGV2ZW5fR291ZXJlX0Vvc3RfR3dlbmdvbG9fSGVyZV9EdV9LZXJ6dSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiR2VuX0NcdTAyYmNod2VfTWV1X0Vicl9NYWVfRXZlX0dvdV9F''@;'; put 'put ''b3NfR3dlX0hlcl9EdV9LZXIiLnNwbGl0KCJfIiksd2Vla2RheXM6IlN1bF9MdW5fTWV1cnpoX01lcmNcdTAyYmNoZXJfWWFvdV9Hd2VuZXJfU2Fkb3JuIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IlN1bF9MdW5fTWV1X01lcl9ZYW9fR3dlX1NhZCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01p''@;'; put 'put ''bjoiU3VfTHVfTWVfTWVyX1lhX0d3X1NhIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2U6RixmdWxsV2Vla2RheXNQYXJzZTpbL15zdWwvaSwvXmx1bi9pLC9ebWV1cnpoL2ksL15tZXJjW1x1MDJiY1wnXWhlci9pLC9eeWFvdS9pLC9eZ3dlbmVyL2ksL15zYWRvcm4vaV0sc2hvcnRXZWVrZGF5''@;'; put 'put ''c1BhcnNlOlsvXlN1bC9pLC9eTHVuL2ksL15NZXUvaSwvXk1lci9pLC9eWWFvL2ksL15Hd2UvaSwvXlNhZC9pXSxtaW5XZWVrZGF5c1BhcnNlOkYsbW9udGhzUmVnZXg6Tixtb250aHNTaG9ydFJlZ2V4Ok4sbW9udGhzU3RyaWN0UmVnZXg6L14oZ2VudmVyfGNbXHUwMmJjXCddaHdldnJlcnxt''@;'; put 'put ''ZXVyemh8ZWJyZWx8bWFlfG1lemhldmVufGdvdWVyZXxlb3N0fGd3ZW5nb2xvfGhlcmV8ZHV8a2VyenUpL2ksbW9udGhzU2hvcnRTdHJpY3RSZWdleDovXihnZW58Y1tcdTAyYmNcJ11od2V8bWV1fGVicnxtYWV8ZXZlfGdvdXxlb3N8Z3dlfGhlcnxkdXxrZXIpL2ksbW9udGhzUGFyc2U6aixs''@;'; put 'put ''b25nTW9udGhzUGFyc2U6aixzaG9ydE1vbnRoc1BhcnNlOmosbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgW2Egdml6XSBNTU1NIFlZWVkiLExMTDoiRCBbYSB2aXpdIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBb''@;'; put 'put ''YSB2aXpdIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbSGl6aXYgZGFdIExUIixuZXh0RGF5OiJbV2FyY1x1MDJiY2hvYXpoIGRhXSBMVCIsbmV4dFdlZWs6ImRkZGQgW2RhXSBMVCIsbGFzdERheToiW0RlY1x1MDJiY2ggZGFdIExUIixsYXN0V2VlazoiZGRkZCBbcGFz''@;'; put 'put ''ZXQgZGFdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJhLWJlbm4gJXMiLHBhc3Q6IiVzIFx1MDJiY3pvIixzOiJ1biBuZWJldWQgc2Vnb25kZW5ub1x4ZjkiLHNzOiIlZCBlaWxlbm4iLG06InVyIHZ1bnV0ZW5uIixtbTpvZSxoOiJ1biBldXIiLGhoOiIlZCBldXIi''@;'; put 'put ''LGQ6InVuIGRldmV6aCIsZGQ6b2UsTToidXIgbWl6IixNTTpvZSx5OiJ1ciBibG9heiIseXk6ZnVuY3Rpb24gZ2Uodyl7c3dpdGNoKGhlKHcpKXtjYXNlIDE6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6Y2FzZSA5OnJldHVybiB3KyIgYmxvYXoiO2RlZmF1bHQ6cmV0dXJuIHcrIiB2bG9heiJ9fX0s''@;'; put 'put ''ZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShhXHhmMXx2ZXQpLyxvcmRpbmFsOmZ1bmN0aW9uKHcpe3JldHVybiB3KygxPT09dz8iYVx4ZjEiOiJ2ZXQiKX0sd2Vlazp7ZG93OjEsZG95OjR9LG1lcmlkaWVtUGFyc2U6L2EubS58Zy5tLi8saXNQTTpmdW5jdGlvbih3KXtyZXR1cm4i''@;'; put 'put ''Zy5tLiI9PT13fSxtZXJpZGllbTpmdW5jdGlvbih3LFAsTSl7cmV0dXJuIHc8MTI/ImEubS4iOiJnLm0uIn19KX0oRmUoNjczOCkpfSw1NTM2OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvZShoZSxaLEEpe3ZhciBqPWhlKyIgIjtzd2l0''@;'; put 'put ''Y2goQSl7Y2FzZSJzcyI6cmV0dXJuIGorKDE9PT1oZT8ic2VrdW5kYSI6Mj09PWhlfHwzPT09aGV8fDQ9PT1oZT8ic2VrdW5kZSI6InNla3VuZGkiKTtjYXNlIm0iOnJldHVybiBaPyJqZWRuYSBtaW51dGEiOiJqZWRuZSBtaW51dGUiO2Nhc2UibW0iOnJldHVybiBqKygxPT09aGU/Im1pbnV0''@;'; put 'put ''YSI6Mj09PWhlfHwzPT09aGV8fDQ9PT1oZT8ibWludXRlIjoibWludXRhIik7Y2FzZSJoIjpyZXR1cm4gWj8iamVkYW4gc2F0IjoiamVkbm9nIHNhdGEiO2Nhc2UiaGgiOnJldHVybiBqKygxPT09aGU/InNhdCI6Mj09PWhlfHwzPT09aGV8fDQ9PT1oZT8ic2F0YSI6InNhdGkiKTtjYXNlImRk''@;'; put 'put ''IjpyZXR1cm4gaisoMT09PWhlPyJkYW4iOiJkYW5hIik7Y2FzZSJNTSI6cmV0dXJuIGorKDE9PT1oZT8ibWplc2VjIjoyPT09aGV8fDM9PT1oZXx8ND09PWhlPyJtamVzZWNhIjoibWplc2VjaSIpO2Nhc2UieXkiOnJldHVybiBqKygxPT09aGU/ImdvZGluYSI6Mj09PWhlfHwzPT09aGV8fDQ9''@;'; put 'put ''PT1oZT8iZ29kaW5lIjoiZ29kaW5hIil9fUNlLmRlZmluZUxvY2FsZSgiYnMiLHttb250aHM6ImphbnVhcl9mZWJydWFyX21hcnRfYXByaWxfbWFqX2p1bmlfanVsaV9hdWd1c3Rfc2VwdGVtYmFyX29rdG9iYXJfbm92ZW1iYXJfZGVjZW1iYXIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Imph''@;'; put 'put ''bi5fZmViLl9tYXIuX2Fwci5fbWFqLl9qdW4uX2p1bC5fYXVnLl9zZXAuX29rdC5fbm92Ll9kZWMuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6Im5lZGplbGphX3BvbmVkamVsamFrX3V0b3Jha19zcmlqZWRhX1x1MDEwZGV0dnJ0YWtfcGV0YWtfc3Vib3RhIi5z''@;'; put 'put ''cGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Im5lZC5fcG9uLl91dG8uX3NyaS5fXHUwMTBkZXQuX3BldC5fc3ViLiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoibmVfcG9fdXRfc3JfXHUwMTBkZV9wZV9zdSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6''@;'; put 'put ''e0xUOiJIOm1tIixMVFM6Ikg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJELiBNTU1NIFlZWVkiLExMTDoiRC4gTU1NTSBZWVlZIEg6bW0iLExMTEw6ImRkZGQsIEQuIE1NTU0gWVlZWSBIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltkYW5hcyB1XSBMVCIsbmV4dERheToiW3N1dHJhIHVd''@;'; put 'put ''IExUIixuZXh0V2VlazpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLmRheSgpKXtjYXNlIDA6cmV0dXJuIlt1XSBbbmVkamVsanVdIFt1XSBMVCI7Y2FzZSAzOnJldHVybiJbdV0gW3NyaWplZHVdIFt1XSBMVCI7Y2FzZSA2OnJldHVybiJbdV0gW3N1Ym90dV0gW3VdIExUIjtjYXNlIDE6Y2FzZSAy''@;'; put 'put ''OmNhc2UgNDpjYXNlIDU6cmV0dXJuIlt1XSBkZGRkIFt1XSBMVCJ9fSxsYXN0RGF5OiJbanVcdTAxMGRlciB1XSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5kYXkoKSl7Y2FzZSAwOmNhc2UgMzpyZXR1cm4iW3Byb1x1MDE2MWx1XSBkZGRkIFt1XSBMVCI7Y2FzZSA2OnJl''@;'; put 'put ''dHVybiJbcHJvXHUwMTYxbGVdIFtzdWJvdGVdIFt1XSBMVCI7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA1OnJldHVybiJbcHJvXHUwMTYxbGldIGRkZGQgW3VdIExUIn19LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6InphICVzIixwYXN0OiJwcmlqZSAlcyIsczoicGFy''@;'; put 'put ''IHNla3VuZGkiLHNzOm9lLG06b2UsbW06b2UsaDpvZSxoaDpvZSxkOiJkYW4iLGRkOm9lLE06Im1qZXNlYyIsTU06b2UseToiZ29kaW51Iix5eTpvZX0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4''@;'; put 'put ''KSl9LDEwNDM6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiY2EiLHttb250aHM6e3N0YW5kYWxvbmU6ImdlbmVyX2ZlYnJlcl9tYXJceGU3X2FicmlsX21haWdfanVueV9qdWxpb2xfYWdvc3Rfc2V0ZW1icmVfb2N0dWJyZV9u''@;'; put 'put ''b3ZlbWJyZV9kZXNlbWJyZSIuc3BsaXQoIl8iKSxmb3JtYXQ6ImRlIGdlbmVyX2RlIGZlYnJlcl9kZSBtYXJceGU3X2QnYWJyaWxfZGUgbWFpZ19kZSBqdW55X2RlIGp1bGlvbF9kJ2Fnb3N0X2RlIHNldGVtYnJlX2Qnb2N0dWJyZV9kZSBub3ZlbWJyZV9kZSBkZXNlbWJyZSIuc3BsaXQoIl8i''@;'; put 'put ''KSxpc0Zvcm1hdDovRFtvRF0/KFxzKStNTU1NL30sbW9udGhzU2hvcnQ6Imdlbi5fZmVici5fbWFyXHhlN19hYnIuX21haWdfanVueV9qdWwuX2FnLl9zZXQuX29jdC5fbm92Ll9kZXMuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6ImRpdW1lbmdlX2RpbGx1bnNf''@;'; put 'put ''ZGltYXJ0c19kaW1lY3Jlc19kaWpvdXNfZGl2ZW5kcmVzX2Rpc3NhYnRlIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRnLl9kbC5fZHQuX2RjLl9kai5fZHYuX2RzLiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiZGdfZGxfZHRfZGNfZGpfZHZfZHMiLnNwbGl0KCJfIiksd2Vla2RheXNQ''@;'; put 'put ''YXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFtkZV0gWVlZWSIsbGw6IkQgTU1NIFlZWVkiLExMTDoiRCBNTU1NIFtkZV0gWVlZWSBbYSBsZXNdIEg6bW0iLGxsbDoiRCBNTU0gWVlZWSwgSDptbSIs''@;'; put 'put ''TExMTDoiZGRkZCBEIE1NTU0gW2RlXSBZWVlZIFthIGxlc10gSDptbSIsbGxsbDoiZGRkIEQgTU1NIFlZWVksIEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheTpmdW5jdGlvbigpe3JldHVybiJbYXZ1aSBhICIrKDEhPT10aGlzLmhvdXJzKCk/ImxlcyI6ImxhIikrIl0gTFQifSxuZXh0RGF5OmZ1''@;'; put 'put ''bmN0aW9uKCl7cmV0dXJuIltkZW1ceGUwIGEgIisoMSE9PXRoaXMuaG91cnMoKT8ibGVzIjoibGEiKSsiXSBMVCJ9LG5leHRXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuImRkZGQgW2EgIisoMSE9PXRoaXMuaG91cnMoKT8ibGVzIjoibGEiKSsiXSBMVCJ9LGxhc3REYXk6ZnVuY3Rpb24oKXtyZXR1''@;'; put 'put ''cm4iW2FoaXIgYSAiKygxIT09dGhpcy5ob3VycygpPyJsZXMiOiJsYSIpKyJdIExUIn0sbGFzdFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4iW2VsXSBkZGRkIFtwYXNzYXQgYSAiKygxIT09dGhpcy5ob3VycygpPyJsZXMiOiJsYSIpKyJdIExUIn0sc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6''@;'; put 'put ''e2Z1dHVyZToiZCdhcXVceGVkICVzIixwYXN0OiJmYSAlcyIsczoidW5zIHNlZ29ucyIsc3M6IiVkIHNlZ29ucyIsbToidW4gbWludXQiLG1tOiIlZCBtaW51dHMiLGg6InVuYSBob3JhIixoaDoiJWQgaG9yZXMiLGQ6InVuIGRpYSIsZGQ6IiVkIGRpZXMiLE06InVuIG1lcyIsTU06IiVkIG1l''@;'; put 'put ''c29zIix5OiJ1biBhbnkiLHl5OiIlZCBhbnlzIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShyfG58dHxceGU4fGEpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlLGhlKXt2YXIgWj0xPT09Z2U/InIiOjI9PT1nZT8ibiI6Mz09PWdlPyJyIjo0PT09Z2U/InQiOiJceGU4IjtyZXR1cm4o''@;'; put 'put ''InciPT09aGV8fCJXIj09PWhlKSYmKFo9ImEiKSxnZStafSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw0MjA6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17Zm9ybWF0OiJsZWRlbl9ceGZhbm9yX2JcdTAxNTllemVuX2R1YmVu''@;'; put 'put ''X2t2XHUwMTFidGVuX1x1MDEwZGVydmVuX1x1MDEwZGVydmVuZWNfc3JwZW5felx4ZTFcdTAxNTlceGVkX1x1MDE1OVx4ZWRqZW5fbGlzdG9wYWRfcHJvc2luZWMiLnNwbGl0KCJfIiksc3RhbmRhbG9uZToibGVkbmFfXHhmYW5vcmFfYlx1MDE1OWV6bmFfZHVibmFfa3ZcdTAxMWJ0bmFfXHUw''@;'; put 'put ''MTBkZXJ2bmFfXHUwMTBkZXJ2ZW5jZV9zcnBuYV96XHhlMVx1MDE1OVx4ZWRfXHUwMTU5XHhlZGpuYV9saXN0b3BhZHVfcHJvc2luY2UiLnNwbGl0KCJfIil9LGdlPSJsZWRfXHhmYW5vX2JcdTAxNTllX2R1Yl9rdlx1MDExYl9cdTAxMGR2bl9cdTAxMGR2Y19zcnBfelx4ZTFcdTAxNTlfXHUw''@;'; put 'put ''MTU5XHhlZGpfbGlzX3BybyIuc3BsaXQoIl8iKSxoZT1bL15sZWQvaSwvXlx4ZmFuby9pLC9eYlx1MDE1OWUvaSwvXmR1Yi9pLC9ea3ZcdTAxMWIvaSwvXihcdTAxMGR2bnxcdTAxMGRlcnZlbiR8XHUwMTBkZXJ2bmEpL2ksL14oXHUwMTBkdmN8XHUwMTBkZXJ2ZW5lY3xcdTAxMGRlcnZlbmNl''@;'; put 'put ''KS9pLC9ec3JwL2ksL156XHhlMVx1MDE1OS9pLC9eXHUwMTU5XHhlZGovaSwvXmxpcy9pLC9ecHJvL2ldLFo9L14obGVkZW58XHhmYW5vcnxiXHUwMTU5ZXplbnxkdWJlbnxrdlx1MDExYnRlbnxcdTAxMGRlcnZlbmVjfFx1MDEwZGVydmVuY2V8XHUwMTBkZXJ2ZW58XHUwMTBkZXJ2bmF8c3Jw''@;'; put 'put ''ZW58elx4ZTFcdTAxNTlceGVkfFx1MDE1OVx4ZWRqZW58bGlzdG9wYWR8cHJvc2luZWN8bGVkfFx4ZmFub3xiXHUwMTU5ZXxkdWJ8a3ZcdTAxMWJ8XHUwMTBkdm58XHUwMTBkdmN8c3JwfHpceGUxXHUwMTU5fFx1MDE1OVx4ZWRqfGxpc3xwcm8pL2k7ZnVuY3Rpb24gQSh6KXtyZXR1cm4gej4x''@;'; put 'put ''JiZ6PDUmJjEhPX5+KHovMTApfWZ1bmN0aW9uIGooeixDLFMsbSl7dmFyIEY9eisiICI7c3dpdGNoKFMpe2Nhc2UicyI6cmV0dXJuIEN8fG0/InBceGUxciBzZWt1bmQiOiJwXHhlMXIgc2VrdW5kYW1pIjtjYXNlInNzIjpyZXR1cm4gQ3x8bT9GKyhBKHopPyJzZWt1bmR5Ijoic2VrdW5kIik6''@;'; put 'put ''Risic2VrdW5kYW1pIjtjYXNlIm0iOnJldHVybiBDPyJtaW51dGEiOm0/Im1pbnV0dSI6Im1pbnV0b3UiO2Nhc2UibW0iOnJldHVybiBDfHxtP0YrKEEoeik/Im1pbnV0eSI6Im1pbnV0Iik6RisibWludXRhbWkiO2Nhc2UiaCI6cmV0dXJuIEM/ImhvZGluYSI6bT8iaG9kaW51IjoiaG9kaW5v''@;'; put 'put ''dSI7Y2FzZSJoaCI6cmV0dXJuIEN8fG0/RisoQSh6KT8iaG9kaW55IjoiaG9kaW4iKTpGKyJob2RpbmFtaSI7Y2FzZSJkIjpyZXR1cm4gQ3x8bT8iZGVuIjoiZG5lbSI7Y2FzZSJkZCI6cmV0dXJuIEN8fG0/RisoQSh6KT8iZG55IjoiZG5ceGVkIik6RisiZG55IjtjYXNlIk0iOnJldHVybiBD''@;'; put 'put ''fHxtPyJtXHUwMTFic1x4ZWRjIjoibVx1MDExYnNceGVkY2VtIjtjYXNlIk1NIjpyZXR1cm4gQ3x8bT9GKyhBKHopPyJtXHUwMTFic1x4ZWRjZSI6Im1cdTAxMWJzXHhlZGNcdTAxNmYiKTpGKyJtXHUwMTFic1x4ZWRjaSI7Y2FzZSJ5IjpyZXR1cm4gQ3x8bT8icm9rIjoicm9rZW0iO2Nhc2Ui''@;'; put 'put ''eXkiOnJldHVybiBDfHxtP0YrKEEoeik/InJva3kiOiJsZXQiKTpGKyJsZXR5In19Q2UuZGVmaW5lTG9jYWxlKCJjcyIse21vbnRoczpvZSxtb250aHNTaG9ydDpnZSxtb250aHNSZWdleDpaLG1vbnRoc1Nob3J0UmVnZXg6Wixtb250aHNTdHJpY3RSZWdleDovXihsZWRlbnxsZWRuYXxceGZh''@;'; put 'put ''bm9yYXxceGZhbm9yfGJcdTAxNTllemVufGJcdTAxNTllem5hfGR1YmVufGR1Ym5hfGt2XHUwMTFidGVufGt2XHUwMTFidG5hfFx1MDEwZGVydmVuZWN8XHUwMTBkZXJ2ZW5jZXxcdTAxMGRlcnZlbnxcdTAxMGRlcnZuYXxzcnBlbnxzcnBuYXx6XHhlMVx1MDE1OVx4ZWR8XHUwMTU5XHhlZGpl''@;'; put 'put ''bnxcdTAxNTlceGVkam5hfGxpc3RvcGFkdXxsaXN0b3BhZHxwcm9zaW5lY3xwcm9zaW5jZSkvaSxtb250aHNTaG9ydFN0cmljdFJlZ2V4Oi9eKGxlZHxceGZhbm98Ylx1MDE1OWV8ZHVifGt2XHUwMTFifFx1MDEwZHZufFx1MDEwZHZjfHNycHx6XHhlMVx1MDE1OXxcdTAxNTlceGVkanxsaXN8''@;'; put 'put ''cHJvKS9pLG1vbnRoc1BhcnNlOmhlLGxvbmdNb250aHNQYXJzZTpoZSxzaG9ydE1vbnRoc1BhcnNlOmhlLHdlZWtkYXlzOiJuZWRcdTAxMWJsZV9wb25kXHUwMTFibFx4ZWRfXHhmYXRlclx4ZmRfc3RcdTAxNTllZGFfXHUwMTBkdHZydGVrX3BceGUxdGVrX3NvYm90YSIuc3BsaXQoIl8iKSx3''@;'; put 'put ''ZWVrZGF5c1Nob3J0OiJuZV9wb19ceGZhdF9zdF9cdTAxMGR0X3BceGUxX3NvIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJuZV9wb19ceGZhdF9zdF9cdTAxMGR0X3BceGUxX3NvIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJERC5NTS5Z''@;'; put 'put ''WVlZIixMTDoiRC4gTU1NTSBZWVlZIixMTEw6IkQuIE1NTU0gWVlZWSBIOm1tIixMTExMOiJkZGRkIEQuIE1NTU0gWVlZWSBIOm1tIixsOiJELiBNLiBZWVlZIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltkbmVzIHZdIExUIixuZXh0RGF5OiJbelx4ZWR0cmEgdl0gTFQiLG5leHRXZWVrOmZ1bmN0''@;'; put 'put ''aW9uKCl7c3dpdGNoKHRoaXMuZGF5KCkpe2Nhc2UgMDpyZXR1cm4iW3YgbmVkXHUwMTFibGkgdl0gTFQiO2Nhc2UgMTpjYXNlIDI6cmV0dXJuIlt2XSBkZGRkIFt2XSBMVCI7Y2FzZSAzOnJldHVybiJbdmUgc3RcdTAxNTllZHUgdl0gTFQiO2Nhc2UgNDpyZXR1cm4iW3ZlIFx1MDEwZHR2cnRl''@;'; put 'put ''ayB2XSBMVCI7Y2FzZSA1OnJldHVybiJbdiBwXHhlMXRlayB2XSBMVCI7Y2FzZSA2OnJldHVybiJbdiBzb2JvdHUgdl0gTFQifX0sbGFzdERheToiW3ZcdTAxMGRlcmEgdl0gTFQiLGxhc3RXZWVrOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuZGF5KCkpe2Nhc2UgMDpyZXR1cm4iW21pbnVsb3Ug''@;'; put 'put ''bmVkXHUwMTFibGkgdl0gTFQiO2Nhc2UgMTpjYXNlIDI6cmV0dXJuIlttaW51bFx4ZTldIGRkZGQgW3ZdIExUIjtjYXNlIDM6cmV0dXJuIlttaW51bG91IHN0XHUwMTU5ZWR1IHZdIExUIjtjYXNlIDQ6Y2FzZSA1OnJldHVybiJbbWludWxceGZkXSBkZGRkIFt2XSBMVCI7Y2FzZSA2OnJldHVy''@;'; put 'put ''biJbbWludWxvdSBzb2JvdHUgdl0gTFQifX0sc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiemEgJXMiLHBhc3Q6InBcdTAxNTllZCAlcyIsczpqLHNzOmosbTpqLG1tOmosaDpqLGhoOmosZDpqLGRkOmosTTpqLE1NOmoseTpqLHl5Omp9LGRheU9mTW9udGhPcmRpbmFsUGFy''@;'; put 'put ''c2U6L1xkezEsMn1cLi8sb3JkaW5hbDoiJWQuIix3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSwzNTEzOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImN2Iix7bW9udGhzOiJcdTA0M2FcdTA0ZDFcdTA0NDBcdTA0''@;'; put 'put ''M2JcdTA0MzBcdTA0NDdfXHUwNDNkXHUwNDMwXHUwNDQwXHUwNGQxXHUwNDQxX1x1MDQzZlx1MDQ0M1x1MDQ0OF9cdTA0MzBcdTA0M2FcdTA0MzBfXHUwNDNjXHUwNDMwXHUwNDM5X1x1MDRhYlx1MDRkN1x1MDQ0MFx1MDQ0Mlx1MDQzY1x1MDQzNV9cdTA0NDNcdTA0NDJcdTA0ZDFfXHUwNGFi''@;'; put 'put ''XHUwNDQzXHUwNDQwXHUwNDNiXHUwNDMwX1x1MDQzMFx1MDQzMlx1MDRkMVx1MDQzZF9cdTA0NGVcdTA0M2ZcdTA0MzBfXHUwNDQ3XHUwNGYzXHUwNDNhX1x1MDQ0MFx1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzMiIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwNDNhXHUwNGQxXHUw''@;'; put 'put ''NDQwX1x1MDQzZFx1MDQzMFx1MDQ0MF9cdTA0M2ZcdTA0NDNcdTA0NDhfXHUwNDMwXHUwNDNhXHUwNDMwX1x1MDQzY1x1MDQzMFx1MDQzOV9cdTA0YWJcdTA0ZDdcdTA0NDBfXHUwNDQzXHUwNDQyXHUwNGQxX1x1MDRhYlx1MDQ0M1x1MDQ0MF9cdTA0MzBcdTA0MzJcdTA0M2RfXHUwNDRlXHUw''@;'; put 'put ''NDNmXHUwNDMwX1x1MDQ0N1x1MDRmM1x1MDQzYV9cdTA0NDBcdTA0MzBcdTA0NDgiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MDQzMlx1MDQ0Ylx1MDQ0MFx1MDQ0MVx1MDQzMFx1MDQ0MFx1MDQzZFx1MDQzOFx1MDQzYVx1MDQ0M1x1MDQzZF9cdTA0NDJcdTA0NDNcdTA0M2RcdTA0NDJcdTA0''@;'; put 'put ''MzhcdTA0M2FcdTA0NDNcdTA0M2RfXHUwNDRiXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQwXHUwNDM4XHUwNDNhXHUwNDQzXHUwNDNkX1x1MDQ0ZVx1MDQzZFx1MDQzYVx1MDQ0M1x1MDQzZF9cdTA0M2FcdTA0ZDdcdTA0YWJcdTA0M2RcdTA0MzVcdTA0NDBcdTA0M2RcdTA0MzhcdTA0M2FcdTA0''@;'; put 'put ''NDNcdTA0M2RfXHUwNDRkXHUwNDQwXHUwNDNkXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkX1x1MDQ0OFx1MDRkMVx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYVx1MDQ0M1x1MDQzZCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA0MzJcdTA0NGJcdTA0NDBfXHUwNDQyXHUwNDQzXHUwNDNk''@;'; put 'put ''X1x1MDQ0Ylx1MDQ0Mlx1MDQzYl9cdTA0NGVcdTA0M2RfXHUwNDNhXHUwNGQ3XHUwNGFiX1x1MDQ0ZFx1MDQ0MFx1MDQzZF9cdTA0NDhcdTA0ZDFcdTA0M2MiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDQzMlx1MDQ0MF9cdTA0NDJcdTA0M2RfXHUwNDRiXHUwNDQyX1x1MDQ0ZVx1MDQz''@;'; put 'put ''ZF9cdTA0M2FcdTA0YWJfXHUwNDRkXHUwNDQwX1x1MDQ0OFx1MDQzYyIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC1NTS1ZWVlZIixMTDoiWVlZWSBbXHUwNGFiXHUwNDQzXHUwNDNiXHUwNDQ1XHUwNDM4XSBNTU1NIFtcdTA0NDNc''@;'; put 'put ''dTA0MzlcdTA0ZDFcdTA0NDVcdTA0ZDdcdTA0M2RdIERbLVx1MDQzY1x1MDRkN1x1MDQ0OFx1MDRkN10iLExMTDoiWVlZWSBbXHUwNGFiXHUwNDQzXHUwNDNiXHUwNDQ1XHUwNDM4XSBNTU1NIFtcdTA0NDNcdTA0MzlcdTA0ZDFcdTA0NDVcdTA0ZDdcdTA0M2RdIERbLVx1MDQzY1x1MDRkN1x1''@;'; put 'put ''MDQ0OFx1MDRkN10sIEhIOm1tIixMTExMOiJkZGRkLCBZWVlZIFtcdTA0YWJcdTA0NDNcdTA0M2JcdTA0NDVcdTA0MzhdIE1NTU0gW1x1MDQ0M1x1MDQzOVx1MDRkMVx1MDQ0NVx1MDRkN1x1MDQzZF0gRFstXHUwNDNjXHUwNGQ3XHUwNDQ4XHUwNGQ3XSwgSEg6bW0ifSxjYWxlbmRhcjp7c2Ft''@;'; put 'put ''ZURheToiW1x1MDQxZlx1MDQzMFx1MDQ0Zlx1MDQzZF0gTFQgW1x1MDQ0MVx1MDQzNVx1MDQ0NVx1MDQzNVx1MDQ0Mlx1MDQ0MFx1MDQzNV0iLG5leHREYXk6IltcdTA0MmJcdTA0NDBcdTA0MzBcdTA0M2RdIExUIFtcdTA0NDFcdTA0MzVcdTA0NDVcdTA0MzVcdTA0NDJcdTA0NDBcdTA0MzVd''@;'; put 'put ''IixsYXN0RGF5OiJbXHUwNGQ2XHUwNDNkXHUwNDM1XHUwNDQwXSBMVCBbXHUwNDQxXHUwNDM1XHUwNDQ1XHUwNDM1XHUwNDQyXHUwNDQwXHUwNDM1XSIsbmV4dFdlZWs6IltcdTA0YWFcdTA0MzhcdTA0NDJcdTA0MzVcdTA0NDFdIGRkZGQgTFQgW1x1MDQ0MVx1MDQzNVx1MDQ0NVx1MDQzNVx1''@;'; put 'put ''MDQ0Mlx1MDQ0MFx1MDQzNV0iLGxhc3RXZWVrOiJbXHUwNDE4XHUwNDQwXHUwNDQyXHUwNDNkXHUwNGQ3XSBkZGRkIExUIFtcdTA0NDFcdTA0MzVcdTA0NDVcdTA0MzVcdTA0NDJcdTA0NDBcdTA0MzVdIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOmZ1bmN0aW9uKGdlKXty''@;'; put 'put ''ZXR1cm4gZ2UrKC9cdTA0NDFcdTA0MzVcdTA0NDVcdTA0MzVcdTA0NDIkL2kuZXhlYyhnZSk/Ilx1MDQ0MFx1MDQzNVx1MDQzZCI6L1x1MDRhYlx1MDQ0M1x1MDQzYiQvaS5leGVjKGdlKT8iXHUwNDQyXHUwNDMwXHUwNDNkIjoiXHUwNDQwXHUwNDMwXHUwNDNkIil9LHBhc3Q6IiVzIFx1MDQz''@;'; put 'put ''YVx1MDQzMFx1MDQ0Zlx1MDQzYlx1MDQzYlx1MDQzMCIsczoiXHUwNDNmXHUwNGQ3XHUwNDQwLVx1MDQzOFx1MDQzYSBcdTA0YWJcdTA0MzVcdTA0M2FcdTA0M2FcdTA0NDNcdTA0M2RcdTA0NDIiLHNzOiIlZCBcdTA0YWJcdTA0MzVcdTA0M2FcdTA0M2FcdTA0NDNcdTA0M2RcdTA0NDIiLG06''@;'; put 'put ''Ilx1MDQzZlx1MDRkN1x1MDQ0MCBcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDIiLG1tOiIlZCBcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDIiLGg6Ilx1MDQzZlx1MDRkN1x1MDQ0MCBcdTA0NDFcdTA0MzVcdTA0NDVcdTA0MzVcdTA0NDIiLGhoOiIlZCBcdTA0NDFcdTA0MzVc''@;'; put 'put ''dTA0NDVcdTA0MzVcdTA0NDIiLGQ6Ilx1MDQzZlx1MDRkN1x1MDQ0MCBcdTA0M2FcdTA0NDNcdTA0M2QiLGRkOiIlZCBcdTA0M2FcdTA0NDNcdTA0M2QiLE06Ilx1MDQzZlx1MDRkN1x1MDQ0MCBcdTA0NDNcdTA0MzlcdTA0ZDFcdTA0NDUiLE1NOiIlZCBcdTA0NDNcdTA0MzlcdTA0ZDFcdTA0''@;'; put 'put ''NDUiLHk6Ilx1MDQzZlx1MDRkN1x1MDQ0MCBcdTA0YWJcdTA0NDNcdTA0M2IiLHl5OiIlZCBcdTA0YWJcdTA0NDNcdTA0M2IifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9LVx1MDQzY1x1MDRkN1x1MDQ0OC8sb3JkaW5hbDoiJWQtXHUwNDNjXHUwNGQ3XHUwNDQ4Iix3ZWVrOntk''@;'; put 'put ''b3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSw2NzcxOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImN5Iix7bW9udGhzOiJJb25hd3JfQ2h3ZWZyb3JfTWF3cnRoX0VicmlsbF9NYWlfTWVoZWZpbl9Hb3JmZmVubmFmX0F3c3Rf''@;'; put 'put ''TWVkaV9IeWRyZWZfVGFjaHdlZGRfUmhhZ2Z5ciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiSW9uX0Nod2VfTWF3X0Vicl9NYWlfTWVoX0dvcl9Bd3NfTWVkX0h5ZF9UYWNoX1JoYWciLnNwbGl0KCJfIiksd2Vla2RheXM6IkR5ZGQgU3VsX0R5ZGQgTGx1bl9EeWRkIE1hd3J0aF9EeWRkIE1l''@;'; put 'put ''cmNoZXJfRHlkZCBJYXVfRHlkZCBHd2VuZXJfRHlkZCBTYWR3cm4iLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU3VsX0xsdW5fTWF3X01lcl9JYXVfR3dlX1NhZCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiU3VfTGxfTWFfTWVfSWFfR3dfU2EiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJz''@;'; put 'put ''ZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0hlZGRp''@;'; put 'put ''dyBhbV0gTFQiLG5leHREYXk6IltZZm9yeSBhbV0gTFQiLG5leHRXZWVrOiJkZGRkIFthbV0gTFQiLGxhc3REYXk6IltEZG9lIGFtXSBMVCIsbGFzdFdlZWs6ImRkZGQgW2Rpd2V0aGFmIGFtXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToibWV3biAlcyIscGFzdDoi''@;'; put 'put ''JXMgeW4gXHhmNGwiLHM6InljaHlkaWcgZWlsaWFkYXUiLHNzOiIlZCBlaWxpYWQiLG06Im11bnVkIixtbToiJWQgbXVudWQiLGg6ImF3ciIsaGg6IiVkIGF3ciIsZDoiZGl3cm5vZCIsZGQ6IiVkIGRpd3Jub2QiLE06Im1pcyIsTU06IiVkIG1pcyIseToiYmx3eWRkeW4iLHl5OiIlZCBmbHlu''@;'; put 'put ''ZWRkIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShmZWR8YWlufGFmfGlsfHlkZHxlZHxlZykvLG9yZGluYWw6ZnVuY3Rpb24oZ2Upe3ZhciBaPSIiO3JldHVybiBnZT4yMD9aPTQwPT09Z2V8fDUwPT09Z2V8fDYwPT09Z2V8fDgwPT09Z2V8fDEwMD09PWdlPyJmZWQiOiJhaW4i''@;'; put 'put ''OmdlPjAmJihaPVsiIiwiYWYiLCJpbCIsInlkZCIsInlkZCIsImVkIiwiZWQiLCJlZCIsImZlZCIsImZlZCIsImZlZCIsImVnIiwiZmVkIiwiZWciLCJlZyIsImZlZCIsImVnIiwiZWciLCJmZWQiLCJlZyIsImZlZCJdW2dlXSksZ2UrWn0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3Mzgp''@;'; put 'put ''KX0sNzk3ODpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJkYSIse21vbnRoczoiamFudWFyX2ZlYnJ1YXJfbWFydHNfYXByaWxfbWFqX2p1bmlfanVsaV9hdWd1c3Rfc2VwdGVtYmVyX29rdG9iZXJfbm92ZW1iZXJfZGVjZW1i''@;'; put 'put ''ZXIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Imphbl9mZWJfbWFyX2Fwcl9tYWpfanVuX2p1bF9hdWdfc2VwX29rdF9ub3ZfZGVjIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJzXHhmOG5kYWdfbWFuZGFnX3RpcnNkYWdfb25zZGFnX3RvcnNkYWdfZnJlZGFnX2xceGY4cmRhZyIuc3BsaXQoIl8i''@;'; put 'put ''KSx3ZWVrZGF5c1Nob3J0OiJzXHhmOG5fbWFuX3Rpcl9vbnNfdG9yX2ZyZV9sXHhmOHIiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46InNceGY4X21hX3RpX29uX3RvX2ZyX2xceGY4Ii5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1N''@;'; put 'put ''LllZWVkiLExMOiJELiBNTU1NIFlZWVkiLExMTDoiRC4gTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkIFtkLl0gRC4gTU1NTSBZWVlZIFtrbC5dIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltpIGRhZyBrbC5dIExUIixuZXh0RGF5OiJbaSBtb3JnZW4ga2wuXSBMVCIsbmV4dFdlZWs6''@;'; put 'put ''InBceGU1IGRkZGQgW2tsLl0gTFQiLGxhc3REYXk6IltpIGdceGU1ciBrbC5dIExUIixsYXN0V2VlazoiW2ldIGRkZGRbcyBrbC5dIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJvbSAlcyIscGFzdDoiJXMgc2lkZW4iLHM6ImZceGU1IHNla3VuZGVyIixzczoiJWQg''@;'; put 'put ''c2VrdW5kZXIiLG06ImV0IG1pbnV0IixtbToiJWQgbWludXR0ZXIiLGg6ImVuIHRpbWUiLGhoOiIlZCB0aW1lciIsZDoiZW4gZGFnIixkZDoiJWQgZGFnZSIsTToiZW4gbVx4ZTVuZWQiLE1NOiIlZCBtXHhlNW5lZGVyIix5OiJldCBceGU1ciIseXk6IiVkIFx4ZTVyIn0sZGF5T2ZNb250aE9y''@;'; put 'put ''ZGluYWxQYXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDUyMDQ6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG9lKGhlLFosQSxqKXt2YXIgTj17bTpbImVpbmUgTWludXRl''@;'; put 'put ''IiwiZWluZXIgTWludXRlIl0saDpbImVpbmUgU3R1bmRlIiwiZWluZXIgU3R1bmRlIl0sZDpbImVpbiBUYWciLCJlaW5lbSBUYWciXSxkZDpbaGUrIiBUYWdlIixoZSsiIFRhZ2VuIl0sdzpbImVpbmUgV29jaGUiLCJlaW5lciBXb2NoZSJdLE06WyJlaW4gTW9uYXQiLCJlaW5lbSBNb25hdCJd''@;'; put 'put ''LE1NOltoZSsiIE1vbmF0ZSIsaGUrIiBNb25hdGVuIl0seTpbImVpbiBKYWhyIiwiZWluZW0gSmFociJdLHl5OltoZSsiIEphaHJlIixoZSsiIEphaHJlbiJdfTtyZXR1cm4gWj9OW0FdWzBdOk5bQV1bMV19Q2UuZGVmaW5lTG9jYWxlKCJkZS1hdCIse21vbnRoczoiSlx4ZTRubmVyX0ZlYnJ1''@;'; put 'put ''YXJfTVx4ZTRyel9BcHJpbF9NYWlfSnVuaV9KdWxpX0F1Z3VzdF9TZXB0ZW1iZXJfT2t0b2Jlcl9Ob3ZlbWJlcl9EZXplbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiSlx4ZTRuLl9GZWIuX01ceGU0cnpfQXByLl9NYWlfSnVuaV9KdWxpX0F1Zy5fU2VwLl9Pa3QuX05vdi5fRGV6LiIu''@;'; put 'put ''c3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJTb25udGFnX01vbnRhZ19EaWVuc3RhZ19NaXR0d29jaF9Eb25uZXJzdGFnX0ZyZWl0YWdfU2Ftc3RhZyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJTby5fTW8uX0RpLl9NaS5fRG8uX0ZyLl9TYS4iLnNwbGl0KCJf''@;'; put 'put ''Iiksd2Vla2RheXNNaW46IlNvX01vX0RpX01pX0RvX0ZyX1NhIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRC4gTU1NTSBZWVlZIixMTEw6IkQuIE1NTU0gWVlZWSBI''@;'; put 'put ''SDptbSIsTExMTDoiZGRkZCwgRC4gTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltoZXV0ZSB1bV0gTFQgW1Vocl0iLHNhbWVFbHNlOiJMIixuZXh0RGF5OiJbbW9yZ2VuIHVtXSBMVCBbVWhyXSIsbmV4dFdlZWs6ImRkZGQgW3VtXSBMVCBbVWhyXSIsbGFzdERheToiW2dl''@;'; put 'put ''c3Rlcm4gdW1dIExUIFtVaHJdIixsYXN0V2VlazoiW2xldHp0ZW5dIGRkZGQgW3VtXSBMVCBbVWhyXSJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJpbiAlcyIscGFzdDoidm9yICVzIixzOiJlaW4gcGFhciBTZWt1bmRlbiIsc3M6IiVkIFNla3VuZGVuIixtOm9lLG1tOiIlZCBNaW51dGVuIixo''@;'; put 'put ''Om9lLGhoOiIlZCBTdHVuZGVuIixkOm9lLGRkOm9lLHc6b2Usd3c6IiVkIFdvY2hlbiIsTTpvZSxNTTpvZSx5Om9lLHl5Om9lfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMjY1MzpmdW5j''@;'; put 'put ''dGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gb2UoaGUsWixBLGope3ZhciBOPXttOlsiZWluZSBNaW51dGUiLCJlaW5lciBNaW51dGUiXSxoOlsiZWluZSBTdHVuZGUiLCJlaW5lciBTdHVuZGUiXSxkOlsiZWluIFRhZyIsImVpbmVtIFRhZyJdLGRk''@;'; put 'put ''OltoZSsiIFRhZ2UiLGhlKyIgVGFnZW4iXSx3OlsiZWluZSBXb2NoZSIsImVpbmVyIFdvY2hlIl0sTTpbImVpbiBNb25hdCIsImVpbmVtIE1vbmF0Il0sTU06W2hlKyIgTW9uYXRlIixoZSsiIE1vbmF0ZW4iXSx5OlsiZWluIEphaHIiLCJlaW5lbSBKYWhyIl0seXk6W2hlKyIgSmFocmUiLGhl''@;'; put 'put ''KyIgSmFocmVuIl19O3JldHVybiBaP05bQV1bMF06TltBXVsxXX1DZS5kZWZpbmVMb2NhbGUoImRlLWNoIix7bW9udGhzOiJKYW51YXJfRmVicnVhcl9NXHhlNHJ6X0FwcmlsX01haV9KdW5pX0p1bGlfQXVndXN0X1NlcHRlbWJlcl9Pa3RvYmVyX05vdmVtYmVyX0RlemVtYmVyIi5zcGxpdCgi''@;'; put 'put ''XyIpLG1vbnRoc1Nob3J0OiJKYW4uX0ZlYi5fTVx4ZTRyel9BcHIuX01haV9KdW5pX0p1bGlfQXVnLl9TZXAuX09rdC5fTm92Ll9EZXouIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6IlNvbm50YWdfTW9udGFnX0RpZW5zdGFnX01pdHR3b2NoX0Rvbm5lcnN0YWdf''@;'; put 'put ''RnJlaXRhZ19TYW1zdGFnIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IlNvX01vX0RpX01pX0RvX0ZyX1NhIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJTb19Nb19EaV9NaV9Eb19Gcl9TYSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJI''@;'; put 'put ''SDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQuIE1NTU0gWVlZWSIsTExMOiJELiBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQsIEQuIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbaGV1dGUgdW1dIExUIFtVaHJdIixzYW1lRWxzZToiTCIs''@;'; put 'put ''bmV4dERheToiW21vcmdlbiB1bV0gTFQgW1Vocl0iLG5leHRXZWVrOiJkZGRkIFt1bV0gTFQgW1Vocl0iLGxhc3REYXk6IltnZXN0ZXJuIHVtXSBMVCBbVWhyXSIsbGFzdFdlZWs6IltsZXR6dGVuXSBkZGRkIFt1bV0gTFQgW1Vocl0ifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiaW4gJXMiLHBh''@;'; put 'put ''c3Q6InZvciAlcyIsczoiZWluIHBhYXIgU2VrdW5kZW4iLHNzOiIlZCBTZWt1bmRlbiIsbTpvZSxtbToiJWQgTWludXRlbiIsaDpvZSxoaDoiJWQgU3R1bmRlbiIsZDpvZSxkZDpvZSx3Om9lLHd3OiIlZCBXb2NoZW4iLE06b2UsTU06b2UseTpvZSx5eTpvZX0sZGF5T2ZNb250aE9yZGluYWxQ''@;'; put 'put ''YXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDYwNjE6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG9lKGhlLFosQSxqKXt2YXIgTj17bTpbImVpbmUgTWludXRlIiwiZWlu''@;'; put 'put ''ZXIgTWludXRlIl0saDpbImVpbmUgU3R1bmRlIiwiZWluZXIgU3R1bmRlIl0sZDpbImVpbiBUYWciLCJlaW5lbSBUYWciXSxkZDpbaGUrIiBUYWdlIixoZSsiIFRhZ2VuIl0sdzpbImVpbmUgV29jaGUiLCJlaW5lciBXb2NoZSJdLE06WyJlaW4gTW9uYXQiLCJlaW5lbSBNb25hdCJdLE1NOlto''@;'; put 'put ''ZSsiIE1vbmF0ZSIsaGUrIiBNb25hdGVuIl0seTpbImVpbiBKYWhyIiwiZWluZW0gSmFociJdLHl5OltoZSsiIEphaHJlIixoZSsiIEphaHJlbiJdfTtyZXR1cm4gWj9OW0FdWzBdOk5bQV1bMV19Q2UuZGVmaW5lTG9jYWxlKCJkZSIse21vbnRoczoiSmFudWFyX0ZlYnJ1YXJfTVx4ZTRyel9B''@;'; put 'put ''cHJpbF9NYWlfSnVuaV9KdWxpX0F1Z3VzdF9TZXB0ZW1iZXJfT2t0b2Jlcl9Ob3ZlbWJlcl9EZXplbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiSmFuLl9GZWIuX01ceGU0cnpfQXByLl9NYWlfSnVuaV9KdWxpX0F1Zy5fU2VwLl9Pa3QuX05vdi5fRGV6LiIuc3BsaXQoIl8iKSxtb250''@;'; put 'put ''aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJTb25udGFnX01vbnRhZ19EaWVuc3RhZ19NaXR0d29jaF9Eb25uZXJzdGFnX0ZyZWl0YWdfU2Ftc3RhZyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJTby5fTW8uX0RpLl9NaS5fRG8uX0ZyLl9TYS4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46''@;'; put 'put ''IlNvX01vX0RpX01pX0RvX0ZyX1NhIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRC4gTU1NTSBZWVlZIixMTEw6IkQuIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRk''@;'; put 'put ''ZCwgRC4gTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltoZXV0ZSB1bV0gTFQgW1Vocl0iLHNhbWVFbHNlOiJMIixuZXh0RGF5OiJbbW9yZ2VuIHVtXSBMVCBbVWhyXSIsbmV4dFdlZWs6ImRkZGQgW3VtXSBMVCBbVWhyXSIsbGFzdERheToiW2dlc3Rlcm4gdW1dIExUIFtV''@;'; put 'put ''aHJdIixsYXN0V2VlazoiW2xldHp0ZW5dIGRkZGQgW3VtXSBMVCBbVWhyXSJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJpbiAlcyIscGFzdDoidm9yICVzIixzOiJlaW4gcGFhciBTZWt1bmRlbiIsc3M6IiVkIFNla3VuZGVuIixtOm9lLG1tOiIlZCBNaW51dGVuIixoOm9lLGhoOiIlZCBTdHVu''@;'; put 'put ''ZGVuIixkOm9lLGRkOm9lLHc6b2Usd3c6IiVkIFdvY2hlbiIsTTpvZSxNTTpvZSx5Om9lLHl5Om9lfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sODU6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFm''@;'; put 'put ''dW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT1bIlx1MDc5Nlx1MDdhY1x1MDc4Mlx1MDdhYVx1MDc4N1x1MDdhNlx1MDc4M1x1MDdhOSIsIlx1MDc4YVx1MDdhY1x1MDc4NFx1MDdiMFx1MDc4M1x1MDdhYVx1MDc4N1x1MDdhNlx1MDc4M1x1MDdhOSIsIlx1MDc4OVx1MDdhN1x1MDc4''@;'; put 'put ''M1x1MDdhOFx1MDc5N1x1MDdhYSIsIlx1MDc4N1x1MDdhZFx1MDc5NVx1MDdiMFx1MDc4M1x1MDdhOVx1MDc4ZFx1MDdhYSIsIlx1MDc4OVx1MDdhZCIsIlx1MDc5Nlx1MDdhYlx1MDc4Mlx1MDdiMCIsIlx1MDc5Nlx1MDdhYVx1MDc4ZFx1MDdhNlx1MDc4N1x1MDdhOCIsIlx1MDc4N1x1MDdh''@;'; put 'put ''Zlx1MDc4ZVx1MDdhNlx1MDc5MFx1MDdiMFx1MDc5M1x1MDdhYSIsIlx1MDc5MFx1MDdhY1x1MDc5NVx1MDdiMFx1MDc5M1x1MDdhY1x1MDc4OVx1MDdiMFx1MDc4NFx1MDdhNlx1MDc4M1x1MDdhYSIsIlx1MDc4N1x1MDdhZVx1MDc4Nlx1MDdiMFx1MDc5M1x1MDdhZlx1MDc4NFx1MDdhNlx1''@;'; put 'put ''MDc4M1x1MDdhYSIsIlx1MDc4Mlx1MDdhZVx1MDc4OFx1MDdhY1x1MDc4OVx1MDdiMFx1MDc4NFx1MDdhNlx1MDc4M1x1MDdhYSIsIlx1MDc5MVx1MDdhOFx1MDc5MFx1MDdhY1x1MDc4OVx1MDdiMFx1MDc4NFx1MDdhNlx1MDc4M1x1MDdhYSJdLGdlPVsiXHUwNzg3XHUwN2E3XHUwNzhiXHUw''@;'; put 'put ''N2E4XHUwNzg3XHUwN2IwXHUwNzhjXHUwN2E2IiwiXHUwNzgwXHUwN2FmXHUwNzg5XHUwN2E2IiwiXHUwNzg3XHUwN2E2XHUwNzgyXHUwN2IwXHUwNzhlXHUwN2E3XHUwNzgzXHUwN2E2IiwiXHUwNzg0XHUwN2FhXHUwNzhiXHUwN2E2IiwiXHUwNzg0XHUwN2FhXHUwNzgzXHUwN2E3XHUwNzkw''@;'; put 'put ''XHUwN2IwXHUwNzhhXHUwN2E2XHUwNzhjXHUwN2E4IiwiXHUwNzgwXHUwN2FhXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhIiwiXHUwNzgwXHUwN2FlXHUwNzgyXHUwN2E4XHUwNzgwXHUwN2E4XHUwNzgzXHUwN2FhIl07Q2UuZGVmaW5lTG9jYWxlKCJkdiIse21vbnRoczpvZSxtb250aHNTaG9y''@;'; put 'put ''dDpvZSx3ZWVrZGF5czpnZSx3ZWVrZGF5c1Nob3J0OmdlLHdlZWtkYXlzTWluOiJcdTA3ODdcdTA3YTdcdTA3OGJcdTA3YThfXHUwNzgwXHUwN2FmXHUwNzg5XHUwN2E2X1x1MDc4N1x1MDdhNlx1MDc4Mlx1MDdiMF9cdTA3ODRcdTA3YWFcdTA3OGJcdTA3YTZfXHUwNzg0XHUwN2FhXHUwNzgz''@;'; put 'put ''XHUwN2E3X1x1MDc4MFx1MDdhYVx1MDc4Nlx1MDdhYV9cdTA3ODBcdTA3YWVcdTA3ODJcdTA3YTgiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiRC9NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIs''@;'; put 'put ''TExMTDoiZGRkZCBEIE1NTU0gWVlZWSBISDptbSJ9LG1lcmlkaWVtUGFyc2U6L1x1MDc4OVx1MDc4NnxcdTA3ODlcdTA3OGEvLGlzUE06ZnVuY3Rpb24oWil7cmV0dXJuIlx1MDc4OVx1MDc4YSI9PT1afSxtZXJpZGllbTpmdW5jdGlvbihaLEEsail7cmV0dXJuIFo8MTI/Ilx1MDc4OVx1MDc4''@;'; put 'put ''NiI6Ilx1MDc4OVx1MDc4YSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNzg5XHUwN2E4XHUwNzg3XHUwN2E2XHUwNzhiXHUwN2FhXSBMVCIsbmV4dERheToiW1x1MDc4OVx1MDdhN1x1MDc4Ylx1MDdhNlx1MDc4OVx1MDdhN10gTFQiLG5leHRXZWVrOiJkZGRkIExUIixsYXN0RGF5OiJbXHUw''@;'; put 'put ''Nzg3XHUwN2E4XHUwNzg3XHUwN2IwXHUwNzk0XHUwN2FjXSBMVCIsbGFzdFdlZWs6IltcdTA3OGFcdTA3YTdcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODhcdTA3YThdIGRkZGQgTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MDc4Y1x1MDdhY1x1MDc4M1x1''@;'; put 'put ''MDdhZFx1MDc4ZVx1MDdhNlx1MDc4N1x1MDdhOCAlcyIscGFzdDoiXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzgyXHUwN2IwICVzIixzOiJcdTA3OTBcdTA3YThcdTA3ODZcdTA3YWFcdTA3ODJcdTA3YjBcdTA3OGNcdTA3YWFcdTA3ODZcdTA3YWVcdTA3ODVcdTA3YWNcdTA3ODdcdTA3''@;'; put 'put ''YjAiLHNzOiJkJSBcdTA3OTBcdTA3YThcdTA3ODZcdTA3YWFcdTA3ODJcdTA3YjBcdTA3OGNcdTA3YWEiLG06Ilx1MDc4OVx1MDdhOFx1MDc4Mlx1MDdhOFx1MDc5M1x1MDdhY1x1MDc4N1x1MDdiMCIsbW06Ilx1MDc4OVx1MDdhOFx1MDc4Mlx1MDdhOFx1MDc5M1x1MDdhYSAlZCIsaDoiXHUw''@;'; put 'put ''NzhlXHUwN2E2XHUwNzkxXHUwN2E4XHUwNzg3XHUwN2E4XHUwNzgzXHUwN2FjXHUwNzg3XHUwN2IwIixoaDoiXHUwNzhlXHUwN2E2XHUwNzkxXHUwN2E4XHUwNzg3XHUwN2E4XHUwNzgzXHUwN2FhICVkIixkOiJcdTA3OGJcdTA3YWFcdTA3ODhcdTA3YTZcdTA3ODBcdTA3YWNcdTA3ODdcdTA3''@;'; put 'put ''YjAiLGRkOiJcdTA3OGJcdTA3YWFcdTA3ODhcdTA3YTZcdTA3OTBcdTA3YjAgJWQiLE06Ilx1MDc4OVx1MDdhNlx1MDc4MFx1MDdhY1x1MDc4N1x1MDdiMCIsTU06Ilx1MDc4OVx1MDdhNlx1MDc5MFx1MDdiMCAlZCIseToiXHUwNzg3XHUwN2E2XHUwNzgwXHUwN2E2XHUwNzgzXHUwN2FjXHUw''@;'; put 'put ''Nzg3XHUwN2IwIix5eToiXHUwNzg3XHUwN2E2XHUwNzgwXHUwN2E2XHUwNzgzXHUwN2FhICVkIn0scHJlcGFyc2U6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvXHUwNjBjL2csIiwiKX0scG9zdGZvcm1hdDpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC8sL2csIlx1MDYwYyIp''@;'; put 'put ''fSx3ZWVrOntkb3c6Nyxkb3k6MTJ9fSl9KEZlKDY3MzgpKX0sODU3OTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJlbCIse21vbnRoc05vbWluYXRpdmVFbDoiXHUwMzk5XHUwM2IxXHUwM2JkXHUwM2JmXHUwM2M1XHUwM2Fj''@;'; put 'put ''XHUwM2MxXHUwM2I5XHUwM2JmXHUwM2MyX1x1MDNhNlx1MDNiNVx1MDNiMlx1MDNjMVx1MDNiZlx1MDNjNVx1MDNhY1x1MDNjMVx1MDNiOVx1MDNiZlx1MDNjMl9cdTAzOWNcdTAzYWNcdTAzYzFcdTAzYzRcdTAzYjlcdTAzYmZcdTAzYzJfXHUwMzkxXHUwM2MwXHUwM2MxXHUwM2FmXHUwM2Ji''@;'; put 'put ''XHUwM2I5XHUwM2JmXHUwM2MyX1x1MDM5Y1x1MDNhY1x1MDNiOVx1MDNiZlx1MDNjMl9cdTAzOTlcdTAzYmZcdTAzY2RcdTAzYmRcdTAzYjlcdTAzYmZcdTAzYzJfXHUwMzk5XHUwM2JmXHUwM2NkXHUwM2JiXHUwM2I5XHUwM2JmXHUwM2MyX1x1MDM5MVx1MDNjZFx1MDNiM1x1MDNiZlx1MDNj''@;'; put 'put ''NVx1MDNjM1x1MDNjNFx1MDNiZlx1MDNjMl9cdTAzYTNcdTAzYjVcdTAzYzBcdTAzYzRcdTAzYWRcdTAzYmNcdTAzYjJcdTAzYzFcdTAzYjlcdTAzYmZcdTAzYzJfXHUwMzlmXHUwM2JhXHUwM2M0XHUwM2NlXHUwM2IyXHUwM2MxXHUwM2I5XHUwM2JmXHUwM2MyX1x1MDM5ZFx1MDNiZlx1MDNh''@;'; put 'put ''ZFx1MDNiY1x1MDNiMlx1MDNjMVx1MDNiOVx1MDNiZlx1MDNjMl9cdTAzOTRcdTAzYjVcdTAzYmFcdTAzYWRcdTAzYmNcdTAzYjJcdTAzYzFcdTAzYjlcdTAzYmZcdTAzYzIiLnNwbGl0KCJfIiksbW9udGhzR2VuaXRpdmVFbDoiXHUwMzk5XHUwM2IxXHUwM2JkXHUwM2JmXHUwM2M1XHUwM2Ix''@;'; put 'put ''XHUwM2MxXHUwM2FmXHUwM2JmXHUwM2M1X1x1MDNhNlx1MDNiNVx1MDNiMlx1MDNjMVx1MDNiZlx1MDNjNVx1MDNiMVx1MDNjMVx1MDNhZlx1MDNiZlx1MDNjNV9cdTAzOWNcdTAzYjFcdTAzYzFcdTAzYzRcdTAzYWZcdTAzYmZcdTAzYzVfXHUwMzkxXHUwM2MwXHUwM2MxXHUwM2I5XHUwM2Ji''@;'; put 'put ''XHUwM2FmXHUwM2JmXHUwM2M1X1x1MDM5Y1x1MDNiMVx1MDM5MFx1MDNiZlx1MDNjNV9cdTAzOTlcdTAzYmZcdTAzYzVcdTAzYmRcdTAzYWZcdTAzYmZcdTAzYzVfXHUwMzk5XHUwM2JmXHUwM2M1XHUwM2JiXHUwM2FmXHUwM2JmXHUwM2M1X1x1MDM5MVx1MDNjNVx1MDNiM1x1MDNiZlx1MDNj''@;'; put 'put ''ZFx1MDNjM1x1MDNjNFx1MDNiZlx1MDNjNV9cdTAzYTNcdTAzYjVcdTAzYzBcdTAzYzRcdTAzYjVcdTAzYmNcdTAzYjJcdTAzYzFcdTAzYWZcdTAzYmZcdTAzYzVfXHUwMzlmXHUwM2JhXHUwM2M0XHUwM2M5XHUwM2IyXHUwM2MxXHUwM2FmXHUwM2JmXHUwM2M1X1x1MDM5ZFx1MDNiZlx1MDNi''@;'; put 'put ''NVx1MDNiY1x1MDNiMlx1MDNjMVx1MDNhZlx1MDNiZlx1MDNjNV9cdTAzOTRcdTAzYjVcdTAzYmFcdTAzYjVcdTAzYmNcdTAzYjJcdTAzYzFcdTAzYWZcdTAzYmZcdTAzYzUiLnNwbGl0KCJfIiksbW9udGhzOmZ1bmN0aW9uKGhlLFope3JldHVybiBoZT8ic3RyaW5nIj09dHlwZW9mIFomJi9E''@;'; put 'put ''Ly50ZXN0KFouc3Vic3RyaW5nKDAsWi5pbmRleE9mKCJNTU1NIikpKT90aGlzLl9tb250aHNHZW5pdGl2ZUVsW2hlLm1vbnRoKCldOnRoaXMuX21vbnRoc05vbWluYXRpdmVFbFtoZS5tb250aCgpXTp0aGlzLl9tb250aHNOb21pbmF0aXZlRWx9LG1vbnRoc1Nob3J0OiJcdTAzOTlcdTAzYjFc''@;'; put 'put ''dTAzYmRfXHUwM2E2XHUwM2I1XHUwM2IyX1x1MDM5Y1x1MDNiMVx1MDNjMV9cdTAzOTFcdTAzYzBcdTAzYzFfXHUwMzljXHUwM2IxXHUwM2NhX1x1MDM5OVx1MDNiZlx1MDNjNVx1MDNiZF9cdTAzOTlcdTAzYmZcdTAzYzVcdTAzYmJfXHUwMzkxXHUwM2M1XHUwM2IzX1x1MDNhM1x1MDNiNVx1''@;'; put 'put ''MDNjMF9cdTAzOWZcdTAzYmFcdTAzYzRfXHUwMzlkXHUwM2JmXHUwM2I1X1x1MDM5NFx1MDNiNVx1MDNiYSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHUwMzlhXHUwM2M1XHUwM2MxXHUwM2I5XHUwM2IxXHUwM2JhXHUwM2FlX1x1MDM5NFx1MDNiNVx1MDNjNVx1MDNjNFx1MDNhZFx1MDNjMVx1''@;'; put 'put ''MDNiMV9cdTAzYTRcdTAzYzFcdTAzYWZcdTAzYzRcdTAzYjdfXHUwM2E0XHUwM2I1XHUwM2M0XHUwM2FjXHUwM2MxXHUwM2M0XHUwM2I3X1x1MDNhMFx1MDNhZFx1MDNiY1x1MDNjMFx1MDNjNFx1MDNiN19cdTAzYTBcdTAzYjFcdTAzYzFcdTAzYjFcdTAzYzNcdTAzYmFcdTAzYjVcdTAzYzVc''@;'; put 'put ''dTAzYWVfXHUwM2EzXHUwM2FjXHUwM2IyXHUwM2IyXHUwM2IxXHUwM2M0XHUwM2JmIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDM5YVx1MDNjNVx1MDNjMV9cdTAzOTRcdTAzYjVcdTAzYzVfXHUwM2E0XHUwM2MxXHUwM2I5X1x1MDNhNFx1MDNiNVx1MDNjNF9cdTAzYTBcdTAzYjVc''@;'; put 'put ''dTAzYmNfXHUwM2EwXHUwM2IxXHUwM2MxX1x1MDNhM1x1MDNiMVx1MDNiMiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwMzlhXHUwM2M1X1x1MDM5NFx1MDNiNV9cdTAzYTRcdTAzYzFfXHUwM2E0XHUwM2I1X1x1MDNhMFx1MDNiNV9cdTAzYTBcdTAzYjFfXHUwM2EzXHUwM2IxIi5zcGxp''@;'; put 'put ''dCgiXyIpLG1lcmlkaWVtOmZ1bmN0aW9uKGhlLFosQSl7cmV0dXJuIGhlPjExP0E/Ilx1MDNiY1x1MDNiYyI6Ilx1MDM5Y1x1MDM5YyI6QT8iXHUwM2MwXHUwM2JjIjoiXHUwM2EwXHUwMzljIn0saXNQTTpmdW5jdGlvbihoZSl7cmV0dXJuIlx1MDNiYyI9PT0oaGUrIiIpLnRvTG93ZXJDYXNl''@;'; put 'put ''KClbMF19LG1lcmlkaWVtUGFyc2U6L1tcdTAzYTBcdTAzOWNdXC4/XHUwMzljP1wuPy9pLGxvbmdEYXRlRm9ybWF0OntMVDoiaDptbSBBIixMVFM6Img6bW06c3MgQSIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIGg6bW0gQSIsTExMTDoiZGRkZCwg''@;'; put 'put ''RCBNTU1NIFlZWVkgaDptbSBBIn0sY2FsZW5kYXJFbDp7c2FtZURheToiW1x1MDNhM1x1MDNhZVx1MDNiY1x1MDNiNVx1MDNjMVx1MDNiMSB7fV0gTFQiLG5leHREYXk6IltcdTAzOTFcdTAzY2RcdTAzYzFcdTAzYjlcdTAzYmYge31dIExUIixuZXh0V2VlazoiZGRkZCBbe31dIExUIixsYXN0''@;'; put 'put ''RGF5OiJbXHUwM2E3XHUwM2I4XHUwM2I1XHUwM2MyIHt9XSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4gNj09PXRoaXMuZGF5KCk/IltcdTAzYzRcdTAzYmYgXHUwM2MwXHUwM2MxXHUwM2JmXHUwM2I3XHUwM2IzXHUwM2JmXHUwM2NkXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmXSBk''@;'; put 'put ''ZGRkIFt7fV0gTFQiOiJbXHUwM2M0XHUwM2I3XHUwM2JkIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNiN1x1MDNiM1x1MDNiZlx1MDNjZFx1MDNiY1x1MDNiNVx1MDNiZFx1MDNiN10gZGRkZCBbe31dIExUIn0sc2FtZUVsc2U6IkwifSxjYWxlbmRhcjpmdW5jdGlvbihoZSxaKXt2YXIgQT10aGlz''@;'; put 'put ''Ll9jYWxlbmRhckVsW2hlXSxqPVomJlouaG91cnMoKTtyZXR1cm4gZnVuY3Rpb24gb2UoaGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgRnVuY3Rpb24mJmhlIGluc3RhbmNlb2YgRnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh''@;'; put 'put ''bGwoaGUpfShBKSYmKEE9QS5hcHBseShaKSksQS5yZXBsYWNlKCJ7fSIsaiUxMj09MT8iXHUwM2MzXHUwM2M0XHUwM2I3IjoiXHUwM2MzXHUwM2M0XHUwM2I5XHUwM2MyIil9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTAzYzNcdTAzYjUgJXMiLHBhc3Q6IiVzIFx1MDNjMFx1MDNjMVx1MDNi''@;'; put 'put ''OVx1MDNiZCIsczoiXHUwM2JiXHUwM2FmXHUwM2IzXHUwM2IxIFx1MDNiNFx1MDNiNVx1MDNjNVx1MDNjNFx1MDNiNVx1MDNjMVx1MDNjY1x1MDNiYlx1MDNiNVx1MDNjMFx1MDNjNFx1MDNiMSIsc3M6IiVkIFx1MDNiNFx1MDNiNVx1MDNjNVx1MDNjNFx1MDNiNVx1MDNjMVx1MDNjY1x1MDNi''@;'; put 'put ''Ylx1MDNiNVx1MDNjMFx1MDNjNFx1MDNiMSIsbToiXHUwM2FkXHUwM2JkXHUwM2IxIFx1MDNiYlx1MDNiNVx1MDNjMFx1MDNjNFx1MDNjYyIsbW06IiVkIFx1MDNiYlx1MDNiNVx1MDNjMFx1MDNjNFx1MDNhYyIsaDoiXHUwM2JjXHUwM2FmXHUwM2IxIFx1MDNjZVx1MDNjMVx1MDNiMSIsaGg6''@;'; put 'put ''IiVkIFx1MDNjZVx1MDNjMVx1MDNiNVx1MDNjMiIsZDoiXHUwM2JjXHUwM2FmXHUwM2IxIFx1MDNiY1x1MDNhZFx1MDNjMVx1MDNiMSIsZGQ6IiVkIFx1MDNiY1x1MDNhZFx1MDNjMVx1MDNiNVx1MDNjMiIsTToiXHUwM2FkXHUwM2JkXHUwM2IxXHUwM2MyIFx1MDNiY1x1MDNhZVx1MDNiZFx1''@;'; put 'put ''MDNiMVx1MDNjMiIsTU06IiVkIFx1MDNiY1x1MDNhZVx1MDNiZFx1MDNiNVx1MDNjMiIseToiXHUwM2FkXHUwM2JkXHUwM2IxXHUwM2MyIFx1MDNjN1x1MDNjMVx1MDNjY1x1MDNiZFx1MDNiZlx1MDNjMiIseXk6IiVkIFx1MDNjN1x1MDNjMVx1MDNjY1x1MDNiZFx1MDNiOVx1MDNiMSJ9LGRh''@;'; put 'put ''eU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1cdTAzYjcvLG9yZGluYWw6IiVkXHUwM2I3Iix3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw1NzI0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImVuLWF1Iix7''@;'; put 'put ''bW9udGhzOiJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0Rl''@;'; put 'put ''YyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU3VuX01vbl9UdWVfV2VkX1RodV9GcmlfU2F0Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJTdV9N''@;'; put 'put ''b19UdV9XZV9UaF9Gcl9TYSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6Img6bW0gQSIsTFRTOiJoOm1tOnNzIEEiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBoOm1tIEEiLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIGg6bW0gQSJ9LGNh''@;'; put 'put ''bGVuZGFyOntzYW1lRGF5OiJbVG9kYXkgYXRdIExUIixuZXh0RGF5OiJbVG9tb3Jyb3cgYXRdIExUIixuZXh0V2VlazoiZGRkZCBbYXRdIExUIixsYXN0RGF5OiJbWWVzdGVyZGF5IGF0XSBMVCIsbGFzdFdlZWs6IltMYXN0XSBkZGRkIFthdF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVU''@;'; put 'put ''aW1lOntmdXR1cmU6ImluICVzIixwYXN0OiIlcyBhZ28iLHM6ImEgZmV3IHNlY29uZHMiLHNzOiIlZCBzZWNvbmRzIixtOiJhIG1pbnV0ZSIsbW06IiVkIG1pbnV0ZXMiLGg6ImFuIGhvdXIiLGhoOiIlZCBob3VycyIsZDoiYSBkYXkiLGRkOiIlZCBkYXlzIixNOiJhIG1vbnRoIixNTToiJWQg''@;'; put 'put ''bW9udGhzIix5OiJhIHllYXIiLHl5OiIlZCB5ZWFycyJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oc3R8bmR8cmR8dGgpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlKXt2YXIgaGU9Z2UlMTA7cmV0dXJuIGdlKygxPT1+fihnZSUxMDAvMTApPyJ0aCI6MT09PWhlPyJzdCI6Mj09PWhl''@;'; put 'put ''PyJuZCI6Mz09PWhlPyJyZCI6InRoIil9LHdlZWs6e2RvdzowLGRveTo0fX0pfShGZSg2NzM4KSl9LDUyNTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJlbi1jYSIse21vbnRoczoiSmFudWFyeV9GZWJydWFyeV9NYXJjaF9B''@;'; put 'put ''cHJpbF9NYXlfSnVuZV9KdWx5X0F1Z3VzdF9TZXB0ZW1iZXJfT2N0b2Jlcl9Ob3ZlbWJlcl9EZWNlbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiSmFuX0ZlYl9NYXJfQXByX01heV9KdW5fSnVsX0F1Z19TZXBfT2N0X05vdl9EZWMiLnNwbGl0KCJfIiksd2Vla2RheXM6IlN1bmRheV9N''@;'; put 'put ''b25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IlN1bl9Nb25fVHVlX1dlZF9UaHVfRnJpX1NhdCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiU3VfTW9fVHVfV2VfVGhfRnJfU2EiLnNwbGl0KCJfIiksbG9u''@;'; put 'put ''Z0RhdGVGb3JtYXQ6e0xUOiJoOm1tIEEiLExUUzoiaDptbTpzcyBBIixMOiJZWVlZLU1NLUREIixMTDoiTU1NTSBELCBZWVlZIixMTEw6Ik1NTU0gRCwgWVlZWSBoOm1tIEEiLExMTEw6ImRkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEifSxjYWxlbmRhcjp7c2FtZURheToiW1RvZGF5IGF0XSBM''@;'; put 'put ''VCIsbmV4dERheToiW1RvbW9ycm93IGF0XSBMVCIsbmV4dFdlZWs6ImRkZGQgW2F0XSBMVCIsbGFzdERheToiW1llc3RlcmRheSBhdF0gTFQiLGxhc3RXZWVrOiJbTGFzdF0gZGRkZCBbYXRdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJpbiAlcyIscGFzdDoiJXMg''@;'; put 'put ''YWdvIixzOiJhIGZldyBzZWNvbmRzIixzczoiJWQgc2Vjb25kcyIsbToiYSBtaW51dGUiLG1tOiIlZCBtaW51dGVzIixoOiJhbiBob3VyIixoaDoiJWQgaG91cnMiLGQ6ImEgZGF5IixkZDoiJWQgZGF5cyIsTToiYSBtb250aCIsTU06IiVkIG1vbnRocyIseToiYSB5ZWFyIix5eToiJWQgeWVh''@;'; put 'put ''cnMifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KHN0fG5kfHJkfHRoKS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7dmFyIGhlPWdlJTEwO3JldHVybiBnZSsoMT09fn4oZ2UlMTAwLzEwKT8idGgiOjE9PT1oZT8ic3QiOjI9PT1oZT8ibmQiOjM9PT1oZT8icmQiOiJ0aCIpfX0pfShG''@;'; put 'put ''ZSg2NzM4KSl9LDI4NDc6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiZW4tZ2IiLHttb250aHM6IkphbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92''@;'; put 'put ''ZW1iZXJfRGVjZW1iZXIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ikphbl9GZWJfTWFyX0Fwcl9NYXlfSnVuX0p1bF9BdWdfU2VwX09jdF9Ob3ZfRGVjIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJTdW5kYXlfTW9uZGF5X1R1ZXNkYXlfV2VkbmVzZGF5X1RodXJzZGF5X0ZyaWRheV9TYXR1cmRh''@;'; put 'put ''eSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJTdW5fTW9uX1R1ZV9XZWRfVGh1X0ZyaV9TYXQiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46IlN1X01vX1R1X1dlX1RoX0ZyX1NhIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01N''@;'; put 'put ''L1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1RvZGF5IGF0XSBMVCIsbmV4dERheToiW1RvbW9ycm93IGF0XSBMVCIsbmV4dFdlZWs6ImRkZGQgW2F0XSBMVCIs''@;'; put 'put ''bGFzdERheToiW1llc3RlcmRheSBhdF0gTFQiLGxhc3RXZWVrOiJbTGFzdF0gZGRkZCBbYXRdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJpbiAlcyIscGFzdDoiJXMgYWdvIixzOiJhIGZldyBzZWNvbmRzIixzczoiJWQgc2Vjb25kcyIsbToiYSBtaW51dGUiLG1t''@;'; put 'put ''OiIlZCBtaW51dGVzIixoOiJhbiBob3VyIixoaDoiJWQgaG91cnMiLGQ6ImEgZGF5IixkZDoiJWQgZGF5cyIsTToiYSBtb250aCIsTU06IiVkIG1vbnRocyIseToiYSB5ZWFyIix5eToiJWQgeWVhcnMifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KHN0fG5kfHJkfHRoKS8sb3Jk''@;'; put 'put ''aW5hbDpmdW5jdGlvbihnZSl7dmFyIGhlPWdlJTEwO3JldHVybiBnZSsoMT09fn4oZ2UlMTAwLzEwKT8idGgiOjE9PT1oZT8ic3QiOjI9PT1oZT8ibmQiOjM9PT1oZT8icmQiOiJ0aCIpfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw3MjE2OmZ1bmN0aW9uKF90LEN0LEZlKXsh''@;'; put 'put ''ZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImVuLWllIix7bW9udGhzOiJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1No''@;'; put 'put ''b3J0OiJKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU3VuX01v''@;'; put 'put ''bl9UdWVfV2VkX1RodV9GcmlfU2F0Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJTdV9Nb19UdV9XZV9UaF9Gcl9TYSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1N''@;'; put 'put ''IFlZWVkgSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1RvZGF5IGF0XSBMVCIsbmV4dERheToiW1RvbW9ycm93IGF0XSBMVCIsbmV4dFdlZWs6ImRkZGQgW2F0XSBMVCIsbGFzdERheToiW1llc3RlcmRheSBhdF0gTFQiLGxhc3RXZWVr''@;'; put 'put ''OiJbTGFzdF0gZGRkZCBbYXRdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJpbiAlcyIscGFzdDoiJXMgYWdvIixzOiJhIGZldyBzZWNvbmRzIixzczoiJWQgc2Vjb25kcyIsbToiYSBtaW51dGUiLG1tOiIlZCBtaW51dGVzIixoOiJhbiBob3VyIixoaDoiJWQgaG91''@;'; put 'put ''cnMiLGQ6ImEgZGF5IixkZDoiJWQgZGF5cyIsTToiYSBtb250aCIsTU06IiVkIG1vbnRocyIseToiYSB5ZWFyIix5eToiJWQgeWVhcnMifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KHN0fG5kfHJkfHRoKS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7dmFyIGhlPWdlJTEwO3JldHVy''@;'; put 'put ''biBnZSsoMT09fn4oZ2UlMTAwLzEwKT8idGgiOjE9PT1oZT8ic3QiOjI9PT1oZT8ibmQiOjM9PT1oZT8icmQiOiJ0aCIpfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw5MzA1OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVM''@;'; put 'put ''b2NhbGUoImVuLWlsIix7bW9udGhzOiJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVn''@;'; put 'put ''X1NlcF9PY3RfTm92X0RlYyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU3VuX01vbl9UdWVfV2VkX1RodV9GcmlfU2F0Ii5zcGxpdCgiXyIpLHdl''@;'; put 'put ''ZWtkYXlzTWluOiJTdV9Nb19UdV9XZV9UaF9Gcl9TYSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZ''@;'; put 'put ''IEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltUb2RheSBhdF0gTFQiLG5leHREYXk6IltUb21vcnJvdyBhdF0gTFQiLG5leHRXZWVrOiJkZGRkIFthdF0gTFQiLGxhc3REYXk6IltZZXN0ZXJkYXkgYXRdIExUIixsYXN0V2VlazoiW0xhc3RdIGRkZGQgW2F0XSBMVCIsc2FtZUVsc2U6Ikwi''@;'; put 'put ''fSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiaW4gJXMiLHBhc3Q6IiVzIGFnbyIsczoiYSBmZXcgc2Vjb25kcyIsc3M6IiVkIHNlY29uZHMiLG06ImEgbWludXRlIixtbToiJWQgbWludXRlcyIsaDoiYW4gaG91ciIsaGg6IiVkIGhvdXJzIixkOiJhIGRheSIsZGQ6IiVkIGRheXMiLE06ImEgbW9u''@;'; put 'put ''dGgiLE1NOiIlZCBtb250aHMiLHk6ImEgeWVhciIseXk6IiVkIHllYXJzIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShzdHxuZHxyZHx0aCkvLG9yZGluYWw6ZnVuY3Rpb24oZ2Upe3ZhciBoZT1nZSUxMDtyZXR1cm4gZ2UrKDE9PX5+KGdlJTEwMC8xMCk/InRoIjoxPT09aGU/''@;'; put 'put ''InN0IjoyPT09aGU/Im5kIjozPT09aGU/InJkIjoidGgiKX19KX0oRmUoNjczOCkpfSwzMzY0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImVuLWluIix7bW9udGhzOiJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01h''@;'; put 'put ''eV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiU3VuZGF5X01vbmRheV9U''@;'; put 'put ''dWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU3VuX01vbl9UdWVfV2VkX1RodV9GcmlfU2F0Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJTdV9Nb19UdV9XZV9UaF9Gcl9TYSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZv''@;'; put 'put ''cm1hdDp7TFQ6Img6bW0gQSIsTFRTOiJoOm1tOnNzIEEiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBoOm1tIEEiLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIGg6bW0gQSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbVG9kYXkgYXRdIExUIixuZXh0RGF5''@;'; put 'put ''OiJbVG9tb3Jyb3cgYXRdIExUIixuZXh0V2VlazoiZGRkZCBbYXRdIExUIixsYXN0RGF5OiJbWWVzdGVyZGF5IGF0XSBMVCIsbGFzdFdlZWs6IltMYXN0XSBkZGRkIFthdF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ImluICVzIixwYXN0OiIlcyBhZ28iLHM6ImEg''@;'; put 'put ''ZmV3IHNlY29uZHMiLHNzOiIlZCBzZWNvbmRzIixtOiJhIG1pbnV0ZSIsbW06IiVkIG1pbnV0ZXMiLGg6ImFuIGhvdXIiLGhoOiIlZCBob3VycyIsZDoiYSBkYXkiLGRkOiIlZCBkYXlzIixNOiJhIG1vbnRoIixNTToiJWQgbW9udGhzIix5OiJhIHllYXIiLHl5OiIlZCB5ZWFycyJ9LGRheU9m''@;'; put 'put ''TW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oc3R8bmR8cmR8dGgpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlKXt2YXIgaGU9Z2UlMTA7cmV0dXJuIGdlKygxPT1+fihnZSUxMDAvMTApPyJ0aCI6MT09PWhlPyJzdCI6Mj09PWhlPyJuZCI6Mz09PWhlPyJyZCI6InRoIil9LHdlZWs6e2RvdzowLGRv''@;'; put 'put ''eTo2fX0pfShGZSg2NzM4KSl9LDkxMzA6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiZW4tbnoiLHttb250aHM6IkphbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09j''@;'; put 'put ''dG9iZXJfTm92ZW1iZXJfRGVjZW1iZXIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ikphbl9GZWJfTWFyX0Fwcl9NYXlfSnVuX0p1bF9BdWdfU2VwX09jdF9Ob3ZfRGVjIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJTdW5kYXlfTW9uZGF5X1R1ZXNkYXlfV2VkbmVzZGF5X1RodXJzZGF5X0ZyaWRh''@;'; put 'put ''eV9TYXR1cmRheSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJTdW5fTW9uX1R1ZV9XZWRfVGh1X0ZyaV9TYXQiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46IlN1X01vX1R1X1dlX1RoX0ZyX1NhIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiaDptbSBBIixMVFM6Img6bW06c3Mg''@;'; put 'put ''QSIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIGg6bW0gQSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgaDptbSBBIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltUb2RheSBhdF0gTFQiLG5leHREYXk6IltUb21vcnJvdyBhdF0gTFQiLG5leHRXZWVrOiJk''@;'; put 'put ''ZGRkIFthdF0gTFQiLGxhc3REYXk6IltZZXN0ZXJkYXkgYXRdIExUIixsYXN0V2VlazoiW0xhc3RdIGRkZGQgW2F0XSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiaW4gJXMiLHBhc3Q6IiVzIGFnbyIsczoiYSBmZXcgc2Vjb25kcyIsc3M6IiVkIHNlY29uZHMiLG06''@;'; put 'put ''ImEgbWludXRlIixtbToiJWQgbWludXRlcyIsaDoiYW4gaG91ciIsaGg6IiVkIGhvdXJzIixkOiJhIGRheSIsZGQ6IiVkIGRheXMiLE06ImEgbW9udGgiLE1NOiIlZCBtb250aHMiLHk6ImEgeWVhciIseXk6IiVkIHllYXJzIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShzdHxu''@;'; put 'put ''ZHxyZHx0aCkvLG9yZGluYWw6ZnVuY3Rpb24oZ2Upe3ZhciBoZT1nZSUxMDtyZXR1cm4gZ2UrKDE9PX5+KGdlJTEwMC8xMCk/InRoIjoxPT09aGU/InN0IjoyPT09aGU/Im5kIjozPT09aGU/InJkIjoidGgiKX0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMTE2MTpmdW5jdGlv''@;'; put 'put ''bihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJlbi1zZyIse21vbnRoczoiSmFudWFyeV9GZWJydWFyeV9NYXJjaF9BcHJpbF9NYXlfSnVuZV9KdWx5X0F1Z3VzdF9TZXB0ZW1iZXJfT2N0b2Jlcl9Ob3ZlbWJlcl9EZWNlbWJlciIuc3BsaXQo''@;'; put 'put ''Il8iKSxtb250aHNTaG9ydDoiSmFuX0ZlYl9NYXJfQXByX01heV9KdW5fSnVsX0F1Z19TZXBfT2N0X05vdl9EZWMiLnNwbGl0KCJfIiksd2Vla2RheXM6IlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLHdlZWtkYXlz''@;'; put 'put ''U2hvcnQ6IlN1bl9Nb25fVHVlX1dlZF9UaHVfRnJpX1NhdCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiU3VfTW9fVHVfV2VfVGhfRnJfU2EiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZ''@;'; put 'put ''IixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbVG9kYXkgYXRdIExUIixuZXh0RGF5OiJbVG9tb3Jyb3cgYXRdIExUIixuZXh0V2VlazoiZGRkZCBbYXRdIExUIixsYXN0RGF5OiJbWWVzdGVyZGF5IGF0''@;'; put 'put ''XSBMVCIsbGFzdFdlZWs6IltMYXN0XSBkZGRkIFthdF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ImluICVzIixwYXN0OiIlcyBhZ28iLHM6ImEgZmV3IHNlY29uZHMiLHNzOiIlZCBzZWNvbmRzIixtOiJhIG1pbnV0ZSIsbW06IiVkIG1pbnV0ZXMiLGg6ImFuIGhv''@;'; put 'put ''dXIiLGhoOiIlZCBob3VycyIsZDoiYSBkYXkiLGRkOiIlZCBkYXlzIixNOiJhIG1vbnRoIixNTToiJWQgbW9udGhzIix5OiJhIHllYXIiLHl5OiIlZCB5ZWFycyJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oc3R8bmR8cmR8dGgpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlKXt2YXIg''@;'; put 'put ''aGU9Z2UlMTA7cmV0dXJuIGdlKygxPT1+fihnZSUxMDAvMTApPyJ0aCI6MT09PWhlPyJzdCI6Mj09PWhlPyJuZCI6Mz09PWhlPyJyZCI6InRoIil9LHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDgwMjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmlj''@;'; put 'put ''dCI7Q2UuZGVmaW5lTG9jYWxlKCJlbyIse21vbnRoczoiamFudWFyb19mZWJydWFyb19tYXJ0b19hcHJpbG9fbWFqb19qdW5pb19qdWxpb19hXHUwMTZkZ3VzdG9fc2VwdGVtYnJvX29rdG9icm9fbm92ZW1icm9fZGVjZW1icm8iLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Imphbl9mZWJfbWFy''@;'; put 'put ''dF9hcHJfbWFqX2p1bl9qdWxfYVx1MDE2ZGdfc2VwdF9va3Rfbm92X2RlYyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiZGltYW5cdTAxMDlvX2x1bmRvX21hcmRvX21lcmtyZWRvX1x1MDEzNWFcdTAxNmRkb192ZW5kcmVkb19zYWJhdG8iLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiZGltX2x1''@;'; put 'put ''bl9tYXJkX21lcmtfXHUwMTM1YVx1MDE2ZF92ZW5fc2FiIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJkaV9sdV9tYV9tZV9cdTAxMzVhX3ZlX3NhIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IllZWVktTU0tREQiLExMOiJbbGFdIERb''@;'; put 'put ''LWFuIGRlXSBNTU1NLCBZWVlZIixMTEw6IltsYV0gRFstYW4gZGVdIE1NTU0sIFlZWVkgSEg6bW0iLExMTEw6ImRkZGRbbl0sIFtsYV0gRFstYW4gZGVdIE1NTU0sIFlZWVkgSEg6bW0iLGxsbGw6ImRkZCwgW2xhXSBEWy1hbiBkZV0gTU1NLCBZWVlZIEhIOm1tIn0sbWVyaWRpZW1QYXJzZTov''@;'; put 'put ''W2FwXVwudFwubS9pLGlzUE06ZnVuY3Rpb24oZ2Upe3JldHVybiJwIj09PWdlLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpfSxtZXJpZGllbTpmdW5jdGlvbihnZSxoZSxaKXtyZXR1cm4gZ2U+MTE/Wj8icC50Lm0uIjoiUC5ULk0uIjpaPyJhLnQubS4iOiJBLlQuTS4ifSxjYWxlbmRhcjp7c2Ft''@;'; put 'put ''ZURheToiW0hvZGlhXHUwMTZkIGplXSBMVCIsbmV4dERheToiW01vcmdhXHUwMTZkIGplXSBMVCIsbmV4dFdlZWs6ImRkZGRbbiBqZV0gTFQiLGxhc3REYXk6IltIaWVyYVx1MDE2ZCBqZV0gTFQiLGxhc3RXZWVrOiJbcGFzaW50YW5dIGRkZGRbbiBqZV0gTFQiLHNhbWVFbHNlOiJMIn0scmVs''@;'; put 'put ''YXRpdmVUaW1lOntmdXR1cmU6InBvc3QgJXMiLHBhc3Q6ImFudGFcdTAxNmQgJXMiLHM6ImtlbGthaiBzZWt1bmRvaiIsc3M6IiVkIHNla3VuZG9qIixtOiJ1bnUgbWludXRvIixtbToiJWQgbWludXRvaiIsaDoidW51IGhvcm8iLGhoOiIlZCBob3JvaiIsZDoidW51IHRhZ28iLGRkOiIlZCB0''@;'; put 'put ''YWdvaiIsTToidW51IG1vbmF0byIsTU06IiVkIG1vbmF0b2oiLHk6InVudSBqYXJvIix5eToiJWQgamFyb2oifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9YS8sb3JkaW5hbDoiJWRhIix3ZWVrOntkb3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSw1NTUxOmZ1bmN0aW9uKF90LEN0''@;'; put 'put ''LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ImVuZS5fZmViLl9tYXIuX2Fici5fbWF5Ll9qdW4uX2p1bC5fYWdvLl9zZXAuX29jdC5fbm92Ll9kaWMuIi5zcGxpdCgiXyIpLGdlPSJlbmVfZmViX21hcl9hYnJfbWF5X2p1bl9qdWxfYWdvX3NlcF9vY3Rfbm92X2RpYyIu''@;'; put 'put ''c3BsaXQoIl8iKSxoZT1bL15lbmUvaSwvXmZlYi9pLC9ebWFyL2ksL15hYnIvaSwvXm1heS9pLC9eanVuL2ksL15qdWwvaSwvXmFnby9pLC9ec2VwL2ksL15vY3QvaSwvXm5vdi9pLC9eZGljL2ldLFo9L14oZW5lcm98ZmVicmVyb3xtYXJ6b3xhYnJpbHxtYXlvfGp1bmlvfGp1bGlvfGFnb3N0''@;'; put 'put ''b3xzZXB0aWVtYnJlfG9jdHVicmV8bm92aWVtYnJlfGRpY2llbWJyZXxlbmVcLj98ZmViXC4/fG1hclwuP3xhYnJcLj98bWF5XC4/fGp1blwuP3xqdWxcLj98YWdvXC4/fHNlcFwuP3xvY3RcLj98bm92XC4/fGRpY1wuPykvaTtDZS5kZWZpbmVMb2NhbGUoImVzLWRvIix7bW9udGhzOiJlbmVy''@;'; put 'put ''b19mZWJyZXJvX21hcnpvX2FicmlsX21heW9fanVuaW9fanVsaW9fYWdvc3RvX3NlcHRpZW1icmVfb2N0dWJyZV9ub3ZpZW1icmVfZGljaWVtYnJlIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OmZ1bmN0aW9uKGosTil7cmV0dXJuIGo/Ly1NTU0tLy50ZXN0KE4pP2dlW2oubW9udGgoKV06b2Vb''@;'; put 'put ''ai5tb250aCgpXTpvZX0sbW9udGhzUmVnZXg6Wixtb250aHNTaG9ydFJlZ2V4OlosbW9udGhzU3RyaWN0UmVnZXg6L14oZW5lcm98ZmVicmVyb3xtYXJ6b3xhYnJpbHxtYXlvfGp1bmlvfGp1bGlvfGFnb3N0b3xzZXB0aWVtYnJlfG9jdHVicmV8bm92aWVtYnJlfGRpY2llbWJyZSkvaSxtb250''@;'; put 'put ''aHNTaG9ydFN0cmljdFJlZ2V4Oi9eKGVuZVwuP3xmZWJcLj98bWFyXC4/fGFiclwuP3xtYXlcLj98anVuXC4/fGp1bFwuP3xhZ29cLj98c2VwXC4/fG9jdFwuP3xub3ZcLj98ZGljXC4/KS9pLG1vbnRoc1BhcnNlOmhlLGxvbmdNb250aHNQYXJzZTpoZSxzaG9ydE1vbnRoc1BhcnNlOmhlLHdl''@;'; put 'put ''ZWtkYXlzOiJkb21pbmdvX2x1bmVzX21hcnRlc19taVx4ZTlyY29sZXNfanVldmVzX3ZpZXJuZXNfc1x4ZTFiYWRvIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRvbS5fbHVuLl9tYXIuX21pXHhlOS5fanVlLl92aWUuX3NceGUxYi4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46ImRvX2x1''@;'; put 'put ''X21hX21pX2p1X3ZpX3NceGUxIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6Img6bW0gQSIsTFRTOiJoOm1tOnNzIEEiLEw6IkREL01NL1lZWVkiLExMOiJEIFtkZV0gTU1NTSBbZGVdIFlZWVkiLExMTDoiRCBbZGVdIE1NTU0gW2RlXSBZWVlZ''@;'; put 'put ''IGg6bW0gQSIsTExMTDoiZGRkZCwgRCBbZGVdIE1NTU0gW2RlXSBZWVlZIGg6bW0gQSJ9LGNhbGVuZGFyOntzYW1lRGF5OmZ1bmN0aW9uKCl7cmV0dXJuIltob3kgYSBsYSIrKDEhPT10aGlzLmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LG5leHREYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW21hXHhm''@;'; put 'put ''MWFuYSBhIGxhIisoMSE9PXRoaXMuaG91cnMoKT8icyI6IiIpKyJdIExUIn0sbmV4dFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4iZGRkZCBbYSBsYSIrKDEhPT10aGlzLmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LGxhc3REYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW2F5ZXIgYSBsYSIrKDEhPT10aGlz''@;'; put 'put ''LmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIltlbF0gZGRkZCBbcGFzYWRvIGEgbGEiKygxIT09dGhpcy5ob3VycygpPyJzIjoiIikrIl0gTFQifSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJlbiAlcyIscGFzdDoiaGFjZSAl''@;'; put 'put ''cyIsczoidW5vcyBzZWd1bmRvcyIsc3M6IiVkIHNlZ3VuZG9zIixtOiJ1biBtaW51dG8iLG1tOiIlZCBtaW51dG9zIixoOiJ1bmEgaG9yYSIsaGg6IiVkIGhvcmFzIixkOiJ1biBkXHhlZGEiLGRkOiIlZCBkXHhlZGFzIix3OiJ1bmEgc2VtYW5hIix3dzoiJWQgc2VtYW5hcyIsTToidW4gbWVz''@;'; put 'put ''IixNTToiJWQgbWVzZXMiLHk6InVuIGFceGYxbyIseXk6IiVkIGFceGYxb3MifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XHhiYS8sb3JkaW5hbDoiJWRceGJhIix3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw1NjE1OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rp''@;'; put 'put ''b24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ImVuZS5fZmViLl9tYXIuX2Fici5fbWF5Ll9qdW4uX2p1bC5fYWdvLl9zZXAuX29jdC5fbm92Ll9kaWMuIi5zcGxpdCgiXyIpLGdlPSJlbmVfZmViX21hcl9hYnJfbWF5X2p1bl9qdWxfYWdvX3NlcF9vY3Rfbm92X2RpYyIuc3BsaXQoIl8iKSxo''@;'; put 'put ''ZT1bL15lbmUvaSwvXmZlYi9pLC9ebWFyL2ksL15hYnIvaSwvXm1heS9pLC9eanVuL2ksL15qdWwvaSwvXmFnby9pLC9ec2VwL2ksL15vY3QvaSwvXm5vdi9pLC9eZGljL2ldLFo9L14oZW5lcm98ZmVicmVyb3xtYXJ6b3xhYnJpbHxtYXlvfGp1bmlvfGp1bGlvfGFnb3N0b3xzZXB0aWVtYnJl''@;'; put 'put ''fG9jdHVicmV8bm92aWVtYnJlfGRpY2llbWJyZXxlbmVcLj98ZmViXC4/fG1hclwuP3xhYnJcLj98bWF5XC4/fGp1blwuP3xqdWxcLj98YWdvXC4/fHNlcFwuP3xvY3RcLj98bm92XC4/fGRpY1wuPykvaTtDZS5kZWZpbmVMb2NhbGUoImVzLW14Iix7bW9udGhzOiJlbmVyb19mZWJyZXJvX21h''@;'; put 'put ''cnpvX2FicmlsX21heW9fanVuaW9fanVsaW9fYWdvc3RvX3NlcHRpZW1icmVfb2N0dWJyZV9ub3ZpZW1icmVfZGljaWVtYnJlIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OmZ1bmN0aW9uKGosTil7cmV0dXJuIGo/Ly1NTU0tLy50ZXN0KE4pP2dlW2oubW9udGgoKV06b2Vbai5tb250aCgpXTpv''@;'; put 'put ''ZX0sbW9udGhzUmVnZXg6Wixtb250aHNTaG9ydFJlZ2V4OlosbW9udGhzU3RyaWN0UmVnZXg6L14oZW5lcm98ZmVicmVyb3xtYXJ6b3xhYnJpbHxtYXlvfGp1bmlvfGp1bGlvfGFnb3N0b3xzZXB0aWVtYnJlfG9jdHVicmV8bm92aWVtYnJlfGRpY2llbWJyZSkvaSxtb250aHNTaG9ydFN0cmlj''@;'; put 'put ''dFJlZ2V4Oi9eKGVuZVwuP3xmZWJcLj98bWFyXC4/fGFiclwuP3xtYXlcLj98anVuXC4/fGp1bFwuP3xhZ29cLj98c2VwXC4/fG9jdFwuP3xub3ZcLj98ZGljXC4/KS9pLG1vbnRoc1BhcnNlOmhlLGxvbmdNb250aHNQYXJzZTpoZSxzaG9ydE1vbnRoc1BhcnNlOmhlLHdlZWtkYXlzOiJkb21p''@;'; put 'put ''bmdvX2x1bmVzX21hcnRlc19taVx4ZTlyY29sZXNfanVldmVzX3ZpZXJuZXNfc1x4ZTFiYWRvIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRvbS5fbHVuLl9tYXIuX21pXHhlOS5fanVlLl92aWUuX3NceGUxYi4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46ImRvX2x1X21hX21pX2p1X3Zp''@;'; put 'put ''X3NceGUxIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6Ikg6bW0iLExUUzoiSDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgW2RlXSBNTU1NIFtkZV0gWVlZWSIsTExMOiJEIFtkZV0gTU1NTSBbZGVdIFlZWVkgSDptbSIsTExMTDoiZGRk''@;'; put 'put ''ZCwgRCBbZGVdIE1NTU0gW2RlXSBZWVlZIEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheTpmdW5jdGlvbigpe3JldHVybiJbaG95IGEgbGEiKygxIT09dGhpcy5ob3VycygpPyJzIjoiIikrIl0gTFQifSxuZXh0RGF5OmZ1bmN0aW9uKCl7cmV0dXJuIlttYVx4ZjFhbmEgYSBsYSIrKDEhPT10aGlz''@;'; put 'put ''LmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LG5leHRXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuImRkZGQgW2EgbGEiKygxIT09dGhpcy5ob3VycygpPyJzIjoiIikrIl0gTFQifSxsYXN0RGF5OmZ1bmN0aW9uKCl7cmV0dXJuIltheWVyIGEgbGEiKygxIT09dGhpcy5ob3VycygpPyJzIjoiIikrIl0g''@;'; put 'put ''TFQifSxsYXN0V2VlazpmdW5jdGlvbigpe3JldHVybiJbZWxdIGRkZGQgW3Bhc2FkbyBhIGxhIisoMSE9PXRoaXMuaG91cnMoKT8icyI6IiIpKyJdIExUIn0sc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiZW4gJXMiLHBhc3Q6ImhhY2UgJXMiLHM6InVub3Mgc2VndW5kb3Mi''@;'; put 'put ''LHNzOiIlZCBzZWd1bmRvcyIsbToidW4gbWludXRvIixtbToiJWQgbWludXRvcyIsaDoidW5hIGhvcmEiLGhoOiIlZCBob3JhcyIsZDoidW4gZFx4ZWRhIixkZDoiJWQgZFx4ZWRhcyIsdzoidW5hIHNlbWFuYSIsd3c6IiVkIHNlbWFuYXMiLE06InVuIG1lcyIsTU06IiVkIG1lc2VzIix5OiJ1''@;'; put 'put ''biBhXHhmMW8iLHl5OiIlZCBhXHhmMW9zIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVx4YmEvLG9yZGluYWw6IiVkXHhiYSIsd2Vlazp7ZG93OjAsZG95OjR9LGludmFsaWREYXRlOiJGZWNoYSBpbnZceGUxbGlkYSJ9KX0oRmUoNjczOCkpfSw0NzkwOmZ1bmN0aW9uKF90LEN0''@;'; put 'put ''LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ImVuZS5fZmViLl9tYXIuX2Fici5fbWF5Ll9qdW4uX2p1bC5fYWdvLl9zZXAuX29jdC5fbm92Ll9kaWMuIi5zcGxpdCgiXyIpLGdlPSJlbmVfZmViX21hcl9hYnJfbWF5X2p1bl9qdWxfYWdvX3NlcF9vY3Rfbm92X2RpYyIu''@;'; put 'put ''c3BsaXQoIl8iKSxoZT1bL15lbmUvaSwvXmZlYi9pLC9ebWFyL2ksL15hYnIvaSwvXm1heS9pLC9eanVuL2ksL15qdWwvaSwvXmFnby9pLC9ec2VwL2ksL15vY3QvaSwvXm5vdi9pLC9eZGljL2ldLFo9L14oZW5lcm98ZmVicmVyb3xtYXJ6b3xhYnJpbHxtYXlvfGp1bmlvfGp1bGlvfGFnb3N0''@;'; put 'put ''b3xzZXB0aWVtYnJlfG9jdHVicmV8bm92aWVtYnJlfGRpY2llbWJyZXxlbmVcLj98ZmViXC4/fG1hclwuP3xhYnJcLj98bWF5XC4/fGp1blwuP3xqdWxcLj98YWdvXC4/fHNlcFwuP3xvY3RcLj98bm92XC4/fGRpY1wuPykvaTtDZS5kZWZpbmVMb2NhbGUoImVzLXVzIix7bW9udGhzOiJlbmVy''@;'; put 'put ''b19mZWJyZXJvX21hcnpvX2FicmlsX21heW9fanVuaW9fanVsaW9fYWdvc3RvX3NlcHRpZW1icmVfb2N0dWJyZV9ub3ZpZW1icmVfZGljaWVtYnJlIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OmZ1bmN0aW9uKGosTil7cmV0dXJuIGo/Ly1NTU0tLy50ZXN0KE4pP2dlW2oubW9udGgoKV06b2Vb''@;'; put 'put ''ai5tb250aCgpXTpvZX0sbW9udGhzUmVnZXg6Wixtb250aHNTaG9ydFJlZ2V4OlosbW9udGhzU3RyaWN0UmVnZXg6L14oZW5lcm98ZmVicmVyb3xtYXJ6b3xhYnJpbHxtYXlvfGp1bmlvfGp1bGlvfGFnb3N0b3xzZXB0aWVtYnJlfG9jdHVicmV8bm92aWVtYnJlfGRpY2llbWJyZSkvaSxtb250''@;'; put 'put ''aHNTaG9ydFN0cmljdFJlZ2V4Oi9eKGVuZVwuP3xmZWJcLj98bWFyXC4/fGFiclwuP3xtYXlcLj98anVuXC4/fGp1bFwuP3xhZ29cLj98c2VwXC4/fG9jdFwuP3xub3ZcLj98ZGljXC4/KS9pLG1vbnRoc1BhcnNlOmhlLGxvbmdNb250aHNQYXJzZTpoZSxzaG9ydE1vbnRoc1BhcnNlOmhlLHdl''@;'; put 'put ''ZWtkYXlzOiJkb21pbmdvX2x1bmVzX21hcnRlc19taVx4ZTlyY29sZXNfanVldmVzX3ZpZXJuZXNfc1x4ZTFiYWRvIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRvbS5fbHVuLl9tYXIuX21pXHhlOS5fanVlLl92aWUuX3NceGUxYi4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46ImRvX2x1''@;'; put 'put ''X21hX21pX2p1X3ZpX3NceGUxIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6Img6bW0gQSIsTFRTOiJoOm1tOnNzIEEiLEw6Ik1NL0REL1lZWVkiLExMOiJEIFtkZV0gTU1NTSBbZGVdIFlZWVkiLExMTDoiRCBbZGVdIE1NTU0gW2RlXSBZWVlZ''@;'; put 'put ''IGg6bW0gQSIsTExMTDoiZGRkZCwgRCBbZGVdIE1NTU0gW2RlXSBZWVlZIGg6bW0gQSJ9LGNhbGVuZGFyOntzYW1lRGF5OmZ1bmN0aW9uKCl7cmV0dXJuIltob3kgYSBsYSIrKDEhPT10aGlzLmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LG5leHREYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW21hXHhm''@;'; put 'put ''MWFuYSBhIGxhIisoMSE9PXRoaXMuaG91cnMoKT8icyI6IiIpKyJdIExUIn0sbmV4dFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4iZGRkZCBbYSBsYSIrKDEhPT10aGlzLmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LGxhc3REYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW2F5ZXIgYSBsYSIrKDEhPT10aGlz''@;'; put 'put ''LmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIltlbF0gZGRkZCBbcGFzYWRvIGEgbGEiKygxIT09dGhpcy5ob3VycygpPyJzIjoiIikrIl0gTFQifSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJlbiAlcyIscGFzdDoiaGFjZSAl''@;'; put 'put ''cyIsczoidW5vcyBzZWd1bmRvcyIsc3M6IiVkIHNlZ3VuZG9zIixtOiJ1biBtaW51dG8iLG1tOiIlZCBtaW51dG9zIixoOiJ1bmEgaG9yYSIsaGg6IiVkIGhvcmFzIixkOiJ1biBkXHhlZGEiLGRkOiIlZCBkXHhlZGFzIix3OiJ1bmEgc2VtYW5hIix3dzoiJWQgc2VtYW5hcyIsTToidW4gbWVz''@;'; put 'put ''IixNTToiJWQgbWVzZXMiLHk6InVuIGFceGYxbyIseXk6IiVkIGFceGYxb3MifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XHhiYS8sb3JkaW5hbDoiJWRceGJhIix3ZWVrOntkb3c6MCxkb3k6Nn19KX0oRmUoNjczOCkpfSwzMjg6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlv''@;'; put 'put ''bihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT0iZW5lLl9mZWIuX21hci5fYWJyLl9tYXkuX2p1bi5fanVsLl9hZ28uX3NlcC5fb2N0Ll9ub3YuX2RpYy4iLnNwbGl0KCJfIiksZ2U9ImVuZV9mZWJfbWFyX2Ficl9tYXlfanVuX2p1bF9hZ29fc2VwX29jdF9ub3ZfZGljIi5zcGxpdCgiXyIpLGhl''@;'; put 'put ''PVsvXmVuZS9pLC9eZmViL2ksL15tYXIvaSwvXmFici9pLC9ebWF5L2ksL15qdW4vaSwvXmp1bC9pLC9eYWdvL2ksL15zZXAvaSwvXm9jdC9pLC9ebm92L2ksL15kaWMvaV0sWj0vXihlbmVyb3xmZWJyZXJvfG1hcnpvfGFicmlsfG1heW98anVuaW98anVsaW98YWdvc3RvfHNlcHRpZW1icmV8''@;'; put 'put ''b2N0dWJyZXxub3ZpZW1icmV8ZGljaWVtYnJlfGVuZVwuP3xmZWJcLj98bWFyXC4/fGFiclwuP3xtYXlcLj98anVuXC4/fGp1bFwuP3xhZ29cLj98c2VwXC4/fG9jdFwuP3xub3ZcLj98ZGljXC4/KS9pO0NlLmRlZmluZUxvY2FsZSgiZXMiLHttb250aHM6ImVuZXJvX2ZlYnJlcm9fbWFyem9f''@;'; put 'put ''YWJyaWxfbWF5b19qdW5pb19qdWxpb19hZ29zdG9fc2VwdGllbWJyZV9vY3R1YnJlX25vdmllbWJyZV9kaWNpZW1icmUiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6ZnVuY3Rpb24oaixOKXtyZXR1cm4gaj8vLU1NTS0vLnRlc3QoTik/Z2Vbai5tb250aCgpXTpvZVtqLm1vbnRoKCldOm9lfSxt''@;'; put 'put ''b250aHNSZWdleDpaLG1vbnRoc1Nob3J0UmVnZXg6Wixtb250aHNTdHJpY3RSZWdleDovXihlbmVyb3xmZWJyZXJvfG1hcnpvfGFicmlsfG1heW98anVuaW98anVsaW98YWdvc3RvfHNlcHRpZW1icmV8b2N0dWJyZXxub3ZpZW1icmV8ZGljaWVtYnJlKS9pLG1vbnRoc1Nob3J0U3RyaWN0UmVn''@;'; put 'put ''ZXg6L14oZW5lXC4/fGZlYlwuP3xtYXJcLj98YWJyXC4/fG1heVwuP3xqdW5cLj98anVsXC4/fGFnb1wuP3xzZXBcLj98b2N0XC4/fG5vdlwuP3xkaWNcLj8pL2ksbW9udGhzUGFyc2U6aGUsbG9uZ01vbnRoc1BhcnNlOmhlLHNob3J0TW9udGhzUGFyc2U6aGUsd2Vla2RheXM6ImRvbWluZ29f''@;'; put 'put ''bHVuZXNfbWFydGVzX21pXHhlOXJjb2xlc19qdWV2ZXNfdmllcm5lc19zXHhlMWJhZG8iLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiZG9tLl9sdW4uX21hci5fbWlceGU5Ll9qdWUuX3ZpZS5fc1x4ZTFiLiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiZG9fbHVfbWFfbWlfanVfdmlfc1x4''@;'; put 'put ''ZTEiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBbZGVdIE1NTU0gW2RlXSBZWVlZIixMTEw6IkQgW2RlXSBNTU1NIFtkZV0gWVlZWSBIOm1tIixMTExMOiJkZGRkLCBE''@;'; put 'put ''IFtkZV0gTU1NTSBbZGVdIFlZWVkgSDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OmZ1bmN0aW9uKCl7cmV0dXJuIltob3kgYSBsYSIrKDEhPT10aGlzLmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LG5leHREYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW21hXHhmMWFuYSBhIGxhIisoMSE9PXRoaXMuaG91''@;'; put 'put ''cnMoKT8icyI6IiIpKyJdIExUIn0sbmV4dFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4iZGRkZCBbYSBsYSIrKDEhPT10aGlzLmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9LGxhc3REYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW2F5ZXIgYSBsYSIrKDEhPT10aGlzLmhvdXJzKCk/InMiOiIiKSsiXSBMVCJ9''@;'; put 'put ''LGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIltlbF0gZGRkZCBbcGFzYWRvIGEgbGEiKygxIT09dGhpcy5ob3VycygpPyJzIjoiIikrIl0gTFQifSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJlbiAlcyIscGFzdDoiaGFjZSAlcyIsczoidW5vcyBzZWd1bmRvcyIsc3M6''@;'; put 'put ''IiVkIHNlZ3VuZG9zIixtOiJ1biBtaW51dG8iLG1tOiIlZCBtaW51dG9zIixoOiJ1bmEgaG9yYSIsaGg6IiVkIGhvcmFzIixkOiJ1biBkXHhlZGEiLGRkOiIlZCBkXHhlZGFzIix3OiJ1bmEgc2VtYW5hIix3dzoiJWQgc2VtYW5hcyIsTToidW4gbWVzIixNTToiJWQgbWVzZXMiLHk6InVuIGFc''@;'; put 'put ''eGYxbyIseXk6IiVkIGFceGYxb3MifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XHhiYS8sb3JkaW5hbDoiJWRceGJhIix3ZWVrOntkb3c6MSxkb3k6NH0saW52YWxpZERhdGU6IkZlY2hhIGludlx4ZTFsaWRhIn0pfShGZSg2NzM4KSl9LDYzODk6ZnVuY3Rpb24oX3QsQ3QsRmUp''@;'; put 'put ''eyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG9lKGhlLFosQSxqKXt2YXIgTj17czpbIm1ceGY1bmUgc2VrdW5kaSIsIm1ceGY1bmkgc2VrdW5kIiwicGFhciBzZWt1bmRpdCJdLHNzOltoZSsic2VrdW5kaSIsaGUrInNla3VuZGl0Il0sbTpbIlx4ZmNoZSBtaW51dGkiLCJc''@;'; put 'put ''eGZja3MgbWludXQiXSxtbTpbaGUrIiBtaW51dGkiLGhlKyIgbWludXRpdCJdLGg6WyJceGZjaGUgdHVubmkiLCJ0dW5kIGFlZ2EiLCJceGZja3MgdHVuZCJdLGhoOltoZSsiIHR1bm5pIixoZSsiIHR1bmRpIl0sZDpbIlx4ZmNoZSBwXHhlNGV2YSIsIlx4ZmNrcyBwXHhlNGV2Il0sTTpbImt1''@;'; put 'put ''dSBhamEiLCJrdXUgYWVnYSIsIlx4ZmNrcyBrdXUiXSxNTTpbaGUrIiBrdXUiLGhlKyIga3V1ZCJdLHk6WyJceGZjaGUgYWFzdGEiLCJhYXN0YSIsIlx4ZmNrcyBhYXN0YSJdLHl5OltoZSsiIGFhc3RhIixoZSsiIGFhc3RhdCJdfTtyZXR1cm4gWj9OW0FdWzJdP05bQV1bMl06TltBXVsxXTpq''@;'; put 'put ''P05bQV1bMF06TltBXVsxXX1DZS5kZWZpbmVMb2NhbGUoImV0Iix7bW9udGhzOiJqYWFudWFyX3ZlZWJydWFyX21ceGU0cnRzX2FwcmlsbF9tYWlfanV1bmlfanV1bGlfYXVndXN0X3NlcHRlbWJlcl9va3Rvb2Jlcl9ub3ZlbWJlcl9kZXRzZW1iZXIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6''@;'; put 'put ''ImphYW5fdmVlYnJfbVx4ZTRydHNfYXByX21haV9qdXVuaV9qdXVsaV9hdWdfc2VwdF9va3Rfbm92X2RldHMiLnNwbGl0KCJfIiksd2Vla2RheXM6InBceGZjaGFwXHhlNGV2X2VzbWFzcFx4ZTRldl90ZWlzaXBceGU0ZXZfa29sbWFwXHhlNGV2X25lbGphcFx4ZTRldl9yZWVkZV9sYXVwXHhl''@;'; put 'put ''NGV2Ii5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IlBfRV9UX0tfTl9SX0wiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46IlBfRV9UX0tfTl9SX0wiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJIOm1tIixMVFM6Ikg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJELiBNTU1NIFlZ''@;'; put 'put ''WVkiLExMTDoiRC4gTU1NTSBZWVlZIEg6bW0iLExMTEw6ImRkZGQsIEQuIE1NTU0gWVlZWSBIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltUXHhlNG5hLF0gTFQiLG5leHREYXk6IltIb21tZSxdIExUIixuZXh0V2VlazoiW0pceGU0cmdtaW5lXSBkZGRkIExUIixsYXN0RGF5OiJbRWlsZSxd''@;'; put 'put ''IExUIixsYXN0V2VlazoiW0VlbG1pbmVdIGRkZGQgTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIHBceGU0cmFzdCIscGFzdDoiJXMgdGFnYXNpIixzOm9lLHNzOm9lLG06b2UsbW06b2UsaDpvZSxoaDpvZSxkOm9lLGRkOiIlZCBwXHhlNGV2YSIsTTpvZSxNTTpv''@;'; put 'put ''ZSx5Om9lLHl5Om9lfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMjk2MTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJl''@;'; put 'put ''dSIse21vbnRoczoidXJ0YXJyaWxhX290c2FpbGFfbWFydHhvYV9hcGlyaWxhX21haWF0emFfZWthaW5hX3V6dGFpbGFfYWJ1enR1YV9pcmFpbGFfdXJyaWFfYXphcm9hX2FiZW5kdWEiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6InVydC5fb3RzLl9tYXIuX2FwaS5fbWFpLl9la2EuX3V6dC5f''@;'; put 'put ''YWJ1Ll9pcmEuX3Vyci5fYXphLl9hYmUuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6ImlnYW5kZWFfYXN0ZWxlaGVuYV9hc3RlYXJ0ZWFfYXN0ZWF6a2VuYV9vc3RlZ3VuYV9vc3RpcmFsYV9sYXJ1bmJhdGEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiaWcu''@;'; put 'put ''X2FsLl9hci5fYXouX29nLl9vbC5fbHIuIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJpZ19hbF9hcl9hel9vZ19vbF9sciIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiWVlZWS1NTS1ERCIsTEw6''@;'; put 'put ''IllZWVlba29dIE1NTU1bcmVuXSBEW2FdIixMTEw6IllZWVlba29dIE1NTU1bcmVuXSBEW2FdIEhIOm1tIixMTExMOiJkZGRkLCBZWVlZW2tvXSBNTU1NW3Jlbl0gRFthXSBISDptbSIsbDoiWVlZWS1NLUQiLGxsOiJZWVlZW2tvXSBNTU0gRFthXSIsbGxsOiJZWVlZW2tvXSBNTU0gRFthXSBI''@;'; put 'put ''SDptbSIsbGxsbDoiZGRkLCBZWVlZW2tvXSBNTU0gRFthXSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbZ2F1cl0gTFRbZXRhbl0iLG5leHREYXk6IltiaWhhcl0gTFRbZXRhbl0iLG5leHRXZWVrOiJkZGRkIExUW2V0YW5dIixsYXN0RGF5OiJbYXR6b10gTFRbZXRhbl0iLGxhc3RXZWVr''@;'; put 'put ''OiJbYXVycmVrb10gZGRkZCBMVFtldGFuXSIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgYmFycnUiLHBhc3Q6ImR1ZWxhICVzIixzOiJzZWd1bmRvIGJhdHp1ayIsc3M6IiVkIHNlZ3VuZG8iLG06Im1pbnV0dSBiYXQiLG1tOiIlZCBtaW51dHUiLGg6Im9yZHUgYmF0''@;'; put 'put ''IixoaDoiJWQgb3JkdSIsZDoiZWd1biBiYXQiLGRkOiIlZCBlZ3VuIixNOiJoaWxhYmV0ZSBiYXQiLE1NOiIlZCBoaWxhYmV0ZSIseToidXJ0ZSBiYXQiLHl5OiIlZCB1cnRlIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRv''@;'; put 'put ''eTo3fX0pfShGZSg2NzM4KSl9LDYxNTE6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MToiXHUwNmYxIiwyOiJcdTA2ZjIiLDM6Ilx1MDZmMyIsNDoiXHUwNmY0Iiw1OiJcdTA2ZjUiLDY6Ilx1MDZmNiIsNzoiXHUwNmY3Iiw4OiJcdTA2Zjgi''@;'; put 'put ''LDk6Ilx1MDZmOSIsMDoiXHUwNmYwIn0sZ2U9eyJcdTA2ZjEiOiIxIiwiXHUwNmYyIjoiMiIsIlx1MDZmMyI6IjMiLCJcdTA2ZjQiOiI0IiwiXHUwNmY1IjoiNSIsIlx1MDZmNiI6IjYiLCJcdTA2ZjciOiI3IiwiXHUwNmY4IjoiOCIsIlx1MDZmOSI6IjkiLCJcdTA2ZjAiOiIwIn07Q2UuZGVm''@;'; put 'put ''aW5lTG9jYWxlKCJmYSIse21vbnRoczoiXHUwNjk4XHUwNjI3XHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjQ3X1x1MDY0MVx1MDY0OFx1MDYzMVx1MDZjY1x1MDY0N19cdTA2NDVcdTA2MjdcdTA2MzFcdTA2MzNfXHUwNjIyXHUwNjQ4XHUwNjMxXHUwNmNjXHUwNjQ0X1x1MDY0NVx1MDY0N19cdTA2''@;'; put 'put ''OThcdTA2NDhcdTA2MjZcdTA2NDZfXHUwNjk4XHUwNjQ4XHUwNjI2XHUwNmNjXHUwNjQ3X1x1MDYyN1x1MDY0OFx1MDYyYV9cdTA2MzNcdTA2N2VcdTA2MmFcdTA2MjdcdTA2NDVcdTA2MjhcdTA2MzFfXHUwNjI3XHUwNmE5XHUwNjJhXHUwNjI4XHUwNjMxX1x1MDY0Nlx1MDY0OFx1MDYyN1x1''@;'; put 'put ''MDY0NVx1MDYyOFx1MDYzMV9cdTA2MmZcdTA2MzNcdTA2MjdcdTA2NDVcdTA2MjhcdTA2MzEiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MDY5OFx1MDYyN1x1MDY0Nlx1MDY0OFx1MDZjY1x1MDY0N19cdTA2NDFcdTA2NDhcdTA2MzFcdTA2Y2NcdTA2NDdfXHUwNjQ1XHUwNjI3XHUwNjMx''@;'; put 'put ''XHUwNjMzX1x1MDYyMlx1MDY0OFx1MDYzMVx1MDZjY1x1MDY0NF9cdTA2NDVcdTA2NDdfXHUwNjk4XHUwNjQ4XHUwNjI2XHUwNjQ2X1x1MDY5OFx1MDY0OFx1MDYyNlx1MDZjY1x1MDY0N19cdTA2MjdcdTA2NDhcdTA2MmFfXHUwNjMzXHUwNjdlXHUwNjJhXHUwNjI3XHUwNjQ1XHUwNjI4XHUw''@;'; put 'put ''NjMxX1x1MDYyN1x1MDZhOVx1MDYyYVx1MDYyOFx1MDYzMV9cdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDVcdTA2MjhcdTA2MzFfXHUwNjJmXHUwNjMzXHUwNjI3XHUwNjQ1XHUwNjI4XHUwNjMxIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTA2Y2NcdTA2YTlcdTIwMGNcdTA2MzRcdTA2NDZcdTA2''@;'; put 'put ''MjhcdTA2NDdfXHUwNjJmXHUwNjQ4XHUwNjM0XHUwNjQ2XHUwNjI4XHUwNjQ3X1x1MDYzM1x1MDY0N1x1MjAwY1x1MDYzNFx1MDY0Nlx1MDYyOFx1MDY0N19cdTA2ODZcdTA2NDdcdTA2MjdcdTA2MzFcdTA2MzRcdTA2NDZcdTA2MjhcdTA2NDdfXHUwNjdlXHUwNjQ2XHUwNjJjXHUyMDBjXHUw''@;'; put 'put ''NjM0XHUwNjQ2XHUwNjI4XHUwNjQ3X1x1MDYyY1x1MDY0NVx1MDYzOVx1MDY0N19cdTA2MzRcdTA2NDZcdTA2MjhcdTA2NDciLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwNmNjXHUwNmE5XHUyMDBjXHUwNjM0XHUwNjQ2XHUwNjI4XHUwNjQ3X1x1MDYyZlx1MDY0OFx1MDYzNFx1MDY0''@;'; put 'put ''Nlx1MDYyOFx1MDY0N19cdTA2MzNcdTA2NDdcdTIwMGNcdTA2MzRcdTA2NDZcdTA2MjhcdTA2NDdfXHUwNjg2XHUwNjQ3XHUwNjI3XHUwNjMxXHUwNjM0XHUwNjQ2XHUwNjI4XHUwNjQ3X1x1MDY3ZVx1MDY0Nlx1MDYyY1x1MjAwY1x1MDYzNFx1MDY0Nlx1MDYyOFx1MDY0N19cdTA2MmNcdTA2''@;'; put 'put ''NDVcdTA2MzlcdTA2NDdfXHUwNjM0XHUwNjQ2XHUwNjI4XHUwNjQ3Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTA2Y2NfXHUwNjJmX1x1MDYzM19cdTA2ODZfXHUwNjdlX1x1MDYyY19cdTA2MzQiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntM''@;'; put 'put ''VDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxtZXJpZGllbVBhcnNlOi9cdTA2NDJcdTA2MjhcdTA2NDQgXHUwNjI3XHUwNjMyIFx1MDYz''@;'; put 'put ''OFx1MDY0N1x1MDYzMXxcdTA2MjhcdTA2MzlcdTA2MmYgXHUwNjI3XHUwNjMyIFx1MDYzOFx1MDY0N1x1MDYzMS8saXNQTTpmdW5jdGlvbihaKXtyZXR1cm4vXHUwNjI4XHUwNjM5XHUwNjJmIFx1MDYyN1x1MDYzMiBcdTA2MzhcdTA2NDdcdTA2MzEvLnRlc3QoWil9LG1lcmlkaWVtOmZ1bmN0''@;'; put 'put ''aW9uKFosQSxqKXtyZXR1cm4gWjwxMj8iXHUwNjQyXHUwNjI4XHUwNjQ0IFx1MDYyN1x1MDYzMiBcdTA2MzhcdTA2NDdcdTA2MzEiOiJcdTA2MjhcdTA2MzlcdTA2MmYgXHUwNjI3XHUwNjMyIFx1MDYzOFx1MDY0N1x1MDYzMSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNjI3XHUwNjQ1XHUw''@;'; put 'put ''NjMxXHUwNjQ4XHUwNjMyIFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyYV0gTFQiLG5leHREYXk6IltcdTA2NDFcdTA2MzFcdTA2MmZcdTA2MjcgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhXSBMVCIsbmV4dFdlZWs6ImRkZGQgW1x1MDYzM1x1MDYyN1x1MDYzOVx1MDYyYV0gTFQiLGxhc3REYXk6''@;'; put 'put ''IltcdTA2MmZcdTA2Y2NcdTA2MzFcdTA2NDhcdTA2MzIgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhXSBMVCIsbGFzdFdlZWs6ImRkZGQgW1x1MDY3ZVx1MDZjY1x1MDYzNF0gW1x1MDYzM1x1MDYyN1x1MDYzOVx1MDYyYV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6''@;'; put 'put ''Ilx1MDYyZlx1MDYzMSAlcyIscGFzdDoiJXMgXHUwNjdlXHUwNmNjXHUwNjM0IixzOiJcdTA2ODZcdTA2NDZcdTA2MmYgXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNmNjXHUwNjQ3IixzczoiJWQgXHUwNjJiXHUwNjI3XHUwNjQ2XHUwNmNjXHUwNjQ3IixtOiJcdTA2Y2NcdTA2YTkgXHUwNjJmXHUw''@;'; put 'put ''NjQyXHUwNmNjXHUwNjQyXHUwNjQ3IixtbToiJWQgXHUwNjJmXHUwNjQyXHUwNmNjXHUwNjQyXHUwNjQ3IixoOiJcdTA2Y2NcdTA2YTkgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhIixoaDoiJWQgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhIixkOiJcdTA2Y2NcdTA2YTkgXHUwNjMxXHUwNjQ4''@;'; put 'put ''XHUwNjMyIixkZDoiJWQgXHUwNjMxXHUwNjQ4XHUwNjMyIixNOiJcdTA2Y2NcdTA2YTkgXHUwNjQ1XHUwNjI3XHUwNjQ3IixNTToiJWQgXHUwNjQ1XHUwNjI3XHUwNjQ3Iix5OiJcdTA2Y2NcdTA2YTkgXHUwNjMzXHUwNjI3XHUwNjQ0Iix5eToiJWQgXHUwNjMzXHUwNjI3XHUwNjQ0In0scHJl''@;'; put 'put ''cGFyc2U6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvW1x1MDZmMC1cdTA2ZjldL2csZnVuY3Rpb24oQSl7cmV0dXJuIGdlW0FdfSkucmVwbGFjZSgvXHUwNjBjL2csIiwiKX0scG9zdGZvcm1hdDpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC9cZC9nLGZ1bmN0aW9uKEEpe3Jl''@;'; put 'put ''dHVybiBvZVtBXX0pLnJlcGxhY2UoLywvZywiXHUwNjBjIil9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1cdTA2NDUvLG9yZGluYWw6IiVkXHUwNjQ1Iix3ZWVrOntkb3c6Nixkb3k6MTJ9fSl9KEZlKDY3MzgpKX0sNzk5NzpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENl''@;'; put 'put ''KXsidXNlIHN0cmljdCI7dmFyIG9lPSJub2xsYSB5a3NpIGtha3NpIGtvbG1lIG5lbGpceGU0IHZpaXNpIGt1dXNpIHNlaXRzZW1ceGU0biBrYWhkZWtzYW4geWhkZWtzXHhlNG4iLnNwbGl0KCIgIiksZ2U9WyJub2xsYSIsInloZGVuIiwia2FoZGVuIiwia29sbWVuIiwibmVsalx4ZTRuIiwi''@;'; put 'put ''dmlpZGVuIiwia3V1ZGVuIixvZVs3XSxvZVs4XSxvZVs5XV07ZnVuY3Rpb24gaGUoaixOLHosQyl7dmFyIFM9IiI7c3dpdGNoKHope2Nhc2UicyI6cmV0dXJuIEM/Im11dXRhbWFuIHNla3VubmluIjoibXV1dGFtYSBzZWt1bnRpIjtjYXNlInNzIjpTPUM/InNla3VubmluIjoic2VrdW50aWEi''@;'; put 'put ''O2JyZWFrO2Nhc2UibSI6cmV0dXJuIEM/Im1pbnV1dGluIjoibWludXV0dGkiO2Nhc2UibW0iOlM9Qz8ibWludXV0aW4iOiJtaW51dXR0aWEiO2JyZWFrO2Nhc2UiaCI6cmV0dXJuIEM/InR1bm5pbiI6InR1bnRpIjtjYXNlImhoIjpTPUM/InR1bm5pbiI6InR1bnRpYSI7YnJlYWs7Y2FzZSJk''@;'; put 'put ''IjpyZXR1cm4gQz8icFx4ZTRpdlx4ZTRuIjoicFx4ZTRpdlx4ZTQiO2Nhc2UiZGQiOlM9Qz8icFx4ZTRpdlx4ZTRuIjoicFx4ZTRpdlx4ZTRceGU0IjticmVhaztjYXNlIk0iOnJldHVybiBDPyJrdXVrYXVkZW4iOiJrdXVrYXVzaSI7Y2FzZSJNTSI6Uz1DPyJrdXVrYXVkZW4iOiJrdXVrYXV0''@;'; put 'put ''dGEiO2JyZWFrO2Nhc2UieSI6cmV0dXJuIEM/InZ1b2RlbiI6InZ1b3NpIjtjYXNlInl5IjpTPUM/InZ1b2RlbiI6InZ1b3R0YSJ9cmV0dXJuIGZ1bmN0aW9uIFooaixOKXtyZXR1cm4gajwxMD9OP2dlW2pdOm9lW2pdOmp9KGosQykrIiAiK1N9Q2UuZGVmaW5lTG9jYWxlKCJmaSIse21vbnRo''@;'; put 'put ''czoidGFtbWlrdXVfaGVsbWlrdXVfbWFhbGlza3V1X2h1aHRpa3V1X3RvdWtva3V1X2tlc1x4ZTRrdXVfaGVpblx4ZTRrdXVfZWxva3V1X3N5eXNrdXVfbG9rYWt1dV9tYXJyYXNrdXVfam91bHVrdXUiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6InRhbW1pX2hlbG1pX21hYWxpc19odWh0aV90''@;'; put 'put ''b3Vrb19rZXNceGU0X2hlaW5ceGU0X2Vsb19zeXlzX2xva2FfbWFycmFzX2pvdWx1Ii5zcGxpdCgiXyIpLHdlZWtkYXlzOiJzdW5udW50YWlfbWFhbmFudGFpX3RpaXN0YWlfa2Vza2l2aWlra29fdG9yc3RhaV9wZXJqYW50YWlfbGF1YW50YWkiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoi''@;'; put 'put ''c3VfbWFfdGlfa2VfdG9fcGVfbGEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46InN1X21hX3RpX2tlX3RvX3BlX2xhIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEgubW0iLExUUzoiSEgubW0uc3MiLEw6IkRELk1NLllZWVkiLExMOiJEbyBNTU1NW3RhXSBZWVlZIixMTEw6IkRv''@;'; put 'put ''IE1NTU1bdGFdIFlZWVksIFtrbG9dIEhILm1tIixMTExMOiJkZGRkLCBEbyBNTU1NW3RhXSBZWVlZLCBba2xvXSBISC5tbSIsbDoiRC5NLllZWVkiLGxsOiJEbyBNTU0gWVlZWSIsbGxsOiJEbyBNTU0gWVlZWSwgW2tsb10gSEgubW0iLGxsbGw6ImRkZCwgRG8gTU1NIFlZWVksIFtrbG9dIEhI''@;'; put 'put ''Lm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6Ilt0XHhlNG5ceGU0XHhlNG5dIFtrbG9dIExUIixuZXh0RGF5OiJbaHVvbWVubmFdIFtrbG9dIExUIixuZXh0V2VlazoiZGRkZCBba2xvXSBMVCIsbGFzdERheToiW2VpbGVuXSBba2xvXSBMVCIsbGFzdFdlZWs6Ilt2aWltZV0gZGRkZFtuYV0gW2ts''@;'; put 'put ''b10gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIHBceGU0XHhlNHN0XHhlNCIscGFzdDoiJXMgc2l0dGVuIixzOmhlLHNzOmhlLG06aGUsbW06aGUsaDpoZSxoaDpoZSxkOmhlLGRkOmhlLE06aGUsTU06aGUseTpoZSx5eTpoZX0sZGF5T2ZNb250aE9yZGluYWxQ''@;'; put 'put ''YXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDg4OTg6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiZmlsIix7bW9udGhzOiJFbmVyb19QZWJyZXJvX01hcnNv''@;'; put 'put ''X0FicmlsX01heW9fSHVueW9fSHVseW9fQWdvc3RvX1NldHllbWJyZV9Pa3R1YnJlX05vYnllbWJyZV9EaXN5ZW1icmUiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6IkVuZV9QZWJfTWFyX0Ficl9NYXlfSHVuX0h1bF9BZ29fU2V0X09rdF9Ob2JfRGlzIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJM''@;'; put 'put ''aW5nZ29fTHVuZXNfTWFydGVzX01peWVya3VsZXNfSHV3ZWJlc19CaXllcm5lc19TYWJhZG8iLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiTGluX0x1bl9NYXJfTWl5X0h1d19CaXlfU2FiIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJMaV9MdV9NYV9NaV9IdV9CaV9TYWIiLnNwbGl0KCJf''@;'; put 'put ''IiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiTU0vRC9ZWVlZIixMTDoiTU1NTSBELCBZWVlZIixMTEw6Ik1NTU0gRCwgWVlZWSBISDptbSIsTExMTDoiZGRkZCwgTU1NTSBERCwgWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJMVCBbbmdheW9u''@;'; put 'put ''ZyBhcmF3XSIsbmV4dERheToiW0J1a2FzIG5nXSBMVCIsbmV4dFdlZWs6IkxUIFtzYSBzdXN1bm9kIG5hXSBkZGRkIixsYXN0RGF5OiJMVCBba2FoYXBvbl0iLGxhc3RXZWVrOiJMVCBbbm9vbmcgbmFrYXJhYW5nXSBkZGRkIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJz''@;'; put 'put ''YSBsb29iIG5nICVzIixwYXN0OiIlcyBhbmcgbmFrYWxpcGFzIixzOiJpbGFuZyBzZWd1bmRvIixzczoiJWQgc2VndW5kbyIsbToiaXNhbmcgbWludXRvIixtbToiJWQgbWludXRvIixoOiJpc2FuZyBvcmFzIixoaDoiJWQgb3JhcyIsZDoiaXNhbmcgYXJhdyIsZGQ6IiVkIGFyYXciLE06Imlz''@;'; put 'put ''YW5nIGJ1d2FuIixNTToiJWQgYnV3YW4iLHk6ImlzYW5nIHRhb24iLHl5OiIlZCB0YW9uIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7cmV0dXJuIGdlfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw3Nzc5OmZ1bmN0aW9u''@;'; put 'put ''KF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImZvIix7bW9udGhzOiJqYW51YXJfZmVicnVhcl9tYXJzX2Fwclx4ZWRsX21haV9qdW5pX2p1bGlfYXVndXN0X3NlcHRlbWJlcl9va3RvYmVyX25vdmVtYmVyX2Rlc2VtYmVyIi5zcGxpdCgiXyIp''@;'; put 'put ''LG1vbnRoc1Nob3J0OiJqYW5fZmViX21hcl9hcHJfbWFpX2p1bl9qdWxfYXVnX3NlcF9va3Rfbm92X2RlcyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoic3VubnVkYWd1cl9tXHhlMW5hZGFndXJfdFx4ZmRzZGFndXJfbWlrdWRhZ3VyX2hceGYzc2RhZ3VyX2ZyXHhlZGdnamFkYWd1cl9sZXlnYXJk''@;'; put 'put ''YWd1ciIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJzdW5fbVx4ZTFuX3RceGZkc19taWtfaFx4ZjNzX2ZyXHhlZF9sZXkiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46InN1X21ceGUxX3RceGZkX21pX2hceGYzX2ZyX2xlIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0i''@;'; put 'put ''LExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCBELiBNTU1NLCBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltceGNkIGRhZyBrbC5dIExUIixuZXh0RGF5OiJbXHhjZCBtb3JnaW4g''@;'; put 'put ''a2wuXSBMVCIsbmV4dFdlZWs6ImRkZGQgW2tsLl0gTFQiLGxhc3REYXk6IltceGNkIGdqXHhlMXIga2wuXSBMVCIsbGFzdFdlZWs6IltzXHhlZFx4ZjBzdHVdIGRkZGQgW2tsXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToidW0gJXMiLHBhc3Q6IiVzIHNceGVkXHhm''@;'; put 'put ''MGFuaSIsczoiZlx4ZTEgc2VrdW5kIixzczoiJWQgc2VrdW5kaXIiLG06ImVpbiBtaW51dHR1ciIsbW06IiVkIG1pbnV0dGlyIixoOiJlaW4gdFx4ZWRtaSIsaGg6IiVkIHRceGVkbWFyIixkOiJlaW4gZGFndXIiLGRkOiIlZCBkYWdhciIsTToiZWluIG1ceGUxbmFceGYwdXIiLE1NOiIlZCBt''@;'; put 'put ''XHhlMW5hXHhmMGlyIix5OiJlaXR0IFx4ZTFyIix5eToiJWQgXHhlMXIifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMzI4NzpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsi''@;'; put 'put ''dXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJmci1jYSIse21vbnRoczoiamFudmllcl9mXHhlOXZyaWVyX21hcnNfYXZyaWxfbWFpX2p1aW5fanVpbGxldF9hb1x4ZmJ0X3NlcHRlbWJyZV9vY3RvYnJlX25vdmVtYnJlX2RceGU5Y2VtYnJlIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJq''@;'; put 'put ''YW52Ll9mXHhlOXZyLl9tYXJzX2F2ci5fbWFpX2p1aW5fanVpbC5fYW9ceGZidF9zZXB0Ll9vY3QuX25vdi5fZFx4ZTljLiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJkaW1hbmNoZV9sdW5kaV9tYXJkaV9tZXJjcmVkaV9qZXVkaV92ZW5kcmVkaV9zYW1lZGki''@;'; put 'put ''LnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiZGltLl9sdW4uX21hci5fbWVyLl9qZXUuX3Zlbi5fc2FtLiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiZGlfbHVfbWFfbWVfamVfdmVfc2EiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6''@;'; put 'put ''bW0iLExUUzoiSEg6bW06c3MiLEw6IllZWVktTU0tREQiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbQXVqb3VyZFx1MjAxOWh1aSBceGUwXSBMVCIsbmV4dERheToiW0Rl''@;'; put 'put ''bWFpbiBceGUwXSBMVCIsbmV4dFdlZWs6ImRkZGQgW1x4ZTBdIExUIixsYXN0RGF5OiJbSGllciBceGUwXSBMVCIsbGFzdFdlZWs6ImRkZGQgW2Rlcm5pZXIgXHhlMF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ImRhbnMgJXMiLHBhc3Q6ImlsIHkgYSAlcyIsczoi''@;'; put 'put ''cXVlbHF1ZXMgc2Vjb25kZXMiLHNzOiIlZCBzZWNvbmRlcyIsbToidW5lIG1pbnV0ZSIsbW06IiVkIG1pbnV0ZXMiLGg6InVuZSBoZXVyZSIsaGg6IiVkIGhldXJlcyIsZDoidW4gam91ciIsZGQ6IiVkIGpvdXJzIixNOiJ1biBtb2lzIixNTToiJWQgbW9pcyIseToidW4gYW4iLHl5OiIlZCBh''@;'; put 'put ''bnMifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KGVyfGUpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlLGhlKXtzd2l0Y2goaGUpe2RlZmF1bHQ6Y2FzZSJNIjpjYXNlIlEiOmNhc2UiRCI6Y2FzZSJEREQiOmNhc2UiZCI6cmV0dXJuIGdlKygxPT09Z2U/ImVyIjoiZSIpO2Nhc2UidyI6''@;'; put 'put ''Y2FzZSJXIjpyZXR1cm4gZ2UrKDE9PT1nZT8icmUiOiJlIil9fX0pfShGZSg2NzM4KSl9LDg4Njc6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiZnItY2giLHttb250aHM6ImphbnZpZXJfZlx4ZTl2cmllcl9tYXJzX2F2cmls''@;'; put 'put ''X21haV9qdWluX2p1aWxsZXRfYW9ceGZidF9zZXB0ZW1icmVfb2N0b2JyZV9ub3ZlbWJyZV9kXHhlOWNlbWJyZSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFudi5fZlx4ZTl2ci5fbWFyc19hdnIuX21haV9qdWluX2p1aWwuX2FvXHhmYnRfc2VwdC5fb2N0Ll9ub3YuX2RceGU5Yy4iLnNw''@;'; put 'put ''bGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czoiZGltYW5jaGVfbHVuZGlfbWFyZGlfbWVyY3JlZGlfamV1ZGlfdmVuZHJlZGlfc2FtZWRpIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRpbS5fbHVuLl9tYXIuX21lci5famV1Ll92ZW4uX3NhbS4iLnNwbGl0KCJfIiks''@;'; put 'put ''d2Vla2RheXNNaW46ImRpX2x1X21hX21lX2plX3ZlX3NhIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0i''@;'; put 'put ''LExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0F1am91cmRcdTIwMTlodWkgXHhlMF0gTFQiLG5leHREYXk6IltEZW1haW4gXHhlMF0gTFQiLG5leHRXZWVrOiJkZGRkIFtceGUwXSBMVCIsbGFzdERheToiW0hpZXIgXHhlMF0gTFQiLGxhc3RXZWVr''@;'; put 'put ''OiJkZGRkIFtkZXJuaWVyIFx4ZTBdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJkYW5zICVzIixwYXN0OiJpbCB5IGEgJXMiLHM6InF1ZWxxdWVzIHNlY29uZGVzIixzczoiJWQgc2Vjb25kZXMiLG06InVuZSBtaW51dGUiLG1tOiIlZCBtaW51dGVzIixoOiJ1bmUg''@;'; put 'put ''aGV1cmUiLGhoOiIlZCBoZXVyZXMiLGQ6InVuIGpvdXIiLGRkOiIlZCBqb3VycyIsTToidW4gbW9pcyIsTU06IiVkIG1vaXMiLHk6InVuIGFuIix5eToiJWQgYW5zIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShlcnxlKS8sb3JkaW5hbDpmdW5jdGlvbihnZSxoZSl7c3dpdGNo''@;'; put 'put ''KGhlKXtkZWZhdWx0OmNhc2UiTSI6Y2FzZSJRIjpjYXNlIkQiOmNhc2UiREREIjpjYXNlImQiOnJldHVybiBnZSsoMT09PWdlPyJlciI6ImUiKTtjYXNlInciOmNhc2UiVyI6cmV0dXJuIGdlKygxPT09Z2U/InJlIjoiZSIpfX0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sODE3''@;'; put 'put ''NDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIGhlPS8oamFudlwuP3xmXHhlOXZyXC4/fG1hcnN8YXZyXC4/fG1haXxqdWlufGp1aWxcLj98YW9ceGZidHxzZXB0XC4/fG9jdFwuP3xub3ZcLj98ZFx4ZTljXC4/fGphbnZpZXJ8Zlx4ZTl2cmllcnxt''@;'; put 'put ''YXJzfGF2cmlsfG1haXxqdWlufGp1aWxsZXR8YW9ceGZidHxzZXB0ZW1icmV8b2N0b2JyZXxub3ZlbWJyZXxkXHhlOWNlbWJyZSkvaSxaPVsvXmphbnYvaSwvXmZceGU5dnIvaSwvXm1hcnMvaSwvXmF2ci9pLC9ebWFpL2ksL15qdWluL2ksL15qdWlsL2ksL15hb1x4ZmJ0L2ksL15zZXB0L2ks''@;'; put 'put ''L15vY3QvaSwvXm5vdi9pLC9eZFx4ZTljL2ldO0NlLmRlZmluZUxvY2FsZSgiZnIiLHttb250aHM6ImphbnZpZXJfZlx4ZTl2cmllcl9tYXJzX2F2cmlsX21haV9qdWluX2p1aWxsZXRfYW9ceGZidF9zZXB0ZW1icmVfb2N0b2JyZV9ub3ZlbWJyZV9kXHhlOWNlbWJyZSIuc3BsaXQoIl8iKSxt''@;'; put 'put ''b250aHNTaG9ydDoiamFudi5fZlx4ZTl2ci5fbWFyc19hdnIuX21haV9qdWluX2p1aWwuX2FvXHhmYnRfc2VwdC5fb2N0Ll9ub3YuX2RceGU5Yy4iLnNwbGl0KCJfIiksbW9udGhzUmVnZXg6aGUsbW9udGhzU2hvcnRSZWdleDpoZSxtb250aHNTdHJpY3RSZWdleDovXihqYW52aWVyfGZceGU5''@;'; put 'put ''dnJpZXJ8bWFyc3xhdnJpbHxtYWl8anVpbnxqdWlsbGV0fGFvXHhmYnR8c2VwdGVtYnJlfG9jdG9icmV8bm92ZW1icmV8ZFx4ZTljZW1icmUpL2ksbW9udGhzU2hvcnRTdHJpY3RSZWdleDovKGphbnZcLj98Zlx4ZTl2clwuP3xtYXJzfGF2clwuP3xtYWl8anVpbnxqdWlsXC4/fGFvXHhmYnR8''@;'; put 'put ''c2VwdFwuP3xvY3RcLj98bm92XC4/fGRceGU5Y1wuPykvaSxtb250aHNQYXJzZTpaLGxvbmdNb250aHNQYXJzZTpaLHNob3J0TW9udGhzUGFyc2U6Wix3ZWVrZGF5czoiZGltYW5jaGVfbHVuZGlfbWFyZGlfbWVyY3JlZGlfamV1ZGlfdmVuZHJlZGlfc2FtZWRpIi5zcGxpdCgiXyIpLHdlZWtk''@;'; put 'put ''YXlzU2hvcnQ6ImRpbS5fbHVuLl9tYXIuX21lci5famV1Ll92ZW4uX3NhbS4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46ImRpX2x1X21hX21lX2plX3ZlX3NhIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNz''@;'; put 'put ''IixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0F1am91cmRcdTIwMTlodWkgXHhlMF0gTFQiLG5leHREYXk6IltEZW1haW4gXHhlMF0gTFQiLG5l''@;'; put 'put ''eHRXZWVrOiJkZGRkIFtceGUwXSBMVCIsbGFzdERheToiW0hpZXIgXHhlMF0gTFQiLGxhc3RXZWVrOiJkZGRkIFtkZXJuaWVyIFx4ZTBdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJkYW5zICVzIixwYXN0OiJpbCB5IGEgJXMiLHM6InF1ZWxxdWVzIHNlY29uZGVz''@;'; put 'put ''IixzczoiJWQgc2Vjb25kZXMiLG06InVuZSBtaW51dGUiLG1tOiIlZCBtaW51dGVzIixoOiJ1bmUgaGV1cmUiLGhoOiIlZCBoZXVyZXMiLGQ6InVuIGpvdXIiLGRkOiIlZCBqb3VycyIsdzoidW5lIHNlbWFpbmUiLHd3OiIlZCBzZW1haW5lcyIsTToidW4gbW9pcyIsTU06IiVkIG1vaXMiLHk6''@;'; put 'put ''InVuIGFuIix5eToiJWQgYW5zIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShlcnwpLyxvcmRpbmFsOmZ1bmN0aW9uKGosTil7c3dpdGNoKE4pe2Nhc2UiRCI6cmV0dXJuIGorKDE9PT1qPyJlciI6IiIpO2RlZmF1bHQ6Y2FzZSJNIjpjYXNlIlEiOmNhc2UiREREIjpjYXNlImQi''@;'; put 'put ''OnJldHVybiBqKygxPT09aj8iZXIiOiJlIik7Y2FzZSJ3IjpjYXNlIlciOnJldHVybiBqKygxPT09aj8icmUiOiJlIil9fSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw0NTI6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT0iamFu''@;'; put 'put ''Ll9mZWIuX21ydC5fYXByLl9tYWlfanVuLl9qdWwuX2F1Zy5fc2VwLl9va3QuX25vdi5fZGVzLiIuc3BsaXQoIl8iKSxnZT0iamFuX2ZlYl9tcnRfYXByX21haV9qdW5fanVsX2F1Z19zZXBfb2t0X25vdl9kZXMiLnNwbGl0KCJfIik7Q2UuZGVmaW5lTG9jYWxlKCJmeSIse21vbnRoczoiamFu''@;'; put 'put ''bmV3YXJpc19mZWJyZXdhcmlzX21hYXJ0X2FwcmlsX21hYWllX2p1bnlfanVseV9hdWd1c3R1c19zZXB0aW1iZXJfb2t0b2Jlcl9ub3ZpbWJlcl9kZXNpbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDpmdW5jdGlvbihaLEEpe3JldHVybiBaPy8tTU1NLS8udGVzdChBKT9nZVtaLm1vbnRo''@;'; put 'put ''KCldOm9lW1oubW9udGgoKV06b2V9LG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6InNuZWluX21vYW5kZWlfdGlpc2RlaV93b2Fuc2RlaV90b25nZXJzZGVpX2ZyZWVkX3NuZW9uIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6InNpLl9tby5fdGkuX3dvLl90by5fZnIuX3NvLiIuc3Bs''@;'; put 'put ''aXQoIl8iKSx3ZWVrZGF5c01pbjoiU2lfTW9fVGlfV29fVG9fRnJfU28iLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELU1NLVlZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZ''@;'; put 'put ''WSBISDptbSIsTExMTDoiZGRkZCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbaGpvZWQgb21dIExUIixuZXh0RGF5OiJbbW9hcm4gb21dIExUIixuZXh0V2VlazoiZGRkZCBbb21dIExUIixsYXN0RGF5OiJbanVzdGVyIG9tXSBMVCIsbGFzdFdlZWs6IltceGY0ZnJc''@;'; put 'put ''eGZibmVdIGRkZGQgW29tXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToib2VyICVzIixwYXN0OiIlcyBseW4iLHM6ImluIHBlYXIgc2Vrb25kZW4iLHNzOiIlZCBzZWtvbmRlbiIsbToiaWVuIG1pblx4ZmF0IixtbToiJWQgbWludXRlbiIsaDoiaWVuIG9lcmUiLGho''@;'; put 'put ''OiIlZCBvZXJlbiIsZDoiaWVuIGRlaSIsZGQ6IiVkIGRhZ2VuIixNOiJpZW4gbW9hbm5lIixNTToiJWQgbW9hbm5lbiIseToiaWVuIGppZXIiLHl5OiIlZCBqaWVycmVuIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShzdGV8ZGUpLyxvcmRpbmFsOmZ1bmN0aW9uKFope3JldHVy''@;'; put 'put ''biBaKygxPT09Wnx8OD09PVp8fFo+PTIwPyJzdGUiOiJkZSIpfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw1MDE0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImdhIix7bW9udGhzOlsiRWFuXHhlMWlyIiwi''@;'; put 'put ''RmVhYmhyYSIsIk1ceGUxcnRhIiwiQWlicmVceGUxbiIsIkJlYWx0YWluZSIsIk1laXRoZWFtaCIsIklceGZhaWwiLCJMXHhmYW5hc2EiLCJNZVx4ZTFuIEZceGYzbWhhaXIiLCJEZWlyZWFkaCBGXHhmM21oYWlyIiwiU2FtaGFpbiIsIk5vbGxhaWciXSxtb250aHNTaG9ydDpbIkVhbiIsIkZl''@;'; put 'put ''YWJoIiwiTVx4ZTFydCIsIkFpYiIsIkJlYWwiLCJNZWl0aCIsIklceGZhaWwiLCJMXHhmYW4iLCJNLkYuIiwiRC5GLiIsIlNhbWgiLCJOb2xsIl0sbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czpbIkRceGU5IERvbWhuYWlnaCIsIkRceGU5IEx1YWluIiwiRFx4ZTkgTVx4ZTFpcnQiLCJE''@;'; put 'put ''XHhlOSBDXHhlOWFkYW9pbiIsIkRceGU5YXJkYW9pbiIsIkRceGU5IGhBb2luZSIsIkRceGU5IFNhdGhhaXJuIl0sd2Vla2RheXNTaG9ydDpbIkRvbWgiLCJMdWFuIiwiTVx4ZTFpcnQiLCJDXHhlOWFkIiwiRFx4ZTlhciIsIkFvaW5lIiwiU2F0aCJdLHdlZWtkYXlzTWluOlsiRG8iLCJMdSIs''@;'; put 'put ''Ik1ceGUxIiwiQ1x4ZTkiLCJEXHhlOSIsIkEiLCJTYSJdLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxj''@;'; put 'put ''YWxlbmRhcjp7c2FtZURheToiW0lubml1IGFnXSBMVCIsbmV4dERheToiW0FtXHhlMXJhY2ggYWddIExUIixuZXh0V2VlazoiZGRkZCBbYWddIExUIixsYXN0RGF5OiJbSW5uXHhlOSBhZ10gTFQiLGxhc3RXZWVrOiJkZGRkIFtzZW8gY2FpdGVdIFthZ10gTFQiLHNhbWVFbHNlOiJMIn0scmVs''@;'; put 'put ''YXRpdmVUaW1lOntmdXR1cmU6ImkgJXMiLHBhc3Q6IiVzIFx4ZjMgc2hpbiIsczoiY1x4ZmFwbGEgc29pY2luZCIsc3M6IiVkIHNvaWNpbmQiLG06Im5ceGYzaW1ceGU5YWQiLG1tOiIlZCBuXHhmM2ltXHhlOWFkIixoOiJ1YWlyIGFuIGNobG9pZyIsaGg6IiVkIHVhaXIgYW4gY2hsb2lnIixk''@;'; put 'put ''OiJsXHhlMSIsZGQ6IiVkIGxceGUxIixNOiJtXHhlZCIsTU06IiVkIG1ceGVkb25uYSIseToiYmxpYWluIix5eToiJWQgYmxpYWluIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfShkfG5hfG1oKS8sb3JkaW5hbDpmdW5jdGlvbihOKXtyZXR1cm4gTisoMT09PU4/ImQiOk4lMTA9''@;'; put 'put ''PTI/Im5hIjoibWgiKX0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sNDEyNzpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJnZCIse21vbnRoczpbIkFtIEZhb2lsbGVhY2giLCJBbiBHZWFycmFuIiwiQW0gTVx4''@;'; put 'put ''ZTBydCIsIkFuIEdpYmxlYW4iLCJBbiBDXHhlOGl0ZWFuIiwiQW4gdC1ceGQyZ21oaW9zIiwiQW4gdC1JdWNoYXIiLCJBbiBMXHhmOW5hc3RhbCIsIkFuIHQtU3VsdGFpbiIsIkFuIERceGUwbWhhaXIiLCJBbiB0LVNhbWhhaW4iLCJBbiBEXHhmOWJobGFjaGQiXSxtb250aHNTaG9ydDpbIkZh''@;'; put 'put ''b2kiLCJHZWFyIiwiTVx4ZTBydCIsIkdpYmwiLCJDXHhlOGl0IiwiXHhkMmdtaCIsIkl1Y2giLCJMXHhmOW4iLCJTdWx0IiwiRFx4ZTBtaCIsIlNhbWgiLCJEXHhmOWJoIl0sbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czpbIkRpZFx4ZjJtaG5haWNoIiwiRGlsdWFpbiIsIkRpbVx4ZTBp''@;'; put 'put ''cnQiLCJEaWNpYWRhaW4iLCJEaWFyZGFvaW4iLCJEaWhhb2luZSIsIkRpc2F0aGFpcm5lIl0sd2Vla2RheXNTaG9ydDpbIkRpZCIsIkRpbCIsIkRpbSIsIkRpYyIsIkRpYSIsIkRpaCIsIkRpcyJdLHdlZWtkYXlzTWluOlsiRFx4ZjIiLCJMdSIsIk1ceGUwIiwiQ2kiLCJBciIsIkhhIiwiU2Ei''@;'; put 'put ''XSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltBbi1kaXVnaCBhaWdd''@;'; put 'put ''IExUIixuZXh0RGF5OiJbQS1tXHhlMGlyZWFjaCBhaWddIExUIixuZXh0V2VlazoiZGRkZCBbYWlnXSBMVCIsbGFzdERheToiW0FuLWRceGU4IGFpZ10gTFQiLGxhc3RXZWVrOiJkZGRkIFtzZW8gY2hhaWRoXSBbYWlnXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToi''@;'; put 'put ''YW5uIGFuICVzIixwYXN0OiJiaG8gY2hpb25uICVzIixzOiJiZWFnYW4gZGlvZ2FuIixzczoiJWQgZGlvZ2FuIixtOiJtaW9uYWlkIixtbToiJWQgbWlvbmFpZGVhbiIsaDoidWFpciIsaGg6IiVkIHVhaXJlYW4iLGQ6ImxhdGhhIixkZDoiJWQgbGF0aGEiLE06Im1ceGVjb3MiLE1NOiIlZCBt''@;'; put 'put ''XHhlY29zYW4iLHk6ImJsaWFkaG5hIix5eToiJWQgYmxpYWRobmEifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KGR8bmF8bWgpLyxvcmRpbmFsOmZ1bmN0aW9uKE4pe3JldHVybiBOKygxPT09Tj8iZCI6TiUxMD09Mj8ibmEiOiJtaCIpfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0o''@;'; put 'put ''RmUoNjczOCkpfSwyMTI0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImdsIix7bW9udGhzOiJ4YW5laXJvX2ZlYnJlaXJvX21hcnpvX2FicmlsX21haW9feHVceGYxb194dWxsb19hZ29zdG9fc2V0ZW1icm9fb3V0dWJyb19u''@;'; put 'put ''b3ZlbWJyb19kZWNlbWJybyIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoieGFuLl9mZWIuX21hci5fYWJyLl9tYWkuX3h1XHhmMS5feHVsLl9hZ28uX3NldC5fb3V0Ll9ub3YuX2RlYy4iLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czoiZG9taW5nb19sdW5zX21hcnRl''@;'; put 'put ''c19tXHhlOXJjb3Jlc194b3Zlc192ZW5yZXNfc1x4ZTFiYWRvIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRvbS5fbHVuLl9tYXIuX21ceGU5ci5feG92Ll92ZW4uX3NceGUxYi4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46ImRvX2x1X21hX21ceGU5X3hvX3ZlX3NceGUxIi5zcGxpdCgi''@;'; put 'put ''XyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6Ikg6bW0iLExUUzoiSDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgW2RlXSBNTU1NIFtkZV0gWVlZWSIsTExMOiJEIFtkZV0gTU1NTSBbZGVdIFlZWVkgSDptbSIsTExMTDoiZGRkZCwgRCBbZGVdIE1NTU0g''@;'; put 'put ''W2RlXSBZWVlZIEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheTpmdW5jdGlvbigpe3JldHVybiJbaG94ZSAiKygxIT09dGhpcy5ob3VycygpPyJceGUxcyI6Ilx4ZTEiKSsiXSBMVCJ9LG5leHREYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW21hXHhmMVx4ZTEgIisoMSE9PXRoaXMuaG91cnMoKT8iXHhl''@;'; put 'put ''MXMiOiJceGUxIikrIl0gTFQifSxuZXh0V2VlazpmdW5jdGlvbigpe3JldHVybiJkZGRkIFsiKygxIT09dGhpcy5ob3VycygpPyJceGUxcyI6ImEiKSsiXSBMVCJ9LGxhc3REYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW29udGUgIisoMSE9PXRoaXMuaG91cnMoKT8iXHhlMSI6ImEiKSsiXSBMVCJ9''@;'; put 'put ''LGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIltvXSBkZGRkIFtwYXNhZG8gIisoMSE9PXRoaXMuaG91cnMoKT8iXHhlMXMiOiJhIikrIl0gTFQifSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOmZ1bmN0aW9uKGdlKXtyZXR1cm4gMD09PWdlLmluZGV4T2YoInVuIik/Im4i''@;'; put 'put ''K2dlOiJlbiAiK2dlfSxwYXN0OiJoYWkgJXMiLHM6InVucyBzZWd1bmRvcyIsc3M6IiVkIHNlZ3VuZG9zIixtOiJ1biBtaW51dG8iLG1tOiIlZCBtaW51dG9zIixoOiJ1bmhhIGhvcmEiLGhoOiIlZCBob3JhcyIsZDoidW4gZFx4ZWRhIixkZDoiJWQgZFx4ZWRhcyIsTToidW4gbWVzIixNTToi''@;'; put 'put ''JWQgbWVzZXMiLHk6InVuIGFubyIseXk6IiVkIGFub3MifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XHhiYS8sb3JkaW5hbDoiJWRceGJhIix3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw2NDQ0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ug''@;'; put 'put ''c3RyaWN0IjtmdW5jdGlvbiBvZShoZSxaLEEsail7dmFyIE49e3M6WyJcdTA5MjVcdTA5NGJcdTA5MjFcdTA5MmZcdTA5M2UgXHUwOTM4XHUwOTQ1XHUwOTE1XHUwOTAyXHUwOTIxXHUwOTNlXHUwOTAyXHUwOTI4XHUwOTQwIiwiXHUwOTI1XHUwOTRiXHUwOTIxXHUwOTQ3IFx1MDkzOFx1MDk0''@;'; put 'put ''NVx1MDkxNVx1MDkwMlx1MDkyMSJdLHNzOltoZSsiIFx1MDkzOFx1MDk0NVx1MDkxNVx1MDkwMlx1MDkyMVx1MDkzZVx1MDkwMlx1MDkyOFx1MDk0MCIsaGUrIiBcdTA5MzhcdTA5NDVcdTA5MTVcdTA5MDJcdTA5MjEiXSxtOlsiXHUwOTBmXHUwOTE1XHUwOTNlIFx1MDkyZVx1MDkzZlx1MDky''@;'; put 'put ''M1x1MDkxZlx1MDkzZVx1MDkyOCIsIlx1MDkwZlx1MDkxNSBcdTA5MmVcdTA5M2ZcdTA5MjhcdTA5NDJcdTA5MWYiXSxtbTpbaGUrIiBcdTA5MmVcdTA5M2ZcdTA5MjNcdTA5MWZcdTA5M2VcdTA5MDJcdTA5MjhcdTA5NDAiLGhlKyIgXHUwOTJlXHUwOTNmXHUwOTIzXHUwOTFmXHUwOTNlXHUw''@;'; put 'put ''OTAyIl0saDpbIlx1MDkwZlx1MDkxNVx1MDkzZSBcdTA5MzVcdTA5MzBcdTA5M2VcdTA5MjgiLCJcdTA5MGZcdTA5MTUgXHUwOTM1XHUwOTMwIl0saGg6W2hlKyIgXHUwOTM1XHUwOTMwXHUwOTNlXHUwOTAyXHUwOTI4XHUwOTQwIixoZSsiIFx1MDkzNVx1MDkzMFx1MDkzZVx1MDkwMiJdLGQ6''@;'; put 'put ''WyJcdTA5MGZcdTA5MTVcdTA5M2UgXHUwOTI2XHUwOTNmXHUwOTM4XHUwOTNlXHUwOTI4IiwiXHUwOTBmXHUwOTE1IFx1MDkyNlx1MDk0MFx1MDkzOCJdLGRkOltoZSsiIFx1MDkyNlx1MDkzZlx1MDkzOFx1MDkzZVx1MDkwMlx1MDkyOFx1MDk0MCIsaGUrIiBcdTA5MjZcdTA5NDBcdTA5Mzgi''@;'; put 'put ''XSxNOlsiXHUwOTBmXHUwOTE1XHUwOTNlIFx1MDkyZVx1MDk0ZFx1MDkzOVx1MDkyZlx1MDkyOFx1MDk0ZFx1MDkyZlx1MDkzZVx1MDkyOCIsIlx1MDkwZlx1MDkxNSBcdTA5MmVcdTA5NGRcdTA5MzlcdTA5MmZcdTA5MjhcdTA5NGIiXSxNTTpbaGUrIiBcdTA5MmVcdTA5NGRcdTA5MzlcdTA5''@;'; put 'put ''MmZcdTA5MjhcdTA5NGRcdTA5MmZcdTA5M2VcdTA5MjhcdTA5NDAiLGhlKyIgXHUwOTJlXHUwOTRkXHUwOTM5XHUwOTJmXHUwOTI4XHUwOTQ3Il0seTpbIlx1MDkwZlx1MDkxNVx1MDkzZSBcdTA5MzVcdTA5MzBcdTA5NGRcdTA5MzhcdTA5M2VcdTA5MjgiLCJcdTA5MGZcdTA5MTUgXHUwOTM1''@;'; put 'put ''XHUwOTMwXHUwOTRkXHUwOTM4Il0seXk6W2hlKyIgXHUwOTM1XHUwOTMwXHUwOTRkXHUwOTM4XHUwOTNlXHUwOTAyXHUwOTI4XHUwOTQwIixoZSsiIFx1MDkzNVx1MDkzMFx1MDk0ZFx1MDkzOFx1MDkzZVx1MDkwMiJdfTtyZXR1cm4gaj9OW0FdWzBdOk5bQV1bMV19Q2UuZGVmaW5lTG9jYWxl''@;'; put 'put ''KCJnb20tZGV2YSIse21vbnRoczp7c3RhbmRhbG9uZToiXHUwOTFjXHUwOTNlXHUwOTI4XHUwOTQ3XHUwOTM1XHUwOTNlXHUwOTMwXHUwOTQwX1x1MDkyYlx1MDk0N1x1MDkyY1x1MDk0ZFx1MDkzMFx1MDk0MVx1MDkzNVx1MDkzZVx1MDkzMFx1MDk0MF9cdTA5MmVcdTA5M2VcdTA5MzBcdTA5''@;'; put 'put ''NGRcdTA5MWFfXHUwOTBmXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTQwXHUwOTMyX1x1MDkyZVx1MDk0N19cdTA5MWNcdTA5NDJcdTA5MjhfXHUwOTFjXHUwOTQxXHUwOTMyXHUwOTJmX1x1MDkxMVx1MDkxN1x1MDkzOFx1MDk0ZFx1MDkxZl9cdTA5MzhcdTA5MmFcdTA5NGRcdTA5MWZcdTA5NDdc''@;'; put 'put ''dTA5MDJcdTA5MmNcdTA5MzBfXHUwOTExXHUwOTE1XHUwOTRkXHUwOTFmXHUwOTRiXHUwOTJjXHUwOTMwX1x1MDkyOFx1MDk0Ylx1MDkzNVx1MDk0ZFx1MDkzOVx1MDk0N1x1MDkwMlx1MDkyY1x1MDkzMF9cdTA5MjFcdTA5M2ZcdTA5MzhcdTA5NDdcdTA5MDJcdTA5MmNcdTA5MzAiLnNwbGl0''@;'; put 'put ''KCJfIiksZm9ybWF0OiJcdTA5MWNcdTA5M2VcdTA5MjhcdTA5NDdcdTA5MzVcdTA5M2VcdTA5MzBcdTA5NDBcdTA5MWFcdTA5NGRcdTA5MmZcdTA5M2VfXHUwOTJiXHUwOTQ3XHUwOTJjXHUwOTRkXHUwOTMwXHUwOTQxXHUwOTM1XHUwOTNlXHUwOTMwXHUwOTQwXHUwOTFhXHUwOTRkXHUwOTJm''@;'; put 'put ''XHUwOTNlX1x1MDkyZVx1MDkzZVx1MDkzMFx1MDk0ZFx1MDkxYVx1MDkzZVx1MDkxYVx1MDk0ZFx1MDkyZlx1MDkzZV9cdTA5MGZcdTA5MmFcdTA5NGRcdTA5MzBcdTA5NDBcdTA5MzJcdTA5M2VcdTA5MWFcdTA5NGRcdTA5MmZcdTA5M2VfXHUwOTJlXHUwOTQ3XHUwOTJmXHUwOTNlXHUwOTFh''@;'; put 'put ''XHUwOTRkXHUwOTJmXHUwOTNlX1x1MDkxY1x1MDk0Mlx1MDkyOFx1MDkzZVx1MDkxYVx1MDk0ZFx1MDkyZlx1MDkzZV9cdTA5MWNcdTA5NDFcdTA5MzJcdTA5MmZcdTA5M2VcdTA5MWFcdTA5NGRcdTA5MmZcdTA5M2VfXHUwOTExXHUwOTE3XHUwOTM4XHUwOTRkXHUwOTFmXHUwOTNlXHUwOTFh''@;'; put 'put ''XHUwOTRkXHUwOTJmXHUwOTNlX1x1MDkzOFx1MDkyYVx1MDk0ZFx1MDkxZlx1MDk0N1x1MDkwMlx1MDkyY1x1MDkzMFx1MDkzZVx1MDkxYVx1MDk0ZFx1MDkyZlx1MDkzZV9cdTA5MTFcdTA5MTVcdTA5NGRcdTA5MWZcdTA5NGJcdTA5MmNcdTA5MzBcdTA5M2VcdTA5MWFcdTA5NGRcdTA5MmZc''@;'; put 'put ''dTA5M2VfXHUwOTI4XHUwOTRiXHUwOTM1XHUwOTRkXHUwOTM5XHUwOTQ3XHUwOTAyXHUwOTJjXHUwOTMwXHUwOTNlXHUwOTFhXHUwOTRkXHUwOTJmXHUwOTNlX1x1MDkyMVx1MDkzZlx1MDkzOFx1MDk0N1x1MDkwMlx1MDkyY1x1MDkzMFx1MDkzZVx1MDkxYVx1MDk0ZFx1MDkyZlx1MDkzZSIu''@;'; put 'put ''c3BsaXQoIl8iKSxpc0Zvcm1hdDovTU1NTShccykrRFtvRF0/L30sbW9udGhzU2hvcnQ6Ilx1MDkxY1x1MDkzZVx1MDkyOFx1MDk0Ny5fXHUwOTJiXHUwOTQ3XHUwOTJjXHUwOTRkXHUwOTMwXHUwOTQxLl9cdTA5MmVcdTA5M2VcdTA5MzBcdTA5NGRcdTA5MWFfXHUwOTBmXHUwOTJhXHUwOTRk''@;'; put 'put ''XHUwOTMwXHUwOTQwLl9cdTA5MmVcdTA5NDdfXHUwOTFjXHUwOTQyXHUwOTI4X1x1MDkxY1x1MDk0MVx1MDkzMi5fXHUwOTExXHUwOTE3Ll9cdTA5MzhcdTA5MmFcdTA5NGRcdTA5MWZcdTA5NDdcdTA5MDIuX1x1MDkxMVx1MDkxNVx1MDk0ZFx1MDkxZlx1MDk0Yi5fXHUwOTI4XHUwOTRiXHUw''@;'; put 'put ''OTM1XHUwOTRkXHUwOTM5XHUwOTQ3XHUwOTAyLl9cdTA5MjFcdTA5M2ZcdTA5MzhcdTA5NDdcdTA5MDIuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6Ilx1MDkwNlx1MDkyZlx1MDkyNFx1MDkzZVx1MDkzMF9cdTA5MzhcdTA5NGJcdTA5MmVcdTA5M2VcdTA5MzBf''@;'; put 'put ''XHUwOTJlXHUwOTAyXHUwOTE3XHUwOTMzXHUwOTNlXHUwOTMwX1x1MDkyY1x1MDk0MVx1MDkyN1x1MDkzNVx1MDkzZVx1MDkzMF9cdTA5MmNcdTA5M2ZcdTA5MzBcdTA5NDdcdTA5MzhcdTA5NGRcdTA5MjRcdTA5M2VcdTA5MzBfXHUwOTM4XHUwOTQxXHUwOTE1XHUwOTRkXHUwOTMwXHUwOTNl''@;'; put 'put ''XHUwOTMwX1x1MDkzNlx1MDk0N1x1MDkyOFx1MDkzNVx1MDkzZVx1MDkzMCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA5MDZcdTA5MmZcdTA5MjQuX1x1MDkzOFx1MDk0Ylx1MDkyZS5fXHUwOTJlXHUwOTAyXHUwOTE3XHUwOTMzLl9cdTA5MmNcdTA5NDFcdTA5MjcuX1x1MDkyY1x1''@;'; put 'put ''MDk0ZFx1MDkzMFx1MDk0N1x1MDkzOFx1MDk0ZFx1MDkyNC5fXHUwOTM4XHUwOTQxXHUwOTE1XHUwOTRkXHUwOTMwLl9cdTA5MzZcdTA5NDdcdTA5MjguIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTA5MDZfXHUwOTM4XHUwOTRiX1x1MDkyZVx1MDkwMl9cdTA5MmNcdTA5NDFfXHUwOTJj''@;'; put 'put ''XHUwOTRkXHUwOTMwXHUwOTQ3X1x1MDkzOFx1MDk0MV9cdTA5MzZcdTA5NDciLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiQSBoOm1tIFtcdTA5MzVcdTA5M2VcdTA5MWNcdTA5MjRcdTA5M2VcdTA5MDJdIixMVFM6IkEgaDptbTpzcyBbXHUw''@;'; put 'put ''OTM1XHUwOTNlXHUwOTFjXHUwOTI0XHUwOTNlXHUwOTAyXSIsTDoiREQtTU0tWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEEgaDptbSBbXHUwOTM1XHUwOTNlXHUwOTFjXHUwOTI0XHUwOTNlXHUwOTAyXSIsTExMTDoiZGRkZCwgTU1NTSBEbywgWVlZWSwgQSBoOm1t''@;'; put 'put ''IFtcdTA5MzVcdTA5M2VcdTA5MWNcdTA5MjRcdTA5M2VcdTA5MDJdIixsbGxsOiJkZGQsIEQgTU1NIFlZWVksIEEgaDptbSBbXHUwOTM1XHUwOTNlXHUwOTFjXHUwOTI0XHUwOTNlXHUwOTAyXSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwOTA2XHUwOTJmXHUwOTFjXSBMVCIsbmV4dERheToi''@;'; put 'put ''W1x1MDkyYlx1MDkzZVx1MDkzMlx1MDk0ZFx1MDkyZlx1MDkzZVx1MDkwMl0gTFQiLG5leHRXZWVrOiJbXHUwOTJiXHUwOTQxXHUwOTIxXHUwOTMyXHUwOTRiXSBkZGRkWyxdIExUIixsYXN0RGF5OiJbXHUwOTE1XHUwOTNlXHUwOTMyXSBMVCIsbGFzdFdlZWs6IltcdTA5MmJcdTA5M2VcdTA5''@;'; put 'put ''MWZcdTA5MzJcdTA5NGJdIGRkZGRbLF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIixwYXN0OiIlcyBcdTA5MDZcdTA5MjZcdTA5NDBcdTA5MDIiLHM6b2Usc3M6b2UsbTpvZSxtbTpvZSxoOm9lLGhoOm9lLGQ6b2UsZGQ6b2UsTTpvZSxNTTpvZSx5Om9lLHl5''@;'; put 'put ''Om9lfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KFx1MDkzNVx1MDk0N1x1MDkzMCkvLG9yZGluYWw6ZnVuY3Rpb24oaGUsWil7cmV0dXJuIkQiPT09Wj9oZSsiXHUwOTM1XHUwOTQ3XHUwOTMwIjpoZX0sd2Vlazp7ZG93OjAsZG95OjN9LG1lcmlkaWVtUGFyc2U6L1x1MDkzMFx1''@;'; put 'put ''MDkzZVx1MDkyNFx1MDk0MHxcdTA5MzhcdTA5MTVcdTA5M2VcdTA5MzNcdTA5NDBcdTA5MDJ8XHUwOTI2XHUwOTI4XHUwOTJhXHUwOTNlXHUwOTMwXHUwOTNlXHUwOTAyfFx1MDkzOFx1MDkzZVx1MDkwMlx1MDkxY1x1MDk0Ny8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKGhlLFope3JldHVybiAx''@;'; put 'put ''Mj09PWhlJiYoaGU9MCksIlx1MDkzMFx1MDkzZVx1MDkyNFx1MDk0MCI9PT1aP2hlPDQ/aGU6aGUrMTI6Ilx1MDkzOFx1MDkxNVx1MDkzZVx1MDkzM1x1MDk0MFx1MDkwMiI9PT1aP2hlOiJcdTA5MjZcdTA5MjhcdTA5MmFcdTA5M2VcdTA5MzBcdTA5M2VcdTA5MDIiPT09Wj9oZT4xMj9oZTpo''@;'; put 'put ''ZSsxMjoiXHUwOTM4XHUwOTNlXHUwOTAyXHUwOTFjXHUwOTQ3Ij09PVo/aGUrMTI6dm9pZCAwfSxtZXJpZGllbTpmdW5jdGlvbihoZSxaLEEpe3JldHVybiBoZTw0PyJcdTA5MzBcdTA5M2VcdTA5MjRcdTA5NDAiOmhlPDEyPyJcdTA5MzhcdTA5MTVcdTA5M2VcdTA5MzNcdTA5NDBcdTA5MDIi''@;'; put 'put ''OmhlPDE2PyJcdTA5MjZcdTA5MjhcdTA5MmFcdTA5M2VcdTA5MzBcdTA5M2VcdTA5MDIiOmhlPDIwPyJcdTA5MzhcdTA5M2VcdTA5MDJcdTA5MWNcdTA5NDciOiJcdTA5MzBcdTA5M2VcdTA5MjRcdTA5NDAifX0pfShGZSg2NzM4KSl9LDc5NTM6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlv''@;'; put 'put ''bihDZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG9lKGhlLFosQSxqKXt2YXIgTj17czpbInRob2RkZWEgc2Vrb25kYW1uaSIsInRob2RkZSBzZWtvbmQiXSxzczpbaGUrIiBzZWtvbmRhbW5pIixoZSsiIHNla29uZCJdLG06WyJla2EgbWludGFuIiwiZWsgbWludXQiXSxtbTpbaGUrIiBtaW50''@;'; put 'put ''YW1uaSIsaGUrIiBtaW50YW0iXSxoOlsiZWthIHZvcmFuIiwiZWsgdm9yIl0saGg6W2hlKyIgdm9yYW1uaSIsaGUrIiB2b3JhbSJdLGQ6WyJla2EgZGlzYW4iLCJlayBkaXMiXSxkZDpbaGUrIiBkaXNhbW5pIixoZSsiIGRpcyJdLE06WyJla2EgbWhvaW5lYW4iLCJlayBtaG9pbm8iXSxNTTpb''@;'; put 'put ''aGUrIiBtaG9pbmVhbW5pIixoZSsiIG1ob2luZSJdLHk6WyJla2Egdm9yc2FuIiwiZWsgdm9yb3MiXSx5eTpbaGUrIiB2b3JzYW1uaSIsaGUrIiB2b3JzYW0iXX07cmV0dXJuIGo/TltBXVswXTpOW0FdWzFdfUNlLmRlZmluZUxvY2FsZSgiZ29tLWxhdG4iLHttb250aHM6e3N0YW5kYWxvbmU6''@;'; put 'put ''IkphbmVyX0ZlYnJlcl9NYXJzX0FicmlsX01haV9KdW5fSnVsYWlfQWdvc3RfU2V0ZW1icl9PdHVicl9Ob3ZlbWJyX0RlemVtYnIiLnNwbGl0KCJfIiksZm9ybWF0OiJKYW5lcmFjaGVhX0ZlYnJlcmFjaGVhX01hcnNhY2hlYV9BYnJpbGFjaGVhX01haWFjaGVhX0p1bmFjaGVhX0p1bGFpYWNo''@;'; put 'put ''ZWFfQWdvc3RhY2hlYV9TZXRlbWJyYWNoZWFfT3R1YnJhY2hlYV9Ob3ZlbWJyYWNoZWFfRGV6ZW1icmFjaGVhIi5zcGxpdCgiXyIpLGlzRm9ybWF0Oi9NTU1NKFxzKStEW29EXT8vfSxtb250aHNTaG9ydDoiSmFuLl9GZWIuX01hcnNfQWJyLl9NYWlfSnVuX0p1bC5fQWdvLl9TZXQuX090dS5f''@;'; put 'put ''Tm92Ll9EZXouIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6IkFpdGFyX1NvbWFyX01vbmdsbGFyX0J1ZGh2YXJfQmlyZXN0YXJfU3VrcmFyX1Nvbid2YXIiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiQWl0Ll9Tb20uX01vbi5fQnVkLl9CcmUuX1N1ay5fU29u''@;'; put 'put ''LiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiQWlfU21fTW9fQnVfQnJfU3VfU24iLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiQSBoOm1tIFt2YXp0YV0iLExUUzoiQSBoOm1tOnNzIFt2YXp0YV0iLEw6IkRELU1NLVlZWVkiLExMOiJEIE1N''@;'; put 'put ''TU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBBIGg6bW0gW3ZhenRhXSIsTExMTDoiZGRkZCwgTU1NTSBEbywgWVlZWSwgQSBoOm1tIFt2YXp0YV0iLGxsbGw6ImRkZCwgRCBNTU0gWVlZWSwgQSBoOm1tIFt2YXp0YV0ifSxjYWxlbmRhcjp7c2FtZURheToiW0Fpel0gTFQiLG5leHREYXk6IltG''@;'; put 'put ''YWxlYW1dIExUIixuZXh0V2VlazoiW0Z1ZGRsb10gZGRkZFssXSBMVCIsbGFzdERheToiW0thbF0gTFQiLGxhc3RXZWVrOiJbRmF0dGxvXSBkZGRkWyxdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyIscGFzdDoiJXMgYWRpbSIsczpvZSxzczpvZSxtOm9lLG1t''@;'; put 'put ''Om9lLGg6b2UsaGg6b2UsZDpvZSxkZDpvZSxNOm9lLE1NOm9lLHk6b2UseXk6b2V9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oZXIpLyxvcmRpbmFsOmZ1bmN0aW9uKGhlLFope3JldHVybiJEIj09PVo/aGUrImVyIjpoZX0sd2Vlazp7ZG93OjAsZG95OjN9LG1lcmlkaWVtUGFy''@;'; put 'put ''c2U6L3JhdGl8c29rYWxsaW18ZG9ucGFyYW18c2FuamUvLG1lcmlkaWVtSG91cjpmdW5jdGlvbihoZSxaKXtyZXR1cm4gMTI9PT1oZSYmKGhlPTApLCJyYXRpIj09PVo/aGU8ND9oZTpoZSsxMjoic29rYWxsaW0iPT09Wj9oZToiZG9ucGFyYW0iPT09Wj9oZT4xMj9oZTpoZSsxMjoic2FuamUi''@;'; put 'put ''PT09Wj9oZSsxMjp2b2lkIDB9LG1lcmlkaWVtOmZ1bmN0aW9uKGhlLFosQSl7cmV0dXJuIGhlPDQ/InJhdGkiOmhlPDEyPyJzb2thbGxpbSI6aGU8MTY/ImRvbnBhcmFtIjpoZTwyMD8ic2FuamUiOiJyYXRpIn19KX0oRmUoNjczOCkpfSw2NjA0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rp''@;'; put 'put ''b24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ezE6Ilx1MGFlNyIsMjoiXHUwYWU4IiwzOiJcdTBhZTkiLDQ6Ilx1MGFlYSIsNToiXHUwYWViIiw2OiJcdTBhZWMiLDc6Ilx1MGFlZCIsODoiXHUwYWVlIiw5OiJcdTBhZWYiLDA6Ilx1MGFlNiJ9LGdlPXsiXHUwYWU3IjoiMSIsIlx1MGFlOCI6''@;'; put 'put ''IjIiLCJcdTBhZTkiOiIzIiwiXHUwYWVhIjoiNCIsIlx1MGFlYiI6IjUiLCJcdTBhZWMiOiI2IiwiXHUwYWVkIjoiNyIsIlx1MGFlZSI6IjgiLCJcdTBhZWYiOiI5IiwiXHUwYWU2IjoiMCJ9O0NlLmRlZmluZUxvY2FsZSgiZ3UiLHttb250aHM6Ilx1MGE5Y1x1MGFiZVx1MGFhOFx1MGFjZFx1''@;'; put 'put ''MGFhZlx1MGFjMVx1MGE4Nlx1MGFiMFx1MGFjMF9cdTBhYWJcdTBhYzdcdTBhYWNcdTBhY2RcdTBhYjBcdTBhYzFcdTBhODZcdTBhYjBcdTBhYzBfXHUwYWFlXHUwYWJlXHUwYWIwXHUwYWNkXHUwYTlhX1x1MGE4Zlx1MGFhYVx1MGFjZFx1MGFiMFx1MGFiZlx1MGFiMl9cdTBhYWVcdTBhYzdf''@;'; put 'put ''XHUwYTljXHUwYWMyXHUwYWE4X1x1MGE5Y1x1MGFjMVx1MGFiMlx1MGFiZVx1MGE4OF9cdTBhOTFcdTBhOTdcdTBhYjhcdTBhY2RcdTBhOWZfXHUwYWI4XHUwYWFhXHUwYWNkXHUwYTlmXHUwYWM3XHUwYWFlXHUwYWNkXHUwYWFjXHUwYWIwX1x1MGE5MVx1MGE5NVx1MGFjZFx1MGE5Zlx1MGFj''@;'; put 'put ''ZFx1MGFhY1x1MGFiMF9cdTBhYThcdTBhYjVcdTBhYzdcdTBhYWVcdTBhY2RcdTBhYWNcdTBhYjBfXHUwYWExXHUwYWJmXHUwYWI4XHUwYWM3XHUwYWFlXHUwYWNkXHUwYWFjXHUwYWIwIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTBhOWNcdTBhYmVcdTBhYThcdTBhY2RcdTBhYWZcdTBh''@;'; put 'put ''YzEuX1x1MGFhYlx1MGFjN1x1MGFhY1x1MGFjZFx1MGFiMFx1MGFjMS5fXHUwYWFlXHUwYWJlXHUwYWIwXHUwYWNkXHUwYTlhX1x1MGE4Zlx1MGFhYVx1MGFjZFx1MGFiMFx1MGFiZi5fXHUwYWFlXHUwYWM3X1x1MGE5Y1x1MGFjMlx1MGFhOF9cdTBhOWNcdTBhYzFcdTBhYjJcdTBhYmUuX1x1''@;'; put 'put ''MGE5MVx1MGE5Ny5fXHUwYWI4XHUwYWFhXHUwYWNkXHUwYTlmXHUwYWM3Ll9cdTBhOTFcdTBhOTVcdTBhY2RcdTBhOWZcdTBhY2QuX1x1MGFhOFx1MGFiNVx1MGFjNy5fXHUwYWExXHUwYWJmXHUwYWI4XHUwYWM3LiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJc''@;'; put 'put ''dTBhYjBcdTBhYjVcdTBhYmZcdTBhYjVcdTBhYmVcdTBhYjBfXHUwYWI4XHUwYWNiXHUwYWFlXHUwYWI1XHUwYWJlXHUwYWIwX1x1MGFhZVx1MGE4Mlx1MGE5N1x1MGFiM1x1MGFiNVx1MGFiZVx1MGFiMF9cdTBhYWNcdTBhYzFcdTBhYTdcdTBhY2RcdTBhYjVcdTBhYmVcdTBhYjBfXHUwYTk3''@;'; put 'put ''XHUwYWMxXHUwYWIwXHUwYWMxXHUwYWI1XHUwYWJlXHUwYWIwX1x1MGFiNlx1MGFjMVx1MGE5NVx1MGFjZFx1MGFiMFx1MGFiNVx1MGFiZVx1MGFiMF9cdTBhYjZcdTBhYThcdTBhYmZcdTBhYjVcdTBhYmVcdTBhYjAiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwYWIwXHUwYWI1XHUw''@;'; put 'put ''YWJmX1x1MGFiOFx1MGFjYlx1MGFhZV9cdTBhYWVcdTBhODJcdTBhOTdcdTBhYjNfXHUwYWFjXHUwYWMxXHUwYWE3XHUwYWNkX1x1MGE5N1x1MGFjMVx1MGFiMFx1MGFjMV9cdTBhYjZcdTBhYzFcdTBhOTVcdTBhY2RcdTBhYjBfXHUwYWI2XHUwYWE4XHUwYWJmIi5zcGxpdCgiXyIpLHdlZWtk''@;'; put 'put ''YXlzTWluOiJcdTBhYjBfXHUwYWI4XHUwYWNiX1x1MGFhZVx1MGE4Ml9cdTBhYWNcdTBhYzFfXHUwYTk3XHUwYWMxX1x1MGFiNlx1MGFjMV9cdTBhYjYiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJBIGg6bW0gXHUwYWI1XHUwYWJlXHUwYTk3XHUwYWNkXHUwYWFmXHUwYWM3IixM''@;'; put 'put ''VFM6IkEgaDptbTpzcyBcdTBhYjVcdTBhYmVcdTBhOTdcdTBhY2RcdTBhYWZcdTBhYzciLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSwgQSBoOm1tIFx1MGFiNVx1MGFiZVx1MGE5N1x1MGFjZFx1MGFhZlx1MGFjNyIsTExMTDoiZGRkZCwgRCBNTU1N''@;'; put 'put ''IFlZWVksIEEgaDptbSBcdTBhYjVcdTBhYmVcdTBhOTdcdTBhY2RcdTBhYWZcdTBhYzcifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MGE4Nlx1MGE5Y10gTFQiLG5leHREYXk6IltcdTBhOTVcdTBhYmVcdTBhYjJcdTBhYzddIExUIixuZXh0V2VlazoiZGRkZCwgTFQiLGxhc3REYXk6IltcdTBh''@;'; put 'put ''OTdcdTBhODdcdTBhOTVcdTBhYmVcdTBhYjJcdTBhYzddIExUIixsYXN0V2VlazoiW1x1MGFhYVx1MGFiZVx1MGE5Ylx1MGFiMlx1MGFiZV0gZGRkZCwgTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIFx1MGFhZVx1MGFiZSIscGFzdDoiJXMgXHUwYWFhXHUwYWI5''@;'; put 'put ''XHUwYWM3XHUwYWIyXHUwYWJlIixzOiJcdTBhODVcdTBhYWVcdTBhYzFcdTBhOTUgXHUwYWFhXHUwYWIzXHUwYWNiIixzczoiJWQgXHUwYWI4XHUwYWM3XHUwYTk1XHUwYTgyXHUwYWExIixtOiJcdTBhOGZcdTBhOTUgXHUwYWFlXHUwYWJmXHUwYWE4XHUwYWJmXHUwYTlmIixtbToiJWQgXHUw''@;'; put 'put ''YWFlXHUwYWJmXHUwYWE4XHUwYWJmXHUwYTlmIixoOiJcdTBhOGZcdTBhOTUgXHUwYTk1XHUwYWIyXHUwYWJlXHUwYTk1IixoaDoiJWQgXHUwYTk1XHUwYWIyXHUwYWJlXHUwYTk1IixkOiJcdTBhOGZcdTBhOTUgXHUwYWE2XHUwYWJmXHUwYWI1XHUwYWI4IixkZDoiJWQgXHUwYWE2XHUwYWJm''@;'; put 'put ''XHUwYWI1XHUwYWI4IixNOiJcdTBhOGZcdTBhOTUgXHUwYWFlXHUwYWI5XHUwYWJmXHUwYWE4XHUwYWNiIixNTToiJWQgXHUwYWFlXHUwYWI5XHUwYWJmXHUwYWE4XHUwYWNiIix5OiJcdTBhOGZcdTBhOTUgXHUwYWI1XHUwYWIwXHUwYWNkXHUwYWI3Iix5eToiJWQgXHUwYWI1XHUwYWIwXHUw''@;'; put 'put ''YWNkXHUwYWI3In0scHJlcGFyc2U6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvW1x1MGFlN1x1MGFlOFx1MGFlOVx1MGFlYVx1MGFlYlx1MGFlY1x1MGFlZFx1MGFlZVx1MGFlZlx1MGFlNl0vZyxmdW5jdGlvbihBKXtyZXR1cm4gZ2VbQV19KX0scG9zdGZvcm1hdDpmdW5jdGlvbiha''@;'; put 'put ''KXtyZXR1cm4gWi5yZXBsYWNlKC9cZC9nLGZ1bmN0aW9uKEEpe3JldHVybiBvZVtBXX0pfSxtZXJpZGllbVBhcnNlOi9cdTBhYjBcdTBhYmVcdTBhYTR8XHUwYWFjXHUwYWFhXHUwYWNiXHUwYWIwfFx1MGFiOFx1MGFiNVx1MGFiZVx1MGFiMHxcdTBhYjhcdTBhYmVcdTBhODJcdTBhOWMvLG1l''@;'; put 'put ''cmlkaWVtSG91cjpmdW5jdGlvbihaLEEpe3JldHVybiAxMj09PVomJihaPTApLCJcdTBhYjBcdTBhYmVcdTBhYTQiPT09QT9aPDQ/WjpaKzEyOiJcdTBhYjhcdTBhYjVcdTBhYmVcdTBhYjAiPT09QT9aOiJcdTBhYWNcdTBhYWFcdTBhY2JcdTBhYjAiPT09QT9aPj0xMD9aOlorMTI6Ilx1MGFi''@;'; put 'put ''OFx1MGFiZVx1MGE4Mlx1MGE5YyI9PT1BP1orMTI6dm9pZCAwfSxtZXJpZGllbTpmdW5jdGlvbihaLEEsail7cmV0dXJuIFo8ND8iXHUwYWIwXHUwYWJlXHUwYWE0IjpaPDEwPyJcdTBhYjhcdTBhYjVcdTBhYmVcdTBhYjAiOlo8MTc/Ilx1MGFhY1x1MGFhYVx1MGFjYlx1MGFiMCI6WjwyMD8i''@;'; put 'put ''XHUwYWI4XHUwYWJlXHUwYTgyXHUwYTljIjoiXHUwYWIwXHUwYWJlXHUwYWE0In0sd2Vlazp7ZG93OjAsZG95OjZ9fSl9KEZlKDY3MzgpKX0sMTIyMjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJoZSIse21vbnRoczoiXHUw''@;'; put 'put ''NWQ5XHUwNWUwXHUwNWQ1XHUwNWQwXHUwNWU4X1x1MDVlNFx1MDVkMVx1MDVlOFx1MDVkNVx1MDVkMFx1MDVlOF9cdTA1ZGVcdTA1ZThcdTA1ZTVfXHUwNWQwXHUwNWU0XHUwNWU4XHUwNWQ5XHUwNWRjX1x1MDVkZVx1MDVkMFx1MDVkOV9cdTA1ZDlcdTA1ZDVcdTA1ZTBcdTA1ZDlfXHUwNWQ5''@;'; put 'put ''XHUwNWQ1XHUwNWRjXHUwNWQ5X1x1MDVkMFx1MDVkNVx1MDVkMlx1MDVkNVx1MDVlMVx1MDVkOF9cdTA1ZTFcdTA1ZTRcdTA1ZDhcdTA1ZGVcdTA1ZDFcdTA1ZThfXHUwNWQwXHUwNWQ1XHUwNWU3XHUwNWQ4XHUwNWQ1XHUwNWQxXHUwNWU4X1x1MDVlMFx1MDVkNVx1MDVkMVx1MDVkZVx1MDVk''@;'; put 'put ''MVx1MDVlOF9cdTA1ZDNcdTA1ZTZcdTA1ZGVcdTA1ZDFcdTA1ZTgiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MDVkOVx1MDVlMFx1MDVkNVx1MDVmM19cdTA1ZTRcdTA1ZDFcdTA1ZThcdTA1ZjNfXHUwNWRlXHUwNWU4XHUwNWU1X1x1MDVkMFx1MDVlNFx1MDVlOFx1MDVmM19cdTA1ZGVc''@;'; put 'put ''dTA1ZDBcdTA1ZDlfXHUwNWQ5XHUwNWQ1XHUwNWUwXHUwNWQ5X1x1MDVkOVx1MDVkNVx1MDVkY1x1MDVkOV9cdTA1ZDBcdTA1ZDVcdTA1ZDJcdTA1ZjNfXHUwNWUxXHUwNWU0XHUwNWQ4XHUwNWYzX1x1MDVkMFx1MDVkNVx1MDVlN1x1MDVmM19cdTA1ZTBcdTA1ZDVcdTA1ZDFcdTA1ZjNfXHUw''@;'; put 'put ''NWQzXHUwNWU2XHUwNWRlXHUwNWYzIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTA1ZThcdTA1ZDBcdTA1ZTlcdTA1ZDVcdTA1ZGZfXHUwNWU5XHUwNWUwXHUwNWQ5X1x1MDVlOVx1MDVkY1x1MDVkOVx1MDVlOVx1MDVkOV9cdTA1ZThcdTA1ZDFcdTA1ZDlcdTA1ZTJcdTA1ZDlfXHUwNWQ3XHUw''@;'; put 'put ''NWRlXHUwNWQ5XHUwNWU5XHUwNWQ5X1x1MDVlOVx1MDVkOVx1MDVlOVx1MDVkOV9cdTA1ZTlcdTA1ZDFcdTA1ZWEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwNWQwXHUwNWYzX1x1MDVkMVx1MDVmM19cdTA1ZDJcdTA1ZjNfXHUwNWQzXHUwNWYzX1x1MDVkNFx1MDVmM19cdTA1ZDVc''@;'; put 'put ''dTA1ZjNfXHUwNWU5XHUwNWYzIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTA1ZDBfXHUwNWQxX1x1MDVkMl9cdTA1ZDNfXHUwNWQ0X1x1MDVkNV9cdTA1ZTkiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6''@;'; put 'put ''IkQgW1x1MDVkMV1NTU1NIFlZWVkiLExMTDoiRCBbXHUwNWQxXU1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBbXHUwNWQxXU1NTU0gWVlZWSBISDptbSIsbDoiRC9NL1lZWVkiLGxsOiJEIE1NTSBZWVlZIixsbGw6IkQgTU1NIFlZWVkgSEg6bW0iLGxsbGw6ImRkZCwgRCBNTU0gWVlZ''@;'; put 'put ''WSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNWQ0XHUwNWQ5XHUwNWQ1XHUwNWRkIFx1MDVkMVx1MDViZV1MVCIsbmV4dERheToiW1x1MDVkZVx1MDVkN1x1MDVlOCBcdTA1ZDFcdTA1YmVdTFQiLG5leHRXZWVrOiJkZGRkIFtcdTA1ZDFcdTA1ZTlcdTA1ZTJcdTA1ZDRdIExUIixs''@;'; put 'put ''YXN0RGF5OiJbXHUwNWQwXHUwNWVhXHUwNWRlXHUwNWQ1XHUwNWRjIFx1MDVkMVx1MDViZV1MVCIsbGFzdFdlZWs6IltcdTA1ZDFcdTA1ZDlcdTA1ZDVcdTA1ZGRdIGRkZGQgW1x1MDVkNFx1MDVkMFx1MDVkN1x1MDVlOFx1MDVkNVx1MDVkZiBcdTA1ZDFcdTA1ZTlcdTA1ZTJcdTA1ZDRdIExU''@;'; put 'put ''IixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTA1ZDFcdTA1ZTJcdTA1ZDVcdTA1ZDMgJXMiLHBhc3Q6Ilx1MDVkY1x1MDVlNFx1MDVlMFx1MDVkOSAlcyIsczoiXHUwNWRlXHUwNWUxXHUwNWU0XHUwNWU4IFx1MDVlOVx1MDVlMFx1MDVkOVx1MDVkNVx1MDVlYSIsc3M6''@;'; put 'put ''IiVkIFx1MDVlOVx1MDVlMFx1MDVkOVx1MDVkNVx1MDVlYSIsbToiXHUwNWQzXHUwNWU3XHUwNWQ0IixtbToiJWQgXHUwNWQzXHUwNWU3XHUwNWQ1XHUwNWVhIixoOiJcdTA1ZTlcdTA1ZTJcdTA1ZDQiLGhoOmZ1bmN0aW9uKGdlKXtyZXR1cm4gMj09PWdlPyJcdTA1ZTlcdTA1ZTJcdTA1ZWFc''@;'; put 'put ''dTA1ZDlcdTA1ZDlcdTA1ZGQiOmdlKyIgXHUwNWU5XHUwNWUyXHUwNWQ1XHUwNWVhIn0sZDoiXHUwNWQ5XHUwNWQ1XHUwNWRkIixkZDpmdW5jdGlvbihnZSl7cmV0dXJuIDI9PT1nZT8iXHUwNWQ5XHUwNWQ1XHUwNWRlXHUwNWQ5XHUwNWQ5XHUwNWRkIjpnZSsiIFx1MDVkOVx1MDVkZVx1MDVk''@;'; put 'put ''OVx1MDVkZCJ9LE06Ilx1MDVkN1x1MDVkNVx1MDVkM1x1MDVlOSIsTU06ZnVuY3Rpb24oZ2Upe3JldHVybiAyPT09Z2U/Ilx1MDVkN1x1MDVkNVx1MDVkM1x1MDVlOVx1MDVkOVx1MDVkOVx1MDVkZCI6Z2UrIiBcdTA1ZDdcdTA1ZDVcdTA1ZDNcdTA1ZTlcdTA1ZDlcdTA1ZGQifSx5OiJcdTA1''@;'; put 'put ''ZTlcdTA1ZTBcdTA1ZDQiLHl5OmZ1bmN0aW9uKGdlKXtyZXR1cm4gMj09PWdlPyJcdTA1ZTlcdTA1ZTBcdTA1ZWFcdTA1ZDlcdTA1ZDlcdTA1ZGQiOmdlJTEwPT0wJiYxMCE9PWdlP2dlKyIgXHUwNWU5XHUwNWUwXHUwNWQ0IjpnZSsiIFx1MDVlOVx1MDVlMFx1MDVkOVx1MDVkZCJ9fSxtZXJp''@;'; put 'put ''ZGllbVBhcnNlOi9cdTA1ZDBcdTA1ZDdcdTA1ZDQiXHUwNWU2fFx1MDVkY1x1MDVlNFx1MDVlMFx1MDVkNCJcdTA1ZTZ8XHUwNWQwXHUwNWQ3XHUwNWU4XHUwNWQ5IFx1MDVkNFx1MDVlNlx1MDVkNFx1MDVlOFx1MDVkOVx1MDVkOVx1MDVkZHxcdTA1ZGNcdTA1ZTRcdTA1ZTBcdTA1ZDkgXHUw''@;'; put 'put ''NWQ0XHUwNWU2XHUwNWQ0XHUwNWU4XHUwNWQ5XHUwNWQ5XHUwNWRkfFx1MDVkY1x1MDVlNFx1MDVlMFx1MDVkNVx1MDVlYSBcdTA1ZDFcdTA1ZDVcdTA1ZTdcdTA1ZTh8XHUwNWQxXHUwNWQxXHUwNWQ1XHUwNWU3XHUwNWU4fFx1MDVkMVx1MDVlMlx1MDVlOFx1MDVkMS9pLGlzUE06ZnVuY3Rp''@;'; put 'put ''b24oZ2Upe3JldHVybi9eKFx1MDVkMFx1MDVkN1x1MDVkNCJcdTA1ZTZ8XHUwNWQwXHUwNWQ3XHUwNWU4XHUwNWQ5IFx1MDVkNFx1MDVlNlx1MDVkNFx1MDVlOFx1MDVkOVx1MDVkOVx1MDVkZHxcdTA1ZDFcdTA1ZTJcdTA1ZThcdTA1ZDEpJC8udGVzdChnZSl9LG1lcmlkaWVtOmZ1bmN0aW9u''@;'; put 'put ''KGdlLGhlLFope3JldHVybiBnZTw1PyJcdTA1ZGNcdTA1ZTRcdTA1ZTBcdTA1ZDVcdTA1ZWEgXHUwNWQxXHUwNWQ1XHUwNWU3XHUwNWU4IjpnZTwxMD8iXHUwNWQxXHUwNWQxXHUwNWQ1XHUwNWU3XHUwNWU4IjpnZTwxMj9aPydcdTA1ZGNcdTA1ZTRcdTA1ZTBcdTA1ZDQiXHUwNWU2JzoiXHUw''@;'; put 'put ''NWRjXHUwNWU0XHUwNWUwXHUwNWQ5IFx1MDVkNFx1MDVlNlx1MDVkNFx1MDVlOFx1MDVkOVx1MDVkOVx1MDVkZCI6Z2U8MTg/Wj8nXHUwNWQwXHUwNWQ3XHUwNWQ0Ilx1MDVlNic6Ilx1MDVkMFx1MDVkN1x1MDVlOFx1MDVkOSBcdTA1ZDRcdTA1ZTZcdTA1ZDRcdTA1ZThcdTA1ZDlcdTA1ZDlc''@;'; put 'put ''dTA1ZGQiOiJcdTA1ZDFcdTA1ZTJcdTA1ZThcdTA1ZDEifX0pfShGZSg2NzM4KSl9LDQyMzU6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MToiXHUwOTY3IiwyOiJcdTA5NjgiLDM6Ilx1MDk2OSIsNDoiXHUwOTZhIiw1OiJcdTA5NmIiLDY6''@;'; put 'put ''Ilx1MDk2YyIsNzoiXHUwOTZkIiw4OiJcdTA5NmUiLDk6Ilx1MDk2ZiIsMDoiXHUwOTY2In0sZ2U9eyJcdTA5NjciOiIxIiwiXHUwOTY4IjoiMiIsIlx1MDk2OSI6IjMiLCJcdTA5NmEiOiI0IiwiXHUwOTZiIjoiNSIsIlx1MDk2YyI6IjYiLCJcdTA5NmQiOiI3IiwiXHUwOTZlIjoiOCIsIlx1''@;'; put 'put ''MDk2ZiI6IjkiLCJcdTA5NjYiOiIwIn0saGU9Wy9eXHUwOTFjXHUwOTI4L2ksL15cdTA5MmJcdTA5M2NcdTA5MzB8XHUwOTJiXHUwOTMwL2ksL15cdTA5MmVcdTA5M2VcdTA5MzBcdTA5NGRcdTA5MWEvaSwvXlx1MDkwNVx1MDkyYVx1MDk0ZFx1MDkzMFx1MDk0OC9pLC9eXHUwOTJlXHUwOTA4''@;'; put 'put ''L2ksL15cdTA5MWNcdTA5NDJcdTA5MjgvaSwvXlx1MDkxY1x1MDk0MVx1MDkzMi9pLC9eXHUwOTA1XHUwOTE3L2ksL15cdTA5MzhcdTA5M2ZcdTA5MjRcdTA5MDJ8XHUwOTM4XHUwOTNmXHUwOTI0L2ksL15cdTA5MDVcdTA5MTVcdTA5NGRcdTA5MWZcdTA5NDIvaSwvXlx1MDkyOFx1MDkzNXxc''@;'; put 'put ''dTA5MjhcdTA5MzVcdTA5MDIvaSwvXlx1MDkyNlx1MDkzZlx1MDkzOFx1MDkwMnxcdTA5MjZcdTA5M2ZcdTA5MzgvaV07Q2UuZGVmaW5lTG9jYWxlKCJoaSIse21vbnRoczp7Zm9ybWF0OiJcdTA5MWNcdTA5MjhcdTA5MzVcdTA5MzBcdTA5NDBfXHUwOTJiXHUwOTNjXHUwOTMwXHUwOTM1XHUw''@;'; put 'put ''OTMwXHUwOTQwX1x1MDkyZVx1MDkzZVx1MDkzMFx1MDk0ZFx1MDkxYV9cdTA5MDVcdTA5MmFcdTA5NGRcdTA5MzBcdTA5NDhcdTA5MzJfXHUwOTJlXHUwOTA4X1x1MDkxY1x1MDk0Mlx1MDkyOF9cdTA5MWNcdTA5NDFcdTA5MzJcdTA5M2VcdTA5MDhfXHUwOTA1XHUwOTE3XHUwOTM4XHUwOTRk''@;'; put 'put ''XHUwOTI0X1x1MDkzOFx1MDkzZlx1MDkyNFx1MDkyZVx1MDk0ZFx1MDkyY1x1MDkzMF9cdTA5MDVcdTA5MTVcdTA5NGRcdTA5MWZcdTA5NDJcdTA5MmNcdTA5MzBfXHUwOTI4XHUwOTM1XHUwOTJlXHUwOTRkXHUwOTJjXHUwOTMwX1x1MDkyNlx1MDkzZlx1MDkzOFx1MDkyZVx1MDk0ZFx1MDky''@;'; put 'put ''Y1x1MDkzMCIuc3BsaXQoIl8iKSxzdGFuZGFsb25lOiJcdTA5MWNcdTA5MjhcdTA5MzVcdTA5MzBcdTA5NDBfXHUwOTJiXHUwOTMwXHUwOTM1XHUwOTMwXHUwOTQwX1x1MDkyZVx1MDkzZVx1MDkzMFx1MDk0ZFx1MDkxYV9cdTA5MDVcdTA5MmFcdTA5NGRcdTA5MzBcdTA5NDhcdTA5MzJfXHUw''@;'; put 'put ''OTJlXHUwOTA4X1x1MDkxY1x1MDk0Mlx1MDkyOF9cdTA5MWNcdTA5NDFcdTA5MzJcdTA5M2VcdTA5MDhfXHUwOTA1XHUwOTE3XHUwOTM4XHUwOTRkXHUwOTI0X1x1MDkzOFx1MDkzZlx1MDkyNFx1MDkwMlx1MDkyY1x1MDkzMF9cdTA5MDVcdTA5MTVcdTA5NGRcdTA5MWZcdTA5NDJcdTA5MmNc''@;'; put 'put ''dTA5MzBfXHUwOTI4XHUwOTM1XHUwOTAyXHUwOTJjXHUwOTMwX1x1MDkyNlx1MDkzZlx1MDkzOFx1MDkwMlx1MDkyY1x1MDkzMCIuc3BsaXQoIl8iKX0sbW9udGhzU2hvcnQ6Ilx1MDkxY1x1MDkyOC5fXHUwOTJiXHUwOTNjXHUwOTMwLl9cdTA5MmVcdTA5M2VcdTA5MzBcdTA5NGRcdTA5MWFf''@;'; put 'put ''XHUwOTA1XHUwOTJhXHUwOTRkXHUwOTMwXHUwOTQ4Ll9cdTA5MmVcdTA5MDhfXHUwOTFjXHUwOTQyXHUwOTI4X1x1MDkxY1x1MDk0MVx1MDkzMi5fXHUwOTA1XHUwOTE3Ll9cdTA5MzhcdTA5M2ZcdTA5MjQuX1x1MDkwNVx1MDkxNVx1MDk0ZFx1MDkxZlx1MDk0Mi5fXHUwOTI4XHUwOTM1Ll9c''@;'; put 'put ''dTA5MjZcdTA5M2ZcdTA5MzguIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTA5MzBcdTA5MzVcdTA5M2ZcdTA5MzVcdTA5M2VcdTA5MzBfXHUwOTM4XHUwOTRiXHUwOTJlXHUwOTM1XHUwOTNlXHUwOTMwX1x1MDkyZVx1MDkwMlx1MDkxN1x1MDkzMlx1MDkzNVx1MDkzZVx1MDkzMF9cdTA5MmNc''@;'; put 'put ''dTA5NDFcdTA5MjdcdTA5MzVcdTA5M2VcdTA5MzBfXHUwOTE3XHUwOTQxXHUwOTMwXHUwOTQyXHUwOTM1XHUwOTNlXHUwOTMwX1x1MDkzNlx1MDk0MVx1MDkxNVx1MDk0ZFx1MDkzMFx1MDkzNVx1MDkzZVx1MDkzMF9cdTA5MzZcdTA5MjhcdTA5M2ZcdTA5MzVcdTA5M2VcdTA5MzAiLnNwbGl0''@;'; put 'put ''KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwOTMwXHUwOTM1XHUwOTNmX1x1MDkzOFx1MDk0Ylx1MDkyZV9cdTA5MmVcdTA5MDJcdTA5MTdcdTA5MzJfXHUwOTJjXHUwOTQxXHUwOTI3X1x1MDkxN1x1MDk0MVx1MDkzMFx1MDk0Ml9cdTA5MzZcdTA5NDFcdTA5MTVcdTA5NGRcdTA5MzBfXHUwOTM2''@;'; put 'put ''XHUwOTI4XHUwOTNmIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTA5MzBfXHUwOTM4XHUwOTRiX1x1MDkyZVx1MDkwMl9cdTA5MmNcdTA5NDFfXHUwOTE3XHUwOTQxX1x1MDkzNlx1MDk0MV9cdTA5MzYiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJBIGg6bW0gXHUwOTJjXHUw''@;'; put 'put ''OTFjXHUwOTQ3IixMVFM6IkEgaDptbTpzcyBcdTA5MmNcdTA5MWNcdTA5NDciLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSwgQSBoOm1tIFx1MDkyY1x1MDkxY1x1MDk0NyIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVksIEEgaDptbSBcdTA5MmNcdTA5''@;'; put 'put ''MWNcdTA5NDcifSxtb250aHNQYXJzZTpoZSxsb25nTW9udGhzUGFyc2U6aGUsc2hvcnRNb250aHNQYXJzZTpbL15cdTA5MWNcdTA5MjgvaSwvXlx1MDkyYlx1MDkzY1x1MDkzMC9pLC9eXHUwOTJlXHUwOTNlXHUwOTMwXHUwOTRkXHUwOTFhL2ksL15cdTA5MDVcdTA5MmFcdTA5NGRcdTA5MzBc''@;'; put 'put ''dTA5NDgvaSwvXlx1MDkyZVx1MDkwOC9pLC9eXHUwOTFjXHUwOTQyXHUwOTI4L2ksL15cdTA5MWNcdTA5NDFcdTA5MzIvaSwvXlx1MDkwNVx1MDkxNy9pLC9eXHUwOTM4XHUwOTNmXHUwOTI0L2ksL15cdTA5MDVcdTA5MTVcdTA5NGRcdTA5MWZcdTA5NDIvaSwvXlx1MDkyOFx1MDkzNS9pLC9e''@;'; put 'put ''XHUwOTI2XHUwOTNmXHUwOTM4L2ldLG1vbnRoc1JlZ2V4Oi9eKFx1MDkxY1x1MDkyOFx1MDkzNVx1MDkzMFx1MDk0MHxcdTA5MWNcdTA5MjhcLj98XHUwOTJiXHUwOTNjXHUwOTMwXHUwOTM1XHUwOTMwXHUwOTQwfFx1MDkyYlx1MDkzMFx1MDkzNVx1MDkzMFx1MDk0MHxcdTA5MmJcdTA5M2Nc''@;'; put 'put ''dTA5MzBcLj98XHUwOTJlXHUwOTNlXHUwOTMwXHUwOTRkXHUwOTFhP3xcdTA5MDVcdTA5MmFcdTA5NGRcdTA5MzBcdTA5NDhcdTA5MzJ8XHUwOTA1XHUwOTJhXHUwOTRkXHUwOTMwXHUwOTQ4XC4/fFx1MDkyZVx1MDkwOD98XHUwOTFjXHUwOTQyXHUwOTI4P3xcdTA5MWNcdTA5NDFcdTA5MzJc''@;'; put 'put ''dTA5M2VcdTA5MDh8XHUwOTFjXHUwOTQxXHUwOTMyXC4/fFx1MDkwNVx1MDkxN1x1MDkzOFx1MDk0ZFx1MDkyNHxcdTA5MDVcdTA5MTdcLj98XHUwOTM4XHUwOTNmXHUwOTI0XHUwOTJlXHUwOTRkXHUwOTJjXHUwOTMwfFx1MDkzOFx1MDkzZlx1MDkyNFx1MDkwMlx1MDkyY1x1MDkzMHxcdTA5''@;'; put 'put ''MzhcdTA5M2ZcdTA5MjRcLj98XHUwOTA1XHUwOTE1XHUwOTRkXHUwOTFmXHUwOTQyXHUwOTJjXHUwOTMwfFx1MDkwNVx1MDkxNVx1MDk0ZFx1MDkxZlx1MDk0MlwuP3xcdTA5MjhcdTA5MzVcdTA5MmVcdTA5NGRcdTA5MmNcdTA5MzB8XHUwOTI4XHUwOTM1XHUwOTAyXHUwOTJjXHUwOTMwfFx1''@;'; put 'put ''MDkyOFx1MDkzNVwuP3xcdTA5MjZcdTA5M2ZcdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmNcdTA5MzB8XHUwOTI2XHUwOTNmXHUwOTM4XHUwOTAyXHUwOTJjXHUwOTMwfFx1MDkyNlx1MDkzZlx1MDkzOFwuPykvaSxtb250aHNTaG9ydFJlZ2V4Oi9eKFx1MDkxY1x1MDkyOFx1MDkzNVx1MDkzMFx1''@;'; put 'put ''MDk0MHxcdTA5MWNcdTA5MjhcLj98XHUwOTJiXHUwOTNjXHUwOTMwXHUwOTM1XHUwOTMwXHUwOTQwfFx1MDkyYlx1MDkzMFx1MDkzNVx1MDkzMFx1MDk0MHxcdTA5MmJcdTA5M2NcdTA5MzBcLj98XHUwOTJlXHUwOTNlXHUwOTMwXHUwOTRkXHUwOTFhP3xcdTA5MDVcdTA5MmFcdTA5NGRcdTA5''@;'; put 'put ''MzBcdTA5NDhcdTA5MzJ8XHUwOTA1XHUwOTJhXHUwOTRkXHUwOTMwXHUwOTQ4XC4/fFx1MDkyZVx1MDkwOD98XHUwOTFjXHUwOTQyXHUwOTI4P3xcdTA5MWNcdTA5NDFcdTA5MzJcdTA5M2VcdTA5MDh8XHUwOTFjXHUwOTQxXHUwOTMyXC4/fFx1MDkwNVx1MDkxN1x1MDkzOFx1MDk0ZFx1MDky''@;'; put 'put ''NHxcdTA5MDVcdTA5MTdcLj98XHUwOTM4XHUwOTNmXHUwOTI0XHUwOTJlXHUwOTRkXHUwOTJjXHUwOTMwfFx1MDkzOFx1MDkzZlx1MDkyNFx1MDkwMlx1MDkyY1x1MDkzMHxcdTA5MzhcdTA5M2ZcdTA5MjRcLj98XHUwOTA1XHUwOTE1XHUwOTRkXHUwOTFmXHUwOTQyXHUwOTJjXHUwOTMwfFx1''@;'; put 'put ''MDkwNVx1MDkxNVx1MDk0ZFx1MDkxZlx1MDk0MlwuP3xcdTA5MjhcdTA5MzVcdTA5MmVcdTA5NGRcdTA5MmNcdTA5MzB8XHUwOTI4XHUwOTM1XHUwOTAyXHUwOTJjXHUwOTMwfFx1MDkyOFx1MDkzNVwuP3xcdTA5MjZcdTA5M2ZcdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmNcdTA5MzB8XHUwOTI2''@;'; put 'put ''XHUwOTNmXHUwOTM4XHUwOTAyXHUwOTJjXHUwOTMwfFx1MDkyNlx1MDkzZlx1MDkzOFwuPykvaSxtb250aHNTdHJpY3RSZWdleDovXihcdTA5MWNcdTA5MjhcdTA5MzVcdTA5MzBcdTA5NDA/fFx1MDkyYlx1MDkzY1x1MDkzMFx1MDkzNVx1MDkzMFx1MDk0MHxcdTA5MmJcdTA5MzBcdTA5MzVc''@;'; put 'put ''dTA5MzBcdTA5NDA/fFx1MDkyZVx1MDkzZVx1MDkzMFx1MDk0ZFx1MDkxYT98XHUwOTA1XHUwOTJhXHUwOTRkXHUwOTMwXHUwOTQ4XHUwOTMyP3xcdTA5MmVcdTA5MDg/fFx1MDkxY1x1MDk0Mlx1MDkyOD98XHUwOTFjXHUwOTQxXHUwOTMyXHUwOTNlXHUwOTA4P3xcdTA5MDVcdTA5MTdcdTA5''@;'; put 'put ''MzhcdTA5NGRcdTA5MjQ/fFx1MDkzOFx1MDkzZlx1MDkyNFx1MDkyZVx1MDk0ZFx1MDkyY1x1MDkzMHxcdTA5MzhcdTA5M2ZcdTA5MjRcdTA5MDJcdTA5MmNcdTA5MzB8XHUwOTM4XHUwOTNmXHUwOTI0P1wuP3xcdTA5MDVcdTA5MTVcdTA5NGRcdTA5MWZcdTA5NDJcdTA5MmNcdTA5MzB8XHUw''@;'; put 'put ''OTA1XHUwOTE1XHUwOTRkXHUwOTFmXHUwOTQyXC4/fFx1MDkyOFx1MDkzNVx1MDkyZVx1MDk0ZFx1MDkyY1x1MDkzMHxcdTA5MjhcdTA5MzVcdTA5MDJcdTA5MmNcdTA5MzA/fFx1MDkyNlx1MDkzZlx1MDkzOFx1MDkyZVx1MDk0ZFx1MDkyY1x1MDkzMHxcdTA5MjZcdTA5M2ZcdTA5MzhcdTA5''@;'; put 'put ''MDJcdTA5MmNcdTA5MzA/KS9pLG1vbnRoc1Nob3J0U3RyaWN0UmVnZXg6L14oXHUwOTFjXHUwOTI4XC4/fFx1MDkyYlx1MDkzY1x1MDkzMFwuP3xcdTA5MmVcdTA5M2VcdTA5MzBcdTA5NGRcdTA5MWE/fFx1MDkwNVx1MDkyYVx1MDk0ZFx1MDkzMFx1MDk0OFwuP3xcdTA5MmVcdTA5MDg/fFx1''@;'; put 'put ''MDkxY1x1MDk0Mlx1MDkyOD98XHUwOTFjXHUwOTQxXHUwOTMyXC4/fFx1MDkwNVx1MDkxN1wuP3xcdTA5MzhcdTA5M2ZcdTA5MjRcLj98XHUwOTA1XHUwOTE1XHUwOTRkXHUwOTFmXHUwOTQyXC4/fFx1MDkyOFx1MDkzNVwuP3xcdTA5MjZcdTA5M2ZcdTA5MzhcLj8pL2ksY2FsZW5kYXI6e3Nh''@;'; put 'put ''bWVEYXk6IltcdTA5MDZcdTA5MWNdIExUIixuZXh0RGF5OiJbXHUwOTE1XHUwOTMyXSBMVCIsbmV4dFdlZWs6ImRkZGQsIExUIixsYXN0RGF5OiJbXHUwOTE1XHUwOTMyXSBMVCIsbGFzdFdlZWs6IltcdTA5MmFcdTA5M2ZcdTA5MWJcdTA5MzJcdTA5NDddIGRkZGQsIExUIixzYW1lRWxzZToi''@;'; put 'put ''TCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBcdTA5MmVcdTA5NDdcdTA5MDIiLHBhc3Q6IiVzIFx1MDkyYVx1MDkzOVx1MDkzMlx1MDk0NyIsczoiXHUwOTE1XHUwOTQxXHUwOTFiIFx1MDkzOVx1MDk0MCBcdTA5MTVcdTA5NGRcdTA5MzdcdTA5MjMiLHNzOiIlZCBcdTA5MzhcdTA5NDdc''@;'; put 'put ''dTA5MTVcdTA5MDJcdTA5MjEiLG06Ilx1MDkwZlx1MDkxNSBcdTA5MmVcdTA5M2ZcdTA5MjhcdTA5MWYiLG1tOiIlZCBcdTA5MmVcdTA5M2ZcdTA5MjhcdTA5MWYiLGg6Ilx1MDkwZlx1MDkxNSBcdTA5MThcdTA5MDJcdTA5MWZcdTA5M2UiLGhoOiIlZCBcdTA5MThcdTA5MDJcdTA5MWZcdTA5''@;'; put 'put ''NDciLGQ6Ilx1MDkwZlx1MDkxNSBcdTA5MjZcdTA5M2ZcdTA5MjgiLGRkOiIlZCBcdTA5MjZcdTA5M2ZcdTA5MjgiLE06Ilx1MDkwZlx1MDkxNSBcdTA5MmVcdTA5MzlcdTA5NDBcdTA5MjhcdTA5NDciLE1NOiIlZCBcdTA5MmVcdTA5MzlcdTA5NDBcdTA5MjhcdTA5NDciLHk6Ilx1MDkwZlx1''@;'; put 'put ''MDkxNSBcdTA5MzVcdTA5MzBcdTA5NGRcdTA5MzciLHl5OiIlZCBcdTA5MzVcdTA5MzBcdTA5NGRcdTA5MzcifSxwcmVwYXJzZTpmdW5jdGlvbihqKXtyZXR1cm4gai5yZXBsYWNlKC9bXHUwOTY3XHUwOTY4XHUwOTY5XHUwOTZhXHUwOTZiXHUwOTZjXHUwOTZkXHUwOTZlXHUwOTZmXHUwOTY2''@;'; put 'put ''XS9nLGZ1bmN0aW9uKE4pe3JldHVybiBnZVtOXX0pfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKGope3JldHVybiBqLnJlcGxhY2UoL1xkL2csZnVuY3Rpb24oTil7cmV0dXJuIG9lW05dfSl9LG1lcmlkaWVtUGFyc2U6L1x1MDkzMFx1MDkzZVx1MDkyNHxcdTA5MzhcdTA5NDFcdTA5MmNcdTA5Mzl8''@;'; put 'put ''XHUwOTI2XHUwOTRiXHUwOTJhXHUwOTM5XHUwOTMwfFx1MDkzNlx1MDkzZVx1MDkyZS8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKGosTil7cmV0dXJuIDEyPT09aiYmKGo9MCksIlx1MDkzMFx1MDkzZVx1MDkyNCI9PT1OP2o8ND9qOmorMTI6Ilx1MDkzOFx1MDk0MVx1MDkyY1x1MDkzOSI9PT1O''@;'; put 'put ''P2o6Ilx1MDkyNlx1MDk0Ylx1MDkyYVx1MDkzOVx1MDkzMCI9PT1OP2o+PTEwP2o6aisxMjoiXHUwOTM2XHUwOTNlXHUwOTJlIj09PU4/aisxMjp2b2lkIDB9LG1lcmlkaWVtOmZ1bmN0aW9uKGosTix6KXtyZXR1cm4gajw0PyJcdTA5MzBcdTA5M2VcdTA5MjQiOmo8MTA/Ilx1MDkzOFx1MDk0''@;'; put 'put ''MVx1MDkyY1x1MDkzOSI6ajwxNz8iXHUwOTI2XHUwOTRiXHUwOTJhXHUwOTM5XHUwOTMwIjpqPDIwPyJcdTA5MzZcdTA5M2VcdTA5MmUiOiJcdTA5MzBcdTA5M2VcdTA5MjQifSx3ZWVrOntkb3c6MCxkb3k6Nn19KX0oRmUoNjczOCkpfSw2MjI6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlv''@;'; put 'put ''bihDZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG9lKGhlLFosQSl7dmFyIGo9aGUrIiAiO3N3aXRjaChBKXtjYXNlInNzIjpyZXR1cm4gaisoMT09PWhlPyJzZWt1bmRhIjoyPT09aGV8fDM9PT1oZXx8ND09PWhlPyJzZWt1bmRlIjoic2VrdW5kaSIpO2Nhc2UibSI6cmV0dXJuIFo/ImplZG5h''@;'; put 'put ''IG1pbnV0YSI6ImplZG5lIG1pbnV0ZSI7Y2FzZSJtbSI6cmV0dXJuIGorKDE9PT1oZT8ibWludXRhIjoyPT09aGV8fDM9PT1oZXx8ND09PWhlPyJtaW51dGUiOiJtaW51dGEiKTtjYXNlImgiOnJldHVybiBaPyJqZWRhbiBzYXQiOiJqZWRub2cgc2F0YSI7Y2FzZSJoaCI6cmV0dXJuIGorKDE9''@;'; put 'put ''PT1oZT8ic2F0IjoyPT09aGV8fDM9PT1oZXx8ND09PWhlPyJzYXRhIjoic2F0aSIpO2Nhc2UiZGQiOnJldHVybiBqKygxPT09aGU/ImRhbiI6ImRhbmEiKTtjYXNlIk1NIjpyZXR1cm4gaisoMT09PWhlPyJtamVzZWMiOjI9PT1oZXx8Mz09PWhlfHw0PT09aGU/Im1qZXNlY2EiOiJtamVzZWNp''@;'; put 'put ''Iik7Y2FzZSJ5eSI6cmV0dXJuIGorKDE9PT1oZT8iZ29kaW5hIjoyPT09aGV8fDM9PT1oZXx8ND09PWhlPyJnb2RpbmUiOiJnb2RpbmEiKX19Q2UuZGVmaW5lTG9jYWxlKCJociIse21vbnRoczp7Zm9ybWF0OiJzaWplXHUwMTBkbmphX3ZlbGphXHUwMTBkZV9vXHUwMTdldWprYV90cmF2bmph''@;'; put 'put ''X3N2aWJuamFfbGlwbmphX3NycG5qYV9rb2xvdm96YV9ydWpuYV9saXN0b3BhZGFfc3R1ZGVub2dhX3Byb3NpbmNhIi5zcGxpdCgiXyIpLHN0YW5kYWxvbmU6InNpamVcdTAxMGRhbmpfdmVsamFcdTAxMGRhX29cdTAxN2V1amFrX3RyYXZhbmpfc3ZpYmFual9saXBhbmpfc3JwYW5qX2tvbG92''@;'; put 'put ''b3pfcnVqYW5fbGlzdG9wYWRfc3R1ZGVuaV9wcm9zaW5hYyIuc3BsaXQoIl8iKX0sbW9udGhzU2hvcnQ6InNpai5fdmVsai5fb1x1MDE3ZXUuX3RyYS5fc3ZpLl9saXAuX3NycC5fa29sLl9ydWouX2xpcy5fc3R1Ll9wcm8uIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2Rh''@;'; put 'put ''eXM6Im5lZGplbGphX3BvbmVkamVsamFrX3V0b3Jha19zcmlqZWRhX1x1MDEwZGV0dnJ0YWtfcGV0YWtfc3Vib3RhIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Im5lZC5fcG9uLl91dG8uX3NyaS5fXHUwMTBkZXQuX3BldC5fc3ViLiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoibmVfcG9f''@;'; put 'put ''dXRfc3JfXHUwMTBkZV9wZV9zdSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJIOm1tIixMVFM6Ikg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJEbyBNTU1NIFlZWVkiLExMTDoiRG8gTU1NTSBZWVlZIEg6bW0iLExMTEw6ImRkZGQsIERv''@;'; put 'put ''IE1NTU0gWVlZWSBIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltkYW5hcyB1XSBMVCIsbmV4dERheToiW3N1dHJhIHVdIExUIixuZXh0V2VlazpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLmRheSgpKXtjYXNlIDA6cmV0dXJuIlt1XSBbbmVkamVsanVdIFt1XSBMVCI7Y2FzZSAzOnJldHVybiJb''@;'; put 'put ''dV0gW3NyaWplZHVdIFt1XSBMVCI7Y2FzZSA2OnJldHVybiJbdV0gW3N1Ym90dV0gW3VdIExUIjtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDU6cmV0dXJuIlt1XSBkZGRkIFt1XSBMVCJ9fSxsYXN0RGF5OiJbanVcdTAxMGRlciB1XSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2go''@;'; put 'put ''dGhpcy5kYXkoKSl7Y2FzZSAwOnJldHVybiJbcHJvXHUwMTYxbHVdIFtuZWRqZWxqdV0gW3VdIExUIjtjYXNlIDM6cmV0dXJuIltwcm9cdTAxNjFsdV0gW3NyaWplZHVdIFt1XSBMVCI7Y2FzZSA2OnJldHVybiJbcHJvXHUwMTYxbGVdIFtzdWJvdGVdIFt1XSBMVCI7Y2FzZSAxOmNhc2UgMjpj''@;'; put 'put ''YXNlIDQ6Y2FzZSA1OnJldHVybiJbcHJvXHUwMTYxbGldIGRkZGQgW3VdIExUIn19LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6InphICVzIixwYXN0OiJwcmlqZSAlcyIsczoicGFyIHNla3VuZGkiLHNzOm9lLG06b2UsbW06b2UsaDpvZSxoaDpvZSxkOiJkYW4iLGRkOm9l''@;'; put 'put ''LE06Im1qZXNlYyIsTU06b2UseToiZ29kaW51Iix5eTpvZX0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDc3MzU6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJp''@;'; put 'put ''Y3QiO3ZhciBvZT0idmFzXHhlMXJuYXAgaFx4ZTl0Zlx1MDE1MW4ga2VkZGVuIHN6ZXJkXHhlMW4gY3NceGZjdFx4ZjZydFx4ZjZrXHhmNm4gcFx4ZTludGVrZW4gc3pvbWJhdG9uIi5zcGxpdCgiICIpO2Z1bmN0aW9uIGdlKEEsaixOLHope3ZhciBDPUE7c3dpdGNoKE4pe2Nhc2UicyI6cmV0''@;'; put 'put ''dXJuIHp8fGo/Im5ceGU5aFx4ZTFueSBtXHhlMXNvZHBlcmMiOiJuXHhlOWhceGUxbnkgbVx4ZTFzb2RwZXJjZSI7Y2FzZSJzcyI6cmV0dXJuIEMrKHp8fGopPyIgbVx4ZTFzb2RwZXJjIjoiIG1ceGUxc29kcGVyY2UiO2Nhc2UibSI6cmV0dXJuImVneSIrKHp8fGo/IiBwZXJjIjoiIHBlcmNl''@;'; put 'put ''Iik7Y2FzZSJtbSI6cmV0dXJuIEMrKHp8fGo/IiBwZXJjIjoiIHBlcmNlIik7Y2FzZSJoIjpyZXR1cm4iZWd5Iisoenx8aj8iIFx4ZjNyYSI6IiBceGYzclx4ZTFqYSIpO2Nhc2UiaGgiOnJldHVybiBDKyh6fHxqPyIgXHhmM3JhIjoiIFx4ZjNyXHhlMWphIik7Y2FzZSJkIjpyZXR1cm4iZWd5''@;'; put 'put ''Iisoenx8aj8iIG5hcCI6IiBuYXBqYSIpO2Nhc2UiZGQiOnJldHVybiBDKyh6fHxqPyIgbmFwIjoiIG5hcGphIik7Y2FzZSJNIjpyZXR1cm4iZWd5Iisoenx8aj8iIGhceGYzbmFwIjoiIGhceGYzbmFwamEiKTtjYXNlIk1NIjpyZXR1cm4gQysoenx8aj8iIGhceGYzbmFwIjoiIGhceGYzbmFw''@;'; put 'put ''amEiKTtjYXNlInkiOnJldHVybiJlZ3kiKyh6fHxqPyIgXHhlOXYiOiIgXHhlOXZlIik7Y2FzZSJ5eSI6cmV0dXJuIEMrKHp8fGo/IiBceGU5diI6IiBceGU5dmUiKX1yZXR1cm4iIn1mdW5jdGlvbiBoZShBKXtyZXR1cm4oQT8iIjoiW21ceGZhbHRdICIpKyJbIitvZVt0aGlzLmRheSgpXSsi''@;'; put 'put ''XSBMVFsta29yXSJ9Q2UuZGVmaW5lTG9jYWxlKCJodSIse21vbnRoczoiamFudVx4ZTFyX2ZlYnJ1XHhlMXJfbVx4ZTFyY2l1c19ceGUxcHJpbGlzX21ceGUxanVzX2pceGZhbml1c19qXHhmYWxpdXNfYXVndXN6dHVzX3N6ZXB0ZW1iZXJfb2t0XHhmM2Jlcl9ub3ZlbWJlcl9kZWNlbWJlciIu''@;'; put 'put ''c3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFuLl9mZWIuX21ceGUxcmMuX1x4ZTFwci5fbVx4ZTFqLl9qXHhmYW4uX2pceGZhbC5fYXVnLl9zemVwdC5fb2t0Ll9ub3YuX2RlYy4iLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czoidmFzXHhlMXJuYXBfaFx4ZTl0Zlx1''@;'; put 'put ''MDE1MV9rZWRkX3N6ZXJkYV9jc1x4ZmN0XHhmNnJ0XHhmNmtfcFx4ZTludGVrX3N6b21iYXQiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoidmFzX2hceGU5dF9rZWRkX3N6ZV9jc1x4ZmN0X3BceGU5bl9zem8iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46InZfaF9rX3N6ZV9jc19wX3N6byIu''@;'; put 'put ''c3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6Ikg6bW0iLExUUzoiSDptbTpzcyIsTDoiWVlZWS5NTS5ERC4iLExMOiJZWVlZLiBNTU1NIEQuIixMTEw6IllZWVkuIE1NTU0gRC4gSDptbSIsTExMTDoiWVlZWS4gTU1NTSBELiwgZGRkZCBIOm1tIn0sbWVyaWRpZW1QYXJzZTovZGV8ZHUv''@;'; put 'put ''aSxpc1BNOmZ1bmN0aW9uKEEpe3JldHVybiJ1Ij09PUEuY2hhckF0KDEpLnRvTG93ZXJDYXNlKCl9LG1lcmlkaWVtOmZ1bmN0aW9uKEEsaixOKXtyZXR1cm4gQTwxMj8hMD09PU4/ImRlIjoiREUiOiEwPT09Tj8iZHUiOiJEVSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbbWFdIExUWy1rb3JdIixu''@;'; put 'put ''ZXh0RGF5OiJbaG9sbmFwXSBMVFsta29yXSIsbmV4dFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4gaGUuY2FsbCh0aGlzLCEwKX0sbGFzdERheToiW3RlZ25hcF0gTFRbLWtvcl0iLGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIGhlLmNhbGwodGhpcywhMSl9LHNhbWVFbHNlOiJMIn0scmVsYXRp''@;'; put 'put ''dmVUaW1lOntmdXR1cmU6IiVzIG1ceGZhbHZhIixwYXN0OiIlcyIsczpnZSxzczpnZSxtOmdlLG1tOmdlLGg6Z2UsaGg6Z2UsZDpnZSxkZDpnZSxNOmdlLE1NOmdlLHk6Z2UseXk6Z2V9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1cLi8sb3JkaW5hbDoiJWQuIix3ZWVrOntkb3c6''@;'; put 'put ''MSxkb3k6NH19KX0oRmUoNjczOCkpfSw0MDI6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiaHktYW0iLHttb250aHM6e2Zvcm1hdDoiXHUwNTcwXHUwNTc4XHUwNTgyXHUwNTc2XHUwNTdlXHUwNTYxXHUwNTgwXHUwNTZiX1x1''@;'; put 'put ''MDU4M1x1MDU2NVx1MDU3Zlx1MDU4MFx1MDU3ZVx1MDU2MVx1MDU4MFx1MDU2Yl9cdTA1NzRcdTA1NjFcdTA1ODBcdTA1N2ZcdTA1NmJfXHUwNTYxXHUwNTdhXHUwNTgwXHUwNTZiXHUwNTZjXHUwNTZiX1x1MDU3NFx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3ZFx1MDU2Yl9cdTA1NzBcdTA1Nzhc''@;'; put 'put ''dTA1ODJcdTA1NzZcdTA1NmJcdTA1N2RcdTA1NmJfXHUwNTcwXHUwNTc4XHUwNTgyXHUwNTZjXHUwNTZiXHUwNTdkXHUwNTZiX1x1MDU4NVx1MDU2M1x1MDU3OFx1MDU3ZFx1MDU3Zlx1MDU3OFx1MDU3ZFx1MDU2Yl9cdTA1N2RcdTA1NjVcdTA1N2FcdTA1N2ZcdTA1NjVcdTA1NzRcdTA1NjJc''@;'; put 'put ''dTA1NjVcdTA1ODBcdTA1NmJfXHUwNTcwXHUwNTc4XHUwNTZmXHUwNTdmXHUwNTY1XHUwNTc0XHUwNTYyXHUwNTY1XHUwNTgwXHUwNTZiX1x1MDU3Nlx1MDU3OFx1MDU3NVx1MDU2NVx1MDU3NFx1MDU2Mlx1MDU2NVx1MDU4MFx1MDU2Yl9cdTA1NjRcdTA1NjVcdTA1NmZcdTA1N2ZcdTA1NjVc''@;'; put 'put ''dTA1NzRcdTA1NjJcdTA1NjVcdTA1ODBcdTA1NmIiLnNwbGl0KCJfIiksc3RhbmRhbG9uZToiXHUwNTcwXHUwNTc4XHUwNTgyXHUwNTc2XHUwNTdlXHUwNTYxXHUwNTgwX1x1MDU4M1x1MDU2NVx1MDU3Zlx1MDU4MFx1MDU3ZVx1MDU2MVx1MDU4MF9cdTA1NzRcdTA1NjFcdTA1ODBcdTA1N2Zf''@;'; put 'put ''XHUwNTYxXHUwNTdhXHUwNTgwXHUwNTZiXHUwNTZjX1x1MDU3NFx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3ZF9cdTA1NzBcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NmJcdTA1N2RfXHUwNTcwXHUwNTc4XHUwNTgyXHUwNTZjXHUwNTZiXHUwNTdkX1x1MDU4NVx1MDU2M1x1MDU3OFx1MDU3ZFx1MDU3''@;'; put 'put ''Zlx1MDU3OFx1MDU3ZF9cdTA1N2RcdTA1NjVcdTA1N2FcdTA1N2ZcdTA1NjVcdTA1NzRcdTA1NjJcdTA1NjVcdTA1ODBfXHUwNTcwXHUwNTc4XHUwNTZmXHUwNTdmXHUwNTY1XHUwNTc0XHUwNTYyXHUwNTY1XHUwNTgwX1x1MDU3Nlx1MDU3OFx1MDU3NVx1MDU2NVx1MDU3NFx1MDU2Mlx1MDU2''@;'; put 'put ''NVx1MDU4MF9cdTA1NjRcdTA1NjVcdTA1NmZcdTA1N2ZcdTA1NjVcdTA1NzRcdTA1NjJcdTA1NjVcdTA1ODAiLnNwbGl0KCJfIil9LG1vbnRoc1Nob3J0OiJcdTA1NzBcdTA1NzZcdTA1N2VfXHUwNTgzXHUwNTdmXHUwNTgwX1x1MDU3NFx1MDU4MFx1MDU3Zl9cdTA1NjFcdTA1N2FcdTA1ODBf''@;'; put 'put ''XHUwNTc0XHUwNTc1XHUwNTdkX1x1MDU3MFx1MDU3Nlx1MDU3ZF9cdTA1NzBcdTA1NmNcdTA1N2RfXHUwNTg1XHUwNTYzXHUwNTdkX1x1MDU3ZFx1MDU3YVx1MDU3Zl9cdTA1NzBcdTA1NmZcdTA1N2ZfXHUwNTc2XHUwNTc0XHUwNTYyX1x1MDU2NFx1MDU2Zlx1MDU3ZiIuc3BsaXQoIl8iKSx3''@;'; put 'put ''ZWVrZGF5czoiXHUwNTZmXHUwNTZiXHUwNTgwXHUwNTYxXHUwNTZmXHUwNTZiX1x1MDU2NVx1MDU4MFx1MDU2Zlx1MDU3OFx1MDU4Mlx1MDU3N1x1MDU2MVx1MDU2Mlx1MDU2OVx1MDU2Yl9cdTA1NjVcdTA1ODBcdTA1NjVcdTA1ODRcdTA1NzdcdTA1NjFcdTA1NjJcdTA1NjlcdTA1NmJfXHUw''@;'; put 'put ''NTc5XHUwNTc4XHUwNTgwXHUwNTY1XHUwNTg0XHUwNTc3XHUwNTYxXHUwNTYyXHUwNTY5XHUwNTZiX1x1MDU3MFx1MDU2Ylx1MDU3Nlx1MDU2M1x1MDU3N1x1MDU2MVx1MDU2Mlx1MDU2OVx1MDU2Yl9cdTA1NzhcdTA1ODJcdTA1ODBcdTA1NjJcdTA1NjFcdTA1NjlfXHUwNTc3XHUwNTYxXHUw''@;'; put 'put ''NTYyXHUwNTYxXHUwNTY5Ii5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDU2Zlx1MDU4MFx1MDU2Zl9cdTA1NjVcdTA1ODBcdTA1NmZfXHUwNTY1XHUwNTgwXHUwNTg0X1x1MDU3OVx1MDU4MFx1MDU4NF9cdTA1NzBcdTA1NzZcdTA1NjNfXHUwNTc4XHUwNTgyXHUwNTgwXHUwNTYyX1x1''@;'; put 'put ''MDU3N1x1MDU2Mlx1MDU2OSIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNTZmXHUwNTgwXHUwNTZmX1x1MDU2NVx1MDU4MFx1MDU2Zl9cdTA1NjVcdTA1ODBcdTA1ODRfXHUwNTc5XHUwNTgwXHUwNTg0X1x1MDU3MFx1MDU3Nlx1MDU2M19cdTA1NzhcdTA1ODJcdTA1ODBcdTA1NjJfXHUw''@;'; put 'put ''NTc3XHUwNTYyXHUwNTY5Ii5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJEIE1NTU0gWVlZWSBcdTA1NjkuIixMTEw6IkQgTU1NTSBZWVlZIFx1MDU2OS4sIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZ''@;'; put 'put ''WSBcdTA1NjkuLCBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNTYxXHUwNTc1XHUwNTdkXHUwNTg1XHUwNTgwXSBMVCIsbmV4dERheToiW1x1MDU3ZVx1MDU2MVx1MDU3Mlx1MDU2OF0gTFQiLGxhc3REYXk6IltcdTA1NjVcdTA1ODBcdTA1NjVcdTA1NmZdIExUIixuZXh0V2Vlazpm''@;'; put 'put ''dW5jdGlvbigpe3JldHVybiJkZGRkIFtcdTA1ODVcdTA1ODBcdTA1NjggXHUwNTZhXHUwNTYxXHUwNTc0XHUwNTY4XSBMVCJ9LGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIltcdTA1NjFcdTA1NzZcdTA1ODFcdTA1NjFcdTA1NmVdIGRkZGQgW1x1MDU4NVx1MDU4MFx1MDU2OCBcdTA1NmFc''@;'; put 'put ''dTA1NjFcdTA1NzRcdTA1NjhdIExUIn0sc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHUwNTcwXHUwNTY1XHUwNTdmXHUwNTc4IixwYXN0OiIlcyBcdTA1NjFcdTA1N2NcdTA1NjFcdTA1N2IiLHM6Ilx1MDU3NFx1MDU2YiBcdTA1ODRcdTA1NjFcdTA1NzZcdTA1NmIg''@;'; put 'put ''XHUwNTdlXHUwNTYxXHUwNTc1XHUwNTgwXHUwNTZmXHUwNTc1XHUwNTYxXHUwNTc2IixzczoiJWQgXHUwNTdlXHUwNTYxXHUwNTc1XHUwNTgwXHUwNTZmXHUwNTc1XHUwNTYxXHUwNTc2IixtOiJcdTA1ODBcdTA1NzhcdTA1N2FcdTA1NjUiLG1tOiIlZCBcdTA1ODBcdTA1NzhcdTA1N2FcdTA1''@;'; put 'put ''NjUiLGg6Ilx1MDU2YVx1MDU2MVx1MDU3NCIsaGg6IiVkIFx1MDU2YVx1MDU2MVx1MDU3NCIsZDoiXHUwNTg1XHUwNTgwIixkZDoiJWQgXHUwNTg1XHUwNTgwIixNOiJcdTA1NjFcdTA1NzRcdTA1NmJcdTA1N2QiLE1NOiIlZCBcdTA1NjFcdTA1NzRcdTA1NmJcdTA1N2QiLHk6Ilx1MDU3Zlx1''@;'; put 'put ''MDU2MVx1MDU4MFx1MDU2YiIseXk6IiVkIFx1MDU3Zlx1MDU2MVx1MDU4MFx1MDU2YiJ9LG1lcmlkaWVtUGFyc2U6L1x1MDU2M1x1MDU2Ylx1MDU3N1x1MDU2NVx1MDU4MFx1MDU3ZVx1MDU2MXxcdTA1NjFcdTA1N2NcdTA1NjFcdTA1N2VcdTA1NzhcdTA1N2ZcdTA1N2VcdTA1NjF8XHUwNTgx''@;'; put 'put ''XHUwNTY1XHUwNTgwXHUwNTY1XHUwNTZmXHUwNTdlXHUwNTYxfFx1MDU2NVx1MDU4MFx1MDU2NVx1MDU2Zlx1MDU3OFx1MDU3NVx1MDU2MVx1MDU3Ni8saXNQTTpmdW5jdGlvbihnZSl7cmV0dXJuL14oXHUwNTgxXHUwNTY1XHUwNTgwXHUwNTY1XHUwNTZmXHUwNTdlXHUwNTYxfFx1MDU2NVx1''@;'; put 'put ''MDU4MFx1MDU2NVx1MDU2Zlx1MDU3OFx1MDU3NVx1MDU2MVx1MDU3NikkLy50ZXN0KGdlKX0sbWVyaWRpZW06ZnVuY3Rpb24oZ2Upe3JldHVybiBnZTw0PyJcdTA1NjNcdTA1NmJcdTA1NzdcdTA1NjVcdTA1ODBcdTA1N2VcdTA1NjEiOmdlPDEyPyJcdTA1NjFcdTA1N2NcdTA1NjFcdTA1N2Vc''@;'; put 'put ''dTA1NzhcdTA1N2ZcdTA1N2VcdTA1NjEiOmdlPDE3PyJcdTA1ODFcdTA1NjVcdTA1ODBcdTA1NjVcdTA1NmZcdTA1N2VcdTA1NjEiOiJcdTA1NjVcdTA1ODBcdTA1NjVcdTA1NmZcdTA1NzhcdTA1NzVcdTA1NjFcdTA1NzYifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9fFxkezEs''@;'; put 'put ''Mn0tKFx1MDU2Ylx1MDU3NnxcdTA1ODBcdTA1NjQpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlLGhlKXtzd2l0Y2goaGUpe2Nhc2UiREREIjpjYXNlInciOmNhc2UiVyI6Y2FzZSJERERvIjpyZXR1cm4gMT09PWdlP2dlKyItXHUwNTZiXHUwNTc2IjpnZSsiLVx1MDU4MFx1MDU2NCI7ZGVmYXVsdDpy''@;'; put 'put ''ZXR1cm4gZ2V9fSx3ZWVrOntkb3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSw5MTg3OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImlkIix7bW9udGhzOiJKYW51YXJpX0ZlYnJ1YXJpX01hcmV0X0FwcmlsX01laV9KdW5pX0p1''@;'; put 'put ''bGlfQWd1c3R1c19TZXB0ZW1iZXJfT2t0b2Jlcl9Ob3ZlbWJlcl9EZXNlbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiSmFuX0ZlYl9NYXJfQXByX01laV9KdW5fSnVsX0FndF9TZXBfT2t0X05vdl9EZXMiLnNwbGl0KCJfIiksd2Vla2RheXM6Ik1pbmdndV9TZW5pbl9TZWxhc2FfUmFi''@;'; put 'put ''dV9LYW1pc19KdW1hdF9TYWJ0dSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJNaW5fU2VuX1NlbF9SYWJfS2FtX0p1bV9TYWIiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ik1nX1NuX1NsX1JiX0ttX0ptX1NiIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEgubW0iLExUUzoi''@;'; put 'put ''SEgubW0uc3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBbcHVrdWxdIEhILm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBbcHVrdWxdIEhILm1tIn0sbWVyaWRpZW1QYXJzZTovcGFnaXxzaWFuZ3xzb3JlfG1hbGFtLyxtZXJpZGllbUhvdXI6''@;'; put 'put ''ZnVuY3Rpb24oZ2UsaGUpe3JldHVybiAxMj09PWdlJiYoZ2U9MCksInBhZ2kiPT09aGU/Z2U6InNpYW5nIj09PWhlP2dlPj0xMT9nZTpnZSsxMjoic29yZSI9PT1oZXx8Im1hbGFtIj09PWhlP2dlKzEyOnZvaWQgMH0sbWVyaWRpZW06ZnVuY3Rpb24oZ2UsaGUsWil7cmV0dXJuIGdlPDExPyJw''@;'; put 'put ''YWdpIjpnZTwxNT8ic2lhbmciOmdlPDE5PyJzb3JlIjoibWFsYW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0hhcmkgaW5pIHB1a3VsXSBMVCIsbmV4dERheToiW0Jlc29rIHB1a3VsXSBMVCIsbmV4dFdlZWs6ImRkZGQgW3B1a3VsXSBMVCIsbGFzdERheToiW0tlbWFyaW4gcHVrdWxdIExUIixs''@;'; put 'put ''YXN0V2VlazoiZGRkZCBbbGFsdSBwdWt1bF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ImRhbGFtICVzIixwYXN0OiIlcyB5YW5nIGxhbHUiLHM6ImJlYmVyYXBhIGRldGlrIixzczoiJWQgZGV0aWsiLG06InNlbWVuaXQiLG1tOiIlZCBtZW5pdCIsaDoic2VqYW0i''@;'; put 'put ''LGhoOiIlZCBqYW0iLGQ6InNlaGFyaSIsZGQ6IiVkIGhhcmkiLE06InNlYnVsYW4iLE1NOiIlZCBidWxhbiIseToic2V0YWh1biIseXk6IiVkIHRhaHVuIn0sd2Vlazp7ZG93OjAsZG95OjZ9fSl9KEZlKDY3MzgpKX0sNTM2OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ug''@;'; put 'put ''c3RyaWN0IjtmdW5jdGlvbiBvZShaKXtyZXR1cm4gWiUxMDA9PTExfHxaJTEwIT0xfWZ1bmN0aW9uIGdlKFosQSxqLE4pe3ZhciB6PVorIiAiO3N3aXRjaChqKXtjYXNlInMiOnJldHVybiBBfHxOPyJub2trcmFyIHNla1x4ZmFuZHVyIjoibm9ra3J1bSBzZWtceGZhbmR1bSI7Y2FzZSJzcyI6''@;'; put 'put ''cmV0dXJuIG9lKFopP3orKEF8fE4/InNla1x4ZmFuZHVyIjoic2VrXHhmYW5kdW0iKTp6KyJzZWtceGZhbmRhIjtjYXNlIm0iOnJldHVybiBBPyJtXHhlZG5ceGZhdGEiOiJtXHhlZG5ceGZhdHUiO2Nhc2UibW0iOnJldHVybiBvZShaKT96KyhBfHxOPyJtXHhlZG5ceGZhdHVyIjoibVx4ZWRu''@;'; put 'put ''XHhmYXR1bSIpOkE/eisibVx4ZWRuXHhmYXRhIjp6KyJtXHhlZG5ceGZhdHUiO2Nhc2UiaGgiOnJldHVybiBvZShaKT96KyhBfHxOPyJrbHVra3VzdHVuZGlyIjoia2x1a2t1c3R1bmR1bSIpOnorImtsdWtrdXN0dW5kIjtjYXNlImQiOnJldHVybiBBPyJkYWd1ciI6Tj8iZGFnIjoiZGVnaSI7''@;'; put 'put ''Y2FzZSJkZCI6cmV0dXJuIG9lKFopP0E/eisiZGFnYXIiOnorKE4/ImRhZ2EiOiJkXHhmNmd1bSIpOkE/eisiZGFndXIiOnorKE4/ImRhZyI6ImRlZ2kiKTtjYXNlIk0iOnJldHVybiBBPyJtXHhlMW51XHhmMHVyIjpOPyJtXHhlMW51XHhmMCI6Im1ceGUxbnVceGYwaSI7Y2FzZSJNTSI6cmV0''@;'; put 'put ''dXJuIG9lKFopP0E/eisibVx4ZTFudVx4ZjBpciI6eisoTj8ibVx4ZTFudVx4ZjBpIjoibVx4ZTFudVx4ZjB1bSIpOkE/eisibVx4ZTFudVx4ZjB1ciI6eisoTj8ibVx4ZTFudVx4ZjAiOiJtXHhlMW51XHhmMGkiKTtjYXNlInkiOnJldHVybiBBfHxOPyJceGUxciI6Ilx4ZTFyaSI7Y2FzZSJ5''@;'; put 'put ''eSI6cmV0dXJuIG9lKFopP3orKEF8fE4/Ilx4ZTFyIjoiXHhlMXJ1bSIpOnorKEF8fE4/Ilx4ZTFyIjoiXHhlMXJpIil9fUNlLmRlZmluZUxvY2FsZSgiaXMiLHttb250aHM6Imphblx4ZmFhcl9mZWJyXHhmYWFyX21hcnNfYXByXHhlZGxfbWFceGVkX2pceGZhblx4ZWRfalx4ZmFsXHhlZF9c''@;'; put 'put ''eGUxZ1x4ZmFzdF9zZXB0ZW1iZXJfb2t0XHhmM2Jlcl9uXHhmM3ZlbWJlcl9kZXNlbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFuX2ZlYl9tYXJfYXByX21hXHhlZF9qXHhmYW5falx4ZmFsX1x4ZTFnXHhmYV9zZXBfb2t0X25ceGYzdl9kZXMiLnNwbGl0KCJfIiksd2Vla2RheXM6''@;'; put 'put ''InN1bm51ZGFndXJfbVx4ZTFudWRhZ3VyX1x4ZmVyaVx4ZjBqdWRhZ3VyX21pXHhmMHZpa3VkYWd1cl9maW1tdHVkYWd1cl9mXHhmNnN0dWRhZ3VyX2xhdWdhcmRhZ3VyIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6InN1bl9tXHhlMW5fXHhmZXJpX21pXHhmMF9maW1fZlx4ZjZzX2xhdSIu''@;'; put 'put ''c3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiU3VfTVx4ZTFfXHhkZXJfTWlfRmlfRlx4ZjZfTGEiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJIOm1tIixMVFM6Ikg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJELiBNTU1NIFlZWVkiLExMTDoiRC4gTU1NTSBZWVlZIFtrbC5dIEg6''@;'; put 'put ''bW0iLExMTEw6ImRkZGQsIEQuIE1NTU0gWVlZWSBba2wuXSBIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltceGVkIGRhZyBrbC5dIExUIixuZXh0RGF5OiJbXHhlMSBtb3JndW4ga2wuXSBMVCIsbmV4dFdlZWs6ImRkZGQgW2tsLl0gTFQiLGxhc3REYXk6IltceGVkIGdceGU2ciBrbC5dIExU''@;'; put 'put ''IixsYXN0V2VlazoiW3NceGVkXHhmMGFzdGFdIGRkZGQgW2tsLl0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ImVmdGlyICVzIixwYXN0OiJmeXJpciAlcyBzXHhlZFx4ZjBhbiIsczpnZSxzczpnZSxtOmdlLG1tOmdlLGg6ImtsdWtrdXN0dW5kIixoaDpnZSxkOmdl''@;'; put 'put ''LGRkOmdlLE06Z2UsTU06Z2UseTpnZSx5eTpnZX0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDQ2Njc6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0Nl''@;'; put 'put ''LmRlZmluZUxvY2FsZSgiaXQtY2giLHttb250aHM6Imdlbm5haW9fZmViYnJhaW9fbWFyem9fYXByaWxlX21hZ2dpb19naXVnbm9fbHVnbGlvX2Fnb3N0b19zZXR0ZW1icmVfb3R0b2JyZV9ub3ZlbWJyZV9kaWNlbWJyZSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiZ2VuX2ZlYl9tYXJfYXBy''@;'; put 'put ''X21hZ19naXVfbHVnX2Fnb19zZXRfb3R0X25vdl9kaWMiLnNwbGl0KCJfIiksd2Vla2RheXM6ImRvbWVuaWNhX2x1bmVkXHhlY19tYXJ0ZWRceGVjX21lcmNvbGVkXHhlY19naW92ZWRceGVjX3ZlbmVyZFx4ZWNfc2FiYXRvIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRvbV9sdW5fbWFy''@;'; put 'put ''X21lcl9naW9fdmVuX3NhYiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiZG9fbHVfbWFfbWVfZ2lfdmVfc2EiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZ''@;'; put 'put ''IEhIOm1tIixMTExMOiJkZGRkIEQgTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltPZ2dpIGFsbGVdIExUIixuZXh0RGF5OiJbRG9tYW5pIGFsbGVdIExUIixuZXh0V2VlazoiZGRkZCBbYWxsZV0gTFQiLGxhc3REYXk6IltJZXJpIGFsbGVdIExUIixsYXN0V2VlazpmdW5j''@;'; put 'put ''dGlvbigpe3JldHVybiAwPT09dGhpcy5kYXkoKT8iW2xhIHNjb3JzYV0gZGRkZCBbYWxsZV0gTFQiOiJbbG8gc2NvcnNvXSBkZGRkIFthbGxlXSBMVCJ9LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ZnVuY3Rpb24oZ2Upe3JldHVybigvXlswLTldLiskLy50ZXN0KGdlKT8i''@;'; put 'put ''dHJhIjoiaW4iKSsiICIrZ2V9LHBhc3Q6IiVzIGZhIixzOiJhbGN1bmkgc2Vjb25kaSIsc3M6IiVkIHNlY29uZGkiLG06InVuIG1pbnV0byIsbW06IiVkIG1pbnV0aSIsaDoidW4nb3JhIixoaDoiJWQgb3JlIixkOiJ1biBnaW9ybm8iLGRkOiIlZCBnaW9ybmkiLE06InVuIG1lc2UiLE1NOiIl''@;'; put 'put ''ZCBtZXNpIix5OiJ1biBhbm5vIix5eToiJWQgYW5uaSJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1ceGJhLyxvcmRpbmFsOiIlZFx4YmEiLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDUwMDc6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBz''@;'; put 'put ''dHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiaXQiLHttb250aHM6Imdlbm5haW9fZmViYnJhaW9fbWFyem9fYXByaWxlX21hZ2dpb19naXVnbm9fbHVnbGlvX2Fnb3N0b19zZXR0ZW1icmVfb3R0b2JyZV9ub3ZlbWJyZV9kaWNlbWJyZSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiZ2VuX2ZlYl9t''@;'; put 'put ''YXJfYXByX21hZ19naXVfbHVnX2Fnb19zZXRfb3R0X25vdl9kaWMiLnNwbGl0KCJfIiksd2Vla2RheXM6ImRvbWVuaWNhX2x1bmVkXHhlY19tYXJ0ZWRceGVjX21lcmNvbGVkXHhlY19naW92ZWRceGVjX3ZlbmVyZFx4ZWNfc2FiYXRvIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRvbV9s''@;'; put 'put ''dW5fbWFyX21lcl9naW9fdmVuX3NhYiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiZG9fbHVfbWFfbWVfZ2lfdmVfc2EiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1N''@;'; put 'put ''TSBZWVlZIEhIOm1tIixMTExMOiJkZGRkIEQgTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW09nZ2kgYSIrKHRoaXMuaG91cnMoKT4xPyJsbGUgIjowPT09dGhpcy5ob3VycygpPyIgIjoibGwnIikrIl1MVCJ9LG5leHREYXk6ZnVuY3Rpb24o''@;'; put 'put ''KXtyZXR1cm4iW0RvbWFuaSBhIisodGhpcy5ob3VycygpPjE/ImxsZSAiOjA9PT10aGlzLmhvdXJzKCk/IiAiOiJsbCciKSsiXUxUIn0sbmV4dFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4iZGRkZCBbYSIrKHRoaXMuaG91cnMoKT4xPyJsbGUgIjowPT09dGhpcy5ob3VycygpPyIgIjoibGwnIikr''@;'; put 'put ''Il1MVCJ9LGxhc3REYXk6ZnVuY3Rpb24oKXtyZXR1cm4iW0llcmkgYSIrKHRoaXMuaG91cnMoKT4xPyJsbGUgIjowPT09dGhpcy5ob3VycygpPyIgIjoibGwnIikrIl1MVCJ9LGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLmRheSgpPyJbTGEgc2NvcnNhXSBkZGRkIFthIiso''@;'; put 'put ''dGhpcy5ob3VycygpPjE/ImxsZSAiOjA9PT10aGlzLmhvdXJzKCk/IiAiOiJsbCciKSsiXUxUIjoiW0xvIHNjb3Jzb10gZGRkZCBbYSIrKHRoaXMuaG91cnMoKT4xPyJsbGUgIjowPT09dGhpcy5ob3VycygpPyIgIjoibGwnIikrIl1MVCJ9LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntm''@;'; put 'put ''dXR1cmU6InRyYSAlcyIscGFzdDoiJXMgZmEiLHM6ImFsY3VuaSBzZWNvbmRpIixzczoiJWQgc2Vjb25kaSIsbToidW4gbWludXRvIixtbToiJWQgbWludXRpIixoOiJ1bidvcmEiLGhoOiIlZCBvcmUiLGQ6InVuIGdpb3JubyIsZGQ6IiVkIGdpb3JuaSIsdzoidW5hIHNldHRpbWFuYSIsd3c6''@;'; put 'put ''IiVkIHNldHRpbWFuZSIsTToidW4gbWVzZSIsTU06IiVkIG1lc2kiLHk6InVuIGFubm8iLHl5OiIlZCBhbm5pIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVx4YmEvLG9yZGluYWw6IiVkXHhiYSIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMjA5MzpmdW5jdGlv''@;'; put 'put ''bihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJqYSIse2VyYXM6W3tzaW5jZToiMjAxOS0wNS0wMSIsb2Zmc2V0OjEsbmFtZToiXHU0ZWU0XHU1NDhjIixuYXJyb3c6Ilx1MzJmZiIsYWJicjoiUiJ9LHtzaW5jZToiMTk4OS0wMS0wOCIsdW50''@;'; put 'put ''aWw6IjIwMTktMDQtMzAiLG9mZnNldDoxLG5hbWU6Ilx1NWU3M1x1NjIxMCIsbmFycm93OiJcdTMzN2IiLGFiYnI6IkgifSx7c2luY2U6IjE5MjYtMTItMjUiLHVudGlsOiIxOTg5LTAxLTA3IixvZmZzZXQ6MSxuYW1lOiJcdTY2MmRcdTU0OGMiLG5hcnJvdzoiXHUzMzdjIixhYmJyOiJTIn0s''@;'; put 'put ''e3NpbmNlOiIxOTEyLTA3LTMwIix1bnRpbDoiMTkyNi0xMi0yNCIsb2Zmc2V0OjEsbmFtZToiXHU1OTI3XHU2YjYzIixuYXJyb3c6Ilx1MzM3ZCIsYWJicjoiVCJ9LHtzaW5jZToiMTg3My0wMS0wMSIsdW50aWw6IjE5MTItMDctMjkiLG9mZnNldDo2LG5hbWU6Ilx1NjYwZVx1NmNiYiIsbmFy''@;'; put 'put ''cm93OiJcdTMzN2UiLGFiYnI6Ik0ifSx7c2luY2U6IjAwMDEtMDEtMDEiLHVudGlsOiIxODczLTEyLTMxIixvZmZzZXQ6MSxuYW1lOiJcdTg5N2ZcdTY2YTYiLG5hcnJvdzoiQUQiLGFiYnI6IkFEIn0se3NpbmNlOiIwMDAwLTEyLTMxIix1bnRpbDotMS8wLG9mZnNldDoxLG5hbWU6Ilx1N2Qw''@;'; put 'put ''MFx1NTE0M1x1NTI0ZCIsbmFycm93OiJCQyIsYWJicjoiQkMifV0sZXJhWWVhck9yZGluYWxSZWdleDovKFx1NTE0M3xcZCspXHU1ZTc0LyxlcmFZZWFyT3JkaW5hbFBhcnNlOmZ1bmN0aW9uKGdlLGhlKXtyZXR1cm4iXHU1MTQzIj09PWhlWzFdPzE6cGFyc2VJbnQoaGVbMV18fGdlLDEwKX0s''@;'; put 'put ''bW9udGhzOiIxXHU2NzA4XzJcdTY3MDhfM1x1NjcwOF80XHU2NzA4XzVcdTY3MDhfNlx1NjcwOF83XHU2NzA4XzhcdTY3MDhfOVx1NjcwOF8xMFx1NjcwOF8xMVx1NjcwOF8xMlx1NjcwOCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiMVx1NjcwOF8yXHU2NzA4XzNcdTY3MDhfNFx1NjcwOF81''@;'; put 'put ''XHU2NzA4XzZcdTY3MDhfN1x1NjcwOF84XHU2NzA4XzlcdTY3MDhfMTBcdTY3MDhfMTFcdTY3MDhfMTJcdTY3MDgiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1NjVlNVx1NjZkY1x1NjVlNV9cdTY3MDhcdTY2ZGNcdTY1ZTVfXHU3MDZiXHU2NmRjXHU2NWU1X1x1NmMzNFx1NjZkY1x1NjVlNV9c''@;'; put 'put ''dTY3MjhcdTY2ZGNcdTY1ZTVfXHU5MWQxXHU2NmRjXHU2NWU1X1x1NTcxZlx1NjZkY1x1NjVlNSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTY1ZTVfXHU2NzA4X1x1NzA2Yl9cdTZjMzRfXHU2NzI4X1x1OTFkMV9cdTU3MWYiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1NjVlNV9c''@;'; put 'put ''dTY3MDhfXHU3MDZiX1x1NmMzNF9cdTY3MjhfXHU5MWQxX1x1NTcxZiIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJZWVlZL01NL0REIixMTDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IixMTEw6IllZWVlcdTVlNzRNXHU2NzA4RFx1''@;'; put 'put ''NjVlNSBISDptbSIsTExMTDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IGRkZGQgSEg6bW0iLGw6IllZWVkvTU0vREQiLGxsOiJZWVlZXHU1ZTc0TVx1NjcwOERcdTY1ZTUiLGxsbDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IEhIOm1tIixsbGxsOiJZWVlZXHU1ZTc0TVx1NjcwOERcdTY1''@;'; put 'put ''ZTUoZGRkKSBISDptbSJ9LG1lcmlkaWVtUGFyc2U6L1x1NTM0OFx1NTI0ZHxcdTUzNDhcdTVmOGMvaSxpc1BNOmZ1bmN0aW9uKGdlKXtyZXR1cm4iXHU1MzQ4XHU1ZjhjIj09PWdlfSxtZXJpZGllbTpmdW5jdGlvbihnZSxoZSxaKXtyZXR1cm4gZ2U8MTI/Ilx1NTM0OFx1NTI0ZCI6Ilx1NTM0''@;'; put 'put ''OFx1NWY4YyJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHU0ZWNhXHU2NWU1XSBMVCIsbmV4dERheToiW1x1NjYwZVx1NjVlNV0gTFQiLG5leHRXZWVrOmZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2Uud2VlaygpIT09dGhpcy53ZWVrKCk/IltcdTY3NjVcdTkwMzFdZGRkZCBMVCI6ImRkZGQgTFQifSxs''@;'; put 'put ''YXN0RGF5OiJbXHU2NjI4XHU2NWU1XSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oZ2Upe3JldHVybiB0aGlzLndlZWsoKSE9PWdlLndlZWsoKT8iW1x1NTE0OFx1OTAzMV1kZGRkIExUIjoiZGRkZCBMVCJ9LHNhbWVFbHNlOiJMIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVx1NjVl''@;'; put 'put ''NS8sb3JkaW5hbDpmdW5jdGlvbihnZSxoZSl7c3dpdGNoKGhlKXtjYXNlInkiOnJldHVybiAxPT09Z2U/Ilx1NTE0M1x1NWU3NCI6Z2UrIlx1NWU3NCI7Y2FzZSJkIjpjYXNlIkQiOmNhc2UiREREIjpyZXR1cm4gZ2UrIlx1NjVlNSI7ZGVmYXVsdDpyZXR1cm4gZ2V9fSxyZWxhdGl2ZVRpbWU6''@;'; put 'put ''e2Z1dHVyZToiJXNcdTVmOGMiLHBhc3Q6IiVzXHU1MjRkIixzOiJcdTY1NzBcdTc5ZDIiLHNzOiIlZFx1NzlkMiIsbToiMVx1NTIwNiIsbW06IiVkXHU1MjA2IixoOiIxXHU2NjQyXHU5NTkzIixoaDoiJWRcdTY2NDJcdTk1OTMiLGQ6IjFcdTY1ZTUiLGRkOiIlZFx1NjVlNSIsTToiMVx1MzBm''@;'; put 'put ''Nlx1NjcwOCIsTU06IiVkXHUzMGY2XHU2NzA4Iix5OiIxXHU1ZTc0Iix5eToiJWRcdTVlNzQifX0pfShGZSg2NzM4KSl9LDU5OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImp2Iix7bW9udGhzOiJKYW51YXJpX0ZlYnJ1YXJp''@;'; put 'put ''X01hcmV0X0FwcmlsX01laV9KdW5pX0p1bGlfQWd1c3R1c19TZXB0ZW1iZXJfT2t0b2Jlcl9Ob3BlbWJlcl9EZXNlbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiSmFuX0ZlYl9NYXJfQXByX01laV9KdW5fSnVsX0Fnc19TZXBfT2t0X05vcF9EZXMiLnNwbGl0KCJfIiksd2Vla2RheXM6''@;'; put 'put ''Ik1pbmdndV9TZW5lbl9TZWxvc29fUmVidV9LZW1pc19KZW11d2FoX1NlcHR1Ii5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ik1pbl9TZW5fU2VsX1JlYl9LZW1fSmVtX1NlcCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiTWdfU25fU2xfUmJfS21fSm1fU3AiLnNwbGl0KCJfIiksbG9uZ0Rh''@;'; put 'put ''dGVGb3JtYXQ6e0xUOiJISC5tbSIsTFRTOiJISC5tbS5zcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIFtwdWt1bF0gSEgubW0iLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIFtwdWt1bF0gSEgubW0ifSxtZXJpZGllbVBhcnNlOi9lbmppbmd8c2l5''@;'; put 'put ''YW5nfHNvbnRlbnxuZGFsdS8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKGdlLGhlKXtyZXR1cm4gMTI9PT1nZSYmKGdlPTApLCJlbmppbmciPT09aGU/Z2U6InNpeWFuZyI9PT1oZT9nZT49MTE/Z2U6Z2UrMTI6InNvbnRlbiI9PT1oZXx8Im5kYWx1Ij09PWhlP2dlKzEyOnZvaWQgMH0sbWVyaWRp''@;'; put 'put ''ZW06ZnVuY3Rpb24oZ2UsaGUsWil7cmV0dXJuIGdlPDExPyJlbmppbmciOmdlPDE1PyJzaXlhbmciOmdlPDE5PyJzb250ZW4iOiJuZGFsdSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbRGludGVuIHB1bmlrbyBwdWt1bF0gTFQiLG5leHREYXk6IltNYmVuamFuZyBwdWt1bF0gTFQiLG5leHRXZWVr''@;'; put 'put ''OiJkZGRkIFtwdWt1bF0gTFQiLGxhc3REYXk6IltLYWxhIHdpbmdpIHB1a3VsXSBMVCIsbGFzdFdlZWs6ImRkZGQgW2tlcGVuZ2tlciBwdWt1bF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IndvbnRlbiBpbmcgJXMiLHBhc3Q6IiVzIGluZ2thbmcga2VwZW5na2Vy''@;'; put 'put ''IixzOiJzYXdldGF3aXMgZGV0aWsiLHNzOiIlZCBkZXRpayIsbToic2V0dW5nZ2FsIG1lbml0IixtbToiJWQgbWVuaXQiLGg6InNldHVuZ2dhbCBqYW0iLGhoOiIlZCBqYW0iLGQ6InNlZGludGVuIixkZDoiJWQgZGludGVuIixNOiJzZXd1bGFuIixNTToiJWQgd3VsYW4iLHk6InNldGF1biIs''@;'; put 'put ''eXk6IiVkIHRhdW4ifSx3ZWVrOntkb3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSw2ODcwOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoImthIix7bW9udGhzOiJcdTEwZDhcdTEwZDBcdTEwZGNcdTEwZDVcdTEwZDBcdTEwZTBc''@;'; put 'put ''dTEwZDhfXHUxMGQ3XHUxMGQ0XHUxMGQxXHUxMGQ0XHUxMGUwXHUxMGQ1XHUxMGQwXHUxMGRhXHUxMGQ4X1x1MTBkYlx1MTBkMFx1MTBlMFx1MTBlMlx1MTBkOF9cdTEwZDBcdTEwZGVcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDhfXHUxMGRiXHUxMGQwXHUxMGQ4XHUxMGUxXHUxMGQ4X1x1MTBk''@;'; put 'put ''OFx1MTBkNVx1MTBkY1x1MTBkOFx1MTBlMVx1MTBkOF9cdTEwZDhcdTEwZDVcdTEwZGFcdTEwZDhcdTEwZTFcdTEwZDhfXHUxMGQwXHUxMGQyXHUxMGQ1XHUxMGQ4XHUxMGUxXHUxMGUyXHUxMGRkX1x1MTBlMVx1MTBkNFx1MTBlNVx1MTBlMlx1MTBkNFx1MTBkYlx1MTBkMVx1MTBkNFx1MTBl''@;'; put 'put ''MFx1MTBkOF9cdTEwZGRcdTEwZTVcdTEwZTJcdTEwZGRcdTEwZGJcdTEwZDFcdTEwZDRcdTEwZTBcdTEwZDhfXHUxMGRjXHUxMGRkXHUxMGQ0XHUxMGRiXHUxMGQxXHUxMGQ0XHUxMGUwXHUxMGQ4X1x1MTBkM1x1MTBkNFx1MTBkOVx1MTBkNFx1MTBkYlx1MTBkMVx1MTBkNFx1MTBlMFx1MTBk''@;'; put 'put ''OCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUxMGQ4XHUxMGQwXHUxMGRjX1x1MTBkN1x1MTBkNFx1MTBkMV9cdTEwZGJcdTEwZDBcdTEwZTBfXHUxMGQwXHUxMGRlXHUxMGUwX1x1MTBkYlx1MTBkMFx1MTBkOF9cdTEwZDhcdTEwZDVcdTEwZGNfXHUxMGQ4XHUxMGQ1XHUxMGRhX1x1MTBk''@;'; put 'put ''MFx1MTBkMlx1MTBkNV9cdTEwZTFcdTEwZDRcdTEwZTVfXHUxMGRkXHUxMGU1XHUxMGUyX1x1MTBkY1x1MTBkZFx1MTBkNF9cdTEwZDNcdTEwZDRcdTEwZDkiLnNwbGl0KCJfIiksd2Vla2RheXM6e3N0YW5kYWxvbmU6Ilx1MTBkOVx1MTBkNVx1MTBkOFx1MTBlMFx1MTBkMF9cdTEwZGRcdTEw''@;'; put 'put ''ZTBcdTEwZThcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZDdcdTEwZDhfXHUxMGUxXHUxMGQwXHUxMGRiXHUxMGU4XHUxMGQwXHUxMGQxXHUxMGQwXHUxMGQ3XHUxMGQ4X1x1MTBkZFx1MTBkN1x1MTBlZVx1MTBlOFx1MTBkMFx1MTBkMVx1MTBkMFx1MTBkN1x1MTBkOF9cdTEwZWVcdTEwZTNcdTEw''@;'; put 'put ''ZDdcdTEwZThcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZDdcdTEwZDhfXHUxMGRlXHUxMGQwXHUxMGUwXHUxMGQwXHUxMGUxXHUxMGQ5XHUxMGQ0XHUxMGQ1XHUxMGQ4X1x1MTBlOFx1MTBkMFx1MTBkMVx1MTBkMFx1MTBkN1x1MTBkOCIuc3BsaXQoIl8iKSxmb3JtYXQ6Ilx1MTBkOVx1MTBkNVx1''@;'; put 'put ''MTBkOFx1MTBlMFx1MTBkMFx1MTBlMV9cdTEwZGRcdTEwZTBcdTEwZThcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZDdcdTEwZTFfXHUxMGUxXHUxMGQwXHUxMGRiXHUxMGU4XHUxMGQwXHUxMGQxXHUxMGQwXHUxMGQ3XHUxMGUxX1x1MTBkZFx1MTBkN1x1MTBlZVx1MTBlOFx1MTBkMFx1MTBkMVx1''@;'; put 'put ''MTBkMFx1MTBkN1x1MTBlMV9cdTEwZWVcdTEwZTNcdTEwZDdcdTEwZThcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZDdcdTEwZTFfXHUxMGRlXHUxMGQwXHUxMGUwXHUxMGQwXHUxMGUxXHUxMGQ5XHUxMGQ0XHUxMGQ1XHUxMGUxX1x1MTBlOFx1MTBkMFx1MTBkMVx1MTBkMFx1MTBkN1x1MTBlMSIu''@;'; put 'put ''c3BsaXQoIl8iKSxpc0Zvcm1hdDovKFx1MTBlY1x1MTBkOFx1MTBkY1x1MTBkMHxcdTEwZThcdTEwZDRcdTEwZGJcdTEwZDNcdTEwZDRcdTEwZDIpL30sd2Vla2RheXNTaG9ydDoiXHUxMGQ5XHUxMGQ1XHUxMGQ4X1x1MTBkZFx1MTBlMFx1MTBlOF9cdTEwZTFcdTEwZDBcdTEwZGJfXHUxMGRk''@;'; put 'put ''XHUxMGQ3XHUxMGVlX1x1MTBlZVx1MTBlM1x1MTBkN19cdTEwZGVcdTEwZDBcdTEwZTBfXHUxMGU4XHUxMGQwXHUxMGQxIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTEwZDlcdTEwZDVfXHUxMGRkXHUxMGUwX1x1MTBlMVx1MTBkMF9cdTEwZGRcdTEwZDdfXHUxMGVlXHUxMGUzX1x1MTBk''@;'; put 'put ''ZVx1MTBkMF9cdTEwZThcdTEwZDAiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBISDptbSJ9LGNh''@;'; put 'put ''bGVuZGFyOntzYW1lRGF5OiJbXHUxMGQzXHUxMGU2XHUxMGQ0XHUxMGUxXSBMVFstXHUxMGQ2XHUxMGQ0XSIsbmV4dERheToiW1x1MTBlZVx1MTBkNVx1MTBkMFx1MTBkYV0gTFRbLVx1MTBkNlx1MTBkNF0iLGxhc3REYXk6IltcdTEwZDJcdTEwZTNcdTEwZThcdTEwZDhcdTEwZGNdIExUWy1c''@;'; put 'put ''dTEwZDZcdTEwZDRdIixuZXh0V2VlazoiW1x1MTBlOFx1MTBkNFx1MTBkYlx1MTBkM1x1MTBkNFx1MTBkMl0gZGRkZCBMVFstXHUxMGQ2XHUxMGQ0XSIsbGFzdFdlZWs6IltcdTEwZWNcdTEwZDhcdTEwZGNcdTEwZDBdIGRkZGQgTFQtXHUxMGQ2XHUxMGQ0IixzYW1lRWxzZToiTCJ9LHJlbGF0''@;'; put 'put ''aXZlVGltZTp7ZnV0dXJlOmZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2UucmVwbGFjZSgvKFx1MTBlY1x1MTBkMFx1MTBkYnxcdTEwZWNcdTEwZTNcdTEwZDd8XHUxMGUxXHUxMGQwXHUxMGQwXHUxMGQ3fFx1MTBlY1x1MTBkNFx1MTBkYXxcdTEwZDNcdTEwZTZ8XHUxMGQ3XHUxMGQ1KShcdTEwZDh8''@;'; put 'put ''XHUxMGQ0KS8sZnVuY3Rpb24oaGUsWixBKXtyZXR1cm4iXHUxMGQ4Ij09PUE/WisiXHUxMGU4XHUxMGQ4IjpaK0ErIlx1MTBlOFx1MTBkOCJ9KX0scGFzdDpmdW5jdGlvbihnZSl7cmV0dXJuLyhcdTEwZWNcdTEwZDBcdTEwZGJcdTEwZDh8XHUxMGVjXHUxMGUzXHUxMGQ3XHUxMGQ4fFx1MTBl''@;'; put 'put ''MVx1MTBkMFx1MTBkMFx1MTBkN1x1MTBkOHxcdTEwZDNcdTEwZTZcdTEwZDR8XHUxMGQ3XHUxMGQ1XHUxMGQ0KS8udGVzdChnZSk/Z2UucmVwbGFjZSgvKFx1MTBkOHxcdTEwZDQpJC8sIlx1MTBkOFx1MTBlMSBcdTEwZWNcdTEwZDhcdTEwZGMiKTovXHUxMGVjXHUxMGQ0XHUxMGRhXHUxMGQ4''@;'; put 'put ''Ly50ZXN0KGdlKT9nZS5yZXBsYWNlKC9cdTEwZWNcdTEwZDRcdTEwZGFcdTEwZDgkLywiXHUxMGVjXHUxMGRhXHUxMGQ4XHUxMGUxIFx1MTBlY1x1MTBkOFx1MTBkYyIpOmdlfSxzOiJcdTEwZTBcdTEwZDBcdTEwZGJcdTEwZDNcdTEwZDRcdTEwZGNcdTEwZDhcdTEwZGJcdTEwZDQgXHUxMGVj''@;'; put 'put ''XHUxMGQwXHUxMGRiXHUxMGQ4IixzczoiJWQgXHUxMGVjXHUxMGQwXHUxMGRiXHUxMGQ4IixtOiJcdTEwZWNcdTEwZTNcdTEwZDdcdTEwZDgiLG1tOiIlZCBcdTEwZWNcdTEwZTNcdTEwZDdcdTEwZDgiLGg6Ilx1MTBlMVx1MTBkMFx1MTBkMFx1MTBkN1x1MTBkOCIsaGg6IiVkIFx1MTBlMVx1''@;'; put 'put ''MTBkMFx1MTBkMFx1MTBkN1x1MTBkOCIsZDoiXHUxMGQzXHUxMGU2XHUxMGQ0IixkZDoiJWQgXHUxMGQzXHUxMGU2XHUxMGQ0IixNOiJcdTEwZDdcdTEwZDVcdTEwZDQiLE1NOiIlZCBcdTEwZDdcdTEwZDVcdTEwZDQiLHk6Ilx1MTBlY1x1MTBkNFx1MTBkYVx1MTBkOCIseXk6IiVkIFx1MTBl''@;'; put 'put ''Y1x1MTBkNFx1MTBkYVx1MTBkOCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6LzB8MS1cdTEwZGFcdTEwZDh8XHUxMGRiXHUxMGQ0LVxkezEsMn18XGR7MSwyfS1cdTEwZDQvLG9yZGluYWw6ZnVuY3Rpb24oZ2Upe3JldHVybiAwPT09Z2U/Z2U6MT09PWdlP2dlKyItXHUxMGRhXHUxMGQ4Ijpn''@;'; put 'put ''ZTwyMHx8Z2U8PTEwMCYmZ2UlMjA9PTB8fGdlJTEwMD09MD8iXHUxMGRiXHUxMGQ0LSIrZ2U6Z2UrIi1cdTEwZDQifSx3ZWVrOntkb3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSw4ODA6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MDoiLVx1''@;'; put 'put ''MDQ0OFx1MDQ1NiIsMToiLVx1MDQ0OFx1MDQ1NiIsMjoiLVx1MDQ0OFx1MDQ1NiIsMzoiLVx1MDQ0OFx1MDQ1NiIsNDoiLVx1MDQ0OFx1MDQ1NiIsNToiLVx1MDQ0OFx1MDQ1NiIsNjoiLVx1MDQ0OFx1MDQ0YiIsNzoiLVx1MDQ0OFx1MDQ1NiIsODoiLVx1MDQ0OFx1MDQ1NiIsOToiLVx1MDQ0''@;'; put 'put ''OFx1MDQ0YiIsMTA6Ii1cdTA0NDhcdTA0NGIiLDIwOiItXHUwNDQ4XHUwNDRiIiwzMDoiLVx1MDQ0OFx1MDQ0YiIsNDA6Ii1cdTA0NDhcdTA0NGIiLDUwOiItXHUwNDQ4XHUwNDU2Iiw2MDoiLVx1MDQ0OFx1MDQ0YiIsNzA6Ii1cdTA0NDhcdTA0NTYiLDgwOiItXHUwNDQ4XHUwNDU2Iiw5MDoi''@;'; put 'put ''LVx1MDQ0OFx1MDQ0YiIsMTAwOiItXHUwNDQ4XHUwNDU2In07Q2UuZGVmaW5lTG9jYWxlKCJrayIse21vbnRoczoiXHUwNDliXHUwNDMwXHUwNGEzXHUwNDQyXHUwNDMwXHUwNDQwX1x1MDQzMFx1MDQ5Ylx1MDQzZlx1MDQzMFx1MDQzZF9cdTA0M2RcdTA0MzBcdTA0NDNcdTA0NDBcdTA0NGJc''@;'; put 'put ''dTA0MzdfXHUwNDQxXHUwNGQ5XHUwNDQzXHUwNDU2XHUwNDQwX1x1MDQzY1x1MDQzMFx1MDQzY1x1MDQ0Ylx1MDQ0MF9cdTA0M2NcdTA0MzBcdTA0NDNcdTA0NDFcdTA0NGJcdTA0M2NfXHUwNDQ4XHUwNDU2XHUwNDNiXHUwNDM0XHUwNDM1X1x1MDQ0Mlx1MDQzMFx1MDQzY1x1MDQ0Ylx1MDQz''@;'; put 'put ''N19cdTA0OWJcdTA0NGJcdTA0NDBcdTA0M2FcdTA0YWZcdTA0MzlcdTA0MzVcdTA0M2FfXHUwNDliXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDNkX1x1MDQ5Ylx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQ0OFx1MDQzMF9cdTA0MzZcdTA0MzVcdTA0M2JcdTA0NDJcdTA0M2VcdTA0OWJcdTA0NDFcdTA0''@;'; put 'put ''MzBcdTA0M2QiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MDQ5Ylx1MDQzMFx1MDRhM19cdTA0MzBcdTA0OWJcdTA0M2ZfXHUwNDNkXHUwNDMwXHUwNDQzX1x1MDQ0MVx1MDRkOVx1MDQ0M19cdTA0M2NcdTA0MzBcdTA0M2NfXHUwNDNjXHUwNDMwXHUwNDQzX1x1MDQ0OFx1MDQ1Nlx1MDQz''@;'; put 'put ''Yl9cdTA0NDJcdTA0MzBcdTA0M2NfXHUwNDliXHUwNDRiXHUwNDQwX1x1MDQ5Ylx1MDQzMFx1MDQzN19cdTA0OWJcdTA0MzBcdTA0NDBfXHUwNDM2XHUwNDM1XHUwNDNiIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTA0MzZcdTA0MzVcdTA0M2FcdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzFcdTA0''@;'; put 'put ''NTZfXHUwNDM0XHUwNGFmXHUwNDM5XHUwNDQxXHUwNDM1XHUwNDNkXHUwNDMxXHUwNDU2X1x1MDQ0MVx1MDQzNVx1MDQzOVx1MDQ0MVx1MDQzNVx1MDQzZFx1MDQzMVx1MDQ1Nl9cdTA0NDFcdTA0ZDlcdTA0NDBcdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzFcdTA0NTZfXHUwNDMxXHUwNDM1XHUw''@;'; put 'put ''NDM5XHUwNDQxXHUwNDM1XHUwNDNkXHUwNDMxXHUwNDU2X1x1MDQzNlx1MDRiMVx1MDQzY1x1MDQzMF9cdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzFcdTA0NTYiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwNDM2XHUwNDM1XHUwNDNhX1x1MDQzNFx1MDRhZlx1MDQzOV9cdTA0NDFcdTA0''@;'; put 'put ''MzVcdTA0MzlfXHUwNDQxXHUwNGQ5XHUwNDQwX1x1MDQzMVx1MDQzNVx1MDQzOV9cdTA0MzZcdTA0YjFcdTA0M2NfXHUwNDQxXHUwNDM1XHUwNDNkIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTA0MzZcdTA0M2FfXHUwNDM0XHUwNDM5X1x1MDQ0MVx1MDQzOV9cdTA0NDFcdTA0NDBfXHUw''@;'; put 'put ''NDMxXHUwNDM5X1x1MDQzNlx1MDQzY19cdTA0NDFcdTA0M2QiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0g''@;'; put 'put ''WVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNDExXHUwNGFmXHUwNDMzXHUwNDU2XHUwNDNkIFx1MDQ0MVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQ0Ml0gTFQiLG5leHREYXk6IltcdTA0MTVcdTA0NDBcdTA0NDJcdTA0MzVcdTA0YTMgXHUwNDQxXHUwNDMwXHUwNDkzXHUwNDMw''@;'; put 'put ''XHUwNDQyXSBMVCIsbmV4dFdlZWs6ImRkZGQgW1x1MDQ0MVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQ0Ml0gTFQiLGxhc3REYXk6IltcdTA0MWFcdTA0MzVcdTA0NDhcdTA0MzUgXHUwNDQxXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDQyXSBMVCIsbGFzdFdlZWs6IltcdTA0ZThcdTA0NDJcdTA0M2Fc''@;'; put 'put ''dTA0MzVcdTA0M2QgXHUwNDMwXHUwNDNmXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDRiXHUwNGEzXSBkZGRkIFtcdTA0NDFcdTA0MzBcdTA0OTNcdTA0MzBcdTA0NDJdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBcdTA0NTZcdTA0NDhcdTA0NTZcdTA0M2RcdTA0''@;'; put 'put ''MzRcdTA0MzUiLHBhc3Q6IiVzIFx1MDQzMVx1MDRiMVx1MDQ0MFx1MDQ0Ylx1MDQzZCIsczoiXHUwNDMxXHUwNDU2XHUwNDQwXHUwNDNkXHUwNDM1XHUwNDQ4XHUwNDM1IFx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCIsc3M6IiVkIFx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0''@;'; put 'put ''M1x1MDQzZFx1MDQzNCIsbToiXHUwNDMxXHUwNDU2XHUwNDQwIFx1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0MiIsbW06IiVkIFx1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0MiIsaDoiXHUwNDMxXHUwNDU2XHUwNDQwIFx1MDQ0MVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQ0MiIsaGg6''@;'; put 'put ''IiVkIFx1MDQ0MVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQ0MiIsZDoiXHUwNDMxXHUwNDU2XHUwNDQwIFx1MDQzYVx1MDRhZlx1MDQzZCIsZGQ6IiVkIFx1MDQzYVx1MDRhZlx1MDQzZCIsTToiXHUwNDMxXHUwNDU2XHUwNDQwIFx1MDQzMFx1MDQzOSIsTU06IiVkIFx1MDQzMFx1MDQzOSIseToi''@;'; put 'put ''XHUwNDMxXHUwNDU2XHUwNDQwIFx1MDQzNlx1MDQ0Ylx1MDQzYiIseXk6IiVkIFx1MDQzNlx1MDQ0Ylx1MDQzYiJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0tKFx1MDQ0OFx1MDQ1NnxcdTA0NDhcdTA0NGIpLyxvcmRpbmFsOmZ1bmN0aW9uKGhlKXtyZXR1cm4gaGUrKG9lW2hl''@;'; put 'put ''XXx8b2VbaGUlMTBdfHxvZVtoZT49MTAwPzEwMDpudWxsXSl9LHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDEwODM6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MToiXHUxN2UxIiwyOiJcdTE3ZTIiLDM6Ilx1MTdlMyIsNDoi''@;'; put 'put ''XHUxN2U0Iiw1OiJcdTE3ZTUiLDY6Ilx1MTdlNiIsNzoiXHUxN2U3Iiw4OiJcdTE3ZTgiLDk6Ilx1MTdlOSIsMDoiXHUxN2UwIn0sZ2U9eyJcdTE3ZTEiOiIxIiwiXHUxN2UyIjoiMiIsIlx1MTdlMyI6IjMiLCJcdTE3ZTQiOiI0IiwiXHUxN2U1IjoiNSIsIlx1MTdlNiI6IjYiLCJcdTE3ZTci''@;'; put 'put ''OiI3IiwiXHUxN2U4IjoiOCIsIlx1MTdlOSI6IjkiLCJcdTE3ZTAiOiIwIn07Q2UuZGVmaW5lTG9jYWxlKCJrbSIse21vbnRoczoiXHUxNzk4XHUxNzgwXHUxNzlhXHUxN2I2X1x1MTc4MFx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5N1x1MTdjOF9cdTE3OThcdTE3YjhcdTE3OTNcdTE3YjZfXHUx''@;'; put 'put ''Nzk4XHUxN2MxXHUxNzlmXHUxN2I2X1x1MTdhN1x1MTc5Zlx1MTc5N1x1MTdiNl9cdTE3OThcdTE3YjdcdTE3OTBcdTE3YmJcdTE3OTNcdTE3YjZfXHUxNzgwXHUxNzgwXHUxN2QyXHUxNzgwXHUxNzhhXHUxN2I2X1x1MTc5Zlx1MTdiOFx1MTdhMFx1MTdiNl9cdTE3ODBcdTE3ODlcdTE3ZDJc''@;'; put 'put ''dTE3ODlcdTE3YjZfXHUxNzhmXHUxN2JiXHUxNzliXHUxN2I2X1x1MTc5Y1x1MTdiN1x1MTc4NVx1MTdkMlx1MTc4Nlx1MTdiN1x1MTc4MFx1MTdiNl9cdTE3OTJcdTE3ZDJcdTE3OTNcdTE3YmMiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MTc5OFx1MTc4MFx1MTc5YVx1MTdiNl9cdTE3''@;'; put 'put ''ODBcdTE3YmJcdTE3OThcdTE3ZDJcdTE3OTdcdTE3YzhfXHUxNzk4XHUxN2I4XHUxNzkzXHUxN2I2X1x1MTc5OFx1MTdjMVx1MTc5Zlx1MTdiNl9cdTE3YTdcdTE3OWZcdTE3OTdcdTE3YjZfXHUxNzk4XHUxN2I3XHUxNzkwXHUxN2JiXHUxNzkzXHUxN2I2X1x1MTc4MFx1MTc4MFx1MTdkMlx1''@;'; put 'put ''MTc4MFx1MTc4YVx1MTdiNl9cdTE3OWZcdTE3YjhcdTE3YTBcdTE3YjZfXHUxNzgwXHUxNzg5XHUxN2QyXHUxNzg5XHUxN2I2X1x1MTc4Zlx1MTdiYlx1MTc5Ylx1MTdiNl9cdTE3OWNcdTE3YjdcdTE3ODVcdTE3ZDJcdTE3ODZcdTE3YjdcdTE3ODBcdTE3YjZfXHUxNzkyXHUxN2QyXHUxNzkz''@;'; put 'put ''XHUxN2JjIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTE3YTJcdTE3YjZcdTE3OTFcdTE3YjdcdTE3OGZcdTE3ZDJcdTE3OTlfXHUxNzg1XHUxN2QwXHUxNzkzXHUxN2QyXHUxNzkxX1x1MTdhMlx1MTc4NFx1MTdkMlx1MTc4Mlx1MTdiNlx1MTc5YV9cdTE3OTZcdTE3YmJcdTE3OTJfXHUxNzk2''@;'; put 'put ''XHUxN2QyXHUxNzlhXHUxN2EwXHUxNzlmXHUxN2QyXHUxNzk0XHUxNzhmXHUxN2I3XHUxN2NkX1x1MTc5Zlx1MTdiYlx1MTc4MFx1MTdkMlx1MTc5YV9cdTE3OWZcdTE3YzVcdTE3OWFcdTE3Y2QiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUxN2EyXHUxN2I2X1x1MTc4NV9cdTE3YTJf''@;'; put 'put ''XHUxNzk2X1x1MTc5Nlx1MTdkMlx1MTc5YV9cdTE3OWZcdTE3YmJfXHUxNzlmIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTE3YTJcdTE3YjZfXHUxNzg1X1x1MTdhMl9cdTE3OTZfXHUxNzk2XHUxN2QyXHUxNzlhX1x1MTc5Zlx1MTdiYl9cdTE3OWYiLnNwbGl0KCJfIiksd2Vla2RheXNQ''@;'; put 'put ''YXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxtZXJpZGllbVBhcnNlOi9cdTE3OTZc''@;'; put 'put ''dTE3ZDJcdTE3OWFcdTE3YjlcdTE3ODB8XHUxNzliXHUxN2QyXHUxNzg0XHUxN2I2XHUxNzg1Lyxpc1BNOmZ1bmN0aW9uKFope3JldHVybiJcdTE3OWJcdTE3ZDJcdTE3ODRcdTE3YjZcdTE3ODUiPT09Wn0sbWVyaWRpZW06ZnVuY3Rpb24oWixBLGope3JldHVybiBaPDEyPyJcdTE3OTZcdTE3''@;'; put 'put ''ZDJcdTE3OWFcdTE3YjlcdTE3ODAiOiJcdTE3OWJcdTE3ZDJcdTE3ODRcdTE3YjZcdTE3ODUifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MTc5MFx1MTdkMlx1MTc4NFx1MTdjM1x1MTc5M1x1MTdjMVx1MTdjNyBcdTE3OThcdTE3YzlcdTE3YzRcdTE3ODRdIExUIixuZXh0RGF5OiJbXHUxNzlm''@;'; put 'put ''XHUxN2QyXHUxN2EyXHUxN2MyXHUxNzgwIFx1MTc5OFx1MTdjOVx1MTdjNFx1MTc4NF0gTFQiLG5leHRXZWVrOiJkZGRkIFtcdTE3OThcdTE3YzlcdTE3YzRcdTE3ODRdIExUIixsYXN0RGF5OiJbXHUxNzk4XHUxN2QyXHUxNzlmXHUxN2I3XHUxNzliXHUxNzk4XHUxN2I3XHUxNzg5IFx1MTc5''@;'; put 'put ''OFx1MTdjOVx1MTdjNFx1MTc4NF0gTFQiLGxhc3RXZWVrOiJkZGRkIFtcdTE3OWZcdTE3OTRcdTE3ZDJcdTE3OGZcdTE3YjZcdTE3YTBcdTE3Y2RcdTE3OThcdTE3YmJcdTE3OTNdIFtcdTE3OThcdTE3YzlcdTE3YzRcdTE3ODRdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0''@;'; put 'put ''dXJlOiIlc1x1MTc5MVx1MTdjMFx1MTc4ZiIscGFzdDoiJXNcdTE3OThcdTE3YmJcdTE3OTMiLHM6Ilx1MTc5NFx1MTdjOVx1MTdiYlx1MTc5M1x1MTdkMlx1MTc5OFx1MTdiNlx1MTc5M1x1MTc5Y1x1MTdiN1x1MTc5M1x1MTdiNlx1MTc5MVx1MTdiOCIsc3M6IiVkIFx1MTc5Y1x1MTdiN1x1''@;'; put 'put ''MTc5M1x1MTdiNlx1MTc5MVx1MTdiOCIsbToiXHUxNzk4XHUxN2JkXHUxNzk5XHUxNzkzXHUxN2I2XHUxNzkxXHUxN2I4IixtbToiJWQgXHUxNzkzXHUxN2I2XHUxNzkxXHUxN2I4IixoOiJcdTE3OThcdTE3YmRcdTE3OTlcdTE3OThcdTE3YzlcdTE3YzRcdTE3ODQiLGhoOiIlZCBcdTE3OThc''@;'; put 'put ''dTE3YzlcdTE3YzRcdTE3ODQiLGQ6Ilx1MTc5OFx1MTdiZFx1MTc5OVx1MTc5MFx1MTdkMlx1MTc4NFx1MTdjMyIsZGQ6IiVkIFx1MTc5MFx1MTdkMlx1MTc4NFx1MTdjMyIsTToiXHUxNzk4XHUxN2JkXHUxNzk5XHUxNzgxXHUxN2MyIixNTToiJWQgXHUxNzgxXHUxN2MyIix5OiJcdTE3OThc''@;'; put 'put ''dTE3YmRcdTE3OTlcdTE3ODZcdTE3ZDJcdTE3OTNcdTE3YjZcdTE3YzYiLHl5OiIlZCBcdTE3ODZcdTE3ZDJcdTE3OTNcdTE3YjZcdTE3YzYifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cdTE3OTFcdTE3YjhcZHsxLDJ9LyxvcmRpbmFsOiJcdTE3OTFcdTE3YjglZCIscHJlcGFyc2U6ZnVu''@;'; put 'put ''Y3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvW1x1MTdlMVx1MTdlMlx1MTdlM1x1MTdlNFx1MTdlNVx1MTdlNlx1MTdlN1x1MTdlOFx1MTdlOVx1MTdlMF0vZyxmdW5jdGlvbihBKXtyZXR1cm4gZ2VbQV19KX0scG9zdGZvcm1hdDpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC9cZC9n''@;'; put 'put ''LGZ1bmN0aW9uKEEpe3JldHVybiBvZVtBXX0pfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw4Nzg1OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ezE6Ilx1MGNlNyIsMjoiXHUwY2U4IiwzOiJcdTBjZTkiLDQ6Ilx1MGNlYSIs''@;'; put 'put ''NToiXHUwY2ViIiw2OiJcdTBjZWMiLDc6Ilx1MGNlZCIsODoiXHUwY2VlIiw5OiJcdTBjZWYiLDA6Ilx1MGNlNiJ9LGdlPXsiXHUwY2U3IjoiMSIsIlx1MGNlOCI6IjIiLCJcdTBjZTkiOiIzIiwiXHUwY2VhIjoiNCIsIlx1MGNlYiI6IjUiLCJcdTBjZWMiOiI2IiwiXHUwY2VkIjoiNyIsIlx1''@;'; put 'put ''MGNlZSI6IjgiLCJcdTBjZWYiOiI5IiwiXHUwY2U2IjoiMCJ9O0NlLmRlZmluZUxvY2FsZSgia24iLHttb250aHM6Ilx1MGM5Y1x1MGNhOFx1MGNiNVx1MGNiMFx1MGNiZl9cdTBjYWJcdTBjYzZcdTBjYWNcdTBjY2RcdTBjYjBcdTBjYjVcdTBjYjBcdTBjYmZfXHUwY2FlXHUwY2JlXHUwY2Iw''@;'; put 'put ''XHUwY2NkXHUwYzlhXHUwY2NkX1x1MGM4Zlx1MGNhYVx1MGNjZFx1MGNiMFx1MGNiZlx1MGNiMlx1MGNjZF9cdTBjYWVcdTBjYzZcdTBjZDVfXHUwYzljXHUwY2MyXHUwY2E4XHUwY2NkX1x1MGM5Y1x1MGNjMVx1MGNiMlx1MGNjNlx1MGNkNl9cdTBjODZcdTBjOTdcdTBjYjhcdTBjY2RcdTBj''@;'; put 'put ''OWZcdTBjY2RfXHUwY2I4XHUwY2M2XHUwY2FhXHUwY2NkXHUwYzlmXHUwY2M2XHUwYzgyXHUwY2FjXHUwY2IwXHUwY2NkX1x1MGM4NVx1MGM5NVx1MGNjZFx1MGM5Zlx1MGNjNlx1MGNjMlx1MGNkNVx1MGNhY1x1MGNiMFx1MGNjZF9cdTBjYThcdTBjYjVcdTBjYzZcdTBjODJcdTBjYWNcdTBj''@;'; put 'put ''YjBcdTBjY2RfXHUwY2ExXHUwY2JmXHUwY2I4XHUwY2M2XHUwYzgyXHUwY2FjXHUwY2IwXHUwY2NkIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTBjOWNcdTBjYThfXHUwY2FiXHUwY2M2XHUwY2FjXHUwY2NkXHUwY2IwX1x1MGNhZVx1MGNiZVx1MGNiMFx1MGNjZFx1MGM5YVx1MGNjZF9c''@;'; put 'put ''dTBjOGZcdTBjYWFcdTBjY2RcdTBjYjBcdTBjYmZcdTBjYjJcdTBjY2RfXHUwY2FlXHUwY2M2XHUwY2Q1X1x1MGM5Y1x1MGNjMlx1MGNhOFx1MGNjZF9cdTBjOWNcdTBjYzFcdTBjYjJcdTBjYzZcdTBjZDZfXHUwYzg2XHUwYzk3XHUwY2I4XHUwY2NkXHUwYzlmXHUwY2NkX1x1MGNiOFx1MGNj''@;'; put 'put ''Nlx1MGNhYVx1MGNjZFx1MGM5Zlx1MGNjNlx1MGM4Ml9cdTBjODVcdTBjOTVcdTBjY2RcdTBjOWZcdTBjYzZcdTBjYzJcdTBjZDVfXHUwY2E4XHUwY2I1XHUwY2M2XHUwYzgyX1x1MGNhMVx1MGNiZlx1MGNiOFx1MGNjNlx1MGM4MiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdl''@;'; put 'put ''ZWtkYXlzOiJcdTBjYWRcdTBjYmVcdTBjYThcdTBjYzFcdTBjYjVcdTBjYmVcdTBjYjBfXHUwY2I4XHUwY2M2XHUwY2MyXHUwY2Q1XHUwY2FlXHUwY2I1XHUwY2JlXHUwY2IwX1x1MGNhZVx1MGM4Mlx1MGM5N1x1MGNiM1x1MGNiNVx1MGNiZVx1MGNiMF9cdTBjYWNcdTBjYzFcdTBjYTdcdTBj''@;'; put 'put ''YjVcdTBjYmVcdTBjYjBfXHUwYzk3XHUwY2MxXHUwY2IwXHUwY2MxXHUwY2I1XHUwY2JlXHUwY2IwX1x1MGNiNlx1MGNjMVx1MGM5NVx1MGNjZFx1MGNiMFx1MGNiNVx1MGNiZVx1MGNiMF9cdTBjYjZcdTBjYThcdTBjYmZcdTBjYjVcdTBjYmVcdTBjYjAiLnNwbGl0KCJfIiksd2Vla2RheXNT''@;'; put 'put ''aG9ydDoiXHUwY2FkXHUwY2JlXHUwY2E4XHUwY2MxX1x1MGNiOFx1MGNjNlx1MGNjMlx1MGNkNVx1MGNhZV9cdTBjYWVcdTBjODJcdTBjOTdcdTBjYjNfXHUwY2FjXHUwY2MxXHUwY2E3X1x1MGM5N1x1MGNjMVx1MGNiMFx1MGNjMV9cdTBjYjZcdTBjYzFcdTBjOTVcdTBjY2RcdTBjYjBfXHUw''@;'; put 'put ''Y2I2XHUwY2E4XHUwY2JmIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTBjYWRcdTBjYmVfXHUwY2I4XHUwY2M2XHUwY2MyXHUwY2Q1X1x1MGNhZVx1MGM4Ml9cdTBjYWNcdTBjYzFfXHUwYzk3XHUwY2MxX1x1MGNiNlx1MGNjMV9cdTBjYjYiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6''@;'; put 'put ''e0xUOiJBIGg6bW0iLExUUzoiQSBoOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVksIEEgaDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVksIEEgaDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwYzg3XHUwYzgyXHUwY2E2XHUwY2Mx''@;'; put 'put ''XSBMVCIsbmV4dERheToiW1x1MGNhOFx1MGNiZVx1MGNiM1x1MGNjNl0gTFQiLG5leHRXZWVrOiJkZGRkLCBMVCIsbGFzdERheToiW1x1MGNhOFx1MGNiZlx1MGNhOFx1MGNjZFx1MGNhOFx1MGNjNl0gTFQiLGxhc3RXZWVrOiJbXHUwYzk1XHUwY2M2XHUwY2MyXHUwY2E4XHUwY2M2XHUwY2Fm''@;'; put 'put ''XSBkZGRkLCBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHUwY2E4XHUwYzgyXHUwY2E0XHUwY2IwIixwYXN0OiIlcyBcdTBjYjlcdTBjYmZcdTBjODJcdTBjYTZcdTBjYzYiLHM6Ilx1MGM5NVx1MGNjNlx1MGNiMlx1MGNiNVx1MGNjMSBcdTBjOTVcdTBjY2Rc''@;'; put 'put ''dTBjYjdcdTBjYTNcdTBjOTdcdTBjYjNcdTBjYzEiLHNzOiIlZCBcdTBjYjhcdTBjYzZcdTBjOTVcdTBjYzZcdTBjODJcdTBjYTFcdTBjYzFcdTBjOTdcdTBjYjNcdTBjYzEiLG06Ilx1MGM5Mlx1MGM4Mlx1MGNhNlx1MGNjMSBcdTBjYThcdTBjYmZcdTBjYWVcdTBjYmZcdTBjYjciLG1tOiIl''@;'; put 'put ''ZCBcdTBjYThcdTBjYmZcdTBjYWVcdTBjYmZcdTBjYjciLGg6Ilx1MGM5Mlx1MGM4Mlx1MGNhNlx1MGNjMSBcdTBjOTdcdTBjODJcdTBjOWZcdTBjYzYiLGhoOiIlZCBcdTBjOTdcdTBjODJcdTBjOWZcdTBjYzYiLGQ6Ilx1MGM5Mlx1MGM4Mlx1MGNhNlx1MGNjMSBcdTBjYTZcdTBjYmZcdTBj''@;'; put 'put ''YTgiLGRkOiIlZCBcdTBjYTZcdTBjYmZcdTBjYTgiLE06Ilx1MGM5Mlx1MGM4Mlx1MGNhNlx1MGNjMSBcdTBjYTRcdTBjYmZcdTBjODJcdTBjOTdcdTBjYjNcdTBjYzEiLE1NOiIlZCBcdTBjYTRcdTBjYmZcdTBjODJcdTBjOTdcdTBjYjNcdTBjYzEiLHk6Ilx1MGM5Mlx1MGM4Mlx1MGNhNlx1''@;'; put 'put ''MGNjMSBcdTBjYjVcdTBjYjBcdTBjY2RcdTBjYjciLHl5OiIlZCBcdTBjYjVcdTBjYjBcdTBjY2RcdTBjYjcifSxwcmVwYXJzZTpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC9bXHUwY2U3XHUwY2U4XHUwY2U5XHUwY2VhXHUwY2ViXHUwY2VjXHUwY2VkXHUwY2VlXHUwY2VmXHUwY2U2''@;'; put 'put ''XS9nLGZ1bmN0aW9uKEEpe3JldHVybiBnZVtBXX0pfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1xkL2csZnVuY3Rpb24oQSl7cmV0dXJuIG9lW0FdfSl9LG1lcmlkaWVtUGFyc2U6L1x1MGNiMFx1MGNiZVx1MGNhNFx1MGNjZFx1MGNiMFx1MGNiZnxcdTBjYWNc''@;'; put 'put ''dTBjYzZcdTBjYjNcdTBjYmZcdTBjOTdcdTBjY2RcdTBjOTdcdTBjYzZ8XHUwY2FlXHUwY2E3XHUwY2NkXHUwY2FmXHUwY2JlXHUwY2I5XHUwY2NkXHUwY2E4fFx1MGNiOFx1MGM4Mlx1MGM5Y1x1MGNjNi8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKFosQSl7cmV0dXJuIDEyPT09WiYmKFo9MCks''@;'; put 'put ''Ilx1MGNiMFx1MGNiZVx1MGNhNFx1MGNjZFx1MGNiMFx1MGNiZiI9PT1BP1o8ND9aOlorMTI6Ilx1MGNhY1x1MGNjNlx1MGNiM1x1MGNiZlx1MGM5N1x1MGNjZFx1MGM5N1x1MGNjNiI9PT1BP1o6Ilx1MGNhZVx1MGNhN1x1MGNjZFx1MGNhZlx1MGNiZVx1MGNiOVx1MGNjZFx1MGNhOCI9PT1B''@;'; put 'put ''P1o+PTEwP1o6WisxMjoiXHUwY2I4XHUwYzgyXHUwYzljXHUwY2M2Ij09PUE/WisxMjp2b2lkIDB9LG1lcmlkaWVtOmZ1bmN0aW9uKFosQSxqKXtyZXR1cm4gWjw0PyJcdTBjYjBcdTBjYmVcdTBjYTRcdTBjY2RcdTBjYjBcdTBjYmYiOlo8MTA/Ilx1MGNhY1x1MGNjNlx1MGNiM1x1MGNiZlx1''@;'; put 'put ''MGM5N1x1MGNjZFx1MGM5N1x1MGNjNiI6WjwxNz8iXHUwY2FlXHUwY2E3XHUwY2NkXHUwY2FmXHUwY2JlXHUwY2I5XHUwY2NkXHUwY2E4IjpaPDIwPyJcdTBjYjhcdTBjODJcdTBjOWNcdTBjYzYiOiJcdTBjYjBcdTBjYmVcdTBjYTRcdTBjY2RcdTBjYjBcdTBjYmYifSxkYXlPZk1vbnRoT3Jk''@;'; put 'put ''aW5hbFBhcnNlOi9cZHsxLDJ9KFx1MGNhOFx1MGNjNlx1MGNkNSkvLG9yZGluYWw6ZnVuY3Rpb24oWil7cmV0dXJuIForIlx1MGNhOFx1MGNjNlx1MGNkNSJ9LHdlZWs6e2RvdzowLGRveTo2fX0pfShGZSg2NzM4KSl9LDE3MjE6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVz''@;'; put 'put ''ZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgia28iLHttb250aHM6IjFcdWM2ZDRfMlx1YzZkNF8zXHVjNmQ0XzRcdWM2ZDRfNVx1YzZkNF82XHVjNmQ0XzdcdWM2ZDRfOFx1YzZkNF85XHVjNmQ0XzEwXHVjNmQ0XzExXHVjNmQ0XzEyXHVjNmQ0Ii5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiIx''@;'; put 'put ''XHVjNmQ0XzJcdWM2ZDRfM1x1YzZkNF80XHVjNmQ0XzVcdWM2ZDRfNlx1YzZkNF83XHVjNmQ0XzhcdWM2ZDRfOVx1YzZkNF8xMFx1YzZkNF8xMVx1YzZkNF8xMlx1YzZkNCIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHVjNzdjXHVjNjk0XHVjNzdjX1x1YzZkNFx1YzY5NFx1Yzc3Y19cdWQ2NTRc''@;'; put 'put ''dWM2OTRcdWM3N2NfXHVjMjE4XHVjNjk0XHVjNzdjX1x1YmFhOVx1YzY5NFx1Yzc3Y19cdWFlMDhcdWM2OTRcdWM3N2NfXHVkMWEwXHVjNjk0XHVjNzdjIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1Yzc3Y19cdWM2ZDRfXHVkNjU0X1x1YzIxOF9cdWJhYTlfXHVhZTA4X1x1ZDFhMCIu''@;'; put 'put ''c3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHVjNzdjX1x1YzZkNF9cdWQ2NTRfXHVjMjE4X1x1YmFhOV9cdWFlMDhfXHVkMWEwIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiQSBoOm1tIixMVFM6IkEgaDptbTpzcyIsTDoiWVlZWS5NTS5ERC4iLExMOiJZWVlZXHViMTQ0IE1NTU0g''@;'; put 'put ''RFx1Yzc3YyIsTExMOiJZWVlZXHViMTQ0IE1NTU0gRFx1Yzc3YyBBIGg6bW0iLExMTEw6IllZWVlcdWIxNDQgTU1NTSBEXHVjNzdjIGRkZGQgQSBoOm1tIixsOiJZWVlZLk1NLkRELiIsbGw6IllZWVlcdWIxNDQgTU1NTSBEXHVjNzdjIixsbGw6IllZWVlcdWIxNDQgTU1NTSBEXHVjNzdjIEEg''@;'; put 'put ''aDptbSIsbGxsbDoiWVlZWVx1YjE0NCBNTU1NIERcdWM3N2MgZGRkZCBBIGg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiXHVjNjI0XHViMjk4IExUIixuZXh0RGF5OiJcdWIwYjRcdWM3N2MgTFQiLG5leHRXZWVrOiJkZGRkIExUIixsYXN0RGF5OiJcdWM1YjRcdWM4MWMgTFQiLGxhc3RXZWVr''@;'; put 'put ''OiJcdWM5YzBcdWIwOWNcdWM4ZmMgZGRkZCBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHVkNmM0IixwYXN0OiIlcyBcdWM4MDQiLHM6Ilx1YmE4NyBcdWNkMDgiLHNzOiIlZFx1Y2QwOCIsbToiMVx1YmQ4NCIsbW06IiVkXHViZDg0IixoOiJcdWQ1NWMgXHVj''@;'; put 'put ''MmRjXHVhYzA0IixoaDoiJWRcdWMyZGNcdWFjMDQiLGQ6Ilx1ZDU1OFx1YjhlOCIsZGQ6IiVkXHVjNzdjIixNOiJcdWQ1NWMgXHViMmVjIixNTToiJWRcdWIyZWMiLHk6Ilx1Yzc3YyBcdWIxNDQiLHl5OiIlZFx1YjE0NCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oXHVjNzdj''@;'; put 'put ''fFx1YzZkNHxcdWM4ZmMpLyxvcmRpbmFsOmZ1bmN0aW9uKGdlLGhlKXtzd2l0Y2goaGUpe2Nhc2UiZCI6Y2FzZSJEIjpjYXNlIkRERCI6cmV0dXJuIGdlKyJcdWM3N2MiO2Nhc2UiTSI6cmV0dXJuIGdlKyJcdWM2ZDQiO2Nhc2UidyI6Y2FzZSJXIjpyZXR1cm4gZ2UrIlx1YzhmYyI7ZGVmYXVs''@;'; put 'put ''dDpyZXR1cm4gZ2V9fSxtZXJpZGllbVBhcnNlOi9cdWM2MjRcdWM4MDR8XHVjNjI0XHVkNmM0Lyxpc1BNOmZ1bmN0aW9uKGdlKXtyZXR1cm4iXHVjNjI0XHVkNmM0Ij09PWdlfSxtZXJpZGllbTpmdW5jdGlvbihnZSxoZSxaKXtyZXR1cm4gZ2U8MTI/Ilx1YzYyNFx1YzgwNCI6Ilx1YzYyNFx1''@;'; put 'put ''ZDZjNCJ9fSl9KEZlKDY3MzgpKX0sNzg1MTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXsxOiJcdTA2NjEiLDI6Ilx1MDY2MiIsMzoiXHUwNjYzIiw0OiJcdTA2NjQiLDU6Ilx1MDY2NSIsNjoiXHUwNjY2Iiw3OiJcdTA2NjciLDg6Ilx1MDY2''@;'; put 'put ''OCIsOToiXHUwNjY5IiwwOiJcdTA2NjAifSxnZT17Ilx1MDY2MSI6IjEiLCJcdTA2NjIiOiIyIiwiXHUwNjYzIjoiMyIsIlx1MDY2NCI6IjQiLCJcdTA2NjUiOiI1IiwiXHUwNjY2IjoiNiIsIlx1MDY2NyI6IjciLCJcdTA2NjgiOiI4IiwiXHUwNjY5IjoiOSIsIlx1MDY2MCI6IjAifSxoZT1b''@;'; put 'put ''Ilx1MDZhOVx1MDYyN1x1MDY0Nlx1MDY0OFx1MDY0Nlx1MDZjYyBcdTA2MmZcdTA2NDhcdTA2NDhcdTA2ZDVcdTA2NDUiLCJcdTA2MzRcdTA2NDhcdTA2MjhcdTA2MjdcdTA2MmEiLCJcdTA2MjZcdTA2MjdcdTA2MzJcdTA2MjdcdTA2MzEiLCJcdTA2NDZcdTA2Y2NcdTA2MzNcdTA2MjdcdTA2''@;'; put 'put ''NDYiLCJcdTA2MjZcdTA2MjdcdTA2Y2NcdTA2MjdcdTA2MzEiLCJcdTA2MmRcdTA2NDhcdTA2MzJcdTA2ZDVcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2NDYiLCJcdTA2MmFcdTA2ZDVcdTA2NDVcdTA2NDVcdTA2NDhcdTA2MzIiLCJcdTA2MjZcdTA2MjdcdTA2MjgiLCJcdTA2MjZcdTA2ZDVcdTA2''@;'; put 'put ''Y2NcdTA2NDRcdTA2NDhcdTA2NDhcdTA2NDQiLCJcdTA2MmFcdTA2MzRcdTA2MzFcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNmNjXHUwNmQ1XHUwNjQzXHUwNmQ1XHUwNjQ1IiwiXHUwNjJhXHUwNjM0XHUwNjMxXHUwNmNjXHUwNjQ2XHUwNmNjIFx1MDYyZlx1MDY0OFx1MDY0OFx1MDZkNVx1MDY0''@;'; put 'put ''NSIsIlx1MDY0M1x1MDYyN1x1MDY0Nlx1MDY0OFx1MDY0Nlx1MDZjYyBcdTA2Y2NcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2NDUiXTtDZS5kZWZpbmVMb2NhbGUoImt1Iix7bW9udGhzOmhlLG1vbnRoc1Nob3J0OmhlLHdlZWtkYXlzOiJcdTA2Y2NcdTA2NDdcdTIwMGNcdTA2NDNcdTA2MzRcdTA2''@;'; put 'put ''NDdcdTIwMGNcdTA2NDVcdTA2NDVcdTA2NDdcdTIwMGNfXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNjM0XHUwNjQ3XHUyMDBjXHUwNjQ1XHUwNjQ1XHUwNjQ3XHUyMDBjX1x1MDYzM1x1MDZjZVx1MDYzNFx1MDY0N1x1MjAwY1x1MDY0NVx1MDY0NVx1MDY0N1x1MjAwY19cdTA2ODZcdTA2NDhcdTA2''@;'; put 'put ''MjdcdTA2MzFcdTA2MzRcdTA2NDdcdTIwMGNcdTA2NDVcdTA2NDVcdTA2NDdcdTIwMGNfXHUwNjdlXHUwNmNlXHUwNjQ2XHUwNjJjXHUwNjM0XHUwNjQ3XHUyMDBjXHUwNjQ1XHUwNjQ1XHUwNjQ3XHUyMDBjX1x1MDY0N1x1MDY0N1x1MjAwY1x1MDZjY1x1MDY0Nlx1MDZjY19cdTA2MzRcdTA2''@;'; put 'put ''NDdcdTIwMGNcdTA2NDVcdTA2NDVcdTA2NDdcdTIwMGMiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwNmNjXHUwNjQ3XHUyMDBjXHUwNjQzXHUwNjM0XHUwNjQ3XHUyMDBjXHUwNjQ1X1x1MDYyZlx1MDY0OFx1MDY0OFx1MDYzNFx1MDY0N1x1MjAwY1x1MDY0NV9cdTA2MzNcdTA2Y2Vc''@;'; put 'put ''dTA2MzRcdTA2NDdcdTIwMGNcdTA2NDVfXHUwNjg2XHUwNjQ4XHUwNjI3XHUwNjMxXHUwNjM0XHUwNjQ3XHUyMDBjXHUwNjQ1X1x1MDY3ZVx1MDZjZVx1MDY0Nlx1MDYyY1x1MDYzNFx1MDY0N1x1MjAwY1x1MDY0NV9cdTA2NDdcdTA2NDdcdTIwMGNcdTA2Y2NcdTA2NDZcdTA2Y2NfXHUwNjM0''@;'; put 'put ''XHUwNjQ3XHUyMDBjXHUwNjQ1XHUwNjQ1XHUwNjQ3XHUyMDBjIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTA2Y2NfXHUwNjJmX1x1MDYzM19cdTA2ODZfXHUwNjdlX1x1MDY0N19cdTA2MzQiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoi''@;'; put 'put ''SEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxtZXJpZGllbVBhcnNlOi9cdTA2MjZcdTA2Y2VcdTA2NDhcdTA2MjdcdTA2MzFcdTA2NDdcdTIw''@;'; put 'put ''MGN8XHUwNjI4XHUwNjQ3XHUyMDBjXHUwNmNjXHUwNjI3XHUwNjQ2XHUwNmNjLyxpc1BNOmZ1bmN0aW9uKEEpe3JldHVybi9cdTA2MjZcdTA2Y2VcdTA2NDhcdTA2MjdcdTA2MzFcdTA2NDdcdTIwMGMvLnRlc3QoQSl9LG1lcmlkaWVtOmZ1bmN0aW9uKEEsaixOKXtyZXR1cm4gQTwxMj8iXHUw''@;'; put 'put ''NjI4XHUwNjQ3XHUyMDBjXHUwNmNjXHUwNjI3XHUwNjQ2XHUwNmNjIjoiXHUwNjI2XHUwNmNlXHUwNjQ4XHUwNjI3XHUwNjMxXHUwNjQ3XHUyMDBjIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA2MjZcdTA2NDdcdTIwMGNcdTA2NDVcdTA2MzFcdTA2YzYgXHUwNjQzXHUwNjI3XHUwNjJhXHUw''@;'; put 'put ''Njk4XHUwNjQ1XHUwNmNlXHUwNjMxXSBMVCIsbmV4dERheToiW1x1MDYyOFx1MDY0N1x1MjAwY1x1MDZjY1x1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDNcdTA2MjdcdTA2MmFcdTA2OThcdTA2NDVcdTA2Y2VcdTA2MzFdIExUIixuZXh0V2VlazoiZGRkZCBbXHUwNjQzXHUwNjI3XHUwNjJhXHUw''@;'; put 'put ''Njk4XHUwNjQ1XHUwNmNlXHUwNjMxXSBMVCIsbGFzdERheToiW1x1MDYyZlx1MDY0OFx1MDZjZVx1MDY0Nlx1MDZjZSBcdTA2NDNcdTA2MjdcdTA2MmFcdTA2OThcdTA2NDVcdTA2Y2VcdTA2MzFdIExUIixsYXN0V2VlazoiZGRkZCBbXHUwNjQzXHUwNjI3XHUwNjJhXHUwNjk4XHUwNjQ1XHUw''@;'; put 'put ''NmNlXHUwNjMxXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiXHUwNjQ0XHUwNjQ3XHUyMDBjICVzIixwYXN0OiIlcyIsczoiXHUwNjg2XHUwNjQ3XHUyMDBjXHUwNjQ2XHUwNjJmIFx1MDY4Nlx1MDYzMVx1MDY0M1x1MDY0N1x1MjAwY1x1MDZjY1x1MDY0N1x1MjAw''@;'; put 'put ''Y1x1MDY0MyIsc3M6Ilx1MDY4Nlx1MDYzMVx1MDY0M1x1MDY0N1x1MjAwYyAlZCIsbToiXHUwNmNjXHUwNjQ3XHUyMDBjXHUwNjQzIFx1MDYyZVx1MDY0OFx1MDY0NFx1MDY0N1x1MjAwY1x1MDY0MyIsbW06IiVkIFx1MDYyZVx1MDY0OFx1MDY0NFx1MDY0N1x1MjAwY1x1MDY0MyIsaDoiXHUw''@;'; put 'put ''NmNjXHUwNjQ3XHUyMDBjXHUwNjQzIFx1MDY0M1x1MDYyN1x1MDYyYVx1MDY5OFx1MDY0NVx1MDZjZVx1MDYzMSIsaGg6IiVkIFx1MDY0M1x1MDYyN1x1MDYyYVx1MDY5OFx1MDY0NVx1MDZjZVx1MDYzMSIsZDoiXHUwNmNjXHUwNjQ3XHUyMDBjXHUwNjQzIFx1MDY5NVx1MDZjNlx1MDY5OCIs''@;'; put 'put ''ZGQ6IiVkIFx1MDY5NVx1MDZjNlx1MDY5OCIsTToiXHUwNmNjXHUwNjQ3XHUyMDBjXHUwNjQzIFx1MDY0NVx1MDYyN1x1MDY0Nlx1MDZhZiIsTU06IiVkIFx1MDY0NVx1MDYyN1x1MDY0Nlx1MDZhZiIseToiXHUwNmNjXHUwNjQ3XHUyMDBjXHUwNjQzIFx1MDYzM1x1MDYyN1x1MDZiNSIseXk6''@;'; put 'put ''IiVkIFx1MDYzM1x1MDYyN1x1MDZiNSJ9LHByZXBhcnNlOmZ1bmN0aW9uKEEpe3JldHVybiBBLnJlcGxhY2UoL1tcdTA2NjFcdTA2NjJcdTA2NjNcdTA2NjRcdTA2NjVcdTA2NjZcdTA2NjdcdTA2NjhcdTA2NjlcdTA2NjBdL2csZnVuY3Rpb24oail7cmV0dXJuIGdlW2pdfSkucmVwbGFjZSgv''@;'; put 'put ''XHUwNjBjL2csIiwiKX0scG9zdGZvcm1hdDpmdW5jdGlvbihBKXtyZXR1cm4gQS5yZXBsYWNlKC9cZC9nLGZ1bmN0aW9uKGope3JldHVybiBvZVtqXX0pLnJlcGxhY2UoLywvZywiXHUwNjBjIil9LHdlZWs6e2Rvdzo2LGRveToxMn19KX0oRmUoNjczOCkpfSwxNzI3OmZ1bmN0aW9uKF90LEN0''@;'; put 'put ''LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ezA6Ii1cdTA0NDdcdTA0YWYiLDE6Ii1cdTA0NDdcdTA0MzgiLDI6Ii1cdTA0NDdcdTA0MzgiLDM6Ii1cdTA0NDdcdTA0YWYiLDQ6Ii1cdTA0NDdcdTA0YWYiLDU6Ii1cdTA0NDdcdTA0MzgiLDY6Ii1cdTA0NDdcdTA0NGIi''@;'; put 'put ''LDc6Ii1cdTA0NDdcdTA0MzgiLDg6Ii1cdTA0NDdcdTA0MzgiLDk6Ii1cdTA0NDdcdTA0NDMiLDEwOiItXHUwNDQ3XHUwNDQzIiwyMDoiLVx1MDQ0N1x1MDQ0YiIsMzA6Ii1cdTA0NDdcdTA0NDMiLDQwOiItXHUwNDQ3XHUwNDRiIiw1MDoiLVx1MDQ0N1x1MDRhZiIsNjA6Ii1cdTA0NDdcdTA0''@;'; put 'put ''NGIiLDcwOiItXHUwNDQ3XHUwNDM4Iiw4MDoiLVx1MDQ0N1x1MDQzOCIsOTA6Ii1cdTA0NDdcdTA0NDMiLDEwMDoiLVx1MDQ0N1x1MDRhZiJ9O0NlLmRlZmluZUxvY2FsZSgia3kiLHttb250aHM6Ilx1MDQ0Zlx1MDQzZFx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQ0Y19cdTA0NDRcdTA0MzVcdTA0''@;'; put 'put ''MzJcdTA0NDBcdTA0MzBcdTA0M2JcdTA0NGNfXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyX1x1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQ0Y19cdTA0M2NcdTA0MzBcdTA0MzlfXHUwNDM4XHUwNDRlXHUwNDNkXHUwNDRjX1x1MDQzOFx1MDQ0ZVx1MDQzYlx1MDQ0Y19cdTA0MzBc''@;'; put 'put ''dTA0MzJcdTA0MzNcdTA0NDNcdTA0NDFcdTA0NDJfXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDRmXHUwNDMxXHUwNDQwXHUwNDRjX1x1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1MDQ0MFx1MDQ0Y19cdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBcdTA0NGNfXHUwNDM0''@;'; put 'put ''XHUwNDM1XHUwNDNhXHUwNDMwXHUwNDMxXHUwNDQwXHUwNDRjIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTA0NGZcdTA0M2RcdTA0MzJfXHUwNDQ0XHUwNDM1XHUwNDMyX1x1MDQzY1x1MDQzMFx1MDQ0MFx1MDQ0Ml9cdTA0MzBcdTA0M2ZcdTA0NDBfXHUwNDNjXHUwNDMwXHUwNDM5X1x1''@;'; put 'put ''MDQzOFx1MDQ0ZVx1MDQzZFx1MDQ0Y19cdTA0MzhcdTA0NGVcdTA0M2JcdTA0NGNfXHUwNDMwXHUwNDMyXHUwNDMzX1x1MDQ0MVx1MDQzNVx1MDQzZF9cdTA0M2VcdTA0M2FcdTA0NDJfXHUwNDNkXHUwNDNlXHUwNDRmX1x1MDQzNFx1MDQzNVx1MDQzYSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoi''@;'; put 'put ''XHUwNDE2XHUwNDM1XHUwNDNhXHUwNDQ4XHUwNDM1XHUwNDNjXHUwNDMxXHUwNDM4X1x1MDQxNFx1MDRhZlx1MDQzOVx1MDQ0OFx1MDRlOVx1MDQzY1x1MDQzMVx1MDRhZl9cdTA0MjhcdTA0MzVcdTA0MzlcdTA0NDhcdTA0MzVcdTA0M2NcdTA0MzFcdTA0MzhfXHUwNDI4XHUwNDMwXHUwNDQw''@;'; put 'put ''XHUwNDQ4XHUwNDM1XHUwNDNjXHUwNDMxXHUwNDM4X1x1MDQxMVx1MDQzNVx1MDQzOVx1MDQ0OFx1MDQzNVx1MDQzY1x1MDQzMVx1MDQzOF9cdTA0MTZcdTA0NDNcdTA0M2NcdTA0MzBfXHUwNDE4XHUwNDQ4XHUwNDM1XHUwNDNjXHUwNDMxXHUwNDM4Ii5zcGxpdCgiXyIpLHdlZWtkYXlzU2hv''@;'; put 'put ''cnQ6Ilx1MDQxNlx1MDQzNVx1MDQzYV9cdTA0MTRcdTA0YWZcdTA0MzlfXHUwNDI4XHUwNDM1XHUwNDM5X1x1MDQyOFx1MDQzMFx1MDQ0MF9cdTA0MTFcdTA0MzVcdTA0MzlfXHUwNDE2XHUwNDQzXHUwNDNjX1x1MDQxOFx1MDQ0OFx1MDQzNSIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUw''@;'; put 'put ''NDE2XHUwNDNhX1x1MDQxNFx1MDQzOV9cdTA0MjhcdTA0MzlfXHUwNDI4XHUwNDQwX1x1MDQxMVx1MDQzOV9cdTA0MTZcdTA0M2NfXHUwNDE4XHUwNDQ4Ii5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJEIE1N''@;'; put 'put ''TU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDQxMVx1MDRhZlx1MDQzM1x1MDRhZlx1MDQzZCBcdTA0NDFcdTA0MzBcdTA0MzBcdTA0NDJdIExUIixuZXh0RGF5OiJbXHUwNDJkXHUw''@;'; put 'put ''NDQwXHUwNDQyXHUwNDM1XHUwNGEzIFx1MDQ0MVx1MDQzMFx1MDQzMFx1MDQ0Ml0gTFQiLG5leHRXZWVrOiJkZGRkIFtcdTA0NDFcdTA0MzBcdTA0MzBcdTA0NDJdIExUIixsYXN0RGF5OiJbXHUwNDFhXHUwNDM1XHUwNDQ3XHUwNDRkXHUwNDRkIFx1MDQ0MVx1MDQzMFx1MDQzMFx1MDQ0Ml0g''@;'; put 'put ''TFQiLGxhc3RXZWVrOiJbXHUwNGU4XHUwNDQyXHUwNDNhXHUwNGU5XHUwNDNkIFx1MDQzMFx1MDQzZlx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQ0Ylx1MDQzZF0gZGRkZCBbXHUwNDNhXHUwNGFmXHUwNDNkXHUwNGFmXSBbXHUwNDQxXHUwNDMwXHUwNDMwXHUwNDQyXSBMVCIsc2FtZUVsc2U6Ikwi''@;'; put 'put ''fSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHUwNDM4XHUwNDQ3XHUwNDM4XHUwNDNkXHUwNDM0XHUwNDM1IixwYXN0OiIlcyBcdTA0M2NcdTA0NDNcdTA0NDBcdTA0NDNcdTA0M2QiLHM6Ilx1MDQzMVx1MDQzOFx1MDQ0MFx1MDQzZFx1MDQzNVx1MDQ0N1x1MDQzNSBcdTA0NDFcdTA0MzVc''@;'; put 'put ''dTA0M2FcdTA0NDNcdTA0M2RcdTA0MzQiLHNzOiIlZCBcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzQiLG06Ilx1MDQzMVx1MDQzOFx1MDQ0MCBcdTA0M2NcdTA0YWZcdTA0M2RcdTA0ZTlcdTA0NDIiLG1tOiIlZCBcdTA0M2NcdTA0YWZcdTA0M2RcdTA0ZTlcdTA0NDIiLGg6''@;'; put 'put ''Ilx1MDQzMVx1MDQzOFx1MDQ0MCBcdTA0NDFcdTA0MzBcdTA0MzBcdTA0NDIiLGhoOiIlZCBcdTA0NDFcdTA0MzBcdTA0MzBcdTA0NDIiLGQ6Ilx1MDQzMVx1MDQzOFx1MDQ0MCBcdTA0M2FcdTA0YWZcdTA0M2QiLGRkOiIlZCBcdTA0M2FcdTA0YWZcdTA0M2QiLE06Ilx1MDQzMVx1MDQzOFx1''@;'; put 'put ''MDQ0MCBcdTA0MzBcdTA0MzkiLE1NOiIlZCBcdTA0MzBcdTA0MzkiLHk6Ilx1MDQzMVx1MDQzOFx1MDQ0MCBcdTA0MzZcdTA0NGJcdTA0M2IiLHl5OiIlZCBcdTA0MzZcdTA0NGJcdTA0M2IifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9LShcdTA0NDdcdTA0Mzh8XHUwNDQ3XHUw''@;'; put 'put ''NDRifFx1MDQ0N1x1MDRhZnxcdTA0NDdcdTA0NDMpLyxvcmRpbmFsOmZ1bmN0aW9uKGhlKXtyZXR1cm4gaGUrKG9lW2hlXXx8b2VbaGUlMTBdfHxvZVtoZT49MTAwPzEwMDpudWxsXSl9LHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDM0NjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1''@;'; put 'put ''bmN0aW9uKENlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gb2UoaixOLHosQyl7dmFyIFM9e206WyJlbmcgTWludXR0IiwiZW5nZXIgTWludXR0Il0saDpbImVuZyBTdG9ubiIsImVuZ2VyIFN0b25uIl0sZDpbImVlbiBEYWciLCJlbmdlbSBEYWciXSxNOlsiZWUgTW91bnQiLCJlbmdlbSBNb3Vu''@;'; put 'put ''dCJdLHk6WyJlZSBKb2VyIiwiZW5nZW0gSm9lciJdfTtyZXR1cm4gTj9TW3pdWzBdOlNbel1bMV19ZnVuY3Rpb24gWihqKXtpZihqPXBhcnNlSW50KGosMTApLGlzTmFOKGopKXJldHVybiExO2lmKGo8MClyZXR1cm4hMDtpZihqPDEwKXJldHVybiA0PD1qJiZqPD03O2lmKGo8MTAwKXt2YXIg''@;'; put 'put ''Tj1qJTEwO3JldHVybiBaKDA9PT1OP2ovMTA6Til9aWYoajwxZTQpe2Zvcig7aj49MTA7KWovPTEwO3JldHVybiBaKGopfXJldHVybiBaKGovPTFlMyl9Q2UuZGVmaW5lTG9jYWxlKCJsYiIse21vbnRoczoiSmFudWFyX0ZlYnJ1YXJfTVx4ZTRlcnpfQWJyXHhlYmxsX01lZV9KdW5pX0p1bGlf''@;'; put 'put ''QXVndXN0X1NlcHRlbWJlcl9Pa3RvYmVyX05vdmVtYmVyX0RlemVtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJKYW4uX0ZlYnIuX01yei5fQWJyLl9NZWVfSnVuLl9KdWwuX0F1Zy5fU2VwdC5fT2t0Ll9Ob3YuX0Rlei4iLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVr''@;'; put 'put ''ZGF5czoiU29ubmRlZ19NXHhlOWluZGVnX0RceGVibnNjaGRlZ19NXHhlYnR0d29jaF9Eb25uZXNjaGRlZ19GcmVpZGVnX1NhbXNjaGRlZyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJTby5fTVx4ZTkuX0RceGViLl9NXHhlYi5fRG8uX0ZyLl9TYS4iLnNwbGl0KCJfIiksd2Vla2RheXNN''@;'; put 'put ''aW46IlNvX01ceGU5X0RceGViX01ceGViX0RvX0ZyX1NhIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6Ikg6bW0gW0F1ZXJdIixMVFM6Ikg6bW06c3MgW0F1ZXJdIixMOiJERC5NTS5ZWVlZIixMTDoiRC4gTU1NTSBZWVlZIixMTEw6IkQuIE1N''@;'; put 'put ''TU0gWVlZWSBIOm1tIFtBdWVyXSIsTExMTDoiZGRkZCwgRC4gTU1NTSBZWVlZIEg6bW0gW0F1ZXJdIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltIYXV0IHVtXSBMVCIsc2FtZUVsc2U6IkwiLG5leHREYXk6IltNdWVyIHVtXSBMVCIsbmV4dFdlZWs6ImRkZGQgW3VtXSBMVCIsbGFzdERheToiW0dc''@;'; put 'put ''eGVic2NodGVyIHVtXSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5kYXkoKSl7Y2FzZSAyOmNhc2UgNDpyZXR1cm4iW0xlc2NodGVuXSBkZGRkIFt1bV0gTFQiO2RlZmF1bHQ6cmV0dXJuIltMZXNjaHRlXSBkZGRkIFt1bV0gTFQifX19LHJlbGF0aXZlVGltZTp7ZnV0dXJl''@;'; put 'put ''OmZ1bmN0aW9uIGdlKGope3JldHVybiBaKGouc3Vic3RyKDAsai5pbmRleE9mKCIgIikpKT8iYSAiK2o6ImFuICIran0scGFzdDpmdW5jdGlvbiBoZShqKXtyZXR1cm4gWihqLnN1YnN0cigwLGouaW5kZXhPZigiICIpKSk/InZpcnUgIitqOiJ2aXJ1biAiK2p9LHM6ImUgcHVlciBTZWtvbm5l''@;'; put 'put ''biIsc3M6IiVkIFNla29ubmVuIixtOm9lLG1tOiIlZCBNaW51dHRlbiIsaDpvZSxoaDoiJWQgU3Rvbm5lbiIsZDpvZSxkZDoiJWQgRGVlZyIsTTpvZSxNTToiJWQgTVx4ZTlpbnQiLHk6b2UseXk6IiVkIEpvZXIifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6''@;'; put 'put ''IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMzAwMjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJsbyIse21vbnRoczoiXHUwZWExXHUwZWIxXHUwZTg3XHUwZTgxXHUwZWFkXHUwZTk5X1x1MGU4MVx1''@;'; put 'put ''MGViOFx1MGVhMVx1MGU5ZVx1MGViMl9cdTBlYTFcdTBlYjVcdTBlOTlcdTBlYjJfXHUwZWMwXHUwZWExXHUwZWFhXHUwZWIyX1x1MGU5ZVx1MGViNlx1MGU5NFx1MGVhYVx1MGViMFx1MGU5ZVx1MGViMl9cdTBlYTFcdTBlYjRcdTBlOTZcdTBlYjhcdTBlOTlcdTBlYjJfXHUwZTgxXHUwZWNk''@;'; put 'put ''XHUwZWE1XHUwZWIwXHUwZTgxXHUwZWJiXHUwZTk0X1x1MGVhYVx1MGViNFx1MGU4N1x1MGVhYlx1MGViMl9cdTBlODFcdTBlYjFcdTBlOTlcdTBlOGRcdTBlYjJfXHUwZTk1XHUwZWI4XHUwZWE1XHUwZWIyX1x1MGU5ZVx1MGViMFx1MGU4OFx1MGViNFx1MGU4MV9cdTBlOTdcdTBlYjFcdTBl''@;'; put 'put ''OTlcdTBlYTdcdTBlYjIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MGVhMVx1MGViMVx1MGU4N1x1MGU4MVx1MGVhZFx1MGU5OV9cdTBlODFcdTBlYjhcdTBlYTFcdTBlOWVcdTBlYjJfXHUwZWExXHUwZWI1XHUwZTk5XHUwZWIyX1x1MGVjMFx1MGVhMVx1MGVhYVx1MGViMl9cdTBlOWVc''@;'; put 'put ''dTBlYjZcdTBlOTRcdTBlYWFcdTBlYjBcdTBlOWVcdTBlYjJfXHUwZWExXHUwZWI0XHUwZTk2XHUwZWI4XHUwZTk5XHUwZWIyX1x1MGU4MVx1MGVjZFx1MGVhNVx1MGViMFx1MGU4MVx1MGViYlx1MGU5NF9cdTBlYWFcdTBlYjRcdTBlODdcdTBlYWJcdTBlYjJfXHUwZTgxXHUwZWIxXHUwZTk5''@;'; put 'put ''XHUwZThkXHUwZWIyX1x1MGU5NVx1MGViOFx1MGVhNVx1MGViMl9cdTBlOWVcdTBlYjBcdTBlODhcdTBlYjRcdTBlODFfXHUwZTk3XHUwZWIxXHUwZTk5XHUwZWE3XHUwZWIyIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTBlYWRcdTBlYjJcdTBlOTdcdTBlYjRcdTBlOTRfXHUwZTg4XHUwZWIx''@;'; put 'put ''XHUwZTk5X1x1MGVhZFx1MGViMVx1MGU4N1x1MGU4NFx1MGViMlx1MGU5OV9cdTBlOWVcdTBlYjhcdTBlOTRfXHUwZTllXHUwZWIwXHUwZWFiXHUwZWIxXHUwZTk0X1x1MGVhYVx1MGViOFx1MGU4MV9cdTBlYzBcdTBlYWFcdTBlYmJcdTBlYjIiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoi''@;'; put 'put ''XHUwZTk3XHUwZWI0XHUwZTk0X1x1MGU4OFx1MGViMVx1MGU5OV9cdTBlYWRcdTBlYjFcdTBlODdcdTBlODRcdTBlYjJcdTBlOTlfXHUwZTllXHUwZWI4XHUwZTk0X1x1MGU5ZVx1MGViMFx1MGVhYlx1MGViMVx1MGU5NF9cdTBlYWFcdTBlYjhcdTBlODFfXHUwZWMwXHUwZWFhXHUwZWJiXHUw''@;'; put 'put ''ZWIyIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTBlOTdfXHUwZTg4X1x1MGVhZFx1MGU4NF9cdTBlOWVfXHUwZTllXHUwZWFiX1x1MGVhYVx1MGU4MV9cdTBlYWEiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6''@;'; put 'put ''bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiXHUwZWE3XHUwZWIxXHUwZTk5ZGRkZCBEIE1NTU0gWVlZWSBISDptbSJ9LG1lcmlkaWVtUGFyc2U6L1x1MGU5NVx1MGVhZFx1MGU5OVx1MGVjMFx1MGU4YVx1MGViYlx1''@;'; put 'put ''MGVjOVx1MGViMnxcdTBlOTVcdTBlYWRcdTBlOTlcdTBlYzFcdTBlYTVcdTBlODcvLGlzUE06ZnVuY3Rpb24oZ2Upe3JldHVybiJcdTBlOTVcdTBlYWRcdTBlOTlcdTBlYzFcdTBlYTVcdTBlODciPT09Z2V9LG1lcmlkaWVtOmZ1bmN0aW9uKGdlLGhlLFope3JldHVybiBnZTwxMj8iXHUwZTk1''@;'; put 'put ''XHUwZWFkXHUwZTk5XHUwZWMwXHUwZThhXHUwZWJiXHUwZWM5XHUwZWIyIjoiXHUwZTk1XHUwZWFkXHUwZTk5XHUwZWMxXHUwZWE1XHUwZTg3In0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTBlYTFcdTBlYjdcdTBlYzlcdTBlOTlcdTBlYjVcdTBlYzlcdTBlYzBcdTBlYTdcdTBlYTVcdTBlYjJd''@;'; put 'put ''IExUIixuZXh0RGF5OiJbXHUwZWExXHUwZWI3XHUwZWM5XHUwZWFkXHUwZWI3XHUwZWM4XHUwZTk5XHUwZWMwXHUwZWE3XHUwZWE1XHUwZWIyXSBMVCIsbmV4dFdlZWs6IltcdTBlYTdcdTBlYjFcdTBlOTldZGRkZFtcdTBlZGNcdTBlYzlcdTBlYjJcdTBlYzBcdTBlYTdcdTBlYTVcdTBlYjJd''@;'; put 'put ''IExUIixsYXN0RGF5OiJbXHUwZWExXHUwZWI3XHUwZWM5XHUwZWE3XHUwZWIyXHUwZTk5XHUwZTk5XHUwZWI1XHUwZWM5XHUwZWMwXHUwZWE3XHUwZWE1XHUwZWIyXSBMVCIsbGFzdFdlZWs6IltcdTBlYTdcdTBlYjFcdTBlOTldZGRkZFtcdTBlYzFcdTBlYTVcdTBlYzlcdTBlYTdcdTBlOTlc''@;'; put 'put ''dTBlYjVcdTBlYzlcdTBlYzBcdTBlYTdcdTBlYTVcdTBlYjJdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTBlYWRcdTBlYjVcdTBlODEgJXMiLHBhc3Q6IiVzXHUwZTljXHUwZWM4XHUwZWIyXHUwZTk5XHUwZWExXHUwZWIyIixzOiJcdTBlOWFcdTBlY2RcdTBl''@;'; put 'put ''YzhcdTBlYzBcdTBlOTdcdTBlYmJcdTBlYzhcdTBlYjJcdTBlYzNcdTBlOTRcdTBlYTdcdTBlYjRcdTBlOTlcdTBlYjJcdTBlOTdcdTBlYjUiLHNzOiIlZCBcdTBlYTdcdTBlYjRcdTBlOTlcdTBlYjJcdTBlOTdcdTBlYjUiLG06IjEgXHUwZTk5XHUwZWIyXHUwZTk3XHUwZWI1IixtbToiJWQg''@;'; put 'put ''XHUwZTk5XHUwZWIyXHUwZTk3XHUwZWI1IixoOiIxIFx1MGU4YVx1MGViYlx1MGVjOFx1MGVhN1x1MGVjMlx1MGVhMVx1MGU4NyIsaGg6IiVkIFx1MGU4YVx1MGViYlx1MGVjOFx1MGVhN1x1MGVjMlx1MGVhMVx1MGU4NyIsZDoiMSBcdTBlYTFcdTBlYjdcdTBlYzkiLGRkOiIlZCBcdTBlYTFc''@;'; put 'put ''dTBlYjdcdTBlYzkiLE06IjEgXHUwZWMwXHUwZTk0XHUwZWI3XHUwZWFkXHUwZTk5IixNTToiJWQgXHUwZWMwXHUwZTk0XHUwZWI3XHUwZWFkXHUwZTk5Iix5OiIxIFx1MGU5Ylx1MGViNSIseXk6IiVkIFx1MGU5Ylx1MGViNSJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6LyhcdTBlOTdcdTBl''@;'; put 'put ''YjVcdTBlYzgpXGR7MSwyfS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7cmV0dXJuIlx1MGU5N1x1MGViNVx1MGVjOCIrZ2V9fSl9KEZlKDY3MzgpKX0sNDAzNTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXtzczoic2VrdW5kXHUwMTE3X3Nla3Vu''@;'; put 'put ''ZFx1MDE3ZWlcdTAxNzNfc2VrdW5kZXMiLG06Im1pbnV0XHUwMTE3X21pbnV0XHUwMTE3c19taW51dFx1MDExOSIsbW06Im1pbnV0XHUwMTE3c19taW51XHUwMTBkaVx1MDE3M19taW51dGVzIixoOiJ2YWxhbmRhX3ZhbGFuZG9zX3ZhbGFuZFx1MDEwNSIsaGg6InZhbGFuZG9zX3ZhbGFuZFx1''@;'; put 'put ''MDE3M192YWxhbmRhcyIsZDoiZGllbmFfZGllbm9zX2RpZW5cdTAxMDUiLGRkOiJkaWVub3NfZGllblx1MDE3M19kaWVuYXMiLE06Im1cdTAxMTdudW9fbVx1MDExN25lc2lvX21cdTAxMTduZXNcdTAxMmYiLE1NOiJtXHUwMTE3bmVzaWFpX21cdTAxMTduZXNpXHUwMTczX21cdTAxMTduZXNp''@;'; put 'put ''dXMiLHk6Im1ldGFpX21ldFx1MDE3M19tZXR1cyIseXk6Im1ldGFpX21ldFx1MDE3M19tZXR1cyJ9O2Z1bmN0aW9uIGhlKHosQyxTLG0pe3JldHVybiBDP0EoUylbMF06bT9BKFMpWzFdOkEoUylbMl19ZnVuY3Rpb24gWih6KXtyZXR1cm4geiUxMD09MHx8ej4xMCYmejwyMH1mdW5jdGlvbiBB''@;'; put 'put ''KHope3JldHVybiBvZVt6XS5zcGxpdCgiXyIpfWZ1bmN0aW9uIGooeixDLFMsbSl7dmFyIEY9eisiICI7cmV0dXJuIDE9PT16P0YraGUoMCxDLFNbMF0sbSk6Qz9GKyhaKHopP0EoUylbMV06QShTKVswXSk6bT9GK0EoUylbMV06RisoWih6KT9BKFMpWzFdOkEoUylbMl0pfUNlLmRlZmluZUxv''@;'; put 'put ''Y2FsZSgibHQiLHttb250aHM6e2Zvcm1hdDoic2F1c2lvX3Zhc2FyaW9fa292b19iYWxhbmRcdTAxN2Vpb19nZWd1XHUwMTdlXHUwMTE3c19iaXJcdTAxN2VlbGlvX2xpZXBvc19ydWdwalx1MDE2Ylx1MDEwZGlvX3J1Z3NcdTAxMTdqb19zcGFsaW9fbGFwa3JpXHUwMTBkaW9fZ3J1b2RcdTAx''@;'; put 'put ''N2VpbyIuc3BsaXQoIl8iKSxzdGFuZGFsb25lOiJzYXVzaXNfdmFzYXJpc19rb3Zhc19iYWxhbmRpc19nZWd1XHUwMTdlXHUwMTE3X2Jpclx1MDE3ZWVsaXNfbGllcGFfcnVncGpcdTAxNmJ0aXNfcnVnc1x1MDExN2ppc19zcGFsaXNfbGFwa3JpdGlzX2dydW9kaXMiLnNwbGl0KCJfIiksaXNG''@;'; put 'put ''b3JtYXQ6L0Rbb0RdPyhcW1teXFtcXV0qXF18XHMpK01NTU0/fE1NTU0/KFxbW15cW1xdXSpcXXxccykrRFtvRF0/L30sbW9udGhzU2hvcnQ6InNhdV92YXNfa292X2JhbF9nZWdfYmlyX2xpZV9yZ3BfcmdzX3NwYV9sYXBfZ3JkIi5zcGxpdCgiXyIpLHdlZWtkYXlzOntmb3JtYXQ6InNla21h''@;'; put 'put ''ZGllblx1MDEyZl9waXJtYWRpZW5cdTAxMmZfYW50cmFkaWVuXHUwMTJmX3RyZVx1MDEwZGlhZGllblx1MDEyZl9rZXR2aXJ0YWRpZW5cdTAxMmZfcGVua3RhZGllblx1MDEyZl9cdTAxNjFlXHUwMTYxdGFkaWVuXHUwMTJmIi5zcGxpdCgiXyIpLHN0YW5kYWxvbmU6InNla21hZGllbmlzX3Bp''@;'; put 'put ''cm1hZGllbmlzX2FudHJhZGllbmlzX3RyZVx1MDEwZGlhZGllbmlzX2tldHZpcnRhZGllbmlzX3Blbmt0YWRpZW5pc19cdTAxNjFlXHUwMTYxdGFkaWVuaXMiLnNwbGl0KCJfIiksaXNGb3JtYXQ6L2RkZGQgSEg6bW0vfSx3ZWVrZGF5c1Nob3J0OiJTZWtfUGlyX0FudF9UcmVfS2V0X1Blbl9c''@;'; put 'put ''dTAxNjBlXHUwMTYxIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJTX1BfQV9UX0tfUG5fXHUwMTYwIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJZWVlZLU1NLUREIixMTDoiWVlZWSBbbS5dIE1N''@;'; put 'put ''TU0gRCBbZC5dIixMTEw6IllZWVkgW20uXSBNTU1NIEQgW2QuXSwgSEg6bW0gW3ZhbC5dIixMTExMOiJZWVlZIFttLl0gTU1NTSBEIFtkLl0sIGRkZGQsIEhIOm1tIFt2YWwuXSIsbDoiWVlZWS1NTS1ERCIsbGw6IllZWVkgW20uXSBNTU1NIEQgW2QuXSIsbGxsOiJZWVlZIFttLl0gTU1NTSBE''@;'; put 'put ''IFtkLl0sIEhIOm1tIFt2YWwuXSIsbGxsbDoiWVlZWSBbbS5dIE1NTU0gRCBbZC5dLCBkZGQsIEhIOm1tIFt2YWwuXSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwMTYwaWFuZGllbl0gTFQiLG5leHREYXk6IltSeXRval0gTFQiLG5leHRXZWVrOiJkZGRkIExUIixsYXN0RGF5OiJbVmFrYXJd''@;'; put 'put ''IExUIixsYXN0V2VlazoiW1ByYVx1MDExN2p1c1x1MDEyZl0gZGRkZCBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToicG8gJXMiLHBhc3Q6InByaWVcdTAxNjEgJXMiLHM6ZnVuY3Rpb24gZ2UoeixDLFMsbSl7cmV0dXJuIEM/ImtlbGlvcyBzZWt1bmRcdTAxMTdzIjpt''@;'; put 'put ''PyJrZWxpXHUwMTczIHNla3VuZFx1MDE3ZWlcdTAxNzMiOiJrZWxpYXMgc2VrdW5kZXMifSxzczpqLG06aGUsbW06aixoOmhlLGhoOmosZDpoZSxkZDpqLE06aGUsTU06aix5OmhlLHl5Omp9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0tb2ppLyxvcmRpbmFsOmZ1bmN0aW9uKHop''@;'; put 'put ''e3JldHVybiB6KyItb2ppIn0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sNjkyNzpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXtzczoic2VrdW5kZXNfc2VrdW5kXHUwMTEzbV9zZWt1bmRlX3Nla3VuZGVzIi5zcGxpdCgiXyIp''@;'; put 'put ''LG06Im1pblx1MDE2YnRlc19taW5cdTAxNmJ0XHUwMTEzbV9taW5cdTAxNmJ0ZV9taW5cdTAxNmJ0ZXMiLnNwbGl0KCJfIiksbW06Im1pblx1MDE2YnRlc19taW5cdTAxNmJ0XHUwMTEzbV9taW5cdTAxNmJ0ZV9taW5cdTAxNmJ0ZXMiLnNwbGl0KCJfIiksaDoic3R1bmRhc19zdHVuZFx1MDEw''@;'; put 'put ''MW1fc3R1bmRhX3N0dW5kYXMiLnNwbGl0KCJfIiksaGg6InN0dW5kYXNfc3R1bmRcdTAxMDFtX3N0dW5kYV9zdHVuZGFzIi5zcGxpdCgiXyIpLGQ6ImRpZW5hc19kaWVuXHUwMTAxbV9kaWVuYV9kaWVuYXMiLnNwbGl0KCJfIiksZGQ6ImRpZW5hc19kaWVuXHUwMTAxbV9kaWVuYV9kaWVuYXMi''@;'; put 'put ''LnNwbGl0KCJfIiksTToibVx1MDExM25lXHUwMTYxYV9tXHUwMTEzbmVcdTAxNjFpZW1fbVx1MDExM25lc2lzX21cdTAxMTNuZVx1MDE2MWkiLnNwbGl0KCJfIiksTU06Im1cdTAxMTNuZVx1MDE2MWFfbVx1MDExM25lXHUwMTYxaWVtX21cdTAxMTNuZXNpc19tXHUwMTEzbmVcdTAxNjFpIi5z''@;'; put 'put ''cGxpdCgiXyIpLHk6ImdhZGFfZ2FkaWVtX2dhZHNfZ2FkaSIuc3BsaXQoIl8iKSx5eToiZ2FkYV9nYWRpZW1fZ2Fkc19nYWRpIi5zcGxpdCgiXyIpfTtmdW5jdGlvbiBnZShOLHosQyl7cmV0dXJuIEM/eiUxMD09MSYmeiUxMDAhPTExP05bMl06TlszXTp6JTEwPT0xJiZ6JTEwMCE9MTE/Tlsw''@;'; put 'put ''XTpOWzFdfWZ1bmN0aW9uIGhlKE4seixDKXtyZXR1cm4gTisiICIrZ2Uob2VbQ10sTix6KX1mdW5jdGlvbiBaKE4seixDKXtyZXR1cm4gZ2Uob2VbQ10sTix6KX1DZS5kZWZpbmVMb2NhbGUoImx2Iix7bW9udGhzOiJqYW52XHUwMTAxcmlzX2ZlYnJ1XHUwMTAxcmlzX21hcnRzX2Fwclx1MDEy''@;'; put 'put ''Ymxpc19tYWlqc19qXHUwMTZibmlqc19qXHUwMTZibGlqc19hdWd1c3RzX3NlcHRlbWJyaXNfb2t0b2JyaXNfbm92ZW1icmlzX2RlY2VtYnJpcyIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFuX2ZlYl9tYXJfYXByX21haV9qXHUwMTZibl9qXHUwMTZibF9hdWdfc2VwX29rdF9ub3ZfZGVj''@;'; put 'put ''Ii5zcGxpdCgiXyIpLHdlZWtkYXlzOiJzdlx1MDExM3RkaWVuYV9waXJtZGllbmFfb3RyZGllbmFfdHJlXHUwMTYxZGllbmFfY2V0dXJ0ZGllbmFfcGlla3RkaWVuYV9zZXN0ZGllbmEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU3ZfUF9PX1RfQ19Qa19TIi5zcGxpdCgiXyIpLHdlZWtk''@;'; put 'put ''YXlzTWluOiJTdl9QX09fVF9DX1BrX1MiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkuIixMTDoiWVlZWS4gW2dhZGFdIEQuIE1NTU0iLExMTDoiWVlZWS4gW2dhZGFdIEQuIE1N''@;'; put 'put ''TU0sIEhIOm1tIixMTExMOiJZWVlZLiBbZ2FkYV0gRC4gTU1NTSwgZGRkZCwgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDE2MG9kaWVuIHB1bGtzdGVuXSBMVCIsbmV4dERheToiW1JcdTAxMmJ0IHB1bGtzdGVuXSBMVCIsbmV4dFdlZWs6ImRkZGQgW3B1bGtzdGVuXSBMVCIsbGFz''@;'; put 'put ''dERheToiW1Zha2FyIHB1bGtzdGVuXSBMVCIsbGFzdFdlZWs6IltQYWdcdTAxMDFqdVx1MDE2MVx1MDEwMV0gZGRkZCBbcHVsa3N0ZW5dIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJwXHUwMTEzYyAlcyIscGFzdDoicGlybXMgJXMiLHM6ZnVuY3Rpb24gQShOLHop''@;'; put 'put ''e3JldHVybiB6PyJkYVx1MDE3ZWFzIHNla3VuZGVzIjoiZGFcdTAxN2VcdTAxMDFtIHNla3VuZFx1MDExM20ifSxzczpoZSxtOlosbW06aGUsaDpaLGhoOmhlLGQ6WixkZDpoZSxNOlosTU06aGUseTpaLHl5OmhlfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6''@;'; put 'put ''IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sNTYzNDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXt3b3Jkczp7c3M6WyJzZWt1bmQiLCJzZWt1bmRhIiwic2VrdW5kaSJdLG06WyJqZWRhbiBtaW51dCIsImplZG5vZyBt''@;'; put 'put ''aW51dGEiXSxtbTpbIm1pbnV0IiwibWludXRhIiwibWludXRhIl0saDpbImplZGFuIHNhdCIsImplZG5vZyBzYXRhIl0saGg6WyJzYXQiLCJzYXRhIiwic2F0aSJdLGRkOlsiZGFuIiwiZGFuYSIsImRhbmEiXSxNTTpbIm1qZXNlYyIsIm1qZXNlY2EiLCJtamVzZWNpIl0seXk6WyJnb2RpbmEi''@;'; put 'put ''LCJnb2RpbmUiLCJnb2RpbmEiXX0sY29ycmVjdEdyYW1tYXRpY2FsQ2FzZTpmdW5jdGlvbihoZSxaKXtyZXR1cm4gMT09PWhlP1pbMF06aGU+PTImJmhlPD00P1pbMV06WlsyXX0sdHJhbnNsYXRlOmZ1bmN0aW9uKGhlLFosQSl7dmFyIGo9b2Uud29yZHNbQV07cmV0dXJuIDE9PT1BLmxlbmd0''@;'; put 'put ''aD9aP2pbMF06alsxXTpoZSsiICIrb2UuY29ycmVjdEdyYW1tYXRpY2FsQ2FzZShoZSxqKX19O0NlLmRlZmluZUxvY2FsZSgibWUiLHttb250aHM6ImphbnVhcl9mZWJydWFyX21hcnRfYXByaWxfbWFqX2p1bl9qdWxfYXZndXN0X3NlcHRlbWJhcl9va3RvYmFyX25vdmVtYmFyX2RlY2VtYmFy''@;'; put 'put ''Ii5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJqYW4uX2ZlYi5fbWFyLl9hcHIuX21hal9qdW5fanVsX2F2Zy5fc2VwLl9va3QuX25vdi5fZGVjLiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJuZWRqZWxqYV9wb25lZGplbGpha191dG9yYWtfc3JpamVkYV9cdTAx''@;'; put 'put ''MGRldHZydGFrX3BldGFrX3N1Ym90YSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJuZWQuX3Bvbi5fdXRvLl9zcmkuX1x1MDEwZGV0Ll9wZXQuX3N1Yi4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Im5lX3BvX3V0X3NyX1x1MDEwZGVfcGVfc3UiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJz''@;'; put 'put ''ZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRC4gTU1NTSBZWVlZIixMTEw6IkQuIE1NTU0gWVlZWSBIOm1tIixMTExMOiJkZGRkLCBELiBNTU1NIFlZWVkgSDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbZGFuYXMg''@;'; put 'put ''dV0gTFQiLG5leHREYXk6IltzanV0cmEgdV0gTFQiLG5leHRXZWVrOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuZGF5KCkpe2Nhc2UgMDpyZXR1cm4iW3VdIFtuZWRqZWxqdV0gW3VdIExUIjtjYXNlIDM6cmV0dXJuIlt1XSBbc3JpamVkdV0gW3VdIExUIjtjYXNlIDY6cmV0dXJuIlt1XSBbc3Vi''@;'; put 'put ''b3R1XSBbdV0gTFQiO2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OmNhc2UgNTpyZXR1cm4iW3VdIGRkZGQgW3VdIExUIn19LGxhc3REYXk6IltqdVx1MDEwZGUgdV0gTFQiLGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuWyJbcHJvXHUwMTYxbGVdIFtuZWRqZWxqZV0gW3VdIExUIiwiW3Byb1x1MDE2''@;'; put 'put ''MWxvZ10gW3BvbmVkamVsamthXSBbdV0gTFQiLCJbcHJvXHUwMTYxbG9nXSBbdXRvcmthXSBbdV0gTFQiLCJbcHJvXHUwMTYxbGVdIFtzcmlqZWRlXSBbdV0gTFQiLCJbcHJvXHUwMTYxbG9nXSBbXHUwMTBkZXR2cnRrYV0gW3VdIExUIiwiW3Byb1x1MDE2MWxvZ10gW3BldGthXSBbdV0gTFQi''@;'; put 'put ''LCJbcHJvXHUwMTYxbGVdIFtzdWJvdGVdIFt1XSBMVCJdW3RoaXMuZGF5KCldfSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJ6YSAlcyIscGFzdDoicHJpamUgJXMiLHM6Im5la29saWtvIHNla3VuZGkiLHNzOm9lLnRyYW5zbGF0ZSxtOm9lLnRyYW5zbGF0ZSxtbTpvZS50''@;'; put 'put ''cmFuc2xhdGUsaDpvZS50cmFuc2xhdGUsaGg6b2UudHJhbnNsYXRlLGQ6ImRhbiIsZGQ6b2UudHJhbnNsYXRlLE06Im1qZXNlYyIsTU06b2UudHJhbnNsYXRlLHk6ImdvZGludSIseXk6b2UudHJhbnNsYXRlfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVk''@;'; put 'put ''LiIsd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sNDE3MzpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJtaSIse21vbnRoczoiS29oaS10XHUwMTAxdGVfSHVpLXRhbmd1cnVfUG91dFx1MDE2Yi10ZS1yYW5naV9Q''@;'; put 'put ''YWVuZ2Etd2hcdTAxMDF3aFx1MDEwMV9IYXJhdHVhX1BpcGlyaV9IXHUwMTRkbmdvaW5nb2lfSGVyZS10dXJpLWtcdTAxNGRrXHUwMTAxX01haHVydV9XaGlyaW5nYS1cdTAxMDEtbnVrdV9XaGlyaW5nYS1cdTAxMDEtcmFuZ2lfSGFraWhlYSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiS29o''@;'; put 'put ''aV9IdWlfUG91X1BhZV9IYXJhX1BpcGlfSFx1MDE0ZG5nb2lfSGVyZV9NYWh1X1doaS1udV9XaGktcmFfSGFraSIuc3BsaXQoIl8iKSxtb250aHNSZWdleDovKD86WydhLXpcdTAxMDFcdTAxNERcdTAxNkJdK1wtPyl7MSwzfS9pLG1vbnRoc1N0cmljdFJlZ2V4Oi8oPzpbJ2Etelx1MDEwMVx1''@;'; put 'put ''MDE0RFx1MDE2Ql0rXC0/KXsxLDN9L2ksbW9udGhzU2hvcnRSZWdleDovKD86WydhLXpcdTAxMDFcdTAxNERcdTAxNkJdK1wtPyl7MSwzfS9pLG1vbnRoc1Nob3J0U3RyaWN0UmVnZXg6Lyg/OlsnYS16XHUwMTAxXHUwMTREXHUwMTZCXStcLT8pezEsMn0vaSx3ZWVrZGF5czoiUlx1MDEwMXRh''@;'; put 'put ''cHVfTWFuZV9UXHUwMTZicmVpX1dlbmVyZWlfVFx1MDEwMWl0ZV9QYXJhaXJlX0hcdTAxMDF0YXJlaSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJUYV9NYV9UXHUwMTZiX1dlX1RcdTAxMDFpX1BhX0hcdTAxMDEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46IlRhX01hX1RcdTAxNmJfV2Vf''@;'; put 'put ''VFx1MDEwMWlfUGFfSFx1MDEwMSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgW2ldIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBbaV0gSEg6''@;'; put 'put ''bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW2kgdGVpZSBtYWhhbmEsIGldIExUIixuZXh0RGF5OiJbYXBvcG8gaV0gTFQiLG5leHRXZWVrOiJkZGRkIFtpXSBMVCIsbGFzdERheToiW2luYW5haGkgaV0gTFQiLGxhc3RXZWVrOiJkZGRkIFt3aGFrYW11dHVuZ2EgaV0gTFQiLHNhbWVFbHNlOiJM''@;'; put 'put ''In0scmVsYXRpdmVUaW1lOntmdXR1cmU6Imkgcm90byBpICVzIixwYXN0OiIlcyBpIG11YSIsczoidGUgaFx1MDExM2tvbmEgcnVhcnVhIixzczoiJWQgaFx1MDExM2tvbmEiLG06ImhlIG1lbmV0aSIsbW06IiVkIG1lbmV0aSIsaDoidGUgaGFvcmEiLGhoOiIlZCBoYW9yYSIsZDoiaGUgcmEi''@;'; put 'put ''LGRkOiIlZCByYSIsTToiaGUgbWFyYW1hIixNTToiJWQgbWFyYW1hIix5OiJoZSB0YXUiLHl5OiIlZCB0YXUifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XHhiYS8sb3JkaW5hbDoiJWRceGJhIix3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw2MzIwOmZ1bmN0aW9u''@;'; put 'put ''KF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoIm1rIix7bW9udGhzOiJcdTA0NThcdTA0MzBcdTA0M2RcdTA0NDNcdTA0MzBcdTA0NDBcdTA0MzhfXHUwNDQ0XHUwNDM1XHUwNDMyXHUwNDQwXHUwNDQzXHUwNDMwXHUwNDQwXHUwNDM4X1x1MDQz''@;'; put 'put ''Y1x1MDQzMFx1MDQ0MFx1MDQ0Ml9cdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2JfXHUwNDNjXHUwNDMwXHUwNDU4X1x1MDQ1OFx1MDQ0M1x1MDQzZFx1MDQzOF9cdTA0NThcdTA0NDNcdTA0M2JcdTA0MzhfXHUwNDMwXHUwNDMyXHUwNDMzXHUwNDQzXHUwNDQxXHUwNDQyX1x1MDQ0MVx1''@;'; put 'put ''MDQzNVx1MDQzZlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzMlx1MDQ0MFx1MDQzOF9cdTA0M2VcdTA0M2FcdTA0NDJcdTA0M2VcdTA0M2NcdTA0MzJcdTA0NDBcdTA0MzhfXHUwNDNkXHUwNDNlXHUwNDM1XHUwNDNjXHUwNDMyXHUwNDQwXHUwNDM4X1x1MDQzNFx1MDQzNVx1MDQzYVx1MDQzNVx1''@;'; put 'put ''MDQzY1x1MDQzMlx1MDQ0MFx1MDQzOCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwNDU4XHUwNDMwXHUwNDNkX1x1MDQ0NFx1MDQzNVx1MDQzMl9cdTA0M2NcdTA0MzBcdTA0NDBfXHUwNDMwXHUwNDNmXHUwNDQwX1x1MDQzY1x1MDQzMFx1MDQ1OF9cdTA0NThcdTA0NDNcdTA0M2RfXHUw''@;'; put 'put ''NDU4XHUwNDQzXHUwNDNiX1x1MDQzMFx1MDQzMlx1MDQzM19cdTA0NDFcdTA0MzVcdTA0M2ZfXHUwNDNlXHUwNDNhXHUwNDQyX1x1MDQzZFx1MDQzZVx1MDQzNV9cdTA0MzRcdTA0MzVcdTA0M2EiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MDQzZFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQzYlx1''@;'; put 'put ''MDQzMF9cdTA0M2ZcdTA0M2VcdTA0M2RcdTA0MzVcdTA0MzRcdTA0MzVcdTA0M2JcdTA0M2RcdTA0MzhcdTA0M2FfXHUwNDMyXHUwNDQyXHUwNDNlXHUwNDQwXHUwNDNkXHUwNDM4XHUwNDNhX1x1MDQ0MVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMF9cdTA0NDdcdTA0MzVcdTA0NDJcdTA0MzJc''@;'; put 'put ''dTA0NDBcdTA0NDJcdTA0M2VcdTA0M2FfXHUwNDNmXHUwNDM1XHUwNDQyXHUwNDNlXHUwNDNhX1x1MDQ0MVx1MDQzMFx1MDQzMVx1MDQzZVx1MDQ0Mlx1MDQzMCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA0M2RcdTA0MzVcdTA0MzRfXHUwNDNmXHUwNDNlXHUwNDNkX1x1MDQzMlx1''@;'; put 'put ''MDQ0Mlx1MDQzZV9cdTA0NDFcdTA0NDBcdTA0MzVfXHUwNDQ3XHUwNDM1XHUwNDQyX1x1MDQzZlx1MDQzNVx1MDQ0Ml9cdTA0NDFcdTA0MzBcdTA0MzEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDQzZGVfXHUwNDNmb19cdTA0MzJcdTA0NDJfXHUwNDQxXHUwNDQwX1x1MDQ0N1x1MDQz''@;'; put 'put ''NV9cdTA0M2ZcdTA0MzVfXHUwNDQxYSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6Ikg6bW0iLExUUzoiSDptbTpzcyIsTDoiRC5NTS5ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSDptbSJ9LGNhbGVu''@;'; put 'put ''ZGFyOntzYW1lRGF5OiJbXHUwNDE0XHUwNDM1XHUwNDNkXHUwNDM1XHUwNDQxIFx1MDQzMlx1MDQzZV0gTFQiLG5leHREYXk6IltcdTA0MjNcdTA0NDJcdTA0NDBcdTA0MzUgXHUwNDMyXHUwNDNlXSBMVCIsbmV4dFdlZWs6IltcdTA0MTJcdTA0M2VdIGRkZGQgW1x1MDQzMlx1MDQzZV0gTFQi''@;'; put 'put ''LGxhc3REYXk6IltcdTA0MTJcdTA0NDdcdTA0MzVcdTA0NDBcdTA0MzAgXHUwNDMyXHUwNDNlXSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5kYXkoKSl7Y2FzZSAwOmNhc2UgMzpjYXNlIDY6cmV0dXJuIltcdTA0MThcdTA0MzdcdTA0M2NcdTA0MzhcdTA0M2RcdTA0MzBc''@;'; put 'put ''dTA0NDJcdTA0MzBcdTA0NDJcdTA0MzBdIGRkZGQgW1x1MDQzMlx1MDQzZV0gTFQiO2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OmNhc2UgNTpyZXR1cm4iW1x1MDQxOFx1MDQzN1x1MDQzY1x1MDQzOFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzZVx1MDQ0Ml0gZGRkZCBbXHUwNDMyXHUwNDNl''@;'; put 'put ''XSBMVCJ9fSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTA0MzdcdTA0MzAgJXMiLHBhc3Q6Ilx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzNCAlcyIsczoiXHUwNDNkXHUwNDM1XHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNhXHUwNDQzIFx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0''@;'; put 'put ''M1x1MDQzZFx1MDQzNFx1MDQzOCIsc3M6IiVkIFx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNFx1MDQzOCIsbToiXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDMwIFx1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQzMCIsbW06IiVkIFx1MDQzY1x1MDQzOFx1MDQzZFx1''@;'; put 'put ''MDQ0M1x1MDQ0Mlx1MDQzOCIsaDoiXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDNkIFx1MDQ0N1x1MDQzMFx1MDQ0MSIsaGg6IiVkIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQzMCIsZDoiXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDNkIFx1MDQzNFx1MDQzNVx1MDQzZCIsZGQ6IiVkIFx1MDQzNFx1MDQz''@;'; put 'put ''NVx1MDQzZFx1MDQzMCIsTToiXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDNkIFx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQzNVx1MDQ0NiIsTU06IiVkIFx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQzNVx1MDQ0Nlx1MDQzOCIseToiXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDMwIFx1MDQzM1x1MDQzZVx1MDQz''@;'; put 'put ''NFx1MDQzOFx1MDQzZFx1MDQzMCIseXk6IiVkIFx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzOCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0tKFx1MDQzNVx1MDQzMnxcdTA0MzVcdTA0M2R8XHUwNDQyXHUwNDM4fFx1MDQzMlx1MDQzOHxcdTA0NDBcdTA0Mzh8''@;'; put 'put ''XHUwNDNjXHUwNDM4KS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7dmFyIGhlPWdlJTEwLFo9Z2UlMTAwO3JldHVybiAwPT09Z2U/Z2UrIi1cdTA0MzVcdTA0MzIiOjA9PT1aP2dlKyItXHUwNDM1XHUwNDNkIjpaPjEwJiZaPDIwP2dlKyItXHUwNDQyXHUwNDM4IjoxPT09aGU/Z2UrIi1cdTA0MzJc''@;'; put 'put ''dTA0MzgiOjI9PT1oZT9nZSsiLVx1MDQ0MFx1MDQzOCI6Nz09PWhlfHw4PT09aGU/Z2UrIi1cdTA0M2NcdTA0MzgiOmdlKyItXHUwNDQyXHUwNDM4In0sd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sMTcwNTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0''@;'; put 'put ''cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJtbCIse21vbnRoczoiXHUwZDFjXHUwZDI4XHUwZDQxXHUwZDM1XHUwZDMwXHUwZDNmX1x1MGQyYlx1MGQ0Nlx1MGQyY1x1MGQ0ZFx1MGQzMFx1MGQ0MVx1MGQzNVx1MGQzMFx1MGQzZl9cdTBkMmVcdTBkM2VcdTBkN2NcdTBkMWFcdTBkNGRcdTBkMWFc''@;'; put 'put ''dTBkNGRfXHUwZDBmXHUwZDJhXHUwZDRkXHUwZDMwXHUwZDNmXHUwZDdkX1x1MGQyZVx1MGQ0N1x1MGQyZlx1MGQ0ZF9cdTBkMWNcdTBkNDJcdTBkN2FfXHUwZDFjXHUwZDQyXHUwZDMyXHUwZDQ4X1x1MGQxM1x1MGQxN1x1MGQzOFx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZF9cdTBk''@;'; put 'put ''MzhcdTBkNDZcdTBkMmFcdTBkNGRcdTBkMzFcdTBkNGRcdTBkMzFcdTBkMDJcdTBkMmNcdTBkN2NfXHUwZDEyXHUwZDE1XHUwZDRkXHUwZDFmXHUwZDRiXHUwZDJjXHUwZDdjX1x1MGQyOFx1MGQzNVx1MGQwMlx1MGQyY1x1MGQ3Y19cdTBkMjFcdTBkM2ZcdTBkMzhcdTBkMDJcdTBkMmNcdTBk''@;'; put 'put ''N2MiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MGQxY1x1MGQyOFx1MGQ0MS5fXHUwZDJiXHUwZDQ2XHUwZDJjXHUwZDRkXHUwZDMwXHUwZDQxLl9cdTBkMmVcdTBkM2VcdTBkN2MuX1x1MGQwZlx1MGQyYVx1MGQ0ZFx1MGQzMFx1MGQzZi5fXHUwZDJlXHUwZDQ3XHUwZDJmXHUwZDRkX1x1''@;'; put 'put ''MGQxY1x1MGQ0Mlx1MGQ3YV9cdTBkMWNcdTBkNDJcdTBkMzJcdTBkNDguX1x1MGQxM1x1MGQxNy5fXHUwZDM4XHUwZDQ2XHUwZDJhXHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxLl9cdTBkMTJcdTBkMTVcdTBkNGRcdTBkMWZcdTBkNGIuX1x1MGQyOFx1MGQzNVx1MGQwMi5fXHUwZDIxXHUwZDNm''@;'; put 'put ''XHUwZDM4XHUwZDAyLiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJcdTBkMWVcdTBkM2VcdTBkMmZcdTBkMzFcdTBkM2VcdTBkMzRcdTBkNGRcdTBkMWFfXHUwZDI0XHUwZDNmXHUwZDE5XHUwZDRkXHUwZDE1XHUwZDMzXHUwZDNlXHUwZDM0XHUwZDRkXHUwZDFh''@;'; put 'put ''X1x1MGQxYVx1MGQ0YVx1MGQzNVx1MGQ0ZFx1MGQzNVx1MGQzZVx1MGQzNFx1MGQ0ZFx1MGQxYV9cdTBkMmNcdTBkNDFcdTBkMjdcdTBkMjhcdTBkM2VcdTBkMzRcdTBkNGRcdTBkMWFfXHUwZDM1XHUwZDRkXHUwZDJmXHUwZDNlXHUwZDM0XHUwZDNlXHUwZDM0XHUwZDRkXHUwZDFhX1x1MGQz''@;'; put 'put ''NVx1MGQ0Nlx1MGQzM1x1MGQ0ZFx1MGQzM1x1MGQzZlx1MGQyZlx1MGQzZVx1MGQzNFx1MGQ0ZFx1MGQxYV9cdTBkMzZcdTBkMjhcdTBkM2ZcdTBkMmZcdTBkM2VcdTBkMzRcdTBkNGRcdTBkMWEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwZDFlXHUwZDNlXHUwZDJmXHUwZDdjX1x1''@;'; put 'put ''MGQyNFx1MGQzZlx1MGQxOVx1MGQ0ZFx1MGQxNVx1MGQ3ZV9cdTBkMWFcdTBkNGFcdTBkMzVcdTBkNGRcdTBkMzVfXHUwZDJjXHUwZDQxXHUwZDI3XHUwZDdiX1x1MGQzNVx1MGQ0ZFx1MGQyZlx1MGQzZVx1MGQzNFx1MGQwMl9cdTBkMzVcdTBkNDZcdTBkMzNcdTBkNGRcdTBkMzNcdTBkM2Zf''@;'; put 'put ''XHUwZDM2XHUwZDI4XHUwZDNmIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTBkMWVcdTBkM2VfXHUwZDI0XHUwZDNmX1x1MGQxYVx1MGQ0YV9cdTBkMmNcdTBkNDFfXHUwZDM1XHUwZDRkXHUwZDJmXHUwZDNlX1x1MGQzNVx1MGQ0Nl9cdTBkMzYiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3Jt''@;'; put 'put ''YXQ6e0xUOiJBIGg6bW0gLVx1MGQyOFx1MGQ0MSIsTFRTOiJBIGg6bW06c3MgLVx1MGQyOFx1MGQ0MSIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZLCBBIGg6bW0gLVx1MGQyOFx1MGQ0MSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVksIEEgaDptbSAt''@;'; put 'put ''XHUwZDI4XHUwZDQxIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTBkMDdcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNGRdIExUIixuZXh0RGF5OiJbXHUwZDI4XHUwZDNlXHUwZDMzXHUwZDQ2XSBMVCIsbmV4dFdlZWs6ImRkZGQsIExUIixsYXN0RGF5OiJbXHUwZDA3XHUwZDI4XHUwZDRkXHUwZDI4''@;'; put 'put ''XHUwZDMyXHUwZDQ2XSBMVCIsbGFzdFdlZWs6IltcdTBkMTVcdTBkMzRcdTBkM2ZcdTBkMWVcdTBkNGRcdTBkMWVdIGRkZGQsIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBcdTBkMTVcdTBkMzRcdTBkM2ZcdTBkMWVcdTBkNGRcdTBkMWVcdTBkNGQiLHBhc3Q6''@;'; put 'put ''IiVzIFx1MGQyZVx1MGQ0MVx1MGQ3Ylx1MGQyYVx1MGQ0ZCIsczoiXHUwZDA1XHUwZDdkXHUwZDJhIFx1MGQyOFx1MGQzZlx1MGQyZVx1MGQzZlx1MGQzN1x1MGQxOVx1MGQ0ZFx1MGQxOVx1MGQ3ZSIsc3M6IiVkIFx1MGQzOFx1MGQ0Nlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ3Ylx1MGQyMVx1''@;'; put 'put ''MGQ0ZCIsbToiXHUwZDEyXHUwZDMwXHUwZDQxIFx1MGQyZVx1MGQzZlx1MGQyOFx1MGQzZlx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZCIsbW06IiVkIFx1MGQyZVx1MGQzZlx1MGQyOFx1MGQzZlx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZCIsaDoiXHUwZDEyXHUwZDMwXHUwZDQxIFx1MGQyZVx1''@;'; put 'put ''MGQyM1x1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Mlx1MGQ3YyIsaGg6IiVkIFx1MGQyZVx1MGQyM1x1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Mlx1MGQ3YyIsZDoiXHUwZDEyXHUwZDMwXHUwZDQxIFx1MGQyNlx1MGQzZlx1MGQzNVx1MGQzOFx1MGQwMiIsZGQ6IiVkIFx1MGQy''@;'; put 'put ''Nlx1MGQzZlx1MGQzNVx1MGQzOFx1MGQwMiIsTToiXHUwZDEyXHUwZDMwXHUwZDQxIFx1MGQyZVx1MGQzZVx1MGQzOFx1MGQwMiIsTU06IiVkIFx1MGQyZVx1MGQzZVx1MGQzOFx1MGQwMiIseToiXHUwZDEyXHUwZDMwXHUwZDQxIFx1MGQzNVx1MGQ3Y1x1MGQzN1x1MGQwMiIseXk6IiVkIFx1''@;'; put 'put ''MGQzNVx1MGQ3Y1x1MGQzN1x1MGQwMiJ9LG1lcmlkaWVtUGFyc2U6L1x1MGQzMFx1MGQzZVx1MGQyNFx1MGQ0ZFx1MGQzMFx1MGQzZnxcdTBkMzBcdTBkM2VcdTBkMzVcdTBkM2ZcdTBkMzJcdTBkNDZ8XHUwZDA5XHUwZDFhXHUwZDRkXHUwZDFhIFx1MGQxNVx1MGQzNFx1MGQzZlx1MGQxZVx1''@;'; put 'put ''MGQ0ZFx1MGQxZVx1MGQ0ZHxcdTBkMzVcdTBkNDhcdTBkMTVcdTBkNDFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNDdcdTBkMzBcdTBkMDJ8XHUwZDMwXHUwZDNlXHUwZDI0XHUwZDRkXHUwZDMwXHUwZDNmL2ksbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKGdlLGhlKXtyZXR1cm4gMTI9PT1nZSYmKGdl''@;'; put 'put ''PTApLCJcdTBkMzBcdTBkM2VcdTBkMjRcdTBkNGRcdTBkMzBcdTBkM2YiPT09aGUmJmdlPj00fHwiXHUwZDA5XHUwZDFhXHUwZDRkXHUwZDFhIFx1MGQxNVx1MGQzNFx1MGQzZlx1MGQxZVx1MGQ0ZFx1MGQxZVx1MGQ0ZCI9PT1oZXx8Ilx1MGQzNVx1MGQ0OFx1MGQxNVx1MGQ0MVx1MGQyOFx1''@;'; put 'put ''MGQ0ZFx1MGQyOFx1MGQ0N1x1MGQzMFx1MGQwMiI9PT1oZT9nZSsxMjpnZX0sbWVyaWRpZW06ZnVuY3Rpb24oZ2UsaGUsWil7cmV0dXJuIGdlPDQ/Ilx1MGQzMFx1MGQzZVx1MGQyNFx1MGQ0ZFx1MGQzMFx1MGQzZiI6Z2U8MTI/Ilx1MGQzMFx1MGQzZVx1MGQzNVx1MGQzZlx1MGQzMlx1MGQ0''@;'; put 'put ''NiI6Z2U8MTc/Ilx1MGQwOVx1MGQxYVx1MGQ0ZFx1MGQxYSBcdTBkMTVcdTBkMzRcdTBkM2ZcdTBkMWVcdTBkNGRcdTBkMWVcdTBkNGQiOmdlPDIwPyJcdTBkMzVcdTBkNDhcdTBkMTVcdTBkNDFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNDdcdTBkMzBcdTBkMDIiOiJcdTBkMzBcdTBkM2VcdTBk''@;'; put 'put ''MjRcdTBkNGRcdTBkMzBcdTBkM2YifX0pfShGZSg2NzM4KSl9LDEwNjI6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG9lKGhlLFosQSxqKXtzd2l0Y2goQSl7Y2FzZSJzIjpyZXR1cm4gWj8iXHUwNDQ1XHUwNDRkXHUwNDM0XHUwNDQ1XHUw''@;'; put 'put ''NDRkXHUwNDNkIFx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCI6Ilx1MDQ0NVx1MDQ0ZFx1MDQzNFx1MDQ0NVx1MDQ0ZFx1MDQzZCBcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0NGJcdTA0M2QiO2Nhc2Uic3MiOnJldHVybiBoZSsoWj8iIFx1MDQ0''@;'; put 'put ''MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCI6IiBcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0NGJcdTA0M2QiKTtjYXNlIm0iOmNhc2UibW0iOnJldHVybiBoZSsoWj8iIFx1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0MiI6IiBcdTA0M2NcdTA0Mzhc''@;'; put 'put ''dTA0M2RcdTA0NDNcdTA0NDJcdTA0NGJcdTA0M2QiKTtjYXNlImgiOmNhc2UiaGgiOnJldHVybiBoZSsoWj8iIFx1MDQ0Nlx1MDQzMFx1MDQzMyI6IiBcdTA0NDZcdTA0MzBcdTA0MzNcdTA0MzhcdTA0MzlcdTA0M2QiKTtjYXNlImQiOmNhc2UiZGQiOnJldHVybiBoZSsoWj8iIFx1MDRlOVx1''@;'; put 'put ''MDQzNFx1MDRlOVx1MDQ0MCI6IiBcdTA0ZTlcdTA0MzRcdTA0NDBcdTA0MzhcdTA0MzlcdTA0M2QiKTtjYXNlIk0iOmNhc2UiTU0iOnJldHVybiBoZSsoWj8iIFx1MDQ0MVx1MDQzMFx1MDQ0MCI6IiBcdTA0NDFcdTA0MzBcdTA0NDBcdTA0NGJcdTA0M2QiKTtjYXNlInkiOmNhc2UieXkiOnJl''@;'; put 'put ''dHVybiBoZSsoWj8iIFx1MDQzNlx1MDQzOFx1MDQzYiI6IiBcdTA0MzZcdTA0MzhcdTA0M2JcdTA0MzhcdTA0MzlcdTA0M2QiKTtkZWZhdWx0OnJldHVybiBoZX19Q2UuZGVmaW5lTG9jYWxlKCJtbiIse21vbnRoczoiXHUwNDFkXHUwNDRkXHUwNDMzXHUwNDM0XHUwNGFmXHUwNDMzXHUwNDRk''@;'; put 'put ''XHUwNDRkXHUwNDQwIFx1MDQ0MVx1MDQzMFx1MDQ0MF9cdTA0MjVcdTA0M2VcdTA0NTFcdTA0NDBcdTA0MzRcdTA0NDNcdTA0MzNcdTA0MzBcdTA0MzBcdTA0NDAgXHUwNDQxXHUwNDMwXHUwNDQwX1x1MDQxM1x1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzNFx1MDQ0M1x1MDQzM1x1MDQz''@;'; put 'put ''MFx1MDQzMFx1MDQ0MCBcdTA0NDFcdTA0MzBcdTA0NDBfXHUwNDE0XHUwNGU5XHUwNDQwXHUwNGU5XHUwNDMyXHUwNDM0XHUwNGFmXHUwNDMzXHUwNDRkXHUwNDRkXHUwNDQwIFx1MDQ0MVx1MDQzMFx1MDQ0MF9cdTA0MjJcdTA0MzBcdTA0MzJcdTA0MzRcdTA0NDNcdTA0MzNcdTA0MzBcdTA0''@;'; put 'put ''MzBcdTA0NDAgXHUwNDQxXHUwNDMwXHUwNDQwX1x1MDQxN1x1MDQ0M1x1MDQ0MFx1MDQzM1x1MDQzMFx1MDQzNFx1MDQ0M1x1MDQzM1x1MDQzMFx1MDQzMFx1MDQ0MCBcdTA0NDFcdTA0MzBcdTA0NDBfXHUwNDE0XHUwNDNlXHUwNDNiXHUwNDM0XHUwNDQzXHUwNDMzXHUwNDMwXHUwNDMwXHUw''@;'; put 'put ''NDQwIFx1MDQ0MVx1MDQzMFx1MDQ0MF9cdTA0MWRcdTA0MzBcdTA0MzlcdTA0M2NcdTA0MzRcdTA0NDNcdTA0MzNcdTA0MzBcdTA0MzBcdTA0NDAgXHUwNDQxXHUwNDMwXHUwNDQwX1x1MDQxNVx1MDQ0MVx1MDQzNFx1MDRhZlx1MDQzM1x1MDQ0ZFx1MDQ0ZFx1MDQ0MCBcdTA0NDFcdTA0MzBc''@;'; put 'put ''dTA0NDBfXHUwNDEwXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDM0XHUwNDQzXHUwNDMzXHUwNDMwXHUwNDMwXHUwNDQwIFx1MDQ0MVx1MDQzMFx1MDQ0MF9cdTA0MTBcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2QgXHUwNDNkXHUwNDRkXHUwNDMzXHUwNDM0XHUwNGFmXHUwNDMzXHUwNDRkXHUwNDRk''@;'; put 'put ''XHUwNDQwIFx1MDQ0MVx1MDQzMFx1MDQ0MF9cdTA0MTBcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2QgXHUwNDQ1XHUwNDNlXHUwNDUxXHUwNDQwXHUwNDM0XHUwNDQzXHUwNDMzXHUwNDMwXHUwNDMwXHUwNDQwIFx1MDQ0MVx1MDQzMFx1MDQ0MCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiMSBc''@;'; put 'put ''dTA0NDFcdTA0MzBcdTA0NDBfMiBcdTA0NDFcdTA0MzBcdTA0NDBfMyBcdTA0NDFcdTA0MzBcdTA0NDBfNCBcdTA0NDFcdTA0MzBcdTA0NDBfNSBcdTA0NDFcdTA0MzBcdTA0NDBfNiBcdTA0NDFcdTA0MzBcdTA0NDBfNyBcdTA0NDFcdTA0MzBcdTA0NDBfOCBcdTA0NDFcdTA0MzBcdTA0NDBf''@;'; put 'put ''OSBcdTA0NDFcdTA0MzBcdTA0NDBfMTAgXHUwNDQxXHUwNDMwXHUwNDQwXzExIFx1MDQ0MVx1MDQzMFx1MDQ0MF8xMiBcdTA0NDFcdTA0MzBcdTA0NDAiLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czoiXHUwNDFkXHUwNDRmXHUwNDNjX1x1MDQxNFx1MDQzMFx1MDQz''@;'; put 'put ''Mlx1MDQzMFx1MDQzMF9cdTA0MWNcdTA0NGZcdTA0MzNcdTA0M2NcdTA0MzBcdTA0NDBfXHUwNDFiXHUwNDQ1XHUwNDMwXHUwNDMzXHUwNDMyXHUwNDMwX1x1MDQxZlx1MDRhZlx1MDQ0MFx1MDQ0ZFx1MDQzMl9cdTA0MTFcdTA0MzBcdTA0MzBcdTA0NDFcdTA0MzBcdTA0M2RfXHUwNDExXHUw''@;'; put 'put ''NDRmXHUwNDNjXHUwNDMxXHUwNDMwIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDQxZFx1MDQ0Zlx1MDQzY19cdTA0MTRcdTA0MzBcdTA0MzJfXHUwNDFjXHUwNDRmXHUwNDMzX1x1MDQxYlx1MDQ0NVx1MDQzMF9cdTA0MWZcdTA0YWZcdTA0NDBfXHUwNDExXHUwNDMwXHUwNDMwX1x1''@;'; put 'put ''MDQxMVx1MDQ0Zlx1MDQzYyIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNDFkXHUwNDRmX1x1MDQxNFx1MDQzMF9cdTA0MWNcdTA0NGZfXHUwNDFiXHUwNDQ1X1x1MDQxZlx1MDRhZl9cdTA0MTFcdTA0MzBfXHUwNDExXHUwNDRmIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDoh''@;'; put 'put ''MCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJZWVlZLU1NLUREIixMTDoiWVlZWSBcdTA0M2VcdTA0M2RcdTA0NGIgTU1NTVx1MDQ0Ylx1MDQzZCBEIixMTEw6IllZWVkgXHUwNDNlXHUwNDNkXHUwNDRiIE1NTU1cdTA0NGJcdTA0M2QgRCBISDptbSIsTExM''@;'; put 'put ''TDoiZGRkZCwgWVlZWSBcdTA0M2VcdTA0M2RcdTA0NGIgTU1NTVx1MDQ0Ylx1MDQzZCBEIEhIOm1tIn0sbWVyaWRpZW1QYXJzZTovXHUwNGFlXHUwNGU4fFx1MDRhZVx1MDQyNS9pLGlzUE06ZnVuY3Rpb24oaGUpe3JldHVybiJcdTA0YWVcdTA0MjUiPT09aGV9LG1lcmlkaWVtOmZ1bmN0aW9u''@;'; put 'put ''KGhlLFosQSl7cmV0dXJuIGhlPDEyPyJcdTA0YWVcdTA0ZTgiOiJcdTA0YWVcdTA0MjUifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDRlOFx1MDQzZFx1MDRlOVx1MDRlOVx1MDQzNFx1MDRlOVx1MDQ0MF0gTFQiLG5leHREYXk6IltcdTA0MWNcdTA0MzBcdTA0NDBcdTA0MzNcdTA0MzBcdTA0''@;'; put 'put ''MzBcdTA0NDhdIExUIixuZXh0V2VlazoiW1x1MDQxOFx1MDQ0MFx1MDQ0ZFx1MDQ0NV0gZGRkZCBMVCIsbGFzdERheToiW1x1MDRlOFx1MDQ0N1x1MDQzOFx1MDQzM1x1MDQzNFx1MDRlOVx1MDQ0MF0gTFQiLGxhc3RXZWVrOiJbXHUwNGU4XHUwNDNkXHUwNDMzXHUwNGU5XHUwNDQwXHUwNDQx''@;'; put 'put ''XHUwNGU5XHUwNDNkXSBkZGRkIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBcdTA0MzRcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzAiLHBhc3Q6IiVzIFx1MDRlOVx1MDQzY1x1MDQzZFx1MDRlOSIsczpvZSxzczpvZSxtOm9lLG1tOm9lLGg6b2UsaGg6b2UsZDpv''@;'; put 'put ''ZSxkZDpvZSxNOm9lLE1NOm9lLHk6b2UseXk6b2V9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0gXHUwNGU5XHUwNDM0XHUwNGU5XHUwNDQwLyxvcmRpbmFsOmZ1bmN0aW9uKGhlLFope3N3aXRjaChaKXtjYXNlImQiOmNhc2UiRCI6Y2FzZSJEREQiOnJldHVybiBoZSsiIFx1MDRl''@;'; put 'put ''OVx1MDQzNFx1MDRlOVx1MDQ0MCI7ZGVmYXVsdDpyZXR1cm4gaGV9fX0pfShGZSg2NzM4KSl9LDI4MDU6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MToiXHUwOTY3IiwyOiJcdTA5NjgiLDM6Ilx1MDk2OSIsNDoiXHUwOTZhIiw1OiJcdTA5''@;'; put 'put ''NmIiLDY6Ilx1MDk2YyIsNzoiXHUwOTZkIiw4OiJcdTA5NmUiLDk6Ilx1MDk2ZiIsMDoiXHUwOTY2In0sZ2U9eyJcdTA5NjciOiIxIiwiXHUwOTY4IjoiMiIsIlx1MDk2OSI6IjMiLCJcdTA5NmEiOiI0IiwiXHUwOTZiIjoiNSIsIlx1MDk2YyI6IjYiLCJcdTA5NmQiOiI3IiwiXHUwOTZlIjoi''@;'; put 'put ''OCIsIlx1MDk2ZiI6IjkiLCJcdTA5NjYiOiIwIn07ZnVuY3Rpb24gaGUoQSxqLE4seil7dmFyIEM9IiI7aWYoailzd2l0Y2goTil7Y2FzZSJzIjpDPSJcdTA5MTVcdTA5M2VcdTA5MzlcdTA5NDAgXHUwOTM4XHUwOTQ3XHUwOTE1XHUwOTAyXHUwOTI2IjticmVhaztjYXNlInNzIjpDPSIlZCBc''@;'; put 'put ''dTA5MzhcdTA5NDdcdTA5MTVcdTA5MDJcdTA5MjYiO2JyZWFrO2Nhc2UibSI6Qz0iXHUwOTBmXHUwOTE1IFx1MDkyZVx1MDkzZlx1MDkyOFx1MDkzZlx1MDkxZiI7YnJlYWs7Y2FzZSJtbSI6Qz0iJWQgXHUwOTJlXHUwOTNmXHUwOTI4XHUwOTNmXHUwOTFmXHUwOTQ3IjticmVhaztjYXNlImgi''@;'; put 'put ''OkM9Ilx1MDkwZlx1MDkxNSBcdTA5MjRcdTA5M2VcdTA5MzgiO2JyZWFrO2Nhc2UiaGgiOkM9IiVkIFx1MDkyNFx1MDkzZVx1MDkzOCI7YnJlYWs7Y2FzZSJkIjpDPSJcdTA5MGZcdTA5MTUgXHUwOTI2XHUwOTNmXHUwOTM1XHUwOTM4IjticmVhaztjYXNlImRkIjpDPSIlZCBcdTA5MjZcdTA5''@;'; put 'put ''M2ZcdTA5MzVcdTA5MzgiO2JyZWFrO2Nhc2UiTSI6Qz0iXHUwOTBmXHUwOTE1IFx1MDkyZVx1MDkzOVx1MDkzZlx1MDkyOFx1MDkzZSI7YnJlYWs7Y2FzZSJNTSI6Qz0iJWQgXHUwOTJlXHUwOTM5XHUwOTNmXHUwOTI4XHUwOTQ3IjticmVhaztjYXNlInkiOkM9Ilx1MDkwZlx1MDkxNSBcdTA5''@;'; put 'put ''MzVcdTA5MzBcdTA5NGRcdTA5MzciO2JyZWFrO2Nhc2UieXkiOkM9IiVkIFx1MDkzNVx1MDkzMFx1MDk0ZFx1MDkzN1x1MDk0NyJ9ZWxzZSBzd2l0Y2goTil7Y2FzZSJzIjpDPSJcdTA5MTVcdTA5M2VcdTA5MzlcdTA5NDAgXHUwOTM4XHUwOTQ3XHUwOTE1XHUwOTAyXHUwOTI2XHUwOTNlXHUw''@;'; put 'put ''OTAyIjticmVhaztjYXNlInNzIjpDPSIlZCBcdTA5MzhcdTA5NDdcdTA5MTVcdTA5MDJcdTA5MjZcdTA5M2VcdTA5MDIiO2JyZWFrO2Nhc2UibSI6Qz0iXHUwOTBmXHUwOTE1XHUwOTNlIFx1MDkyZVx1MDkzZlx1MDkyOFx1MDkzZlx1MDkxZlx1MDkzZSI7YnJlYWs7Y2FzZSJtbSI6Qz0iJWQg''@;'; put 'put ''XHUwOTJlXHUwOTNmXHUwOTI4XHUwOTNmXHUwOTFmXHUwOTNlXHUwOTAyIjticmVhaztjYXNlImgiOkM9Ilx1MDkwZlx1MDkxNVx1MDkzZSBcdTA5MjRcdTA5M2VcdTA5MzhcdTA5M2UiO2JyZWFrO2Nhc2UiaGgiOkM9IiVkIFx1MDkyNFx1MDkzZVx1MDkzOFx1MDkzZVx1MDkwMiI7YnJlYWs7''@;'; put 'put ''Y2FzZSJkIjpDPSJcdTA5MGZcdTA5MTVcdTA5M2UgXHUwOTI2XHUwOTNmXHUwOTM1XHUwOTM4XHUwOTNlIjticmVhaztjYXNlImRkIjpDPSIlZCBcdTA5MjZcdTA5M2ZcdTA5MzVcdTA5MzhcdTA5M2VcdTA5MDIiO2JyZWFrO2Nhc2UiTSI6Qz0iXHUwOTBmXHUwOTE1XHUwOTNlIFx1MDkyZVx1''@;'; put 'put ''MDkzOVx1MDkzZlx1MDkyOFx1MDk0ZFx1MDkyZlx1MDkzZSI7YnJlYWs7Y2FzZSJNTSI6Qz0iJWQgXHUwOTJlXHUwOTM5XHUwOTNmXHUwOTI4XHUwOTRkXHUwOTJmXHUwOTNlXHUwOTAyIjticmVhaztjYXNlInkiOkM9Ilx1MDkwZlx1MDkxNVx1MDkzZSBcdTA5MzVcdTA5MzBcdTA5NGRcdTA5''@;'; put 'put ''MzdcdTA5M2UiO2JyZWFrO2Nhc2UieXkiOkM9IiVkIFx1MDkzNVx1MDkzMFx1MDk0ZFx1MDkzN1x1MDkzZVx1MDkwMiJ9cmV0dXJuIEMucmVwbGFjZSgvJWQvaSxBKX1DZS5kZWZpbmVMb2NhbGUoIm1yIix7bW9udGhzOiJcdTA5MWNcdTA5M2VcdTA5MjhcdTA5NDdcdTA5MzVcdTA5M2VcdTA5''@;'; put 'put ''MzBcdTA5NDBfXHUwOTJiXHUwOTQ3XHUwOTJjXHUwOTRkXHUwOTMwXHUwOTQxXHUwOTM1XHUwOTNlXHUwOTMwXHUwOTQwX1x1MDkyZVx1MDkzZVx1MDkzMFx1MDk0ZFx1MDkxYV9cdTA5MGZcdTA5MmFcdTA5NGRcdTA5MzBcdTA5M2ZcdTA5MzJfXHUwOTJlXHUwOTQ3X1x1MDkxY1x1MDk0Mlx1''@;'; put 'put ''MDkyOF9cdTA5MWNcdTA5NDFcdTA5MzJcdTA5NDhfXHUwOTExXHUwOTE3XHUwOTM4XHUwOTRkXHUwOTFmX1x1MDkzOFx1MDkyYVx1MDk0ZFx1MDkxZlx1MDk0N1x1MDkwMlx1MDkyY1x1MDkzMF9cdTA5MTFcdTA5MTVcdTA5NGRcdTA5MWZcdTA5NGJcdTA5MmNcdTA5MzBfXHUwOTI4XHUwOTRi''@;'; put 'put ''XHUwOTM1XHUwOTRkXHUwOTM5XHUwOTQ3XHUwOTAyXHUwOTJjXHUwOTMwX1x1MDkyMVx1MDkzZlx1MDkzOFx1MDk0N1x1MDkwMlx1MDkyY1x1MDkzMCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwOTFjXHUwOTNlXHUwOTI4XHUwOTQ3Ll9cdTA5MmJcdTA5NDdcdTA5MmNcdTA5NGRcdTA5''@;'; put 'put ''MzBcdTA5NDEuX1x1MDkyZVx1MDkzZVx1MDkzMFx1MDk0ZFx1MDkxYS5fXHUwOTBmXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTNmLl9cdTA5MmVcdTA5NDcuX1x1MDkxY1x1MDk0Mlx1MDkyOC5fXHUwOTFjXHUwOTQxXHUwOTMyXHUwOTQ4Ll9cdTA5MTFcdTA5MTcuX1x1MDkzOFx1MDkyYVx1MDk0''@;'; put 'put ''ZFx1MDkxZlx1MDk0N1x1MDkwMi5fXHUwOTExXHUwOTE1XHUwOTRkXHUwOTFmXHUwOTRiLl9cdTA5MjhcdTA5NGJcdTA5MzVcdTA5NGRcdTA5MzlcdTA5NDdcdTA5MDIuX1x1MDkyMVx1MDkzZlx1MDkzOFx1MDk0N1x1MDkwMi4iLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVr''@;'; put 'put ''ZGF5czoiXHUwOTMwXHUwOTM1XHUwOTNmXHUwOTM1XHUwOTNlXHUwOTMwX1x1MDkzOFx1MDk0Ylx1MDkyZVx1MDkzNVx1MDkzZVx1MDkzMF9cdTA5MmVcdTA5MDJcdTA5MTdcdTA5MzNcdTA5MzVcdTA5M2VcdTA5MzBfXHUwOTJjXHUwOTQxXHUwOTI3XHUwOTM1XHUwOTNlXHUwOTMwX1x1MDkx''@;'; put 'put ''N1x1MDk0MVx1MDkzMFx1MDk0Mlx1MDkzNVx1MDkzZVx1MDkzMF9cdTA5MzZcdTA5NDFcdTA5MTVcdTA5NGRcdTA5MzBcdTA5MzVcdTA5M2VcdTA5MzBfXHUwOTM2XHUwOTI4XHUwOTNmXHUwOTM1XHUwOTNlXHUwOTMwIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDkzMFx1MDkzNVx1''@;'; put 'put ''MDkzZl9cdTA5MzhcdTA5NGJcdTA5MmVfXHUwOTJlXHUwOTAyXHUwOTE3XHUwOTMzX1x1MDkyY1x1MDk0MVx1MDkyN19cdTA5MTdcdTA5NDFcdTA5MzBcdTA5NDJfXHUwOTM2XHUwOTQxXHUwOTE1XHUwOTRkXHUwOTMwX1x1MDkzNlx1MDkyOFx1MDkzZiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01p''@;'; put 'put ''bjoiXHUwOTMwX1x1MDkzOFx1MDk0Yl9cdTA5MmVcdTA5MDJfXHUwOTJjXHUwOTQxX1x1MDkxN1x1MDk0MV9cdTA5MzZcdTA5NDFfXHUwOTM2Ii5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiQSBoOm1tIFx1MDkzNVx1MDkzZVx1MDkxY1x1MDkyNFx1MDkzZSIsTFRTOiJBIGg6bW06''@;'; put 'put ''c3MgXHUwOTM1XHUwOTNlXHUwOTFjXHUwOTI0XHUwOTNlIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVksIEEgaDptbSBcdTA5MzVcdTA5M2VcdTA5MWNcdTA5MjRcdTA5M2UiLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZLCBBIGg6bW0gXHUwOTM1XHUw''@;'; put 'put ''OTNlXHUwOTFjXHUwOTI0XHUwOTNlIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA5MDZcdTA5MWNdIExUIixuZXh0RGF5OiJbXHUwOTA5XHUwOTI2XHUwOTRkXHUwOTJmXHUwOTNlXSBMVCIsbmV4dFdlZWs6ImRkZGQsIExUIixsYXN0RGF5OiJbXHUwOTE1XHUwOTNlXHUwOTMyXSBMVCIsbGFz''@;'; put 'put ''dFdlZWs6IltcdTA5MmVcdTA5M2VcdTA5MTdcdTA5NDBcdTA5MzJdIGRkZGQsIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlc1x1MDkyZVx1MDkyN1x1MDk0ZFx1MDkyZlx1MDk0NyIscGFzdDoiJXNcdTA5MmFcdTA5NDJcdTA5MzBcdTA5NGRcdTA5MzVcdTA5NDAi''@;'; put 'put ''LHM6aGUsc3M6aGUsbTpoZSxtbTpoZSxoOmhlLGhoOmhlLGQ6aGUsZGQ6aGUsTTpoZSxNTTpoZSx5OmhlLHl5OmhlfSxwcmVwYXJzZTpmdW5jdGlvbihBKXtyZXR1cm4gQS5yZXBsYWNlKC9bXHUwOTY3XHUwOTY4XHUwOTY5XHUwOTZhXHUwOTZiXHUwOTZjXHUwOTZkXHUwOTZlXHUwOTZmXHUw''@;'; put 'put ''OTY2XS9nLGZ1bmN0aW9uKGope3JldHVybiBnZVtqXX0pfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKEEpe3JldHVybiBBLnJlcGxhY2UoL1xkL2csZnVuY3Rpb24oail7cmV0dXJuIG9lW2pdfSl9LG1lcmlkaWVtUGFyc2U6L1x1MDkyYVx1MDkzOVx1MDkzZVx1MDkxZlx1MDk0N3xcdTA5MzhcdTA5''@;'; put 'put ''MTVcdTA5M2VcdTA5MzNcdTA5NDB8XHUwOTI2XHUwOTQxXHUwOTJhXHUwOTNlXHUwOTMwXHUwOTQwfFx1MDkzOFx1MDkzZVx1MDkyZlx1MDkwMlx1MDkxNVx1MDkzZVx1MDkzM1x1MDk0MHxcdTA5MzBcdTA5M2VcdTA5MjRcdTA5NGRcdTA5MzBcdTA5NDAvLG1lcmlkaWVtSG91cjpmdW5jdGlv''@;'; put 'put ''bihBLGope3JldHVybiAxMj09PUEmJihBPTApLCJcdTA5MmFcdTA5MzlcdTA5M2VcdTA5MWZcdTA5NDciPT09anx8Ilx1MDkzOFx1MDkxNVx1MDkzZVx1MDkzM1x1MDk0MCI9PT1qP0E6Ilx1MDkyNlx1MDk0MVx1MDkyYVx1MDkzZVx1MDkzMFx1MDk0MCI9PT1qfHwiXHUwOTM4XHUwOTNlXHUw''@;'; put 'put ''OTJmXHUwOTAyXHUwOTE1XHUwOTNlXHUwOTMzXHUwOTQwIj09PWp8fCJcdTA5MzBcdTA5M2VcdTA5MjRcdTA5NGRcdTA5MzBcdTA5NDAiPT09aj9BPj0xMj9BOkErMTI6dm9pZCAwfSxtZXJpZGllbTpmdW5jdGlvbihBLGosTil7cmV0dXJuIEE+PTAmJkE8Nj8iXHUwOTJhXHUwOTM5XHUwOTNl''@;'; put 'put ''XHUwOTFmXHUwOTQ3IjpBPDEyPyJcdTA5MzhcdTA5MTVcdTA5M2VcdTA5MzNcdTA5NDAiOkE8MTc/Ilx1MDkyNlx1MDk0MVx1MDkyYVx1MDkzZVx1MDkzMFx1MDk0MCI6QTwyMD8iXHUwOTM4XHUwOTNlXHUwOTJmXHUwOTAyXHUwOTE1XHUwOTNlXHUwOTMzXHUwOTQwIjoiXHUwOTMwXHUwOTNl''@;'; put 'put ''XHUwOTI0XHUwOTRkXHUwOTMwXHUwOTQwIn0sd2Vlazp7ZG93OjAsZG95OjZ9fSl9KEZlKDY3MzgpKX0sOTkwMDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJtcy1teSIse21vbnRoczoiSmFudWFyaV9GZWJydWFyaV9NYWNf''@;'; put 'put ''QXByaWxfTWVpX0p1bl9KdWxhaV9PZ29zX1NlcHRlbWJlcl9Pa3RvYmVyX05vdmVtYmVyX0Rpc2VtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJKYW5fRmViX01hY19BcHJfTWVpX0p1bl9KdWxfT2dzX1NlcF9Pa3RfTm92X0RpcyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiQWhhZF9Jc25p''@;'; put 'put ''bl9TZWxhc2FfUmFidV9LaGFtaXNfSnVtYWF0X1NhYnR1Ii5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IkFoZF9Jc25fU2VsX1JhYl9LaGFfSnVtX1NhYiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiQWhfSXNfU2xfUmJfS21fSm1fU2IiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xU''@;'; put 'put ''OiJISC5tbSIsTFRTOiJISC5tbS5zcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIFtwdWt1bF0gSEgubW0iLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIFtwdWt1bF0gSEgubW0ifSxtZXJpZGllbVBhcnNlOi9wYWdpfHRlbmdhaGFyaXxwZXRhbmd8''@;'; put 'put ''bWFsYW0vLG1lcmlkaWVtSG91cjpmdW5jdGlvbihnZSxoZSl7cmV0dXJuIDEyPT09Z2UmJihnZT0wKSwicGFnaSI9PT1oZT9nZToidGVuZ2FoYXJpIj09PWhlP2dlPj0xMT9nZTpnZSsxMjoicGV0YW5nIj09PWhlfHwibWFsYW0iPT09aGU/Z2UrMTI6dm9pZCAwfSxtZXJpZGllbTpmdW5jdGlv''@;'; put 'put ''bihnZSxoZSxaKXtyZXR1cm4gZ2U8MTE/InBhZ2kiOmdlPDE1PyJ0ZW5nYWhhcmkiOmdlPDE5PyJwZXRhbmciOiJtYWxhbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbSGFyaSBpbmkgcHVrdWxdIExUIixuZXh0RGF5OiJbRXNvayBwdWt1bF0gTFQiLG5leHRXZWVrOiJkZGRkIFtwdWt1bF0gTFQi''@;'; put 'put ''LGxhc3REYXk6IltLZWxtYXJpbiBwdWt1bF0gTFQiLGxhc3RXZWVrOiJkZGRkIFtsZXBhcyBwdWt1bF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ImRhbGFtICVzIixwYXN0OiIlcyB5YW5nIGxlcGFzIixzOiJiZWJlcmFwYSBzYWF0IixzczoiJWQgc2FhdCIsbToi''@;'; put 'put ''c2VtaW5pdCIsbW06IiVkIG1pbml0IixoOiJzZWphbSIsaGg6IiVkIGphbSIsZDoic2VoYXJpIixkZDoiJWQgaGFyaSIsTToic2VidWxhbiIsTU06IiVkIGJ1bGFuIix5OiJzZXRhaHVuIix5eToiJWQgdGFodW4ifSx3ZWVrOntkb3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSwxMzQxOmZ1bmN0''@;'; put 'put ''aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoIm1zIix7bW9udGhzOiJKYW51YXJpX0ZlYnJ1YXJpX01hY19BcHJpbF9NZWlfSnVuX0p1bGFpX09nb3NfU2VwdGVtYmVyX09rdG9iZXJfTm92ZW1iZXJfRGlzZW1iZXIiLnNwbGl0KCJfIiks''@;'; put 'put ''bW9udGhzU2hvcnQ6Ikphbl9GZWJfTWFjX0Fwcl9NZWlfSnVuX0p1bF9PZ3NfU2VwX09rdF9Ob3ZfRGlzIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJBaGFkX0lzbmluX1NlbGFzYV9SYWJ1X0toYW1pc19KdW1hYXRfU2FidHUiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiQWhkX0lzbl9TZWxf''@;'; put 'put ''UmFiX0toYV9KdW1fU2FiIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJBaF9Jc19TbF9SYl9LbV9KbV9TYiIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhILm1tIixMVFM6IkhILm1tLnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkg''@;'; put 'put ''W3B1a3VsXSBISC5tbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgW3B1a3VsXSBISC5tbSJ9LG1lcmlkaWVtUGFyc2U6L3BhZ2l8dGVuZ2FoYXJpfHBldGFuZ3xtYWxhbS8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKGdlLGhlKXtyZXR1cm4gMTI9PT1nZSYmKGdlPTApLCJwYWdpIj09PWhlP2dl''@;'; put 'put ''OiJ0ZW5nYWhhcmkiPT09aGU/Z2U+PTExP2dlOmdlKzEyOiJwZXRhbmciPT09aGV8fCJtYWxhbSI9PT1oZT9nZSsxMjp2b2lkIDB9LG1lcmlkaWVtOmZ1bmN0aW9uKGdlLGhlLFope3JldHVybiBnZTwxMT8icGFnaSI6Z2U8MTU/InRlbmdhaGFyaSI6Z2U8MTk/InBldGFuZyI6Im1hbGFtIn0s''@;'; put 'put ''Y2FsZW5kYXI6e3NhbWVEYXk6IltIYXJpIGluaSBwdWt1bF0gTFQiLG5leHREYXk6IltFc29rIHB1a3VsXSBMVCIsbmV4dFdlZWs6ImRkZGQgW3B1a3VsXSBMVCIsbGFzdERheToiW0tlbG1hcmluIHB1a3VsXSBMVCIsbGFzdFdlZWs6ImRkZGQgW2xlcGFzIHB1a3VsXSBMVCIsc2FtZUVsc2U6''@;'; put 'put ''IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiZGFsYW0gJXMiLHBhc3Q6IiVzIHlhbmcgbGVwYXMiLHM6ImJlYmVyYXBhIHNhYXQiLHNzOiIlZCBzYWF0IixtOiJzZW1pbml0IixtbToiJWQgbWluaXQiLGg6InNlamFtIixoaDoiJWQgamFtIixkOiJzZWhhcmkiLGRkOiIlZCBoYXJpIixNOiJz''@;'; put 'put ''ZWJ1bGFuIixNTToiJWQgYnVsYW4iLHk6InNldGFodW4iLHl5OiIlZCB0YWh1biJ9LHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDc3MzQ6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgibXQiLHttb250aHM6Ikph''@;'; put 'put ''bm5hcl9GcmFyX01hcnp1X0FwcmlsX01lamp1X1x1MDEyMHVuanVfTHVsanVfQXd3aXNzdV9TZXR0ZW1icnVfT3R0dWJydV9Ob3ZlbWJydV9EaVx1MDEwYmVtYnJ1Ii5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJKYW5fRnJhX01hcl9BcHJfTWVqX1x1MDEyMHVuX0x1bF9Bd3dfU2V0X090dF9O''@;'; put 'put ''b3ZfRGlcdTAxMGIiLnNwbGl0KCJfIiksd2Vla2RheXM6IklsLVx1MDEyNmFkZF9JdC1UbmVqbl9JdC1UbGlldGFfTC1FcmJnXHUwMTI3YV9JbC1cdTAxMjZhbWlzX0lsLVx1MDEyMGltZ1x1MDEyN2FfSXMtU2lidCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTAxMjZhZF9UbmVfVGxp''@;'; put 'put ''X0VyYl9cdTAxMjZhbV9cdTAxMjBpbV9TaWIiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDEyNmFfVG5fVGxfRXJfXHUwMTI2YV9cdTAxMjBpX1NpIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1N''@;'; put 'put ''TU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0lsbHVtIGZpbC1dTFQiLG5leHREYXk6IltHXHUwMTI3YWRhIGZpbC1dTFQiLG5leHRXZWVrOiJkZGRkIFtmaWwtXUxUIixsYXN0RGF5OiJb''@;'; put 'put ''SWwtYmllcmFcdTAxMjcgZmlsLV1MVCIsbGFzdFdlZWs6ImRkZGQgW2xpIGdcdTAxMjdhZGRhXSBbZmlsLV1MVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiZlx1MjAxOSAlcyIscGFzdDoiJXMgaWx1IixzOiJmdGl0IHNla29uZGkiLHNzOiIlZCBzZWtvbmRpIixtOiJt''@;'; put 'put ''aW51dGEiLG1tOiIlZCBtaW51dGkiLGg6InNpZWdcdTAxMjdhIixoaDoiJWQgc2llZ1x1MDEyN2F0IixkOiJcdTAxMjF1cm5hdGEiLGRkOiIlZCBcdTAxMjFyYW5ldCIsTToieGFoYXIiLE1NOiIlZCB4aHVyIix5OiJzZW5hIix5eToiJWQgc25pIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTov''@;'; put 'put ''XGR7MSwyfVx4YmEvLG9yZGluYWw6IiVkXHhiYSIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sOTAzNDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXsxOiJcdTEwNDEiLDI6Ilx1MTA0MiIsMzoiXHUxMDQzIiw0OiJcdTEwNDQi''@;'; put 'put ''LDU6Ilx1MTA0NSIsNjoiXHUxMDQ2Iiw3OiJcdTEwNDciLDg6Ilx1MTA0OCIsOToiXHUxMDQ5IiwwOiJcdTEwNDAifSxnZT17Ilx1MTA0MSI6IjEiLCJcdTEwNDIiOiIyIiwiXHUxMDQzIjoiMyIsIlx1MTA0NCI6IjQiLCJcdTEwNDUiOiI1IiwiXHUxMDQ2IjoiNiIsIlx1MTA0NyI6IjciLCJc''@;'; put 'put ''dTEwNDgiOiI4IiwiXHUxMDQ5IjoiOSIsIlx1MTA0MCI6IjAifTtDZS5kZWZpbmVMb2NhbGUoIm15Iix7bW9udGhzOiJcdTEwMDdcdTEwMTRcdTEwM2FcdTEwMTRcdTEwMWRcdTEwMmJcdTEwMWJcdTEwMmVfXHUxMDE2XHUxMDMxXHUxMDE2XHUxMDMxXHUxMDJjXHUxMDNhXHUxMDFkXHUxMDJi''@;'; put 'put ''XHUxMDFiXHUxMDJlX1x1MTAxOVx1MTAxMFx1MTAzYV9cdTEwMjdcdTEwMTVcdTEwM2NcdTEwMmVfXHUxMDE5XHUxMDMxX1x1MTAwN1x1MTAzZFx1MTAxNFx1MTAzYV9cdTEwMDdcdTEwMzBcdTEwMWNcdTEwMmRcdTEwMmZcdTEwMDRcdTEwM2FfXHUxMDFlXHUxMDNjXHUxMDAyXHUxMDJmXHUx''@;'; put 'put ''MDEwXHUxMDNhX1x1MTAwNVx1MTAwMFx1MTAzYVx1MTAxMFx1MTAwNFx1MTAzYVx1MTAxOFx1MTAyY19cdTEwMjFcdTEwMzFcdTEwMmNcdTEwMDBcdTEwM2FcdTEwMTBcdTEwMmRcdTEwMmZcdTEwMThcdTEwMmNfXHUxMDE0XHUxMDJkXHUxMDJmXHUxMDFkXHUxMDA0XHUxMDNhXHUxMDE4XHUx''@;'; put 'put ''MDJjX1x1MTAxMlx1MTAyZVx1MTAwN1x1MTAwNFx1MTAzYVx1MTAxOFx1MTAyYyIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUxMDA3XHUxMDE0XHUxMDNhX1x1MTAxNlx1MTAzMV9cdTEwMTlcdTEwMTBcdTEwM2FfXHUxMDE1XHUxMDNjXHUxMDJlX1x1MTAxOVx1MTAzMV9cdTEwMDdcdTEw''@;'; put 'put ''M2RcdTEwMTRcdTEwM2FfXHUxMDFjXHUxMDJkXHUxMDJmXHUxMDA0XHUxMDNhX1x1MTAxZVx1MTAzY19cdTEwMDVcdTEwMDBcdTEwM2FfXHUxMDIxXHUxMDMxXHUxMDJjXHUxMDAwXHUxMDNhX1x1MTAxNFx1MTAyZFx1MTAyZl9cdTEwMTJcdTEwMmUiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1''@;'; put 'put ''MTAxMFx1MTAxNFx1MTAwNFx1MTAzYVx1MTAzOVx1MTAwMlx1MTAxNFx1MTAzZFx1MTAzMV9cdTEwMTBcdTEwMTRcdTEwMDRcdTEwM2FcdTEwMzlcdTEwMWNcdTEwMmNfXHUxMDIxXHUxMDA0XHUxMDNhXHUxMDM5XHUxMDAyXHUxMDJiX1x1MTAxN1x1MTAyZlx1MTAxMlx1MTAzOVx1MTAxM1x1''@;'; put 'put ''MTAxZlx1MTAzMFx1MTAzOF9cdTEwMDBcdTEwM2NcdTEwMmNcdTEwMWVcdTEwMTVcdTEwMTBcdTEwMzFcdTEwMzhfXHUxMDFlXHUxMDMxXHUxMDJjXHUxMDAwXHUxMDNjXHUxMDJjX1x1MTAwNVx1MTAxNFx1MTAzMSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTEwMTRcdTEwM2RcdTEw''@;'; put 'put ''MzFfXHUxMDFjXHUxMDJjX1x1MTAwMlx1MTAyYl9cdTEwMWZcdTEwMzBcdTEwMzhfXHUxMDAwXHUxMDNjXHUxMDJjX1x1MTAxZVx1MTAzMVx1MTAyY19cdTEwMTRcdTEwMzEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MTAxNFx1MTAzZFx1MTAzMV9cdTEwMWNcdTEwMmNfXHUxMDAyXHUx''@;'; put 'put ''MDJiX1x1MTAxZlx1MTAzMFx1MTAzOF9cdTEwMDBcdTEwM2NcdTEwMmNfXHUxMDFlXHUxMDMxXHUxMDJjX1x1MTAxNFx1MTAzMSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoi''@;'; put 'put ''RCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MTAxYVx1MTAxNFx1MTAzMS5dIExUIFtcdTEwMTlcdTEwM2VcdTEwMmNdIixuZXh0RGF5OiJbXHUxMDE5XHUxMDE0XHUxMDAwXHUxMDNhXHUxMDE2XHUxMDNjXHUx''@;'; put 'put ''MDE0XHUxMDNhXSBMVCBbXHUxMDE5XHUxMDNlXHUxMDJjXSIsbmV4dFdlZWs6ImRkZGQgTFQgW1x1MTAxOVx1MTAzZVx1MTAyY10iLGxhc3REYXk6IltcdTEwMTlcdTEwMTRcdTEwMzEuXHUxMDAwXSBMVCBbXHUxMDE5XHUxMDNlXHUxMDJjXSIsbGFzdFdlZWs6IltcdTEwMTVcdTEwM2NcdTEw''@;'; put 'put ''MmVcdTEwMzhcdTEwMDFcdTEwMzJcdTEwMzdcdTEwMWVcdTEwMzFcdTEwMmNdIGRkZGQgTFQgW1x1MTAxOVx1MTAzZVx1MTAyY10iLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MTAxY1x1MTAyY1x1MTAxOVx1MTAwYVx1MTAzYVx1MTAzNyAlcyBcdTEwMTlcdTEwM2Vc''@;'; put 'put ''dTEwMmMiLHBhc3Q6Ilx1MTAxY1x1MTAzZFx1MTAxNFx1MTAzYVx1MTAwMVx1MTAzMlx1MTAzN1x1MTAxZVx1MTAzMVx1MTAyYyAlcyBcdTEwMDAiLHM6Ilx1MTAwNVx1MTAwMFx1MTAzOVx1MTAwMFx1MTAxNFx1MTAzYS5cdTEwMjFcdTEwMTRcdTEwMGFcdTEwM2FcdTEwMzhcdTEwMDRcdTEw''@;'; put 'put ''MWFcdTEwM2EiLHNzOiIlZCBcdTEwMDVcdTEwMDBcdTEwMzlcdTEwMDBcdTEwMTRcdTEwMzdcdTEwM2EiLG06Ilx1MTAxMFx1MTAwNVx1MTAzYVx1MTAxOVx1MTAyZFx1MTAxNFx1MTAwNVx1MTAzYSIsbW06IiVkIFx1MTAxOVx1MTAyZFx1MTAxNFx1MTAwNVx1MTAzYSIsaDoiXHUxMDEwXHUx''@;'; put 'put ''MDA1XHUxMDNhXHUxMDE0XHUxMDJjXHUxMDFiXHUxMDJlIixoaDoiJWQgXHUxMDE0XHUxMDJjXHUxMDFiXHUxMDJlIixkOiJcdTEwMTBcdTEwMDVcdTEwM2FcdTEwMWJcdTEwMDBcdTEwM2EiLGRkOiIlZCBcdTEwMWJcdTEwMDBcdTEwM2EiLE06Ilx1MTAxMFx1MTAwNVx1MTAzYVx1MTAxYyIs''@;'; put 'put ''TU06IiVkIFx1MTAxYyIseToiXHUxMDEwXHUxMDA1XHUxMDNhXHUxMDE0XHUxMDNlXHUxMDA1XHUxMDNhIix5eToiJWQgXHUxMDE0XHUxMDNlXHUxMDA1XHUxMDNhIn0scHJlcGFyc2U6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvW1x1MTA0MVx1MTA0Mlx1MTA0M1x1MTA0NFx1MTA0''@;'; put 'put ''NVx1MTA0Nlx1MTA0N1x1MTA0OFx1MTA0OVx1MTA0MF0vZyxmdW5jdGlvbihBKXtyZXR1cm4gZ2VbQV19KX0scG9zdGZvcm1hdDpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC9cZC9nLGZ1bmN0aW9uKEEpe3JldHVybiBvZVtBXX0pfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjcz''@;'; put 'put ''OCkpfSw5MzI0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoIm5iIix7bW9udGhzOiJqYW51YXJfZmVicnVhcl9tYXJzX2FwcmlsX21haV9qdW5pX2p1bGlfYXVndXN0X3NlcHRlbWJlcl9va3RvYmVyX25vdmVtYmVyX2Rlc2Vt''@;'; put 'put ''YmVyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJqYW4uX2ZlYi5fbWFyc19hcHIuX21haV9qdW5pX2p1bGlfYXVnLl9zZXAuX29rdC5fbm92Ll9kZXMuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6InNceGY4bmRhZ19tYW5kYWdfdGlyc2RhZ19vbnNkYWdfdG9y''@;'; put 'put ''c2RhZ19mcmVkYWdfbFx4ZjhyZGFnIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6InNceGY4Ll9tYS5fdGkuX29uLl90by5fZnIuX2xceGY4LiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoic1x4ZjhfbWFfdGlfb25fdG9fZnJfbFx4ZjgiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0''@;'; put 'put ''OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJELiBNTU1NIFlZWVkiLExMTDoiRC4gTU1NTSBZWVlZIFtrbC5dIEhIOm1tIixMTExMOiJkZGRkIEQuIE1NTU0gWVlZWSBba2wuXSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5''@;'; put 'put ''OiJbaSBkYWcga2wuXSBMVCIsbmV4dERheToiW2kgbW9yZ2VuIGtsLl0gTFQiLG5leHRXZWVrOiJkZGRkIFtrbC5dIExUIixsYXN0RGF5OiJbaSBnXHhlNXIga2wuXSBMVCIsbGFzdFdlZWs6Iltmb3JyaWdlXSBkZGRkIFtrbC5dIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0''@;'; put 'put ''dXJlOiJvbSAlcyIscGFzdDoiJXMgc2lkZW4iLHM6Im5vZW4gc2VrdW5kZXIiLHNzOiIlZCBzZWt1bmRlciIsbToiZXR0IG1pbnV0dCIsbW06IiVkIG1pbnV0dGVyIixoOiJlbiB0aW1lIixoaDoiJWQgdGltZXIiLGQ6ImVuIGRhZyIsZGQ6IiVkIGRhZ2VyIix3OiJlbiB1a2UiLHd3OiIlZCB1''@;'; put 'put ''a2VyIixNOiJlbiBtXHhlNW5lZCIsTU06IiVkIG1ceGU1bmVkZXIiLHk6ImV0dCBceGU1ciIseXk6IiVkIFx4ZTVyIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDY0OTU6ZnVuY3Rpb24o''@;'; put 'put ''X3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MToiXHUwOTY3IiwyOiJcdTA5NjgiLDM6Ilx1MDk2OSIsNDoiXHUwOTZhIiw1OiJcdTA5NmIiLDY6Ilx1MDk2YyIsNzoiXHUwOTZkIiw4OiJcdTA5NmUiLDk6Ilx1MDk2ZiIsMDoiXHUwOTY2In0sZ2U9eyJcdTA5''@;'; put 'put ''NjciOiIxIiwiXHUwOTY4IjoiMiIsIlx1MDk2OSI6IjMiLCJcdTA5NmEiOiI0IiwiXHUwOTZiIjoiNSIsIlx1MDk2YyI6IjYiLCJcdTA5NmQiOiI3IiwiXHUwOTZlIjoiOCIsIlx1MDk2ZiI6IjkiLCJcdTA5NjYiOiIwIn07Q2UuZGVmaW5lTG9jYWxlKCJuZSIse21vbnRoczoiXHUwOTFjXHUw''@;'; put 'put ''OTI4XHUwOTM1XHUwOTMwXHUwOTQwX1x1MDkyYlx1MDk0N1x1MDkyY1x1MDk0ZFx1MDkzMFx1MDk0MVx1MDkzNVx1MDkzMFx1MDk0MF9cdTA5MmVcdTA5M2VcdTA5MzBcdTA5NGRcdTA5MWFfXHUwOTA1XHUwOTJhXHUwOTRkXHUwOTMwXHUwOTNmXHUwOTMyX1x1MDkyZVx1MDkwOF9cdTA5MWNc''@;'; put 'put ''dTA5NDFcdTA5MjhfXHUwOTFjXHUwOTQxXHUwOTMyXHUwOTNlXHUwOTA4X1x1MDkwNVx1MDkxN1x1MDkzN1x1MDk0ZFx1MDkxZl9cdTA5MzhcdTA5NDdcdTA5MmFcdTA5NGRcdTA5MWZcdTA5NDdcdTA5MmVcdTA5NGRcdTA5MmNcdTA5MzBfXHUwOTA1XHUwOTE1XHUwOTRkXHUwOTFmXHUwOTRi''@;'; put 'put ''XHUwOTJjXHUwOTMwX1x1MDkyOFx1MDk0Ylx1MDkyZFx1MDk0N1x1MDkyZVx1MDk0ZFx1MDkyY1x1MDkzMF9cdTA5MjFcdTA5M2ZcdTA5MzhcdTA5NDdcdTA5MmVcdTA5NGRcdTA5MmNcdTA5MzAiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MDkxY1x1MDkyOC5fXHUwOTJiXHUwOTQ3XHUw''@;'; put 'put ''OTJjXHUwOTRkXHUwOTMwXHUwOTQxLl9cdTA5MmVcdTA5M2VcdTA5MzBcdTA5NGRcdTA5MWFfXHUwOTA1XHUwOTJhXHUwOTRkXHUwOTMwXHUwOTNmLl9cdTA5MmVcdTA5MDhfXHUwOTFjXHUwOTQxXHUwOTI4X1x1MDkxY1x1MDk0MVx1MDkzMlx1MDkzZVx1MDkwOC5fXHUwOTA1XHUwOTE3Ll9c''@;'; put 'put ''dTA5MzhcdTA5NDdcdTA5MmFcdTA5NGRcdTA5MWYuX1x1MDkwNVx1MDkxNVx1MDk0ZFx1MDkxZlx1MDk0Yi5fXHUwOTI4XHUwOTRiXHUwOTJkXHUwOTQ3Ll9cdTA5MjFcdTA5M2ZcdTA5MzhcdTA5NDcuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6Ilx1MDkwNlx1''@;'; put 'put ''MDkwN1x1MDkyNFx1MDkyY1x1MDkzZVx1MDkzMF9cdTA5MzhcdTA5NGJcdTA5MmVcdTA5MmNcdTA5M2VcdTA5MzBfXHUwOTJlXHUwOTE5XHUwOTRkXHUwOTE3XHUwOTMyXHUwOTJjXHUwOTNlXHUwOTMwX1x1MDkyY1x1MDk0MVx1MDkyN1x1MDkyY1x1MDkzZVx1MDkzMF9cdTA5MmNcdTA5M2Zc''@;'; put 'put ''dTA5MzlcdTA5M2ZcdTA5MmNcdTA5M2VcdTA5MzBfXHUwOTM2XHUwOTQxXHUwOTE1XHUwOTRkXHUwOTMwXHUwOTJjXHUwOTNlXHUwOTMwX1x1MDkzNlx1MDkyOFx1MDkzZlx1MDkyY1x1MDkzZVx1MDkzMCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA5MDZcdTA5MDdcdTA5MjQuX1x1''@;'; put 'put ''MDkzOFx1MDk0Ylx1MDkyZS5fXHUwOTJlXHUwOTE5XHUwOTRkXHUwOTE3XHUwOTMyLl9cdTA5MmNcdTA5NDFcdTA5MjcuX1x1MDkyY1x1MDkzZlx1MDkzOVx1MDkzZi5fXHUwOTM2XHUwOTQxXHUwOTE1XHUwOTRkXHUwOTMwLl9cdTA5MzZcdTA5MjhcdTA5M2YuIi5zcGxpdCgiXyIpLHdlZWtk''@;'; put 'put ''YXlzTWluOiJcdTA5MDYuX1x1MDkzOFx1MDk0Yi5fXHUwOTJlXHUwOTAyLl9cdTA5MmNcdTA5NDEuX1x1MDkyY1x1MDkzZi5fXHUwOTM2XHUwOTQxLl9cdTA5MzYuIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6IkFcdTA5MTVcdTA5NGIgaDpt''@;'; put 'put ''bSBcdTA5MmNcdTA5MWNcdTA5NDciLExUUzoiQVx1MDkxNVx1MDk0YiBoOm1tOnNzIFx1MDkyY1x1MDkxY1x1MDk0NyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZLCBBXHUwOTE1XHUwOTRiIGg6bW0gXHUwOTJjXHUwOTFjXHUwOTQ3IixMTExMOiJk''@;'; put 'put ''ZGRkLCBEIE1NTU0gWVlZWSwgQVx1MDkxNVx1MDk0YiBoOm1tIFx1MDkyY1x1MDkxY1x1MDk0NyJ9LHByZXBhcnNlOmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1tcdTA5NjdcdTA5NjhcdTA5NjlcdTA5NmFcdTA5NmJcdTA5NmNcdTA5NmRcdTA5NmVcdTA5NmZcdTA5NjZdL2csZnVu''@;'; put 'put ''Y3Rpb24oQSl7cmV0dXJuIGdlW0FdfSl9LHBvc3Rmb3JtYXQ6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvXGQvZyxmdW5jdGlvbihBKXtyZXR1cm4gb2VbQV19KX0sbWVyaWRpZW1QYXJzZTovXHUwOTMwXHUwOTNlXHUwOTI0XHUwOTNmfFx1MDkyY1x1MDkzZlx1MDkzOVx1MDkzZVx1''@;'; put 'put ''MDkyOHxcdTA5MjZcdTA5M2ZcdTA5MDlcdTA5MDFcdTA5MzhcdTA5NGJ8XHUwOTM4XHUwOTNlXHUwOTAxXHUwOTFkLyxtZXJpZGllbUhvdXI6ZnVuY3Rpb24oWixBKXtyZXR1cm4gMTI9PT1aJiYoWj0wKSwiXHUwOTMwXHUwOTNlXHUwOTI0XHUwOTNmIj09PUE/Wjw0P1o6WisxMjoiXHUwOTJj''@;'; put 'put ''XHUwOTNmXHUwOTM5XHUwOTNlXHUwOTI4Ij09PUE/WjoiXHUwOTI2XHUwOTNmXHUwOTA5XHUwOTAxXHUwOTM4XHUwOTRiIj09PUE/Wj49MTA/WjpaKzEyOiJcdTA5MzhcdTA5M2VcdTA5MDFcdTA5MWQiPT09QT9aKzEyOnZvaWQgMH0sbWVyaWRpZW06ZnVuY3Rpb24oWixBLGope3JldHVybiBa''@;'; put 'put ''PDM/Ilx1MDkzMFx1MDkzZVx1MDkyNFx1MDkzZiI6WjwxMj8iXHUwOTJjXHUwOTNmXHUwOTM5XHUwOTNlXHUwOTI4IjpaPDE2PyJcdTA5MjZcdTA5M2ZcdTA5MDlcdTA5MDFcdTA5MzhcdTA5NGIiOlo8MjA/Ilx1MDkzOFx1MDkzZVx1MDkwMVx1MDkxZCI6Ilx1MDkzMFx1MDkzZVx1MDkyNFx1''@;'; put 'put ''MDkzZiJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwOTA2XHUwOTFjXSBMVCIsbmV4dERheToiW1x1MDkyZFx1MDk0Ylx1MDkzMlx1MDkzZl0gTFQiLG5leHRXZWVrOiJbXHUwOTA2XHUwOTA5XHUwOTAxXHUwOTI2XHUwOTRiXSBkZGRkWyxdIExUIixsYXN0RGF5OiJbXHUwOTM5XHUwOTNmXHUw''@;'; put 'put ''OTFjXHUwOTRiXSBMVCIsbGFzdFdlZWs6IltcdTA5MTdcdTA5MGZcdTA5MTVcdTA5NGJdIGRkZGRbLF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzXHUwOTJlXHUwOTNlIixwYXN0OiIlcyBcdTA5MDVcdTA5MTdcdTA5M2VcdTA5MjFcdTA5M2YiLHM6Ilx1MDkx''@;'; put 'put ''NVx1MDk0N1x1MDkzOVx1MDk0MCBcdTA5MTVcdTA5NGRcdTA5MzdcdTA5MjMiLHNzOiIlZCBcdTA5MzhcdTA5NDdcdTA5MTVcdTA5NDdcdTA5MjNcdTA5NGRcdTA5MjEiLG06Ilx1MDkwZlx1MDkxNSBcdTA5MmVcdTA5M2ZcdTA5MjhcdTA5NDdcdTA5MWYiLG1tOiIlZCBcdTA5MmVcdTA5M2Zc''@;'; put 'put ''dTA5MjhcdTA5NDdcdTA5MWYiLGg6Ilx1MDkwZlx1MDkxNSBcdTA5MThcdTA5MjNcdTA5NGRcdTA5MWZcdTA5M2UiLGhoOiIlZCBcdTA5MThcdTA5MjNcdTA5NGRcdTA5MWZcdTA5M2UiLGQ6Ilx1MDkwZlx1MDkxNSBcdTA5MjZcdTA5M2ZcdTA5MjgiLGRkOiIlZCBcdTA5MjZcdTA5M2ZcdTA5''@;'; put 'put ''MjgiLE06Ilx1MDkwZlx1MDkxNSBcdTA5MmVcdTA5MzlcdTA5M2ZcdTA5MjhcdTA5M2UiLE1NOiIlZCBcdTA5MmVcdTA5MzlcdTA5M2ZcdTA5MjhcdTA5M2UiLHk6Ilx1MDkwZlx1MDkxNSBcdTA5MmNcdTA5MzBcdTA5NGRcdTA5MzciLHl5OiIlZCBcdTA5MmNcdTA5MzBcdTA5NGRcdTA5Mzci''@;'; put 'put ''fSx3ZWVrOntkb3c6MCxkb3k6Nn19KX0oRmUoNjczOCkpfSw2MjcyOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9Imphbi5fZmViLl9tcnQuX2Fwci5fbWVpX2p1bi5fanVsLl9hdWcuX3NlcC5fb2t0Ll9ub3YuX2RlYy4iLnNwbGl0KCJfIiks''@;'; put 'put ''Z2U9Imphbl9mZWJfbXJ0X2Fwcl9tZWlfanVuX2p1bF9hdWdfc2VwX29rdF9ub3ZfZGVjIi5zcGxpdCgiXyIpLGhlPVsvXmphbi9pLC9eZmViL2ksL15tYWFydHxtcnQuPyQvaSwvXmFwci9pLC9ebWVpJC9pLC9eanVuW2kuXT8kL2ksL15qdWxbaS5dPyQvaSwvXmF1Zy9pLC9ec2VwL2ksL15v''@;'; put 'put ''a3QvaSwvXm5vdi9pLC9eZGVjL2ldLFo9L14oamFudWFyaXxmZWJydWFyaXxtYWFydHxhcHJpbHxtZWl8anVbbmxdaXxhdWd1c3R1c3xzZXB0ZW1iZXJ8b2t0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcnxqYW5cLj98ZmViXC4/fG1ydFwuP3xhcHJcLj98anVbbmxdXC4/fGF1Z1wuP3xzZXBcLj98''@;'; put 'put ''b2t0XC4/fG5vdlwuP3xkZWNcLj8pL2k7Q2UuZGVmaW5lTG9jYWxlKCJubC1iZSIse21vbnRoczoiamFudWFyaV9mZWJydWFyaV9tYWFydF9hcHJpbF9tZWlfanVuaV9qdWxpX2F1Z3VzdHVzX3NlcHRlbWJlcl9va3RvYmVyX25vdmVtYmVyX2RlY2VtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1No''@;'; put 'put ''b3J0OmZ1bmN0aW9uKGosTil7cmV0dXJuIGo/Ly1NTU0tLy50ZXN0KE4pP2dlW2oubW9udGgoKV06b2Vbai5tb250aCgpXTpvZX0sbW9udGhzUmVnZXg6Wixtb250aHNTaG9ydFJlZ2V4OlosbW9udGhzU3RyaWN0UmVnZXg6L14oamFudWFyaXxmZWJydWFyaXxtYWFydHxhcHJpbHxtZWl8anVb''@;'; put 'put ''bmxdaXxhdWd1c3R1c3xzZXB0ZW1iZXJ8b2t0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcikvaSxtb250aHNTaG9ydFN0cmljdFJlZ2V4Oi9eKGphblwuP3xmZWJcLj98bXJ0XC4/fGFwclwuP3xtZWl8anVbbmxdXC4/fGF1Z1wuP3xzZXBcLj98b2t0XC4/fG5vdlwuP3xkZWNcLj8pL2ksbW9udGhz''@;'; put 'put ''UGFyc2U6aGUsbG9uZ01vbnRoc1BhcnNlOmhlLHNob3J0TW9udGhzUGFyc2U6aGUsd2Vla2RheXM6InpvbmRhZ19tYWFuZGFnX2RpbnNkYWdfd29lbnNkYWdfZG9uZGVyZGFnX3ZyaWpkYWdfemF0ZXJkYWciLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiem8uX21hLl9kaS5fd28uX2RvLl92''@;'; put 'put ''ci5femEuIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJ6b19tYV9kaV93b19kb192cl96YSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6''@;'; put 'put ''IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkIEQgTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6Ilt2YW5kYWFnIG9tXSBMVCIsbmV4dERheToiW21vcmdlbiBvbV0gTFQiLG5leHRXZWVrOiJkZGRkIFtvbV0gTFQiLGxhc3REYXk6IltnaXN0ZXJlbiBvbV0gTFQiLGxh''@;'; put 'put ''c3RXZWVrOiJbYWZnZWxvcGVuXSBkZGRkIFtvbV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Im92ZXIgJXMiLHBhc3Q6IiVzIGdlbGVkZW4iLHM6ImVlbiBwYWFyIHNlY29uZGVuIixzczoiJWQgc2Vjb25kZW4iLG06Ilx4ZTlceGU5biBtaW51dXQiLG1tOiIlZCBt''@;'; put 'put ''aW51dGVuIixoOiJceGU5XHhlOW4gdXVyIixoaDoiJWQgdXVyIixkOiJceGU5XHhlOW4gZGFnIixkZDoiJWQgZGFnZW4iLE06Ilx4ZTlceGU5biBtYWFuZCIsTU06IiVkIG1hYW5kZW4iLHk6Ilx4ZTlceGU5biBqYWFyIix5eToiJWQgamFhciJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xk''@;'; put 'put ''ezEsMn0oc3RlfGRlKS8sb3JkaW5hbDpmdW5jdGlvbihqKXtyZXR1cm4gaisoMT09PWp8fDg9PT1qfHxqPj0yMD8ic3RlIjoiZGUiKX0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sNjczOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIg''@;'; put 'put ''b2U9Imphbi5fZmViLl9tcnQuX2Fwci5fbWVpX2p1bi5fanVsLl9hdWcuX3NlcC5fb2t0Ll9ub3YuX2RlYy4iLnNwbGl0KCJfIiksZ2U9Imphbl9mZWJfbXJ0X2Fwcl9tZWlfanVuX2p1bF9hdWdfc2VwX29rdF9ub3ZfZGVjIi5zcGxpdCgiXyIpLGhlPVsvXmphbi9pLC9eZmViL2ksL15tYWFy''@;'; put 'put ''dHxtcnQuPyQvaSwvXmFwci9pLC9ebWVpJC9pLC9eanVuW2kuXT8kL2ksL15qdWxbaS5dPyQvaSwvXmF1Zy9pLC9ec2VwL2ksL15va3QvaSwvXm5vdi9pLC9eZGVjL2ldLFo9L14oamFudWFyaXxmZWJydWFyaXxtYWFydHxhcHJpbHxtZWl8anVbbmxdaXxhdWd1c3R1c3xzZXB0ZW1iZXJ8b2t0''@;'; put 'put ''b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcnxqYW5cLj98ZmViXC4/fG1ydFwuP3xhcHJcLj98anVbbmxdXC4/fGF1Z1wuP3xzZXBcLj98b2t0XC4/fG5vdlwuP3xkZWNcLj8pL2k7Q2UuZGVmaW5lTG9jYWxlKCJubCIse21vbnRoczoiamFudWFyaV9mZWJydWFyaV9tYWFydF9hcHJpbF9tZWlfanVu''@;'; put 'put ''aV9qdWxpX2F1Z3VzdHVzX3NlcHRlbWJlcl9va3RvYmVyX25vdmVtYmVyX2RlY2VtYmVyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OmZ1bmN0aW9uKGosTil7cmV0dXJuIGo/Ly1NTU0tLy50ZXN0KE4pP2dlW2oubW9udGgoKV06b2Vbai5tb250aCgpXTpvZX0sbW9udGhzUmVnZXg6Wixtb250''@;'; put 'put ''aHNTaG9ydFJlZ2V4OlosbW9udGhzU3RyaWN0UmVnZXg6L14oamFudWFyaXxmZWJydWFyaXxtYWFydHxhcHJpbHxtZWl8anVbbmxdaXxhdWd1c3R1c3xzZXB0ZW1iZXJ8b2t0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcikvaSxtb250aHNTaG9ydFN0cmljdFJlZ2V4Oi9eKGphblwuP3xmZWJcLj98''@;'; put 'put ''bXJ0XC4/fGFwclwuP3xtZWl8anVbbmxdXC4/fGF1Z1wuP3xzZXBcLj98b2t0XC4/fG5vdlwuP3xkZWNcLj8pL2ksbW9udGhzUGFyc2U6aGUsbG9uZ01vbnRoc1BhcnNlOmhlLHNob3J0TW9udGhzUGFyc2U6aGUsd2Vla2RheXM6InpvbmRhZ19tYWFuZGFnX2RpbnNkYWdfd29lbnNkYWdfZG9u''@;'; put 'put ''ZGVyZGFnX3ZyaWpkYWdfemF0ZXJkYWciLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiem8uX21hLl9kaS5fd28uX2RvLl92ci5femEuIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJ6b19tYV9kaV93b19kb192cl96YSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0Rh''@;'; put 'put ''dGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQtTU0tWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkIEQgTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6Ilt2YW5kYWFnIG9tXSBMVCIsbmV4dERh''@;'; put 'put ''eToiW21vcmdlbiBvbV0gTFQiLG5leHRXZWVrOiJkZGRkIFtvbV0gTFQiLGxhc3REYXk6IltnaXN0ZXJlbiBvbV0gTFQiLGxhc3RXZWVrOiJbYWZnZWxvcGVuXSBkZGRkIFtvbV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Im92ZXIgJXMiLHBhc3Q6IiVzIGdlbGVk''@;'; put 'put ''ZW4iLHM6ImVlbiBwYWFyIHNlY29uZGVuIixzczoiJWQgc2Vjb25kZW4iLG06Ilx4ZTlceGU5biBtaW51dXQiLG1tOiIlZCBtaW51dGVuIixoOiJceGU5XHhlOW4gdXVyIixoaDoiJWQgdXVyIixkOiJceGU5XHhlOW4gZGFnIixkZDoiJWQgZGFnZW4iLHc6Ilx4ZTlceGU5biB3ZWVrIix3dzoi''@;'; put 'put ''JWQgd2VrZW4iLE06Ilx4ZTlceGU5biBtYWFuZCIsTU06IiVkIG1hYW5kZW4iLHk6Ilx4ZTlceGU5biBqYWFyIix5eToiJWQgamFhciJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oc3RlfGRlKS8sb3JkaW5hbDpmdW5jdGlvbihqKXtyZXR1cm4gaisoMT09PWp8fDg9PT1qfHxq''@;'; put 'put ''Pj0yMD8ic3RlIjoiZGUiKX0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMjQ4NjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJubiIse21vbnRoczoiamFudWFyX2ZlYnJ1YXJfbWFyc19hcHJpbF9tYWlfanVu''@;'; put 'put ''aV9qdWxpX2F1Z3VzdF9zZXB0ZW1iZXJfb2t0b2Jlcl9ub3ZlbWJlcl9kZXNlbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFuLl9mZWIuX21hcnNfYXByLl9tYWlfanVuaV9qdWxpX2F1Zy5fc2VwLl9va3QuX25vdi5fZGVzLiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEw''@;'; put 'put ''LHdlZWtkYXlzOiJzdW5kYWdfbVx4ZTVuZGFnX3R5c2RhZ19vbnNkYWdfdG9yc2RhZ19mcmVkYWdfbGF1cmRhZyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJzdS5fbVx4ZTUuX3R5Ll9vbi5fdG8uX2ZyLl9sYXUuIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJzdV9tXHhlNV90eV9vbl90''@;'; put 'put ''b19mcl9sYSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQuIE1NTU0gWVlZWSIsTExMOiJELiBNTU1NIFlZWVkgW2tsLl0gSDptbSIsTExMTDoiZGRkZCBELiBNTU1N''@;'; put 'put ''IFlZWVkgW2tsLl0gSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0kgZGFnIGtsb2trYV0gTFQiLG5leHREYXk6IltJIG1vcmdvbiBrbG9ra2FdIExUIixuZXh0V2VlazoiZGRkZCBba2xva2thXSBMVCIsbGFzdERheToiW0kgZ1x4ZTVyIGtsb2trYV0gTFQiLGxhc3RXZWVrOiJbRlx4Zjhy''@;'; put 'put ''ZWdceGU1YW5kZV0gZGRkZCBba2xva2thXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToib20gJXMiLHBhc3Q6IiVzIHNpZGFuIixzOiJub2tyZSBzZWt1bmQiLHNzOiIlZCBzZWt1bmQiLG06ImVpdCBtaW51dHQiLG1tOiIlZCBtaW51dHQiLGg6ImVpbiB0aW1lIixo''@;'; put 'put ''aDoiJWQgdGltYXIiLGQ6ImVpbiBkYWciLGRkOiIlZCBkYWdhciIsdzoiZWkgdmVrZSIsd3c6IiVkIHZla2VyIixNOiJlaW4gbVx4ZTVuYWQiLE1NOiIlZCBtXHhlNW5hZGVyIix5OiJlaXQgXHhlNXIiLHl5OiIlZCBceGU1ciJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1cLi8s''@;'; put 'put ''b3JkaW5hbDoiJWQuIix3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw2MjE5OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoIm9jLWxuYyIse21vbnRoczp7c3RhbmRhbG9uZToiZ2VuaVx4ZThyX2ZlYnJpXHhlOHJf''@;'; put 'put ''bWFyXHhlN19hYnJpbF9tYWlfanVuaF9qdWxoZXRfYWdvc3Rfc2V0ZW1icmVfb2N0XHhmMmJyZV9ub3ZlbWJyZV9kZWNlbWJyZSIuc3BsaXQoIl8iKSxmb3JtYXQ6ImRlIGdlbmlceGU4cl9kZSBmZWJyaVx4ZThyX2RlIG1hclx4ZTdfZCdhYnJpbF9kZSBtYWlfZGUganVuaF9kZSBqdWxoZXRf''@;'; put 'put ''ZCdhZ29zdF9kZSBzZXRlbWJyZV9kJ29jdFx4ZjJicmVfZGUgbm92ZW1icmVfZGUgZGVjZW1icmUiLnNwbGl0KCJfIiksaXNGb3JtYXQ6L0Rbb0RdPyhccykrTU1NTS99LG1vbnRoc1Nob3J0OiJnZW4uX2ZlYnIuX21hclx4ZTdfYWJyLl9tYWlfanVuaF9qdWxoLl9hZ28uX3NldC5fb2N0Ll9u''@;'; put 'put ''b3YuX2RlYy4iLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czoiZGltZW5nZV9kaWx1bnNfZGltYXJzX2RpbVx4ZThjcmVzX2Rpalx4ZjJ1c19kaXZlbmRyZXNfZGlzc2FidGUiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiZGcuX2RsLl9kbS5fZGMuX2RqLl9kdi5f''@;'; put 'put ''ZHMuIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJkZ19kbF9kbV9kY19kal9kdl9kcyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJIOm1tIixMVFM6Ikg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gW2RlXSBZWVlZIixsbDoi''@;'; put 'put ''RCBNTU0gWVlZWSIsTExMOiJEIE1NTU0gW2RlXSBZWVlZIFthXSBIOm1tIixsbGw6IkQgTU1NIFlZWVksIEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFtkZV0gWVlZWSBbYV0gSDptbSIsbGxsbDoiZGRkIEQgTU1NIFlZWVksIEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW3VceGU4aSBhXSBM''@;'; put 'put ''VCIsbmV4dERheToiW2RlbWFuIGFdIExUIixuZXh0V2VlazoiZGRkZCBbYV0gTFQiLGxhc3REYXk6IltpXHhlOHIgYV0gTFQiLGxhc3RXZWVrOiJkZGRkIFtwYXNzYXQgYV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6ImQnYXF1XHhlZCAlcyIscGFzdDoiZmEgJXMi''@;'; put 'put ''LHM6InVuYXMgc2Vnb25kYXMiLHNzOiIlZCBzZWdvbmRhcyIsbToidW5hIG1pbnV0YSIsbW06IiVkIG1pbnV0YXMiLGg6InVuYSBvcmEiLGhoOiIlZCBvcmFzIixkOiJ1biBqb3JuIixkZDoiJWQgam9ybnMiLE06InVuIG1lcyIsTU06IiVkIG1lc2VzIix5OiJ1biBhbiIseXk6IiVkIGFucyJ9''@;'; put 'put ''LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0ocnxufHR8XHhlOHxhKS8sb3JkaW5hbDpmdW5jdGlvbihnZSxoZSl7dmFyIFo9MT09PWdlPyJyIjoyPT09Z2U/Im4iOjM9PT1nZT8iciI6ND09PWdlPyJ0IjoiXHhlOCI7cmV0dXJuKCJ3Ij09PWhlfHwiVyI9PT1oZSkmJihaPSJhIiks''@;'; put 'put ''Z2UrWn0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMjgyOTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXsxOiJcdTBhNjciLDI6Ilx1MGE2OCIsMzoiXHUwYTY5Iiw0OiJcdTBhNmEiLDU6Ilx1MGE2YiIsNjoiXHUwYTZjIiw3''@;'; put 'put ''OiJcdTBhNmQiLDg6Ilx1MGE2ZSIsOToiXHUwYTZmIiwwOiJcdTBhNjYifSxnZT17Ilx1MGE2NyI6IjEiLCJcdTBhNjgiOiIyIiwiXHUwYTY5IjoiMyIsIlx1MGE2YSI6IjQiLCJcdTBhNmIiOiI1IiwiXHUwYTZjIjoiNiIsIlx1MGE2ZCI6IjciLCJcdTBhNmUiOiI4IiwiXHUwYTZmIjoiOSIs''@;'; put 'put ''Ilx1MGE2NiI6IjAifTtDZS5kZWZpbmVMb2NhbGUoInBhLWluIix7bW9udGhzOiJcdTBhMWNcdTBhMjhcdTBhMzVcdTBhMzBcdTBhNDBfXHUwYTJiXHUwYTNjXHUwYTMwXHUwYTM1XHUwYTMwXHUwYTQwX1x1MGEyZVx1MGEzZVx1MGEzMFx1MGExYV9cdTBhMDVcdTBhMmFcdTBhNGRcdTBhMzBc''@;'; put 'put ''dTBhNDhcdTBhMzJfXHUwYTJlXHUwYTA4X1x1MGExY1x1MGE0Mlx1MGEyOF9cdTBhMWNcdTBhNDFcdTBhMzJcdTBhM2VcdTBhMDhfXHUwYTA1XHUwYTE3XHUwYTM4XHUwYTI0X1x1MGEzOFx1MGEyNFx1MGE3MFx1MGEyY1x1MGEzMF9cdTBhMDVcdTBhMTVcdTBhMjRcdTBhNDJcdTBhMmNcdTBh''@;'; put 'put ''MzBfXHUwYTI4XHUwYTM1XHUwYTcwXHUwYTJjXHUwYTMwX1x1MGEyNlx1MGEzOFx1MGE3MFx1MGEyY1x1MGEzMCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwYTFjXHUwYTI4XHUwYTM1XHUwYTMwXHUwYTQwX1x1MGEyYlx1MGEzY1x1MGEzMFx1MGEzNVx1MGEzMFx1MGE0MF9cdTBhMmVc''@;'; put 'put ''dTBhM2VcdTBhMzBcdTBhMWFfXHUwYTA1XHUwYTJhXHUwYTRkXHUwYTMwXHUwYTQ4XHUwYTMyX1x1MGEyZVx1MGEwOF9cdTBhMWNcdTBhNDJcdTBhMjhfXHUwYTFjXHUwYTQxXHUwYTMyXHUwYTNlXHUwYTA4X1x1MGEwNVx1MGExN1x1MGEzOFx1MGEyNF9cdTBhMzhcdTBhMjRcdTBhNzBcdTBh''@;'; put 'put ''MmNcdTBhMzBfXHUwYTA1XHUwYTE1XHUwYTI0XHUwYTQyXHUwYTJjXHUwYTMwX1x1MGEyOFx1MGEzNVx1MGE3MFx1MGEyY1x1MGEzMF9cdTBhMjZcdTBhMzhcdTBhNzBcdTBhMmNcdTBhMzAiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MGExMFx1MGEyNFx1MGEzNVx1MGEzZVx1MGEzMF9cdTBh''@;'; put 'put ''MzhcdTBhNGJcdTBhMmVcdTBhMzVcdTBhM2VcdTBhMzBfXHUwYTJlXHUwYTcwXHUwYTE3XHUwYTMyXHUwYTM1XHUwYTNlXHUwYTMwX1x1MGEyY1x1MGE0MVx1MGEyN1x1MGEzNVx1MGEzZVx1MGEzMF9cdTBhMzVcdTBhNDBcdTBhMzBcdTBhMzVcdTBhM2VcdTBhMzBfXHUwYTM4XHUwYTNjXHUw''@;'; put 'put ''YTQxXHUwYTcxXHUwYTE1XHUwYTMwXHUwYTM1XHUwYTNlXHUwYTMwX1x1MGEzOFx1MGEzY1x1MGEyOFx1MGE0MFx1MGExYVx1MGEzMFx1MGEzNVx1MGEzZVx1MGEzMCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTBhMTBcdTBhMjRfXHUwYTM4XHUwYTRiXHUwYTJlX1x1MGEyZVx1MGE3''@;'; put 'put ''MFx1MGExN1x1MGEzMl9cdTBhMmNcdTBhNDFcdTBhMjdfXHUwYTM1XHUwYTQwXHUwYTMwX1x1MGEzOFx1MGEzY1x1MGE0MVx1MGExNVx1MGEzMF9cdTBhMzhcdTBhM2NcdTBhMjhcdTBhNDAiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MGExMFx1MGEyNF9cdTBhMzhcdTBhNGJcdTBhMmVf''@;'; put 'put ''XHUwYTJlXHUwYTcwXHUwYTE3XHUwYTMyX1x1MGEyY1x1MGE0MVx1MGEyN19cdTBhMzVcdTBhNDBcdTBhMzBfXHUwYTM4XHUwYTNjXHUwYTQxXHUwYTE1XHUwYTMwX1x1MGEzOFx1MGEzY1x1MGEyOFx1MGE0MCIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkEgaDptbSBcdTBhMzVc''@;'; put 'put ''dTBhMWNcdTBhNDciLExUUzoiQSBoOm1tOnNzIFx1MGEzNVx1MGExY1x1MGE0NyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZLCBBIGg6bW0gXHUwYTM1XHUwYTFjXHUwYTQ3IixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSwgQSBoOm1tIFx1MGEzNVx1''@;'; put 'put ''MGExY1x1MGE0NyJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwYTA1XHUwYTFjXSBMVCIsbmV4dERheToiW1x1MGExNVx1MGEzMl0gTFQiLG5leHRXZWVrOiJbXHUwYTA1XHUwYTE3XHUwYTMyXHUwYTNlXSBkZGRkLCBMVCIsbGFzdERheToiW1x1MGExNVx1MGEzMl0gTFQiLGxhc3RXZWVrOiJb''@;'; put 'put ''XHUwYTJhXHUwYTNmXHUwYTFiXHUwYTMyXHUwYTQ3XSBkZGRkLCBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHUwYTM1XHUwYTNmXHUwYTcxXHUwYTFhIixwYXN0OiIlcyBcdTBhMmFcdTBhM2ZcdTBhMWJcdTBhMzJcdTBhNDciLHM6Ilx1MGExNVx1MGE0MVx1''@;'; put 'put ''MGExZCBcdTBhMzhcdTBhMTVcdTBhM2ZcdTBhNzBcdTBhMWYiLHNzOiIlZCBcdTBhMzhcdTBhMTVcdTBhM2ZcdTBhNzBcdTBhMWYiLG06Ilx1MGEwN1x1MGExNSBcdTBhMmVcdTBhM2ZcdTBhNzBcdTBhMWYiLG1tOiIlZCBcdTBhMmVcdTBhM2ZcdTBhNzBcdTBhMWYiLGg6Ilx1MGEwN1x1MGE3''@;'; put 'put ''MVx1MGExNSBcdTBhMThcdTBhNzBcdTBhMWZcdTBhM2UiLGhoOiIlZCBcdTBhMThcdTBhNzBcdTBhMWZcdTBhNDciLGQ6Ilx1MGEwN1x1MGE3MVx1MGExNSBcdTBhMjZcdTBhM2ZcdTBhMjgiLGRkOiIlZCBcdTBhMjZcdTBhM2ZcdTBhMjgiLE06Ilx1MGEwN1x1MGE3MVx1MGExNSBcdTBhMmVc''@;'; put 'put ''dTBhMzlcdTBhNDBcdTBhMjhcdTBhM2UiLE1NOiIlZCBcdTBhMmVcdTBhMzlcdTBhNDBcdTBhMjhcdTBhNDciLHk6Ilx1MGEwN1x1MGE3MVx1MGExNSBcdTBhMzhcdTBhM2VcdTBhMzIiLHl5OiIlZCBcdTBhMzhcdTBhM2VcdTBhMzIifSxwcmVwYXJzZTpmdW5jdGlvbihaKXtyZXR1cm4gWi5y''@;'; put 'put ''ZXBsYWNlKC9bXHUwYTY3XHUwYTY4XHUwYTY5XHUwYTZhXHUwYTZiXHUwYTZjXHUwYTZkXHUwYTZlXHUwYTZmXHUwYTY2XS9nLGZ1bmN0aW9uKEEpe3JldHVybiBnZVtBXX0pfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1xkL2csZnVuY3Rpb24oQSl7cmV0dXJu''@;'; put 'put ''IG9lW0FdfSl9LG1lcmlkaWVtUGFyc2U6L1x1MGEzMFx1MGEzZVx1MGEyNHxcdTBhMzhcdTBhMzVcdTBhNDdcdTBhMzB8XHUwYTI2XHUwYTQxXHUwYTJhXHUwYTM5XHUwYTNmXHUwYTMwfFx1MGEzOFx1MGEzY1x1MGEzZVx1MGEyZS8sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKFosQSl7cmV0dXJu''@;'; put 'put ''IDEyPT09WiYmKFo9MCksIlx1MGEzMFx1MGEzZVx1MGEyNCI9PT1BP1o8ND9aOlorMTI6Ilx1MGEzOFx1MGEzNVx1MGE0N1x1MGEzMCI9PT1BP1o6Ilx1MGEyNlx1MGE0MVx1MGEyYVx1MGEzOVx1MGEzZlx1MGEzMCI9PT1BP1o+PTEwP1o6WisxMjoiXHUwYTM4XHUwYTNjXHUwYTNlXHUwYTJl''@;'; put 'put ''Ij09PUE/WisxMjp2b2lkIDB9LG1lcmlkaWVtOmZ1bmN0aW9uKFosQSxqKXtyZXR1cm4gWjw0PyJcdTBhMzBcdTBhM2VcdTBhMjQiOlo8MTA/Ilx1MGEzOFx1MGEzNVx1MGE0N1x1MGEzMCI6WjwxNz8iXHUwYTI2XHUwYTQxXHUwYTJhXHUwYTM5XHUwYTNmXHUwYTMwIjpaPDIwPyJcdTBhMzhc''@;'; put 'put ''dTBhM2NcdTBhM2VcdTBhMmUiOiJcdTBhMzBcdTBhM2VcdTBhMjQifSx3ZWVrOntkb3c6MCxkb3k6Nn19KX0oRmUoNjczOCkpfSw4NDQ0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9InN0eWN6ZVx1MDE0NF9sdXR5X21hcnplY19rd2llY2ll''@;'; put 'put ''XHUwMTQ0X21hal9jemVyd2llY19saXBpZWNfc2llcnBpZVx1MDE0NF93cnplc2llXHUwMTQ0X3BhXHUwMTdhZHppZXJuaWtfbGlzdG9wYWRfZ3J1ZHppZVx1MDE0NCIuc3BsaXQoIl8iKSxnZT0ic3R5Y3puaWFfbHV0ZWdvX21hcmNhX2t3aWV0bmlhX21hamFfY3plcndjYV9saXBjYV9zaWVy''@;'; put 'put ''cG5pYV93cnplXHUwMTVibmlhX3BhXHUwMTdhZHppZXJuaWthX2xpc3RvcGFkYV9ncnVkbmlhIi5zcGxpdCgiXyIpLGhlPVsvXnN0eS9pLC9ebHV0L2ksL15tYXIvaSwvXmt3aS9pLC9ebWFqL2ksL15jemUvaSwvXmxpcC9pLC9ec2llL2ksL153cnovaSwvXnBhXHUwMTdhL2ksL15saXMvaSwv''@;'; put 'put ''XmdydS9pXTtmdW5jdGlvbiBaKE4pe3JldHVybiBOJTEwPDUmJk4lMTA+MSYmfn4oTi8xMCklMTAhPTF9ZnVuY3Rpb24gQShOLHosQyl7dmFyIFM9TisiICI7c3dpdGNoKEMpe2Nhc2Uic3MiOnJldHVybiBTKyhaKE4pPyJzZWt1bmR5Ijoic2VrdW5kIik7Y2FzZSJtIjpyZXR1cm4gej8ibWlu''@;'; put 'put ''dXRhIjoibWludXRcdTAxMTkiO2Nhc2UibW0iOnJldHVybiBTKyhaKE4pPyJtaW51dHkiOiJtaW51dCIpO2Nhc2UiaCI6cmV0dXJuIHo/ImdvZHppbmEiOiJnb2R6aW5cdTAxMTkiO2Nhc2UiaGgiOnJldHVybiBTKyhaKE4pPyJnb2R6aW55IjoiZ29kemluIik7Y2FzZSJ3dyI6cmV0dXJuIFMr''@;'; put 'put ''KFooTik/InR5Z29kbmllIjoidHlnb2RuaSIpO2Nhc2UiTU0iOnJldHVybiBTKyhaKE4pPyJtaWVzaVx1MDEwNWNlIjoibWllc2lcdTAxMTljeSIpO2Nhc2UieXkiOnJldHVybiBTKyhaKE4pPyJsYXRhIjoibGF0Iil9fUNlLmRlZmluZUxvY2FsZSgicGwiLHttb250aHM6ZnVuY3Rpb24oTix6''@;'; put 'put ''KXtyZXR1cm4gTj8vRCBNTU1NLy50ZXN0KHopP2dlW04ubW9udGgoKV06b2VbTi5tb250aCgpXTpvZX0sbW9udGhzU2hvcnQ6InN0eV9sdXRfbWFyX2t3aV9tYWpfY3plX2xpcF9zaWVfd3J6X3BhXHUwMTdhX2xpc19ncnUiLnNwbGl0KCJfIiksbW9udGhzUGFyc2U6aGUsbG9uZ01vbnRoc1Bh''@;'; put 'put ''cnNlOmhlLHNob3J0TW9udGhzUGFyc2U6aGUsd2Vla2RheXM6Im5pZWR6aWVsYV9wb25pZWR6aWFcdTAxNDJla193dG9yZWtfXHUwMTVicm9kYV9jendhcnRla19waVx1MDEwNXRla19zb2JvdGEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoibmR6X3Bvbl93dF9cdTAxNWJyX2N6d19wdF9z''@;'; put 'put ''b2IiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ik5kX1BuX1d0X1x1MDE1YXJfQ3pfUHRfU28iLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixM''@;'; put 'put ''TExMOiJkZGRkLCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbRHppXHUwMTViIG9dIExUIixuZXh0RGF5OiJbSnV0cm8gb10gTFQiLG5leHRXZWVrOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuZGF5KCkpe2Nhc2UgMDpyZXR1cm4iW1cgbmllZHppZWxcdTAxMTkgb10g''@;'; put 'put ''TFQiO2Nhc2UgMjpyZXR1cm4iW1dlIHd0b3JlayBvXSBMVCI7Y2FzZSAzOnJldHVybiJbVyBcdTAxNWJyb2RcdTAxMTkgb10gTFQiO2Nhc2UgNjpyZXR1cm4iW1cgc29ib3RcdTAxMTkgb10gTFQiO2RlZmF1bHQ6cmV0dXJuIltXXSBkZGRkIFtvXSBMVCJ9fSxsYXN0RGF5OiJbV2N6b3JhaiBv''@;'; put 'put ''XSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5kYXkoKSl7Y2FzZSAwOnJldHVybiJbVyB6ZXN6XHUwMTQyXHUwMTA1IG5pZWR6aWVsXHUwMTE5IG9dIExUIjtjYXNlIDM6cmV0dXJuIltXIHplc3pcdTAxNDJcdTAxMDUgXHUwMTVicm9kXHUwMTE5IG9dIExUIjtjYXNlIDY6''@;'; put 'put ''cmV0dXJuIltXIHplc3pcdTAxNDJcdTAxMDUgc29ib3RcdTAxMTkgb10gTFQiO2RlZmF1bHQ6cmV0dXJuIltXIHplc3pcdTAxNDJ5XSBkZGRkIFtvXSBMVCJ9fSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJ6YSAlcyIscGFzdDoiJXMgdGVtdSIsczoia2lsa2Egc2VrdW5k''@;'; put 'put ''IixzczpBLG06QSxtbTpBLGg6QSxoaDpBLGQ6IjEgZHppZVx1MDE0NCIsZGQ6IiVkIGRuaSIsdzoidHlkemllXHUwMTQ0Iix3dzpBLE06Im1pZXNpXHUwMTA1YyIsTU06QSx5OiJyb2siLHl5OkF9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1cLi8sb3JkaW5hbDoiJWQuIix3ZWVr''@;'; put 'put ''Ontkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw2MTE3OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInB0LWJyIix7bW9udGhzOiJqYW5laXJvX2ZldmVyZWlyb19tYXJceGU3b19hYnJpbF9tYWlvX2p1bmhvX2p1bGhvX2Fn''@;'; put 'put ''b3N0b19zZXRlbWJyb19vdXR1YnJvX25vdmVtYnJvX2RlemVtYnJvIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJqYW5fZmV2X21hcl9hYnJfbWFpX2p1bl9qdWxfYWdvX3NldF9vdXRfbm92X2RleiIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiZG9taW5nb19zZWd1bmRhLWZlaXJhX3Rlclx4ZTdh''@;'; put 'put ''LWZlaXJhX3F1YXJ0YS1mZWlyYV9xdWludGEtZmVpcmFfc2V4dGEtZmVpcmFfc1x4ZTFiYWRvIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6ImRvbV9zZWdfdGVyX3F1YV9xdWlfc2V4X3NceGUxYiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiZG9fMlx4YWFfM1x4YWFfNFx4YWFfNVx4YWFf''@;'; put 'put ''Nlx4YWFfc1x4ZTEiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIFtkZV0gTU1NTSBbZGVdIFlZWVkiLExMTDoiRCBbZGVdIE1NTU0gW2RlXSBZWVlZIFtceGUwc10g''@;'; put 'put ''SEg6bW0iLExMTEw6ImRkZGQsIEQgW2RlXSBNTU1NIFtkZV0gWVlZWSBbXHhlMHNdIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltIb2plIFx4ZTBzXSBMVCIsbmV4dERheToiW0FtYW5oXHhlMyBceGUwc10gTFQiLG5leHRXZWVrOiJkZGRkIFtceGUwc10gTFQiLGxhc3REYXk6IltPbnRl''@;'; put 'put ''bSBceGUwc10gTFQiLGxhc3RXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLmRheSgpfHw2PT09dGhpcy5kYXkoKT8iW1x4ZGFsdGltb10gZGRkZCBbXHhlMHNdIExUIjoiW1x4ZGFsdGltYV0gZGRkZCBbXHhlMHNdIExUIn0sc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVy''@;'; put 'put ''ZToiZW0gJXMiLHBhc3Q6ImhceGUxICVzIixzOiJwb3Vjb3Mgc2VndW5kb3MiLHNzOiIlZCBzZWd1bmRvcyIsbToidW0gbWludXRvIixtbToiJWQgbWludXRvcyIsaDoidW1hIGhvcmEiLGhoOiIlZCBob3JhcyIsZDoidW0gZGlhIixkZDoiJWQgZGlhcyIsTToidW0gbVx4ZWFzIixNTToiJWQg''@;'; put 'put ''bWVzZXMiLHk6InVtIGFubyIseXk6IiVkIGFub3MifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XHhiYS8sb3JkaW5hbDoiJWRceGJhIixpbnZhbGlkRGF0ZToiRGF0YSBpbnZceGUxbGlkYSJ9KX0oRmUoNjczOCkpfSwzMTcwOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24o''@;'; put 'put ''Q2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInB0Iix7bW9udGhzOiJqYW5laXJvX2ZldmVyZWlyb19tYXJceGU3b19hYnJpbF9tYWlvX2p1bmhvX2p1bGhvX2Fnb3N0b19zZXRlbWJyb19vdXR1YnJvX25vdmVtYnJvX2RlemVtYnJvIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJq''@;'; put 'put ''YW5fZmV2X21hcl9hYnJfbWFpX2p1bl9qdWxfYWdvX3NldF9vdXRfbm92X2RleiIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiRG9taW5nb19TZWd1bmRhLWZlaXJhX1Rlclx4ZTdhLWZlaXJhX1F1YXJ0YS1mZWlyYV9RdWludGEtZmVpcmFfU2V4dGEtZmVpcmFfU1x4ZTFiYWRvIi5zcGxpdCgiXyIp''@;'; put 'put ''LHdlZWtkYXlzU2hvcnQ6IkRvbV9TZWdfVGVyX1F1YV9RdWlfU2V4X1NceGUxYiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiRG9fMlx4YWFfM1x4YWFfNFx4YWFfNVx4YWFfNlx4YWFfU1x4ZTEiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoi''@;'; put 'put ''SEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIFtkZV0gTU1NTSBbZGVdIFlZWVkiLExMTDoiRCBbZGVdIE1NTU0gW2RlXSBZWVlZIEhIOm1tIixMTExMOiJkZGRkLCBEIFtkZV0gTU1NTSBbZGVdIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0hvamUg''@;'; put 'put ''XHhlMHNdIExUIixuZXh0RGF5OiJbQW1hbmhceGUzIFx4ZTBzXSBMVCIsbmV4dFdlZWs6ImRkZGQgW1x4ZTBzXSBMVCIsbGFzdERheToiW09udGVtIFx4ZTBzXSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuZGF5KCl8fDY9PT10aGlzLmRheSgpPyJbXHhkYWx0aW1v''@;'; put 'put ''XSBkZGRkIFtceGUwc10gTFQiOiJbXHhkYWx0aW1hXSBkZGRkIFtceGUwc10gTFQifSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJlbSAlcyIscGFzdDoiaFx4ZTEgJXMiLHM6InNlZ3VuZG9zIixzczoiJWQgc2VndW5kb3MiLG06InVtIG1pbnV0byIsbW06IiVkIG1pbnV0''@;'; put 'put ''b3MiLGg6InVtYSBob3JhIixoaDoiJWQgaG9yYXMiLGQ6InVtIGRpYSIsZGQ6IiVkIGRpYXMiLHc6InVtYSBzZW1hbmEiLHd3OiIlZCBzZW1hbmFzIixNOiJ1bSBtXHhlYXMiLE1NOiIlZCBtZXNlcyIseToidW0gYW5vIix5eToiJWQgYW5vcyJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xk''@;'; put 'put ''ezEsMn1ceGJhLyxvcmRpbmFsOiIlZFx4YmEiLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDY1ODc6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG9lKGhlLFosQSl7dmFyIE49IiAiO3JldHVybihoZSUxMDA+PTIwfHxoZT49''@;'; put 'put ''MTAwJiZoZSUxMDA9PTApJiYoTj0iIGRlICIpLGhlK04re3NzOiJzZWN1bmRlIixtbToibWludXRlIixoaDoib3JlIixkZDoiemlsZSIsd3c6InNcdTAxMDNwdFx1MDEwM21ceGUybmkiLE1NOiJsdW5pIix5eToiYW5pIn1bQV19Q2UuZGVmaW5lTG9jYWxlKCJybyIse21vbnRoczoiaWFudWFy''@;'; put 'put ''aWVfZmVicnVhcmllX21hcnRpZV9hcHJpbGllX21haV9pdW5pZV9pdWxpZV9hdWd1c3Rfc2VwdGVtYnJpZV9vY3RvbWJyaWVfbm9pZW1icmllX2RlY2VtYnJpZSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiaWFuLl9mZWIuX21hcnQuX2Fwci5fbWFpX2l1bi5faXVsLl9hdWcuX3NlcHQuX29j''@;'; put 'put ''dC5fbm92Ll9kZWMuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6ImR1bWluaWNcdTAxMDNfbHVuaV9tYXJcdTAyMWJpX21pZXJjdXJpX2pvaV92aW5lcmlfc1x4ZTJtYlx1MDEwM3RcdTAxMDMiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiRHVtX0x1bl9NYXJf''@;'; put 'put ''TWllX0pvaV9WaW5fU1x4ZTJtIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJEdV9MdV9NYV9NaV9Kb19WaV9TXHhlMiIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6Ikg6bW0iLExUUzoiSDptbTpzcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZ''@;'; put 'put ''WVlZIEg6bW0iLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW2F6aSBsYV0gTFQiLG5leHREYXk6IlttXHhlMmluZSBsYV0gTFQiLG5leHRXZWVrOiJkZGRkIFtsYV0gTFQiLGxhc3REYXk6IltpZXJpIGxhXSBMVCIsbGFzdFdlZWs6Iltmb3N0YV0g''@;'; put 'put ''ZGRkZCBbbGFdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJwZXN0ZSAlcyIscGFzdDoiJXMgXHhlZW4gdXJtXHUwMTAzIixzOiJjXHhlMnRldmEgc2VjdW5kZSIsc3M6b2UsbToidW4gbWludXQiLG1tOm9lLGg6Im8gb3JcdTAxMDMiLGhoOm9lLGQ6Im8gemkiLGRk''@;'; put 'put ''Om9lLHc6Im8gc1x1MDEwM3B0XHUwMTAzbVx4ZTJuXHUwMTAzIix3dzpvZSxNOiJvIGx1blx1MDEwMyIsTU06b2UseToidW4gYW4iLHl5Om9lfSx3ZWVrOntkb3c6MSxkb3k6N319KX0oRmUoNjczOCkpfSw5MjY0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0''@;'; put 'put ''IjtmdW5jdGlvbiBnZShBLGosTil7cmV0dXJuIm0iPT09Tj9qPyJcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzAiOiJcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NDMiOkErIiAiK2Z1bmN0aW9uIG9lKEEsail7dmFyIE49QS5zcGxpdCgiXyIpO3JldHVybiBq''@;'; put 'put ''JTEwPT0xJiZqJTEwMCE9MTE/TlswXTpqJTEwPj0yJiZqJTEwPD00JiYoaiUxMDA8MTB8fGolMTAwPj0yMCk/TlsxXTpOWzJdfSh7c3M6aj8iXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0XHUwNDMwX1x1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNFx1MDQ0''@;'; put 'put ''Yl9cdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzQiOiJcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0NDNfXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0XHUwNDRiX1x1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCIs''@;'; put 'put ''bW06aj8iXHUwNDNjXHUwNDM4XHUwNDNkXHUwNDQzXHUwNDQyXHUwNDMwX1x1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQ0Yl9cdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDIiOiJcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NDNfXHUwNDNjXHUwNDM4XHUw''@;'; put 'put ''NDNkXHUwNDQzXHUwNDQyXHUwNDRiX1x1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0MiIsaGg6Ilx1MDQ0N1x1MDQzMFx1MDQ0MV9cdTA0NDdcdTA0MzBcdTA0NDFcdTA0MzBfXHUwNDQ3XHUwNDMwXHUwNDQxXHUwNDNlXHUwNDMyIixkZDoiXHUwNDM0XHUwNDM1XHUwNDNkXHUwNDRjX1x1''@;'; put 'put ''MDQzNFx1MDQzZFx1MDQ0Zl9cdTA0MzRcdTA0M2RcdTA0MzVcdTA0MzkiLHd3OiJcdTA0M2RcdTA0MzVcdTA0MzRcdTA0MzVcdTA0M2JcdTA0NGZfXHUwNDNkXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDNiXHUwNDM4X1x1MDQzZFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQzYlx1MDQ0YyIsTU06Ilx1''@;'; put 'put ''MDQzY1x1MDQzNVx1MDQ0MVx1MDQ0Zlx1MDQ0Nl9cdTA0M2NcdTA0MzVcdTA0NDFcdTA0NGZcdTA0NDZcdTA0MzBfXHUwNDNjXHUwNDM1XHUwNDQxXHUwNDRmXHUwNDQ2XHUwNDM1XHUwNDMyIix5eToiXHUwNDMzXHUwNDNlXHUwNDM0X1x1MDQzM1x1MDQzZVx1MDQzNFx1MDQzMF9cdTA0M2Jc''@;'; put 'put ''dTA0MzVcdTA0NDIifVtOXSwrQSl9dmFyIGhlPVsvXlx1MDQ0Zlx1MDQzZFx1MDQzMi9pLC9eXHUwNDQ0XHUwNDM1XHUwNDMyL2ksL15cdTA0M2NcdTA0MzBcdTA0NDAvaSwvXlx1MDQzMFx1MDQzZlx1MDQ0MC9pLC9eXHUwNDNjXHUwNDMwW1x1MDQzOVx1MDQ0Zl0vaSwvXlx1MDQzOFx1MDQ0''@;'; put 'put ''ZVx1MDQzZC9pLC9eXHUwNDM4XHUwNDRlXHUwNDNiL2ksL15cdTA0MzBcdTA0MzJcdTA0MzMvaSwvXlx1MDQ0MVx1MDQzNVx1MDQzZC9pLC9eXHUwNDNlXHUwNDNhXHUwNDQyL2ksL15cdTA0M2RcdTA0M2VcdTA0NGYvaSwvXlx1MDQzNFx1MDQzNVx1MDQzYS9pXTtDZS5kZWZpbmVMb2NhbGUo''@;'; put 'put ''InJ1Iix7bW9udGhzOntmb3JtYXQ6Ilx1MDQ0Zlx1MDQzZFx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQ0Zl9cdTA0NDRcdTA0MzVcdTA0MzJcdTA0NDBcdTA0MzBcdTA0M2JcdTA0NGZfXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDMwX1x1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzYlx1''@;'; put 'put ''MDQ0Zl9cdTA0M2NcdTA0MzBcdTA0NGZfXHUwNDM4XHUwNDRlXHUwNDNkXHUwNDRmX1x1MDQzOFx1MDQ0ZVx1MDQzYlx1MDQ0Zl9cdTA0MzBcdTA0MzJcdTA0MzNcdTA0NDNcdTA0NDFcdTA0NDJcdTA0MzBfXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDRmXHUwNDMxXHUwNDQwXHUwNDRm''@;'; put 'put ''X1x1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1MDQ0MFx1MDQ0Zl9cdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBcdTA0NGZfXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDMwXHUwNDMxXHUwNDQwXHUwNDRmIi5zcGxpdCgiXyIpLHN0YW5kYWxvbmU6Ilx1MDQ0Zlx1MDQzZFx1MDQz''@;'; put 'put ''Mlx1MDQzMFx1MDQ0MFx1MDQ0Y19cdTA0NDRcdTA0MzVcdTA0MzJcdTA0NDBcdTA0MzBcdTA0M2JcdTA0NGNfXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyX1x1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQ0Y19cdTA0M2NcdTA0MzBcdTA0MzlfXHUwNDM4XHUwNDRlXHUwNDNkXHUw''@;'; put 'put ''NDRjX1x1MDQzOFx1MDQ0ZVx1MDQzYlx1MDQ0Y19cdTA0MzBcdTA0MzJcdTA0MzNcdTA0NDNcdTA0NDFcdTA0NDJfXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDRmXHUwNDMxXHUwNDQwXHUwNDRjX1x1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1MDQ0MFx1MDQ0Y19cdTA0M2Rc''@;'; put 'put ''dTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBcdTA0NGNfXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDMwXHUwNDMxXHUwNDQwXHUwNDRjIi5zcGxpdCgiXyIpfSxtb250aHNTaG9ydDp7Zm9ybWF0OiJcdTA0NGZcdTA0M2RcdTA0MzIuX1x1MDQ0NFx1MDQzNVx1MDQzMlx1MDQ0MC5fXHUwNDNjXHUwNDMw''@;'; put 'put ''XHUwNDQwLl9cdTA0MzBcdTA0M2ZcdTA0NDAuX1x1MDQzY1x1MDQzMFx1MDQ0Zl9cdTA0MzhcdTA0NGVcdTA0M2RcdTA0NGZfXHUwNDM4XHUwNDRlXHUwNDNiXHUwNDRmX1x1MDQzMFx1MDQzMlx1MDQzMy5fXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDQyLl9cdTA0M2VcdTA0M2FcdTA0NDIuX1x1''@;'; put 'put ''MDQzZFx1MDQzZVx1MDQ0Zlx1MDQzMS5fXHUwNDM0XHUwNDM1XHUwNDNhLiIuc3BsaXQoIl8iKSxzdGFuZGFsb25lOiJcdTA0NGZcdTA0M2RcdTA0MzIuX1x1MDQ0NFx1MDQzNVx1MDQzMlx1MDQ0MC5fXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyX1x1MDQzMFx1MDQzZlx1MDQ0MC5fXHUwNDNj''@;'; put 'put ''XHUwNDMwXHUwNDM5X1x1MDQzOFx1MDQ0ZVx1MDQzZFx1MDQ0Y19cdTA0MzhcdTA0NGVcdTA0M2JcdTA0NGNfXHUwNDMwXHUwNDMyXHUwNDMzLl9cdTA0NDFcdTA0MzVcdTA0M2RcdTA0NDIuX1x1MDQzZVx1MDQzYVx1MDQ0Mi5fXHUwNDNkXHUwNDNlXHUwNDRmXHUwNDMxLl9cdTA0MzRcdTA0''@;'; put 'put ''MzVcdTA0M2EuIi5zcGxpdCgiXyIpfSx3ZWVrZGF5czp7c3RhbmRhbG9uZToiXHUwNDMyXHUwNDNlXHUwNDQxXHUwNDNhXHUwNDQwXHUwNDM1XHUwNDQxXHUwNDM1XHUwNDNkXHUwNDRjXHUwNDM1X1x1MDQzZlx1MDQzZVx1MDQzZFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQzYlx1MDQ0Y1x1MDQz''@;'; put 'put ''ZFx1MDQzOFx1MDQzYV9cdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDBcdTA0M2RcdTA0MzhcdTA0M2FfXHUwNDQxXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwX1x1MDQ0N1x1MDQzNVx1MDQ0Mlx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzM19cdTA0M2ZcdTA0NGZcdTA0NDJcdTA0M2RcdTA0MzhcdTA0''@;'; put 'put ''NDZcdTA0MzBfXHUwNDQxXHUwNDQzXHUwNDMxXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDMwIi5zcGxpdCgiXyIpLGZvcm1hdDoiXHUwNDMyXHUwNDNlXHUwNDQxXHUwNDNhXHUwNDQwXHUwNDM1XHUwNDQxXHUwNDM1XHUwNDNkXHUwNDRjXHUwNDM1X1x1MDQzZlx1MDQzZVx1MDQzZFx1MDQzNVx1''@;'; put 'put ''MDQzNFx1MDQzNVx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzOFx1MDQzYV9cdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDBcdTA0M2RcdTA0MzhcdTA0M2FfXHUwNDQxXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDQzX1x1MDQ0N1x1MDQzNVx1MDQ0Mlx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzM19cdTA0M2Zc''@;'; put 'put ''dTA0NGZcdTA0NDJcdTA0M2RcdTA0MzhcdTA0NDZcdTA0NDNfXHUwNDQxXHUwNDQzXHUwNDMxXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDQzIi5zcGxpdCgiXyIpLGlzRm9ybWF0Oi9cWyA/W1x1MDQxMlx1MDQzMl0gPyg/Olx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0OFx1MDQzYlx1MDQ0M1x1MDQ0''@;'; put 'put ''ZXxcdTA0NDFcdTA0M2JcdTA0MzVcdTA0MzRcdTA0NDNcdTA0NGVcdTA0NDlcdTA0NDNcdTA0NGV8XHUwNDRkXHUwNDQyXHUwNDQzKT8gP10gP2RkZGQvfSx3ZWVrZGF5c1Nob3J0OiJcdTA0MzJcdTA0NDFfXHUwNDNmXHUwNDNkX1x1MDQzMlx1MDQ0Ml9cdTA0NDFcdTA0NDBfXHUwNDQ3XHUw''@;'; put 'put ''NDQyX1x1MDQzZlx1MDQ0Ml9cdTA0NDFcdTA0MzEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDQzMlx1MDQ0MV9cdTA0M2ZcdTA0M2RfXHUwNDMyXHUwNDQyX1x1MDQ0MVx1MDQ0MF9cdTA0NDdcdTA0NDJfXHUwNDNmXHUwNDQyX1x1MDQ0MVx1MDQzMSIuc3BsaXQoIl8iKSxtb250aHNQ''@;'; put 'put ''YXJzZTpoZSxsb25nTW9udGhzUGFyc2U6aGUsc2hvcnRNb250aHNQYXJzZTpoZSxtb250aHNSZWdleDovXihcdTA0NGZcdTA0M2RcdTA0MzJcdTA0MzBcdTA0NDBbXHUwNDRjXHUwNDRmXXxcdTA0NGZcdTA0M2RcdTA0MzJcLj98XHUwNDQ0XHUwNDM1XHUwNDMyXHUwNDQwXHUwNDMwXHUwNDNi''@;'; put 'put ''W1x1MDQ0Y1x1MDQ0Zl18XHUwNDQ0XHUwNDM1XHUwNDMyXHUwNDQwP1wuP3xcdTA0M2NcdTA0MzBcdTA0NDBcdTA0NDJcdTA0MzA/fFx1MDQzY1x1MDQzMFx1MDQ0MFwuP3xcdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0M2JbXHUwNDRjXHUwNDRmXXxcdTA0MzBcdTA0M2ZcdTA0NDBcLj98''@;'; put 'put ''XHUwNDNjXHUwNDMwW1x1MDQzOVx1MDQ0Zl18XHUwNDM4XHUwNDRlXHUwNDNkW1x1MDQ0Y1x1MDQ0Zl18XHUwNDM4XHUwNDRlXHUwNDNkXC4/fFx1MDQzOFx1MDQ0ZVx1MDQzYltcdTA0NGNcdTA0NGZdfFx1MDQzOFx1MDQ0ZVx1MDQzYlwuP3xcdTA0MzBcdTA0MzJcdTA0MzNcdTA0NDNcdTA0''@;'; put 'put ''NDFcdTA0NDJcdTA0MzA/fFx1MDQzMFx1MDQzMlx1MDQzM1wuP3xcdTA0NDFcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NGZcdTA0MzFcdTA0NDBbXHUwNDRjXHUwNDRmXXxcdTA0NDFcdTA0MzVcdTA0M2RcdTA0NDI/XC4/fFx1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1MDQ0MFtcdTA0''@;'; put 'put ''NGNcdTA0NGZdfFx1MDQzZVx1MDQzYVx1MDQ0MlwuP3xcdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBbXHUwNDRjXHUwNDRmXXxcdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzE/XC4/fFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQzMFx1MDQzMVx1MDQ0MFtcdTA0NGNcdTA0NGZdfFx1MDQzNFx1''@;'; put 'put ''MDQzNVx1MDQzYVwuPykvaSxtb250aHNTaG9ydFJlZ2V4Oi9eKFx1MDQ0Zlx1MDQzZFx1MDQzMlx1MDQzMFx1MDQ0MFtcdTA0NGNcdTA0NGZdfFx1MDQ0Zlx1MDQzZFx1MDQzMlwuP3xcdTA0NDRcdTA0MzVcdTA0MzJcdTA0NDBcdTA0MzBcdTA0M2JbXHUwNDRjXHUwNDRmXXxcdTA0NDRcdTA0''@;'; put 'put ''MzVcdTA0MzJcdTA0NDA/XC4/fFx1MDQzY1x1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQzMD98XHUwNDNjXHUwNDMwXHUwNDQwXC4/fFx1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzYltcdTA0NGNcdTA0NGZdfFx1MDQzMFx1MDQzZlx1MDQ0MFwuP3xcdTA0M2NcdTA0MzBbXHUwNDM5XHUwNDRm''@;'; put 'put ''XXxcdTA0MzhcdTA0NGVcdTA0M2RbXHUwNDRjXHUwNDRmXXxcdTA0MzhcdTA0NGVcdTA0M2RcLj98XHUwNDM4XHUwNDRlXHUwNDNiW1x1MDQ0Y1x1MDQ0Zl18XHUwNDM4XHUwNDRlXHUwNDNiXC4/fFx1MDQzMFx1MDQzMlx1MDQzM1x1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQzMD98XHUwNDMwXHUw''@;'; put 'put ''NDMyXHUwNDMzXC4/fFx1MDQ0MVx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1MDQ0MFtcdTA0NGNcdTA0NGZdfFx1MDQ0MVx1MDQzNVx1MDQzZFx1MDQ0Mj9cLj98XHUwNDNlXHUwNDNhXHUwNDQyXHUwNDRmXHUwNDMxXHUwNDQwW1x1MDQ0Y1x1MDQ0Zl18XHUwNDNlXHUwNDNhXHUw''@;'; put 'put ''NDQyXC4/fFx1MDQzZFx1MDQzZVx1MDQ0Zlx1MDQzMVx1MDQ0MFtcdTA0NGNcdTA0NGZdfFx1MDQzZFx1MDQzZVx1MDQ0Zlx1MDQzMT9cLj98XHUwNDM0XHUwNDM1XHUwNDNhXHUwNDMwXHUwNDMxXHUwNDQwW1x1MDQ0Y1x1MDQ0Zl18XHUwNDM0XHUwNDM1XHUwNDNhXC4/KS9pLG1vbnRoc1N0''@;'; put 'put ''cmljdFJlZ2V4Oi9eKFx1MDQ0Zlx1MDQzZFx1MDQzMlx1MDQzMFx1MDQ0MFtcdTA0NGZcdTA0NGNdfFx1MDQ0NFx1MDQzNVx1MDQzMlx1MDQ0MFx1MDQzMFx1MDQzYltcdTA0NGZcdTA0NGNdfFx1MDQzY1x1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQzMD98XHUwNDMwXHUwNDNmXHUwNDQwXHUwNDM1''@;'; put 'put ''XHUwNDNiW1x1MDQ0Zlx1MDQ0Y118XHUwNDNjXHUwNDMwW1x1MDQ0Zlx1MDQzOV18XHUwNDM4XHUwNDRlXHUwNDNkW1x1MDQ0Zlx1MDQ0Y118XHUwNDM4XHUwNDRlXHUwNDNiW1x1MDQ0Zlx1MDQ0Y118XHUwNDMwXHUwNDMyXHUwNDMzXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDMwP3xcdTA0NDFc''@;'; put 'put ''dTA0MzVcdTA0M2RcdTA0NDJcdTA0NGZcdTA0MzFcdTA0NDBbXHUwNDRmXHUwNDRjXXxcdTA0M2VcdTA0M2FcdTA0NDJcdTA0NGZcdTA0MzFcdTA0NDBbXHUwNDRmXHUwNDRjXXxcdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBbXHUwNDRmXHUwNDRjXXxcdTA0MzRcdTA0MzVcdTA0M2Fc''@;'; put 'put ''dTA0MzBcdTA0MzFcdTA0NDBbXHUwNDRmXHUwNDRjXSkvaSxtb250aHNTaG9ydFN0cmljdFJlZ2V4Oi9eKFx1MDQ0Zlx1MDQzZFx1MDQzMlwufFx1MDQ0NFx1MDQzNVx1MDQzMlx1MDQ0MD9cLnxcdTA0M2NcdTA0MzBcdTA0NDBbXHUwNDQyLl18XHUwNDMwXHUwNDNmXHUwNDQwXC58XHUwNDNj''@;'; put 'put ''XHUwNDMwW1x1MDQ0Zlx1MDQzOV18XHUwNDM4XHUwNDRlXHUwNDNkW1x1MDQ0Y1x1MDQ0Zi5dfFx1MDQzOFx1MDQ0ZVx1MDQzYltcdTA0NGNcdTA0NGYuXXxcdTA0MzBcdTA0MzJcdTA0MzNcLnxcdTA0NDFcdTA0MzVcdTA0M2RcdTA0NDI/XC58XHUwNDNlXHUwNDNhXHUwNDQyXC58XHUwNDNk''@;'; put 'put ''XHUwNDNlXHUwNDRmXHUwNDMxP1wufFx1MDQzNFx1MDQzNVx1MDQzYVwuKS9pLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRCBNTU1NIFlZWVkgXHUwNDMzLiIsTExMOiJEIE1NTU0gWVlZWSBcdTA0MzMuLCBIOm1tIixMTExMOiJk''@;'; put 'put ''ZGRkLCBEIE1NTU0gWVlZWSBcdTA0MzMuLCBIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA0MjFcdTA0MzVcdTA0MzNcdTA0M2VcdTA0MzRcdTA0M2RcdTA0NGYsIFx1MDQzMl0gTFQiLG5leHREYXk6IltcdTA0MTdcdTA0MzBcdTA0MzJcdTA0NDJcdTA0NDBcdTA0MzAsIFx1MDQzMl0g''@;'; put 'put ''TFQiLGxhc3REYXk6IltcdTA0MTJcdTA0NDdcdTA0MzVcdTA0NDBcdTA0MzAsIFx1MDQzMl0gTFQiLG5leHRXZWVrOmZ1bmN0aW9uKEEpe2lmKEEud2VlaygpPT09dGhpcy53ZWVrKCkpcmV0dXJuIDI9PT10aGlzLmRheSgpPyJbXHUwNDEyXHUwNDNlXSBkZGRkLCBbXHUwNDMyXSBMVCI6Iltc''@;'; put 'put ''dTA0MTJdIGRkZGQsIFtcdTA0MzJdIExUIjtzd2l0Y2godGhpcy5kYXkoKSl7Y2FzZSAwOnJldHVybiJbXHUwNDEyIFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNFx1MDQ0M1x1MDQ0ZVx1MDQ0OVx1MDQzNVx1MDQzNV0gZGRkZCwgW1x1MDQzMl0gTFQiO2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OnJl''@;'; put 'put ''dHVybiJbXHUwNDEyIFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNFx1MDQ0M1x1MDQ0ZVx1MDQ0OVx1MDQzOFx1MDQzOV0gZGRkZCwgW1x1MDQzMl0gTFQiO2Nhc2UgMzpjYXNlIDU6Y2FzZSA2OnJldHVybiJbXHUwNDEyIFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNFx1MDQ0M1x1MDQ0ZVx1MDQ0''@;'; put 'put ''OVx1MDQ0M1x1MDQ0ZV0gZGRkZCwgW1x1MDQzMl0gTFQifX0sbGFzdFdlZWs6ZnVuY3Rpb24oQSl7aWYoQS53ZWVrKCk9PT10aGlzLndlZWsoKSlyZXR1cm4gMj09PXRoaXMuZGF5KCk/IltcdTA0MTJcdTA0M2VdIGRkZGQsIFtcdTA0MzJdIExUIjoiW1x1MDQxMl0gZGRkZCwgW1x1MDQzMl0g''@;'; put 'put ''TFQiO3N3aXRjaCh0aGlzLmRheSgpKXtjYXNlIDA6cmV0dXJuIltcdTA0MTIgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQ4XHUwNDNiXHUwNDNlXHUwNDM1XSBkZGRkLCBbXHUwNDMyXSBMVCI7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6cmV0dXJuIltcdTA0MTIgXHUwNDNmXHUwNDQwXHUwNDNlXHUw''@;'; put 'put ''NDQ4XHUwNDNiXHUwNDRiXHUwNDM5XSBkZGRkLCBbXHUwNDMyXSBMVCI7Y2FzZSAzOmNhc2UgNTpjYXNlIDY6cmV0dXJuIltcdTA0MTIgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQ4XHUwNDNiXHUwNDQzXHUwNDRlXSBkZGRkLCBbXHUwNDMyXSBMVCJ9fSxzYW1lRWxzZToiTCJ9LHJlbGF0aXZl''@;'; put 'put ''VGltZTp7ZnV0dXJlOiJcdTA0NDdcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzcgJXMiLHBhc3Q6IiVzIFx1MDQzZFx1MDQzMFx1MDQzN1x1MDQzMFx1MDQzNCIsczoiXHUwNDNkXHUwNDM1XHUwNDQxXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNhXHUwNDNlIFx1MDQ0MVx1MDQzNVx1MDQz''@;'; put 'put ''YVx1MDQ0M1x1MDQzZFx1MDQzNCIsc3M6Z2UsbTpnZSxtbTpnZSxoOiJcdTA0NDdcdTA0MzBcdTA0NDEiLGhoOmdlLGQ6Ilx1MDQzNFx1MDQzNVx1MDQzZFx1MDQ0YyIsZGQ6Z2UsdzoiXHUwNDNkXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDNiXHUwNDRmIix3dzpnZSxNOiJcdTA0M2NcdTA0MzVc''@;'; put 'put ''dTA0NDFcdTA0NGZcdTA0NDYiLE1NOmdlLHk6Ilx1MDQzM1x1MDQzZVx1MDQzNCIseXk6Z2V9LG1lcmlkaWVtUGFyc2U6L1x1MDQzZFx1MDQzZVx1MDQ0N1x1MDQzOHxcdTA0NDNcdTA0NDJcdTA0NDBcdTA0MzB8XHUwNDM0XHUwNDNkXHUwNDRmfFx1MDQzMlx1MDQzNVx1MDQ0N1x1MDQzNVx1''@;'; put 'put ''MDQ0MFx1MDQzMC9pLGlzUE06ZnVuY3Rpb24oQSl7cmV0dXJuL14oXHUwNDM0XHUwNDNkXHUwNDRmfFx1MDQzMlx1MDQzNVx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzMCkkLy50ZXN0KEEpfSxtZXJpZGllbTpmdW5jdGlvbihBLGosTil7cmV0dXJuIEE8ND8iXHUwNDNkXHUwNDNlXHUwNDQ3XHUw''@;'; put 'put ''NDM4IjpBPDEyPyJcdTA0NDNcdTA0NDJcdTA0NDBcdTA0MzAiOkE8MTc/Ilx1MDQzNFx1MDQzZFx1MDQ0ZiI6Ilx1MDQzMlx1MDQzNVx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzMCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0tKFx1MDQzOXxcdTA0MzNcdTA0M2V8XHUwNDRmKS8s''@;'; put 'put ''b3JkaW5hbDpmdW5jdGlvbihBLGope3N3aXRjaChqKXtjYXNlIk0iOmNhc2UiZCI6Y2FzZSJEREQiOnJldHVybiBBKyItXHUwNDM5IjtjYXNlIkQiOnJldHVybiBBKyItXHUwNDMzXHUwNDNlIjtjYXNlInciOmNhc2UiVyI6cmV0dXJuIEErIi1cdTA0NGYiO2RlZmF1bHQ6cmV0dXJuIEF9fSx3''@;'; put 'put ''ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSwyMTM1OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9WyJcdTA2MmNcdTA2NDZcdTA2NDhcdTA2MzFcdTA2NGEiLCJcdTA2NDFcdTA2NGFcdTA2MjhcdTA2MzFcdTA2NDhcdTA2MzFcdTA2''@;'; put 'put ''NGEiLCJcdTA2NDVcdTA2MjdcdTA2MzFcdTA2ODYiLCJcdTA2MjdcdTA2N2VcdTA2MzFcdTA2NGFcdTA2NDQiLCJcdTA2NDVcdTA2MjZcdTA2NGEiLCJcdTA2MmNcdTA2NDhcdTA2NDYiLCJcdTA2MmNcdTA2NDhcdTA2NDRcdTA2MjdcdTA2MjFcdTA2NTAiLCJcdTA2MjJcdTA2YWZcdTA2MzNc''@;'; put 'put ''dTA2N2QiLCJcdTA2MzNcdTA2NGFcdTA2N2VcdTA2N2RcdTA2NDVcdTA2MjhcdTA2MzEiLCJcdTA2MjJcdTA2YWFcdTA2N2RcdTA2NDhcdTA2MjhcdTA2MzEiLCJcdTA2NDZcdTA2NDhcdTA2NDVcdTA2MjhcdTA2MzEiLCJcdTA2OGFcdTA2MzNcdTA2NDVcdTA2MjhcdTA2MzEiXSxnZT1bIlx1''@;'; put 'put ''MDYyMlx1MDY4Nlx1MDYzMSIsIlx1MDYzM1x1MDY0OFx1MDY0NVx1MDYzMSIsIlx1MDYyN1x1MDZiMVx1MDYyN1x1MDYzMVx1MDY0OCIsIlx1MDYyN1x1MDYzMVx1MDYyOFx1MDYzOSIsIlx1MDYyZVx1MDY0NVx1MDY0YVx1MDYzMyIsIlx1MDYyY1x1MDY0NVx1MDYzOSIsIlx1MDY4N1x1MDY0''@;'; put 'put ''Nlx1MDY4N1x1MDYzMSJdO0NlLmRlZmluZUxvY2FsZSgic2QiLHttb250aHM6b2UsbW9udGhzU2hvcnQ6b2Usd2Vla2RheXM6Z2Usd2Vla2RheXNTaG9ydDpnZSx3ZWVrZGF5c01pbjpnZSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixM''@;'; put 'put ''TDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGRcdTA2MGMgRCBNTU1NIFlZWVkgSEg6bW0ifSxtZXJpZGllbVBhcnNlOi9cdTA2MzVcdTA2MjhcdTA2MmR8XHUwNjM0XHUwNjI3XHUwNjQ1Lyxpc1BNOmZ1bmN0aW9uKFope3JldHVybiJcdTA2MzRcdTA2''@;'; put 'put ''MjdcdTA2NDUiPT09Wn0sbWVyaWRpZW06ZnVuY3Rpb24oWixBLGope3JldHVybiBaPDEyPyJcdTA2MzVcdTA2MjhcdTA2MmQiOiJcdTA2MzRcdTA2MjdcdTA2NDUifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDYyN1x1MDY4NF0gTFQiLG5leHREYXk6IltcdTA2MzNcdTA2ODBcdTA2MjdcdTA2''@;'; put 'put ''YmJcdTA2NGFdIExUIixuZXh0V2VlazoiZGRkZCBbXHUwNjI3XHUwNmIzXHUwNjRhXHUwNjQ2IFx1MDY0N1x1MDY0MVx1MDYyYVx1MDY0YSBcdTA2MmFcdTA2NGFdIExUIixsYXN0RGF5OiJbXHUwNmFhXHUwNjI3XHUwNjQ0XHUwNjQ3XHUwNjQ3XSBMVCIsbGFzdFdlZWs6IltcdTA2YWZcdTA2''@;'; put 'put ''MzJcdTA2MzFcdTA2NGFcdTA2NDQgXHUwNjQ3XHUwNjQxXHUwNjJhXHUwNjRhXSBkZGRkIFtcdTA2MmFcdTA2NGFdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBcdTA2N2VcdTA2NDhcdTA2MjEiLHBhc3Q6IiVzIFx1MDYyN1x1MDZiMyIsczoiXHUwNjg2XHUw''@;'; put 'put ''NjQ2XHUwNjJmIFx1MDYzM1x1MDY0YVx1MDZhYVx1MDY0Nlx1MDY4YSIsc3M6IiVkIFx1MDYzM1x1MDY0YVx1MDZhYVx1MDY0Nlx1MDY4YSIsbToiXHUwNjQ3XHUwNmFhIFx1MDY0NVx1MDY0Nlx1MDY3ZCIsbW06IiVkIFx1MDY0NVx1MDY0Nlx1MDY3ZCIsaDoiXHUwNjQ3XHUwNmFhIFx1MDZh''@;'; put 'put ''YVx1MDY0NFx1MDYyN1x1MDZhYSIsaGg6IiVkIFx1MDZhYVx1MDY0NFx1MDYyN1x1MDZhYSIsZDoiXHUwNjQ3XHUwNmFhIFx1MDY4Zlx1MDY0YVx1MDY0Nlx1MDY0N1x1MDY0NiIsZGQ6IiVkIFx1MDY4Zlx1MDY0YVx1MDY0Nlx1MDY0N1x1MDY0NiIsTToiXHUwNjQ3XHUwNmFhIFx1MDY0NVx1''@;'; put 'put ''MDY0N1x1MDY0YVx1MDY0Nlx1MDY0OCIsTU06IiVkIFx1MDY0NVx1MDY0N1x1MDY0YVx1MDY0Nlx1MDYyNyIseToiXHUwNjQ3XHUwNmFhIFx1MDYzM1x1MDYyN1x1MDY0NCIseXk6IiVkIFx1MDYzM1x1MDYyN1x1MDY0NCJ9LHByZXBhcnNlOmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2Uo''@;'; put 'put ''L1x1MDYwYy9nLCIsIil9LHBvc3Rmb3JtYXQ6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvLC9nLCJcdTA2MGMiKX0sd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sNTM2NjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5l''@;'; put 'put ''TG9jYWxlKCJzZSIse21vbnRoczoib1x1MDExMVx1MDExMWFqYWdlbVx4ZTFubnVfZ3VvdnZhbVx4ZTFubnVfbmp1a1x1MDEwZGFtXHhlMW5udV9jdW9cdTAxNGJvbVx4ZTFubnVfbWllc3NlbVx4ZTFubnVfZ2Vhc3NlbVx4ZTFubnVfc3VvaWRuZW1ceGUxbm51X2JvcmdlbVx4ZTFubnVfXHUw''@;'; put 'put ''MTBkYWtcdTAxMGRhbVx4ZTFubnVfZ29sZ2dvdG1ceGUxbm51X3NrXHhlMWJtYW1ceGUxbm51X2p1b3ZsYW1ceGUxbm51Ii5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJvXHUwMTExXHUwMTExal9ndW92X25qdWtfY3VvX21pZXNfZ2Vhc19zdW9pX2JvcmdfXHUwMTBkYWtcdTAxMGRfZ29sZ19z''@;'; put 'put ''a1x4ZTFiX2p1b3YiLnNwbGl0KCJfIiksd2Vla2RheXM6InNvdG5hYmVhaXZpX3Z1b3NzXHhlMXJnYV9tYVx1MDE0Ylx1MDE0YmViXHhlMXJnYV9nYXNrYXZhaGtrdV9kdW9yYXN0YXRfYmVhcmphZGF0X2xceGUxdnZhcmRhdCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJzb3RuX3Z1b3Nf''@;'; put 'put ''bWFcdTAxNGJfZ2Fza19kdW9yX2JlYXJfbFx4ZTF2Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJzX3ZfbV9nX2RfYl9MIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJNTU1NIEQuIFtiLl0gWVlZWSIsTExM''@;'; put 'put ''OiJNTU1NIEQuIFtiLl0gWVlZWSBbdGkuXSBISDptbSIsTExMTDoiZGRkZCwgTU1NTSBELiBbYi5dIFlZWVkgW3RpLl0gSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW290bmUgdGldIExUIixuZXh0RGF5OiJbaWh0dGluIHRpXSBMVCIsbmV4dFdlZWs6ImRkZGQgW3RpXSBMVCIsbGFzdERh''@;'; put 'put ''eToiW2lrdGUgdGldIExUIixsYXN0V2VlazoiW292ZGRpdF0gZGRkZCBbdGldIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBnZWFcdTAxN2VlcyIscGFzdDoibWFcdTAxNGJpdCAlcyIsczoibW9hZGRlIHNla3VuZGRhdCIsc3M6IiVkIHNla3VuZGRhdCIsbToi''@;'; put 'put ''b2t0YSBtaW51aHRhIixtbToiJWQgbWludWh0YXQiLGg6Im9rdGEgZGlpbW11IixoaDoiJWQgZGlpbW11dCIsZDoib2t0YSBiZWFpdmkiLGRkOiIlZCBiZWFpdnZpdCIsTToib2t0YSBtXHhlMW5udSIsTU06IiVkIG1ceGUxbnV0Iix5OiJva3RhIGphaGtpIix5eToiJWQgamFnaXQifSxkYXlP''@;'; put 'put ''Zk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMzM3OTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJzaSIse21vbnRoczoiXHUwZGEy''@;'; put 'put ''XHUwZGIxXHUwZGMwXHUwZGNmXHUwZGJiXHUwZGQyX1x1MGRiNFx1MGRkOVx1MGRiNlx1MGRiYlx1MGRjMFx1MGRjZlx1MGRiYlx1MGRkMl9cdTBkYjhcdTBkY2ZcdTBkYmJcdTBkY2FcdTBkYWRcdTBkZDRfXHUwZDg1XHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGRhXHUwZGJkXHUwZGNh''@;'; put 'put ''X1x1MGRiOFx1MGRkMFx1MGRiYVx1MGRkMl9cdTBkYTJcdTBkZDZcdTBkYjFcdTBkZDJfXHUwZGEyXHUwZGQ2XHUwZGJkXHUwZGQyX1x1MGQ4NVx1MGQ5Y1x1MGRkZFx1MGRjM1x1MGRjYVx1MGRhZFx1MGRkNF9cdTBkYzNcdTBkZDBcdTBkYjRcdTBkY2FcdTBkYWRcdTBkZDBcdTBkYjhcdTBk''@;'; put 'put ''Y2FcdTBkYjZcdTBkYmJcdTBkY2FfXHUwZDk0XHUwZDlhXHUwZGNhXHUwZGFkXHUwZGRkXHUwZGI2XHUwZGJiXHUwZGNhX1x1MGRiMVx1MGRkY1x1MGRjMFx1MGRkMFx1MGRiOFx1MGRjYVx1MGRiNlx1MGRiYlx1MGRjYV9cdTBkYWZcdTBkZDlcdTBkYzNcdTBkZDBcdTBkYjhcdTBkY2FcdTBk''@;'; put 'put ''YjZcdTBkYmJcdTBkY2EiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MGRhMlx1MGRiMV9cdTBkYjRcdTBkZDlcdTBkYjZfXHUwZGI4XHUwZGNmXHUwZGJiXHUwZGNhX1x1MGQ4NVx1MGRiNFx1MGRjYV9cdTBkYjhcdTBkZDBcdTBkYmFcdTBkZDJfXHUwZGEyXHUwZGQ2XHUwZGIxXHUwZGQy''@;'; put 'put ''X1x1MGRhMlx1MGRkNlx1MGRiZFx1MGRkMl9cdTBkODVcdTBkOWNcdTBkZGRfXHUwZGMzXHUwZGQwXHUwZGI0XHUwZGNhX1x1MGQ5NFx1MGQ5YVx1MGRjYV9cdTBkYjFcdTBkZGNcdTBkYzBcdTBkZDBfXHUwZGFmXHUwZGQ5XHUwZGMzXHUwZGQwIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTBk''@;'; put 'put ''ODlcdTBkYmJcdTBkZDJcdTBkYWZcdTBkY2ZfXHUwZGMzXHUwZGIzXHUwZGQ0XHUwZGFmXHUwZGNmX1x1MGQ4NVx1MGQ5Zlx1MGRjNFx1MGRiYlx1MGRkNFx1MGRjMFx1MGRjZlx1MGRhZlx1MGRjZl9cdTBkYjZcdTBkYWZcdTBkY2ZcdTBkYWZcdTBkY2ZfXHUwZGI2XHUwZGNhXHUyMDBkXHUw''@;'; put 'put ''ZGJiXHUwZGM0XHUwZGMzXHUwZGNhXHUwZGI0XHUwZGFkXHUwZGQyXHUwZGIxXHUwZGNhXHUwZGFmXHUwZGNmX1x1MGRjM1x1MGRkMlx1MGQ5YVx1MGRkNFx1MGRiYlx1MGRjZlx1MGRhZlx1MGRjZl9cdTBkYzNcdTBkZDlcdTBkYjFcdTBkYzNcdTBkZDRcdTBkYmJcdTBkY2ZcdTBkYWZcdTBk''@;'; put 'put ''Y2YiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwZDg5XHUwZGJiXHUwZGQyX1x1MGRjM1x1MGRiM1x1MGRkNF9cdTBkODVcdTBkOWZfXHUwZGI2XHUwZGFmXHUwZGNmX1x1MGRiNlx1MGRjYVx1MjAwZFx1MGRiYlx1MGRjNF9cdTBkYzNcdTBkZDJcdTBkOWFcdTBkZDRfXHUwZGMzXHUw''@;'; put 'put ''ZGQ5XHUwZGIxIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTBkODlfXHUwZGMzX1x1MGQ4NV9cdTBkYjZfXHUwZGI2XHUwZGNhXHUyMDBkXHUwZGJiX1x1MGRjM1x1MGRkMl9cdTBkYzNcdTBkZDkiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntM''@;'; put 'put ''VDoiYSBoOm1tIixMVFM6ImEgaDptbTpzcyIsTDoiWVlZWS9NTS9ERCIsTEw6IllZWVkgTU1NTSBEIixMTEw6IllZWVkgTU1NTSBELCBhIGg6bW0iLExMTEw6IllZWVkgTU1NTSBEIFtcdTBkYzBcdTBkZDBcdTBkYjFcdTBkZDJdIGRkZGQsIGEgaDptbTpzcyJ9LGNhbGVuZGFyOntzYW1lRGF5''@;'; put 'put ''OiJbXHUwZDg1XHUwZGFmXSBMVFtcdTBkYTddIixuZXh0RGF5OiJbXHUwZGM0XHUwZGQ5XHUwZGE3XSBMVFtcdTBkYTddIixuZXh0V2VlazoiZGRkZCBMVFtcdTBkYTddIixsYXN0RGF5OiJbXHUwZDhhXHUwZGJhXHUwZGRhXSBMVFtcdTBkYTddIixsYXN0V2VlazoiW1x1MGRiNFx1MGRjM1x1''@;'; put 'put ''MGRkNFx1MGQ5Y1x1MGRkMlx1MGRiYV0gZGRkZCBMVFtcdTBkYTddIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlc1x1MGQ5YVx1MGRkMlx1MGRiMVx1MGRjYSIscGFzdDoiJXNcdTBkOWFcdTBkYTcgXHUwZGI0XHUwZGQ5XHUwZGJiIixzOiJcdTBkYWRcdTBkYWRcdTBk''@;'; put 'put ''Y2FcdTBkYjRcdTBkYmIgXHUwZDlhXHUwZGQyXHUwZGM0XHUwZGQyXHUwZGI0XHUwZGJhIixzczoiXHUwZGFkXHUwZGFkXHUwZGNhXHUwZGI0XHUwZGJiICVkIixtOiJcdTBkYjhcdTBkZDJcdTBkYjFcdTBkZDJcdTBkYWRcdTBkY2FcdTBkYWRcdTBkZDRcdTBkYzAiLG1tOiJcdTBkYjhcdTBk''@;'; put 'put ''ZDJcdTBkYjFcdTBkZDJcdTBkYWRcdTBkY2FcdTBkYWRcdTBkZDQgJWQiLGg6Ilx1MGRiNFx1MGRkMFx1MGRiYSIsaGg6Ilx1MGRiNFx1MGRkMFx1MGRiYSAlZCIsZDoiXHUwZGFmXHUwZGQyXHUwZGIxXHUwZGJhIixkZDoiXHUwZGFmXHUwZGQyXHUwZGIxICVkIixNOiJcdTBkYjhcdTBkY2Zc''@;'; put 'put ''dTBkYzNcdTBkYmEiLE1NOiJcdTBkYjhcdTBkY2ZcdTBkYzMgJWQiLHk6Ilx1MGRjMFx1MGRjM1x1MGRiYiIseXk6Ilx1MGRjMFx1MGRjM1x1MGRiYiAlZCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0gXHUwZGMwXHUwZGQwXHUwZGIxXHUwZGQyLyxvcmRpbmFsOmZ1bmN0aW9u''@;'; put 'put ''KGdlKXtyZXR1cm4gZ2UrIiBcdTBkYzBcdTBkZDBcdTBkYjFcdTBkZDIifSxtZXJpZGllbVBhcnNlOi9cdTBkYjRcdTBkZDlcdTBkYmIgXHUwZGMwXHUwZGJiXHUwZGQ0fFx1MGRiNFx1MGRjM1x1MGRjYSBcdTBkYzBcdTBkYmJcdTBkZDR8XHUwZGI0XHUwZGQ5Llx1MGRjMHxcdTBkYjQuXHUw''@;'; put 'put ''ZGMwLi8saXNQTTpmdW5jdGlvbihnZSl7cmV0dXJuIlx1MGRiNC5cdTBkYzAuIj09PWdlfHwiXHUwZGI0XHUwZGMzXHUwZGNhIFx1MGRjMFx1MGRiYlx1MGRkNCI9PT1nZX0sbWVyaWRpZW06ZnVuY3Rpb24oZ2UsaGUsWil7cmV0dXJuIGdlPjExP1o/Ilx1MGRiNC5cdTBkYzAuIjoiXHUwZGI0''@;'; put 'put ''XHUwZGMzXHUwZGNhIFx1MGRjMFx1MGRiYlx1MGRkNCI6Wj8iXHUwZGI0XHUwZGQ5Llx1MGRjMC4iOiJcdTBkYjRcdTBkZDlcdTBkYmIgXHUwZGMwXHUwZGJiXHUwZGQ0In19KX0oRmUoNjczOCkpfSw2MTQzOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2''@;'; put 'put ''YXIgb2U9ImphbnVceGUxcl9mZWJydVx4ZTFyX21hcmVjX2Fwclx4ZWRsX21ceGUxal9qXHhmYW5falx4ZmFsX2F1Z3VzdF9zZXB0ZW1iZXJfb2t0XHhmM2Jlcl9ub3ZlbWJlcl9kZWNlbWJlciIuc3BsaXQoIl8iKSxnZT0iamFuX2ZlYl9tYXJfYXByX21ceGUxal9qXHhmYW5falx4ZmFsX2F1''@;'; put 'put ''Z19zZXBfb2t0X25vdl9kZWMiLnNwbGl0KCJfIik7ZnVuY3Rpb24gaGUoail7cmV0dXJuIGo+MSYmajw1fWZ1bmN0aW9uIFooaixOLHosQyl7dmFyIFM9aisiICI7c3dpdGNoKHope2Nhc2UicyI6cmV0dXJuIE58fEM/InBceGUxciBzZWtceGZhbmQiOiJwXHhlMXIgc2VrdW5kYW1pIjtjYXNl''@;'; put 'put ''InNzIjpyZXR1cm4gTnx8Qz9TKyhoZShqKT8ic2VrdW5keSI6InNla1x4ZmFuZCIpOlMrInNla3VuZGFtaSI7Y2FzZSJtIjpyZXR1cm4gTj8ibWluXHhmYXRhIjpDPyJtaW5ceGZhdHUiOiJtaW5ceGZhdG91IjtjYXNlIm1tIjpyZXR1cm4gTnx8Qz9TKyhoZShqKT8ibWluXHhmYXR5IjoibWlu''@;'; put 'put ''XHhmYXQiKTpTKyJtaW5ceGZhdGFtaSI7Y2FzZSJoIjpyZXR1cm4gTj8iaG9kaW5hIjpDPyJob2RpbnUiOiJob2Rpbm91IjtjYXNlImhoIjpyZXR1cm4gTnx8Qz9TKyhoZShqKT8iaG9kaW55IjoiaG9kXHhlZG4iKTpTKyJob2RpbmFtaSI7Y2FzZSJkIjpyZXR1cm4gTnx8Qz8iZGVcdTAxNDgi''@;'; put 'put ''OiJkXHUwMTQ4b20iO2Nhc2UiZGQiOnJldHVybiBOfHxDP1MrKGhlKGopPyJkbmkiOiJkblx4ZWQiKTpTKyJkXHUwMTQ4YW1pIjtjYXNlIk0iOnJldHVybiBOfHxDPyJtZXNpYWMiOiJtZXNpYWNvbSI7Y2FzZSJNTSI6cmV0dXJuIE58fEM/UysoaGUoaik/Im1lc2lhY2UiOiJtZXNpYWNvdiIp''@;'; put 'put ''OlMrIm1lc2lhY21pIjtjYXNlInkiOnJldHVybiBOfHxDPyJyb2siOiJyb2tvbSI7Y2FzZSJ5eSI6cmV0dXJuIE58fEM/UysoaGUoaik/InJva3kiOiJyb2tvdiIpOlMrInJva21pIn19Q2UuZGVmaW5lTG9jYWxlKCJzayIse21vbnRoczpvZSxtb250aHNTaG9ydDpnZSx3ZWVrZGF5czoibmVk''@;'; put 'put ''ZVx1MDEzZWFfcG9uZGVsb2tfdXRvcm9rX3N0cmVkYV9cdTAxNjF0dnJ0b2tfcGlhdG9rX3NvYm90YSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJuZV9wb191dF9zdF9cdTAxNjF0X3BpX3NvIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJuZV9wb191dF9zdF9cdTAxNjF0X3BpX3NvIi5z''@;'; put 'put ''cGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRC4gTU1NTSBZWVlZIixMTEw6IkQuIE1NTU0gWVlZWSBIOm1tIixMTExMOiJkZGRkIEQuIE1NTU0gWVlZWSBIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltkbmVzIG9d''@;'; put 'put ''IExUIixuZXh0RGF5OiJbemFqdHJhIG9dIExUIixuZXh0V2VlazpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLmRheSgpKXtjYXNlIDA6cmV0dXJuIlt2IG5lZGVcdTAxM2V1IG9dIExUIjtjYXNlIDE6Y2FzZSAyOnJldHVybiJbdl0gZGRkZCBbb10gTFQiO2Nhc2UgMzpyZXR1cm4iW3Ygc3RyZWR1''@;'; put 'put ''IG9dIExUIjtjYXNlIDQ6cmV0dXJuIlt2byBcdTAxNjF0dnJ0b2sgb10gTFQiO2Nhc2UgNTpyZXR1cm4iW3YgcGlhdG9rIG9dIExUIjtjYXNlIDY6cmV0dXJuIlt2IHNvYm90dSBvXSBMVCJ9fSxsYXN0RGF5OiJbdlx1MDEwZGVyYSBvXSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2go''@;'; put 'put ''dGhpcy5kYXkoKSl7Y2FzZSAwOnJldHVybiJbbWludWxceGZhIG5lZGVcdTAxM2V1IG9dIExUIjtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDU6cmV0dXJuIlttaW51bFx4ZmRdIGRkZGQgW29dIExUIjtjYXNlIDM6cmV0dXJuIlttaW51bFx4ZmEgc3RyZWR1IG9dIExUIjtjYXNlIDY6cmV0''@;'; put 'put ''dXJuIlttaW51bFx4ZmEgc29ib3R1IG9dIExUIn19LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6InphICVzIixwYXN0OiJwcmVkICVzIixzOlosc3M6WixtOlosbW06WixoOlosaGg6WixkOlosZGQ6WixNOlosTU06Wix5OloseXk6Wn0sZGF5T2ZNb250aE9yZGluYWxQYXJz''@;'; put 'put ''ZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDE5NjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gb2UoaGUsWixBLGope3ZhciBOPWhlKyIgIjtzd2l0Y2goQSl7Y2FzZSJzIjpy''@;'; put 'put ''ZXR1cm4gWnx8aj8ibmVrYWogc2VrdW5kIjoibmVrYWogc2VrdW5kYW1pIjtjYXNlInNzIjpyZXR1cm4gTisoMT09PWhlP1o/InNla3VuZG8iOiJzZWt1bmRpIjoyPT09aGU/Wnx8aj8ic2VrdW5kaSI6InNla3VuZGFoIjpoZTw1P1p8fGo/InNla3VuZGUiOiJzZWt1bmRhaCI6InNla3VuZCIp''@;'; put 'put ''O2Nhc2UibSI6cmV0dXJuIFo/ImVuYSBtaW51dGEiOiJlbm8gbWludXRvIjtjYXNlIm1tIjpyZXR1cm4gTisoMT09PWhlP1o/Im1pbnV0YSI6Im1pbnV0byI6Mj09PWhlP1p8fGo/Im1pbnV0aSI6Im1pbnV0YW1hIjpoZTw1P1p8fGo/Im1pbnV0ZSI6Im1pbnV0YW1pIjpafHxqPyJtaW51dCI6''@;'; put 'put ''Im1pbnV0YW1pIik7Y2FzZSJoIjpyZXR1cm4gWj8iZW5hIHVyYSI6ImVubyB1cm8iO2Nhc2UiaGgiOnJldHVybiBOKygxPT09aGU/Wj8idXJhIjoidXJvIjoyPT09aGU/Wnx8aj8idXJpIjoidXJhbWEiOmhlPDU/Wnx8aj8idXJlIjoidXJhbWkiOlp8fGo/InVyIjoidXJhbWkiKTtjYXNlImQi''@;'; put 'put ''OnJldHVybiBafHxqPyJlbiBkYW4iOiJlbmltIGRuZW0iO2Nhc2UiZGQiOnJldHVybiBOKygxPT09aGU/Wnx8aj8iZGFuIjoiZG5lbSI6Mj09PWhlP1p8fGo/ImRuaSI6ImRuZXZvbWEiOlp8fGo/ImRuaSI6ImRuZXZpIik7Y2FzZSJNIjpyZXR1cm4gWnx8aj8iZW4gbWVzZWMiOiJlbmltIG1l''@;'; put 'put ''c2VjZW0iO2Nhc2UiTU0iOnJldHVybiBOKygxPT09aGU/Wnx8aj8ibWVzZWMiOiJtZXNlY2VtIjoyPT09aGU/Wnx8aj8ibWVzZWNhIjoibWVzZWNlbWEiOmhlPDU/Wnx8aj8ibWVzZWNlIjoibWVzZWNpIjpafHxqPyJtZXNlY2V2IjoibWVzZWNpIik7Y2FzZSJ5IjpyZXR1cm4gWnx8aj8iZW5v''@;'; put 'put ''IGxldG8iOiJlbmltIGxldG9tIjtjYXNlInl5IjpyZXR1cm4gTisoMT09PWhlP1p8fGo/ImxldG8iOiJsZXRvbSI6Mj09PWhlP1p8fGo/ImxldGkiOiJsZXRvbWEiOmhlPDU/Wnx8aj8ibGV0YSI6ImxldGkiOlp8fGo/ImxldCI6ImxldGkiKX19Q2UuZGVmaW5lTG9jYWxlKCJzbCIse21vbnRo''@;'; put 'put ''czoiamFudWFyX2ZlYnJ1YXJfbWFyZWNfYXByaWxfbWFqX2p1bmlqX2p1bGlqX2F2Z3VzdF9zZXB0ZW1iZXJfb2t0b2Jlcl9ub3ZlbWJlcl9kZWNlbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFuLl9mZWIuX21hci5fYXByLl9tYWouX2p1bi5fanVsLl9hdmcuX3NlcC5fb2t0Ll9u''@;'; put 'put ''b3YuX2RlYy4iLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czoibmVkZWxqYV9wb25lZGVsamVrX3RvcmVrX3NyZWRhX1x1MDEwZGV0cnRla19wZXRla19zb2JvdGEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoibmVkLl9wb24uX3Rvci5fc3JlLl9cdTAxMGRldC5f''@;'; put 'put ''cGV0Ll9zb2IuIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJuZV9wb190b19zcl9cdTAxMGRlX3BlX3NvIi5zcGxpdCgiXyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6Ikg6bW0iLExUUzoiSDptbTpzcyIsTDoiREQuIE1NLiBZWVlZIixMTDoiRC4gTU1NTSBZ''@;'; put 'put ''WVlZIixMTEw6IkQuIE1NTU0gWVlZWSBIOm1tIixMTExMOiJkZGRkLCBELiBNTU1NIFlZWVkgSDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbZGFuZXMgb2JdIExUIixuZXh0RGF5OiJbanV0cmkgb2JdIExUIixuZXh0V2VlazpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLmRheSgpKXtjYXNlIDA6''@;'; put 'put ''cmV0dXJuIlt2XSBbbmVkZWxqb10gW29iXSBMVCI7Y2FzZSAzOnJldHVybiJbdl0gW3NyZWRvXSBbb2JdIExUIjtjYXNlIDY6cmV0dXJuIlt2XSBbc29ib3RvXSBbb2JdIExUIjtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDU6cmV0dXJuIlt2XSBkZGRkIFtvYl0gTFQifX0sbGFzdERheToi''@;'; put 'put ''W3ZcdTAxMGRlcmFqIG9iXSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5kYXkoKSl7Y2FzZSAwOnJldHVybiJbcHJlalx1MDE2MW5qb10gW25lZGVsam9dIFtvYl0gTFQiO2Nhc2UgMzpyZXR1cm4iW3ByZWpcdTAxNjFuam9dIFtzcmVkb10gW29iXSBMVCI7Y2FzZSA2OnJl''@;'; put 'put ''dHVybiJbcHJlalx1MDE2MW5qb10gW3NvYm90b10gW29iXSBMVCI7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA1OnJldHVybiJbcHJlalx1MDE2MW5qaV0gZGRkZCBbb2JdIExUIn19LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MDEwZGV6ICVzIixwYXN0OiJwcmVk''@;'; put 'put ''ICVzIixzOm9lLHNzOm9lLG06b2UsbW06b2UsaDpvZSxoaDpvZSxkOm9lLGRkOm9lLE06b2UsTU06b2UseTpvZSx5eTpvZX0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDEwODI6ZnVuY3Rp''@;'; put 'put ''b24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgic3EiLHttb250aHM6IkphbmFyX1Noa3VydF9NYXJzX1ByaWxsX01hal9RZXJzaG9yX0tvcnJpa19HdXNodF9TaHRhdG9yX1RldG9yX05ceGVibnRvcl9EaGpldG9yIi5zcGxpdCgiXyIpLG1v''@;'; put 'put ''bnRoc1Nob3J0OiJKYW5fU2hrX01hcl9QcmlfTWFqX1Flcl9Lb3JfR3VzX1NodF9UZXRfTlx4ZWJuX0RoaiIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiRSBEaWVsX0UgSFx4ZWJuXHhlYl9FIE1hcnRceGViX0UgTVx4ZWJya3VyXHhlYl9FIEVuanRlX0UgUHJlbXRlX0UgU2h0dW5ceGViIi5zcGxp''@;'; put 'put ''dCgiXyIpLHdlZWtkYXlzU2hvcnQ6IkRpZV9IXHhlYm5fTWFyX01ceGVicl9FbmpfUHJlX1NodCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiRF9IX01hX01ceGViX0VfUF9TaCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbWVyaWRpZW1QYXJzZTovUER8TUQvLGlzUE06ZnVu''@;'; put 'put ''Y3Rpb24oZ2Upe3JldHVybiJNIj09PWdlLmNoYXJBdCgwKX0sbWVyaWRpZW06ZnVuY3Rpb24oZ2UsaGUsWil7cmV0dXJuIGdlPDEyPyJQRCI6Ik1EIn0sbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6''@;'; put 'put ''IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbU290IG5ceGViXSBMVCIsbmV4dERheToiW05lc1x4ZWJyIG5ceGViXSBMVCIsbmV4dFdlZWs6ImRkZGQgW25ceGViXSBMVCIsbGFzdERheToiW0RqZSBuXHhlYl0g''@;'; put 'put ''TFQiLGxhc3RXZWVrOiJkZGRkIFtlIGthbHVhciBuXHhlYl0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Im5ceGViICVzIixwYXN0OiIlcyBtXHhlYiBwYXJceGViIixzOiJkaXNhIHNla29uZGEiLHNzOiIlZCBzZWtvbmRhIixtOiJualx4ZWIgbWludXRceGViIixt''@;'; put 'put ''bToiJWQgbWludXRhIixoOiJualx4ZWIgb3JceGViIixoaDoiJWQgb3JceGViIixkOiJualx4ZWIgZGl0XHhlYiIsZGQ6IiVkIGRpdFx4ZWIiLE06Im5qXHhlYiBtdWFqIixNTToiJWQgbXVhaiIseToibmpceGViIHZpdCIseXk6IiVkIHZpdGUifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9c''@;'; put 'put ''ZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sODk2MzpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXt3b3Jkczp7c3M6WyJcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRc''@;'; put 'put ''dTA0MzAiLCJcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0MzUiLCJcdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0MzgiXSxtOlsiXHUwNDU4XHUwNDM1XHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0MiIs''@;'; put 'put ''Ilx1MDQ1OFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQzZVx1MDQzMyBcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzAiXSxtbTpbIlx1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0MiIsIlx1MDQzY1x1MDQzOFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQzMCIsIlx1MDQzY1x1MDQz''@;'; put 'put ''OFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQzMCJdLGg6WyJcdTA0NThcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDQxXHUwNDMwXHUwNDQyIiwiXHUwNDU4XHUwNDM1XHUwNDM0XHUwNDNkXHUwNDNlXHUwNDMzIFx1MDQ0MVx1MDQzMFx1MDQ0Mlx1MDQzMCJdLGhoOlsiXHUwNDQxXHUwNDMw''@;'; put 'put ''XHUwNDQyIiwiXHUwNDQxXHUwNDMwXHUwNDQyXHUwNDMwIiwiXHUwNDQxXHUwNDMwXHUwNDQyXHUwNDM4Il0sZDpbIlx1MDQ1OFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0MzRcdTA0MzBcdTA0M2QiLCJcdTA0NThcdTA0MzVcdTA0MzRcdTA0M2RcdTA0M2VcdTA0MzMgXHUwNDM0XHUw''@;'; put 'put ''NDMwXHUwNDNkXHUwNDMwIl0sZGQ6WyJcdTA0MzRcdTA0MzBcdTA0M2QiLCJcdTA0MzRcdTA0MzBcdTA0M2RcdTA0MzAiLCJcdTA0MzRcdTA0MzBcdTA0M2RcdTA0MzAiXSxNOlsiXHUwNDU4XHUwNDM1XHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQzNVx1MDQ0NiIs''@;'; put 'put ''Ilx1MDQ1OFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQzZVx1MDQzMyBcdTA0M2NcdTA0MzVcdTA0NDFcdTA0MzVcdTA0NDZcdTA0MzAiXSxNTTpbIlx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQzNVx1MDQ0NiIsIlx1MDQzY1x1MDQzNVx1MDQ0MVx1MDQzNVx1MDQ0Nlx1MDQzMCIsIlx1MDQzY1x1MDQz''@;'; put 'put ''NVx1MDQ0MVx1MDQzNVx1MDQ0Nlx1MDQzOCJdLHk6WyJcdTA0NThcdTA0MzVcdTA0MzRcdTA0M2RcdTA0NDMgXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDQzIiwiXHUwNDU4XHUwNDM1XHUwNDM0XHUwNDNkXHUwNDM1IFx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1''@;'; put 'put ''MDQzNSJdLHl5OlsiXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDQzIiwiXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDM1IiwiXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDMwIl19LGNvcnJlY3RHcmFtbWF0aWNhbENhc2U6ZnVuY3Rpb24oaGUs''@;'; put 'put ''Wil7cmV0dXJuIGhlJTEwPj0xJiZoZSUxMDw9NCYmKGhlJTEwMDwxMHx8aGUlMTAwPj0yMCk/aGUlMTA9PTE/WlswXTpaWzFdOlpbMl19LHRyYW5zbGF0ZTpmdW5jdGlvbihoZSxaLEEsail7dmFyIHosTj1vZS53b3Jkc1tBXTtyZXR1cm4gMT09PUEubGVuZ3RoPyJ5Ij09PUEmJlo/Ilx1MDQ1''@;'; put 'put ''OFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQzMCBcdTA0MzNcdTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0MzAiOmp8fFo/TlswXTpOWzFdOih6PW9lLmNvcnJlY3RHcmFtbWF0aWNhbENhc2UoaGUsTiksInl5Ij09PUEmJlomJiJcdTA0MzNcdTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0NDMi''@;'; put 'put ''PT09ej9oZSsiIFx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzMCI6aGUrIiAiK3opfX07Q2UuZGVmaW5lTG9jYWxlKCJzci1jeXJsIix7bW9udGhzOiJcdTA0NThcdTA0MzBcdTA0M2RcdTA0NDNcdTA0MzBcdTA0NDBfXHUwNDQ0XHUwNDM1XHUwNDMxXHUwNDQwXHUwNDQzXHUw''@;'; put 'put ''NDMwXHUwNDQwX1x1MDQzY1x1MDQzMFx1MDQ0MFx1MDQ0Ml9cdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2JfXHUwNDNjXHUwNDMwXHUwNDU4X1x1MDQ1OFx1MDQ0M1x1MDQzZF9cdTA0NThcdTA0NDNcdTA0M2JfXHUwNDMwXHUwNDMyXHUwNDMzXHUwNDQzXHUwNDQxXHUwNDQyX1x1MDQ0''@;'; put 'put ''MVx1MDQzNVx1MDQzZlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzMVx1MDQzMFx1MDQ0MF9cdTA0M2VcdTA0M2FcdTA0NDJcdTA0M2VcdTA0MzFcdTA0MzBcdTA0NDBfXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDNjXHUwNDMxXHUwNDMwXHUwNDQwX1x1MDQzNFx1MDQzNVx1MDQ0Nlx1MDQz''@;'; put 'put ''NVx1MDQzY1x1MDQzMVx1MDQzMFx1MDQ0MCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwNDU4XHUwNDMwXHUwNDNkLl9cdTA0NDRcdTA0MzVcdTA0MzEuX1x1MDQzY1x1MDQzMFx1MDQ0MC5fXHUwNDMwXHUwNDNmXHUwNDQwLl9cdTA0M2NcdTA0MzBcdTA0NThfXHUwNDU4XHUwNDQzXHUw''@;'; put 'put ''NDNkX1x1MDQ1OFx1MDQ0M1x1MDQzYl9cdTA0MzBcdTA0MzJcdTA0MzMuX1x1MDQ0MVx1MDQzNVx1MDQzZi5fXHUwNDNlXHUwNDNhXHUwNDQyLl9cdTA0M2RcdTA0M2VcdTA0MzIuX1x1MDQzNFx1MDQzNVx1MDQ0Ni4iLnNwbGl0KCJfIiksbW9udGhzUGFyc2VFeGFjdDohMCx3ZWVrZGF5czoi''@;'; put 'put ''XHUwNDNkXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDU5XHUwNDMwX1x1MDQzZlx1MDQzZVx1MDQzZFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQ1OVx1MDQzMFx1MDQzYV9cdTA0NDNcdTA0NDJcdTA0M2VcdTA0NDBcdTA0MzBcdTA0M2FfXHUwNDQxXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwX1x1MDQ0''@;'; put 'put ''N1x1MDQzNVx1MDQ0Mlx1MDQzMlx1MDQ0MFx1MDQ0Mlx1MDQzMFx1MDQzYV9cdTA0M2ZcdTA0MzVcdTA0NDJcdTA0MzBcdTA0M2FfXHUwNDQxXHUwNDQzXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDMwIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDQzZFx1MDQzNVx1MDQzNC5fXHUwNDNm''@;'; put 'put ''XHUwNDNlXHUwNDNkLl9cdTA0NDNcdTA0NDJcdTA0M2UuX1x1MDQ0MVx1MDQ0MFx1MDQzNS5fXHUwNDQ3XHUwNDM1XHUwNDQyLl9cdTA0M2ZcdTA0MzVcdTA0NDIuX1x1MDQ0MVx1MDQ0M1x1MDQzMS4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDQzZFx1MDQzNV9cdTA0M2ZcdTA0M2Vf''@;'; put 'put ''XHUwNDQzXHUwNDQyX1x1MDQ0MVx1MDQ0MF9cdTA0NDdcdTA0MzVfXHUwNDNmXHUwNDM1X1x1MDQ0MVx1MDQ0MyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJIOm1tIixMVFM6Ikg6bW06c3MiLEw6IkQuIE0uIFlZWVkuIixMTDoiRC4gTU1N''@;'; put 'put ''TSBZWVlZLiIsTExMOiJELiBNTU1NIFlZWVkuIEg6bW0iLExMTEw6ImRkZGQsIEQuIE1NTU0gWVlZWS4gSDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDMwXHUwNDQxIFx1MDQ0M10gTFQiLG5leHREYXk6IltcdTA0NDFcdTA0NDNcdTA0NDJcdTA0NDBc''@;'; put 'put ''dTA0MzAgXHUwNDQzXSBMVCIsbmV4dFdlZWs6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5kYXkoKSl7Y2FzZSAwOnJldHVybiJbXHUwNDQzXSBbXHUwNDNkXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDU5XHUwNDQzXSBbXHUwNDQzXSBMVCI7Y2FzZSAzOnJldHVybiJbXHUwNDQzXSBbXHUwNDQxXHUw''@;'; put 'put ''NDQwXHUwNDM1XHUwNDM0XHUwNDQzXSBbXHUwNDQzXSBMVCI7Y2FzZSA2OnJldHVybiJbXHUwNDQzXSBbXHUwNDQxXHUwNDQzXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDQzXSBbXHUwNDQzXSBMVCI7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA1OnJldHVybiJbXHUwNDQzXSBkZGRkIFtcdTA0''@;'; put 'put ''NDNdIExUIn19LGxhc3REYXk6IltcdTA0NThcdTA0NDNcdTA0NDdcdTA0MzUgXHUwNDQzXSBMVCIsbGFzdFdlZWs6ZnVuY3Rpb24oKXtyZXR1cm5bIltcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0NDhcdTA0M2JcdTA0MzVdIFtcdTA0M2RcdTA0MzVcdTA0MzRcdTA0MzVcdTA0NTlcdTA0MzVdIFtc''@;'; put 'put ''dTA0NDNdIExUIiwiW1x1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0OFx1MDQzYlx1MDQzZVx1MDQzM10gW1x1MDQzZlx1MDQzZVx1MDQzZFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQ1OVx1MDQzYVx1MDQzMF0gW1x1MDQ0M10gTFQiLCJbXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQ4XHUwNDNiXHUwNDNl''@;'; put 'put ''XHUwNDMzXSBbXHUwNDQzXHUwNDQyXHUwNDNlXHUwNDQwXHUwNDNhXHUwNDMwXSBbXHUwNDQzXSBMVCIsIltcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0NDhcdTA0M2JcdTA0MzVdIFtcdTA0NDFcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzVdIFtcdTA0NDNdIExUIiwiW1x1MDQzZlx1MDQ0MFx1MDQz''@;'; put 'put ''ZVx1MDQ0OFx1MDQzYlx1MDQzZVx1MDQzM10gW1x1MDQ0N1x1MDQzNVx1MDQ0Mlx1MDQzMlx1MDQ0MFx1MDQ0Mlx1MDQzYVx1MDQzMF0gW1x1MDQ0M10gTFQiLCJbXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQ4XHUwNDNiXHUwNDNlXHUwNDMzXSBbXHUwNDNmXHUwNDM1XHUwNDQyXHUwNDNhXHUw''@;'; put 'put ''NDMwXSBbXHUwNDQzXSBMVCIsIltcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0NDhcdTA0M2JcdTA0MzVdIFtcdTA0NDFcdTA0NDNcdTA0MzFcdTA0M2VcdTA0NDJcdTA0MzVdIFtcdTA0NDNdIExUIl1bdGhpcy5kYXkoKV19LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx1MDQz''@;'; put 'put ''N1x1MDQzMCAlcyIscGFzdDoiXHUwNDNmXHUwNDQwXHUwNDM1ICVzIixzOiJcdTA0M2RcdTA0MzVcdTA0M2FcdTA0M2VcdTA0M2JcdTA0MzhcdTA0M2FcdTA0M2UgXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0XHUwNDM4IixzczpvZS50cmFuc2xhdGUsbTpvZS50cmFuc2xh''@;'; put 'put ''dGUsbW06b2UudHJhbnNsYXRlLGg6b2UudHJhbnNsYXRlLGhoOm9lLnRyYW5zbGF0ZSxkOm9lLnRyYW5zbGF0ZSxkZDpvZS50cmFuc2xhdGUsTTpvZS50cmFuc2xhdGUsTU06b2UudHJhbnNsYXRlLHk6b2UudHJhbnNsYXRlLHl5Om9lLnRyYW5zbGF0ZX0sZGF5T2ZNb250aE9yZGluYWxQYXJz''@;'; put 'put ''ZTovXGR7MSwyfVwuLyxvcmRpbmFsOiIlZC4iLHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDE2MjE6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17d29yZHM6e3NzOlsic2VrdW5kYSIsInNla3VuZGUiLCJzZWt1bmRpIl0sbTpb''@;'; put 'put ''ImplZGFuIG1pbnV0IiwiamVkbm9nIG1pbnV0YSJdLG1tOlsibWludXQiLCJtaW51dGEiLCJtaW51dGEiXSxoOlsiamVkYW4gc2F0IiwiamVkbm9nIHNhdGEiXSxoaDpbInNhdCIsInNhdGEiLCJzYXRpIl0sZDpbImplZGFuIGRhbiIsImplZG5vZyBkYW5hIl0sZGQ6WyJkYW4iLCJkYW5hIiwi''@;'; put 'put ''ZGFuYSJdLE06WyJqZWRhbiBtZXNlYyIsImplZG5vZyBtZXNlY2EiXSxNTTpbIm1lc2VjIiwibWVzZWNhIiwibWVzZWNpIl0seTpbImplZG51IGdvZGludSIsImplZG5lIGdvZGluZSJdLHl5OlsiZ29kaW51IiwiZ29kaW5lIiwiZ29kaW5hIl19LGNvcnJlY3RHcmFtbWF0aWNhbENhc2U6ZnVu''@;'; put 'put ''Y3Rpb24oaGUsWil7cmV0dXJuIGhlJTEwPj0xJiZoZSUxMDw9NCYmKGhlJTEwMDwxMHx8aGUlMTAwPj0yMCk/aGUlMTA9PTE/WlswXTpaWzFdOlpbMl19LHRyYW5zbGF0ZTpmdW5jdGlvbihoZSxaLEEsail7dmFyIHosTj1vZS53b3Jkc1tBXTtyZXR1cm4gMT09PUEubGVuZ3RoPyJ5Ij09PUEm''@;'; put 'put ''Jlo/ImplZG5hIGdvZGluYSI6anx8Wj9OWzBdOk5bMV06KHo9b2UuY29ycmVjdEdyYW1tYXRpY2FsQ2FzZShoZSxOKSwieXkiPT09QSYmWiYmImdvZGludSI9PT16P2hlKyIgZ29kaW5hIjpoZSsiICIreil9fTtDZS5kZWZpbmVMb2NhbGUoInNyIix7bW9udGhzOiJqYW51YXJfZmVicnVhcl9t''@;'; put 'put ''YXJ0X2FwcmlsX21hal9qdW5fanVsX2F2Z3VzdF9zZXB0ZW1iYXJfb2t0b2Jhcl9ub3ZlbWJhcl9kZWNlbWJhciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFuLl9mZWIuX21hci5fYXByLl9tYWpfanVuX2p1bF9hdmcuX3NlcC5fb2t0Ll9ub3YuX2RlYy4iLnNwbGl0KCJfIiksbW9udGhz''@;'; put 'put ''UGFyc2VFeGFjdDohMCx3ZWVrZGF5czoibmVkZWxqYV9wb25lZGVsamFrX3V0b3Jha19zcmVkYV9cdTAxMGRldHZydGFrX3BldGFrX3N1Ym90YSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJuZWQuX3Bvbi5fdXRvLl9zcmUuX1x1MDEwZGV0Ll9wZXQuX3N1Yi4iLnNwbGl0KCJfIiksd2Vl''@;'; put 'put ''a2RheXNNaW46Im5lX3BvX3V0X3NyX1x1MDEwZGVfcGVfc3UiLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJELiBNLiBZWVlZLiIsTEw6IkQuIE1NTU0gWVlZWS4iLExMTDoiRC4gTU1NTSBZWVlZLiBI''@;'; put 'put ''Om1tIixMTExMOiJkZGRkLCBELiBNTU1NIFlZWVkuIEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW2RhbmFzIHVdIExUIixuZXh0RGF5OiJbc3V0cmEgdV0gTFQiLG5leHRXZWVrOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuZGF5KCkpe2Nhc2UgMDpyZXR1cm4iW3VdIFtuZWRlbGp1XSBbdV0g''@;'; put 'put ''TFQiO2Nhc2UgMzpyZXR1cm4iW3VdIFtzcmVkdV0gW3VdIExUIjtjYXNlIDY6cmV0dXJuIlt1XSBbc3Vib3R1XSBbdV0gTFQiO2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OmNhc2UgNTpyZXR1cm4iW3VdIGRkZGQgW3VdIExUIn19LGxhc3REYXk6IltqdVx1MDEwZGUgdV0gTFQiLGxhc3RXZWVrOmZ1''@;'; put 'put ''bmN0aW9uKCl7cmV0dXJuWyJbcHJvXHUwMTYxbGVdIFtuZWRlbGplXSBbdV0gTFQiLCJbcHJvXHUwMTYxbG9nXSBbcG9uZWRlbGprYV0gW3VdIExUIiwiW3Byb1x1MDE2MWxvZ10gW3V0b3JrYV0gW3VdIExUIiwiW3Byb1x1MDE2MWxlXSBbc3JlZGVdIFt1XSBMVCIsIltwcm9cdTAxNjFsb2dd''@;'; put 'put ''IFtcdTAxMGRldHZydGthXSBbdV0gTFQiLCJbcHJvXHUwMTYxbG9nXSBbcGV0a2FdIFt1XSBMVCIsIltwcm9cdTAxNjFsZV0gW3N1Ym90ZV0gW3VdIExUIl1bdGhpcy5kYXkoKV19LHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6InphICVzIixwYXN0OiJwcmUgJXMiLHM6Im5l''@;'; put 'put ''a29saWtvIHNla3VuZGkiLHNzOm9lLnRyYW5zbGF0ZSxtOm9lLnRyYW5zbGF0ZSxtbTpvZS50cmFuc2xhdGUsaDpvZS50cmFuc2xhdGUsaGg6b2UudHJhbnNsYXRlLGQ6b2UudHJhbnNsYXRlLGRkOm9lLnRyYW5zbGF0ZSxNOm9lLnRyYW5zbGF0ZSxNTTpvZS50cmFuc2xhdGUseTpvZS50cmFu''@;'; put 'put ''c2xhdGUseXk6b2UudHJhbnNsYXRlfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sMTQwNDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5l''@;'; put 'put ''TG9jYWxlKCJzcyIse21vbnRoczoiQmhpbWJpZHZ3YW5lX0luZGxvdmFuYV9JbmRsb3YnbGVua2h1bHVfTWFiYXNhX0lua2h3ZWtod2V0aV9JbmhsYWJhX0tob2x3YW5lX0luZ2NpX0lueW9uaV9JbXBoYWxhX0x3ZXRpX0luZ29uZ29uaSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiQmhpX0lu''@;'; put 'put ''YV9JbnVfTWFiX0lua19JbmhfS2hvX0lnY19JbnlfSW1wX0x3ZV9JZ28iLnNwbGl0KCJfIiksd2Vla2RheXM6Ikxpc29udGZvX1Vtc29tYnVsdWtvX0xlc2liaWxpX0xlc2l0c2F0ZnVfTGVzaW5lX0xlc2lobGFudV9VbWdjaWJlbG8iLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiTGlzX1Vt''@;'; put 'put ''Yl9Mc2JfTGVzX0xzaV9Mc2hfVW1nIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJMaV9Vc19MYl9MdF9Mc19MaF9VZyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJoOm1tIEEiLExUUzoiaDptbTpzcyBBIixMOiJERC9NTS9ZWVlZIixMTDoi''@;'; put 'put ''RCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgaDptbSBBIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBoOm1tIEEifSxjYWxlbmRhcjp7c2FtZURheToiW05hbXVobGEgbmdhXSBMVCIsbmV4dERheToiW0t1c2FzYSBuZ2FdIExUIixuZXh0V2VlazoiZGRkZCBbbmdhXSBMVCIsbGFzdERh''@;'; put 'put ''eToiW0l0b2xvIG5nYV0gTFQiLGxhc3RXZWVrOiJkZGRkIFtsZWxpcGhlbGlsZV0gW25nYV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Im5nYSAlcyIscGFzdDoid2VudGVrYSBuZ2EgJXMiLHM6ImVtaXp1endhbmEgbG9tY2FuZSIsc3M6IiVkIG16dXp3YW5hIixt''@;'; put 'put ''OiJ1bXp1enUiLG1tOiIlZCBlbWl6dXp1IixoOiJsaWhvcmEiLGhoOiIlZCBlbWFob3JhIixkOiJsaWxhbmdhIixkZDoiJWQgZW1hbGFuZ2EiLE06ImlueWFuZ2EiLE1NOiIlZCB0aW55YW5nYSIseToidW1ueWFrYSIseXk6IiVkIGltaW55YWthIn0sbWVyaWRpZW1QYXJzZTovZWt1c2VuaXxl''@;'; put 'put ''bWluaXxlbnRzYW1iYW1hfGVidXN1a3UvLG1lcmlkaWVtOmZ1bmN0aW9uKGdlLGhlLFope3JldHVybiBnZTwxMT8iZWt1c2VuaSI6Z2U8MTU/ImVtaW5pIjpnZTwxOT8iZW50c2FtYmFtYSI6ImVidXN1a3UifSxtZXJpZGllbUhvdXI6ZnVuY3Rpb24oZ2UsaGUpe3JldHVybiAxMj09PWdlJiYo''@;'; put 'put ''Z2U9MCksImVrdXNlbmkiPT09aGU/Z2U6ImVtaW5pIj09PWhlP2dlPj0xMT9nZTpnZSsxMjoiZW50c2FtYmFtYSI9PT1oZXx8ImVidXN1a3UiPT09aGU/MD09PWdlPzA6Z2UrMTI6dm9pZCAwfSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9LyxvcmRpbmFsOiIlZCIsd2Vlazp7ZG93''@;'; put 'put ''OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sNTY4NTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJzdiIse21vbnRoczoiamFudWFyaV9mZWJydWFyaV9tYXJzX2FwcmlsX21hal9qdW5pX2p1bGlfYXVndXN0aV9zZXB0ZW1iZXJf''@;'; put 'put ''b2t0b2Jlcl9ub3ZlbWJlcl9kZWNlbWJlciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFuX2ZlYl9tYXJfYXByX21hal9qdW5fanVsX2F1Z19zZXBfb2t0X25vdl9kZWMiLnNwbGl0KCJfIiksd2Vla2RheXM6InNceGY2bmRhZ19tXHhlNW5kYWdfdGlzZGFnX29uc2RhZ190b3JzZGFnX2Zy''@;'; put 'put ''ZWRhZ19sXHhmNnJkYWciLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoic1x4ZjZuX21ceGU1bl90aXNfb25zX3Rvcl9mcmVfbFx4ZjZyIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJzXHhmNl9tXHhlNV90aV9vbl90b19mcl9sXHhmNiIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6''@;'; put 'put ''IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJZWVlZLU1NLUREIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgW2tsLl0gSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgW2tsLl0gSEg6bW0iLGxsbDoiRCBNTU0gWVlZWSBISDptbSIsbGxsbDoiZGRkIEQgTU1NIFlZWVkg''@;'; put 'put ''SEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW0lkYWddIExUIixuZXh0RGF5OiJbSW1vcmdvbl0gTFQiLGxhc3REYXk6IltJZ1x4ZTVyXSBMVCIsbmV4dFdlZWs6IltQXHhlNV0gZGRkZCBMVCIsbGFzdFdlZWs6IltJXSBkZGRkW3NdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7''@;'; put 'put ''ZnV0dXJlOiJvbSAlcyIscGFzdDoiZlx4ZjZyICVzIHNlZGFuIixzOiJuXHhlNWdyYSBzZWt1bmRlciIsc3M6IiVkIHNla3VuZGVyIixtOiJlbiBtaW51dCIsbW06IiVkIG1pbnV0ZXIiLGg6ImVuIHRpbW1lIixoaDoiJWQgdGltbWFyIixkOiJlbiBkYWciLGRkOiIlZCBkYWdhciIsTToiZW4g''@;'; put 'put ''bVx4ZTVuYWQiLE1NOiIlZCBtXHhlNW5hZGVyIix5OiJldHQgXHhlNXIiLHl5OiIlZCBceGU1ciJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oXDplfFw6YSkvLG9yZGluYWw6ZnVuY3Rpb24oZ2Upe3ZhciBoZT1nZSUxMDtyZXR1cm4gZ2UrKDE9PX5+KGdlJTEwMC8xMCk/Ijpl''@;'; put 'put ''IjoxPT09aGV8fDI9PT1oZT8iOmEiOiI6ZSIpfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw2NDkwOmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInN3Iix7bW9udGhzOiJKYW51YXJpX0ZlYnJ1YXJpX01hY2hp''@;'; put 'put ''X0FwcmlsaV9NZWlfSnVuaV9KdWxhaV9BZ29zdGlfU2VwdGVtYmFfT2t0b2JhX05vdmVtYmFfRGVzZW1iYSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiSmFuX0ZlYl9NYWNfQXByX01laV9KdW5fSnVsX0Fnb19TZXBfT2t0X05vdl9EZXMiLnNwbGl0KCJfIiksd2Vla2RheXM6Ikp1bWFwaWxp''@;'; put 'put ''X0p1bWF0YXR1X0p1bWFubmVfSnVtYXRhbm9fQWxoYW1pc2lfSWp1bWFhX0p1bWFtb3NpIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IkpwbF9KdGF0X0pubmVfSnRhbl9BbGhfSWptX0ptb3MiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46IkoyX0ozX0o0X0o1X0FsX0lqX0oxIi5zcGxpdCgi''@;'; put 'put ''XyIpLHdlZWtkYXlzUGFyc2VFeGFjdDohMCxsb25nRGF0ZUZvcm1hdDp7TFQ6ImhoOm1tIEEiLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRh''@;'; put 'put ''cjp7c2FtZURheToiW2xlbyBzYWFdIExUIixuZXh0RGF5OiJba2VzaG8gc2FhXSBMVCIsbmV4dFdlZWs6Ilt3aWtpIGlqYXlvXSBkZGRkIFtzYWF0XSBMVCIsbGFzdERheToiW2phbmFdIExUIixsYXN0V2VlazoiW3dpa2kgaWxpeW9waXRhXSBkZGRkIFtzYWF0XSBMVCIsc2FtZUVsc2U6Ikwi''@;'; put 'put ''fSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgYmFhZGF5ZSIscGFzdDoidG9rZWEgJXMiLHM6ImhpdmkgcHVuZGUiLHNzOiJzZWt1bmRlICVkIixtOiJkYWtpa2EgbW9qYSIsbW06ImRha2lrYSAlZCIsaDoic2FhIGxpbW9qYSIsaGg6Im1hc2FhICVkIixkOiJzaWt1IG1vamEiLGRkOiJzaWt1''@;'; put 'put ''ICVkIixNOiJtd2V6aSBtbW9qYSIsTU06Im1pZXppICVkIix5OiJtd2FrYSBtbW9qYSIseXk6Im1pYWthICVkIn0sd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sNDEwNjpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPXsxOiJcdTBi''@;'; put 'put ''ZTciLDI6Ilx1MGJlOCIsMzoiXHUwYmU5Iiw0OiJcdTBiZWEiLDU6Ilx1MGJlYiIsNjoiXHUwYmVjIiw3OiJcdTBiZWQiLDg6Ilx1MGJlZSIsOToiXHUwYmVmIiwwOiJcdTBiZTYifSxnZT17Ilx1MGJlNyI6IjEiLCJcdTBiZTgiOiIyIiwiXHUwYmU5IjoiMyIsIlx1MGJlYSI6IjQiLCJcdTBi''@;'; put 'put ''ZWIiOiI1IiwiXHUwYmVjIjoiNiIsIlx1MGJlZCI6IjciLCJcdTBiZWUiOiI4IiwiXHUwYmVmIjoiOSIsIlx1MGJlNiI6IjAifTtDZS5kZWZpbmVMb2NhbGUoInRhIix7bW9udGhzOiJcdTBiOWNcdTBiYTlcdTBiYjVcdTBiYjBcdTBiYmZfXHUwYmFhXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmIw''@;'; put 'put ''XHUwYmI1XHUwYmIwXHUwYmJmX1x1MGJhZVx1MGJiZVx1MGJiMFx1MGJjZFx1MGI5YVx1MGJjZF9cdTBiOGZcdTBiYWFcdTBiY2RcdTBiYjBcdTBiYjJcdTBiY2RfXHUwYmFlXHUwYmM3X1x1MGI5Y1x1MGJjMlx1MGJhOVx1MGJjZF9cdTBiOWNcdTBiYzJcdTBiYjJcdTBiYzhfXHUwYjg2XHUw''@;'; put 'put ''Yjk1XHUwYmI4XHUwYmNkXHUwYjlmXHUwYmNkX1x1MGI5YVx1MGJjNlx1MGJhYVx1MGJjZFx1MGI5Zlx1MGJjNlx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMFx1MGJjZF9cdTBiODVcdTBiOTVcdTBiY2RcdTBiOWZcdTBiYzdcdTBiYmVcdTBiYWFcdTBiYjBcdTBiY2RfXHUwYmE4XHUwYmI1XHUw''@;'; put 'put ''YmFlXHUwYmNkXHUwYmFhXHUwYmIwXHUwYmNkX1x1MGI5Zlx1MGJiZlx1MGI5YVx1MGJhZVx1MGJjZFx1MGJhYVx1MGJiMFx1MGJjZCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwYjljXHUwYmE5XHUwYmI1XHUwYmIwXHUwYmJmX1x1MGJhYVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJiMFx1''@;'; put 'put ''MGJiNVx1MGJiMFx1MGJiZl9cdTBiYWVcdTBiYmVcdTBiYjBcdTBiY2RcdTBiOWFcdTBiY2RfXHUwYjhmXHUwYmFhXHUwYmNkXHUwYmIwXHUwYmIyXHUwYmNkX1x1MGJhZVx1MGJjN19cdTBiOWNcdTBiYzJcdTBiYTlcdTBiY2RfXHUwYjljXHUwYmMyXHUwYmIyXHUwYmM4X1x1MGI4Nlx1MGI5''@;'; put 'put ''NVx1MGJiOFx1MGJjZFx1MGI5Zlx1MGJjZF9cdTBiOWFcdTBiYzZcdTBiYWFcdTBiY2RcdTBiOWZcdTBiYzZcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYjBcdTBiY2RfXHUwYjg1XHUwYjk1XHUwYmNkXHUwYjlmXHUwYmM3XHUwYmJlXHUwYmFhXHUwYmIwXHUwYmNkX1x1MGJhOFx1MGJiNVx1MGJh''@;'; put 'put ''ZVx1MGJjZFx1MGJhYVx1MGJiMFx1MGJjZF9cdTBiOWZcdTBiYmZcdTBiOWFcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYjBcdTBiY2QiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MGI5ZVx1MGJiZVx1MGJhZlx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1''@;'; put 'put ''MGJiZlx1MGJiNFx1MGJhZVx1MGJjOF9cdTBiYTRcdTBiYmZcdTBiOTlcdTBiY2RcdTBiOTVcdTBiOWZcdTBiY2RcdTBiOTVcdTBiYmZcdTBiYjRcdTBiYWVcdTBiYzhfXHUwYjlhXHUwYmM2XHUwYmI1XHUwYmNkXHUwYmI1XHUwYmJlXHUwYmFmXHUwYmNkXHUwYjk1XHUwYmJmXHUwYmI0XHUw''@;'; put 'put ''YmFlXHUwYmM4X1x1MGJhYVx1MGJjMVx1MGJhNFx1MGJhOVx1MGJjZFx1MGI5NVx1MGJiZlx1MGJiNFx1MGJhZVx1MGJjOF9cdTBiYjVcdTBiYmZcdTBiYWZcdTBiYmVcdTBiYjRcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYmZcdTBiYjRcdTBiYWVcdTBiYzhfXHUwYmI1XHUwYmM2XHUwYmIzXHUw''@;'; put 'put ''YmNkXHUwYmIzXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmJmXHUwYmI0XHUwYmFlXHUwYmM4X1x1MGI5YVx1MGJhOVx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiZlx1MGJiNFx1MGJhZVx1MGJjOCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTBiOWVcdTBiYmVcdTBiYWZc''@;'; put 'put ''dTBiYmZcdTBiYjFcdTBiYzFfXHUwYmE0XHUwYmJmXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkX1x1MGI5YVx1MGJjNlx1MGJiNVx1MGJjZFx1MGJiNVx1MGJiZVx1MGJhZlx1MGJjZF9cdTBiYWFcdTBiYzFcdTBiYTRcdTBiYTlcdTBiY2RfXHUwYmI1XHUwYmJmXHUwYmFmXHUwYmJl''@;'; put 'put ''XHUwYmI0XHUwYmE5XHUwYmNkX1x1MGJiNVx1MGJjNlx1MGJiM1x1MGJjZFx1MGJiM1x1MGJiZl9cdTBiOWFcdTBiYTlcdTBiYmYiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MGI5ZVx1MGJiZV9cdTBiYTRcdTBiYmZfXHUwYjlhXHUwYmM2X1x1MGJhYVx1MGJjMV9cdTBiYjVcdTBiYmZf''@;'; put 'put ''XHUwYmI1XHUwYmM2X1x1MGI5YSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVksIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSwgSEg6bW0ifSxj''@;'; put 'put ''YWxlbmRhcjp7c2FtZURheToiW1x1MGI4N1x1MGJhOVx1MGJjZFx1MGJiMVx1MGJjMV0gTFQiLG5leHREYXk6IltcdTBiYThcdTBiYmVcdTBiYjNcdTBiYzhdIExUIixuZXh0V2VlazoiZGRkZCwgTFQiLGxhc3REYXk6IltcdTBiYThcdTBiYzdcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFdIExU''@;'; put 'put ''IixsYXN0V2VlazoiW1x1MGI5NVx1MGI5Zlx1MGJhOFx1MGJjZFx1MGJhNCBcdTBiYjVcdTBiYmVcdTBiYjBcdTBiYWVcdTBiY2RdIGRkZGQsIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlcyBcdTBiODdcdTBiYjJcdTBiY2QiLHBhc3Q6IiVzIFx1MGJhZVx1MGJj''@;'; put 'put ''MVx1MGJhOVx1MGJjZCIsczoiXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGI5YVx1MGJiZlx1MGJiMiBcdTBiYjVcdTBiYmZcdTBiYThcdTBiYmVcdTBiOWZcdTBiYmZcdTBiOTVcdTBiYjNcdTBiY2QiLHNzOiIlZCBcdTBiYjVcdTBiYmZcdTBiYThcdTBiYmVcdTBiOWZcdTBiYmZcdTBiOTVcdTBi''@;'; put 'put ''YjNcdTBiY2QiLG06Ilx1MGI5Mlx1MGJiMFx1MGJjMSBcdTBiYThcdTBiYmZcdTBiYWVcdTBiYmZcdTBiOWZcdTBiYWVcdTBiY2QiLG1tOiIlZCBcdTBiYThcdTBiYmZcdTBiYWVcdTBiYmZcdTBiOWZcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLGg6Ilx1MGI5Mlx1MGJiMFx1MGJj''@;'; put 'put ''MSBcdTBiYWVcdTBiYTNcdTBiYmYgXHUwYmE4XHUwYmM3XHUwYmIwXHUwYmFlXHUwYmNkIixoaDoiJWQgXHUwYmFlXHUwYmEzXHUwYmJmIFx1MGJhOFx1MGJjN1x1MGJiMFx1MGJhZVx1MGJjZCIsZDoiXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJhOFx1MGJiZVx1MGJiM1x1MGJjZCIsZGQ6IiVk''@;'; put 'put ''IFx1MGJhOFx1MGJiZVx1MGI5Zlx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsTToiXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJhZVx1MGJiZVx1MGJhNFx1MGJhZVx1MGJjZCIsTU06IiVkIFx1MGJhZVx1MGJiZVx1MGJhNFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIseToiXHUwYjky''@;'; put 'put ''XHUwYmIwXHUwYmMxIFx1MGJiNVx1MGJiMFx1MGJjMVx1MGI5Zlx1MGJhZVx1MGJjZCIseXk6IiVkIFx1MGI4Nlx1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1cdTBiYjVcdTBiYTRcdTBiYzEvLG9yZGlu''@;'; put 'put ''YWw6ZnVuY3Rpb24oWil7cmV0dXJuIForIlx1MGJiNVx1MGJhNFx1MGJjMSJ9LHByZXBhcnNlOmZ1bmN0aW9uKFope3JldHVybiBaLnJlcGxhY2UoL1tcdTBiZTdcdTBiZThcdTBiZTlcdTBiZWFcdTBiZWJcdTBiZWNcdTBiZWRcdTBiZWVcdTBiZWZcdTBiZTZdL2csZnVuY3Rpb24oQSl7cmV0''@;'; put 'put ''dXJuIGdlW0FdfSl9LHBvc3Rmb3JtYXQ6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvXGQvZyxmdW5jdGlvbihBKXtyZXR1cm4gb2VbQV19KX0sbWVyaWRpZW1QYXJzZTovXHUwYmFmXHUwYmJlXHUwYmFlXHUwYmFlXHUwYmNkfFx1MGJiNVx1MGJjOFx1MGI5NVx1MGJiMVx1MGJjOHxc''@;'; put 'put ''dTBiOTVcdTBiYmVcdTBiYjJcdTBiYzh8XHUwYmE4XHUwYmEzXHUwYmNkXHUwYmFhXHUwYjk1XHUwYmIyXHUwYmNkfFx1MGI4ZVx1MGJiMVx1MGJjZFx1MGJhYVx1MGJiZVx1MGI5Zlx1MGJjMXxcdTBiYWVcdTBiYmVcdTBiYjJcdTBiYzgvLG1lcmlkaWVtOmZ1bmN0aW9uKFosQSxqKXtyZXR1''@;'; put 'put ''cm4gWjwyPyIgXHUwYmFmXHUwYmJlXHUwYmFlXHUwYmFlXHUwYmNkIjpaPDY/IiBcdTBiYjVcdTBiYzhcdTBiOTVcdTBiYjFcdTBiYzgiOlo8MTA/IiBcdTBiOTVcdTBiYmVcdTBiYjJcdTBiYzgiOlo8MTQ/IiBcdTBiYThcdTBiYTNcdTBiY2RcdTBiYWFcdTBiOTVcdTBiYjJcdTBiY2QiOlo8''@;'; put 'put ''MTg/IiBcdTBiOGVcdTBiYjFcdTBiY2RcdTBiYWFcdTBiYmVcdTBiOWZcdTBiYzEiOlo8MjI/IiBcdTBiYWVcdTBiYmVcdTBiYjJcdTBiYzgiOiIgXHUwYmFmXHUwYmJlXHUwYmFlXHUwYmFlXHUwYmNkIn0sbWVyaWRpZW1Ib3VyOmZ1bmN0aW9uKFosQSl7cmV0dXJuIDEyPT09WiYmKFo9MCks''@;'; put 'put ''Ilx1MGJhZlx1MGJiZVx1MGJhZVx1MGJhZVx1MGJjZCI9PT1BP1o8Mj9aOlorMTI6Ilx1MGJiNVx1MGJjOFx1MGI5NVx1MGJiMVx1MGJjOCI9PT1BfHwiXHUwYjk1XHUwYmJlXHUwYmIyXHUwYmM4Ij09PUF8fCJcdTBiYThcdTBiYTNcdTBiY2RcdTBiYWFcdTBiOTVcdTBiYjJcdTBiY2QiPT09''@;'; put 'put ''QSYmWj49MTA/WjpaKzEyfSx3ZWVrOntkb3c6MCxkb3k6Nn19KX0oRmUoNjczOCkpfSw5MjA0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInRlIix7bW9udGhzOiJcdTBjMWNcdTBjMjhcdTBjMzVcdTBjMzBcdTBjM2ZfXHUw''@;'; put 'put ''YzJiXHUwYzNmXHUwYzJjXHUwYzRkXHUwYzMwXHUwYzM1XHUwYzMwXHUwYzNmX1x1MGMyZVx1MGMzZVx1MGMzMFx1MGM0ZFx1MGMxYVx1MGMzZl9cdTBjMGZcdTBjMmFcdTBjNGRcdTBjMzBcdTBjM2ZcdTBjMzJcdTBjNGRfXHUwYzJlXHUwYzQ3X1x1MGMxY1x1MGM0Mlx1MGMyOFx1MGM0ZF9c''@;'; put 'put ''dTBjMWNcdTBjNDFcdTBjMzJcdTBjNDhfXHUwYzA2XHUwYzE3XHUwYzM4XHUwYzRkXHUwYzFmXHUwYzQxX1x1MGMzOFx1MGM0Nlx1MGMyYVx1MGM0ZFx1MGMxZlx1MGM0Nlx1MGMwMlx1MGMyY1x1MGMzMFx1MGM0ZF9cdTBjMDVcdTBjMTVcdTBjNGRcdTBjMWZcdTBjNGJcdTBjMmNcdTBjMzBc''@;'; put 'put ''dTBjNGRfXHUwYzI4XHUwYzM1XHUwYzAyXHUwYzJjXHUwYzMwXHUwYzRkX1x1MGMyMVx1MGMzZlx1MGMzOFx1MGM0Nlx1MGMwMlx1MGMyY1x1MGMzMFx1MGM0ZCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUwYzFjXHUwYzI4Ll9cdTBjMmJcdTBjM2ZcdTBjMmNcdTBjNGRcdTBjMzAuX1x1''@;'; put 'put ''MGMyZVx1MGMzZVx1MGMzMFx1MGM0ZFx1MGMxYVx1MGMzZl9cdTBjMGZcdTBjMmFcdTBjNGRcdTBjMzBcdTBjM2YuX1x1MGMyZVx1MGM0N19cdTBjMWNcdTBjNDJcdTBjMjhcdTBjNGRfXHUwYzFjXHUwYzQxXHUwYzMyXHUwYzQ4X1x1MGMwNlx1MGMxNy5fXHUwYzM4XHUwYzQ2XHUwYzJhXHUw''@;'; put 'put ''YzRkLl9cdTBjMDVcdTBjMTVcdTBjNGRcdTBjMWZcdTBjNGIuX1x1MGMyOFx1MGMzNS5fXHUwYzIxXHUwYzNmXHUwYzM4XHUwYzQ2LiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJcdTBjMDZcdTBjMjZcdTBjM2ZcdTBjMzVcdTBjM2VcdTBjMzBcdTBjMDJfXHUw''@;'; put 'put ''YzM4XHUwYzRiXHUwYzJlXHUwYzM1XHUwYzNlXHUwYzMwXHUwYzAyX1x1MGMyZVx1MGMwMlx1MGMxN1x1MGMzM1x1MGMzNVx1MGMzZVx1MGMzMFx1MGMwMl9cdTBjMmNcdTBjNDFcdTBjMjdcdTBjMzVcdTBjM2VcdTBjMzBcdTBjMDJfXHUwYzE3XHUwYzQxXHUwYzMwXHUwYzQxXHUwYzM1XHUw''@;'; put 'put ''YzNlXHUwYzMwXHUwYzAyX1x1MGMzNlx1MGM0MVx1MGMxNVx1MGM0ZFx1MGMzMFx1MGMzNVx1MGMzZVx1MGMzMFx1MGMwMl9cdTBjMzZcdTBjMjhcdTBjM2ZcdTBjMzVcdTBjM2VcdTBjMzBcdTBjMDIiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwYzA2XHUwYzI2XHUwYzNmX1x1MGMz''@;'; put 'put ''OFx1MGM0Ylx1MGMyZV9cdTBjMmVcdTBjMDJcdTBjMTdcdTBjMzNfXHUwYzJjXHUwYzQxXHUwYzI3X1x1MGMxN1x1MGM0MVx1MGMzMFx1MGM0MV9cdTBjMzZcdTBjNDFcdTBjMTVcdTBjNGRcdTBjMzBfXHUwYzM2XHUwYzI4XHUwYzNmIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTBjMDZf''@;'; put 'put ''XHUwYzM4XHUwYzRiX1x1MGMyZVx1MGMwMl9cdTBjMmNcdTBjNDFfXHUwYzE3XHUwYzQxX1x1MGMzNlx1MGM0MV9cdTBjMzYiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJBIGg6bW0iLExUUzoiQSBoOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoi''@;'; put 'put ''RCBNTU1NIFlZWVksIEEgaDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVksIEEgaDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwYzI4XHUwYzQ3XHUwYzIxXHUwYzQxXSBMVCIsbmV4dERheToiW1x1MGMzMFx1MGM0N1x1MGMyYVx1MGM0MV0gTFQiLG5leHRXZWVrOiJkZGRkLCBMVCIs''@;'; put 'put ''bGFzdERheToiW1x1MGMyOFx1MGMzZlx1MGMyOFx1MGM0ZFx1MGMyOF0gTFQiLGxhc3RXZWVrOiJbXHUwYzE3XHUwYzI0XSBkZGRkLCBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgXHUwYzMyXHUwYzRiIixwYXN0OiIlcyBcdTBjMTVcdTBjNGRcdTBjMzBcdTBj''@;'; put 'put ''M2ZcdTBjMjRcdTBjMDIiLHM6Ilx1MGMxNVx1MGM0YVx1MGMyOFx1MGM0ZFx1MGMyOFx1MGMzZiBcdTBjMTVcdTBjNGRcdTBjMzdcdTBjMjNcdTBjM2VcdTBjMzJcdTBjNDEiLHNzOiIlZCBcdTBjMzhcdTBjNDZcdTBjMTVcdTBjMjhcdTBjNGRcdTBjMzJcdTBjNDEiLG06Ilx1MGMxMlx1MGMx''@;'; put 'put ''NSBcdTBjMjhcdTBjM2ZcdTBjMmVcdTBjM2ZcdTBjMzdcdTBjMDIiLG1tOiIlZCBcdTBjMjhcdTBjM2ZcdTBjMmVcdTBjM2ZcdTBjMzdcdTBjM2VcdTBjMzJcdTBjNDEiLGg6Ilx1MGMxMlx1MGMxNSBcdTBjMTdcdTBjMDJcdTBjMWYiLGhoOiIlZCBcdTBjMTdcdTBjMDJcdTBjMWZcdTBjMzJc''@;'; put 'put ''dTBjNDEiLGQ6Ilx1MGMxMlx1MGMxNSBcdTBjMzBcdTBjNGJcdTBjMWNcdTBjNDEiLGRkOiIlZCBcdTBjMzBcdTBjNGJcdTBjMWNcdTBjNDFcdTBjMzJcdTBjNDEiLE06Ilx1MGMxMlx1MGMxNSBcdTBjMjhcdTBjNDZcdTBjMzIiLE1NOiIlZCBcdTBjMjhcdTBjNDZcdTBjMzJcdTBjMzJcdTBj''@;'; put 'put ''NDEiLHk6Ilx1MGMxMlx1MGMxNSBcdTBjMzhcdTBjMDJcdTBjMzVcdTBjMjRcdTBjNGRcdTBjMzhcdTBjMzBcdTBjMDIiLHl5OiIlZCBcdTBjMzhcdTBjMDJcdTBjMzVcdTBjMjRcdTBjNGRcdTBjMzhcdTBjMzBcdTBjM2VcdTBjMzJcdTBjNDEifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9c''@;'; put 'put ''ZHsxLDJ9XHUwYzM1LyxvcmRpbmFsOiIlZFx1MGMzNSIsbWVyaWRpZW1QYXJzZTovXHUwYzMwXHUwYzNlXHUwYzI0XHUwYzRkXHUwYzMwXHUwYzNmfFx1MGMwOVx1MGMyNlx1MGMyZlx1MGMwMnxcdTBjMmVcdTBjMjdcdTBjNGRcdTBjMmZcdTBjM2VcdTBjMzlcdTBjNGRcdTBjMjhcdTBjMDJ8''@;'; put 'put ''XHUwYzM4XHUwYzNlXHUwYzJmXHUwYzAyXHUwYzI0XHUwYzRkXHUwYzMwXHUwYzAyLyxtZXJpZGllbUhvdXI6ZnVuY3Rpb24oZ2UsaGUpe3JldHVybiAxMj09PWdlJiYoZ2U9MCksIlx1MGMzMFx1MGMzZVx1MGMyNFx1MGM0ZFx1MGMzMFx1MGMzZiI9PT1oZT9nZTw0P2dlOmdlKzEyOiJcdTBj''@;'; put 'put ''MDlcdTBjMjZcdTBjMmZcdTBjMDIiPT09aGU/Z2U6Ilx1MGMyZVx1MGMyN1x1MGM0ZFx1MGMyZlx1MGMzZVx1MGMzOVx1MGM0ZFx1MGMyOFx1MGMwMiI9PT1oZT9nZT49MTA/Z2U6Z2UrMTI6Ilx1MGMzOFx1MGMzZVx1MGMyZlx1MGMwMlx1MGMyNFx1MGM0ZFx1MGMzMFx1MGMwMiI9PT1oZT9n''@;'; put 'put ''ZSsxMjp2b2lkIDB9LG1lcmlkaWVtOmZ1bmN0aW9uKGdlLGhlLFope3JldHVybiBnZTw0PyJcdTBjMzBcdTBjM2VcdTBjMjRcdTBjNGRcdTBjMzBcdTBjM2YiOmdlPDEwPyJcdTBjMDlcdTBjMjZcdTBjMmZcdTBjMDIiOmdlPDE3PyJcdTBjMmVcdTBjMjdcdTBjNGRcdTBjMmZcdTBjM2VcdTBj''@;'; put 'put ''MzlcdTBjNGRcdTBjMjhcdTBjMDIiOmdlPDIwPyJcdTBjMzhcdTBjM2VcdTBjMmZcdTBjMDJcdTBjMjRcdTBjNGRcdTBjMzBcdTBjMDIiOiJcdTBjMzBcdTBjM2VcdTBjMjRcdTBjNGRcdTBjMzBcdTBjM2YifSx3ZWVrOntkb3c6MCxkb3k6Nn19KX0oRmUoNjczOCkpfSwzNjkyOmZ1bmN0aW9u''@;'; put 'put ''KF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInRldCIse21vbnRoczoiSmFuZWlydV9GZXZlcmVpcnVfTWFyc3VfQWJyaWxfTWFpdV9KdVx4ZjF1X0p1bGx1X0FndXN0dV9TZXRlbWJydV9PdXR1YnJ1X05vdmVtYnJ1X0RlemVtYnJ1Ii5zcGxp''@;'; put 'put ''dCgiXyIpLG1vbnRoc1Nob3J0OiJKYW5fRmV2X01hcl9BYnJfTWFpX0p1bl9KdWxfQWdvX1NldF9PdXRfTm92X0RleiIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiRG9taW5ndV9TZWd1bmRhX1RlcnNhX0t1YXJ0YV9LaW50YV9TZXN0YV9TYWJhZHUiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoi''@;'; put 'put ''RG9tX1NlZ19UZXJzX0t1YV9LaW50X1Nlc3RfU2FiIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJEb19TZWdfVGVfS3VfS2lfU2VzX1NhIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIs''@;'; put 'put ''TExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW09oaW4gaWhhXSBMVCIsbmV4dERheToiW0FiYW4gaWhhXSBMVCIsbmV4dFdlZWs6ImRkZGQgW2loYV0gTFQiLGxhc3REYXk6IltIb3Jpc2VpayBpaGFdIExU''@;'; put 'put ''IixsYXN0V2VlazoiZGRkZCBbc2VtYW5hIGtvdHVrXSBbaWhhXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiaWhhICVzIixwYXN0OiIlcyBsaXViYSIsczoic2VndW5kdSBiYWx1biIsc3M6InNlZ3VuZHUgJWQiLG06Im1pbnV0dSBpZGEiLG1tOiJtaW51dHUgJWQi''@;'; put 'put ''LGg6Im9yYXMgaWRhIixoaDoib3JhcyAlZCIsZDoibG9yb24gaWRhIixkZDoibG9yb24gJWQiLE06ImZ1bGFuIGlkYSIsTU06ImZ1bGFuICVkIix5OiJ0aW5hbiBpZGEiLHl5OiJ0aW5hbiAlZCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oc3R8bmR8cmR8dGgpLyxvcmRpbmFs''@;'; put 'put ''OmZ1bmN0aW9uKGdlKXt2YXIgaGU9Z2UlMTA7cmV0dXJuIGdlKygxPT1+fihnZSUxMDAvMTApPyJ0aCI6MT09PWhlPyJzdCI6Mj09PWhlPyJuZCI6Mz09PWhlPyJyZCI6InRoIil9LHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDYzNjE6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5j''@;'; put 'put ''dGlvbihDZSl7InVzZSBzdHJpY3QiO3ZhciBvZT17MDoiLVx1MDQ0M1x1MDQzYyIsMToiLVx1MDQ0M1x1MDQzYyIsMjoiLVx1MDQ0ZVx1MDQzYyIsMzoiLVx1MDQ0ZVx1MDQzYyIsNDoiLVx1MDQ0M1x1MDQzYyIsNToiLVx1MDQ0M1x1MDQzYyIsNjoiLVx1MDQ0M1x1MDQzYyIsNzoiLVx1MDQ0''@;'; put 'put ''M1x1MDQzYyIsODoiLVx1MDQ0M1x1MDQzYyIsOToiLVx1MDQ0M1x1MDQzYyIsMTA6Ii1cdTA0NDNcdTA0M2MiLDEyOiItXHUwNDQzXHUwNDNjIiwxMzoiLVx1MDQ0M1x1MDQzYyIsMjA6Ii1cdTA0NDNcdTA0M2MiLDMwOiItXHUwNDRlXHUwNDNjIiw0MDoiLVx1MDQ0M1x1MDQzYyIsNTA6Ii1c''@;'; put 'put ''dTA0NDNcdTA0M2MiLDYwOiItXHUwNDQzXHUwNDNjIiw3MDoiLVx1MDQ0M1x1MDQzYyIsODA6Ii1cdTA0NDNcdTA0M2MiLDkwOiItXHUwNDQzXHUwNDNjIiwxMDA6Ii1cdTA0NDNcdTA0M2MifTtDZS5kZWZpbmVMb2NhbGUoInRnIix7bW9udGhzOntmb3JtYXQ6Ilx1MDQ0Zlx1MDQzZFx1MDQz''@;'; put 'put ''Mlx1MDQzMFx1MDQ0MFx1MDQzOF9cdTA0NDRcdTA0MzVcdTA0MzJcdTA0NDBcdTA0MzBcdTA0M2JcdTA0MzhfXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDM4X1x1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQzOF9cdTA0M2NcdTA0MzBcdTA0MzlcdTA0MzhfXHUwNDM4XHUw''@;'; put 'put ''NDRlXHUwNDNkXHUwNDM4X1x1MDQzOFx1MDQ0ZVx1MDQzYlx1MDQzOF9cdTA0MzBcdTA0MzJcdTA0MzNcdTA0NDNcdTA0NDFcdTA0NDJcdTA0MzhfXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDRmXHUwNDMxXHUwNDQwXHUwNDM4X1x1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1''@;'; put 'put ''MDQ0MFx1MDQzOF9cdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBcdTA0MzhfXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDMwXHUwNDMxXHUwNDQwXHUwNDM4Ii5zcGxpdCgiXyIpLHN0YW5kYWxvbmU6Ilx1MDQ0Zlx1MDQzZFx1MDQzMlx1MDQzMFx1MDQ0MF9cdTA0NDRcdTA0MzVcdTA0MzJc''@;'; put 'put ''dTA0NDBcdTA0MzBcdTA0M2JfXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyX1x1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzYl9cdTA0M2NcdTA0MzBcdTA0MzlfXHUwNDM4XHUwNDRlXHUwNDNkX1x1MDQzOFx1MDQ0ZVx1MDQzYl9cdTA0MzBcdTA0MzJcdTA0MzNcdTA0NDNcdTA0NDFcdTA0''@;'; put 'put ''NDJfXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDRmXHUwNDMxXHUwNDQwX1x1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1MDQ0MF9cdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBfXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDMwXHUwNDMxXHUwNDQwIi5zcGxpdCgiXyIpfSxt''@;'; put 'put ''b250aHNTaG9ydDoiXHUwNDRmXHUwNDNkXHUwNDMyX1x1MDQ0NFx1MDQzNVx1MDQzMl9cdTA0M2NcdTA0MzBcdTA0NDBfXHUwNDMwXHUwNDNmXHUwNDQwX1x1MDQzY1x1MDQzMFx1MDQzOV9cdTA0MzhcdTA0NGVcdTA0M2RfXHUwNDM4XHUwNDRlXHUwNDNiX1x1MDQzMFx1MDQzMlx1MDQzM19c''@;'; put 'put ''dTA0NDFcdTA0MzVcdTA0M2RfXHUwNDNlXHUwNDNhXHUwNDQyX1x1MDQzZFx1MDQzZVx1MDQ0Zl9cdTA0MzRcdTA0MzVcdTA0M2EiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MDQ0Zlx1MDQzYVx1MDQ0OFx1MDQzMFx1MDQzZFx1MDQzMVx1MDQzNV9cdTA0MzRcdTA0NDNcdTA0NDhcdTA0MzBc''@;'; put 'put ''dTA0M2RcdTA0MzFcdTA0MzVfXHUwNDQxXHUwNDM1XHUwNDQ4XHUwNDMwXHUwNDNkXHUwNDMxXHUwNDM1X1x1MDQ0N1x1MDQzZVx1MDQ0MFx1MDQ0OFx1MDQzMFx1MDQzZFx1MDQzMVx1MDQzNV9cdTA0M2ZcdTA0MzBcdTA0M2RcdTA0YjdcdTA0NDhcdTA0MzBcdTA0M2RcdTA0MzFcdTA0MzVf''@;'; put 'put ''XHUwNGI3XHUwNDQzXHUwNDNjXHUwNDRhXHUwNDMwX1x1MDQ0OFx1MDQzMFx1MDQzZFx1MDQzMVx1MDQzNSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTA0NGZcdTA0NDhcdTA0MzFfXHUwNDM0XHUwNDQ4XHUwNDMxX1x1MDQ0MVx1MDQ0OFx1MDQzMV9cdTA0NDdcdTA0NDhcdTA0MzFf''@;'; put 'put ''XHUwNDNmXHUwNDQ4XHUwNDMxX1x1MDRiN1x1MDQ0M1x1MDQzY19cdTA0NDhcdTA0M2RcdTA0MzEiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MDQ0Zlx1MDQ0OF9cdTA0MzRcdTA0NDhfXHUwNDQxXHUwNDQ4X1x1MDQ0N1x1MDQ0OF9cdTA0M2ZcdTA0NDhfXHUwNGI3XHUwNDNjX1x1MDQ0''@;'; put 'put ''OFx1MDQzMSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVE''@;'; put 'put ''YXk6IltcdTA0MThcdTA0M2NcdTA0NDBcdTA0ZWZcdTA0MzcgXHUwNDQxXHUwNDNlXHUwNDMwXHUwNDQyXHUwNDM4XSBMVCIsbmV4dERheToiW1x1MDQyNFx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzZSBcdTA0NDFcdTA0M2VcdTA0MzBcdTA0NDJcdTA0MzhdIExUIixsYXN0RGF5OiJbXHUwNDE0''@;'; put 'put ''XHUwNDM4XHUwNDQwXHUwNGVmXHUwNDM3IFx1MDQ0MVx1MDQzZVx1MDQzMFx1MDQ0Mlx1MDQzOF0gTFQiLG5leHRXZWVrOiJkZGRkW1x1MDQzOF0gW1x1MDRiM1x1MDQzMFx1MDQ0NFx1MDQ0Mlx1MDQzMFx1MDQzOCBcdTA0M2VcdTA0NGZcdTA0M2RcdTA0MzRcdTA0MzAgXHUwNDQxXHUwNDNl''@;'; put 'put ''XHUwNDMwXHUwNDQyXHUwNDM4XSBMVCIsbGFzdFdlZWs6ImRkZGRbXHUwNDM4XSBbXHUwNGIzXHUwNDMwXHUwNDQ0XHUwNDQyXHUwNDMwXHUwNDM4IFx1MDQzM1x1MDQ0M1x1MDQzN1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQzMCBcdTA0NDFcdTA0M2VcdTA0MzBcdTA0NDJcdTA0MzhdIExUIixz''@;'; put 'put ''YW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTA0MzFcdTA0MzBcdTA0NGFcdTA0MzRcdTA0MzggJXMiLHBhc3Q6IiVzIFx1MDQzZlx1MDQzNVx1MDQ0OCIsczoiXHUwNDRmXHUwNDNhXHUwNDQ3XHUwNDMwXHUwNDNkXHUwNDM0IFx1MDQ0MVx1MDQzZVx1MDQzZFx1MDQzOFx1''@;'; put 'put ''MDQ0ZiIsbToiXHUwNDRmXHUwNDNhIFx1MDQzNFx1MDQzMFx1MDQ5Ylx1MDQzOFx1MDQ5Ylx1MDQzMCIsbW06IiVkIFx1MDQzNFx1MDQzMFx1MDQ5Ylx1MDQzOFx1MDQ5Ylx1MDQzMCIsaDoiXHUwNDRmXHUwNDNhIFx1MDQ0MVx1MDQzZVx1MDQzMFx1MDQ0MiIsaGg6IiVkIFx1MDQ0MVx1MDQz''@;'; put 'put ''ZVx1MDQzMFx1MDQ0MiIsZDoiXHUwNDRmXHUwNDNhIFx1MDQ0MFx1MDRlZlx1MDQzNyIsZGQ6IiVkIFx1MDQ0MFx1MDRlZlx1MDQzNyIsTToiXHUwNDRmXHUwNDNhIFx1MDQzY1x1MDQzZVx1MDRiMyIsTU06IiVkIFx1MDQzY1x1MDQzZVx1MDRiMyIseToiXHUwNDRmXHUwNDNhIFx1MDQ0MVx1''@;'; put 'put ''MDQzZVx1MDQzYiIseXk6IiVkIFx1MDQ0MVx1MDQzZVx1MDQzYiJ9LG1lcmlkaWVtUGFyc2U6L1x1MDQ0OFx1MDQzMFx1MDQzMXxcdTA0NDFcdTA0NDNcdTA0MzFcdTA0YjN8XHUwNDQwXHUwNGVmXHUwNDM3fFx1MDQzMVx1MDQzNVx1MDQzM1x1MDQzZVx1MDRiMy8sbWVyaWRpZW1Ib3VyOmZ1''@;'; put 'put ''bmN0aW9uKGhlLFope3JldHVybiAxMj09PWhlJiYoaGU9MCksIlx1MDQ0OFx1MDQzMFx1MDQzMSI9PT1aP2hlPDQ/aGU6aGUrMTI6Ilx1MDQ0MVx1MDQ0M1x1MDQzMVx1MDRiMyI9PT1aP2hlOiJcdTA0NDBcdTA0ZWZcdTA0MzciPT09Wj9oZT49MTE/aGU6aGUrMTI6Ilx1MDQzMVx1MDQzNVx1''@;'; put 'put ''MDQzM1x1MDQzZVx1MDRiMyI9PT1aP2hlKzEyOnZvaWQgMH0sbWVyaWRpZW06ZnVuY3Rpb24oaGUsWixBKXtyZXR1cm4gaGU8ND8iXHUwNDQ4XHUwNDMwXHUwNDMxIjpoZTwxMT8iXHUwNDQxXHUwNDQzXHUwNDMxXHUwNGIzIjpoZTwxNj8iXHUwNDQwXHUwNGVmXHUwNDM3IjpoZTwxOT8iXHUw''@;'; put 'put ''NDMxXHUwNDM1XHUwNDMzXHUwNDNlXHUwNGIzIjoiXHUwNDQ4XHUwNDMwXHUwNDMxIn0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfS0oXHUwNDQzXHUwNDNjfFx1MDQ0ZVx1MDQzYykvLG9yZGluYWw6ZnVuY3Rpb24oaGUpe3JldHVybiBoZSsob2VbaGVdfHxvZVtoZSUxMF18fG9l''@;'; put 'put ''W2hlPj0xMDA/MTAwOm51bGxdKX0sd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sMTczNTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJ0aCIse21vbnRoczoiXHUwZTIxXHUwZTAxXHUwZTIzXHUwZTMyXHUwZTA0''@;'; put 'put ''XHUwZTIxX1x1MGUwMVx1MGUzOFx1MGUyMVx1MGUyMFx1MGUzMlx1MGUxZVx1MGUzMVx1MGUxOVx1MGUxOFx1MGU0Y19cdTBlMjFcdTBlMzVcdTBlMTlcdTBlMzJcdTBlMDRcdTBlMjFfXHUwZTQwXHUwZTIxXHUwZTI5XHUwZTMyXHUwZTIyXHUwZTE5X1x1MGUxZVx1MGUyNFx1MGUyOVx1MGUy''@;'; put 'put ''MFx1MGUzMlx1MGUwNFx1MGUyMV9cdTBlMjFcdTBlMzRcdTBlMTZcdTBlMzhcdTBlMTlcdTBlMzJcdTBlMjJcdTBlMTlfXHUwZTAxXHUwZTIzXHUwZTAxXHUwZTBlXHUwZTMyXHUwZTA0XHUwZTIxX1x1MGUyYVx1MGUzNFx1MGUwN1x1MGUyYlx1MGUzMlx1MGUwNFx1MGUyMV9cdTBlMDFcdTBl''@;'; put 'put ''MzFcdTBlMTlcdTBlMjJcdTBlMzJcdTBlMjJcdTBlMTlfXHUwZTE1XHUwZTM4XHUwZTI1XHUwZTMyXHUwZTA0XHUwZTIxX1x1MGUxZVx1MGUyNFx1MGUyOFx1MGUwOFx1MGUzNFx1MGUwMVx1MGUzMlx1MGUyMlx1MGUxOV9cdTBlMThcdTBlMzFcdTBlMTlcdTBlMjdcdTBlMzJcdTBlMDRcdTBl''@;'; put 'put ''MjEiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MGUyMS5cdTBlMDQuX1x1MGUwMS5cdTBlMWUuX1x1MGUyMVx1MGUzNS5cdTBlMDQuX1x1MGU0MFx1MGUyMS5cdTBlMjIuX1x1MGUxZS5cdTBlMDQuX1x1MGUyMVx1MGUzNC5cdTBlMjIuX1x1MGUwMS5cdTBlMDQuX1x1MGUyYS5cdTBlMDQu''@;'; put 'put ''X1x1MGUwMS5cdTBlMjIuX1x1MGUxNS5cdTBlMDQuX1x1MGUxZS5cdTBlMjIuX1x1MGUxOC5cdTBlMDQuIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6Ilx1MGUyZFx1MGUzMlx1MGUxN1x1MGUzNFx1MGUxNVx1MGUyMlx1MGU0Y19cdTBlMDhcdTBlMzFcdTBlMTlc''@;'; put 'put ''dTBlMTdcdTBlMjNcdTBlNGNfXHUwZTJkXHUwZTMxXHUwZTA3XHUwZTA0XHUwZTMyXHUwZTIzX1x1MGUxZVx1MGUzOFx1MGUxOF9cdTBlMWVcdTBlMjRcdTBlMmJcdTBlMzFcdTBlMmFcdTBlMWFcdTBlMTRcdTBlMzVfXHUwZTI4XHUwZTM4XHUwZTAxXHUwZTIzXHUwZTRjX1x1MGU0MFx1MGUy''@;'; put 'put ''YVx1MGUzMlx1MGUyM1x1MGU0YyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTBlMmRcdTBlMzJcdTBlMTdcdTBlMzRcdTBlMTVcdTBlMjJcdTBlNGNfXHUwZTA4XHUwZTMxXHUwZTE5XHUwZTE3XHUwZTIzXHUwZTRjX1x1MGUyZFx1MGUzMVx1MGUwN1x1MGUwNFx1MGUzMlx1MGUyM19c''@;'; put 'put ''dTBlMWVcdTBlMzhcdTBlMThfXHUwZTFlXHUwZTI0XHUwZTJiXHUwZTMxXHUwZTJhX1x1MGUyOFx1MGUzOFx1MGUwMVx1MGUyM1x1MGU0Y19cdTBlNDBcdTBlMmFcdTBlMzJcdTBlMjNcdTBlNGMiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MGUyZFx1MGUzMi5fXHUwZTA4Ll9cdTBlMmQu''@;'; put 'put ''X1x1MGUxZS5fXHUwZTFlXHUwZTI0Ll9cdTBlMjguX1x1MGUyYS4iLnNwbGl0KCJfIiksd2Vla2RheXNQYXJzZUV4YWN0OiEwLGxvbmdEYXRlRm9ybWF0OntMVDoiSDptbSIsTFRTOiJIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgXHUw''@;'; put 'put ''ZTQwXHUwZTI3XHUwZTI1XHUwZTMyIEg6bW0iLExMTEw6Ilx1MGUyN1x1MGUzMVx1MGUxOWRkZGRcdTBlMTdcdTBlMzVcdTBlNDggRCBNTU1NIFlZWVkgXHUwZTQwXHUwZTI3XHUwZTI1XHUwZTMyIEg6bW0ifSxtZXJpZGllbVBhcnNlOi9cdTBlMDFcdTBlNDhcdTBlMmRcdTBlMTlcdTBlNDBc''@;'; put 'put ''dTBlMTdcdTBlMzVcdTBlNDhcdTBlMjJcdTBlMDd8XHUwZTJiXHUwZTI1XHUwZTMxXHUwZTA3XHUwZTQwXHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTIyXHUwZTA3Lyxpc1BNOmZ1bmN0aW9uKGdlKXtyZXR1cm4iXHUwZTJiXHUwZTI1XHUwZTMxXHUwZTA3XHUwZTQwXHUwZTE3XHUwZTM1XHUwZTQ4''@;'; put 'put ''XHUwZTIyXHUwZTA3Ij09PWdlfSxtZXJpZGllbTpmdW5jdGlvbihnZSxoZSxaKXtyZXR1cm4gZ2U8MTI/Ilx1MGUwMVx1MGU0OFx1MGUyZFx1MGUxOVx1MGU0MFx1MGUxN1x1MGUzNVx1MGU0OFx1MGUyMlx1MGUwNyI6Ilx1MGUyYlx1MGUyNVx1MGUzMVx1MGUwN1x1MGU0MFx1MGUxN1x1MGUz''@;'; put 'put ''NVx1MGU0OFx1MGUyMlx1MGUwNyJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbXHUwZTI3XHUwZTMxXHUwZTE5XHUwZTE5XHUwZTM1XHUwZTQ5IFx1MGU0MFx1MGUyN1x1MGUyNVx1MGUzMl0gTFQiLG5leHREYXk6IltcdTBlMWVcdTBlMjNcdTBlMzhcdTBlNDhcdTBlMDdcdTBlMTlcdTBlMzVcdTBl''@;'; put 'put ''NDkgXHUwZTQwXHUwZTI3XHUwZTI1XHUwZTMyXSBMVCIsbmV4dFdlZWs6ImRkZGRbXHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyIFx1MGU0MFx1MGUyN1x1MGUyNVx1MGUzMl0gTFQiLGxhc3REYXk6IltcdTBlNDBcdTBlMjFcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMjdcdTBlMzJcdTBlMTlcdTBl''@;'; put 'put ''MTlcdTBlMzVcdTBlNDkgXHUwZTQwXHUwZTI3XHUwZTI1XHUwZTMyXSBMVCIsbGFzdFdlZWs6IltcdTBlMjdcdTBlMzFcdTBlMTldZGRkZFtcdTBlMTdcdTBlMzVcdTBlNDhcdTBlNDFcdTBlMjVcdTBlNDlcdTBlMjcgXHUwZTQwXHUwZTI3XHUwZTI1XHUwZTMyXSBMVCIsc2FtZUVsc2U6Ikwi''@;'; put 'put ''fSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiXHUwZTJkXHUwZTM1XHUwZTAxICVzIixwYXN0OiIlc1x1MGUxN1x1MGUzNVx1MGU0OFx1MGU0MVx1MGUyNVx1MGU0OVx1MGUyNyIsczoiXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTAxXHUwZTM1XHUwZTQ4XHUwZTI3XHUwZTM0XHUwZTE5XHUwZTMyXHUw''@;'; put 'put ''ZTE3XHUwZTM1IixzczoiJWQgXHUwZTI3XHUwZTM0XHUwZTE5XHUwZTMyXHUwZTE3XHUwZTM1IixtOiIxIFx1MGUxOVx1MGUzMlx1MGUxN1x1MGUzNSIsbW06IiVkIFx1MGUxOVx1MGUzMlx1MGUxN1x1MGUzNSIsaDoiMSBcdTBlMGFcdTBlMzFcdTBlNDhcdTBlMjdcdTBlNDJcdTBlMjFcdTBl''@;'; put 'put ''MDciLGhoOiIlZCBcdTBlMGFcdTBlMzFcdTBlNDhcdTBlMjdcdTBlNDJcdTBlMjFcdTBlMDciLGQ6IjEgXHUwZTI3XHUwZTMxXHUwZTE5IixkZDoiJWQgXHUwZTI3XHUwZTMxXHUwZTE5Iix3OiIxIFx1MGUyYVx1MGUzMVx1MGUxYlx1MGUxNFx1MGUzMlx1MGUyYlx1MGU0YyIsd3c6IiVkIFx1''@;'; put 'put ''MGUyYVx1MGUzMVx1MGUxYlx1MGUxNFx1MGUzMlx1MGUyYlx1MGU0YyIsTToiMSBcdTBlNDBcdTBlMTRcdTBlMzdcdTBlMmRcdTBlMTkiLE1NOiIlZCBcdTBlNDBcdTBlMTRcdTBlMzdcdTBlMmRcdTBlMTkiLHk6IjEgXHUwZTFiXHUwZTM1Iix5eToiJWQgXHUwZTFiXHUwZTM1In19KX0oRmUo''@;'; put 'put ''NjczOCkpfSwxNTY4OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ezE6IidpbmppIiw1OiInaW5qaSIsODoiJ2luamkiLDcwOiInaW5qaSIsODA6IidpbmppIiwyOiInbmppIiw3OiInbmppIiwyMDoiJ25qaSIsNTA6IiduamkiLDM6IidceGZj''@;'; put 'put ''bmppIiw0OiInXHhmY25qaSIsMTAwOiInXHhmY25qaSIsNjoiJ25qeSIsOToiJ3VuankiLDEwOiIndW5qeSIsMzA6Iid1bmp5Iiw2MDoiJ3luankiLDkwOiIneW5qeSJ9O0NlLmRlZmluZUxvY2FsZSgidGsiLHttb250aHM6Ilx4ZGRhbndhcl9GZXdyYWxfTWFydF9BcHJlbF9NYVx4ZmRfSVx4''@;'; put 'put ''ZmR1bl9JXHhmZHVsX0F3Z3VzdF9TZW50XHhmZGFicl9Pa3RceGZkYWJyX05vXHhmZGFicl9EZWthYnIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx4ZGRhbl9GZXdfTWFyX0Fwcl9NYVx4ZmRfSVx4ZmRuX0lceGZkbF9Bd2dfU2VuX09rdF9Ob1x4ZmRfRGVrIi5zcGxpdCgiXyIpLHdlZWtk''@;'; put 'put ''YXlzOiJceGRkZWtcdTAxNWZlbmJlX0R1XHUwMTVmZW5iZV9TaVx1MDE1ZmVuYmVfXHhjN2FyXHUwMTVmZW5iZV9QZW5cdTAxNWZlbmJlX0FubmFfXHUwMTVlZW5iZSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJceGRkZWtfRHVcdTAxNWZfU2lcdTAxNWZfXHhjN2FyX1Blbl9Bbm5fXHUw''@;'; put 'put ''MTVlZW4iLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx4ZGRrX0RcdTAxNWZfU1x1MDE1Zl9ceGM3cl9Qbl9Bbl9cdTAxNWVuIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJE''@;'; put 'put ''IE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCwgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW2J1Z1x4ZmNuIHNhZ2F0XSBMVCIsbmV4dERheToiW2VydGlyIHNhZ2F0XSBMVCIsbmV4dFdlZWs6IltpbmRpa2ldIGRkZGQgW3NhZ2F0XSBMVCIsbGFzdERheToiW2Rc''@;'; put 'put ''eGZjXHhmZG5dIExUIixsYXN0V2VlazoiW2dlXHhlN2VuXSBkZGRkIFtzYWdhdF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIHNvXHUwMTQ4IixwYXN0OiIlcyBceGY2XHUwMTQ4IixzOiJiaXJuXHhlNFx4ZTdlIHNla3VudCIsbToiYmlyIG1pbnV0IixtbToi''@;'; put 'put ''JWQgbWludXQiLGg6ImJpciBzYWdhdCIsaGg6IiVkIHNhZ2F0IixkOiJiaXIgZ1x4ZmNuIixkZDoiJWQgZ1x4ZmNuIixNOiJiaXIgYVx4ZmQiLE1NOiIlZCBhXHhmZCIseToiYmlyIFx4ZmR5bCIseXk6IiVkIFx4ZmR5bCJ9LG9yZGluYWw6ZnVuY3Rpb24oaGUsWil7c3dpdGNoKFope2Nhc2Ui''@;'; put 'put ''ZCI6Y2FzZSJEIjpjYXNlIkRvIjpjYXNlIkREIjpyZXR1cm4gaGU7ZGVmYXVsdDppZigwPT09aGUpcmV0dXJuIGhlKyIndW5qeSI7dmFyIEE9aGUlMTA7cmV0dXJuIGhlKyhvZVtBXXx8b2VbaGUlMTAwLUFdfHxvZVtoZT49MTAwPzEwMDpudWxsXSl9fSx3ZWVrOntkb3c6MSxkb3k6N319KX0o''@;'; put 'put ''RmUoNjczOCkpfSw2MTI5OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInRsLXBoIix7bW9udGhzOiJFbmVyb19QZWJyZXJvX01hcnNvX0FicmlsX01heW9fSHVueW9fSHVseW9fQWdvc3RvX1NldHllbWJyZV9Pa3R1YnJlX05v''@;'; put 'put ''YnllbWJyZV9EaXN5ZW1icmUiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6IkVuZV9QZWJfTWFyX0Ficl9NYXlfSHVuX0h1bF9BZ29fU2V0X09rdF9Ob2JfRGlzIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJMaW5nZ29fTHVuZXNfTWFydGVzX01peWVya3VsZXNfSHV3ZWJlc19CaXllcm5lc19TYWJh''@;'; put 'put ''ZG8iLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiTGluX0x1bl9NYXJfTWl5X0h1d19CaXlfU2FiIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJMaV9MdV9NYV9NaV9IdV9CaV9TYWIiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiTU0v''@;'; put 'put ''RC9ZWVlZIixMTDoiTU1NTSBELCBZWVlZIixMTEw6Ik1NTU0gRCwgWVlZWSBISDptbSIsTExMTDoiZGRkZCwgTU1NTSBERCwgWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJMVCBbbmdheW9uZyBhcmF3XSIsbmV4dERheToiW0J1a2FzIG5nXSBMVCIsbmV4dFdlZWs6IkxUIFtzYSBz''@;'; put 'put ''dXN1bm9kIG5hXSBkZGRkIixsYXN0RGF5OiJMVCBba2FoYXBvbl0iLGxhc3RXZWVrOiJMVCBbbm9vbmcgbmFrYXJhYW5nXSBkZGRkIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJzYSBsb29iIG5nICVzIixwYXN0OiIlcyBhbmcgbmFrYWxpcGFzIixzOiJpbGFuZyBzZWd1''@;'; put 'put ''bmRvIixzczoiJWQgc2VndW5kbyIsbToiaXNhbmcgbWludXRvIixtbToiJWQgbWludXRvIixoOiJpc2FuZyBvcmFzIixoaDoiJWQgb3JhcyIsZDoiaXNhbmcgYXJhdyIsZGQ6IiVkIGFyYXciLE06ImlzYW5nIGJ1d2FuIixNTToiJWQgYnV3YW4iLHk6ImlzYW5nIHRhb24iLHl5OiIlZCB0YW9u''@;'; put 'put ''In0sZGF5T2ZNb250aE9yZGluYWxQYXJzZTovXGR7MSwyfS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7cmV0dXJuIGdlfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSwzNzU5OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9InBhZ2hf''@;'; put 'put ''d2FcdTIwMTlfY2hhXHUyMDE5X3dlal9sb1NfdmFnaF9qYXZfU29jaF9jaG9yZ2hfSHV0Ii5zcGxpdCgiXyIpO2Z1bmN0aW9uIFooTix6LEMsUyl7dmFyIG09ZnVuY3Rpb24gQShOKXt2YXIgej1NYXRoLmZsb29yKE4lMWUzLzEwMCksQz1NYXRoLmZsb29yKE4lMTAwLzEwKSxTPU4lMTAsbT0i''@;'; put 'put ''IjtyZXR1cm4gej4wJiYobSs9b2Vbel0rInZhdGxoIiksQz4wJiYobSs9KCIiIT09bT8iICI6IiIpK29lW0NdKyJtYUgiKSxTPjAmJihtKz0oIiIhPT1tPyIgIjoiIikrb2VbU10pLCIiPT09bT8icGFnaCI6bX0oTik7c3dpdGNoKEMpe2Nhc2Uic3MiOnJldHVybiBtKyIgbHVwIjtjYXNlIm1t''@;'; put 'put ''IjpyZXR1cm4gbSsiIHR1cCI7Y2FzZSJoaCI6cmV0dXJuIG0rIiByZXAiO2Nhc2UiZGQiOnJldHVybiBtKyIgamFqIjtjYXNlIk1NIjpyZXR1cm4gbSsiIGphciI7Y2FzZSJ5eSI6cmV0dXJuIG0rIiBESVMifX1DZS5kZWZpbmVMb2NhbGUoInRsaCIse21vbnRoczoidGVyYVx1MjAxOSBqYXIg''@;'; put 'put ''d2FcdTIwMTlfdGVyYVx1MjAxOSBqYXIgY2hhXHUyMDE5X3RlcmFcdTIwMTkgamFyIHdlal90ZXJhXHUyMDE5IGphciBsb1NfdGVyYVx1MjAxOSBqYXIgdmFnaF90ZXJhXHUyMDE5IGphciBqYXZfdGVyYVx1MjAxOSBqYXIgU29jaF90ZXJhXHUyMDE5IGphciBjaG9yZ2hfdGVyYVx1MjAxOSBq''@;'; put 'put ''YXIgSHV0X3RlcmFcdTIwMTkgamFyIHdhXHUyMDE5bWFIX3RlcmFcdTIwMTkgamFyIHdhXHUyMDE5bWFIIHdhXHUyMDE5X3RlcmFcdTIwMTkgamFyIHdhXHUyMDE5bWFIIGNoYVx1MjAxOSIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiamFyIHdhXHUyMDE5X2phciBjaGFcdTIwMTlfamFyIHdl''@;'; put 'put ''al9qYXIgbG9TX2phciB2YWdoX2phciBqYXZfamFyIFNvY2hfamFyIGNob3JnaF9qYXIgSHV0X2phciB3YVx1MjAxOW1hSF9qYXIgd2FcdTIwMTltYUggd2FcdTIwMTlfamFyIHdhXHUyMDE5bWFIIGNoYVx1MjAxOSIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4YWN0OiEwLHdlZWtkYXlzOiJs''@;'; put 'put ''b2ptSXRqYWpfRGFTamFqX3Bvdmphal9naEl0bGhqYWpfbG9naGphal9idXFqYWpfZ2hJbmphaiIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJsb2ptSXRqYWpfRGFTamFqX3Bvdmphal9naEl0bGhqYWpfbG9naGphal9idXFqYWpfZ2hJbmphaiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoi''@;'; put 'put ''bG9qbUl0amFqX0RhU2phal9wb3ZqYWpfZ2hJdGxoamFqX2xvZ2hqYWpfYnVxamFqX2doSW5qYWoiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1t''@;'; put 'put ''IixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbRGFIamFqXSBMVCIsbmV4dERheToiW3dhXHUyMDE5bGVTXSBMVCIsbmV4dFdlZWs6IkxMTCIsbGFzdERheToiW3dhXHUyMDE5SHVcdTIwMTldIExUIixsYXN0V2VlazoiTExMIixzYW1lRWxzZToi''@;'; put 'put ''TCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOmZ1bmN0aW9uIGdlKE4pe3ZhciB6PU47cmV0dXJuLTEhPT1OLmluZGV4T2YoImphaiIpP3ouc2xpY2UoMCwtMykrImxlUyI6LTEhPT1OLmluZGV4T2YoImphciIpP3ouc2xpY2UoMCwtMykrIndhUSI6LTEhPT1OLmluZGV4T2YoIkRJUyIpP3ouc2xp''@;'; put 'put ''Y2UoMCwtMykrIm5lbSI6eisiIHBJcSJ9LHBhc3Q6ZnVuY3Rpb24gaGUoTil7dmFyIHo9TjtyZXR1cm4tMSE9PU4uaW5kZXhPZigiamFqIik/ei5zbGljZSgwLC0zKSsiSHVcdTIwMTkiOi0xIT09Ti5pbmRleE9mKCJqYXIiKT96LnNsaWNlKDAsLTMpKyJ3ZW4iOi0xIT09Ti5pbmRleE9mKCJE''@;'; put 'put ''SVMiKT96LnNsaWNlKDAsLTMpKyJiZW4iOnorIiByZXQifSxzOiJwdVMgbHVwIixzczpaLG06IndhXHUyMDE5IHR1cCIsbW06WixoOiJ3YVx1MjAxOSByZXAiLGhoOlosZDoid2FcdTIwMTkgamFqIixkZDpaLE06IndhXHUyMDE5IGphciIsTU06Wix5OiJ3YVx1MjAxOSBESVMiLHl5Olp9LGRh''@;'; put 'put ''eU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn1cLi8sb3JkaW5hbDoiJWQuIix3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSwxNjQ0OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0Ijt2YXIgb2U9ezE6IidpbmNpIiw1OiInaW5jaSIsODoiJ2lu''@;'; put 'put ''Y2kiLDcwOiInaW5jaSIsODA6IidpbmNpIiwyOiInbmNpIiw3OiInbmNpIiwyMDoiJ25jaSIsNTA6IiduY2kiLDM6IidceGZjbmNceGZjIiw0OiInXHhmY25jXHhmYyIsMTAwOiInXHhmY25jXHhmYyIsNjoiJ25jXHUwMTMxIiw5OiIndW5jdSIsMTA6Iid1bmN1IiwzMDoiJ3VuY3UiLDYwOiIn''@;'; put 'put ''XHUwMTMxbmNcdTAxMzEiLDkwOiInXHUwMTMxbmNcdTAxMzEifTtDZS5kZWZpbmVMb2NhbGUoInRyIix7bW9udGhzOiJPY2FrX1x1MDE1ZXViYXRfTWFydF9OaXNhbl9NYXlcdTAxMzFzX0hhemlyYW5fVGVtbXV6X0FcdTAxMWZ1c3Rvc19FeWxceGZjbF9Fa2ltX0thc1x1MDEzMW1fQXJhbFx1''@;'; put 'put ''MDEzMWsiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ik9jYV9cdTAxNWV1Yl9NYXJfTmlzX01heV9IYXpfVGVtX0FcdTAxMWZ1X0V5bF9Fa2lfS2FzX0FyYSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiUGF6YXJfUGF6YXJ0ZXNpX1NhbFx1MDEzMV9ceGM3YXJcdTAxNWZhbWJhX1Blclx1MDE1ZmVt''@;'; put 'put ''YmVfQ3VtYV9DdW1hcnRlc2kiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiUGF6X1B6dF9TYWxfXHhjN2FyX1Blcl9DdW1fQ210Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJQel9QdF9TYV9ceGM3YV9QZV9DdV9DdCIuc3BsaXQoIl8iKSxtZXJpZGllbTpmdW5jdGlvbihoZSxaLEEpe3Jl''@;'; put 'put ''dHVybiBoZTwxMj9BPyJceGY2XHhmNiI6Ilx4ZDZceGQ2IjpBPyJceGY2cyI6Ilx4ZDZTIn0sbWVyaWRpZW1QYXJzZTovXHhmNlx4ZjZ8XHhkNlx4ZDZ8XHhmNnN8XHhkNlMvLGlzUE06ZnVuY3Rpb24oaGUpe3JldHVybiJceGY2cyI9PT1oZXx8Ilx4ZDZTIj09PWhlfSxsb25nRGF0ZUZvcm1h''@;'; put 'put ''dDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC5NTS5ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltidWdceGZjbiBzYWF0XSBMVCIsbmV4dERheToi''@;'; put 'put ''W3lhclx1MDEzMW4gc2FhdF0gTFQiLG5leHRXZWVrOiJbZ2VsZWNla10gZGRkZCBbc2FhdF0gTFQiLGxhc3REYXk6IltkXHhmY25dIExUIixsYXN0V2VlazoiW2dlXHhlN2VuXSBkZGRkIFtzYWF0XSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiJXMgc29ucmEiLHBh''@;'; put 'put ''c3Q6IiVzIFx4ZjZuY2UiLHM6ImJpcmthXHhlNyBzYW5peWUiLHNzOiIlZCBzYW5peWUiLG06ImJpciBkYWtpa2EiLG1tOiIlZCBkYWtpa2EiLGg6ImJpciBzYWF0IixoaDoiJWQgc2FhdCIsZDoiYmlyIGdceGZjbiIsZGQ6IiVkIGdceGZjbiIsdzoiYmlyIGhhZnRhIix3dzoiJWQgaGFmdGEi''@;'; put 'put ''LE06ImJpciBheSIsTU06IiVkIGF5Iix5OiJiaXIgeVx1MDEzMWwiLHl5OiIlZCB5XHUwMTMxbCJ9LG9yZGluYWw6ZnVuY3Rpb24oaGUsWil7c3dpdGNoKFope2Nhc2UiZCI6Y2FzZSJEIjpjYXNlIkRvIjpjYXNlIkREIjpyZXR1cm4gaGU7ZGVmYXVsdDppZigwPT09aGUpcmV0dXJuIGhlKyIn''@;'; put 'put ''XHUwMTMxbmNcdTAxMzEiO3ZhciBBPWhlJTEwO3JldHVybiBoZSsob2VbQV18fG9lW2hlJTEwMC1BXXx8b2VbaGU+PTEwMD8xMDA6bnVsbF0pfX0sd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sODc1OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0''@;'; put 'put ''IjtmdW5jdGlvbiBnZShoZSxaLEEsail7dmFyIE49e3M6WyJ2aWVuc2FzIHNlY3VuZHMiLCInaWVuc2FzIHNlY3VuZHMiXSxzczpbaGUrIiBzZWN1bmRzIixoZSsiIHNlY3VuZHMiXSxtOlsiJ24gbVx4ZWR1dCIsIidpZW5zIG1ceGVkdXQiXSxtbTpbaGUrIiBtXHhlZHV0cyIsaGUrIiBtXHhl''@;'; put 'put ''ZHV0cyJdLGg6WyInbiBceGZlb3JhIiwiJ2llbnNhIFx4ZmVvcmEiXSxoaDpbaGUrIiBceGZlb3JhcyIsaGUrIiBceGZlb3JhcyJdLGQ6WyInbiB6aXVhIiwiJ2llbnNhIHppdWEiXSxkZDpbaGUrIiB6aXVhcyIsaGUrIiB6aXVhcyJdLE06WyInbiBtZXMiLCInaWVucyBtZXMiXSxNTTpbaGUr''@;'; put 'put ''IiBtZXNlbiIsaGUrIiBtZXNlbiJdLHk6WyInbiBhciIsIidpZW5zIGFyIl0seXk6W2hlKyIgYXJzIixoZSsiIGFycyJdfTtyZXR1cm4ganx8Wj9OW0FdWzBdOk5bQV1bMV19Q2UuZGVmaW5lTG9jYWxlKCJ0emwiLHttb250aHM6IkphbnVhcl9GZXZyYWdsaF9NYXJceGU3X0F2clx4ZWZ1X01h''@;'; put 'put ''aV9HXHhmY25fSnVsaWFfR3VzY2h0X1NldGVtdmFyX0xpc3RvcFx4ZTR0c19Ob2VtdmFyX1plY2VtdmFyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJKYW5fRmV2X01hcl9BdnJfTWFpX0dceGZjbl9KdWxfR3VzX1NldF9MaXNfTm9lX1plYyIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiU1x4ZmFs''@;'; put 'put ''YWRpX0xceGZhbmVceGU3aV9NYWl0emlfTVx4ZTFyY3VyaV9YaFx4ZmFhZGlfVmlceGU5bmVyXHhlN2lfU1x4ZTF0dXJpIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IlNceGZhbF9MXHhmYW5fTWFpX01ceGUxcl9YaFx4ZmFfVmlceGU5X1NceGUxdCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01p''@;'; put 'put ''bjoiU1x4ZmFfTFx4ZmFfTWFfTVx4ZTFfWGhfVmlfU1x4ZTEiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISC5tbSIsTFRTOiJISC5tbS5zcyIsTDoiREQuTU0uWVlZWSIsTEw6IkQuIE1NTU0gW2RhbGxhc10gWVlZWSIsTExMOiJELiBNTU1NIFtkYWxsYXNdIFlZWVkgSEgubW0i''@;'; put 'put ''LExMTEw6ImRkZGQsIFtsaV0gRC4gTU1NTSBbZGFsbGFzXSBZWVlZIEhILm1tIn0sbWVyaWRpZW1QYXJzZTovZFwnb3xkXCdhL2ksaXNQTTpmdW5jdGlvbihoZSl7cmV0dXJuImQnbyI9PT1oZS50b0xvd2VyQ2FzZSgpfSxtZXJpZGllbTpmdW5jdGlvbihoZSxaLEEpe3JldHVybiBoZT4xMT9B''@;'; put 'put ''PyJkJ28iOiJEJ08iOkE/ImQnYSI6IkQnQSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbb3hoaSBceGUwXSBMVCIsbmV4dERheToiW2RlbVx4ZTAgXHhlMF0gTFQiLG5leHRXZWVrOiJkZGRkIFtceGUwXSBMVCIsbGFzdERheToiW2llaXJpIFx4ZTBdIExUIixsYXN0V2VlazoiW3NceGZjciBlbF0g''@;'; put 'put ''ZGRkZCBbbGFzdGV1IFx4ZTBdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJvc3ByZWkgJXMiLHBhc3Q6ImphJXMiLHM6Z2Usc3M6Z2UsbTpnZSxtbTpnZSxoOmdlLGhoOmdlLGQ6Z2UsZGQ6Z2UsTTpnZSxNTTpnZSx5OmdlLHl5OmdlfSxkYXlPZk1vbnRoT3JkaW5h''@;'; put 'put ''bFBhcnNlOi9cZHsxLDJ9XC4vLG9yZGluYWw6IiVkLiIsd2Vlazp7ZG93OjEsZG95OjR9fSl9KEZlKDY3MzgpKX0sMTA0MTpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJ0em0tbGF0biIse21vbnRoczoiaW5uYXlyX2JyXHUw''@;'; put 'put ''MmU0YXlyXHUwMmU0X21hclx1MDJlNHNcdTAyZTRfaWJyaXJfbWF5eXdfeXdueXdfeXdseXd6X1x1MDI2M3dcdTAxNjF0X1x1MDE2MXd0YW5iaXJfa3RcdTAyZTR3YnJcdTAyZTRfbnd3YW5iaXJfZHdqbmJpciIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiaW5uYXlyX2JyXHUwMmU0YXlyXHUw''@;'; put 'put ''MmU0X21hclx1MDJlNHNcdTAyZTRfaWJyaXJfbWF5eXdfeXdueXdfeXdseXd6X1x1MDI2M3dcdTAxNjF0X1x1MDE2MXd0YW5iaXJfa3RcdTAyZTR3YnJcdTAyZTRfbnd3YW5iaXJfZHdqbmJpciIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiYXNhbWFzX2F5bmFzX2FzaW5hc19ha3Jhc19ha3dhc19h''@;'; put 'put ''c2ltd2FzX2FzaVx1MWUwZHlhcyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJhc2FtYXNfYXluYXNfYXNpbmFzX2FrcmFzX2Frd2FzX2FzaW13YXNfYXNpXHUxZTBkeWFzIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJhc2FtYXNfYXluYXNfYXNpbmFzX2FrcmFzX2Frd2FzX2FzaW13YXNf''@;'; put 'put ''YXNpXHUxZTBkeWFzIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiZGRkZCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntz''@;'; put 'put ''YW1lRGF5OiJbYXNka2ggZ10gTFQiLG5leHREYXk6Ilthc2thIGddIExUIixuZXh0V2VlazoiZGRkZCBbZ10gTFQiLGxhc3REYXk6Ilthc3NhbnQgZ10gTFQiLGxhc3RXZWVrOiJkZGRkIFtnXSBMVCIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiZGFka2ggcyB5YW4gJXMi''@;'; put 'put ''LHBhc3Q6InlhbiAlcyIsczoiaW1payIsc3M6IiVkIGltaWsiLG06Im1pbnVcdTFlMGQiLG1tOiIlZCBtaW51XHUxZTBkIixoOiJzYVx1MDI1YmEiLGhoOiIlZCB0YXNzYVx1MDI1YmluIixkOiJhc3MiLGRkOiIlZCBvc3NhbiIsTToiYXlvd3IiLE1NOiIlZCBpeXlpcm4iLHk6ImFzZ2FzIix5''@;'; put 'put ''eToiJWQgaXNnYXNuIn0sd2Vlazp7ZG93OjYsZG95OjEyfX0pfShGZSg2NzM4KSl9LDY4Nzg6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgidHptIix7bW9udGhzOiJcdTJkNDlcdTJkNGZcdTJkNGZcdTJkMzBcdTJkNjJcdTJk''@;'; put 'put ''NTRfXHUyZDMxXHUyZDU1XHUyZDMwXHUyZDYyXHUyZDU1X1x1MmQ0ZVx1MmQzMFx1MmQ1NVx1MmQ1YV9cdTJkNDlcdTJkMzFcdTJkNTRcdTJkNDlcdTJkNTRfXHUyZDRlXHUyZDMwXHUyZDYyXHUyZDYyXHUyZDUzX1x1MmQ2Mlx1MmQ1M1x1MmQ0Zlx1MmQ2Mlx1MmQ1M19cdTJkNjJcdTJkNTNc''@;'; put 'put ''dTJkNGRcdTJkNjJcdTJkNTNcdTJkNjNfXHUyZDU2XHUyZDUzXHUyZDViXHUyZDVjX1x1MmQ1Ylx1MmQ1M1x1MmQ1Y1x1MmQzMFx1MmQ0Zlx1MmQzMVx1MmQ0OVx1MmQ1NF9cdTJkM2RcdTJkNWZcdTJkNTNcdTJkMzFcdTJkNTVfXHUyZDRmXHUyZDUzXHUyZDYxXHUyZDMwXHUyZDRmXHUyZDMx''@;'; put 'put ''XHUyZDQ5XHUyZDU0X1x1MmQzN1x1MmQ1M1x1MmQ0YVx1MmQ0Zlx1MmQzMVx1MmQ0OVx1MmQ1NCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiXHUyZDQ5XHUyZDRmXHUyZDRmXHUyZDMwXHUyZDYyXHUyZDU0X1x1MmQzMVx1MmQ1NVx1MmQzMFx1MmQ2Mlx1MmQ1NV9cdTJkNGVcdTJkMzBcdTJk''@;'; put 'put ''NTVcdTJkNWFfXHUyZDQ5XHUyZDMxXHUyZDU0XHUyZDQ5XHUyZDU0X1x1MmQ0ZVx1MmQzMFx1MmQ2Mlx1MmQ2Mlx1MmQ1M19cdTJkNjJcdTJkNTNcdTJkNGZcdTJkNjJcdTJkNTNfXHUyZDYyXHUyZDUzXHUyZDRkXHUyZDYyXHUyZDUzXHUyZDYzX1x1MmQ1Nlx1MmQ1M1x1MmQ1Ylx1MmQ1Y19c''@;'; put 'put ''dTJkNWJcdTJkNTNcdTJkNWNcdTJkMzBcdTJkNGZcdTJkMzFcdTJkNDlcdTJkNTRfXHUyZDNkXHUyZDVmXHUyZDUzXHUyZDMxXHUyZDU1X1x1MmQ0Zlx1MmQ1M1x1MmQ2MVx1MmQzMFx1MmQ0Zlx1MmQzMVx1MmQ0OVx1MmQ1NF9cdTJkMzdcdTJkNTNcdTJkNGFcdTJkNGZcdTJkMzFcdTJkNDlc''@;'; put 'put ''dTJkNTQiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1MmQzMFx1MmQ1OVx1MmQzMFx1MmQ0ZVx1MmQzMFx1MmQ1OV9cdTJkMzBcdTJkNjJcdTJkNGZcdTJkMzBcdTJkNTlfXHUyZDMwXHUyZDU5XHUyZDQ5XHUyZDRmXHUyZDMwXHUyZDU5X1x1MmQzMFx1MmQzZFx1MmQ1NFx1MmQzMFx1MmQ1OV9c''@;'; put 'put ''dTJkMzBcdTJkM2RcdTJkNjFcdTJkMzBcdTJkNTlfXHUyZDMwXHUyZDU5XHUyZDQ5XHUyZDRlXHUyZDYxXHUyZDMwXHUyZDU5X1x1MmQzMFx1MmQ1OVx1MmQ0OVx1MmQzOVx1MmQ2Mlx1MmQzMFx1MmQ1OSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTJkMzBcdTJkNTlcdTJkMzBcdTJk''@;'; put 'put ''NGVcdTJkMzBcdTJkNTlfXHUyZDMwXHUyZDYyXHUyZDRmXHUyZDMwXHUyZDU5X1x1MmQzMFx1MmQ1OVx1MmQ0OVx1MmQ0Zlx1MmQzMFx1MmQ1OV9cdTJkMzBcdTJkM2RcdTJkNTRcdTJkMzBcdTJkNTlfXHUyZDMwXHUyZDNkXHUyZDYxXHUyZDMwXHUyZDU5X1x1MmQzMFx1MmQ1OVx1MmQ0OVx1''@;'; put 'put ''MmQ0ZVx1MmQ2MVx1MmQzMFx1MmQ1OV9cdTJkMzBcdTJkNTlcdTJkNDlcdTJkMzlcdTJkNjJcdTJkMzBcdTJkNTkiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1MmQzMFx1MmQ1OVx1MmQzMFx1MmQ0ZVx1MmQzMFx1MmQ1OV9cdTJkMzBcdTJkNjJcdTJkNGZcdTJkMzBcdTJkNTlfXHUyZDMw''@;'; put 'put ''XHUyZDU5XHUyZDQ5XHUyZDRmXHUyZDMwXHUyZDU5X1x1MmQzMFx1MmQzZFx1MmQ1NFx1MmQzMFx1MmQ1OV9cdTJkMzBcdTJkM2RcdTJkNjFcdTJkMzBcdTJkNTlfXHUyZDMwXHUyZDU5XHUyZDQ5XHUyZDRlXHUyZDYxXHUyZDMwXHUyZDU5X1x1MmQzMFx1MmQ1OVx1MmQ0OVx1MmQzOVx1MmQ2''@;'; put 'put ''Mlx1MmQzMFx1MmQ1OSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6ImRkZGQgRCBNTU1NIFlZWVkgSEg6bW0ifSxjYWxlbmRhcjp7''@;'; put 'put ''c2FtZURheToiW1x1MmQzMFx1MmQ1OVx1MmQzN1x1MmQ0NSBcdTJkMzRdIExUIixuZXh0RGF5OiJbXHUyZDMwXHUyZDU5XHUyZDNkXHUyZDMwIFx1MmQzNF0gTFQiLG5leHRXZWVrOiJkZGRkIFtcdTJkMzRdIExUIixsYXN0RGF5OiJbXHUyZDMwXHUyZDVhXHUyZDMwXHUyZDRmXHUyZDVjIFx1''@;'; put 'put ''MmQzNF0gTFQiLGxhc3RXZWVrOiJkZGRkIFtcdTJkMzRdIExUIixzYW1lRWxzZToiTCJ9LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiJcdTJkMzdcdTJkMzBcdTJkMzdcdTJkNDUgXHUyZDU5IFx1MmQ2Mlx1MmQzMFx1MmQ0ZiAlcyIscGFzdDoiXHUyZDYyXHUyZDMwXHUyZDRmICVzIixzOiJcdTJk''@;'; put 'put ''NDlcdTJkNGVcdTJkNDlcdTJkM2QiLHNzOiIlZCBcdTJkNDlcdTJkNGVcdTJkNDlcdTJkM2QiLG06Ilx1MmQ0ZVx1MmQ0OVx1MmQ0Zlx1MmQ1M1x1MmQzYSIsbW06IiVkIFx1MmQ0ZVx1MmQ0OVx1MmQ0Zlx1MmQ1M1x1MmQzYSIsaDoiXHUyZDU5XHUyZDMwXHUyZDQ0XHUyZDMwIixoaDoiJWQg''@;'; put 'put ''XHUyZDVjXHUyZDMwXHUyZDU5XHUyZDU5XHUyZDMwXHUyZDQ0XHUyZDQ5XHUyZDRmIixkOiJcdTJkMzBcdTJkNTlcdTJkNTkiLGRkOiIlZCBvXHUyZDU5XHUyZDU5XHUyZDMwXHUyZDRmIixNOiJcdTJkMzBcdTJkNjJvXHUyZDUzXHUyZDU0IixNTToiJWQgXHUyZDQ5XHUyZDYyXHUyZDYyXHUy''@;'; put 'put ''ZDQ5XHUyZDU0XHUyZDRmIix5OiJcdTJkMzBcdTJkNTlcdTJkMzNcdTJkMzBcdTJkNTkiLHl5OiIlZCBcdTJkNDlcdTJkNTlcdTJkMzNcdTJkMzBcdTJkNTlcdTJkNGYifSx3ZWVrOntkb3c6Nixkb3k6MTJ9fSl9KEZlKDY3MzgpKX0sNDM1NzpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9u''@;'; put 'put ''KENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJ1Zy1jbiIse21vbnRoczoiXHUwNjRhXHUwNjI3XHUwNjQ2XHUwNmNiXHUwNjI3XHUwNjMxX1x1MDY0MVx1MDZkMFx1MDZjYlx1MDYzMVx1MDYyN1x1MDY0NF9cdTA2NDVcdTA2MjdcdTA2MzFcdTA2MmFfXHUwNjI2XHUwNjI3XHUw''@;'; put 'put ''NjdlXHUwNjMxXHUwNmQwXHUwNjQ0X1x1MDY0NVx1MDYyN1x1MDY0YV9cdTA2MjZcdTA2NDlcdTA2NGFcdTA2YzdcdTA2NDZfXHUwNjI2XHUwNjQ5XHUwNjRhXHUwNmM3XHUwNjQ0X1x1MDYyNlx1MDYyN1x1MDZjYlx1MDYzYVx1MDZjN1x1MDYzM1x1MDYyYV9cdTA2MzNcdTA2ZDBcdTA2NDZc''@;'; put 'put ''dTA2MmFcdTA2ZDVcdTA2MjhcdTA2NDlcdTA2MzFfXHUwNjI2XHUwNmM2XHUwNjQzXHUwNjJhXHUwNmQ1XHUwNjI4XHUwNjQ5XHUwNjMxX1x1MDY0Nlx1MDY0OFx1MDY0YVx1MDYyN1x1MDYyOFx1MDY0OVx1MDYzMV9cdTA2MmZcdTA2ZDBcdTA2NDNcdTA2MjdcdTA2MjhcdTA2NDlcdTA2MzEi''@;'; put 'put ''LnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ilx1MDY0YVx1MDYyN1x1MDY0Nlx1MDZjYlx1MDYyN1x1MDYzMV9cdTA2NDFcdTA2ZDBcdTA2Y2JcdTA2MzFcdTA2MjdcdTA2NDRfXHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjJhX1x1MDYyNlx1MDYyN1x1MDY3ZVx1MDYzMVx1MDZkMFx1MDY0NF9cdTA2''@;'; put 'put ''NDVcdTA2MjdcdTA2NGFfXHUwNjI2XHUwNjQ5XHUwNjRhXHUwNmM3XHUwNjQ2X1x1MDYyNlx1MDY0OVx1MDY0YVx1MDZjN1x1MDY0NF9cdTA2MjZcdTA2MjdcdTA2Y2JcdTA2M2FcdTA2YzdcdTA2MzNcdTA2MmFfXHUwNjMzXHUwNmQwXHUwNjQ2XHUwNjJhXHUwNmQ1XHUwNjI4XHUwNjQ5XHUw''@;'; put 'put ''NjMxX1x1MDYyNlx1MDZjNlx1MDY0M1x1MDYyYVx1MDZkNVx1MDYyOFx1MDY0OVx1MDYzMV9cdTA2NDZcdTA2NDhcdTA2NGFcdTA2MjdcdTA2MjhcdTA2NDlcdTA2MzFfXHUwNjJmXHUwNmQwXHUwNjQzXHUwNjI3XHUwNjI4XHUwNjQ5XHUwNjMxIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTA2''@;'; put 'put ''NGFcdTA2ZDVcdTA2NDNcdTA2MzRcdTA2ZDVcdTA2NDZcdTA2MjhcdTA2ZDVfXHUwNjJmXHUwNmM4XHUwNjM0XHUwNmQ1XHUwNjQ2XHUwNjI4XHUwNmQ1X1x1MDYzM1x1MDZkNVx1MDY0YVx1MDYzNFx1MDZkNVx1MDY0Nlx1MDYyOFx1MDZkNV9cdTA2ODZcdTA2MjdcdTA2MzFcdTA2MzRcdTA2''@;'; put 'put ''ZDVcdTA2NDZcdTA2MjhcdTA2ZDVfXHUwNjdlXHUwNmQ1XHUwNjRhXHUwNjM0XHUwNmQ1XHUwNjQ2XHUwNjI4XHUwNmQ1X1x1MDYyY1x1MDZjOFx1MDY0NVx1MDZkNV9cdTA2MzRcdTA2ZDVcdTA2NDZcdTA2MjhcdTA2ZDUiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHUwNjRhXHUwNmQ1''@;'; put 'put ''X1x1MDYyZlx1MDZjOF9cdTA2MzNcdTA2ZDVfXHUwNjg2XHUwNjI3X1x1MDY3ZVx1MDZkNV9cdTA2MmNcdTA2YzhfXHUwNjM0XHUwNmQ1Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTA2NGFcdTA2ZDVfXHUwNjJmXHUwNmM4X1x1MDYzM1x1MDZkNV9cdTA2ODZcdTA2MjdfXHUwNjdlXHUw''@;'; put 'put ''NmQ1X1x1MDYyY1x1MDZjOF9cdTA2MzRcdTA2ZDUiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiWVlZWS1NTS1ERCIsTEw6IllZWVktXHUwNjRhXHUwNjQ5XHUwNjQ0XHUwNjQ5TS1cdTA2MjZcdTA2MjdcdTA2NGFcdTA2NDZcdTA2NDlc''@;'; put 'put ''dTA2YWRELVx1MDY0M1x1MDZjOFx1MDY0Nlx1MDY0OSIsTExMOiJZWVlZLVx1MDY0YVx1MDY0OVx1MDY0NFx1MDY0OU0tXHUwNjI2XHUwNjI3XHUwNjRhXHUwNjQ2XHUwNjQ5XHUwNmFkRC1cdTA2NDNcdTA2YzhcdTA2NDZcdTA2NDlcdTA2MGMgSEg6bW0iLExMTEw6ImRkZGRcdTA2MGMgWVlZ''@;'; put 'put ''WS1cdTA2NGFcdTA2NDlcdTA2NDRcdTA2NDlNLVx1MDYyNlx1MDYyN1x1MDY0YVx1MDY0Nlx1MDY0OVx1MDZhZEQtXHUwNjQzXHUwNmM4XHUwNjQ2XHUwNjQ5XHUwNjBjIEhIOm1tIn0sbWVyaWRpZW1QYXJzZTovXHUwNjRhXHUwNmQwXHUwNjMxXHUwNjQ5XHUwNjQ1IFx1MDY0M1x1MDZkMFx1''@;'; put 'put ''MDY4Nlx1MDZkNXxcdTA2MzNcdTA2ZDVcdTA2YmVcdTA2ZDVcdTA2MzF8XHUwNjg2XHUwNmM4XHUwNjM0XHUwNjJhXHUwNjQ5XHUwNjQ2IFx1MDYyOFx1MDZjN1x1MDYzMVx1MDZjN1x1MDY0NnxcdTA2ODZcdTA2YzhcdTA2MzR8XHUwNjg2XHUwNmM4XHUwNjM0XHUwNjJhXHUwNjQ5XHUwNjQ2''@;'; put 'put ''IFx1MDY0M1x1MDZkMFx1MDY0YVx1MDY0OVx1MDY0NnxcdTA2NDNcdTA2ZDVcdTA2ODYvLG1lcmlkaWVtSG91cjpmdW5jdGlvbihnZSxoZSl7cmV0dXJuIDEyPT09Z2UmJihnZT0wKSwiXHUwNjRhXHUwNmQwXHUwNjMxXHUwNjQ5XHUwNjQ1IFx1MDY0M1x1MDZkMFx1MDY4Nlx1MDZkNSI9PT1o''@;'; put 'put ''ZXx8Ilx1MDYzM1x1MDZkNVx1MDZiZVx1MDZkNVx1MDYzMSI9PT1oZXx8Ilx1MDY4Nlx1MDZjOFx1MDYzNFx1MDYyYVx1MDY0OVx1MDY0NiBcdTA2MjhcdTA2YzdcdTA2MzFcdTA2YzdcdTA2NDYiPT09aGU/Z2U6Ilx1MDY4Nlx1MDZjOFx1MDYzNFx1MDYyYVx1MDY0OVx1MDY0NiBcdTA2NDNc''@;'; put 'put ''dTA2ZDBcdTA2NGFcdTA2NDlcdTA2NDYiPT09aGV8fCJcdTA2NDNcdTA2ZDVcdTA2ODYiPT09aGU/Z2UrMTI6Z2U+PTExP2dlOmdlKzEyfSxtZXJpZGllbTpmdW5jdGlvbihnZSxoZSxaKXt2YXIgQT0xMDAqZ2UraGU7cmV0dXJuIEE8NjAwPyJcdTA2NGFcdTA2ZDBcdTA2MzFcdTA2NDlcdTA2''@;'; put 'put ''NDUgXHUwNjQzXHUwNmQwXHUwNjg2XHUwNmQ1IjpBPDkwMD8iXHUwNjMzXHUwNmQ1XHUwNmJlXHUwNmQ1XHUwNjMxIjpBPDExMzA/Ilx1MDY4Nlx1MDZjOFx1MDYzNFx1MDYyYVx1MDY0OVx1MDY0NiBcdTA2MjhcdTA2YzdcdTA2MzFcdTA2YzdcdTA2NDYiOkE8MTIzMD8iXHUwNjg2XHUwNmM4''@;'; put 'put ''XHUwNjM0IjpBPDE4MDA/Ilx1MDY4Nlx1MDZjOFx1MDYzNFx1MDYyYVx1MDY0OVx1MDY0NiBcdTA2NDNcdTA2ZDBcdTA2NGFcdTA2NDlcdTA2NDYiOiJcdTA2NDNcdTA2ZDVcdTA2ODYifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDYyOFx1MDZjOFx1MDZhZlx1MDZjOFx1MDY0NiBcdTA2MzNc''@;'; put 'put ''dTA2MjdcdTA2MjZcdTA2ZDVcdTA2MmFdIExUIixuZXh0RGF5OiJbXHUwNjI2XHUwNmQ1XHUwNjJhXHUwNmQ1IFx1MDYzM1x1MDYyN1x1MDYyNlx1MDZkNVx1MDYyYV0gTFQiLG5leHRXZWVrOiJbXHUwNjQzXHUwNmQwXHUwNjQ0XHUwNmQ1XHUwNjMxXHUwNjQzXHUwNjQ5XSBkZGRkIFtcdTA2''@;'; put 'put ''MzNcdTA2MjdcdTA2MjZcdTA2ZDVcdTA2MmFdIExUIixsYXN0RGF5OiJbXHUwNjJhXHUwNmM2XHUwNjQ2XHUwNmM4XHUwNmFmXHUwNmM4XHUwNjQ2XSBMVCIsbGFzdFdlZWs6IltcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2NDZcdTA2NDJcdTA2NDldIGRkZGQgW1x1MDYzM1x1''@;'; put 'put ''MDYyN1x1MDYyNlx1MDZkNVx1MDYyYV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIFx1MDY0M1x1MDZkMFx1MDY0YVx1MDY0OVx1MDY0NiIscGFzdDoiJXMgXHUwNjI4XHUwNmM3XHUwNjMxXHUwNmM3XHUwNjQ2IixzOiJcdTA2NDZcdTA2ZDVcdTA2ODZcdTA2''@;'; put 'put ''ODZcdTA2ZDUgXHUwNjMzXHUwNmQwXHUwNjQzXHUwNjQ4XHUwNjQ2XHUwNjJhIixzczoiJWQgXHUwNjMzXHUwNmQwXHUwNjQzXHUwNjQ4XHUwNjQ2XHUwNjJhIixtOiJcdTA2MjhcdTA2NDlcdTA2MzEgXHUwNjQ1XHUwNjQ5XHUwNjQ2XHUwNmM3XHUwNjJhIixtbToiJWQgXHUwNjQ1XHUwNjQ5''@;'; put 'put ''XHUwNjQ2XHUwNmM3XHUwNjJhIixoOiJcdTA2MjhcdTA2NDlcdTA2MzEgXHUwNjMzXHUwNjI3XHUwNjI2XHUwNmQ1XHUwNjJhIixoaDoiJWQgXHUwNjMzXHUwNjI3XHUwNjI2XHUwNmQ1XHUwNjJhIixkOiJcdTA2MjhcdTA2NDlcdTA2MzEgXHUwNjQzXHUwNmM4XHUwNjQ2IixkZDoiJWQgXHUw''@;'; put 'put ''NjQzXHUwNmM4XHUwNjQ2IixNOiJcdTA2MjhcdTA2NDlcdTA2MzEgXHUwNjI2XHUwNjI3XHUwNjRhIixNTToiJWQgXHUwNjI2XHUwNjI3XHUwNjRhIix5OiJcdTA2MjhcdTA2NDlcdTA2MzEgXHUwNjRhXHUwNjQ5XHUwNjQ0Iix5eToiJWQgXHUwNjRhXHUwNjQ5XHUwNjQ0In0sZGF5T2ZNb250''@;'; put 'put ''aE9yZGluYWxQYXJzZTovXGR7MSwyfSgtXHUwNjQzXHUwNmM4XHUwNjQ2XHUwNjQ5fC1cdTA2MjZcdTA2MjdcdTA2NGF8LVx1MDZiZVx1MDZkNVx1MDY3ZVx1MDYyYVx1MDZkNSkvLG9yZGluYWw6ZnVuY3Rpb24oZ2UsaGUpe3N3aXRjaChoZSl7Y2FzZSJkIjpjYXNlIkQiOmNhc2UiREREIjpy''@;'; put 'put ''ZXR1cm4gZ2UrIi1cdTA2NDNcdTA2YzhcdTA2NDZcdTA2NDkiO2Nhc2UidyI6Y2FzZSJXIjpyZXR1cm4gZ2UrIi1cdTA2YmVcdTA2ZDVcdTA2N2VcdTA2MmFcdTA2ZDUiO2RlZmF1bHQ6cmV0dXJuIGdlfX0scHJlcGFyc2U6ZnVuY3Rpb24oZ2Upe3JldHVybiBnZS5yZXBsYWNlKC9cdTA2MGMv''@;'; put 'put ''ZywiLCIpfSxwb3N0Zm9ybWF0OmZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2UucmVwbGFjZSgvLC9nLCJcdTA2MGMiKX0sd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sNDgxMDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZ2UoaixO''@;'; put 'put ''LHope3JldHVybiJtIj09PXo/Tj8iXHUwNDQ1XHUwNDMyXHUwNDM4XHUwNDNiXHUwNDM4XHUwNDNkXHUwNDMwIjoiXHUwNDQ1XHUwNDMyXHUwNDM4XHUwNDNiXHUwNDM4XHUwNDNkXHUwNDQzIjoiaCI9PT16P04/Ilx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzMCI6Ilx1MDQz''@;'; put 'put ''M1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQ0MyI6aisiICIrZnVuY3Rpb24gb2UoaixOKXt2YXIgej1qLnNwbGl0KCJfIik7cmV0dXJuIE4lMTA9PTEmJk4lMTAwIT0xMT96WzBdOk4lMTA+PTImJk4lMTA8PTQmJihOJTEwMDwxMHx8TiUxMDA+PTIwKT96WzFdOnpbMl19KHtzczpOPyJc''@;'; put 'put ''dTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0MzBfXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0XHUwNDM4X1x1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCI6Ilx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNFx1MDQ0''@;'; put 'put ''M19cdTA0NDFcdTA0MzVcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzRcdTA0MzhfXHUwNDQxXHUwNDM1XHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM0IixtbTpOPyJcdTA0NDVcdTA0MzJcdTA0MzhcdTA0M2JcdTA0MzhcdTA0M2RcdTA0MzBfXHUwNDQ1XHUwNDMyXHUwNDM4XHUwNDNiXHUwNDM4XHUw''@;'; put 'put ''NDNkXHUwNDM4X1x1MDQ0NVx1MDQzMlx1MDQzOFx1MDQzYlx1MDQzOFx1MDQzZCI6Ilx1MDQ0NVx1MDQzMlx1MDQzOFx1MDQzYlx1MDQzOFx1MDQzZFx1MDQ0M19cdTA0NDVcdTA0MzJcdTA0MzhcdTA0M2JcdTA0MzhcdTA0M2RcdTA0MzhfXHUwNDQ1XHUwNDMyXHUwNDM4XHUwNDNiXHUwNDM4''@;'; put 'put ''XHUwNDNkIixoaDpOPyJcdTA0MzNcdTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0MzBfXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDM4X1x1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZCI6Ilx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQ0M19cdTA0MzNc''@;'; put 'put ''dTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0MzhfXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkIixkZDoiXHUwNDM0XHUwNDM1XHUwNDNkXHUwNDRjX1x1MDQzNFx1MDQzZFx1MDQ1Nl9cdTA0MzRcdTA0M2RcdTA0NTZcdTA0MzIiLE1NOiJcdTA0M2NcdTA0NTZcdTA0NDFcdTA0NGZc''@;'; put 'put ''dTA0NDZcdTA0NGNfXHUwNDNjXHUwNDU2XHUwNDQxXHUwNDRmXHUwNDQ2XHUwNDU2X1x1MDQzY1x1MDQ1Nlx1MDQ0MVx1MDQ0Zlx1MDQ0Nlx1MDQ1Nlx1MDQzMiIseXk6Ilx1MDQ0MFx1MDQ1Nlx1MDQzYV9cdTA0NDBcdTA0M2VcdTA0M2FcdTA0MzhfXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDU2''@;'; put 'put ''XHUwNDMyIn1bel0sK2opfWZ1bmN0aW9uIFooail7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGorIlx1MDQzZSIrKDExPT09dGhpcy5ob3VycygpPyJcdTA0MzEiOiIiKSsiXSBMVCJ9fUNlLmRlZmluZUxvY2FsZSgidWsiLHttb250aHM6e2Zvcm1hdDoiXHUwNDQxXHUwNDU2XHUwNDQ3XHUw''@;'; put 'put ''NDNkXHUwNDRmX1x1MDQzYlx1MDQ0ZVx1MDQ0Mlx1MDQzZVx1MDQzM1x1MDQzZV9cdTA0MzFcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzdcdTA0M2RcdTA0NGZfXHUwNDNhXHUwNDMyXHUwNDU2XHUwNDQyXHUwNDNkXHUwNDRmX1x1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQ0Zl9c''@;'; put 'put ''dTA0NDdcdTA0MzVcdTA0NDBcdTA0MzJcdTA0M2RcdTA0NGZfXHUwNDNiXHUwNDM4XHUwNDNmXHUwNDNkXHUwNDRmX1x1MDQ0MVx1MDQzNVx1MDQ0MFx1MDQzZlx1MDQzZFx1MDQ0Zl9cdTA0MzJcdTA0MzVcdTA0NDBcdTA0MzVcdTA0NDFcdTA0M2RcdTA0NGZfXHUwNDM2XHUwNDNlXHUwNDMy''@;'; put 'put ''XHUwNDQyXHUwNDNkXHUwNDRmX1x1MDQzYlx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzZlx1MDQzMFx1MDQzNFx1MDQzMF9cdTA0MzNcdTA0NDBcdTA0NDNcdTA0MzRcdTA0M2RcdTA0NGYiLnNwbGl0KCJfIiksc3RhbmRhbG9uZToiXHUwNDQxXHUwNDU2XHUwNDQ3XHUwNDM1XHUwNDNk''@;'; put 'put ''XHUwNDRjX1x1MDQzYlx1MDQ0ZVx1MDQ0Mlx1MDQzOFx1MDQzOV9cdTA0MzFcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzdcdTA0MzVcdTA0M2RcdTA0NGNfXHUwNDNhXHUwNDMyXHUwNDU2XHUwNDQyXHUwNDM1XHUwNDNkXHUwNDRjX1x1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzNVx1MDQz''@;'; put 'put ''ZFx1MDQ0Y19cdTA0NDdcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzVcdTA0M2RcdTA0NGNfXHUwNDNiXHUwNDM4XHUwNDNmXHUwNDM1XHUwNDNkXHUwNDRjX1x1MDQ0MVx1MDQzNVx1MDQ0MFx1MDQzZlx1MDQzNVx1MDQzZFx1MDQ0Y19cdTA0MzJcdTA0MzVcdTA0NDBcdTA0MzVcdTA0NDFcdTA0''@;'; put 'put ''MzVcdTA0M2RcdTA0NGNfXHUwNDM2XHUwNDNlXHUwNDMyXHUwNDQyXHUwNDM1XHUwNDNkXHUwNDRjX1x1MDQzYlx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzZlx1MDQzMFx1MDQzNF9cdTA0MzNcdTA0NDBcdTA0NDNcdTA0MzRcdTA0MzVcdTA0M2RcdTA0NGMiLnNwbGl0KCJfIil9LG1v''@;'; put 'put ''bnRoc1Nob3J0OiJcdTA0NDFcdTA0NTZcdTA0NDdfXHUwNDNiXHUwNDRlXHUwNDQyX1x1MDQzMVx1MDQzNVx1MDQ0MF9cdTA0M2FcdTA0MzJcdTA0NTZcdTA0NDJfXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDMyX1x1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzMl9cdTA0M2JcdTA0MzhcdTA0M2ZfXHUw''@;'; put 'put ''NDQxXHUwNDM1XHUwNDQwXHUwNDNmX1x1MDQzMlx1MDQzNVx1MDQ0MF9cdTA0MzZcdTA0M2VcdTA0MzJcdTA0NDJfXHUwNDNiXHUwNDM4XHUwNDQxXHUwNDQyX1x1MDQzM1x1MDQ0MFx1MDQ0M1x1MDQzNCIuc3BsaXQoIl8iKSx3ZWVrZGF5czpmdW5jdGlvbiBoZShqLE4pe3ZhciB6PXtub21p''@;'; put 'put ''bmF0aXZlOiJcdTA0M2RcdTA0MzVcdTA0MzRcdTA0NTZcdTA0M2JcdTA0NGZfXHUwNDNmXHUwNDNlXHUwNDNkXHUwNDM1XHUwNDM0XHUwNDU2XHUwNDNiXHUwNDNlXHUwNDNhX1x1MDQzMlx1MDQ1Nlx1MDQzMlx1MDQ0Mlx1MDQzZVx1MDQ0MFx1MDQzZVx1MDQzYV9cdTA0NDFcdTA0MzVcdTA0''@;'; put 'put ''NDBcdTA0MzVcdTA0MzRcdTA0MzBfXHUwNDQ3XHUwNDM1XHUwNDQyXHUwNDMyXHUwNDM1XHUwNDQwX1x1MDQzZlx1MjAxOVx1MDQ0Zlx1MDQ0Mlx1MDQzZFx1MDQzOFx1MDQ0Nlx1MDQ0Zl9cdTA0NDFcdTA0NDNcdTA0MzFcdTA0M2VcdTA0NDJcdTA0MzAiLnNwbGl0KCJfIiksYWNjdXNhdGl2''@;'; put 'put ''ZToiXHUwNDNkXHUwNDM1XHUwNDM0XHUwNDU2XHUwNDNiXHUwNDRlX1x1MDQzZlx1MDQzZVx1MDQzZFx1MDQzNVx1MDQzNFx1MDQ1Nlx1MDQzYlx1MDQzZVx1MDQzYV9cdTA0MzJcdTA0NTZcdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDBcdTA0M2VcdTA0M2FfXHUwNDQxXHUwNDM1XHUwNDQwXHUw''@;'; put 'put ''NDM1XHUwNDM0XHUwNDQzX1x1MDQ0N1x1MDQzNVx1MDQ0Mlx1MDQzMlx1MDQzNVx1MDQ0MF9cdTA0M2ZcdTIwMTlcdTA0NGZcdTA0NDJcdTA0M2RcdTA0MzhcdTA0NDZcdTA0NGVfXHUwNDQxXHUwNDQzXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDQzIi5zcGxpdCgiXyIpLGdlbml0aXZlOiJcdTA0''@;'; put 'put ''M2RcdTA0MzVcdTA0MzRcdTA0NTZcdTA0M2JcdTA0NTZfXHUwNDNmXHUwNDNlXHUwNDNkXHUwNDM1XHUwNDM0XHUwNDU2XHUwNDNiXHUwNDNhXHUwNDMwX1x1MDQzMlx1MDQ1Nlx1MDQzMlx1MDQ0Mlx1MDQzZVx1MDQ0MFx1MDQzYVx1MDQzMF9cdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzVcdTA0''@;'; put 'put ''MzRcdTA0MzhfXHUwNDQ3XHUwNDM1XHUwNDQyXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDMzXHUwNDMwX1x1MDQzZlx1MjAxOVx1MDQ0Zlx1MDQ0Mlx1MDQzZFx1MDQzOFx1MDQ0Nlx1MDQ1Nl9cdTA0NDFcdTA0NDNcdTA0MzFcdTA0M2VcdTA0NDJcdTA0MzgiLnNwbGl0KCJfIil9O3JldHVybiEw''@;'; put 'put ''PT09aj96Lm5vbWluYXRpdmUuc2xpY2UoMSw3KS5jb25jYXQoei5ub21pbmF0aXZlLnNsaWNlKDAsMSkpOmo/elsvKFxbW1x1MDQxMlx1MDQzMlx1MDQyM1x1MDQ0M11cXSkgP2RkZGQvLnRlc3QoTik/ImFjY3VzYXRpdmUiOi9cWz8oPzpcdTA0M2NcdTA0MzhcdTA0M2RcdTA0NDNcdTA0M2Jc''@;'; put 'put ''dTA0M2VcdTA0NTd8XHUwNDNkXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmXHUwNDNkXHUwNDNlXHUwNDU3KT8gP1xdID9kZGRkLy50ZXN0KE4pPyJnZW5pdGl2ZSI6Im5vbWluYXRpdmUiXVtqLmRheSgpXTp6Lm5vbWluYXRpdmV9LHdlZWtkYXlzU2hvcnQ6Ilx1MDQzZFx1MDQzNF9c''@;'; put 'put ''dTA0M2ZcdTA0M2RfXHUwNDMyXHUwNDQyX1x1MDQ0MVx1MDQ0MF9cdTA0NDdcdTA0NDJfXHUwNDNmXHUwNDQyX1x1MDQ0MVx1MDQzMSIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNDNkXHUwNDM0X1x1MDQzZlx1MDQzZF9cdTA0MzJcdTA0NDJfXHUwNDQxXHUwNDQwX1x1MDQ0N1x1MDQ0''@;'; put 'put ''Ml9cdTA0M2ZcdTA0NDJfXHUwNDQxXHUwNDMxIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkRELk1NLllZWVkiLExMOiJEIE1NTU0gWVlZWSBcdTA0NDAuIixMTEw6IkQgTU1NTSBZWVlZIFx1MDQ0MC4sIEhIOm1tIixMTExMOiJkZGRk''@;'; put 'put ''LCBEIE1NTU0gWVlZWSBcdTA0NDAuLCBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OlooIltcdTA0MjFcdTA0NGNcdTA0M2VcdTA0MzNcdTA0M2VcdTA0MzRcdTA0M2RcdTA0NTYgIiksbmV4dERheTpaKCJbXHUwNDE3XHUwNDMwXHUwNDMyXHUwNDQyXHUwNDQwXHUwNDMwICIpLGxhc3REYXk6''@;'; put 'put ''WigiW1x1MDQxMlx1MDQ0N1x1MDQzZVx1MDQ0MFx1MDQzMCAiKSxuZXh0V2VlazpaKCJbXHUwNDIzXSBkZGRkIFsiKSxsYXN0V2VlazpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLmRheSgpKXtjYXNlIDA6Y2FzZSAzOmNhc2UgNTpjYXNlIDY6cmV0dXJuIFooIltcdTA0MWNcdTA0MzhcdTA0M2Rc''@;'; put 'put ''dTA0NDNcdTA0M2JcdTA0M2VcdTA0NTddIGRkZGQgWyIpLmNhbGwodGhpcyk7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6cmV0dXJuIFooIltcdTA0MWNcdTA0MzhcdTA0M2RcdTA0NDNcdTA0M2JcdTA0M2VcdTA0MzNcdTA0M2VdIGRkZGQgWyIpLmNhbGwodGhpcyl9fSxzYW1lRWxzZToiTCJ9LHJl''@;'; put 'put ''bGF0aXZlVGltZTp7ZnV0dXJlOiJcdTA0MzdcdTA0MzAgJXMiLHBhc3Q6IiVzIFx1MDQ0Mlx1MDQzZVx1MDQzY1x1MDQ0MyIsczoiXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDU2XHUwNDNiXHUwNDRjXHUwNDNhXHUwNDMwIFx1MDQ0MVx1MDQzNVx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzNCIsc3M6''@;'; put 'put ''Z2UsbTpnZSxtbTpnZSxoOiJcdTA0MzNcdTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0NDMiLGhoOmdlLGQ6Ilx1MDQzNFx1MDQzNVx1MDQzZFx1MDQ0YyIsZGQ6Z2UsTToiXHUwNDNjXHUwNDU2XHUwNDQxXHUwNDRmXHUwNDQ2XHUwNDRjIixNTTpnZSx5OiJcdTA0NDBcdTA0NTZcdTA0M2Ei''@;'; put 'put ''LHl5OmdlfSxtZXJpZGllbVBhcnNlOi9cdTA0M2RcdTA0M2VcdTA0NDdcdTA0NTZ8XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDNhXHUwNDQzfFx1MDQzNFx1MDQzZFx1MDQ0ZnxcdTA0MzJcdTA0MzVcdTA0NDdcdTA0M2VcdTA0NDBcdTA0MzAvLGlzUE06ZnVuY3Rpb24oail7cmV0dXJuL14oXHUw''@;'; put 'put ''NDM0XHUwNDNkXHUwNDRmfFx1MDQzMlx1MDQzNVx1MDQ0N1x1MDQzZVx1MDQ0MFx1MDQzMCkkLy50ZXN0KGopfSxtZXJpZGllbTpmdW5jdGlvbihqLE4seil7cmV0dXJuIGo8ND8iXHUwNDNkXHUwNDNlXHUwNDQ3XHUwNDU2IjpqPDEyPyJcdTA0NDBcdTA0MzBcdTA0M2RcdTA0M2FcdTA0NDMi''@;'; put 'put ''Omo8MTc/Ilx1MDQzNFx1MDQzZFx1MDQ0ZiI6Ilx1MDQzMlx1MDQzNVx1MDQ0N1x1MDQzZVx1MDQ0MFx1MDQzMCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0tKFx1MDQzOXxcdTA0MzNcdTA0M2UpLyxvcmRpbmFsOmZ1bmN0aW9uKGosTil7c3dpdGNoKE4pe2Nhc2UiTSI6Y2Fz''@;'; put 'put ''ZSJkIjpjYXNlIkRERCI6Y2FzZSJ3IjpjYXNlIlciOnJldHVybiBqKyItXHUwNDM5IjtjYXNlIkQiOnJldHVybiBqKyItXHUwNDMzXHUwNDNlIjtkZWZhdWx0OnJldHVybiBqfX0sd2Vlazp7ZG93OjEsZG95Ojd9fSl9KEZlKDY3MzgpKX0sNjc5NDpmdW5jdGlvbihfdCxDdCxGZSl7IWZ1bmN0''@;'; put 'put ''aW9uKENlKXsidXNlIHN0cmljdCI7dmFyIG9lPVsiXHUwNjJjXHUwNjQ2XHUwNjQ4XHUwNjMxXHUwNmNjIiwiXHUwNjQxXHUwNjMxXHUwNjQ4XHUwNjMxXHUwNmNjIiwiXHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjg2IiwiXHUwNjI3XHUwNjdlXHUwNjMxXHUwNmNjXHUwNjQ0IiwiXHUwNjQ1XHUw''@;'; put 'put ''NjI2XHUwNmNjIiwiXHUwNjJjXHUwNjQ4XHUwNjQ2IiwiXHUwNjJjXHUwNjQ4XHUwNjQ0XHUwNjI3XHUwNjI2XHUwNmNjIiwiXHUwNjI3XHUwNmFmXHUwNjMzXHUwNjJhIiwiXHUwNjMzXHUwNjJhXHUwNjQ1XHUwNjI4XHUwNjMxIiwiXHUwNjI3XHUwNmE5XHUwNjJhXHUwNjQ4XHUwNjI4XHUw''@;'; put 'put ''NjMxIiwiXHUwNjQ2XHUwNjQ4XHUwNjQ1XHUwNjI4XHUwNjMxIiwiXHUwNjJmXHUwNjMzXHUwNjQ1XHUwNjI4XHUwNjMxIl0sZ2U9WyJcdTA2MjdcdTA2MmFcdTA2NDhcdTA2MjdcdTA2MzEiLCJcdTA2N2VcdTA2Y2NcdTA2MzEiLCJcdTA2NDVcdTA2NDZcdTA2YWZcdTA2NDQiLCJcdTA2Mjhc''@;'; put 'put ''dTA2MmZcdTA2YmUiLCJcdTA2MmNcdTA2NDVcdTA2MzlcdTA2MzFcdTA2MjdcdTA2MmEiLCJcdTA2MmNcdTA2NDVcdTA2MzlcdTA2YzEiLCJcdTA2YzFcdTA2NDFcdTA2MmFcdTA2YzEiXTtDZS5kZWZpbmVMb2NhbGUoInVyIix7bW9udGhzOm9lLG1vbnRoc1Nob3J0Om9lLHdlZWtkYXlzOmdl''@;'; put 'put ''LHdlZWtkYXlzU2hvcnQ6Z2Usd2Vla2RheXNNaW46Z2UsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkXHUwNjBjIEQgTU1NTSBZWVlZIEhIOm1t''@;'; put 'put ''In0sbWVyaWRpZW1QYXJzZTovXHUwNjM1XHUwNjI4XHUwNjJkfFx1MDYzNFx1MDYyN1x1MDY0NS8saXNQTTpmdW5jdGlvbihaKXtyZXR1cm4iXHUwNjM0XHUwNjI3XHUwNjQ1Ij09PVp9LG1lcmlkaWVtOmZ1bmN0aW9uKFosQSxqKXtyZXR1cm4gWjwxMj8iXHUwNjM1XHUwNjI4XHUwNjJkIjoi''@;'; put 'put ''XHUwNjM0XHUwNjI3XHUwNjQ1In0sY2FsZW5kYXI6e3NhbWVEYXk6IltcdTA2MjJcdTA2MmMgXHUwNjI4XHUwNjQ4XHUwNjQyXHUwNjJhXSBMVCIsbmV4dERheToiW1x1MDZhOVx1MDY0NCBcdTA2MjhcdTA2NDhcdTA2NDJcdTA2MmFdIExUIixuZXh0V2VlazoiZGRkZCBbXHUwNjI4XHUwNjQ4''@;'; put 'put ''XHUwNjQyXHUwNjJhXSBMVCIsbGFzdERheToiW1x1MDZhZlx1MDYzMFx1MDYzNFx1MDYyYVx1MDZjMSBcdTA2MzFcdTA2NDhcdTA2MzIgXHUwNjI4XHUwNjQ4XHUwNjQyXHUwNjJhXSBMVCIsbGFzdFdlZWs6IltcdTA2YWZcdTA2MzBcdTA2MzRcdTA2MmFcdTA2YzFdIGRkZGQgW1x1MDYyOFx1''@;'; put 'put ''MDY0OFx1MDY0Mlx1MDYyYV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIFx1MDYyOFx1MDYzOVx1MDYyZiIscGFzdDoiJXMgXHUwNjQyXHUwNjI4XHUwNjQ0IixzOiJcdTA2ODZcdTA2NDZcdTA2MmYgXHUwNjMzXHUwNmNjXHUwNmE5XHUwNjQ2XHUwNjg4Iixz''@;'; put 'put ''czoiJWQgXHUwNjMzXHUwNmNjXHUwNmE5XHUwNjQ2XHUwNjg4IixtOiJcdTA2MjdcdTA2Y2NcdTA2YTkgXHUwNjQ1XHUwNjQ2XHUwNjc5IixtbToiJWQgXHUwNjQ1XHUwNjQ2XHUwNjc5IixoOiJcdTA2MjdcdTA2Y2NcdTA2YTkgXHUwNmFmXHUwNmJlXHUwNjQ2XHUwNjc5XHUwNmMxIixoaDoi''@;'; put 'put ''JWQgXHUwNmFmXHUwNmJlXHUwNjQ2XHUwNjc5XHUwNmQyIixkOiJcdTA2MjdcdTA2Y2NcdTA2YTkgXHUwNjJmXHUwNjQ2IixkZDoiJWQgXHUwNjJmXHUwNjQ2IixNOiJcdTA2MjdcdTA2Y2NcdTA2YTkgXHUwNjQ1XHUwNjI3XHUwNmMxIixNTToiJWQgXHUwNjQ1XHUwNjI3XHUwNmMxIix5OiJc''@;'; put 'put ''dTA2MjdcdTA2Y2NcdTA2YTkgXHUwNjMzXHUwNjI3XHUwNjQ0Iix5eToiJWQgXHUwNjMzXHUwNjI3XHUwNjQ0In0scHJlcGFyc2U6ZnVuY3Rpb24oWil7cmV0dXJuIFoucmVwbGFjZSgvXHUwNjBjL2csIiwiKX0scG9zdGZvcm1hdDpmdW5jdGlvbihaKXtyZXR1cm4gWi5yZXBsYWNlKC8sL2cs''@;'; put 'put ''Ilx1MDYwYyIpfSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw3OTU5OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInV6LWxhdG4iLHttb250aHM6IllhbnZhcl9GZXZyYWxfTWFydF9BcHJlbF9NYXlfSXl1bl9J''@;'; put 'put ''eXVsX0F2Z3VzdF9TZW50YWJyX09rdGFicl9Ob3lhYnJfRGVrYWJyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJZYW5fRmV2X01hcl9BcHJfTWF5X0l5dW5fSXl1bF9BdmdfU2VuX09rdF9Ob3lfRGVrIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJZYWtzaGFuYmFfRHVzaGFuYmFfU2VzaGFuYmFf''@;'; put 'put ''Q2hvcnNoYW5iYV9QYXlzaGFuYmFfSnVtYV9TaGFuYmEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiWWFrX0R1c2hfU2VzaF9DaG9yX1BheV9KdW1fU2hhbiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiWWFfRHVfU2VfQ2hvX1BhX0p1X1NoYSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1h''@;'; put 'put ''dDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6IkQgTU1NTSBZWVlZLCBkZGRkIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltCdWd1biBzb2F0XSBMVCBbZGFdIixuZXh0RGF5''@;'; put 'put ''OiJbRXJ0YWdhXSBMVCBbZGFdIixuZXh0V2VlazoiZGRkZCBba3VuaSBzb2F0XSBMVCBbZGFdIixsYXN0RGF5OiJbS2VjaGEgc29hdF0gTFQgW2RhXSIsbGFzdFdlZWs6IltPJ3RnYW5dIGRkZGQgW2t1bmkgc29hdF0gTFQgW2RhXSIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVy''@;'; put 'put ''ZToiWWFxaW4gJXMgaWNoaWRhIixwYXN0OiJCaXIgbmVjaGEgJXMgb2xkaW4iLHM6InNvbml5YSIsc3M6IiVkIHNvbml5YSIsbToiYmlyIGRhcWlxYSIsbW06IiVkIGRhcWlxYSIsaDoiYmlyIHNvYXQiLGhoOiIlZCBzb2F0IixkOiJiaXIga3VuIixkZDoiJWQga3VuIixNOiJiaXIgb3kiLE1N''@;'; put 'put ''OiIlZCBveSIseToiYmlyIHlpbCIseXk6IiVkIHlpbCJ9LHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDg5NjY6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgidXoiLHttb250aHM6Ilx1MDQ0Zlx1MDQzZFx1MDQz''@;'; put 'put ''Mlx1MDQzMFx1MDQ0MF9cdTA0NDRcdTA0MzVcdTA0MzJcdTA0NDBcdTA0MzBcdTA0M2JfXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDQyX1x1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQzYl9cdTA0M2NcdTA0MzBcdTA0MzlfXHUwNDM4XHUwNDRlXHUwNDNkX1x1MDQzOFx1MDQ0ZVx1MDQzYl9c''@;'; put 'put ''dTA0MzBcdTA0MzJcdTA0MzNcdTA0NDNcdTA0NDFcdTA0NDJfXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDRmXHUwNDMxXHUwNDQwX1x1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQ0Zlx1MDQzMVx1MDQ0MF9cdTA0M2RcdTA0M2VcdTA0NGZcdTA0MzFcdTA0NDBfXHUwNDM0XHUwNDM1XHUwNDNh''@;'; put 'put ''XHUwNDMwXHUwNDMxXHUwNDQwIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJcdTA0NGZcdTA0M2RcdTA0MzJfXHUwNDQ0XHUwNDM1XHUwNDMyX1x1MDQzY1x1MDQzMFx1MDQ0MF9cdTA0MzBcdTA0M2ZcdTA0NDBfXHUwNDNjXHUwNDMwXHUwNDM5X1x1MDQzOFx1MDQ0ZVx1MDQzZF9cdTA0Mzhc''@;'; put 'put ''dTA0NGVcdTA0M2JfXHUwNDMwXHUwNDMyXHUwNDMzX1x1MDQ0MVx1MDQzNVx1MDQzZF9cdTA0M2VcdTA0M2FcdTA0NDJfXHUwNDNkXHUwNDNlXHUwNDRmX1x1MDQzNFx1MDQzNVx1MDQzYSIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHUwNDJmXHUwNDNhXHUwNDQ4XHUwNDMwXHUwNDNkXHUwNDMx''@;'; put 'put ''XHUwNDMwX1x1MDQxNFx1MDQ0M1x1MDQ0OFx1MDQzMFx1MDQzZFx1MDQzMVx1MDQzMF9cdTA0MjFcdTA0MzVcdTA0NDhcdTA0MzBcdTA0M2RcdTA0MzFcdTA0MzBfXHUwNDI3XHUwNDNlXHUwNDQwXHUwNDQ4XHUwNDMwXHUwNDNkXHUwNDMxXHUwNDMwX1x1MDQxZlx1MDQzMFx1MDQzOVx1MDQ0''@;'; put 'put ''OFx1MDQzMFx1MDQzZFx1MDQzMVx1MDQzMF9cdTA0MTZcdTA0NDNcdTA0M2NcdTA0MzBfXHUwNDI4XHUwNDMwXHUwNDNkXHUwNDMxXHUwNDMwIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1MDQyZlx1MDQzYVx1MDQ0OF9cdTA0MTRcdTA0NDNcdTA0NDhfXHUwNDIxXHUwNDM1XHUwNDQ4''@;'; put 'put ''X1x1MDQyN1x1MDQzZVx1MDQ0MF9cdTA0MWZcdTA0MzBcdTA0MzlfXHUwNDE2XHUwNDQzXHUwNDNjX1x1MDQyOFx1MDQzMFx1MDQzZCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHUwNDJmXHUwNDNhX1x1MDQxNFx1MDQ0M19cdTA0MjFcdTA0MzVfXHUwNDI3XHUwNDNlX1x1MDQxZlx1MDQz''@;'; put 'put ''MF9cdTA0MTZcdTA0NDNfXHUwNDI4XHUwNDMwIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBISDptbSIsTExMTDoiRCBNTU1NIFlZWVksIGRkZGQgSEg6''@;'; put 'put ''bW0ifSxjYWxlbmRhcjp7c2FtZURheToiW1x1MDQxMVx1MDQ0M1x1MDQzM1x1MDQ0M1x1MDQzZCBcdTA0NDFcdTA0M2VcdTA0MzBcdTA0NDJdIExUIFtcdTA0MzRcdTA0MzBdIixuZXh0RGF5OiJbXHUwNDJkXHUwNDQwXHUwNDQyXHUwNDMwXHUwNDMzXHUwNDMwXSBMVCBbXHUwNDM0XHUwNDMw''@;'; put 'put ''XSIsbmV4dFdlZWs6ImRkZGQgW1x1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzOCBcdTA0NDFcdTA0M2VcdTA0MzBcdTA0NDJdIExUIFtcdTA0MzRcdTA0MzBdIixsYXN0RGF5OiJbXHUwNDFhXHUwNDM1XHUwNDQ3XHUwNDMwIFx1MDQ0MVx1MDQzZVx1MDQzMFx1MDQ0Ml0gTFQgW1x1MDQzNFx1MDQz''@;'; put 'put ''MF0iLGxhc3RXZWVrOiJbXHUwNDIzXHUwNDQyXHUwNDMzXHUwNDMwXHUwNDNkXSBkZGRkIFtcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzggXHUwNDQxXHUwNDNlXHUwNDMwXHUwNDQyXSBMVCBbXHUwNDM0XHUwNDMwXSIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiXHUwNDJm''@;'; put 'put ''XHUwNDNhXHUwNDM4XHUwNDNkICVzIFx1MDQzOFx1MDQ0N1x1MDQzOFx1MDQzNFx1MDQzMCIscGFzdDoiXHUwNDExXHUwNDM4XHUwNDQwIFx1MDQzZFx1MDQzNVx1MDQ0N1x1MDQzMCAlcyBcdTA0M2VcdTA0M2JcdTA0MzRcdTA0MzhcdTA0M2QiLHM6Ilx1MDQ0NFx1MDQ0M1x1MDQ0MFx1MDQ0''@;'; put 'put ''MVx1MDQzMFx1MDQ0MiIsc3M6IiVkIFx1MDQ0NFx1MDQ0M1x1MDQ0MFx1MDQ0MVx1MDQzMFx1MDQ0MiIsbToiXHUwNDMxXHUwNDM4XHUwNDQwIFx1MDQzNFx1MDQzMFx1MDQzYVx1MDQzOFx1MDQzYVx1MDQzMCIsbW06IiVkIFx1MDQzNFx1MDQzMFx1MDQzYVx1MDQzOFx1MDQzYVx1MDQzMCIs''@;'; put 'put ''aDoiXHUwNDMxXHUwNDM4XHUwNDQwIFx1MDQ0MVx1MDQzZVx1MDQzMFx1MDQ0MiIsaGg6IiVkIFx1MDQ0MVx1MDQzZVx1MDQzMFx1MDQ0MiIsZDoiXHUwNDMxXHUwNDM4XHUwNDQwIFx1MDQzYVx1MDQ0M1x1MDQzZCIsZGQ6IiVkIFx1MDQzYVx1MDQ0M1x1MDQzZCIsTToiXHUwNDMxXHUwNDM4''@;'; put 'put ''XHUwNDQwIFx1MDQzZVx1MDQzOSIsTU06IiVkIFx1MDQzZVx1MDQzOSIseToiXHUwNDMxXHUwNDM4XHUwNDQwIFx1MDQzOVx1MDQzOFx1MDQzYiIseXk6IiVkIFx1MDQzOVx1MDQzOFx1MDQzYiJ9LHdlZWs6e2RvdzoxLGRveTo3fX0pfShGZSg2NzM4KSl9LDUzODY6ZnVuY3Rpb24oX3QsQ3Qs''@;'; put 'put ''RmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgidmkiLHttb250aHM6InRoXHhlMW5nIDFfdGhceGUxbmcgMl90aFx4ZTFuZyAzX3RoXHhlMW5nIDRfdGhceGUxbmcgNV90aFx4ZTFuZyA2X3RoXHhlMW5nIDdfdGhceGUxbmcgOF90aFx4ZTFuZyA5X3RoXHhl''@;'; put 'put ''MW5nIDEwX3RoXHhlMW5nIDExX3RoXHhlMW5nIDEyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJUaGcgMDFfVGhnIDAyX1RoZyAwM19UaGcgMDRfVGhnIDA1X1RoZyAwNl9UaGcgMDdfVGhnIDA4X1RoZyAwOV9UaGcgMTBfVGhnIDExX1RoZyAxMiIuc3BsaXQoIl8iKSxtb250aHNQYXJzZUV4''@;'; put 'put ''YWN0OiEwLHdlZWtkYXlzOiJjaFx1MWVlNyBuaFx1MWVhZHRfdGhcdTFlZTkgaGFpX3RoXHUxZWU5IGJhX3RoXHUxZWU5IHRcdTAxYjBfdGhcdTFlZTkgblx1MDEwM21fdGhcdTFlZTkgc1x4ZTF1X3RoXHUxZWU5IGJcdTFlYTN5Ii5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IkNOX1QyX1Qz''@;'; put 'put ''X1Q0X1Q1X1Q2X1Q3Ii5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJDTl9UMl9UM19UNF9UNV9UNl9UNyIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbWVyaWRpZW1QYXJzZTovc2F8Y2gvaSxpc1BNOmZ1bmN0aW9uKGdlKXtyZXR1cm4vXmNoJC9pLnRlc3QoZ2UpfSxtZXJpZGll''@;'; put 'put ''bTpmdW5jdGlvbihnZSxoZSxaKXtyZXR1cm4gZ2U8MTI/Wj8ic2EiOiJTQSI6Wj8iY2giOiJDSCJ9LGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IkREL01NL1lZWVkiLExMOiJEIE1NTU0gW25cdTAxMDNtXSBZWVlZIixMTEw6IkQgTU1NTSBbblx1MDEwM21d''@;'; put 'put ''IFlZWVkgSEg6bW0iLExMTEw6ImRkZGQsIEQgTU1NTSBbblx1MDEwM21dIFlZWVkgSEg6bW0iLGw6IkREL00vWVlZWSIsbGw6IkQgTU1NIFlZWVkiLGxsbDoiRCBNTU0gWVlZWSBISDptbSIsbGxsbDoiZGRkLCBEIE1NTSBZWVlZIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltIXHhmNG0g''@;'; put 'put ''bmF5IGxceGZhY10gTFQiLG5leHREYXk6IltOZ1x4ZTB5IG1haSBsXHhmYWNdIExUIixuZXh0V2VlazoiZGRkZCBbdHVcdTFlYTduIHRcdTFlZGJpIGxceGZhY10gTFQiLGxhc3REYXk6IltIXHhmNG0gcXVhIGxceGZhY10gTFQiLGxhc3RXZWVrOiJkZGRkIFt0dVx1MWVhN24gdHJcdTAxYjBc''@;'; put 'put ''dTFlZGJjIGxceGZhY10gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzIHRcdTFlZGJpIixwYXN0OiIlcyB0clx1MDFiMFx1MWVkYmMiLHM6InZceGUwaSBnaVx4ZTJ5IixzczoiJWQgZ2lceGUyeSIsbToibVx1MWVkOXQgcGhceGZhdCIsbW06IiVkIHBoXHhmYXQi''@;'; put 'put ''LGg6Im1cdTFlZDl0IGdpXHUxZWRkIixoaDoiJWQgZ2lcdTFlZGQiLGQ6Im1cdTFlZDl0IG5nXHhlMHkiLGRkOiIlZCBuZ1x4ZTB5Iix3OiJtXHUxZWQ5dCB0dVx1MWVhN24iLHd3OiIlZCB0dVx1MWVhN24iLE06Im1cdTFlZDl0IHRoXHhlMW5nIixNTToiJWQgdGhceGUxbmciLHk6Im1cdTFl''@;'; put 'put ''ZDl0IG5cdTAxMDNtIix5eToiJWQgblx1MDEwM20ifSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9LyxvcmRpbmFsOmZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2V9LHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDMxNTY6ZnVuY3Rpb24oX3QsQ3QsRmUpeyFmdW5jdGlvbihD''@;'; put 'put ''ZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgieC1wc2V1ZG8iLHttb250aHM6Ikp+XHhlMVx4ZjFceGZhXHhlMX5yXHhmZF9Gflx4ZTliclx4ZmF+XHhlMXJceGZkX35NXHhlMXJjfmhfXHhjMXB+clx4ZWRsX35NXHhlMVx4ZmRffkpceGZhXHhmMVx4ZTl+X0pceGZhbH5ceGZkX1x4''@;'; put 'put ''YzFceGZhfmdceGZhc3R+X1NceGU5cH50XHhlOW1iflx4ZTlyX1x4ZDN+Y3RceGYzYn5ceGU5cl9ceGQxflx4ZjN2XHhlOW1+Ylx4ZTlyX35EXHhlOWNceGU5fm1iXHhlOXIiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6Ikp+XHhlMVx4ZjFffkZceGU5Yl9+TVx4ZTFyX35ceGMxcHJffk1ceGUx''@;'; put 'put ''XHhmZF9+Slx4ZmFceGYxX35KXHhmYWxfflx4YzFceGZhZ19+U1x4ZTlwX35ceGQzY3Rfflx4ZDFceGYzdl9+RFx4ZTljIi5zcGxpdCgiXyIpLG1vbnRoc1BhcnNlRXhhY3Q6ITAsd2Vla2RheXM6IlN+XHhmYVx4ZjFkXHhlMX5ceGZkX01ceGYzflx4ZjFkXHhlMVx4ZmR+X1RceGZhXHhlOX5z''@;'; put 'put ''ZFx4ZTFceGZkfl9XXHhlOWR+XHhmMVx4ZTlzZH5ceGUxXHhmZF9UfmhceGZhcnN+ZFx4ZTFceGZkX35Gclx4ZWRkflx4ZTFceGZkX1N+XHhlMXRceGZhcn5kXHhlMVx4ZmQiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiU35ceGZhXHhmMV9+TVx4ZjNceGYxX35UXHhmYVx4ZTlffldceGU5''@;'; put 'put ''ZF9+VGhceGZhX35Gclx4ZWRfflNceGUxdCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiU35ceGZhX01ceGYzfl9UXHhmYV9+V1x4ZTlfVH5oX0Zyfl9TXHhlMSIuc3BsaXQoIl8iKSx3ZWVrZGF5c1BhcnNlRXhhY3Q6ITAsbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTDoiREQvTU0vWVlZ''@;'; put 'put ''WSIsTEw6IkQgTU1NTSBZWVlZIixMTEw6IkQgTU1NTSBZWVlZIEhIOm1tIixMTExMOiJkZGRkLCBEIE1NTU0gWVlZWSBISDptbSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbVH5ceGYzZFx4ZTF+XHhmZCBceGUxdF0gTFQiLG5leHREYXk6IltUflx4ZjNtXHhmM35yclx4ZjN+dyBceGUxdF0gTFQi''@;'; put 'put ''LG5leHRXZWVrOiJkZGRkIFtceGUxdF0gTFQiLGxhc3REYXk6IltceGRkflx4ZTlzdH5ceGU5cmRceGUxflx4ZmQgXHhlMXRdIExUIixsYXN0V2VlazoiW0x+XHhlMXN0XSBkZGRkIFtceGUxdF0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVUaW1lOntmdXR1cmU6Ilx4ZWR+XHhmMSAlcyIs''@;'; put 'put ''cGFzdDoiJXMgXHhlMX5nXHhmMyIsczoiXHhlMSB+Zlx4ZTl3IH5zXHhlOWNceGYzflx4ZjFkcyIsc3M6IiVkIHN+XHhlOWNceGYzXHhmMX5kcyIsbToiXHhlMSB+bVx4ZWRceGYxflx4ZmF0XHhlOSIsbW06IiVkIG1+XHhlZFx4ZjFceGZhfnRceGU5cyIsaDoiXHhlMX5ceGYxIGhceGYzflx4''@;'; put 'put ''ZmFyIixoaDoiJWQgaH5ceGYzXHhmYXJzIixkOiJceGUxIH5kXHhlMVx4ZmQiLGRkOiIlZCBkflx4ZTFceGZkcyIsTToiXHhlMSB+bVx4ZjNceGYxfnRoIixNTToiJWQgbX5ceGYzXHhmMXR+aHMiLHk6Ilx4ZTEgflx4ZmRceGU5XHhlMXIiLHl5OiIlZCBceGZkflx4ZTlceGUxcnMifSxkYXlP''@;'; put 'put ''Zk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KHRofHN0fG5kfHJkKS8sb3JkaW5hbDpmdW5jdGlvbihnZSl7dmFyIGhlPWdlJTEwO3JldHVybiBnZSsoMT09fn4oZ2UlMTAwLzEwKT8idGgiOjE9PT1oZT8ic3QiOjI9PT1oZT8ibmQiOjM9PT1oZT8icmQiOiJ0aCIpfSx3ZWVrOntkb3c6MSxk''@;'; put 'put ''b3k6NH19KX0oRmUoNjczOCkpfSw4MDI4OmZ1bmN0aW9uKF90LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInlvIix7bW9udGhzOiJTXHUxZWI5XHUwMzAxclx1MWViOVx1MDMwMV9FXHUwMzAwcmVcdTAzMDBsZVx1MDMwMF9cdTFlYjhyXHUxZWI5''@;'; put 'put ''XHUwMzAwbmFcdTAzMDBfSVx1MDMwMGdiZVx1MDMwMV9FXHUwMzAwYmliaV9PXHUwMzAwa3VcdTAzMDBkdV9BZ1x1MWViOW1vX09cdTAzMDBndVx1MDMwMW5fT3dld2VfXHUxZWNjXHUwMzAwd2FcdTAzMDByYVx1MDMwMF9CZVx1MDMwMWx1XHUwMzAxX1x1MWVjY1x1MDMwMHBcdTFlYjlcdTAz''@;'; put 'put ''MDBcdTAzMDAiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6IlNcdTFlYjlcdTAzMDFyX0VcdTAzMDBybF9cdTFlYjhybl9JXHUwMzAwZ2JfRVx1MDMwMGJpX09cdTAzMDBrdVx1MDMwMF9BZ1x1MWViOV9PXHUwMzAwZ3VcdTAzMDFfT3dlX1x1MWVjY1x1MDMwMHdhXHUwMzAwX0JlXHUwMzAxbF9c''@;'; put 'put ''dTFlY2NcdTAzMDBwXHUxZWI5XHUwMzAwXHUwMzAwIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJBXHUwMzAwaVx1MDMwMGt1XHUwMzAxX0FqZVx1MDMwMV9JXHUwMzAwc1x1MWViOVx1MDMwMWd1bl9cdTFlY2NqXHUxZWNkXHUwMzAxcnVcdTAzMDFfXHUxZWNjalx1MWVjZFx1MDMwMWJcdTFlY2Rf''@;'; put 'put ''XHUxZWI4dGlcdTAzMDBfQVx1MDMwMGJhXHUwMzAxbVx1MWViOVx1MDMwMXRhIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6IkFcdTAzMDBpXHUwMzAwa19BamVcdTAzMDFfSVx1MDMwMHNcdTFlYjlcdTAzMDFfXHUxZWNjanJfXHUxZWNjamJfXHUxZWI4dGlcdTAzMDBfQVx1MDMwMGJhXHUw''@;'; put 'put ''MzAxIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJBXHUwMzAwaVx1MDMwMF9Bal9JXHUwMzAwc19cdTFlY2NyX1x1MWVjY2JfXHUxZWI4dF9BXHUwMzAwYiIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6Img6bW0gQSIsTFRTOiJoOm1tOnNzIEEiLEw6IkREL01NL1lZWVkiLExMOiJE''@;'; put 'put ''IE1NTU0gWVlZWSIsTExMOiJEIE1NTU0gWVlZWSBoOm1tIEEiLExMTEw6ImRkZGQsIEQgTU1NTSBZWVlZIGg6bW0gQSJ9LGNhbGVuZGFyOntzYW1lRGF5OiJbT1x1MDMwMG5pXHUwMzAwIG5pXSBMVCIsbmV4dERheToiW1x1MWVjY1x1MDMwMGxhIG5pXSBMVCIsbmV4dFdlZWs6ImRkZGQgW1x1''@;'; put 'put ''MWVjY3NcdTFlYjlcdTAzMDAgdG9cdTAzMDFuJ2JcdTFlY2RdIFtuaV0gTFQiLGxhc3REYXk6IltBXHUwMzAwbmEgbmldIExUIixsYXN0V2VlazoiZGRkZCBbXHUxZWNjc1x1MWViOVx1MDMwMCB0b1x1MDMwMWxcdTFlY2RcdTAzMDFdIFtuaV0gTFQiLHNhbWVFbHNlOiJMIn0scmVsYXRpdmVU''@;'; put 'put ''aW1lOntmdXR1cmU6Im5pXHUwMzAxICVzIixwYXN0OiIlcyBrXHUxZWNkamFcdTAzMDEiLHM6ImlcdTAzMDBzXHUxZWI5anVcdTAzMDEgYWF5YVx1MDMwMSBkaWUiLHNzOiJhYXlhXHUwMzAxICVkIixtOiJpXHUwMzAwc1x1MWViOWp1XHUwMzAxIGthbiIsbW06ImlcdTAzMDBzXHUxZWI5anVc''@;'; put 'put ''dTAzMDEgJWQiLGg6IndhXHUwMzAxa2F0aSBrYW4iLGhoOiJ3YVx1MDMwMWthdGkgJWQiLGQ6Ilx1MWVjZGpcdTFlY2RcdTAzMDEga2FuIixkZDoiXHUxZWNkalx1MWVjZFx1MDMwMSAlZCIsTToib3N1XHUwMzAwIGthbiIsTU06Im9zdVx1MDMwMCAlZCIseToiXHUxZWNkZHVcdTAzMDFuIGth''@;'; put 'put ''biIseXk6Ilx1MWVjZGR1XHUwMzAxbiAlZCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1x1MWVjZGpcdTFlY2RcdTAzMDFcc1xkezEsMn0vLG9yZGluYWw6Ilx1MWVjZGpcdTFlY2RcdTAzMDEgJWQiLHdlZWs6e2RvdzoxLGRveTo0fX0pfShGZSg2NzM4KSl9LDkzMzA6ZnVuY3Rpb24oX3Qs''@;'; put 'put ''Q3QsRmUpeyFmdW5jdGlvbihDZSl7InVzZSBzdHJpY3QiO0NlLmRlZmluZUxvY2FsZSgiemgtY24iLHttb250aHM6Ilx1NGUwMFx1NjcwOF9cdTRlOGNcdTY3MDhfXHU0ZTA5XHU2NzA4X1x1NTZkYlx1NjcwOF9cdTRlOTRcdTY3MDhfXHU1MTZkXHU2NzA4X1x1NGUwM1x1NjcwOF9cdTUxNmJc''@;'; put 'put ''dTY3MDhfXHU0ZTVkXHU2NzA4X1x1NTM0MVx1NjcwOF9cdTUzNDFcdTRlMDBcdTY3MDhfXHU1MzQxXHU0ZThjXHU2NzA4Ii5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiIxXHU2NzA4XzJcdTY3MDhfM1x1NjcwOF80XHU2NzA4XzVcdTY3MDhfNlx1NjcwOF83XHU2NzA4XzhcdTY3MDhfOVx1Njcw''@;'; put 'put ''OF8xMFx1NjcwOF8xMVx1NjcwOF8xMlx1NjcwOCIuc3BsaXQoIl8iKSx3ZWVrZGF5czoiXHU2NjFmXHU2NzFmXHU2NWU1X1x1NjYxZlx1NjcxZlx1NGUwMF9cdTY2MWZcdTY3MWZcdTRlOGNfXHU2NjFmXHU2NzFmXHU0ZTA5X1x1NjYxZlx1NjcxZlx1NTZkYl9cdTY2MWZcdTY3MWZcdTRlOTRf''@;'; put 'put ''XHU2NjFmXHU2NzFmXHU1MTZkIi5zcGxpdCgiXyIpLHdlZWtkYXlzU2hvcnQ6Ilx1NTQ2OFx1NjVlNV9cdTU0NjhcdTRlMDBfXHU1NDY4XHU0ZThjX1x1NTQ2OFx1NGUwOV9cdTU0NjhcdTU2ZGJfXHU1NDY4XHU0ZTk0X1x1NTQ2OFx1NTE2ZCIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiXHU2''@;'; put 'put ''NWU1X1x1NGUwMF9cdTRlOGNfXHU0ZTA5X1x1NTZkYl9cdTRlOTRfXHU1MTZkIi5zcGxpdCgiXyIpLGxvbmdEYXRlRm9ybWF0OntMVDoiSEg6bW0iLExUUzoiSEg6bW06c3MiLEw6IllZWVkvTU0vREQiLExMOiJZWVlZXHU1ZTc0TVx1NjcwOERcdTY1ZTUiLExMTDoiWVlZWVx1NWU3NE1cdTY3''@;'; put 'put ''MDhEXHU2NWU1QWhcdTcwYjltbVx1NTIwNiIsTExMTDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1ZGRkZEFoXHU3MGI5bW1cdTUyMDYiLGw6IllZWVkvTS9EIixsbDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IixsbGw6IllZWVlcdTVlNzRNXHU2NzA4RFx1NjVlNSBISDptbSIsbGxsbDoi''@;'; put 'put ''WVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1ZGRkZCBISDptbSJ9LG1lcmlkaWVtUGFyc2U6L1x1NTFjY1x1NjY2OHxcdTY1ZTlcdTRlMGF8XHU0ZTBhXHU1MzQ4fFx1NGUyZFx1NTM0OHxcdTRlMGJcdTUzNDh8XHU2NjVhXHU0ZTBhLyxtZXJpZGllbUhvdXI6ZnVuY3Rpb24oZ2UsaGUpe3JldHVy''@;'; put 'put ''biAxMj09PWdlJiYoZ2U9MCksIlx1NTFjY1x1NjY2OCI9PT1oZXx8Ilx1NjVlOVx1NGUwYSI9PT1oZXx8Ilx1NGUwYVx1NTM0OCI9PT1oZT9nZToiXHU0ZTBiXHU1MzQ4Ij09PWhlfHwiXHU2NjVhXHU0ZTBhIj09PWhlP2dlKzEyOmdlPj0xMT9nZTpnZSsxMn0sbWVyaWRpZW06ZnVuY3Rpb24o''@;'; put 'put ''Z2UsaGUsWil7dmFyIEE9MTAwKmdlK2hlO3JldHVybiBBPDYwMD8iXHU1MWNjXHU2NjY4IjpBPDkwMD8iXHU2NWU5XHU0ZTBhIjpBPDExMzA/Ilx1NGUwYVx1NTM0OCI6QTwxMjMwPyJcdTRlMmRcdTUzNDgiOkE8MTgwMD8iXHU0ZTBiXHU1MzQ4IjoiXHU2NjVhXHU0ZTBhIn0sY2FsZW5kYXI6''@;'; put 'put ''e3NhbWVEYXk6IltcdTRlY2FcdTU5MjldTFQiLG5leHREYXk6IltcdTY2MGVcdTU5MjldTFQiLG5leHRXZWVrOmZ1bmN0aW9uKGdlKXtyZXR1cm4gZ2Uud2VlaygpIT09dGhpcy53ZWVrKCk/IltcdTRlMGJdZGRkTFQiOiJbXHU2NzJjXWRkZExUIn0sbGFzdERheToiW1x1NjYyOFx1NTkyOV1M''@;'; put 'put ''VCIsbGFzdFdlZWs6ZnVuY3Rpb24oZ2Upe3JldHVybiB0aGlzLndlZWsoKSE9PWdlLndlZWsoKT8iW1x1NGUwYV1kZGRMVCI6IltcdTY3MmNdZGRkTFQifSxzYW1lRWxzZToiTCJ9LGRheU9mTW9udGhPcmRpbmFsUGFyc2U6L1xkezEsMn0oXHU2NWU1fFx1NjcwOHxcdTU0NjgpLyxvcmRpbmFs''@;'; put 'put ''OmZ1bmN0aW9uKGdlLGhlKXtzd2l0Y2goaGUpe2Nhc2UiZCI6Y2FzZSJEIjpjYXNlIkRERCI6cmV0dXJuIGdlKyJcdTY1ZTUiO2Nhc2UiTSI6cmV0dXJuIGdlKyJcdTY3MDgiO2Nhc2UidyI6Y2FzZSJXIjpyZXR1cm4gZ2UrIlx1NTQ2OCI7ZGVmYXVsdDpyZXR1cm4gZ2V9fSxyZWxhdGl2ZVRp''@;'; put 'put ''bWU6e2Z1dHVyZToiJXNcdTU0MGUiLHBhc3Q6IiVzXHU1MjRkIixzOiJcdTUxZTBcdTc5ZDIiLHNzOiIlZCBcdTc5ZDIiLG06IjEgXHU1MjA2XHU5NDlmIixtbToiJWQgXHU1MjA2XHU5NDlmIixoOiIxIFx1NWMwZlx1NjVmNiIsaGg6IiVkIFx1NWMwZlx1NjVmNiIsZDoiMSBcdTU5MjkiLGRk''@;'; put 'put ''OiIlZCBcdTU5MjkiLHc6IjEgXHU1NDY4Iix3dzoiJWQgXHU1NDY4IixNOiIxIFx1NGUyYVx1NjcwOCIsTU06IiVkIFx1NGUyYVx1NjcwOCIseToiMSBcdTVlNzQiLHl5OiIlZCBcdTVlNzQifSx3ZWVrOntkb3c6MSxkb3k6NH19KX0oRmUoNjczOCkpfSw5MzgwOmZ1bmN0aW9uKF90LEN0LEZl''@;'; put 'put ''KXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInpoLWhrIix7bW9udGhzOiJcdTRlMDBcdTY3MDhfXHU0ZThjXHU2NzA4X1x1NGUwOVx1NjcwOF9cdTU2ZGJcdTY3MDhfXHU0ZTk0XHU2NzA4X1x1NTE2ZFx1NjcwOF9cdTRlMDNcdTY3MDhfXHU1MTZiXHU2NzA4''@;'; put 'put ''X1x1NGU1ZFx1NjcwOF9cdTUzNDFcdTY3MDhfXHU1MzQxXHU0ZTAwXHU2NzA4X1x1NTM0MVx1NGU4Y1x1NjcwOCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiMVx1NjcwOF8yXHU2NzA4XzNcdTY3MDhfNFx1NjcwOF81XHU2NzA4XzZcdTY3MDhfN1x1NjcwOF84XHU2NzA4XzlcdTY3MDhfMTBc''@;'; put 'put ''dTY3MDhfMTFcdTY3MDhfMTJcdTY3MDgiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1NjYxZlx1NjcxZlx1NjVlNV9cdTY2MWZcdTY3MWZcdTRlMDBfXHU2NjFmXHU2NzFmXHU0ZThjX1x1NjYxZlx1NjcxZlx1NGUwOV9cdTY2MWZcdTY3MWZcdTU2ZGJfXHU2NjFmXHU2NzFmXHU0ZTk0X1x1NjYx''@;'; put 'put ''Zlx1NjcxZlx1NTE2ZCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTkwMzFcdTY1ZTVfXHU5MDMxXHU0ZTAwX1x1OTAzMVx1NGU4Y19cdTkwMzFcdTRlMDlfXHU5MDMxXHU1NmRiX1x1OTAzMVx1NGU5NF9cdTkwMzFcdTUxNmQiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1NjVlNV9c''@;'; put 'put ''dTRlMDBfXHU0ZThjX1x1NGUwOV9cdTU2ZGJfXHU0ZTk0X1x1NTE2ZCIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJZWVlZL01NL0REIixMTDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IixMTEw6IllZWVlcdTVlNzRNXHU2NzA4RFx1''@;'; put 'put ''NjVlNSBISDptbSIsTExMTDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1ZGRkZCBISDptbSIsbDoiWVlZWS9NL0QiLGxsOiJZWVlZXHU1ZTc0TVx1NjcwOERcdTY1ZTUiLGxsbDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IEhIOm1tIixsbGxsOiJZWVlZXHU1ZTc0TVx1NjcwOERcdTY1ZTVk''@;'; put 'put ''ZGRkIEhIOm1tIn0sbWVyaWRpZW1QYXJzZTovXHU1MWNjXHU2NjY4fFx1NjVlOVx1NGUwYXxcdTRlMGFcdTUzNDh8XHU0ZTJkXHU1MzQ4fFx1NGUwYlx1NTM0OHxcdTY2NWFcdTRlMGEvLG1lcmlkaWVtSG91cjpmdW5jdGlvbihnZSxoZSl7cmV0dXJuIDEyPT09Z2UmJihnZT0wKSwiXHU1MWNj''@;'; put 'put ''XHU2NjY4Ij09PWhlfHwiXHU2NWU5XHU0ZTBhIj09PWhlfHwiXHU0ZTBhXHU1MzQ4Ij09PWhlP2dlOiJcdTRlMmRcdTUzNDgiPT09aGU/Z2U+PTExP2dlOmdlKzEyOiJcdTRlMGJcdTUzNDgiPT09aGV8fCJcdTY2NWFcdTRlMGEiPT09aGU/Z2UrMTI6dm9pZCAwfSxtZXJpZGllbTpmdW5jdGlv''@;'; put 'put ''bihnZSxoZSxaKXt2YXIgQT0xMDAqZ2UraGU7cmV0dXJuIEE8NjAwPyJcdTUxY2NcdTY2NjgiOkE8OTAwPyJcdTY1ZTlcdTRlMGEiOkE8MTIwMD8iXHU0ZTBhXHU1MzQ4IjoxMjAwPT09QT8iXHU0ZTJkXHU1MzQ4IjpBPDE4MDA/Ilx1NGUwYlx1NTM0OCI6Ilx1NjY1YVx1NGUwYSJ9LGNhbGVu''@;'; put 'put ''ZGFyOntzYW1lRGF5OiJbXHU0ZWNhXHU1OTI5XUxUIixuZXh0RGF5OiJbXHU2NjBlXHU1OTI5XUxUIixuZXh0V2VlazoiW1x1NGUwYl1kZGRkTFQiLGxhc3REYXk6IltcdTY2MjhcdTU5MjldTFQiLGxhc3RXZWVrOiJbXHU0ZTBhXWRkZGRMVCIsc2FtZUVsc2U6IkwifSxkYXlPZk1vbnRoT3Jk''@;'; put 'put ''aW5hbFBhcnNlOi9cZHsxLDJ9KFx1NjVlNXxcdTY3MDh8XHU5MDMxKS8sb3JkaW5hbDpmdW5jdGlvbihnZSxoZSl7c3dpdGNoKGhlKXtjYXNlImQiOmNhc2UiRCI6Y2FzZSJEREQiOnJldHVybiBnZSsiXHU2NWU1IjtjYXNlIk0iOnJldHVybiBnZSsiXHU2NzA4IjtjYXNlInciOmNhc2UiVyI6''@;'; put 'put ''cmV0dXJuIGdlKyJcdTkwMzEiO2RlZmF1bHQ6cmV0dXJuIGdlfX0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzXHU1ZjhjIixwYXN0OiIlc1x1NTI0ZCIsczoiXHU1ZTdlXHU3OWQyIixzczoiJWQgXHU3OWQyIixtOiIxIFx1NTIwNlx1OTQxOCIsbW06IiVkIFx1NTIwNlx1OTQxOCIsaDoiMSBc''@;'; put 'put ''dTVjMGZcdTY2NDIiLGhoOiIlZCBcdTVjMGZcdTY2NDIiLGQ6IjEgXHU1OTI5IixkZDoiJWQgXHU1OTI5IixNOiIxIFx1NTAwYlx1NjcwOCIsTU06IiVkIFx1NTAwYlx1NjcwOCIseToiMSBcdTVlNzQiLHl5OiIlZCBcdTVlNzQifX0pfShGZSg2NzM4KSl9LDg3NDpmdW5jdGlvbihfdCxDdCxG''@;'; put 'put ''ZSl7IWZ1bmN0aW9uKENlKXsidXNlIHN0cmljdCI7Q2UuZGVmaW5lTG9jYWxlKCJ6aC1tbyIse21vbnRoczoiXHU0ZTAwXHU2NzA4X1x1NGU4Y1x1NjcwOF9cdTRlMDlcdTY3MDhfXHU1NmRiXHU2NzA4X1x1NGU5NFx1NjcwOF9cdTUxNmRcdTY3MDhfXHU0ZTAzXHU2NzA4X1x1NTE2Ylx1Njcw''@;'; put 'put ''OF9cdTRlNWRcdTY3MDhfXHU1MzQxXHU2NzA4X1x1NTM0MVx1NGUwMFx1NjcwOF9cdTUzNDFcdTRlOGNcdTY3MDgiLnNwbGl0KCJfIiksbW9udGhzU2hvcnQ6IjFcdTY3MDhfMlx1NjcwOF8zXHU2NzA4XzRcdTY3MDhfNVx1NjcwOF82XHU2NzA4XzdcdTY3MDhfOFx1NjcwOF85XHU2NzA4XzEw''@;'; put 'put ''XHU2NzA4XzExXHU2NzA4XzEyXHU2NzA4Ii5zcGxpdCgiXyIpLHdlZWtkYXlzOiJcdTY2MWZcdTY3MWZcdTY1ZTVfXHU2NjFmXHU2NzFmXHU0ZTAwX1x1NjYxZlx1NjcxZlx1NGU4Y19cdTY2MWZcdTY3MWZcdTRlMDlfXHU2NjFmXHU2NzFmXHU1NmRiX1x1NjYxZlx1NjcxZlx1NGU5NF9cdTY2''@;'; put 'put ''MWZcdTY3MWZcdTUxNmQiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiXHU5MDMxXHU2NWU1X1x1OTAzMVx1NGUwMF9cdTkwMzFcdTRlOGNfXHU5MDMxXHU0ZTA5X1x1OTAzMVx1NTZkYl9cdTkwMzFcdTRlOTRfXHU5MDMxXHU1MTZkIi5zcGxpdCgiXyIpLHdlZWtkYXlzTWluOiJcdTY1ZTVf''@;'; put 'put ''XHU0ZTAwX1x1NGU4Y19cdTRlMDlfXHU1NmRiX1x1NGU5NF9cdTUxNmQiLnNwbGl0KCJfIiksbG9uZ0RhdGVGb3JtYXQ6e0xUOiJISDptbSIsTFRTOiJISDptbTpzcyIsTDoiREQvTU0vWVlZWSIsTEw6IllZWVlcdTVlNzRNXHU2NzA4RFx1NjVlNSIsTExMOiJZWVlZXHU1ZTc0TVx1NjcwOERc''@;'; put 'put ''dTY1ZTUgSEg6bW0iLExMTEw6IllZWVlcdTVlNzRNXHU2NzA4RFx1NjVlNWRkZGQgSEg6bW0iLGw6IkQvTS9ZWVlZIixsbDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IixsbGw6IllZWVlcdTVlNzRNXHU2NzA4RFx1NjVlNSBISDptbSIsbGxsbDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1''@;'; put 'put ''ZGRkZCBISDptbSJ9LG1lcmlkaWVtUGFyc2U6L1x1NTFjY1x1NjY2OHxcdTY1ZTlcdTRlMGF8XHU0ZTBhXHU1MzQ4fFx1NGUyZFx1NTM0OHxcdTRlMGJcdTUzNDh8XHU2NjVhXHU0ZTBhLyxtZXJpZGllbUhvdXI6ZnVuY3Rpb24oZ2UsaGUpe3JldHVybiAxMj09PWdlJiYoZ2U9MCksIlx1NTFj''@;'; put 'put ''Y1x1NjY2OCI9PT1oZXx8Ilx1NjVlOVx1NGUwYSI9PT1oZXx8Ilx1NGUwYVx1NTM0OCI9PT1oZT9nZToiXHU0ZTJkXHU1MzQ4Ij09PWhlP2dlPj0xMT9nZTpnZSsxMjoiXHU0ZTBiXHU1MzQ4Ij09PWhlfHwiXHU2NjVhXHU0ZTBhIj09PWhlP2dlKzEyOnZvaWQgMH0sbWVyaWRpZW06ZnVuY3Rp''@;'; put 'put ''b24oZ2UsaGUsWil7dmFyIEE9MTAwKmdlK2hlO3JldHVybiBBPDYwMD8iXHU1MWNjXHU2NjY4IjpBPDkwMD8iXHU2NWU5XHU0ZTBhIjpBPDExMzA/Ilx1NGUwYVx1NTM0OCI6QTwxMjMwPyJcdTRlMmRcdTUzNDgiOkE8MTgwMD8iXHU0ZTBiXHU1MzQ4IjoiXHU2NjVhXHU0ZTBhIn0sY2FsZW5k''@;'; put 'put ''YXI6e3NhbWVEYXk6IltcdTRlY2FcdTU5MjldIExUIixuZXh0RGF5OiJbXHU2NjBlXHU1OTI5XSBMVCIsbmV4dFdlZWs6IltcdTRlMGJdZGRkZCBMVCIsbGFzdERheToiW1x1NjYyOFx1NTkyOV0gTFQiLGxhc3RXZWVrOiJbXHU0ZTBhXWRkZGQgTFQiLHNhbWVFbHNlOiJMIn0sZGF5T2ZNb250''@;'; put 'put ''aE9yZGluYWxQYXJzZTovXGR7MSwyfShcdTY1ZTV8XHU2NzA4fFx1OTAzMSkvLG9yZGluYWw6ZnVuY3Rpb24oZ2UsaGUpe3N3aXRjaChoZSl7Y2FzZSJkIjpjYXNlIkQiOmNhc2UiREREIjpyZXR1cm4gZ2UrIlx1NjVlNSI7Y2FzZSJNIjpyZXR1cm4gZ2UrIlx1NjcwOCI7Y2FzZSJ3IjpjYXNl''@;'; put 'put ''IlciOnJldHVybiBnZSsiXHU5MDMxIjtkZWZhdWx0OnJldHVybiBnZX19LHJlbGF0aXZlVGltZTp7ZnV0dXJlOiIlc1x1NTE2NyIscGFzdDoiJXNcdTUyNGQiLHM6Ilx1NWU3ZVx1NzlkMiIsc3M6IiVkIFx1NzlkMiIsbToiMSBcdTUyMDZcdTk0MTgiLG1tOiIlZCBcdTUyMDZcdTk0MTgiLGg6''@;'; put 'put ''IjEgXHU1YzBmXHU2NjQyIixoaDoiJWQgXHU1YzBmXHU2NjQyIixkOiIxIFx1NTkyOSIsZGQ6IiVkIFx1NTkyOSIsTToiMSBcdTUwMGJcdTY3MDgiLE1NOiIlZCBcdTUwMGJcdTY3MDgiLHk6IjEgXHU1ZTc0Iix5eToiJWQgXHU1ZTc0In19KX0oRmUoNjczOCkpfSw2NTA4OmZ1bmN0aW9uKF90''@;'; put 'put ''LEN0LEZlKXshZnVuY3Rpb24oQ2UpeyJ1c2Ugc3RyaWN0IjtDZS5kZWZpbmVMb2NhbGUoInpoLXR3Iix7bW9udGhzOiJcdTRlMDBcdTY3MDhfXHU0ZThjXHU2NzA4X1x1NGUwOVx1NjcwOF9cdTU2ZGJcdTY3MDhfXHU0ZTk0XHU2NzA4X1x1NTE2ZFx1NjcwOF9cdTRlMDNcdTY3MDhfXHU1MTZi''@;'; put 'put ''XHU2NzA4X1x1NGU1ZFx1NjcwOF9cdTUzNDFcdTY3MDhfXHU1MzQxXHU0ZTAwXHU2NzA4X1x1NTM0MVx1NGU4Y1x1NjcwOCIuc3BsaXQoIl8iKSxtb250aHNTaG9ydDoiMVx1NjcwOF8yXHU2NzA4XzNcdTY3MDhfNFx1NjcwOF81XHU2NzA4XzZcdTY3MDhfN1x1NjcwOF84XHU2NzA4XzlcdTY3''@;'; put 'put ''MDhfMTBcdTY3MDhfMTFcdTY3MDhfMTJcdTY3MDgiLnNwbGl0KCJfIiksd2Vla2RheXM6Ilx1NjYxZlx1NjcxZlx1NjVlNV9cdTY2MWZcdTY3MWZcdTRlMDBfXHU2NjFmXHU2NzFmXHU0ZThjX1x1NjYxZlx1NjcxZlx1NGUwOV9cdTY2MWZcdTY3MWZcdTU2ZGJfXHU2NjFmXHU2NzFmXHU0ZTk0''@;'; put 'put ''X1x1NjYxZlx1NjcxZlx1NTE2ZCIuc3BsaXQoIl8iKSx3ZWVrZGF5c1Nob3J0OiJcdTkwMzFcdTY1ZTVfXHU5MDMxXHU0ZTAwX1x1OTAzMVx1NGU4Y19cdTkwMzFcdTRlMDlfXHU5MDMxXHU1NmRiX1x1OTAzMVx1NGU5NF9cdTkwMzFcdTUxNmQiLnNwbGl0KCJfIiksd2Vla2RheXNNaW46Ilx1''@;'; put 'put ''NjVlNV9cdTRlMDBfXHU0ZThjX1x1NGUwOV9cdTU2ZGJfXHU0ZTk0X1x1NTE2ZCIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJZWVlZL01NL0REIixMTDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IixMTEw6IllZWVlcdTVlNzRNXHU2''@;'; put 'put ''NzA4RFx1NjVlNSBISDptbSIsTExMTDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1ZGRkZCBISDptbSIsbDoiWVlZWS9NL0QiLGxsOiJZWVlZXHU1ZTc0TVx1NjcwOERcdTY1ZTUiLGxsbDoiWVlZWVx1NWU3NE1cdTY3MDhEXHU2NWU1IEhIOm1tIixsbGxsOiJZWVlZXHU1ZTc0TVx1NjcwOERc''@;'; put 'put ''dTY1ZTVkZGRkIEhIOm1tIn0sbWVyaWRpZW1QYXJzZTovXHU1MWNjXHU2NjY4fFx1NjVlOVx1NGUwYXxcdTRlMGFcdTUzNDh8XHU0ZTJkXHU1MzQ4fFx1NGUwYlx1NTM0OHxcdTY2NWFcdTRlMGEvLG1lcmlkaWVtSG91cjpmdW5jdGlvbihnZSxoZSl7cmV0dXJuIDEyPT09Z2UmJihnZT0wKSwi''@;'; put 'put ''XHU1MWNjXHU2NjY4Ij09PWhlfHwiXHU2NWU5XHU0ZTBhIj09PWhlfHwiXHU0ZTBhXHU1MzQ4Ij09PWhlP2dlOiJcdTRlMmRcdTUzNDgiPT09aGU/Z2U+PTExP2dlOmdlKzEyOiJcdTRlMGJcdTUzNDgiPT09aGV8fCJcdTY2NWFcdTRlMGEiPT09aGU/Z2UrMTI6dm9pZCAwfSxtZXJpZGllbTpm''@;'; put 'put ''dW5jdGlvbihnZSxoZSxaKXt2YXIgQT0xMDAqZ2UraGU7cmV0dXJuIEE8NjAwPyJcdTUxY2NcdTY2NjgiOkE8OTAwPyJcdTY1ZTlcdTRlMGEiOkE8MTEzMD8iXHU0ZTBhXHU1MzQ4IjpBPDEyMzA/Ilx1NGUyZFx1NTM0OCI6QTwxODAwPyJcdTRlMGJcdTUzNDgiOiJcdTY2NWFcdTRlMGEifSxj''@;'; put 'put ''YWxlbmRhcjp7c2FtZURheToiW1x1NGVjYVx1NTkyOV0gTFQiLG5leHREYXk6IltcdTY2MGVcdTU5MjldIExUIixuZXh0V2VlazoiW1x1NGUwYl1kZGRkIExUIixsYXN0RGF5OiJbXHU2NjI4XHU1OTI5XSBMVCIsbGFzdFdlZWs6IltcdTRlMGFdZGRkZCBMVCIsc2FtZUVsc2U6IkwifSxkYXlP''@;'; put 'put ''Zk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KFx1NjVlNXxcdTY3MDh8XHU5MDMxKS8sb3JkaW5hbDpmdW5jdGlvbihnZSxoZSl7c3dpdGNoKGhlKXtjYXNlImQiOmNhc2UiRCI6Y2FzZSJEREQiOnJldHVybiBnZSsiXHU2NWU1IjtjYXNlIk0iOnJldHVybiBnZSsiXHU2NzA4IjtjYXNlInci''@;'; put 'put ''OmNhc2UiVyI6cmV0dXJuIGdlKyJcdTkwMzEiO2RlZmF1bHQ6cmV0dXJuIGdlfX0scmVsYXRpdmVUaW1lOntmdXR1cmU6IiVzXHU1ZjhjIixwYXN0OiIlc1x1NTI0ZCIsczoiXHU1ZTdlXHU3OWQyIixzczoiJWQgXHU3OWQyIixtOiIxIFx1NTIwNlx1OTQxOCIsbW06IiVkIFx1NTIwNlx1OTQx''@;'; put 'put ''OCIsaDoiMSBcdTVjMGZcdTY2NDIiLGhoOiIlZCBcdTVjMGZcdTY2NDIiLGQ6IjEgXHU1OTI5IixkZDoiJWQgXHU1OTI5IixNOiIxIFx1NTAwYlx1NjcwOCIsTU06IiVkIFx1NTAwYlx1NjcwOCIseToiMSBcdTVlNzQiLHl5OiIlZCBcdTVlNzQifX0pfShGZSg2NzM4KSl9LDY3Mzg6ZnVuY3Rp''@;'; put 'put ''b24oX3QsQ3QsRmUpeyhfdD1GZS5ubWQoX3QpKS5leHBvcnRzPWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBDZSxQO2Z1bmN0aW9uIG9lKCl7cmV0dXJuIENlLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBoZShRKXtyZXR1cm4gUSBpbnN0YW5jZW9mIEFycmF5fHwiW29iamVj''@;'; put 'put ''dCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFEpfWZ1bmN0aW9uIFooUSl7cmV0dXJuIG51bGwhPVEmJiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFEpfWZ1bmN0aW9uIEEoUSxyZSl7cmV0dXJuIE9iamVjdC5wcm90''@;'; put 'put ''b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChRLHJlKX1mdW5jdGlvbiBqKFEpe2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKXJldHVybiAwPT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoUSkubGVuZ3RoO3ZhciByZTtmb3IocmUgaW4gUSlpZihBKFEscmUpKXJldHVybiExO3Jl''@;'; put 'put ''dHVybiEwfWZ1bmN0aW9uIE4oUSl7cmV0dXJuIHZvaWQgMD09PVF9ZnVuY3Rpb24geihRKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIFF8fCJbb2JqZWN0IE51bWJlcl0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFEpfWZ1bmN0aW9uIEMoUSl7cmV0dXJuIFEgaW5zdGFuY2Vv''@;'; put 'put ''ZiBEYXRlfHwiW29iamVjdCBEYXRlXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUSl9ZnVuY3Rpb24gUyhRLHJlKXt2YXIgTWUsdmU9W10sUGU9US5sZW5ndGg7Zm9yKE1lPTA7TWU8UGU7KytNZSl2ZS5wdXNoKHJlKFFbTWVdLE1lKSk7cmV0dXJuIHZlfWZ1bmN0aW9uIG0o''@;'; put 'put ''USxyZSl7Zm9yKHZhciB2ZSBpbiByZSlBKHJlLHZlKSYmKFFbdmVdPXJlW3ZlXSk7cmV0dXJuIEEocmUsInRvU3RyaW5nIikmJihRLnRvU3RyaW5nPXJlLnRvU3RyaW5nKSxBKHJlLCJ2YWx1ZU9mIikmJihRLnZhbHVlT2Y9cmUudmFsdWVPZiksUX1mdW5jdGlvbiBGKFEscmUsdmUsTWUpe3Jl''@;'; put 'put ''dHVybiBGaShRLHJlLHZlLE1lLCEwKS51dGMoKX1mdW5jdGlvbiB3KFEpe3JldHVybiBudWxsPT1RLl9wZiYmKFEuX3BmPXtlbXB0eTohMSx1bnVzZWRUb2tlbnM6W10sdW51c2VkSW5wdXQ6W10sb3ZlcmZsb3c6LTIsY2hhcnNMZWZ0T3ZlcjowLG51bGxJbnB1dDohMSxpbnZhbGlkRXJhOm51''@;'; put 'put ''bGwsaW52YWxpZE1vbnRoOm51bGwsaW52YWxpZEZvcm1hdDohMSx1c2VySW52YWxpZGF0ZWQ6ITEsaXNvOiExLHBhcnNlZERhdGVQYXJ0czpbXSxlcmE6bnVsbCxtZXJpZGllbTpudWxsLHJmYzI4MjI6ITEsd2Vla2RheU1pc21hdGNoOiExfSksUS5fcGZ9ZnVuY3Rpb24gTShRKXtpZihudWxs''@;'; put 'put ''PT1RLl9pc1ZhbGlkKXt2YXIgcmU9dyhRKSx2ZT1QLmNhbGwocmUucGFyc2VkRGF0ZVBhcnRzLGZ1bmN0aW9uKFBlKXtyZXR1cm4gbnVsbCE9UGV9KSxNZT0haXNOYU4oUS5fZC5nZXRUaW1lKCkpJiZyZS5vdmVyZmxvdzwwJiYhcmUuZW1wdHkmJiFyZS5pbnZhbGlkRXJhJiYhcmUuaW52YWxp''@;'; put 'put ''ZE1vbnRoJiYhcmUuaW52YWxpZFdlZWtkYXkmJiFyZS53ZWVrZGF5TWlzbWF0Y2gmJiFyZS5udWxsSW5wdXQmJiFyZS5pbnZhbGlkRm9ybWF0JiYhcmUudXNlckludmFsaWRhdGVkJiYoIXJlLm1lcmlkaWVtfHxyZS5tZXJpZGllbSYmdmUpO2lmKFEuX3N0cmljdCYmKE1lPU1lJiYwPT09cmUu''@;'; put 'put ''Y2hhcnNMZWZ0T3ZlciYmMD09PXJlLnVudXNlZFRva2Vucy5sZW5ndGgmJnZvaWQgMD09PXJlLmJpZ0hvdXIpLG51bGwhPU9iamVjdC5pc0Zyb3plbiYmT2JqZWN0LmlzRnJvemVuKFEpKXJldHVybiBNZTtRLl9pc1ZhbGlkPU1lfXJldHVybiBRLl9pc1ZhbGlkfWZ1bmN0aW9uIGsoUSl7dmFy''@;'; put 'put ''IHJlPUYoTmFOKTtyZXR1cm4gbnVsbCE9UT9tKHcocmUpLFEpOncocmUpLnVzZXJJbnZhbGlkYXRlZD0hMCxyZX1QPUFycmF5LnByb3RvdHlwZS5zb21lP0FycmF5LnByb3RvdHlwZS5zb21lOmZ1bmN0aW9uKFEpe3ZhciBNZSxyZT1PYmplY3QodGhpcyksdmU9cmUubGVuZ3RoPj4+MDtmb3Io''@;'; put 'put ''TWU9MDtNZTx2ZTtNZSsrKWlmKE1lIGluIHJlJiZRLmNhbGwodGhpcyxyZVtNZV0sTWUscmUpKXJldHVybiEwO3JldHVybiExfTt2YXIgTz1vZS5tb21lbnRQcm9wZXJ0aWVzPVtdLEw9ITE7ZnVuY3Rpb24gVChRLHJlKXt2YXIgdmUsTWUsUGUsdHQ9Ty5sZW5ndGg7aWYoTihyZS5faXNBTW9t''@;'; put 'put ''ZW50T2JqZWN0KXx8KFEuX2lzQU1vbWVudE9iamVjdD1yZS5faXNBTW9tZW50T2JqZWN0KSxOKHJlLl9pKXx8KFEuX2k9cmUuX2kpLE4ocmUuX2YpfHwoUS5fZj1yZS5fZiksTihyZS5fbCl8fChRLl9sPXJlLl9sKSxOKHJlLl9zdHJpY3QpfHwoUS5fc3RyaWN0PXJlLl9zdHJpY3QpLE4ocmUu''@;'; put 'put ''X3R6bSl8fChRLl90em09cmUuX3R6bSksTihyZS5faXNVVEMpfHwoUS5faXNVVEM9cmUuX2lzVVRDKSxOKHJlLl9vZmZzZXQpfHwoUS5fb2Zmc2V0PXJlLl9vZmZzZXQpLE4ocmUuX3BmKXx8KFEuX3BmPXcocmUpKSxOKHJlLl9sb2NhbGUpfHwoUS5fbG9jYWxlPXJlLl9sb2NhbGUpLHR0PjAp''@;'; put 'put ''Zm9yKHZlPTA7dmU8dHQ7dmUrKylOKFBlPXJlW01lPU9bdmVdXSl8fChRW01lXT1QZSk7cmV0dXJuIFF9ZnVuY3Rpb24gWShRKXtUKHRoaXMsUSksdGhpcy5fZD1uZXcgRGF0ZShudWxsIT1RLl9kP1EuX2QuZ2V0VGltZSgpOk5hTiksdGhpcy5pc1ZhbGlkKCl8fCh0aGlzLl9kPW5ldyBEYXRl''@;'; put 'put ''KE5hTikpLCExPT09TCYmKEw9ITAsb2UudXBkYXRlT2Zmc2V0KHRoaXMpLEw9ITEpfWZ1bmN0aW9uIEkoUSl7cmV0dXJuIFEgaW5zdGFuY2VvZiBZfHxudWxsIT1RJiZudWxsIT1RLl9pc0FNb21lbnRPYmplY3R9ZnVuY3Rpb24gVShRKXshMT09PW9lLnN1cHByZXNzRGVwcmVjYXRpb25XYXJu''@;'; put 'put ''aW5ncyYmInVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybigiRGVwcmVjYXRpb24gd2FybmluZzogIitRKX1mdW5jdGlvbiBWKFEscmUpe3ZhciB2ZT0hMDtyZXR1cm4gbShmdW5jdGlvbigpe2lmKG51bGwhPW9lLmRlcHJlY2F0aW9uSGFuZGxl''@;'; put 'put ''ciYmb2UuZGVwcmVjYXRpb25IYW5kbGVyKG51bGwsUSksdmUpe3ZhciBQZSx0dCxTdCxNZT1bXSxqbj1hcmd1bWVudHMubGVuZ3RoO2Zvcih0dD0wO3R0PGpuO3R0Kyspe2lmKFBlPSIiLCJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzW3R0XSl7Zm9yKFN0IGluIFBlKz0iXG5bIit0dCsiXSAi''@;'; put 'put ''LGFyZ3VtZW50c1swXSlBKGFyZ3VtZW50c1swXSxTdCkmJihQZSs9U3QrIjogIithcmd1bWVudHNbMF1bU3RdKyIsICIpO1BlPVBlLnNsaWNlKDAsLTIpfWVsc2UgUGU9YXJndW1lbnRzW3R0XTtNZS5wdXNoKFBlKX1VKFErIlxuQXJndW1lbnRzOiAiK0FycmF5LnByb3RvdHlwZS5zbGljZS5j''@;'; put 'put ''YWxsKE1lKS5qb2luKCIiKSsiXG4iKyhuZXcgRXJyb3IpLnN0YWNrKSx2ZT0hMX1yZXR1cm4gcmUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyZSl9dmFyIGgsUj17fTtmdW5jdGlvbiBCKFEscmUpe251bGwhPW9lLmRlcHJlY2F0aW9uSGFuZGxlciYmb2UuZGVwcmVjYXRpb25IYW5kbGVyKFEs''@;'; put 'put ''cmUpLFJbUV18fChVKHJlKSxSW1FdPSEwKX1mdW5jdGlvbiBxKFEpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgRnVuY3Rpb24mJlEgaW5zdGFuY2VvZiBGdW5jdGlvbnx8IltvYmplY3QgRnVuY3Rpb25dIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChRKX1mdW5jdGlvbiAk''@;'; put 'put ''KFEscmUpe3ZhciBNZSx2ZT1tKHt9LFEpO2ZvcihNZSBpbiByZSlBKHJlLE1lKSYmKFooUVtNZV0pJiZaKHJlW01lXSk/KHZlW01lXT17fSxtKHZlW01lXSxRW01lXSksbSh2ZVtNZV0scmVbTWVdKSk6bnVsbCE9cmVbTWVdP3ZlW01lXT1yZVtNZV06ZGVsZXRlIHZlW01lXSk7Zm9yKE1lIGlu''@;'; put 'put ''IFEpQShRLE1lKSYmIUEocmUsTWUpJiZaKFFbTWVdKSYmKHZlW01lXT1tKHt9LHZlW01lXSkpO3JldHVybiB2ZX1mdW5jdGlvbiB0ZShRKXtudWxsIT1RJiZ0aGlzLnNldChRKX1vZS5zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZ3M9ITEsb2UuZGVwcmVjYXRpb25IYW5kbGVyPW51bGwsaD1P''@;'; put 'put ''YmplY3Qua2V5cz9PYmplY3Qua2V5czpmdW5jdGlvbihRKXt2YXIgcmUsdmU9W107Zm9yKHJlIGluIFEpQShRLHJlKSYmdmUucHVzaChyZSk7cmV0dXJuIHZlfTtmdW5jdGlvbiBwKFEscmUsdmUpe3ZhciBNZT0iIitNYXRoLmFicyhRKTtyZXR1cm4oUT49MD92ZT8iKyI6IiI6Ii0iKStNYXRo''@;'; put 'put ''LnBvdygxMCxNYXRoLm1heCgwLHJlLU1lLmxlbmd0aCkpLnRvU3RyaW5nKCkuc3Vic3RyKDEpK01lfXZhciBnPS8oXFtbXlxbXSpcXSl8KFxcKT8oW0hoXW1tKHNzKT98TW98TU0/TT9NP3xEb3xERERvfEREP0Q/RD98ZGRkP2Q/fGRvP3x3W298d10/fFdbb3xXXT98UW8/fE57MSw1fXxZWVlZ''@;'; put 'put ''WVl8WVlZWVl8WVlZWXxZWXx5ezIsNH18eW8/fGdnKGdnZz8pP3xHRyhHR0c/KT98ZXxFfGF8QXxoaD98SEg/fGtrP3xtbT98c3M/fFN7MSw5fXx4fFh8eno/fFpaP3wuKS9nLF89LyhcW1teXFtdKlxdKXwoXFwpPyhMVFN8TFR8TEw/TD9MP3xsezEsNH0pL2csRT17fSxXPXt9O2Z1bmN0aW9u''@;'; put 'put ''IEcoUSxyZSx2ZSxNZSl7dmFyIFBlPU1lOyJzdHJpbmciPT10eXBlb2YgTWUmJihQZT1mdW5jdGlvbigpe3JldHVybiB0aGlzW01lXSgpfSksUSYmKFdbUV09UGUpLHJlJiYoV1tyZVswXV09ZnVuY3Rpb24oKXtyZXR1cm4gcChQZS5hcHBseSh0aGlzLGFyZ3VtZW50cykscmVbMV0scmVbMl0p''@;'; put 'put ''fSksdmUmJihXW3ZlXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5vcmRpbmFsKFBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxRKX0pfWZ1bmN0aW9uIFgoUSl7cmV0dXJuIFEubWF0Y2goL1xbW1xzXFNdLyk/US5yZXBsYWNlKC9eXFt8XF0kL2csIiIpOlEucmVwbGFjZSgv''@;'; put 'put ''XFwvZywiIil9ZnVuY3Rpb24gYWUoUSxyZSl7cmV0dXJuIFEuaXNWYWxpZCgpPyhyZT11ZShyZSxRLmxvY2FsZURhdGEoKSksRVtyZV09RVtyZV18fGZ1bmN0aW9uIG5lKFEpe3ZhciB2ZSxNZSxyZT1RLm1hdGNoKGcpO2Zvcih2ZT0wLE1lPXJlLmxlbmd0aDt2ZTxNZTt2ZSsrKXJlW3ZlXT1X''@;'; put 'put ''W3JlW3ZlXV0/V1tyZVt2ZV1dOlgocmVbdmVdKTtyZXR1cm4gZnVuY3Rpb24oUGUpe3ZhciBTdCx0dD0iIjtmb3IoU3Q9MDtTdDxNZTtTdCsrKXR0Kz1xKHJlW1N0XSk/cmVbU3RdLmNhbGwoUGUsUSk6cmVbU3RdO3JldHVybiB0dH19KHJlKSxFW3JlXShRKSk6US5sb2NhbGVEYXRhKCkuaW52''@;'; put 'put ''YWxpZERhdGUoKX1mdW5jdGlvbiB1ZShRLHJlKXt2YXIgdmU9NTtmdW5jdGlvbiBNZShQZSl7cmV0dXJuIHJlLmxvbmdEYXRlRm9ybWF0KFBlKXx8UGV9Zm9yKF8ubGFzdEluZGV4PTA7dmU+PTAmJl8udGVzdChRKTspUT1RLnJlcGxhY2UoXyxNZSksXy5sYXN0SW5kZXg9MCx2ZS09MTtyZXR1''@;'; put 'put ''cm4gUX12YXIgTmU9e307ZnVuY3Rpb24gSGUoUSxyZSl7dmFyIHZlPVEudG9Mb3dlckNhc2UoKTtOZVt2ZV09TmVbdmUrInMiXT1OZVtyZV09UX1mdW5jdGlvbiBSZShRKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIFE/TmVbUV18fE5lW1EudG9Mb3dlckNhc2UoKV06dm9pZCAwfWZ1bmN0aW9u''@;'; put 'put ''IE9lKFEpe3ZhciB2ZSxNZSxyZT17fTtmb3IoTWUgaW4gUSlBKFEsTWUpJiYodmU9UmUoTWUpKSYmKHJlW3ZlXT1RW01lXSk7cmV0dXJuIHJlfXZhciBMZT17fTtmdW5jdGlvbiBpZShRLHJlKXtMZVtRXT1yZX1mdW5jdGlvbiBkZShRKXtyZXR1cm4gUSU0PT0wJiZRJTEwMCE9MHx8USU0MDA9''@;'; put 'put ''PTB9ZnVuY3Rpb24gQWUoUSl7cmV0dXJuIFE8MD9NYXRoLmNlaWwoUSl8fDA6TWF0aC5mbG9vcihRKX1mdW5jdGlvbiBrZShRKXt2YXIgcmU9K1EsdmU9MDtyZXR1cm4gMCE9PXJlJiZpc0Zpbml0ZShyZSkmJih2ZT1BZShyZSkpLHZlfWZ1bmN0aW9uIFNlKFEscmUpe3JldHVybiBmdW5jdGlv''@;'; put 'put ''bih2ZSl7cmV0dXJuIG51bGwhPXZlPyhWZSh0aGlzLFEsdmUpLG9lLnVwZGF0ZU9mZnNldCh0aGlzLHJlKSx0aGlzKTokZSh0aGlzLFEpfX1mdW5jdGlvbiAkZShRLHJlKXtyZXR1cm4gUS5pc1ZhbGlkKCk/US5fZFsiZ2V0IisoUS5faXNVVEM/IlVUQyI6IiIpK3JlXSgpOk5hTn1mdW5jdGlv''@;'; put 'put ''biBWZShRLHJlLHZlKXtRLmlzVmFsaWQoKSYmIWlzTmFOKHZlKSYmKCJGdWxsWWVhciI9PT1yZSYmZGUoUS55ZWFyKCkpJiYxPT09US5tb250aCgpJiYyOT09PVEuZGF0ZSgpPyh2ZT1rZSh2ZSksUS5fZFsic2V0IisoUS5faXNVVEM/IlVUQyI6IiIpK3JlXSh2ZSxRLm1vbnRoKCkscm4odmUs''@;'; put 'put ''US5tb250aCgpKSkpOlEuX2RbInNldCIrKFEuX2lzVVRDPyJVVEMiOiIiKStyZV0odmUpKX12YXIgdHIsS2U9L1xkLyxldD0vXGRcZC8sX249L1xkezN9LyxidD0vXGR7NH0vLHB0PS9bKy1dP1xkezZ9LyxHdD0vXGRcZD8vLG50PS9cZFxkXGRcZD8vLHl0PS9cZFxkXGRcZFxkXGQ/LyxTbj0v''@;'; put 'put ''XGR7MSwzfS8sZ3Q9L1xkezEsNH0vLGR0PS9bKy1dP1xkezEsNn0vLFh0PS9cZCsvLGF0PS9bKy1dP1xkKy8sUWU9L1p8WystXVxkXGQ6P1xkXGQvZ2ksbW49L1p8WystXVxkXGQoPzo6P1xkXGQpPy9naSx2dD0vWzAtOV17MCwyNTZ9WydhLXpcdTAwQTAtXHUwNUZGXHUwNzAwLVx1RDdGRlx1''@;'; put 'put ''RjkwMC1cdUZEQ0ZcdUZERjAtXHVGRjA3XHVGRjEwLVx1RkZFRl17MSwyNTZ9fFtcdTA2MDAtXHUwNkZGXC9dezEsMjU2fShccyo/W1x1MDYwMC1cdTA2RkZdezEsMjU2fSl7MSwyfS9pO2Z1bmN0aW9uIFplKFEscmUsdmUpe3RyW1FdPXEocmUpP3JlOmZ1bmN0aW9uKE1lLFBlKXtyZXR1cm4g''@;'; put 'put ''TWUmJnZlP3ZlOnJlfX1mdW5jdGlvbiBtdChRLHJlKXtyZXR1cm4gQSh0cixRKT90cltRXShyZS5fc3RyaWN0LHJlLl9sb2NhbGUpOm5ldyBSZWdFeHAoZnVuY3Rpb24gVW4oUSl7cmV0dXJuIGZ0KFEucmVwbGFjZSgiXFwiLCIiKS5yZXBsYWNlKC9cXChcWyl8XFwoXF0pfFxbKFteXF1cW10q''@;'; put 'put ''KVxdfFxcKC4pL2csZnVuY3Rpb24ocmUsdmUsTWUsUGUsdHQpe3JldHVybiB2ZXx8TWV8fFBlfHx0dH0pKX0oUSkpfWZ1bmN0aW9uIGZ0KFEpe3JldHVybiBRLnJlcGxhY2UoL1stXC9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9dHI9e307dmFyIGx0PXt9O2Z1bmN0aW9uIFp0KFEscmUp''@;'; put 'put ''e3ZhciB2ZSxQZSxNZT1yZTtmb3IoInN0cmluZyI9PXR5cGVvZiBRJiYoUT1bUV0pLHoocmUpJiYoTWU9ZnVuY3Rpb24odHQsU3Qpe1N0W3JlXT1rZSh0dCl9KSxQZT1RLmxlbmd0aCx2ZT0wO3ZlPFBlO3ZlKyspbHRbUVt2ZV1dPU1lfWZ1bmN0aW9uIFhlKFEscmUpe1p0KFEsZnVuY3Rpb24o''@;'; put 'put ''dmUsTWUsUGUsdHQpe1BlLl93PVBlLl93fHx7fSxyZSh2ZSxQZS5fdyxQZSx0dCl9KX1mdW5jdGlvbiBEZShRLHJlLHZlKXtudWxsIT1yZSYmQShsdCxRKSYmbHRbUV0ocmUsdmUuX2EsdmUsUSl9dmFyIFl0O2Z1bmN0aW9uIHJuKFEscmUpe2lmKGlzTmFOKFEpfHxpc05hTihyZSkpcmV0dXJu''@;'; put 'put ''IE5hTjt2YXIgdmU9ZnVuY3Rpb24gZW4oUSxyZSl7cmV0dXJuKFElcmUrcmUpJXJlfShyZSwxMik7cmV0dXJuIFErPShyZS12ZSkvMTIsMT09PXZlP2RlKFEpPzI5OjI4OjMxLXZlJTclMn1ZdD1BcnJheS5wcm90b3R5cGUuaW5kZXhPZj9BcnJheS5wcm90b3R5cGUuaW5kZXhPZjpmdW5jdGlv''@;'; put 'put ''bihRKXt2YXIgcmU7Zm9yKHJlPTA7cmU8dGhpcy5sZW5ndGg7KytyZSlpZih0aGlzW3JlXT09PVEpcmV0dXJuIHJlO3JldHVybi0xfSxHKCJNIixbIk1NIiwyXSwiTW8iLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubW9udGgoKSsxfSksRygiTU1NIiwwLDAsZnVuY3Rpb24oUSl7cmV0dXJuIHRo''@;'; put 'put ''aXMubG9jYWxlRGF0YSgpLm1vbnRoc1Nob3J0KHRoaXMsUSl9KSxHKCJNTU1NIiwwLDAsZnVuY3Rpb24oUSl7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLm1vbnRocyh0aGlzLFEpfSksSGUoIm1vbnRoIiwiTSIpLGllKCJtb250aCIsOCksWmUoIk0iLEd0KSxaZSgiTU0iLEd0LGV0KSxaZSgi''@;'; put 'put ''TU1NIixmdW5jdGlvbihRLHJlKXtyZXR1cm4gcmUubW9udGhzU2hvcnRSZWdleChRKX0pLFplKCJNTU1NIixmdW5jdGlvbihRLHJlKXtyZXR1cm4gcmUubW9udGhzUmVnZXgoUSl9KSxadChbIk0iLCJNTSJdLGZ1bmN0aW9uKFEscmUpe3JlWzFdPWtlKFEpLTF9KSxadChbIk1NTSIsIk1NTU0i''@;'; put 'put ''XSxmdW5jdGlvbihRLHJlLHZlLE1lKXt2YXIgUGU9dmUuX2xvY2FsZS5tb250aHNQYXJzZShRLE1lLHZlLl9zdHJpY3QpO251bGwhPVBlP3JlWzFdPVBlOncodmUpLmludmFsaWRNb250aD1RfSk7dmFyIGFuPSJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVn''@;'; put 'put ''dXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLGxuPSJKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYyIuc3BsaXQoIl8iKSxNbj0vRFtvRF0/KFxbW15cW1xdXSpcXXxccykrTU1NTT8vLG5uPXZ0LFFuPXZ0O2Z1''@;'; put 'put ''bmN0aW9uIHduKFEscmUsdmUpe3ZhciBNZSxQZSx0dCxTdD1RLnRvTG9jYWxlTG93ZXJDYXNlKCk7aWYoIXRoaXMuX21vbnRoc1BhcnNlKWZvcih0aGlzLl9tb250aHNQYXJzZT1bXSx0aGlzLl9sb25nTW9udGhzUGFyc2U9W10sdGhpcy5fc2hvcnRNb250aHNQYXJzZT1bXSxNZT0wO01lPDEy''@;'; put 'put ''OysrTWUpdHQ9RihbMmUzLE1lXSksdGhpcy5fc2hvcnRNb250aHNQYXJzZVtNZV09dGhpcy5tb250aHNTaG9ydCh0dCwiIikudG9Mb2NhbGVMb3dlckNhc2UoKSx0aGlzLl9sb25nTW9udGhzUGFyc2VbTWVdPXRoaXMubW9udGhzKHR0LCIiKS50b0xvY2FsZUxvd2VyQ2FzZSgpO3JldHVybiB2''@;'; put 'put ''ZT8iTU1NIj09PXJlPy0xIT09KFBlPVl0LmNhbGwodGhpcy5fc2hvcnRNb250aHNQYXJzZSxTdCkpP1BlOm51bGw6LTEhPT0oUGU9WXQuY2FsbCh0aGlzLl9sb25nTW9udGhzUGFyc2UsU3QpKT9QZTpudWxsOiJNTU0iPT09cmU/LTEhPT0oUGU9WXQuY2FsbCh0aGlzLl9zaG9ydE1vbnRoc1Bh''@;'; put 'put ''cnNlLFN0KSl8fC0xIT09KFBlPVl0LmNhbGwodGhpcy5fbG9uZ01vbnRoc1BhcnNlLFN0KSk/UGU6bnVsbDotMSE9PShQZT1ZdC5jYWxsKHRoaXMuX2xvbmdNb250aHNQYXJzZSxTdCkpfHwtMSE9PShQZT1ZdC5jYWxsKHRoaXMuX3Nob3J0TW9udGhzUGFyc2UsU3QpKT9QZTpudWxsfWZ1bmN0''@;'; put 'put ''aW9uIHZuKFEscmUpe3ZhciB2ZTtpZighUS5pc1ZhbGlkKCkpcmV0dXJuIFE7aWYoInN0cmluZyI9PXR5cGVvZiByZSlpZigvXlxkKyQvLnRlc3QocmUpKXJlPWtlKHJlKTtlbHNlIGlmKCF6KHJlPVEubG9jYWxlRGF0YSgpLm1vbnRoc1BhcnNlKHJlKSkpcmV0dXJuIFE7cmV0dXJuIHZlPU1h''@;'; put 'put ''dGgubWluKFEuZGF0ZSgpLHJuKFEueWVhcigpLHJlKSksUS5fZFsic2V0IisoUS5faXNVVEM/IlVUQyI6IiIpKyJNb250aCJdKHJlLHZlKSxRfWZ1bmN0aW9uIGNyKFEpe3JldHVybiBudWxsIT1RPyh2bih0aGlzLFEpLG9lLnVwZGF0ZU9mZnNldCh0aGlzLCEwKSx0aGlzKTokZSh0aGlzLCJN''@;'; put 'put ''b250aCIpfWZ1bmN0aW9uIE1vKCl7ZnVuY3Rpb24gUShTdCxqbil7cmV0dXJuIGpuLmxlbmd0aC1TdC5sZW5ndGh9dmFyIFBlLHR0LHJlPVtdLHZlPVtdLE1lPVtdO2ZvcihQZT0wO1BlPDEyO1BlKyspdHQ9RihbMmUzLFBlXSkscmUucHVzaCh0aGlzLm1vbnRoc1Nob3J0KHR0LCIiKSksdmUu''@;'; put 'put ''cHVzaCh0aGlzLm1vbnRocyh0dCwiIikpLE1lLnB1c2godGhpcy5tb250aHModHQsIiIpKSxNZS5wdXNoKHRoaXMubW9udGhzU2hvcnQodHQsIiIpKTtmb3IocmUuc29ydChRKSx2ZS5zb3J0KFEpLE1lLnNvcnQoUSksUGU9MDtQZTwxMjtQZSsrKXJlW1BlXT1mdChyZVtQZV0pLHZlW1BlXT1m''@;'; put 'put ''dCh2ZVtQZV0pO2ZvcihQZT0wO1BlPDI0O1BlKyspTWVbUGVdPWZ0KE1lW1BlXSk7dGhpcy5fbW9udGhzUmVnZXg9bmV3IFJlZ0V4cCgiXigiK01lLmpvaW4oInwiKSsiKSIsImkiKSx0aGlzLl9tb250aHNTaG9ydFJlZ2V4PXRoaXMuX21vbnRoc1JlZ2V4LHRoaXMuX21vbnRoc1N0cmljdFJl''@;'; put 'put ''Z2V4PW5ldyBSZWdFeHAoIl4oIit2ZS5qb2luKCJ8IikrIikiLCJpIiksdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleD1uZXcgUmVnRXhwKCJeKCIrcmUuam9pbigifCIpKyIpIiwiaSIpfWZ1bmN0aW9uIENvKFEpe3JldHVybiBkZShRKT8zNjY6MzY1fUcoIlkiLDAsMCxmdW5jdGlvbigp''@;'; put 'put ''e3ZhciBRPXRoaXMueWVhcigpO3JldHVybiBRPD05OTk5P3AoUSw0KToiKyIrUX0pLEcoMCxbIllZIiwyXSwwLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueWVhcigpJTEwMH0pLEcoMCxbIllZWVkiLDRdLDAsInllYXIiKSxHKDAsWyJZWVlZWSIsNV0sMCwieWVhciIpLEcoMCxbIllZWVlZWSIs''@;'; put 'put ''NiwhMF0sMCwieWVhciIpLEhlKCJ5ZWFyIiwieSIpLGllKCJ5ZWFyIiwxKSxaZSgiWSIsYXQpLFplKCJZWSIsR3QsZXQpLFplKCJZWVlZIixndCxidCksWmUoIllZWVlZIixkdCxwdCksWmUoIllZWVlZWSIsZHQscHQpLFp0KFsiWVlZWVkiLCJZWVlZWVkiXSwwKSxadCgiWVlZWSIsZnVuY3Rp''@;'; put 'put ''b24oUSxyZSl7cmVbMF09Mj09PVEubGVuZ3RoP29lLnBhcnNlVHdvRGlnaXRZZWFyKFEpOmtlKFEpfSksWnQoIllZIixmdW5jdGlvbihRLHJlKXtyZVswXT1vZS5wYXJzZVR3b0RpZ2l0WWVhcihRKX0pLFp0KCJZIixmdW5jdGlvbihRLHJlKXtyZVswXT1wYXJzZUludChRLDEwKX0pLG9lLnBh''@;'; put 'put ''cnNlVHdvRGlnaXRZZWFyPWZ1bmN0aW9uKFEpe3JldHVybiBrZShRKSsoa2UoUSk+Njg/MTkwMDoyZTMpfTt2YXIgSXQ9U2UoIkZ1bGxZZWFyIiwhMCk7ZnVuY3Rpb24geG4oUSxyZSx2ZSxNZSxQZSx0dCxTdCl7dmFyIGpuO3JldHVybiBRPDEwMCYmUT49MD8oam49bmV3IERhdGUoUSs0MDAs''@;'; put 'put ''cmUsdmUsTWUsUGUsdHQsU3QpLGlzRmluaXRlKGpuLmdldEZ1bGxZZWFyKCkpJiZqbi5zZXRGdWxsWWVhcihRKSk6am49bmV3IERhdGUoUSxyZSx2ZSxNZSxQZSx0dCxTdCksam59ZnVuY3Rpb24gdXIoUSl7dmFyIHJlLHZlO3JldHVybiBRPDEwMCYmUT49MD8oKHZlPUFycmF5LnByb3RvdHlw''@;'; put 'put ''ZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpWzBdPVErNDAwLHJlPW5ldyBEYXRlKERhdGUuVVRDLmFwcGx5KG51bGwsdmUpKSxpc0Zpbml0ZShyZS5nZXRVVENGdWxsWWVhcigpKSYmcmUuc2V0VVRDRnVsbFllYXIoUSkpOnJlPW5ldyBEYXRlKERhdGUuVVRDLmFwcGx5KG51bGwsYXJndW1lbnRz''@;'; put 'put ''KSkscmV9ZnVuY3Rpb24gcGMoUSxyZSx2ZSl7dmFyIE1lPTcrcmUtdmU7cmV0dXJuLSg3K3VyKFEsMCxNZSkuZ2V0VVRDRGF5KCktcmUpJTcrTWUtMX1mdW5jdGlvbiAkMChRLHJlLHZlLE1lLFBlKXt2YXIgQm4sRnIsam49MSs3KihyZS0xKSsoNyt2ZS1NZSklNytwYyhRLE1lLFBlKTtyZXR1''@;'; put 'put ''cm4gam48PTA/RnI9Q28oQm49US0xKStqbjpqbj5DbyhRKT8oQm49USsxLEZyPWpuLUNvKFEpKTooQm49USxGcj1qbikse3llYXI6Qm4sZGF5T2ZZZWFyOkZyfX1mdW5jdGlvbiB5bChRLHJlLHZlKXt2YXIgdHQsU3QsTWU9cGMoUS55ZWFyKCkscmUsdmUpLFBlPU1hdGguZmxvb3IoKFEuZGF5''@;'; put 'put ''T2ZZZWFyKCktTWUtMSkvNykrMTtyZXR1cm4gUGU8MT90dD1QZSthbyhTdD1RLnllYXIoKS0xLHJlLHZlKTpQZT5hbyhRLnllYXIoKSxyZSx2ZSk/KHR0PVBlLWFvKFEueWVhcigpLHJlLHZlKSxTdD1RLnllYXIoKSsxKTooU3Q9US55ZWFyKCksdHQ9UGUpLHt3ZWVrOnR0LHllYXI6U3R9fWZ1''@;'; put 'put ''bmN0aW9uIGFvKFEscmUsdmUpe3ZhciBNZT1wYyhRLHJlLHZlKSxQZT1wYyhRKzEscmUsdmUpO3JldHVybihDbyhRKS1NZStQZSkvN31HKCJ3IixbInd3IiwyXSwid28iLCJ3ZWVrIiksRygiVyIsWyJXVyIsMl0sIldvIiwiaXNvV2VlayIpLEhlKCJ3ZWVrIiwidyIpLEhlKCJpc29XZWVrIiwi''@;'; put 'put ''VyIpLGllKCJ3ZWVrIiw1KSxpZSgiaXNvV2VlayIsNSksWmUoInciLEd0KSxaZSgid3ciLEd0LGV0KSxaZSgiVyIsR3QpLFplKCJXVyIsR3QsZXQpLFhlKFsidyIsInd3IiwiVyIsIldXIl0sZnVuY3Rpb24oUSxyZSx2ZSxNZSl7cmVbTWUuc3Vic3RyKDAsMSldPWtlKFEpfSk7ZnVuY3Rpb24g''@;'; put 'put ''YmYoUSxyZSl7cmV0dXJuIFEuc2xpY2UocmUsNykuY29uY2F0KFEuc2xpY2UoMCxyZSkpfUcoImQiLDAsImRvIiwiZGF5IiksRygiZGQiLDAsMCxmdW5jdGlvbihRKXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXNNaW4odGhpcyxRKX0pLEcoImRkZCIsMCwwLGZ1bmN0aW9uKFEp''@;'; put 'put ''e3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c1Nob3J0KHRoaXMsUSl9KSxHKCJkZGRkIiwwLDAsZnVuY3Rpb24oUSl7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzKHRoaXMsUSl9KSxHKCJlIiwwLDAsIndlZWtkYXkiKSxHKCJFIiwwLDAsImlzb1dlZWtkYXkiKSxI''@;'; put 'put ''ZSgiZGF5IiwiZCIpLEhlKCJ3ZWVrZGF5IiwiZSIpLEhlKCJpc29XZWVrZGF5IiwiRSIpLGllKCJkYXkiLDExKSxpZSgid2Vla2RheSIsMTEpLGllKCJpc29XZWVrZGF5IiwxMSksWmUoImQiLEd0KSxaZSgiZSIsR3QpLFplKCJFIixHdCksWmUoImRkIixmdW5jdGlvbihRLHJlKXtyZXR1cm4g''@;'; put 'put ''cmUud2Vla2RheXNNaW5SZWdleChRKX0pLFplKCJkZGQiLGZ1bmN0aW9uKFEscmUpe3JldHVybiByZS53ZWVrZGF5c1Nob3J0UmVnZXgoUSl9KSxaZSgiZGRkZCIsZnVuY3Rpb24oUSxyZSl7cmV0dXJuIHJlLndlZWtkYXlzUmVnZXgoUSl9KSxYZShbImRkIiwiZGRkIiwiZGRkZCJdLGZ1bmN0''@;'; put 'put ''aW9uKFEscmUsdmUsTWUpe3ZhciBQZT12ZS5fbG9jYWxlLndlZWtkYXlzUGFyc2UoUSxNZSx2ZS5fc3RyaWN0KTtudWxsIT1QZT9yZS5kPVBlOncodmUpLmludmFsaWRXZWVrZGF5PVF9KSxYZShbImQiLCJlIiwiRSJdLGZ1bmN0aW9uKFEscmUsdmUsTWUpe3JlW01lXT1rZShRKX0pO3ZhciB0''@;'; put 'put ''bT0iU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksbm09IlN1bl9Nb25fVHVlX1dlZF9UaHVfRnJpX1NhdCIuc3BsaXQoIl8iKSxybT0iU3VfTW9fVHVfV2VfVGhfRnJfU2EiLnNwbGl0KCJfIiksTDI9dnQsUWk9dnQs''@;'; put 'put ''T3I9dnQ7ZnVuY3Rpb24geHQoUSxyZSx2ZSl7dmFyIE1lLFBlLHR0LFN0PVEudG9Mb2NhbGVMb3dlckNhc2UoKTtpZighdGhpcy5fd2Vla2RheXNQYXJzZSlmb3IodGhpcy5fd2Vla2RheXNQYXJzZT1bXSx0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2U9W10sdGhpcy5fbWluV2Vla2RheXNQYXJz''@;'; put 'put ''ZT1bXSxNZT0wO01lPDc7KytNZSl0dD1GKFsyZTMsMV0pLmRheShNZSksdGhpcy5fbWluV2Vla2RheXNQYXJzZVtNZV09dGhpcy53ZWVrZGF5c01pbih0dCwiIikudG9Mb2NhbGVMb3dlckNhc2UoKSx0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2VbTWVdPXRoaXMud2Vla2RheXNTaG9ydCh0dCwi''@;'; put 'put ''IikudG9Mb2NhbGVMb3dlckNhc2UoKSx0aGlzLl93ZWVrZGF5c1BhcnNlW01lXT10aGlzLndlZWtkYXlzKHR0LCIiKS50b0xvY2FsZUxvd2VyQ2FzZSgpO3JldHVybiB2ZT8iZGRkZCI9PT1yZT8tMSE9PShQZT1ZdC5jYWxsKHRoaXMuX3dlZWtkYXlzUGFyc2UsU3QpKT9QZTpudWxsOiJkZGQi''@;'; put 'put ''PT09cmU/LTEhPT0oUGU9WXQuY2FsbCh0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2UsU3QpKT9QZTpudWxsOi0xIT09KFBlPVl0LmNhbGwodGhpcy5fbWluV2Vla2RheXNQYXJzZSxTdCkpP1BlOm51bGw6ImRkZGQiPT09cmU/LTEhPT0oUGU9WXQuY2FsbCh0aGlzLl93ZWVrZGF5c1BhcnNlLFN0''@;'; put 'put ''KSl8fC0xIT09KFBlPVl0LmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLFN0KSl8fC0xIT09KFBlPVl0LmNhbGwodGhpcy5fbWluV2Vla2RheXNQYXJzZSxTdCkpP1BlOm51bGw6ImRkZCI9PT1yZT8tMSE9PShQZT1ZdC5jYWxsKHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSxTdCkpfHwt''@;'; put 'put ''MSE9PShQZT1ZdC5jYWxsKHRoaXMuX3dlZWtkYXlzUGFyc2UsU3QpKXx8LTEhPT0oUGU9WXQuY2FsbCh0aGlzLl9taW5XZWVrZGF5c1BhcnNlLFN0KSk/UGU6bnVsbDotMSE9PShQZT1ZdC5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UsU3QpKXx8LTEhPT0oUGU9WXQuY2FsbCh0aGlzLl93''@;'; put 'put ''ZWVrZGF5c1BhcnNlLFN0KSl8fC0xIT09KFBlPVl0LmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLFN0KSk/UGU6bnVsbH1mdW5jdGlvbiB6YSgpe2Z1bmN0aW9uIFEoJG4sUG8pe3JldHVybiBQby5sZW5ndGgtJG4ubGVuZ3RofXZhciB0dCxTdCxqbixCbixGcixyZT1bXSx2ZT1bXSxN''@;'; put 'put ''ZT1bXSxQZT1bXTtmb3IodHQ9MDt0dDw3O3R0KyspU3Q9RihbMmUzLDFdKS5kYXkodHQpLGpuPWZ0KHRoaXMud2Vla2RheXNNaW4oU3QsIiIpKSxCbj1mdCh0aGlzLndlZWtkYXlzU2hvcnQoU3QsIiIpKSxGcj1mdCh0aGlzLndlZWtkYXlzKFN0LCIiKSkscmUucHVzaChqbiksdmUucHVzaChC''@;'; put 'put ''biksTWUucHVzaChGciksUGUucHVzaChqbiksUGUucHVzaChCbiksUGUucHVzaChGcik7cmUuc29ydChRKSx2ZS5zb3J0KFEpLE1lLnNvcnQoUSksUGUuc29ydChRKSx0aGlzLl93ZWVrZGF5c1JlZ2V4PW5ldyBSZWdFeHAoIl4oIitQZS5qb2luKCJ8IikrIikiLCJpIiksdGhpcy5fd2Vla2Rh''@;'; put 'put ''eXNTaG9ydFJlZ2V4PXRoaXMuX3dlZWtkYXlzUmVnZXgsdGhpcy5fd2Vla2RheXNNaW5SZWdleD10aGlzLl93ZWVrZGF5c1JlZ2V4LHRoaXMuX3dlZWtkYXlzU3RyaWN0UmVnZXg9bmV3IFJlZ0V4cCgiXigiK01lLmpvaW4oInwiKSsiKSIsImkiKSx0aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0''@;'; put 'put ''UmVnZXg9bmV3IFJlZ0V4cCgiXigiK3ZlLmpvaW4oInwiKSsiKSIsImkiKSx0aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4PW5ldyBSZWdFeHAoIl4oIityZS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gd2woKXtyZXR1cm4gdGhpcy5ob3VycygpJTEyfHwxMn1mdW5jdGlvbiB3ZihR''@;'; put 'put ''LHJlKXtHKFEsMCwwLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLm1lcmlkaWVtKHRoaXMuaG91cnMoKSx0aGlzLm1pbnV0ZXMoKSxyZSl9KX1mdW5jdGlvbiBFbihRLHJlKXtyZXR1cm4gcmUuX21lcmlkaWVtUGFyc2V9RygiSCIsWyJISCIsMl0sMCwiaG91ciIpLEcoImgi''@;'; put 'put ''LFsiaGgiLDJdLDAsd2wpLEcoImsiLFsia2siLDJdLDAsZnVuY3Rpb24geWYoKXtyZXR1cm4gdGhpcy5ob3VycygpfHwyNH0pLEcoImhtbSIsMCwwLGZ1bmN0aW9uKCl7cmV0dXJuIiIrd2wuYXBwbHkodGhpcykrcCh0aGlzLm1pbnV0ZXMoKSwyKX0pLEcoImhtbXNzIiwwLDAsZnVuY3Rpb24o''@;'; put 'put ''KXtyZXR1cm4iIit3bC5hcHBseSh0aGlzKStwKHRoaXMubWludXRlcygpLDIpK3AodGhpcy5zZWNvbmRzKCksMil9KSxHKCJIbW0iLDAsMCxmdW5jdGlvbigpe3JldHVybiIiK3RoaXMuaG91cnMoKStwKHRoaXMubWludXRlcygpLDIpfSksRygiSG1tc3MiLDAsMCxmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biIiK3RoaXMuaG91cnMoKStwKHRoaXMubWludXRlcygpLDIpK3AodGhpcy5zZWNvbmRzKCksMil9KSx3ZigiYSIsITApLHdmKCJBIiwhMSksSGUoImhvdXIiLCJoIiksaWUoImhvdXIiLDEzKSxaZSgiYSIsRW4pLFplKCJBIixFbiksWmUoIkgiLEd0KSxaZSgiaCIsR3QpLFplKCJrIixHdCks''@;'; put 'put ''WmUoIkhIIixHdCxldCksWmUoImhoIixHdCxldCksWmUoImtrIixHdCxldCksWmUoImhtbSIsbnQpLFplKCJobW1zcyIseXQpLFplKCJIbW0iLG50KSxaZSgiSG1tc3MiLHl0KSxadChbIkgiLCJISCJdLDMpLFp0KFsiayIsImtrIl0sZnVuY3Rpb24oUSxyZSx2ZSl7dmFyIE1lPWtlKFEpO3Jl''@;'; put 'put ''WzNdPTI0PT09TWU/MDpNZX0pLFp0KFsiYSIsIkEiXSxmdW5jdGlvbihRLHJlLHZlKXt2ZS5faXNQbT12ZS5fbG9jYWxlLmlzUE0oUSksdmUuX21lcmlkaWVtPVF9KSxadChbImgiLCJoaCJdLGZ1bmN0aW9uKFEscmUsdmUpe3JlWzNdPWtlKFEpLHcodmUpLmJpZ0hvdXI9ITB9KSxadCgiaG1t''@;'; put 'put ''IixmdW5jdGlvbihRLHJlLHZlKXt2YXIgTWU9US5sZW5ndGgtMjtyZVszXT1rZShRLnN1YnN0cigwLE1lKSkscmVbNF09a2UoUS5zdWJzdHIoTWUpKSx3KHZlKS5iaWdIb3VyPSEwfSksWnQoImhtbXNzIixmdW5jdGlvbihRLHJlLHZlKXt2YXIgTWU9US5sZW5ndGgtNCxQZT1RLmxlbmd0aC0y''@;'; put 'put ''O3JlWzNdPWtlKFEuc3Vic3RyKDAsTWUpKSxyZVs0XT1rZShRLnN1YnN0cihNZSwyKSkscmVbNV09a2UoUS5zdWJzdHIoUGUpKSx3KHZlKS5iaWdIb3VyPSEwfSksWnQoIkhtbSIsZnVuY3Rpb24oUSxyZSx2ZSl7dmFyIE1lPVEubGVuZ3RoLTI7cmVbM109a2UoUS5zdWJzdHIoMCxNZSkpLHJl''@;'; put 'put ''WzRdPWtlKFEuc3Vic3RyKE1lKSl9KSxadCgiSG1tc3MiLGZ1bmN0aW9uKFEscmUsdmUpe3ZhciBNZT1RLmxlbmd0aC00LFBlPVEubGVuZ3RoLTI7cmVbM109a2UoUS5zdWJzdHIoMCxNZSkpLHJlWzRdPWtlKFEuc3Vic3RyKE1lLDIpKSxyZVs1XT1rZShRLnN1YnN0cihQZSkpfSk7dmFyIGxv''@;'; put 'put ''PVNlKCJIb3VycyIsITApO3ZhciBnYyxhbT17Y2FsZW5kYXI6e3NhbWVEYXk6IltUb2RheSBhdF0gTFQiLG5leHREYXk6IltUb21vcnJvdyBhdF0gTFQiLG5leHRXZWVrOiJkZGRkIFthdF0gTFQiLGxhc3REYXk6IltZZXN0ZXJkYXkgYXRdIExUIixsYXN0V2VlazoiW0xhc3RdIGRkZGQgW2F0''@;'; put 'put ''XSBMVCIsc2FtZUVsc2U6IkwifSxsb25nRGF0ZUZvcm1hdDp7TFRTOiJoOm1tOnNzIEEiLExUOiJoOm1tIEEiLEw6Ik1NL0REL1lZWVkiLExMOiJNTU1NIEQsIFlZWVkiLExMTDoiTU1NTSBELCBZWVlZIGg6bW0gQSIsTExMTDoiZGRkZCwgTU1NTSBELCBZWVlZIGg6bW0gQSJ9LGludmFsaWRE''@;'; put 'put ''YXRlOiJJbnZhbGlkIGRhdGUiLG9yZGluYWw6IiVkIixkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9LyxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiaW4gJXMiLHBhc3Q6IiVzIGFnbyIsczoiYSBmZXcgc2Vjb25kcyIsc3M6IiVkIHNlY29uZHMiLG06ImEgbWludXRlIixtbToiJWQgbWlu''@;'; put 'put ''dXRlcyIsaDoiYW4gaG91ciIsaGg6IiVkIGhvdXJzIixkOiJhIGRheSIsZGQ6IiVkIGRheXMiLHc6ImEgd2VlayIsd3c6IiVkIHdlZWtzIixNOiJhIG1vbnRoIixNTToiJWQgbW9udGhzIix5OiJhIHllYXIiLHl5OiIlZCB5ZWFycyJ9LG1vbnRoczphbixtb250aHNTaG9ydDpsbix3ZWVrOntk''@;'; put 'put ''b3c6MCxkb3k6Nn0sd2Vla2RheXM6dG0sd2Vla2RheXNNaW46cm0sd2Vla2RheXNTaG9ydDpubSxtZXJpZGllbVBhcnNlOi9bYXBdXC4/bT9cLj8vaX0sa3I9e30samk9e307ZnVuY3Rpb24gWTIoUSxyZSl7dmFyIHZlLE1lPU1hdGgubWluKFEubGVuZ3RoLHJlLmxlbmd0aCk7Zm9yKHZlPTA7''@;'; put 'put ''dmU8TWU7dmUrPTEpaWYoUVt2ZV0hPT1yZVt2ZV0pcmV0dXJuIHZlO3JldHVybiBNZX1mdW5jdGlvbiBjbyhRKXtyZXR1cm4gUSYmUS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoIl8iLCItIil9ZnVuY3Rpb24gJHUoUSl7dmFyIHJlPW51bGw7aWYodm9pZCAwPT09a3JbUV0mJl90JiZfdC5leHBv''@;'; put 'put ''cnRzJiZmdW5jdGlvbiB6MihRKXtyZXR1cm4gbnVsbCE9US5tYXRjaCgiXlteL1xcXFxdKiQiKX0oUSkpdHJ5e3JlPWdjLl9hYmJyLEZlKDY3MDApKCIuLyIrUSksJGkocmUpfWNhdGNoKE1lKXtrcltRXT1udWxsfXJldHVybiBrcltRXX1mdW5jdGlvbiAkaShRLHJlKXt2YXIgdmU7cmV0dXJu''@;'; put 'put ''IFEmJigodmU9TihyZSk/a28oUSk6X3IoUSxyZSkpP2djPXZlOiJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oIkxvY2FsZSAiK1ErIiBub3QgZm91bmQuIERpZCB5b3UgZm9yZ2V0IHRvIGxvYWQgaXQ/IikpLGdjLl9hYmJyfWZ1bmN0aW9u''@;'; put 'put ''IF9yKFEscmUpe2lmKG51bGwhPT1yZSl7dmFyIHZlLE1lPWFtO2lmKHJlLmFiYnI9USxudWxsIT1rcltRXSlCKCJkZWZpbmVMb2NhbGVPdmVycmlkZSIsInVzZSBtb21lbnQudXBkYXRlTG9jYWxlKGxvY2FsZU5hbWUsIGNvbmZpZykgdG8gY2hhbmdlIGFuIGV4aXN0aW5nIGxvY2FsZS4gbW9t''@;'; put 'put ''ZW50LmRlZmluZUxvY2FsZShsb2NhbGVOYW1lLCBjb25maWcpIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGNyZWF0aW5nIGEgbmV3IGxvY2FsZSBTZWUgaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9kZWZpbmUtbG9jYWxlLyBmb3IgbW9yZSBpbmZvLiIpLE1lPWtyW1Fd''@;'; put 'put ''Ll9jb25maWc7ZWxzZSBpZihudWxsIT1yZS5wYXJlbnRMb2NhbGUpaWYobnVsbCE9a3JbcmUucGFyZW50TG9jYWxlXSlNZT1rcltyZS5wYXJlbnRMb2NhbGVdLl9jb25maWc7ZWxzZXtpZihudWxsPT0odmU9JHUocmUucGFyZW50TG9jYWxlKSkpcmV0dXJuIGppW3JlLnBhcmVudExvY2FsZV18''@;'; put 'put ''fChqaVtyZS5wYXJlbnRMb2NhbGVdPVtdKSxqaVtyZS5wYXJlbnRMb2NhbGVdLnB1c2goe25hbWU6USxjb25maWc6cmV9KSxudWxsO01lPXZlLl9jb25maWd9cmV0dXJuIGtyW1FdPW5ldyB0ZSgkKE1lLHJlKSksamlbUV0mJmppW1FdLmZvckVhY2goZnVuY3Rpb24oUGUpe19yKFBlLm5hbWUs''@;'; put 'put ''UGUuY29uZmlnKX0pLCRpKFEpLGtyW1FdfXJldHVybiBkZWxldGUga3JbUV0sbnVsbH1mdW5jdGlvbiBrbyhRKXt2YXIgcmU7aWYoUSYmUS5fbG9jYWxlJiZRLl9sb2NhbGUuX2FiYnImJihRPVEuX2xvY2FsZS5fYWJiciksIVEpcmV0dXJuIGdjO2lmKCFoZShRKSl7aWYocmU9JHUoUSkpcmV0''@;'; put 'put ''dXJuIHJlO1E9W1FdfXJldHVybiBmdW5jdGlvbiBMcihRKXtmb3IodmFyIHZlLE1lLFBlLHR0LHJlPTA7cmU8US5sZW5ndGg7KXtmb3IodmU9KHR0PWNvKFFbcmVdKS5zcGxpdCgiLSIpKS5sZW5ndGgsTWU9KE1lPWNvKFFbcmUrMV0pKT9NZS5zcGxpdCgiLSIpOm51bGw7dmU+MDspe2lmKFBl''@;'; put 'put ''PSR1KHR0LnNsaWNlKDAsdmUpLmpvaW4oIi0iKSkpcmV0dXJuIFBlO2lmKE1lJiZNZS5sZW5ndGg+PXZlJiZZMih0dCxNZSk+PXZlLTEpYnJlYWs7dmUtLX1yZSsrfXJldHVybiBnY30oUSl9ZnVuY3Rpb24gYmMoUSl7dmFyIHJlLHZlPVEuX2E7cmV0dXJuIHZlJiYtMj09PXcoUSkub3ZlcmZs''@;'; put 'put ''b3cmJihyZT12ZVsxXTwwfHx2ZVsxXT4xMT8xOnZlWzJdPDF8fHZlWzJdPnJuKHZlWzBdLHZlWzFdKT8yOnZlWzNdPDB8fHZlWzNdPjI0fHwyND09PXZlWzNdJiYoMCE9PXZlWzRdfHwwIT09dmVbNV18fDAhPT12ZVs2XSk/Mzp2ZVs0XTwwfHx2ZVs0XT41OT80OnZlWzVdPDB8fHZlWzVdPjU5''@;'; put 'put ''PzU6dmVbNl08MHx8dmVbNl0+OTk5PzY6LTEsdyhRKS5fb3ZlcmZsb3dEYXlPZlllYXImJihyZTwwfHxyZT4yKSYmKHJlPTIpLHcoUSkuX292ZXJmbG93V2Vla3MmJi0xPT09cmUmJihyZT03KSx3KFEpLl9vdmVyZmxvd1dlZWtkYXkmJi0xPT09cmUmJihyZT04KSx3KFEpLm92ZXJmbG93PXJl''@;'; put 'put ''KSxRfXZhciBzcz0vXlxzKigoPzpbKy1dXGR7Nn18XGR7NH0pLSg/OlxkXGQtXGRcZHxXXGRcZC1cZHxXXGRcZHxcZFxkXGR8XGRcZCkpKD86KFR8ICkoXGRcZCg/OjpcZFxkKD86OlxkXGQoPzpbLixdXGQrKT8pPyk/KShbKy1dXGRcZCg/Ojo/XGRcZCk/fFxzKlopPyk/JC8sTWw9L15ccyoo''@;'; put 'put ''KD86WystXVxkezZ9fFxkezR9KSg/OlxkXGRcZFxkfFdcZFxkXGR8V1xkXGR8XGRcZFxkfFxkXGR8KSkoPzooVHwgKShcZFxkKD86XGRcZCg/OlxkXGQoPzpbLixdXGQrKT8pPyk/KShbKy1dXGRcZCg/Ojo/XGRcZCk/fFxzKlopPyk/JC8sbG09L1p8WystXVxkXGQoPzo6P1xkXGQpPy8sTnQ9''@;'; put 'put ''W1siWVlZWVlZLU1NLUREIiwvWystXVxkezZ9LVxkXGQtXGRcZC9dLFsiWVlZWS1NTS1ERCIsL1xkezR9LVxkXGQtXGRcZC9dLFsiR0dHRy1bV11XVy1FIiwvXGR7NH0tV1xkXGQtXGQvXSxbIkdHR0ctW1ddV1ciLC9cZHs0fS1XXGRcZC8sITFdLFsiWVlZWS1EREQiLC9cZHs0fS1cZHszfS9d''@;'; put 'put ''LFsiWVlZWS1NTSIsL1xkezR9LVxkXGQvLCExXSxbIllZWVlZWU1NREQiLC9bKy1dXGR7MTB9L10sWyJZWVlZTU1ERCIsL1xkezh9L10sWyJHR0dHW1ddV1dFIiwvXGR7NH1XXGR7M30vXSxbIkdHR0dbV11XVyIsL1xkezR9V1xkezJ9LywhMV0sWyJZWVlZREREIiwvXGR7N30vXSxbIllZWVlN''@;'; put 'put ''TSIsL1xkezZ9LywhMV0sWyJZWVlZIiwvXGR7NH0vLCExXV0sdGQ9W1siSEg6bW06c3MuU1NTUyIsL1xkXGQ6XGRcZDpcZFxkXC5cZCsvXSxbIkhIOm1tOnNzLFNTU1MiLC9cZFxkOlxkXGQ6XGRcZCxcZCsvXSxbIkhIOm1tOnNzIiwvXGRcZDpcZFxkOlxkXGQvXSxbIkhIOm1tIiwvXGRcZDpc''@;'; put 'put ''ZFxkL10sWyJISG1tc3MuU1NTUyIsL1xkXGRcZFxkXGRcZFwuXGQrL10sWyJISG1tc3MsU1NTUyIsL1xkXGRcZFxkXGRcZCxcZCsvXSxbIkhIbW1zcyIsL1xkXGRcZFxkXGRcZC9dLFsiSEhtbSIsL1xkXGRcZFxkL10sWyJISCIsL1xkXGQvXV0sQ2Y9L15cLz9EYXRlXCgoLT9cZCspL2ksa2Y9''@;'; put 'put ''L14oPzooTW9ufFR1ZXxXZWR8VGh1fEZyaXxTYXR8U3VuKSw/XHMpPyhcZHsxLDJ9KVxzKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKVxzKFxkezIsNH0pXHMoXGRcZCk6KFxkXGQpKD86OihcZFxkKSk/XHMoPzooVVR8R01UfFtFQ01QXVtTRF1UKXwo''@;'; put 'put ''W1p6XSl8KFsrLV1cZHs0fSkpJC8sZ249e1VUOjAsR01UOjAsRURUOi0yNDAsRVNUOi0zMDAsQ0RUOi0zMDAsQ1NUOi0zNjAsTURUOi0zNjAsTVNUOi00MjAsUERUOi00MjAsUFNUOi00ODB9O2Z1bmN0aW9uIGpmKFEpe3ZhciByZSx2ZSx0dCxTdCxqbixCbixNZT1RLl9pLFBlPXNzLmV4ZWMo''@;'; put 'put ''TWUpfHxNbC5leGVjKE1lKSxGcj1OdC5sZW5ndGgsJG49dGQubGVuZ3RoO2lmKFBlKXtmb3IodyhRKS5pc289ITAscmU9MCx2ZT1GcjtyZTx2ZTtyZSsrKWlmKE50W3JlXVsxXS5leGVjKFBlWzFdKSl7U3Q9TnRbcmVdWzBdLHR0PSExIT09TnRbcmVdWzJdO2JyZWFrfWlmKG51bGw9PVN0KXJl''@;'; put 'put ''dHVybiB2b2lkKFEuX2lzVmFsaWQ9ITEpO2lmKFBlWzNdKXtmb3IocmU9MCx2ZT0kbjtyZTx2ZTtyZSsrKWlmKHRkW3JlXVsxXS5leGVjKFBlWzNdKSl7am49KFBlWzJdfHwiICIpK3RkW3JlXVswXTticmVha31pZihudWxsPT1qbilyZXR1cm4gdm9pZChRLl9pc1ZhbGlkPSExKX1pZighdHQm''@;'; put 'put ''Jm51bGwhPWpuKXJldHVybiB2b2lkKFEuX2lzVmFsaWQ9ITEpO2lmKFBlWzRdKXtpZighbG0uZXhlYyhQZVs0XSkpcmV0dXJuIHZvaWQoUS5faXNWYWxpZD0hMSk7Qm49IloifVEuX2Y9U3QrKGpufHwiIikrKEJufHwiIiksbHMoUSl9ZWxzZSBRLl9pc1ZhbGlkPSExfWZ1bmN0aW9uIFR0KFEp''@;'; put 'put ''e3ZhciByZT1wYXJzZUludChRLDEwKTtyZXR1cm4gcmU8PTQ5PzJlMytyZTpyZTw9OTk5PzE5MDArcmU6cmV9ZnVuY3Rpb24gX2koUSl7dmFyIHZlLHJlPWtmLmV4ZWMoZnVuY3Rpb24gSWkoUSl7cmV0dXJuIFEucmVwbGFjZSgvXChbXigpXSpcKXxbXG5cdF0vZywiICIpLnJlcGxhY2UoLyhc''@;'; put 'put ''c1xzKykvZywiICIpLnJlcGxhY2UoL15cc1xzKi8sIiIpLnJlcGxhY2UoL1xzXHMqJC8sIiIpfShRLl9pKSk7aWYocmUpe2lmKHZlPWZ1bmN0aW9uIFNmKFEscmUsdmUsTWUsUGUsdHQpe3ZhciBTdD1bVHQoUSksbG4uaW5kZXhPZihyZSkscGFyc2VJbnQodmUsMTApLHBhcnNlSW50KE1lLDEw''@;'; put 'put ''KSxwYXJzZUludChQZSwxMCldO3JldHVybiB0dCYmU3QucHVzaChwYXJzZUludCh0dCwxMCkpLFN0fShyZVs0XSxyZVszXSxyZVsyXSxyZVs1XSxyZVs2XSxyZVs3XSksIWZ1bmN0aW9uIERyKFEscmUsdmUpe3JldHVybiFRfHxubS5pbmRleE9mKFEpPT09bmV3IERhdGUocmVbMF0scmVbMV0s''@;'; put 'put ''cmVbMl0pLmdldERheSgpfHwodyh2ZSkud2Vla2RheU1pc21hdGNoPSEwLHZlLl9pc1ZhbGlkPSExLCExKX0ocmVbMV0sdmUsUSkpcmV0dXJuO1EuX2E9dmUsUS5fdHptPWZ1bmN0aW9uIFNpKFEscmUsdmUpe2lmKFEpcmV0dXJuIGduW1FdO2lmKHJlKXJldHVybiAwO3ZhciBNZT1wYXJzZUlu''@;'; put 'put ''dCh2ZSwxMCksUGU9TWUlMTAwO3JldHVybihNZS1QZSkvMTAwKjYwK1BlfShyZVs4XSxyZVs5XSxyZVsxMF0pLFEuX2Q9dXIuYXBwbHkobnVsbCxRLl9hKSxRLl9kLnNldFVUQ01pbnV0ZXMoUS5fZC5nZXRVVENNaW51dGVzKCktUS5fdHptKSx3KFEpLnJmYzI4MjI9ITB9ZWxzZSBRLl9pc1Zh''@;'; put 'put ''bGlkPSExfWZ1bmN0aW9uIGFzKFEscmUsdmUpe3JldHVybiBudWxsIT1RP1E6bnVsbCE9cmU/cmU6dmV9ZnVuY3Rpb24gb2EoUSl7dmFyIHJlLHZlLFBlLHR0LFN0LE1lPVtdO2lmKCFRLl9kKXtmb3IoUGU9ZnVuY3Rpb24gbmQoUSl7dmFyIHJlPW5ldyBEYXRlKG9lLm5vdygpKTtyZXR1cm4g''@;'; put 'put ''US5fdXNlVVRDP1tyZS5nZXRVVENGdWxsWWVhcigpLHJlLmdldFVUQ01vbnRoKCkscmUuZ2V0VVRDRGF0ZSgpXTpbcmUuZ2V0RnVsbFllYXIoKSxyZS5nZXRNb250aCgpLHJlLmdldERhdGUoKV19KFEpLFEuX3cmJm51bGw9PVEuX2FbMl0mJm51bGw9PVEuX2FbMV0mJmZ1bmN0aW9uIHZjKFEp''@;'; put 'put ''e3ZhciByZSx2ZSxNZSxQZSx0dCxTdCxqbixCbixGcjtudWxsIT0ocmU9US5fdykuR0d8fG51bGwhPXJlLld8fG51bGwhPXJlLkU/KHR0PTEsU3Q9NCx2ZT1hcyhyZS5HRyxRLl9hWzBdLHlsKGpyKCksMSw0KS55ZWFyKSxNZT1hcyhyZS5XLDEpLCgoUGU9YXMocmUuRSwxKSk8MXx8UGU+Nykm''@;'; put 'put ''JihCbj0hMCkpOih0dD1RLl9sb2NhbGUuX3dlZWsuZG93LFN0PVEuX2xvY2FsZS5fd2Vlay5kb3ksRnI9eWwoanIoKSx0dCxTdCksdmU9YXMocmUuZ2csUS5fYVswXSxGci55ZWFyKSxNZT1hcyhyZS53LEZyLndlZWspLG51bGwhPXJlLmQ/KChQZT1yZS5kKTwwfHxQZT42KSYmKEJuPSEwKTpu''@;'; put 'put ''dWxsIT1yZS5lPyhQZT1yZS5lK3R0LChyZS5lPDB8fHJlLmU+NikmJihCbj0hMCkpOlBlPXR0KSxNZTwxfHxNZT5hbyh2ZSx0dCxTdCk/dyhRKS5fb3ZlcmZsb3dXZWVrcz0hMDpudWxsIT1Cbj93KFEpLl9vdmVyZmxvd1dlZWtkYXk9ITA6KGpuPSQwKHZlLE1lLFBlLHR0LFN0KSxRLl9hWzBd''@;'; put 'put ''PWpuLnllYXIsUS5fZGF5T2ZZZWFyPWpuLmRheU9mWWVhcil9KFEpLG51bGwhPVEuX2RheU9mWWVhciYmKFN0PWFzKFEuX2FbMF0sUGVbMF0pLChRLl9kYXlPZlllYXI+Q28oU3QpfHwwPT09US5fZGF5T2ZZZWFyKSYmKHcoUSkuX292ZXJmbG93RGF5T2ZZZWFyPSEwKSx2ZT11cihTdCwwLFEu''@;'; put 'put ''X2RheU9mWWVhciksUS5fYVsxXT12ZS5nZXRVVENNb250aCgpLFEuX2FbMl09dmUuZ2V0VVRDRGF0ZSgpKSxyZT0wO3JlPDMmJm51bGw9PVEuX2FbcmVdOysrcmUpUS5fYVtyZV09TWVbcmVdPVBlW3JlXTtmb3IoO3JlPDc7cmUrKylRLl9hW3JlXT1NZVtyZV09bnVsbD09US5fYVtyZV0/Mj09''@;'; put 'put ''PXJlPzE6MDpRLl9hW3JlXTsyND09PVEuX2FbM10mJjA9PT1RLl9hWzRdJiYwPT09US5fYVs1XSYmMD09PVEuX2FbNl0mJihRLl9uZXh0RGF5PSEwLFEuX2FbM109MCksUS5fZD0oUS5fdXNlVVRDP3VyOnhuKS5hcHBseShudWxsLE1lKSx0dD1RLl91c2VVVEM/US5fZC5nZXRVVENEYXkoKTpR''@;'; put 'put ''Ll9kLmdldERheSgpLG51bGwhPVEuX3R6bSYmUS5fZC5zZXRVVENNaW51dGVzKFEuX2QuZ2V0VVRDTWludXRlcygpLVEuX3R6bSksUS5fbmV4dERheSYmKFEuX2FbM109MjQpLFEuX3cmJnZvaWQgMCE9PVEuX3cuZCYmUS5fdy5kIT09dHQmJih3KFEpLndlZWtkYXlNaXNtYXRjaD0hMCl9fWZ1''@;'; put 'put ''bmN0aW9uIGxzKFEpe2lmKFEuX2YhPT1vZS5JU09fODYwMSlpZihRLl9mIT09b2UuUkZDXzI4MjIpe1EuX2E9W10sdyhRKS5lbXB0eT0hMDt2YXIgdmUsTWUsUGUsdHQsU3QsRnIsJG4scmU9IiIrUS5faSxqbj1yZS5sZW5ndGgsQm49MDtmb3IoJG49KFBlPXVlKFEuX2YsUS5fbG9jYWxlKS5t''@;'; put 'put ''YXRjaChnKXx8W10pLmxlbmd0aCx2ZT0wO3ZlPCRuO3ZlKyspKE1lPShyZS5tYXRjaChtdCh0dD1QZVt2ZV0sUSkpfHxbXSlbMF0pJiYoKFN0PXJlLnN1YnN0cigwLHJlLmluZGV4T2YoTWUpKSkubGVuZ3RoPjAmJncoUSkudW51c2VkSW5wdXQucHVzaChTdCkscmU9cmUuc2xpY2UocmUuaW5k''@;'; put 'put ''ZXhPZihNZSkrTWUubGVuZ3RoKSxCbis9TWUubGVuZ3RoKSxXW3R0XT8oTWU/dyhRKS5lbXB0eT0hMTp3KFEpLnVudXNlZFRva2Vucy5wdXNoKHR0KSxEZSh0dCxNZSxRKSk6US5fc3RyaWN0JiYhTWUmJncoUSkudW51c2VkVG9rZW5zLnB1c2godHQpO3coUSkuY2hhcnNMZWZ0T3Zlcj1qbi1C''@;'; put 'put ''bixyZS5sZW5ndGg+MCYmdyhRKS51bnVzZWRJbnB1dC5wdXNoKHJlKSxRLl9hWzNdPD0xMiYmITA9PT13KFEpLmJpZ0hvdXImJlEuX2FbM10+MCYmKHcoUSkuYmlnSG91cj12b2lkIDApLHcoUSkucGFyc2VkRGF0ZVBhcnRzPVEuX2Euc2xpY2UoMCksdyhRKS5tZXJpZGllbT1RLl9tZXJpZGll''@;'; put 'put ''bSxRLl9hWzNdPWZ1bmN0aW9uIHlpKFEscmUsdmUpe3ZhciBNZTtyZXR1cm4gbnVsbD09dmU/cmU6bnVsbCE9US5tZXJpZGllbUhvdXI/US5tZXJpZGllbUhvdXIocmUsdmUpOihudWxsIT1RLmlzUE0mJigoTWU9US5pc1BNKHZlKSkmJnJlPDEyJiYocmUrPTEyKSwhTWUmJjEyPT09cmUmJihy''@;'; put 'put ''ZT0wKSkscmUpfShRLl9sb2NhbGUsUS5fYVszXSxRLl9tZXJpZGllbSksbnVsbCE9PShGcj13KFEpLmVyYSkmJihRLl9hWzBdPVEuX2xvY2FsZS5lcmFzQ29udmVydFllYXIoRnIsUS5fYVswXSkpLG9hKFEpLGJjKFEpfWVsc2UgX2koUSk7ZWxzZSBqZihRKX1mdW5jdGlvbiBWbihRKXt2YXIg''@;'; put 'put ''cmU9US5faSx2ZT1RLl9mO3JldHVybiBRLl9sb2NhbGU9US5fbG9jYWxlfHxrbyhRLl9sKSxudWxsPT09cmV8fHZvaWQgMD09PXZlJiYiIj09PXJlP2soe251bGxJbnB1dDohMH0pOigic3RyaW5nIj09dHlwZW9mIHJlJiYoUS5faT1yZT1RLl9sb2NhbGUucHJlcGFyc2UocmUpKSxJKHJlKT9u''@;'; put 'put ''ZXcgWShiYyhyZSkpOihDKHJlKT9RLl9kPXJlOmhlKHZlKT9mdW5jdGlvbiBjbShRKXt2YXIgcmUsdmUsTWUsUGUsdHQsU3Qsam49ITEsQm49US5fZi5sZW5ndGg7aWYoMD09PUJuKXJldHVybiB3KFEpLmludmFsaWRGb3JtYXQ9ITAsdm9pZChRLl9kPW5ldyBEYXRlKE5hTikpO2ZvcihQZT0w''@;'; put 'put ''O1BlPEJuO1BlKyspdHQ9MCxTdD0hMSxyZT1UKHt9LFEpLG51bGwhPVEuX3VzZVVUQyYmKHJlLl91c2VVVEM9US5fdXNlVVRDKSxyZS5fZj1RLl9mW1BlXSxscyhyZSksTShyZSkmJihTdD0hMCksdHQrPXcocmUpLmNoYXJzTGVmdE92ZXIsdHQrPTEwKncocmUpLnVudXNlZFRva2Vucy5sZW5n''@;'; put 'put ''dGgsdyhyZSkuc2NvcmU9dHQsam4/dHQ8TWUmJihNZT10dCx2ZT1yZSk6KG51bGw9PU1lfHx0dDxNZXx8U3QpJiYoTWU9dHQsdmU9cmUsU3QmJihqbj0hMCkpO20oUSx2ZXx8cmUpfShRKTp2ZT9scyhRKTpmdW5jdGlvbiB6cihRKXt2YXIgcmU9US5faTtOKHJlKT9RLl9kPW5ldyBEYXRlKG9l''@;'; put 'put ''Lm5vdygpKTpDKHJlKT9RLl9kPW5ldyBEYXRlKHJlLnZhbHVlT2YoKSk6InN0cmluZyI9PXR5cGVvZiByZT9mdW5jdGlvbiBlbyhRKXt2YXIgcmU9Q2YuZXhlYyhRLl9pKTtudWxsPT09cmU/KGpmKFEpLCExPT09US5faXNWYWxpZCYmKGRlbGV0ZSBRLl9pc1ZhbGlkLF9pKFEpLCExPT09US5f''@;'; put 'put ''aXNWYWxpZCYmKGRlbGV0ZSBRLl9pc1ZhbGlkLFEuX3N0cmljdD9RLl9pc1ZhbGlkPSExOm9lLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKFEpKSkpOlEuX2Q9bmV3IERhdGUoK3JlWzFdKX0oUSk6aGUocmUpPyhRLl9hPVMocmUuc2xpY2UoMCksZnVuY3Rpb24odmUpe3JldHVybiBwYXJzZUlu''@;'; put 'put ''dCh2ZSwxMCl9KSxvYShRKSk6WihyZSk/ZnVuY3Rpb24gdW8oUSl7aWYoIVEuX2Qpe3ZhciByZT1PZShRLl9pKTtRLl9hPVMoW3JlLnllYXIscmUubW9udGgsdm9pZCAwPT09cmUuZGF5P3JlLmRhdGU6cmUuZGF5LHJlLmhvdXIscmUubWludXRlLHJlLnNlY29uZCxyZS5taWxsaXNlY29uZF0s''@;'; put 'put ''ZnVuY3Rpb24oTWUpe3JldHVybiBNZSYmcGFyc2VJbnQoTWUsMTApfSksb2EoUSl9fShRKTp6KHJlKT9RLl9kPW5ldyBEYXRlKHJlKTpvZS5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjayhRKX0oUSksTShRKXx8KFEuX2Q9bnVsbCksUSkpfWZ1bmN0aW9uIEZpKFEscmUsdmUsTWUsUGUpe3ZhciB0''@;'; put 'put ''dD17fTtyZXR1cm4oITA9PT1yZXx8ITE9PT1yZSkmJihNZT1yZSxyZT12b2lkIDApLCghMD09PXZlfHwhMT09PXZlKSYmKE1lPXZlLHZlPXZvaWQgMCksKFooUSkmJmooUSl8fGhlKFEpJiYwPT09US5sZW5ndGgpJiYoUT12b2lkIDApLHR0Ll9pc0FNb21lbnRPYmplY3Q9ITAsdHQuX3VzZVVU''@;'; put 'put ''Qz10dC5faXNVVEM9UGUsdHQuX2w9dmUsdHQuX2k9USx0dC5fZj1yZSx0dC5fc3RyaWN0PU1lLGZ1bmN0aW9uIG9uKFEpe3ZhciByZT1uZXcgWShiYyhWbihRKSkpO3JldHVybiByZS5fbmV4dERheSYmKHJlLmFkZCgxLCJkIikscmUuX25leHREYXk9dm9pZCAwKSxyZX0odHQpfWZ1bmN0aW9u''@;'; put 'put ''IGpyKFEscmUsdmUsTWUpe3JldHVybiBGaShRLHJlLHZlLE1lLCExKX1vZS5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjaz1WKCJ2YWx1ZSBwcm92aWRlZCBpcyBub3QgaW4gYSByZWNvZ25pemVkIFJGQzI4MjIgb3IgSVNPIGZvcm1hdC4gbW9tZW50IGNvbnN0cnVjdGlvbiBmYWxscyBiYWNrIHRv''@;'; put 'put ''IGpzIERhdGUoKSwgd2hpY2ggaXMgbm90IHJlbGlhYmxlIGFjcm9zcyBhbGwgYnJvd3NlcnMgYW5kIHZlcnNpb25zLiBOb24gUkZDMjgyMi9JU08gZGF0ZSBmb3JtYXRzIGFyZSBkaXNjb3VyYWdlZC4gUGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2Fybmlu''@;'; put 'put ''Z3MvanMtZGF0ZS8gZm9yIG1vcmUgaW5mby4iLGZ1bmN0aW9uKFEpe1EuX2Q9bmV3IERhdGUoUS5faSsoUS5fdXNlVVRDPyIgVVRDIjoiIikpfSksb2UuSVNPXzg2MDE9ZnVuY3Rpb24oKXt9LG9lLlJGQ18yODIyPWZ1bmN0aW9uKCl7fTt2YXIgY2k9VigibW9tZW50KCkubWluIGlzIGRlcHJl''@;'; put 'put ''Y2F0ZWQsIHVzZSBtb21lbnQubWF4IGluc3RlYWQuIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvbWluLW1heC8iLGZ1bmN0aW9uKCl7dmFyIFE9anIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmUS5pc1ZhbGlkKCk/UTx0aGlzP3Ro''@;'; put 'put ''aXM6UTprKCl9KSxzYT1WKCJtb21lbnQoKS5tYXggaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5taW4gaW5zdGVhZC4gaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9taW4tbWF4LyIsZnVuY3Rpb24oKXt2YXIgUT1qci5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJu''@;'; put 'put ''IHRoaXMuaXNWYWxpZCgpJiZRLmlzVmFsaWQoKT9RPnRoaXM/dGhpczpROmsoKX0pO2Z1bmN0aW9uIEhyKFEscmUpe3ZhciB2ZSxNZTtpZigxPT09cmUubGVuZ3RoJiZoZShyZVswXSkmJihyZT1yZVswXSksIXJlLmxlbmd0aClyZXR1cm4ganIoKTtmb3IodmU9cmVbMF0sTWU9MTtNZTxyZS5s''@;'; put 'put ''ZW5ndGg7KytNZSkoIXJlW01lXS5pc1ZhbGlkKCl8fHJlW01lXVtRXSh2ZSkpJiYodmU9cmVbTWVdKTtyZXR1cm4gdmV9dmFyIEFzPVsieWVhciIsInF1YXJ0ZXIiLCJtb250aCIsIndlZWsiLCJkYXkiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwibWlsbGlzZWNvbmQiXTtmdW5jdGlvbiBp''@;'; put 'put ''aShRKXt2YXIgcmU9T2UoUSksdmU9cmUueWVhcnx8MCxNZT1yZS5xdWFydGVyfHwwLFBlPXJlLm1vbnRofHwwLHR0PXJlLndlZWt8fHJlLmlzb1dlZWt8fDAsU3Q9cmUuZGF5fHwwLGpuPXJlLmhvdXJ8fDAsQm49cmUubWludXRlfHwwLEZyPXJlLnNlY29uZHx8MCwkbj1yZS5taWxsaXNlY29u''@;'; put 'put ''ZHx8MDt0aGlzLl9pc1ZhbGlkPWZ1bmN0aW9uIEhhKFEpe3ZhciByZSxNZSx2ZT0hMSxQZT1Bcy5sZW5ndGg7Zm9yKHJlIGluIFEpaWYoQShRLHJlKSYmKC0xPT09WXQuY2FsbChBcyxyZSl8fG51bGwhPVFbcmVdJiZpc05hTihRW3JlXSkpKXJldHVybiExO2ZvcihNZT0wO01lPFBlOysrTWUp''@;'; put 'put ''aWYoUVtBc1tNZV1dKXtpZih2ZSlyZXR1cm4hMTtwYXJzZUZsb2F0KFFbQXNbTWVdXSkhPT1rZShRW0FzW01lXV0pJiYodmU9ITApfXJldHVybiEwfShyZSksdGhpcy5fbWlsbGlzZWNvbmRzPSskbisxZTMqRnIrNmU0KkJuKzFlMypqbio2MCo2MCx0aGlzLl9kYXlzPStTdCs3KnR0LHRoaXMu''@;'; put 'put ''X21vbnRocz0rUGUrMypNZSsxMip2ZSx0aGlzLl9kYXRhPXt9LHRoaXMuX2xvY2FsZT1rbygpLHRoaXMuX2J1YmJsZSgpfWZ1bmN0aW9uIEVzKFEpe3JldHVybiBRIGluc3RhbmNlb2YgaWl9ZnVuY3Rpb24gVHMoUSl7cmV0dXJuIFE8MD8tMSpNYXRoLnJvdW5kKC0xKlEpOk1hdGgucm91bmQo''@;'; put 'put ''USl9ZnVuY3Rpb24gbGEoUSxyZSl7RyhRLDAsMCxmdW5jdGlvbigpe3ZhciB2ZT10aGlzLnV0Y09mZnNldCgpLE1lPSIrIjtyZXR1cm4gdmU8MCYmKHZlPS12ZSxNZT0iLSIpLE1lK3Aofn4odmUvNjApLDIpK3JlK3Aofn52ZSU2MCwyKX0pfWxhKCJaIiwiOiIpLGxhKCJaWiIsIiIpLFplKCJa''@;'; put 'put ''IixtbiksWmUoIlpaIixtbiksWnQoWyJaIiwiWloiXSxmdW5jdGlvbihRLHJlLHZlKXt2ZS5fdXNlVVRDPSEwLHZlLl90em09SXIobW4sUSl9KTt2YXIgT2Y9LyhbXCtcLV18XGRcZCkvZ2k7ZnVuY3Rpb24gSXIoUSxyZSl7dmFyIFBlLHR0LHZlPShyZXx8IiIpLm1hdGNoKFEpO3JldHVybiBu''@;'; put 'put ''dWxsPT09dmU/bnVsbDowPT09KHR0PTYwKihQZT0oKHZlW3ZlLmxlbmd0aC0xXXx8W10pKyIiKS5tYXRjaChPZil8fFsiLSIsMCwwXSlbMV0ra2UoUGVbMl0pKT8wOiIrIj09PVBlWzBdP3R0Oi10dH1mdW5jdGlvbiBpZChRLHJlKXt2YXIgdmUsTWU7cmV0dXJuIHJlLl9pc1VUQz8odmU9cmUu''@;'; put 'put ''Y2xvbmUoKSxNZT0oSShRKXx8QyhRKT9RLnZhbHVlT2YoKTpqcihRKS52YWx1ZU9mKCkpLXZlLnZhbHVlT2YoKSx2ZS5fZC5zZXRUaW1lKHZlLl9kLnZhbHVlT2YoKStNZSksb2UudXBkYXRlT2Zmc2V0KHZlLCExKSx2ZSk6anIoUSkubG9jYWwoKX1mdW5jdGlvbiBvZChRKXtyZXR1cm4tTWF0''@;'; put 'put ''aC5yb3VuZChRLl9kLmdldFRpbWV6b25lT2Zmc2V0KCkpfWZ1bmN0aW9uIGZtKCl7cmV0dXJuISF0aGlzLmlzVmFsaWQoKSYmdGhpcy5faXNVVEMmJjA9PT10aGlzLl9vZmZzZXR9b2UudXBkYXRlT2Zmc2V0PWZ1bmN0aW9uKCl7fTt2YXIgSDI9L14oLXxcKyk/KD86KFxkKilbLiBdKT8oXGQr''@;'; put 'put ''KTooXGQrKSg/OjooXGQrKShcLlxkKik/KT8kLyxWMj0vXigtfFwrKT9QKD86KFstK10/WzAtOSwuXSopWSk/KD86KFstK10/WzAtOSwuXSopTSk/KD86KFstK10/WzAtOSwuXSopVyk/KD86KFstK10/WzAtOSwuXSopRCk/KD86VCg/OihbLStdP1swLTksLl0qKUgpPyg/OihbLStdP1swLTks''@;'; put 'put ''Ll0qKU0pPyg/OihbLStdP1swLTksLl0qKVMpPyk/JC87ZnVuY3Rpb24gVW8oUSxyZSl7dmFyIFBlLHR0LFN0LHZlPVEsTWU9bnVsbDtyZXR1cm4gRXMoUSk/dmU9e21zOlEuX21pbGxpc2Vjb25kcyxkOlEuX2RheXMsTTpRLl9tb250aHN9OnooUSl8fCFpc05hTigrUSk/KHZlPXt9LHJlP3Zl''@;'; put 'put ''W3JlXT0rUTp2ZS5taWxsaXNlY29uZHM9K1EpOihNZT1IMi5leGVjKFEpKT8oUGU9Ii0iPT09TWVbMV0/LTE6MSx2ZT17eTowLGQ6a2UoTWVbMl0pKlBlLGg6a2UoTWVbM10pKlBlLG06a2UoTWVbNF0pKlBlLHM6a2UoTWVbNV0pKlBlLG1zOmtlKFRzKDFlMypNZVs2XSkpKlBlfSk6KE1lPVYy''@;'; put 'put ''LmV4ZWMoUSkpP3ZlPXt5OlZhKE1lWzJdLFBlPSItIj09PU1lWzFdPy0xOjEpLE06VmEoTWVbM10sUGUpLHc6VmEoTWVbNF0sUGUpLGQ6VmEoTWVbNV0sUGUpLGg6VmEoTWVbNl0sUGUpLG06VmEoTWVbN10sUGUpLHM6VmEoTWVbOF0sUGUpfTpudWxsPT12ZT92ZT17fToib2JqZWN0Ij09dHlw''@;'; put 'put ''ZW9mIHZlJiYoImZyb20iaW4gdmV8fCJ0byJpbiB2ZSkmJihTdD1mdW5jdGlvbiBVMihRLHJlKXt2YXIgdmU7cmV0dXJuIFEuaXNWYWxpZCgpJiZyZS5pc1ZhbGlkKCk/KHJlPWlkKHJlLFEpLFEuaXNCZWZvcmUocmUpP3ZlPXBtKFEscmUpOigodmU9cG0ocmUsUSkpLm1pbGxpc2Vjb25kcz0t''@;'; put 'put ''dmUubWlsbGlzZWNvbmRzLHZlLm1vbnRocz0tdmUubW9udGhzKSx2ZSk6e21pbGxpc2Vjb25kczowLG1vbnRoczowfX0oanIodmUuZnJvbSksanIodmUudG8pKSwodmU9e30pLm1zPVN0Lm1pbGxpc2Vjb25kcyx2ZS5NPVN0Lm1vbnRocyksdHQ9bmV3IGlpKHZlKSxFcyhRKSYmQShRLCJfbG9j''@;'; put 'put ''YWxlIikmJih0dC5fbG9jYWxlPVEuX2xvY2FsZSksRXMoUSkmJkEoUSwiX2lzVmFsaWQiKSYmKHR0Ll9pc1ZhbGlkPVEuX2lzVmFsaWQpLHR0fWZ1bmN0aW9uIFZhKFEscmUpe3ZhciB2ZT1RJiZwYXJzZUZsb2F0KFEucmVwbGFjZSgiLCIsIi4iKSk7cmV0dXJuKGlzTmFOKHZlKT8wOnZlKSpy''@;'; put 'put ''ZX1mdW5jdGlvbiBwbShRLHJlKXt2YXIgdmU9e307cmV0dXJuIHZlLm1vbnRocz1yZS5tb250aCgpLVEubW9udGgoKSsxMioocmUueWVhcigpLVEueWVhcigpKSxRLmNsb25lKCkuYWRkKHZlLm1vbnRocywiTSIpLmlzQWZ0ZXIocmUpJiYtLXZlLm1vbnRocyx2ZS5taWxsaXNlY29uZHM9K3Jl''@;'; put 'put ''LStRLmNsb25lKCkuYWRkKHZlLm1vbnRocywiTSIpLHZlfWZ1bmN0aW9uIGdtKFEscmUpe3JldHVybiBmdW5jdGlvbih2ZSxNZSl7dmFyIHR0O3JldHVybiBudWxsIT09TWUmJiFpc05hTigrTWUpJiYoQihyZSwibW9tZW50KCkuIityZSsiKHBlcmlvZCwgbnVtYmVyKSBpcyBkZXByZWNhdGVk''@;'; put 'put ''LiBQbGVhc2UgdXNlIG1vbWVudCgpLiIrcmUrIihudW1iZXIsIHBlcmlvZCkuIFNlZSBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL2FkZC1pbnZlcnRlZC1wYXJhbS8gZm9yIG1vcmUgaW5mby4iKSx0dD12ZSx2ZT1NZSxNZT10dCksbW0odGhpcyxVbyh2ZSxNZSksUSks''@;'; put 'put ''dGhpc319ZnVuY3Rpb24gbW0oUSxyZSx2ZSxNZSl7dmFyIFBlPXJlLl9taWxsaXNlY29uZHMsdHQ9VHMocmUuX2RheXMpLFN0PVRzKHJlLl9tb250aHMpOyFRLmlzVmFsaWQoKXx8KE1lPW51bGw9PU1lfHxNZSxTdCYmdm4oUSwkZShRLCJNb250aCIpK1N0KnZlKSx0dCYmVmUoUSwiRGF0ZSIs''@;'; put 'put ''JGUoUSwiRGF0ZSIpK3R0KnZlKSxQZSYmUS5fZC5zZXRUaW1lKFEuX2QudmFsdWVPZigpK1BlKnZlKSxNZSYmb2UudXBkYXRlT2Zmc2V0KFEsdHR8fFN0KSl9VW8uZm49aWkucHJvdG90eXBlLFVvLmludmFsaWQ9ZnVuY3Rpb24gYWEoKXtyZXR1cm4gVW8oTmFOKX07dmFyIFcyPWdtKDEsImFk''@;'; put 'put ''ZCIpLHEyPWdtKC0xLCJzdWJ0cmFjdCIpO2Z1bmN0aW9uIGJtKFEpe3JldHVybiJzdHJpbmciPT10eXBlb2YgUXx8USBpbnN0YW5jZW9mIFN0cmluZ31mdW5jdGlvbiBHMihRKXtyZXR1cm4gSShRKXx8QyhRKXx8Ym0oUSl8fHooUSl8fGZ1bmN0aW9uIFBmKFEpe3ZhciByZT1oZShRKSx2ZT0h''@;'; put 'put ''MTtyZXR1cm4gcmUmJih2ZT0wPT09US5maWx0ZXIoZnVuY3Rpb24oTWUpe3JldHVybiF6KE1lKSYmYm0oUSl9KS5sZW5ndGgpLHJlJiZ2ZX0oUSl8fGZ1bmN0aW9uIFoyKFEpe3ZhciBQZSxyZT1aKFEpJiYhaihRKSx2ZT0hMSxNZT1bInllYXJzIiwieWVhciIsInkiLCJtb250aHMiLCJtb250''@;'; put 'put ''aCIsIk0iLCJkYXlzIiwiZGF5IiwiZCIsImRhdGVzIiwiZGF0ZSIsIkQiLCJob3VycyIsImhvdXIiLCJoIiwibWludXRlcyIsIm1pbnV0ZSIsIm0iLCJzZWNvbmRzIiwic2Vjb25kIiwicyIsIm1pbGxpc2Vjb25kcyIsIm1pbGxpc2Vjb25kIiwibXMiXSxTdD1NZS5sZW5ndGg7Zm9yKFBlPTA7''@;'; put 'put ''UGU8U3Q7UGUrPTEpdmU9dmV8fEEoUSxNZVtQZV0pO3JldHVybiByZSYmdmV9KFEpfHxudWxsPT1RfWZ1bmN0aW9uIGFkKFEpe3ZhciBQZSxyZT1aKFEpJiYhaihRKSx2ZT0hMSxNZT1bInNhbWVEYXkiLCJuZXh0RGF5IiwibGFzdERheSIsIm5leHRXZWVrIiwibGFzdFdlZWsiLCJzYW1lRWxz''@;'; put 'put ''ZSJdO2ZvcihQZT0wO1BlPE1lLmxlbmd0aDtQZSs9MSl2ZT12ZXx8QShRLE1lW1BlXSk7cmV0dXJuIHJlJiZ2ZX1mdW5jdGlvbiBrbChRLHJlKXtpZihRLmRhdGUoKTxyZS5kYXRlKCkpcmV0dXJuLWtsKHJlLFEpO3ZhciB2ZT0xMioocmUueWVhcigpLVEueWVhcigpKSsocmUubW9udGgoKS1R''@;'; put 'put ''Lm1vbnRoKCkpLE1lPVEuY2xvbmUoKS5hZGQodmUsIm1vbnRocyIpO3JldHVybi0odmUrKHJlLU1lPDA/KHJlLU1lKS8oTWUtUS5jbG9uZSgpLmFkZCh2ZS0xLCJtb250aHMiKSk6KHJlLU1lKS8oUS5jbG9uZSgpLmFkZCh2ZSsxLCJtb250aHMiKS1NZSkpKXx8MH1mdW5jdGlvbiBqbShRKXt2''@;'; put 'put ''YXIgcmU7cmV0dXJuIHZvaWQgMD09PVE/dGhpcy5fbG9jYWxlLl9hYmJyOihudWxsIT0ocmU9a28oUSkpJiYodGhpcy5fbG9jYWxlPXJlKSx0aGlzKX1vZS5kZWZhdWx0Rm9ybWF0PSJZWVlZLU1NLUREVEhIOm1tOnNzWiIsb2UuZGVmYXVsdEZvcm1hdFV0Yz0iWVlZWS1NTS1ERFRISDptbTpz''@;'; put 'put ''c1taXSI7dmFyIEpyPVYoIm1vbWVudCgpLmxhbmcoKSBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgbW9tZW50KCkubG9jYWxlRGF0YSgpIHRvIGdldCB0aGUgbGFuZ3VhZ2UgY29uZmlndXJhdGlvbi4gVXNlIG1vbWVudCgpLmxvY2FsZSgpIHRvIGNoYW5nZSBsYW5ndWFnZXMuIixmdW5j''@;'; put 'put ''dGlvbihRKXtyZXR1cm4gdm9pZCAwPT09UT90aGlzLmxvY2FsZURhdGEoKTp0aGlzLmxvY2FsZShRKX0pO2Z1bmN0aW9uIEFmKCl7cmV0dXJuIHRoaXMuX2xvY2FsZX12YXIgY3M9NmU0LE9pPTYwKmNzLEVmPTM1MDYzMjgqT2k7ZnVuY3Rpb24gTHMoUSxyZSl7cmV0dXJuKFElcmUrcmUpJXJl''@;'; put 'put ''fWZ1bmN0aW9uIHVhKFEscmUsdmUpe3JldHVybiBRPDEwMCYmUT49MD9uZXcgRGF0ZShRKzQwMCxyZSx2ZSktRWY6bmV3IERhdGUoUSxyZSx2ZSkudmFsdWVPZigpfWZ1bmN0aW9uIE5pKFEscmUsdmUpe3JldHVybiBRPDEwMCYmUT49MD9EYXRlLlVUQyhRKzQwMCxyZSx2ZSktRWY6RGF0ZS5V''@;'; put 'put ''VEMoUSxyZSx2ZSl9ZnVuY3Rpb24gZm8oUSxyZSl7cmV0dXJuIHJlLmVyYXNBYmJyUmVnZXgoUSl9ZnVuY3Rpb24gZ2QoKXt2YXIgUGUsdHQsUT1bXSxyZT1bXSx2ZT1bXSxNZT1bXSxTdD10aGlzLmVyYXMoKTtmb3IoUGU9MCx0dD1TdC5sZW5ndGg7UGU8dHQ7KytQZSlyZS5wdXNoKGZ0KFN0''@;'; put 'put ''W1BlXS5uYW1lKSksUS5wdXNoKGZ0KFN0W1BlXS5hYmJyKSksdmUucHVzaChmdChTdFtQZV0ubmFycm93KSksTWUucHVzaChmdChTdFtQZV0ubmFtZSkpLE1lLnB1c2goZnQoU3RbUGVdLmFiYnIpKSxNZS5wdXNoKGZ0KFN0W1BlXS5uYXJyb3cpKTt0aGlzLl9lcmFzUmVnZXg9bmV3IFJlZ0V4''@;'; put 'put ''cCgiXigiK01lLmpvaW4oInwiKSsiKSIsImkiKSx0aGlzLl9lcmFzTmFtZVJlZ2V4PW5ldyBSZWdFeHAoIl4oIityZS5qb2luKCJ8IikrIikiLCJpIiksdGhpcy5fZXJhc0FiYnJSZWdleD1uZXcgUmVnRXhwKCJeKCIrUS5qb2luKCJ8IikrIikiLCJpIiksdGhpcy5fZXJhc05hcnJvd1JlZ2V4''@;'; put 'put ''PW5ldyBSZWdFeHAoIl4oIit2ZS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gbWQoUSxyZSl7RygwLFtRLFEubGVuZ3RoXSwwLHJlKX1mdW5jdGlvbiBZZihRLHJlLHZlLE1lLFBlKXt2YXIgdHQ7cmV0dXJuIG51bGw9PVE/eWwodGhpcyxNZSxQZSkueWVhcjoocmU+KHR0PWFvKFEsTWUs''@;'; put 'put ''UGUpKSYmKHJlPXR0KSx6Zi5jYWxsKHRoaXMsUSxyZSx2ZSxNZSxQZSkpfWZ1bmN0aW9uIHpmKFEscmUsdmUsTWUsUGUpe3ZhciB0dD0kMChRLHJlLHZlLE1lLFBlKSxTdD11cih0dC55ZWFyLDAsdHQuZGF5T2ZZZWFyKTtyZXR1cm4gdGhpcy55ZWFyKFN0LmdldFVUQ0Z1bGxZZWFyKCkpLHRo''@;'; put 'put ''aXMubW9udGgoU3QuZ2V0VVRDTW9udGgoKSksdGhpcy5kYXRlKFN0LmdldFVUQ0RhdGUoKSksdGhpc31HKCJOIiwwLDAsImVyYUFiYnIiKSxHKCJOTiIsMCwwLCJlcmFBYmJyIiksRygiTk5OIiwwLDAsImVyYUFiYnIiKSxHKCJOTk5OIiwwLDAsImVyYU5hbWUiKSxHKCJOTk5OTiIsMCwwLCJl''@;'; put 'put ''cmFOYXJyb3ciKSxHKCJ5IixbInkiLDFdLCJ5byIsImVyYVllYXIiKSxHKCJ5IixbInl5IiwyXSwwLCJlcmFZZWFyIiksRygieSIsWyJ5eXkiLDNdLDAsImVyYVllYXIiKSxHKCJ5IixbInl5eXkiLDRdLDAsImVyYVllYXIiKSxaZSgiTiIsZm8pLFplKCJOTiIsZm8pLFplKCJOTk4iLGZvKSxa''@;'; put 'put ''ZSgiTk5OTiIsZnVuY3Rpb24gZmQoUSxyZSl7cmV0dXJuIHJlLmVyYXNOYW1lUmVnZXgoUSl9KSxaZSgiTk5OTk4iLGZ1bmN0aW9uIHBkKFEscmUpe3JldHVybiByZS5lcmFzTmFycm93UmVnZXgoUSl9KSxadChbIk4iLCJOTiIsIk5OTiIsIk5OTk4iLCJOTk5OTiJdLGZ1bmN0aW9uKFEscmUs''@;'; put 'put ''dmUsTWUpe3ZhciBQZT12ZS5fbG9jYWxlLmVyYXNQYXJzZShRLE1lLHZlLl9zdHJpY3QpO1BlP3codmUpLmVyYT1QZTp3KHZlKS5pbnZhbGlkRXJhPVF9KSxaZSgieSIsWHQpLFplKCJ5eSIsWHQpLFplKCJ5eXkiLFh0KSxaZSgieXl5eSIsWHQpLFplKCJ5byIsZnVuY3Rpb24gJDIoUSxyZSl7''@;'; put 'put ''cmV0dXJuIHJlLl9lcmFZZWFyT3JkaW5hbFJlZ2V4fHxYdH0pLFp0KFsieSIsInl5IiwieXl5IiwieXl5eSJdLDApLFp0KFsieW8iXSxmdW5jdGlvbihRLHJlLHZlLE1lKXt2YXIgUGU7dmUuX2xvY2FsZS5fZXJhWWVhck9yZGluYWxSZWdleCYmKFBlPVEubWF0Y2godmUuX2xvY2FsZS5fZXJh''@;'; put 'put ''WWVhck9yZGluYWxSZWdleCkpLHJlWzBdPXZlLl9sb2NhbGUuZXJhWWVhck9yZGluYWxQYXJzZT92ZS5fbG9jYWxlLmVyYVllYXJPcmRpbmFsUGFyc2UoUSxQZSk6cGFyc2VJbnQoUSwxMCl9KSxHKDAsWyJnZyIsMl0sMCxmdW5jdGlvbigpe3JldHVybiB0aGlzLndlZWtZZWFyKCklMTAwfSks''@;'; put 'put ''RygwLFsiR0ciLDJdLDAsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc29XZWVrWWVhcigpJTEwMH0pLG1kKCJnZ2dnIiwid2Vla1llYXIiKSxtZCgiZ2dnZ2ciLCJ3ZWVrWWVhciIpLG1kKCJHR0dHIiwiaXNvV2Vla1llYXIiKSxtZCgiR0dHR0ciLCJpc29XZWVrWWVhciIpLEhlKCJ3ZWVrWWVh''@;'; put 'put ''ciIsImdnIiksSGUoImlzb1dlZWtZZWFyIiwiR0ciKSxpZSgid2Vla1llYXIiLDEpLGllKCJpc29XZWVrWWVhciIsMSksWmUoIkciLGF0KSxaZSgiZyIsYXQpLFplKCJHRyIsR3QsZXQpLFplKCJnZyIsR3QsZXQpLFplKCJHR0dHIixndCxidCksWmUoImdnZ2ciLGd0LGJ0KSxaZSgiR0dHR0ci''@;'; put 'put ''LGR0LHB0KSxaZSgiZ2dnZ2ciLGR0LHB0KSxYZShbImdnZ2ciLCJnZ2dnZyIsIkdHR0ciLCJHR0dHRyJdLGZ1bmN0aW9uKFEscmUsdmUsTWUpe3JlW01lLnN1YnN0cigwLDIpXT1rZShRKX0pLFhlKFsiZ2ciLCJHRyJdLGZ1bmN0aW9uKFEscmUsdmUsTWUpe3JlW01lXT1vZS5wYXJzZVR3b0Rp''@;'; put 'put ''Z2l0WWVhcihRKX0pLEcoIlEiLDAsIlFvIiwicXVhcnRlciIpLEhlKCJxdWFydGVyIiwiUSIpLGllKCJxdWFydGVyIiw3KSxaZSgiUSIsS2UpLFp0KCJRIixmdW5jdGlvbihRLHJlKXtyZVsxXT0zKihrZShRKS0xKX0pLEcoIkQiLFsiREQiLDJdLCJEbyIsImRhdGUiKSxIZSgiZGF0ZSIsIkQi''@;'; put 'put ''KSxpZSgiZGF0ZSIsOSksWmUoIkQiLEd0KSxaZSgiREQiLEd0LGV0KSxaZSgiRG8iLGZ1bmN0aW9uKFEscmUpe3JldHVybiBRP3JlLl9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlfHxyZS5fb3JkaW5hbFBhcnNlOnJlLl9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlTGVuaWVudH0pLFp0KFsiRCIsIkRE''@;'; put 'put ''Il0sMiksWnQoIkRvIixmdW5jdGlvbihRLHJlKXtyZVsyXT1rZShRLm1hdGNoKEd0KVswXSl9KTt2YXIgQmY9U2UoIkRhdGUiLCEwKTtHKCJEREQiLFsiRERERCIsM10sIkRERG8iLCJkYXlPZlllYXIiKSxIZSgiZGF5T2ZZZWFyIiwiREREIiksaWUoImRheU9mWWVhciIsNCksWmUoIkRERCIs''@;'; put 'put ''U24pLFplKCJEREREIixfbiksWnQoWyJEREQiLCJEREREIl0sZnVuY3Rpb24oUSxyZSx2ZSl7dmUuX2RheU9mWWVhcj1rZShRKX0pLEcoIm0iLFsibW0iLDJdLDAsIm1pbnV0ZSIpLEhlKCJtaW51dGUiLCJtIiksaWUoIm1pbnV0ZSIsMTQpLFplKCJtIixHdCksWmUoIm1tIixHdCxldCksWnQo''@;'; put 'put ''WyJtIiwibW0iXSw0KTt2YXIgdmQ9U2UoIk1pbnV0ZXMiLCExKTtHKCJzIixbInNzIiwyXSwwLCJzZWNvbmQiKSxIZSgic2Vjb25kIiwicyIpLGllKCJzZWNvbmQiLDE1KSxaZSgicyIsR3QpLFplKCJzcyIsR3QsZXQpLFp0KFsicyIsInNzIl0sNSk7dmFyIFdvLFZmLEhmPVNlKCJTZWNvbmRz''@;'; put 'put ''IiwhMSk7Zm9yKEcoIlMiLDAsMCxmdW5jdGlvbigpe3JldHVybn5+KHRoaXMubWlsbGlzZWNvbmQoKS8xMDApfSksRygwLFsiU1MiLDJdLDAsZnVuY3Rpb24oKXtyZXR1cm5+fih0aGlzLm1pbGxpc2Vjb25kKCkvMTApfSksRygwLFsiU1NTIiwzXSwwLCJtaWxsaXNlY29uZCIpLEcoMCxbIlNT''@;'; put 'put ''U1MiLDRdLDAsZnVuY3Rpb24oKXtyZXR1cm4gMTAqdGhpcy5taWxsaXNlY29uZCgpfSksRygwLFsiU1NTU1MiLDVdLDAsZnVuY3Rpb24oKXtyZXR1cm4gMTAwKnRoaXMubWlsbGlzZWNvbmQoKX0pLEcoMCxbIlNTU1NTUyIsNl0sMCxmdW5jdGlvbigpe3JldHVybiAxZTMqdGhpcy5taWxsaXNl''@;'; put 'put ''Y29uZCgpfSksRygwLFsiU1NTU1NTUyIsN10sMCxmdW5jdGlvbigpe3JldHVybiAxZTQqdGhpcy5taWxsaXNlY29uZCgpfSksRygwLFsiU1NTU1NTU1MiLDhdLDAsZnVuY3Rpb24oKXtyZXR1cm4gMWU1KnRoaXMubWlsbGlzZWNvbmQoKX0pLEcoMCxbIlNTU1NTU1NTUyIsOV0sMCxmdW5jdGlv''@;'; put 'put ''bigpe3JldHVybiAxZTYqdGhpcy5taWxsaXNlY29uZCgpfSksSGUoIm1pbGxpc2Vjb25kIiwibXMiKSxpZSgibWlsbGlzZWNvbmQiLDE2KSxaZSgiUyIsU24sS2UpLFplKCJTUyIsU24sZXQpLFplKCJTU1MiLFNuLF9uKSxXbz0iU1NTUyI7V28ubGVuZ3RoPD05O1dvKz0iUyIpWmUoV28sWHQp''@;'; put 'put ''O2Z1bmN0aW9uIFVmKFEscmUpe3JlWzZdPWtlKDFlMyooIjAuIitRKSl9Zm9yKFdvPSJTIjtXby5sZW5ndGg8PTk7V28rPSJTIiladChXbyxVZik7VmY9U2UoIk1pbGxpc2Vjb25kcyIsITEpLEcoInoiLDAsMCwiem9uZUFiYnIiKSxHKCJ6eiIsMCwwLCJ6b25lTmFtZSIpO3ZhciBVdD1ZLnBy''@;'; put 'put ''b3RvdHlwZTtmdW5jdGlvbiBDYyhRKXtyZXR1cm4gUX1VdC5hZGQ9VzIsVXQuY2FsZW5kYXI9ZnVuY3Rpb24gSzIoUSxyZSl7MT09PWFyZ3VtZW50cy5sZW5ndGgmJihhcmd1bWVudHNbMF0/RzIoYXJndW1lbnRzWzBdKT8oUT1hcmd1bWVudHNbMF0scmU9dm9pZCAwKTphZChhcmd1bWVudHNb''@;'; put 'put ''MF0pJiYocmU9YXJndW1lbnRzWzBdLFE9dm9pZCAwKTooUT12b2lkIDAscmU9dm9pZCAwKSk7dmFyIHZlPVF8fGpyKCksTWU9aWQodmUsdGhpcykuc3RhcnRPZigiZGF5IiksUGU9b2UuY2FsZW5kYXJGb3JtYXQodGhpcyxNZSl8fCJzYW1lRWxzZSIsdHQ9cmUmJihxKHJlW1BlXSk/cmVbUGVd''@;'; put 'put ''LmNhbGwodGhpcyx2ZSk6cmVbUGVdKTtyZXR1cm4gdGhpcy5mb3JtYXQodHR8fHRoaXMubG9jYWxlRGF0YSgpLmNhbGVuZGFyKFBlLHRoaXMsanIodmUpKSl9LFV0LmNsb25lPWZ1bmN0aW9uIFgyKCl7cmV0dXJuIG5ldyBZKHRoaXMpfSxVdC5kaWZmPWZ1bmN0aW9uIHhmKFEscmUsdmUpe3Zh''@;'; put 'put ''ciBNZSxQZSx0dDtpZighdGhpcy5pc1ZhbGlkKCkpcmV0dXJuIE5hTjtpZighKE1lPWlkKFEsdGhpcykpLmlzVmFsaWQoKSlyZXR1cm4gTmFOO3N3aXRjaChQZT02ZTQqKE1lLnV0Y09mZnNldCgpLXRoaXMudXRjT2Zmc2V0KCkpLHJlPVJlKHJlKSl7Y2FzZSJ5ZWFyIjp0dD1rbCh0aGlzLE1l''@;'; put 'put ''KS8xMjticmVhaztjYXNlIm1vbnRoIjp0dD1rbCh0aGlzLE1lKTticmVhaztjYXNlInF1YXJ0ZXIiOnR0PWtsKHRoaXMsTWUpLzM7YnJlYWs7Y2FzZSJzZWNvbmQiOnR0PSh0aGlzLU1lKS8xZTM7YnJlYWs7Y2FzZSJtaW51dGUiOnR0PSh0aGlzLU1lKS82ZTQ7YnJlYWs7Y2FzZSJob3VyIjp0''@;'; put 'put ''dD0odGhpcy1NZSkvMzZlNTticmVhaztjYXNlImRheSI6dHQ9KHRoaXMtTWUtUGUpLzg2NGU1O2JyZWFrO2Nhc2Uid2VlayI6dHQ9KHRoaXMtTWUtUGUpLzYwNDhlNTticmVhaztkZWZhdWx0OnR0PXRoaXMtTWV9cmV0dXJuIHZlP3R0OkFlKHR0KX0sVXQuZW5kT2Y9ZnVuY3Rpb24gd2MoUSl7''@;'; put 'put ''dmFyIHJlLHZlO2lmKHZvaWQgMD09PShRPVJlKFEpKXx8Im1pbGxpc2Vjb25kIj09PVF8fCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gdGhpcztzd2l0Y2godmU9dGhpcy5faXNVVEM/Tmk6dWEsUSl7Y2FzZSJ5ZWFyIjpyZT12ZSh0aGlzLnllYXIoKSsxLDAsMSktMTticmVhaztjYXNlInF1YXJ0''@;'; put 'put ''ZXIiOnJlPXZlKHRoaXMueWVhcigpLHRoaXMubW9udGgoKS10aGlzLm1vbnRoKCklMyszLDEpLTE7YnJlYWs7Y2FzZSJtb250aCI6cmU9dmUodGhpcy55ZWFyKCksdGhpcy5tb250aCgpKzEsMSktMTticmVhaztjYXNlIndlZWsiOnJlPXZlKHRoaXMueWVhcigpLHRoaXMubW9udGgoKSx0aGlz''@;'; put 'put ''LmRhdGUoKS10aGlzLndlZWtkYXkoKSs3KS0xO2JyZWFrO2Nhc2UiaXNvV2VlayI6cmU9dmUodGhpcy55ZWFyKCksdGhpcy5tb250aCgpLHRoaXMuZGF0ZSgpLSh0aGlzLmlzb1dlZWtkYXkoKS0xKSs3KS0xO2JyZWFrO2Nhc2UiZGF5IjpjYXNlImRhdGUiOnJlPXZlKHRoaXMueWVhcigpLHRo''@;'; put 'put ''aXMubW9udGgoKSx0aGlzLmRhdGUoKSsxKS0xO2JyZWFrO2Nhc2UiaG91ciI6cmU9dGhpcy5fZC52YWx1ZU9mKCkscmUrPU9pLUxzKHJlKyh0aGlzLl9pc1VUQz8wOnRoaXMudXRjT2Zmc2V0KCkqY3MpLE9pKS0xO2JyZWFrO2Nhc2UibWludXRlIjpyZT10aGlzLl9kLnZhbHVlT2YoKSxyZSs9''@;'; put 'put ''Y3MtTHMocmUsY3MpLTE7YnJlYWs7Y2FzZSJzZWNvbmQiOnJlPXRoaXMuX2QudmFsdWVPZigpLHJlKz0xZTMtTHMocmUsMWUzKS0xfXJldHVybiB0aGlzLl9kLnNldFRpbWUocmUpLG9lLnVwZGF0ZU9mZnNldCh0aGlzLCEwKSx0aGlzfSxVdC5mb3JtYXQ9ZnVuY3Rpb24gaG8oUSl7UXx8KFE9''@;'; put 'put ''dGhpcy5pc1V0YygpP29lLmRlZmF1bHRGb3JtYXRVdGM6b2UuZGVmYXVsdEZvcm1hdCk7dmFyIHJlPWFlKHRoaXMsUSk7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLnBvc3Rmb3JtYXQocmUpfSxVdC5mcm9tPWZ1bmN0aW9uIGNkKFEscmUpe3JldHVybiB0aGlzLmlzVmFsaWQoKSYmKEkoUSkm''@;'; put 'put ''JlEuaXNWYWxpZCgpfHxqcihRKS5pc1ZhbGlkKCkpP1VvKHt0bzp0aGlzLGZyb206UX0pLmxvY2FsZSh0aGlzLmxvY2FsZSgpKS5odW1hbml6ZSghcmUpOnRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCl9LFV0LmZyb21Ob3c9ZnVuY3Rpb24gQ20oUSl7cmV0dXJuIHRoaXMuZnJvbShq''@;'; put 'put ''cigpLFEpfSxVdC50bz1mdW5jdGlvbiB1ZChRLHJlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJihJKFEpJiZRLmlzVmFsaWQoKXx8anIoUSkuaXNWYWxpZCgpKT9Vbyh7ZnJvbTp0aGlzLHRvOlF9KS5sb2NhbGUodGhpcy5sb2NhbGUoKSkuaHVtYW5pemUoIXJlKTp0aGlzLmxvY2FsZURhdGEo''@;'; put 'put ''KS5pbnZhbGlkRGF0ZSgpfSxVdC50b05vdz1mdW5jdGlvbiBrbShRKXtyZXR1cm4gdGhpcy50byhqcigpLFEpfSxVdC5nZXQ9ZnVuY3Rpb24gR2UoUSl7cmV0dXJuIHEodGhpc1tRPVJlKFEpXSk/dGhpc1tRXSgpOnRoaXN9LFV0LmludmFsaWRBdD1mdW5jdGlvbiBQbSgpe3JldHVybiB3KHRo''@;'; put 'put ''aXMpLm92ZXJmbG93fSxVdC5pc0FmdGVyPWZ1bmN0aW9uIGNhKFEscmUpe3ZhciB2ZT1JKFEpP1E6anIoUSk7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCF2ZS5pc1ZhbGlkKCkpJiYoIm1pbGxpc2Vjb25kIj09PShyZT1SZShyZSl8fCJtaWxsaXNlY29uZCIpP3RoaXMudmFsdWVPZigpPnZl''@;'; put 'put ''LnZhbHVlT2YoKTp2ZS52YWx1ZU9mKCk8dGhpcy5jbG9uZSgpLnN0YXJ0T2YocmUpLnZhbHVlT2YoKSl9LFV0LmlzQmVmb3JlPWZ1bmN0aW9uIHZtKFEscmUpe3ZhciB2ZT1JKFEpP1E6anIoUSk7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCF2ZS5pc1ZhbGlkKCkpJiYoIm1pbGxpc2Vjb25k''@;'; put 'put ''Ij09PShyZT1SZShyZSl8fCJtaWxsaXNlY29uZCIpP3RoaXMudmFsdWVPZigpPHZlLnZhbHVlT2YoKTp0aGlzLmNsb25lKCkuZW5kT2YocmUpLnZhbHVlT2YoKTx2ZS52YWx1ZU9mKCkpfSxVdC5pc0JldHdlZW49ZnVuY3Rpb24gdWkoUSxyZSx2ZSxNZSl7dmFyIFBlPUkoUSk/UTpqcihRKSx0''@;'; put 'put ''dD1JKHJlKT9yZTpqcihyZSk7cmV0dXJuISEodGhpcy5pc1ZhbGlkKCkmJlBlLmlzVmFsaWQoKSYmdHQuaXNWYWxpZCgpKSYmKCIoIj09PShNZT1NZXx8IigpIilbMF0/dGhpcy5pc0FmdGVyKFBlLHZlKTohdGhpcy5pc0JlZm9yZShQZSx2ZSkpJiYoIikiPT09TWVbMV0/dGhpcy5pc0JlZm9y''@;'; put 'put ''ZSh0dCx2ZSk6IXRoaXMuaXNBZnRlcih0dCx2ZSkpfSxVdC5pc1NhbWU9ZnVuY3Rpb24gRGYoUSxyZSl7dmFyIE1lLHZlPUkoUSk/UTpqcihRKTtyZXR1cm4hKCF0aGlzLmlzVmFsaWQoKXx8IXZlLmlzVmFsaWQoKSkmJigibWlsbGlzZWNvbmQiPT09KHJlPVJlKHJlKXx8Im1pbGxpc2Vjb25k''@;'; put 'put ''Iik/dGhpcy52YWx1ZU9mKCk9PT12ZS52YWx1ZU9mKCk6KE1lPXZlLnZhbHVlT2YoKSx0aGlzLmNsb25lKCkuc3RhcnRPZihyZSkudmFsdWVPZigpPD1NZSYmTWU8PXRoaXMuY2xvbmUoKS5lbmRPZihyZSkudmFsdWVPZigpKSl9LFV0LmlzU2FtZU9yQWZ0ZXI9ZnVuY3Rpb24gX20oUSxyZSl7''@;'; put 'put ''cmV0dXJuIHRoaXMuaXNTYW1lKFEscmUpfHx0aGlzLmlzQWZ0ZXIoUSxyZSl9LFV0LmlzU2FtZU9yQmVmb3JlPWZ1bmN0aW9uIHltKFEscmUpe3JldHVybiB0aGlzLmlzU2FtZShRLHJlKXx8dGhpcy5pc0JlZm9yZShRLHJlKX0sVXQuaXNWYWxpZD1mdW5jdGlvbiBRMigpe3JldHVybiBNKHRo''@;'; put 'put ''aXMpfSxVdC5sYW5nPUpyLFV0LmxvY2FsZT1qbSxVdC5sb2NhbGVEYXRhPUFmLFV0Lm1heD1zYSxVdC5taW49Y2ksVXQucGFyc2luZ0ZsYWdzPWZ1bmN0aW9uIE9tKCl7cmV0dXJuIG0oe30sdyh0aGlzKSl9LFV0LnNldD1mdW5jdGlvbiBxdChRLHJlKXtpZigib2JqZWN0Ij09dHlwZW9mIFEp''@;'; put 'put ''e3ZhciBNZSx2ZT1mdW5jdGlvbiBzZShRKXt2YXIgdmUscmU9W107Zm9yKHZlIGluIFEpQShRLHZlKSYmcmUucHVzaCh7dW5pdDp2ZSxwcmlvcml0eTpMZVt2ZV19KTtyZXR1cm4gcmUuc29ydChmdW5jdGlvbihNZSxQZSl7cmV0dXJuIE1lLnByaW9yaXR5LVBlLnByaW9yaXR5fSkscmV9KFE9''@;'; put 'put ''T2UoUSkpLFBlPXZlLmxlbmd0aDtmb3IoTWU9MDtNZTxQZTtNZSsrKXRoaXNbdmVbTWVdLnVuaXRdKFFbdmVbTWVdLnVuaXRdKX1lbHNlIGlmKHEodGhpc1tRPVJlKFEpXSkpcmV0dXJuIHRoaXNbUV0ocmUpO3JldHVybiB0aGlzfSxVdC5zdGFydE9mPWZ1bmN0aW9uIFRmKFEpe3ZhciByZSx2''@;'; put 'put ''ZTtpZih2b2lkIDA9PT0oUT1SZShRKSl8fCJtaWxsaXNlY29uZCI9PT1RfHwhdGhpcy5pc1ZhbGlkKCkpcmV0dXJuIHRoaXM7c3dpdGNoKHZlPXRoaXMuX2lzVVRDP05pOnVhLFEpe2Nhc2UieWVhciI6cmU9dmUodGhpcy55ZWFyKCksMCwxKTticmVhaztjYXNlInF1YXJ0ZXIiOnJlPXZlKHRo''@;'; put 'put ''aXMueWVhcigpLHRoaXMubW9udGgoKS10aGlzLm1vbnRoKCklMywxKTticmVhaztjYXNlIm1vbnRoIjpyZT12ZSh0aGlzLnllYXIoKSx0aGlzLm1vbnRoKCksMSk7YnJlYWs7Y2FzZSJ3ZWVrIjpyZT12ZSh0aGlzLnllYXIoKSx0aGlzLm1vbnRoKCksdGhpcy5kYXRlKCktdGhpcy53ZWVrZGF5''@;'; put 'put ''KCkpO2JyZWFrO2Nhc2UiaXNvV2VlayI6cmU9dmUodGhpcy55ZWFyKCksdGhpcy5tb250aCgpLHRoaXMuZGF0ZSgpLSh0aGlzLmlzb1dlZWtkYXkoKS0xKSk7YnJlYWs7Y2FzZSJkYXkiOmNhc2UiZGF0ZSI6cmU9dmUodGhpcy55ZWFyKCksdGhpcy5tb250aCgpLHRoaXMuZGF0ZSgpKTticmVh''@;'; put 'put ''aztjYXNlImhvdXIiOnJlPXRoaXMuX2QudmFsdWVPZigpLHJlLT1McyhyZSsodGhpcy5faXNVVEM/MDp0aGlzLnV0Y09mZnNldCgpKmNzKSxPaSk7YnJlYWs7Y2FzZSJtaW51dGUiOnJlPXRoaXMuX2QudmFsdWVPZigpLHJlLT1McyhyZSxjcyk7YnJlYWs7Y2FzZSJzZWNvbmQiOnJlPXRoaXMu''@;'; put 'put ''X2QudmFsdWVPZigpLHJlLT1McyhyZSwxZTMpfXJldHVybiB0aGlzLl9kLnNldFRpbWUocmUpLG9lLnVwZGF0ZU9mZnNldCh0aGlzLCEwKSx0aGlzfSxVdC5zdWJ0cmFjdD1xMixVdC50b0FycmF5PWZ1bmN0aW9uIGhkKCl7dmFyIFE9dGhpcztyZXR1cm5bUS55ZWFyKCksUS5tb250aCgpLFEu''@;'; put 'put ''ZGF0ZSgpLFEuaG91cigpLFEubWludXRlKCksUS5zZWNvbmQoKSxRLm1pbGxpc2Vjb25kKCldfSxVdC50b09iamVjdD1mdW5jdGlvbiB6bigpe3ZhciBRPXRoaXM7cmV0dXJue3llYXJzOlEueWVhcigpLG1vbnRoczpRLm1vbnRoKCksZGF0ZTpRLmRhdGUoKSxob3VyczpRLmhvdXJzKCksbWlu''@;'; put 'put ''dXRlczpRLm1pbnV0ZXMoKSxzZWNvbmRzOlEuc2Vjb25kcygpLG1pbGxpc2Vjb25kczpRLm1pbGxpc2Vjb25kcygpfX0sVXQudG9EYXRlPWZ1bmN0aW9uIExmKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudmFsdWVPZigpKX0sVXQudG9JU09TdHJpbmc9ZnVuY3Rpb24gbGQoUSl7aWYoIXRoaXMu''@;'; put 'put ''aXNWYWxpZCgpKXJldHVybiBudWxsO3ZhciByZT0hMCE9PVEsdmU9cmU/dGhpcy5jbG9uZSgpLnV0YygpOnRoaXM7cmV0dXJuIHZlLnllYXIoKTwwfHx2ZS55ZWFyKCk+OTk5OT9hZSh2ZSxyZT8iWVlZWVlZLU1NLUREW1RdSEg6bW06c3MuU1NTW1pdIjoiWVlZWVlZLU1NLUREW1RdSEg6bW06''@;'; put 'put ''c3MuU1NTWiIpOnEoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpP3JlP3RoaXMudG9EYXRlKCkudG9JU09TdHJpbmcoKTpuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSs2MCp0aGlzLnV0Y09mZnNldCgpKjFlMykudG9JU09TdHJpbmcoKS5yZXBsYWNlKCJaIixhZSh2ZSwiWiIpKTphZSh2ZSxy''@;'; put 'put ''ZT8iWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXSI6IllZWVktTU0tRERbVF1ISDptbTpzcy5TU1NaIil9LFV0Lmluc3BlY3Q9ZnVuY3Rpb24gTW0oKXtpZighdGhpcy5pc1ZhbGlkKCkpcmV0dXJuIm1vbWVudC5pbnZhbGlkKC8qICIrdGhpcy5faSsiICovKSI7dmFyIHZlLE1lLFE9Im1v''@;'; put 'put ''bWVudCIscmU9IiI7cmV0dXJuIHRoaXMuaXNMb2NhbCgpfHwoUT0wPT09dGhpcy51dGNPZmZzZXQoKT8ibW9tZW50LnV0YyI6Im1vbWVudC5wYXJzZVpvbmUiLHJlPSJaIiksdmU9IlsiK1ErJygiXScsTWU9MDw9dGhpcy55ZWFyKCkmJnRoaXMueWVhcigpPD05OTk5PyJZWVlZIjoiWVlZWVlZ''@;'; put 'put ''Iix0aGlzLmZvcm1hdCh2ZStNZSsiLU1NLUREW1RdSEg6bW06c3MuU1NTIityZSsnWyIpXScpfSwidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmbnVsbCE9U3ltYm9sLmZvciYmKFV0W1N5bWJvbC5mb3IoIm5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tIildPWZ1bmN0aW9uKCl7cmV0dXJu''@;'; put 'put ''Ik1vbWVudDwiK3RoaXMuZm9ybWF0KCkrIj4ifSksVXQudG9KU09OPWZ1bmN0aW9uIElmKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMudG9JU09TdHJpbmcoKTpudWxsfSxVdC50b1N0cmluZz1mdW5jdGlvbiB3bSgpe3JldHVybiB0aGlzLmNsb25lKCkubG9jYWxlKCJlbiIpLmZvcm1h''@;'; put 'put ''dCgiZGRkIE1NTSBERCBZWVlZIEhIOm1tOnNzIFtHTVRdWloiKX0sVXQudW5peD1mdW5jdGlvbiBJcygpe3JldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpLzFlMyl9LFV0LnZhbHVlT2Y9ZnVuY3Rpb24gU20oKXtyZXR1cm4gdGhpcy5fZC52YWx1ZU9mKCktNmU0Kih0aGlzLl9vZmZz''@;'; put 'put ''ZXR8fDApfSxVdC5jcmVhdGlvbkRhdGE9ZnVuY3Rpb24gRG0oKXtyZXR1cm57aW5wdXQ6dGhpcy5faSxmb3JtYXQ6dGhpcy5fZixsb2NhbGU6dGhpcy5fbG9jYWxlLGlzVVRDOnRoaXMuX2lzVVRDLHN0cmljdDp0aGlzLl9zdHJpY3R9fSxVdC5lcmFOYW1lPWZ1bmN0aW9uIHp0KCl7dmFyIFEs''@;'; put 'put ''cmUsdmUsTWU9dGhpcy5sb2NhbGVEYXRhKCkuZXJhcygpO2ZvcihRPTAscmU9TWUubGVuZ3RoO1E8cmU7KytRKWlmKHZlPXRoaXMuY2xvbmUoKS5zdGFydE9mKCJkYXkiKS52YWx1ZU9mKCksTWVbUV0uc2luY2U8PXZlJiZ2ZTw9TWVbUV0udW50aWx8fE1lW1FdLnVudGlsPD12ZSYmdmU8PU1l''@;'; put 'put ''W1FdLnNpbmNlKXJldHVybiBNZVtRXS5uYW1lO3JldHVybiIifSxVdC5lcmFOYXJyb3c9ZnVuY3Rpb24gZ3IoKXt2YXIgUSxyZSx2ZSxNZT10aGlzLmxvY2FsZURhdGEoKS5lcmFzKCk7Zm9yKFE9MCxyZT1NZS5sZW5ndGg7UTxyZTsrK1EpaWYodmU9dGhpcy5jbG9uZSgpLnN0YXJ0T2YoImRh''@;'; put 'put ''eSIpLnZhbHVlT2YoKSxNZVtRXS5zaW5jZTw9dmUmJnZlPD1NZVtRXS51bnRpbHx8TWVbUV0udW50aWw8PXZlJiZ2ZTw9TWVbUV0uc2luY2UpcmV0dXJuIE1lW1FdLm5hcnJvdztyZXR1cm4iIn0sVXQuZXJhQWJicj1mdW5jdGlvbiBjbigpe3ZhciBRLHJlLHZlLE1lPXRoaXMubG9jYWxlRGF0''@;'; put 'put ''YSgpLmVyYXMoKTtmb3IoUT0wLHJlPU1lLmxlbmd0aDtRPHJlOysrUSlpZih2ZT10aGlzLmNsb25lKCkuc3RhcnRPZigiZGF5IikudmFsdWVPZigpLE1lW1FdLnNpbmNlPD12ZSYmdmU8PU1lW1FdLnVudGlsfHxNZVtRXS51bnRpbDw9dmUmJnZlPD1NZVtRXS5zaW5jZSlyZXR1cm4gTWVbUV0u''@;'; put 'put ''YWJicjtyZXR1cm4iIn0sVXQuZXJhWWVhcj1mdW5jdGlvbiB1bigpe3ZhciBRLHJlLHZlLE1lLFBlPXRoaXMubG9jYWxlRGF0YSgpLmVyYXMoKTtmb3IoUT0wLHJlPVBlLmxlbmd0aDtRPHJlOysrUSlpZih2ZT1QZVtRXS5zaW5jZTw9UGVbUV0udW50aWw/MTotMSxNZT10aGlzLmNsb25lKCku''@;'; put 'put ''c3RhcnRPZigiZGF5IikudmFsdWVPZigpLFBlW1FdLnNpbmNlPD1NZSYmTWU8PVBlW1FdLnVudGlsfHxQZVtRXS51bnRpbDw9TWUmJk1lPD1QZVtRXS5zaW5jZSlyZXR1cm4odGhpcy55ZWFyKCktb2UoUGVbUV0uc2luY2UpLnllYXIoKSkqdmUrUGVbUV0ub2Zmc2V0O3JldHVybiB0aGlzLnll''@;'; put 'put ''YXIoKX0sVXQueWVhcj1JdCxVdC5pc0xlYXBZZWFyPWZ1bmN0aW9uIEtpKCl7cmV0dXJuIGRlKHRoaXMueWVhcigpKX0sVXQud2Vla1llYXI9ZnVuY3Rpb24gTWMoUSl7cmV0dXJuIFlmLmNhbGwodGhpcyxRLHRoaXMud2VlaygpLHRoaXMud2Vla2RheSgpLHRoaXMubG9jYWxlRGF0YSgpLl93''@;'; put 'put ''ZWVrLmRvdyx0aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3kpfSxVdC5pc29XZWVrWWVhcj1mdW5jdGlvbiBQaShRKXtyZXR1cm4gWWYuY2FsbCh0aGlzLFEsdGhpcy5pc29XZWVrKCksdGhpcy5pc29XZWVrZGF5KCksMSw0KX0sVXQucXVhcnRlcj1VdC5xdWFydGVycz1mdW5jdGlvbiBFbShR''@;'; put 'put ''KXtyZXR1cm4gbnVsbD09UT9NYXRoLmNlaWwoKHRoaXMubW9udGgoKSsxKS8zKTp0aGlzLm1vbnRoKDMqKFEtMSkrdGhpcy5tb250aCgpJTMpfSxVdC5tb250aD1jcixVdC5kYXlzSW5Nb250aD1mdW5jdGlvbiBvcigpe3JldHVybiBybih0aGlzLnllYXIoKSx0aGlzLm1vbnRoKCkpfSxVdC53''@;'; put 'put ''ZWVrPVV0LndlZWtzPWZ1bmN0aW9uIG9zKFEpe3ZhciByZT10aGlzLmxvY2FsZURhdGEoKS53ZWVrKHRoaXMpO3JldHVybiBudWxsPT1RP3JlOnRoaXMuYWRkKDcqKFEtcmUpLCJkIil9LFV0Lmlzb1dlZWs9VXQuaXNvV2Vla3M9ZnVuY3Rpb24gQTIoUSl7dmFyIHJlPXlsKHRoaXMsMSw0KS53''@;'; put 'put ''ZWVrO3JldHVybiBudWxsPT1RP3JlOnRoaXMuYWRkKDcqKFEtcmUpLCJkIil9LFV0LndlZWtzSW5ZZWFyPWZ1bmN0aW9uIFVhKCl7dmFyIFE9dGhpcy5sb2NhbGVEYXRhKCkuX3dlZWs7cmV0dXJuIGFvKHRoaXMueWVhcigpLFEuZG93LFEuZG95KX0sVXQud2Vla3NJbldlZWtZZWFyPWZ1bmN0''@;'; put 'put ''aW9uIGRzKCl7dmFyIFE9dGhpcy5sb2NhbGVEYXRhKCkuX3dlZWs7cmV0dXJuIGFvKHRoaXMud2Vla1llYXIoKSxRLmRvdyxRLmRveSl9LFV0Lmlzb1dlZWtzSW5ZZWFyPWZ1bmN0aW9uIHVzKCl7cmV0dXJuIGFvKHRoaXMueWVhcigpLDEsNCl9LFV0Lmlzb1dlZWtzSW5JU09XZWVrWWVhcj1m''@;'; put 'put ''dW5jdGlvbiBOZigpe3JldHVybiBhbyh0aGlzLmlzb1dlZWtZZWFyKCksMSw0KX0sVXQuZGF0ZT1CZixVdC5kYXk9VXQuZGF5cz1mdW5jdGlvbiBmbihRKXtpZighdGhpcy5pc1ZhbGlkKCkpcmV0dXJuIG51bGwhPVE/dGhpczpOYU47dmFyIHJlPXRoaXMuX2lzVVRDP3RoaXMuX2QuZ2V0VVRD''@;'; put 'put ''RGF5KCk6dGhpcy5fZC5nZXREYXkoKTtyZXR1cm4gbnVsbCE9UT8oUT1mdW5jdGlvbiBFMihRLHJlKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIFE/UTppc05hTihRKT8ibnVtYmVyIj09dHlwZW9mKFE9cmUud2Vla2RheXNQYXJzZShRKSk/UTpudWxsOnBhcnNlSW50KFEsMTApfShRLHRoaXMu''@;'; put 'put ''bG9jYWxlRGF0YSgpKSx0aGlzLmFkZChRLXJlLCJkIikpOnJlfSxVdC53ZWVrZGF5PWZ1bmN0aW9uIFh1KFEpe2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gbnVsbCE9UT90aGlzOk5hTjt2YXIgcmU9KHRoaXMuZGF5KCkrNy10aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3cpJTc7cmV0dXJu''@;'; put 'put ''IG51bGw9PVE/cmU6dGhpcy5hZGQoUS1yZSwiZCIpfSxVdC5pc29XZWVrZGF5PWZ1bmN0aW9uIHZmKFEpe2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gbnVsbCE9UT90aGlzOk5hTjtpZihudWxsIT1RKXt2YXIgcmU9ZnVuY3Rpb24gVDIoUSxyZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBR''@;'; put 'put ''P3JlLndlZWtkYXlzUGFyc2UoUSklN3x8Nzppc05hTihRKT9udWxsOlF9KFEsdGhpcy5sb2NhbGVEYXRhKCkpO3JldHVybiB0aGlzLmRheSh0aGlzLmRheSgpJTc/cmU6cmUtNyl9cmV0dXJuIHRoaXMuZGF5KCl8fDd9LFV0LmRheU9mWWVhcj1mdW5jdGlvbiBiZChRKXt2YXIgcmU9TWF0aC5y''@;'; put 'put ''b3VuZCgodGhpcy5jbG9uZSgpLnN0YXJ0T2YoImRheSIpLXRoaXMuY2xvbmUoKS5zdGFydE9mKCJ5ZWFyIikpLzg2NGU1KSsxO3JldHVybiBudWxsPT1RP3JlOnRoaXMuYWRkKFEtcmUsImQiKX0sVXQuaG91cj1VdC5ob3Vycz1sbyxVdC5taW51dGU9VXQubWludXRlcz12ZCxVdC5zZWNvbmQ9''@;'; put 'put ''VXQuc2Vjb25kcz1IZixVdC5taWxsaXNlY29uZD1VdC5taWxsaXNlY29uZHM9VmYsVXQudXRjT2Zmc2V0PWZ1bmN0aW9uIFJpKFEscmUsdmUpe3ZhciBQZSxNZT10aGlzLl9vZmZzZXR8fDA7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBudWxsIT1RP3RoaXM6TmFOO2lmKG51bGwhPVEpe2lm''@;'; put 'put ''KCJzdHJpbmciPT10eXBlb2YgUSl7aWYobnVsbD09PShRPUlyKG1uLFEpKSlyZXR1cm4gdGhpc31lbHNlIE1hdGguYWJzKFEpPDE2JiYhdmUmJihRKj02MCk7cmV0dXJuIXRoaXMuX2lzVVRDJiZyZSYmKFBlPW9kKHRoaXMpKSx0aGlzLl9vZmZzZXQ9USx0aGlzLl9pc1VUQz0hMCxudWxsIT1Q''@;'; put 'put ''ZSYmdGhpcy5hZGQoUGUsIm0iKSxNZSE9PVEmJighcmV8fHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3M/bW0odGhpcyxVbyhRLU1lLCJtIiksMSwhMSk6dGhpcy5fY2hhbmdlSW5Qcm9ncmVzc3x8KHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3M9ITAsb2UudXBkYXRlT2Zmc2V0KHRoaXMsITApLHRoaXMu''@;'; put 'put ''X2NoYW5nZUluUHJvZ3Jlc3M9bnVsbCkpLHRoaXN9cmV0dXJuIHRoaXMuX2lzVVRDP01lOm9kKHRoaXMpfSxVdC51dGM9ZnVuY3Rpb24gc2QoUSl7cmV0dXJuIHRoaXMudXRjT2Zmc2V0KDAsUSl9LFV0LmxvY2FsPWZ1bmN0aW9uIF9jKFEpe3JldHVybiB0aGlzLl9pc1VUQyYmKHRoaXMudXRj''@;'; put 'put ''T2Zmc2V0KDAsUSksdGhpcy5faXNVVEM9ITEsUSYmdGhpcy5zdWJ0cmFjdChvZCh0aGlzKSwibSIpKSx0aGlzfSxVdC5wYXJzZVpvbmU9ZnVuY3Rpb24geWMoKXtpZihudWxsIT10aGlzLl90em0pdGhpcy51dGNPZmZzZXQodGhpcy5fdHptLCExLCEwKTtlbHNlIGlmKCJzdHJpbmciPT10eXBl''@;'; put 'put ''b2YgdGhpcy5faSl7dmFyIFE9SXIoUWUsdGhpcy5faSk7bnVsbCE9UT90aGlzLnV0Y09mZnNldChRKTp0aGlzLnV0Y09mZnNldCgwLCEwKX1yZXR1cm4gdGhpc30sVXQuaGFzQWxpZ25lZEhvdXJPZmZzZXQ9ZnVuY3Rpb24gT28oUSl7cmV0dXJuISF0aGlzLmlzVmFsaWQoKSYmKFE9UT9qcihR''@;'; put 'put ''KS51dGNPZmZzZXQoKTowLCh0aGlzLnV0Y09mZnNldCgpLVEpJTYwPT0wKX0sVXQuaXNEU1Q9ZnVuY3Rpb24gdW0oKXtyZXR1cm4gdGhpcy51dGNPZmZzZXQoKT50aGlzLmNsb25lKCkubW9udGgoMCkudXRjT2Zmc2V0KCl8fHRoaXMudXRjT2Zmc2V0KCk+dGhpcy5jbG9uZSgpLm1vbnRoKDUp''@;'; put 'put ''LnV0Y09mZnNldCgpfSxVdC5pc0xvY2FsPWZ1bmN0aW9uIGRtKCl7cmV0dXJuISF0aGlzLmlzVmFsaWQoKSYmIXRoaXMuX2lzVVRDfSxVdC5pc1V0Y09mZnNldD1mdW5jdGlvbiBobSgpe3JldHVybiEhdGhpcy5pc1ZhbGlkKCkmJnRoaXMuX2lzVVRDfSxVdC5pc1V0Yz1mbSxVdC5pc1VUQz1m''@;'; put 'put ''bSxVdC56b25lQWJicj1mdW5jdGlvbiBfZCgpe3JldHVybiB0aGlzLl9pc1VUQz8iVVRDIjoiIn0sVXQuem9uZU5hbWU9ZnVuY3Rpb24gV2YoKXtyZXR1cm4gdGhpcy5faXNVVEM/IkNvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lIjoiIn0sVXQuZGF0ZXM9VigiZGF0ZXMgYWNjZXNzb3IgaXMg''@;'; put 'put ''ZGVwcmVjYXRlZC4gVXNlIGRhdGUgaW5zdGVhZC4iLEJmKSxVdC5tb250aHM9VigibW9udGhzIGFjY2Vzc29yIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb250aCBpbnN0ZWFkIixjciksVXQueWVhcnM9VigieWVhcnMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIHllYXIgaW5zdGVhZCIsSXQp''@;'; put 'put ''LFV0LnpvbmU9VigibW9tZW50KCkuem9uZSBpcyBkZXByZWNhdGVkLCB1c2UgbW9tZW50KCkudXRjT2Zmc2V0IGluc3RlYWQuIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3Mvem9uZS8iLGZ1bmN0aW9uIFNvKFEscmUpe3JldHVybiBudWxsIT1RPygic3RyaW5nIiE9dHlw''@;'; put 'put ''ZW9mIFEmJihRPS1RKSx0aGlzLnV0Y09mZnNldChRLHJlKSx0aGlzKTotdGhpcy51dGNPZmZzZXQoKX0pLFV0LmlzRFNUU2hpZnRlZD1WKCJpc0RTVFNoaWZ0ZWQgaXMgZGVwcmVjYXRlZC4gU2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvZHN0LXNoaWZ0ZWQvIGZv''@;'; put 'put ''ciBtb3JlIGluZm9ybWF0aW9uIixmdW5jdGlvbiBCMigpe2lmKCFOKHRoaXMuX2lzRFNUU2hpZnRlZCkpcmV0dXJuIHRoaXMuX2lzRFNUU2hpZnRlZDt2YXIgcmUsUT17fTtyZXR1cm4gVChRLHRoaXMpLChRPVZuKFEpKS5fYT8ocmU9US5faXNVVEM/RihRLl9hKTpqcihRLl9hKSx0aGlzLl9p''@;'; put 'put ''c0RTVFNoaWZ0ZWQ9dGhpcy5pc1ZhbGlkKCkmJmZ1bmN0aW9uIGpvKFEscmUsdmUpe3ZhciBTdCxNZT1NYXRoLm1pbihRLmxlbmd0aCxyZS5sZW5ndGgpLFBlPU1hdGguYWJzKFEubGVuZ3RoLXJlLmxlbmd0aCksdHQ9MDtmb3IoU3Q9MDtTdDxNZTtTdCsrKSh2ZSYmUVtTdF0hPT1yZVtTdF18''@;'; put 'put ''fCF2ZSYma2UoUVtTdF0pIT09a2UocmVbU3RdKSkmJnR0Kys7cmV0dXJuIHR0K1BlfShRLl9hLHJlLnRvQXJyYXkoKSk+MCk6dGhpcy5faXNEU1RTaGlmdGVkPSExLHRoaXMuX2lzRFNUU2hpZnRlZH0pO3ZhciB5cj10ZS5wcm90b3R5cGU7ZnVuY3Rpb24ga2MoUSxyZSx2ZSxNZSl7dmFyIFBl''@;'; put 'put ''PWtvKCksdHQ9RigpLnNldChNZSxyZSk7cmV0dXJuIFBlW3ZlXSh0dCxRKX1mdW5jdGlvbiB3aShRLHJlLHZlKXtpZih6KFEpJiYocmU9USxRPXZvaWQgMCksUT1RfHwiIixudWxsIT1yZSlyZXR1cm4ga2MoUSxyZSx2ZSwibW9udGgiKTt2YXIgTWUsUGU9W107Zm9yKE1lPTA7TWU8MTI7TWUr''@;'; put 'put ''KylQZVtNZV09a2MoUSxNZSx2ZSwibW9udGgiKTtyZXR1cm4gUGV9ZnVuY3Rpb24gcW8oUSxyZSx2ZSxNZSl7ImJvb2xlYW4iPT10eXBlb2YgUT8oeihyZSkmJih2ZT1yZSxyZT12b2lkIDApLHJlPXJlfHwiIik6KHZlPXJlPVEsUT0hMSx6KHJlKSYmKHZlPXJlLHJlPXZvaWQgMCkscmU9cmV8''@;'; put 'put ''fCIiKTt2YXIgU3QsUGU9a28oKSx0dD1RP1BlLl93ZWVrLmRvdzowLGpuPVtdO2lmKG51bGwhPXZlKXJldHVybiBrYyhyZSwodmUrdHQpJTcsTWUsImRheSIpO2ZvcihTdD0wO1N0PDc7U3QrKylqbltTdF09a2MocmUsKFN0K3R0KSU3LE1lLCJkYXkiKTtyZXR1cm4gam59eXIuY2FsZW5kYXI9''@;'; put 'put ''ZnVuY3Rpb24geShRLHJlLHZlKXt2YXIgTWU9dGhpcy5fY2FsZW5kYXJbUV18fHRoaXMuX2NhbGVuZGFyLnNhbWVFbHNlO3JldHVybiBxKE1lKT9NZS5jYWxsKHJlLHZlKTpNZX0seXIubG9uZ0RhdGVGb3JtYXQ9ZnVuY3Rpb24gX2UoUSl7dmFyIHJlPXRoaXMuX2xvbmdEYXRlRm9ybWF0W1Fd''@;'; put 'put ''LHZlPXRoaXMuX2xvbmdEYXRlRm9ybWF0W1EudG9VcHBlckNhc2UoKV07cmV0dXJuIHJlfHwhdmU/cmU6KHRoaXMuX2xvbmdEYXRlRm9ybWF0W1FdPXZlLm1hdGNoKGcpLm1hcChmdW5jdGlvbihNZSl7cmV0dXJuIk1NTU0iPT09TWV8fCJNTSI9PT1NZXx8IkREIj09PU1lfHwiZGRkZCI9PT1N''@;'; put 'put ''ZT9NZS5zbGljZSgxKTpNZX0pLmpvaW4oIiIpLHRoaXMuX2xvbmdEYXRlRm9ybWF0W1FdKX0seXIuaW52YWxpZERhdGU9ZnVuY3Rpb24gY2UoKXtyZXR1cm4gdGhpcy5faW52YWxpZERhdGV9LHlyLm9yZGluYWw9ZnVuY3Rpb24gVWUoUSl7cmV0dXJuIHRoaXMuX29yZGluYWwucmVwbGFjZSgi''@;'; put 'put ''JWQiLFEpfSx5ci5wcmVwYXJzZT1DYyx5ci5wb3N0Zm9ybWF0PUNjLHlyLnJlbGF0aXZlVGltZT1mdW5jdGlvbiBFZShRLHJlLHZlLE1lKXt2YXIgUGU9dGhpcy5fcmVsYXRpdmVUaW1lW3ZlXTtyZXR1cm4gcShQZSk/UGUoUSxyZSx2ZSxNZSk6UGUucmVwbGFjZSgvJWQvaSxRKX0seXIucGFz''@;'; put 'put ''dEZ1dHVyZT1mdW5jdGlvbiB3dChRLHJlKXt2YXIgdmU9dGhpcy5fcmVsYXRpdmVUaW1lW1E+MD8iZnV0dXJlIjoicGFzdCJdO3JldHVybiBxKHZlKT92ZShyZSk6dmUucmVwbGFjZSgvJXMvaSxyZSl9LHlyLnNldD1mdW5jdGlvbiBKKFEpe3ZhciByZSx2ZTtmb3IodmUgaW4gUSlBKFEsdmUp''@;'; put 'put ''JiYocShyZT1RW3ZlXSk/dGhpc1t2ZV09cmU6dGhpc1siXyIrdmVdPXJlKTt0aGlzLl9jb25maWc9USx0aGlzLl9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlTGVuaWVudD1uZXcgUmVnRXhwKCh0aGlzLl9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlLnNvdXJjZXx8dGhpcy5fb3JkaW5hbFBhcnNlLnNv''@;'; put 'put ''dXJjZSkrInwiKy9cZHsxLDJ9Ly5zb3VyY2UpfSx5ci5lcmFzPWZ1bmN0aW9uIEZmKFEscmUpe3ZhciB2ZSxNZSxQZSx0dD10aGlzLl9lcmFzfHxrbygiZW4iKS5fZXJhcztmb3IodmU9MCxNZT10dC5sZW5ndGg7dmU8TWU7Kyt2ZSlzd2l0Y2goInN0cmluZyI9PXR5cGVvZiB0dFt2ZV0uc2lu''@;'; put 'put ''Y2UmJihQZT1vZSh0dFt2ZV0uc2luY2UpLnN0YXJ0T2YoImRheSIpLHR0W3ZlXS5zaW5jZT1QZS52YWx1ZU9mKCkpLHR5cGVvZiB0dFt2ZV0udW50aWwpe2Nhc2UidW5kZWZpbmVkIjp0dFt2ZV0udW50aWw9MS8wO2JyZWFrO2Nhc2Uic3RyaW5nIjpQZT1vZSh0dFt2ZV0udW50aWwpLnN0YXJ0''@;'; put 'put ''T2YoImRheSIpLnZhbHVlT2YoKSx0dFt2ZV0udW50aWw9UGUudmFsdWVPZigpfXJldHVybiB0dH0seXIuZXJhc1BhcnNlPWZ1bmN0aW9uIHhtKFEscmUsdmUpe3ZhciBNZSxQZSxTdCxqbixCbix0dD10aGlzLmVyYXMoKTtmb3IoUT1RLnRvVXBwZXJDYXNlKCksTWU9MCxQZT10dC5sZW5ndGg7''@;'; put 'put ''TWU8UGU7KytNZSlpZihTdD10dFtNZV0ubmFtZS50b1VwcGVyQ2FzZSgpLGpuPXR0W01lXS5hYmJyLnRvVXBwZXJDYXNlKCksQm49dHRbTWVdLm5hcnJvdy50b1VwcGVyQ2FzZSgpLHZlKXN3aXRjaChyZSl7Y2FzZSJOIjpjYXNlIk5OIjpjYXNlIk5OTiI6aWYoam49PT1RKXJldHVybiB0dFtN''@;'; put 'put ''ZV07YnJlYWs7Y2FzZSJOTk5OIjppZihTdD09PVEpcmV0dXJuIHR0W01lXTticmVhaztjYXNlIk5OTk5OIjppZihCbj09PVEpcmV0dXJuIHR0W01lXX1lbHNlIGlmKFtTdCxqbixCbl0uaW5kZXhPZihRKT49MClyZXR1cm4gdHRbTWVdfSx5ci5lcmFzQ29udmVydFllYXI9ZnVuY3Rpb24gQW0o''@;'; put 'put ''USxyZSl7dmFyIHZlPVEuc2luY2U8PVEudW50aWw/MTotMTtyZXR1cm4gdm9pZCAwPT09cmU/b2UoUS5zaW5jZSkueWVhcigpOm9lKFEuc2luY2UpLnllYXIoKSsocmUtUS5vZmZzZXQpKnZlfSx5ci5lcmFzQWJiclJlZ2V4PWZ1bmN0aW9uIFJmKFEpe3JldHVybiBBKHRoaXMsIl9lcmFzQWJi''@;'; put 'put ''clJlZ2V4Iil8fGdkLmNhbGwodGhpcyksUT90aGlzLl9lcmFzQWJiclJlZ2V4OnRoaXMuX2VyYXNSZWdleH0seXIuZXJhc05hbWVSZWdleD1mdW5jdGlvbiBvaShRKXtyZXR1cm4gQSh0aGlzLCJfZXJhc05hbWVSZWdleCIpfHxnZC5jYWxsKHRoaXMpLFE/dGhpcy5fZXJhc05hbWVSZWdleDp0''@;'; put 'put ''aGlzLl9lcmFzUmVnZXh9LHlyLmVyYXNOYXJyb3dSZWdleD1mdW5jdGlvbiBqbChRKXtyZXR1cm4gQSh0aGlzLCJfZXJhc05hcnJvd1JlZ2V4Iil8fGdkLmNhbGwodGhpcyksUT90aGlzLl9lcmFzTmFycm93UmVnZXg6dGhpcy5fZXJhc1JlZ2V4fSx5ci5tb250aHM9ZnVuY3Rpb24gWm4oUSxy''@;'; put 'put ''ZSl7cmV0dXJuIFE/aGUodGhpcy5fbW9udGhzKT90aGlzLl9tb250aHNbUS5tb250aCgpXTp0aGlzLl9tb250aHNbKHRoaXMuX21vbnRocy5pc0Zvcm1hdHx8TW4pLnRlc3QocmUpPyJmb3JtYXQiOiJzdGFuZGFsb25lIl1bUS5tb250aCgpXTpoZSh0aGlzLl9tb250aHMpP3RoaXMuX21vbnRo''@;'; put 'put ''czp0aGlzLl9tb250aHMuc3RhbmRhbG9uZX0seXIubW9udGhzU2hvcnQ9ZnVuY3Rpb24gbHIoUSxyZSl7cmV0dXJuIFE/aGUodGhpcy5fbW9udGhzU2hvcnQpP3RoaXMuX21vbnRoc1Nob3J0W1EubW9udGgoKV06dGhpcy5fbW9udGhzU2hvcnRbTW4udGVzdChyZSk/ImZvcm1hdCI6InN0YW5k''@;'; put 'put ''YWxvbmUiXVtRLm1vbnRoKCldOmhlKHRoaXMuX21vbnRoc1Nob3J0KT90aGlzLl9tb250aHNTaG9ydDp0aGlzLl9tb250aHNTaG9ydC5zdGFuZGFsb25lfSx5ci5tb250aHNQYXJzZT1mdW5jdGlvbiB2cihRLHJlLHZlKXt2YXIgTWUsUGUsdHQ7aWYodGhpcy5fbW9udGhzUGFyc2VFeGFjdCly''@;'; put 'put ''ZXR1cm4gd24uY2FsbCh0aGlzLFEscmUsdmUpO2Zvcih0aGlzLl9tb250aHNQYXJzZXx8KHRoaXMuX21vbnRoc1BhcnNlPVtdLHRoaXMuX2xvbmdNb250aHNQYXJzZT1bXSx0aGlzLl9zaG9ydE1vbnRoc1BhcnNlPVtdKSxNZT0wO01lPDEyO01lKyspe2lmKFBlPUYoWzJlMyxNZV0pLHZlJiYh''@;'; put 'put ''dGhpcy5fbG9uZ01vbnRoc1BhcnNlW01lXSYmKHRoaXMuX2xvbmdNb250aHNQYXJzZVtNZV09bmV3IFJlZ0V4cCgiXiIrdGhpcy5tb250aHMoUGUsIiIpLnJlcGxhY2UoIi4iLCIiKSsiJCIsImkiKSx0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW01lXT1uZXcgUmVnRXhwKCJeIit0aGlzLm1vbnRo''@;'; put 'put ''c1Nob3J0KFBlLCIiKS5yZXBsYWNlKCIuIiwiIikrIiQiLCJpIikpLCF2ZSYmIXRoaXMuX21vbnRoc1BhcnNlW01lXSYmKHR0PSJeIit0aGlzLm1vbnRocyhQZSwiIikrInxeIit0aGlzLm1vbnRoc1Nob3J0KFBlLCIiKSx0aGlzLl9tb250aHNQYXJzZVtNZV09bmV3IFJlZ0V4cCh0dC5yZXBs''@;'; put 'put ''YWNlKCIuIiwiIiksImkiKSksdmUmJiJNTU1NIj09PXJlJiZ0aGlzLl9sb25nTW9udGhzUGFyc2VbTWVdLnRlc3QoUSkpcmV0dXJuIE1lO2lmKHZlJiYiTU1NIj09PXJlJiZ0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW01lXS50ZXN0KFEpKXJldHVybiBNZTtpZighdmUmJnRoaXMuX21vbnRoc1Bh''@;'; put 'put ''cnNlW01lXS50ZXN0KFEpKXJldHVybiBNZX19LHlyLm1vbnRoc1JlZ2V4PWZ1bmN0aW9uIGtuKFEpe3JldHVybiB0aGlzLl9tb250aHNQYXJzZUV4YWN0PyhBKHRoaXMsIl9tb250aHNSZWdleCIpfHxNby5jYWxsKHRoaXMpLFE/dGhpcy5fbW9udGhzU3RyaWN0UmVnZXg6dGhpcy5fbW9udGhz''@;'; put 'put ''UmVnZXgpOihBKHRoaXMsIl9tb250aHNSZWdleCIpfHwodGhpcy5fbW9udGhzUmVnZXg9UW4pLHRoaXMuX21vbnRoc1N0cmljdFJlZ2V4JiZRP3RoaXMuX21vbnRoc1N0cmljdFJlZ2V4OnRoaXMuX21vbnRoc1JlZ2V4KX0seXIubW9udGhzU2hvcnRSZWdleD1mdW5jdGlvbiBDbihRKXtyZXR1''@;'; put 'put ''cm4gdGhpcy5fbW9udGhzUGFyc2VFeGFjdD8oQSh0aGlzLCJfbW9udGhzUmVnZXgiKXx8TW8uY2FsbCh0aGlzKSxRP3RoaXMuX21vbnRoc1Nob3J0U3RyaWN0UmVnZXg6dGhpcy5fbW9udGhzU2hvcnRSZWdleCk6KEEodGhpcywiX21vbnRoc1Nob3J0UmVnZXgiKXx8KHRoaXMuX21vbnRoc1No''@;'; put 'put ''b3J0UmVnZXg9bm4pLHRoaXMuX21vbnRoc1Nob3J0U3RyaWN0UmVnZXgmJlE/dGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleDp0aGlzLl9tb250aHNTaG9ydFJlZ2V4KX0seXIud2Vlaz1mdW5jdGlvbiBYaShRKXtyZXR1cm4geWwoUSx0aGlzLl93ZWVrLmRvdyx0aGlzLl93ZWVrLmRveSku''@;'; put 'put ''d2Vla30seXIuZmlyc3REYXlPZlllYXI9ZnVuY3Rpb24geDIoKXtyZXR1cm4gdGhpcy5fd2Vlay5kb3l9LHlyLmZpcnN0RGF5T2ZXZWVrPWZ1bmN0aW9uIGVtKCl7cmV0dXJuIHRoaXMuX3dlZWsuZG93fSx5ci53ZWVrZGF5cz1mdW5jdGlvbiBJMihRLHJlKXt2YXIgdmU9aGUodGhpcy5fd2Vl''@;'; put 'put ''a2RheXMpP3RoaXMuX3dlZWtkYXlzOnRoaXMuX3dlZWtkYXlzW1EmJiEwIT09USYmdGhpcy5fd2Vla2RheXMuaXNGb3JtYXQudGVzdChyZSk/ImZvcm1hdCI6InN0YW5kYWxvbmUiXTtyZXR1cm4hMD09PVE/YmYodmUsdGhpcy5fd2Vlay5kb3cpOlE/dmVbUS5kYXkoKV06dmV9LHlyLndlZWtk''@;'; put 'put ''YXlzTWluPWZ1bmN0aW9uIFIyKFEpe3JldHVybiEwPT09UT9iZih0aGlzLl93ZWVrZGF5c01pbix0aGlzLl93ZWVrLmRvdyk6UT90aGlzLl93ZWVrZGF5c01pbltRLmRheSgpXTp0aGlzLl93ZWVrZGF5c01pbn0seXIud2Vla2RheXNTaG9ydD1mdW5jdGlvbiBGMihRKXtyZXR1cm4hMD09PVE/''@;'; put 'put ''YmYodGhpcy5fd2Vla2RheXNTaG9ydCx0aGlzLl93ZWVrLmRvdyk6UT90aGlzLl93ZWVrZGF5c1Nob3J0W1EuZGF5KCldOnRoaXMuX3dlZWtkYXlzU2hvcnR9LHlyLndlZWtkYXlzUGFyc2U9ZnVuY3Rpb24gTjIoUSxyZSx2ZSl7dmFyIE1lLFBlLHR0O2lmKHRoaXMuX3dlZWtkYXlzUGFyc2VF''@;'; put 'put ''eGFjdClyZXR1cm4geHQuY2FsbCh0aGlzLFEscmUsdmUpO2Zvcih0aGlzLl93ZWVrZGF5c1BhcnNlfHwodGhpcy5fd2Vla2RheXNQYXJzZT1bXSx0aGlzLl9taW5XZWVrZGF5c1BhcnNlPVtdLHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZT1bXSx0aGlzLl9mdWxsV2Vla2RheXNQYXJzZT1bXSks''@;'; put 'put ''TWU9MDtNZTw3O01lKyspe2lmKFBlPUYoWzJlMywxXSkuZGF5KE1lKSx2ZSYmIXRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlW01lXSYmKHRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlW01lXT1uZXcgUmVnRXhwKCJeIit0aGlzLndlZWtkYXlzKFBlLCIiKS5yZXBsYWNlKCIuIiwiXFwuPyIpKyIkIiwi''@;'; put 'put ''aSIpLHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtNZV09bmV3IFJlZ0V4cCgiXiIrdGhpcy53ZWVrZGF5c1Nob3J0KFBlLCIiKS5yZXBsYWNlKCIuIiwiXFwuPyIpKyIkIiwiaSIpLHRoaXMuX21pbldlZWtkYXlzUGFyc2VbTWVdPW5ldyBSZWdFeHAoIl4iK3RoaXMud2Vla2RheXNNaW4oUGUs''@;'; put 'put ''IiIpLnJlcGxhY2UoIi4iLCJcXC4/IikrIiQiLCJpIikpLHRoaXMuX3dlZWtkYXlzUGFyc2VbTWVdfHwodHQ9Il4iK3RoaXMud2Vla2RheXMoUGUsIiIpKyJ8XiIrdGhpcy53ZWVrZGF5c1Nob3J0KFBlLCIiKSsifF4iK3RoaXMud2Vla2RheXNNaW4oUGUsIiIpLHRoaXMuX3dlZWtkYXlzUGFy''@;'; put 'put ''c2VbTWVdPW5ldyBSZWdFeHAodHQucmVwbGFjZSgiLiIsIiIpLCJpIikpLHZlJiYiZGRkZCI9PT1yZSYmdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2VbTWVdLnRlc3QoUSkpcmV0dXJuIE1lO2lmKHZlJiYiZGRkIj09PXJlJiZ0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2VbTWVdLnRlc3QoUSkpcmV0''@;'; put 'put ''dXJuIE1lO2lmKHZlJiYiZGQiPT09cmUmJnRoaXMuX21pbldlZWtkYXlzUGFyc2VbTWVdLnRlc3QoUSkpcmV0dXJuIE1lO2lmKCF2ZSYmdGhpcy5fd2Vla2RheXNQYXJzZVtNZV0udGVzdChRKSlyZXR1cm4gTWV9fSx5ci53ZWVrZGF5c1JlZ2V4PWZ1bmN0aW9uIGltKFEpe3JldHVybiB0aGlz''@;'; put 'put ''Ll93ZWVrZGF5c1BhcnNlRXhhY3Q/KEEodGhpcywiX3dlZWtkYXlzUmVnZXgiKXx8emEuY2FsbCh0aGlzKSxRP3RoaXMuX3dlZWtkYXlzU3RyaWN0UmVnZXg6dGhpcy5fd2Vla2RheXNSZWdleCk6KEEodGhpcywiX3dlZWtkYXlzUmVnZXgiKXx8KHRoaXMuX3dlZWtkYXlzUmVnZXg9TDIpLHRo''@;'; put 'put ''aXMuX3dlZWtkYXlzU3RyaWN0UmVnZXgmJlE/dGhpcy5fd2Vla2RheXNTdHJpY3RSZWdleDp0aGlzLl93ZWVrZGF5c1JlZ2V4KX0seXIud2Vla2RheXNTaG9ydFJlZ2V4PWZ1bmN0aW9uIG9tKFEpe3JldHVybiB0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3Q/KEEodGhpcywiX3dlZWtkYXlzUmVn''@;'; put 'put ''ZXgiKXx8emEuY2FsbCh0aGlzKSxRP3RoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleDp0aGlzLl93ZWVrZGF5c1Nob3J0UmVnZXgpOihBKHRoaXMsIl93ZWVrZGF5c1Nob3J0UmVnZXgiKXx8KHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleD1RaSksdGhpcy5fd2Vla2RheXNTaG9ydFN0cmlj''@;'; put 'put ''dFJlZ2V4JiZRP3RoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleDp0aGlzLl93ZWVrZGF5c1Nob3J0UmVnZXgpfSx5ci53ZWVrZGF5c01pblJlZ2V4PWZ1bmN0aW9uIF9mKFEpe3JldHVybiB0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3Q/KEEodGhpcywiX3dlZWtkYXlzUmVnZXgiKXx8emEu''@;'; put 'put ''Y2FsbCh0aGlzKSxRP3RoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXg6dGhpcy5fd2Vla2RheXNNaW5SZWdleCk6KEEodGhpcywiX3dlZWtkYXlzTWluUmVnZXgiKXx8KHRoaXMuX3dlZWtkYXlzTWluUmVnZXg9T3IpLHRoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXgmJlE/dGhpcy5fd2Vl''@;'; put 'put ''a2RheXNNaW5TdHJpY3RSZWdleDp0aGlzLl93ZWVrZGF5c01pblJlZ2V4KX0seXIuaXNQTT1mdW5jdGlvbiBRdShRKXtyZXR1cm4icCI9PT0oUSsiIikudG9Mb3dlckNhc2UoKS5jaGFyQXQoMCl9LHlyLm1lcmlkaWVtPWZ1bmN0aW9uIE1mKFEscmUsdmUpe3JldHVybiBRPjExP3ZlPyJwbSI6''@;'; put 'put ''IlBNIjp2ZT8iYW0iOiJBTSJ9LCRpKCJlbiIse2VyYXM6W3tzaW5jZToiMDAwMS0wMS0wMSIsdW50aWw6MS8wLG9mZnNldDoxLG5hbWU6IkFubm8gRG9taW5pIixuYXJyb3c6IkFEIixhYmJyOiJBRCJ9LHtzaW5jZToiMDAwMC0xMi0zMSIsdW50aWw6LTEvMCxvZmZzZXQ6MSxuYW1lOiJCZWZv''@;'; put 'put ''cmUgQ2hyaXN0IixuYXJyb3c6IkJDIixhYmJyOiJCQyJ9XSxkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOi9cZHsxLDJ9KHRofHN0fG5kfHJkKS8sb3JkaW5hbDpmdW5jdGlvbihRKXt2YXIgcmU9USUxMDtyZXR1cm4gUSsoMT09PWtlKFElMTAwLzEwKT8idGgiOjE9PT1yZT8ic3QiOjI9PT1yZT8i''@;'; put 'put ''bmQiOjM9PT1yZT8icmQiOiJ0aCIpfX0pLG9lLmxhbmc9VigibW9tZW50LmxhbmcgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbWVudC5sb2NhbGUgaW5zdGVhZC4iLCRpKSxvZS5sYW5nRGF0YT1WKCJtb21lbnQubGFuZ0RhdGEgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbWVudC5sb2NhbGVEYXRhIGlu''@;'; put 'put ''c3RlYWQuIixrbyk7dmFyIGhzPU1hdGguYWJzO2Z1bmN0aW9uIFNsKFEscmUsdmUsTWUpe3ZhciBQZT1VbyhyZSx2ZSk7cmV0dXJuIFEuX21pbGxpc2Vjb25kcys9TWUqUGUuX21pbGxpc2Vjb25kcyxRLl9kYXlzKz1NZSpQZS5fZGF5cyxRLl9tb250aHMrPU1lKlBlLl9tb250aHMsUS5fYnVi''@;'; put 'put ''YmxlKCl9ZnVuY3Rpb24gT2MoUSl7cmV0dXJuIFE8MD9NYXRoLmZsb29yKFEpOk1hdGguY2VpbChRKX1mdW5jdGlvbiBKZihRKXtyZXR1cm4gNDgwMCpRLzE0NjA5N31mdW5jdGlvbiBHbyhRKXtyZXR1cm4gMTQ2MDk3KlEvNDgwMH1mdW5jdGlvbiBmcyhRKXtyZXR1cm4gZnVuY3Rpb24oKXty''@;'; put 'put ''ZXR1cm4gdGhpcy5hcyhRKX19dmFyIFBsPWZzKCJtcyIpLHlkPWZzKCJzIiksWW09ZnMoIm0iKSx6bT1mcygiaCIpLGV3PWZzKCJkIiksdHc9ZnMoInciKSxQYz1mcygiTSIpLEtmPWZzKCJRIiksWGY9ZnMoInkiKTtmdW5jdGlvbiBGcyhRKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5pc1ZhbGlkKCk/dGhpcy5fZGF0YVtRXTpOYU59fXZhciBXYT1GcygibWlsbGlzZWNvbmRzIiksQm09RnMoInNlY29uZHMiKSxxYT1GcygibWludXRlcyIpLHdkPUZzKCJob3VycyIpLHhjPUZzKCJkYXlzIiksbnc9RnMoIm1vbnRocyIpLCRmPUZzKCJ5ZWFycyIpO3ZhciBwcz1NYXRoLnJv''@;'; put 'put ''dW5kLERpPXtzczo0NCxzOjQ1LG06NDUsaDoyMixkOjI2LHc6bnVsbCxNOjExfTtmdW5jdGlvbiBIbShRLHJlLHZlLE1lLFBlKXtyZXR1cm4gUGUucmVsYXRpdmVUaW1lKHJlfHwxLCEhdmUsUSxNZSl9dmFyIEdhPU1hdGguYWJzO2Z1bmN0aW9uIFphKFEpe3JldHVybihRPjApLShRPDApfHwr''@;'; put 'put ''UX1mdW5jdGlvbiB4bCgpe2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKTt2YXIgTWUsUGUsdHQsU3QsQm4sRnIsJG4sUG8sUT1HYSh0aGlzLl9taWxsaXNlY29uZHMpLzFlMyxyZT1HYSh0aGlzLl9kYXlzKSx2ZT1HYSh0aGlzLl9tb250''@;'; put 'put ''aHMpLGpuPXRoaXMuYXNTZWNvbmRzKCk7cmV0dXJuIGpuPyhNZT1BZShRLzYwKSxQZT1BZShNZS82MCksUSU9NjAsTWUlPTYwLHR0PUFlKHZlLzEyKSx2ZSU9MTIsU3Q9UT9RLnRvRml4ZWQoMykucmVwbGFjZSgvXC4/MCskLywiIik6IiIsQm49am48MD8iLSI6IiIsRnI9WmEodGhpcy5fbW9u''@;'; put 'put ''dGhzKSE9PVphKGpuKT8iLSI6IiIsJG49WmEodGhpcy5fZGF5cykhPT1aYShqbik/Ii0iOiIiLFBvPVphKHRoaXMuX21pbGxpc2Vjb25kcykhPT1aYShqbik/Ii0iOiIiLEJuKyJQIisodHQ/RnIrdHQrIlkiOiIiKSsodmU/RnIrdmUrIk0iOiIiKSsocmU/JG4rcmUrIkQiOiIiKSsoUGV8fE1l''@;'; put 'put ''fHxRPyJUIjoiIikrKFBlP1BvK1BlKyJIIjoiIikrKE1lP1BvK01lKyJNIjoiIikrKFE/UG8rU3QrIlMiOiIiKSk6IlAwRCJ9dmFyIGRyPWlpLnByb3RvdHlwZTtyZXR1cm4gZHIuaXNWYWxpZD1mdW5jdGlvbiByZCgpe3JldHVybiB0aGlzLl9pc1ZhbGlkfSxkci5hYnM9ZnVuY3Rpb24gUm0o''@;'; put 'put ''KXt2YXIgUT10aGlzLl9kYXRhO3JldHVybiB0aGlzLl9taWxsaXNlY29uZHM9aHModGhpcy5fbWlsbGlzZWNvbmRzKSx0aGlzLl9kYXlzPWhzKHRoaXMuX2RheXMpLHRoaXMuX21vbnRocz1ocyh0aGlzLl9tb250aHMpLFEubWlsbGlzZWNvbmRzPWhzKFEubWlsbGlzZWNvbmRzKSxRLnNlY29u''@;'; put 'put ''ZHM9aHMoUS5zZWNvbmRzKSxRLm1pbnV0ZXM9aHMoUS5taW51dGVzKSxRLmhvdXJzPWhzKFEuaG91cnMpLFEubW9udGhzPWhzKFEubW9udGhzKSxRLnllYXJzPWhzKFEueWVhcnMpLHRoaXN9LGRyLmFkZD1mdW5jdGlvbiBqYyhRLHJlKXtyZXR1cm4gU2wodGhpcyxRLHJlLDEpfSxkci5zdWJ0''@;'; put 'put ''cmFjdD1mdW5jdGlvbiBTYyhRLHJlKXtyZXR1cm4gU2wodGhpcyxRLHJlLC0xKX0sZHIuYXM9ZnVuY3Rpb24gT2woUSl7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBOYU47dmFyIHJlLHZlLE1lPXRoaXMuX21pbGxpc2Vjb25kcztpZigibW9udGgiPT09KFE9UmUoUSkpfHwicXVhcnRlciI9''@;'; put 'put ''PT1RfHwieWVhciI9PT1RKXN3aXRjaChyZT10aGlzLl9kYXlzK01lLzg2NGU1LHZlPXRoaXMuX21vbnRocytKZihyZSksUSl7Y2FzZSJtb250aCI6cmV0dXJuIHZlO2Nhc2UicXVhcnRlciI6cmV0dXJuIHZlLzM7Y2FzZSJ5ZWFyIjpyZXR1cm4gdmUvMTJ9ZWxzZSBzd2l0Y2gocmU9dGhpcy5f''@;'; put 'put ''ZGF5cytNYXRoLnJvdW5kKEdvKHRoaXMuX21vbnRocykpLFEpe2Nhc2Uid2VlayI6cmV0dXJuIHJlLzcrTWUvNjA0OGU1O2Nhc2UiZGF5IjpyZXR1cm4gcmUrTWUvODY0ZTU7Y2FzZSJob3VyIjpyZXR1cm4gMjQqcmUrTWUvMzZlNTtjYXNlIm1pbnV0ZSI6cmV0dXJuIDE0NDAqcmUrTWUvNmU0''@;'; put 'put ''O2Nhc2Uic2Vjb25kIjpyZXR1cm4gODY0MDAqcmUrTWUvMWUzO2Nhc2UibWlsbGlzZWNvbmQiOnJldHVybiBNYXRoLmZsb29yKDg2NGU1KnJlKStNZTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biB1bml0ICIrUSl9fSxkci5hc01pbGxpc2Vjb25kcz1QbCxkci5hc1NlY29uZHM9''@;'; put 'put ''eWQsZHIuYXNNaW51dGVzPVltLGRyLmFzSG91cnM9em0sZHIuYXNEYXlzPWV3LGRyLmFzV2Vla3M9dHcsZHIuYXNNb250aHM9UGMsZHIuYXNRdWFydGVycz1LZixkci5hc1llYXJzPVhmLGRyLnZhbHVlT2Y9ZnVuY3Rpb24gTm0oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy5fbWlsbGlz''@;'; put 'put ''ZWNvbmRzKzg2NGU1KnRoaXMuX2RheXMrdGhpcy5fbW9udGhzJTEyKjI1OTJlNiszMTUzNmU2KmtlKHRoaXMuX21vbnRocy8xMik6TmFOfSxkci5fYnViYmxlPWZ1bmN0aW9uIFpmKCl7dmFyIFBlLHR0LFN0LGpuLEJuLFE9dGhpcy5fbWlsbGlzZWNvbmRzLHJlPXRoaXMuX2RheXMsdmU9dGhp''@;'; put 'put ''cy5fbW9udGhzLE1lPXRoaXMuX2RhdGE7cmV0dXJuIFE+PTAmJnJlPj0wJiZ2ZT49MHx8UTw9MCYmcmU8PTAmJnZlPD0wfHwoUSs9ODY0ZTUqT2MoR28odmUpK3JlKSxyZT0wLHZlPTApLE1lLm1pbGxpc2Vjb25kcz1RJTFlMyxQZT1BZShRLzFlMyksTWUuc2Vjb25kcz1QZSU2MCx0dD1BZShQ''@;'; put 'put ''ZS82MCksTWUubWludXRlcz10dCU2MCxTdD1BZSh0dC82MCksTWUuaG91cnM9U3QlMjQscmUrPUFlKFN0LzI0KSx2ZSs9Qm49QWUoSmYocmUpKSxyZS09T2MoR28oQm4pKSxqbj1BZSh2ZS8xMiksdmUlPTEyLE1lLmRheXM9cmUsTWUubW9udGhzPXZlLE1lLnllYXJzPWpuLHRoaXN9LGRyLmNs''@;'; put 'put ''b25lPWZ1bmN0aW9uIERjKCl7cmV0dXJuIFVvKHRoaXMpfSxkci5nZXQ9ZnVuY3Rpb24gUWYoUSl7cmV0dXJuIFE9UmUoUSksdGhpcy5pc1ZhbGlkKCk/dGhpc1tRKyJzIl0oKTpOYU59LGRyLm1pbGxpc2Vjb25kcz1XYSxkci5zZWNvbmRzPUJtLGRyLm1pbnV0ZXM9cWEsZHIuaG91cnM9d2Qs''@;'; put 'put ''ZHIuZGF5cz14Yyxkci53ZWVrcz1mdW5jdGlvbiBlcCgpe3JldHVybiBBZSh0aGlzLmRheXMoKS83KX0sZHIubW9udGhzPW53LGRyLnllYXJzPSRmLGRyLmh1bWFuaXplPWZ1bmN0aW9uIEFjKFEscmUpe2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkuaW52YWxp''@;'; put 'put ''ZERhdGUoKTt2YXIgUGUsdHQsdmU9ITEsTWU9RGk7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBRJiYocmU9USxRPSExKSwiYm9vbGVhbiI9PXR5cGVvZiBRJiYodmU9USksIm9iamVjdCI9PXR5cGVvZiByZSYmKE1lPU9iamVjdC5hc3NpZ24oe30sRGkscmUpLG51bGwhPXJlLnMmJm51bGw9PXJl''@;'; put 'put ''LnNzJiYoTWUuc3M9cmUucy0xKSksdHQ9ZnVuY3Rpb24gRGwoUSxyZSx2ZSxNZSl7dmFyIFBlPVVvKFEpLmFicygpLHR0PXBzKFBlLmFzKCJzIikpLFN0PXBzKFBlLmFzKCJtIikpLGpuPXBzKFBlLmFzKCJoIikpLEJuPXBzKFBlLmFzKCJkIikpLEZyPXBzKFBlLmFzKCJNIikpLCRuPXBzKFBl''@;'; put 'put ''LmFzKCJ3IikpLFBvPXBzKFBlLmFzKCJ5IikpLFJzPXR0PD12ZS5zcyYmWyJzIix0dF18fHR0PHZlLnMmJlsic3MiLHR0XXx8U3Q8PTEmJlsibSJdfHxTdDx2ZS5tJiZbIm1tIixTdF18fGpuPD0xJiZbImgiXXx8am48dmUuaCYmWyJoaCIsam5dfHxCbjw9MSYmWyJkIl18fEJuPHZlLmQmJlsi''@;'; put 'put ''ZGQiLEJuXTtyZXR1cm4gbnVsbCE9dmUudyYmKFJzPVJzfHwkbjw9MSYmWyJ3Il18fCRuPHZlLncmJlsid3ciLCRuXSksKFJzPVJzfHxGcjw9MSYmWyJNIl18fEZyPHZlLk0mJlsiTU0iLEZyXXx8UG88PTEmJlsieSJdfHxbInl5IixQb10pWzJdPXJlLFJzWzNdPStRPjAsUnNbNF09TWUsSG0u''@;'; put 'put ''YXBwbHkobnVsbCxScyl9KHRoaXMsIXZlLE1lLFBlPXRoaXMubG9jYWxlRGF0YSgpKSx2ZSYmKHR0PVBlLnBhc3RGdXR1cmUoK3RoaXMsdHQpKSxQZS5wb3N0Zm9ybWF0KHR0KX0sZHIudG9JU09TdHJpbmc9eGwsZHIudG9TdHJpbmc9eGwsZHIudG9KU09OPXhsLGRyLmxvY2FsZT1qbSxkci5s''@;'; put 'put ''b2NhbGVEYXRhPUFmLGRyLnRvSXNvU3RyaW5nPVYoInRvSXNvU3RyaW5nKCkgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSB0b0lTT1N0cmluZygpIGluc3RlYWQgKG5vdGljZSB0aGUgY2FwaXRhbHMpIix4bCksZHIubGFuZz1KcixHKCJYIiwwLDAsInVuaXgiKSxHKCJ4IiwwLDAsInZhbHVl''@;'; put 'put ''T2YiKSxaZSgieCIsYXQpLFplKCJYIiwvWystXT9cZCsoXC5cZHsxLDN9KT8vKSxadCgiWCIsZnVuY3Rpb24oUSxyZSx2ZSl7dmUuX2Q9bmV3IERhdGUoMWUzKnBhcnNlRmxvYXQoUSkpfSksWnQoIngiLGZ1bmN0aW9uKFEscmUsdmUpe3ZlLl9kPW5ldyBEYXRlKGtlKFEpKX0pLG9lLnZlcnNp''@;'; put 'put ''b249IjIuMjkuNCIsZnVuY3Rpb24gZ2UoUSl7Q2U9UX0oanIpLG9lLmZuPVV0LG9lLm1pbj1mdW5jdGlvbiBDbCgpe3JldHVybiBIcigiaXNCZWZvcmUiLFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX0sb2UubWF4PWZ1bmN0aW9uIEJhKCl7cmV0dXJuIEhyKCJpc0FmdGVyIixbXS5zbGlj''@;'; put 'put ''ZS5jYWxsKGFyZ3VtZW50cywwKSl9LG9lLm5vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdz9EYXRlLm5vdygpOituZXcgRGF0ZX0sb2UudXRjPUYsb2UudW5peD1mdW5jdGlvbiBxZihRKXtyZXR1cm4ganIoMWUzKlEpfSxvZS5tb250aHM9ZnVuY3Rpb24gcXIoUSxyZSl7cmV0dXJuIHdp''@;'; put 'put ''KFEscmUsIm1vbnRocyIpfSxvZS5pc0RhdGU9QyxvZS5sb2NhbGU9JGksb2UuaW52YWxpZD1rLG9lLmR1cmF0aW9uPVVvLG9lLmlzTW9tZW50PUksb2Uud2Vla2RheXM9ZnVuY3Rpb24gTG0oUSxyZSx2ZSl7cmV0dXJuIHFvKFEscmUsdmUsIndlZWtkYXlzIil9LG9lLnBhcnNlWm9uZT1mdW5j''@;'; put 'put ''dGlvbiBHZigpe3JldHVybiBqci5hcHBseShudWxsLGFyZ3VtZW50cykucGFyc2Vab25lKCl9LG9lLmxvY2FsZURhdGE9a28sb2UuaXNEdXJhdGlvbj1FcyxvZS5tb250aHNTaG9ydD1mdW5jdGlvbiBUbShRLHJlKXtyZXR1cm4gd2koUSxyZSwibW9udGhzU2hvcnQiKX0sb2Uud2Vla2RheXNN''@;'; put 'put ''aW49ZnVuY3Rpb24gRm0oUSxyZSx2ZSl7cmV0dXJuIHFvKFEscmUsdmUsIndlZWtkYXlzTWluIil9LG9lLmRlZmluZUxvY2FsZT1fcixvZS51cGRhdGVMb2NhbGU9ZnVuY3Rpb24gbWMoUSxyZSl7aWYobnVsbCE9cmUpe3ZhciB2ZSxNZSxQZT1hbTtudWxsIT1rcltRXSYmbnVsbCE9a3JbUV0u''@;'; put 'put ''cGFyZW50TG9jYWxlP2tyW1FdLnNldCgkKGtyW1FdLl9jb25maWcscmUpKToobnVsbCE9KE1lPSR1KFEpKSYmKFBlPU1lLl9jb25maWcpLHJlPSQoUGUscmUpLG51bGw9PU1lJiYocmUuYWJicj1RKSwodmU9bmV3IHRlKHJlKSkucGFyZW50TG9jYWxlPWtyW1FdLGtyW1FdPXZlKSwkaShRKX1l''@;'; put 'put ''bHNlIG51bGwhPWtyW1FdJiYobnVsbCE9a3JbUV0ucGFyZW50TG9jYWxlPyhrcltRXT1rcltRXS5wYXJlbnRMb2NhbGUsUT09PSRpKCkmJiRpKFEpKTpudWxsIT1rcltRXSYmZGVsZXRlIGtyW1FdKTtyZXR1cm4ga3JbUV19LG9lLmxvY2FsZXM9ZnVuY3Rpb24gZWQoKXtyZXR1cm4gaChrcil9''@;'; put 'put ''LG9lLndlZWtkYXlzU2hvcnQ9ZnVuY3Rpb24gSW0oUSxyZSx2ZSl7cmV0dXJuIHFvKFEscmUsdmUsIndlZWtkYXlzU2hvcnQiKX0sb2Uubm9ybWFsaXplVW5pdHM9UmUsb2UucmVsYXRpdmVUaW1lUm91bmRpbmc9ZnVuY3Rpb24gTWQoUSl7cmV0dXJuIHZvaWQgMD09PVE/cHM6ImZ1bmN0aW9u''@;'; put 'put ''Ij09dHlwZW9mIFEmJihwcz1RLCEwKX0sb2UucmVsYXRpdmVUaW1lVGhyZXNob2xkPWZ1bmN0aW9uIENkKFEscmUpe3JldHVybiB2b2lkIDAhPT1EaVtRXSYmKHZvaWQgMD09PXJlP0RpW1FdOihEaVtRXT1yZSwicyI9PT1RJiYoRGkuc3M9cmUtMSksITApKX0sb2UuY2FsZW5kYXJGb3JtYXQ9''@;'; put 'put ''ZnVuY3Rpb24gSjIoUSxyZSl7dmFyIHZlPVEuZGlmZihyZSwiZGF5cyIsITApO3JldHVybiB2ZTwtNj8ic2FtZUVsc2UiOnZlPC0xPyJsYXN0V2VlayI6dmU8MD8ibGFzdERheSI6dmU8MT8ic2FtZURheSI6dmU8Mj8ibmV4dERheSI6dmU8Nz8ibmV4dFdlZWsiOiJzYW1lRWxzZSJ9LG9lLnBy''@;'; put 'put ''b3RvdHlwZT1VdCxvZS5IVE1MNV9GTVQ9e0RBVEVUSU1FX0xPQ0FMOiJZWVlZLU1NLUREVEhIOm1tIixEQVRFVElNRV9MT0NBTF9TRUNPTkRTOiJZWVlZLU1NLUREVEhIOm1tOnNzIixEQVRFVElNRV9MT0NBTF9NUzoiWVlZWS1NTS1ERFRISDptbTpzcy5TU1MiLERBVEU6IllZWVktTU0tREQi''@;'; put 'put ''LFRJTUU6IkhIOm1tIixUSU1FX1NFQ09ORFM6IkhIOm1tOnNzIixUSU1FX01TOiJISDptbTpzcy5TU1MiLFdFRUs6IkdHR0ctW1ddV1ciLE1PTlRIOiJZWVlZLU1NIn0sb2V9KCl9LDcyNzc6KCk9PnsidXNlIHN0cmljdCI7IWZ1bmN0aW9uKFJlKXtjb25zdCBPZT1SZS5wZXJmb3JtYW5jZTtm''@;'; put 'put ''dW5jdGlvbiBMZShadCl7T2UmJk9lLm1hcmsmJk9lLm1hcmsoWnQpfWZ1bmN0aW9uIGllKFp0LFhlKXtPZSYmT2UubWVhc3VyZSYmT2UubWVhc3VyZShadCxYZSl9TGUoIlpvbmUiKTtjb25zdCBzZT1SZS5fX1pvbmVfc3ltYm9sX3ByZWZpeHx8Il9fem9uZV9zeW1ib2xfXyI7ZnVuY3Rpb24g''@;'; put 'put ''ZGUoWnQpe3JldHVybiBzZStadH1jb25zdCBBZT0hMD09PVJlW2RlKCJmb3JjZUR1cGxpY2F0ZVpvbmVDaGVjayIpXTtpZihSZS5ab25lKXtpZihBZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIFJlLlpvbmUuX19zeW1ib2xfXyl0aHJvdyBuZXcgRXJyb3IoIlpvbmUgYWxyZWFkeSBsb2FkZWQuIik7''@;'; put 'put ''cmV0dXJuIFJlLlpvbmV9bGV0IGtlPSgoKT0+e2NsYXNzIFp0e2NvbnN0cnVjdG9yKERlLHV0KXt0aGlzLl9wYXJlbnQ9RGUsdGhpcy5fbmFtZT11dD91dC5uYW1lfHwidW5uYW1lZCI6Ijxyb290PiIsdGhpcy5fcHJvcGVydGllcz11dCYmdXQucHJvcGVydGllc3x8e30sdGhpcy5fem9uZURl''@;'; put 'put ''bGVnYXRlPW5ldyAkZSh0aGlzLHRoaXMuX3BhcmVudCYmdGhpcy5fcGFyZW50Ll96b25lRGVsZWdhdGUsdXQpfXN0YXRpYyBhc3NlcnRab25lUGF0Y2hlZCgpe2lmKFJlLlByb21pc2UhPT10ci5ab25lQXdhcmVQcm9taXNlKXRocm93IG5ldyBFcnJvcigiWm9uZS5qcyBoYXMgZGV0ZWN0ZWQg''@;'; put 'put ''dGhhdCBab25lQXdhcmVQcm9taXNlIGAod2luZG93fGdsb2JhbCkuUHJvbWlzZWAgaGFzIGJlZW4gb3ZlcndyaXR0ZW4uXG5Nb3N0IGxpa2VseSBjYXVzZSBpcyB0aGF0IGEgUHJvbWlzZSBwb2x5ZmlsbCBoYXMgYmVlbiBsb2FkZWQgYWZ0ZXIgWm9uZS5qcyAoUG9seWZpbGxpbmcgUHJvbWlz''@;'; put 'put ''ZSBhcGkgaXMgbm90IG5lY2Vzc2FyeSB3aGVuIHpvbmUuanMgaXMgbG9hZGVkLiBJZiB5b3UgbXVzdCBsb2FkIG9uZSwgZG8gc28gYmVmb3JlIGxvYWRpbmcgem9uZS5qcy4pIil9c3RhdGljIGdldCByb290KCl7bGV0IERlPVp0LmN1cnJlbnQ7Zm9yKDtEZS5wYXJlbnQ7KURlPURlLnBhcmVu''@;'; put 'put ''dDtyZXR1cm4gRGV9c3RhdGljIGdldCBjdXJyZW50KCl7cmV0dXJuIG10LnpvbmV9c3RhdGljIGdldCBjdXJyZW50VGFzaygpe3JldHVybiBVbn1zdGF0aWMgX19sb2FkX3BhdGNoKERlLHV0LHJ0PSExKXtpZih0ci5oYXNPd25Qcm9wZXJ0eShEZSkpe2lmKCFydCYmQWUpdGhyb3cgRXJyb3Io''@;'; put 'put ''IkFscmVhZHkgbG9hZGVkIHBhdGNoOiAiK0RlKX1lbHNlIGlmKCFSZVsiX19ab25lX2Rpc2FibGVfIitEZV0pe2NvbnN0IGl0PSJab25lOiIrRGU7TGUoaXQpLHRyW0RlXT11dChSZSxadCxaZSksaWUoaXQsaXQpfX1nZXQgcGFyZW50KCl7cmV0dXJuIHRoaXMuX3BhcmVudH1nZXQgbmFtZSgp''@;'; put 'put ''e3JldHVybiB0aGlzLl9uYW1lfWdldChEZSl7Y29uc3QgdXQ9dGhpcy5nZXRab25lV2l0aChEZSk7aWYodXQpcmV0dXJuIHV0Ll9wcm9wZXJ0aWVzW0RlXX1nZXRab25lV2l0aChEZSl7bGV0IHV0PXRoaXM7Zm9yKDt1dDspe2lmKHV0Ll9wcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KERlKSly''@;'; put 'put ''ZXR1cm4gdXQ7dXQ9dXQuX3BhcmVudH1yZXR1cm4gbnVsbH1mb3JrKERlKXtpZighRGUpdGhyb3cgbmV3IEVycm9yKCJab25lU3BlYyByZXF1aXJlZCEiKTtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmZvcmsodGhpcyxEZSl9d3JhcChEZSx1dCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIERl''@;'; put 'put ''KXRocm93IG5ldyBFcnJvcigiRXhwZWN0aW5nIGZ1bmN0aW9uIGdvdDogIitEZSk7Y29uc3QgcnQ9dGhpcy5fem9uZURlbGVnYXRlLmludGVyY2VwdCh0aGlzLERlLHV0KSxpdD10aGlzO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBpdC5ydW5HdWFyZGVkKHJ0LHRoaXMsYXJndW1lbnRzLHV0''@;'; put 'put ''KX19cnVuKERlLHV0LHJ0LGl0KXttdD17cGFyZW50Om10LHpvbmU6dGhpc307dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlKHRoaXMsRGUsdXQscnQsaXQpfWZpbmFsbHl7bXQ9bXQucGFyZW50fX1ydW5HdWFyZGVkKERlLHV0PW51bGwscnQsaXQpe210PXtwYXJlbnQ6bXQs''@;'; put 'put ''em9uZTp0aGlzfTt0cnl7dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlKHRoaXMsRGUsdXQscnQsaXQpfWNhdGNoKGJuKXtpZih0aGlzLl96b25lRGVsZWdhdGUuaGFuZGxlRXJyb3IodGhpcyxibikpdGhyb3cgYm59fWZpbmFsbHl7bXQ9bXQucGFyZW50fX1ydW5UYXNrKERl''@;'; put 'put ''LHV0LHJ0KXtpZihEZS56b25lIT10aGlzKXRocm93IG5ldyBFcnJvcigiQSB0YXNrIGNhbiBvbmx5IGJlIHJ1biBpbiB0aGUgem9uZSBvZiBjcmVhdGlvbiEgKENyZWF0aW9uOiAiKyhEZS56b25lfHx5dCkubmFtZSsiOyBFeGVjdXRpb246ICIrdGhpcy5uYW1lKyIpIik7aWYoRGUuc3RhdGU9''@;'; put 'put ''PT1TbiYmKERlLnR5cGU9PT12dHx8RGUudHlwZT09PW90KSlyZXR1cm47Y29uc3QgaXQ9RGUuc3RhdGUhPVh0O2l0JiZEZS5fdHJhbnNpdGlvblRvKFh0LGR0KSxEZS5ydW5Db3VudCsrO2NvbnN0IGJuPVVuO1VuPURlLG10PXtwYXJlbnQ6bXQsem9uZTp0aGlzfTt0cnl7RGUudHlwZT09b3Qm''@;'; put 'put ''JkRlLmRhdGEmJiFEZS5kYXRhLmlzUGVyaW9kaWMmJihEZS5jYW5jZWxGbj12b2lkIDApO3RyeXtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmludm9rZVRhc2sodGhpcyxEZSx1dCxydCl9Y2F0Y2goV2Upe2lmKHRoaXMuX3pvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0aGlzLFdlKSl0aHJv''@;'; put 'put ''dyBXZX19ZmluYWxseXtEZS5zdGF0ZSE9PVNuJiZEZS5zdGF0ZSE9PVFlJiYoRGUudHlwZT09dnR8fERlLmRhdGEmJkRlLmRhdGEuaXNQZXJpb2RpYz9pdCYmRGUuX3RyYW5zaXRpb25UbyhkdCxYdCk6KERlLnJ1bkNvdW50PTAsdGhpcy5fdXBkYXRlVGFza0NvdW50KERlLC0xKSxpdCYmRGUu''@;'; put 'put ''X3RyYW5zaXRpb25UbyhTbixYdCxTbikpKSxtdD1tdC5wYXJlbnQsVW49Ym59fXNjaGVkdWxlVGFzayhEZSl7aWYoRGUuem9uZSYmRGUuem9uZSE9PXRoaXMpe2xldCBydD10aGlzO2Zvcig7cnQ7KXtpZihydD09PURlLnpvbmUpdGhyb3cgRXJyb3IoYGNhbiBub3QgcmVzY2hlZHVsZSB0YXNr''@;'; put 'put ''IHRvICR7dGhpcy5uYW1lfSB3aGljaCBpcyBkZXNjZW5kYW50cyBvZiB0aGUgb3JpZ2luYWwgem9uZSAke0RlLnpvbmUubmFtZX1gKTtydD1ydC5wYXJlbnR9fURlLl90cmFuc2l0aW9uVG8oZ3QsU24pO2NvbnN0IHV0PVtdO0RlLl96b25lRGVsZWdhdGVzPXV0LERlLl96b25lPXRoaXM7dHJ5''@;'; put 'put ''e0RlPXRoaXMuX3pvbmVEZWxlZ2F0ZS5zY2hlZHVsZVRhc2sodGhpcyxEZSl9Y2F0Y2gocnQpe3Rocm93IERlLl90cmFuc2l0aW9uVG8oUWUsZ3QsU24pLHRoaXMuX3pvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0aGlzLHJ0KSxydH1yZXR1cm4gRGUuX3pvbmVEZWxlZ2F0ZXM9PT11dCYmdGhp''@;'; put 'put ''cy5fdXBkYXRlVGFza0NvdW50KERlLDEpLERlLnN0YXRlPT1ndCYmRGUuX3RyYW5zaXRpb25UbyhkdCxndCksRGV9c2NoZWR1bGVNaWNyb1Rhc2soRGUsdXQscnQsaXQpe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgVmUobW4sRGUsdXQscnQsaXQsdm9pZCAwKSl9c2NoZWR1bGVNYWNy''@;'; put 'put ''b1Rhc2soRGUsdXQscnQsaXQsYm4pe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgVmUob3QsRGUsdXQscnQsaXQsYm4pKX1zY2hlZHVsZUV2ZW50VGFzayhEZSx1dCxydCxpdCxibil7cmV0dXJuIHRoaXMuc2NoZWR1bGVUYXNrKG5ldyBWZSh2dCxEZSx1dCxydCxpdCxibikpfWNhbmNl''@;'; put 'put ''bFRhc2soRGUpe2lmKERlLnpvbmUhPXRoaXMpdGhyb3cgbmV3IEVycm9yKCJBIHRhc2sgY2FuIG9ubHkgYmUgY2FuY2VsbGVkIGluIHRoZSB6b25lIG9mIGNyZWF0aW9uISAoQ3JlYXRpb246ICIrKERlLnpvbmV8fHl0KS5uYW1lKyI7IEV4ZWN1dGlvbjogIit0aGlzLm5hbWUrIikiKTtEZS5f''@;'; put 'put ''dHJhbnNpdGlvblRvKGF0LGR0LFh0KTt0cnl7dGhpcy5fem9uZURlbGVnYXRlLmNhbmNlbFRhc2sodGhpcyxEZSl9Y2F0Y2godXQpe3Rocm93IERlLl90cmFuc2l0aW9uVG8oUWUsYXQpLHRoaXMuX3pvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0aGlzLHV0KSx1dH1yZXR1cm4gdGhpcy5fdXBk''@;'; put 'put ''YXRlVGFza0NvdW50KERlLC0xKSxEZS5fdHJhbnNpdGlvblRvKFNuLGF0KSxEZS5ydW5Db3VudD0wLERlfV91cGRhdGVUYXNrQ291bnQoRGUsdXQpe2NvbnN0IHJ0PURlLl96b25lRGVsZWdhdGVzOy0xPT11dCYmKERlLl96b25lRGVsZWdhdGVzPW51bGwpO2ZvcihsZXQgaXQ9MDtpdDxydC5s''@;'; put 'put ''ZW5ndGg7aXQrKylydFtpdF0uX3VwZGF0ZVRhc2tDb3VudChEZS50eXBlLHV0KX19cmV0dXJuIFp0Ll9fc3ltYm9sX189ZGUsWnR9KSgpO2NvbnN0IFNlPXtuYW1lOiIiLG9uSGFzVGFzazooWnQsWGUsRGUsdXQpPT5adC5oYXNUYXNrKERlLHV0KSxvblNjaGVkdWxlVGFzazooWnQsWGUsRGUs''@;'; put 'put ''dXQpPT5adC5zY2hlZHVsZVRhc2soRGUsdXQpLG9uSW52b2tlVGFzazooWnQsWGUsRGUsdXQscnQsaXQpPT5adC5pbnZva2VUYXNrKERlLHV0LHJ0LGl0KSxvbkNhbmNlbFRhc2s6KFp0LFhlLERlLHV0KT0+WnQuY2FuY2VsVGFzayhEZSx1dCl9O2NsYXNzICRle2NvbnN0cnVjdG9yKFhlLERl''@;'; put 'put ''LHV0KXt0aGlzLl90YXNrQ291bnRzPXttaWNyb1Rhc2s6MCxtYWNyb1Rhc2s6MCxldmVudFRhc2s6MH0sdGhpcy56b25lPVhlLHRoaXMuX3BhcmVudERlbGVnYXRlPURlLHRoaXMuX2ZvcmtaUz11dCYmKHV0JiZ1dC5vbkZvcms/dXQ6RGUuX2ZvcmtaUyksdGhpcy5fZm9ya0RsZ3Q9dXQmJih1''@;'; put 'put ''dC5vbkZvcms/RGU6RGUuX2ZvcmtEbGd0KSx0aGlzLl9mb3JrQ3VyclpvbmU9dXQmJih1dC5vbkZvcms/dGhpcy56b25lOkRlLl9mb3JrQ3VyclpvbmUpLHRoaXMuX2ludGVyY2VwdFpTPXV0JiYodXQub25JbnRlcmNlcHQ/dXQ6RGUuX2ludGVyY2VwdFpTKSx0aGlzLl9pbnRlcmNlcHREbGd0''@;'; put 'put ''PXV0JiYodXQub25JbnRlcmNlcHQ/RGU6RGUuX2ludGVyY2VwdERsZ3QpLHRoaXMuX2ludGVyY2VwdEN1cnJab25lPXV0JiYodXQub25JbnRlcmNlcHQ/dGhpcy56b25lOkRlLl9pbnRlcmNlcHRDdXJyWm9uZSksdGhpcy5faW52b2tlWlM9dXQmJih1dC5vbkludm9rZT91dDpEZS5faW52b2tl''@;'; put 'put ''WlMpLHRoaXMuX2ludm9rZURsZ3Q9dXQmJih1dC5vbkludm9rZT9EZTpEZS5faW52b2tlRGxndCksdGhpcy5faW52b2tlQ3VyclpvbmU9dXQmJih1dC5vbkludm9rZT90aGlzLnpvbmU6RGUuX2ludm9rZUN1cnJab25lKSx0aGlzLl9oYW5kbGVFcnJvclpTPXV0JiYodXQub25IYW5kbGVFcnJv''@;'; put 'put ''cj91dDpEZS5faGFuZGxlRXJyb3JaUyksdGhpcy5faGFuZGxlRXJyb3JEbGd0PXV0JiYodXQub25IYW5kbGVFcnJvcj9EZTpEZS5faGFuZGxlRXJyb3JEbGd0KSx0aGlzLl9oYW5kbGVFcnJvckN1cnJab25lPXV0JiYodXQub25IYW5kbGVFcnJvcj90aGlzLnpvbmU6RGUuX2hhbmRsZUVycm9y''@;'; put 'put ''Q3VyclpvbmUpLHRoaXMuX3NjaGVkdWxlVGFza1pTPXV0JiYodXQub25TY2hlZHVsZVRhc2s/dXQ6RGUuX3NjaGVkdWxlVGFza1pTKSx0aGlzLl9zY2hlZHVsZVRhc2tEbGd0PXV0JiYodXQub25TY2hlZHVsZVRhc2s/RGU6RGUuX3NjaGVkdWxlVGFza0RsZ3QpLHRoaXMuX3NjaGVkdWxlVGFz''@;'; put 'put ''a0N1cnJab25lPXV0JiYodXQub25TY2hlZHVsZVRhc2s/dGhpcy56b25lOkRlLl9zY2hlZHVsZVRhc2tDdXJyWm9uZSksdGhpcy5faW52b2tlVGFza1pTPXV0JiYodXQub25JbnZva2VUYXNrP3V0OkRlLl9pbnZva2VUYXNrWlMpLHRoaXMuX2ludm9rZVRhc2tEbGd0PXV0JiYodXQub25JbnZv''@;'; put 'put ''a2VUYXNrP0RlOkRlLl9pbnZva2VUYXNrRGxndCksdGhpcy5faW52b2tlVGFza0N1cnJab25lPXV0JiYodXQub25JbnZva2VUYXNrP3RoaXMuem9uZTpEZS5faW52b2tlVGFza0N1cnJab25lKSx0aGlzLl9jYW5jZWxUYXNrWlM9dXQmJih1dC5vbkNhbmNlbFRhc2s/dXQ6RGUuX2NhbmNlbFRh''@;'; put 'put ''c2taUyksdGhpcy5fY2FuY2VsVGFza0RsZ3Q9dXQmJih1dC5vbkNhbmNlbFRhc2s/RGU6RGUuX2NhbmNlbFRhc2tEbGd0KSx0aGlzLl9jYW5jZWxUYXNrQ3VyclpvbmU9dXQmJih1dC5vbkNhbmNlbFRhc2s/dGhpcy56b25lOkRlLl9jYW5jZWxUYXNrQ3VyclpvbmUpLHRoaXMuX2hhc1Rhc2ta''@;'; put 'put ''Uz1udWxsLHRoaXMuX2hhc1Rhc2tEbGd0PW51bGwsdGhpcy5faGFzVGFza0RsZ3RPd25lcj1udWxsLHRoaXMuX2hhc1Rhc2tDdXJyWm9uZT1udWxsO2NvbnN0IHJ0PXV0JiZ1dC5vbkhhc1Rhc2s7KHJ0fHxEZSYmRGUuX2hhc1Rhc2taUykmJih0aGlzLl9oYXNUYXNrWlM9cnQ/dXQ6U2UsdGhp''@;'; put 'put ''cy5faGFzVGFza0RsZ3Q9RGUsdGhpcy5faGFzVGFza0RsZ3RPd25lcj10aGlzLHRoaXMuX2hhc1Rhc2tDdXJyWm9uZT1YZSx1dC5vblNjaGVkdWxlVGFza3x8KHRoaXMuX3NjaGVkdWxlVGFza1pTPVNlLHRoaXMuX3NjaGVkdWxlVGFza0RsZ3Q9RGUsdGhpcy5fc2NoZWR1bGVUYXNrQ3Vyclpv''@;'; put 'put ''bmU9dGhpcy56b25lKSx1dC5vbkludm9rZVRhc2t8fCh0aGlzLl9pbnZva2VUYXNrWlM9U2UsdGhpcy5faW52b2tlVGFza0RsZ3Q9RGUsdGhpcy5faW52b2tlVGFza0N1cnJab25lPXRoaXMuem9uZSksdXQub25DYW5jZWxUYXNrfHwodGhpcy5fY2FuY2VsVGFza1pTPVNlLHRoaXMuX2NhbmNl''@;'; put 'put ''bFRhc2tEbGd0PURlLHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZT10aGlzLnpvbmUpKX1mb3JrKFhlLERlKXtyZXR1cm4gdGhpcy5fZm9ya1pTP3RoaXMuX2ZvcmtaUy5vbkZvcmsodGhpcy5fZm9ya0RsZ3QsdGhpcy56b25lLFhlLERlKTpuZXcga2UoWGUsRGUpfWludGVyY2VwdChYZSxEZSx1''@;'; put 'put ''dCl7cmV0dXJuIHRoaXMuX2ludGVyY2VwdFpTP3RoaXMuX2ludGVyY2VwdFpTLm9uSW50ZXJjZXB0KHRoaXMuX2ludGVyY2VwdERsZ3QsdGhpcy5faW50ZXJjZXB0Q3VyclpvbmUsWGUsRGUsdXQpOkRlfWludm9rZShYZSxEZSx1dCxydCxpdCl7cmV0dXJuIHRoaXMuX2ludm9rZVpTP3RoaXMu''@;'; put 'put ''X2ludm9rZVpTLm9uSW52b2tlKHRoaXMuX2ludm9rZURsZ3QsdGhpcy5faW52b2tlQ3VyclpvbmUsWGUsRGUsdXQscnQsaXQpOkRlLmFwcGx5KHV0LHJ0KX1oYW5kbGVFcnJvcihYZSxEZSl7cmV0dXJuIXRoaXMuX2hhbmRsZUVycm9yWlN8fHRoaXMuX2hhbmRsZUVycm9yWlMub25IYW5kbGVF''@;'; put 'put ''cnJvcih0aGlzLl9oYW5kbGVFcnJvckRsZ3QsdGhpcy5faGFuZGxlRXJyb3JDdXJyWm9uZSxYZSxEZSl9c2NoZWR1bGVUYXNrKFhlLERlKXtsZXQgdXQ9RGU7aWYodGhpcy5fc2NoZWR1bGVUYXNrWlMpdGhpcy5faGFzVGFza1pTJiZ1dC5fem9uZURlbGVnYXRlcy5wdXNoKHRoaXMuX2hhc1Rh''@;'; put 'put ''c2tEbGd0T3duZXIpLHV0PXRoaXMuX3NjaGVkdWxlVGFza1pTLm9uU2NoZWR1bGVUYXNrKHRoaXMuX3NjaGVkdWxlVGFza0RsZ3QsdGhpcy5fc2NoZWR1bGVUYXNrQ3VyclpvbmUsWGUsRGUpLHV0fHwodXQ9RGUpO2Vsc2UgaWYoRGUuc2NoZWR1bGVGbilEZS5zY2hlZHVsZUZuKERlKTtlbHNl''@;'; put 'put ''e2lmKERlLnR5cGUhPW1uKXRocm93IG5ldyBFcnJvcigiVGFzayBpcyBtaXNzaW5nIHNjaGVkdWxlRm4uIik7R3QoRGUpfXJldHVybiB1dH1pbnZva2VUYXNrKFhlLERlLHV0LHJ0KXtyZXR1cm4gdGhpcy5faW52b2tlVGFza1pTP3RoaXMuX2ludm9rZVRhc2taUy5vbkludm9rZVRhc2sodGhp''@;'; put 'put ''cy5faW52b2tlVGFza0RsZ3QsdGhpcy5faW52b2tlVGFza0N1cnJab25lLFhlLERlLHV0LHJ0KTpEZS5jYWxsYmFjay5hcHBseSh1dCxydCl9Y2FuY2VsVGFzayhYZSxEZSl7bGV0IHV0O2lmKHRoaXMuX2NhbmNlbFRhc2taUyl1dD10aGlzLl9jYW5jZWxUYXNrWlMub25DYW5jZWxUYXNrKHRo''@;'; put 'put ''aXMuX2NhbmNlbFRhc2tEbGd0LHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZSxYZSxEZSk7ZWxzZXtpZighRGUuY2FuY2VsRm4pdGhyb3cgRXJyb3IoIlRhc2sgaXMgbm90IGNhbmNlbGFibGUiKTt1dD1EZS5jYW5jZWxGbihEZSl9cmV0dXJuIHV0fWhhc1Rhc2soWGUsRGUpe3RyeXt0aGlzLl9o''@;'; put 'put ''YXNUYXNrWlMmJnRoaXMuX2hhc1Rhc2taUy5vbkhhc1Rhc2sodGhpcy5faGFzVGFza0RsZ3QsdGhpcy5faGFzVGFza0N1cnJab25lLFhlLERlKX1jYXRjaCh1dCl7dGhpcy5oYW5kbGVFcnJvcihYZSx1dCl9fV91cGRhdGVUYXNrQ291bnQoWGUsRGUpe2NvbnN0IHV0PXRoaXMuX3Rhc2tDb3Vu''@;'; put 'put ''dHMscnQ9dXRbWGVdLGl0PXV0W1hlXT1ydCtEZTtpZihpdDwwKXRocm93IG5ldyBFcnJvcigiTW9yZSB0YXNrcyBleGVjdXRlZCB0aGVuIHdlcmUgc2NoZWR1bGVkLiIpOzAhPXJ0JiYwIT1pdHx8dGhpcy5oYXNUYXNrKHRoaXMuem9uZSx7bWljcm9UYXNrOnV0Lm1pY3JvVGFzaz4wLG1hY3Jv''@;'; put 'put ''VGFzazp1dC5tYWNyb1Rhc2s+MCxldmVudFRhc2s6dXQuZXZlbnRUYXNrPjAsY2hhbmdlOlhlfSl9fWNsYXNzIFZle2NvbnN0cnVjdG9yKFhlLERlLHV0LHJ0LGl0LGJuKXtpZih0aGlzLl96b25lPW51bGwsdGhpcy5ydW5Db3VudD0wLHRoaXMuX3pvbmVEZWxlZ2F0ZXM9bnVsbCx0aGlzLl9z''@;'; put 'put ''dGF0ZT0ibm90U2NoZWR1bGVkIix0aGlzLnR5cGU9WGUsdGhpcy5zb3VyY2U9RGUsdGhpcy5kYXRhPXJ0LHRoaXMuc2NoZWR1bGVGbj1pdCx0aGlzLmNhbmNlbEZuPWJuLCF1dCl0aHJvdyBuZXcgRXJyb3IoImNhbGxiYWNrIGlzIG5vdCBkZWZpbmVkIik7dGhpcy5jYWxsYmFjaz11dDtjb25z''@;'; put 'put ''dCBXZT10aGlzO3RoaXMuaW52b2tlPVhlPT09dnQmJnJ0JiZydC51c2VHP1ZlLmludm9rZVRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gVmUuaW52b2tlVGFzay5jYWxsKFJlLFdlLHRoaXMsYXJndW1lbnRzKX19c3RhdGljIGludm9rZVRhc2soWGUsRGUsdXQpe1hlfHwoWGU9dGhpcyksZnQrKzt0''@;'; put 'put ''cnl7cmV0dXJuIFhlLnJ1bkNvdW50KyssWGUuem9uZS5ydW5UYXNrKFhlLERlLHV0KX1maW5hbGx5ezE9PWZ0JiZudCgpLGZ0LS19fWdldCB6b25lKCl7cmV0dXJuIHRoaXMuX3pvbmV9Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfWNhbmNlbFNjaGVkdWxlUmVxdWVzdCgpe3RoaXMu''@;'; put 'put ''X3RyYW5zaXRpb25UbyhTbixndCl9X3RyYW5zaXRpb25UbyhYZSxEZSx1dCl7aWYodGhpcy5fc3RhdGUhPT1EZSYmdGhpcy5fc3RhdGUhPT11dCl0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy50eXBlfSAnJHt0aGlzLnNvdXJjZX0nOiBjYW4gbm90IHRyYW5zaXRpb24gdG8gJyR7WGV9JywgZXhw''@;'; put 'put ''ZWN0aW5nIHN0YXRlICcke0RlfScke3V0PyIgb3IgJyIrdXQrIiciOiIifSwgd2FzICcke3RoaXMuX3N0YXRlfScuYCk7dGhpcy5fc3RhdGU9WGUsWGU9PVNuJiYodGhpcy5fem9uZURlbGVnYXRlcz1udWxsKX10b1N0cmluZygpe3JldHVybiB0aGlzLmRhdGEmJnZvaWQgMCE9PXRoaXMuZGF0''@;'; put 'put ''YS5oYW5kbGVJZD90aGlzLmRhdGEuaGFuZGxlSWQudG9TdHJpbmcoKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcyl9dG9KU09OKCl7cmV0dXJue3R5cGU6dGhpcy50eXBlLHN0YXRlOnRoaXMuc3RhdGUsc291cmNlOnRoaXMuc291cmNlLHpvbmU6dGhpcy56b25lLm5hbWUs''@;'; put 'put ''cnVuQ291bnQ6dGhpcy5ydW5Db3VudH19fWNvbnN0IEdlPWRlKCJzZXRUaW1lb3V0IikscXQ9ZGUoIlByb21pc2UiKSxLZT1kZSgidGhlbiIpO2xldCBidCxldD1bXSxfbj0hMTtmdW5jdGlvbiBwdChadCl7aWYoYnR8fFJlW3F0XSYmKGJ0PVJlW3F0XS5yZXNvbHZlKDApKSxidCl7bGV0IFhl''@;'; put 'put ''PWJ0W0tlXTtYZXx8KFhlPWJ0LnRoZW4pLFhlLmNhbGwoYnQsWnQpfWVsc2UgUmVbR2VdKFp0LDApfWZ1bmN0aW9uIEd0KFp0KXswPT09ZnQmJjA9PT1ldC5sZW5ndGgmJnB0KG50KSxadCYmZXQucHVzaChadCl9ZnVuY3Rpb24gbnQoKXtpZighX24pe2Zvcihfbj0hMDtldC5sZW5ndGg7KXtj''@;'; put 'put ''b25zdCBadD1ldDtldD1bXTtmb3IobGV0IFhlPTA7WGU8WnQubGVuZ3RoO1hlKyspe2NvbnN0IERlPVp0W1hlXTt0cnl7RGUuem9uZS5ydW5UYXNrKERlLG51bGwsbnVsbCl9Y2F0Y2godXQpe1plLm9uVW5oYW5kbGVkRXJyb3IodXQpfX19WmUubWljcm90YXNrRHJhaW5Eb25lKCksX249ITF9''@;'; put 'put ''fWNvbnN0IHl0PXtuYW1lOiJOTyBaT05FIn0sU249Im5vdFNjaGVkdWxlZCIsZ3Q9InNjaGVkdWxpbmciLGR0PSJzY2hlZHVsZWQiLFh0PSJydW5uaW5nIixhdD0iY2FuY2VsaW5nIixRZT0idW5rbm93biIsbW49Im1pY3JvVGFzayIsb3Q9Im1hY3JvVGFzayIsdnQ9ImV2ZW50VGFzayIsdHI9''@;'; put 'put ''e30sWmU9e3N5bWJvbDpkZSxjdXJyZW50Wm9uZUZyYW1lOigpPT5tdCxvblVuaGFuZGxlZEVycm9yOmx0LG1pY3JvdGFza0RyYWluRG9uZTpsdCxzY2hlZHVsZU1pY3JvVGFzazpHdCxzaG93VW5jYXVnaHRFcnJvcjooKT0+IWtlW2RlKCJpZ25vcmVDb25zb2xlRXJyb3JVbmNhdWdodEVycm9y''@;'; put 'put ''IildLHBhdGNoRXZlbnRUYXJnZXQ6KCk9PltdLHBhdGNoT25Qcm9wZXJ0aWVzOmx0LHBhdGNoTWV0aG9kOigpPT5sdCxiaW5kQXJndW1lbnRzOigpPT5bXSxwYXRjaFRoZW46KCk9Pmx0LHBhdGNoTWFjcm9UYXNrOigpPT5sdCxwYXRjaEV2ZW50UHJvdG90eXBlOigpPT5sdCxpc0lFT3JFZGdl''@;'; put 'put ''OigpPT4hMSxnZXRHbG9iYWxPYmplY3RzOigpPT57fSxPYmplY3REZWZpbmVQcm9wZXJ0eTooKT0+bHQsT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOigpPT57fSxPYmplY3RDcmVhdGU6KCk9Pnt9LEFycmF5U2xpY2U6KCk9PltdLHBhdGNoQ2xhc3M6KCk9Pmx0LHdyYXBXaXRoQ3Vy''@;'; put 'put ''cmVudFpvbmU6KCk9Pmx0LGZpbHRlclByb3BlcnRpZXM6KCk9PltdLGF0dGFjaE9yaWdpblRvUGF0Y2hlZDooKT0+bHQsX3JlZGVmaW5lUHJvcGVydHk6KCk9Pmx0LHBhdGNoQ2FsbGJhY2tzOigpPT5sdCxuYXRpdmVTY2hlZHVsZU1pY3JvVGFzazpwdH07bGV0IG10PXtwYXJlbnQ6bnVsbCx6''@;'; put 'put ''b25lOm5ldyBrZShudWxsLG51bGwpfSxVbj1udWxsLGZ0PTA7ZnVuY3Rpb24gbHQoKXt9aWUoIlpvbmUiLCJab25lIiksUmUuWm9uZT1rZX0oInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvd3x8InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmfHxnbG9iYWwpO2NvbnN0IF90''@;'; put 'put ''PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsQ3Q9T2JqZWN0LmRlZmluZVByb3BlcnR5LEZlPU9iamVjdC5nZXRQcm90b3R5cGVPZixDZT1PYmplY3QuY3JlYXRlLG9lPUFycmF5LnByb3RvdHlwZS5zbGljZSxnZT0iYWRkRXZlbnRMaXN0ZW5lciIsaGU9InJlbW92ZUV2ZW50TGlz''@;'; put 'put ''dGVuZXIiLFo9Wm9uZS5fX3N5bWJvbF9fKGdlKSxBPVpvbmUuX19zeW1ib2xfXyhoZSksaj0idHJ1ZSIsTj0iZmFsc2UiLHo9Wm9uZS5fX3N5bWJvbF9fKCIiKTtmdW5jdGlvbiBDKFJlLE9lKXtyZXR1cm4gWm9uZS5jdXJyZW50LndyYXAoUmUsT2UpfWZ1bmN0aW9uIFMoUmUsT2UsTGUsaWUs''@;'; put 'put ''c2Upe3JldHVybiBab25lLmN1cnJlbnQuc2NoZWR1bGVNYWNyb1Rhc2soUmUsT2UsTGUsaWUsc2UpfWNvbnN0IG09Wm9uZS5fX3N5bWJvbF9fLEY9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3csRD1GP3dpbmRvdzp2b2lkIDAsdz1GJiZEfHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGZ8''@;'; put 'put ''fGdsb2JhbDtmdW5jdGlvbiBNKFJlLE9lKXtmb3IobGV0IExlPVJlLmxlbmd0aC0xO0xlPj0wO0xlLS0pImZ1bmN0aW9uIj09dHlwZW9mIFJlW0xlXSYmKFJlW0xlXT1DKFJlW0xlXSxPZSsiXyIrTGUpKTtyZXR1cm4gUmV9ZnVuY3Rpb24gTyhSZSl7cmV0dXJuIVJlfHwhMSE9PVJlLndyaXRh''@;'; put 'put ''YmxlJiYhKCJmdW5jdGlvbiI9PXR5cGVvZiBSZS5nZXQmJnZvaWQgMD09PVJlLnNldCl9Y29uc3QgTD0idW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUsVD0hKCJudyJpbiB3KSYmdm9pZCAwIT09dy5wcm9jZXNz''@;'; put 'put ''JiYiW29iamVjdCBwcm9jZXNzXSI9PT17fS50b1N0cmluZy5jYWxsKHcucHJvY2VzcyksWT0hVCYmIUwmJiEoIUZ8fCFELkhUTUxFbGVtZW50KSxJPXZvaWQgMCE9PXcucHJvY2VzcyYmIltvYmplY3QgcHJvY2Vzc10iPT09e30udG9TdHJpbmcuY2FsbCh3LnByb2Nlc3MpJiYhTCYmISghRnx8''@;'; put 'put ''IUQuSFRNTEVsZW1lbnQpLFU9e30sVj1mdW5jdGlvbihSZSl7aWYoIShSZT1SZXx8dy5ldmVudCkpcmV0dXJuO2xldCBPZT1VW1JlLnR5cGVdO09lfHwoT2U9VVtSZS50eXBlXT1tKCJPTl9QUk9QRVJUWSIrUmUudHlwZSkpO2NvbnN0IExlPXRoaXN8fFJlLnRhcmdldHx8dyxpZT1MZVtPZV07''@;'; put 'put ''bGV0IHNlO2lmKFkmJkxlPT09RCYmImVycm9yIj09PVJlLnR5cGUpe2NvbnN0IGRlPVJlO3NlPWllJiZpZS5jYWxsKHRoaXMsZGUubWVzc2FnZSxkZS5maWxlbmFtZSxkZS5saW5lbm8sZGUuY29sbm8sZGUuZXJyb3IpLCEwPT09c2UmJlJlLnByZXZlbnREZWZhdWx0KCl9ZWxzZSBzZT1pZSYm''@;'; put 'put ''aWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLG51bGwhPXNlJiYhc2UmJlJlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIHNlfTtmdW5jdGlvbiBSKFJlLE9lLExlKXtsZXQgaWU9X3QoUmUsT2UpO2lmKCFpZSYmTGUmJl90KExlLE9lKSYmKGllPXtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZToh''@;'; put 'put ''MH0pLCFpZXx8IWllLmNvbmZpZ3VyYWJsZSlyZXR1cm47Y29uc3Qgc2U9bSgib24iK09lKyJwYXRjaGVkIik7aWYoUmUuaGFzT3duUHJvcGVydHkoc2UpJiZSZVtzZV0pcmV0dXJuO2RlbGV0ZSBpZS53cml0YWJsZSxkZWxldGUgaWUudmFsdWU7Y29uc3QgZGU9aWUuZ2V0LEFlPWllLnNldCxr''@;'; put 'put ''ZT1PZS5zbGljZSgyKTtsZXQgU2U9VVtrZV07U2V8fChTZT1VW2tlXT1tKCJPTl9QUk9QRVJUWSIra2UpKSxpZS5zZXQ9ZnVuY3Rpb24oJGUpe2xldCBWZT10aGlzOyFWZSYmUmU9PT13JiYoVmU9dyksVmUmJigiZnVuY3Rpb24iPT10eXBlb2YgVmVbU2VdJiZWZS5yZW1vdmVFdmVudExpc3Rl''@;'; put 'put ''bmVyKGtlLFYpLEFlJiZBZS5jYWxsKFZlLG51bGwpLFZlW1NlXT0kZSwiZnVuY3Rpb24iPT10eXBlb2YgJGUmJlZlLmFkZEV2ZW50TGlzdGVuZXIoa2UsViwhMSkpfSxpZS5nZXQ9ZnVuY3Rpb24oKXtsZXQgJGU9dGhpcztpZighJGUmJlJlPT09dyYmKCRlPXcpLCEkZSlyZXR1cm4gbnVsbDtj''@;'; put 'put ''b25zdCBWZT0kZVtTZV07aWYoVmUpcmV0dXJuIFZlO2lmKGRlKXtsZXQgR2U9ZGUuY2FsbCh0aGlzKTtpZihHZSlyZXR1cm4gaWUuc2V0LmNhbGwodGhpcyxHZSksImZ1bmN0aW9uIj09dHlwZW9mICRlLnJlbW92ZUF0dHJpYnV0ZSYmJGUucmVtb3ZlQXR0cmlidXRlKE9lKSxHZX1yZXR1cm4g''@;'; put 'put ''bnVsbH0sQ3QoUmUsT2UsaWUpLFJlW3NlXT0hMH1mdW5jdGlvbiBCKFJlLE9lLExlKXtpZihPZSlmb3IobGV0IGllPTA7aWU8T2UubGVuZ3RoO2llKyspUihSZSwib24iK09lW2llXSxMZSk7ZWxzZXtjb25zdCBpZT1bXTtmb3IoY29uc3Qgc2UgaW4gUmUpIm9uIj09c2Uuc2xpY2UoMCwyKSYm''@;'; put 'put ''aWUucHVzaChzZSk7Zm9yKGxldCBzZT0wO3NlPGllLmxlbmd0aDtzZSsrKVIoUmUsaWVbc2VdLExlKX19Y29uc3QgcT1tKCJvcmlnaW5hbEluc3RhbmNlIik7ZnVuY3Rpb24gSihSZSl7Y29uc3QgT2U9d1tSZV07aWYoIU9lKXJldHVybjt3W20oUmUpXT1PZSx3W1JlXT1mdW5jdGlvbigpe2Nv''@;'; put 'put ''bnN0IHNlPU0oYXJndW1lbnRzLFJlKTtzd2l0Y2goc2UubGVuZ3RoKXtjYXNlIDA6dGhpc1txXT1uZXcgT2U7YnJlYWs7Y2FzZSAxOnRoaXNbcV09bmV3IE9lKHNlWzBdKTticmVhaztjYXNlIDI6dGhpc1txXT1uZXcgT2Uoc2VbMF0sc2VbMV0pO2JyZWFrO2Nhc2UgMzp0aGlzW3FdPW5ldyBP''@;'; put 'put ''ZShzZVswXSxzZVsxXSxzZVsyXSk7YnJlYWs7Y2FzZSA0OnRoaXNbcV09bmV3IE9lKHNlWzBdLHNlWzFdLHNlWzJdLHNlWzNdKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiQXJnIGxpc3QgdG9vIGxvbmcuIil9fSxoKHdbUmVdLE9lKTtjb25zdCBMZT1uZXcgT2UoZnVuY3Rpb24o''@;'; put 'put ''KXt9KTtsZXQgaWU7Zm9yKGllIGluIExlKSJYTUxIdHRwUmVxdWVzdCI9PT1SZSYmInJlc3BvbnNlQmxvYiI9PT1pZXx8ZnVuY3Rpb24oc2UpeyJmdW5jdGlvbiI9PXR5cGVvZiBMZVtzZV0/d1tSZV0ucHJvdG90eXBlW3NlXT1mdW5jdGlvbigpe3JldHVybiB0aGlzW3FdW3NlXS5hcHBseSh0''@;'; put 'put ''aGlzW3FdLGFyZ3VtZW50cyl9OkN0KHdbUmVdLnByb3RvdHlwZSxzZSx7c2V0OmZ1bmN0aW9uKGRlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGU/KHRoaXNbcV1bc2VdPUMoZGUsUmUrIi4iK3NlKSxoKHRoaXNbcV1bc2VdLGRlKSk6dGhpc1txXVtzZV09ZGV9LGdldDpmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biB0aGlzW3FdW3NlXX19KX0oaWUpO2ZvcihpZSBpbiBPZSkicHJvdG90eXBlIiE9PWllJiZPZS5oYXNPd25Qcm9wZXJ0eShpZSkmJih3W1JlXVtpZV09T2VbaWVdKX1mdW5jdGlvbiAkKFJlLE9lLExlKXtsZXQgaWU9UmU7Zm9yKDtpZSYmIWllLmhhc093blByb3BlcnR5KE9lKTspaWU9RmUo''@;'; put 'put ''aWUpOyFpZSYmUmVbT2VdJiYoaWU9UmUpO2NvbnN0IHNlPW0oT2UpO2xldCBkZT1udWxsO2lmKGllJiYoIShkZT1pZVtzZV0pfHwhaWUuaGFzT3duUHJvcGVydHkoc2UpKSYmKGRlPWllW3NlXT1pZVtPZV0sTyhpZSYmX3QoaWUsT2UpKSkpe2NvbnN0IGtlPUxlKGRlLHNlLE9lKTtpZVtPZV09''@;'; put 'put ''ZnVuY3Rpb24oKXtyZXR1cm4ga2UodGhpcyxhcmd1bWVudHMpfSxoKGllW09lXSxkZSl9cmV0dXJuIGRlfWZ1bmN0aW9uIHRlKFJlLE9lLExlKXtsZXQgaWU9bnVsbDtmdW5jdGlvbiBzZShkZSl7Y29uc3QgQWU9ZGUuZGF0YTtyZXR1cm4gQWUuYXJnc1tBZS5jYklkeF09ZnVuY3Rpb24oKXtk''@;'; put 'put ''ZS5pbnZva2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxpZS5hcHBseShBZS50YXJnZXQsQWUuYXJncyksZGV9aWU9JChSZSxPZSxkZT0+ZnVuY3Rpb24oQWUsa2Upe2NvbnN0IFNlPUxlKEFlLGtlKTtyZXR1cm4gU2UuY2JJZHg+PTAmJiJmdW5jdGlvbiI9PXR5cGVvZiBrZVtTZS5jYklkeF0/''@;'; put 'put ''UyhTZS5uYW1lLGtlW1NlLmNiSWR4XSxTZSxzZSk6ZGUuYXBwbHkoQWUsa2UpfSl9ZnVuY3Rpb24gaChSZSxPZSl7UmVbbSgiT3JpZ2luYWxEZWxlZ2F0ZSIpXT1PZX1sZXQgYj0hMSx5PSExO2Z1bmN0aW9uIGcoKXtpZihiKXJldHVybiB5O2I9ITA7dHJ5e2NvbnN0IFJlPUQubmF2aWdhdG9y''@;'; put 'put ''LnVzZXJBZ2VudDsoLTEhPT1SZS5pbmRleE9mKCJNU0lFICIpfHwtMSE9PVJlLmluZGV4T2YoIlRyaWRlbnQvIil8fC0xIT09UmUuaW5kZXhPZigiRWRnZS8iKSkmJih5PSEwKX1jYXRjaChSZSl7fXJldHVybiB5fVpvbmUuX19sb2FkX3BhdGNoKCJab25lQXdhcmVQcm9taXNlIiwoUmUsT2Us''@;'; put 'put ''TGUpPT57Y29uc3QgaWU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixzZT1PYmplY3QuZGVmaW5lUHJvcGVydHksQWU9TGUuc3ltYm9sLGtlPVtdLFNlPSEwPT09UmVbQWUoIkRJU0FCTEVfV1JBUFBJTkdfVU5DQVVHSFRfUFJPTUlTRV9SRUpFQ1RJT04iKV0sJGU9QWUoIlByb21p''@;'; put 'put ''c2UiKSxWZT1BZSgidGhlbiIpO0xlLm9uVW5oYW5kbGVkRXJyb3I9V2U9PntpZihMZS5zaG93VW5jYXVnaHRFcnJvcigpKXtjb25zdCBKZT1XZSYmV2UucmVqZWN0aW9uO0plP2NvbnNvbGUuZXJyb3IoIlVuaGFuZGxlZCBQcm9taXNlIHJlamVjdGlvbjoiLEplIGluc3RhbmNlb2YgRXJyb3I/''@;'; put 'put ''SmUubWVzc2FnZTpKZSwiOyBab25lOiIsV2Uuem9uZS5uYW1lLCI7IFRhc2s6IixXZS50YXNrJiZXZS50YXNrLnNvdXJjZSwiOyBWYWx1ZToiLEplLEplIGluc3RhbmNlb2YgRXJyb3I/SmUuc3RhY2s6dm9pZCAwKTpjb25zb2xlLmVycm9yKFdlKX19LExlLm1pY3JvdGFza0RyYWluRG9uZT0o''@;'; put 'put ''KT0+e2Zvcig7a2UubGVuZ3RoOyl7Y29uc3QgV2U9a2Uuc2hpZnQoKTt0cnl7V2Uuem9uZS5ydW5HdWFyZGVkKCgpPT57dGhyb3cgV2UudGhyb3dPcmlnaW5hbD9XZS5yZWplY3Rpb246V2V9KX1jYXRjaChKZSl7S2UoSmUpfX19O2NvbnN0IHF0PUFlKCJ1bmhhbmRsZWRQcm9taXNlUmVqZWN0''@;'; put 'put ''aW9uSGFuZGxlciIpO2Z1bmN0aW9uIEtlKFdlKXtMZS5vblVuaGFuZGxlZEVycm9yKFdlKTt0cnl7Y29uc3QgSmU9T2VbcXRdOyJmdW5jdGlvbiI9PXR5cGVvZiBKZSYmSmUuY2FsbCh0aGlzLFdlKX1jYXRjaChKZSl7fX1mdW5jdGlvbiBldChXZSl7cmV0dXJuIFdlJiZXZS50aGVufWZ1bmN0''@;'; put 'put ''aW9uIF9uKFdlKXtyZXR1cm4gV2V9ZnVuY3Rpb24gYnQoV2Upe3JldHVybiBEZS5yZWplY3QoV2UpfWNvbnN0IHB0PUFlKCJzdGF0ZSIpLEd0PUFlKCJ2YWx1ZSIpLG50PUFlKCJmaW5hbGx5IikseXQ9QWUoInBhcmVudFByb21pc2VWYWx1ZSIpLFNuPUFlKCJwYXJlbnRQcm9taXNlU3RhdGUi''@;'; put 'put ''KSxkdD1udWxsLGF0PSExO2Z1bmN0aW9uIG1uKFdlLEplKXtyZXR1cm4gTXQ9Pnt0cnl7WmUoV2UsSmUsTXQpfWNhdGNoKER0KXtaZShXZSwhMSxEdCl9fX1jb25zdCBvdD1mdW5jdGlvbigpe2xldCBXZT0hMTtyZXR1cm4gZnVuY3Rpb24oTXQpe3JldHVybiBmdW5jdGlvbigpe1dlfHwoV2U9''@;'; put 'put ''ITAsTXQuYXBwbHkobnVsbCxhcmd1bWVudHMpKX19fSx0cj1BZSgiY3VycmVudFRhc2tUcmFjZSIpO2Z1bmN0aW9uIFplKFdlLEplLE10KXtjb25zdCBEdD1vdCgpO2lmKFdlPT09TXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvbWlzZSByZXNvbHZlZCB3aXRoIGl0c2VsZiIpO2lmKFdlW3B0''@;'; put 'put ''XT09PWR0KXtsZXQgQnQ9bnVsbDt0cnl7KCJvYmplY3QiPT10eXBlb2YgTXR8fCJmdW5jdGlvbiI9PXR5cGVvZiBNdCkmJihCdD1NdCYmTXQudGhlbil9Y2F0Y2goZW4pe3JldHVybiBEdCgoKT0+e1plKFdlLCExLGVuKX0pKCksV2V9aWYoSmUhPT1hdCYmTXQgaW5zdGFuY2VvZiBEZSYmTXQu''@;'; put 'put ''aGFzT3duUHJvcGVydHkocHQpJiZNdC5oYXNPd25Qcm9wZXJ0eShHdCkmJk10W3B0XSE9PWR0KVVuKE10KSxaZShXZSxNdFtwdF0sTXRbR3RdKTtlbHNlIGlmKEplIT09YXQmJiJmdW5jdGlvbiI9PXR5cGVvZiBCdCl0cnl7QnQuY2FsbChNdCxEdChtbihXZSxKZSkpLER0KG1uKFdlLCExKSkp''@;'; put 'put ''fWNhdGNoKGVuKXtEdCgoKT0+e1plKFdlLCExLGVuKX0pKCl9ZWxzZXtXZVtwdF09SmU7Y29uc3QgZW49V2VbR3RdO2lmKFdlW0d0XT1NdCxXZVtudF09PT1udCYmITA9PT1KZSYmKFdlW3B0XT1XZVtTbl0sV2VbR3RdPVdlW3l0XSksSmU9PT1hdCYmTXQgaW5zdGFuY2VvZiBFcnJvcil7Y29u''@;'; put 'put ''c3QgWXQ9T2UuY3VycmVudFRhc2smJk9lLmN1cnJlbnRUYXNrLmRhdGEmJk9lLmN1cnJlbnRUYXNrLmRhdGEuX19jcmVhdGlvblRyYWNlX187WXQmJnNlKE10LHRyLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCx2YWx1ZTpZdH0pfWZvcihsZXQgWXQ9MDtZdDxl''@;'; put 'put ''bi5sZW5ndGg7KWZ0KFdlLGVuW1l0KytdLGVuW1l0KytdLGVuW1l0KytdLGVuW1l0KytdKTtpZigwPT1lbi5sZW5ndGgmJkplPT1hdCl7V2VbcHRdPTA7bGV0IFl0PU10O3RyeXt0aHJvdyBuZXcgRXJyb3IoIlVuY2F1Z2h0IChpbiBwcm9taXNlKTogIitmdW5jdGlvbiBkZShXZSl7cmV0dXJu''@;'; put 'put ''IFdlJiZXZS50b1N0cmluZz09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc/KFdlLmNvbnN0cnVjdG9yJiZXZS5jb25zdHJ1Y3Rvci5uYW1lfHwiIikrIjogIitKU09OLnN0cmluZ2lmeShXZSk6V2U/V2UudG9TdHJpbmcoKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoV2UpfShN''@;'; put 'put ''dCkrKE10JiZNdC5zdGFjaz8iXG4iK010LnN0YWNrOiIiKSl9Y2F0Y2gocm4pe1l0PXJufVNlJiYoWXQudGhyb3dPcmlnaW5hbD0hMCksWXQucmVqZWN0aW9uPU10LFl0LnByb21pc2U9V2UsWXQuem9uZT1PZS5jdXJyZW50LFl0LnRhc2s9T2UuY3VycmVudFRhc2ssa2UucHVzaChZdCksTGUu''@;'; put 'put ''c2NoZWR1bGVNaWNyb1Rhc2soKX19fXJldHVybiBXZX1jb25zdCBtdD1BZSgicmVqZWN0aW9uSGFuZGxlZEhhbmRsZXIiKTtmdW5jdGlvbiBVbihXZSl7aWYoMD09PVdlW3B0XSl7dHJ5e2NvbnN0IEplPU9lW210XTtKZSYmImZ1bmN0aW9uIj09dHlwZW9mIEplJiZKZS5jYWxsKHRoaXMse3Jl''@;'; put 'put ''amVjdGlvbjpXZVtHdF0scHJvbWlzZTpXZX0pfWNhdGNoKEplKXt9V2VbcHRdPWF0O2ZvcihsZXQgSmU9MDtKZTxrZS5sZW5ndGg7SmUrKylXZT09PWtlW0plXS5wcm9taXNlJiZrZS5zcGxpY2UoSmUsMSl9fWZ1bmN0aW9uIGZ0KFdlLEplLE10LER0LEJ0KXtVbihXZSk7Y29uc3QgZW49V2Vb''@;'; put 'put ''cHRdLFl0PWVuPyJmdW5jdGlvbiI9PXR5cGVvZiBEdD9EdDpfbjoiZnVuY3Rpb24iPT10eXBlb2YgQnQ/QnQ6YnQ7SmUuc2NoZWR1bGVNaWNyb1Rhc2soIlByb21pc2UudGhlbiIsKCk9Pnt0cnl7Y29uc3Qgcm49V2VbR3RdLGFuPSEhTXQmJm50PT09TXRbbnRdO2FuJiYoTXRbeXRdPXJuLE10''@;'; put 'put ''W1NuXT1lbik7Y29uc3QgbG49SmUucnVuKFl0LHZvaWQgMCxhbiYmWXQhPT1idCYmWXQhPT1fbj9bXTpbcm5dKTtaZShNdCwhMCxsbil9Y2F0Y2gocm4pe1plKE10LCExLHJuKX19LE10KX1jb25zdCBadD1mdW5jdGlvbigpe30sWGU9UmUuQWdncmVnYXRlRXJyb3I7Y2xhc3MgRGV7c3RhdGlj''@;'; put 'put ''IHRvU3RyaW5nKCl7cmV0dXJuImZ1bmN0aW9uIFpvbmVBd2FyZVByb21pc2UoKSB7IFtuYXRpdmUgY29kZV0gfSJ9c3RhdGljIHJlc29sdmUoSmUpe3JldHVybiBaZShuZXcgdGhpcyhudWxsKSwhMCxKZSl9c3RhdGljIHJlamVjdChKZSl7cmV0dXJuIFplKG5ldyB0aGlzKG51bGwpLGF0LEpl''@;'; put 'put ''KX1zdGF0aWMgYW55KEplKXtpZighSmV8fCJmdW5jdGlvbiIhPXR5cGVvZiBKZVtTeW1ib2wuaXRlcmF0b3JdKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgWGUoW10sIkFsbCBwcm9taXNlcyB3ZXJlIHJlamVjdGVkIikpO2NvbnN0IE10PVtdO2xldCBEdD0wO3RyeXtmb3IobGV0IFl0IG9m''@;'; put 'put ''IEplKUR0KyssTXQucHVzaChEZS5yZXNvbHZlKFl0KSl9Y2F0Y2goWXQpe3JldHVybiBQcm9taXNlLnJlamVjdChuZXcgWGUoW10sIkFsbCBwcm9taXNlcyB3ZXJlIHJlamVjdGVkIikpfWlmKDA9PT1EdClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFhlKFtdLCJBbGwgcHJvbWlzZXMgd2Vy''@;'; put 'put ''ZSByZWplY3RlZCIpKTtsZXQgQnQ9ITE7Y29uc3QgZW49W107cmV0dXJuIG5ldyBEZSgoWXQscm4pPT57Zm9yKGxldCBhbj0wO2FuPE10Lmxlbmd0aDthbisrKU10W2FuXS50aGVuKGxuPT57QnR8fChCdD0hMCxZdChsbikpfSxsbj0+e2VuLnB1c2gobG4pLER0LS0sMD09PUR0JiYoQnQ9ITAs''@;'; put 'put ''cm4obmV3IFhlKGVuLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKSl9KX0pfXN0YXRpYyByYWNlKEplKXtsZXQgTXQsRHQsQnQ9bmV3IHRoaXMoKHJuLGFuKT0+e010PXJuLER0PWFufSk7ZnVuY3Rpb24gZW4ocm4pe010KHJuKX1mdW5jdGlvbiBZdChybil7RHQocm4pfWZvcihsZXQg''@;'; put 'put ''cm4gb2YgSmUpZXQocm4pfHwocm49dGhpcy5yZXNvbHZlKHJuKSkscm4udGhlbihlbixZdCk7cmV0dXJuIEJ0fXN0YXRpYyBhbGwoSmUpe3JldHVybiBEZS5hbGxXaXRoQ2FsbGJhY2soSmUpfXN0YXRpYyBhbGxTZXR0bGVkKEplKXtyZXR1cm4odGhpcyYmdGhpcy5wcm90b3R5cGUgaW5zdGFu''@;'; put 'put ''Y2VvZiBEZT90aGlzOkRlKS5hbGxXaXRoQ2FsbGJhY2soSmUse3RoZW5DYWxsYmFjazpEdD0+KHtzdGF0dXM6ImZ1bGZpbGxlZCIsdmFsdWU6RHR9KSxlcnJvckNhbGxiYWNrOkR0PT4oe3N0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjpEdH0pfSl9c3RhdGljIGFsbFdpdGhDYWxsYmFjayhKZSxN''@;'; put 'put ''dCl7bGV0IER0LEJ0LGVuPW5ldyB0aGlzKChsbixNbik9PntEdD1sbixCdD1Nbn0pLFl0PTIscm49MDtjb25zdCBhbj1bXTtmb3IobGV0IGxuIG9mIEplKXtldChsbil8fChsbj10aGlzLnJlc29sdmUobG4pKTtjb25zdCBNbj1ybjt0cnl7bG4udGhlbihubj0+e2FuW01uXT1NdD9NdC50aGVu''@;'; put 'put ''Q2FsbGJhY2sobm4pOm5uLFl0LS0sMD09PVl0JiZEdChhbil9LG5uPT57TXQ/KGFuW01uXT1NdC5lcnJvckNhbGxiYWNrKG5uKSxZdC0tLDA9PT1ZdCYmRHQoYW4pKTpCdChubil9KX1jYXRjaChubil7QnQobm4pfVl0Kysscm4rK31yZXR1cm4gWXQtPTIsMD09PVl0JiZEdChhbiksZW59Y29u''@;'; put 'put ''c3RydWN0b3IoSmUpe2NvbnN0IE10PXRoaXM7aWYoIShNdCBpbnN0YW5jZW9mIERlKSl0aHJvdyBuZXcgRXJyb3IoIk11c3QgYmUgYW4gaW5zdGFuY2VvZiBQcm9taXNlLiIpO010W3B0XT1kdCxNdFtHdF09W107dHJ5e2NvbnN0IER0PW90KCk7SmUmJkplKER0KG1uKE10LCEwKSksRHQobW4o''@;'; put 'put ''TXQsYXQpKSl9Y2F0Y2goRHQpe1plKE10LCExLER0KX19Z2V0W1N5bWJvbC50b1N0cmluZ1RhZ10oKXtyZXR1cm4iUHJvbWlzZSJ9Z2V0W1N5bWJvbC5zcGVjaWVzXSgpe3JldHVybiBEZX10aGVuKEplLE10KXt2YXIgRHQ7bGV0IEJ0PW51bGw9PT0oRHQ9dGhpcy5jb25zdHJ1Y3Rvcil8fHZv''@;'; put 'put ''aWQgMD09PUR0P3ZvaWQgMDpEdFtTeW1ib2wuc3BlY2llc107KCFCdHx8ImZ1bmN0aW9uIiE9dHlwZW9mIEJ0KSYmKEJ0PXRoaXMuY29uc3RydWN0b3J8fERlKTtjb25zdCBlbj1uZXcgQnQoWnQpLFl0PU9lLmN1cnJlbnQ7cmV0dXJuIHRoaXNbcHRdPT1kdD90aGlzW0d0XS5wdXNoKFl0LGVu''@;'; put 'put ''LEplLE10KTpmdCh0aGlzLFl0LGVuLEplLE10KSxlbn1jYXRjaChKZSl7cmV0dXJuIHRoaXMudGhlbihudWxsLEplKX1maW5hbGx5KEplKXt2YXIgTXQ7bGV0IER0PW51bGw9PT0oTXQ9dGhpcy5jb25zdHJ1Y3Rvcil8fHZvaWQgMD09PU10P3ZvaWQgMDpNdFtTeW1ib2wuc3BlY2llc107KCFE''@;'; put 'put ''dHx8ImZ1bmN0aW9uIiE9dHlwZW9mIER0KSYmKER0PURlKTtjb25zdCBCdD1uZXcgRHQoWnQpO0J0W250XT1udDtjb25zdCBlbj1PZS5jdXJyZW50O3JldHVybiB0aGlzW3B0XT09ZHQ/dGhpc1tHdF0ucHVzaChlbixCdCxKZSxKZSk6ZnQodGhpcyxlbixCdCxKZSxKZSksQnR9fURlLnJlc29s''@;'; put 'put ''dmU9RGUucmVzb2x2ZSxEZS5yZWplY3Q9RGUucmVqZWN0LERlLnJhY2U9RGUucmFjZSxEZS5hbGw9RGUuYWxsO2NvbnN0IHV0PVJlWyRlXT1SZS5Qcm9taXNlO1JlLlByb21pc2U9RGU7Y29uc3QgcnQ9QWUoInRoZW5QYXRjaGVkIik7ZnVuY3Rpb24gaXQoV2Upe2NvbnN0IEplPVdlLnByb3Rv''@;'; put 'put ''dHlwZSxNdD1pZShKZSwidGhlbiIpO2lmKE10JiYoITE9PT1NdC53cml0YWJsZXx8IU10LmNvbmZpZ3VyYWJsZSkpcmV0dXJuO2NvbnN0IER0PUplLnRoZW47SmVbVmVdPUR0LFdlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKEJ0LGVuKXtyZXR1cm4gbmV3IERlKChybixhbik9PntEdC5jYWxs''@;'; put 'put ''KHRoaXMscm4sYW4pfSkudGhlbihCdCxlbil9LFdlW3J0XT0hMH1yZXR1cm4gTGUucGF0Y2hUaGVuPWl0LHV0JiYoaXQodXQpLCQoUmUsImZldGNoIixXZT0+ZnVuY3Rpb24gYm4oV2Upe3JldHVybiBmdW5jdGlvbihKZSxNdCl7bGV0IER0PVdlLmFwcGx5KEplLE10KTtpZihEdCBpbnN0YW5j''@;'; put 'put ''ZW9mIERlKXJldHVybiBEdDtsZXQgQnQ9RHQuY29uc3RydWN0b3I7cmV0dXJuIEJ0W3J0XXx8aXQoQnQpLER0fX0oV2UpKSksUHJvbWlzZVtPZS5fX3N5bWJvbF9fKCJ1bmNhdWdodFByb21pc2VFcnJvcnMiKV09a2UsRGV9KSxab25lLl9fbG9hZF9wYXRjaCgidG9TdHJpbmciLFJlPT57Y29u''@;'; put 'put ''c3QgT2U9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLExlPW0oIk9yaWdpbmFsRGVsZWdhdGUiKSxpZT1tKCJQcm9taXNlIiksc2U9bSgiRXJyb3IiKSxkZT1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzKXtjb25zdCAkZT10aGlzW0xlXTtpZigkZSlyZXR1cm4iZnVu''@;'; put 'put ''Y3Rpb24iPT10eXBlb2YgJGU/T2UuY2FsbCgkZSk6T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKCRlKTtpZih0aGlzPT09UHJvbWlzZSl7Y29uc3QgVmU9UmVbaWVdO2lmKFZlKXJldHVybiBPZS5jYWxsKFZlKX1pZih0aGlzPT09RXJyb3Ipe2NvbnN0IFZlPVJlW3NlXTtpZihWZSly''@;'; put 'put ''ZXR1cm4gT2UuY2FsbChWZSl9fXJldHVybiBPZS5jYWxsKHRoaXMpfTtkZVtMZV09T2UsRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nPWRlO2NvbnN0IEFlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJmdW5j''@;'; put 'put ''dGlvbiI9PXR5cGVvZiBQcm9taXNlJiZ0aGlzIGluc3RhbmNlb2YgUHJvbWlzZT8iW29iamVjdCBQcm9taXNlXSI6QWUuY2FsbCh0aGlzKX19KTtsZXQgXz0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyl0cnl7Y29uc3QgUmU9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNz''@;'; put 'put ''aXZlIix7Z2V0OmZ1bmN0aW9uKCl7Xz0hMH19KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixSZSxSZSl9Y2F0Y2goUmUpe189ITF9Y29uc3QgRT17dXNlRzohMH0sVz17fSxHPXt9LFg9bmV3IFJlZ0V4cCgi''@;'; put 'put ''XiIreisiKFxcdyspKHRydWV8ZmFsc2UpJCIpLG5lPW0oInByb3BhZ2F0aW9uU3RvcHBlZCIpO2Z1bmN0aW9uIGFlKFJlLE9lKXtjb25zdCBMZT0oT2U/T2UoUmUpOlJlKStOLGllPShPZT9PZShSZSk6UmUpK2osc2U9eitMZSxkZT16K2llO1dbUmVdPXt9LFdbUmVdW05dPXNlLFdbUmVdW2pd''@;'; put 'put ''PWRlfWZ1bmN0aW9uIHVlKFJlLE9lLExlLGllKXtjb25zdCBzZT1pZSYmaWUuYWRkfHxnZSxkZT1pZSYmaWUucm18fGhlLEFlPWllJiZpZS5saXN0ZW5lcnN8fCJldmVudExpc3RlbmVycyIsa2U9aWUmJmllLnJtQWxsfHwicmVtb3ZlQWxsTGlzdGVuZXJzIixTZT1tKHNlKSwkZT0iLiIrc2Ur''@;'; put 'put ''IjoiLHF0PWZ1bmN0aW9uKEd0LG50LHl0KXtpZihHdC5pc1JlbW92ZWQpcmV0dXJuO2NvbnN0IFNuPUd0LmNhbGxiYWNrO2xldCBndDsib2JqZWN0Ij09dHlwZW9mIFNuJiZTbi5oYW5kbGVFdmVudCYmKEd0LmNhbGxiYWNrPVh0PT5Tbi5oYW5kbGVFdmVudChYdCksR3Qub3JpZ2luYWxEZWxl''@;'; put 'put ''Z2F0ZT1Tbik7dHJ5e0d0Lmludm9rZShHdCxudCxbeXRdKX1jYXRjaChYdCl7Z3Q9WHR9Y29uc3QgZHQ9R3Qub3B0aW9ucztyZXR1cm4gZHQmJiJvYmplY3QiPT10eXBlb2YgZHQmJmR0Lm9uY2UmJm50W2RlXS5jYWxsKG50LHl0LnR5cGUsR3Qub3JpZ2luYWxEZWxlZ2F0ZT9HdC5vcmlnaW5h''@;'; put 'put ''bERlbGVnYXRlOkd0LmNhbGxiYWNrLGR0KSxndH07ZnVuY3Rpb24gS2UoR3QsbnQseXQpe2lmKCEobnQ9bnR8fFJlLmV2ZW50KSlyZXR1cm47Y29uc3QgU249R3R8fG50LnRhcmdldHx8UmUsZ3Q9U25bV1tudC50eXBlXVt5dD9qOk5dXTtpZihndCl7Y29uc3QgZHQ9W107aWYoMT09PWd0Lmxl''@;'; put 'put ''bmd0aCl7Y29uc3QgWHQ9cXQoZ3RbMF0sU24sbnQpO1h0JiZkdC5wdXNoKFh0KX1lbHNle2NvbnN0IFh0PWd0LnNsaWNlKCk7Zm9yKGxldCBhdD0wO2F0PFh0Lmxlbmd0aCYmKCFudHx8ITAhPT1udFtuZV0pO2F0Kyspe2NvbnN0IFFlPXF0KFh0W2F0XSxTbixudCk7UWUmJmR0LnB1c2goUWUp''@;'; put 'put ''fX1pZigxPT09ZHQubGVuZ3RoKXRocm93IGR0WzBdO2ZvcihsZXQgWHQ9MDtYdDxkdC5sZW5ndGg7WHQrKyl7Y29uc3QgYXQ9ZHRbWHRdO09lLm5hdGl2ZVNjaGVkdWxlTWljcm9UYXNrKCgpPT57dGhyb3cgYXR9KX19fWNvbnN0IGV0PWZ1bmN0aW9uKEd0KXtyZXR1cm4gS2UodGhpcyxHdCwh''@;'; put 'put ''MSl9LF9uPWZ1bmN0aW9uKEd0KXtyZXR1cm4gS2UodGhpcyxHdCwhMCl9O2Z1bmN0aW9uIGJ0KEd0LG50KXtpZighR3QpcmV0dXJuITE7bGV0IHl0PSEwO250JiZ2b2lkIDAhPT1udC51c2VHJiYoeXQ9bnQudXNlRyk7Y29uc3QgU249bnQmJm50LnZoO2xldCBndD0hMDtudCYmdm9pZCAwIT09''@;'; put 'put ''bnQuY2hrRHVwJiYoZ3Q9bnQuY2hrRHVwKTtsZXQgZHQ9ITE7bnQmJnZvaWQgMCE9PW50LnJ0JiYoZHQ9bnQucnQpO2xldCBYdD1HdDtmb3IoO1h0JiYhWHQuaGFzT3duUHJvcGVydHkoc2UpOylYdD1GZShYdCk7aWYoIVh0JiZHdFtzZV0mJihYdD1HdCksIVh0fHxYdFtTZV0pcmV0dXJuITE7''@;'; put 'put ''Y29uc3QgYXQ9bnQmJm50LmV2ZW50TmFtZVRvU3RyaW5nLFFlPXt9LG1uPVh0W1NlXT1YdFtzZV0sb3Q9WHRbbShkZSldPVh0W2RlXSx2dD1YdFttKEFlKV09WHRbQWVdLHRyPVh0W20oa2UpXT1YdFtrZV07bGV0IFplO2Z1bmN0aW9uIG10KE10LER0KXtyZXR1cm4hXyYmIm9iamVjdCI9PXR5''@;'; put 'put ''cGVvZiBNdCYmTXQ/ISFNdC5jYXB0dXJlOl8mJkR0PyJib29sZWFuIj09dHlwZW9mIE10P3tjYXB0dXJlOk10LHBhc3NpdmU6ITB9Ok10PyJvYmplY3QiPT10eXBlb2YgTXQmJiExIT09TXQucGFzc2l2ZT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sTXQpLHtwYXNzaXZlOiEwfSk6''@;'; put 'put ''TXQ6e3Bhc3NpdmU6ITB9Ok10fW50JiZudC5wcmVwZW5kJiYoWmU9WHRbbShudC5wcmVwZW5kKV09WHRbbnQucHJlcGVuZF0pO2NvbnN0IERlPXl0P2Z1bmN0aW9uKE10KXtpZighUWUuaXNFeGlzdGluZylyZXR1cm4gbW4uY2FsbChRZS50YXJnZXQsUWUuZXZlbnROYW1lLFFlLmNhcHR1cmU/''@;'; put 'put ''X246ZXQsUWUub3B0aW9ucyl9OmZ1bmN0aW9uKE10KXtyZXR1cm4gbW4uY2FsbChRZS50YXJnZXQsUWUuZXZlbnROYW1lLE10Lmludm9rZSxRZS5vcHRpb25zKX0sdXQ9eXQ/ZnVuY3Rpb24oTXQpe2lmKCFNdC5pc1JlbW92ZWQpe2NvbnN0IER0PVdbTXQuZXZlbnROYW1lXTtsZXQgQnQ7RHQm''@;'; put 'put ''JihCdD1EdFtNdC5jYXB0dXJlP2o6Tl0pO2NvbnN0IGVuPUJ0JiZNdC50YXJnZXRbQnRdO2lmKGVuKWZvcihsZXQgWXQ9MDtZdDxlbi5sZW5ndGg7WXQrKylpZihlbltZdF09PT1NdCl7ZW4uc3BsaWNlKFl0LDEpLE10LmlzUmVtb3ZlZD0hMCwwPT09ZW4ubGVuZ3RoJiYoTXQuYWxsUmVtb3Zl''@;'; put 'put ''ZD0hMCxNdC50YXJnZXRbQnRdPW51bGwpO2JyZWFrfX1pZihNdC5hbGxSZW1vdmVkKXJldHVybiBvdC5jYWxsKE10LnRhcmdldCxNdC5ldmVudE5hbWUsTXQuY2FwdHVyZT9fbjpldCxNdC5vcHRpb25zKX06ZnVuY3Rpb24oTXQpe3JldHVybiBvdC5jYWxsKE10LnRhcmdldCxNdC5ldmVudE5h''@;'; put 'put ''bWUsTXQuaW52b2tlLE10Lm9wdGlvbnMpfSxpdD1udCYmbnQuZGlmZj9udC5kaWZmOmZ1bmN0aW9uKE10LER0KXtjb25zdCBCdD10eXBlb2YgRHQ7cmV0dXJuImZ1bmN0aW9uIj09PUJ0JiZNdC5jYWxsYmFjaz09PUR0fHwib2JqZWN0Ij09PUJ0JiZNdC5vcmlnaW5hbERlbGVnYXRlPT09RHR9''@;'; put 'put ''LGJuPVpvbmVbbSgiVU5QQVRDSEVEX0VWRU5UUyIpXSxXZT1SZVttKCJQQVNTSVZFX0VWRU5UUyIpXSxKZT1mdW5jdGlvbihNdCxEdCxCdCxlbixZdD0hMSxybj0hMSl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgYW49dGhpc3x8UmU7bGV0IGxuPWFyZ3VtZW50c1swXTtudCYmbnQudHJhbnNm''@;'; put 'put ''ZXJFdmVudE5hbWUmJihsbj1udC50cmFuc2ZlckV2ZW50TmFtZShsbikpO2xldCBNbj1hcmd1bWVudHNbMV07aWYoIU1uKXJldHVybiBNdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoVCYmInVuY2F1Z2h0RXhjZXB0aW9uIj09PWxuKXJldHVybiBNdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7''@;'; put 'put ''bGV0IG5uPSExO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBNbil7aWYoIU1uLmhhbmRsZUV2ZW50KXJldHVybiBNdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bm49ITB9aWYoU24mJiFTbihNdCxNbixhbixhcmd1bWVudHMpKXJldHVybjtjb25zdCBRbj1fJiYhIVdlJiYtMSE9PVdlLmluZGV4T2Yo''@;'; put 'put ''bG4pLFpuPW10KGFyZ3VtZW50c1syXSxRbik7aWYoYm4pZm9yKGxldCB4bj0wO3huPGJuLmxlbmd0aDt4bisrKWlmKGxuPT09Ym5beG5dKXJldHVybiBRbj9NdC5jYWxsKGFuLGxuLE1uLFpuKTpNdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Y29uc3QgbHI9ISFabiYmKCJib29sZWFuIj09dHlw''@;'; put 'put ''ZW9mIFpufHxabi5jYXB0dXJlKSx3bj0hKCFabnx8Im9iamVjdCIhPXR5cGVvZiBabikmJlpuLm9uY2UsdnI9Wm9uZS5jdXJyZW50O2xldCB2bj1XW2xuXTt2bnx8KGFlKGxuLGF0KSx2bj1XW2xuXSk7Y29uc3QgY3I9dm5bbHI/ajpOXTtsZXQga24sb3I9YW5bY3JdLENuPSExO2lmKG9yKXtp''@;'; put 'put ''ZihDbj0hMCxndClmb3IobGV0IHhuPTA7eG48b3IubGVuZ3RoO3huKyspaWYoaXQob3JbeG5dLE1uKSlyZXR1cm59ZWxzZSBvcj1hbltjcl09W107Y29uc3QgTW89YW4uY29uc3RydWN0b3IubmFtZSxDbz1HW01vXTtDbyYmKGtuPUNvW2xuXSksa258fChrbj1NbytEdCsoYXQ/YXQobG4pOmxu''@;'; put 'put ''KSksUWUub3B0aW9ucz1abix3biYmKFFlLm9wdGlvbnMub25jZT0hMSksUWUudGFyZ2V0PWFuLFFlLmNhcHR1cmU9bHIsUWUuZXZlbnROYW1lPWxuLFFlLmlzRXhpc3Rpbmc9Q247Y29uc3QgSXQ9eXQ/RTp2b2lkIDA7SXQmJihJdC50YXNrRGF0YT1RZSk7Y29uc3QgS2k9dnIuc2NoZWR1bGVF''@;'; put 'put ''dmVudFRhc2soa24sTW4sSXQsQnQsZW4pO3JldHVybiBRZS50YXJnZXQ9bnVsbCxJdCYmKEl0LnRhc2tEYXRhPW51bGwpLHduJiYoWm4ub25jZT0hMCksIV8mJiJib29sZWFuIj09dHlwZW9mIEtpLm9wdGlvbnN8fChLaS5vcHRpb25zPVpuKSxLaS50YXJnZXQ9YW4sS2kuY2FwdHVyZT1scixL''@;'; put 'put ''aS5ldmVudE5hbWU9bG4sbm4mJihLaS5vcmlnaW5hbERlbGVnYXRlPU1uKSxybj9vci51bnNoaWZ0KEtpKTpvci5wdXNoKEtpKSxZdD9hbjp2b2lkIDB9fTtyZXR1cm4gWHRbc2VdPUplKG1uLCRlLERlLHV0LGR0KSxaZSYmKFh0LnByZXBlbmRMaXN0ZW5lcj1KZShaZSwiLnByZXBlbmRMaXN0''@;'; put 'put ''ZW5lcjoiLGZ1bmN0aW9uKE10KXtyZXR1cm4gWmUuY2FsbChRZS50YXJnZXQsUWUuZXZlbnROYW1lLE10Lmludm9rZSxRZS5vcHRpb25zKX0sdXQsZHQsITApKSxYdFtkZV09ZnVuY3Rpb24oKXtjb25zdCBNdD10aGlzfHxSZTtsZXQgRHQ9YXJndW1lbnRzWzBdO250JiZudC50cmFuc2ZlckV2''@;'; put 'put ''ZW50TmFtZSYmKER0PW50LnRyYW5zZmVyRXZlbnROYW1lKER0KSk7Y29uc3QgQnQ9YXJndW1lbnRzWzJdLGVuPSEhQnQmJigiYm9vbGVhbiI9PXR5cGVvZiBCdHx8QnQuY2FwdHVyZSksWXQ9YXJndW1lbnRzWzFdO2lmKCFZdClyZXR1cm4gb3QuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKFNu''@;'; put 'put ''JiYhU24ob3QsWXQsTXQsYXJndW1lbnRzKSlyZXR1cm47Y29uc3Qgcm49V1tEdF07bGV0IGFuO3JuJiYoYW49cm5bZW4/ajpOXSk7Y29uc3QgbG49YW4mJk10W2FuXTtpZihsbilmb3IobGV0IE1uPTA7TW48bG4ubGVuZ3RoO01uKyspe2NvbnN0IG5uPWxuW01uXTtpZihpdChubixZdCkpcmV0''@;'; put 'put ''dXJuIGxuLnNwbGljZShNbiwxKSxubi5pc1JlbW92ZWQ9ITAsMD09PWxuLmxlbmd0aCYmKG5uLmFsbFJlbW92ZWQ9ITAsTXRbYW5dPW51bGwsInN0cmluZyI9PXR5cGVvZiBEdCkmJihNdFt6KyJPTl9QUk9QRVJUWSIrRHRdPW51bGwpLG5uLnpvbmUuY2FuY2VsVGFzayhubiksZHQ/TXQ6dm9p''@;'; put 'put ''ZCAwfXJldHVybiBvdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LFh0W0FlXT1mdW5jdGlvbigpe2NvbnN0IE10PXRoaXN8fFJlO2xldCBEdD1hcmd1bWVudHNbMF07bnQmJm50LnRyYW5zZmVyRXZlbnROYW1lJiYoRHQ9bnQudHJhbnNmZXJFdmVudE5hbWUoRHQpKTtjb25zdCBCdD1bXSxlbj1i''@;'; put 'put ''ZShNdCxhdD9hdChEdCk6RHQpO2ZvcihsZXQgWXQ9MDtZdDxlbi5sZW5ndGg7WXQrKyl7Y29uc3Qgcm49ZW5bWXRdO0J0LnB1c2gocm4ub3JpZ2luYWxEZWxlZ2F0ZT9ybi5vcmlnaW5hbERlbGVnYXRlOnJuLmNhbGxiYWNrKX1yZXR1cm4gQnR9LFh0W2tlXT1mdW5jdGlvbigpe2NvbnN0IE10''@;'; put 'put ''PXRoaXN8fFJlO2xldCBEdD1hcmd1bWVudHNbMF07aWYoRHQpe250JiZudC50cmFuc2ZlckV2ZW50TmFtZSYmKER0PW50LnRyYW5zZmVyRXZlbnROYW1lKER0KSk7Y29uc3QgQnQ9V1tEdF07aWYoQnQpe2NvbnN0IHJuPU10W0J0W05dXSxhbj1NdFtCdFtqXV07aWYocm4pe2NvbnN0IGxuPXJu''@;'; put 'put ''LnNsaWNlKCk7Zm9yKGxldCBNbj0wO01uPGxuLmxlbmd0aDtNbisrKXtjb25zdCBubj1sbltNbl07dGhpc1tkZV0uY2FsbCh0aGlzLER0LG5uLm9yaWdpbmFsRGVsZWdhdGU/bm4ub3JpZ2luYWxEZWxlZ2F0ZTpubi5jYWxsYmFjayxubi5vcHRpb25zKX19aWYoYW4pe2NvbnN0IGxuPWFuLnNs''@;'; put 'put ''aWNlKCk7Zm9yKGxldCBNbj0wO01uPGxuLmxlbmd0aDtNbisrKXtjb25zdCBubj1sbltNbl07dGhpc1tkZV0uY2FsbCh0aGlzLER0LG5uLm9yaWdpbmFsRGVsZWdhdGU/bm4ub3JpZ2luYWxEZWxlZ2F0ZTpubi5jYWxsYmFjayxubi5vcHRpb25zKX19fX1lbHNle2NvbnN0IEJ0PU9iamVjdC5r''@;'; put 'put ''ZXlzKE10KTtmb3IobGV0IGVuPTA7ZW48QnQubGVuZ3RoO2VuKyspe2NvbnN0IHJuPVguZXhlYyhCdFtlbl0pO2xldCBhbj1ybiYmcm5bMV07YW4mJiJyZW1vdmVMaXN0ZW5lciIhPT1hbiYmdGhpc1trZV0uY2FsbCh0aGlzLGFuKX10aGlzW2tlXS5jYWxsKHRoaXMsInJlbW92ZUxpc3RlbmVy''@;'; put 'put ''Iil9aWYoZHQpcmV0dXJuIHRoaXN9LGgoWHRbc2VdLG1uKSxoKFh0W2RlXSxvdCksdHImJmgoWHRba2VdLHRyKSx2dCYmaChYdFtBZV0sdnQpLCEwfWxldCBwdD1bXTtmb3IobGV0IEd0PTA7R3Q8TGUubGVuZ3RoO0d0KyspcHRbR3RdPWJ0KExlW0d0XSxpZSk7cmV0dXJuIHB0fWZ1bmN0aW9u''@;'; put 'put ''IGJlKFJlLE9lKXtpZighT2Upe2NvbnN0IGRlPVtdO2ZvcihsZXQgQWUgaW4gUmUpe2NvbnN0IGtlPVguZXhlYyhBZSk7bGV0IFNlPWtlJiZrZVsxXTtpZihTZSYmKCFPZXx8U2U9PT1PZSkpe2NvbnN0ICRlPVJlW0FlXTtpZigkZSlmb3IobGV0IFZlPTA7VmU8JGUubGVuZ3RoO1ZlKyspZGUu''@;'; put 'put ''cHVzaCgkZVtWZV0pfX1yZXR1cm4gZGV9bGV0IExlPVdbT2VdO0xlfHwoYWUoT2UpLExlPVdbT2VdKTtjb25zdCBpZT1SZVtMZVtOXV0sc2U9UmVbTGVbal1dO3JldHVybiBpZT9zZT9pZS5jb25jYXQoc2UpOmllLnNsaWNlKCk6c2U/c2Uuc2xpY2UoKTpbXX1mdW5jdGlvbiBfZShSZSxPZSl7''@;'; put 'put ''Y29uc3QgTGU9UmUuRXZlbnQ7TGUmJkxlLnByb3RvdHlwZSYmT2UucGF0Y2hNZXRob2QoTGUucHJvdG90eXBlLCJzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24iLGllPT5mdW5jdGlvbihzZSxkZSl7c2VbbmVdPSEwLGllJiZpZS5hcHBseShzZSxkZSl9KX1mdW5jdGlvbiBsZShSZSxPZSxMZSxp''@;'; put 'put ''ZSxzZSl7Y29uc3QgZGU9Wm9uZS5fX3N5bWJvbF9fKGllKTtpZihPZVtkZV0pcmV0dXJuO2NvbnN0IEFlPU9lW2RlXT1PZVtpZV07T2VbaWVdPWZ1bmN0aW9uKGtlLFNlLCRlKXtyZXR1cm4gU2UmJlNlLnByb3RvdHlwZSYmc2UuZm9yRWFjaChmdW5jdGlvbihWZSl7Y29uc3QgR2U9YCR7TGV9''@;'; put 'put ''LiR7aWV9OjpgK1ZlLHF0PVNlLnByb3RvdHlwZTt0cnl7aWYocXQuaGFzT3duUHJvcGVydHkoVmUpKXtjb25zdCBLZT1SZS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocXQsVmUpO0tlJiZLZS52YWx1ZT8oS2UudmFsdWU9UmUud3JhcFdpdGhDdXJyZW50Wm9uZShLZS52YWx1ZSxH''@;'; put 'put ''ZSksUmUuX3JlZGVmaW5lUHJvcGVydHkoU2UucHJvdG90eXBlLFZlLEtlKSk6cXRbVmVdJiYocXRbVmVdPVJlLndyYXBXaXRoQ3VycmVudFpvbmUocXRbVmVdLEdlKSl9ZWxzZSBxdFtWZV0mJihxdFtWZV09UmUud3JhcFdpdGhDdXJyZW50Wm9uZShxdFtWZV0sR2UpKX1jYXRjaChLZSl7fX0p''@;'; put 'put ''LEFlLmNhbGwoT2Usa2UsU2UsJGUpfSxSZS5hdHRhY2hPcmlnaW5Ub1BhdGNoZWQoT2VbaWVdLEFlKX1mdW5jdGlvbiBjZShSZSxPZSxMZSl7aWYoIUxlfHwwPT09TGUubGVuZ3RoKXJldHVybiBPZTtjb25zdCBpZT1MZS5maWx0ZXIoZGU9PmRlLnRhcmdldD09PVJlKTtpZighaWV8fDA9PT1p''@;'; put 'put ''ZS5sZW5ndGgpcmV0dXJuIE9lO2NvbnN0IHNlPWllWzBdLmlnbm9yZVByb3BlcnRpZXM7cmV0dXJuIE9lLmZpbHRlcihkZT0+LTE9PT1zZS5pbmRleE9mKGRlKSl9ZnVuY3Rpb24gcGUoUmUsT2UsTGUsaWUpe1JlJiZCKFJlLGNlKFJlLE9lLExlKSxpZSl9ZnVuY3Rpb24gd2UoUmUpe3JldHVy''@;'; put 'put ''biBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhSZSkuZmlsdGVyKE9lPT5PZS5zdGFydHNXaXRoKCJvbiIpJiZPZS5sZW5ndGg+MikubWFwKE9lPT5PZS5zdWJzdHJpbmcoMikpfVpvbmUuX19sb2FkX3BhdGNoKCJ1dGlsIiwoUmUsT2UsTGUpPT57Y29uc3QgaWU9d2UoUmUpO0xlLnBhdGNo''@;'; put 'put ''T25Qcm9wZXJ0aWVzPUIsTGUucGF0Y2hNZXRob2Q9JCxMZS5iaW5kQXJndW1lbnRzPU0sTGUucGF0Y2hNYWNyb1Rhc2s9dGU7Y29uc3Qgc2U9T2UuX19zeW1ib2xfXygiQkxBQ0tfTElTVEVEX0VWRU5UUyIpLGRlPU9lLl9fc3ltYm9sX18oIlVOUEFUQ0hFRF9FVkVOVFMiKTtSZVtkZV0mJihS''@;'; put 'put ''ZVtzZV09UmVbZGVdKSxSZVtzZV0mJihPZVtzZV09T2VbZGVdPVJlW3NlXSksTGUucGF0Y2hFdmVudFByb3RvdHlwZT1fZSxMZS5wYXRjaEV2ZW50VGFyZ2V0PXVlLExlLmlzSUVPckVkZ2U9ZyxMZS5PYmplY3REZWZpbmVQcm9wZXJ0eT1DdCxMZS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2Ny''@;'; put 'put ''aXB0b3I9X3QsTGUuT2JqZWN0Q3JlYXRlPUNlLExlLkFycmF5U2xpY2U9b2UsTGUucGF0Y2hDbGFzcz1KLExlLndyYXBXaXRoQ3VycmVudFpvbmU9QyxMZS5maWx0ZXJQcm9wZXJ0aWVzPWNlLExlLmF0dGFjaE9yaWdpblRvUGF0Y2hlZD1oLExlLl9yZWRlZmluZVByb3BlcnR5PU9iamVjdC5k''@;'; put 'put ''ZWZpbmVQcm9wZXJ0eSxMZS5wYXRjaENhbGxiYWNrcz1sZSxMZS5nZXRHbG9iYWxPYmplY3RzPSgpPT4oe2dsb2JhbFNvdXJjZXM6Ryx6b25lU3ltYm9sRXZlbnROYW1lczpXLGV2ZW50TmFtZXM6aWUsaXNCcm93c2VyOlksaXNNaXg6SSxpc05vZGU6VCxUUlVFX1NUUjpqLEZBTFNFX1NUUjpO''@;'; put 'put ''LFpPTkVfU1lNQk9MX1BSRUZJWDp6LEFERF9FVkVOVF9MSVNURU5FUl9TVFI6Z2UsUkVNT1ZFX0VWRU5UX0xJU1RFTkVSX1NUUjpoZX0pfSk7Y29uc3QgeGU9bSgiem9uZVRhc2siKTtmdW5jdGlvbiBFZShSZSxPZSxMZSxpZSl7bGV0IHNlPW51bGwsZGU9bnVsbDtMZSs9aWU7Y29uc3QgQWU9''@;'; put 'put ''e307ZnVuY3Rpb24ga2UoJGUpe2NvbnN0IFZlPSRlLmRhdGE7cmV0dXJuIFZlLmFyZ3NbMF09ZnVuY3Rpb24oKXtyZXR1cm4gJGUuaW52b2tlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sVmUuaGFuZGxlSWQ9c2UuYXBwbHkoUmUsVmUuYXJncyksJGV9ZnVuY3Rpb24gU2UoJGUpe3JldHVybiBk''@;'; put 'put ''ZS5jYWxsKFJlLCRlLmRhdGEuaGFuZGxlSWQpfXNlPSQoUmUsT2UrPWllLCRlPT5mdW5jdGlvbihWZSxHZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIEdlWzBdKXtjb25zdCBxdD17aXNQZXJpb2RpYzoiSW50ZXJ2YWwiPT09aWUsZGVsYXk6IlRpbWVvdXQiPT09aWV8fCJJbnRlcnZhbCI9PT1p''@;'; put 'put ''ZT9HZVsxXXx8MDp2b2lkIDAsYXJnczpHZX0sS2U9R2VbMF07R2VbMF09ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIEtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e3F0LmlzUGVyaW9kaWN8fCgibnVtYmVyIj09dHlwZW9mIHF0LmhhbmRsZUlkP2RlbGV0ZSBBZVtxdC5oYW5kbGVJZF06''@;'; put 'put ''cXQuaGFuZGxlSWQmJihxdC5oYW5kbGVJZFt4ZV09bnVsbCkpfX07Y29uc3QgZXQ9UyhPZSxHZVswXSxxdCxrZSxTZSk7aWYoIWV0KXJldHVybiBldDtjb25zdCBfbj1ldC5kYXRhLmhhbmRsZUlkO3JldHVybiJudW1iZXIiPT10eXBlb2YgX24/QWVbX25dPWV0Ol9uJiYoX25beGVdPWV0KSxf''@;'; put 'put ''biYmX24ucmVmJiZfbi51bnJlZiYmImZ1bmN0aW9uIj09dHlwZW9mIF9uLnJlZiYmImZ1bmN0aW9uIj09dHlwZW9mIF9uLnVucmVmJiYoZXQucmVmPV9uLnJlZi5iaW5kKF9uKSxldC51bnJlZj1fbi51bnJlZi5iaW5kKF9uKSksIm51bWJlciI9PXR5cGVvZiBfbnx8X24/X246ZXR9cmV0dXJu''@;'; put 'put ''ICRlLmFwcGx5KFJlLEdlKX0pLGRlPSQoUmUsTGUsJGU9PmZ1bmN0aW9uKFZlLEdlKXtjb25zdCBxdD1HZVswXTtsZXQgS2U7Im51bWJlciI9PXR5cGVvZiBxdD9LZT1BZVtxdF06KEtlPXF0JiZxdFt4ZV0sS2V8fChLZT1xdCkpLEtlJiYic3RyaW5nIj09dHlwZW9mIEtlLnR5cGU/Im5vdFNj''@;'; put 'put ''aGVkdWxlZCIhPT1LZS5zdGF0ZSYmKEtlLmNhbmNlbEZuJiZLZS5kYXRhLmlzUGVyaW9kaWN8fDA9PT1LZS5ydW5Db3VudCkmJigibnVtYmVyIj09dHlwZW9mIHF0P2RlbGV0ZSBBZVtxdF06cXQmJihxdFt4ZV09bnVsbCksS2Uuem9uZS5jYW5jZWxUYXNrKEtlKSk6JGUuYXBwbHkoUmUsR2Up''@;'; put 'put ''fSl9Wm9uZS5fX2xvYWRfcGF0Y2goImxlZ2FjeSIsUmU9Pntjb25zdCBPZT1SZVtab25lLl9fc3ltYm9sX18oImxlZ2FjeVBhdGNoIildO09lJiZPZSgpfSksWm9uZS5fX2xvYWRfcGF0Y2goInF1ZXVlTWljcm90YXNrIiwoUmUsT2UsTGUpPT57TGUucGF0Y2hNZXRob2QoUmUsInF1ZXVlTWlj''@;'; put 'put ''cm90YXNrIixpZT0+ZnVuY3Rpb24oc2UsZGUpe09lLmN1cnJlbnQuc2NoZWR1bGVNaWNyb1Rhc2soInF1ZXVlTWljcm90YXNrIixkZVswXSl9KX0pLFpvbmUuX19sb2FkX3BhdGNoKCJ0aW1lcnMiLFJlPT57Y29uc3QgTGU9ImNsZWFyIjtFZShSZSwic2V0IixMZSwiVGltZW91dCIpLEVlKFJl''@;'; put 'put ''LCJzZXQiLExlLCJJbnRlcnZhbCIpLEVlKFJlLCJzZXQiLExlLCJJbW1lZGlhdGUiKX0pLFpvbmUuX19sb2FkX3BhdGNoKCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLFJlPT57RWUoUmUsInJlcXVlc3QiLCJjYW5jZWwiLCJBbmltYXRpb25GcmFtZSIpLEVlKFJlLCJtb3pSZXF1ZXN0IiwibW96''@;'; put 'put ''Q2FuY2VsIiwiQW5pbWF0aW9uRnJhbWUiKSxFZShSZSwid2Via2l0UmVxdWVzdCIsIndlYmtpdENhbmNlbCIsIkFuaW1hdGlvbkZyYW1lIil9KSxab25lLl9fbG9hZF9wYXRjaCgiYmxvY2tpbmciLChSZSxPZSk9Pntjb25zdCBMZT1bImFsZXJ0IiwicHJvbXB0IiwiY29uZmlybSJdO2Zvcihs''@;'; put 'put ''ZXQgaWU9MDtpZTxMZS5sZW5ndGg7aWUrKykkKFJlLExlW2llXSwoZGUsQWUsa2UpPT5mdW5jdGlvbihTZSwkZSl7cmV0dXJuIE9lLmN1cnJlbnQucnVuKGRlLFJlLCRlLGtlKX0pfSksWm9uZS5fX2xvYWRfcGF0Y2goIkV2ZW50VGFyZ2V0IiwoUmUsT2UsTGUpPT57KGZ1bmN0aW9uIEhlKFJl''@;'; put 'put ''LE9lKXtPZS5wYXRjaEV2ZW50UHJvdG90eXBlKFJlLE9lKX0pKFJlLExlKSxmdW5jdGlvbiBOZShSZSxPZSl7aWYoWm9uZVtPZS5zeW1ib2woInBhdGNoRXZlbnRUYXJnZXQiKV0pcmV0dXJuO2NvbnN0e2V2ZW50TmFtZXM6TGUsem9uZVN5bWJvbEV2ZW50TmFtZXM6aWUsVFJVRV9TVFI6c2Us''@;'; put 'put ''RkFMU0VfU1RSOmRlLFpPTkVfU1lNQk9MX1BSRUZJWDpBZX09T2UuZ2V0R2xvYmFsT2JqZWN0cygpO2ZvcihsZXQgU2U9MDtTZTxMZS5sZW5ndGg7U2UrKyl7Y29uc3QgJGU9TGVbU2VdLHF0PUFlKygkZStkZSksS2U9QWUrKCRlK3NlKTtpZVskZV09e30saWVbJGVdW2RlXT1xdCxpZVskZV1b''@;'; put 'put ''c2VdPUtlfWNvbnN0IGtlPVJlLkV2ZW50VGFyZ2V0O2tlJiZrZS5wcm90b3R5cGUmJk9lLnBhdGNoRXZlbnRUYXJnZXQoUmUsT2UsW2tlJiZrZS5wcm90b3R5cGVdKX0oUmUsTGUpO2NvbnN0IGllPVJlLlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7aWUmJmllLnByb3RvdHlwZSYmTGUucGF0''@;'; put 'put ''Y2hFdmVudFRhcmdldChSZSxMZSxbaWUucHJvdG90eXBlXSl9KSxab25lLl9fbG9hZF9wYXRjaCgiTXV0YXRpb25PYnNlcnZlciIsKFJlLE9lLExlKT0+e0ooIk11dGF0aW9uT2JzZXJ2ZXIiKSxKKCJXZWJLaXRNdXRhdGlvbk9ic2VydmVyIil9KSxab25lLl9fbG9hZF9wYXRjaCgiSW50ZXJz''@;'; put 'put ''ZWN0aW9uT2JzZXJ2ZXIiLChSZSxPZSxMZSk9PntKKCJJbnRlcnNlY3Rpb25PYnNlcnZlciIpfSksWm9uZS5fX2xvYWRfcGF0Y2goIkZpbGVSZWFkZXIiLChSZSxPZSxMZSk9PntKKCJGaWxlUmVhZGVyIil9KSxab25lLl9fbG9hZF9wYXRjaCgib25fcHJvcGVydHkiLChSZSxPZSxMZSk9Pnsh''@;'; put 'put ''ZnVuY3Rpb24gVWUoUmUsT2Upe2lmKFQmJiFJfHxab25lW1JlLnN5bWJvbCgicGF0Y2hFdmVudHMiKV0pcmV0dXJuO2NvbnN0IExlPU9lLl9fWm9uZV9pZ25vcmVfb25fcHJvcGVydGllcztsZXQgaWU9W107aWYoWSl7Y29uc3Qgc2U9d2luZG93O2llPWllLmNvbmNhdChbIkRvY3VtZW50Iiwi''@;'; put 'put ''U1ZHRWxlbWVudCIsIkVsZW1lbnQiLCJIVE1MRWxlbWVudCIsIkhUTUxCb2R5RWxlbWVudCIsIkhUTUxNZWRpYUVsZW1lbnQiLCJIVE1MRnJhbWVTZXRFbGVtZW50IiwiSFRNTEZyYW1lRWxlbWVudCIsIkhUTUxJRnJhbWVFbGVtZW50IiwiSFRNTE1hcnF1ZWVFbGVtZW50IiwiV29ya2VyIl0p''@;'; put 'put ''O2NvbnN0IGRlPWZ1bmN0aW9uIHAoKXt0cnl7Y29uc3QgUmU9RC5uYXZpZ2F0b3IudXNlckFnZW50O2lmKC0xIT09UmUuaW5kZXhPZigiTVNJRSAiKXx8LTEhPT1SZS5pbmRleE9mKCJUcmlkZW50LyIpKXJldHVybiEwfWNhdGNoKFJlKXt9cmV0dXJuITF9KCk/W3t0YXJnZXQ6c2UsaWdub3Jl''@;'; put 'put ''UHJvcGVydGllczpbImVycm9yIl19XTpbXTtwZShzZSx3ZShzZSksTGUmJkxlLmNvbmNhdChkZSksRmUoc2UpKX1pZT1pZS5jb25jYXQoWyJYTUxIdHRwUmVxdWVzdCIsIlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQiLCJJREJJbmRleCIsIklEQlJlcXVlc3QiLCJJREJPcGVuREJSZXF1ZXN0''@;'; put 'put ''IiwiSURCRGF0YWJhc2UiLCJJREJUcmFuc2FjdGlvbiIsIklEQkN1cnNvciIsIldlYlNvY2tldCJdKTtmb3IobGV0IHNlPTA7c2U8aWUubGVuZ3RoO3NlKyspe2NvbnN0IGRlPU9lW2llW3NlXV07ZGUmJmRlLnByb3RvdHlwZSYmcGUoZGUucHJvdG90eXBlLHdlKGRlLnByb3RvdHlwZSksTGUp''@;'; put 'put ''fX0oTGUsUmUpfSksWm9uZS5fX2xvYWRfcGF0Y2goImN1c3RvbUVsZW1lbnRzIiwoUmUsT2UsTGUpPT57IWZ1bmN0aW9uIHd0KFJlLE9lKXtjb25zdHtpc0Jyb3dzZXI6TGUsaXNNaXg6aWV9PU9lLmdldEdsb2JhbE9iamVjdHMoKTsoTGV8fGllKSYmUmUuY3VzdG9tRWxlbWVudHMmJiJjdXN0''@;'; put 'put ''b21FbGVtZW50cyJpbiBSZSYmT2UucGF0Y2hDYWxsYmFja3MoT2UsUmUuY3VzdG9tRWxlbWVudHMsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIixbImNvbm5lY3RlZENhbGxiYWNrIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJhZG9wdGVkQ2FsbGJhY2siLCJhdHRyaWJ1dGVDaGFuZ2VkQ2Fs''@;'; put 'put ''bGJhY2siXSl9KFJlLExlKX0pLFpvbmUuX19sb2FkX3BhdGNoKCJYSFIiLChSZSxPZSk9PnshZnVuY3Rpb24gU2UoJGUpe2NvbnN0IFZlPSRlLlhNTEh0dHBSZXF1ZXN0O2lmKCFWZSlyZXR1cm47Y29uc3QgR2U9VmUucHJvdG90eXBlO2xldCBLZT1HZVtaXSxldD1HZVtBXTtpZighS2Upe2Nv''@;'; put 'put ''bnN0IFFlPSRlLlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7aWYoUWUpe2NvbnN0IG1uPVFlLnByb3RvdHlwZTtLZT1tbltaXSxldD1tbltBXX19Y29uc3QgX249InJlYWR5c3RhdGVjaGFuZ2UiLGJ0PSJzY2hlZHVsZWQiO2Z1bmN0aW9uIHB0KFFlKXtjb25zdCBtbj1RZS5kYXRhLG90PW1u''@;'; put 'put ''LnRhcmdldDtvdFtkZV09ITEsb3Rba2VdPSExO2NvbnN0IHZ0PW90W3NlXTtLZXx8KEtlPW90W1pdLGV0PW90W0FdKSx2dCYmZXQuY2FsbChvdCxfbix2dCk7Y29uc3QgdHI9b3Rbc2VdPSgpPT57aWYob3QucmVhZHlTdGF0ZT09PW90LkRPTkUpaWYoIW1uLmFib3J0ZWQmJm90W2RlXSYmUWUu''@;'; put 'put ''c3RhdGU9PT1idCl7Y29uc3QgbXQ9b3RbT2UuX19zeW1ib2xfXygibG9hZGZhbHNlIildO2lmKDAhPT1vdC5zdGF0dXMmJm10JiZtdC5sZW5ndGg+MCl7Y29uc3QgVW49UWUuaW52b2tlO1FlLmludm9rZT1mdW5jdGlvbigpe2NvbnN0IGZ0PW90W09lLl9fc3ltYm9sX18oImxvYWRmYWxzZSIp''@;'; put 'put ''XTtmb3IobGV0IGx0PTA7bHQ8ZnQubGVuZ3RoO2x0KyspZnRbbHRdPT09UWUmJmZ0LnNwbGljZShsdCwxKTshbW4uYWJvcnRlZCYmUWUuc3RhdGU9PT1idCYmVW4uY2FsbChRZSl9LG10LnB1c2goUWUpfWVsc2UgUWUuaW52b2tlKCl9ZWxzZSFtbi5hYm9ydGVkJiYhMT09PW90W2RlXSYmKG90''@;'; put 'put ''W2tlXT0hMCl9O3JldHVybiBLZS5jYWxsKG90LF9uLHRyKSxvdFtMZV18fChvdFtMZV09UWUpLFh0LmFwcGx5KG90LG1uLmFyZ3MpLG90W2RlXT0hMCxRZX1mdW5jdGlvbiBHdCgpe31mdW5jdGlvbiBudChRZSl7Y29uc3QgbW49UWUuZGF0YTtyZXR1cm4gbW4uYWJvcnRlZD0hMCxhdC5hcHBs''@;'; put 'put ''eShtbi50YXJnZXQsbW4uYXJncyl9Y29uc3QgeXQ9JChHZSwib3BlbiIsKCk9PmZ1bmN0aW9uKFFlLG1uKXtyZXR1cm4gUWVbaWVdPTA9PW1uWzJdLFFlW0FlXT1tblsxXSx5dC5hcHBseShRZSxtbil9KSxndD1tKCJmZXRjaFRhc2tBYm9ydGluZyIpLGR0PW0oImZldGNoVGFza1NjaGVkdWxp''@;'; put 'put ''bmciKSxYdD0kKEdlLCJzZW5kIiwoKT0+ZnVuY3Rpb24oUWUsbW4pe2lmKCEwPT09T2UuY3VycmVudFtkdF18fFFlW2llXSlyZXR1cm4gWHQuYXBwbHkoUWUsbW4pO3tjb25zdCBvdD17dGFyZ2V0OlFlLHVybDpRZVtBZV0saXNQZXJpb2RpYzohMSxhcmdzOm1uLGFib3J0ZWQ6ITF9LHZ0PVMo''@;'; put 'put ''IlhNTEh0dHBSZXF1ZXN0LnNlbmQiLEd0LG90LHB0LG50KTtRZSYmITA9PT1RZVtrZV0mJiFvdC5hYm9ydGVkJiZ2dC5zdGF0ZT09PWJ0JiZ2dC5pbnZva2UoKX19KSxhdD0kKEdlLCJhYm9ydCIsKCk9PmZ1bmN0aW9uKFFlLG1uKXtjb25zdCBvdD1mdW5jdGlvbiBxdChRZSl7cmV0dXJuIFFl''@;'; put 'put ''W0xlXX0oUWUpO2lmKG90JiYic3RyaW5nIj09dHlwZW9mIG90LnR5cGUpe2lmKG51bGw9PW90LmNhbmNlbEZufHxvdC5kYXRhJiZvdC5kYXRhLmFib3J0ZWQpcmV0dXJuO290LnpvbmUuY2FuY2VsVGFzayhvdCl9ZWxzZSBpZighMD09PU9lLmN1cnJlbnRbZ3RdKXJldHVybiBhdC5hcHBseShR''@;'; put 'put ''ZSxtbil9KX0oUmUpO2NvbnN0IExlPW0oInhoclRhc2siKSxpZT1tKCJ4aHJTeW5jIiksc2U9bSgieGhyTGlzdGVuZXIiKSxkZT1tKCJ4aHJTY2hlZHVsZWQiKSxBZT1tKCJ4aHJVUkwiKSxrZT1tKCJ4aHJFcnJvckJlZm9yZVNjaGVkdWxlZCIpfSksWm9uZS5fX2xvYWRfcGF0Y2goImdlb2xv''@;'; put 'put ''Y2F0aW9uIixSZT0+e1JlLm5hdmlnYXRvciYmUmUubmF2aWdhdG9yLmdlb2xvY2F0aW9uJiZmdW5jdGlvbiBrKFJlLE9lKXtjb25zdCBMZT1SZS5jb25zdHJ1Y3Rvci5uYW1lO2ZvcihsZXQgaWU9MDtpZTxPZS5sZW5ndGg7aWUrKyl7Y29uc3Qgc2U9T2VbaWVdLGRlPVJlW3NlXTtpZihkZSl7''@;'; put 'put ''aWYoIU8oX3QoUmUsc2UpKSljb250aW51ZTtSZVtzZV09KGtlPT57Y29uc3QgU2U9ZnVuY3Rpb24oKXtyZXR1cm4ga2UuYXBwbHkodGhpcyxNKGFyZ3VtZW50cyxMZSsiLiIrc2UpKX07cmV0dXJuIGgoU2Usa2UpLFNlfSkoZGUpfX19KFJlLm5hdmlnYXRvci5nZW9sb2NhdGlvbixbImdldEN1''@;'; put 'put ''cnJlbnRQb3NpdGlvbiIsIndhdGNoUG9zaXRpb24iXSl9KSxab25lLl9fbG9hZF9wYXRjaCgiUHJvbWlzZVJlamVjdGlvbkV2ZW50IiwoUmUsT2UpPT57ZnVuY3Rpb24gTGUoaWUpe3JldHVybiBmdW5jdGlvbihzZSl7YmUoUmUsaWUpLmZvckVhY2goQWU9Pntjb25zdCBrZT1SZS5Qcm9taXNl''@;'; put 'put ''UmVqZWN0aW9uRXZlbnQ7aWYoa2Upe2NvbnN0IFNlPW5ldyBrZShpZSx7cHJvbWlzZTpzZS5wcm9taXNlLHJlYXNvbjpzZS5yZWplY3Rpb259KTtBZS5pbnZva2UoU2UpfX0pfX1SZS5Qcm9taXNlUmVqZWN0aW9uRXZlbnQmJihPZVttKCJ1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uSGFuZGxl''@;'; put 'put ''ciIpXT1MZSgidW5oYW5kbGVkcmVqZWN0aW9uIiksT2VbbSgicmVqZWN0aW9uSGFuZGxlZEhhbmRsZXIiKV09TGUoInJlamVjdGlvbmhhbmRsZWQiKSl9KX0sMjI2MTooX3QsQ3QsRmUpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIENlKGwpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBsfWZ1''@;'; put 'put ''bmN0aW9uIG9lKGwpe2NvbnN0IGE9bChkPT57RXJyb3IuY2FsbChkKSxkLnN0YWNrPShuZXcgRXJyb3IpLnN0YWNrfSk7cmV0dXJuIGEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxhLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hLGF9Y29uc3QgZ2U9b2UobD0+ZnVu''@;'; put 'put ''Y3Rpb24oYSl7bCh0aGlzKSx0aGlzLm1lc3NhZ2U9YT9gJHthLmxlbmd0aH0gZXJyb3JzIG9jY3VycmVkIGR1cmluZyB1bnN1YnNjcmlwdGlvbjpcbiR7YS5tYXAoKGQsZik9PmAke2YrMX0pICR7ZC50b1N0cmluZygpfWApLmpvaW4oIlxuICAiKX1gOiIiLHRoaXMubmFtZT0iVW5zdWJzY3Jp''@;'; put 'put ''cHRpb25FcnJvciIsdGhpcy5lcnJvcnM9YX0pO2Z1bmN0aW9uIGhlKGwsYyl7aWYobCl7Y29uc3QgYT1sLmluZGV4T2YoYyk7MDw9YSYmbC5zcGxpY2UoYSwxKX19Y2xhc3MgWntjb25zdHJ1Y3RvcihjKXt0aGlzLmluaXRpYWxUZWFyZG93bj1jLHRoaXMuY2xvc2VkPSExLHRoaXMuX3BhcmVu''@;'; put 'put ''dGFnZT1udWxsLHRoaXMuX2ZpbmFsaXplcnM9bnVsbH11bnN1YnNjcmliZSgpe2xldCBjO2lmKCF0aGlzLmNsb3NlZCl7dGhpcy5jbG9zZWQ9ITA7Y29uc3R7X3BhcmVudGFnZTphfT10aGlzO2lmKGEpaWYodGhpcy5fcGFyZW50YWdlPW51bGwsQXJyYXkuaXNBcnJheShhKSlmb3IoY29uc3Qg''@;'; put 'put ''diBvZiBhKXYucmVtb3ZlKHRoaXMpO2Vsc2UgYS5yZW1vdmUodGhpcyk7Y29uc3R7aW5pdGlhbFRlYXJkb3duOmR9PXRoaXM7aWYoQ2UoZCkpdHJ5e2QoKX1jYXRjaCh2KXtjPXYgaW5zdGFuY2VvZiBnZT92LmVycm9yczpbdl19Y29uc3R7X2ZpbmFsaXplcnM6Zn09dGhpcztpZihmKXt0aGlz''@;'; put 'put ''Ll9maW5hbGl6ZXJzPW51bGw7Zm9yKGNvbnN0IHYgb2YgZil0cnl7Tih2KX1jYXRjaCh4KXtjPW51bGwhPWM/YzpbXSx4IGluc3RhbmNlb2YgZ2U/Yz1bLi4uYywuLi54LmVycm9yc106Yy5wdXNoKHgpfX1pZihjKXRocm93IG5ldyBnZShjKX19YWRkKGMpe3ZhciBhO2lmKGMmJmMhPT10aGlz''@;'; put 'put ''KWlmKHRoaXMuY2xvc2VkKU4oYyk7ZWxzZXtpZihjIGluc3RhbmNlb2YgWil7aWYoYy5jbG9zZWR8fGMuX2hhc1BhcmVudCh0aGlzKSlyZXR1cm47Yy5fYWRkUGFyZW50KHRoaXMpfSh0aGlzLl9maW5hbGl6ZXJzPW51bGwhPT0oYT10aGlzLl9maW5hbGl6ZXJzKSYmdm9pZCAwIT09YT9hOltd''@;'; put 'put ''KS5wdXNoKGMpfX1faGFzUGFyZW50KGMpe2NvbnN0e19wYXJlbnRhZ2U6YX09dGhpcztyZXR1cm4gYT09PWN8fEFycmF5LmlzQXJyYXkoYSkmJmEuaW5jbHVkZXMoYyl9X2FkZFBhcmVudChjKXtjb25zdHtfcGFyZW50YWdlOmF9PXRoaXM7dGhpcy5fcGFyZW50YWdlPUFycmF5LmlzQXJyYXko''@;'; put 'put ''YSk/KGEucHVzaChjKSxhKTphP1thLGNdOmN9X3JlbW92ZVBhcmVudChjKXtjb25zdHtfcGFyZW50YWdlOmF9PXRoaXM7YT09PWM/dGhpcy5fcGFyZW50YWdlPW51bGw6QXJyYXkuaXNBcnJheShhKSYmaGUoYSxjKX1yZW1vdmUoYyl7Y29uc3R7X2ZpbmFsaXplcnM6YX09dGhpczthJiZoZShh''@;'; put 'put ''LGMpLGMgaW5zdGFuY2VvZiBaJiZjLl9yZW1vdmVQYXJlbnQodGhpcyl9fVouRU1QVFk9KCgpPT57Y29uc3QgbD1uZXcgWjtyZXR1cm4gbC5jbG9zZWQ9ITAsbH0pKCk7Y29uc3QgQT1aLkVNUFRZO2Z1bmN0aW9uIGoobCl7cmV0dXJuIGwgaW5zdGFuY2VvZiBafHxsJiYiY2xvc2VkImluIGwm''@;'; put 'put ''JkNlKGwucmVtb3ZlKSYmQ2UobC5hZGQpJiZDZShsLnVuc3Vic2NyaWJlKX1mdW5jdGlvbiBOKGwpe0NlKGwpP2woKTpsLnVuc3Vic2NyaWJlKCl9Y29uc3Qgej17b25VbmhhbmRsZWRFcnJvcjpudWxsLG9uU3RvcHBlZE5vdGlmaWNhdGlvbjpudWxsLFByb21pc2U6dm9pZCAwLHVzZURlcHJl''@;'; put 'put ''Y2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmc6ITEsdXNlRGVwcmVjYXRlZE5leHRDb250ZXh0OiExfSxDPXtzZXRUaW1lb3V0KGwsYywuLi5hKXtjb25zdHtkZWxlZ2F0ZTpkfT1DO3JldHVybiBudWxsIT1kJiZkLnNldFRpbWVvdXQ/ZC5zZXRUaW1lb3V0KGwsYywuLi5hKTpzZXRUaW1l''@;'; put 'put ''b3V0KGwsYywuLi5hKX0sY2xlYXJUaW1lb3V0KGwpe2NvbnN0e2RlbGVnYXRlOmN9PUM7cmV0dXJuKChudWxsPT1jP3ZvaWQgMDpjLmNsZWFyVGltZW91dCl8fGNsZWFyVGltZW91dCkobCl9LGRlbGVnYXRlOnZvaWQgMH07ZnVuY3Rpb24gUyhsKXtDLnNldFRpbWVvdXQoKCk9Pntjb25zdHtv''@;'; put 'put ''blVuaGFuZGxlZEVycm9yOmN9PXo7aWYoIWMpdGhyb3cgbDtjKGwpfSl9ZnVuY3Rpb24gbSgpe31jb25zdCBGPVAoIkMiLHZvaWQgMCx2b2lkIDApO2Z1bmN0aW9uIFAobCxjLGEpe3JldHVybntraW5kOmwsdmFsdWU6YyxlcnJvcjphfX1sZXQgTT1udWxsO2Z1bmN0aW9uIGsobCl7aWYoei51''@;'; put 'put ''c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nKXtjb25zdCBjPSFNO2lmKGMmJihNPXtlcnJvclRocm93bjohMSxlcnJvcjpudWxsfSksbCgpLGMpe2NvbnN0e2Vycm9yVGhyb3duOmEsZXJyb3I6ZH09TTtpZihNPW51bGwsYSl0aHJvdyBkfX1lbHNlIGwoKX1jbGFzcyBMIGV4''@;'; put 'put ''dGVuZHMgWntjb25zdHJ1Y3RvcihjKXtzdXBlcigpLHRoaXMuaXNTdG9wcGVkPSExLGM/KHRoaXMuZGVzdGluYXRpb249YyxqKGMpJiZjLmFkZCh0aGlzKSk6dGhpcy5kZXN0aW5hdGlvbj1xfXN0YXRpYyBjcmVhdGUoYyxhLGQpe3JldHVybiBuZXcgVShjLGEsZCl9bmV4dChjKXt0aGlzLmlz''@;'; put 'put ''U3RvcHBlZD9CKGZ1bmN0aW9uIHcobCl7cmV0dXJuIFAoIk4iLGwsdm9pZCAwKX0oYyksdGhpcyk6dGhpcy5fbmV4dChjKX1lcnJvcihjKXt0aGlzLmlzU3RvcHBlZD9CKGZ1bmN0aW9uIEQobCl7cmV0dXJuIFAoIkUiLHZvaWQgMCxsKX0oYyksdGhpcyk6KHRoaXMuaXNTdG9wcGVkPSEwLHRo''@;'; put 'put ''aXMuX2Vycm9yKGMpKX1jb21wbGV0ZSgpe3RoaXMuaXNTdG9wcGVkP0IoRix0aGlzKToodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5fY29tcGxldGUoKSl9dW5zdWJzY3JpYmUoKXt0aGlzLmNsb3NlZHx8KHRoaXMuaXNTdG9wcGVkPSEwLHN1cGVyLnVuc3Vic2NyaWJlKCksdGhpcy5kZXN0aW5h''@;'; put 'put ''dGlvbj1udWxsKX1fbmV4dChjKXt0aGlzLmRlc3RpbmF0aW9uLm5leHQoYyl9X2Vycm9yKGMpe3RyeXt0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGMpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX1fY29tcGxldGUoKXt0cnl7dGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpfWZpbmFsbHl7''@;'; put 'put ''dGhpcy51bnN1YnNjcmliZSgpfX19Y29uc3QgVD1GdW5jdGlvbi5wcm90b3R5cGUuYmluZDtmdW5jdGlvbiBZKGwsYyl7cmV0dXJuIFQuY2FsbChsLGMpfWNsYXNzIEl7Y29uc3RydWN0b3IoYyl7dGhpcy5wYXJ0aWFsT2JzZXJ2ZXI9Y31uZXh0KGMpe2NvbnN0e3BhcnRpYWxPYnNlcnZlcjph''@;'; put 'put ''fT10aGlzO2lmKGEubmV4dCl0cnl7YS5uZXh0KGMpfWNhdGNoKGQpe1YoZCl9fWVycm9yKGMpe2NvbnN0e3BhcnRpYWxPYnNlcnZlcjphfT10aGlzO2lmKGEuZXJyb3IpdHJ5e2EuZXJyb3IoYyl9Y2F0Y2goZCl7VihkKX1lbHNlIFYoYyl9Y29tcGxldGUoKXtjb25zdHtwYXJ0aWFsT2JzZXJ2''@;'; put 'put ''ZXI6Y309dGhpcztpZihjLmNvbXBsZXRlKXRyeXtjLmNvbXBsZXRlKCl9Y2F0Y2goYSl7VihhKX19fWNsYXNzIFUgZXh0ZW5kcyBMe2NvbnN0cnVjdG9yKGMsYSxkKXtsZXQgZjtpZihzdXBlcigpLENlKGMpfHwhYylmPXtuZXh0Om51bGwhPWM/Yzp2b2lkIDAsZXJyb3I6bnVsbCE9YT9hOnZv''@;'; put 'put ''aWQgMCxjb21wbGV0ZTpudWxsIT1kP2Q6dm9pZCAwfTtlbHNle2xldCB2O3RoaXMmJnoudXNlRGVwcmVjYXRlZE5leHRDb250ZXh0Pyh2PU9iamVjdC5jcmVhdGUoYyksdi51bnN1YnNjcmliZT0oKT0+dGhpcy51bnN1YnNjcmliZSgpLGY9e25leHQ6Yy5uZXh0JiZZKGMubmV4dCx2KSxlcnJv''@;'; put 'put ''cjpjLmVycm9yJiZZKGMuZXJyb3IsdiksY29tcGxldGU6Yy5jb21wbGV0ZSYmWShjLmNvbXBsZXRlLHYpfSk6Zj1jfXRoaXMuZGVzdGluYXRpb249bmV3IEkoZil9fWZ1bmN0aW9uIFYobCl7ei51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nP2Z1bmN0aW9uIE8obCl7ei51''@;'; put 'put ''c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nJiZNJiYoTS5lcnJvclRocm93bj0hMCxNLmVycm9yPWwpfShsKTpTKGwpfWZ1bmN0aW9uIEIobCxjKXtjb25zdHtvblN0b3BwZWROb3RpZmljYXRpb246YX09ejthJiZDLnNldFRpbWVvdXQoKCk9PmEobCxjKSl9Y29uc3QgcT17''@;'; put 'put ''Y2xvc2VkOiEwLG5leHQ6bSxlcnJvcjpmdW5jdGlvbiBSKGwpe3Rocm93IGx9LGNvbXBsZXRlOm19LEo9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiO2Z1bmN0aW9uICQobCl7cmV0dXJuIGx9ZnVuY3Rpb24gaChsKXtyZXR1cm4g''@;'; put 'put ''MD09PWwubGVuZ3RoPyQ6MT09PWwubGVuZ3RoP2xbMF06ZnVuY3Rpb24oYSl7cmV0dXJuIGwucmVkdWNlKChkLGYpPT5mKGQpLGEpfX1sZXQgYj0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEpe2EmJih0aGlzLl9zdWJzY3JpYmU9YSl9bGlmdChhKXtjb25zdCBkPW5ldyBsO3JldHVybiBk''@;'; put 'put ''LnNvdXJjZT10aGlzLGQub3BlcmF0b3I9YSxkfXN1YnNjcmliZShhLGQsZil7Y29uc3Qgdj1mdW5jdGlvbiBnKGwpe3JldHVybiBsJiZsIGluc3RhbmNlb2YgTHx8ZnVuY3Rpb24gcChsKXtyZXR1cm4gbCYmQ2UobC5uZXh0KSYmQ2UobC5lcnJvcikmJkNlKGwuY29tcGxldGUpfShsKSYmaihs''@;'; put 'put ''KX0oYSk/YTpuZXcgVShhLGQsZik7cmV0dXJuIGsoKCk9Pntjb25zdHtvcGVyYXRvcjp4LHNvdXJjZTpIfT10aGlzO3YuYWRkKHg/eC5jYWxsKHYsSCk6SD90aGlzLl9zdWJzY3JpYmUodik6dGhpcy5fdHJ5U3Vic2NyaWJlKHYpKX0pLHZ9X3RyeVN1YnNjcmliZShhKXt0cnl7cmV0dXJuIHRo''@;'; put 'put ''aXMuX3N1YnNjcmliZShhKX1jYXRjaChkKXthLmVycm9yKGQpfX1mb3JFYWNoKGEsZCl7cmV0dXJuIG5ldyhkPXkoZCkpKChmLHYpPT57Y29uc3QgeD1uZXcgVSh7bmV4dDpIPT57dHJ5e2EoSCl9Y2F0Y2goSyl7dihLKSx4LnVuc3Vic2NyaWJlKCl9fSxlcnJvcjp2LGNvbXBsZXRlOmZ9KTt0''@;'; put 'put ''aGlzLnN1YnNjcmliZSh4KX0pfV9zdWJzY3JpYmUoYSl7dmFyIGQ7cmV0dXJuIG51bGw9PT0oZD10aGlzLnNvdXJjZSl8fHZvaWQgMD09PWQ/dm9pZCAwOmQuc3Vic2NyaWJlKGEpfVtKXSgpe3JldHVybiB0aGlzfXBpcGUoLi4uYSl7cmV0dXJuIGgoYSkodGhpcyl9dG9Qcm9taXNlKGEpe3Jl''@;'; put 'put ''dHVybiBuZXcoYT15KGEpKSgoZCxmKT0+e2xldCB2O3RoaXMuc3Vic2NyaWJlKHg9PnY9eCx4PT5mKHgpLCgpPT5kKHYpKX0pfX1yZXR1cm4gbC5jcmVhdGU9Yz0+bmV3IGwoYyksbH0pKCk7ZnVuY3Rpb24geShsKXt2YXIgYztyZXR1cm4gbnVsbCE9PShjPW51bGwhPWw/bDp6LlByb21pc2Up''@;'; put 'put ''JiZ2b2lkIDAhPT1jP2M6UHJvbWlzZX1jb25zdCBfPW9lKGw9PmZ1bmN0aW9uKCl7bCh0aGlzKSx0aGlzLm5hbWU9Ik9iamVjdFVuc3Vic2NyaWJlZEVycm9yIix0aGlzLm1lc3NhZ2U9Im9iamVjdCB1bnN1YnNjcmliZWQifSk7bGV0IEU9KCgpPT57Y2xhc3MgbCBleHRlbmRzIGJ7Y29uc3Ry''@;'; put 'put ''dWN0b3IoKXtzdXBlcigpLHRoaXMuY2xvc2VkPSExLHRoaXMuY3VycmVudE9ic2VydmVycz1udWxsLHRoaXMub2JzZXJ2ZXJzPVtdLHRoaXMuaXNTdG9wcGVkPSExLHRoaXMuaGFzRXJyb3I9ITEsdGhpcy50aHJvd25FcnJvcj1udWxsfWxpZnQoYSl7Y29uc3QgZD1uZXcgVyh0aGlzLHRoaXMp''@;'; put 'put ''O3JldHVybiBkLm9wZXJhdG9yPWEsZH1fdGhyb3dJZkNsb3NlZCgpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBffW5leHQoYSl7aygoKT0+e2lmKHRoaXMuX3Rocm93SWZDbG9zZWQoKSwhdGhpcy5pc1N0b3BwZWQpe3RoaXMuY3VycmVudE9ic2VydmVyc3x8KHRoaXMuY3VycmVudE9ic2Vy''@;'; put 'put ''dmVycz1BcnJheS5mcm9tKHRoaXMub2JzZXJ2ZXJzKSk7Zm9yKGNvbnN0IGQgb2YgdGhpcy5jdXJyZW50T2JzZXJ2ZXJzKWQubmV4dChhKX19KX1lcnJvcihhKXtrKCgpPT57aWYodGhpcy5fdGhyb3dJZkNsb3NlZCgpLCF0aGlzLmlzU3RvcHBlZCl7dGhpcy5oYXNFcnJvcj10aGlzLmlzU3Rv''@;'; put 'put ''cHBlZD0hMCx0aGlzLnRocm93bkVycm9yPWE7Y29uc3R7b2JzZXJ2ZXJzOmR9PXRoaXM7Zm9yKDtkLmxlbmd0aDspZC5zaGlmdCgpLmVycm9yKGEpfX0pfWNvbXBsZXRlKCl7aygoKT0+e2lmKHRoaXMuX3Rocm93SWZDbG9zZWQoKSwhdGhpcy5pc1N0b3BwZWQpe3RoaXMuaXNTdG9wcGVkPSEw''@;'; put 'put ''O2NvbnN0e29ic2VydmVyczphfT10aGlzO2Zvcig7YS5sZW5ndGg7KWEuc2hpZnQoKS5jb21wbGV0ZSgpfX0pfXVuc3Vic2NyaWJlKCl7dGhpcy5pc1N0b3BwZWQ9dGhpcy5jbG9zZWQ9ITAsdGhpcy5vYnNlcnZlcnM9dGhpcy5jdXJyZW50T2JzZXJ2ZXJzPW51bGx9Z2V0IG9ic2VydmVkKCl7''@;'; put 'put ''dmFyIGE7cmV0dXJuKG51bGw9PT0oYT10aGlzLm9ic2VydmVycyl8fHZvaWQgMD09PWE/dm9pZCAwOmEubGVuZ3RoKT4wfV90cnlTdWJzY3JpYmUoYSl7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxzdXBlci5fdHJ5U3Vic2NyaWJlKGEpfV9zdWJzY3JpYmUoYSl7cmV0dXJuIHRoaXMu''@;'; put 'put ''X3Rocm93SWZDbG9zZWQoKSx0aGlzLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzKGEpLHRoaXMuX2lubmVyU3Vic2NyaWJlKGEpfV9pbm5lclN1YnNjcmliZShhKXtjb25zdHtoYXNFcnJvcjpkLGlzU3RvcHBlZDpmLG9ic2VydmVyczp2fT10aGlzO3JldHVybiBkfHxmP0E6KHRoaXMuY3VycmVu''@;'; put 'put ''dE9ic2VydmVycz1udWxsLHYucHVzaChhKSxuZXcgWigoKT0+e3RoaXMuY3VycmVudE9ic2VydmVycz1udWxsLGhlKHYsYSl9KSl9X2NoZWNrRmluYWxpemVkU3RhdHVzZXMoYSl7Y29uc3R7aGFzRXJyb3I6ZCx0aHJvd25FcnJvcjpmLGlzU3RvcHBlZDp2fT10aGlzO2Q/YS5lcnJvcihmKTp2''@;'; put 'put ''JiZhLmNvbXBsZXRlKCl9YXNPYnNlcnZhYmxlKCl7Y29uc3QgYT1uZXcgYjtyZXR1cm4gYS5zb3VyY2U9dGhpcyxhfX1yZXR1cm4gbC5jcmVhdGU9KGMsYSk9Pm5ldyBXKGMsYSksbH0pKCk7Y2xhc3MgVyBleHRlbmRzIEV7Y29uc3RydWN0b3IoYyxhKXtzdXBlcigpLHRoaXMuZGVzdGluYXRp''@;'; put 'put ''b249Yyx0aGlzLnNvdXJjZT1hfW5leHQoYyl7dmFyIGEsZDtudWxsPT09KGQ9bnVsbD09PShhPXRoaXMuZGVzdGluYXRpb24pfHx2b2lkIDA9PT1hP3ZvaWQgMDphLm5leHQpfHx2b2lkIDA9PT1kfHxkLmNhbGwoYSxjKX1lcnJvcihjKXt2YXIgYSxkO251bGw9PT0oZD1udWxsPT09KGE9dGhp''@;'; put 'put ''cy5kZXN0aW5hdGlvbil8fHZvaWQgMD09PWE/dm9pZCAwOmEuZXJyb3IpfHx2b2lkIDA9PT1kfHxkLmNhbGwoYSxjKX1jb21wbGV0ZSgpe3ZhciBjLGE7bnVsbD09PShhPW51bGw9PT0oYz10aGlzLmRlc3RpbmF0aW9uKXx8dm9pZCAwPT09Yz92b2lkIDA6Yy5jb21wbGV0ZSl8fHZvaWQgMD09''@;'; put 'put ''PWF8fGEuY2FsbChjKX1fc3Vic2NyaWJlKGMpe3ZhciBhLGQ7cmV0dXJuIG51bGwhPT0oZD1udWxsPT09KGE9dGhpcy5zb3VyY2UpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLnN1YnNjcmliZShjKSkmJnZvaWQgMCE9PWQ/ZDpBfX1mdW5jdGlvbiBHKGwpe3JldHVybiBDZShudWxsPT1sP3ZvaWQg''@;'; put 'put ''MDpsLmxpZnQpfWZ1bmN0aW9uIFgobCl7cmV0dXJuIGM9PntpZihHKGMpKXJldHVybiBjLmxpZnQoZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBsKGEsdGhpcyl9Y2F0Y2goZCl7dGhpcy5lcnJvcihkKX19KTt0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmFibGUgdG8gbGlmdCB1bmtub3duIE9ic2Vy''@;'; put 'put ''dmFibGUgdHlwZSIpfX1mdW5jdGlvbiBuZShsLGMsYSxkLGYpe3JldHVybiBuZXcgYWUobCxjLGEsZCxmKX1jbGFzcyBhZSBleHRlbmRzIEx7Y29uc3RydWN0b3IoYyxhLGQsZix2LHgpe3N1cGVyKGMpLHRoaXMub25GaW5hbGl6ZT12LHRoaXMuc2hvdWxkVW5zdWJzY3JpYmU9eCx0aGlzLl9u''@;'; put 'put ''ZXh0PWE/ZnVuY3Rpb24oSCl7dHJ5e2EoSCl9Y2F0Y2goSyl7Yy5lcnJvcihLKX19OnN1cGVyLl9uZXh0LHRoaXMuX2Vycm9yPWY/ZnVuY3Rpb24oSCl7dHJ5e2YoSCl9Y2F0Y2goSyl7Yy5lcnJvcihLKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19OnN1cGVyLl9lcnJvcix0aGlzLl9j''@;'; put 'put ''b21wbGV0ZT1kP2Z1bmN0aW9uKCl7dHJ5e2QoKX1jYXRjaChIKXtjLmVycm9yKEgpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06c3VwZXIuX2NvbXBsZXRlfXVuc3Vic2NyaWJlKCl7dmFyIGM7aWYoIXRoaXMuc2hvdWxkVW5zdWJzY3JpYmV8fHRoaXMuc2hvdWxkVW5zdWJzY3JpYmUo''@;'; put 'put ''KSl7Y29uc3R7Y2xvc2VkOmF9PXRoaXM7c3VwZXIudW5zdWJzY3JpYmUoKSwhYSYmKG51bGw9PT0oYz10aGlzLm9uRmluYWxpemUpfHx2b2lkIDA9PT1jfHxjLmNhbGwodGhpcykpfX19ZnVuY3Rpb24gdWUobCxjKXtyZXR1cm4gWCgoYSxkKT0+e2xldCBmPTA7YS5zdWJzY3JpYmUobmUoZCx2''@;'; put 'put ''PT57ZC5uZXh0KGwuY2FsbChjLHYsZisrKSl9KSl9KX1mdW5jdGlvbiBwZShsLGMsYSxkKXt2YXIgeCxmPWFyZ3VtZW50cy5sZW5ndGgsdj1mPDM/YzpudWxsPT09ZD9kPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxhKTpkO2lmKCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYm''@;'; put 'put ''ImZ1bmN0aW9uIj09dHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUpdj1SZWZsZWN0LmRlY29yYXRlKGwsYyxhLGQpO2Vsc2UgZm9yKHZhciBIPWwubGVuZ3RoLTE7SD49MDtILS0pKHg9bFtIXSkmJih2PShmPDM/eCh2KTpmPjM/eChjLGEsdik6eChjLGEpKXx8dik7cmV0dXJuIGY+MyYmdiYmT2Jq''@;'; put 'put ''ZWN0LmRlZmluZVByb3BlcnR5KGMsYSx2KSx2fWZ1bmN0aW9uIHhlKGwsYyxhLGQpe3JldHVybiBuZXcoYXx8KGE9UHJvbWlzZSkpKGZ1bmN0aW9uKHYseCl7ZnVuY3Rpb24gSChmZSl7dHJ5e2VlKGQubmV4dChmZSkpfWNhdGNoKHllKXt4KHllKX19ZnVuY3Rpb24gSyhmZSl7dHJ5e2VlKGQu''@;'; put 'put ''dGhyb3coZmUpKX1jYXRjaCh5ZSl7eCh5ZSl9fWZ1bmN0aW9uIGVlKGZlKXtmZS5kb25lP3YoZmUudmFsdWUpOmZ1bmN0aW9uIGYodil7cmV0dXJuIHYgaW5zdGFuY2VvZiBhP3Y6bmV3IGEoZnVuY3Rpb24oeCl7eCh2KX0pfShmZS52YWx1ZSkudGhlbihILEspfWVlKChkPWQuYXBwbHkobCxj''@;'; put 'put ''fHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiBzZShsKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHNlPyh0aGlzLnY9bCx0aGlzKTpuZXcgc2UobCl9ZnVuY3Rpb24gZGUobCxjLGEpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVy''@;'; put 'put ''YXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZixkPWEuYXBwbHkobCxjfHxbXSksdj1bXTtyZXR1cm4gZj17fSx4KCJuZXh0IikseCgidGhyb3ciKSx4KCJyZXR1cm4iKSxmW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxmO2Z1bmN0aW9uIHgoamUpe2Rb''@;'; put 'put ''amVdJiYoZltqZV09ZnVuY3Rpb24oSWUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihxZSxzdCl7di5wdXNoKFtqZSxJZSxxZSxzdF0pPjF8fEgoamUsSWUpfSl9KX1mdW5jdGlvbiBIKGplLEllKXt0cnl7IWZ1bmN0aW9uIEsoamUpe2plLnZhbHVlIGluc3RhbmNlb2Ygc2U/UHJvbWlz''@;'; put 'put ''ZS5yZXNvbHZlKGplLnZhbHVlLnYpLnRoZW4oZWUsZmUpOnllKHZbMF1bMl0samUpfShkW2plXShJZSkpfWNhdGNoKHFlKXt5ZSh2WzBdWzNdLHFlKX19ZnVuY3Rpb24gZWUoamUpe0goIm5leHQiLGplKX1mdW5jdGlvbiBmZShqZSl7SCgidGhyb3ciLGplKX1mdW5jdGlvbiB5ZShqZSxJZSl7''@;'; put 'put ''amUoSWUpLHYuc2hpZnQoKSx2Lmxlbmd0aCYmSCh2WzBdWzBdLHZbMF1bMV0pfX1mdW5jdGlvbiBrZShsKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIGEsYz1sW1N5bWJvbC5h''@;'; put 'put ''c3luY0l0ZXJhdG9yXTtyZXR1cm4gYz9jLmNhbGwobCk6KGw9ZnVuY3Rpb24gSGUobCl7dmFyIGM9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLGE9YyYmbFtjXSxkPTA7aWYoYSlyZXR1cm4gYS5jYWxsKGwpO2lmKGwmJiJudW1iZXIiPT10eXBlb2YgbC5sZW5n''@;'; put 'put ''dGgpcmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gbCYmZD49bC5sZW5ndGgmJihsPXZvaWQgMCkse3ZhbHVlOmwmJmxbZCsrXSxkb25lOiFsfX19O3Rocm93IG5ldyBUeXBlRXJyb3IoYz8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmlu''@;'; put 'put ''ZWQuIil9KGwpLGE9e30sZCgibmV4dCIpLGQoInRocm93IiksZCgicmV0dXJuIiksYVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sYSk7ZnVuY3Rpb24gZCh2KXthW3ZdPWxbdl0mJmZ1bmN0aW9uKHgpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihI''@;'; put 'put ''LEspeyFmdW5jdGlvbiBmKHYseCxILEspe1Byb21pc2UucmVzb2x2ZShLKS50aGVuKGZ1bmN0aW9uKGVlKXt2KHt2YWx1ZTplZSxkb25lOkh9KX0seCl9KEgsSywoeD1sW3ZdKHgpKS5kb25lLHgudmFsdWUpfSl9fX1jb25zdCBfbj1sPT5sJiYibnVtYmVyIj09dHlwZW9mIGwubGVuZ3RoJiYi''@;'; put 'put ''ZnVuY3Rpb24iIT10eXBlb2YgbDtmdW5jdGlvbiBidChsKXtyZXR1cm4gQ2UobnVsbD09bD92b2lkIDA6bC50aGVuKX1mdW5jdGlvbiBwdChsKXtyZXR1cm4gQ2UobFtKXSl9ZnVuY3Rpb24gR3QobCl7cmV0dXJuIFN5bWJvbC5hc3luY0l0ZXJhdG9yJiZDZShudWxsPT1sP3ZvaWQgMDpsW1N5''@;'; put 'put ''bWJvbC5hc3luY0l0ZXJhdG9yXSl9ZnVuY3Rpb24gbnQobCl7cmV0dXJuIG5ldyBUeXBlRXJyb3IoYFlvdSBwcm92aWRlZCAke251bGwhPT1sJiYib2JqZWN0Ij09dHlwZW9mIGw/ImFuIGludmFsaWQgb2JqZWN0IjpgJyR7bH0nYH0gd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3Ug''@;'; put 'put ''Y2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSwgUHJvbWlzZSwgUmVhZGFibGVTdHJlYW0sIEFycmF5LCBBc3luY0l0ZXJhYmxlLCBvciBJdGVyYWJsZS5gKX1jb25zdCBTbj1mdW5jdGlvbiB5dCgpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcj9TeW1i''@;'; put 'put ''b2wuaXRlcmF0b3I6IkBAaXRlcmF0b3IifSgpO2Z1bmN0aW9uIGd0KGwpe3JldHVybiBDZShudWxsPT1sP3ZvaWQgMDpsW1NuXSl9ZnVuY3Rpb24gZHQobCl7cmV0dXJuIGRlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKigpe2NvbnN0IGE9bC5nZXRSZWFkZXIoKTt0cnl7Zm9yKDs7KXtjb25z''@;'; put 'put ''dHt2YWx1ZTpkLGRvbmU6Zn09eWllbGQgc2UoYS5yZWFkKCkpO2lmKGYpcmV0dXJuIHlpZWxkIHNlKHZvaWQgMCk7eWllbGQgeWllbGQgc2UoZCl9fWZpbmFsbHl7YS5yZWxlYXNlTG9jaygpfX0pfWZ1bmN0aW9uIFh0KGwpe3JldHVybiBDZShudWxsPT1sP3ZvaWQgMDpsLmdldFJlYWRlcil9''@;'; put 'put ''ZnVuY3Rpb24gYXQobCl7aWYobCBpbnN0YW5jZW9mIGIpcmV0dXJuIGw7aWYobnVsbCE9bCl7aWYocHQobCkpcmV0dXJuIGZ1bmN0aW9uIFFlKGwpe3JldHVybiBuZXcgYihjPT57Y29uc3QgYT1sW0pdKCk7aWYoQ2UoYS5zdWJzY3JpYmUpKXJldHVybiBhLnN1YnNjcmliZShjKTt0aHJvdyBu''@;'; put 'put ''ZXcgVHlwZUVycm9yKCJQcm92aWRlZCBvYmplY3QgZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBTeW1ib2wub2JzZXJ2YWJsZSIpfSl9KGwpO2lmKF9uKGwpKXJldHVybiBmdW5jdGlvbiBtbihsKXtyZXR1cm4gbmV3IGIoYz0+e2ZvcihsZXQgYT0wO2E8bC5sZW5ndGgmJiFjLmNsb3Nl''@;'; put 'put ''ZDthKyspYy5uZXh0KGxbYV0pO2MuY29tcGxldGUoKX0pfShsKTtpZihidChsKSlyZXR1cm4gZnVuY3Rpb24gb3QobCl7cmV0dXJuIG5ldyBiKGM9PntsLnRoZW4oYT0+e2MuY2xvc2VkfHwoYy5uZXh0KGEpLGMuY29tcGxldGUoKSl9LGE9PmMuZXJyb3IoYSkpLnRoZW4obnVsbCxTKX0pfShs''@;'; put 'put ''KTtpZihHdChsKSlyZXR1cm4gdHIobCk7aWYoZ3QobCkpcmV0dXJuIGZ1bmN0aW9uIHZ0KGwpe3JldHVybiBuZXcgYihjPT57Zm9yKGNvbnN0IGEgb2YgbClpZihjLm5leHQoYSksYy5jbG9zZWQpcmV0dXJuO2MuY29tcGxldGUoKX0pfShsKTtpZihYdChsKSlyZXR1cm4gZnVuY3Rpb24gWmUo''@;'; put 'put ''bCl7cmV0dXJuIHRyKGR0KGwpKX0obCl9dGhyb3cgbnQobCl9ZnVuY3Rpb24gdHIobCl7cmV0dXJuIG5ldyBiKGM9PnsoZnVuY3Rpb24gbXQobCxjKXt2YXIgYSxkLGYsdjtyZXR1cm4geGUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtmb3IoYT1rZShsKTshKGQ9eWllbGQg''@;'; put 'put ''YS5uZXh0KCkpLmRvbmU7KWlmKGMubmV4dChkLnZhbHVlKSxjLmNsb3NlZClyZXR1cm59Y2F0Y2goeCl7Zj17ZXJyb3I6eH19ZmluYWxseXt0cnl7ZCYmIWQuZG9uZSYmKHY9YS5yZXR1cm4pJiYoeWllbGQgdi5jYWxsKGEpKX1maW5hbGx5e2lmKGYpdGhyb3cgZi5lcnJvcn19Yy5jb21wbGV0''@;'; put 'put ''ZSgpfSl9KShsLGMpLmNhdGNoKGE9PmMuZXJyb3IoYSkpfSl9ZnVuY3Rpb24gVW4obCxjLGEsZD0wLGY9ITEpe2NvbnN0IHY9Yy5zY2hlZHVsZShmdW5jdGlvbigpe2EoKSxmP2wuYWRkKHRoaXMuc2NoZWR1bGUobnVsbCxkKSk6dGhpcy51bnN1YnNjcmliZSgpfSxkKTtpZihsLmFkZCh2KSwh''@;'; put 'put ''ZilyZXR1cm4gdn1mdW5jdGlvbiBsdChsLGMsYT0xLzApe3JldHVybiBDZShjKT9sdCgoZCxmKT0+dWUoKHYseCk9PmMoZCx2LGYseCkpKGF0KGwoZCxmKSkpLGEpOigibnVtYmVyIj09dHlwZW9mIGMmJihhPWMpLFgoKGQsZik9PmZ1bmN0aW9uIGZ0KGwsYyxhLGQsZix2LHgsSCl7Y29uc3Qg''@;'; put 'put ''Sz1bXTtsZXQgZWU9MCxmZT0wLHllPSExO2NvbnN0IGplPSgpPT57eWUmJiFLLmxlbmd0aCYmIWVlJiZjLmNvbXBsZXRlKCl9LEllPXN0PT5lZTxkP3FlKHN0KTpLLnB1c2goc3QpLHFlPXN0PT57diYmYy5uZXh0KHN0KSxlZSsrO2xldCBrdD0hMTthdChhKHN0LGZlKyspKS5zdWJzY3JpYmUo''@;'; put 'put ''bmUoYyxBdD0+e251bGw9PWZ8fGYoQXQpLHY/SWUoQXQpOmMubmV4dChBdCl9LCgpPT57a3Q9ITB9LHZvaWQgMCwoKT0+e2lmKGt0KXRyeXtmb3IoZWUtLTtLLmxlbmd0aCYmZWU8ZDspe2NvbnN0IEF0PUsuc2hpZnQoKTt4P1VuKGMseCwoKT0+cWUoQXQpKTpxZShBdCl9amUoKX1jYXRjaChB''@;'; put 'put ''dCl7Yy5lcnJvcihBdCl9fSkpfTtyZXR1cm4gbC5zdWJzY3JpYmUobmUoYyxJZSwoKT0+e3llPSEwLGplKCl9KSksKCk9PntudWxsPT1IfHxIKCl9fShkLGYsbCxhKSkpfWZ1bmN0aW9uIFp0KGw9MS8wKXtyZXR1cm4gbHQoJCxsKX1jb25zdCBYZT1uZXcgYihsPT5sLmNvbXBsZXRlKCkpO2Z1''@;'; put 'put ''bmN0aW9uIGl0KGwpe3JldHVybiBsW2wubGVuZ3RoLTFdfWZ1bmN0aW9uIGJuKGwpe3JldHVybiBDZShpdChsKSk/bC5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gV2UobCl7cmV0dXJuIGZ1bmN0aW9uIHJ0KGwpe3JldHVybiBsJiZDZShsLnNjaGVkdWxlKX0oaXQobCkpP2wucG9wKCk6dm9pZCAw''@;'; put 'put ''fWZ1bmN0aW9uIE10KGwsYz0wKXtyZXR1cm4gWCgoYSxkKT0+e2Euc3Vic2NyaWJlKG5lKGQsZj0+VW4oZCxsLCgpPT5kLm5leHQoZiksYyksKCk9PlVuKGQsbCwoKT0+ZC5jb21wbGV0ZSgpLGMpLGY9PlVuKGQsbCwoKT0+ZC5lcnJvcihmKSxjKSkpfSl9ZnVuY3Rpb24gRHQobCxjPTApe3Jl''@;'; put 'put ''dHVybiBYKChhLGQpPT57ZC5hZGQobC5zY2hlZHVsZSgoKT0+YS5zdWJzY3JpYmUoZCksYykpfSl9ZnVuY3Rpb24gYW4obCxjKXtpZighbCl0aHJvdyBuZXcgRXJyb3IoIkl0ZXJhYmxlIGNhbm5vdCBiZSBudWxsIik7cmV0dXJuIG5ldyBiKGE9PntVbihhLGMsKCk9Pntjb25zdCBkPWxbU3lt''@;'; put 'put ''Ym9sLmFzeW5jSXRlcmF0b3JdKCk7VW4oYSxjLCgpPT57ZC5uZXh0KCkudGhlbihmPT57Zi5kb25lP2EuY29tcGxldGUoKTphLm5leHQoZi52YWx1ZSl9KX0sMCwhMCl9KX0pfWZ1bmN0aW9uIG5uKGwsYyl7cmV0dXJuIGM/ZnVuY3Rpb24gTW4obCxjKXtpZihudWxsIT1sKXtpZihwdChsKSly''@;'; put 'put ''ZXR1cm4gZnVuY3Rpb24gQnQobCxjKXtyZXR1cm4gYXQobCkucGlwZShEdChjKSxNdChjKSl9KGwsYyk7aWYoX24obCkpcmV0dXJuIGZ1bmN0aW9uIFl0KGwsYyl7cmV0dXJuIG5ldyBiKGE9PntsZXQgZD0wO3JldHVybiBjLnNjaGVkdWxlKGZ1bmN0aW9uKCl7ZD09PWwubGVuZ3RoP2EuY29t''@;'; put 'put ''cGxldGUoKTooYS5uZXh0KGxbZCsrXSksYS5jbG9zZWR8fHRoaXMuc2NoZWR1bGUoKSl9KX0pfShsLGMpO2lmKGJ0KGwpKXJldHVybiBmdW5jdGlvbiBlbihsLGMpe3JldHVybiBhdChsKS5waXBlKER0KGMpLE10KGMpKX0obCxjKTtpZihHdChsKSlyZXR1cm4gYW4obCxjKTtpZihndChsKSly''@;'; put 'put ''ZXR1cm4gZnVuY3Rpb24gcm4obCxjKXtyZXR1cm4gbmV3IGIoYT0+e2xldCBkO3JldHVybiBVbihhLGMsKCk9PntkPWxbU25dKCksVW4oYSxjLCgpPT57bGV0IGYsdjt0cnl7KHt2YWx1ZTpmLGRvbmU6dn09ZC5uZXh0KCkpfWNhdGNoKHgpe3JldHVybiB2b2lkIGEuZXJyb3IoeCl9dj9hLmNv''@;'; put 'put ''bXBsZXRlKCk6YS5uZXh0KGYpfSwwLCEwKX0pLCgpPT5DZShudWxsPT1kP3ZvaWQgMDpkLnJldHVybikmJmQucmV0dXJuKCl9KX0obCxjKTtpZihYdChsKSlyZXR1cm4gZnVuY3Rpb24gbG4obCxjKXtyZXR1cm4gYW4oZHQobCksYyl9KGwsYyl9dGhyb3cgbnQobCl9KGwsYyk6YXQobCl9ZnVu''@;'; put 'put ''Y3Rpb24gbHIobCxjLC4uLmEpe2lmKCEwPT09YylyZXR1cm4gdm9pZCBsKCk7aWYoITE9PT1jKXJldHVybjtjb25zdCBkPW5ldyBVKHtuZXh0OigpPT57ZC51bnN1YnNjcmliZSgpLGwoKX19KTtyZXR1cm4gYyguLi5hKS5zdWJzY3JpYmUoZCl9ZnVuY3Rpb24gd24obCl7Zm9yKGxldCBjIGlu''@;'; put 'put ''IGwpaWYobFtjXT09PXduKXJldHVybiBjO3Rocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCByZW5hbWVkIHByb3BlcnR5IG9uIHRhcmdldCBvYmplY3QuIil9ZnVuY3Rpb24gdnIobCxjKXtmb3IoY29uc3QgYSBpbiBjKWMuaGFzT3duUHJvcGVydHkoYSkmJiFsLmhhc093blByb3BlcnR5KGEp''@;'; put 'put ''JiYobFthXT1jW2FdKX1mdW5jdGlvbiB2bihsKXtpZigic3RyaW5nIj09dHlwZW9mIGwpcmV0dXJuIGw7aWYoQXJyYXkuaXNBcnJheShsKSlyZXR1cm4iWyIrbC5tYXAodm4pLmpvaW4oIiwgIikrIl0iO2lmKG51bGw9PWwpcmV0dXJuIiIrbDtpZihsLm92ZXJyaWRkZW5OYW1lKXJldHVybmAk''@;'; put 'put ''e2wub3ZlcnJpZGRlbk5hbWV9YDtpZihsLm5hbWUpcmV0dXJuYCR7bC5uYW1lfWA7Y29uc3QgYz1sLnRvU3RyaW5nKCk7aWYobnVsbD09YylyZXR1cm4iIitjO2NvbnN0IGE9Yy5pbmRleE9mKCJcbiIpO3JldHVybi0xPT09YT9jOmMuc3Vic3RyaW5nKDAsYSl9ZnVuY3Rpb24gY3IobCxjKXty''@;'; put 'put ''ZXR1cm4gbnVsbD09bHx8IiI9PT1sP251bGw9PT1jPyIiOmM6bnVsbD09Y3x8IiI9PT1jP2w6bCsiICIrY31jb25zdCBvcj13bih7X19mb3J3YXJkX3JlZl9fOndufSk7ZnVuY3Rpb24gQ24obCl7cmV0dXJuIGwuX19mb3J3YXJkX3JlZl9fPUNuLGwudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1''@;'; put 'put ''cm4gdm4odGhpcygpKX0sbH1mdW5jdGlvbiBrbihsKXtyZXR1cm4gTW8obCk/bCgpOmx9ZnVuY3Rpb24gTW8obCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGwmJmwuaGFzT3duUHJvcGVydHkob3IpJiZsLl9fZm9yd2FyZF9yZWZfXz09PUNufWNsYXNzIEl0IGV4dGVuZHMgRXJyb3J7Y29u''@;'; put 'put ''c3RydWN0b3IoYyxhKXtzdXBlcihmdW5jdGlvbiBLaShsLGMpe3JldHVybmBORzAke01hdGguYWJzKGwpfSR7Yz8iOiAiK2MudHJpbSgpOiIifWB9KGMsYSkpLHRoaXMuY29kZT1jfX1mdW5jdGlvbiB4bihsKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGw/bDpudWxsPT1sPyIiOlN0cmluZyhs''@;'; put 'put ''KX1mdW5jdGlvbiBhbyhsLGMpe3Rocm93IG5ldyBJdCgtMjAxLCExKX1mdW5jdGlvbiBRaShsLGMpe251bGw9PWwmJmZ1bmN0aW9uIE9yKGwsYyxhLGQpe3Rocm93IG5ldyBFcnJvcihgQVNTRVJUSU9OIEVSUk9SOiAke2x9YCsobnVsbD09ZD8iIjpgIFtFeHBlY3RlZD0+ICR7YX0gJHtkfSAk''@;'; put 'put ''e2N9IDw9QWN0dWFsXWApKX0oYyxsLG51bGwsIiE9Iil9ZnVuY3Rpb24geHQobCl7cmV0dXJue3Rva2VuOmwudG9rZW4scHJvdmlkZWRJbjpsLnByb3ZpZGVkSW58fG51bGwsZmFjdG9yeTpsLmZhY3RvcnksdmFsdWU6dm9pZCAwfX1mdW5jdGlvbiBmbihsKXtyZXR1cm57cHJvdmlkZXJzOmwu''@;'; put 'put ''cHJvdmlkZXJzfHxbXSxpbXBvcnRzOmwuaW1wb3J0c3x8W119fWZ1bmN0aW9uIFh1KGwpe3JldHVybiB2ZihsLHphKXx8dmYobCx5Zil9ZnVuY3Rpb24gdmYobCxjKXtyZXR1cm4gbC5oYXNPd25Qcm9wZXJ0eShjKT9sW2NdOm51bGx9ZnVuY3Rpb24gX2YobCl7cmV0dXJuIGwmJihsLmhhc093''@;'; put 'put ''blByb3BlcnR5KHdsKXx8bC5oYXNPd25Qcm9wZXJ0eSh3ZikpP2xbd2xdOm51bGx9Y29uc3QgemE9d24oe1x1MDI3NXByb3Y6d259KSx3bD13bih7XHUwMjc1aW5qOndufSkseWY9d24oe25nSW5qZWN0YWJsZURlZjp3bn0pLHdmPXduKHtuZ0luamVjdG9yRGVmOndufSk7dmFyIEVuPSgoKT0+''@;'; put 'put ''KChFbj1Fbnx8e30pW0VuLkRlZmF1bHQ9MF09IkRlZmF1bHQiLEVuW0VuLkhvc3Q9MV09Ikhvc3QiLEVuW0VuLlNlbGY9Ml09IlNlbGYiLEVuW0VuLlNraXBTZWxmPTRdPSJTa2lwU2VsZiIsRW5bRW4uT3B0aW9uYWw9OF09Ik9wdGlvbmFsIixFbikpKCk7bGV0IFF1O2Z1bmN0aW9uIGxvKGwp''@;'; put 'put ''e2NvbnN0IGM9UXU7cmV0dXJuIFF1PWwsY31mdW5jdGlvbiBNZihsLGMsYSl7Y29uc3QgZD1YdShsKTtyZXR1cm4gZCYmInJvb3QiPT1kLnByb3ZpZGVkSW4/dm9pZCAwPT09ZC52YWx1ZT9kLnZhbHVlPWQuZmFjdG9yeSgpOmQudmFsdWU6YSZFbi5PcHRpb25hbD9udWxsOnZvaWQgMCE9PWM/''@;'; put 'put ''Yzp2b2lkIGFvKHZuKGwpKX1mdW5jdGlvbiBrcihsKXtyZXR1cm57dG9TdHJpbmc6bH0udG9TdHJpbmcoKX12YXIgamk9KCgpPT4oKGppPWppfHx7fSlbamkuT25QdXNoPTBdPSJPblB1c2giLGppW2ppLkRlZmF1bHQ9MV09IkRlZmF1bHQiLGppKSkoKSxjbz0oKCk9PntyZXR1cm4obD1jb3x8''@;'; put 'put ''KGNvPXt9KSlbbC5FbXVsYXRlZD0wXT0iRW11bGF0ZWQiLGxbbC5Ob25lPTJdPSJOb25lIixsW2wuU2hhZG93RG9tPTNdPSJTaGFkb3dEb20iLGNvO3ZhciBsfSkoKTtjb25zdCBMcj0oKCk9PiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpc3x8InVuZGVmaW5lZCIh''@;'; put 'put ''PXR5cGVvZiBnbG9iYWwmJmdsb2JhbHx8InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvd3x8InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiYidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnNlbGYp''@;'; put 'put ''KCksJGk9e30sX3I9W10sbWM9d24oe1x1MDI3NWNtcDp3bn0pLGtvPXduKHtcdTAyNzVkaXI6d259KSxlZD13bih7XHUwMjc1cGlwZTp3bn0pLGJjPXduKHtcdTAyNzVtb2Q6d259KSxzcz13bih7XHUwMjc1ZmFjOndufSksTWw9d24oe19fTkdfRUxFTUVOVF9JRF9fOndufSk7bGV0IGxtPTA7''@;'; put 'put ''ZnVuY3Rpb24gTnQobCl7cmV0dXJuIGtyKCgpPT57Y29uc3QgYT0hMD09PWwuc3RhbmRhbG9uZSxkPXt9LGY9e3R5cGU6bC50eXBlLHByb3ZpZGVyc1Jlc29sdmVyOm51bGwsZGVjbHM6bC5kZWNscyx2YXJzOmwudmFycyxmYWN0b3J5Om51bGwsdGVtcGxhdGU6bC50ZW1wbGF0ZXx8bnVsbCxj''@;'; put 'put ''b25zdHM6bC5jb25zdHN8fG51bGwsbmdDb250ZW50U2VsZWN0b3JzOmwubmdDb250ZW50U2VsZWN0b3JzLGhvc3RCaW5kaW5nczpsLmhvc3RCaW5kaW5nc3x8bnVsbCxob3N0VmFyczpsLmhvc3RWYXJzfHwwLGhvc3RBdHRyczpsLmhvc3RBdHRyc3x8bnVsbCxjb250ZW50UXVlcmllczpsLmNv''@;'; put 'put ''bnRlbnRRdWVyaWVzfHxudWxsLGRlY2xhcmVkSW5wdXRzOmQsaW5wdXRzOm51bGwsb3V0cHV0czpudWxsLGV4cG9ydEFzOmwuZXhwb3J0QXN8fG51bGwsb25QdXNoOmwuY2hhbmdlRGV0ZWN0aW9uPT09amkuT25QdXNoLGRpcmVjdGl2ZURlZnM6bnVsbCxwaXBlRGVmczpudWxsLHN0YW5kYWxv''@;'; put 'put ''bmU6YSxkZXBlbmRlbmNpZXM6YSYmbC5kZXBlbmRlbmNpZXN8fG51bGwsZ2V0U3RhbmRhbG9uZUluamVjdG9yOm51bGwsc2VsZWN0b3JzOmwuc2VsZWN0b3JzfHxfcix2aWV3UXVlcnk6bC52aWV3UXVlcnl8fG51bGwsZmVhdHVyZXM6bC5mZWF0dXJlc3x8bnVsbCxkYXRhOmwuZGF0YXx8e30s''@;'; put 'put ''ZW5jYXBzdWxhdGlvbjpsLmVuY2Fwc3VsYXRpb258fGNvLkVtdWxhdGVkLGlkOiJjIitsbSsrLHN0eWxlczpsLnN0eWxlc3x8X3IsXzpudWxsLHNldElucHV0Om51bGwsc2NoZW1hczpsLnNjaGVtYXN8fG51bGwsdFZpZXc6bnVsbH0sdj1sLmRlcGVuZGVuY2llcyx4PWwuZmVhdHVyZXM7cmV0''@;'; put 'put ''dXJuIGYuaW5wdXRzPVNmKGwuaW5wdXRzLGQpLGYub3V0cHV0cz1TZihsLm91dHB1dHMpLHgmJnguZm9yRWFjaChIPT5IKGYpKSxmLmRpcmVjdGl2ZURlZnM9dj8oKT0+KCJmdW5jdGlvbiI9PXR5cGVvZiB2P3YoKTp2KS5tYXAoQ2YpLmZpbHRlcihrZik6bnVsbCxmLnBpcGVEZWZzPXY/KCk9''@;'; put 'put ''PigiZnVuY3Rpb24iPT10eXBlb2Ygdj92KCk6dikubWFwKF9pKS5maWx0ZXIoa2YpOm51bGwsZn0pfWZ1bmN0aW9uIENmKGwpe3JldHVybiBEcihsKXx8U2kobCl9ZnVuY3Rpb24ga2YobCl7cmV0dXJuIG51bGwhPT1sfWZ1bmN0aW9uIGduKGwpe3JldHVybiBrcigoKT0+KHt0eXBlOmwudHlw''@;'; put 'put ''ZSxib290c3RyYXA6bC5ib290c3RyYXB8fF9yLGRlY2xhcmF0aW9uczpsLmRlY2xhcmF0aW9uc3x8X3IsaW1wb3J0czpsLmltcG9ydHN8fF9yLGV4cG9ydHM6bC5leHBvcnRzfHxfcix0cmFuc2l0aXZlQ29tcGlsZVNjb3BlczpudWxsLHNjaGVtYXM6bC5zY2hlbWFzfHxudWxsLGlkOmwuaWR8''@;'; put 'put ''fG51bGx9KSl9ZnVuY3Rpb24gU2YobCxjKXtpZihudWxsPT1sKXJldHVybiAkaTtjb25zdCBhPXt9O2Zvcihjb25zdCBkIGluIGwpaWYobC5oYXNPd25Qcm9wZXJ0eShkKSl7bGV0IGY9bFtkXSx2PWY7QXJyYXkuaXNBcnJheShmKSYmKHY9ZlsxXSxmPWZbMF0pLGFbZl09ZCxjJiYoY1tmXT12''@;'; put 'put ''KX1yZXR1cm4gYX1jb25zdCBUdD1OdDtmdW5jdGlvbiBJaShsKXtyZXR1cm57dHlwZTpsLnR5cGUsbmFtZTpsLm5hbWUsZmFjdG9yeTpudWxsLHB1cmU6ITEhPT1sLnB1cmUsc3RhbmRhbG9uZTohMD09PWwuc3RhbmRhbG9uZSxvbkRlc3Ryb3k6bC50eXBlLnByb3RvdHlwZS5uZ09uRGVzdHJv''@;'; put 'put ''eXx8bnVsbH19ZnVuY3Rpb24gRHIobCl7cmV0dXJuIGxbbWNdfHxudWxsfWZ1bmN0aW9uIFNpKGwpe3JldHVybiBsW2tvXXx8bnVsbH1mdW5jdGlvbiBfaShsKXtyZXR1cm4gbFtlZF18fG51bGx9ZnVuY3Rpb24gZW8obCxjKXtjb25zdCBhPWxbYmNdfHxudWxsO2lmKCFhJiYhMD09PWMpdGhy''@;'; put 'put ''b3cgbmV3IEVycm9yKGBUeXBlICR7dm4obCl9IGRvZXMgbm90IGhhdmUgJ1x1MDI3NW1vZCcgcHJvcGVydHkuYCk7cmV0dXJuIGF9ZnVuY3Rpb24gUmkobCl7cmV0dXJuIEFycmF5LmlzQXJyYXkobCkmJiJvYmplY3QiPT10eXBlb2YgbFsxXX1mdW5jdGlvbiBTbyhsKXtyZXR1cm4gQXJyYXku''@;'; put 'put ''aXNBcnJheShsKSYmITA9PT1sWzFdfWZ1bmN0aW9uIHNkKGwpe3JldHVybiAwIT0oOCZsLmZsYWdzKX1mdW5jdGlvbiBfYyhsKXtyZXR1cm4gMj09KDImbC5mbGFncyl9ZnVuY3Rpb24geWMobCl7cmV0dXJuIDE9PSgxJmwuZmxhZ3MpfWZ1bmN0aW9uIE9vKGwpe3JldHVybiBudWxsIT09bC50''@;'; put 'put ''ZW1wbGF0ZX1mdW5jdGlvbiB1bShsKXtyZXR1cm4gMCE9KDI1NiZsWzJdKX1mdW5jdGlvbiBjYShsLGMpe3JldHVybiBsLmhhc093blByb3BlcnR5KHNzKT9sW3NzXTpudWxsfWNsYXNzIHZte2NvbnN0cnVjdG9yKGMsYSxkKXt0aGlzLnByZXZpb3VzVmFsdWU9Yyx0aGlzLmN1cnJlbnRWYWx1''@;'; put 'put ''ZT1hLHRoaXMuZmlyc3RDaGFuZ2U9ZH1pc0ZpcnN0Q2hhbmdlKCl7cmV0dXJuIHRoaXMuZmlyc3RDaGFuZ2V9fWZ1bmN0aW9uIHVpKCl7cmV0dXJuIERmfWZ1bmN0aW9uIERmKGwpe3JldHVybiBsLnR5cGUucHJvdG90eXBlLm5nT25DaGFuZ2VzJiYobC5zZXRJbnB1dD15bSksX219ZnVuY3Rp''@;'; put 'put ''b24gX20oKXtjb25zdCBsPWtsKHRoaXMpLGM9bnVsbD09bD92b2lkIDA6bC5jdXJyZW50O2lmKGMpe2NvbnN0IGE9bC5wcmV2aW91cztpZihhPT09JGkpbC5wcmV2aW91cz1jO2Vsc2UgZm9yKGxldCBkIGluIGMpYVtkXT1jW2RdO2wuY3VycmVudD1udWxsLHRoaXMubmdPbkNoYW5nZXMoYyl9''@;'; put 'put ''fWZ1bmN0aW9uIHltKGwsYyxhLGQpe2NvbnN0IGY9a2wobCl8fGZ1bmN0aW9uIHdtKGwsYyl7cmV0dXJuIGxbeGZdPWN9KGwse3ByZXZpb3VzOiRpLGN1cnJlbnQ6bnVsbH0pLHY9Zi5jdXJyZW50fHwoZi5jdXJyZW50PXt9KSx4PWYucHJldmlvdXMsSD10aGlzLmRlY2xhcmVkSW5wdXRzW2Fd''@;'; put 'put ''LEs9eFtIXTt2W0hdPW5ldyB2bShLJiZLLmN1cnJlbnRWYWx1ZSxjLHg9PT0kaSksbFtkXT1jfXVpLm5nSW5oZXJpdD0hMDtjb25zdCB4Zj0iX19uZ1NpbXBsZUNoYW5nZXNfXyI7ZnVuY3Rpb24ga2wobCl7cmV0dXJuIGxbeGZdfHxudWxsfWZ1bmN0aW9uIEpyKGwpe2Zvcig7QXJyYXkuaXNB''@;'; put 'put ''cnJheShsKTspbD1sWzBdO3JldHVybiBsfWZ1bmN0aW9uIGNzKGwsYyl7cmV0dXJuIEpyKGNbbF0pfWZ1bmN0aW9uIE9pKGwsYyl7cmV0dXJuIEpyKGNbbC5pbmRleF0pfWZ1bmN0aW9uIExzKGwsYyl7cmV0dXJuIGwuZGF0YVtjXX1mdW5jdGlvbiB1YShsLGMpe3JldHVybiBsW2NdfWZ1bmN0''@;'; put 'put ''aW9uIE5pKGwsYyl7Y29uc3QgYT1jW2xdO3JldHVybiBSaShhKT9hOmFbMF19ZnVuY3Rpb24gVGYobCl7cmV0dXJuIDQ9PSg0JmxbMl0pfWZ1bmN0aW9uIHdjKGwpe3JldHVybiA2ND09KDY0JmxbMl0pfWZ1bmN0aW9uIElzKGwsYyl7cmV0dXJuIG51bGw9PWM/bnVsbDpsW2NdfWZ1bmN0aW9u''@;'; put 'put ''IExmKGwpe2xbMThdPTB9ZnVuY3Rpb24gaGQobCxjKXtsWzVdKz1jO2xldCBhPWwsZD1sWzNdO2Zvcig7bnVsbCE9PWQmJigxPT09YyYmMT09PWFbNV18fC0xPT09YyYmMD09PWFbNV0pOylkWzVdKz1jLGE9ZCxkPWRbM119Y29uc3Qgem49e2xGcmFtZTpVdChudWxsKSxiaW5kaW5nc0VuYWJs''@;'; put 'put ''ZWQ6ITB9O2Z1bmN0aW9uIEZmKCl7cmV0dXJuIHpuLmJpbmRpbmdzRW5hYmxlZH1mdW5jdGlvbiB6dCgpe3JldHVybiB6bi5sRnJhbWUubFZpZXd9ZnVuY3Rpb24gZ3IoKXtyZXR1cm4gem4ubEZyYW1lLnRWaWV3fWZ1bmN0aW9uIGNuKGwpe3JldHVybiB6bi5sRnJhbWUuY29udGV4dExWaWV3''@;'; put 'put ''PWwsbFs4XX1mdW5jdGlvbiB1bihsKXtyZXR1cm4gem4ubEZyYW1lLmNvbnRleHRMVmlldz1udWxsLGx9ZnVuY3Rpb24gb2koKXtsZXQgbD1SZigpO2Zvcig7bnVsbCE9PWwmJjY0PT09bC50eXBlOylsPWwucGFyZW50O3JldHVybiBsfWZ1bmN0aW9uIFJmKCl7cmV0dXJuIHpuLmxGcmFtZS5j''@;'; put 'put ''dXJyZW50VE5vZGV9ZnVuY3Rpb24gZm8obCxjKXtjb25zdCBhPXpuLmxGcmFtZTthLmN1cnJlbnRUTm9kZT1sLGEuaXNQYXJlbnQ9Y31mdW5jdGlvbiBmZCgpe3JldHVybiB6bi5sRnJhbWUuaXNQYXJlbnR9ZnVuY3Rpb24gcGQoKXt6bi5sRnJhbWUuaXNQYXJlbnQ9ITF9ZnVuY3Rpb24gUGko''@;'; put 'put ''KXtjb25zdCBsPXpuLmxGcmFtZTtsZXQgYz1sLmJpbmRpbmdSb290SW5kZXg7cmV0dXJuLTE9PT1jJiYoYz1sLmJpbmRpbmdSb290SW5kZXg9bC50Vmlldy5iaW5kaW5nU3RhcnRJbmRleCksY31mdW5jdGlvbiBVYSgpe3JldHVybiB6bi5sRnJhbWUuYmluZGluZ0luZGV4Kyt9ZnVuY3Rpb24g''@;'; put 'put ''RW0obCxjKXtjb25zdCBhPXpuLmxGcmFtZTthLmJpbmRpbmdJbmRleD1hLmJpbmRpbmdSb290SW5kZXg9bCxiZChjKX1mdW5jdGlvbiBiZChsKXt6bi5sRnJhbWUuY3VycmVudERpcmVjdGl2ZUluZGV4PWx9ZnVuY3Rpb24gdmQobCl7Y29uc3QgYz16bi5sRnJhbWUuY3VycmVudERpcmVjdGl2''@;'; put 'put ''ZUluZGV4O3JldHVybi0xPT09Yz9udWxsOmxbY119ZnVuY3Rpb24gSGYoKXtyZXR1cm4gem4ubEZyYW1lLmN1cnJlbnRRdWVyeUluZGV4fWZ1bmN0aW9uIFdvKGwpe3puLmxGcmFtZS5jdXJyZW50UXVlcnlJbmRleD1sfWZ1bmN0aW9uIFZmKGwpe2NvbnN0IGM9bFsxXTtyZXR1cm4gMj09PWMu''@;'; put 'put ''dHlwZT9jLmRlY2xUTm9kZToxPT09Yy50eXBlP2xbNl06bnVsbH1mdW5jdGlvbiBVZihsLGMsYSl7aWYoYSZFbi5Ta2lwU2VsZil7bGV0IGY9Yyx2PWw7Zm9yKDshKGY9Zi5wYXJlbnQsbnVsbCE9PWZ8fGEmRW4uSG9zdHx8KGY9VmYodiksbnVsbD09PWZ8fCh2PXZbMTVdLDEwJmYudHlwZSkp''@;'; put 'put ''KTspO2lmKG51bGw9PT1mKXJldHVybiExO2M9ZixsPXZ9Y29uc3QgZD16bi5sRnJhbWU9V2YoKTtyZXR1cm4gZC5jdXJyZW50VE5vZGU9YyxkLmxWaWV3PWwsITB9ZnVuY3Rpb24gX2QobCl7Y29uc3QgYz1XZigpLGE9bFsxXTt6bi5sRnJhbWU9YyxjLmN1cnJlbnRUTm9kZT1hLmZpcnN0Q2hp''@;'; put 'put ''bGQsYy5sVmlldz1sLGMudFZpZXc9YSxjLmNvbnRleHRMVmlldz1sLGMuYmluZGluZ0luZGV4PWEuYmluZGluZ1N0YXJ0SW5kZXgsYy5pbkkxOG49ITF9ZnVuY3Rpb24gV2YoKXtjb25zdCBsPXpuLmxGcmFtZSxjPW51bGw9PT1sP251bGw6bC5jaGlsZDtyZXR1cm4gbnVsbD09PWM/VXQobCk6''@;'; put 'put ''Y31mdW5jdGlvbiBVdChsKXtjb25zdCBjPXtjdXJyZW50VE5vZGU6bnVsbCxpc1BhcmVudDohMCxsVmlldzpudWxsLHRWaWV3Om51bGwsc2VsZWN0ZWRJbmRleDotMSxjb250ZXh0TFZpZXc6bnVsbCxlbGVtZW50RGVwdGhDb3VudDowLGN1cnJlbnROYW1lc3BhY2U6bnVsbCxjdXJyZW50RGly''@;'; put 'put ''ZWN0aXZlSW5kZXg6LTEsYmluZGluZ1Jvb3RJbmRleDotMSxiaW5kaW5nSW5kZXg6LTEsY3VycmVudFF1ZXJ5SW5kZXg6MCxwYXJlbnQ6bCxjaGlsZDpudWxsLGluSTE4bjohMX07cmV0dXJuIG51bGwhPT1sJiYobC5jaGlsZD1jKSxjfWZ1bmN0aW9uIHFmKCl7Y29uc3QgbD16bi5sRnJhbWU7''@;'; put 'put ''cmV0dXJuIHpuLmxGcmFtZT1sLnBhcmVudCxsLmN1cnJlbnRUTm9kZT1udWxsLGwubFZpZXc9bnVsbCxsfWNvbnN0IEdmPXFmO2Z1bmN0aW9uIENjKCl7Y29uc3QgbD1xZigpO2wuaXNQYXJlbnQ9ITAsbC50Vmlldz1udWxsLGwuc2VsZWN0ZWRJbmRleD0tMSxsLmNvbnRleHRMVmlldz1udWxs''@;'; put 'put ''LGwuZWxlbWVudERlcHRoQ291bnQ9MCxsLmN1cnJlbnREaXJlY3RpdmVJbmRleD0tMSxsLmN1cnJlbnROYW1lc3BhY2U9bnVsbCxsLmJpbmRpbmdSb290SW5kZXg9LTEsbC5iaW5kaW5nSW5kZXg9LTEsbC5jdXJyZW50UXVlcnlJbmRleD0wfWZ1bmN0aW9uIHdpKCl7cmV0dXJuIHpuLmxGcmFt''@;'; put 'put ''ZS5zZWxlY3RlZEluZGV4fWZ1bmN0aW9uIHFvKGwpe3puLmxGcmFtZS5zZWxlY3RlZEluZGV4PWx9ZnVuY3Rpb24gcXIoKXtjb25zdCBsPXpuLmxGcmFtZTtyZXR1cm4gTHMobC50VmlldyxsLnNlbGVjdGVkSW5kZXgpfWZ1bmN0aW9uIFNsKGwsYyl7Zm9yKGxldCBhPWMuZGlyZWN0aXZlU3Rh''@;'; put 'put ''cnQsZD1jLmRpcmVjdGl2ZUVuZDthPGQ7YSsrKXtjb25zdCB2PWwuZGF0YVthXS50eXBlLnByb3RvdHlwZSx7bmdBZnRlckNvbnRlbnRJbml0OngsbmdBZnRlckNvbnRlbnRDaGVja2VkOkgsbmdBZnRlclZpZXdJbml0OkssbmdBZnRlclZpZXdDaGVja2VkOmVlLG5nT25EZXN0cm95OmZlfT12''@;'; put 'put ''O3gmJihsLmNvbnRlbnRIb29rc3x8KGwuY29udGVudEhvb2tzPVtdKSkucHVzaCgtYSx4KSxIJiYoKGwuY29udGVudEhvb2tzfHwobC5jb250ZW50SG9va3M9W10pKS5wdXNoKGEsSCksKGwuY29udGVudENoZWNrSG9va3N8fChsLmNvbnRlbnRDaGVja0hvb2tzPVtdKSkucHVzaChhLEgpKSxL''@;'; put 'put ''JiYobC52aWV3SG9va3N8fChsLnZpZXdIb29rcz1bXSkpLnB1c2goLWEsSyksZWUmJigobC52aWV3SG9va3N8fChsLnZpZXdIb29rcz1bXSkpLnB1c2goYSxlZSksKGwudmlld0NoZWNrSG9va3N8fChsLnZpZXdDaGVja0hvb2tzPVtdKSkucHVzaChhLGVlKSksbnVsbCE9ZmUmJihsLmRlc3Ry''@;'; put 'put ''b3lIb29rc3x8KGwuZGVzdHJveUhvb2tzPVtdKSkucHVzaChhLGZlKX19ZnVuY3Rpb24gamMobCxjLGEpe1pmKGwsYywzLGEpfWZ1bmN0aW9uIFNjKGwsYyxhLGQpeygzJmxbMl0pPT09YSYmWmYobCxjLGEsZCl9ZnVuY3Rpb24gT2MobCxjKXtsZXQgYT1sWzJdOygzJmEpPT09YyYmKGEmPTIw''@;'; put 'put ''NDcsYSs9MSxsWzJdPWEpfWZ1bmN0aW9uIFpmKGwsYyxhLGQpe2NvbnN0IHY9bnVsbCE9ZD9kOi0xLHg9Yy5sZW5ndGgtMTtsZXQgSD0wO2ZvcihsZXQgSz12b2lkIDAhPT1kPzY1NTM1JmxbMThdOjA7Szx4O0srKylpZigibnVtYmVyIj09dHlwZW9mIGNbSysxXSl7aWYoSD1jW0tdLG51bGwh''@;'; put 'put ''PWQmJkg+PWQpYnJlYWt9ZWxzZSBjW0tdPDAmJihsWzE4XSs9NjU1MzYpLChIPHZ8fC0xPT12KSYmKEpmKGwsYSxjLEspLGxbMThdPSg0Mjk0OTAxNzYwJmxbMThdKStLKzIpLEsrK31mdW5jdGlvbiBKZihsLGMsYSxkKXtjb25zdCBmPWFbZF08MCx2PWFbZCsxXSxIPWxbZj8tYVtkXTphW2Rd''@;'; put 'put ''XTtpZihmKXtpZihsWzJdPj4xMTxsWzE4XT4+MTYmJigzJmxbMl0pPT09Yyl7bFsyXSs9MjA0ODt0cnl7di5jYWxsKEgpfWZpbmFsbHl7fX19ZWxzZSB0cnl7di5jYWxsKEgpfWZpbmFsbHl7fX1jbGFzcyBPbHtjb25zdHJ1Y3RvcihjLGEsZCl7dGhpcy5mYWN0b3J5PWMsdGhpcy5yZXNvbHZp''@;'; put 'put ''bmc9ITEsdGhpcy5jYW5TZWVWaWV3UHJvdmlkZXJzPWEsdGhpcy5pbmplY3RJbXBsPWR9fWZ1bmN0aW9uIFBjKGwsYyxhKXtsZXQgZD0wO2Zvcig7ZDxhLmxlbmd0aDspe2NvbnN0IGY9YVtkXTtpZigibnVtYmVyIj09dHlwZW9mIGYpe2lmKDAhPT1mKWJyZWFrO2QrKztjb25zdCB2PWFbZCsr''@;'; put 'put ''XSx4PWFbZCsrXSxIPWFbZCsrXTtsLnNldEF0dHJpYnV0ZShjLHgsSCx2KX1lbHNle2NvbnN0IHY9Zix4PWFbKytkXTtYZih2KT9sLnNldFByb3BlcnR5KGMsdix4KTpsLnNldEF0dHJpYnV0ZShjLHYseCksZCsrfX1yZXR1cm4gZH1mdW5jdGlvbiBLZihsKXtyZXR1cm4gMz09PWx8fDQ9PT1s''@;'; put 'put ''fHw2PT09bH1mdW5jdGlvbiBYZihsKXtyZXR1cm4gNjQ9PT1sLmNoYXJDb2RlQXQoMCl9ZnVuY3Rpb24gRGMobCxjKXtpZihudWxsIT09YyYmMCE9PWMubGVuZ3RoKWlmKG51bGw9PT1sfHwwPT09bC5sZW5ndGgpbD1jLnNsaWNlKCk7ZWxzZXtsZXQgYT0tMTtmb3IobGV0IGQ9MDtkPGMubGVu''@;'; put 'put ''Z3RoO2QrKyl7Y29uc3QgZj1jW2RdOyJudW1iZXIiPT10eXBlb2YgZj9hPWY6MD09PWF8fFFmKGwsYSxmLG51bGwsLTE9PT1hfHwyPT09YT9jWysrZF06bnVsbCl9fXJldHVybiBsfWZ1bmN0aW9uIFFmKGwsYyxhLGQsZil7bGV0IHY9MCx4PWwubGVuZ3RoO2lmKC0xPT09Yyl4PS0xO2Vsc2Ug''@;'; put 'put ''Zm9yKDt2PGwubGVuZ3RoOyl7Y29uc3QgSD1sW3YrK107aWYoIm51bWJlciI9PXR5cGVvZiBIKXtpZihIPT09Yyl7eD0tMTticmVha31pZihIPmMpe3g9di0xO2JyZWFrfX19Zm9yKDt2PGwubGVuZ3RoOyl7Y29uc3QgSD1sW3ZdO2lmKCJudW1iZXIiPT10eXBlb2YgSClicmVhaztpZihIPT09''@;'; put 'put ''YSl7aWYobnVsbD09PWQpcmV0dXJuIHZvaWQobnVsbCE9PWYmJihsW3YrMV09ZikpO2lmKGQ9PT1sW3YrMV0pcmV0dXJuIHZvaWQobFt2KzJdPWYpfXYrKyxudWxsIT09ZCYmdisrLG51bGwhPT1mJiZ2Kyt9LTEhPT14JiYobC5zcGxpY2UoeCwwLGMpLHY9eCsxKSxsLnNwbGljZSh2KyssMCxh''@;'; put 'put ''KSxudWxsIT09ZCYmbC5zcGxpY2UodisrLDAsZCksbnVsbCE9PWYmJmwuc3BsaWNlKHYrKywwLGYpfWZ1bmN0aW9uIEZzKGwpe3JldHVybi0xIT09bH1mdW5jdGlvbiBXYShsKXtyZXR1cm4gMzI3NjcmbH1mdW5jdGlvbiBxYShsLGMpe2xldCBhPWZ1bmN0aW9uIEJtKGwpe3JldHVybiBsPj4x''@;'; put 'put ''Nn0obCksZD1jO2Zvcig7YT4wOylkPWRbMTVdLGEtLTtyZXR1cm4gZH1sZXQgd2Q9ITA7ZnVuY3Rpb24geGMobCl7Y29uc3QgYz13ZDtyZXR1cm4gd2Q9bCxjfWxldCBwcz0wO2NvbnN0IERpPXt9O2Z1bmN0aW9uIERsKGwsYyl7Y29uc3QgYT1DZChsLGMpO2lmKC0xIT09YSlyZXR1cm4gYTtj''@;'; put 'put ''b25zdCBkPWNbMV07ZC5maXJzdENyZWF0ZVBhc3MmJihsLmluamVjdG9ySW5kZXg9Yy5sZW5ndGgsTWQoZC5kYXRhLGwpLE1kKGMsbnVsbCksTWQoZC5ibHVlcHJpbnQsbnVsbCkpO2NvbnN0IGY9QWMobCxjKSx2PWwuaW5qZWN0b3JJbmRleDtpZihGcyhmKSl7Y29uc3QgeD1XYShmKSxIPXFh''@;'; put 'put ''KGYsYyksSz1IWzFdLmRhdGE7Zm9yKGxldCBlZT0wO2VlPDg7ZWUrKyljW3YrZWVdPUhbeCtlZV18S1t4K2VlXX1yZXR1cm4gY1t2KzhdPWYsdn1mdW5jdGlvbiBNZChsLGMpe2wucHVzaCgwLDAsMCwwLDAsMCwwLDAsYyl9ZnVuY3Rpb24gQ2QobCxjKXtyZXR1cm4tMT09PWwuaW5qZWN0b3JJ''@;'; put 'put ''bmRleHx8bC5wYXJlbnQmJmwucGFyZW50LmluamVjdG9ySW5kZXg9PT1sLmluamVjdG9ySW5kZXh8fG51bGw9PT1jW2wuaW5qZWN0b3JJbmRleCs4XT8tMTpsLmluamVjdG9ySW5kZXh9ZnVuY3Rpb24gQWMobCxjKXtpZihsLnBhcmVudCYmLTEhPT1sLnBhcmVudC5pbmplY3RvckluZGV4KXJl''@;'; put 'put ''dHVybiBsLnBhcmVudC5pbmplY3RvckluZGV4O2xldCBhPTAsZD1udWxsLGY9Yztmb3IoO251bGwhPT1mOyl7aWYoZD1ydyhmKSxudWxsPT09ZClyZXR1cm4tMTtpZihhKyssZj1mWzE1XSwtMSE9PWQuaW5qZWN0b3JJbmRleClyZXR1cm4gZC5pbmplY3RvckluZGV4fGE8PDE2fXJldHVybi0x''@;'; put 'put ''fWZ1bmN0aW9uIEdhKGwsYyxhKXshZnVuY3Rpb24gSG0obCxjLGEpe2xldCBkOyJzdHJpbmciPT10eXBlb2YgYT9kPWEuY2hhckNvZGVBdCgwKXx8MDphLmhhc093blByb3BlcnR5KE1sKSYmKGQ9YVtNbF0pLG51bGw9PWQmJihkPWFbTWxdPXBzKyspO2NvbnN0IGY9MjU1JmQ7Yy5kYXRhW2wr''@;'; put 'put ''KGY+PjUpXXw9MTw8Zn0obCxjLGEpfWZ1bmN0aW9uIHhsKGwsYyxhKXtpZihhJkVuLk9wdGlvbmFsKXJldHVybiBsO2FvKCl9ZnVuY3Rpb24gZHIobCxjLGEsZCl7aWYoYSZFbi5PcHRpb25hbCYmdm9pZCAwPT09ZCYmKGQ9bnVsbCksMD09KGEmKEVuLlNlbGZ8RW4uSG9zdCkpKXtjb25zdCBm''@;'; put 'put ''PWxbOV0sdj1sbyh2b2lkIDApO3RyeXtyZXR1cm4gZj9mLmdldChjLGQsYSZFbi5PcHRpb25hbCk6TWYoYyxkLGEmRW4uT3B0aW9uYWwpfWZpbmFsbHl7bG8odil9fXJldHVybiB4bChkLDAsYSl9ZnVuY3Rpb24gUShsLGMsYSxkPUVuLkRlZmF1bHQsZil7aWYobnVsbCE9PWwpe2lmKDEwMjQm''@;'; put 'put ''Y1syXSl7Y29uc3QgeD1mdW5jdGlvbiBScyhsLGMsYSxkLGYpe2xldCB2PWwseD1jO2Zvcig7bnVsbCE9PXYmJm51bGwhPT14JiYxMDI0JnhbMl0mJiEoMjU2JnhbMl0pOyl7Y29uc3QgSD1yZSh2LHgsYSxkfEVuLlNlbGYsRGkpO2lmKEghPT1EaSlyZXR1cm4gSDtsZXQgSz12LnBhcmVudDtp''@;'; put 'put ''ZighSyl7Y29uc3QgZWU9eFsyMV07aWYoZWUpe2NvbnN0IGZlPWVlLmdldChhLERpLGQpO2lmKGZlIT09RGkpcmV0dXJuIGZlfUs9cncoeCkseD14WzE1XX12PUt9cmV0dXJuIGZ9KGwsYyxhLGQsRGkpO2lmKHghPT1EaSlyZXR1cm4geH1jb25zdCB2PXJlKGwsYyxhLGQsRGkpO2lmKHYhPT1E''@;'; put 'put ''aSlyZXR1cm4gdn1yZXR1cm4gZHIoYyxhLGQsZil9ZnVuY3Rpb24gcmUobCxjLGEsZCxmKXtjb25zdCB2PWZ1bmN0aW9uIHR0KGwpe2lmKCJzdHJpbmciPT10eXBlb2YgbClyZXR1cm4gbC5jaGFyQ29kZUF0KDApfHwwO2NvbnN0IGM9bC5oYXNPd25Qcm9wZXJ0eShNbCk/bFtNbF06dm9pZCAw''@;'; put 'put ''O3JldHVybiJudW1iZXIiPT10eXBlb2YgYz9jPj0wPzI1NSZjOkZyOmN9KGEpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB2KXtpZighVWYoYyxsLGQpKXJldHVybiBkJkVuLkhvc3Q/eGwoZiwwLGQpOmRyKGMsYSxkLGYpO3RyeXtjb25zdCB4PXYoZCk7aWYobnVsbCE9eHx8ZCZFbi5PcHRpb25h''@;'; put 'put ''bClyZXR1cm4geDthbygpfWZpbmFsbHl7R2YoKX19ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHYpe2xldCB4PW51bGwsSD1DZChsLGMpLEs9LTEsZWU9ZCZFbi5Ib3N0P2NbMTZdWzZdOm51bGw7Zm9yKCgtMT09PUh8fGQmRW4uU2tpcFNlbGYpJiYoSz0tMT09PUg/QWMobCxjKTpjW0grOF0s''@;'; put 'put ''LTEhPT1LJiZqbihkLCExKT8oeD1jWzFdLEg9V2EoSyksYz1xYShLLGMpKTpIPS0xKTstMSE9PUg7KXtjb25zdCBmZT1jWzFdO2lmKFN0KHYsSCxmZS5kYXRhKSl7Y29uc3QgeWU9dmUoSCxjLGEseCxkLGVlKTtpZih5ZSE9PURpKXJldHVybiB5ZX1LPWNbSCs4XSwtMSE9PUsmJmpuKGQsY1sx''@;'; put 'put ''XS5kYXRhW0grOF09PT1lZSkmJlN0KHYsSCxjKT8oeD1mZSxIPVdhKEspLGM9cWEoSyxjKSk6SD0tMX19cmV0dXJuIGZ9ZnVuY3Rpb24gdmUobCxjLGEsZCxmLHYpe2NvbnN0IHg9Y1sxXSxIPXguZGF0YVtsKzhdLGZlPU1lKEgseCxhLG51bGw9PWQ/X2MoSCkmJndkOmQhPXgmJjAhPSgzJkgu''@;'; put 'put ''dHlwZSksZiZFbi5Ib3N0JiZ2PT09SCk7cmV0dXJuIG51bGwhPT1mZT9QZShjLHgsZmUsSCk6RGl9ZnVuY3Rpb24gTWUobCxjLGEsZCxmKXtjb25zdCB2PWwucHJvdmlkZXJJbmRleGVzLHg9Yy5kYXRhLEg9MTA0ODU3NSZ2LEs9bC5kaXJlY3RpdmVTdGFydCxmZT12Pj4yMCxqZT1mP0grZmU6''@;'; put 'put ''bC5kaXJlY3RpdmVFbmQ7Zm9yKGxldCBJZT1kP0g6SCtmZTtJZTxqZTtJZSsrKXtjb25zdCBxZT14W0llXTtpZihJZTxLJiZhPT09cWV8fEllPj1LJiZxZS50eXBlPT09YSlyZXR1cm4gSWV9aWYoZil7Y29uc3QgSWU9eFtLXTtpZihJZSYmT28oSWUpJiZJZS50eXBlPT09YSlyZXR1cm4gS31y''@;'; put 'put ''ZXR1cm4gbnVsbH1mdW5jdGlvbiBQZShsLGMsYSxkKXtsZXQgZj1sW2FdO2NvbnN0IHY9Yy5kYXRhO2lmKGZ1bmN0aW9uIE5tKGwpe3JldHVybiBsIGluc3RhbmNlb2YgT2x9KGYpKXtjb25zdCB4PWY7eC5yZXNvbHZpbmcmJmZ1bmN0aW9uIHBjKGwsYyl7Y29uc3QgYT1jP2AuIERlcGVuZGVu''@;'; put 'put ''Y3kgcGF0aDogJHtjLmpvaW4oIiA+ICIpfSA+ICR7bH1gOiIiO3Rocm93IG5ldyBJdCgtMjAwLGBDaXJjdWxhciBkZXBlbmRlbmN5IGluIERJIGRldGVjdGVkIGZvciAke2x9JHthfWApfShmdW5jdGlvbiB1cihsKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbD9sLm5hbWV8fGwudG9TdHJp''@;'; put 'put ''bmcoKToib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnR5cGU/bC50eXBlLm5hbWV8fGwudHlwZS50b1N0cmluZygpOnhuKGwpfSh2W2FdKSk7Y29uc3QgSD14Yyh4LmNhblNlZVZpZXdQcm92aWRlcnMpO3gucmVzb2x2aW5nPSEwO2NvbnN0IEs9eC5p''@;'; put 'put ''bmplY3RJbXBsP2xvKHguaW5qZWN0SW1wbCk6bnVsbDtVZihsLGQsRW4uRGVmYXVsdCk7dHJ5e2Y9bFthXT14LmZhY3Rvcnkodm9pZCAwLHYsbCxkKSxjLmZpcnN0Q3JlYXRlUGFzcyYmYT49ZC5kaXJlY3RpdmVTdGFydCYmZnVuY3Rpb24gUm0obCxjLGEpe2NvbnN0e25nT25DaGFuZ2VzOmQs''@;'; put 'put ''bmdPbkluaXQ6ZixuZ0RvQ2hlY2s6dn09Yy50eXBlLnByb3RvdHlwZTtpZihkKXtjb25zdCB4PURmKGMpOyhhLnByZU9yZGVySG9va3N8fChhLnByZU9yZGVySG9va3M9W10pKS5wdXNoKGwseCksKGEucHJlT3JkZXJDaGVja0hvb2tzfHwoYS5wcmVPcmRlckNoZWNrSG9va3M9W10pKS5wdXNo''@;'; put 'put ''KGwseCl9ZiYmKGEucHJlT3JkZXJIb29rc3x8KGEucHJlT3JkZXJIb29rcz1bXSkpLnB1c2goMC1sLGYpLHYmJigoYS5wcmVPcmRlckhvb2tzfHwoYS5wcmVPcmRlckhvb2tzPVtdKSkucHVzaChsLHYpLChhLnByZU9yZGVyQ2hlY2tIb29rc3x8KGEucHJlT3JkZXJDaGVja0hvb2tzPVtdKSku''@;'; put 'put ''cHVzaChsLHYpKX0oYSx2W2FdLGMpfWZpbmFsbHl7bnVsbCE9PUsmJmxvKEspLHhjKEgpLHgucmVzb2x2aW5nPSExLEdmKCl9fXJldHVybiBmfWZ1bmN0aW9uIFN0KGwsYyxhKXtyZXR1cm4hIShhW2MrKGw+PjUpXSYxPDxsKX1mdW5jdGlvbiBqbihsLGMpe3JldHVybiEobCZFbi5TZWxmfHxs''@;'; put 'put ''JkVuLkhvc3QmJmMpfWNsYXNzIEJue2NvbnN0cnVjdG9yKGMsYSl7dGhpcy5fdE5vZGU9Yyx0aGlzLl9sVmlldz1hfWdldChjLGEsZCl7cmV0dXJuIFEodGhpcy5fdE5vZGUsdGhpcy5fbFZpZXcsYyxkLGEpfX1mdW5jdGlvbiBGcigpe3JldHVybiBuZXcgQm4ob2koKSx6dCgpKX1mdW5jdGlv''@;'; put 'put ''biAkbihsKXtyZXR1cm4ga3IoKCk9Pntjb25zdCBjPWwucHJvdG90eXBlLmNvbnN0cnVjdG9yLGE9Y1tzc118fFBvKGMpLGQ9T2JqZWN0LnByb3RvdHlwZTtsZXQgZj1PYmplY3QuZ2V0UHJvdG90eXBlT2YobC5wcm90b3R5cGUpLmNvbnN0cnVjdG9yO2Zvcig7ZiYmZiE9PWQ7KXtjb25zdCB2''@;'; put 'put ''PWZbc3NdfHxQbyhmKTtpZih2JiZ2IT09YSlyZXR1cm4gdjtmPU9iamVjdC5nZXRQcm90b3R5cGVPZihmKX1yZXR1cm4gdj0+bmV3IHZ9KX1mdW5jdGlvbiBQbyhsKXtyZXR1cm4gTW8obCk/KCk9Pntjb25zdCBjPVBvKGtuKGwpKTtyZXR1cm4gYyYmYygpfTpjYShsKX1mdW5jdGlvbiBydyhs''@;'; put 'put ''KXtjb25zdCBjPWxbMV0sYT1jLnR5cGU7cmV0dXJuIDI9PT1hP2MuZGVjbFROb2RlOjE9PT1hP2xbNl06bnVsbH1mdW5jdGlvbiBFYyhsKXtyZXR1cm4gZnVuY3Rpb24gWmEobCxjKXtpZigiY2xhc3MiPT09YylyZXR1cm4gbC5jbGFzc2VzO2lmKCJzdHlsZSI9PT1jKXJldHVybiBsLnN0eWxl''@;'; put 'put ''cztjb25zdCBhPWwuYXR0cnM7aWYoYSl7Y29uc3QgZD1hLmxlbmd0aDtsZXQgZj0wO2Zvcig7ZjxkOyl7Y29uc3Qgdj1hW2ZdO2lmKEtmKHYpKWJyZWFrO2lmKDA9PT12KWYrPTI7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHYpZm9yKGYrKztmPGQmJiJzdHJpbmciPT10eXBlb2YgYVtmXTsp''@;'; put 'put ''ZisrO2Vsc2V7aWYodj09PWMpcmV0dXJuIGFbZisxXTtmKz0yfX19cmV0dXJuIG51bGx9KG9pKCksbCl9Y29uc3QgTGM9Il9fcGFyYW1ldGVyc19fIjtmdW5jdGlvbiBGYyhsLGMsYSl7cmV0dXJuIGtyKCgpPT57Y29uc3QgZD1mdW5jdGlvbiBWbShsKXtyZXR1cm4gZnVuY3Rpb24oLi4uYSl7''@;'; put 'put ''aWYobCl7Y29uc3QgZD1sKC4uLmEpO2Zvcihjb25zdCBmIGluIGQpdGhpc1tmXT1kW2ZdfX19KGMpO2Z1bmN0aW9uIGYoLi4udil7aWYodGhpcyBpbnN0YW5jZW9mIGYpcmV0dXJuIGQuYXBwbHkodGhpcyx2KSx0aGlzO2NvbnN0IHg9bmV3IGYoLi4udik7cmV0dXJuIEguYW5ub3RhdGlvbj14''@;'; put 'put ''LEg7ZnVuY3Rpb24gSChLLGVlLGZlKXtjb25zdCB5ZT1LLmhhc093blByb3BlcnR5KExjKT9LW0xjXTpPYmplY3QuZGVmaW5lUHJvcGVydHkoSyxMYyx7dmFsdWU6W119KVtMY107Zm9yKDt5ZS5sZW5ndGg8PWZlOyl5ZS5wdXNoKG51bGwpO3JldHVybih5ZVtmZV09eWVbZmVdfHxbXSkucHVz''@;'; put 'put ''aCh4KSxLfX1yZXR1cm4gYSYmKGYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoYS5wcm90b3R5cGUpKSxmLnByb3RvdHlwZS5uZ01ldGFkYXRhTmFtZT1sLGYuYW5ub3RhdGlvbkNscz1mLGZ9KX1jbGFzcyBPbntjb25zdHJ1Y3RvcihjLGEpe3RoaXMuX2Rlc2M9Yyx0aGlzLm5nTWV0YWRhdGFO''@;'; put 'put ''YW1lPSJJbmplY3Rpb25Ub2tlbiIsdGhpcy5cdTAyNzVwcm92PXZvaWQgMCwibnVtYmVyIj09dHlwZW9mIGE/dGhpcy5fX05HX0VMRU1FTlRfSURfXz1hOnZvaWQgMCE9PWEmJih0aGlzLlx1MDI3NXByb3Y9eHQoe3Rva2VuOnRoaXMscHJvdmlkZWRJbjphLnByb3ZpZGVkSW58fCJyb290Iixm''@;'; put 'put ''YWN0b3J5OmEuZmFjdG9yeX0pKX1nZXQgbXVsdGkoKXtyZXR1cm4gdGhpc310b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbiAke3RoaXMuX2Rlc2N9YH19Y29uc3QgdHA9RnVuY3Rpb247ZnVuY3Rpb24gRG8obCxjKXt2b2lkIDA9PT1jJiYoYz1sKTtmb3IobGV0IGE9MDthPGwubGVu''@;'; put 'put ''Z3RoO2ErKyl7bGV0IGQ9bFthXTtBcnJheS5pc0FycmF5KGQpPyhjPT09bCYmKGM9bC5zbGljZSgwLGEpKSxEbyhkLGMpKTpjIT09bCYmYy5wdXNoKGQpfXJldHVybiBjfWZ1bmN0aW9uIGRhKGwsYyl7bC5mb3JFYWNoKGE9PkFycmF5LmlzQXJyYXkoYSk/ZGEoYSxjKTpjKGEpKX1mdW5jdGlv''@;'; put 'put ''biBvdyhsLGMsYSl7Yz49bC5sZW5ndGg/bC5wdXNoKGEpOmwuc3BsaWNlKGMsMCxhKX1mdW5jdGlvbiBucChsLGMpe3JldHVybiBjPj1sLmxlbmd0aC0xP2wucG9wKCk6bC5zcGxpY2UoYywxKVswXX1mdW5jdGlvbiBTZChsLGMpe2NvbnN0IGE9W107Zm9yKGxldCBkPTA7ZDxsO2QrKylhLnB1''@;'; put 'put ''c2goYyk7cmV0dXJuIGF9ZnVuY3Rpb24geG8obCxjLGEpe2xldCBkPVJjKGwsYyk7cmV0dXJuIGQ+PTA/bFsxfGRdPWE6KGQ9fmQsZnVuY3Rpb24geDgobCxjLGEsZCl7bGV0IGY9bC5sZW5ndGg7aWYoZj09YylsLnB1c2goYSxkKTtlbHNlIGlmKDE9PT1mKWwucHVzaChkLGxbMF0pLGxbMF09''@;'; put 'put ''YTtlbHNle2ZvcihmLS0sbC5wdXNoKGxbZi0xXSxsW2ZdKTtmPmM7KWxbZl09bFtmLTJdLGYtLTtsW2NdPWEsbFtjKzFdPWR9fShsLGQsYyxhKSksZH1mdW5jdGlvbiBVbShsLGMpe2NvbnN0IGE9UmMobCxjKTtpZihhPj0wKXJldHVybiBsWzF8YV19ZnVuY3Rpb24gUmMobCxjKXtyZXR1cm4g''@;'; put 'put ''ZnVuY3Rpb24gbHcobCxjLGEpe2xldCBkPTAsZj1sLmxlbmd0aD4+YTtmb3IoO2YhPT1kOyl7Y29uc3Qgdj1kKyhmLWQ+PjEpLHg9bFt2PDxhXTtpZihjPT09eClyZXR1cm4gdjw8YTt4PmM/Zj12OmQ9disxfXJldHVybn4oZjw8YSl9KGwsYywxKX1jb25zdCBPZD17fSxxbT0iX19OR19ESV9G''@;'; put 'put ''TEFHX18iLGlwPSJuZ1RlbXBUb2tlblBhdGgiLE44PS9cbi9nbSxjdz0iX19zb3VyY2UiO2xldCBQZDtmdW5jdGlvbiBOYyhsKXtjb25zdCBjPVBkO3JldHVybiBQZD1sLGN9ZnVuY3Rpb24gejgobCxjPUVuLkRlZmF1bHQpe2lmKHZvaWQgMD09PVBkKXRocm93IG5ldyBJdCgtMjAzLCExKTty''@;'; put 'put ''ZXR1cm4gbnVsbD09PVBkP01mKGwsdm9pZCAwLGMpOlBkLmdldChsLGMmRW4uT3B0aW9uYWw/bnVsbDp2b2lkIDAsYyl9ZnVuY3Rpb24gRXQobCxjPUVuLkRlZmF1bHQpe3JldHVybihmdW5jdGlvbiBzbSgpe3JldHVybiBRdX0oKXx8ejgpKGtuKGwpLGMpfWZ1bmN0aW9uIHNpKGwsYz1Fbi5E''@;'; put 'put ''ZWZhdWx0KXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGMmJihjPTB8KGMub3B0aW9uYWwmJjgpfChjLmhvc3QmJjEpfChjLnNlbGYmJjIpfChjLnNraXBTZWxmJiY0KSksRXQobCxjKX1mdW5jdGlvbiBHbShsKXtjb25zdCBjPVtdO2ZvcihsZXQgYT0wO2E8bC5sZW5ndGg7YSsrKXtjb25zdCBk''@;'; put 'put ''PWtuKGxbYV0pO2lmKEFycmF5LmlzQXJyYXkoZCkpe2lmKDA9PT1kLmxlbmd0aCl0aHJvdyBuZXcgSXQoOTAwLCExKTtsZXQgZix2PUVuLkRlZmF1bHQ7Zm9yKGxldCB4PTA7eDxkLmxlbmd0aDt4Kyspe2NvbnN0IEg9ZFt4XSxLPUI4KEgpOyJudW1iZXIiPT10eXBlb2YgSz8tMT09PUs/Zj1I''@;'; put 'put ''LnRva2VuOnZ8PUs6Zj1IfWMucHVzaChFdChmLHYpKX1lbHNlIGMucHVzaChFdChkKSl9cmV0dXJuIGN9ZnVuY3Rpb24gRGQobCxjKXtyZXR1cm4gbFtxbV09YyxsLnByb3RvdHlwZVtxbV09YyxsfWZ1bmN0aW9uIEI4KGwpe3JldHVybiBsW3FtXX1jb25zdCBKYT1EZChGYygiT3B0aW9uYWwi''@;'; put 'put ''KSw4KSxLYT1EZChGYygiU2tpcFNlbGYiKSw0KTtsZXQgSm0sYXAsbHA7ZnVuY3Rpb24gemMobCl7dmFyIGM7cmV0dXJuKG51bGw9PT0oYz1mdW5jdGlvbiBLbSgpe2lmKHZvaWQgMD09PWFwJiYoYXA9bnVsbCxMci50cnVzdGVkVHlwZXMpKXRyeXthcD1Mci50cnVzdGVkVHlwZXMuY3JlYXRl''@;'; put 'put ''UG9saWN5KCJhbmd1bGFyIix7Y3JlYXRlSFRNTDpsPT5sLGNyZWF0ZVNjcmlwdDpsPT5sLGNyZWF0ZVNjcmlwdFVSTDpsPT5sfSl9Y2F0Y2gobCl7fXJldHVybiBhcH0oKSl8fHZvaWQgMD09PWM/dm9pZCAwOmMuY3JlYXRlSFRNTChsKSl8fGx9ZnVuY3Rpb24gX3cobCl7dmFyIGM7cmV0dXJu''@;'; put 'put ''KG51bGw9PT0oYz1mdW5jdGlvbiBYbSgpe2lmKHZvaWQgMD09PWxwJiYobHA9bnVsbCxMci50cnVzdGVkVHlwZXMpKXRyeXtscD1Mci50cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5KCJhbmd1bGFyI3Vuc2FmZS1ieXBhc3MiLHtjcmVhdGVIVE1MOmw9PmwsY3JlYXRlU2NyaXB0Omw9PmwsY3Jl''@;'; put 'put ''YXRlU2NyaXB0VVJMOmw9Pmx9KX1jYXRjaChsKXt9cmV0dXJuIGxwfSgpKXx8dm9pZCAwPT09Yz92b2lkIDA6Yy5jcmVhdGVIVE1MKGwpKXx8bH1jbGFzcyBNd3tjb25zdHJ1Y3RvcihjKXt0aGlzLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk9Y310b1N0cmluZygpe3Jl''@;'; put 'put ''dHVybmBTYWZlVmFsdWUgbXVzdCB1c2UgW3Byb3BlcnR5XT1iaW5kaW5nOiAke3RoaXMuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eX0gKHNlZSBodHRwczovL2cuY28vbmcvc2VjdXJpdHkjeHNzKWB9fWZ1bmN0aW9uIFhhKGwpe3JldHVybiBsIGluc3RhbmNlb2YgTXc/''@;'; put 'put ''bC5jaGFuZ2luZ1RoaXNCcmVha3NBcHBsaWNhdGlvblNlY3VyaXR5Omx9ZnVuY3Rpb24gRWQobCxjKXtjb25zdCBhPWZ1bmN0aW9uIGFBKGwpe3JldHVybiBsIGluc3RhbmNlb2YgTXcmJmwuZ2V0VHlwZU5hbWUoKXx8bnVsbH0obCk7aWYobnVsbCE9YSYmYSE9PWMpe2lmKCJSZXNvdXJjZVVS''@;'; put 'put ''TCI9PT1hJiYiVVJMIj09PWMpcmV0dXJuITA7dGhyb3cgbmV3IEVycm9yKGBSZXF1aXJlZCBhIHNhZmUgJHtjfSwgZ290IGEgJHthfSAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpYCl9cmV0dXJuIGE9PT1jfWNsYXNzIGxBe2NvbnN0cnVjdG9yKGMpe3RoaXMuaW5lcnREb2N1''@;'; put 'put ''bWVudEhlbHBlcj1jfWdldEluZXJ0Qm9keUVsZW1lbnQoYyl7Yz0iPGJvZHk+PHJlbW92ZT48L3JlbW92ZT4iK2M7dHJ5e2NvbnN0IGE9KG5ldyB3aW5kb3cuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoemMoYyksInRleHQvaHRtbCIpLmJvZHk7cmV0dXJuIG51bGw9PT1hP3RoaXMuaW5l''@;'; put 'put ''cnREb2N1bWVudEhlbHBlci5nZXRJbmVydEJvZHlFbGVtZW50KGMpOihhLnJlbW92ZUNoaWxkKGEuZmlyc3RDaGlsZCksYSl9Y2F0Y2goYSl7cmV0dXJuIG51bGx9fX1jbGFzcyBjQXtjb25zdHJ1Y3RvcihjKXtpZih0aGlzLmRlZmF1bHREb2M9Yyx0aGlzLmluZXJ0RG9jdW1lbnQ9dGhpcy5k''@;'; put 'put ''ZWZhdWx0RG9jLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgic2FuaXRpemF0aW9uLWluZXJ0IiksbnVsbD09dGhpcy5pbmVydERvY3VtZW50LmJvZHkpe2NvbnN0IGE9dGhpcy5pbmVydERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImh0bWwiKTt0aGlzLmluZXJ0RG9jdW1lbnQu''@;'; put 'put ''YXBwZW5kQ2hpbGQoYSk7Y29uc3QgZD10aGlzLmluZXJ0RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpO2EuYXBwZW5kQ2hpbGQoZCl9fWdldEluZXJ0Qm9keUVsZW1lbnQoYyl7Y29uc3QgYT10aGlzLmluZXJ0RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtpZigiY29u''@;'; put 'put ''dGVudCJpbiBhKXJldHVybiBhLmlubmVySFRNTD16YyhjKSxhO2NvbnN0IGQ9dGhpcy5pbmVydERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTtyZXR1cm4gZC5pbm5lckhUTUw9emMoYyksdGhpcy5kZWZhdWx0RG9jLmRvY3VtZW50TW9kZSYmdGhpcy5zdHJpcEN1c3RvbU5zQXR0cnMo''@;'; put 'put ''ZCksZH1zdHJpcEN1c3RvbU5zQXR0cnMoYyl7Y29uc3QgYT1jLmF0dHJpYnV0ZXM7Zm9yKGxldCBmPWEubGVuZ3RoLTE7MDxmO2YtLSl7Y29uc3QgeD1hLml0ZW0oZikubmFtZTsoInhtbG5zOm5zMSI9PT14fHwwPT09eC5pbmRleE9mKCJuczE6IikpJiZjLnJlbW92ZUF0dHJpYnV0ZSh4KX1s''@;'; put 'put ''ZXQgZD1jLmZpcnN0Q2hpbGQ7Zm9yKDtkOylkLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnRoaXMuc3RyaXBDdXN0b21Oc0F0dHJzKGQpLGQ9ZC5uZXh0U2libGluZ319Y29uc3QgZEE9L14oPzooPzpodHRwcz98bWFpbHRvfGZ0cHx0ZWx8ZmlsZXxzbXMpOnxbXiY6Lz8jXSooPzpb''@;'; put 'put ''Lz8jXXwkKSkvZ2ksaEE9L15kYXRhOig/OmltYWdlXC8oPzpibXB8Z2lmfGpwZWd8anBnfHBuZ3x0aWZmfHdlYnApfHZpZGVvXC8oPzptcGVnfG1wNHxvZ2d8d2VibSl8YXVkaW9cLyg/Om1wM3xvZ2F8b2dnfG9wdXMpKTtiYXNlNjQsW2EtejAtOStcL10rPSokL2k7ZnVuY3Rpb24gY3AobCl7''@;'; put 'put ''cmV0dXJuKGw9U3RyaW5nKGwpKS5tYXRjaChkQSl8fGwubWF0Y2goaEEpP2w6InVuc2FmZToiK2x9ZnVuY3Rpb24ga3cobCl7cmV0dXJuKGw9U3RyaW5nKGwpKS5zcGxpdCgiLCIpLm1hcChjPT5jcChjLnRyaW0oKSkpLmpvaW4oIiwgIil9ZnVuY3Rpb24gTnMobCl7Y29uc3QgYz17fTtmb3Io''@;'; put 'put ''Y29uc3QgYSBvZiBsLnNwbGl0KCIsIikpY1thXT0hMDtyZXR1cm4gY31mdW5jdGlvbiBUZCguLi5sKXtjb25zdCBjPXt9O2Zvcihjb25zdCBhIG9mIGwpZm9yKGNvbnN0IGQgaW4gYSlhLmhhc093blByb3BlcnR5KGQpJiYoY1tkXT0hMCk7cmV0dXJuIGN9Y29uc3Qganc9TnMoImFyZWEsYnIs''@;'; put 'put ''Y29sLGhyLGltZyx3YnIiKSxTdz1OcygiY29sZ3JvdXAsZGQsZHQsbGkscCx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCx0ciIpLE93PU5zKCJycCxydCIpLFFtPVRkKGp3LFRkKFN3LE5zKCJhZGRyZXNzLGFydGljbGUsYXNpZGUsYmxvY2txdW90ZSxjYXB0aW9uLGNlbnRlcixkZWwsZGV0YWls''@;'; put 'put ''cyxkaWFsb2csZGlyLGRpdixkbCxmaWd1cmUsZmlnY2FwdGlvbixmb290ZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGVhZGVyLGhncm91cCxocixpbnMsbWFpbixtYXAsbWVudSxuYXYsb2wscHJlLHNlY3Rpb24sc3VtbWFyeSx0YWJsZSx1bCIpKSxUZChPdyxOcygiYSxhYmJyLGFjcm9ueW0sYXVk''@;'; put 'put ''aW8sYixiZGksYmRvLGJpZyxicixjaXRlLGNvZGUsZGVsLGRmbixlbSxmb250LGksaW1nLGlucyxrYmQsbGFiZWwsbWFwLG1hcmsscGljdHVyZSxxLHJ1YnkscnAscnQscyxzYW1wLHNtYWxsLHNvdXJjZSxzcGFuLHN0cmlrZSxzdHJvbmcsc3ViLHN1cCx0aW1lLHRyYWNrLHR0LHUsdmFyLHZp''@;'; put 'put ''ZGVvIikpLFRkKE93LFN3KSksJG09TnMoImJhY2tncm91bmQsY2l0ZSxocmVmLGl0ZW10eXBlLGxvbmdkZXNjLHBvc3RlcixzcmMseGxpbms6aHJlZiIpLGViPU5zKCJzcmNzZXQiKSxQdz1UZCgkbSxlYixOcygiYWJicixhY2Nlc3NrZXksYWxpZ24sYWx0LGF1dG9wbGF5LGF4aXMsYmdjb2xv''@;'; put 'put ''cixib3JkZXIsY2VsbHBhZGRpbmcsY2VsbHNwYWNpbmcsY2xhc3MsY2xlYXIsY29sb3IsY29scyxjb2xzcGFuLGNvbXBhY3QsY29udHJvbHMsY29vcmRzLGRhdGV0aW1lLGRlZmF1bHQsZGlyLGRvd25sb2FkLGZhY2UsaGVhZGVycyxoZWlnaHQsaGlkZGVuLGhyZWZsYW5nLGhzcGFjZSxpc21h''@;'; put 'put ''cCxpdGVtc2NvcGUsaXRlbXByb3Asa2luZCxsYWJlbCxsYW5nLGxhbmd1YWdlLGxvb3AsbWVkaWEsbXV0ZWQsbm9ocmVmLG5vd3JhcCxvcGVuLHByZWxvYWQscmVsLHJldixyb2xlLHJvd3Mscm93c3BhbixydWxlcyxzY29wZSxzY3JvbGxpbmcsc2hhcGUsc2l6ZSxzaXplcyxzcGFuLHNyY2xh''@;'; put 'put ''bmcsc3RhcnQsc3VtbWFyeSx0YWJpbmRleCx0YXJnZXQsdGl0bGUsdHJhbnNsYXRlLHR5cGUsdXNlbWFwLHZhbGlnbix2YWx1ZSx2c3BhY2Usd2lkdGgiKSxOcygiYXJpYS1hY3RpdmVkZXNjZW5kYW50LGFyaWEtYXRvbWljLGFyaWEtYXV0b2NvbXBsZXRlLGFyaWEtYnVzeSxhcmlhLWNoZWNr''@;'; put 'put ''ZWQsYXJpYS1jb2xjb3VudCxhcmlhLWNvbGluZGV4LGFyaWEtY29sc3BhbixhcmlhLWNvbnRyb2xzLGFyaWEtY3VycmVudCxhcmlhLWRlc2NyaWJlZGJ5LGFyaWEtZGV0YWlscyxhcmlhLWRpc2FibGVkLGFyaWEtZHJvcGVmZmVjdCxhcmlhLWVycm9ybWVzc2FnZSxhcmlhLWV4cGFuZGVkLGFy''@;'; put 'put ''aWEtZmxvd3RvLGFyaWEtZ3JhYmJlZCxhcmlhLWhhc3BvcHVwLGFyaWEtaGlkZGVuLGFyaWEtaW52YWxpZCxhcmlhLWtleXNob3J0Y3V0cyxhcmlhLWxhYmVsLGFyaWEtbGFiZWxsZWRieSxhcmlhLWxldmVsLGFyaWEtbGl2ZSxhcmlhLW1vZGFsLGFyaWEtbXVsdGlsaW5lLGFyaWEtbXVsdGlz''@;'; put 'put ''ZWxlY3RhYmxlLGFyaWEtb3JpZW50YXRpb24sYXJpYS1vd25zLGFyaWEtcGxhY2Vob2xkZXIsYXJpYS1wb3NpbnNldCxhcmlhLXByZXNzZWQsYXJpYS1yZWFkb25seSxhcmlhLXJlbGV2YW50LGFyaWEtcmVxdWlyZWQsYXJpYS1yb2xlZGVzY3JpcHRpb24sYXJpYS1yb3djb3VudCxhcmlhLXJv''@;'; put 'put ''d2luZGV4LGFyaWEtcm93c3BhbixhcmlhLXNlbGVjdGVkLGFyaWEtc2V0c2l6ZSxhcmlhLXNvcnQsYXJpYS12YWx1ZW1heCxhcmlhLXZhbHVlbWluLGFyaWEtdmFsdWVub3csYXJpYS12YWx1ZXRleHQiKSksZkE9TnMoInNjcmlwdCxzdHlsZSx0ZW1wbGF0ZSIpO2NsYXNzIHBBe2NvbnN0cnVj''@;'; put 'put ''dG9yKCl7dGhpcy5zYW5pdGl6ZWRTb21ldGhpbmc9ITEsdGhpcy5idWY9W119c2FuaXRpemVDaGlsZHJlbihjKXtsZXQgYT1jLmZpcnN0Q2hpbGQsZD0hMDtmb3IoO2E7KWlmKGEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERT9kPXRoaXMuc3RhcnRFbGVtZW50KGEpOmEubm9kZVR5cGU9''@;'; put 'put ''PT1Ob2RlLlRFWFRfTk9ERT90aGlzLmNoYXJzKGEubm9kZVZhbHVlKTp0aGlzLnNhbml0aXplZFNvbWV0aGluZz0hMCxkJiZhLmZpcnN0Q2hpbGQpYT1hLmZpcnN0Q2hpbGQ7ZWxzZSBmb3IoO2E7KXthLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnRoaXMuZW5kRWxlbWVudChhKTts''@;'; put 'put ''ZXQgZj10aGlzLmNoZWNrQ2xvYmJlcmVkRWxlbWVudChhLGEubmV4dFNpYmxpbmcpO2lmKGYpe2E9ZjticmVha31hPXRoaXMuY2hlY2tDbG9iYmVyZWRFbGVtZW50KGEsYS5wYXJlbnROb2RlKX1yZXR1cm4gdGhpcy5idWYuam9pbigiIil9c3RhcnRFbGVtZW50KGMpe2NvbnN0IGE9Yy5ub2Rl''@;'; put 'put ''TmFtZS50b0xvd2VyQ2FzZSgpO2lmKCFRbS5oYXNPd25Qcm9wZXJ0eShhKSlyZXR1cm4gdGhpcy5zYW5pdGl6ZWRTb21ldGhpbmc9ITAsIWZBLmhhc093blByb3BlcnR5KGEpO3RoaXMuYnVmLnB1c2goIjwiKSx0aGlzLmJ1Zi5wdXNoKGEpO2NvbnN0IGQ9Yy5hdHRyaWJ1dGVzO2ZvcihsZXQg''@;'; put 'put ''Zj0wO2Y8ZC5sZW5ndGg7ZisrKXtjb25zdCB2PWQuaXRlbShmKSx4PXYubmFtZSxIPXgudG9Mb3dlckNhc2UoKTtpZighUHcuaGFzT3duUHJvcGVydHkoSCkpe3RoaXMuc2FuaXRpemVkU29tZXRoaW5nPSEwO2NvbnRpbnVlfWxldCBLPXYudmFsdWU7JG1bSF0mJihLPWNwKEspKSxlYltIXSYm''@;'; put 'put ''KEs9a3coSykpLHRoaXMuYnVmLnB1c2goIiAiLHgsJz0iJyxEdyhLKSwnIicpfXJldHVybiB0aGlzLmJ1Zi5wdXNoKCI+IiksITB9ZW5kRWxlbWVudChjKXtjb25zdCBhPWMubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtRbS5oYXNPd25Qcm9wZXJ0eShhKSYmIWp3Lmhhc093blByb3BlcnR5KGEp''@;'; put 'put ''JiYodGhpcy5idWYucHVzaCgiPC8iKSx0aGlzLmJ1Zi5wdXNoKGEpLHRoaXMuYnVmLnB1c2goIj4iKSl9Y2hhcnMoYyl7dGhpcy5idWYucHVzaChEdyhjKSl9Y2hlY2tDbG9iYmVyZWRFbGVtZW50KGMsYSl7aWYoYSYmKGMuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkmTm9kZS5ET0NVTUVO''@;'; put 'put ''VF9QT1NJVElPTl9DT05UQUlORURfQlkpPT09Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gc2FuaXRpemUgaHRtbCBiZWNhdXNlIHRoZSBlbGVtZW50IGlzIGNsb2JiZXJlZDogJHtjLm91dGVySFRNTH1gKTtyZXR1cm4gYX19''@;'; put 'put ''Y29uc3QgZ0E9L1tcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLG1BPS8oW15cIy1+IHwhXSkvZztmdW5jdGlvbiBEdyhsKXtyZXR1cm4gbC5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZShnQSxmdW5jdGlvbihjKXtyZXR1cm4iJiMiKygxMDI0KihjLmNoYXJDb2RlQXQoMCkt''@;'; put 'put ''NTUyOTYpKyhjLmNoYXJDb2RlQXQoMSktNTYzMjApKzY1NTM2KSsiOyJ9KS5yZXBsYWNlKG1BLGZ1bmN0aW9uKGMpe3JldHVybiImIyIrYy5jaGFyQ29kZUF0KDApKyI7In0pLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpfWxldCB1cDtmdW5jdGlvbiB0YihsKXty''@;'; put 'put ''ZXR1cm4iY29udGVudCJpbiBsJiZmdW5jdGlvbiB2QShsKXtyZXR1cm4gbC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYiVEVNUExBVEUiPT09bC5ub2RlTmFtZX0obCk/bC5jb250ZW50Om51bGx9dmFyIGRpPSgoKT0+KChkaT1kaXx8e30pW2RpLk5PTkU9MF09Ik5PTkUiLGRpW2Rp''@;'; put 'put ''LkhUTUw9MV09IkhUTUwiLGRpW2RpLlNUWUxFPTJdPSJTVFlMRSIsZGlbZGkuU0NSSVBUPTNdPSJTQ1JJUFQiLGRpW2RpLlVSTD00XT0iVVJMIixkaVtkaS5SRVNPVVJDRV9VUkw9NV09IlJFU09VUkNFX1VSTCIsZGkpKSgpO2Z1bmN0aW9uIHh3KGwpe2NvbnN0IGM9TGQoKTtyZXR1cm4gYz9f''@;'; put 'put ''dyhjLnNhbml0aXplKGRpLkhUTUwsbCl8fCIiKTpFZChsLCJIVE1MIik/X3coWGEobCkpOmZ1bmN0aW9uIGJBKGwsYyl7bGV0IGE9bnVsbDt0cnl7dXA9dXB8fGZ1bmN0aW9uIEN3KGwpe2NvbnN0IGM9bmV3IGNBKGwpO3JldHVybiBmdW5jdGlvbiB1QSgpe3RyeXtyZXR1cm4hIShuZXcgd2lu''@;'; put 'put ''ZG93LkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHpjKCIiKSwidGV4dC9odG1sIil9Y2F0Y2gobCl7cmV0dXJuITF9fSgpP25ldyBsQShjKTpjfShsKTtsZXQgZD1jP1N0cmluZyhjKToiIjthPXVwLmdldEluZXJ0Qm9keUVsZW1lbnQoZCk7bGV0IGY9NSx2PWQ7ZG97aWYoMD09PWYpdGhy''@;'; put 'put ''b3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gc2FuaXRpemUgaHRtbCBiZWNhdXNlIHRoZSBpbnB1dCBpcyB1bnN0YWJsZSIpO2YtLSxkPXYsdj1hLmlubmVySFRNTCxhPXVwLmdldEluZXJ0Qm9keUVsZW1lbnQoZCl9d2hpbGUoZCE9PXYpO3JldHVybiB6YygobmV3IHBBKS5zYW5pdGl6ZUNoaWxk''@;'; put 'put ''cmVuKHRiKGEpfHxhKSl9ZmluYWxseXtpZihhKXtjb25zdCBkPXRiKGEpfHxhO2Zvcig7ZC5maXJzdENoaWxkOylkLnJlbW92ZUNoaWxkKGQuZmlyc3RDaGlsZCl9fX0oZnVuY3Rpb24gdncoKXtyZXR1cm4gdm9pZCAwIT09Sm0/Sm06InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1''@;'; put 'put ''bWVudDp2b2lkIDB9KCkseG4obCkpfWZ1bmN0aW9uIGRwKGwpe2NvbnN0IGM9TGQoKTtyZXR1cm4gYz9jLnNhbml0aXplKGRpLlVSTCxsKXx8IiI6RWQobCwiVVJMIik/WGEobCk6Y3AoeG4obCkpfWZ1bmN0aW9uIExkKCl7Y29uc3QgbD16dCgpO3JldHVybiBsJiZsWzEyXX1jb25zdCBuYj1u''@;'; put 'put ''ZXcgT24oIkVOVklST05NRU5UX0lOSVRJQUxJWkVSIiksRXc9bmV3IE9uKCJJTkpFQ1RPUiIsLTEpLFR3PW5ldyBPbigiSU5KRUNUT1JfREVGX1RZUEVTIik7Y2xhc3MgTHd7Z2V0KGMsYT1PZCl7aWYoYT09PU9kKXtjb25zdCBkPW5ldyBFcnJvcihgTnVsbEluamVjdG9yRXJyb3I6IE5vIHBy''@;'; put 'put ''b3ZpZGVyIGZvciAke3ZuKGMpfSFgKTt0aHJvdyBkLm5hbWU9Ik51bGxJbmplY3RvckVycm9yIixkfXJldHVybiBhfX1mdW5jdGlvbiBqQSguLi5sKXtyZXR1cm57XHUwMjc1cHJvdmlkZXJzOkl3KDAsbCl9fWZ1bmN0aW9uIEl3KGwsLi4uYyl7Y29uc3QgYT1bXSxkPW5ldyBTZXQ7bGV0IGY7''@;'; put 'put ''cmV0dXJuIGRhKGMsdj0+e2NvbnN0IHg9djtyYih4LGEsW10sZCkmJihmfHwoZj1bXSksZi5wdXNoKHgpKX0pLHZvaWQgMCE9PWYmJkZ3KGYsYSksYX1mdW5jdGlvbiBGdyhsLGMpe2ZvcihsZXQgYT0wO2E8bC5sZW5ndGg7YSsrKXtjb25zdHtwcm92aWRlcnM6Zn09bFthXTtkYShmLHY9Pntj''@;'; put 'put ''LnB1c2godil9KX19ZnVuY3Rpb24gcmIobCxjLGEsZCl7aWYoIShsPWtuKGwpKSlyZXR1cm4hMTtsZXQgZj1udWxsLHY9X2YobCk7Y29uc3QgeD0hdiYmRHIobCk7aWYodnx8eCl7aWYoeCYmIXguc3RhbmRhbG9uZSlyZXR1cm4hMTtmPWx9ZWxzZXtjb25zdCBLPWwubmdNb2R1bGU7aWYodj1f''@;'; put 'put ''ZihLKSwhdilyZXR1cm4hMTtmPUt9Y29uc3QgSD1kLmhhcyhmKTtpZih4KXtpZihIKXJldHVybiExO2lmKGQuYWRkKGYpLHguZGVwZW5kZW5jaWVzKXtjb25zdCBLPSJmdW5jdGlvbiI9PXR5cGVvZiB4LmRlcGVuZGVuY2llcz94LmRlcGVuZGVuY2llcygpOnguZGVwZW5kZW5jaWVzO2Zvcihj''@;'; put 'put ''b25zdCBlZSBvZiBLKXJiKGVlLGMsYSxkKX19ZWxzZXtpZighdilyZXR1cm4hMTt7aWYobnVsbCE9di5pbXBvcnRzJiYhSCl7bGV0IGVlO2QuYWRkKGYpO3RyeXtkYSh2LmltcG9ydHMsZmU9PntyYihmZSxjLGEsZCkmJihlZXx8KGVlPVtdKSxlZS5wdXNoKGZlKSl9KX1maW5hbGx5e312b2lk''@;'; put 'put ''IDAhPT1lZSYmRncoZWUsYyl9aWYoIUgpe2NvbnN0IGVlPWNhKGYpfHwoKCk9Pm5ldyBmKTtjLnB1c2goe3Byb3ZpZGU6Zix1c2VGYWN0b3J5OmVlLGRlcHM6X3J9LHtwcm92aWRlOlR3LHVzZVZhbHVlOmYsbXVsdGk6ITB9LHtwcm92aWRlOm5iLHVzZVZhbHVlOigpPT5FdChmKSxtdWx0aToh''@;'; put 'put ''MH0pfWNvbnN0IEs9di5wcm92aWRlcnM7bnVsbD09S3x8SHx8ZGEoSyxmZT0+e2MucHVzaChmZSl9KX19cmV0dXJuIGYhPT1sJiZ2b2lkIDAhPT1sLnByb3ZpZGVyc31jb25zdCBTQT13bih7cHJvdmlkZTpTdHJpbmcsdXNlVmFsdWU6d259KTtmdW5jdGlvbiBpYihsKXtyZXR1cm4gbnVsbCE9''@;'; put 'put ''PWwmJiJvYmplY3QiPT10eXBlb2YgbCYmU0EgaW4gbH1mdW5jdGlvbiBBbChsKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbH1jb25zdCBvYj1uZXcgT24oIlNldCBJbmplY3RvciBzY29wZS4iKSxocD17fSxQQT17fTtsZXQgc2I7ZnVuY3Rpb24gZnAoKXtyZXR1cm4gdm9pZCAwPT09c2Im''@;'; put 'put ''JihzYj1uZXcgTHcpLHNifWNsYXNzIFFhe31jbGFzcyBZdyBleHRlbmRzIFFhe2NvbnN0cnVjdG9yKGMsYSxkLGYpe3N1cGVyKCksdGhpcy5wYXJlbnQ9YSx0aGlzLnNvdXJjZT1kLHRoaXMuc2NvcGVzPWYsdGhpcy5yZWNvcmRzPW5ldyBNYXAsdGhpcy5fbmdPbkRlc3Ryb3lIb29rcz1uZXcg''@;'; put 'put ''U2V0LHRoaXMuX29uRGVzdHJveUhvb2tzPVtdLHRoaXMuX2Rlc3Ryb3llZD0hMSxsYihjLHg9PnRoaXMucHJvY2Vzc1Byb3ZpZGVyKHgpKSx0aGlzLnJlY29yZHMuc2V0KEV3LEJjKHZvaWQgMCx0aGlzKSksZi5oYXMoImVudmlyb25tZW50IikmJnRoaXMucmVjb3Jkcy5zZXQoUWEsQmModm9p''@;'; put 'put ''ZCAwLHRoaXMpKTtjb25zdCB2PXRoaXMucmVjb3Jkcy5nZXQob2IpO251bGwhPXYmJiJzdHJpbmciPT10eXBlb2Ygdi52YWx1ZSYmdGhpcy5zY29wZXMuYWRkKHYudmFsdWUpLHRoaXMuaW5qZWN0b3JEZWZUeXBlcz1uZXcgU2V0KHRoaXMuZ2V0KFR3Lm11bHRpLF9yLEVuLlNlbGYpKX1nZXQg''@;'; put 'put ''ZGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1kZXN0cm95KCl7dGhpcy5hc3NlcnROb3REZXN0cm95ZWQoKSx0aGlzLl9kZXN0cm95ZWQ9ITA7dHJ5e2Zvcihjb25zdCBjIG9mIHRoaXMuX25nT25EZXN0cm95SG9va3MpYy5uZ09uRGVzdHJveSgpO2Zvcihjb25zdCBjIG9mIHRo''@;'; put 'put ''aXMuX29uRGVzdHJveUhvb2tzKWMoKX1maW5hbGx5e3RoaXMucmVjb3Jkcy5jbGVhcigpLHRoaXMuX25nT25EZXN0cm95SG9va3MuY2xlYXIoKSx0aGlzLmluamVjdG9yRGVmVHlwZXMuY2xlYXIoKSx0aGlzLl9vbkRlc3Ryb3lIb29rcy5sZW5ndGg9MH19b25EZXN0cm95KGMpe3RoaXMuX29u''@;'; put 'put ''RGVzdHJveUhvb2tzLnB1c2goYyl9cnVuSW5Db250ZXh0KGMpe3RoaXMuYXNzZXJ0Tm90RGVzdHJveWVkKCk7Y29uc3QgYT1OYyh0aGlzKSxkPWxvKHZvaWQgMCk7dHJ5e3JldHVybiBjKCl9ZmluYWxseXtOYyhhKSxsbyhkKX19Z2V0KGMsYT1PZCxkPUVuLkRlZmF1bHQpe3RoaXMuYXNzZXJ0''@;'; put 'put ''Tm90RGVzdHJveWVkKCk7Y29uc3QgZj1OYyh0aGlzKSx2PWxvKHZvaWQgMCk7dHJ5e2lmKCEoZCZFbi5Ta2lwU2VsZikpe2xldCBIPXRoaXMucmVjb3Jkcy5nZXQoYyk7aWYodm9pZCAwPT09SCl7Y29uc3QgSz1mdW5jdGlvbiBUQShsKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbHx8Im9i''@;'; put 'put ''amVjdCI9PXR5cGVvZiBsJiZsIGluc3RhbmNlb2YgT259KGMpJiZYdShjKTtIPUsmJnRoaXMuaW5qZWN0YWJsZURlZkluU2NvcGUoSyk/QmMoYWIoYyksaHApOm51bGwsdGhpcy5yZWNvcmRzLnNldChjLEgpfWlmKG51bGwhPUgpcmV0dXJuIHRoaXMuaHlkcmF0ZShjLEgpfXJldHVybihkJkVu''@;'; put 'put ''LlNlbGY/ZnAoKTp0aGlzLnBhcmVudCkuZ2V0KGMsYT1kJkVuLk9wdGlvbmFsJiZhPT09T2Q/bnVsbDphKX1jYXRjaCh4KXtpZigiTnVsbEluamVjdG9yRXJyb3IiPT09eC5uYW1lKXtpZigoeFtpcF09eFtpcF18fFtdKS51bnNoaWZ0KHZuKGMpKSxmKXRocm93IHg7cmV0dXJuIGZ1bmN0aW9u''@;'; put 'put ''IEg4KGwsYyxhLGQpe2NvbnN0IGY9bFtpcF07dGhyb3cgY1tjd10mJmYudW5zaGlmdChjW2N3XSksbC5tZXNzYWdlPWZ1bmN0aW9uIFY4KGwsYyxhLGQ9bnVsbCl7bD1sJiYiXG4iPT09bC5jaGFyQXQoMCkmJiJcdTAyNzUiPT1sLmNoYXJBdCgxKT9sLnNsaWNlKDIpOmw7bGV0IGY9dm4oYyk7''@;'; put 'put ''aWYoQXJyYXkuaXNBcnJheShjKSlmPWMubWFwKHZuKS5qb2luKCIgLT4gIik7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGMpe2xldCB2PVtdO2ZvcihsZXQgeCBpbiBjKWlmKGMuaGFzT3duUHJvcGVydHkoeCkpe2xldCBIPWNbeF07di5wdXNoKHgrIjoiKygic3RyaW5nIj09dHlwZW9mIEg/''@;'; put 'put ''SlNPTi5zdHJpbmdpZnkoSCk6dm4oSCkpKX1mPWB7JHt2LmpvaW4oIiwgIil9fWB9cmV0dXJuYCR7YX0ke2Q/IigiK2QrIikiOiIifVske2Z9XTogJHtsLnJlcGxhY2UoTjgsIlxuICAiKX1gfSgiXG4iK2wubWVzc2FnZSxmLGEsZCksbC5uZ1Rva2VuUGF0aD1mLGxbaXBdPW51bGwsbH0oeCxj''@;'; put 'put ''LCJSM0luamVjdG9yRXJyb3IiLHRoaXMuc291cmNlKX10aHJvdyB4fWZpbmFsbHl7bG8odiksTmMoZil9fXJlc29sdmVJbmplY3RvckluaXRpYWxpemVycygpe2NvbnN0IGM9TmModGhpcyksYT1sbyh2b2lkIDApO3RyeXtjb25zdCBkPXRoaXMuZ2V0KG5iLm11bHRpLF9yLEVuLlNlbGYpO2Zv''@;'; put 'put ''cihjb25zdCBmIG9mIGQpZigpfWZpbmFsbHl7TmMoYyksbG8oYSl9fXRvU3RyaW5nKCl7Y29uc3QgYz1bXSxhPXRoaXMucmVjb3Jkcztmb3IoY29uc3QgZCBvZiBhLmtleXMoKSljLnB1c2godm4oZCkpO3JldHVybmBSM0luamVjdG9yWyR7Yy5qb2luKCIsICIpfV1gfWFzc2VydE5vdERlc3Ry''@;'; put 'put ''b3llZCgpe2lmKHRoaXMuX2Rlc3Ryb3llZCl0aHJvdyBuZXcgSXQoMjA1LCExKX1wcm9jZXNzUHJvdmlkZXIoYyl7bGV0IGE9QWwoYz1rbihjKSk/YzprbihjJiZjLnByb3ZpZGUpO2NvbnN0IGQ9ZnVuY3Rpb24geEEobCl7cmV0dXJuIGliKGwpP0JjKHZvaWQgMCxsLnVzZVZhbHVlKTpCYyh6''@;'; put 'put ''dyhsKSxocCl9KGMpO2lmKEFsKGMpfHwhMCE9PWMubXVsdGkpdGhpcy5yZWNvcmRzLmdldChhKTtlbHNle2xldCBmPXRoaXMucmVjb3Jkcy5nZXQoYSk7Znx8KGY9QmModm9pZCAwLGhwLCEwKSxmLmZhY3Rvcnk9KCk9PkdtKGYubXVsdGkpLHRoaXMucmVjb3Jkcy5zZXQoYSxmKSksYT1jLGYu''@;'; put 'put ''bXVsdGkucHVzaChjKX10aGlzLnJlY29yZHMuc2V0KGEsZCl9aHlkcmF0ZShjLGEpe3JldHVybiBhLnZhbHVlPT09aHAmJihhLnZhbHVlPVBBLGEudmFsdWU9YS5mYWN0b3J5KCkpLCJvYmplY3QiPT10eXBlb2YgYS52YWx1ZSYmYS52YWx1ZSYmZnVuY3Rpb24gRUEobCl7cmV0dXJuIG51bGwh''@;'; put 'put ''PT1sJiYib2JqZWN0Ij09dHlwZW9mIGwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLm5nT25EZXN0cm95fShhLnZhbHVlKSYmdGhpcy5fbmdPbkRlc3Ryb3lIb29rcy5hZGQoYS52YWx1ZSksYS52YWx1ZX1pbmplY3RhYmxlRGVmSW5TY29wZShjKXtpZighYy5wcm92aWRlZEluKXJldHVybiExO2Nv''@;'; put 'put ''bnN0IGE9a24oYy5wcm92aWRlZEluKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGE/ImFueSI9PT1hfHx0aGlzLnNjb3Blcy5oYXMoYSk6dGhpcy5pbmplY3RvckRlZlR5cGVzLmhhcyhhKX19ZnVuY3Rpb24gYWIobCl7Y29uc3QgYz1YdShsKSxhPW51bGwhPT1jP2MuZmFjdG9yeTpjYShsKTtp''@;'; put 'put ''ZihudWxsIT09YSlyZXR1cm4gYTtpZihsIGluc3RhbmNlb2YgT24pdGhyb3cgbmV3IEl0KDIwNCwhMSk7aWYobCBpbnN0YW5jZW9mIEZ1bmN0aW9uKXJldHVybiBmdW5jdGlvbiBEQShsKXtjb25zdCBjPWwubGVuZ3RoO2lmKGM+MCl0aHJvdyBTZChjLCI/IiksbmV3IEl0KDIwNCwhMSk7Y29u''@;'; put 'put ''c3QgYT1mdW5jdGlvbiBpbShsKXtjb25zdCBjPWwmJihsW3phXXx8bFt5Zl0pO2lmKGMpe2NvbnN0IGE9ZnVuY3Rpb24gb20obCl7aWYobC5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpKXJldHVybiBsLm5hbWU7Y29uc3QgYz0oIiIrbCkubWF0Y2goL15mdW5jdGlvblxzKihbXlxzKF0rKS8pO3Jl''@;'; put 'put ''dHVybiBudWxsPT09Yz8iIjpjWzFdfShsKTtyZXR1cm4gY29uc29sZS53YXJuKGBERVBSRUNBVEVEOiBESSBpcyBpbnN0YW50aWF0aW5nIGEgdG9rZW4gIiR7YX0iIHRoYXQgaW5oZXJpdHMgaXRzIEBJbmplY3RhYmxlIGRlY29yYXRvciBidXQgZG9lcyBub3QgcHJvdmlkZSBvbmUgaXRzZWxm''@;'; put 'put ''LlxuVGhpcyB3aWxsIGJlY29tZSBhbiBlcnJvciBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIEFuZ3VsYXIuIFBsZWFzZSBhZGQgQEluamVjdGFibGUoKSB0byB0aGUgIiR7YX0iIGNsYXNzLmApLGN9cmV0dXJuIG51bGx9KGwpO3JldHVybiBudWxsIT09YT8oKT0+YS5mYWN0b3J5KGwpOigpPT5u''@;'; put 'put ''ZXcgbH0obCk7dGhyb3cgbmV3IEl0KDIwNCwhMSl9ZnVuY3Rpb24gencobCxjLGEpe2xldCBkO2lmKEFsKGwpKXtjb25zdCBmPWtuKGwpO3JldHVybiBjYShmKXx8YWIoZil9aWYoaWIobCkpZD0oKT0+a24obC51c2VWYWx1ZSk7ZWxzZSBpZihmdW5jdGlvbiBOdyhsKXtyZXR1cm4hKCFsfHwh''@;'; put 'put ''bC51c2VGYWN0b3J5KX0obCkpZD0oKT0+bC51c2VGYWN0b3J5KC4uLkdtKGwuZGVwc3x8W10pKTtlbHNlIGlmKGZ1bmN0aW9uIFJ3KGwpe3JldHVybiEoIWx8fCFsLnVzZUV4aXN0aW5nKX0obCkpZD0oKT0+RXQoa24obC51c2VFeGlzdGluZykpO2Vsc2V7Y29uc3QgZj1rbihsJiYobC51c2VD''@;'; put 'put ''bGFzc3x8bC5wcm92aWRlKSk7aWYoIWZ1bmN0aW9uIEFBKGwpe3JldHVybiEhbC5kZXBzfShsKSlyZXR1cm4gY2EoZil8fGFiKGYpO2Q9KCk9Pm5ldyBmKC4uLkdtKGwuZGVwcykpfXJldHVybiBkfWZ1bmN0aW9uIEJjKGwsYyxhPSExKXtyZXR1cm57ZmFjdG9yeTpsLHZhbHVlOmMsbXVsdGk6''@;'; put 'put ''YT9bXTp2b2lkIDB9fWZ1bmN0aW9uIExBKGwpe3JldHVybiEhbC5cdTAyNzVwcm92aWRlcnN9ZnVuY3Rpb24gbGIobCxjKXtmb3IoY29uc3QgYSBvZiBsKUFycmF5LmlzQXJyYXkoYSk/bGIoYSxjKTpMQShhKT9sYihhLlx1MDI3NXByb3ZpZGVycyxjKTpjKGEpfWNsYXNzIEJ3e31jbGFzcyBS''@;'; put 'put ''QXtyZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjKXt0aHJvdyBmdW5jdGlvbiBGQShsKXtjb25zdCBjPUVycm9yKGBObyBjb21wb25lbnQgZmFjdG9yeSBmb3VuZCBmb3IgJHt2bihsKX0uIERpZCB5b3UgYWRkIGl0IHRvIEBOZ01vZHVsZS5lbnRyeUNvbXBvbmVudHM/YCk7cmV0dXJuIGMubmdD''@;'; put 'put ''b21wb25lbnQ9bCxjfShjKX19bGV0ICRhPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLk5VTEw9bmV3IFJBLGx9KSgpO2Z1bmN0aW9uIE5BKCl7cmV0dXJuIEhjKG9pKCksenQoKSl9ZnVuY3Rpb24gSGMobCxjKXtyZXR1cm4gbmV3IGhuKE9pKGwsYykpfWxldCBobj0oKCk9PntjbGFzcyBse2Nv''@;'; put 'put ''bnN0cnVjdG9yKGEpe3RoaXMubmF0aXZlRWxlbWVudD1hfX1yZXR1cm4gbC5fX05HX0VMRU1FTlRfSURfXz1OQSxsfSkoKTtmdW5jdGlvbiBZQShsKXtyZXR1cm4gbCBpbnN0YW5jZW9mIGhuP2wubmF0aXZlRWxlbWVudDpsfWNsYXNzIFZje31sZXQgV249KCgpPT57Y2xhc3MgbHt9cmV0dXJu''@;'; put 'put ''IGwuX19OR19FTEVNRU5UX0lEX189KCk9PmZ1bmN0aW9uIHpBKCl7Y29uc3QgbD16dCgpLGE9Tmkob2koKS5pbmRleCxsKTtyZXR1cm4oUmkoYSk/YTpsKVsxMV19KCksbH0pKCksQkE9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxwcm92aWRlZEluOiJy''@;'; put 'put ''b290IixmYWN0b3J5OigpPT5udWxsfSksbH0pKCk7Y2xhc3MgSWR7Y29uc3RydWN0b3IoYyl7dGhpcy5mdWxsPWMsdGhpcy5tYWpvcj1jLnNwbGl0KCIuIilbMF0sdGhpcy5taW5vcj1jLnNwbGl0KCIuIilbMV0sdGhpcy5wYXRjaD1jLnNwbGl0KCIuIikuc2xpY2UoMikuam9pbigiLiIpfX1j''@;'; put 'put ''b25zdCBIQT1uZXcgSWQoIjE0LjEuMyIpLGNiPXt9O2Z1bmN0aW9uIHBiKGwpe3JldHVybiBsLm5nT3JpZ2luYWxFcnJvcn1jbGFzcyBVY3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbnNvbGU9Y29uc29sZX1oYW5kbGVFcnJvcihjKXtjb25zdCBhPXRoaXMuX2ZpbmRPcmlnaW5hbEVycm9yKGMp''@;'; put 'put ''O3RoaXMuX2NvbnNvbGUuZXJyb3IoIkVSUk9SIixjKSxhJiZ0aGlzLl9jb25zb2xlLmVycm9yKCJPUklHSU5BTCBFUlJPUiIsYSl9X2ZpbmRPcmlnaW5hbEVycm9yKGMpe2xldCBhPWMmJnBiKGMpO2Zvcig7YSYmcGIoYSk7KWE9cGIoYSk7cmV0dXJuIGF8fG51bGx9fWNvbnN0IGdiPW5ldyBN''@;'; put 'put ''YXA7bGV0IGU0PTA7Y29uc3QgYmI9Il9fbmdDb250ZXh0X18iO2Z1bmN0aW9uIFlpKGwsYyl7UmkoYyk/KGxbYmJdPWNbMjBdLGZ1bmN0aW9uIG40KGwpe2diLnNldChsWzIwXSxsKX0oYykpOmxbYmJdPWN9ZnVuY3Rpb24gRmQobCl7Y29uc3QgYz1sW2JiXTtyZXR1cm4ibnVtYmVyIj09dHlw''@;'; put 'put ''ZW9mIGM/ZnVuY3Rpb24gWncobCl7cmV0dXJuIGdiLmdldChsKXx8bnVsbH0oYyk6Y3x8bnVsbH1mdW5jdGlvbiB2YihsKXtjb25zdCBjPUZkKGwpO3JldHVybiBjP1JpKGMpP2M6Yy5sVmlldzpudWxsfWNvbnN0IGQ0PSgoKT0+KCJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlv''@;'; put 'put ''bkZyYW1lJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHNldFRpbWVvdXQpLmJpbmQoTHIpKSgpO2Z1bmN0aW9uIFJkKGwpe3JldHVybiBsLm93bmVyRG9jdW1lbnR9ZnVuY3Rpb24gZU0obCl7cmV0dXJuIGwub3duZXJEb2N1bWVudC5ib2R5fWZ1bmN0aW9uIGhhKGwpe3JldHVybiBsIGluc3Rh''@;'; put 'put ''bmNlb2YgRnVuY3Rpb24/bCgpOmx9dmFyIHBvPSgoKT0+KChwbz1wb3x8e30pW3BvLkltcG9ydGFudD0xXT0iSW1wb3J0YW50Iixwb1twby5EYXNoQ2FzZT0yXT0iRGFzaENhc2UiLHBvKSkoKTtmdW5jdGlvbiB5YihsLGMpe3JldHVybiB1bmRlZmluZWQobCxjKX1mdW5jdGlvbiBOZChsKXtj''@;'; put 'put ''b25zdCBjPWxbM107cmV0dXJuIFNvKGMpP2NbM106Y31mdW5jdGlvbiB3YihsKXtyZXR1cm4gaU0obFsxM10pfWZ1bmN0aW9uIE1iKGwpe3JldHVybiBpTShsWzRdKX1mdW5jdGlvbiBpTShsKXtmb3IoO251bGwhPT1sJiYhU28obCk7KWw9bFs0XTtyZXR1cm4gbH1mdW5jdGlvbiBxYyhsLGMs''@;'; put 'put ''YSxkLGYpe2lmKG51bGwhPWQpe2xldCB2LHg9ITE7U28oZCk/dj1kOlJpKGQpJiYoeD0hMCxkPWRbMF0pO2NvbnN0IEg9SnIoZCk7MD09PWwmJm51bGwhPT1hP251bGw9PWY/dU0oYyxhLEgpOkVsKGMsYSxILGZ8fG51bGwsITApOjE9PT1sJiZudWxsIT09YT9FbChjLGEsSCxmfHxudWxsLCEw''@;'; put 'put ''KToyPT09bD9mdW5jdGlvbiBiTShsLGMsYSl7Y29uc3QgZD1wcChsLGMpO2QmJmZ1bmN0aW9uIFM0KGwsYyxhLGQpe2wucmVtb3ZlQ2hpbGQoYyxhLGQpfShsLGQsYyxhKX0oYyxILHgpOjM9PT1sJiZjLmRlc3Ryb3lOb2RlKEgpLG51bGwhPXYmJmZ1bmN0aW9uIEQ0KGwsYyxhLGQsZil7Y29u''@;'; put 'put ''c3Qgdj1hWzddO3YhPT1KcihhKSYmcWMoYyxsLGQsdixmKTtmb3IobGV0IEg9MTA7SDxhLmxlbmd0aDtIKyspe2NvbnN0IEs9YVtIXTtZZChLWzFdLEssbCxjLGQsdil9fShjLGwsdixhLGYpfX1mdW5jdGlvbiBrYihsLGMsYSl7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChjLGEpfWZ1bmN0aW9u''@;'; put 'put ''IHNNKGwsYyl7Y29uc3QgYT1sWzldLGQ9YS5pbmRleE9mKGMpLGY9Y1szXTs1MTImY1syXSYmKGNbMl0mPS01MTMsaGQoZiwtMSkpLGEuc3BsaWNlKGQsMSl9ZnVuY3Rpb24gamIobCxjKXtpZihsLmxlbmd0aDw9MTApcmV0dXJuO2NvbnN0IGE9MTArYyxkPWxbYV07aWYoZCl7Y29uc3QgZj1k''@;'; put 'put ''WzE3XTtudWxsIT09ZiYmZiE9PWwmJnNNKGYsZCksYz4wJiYobFthLTFdWzRdPWRbNF0pO2NvbnN0IHY9bnAobCwxMCtjKTshZnVuY3Rpb24gdjQobCxjKXtZZChsLGMsY1sxMV0sMixudWxsLG51bGwpLGNbMF09bnVsbCxjWzZdPW51bGx9KGRbMV0sZCk7Y29uc3QgeD12WzE5XTtudWxsIT09''@;'; put 'put ''eCYmeC5kZXRhY2hWaWV3KHZbMV0pLGRbM109bnVsbCxkWzRdPW51bGwsZFsyXSY9LTY1fXJldHVybiBkfWZ1bmN0aW9uIGFNKGwsYyl7aWYoISgxMjgmY1syXSkpe2NvbnN0IGE9Y1sxMV07YS5kZXN0cm95Tm9kZSYmWWQobCxjLGEsMyxudWxsLG51bGwpLGZ1bmN0aW9uIHc0KGwpe2xldCBj''@;'; put 'put ''PWxbMTNdO2lmKCFjKXJldHVybiBTYihsWzFdLGwpO2Zvcig7Yzspe2xldCBhPW51bGw7aWYoUmkoYykpYT1jWzEzXTtlbHNle2NvbnN0IGQ9Y1sxMF07ZCYmKGE9ZCl9aWYoIWEpe2Zvcig7YyYmIWNbNF0mJmMhPT1sOylSaShjKSYmU2IoY1sxXSxjKSxjPWNbM107bnVsbD09PWMmJihjPWwp''@;'; put 'put ''LFJpKGMpJiZTYihjWzFdLGMpLGE9YyYmY1s0XX1jPWF9fShjKX19ZnVuY3Rpb24gU2IobCxjKXtpZighKDEyOCZjWzJdKSl7Y1syXSY9LTY1LGNbMl18PTEyOCxmdW5jdGlvbiBqNChsLGMpe2xldCBhO2lmKG51bGwhPWwmJm51bGwhPShhPWwuZGVzdHJveUhvb2tzKSlmb3IobGV0IGQ9MDtk''@;'; put 'put ''PGEubGVuZ3RoO2QrPTIpe2NvbnN0IGY9Y1thW2RdXTtpZighKGYgaW5zdGFuY2VvZiBPbCkpe2NvbnN0IHY9YVtkKzFdO2lmKEFycmF5LmlzQXJyYXkodikpZm9yKGxldCB4PTA7eDx2Lmxlbmd0aDt4Kz0yKXtjb25zdCBIPWZbdlt4XV0sSz12W3grMV07dHJ5e0suY2FsbChIKX1maW5hbGx5''@;'; put 'put ''e319ZWxzZSB0cnl7di5jYWxsKGYpfWZpbmFsbHl7fX19fShsLGMpLGZ1bmN0aW9uIGs0KGwsYyl7Y29uc3QgYT1sLmNsZWFudXAsZD1jWzddO2xldCBmPS0xO2lmKG51bGwhPT1hKWZvcihsZXQgdj0wO3Y8YS5sZW5ndGgtMTt2Kz0yKWlmKCJzdHJpbmciPT10eXBlb2YgYVt2XSl7Y29uc3Qg''@;'; put 'put ''eD1hW3YrMV0sSD0iZnVuY3Rpb24iPT10eXBlb2YgeD94KGMpOkpyKGNbeF0pLEs9ZFtmPWFbdisyXV0sZWU9YVt2KzNdOyJib29sZWFuIj09dHlwZW9mIGVlP0gucmVtb3ZlRXZlbnRMaXN0ZW5lcihhW3ZdLEssZWUpOmVlPj0wP2RbZj1lZV0oKTpkW2Y9LWVlXS51bnN1YnNjcmliZSgpLHYr''@;'; put 'put ''PTJ9ZWxzZXtjb25zdCB4PWRbZj1hW3YrMV1dO2Fbdl0uY2FsbCh4KX1pZihudWxsIT09ZCl7Zm9yKGxldCB2PWYrMTt2PGQubGVuZ3RoO3YrKykoMCxkW3ZdKSgpO2NbN109bnVsbH19KGwsYyksMT09PWNbMV0udHlwZSYmY1sxMV0uZGVzdHJveSgpO2NvbnN0IGE9Y1sxN107aWYobnVsbCE9''@;'; put 'put ''PWEmJlNvKGNbM10pKXthIT09Y1szXSYmc00oYSxjKTtjb25zdCBkPWNbMTldO251bGwhPT1kJiZkLmRldGFjaFZpZXcobCl9IWZ1bmN0aW9uIHI0KGwpe2diLmRlbGV0ZShsWzIwXSl9KGMpfX1mdW5jdGlvbiBsTShsLGMsYSl7cmV0dXJuIGZ1bmN0aW9uIGNNKGwsYyxhKXtsZXQgZD1jO2Zv''@;'; put 'put ''cig7bnVsbCE9PWQmJjQwJmQudHlwZTspZD0oYz1kKS5wYXJlbnQ7aWYobnVsbD09PWQpcmV0dXJuIGFbMF07aWYoMiZkLmZsYWdzKXtjb25zdCBmPWwuZGF0YVtkLmRpcmVjdGl2ZVN0YXJ0XS5lbmNhcHN1bGF0aW9uO2lmKGY9PT1jby5Ob25lfHxmPT09Y28uRW11bGF0ZWQpcmV0dXJuIG51''@;'; put 'put ''bGx9cmV0dXJuIE9pKGQsYSl9KGwsYy5wYXJlbnQsYSl9ZnVuY3Rpb24gRWwobCxjLGEsZCxmKXtsLmluc2VydEJlZm9yZShjLGEsZCxmKX1mdW5jdGlvbiB1TShsLGMsYSl7bC5hcHBlbmRDaGlsZChjLGEpfWZ1bmN0aW9uIGRNKGwsYyxhLGQsZil7bnVsbCE9PWQ/RWwobCxjLGEsZCxmKTp1''@;'; put 'put ''TShsLGMsYSl9ZnVuY3Rpb24gcHAobCxjKXtyZXR1cm4gbC5wYXJlbnROb2RlKGMpfWZ1bmN0aW9uIGhNKGwsYyxhKXtyZXR1cm4gcE0obCxjLGEpfWxldCBwTT1mdW5jdGlvbiBmTShsLGMsYSl7cmV0dXJuIDQwJmwudHlwZT9PaShsLGEpOm51bGx9O2Z1bmN0aW9uIGdwKGwsYyxhLGQpe2Nv''@;'; put 'put ''bnN0IGY9bE0obCxkLGMpLHY9Y1sxMV0sSD1oTShkLnBhcmVudHx8Y1s2XSxkLGMpO2lmKG51bGwhPWYpaWYoQXJyYXkuaXNBcnJheShhKSlmb3IobGV0IEs9MDtLPGEubGVuZ3RoO0srKylkTSh2LGYsYVtLXSxILCExKTtlbHNlIGRNKHYsZixhLEgsITEpfWZ1bmN0aW9uIG1wKGwsYyl7aWYo''@;'; put 'put ''bnVsbCE9PWMpe2NvbnN0IGE9Yy50eXBlO2lmKDMmYSlyZXR1cm4gT2koYyxsKTtpZig0JmEpcmV0dXJuIFBiKC0xLGxbYy5pbmRleF0pO2lmKDgmYSl7Y29uc3QgZD1jLmNoaWxkO2lmKG51bGwhPT1kKXJldHVybiBtcChsLGQpO3tjb25zdCBmPWxbYy5pbmRleF07cmV0dXJuIFNvKGYpP1Bi''@;'; put 'put ''KC0xLGYpOkpyKGYpfX1pZigzMiZhKXJldHVybiB5YihjLGwpKCl8fEpyKGxbYy5pbmRleF0pO3tjb25zdCBkPW1NKGwsYyk7cmV0dXJuIG51bGwhPT1kP0FycmF5LmlzQXJyYXkoZCk/ZFswXTptcChOZChsWzE2XSksZCk6bXAobCxjLm5leHQpfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBtTShs''@;'; put 'put ''LGMpe3JldHVybiBudWxsIT09Yz9sWzE2XVs2XS5wcm9qZWN0aW9uW2MucHJvamVjdGlvbl06bnVsbH1mdW5jdGlvbiBQYihsLGMpe2NvbnN0IGE9MTArbCsxO2lmKGE8Yy5sZW5ndGgpe2NvbnN0IGQ9Y1thXSxmPWRbMV0uZmlyc3RDaGlsZDtpZihudWxsIT09ZilyZXR1cm4gbXAoZCxmKX1y''@;'; put 'put ''ZXR1cm4gY1s3XX1mdW5jdGlvbiBEYihsLGMsYSxkLGYsdix4KXtmb3IoO251bGwhPWE7KXtjb25zdCBIPWRbYS5pbmRleF0sSz1hLnR5cGU7aWYoeCYmMD09PWMmJihIJiZZaShKcihIKSxkKSxhLmZsYWdzfD00KSw2NCE9KDY0JmEuZmxhZ3MpKWlmKDgmSylEYihsLGMsYS5jaGlsZCxkLGYs''@;'; put 'put ''diwhMSkscWMoYyxsLGYsSCx2KTtlbHNlIGlmKDMyJkspe2NvbnN0IGVlPXliKGEsZCk7bGV0IGZlO2Zvcig7ZmU9ZWUoKTspcWMoYyxsLGYsZmUsdik7cWMoYyxsLGYsSCx2KX1lbHNlIDE2Jks/dk0obCxjLGQsYSxmLHYpOnFjKGMsbCxmLEgsdik7YT14P2EucHJvamVjdGlvbk5leHQ6YS5u''@;'; put 'put ''ZXh0fX1mdW5jdGlvbiBZZChsLGMsYSxkLGYsdil7RGIoYSxkLGwuZmlyc3RDaGlsZCxjLGYsdiwhMSl9ZnVuY3Rpb24gdk0obCxjLGEsZCxmLHYpe2NvbnN0IHg9YVsxNl0sSz14WzZdLnByb2plY3Rpb25bZC5wcm9qZWN0aW9uXTtpZihBcnJheS5pc0FycmF5KEspKWZvcihsZXQgZWU9MDtl''@;'; put 'put ''ZTxLLmxlbmd0aDtlZSsrKXFjKGMsbCxmLEtbZWVdLHYpO2Vsc2UgRGIobCxjLEsseFszXSxmLHYsITApfWZ1bmN0aW9uIF9NKGwsYyxhKXtsLnNldEF0dHJpYnV0ZShjLCJzdHlsZSIsYSl9ZnVuY3Rpb24geGIobCxjLGEpeyIiPT09YT9sLnJlbW92ZUF0dHJpYnV0ZShjLCJjbGFzcyIpOmwu''@;'; put 'put ''c2V0QXR0cmlidXRlKGMsImNsYXNzIixhKX1mdW5jdGlvbiB5TShsLGMsYSl7bGV0IGQ9bC5sZW5ndGg7Zm9yKDs7KXtjb25zdCBmPWwuaW5kZXhPZihjLGEpO2lmKC0xPT09ZilyZXR1cm4gZjtpZigwPT09Znx8bC5jaGFyQ29kZUF0KGYtMSk8PTMyKXtjb25zdCB2PWMubGVuZ3RoO2lmKGYr''@;'; put 'put ''dj09PWR8fGwuY2hhckNvZGVBdChmK3YpPD0zMilyZXR1cm4gZn1hPWYrMX19Y29uc3Qgd009Im5nLXRlbXBsYXRlIjtmdW5jdGlvbiBBNChsLGMsYSl7bGV0IGQ9MDtmb3IoO2Q8bC5sZW5ndGg7KXtsZXQgZj1sW2QrK107aWYoYSYmImNsYXNzIj09PWYpe2lmKGY9bFtkXSwtMSE9PXlNKGYu''@;'; put 'put ''dG9Mb3dlckNhc2UoKSxjLDApKXJldHVybiEwfWVsc2UgaWYoMT09PWYpe2Zvcig7ZDxsLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZihmPWxbZCsrXSk7KWlmKGYudG9Mb3dlckNhc2UoKT09PWMpcmV0dXJuITA7cmV0dXJuITF9fXJldHVybiExfWZ1bmN0aW9uIE1NKGwpe3JldHVybiA0PT09''@;'; put 'put ''bC50eXBlJiZsLnZhbHVlIT09d019ZnVuY3Rpb24gRTQobCxjLGEpe3JldHVybiBjPT09KDQhPT1sLnR5cGV8fGE/bC52YWx1ZTp3TSl9ZnVuY3Rpb24gVDQobCxjLGEpe2xldCBkPTQ7Y29uc3QgZj1sLmF0dHJzfHxbXSx2PWZ1bmN0aW9uIEY0KGwpe2ZvcihsZXQgYz0wO2M8bC5sZW5ndGg7''@;'; put 'put ''YysrKWlmKEtmKGxbY10pKXJldHVybiBjO3JldHVybiBsLmxlbmd0aH0oZik7bGV0IHg9ITE7Zm9yKGxldCBIPTA7SDxjLmxlbmd0aDtIKyspe2NvbnN0IEs9Y1tIXTtpZigibnVtYmVyIiE9dHlwZW9mIEspe2lmKCF4KWlmKDQmZCl7aWYoZD0yfDEmZCwiIiE9PUsmJiFFNChsLEssYSl8fCIi''@;'; put 'put ''PT09SyYmMT09PWMubGVuZ3RoKXtpZihncyhkKSlyZXR1cm4hMTt4PSEwfX1lbHNle2NvbnN0IGVlPTgmZD9LOmNbKytIXTtpZig4JmQmJm51bGwhPT1sLmF0dHJzKXtpZighQTQobC5hdHRycyxlZSxhKSl7aWYoZ3MoZCkpcmV0dXJuITE7eD0hMH1jb250aW51ZX1jb25zdCB5ZT1MNCg4JmQ/''@;'; put 'put ''ImNsYXNzIjpLLGYsTU0obCksYSk7aWYoLTE9PT15ZSl7aWYoZ3MoZCkpcmV0dXJuITE7eD0hMDtjb250aW51ZX1pZigiIiE9PWVlKXtsZXQgamU7amU9eWU+dj8iIjpmW3llKzFdLnRvTG93ZXJDYXNlKCk7Y29uc3QgSWU9OCZkP2plOm51bGw7aWYoSWUmJi0xIT09eU0oSWUsZWUsMCl8fDIm''@;'; put 'put ''ZCYmZWUhPT1qZSl7aWYoZ3MoZCkpcmV0dXJuITE7eD0hMH19fX1lbHNle2lmKCF4JiYhZ3MoZCkmJiFncyhLKSlyZXR1cm4hMTtpZih4JiZncyhLKSljb250aW51ZTt4PSExLGQ9S3wxJmR9fXJldHVybiBncyhkKXx8eH1mdW5jdGlvbiBncyhsKXtyZXR1cm4gMD09KDEmbCl9ZnVuY3Rpb24g''@;'; put 'put ''TDQobCxjLGEsZCl7aWYobnVsbD09PWMpcmV0dXJuLTE7bGV0IGY9MDtpZihkfHwhYSl7bGV0IHY9ITE7Zm9yKDtmPGMubGVuZ3RoOyl7Y29uc3QgeD1jW2ZdO2lmKHg9PT1sKXJldHVybiBmO2lmKDM9PT14fHw2PT09eCl2PSEwO2Vsc2V7aWYoMT09PXh8fDI9PT14KXtsZXQgSD1jWysrZl07''@;'; put 'put ''Zm9yKDsic3RyaW5nIj09dHlwZW9mIEg7KUg9Y1srK2ZdO2NvbnRpbnVlfWlmKDQ9PT14KWJyZWFrO2lmKDA9PT14KXtmKz00O2NvbnRpbnVlfX1mKz12PzE6Mn1yZXR1cm4tMX1yZXR1cm4gZnVuY3Rpb24gUjQobCxjKXtsZXQgYT1sLmluZGV4T2YoNCk7aWYoYT4tMSlmb3IoYSsrO2E8bC5s''@;'; put 'put ''ZW5ndGg7KXtjb25zdCBkPWxbYV07aWYoIm51bWJlciI9PXR5cGVvZiBkKXJldHVybi0xO2lmKGQ9PT1jKXJldHVybiBhO2ErK31yZXR1cm4tMX0oYyxsKX1mdW5jdGlvbiBDTShsLGMsYT0hMSl7Zm9yKGxldCBkPTA7ZDxjLmxlbmd0aDtkKyspaWYoVDQobCxjW2RdLGEpKXJldHVybiEwO3Jl''@;'; put 'put ''dHVybiExfWZ1bmN0aW9uIE40KGwsYyl7ZTpmb3IobGV0IGE9MDthPGMubGVuZ3RoO2ErKyl7Y29uc3QgZD1jW2FdO2lmKGwubGVuZ3RoPT09ZC5sZW5ndGgpe2ZvcihsZXQgZj0wO2Y8bC5sZW5ndGg7ZisrKWlmKGxbZl0hPT1kW2ZdKWNvbnRpbnVlIGU7cmV0dXJuITB9fXJldHVybiExfWZ1''@;'; put 'put ''bmN0aW9uIGtNKGwsYyl7cmV0dXJuIGw/Ijpub3QoIitjLnRyaW0oKSsiKSI6Y31mdW5jdGlvbiBZNChsKXtsZXQgYz1sWzBdLGE9MSxkPTIsZj0iIix2PSExO2Zvcig7YTxsLmxlbmd0aDspe2xldCB4PWxbYV07aWYoInN0cmluZyI9PXR5cGVvZiB4KWlmKDImZCl7Y29uc3QgSD1sWysrYV07''@;'; put 'put ''Zis9IlsiK3grKEgubGVuZ3RoPjA/Jz0iJytIKyciJzoiIikrIl0ifWVsc2UgOCZkP2YrPSIuIit4OjQmZCYmKGYrPSIgIit4KTtlbHNlIiIhPT1mJiYhZ3MoeCkmJihjKz1rTSh2LGYpLGY9IiIpLGQ9eCx2PXZ8fCFncyhkKTthKyt9cmV0dXJuIiIhPT1mJiYoYys9a00odixmKSksY31jb25z''@;'; put 'put ''dCBxbj17fTtmdW5jdGlvbiBUZShsKXtqTShncigpLHp0KCksd2koKStsLCExKX1mdW5jdGlvbiBqTShsLGMsYSxkKXtpZighZClpZigzPT0oMyZjWzJdKSl7Y29uc3Qgdj1sLnByZU9yZGVyQ2hlY2tIb29rcztudWxsIT09diYmamMoYyx2LGEpfWVsc2V7Y29uc3Qgdj1sLnByZU9yZGVySG9v''@;'; put 'put ''a3M7bnVsbCE9PXYmJlNjKGMsdiwwLGEpfXFvKGEpfWZ1bmN0aW9uIERNKGwsYz1udWxsLGE9bnVsbCxkKXtjb25zdCBmPXhNKGwsYyxhLGQpO3JldHVybiBmLnJlc29sdmVJbmplY3RvckluaXRpYWxpemVycygpLGZ9ZnVuY3Rpb24geE0obCxjPW51bGwsYT1udWxsLGQsZj1uZXcgU2V0KXtj''@;'; put 'put ''b25zdCB2PVthfHxfcixqQShsKV07cmV0dXJuIGQ9ZHx8KCJvYmplY3QiPT10eXBlb2YgbD92b2lkIDA6dm4obCkpLG5ldyBZdyh2LGN8fGZwKCksZHx8bnVsbCxmKX1sZXQgVnI9KCgpPT57Y2xhc3MgbHtzdGF0aWMgY3JlYXRlKGEsZCl7dmFyIGY7aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1''@;'; put 'put ''cm4gRE0oe25hbWU6IiJ9LGQsYSwiIik7e2NvbnN0IHY9bnVsbCE9PShmPWEubmFtZSkmJnZvaWQgMCE9PWY/ZjoiIjtyZXR1cm4gRE0oe25hbWU6dn0sYS5wYXJlbnQsYS5wcm92aWRlcnMsdil9fX1yZXR1cm4gbC5USFJPV19JRl9OT1RfRk9VTkQ9T2QsbC5OVUxMPW5ldyBMdyxsLlx1MDI3''@;'; put 'put ''NXByb3Y9eHQoe3Rva2VuOmwscHJvdmlkZWRJbjoiYW55IixmYWN0b3J5OigpPT5FdChFdyl9KSxsLl9fTkdfRUxFTUVOVF9JRF9fPS0xLGx9KSgpO2Z1bmN0aW9uIG1lKGwsYz1Fbi5EZWZhdWx0KXtjb25zdCBhPXp0KCk7cmV0dXJuIG51bGw9PT1hP0V0KGwsYyk6UShvaSgpLGEsa24obCks''@;'; put 'put ''Yyl9ZnVuY3Rpb24gdnAoKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQiKX1mdW5jdGlvbiBfcChsLGMpe3JldHVybiBsPDwxN3xjPDwyfWZ1bmN0aW9uIG1zKGwpe3JldHVybiBsPj4xNyYzMjc2N31mdW5jdGlvbiBJYihsKXtyZXR1cm4gMnxsfWZ1bmN0aW9uIGZhKGwpe3JldHVybigxMzEw''@;'; put 'put ''NjgmbCk+PjJ9ZnVuY3Rpb24gRmIobCxjKXtyZXR1cm4tMTMxMDY5Jmx8Yzw8Mn1mdW5jdGlvbiBSYihsKXtyZXR1cm4gMXxsfWZ1bmN0aW9uIEdNKGwsYyl7Y29uc3QgYT1sLmNvbnRlbnRRdWVyaWVzO2lmKG51bGwhPT1hKWZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCs9Mil7Y29uc3QgZj1h''@;'; put 'put ''W2RdLHY9YVtkKzFdO2lmKC0xIT09dil7Y29uc3QgeD1sLmRhdGFbdl07V28oZikseC5jb250ZW50UXVlcmllcygyLGNbdl0sdil9fX1mdW5jdGlvbiBNcChsLGMsYSxkLGYsdix4LEgsSyxlZSxmZSl7Y29uc3QgeWU9Yy5ibHVlcHJpbnQuc2xpY2UoKTtyZXR1cm4geWVbMF09Zix5ZVsyXT03''@;'; put 'put ''NnxkLChudWxsIT09ZmV8fGwmJjEwMjQmbFsyXSkmJih5ZVsyXXw9MTAyNCksTGYoeWUpLHllWzNdPXllWzE1XT1sLHllWzhdPWEseWVbMTBdPXh8fGwmJmxbMTBdLHllWzExXT1IfHxsJiZsWzExXSx5ZVsxMl09S3x8bCYmbFsxMl18fG51bGwseWVbOV09ZWV8fGwmJmxbOV18fG51bGwseWVb''@;'; put 'put ''Nl09dix5ZVsyMF09ZnVuY3Rpb24gdDQoKXtyZXR1cm4gZTQrK30oKSx5ZVsyMV09ZmUseWVbMTZdPTI9PWMudHlwZT9sWzE2XTp5ZSx5ZX1mdW5jdGlvbiBaYyhsLGMsYSxkLGYpe2xldCB2PWwuZGF0YVtjXTtpZihudWxsPT09dil2PWZ1bmN0aW9uIHFiKGwsYyxhLGQsZil7Y29uc3Qgdj1S''@;'; put 'put ''ZigpLHg9ZmQoKSxLPWwuZGF0YVtjXT1mdW5jdGlvbiBDNShsLGMsYSxkLGYsdil7cmV0dXJue3R5cGU6YSxpbmRleDpkLGluc2VydEJlZm9yZUluZGV4Om51bGwsaW5qZWN0b3JJbmRleDpjP2MuaW5qZWN0b3JJbmRleDotMSxkaXJlY3RpdmVTdGFydDotMSxkaXJlY3RpdmVFbmQ6LTEsZGly''@;'; put 'put ''ZWN0aXZlU3R5bGluZ0xhc3Q6LTEscHJvcGVydHlCaW5kaW5nczpudWxsLGZsYWdzOjAscHJvdmlkZXJJbmRleGVzOjAsdmFsdWU6ZixhdHRyczp2LG1lcmdlZEF0dHJzOm51bGwsbG9jYWxOYW1lczpudWxsLGluaXRpYWxJbnB1dHM6dm9pZCAwLGlucHV0czpudWxsLG91dHB1dHM6bnVsbCx0''@;'; put 'put ''Vmlld3M6bnVsbCxuZXh0Om51bGwscHJvamVjdGlvbk5leHQ6bnVsbCxjaGlsZDpudWxsLHBhcmVudDpjLHByb2plY3Rpb246bnVsbCxzdHlsZXM6bnVsbCxzdHlsZXNXaXRob3V0SG9zdDpudWxsLHJlc2lkdWFsU3R5bGVzOnZvaWQgMCxjbGFzc2VzOm51bGwsY2xhc3Nlc1dpdGhvdXRIb3N0''@;'; put 'put ''Om51bGwscmVzaWR1YWxDbGFzc2VzOnZvaWQgMCxjbGFzc0JpbmRpbmdzOjAsc3R5bGVCaW5kaW5nczowfX0oMCx4P3Y6diYmdi5wYXJlbnQsYSxjLGQsZik7cmV0dXJuIG51bGw9PT1sLmZpcnN0Q2hpbGQmJihsLmZpcnN0Q2hpbGQ9SyksbnVsbCE9PXYmJih4P251bGw9PXYuY2hpbGQmJm51''@;'; put 'put ''bGwhPT1LLnBhcmVudCYmKHYuY2hpbGQ9Syk6bnVsbD09PXYubmV4dCYmKHYubmV4dD1LKSksS30obCxjLGEsZCxmKSxmdW5jdGlvbiBZZigpe3JldHVybiB6bi5sRnJhbWUuaW5JMThufSgpJiYodi5mbGFnc3w9NjQpO2Vsc2UgaWYoNjQmdi50eXBlKXt2LnR5cGU9YSx2LnZhbHVlPWQsdi5h''@;'; put 'put ''dHRycz1mO2NvbnN0IHg9ZnVuY3Rpb24gamwoKXtjb25zdCBsPXpuLmxGcmFtZSxjPWwuY3VycmVudFROb2RlO3JldHVybiBsLmlzUGFyZW50P2M6Yy5wYXJlbnR9KCk7di5pbmplY3RvckluZGV4PW51bGw9PT14Py0xOnguaW5qZWN0b3JJbmRleH1yZXR1cm4gZm8odiwhMCksdn1mdW5jdGlv''@;'; put 'put ''biBKYyhsLGMsYSxkKXtpZigwPT09YSlyZXR1cm4tMTtjb25zdCBmPWMubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8YTt2KyspYy5wdXNoKGQpLGwuYmx1ZXByaW50LnB1c2goZCksbC5kYXRhLnB1c2gobnVsbCk7cmV0dXJuIGZ9ZnVuY3Rpb24gQ3AobCxjLGEpe19kKGMpO3RyeXtjb25zdCBkPWwu''@;'; put 'put ''dmlld1F1ZXJ5O251bGwhPT1kJiZ0digxLGQsYSk7Y29uc3QgZj1sLnRlbXBsYXRlO251bGwhPT1mJiZaTShsLGMsZiwxLGEpLGwuZmlyc3RDcmVhdGVQYXNzJiYobC5maXJzdENyZWF0ZVBhc3M9ITEpLGwuc3RhdGljQ29udGVudFF1ZXJpZXMmJkdNKGwsYyksbC5zdGF0aWNWaWV3UXVlcmll''@;'; put 'put ''cyYmdHYoMixsLnZpZXdRdWVyeSxhKTtjb25zdCB2PWwuY29tcG9uZW50cztudWxsIT09diYmZnVuY3Rpb24gXzUobCxjKXtmb3IobGV0IGE9MDthPGMubGVuZ3RoO2ErKylZNShsLGNbYV0pfShjLHYpfWNhdGNoKGQpe3Rocm93IGwuZmlyc3RDcmVhdGVQYXNzJiYobC5pbmNvbXBsZXRlRmly''@;'; put 'put ''c3RQYXNzPSEwLGwuZmlyc3RDcmVhdGVQYXNzPSExKSxkfWZpbmFsbHl7Y1syXSY9LTUsQ2MoKX19ZnVuY3Rpb24gemQobCxjLGEsZCl7Y29uc3QgZj1jWzJdO2lmKDEyOCE9KDEyOCZmKSl7X2QoYyk7dHJ5e0xmKGMpLGZ1bmN0aW9uIE5mKGwpe3JldHVybiB6bi5sRnJhbWUuYmluZGluZ0lu''@;'; put 'put ''ZGV4PWx9KGwuYmluZGluZ1N0YXJ0SW5kZXgpLG51bGwhPT1hJiZaTShsLGMsYSwyLGQpO2NvbnN0IHg9Mz09KDMmZik7aWYoeCl7Y29uc3QgZWU9bC5wcmVPcmRlckNoZWNrSG9va3M7bnVsbCE9PWVlJiZqYyhjLGVlLG51bGwpfWVsc2V7Y29uc3QgZWU9bC5wcmVPcmRlckhvb2tzO251bGwh''@;'; put 'put ''PT1lZSYmU2MoYyxlZSwwLG51bGwpLE9jKGMsMCl9aWYoZnVuY3Rpb24gUjUobCl7Zm9yKGxldCBjPXdiKGwpO251bGwhPT1jO2M9TWIoYykpe2lmKCFjWzJdKWNvbnRpbnVlO2NvbnN0IGE9Y1s5XTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl7Y29uc3QgZj1hW2RdLHY9ZlszXTswPT0o''@;'; put 'put ''NTEyJmZbMl0pJiZoZCh2LDEpLGZbMl18PTUxMn19fShjKSxmdW5jdGlvbiBGNShsKXtmb3IobGV0IGM9d2IobCk7bnVsbCE9PWM7Yz1NYihjKSlmb3IobGV0IGE9MTA7YTxjLmxlbmd0aDthKyspe2NvbnN0IGQ9Y1thXSxmPWRbMV07d2MoZCkmJnpkKGYsZCxmLnRlbXBsYXRlLGRbOF0pfX0o''@;'; put 'put ''YyksbnVsbCE9PWwuY29udGVudFF1ZXJpZXMmJkdNKGwsYykseCl7Y29uc3QgZWU9bC5jb250ZW50Q2hlY2tIb29rcztudWxsIT09ZWUmJmpjKGMsZWUpfWVsc2V7Y29uc3QgZWU9bC5jb250ZW50SG9va3M7bnVsbCE9PWVlJiZTYyhjLGVlLDEpLE9jKGMsMSl9IWZ1bmN0aW9uIGI1KGwsYyl7''@;'; put 'put ''Y29uc3QgYT1sLmhvc3RCaW5kaW5nT3BDb2RlcztpZihudWxsIT09YSl0cnl7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2NvbnN0IGY9YVtkXTtpZihmPDApcW8ofmYpO2Vsc2V7Y29uc3Qgdj1mLHg9YVsrK2RdLEg9YVsrK2RdO0VtKHgsdiksSCgyLGNbdl0pfX19ZmluYWxseXtxbygt''@;'; put 'put ''MSl9fShsLGMpO2NvbnN0IEg9bC5jb21wb25lbnRzO251bGwhPT1IJiZmdW5jdGlvbiB2NShsLGMpe2ZvcihsZXQgYT0wO2E8Yy5sZW5ndGg7YSsrKU41KGwsY1thXSl9KGMsSCk7Y29uc3QgSz1sLnZpZXdRdWVyeTtpZihudWxsIT09SyYmdHYoMixLLGQpLHgpe2NvbnN0IGVlPWwudmlld0No''@;'; put 'put ''ZWNrSG9va3M7bnVsbCE9PWVlJiZqYyhjLGVlKX1lbHNle2NvbnN0IGVlPWwudmlld0hvb2tzO251bGwhPT1lZSYmU2MoYyxlZSwyKSxPYyhjLDIpfSEwPT09bC5maXJzdFVwZGF0ZVBhc3MmJihsLmZpcnN0VXBkYXRlUGFzcz0hMSksY1syXSY9LTQxLDUxMiZjWzJdJiYoY1syXSY9LTUxMyxo''@;'; put 'put ''ZChjWzNdLC0xKSl9ZmluYWxseXtDYygpfX19ZnVuY3Rpb24geTUobCxjLGEsZCl7Y29uc3QgZj1jWzEwXSx4PVRmKGMpO3RyeXsheCYmZi5iZWdpbiYmZi5iZWdpbigpLHgmJkNwKGwsYyxkKSx6ZChsLGMsYSxkKX1maW5hbGx5eyF4JiZmLmVuZCYmZi5lbmQoKX19ZnVuY3Rpb24gWk0obCxj''@;'; put 'put ''LGEsZCxmKXtjb25zdCB2PXdpKCkseD0yJmQ7dHJ5e3FvKC0xKSx4JiZjLmxlbmd0aD4yMiYmak0obCxjLDIyLCExKSxhKGQsZil9ZmluYWxseXtxbyh2KX19ZnVuY3Rpb24gSk0obCxjLGEpe2lmKHNkKGMpKXtjb25zdCBmPWMuZGlyZWN0aXZlRW5kO2ZvcihsZXQgdj1jLmRpcmVjdGl2ZVN0''@;'; put 'put ''YXJ0O3Y8Zjt2Kyspe2NvbnN0IHg9bC5kYXRhW3ZdO3guY29udGVudFF1ZXJpZXMmJnguY29udGVudFF1ZXJpZXMoMSxhW3ZdLHYpfX19ZnVuY3Rpb24gR2IobCxjLGEpeyFGZigpfHwoZnVuY3Rpb24gUDUobCxjLGEsZCl7Y29uc3QgZj1hLmRpcmVjdGl2ZVN0YXJ0LHY9YS5kaXJlY3RpdmVF''@;'; put 'put ''bmQ7bC5maXJzdENyZWF0ZVBhc3N8fERsKGEsYyksWWkoZCxjKTtjb25zdCB4PWEuaW5pdGlhbElucHV0cztmb3IobGV0IEg9ZjtIPHY7SCsrKXtjb25zdCBLPWwuZGF0YVtIXSxlZT1PbyhLKTtlZSYmVDUoYyxhLEspO2NvbnN0IGZlPVBlKGMsbCxILGEpO1lpKGZlLGMpLG51bGwhPT14JiZM''@;'; put 'put ''NSgwLEgtZixmZSxLLDAseCksZWUmJihOaShhLmluZGV4LGMpWzhdPWZlKX19KGwsYyxhLE9pKGEsYykpLDEyOD09KDEyOCZhLmZsYWdzKSYmZnVuY3Rpb24gRDUobCxjLGEpe2NvbnN0IGQ9YS5kaXJlY3RpdmVTdGFydCxmPWEuZGlyZWN0aXZlRW5kLHY9YS5pbmRleCx4PWZ1bmN0aW9uIEJm''@;'; put 'put ''KCl7cmV0dXJuIHpuLmxGcmFtZS5jdXJyZW50RGlyZWN0aXZlSW5kZXh9KCk7dHJ5e3FvKHYpO2ZvcihsZXQgSD1kO0g8ZjtIKyspe2NvbnN0IEs9bC5kYXRhW0hdLGVlPWNbSF07YmQoSCksKG51bGwhPT1LLmhvc3RCaW5kaW5nc3x8MCE9PUsuaG9zdFZhcnN8fG51bGwhPT1LLmhvc3RBdHRy''@;'; put 'put ''cykmJm5DKEssZWUpfX1maW5hbGx5e3FvKC0xKSxiZCh4KX19KGwsYyxhKSl9ZnVuY3Rpb24gWmIobCxjLGE9T2kpe2NvbnN0IGQ9Yy5sb2NhbE5hbWVzO2lmKG51bGwhPT1kKXtsZXQgZj1jLmluZGV4KzE7Zm9yKGxldCB2PTA7djxkLmxlbmd0aDt2Kz0yKXtjb25zdCB4PWRbdisxXSxIPS0x''@;'; put 'put ''PT09eD9hKGMsbCk6bFt4XTtsW2YrK109SH19fWZ1bmN0aW9uIEtNKGwpe2NvbnN0IGM9bC50VmlldztyZXR1cm4gbnVsbD09PWN8fGMuaW5jb21wbGV0ZUZpcnN0UGFzcz9sLnRWaWV3PUpiKDEsbnVsbCxsLnRlbXBsYXRlLGwuZGVjbHMsbC52YXJzLGwuZGlyZWN0aXZlRGVmcyxsLnBpcGVE''@;'; put 'put ''ZWZzLGwudmlld1F1ZXJ5LGwuc2NoZW1hcyxsLmNvbnN0cyk6Y31mdW5jdGlvbiBKYihsLGMsYSxkLGYsdix4LEgsSyxlZSl7Y29uc3QgZmU9MjIrZCx5ZT1mZStmLGplPWZ1bmN0aW9uIHc1KGwsYyl7Y29uc3QgYT1bXTtmb3IobGV0IGQ9MDtkPGM7ZCsrKWEucHVzaChkPGw/bnVsbDpxbik7''@;'; put 'put ''cmV0dXJuIGF9KGZlLHllKSxJZT0iZnVuY3Rpb24iPT10eXBlb2YgZWU/ZWUoKTplZTtyZXR1cm4gamVbMV09e3R5cGU6bCxibHVlcHJpbnQ6amUsdGVtcGxhdGU6YSxxdWVyaWVzOm51bGwsdmlld1F1ZXJ5OkgsZGVjbFROb2RlOmMsZGF0YTpqZS5zbGljZSgpLmZpbGwobnVsbCxmZSksYmlu''@;'; put 'put ''ZGluZ1N0YXJ0SW5kZXg6ZmUsZXhwYW5kb1N0YXJ0SW5kZXg6eWUsaG9zdEJpbmRpbmdPcENvZGVzOm51bGwsZmlyc3RDcmVhdGVQYXNzOiEwLGZpcnN0VXBkYXRlUGFzczohMCxzdGF0aWNWaWV3UXVlcmllczohMSxzdGF0aWNDb250ZW50UXVlcmllczohMSxwcmVPcmRlckhvb2tzOm51bGws''@;'; put 'put ''cHJlT3JkZXJDaGVja0hvb2tzOm51bGwsY29udGVudEhvb2tzOm51bGwsY29udGVudENoZWNrSG9va3M6bnVsbCx2aWV3SG9va3M6bnVsbCx2aWV3Q2hlY2tIb29rczpudWxsLGRlc3Ryb3lIb29rczpudWxsLGNsZWFudXA6bnVsbCxjb250ZW50UXVlcmllczpudWxsLGNvbXBvbmVudHM6bnVs''@;'; put 'put ''bCxkaXJlY3RpdmVSZWdpc3RyeToiZnVuY3Rpb24iPT10eXBlb2Ygdj92KCk6dixwaXBlUmVnaXN0cnk6ImZ1bmN0aW9uIj09dHlwZW9mIHg/eCgpOngsZmlyc3RDaGlsZDpudWxsLHNjaGVtYXM6Syxjb25zdHM6SWUsaW5jb21wbGV0ZUZpcnN0UGFzczohMX19ZnVuY3Rpb24gWE0obCxjLGEs''@;'; put 'put ''ZCl7Y29uc3QgZj1jQyhjKTtudWxsPT09YT9mLnB1c2goZCk6KGYucHVzaChhKSxsLmZpcnN0Q3JlYXRlUGFzcyYmdUMobCkucHVzaChkLGYubGVuZ3RoLTEpKX1mdW5jdGlvbiBRTShsLGMsYSl7Zm9yKGxldCBkIGluIGwpaWYobC5oYXNPd25Qcm9wZXJ0eShkKSl7Y29uc3QgZj1sW2RdOyhh''@;'; put 'put ''PW51bGw9PT1hP3t9OmEpLmhhc093blByb3BlcnR5KGQpP2FbZF0ucHVzaChjLGYpOmFbZF09W2MsZl19cmV0dXJuIGF9ZnVuY3Rpb24gJE0obCxjKXtjb25zdCBkPWMuZGlyZWN0aXZlRW5kLGY9bC5kYXRhLHY9Yy5hdHRycyx4PVtdO2xldCBIPW51bGwsSz1udWxsO2ZvcihsZXQgZWU9Yy5k''@;'; put 'put ''aXJlY3RpdmVTdGFydDtlZTxkO2VlKyspe2NvbnN0IGZlPWZbZWVdLHllPWZlLmlucHV0cyxqZT1udWxsPT09dnx8TU0oYyk/bnVsbDpJNSh5ZSx2KTt4LnB1c2goamUpLEg9UU0oeWUsZWUsSCksSz1RTShmZS5vdXRwdXRzLGVlLEspfW51bGwhPT1IJiYoSC5oYXNPd25Qcm9wZXJ0eSgiY2xh''@;'; put 'put ''c3MiKSYmKGMuZmxhZ3N8PTE2KSxILmhhc093blByb3BlcnR5KCJzdHlsZSIpJiYoYy5mbGFnc3w9MzIpKSxjLmluaXRpYWxJbnB1dHM9eCxjLmlucHV0cz1ILGMub3V0cHV0cz1LfWZ1bmN0aW9uIEFvKGwsYyxhLGQsZix2LHgsSCl7Y29uc3QgSz1PaShjLGEpO2xldCBmZSxlZT1jLmlucHV0''@;'; put 'put ''czshSCYmbnVsbCE9ZWUmJihmZT1lZVtkXSk/KG52KGwsYSxmZSxkLGYpLF9jKGMpJiZlQyhhLGMuaW5kZXgpKTozJmMudHlwZSYmKGQ9ZnVuY3Rpb24gazUobCl7cmV0dXJuImNsYXNzIj09PWw/ImNsYXNzTmFtZSI6ImZvciI9PT1sPyJodG1sRm9yIjoiZm9ybWFjdGlvbiI9PT1sPyJmb3Jt''@;'; put 'put ''QWN0aW9uIjoiaW5uZXJIdG1sIj09PWw/ImlubmVySFRNTCI6InJlYWRvbmx5Ij09PWw/InJlYWRPbmx5IjoidGFiaW5kZXgiPT09bD8idGFiSW5kZXgiOmx9KGQpLGY9bnVsbCE9eD94KGYsYy52YWx1ZXx8IiIsZCk6Zix2LnNldFByb3BlcnR5KEssZCxmKSl9ZnVuY3Rpb24gZUMobCxjKXtj''@;'; put 'put ''b25zdCBhPU5pKGMsbCk7MTYmYVsyXXx8KGFbMl18PTMyKX1mdW5jdGlvbiBLYihsLGMsYSxkKXtsZXQgZj0hMTtpZihGZigpKXtjb25zdCB2PWZ1bmN0aW9uIHg1KGwsYyxhKXtjb25zdCBkPWwuZGlyZWN0aXZlUmVnaXN0cnk7bGV0IGY9bnVsbDtpZihkKWZvcihsZXQgdj0wO3Y8ZC5sZW5n''@;'; put 'put ''dGg7disrKXtjb25zdCB4PWRbdl07Q00oYSx4LnNlbGVjdG9ycywhMSkmJihmfHwoZj1bXSksR2EoRGwoYSxjKSxsLHgudHlwZSksT28oeCk/KHJDKGwsYSksZi51bnNoaWZ0KHgpKTpmLnB1c2goeCkpfXJldHVybiBmfShsLGMsYSkseD1udWxsPT09ZD9udWxsOnsiIjotMX07aWYobnVsbCE9''@;'; put 'put ''PXYpe2Y9ITAsaUMoYSxsLmRhdGEubGVuZ3RoLHYubGVuZ3RoKTtmb3IobGV0IGZlPTA7ZmU8di5sZW5ndGg7ZmUrKyl7Y29uc3QgeWU9dltmZV07eWUucHJvdmlkZXJzUmVzb2x2ZXImJnllLnByb3ZpZGVyc1Jlc29sdmVyKHllKX1sZXQgSD0hMSxLPSExLGVlPUpjKGwsYyx2Lmxlbmd0aCxu''@;'; put 'put ''dWxsKTtmb3IobGV0IGZlPTA7ZmU8di5sZW5ndGg7ZmUrKyl7Y29uc3QgeWU9dltmZV07YS5tZXJnZWRBdHRycz1EYyhhLm1lcmdlZEF0dHJzLHllLmhvc3RBdHRycyksb0MobCxhLGMsZWUseWUpLEU1KGVlLHllLHgpLG51bGwhPT15ZS5jb250ZW50UXVlcmllcyYmKGEuZmxhZ3N8PTgpLChu''@;'; put 'put ''dWxsIT09eWUuaG9zdEJpbmRpbmdzfHxudWxsIT09eWUuaG9zdEF0dHJzfHwwIT09eWUuaG9zdFZhcnMpJiYoYS5mbGFnc3w9MTI4KTtjb25zdCBqZT15ZS50eXBlLnByb3RvdHlwZTshSCYmKGplLm5nT25DaGFuZ2VzfHxqZS5uZ09uSW5pdHx8amUubmdEb0NoZWNrKSYmKChsLnByZU9yZGVy''@;'; put 'put ''SG9va3N8fChsLnByZU9yZGVySG9va3M9W10pKS5wdXNoKGEuaW5kZXgpLEg9ITApLCFLJiYoamUubmdPbkNoYW5nZXN8fGplLm5nRG9DaGVjaykmJigobC5wcmVPcmRlckNoZWNrSG9va3N8fChsLnByZU9yZGVyQ2hlY2tIb29rcz1bXSkpLnB1c2goYS5pbmRleCksSz0hMCksZWUrK30kTShs''@;'; put 'put ''LGEpfXgmJmZ1bmN0aW9uIEE1KGwsYyxhKXtpZihjKXtjb25zdCBkPWwubG9jYWxOYW1lcz1bXTtmb3IobGV0IGY9MDtmPGMubGVuZ3RoO2YrPTIpe2NvbnN0IHY9YVtjW2YrMV1dO2lmKG51bGw9PXYpdGhyb3cgbmV3IEl0KC0zMDEsITEpO2QucHVzaChjW2ZdLHYpfX19KGEsZCx4KX1yZXR1''@;'; put 'put ''cm4gYS5tZXJnZWRBdHRycz1EYyhhLm1lcmdlZEF0dHJzLGEuYXR0cnMpLGZ9ZnVuY3Rpb24gdEMobCxjLGEsZCxmLHYpe2NvbnN0IHg9di5ob3N0QmluZGluZ3M7aWYoeCl7bGV0IEg9bC5ob3N0QmluZGluZ09wQ29kZXM7bnVsbD09PUgmJihIPWwuaG9zdEJpbmRpbmdPcENvZGVzPVtdKTtj''@;'; put 'put ''b25zdCBLPX5jLmluZGV4OyhmdW5jdGlvbiBPNShsKXtsZXQgYz1sLmxlbmd0aDtmb3IoO2M+MDspe2NvbnN0IGE9bFstLWNdO2lmKCJudW1iZXIiPT10eXBlb2YgYSYmYTwwKXJldHVybiBhfXJldHVybiAwfSkoSCkhPUsmJkgucHVzaChLKSxILnB1c2goZCxmLHgpfX1mdW5jdGlvbiBuQyhs''@;'; put 'put ''LGMpe251bGwhPT1sLmhvc3RCaW5kaW5ncyYmbC5ob3N0QmluZGluZ3MoMSxjKX1mdW5jdGlvbiByQyhsLGMpe2MuZmxhZ3N8PTIsKGwuY29tcG9uZW50c3x8KGwuY29tcG9uZW50cz1bXSkpLnB1c2goYy5pbmRleCl9ZnVuY3Rpb24gRTUobCxjLGEpe2lmKGEpe2lmKGMuZXhwb3J0QXMpZm9y''@;'; put 'put ''KGxldCBkPTA7ZDxjLmV4cG9ydEFzLmxlbmd0aDtkKyspYVtjLmV4cG9ydEFzW2RdXT1sO09vKGMpJiYoYVsiIl09bCl9fWZ1bmN0aW9uIGlDKGwsYyxhKXtsLmZsYWdzfD0xLGwuZGlyZWN0aXZlU3RhcnQ9YyxsLmRpcmVjdGl2ZUVuZD1jK2EsbC5wcm92aWRlckluZGV4ZXM9Y31mdW5jdGlv''@;'; put 'put ''biBvQyhsLGMsYSxkLGYpe2wuZGF0YVtkXT1mO2NvbnN0IHY9Zi5mYWN0b3J5fHwoZi5mYWN0b3J5PWNhKGYudHlwZSkpLHg9bmV3IE9sKHYsT28oZiksbWUpO2wuYmx1ZXByaW50W2RdPXgsYVtkXT14LHRDKGwsYywwLGQsSmMobCxhLGYuaG9zdFZhcnMscW4pLGYpfWZ1bmN0aW9uIFQ1KGws''@;'; put 'put ''YyxhKXtjb25zdCBkPU9pKGMsbCksZj1LTShhKSx2PWxbMTBdLHg9a3AobCxNcChsLGYsbnVsbCxhLm9uUHVzaD8zMjoxNixkLGMsdix2LmNyZWF0ZVJlbmRlcmVyKGQsYSksbnVsbCxudWxsLG51bGwpKTtsW2MuaW5kZXhdPXh9ZnVuY3Rpb24gWXMobCxjLGEsZCxmLHYpe2NvbnN0IHg9T2ko''@;'; put 'put ''bCxjKTshZnVuY3Rpb24gWGIobCxjLGEsZCxmLHYseCl7aWYobnVsbD09dilsLnJlbW92ZUF0dHJpYnV0ZShjLGYsYSk7ZWxzZXtjb25zdCBIPW51bGw9PXg/eG4odik6eCh2LGR8fCIiLGYpO2wuc2V0QXR0cmlidXRlKGMsZixILGEpfX0oY1sxMV0seCx2LGwudmFsdWUsYSxkLGYpfWZ1bmN0''@;'; put 'put ''aW9uIEw1KGwsYyxhLGQsZix2KXtjb25zdCB4PXZbY107aWYobnVsbCE9PXgpe2NvbnN0IEg9ZC5zZXRJbnB1dDtmb3IobGV0IEs9MDtLPHgubGVuZ3RoOyl7Y29uc3QgZWU9eFtLKytdLGZlPXhbSysrXSx5ZT14W0srK107bnVsbCE9PUg/ZC5zZXRJbnB1dChhLHllLGVlLGZlKTphW2ZlXT15''@;'; put 'put ''ZX19fWZ1bmN0aW9uIEk1KGwsYyl7bGV0IGE9bnVsbCxkPTA7Zm9yKDtkPGMubGVuZ3RoOyl7Y29uc3QgZj1jW2RdO2lmKDAhPT1mKWlmKDUhPT1mKXtpZigibnVtYmVyIj09dHlwZW9mIGYpYnJlYWs7bC5oYXNPd25Qcm9wZXJ0eShmKSYmKG51bGw9PT1hJiYoYT1bXSksYS5wdXNoKGYsbFtm''@;'; put 'put ''XSxjW2QrMV0pKSxkKz0yfWVsc2UgZCs9MjtlbHNlIGQrPTR9cmV0dXJuIGF9ZnVuY3Rpb24gc0MobCxjLGEsZCl7cmV0dXJuIG5ldyBBcnJheShsLCEwLCExLGMsbnVsbCwwLGQsYSxudWxsLG51bGwpfWZ1bmN0aW9uIE41KGwsYyl7Y29uc3QgYT1OaShjLGwpO2lmKHdjKGEpKXtjb25zdCBk''@;'; put 'put ''PWFbMV07NDgmYVsyXT96ZChkLGEsZC50ZW1wbGF0ZSxhWzhdKTphWzVdPjAmJlFiKGEpfX1mdW5jdGlvbiBRYihsKXtmb3IobGV0IGQ9d2IobCk7bnVsbCE9PWQ7ZD1NYihkKSlmb3IobGV0IGY9MTA7ZjxkLmxlbmd0aDtmKyspe2NvbnN0IHY9ZFtmXTtpZih3Yyh2KSlpZig1MTImdlsyXSl7''@;'; put 'put ''Y29uc3QgeD12WzFdO3pkKHgsdix4LnRlbXBsYXRlLHZbOF0pfWVsc2Ugdls1XT4wJiZRYih2KX1jb25zdCBhPWxbMV0uY29tcG9uZW50cztpZihudWxsIT09YSlmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl7Y29uc3QgZj1OaShhW2RdLGwpO3djKGYpJiZmWzVdPjAmJlFiKGYpfX1mdW5j''@;'; put 'put ''dGlvbiBZNShsLGMpe2NvbnN0IGE9TmkoYyxsKSxkPWFbMV07KGZ1bmN0aW9uIHo1KGwsYyl7Zm9yKGxldCBhPWMubGVuZ3RoO2E8bC5ibHVlcHJpbnQubGVuZ3RoO2ErKyljLnB1c2gobC5ibHVlcHJpbnRbYV0pfSkoZCxhKSxDcChkLGEsYVs4XSl9ZnVuY3Rpb24ga3AobCxjKXtyZXR1cm4g''@;'; put 'put ''bFsxM10/bFsxNF1bNF09YzpsWzEzXT1jLGxbMTRdPWMsY31mdW5jdGlvbiAkYihsKXtmb3IoO2w7KXtsWzJdfD0zMjtjb25zdCBjPU5kKGwpO2lmKHVtKGwpJiYhYylyZXR1cm4gbDtsPWN9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbEMobCl7IWZ1bmN0aW9uIGFDKGwpe2ZvcihsZXQgYz0wO2M8''@;'; put 'put ''bC5jb21wb25lbnRzLmxlbmd0aDtjKyspe2NvbnN0IGE9bC5jb21wb25lbnRzW2NdLGQ9dmIoYSk7aWYobnVsbCE9PWQpe2NvbnN0IGY9ZFsxXTt5NShmLGQsZi50ZW1wbGF0ZSxhKX19fShsWzhdKX1mdW5jdGlvbiB0dihsLGMsYSl7V28oMCksYyhsLGEpfWNvbnN0IEg1PSgoKT0+UHJvbWlz''@;'; put 'put ''ZS5yZXNvbHZlKG51bGwpKSgpO2Z1bmN0aW9uIGNDKGwpe3JldHVybiBsWzddfHwobFs3XT1bXSl9ZnVuY3Rpb24gdUMobCl7cmV0dXJuIGwuY2xlYW51cHx8KGwuY2xlYW51cD1bXSl9ZnVuY3Rpb24gZEMobCxjLGEpe3JldHVybihudWxsPT09bHx8T28obCkpJiYoYT1mdW5jdGlvbiBBZihs''@;'; put 'put ''KXtmb3IoO0FycmF5LmlzQXJyYXkobCk7KXtpZigib2JqZWN0Ij09dHlwZW9mIGxbMV0pcmV0dXJuIGw7bD1sWzBdfXJldHVybiBudWxsfShhW2MuaW5kZXhdKSksYVsxMV19ZnVuY3Rpb24gaEMobCxjKXtjb25zdCBhPWxbOV0sZD1hP2EuZ2V0KFVjLG51bGwpOm51bGw7ZCYmZC5oYW5kbGVF''@;'; put 'put ''cnJvcihjKX1mdW5jdGlvbiBudihsLGMsYSxkLGYpe2ZvcihsZXQgdj0wO3Y8YS5sZW5ndGg7KXtjb25zdCB4PWFbdisrXSxIPWFbdisrXSxLPWNbeF0sZWU9bC5kYXRhW3hdO251bGwhPT1lZS5zZXRJbnB1dD9lZS5zZXRJbnB1dChLLGYsZCxIKTpLW0hdPWZ9fWZ1bmN0aW9uIGpwKGwsYyxh''@;'; put 'put ''KXtsZXQgZD1hP2wuc3R5bGVzOm51bGwsZj1hP2wuY2xhc3NlczpudWxsLHY9MDtpZihudWxsIT09Yylmb3IobGV0IHg9MDt4PGMubGVuZ3RoO3grKyl7Y29uc3QgSD1jW3hdOyJudW1iZXIiPT10eXBlb2YgSD92PUg6MT09dj9mPWNyKGYsSCk6Mj09diYmKGQ9Y3IoZCxIKyI6ICIrY1srK3hd''@;'; put 'put ''KyI7IikpfWE/bC5zdHlsZXM9ZDpsLnN0eWxlc1dpdGhvdXRIb3N0PWQsYT9sLmNsYXNzZXM9ZjpsLmNsYXNzZXNXaXRob3V0SG9zdD1mfWZ1bmN0aW9uIFNwKGwsYyxhLGQsZj0hMSl7Zm9yKDtudWxsIT09YTspe2NvbnN0IHY9Y1thLmluZGV4XTtpZihudWxsIT09diYmZC5wdXNoKEpyKHYp''@;'; put 'put ''KSxTbyh2KSlmb3IobGV0IEg9MTA7SDx2Lmxlbmd0aDtIKyspe2NvbnN0IEs9dltIXSxlZT1LWzFdLmZpcnN0Q2hpbGQ7bnVsbCE9PWVlJiZTcChLWzFdLEssZWUsZCl9Y29uc3QgeD1hLnR5cGU7aWYoOCZ4KVNwKGwsYyxhLmNoaWxkLGQpO2Vsc2UgaWYoMzImeCl7Y29uc3QgSD15YihhLGMp''@;'; put 'put ''O2xldCBLO2Zvcig7Sz1IKCk7KWQucHVzaChLKX1lbHNlIGlmKDE2Jngpe2NvbnN0IEg9bU0oYyxhKTtpZihBcnJheS5pc0FycmF5KEgpKWQucHVzaCguLi5IKTtlbHNle2NvbnN0IEs9TmQoY1sxNl0pO1NwKEtbMV0sSyxILGQsITApfX1hPWY/YS5wcm9qZWN0aW9uTmV4dDphLm5leHR9cmV0''@;'; put 'put ''dXJuIGR9Y2xhc3MgQmR7Y29uc3RydWN0b3IoYyxhKXt0aGlzLl9sVmlldz1jLHRoaXMuX2NkUmVmSW5qZWN0aW5nVmlldz1hLHRoaXMuX2FwcFJlZj1udWxsLHRoaXMuX2F0dGFjaGVkVG9WaWV3Q29udGFpbmVyPSExfWdldCByb290Tm9kZXMoKXtjb25zdCBjPXRoaXMuX2xWaWV3LGE9Y1sx''@;'; put 'put ''XTtyZXR1cm4gU3AoYSxjLGEuZmlyc3RDaGlsZCxbXSl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gdGhpcy5fbFZpZXdbOF19c2V0IGNvbnRleHQoYyl7dGhpcy5fbFZpZXdbOF09Y31nZXQgZGVzdHJveWVkKCl7cmV0dXJuIDEyOD09KDEyOCZ0aGlzLl9sVmlld1syXSl9ZGVzdHJveSgpe2lmKHRo''@;'; put 'put ''aXMuX2FwcFJlZil0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyh0aGlzKTtlbHNlIGlmKHRoaXMuX2F0dGFjaGVkVG9WaWV3Q29udGFpbmVyKXtjb25zdCBjPXRoaXMuX2xWaWV3WzNdO2lmKFNvKGMpKXtjb25zdCBhPWNbOF0sZD1hP2EuaW5kZXhPZih0aGlzKTotMTtkPi0xJiYoamIoYyxkKSxu''@;'; put 'put ''cChhLGQpKX10aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcj0hMX1hTSh0aGlzLl9sVmlld1sxXSx0aGlzLl9sVmlldyl9b25EZXN0cm95KGMpe1hNKHRoaXMuX2xWaWV3WzFdLHRoaXMuX2xWaWV3LG51bGwsYyl9bWFya0ZvckNoZWNrKCl7JGIodGhpcy5fY2RSZWZJbmplY3RpbmdWaWV3''@;'; put 'put ''fHx0aGlzLl9sVmlldyl9ZGV0YWNoKCl7dGhpcy5fbFZpZXdbMl0mPS02NX1yZWF0dGFjaCgpe3RoaXMuX2xWaWV3WzJdfD02NH1kZXRlY3RDaGFuZ2VzKCl7IWZ1bmN0aW9uIGV2KGwsYyxhKXtjb25zdCBkPWNbMTBdO2QuYmVnaW4mJmQuYmVnaW4oKTt0cnl7emQobCxjLGwudGVtcGxhdGUs''@;'; put 'put ''YSl9Y2F0Y2goZil7dGhyb3cgaEMoYyxmKSxmfWZpbmFsbHl7ZC5lbmQmJmQuZW5kKCl9fSh0aGlzLl9sVmlld1sxXSx0aGlzLl9sVmlldyx0aGlzLmNvbnRleHQpfWNoZWNrTm9DaGFuZ2VzKCl7fWF0dGFjaFRvVmlld0NvbnRhaW5lclJlZigpe2lmKHRoaXMuX2FwcFJlZil0aHJvdyBuZXcg''@;'; put 'put ''SXQoOTAyLCExKTt0aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcj0hMH1kZXRhY2hGcm9tQXBwUmVmKCl7dGhpcy5fYXBwUmVmPW51bGwsZnVuY3Rpb24geTQobCxjKXtZZChsLGMsY1sxMV0sMixudWxsLG51bGwpfSh0aGlzLl9sVmlld1sxXSx0aGlzLl9sVmlldyl9YXR0YWNoVG9BcHBS''@;'; put 'put ''ZWYoYyl7aWYodGhpcy5fYXR0YWNoZWRUb1ZpZXdDb250YWluZXIpdGhyb3cgbmV3IEl0KDkwMiwhMSk7dGhpcy5fYXBwUmVmPWN9fWNsYXNzIFY1IGV4dGVuZHMgQmR7Y29uc3RydWN0b3IoYyl7c3VwZXIoYyksdGhpcy5fdmlldz1jfWRldGVjdENoYW5nZXMoKXtsQyh0aGlzLl92aWV3KX1j''@;'; put 'put ''aGVja05vQ2hhbmdlcygpe31nZXQgY29udGV4dCgpe3JldHVybiBudWxsfX1jbGFzcyBydiBleHRlbmRzICRhe2NvbnN0cnVjdG9yKGMpe3N1cGVyKCksdGhpcy5uZ01vZHVsZT1jfXJlc29sdmVDb21wb25lbnRGYWN0b3J5KGMpe2NvbnN0IGE9RHIoYyk7cmV0dXJuIG5ldyBIZChhLHRoaXMu''@;'; put 'put ''bmdNb2R1bGUpfX1mdW5jdGlvbiBmQyhsKXtjb25zdCBjPVtdO2ZvcihsZXQgYSBpbiBsKWwuaGFzT3duUHJvcGVydHkoYSkmJmMucHVzaCh7cHJvcE5hbWU6bFthXSx0ZW1wbGF0ZU5hbWU6YX0pO3JldHVybiBjfWNsYXNzIFc1e2NvbnN0cnVjdG9yKGMsYSl7dGhpcy5pbmplY3Rvcj1jLHRo''@;'; put 'put ''aXMucGFyZW50SW5qZWN0b3I9YX1nZXQoYyxhLGQpe2NvbnN0IGY9dGhpcy5pbmplY3Rvci5nZXQoYyxjYixkKTtyZXR1cm4gZiE9PWNifHxhPT09Y2I/Zjp0aGlzLnBhcmVudEluamVjdG9yLmdldChjLGEsZCl9fWNsYXNzIEhkIGV4dGVuZHMgQnd7Y29uc3RydWN0b3IoYyxhKXtzdXBlcigp''@;'; put 'put ''LHRoaXMuY29tcG9uZW50RGVmPWMsdGhpcy5uZ01vZHVsZT1hLHRoaXMuY29tcG9uZW50VHlwZT1jLnR5cGUsdGhpcy5zZWxlY3Rvcj1mdW5jdGlvbiB6NChsKXtyZXR1cm4gbC5tYXAoWTQpLmpvaW4oIiwiKX0oYy5zZWxlY3RvcnMpLHRoaXMubmdDb250ZW50U2VsZWN0b3JzPWMubmdDb250''@;'; put 'put ''ZW50U2VsZWN0b3JzP2MubmdDb250ZW50U2VsZWN0b3JzOltdLHRoaXMuaXNCb3VuZFRvTW9kdWxlPSEhYX1nZXQgaW5wdXRzKCl7cmV0dXJuIGZDKHRoaXMuY29tcG9uZW50RGVmLmlucHV0cyl9Z2V0IG91dHB1dHMoKXtyZXR1cm4gZkModGhpcy5jb21wb25lbnREZWYub3V0cHV0cyl9Y3Jl''@;'; put 'put ''YXRlKGMsYSxkLGYpe2xldCB2PShmPWZ8fHRoaXMubmdNb2R1bGUpaW5zdGFuY2VvZiBRYT9mOm51bGw9PWY/dm9pZCAwOmYuaW5qZWN0b3I7diYmbnVsbCE9PXRoaXMuY29tcG9uZW50RGVmLmdldFN0YW5kYWxvbmVJbmplY3RvciYmKHY9dGhpcy5jb21wb25lbnREZWYuZ2V0U3RhbmRhbG9u''@;'; put 'put ''ZUluamVjdG9yKHYpfHx2KTtjb25zdCB4PXY/bmV3IFc1KGMsdik6YyxIPXguZ2V0KFZjLG51bGwpO2lmKG51bGw9PT1IKXRocm93IG5ldyBJdCg0MDcsITEpO2NvbnN0IEs9eC5nZXQoQkEsbnVsbCksZWU9SC5jcmVhdGVSZW5kZXJlcihudWxsLHRoaXMuY29tcG9uZW50RGVmKSxmZT10aGlz''@;'; put 'put ''LmNvbXBvbmVudERlZi5zZWxlY3RvcnNbMF1bMF18fCJkaXYiLHllPWQ/ZnVuY3Rpb24gTTUobCxjLGEpe3JldHVybiBsLnNlbGVjdFJvb3RFbGVtZW50KGMsYT09PWNvLlNoYWRvd0RvbSl9KGVlLGQsdGhpcy5jb21wb25lbnREZWYuZW5jYXBzdWxhdGlvbik6a2IoSC5jcmVhdGVSZW5kZXJl''@;'; put 'put ''cihudWxsLHRoaXMuY29tcG9uZW50RGVmKSxmZSxmdW5jdGlvbiBVNShsKXtjb25zdCBjPWwudG9Mb3dlckNhc2UoKTtyZXR1cm4ic3ZnIj09PWM/InN2ZyI6Im1hdGgiPT09Yz8ibWF0aCI6bnVsbH0oZmUpKSxqZT10aGlzLmNvbXBvbmVudERlZi5vblB1c2g/Mjg4OjI3MixJZT1mdW5jdGlv''@;'; put 'put ''biBLNShsLGMpe3JldHVybntjb21wb25lbnRzOltdLHNjaGVkdWxlcjpsfHxkNCxjbGVhbjpINSxwbGF5ZXJIYW5kbGVyOmN8fG51bGwsZmxhZ3M6MH19KCkscWU9SmIoMCxudWxsLG51bGwsMSwwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCksc3Q9TXAobnVsbCxxZSxJZSxqZSxudWxsLG51''@;'; put 'put ''bGwsSCxlZSxLLHgsbnVsbCk7bGV0IGt0LEF0O19kKHN0KTt0cnl7Y29uc3QgSnQ9ZnVuY3Rpb24gWjUobCxjLGEsZCxmLHYpe2NvbnN0IHg9YVsxXTthWzIyXT1sO2NvbnN0IEs9WmMoeCwyMiwyLCIjaG9zdCIsbnVsbCksZWU9Sy5tZXJnZWRBdHRycz1jLmhvc3RBdHRycztudWxsIT09ZWUm''@;'; put 'put ''JihqcChLLGVlLCEwKSxudWxsIT09bCYmKFBjKGYsbCxlZSksbnVsbCE9PUsuY2xhc3NlcyYmeGIoZixsLEsuY2xhc3NlcyksbnVsbCE9PUsuc3R5bGVzJiZfTShmLGwsSy5zdHlsZXMpKSk7Y29uc3QgZmU9ZC5jcmVhdGVSZW5kZXJlcihsLGMpLHllPU1wKGEsS00oYyksbnVsbCxjLm9uUHVz''@;'; put 'put ''aD8zMjoxNixhWzIyXSxLLGQsZmUsdnx8bnVsbCxudWxsLG51bGwpO3JldHVybiB4LmZpcnN0Q3JlYXRlUGFzcyYmKEdhKERsKEssYSkseCxjLnR5cGUpLHJDKHgsSyksaUMoSyxhLmxlbmd0aCwxKSksa3AoYSx5ZSksYVsyMl09eWV9KHllLHRoaXMuY29tcG9uZW50RGVmLHN0LEgsZWUpO2lm''@;'; put 'put ''KHllKWlmKGQpUGMoZWUseWUsWyJuZy12ZXJzaW9uIixIQS5mdWxsXSk7ZWxzZXtjb25zdHthdHRyczpQdCxjbGFzc2VzOkt0fT1mdW5jdGlvbiBCNChsKXtjb25zdCBjPVtdLGE9W107bGV0IGQ9MSxmPTI7Zm9yKDtkPGwubGVuZ3RoOyl7bGV0IHY9bFtkXTtpZigic3RyaW5nIj09dHlwZW9m''@;'; put 'put ''IHYpMj09PWY/IiIhPT12JiZjLnB1c2godixsWysrZF0pOjg9PT1mJiZhLnB1c2godik7ZWxzZXtpZighZ3MoZikpYnJlYWs7Zj12fWQrK31yZXR1cm57YXR0cnM6YyxjbGFzc2VzOmF9fSh0aGlzLmNvbXBvbmVudERlZi5zZWxlY3RvcnNbMF0pO1B0JiZQYyhlZSx5ZSxQdCksS3QmJkt0Lmxl''@;'; put 'put ''bmd0aD4wJiZ4YihlZSx5ZSxLdC5qb2luKCIgIikpfWlmKEF0PUxzKHFlLDIyKSx2b2lkIDAhPT1hKXtjb25zdCBQdD1BdC5wcm9qZWN0aW9uPVtdO2ZvcihsZXQgS3Q9MDtLdDx0aGlzLm5nQ29udGVudFNlbGVjdG9ycy5sZW5ndGg7S3QrKyl7Y29uc3QgVG49YVtLdF07UHQucHVzaChudWxs''@;'; put 'put ''IT1Ubj9BcnJheS5mcm9tKFRuKTpudWxsKX19a3Q9ZnVuY3Rpb24gSjUobCxjLGEsZCxmKXtjb25zdCB2PWFbMV0seD1mdW5jdGlvbiBTNShsLGMsYSl7Y29uc3QgZD1vaSgpO2wuZmlyc3RDcmVhdGVQYXNzJiYoYS5wcm92aWRlcnNSZXNvbHZlciYmYS5wcm92aWRlcnNSZXNvbHZlcihhKSxv''@;'; put 'put ''QyhsLGQsYyxKYyhsLGMsMSxudWxsKSxhKSwkTShsLGQpKTtjb25zdCBmPVBlKGMsbCxkLmRpcmVjdGl2ZVN0YXJ0LGQpO1lpKGYsYyk7Y29uc3Qgdj1PaShkLGMpO3JldHVybiB2JiZZaSh2LGMpLGZ9KHYsYSxjKTtpZihkLmNvbXBvbmVudHMucHVzaCh4KSxsWzhdPXgsbnVsbCE9PWYpZm9y''@;'; put 'put ''KGNvbnN0IEsgb2YgZilLKHgsYyk7aWYoYy5jb250ZW50UXVlcmllcyl7Y29uc3QgSz1vaSgpO2MuY29udGVudFF1ZXJpZXMoMSx4LEsuZGlyZWN0aXZlU3RhcnQpfWNvbnN0IEg9b2koKTtyZXR1cm4hdi5maXJzdENyZWF0ZVBhc3N8fG51bGw9PT1jLmhvc3RCaW5kaW5ncyYmbnVsbD09PWMu''@;'; put 'put ''aG9zdEF0dHJzfHwocW8oSC5pbmRleCksdEMoYVsxXSxILDAsSC5kaXJlY3RpdmVTdGFydCxILmRpcmVjdGl2ZUVuZCxjKSxuQyhjLHgpKSx4fShKdCx0aGlzLmNvbXBvbmVudERlZixzdCxJZSxbWDVdKSxDcChxZSxzdCxudWxsKX1maW5hbGx5e0NjKCl9cmV0dXJuIG5ldyBHNSh0aGlzLmNv''@;'; put 'put ''bXBvbmVudFR5cGUsa3QsSGMoQXQsc3QpLHN0LEF0KX19Y2xhc3MgRzUgZXh0ZW5kcyBjbGFzcyBJQXt9e2NvbnN0cnVjdG9yKGMsYSxkLGYsdil7c3VwZXIoKSx0aGlzLmxvY2F0aW9uPWQsdGhpcy5fcm9vdExWaWV3PWYsdGhpcy5fdE5vZGU9dix0aGlzLmluc3RhbmNlPWEsdGhpcy5ob3N0''@;'; put 'put ''Vmlldz10aGlzLmNoYW5nZURldGVjdG9yUmVmPW5ldyBWNShmKSx0aGlzLmNvbXBvbmVudFR5cGU9Y31zZXRJbnB1dChjLGEpe2NvbnN0IGQ9dGhpcy5fdE5vZGUuaW5wdXRzO2xldCBmO2lmKG51bGwhPT1kJiYoZj1kW2NdKSl7Y29uc3Qgdj10aGlzLl9yb290TFZpZXc7bnYodlsxXSx2LGYs''@;'; put 'put ''YyxhKSxlQyh2LHRoaXMuX3ROb2RlLmluZGV4KX19Z2V0IGluamVjdG9yKCl7cmV0dXJuIG5ldyBCbih0aGlzLl90Tm9kZSx0aGlzLl9yb290TFZpZXcpfWRlc3Ryb3koKXt0aGlzLmhvc3RWaWV3LmRlc3Ryb3koKX1vbkRlc3Ryb3koYyl7dGhpcy5ob3N0Vmlldy5vbkRlc3Ryb3koYyl9fWZ1''@;'; put 'put ''bmN0aW9uIFg1KCl7Y29uc3QgbD1vaSgpO1NsKHp0KClbMV0sbCl9ZnVuY3Rpb24geW4obCl7bGV0IGM9ZnVuY3Rpb24gcEMobCl7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihsLnByb3RvdHlwZSkuY29uc3RydWN0b3J9KGwudHlwZSksYT0hMDtjb25zdCBkPVtsXTtmb3IoO2M7KXts''@;'; put 'put ''ZXQgZjtpZihPbyhsKSlmPWMuXHUwMjc1Y21wfHxjLlx1MDI3NWRpcjtlbHNle2lmKGMuXHUwMjc1Y21wKXRocm93IG5ldyBJdCg5MDMsITEpO2Y9Yy5cdTAyNzVkaXJ9aWYoZil7aWYoYSl7ZC5wdXNoKGYpO2NvbnN0IHg9bDt4LmlucHV0cz1pdihsLmlucHV0cykseC5kZWNsYXJlZElucHV0''@;'; put 'put ''cz1pdihsLmRlY2xhcmVkSW5wdXRzKSx4Lm91dHB1dHM9aXYobC5vdXRwdXRzKTtjb25zdCBIPWYuaG9zdEJpbmRpbmdzO0gmJnRFKGwsSCk7Y29uc3QgSz1mLnZpZXdRdWVyeSxlZT1mLmNvbnRlbnRRdWVyaWVzO2lmKEsmJiQ1KGwsSyksZWUmJmVFKGwsZWUpLHZyKGwuaW5wdXRzLGYuaW5w''@;'; put 'put ''dXRzKSx2cihsLmRlY2xhcmVkSW5wdXRzLGYuZGVjbGFyZWRJbnB1dHMpLHZyKGwub3V0cHV0cyxmLm91dHB1dHMpLE9vKGYpJiZmLmRhdGEuYW5pbWF0aW9uKXtjb25zdCBmZT1sLmRhdGE7ZmUuYW5pbWF0aW9uPShmZS5hbmltYXRpb258fFtdKS5jb25jYXQoZi5kYXRhLmFuaW1hdGlvbil9''@;'; put 'put ''fWNvbnN0IHY9Zi5mZWF0dXJlcztpZih2KWZvcihsZXQgeD0wO3g8di5sZW5ndGg7eCsrKXtjb25zdCBIPXZbeF07SCYmSC5uZ0luaGVyaXQmJkgobCksSD09PXluJiYoYT0hMSl9fWM9T2JqZWN0LmdldFByb3RvdHlwZU9mKGMpfSFmdW5jdGlvbiBRNShsKXtsZXQgYz0wLGE9bnVsbDtmb3Io''@;'; put 'put ''bGV0IGQ9bC5sZW5ndGgtMTtkPj0wO2QtLSl7Y29uc3QgZj1sW2RdO2YuaG9zdFZhcnM9Yys9Zi5ob3N0VmFycyxmLmhvc3RBdHRycz1EYyhmLmhvc3RBdHRycyxhPURjKGEsZi5ob3N0QXR0cnMpKX19KGQpfWZ1bmN0aW9uIGl2KGwpe3JldHVybiBsPT09JGk/e306bD09PV9yP1tdOmx9ZnVu''@;'; put 'put ''Y3Rpb24gJDUobCxjKXtjb25zdCBhPWwudmlld1F1ZXJ5O2wudmlld1F1ZXJ5PWE/KGQsZik9PntjKGQsZiksYShkLGYpfTpjfWZ1bmN0aW9uIGVFKGwsYyl7Y29uc3QgYT1sLmNvbnRlbnRRdWVyaWVzO2wuY29udGVudFF1ZXJpZXM9YT8oZCxmLHYpPT57YyhkLGYsdiksYShkLGYsdil9OmN9''@;'; put 'put ''ZnVuY3Rpb24gdEUobCxjKXtjb25zdCBhPWwuaG9zdEJpbmRpbmdzO2wuaG9zdEJpbmRpbmdzPWE/KGQsZik9PntjKGQsZiksYShkLGYpfTpjfWxldCBPcD1udWxsO2Z1bmN0aW9uIFRsKCl7aWYoIU9wKXtjb25zdCBsPUxyLlN5bWJvbDtpZihsJiZsLml0ZXJhdG9yKU9wPWwuaXRlcmF0b3I7''@;'; put 'put ''ZWxzZXtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE1hcC5wcm90b3R5cGUpO2ZvcihsZXQgYT0wO2E8Yy5sZW5ndGg7KythKXtjb25zdCBkPWNbYV07ImVudHJpZXMiIT09ZCYmInNpemUiIT09ZCYmTWFwLnByb3RvdHlwZVtkXT09PU1hcC5wcm90b3R5cGUuZW50cmllcyYm''@;'; put 'put ''KE9wPWQpfX19cmV0dXJuIE9wfWZ1bmN0aW9uIFZkKGwpe3JldHVybiEhb3YobCkmJihBcnJheS5pc0FycmF5KGwpfHwhKGwgaW5zdGFuY2VvZiBNYXApJiZUbCgpaW4gbCl9ZnVuY3Rpb24gb3YobCl7cmV0dXJuIG51bGwhPT1sJiYoImZ1bmN0aW9uIj09dHlwZW9mIGx8fCJvYmplY3QiPT10''@;'; put 'put ''eXBlb2YgbCl9ZnVuY3Rpb24genMobCxjLGEpe3JldHVybiBsW2NdPWF9ZnVuY3Rpb24gemkobCxjLGEpe3JldHVybiFPYmplY3QuaXMobFtjXSxhKSYmKGxbY109YSwhMCl9ZnVuY3Rpb24ganQobCxjLGEsZCl7Y29uc3QgZj16dCgpO3JldHVybiB6aShmLFVhKCksYykmJihncigpLFlzKHFy''@;'; put 'put ''KCksZixsLGMsYSxkKSksanR9ZnVuY3Rpb24gWGMobCxjLGEsZCl7cmV0dXJuIHppKGwsVWEoKSxhKT9jK3huKGEpK2Q6cW59ZnVuY3Rpb24gY3QobCxjLGEsZCxmLHYseCxIKXtjb25zdCBLPXp0KCksZWU9Z3IoKSxmZT1sKzIyLHllPWVlLmZpcnN0Q3JlYXRlUGFzcz9mdW5jdGlvbiB1RShs''@;'; put 'put ''LGMsYSxkLGYsdix4LEgsSyl7Y29uc3QgZWU9Yy5jb25zdHMsZmU9WmMoYyxsLDQseHx8bnVsbCxJcyhlZSxIKSk7S2IoYyxhLGZlLElzKGVlLEspKSxTbChjLGZlKTtjb25zdCB5ZT1mZS50Vmlld3M9SmIoMixmZSxkLGYsdixjLmRpcmVjdGl2ZVJlZ2lzdHJ5LGMucGlwZVJlZ2lzdHJ5LG51''@;'; put 'put ''bGwsYy5zY2hlbWFzLGVlKTtyZXR1cm4gbnVsbCE9PWMucXVlcmllcyYmKGMucXVlcmllcy50ZW1wbGF0ZShjLGZlKSx5ZS5xdWVyaWVzPWMucXVlcmllcy5lbWJlZGRlZFRWaWV3KGZlKSksZmV9KGZlLGVlLEssYyxhLGQsZix2LHgpOmVlLmRhdGFbZmVdO2ZvKHllLCExKTtjb25zdCBqZT1L''@;'; put 'put ''WzExXS5jcmVhdGVDb21tZW50KCIiKTtncChlZSxLLGplLHllKSxZaShqZSxLKSxrcChLLEtbZmVdPXNDKGplLEssamUseWUpKSx5Yyh5ZSkmJkdiKGVlLEsseWUpLG51bGwhPXgmJlpiKEsseWUsSCl9ZnVuY3Rpb24gQmUobCxjLGEpe2NvbnN0IGQ9enQoKTtyZXR1cm4gemkoZCxVYSgpLGMp''@;'; put 'put ''JiZBbyhncigpLHFyKCksZCxsLGMsZFsxMV0sYSwhMSksQmV9ZnVuY3Rpb24gc3YobCxjLGEsZCxmKXtjb25zdCB4PWY/ImNsYXNzIjoic3R5bGUiO252KGwsYSxjLmlucHV0c1t4XSx4LGQpfWZ1bmN0aW9uIHplKGwsYyxhLGQpe2NvbnN0IGY9enQoKSx2PWdyKCkseD0yMitsLEg9ZlsxMV0s''@;'; put 'put ''Sz1mW3hdPWtiKEgsYyxmdW5jdGlvbiBocygpe3JldHVybiB6bi5sRnJhbWUuY3VycmVudE5hbWVzcGFjZX0oKSksZWU9di5maXJzdENyZWF0ZVBhc3M/ZnVuY3Rpb24gaEUobCxjLGEsZCxmLHYseCl7Y29uc3QgSD1jLmNvbnN0cyxlZT1aYyhjLGwsMixmLElzKEgsdikpO3JldHVybiBLYihj''@;'; put 'put ''LGEsZWUsSXMoSCx4KSksbnVsbCE9PWVlLmF0dHJzJiZqcChlZSxlZS5hdHRycywhMSksbnVsbCE9PWVlLm1lcmdlZEF0dHJzJiZqcChlZSxlZS5tZXJnZWRBdHRycywhMCksbnVsbCE9PWMucXVlcmllcyYmYy5xdWVyaWVzLmVsZW1lbnRTdGFydChjLGVlKSxlZX0oeCx2LGYsMCxjLGEsZCk6''@;'; put 'put ''di5kYXRhW3hdO2ZvKGVlLCEwKTtjb25zdCBmZT1lZS5tZXJnZWRBdHRycztudWxsIT09ZmUmJlBjKEgsSyxmZSk7Y29uc3QgeWU9ZWUuY2xhc3NlcztudWxsIT09eWUmJnhiKEgsSyx5ZSk7Y29uc3QgamU9ZWUuc3R5bGVzO3JldHVybiBudWxsIT09amUmJl9NKEgsSyxqZSksNjQhPSg2NCZl''@;'; put 'put ''ZS5mbGFncykmJmdwKHYsZixLLGVlKSwwPT09ZnVuY3Rpb24gT20oKXtyZXR1cm4gem4ubEZyYW1lLmVsZW1lbnREZXB0aENvdW50fSgpJiZZaShLLGYpLGZ1bmN0aW9uIFBtKCl7em4ubEZyYW1lLmVsZW1lbnREZXB0aENvdW50Kyt9KCkseWMoZWUpJiYoR2IodixmLGVlKSxKTSh2LGVlLGYp''@;'; put 'put ''KSxudWxsIT09ZCYmWmIoZixlZSksemV9ZnVuY3Rpb24gWWUoKXtsZXQgbD1vaSgpO2ZkKCk/cGQoKToobD1sLnBhcmVudCxmbyhsLCExKSk7Y29uc3QgYz1sOyFmdW5jdGlvbiBEbSgpe3puLmxGcmFtZS5lbGVtZW50RGVwdGhDb3VudC0tfSgpO2NvbnN0IGE9Z3IoKTtyZXR1cm4gYS5maXJz''@;'; put 'put ''dENyZWF0ZVBhc3MmJihTbChhLGwpLHNkKGwpJiZhLnF1ZXJpZXMuZWxlbWVudEVuZChsKSksbnVsbCE9Yy5jbGFzc2VzV2l0aG91dEhvc3QmJmZ1bmN0aW9uIFltKGwpe3JldHVybiAwIT0oMTYmbC5mbGFncyl9KGMpJiZzdihhLGMsenQoKSxjLmNsYXNzZXNXaXRob3V0SG9zdCwhMCksbnVs''@;'; put 'put ''bCE9Yy5zdHlsZXNXaXRob3V0SG9zdCYmZnVuY3Rpb24gem0obCl7cmV0dXJuIDAhPSgzMiZsLmZsYWdzKX0oYykmJnN2KGEsYyx6dCgpLGMuc3R5bGVzV2l0aG91dEhvc3QsITEpLFllfWZ1bmN0aW9uIFd0KGwsYyxhLGQpe3JldHVybiB6ZShsLGMsYSxkKSxZZSgpLFd0fWZ1bmN0aW9uIHhy''@;'; put 'put ''KGwsYyxhKXtjb25zdCBkPXp0KCksZj1ncigpLHY9bCsyMix4PWYuZmlyc3RDcmVhdGVQYXNzP2Z1bmN0aW9uIGZFKGwsYyxhLGQsZil7Y29uc3Qgdj1jLmNvbnN0cyx4PUlzKHYsZCksSD1aYyhjLGwsOCwibmctY29udGFpbmVyIix4KTtyZXR1cm4gbnVsbCE9PXgmJmpwKEgseCwhMCksS2Io''@;'; put 'put ''YyxhLEgsSXModixmKSksbnVsbCE9PWMucXVlcmllcyYmYy5xdWVyaWVzLmVsZW1lbnRTdGFydChjLEgpLEh9KHYsZixkLGMsYSk6Zi5kYXRhW3ZdO2ZvKHgsITApO2NvbnN0IEg9ZFt2XT1kWzExXS5jcmVhdGVDb21tZW50KCIiKTtyZXR1cm4gZ3AoZixkLEgseCksWWkoSCxkKSx5Yyh4KSYm''@;'; put 'put ''KEdiKGYsZCx4KSxKTShmLHgsZCkpLG51bGwhPWEmJlpiKGQseCkseHJ9ZnVuY3Rpb24gQXIoKXtsZXQgbD1vaSgpO2NvbnN0IGM9Z3IoKTtyZXR1cm4gZmQoKT9wZCgpOihsPWwucGFyZW50LGZvKGwsITEpKSxjLmZpcnN0Q3JlYXRlUGFzcyYmKFNsKGMsbCksc2QobCkmJmMucXVlcmllcy5l''@;'; put 'put ''bGVtZW50RW5kKGwpKSxBcn1mdW5jdGlvbiBtbyhsLGMsYSl7cmV0dXJuIHhyKGwsYyxhKSxBcigpLG1vfWZ1bmN0aW9uIFJuKCl7cmV0dXJuIHp0KCl9ZnVuY3Rpb24gV2QobCl7cmV0dXJuISFsJiYiZnVuY3Rpb24iPT10eXBlb2YgbC50aGVufWNvbnN0IGF2PWZ1bmN0aW9uIGtDKGwpe3Jl''@;'; put 'put ''dHVybiEhbCYmImZ1bmN0aW9uIj09dHlwZW9mIGwuc3Vic2NyaWJlfTtmdW5jdGlvbiBPdChsLGMsYSxkKXtjb25zdCBmPXp0KCksdj1ncigpLHg9b2koKTtyZXR1cm4gakModixmLGZbMTFdLHgsbCxjLDAsZCksT3R9ZnVuY3Rpb24gbHYobCxjKXtjb25zdCBhPW9pKCksZD16dCgpLGY9Z3Io''@;'; put 'put ''KTtyZXR1cm4gakMoZixkLGRDKHZkKGYuZGF0YSksYSxkKSxhLGwsYyksbHZ9ZnVuY3Rpb24gakMobCxjLGEsZCxmLHYseCxIKXtjb25zdCBLPXljKGQpLGZlPWwuZmlyc3RDcmVhdGVQYXNzJiZ1QyhsKSx5ZT1jWzhdLGplPWNDKGMpO2xldCBJZT0hMDtpZigzJmQudHlwZXx8SCl7Y29uc3Qg''@;'; put 'put ''a3Q9T2koZCxjKSxBdD1IP0goa3QpOmt0LEp0PWplLmxlbmd0aCxQdD1IP1RuPT5IKEpyKFRuW2QuaW5kZXhdKSk6ZC5pbmRleDtsZXQgS3Q9bnVsbDtpZighSCYmSyYmKEt0PWZ1bmN0aW9uIHBFKGwsYyxhLGQpe2NvbnN0IGY9bC5jbGVhbnVwO2lmKG51bGwhPWYpZm9yKGxldCB2PTA7djxm''@;'; put 'put ''Lmxlbmd0aC0xO3YrPTIpe2NvbnN0IHg9Zlt2XTtpZih4PT09YSYmZlt2KzFdPT09ZCl7Y29uc3QgSD1jWzddLEs9Zlt2KzJdO3JldHVybiBILmxlbmd0aD5LP0hbS106bnVsbH0ic3RyaW5nIj09dHlwZW9mIHgmJih2Kz0yKX1yZXR1cm4gbnVsbH0obCxjLGYsZC5pbmRleCkpLG51bGwhPT1L''@;'; put 'put ''dCkoS3QuX19uZ0xhc3RMaXN0ZW5lckZuX198fEt0KS5fX25nTmV4dExpc3RlbmVyRm5fXz12LEt0Ll9fbmdMYXN0TGlzdGVuZXJGbl9fPXYsSWU9ITE7ZWxzZXt2PU9DKGQsYyx5ZSx2LCExKTtjb25zdCBUbj1hLmxpc3RlbihBdCxmLHYpO2plLnB1c2godixUbiksZmUmJmZlLnB1c2goZixQ''@;'; put 'put ''dCxKdCxKdCsxKX19ZWxzZSB2PU9DKGQsYyx5ZSx2LCExKTtjb25zdCBxZT1kLm91dHB1dHM7bGV0IHN0O2lmKEllJiZudWxsIT09cWUmJihzdD1xZVtmXSkpe2NvbnN0IGt0PXN0Lmxlbmd0aDtpZihrdClmb3IobGV0IEF0PTA7QXQ8a3Q7QXQrPTIpe2NvbnN0IENyPWNbc3RbQXRdXVtzdFtB''@;'; put 'put ''dCsxXV0uc3Vic2NyaWJlKHYpLG5pPWplLmxlbmd0aDtqZS5wdXNoKHYsQ3IpLGZlJiZmZS5wdXNoKGYsZC5pbmRleCxuaSwtKG5pKzEpKX19fWZ1bmN0aW9uIFNDKGwsYyxhLGQpe3RyeXtyZXR1cm4hMSE9PWEoZCl9Y2F0Y2goZil7cmV0dXJuIGhDKGwsZiksITF9fWZ1bmN0aW9uIE9DKGws''@;'; put 'put ''YyxhLGQsZil7cmV0dXJuIGZ1bmN0aW9uIHYoeCl7aWYoeD09PUZ1bmN0aW9uKXJldHVybiBkOyRiKDImbC5mbGFncz9OaShsLmluZGV4LGMpOmMpO2xldCBLPVNDKGMsMCxkLHgpLGVlPXYuX19uZ05leHRMaXN0ZW5lckZuX187Zm9yKDtlZTspSz1TQyhjLDAsZWUseCkmJkssZWU9ZWUuX19u''@;'; put 'put ''Z05leHRMaXN0ZW5lckZuX187cmV0dXJuIGYmJiExPT09SyYmKHgucHJldmVudERlZmF1bHQoKSx4LnJldHVyblZhbHVlPSExKSxLfX1mdW5jdGlvbiBodChsPTEpe3JldHVybiBmdW5jdGlvbiB5cihsKXtyZXR1cm4oem4ubEZyYW1lLmNvbnRleHRMVmlldz1mdW5jdGlvbiBrYyhsLGMpe2Zv''@;'; put 'put ''cig7bD4wOyljPWNbMTVdLGwtLTtyZXR1cm4gY30obCx6bi5sRnJhbWUuY29udGV4dExWaWV3KSlbOF19KGwpfWZ1bmN0aW9uIGdFKGwsYyl7bGV0IGE9bnVsbDtjb25zdCBkPWZ1bmN0aW9uIEk0KGwpe2NvbnN0IGM9bC5hdHRycztpZihudWxsIT1jKXtjb25zdCBhPWMuaW5kZXhPZig1KTtp''@;'; put 'put ''ZigwPT0oMSZhKSlyZXR1cm4gY1thKzFdfXJldHVybiBudWxsfShsKTtmb3IobGV0IGY9MDtmPGMubGVuZ3RoO2YrKyl7Y29uc3Qgdj1jW2ZdO2lmKCIqIiE9PXYpe2lmKG51bGw9PT1kP0NNKGwsdiwhMCk6TjQoZCx2KSlyZXR1cm4gZn1lbHNlIGE9Zn1yZXR1cm4gYX1mdW5jdGlvbiB0bihs''@;'; put 'put ''KXtjb25zdCBjPXp0KClbMTZdWzZdO2lmKCFjLnByb2plY3Rpb24pe2NvbnN0IGQ9Yy5wcm9qZWN0aW9uPVNkKGw/bC5sZW5ndGg6MSxudWxsKSxmPWQuc2xpY2UoKTtsZXQgdj1jLmNoaWxkO2Zvcig7bnVsbCE9PXY7KXtjb25zdCB4PWw/Z0UodixsKTowO251bGwhPT14JiYoZlt4XT9mW3hd''@;'; put 'put ''LnByb2plY3Rpb25OZXh0PXY6ZFt4XT12LGZbeF09diksdj12Lm5leHR9fX1mdW5jdGlvbiBMdChsLGM9MCxhKXtjb25zdCBkPXp0KCksZj1ncigpLHY9WmMoZiwyMitsLDE2LG51bGwsYXx8bnVsbCk7bnVsbD09PXYucHJvamVjdGlvbiYmKHYucHJvamVjdGlvbj1jKSxwZCgpLDY0IT0oNjQm''@;'; put 'put ''di5mbGFncykmJmZ1bmN0aW9uIFA0KGwsYyxhKXt2TShjWzExXSwwLGMsYSxsTShsLGEsYyksaE0oYS5wYXJlbnR8fGNbNl0sYSxjKSl9KGYsZCx2KX1mdW5jdGlvbiBEcChsLGMsYSl7cmV0dXJuIHFkKGwsIiIsYywiIixhKSxEcH1mdW5jdGlvbiBxZChsLGMsYSxkLGYpe2NvbnN0IHY9enQo''@;'; put 'put ''KSx4PVhjKHYsYyxhLGQpO3JldHVybiB4IT09cW4mJkFvKGdyKCkscXIoKSx2LGwseCx2WzExXSxmLCExKSxxZH1mdW5jdGlvbiBGQyhsLGMsYSxkLGYpe2NvbnN0IHY9bFthKzFdLHg9bnVsbD09PWM7bGV0IEg9ZD9tcyh2KTpmYSh2KSxLPSExO2Zvcig7MCE9PUgmJighMT09PUt8fHgpOyl7''@;'; put 'put ''Y29uc3QgZmU9bFtIKzFdO3ZFKGxbSF0sYykmJihLPSEwLGxbSCsxXT1kP1JiKGZlKTpJYihmZSkpLEg9ZD9tcyhmZSk6ZmEoZmUpfUsmJihsW2ErMV09ZD9JYih2KTpSYih2KSl9ZnVuY3Rpb24gdkUobCxjKXtyZXR1cm4gbnVsbD09PWx8fG51bGw9PWN8fChBcnJheS5pc0FycmF5KGwpP2xb''@;'; put 'put ''MV06bCk9PT1jfHwhKCFBcnJheS5pc0FycmF5KGwpfHwic3RyaW5nIiE9dHlwZW9mIGMpJiZSYyhsLGMpPj0wfWZ1bmN0aW9uIHhwKGwsYyxhKXtyZXR1cm4gYnMobCxjLGEsITEpLHhwfWZ1bmN0aW9uIFZ0KGwsYyl7cmV0dXJuIGJzKGwsYyxudWxsLCEwKSxWdH1mdW5jdGlvbiBicyhsLGMs''@;'; put 'put ''YSxkKXtjb25zdCBmPXp0KCksdj1ncigpLHg9ZnVuY3Rpb24gZHMobCl7Y29uc3QgYz16bi5sRnJhbWUsYT1jLmJpbmRpbmdJbmRleDtyZXR1cm4gYy5iaW5kaW5nSW5kZXg9Yy5iaW5kaW5nSW5kZXgrbCxhfSgyKTt2LmZpcnN0VXBkYXRlUGFzcyYmZnVuY3Rpb24gV0MobCxjLGEsZCl7Y29u''@;'; put 'put ''c3QgZj1sLmRhdGE7aWYobnVsbD09PWZbYSsxXSl7Y29uc3Qgdj1mW3dpKCldLHg9ZnVuY3Rpb24gVUMobCxjKXtyZXR1cm4gYz49bC5leHBhbmRvU3RhcnRJbmRleH0obCxhKTsoZnVuY3Rpb24gSkMobCxjKXtyZXR1cm4gMCE9KGwuZmxhZ3MmKGM/MTY6MzIpKX0pKHYsZCkmJm51bGw9PT1j''@;'; put 'put ''JiYheCYmKGM9ITEpLGM9ZnVuY3Rpb24gU0UobCxjLGEsZCl7Y29uc3QgZj12ZChsKTtsZXQgdj1kP2MucmVzaWR1YWxDbGFzc2VzOmMucmVzaWR1YWxTdHlsZXM7aWYobnVsbD09PWYpMD09PShkP2MuY2xhc3NCaW5kaW5nczpjLnN0eWxlQmluZGluZ3MpJiYoYT1HZChhPWN2KG51bGwsbCxj''@;'; put 'put ''LGEsZCksYy5hdHRycyxkKSx2PW51bGwpO2Vsc2V7Y29uc3QgeD1jLmRpcmVjdGl2ZVN0eWxpbmdMYXN0O2lmKC0xPT09eHx8bFt4XSE9PWYpaWYoYT1jdihmLGwsYyxhLGQpLG51bGw9PT12KXtsZXQgSz1mdW5jdGlvbiBPRShsLGMsYSl7Y29uc3QgZD1hP2MuY2xhc3NCaW5kaW5nczpjLnN0''@;'; put 'put ''eWxlQmluZGluZ3M7aWYoMCE9PWZhKGQpKXJldHVybiBsW21zKGQpXX0obCxjLGQpO3ZvaWQgMCE9PUsmJkFycmF5LmlzQXJyYXkoSykmJihLPWN2KG51bGwsbCxjLEtbMV0sZCksSz1HZChLLGMuYXR0cnMsZCksZnVuY3Rpb24gUEUobCxjLGEsZCl7bFttcyhhP2MuY2xhc3NCaW5kaW5nczpj''@;'; put 'put ''LnN0eWxlQmluZGluZ3MpXT1kfShsLGMsZCxLKSl9ZWxzZSB2PWZ1bmN0aW9uIERFKGwsYyxhKXtsZXQgZDtjb25zdCBmPWMuZGlyZWN0aXZlRW5kO2ZvcihsZXQgdj0xK2MuZGlyZWN0aXZlU3R5bGluZ0xhc3Q7djxmO3YrKylkPUdkKGQsbFt2XS5ob3N0QXR0cnMsYSk7cmV0dXJuIEdkKGQs''@;'; put 'put ''Yy5hdHRycyxhKX0obCxjLGQpfXJldHVybiB2b2lkIDAhPT12JiYoZD9jLnJlc2lkdWFsQ2xhc3Nlcz12OmMucmVzaWR1YWxTdHlsZXM9diksYX0oZix2LGMsZCksZnVuY3Rpb24gbUUobCxjLGEsZCxmLHYpe2xldCB4PXY/Yy5jbGFzc0JpbmRpbmdzOmMuc3R5bGVCaW5kaW5ncyxIPW1zKHgp''@;'; put 'put ''LEs9ZmEoeCk7bFtkXT1hO2xldCBmZSxlZT0hMTtpZihBcnJheS5pc0FycmF5KGEpKXtjb25zdCB5ZT1hO2ZlPXllWzFdLChudWxsPT09ZmV8fFJjKHllLGZlKT4wKSYmKGVlPSEwKX1lbHNlIGZlPWE7aWYoZilpZigwIT09Syl7Y29uc3QgamU9bXMobFtIKzFdKTtsW2QrMV09X3AoamUsSCks''@;'; put 'put ''MCE9PWplJiYobFtqZSsxXT1GYihsW2plKzFdLGQpKSxsW0grMV09ZnVuY3Rpb24gYTUobCxjKXtyZXR1cm4gMTMxMDcxJmx8Yzw8MTd9KGxbSCsxXSxkKX1lbHNlIGxbZCsxXT1fcChILDApLDAhPT1IJiYobFtIKzFdPUZiKGxbSCsxXSxkKSksSD1kO2Vsc2UgbFtkKzFdPV9wKEssMCksMD09''@;'; put 'put ''PUg/SD1kOmxbSysxXT1GYihsW0srMV0sZCksSz1kO2VlJiYobFtkKzFdPUliKGxbZCsxXSkpLEZDKGwsZmUsZCwhMCksRkMobCxmZSxkLCExKSxmdW5jdGlvbiBiRShsLGMsYSxkLGYpe2NvbnN0IHY9Zj9sLnJlc2lkdWFsQ2xhc3NlczpsLnJlc2lkdWFsU3R5bGVzO251bGwhPXYmJiJzdHJp''@;'; put 'put ''bmciPT10eXBlb2YgYyYmUmModixjKT49MCYmKGFbZCsxXT1SYihhW2QrMV0pKX0oYyxmZSxsLGQsdikseD1fcChILEspLHY/Yy5jbGFzc0JpbmRpbmdzPXg6Yy5zdHlsZUJpbmRpbmdzPXh9KGYsdixjLGEseCxkKX19KHYsbCx4LGQpLGMhPT1xbiYmemkoZix4LGMpJiZmdW5jdGlvbiBHQyhs''@;'; put 'put ''LGMsYSxkLGYsdix4LEgpe2lmKCEoMyZjLnR5cGUpKXJldHVybjtjb25zdCBLPWwuZGF0YSxlZT1LW0grMV07QXAoZnVuY3Rpb24gWU0obCl7cmV0dXJuIDE9PSgxJmwpfShlZSk/WkMoSyxjLGEsZixmYShlZSkseCk6dm9pZCAwKXx8KEFwKHYpfHxmdW5jdGlvbiBOTShsKXtyZXR1cm4gMj09''@;'; put 'put ''KDImbCl9KGVlKSYmKHY9WkMoSyxudWxsLGEsZixILHgpKSxmdW5jdGlvbiB4NChsLGMsYSxkLGYpe2lmKGMpZj9sLmFkZENsYXNzKGEsZCk6bC5yZW1vdmVDbGFzcyhhLGQpO2Vsc2V7bGV0IHY9LTE9PT1kLmluZGV4T2YoIi0iKT92b2lkIDA6cG8uRGFzaENhc2U7bnVsbD09Zj9sLnJlbW92''@;'; put 'put ''ZVN0eWxlKGEsZCx2KTooInN0cmluZyI9PXR5cGVvZiBmJiZmLmVuZHNXaXRoKCIhaW1wb3J0YW50IikmJihmPWYuc2xpY2UoMCwtMTApLHZ8PXBvLkltcG9ydGFudCksbC5zZXRTdHlsZShhLGQsZix2KSl9fShkLHgsY3Mod2koKSxhKSxmLHYpKX0odix2LmRhdGFbd2koKV0sZixmWzExXSxs''@;'; put 'put ''LGZbeCsxXT1mdW5jdGlvbiBFRShsLGMpe3JldHVybiBudWxsPT1sfHwoInN0cmluZyI9PXR5cGVvZiBjP2wrPWM6Im9iamVjdCI9PXR5cGVvZiBsJiYobD12bihYYShsKSkpKSxsfShjLGEpLGQseCl9ZnVuY3Rpb24gY3YobCxjLGEsZCxmKXtsZXQgdj1udWxsO2NvbnN0IHg9YS5kaXJlY3Rp''@;'; put 'put ''dmVFbmQ7bGV0IEg9YS5kaXJlY3RpdmVTdHlsaW5nTGFzdDtmb3IoLTE9PT1IP0g9YS5kaXJlY3RpdmVTdGFydDpIKys7SDx4JiYodj1jW0hdLGQ9R2QoZCx2Lmhvc3RBdHRycyxmKSx2IT09bCk7KUgrKztyZXR1cm4gbnVsbCE9PWwmJihhLmRpcmVjdGl2ZVN0eWxpbmdMYXN0PUgpLGR9ZnVu''@;'; put 'put ''Y3Rpb24gR2QobCxjLGEpe2NvbnN0IGQ9YT8xOjI7bGV0IGY9LTE7aWYobnVsbCE9PWMpZm9yKGxldCB2PTA7djxjLmxlbmd0aDt2Kyspe2NvbnN0IHg9Y1t2XTsibnVtYmVyIj09dHlwZW9mIHg/Zj14OmY9PT1kJiYoQXJyYXkuaXNBcnJheShsKXx8KGw9dm9pZCAwPT09bD9bXTpbIiIsbF0p''@;'; put 'put ''LHhvKGwseCwhIWF8fGNbKyt2XSkpfXJldHVybiB2b2lkIDA9PT1sP251bGw6bH1mdW5jdGlvbiBaQyhsLGMsYSxkLGYsdil7Y29uc3QgeD1udWxsPT09YztsZXQgSDtmb3IoO2Y+MDspe2NvbnN0IEs9bFtmXSxlZT1BcnJheS5pc0FycmF5KEspLGZlPWVlP0tbMV06Syx5ZT1udWxsPT09ZmU7''@;'; put 'put ''bGV0IGplPWFbZisxXTtqZT09PXFuJiYoamU9eWU/X3I6dm9pZCAwKTtsZXQgSWU9eWU/VW0oamUsZCk6ZmU9PT1kP2plOnZvaWQgMDtpZihlZSYmIUFwKEllKSYmKEllPVVtKEssZCkpLEFwKEllKSYmKEg9SWUseCkpcmV0dXJuIEg7Y29uc3QgcWU9bFtmKzFdO2Y9eD9tcyhxZSk6ZmEocWUp''@;'; put 'put ''fWlmKG51bGwhPT1jKXtsZXQgSz12P2MucmVzaWR1YWxDbGFzc2VzOmMucmVzaWR1YWxTdHlsZXM7bnVsbCE9SyYmKEg9VW0oSyxkKSl9cmV0dXJuIEh9ZnVuY3Rpb24gQXAobCl7cmV0dXJuIHZvaWQgMCE9PWx9ZnVuY3Rpb24gRnQobCxjPSIiKXtjb25zdCBhPXp0KCksZD1ncigpLGY9bCsy''@;'; put 'put ''Mix2PWQuZmlyc3RDcmVhdGVQYXNzP1pjKGQsZiwxLGMsbnVsbCk6ZC5kYXRhW2ZdLHg9YVtmXT1mdW5jdGlvbiBDYihsLGMpe3JldHVybiBsLmNyZWF0ZVRleHQoYyl9KGFbMTFdLGMpO2dwKGQsYSx4LHYpLGZvKHYsITEpfWZ1bmN0aW9uIExuKGwpe3JldHVybiBHcigiIixsLCIiKSxMbn1m''@;'; put 'put ''dW5jdGlvbiBHcihsLGMsYSl7Y29uc3QgZD16dCgpLGY9WGMoZCxsLGMsYSk7cmV0dXJuIGYhPT1xbiYmZnVuY3Rpb24gcGEobCxjLGEpe2NvbnN0IGQ9Y3MoYyxsKTshZnVuY3Rpb24gb00obCxjLGEpe2wuc2V0VmFsdWUoYyxhKX0obFsxMV0sZCxhKX0oZCx3aSgpLGYpLEdyfWZ1bmN0aW9u''@;'; put 'put ''IFZzKGwsYyxhKXtjb25zdCBkPXp0KCk7cmV0dXJuIHppKGQsVWEoKSxjKSYmQW8oZ3IoKSxxcigpLGQsbCxjLGRbMTFdLGEsITApLFZzfWZ1bmN0aW9uIFRwKGwsYyxhKXtjb25zdCBkPXp0KCk7aWYoemkoZCxVYSgpLGMpKXtjb25zdCB2PWdyKCkseD1xcigpO0FvKHYseCxkLGwsYyxkQyh2''@;'; put 'put ''ZCh2LmRhdGEpLHgsZCksYSwhMCl9cmV0dXJuIFRwfWNvbnN0IGF1PSJlbi1VUyI7bGV0IGZrPWF1O2Z1bmN0aW9uIGZ2KGwsYyxhLGQsZil7aWYobD1rbihsKSxBcnJheS5pc0FycmF5KGwpKWZvcihsZXQgdj0wO3Y8bC5sZW5ndGg7disrKWZ2KGxbdl0sYyxhLGQsZik7ZWxzZXtjb25zdCB2''@;'; put 'put ''PWdyKCkseD16dCgpO2xldCBIPUFsKGwpP2w6a24obC5wcm92aWRlKSxLPXp3KGwpO2NvbnN0IGVlPW9pKCksZmU9MTA0ODU3NSZlZS5wcm92aWRlckluZGV4ZXMseWU9ZWUuZGlyZWN0aXZlU3RhcnQsamU9ZWUucHJvdmlkZXJJbmRleGVzPj4yMDtpZihBbChsKXx8IWwubXVsdGkpe2NvbnN0''@;'; put 'put ''IEllPW5ldyBPbChLLGYsbWUpLHFlPWd2KEgsYyxmP2ZlOmZlK2plLHllKTstMT09PXFlPyhHYShEbChlZSx4KSx2LEgpLHB2KHYsbCxjLmxlbmd0aCksYy5wdXNoKEgpLGVlLmRpcmVjdGl2ZVN0YXJ0KyssZWUuZGlyZWN0aXZlRW5kKyssZiYmKGVlLnByb3ZpZGVySW5kZXhlcys9MTA0ODU3''@;'; put 'put ''NiksYS5wdXNoKEllKSx4LnB1c2goSWUpKTooYVtxZV09SWUseFtxZV09SWUpfWVsc2V7Y29uc3QgSWU9Z3YoSCxjLGZlK2plLHllKSxxZT1ndihILGMsZmUsZmUramUpLHN0PUllPj0wJiZhW0llXSxrdD1xZT49MCYmYVtxZV07aWYoZiYmIWt0fHwhZiYmIXN0KXtHYShEbChlZSx4KSx2LEgp''@;'; put 'put ''O2NvbnN0IEF0PWZ1bmN0aW9uIEtUKGwsYyxhLGQsZil7Y29uc3Qgdj1uZXcgT2wobCxhLG1lKTtyZXR1cm4gdi5tdWx0aT1bXSx2LmluZGV4PWMsdi5jb21wb25lbnRQcm92aWRlcnM9MCxOayh2LGYsZCYmIWEpLHZ9KGY/SlQ6WlQsYS5sZW5ndGgsZixkLEspOyFmJiZrdCYmKGFbcWVdLnBy''@;'; put 'put ''b3ZpZGVyRmFjdG9yeT1BdCkscHYodixsLGMubGVuZ3RoLDApLGMucHVzaChIKSxlZS5kaXJlY3RpdmVTdGFydCsrLGVlLmRpcmVjdGl2ZUVuZCsrLGYmJihlZS5wcm92aWRlckluZGV4ZXMrPTEwNDg1NzYpLGEucHVzaChBdCkseC5wdXNoKEF0KX1lbHNlIHB2KHYsbCxJZT4tMT9JZTpxZSxO''@;'; put 'put ''ayhhW2Y/cWU6SWVdLEssIWYmJmQpKTshZiYmZCYma3QmJmFbcWVdLmNvbXBvbmVudFByb3ZpZGVycysrfX19ZnVuY3Rpb24gcHYobCxjLGEsZCl7Y29uc3QgZj1BbChjKSx2PWZ1bmN0aW9uIE9BKGwpe3JldHVybiEhbC51c2VDbGFzc30oYyk7aWYoZnx8dil7Y29uc3QgSz0odj9rbihjLnVz''@;'; put 'put ''ZUNsYXNzKTpjKS5wcm90b3R5cGUubmdPbkRlc3Ryb3k7aWYoSyl7Y29uc3QgZWU9bC5kZXN0cm95SG9va3N8fChsLmRlc3Ryb3lIb29rcz1bXSk7aWYoIWYmJmMubXVsdGkpe2NvbnN0IGZlPWVlLmluZGV4T2YoYSk7LTE9PT1mZT9lZS5wdXNoKGEsW2QsS10pOmVlW2ZlKzFdLnB1c2goZCxL''@;'; put 'put ''KX1lbHNlIGVlLnB1c2goYSxLKX19fWZ1bmN0aW9uIE5rKGwsYyxhKXtyZXR1cm4gYSYmbC5jb21wb25lbnRQcm92aWRlcnMrKyxsLm11bHRpLnB1c2goYyktMX1mdW5jdGlvbiBndihsLGMsYSxkKXtmb3IobGV0IGY9YTtmPGQ7ZisrKWlmKGNbZl09PT1sKXJldHVybiBmO3JldHVybi0xfWZ1''@;'; put 'put ''bmN0aW9uIFpUKGwsYyxhLGQpe3JldHVybiBtdih0aGlzLm11bHRpLFtdKX1mdW5jdGlvbiBKVChsLGMsYSxkKXtjb25zdCBmPXRoaXMubXVsdGk7bGV0IHY7aWYodGhpcy5wcm92aWRlckZhY3Rvcnkpe2NvbnN0IHg9dGhpcy5wcm92aWRlckZhY3RvcnkuY29tcG9uZW50UHJvdmlkZXJzLEg9''@;'; put 'put ''UGUoYSxhWzFdLHRoaXMucHJvdmlkZXJGYWN0b3J5LmluZGV4LGQpO3Y9SC5zbGljZSgwLHgpLG12KGYsdik7Zm9yKGxldCBLPXg7SzxILmxlbmd0aDtLKyspdi5wdXNoKEhbS10pfWVsc2Ugdj1bXSxtdihmLHYpO3JldHVybiB2fWZ1bmN0aW9uIG12KGwsYyl7Zm9yKGxldCBhPTA7YTxsLmxl''@;'; put 'put ''bmd0aDthKyspYy5wdXNoKCgwLGxbYV0pKCkpO3JldHVybiBjfWZ1bmN0aW9uIGRuKGwsYz1bXSl7cmV0dXJuIGE9PnthLnByb3ZpZGVyc1Jlc29sdmVyPShkLGYpPT5mdW5jdGlvbiBHVChsLGMsYSl7Y29uc3QgZD1ncigpO2lmKGQuZmlyc3RDcmVhdGVQYXNzKXtjb25zdCBmPU9vKGwpO2Z2''@;'; put 'put ''KGEsZC5kYXRhLGQuYmx1ZXByaW50LGYsITApLGZ2KGMsZC5kYXRhLGQuYmx1ZXByaW50LGYsITEpfX0oZCxmP2YobCk6bCxjKX19Y2xhc3MgRmx7fWNsYXNzIFlre31jbGFzcyB6ayBleHRlbmRzIEZse2NvbnN0cnVjdG9yKGMsYSl7c3VwZXIoKSx0aGlzLl9wYXJlbnQ9YSx0aGlzLl9ib290''@;'; put 'put ''c3RyYXBDb21wb25lbnRzPVtdLHRoaXMuZGVzdHJveUNicz1bXSx0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1uZXcgcnYodGhpcyk7Y29uc3QgZD1lbyhjKTt0aGlzLl9ib290c3RyYXBDb21wb25lbnRzPWhhKGQuYm9vdHN0cmFwKSx0aGlzLl9yM0luamVjdG9yPXhNKGMsYSxbe3By''@;'; put 'put ''b3ZpZGU6RmwsdXNlVmFsdWU6dGhpc30se3Byb3ZpZGU6JGEsdXNlVmFsdWU6dGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJ9XSx2bihjKSxuZXcgU2V0KFsiZW52aXJvbm1lbnQiXSkpLHRoaXMuX3IzSW5qZWN0b3IucmVzb2x2ZUluamVjdG9ySW5pdGlhbGl6ZXJzKCksdGhpcy5pbnN0''@;'; put 'put ''YW5jZT10aGlzLl9yM0luamVjdG9yLmdldChjKX1nZXQgaW5qZWN0b3IoKXtyZXR1cm4gdGhpcy5fcjNJbmplY3Rvcn1kZXN0cm95KCl7Y29uc3QgYz10aGlzLl9yM0luamVjdG9yOyFjLmRlc3Ryb3llZCYmYy5kZXN0cm95KCksdGhpcy5kZXN0cm95Q2JzLmZvckVhY2goYT0+YSgpKSx0aGlz''@;'; put 'put ''LmRlc3Ryb3lDYnM9bnVsbH1vbkRlc3Ryb3koYyl7dGhpcy5kZXN0cm95Q2JzLnB1c2goYyl9fWNsYXNzIGJ2IGV4dGVuZHMgWWt7Y29uc3RydWN0b3IoYyl7c3VwZXIoKSx0aGlzLm1vZHVsZVR5cGU9Y31jcmVhdGUoYyl7cmV0dXJuIG5ldyB6ayh0aGlzLm1vZHVsZVR5cGUsYyl9fWNsYXNz''@;'; put 'put ''IFFUIGV4dGVuZHMgRmx7Y29uc3RydWN0b3IoYyxhLGQpe3N1cGVyKCksdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI9bmV3IHJ2KHRoaXMpLHRoaXMuaW5zdGFuY2U9bnVsbDtjb25zdCBmPW5ldyBZdyhbLi4uYyx7cHJvdmlkZTpGbCx1c2VWYWx1ZTp0aGlzfSx7cHJvdmlkZTokYSx1''@;'; put 'put ''c2VWYWx1ZTp0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcn1dLGF8fGZwKCksZCxuZXcgU2V0KFsiZW52aXJvbm1lbnQiXSkpO3RoaXMuaW5qZWN0b3I9ZixmLnJlc29sdmVJbmplY3RvckluaXRpYWxpemVycygpfWRlc3Ryb3koKXt0aGlzLmluamVjdG9yLmRlc3Ryb3koKX1vbkRlc3Ry''@;'; put 'put ''b3koYyl7dGhpcy5pbmplY3Rvci5vbkRlc3Ryb3koYyl9fWZ1bmN0aW9uIE5wKGwsYyxhPW51bGwpe3JldHVybiBuZXcgUVQobCxjLGEpLmluamVjdG9yfWZ1bmN0aW9uIFlwKGwsYyxhKXtjb25zdCBkPVBpKCkrbCxmPXp0KCk7cmV0dXJuIGZbZF09PT1xbj96cyhmLGQsYT9jLmNhbGwoYSk6''@;'; put 'put ''YygpKTpmdW5jdGlvbiBVZChsLGMpe3JldHVybiBsW2NdfShmLGQpfWZ1bmN0aW9uIEdrKGwsYyxhLGQsZix2KXtjb25zdCB4PWMrYTtyZXR1cm4gemkobCx4LGYpP3pzKGwseCsxLHY/ZC5jYWxsKHYsZik6ZChmKSk6ZnVuY3Rpb24gUWQobCxjKXtjb25zdCBhPWxbY107cmV0dXJuIGE9PT1x''@;'; put 'put ''bj92b2lkIDA6YX0obCx4KzEpfWZ1bmN0aW9uIF92KGwpe3JldHVybiBjPT57c2V0VGltZW91dChsLHZvaWQgMCxjKX19Y29uc3QgSHQ9Y2xhc3MgTTcgZXh0ZW5kcyBFe2NvbnN0cnVjdG9yKGM9ITEpe3N1cGVyKCksdGhpcy5fX2lzQXN5bmM9Y31lbWl0KGMpe3N1cGVyLm5leHQoYyl9c3Vi''@;'; put 'put ''c2NyaWJlKGMsYSxkKXt2YXIgZix2LHg7bGV0IEg9YyxLPWF8fCgoKT0+bnVsbCksZWU9ZDtpZihjJiYib2JqZWN0Ij09dHlwZW9mIGMpe2NvbnN0IHllPWM7SD1udWxsPT09KGY9eWUubmV4dCl8fHZvaWQgMD09PWY/dm9pZCAwOmYuYmluZCh5ZSksSz1udWxsPT09KHY9eWUuZXJyb3IpfHx2''@;'; put 'put ''b2lkIDA9PT12P3ZvaWQgMDp2LmJpbmQoeWUpLGVlPW51bGw9PT0oeD15ZS5jb21wbGV0ZSl8fHZvaWQgMD09PXg/dm9pZCAwOnguYmluZCh5ZSl9dGhpcy5fX2lzQXN5bmMmJihLPV92KEspLEgmJihIPV92KEgpKSxlZSYmKGVlPV92KGVlKSkpO2NvbnN0IGZlPXN1cGVyLnN1YnNjcmliZSh7''@;'; put 'put ''bmV4dDpILGVycm9yOkssY29tcGxldGU6ZWV9KTtyZXR1cm4gYyBpbnN0YW5jZW9mIFomJmMuYWRkKGZlKSxmZX19O2Z1bmN0aW9uIEM3KCl7cmV0dXJuIHRoaXMuX3Jlc3VsdHNbVGwoKV0oKX1jbGFzcyB5dntjb25zdHJ1Y3RvcihjPSExKXt0aGlzLl9lbWl0RGlzdGluY3RDaGFuZ2VzT25s''@;'; put 'put ''eT1jLHRoaXMuZGlydHk9ITAsdGhpcy5fcmVzdWx0cz1bXSx0aGlzLl9jaGFuZ2VzRGV0ZWN0ZWQ9ITEsdGhpcy5fY2hhbmdlcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5maXJzdD12b2lkIDAsdGhpcy5sYXN0PXZvaWQgMDtjb25zdCBhPVRsKCksZD15di5wcm90b3R5cGU7ZFthXXx8KGRb''@;'; put 'put ''YV09QzcpfWdldCBjaGFuZ2VzKCl7cmV0dXJuIHRoaXMuX2NoYW5nZXN8fCh0aGlzLl9jaGFuZ2VzPW5ldyBIdCl9Z2V0KGMpe3JldHVybiB0aGlzLl9yZXN1bHRzW2NdfW1hcChjKXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5tYXAoYyl9ZmlsdGVyKGMpe3JldHVybiB0aGlzLl9yZXN1bHRzLmZp''@;'; put 'put ''bHRlcihjKX1maW5kKGMpe3JldHVybiB0aGlzLl9yZXN1bHRzLmZpbmQoYyl9cmVkdWNlKGMsYSl7cmV0dXJuIHRoaXMuX3Jlc3VsdHMucmVkdWNlKGMsYSl9Zm9yRWFjaChjKXt0aGlzLl9yZXN1bHRzLmZvckVhY2goYyl9c29tZShjKXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5zb21lKGMpfXRv''@;'; put 'put ''QXJyYXkoKXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5zbGljZSgpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX3Jlc3VsdHMudG9TdHJpbmcoKX1yZXNldChjLGEpe2NvbnN0IGQ9dGhpcztkLmRpcnR5PSExO2NvbnN0IGY9RG8oYyk7KHRoaXMuX2NoYW5nZXNEZXRlY3RlZD0hZnVuY3Rpb24gUDgo''@;'; put 'put ''bCxjLGEpe2lmKGwubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBkPTA7ZDxsLmxlbmd0aDtkKyspe2xldCBmPWxbZF0sdj1jW2RdO2lmKGEmJihmPWEoZiksdj1hKHYpKSx2IT09ZilyZXR1cm4hMX1yZXR1cm4hMH0oZC5fcmVzdWx0cyxmLGEpKSYmKGQuX3Jlc3VsdHM9Zixk''@;'; put 'put ''Lmxlbmd0aD1mLmxlbmd0aCxkLmxhc3Q9Zlt0aGlzLmxlbmd0aC0xXSxkLmZpcnN0PWZbMF0pfW5vdGlmeU9uQ2hhbmdlcygpe3RoaXMuX2NoYW5nZXMmJih0aGlzLl9jaGFuZ2VzRGV0ZWN0ZWR8fCF0aGlzLl9lbWl0RGlzdGluY3RDaGFuZ2VzT25seSkmJnRoaXMuX2NoYW5nZXMuZW1pdCh0''@;'; put 'put ''aGlzKX1zZXREaXJ0eSgpe3RoaXMuZGlydHk9ITB9ZGVzdHJveSgpe3RoaXMuY2hhbmdlcy5jb21wbGV0ZSgpLHRoaXMuY2hhbmdlcy51bnN1YnNjcmliZSgpfX1sZXQgS3I9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuX19OR19FTEVNRU5UX0lEX189UzcsbH0pKCk7Y29uc3Qgazc9S3Isajc9''@;'; put 'put ''Y2xhc3MgZXh0ZW5kcyBrN3tjb25zdHJ1Y3RvcihjLGEsZCl7c3VwZXIoKSx0aGlzLl9kZWNsYXJhdGlvbkxWaWV3PWMsdGhpcy5fZGVjbGFyYXRpb25UQ29udGFpbmVyPWEsdGhpcy5lbGVtZW50UmVmPWR9Y3JlYXRlRW1iZWRkZWRWaWV3KGMsYSl7Y29uc3QgZD10aGlzLl9kZWNsYXJhdGlv''@;'; put 'put ''blRDb250YWluZXIudFZpZXdzLGY9TXAodGhpcy5fZGVjbGFyYXRpb25MVmlldyxkLGMsMTYsbnVsbCxkLmRlY2xUTm9kZSxudWxsLG51bGwsbnVsbCxudWxsLGF8fG51bGwpO2ZbMTddPXRoaXMuX2RlY2xhcmF0aW9uTFZpZXdbdGhpcy5fZGVjbGFyYXRpb25UQ29udGFpbmVyLmluZGV4XTtj''@;'; put 'put ''b25zdCB4PXRoaXMuX2RlY2xhcmF0aW9uTFZpZXdbMTldO3JldHVybiBudWxsIT09eCYmKGZbMTldPXguY3JlYXRlRW1iZWRkZWRWaWV3KGQpKSxDcChkLGYsYyksbmV3IEJkKGYpfX07ZnVuY3Rpb24gUzcoKXtyZXR1cm4gQnAob2koKSx6dCgpKX1mdW5jdGlvbiBCcChsLGMpe3JldHVybiA0''@;'; put 'put ''JmwudHlwZT9uZXcgajcoYyxsLEhjKGwsYykpOm51bGx9bGV0IHNyPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLl9fTkdfRUxFTUVOVF9JRF9fPU83LGx9KSgpO2Z1bmN0aW9uIE83KCl7cmV0dXJuIGUzKG9pKCksenQoKSl9Y29uc3QgUDc9c3IsUWs9Y2xhc3MgZXh0ZW5kcyBQN3tjb25zdHJ1''@;'; put 'put ''Y3RvcihjLGEsZCl7c3VwZXIoKSx0aGlzLl9sQ29udGFpbmVyPWMsdGhpcy5faG9zdFROb2RlPWEsdGhpcy5faG9zdExWaWV3PWR9Z2V0IGVsZW1lbnQoKXtyZXR1cm4gSGModGhpcy5faG9zdFROb2RlLHRoaXMuX2hvc3RMVmlldyl9Z2V0IGluamVjdG9yKCl7cmV0dXJuIG5ldyBCbih0aGlz''@;'; put 'put ''Ll9ob3N0VE5vZGUsdGhpcy5faG9zdExWaWV3KX1nZXQgcGFyZW50SW5qZWN0b3IoKXtjb25zdCBjPUFjKHRoaXMuX2hvc3RUTm9kZSx0aGlzLl9ob3N0TFZpZXcpO2lmKEZzKGMpKXtjb25zdCBhPXFhKGMsdGhpcy5faG9zdExWaWV3KSxkPVdhKGMpO3JldHVybiBuZXcgQm4oYVsxXS5kYXRh''@;'; put 'put ''W2QrOF0sYSl9cmV0dXJuIG5ldyBCbihudWxsLHRoaXMuX2hvc3RMVmlldyl9Y2xlYXIoKXtmb3IoO3RoaXMubGVuZ3RoPjA7KXRoaXMucmVtb3ZlKHRoaXMubGVuZ3RoLTEpfWdldChjKXtjb25zdCBhPSRrKHRoaXMuX2xDb250YWluZXIpO3JldHVybiBudWxsIT09YSYmYVtjXXx8bnVsbH1n''@;'; put 'put ''ZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2xDb250YWluZXIubGVuZ3RoLTEwfWNyZWF0ZUVtYmVkZGVkVmlldyhjLGEsZCl7bGV0IGYsdjsibnVtYmVyIj09dHlwZW9mIGQ/Zj1kOm51bGwhPWQmJihmPWQuaW5kZXgsdj1kLmluamVjdG9yKTtjb25zdCB4PWMuY3JlYXRlRW1iZWRkZWRWaWV3''@;'; put 'put ''KGF8fHt9LHYpO3JldHVybiB0aGlzLmluc2VydCh4LGYpLHh9Y3JlYXRlQ29tcG9uZW50KGMsYSxkLGYsdil7Y29uc3QgeD1jJiYhZnVuY3Rpb24gamQobCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGx9KGMpO2xldCBIO2lmKHgpSD1hO2Vsc2V7Y29uc3QgeWU9YXx8e307SD15ZS5pbmRl''@;'; put 'put ''eCxkPXllLmluamVjdG9yLGY9eWUucHJvamVjdGFibGVOb2Rlcyx2PXllLmVudmlyb25tZW50SW5qZWN0b3J8fHllLm5nTW9kdWxlUmVmfWNvbnN0IEs9eD9jOm5ldyBIZChEcihjKSksZWU9ZHx8dGhpcy5wYXJlbnRJbmplY3RvcjtpZighdiYmbnVsbD09Sy5uZ01vZHVsZSl7Y29uc3QgamU9''@;'; put 'put ''KHg/ZWU6dGhpcy5wYXJlbnRJbmplY3RvcikuZ2V0KFFhLG51bGwpO2plJiYodj1qZSl9Y29uc3QgZmU9Sy5jcmVhdGUoZWUsZix2b2lkIDAsdik7cmV0dXJuIHRoaXMuaW5zZXJ0KGZlLmhvc3RWaWV3LEgpLGZlfWluc2VydChjLGEpe2NvbnN0IGQ9Yy5fbFZpZXcsZj1kWzFdO2lmKGZ1bmN0''@;'; put 'put ''aW9uIFNtKGwpe3JldHVybiBTbyhsWzNdKX0oZCkpe2NvbnN0IGZlPXRoaXMuaW5kZXhPZihjKTtpZigtMSE9PWZlKXRoaXMuZGV0YWNoKGZlKTtlbHNle2NvbnN0IHllPWRbM10samU9bmV3IFFrKHllLHllWzZdLHllWzNdKTtqZS5kZXRhY2goamUuaW5kZXhPZihjKSl9fWNvbnN0IHY9dGhp''@;'; put 'put ''cy5fYWRqdXN0SW5kZXgoYSkseD10aGlzLl9sQ29udGFpbmVyOyFmdW5jdGlvbiBNNChsLGMsYSxkKXtjb25zdCBmPTEwK2Qsdj1hLmxlbmd0aDtkPjAmJihhW2YtMV1bNF09YyksZDx2LTEwPyhjWzRdPWFbZl0sb3coYSwxMCtkLGMpKTooYS5wdXNoKGMpLGNbNF09bnVsbCksY1szXT1hO2Nv''@;'; put 'put ''bnN0IHg9Y1sxN107bnVsbCE9PXgmJmEhPT14JiZmdW5jdGlvbiBDNChsLGMpe2NvbnN0IGE9bFs5XTtjWzE2XSE9PWNbM11bM11bMTZdJiYobFsyXT0hMCksbnVsbD09PWE/bFs5XT1bY106YS5wdXNoKGMpfSh4LGMpO2NvbnN0IEg9Y1sxOV07bnVsbCE9PUgmJkguaW5zZXJ0VmlldyhsKSxj''@;'; put 'put ''WzJdfD02NH0oZixkLHgsdik7Y29uc3QgSD1QYih2LHgpLEs9ZFsxMV0sZWU9cHAoSyx4WzddKTtyZXR1cm4gbnVsbCE9PWVlJiZmdW5jdGlvbiBfNChsLGMsYSxkLGYsdil7ZFswXT1mLGRbNl09YyxZZChsLGQsYSwxLGYsdil9KGYseFs2XSxLLGQsZWUsSCksYy5hdHRhY2hUb1ZpZXdDb250''@;'; put 'put ''YWluZXJSZWYoKSxvdyh3dih4KSx2LGMpLGN9bW92ZShjLGEpe3JldHVybiB0aGlzLmluc2VydChjLGEpfWluZGV4T2YoYyl7Y29uc3QgYT0kayh0aGlzLl9sQ29udGFpbmVyKTtyZXR1cm4gbnVsbCE9PWE/YS5pbmRleE9mKGMpOi0xfXJlbW92ZShjKXtjb25zdCBhPXRoaXMuX2FkanVzdElu''@;'; put 'put ''ZGV4KGMsLTEpLGQ9amIodGhpcy5fbENvbnRhaW5lcixhKTtkJiYobnAod3YodGhpcy5fbENvbnRhaW5lciksYSksYU0oZFsxXSxkKSl9ZGV0YWNoKGMpe2NvbnN0IGE9dGhpcy5fYWRqdXN0SW5kZXgoYywtMSksZD1qYih0aGlzLl9sQ29udGFpbmVyLGEpO3JldHVybiBkJiZudWxsIT1ucCh3''@;'; put 'put ''dih0aGlzLl9sQ29udGFpbmVyKSxhKT9uZXcgQmQoZCk6bnVsbH1fYWRqdXN0SW5kZXgoYyxhPTApe3JldHVybiBudWxsPT1jP3RoaXMubGVuZ3RoK2E6Y319O2Z1bmN0aW9uICRrKGwpe3JldHVybiBsWzhdfWZ1bmN0aW9uIHd2KGwpe3JldHVybiBsWzhdfHwobFs4XT1bXSl9ZnVuY3Rpb24g''@;'; put 'put ''ZTMobCxjKXtsZXQgYTtjb25zdCBkPWNbbC5pbmRleF07aWYoU28oZCkpYT1kO2Vsc2V7bGV0IGY7aWYoOCZsLnR5cGUpZj1KcihkKTtlbHNle2NvbnN0IHY9Y1sxMV07Zj12LmNyZWF0ZUNvbW1lbnQoIiIpO2NvbnN0IHg9T2kobCxjKTtFbCh2LHBwKHYseCksZixmdW5jdGlvbiBPNChsLGMp''@;'; put 'put ''e3JldHVybiBsLm5leHRTaWJsaW5nKGMpfSh2LHgpLCExKX1jW2wuaW5kZXhdPWE9c0MoZCxjLGYsbCksa3AoYyxhKX1yZXR1cm4gbmV3IFFrKGEsbCxjKX1jbGFzcyBNdntjb25zdHJ1Y3RvcihjKXt0aGlzLnF1ZXJ5TGlzdD1jLHRoaXMubWF0Y2hlcz1udWxsfWNsb25lKCl7cmV0dXJuIG5l''@;'; put 'put ''dyBNdih0aGlzLnF1ZXJ5TGlzdCl9c2V0RGlydHkoKXt0aGlzLnF1ZXJ5TGlzdC5zZXREaXJ0eSgpfX1jbGFzcyBDdntjb25zdHJ1Y3RvcihjPVtdKXt0aGlzLnF1ZXJpZXM9Y31jcmVhdGVFbWJlZGRlZFZpZXcoYyl7Y29uc3QgYT1jLnF1ZXJpZXM7aWYobnVsbCE9PWEpe2NvbnN0IGQ9bnVs''@;'; put 'put ''bCE9PWMuY29udGVudFF1ZXJpZXM/Yy5jb250ZW50UXVlcmllc1swXTphLmxlbmd0aCxmPVtdO2ZvcihsZXQgdj0wO3Y8ZDt2Kyspe2NvbnN0IHg9YS5nZXRCeUluZGV4KHYpO2YucHVzaCh0aGlzLnF1ZXJpZXNbeC5pbmRleEluRGVjbGFyYXRpb25WaWV3XS5jbG9uZSgpKX1yZXR1cm4gbmV3''@;'; put 'put ''IEN2KGYpfXJldHVybiBudWxsfWluc2VydFZpZXcoYyl7dGhpcy5kaXJ0eVF1ZXJpZXNXaXRoTWF0Y2hlcyhjKX1kZXRhY2hWaWV3KGMpe3RoaXMuZGlydHlRdWVyaWVzV2l0aE1hdGNoZXMoYyl9ZGlydHlRdWVyaWVzV2l0aE1hdGNoZXMoYyl7Zm9yKGxldCBhPTA7YTx0aGlzLnF1ZXJpZXMu''@;'; put 'put ''bGVuZ3RoO2ErKyludWxsIT09bzMoYyxhKS5tYXRjaGVzJiZ0aGlzLnF1ZXJpZXNbYV0uc2V0RGlydHkoKX19Y2xhc3MgdDN7Y29uc3RydWN0b3IoYyxhLGQ9bnVsbCl7dGhpcy5wcmVkaWNhdGU9Yyx0aGlzLmZsYWdzPWEsdGhpcy5yZWFkPWR9fWNsYXNzIGt2e2NvbnN0cnVjdG9yKGM9W10p''@;'; put 'put ''e3RoaXMucXVlcmllcz1jfWVsZW1lbnRTdGFydChjLGEpe2ZvcihsZXQgZD0wO2Q8dGhpcy5xdWVyaWVzLmxlbmd0aDtkKyspdGhpcy5xdWVyaWVzW2RdLmVsZW1lbnRTdGFydChjLGEpfWVsZW1lbnRFbmQoYyl7Zm9yKGxldCBhPTA7YTx0aGlzLnF1ZXJpZXMubGVuZ3RoO2ErKyl0aGlzLnF1''@;'; put 'put ''ZXJpZXNbYV0uZWxlbWVudEVuZChjKX1lbWJlZGRlZFRWaWV3KGMpe2xldCBhPW51bGw7Zm9yKGxldCBkPTA7ZDx0aGlzLmxlbmd0aDtkKyspe2NvbnN0IGY9bnVsbCE9PWE/YS5sZW5ndGg6MCx2PXRoaXMuZ2V0QnlJbmRleChkKS5lbWJlZGRlZFRWaWV3KGMsZik7diYmKHYuaW5kZXhJbkRl''@;'; put 'put ''Y2xhcmF0aW9uVmlldz1kLG51bGwhPT1hP2EucHVzaCh2KTphPVt2XSl9cmV0dXJuIG51bGwhPT1hP25ldyBrdihhKTpudWxsfXRlbXBsYXRlKGMsYSl7Zm9yKGxldCBkPTA7ZDx0aGlzLnF1ZXJpZXMubGVuZ3RoO2QrKyl0aGlzLnF1ZXJpZXNbZF0udGVtcGxhdGUoYyxhKX1nZXRCeUluZGV4''@;'; put 'put ''KGMpe3JldHVybiB0aGlzLnF1ZXJpZXNbY119Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLnF1ZXJpZXMubGVuZ3RofXRyYWNrKGMpe3RoaXMucXVlcmllcy5wdXNoKGMpfX1jbGFzcyBqdntjb25zdHJ1Y3RvcihjLGE9LTEpe3RoaXMubWV0YWRhdGE9Yyx0aGlzLm1hdGNoZXM9bnVsbCx0aGlz''@;'; put 'put ''LmluZGV4SW5EZWNsYXJhdGlvblZpZXc9LTEsdGhpcy5jcm9zc2VzTmdUZW1wbGF0ZT0hMSx0aGlzLl9hcHBsaWVzVG9OZXh0Tm9kZT0hMCx0aGlzLl9kZWNsYXJhdGlvbk5vZGVJbmRleD1hfWVsZW1lbnRTdGFydChjLGEpe3RoaXMuaXNBcHBseWluZ1RvTm9kZShhKSYmdGhpcy5tYXRjaFRO''@;'; put 'put ''b2RlKGMsYSl9ZWxlbWVudEVuZChjKXt0aGlzLl9kZWNsYXJhdGlvbk5vZGVJbmRleD09PWMuaW5kZXgmJih0aGlzLl9hcHBsaWVzVG9OZXh0Tm9kZT0hMSl9dGVtcGxhdGUoYyxhKXt0aGlzLmVsZW1lbnRTdGFydChjLGEpfWVtYmVkZGVkVFZpZXcoYyxhKXtyZXR1cm4gdGhpcy5pc0FwcGx5''@;'; put 'put ''aW5nVG9Ob2RlKGMpPyh0aGlzLmNyb3NzZXNOZ1RlbXBsYXRlPSEwLHRoaXMuYWRkTWF0Y2goLWMuaW5kZXgsYSksbmV3IGp2KHRoaXMubWV0YWRhdGEpKTpudWxsfWlzQXBwbHlpbmdUb05vZGUoYyl7aWYodGhpcy5fYXBwbGllc1RvTmV4dE5vZGUmJjEhPSgxJnRoaXMubWV0YWRhdGEuZmxh''@;'; put 'put ''Z3MpKXtjb25zdCBhPXRoaXMuX2RlY2xhcmF0aW9uTm9kZUluZGV4O2xldCBkPWMucGFyZW50O2Zvcig7bnVsbCE9PWQmJjgmZC50eXBlJiZkLmluZGV4IT09YTspZD1kLnBhcmVudDtyZXR1cm4gYT09PShudWxsIT09ZD9kLmluZGV4Oi0xKX1yZXR1cm4gdGhpcy5fYXBwbGllc1RvTmV4dE5v''@;'; put 'put ''ZGV9bWF0Y2hUTm9kZShjLGEpe2NvbnN0IGQ9dGhpcy5tZXRhZGF0YS5wcmVkaWNhdGU7aWYoQXJyYXkuaXNBcnJheShkKSlmb3IobGV0IGY9MDtmPGQubGVuZ3RoO2YrKyl7Y29uc3Qgdj1kW2ZdO3RoaXMubWF0Y2hUTm9kZVdpdGhSZWFkT3B0aW9uKGMsYSxBNyhhLHYpKSx0aGlzLm1hdGNo''@;'; put 'put ''VE5vZGVXaXRoUmVhZE9wdGlvbihjLGEsTWUoYSxjLHYsITEsITEpKX1lbHNlIGQ9PT1Lcj80JmEudHlwZSYmdGhpcy5tYXRjaFROb2RlV2l0aFJlYWRPcHRpb24oYyxhLC0xKTp0aGlzLm1hdGNoVE5vZGVXaXRoUmVhZE9wdGlvbihjLGEsTWUoYSxjLGQsITEsITEpKX1tYXRjaFROb2RlV2l0''@;'; put 'put ''aFJlYWRPcHRpb24oYyxhLGQpe2lmKG51bGwhPT1kKXtjb25zdCBmPXRoaXMubWV0YWRhdGEucmVhZDtpZihudWxsIT09ZilpZihmPT09aG58fGY9PT1zcnx8Zj09PUtyJiY0JmEudHlwZSl0aGlzLmFkZE1hdGNoKGEuaW5kZXgsLTIpO2Vsc2V7Y29uc3Qgdj1NZShhLGMsZiwhMSwhMSk7bnVs''@;'; put 'put ''bCE9PXYmJnRoaXMuYWRkTWF0Y2goYS5pbmRleCx2KX1lbHNlIHRoaXMuYWRkTWF0Y2goYS5pbmRleCxkKX19YWRkTWF0Y2goYyxhKXtudWxsPT09dGhpcy5tYXRjaGVzP3RoaXMubWF0Y2hlcz1bYyxhXTp0aGlzLm1hdGNoZXMucHVzaChjLGEpfX1mdW5jdGlvbiBBNyhsLGMpe2NvbnN0IGE9''@;'; put 'put ''bC5sb2NhbE5hbWVzO2lmKG51bGwhPT1hKWZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCs9MilpZihhW2RdPT09YylyZXR1cm4gYVtkKzFdO3JldHVybiBudWxsfWZ1bmN0aW9uIFQ3KGwsYyxhLGQpe3JldHVybi0xPT09YT9mdW5jdGlvbiBFNyhsLGMpe3JldHVybiAxMSZsLnR5cGU/SGMobCxj''@;'; put 'put ''KTo0JmwudHlwZT9CcChsLGMpOm51bGx9KGMsbCk6LTI9PT1hP2Z1bmN0aW9uIEw3KGwsYyxhKXtyZXR1cm4gYT09PWhuP0hjKGMsbCk6YT09PUtyP0JwKGMsbCk6YT09PXNyP2UzKGMsbCk6dm9pZCAwfShsLGMsZCk6UGUobCxsWzFdLGEsYyl9ZnVuY3Rpb24gbjMobCxjLGEsZCl7Y29uc3Qg''@;'; put 'put ''Zj1jWzE5XS5xdWVyaWVzW2RdO2lmKG51bGw9PT1mLm1hdGNoZXMpe2NvbnN0IHY9bC5kYXRhLHg9YS5tYXRjaGVzLEg9W107Zm9yKGxldCBLPTA7Szx4Lmxlbmd0aDtLKz0yKXtjb25zdCBlZT14W0tdO0gucHVzaChlZTwwP251bGw6VDcoYyx2W2VlXSx4W0srMV0sYS5tZXRhZGF0YS5yZWFk''@;'; put 'put ''KSl9Zi5tYXRjaGVzPUh9cmV0dXJuIGYubWF0Y2hlc31mdW5jdGlvbiBTdihsLGMsYSxkKXtjb25zdCBmPWwucXVlcmllcy5nZXRCeUluZGV4KGEpLHY9Zi5tYXRjaGVzO2lmKG51bGwhPT12KXtjb25zdCB4PW4zKGwsYyxmLGEpO2ZvcihsZXQgSD0wO0g8di5sZW5ndGg7SCs9Mil7Y29uc3Qg''@;'; put 'put ''Sz12W0hdO2lmKEs+MClkLnB1c2goeFtILzJdKTtlbHNle2NvbnN0IGVlPXZbSCsxXSxmZT1jWy1LXTtmb3IobGV0IHllPTEwO3llPGZlLmxlbmd0aDt5ZSsrKXtjb25zdCBqZT1mZVt5ZV07amVbMTddPT09amVbM10mJlN2KGplWzFdLGplLGVlLGQpfWlmKG51bGwhPT1mZVs5XSl7Y29uc3Qg''@;'; put 'put ''eWU9ZmVbOV07Zm9yKGxldCBqZT0wO2plPHllLmxlbmd0aDtqZSsrKXtjb25zdCBJZT15ZVtqZV07U3YoSWVbMV0sSWUsZWUsZCl9fX19fXJldHVybiBkfWZ1bmN0aW9uIFF0KGwpe2NvbnN0IGM9enQoKSxhPWdyKCksZD1IZigpO1dvKGQrMSk7Y29uc3QgZj1vMyhhLGQpO2lmKGwuZGlydHkm''@;'; put 'put ''JlRmKGMpPT09KDI9PSgyJmYubWV0YWRhdGEuZmxhZ3MpKSl7aWYobnVsbD09PWYubWF0Y2hlcylsLnJlc2V0KFtdKTtlbHNle2NvbnN0IHY9Zi5jcm9zc2VzTmdUZW1wbGF0ZT9TdihhLGMsZCxbXSk6bjMoYSxjLGYsZCk7bC5yZXNldCh2LFlBKSxsLm5vdGlmeU9uQ2hhbmdlcygpfXJldHVy''@;'; put 'put ''biEwfXJldHVybiExfWZ1bmN0aW9uIG1yKGwsYyxhKXtjb25zdCBkPWdyKCk7ZC5maXJzdENyZWF0ZVBhc3MmJihpMyhkLG5ldyB0MyhsLGMsYSksLTEpLDI9PSgyJmMpJiYoZC5zdGF0aWNWaWV3UXVlcmllcz0hMCkpLHIzKGQsenQoKSxjKX1mdW5jdGlvbiBIbihsLGMsYSxkKXtjb25zdCBm''@;'; put 'put ''PWdyKCk7aWYoZi5maXJzdENyZWF0ZVBhc3Mpe2NvbnN0IHY9b2koKTtpMyhmLG5ldyB0MyhjLGEsZCksdi5pbmRleCksZnVuY3Rpb24gRjcobCxjKXtjb25zdCBhPWwuY29udGVudFF1ZXJpZXN8fChsLmNvbnRlbnRRdWVyaWVzPVtdKTtjIT09KGEubGVuZ3RoP2FbYS5sZW5ndGgtMV06LTEp''@;'; put 'put ''JiZhLnB1c2gobC5xdWVyaWVzLmxlbmd0aC0xLGMpfShmLGwpLDI9PSgyJmEpJiYoZi5zdGF0aWNDb250ZW50UXVlcmllcz0hMCl9cjMoZix6dCgpLGEpfWZ1bmN0aW9uICR0KCl7cmV0dXJuIGZ1bmN0aW9uIEk3KGwsYyl7cmV0dXJuIGxbMTldLnF1ZXJpZXNbY10ucXVlcnlMaXN0fSh6dCgp''@;'; put 'put ''LEhmKCkpfWZ1bmN0aW9uIHIzKGwsYyxhKXtjb25zdCBkPW5ldyB5dig0PT0oNCZhKSk7WE0obCxjLGQsZC5kZXN0cm95KSxudWxsPT09Y1sxOV0mJihjWzE5XT1uZXcgQ3YpLGNbMTldLnF1ZXJpZXMucHVzaChuZXcgTXYoZCkpfWZ1bmN0aW9uIGkzKGwsYyxhKXtudWxsPT09bC5xdWVyaWVz''@;'; put 'put ''JiYobC5xdWVyaWVzPW5ldyBrdiksbC5xdWVyaWVzLnRyYWNrKG5ldyBqdihjLGEpKX1mdW5jdGlvbiBvMyhsLGMpe3JldHVybiBsLnF1ZXJpZXMuZ2V0QnlJbmRleChjKX1mdW5jdGlvbiBKbyhsLGMpe3JldHVybiBCcChsLGMpfWZ1bmN0aW9uIFZwKC4uLmwpe31jb25zdCBVcD1uZXcgT24o''@;'; put 'put ''IkFwcGxpY2F0aW9uIEluaXRpYWxpemVyIik7bGV0IFdwPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhpcy5hcHBJbml0cz1hLHRoaXMucmVzb2x2ZT1WcCx0aGlzLnJlamVjdD1WcCx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuZG9uZT0hMSx0aGlzLmRvbmVQcm9taXNlPW5ldyBQ''@;'; put 'put ''cm9taXNlKChkLGYpPT57dGhpcy5yZXNvbHZlPWQsdGhpcy5yZWplY3Q9Zn0pfXJ1bkluaXRpYWxpemVycygpe2lmKHRoaXMuaW5pdGlhbGl6ZWQpcmV0dXJuO2NvbnN0IGE9W10sZD0oKT0+e3RoaXMuZG9uZT0hMCx0aGlzLnJlc29sdmUoKX07aWYodGhpcy5hcHBJbml0cylmb3IobGV0IGY9''@;'; put 'put ''MDtmPHRoaXMuYXBwSW5pdHMubGVuZ3RoO2YrKyl7Y29uc3Qgdj10aGlzLmFwcEluaXRzW2ZdKCk7aWYoV2QodikpYS5wdXNoKHYpO2Vsc2UgaWYoYXYodikpe2NvbnN0IHg9bmV3IFByb21pc2UoKEgsSyk9Pnt2LnN1YnNjcmliZSh7Y29tcGxldGU6SCxlcnJvcjpLfSl9KTthLnB1c2goeCl9''@;'; put 'put ''fVByb21pc2UuYWxsKGEpLnRoZW4oKCk9PntkKCl9KS5jYXRjaChmPT57dGhpcy5yZWplY3QoZil9KSwwPT09YS5sZW5ndGgmJmQoKSx0aGlzLmluaXRpYWxpemVkPSEwfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShFdChVcCw4KSl9LGwuXHUwMjc1''@;'; put 'put ''cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjLHByb3ZpZGVkSW46InJvb3QifSksbH0pKCk7Y29uc3QgdGg9bmV3IE9uKCJBcHBJZCIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6ZnVuY3Rpb24gazMoKXtyZXR1cm5gJHtBdigpfSR7QXYoKX0ke0F2KCl9YH19KTtmdW5j''@;'; put 'put ''dGlvbiBBdigpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3K01hdGguZmxvb3IoMjUqTWF0aC5yYW5kb20oKSkpfWNvbnN0IGozPW5ldyBPbigiUGxhdGZvcm0gSW5pdGlhbGl6ZXIiKSxYcj1uZXcgT24oIlBsYXRmb3JtIElEIix7cHJvdmlkZWRJbjoicGxhdGZvcm0iLGZhY3Rvcnk6''@;'; put 'put ''KCk9PiJ1bmtub3duIn0pLFMzPW5ldyBPbigiYXBwQm9vdHN0cmFwTGlzdGVuZXIiKSxPMz1uZXcgT24oIkFuaW1hdGlvbk1vZHVsZVR5cGUiKTtsZXQgbjk9KCgpPT57Y2xhc3MgbHtsb2coYSl7Y29uc29sZS5sb2coYSl9d2FybihhKXtjb25zb2xlLndhcm4oYSl9fXJldHVybiBsLlx1MDI3''@;'; put 'put ''NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhYyxwcm92aWRlZEluOiJwbGF0Zm9ybSJ9KSxsfSkoKTtjb25zdCBVcz1uZXcgT24oIkxvY2FsZUlkIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeToo''@;'; put 'put ''KT0+c2koVXMsRW4uT3B0aW9uYWx8RW4uU2tpcFNlbGYpfHxmdW5jdGlvbiByOSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgJGxvY2FsaXplJiYkbG9jYWxpemUubG9jYWxlfHxhdX0oKX0pO2NsYXNzIG85e2NvbnN0cnVjdG9yKGMsYSl7dGhpcy5uZ01vZHVsZUZhY3Rvcnk9Yyx0aGlz''@;'; put 'put ''LmNvbXBvbmVudEZhY3Rvcmllcz1hfX1sZXQgRXY9KCgpPT57Y2xhc3MgbHtjb21waWxlTW9kdWxlU3luYyhhKXtyZXR1cm4gbmV3IGJ2KGEpfWNvbXBpbGVNb2R1bGVBc3luYyhhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY29tcGlsZU1vZHVsZVN5bmMoYSkpfWNvbXBpbGVNb2R1''@;'; put 'put ''bGVBbmRBbGxDb21wb25lbnRzU3luYyhhKXtjb25zdCBkPXRoaXMuY29tcGlsZU1vZHVsZVN5bmMoYSksdj1oYShlbyhhKS5kZWNsYXJhdGlvbnMpLnJlZHVjZSgoeCxIKT0+e2NvbnN0IEs9RHIoSCk7cmV0dXJuIEsmJngucHVzaChuZXcgSGQoSykpLHh9LFtdKTtyZXR1cm4gbmV3IG85KGQs''@;'; put 'put ''dil9Y29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYyhhKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKGEpKX1jbGVhckNhY2hlKCl7fWNsZWFyQ2FjaGVGb3IoYSl7fWdldE1vZHVsZUlkKGEpe319cmV0dXJuIGwu''@;'; put 'put ''XHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjLHByb3ZpZGVkSW46InJvb3QifSksbH0pKCk7Y29uc3QgbDk9KCgpPT5Qcm9taXNlLnJlc29sdmUoMCkpKCk7ZnVuY3Rpb24gVHYobCl7InVu''@;'; put 'put ''ZGVmaW5lZCI9PXR5cGVvZiBab25lP2w5LnRoZW4oKCk9PntsJiZsLmFwcGx5KG51bGwsbnVsbCl9KTpab25lLmN1cnJlbnQuc2NoZWR1bGVNaWNyb1Rhc2soInNjaGVkdWxlTWljcm90YXNrIixsKX1jbGFzcyBucntjb25zdHJ1Y3Rvcih7ZW5hYmxlTG9uZ1N0YWNrVHJhY2U6Yz0hMSxzaG91''@;'; put 'put ''bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uOmE9ITEsc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb246ZD0hMX0pe2lmKHRoaXMuaGFzUGVuZGluZ01hY3JvdGFza3M9ITEsdGhpcy5oYXNQZW5kaW5nTWljcm90YXNrcz0hMSx0aGlzLmlzU3RhYmxlPSEwLHRoaXMub25VbnN0''@;'; put 'put ''YWJsZT1uZXcgSHQoITEpLHRoaXMub25NaWNyb3Rhc2tFbXB0eT1uZXcgSHQoITEpLHRoaXMub25TdGFibGU9bmV3IEh0KCExKSx0aGlzLm9uRXJyb3I9bmV3IEh0KCExKSwidW5kZWZpbmVkIj09dHlwZW9mIFpvbmUpdGhyb3cgbmV3IEl0KDkwOCwhMSk7Wm9uZS5hc3NlcnRab25lUGF0Y2hl''@;'; put 'put ''ZCgpO2NvbnN0IGY9dGhpcztpZihmLl9uZXN0aW5nPTAsZi5fb3V0ZXI9Zi5faW5uZXI9Wm9uZS5jdXJyZW50LFpvbmUuQXN5bmNTdGFja1RhZ2dpbmdab25lU3BlYyl7Y29uc3Qgdj1ab25lLkFzeW5jU3RhY2tUYWdnaW5nWm9uZVNwZWM7Zi5faW5uZXI9Zi5faW5uZXIuZm9yayhuZXcgdigi''@;'; put 'put ''QW5ndWxhciIpKX1ab25lLlRhc2tUcmFja2luZ1pvbmVTcGVjJiYoZi5faW5uZXI9Zi5faW5uZXIuZm9yayhuZXcgWm9uZS5UYXNrVHJhY2tpbmdab25lU3BlYykpLGMmJlpvbmUubG9uZ1N0YWNrVHJhY2Vab25lU3BlYyYmKGYuX2lubmVyPWYuX2lubmVyLmZvcmsoWm9uZS5sb25nU3RhY2tU''@;'; put 'put ''cmFjZVpvbmVTcGVjKSksZi5zaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uPSFkJiZhLGYuc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb249ZCxmLmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZD0tMSxmLm5hdGl2ZVJlcXVlc3RBbmltYXRpb25GcmFtZT1mdW5jdGlv''@;'; put 'put ''biBjOSgpe2xldCBsPUxyLnJlcXVlc3RBbmltYXRpb25GcmFtZSxjPUxyLmNhbmNlbEFuaW1hdGlvbkZyYW1lO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgWm9uZSYmbCYmYyl7Y29uc3QgYT1sW1pvbmUuX19zeW1ib2xfXygiT3JpZ2luYWxEZWxlZ2F0ZSIpXTthJiYobD1hKTtjb25zdCBkPWNb''@;'; put 'put ''Wm9uZS5fX3N5bWJvbF9fKCJPcmlnaW5hbERlbGVnYXRlIildO2QmJihjPWQpfXJldHVybntuYXRpdmVSZXF1ZXN0QW5pbWF0aW9uRnJhbWU6bCxuYXRpdmVDYW5jZWxBbmltYXRpb25GcmFtZTpjfX0oKS5uYXRpdmVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUsZnVuY3Rpb24gaDkobCl7Y29uc3Qg''@;'; put 'put ''Yz0oKT0+eyFmdW5jdGlvbiBkOShsKXtsLmlzQ2hlY2tTdGFibGVSdW5uaW5nfHwtMSE9PWwubGFzdFJlcXVlc3RBbmltYXRpb25GcmFtZUlkfHwobC5sYXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQ9bC5uYXRpdmVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUuY2FsbChMciwoKT0+e2wuZmFrZVRv''@;'; put 'put ''cEV2ZW50VGFza3x8KGwuZmFrZVRvcEV2ZW50VGFzaz1ab25lLnJvb3Quc2NoZWR1bGVFdmVudFRhc2soImZha2VUb3BFdmVudFRhc2siLCgpPT57bC5sYXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQ9LTEsSXYobCksbC5pc0NoZWNrU3RhYmxlUnVubmluZz0hMCxMdihsKSxsLmlzQ2hlY2tT''@;'; put 'put ''dGFibGVSdW5uaW5nPSExfSx2b2lkIDAsKCk9Pnt9LCgpPT57fSkpLGwuZmFrZVRvcEV2ZW50VGFzay5pbnZva2UoKX0pLEl2KGwpKX0obCl9O2wuX2lubmVyPWwuX2lubmVyLmZvcmsoe25hbWU6ImFuZ3VsYXIiLHByb3BlcnRpZXM6e2lzQW5ndWxhclpvbmU6ITB9LG9uSW52b2tlVGFzazoo''@;'; put 'put ''YSxkLGYsdix4LEgpPT57dHJ5e3JldHVybiB4MyhsKSxhLmludm9rZVRhc2soZix2LHgsSCl9ZmluYWxseXsobC5zaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uJiYiZXZlbnRUYXNrIj09PXYudHlwZXx8bC5zaG91bGRDb2FsZXNjZVJ1bkNoYW5nZURldGVjdGlvbikmJmMoKSxB''@;'; put 'put ''MyhsKX19LG9uSW52b2tlOihhLGQsZix2LHgsSCxLKT0+e3RyeXtyZXR1cm4geDMobCksYS5pbnZva2UoZix2LHgsSCxLKX1maW5hbGx5e2wuc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb24mJmMoKSxBMyhsKX19LG9uSGFzVGFzazooYSxkLGYsdik9PnthLmhhc1Rhc2soZix2KSxk''@;'; put 'put ''PT09ZiYmKCJtaWNyb1Rhc2siPT12LmNoYW5nZT8obC5faGFzUGVuZGluZ01pY3JvdGFza3M9di5taWNyb1Rhc2ssSXYobCksTHYobCkpOiJtYWNyb1Rhc2siPT12LmNoYW5nZSYmKGwuaGFzUGVuZGluZ01hY3JvdGFza3M9di5tYWNyb1Rhc2spKX0sb25IYW5kbGVFcnJvcjooYSxkLGYsdik9''@;'; put 'put ''PihhLmhhbmRsZUVycm9yKGYsdiksbC5ydW5PdXRzaWRlQW5ndWxhcigoKT0+bC5vbkVycm9yLmVtaXQodikpLCExKX0pfShmKX1zdGF0aWMgaXNJbkFuZ3VsYXJab25lKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBab25lJiYhMD09PVpvbmUuY3VycmVudC5nZXQoImlzQW5ndWxhclpv''@;'; put 'put ''bmUiKX1zdGF0aWMgYXNzZXJ0SW5Bbmd1bGFyWm9uZSgpe2lmKCFuci5pc0luQW5ndWxhclpvbmUoKSl0aHJvdyBuZXcgSXQoOTA5LCExKX1zdGF0aWMgYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpe2lmKG5yLmlzSW5Bbmd1bGFyWm9uZSgpKXRocm93IG5ldyBJdCg5MDksITEpfXJ1bihjLGEs''@;'; put 'put ''ZCl7cmV0dXJuIHRoaXMuX2lubmVyLnJ1bihjLGEsZCl9cnVuVGFzayhjLGEsZCxmKXtjb25zdCB2PXRoaXMuX2lubmVyLHg9di5zY2hlZHVsZUV2ZW50VGFzaygiTmdab25lRXZlbnQ6ICIrZixjLHU5LFZwLFZwKTt0cnl7cmV0dXJuIHYucnVuVGFzayh4LGEsZCl9ZmluYWxseXt2LmNhbmNl''@;'; put 'put ''bFRhc2soeCl9fXJ1bkd1YXJkZWQoYyxhLGQpe3JldHVybiB0aGlzLl9pbm5lci5ydW5HdWFyZGVkKGMsYSxkKX1ydW5PdXRzaWRlQW5ndWxhcihjKXtyZXR1cm4gdGhpcy5fb3V0ZXIucnVuKGMpfX1jb25zdCB1OT17fTtmdW5jdGlvbiBMdihsKXtpZigwPT1sLl9uZXN0aW5nJiYhbC5oYXNQ''@;'; put 'put ''ZW5kaW5nTWljcm90YXNrcyYmIWwuaXNTdGFibGUpdHJ5e2wuX25lc3RpbmcrKyxsLm9uTWljcm90YXNrRW1wdHkuZW1pdChudWxsKX1maW5hbGx5e2lmKGwuX25lc3RpbmctLSwhbC5oYXNQZW5kaW5nTWljcm90YXNrcyl0cnl7bC5ydW5PdXRzaWRlQW5ndWxhcigoKT0+bC5vblN0YWJsZS5l''@;'; put 'put ''bWl0KG51bGwpKX1maW5hbGx5e2wuaXNTdGFibGU9ITB9fX1mdW5jdGlvbiBJdihsKXtsLmhhc1BlbmRpbmdNaWNyb3Rhc2tzPSEhKGwuX2hhc1BlbmRpbmdNaWNyb3Rhc2tzfHwobC5zaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9ufHxsLnNob3VsZENvYWxlc2NlUnVuQ2hhbmdl''@;'; put 'put ''RGV0ZWN0aW9uKSYmLTEhPT1sLmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZCl9ZnVuY3Rpb24geDMobCl7bC5fbmVzdGluZysrLGwuaXNTdGFibGUmJihsLmlzU3RhYmxlPSExLGwub25VbnN0YWJsZS5lbWl0KG51bGwpKX1mdW5jdGlvbiBBMyhsKXtsLl9uZXN0aW5nLS0sTHYobCl9Y2xh''@;'; put 'put ''c3MgZjl7Y29uc3RydWN0b3IoKXt0aGlzLmhhc1BlbmRpbmdNaWNyb3Rhc2tzPSExLHRoaXMuaGFzUGVuZGluZ01hY3JvdGFza3M9ITEsdGhpcy5pc1N0YWJsZT0hMCx0aGlzLm9uVW5zdGFibGU9bmV3IEh0LHRoaXMub25NaWNyb3Rhc2tFbXB0eT1uZXcgSHQsdGhpcy5vblN0YWJsZT1uZXcg''@;'; put 'put ''SHQsdGhpcy5vbkVycm9yPW5ldyBIdH1ydW4oYyxhLGQpe3JldHVybiBjLmFwcGx5KGEsZCl9cnVuR3VhcmRlZChjLGEsZCl7cmV0dXJuIGMuYXBwbHkoYSxkKX1ydW5PdXRzaWRlQW5ndWxhcihjKXtyZXR1cm4gYygpfXJ1blRhc2soYyxhLGQsZil7cmV0dXJuIGMuYXBwbHkoYSxkKX19Y29u''@;'; put 'put ''c3QgRTM9bmV3IE9uKCIiKSxxcD1uZXcgT24oIiIpO2xldCBuaCxGdj0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmKXt0aGlzLl9uZ1pvbmU9YSx0aGlzLnJlZ2lzdHJ5PWQsdGhpcy5fcGVuZGluZ0NvdW50PTAsdGhpcy5faXNab25lU3RhYmxlPSEwLHRoaXMuX2RpZFdvcms9ITEs''@;'; put 'put ''dGhpcy5fY2FsbGJhY2tzPVtdLHRoaXMudGFza1RyYWNraW5nWm9uZT1udWxsLG5ofHwoZnVuY3Rpb24gcDkobCl7bmg9bH0oZiksZi5hZGRUb1dpbmRvdyhkKSksdGhpcy5fd2F0Y2hBbmd1bGFyRXZlbnRzKCksYS5ydW4oKCk9Pnt0aGlzLnRhc2tUcmFja2luZ1pvbmU9InVuZGVmaW5lZCI9''@;'; put 'put ''PXR5cGVvZiBab25lP251bGw6Wm9uZS5jdXJyZW50LmdldCgiVGFza1RyYWNraW5nWm9uZSIpfSl9X3dhdGNoQW5ndWxhckV2ZW50cygpe3RoaXMuX25nWm9uZS5vblVuc3RhYmxlLnN1YnNjcmliZSh7bmV4dDooKT0+e3RoaXMuX2RpZFdvcms9ITAsdGhpcy5faXNab25lU3RhYmxlPSExfX0p''@;'; put 'put ''LHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKT0+e3RoaXMuX25nWm9uZS5vblN0YWJsZS5zdWJzY3JpYmUoe25leHQ6KCk9Pntuci5hc3NlcnROb3RJbkFuZ3VsYXJab25lKCksVHYoKCk9Pnt0aGlzLl9pc1pvbmVTdGFibGU9ITAsdGhpcy5fcnVuQ2FsbGJhY2tzSWZSZWFkeSgp''@;'; put 'put ''fSl9fSl9KX1pbmNyZWFzZVBlbmRpbmdSZXF1ZXN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcGVuZGluZ0NvdW50Kz0xLHRoaXMuX2RpZFdvcms9ITAsdGhpcy5fcGVuZGluZ0NvdW50fWRlY3JlYXNlUGVuZGluZ1JlcXVlc3RDb3VudCgpe2lmKHRoaXMuX3BlbmRpbmdDb3VudC09MSx0aGlzLl9w''@;'; put 'put ''ZW5kaW5nQ291bnQ8MCl0aHJvdyBuZXcgRXJyb3IoInBlbmRpbmcgYXN5bmMgcmVxdWVzdHMgYmVsb3cgemVybyIpO3JldHVybiB0aGlzLl9ydW5DYWxsYmFja3NJZlJlYWR5KCksdGhpcy5fcGVuZGluZ0NvdW50fWlzU3RhYmxlKCl7cmV0dXJuIHRoaXMuX2lzWm9uZVN0YWJsZSYmMD09PXRo''@;'; put 'put ''aXMuX3BlbmRpbmdDb3VudCYmIXRoaXMuX25nWm9uZS5oYXNQZW5kaW5nTWFjcm90YXNrc31fcnVuQ2FsbGJhY2tzSWZSZWFkeSgpe2lmKHRoaXMuaXNTdGFibGUoKSlUdigoKT0+e2Zvcig7MCE9PXRoaXMuX2NhbGxiYWNrcy5sZW5ndGg7KXtsZXQgYT10aGlzLl9jYWxsYmFja3MucG9wKCk7''@;'; put 'put ''Y2xlYXJUaW1lb3V0KGEudGltZW91dElkKSxhLmRvbmVDYih0aGlzLl9kaWRXb3JrKX10aGlzLl9kaWRXb3JrPSExfSk7ZWxzZXtsZXQgYT10aGlzLmdldFBlbmRpbmdUYXNrcygpO3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3MuZmlsdGVyKGQ9PiFkLnVwZGF0ZUNifHwhZC51cGRh''@;'; put 'put ''dGVDYihhKXx8KGNsZWFyVGltZW91dChkLnRpbWVvdXRJZCksITEpKSx0aGlzLl9kaWRXb3JrPSEwfX1nZXRQZW5kaW5nVGFza3MoKXtyZXR1cm4gdGhpcy50YXNrVHJhY2tpbmdab25lP3RoaXMudGFza1RyYWNraW5nWm9uZS5tYWNyb1Rhc2tzLm1hcChhPT4oe3NvdXJjZTphLnNvdXJjZSxj''@;'; put 'put ''cmVhdGlvbkxvY2F0aW9uOmEuY3JlYXRpb25Mb2NhdGlvbixkYXRhOmEuZGF0YX0pKTpbXX1hZGRDYWxsYmFjayhhLGQsZil7bGV0IHY9LTE7ZCYmZD4wJiYodj1zZXRUaW1lb3V0KCgpPT57dGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrcy5maWx0ZXIoeD0+eC50aW1lb3V0SWQhPT12''@;'; put 'put ''KSxhKHRoaXMuX2RpZFdvcmssdGhpcy5nZXRQZW5kaW5nVGFza3MoKSl9LGQpKSx0aGlzLl9jYWxsYmFja3MucHVzaCh7ZG9uZUNiOmEsdGltZW91dElkOnYsdXBkYXRlQ2I6Zn0pfXdoZW5TdGFibGUoYSxkLGYpe2lmKGYmJiF0aGlzLnRhc2tUcmFja2luZ1pvbmUpdGhyb3cgbmV3IEVycm9y''@;'; put 'put ''KCdUYXNrIHRyYWNraW5nIHpvbmUgaXMgcmVxdWlyZWQgd2hlbiBwYXNzaW5nIGFuIHVwZGF0ZSBjYWxsYmFjayB0byB3aGVuU3RhYmxlKCkuIElzICJ6b25lLmpzL3BsdWdpbnMvdGFzay10cmFja2luZyIgbG9hZGVkPycpO3RoaXMuYWRkQ2FsbGJhY2soYSxkLGYpLHRoaXMuX3J1bkNhbGxi''@;'; put 'put ''YWNrc0lmUmVhZHkoKX1nZXRQZW5kaW5nUmVxdWVzdENvdW50KCl7cmV0dXJuIHRoaXMuX3BlbmRpbmdDb3VudH1yZWdpc3RlckFwcGxpY2F0aW9uKGEpe3RoaXMucmVnaXN0cnkucmVnaXN0ZXJBcHBsaWNhdGlvbihhLHRoaXMpfXVucmVnaXN0ZXJBcHBsaWNhdGlvbihhKXt0aGlzLnJlZ2lz''@;'; put 'put ''dHJ5LnVucmVnaXN0ZXJBcHBsaWNhdGlvbihhKX1maW5kUHJvdmlkZXJzKGEsZCxmKXtyZXR1cm5bXX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQobnIpLEV0KFJ2KSxFdChxcCkpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTps''@;'; put 'put ''Llx1MDI3NWZhY30pLGx9KSgpLFJ2PSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9hcHBsaWNhdGlvbnM9bmV3IE1hcH1yZWdpc3RlckFwcGxpY2F0aW9uKGEsZCl7dGhpcy5fYXBwbGljYXRpb25zLnNldChhLGQpfXVucmVnaXN0ZXJBcHBsaWNhdGlvbihhKXt0aGlzLl9hcHBs''@;'; put 'put ''aWNhdGlvbnMuZGVsZXRlKGEpfXVucmVnaXN0ZXJBbGxBcHBsaWNhdGlvbnMoKXt0aGlzLl9hcHBsaWNhdGlvbnMuY2xlYXIoKX1nZXRUZXN0YWJpbGl0eShhKXtyZXR1cm4gdGhpcy5fYXBwbGljYXRpb25zLmdldChhKXx8bnVsbH1nZXRBbGxUZXN0YWJpbGl0aWVzKCl7cmV0dXJuIEFycmF5''@;'; put 'put ''LmZyb20odGhpcy5fYXBwbGljYXRpb25zLnZhbHVlcygpKX1nZXRBbGxSb290RWxlbWVudHMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9hcHBsaWNhdGlvbnMua2V5cygpKX1maW5kVGVzdGFiaWxpdHlJblRyZWUoYSxkPSEwKXt2YXIgZjtyZXR1cm4gbnVsbCE9PShmPW51bGw9PW5oP3Zv''@;'; put 'put ''aWQgMDpuaC5maW5kVGVzdGFiaWxpdHlJblRyZWUodGhpcyxhLGQpKSYmdm9pZCAwIT09Zj9mOm51bGx9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhYyxwcm92aWRlZElu''@;'; put 'put ''OiJwbGF0Zm9ybSJ9KSxsfSkoKSxXcz1udWxsO2NvbnN0IFQzPW5ldyBPbigiQWxsb3dNdWx0aXBsZVRva2VuIiksTnY9bmV3IE9uKCJQbGF0Zm9ybURlc3Ryb3lMaXN0ZW5lcnMiKTtjbGFzcyBMM3tjb25zdHJ1Y3RvcihjLGEpe3RoaXMubmFtZT1jLHRoaXMudG9rZW49YX19ZnVuY3Rpb24g''@;'; put 'put ''RjMobCxjLGE9W10pe2NvbnN0IGQ9YFBsYXRmb3JtOiAke2N9YCxmPW5ldyBPbihkKTtyZXR1cm4odj1bXSk9PntsZXQgeD1ZdigpO2lmKCF4fHx4LmluamVjdG9yLmdldChUMywhMSkpe2NvbnN0IEg9Wy4uLmEsLi4udix7cHJvdmlkZTpmLHVzZVZhbHVlOiEwfV07bD9sKEgpOmZ1bmN0aW9u''@;'; put 'put ''IGI5KGwpe2lmKFdzJiYhV3MuZ2V0KFQzLCExKSl0aHJvdyBuZXcgSXQoNDAwLCExKTtXcz1sO2NvbnN0IGM9bC5nZXQoTjMpOyhmdW5jdGlvbiBJMyhsKXtjb25zdCBjPWwuZ2V0KGozLG51bGwpO2MmJmMuZm9yRWFjaChhPT5hKCkpfSkobCl9KGZ1bmN0aW9uIFIzKGw9W10sYyl7cmV0dXJu''@;'; put 'put ''IFZyLmNyZWF0ZSh7bmFtZTpjLHByb3ZpZGVyczpbe3Byb3ZpZGU6b2IsdXNlVmFsdWU6InBsYXRmb3JtIn0se3Byb3ZpZGU6TnYsdXNlVmFsdWU6bmV3IFNldChbKCk9PldzPW51bGxdKX0sLi4ubF19KX0oSCxkKSl9cmV0dXJuIGZ1bmN0aW9uIF85KGwpe2NvbnN0IGM9WXYoKTtpZighYyl0''@;'; put 'put ''aHJvdyBuZXcgSXQoNDAxLCExKTtyZXR1cm4gY30oKX19ZnVuY3Rpb24gWXYoKXt2YXIgbDtyZXR1cm4gbnVsbCE9PShsPW51bGw9PVdzP3ZvaWQgMDpXcy5nZXQoTjMpKSYmdm9pZCAwIT09bD9sOm51bGx9bGV0IE4zPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhpcy5faW5qZWN0''@;'; put 'put ''b3I9YSx0aGlzLl9tb2R1bGVzPVtdLHRoaXMuX2Rlc3Ryb3lMaXN0ZW5lcnM9W10sdGhpcy5fZGVzdHJveWVkPSExfWJvb3RzdHJhcE1vZHVsZUZhY3RvcnkoYSxkKXtjb25zdCBmPWZ1bmN0aW9uIHk5KGwsYyl7bGV0IGE7cmV0dXJuIGE9Im5vb3AiPT09bD9uZXcgZjk6KCJ6b25lLmpzIj09''@;'; put 'put ''PWw/dm9pZCAwOmwpfHxuZXcgbnIoYyksYX0obnVsbD09ZD92b2lkIDA6ZC5uZ1pvbmUsZnVuY3Rpb24gWTMobCl7cmV0dXJue2VuYWJsZUxvbmdTdGFja1RyYWNlOiExLHNob3VsZENvYWxlc2NlRXZlbnRDaGFuZ2VEZXRlY3Rpb246ISghbHx8IWwubmdab25lRXZlbnRDb2FsZXNjaW5nKXx8''@;'; put 'put ''ITEsc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb246ISghbHx8IWwubmdab25lUnVuQ29hbGVzY2luZyl8fCExfX0oZCkpLHY9W3twcm92aWRlOm5yLHVzZVZhbHVlOmZ9XTtyZXR1cm4gZi5ydW4oKCk9Pntjb25zdCB4PVZyLmNyZWF0ZSh7cHJvdmlkZXJzOnYscGFyZW50OnRoaXMu''@;'; put 'put ''aW5qZWN0b3IsbmFtZTphLm1vZHVsZVR5cGUubmFtZX0pLEg9YS5jcmVhdGUoeCksSz1ILmluamVjdG9yLmdldChVYyxudWxsKTtpZighSyl0aHJvdyBuZXcgSXQoNDAyLCExKTtyZXR1cm4gZi5ydW5PdXRzaWRlQW5ndWxhcigoKT0+e2NvbnN0IGVlPWYub25FcnJvci5zdWJzY3JpYmUoe25l''@;'; put 'put ''eHQ6ZmU9PntLLmhhbmRsZUVycm9yKGZlKX19KTtILm9uRGVzdHJveSgoKT0+e0dwKHRoaXMuX21vZHVsZXMsSCksZWUudW5zdWJzY3JpYmUoKX0pfSksZnVuY3Rpb24gejMobCxjLGEpe3RyeXtjb25zdCBkPWEoKTtyZXR1cm4gV2QoZCk/ZC5jYXRjaChmPT57dGhyb3cgYy5ydW5PdXRzaWRl''@;'; put 'put ''QW5ndWxhcigoKT0+bC5oYW5kbGVFcnJvcihmKSksZn0pOmR9Y2F0Y2goZCl7dGhyb3cgYy5ydW5PdXRzaWRlQW5ndWxhcigoKT0+bC5oYW5kbGVFcnJvcihkKSksZH19KEssZiwoKT0+e2NvbnN0IGVlPUguaW5qZWN0b3IuZ2V0KFdwKTtyZXR1cm4gZWUucnVuSW5pdGlhbGl6ZXJzKCksZWUu''@;'; put 'put ''ZG9uZVByb21pc2UudGhlbigoKT0+KGZ1bmN0aW9uIHBrKGwpe1FpKGwsIkV4cGVjdGVkIGxvY2FsZUlkIHRvIGJlIGRlZmluZWQiKSwic3RyaW5nIj09dHlwZW9mIGwmJihmaz1sLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXy9nLCItIikpfShILmluamVjdG9yLmdldChVcyxhdSl8fGF1KSx0''@;'; put 'put ''aGlzLl9tb2R1bGVEb0Jvb3RzdHJhcChIKSxIKSl9KX0pfWJvb3RzdHJhcE1vZHVsZShhLGQ9W10pe2NvbnN0IGY9QjMoe30sZCk7cmV0dXJuIGZ1bmN0aW9uIGc5KGwsYyxhKXtjb25zdCBkPW5ldyBidihhKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGQpfSgwLDAsYSkudGhlbih2PT50aGlz''@;'; put 'put ''LmJvb3RzdHJhcE1vZHVsZUZhY3RvcnkodixmKSl9X21vZHVsZURvQm9vdHN0cmFwKGEpe2NvbnN0IGQ9YS5pbmplY3Rvci5nZXQocmgpO2lmKGEuX2Jvb3RzdHJhcENvbXBvbmVudHMubGVuZ3RoPjApYS5fYm9vdHN0cmFwQ29tcG9uZW50cy5mb3JFYWNoKGY9PmQuYm9vdHN0cmFwKGYpKTtl''@;'; put 'put ''bHNle2lmKCFhLmluc3RhbmNlLm5nRG9Cb290c3RyYXApdGhyb3cgbmV3IEl0KDQwMywhMSk7YS5pbnN0YW5jZS5uZ0RvQm9vdHN0cmFwKGQpfXRoaXMuX21vZHVsZXMucHVzaChhKX1vbkRlc3Ryb3koYSl7dGhpcy5fZGVzdHJveUxpc3RlbmVycy5wdXNoKGEpfWdldCBpbmplY3Rvcigpe3Jl''@;'; put 'put ''dHVybiB0aGlzLl9pbmplY3Rvcn1kZXN0cm95KCl7aWYodGhpcy5fZGVzdHJveWVkKXRocm93IG5ldyBJdCg0MDQsITEpO3RoaXMuX21vZHVsZXMuc2xpY2UoKS5mb3JFYWNoKGQ9PmQuZGVzdHJveSgpKSx0aGlzLl9kZXN0cm95TGlzdGVuZXJzLmZvckVhY2goZD0+ZCgpKTtjb25zdCBhPXRo''@;'; put 'put ''aXMuX2luamVjdG9yLmdldChOdixudWxsKTthJiYoYS5mb3JFYWNoKGQ9PmQoKSksYS5jbGVhcigpKSx0aGlzLl9kZXN0cm95ZWQ9ITB9Z2V0IGRlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9kZXN0cm95ZWR9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwp''@;'; put 'put ''KEV0KFZyKSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjLHByb3ZpZGVkSW46InBsYXRmb3JtIn0pLGx9KSgpO2Z1bmN0aW9uIEIzKGwsYyl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYyk/Yy5yZWR1Y2UoQjMsbCk6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNz''@;'; put 'put ''aWduKHt9LGwpLGMpfWxldCByaD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmKXt0aGlzLl96b25lPWEsdGhpcy5faW5qZWN0b3I9ZCx0aGlzLl9leGNlcHRpb25IYW5kbGVyPWYsdGhpcy5fYm9vdHN0cmFwTGlzdGVuZXJzPVtdLHRoaXMuX3ZpZXdzPVtdLHRoaXMuX3J1bm5pbmdU''@;'; put 'put ''aWNrPSExLHRoaXMuX3N0YWJsZT0hMCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZGVzdHJveUxpc3RlbmVycz1bXSx0aGlzLmNvbXBvbmVudFR5cGVzPVtdLHRoaXMuY29tcG9uZW50cz1bXSx0aGlzLl9vbk1pY3JvdGFza0VtcHR5U3Vic2NyaXB0aW9uPXRoaXMuX3pvbmUub25NaWNyb3Rh''@;'; put 'put ''c2tFbXB0eS5zdWJzY3JpYmUoe25leHQ6KCk9Pnt0aGlzLl96b25lLnJ1bigoKT0+e3RoaXMudGljaygpfSl9fSk7Y29uc3Qgdj1uZXcgYihIPT57dGhpcy5fc3RhYmxlPXRoaXMuX3pvbmUuaXNTdGFibGUmJiF0aGlzLl96b25lLmhhc1BlbmRpbmdNYWNyb3Rhc2tzJiYhdGhpcy5fem9uZS5o''@;'; put 'put ''YXNQZW5kaW5nTWljcm90YXNrcyx0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpPT57SC5uZXh0KHRoaXMuX3N0YWJsZSksSC5jb21wbGV0ZSgpfSl9KSx4PW5ldyBiKEg9PntsZXQgSzt0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpPT57Sz10aGlzLl96b25lLm9uU3RhYmxl''@;'; put 'put ''LnN1YnNjcmliZSgoKT0+e25yLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKSxUdigoKT0+eyF0aGlzLl9zdGFibGUmJiF0aGlzLl96b25lLmhhc1BlbmRpbmdNYWNyb3Rhc2tzJiYhdGhpcy5fem9uZS5oYXNQZW5kaW5nTWljcm90YXNrcyYmKHRoaXMuX3N0YWJsZT0hMCxILm5leHQoITApKX0p''@;'; put 'put ''fSl9KTtjb25zdCBlZT10aGlzLl96b25lLm9uVW5zdGFibGUuc3Vic2NyaWJlKCgpPT57bnIuYXNzZXJ0SW5Bbmd1bGFyWm9uZSgpLHRoaXMuX3N0YWJsZSYmKHRoaXMuX3N0YWJsZT0hMSx0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpPT57SC5uZXh0KCExKX0pKX0pO3JldHVybigp''@;'; put 'put ''PT57Sy51bnN1YnNjcmliZSgpLGVlLnVuc3Vic2NyaWJlKCl9fSk7dGhpcy5pc1N0YWJsZT1mdW5jdGlvbiBRbiguLi5sKXtjb25zdCBjPVdlKGwpLGE9ZnVuY3Rpb24gSmUobCxjKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGl0KGwpP2wucG9wKCk6Y30obCwxLzApLGQ9bDtyZXR1cm4gZC5s''@;'; put 'put ''ZW5ndGg/MT09PWQubGVuZ3RoP2F0KGRbMF0pOlp0KGEpKG5uKGQsYykpOlhlfSh2LHgucGlwZShmdW5jdGlvbiBabihsPXt9KXtjb25zdHtjb25uZWN0b3I6Yz0oKCk9Pm5ldyBFKSxyZXNldE9uRXJyb3I6YT0hMCxyZXNldE9uQ29tcGxldGU6ZD0hMCxyZXNldE9uUmVmQ291bnRaZXJvOmY9''@;'; put 'put ''ITB9PWw7cmV0dXJuIHY9PntsZXQgeCxILEssZWU9MCxmZT0hMSx5ZT0hMTtjb25zdCBqZT0oKT0+e251bGw9PUh8fEgudW5zdWJzY3JpYmUoKSxIPXZvaWQgMH0sSWU9KCk9PntqZSgpLHg9Sz12b2lkIDAsZmU9eWU9ITF9LHFlPSgpPT57Y29uc3Qgc3Q9eDtJZSgpLG51bGw9PXN0fHxzdC51''@;'; put 'put ''bnN1YnNjcmliZSgpfTtyZXR1cm4gWCgoc3Qsa3QpPT57ZWUrKywheWUmJiFmZSYmamUoKTtjb25zdCBBdD1LPW51bGwhPUs/SzpjKCk7a3QuYWRkKCgpPT57ZWUtLSwwPT09ZWUmJiF5ZSYmIWZlJiYoSD1scihxZSxmKSl9KSxBdC5zdWJzY3JpYmUoa3QpLCF4JiZlZT4wJiYoeD1uZXcgVSh7''@;'; put 'put ''bmV4dDpKdD0+QXQubmV4dChKdCksZXJyb3I6SnQ9Pnt5ZT0hMCxqZSgpLEg9bHIoSWUsYSxKdCksQXQuZXJyb3IoSnQpfSxjb21wbGV0ZTooKT0+e2ZlPSEwLGplKCksSD1scihJZSxkKSxBdC5jb21wbGV0ZSgpfX0pLGF0KHN0KS5zdWJzY3JpYmUoeCkpfSkodil9fSgpKSl9Z2V0IGRlc3Ry''@;'; put 'put ''b3llZCgpe3JldHVybiB0aGlzLl9kZXN0cm95ZWR9Z2V0IGluamVjdG9yKCl7cmV0dXJuIHRoaXMuX2luamVjdG9yfWJvb3RzdHJhcChhLGQpe2NvbnN0IGY9YSBpbnN0YW5jZW9mIEJ3O2lmKCF0aGlzLl9pbmplY3Rvci5nZXQoV3ApLmRvbmUpdGhyb3chZiYmZnVuY3Rpb24gaHUobCl7Y29u''@;'; put 'put ''c3QgYz1EcihsKXx8U2kobCl8fF9pKGwpO3JldHVybiBudWxsIT09YyYmYy5zdGFuZGFsb25lfShhKSxuZXcgSXQoNDA1LGZhbHNlKTtsZXQgeDt4PWY/YTp0aGlzLl9pbmplY3Rvci5nZXQoJGEpLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGEpLHRoaXMuY29tcG9uZW50VHlwZXMucHVzaCh4''@;'; put 'put ''LmNvbXBvbmVudFR5cGUpO2NvbnN0IEg9ZnVuY3Rpb24gbTkobCl7cmV0dXJuIGwuaXNCb3VuZFRvTW9kdWxlfSh4KT92b2lkIDA6dGhpcy5faW5qZWN0b3IuZ2V0KEZsKSxlZT14LmNyZWF0ZShWci5OVUxMLFtdLGR8fHguc2VsZWN0b3IsSCksZmU9ZWUubG9jYXRpb24ubmF0aXZlRWxlbWVu''@;'; put 'put ''dCx5ZT1lZS5pbmplY3Rvci5nZXQoRTMsbnVsbCk7cmV0dXJuIG51bGw9PXllfHx5ZS5yZWdpc3RlckFwcGxpY2F0aW9uKGZlKSxlZS5vbkRlc3Ryb3koKCk9Pnt0aGlzLmRldGFjaFZpZXcoZWUuaG9zdFZpZXcpLEdwKHRoaXMuY29tcG9uZW50cyxlZSksbnVsbD09eWV8fHllLnVucmVnaXN0''@;'; put 'put ''ZXJBcHBsaWNhdGlvbihmZSl9KSx0aGlzLl9sb2FkQ29tcG9uZW50KGVlKSxlZX10aWNrKCl7aWYodGhpcy5fcnVubmluZ1RpY2spdGhyb3cgbmV3IEl0KDEwMSwhMSk7dHJ5e3RoaXMuX3J1bm5pbmdUaWNrPSEwO2ZvcihsZXQgYSBvZiB0aGlzLl92aWV3cylhLmRldGVjdENoYW5nZXMoKX1j''@;'; put 'put ''YXRjaChhKXt0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpPT50aGlzLl9leGNlcHRpb25IYW5kbGVyLmhhbmRsZUVycm9yKGEpKX1maW5hbGx5e3RoaXMuX3J1bm5pbmdUaWNrPSExfX1hdHRhY2hWaWV3KGEpe2NvbnN0IGQ9YTt0aGlzLl92aWV3cy5wdXNoKGQpLGQuYXR0YWNoVG9B''@;'; put 'put ''cHBSZWYodGhpcyl9ZGV0YWNoVmlldyhhKXtjb25zdCBkPWE7R3AodGhpcy5fdmlld3MsZCksZC5kZXRhY2hGcm9tQXBwUmVmKCl9X2xvYWRDb21wb25lbnQoYSl7dGhpcy5hdHRhY2hWaWV3KGEuaG9zdFZpZXcpLHRoaXMudGljaygpLHRoaXMuY29tcG9uZW50cy5wdXNoKGEpLHRoaXMuX2lu''@;'; put 'put ''amVjdG9yLmdldChTMyxbXSkuY29uY2F0KHRoaXMuX2Jvb3RzdHJhcExpc3RlbmVycykuZm9yRWFjaChmPT5mKGEpKX1uZ09uRGVzdHJveSgpe2lmKCF0aGlzLl9kZXN0cm95ZWQpdHJ5e3RoaXMuX2Rlc3Ryb3lMaXN0ZW5lcnMuZm9yRWFjaChhPT5hKCkpLHRoaXMuX3ZpZXdzLnNsaWNlKCku''@;'; put 'put ''Zm9yRWFjaChhPT5hLmRlc3Ryb3koKSksdGhpcy5fb25NaWNyb3Rhc2tFbXB0eVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfWZpbmFsbHl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3ZpZXdzPVtdLHRoaXMuX2Jvb3RzdHJhcExpc3RlbmVycz1bXSx0aGlzLl9kZXN0cm95TGlzdGVuZXJz''@;'; put 'put ''PVtdfX1vbkRlc3Ryb3koYSl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3lMaXN0ZW5lcnMucHVzaChhKSwoKT0+R3AodGhpcy5fZGVzdHJveUxpc3RlbmVycyxhKX1kZXN0cm95KCl7aWYodGhpcy5fZGVzdHJveWVkKXRocm93IG5ldyBJdCg0MDYsITEpO2NvbnN0IGE9dGhpcy5faW5qZWN0b3I7YS5k''@;'; put 'put ''ZXN0cm95JiYhYS5kZXN0cm95ZWQmJmEuZGVzdHJveSgpfWdldCB2aWV3Q291bnQoKXtyZXR1cm4gdGhpcy5fdmlld3MubGVuZ3RofXdhcm5JZkRlc3Ryb3llZCgpe319cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQobnIpLEV0KFFhKSxFdChVYykp''@;'; put 'put ''fSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhYyxwcm92aWRlZEluOiJyb290In0pLGx9KSgpO2Z1bmN0aW9uIEdwKGwsYyl7Y29uc3QgYT1sLmluZGV4T2YoYyk7YT4tMSYmbC5zcGxpY2UoYSwxKX1sZXQgVjM9ITAseGk9KCgpPT57Y2xhc3MgbHt9cmV0dXJu''@;'; put 'put ''IGwuX19OR19FTEVNRU5UX0lEX189QzksbH0pKCk7ZnVuY3Rpb24gQzkobCl7cmV0dXJuIGZ1bmN0aW9uIGs5KGwsYyxhKXtpZihfYyhsKSYmIWEpe2NvbnN0IGQ9TmkobC5pbmRleCxjKTtyZXR1cm4gbmV3IEJkKGQsZCl9cmV0dXJuIDQ3JmwudHlwZT9uZXcgQmQoY1sxNl0sYyk6bnVsbH0o''@;'; put 'put ''b2koKSx6dCgpLDE2PT0oMTYmbCkpfWNsYXNzIFoze2NvbnN0cnVjdG9yKCl7fXN1cHBvcnRzKGMpe3JldHVybiBWZChjKX1jcmVhdGUoYyl7cmV0dXJuIG5ldyB4OShjKX19Y29uc3QgRDk9KGwsYyk9PmM7Y2xhc3MgeDl7Y29uc3RydWN0b3IoYyl7dGhpcy5sZW5ndGg9MCx0aGlzLl9saW5r''@;'; put 'put ''ZWRSZWNvcmRzPW51bGwsdGhpcy5fdW5saW5rZWRSZWNvcmRzPW51bGwsdGhpcy5fcHJldmlvdXNJdEhlYWQ9bnVsbCx0aGlzLl9pdEhlYWQ9bnVsbCx0aGlzLl9pdFRhaWw9bnVsbCx0aGlzLl9hZGRpdGlvbnNIZWFkPW51bGwsdGhpcy5fYWRkaXRpb25zVGFpbD1udWxsLHRoaXMuX21vdmVz''@;'; put 'put ''SGVhZD1udWxsLHRoaXMuX21vdmVzVGFpbD1udWxsLHRoaXMuX3JlbW92YWxzSGVhZD1udWxsLHRoaXMuX3JlbW92YWxzVGFpbD1udWxsLHRoaXMuX2lkZW50aXR5Q2hhbmdlc0hlYWQ9bnVsbCx0aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsPW51bGwsdGhpcy5fdHJhY2tCeUZuPWN8fEQ5fWZv''@;'; put 'put ''ckVhY2hJdGVtKGMpe2xldCBhO2ZvcihhPXRoaXMuX2l0SGVhZDtudWxsIT09YTthPWEuX25leHQpYyhhKX1mb3JFYWNoT3BlcmF0aW9uKGMpe2xldCBhPXRoaXMuX2l0SGVhZCxkPXRoaXMuX3JlbW92YWxzSGVhZCxmPTAsdj1udWxsO2Zvcig7YXx8ZDspe2NvbnN0IHg9IWR8fGEmJmEuY3Vy''@;'; put 'put ''cmVudEluZGV4PEszKGQsZix2KT9hOmQsSD1LMyh4LGYsdiksSz14LmN1cnJlbnRJbmRleDtpZih4PT09ZClmLS0sZD1kLl9uZXh0UmVtb3ZlZDtlbHNlIGlmKGE9YS5fbmV4dCxudWxsPT14LnByZXZpb3VzSW5kZXgpZisrO2Vsc2V7dnx8KHY9W10pO2NvbnN0IGVlPUgtZixmZT1LLWY7aWYo''@;'; put 'put ''ZWUhPWZlKXtmb3IobGV0IGplPTA7amU8ZWU7amUrKyl7Y29uc3QgSWU9amU8di5sZW5ndGg/dltqZV06dltqZV09MCxxZT1JZStqZTtmZTw9cWUmJnFlPGVlJiYodltqZV09SWUrMSl9dlt4LnByZXZpb3VzSW5kZXhdPWZlLWVlfX1IIT09SyYmYyh4LEgsSyl9fWZvckVhY2hQcmV2aW91c0l0''@;'; put 'put ''ZW0oYyl7bGV0IGE7Zm9yKGE9dGhpcy5fcHJldmlvdXNJdEhlYWQ7bnVsbCE9PWE7YT1hLl9uZXh0UHJldmlvdXMpYyhhKX1mb3JFYWNoQWRkZWRJdGVtKGMpe2xldCBhO2ZvcihhPXRoaXMuX2FkZGl0aW9uc0hlYWQ7bnVsbCE9PWE7YT1hLl9uZXh0QWRkZWQpYyhhKX1mb3JFYWNoTW92ZWRJ''@;'; put 'put ''dGVtKGMpe2xldCBhO2ZvcihhPXRoaXMuX21vdmVzSGVhZDtudWxsIT09YTthPWEuX25leHRNb3ZlZCljKGEpfWZvckVhY2hSZW1vdmVkSXRlbShjKXtsZXQgYTtmb3IoYT10aGlzLl9yZW1vdmFsc0hlYWQ7bnVsbCE9PWE7YT1hLl9uZXh0UmVtb3ZlZCljKGEpfWZvckVhY2hJZGVudGl0eUNo''@;'; put 'put ''YW5nZShjKXtsZXQgYTtmb3IoYT10aGlzLl9pZGVudGl0eUNoYW5nZXNIZWFkO251bGwhPT1hO2E9YS5fbmV4dElkZW50aXR5Q2hhbmdlKWMoYSl9ZGlmZihjKXtpZihudWxsPT1jJiYoYz1bXSksIVZkKGMpKXRocm93IG5ldyBJdCg5MDAsITEpO3JldHVybiB0aGlzLmNoZWNrKGMpP3RoaXM6''@;'; put 'put ''bnVsbH1vbkRlc3Ryb3koKXt9Y2hlY2soYyl7dGhpcy5fcmVzZXQoKTtsZXQgZix2LHgsYT10aGlzLl9pdEhlYWQsZD0hMTtpZihBcnJheS5pc0FycmF5KGMpKXt0aGlzLmxlbmd0aD1jLmxlbmd0aDtmb3IobGV0IEg9MDtIPHRoaXMubGVuZ3RoO0grKyl2PWNbSF0seD10aGlzLl90cmFja0J5''@;'; put 'put ''Rm4oSCx2KSxudWxsIT09YSYmT2JqZWN0LmlzKGEudHJhY2tCeUlkLHgpPyhkJiYoYT10aGlzLl92ZXJpZnlSZWluc2VydGlvbihhLHYseCxIKSksT2JqZWN0LmlzKGEuaXRlbSx2KXx8dGhpcy5fYWRkSWRlbnRpdHlDaGFuZ2UoYSx2KSk6KGE9dGhpcy5fbWlzbWF0Y2goYSx2LHgsSCksZD0h''@;'; put 'put ''MCksYT1hLl9uZXh0fWVsc2UgZj0wLGZ1bmN0aW9uIHNFKGwsYyl7aWYoQXJyYXkuaXNBcnJheShsKSlmb3IobGV0IGE9MDthPGwubGVuZ3RoO2ErKyljKGxbYV0pO2Vsc2V7Y29uc3QgYT1sW1RsKCldKCk7bGV0IGQ7Zm9yKDshKGQ9YS5uZXh0KCkpLmRvbmU7KWMoZC52YWx1ZSl9fShjLEg9''@;'; put 'put ''Pnt4PXRoaXMuX3RyYWNrQnlGbihmLEgpLG51bGwhPT1hJiZPYmplY3QuaXMoYS50cmFja0J5SWQseCk/KGQmJihhPXRoaXMuX3ZlcmlmeVJlaW5zZXJ0aW9uKGEsSCx4LGYpKSxPYmplY3QuaXMoYS5pdGVtLEgpfHx0aGlzLl9hZGRJZGVudGl0eUNoYW5nZShhLEgpKTooYT10aGlzLl9taXNt''@;'; put 'put ''YXRjaChhLEgseCxmKSxkPSEwKSxhPWEuX25leHQsZisrfSksdGhpcy5sZW5ndGg9ZjtyZXR1cm4gdGhpcy5fdHJ1bmNhdGUoYSksdGhpcy5jb2xsZWN0aW9uPWMsdGhpcy5pc0RpcnR5fWdldCBpc0RpcnR5KCl7cmV0dXJuIG51bGwhPT10aGlzLl9hZGRpdGlvbnNIZWFkfHxudWxsIT09dGhp''@;'; put 'put ''cy5fbW92ZXNIZWFkfHxudWxsIT09dGhpcy5fcmVtb3ZhbHNIZWFkfHxudWxsIT09dGhpcy5faWRlbnRpdHlDaGFuZ2VzSGVhZH1fcmVzZXQoKXtpZih0aGlzLmlzRGlydHkpe2xldCBjO2ZvcihjPXRoaXMuX3ByZXZpb3VzSXRIZWFkPXRoaXMuX2l0SGVhZDtudWxsIT09YztjPWMuX25leHQp''@;'; put 'put ''Yy5fbmV4dFByZXZpb3VzPWMuX25leHQ7Zm9yKGM9dGhpcy5fYWRkaXRpb25zSGVhZDtudWxsIT09YztjPWMuX25leHRBZGRlZCljLnByZXZpb3VzSW5kZXg9Yy5jdXJyZW50SW5kZXg7Zm9yKHRoaXMuX2FkZGl0aW9uc0hlYWQ9dGhpcy5fYWRkaXRpb25zVGFpbD1udWxsLGM9dGhpcy5fbW92''@;'; put 'put ''ZXNIZWFkO251bGwhPT1jO2M9Yy5fbmV4dE1vdmVkKWMucHJldmlvdXNJbmRleD1jLmN1cnJlbnRJbmRleDt0aGlzLl9tb3Zlc0hlYWQ9dGhpcy5fbW92ZXNUYWlsPW51bGwsdGhpcy5fcmVtb3ZhbHNIZWFkPXRoaXMuX3JlbW92YWxzVGFpbD1udWxsLHRoaXMuX2lkZW50aXR5Q2hhbmdlc0hl''@;'; put 'put ''YWQ9dGhpcy5faWRlbnRpdHlDaGFuZ2VzVGFpbD1udWxsfX1fbWlzbWF0Y2goYyxhLGQsZil7bGV0IHY7cmV0dXJuIG51bGw9PT1jP3Y9dGhpcy5faXRUYWlsOih2PWMuX3ByZXYsdGhpcy5fcmVtb3ZlKGMpKSxudWxsIT09KGM9bnVsbD09PXRoaXMuX3VubGlua2VkUmVjb3Jkcz9udWxsOnRo''@;'; put 'put ''aXMuX3VubGlua2VkUmVjb3Jkcy5nZXQoZCxudWxsKSk/KE9iamVjdC5pcyhjLml0ZW0sYSl8fHRoaXMuX2FkZElkZW50aXR5Q2hhbmdlKGMsYSksdGhpcy5fcmVpbnNlcnRBZnRlcihjLHYsZikpOm51bGwhPT0oYz1udWxsPT09dGhpcy5fbGlua2VkUmVjb3Jkcz9udWxsOnRoaXMuX2xpbmtl''@;'; put 'put ''ZFJlY29yZHMuZ2V0KGQsZikpPyhPYmplY3QuaXMoYy5pdGVtLGEpfHx0aGlzLl9hZGRJZGVudGl0eUNoYW5nZShjLGEpLHRoaXMuX21vdmVBZnRlcihjLHYsZikpOmM9dGhpcy5fYWRkQWZ0ZXIobmV3IEE5KGEsZCksdixmKSxjfV92ZXJpZnlSZWluc2VydGlvbihjLGEsZCxmKXtsZXQgdj1u''@;'; put 'put ''dWxsPT09dGhpcy5fdW5saW5rZWRSZWNvcmRzP251bGw6dGhpcy5fdW5saW5rZWRSZWNvcmRzLmdldChkLG51bGwpO3JldHVybiBudWxsIT09dj9jPXRoaXMuX3JlaW5zZXJ0QWZ0ZXIodixjLl9wcmV2LGYpOmMuY3VycmVudEluZGV4IT1mJiYoYy5jdXJyZW50SW5kZXg9Zix0aGlzLl9hZGRU''@;'; put 'put ''b01vdmVzKGMsZikpLGN9X3RydW5jYXRlKGMpe2Zvcig7bnVsbCE9PWM7KXtjb25zdCBhPWMuX25leHQ7dGhpcy5fYWRkVG9SZW1vdmFscyh0aGlzLl91bmxpbmsoYykpLGM9YX1udWxsIT09dGhpcy5fdW5saW5rZWRSZWNvcmRzJiZ0aGlzLl91bmxpbmtlZFJlY29yZHMuY2xlYXIoKSxudWxs''@;'; put 'put ''IT09dGhpcy5fYWRkaXRpb25zVGFpbCYmKHRoaXMuX2FkZGl0aW9uc1RhaWwuX25leHRBZGRlZD1udWxsKSxudWxsIT09dGhpcy5fbW92ZXNUYWlsJiYodGhpcy5fbW92ZXNUYWlsLl9uZXh0TW92ZWQ9bnVsbCksbnVsbCE9PXRoaXMuX2l0VGFpbCYmKHRoaXMuX2l0VGFpbC5fbmV4dD1udWxs''@;'; put 'put ''KSxudWxsIT09dGhpcy5fcmVtb3ZhbHNUYWlsJiYodGhpcy5fcmVtb3ZhbHNUYWlsLl9uZXh0UmVtb3ZlZD1udWxsKSxudWxsIT09dGhpcy5faWRlbnRpdHlDaGFuZ2VzVGFpbCYmKHRoaXMuX2lkZW50aXR5Q2hhbmdlc1RhaWwuX25leHRJZGVudGl0eUNoYW5nZT1udWxsKX1fcmVpbnNlcnRB''@;'; put 'put ''ZnRlcihjLGEsZCl7bnVsbCE9PXRoaXMuX3VubGlua2VkUmVjb3JkcyYmdGhpcy5fdW5saW5rZWRSZWNvcmRzLnJlbW92ZShjKTtjb25zdCBmPWMuX3ByZXZSZW1vdmVkLHY9Yy5fbmV4dFJlbW92ZWQ7cmV0dXJuIG51bGw9PT1mP3RoaXMuX3JlbW92YWxzSGVhZD12OmYuX25leHRSZW1vdmVk''@;'; put 'put ''PXYsbnVsbD09PXY/dGhpcy5fcmVtb3ZhbHNUYWlsPWY6di5fcHJldlJlbW92ZWQ9Zix0aGlzLl9pbnNlcnRBZnRlcihjLGEsZCksdGhpcy5fYWRkVG9Nb3ZlcyhjLGQpLGN9X21vdmVBZnRlcihjLGEsZCl7cmV0dXJuIHRoaXMuX3VubGluayhjKSx0aGlzLl9pbnNlcnRBZnRlcihjLGEsZCks''@;'; put 'put ''dGhpcy5fYWRkVG9Nb3ZlcyhjLGQpLGN9X2FkZEFmdGVyKGMsYSxkKXtyZXR1cm4gdGhpcy5faW5zZXJ0QWZ0ZXIoYyxhLGQpLHRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbD09PXRoaXMuX2FkZGl0aW9uc1RhaWw/dGhpcy5fYWRkaXRpb25zSGVhZD1jOnRoaXMuX2FkZGl0aW9uc1RhaWwuX25l''@;'; put 'put ''eHRBZGRlZD1jLGN9X2luc2VydEFmdGVyKGMsYSxkKXtjb25zdCBmPW51bGw9PT1hP3RoaXMuX2l0SGVhZDphLl9uZXh0O3JldHVybiBjLl9uZXh0PWYsYy5fcHJldj1hLG51bGw9PT1mP3RoaXMuX2l0VGFpbD1jOmYuX3ByZXY9YyxudWxsPT09YT90aGlzLl9pdEhlYWQ9YzphLl9uZXh0PWMs''@;'; put 'put ''bnVsbD09PXRoaXMuX2xpbmtlZFJlY29yZHMmJih0aGlzLl9saW5rZWRSZWNvcmRzPW5ldyBKMyksdGhpcy5fbGlua2VkUmVjb3Jkcy5wdXQoYyksYy5jdXJyZW50SW5kZXg9ZCxjfV9yZW1vdmUoYyl7cmV0dXJuIHRoaXMuX2FkZFRvUmVtb3ZhbHModGhpcy5fdW5saW5rKGMpKX1fdW5saW5r''@;'; put 'put ''KGMpe251bGwhPT10aGlzLl9saW5rZWRSZWNvcmRzJiZ0aGlzLl9saW5rZWRSZWNvcmRzLnJlbW92ZShjKTtjb25zdCBhPWMuX3ByZXYsZD1jLl9uZXh0O3JldHVybiBudWxsPT09YT90aGlzLl9pdEhlYWQ9ZDphLl9uZXh0PWQsbnVsbD09PWQ/dGhpcy5faXRUYWlsPWE6ZC5fcHJldj1hLGN9''@;'; put 'put ''X2FkZFRvTW92ZXMoYyxhKXtyZXR1cm4gYy5wcmV2aW91c0luZGV4PT09YXx8KHRoaXMuX21vdmVzVGFpbD1udWxsPT09dGhpcy5fbW92ZXNUYWlsP3RoaXMuX21vdmVzSGVhZD1jOnRoaXMuX21vdmVzVGFpbC5fbmV4dE1vdmVkPWMpLGN9X2FkZFRvUmVtb3ZhbHMoYyl7cmV0dXJuIG51bGw9''@;'; put 'put ''PT10aGlzLl91bmxpbmtlZFJlY29yZHMmJih0aGlzLl91bmxpbmtlZFJlY29yZHM9bmV3IEozKSx0aGlzLl91bmxpbmtlZFJlY29yZHMucHV0KGMpLGMuY3VycmVudEluZGV4PW51bGwsYy5fbmV4dFJlbW92ZWQ9bnVsbCxudWxsPT09dGhpcy5fcmVtb3ZhbHNUYWlsPyh0aGlzLl9yZW1vdmFs''@;'; put 'put ''c1RhaWw9dGhpcy5fcmVtb3ZhbHNIZWFkPWMsYy5fcHJldlJlbW92ZWQ9bnVsbCk6KGMuX3ByZXZSZW1vdmVkPXRoaXMuX3JlbW92YWxzVGFpbCx0aGlzLl9yZW1vdmFsc1RhaWw9dGhpcy5fcmVtb3ZhbHNUYWlsLl9uZXh0UmVtb3ZlZD1jKSxjfV9hZGRJZGVudGl0eUNoYW5nZShjLGEpe3Jl''@;'; put 'put ''dHVybiBjLml0ZW09YSx0aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsPW51bGw9PT10aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsP3RoaXMuX2lkZW50aXR5Q2hhbmdlc0hlYWQ9Yzp0aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsLl9uZXh0SWRlbnRpdHlDaGFuZ2U9YyxjfX1jbGFzcyBBOXtjb25z''@;'; put 'put ''dHJ1Y3RvcihjLGEpe3RoaXMuaXRlbT1jLHRoaXMudHJhY2tCeUlkPWEsdGhpcy5jdXJyZW50SW5kZXg9bnVsbCx0aGlzLnByZXZpb3VzSW5kZXg9bnVsbCx0aGlzLl9uZXh0UHJldmlvdXM9bnVsbCx0aGlzLl9wcmV2PW51bGwsdGhpcy5fbmV4dD1udWxsLHRoaXMuX3ByZXZEdXA9bnVsbCx0''@;'; put 'put ''aGlzLl9uZXh0RHVwPW51bGwsdGhpcy5fcHJldlJlbW92ZWQ9bnVsbCx0aGlzLl9uZXh0UmVtb3ZlZD1udWxsLHRoaXMuX25leHRBZGRlZD1udWxsLHRoaXMuX25leHRNb3ZlZD1udWxsLHRoaXMuX25leHRJZGVudGl0eUNoYW5nZT1udWxsfX1jbGFzcyBFOXtjb25zdHJ1Y3Rvcigpe3RoaXMu''@;'; put 'put ''X2hlYWQ9bnVsbCx0aGlzLl90YWlsPW51bGx9YWRkKGMpe251bGw9PT10aGlzLl9oZWFkPyh0aGlzLl9oZWFkPXRoaXMuX3RhaWw9YyxjLl9uZXh0RHVwPW51bGwsYy5fcHJldkR1cD1udWxsKToodGhpcy5fdGFpbC5fbmV4dER1cD1jLGMuX3ByZXZEdXA9dGhpcy5fdGFpbCxjLl9uZXh0RHVw''@;'; put 'put ''PW51bGwsdGhpcy5fdGFpbD1jKX1nZXQoYyxhKXtsZXQgZDtmb3IoZD10aGlzLl9oZWFkO251bGwhPT1kO2Q9ZC5fbmV4dER1cClpZigobnVsbD09PWF8fGE8PWQuY3VycmVudEluZGV4KSYmT2JqZWN0LmlzKGQudHJhY2tCeUlkLGMpKXJldHVybiBkO3JldHVybiBudWxsfXJlbW92ZShjKXtj''@;'; put 'put ''b25zdCBhPWMuX3ByZXZEdXAsZD1jLl9uZXh0RHVwO3JldHVybiBudWxsPT09YT90aGlzLl9oZWFkPWQ6YS5fbmV4dER1cD1kLG51bGw9PT1kP3RoaXMuX3RhaWw9YTpkLl9wcmV2RHVwPWEsbnVsbD09PXRoaXMuX2hlYWR9fWNsYXNzIEoze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1h''@;'; put 'put ''cH1wdXQoYyl7Y29uc3QgYT1jLnRyYWNrQnlJZDtsZXQgZD10aGlzLm1hcC5nZXQoYSk7ZHx8KGQ9bmV3IEU5LHRoaXMubWFwLnNldChhLGQpKSxkLmFkZChjKX1nZXQoYyxhKXtjb25zdCBmPXRoaXMubWFwLmdldChjKTtyZXR1cm4gZj9mLmdldChjLGEpOm51bGx9cmVtb3ZlKGMpe2NvbnN0''@;'; put 'put ''IGE9Yy50cmFja0J5SWQ7cmV0dXJuIHRoaXMubWFwLmdldChhKS5yZW1vdmUoYykmJnRoaXMubWFwLmRlbGV0ZShhKSxjfWdldCBpc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLm1hcC5zaXplfWNsZWFyKCl7dGhpcy5tYXAuY2xlYXIoKX19ZnVuY3Rpb24gSzMobCxjLGEpe2NvbnN0IGQ9bC5w''@;'; put 'put ''cmV2aW91c0luZGV4O2lmKG51bGw9PT1kKXJldHVybiBkO2xldCBmPTA7cmV0dXJuIGEmJmQ8YS5sZW5ndGgmJihmPWFbZF0pLGQrYytmfWNsYXNzIFgze2NvbnN0cnVjdG9yKCl7fXN1cHBvcnRzKGMpe3JldHVybiBjIGluc3RhbmNlb2YgTWFwfHxvdihjKX1jcmVhdGUoKXtyZXR1cm4gbmV3''@;'; put 'put ''IFQ5fX1jbGFzcyBUOXtjb25zdHJ1Y3Rvcigpe3RoaXMuX3JlY29yZHM9bmV3IE1hcCx0aGlzLl9tYXBIZWFkPW51bGwsdGhpcy5fYXBwZW5kQWZ0ZXI9bnVsbCx0aGlzLl9wcmV2aW91c01hcEhlYWQ9bnVsbCx0aGlzLl9jaGFuZ2VzSGVhZD1udWxsLHRoaXMuX2NoYW5nZXNUYWlsPW51bGws''@;'; put 'put ''dGhpcy5fYWRkaXRpb25zSGVhZD1udWxsLHRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9bnVsbCx0aGlzLl9yZW1vdmFsc1RhaWw9bnVsbH1nZXQgaXNEaXJ0eSgpe3JldHVybiBudWxsIT09dGhpcy5fYWRkaXRpb25zSGVhZHx8bnVsbCE9PXRoaXMuX2NoYW5n''@;'; put 'put ''ZXNIZWFkfHxudWxsIT09dGhpcy5fcmVtb3ZhbHNIZWFkfWZvckVhY2hJdGVtKGMpe2xldCBhO2ZvcihhPXRoaXMuX21hcEhlYWQ7bnVsbCE9PWE7YT1hLl9uZXh0KWMoYSl9Zm9yRWFjaFByZXZpb3VzSXRlbShjKXtsZXQgYTtmb3IoYT10aGlzLl9wcmV2aW91c01hcEhlYWQ7bnVsbCE9PWE7''@;'; put 'put ''YT1hLl9uZXh0UHJldmlvdXMpYyhhKX1mb3JFYWNoQ2hhbmdlZEl0ZW0oYyl7bGV0IGE7Zm9yKGE9dGhpcy5fY2hhbmdlc0hlYWQ7bnVsbCE9PWE7YT1hLl9uZXh0Q2hhbmdlZCljKGEpfWZvckVhY2hBZGRlZEl0ZW0oYyl7bGV0IGE7Zm9yKGE9dGhpcy5fYWRkaXRpb25zSGVhZDtudWxsIT09''@;'; put 'put ''YTthPWEuX25leHRBZGRlZCljKGEpfWZvckVhY2hSZW1vdmVkSXRlbShjKXtsZXQgYTtmb3IoYT10aGlzLl9yZW1vdmFsc0hlYWQ7bnVsbCE9PWE7YT1hLl9uZXh0UmVtb3ZlZCljKGEpfWRpZmYoYyl7aWYoYyl7aWYoIShjIGluc3RhbmNlb2YgTWFwfHxvdihjKSkpdGhyb3cgbmV3IEl0KDkw''@;'; put 'put ''MCwhMSl9ZWxzZSBjPW5ldyBNYXA7cmV0dXJuIHRoaXMuY2hlY2soYyk/dGhpczpudWxsfW9uRGVzdHJveSgpe31jaGVjayhjKXt0aGlzLl9yZXNldCgpO2xldCBhPXRoaXMuX21hcEhlYWQ7aWYodGhpcy5fYXBwZW5kQWZ0ZXI9bnVsbCx0aGlzLl9mb3JFYWNoKGMsKGQsZik9PntpZihhJiZh''@;'; put 'put ''LmtleT09PWYpdGhpcy5fbWF5YmVBZGRUb0NoYW5nZXMoYSxkKSx0aGlzLl9hcHBlbmRBZnRlcj1hLGE9YS5fbmV4dDtlbHNle2NvbnN0IHY9dGhpcy5fZ2V0T3JDcmVhdGVSZWNvcmRGb3JLZXkoZixkKTthPXRoaXMuX2luc2VydEJlZm9yZU9yQXBwZW5kKGEsdil9fSksYSl7YS5fcHJldiYm''@;'; put 'put ''KGEuX3ByZXYuX25leHQ9bnVsbCksdGhpcy5fcmVtb3ZhbHNIZWFkPWE7Zm9yKGxldCBkPWE7bnVsbCE9PWQ7ZD1kLl9uZXh0UmVtb3ZlZClkPT09dGhpcy5fbWFwSGVhZCYmKHRoaXMuX21hcEhlYWQ9bnVsbCksdGhpcy5fcmVjb3Jkcy5kZWxldGUoZC5rZXkpLGQuX25leHRSZW1vdmVkPWQu''@;'; put 'put ''X25leHQsZC5wcmV2aW91c1ZhbHVlPWQuY3VycmVudFZhbHVlLGQuY3VycmVudFZhbHVlPW51bGwsZC5fcHJldj1udWxsLGQuX25leHQ9bnVsbH1yZXR1cm4gdGhpcy5fY2hhbmdlc1RhaWwmJih0aGlzLl9jaGFuZ2VzVGFpbC5fbmV4dENoYW5nZWQ9bnVsbCksdGhpcy5fYWRkaXRpb25zVGFp''@;'; put 'put ''bCYmKHRoaXMuX2FkZGl0aW9uc1RhaWwuX25leHRBZGRlZD1udWxsKSx0aGlzLmlzRGlydHl9X2luc2VydEJlZm9yZU9yQXBwZW5kKGMsYSl7aWYoYyl7Y29uc3QgZD1jLl9wcmV2O3JldHVybiBhLl9uZXh0PWMsYS5fcHJldj1kLGMuX3ByZXY9YSxkJiYoZC5fbmV4dD1hKSxjPT09dGhpcy5f''@;'; put 'put ''bWFwSGVhZCYmKHRoaXMuX21hcEhlYWQ9YSksdGhpcy5fYXBwZW5kQWZ0ZXI9YyxjfXJldHVybiB0aGlzLl9hcHBlbmRBZnRlcj8odGhpcy5fYXBwZW5kQWZ0ZXIuX25leHQ9YSxhLl9wcmV2PXRoaXMuX2FwcGVuZEFmdGVyKTp0aGlzLl9tYXBIZWFkPWEsdGhpcy5fYXBwZW5kQWZ0ZXI9YSxu''@;'; put 'put ''dWxsfV9nZXRPckNyZWF0ZVJlY29yZEZvcktleShjLGEpe2lmKHRoaXMuX3JlY29yZHMuaGFzKGMpKXtjb25zdCBmPXRoaXMuX3JlY29yZHMuZ2V0KGMpO3RoaXMuX21heWJlQWRkVG9DaGFuZ2VzKGYsYSk7Y29uc3Qgdj1mLl9wcmV2LHg9Zi5fbmV4dDtyZXR1cm4gdiYmKHYuX25leHQ9eCks''@;'; put 'put ''eCYmKHguX3ByZXY9diksZi5fbmV4dD1udWxsLGYuX3ByZXY9bnVsbCxmfWNvbnN0IGQ9bmV3IEw5KGMpO3JldHVybiB0aGlzLl9yZWNvcmRzLnNldChjLGQpLGQuY3VycmVudFZhbHVlPWEsdGhpcy5fYWRkVG9BZGRpdGlvbnMoZCksZH1fcmVzZXQoKXtpZih0aGlzLmlzRGlydHkpe2xldCBj''@;'; put 'put ''O2Zvcih0aGlzLl9wcmV2aW91c01hcEhlYWQ9dGhpcy5fbWFwSGVhZCxjPXRoaXMuX3ByZXZpb3VzTWFwSGVhZDtudWxsIT09YztjPWMuX25leHQpYy5fbmV4dFByZXZpb3VzPWMuX25leHQ7Zm9yKGM9dGhpcy5fY2hhbmdlc0hlYWQ7bnVsbCE9PWM7Yz1jLl9uZXh0Q2hhbmdlZCljLnByZXZp''@;'; put 'put ''b3VzVmFsdWU9Yy5jdXJyZW50VmFsdWU7Zm9yKGM9dGhpcy5fYWRkaXRpb25zSGVhZDtudWxsIT1jO2M9Yy5fbmV4dEFkZGVkKWMucHJldmlvdXNWYWx1ZT1jLmN1cnJlbnRWYWx1ZTt0aGlzLl9jaGFuZ2VzSGVhZD10aGlzLl9jaGFuZ2VzVGFpbD1udWxsLHRoaXMuX2FkZGl0aW9uc0hlYWQ9''@;'; put 'put ''dGhpcy5fYWRkaXRpb25zVGFpbD1udWxsLHRoaXMuX3JlbW92YWxzSGVhZD1udWxsfX1fbWF5YmVBZGRUb0NoYW5nZXMoYyxhKXtPYmplY3QuaXMoYSxjLmN1cnJlbnRWYWx1ZSl8fChjLnByZXZpb3VzVmFsdWU9Yy5jdXJyZW50VmFsdWUsYy5jdXJyZW50VmFsdWU9YSx0aGlzLl9hZGRUb0No''@;'; put 'put ''YW5nZXMoYykpfV9hZGRUb0FkZGl0aW9ucyhjKXtudWxsPT09dGhpcy5fYWRkaXRpb25zSGVhZD90aGlzLl9hZGRpdGlvbnNIZWFkPXRoaXMuX2FkZGl0aW9uc1RhaWw9YzoodGhpcy5fYWRkaXRpb25zVGFpbC5fbmV4dEFkZGVkPWMsdGhpcy5fYWRkaXRpb25zVGFpbD1jKX1fYWRkVG9DaGFu''@;'; put 'put ''Z2VzKGMpe251bGw9PT10aGlzLl9jaGFuZ2VzSGVhZD90aGlzLl9jaGFuZ2VzSGVhZD10aGlzLl9jaGFuZ2VzVGFpbD1jOih0aGlzLl9jaGFuZ2VzVGFpbC5fbmV4dENoYW5nZWQ9Yyx0aGlzLl9jaGFuZ2VzVGFpbD1jKX1fZm9yRWFjaChjLGEpe2MgaW5zdGFuY2VvZiBNYXA/Yy5mb3JFYWNo''@;'; put 'put ''KGEpOk9iamVjdC5rZXlzKGMpLmZvckVhY2goZD0+YShjW2RdLGQpKX19Y2xhc3MgTDl7Y29uc3RydWN0b3IoYyl7dGhpcy5rZXk9Yyx0aGlzLnByZXZpb3VzVmFsdWU9bnVsbCx0aGlzLmN1cnJlbnRWYWx1ZT1udWxsLHRoaXMuX25leHRQcmV2aW91cz1udWxsLHRoaXMuX25leHQ9bnVsbCx0''@;'; put 'put ''aGlzLl9wcmV2PW51bGwsdGhpcy5fbmV4dEFkZGVkPW51bGwsdGhpcy5fbmV4dFJlbW92ZWQ9bnVsbCx0aGlzLl9uZXh0Q2hhbmdlZD1udWxsfX1mdW5jdGlvbiBRMygpe3JldHVybiBuZXcgcHUoW25ldyBaM10pfWxldCBwdT0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEpe3RoaXMuZmFj''@;'; put 'put ''dG9yaWVzPWF9c3RhdGljIGNyZWF0ZShhLGQpe2lmKG51bGwhPWQpe2NvbnN0IGY9ZC5mYWN0b3JpZXMuc2xpY2UoKTthPWEuY29uY2F0KGYpfXJldHVybiBuZXcgbChhKX1zdGF0aWMgZXh0ZW5kKGEpe3JldHVybntwcm92aWRlOmwsdXNlRmFjdG9yeTpkPT5sLmNyZWF0ZShhLGR8fFEzKCkp''@;'; put 'put ''LGRlcHM6W1tsLG5ldyBLYSxuZXcgSmFdXX19ZmluZChhKXtjb25zdCBkPXRoaXMuZmFjdG9yaWVzLmZpbmQoZj0+Zi5zdXBwb3J0cyhhKSk7aWYobnVsbCE9ZClyZXR1cm4gZDt0aHJvdyBuZXcgSXQoOTAxLCExKX19cmV0dXJuIGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxwcm92aWRlZElu''@;'; put 'put ''OiJyb290IixmYWN0b3J5OlEzfSksbH0pKCk7ZnVuY3Rpb24gJDMoKXtyZXR1cm4gbmV3IGloKFtuZXcgWDNdKX1sZXQgaWg9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt0aGlzLmZhY3Rvcmllcz1hfXN0YXRpYyBjcmVhdGUoYSxkKXtpZihkKXtjb25zdCBmPWQuZmFjdG9yaWVzLnNs''@;'; put 'put ''aWNlKCk7YT1hLmNvbmNhdChmKX1yZXR1cm4gbmV3IGwoYSl9c3RhdGljIGV4dGVuZChhKXtyZXR1cm57cHJvdmlkZTpsLHVzZUZhY3Rvcnk6ZD0+bC5jcmVhdGUoYSxkfHwkMygpKSxkZXBzOltbbCxuZXcgS2EsbmV3IEphXV19fWZpbmQoYSl7Y29uc3QgZD10aGlzLmZhY3Rvcmllcy5maW5k''@;'; put 'put ''KGY9PmYuc3VwcG9ydHMoYSkpO2lmKGQpcmV0dXJuIGQ7dGhyb3cgbmV3IEl0KDkwMSwhMSl9fXJldHVybiBsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwscHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTokM30pLGx9KSgpO2NvbnN0IFI5PUYzKG51bGwsImNvcmUiLFtdKTtsZXQgTjk9KCgpPT57''@;'; put 'put ''Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KHJoKSl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7fSksbH0pKCk7ZnVuY3Rpb24gbWEobCl7cmV0dXJuImJvb2xlYW4iPT10''@;'; put 'put ''eXBlb2YgbD9sOm51bGwhPWwmJiJmYWxzZSIhPT1sfWxldCBLcD1udWxsO2Z1bmN0aW9uIHFzKCl7cmV0dXJuIEtwfWNvbnN0IFJyPW5ldyBPbigiRG9jdW1lbnRUb2tlbiIpO2xldCBVdj0oKCk9PntjbGFzcyBse2hpc3RvcnlHbyhhKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRl''@;'; put 'put ''ZCIpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gSDkoKXtyZXR1cm4gRXQoZTYpfSgpfSxwcm92aWRlZEluOiJwbGF0Zm9ybSJ9KSxsfSko''@;'; put 'put ''KTtjb25zdCBWOT1uZXcgT24oIkxvY2F0aW9uIEluaXRpYWxpemVkIik7bGV0IGU2PSgoKT0+e2NsYXNzIGwgZXh0ZW5kcyBVdntjb25zdHJ1Y3RvcihhKXtzdXBlcigpLHRoaXMuX2RvYz1hLHRoaXMuX2luaXQoKX1faW5pdCgpe3RoaXMubG9jYXRpb249d2luZG93LmxvY2F0aW9uLHRoaXMu''@;'; put 'put ''X2hpc3Rvcnk9d2luZG93Lmhpc3Rvcnl9Z2V0QmFzZUhyZWZGcm9tRE9NKCl7cmV0dXJuIHFzKCkuZ2V0QmFzZUhyZWYodGhpcy5fZG9jKX1vblBvcFN0YXRlKGEpe2NvbnN0IGQ9cXMoKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsIndpbmRvdyIpO3JldHVybiBkLmFkZEV2ZW50''@;'; put 'put ''TGlzdGVuZXIoInBvcHN0YXRlIixhLCExKSwoKT0+ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYSl9b25IYXNoQ2hhbmdlKGEpe2NvbnN0IGQ9cXMoKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsIndpbmRvdyIpO3JldHVybiBkLmFkZEV2ZW50TGlzdGVuZXIoImhh''@;'; put 'put ''c2hjaGFuZ2UiLGEsITEpLCgpPT5kLnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGEpfWdldCBocmVmKCl7cmV0dXJuIHRoaXMubG9jYXRpb24uaHJlZn1nZXQgcHJvdG9jb2woKXtyZXR1cm4gdGhpcy5sb2NhdGlvbi5wcm90b2NvbH1nZXQgaG9zdG5hbWUoKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5sb2NhdGlvbi5ob3N0bmFtZX1nZXQgcG9ydCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLnBvcnR9Z2V0IHBhdGhuYW1lKCl7cmV0dXJuIHRoaXMubG9jYXRpb24ucGF0aG5hbWV9Z2V0IHNlYXJjaCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLnNlYXJjaH1nZXQgaGFzaCgpe3JldHVybiB0aGlz''@;'; put 'put ''LmxvY2F0aW9uLmhhc2h9c2V0IHBhdGhuYW1lKGEpe3RoaXMubG9jYXRpb24ucGF0aG5hbWU9YX1wdXNoU3RhdGUoYSxkLGYpe3Q2KCk/dGhpcy5faGlzdG9yeS5wdXNoU3RhdGUoYSxkLGYpOnRoaXMubG9jYXRpb24uaGFzaD1mfXJlcGxhY2VTdGF0ZShhLGQsZil7dDYoKT90aGlzLl9oaXN0''@;'; put 'put ''b3J5LnJlcGxhY2VTdGF0ZShhLGQsZik6dGhpcy5sb2NhdGlvbi5oYXNoPWZ9Zm9yd2FyZCgpe3RoaXMuX2hpc3RvcnkuZm9yd2FyZCgpfWJhY2soKXt0aGlzLl9oaXN0b3J5LmJhY2soKX1oaXN0b3J5R28oYT0wKXt0aGlzLl9oaXN0b3J5LmdvKGEpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMu''@;'; put 'put ''X2hpc3Rvcnkuc3RhdGV9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFJyKSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIFU5KCl7cmV0dXJuIG5ldyBlNihFdChScikpfSgpfSxw''@;'; put 'put ''cm92aWRlZEluOiJwbGF0Zm9ybSJ9KSxsfSkoKTtmdW5jdGlvbiB0Nigpe3JldHVybiEhd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlfWZ1bmN0aW9uIFd2KGwsYyl7aWYoMD09bC5sZW5ndGgpcmV0dXJuIGM7aWYoMD09Yy5sZW5ndGgpcmV0dXJuIGw7bGV0IGE9MDtyZXR1cm4gbC5lbmRzV2l0''@;'; put 'put ''aCgiLyIpJiZhKyssYy5zdGFydHNXaXRoKCIvIikmJmErKywyPT1hP2wrYy5zdWJzdHJpbmcoMSk6MT09YT9sK2M6bCsiLyIrY31mdW5jdGlvbiBuNihsKXtjb25zdCBjPWwubWF0Y2goLyN8XD98JC8pLGE9YyYmYy5pbmRleHx8bC5sZW5ndGg7cmV0dXJuIGwuc2xpY2UoMCxhLSgiLyI9PT1s''@;'; put 'put ''W2EtMV0/MTowKSkrbC5zbGljZShhKX1mdW5jdGlvbiBiYShsKXtyZXR1cm4gbCYmIj8iIT09bFswXT8iPyIrbDpsfWxldCBObD0oKCk9PntjbGFzcyBse2hpc3RvcnlHbyhhKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24o''@;'; put 'put ''YSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6ZnVuY3Rpb24oKXtyZXR1cm4gc2koaTYpfSxwcm92aWRlZEluOiJyb290In0pLGx9KSgpO2NvbnN0IHI2PW5ldyBPbigiYXBwQmFzZUhyZWYiKTtsZXQgaTY9KCgpPT57Y2xhc3MgbCBleHRlbmRz''@;'; put 'put ''IE5se2NvbnN0cnVjdG9yKGEsZCl7dmFyIGYsdix4O3N1cGVyKCksdGhpcy5fcGxhdGZvcm1Mb2NhdGlvbj1hLHRoaXMuX3JlbW92ZUxpc3RlbmVyRm5zPVtdLHRoaXMuX2Jhc2VIcmVmPW51bGwhPT0oeD1udWxsIT09KGY9bnVsbCE9ZD9kOnRoaXMuX3BsYXRmb3JtTG9jYXRpb24uZ2V0QmFz''@;'; put 'put ''ZUhyZWZGcm9tRE9NKCkpJiZ2b2lkIDAhPT1mP2Y6bnVsbD09PSh2PXNpKFJyKS5sb2NhdGlvbil8fHZvaWQgMD09PXY/dm9pZCAwOnYub3JpZ2luKSYmdm9pZCAwIT09eD94OiIifW5nT25EZXN0cm95KCl7Zm9yKDt0aGlzLl9yZW1vdmVMaXN0ZW5lckZucy5sZW5ndGg7KXRoaXMuX3JlbW92''@;'; put 'put ''ZUxpc3RlbmVyRm5zLnBvcCgpKCl9b25Qb3BTdGF0ZShhKXt0aGlzLl9yZW1vdmVMaXN0ZW5lckZucy5wdXNoKHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ub25Qb3BTdGF0ZShhKSx0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLm9uSGFzaENoYW5nZShhKSl9Z2V0QmFzZUhyZWYoKXtyZXR1cm4gdGhp''@;'; put 'put ''cy5fYmFzZUhyZWZ9cHJlcGFyZUV4dGVybmFsVXJsKGEpe3JldHVybiBXdih0aGlzLl9iYXNlSHJlZixhKX1wYXRoKGE9ITEpe2NvbnN0IGQ9dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5wYXRobmFtZStiYSh0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnNlYXJjaCksZj10aGlzLl9wbGF0Zm9ybUxv''@;'; put 'put ''Y2F0aW9uLmhhc2g7cmV0dXJuIGYmJmE/YCR7ZH0ke2Z9YDpkfXB1c2hTdGF0ZShhLGQsZix2KXtjb25zdCB4PXRoaXMucHJlcGFyZUV4dGVybmFsVXJsKGYrYmEodikpO3RoaXMuX3BsYXRmb3JtTG9jYXRpb24ucHVzaFN0YXRlKGEsZCx4KX1yZXBsYWNlU3RhdGUoYSxkLGYsdil7Y29uc3Qg''@;'; put 'put ''eD10aGlzLnByZXBhcmVFeHRlcm5hbFVybChmK2JhKHYpKTt0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnJlcGxhY2VTdGF0ZShhLGQseCl9Zm9yd2FyZCgpe3RoaXMuX3BsYXRmb3JtTG9jYXRpb24uZm9yd2FyZCgpfWJhY2soKXt0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmJhY2soKX1nZXRTdGF0''@;'; put 'put ''ZSgpe3JldHVybiB0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmdldFN0YXRlKCl9aGlzdG9yeUdvKGE9MCl7dmFyIGQsZjtudWxsPT09KGY9KGQ9dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbikuaGlzdG9yeUdvKXx8dm9pZCAwPT09Znx8Zi5jYWxsKGQsYSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5j''@;'; put 'put ''dGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFV2KSxFdChyNiw4KSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjLHByb3ZpZGVkSW46InJvb3QifSksbH0pKCksVzk9KCgpPT57Y2xhc3MgbCBleHRlbmRzIE5se2NvbnN0cnVjdG9yKGEsZCl7c3VwZXIo''@;'; put 'put ''KSx0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uPWEsdGhpcy5fYmFzZUhyZWY9IiIsdGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnM9W10sbnVsbCE9ZCYmKHRoaXMuX2Jhc2VIcmVmPWQpfW5nT25EZXN0cm95KCl7Zm9yKDt0aGlzLl9yZW1vdmVMaXN0ZW5lckZucy5sZW5ndGg7KXRoaXMuX3JlbW92ZUxp''@;'; put 'put ''c3RlbmVyRm5zLnBvcCgpKCl9b25Qb3BTdGF0ZShhKXt0aGlzLl9yZW1vdmVMaXN0ZW5lckZucy5wdXNoKHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ub25Qb3BTdGF0ZShhKSx0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLm9uSGFzaENoYW5nZShhKSl9Z2V0QmFzZUhyZWYoKXtyZXR1cm4gdGhpcy5f''@;'; put 'put ''YmFzZUhyZWZ9cGF0aChhPSExKXtsZXQgZD10aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmhhc2g7cmV0dXJuIG51bGw9PWQmJihkPSIjIiksZC5sZW5ndGg+MD9kLnN1YnN0cmluZygxKTpkfXByZXBhcmVFeHRlcm5hbFVybChhKXtjb25zdCBkPVd2KHRoaXMuX2Jhc2VIcmVmLGEpO3JldHVybiBk''@;'; put 'put ''Lmxlbmd0aD4wPyIjIitkOmR9cHVzaFN0YXRlKGEsZCxmLHYpe2xldCB4PXRoaXMucHJlcGFyZUV4dGVybmFsVXJsKGYrYmEodikpOzA9PXgubGVuZ3RoJiYoeD10aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnBhdGhuYW1lKSx0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnB1c2hTdGF0ZShhLGQseCl9''@;'; put 'put ''cmVwbGFjZVN0YXRlKGEsZCxmLHYpe2xldCB4PXRoaXMucHJlcGFyZUV4dGVybmFsVXJsKGYrYmEodikpOzA9PXgubGVuZ3RoJiYoeD10aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnBhdGhuYW1lKSx0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnJlcGxhY2VTdGF0ZShhLGQseCl9Zm9yd2FyZCgpe3Ro''@;'; put 'put ''aXMuX3BsYXRmb3JtTG9jYXRpb24uZm9yd2FyZCgpfWJhY2soKXt0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmJhY2soKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmdldFN0YXRlKCl9aGlzdG9yeUdvKGE9MCl7dmFyIGQsZjtudWxsPT09KGY9KGQ9dGhpcy5fcGxh''@;'; put 'put ''dGZvcm1Mb2NhdGlvbikuaGlzdG9yeUdvKXx8dm9pZCAwPT09Znx8Zi5jYWxsKGQsYSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFV2KSxFdChyNiw4KSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSks''@;'; put 'put ''bH0pKCkscXY9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt0aGlzLl9zdWJqZWN0PW5ldyBIdCx0aGlzLl91cmxDaGFuZ2VMaXN0ZW5lcnM9W10sdGhpcy5fdXJsQ2hhbmdlU3Vic2NyaXB0aW9uPW51bGwsdGhpcy5fbG9jYXRpb25TdHJhdGVneT1hO2NvbnN0IGQ9dGhpcy5fbG9jYXRp''@;'; put 'put ''b25TdHJhdGVneS5nZXRCYXNlSHJlZigpO3RoaXMuX2Jhc2VIcmVmPW42KG82KGQpKSx0aGlzLl9sb2NhdGlvblN0cmF0ZWd5Lm9uUG9wU3RhdGUoZj0+e3RoaXMuX3N1YmplY3QuZW1pdCh7dXJsOnRoaXMucGF0aCghMCkscG9wOiEwLHN0YXRlOmYuc3RhdGUsdHlwZTpmLnR5cGV9KX0pfW5n''@;'; put 'put ''T25EZXN0cm95KCl7dmFyIGE7bnVsbD09PShhPXRoaXMuX3VybENoYW5nZVN1YnNjcmlwdGlvbil8fHZvaWQgMD09PWF8fGEudW5zdWJzY3JpYmUoKSx0aGlzLl91cmxDaGFuZ2VMaXN0ZW5lcnM9W119cGF0aChhPSExKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUodGhpcy5fbG9jYXRpb25TdHJh''@;'; put 'put ''dGVneS5wYXRoKGEpKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9sb2NhdGlvblN0cmF0ZWd5LmdldFN0YXRlKCl9aXNDdXJyZW50UGF0aEVxdWFsVG8oYSxkPSIiKXtyZXR1cm4gdGhpcy5wYXRoKCk9PXRoaXMubm9ybWFsaXplKGErYmEoZCkpfW5vcm1hbGl6ZShhKXtyZXR1cm4gbC5zdHJp''@;'; put 'put ''cFRyYWlsaW5nU2xhc2goZnVuY3Rpb24gRzkobCxjKXtyZXR1cm4gbCYmYy5zdGFydHNXaXRoKGwpP2Muc3Vic3RyaW5nKGwubGVuZ3RoKTpjfSh0aGlzLl9iYXNlSHJlZixvNihhKSkpfXByZXBhcmVFeHRlcm5hbFVybChhKXtyZXR1cm4gYSYmIi8iIT09YVswXSYmKGE9Ii8iK2EpLHRoaXMu''@;'; put 'put ''X2xvY2F0aW9uU3RyYXRlZ3kucHJlcGFyZUV4dGVybmFsVXJsKGEpfWdvKGEsZD0iIixmPW51bGwpe3RoaXMuX2xvY2F0aW9uU3RyYXRlZ3kucHVzaFN0YXRlKGYsIiIsYSxkKSx0aGlzLl9ub3RpZnlVcmxDaGFuZ2VMaXN0ZW5lcnModGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwoYStiYShkKSks''@;'; put 'put ''Zil9cmVwbGFjZVN0YXRlKGEsZD0iIixmPW51bGwpe3RoaXMuX2xvY2F0aW9uU3RyYXRlZ3kucmVwbGFjZVN0YXRlKGYsIiIsYSxkKSx0aGlzLl9ub3RpZnlVcmxDaGFuZ2VMaXN0ZW5lcnModGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwoYStiYShkKSksZil9Zm9yd2FyZCgpe3RoaXMuX2xvY2F0''@;'; put 'put ''aW9uU3RyYXRlZ3kuZm9yd2FyZCgpfWJhY2soKXt0aGlzLl9sb2NhdGlvblN0cmF0ZWd5LmJhY2soKX1oaXN0b3J5R28oYT0wKXt2YXIgZCxmO251bGw9PT0oZj0oZD10aGlzLl9sb2NhdGlvblN0cmF0ZWd5KS5oaXN0b3J5R28pfHx2b2lkIDA9PT1mfHxmLmNhbGwoZCxhKX1vblVybENoYW5n''@;'; put 'put ''ZShhKXtyZXR1cm4gdGhpcy5fdXJsQ2hhbmdlTGlzdGVuZXJzLnB1c2goYSksdGhpcy5fdXJsQ2hhbmdlU3Vic2NyaXB0aW9ufHwodGhpcy5fdXJsQ2hhbmdlU3Vic2NyaXB0aW9uPXRoaXMuc3Vic2NyaWJlKGQ9Pnt0aGlzLl9ub3RpZnlVcmxDaGFuZ2VMaXN0ZW5lcnMoZC51cmwsZC5zdGF0''@;'; put 'put ''ZSl9KSksKCk9Pnt2YXIgZDtjb25zdCBmPXRoaXMuX3VybENoYW5nZUxpc3RlbmVycy5pbmRleE9mKGEpO3RoaXMuX3VybENoYW5nZUxpc3RlbmVycy5zcGxpY2UoZiwxKSwwPT09dGhpcy5fdXJsQ2hhbmdlTGlzdGVuZXJzLmxlbmd0aCYmKG51bGw9PT0oZD10aGlzLl91cmxDaGFuZ2VTdWJz''@;'; put 'put ''Y3JpcHRpb24pfHx2b2lkIDA9PT1kfHxkLnVuc3Vic2NyaWJlKCksdGhpcy5fdXJsQ2hhbmdlU3Vic2NyaXB0aW9uPW51bGwpfX1fbm90aWZ5VXJsQ2hhbmdlTGlzdGVuZXJzKGE9IiIsZCl7dGhpcy5fdXJsQ2hhbmdlTGlzdGVuZXJzLmZvckVhY2goZj0+ZihhLGQpKX1zdWJzY3JpYmUoYSxk''@;'; put 'put ''LGYpe3JldHVybiB0aGlzLl9zdWJqZWN0LnN1YnNjcmliZSh7bmV4dDphLGVycm9yOmQsY29tcGxldGU6Zn0pfX1yZXR1cm4gbC5ub3JtYWxpemVRdWVyeVBhcmFtcz1iYSxsLmpvaW5XaXRoU2xhc2g9V3YsbC5zdHJpcFRyYWlsaW5nU2xhc2g9bjYsbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7''@;'; put 'put ''cmV0dXJuIG5ldyhhfHxsKShFdChObCkpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBxOSgpe3JldHVybiBuZXcgcXYoRXQoTmwpKX0oKX0scHJvdmlkZWRJbjoicm9vdCJ9KSxsfSkoKTtmdW5jdGlvbiBvNihsKXtyZXR1cm4g''@;'; put 'put ''bC5yZXBsYWNlKC9cL2luZGV4Lmh0bWwkLywiIil9bGV0IG5sPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdil7dGhpcy5faXRlcmFibGVEaWZmZXJzPWEsdGhpcy5fa2V5VmFsdWVEaWZmZXJzPWQsdGhpcy5fbmdFbD1mLHRoaXMuX3JlbmRlcmVyPXYsdGhpcy5faXRlcmFibGVE''@;'; put 'put ''aWZmZXI9bnVsbCx0aGlzLl9rZXlWYWx1ZURpZmZlcj1udWxsLHRoaXMuX2luaXRpYWxDbGFzc2VzPVtdLHRoaXMuX3Jhd0NsYXNzPW51bGx9c2V0IGtsYXNzKGEpe3RoaXMuX3JlbW92ZUNsYXNzZXModGhpcy5faW5pdGlhbENsYXNzZXMpLHRoaXMuX2luaXRpYWxDbGFzc2VzPSJzdHJpbmci''@;'; put 'put ''PT10eXBlb2YgYT9hLnNwbGl0KC9ccysvKTpbXSx0aGlzLl9hcHBseUNsYXNzZXModGhpcy5faW5pdGlhbENsYXNzZXMpLHRoaXMuX2FwcGx5Q2xhc3Nlcyh0aGlzLl9yYXdDbGFzcyl9c2V0IG5nQ2xhc3MoYSl7dGhpcy5fcmVtb3ZlQ2xhc3Nlcyh0aGlzLl9yYXdDbGFzcyksdGhpcy5fYXBw''@;'; put 'put ''bHlDbGFzc2VzKHRoaXMuX2luaXRpYWxDbGFzc2VzKSx0aGlzLl9pdGVyYWJsZURpZmZlcj1udWxsLHRoaXMuX2tleVZhbHVlRGlmZmVyPW51bGwsdGhpcy5fcmF3Q2xhc3M9InN0cmluZyI9PXR5cGVvZiBhP2Euc3BsaXQoL1xzKy8pOmEsdGhpcy5fcmF3Q2xhc3MmJihWZCh0aGlzLl9yYXdD''@;'; put 'put ''bGFzcyk/dGhpcy5faXRlcmFibGVEaWZmZXI9dGhpcy5faXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5fcmF3Q2xhc3MpLmNyZWF0ZSgpOnRoaXMuX2tleVZhbHVlRGlmZmVyPXRoaXMuX2tleVZhbHVlRGlmZmVycy5maW5kKHRoaXMuX3Jhd0NsYXNzKS5jcmVhdGUoKSl9bmdEb0NoZWNrKCl7''@;'; put 'put ''aWYodGhpcy5faXRlcmFibGVEaWZmZXIpe2NvbnN0IGE9dGhpcy5faXRlcmFibGVEaWZmZXIuZGlmZih0aGlzLl9yYXdDbGFzcyk7YSYmdGhpcy5fYXBwbHlJdGVyYWJsZUNoYW5nZXMoYSl9ZWxzZSBpZih0aGlzLl9rZXlWYWx1ZURpZmZlcil7Y29uc3QgYT10aGlzLl9rZXlWYWx1ZURpZmZl''@;'; put 'put ''ci5kaWZmKHRoaXMuX3Jhd0NsYXNzKTthJiZ0aGlzLl9hcHBseUtleVZhbHVlQ2hhbmdlcyhhKX19X2FwcGx5S2V5VmFsdWVDaGFuZ2VzKGEpe2EuZm9yRWFjaEFkZGVkSXRlbShkPT50aGlzLl90b2dnbGVDbGFzcyhkLmtleSxkLmN1cnJlbnRWYWx1ZSkpLGEuZm9yRWFjaENoYW5nZWRJdGVt''@;'; put 'put ''KGQ9PnRoaXMuX3RvZ2dsZUNsYXNzKGQua2V5LGQuY3VycmVudFZhbHVlKSksYS5mb3JFYWNoUmVtb3ZlZEl0ZW0oZD0+e2QucHJldmlvdXNWYWx1ZSYmdGhpcy5fdG9nZ2xlQ2xhc3MoZC5rZXksITEpfSl9X2FwcGx5SXRlcmFibGVDaGFuZ2VzKGEpe2EuZm9yRWFjaEFkZGVkSXRlbShkPT57''@;'; put 'put ''aWYoInN0cmluZyIhPXR5cGVvZiBkLml0ZW0pdGhyb3cgbmV3IEVycm9yKGBOZ0NsYXNzIGNhbiBvbmx5IHRvZ2dsZSBDU1MgY2xhc3NlcyBleHByZXNzZWQgYXMgc3RyaW5ncywgZ290ICR7dm4oZC5pdGVtKX1gKTt0aGlzLl90b2dnbGVDbGFzcyhkLml0ZW0sITApfSksYS5mb3JFYWNoUmVt''@;'; put 'put ''b3ZlZEl0ZW0oZD0+dGhpcy5fdG9nZ2xlQ2xhc3MoZC5pdGVtLCExKSl9X2FwcGx5Q2xhc3NlcyhhKXthJiYoQXJyYXkuaXNBcnJheShhKXx8YSBpbnN0YW5jZW9mIFNldD9hLmZvckVhY2goZD0+dGhpcy5fdG9nZ2xlQ2xhc3MoZCwhMCkpOk9iamVjdC5rZXlzKGEpLmZvckVhY2goZD0+dGhp''@;'; put 'put ''cy5fdG9nZ2xlQ2xhc3MoZCwhIWFbZF0pKSl9X3JlbW92ZUNsYXNzZXMoYSl7YSYmKEFycmF5LmlzQXJyYXkoYSl8fGEgaW5zdGFuY2VvZiBTZXQ/YS5mb3JFYWNoKGQ9PnRoaXMuX3RvZ2dsZUNsYXNzKGQsITEpKTpPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGQ9PnRoaXMuX3RvZ2dsZUNsYXNz''@;'; put 'put ''KGQsITEpKSl9X3RvZ2dsZUNsYXNzKGEsZCl7KGE9YS50cmltKCkpJiZhLnNwbGl0KC9ccysvZykuZm9yRWFjaChmPT57ZD90aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9uZ0VsLm5hdGl2ZUVsZW1lbnQsZik6dGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fbmdFbC5uYXRp''@;'; put 'put ''dmVFbGVtZW50LGYpfSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKHB1KSxtZShpaCksbWUoaG4pLG1lKFduKSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsIm5nQ2xhc3MiLCIiXV0saW5wdXRzOntrbGFzczpbImNs''@;'; put 'put ''YXNzIiwia2xhc3MiXSxuZ0NsYXNzOiJuZ0NsYXNzIn0sc3RhbmRhbG9uZTohMH0pLGx9KSgpO2NsYXNzIEFMe2NvbnN0cnVjdG9yKGMsYSxkLGYpe3RoaXMuJGltcGxpY2l0PWMsdGhpcy5uZ0Zvck9mPWEsdGhpcy5pbmRleD1kLHRoaXMuY291bnQ9Zn1nZXQgZmlyc3QoKXtyZXR1cm4gMD09''@;'; put 'put ''PXRoaXMuaW5kZXh9Z2V0IGxhc3QoKXtyZXR1cm4gdGhpcy5pbmRleD09PXRoaXMuY291bnQtMX1nZXQgZXZlbigpe3JldHVybiB0aGlzLmluZGV4JTI9PTB9Z2V0IG9kZCgpe3JldHVybiF0aGlzLmV2ZW59fWxldCB2bz0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmKXt0aGlzLl92''@;'; put 'put ''aWV3Q29udGFpbmVyPWEsdGhpcy5fdGVtcGxhdGU9ZCx0aGlzLl9kaWZmZXJzPWYsdGhpcy5fbmdGb3JPZj1udWxsLHRoaXMuX25nRm9yT2ZEaXJ0eT0hMCx0aGlzLl9kaWZmZXI9bnVsbH1zZXQgbmdGb3JPZihhKXt0aGlzLl9uZ0Zvck9mPWEsdGhpcy5fbmdGb3JPZkRpcnR5PSEwfXNldCBu''@;'; put 'put ''Z0ZvclRyYWNrQnkoYSl7dGhpcy5fdHJhY2tCeUZuPWF9Z2V0IG5nRm9yVHJhY2tCeSgpe3JldHVybiB0aGlzLl90cmFja0J5Rm59c2V0IG5nRm9yVGVtcGxhdGUoYSl7YSYmKHRoaXMuX3RlbXBsYXRlPWEpfW5nRG9DaGVjaygpe2lmKHRoaXMuX25nRm9yT2ZEaXJ0eSl7dGhpcy5fbmdGb3JP''@;'; put 'put ''ZkRpcnR5PSExO2NvbnN0IGE9dGhpcy5fbmdGb3JPZjshdGhpcy5fZGlmZmVyJiZhJiYodGhpcy5fZGlmZmVyPXRoaXMuX2RpZmZlcnMuZmluZChhKS5jcmVhdGUodGhpcy5uZ0ZvclRyYWNrQnkpKX1pZih0aGlzLl9kaWZmZXIpe2NvbnN0IGE9dGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fbmdG''@;'; put 'put ''b3JPZik7YSYmdGhpcy5fYXBwbHlDaGFuZ2VzKGEpfX1fYXBwbHlDaGFuZ2VzKGEpe2NvbnN0IGQ9dGhpcy5fdmlld0NvbnRhaW5lcjthLmZvckVhY2hPcGVyYXRpb24oKGYsdix4KT0+e2lmKG51bGw9PWYucHJldmlvdXNJbmRleClkLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0''@;'; put 'put ''ZSxuZXcgQUwoZi5pdGVtLHRoaXMuX25nRm9yT2YsLTEsLTEpLG51bGw9PT14P3ZvaWQgMDp4KTtlbHNlIGlmKG51bGw9PXgpZC5yZW1vdmUobnVsbD09PXY/dm9pZCAwOnYpO2Vsc2UgaWYobnVsbCE9PXYpe2NvbnN0IEg9ZC5nZXQodik7ZC5tb3ZlKEgseCksbTYoSCxmKX19KTtmb3IobGV0''@;'; put 'put ''IGY9MCx2PWQubGVuZ3RoO2Y8djtmKyspe2NvbnN0IEg9ZC5nZXQoZikuY29udGV4dDtILmluZGV4PWYsSC5jb3VudD12LEgubmdGb3JPZj10aGlzLl9uZ0Zvck9mfWEuZm9yRWFjaElkZW50aXR5Q2hhbmdlKGY9PnttNihkLmdldChmLmN1cnJlbnRJbmRleCksZil9KX1zdGF0aWMgbmdUZW1w''@;'; put 'put ''bGF0ZUNvbnRleHRHdWFyZChhLGQpe3JldHVybiEwfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShzciksbWUoS3IpLG1lKHB1KSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsIm5nRm9yIiwiIiwibmdGb3JPZiIsIiJd''@;'; put 'put ''XSxpbnB1dHM6e25nRm9yT2Y6Im5nRm9yT2YiLG5nRm9yVHJhY2tCeToibmdGb3JUcmFja0J5IixuZ0ZvclRlbXBsYXRlOiJuZ0ZvclRlbXBsYXRlIn0sc3RhbmRhbG9uZTohMH0pLGx9KSgpO2Z1bmN0aW9uIG02KGwsYyl7bC5jb250ZXh0LiRpbXBsaWNpdD1jLml0ZW19bGV0IGVyPSgoKT0+''@;'; put 'put ''e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkKXt0aGlzLl92aWV3Q29udGFpbmVyPWEsdGhpcy5fY29udGV4dD1uZXcgVEwsdGhpcy5fdGhlblRlbXBsYXRlUmVmPW51bGwsdGhpcy5fZWxzZVRlbXBsYXRlUmVmPW51bGwsdGhpcy5fdGhlblZpZXdSZWY9bnVsbCx0aGlzLl9lbHNlVmlld1JlZj1u''@;'; put 'put ''dWxsLHRoaXMuX3RoZW5UZW1wbGF0ZVJlZj1kfXNldCBuZ0lmKGEpe3RoaXMuX2NvbnRleHQuJGltcGxpY2l0PXRoaXMuX2NvbnRleHQubmdJZj1hLHRoaXMuX3VwZGF0ZVZpZXcoKX1zZXQgbmdJZlRoZW4oYSl7YjYoIm5nSWZUaGVuIixhKSx0aGlzLl90aGVuVGVtcGxhdGVSZWY9YSx0aGlz''@;'; put 'put ''Ll90aGVuVmlld1JlZj1udWxsLHRoaXMuX3VwZGF0ZVZpZXcoKX1zZXQgbmdJZkVsc2UoYSl7YjYoIm5nSWZFbHNlIixhKSx0aGlzLl9lbHNlVGVtcGxhdGVSZWY9YSx0aGlzLl9lbHNlVmlld1JlZj1udWxsLHRoaXMuX3VwZGF0ZVZpZXcoKX1fdXBkYXRlVmlldygpe3RoaXMuX2NvbnRleHQu''@;'; put 'put ''JGltcGxpY2l0P3RoaXMuX3RoZW5WaWV3UmVmfHwodGhpcy5fdmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX2Vsc2VWaWV3UmVmPW51bGwsdGhpcy5fdGhlblRlbXBsYXRlUmVmJiYodGhpcy5fdGhlblZpZXdSZWY9dGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhp''@;'; put 'put ''cy5fdGhlblRlbXBsYXRlUmVmLHRoaXMuX2NvbnRleHQpKSk6dGhpcy5fZWxzZVZpZXdSZWZ8fCh0aGlzLl92aWV3Q29udGFpbmVyLmNsZWFyKCksdGhpcy5fdGhlblZpZXdSZWY9bnVsbCx0aGlzLl9lbHNlVGVtcGxhdGVSZWYmJih0aGlzLl9lbHNlVmlld1JlZj10aGlzLl92aWV3Q29udGFp''@;'; put 'put ''bmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl9lbHNlVGVtcGxhdGVSZWYsdGhpcy5fY29udGV4dCkpKX1zdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChhLGQpe3JldHVybiEwfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShzciksbWUo''@;'; put 'put ''S3IpKX0sbC5cdTAyNzVkaXI9VHQoe3R5cGU6bCxzZWxlY3RvcnM6W1siIiwibmdJZiIsIiJdXSxpbnB1dHM6e25nSWY6Im5nSWYiLG5nSWZUaGVuOiJuZ0lmVGhlbiIsbmdJZkVsc2U6Im5nSWZFbHNlIn0sc3RhbmRhbG9uZTohMH0pLGx9KSgpO2NsYXNzIFRMe2NvbnN0cnVjdG9yKCl7dGhp''@;'; put 'put ''cy4kaW1wbGljaXQ9bnVsbCx0aGlzLm5nSWY9bnVsbH19ZnVuY3Rpb24gYjYobCxjKXtpZihjJiYhYy5jcmVhdGVFbWJlZGRlZFZpZXcpdGhyb3cgbmV3IEVycm9yKGAke2x9IG11c3QgYmUgYSBUZW1wbGF0ZVJlZiwgYnV0IHJlY2VpdmVkICcke3ZuKGMpfScuYCl9Y2xhc3MgaV97Y29uc3Ry''@;'; put 'put ''dWN0b3IoYyxhKXt0aGlzLl92aWV3Q29udGFpbmVyUmVmPWMsdGhpcy5fdGVtcGxhdGVSZWY9YSx0aGlzLl9jcmVhdGVkPSExfWNyZWF0ZSgpe3RoaXMuX2NyZWF0ZWQ9ITAsdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpfWRlc3Ry''@;'; put 'put ''b3koKXt0aGlzLl9jcmVhdGVkPSExLHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKX1lbmZvcmNlU3RhdGUoYyl7YyYmIXRoaXMuX2NyZWF0ZWQ/dGhpcy5jcmVhdGUoKTohYyYmdGhpcy5fY3JlYXRlZCYmdGhpcy5kZXN0cm95KCl9fWxldCBvZz0oKCk9PntjbGFzcyBse2NvbnN0cnVj''@;'; put 'put ''dG9yKCl7dGhpcy5fZGVmYXVsdFVzZWQ9ITEsdGhpcy5fY2FzZUNvdW50PTAsdGhpcy5fbGFzdENhc2VDaGVja0luZGV4PTAsdGhpcy5fbGFzdENhc2VzTWF0Y2hlZD0hMX1zZXQgbmdTd2l0Y2goYSl7dGhpcy5fbmdTd2l0Y2g9YSwwPT09dGhpcy5fY2FzZUNvdW50JiZ0aGlzLl91cGRhdGVE''@;'; put 'put ''ZWZhdWx0Q2FzZXMoITApfV9hZGRDYXNlKCl7cmV0dXJuIHRoaXMuX2Nhc2VDb3VudCsrfV9hZGREZWZhdWx0KGEpe3RoaXMuX2RlZmF1bHRWaWV3c3x8KHRoaXMuX2RlZmF1bHRWaWV3cz1bXSksdGhpcy5fZGVmYXVsdFZpZXdzLnB1c2goYSl9X21hdGNoQ2FzZShhKXtjb25zdCBkPWE9PXRo''@;'; put 'put ''aXMuX25nU3dpdGNoO3JldHVybiB0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkPXRoaXMuX2xhc3RDYXNlc01hdGNoZWR8fGQsdGhpcy5fbGFzdENhc2VDaGVja0luZGV4KyssdGhpcy5fbGFzdENhc2VDaGVja0luZGV4PT09dGhpcy5fY2FzZUNvdW50JiYodGhpcy5fdXBkYXRlRGVmYXVsdENhc2Vz''@;'; put 'put ''KCF0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkKSx0aGlzLl9sYXN0Q2FzZUNoZWNrSW5kZXg9MCx0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkPSExKSxkfV91cGRhdGVEZWZhdWx0Q2FzZXMoYSl7aWYodGhpcy5fZGVmYXVsdFZpZXdzJiZhIT09dGhpcy5fZGVmYXVsdFVzZWQpe3RoaXMuX2RlZmF1bHRV''@;'; put 'put ''c2VkPWE7Zm9yKGxldCBkPTA7ZDx0aGlzLl9kZWZhdWx0Vmlld3MubGVuZ3RoO2QrKyl0aGlzLl9kZWZhdWx0Vmlld3NbZF0uZW5mb3JjZVN0YXRlKGEpfX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2Vs''@;'; put 'put ''ZWN0b3JzOltbIiIsIm5nU3dpdGNoIiwiIl1dLGlucHV0czp7bmdTd2l0Y2g6Im5nU3dpdGNoIn0sc3RhbmRhbG9uZTohMH0pLGx9KSgpLHY2PSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYpe3RoaXMubmdTd2l0Y2g9ZixmLl9hZGRDYXNlKCksdGhpcy5fdmlldz1uZXcgaV8oYSxk''@;'; put 'put ''KX1uZ0RvQ2hlY2soKXt0aGlzLl92aWV3LmVuZm9yY2VTdGF0ZSh0aGlzLm5nU3dpdGNoLl9tYXRjaENhc2UodGhpcy5uZ1N3aXRjaENhc2UpKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoc3IpLG1lKEtyKSxtZShvZyw5KSl9LGwuXHUwMjc1''@;'; put 'put ''ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsIm5nU3dpdGNoQ2FzZSIsIiJdXSxpbnB1dHM6e25nU3dpdGNoQ2FzZToibmdTd2l0Y2hDYXNlIn0sc3RhbmRhbG9uZTohMH0pLGx9KSgpLF9hPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhpcy5fdmlld0NvbnRhaW5lclJlZj1h''@;'; put 'put ''LHRoaXMuX3ZpZXdSZWY9bnVsbCx0aGlzLm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0PW51bGwsdGhpcy5uZ1RlbXBsYXRlT3V0bGV0PW51bGwsdGhpcy5uZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3I9bnVsbH1uZ09uQ2hhbmdlcyhhKXtpZihhLm5nVGVtcGxhdGVPdXRsZXR8fGEubmdUZW1wbGF0''@;'; put 'put ''ZU91dGxldEluamVjdG9yKXtjb25zdCBkPXRoaXMuX3ZpZXdDb250YWluZXJSZWY7aWYodGhpcy5fdmlld1JlZiYmZC5yZW1vdmUoZC5pbmRleE9mKHRoaXMuX3ZpZXdSZWYpKSx0aGlzLm5nVGVtcGxhdGVPdXRsZXQpe2NvbnN0e25nVGVtcGxhdGVPdXRsZXQ6ZixuZ1RlbXBsYXRlT3V0bGV0''@;'; put 'put ''Q29udGV4dDp2LG5nVGVtcGxhdGVPdXRsZXRJbmplY3Rvcjp4fT10aGlzO3RoaXMuX3ZpZXdSZWY9ZC5jcmVhdGVFbWJlZGRlZFZpZXcoZix2LHg/e2luamVjdG9yOnh9OnZvaWQgMCl9ZWxzZSB0aGlzLl92aWV3UmVmPW51bGx9ZWxzZSB0aGlzLl92aWV3UmVmJiZhLm5nVGVtcGxhdGVPdXRs''@;'; put 'put ''ZXRDb250ZXh0JiZ0aGlzLm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0JiYodGhpcy5fdmlld1JlZi5jb250ZXh0PXRoaXMubmdUZW1wbGF0ZU91dGxldENvbnRleHQpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShzcikpfSxsLlx1MDI3NWRpcj1U''@;'; put 'put ''dCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLCJuZ1RlbXBsYXRlT3V0bGV0IiwiIl1dLGlucHV0czp7bmdUZW1wbGF0ZU91dGxldENvbnRleHQ6Im5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IixuZ1RlbXBsYXRlT3V0bGV0OiJuZ1RlbXBsYXRlT3V0bGV0IixuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0''@;'; put 'put ''b3I6Im5nVGVtcGxhdGVPdXRsZXRJbmplY3RvciJ9LHN0YW5kYWxvbmU6ITAsZmVhdHVyZXM6W3VpXX0pLGx9KSgpLHk2PSgoKT0+e2NsYXNzIGx7dHJhbnNmb3JtKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShhLG51bGwsMil9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1''@;'; put 'put ''cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXBpcGU9SWkoe25hbWU6Impzb24iLHR5cGU6bCxwdXJlOiExLHN0YW5kYWxvbmU6ITB9KSxsfSkoKSxHbj0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5''@;'; put 'put ''cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHt9KSxsfSkoKTtjb25zdCBNNj0iYnJvd3NlciI7ZnVuY3Rpb24gd3IobCl7cmV0dXJuIGw9PT1NNn1sZXQgb0k9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxwcm92aWRlZEluOiJyb290IixmYWN0b3J5OigpPT5u''@;'; put 'put ''ZXcgc0koRXQoUnIpLHdpbmRvdyl9KSxsfSkoKTtjbGFzcyBzSXtjb25zdHJ1Y3RvcihjLGEpe3RoaXMuZG9jdW1lbnQ9Yyx0aGlzLndpbmRvdz1hLHRoaXMub2Zmc2V0PSgpPT5bMCwwXX1zZXRPZmZzZXQoYyl7dGhpcy5vZmZzZXQ9QXJyYXkuaXNBcnJheShjKT8oKT0+YzpjfWdldFNjcm9s''@;'; put 'put ''bFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuc3VwcG9ydHNTY3JvbGxpbmcoKT9bdGhpcy53aW5kb3cucGFnZVhPZmZzZXQsdGhpcy53aW5kb3cucGFnZVlPZmZzZXRdOlswLDBdfXNjcm9sbFRvUG9zaXRpb24oYyl7dGhpcy5zdXBwb3J0c1Njcm9sbGluZygpJiZ0aGlzLndpbmRvdy5zY3JvbGxU''@;'; put 'put ''byhjWzBdLGNbMV0pfXNjcm9sbFRvQW5jaG9yKGMpe2lmKCF0aGlzLnN1cHBvcnRzU2Nyb2xsaW5nKCkpcmV0dXJuO2NvbnN0IGE9ZnVuY3Rpb24gYUkobCxjKXtjb25zdCBhPWwuZ2V0RWxlbWVudEJ5SWQoYyl8fGwuZ2V0RWxlbWVudHNCeU5hbWUoYylbMF07aWYoYSlyZXR1cm4gYTtpZigi''@;'; put 'put ''ZnVuY3Rpb24iPT10eXBlb2YgbC5jcmVhdGVUcmVlV2Fsa2VyJiZsLmJvZHkmJihsLmJvZHkuY3JlYXRlU2hhZG93Um9vdHx8bC5ib2R5LmF0dGFjaFNoYWRvdykpe2NvbnN0IGQ9bC5jcmVhdGVUcmVlV2Fsa2VyKGwuYm9keSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCk7bGV0IGY9ZC5jdXJy''@;'; put 'put ''ZW50Tm9kZTtmb3IoO2Y7KXtjb25zdCB2PWYuc2hhZG93Um9vdDtpZih2KXtjb25zdCB4PXYuZ2V0RWxlbWVudEJ5SWQoYyl8fHYucXVlcnlTZWxlY3RvcihgW25hbWU9IiR7Y30iXWApO2lmKHgpcmV0dXJuIHh9Zj1kLm5leHROb2RlKCl9fXJldHVybiBudWxsfSh0aGlzLmRvY3VtZW50LGMp''@;'; put 'put ''O2EmJih0aGlzLnNjcm9sbFRvRWxlbWVudChhKSxhLmZvY3VzKCkpfXNldEhpc3RvcnlTY3JvbGxSZXN0b3JhdGlvbihjKXtpZih0aGlzLnN1cHBvcnRTY3JvbGxSZXN0b3JhdGlvbigpKXtjb25zdCBhPXRoaXMud2luZG93Lmhpc3Rvcnk7YSYmYS5zY3JvbGxSZXN0b3JhdGlvbiYmKGEuc2Ny''@;'; put 'put ''b2xsUmVzdG9yYXRpb249Yyl9fXNjcm9sbFRvRWxlbWVudChjKXtjb25zdCBhPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZD1hLmxlZnQrdGhpcy53aW5kb3cucGFnZVhPZmZzZXQsZj1hLnRvcCt0aGlzLndpbmRvdy5wYWdlWU9mZnNldCx2PXRoaXMub2Zmc2V0KCk7dGhpcy53aW5kb3cu''@;'; put 'put ''c2Nyb2xsVG8oZC12WzBdLGYtdlsxXSl9c3VwcG9ydFNjcm9sbFJlc3RvcmF0aW9uKCl7dHJ5e2lmKCF0aGlzLnN1cHBvcnRzU2Nyb2xsaW5nKCkpcmV0dXJuITE7Y29uc3QgYz1DNih0aGlzLndpbmRvdy5oaXN0b3J5KXx8QzYoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMud2luZG93Lmhp''@;'; put 'put ''c3RvcnkpKTtyZXR1cm4hKCFjfHwhYy53cml0YWJsZSYmIWMuc2V0KX1jYXRjaChjKXtyZXR1cm4hMX19c3VwcG9ydHNTY3JvbGxpbmcoKXt0cnl7cmV0dXJuISF0aGlzLndpbmRvdyYmISF0aGlzLndpbmRvdy5zY3JvbGxUbyYmInBhZ2VYT2Zmc2V0ImluIHRoaXMud2luZG93fWNhdGNoKGMp''@;'; put 'put ''e3JldHVybiExfX19ZnVuY3Rpb24gQzYobCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobCwic2Nyb2xsUmVzdG9yYXRpb24iKX1jbGFzcyBsXyBleHRlbmRzIGNsYXNzIGNJIGV4dGVuZHMgY2xhc3MgQjl7fXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50''@;'; put 'put ''cyksdGhpcy5zdXBwb3J0c0RPTUV2ZW50cz0hMH19e3N0YXRpYyBtYWtlQ3VycmVudCgpeyFmdW5jdGlvbiB6OShsKXtLcHx8KEtwPWwpfShuZXcgbF8pfW9uQW5kQ2FuY2VsKGMsYSxkKXtyZXR1cm4gYy5hZGRFdmVudExpc3RlbmVyKGEsZCwhMSksKCk9PntjLnJlbW92ZUV2ZW50TGlzdGVu''@;'; put 'put ''ZXIoYSxkLCExKX19ZGlzcGF0Y2hFdmVudChjLGEpe2MuZGlzcGF0Y2hFdmVudChhKX1yZW1vdmUoYyl7Yy5wYXJlbnROb2RlJiZjLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYyl9Y3JlYXRlRWxlbWVudChjLGEpe3JldHVybihhPWF8fHRoaXMuZ2V0RGVmYXVsdERvY3VtZW50KCkpLmNyZWF0''@;'; put 'put ''ZUVsZW1lbnQoYyl9Y3JlYXRlSHRtbERvY3VtZW50KCl7cmV0dXJuIGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiZmFrZVRpdGxlIil9Z2V0RGVmYXVsdERvY3VtZW50KCl7cmV0dXJuIGRvY3VtZW50fWlzRWxlbWVudE5vZGUoYyl7cmV0dXJuIGMubm9kZVR5''@;'; put 'put ''cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX1pc1NoYWRvd1Jvb3QoYyl7cmV0dXJuIGMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50fWdldEdsb2JhbEV2ZW50VGFyZ2V0KGMsYSl7cmV0dXJuIndpbmRvdyI9PT1hP3dpbmRvdzoiZG9jdW1lbnQiPT09YT9jOiJib2R5Ij09PWE/Yy5ib2R5Om51''@;'; put 'put ''bGx9Z2V0QmFzZUhyZWYoYyl7Y29uc3QgYT1mdW5jdGlvbiB1SSgpe3JldHVybiBsaD1saHx8ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYmFzZSIpLGxoP2xoLmdldEF0dHJpYnV0ZSgiaHJlZiIpOm51bGx9KCk7cmV0dXJuIG51bGw9PWE/bnVsbDpmdW5jdGlvbiBkSShsKXtzZz1zZ3x8ZG9j''@;'; put 'put ''dW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLHNnLnNldEF0dHJpYnV0ZSgiaHJlZiIsbCk7Y29uc3QgYz1zZy5wYXRobmFtZTtyZXR1cm4iLyI9PT1jLmNoYXJBdCgwKT9jOmAvJHtjfWB9KGEpfXJlc2V0QmFzZUVsZW1lbnQoKXtsaD1udWxsfWdldFVzZXJBZ2VudCgpe3JldHVybiB3aW5kb3cu''@;'; put 'put ''bmF2aWdhdG9yLnVzZXJBZ2VudH1nZXRDb29raWUoYyl7cmV0dXJuIGZ1bmN0aW9uIERMKGwsYyl7Yz1lbmNvZGVVUklDb21wb25lbnQoYyk7Zm9yKGNvbnN0IGEgb2YgbC5zcGxpdCgiOyIpKXtjb25zdCBkPWEuaW5kZXhPZigiPSIpLFtmLHZdPS0xPT1kP1thLCIiXTpbYS5zbGljZSgwLGQp''@;'; put 'put ''LGEuc2xpY2UoZCsxKV07aWYoZi50cmltKCk9PT1jKXJldHVybiBkZWNvZGVVUklDb21wb25lbnQodil9cmV0dXJuIG51bGx9KGRvY3VtZW50LmNvb2tpZSxjKX19bGV0IHNnLGxoPW51bGw7Y29uc3QgazY9bmV3IE9uKCJUUkFOU0lUSU9OX0lEIiksZkk9W3twcm92aWRlOlVwLHVzZUZhY3Rv''@;'; put 'put ''cnk6ZnVuY3Rpb24gaEkobCxjLGEpe3JldHVybigpPT57YS5nZXQoV3ApLmRvbmVQcm9taXNlLnRoZW4oKCk9Pntjb25zdCBkPXFzKCksZj1jLnF1ZXJ5U2VsZWN0b3JBbGwoYHN0eWxlW25nLXRyYW5zaXRpb249IiR7bH0iXWApO2ZvcihsZXQgdj0wO3Y8Zi5sZW5ndGg7disrKWQucmVtb3Zl''@;'; put 'put ''KGZbdl0pfSl9fSxkZXBzOltrNixScixWcl0sbXVsdGk6ITB9XTtsZXQgZ0k9KCgpPT57Y2xhc3MgbHtidWlsZCgpe3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2Vu''@;'; put 'put ''OmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpO2NvbnN0IGFnPW5ldyBPbigiRXZlbnRNYW5hZ2VyUGx1Z2lucyIpO2xldCBsZz0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCl7dGhpcy5fem9uZT1kLHRoaXMuX2V2ZW50TmFtZVRvUGx1Z2luPW5ldyBNYXAsYS5mb3JFYWNoKGY9''@;'; put 'put ''PmYubWFuYWdlcj10aGlzKSx0aGlzLl9wbHVnaW5zPWEuc2xpY2UoKS5yZXZlcnNlKCl9YWRkRXZlbnRMaXN0ZW5lcihhLGQsZil7cmV0dXJuIHRoaXMuX2ZpbmRQbHVnaW5Gb3IoZCkuYWRkRXZlbnRMaXN0ZW5lcihhLGQsZil9YWRkR2xvYmFsRXZlbnRMaXN0ZW5lcihhLGQsZil7cmV0dXJu''@;'; put 'put ''IHRoaXMuX2ZpbmRQbHVnaW5Gb3IoZCkuYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcihhLGQsZil9Z2V0Wm9uZSgpe3JldHVybiB0aGlzLl96b25lfV9maW5kUGx1Z2luRm9yKGEpe2NvbnN0IGQ9dGhpcy5fZXZlbnROYW1lVG9QbHVnaW4uZ2V0KGEpO2lmKGQpcmV0dXJuIGQ7Y29uc3QgZj10aGlz''@;'; put 'put ''Ll9wbHVnaW5zO2ZvcihsZXQgdj0wO3Y8Zi5sZW5ndGg7disrKXtjb25zdCB4PWZbdl07aWYoeC5zdXBwb3J0cyhhKSlyZXR1cm4gdGhpcy5fZXZlbnROYW1lVG9QbHVnaW4uc2V0KGEseCkseH10aHJvdyBuZXcgRXJyb3IoYE5vIGV2ZW50IG1hbmFnZXIgcGx1Z2luIGZvdW5kIGZvciBldmVu''@;'; put 'put ''dCAke2F9YCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KGFnKSxFdChucikpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpO2NsYXNzIGo2e2NvbnN0cnVjdG9yKGMpe3RoaXMuX2RvYz1jfWFk''@;'; put 'put ''ZEdsb2JhbEV2ZW50TGlzdGVuZXIoYyxhLGQpe2NvbnN0IGY9cXMoKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsYyk7aWYoIWYpdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBldmVudCB0YXJnZXQgJHtmfSBmb3IgZXZlbnQgJHthfWApO3JldHVybiB0aGlzLmFkZEV2ZW50''@;'; put 'put ''TGlzdGVuZXIoZixhLGQpfX1sZXQgUzY9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX3N0eWxlc1NldD1uZXcgU2V0fWFkZFN0eWxlcyhhKXtjb25zdCBkPW5ldyBTZXQ7YS5mb3JFYWNoKGY9Pnt0aGlzLl9zdHlsZXNTZXQuaGFzKGYpfHwodGhpcy5fc3R5bGVzU2V0LmFkZChm''@;'; put 'put ''KSxkLmFkZChmKSl9KSx0aGlzLm9uU3R5bGVzQWRkZWQoZCl9b25TdHlsZXNBZGRlZChhKXt9Z2V0QWxsU3R5bGVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fc3R5bGVzU2V0KX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJv''@;'; put 'put ''dj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCksY2g9KCgpPT57Y2xhc3MgbCBleHRlbmRzIFM2e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCksdGhpcy5fZG9jPWEsdGhpcy5faG9zdE5vZGVzPW5ldyBNYXAsdGhpcy5faG9zdE5vZGVzLnNldChhLmhlYWQsW10pfV9hZGRT''@;'; put 'put ''dHlsZXNUb0hvc3QoYSxkLGYpe2EuZm9yRWFjaCh2PT57Y29uc3QgeD10aGlzLl9kb2MuY3JlYXRlRWxlbWVudCgic3R5bGUiKTt4LnRleHRDb250ZW50PXYsZi5wdXNoKGQuYXBwZW5kQ2hpbGQoeCkpfSl9YWRkSG9zdChhKXtjb25zdCBkPVtdO3RoaXMuX2FkZFN0eWxlc1RvSG9zdCh0aGlz''@;'; put 'put ''Ll9zdHlsZXNTZXQsYSxkKSx0aGlzLl9ob3N0Tm9kZXMuc2V0KGEsZCl9cmVtb3ZlSG9zdChhKXtjb25zdCBkPXRoaXMuX2hvc3ROb2Rlcy5nZXQoYSk7ZCYmZC5mb3JFYWNoKE82KSx0aGlzLl9ob3N0Tm9kZXMuZGVsZXRlKGEpfW9uU3R5bGVzQWRkZWQoYSl7dGhpcy5faG9zdE5vZGVzLmZv''@;'; put 'put ''ckVhY2goKGQsZik9Pnt0aGlzLl9hZGRTdHlsZXNUb0hvc3QoYSxmLGQpfSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9ob3N0Tm9kZXMuZm9yRWFjaChhPT5hLmZvckVhY2goTzYpKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQoUnIpKX0sbC5cdTAy''@;'; put 'put ''NzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKTtmdW5jdGlvbiBPNihsKXtxcygpLnJlbW92ZShsKX1jb25zdCBjXz17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseGh0bWw6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLHhsaW5rOiJo''@;'; put 'put ''dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIixtYXRoOiJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGhNTC8ifSx1Xz0vJUNPTVAlL2c7ZnVu''@;'; put 'put ''Y3Rpb24gY2cobCxjLGEpe2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZj1jW2RdO0FycmF5LmlzQXJyYXkoZik/Y2cobCxmLGEpOihmPWYucmVwbGFjZSh1XyxsKSxhLnB1c2goZikpfXJldHVybiBhfWZ1bmN0aW9uIHg2KGwpe3JldHVybiBjPT57aWYoIl9fbmdVbndyYXBfXyI9''@;'; put 'put ''PT1jKXJldHVybiBsOyExPT09bChjKSYmKGMucHJldmVudERlZmF1bHQoKSxjLnJldHVyblZhbHVlPSExKX19bGV0IHVnPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYpe3RoaXMuZXZlbnRNYW5hZ2VyPWEsdGhpcy5zaGFyZWRTdHlsZXNIb3N0PWQsdGhpcy5hcHBJZD1mLHRoaXMu''@;'; put 'put ''cmVuZGVyZXJCeUNvbXBJZD1uZXcgTWFwLHRoaXMuZGVmYXVsdFJlbmRlcmVyPW5ldyBkXyhhKX1jcmVhdGVSZW5kZXJlcihhLGQpe2lmKCFhfHwhZClyZXR1cm4gdGhpcy5kZWZhdWx0UmVuZGVyZXI7c3dpdGNoKGQuZW5jYXBzdWxhdGlvbil7Y2FzZSBjby5FbXVsYXRlZDp7bGV0IGY9dGhp''@;'; put 'put ''cy5yZW5kZXJlckJ5Q29tcElkLmdldChkLmlkKTtyZXR1cm4gZnx8KGY9bmV3IHdJKHRoaXMuZXZlbnRNYW5hZ2VyLHRoaXMuc2hhcmVkU3R5bGVzSG9zdCxkLHRoaXMuYXBwSWQpLHRoaXMucmVuZGVyZXJCeUNvbXBJZC5zZXQoZC5pZCxmKSksZi5hcHBseVRvSG9zdChhKSxmfWNhc2UgMTpj''@;'; put 'put ''YXNlIGNvLlNoYWRvd0RvbTpyZXR1cm4gbmV3IE1JKHRoaXMuZXZlbnRNYW5hZ2VyLHRoaXMuc2hhcmVkU3R5bGVzSG9zdCxhLGQpO2RlZmF1bHQ6aWYoIXRoaXMucmVuZGVyZXJCeUNvbXBJZC5oYXMoZC5pZCkpe2NvbnN0IGY9Y2coZC5pZCxkLnN0eWxlcyxbXSk7dGhpcy5zaGFyZWRTdHls''@;'; put 'put ''ZXNIb3N0LmFkZFN0eWxlcyhmKSx0aGlzLnJlbmRlcmVyQnlDb21wSWQuc2V0KGQuaWQsdGhpcy5kZWZhdWx0UmVuZGVyZXIpfXJldHVybiB0aGlzLmRlZmF1bHRSZW5kZXJlcn19YmVnaW4oKXt9ZW5kKCl7fX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxs''@;'; put 'put ''KShFdChsZyksRXQoY2gpLEV0KHRoKSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7Y2xhc3MgZF97Y29uc3RydWN0b3IoYyl7dGhpcy5ldmVudE1hbmFnZXI9Yyx0aGlzLmRhdGE9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLmRlc3Ryb3lO''@;'; put 'put ''b2RlPW51bGx9ZGVzdHJveSgpe31jcmVhdGVFbGVtZW50KGMsYSl7cmV0dXJuIGE/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGNfW2FdfHxhLGMpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYyl9Y3JlYXRlQ29tbWVudChjKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChjKX1jcmVh''@;'; put 'put ''dGVUZXh0KGMpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjKX1hcHBlbmRDaGlsZChjLGEpeyhFNihjKT9jLmNvbnRlbnQ6YykuYXBwZW5kQ2hpbGQoYSl9aW5zZXJ0QmVmb3JlKGMsYSxkKXtjJiYoRTYoYyk/Yy5jb250ZW50OmMpLmluc2VydEJlZm9yZShhLGQpfXJlbW92ZUNo''@;'; put 'put ''aWxkKGMsYSl7YyYmYy5yZW1vdmVDaGlsZChhKX1zZWxlY3RSb290RWxlbWVudChjLGEpe2xldCBkPSJzdHJpbmciPT10eXBlb2YgYz9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGMpOmM7aWYoIWQpdGhyb3cgbmV3IEVycm9yKGBUaGUgc2VsZWN0b3IgIiR7Y30iIGRpZCBub3QgbWF0Y2ggYW55''@;'; put 'put ''IGVsZW1lbnRzYCk7cmV0dXJuIGF8fChkLnRleHRDb250ZW50PSIiKSxkfXBhcmVudE5vZGUoYyl7cmV0dXJuIGMucGFyZW50Tm9kZX1uZXh0U2libGluZyhjKXtyZXR1cm4gYy5uZXh0U2libGluZ31zZXRBdHRyaWJ1dGUoYyxhLGQsZil7aWYoZil7YT1mKyI6IithO2NvbnN0IHY9Y19bZl07''@;'; put 'put ''dj9jLnNldEF0dHJpYnV0ZU5TKHYsYSxkKTpjLnNldEF0dHJpYnV0ZShhLGQpfWVsc2UgYy5zZXRBdHRyaWJ1dGUoYSxkKX1yZW1vdmVBdHRyaWJ1dGUoYyxhLGQpe2lmKGQpe2NvbnN0IGY9Y19bZF07Zj9jLnJlbW92ZUF0dHJpYnV0ZU5TKGYsYSk6Yy5yZW1vdmVBdHRyaWJ1dGUoYCR7ZH06''@;'; put 'put ''JHthfWApfWVsc2UgYy5yZW1vdmVBdHRyaWJ1dGUoYSl9YWRkQ2xhc3MoYyxhKXtjLmNsYXNzTGlzdC5hZGQoYSl9cmVtb3ZlQ2xhc3MoYyxhKXtjLmNsYXNzTGlzdC5yZW1vdmUoYSl9c2V0U3R5bGUoYyxhLGQsZil7ZiYocG8uRGFzaENhc2V8cG8uSW1wb3J0YW50KT9jLnN0eWxlLnNldFBy''@;'; put 'put ''b3BlcnR5KGEsZCxmJnBvLkltcG9ydGFudD8iaW1wb3J0YW50IjoiIik6Yy5zdHlsZVthXT1kfXJlbW92ZVN0eWxlKGMsYSxkKXtkJnBvLkRhc2hDYXNlP2Muc3R5bGUucmVtb3ZlUHJvcGVydHkoYSk6Yy5zdHlsZVthXT0iIn1zZXRQcm9wZXJ0eShjLGEsZCl7Y1thXT1kfXNldFZhbHVlKGMs''@;'; put 'put ''YSl7Yy5ub2RlVmFsdWU9YX1saXN0ZW4oYyxhLGQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgYz90aGlzLmV2ZW50TWFuYWdlci5hZGRHbG9iYWxFdmVudExpc3RlbmVyKGMsYSx4NihkKSk6dGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihjLGEseDYoZCkpfX1mdW5jdGlvbiBF''@;'; put 'put ''NihsKXtyZXR1cm4iVEVNUExBVEUiPT09bC50YWdOYW1lJiZ2b2lkIDAhPT1sLmNvbnRlbnR9Y2xhc3Mgd0kgZXh0ZW5kcyBkX3tjb25zdHJ1Y3RvcihjLGEsZCxmKXtzdXBlcihjKSx0aGlzLmNvbXBvbmVudD1kO2NvbnN0IHY9Y2coZisiLSIrZC5pZCxkLnN0eWxlcyxbXSk7YS5hZGRTdHls''@;'; put 'put ''ZXModiksdGhpcy5jb250ZW50QXR0cj1mdW5jdGlvbiB2SShsKXtyZXR1cm4iX25nY29udGVudC0lQ09NUCUiLnJlcGxhY2UodV8sbCl9KGYrIi0iK2QuaWQpLHRoaXMuaG9zdEF0dHI9ZnVuY3Rpb24gX0kobCl7cmV0dXJuIl9uZ2hvc3QtJUNPTVAlIi5yZXBsYWNlKHVfLGwpfShmKyItIitk''@;'; put 'put ''LmlkKX1hcHBseVRvSG9zdChjKXtzdXBlci5zZXRBdHRyaWJ1dGUoYyx0aGlzLmhvc3RBdHRyLCIiKX1jcmVhdGVFbGVtZW50KGMsYSl7Y29uc3QgZD1zdXBlci5jcmVhdGVFbGVtZW50KGMsYSk7cmV0dXJuIHN1cGVyLnNldEF0dHJpYnV0ZShkLHRoaXMuY29udGVudEF0dHIsIiIpLGR9fWNs''@;'; put 'put ''YXNzIE1JIGV4dGVuZHMgZF97Y29uc3RydWN0b3IoYyxhLGQsZil7c3VwZXIoYyksdGhpcy5zaGFyZWRTdHlsZXNIb3N0PWEsdGhpcy5ob3N0RWw9ZCx0aGlzLnNoYWRvd1Jvb3Q9ZC5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSksdGhpcy5zaGFyZWRTdHlsZXNIb3N0LmFkZEhvc3QodGhp''@;'; put 'put ''cy5zaGFkb3dSb290KTtjb25zdCB2PWNnKGYuaWQsZi5zdHlsZXMsW10pO2ZvcihsZXQgeD0wO3g8di5sZW5ndGg7eCsrKXtjb25zdCBIPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7SC50ZXh0Q29udGVudD12W3hdLHRoaXMuc2hhZG93Um9vdC5hcHBlbmRDaGlsZChIKX19bm9k''@;'; put 'put ''ZU9yU2hhZG93Um9vdChjKXtyZXR1cm4gYz09PXRoaXMuaG9zdEVsP3RoaXMuc2hhZG93Um9vdDpjfWRlc3Ryb3koKXt0aGlzLnNoYXJlZFN0eWxlc0hvc3QucmVtb3ZlSG9zdCh0aGlzLnNoYWRvd1Jvb3QpfWFwcGVuZENoaWxkKGMsYSl7cmV0dXJuIHN1cGVyLmFwcGVuZENoaWxkKHRoaXMu''@;'; put 'put ''bm9kZU9yU2hhZG93Um9vdChjKSxhKX1pbnNlcnRCZWZvcmUoYyxhLGQpe3JldHVybiBzdXBlci5pbnNlcnRCZWZvcmUodGhpcy5ub2RlT3JTaGFkb3dSb290KGMpLGEsZCl9cmVtb3ZlQ2hpbGQoYyxhKXtyZXR1cm4gc3VwZXIucmVtb3ZlQ2hpbGQodGhpcy5ub2RlT3JTaGFkb3dSb290KGMp''@;'; put 'put ''LGEpfXBhcmVudE5vZGUoYyl7cmV0dXJuIHRoaXMubm9kZU9yU2hhZG93Um9vdChzdXBlci5wYXJlbnROb2RlKHRoaXMubm9kZU9yU2hhZG93Um9vdChjKSkpfX1sZXQgQ0k9KCgpPT57Y2xhc3MgbCBleHRlbmRzIGo2e2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXN1cHBvcnRzKGEpe3JldHVy''@;'; put 'put ''biEwfWFkZEV2ZW50TGlzdGVuZXIoYSxkLGYpe3JldHVybiBhLmFkZEV2ZW50TGlzdGVuZXIoZCxmLCExKSwoKT0+dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZCxmKX1yZW1vdmVFdmVudExpc3RlbmVyKGEsZCxmKXtyZXR1cm4gYS5yZW1vdmVFdmVudExpc3RlbmVyKGQsZil9fXJldHVy''@;'; put 'put ''biBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFJyKSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7Y29uc3QgVDY9WyJhbHQiLCJjb250cm9sIiwibWV0YSIsInNoaWZ0Il0sakk9eyJcYiI6IkJhY2tzcGFj''@;'; put 'put ''ZSIsIlx0IjoiVGFiIiwiXHg3ZiI6IkRlbGV0ZSIsIlx4MWIiOiJFc2NhcGUiLERlbDoiRGVsZXRlIixFc2M6IkVzY2FwZSIsTGVmdDoiQXJyb3dMZWZ0IixSaWdodDoiQXJyb3dSaWdodCIsVXA6IkFycm93VXAiLERvd246IkFycm93RG93biIsTWVudToiQ29udGV4dE1lbnUiLFNjcm9sbDoi''@;'; put 'put ''U2Nyb2xsTG9jayIsV2luOiJPUyJ9LEw2PXtBOiIxIixCOiIyIixDOiIzIixEOiI0IixFOiI1IixGOiI2IixHOiI3IixIOiI4IixJOiI5IixKOiIqIixLOiIrIixNOiItIixOOiIuIixPOiIvIiwiYCI6IjAiLCJceDkwIjoiTnVtTG9jayJ9LFNJPXthbHQ6bD0+bC5hbHRLZXksY29udHJvbDps''@;'; put 'put ''PT5sLmN0cmxLZXksbWV0YTpsPT5sLm1ldGFLZXksc2hpZnQ6bD0+bC5zaGlmdEtleX07bGV0IE9JPSgoKT0+e2NsYXNzIGwgZXh0ZW5kcyBqNntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1zdXBwb3J0cyhhKXtyZXR1cm4gbnVsbCE9bC5wYXJzZUV2ZW50TmFtZShhKX1hZGRFdmVudExpc3Rl''@;'; put 'put ''bmVyKGEsZCxmKXtjb25zdCB2PWwucGFyc2VFdmVudE5hbWUoZCkseD1sLmV2ZW50Q2FsbGJhY2sodi5mdWxsS2V5LGYsdGhpcy5tYW5hZ2VyLmdldFpvbmUoKSk7cmV0dXJuIHRoaXMubWFuYWdlci5nZXRab25lKCkucnVuT3V0c2lkZUFuZ3VsYXIoKCk9PnFzKCkub25BbmRDYW5jZWwoYSx2''@;'; put 'put ''LmRvbUV2ZW50TmFtZSx4KSl9c3RhdGljIHBhcnNlRXZlbnROYW1lKGEpe2NvbnN0IGQ9YS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIiksZj1kLnNoaWZ0KCk7aWYoMD09PWQubGVuZ3RofHwia2V5ZG93biIhPT1mJiYia2V5dXAiIT09ZilyZXR1cm4gbnVsbDtjb25zdCB2PWwuX25vcm1hbGl6''@;'; put 'put ''ZUtleShkLnBvcCgpKTtsZXQgeD0iIjtpZihUNi5mb3JFYWNoKEs9Pntjb25zdCBlZT1kLmluZGV4T2YoSyk7ZWU+LTEmJihkLnNwbGljZShlZSwxKSx4Kz1LKyIuIil9KSx4Kz12LDAhPWQubGVuZ3RofHwwPT09di5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgSD17fTtyZXR1cm4gSC5kb21F''@;'; put 'put ''dmVudE5hbWU9ZixILmZ1bGxLZXk9eCxIfXN0YXRpYyBnZXRFdmVudEZ1bGxLZXkoYSl7bGV0IGQ9IiIsZj1mdW5jdGlvbiBQSShsKXtsZXQgYz1sLmtleTtpZihudWxsPT1jKXtpZihjPWwua2V5SWRlbnRpZmllcixudWxsPT1jKXJldHVybiJVbmlkZW50aWZpZWQiO2Muc3RhcnRzV2l0aCgi''@;'; put 'put ''VSsiKSYmKGM9U3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChjLnN1YnN0cmluZygyKSwxNikpLDM9PT1sLmxvY2F0aW9uJiZMNi5oYXNPd25Qcm9wZXJ0eShjKSYmKGM9TDZbY10pKX1yZXR1cm4gaklbY118fGN9KGEpO3JldHVybiBmPWYudG9Mb3dlckNhc2UoKSwiICI9PT1mP2Y9InNw''@;'; put 'put ''YWNlIjoiLiI9PT1mJiYoZj0iZG90IiksVDYuZm9yRWFjaCh2PT57diE9ZiYmKDAsU0lbdl0pKGEpJiYoZCs9disiLiIpfSksZCs9ZixkfXN0YXRpYyBldmVudENhbGxiYWNrKGEsZCxmKXtyZXR1cm4gdj0+e2wuZ2V0RXZlbnRGdWxsS2V5KHYpPT09YSYmZi5ydW5HdWFyZGVkKCgpPT5kKHYp''@;'; put 'put ''KX19c3RhdGljIF9ub3JtYWxpemVLZXkoYSl7cmV0dXJuImVzYyI9PT1hPyJlc2NhcGUiOmF9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFJyKSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7''@;'; put 'put ''Y29uc3QgSTY9W3twcm92aWRlOlhyLHVzZVZhbHVlOk02fSx7cHJvdmlkZTpqMyx1c2VWYWx1ZTpmdW5jdGlvbiBESSgpe2xfLm1ha2VDdXJyZW50KCl9LG11bHRpOiEwfSx7cHJvdmlkZTpScix1c2VGYWN0b3J5OmZ1bmN0aW9uIEFJKCl7cmV0dXJuIGZ1bmN0aW9uICQ4KGwpe0ptPWx9KGRv''@;'; put 'put ''Y3VtZW50KSxkb2N1bWVudH0sZGVwczpbXX1dLEVJPUYzKFI5LCJicm93c2VyIixJNiksRjY9bmV3IE9uKCIiKSxSNj1be3Byb3ZpZGU6cXAsdXNlQ2xhc3M6Y2xhc3MgcEl7YWRkVG9XaW5kb3coYyl7THIuZ2V0QW5ndWxhclRlc3RhYmlsaXR5PShkLGY9ITApPT57Y29uc3Qgdj1jLmZpbmRU''@;'; put 'put ''ZXN0YWJpbGl0eUluVHJlZShkLGYpO2lmKG51bGw9PXYpdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCB0ZXN0YWJpbGl0eSBmb3IgZWxlbWVudC4iKTtyZXR1cm4gdn0sTHIuZ2V0QWxsQW5ndWxhclRlc3RhYmlsaXRpZXM9KCk9PmMuZ2V0QWxsVGVzdGFiaWxpdGllcygpLExyLmdl''@;'; put 'put ''dEFsbEFuZ3VsYXJSb290RWxlbWVudHM9KCk9PmMuZ2V0QWxsUm9vdEVsZW1lbnRzKCksTHIuZnJhbWV3b3JrU3RhYmlsaXplcnN8fChMci5mcmFtZXdvcmtTdGFiaWxpemVycz1bXSksTHIuZnJhbWV3b3JrU3RhYmlsaXplcnMucHVzaChkPT57Y29uc3QgZj1Mci5nZXRBbGxBbmd1bGFyVGVz''@;'; put 'put ''dGFiaWxpdGllcygpO2xldCB2PWYubGVuZ3RoLHg9ITE7Y29uc3QgSD1mdW5jdGlvbihLKXt4PXh8fEssdi0tLDA9PXYmJmQoeCl9O2YuZm9yRWFjaChmdW5jdGlvbihLKXtLLndoZW5TdGFibGUoSCl9KX0pfWZpbmRUZXN0YWJpbGl0eUluVHJlZShjLGEsZCl7aWYobnVsbD09YSlyZXR1cm4g''@;'; put 'put ''bnVsbDtjb25zdCBmPWMuZ2V0VGVzdGFiaWxpdHkoYSk7cmV0dXJuIG51bGwhPWY/ZjpkP3FzKCkuaXNTaGFkb3dSb290KGEpP3RoaXMuZmluZFRlc3RhYmlsaXR5SW5UcmVlKGMsYS5ob3N0LCEwKTp0aGlzLmZpbmRUZXN0YWJpbGl0eUluVHJlZShjLGEucGFyZW50RWxlbWVudCwhMCk6bnVs''@;'; put 'put ''bH19LGRlcHM6W119LHtwcm92aWRlOkUzLHVzZUNsYXNzOkZ2LGRlcHM6W25yLFJ2LHFwXX0se3Byb3ZpZGU6RnYsdXNlQ2xhc3M6RnYsZGVwczpbbnIsUnYscXBdfV0sTjY9W3twcm92aWRlOm9iLHVzZVZhbHVlOiJyb290In0se3Byb3ZpZGU6VWMsdXNlRmFjdG9yeTpmdW5jdGlvbiB4SSgp''@;'; put 'put ''e3JldHVybiBuZXcgVWN9LGRlcHM6W119LHtwcm92aWRlOmFnLHVzZUNsYXNzOkNJLG11bHRpOiEwLGRlcHM6W1JyLG5yLFhyXX0se3Byb3ZpZGU6YWcsdXNlQ2xhc3M6T0ksbXVsdGk6ITAsZGVwczpbUnJdfSx7cHJvdmlkZTp1Zyx1c2VDbGFzczp1ZyxkZXBzOltsZyxjaCx0aF19LHtwcm92''@;'; put 'put ''aWRlOlZjLHVzZUV4aXN0aW5nOnVnfSx7cHJvdmlkZTpTNix1c2VFeGlzdGluZzpjaH0se3Byb3ZpZGU6Y2gsdXNlQ2xhc3M6Y2gsZGVwczpbUnJdfSx7cHJvdmlkZTpsZyx1c2VDbGFzczpsZyxkZXBzOlthZyxucl19LHtwcm92aWRlOmNsYXNzIGxJe30sdXNlQ2xhc3M6Z0ksZGVwczpbXX0s''@;'; put 'put ''W11dO2xldCBmXz0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEpe31zdGF0aWMgd2l0aFNlcnZlclRyYW5zaXRpb24oYSl7cmV0dXJue25nTW9kdWxlOmwscHJvdmlkZXJzOlt7cHJvdmlkZTp0aCx1c2VWYWx1ZTphLmFwcElkfSx7cHJvdmlkZTprNix1c2VFeGlzdGluZzp0aH0sZkldfX19''@;'; put 'put ''cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQoRjYsMTIpKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtwcm92aWRlcnM6Wy4uLk42LC4uLlI2XSxpbXBvcnRzOltHbixOOV19KSxsfSkoKSxZNj0oKCk9PntjbGFzcyBs''@;'; put 'put ''e2NvbnN0cnVjdG9yKGEpe3RoaXMuX2RvYz1hfWdldFRpdGxlKCl7cmV0dXJuIHRoaXMuX2RvYy50aXRsZX1zZXRUaXRsZShhKXt0aGlzLl9kb2MudGl0bGU9YXx8IiJ9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFJyKSl9LGwuXHUwMjc1cHJv''@;'; put 'put ''dj14dCh7dG9rZW46bCxmYWN0b3J5OmZ1bmN0aW9uKGEpe2xldCBkPW51bGw7cmV0dXJuIGQ9YT9uZXcgYTpmdW5jdGlvbiBMSSgpe3JldHVybiBuZXcgWTYoRXQoUnIpKX0oKSxkfSxwcm92aWRlZEluOiJyb290In0pLGx9KSgpO2Z1bmN0aW9uIEFuKC4uLmwpe3JldHVybiBubihsLFdlKGwp''@;'; put 'put ''KX0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LEZlKDcyNzcpO2NsYXNzIE5yIGV4dGVuZHMgRXtjb25zdHJ1Y3RvcihjKXtzdXBlcigpLHRoaXMuX3ZhbHVlPWN9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoKX1fc3Vic2NyaWJlKGMpe2NvbnN0IGE9c3VwZXIu''@;'; put 'put ''X3N1YnNjcmliZShjKTtyZXR1cm4hYS5jbG9zZWQmJmMubmV4dCh0aGlzLl92YWx1ZSksYX1nZXRWYWx1ZSgpe2NvbnN0e2hhc0Vycm9yOmMsdGhyb3duRXJyb3I6YSxfdmFsdWU6ZH09dGhpcztpZihjKXRocm93IGE7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxkfW5leHQoYyl7c3Vw''@;'; put 'put ''ZXIubmV4dCh0aGlzLl92YWx1ZT1jKX19Y29uc3QgZGc9b2UobD0+ZnVuY3Rpb24oKXtsKHRoaXMpLHRoaXMubmFtZT0iRW1wdHlFcnJvciIsdGhpcy5tZXNzYWdlPSJubyBlbGVtZW50cyBpbiBzZXF1ZW5jZSJ9KSx7aXNBcnJheTpISX09QXJyYXkse2dldFByb3RvdHlwZU9mOlZJLHByb3Rv''@;'; put 'put ''dHlwZTpVSSxrZXlzOldJfT1PYmplY3Q7ZnVuY3Rpb24gSDYobCl7aWYoMT09PWwubGVuZ3RoKXtjb25zdCBjPWxbMF07aWYoSEkoYykpcmV0dXJue2FyZ3M6YyxrZXlzOm51bGx9O2lmKGZ1bmN0aW9uIHFJKGwpe3JldHVybiBsJiYib2JqZWN0Ij09dHlwZW9mIGwmJlZJKGwpPT09VUl9KGMp''@;'; put 'put ''KXtjb25zdCBhPVdJKGMpO3JldHVybnthcmdzOmEubWFwKGQ9PmNbZF0pLGtleXM6YX19fXJldHVybnthcmdzOmwsa2V5czpudWxsfX1jb25zdHtpc0FycmF5OkdJfT1BcnJheTtmdW5jdGlvbiBnXyhsKXtyZXR1cm4gdWUoYz0+ZnVuY3Rpb24gWkkobCxjKXtyZXR1cm4gR0koYyk/bCguLi5j''@;'; put 'put ''KTpsKGMpfShsLGMpKX1mdW5jdGlvbiBWNihsLGMpe3JldHVybiBsLnJlZHVjZSgoYSxkLGYpPT4oYVtkXT1jW2ZdLGEpLHt9KX1mdW5jdGlvbiBoZyguLi5sKXtjb25zdCBjPVdlKGwpLGE9Ym4obCkse2FyZ3M6ZCxrZXlzOmZ9PUg2KGwpO2lmKDA9PT1kLmxlbmd0aClyZXR1cm4gbm4oW10s''@;'; put 'put ''Yyk7Y29uc3Qgdj1uZXcgYihmdW5jdGlvbiBKSShsLGMsYT0kKXtyZXR1cm4gZD0+e1U2KGMsKCk9Pntjb25zdHtsZW5ndGg6Zn09bCx2PW5ldyBBcnJheShmKTtsZXQgeD1mLEg9Zjtmb3IobGV0IEs9MDtLPGY7SysrKVU2KGMsKCk9Pntjb25zdCBlZT1ubihsW0tdLGMpO2xldCBmZT0hMTtl''@;'; put 'put ''ZS5zdWJzY3JpYmUobmUoZCx5ZT0+e3ZbS109eWUsZmV8fChmZT0hMCxILS0pLEh8fGQubmV4dChhKHYuc2xpY2UoKSkpfSwoKT0+ey0teHx8ZC5jb21wbGV0ZSgpfSkpfSxkKX0sZCl9fShkLGMsZj94PT5WNihmLHgpOiQpKTtyZXR1cm4gYT92LnBpcGUoZ18oYSkpOnZ9ZnVuY3Rpb24gVTYo''@;'; put 'put ''bCxjLGEpe2w/VW4oYSxsLGMpOmMoKX1mdW5jdGlvbiBtXyguLi5sKXtyZXR1cm4gZnVuY3Rpb24gS0koKXtyZXR1cm4gWnQoMSl9KCkobm4obCxXZShsKSkpfWZ1bmN0aW9uIFc2KGwpe3JldHVybiBuZXcgYihjPT57YXQobCgpKS5zdWJzY3JpYmUoYyl9KX1mdW5jdGlvbiB1aChsLGMpe2Nv''@;'; put 'put ''bnN0IGE9Q2UobCk/bDooKT0+bCxkPWY9PmYuZXJyb3IoYSgpKTtyZXR1cm4gbmV3IGIoYz9mPT5jLnNjaGVkdWxlKGQsMCxmKTpkKX1mdW5jdGlvbiBiXygpe3JldHVybiBYKChsLGMpPT57bGV0IGE9bnVsbDtsLl9yZWZDb3VudCsrO2NvbnN0IGQ9bmUoYyx2b2lkIDAsdm9pZCAwLHZvaWQg''@;'; put 'put ''MCwoKT0+e2lmKCFsfHxsLl9yZWZDb3VudDw9MHx8MDwtLWwuX3JlZkNvdW50KXJldHVybiB2b2lkKGE9bnVsbCk7Y29uc3QgZj1sLl9jb25uZWN0aW9uLHY9YTthPW51bGwsZiYmKCF2fHxmPT09dikmJmYudW5zdWJzY3JpYmUoKSxjLnVuc3Vic2NyaWJlKCl9KTtsLnN1YnNjcmliZShkKSxk''@;'; put 'put ''LmNsb3NlZHx8KGE9bC5jb25uZWN0KCkpfSl9Y2xhc3MgcTYgZXh0ZW5kcyBie2NvbnN0cnVjdG9yKGMsYSl7c3VwZXIoKSx0aGlzLnNvdXJjZT1jLHRoaXMuc3ViamVjdEZhY3Rvcnk9YSx0aGlzLl9zdWJqZWN0PW51bGwsdGhpcy5fcmVmQ291bnQ9MCx0aGlzLl9jb25uZWN0aW9uPW51bGws''@;'; put 'put ''RyhjKSYmKHRoaXMubGlmdD1jLmxpZnQpfV9zdWJzY3JpYmUoYyl7cmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZShjKX1nZXRTdWJqZWN0KCl7Y29uc3QgYz10aGlzLl9zdWJqZWN0O3JldHVybighY3x8Yy5pc1N0b3BwZWQpJiYodGhpcy5fc3ViamVjdD10aGlzLnN1YmplY3RG''@;'; put 'put ''YWN0b3J5KCkpLHRoaXMuX3N1YmplY3R9X3RlYXJkb3duKCl7dGhpcy5fcmVmQ291bnQ9MDtjb25zdHtfY29ubmVjdGlvbjpjfT10aGlzO3RoaXMuX3N1YmplY3Q9dGhpcy5fY29ubmVjdGlvbj1udWxsLG51bGw9PWN8fGMudW5zdWJzY3JpYmUoKX1jb25uZWN0KCl7bGV0IGM9dGhpcy5fY29u''@;'; put 'put ''bmVjdGlvbjtpZighYyl7Yz10aGlzLl9jb25uZWN0aW9uPW5ldyBaO2NvbnN0IGE9dGhpcy5nZXRTdWJqZWN0KCk7Yy5hZGQodGhpcy5zb3VyY2Uuc3Vic2NyaWJlKG5lKGEsdm9pZCAwLCgpPT57dGhpcy5fdGVhcmRvd24oKSxhLmNvbXBsZXRlKCl9LGQ9Pnt0aGlzLl90ZWFyZG93bigpLGEu''@;'; put 'put ''ZXJyb3IoZCl9LCgpPT50aGlzLl90ZWFyZG93bigpKSkpLGMuY2xvc2VkJiYodGhpcy5fY29ubmVjdGlvbj1udWxsLGM9Wi5FTVBUWSl9cmV0dXJuIGN9cmVmQ291bnQoKXtyZXR1cm4gYl8oKSh0aGlzKX19ZnVuY3Rpb24gTXMobCxjKXtyZXR1cm4gWCgoYSxkKT0+e2xldCBmPW51bGwsdj0w''@;'; put 'put ''LHg9ITE7Y29uc3QgSD0oKT0+eCYmIWYmJmQuY29tcGxldGUoKTthLnN1YnNjcmliZShuZShkLEs9PntudWxsPT1mfHxmLnVuc3Vic2NyaWJlKCk7bGV0IGVlPTA7Y29uc3QgZmU9disrO2F0KGwoSyxmZSkpLnN1YnNjcmliZShmPW5lKGQseWU9PmQubmV4dChjP2MoSyx5ZSxmZSxlZSsrKTp5''@;'; put 'put ''ZSksKCk9PntmPW51bGwsSCgpfSkpfSwoKT0+e3g9ITAsSCgpfSkpfSl9ZnVuY3Rpb24gWWwobCl7cmV0dXJuIGw8PTA/KCk9PlhlOlgoKGMsYSk9PntsZXQgZD0wO2Muc3Vic2NyaWJlKG5lKGEsZj0+eysrZDw9bCYmKGEubmV4dChmKSxsPD1kJiZhLmNvbXBsZXRlKCkpfSkpfSl9ZnVuY3Rp''@;'; put 'put ''b24gZGgoLi4ubCl7Y29uc3QgYz1XZShsKTtyZXR1cm4gWCgoYSxkKT0+eyhjP21fKGwsYSxjKTptXyhsLGEpKS5zdWJzY3JpYmUoZCl9KX1mdW5jdGlvbiBXcihsLGMpe3JldHVybiBYKChhLGQpPT57bGV0IGY9MDthLnN1YnNjcmliZShuZShkLHY9PmwuY2FsbChjLHYsZisrKSYmZC5uZXh0''@;'; put 'put ''KHYpKSl9KX1mdW5jdGlvbiBmZyhsKXtyZXR1cm4gWCgoYyxhKT0+e2xldCBkPSExO2Muc3Vic2NyaWJlKG5lKGEsZj0+e2Q9ITAsYS5uZXh0KGYpfSwoKT0+e2R8fGEubmV4dChsKSxhLmNvbXBsZXRlKCl9KSl9KX1mdW5jdGlvbiBHNihsPVhJKXtyZXR1cm4gWCgoYyxhKT0+e2xldCBkPSEx''@;'; put 'put ''O2Muc3Vic2NyaWJlKG5lKGEsZj0+e2Q9ITAsYS5uZXh0KGYpfSwoKT0+ZD9hLmNvbXBsZXRlKCk6YS5lcnJvcihsKCkpKSl9KX1mdW5jdGlvbiBYSSgpe3JldHVybiBuZXcgZGd9ZnVuY3Rpb24geWEobCxjKXtjb25zdCBhPWFyZ3VtZW50cy5sZW5ndGg+PTI7cmV0dXJuIGQ9PmQucGlwZShs''@;'; put 'put ''P1dyKChmLHYpPT5sKGYsdixkKSk6JCxZbCgxKSxhP2ZnKGMpOkc2KCgpPT5uZXcgZGcpKX1mdW5jdGlvbiB6bChsLGMpe3JldHVybiBDZShjKT9sdChsLGMsMSk6bHQobCwxKX1mdW5jdGlvbiBNaShsLGMsYSl7Y29uc3QgZD1DZShsKXx8Y3x8YT97bmV4dDpsLGVycm9yOmMsY29tcGxldGU6''@;'; put 'put ''YX06bDtyZXR1cm4gZD9YKChmLHYpPT57dmFyIHg7bnVsbD09PSh4PWQuc3Vic2NyaWJlKXx8dm9pZCAwPT09eHx8eC5jYWxsKGQpO2xldCBIPSEwO2Yuc3Vic2NyaWJlKG5lKHYsSz0+e3ZhciBlZTtudWxsPT09KGVlPWQubmV4dCl8fHZvaWQgMD09PWVlfHxlZS5jYWxsKGQsSyksdi5uZXh0''@;'; put 'put ''KEspfSwoKT0+e3ZhciBLO0g9ITEsbnVsbD09PShLPWQuY29tcGxldGUpfHx2b2lkIDA9PT1LfHxLLmNhbGwoZCksdi5jb21wbGV0ZSgpfSxLPT57dmFyIGVlO0g9ITEsbnVsbD09PShlZT1kLmVycm9yKXx8dm9pZCAwPT09ZWV8fGVlLmNhbGwoZCxLKSx2LmVycm9yKEspfSwoKT0+e3ZhciBL''@;'; put 'put ''LGVlO0gmJihudWxsPT09KEs9ZC51bnN1YnNjcmliZSl8fHZvaWQgMD09PUt8fEsuY2FsbChkKSksbnVsbD09PShlZT1kLmZpbmFsaXplKXx8dm9pZCAwPT09ZWV8fGVlLmNhbGwoZCl9KSl9KTokfWZ1bmN0aW9uIGlsKGwpe3JldHVybiBYKChjLGEpPT57bGV0IHYsZD1udWxsLGY9ITE7ZD1j''@;'; put 'put ''LnN1YnNjcmliZShuZShhLHZvaWQgMCx2b2lkIDAseD0+e3Y9YXQobCh4LGlsKGwpKGMpKSksZD8oZC51bnN1YnNjcmliZSgpLGQ9bnVsbCx2LnN1YnNjcmliZShhKSk6Zj0hMH0pKSxmJiYoZC51bnN1YnNjcmliZSgpLGQ9bnVsbCx2LnN1YnNjcmliZShhKSl9KX1mdW5jdGlvbiBRSShsLGMs''@;'; put 'put ''YSxkLGYpe3JldHVybih2LHgpPT57bGV0IEg9YSxLPWMsZWU9MDt2LnN1YnNjcmliZShuZSh4LGZlPT57Y29uc3QgeWU9ZWUrKztLPUg/bChLLGZlLHllKTooSD0hMCxmZSksZCYmeC5uZXh0KEspfSxmJiYoKCk9PntIJiZ4Lm5leHQoSykseC5jb21wbGV0ZSgpfSkpKX19ZnVuY3Rpb24gWjYo''@;'; put 'put ''bCxjKXtyZXR1cm4gWChRSShsLGMsYXJndW1lbnRzLmxlbmd0aD49MiwhMCkpfWZ1bmN0aW9uIHZfKGwpe3JldHVybiBsPD0wPygpPT5YZTpYKChjLGEpPT57bGV0IGQ9W107Yy5zdWJzY3JpYmUobmUoYSxmPT57ZC5wdXNoKGYpLGw8ZC5sZW5ndGgmJmQuc2hpZnQoKX0sKCk9Pntmb3IoY29u''@;'; put 'put ''c3QgZiBvZiBkKWEubmV4dChmKTthLmNvbXBsZXRlKCl9LHZvaWQgMCwoKT0+e2Q9bnVsbH0pKX0pfWZ1bmN0aW9uIEo2KGwsYyl7Y29uc3QgYT1hcmd1bWVudHMubGVuZ3RoPj0yO3JldHVybiBkPT5kLnBpcGUobD9XcigoZix2KT0+bChmLHYsZCkpOiQsdl8oMSksYT9mZyhjKTpHNigoKT0+''@;'; put 'put ''bmV3IGRnKSl9ZnVuY3Rpb24gX18obCl7cmV0dXJuIFgoKGMsYSk9Pnt0cnl7Yy5zdWJzY3JpYmUoYSl9ZmluYWxseXthLmFkZChsKX19KX1jb25zdCBycj0icHJpbWFyeSI7Y2xhc3MgdEZ7Y29uc3RydWN0b3IoYyl7dGhpcy5wYXJhbXM9Y3x8e319aGFzKGMpe3JldHVybiBPYmplY3QucHJv''@;'; put 'put ''dG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5wYXJhbXMsYyl9Z2V0KGMpe2lmKHRoaXMuaGFzKGMpKXtjb25zdCBhPXRoaXMucGFyYW1zW2NdO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2FbMF06YX1yZXR1cm4gbnVsbH1nZXRBbGwoYyl7aWYodGhpcy5oYXMoYykpe2NvbnN0IGE9''@;'; put 'put ''dGhpcy5wYXJhbXNbY107cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpbYV19cmV0dXJuW119Z2V0IGtleXMoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5wYXJhbXMpfX1mdW5jdGlvbiBndShsKXtyZXR1cm4gbmV3IHRGKGwpfWZ1bmN0aW9uIG5GKGwsYyxhKXtjb25zdCBkPWEucGF0aC5z''@;'; put 'put ''cGxpdCgiLyIpO2lmKGQubGVuZ3RoPmwubGVuZ3RofHwiZnVsbCI9PT1hLnBhdGhNYXRjaCYmKGMuaGFzQ2hpbGRyZW4oKXx8ZC5sZW5ndGg8bC5sZW5ndGgpKXJldHVybiBudWxsO2NvbnN0IGY9e307Zm9yKGxldCB2PTA7djxkLmxlbmd0aDt2Kyspe2NvbnN0IHg9ZFt2XSxIPWxbdl07aWYo''@;'; put 'put ''eC5zdGFydHNXaXRoKCI6IikpZlt4LnN1YnN0cmluZygxKV09SDtlbHNlIGlmKHghPT1ILnBhdGgpcmV0dXJuIG51bGx9cmV0dXJue2NvbnN1bWVkOmwuc2xpY2UoMCxkLmxlbmd0aCkscG9zUGFyYW1zOmZ9fWZ1bmN0aW9uIEdzKGwsYyl7Y29uc3QgYT1sP09iamVjdC5rZXlzKGwpOnZvaWQg''@;'; put 'put ''MCxkPWM/T2JqZWN0LmtleXMoYyk6dm9pZCAwO2lmKCFhfHwhZHx8YS5sZW5ndGghPWQubGVuZ3RoKXJldHVybiExO2xldCBmO2ZvcihsZXQgdj0wO3Y8YS5sZW5ndGg7disrKWlmKGY9YVt2XSwhSzYobFtmXSxjW2ZdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBLNihsLGMpe2lmKEFy''@;'; put 'put ''cmF5LmlzQXJyYXkobCkmJkFycmF5LmlzQXJyYXkoYykpe2lmKGwubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuITE7Y29uc3QgYT1bLi4ubF0uc29ydCgpLGQ9Wy4uLmNdLnNvcnQoKTtyZXR1cm4gYS5ldmVyeSgoZix2KT0+ZFt2XT09PWYpfXJldHVybiBsPT09Y31mdW5jdGlvbiBYNihsKXty''@;'; put 'put ''ZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxsKX1mdW5jdGlvbiBRNihsKXtyZXR1cm4gbC5sZW5ndGg+MD9sW2wubGVuZ3RoLTFdOm51bGx9ZnVuY3Rpb24gQWkobCxjKXtmb3IoY29uc3QgYSBpbiBsKWwuaGFzT3duUHJvcGVydHkoYSkmJmMobFthXSxhKX1mdW5jdGlv''@;'; put 'put ''biB3YShsKXtyZXR1cm4gYXYobCk/bDpXZChsKT9ubihQcm9taXNlLnJlc29sdmUobCkpOkFuKGwpfWNvbnN0IG9GPXtleGFjdDpmdW5jdGlvbiB0aihsLGMsYSl7aWYoIUhsKGwuc2VnbWVudHMsYy5zZWdtZW50cyl8fCFwZyhsLnNlZ21lbnRzLGMuc2VnbWVudHMsYSl8fGwubnVtYmVyT2ZD''@;'; put 'put ''aGlsZHJlbiE9PWMubnVtYmVyT2ZDaGlsZHJlbilyZXR1cm4hMTtmb3IoY29uc3QgZCBpbiBjLmNoaWxkcmVuKWlmKCFsLmNoaWxkcmVuW2RdfHwhdGoobC5jaGlsZHJlbltkXSxjLmNoaWxkcmVuW2RdLGEpKXJldHVybiExO3JldHVybiEwfSxzdWJzZXQ6bmp9LCQ2PXtleGFjdDpmdW5jdGlv''@;'; put 'put ''biBzRihsLGMpe3JldHVybiBHcyhsLGMpfSxzdWJzZXQ6ZnVuY3Rpb24gYUYobCxjKXtyZXR1cm4gT2JqZWN0LmtleXMoYykubGVuZ3RoPD1PYmplY3Qua2V5cyhsKS5sZW5ndGgmJk9iamVjdC5rZXlzKGMpLmV2ZXJ5KGE9Pks2KGxbYV0sY1thXSkpfSxpZ25vcmVkOigpPT4hMH07ZnVuY3Rp''@;'; put 'put ''b24gZWoobCxjLGEpe3JldHVybiBvRlthLnBhdGhzXShsLnJvb3QsYy5yb290LGEubWF0cml4UGFyYW1zKSYmJDZbYS5xdWVyeVBhcmFtc10obC5xdWVyeVBhcmFtcyxjLnF1ZXJ5UGFyYW1zKSYmISgiZXhhY3QiPT09YS5mcmFnbWVudCYmbC5mcmFnbWVudCE9PWMuZnJhZ21lbnQpfWZ1bmN0''@;'; put 'put ''aW9uIG5qKGwsYyxhKXtyZXR1cm4gcmoobCxjLGMuc2VnbWVudHMsYSl9ZnVuY3Rpb24gcmoobCxjLGEsZCl7aWYobC5zZWdtZW50cy5sZW5ndGg+YS5sZW5ndGgpe2NvbnN0IGY9bC5zZWdtZW50cy5zbGljZSgwLGEubGVuZ3RoKTtyZXR1cm4hKCFIbChmLGEpfHxjLmhhc0NoaWxkcmVuKCl8''@;'; put 'put ''fCFwZyhmLGEsZCkpfWlmKGwuc2VnbWVudHMubGVuZ3RoPT09YS5sZW5ndGgpe2lmKCFIbChsLnNlZ21lbnRzLGEpfHwhcGcobC5zZWdtZW50cyxhLGQpKXJldHVybiExO2Zvcihjb25zdCBmIGluIGMuY2hpbGRyZW4paWYoIWwuY2hpbGRyZW5bZl18fCFuaihsLmNoaWxkcmVuW2ZdLGMuY2hp''@;'; put 'put ''bGRyZW5bZl0sZCkpcmV0dXJuITE7cmV0dXJuITB9e2NvbnN0IGY9YS5zbGljZSgwLGwuc2VnbWVudHMubGVuZ3RoKSx2PWEuc2xpY2UobC5zZWdtZW50cy5sZW5ndGgpO3JldHVybiEhKEhsKGwuc2VnbWVudHMsZikmJnBnKGwuc2VnbWVudHMsZixkKSYmbC5jaGlsZHJlbltycl0pJiZyaihs''@;'; put 'put ''LmNoaWxkcmVuW3JyXSxjLHYsZCl9fWZ1bmN0aW9uIHBnKGwsYyxhKXtyZXR1cm4gYy5ldmVyeSgoZCxmKT0+JDZbYV0obFtmXS5wYXJhbWV0ZXJzLGQucGFyYW1ldGVycykpfWNsYXNzIEJse2NvbnN0cnVjdG9yKGMsYSxkKXt0aGlzLnJvb3Q9Yyx0aGlzLnF1ZXJ5UGFyYW1zPWEsdGhpcy5m''@;'; put 'put ''cmFnbWVudD1kfWdldCBxdWVyeVBhcmFtTWFwKCl7cmV0dXJuIHRoaXMuX3F1ZXJ5UGFyYW1NYXB8fCh0aGlzLl9xdWVyeVBhcmFtTWFwPWd1KHRoaXMucXVlcnlQYXJhbXMpKSx0aGlzLl9xdWVyeVBhcmFtTWFwfXRvU3RyaW5nKCl7cmV0dXJuIHVGLnNlcmlhbGl6ZSh0aGlzKX19Y2xhc3Mg''@;'; put 'put ''YXJ7Y29uc3RydWN0b3IoYyxhKXt0aGlzLnNlZ21lbnRzPWMsdGhpcy5jaGlsZHJlbj1hLHRoaXMucGFyZW50PW51bGwsQWkoYSwoZCxmKT0+ZC5wYXJlbnQ9dGhpcyl9aGFzQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5udW1iZXJPZkNoaWxkcmVuPjB9Z2V0IG51bWJlck9mQ2hpbGRyZW4oKXty''@;'; put 'put ''ZXR1cm4gT2JqZWN0LmtleXModGhpcy5jaGlsZHJlbikubGVuZ3RofXRvU3RyaW5nKCl7cmV0dXJuIGdnKHRoaXMpfX1jbGFzcyBoaHtjb25zdHJ1Y3RvcihjLGEpe3RoaXMucGF0aD1jLHRoaXMucGFyYW1ldGVycz1hfWdldCBwYXJhbWV0ZXJNYXAoKXtyZXR1cm4gdGhpcy5fcGFyYW1ldGVy''@;'; put 'put ''TWFwfHwodGhpcy5fcGFyYW1ldGVyTWFwPWd1KHRoaXMucGFyYW1ldGVycykpLHRoaXMuX3BhcmFtZXRlck1hcH10b1N0cmluZygpe3JldHVybiBhaih0aGlzKX19ZnVuY3Rpb24gSGwobCxjKXtyZXR1cm4gbC5sZW5ndGg9PT1jLmxlbmd0aCYmbC5ldmVyeSgoYSxkKT0+YS5wYXRoPT09Y1tk''@;'; put 'put ''XS5wYXRoKX1sZXQgaWo9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB3X30scHJvdmlkZWRJbjoicm9vdCJ9KSxsfSkoKTtj''@;'; put 'put ''bGFzcyB3X3twYXJzZShjKXtjb25zdCBhPW5ldyBfRihjKTtyZXR1cm4gbmV3IEJsKGEucGFyc2VSb290U2VnbWVudCgpLGEucGFyc2VRdWVyeVBhcmFtcygpLGEucGFyc2VGcmFnbWVudCgpKX1zZXJpYWxpemUoYyl7Y29uc3QgYT1gLyR7ZmgoYy5yb290LCEwKX1gLGQ9ZnVuY3Rpb24gZkYo''@;'; put 'put ''bCl7Y29uc3QgYz1PYmplY3Qua2V5cyhsKS5tYXAoYT0+e2NvbnN0IGQ9bFthXTtyZXR1cm4gQXJyYXkuaXNBcnJheShkKT9kLm1hcChmPT5gJHttZyhhKX09JHttZyhmKX1gKS5qb2luKCImIik6YCR7bWcoYSl9PSR7bWcoZCl9YH0pLmZpbHRlcihhPT4hIWEpO3JldHVybiBjLmxlbmd0aD9g''@;'; put 'put ''PyR7Yy5qb2luKCImIil9YDoiIn0oYy5xdWVyeVBhcmFtcyk7cmV0dXJuYCR7YX0ke2R9JHsic3RyaW5nIj09dHlwZW9mIGMuZnJhZ21lbnQ/YCMke2Z1bmN0aW9uIGRGKGwpe3JldHVybiBlbmNvZGVVUkkobCl9KGMuZnJhZ21lbnQpfWA6IiJ9YH19Y29uc3QgdUY9bmV3IHdfO2Z1bmN0aW9u''@;'; put 'put ''IGdnKGwpe3JldHVybiBsLnNlZ21lbnRzLm1hcChjPT5haihjKSkuam9pbigiLyIpfWZ1bmN0aW9uIGZoKGwsYyl7aWYoIWwuaGFzQ2hpbGRyZW4oKSlyZXR1cm4gZ2cobCk7aWYoYyl7Y29uc3QgYT1sLmNoaWxkcmVuW3JyXT9maChsLmNoaWxkcmVuW3JyXSwhMSk6IiIsZD1bXTtyZXR1cm4g''@;'; put 'put ''QWkobC5jaGlsZHJlbiwoZix2KT0+e3YhPT1yciYmZC5wdXNoKGAke3Z9OiR7ZmgoZiwhMSl9YCl9KSxkLmxlbmd0aD4wP2Ake2F9KCR7ZC5qb2luKCIvLyIpfSlgOmF9e2NvbnN0IGE9ZnVuY3Rpb24gY0YobCxjKXtsZXQgYT1bXTtyZXR1cm4gQWkobC5jaGlsZHJlbiwoZCxmKT0+e2Y9PT1y''@;'; put 'put ''ciYmKGE9YS5jb25jYXQoYyhkLGYpKSl9KSxBaShsLmNoaWxkcmVuLChkLGYpPT57ZiE9PXJyJiYoYT1hLmNvbmNhdChjKGQsZikpKX0pLGF9KGwsKGQsZik9PmY9PT1ycj9bZmgobC5jaGlsZHJlbltycl0sITEpXTpbYCR7Zn06JHtmaChkLCExKX1gXSk7cmV0dXJuIDE9PT1PYmplY3Qua2V5''@;'; put 'put ''cyhsLmNoaWxkcmVuKS5sZW5ndGgmJm51bGwhPWwuY2hpbGRyZW5bcnJdP2Ake2dnKGwpfS8ke2FbMF19YDpgJHtnZyhsKX0vKCR7YS5qb2luKCIvLyIpfSlgfX1mdW5jdGlvbiBvaihsKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGwpLnJlcGxhY2UoLyU0MC9nLCJAIikucmVwbGFjZSgv''@;'; put 'put ''JTNBL2dpLCI6IikucmVwbGFjZSgvJTI0L2csIiQiKS5yZXBsYWNlKC8lMkMvZ2ksIiwiKX1mdW5jdGlvbiBtZyhsKXtyZXR1cm4gb2oobCkucmVwbGFjZSgvJTNCL2dpLCI7Iil9ZnVuY3Rpb24gTV8obCl7cmV0dXJuIG9qKGwpLnJlcGxhY2UoL1woL2csIiUyOCIpLnJlcGxhY2UoL1wpL2cs''@;'; put 'put ''IiUyOSIpLnJlcGxhY2UoLyUyNi9naSwiJiIpfWZ1bmN0aW9uIGJnKGwpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQobCl9ZnVuY3Rpb24gc2oobCl7cmV0dXJuIGJnKGwucmVwbGFjZSgvXCsvZywiJTIwIikpfWZ1bmN0aW9uIGFqKGwpe3JldHVybmAke01fKGwucGF0aCl9JHtmdW5jdGlv''@;'; put 'put ''biBoRihsKXtyZXR1cm4gT2JqZWN0LmtleXMobCkubWFwKGM9PmA7JHtNXyhjKX09JHtNXyhsW2NdKX1gKS5qb2luKCIiKX0obC5wYXJhbWV0ZXJzKX1gfWNvbnN0IHBGPS9eW15cLygpPzs9I10rLztmdW5jdGlvbiB2ZyhsKXtjb25zdCBjPWwubWF0Y2gocEYpO3JldHVybiBjP2NbMF06IiJ9''@;'; put 'put ''Y29uc3QgZ0Y9L15bXj0/JiNdKy8sYkY9L15bXiYjXSsvO2NsYXNzIF9Ge2NvbnN0cnVjdG9yKGMpe3RoaXMudXJsPWMsdGhpcy5yZW1haW5pbmc9Y31wYXJzZVJvb3RTZWdtZW50KCl7cmV0dXJuIHRoaXMuY29uc3VtZU9wdGlvbmFsKCIvIiksIiI9PT10aGlzLnJlbWFpbmluZ3x8dGhpcy5w''@;'; put 'put ''ZWVrU3RhcnRzV2l0aCgiPyIpfHx0aGlzLnBlZWtTdGFydHNXaXRoKCIjIik/bmV3IGFyKFtdLHt9KTpuZXcgYXIoW10sdGhpcy5wYXJzZUNoaWxkcmVuKCkpfXBhcnNlUXVlcnlQYXJhbXMoKXtjb25zdCBjPXt9O2lmKHRoaXMuY29uc3VtZU9wdGlvbmFsKCI/IikpZG97dGhpcy5wYXJzZVF1''@;'; put 'put ''ZXJ5UGFyYW0oYyl9d2hpbGUodGhpcy5jb25zdW1lT3B0aW9uYWwoIiYiKSk7cmV0dXJuIGN9cGFyc2VGcmFnbWVudCgpe3JldHVybiB0aGlzLmNvbnN1bWVPcHRpb25hbCgiIyIpP2RlY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlbWFpbmluZyk6bnVsbH1wYXJzZUNoaWxkcmVuKCl7aWYoIiI9''@;'; put 'put ''PT10aGlzLnJlbWFpbmluZylyZXR1cm57fTt0aGlzLmNvbnN1bWVPcHRpb25hbCgiLyIpO2NvbnN0IGM9W107Zm9yKHRoaXMucGVla1N0YXJ0c1dpdGgoIigiKXx8Yy5wdXNoKHRoaXMucGFyc2VTZWdtZW50KCkpO3RoaXMucGVla1N0YXJ0c1dpdGgoIi8iKSYmIXRoaXMucGVla1N0YXJ0c1dp''@;'; put 'put ''dGgoIi8vIikmJiF0aGlzLnBlZWtTdGFydHNXaXRoKCIvKCIpOyl0aGlzLmNhcHR1cmUoIi8iKSxjLnB1c2godGhpcy5wYXJzZVNlZ21lbnQoKSk7bGV0IGE9e307dGhpcy5wZWVrU3RhcnRzV2l0aCgiLygiKSYmKHRoaXMuY2FwdHVyZSgiLyIpLGE9dGhpcy5wYXJzZVBhcmVucyghMCkpO2xl''@;'; put 'put ''dCBkPXt9O3JldHVybiB0aGlzLnBlZWtTdGFydHNXaXRoKCIoIikmJihkPXRoaXMucGFyc2VQYXJlbnMoITEpKSwoYy5sZW5ndGg+MHx8T2JqZWN0LmtleXMoYSkubGVuZ3RoPjApJiYoZFtycl09bmV3IGFyKGMsYSkpLGR9cGFyc2VTZWdtZW50KCl7Y29uc3QgYz12Zyh0aGlzLnJlbWFpbmlu''@;'; put 'put ''Zyk7aWYoIiI9PT1jJiZ0aGlzLnBlZWtTdGFydHNXaXRoKCI7IikpdGhyb3cgbmV3IEl0KDQwMDksITEpO3JldHVybiB0aGlzLmNhcHR1cmUoYyksbmV3IGhoKGJnKGMpLHRoaXMucGFyc2VNYXRyaXhQYXJhbXMoKSl9cGFyc2VNYXRyaXhQYXJhbXMoKXtjb25zdCBjPXt9O2Zvcig7dGhpcy5j''@;'; put 'put ''b25zdW1lT3B0aW9uYWwoIjsiKTspdGhpcy5wYXJzZVBhcmFtKGMpO3JldHVybiBjfXBhcnNlUGFyYW0oYyl7Y29uc3QgYT12Zyh0aGlzLnJlbWFpbmluZyk7aWYoIWEpcmV0dXJuO3RoaXMuY2FwdHVyZShhKTtsZXQgZD0iIjtpZih0aGlzLmNvbnN1bWVPcHRpb25hbCgiPSIpKXtjb25zdCBm''@;'; put 'put ''PXZnKHRoaXMucmVtYWluaW5nKTtmJiYoZD1mLHRoaXMuY2FwdHVyZShkKSl9Y1tiZyhhKV09YmcoZCl9cGFyc2VRdWVyeVBhcmFtKGMpe2NvbnN0IGE9ZnVuY3Rpb24gbUYobCl7Y29uc3QgYz1sLm1hdGNoKGdGKTtyZXR1cm4gYz9jWzBdOiIifSh0aGlzLnJlbWFpbmluZyk7aWYoIWEpcmV0''@;'; put 'put ''dXJuO3RoaXMuY2FwdHVyZShhKTtsZXQgZD0iIjtpZih0aGlzLmNvbnN1bWVPcHRpb25hbCgiPSIpKXtjb25zdCB4PWZ1bmN0aW9uIHZGKGwpe2NvbnN0IGM9bC5tYXRjaChiRik7cmV0dXJuIGM/Y1swXToiIn0odGhpcy5yZW1haW5pbmcpO3gmJihkPXgsdGhpcy5jYXB0dXJlKGQpKX1jb25z''@;'; put 'put ''dCBmPXNqKGEpLHY9c2ooZCk7aWYoYy5oYXNPd25Qcm9wZXJ0eShmKSl7bGV0IHg9Y1tmXTtBcnJheS5pc0FycmF5KHgpfHwoeD1beF0sY1tmXT14KSx4LnB1c2godil9ZWxzZSBjW2ZdPXZ9cGFyc2VQYXJlbnMoYyl7Y29uc3QgYT17fTtmb3IodGhpcy5jYXB0dXJlKCIoIik7IXRoaXMuY29u''@;'; put 'put ''c3VtZU9wdGlvbmFsKCIpIikmJnRoaXMucmVtYWluaW5nLmxlbmd0aD4wOyl7Y29uc3QgZD12Zyh0aGlzLnJlbWFpbmluZyksZj10aGlzLnJlbWFpbmluZ1tkLmxlbmd0aF07aWYoIi8iIT09ZiYmIikiIT09ZiYmIjsiIT09Zil0aHJvdyBuZXcgSXQoNDAxMCwhMSk7bGV0IHY7ZC5pbmRleE9m''@;'; put 'put ''KCI6Iik+LTE/KHY9ZC5zbGljZSgwLGQuaW5kZXhPZigiOiIpKSx0aGlzLmNhcHR1cmUodiksdGhpcy5jYXB0dXJlKCI6IikpOmMmJih2PXJyKTtjb25zdCB4PXRoaXMucGFyc2VDaGlsZHJlbigpO2Fbdl09MT09PU9iamVjdC5rZXlzKHgpLmxlbmd0aD94W3JyXTpuZXcgYXIoW10seCksdGhp''@;'; put 'put ''cy5jb25zdW1lT3B0aW9uYWwoIi8vIil9cmV0dXJuIGF9cGVla1N0YXJ0c1dpdGgoYyl7cmV0dXJuIHRoaXMucmVtYWluaW5nLnN0YXJ0c1dpdGgoYyl9Y29uc3VtZU9wdGlvbmFsKGMpe3JldHVybiEhdGhpcy5wZWVrU3RhcnRzV2l0aChjKSYmKHRoaXMucmVtYWluaW5nPXRoaXMucmVtYWlu''@;'; put 'put ''aW5nLnN1YnN0cmluZyhjLmxlbmd0aCksITApfWNhcHR1cmUoYyl7aWYoIXRoaXMuY29uc3VtZU9wdGlvbmFsKGMpKXRocm93IG5ldyBJdCg0MDExLCExKX19ZnVuY3Rpb24gQ18obCl7cmV0dXJuIGwuc2VnbWVudHMubGVuZ3RoPjA/bmV3IGFyKFtdLHtbcnJdOmx9KTpsfWZ1bmN0aW9uIF9n''@;'; put 'put ''KGwpe2NvbnN0IGM9e307Zm9yKGNvbnN0IGQgb2YgT2JqZWN0LmtleXMobC5jaGlsZHJlbikpe2NvbnN0IHY9X2cobC5jaGlsZHJlbltkXSk7KHYuc2VnbWVudHMubGVuZ3RoPjB8fHYuaGFzQ2hpbGRyZW4oKSkmJihjW2RdPXYpfXJldHVybiBmdW5jdGlvbiB5RihsKXtpZigxPT09bC5udW1i''@;'; put 'put ''ZXJPZkNoaWxkcmVuJiZsLmNoaWxkcmVuW3JyXSl7Y29uc3QgYz1sLmNoaWxkcmVuW3JyXTtyZXR1cm4gbmV3IGFyKGwuc2VnbWVudHMuY29uY2F0KGMuc2VnbWVudHMpLGMuY2hpbGRyZW4pfXJldHVybiBsfShuZXcgYXIobC5zZWdtZW50cyxjKSl9ZnVuY3Rpb24gVmwobCl7cmV0dXJuIGwg''@;'; put 'put ''aW5zdGFuY2VvZiBCbH1mdW5jdGlvbiBDRihsLGMsYSxkLGYpe3ZhciB2O2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gbXUoYy5yb290LGMucm9vdCxjLnJvb3QsZCxmKTtjb25zdCBIPWZ1bmN0aW9uIHVqKGwpe2lmKCJzdHJpbmciPT10eXBlb2YgbFswXSYmMT09PWwubGVuZ3RoJiYiLyI9PT1s''@;'; put 'put ''WzBdKXJldHVybiBuZXcgY2ooITAsMCxsKTtsZXQgYz0wLGE9ITE7Y29uc3QgZD1sLnJlZHVjZSgoZix2LHgpPT57aWYoIm9iamVjdCI9PXR5cGVvZiB2JiZudWxsIT12KXtpZih2Lm91dGxldHMpe2NvbnN0IEg9e307cmV0dXJuIEFpKHYub3V0bGV0cywoSyxlZSk9PntIW2VlXT0ic3RyaW5n''@;'; put 'put ''Ij09dHlwZW9mIEs/Sy5zcGxpdCgiLyIpOkt9KSxbLi4uZix7b3V0bGV0czpIfV19aWYodi5zZWdtZW50UGF0aClyZXR1cm5bLi4uZix2LnNlZ21lbnRQYXRoXX1yZXR1cm4ic3RyaW5nIiE9dHlwZW9mIHY/Wy4uLmYsdl06MD09PXg/KHYuc3BsaXQoIi8iKS5mb3JFYWNoKChILEspPT57MD09''@;'; put 'put ''SyYmIi4iPT09SHx8KDA9PUsmJiIiPT09SD9hPSEwOiIuLiI9PT1IP2MrKzoiIiE9SCYmZi5wdXNoKEgpKX0pLGYpOlsuLi5mLHZdfSxbXSk7cmV0dXJuIG5ldyBjaihhLGMsZCl9KGEpO3JldHVybiBILnRvUm9vdCgpP211KGMucm9vdCxjLnJvb3QsbmV3IGFyKFtdLHt9KSxkLGYpOmZ1bmN0''@;'; put 'put ''aW9uIEsoZmUpe3ZhciB5ZTtjb25zdCBqZT1mdW5jdGlvbiBqRihsLGMsYSxkKXtpZihsLmlzQWJzb2x1dGUpcmV0dXJuIG5ldyBidShjLnJvb3QsITAsMCk7aWYoLTE9PT1kKXJldHVybiBuZXcgYnUoYSxhPT09Yy5yb290LDApO3JldHVybiBmdW5jdGlvbiBkaihsLGMsYSl7bGV0IGQ9bCxm''@;'; put 'put ''PWMsdj1hO2Zvcig7dj5mOyl7aWYodi09ZixkPWQucGFyZW50LCFkKXRocm93IG5ldyBJdCg0MDA1LCExKTtmPWQuc2VnbWVudHMubGVuZ3RofXJldHVybiBuZXcgYnUoZCwhMSxmLXYpfShhLGQrKHBoKGwuY29tbWFuZHNbMF0pPzA6MSksbC5udW1iZXJPZkRvdWJsZURvdHMpfShILGMsbnVs''@;'; put 'put ''bD09PSh5ZT1sLnNuYXBzaG90KXx8dm9pZCAwPT09eWU/dm9pZCAwOnllLl91cmxTZWdtZW50LGZlKSxJZT1qZS5wcm9jZXNzQ2hpbGRyZW4/bWgoamUuc2VnbWVudEdyb3VwLGplLmluZGV4LEguY29tbWFuZHMpOmpfKGplLnNlZ21lbnRHcm91cCxqZS5pbmRleCxILmNvbW1hbmRzKTtyZXR1''@;'; put 'put ''cm4gbXUoYy5yb290LGplLnNlZ21lbnRHcm91cCxJZSxkLGYpfShudWxsPT09KHY9bC5zbmFwc2hvdCl8fHZvaWQgMD09PXY/dm9pZCAwOnYuX2xhc3RQYXRoSW5kZXgpfWZ1bmN0aW9uIHBoKGwpe3JldHVybiJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9bCYmIWwub3V0bGV0cyYmIWwuc2Vn''@;'; put 'put ''bWVudFBhdGh9ZnVuY3Rpb24gZ2gobCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT1sJiZsLm91dGxldHN9ZnVuY3Rpb24gbXUobCxjLGEsZCxmKXtsZXQgeCx2PXt9O2QmJkFpKGQsKEssZWUpPT57dltlZV09QXJyYXkuaXNBcnJheShLKT9LLm1hcChmZT0+YCR7ZmV9YCk6YCR7''@;'; put 'put ''S31gfSkseD1sPT09Yz9hOmxqKGwsYyxhKTtjb25zdCBIPUNfKF9nKHgpKTtyZXR1cm4gbmV3IEJsKEgsdixmKX1mdW5jdGlvbiBsaihsLGMsYSl7Y29uc3QgZD17fTtyZXR1cm4gQWkobC5jaGlsZHJlbiwoZix2KT0+e2Rbdl09Zj09PWM/YTpsaihmLGMsYSl9KSxuZXcgYXIobC5zZWdtZW50''@;'; put 'put ''cyxkKX1jbGFzcyBjantjb25zdHJ1Y3RvcihjLGEsZCl7aWYodGhpcy5pc0Fic29sdXRlPWMsdGhpcy5udW1iZXJPZkRvdWJsZURvdHM9YSx0aGlzLmNvbW1hbmRzPWQsYyYmZC5sZW5ndGg+MCYmcGgoZFswXSkpdGhyb3cgbmV3IEl0KDQwMDMsITEpO2NvbnN0IGY9ZC5maW5kKGdoKTtpZihm''@;'; put 'put ''JiZmIT09UTYoZCkpdGhyb3cgbmV3IEl0KDQwMDQsITEpfXRvUm9vdCgpe3JldHVybiB0aGlzLmlzQWJzb2x1dGUmJjE9PT10aGlzLmNvbW1hbmRzLmxlbmd0aCYmIi8iPT10aGlzLmNvbW1hbmRzWzBdfX1jbGFzcyBidXtjb25zdHJ1Y3RvcihjLGEsZCl7dGhpcy5zZWdtZW50R3JvdXA9Yyx0''@;'; put 'put ''aGlzLnByb2Nlc3NDaGlsZHJlbj1hLHRoaXMuaW5kZXg9ZH19ZnVuY3Rpb24gal8obCxjLGEpe2lmKGx8fChsPW5ldyBhcihbXSx7fSkpLDA9PT1sLnNlZ21lbnRzLmxlbmd0aCYmbC5oYXNDaGlsZHJlbigpKXJldHVybiBtaChsLGMsYSk7Y29uc3QgZD1mdW5jdGlvbiBPRihsLGMsYSl7bGV0''@;'; put 'put ''IGQ9MCxmPWM7Y29uc3Qgdj17bWF0Y2g6ITEscGF0aEluZGV4OjAsY29tbWFuZEluZGV4OjB9O2Zvcig7ZjxsLnNlZ21lbnRzLmxlbmd0aDspe2lmKGQ+PWEubGVuZ3RoKXJldHVybiB2O2NvbnN0IHg9bC5zZWdtZW50c1tmXSxIPWFbZF07aWYoZ2goSCkpYnJlYWs7Y29uc3QgSz1gJHtIfWAs''@;'; put 'put ''ZWU9ZDxhLmxlbmd0aC0xP2FbZCsxXTpudWxsO2lmKGY+MCYmdm9pZCAwPT09SylicmVhaztpZihLJiZlZSYmIm9iamVjdCI9PXR5cGVvZiBlZSYmdm9pZCAwPT09ZWUub3V0bGV0cyl7aWYoIWZqKEssZWUseCkpcmV0dXJuIHY7ZCs9Mn1lbHNle2lmKCFmaihLLHt9LHgpKXJldHVybiB2O2Qr''@;'; put 'put ''K31mKyt9cmV0dXJue21hdGNoOiEwLHBhdGhJbmRleDpmLGNvbW1hbmRJbmRleDpkfX0obCxjLGEpLGY9YS5zbGljZShkLmNvbW1hbmRJbmRleCk7aWYoZC5tYXRjaCYmZC5wYXRoSW5kZXg8bC5zZWdtZW50cy5sZW5ndGgpe2NvbnN0IHY9bmV3IGFyKGwuc2VnbWVudHMuc2xpY2UoMCxkLnBh''@;'; put 'put ''dGhJbmRleCkse30pO3JldHVybiB2LmNoaWxkcmVuW3JyXT1uZXcgYXIobC5zZWdtZW50cy5zbGljZShkLnBhdGhJbmRleCksbC5jaGlsZHJlbiksbWgodiwwLGYpfXJldHVybiBkLm1hdGNoJiYwPT09Zi5sZW5ndGg/bmV3IGFyKGwuc2VnbWVudHMse30pOmQubWF0Y2gmJiFsLmhhc0NoaWxk''@;'; put 'put ''cmVuKCk/U18obCxjLGEpOmQubWF0Y2g/bWgobCwwLGYpOlNfKGwsYyxhKX1mdW5jdGlvbiBtaChsLGMsYSl7aWYoMD09PWEubGVuZ3RoKXJldHVybiBuZXcgYXIobC5zZWdtZW50cyx7fSk7e2NvbnN0IGQ9ZnVuY3Rpb24gU0YobCl7cmV0dXJuIGdoKGxbMF0pP2xbMF0ub3V0bGV0czp7W3Jy''@;'; put 'put ''XTpsfX0oYSksZj17fTtyZXR1cm4gQWkoZCwodix4KT0+eyJzdHJpbmciPT10eXBlb2YgdiYmKHY9W3ZdKSxudWxsIT09diYmKGZbeF09al8obC5jaGlsZHJlblt4XSxjLHYpKX0pLEFpKGwuY2hpbGRyZW4sKHYseCk9Pnt2b2lkIDA9PT1kW3hdJiYoZlt4XT12KX0pLG5ldyBhcihsLnNlZ21l''@;'; put 'put ''bnRzLGYpfX1mdW5jdGlvbiBTXyhsLGMsYSl7Y29uc3QgZD1sLnNlZ21lbnRzLnNsaWNlKDAsYyk7bGV0IGY9MDtmb3IoO2Y8YS5sZW5ndGg7KXtjb25zdCB2PWFbZl07aWYoZ2godikpe2NvbnN0IEs9UEYodi5vdXRsZXRzKTtyZXR1cm4gbmV3IGFyKGQsSyl9aWYoMD09PWYmJnBoKGFbMF0p''@;'; put 'put ''KXtkLnB1c2gobmV3IGhoKGwuc2VnbWVudHNbY10ucGF0aCxoaihhWzBdKSkpLGYrKztjb250aW51ZX1jb25zdCB4PWdoKHYpP3Yub3V0bGV0c1tycl06YCR7dn1gLEg9ZjxhLmxlbmd0aC0xP2FbZisxXTpudWxsO3gmJkgmJnBoKEgpPyhkLnB1c2gobmV3IGhoKHgsaGooSCkpKSxmKz0yKToo''@;'; put 'put ''ZC5wdXNoKG5ldyBoaCh4LHt9KSksZisrKX1yZXR1cm4gbmV3IGFyKGQse30pfWZ1bmN0aW9uIFBGKGwpe2NvbnN0IGM9e307cmV0dXJuIEFpKGwsKGEsZCk9Pnsic3RyaW5nIj09dHlwZW9mIGEmJihhPVthXSksbnVsbCE9PWEmJihjW2RdPVNfKG5ldyBhcihbXSx7fSksMCxhKSl9KSxjfWZ1''@;'; put 'put ''bmN0aW9uIGhqKGwpe2NvbnN0IGM9e307cmV0dXJuIEFpKGwsKGEsZCk9PmNbZF09YCR7YX1gKSxjfWZ1bmN0aW9uIGZqKGwsYyxhKXtyZXR1cm4gbD09YS5wYXRoJiZHcyhjLGEucGFyYW1ldGVycyl9Y2xhc3MgTWF7Y29uc3RydWN0b3IoYyxhKXt0aGlzLmlkPWMsdGhpcy51cmw9YX19Y2xh''@;'; put 'put ''c3MgT18gZXh0ZW5kcyBNYXtjb25zdHJ1Y3RvcihjLGEsZD0iaW1wZXJhdGl2ZSIsZj1udWxsKXtzdXBlcihjLGEpLHRoaXMudHlwZT0wLHRoaXMubmF2aWdhdGlvblRyaWdnZXI9ZCx0aGlzLnJlc3RvcmVkU3RhdGU9Zn10b1N0cmluZygpe3JldHVybmBOYXZpZ2F0aW9uU3RhcnQoaWQ6ICR7''@;'; put 'put ''dGhpcy5pZH0sIHVybDogJyR7dGhpcy51cmx9JylgfX1jbGFzcyBVbCBleHRlbmRzIE1he2NvbnN0cnVjdG9yKGMsYSxkKXtzdXBlcihjLGEpLHRoaXMudXJsQWZ0ZXJSZWRpcmVjdHM9ZCx0aGlzLnR5cGU9MX10b1N0cmluZygpe3JldHVybmBOYXZpZ2F0aW9uRW5kKGlkOiAke3RoaXMuaWR9''@;'; put 'put ''LCB1cmw6ICcke3RoaXMudXJsfScsIHVybEFmdGVyUmVkaXJlY3RzOiAnJHt0aGlzLnVybEFmdGVyUmVkaXJlY3RzfScpYH19Y2xhc3MgeWcgZXh0ZW5kcyBNYXtjb25zdHJ1Y3RvcihjLGEsZCxmKXtzdXBlcihjLGEpLHRoaXMucmVhc29uPWQsdGhpcy5jb2RlPWYsdGhpcy50eXBlPTJ9dG9T''@;'; put 'put ''dHJpbmcoKXtyZXR1cm5gTmF2aWdhdGlvbkNhbmNlbChpZDogJHt0aGlzLmlkfSwgdXJsOiAnJHt0aGlzLnVybH0nKWB9fWNsYXNzIHBqIGV4dGVuZHMgTWF7Y29uc3RydWN0b3IoYyxhLGQsZil7c3VwZXIoYyxhKSx0aGlzLmVycm9yPWQsdGhpcy50YXJnZXQ9Zix0aGlzLnR5cGU9M310b1N0''@;'; put 'put ''cmluZygpe3JldHVybmBOYXZpZ2F0aW9uRXJyb3IoaWQ6ICR7dGhpcy5pZH0sIHVybDogJyR7dGhpcy51cmx9JywgZXJyb3I6ICR7dGhpcy5lcnJvcn0pYH19Y2xhc3MgREYgZXh0ZW5kcyBNYXtjb25zdHJ1Y3RvcihjLGEsZCxmKXtzdXBlcihjLGEpLHRoaXMudXJsQWZ0ZXJSZWRpcmVjdHM9''@;'; put 'put ''ZCx0aGlzLnN0YXRlPWYsdGhpcy50eXBlPTR9dG9TdHJpbmcoKXtyZXR1cm5gUm91dGVzUmVjb2duaXplZChpZDogJHt0aGlzLmlkfSwgdXJsOiAnJHt0aGlzLnVybH0nLCB1cmxBZnRlclJlZGlyZWN0czogJyR7dGhpcy51cmxBZnRlclJlZGlyZWN0c30nLCBzdGF0ZTogJHt0aGlzLnN0YXRl''@;'; put 'put ''fSlgfX1jbGFzcyB4RiBleHRlbmRzIE1he2NvbnN0cnVjdG9yKGMsYSxkLGYpe3N1cGVyKGMsYSksdGhpcy51cmxBZnRlclJlZGlyZWN0cz1kLHRoaXMuc3RhdGU9Zix0aGlzLnR5cGU9N310b1N0cmluZygpe3JldHVybmBHdWFyZHNDaGVja1N0YXJ0KGlkOiAke3RoaXMuaWR9LCB1cmw6ICck''@;'; put 'put ''e3RoaXMudXJsfScsIHVybEFmdGVyUmVkaXJlY3RzOiAnJHt0aGlzLnVybEFmdGVyUmVkaXJlY3RzfScsIHN0YXRlOiAke3RoaXMuc3RhdGV9KWB9fWNsYXNzIEFGIGV4dGVuZHMgTWF7Y29uc3RydWN0b3IoYyxhLGQsZix2KXtzdXBlcihjLGEpLHRoaXMudXJsQWZ0ZXJSZWRpcmVjdHM9ZCx0''@;'; put 'put ''aGlzLnN0YXRlPWYsdGhpcy5zaG91bGRBY3RpdmF0ZT12LHRoaXMudHlwZT04fXRvU3RyaW5nKCl7cmV0dXJuYEd1YXJkc0NoZWNrRW5kKGlkOiAke3RoaXMuaWR9LCB1cmw6ICcke3RoaXMudXJsfScsIHVybEFmdGVyUmVkaXJlY3RzOiAnJHt0aGlzLnVybEFmdGVyUmVkaXJlY3RzfScsIHN0''@;'; put 'put ''YXRlOiAke3RoaXMuc3RhdGV9LCBzaG91bGRBY3RpdmF0ZTogJHt0aGlzLnNob3VsZEFjdGl2YXRlfSlgfX1jbGFzcyBFRiBleHRlbmRzIE1he2NvbnN0cnVjdG9yKGMsYSxkLGYpe3N1cGVyKGMsYSksdGhpcy51cmxBZnRlclJlZGlyZWN0cz1kLHRoaXMuc3RhdGU9Zix0aGlzLnR5cGU9NX10''@;'; put 'put ''b1N0cmluZygpe3JldHVybmBSZXNvbHZlU3RhcnQoaWQ6ICR7dGhpcy5pZH0sIHVybDogJyR7dGhpcy51cmx9JywgdXJsQWZ0ZXJSZWRpcmVjdHM6ICcke3RoaXMudXJsQWZ0ZXJSZWRpcmVjdHN9Jywgc3RhdGU6ICR7dGhpcy5zdGF0ZX0pYH19Y2xhc3MgVEYgZXh0ZW5kcyBNYXtjb25zdHJ1''@;'; put 'put ''Y3RvcihjLGEsZCxmKXtzdXBlcihjLGEpLHRoaXMudXJsQWZ0ZXJSZWRpcmVjdHM9ZCx0aGlzLnN0YXRlPWYsdGhpcy50eXBlPTZ9dG9TdHJpbmcoKXtyZXR1cm5gUmVzb2x2ZUVuZChpZDogJHt0aGlzLmlkfSwgdXJsOiAnJHt0aGlzLnVybH0nLCB1cmxBZnRlclJlZGlyZWN0czogJyR7dGhp''@;'; put 'put ''cy51cmxBZnRlclJlZGlyZWN0c30nLCBzdGF0ZTogJHt0aGlzLnN0YXRlfSlgfX1jbGFzcyBMRntjb25zdHJ1Y3RvcihjKXt0aGlzLnJvdXRlPWMsdGhpcy50eXBlPTl9dG9TdHJpbmcoKXtyZXR1cm5gUm91dGVDb25maWdMb2FkU3RhcnQocGF0aDogJHt0aGlzLnJvdXRlLnBhdGh9KWB9fWNs''@;'; put 'put ''YXNzIElGe2NvbnN0cnVjdG9yKGMpe3RoaXMucm91dGU9Yyx0aGlzLnR5cGU9MTB9dG9TdHJpbmcoKXtyZXR1cm5gUm91dGVDb25maWdMb2FkRW5kKHBhdGg6ICR7dGhpcy5yb3V0ZS5wYXRofSlgfX1jbGFzcyBGRntjb25zdHJ1Y3RvcihjKXt0aGlzLnNuYXBzaG90PWMsdGhpcy50eXBlPTEx''@;'; put 'put ''fXRvU3RyaW5nKCl7cmV0dXJuYENoaWxkQWN0aXZhdGlvblN0YXJ0KHBhdGg6ICcke3RoaXMuc25hcHNob3Qucm91dGVDb25maWcmJnRoaXMuc25hcHNob3Qucm91dGVDb25maWcucGF0aHx8IiJ9JylgfX1jbGFzcyBSRntjb25zdHJ1Y3RvcihjKXt0aGlzLnNuYXBzaG90PWMsdGhpcy50eXBl''@;'; put 'put ''PTEyfXRvU3RyaW5nKCl7cmV0dXJuYENoaWxkQWN0aXZhdGlvbkVuZChwYXRoOiAnJHt0aGlzLnNuYXBzaG90LnJvdXRlQ29uZmlnJiZ0aGlzLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGh8fCIifScpYH19Y2xhc3MgTkZ7Y29uc3RydWN0b3IoYyl7dGhpcy5zbmFwc2hvdD1jLHRoaXMudHlw''@;'; put 'put ''ZT0xM310b1N0cmluZygpe3JldHVybmBBY3RpdmF0aW9uU3RhcnQocGF0aDogJyR7dGhpcy5zbmFwc2hvdC5yb3V0ZUNvbmZpZyYmdGhpcy5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5wYXRofHwiIn0nKWB9fWNsYXNzIFlGe2NvbnN0cnVjdG9yKGMpe3RoaXMuc25hcHNob3Q9Yyx0aGlzLnR5cGU9''@;'; put 'put ''MTR9dG9TdHJpbmcoKXtyZXR1cm5gQWN0aXZhdGlvbkVuZChwYXRoOiAnJHt0aGlzLnNuYXBzaG90LnJvdXRlQ29uZmlnJiZ0aGlzLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGh8fCIifScpYH19Y2xhc3MgZ2p7Y29uc3RydWN0b3IoYyxhLGQpe3RoaXMucm91dGVyRXZlbnQ9Yyx0aGlzLnBv''@;'; put 'put ''c2l0aW9uPWEsdGhpcy5hbmNob3I9ZCx0aGlzLnR5cGU9MTV9dG9TdHJpbmcoKXtyZXR1cm5gU2Nyb2xsKGFuY2hvcjogJyR7dGhpcy5hbmNob3J9JywgcG9zaXRpb246ICcke3RoaXMucG9zaXRpb24/YCR7dGhpcy5wb3NpdGlvblswXX0sICR7dGhpcy5wb3NpdGlvblsxXX1gOm51bGx9Jylg''@;'; put 'put ''fX1jbGFzcyBtantjb25zdHJ1Y3RvcihjKXt0aGlzLl9yb290PWN9Z2V0IHJvb3QoKXtyZXR1cm4gdGhpcy5fcm9vdC52YWx1ZX1wYXJlbnQoYyl7Y29uc3QgYT10aGlzLnBhdGhGcm9tUm9vdChjKTtyZXR1cm4gYS5sZW5ndGg+MT9hW2EubGVuZ3RoLTJdOm51bGx9Y2hpbGRyZW4oYyl7Y29u''@;'; put 'put ''c3QgYT1QXyhjLHRoaXMuX3Jvb3QpO3JldHVybiBhP2EuY2hpbGRyZW4ubWFwKGQ9PmQudmFsdWUpOltdfWZpcnN0Q2hpbGQoYyl7Y29uc3QgYT1QXyhjLHRoaXMuX3Jvb3QpO3JldHVybiBhJiZhLmNoaWxkcmVuLmxlbmd0aD4wP2EuY2hpbGRyZW5bMF0udmFsdWU6bnVsbH1zaWJsaW5ncyhj''@;'; put 'put ''KXtjb25zdCBhPURfKGMsdGhpcy5fcm9vdCk7cmV0dXJuIGEubGVuZ3RoPDI/W106YVthLmxlbmd0aC0yXS5jaGlsZHJlbi5tYXAoZj0+Zi52YWx1ZSkuZmlsdGVyKGY9PmYhPT1jKX1wYXRoRnJvbVJvb3QoYyl7cmV0dXJuIERfKGMsdGhpcy5fcm9vdCkubWFwKGE9PmEudmFsdWUpfX1mdW5j''@;'; put 'put ''dGlvbiBQXyhsLGMpe2lmKGw9PT1jLnZhbHVlKXJldHVybiBjO2Zvcihjb25zdCBhIG9mIGMuY2hpbGRyZW4pe2NvbnN0IGQ9UF8obCxhKTtpZihkKXJldHVybiBkfXJldHVybiBudWxsfWZ1bmN0aW9uIERfKGwsYyl7aWYobD09PWMudmFsdWUpcmV0dXJuW2NdO2Zvcihjb25zdCBhIG9mIGMu''@;'; put 'put ''Y2hpbGRyZW4pe2NvbnN0IGQ9RF8obCxhKTtpZihkLmxlbmd0aClyZXR1cm4gZC51bnNoaWZ0KGMpLGR9cmV0dXJuW119Y2xhc3MgQ2F7Y29uc3RydWN0b3IoYyxhKXt0aGlzLnZhbHVlPWMsdGhpcy5jaGlsZHJlbj1hfXRvU3RyaW5nKCl7cmV0dXJuYFRyZWVOb2RlKCR7dGhpcy52YWx1ZX0p''@;'; put 'put ''YH19ZnVuY3Rpb24gdnUobCl7Y29uc3QgYz17fTtyZXR1cm4gbCYmbC5jaGlsZHJlbi5mb3JFYWNoKGE9PmNbYS52YWx1ZS5vdXRsZXRdPWEpLGN9Y2xhc3MgYmogZXh0ZW5kcyBtantjb25zdHJ1Y3RvcihjLGEpe3N1cGVyKGMpLHRoaXMuc25hcHNob3Q9YSx4Xyh0aGlzLGMpfXRvU3RyaW5n''@;'; put 'put ''KCl7cmV0dXJuIHRoaXMuc25hcHNob3QudG9TdHJpbmcoKX19ZnVuY3Rpb24gdmoobCxjKXtjb25zdCBhPWZ1bmN0aW9uIEJGKGwsYyl7Y29uc3QgeD1uZXcgd2coW10se30se30sIiIse30scnIsYyxudWxsLGwucm9vdCwtMSx7fSk7cmV0dXJuIG5ldyB5aigiIixuZXcgQ2EoeCxbXSkpfShs''@;'; put 'put ''LGMpLGQ9bmV3IE5yKFtuZXcgaGgoIiIse30pXSksZj1uZXcgTnIoe30pLHY9bmV3IE5yKHt9KSx4PW5ldyBOcih7fSksSD1uZXcgTnIoIiIpLEs9bmV3IF91KGQsZix4LEgsdixycixjLGEucm9vdCk7cmV0dXJuIEsuc25hcHNob3Q9YS5yb290LG5ldyBiaihuZXcgQ2EoSyxbXSksYSl9Y2xh''@;'; put 'put ''c3MgX3V7Y29uc3RydWN0b3IoYyxhLGQsZix2LHgsSCxLKXt0aGlzLnVybD1jLHRoaXMucGFyYW1zPWEsdGhpcy5xdWVyeVBhcmFtcz1kLHRoaXMuZnJhZ21lbnQ9Zix0aGlzLmRhdGE9dix0aGlzLm91dGxldD14LHRoaXMuY29tcG9uZW50PUgsdGhpcy5fZnV0dXJlU25hcHNob3Q9S31nZXQg''@;'; put 'put ''cm91dGVDb25maWcoKXtyZXR1cm4gdGhpcy5fZnV0dXJlU25hcHNob3Qucm91dGVDb25maWd9Z2V0IHJvb3QoKXtyZXR1cm4gdGhpcy5fcm91dGVyU3RhdGUucm9vdH1nZXQgcGFyZW50KCl7cmV0dXJuIHRoaXMuX3JvdXRlclN0YXRlLnBhcmVudCh0aGlzKX1nZXQgZmlyc3RDaGlsZCgpe3Jl''@;'; put 'put ''dHVybiB0aGlzLl9yb3V0ZXJTdGF0ZS5maXJzdENoaWxkKHRoaXMpfWdldCBjaGlsZHJlbigpe3JldHVybiB0aGlzLl9yb3V0ZXJTdGF0ZS5jaGlsZHJlbih0aGlzKX1nZXQgcGF0aEZyb21Sb290KCl7cmV0dXJuIHRoaXMuX3JvdXRlclN0YXRlLnBhdGhGcm9tUm9vdCh0aGlzKX1nZXQgcGFy''@;'; put 'put ''YW1NYXAoKXtyZXR1cm4gdGhpcy5fcGFyYW1NYXB8fCh0aGlzLl9wYXJhbU1hcD10aGlzLnBhcmFtcy5waXBlKHVlKGM9Pmd1KGMpKSkpLHRoaXMuX3BhcmFtTWFwfWdldCBxdWVyeVBhcmFtTWFwKCl7cmV0dXJuIHRoaXMuX3F1ZXJ5UGFyYW1NYXB8fCh0aGlzLl9xdWVyeVBhcmFtTWFwPXRo''@;'; put 'put ''aXMucXVlcnlQYXJhbXMucGlwZSh1ZShjPT5ndShjKSkpKSx0aGlzLl9xdWVyeVBhcmFtTWFwfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuc25hcHNob3Q/dGhpcy5zbmFwc2hvdC50b1N0cmluZygpOmBGdXR1cmUoJHt0aGlzLl9mdXR1cmVTbmFwc2hvdH0pYH19ZnVuY3Rpb24gX2oobCxjPSJl''@;'; put 'put ''bXB0eU9ubHkiKXtjb25zdCBhPWwucGF0aEZyb21Sb290O2xldCBkPTA7aWYoImFsd2F5cyIhPT1jKWZvcihkPWEubGVuZ3RoLTE7ZD49MTspe2NvbnN0IGY9YVtkXSx2PWFbZC0xXTtpZihmLnJvdXRlQ29uZmlnJiYiIj09PWYucm91dGVDb25maWcucGF0aClkLS07ZWxzZXtpZih2LmNvbXBv''@;'; put 'put ''bmVudClicmVhaztkLS19fXJldHVybiBmdW5jdGlvbiBIRihsKXtyZXR1cm4gbC5yZWR1Y2UoKGMsYSk9Pnt2YXIgZDtyZXR1cm57cGFyYW1zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxjLnBhcmFtcyksYS5wYXJhbXMpLGRhdGE6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWdu''@;'; put 'put ''KHt9LGMuZGF0YSksYS5kYXRhKSxyZXNvbHZlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYS5kYXRhKSxjLnJlc29sdmUpLG51bGw9PT0oZD1hLnJvdXRlQ29uZmlnKXx8dm9pZCAwPT09ZD92b2lkIDA6ZC5kYXRhKSxhLl9yZXNv''@;'; put 'put ''bHZlZERhdGEpfX0se3BhcmFtczp7fSxkYXRhOnt9LHJlc29sdmU6e319KX0oYS5zbGljZShkKSl9Y2xhc3Mgd2d7Y29uc3RydWN0b3IoYyxhLGQsZix2LHgsSCxLLGVlLGZlLHllLGplKXt0aGlzLnVybD1jLHRoaXMucGFyYW1zPWEsdGhpcy5xdWVyeVBhcmFtcz1kLHRoaXMuZnJhZ21lbnQ9''@;'; put 'put ''Zix0aGlzLmRhdGE9dix0aGlzLm91dGxldD14LHRoaXMuY29tcG9uZW50PUgsdGhpcy5yb3V0ZUNvbmZpZz1LLHRoaXMuX3VybFNlZ21lbnQ9ZWUsdGhpcy5fbGFzdFBhdGhJbmRleD1mZSx0aGlzLl9jb3JyZWN0ZWRMYXN0UGF0aEluZGV4PW51bGwhPWplP2plOmZlLHRoaXMuX3Jlc29sdmU9''@;'; put 'put ''eWV9Z2V0IHJvb3QoKXtyZXR1cm4gdGhpcy5fcm91dGVyU3RhdGUucm9vdH1nZXQgcGFyZW50KCl7cmV0dXJuIHRoaXMuX3JvdXRlclN0YXRlLnBhcmVudCh0aGlzKX1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLl9yb3V0ZXJTdGF0ZS5maXJzdENoaWxkKHRoaXMpfWdldCBjaGlsZHJl''@;'; put 'put ''bigpe3JldHVybiB0aGlzLl9yb3V0ZXJTdGF0ZS5jaGlsZHJlbih0aGlzKX1nZXQgcGF0aEZyb21Sb290KCl7cmV0dXJuIHRoaXMuX3JvdXRlclN0YXRlLnBhdGhGcm9tUm9vdCh0aGlzKX1nZXQgcGFyYW1NYXAoKXtyZXR1cm4gdGhpcy5fcGFyYW1NYXB8fCh0aGlzLl9wYXJhbU1hcD1ndSh0''@;'; put 'put ''aGlzLnBhcmFtcykpLHRoaXMuX3BhcmFtTWFwfWdldCBxdWVyeVBhcmFtTWFwKCl7cmV0dXJuIHRoaXMuX3F1ZXJ5UGFyYW1NYXB8fCh0aGlzLl9xdWVyeVBhcmFtTWFwPWd1KHRoaXMucXVlcnlQYXJhbXMpKSx0aGlzLl9xdWVyeVBhcmFtTWFwfXRvU3RyaW5nKCl7cmV0dXJuYFJvdXRlKHVy''@;'; put 'put ''bDonJHt0aGlzLnVybC5tYXAoZD0+ZC50b1N0cmluZygpKS5qb2luKCIvIil9JywgcGF0aDonJHt0aGlzLnJvdXRlQ29uZmlnP3RoaXMucm91dGVDb25maWcucGF0aDoiIn0nKWB9fWNsYXNzIHlqIGV4dGVuZHMgbWp7Y29uc3RydWN0b3IoYyxhKXtzdXBlcihhKSx0aGlzLnVybD1jLHhfKHRo''@;'; put 'put ''aXMsYSl9dG9TdHJpbmcoKXtyZXR1cm4gd2oodGhpcy5fcm9vdCl9fWZ1bmN0aW9uIHhfKGwsYyl7Yy52YWx1ZS5fcm91dGVyU3RhdGU9bCxjLmNoaWxkcmVuLmZvckVhY2goYT0+eF8obCxhKSl9ZnVuY3Rpb24gd2oobCl7Y29uc3QgYz1sLmNoaWxkcmVuLmxlbmd0aD4wP2AgeyAke2wuY2hp''@;'; put 'put ''bGRyZW4ubWFwKHdqKS5qb2luKCIsICIpfSB9IGA6IiI7cmV0dXJuYCR7bC52YWx1ZX0ke2N9YH1mdW5jdGlvbiBBXyhsKXtpZihsLnNuYXBzaG90KXtjb25zdCBjPWwuc25hcHNob3QsYT1sLl9mdXR1cmVTbmFwc2hvdDtsLnNuYXBzaG90PWEsR3MoYy5xdWVyeVBhcmFtcyxhLnF1ZXJ5UGFy''@;'; put 'put ''YW1zKXx8bC5xdWVyeVBhcmFtcy5uZXh0KGEucXVlcnlQYXJhbXMpLGMuZnJhZ21lbnQhPT1hLmZyYWdtZW50JiZsLmZyYWdtZW50Lm5leHQoYS5mcmFnbWVudCksR3MoYy5wYXJhbXMsYS5wYXJhbXMpfHxsLnBhcmFtcy5uZXh0KGEucGFyYW1zKSxmdW5jdGlvbiByRihsLGMpe2lmKGwubGVu''@;'; put 'put ''Z3RoIT09Yy5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBhPTA7YTxsLmxlbmd0aDsrK2EpaWYoIUdzKGxbYV0sY1thXSkpcmV0dXJuITE7cmV0dXJuITB9KGMudXJsLGEudXJsKXx8bC51cmwubmV4dChhLnVybCksR3MoYy5kYXRhLGEuZGF0YSl8fGwuZGF0YS5uZXh0KGEuZGF0YSl9ZWxzZSBs''@;'; put 'put ''LnNuYXBzaG90PWwuX2Z1dHVyZVNuYXBzaG90LGwuZGF0YS5uZXh0KGwuX2Z1dHVyZVNuYXBzaG90LmRhdGEpfWZ1bmN0aW9uIEVfKGwsYyl7Y29uc3QgYT1HcyhsLnBhcmFtcyxjLnBhcmFtcykmJmZ1bmN0aW9uIGxGKGwsYyl7cmV0dXJuIEhsKGwsYykmJmwuZXZlcnkoKGEsZCk9PkdzKGEu''@;'; put 'put ''cGFyYW1ldGVycyxjW2RdLnBhcmFtZXRlcnMpKX0obC51cmwsYy51cmwpO3JldHVybiBhJiYhKCFsLnBhcmVudCE9IWMucGFyZW50KSYmKCFsLnBhcmVudHx8RV8obC5wYXJlbnQsYy5wYXJlbnQpKX1mdW5jdGlvbiBiaChsLGMsYSl7aWYoYSYmbC5zaG91bGRSZXVzZVJvdXRlKGMudmFsdWUs''@;'; put 'put ''YS52YWx1ZS5zbmFwc2hvdCkpe2NvbnN0IGQ9YS52YWx1ZTtkLl9mdXR1cmVTbmFwc2hvdD1jLnZhbHVlO2NvbnN0IGY9ZnVuY3Rpb24gVUYobCxjLGEpe3JldHVybiBjLmNoaWxkcmVuLm1hcChkPT57Zm9yKGNvbnN0IGYgb2YgYS5jaGlsZHJlbilpZihsLnNob3VsZFJldXNlUm91dGUoZC52''@;'; put 'put ''YWx1ZSxmLnZhbHVlLnNuYXBzaG90KSlyZXR1cm4gYmgobCxkLGYpO3JldHVybiBiaChsLGQpfSl9KGwsYyxhKTtyZXR1cm4gbmV3IENhKGQsZil9e2lmKGwuc2hvdWxkQXR0YWNoKGMudmFsdWUpKXtjb25zdCB2PWwucmV0cmlldmUoYy52YWx1ZSk7aWYobnVsbCE9PXYpe2NvbnN0IHg9di5y''@;'; put 'put ''b3V0ZTtyZXR1cm4geC52YWx1ZS5fZnV0dXJlU25hcHNob3Q9Yy52YWx1ZSx4LmNoaWxkcmVuPWMuY2hpbGRyZW4ubWFwKEg9PmJoKGwsSCkpLHh9fWNvbnN0IGQ9ZnVuY3Rpb24gV0YobCl7cmV0dXJuIG5ldyBfdShuZXcgTnIobC51cmwpLG5ldyBOcihsLnBhcmFtcyksbmV3IE5yKGwucXVl''@;'; put 'put ''cnlQYXJhbXMpLG5ldyBOcihsLmZyYWdtZW50KSxuZXcgTnIobC5kYXRhKSxsLm91dGxldCxsLmNvbXBvbmVudCxsKX0oYy52YWx1ZSksZj1jLmNoaWxkcmVuLm1hcCh2PT5iaChsLHYpKTtyZXR1cm4gbmV3IENhKGQsZil9fWNvbnN0IFRfPSJuZ05hdmlnYXRpb25DYW5jZWxpbmdFcnJvciI7''@;'; put 'put ''ZnVuY3Rpb24gTWoobCxjKXtjb25zdHtyZWRpcmVjdFRvOmEsbmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9uczpkfT1WbChjKT97cmVkaXJlY3RUbzpjLG5hdmlnYXRpb25CZWhhdmlvck9wdGlvbnM6dm9pZCAwfTpjLGY9Q2ooITEsMCxjKTtyZXR1cm4gZi51cmw9YSxmLm5hdmlnYXRpb25CZWhh''@;'; put 'put ''dmlvck9wdGlvbnM9ZCxmfWZ1bmN0aW9uIENqKGwsYyxhKXtjb25zdCBkPW5ldyBFcnJvcigiTmF2aWdhdGlvbkNhbmNlbGluZ0Vycm9yOiAiKyhsfHwiIikpO3JldHVybiBkW1RfXT0hMCxkLmNhbmNlbGxhdGlvbkNvZGU9YyxhJiYoZC51cmw9YSksZH1mdW5jdGlvbiBraihsKXtyZXR1cm4g''@;'; put 'put ''amoobCkmJlZsKGwudXJsKX1mdW5jdGlvbiBqaihsKXtyZXR1cm4gbCYmbFtUX119Y2xhc3MgcUZ7Y29uc3RydWN0b3IoKXt0aGlzLm91dGxldD1udWxsLHRoaXMucm91dGU9bnVsbCx0aGlzLnJlc29sdmVyPW51bGwsdGhpcy5pbmplY3Rvcj1udWxsLHRoaXMuY2hpbGRyZW49bmV3IHZoLHRo''@;'; put 'put ''aXMuYXR0YWNoUmVmPW51bGx9fWxldCB2aD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhpcy5jb250ZXh0cz1uZXcgTWFwfW9uQ2hpbGRPdXRsZXRDcmVhdGVkKGEsZCl7Y29uc3QgZj10aGlzLmdldE9yQ3JlYXRlQ29udGV4dChhKTtmLm91dGxldD1kLHRoaXMuY29udGV4dHMuc2V0''@;'; put 'put ''KGEsZil9b25DaGlsZE91dGxldERlc3Ryb3llZChhKXtjb25zdCBkPXRoaXMuZ2V0Q29udGV4dChhKTtkJiYoZC5vdXRsZXQ9bnVsbCxkLmF0dGFjaFJlZj1udWxsKX1vbk91dGxldERlYWN0aXZhdGVkKCl7Y29uc3QgYT10aGlzLmNvbnRleHRzO3JldHVybiB0aGlzLmNvbnRleHRzPW5ldyBN''@;'; put 'put ''YXAsYX1vbk91dGxldFJlQXR0YWNoZWQoYSl7dGhpcy5jb250ZXh0cz1hfWdldE9yQ3JlYXRlQ29udGV4dChhKXtsZXQgZD10aGlzLmdldENvbnRleHQoYSk7cmV0dXJuIGR8fChkPW5ldyBxRix0aGlzLmNvbnRleHRzLnNldChhLGQpKSxkfWdldENvbnRleHQoYSl7cmV0dXJuIHRoaXMuY29u''@;'; put 'put ''dGV4dHMuZ2V0KGEpfHxudWxsfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWMscHJvdmlkZWRJbjoicm9vdCJ9KSxsfSkoKTtjb25zdCBNZz0hMTtsZXQgTF89KCgpPT57''@;'; put 'put ''Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZix2LHgpe3RoaXMucGFyZW50Q29udGV4dHM9YSx0aGlzLmxvY2F0aW9uPWQsdGhpcy5jaGFuZ2VEZXRlY3Rvcj12LHRoaXMuZW52aXJvbm1lbnRJbmplY3Rvcj14LHRoaXMuYWN0aXZhdGVkPW51bGwsdGhpcy5fYWN0aXZhdGVkUm91dGU9bnVsbCx0''@;'; put 'put ''aGlzLmFjdGl2YXRlRXZlbnRzPW5ldyBIdCx0aGlzLmRlYWN0aXZhdGVFdmVudHM9bmV3IEh0LHRoaXMuYXR0YWNoRXZlbnRzPW5ldyBIdCx0aGlzLmRldGFjaEV2ZW50cz1uZXcgSHQsdGhpcy5uYW1lPWZ8fHJyLGEub25DaGlsZE91dGxldENyZWF0ZWQodGhpcy5uYW1lLHRoaXMpfW5nT25E''@;'; put 'put ''ZXN0cm95KCl7dmFyIGE7KG51bGw9PT0oYT10aGlzLnBhcmVudENvbnRleHRzLmdldENvbnRleHQodGhpcy5uYW1lKSl8fHZvaWQgMD09PWE/dm9pZCAwOmEub3V0bGV0KT09PXRoaXMmJnRoaXMucGFyZW50Q29udGV4dHMub25DaGlsZE91dGxldERlc3Ryb3llZCh0aGlzLm5hbWUpfW5nT25J''@;'; put 'put ''bml0KCl7aWYoIXRoaXMuYWN0aXZhdGVkKXtjb25zdCBhPXRoaXMucGFyZW50Q29udGV4dHMuZ2V0Q29udGV4dCh0aGlzLm5hbWUpO2EmJmEucm91dGUmJihhLmF0dGFjaFJlZj90aGlzLmF0dGFjaChhLmF0dGFjaFJlZixhLnJvdXRlKTp0aGlzLmFjdGl2YXRlV2l0aChhLnJvdXRlLGEuaW5q''@;'; put 'put ''ZWN0b3IpKX19Z2V0IGlzQWN0aXZhdGVkKCl7cmV0dXJuISF0aGlzLmFjdGl2YXRlZH1nZXQgY29tcG9uZW50KCl7aWYoIXRoaXMuYWN0aXZhdGVkKXRocm93IG5ldyBJdCg0MDEyLE1nKTtyZXR1cm4gdGhpcy5hY3RpdmF0ZWQuaW5zdGFuY2V9Z2V0IGFjdGl2YXRlZFJvdXRlKCl7aWYoIXRo''@;'; put 'put ''aXMuYWN0aXZhdGVkKXRocm93IG5ldyBJdCg0MDEyLE1nKTtyZXR1cm4gdGhpcy5fYWN0aXZhdGVkUm91dGV9Z2V0IGFjdGl2YXRlZFJvdXRlRGF0YSgpe3JldHVybiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZT90aGlzLl9hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5kYXRhOnt9fWRldGFjaCgpe2lm''@;'; put 'put ''KCF0aGlzLmFjdGl2YXRlZCl0aHJvdyBuZXcgSXQoNDAxMixNZyk7dGhpcy5sb2NhdGlvbi5kZXRhY2goKTtjb25zdCBhPXRoaXMuYWN0aXZhdGVkO3JldHVybiB0aGlzLmFjdGl2YXRlZD1udWxsLHRoaXMuX2FjdGl2YXRlZFJvdXRlPW51bGwsdGhpcy5kZXRhY2hFdmVudHMuZW1pdChhLmlu''@;'; put 'put ''c3RhbmNlKSxhfWF0dGFjaChhLGQpe3RoaXMuYWN0aXZhdGVkPWEsdGhpcy5fYWN0aXZhdGVkUm91dGU9ZCx0aGlzLmxvY2F0aW9uLmluc2VydChhLmhvc3RWaWV3KSx0aGlzLmF0dGFjaEV2ZW50cy5lbWl0KGEuaW5zdGFuY2UpfWRlYWN0aXZhdGUoKXtpZih0aGlzLmFjdGl2YXRlZCl7Y29u''@;'; put 'put ''c3QgYT10aGlzLmNvbXBvbmVudDt0aGlzLmFjdGl2YXRlZC5kZXN0cm95KCksdGhpcy5hY3RpdmF0ZWQ9bnVsbCx0aGlzLl9hY3RpdmF0ZWRSb3V0ZT1udWxsLHRoaXMuZGVhY3RpdmF0ZUV2ZW50cy5lbWl0KGEpfX1hY3RpdmF0ZVdpdGgoYSxkKXtpZih0aGlzLmlzQWN0aXZhdGVkKXRocm93''@;'; put 'put ''IG5ldyBJdCg0MDEzLE1nKTt0aGlzLl9hY3RpdmF0ZWRSb3V0ZT1hO2NvbnN0IGY9dGhpcy5sb2NhdGlvbix4PWEuX2Z1dHVyZVNuYXBzaG90LmNvbXBvbmVudCxIPXRoaXMucGFyZW50Q29udGV4dHMuZ2V0T3JDcmVhdGVDb250ZXh0KHRoaXMubmFtZSkuY2hpbGRyZW4sSz1uZXcgR0YoYSxI''@;'; put 'put ''LGYuaW5qZWN0b3IpO2lmKGQmJmZ1bmN0aW9uIFpGKGwpe3JldHVybiEhbC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeX0oZCkpe2NvbnN0IGVlPWQucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoeCk7dGhpcy5hY3RpdmF0ZWQ9Zi5jcmVhdGVDb21wb25lbnQoZWUsZi5sZW5ndGgsSyl9ZWxzZSB0''@;'; put 'put ''aGlzLmFjdGl2YXRlZD1mLmNyZWF0ZUNvbXBvbmVudCh4LHtpbmRleDpmLmxlbmd0aCxpbmplY3RvcjpLLGVudmlyb25tZW50SW5qZWN0b3I6bnVsbCE9ZD9kOnRoaXMuZW52aXJvbm1lbnRJbmplY3Rvcn0pO3RoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCksdGhpcy5hY3RpdmF0''@;'; put 'put ''ZUV2ZW50cy5lbWl0KHRoaXMuYWN0aXZhdGVkLmluc3RhbmNlKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUodmgpLG1lKHNyKSxFYygibmFtZSIpLG1lKHhpKSxtZShRYSkpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJy''@;'; put 'put ''b3V0ZXItb3V0bGV0Il1dLG91dHB1dHM6e2FjdGl2YXRlRXZlbnRzOiJhY3RpdmF0ZSIsZGVhY3RpdmF0ZUV2ZW50czoiZGVhY3RpdmF0ZSIsYXR0YWNoRXZlbnRzOiJhdHRhY2giLGRldGFjaEV2ZW50czoiZGV0YWNoIn0sZXhwb3J0QXM6WyJvdXRsZXQiXX0pLGx9KSgpO2NsYXNzIEdGe2Nv''@;'; put 'put ''bnN0cnVjdG9yKGMsYSxkKXt0aGlzLnJvdXRlPWMsdGhpcy5jaGlsZENvbnRleHRzPWEsdGhpcy5wYXJlbnQ9ZH1nZXQoYyxhKXtyZXR1cm4gYz09PV91P3RoaXMucm91dGU6Yz09PXZoP3RoaXMuY2hpbGRDb250ZXh0czp0aGlzLnBhcmVudC5nZXQoYyxhKX19bGV0IFNqPSgoKT0+e2NsYXNz''@;'; put 'put ''IGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJuZy1jb21wb25lbnQiXV0sZGVjbHM6MSx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJld0KDAsInJvdXRlci1vdXRs''@;'; put 'put ''ZXQiKX0sZGVwZW5kZW5jaWVzOltMX10sZW5jYXBzdWxhdGlvbjoyfSksbH0pKCk7ZnVuY3Rpb24gT2oobCxjKXt2YXIgYTtyZXR1cm4gbC5wcm92aWRlcnMmJiFsLl9pbmplY3RvciYmKGwuX2luamVjdG9yPU5wKGwucHJvdmlkZXJzLGMsYFJvdXRlOiAke2wucGF0aH1gKSksbnVsbCE9PShh''@;'; put 'put ''PWwuX2luamVjdG9yKSYmdm9pZCAwIT09YT9hOmN9ZnVuY3Rpb24gRl8obCl7Y29uc3QgYz1sLmNoaWxkcmVuJiZsLmNoaWxkcmVuLm1hcChGXyksYT1jP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxsKSx7Y2hpbGRyZW46Y30pOk9iamVjdC5hc3NpZ24oe30sbCk7cmV0dXJuIWEu''@;'; put 'put ''Y29tcG9uZW50JiYhYS5sb2FkQ29tcG9uZW50JiYoY3x8YS5sb2FkQ2hpbGRyZW4pJiZhLm91dGxldCYmYS5vdXRsZXQhPT1yciYmKGEuY29tcG9uZW50PVNqKSxhfWZ1bmN0aW9uIFFvKGwpe3JldHVybiBsLm91dGxldHx8cnJ9ZnVuY3Rpb24gUGoobCxjKXtjb25zdCBhPWwuZmlsdGVyKGQ9''@;'; put 'put ''PlFvKGQpPT09Yyk7cmV0dXJuIGEucHVzaCguLi5sLmZpbHRlcihkPT5RbyhkKSE9PWMpKSxhfWZ1bmN0aW9uIERqKGwpe3ZhciBjO2lmKCFsKXJldHVybiBudWxsO2lmKG51bGwhPT0oYz1sLnJvdXRlQ29uZmlnKSYmdm9pZCAwIT09YyYmYy5faW5qZWN0b3IpcmV0dXJuIGwucm91dGVDb25m''@;'; put 'put ''aWcuX2luamVjdG9yO2ZvcihsZXQgYT1sLnBhcmVudDthO2E9YS5wYXJlbnQpe2NvbnN0IGQ9YS5yb3V0ZUNvbmZpZztpZihudWxsIT1kJiZkLl9sb2FkZWRJbmplY3RvcilyZXR1cm4gZC5fbG9hZGVkSW5qZWN0b3I7aWYobnVsbCE9ZCYmZC5faW5qZWN0b3IpcmV0dXJuIGQuX2luamVjdG9y''@;'; put 'put ''fXJldHVybiBudWxsfWNsYXNzICRGe2NvbnN0cnVjdG9yKGMsYSxkLGYpe3RoaXMucm91dGVSZXVzZVN0cmF0ZWd5PWMsdGhpcy5mdXR1cmVTdGF0ZT1hLHRoaXMuY3VyclN0YXRlPWQsdGhpcy5mb3J3YXJkRXZlbnQ9Zn1hY3RpdmF0ZShjKXtjb25zdCBhPXRoaXMuZnV0dXJlU3RhdGUuX3Jv''@;'; put 'put ''b3QsZD10aGlzLmN1cnJTdGF0ZT90aGlzLmN1cnJTdGF0ZS5fcm9vdDpudWxsO3RoaXMuZGVhY3RpdmF0ZUNoaWxkUm91dGVzKGEsZCxjKSxBXyh0aGlzLmZ1dHVyZVN0YXRlLnJvb3QpLHRoaXMuYWN0aXZhdGVDaGlsZFJvdXRlcyhhLGQsYyl9ZGVhY3RpdmF0ZUNoaWxkUm91dGVzKGMsYSxk''@;'; put 'put ''KXtjb25zdCBmPXZ1KGEpO2MuY2hpbGRyZW4uZm9yRWFjaCh2PT57Y29uc3QgeD12LnZhbHVlLm91dGxldDt0aGlzLmRlYWN0aXZhdGVSb3V0ZXModixmW3hdLGQpLGRlbGV0ZSBmW3hdfSksQWkoZiwodix4KT0+e3RoaXMuZGVhY3RpdmF0ZVJvdXRlQW5kSXRzQ2hpbGRyZW4odixkKX0pfWRl''@;'; put 'put ''YWN0aXZhdGVSb3V0ZXMoYyxhLGQpe2NvbnN0IGY9Yy52YWx1ZSx2PWE/YS52YWx1ZTpudWxsO2lmKGY9PT12KWlmKGYuY29tcG9uZW50KXtjb25zdCB4PWQuZ2V0Q29udGV4dChmLm91dGxldCk7eCYmdGhpcy5kZWFjdGl2YXRlQ2hpbGRSb3V0ZXMoYyxhLHguY2hpbGRyZW4pfWVsc2UgdGhp''@;'; put 'put ''cy5kZWFjdGl2YXRlQ2hpbGRSb3V0ZXMoYyxhLGQpO2Vsc2UgdiYmdGhpcy5kZWFjdGl2YXRlUm91dGVBbmRJdHNDaGlsZHJlbihhLGQpfWRlYWN0aXZhdGVSb3V0ZUFuZEl0c0NoaWxkcmVuKGMsYSl7Yy52YWx1ZS5jb21wb25lbnQmJnRoaXMucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZERl''@;'; put 'put ''dGFjaChjLnZhbHVlLnNuYXBzaG90KT90aGlzLmRldGFjaEFuZFN0b3JlUm91dGVTdWJ0cmVlKGMsYSk6dGhpcy5kZWFjdGl2YXRlUm91dGVBbmRPdXRsZXQoYyxhKX1kZXRhY2hBbmRTdG9yZVJvdXRlU3VidHJlZShjLGEpe2NvbnN0IGQ9YS5nZXRDb250ZXh0KGMudmFsdWUub3V0bGV0KSxm''@;'; put 'put ''PWQmJmMudmFsdWUuY29tcG9uZW50P2QuY2hpbGRyZW46YSx2PXZ1KGMpO2Zvcihjb25zdCB4IG9mIE9iamVjdC5rZXlzKHYpKXRoaXMuZGVhY3RpdmF0ZVJvdXRlQW5kSXRzQ2hpbGRyZW4odlt4XSxmKTtpZihkJiZkLm91dGxldCl7Y29uc3QgeD1kLm91dGxldC5kZXRhY2goKSxIPWQuY2hp''@;'; put 'put ''bGRyZW4ub25PdXRsZXREZWFjdGl2YXRlZCgpO3RoaXMucm91dGVSZXVzZVN0cmF0ZWd5LnN0b3JlKGMudmFsdWUuc25hcHNob3Qse2NvbXBvbmVudFJlZjp4LHJvdXRlOmMsY29udGV4dHM6SH0pfX1kZWFjdGl2YXRlUm91dGVBbmRPdXRsZXQoYyxhKXtjb25zdCBkPWEuZ2V0Q29udGV4dChj''@;'; put 'put ''LnZhbHVlLm91dGxldCksZj1kJiZjLnZhbHVlLmNvbXBvbmVudD9kLmNoaWxkcmVuOmEsdj12dShjKTtmb3IoY29uc3QgeCBvZiBPYmplY3Qua2V5cyh2KSl0aGlzLmRlYWN0aXZhdGVSb3V0ZUFuZEl0c0NoaWxkcmVuKHZbeF0sZik7ZCYmZC5vdXRsZXQmJihkLm91dGxldC5kZWFjdGl2YXRl''@;'; put 'put ''KCksZC5jaGlsZHJlbi5vbk91dGxldERlYWN0aXZhdGVkKCksZC5hdHRhY2hSZWY9bnVsbCxkLnJlc29sdmVyPW51bGwsZC5yb3V0ZT1udWxsKX1hY3RpdmF0ZUNoaWxkUm91dGVzKGMsYSxkKXtjb25zdCBmPXZ1KGEpO2MuY2hpbGRyZW4uZm9yRWFjaCh2PT57dGhpcy5hY3RpdmF0ZVJvdXRl''@;'; put 'put ''cyh2LGZbdi52YWx1ZS5vdXRsZXRdLGQpLHRoaXMuZm9yd2FyZEV2ZW50KG5ldyBZRih2LnZhbHVlLnNuYXBzaG90KSl9KSxjLmNoaWxkcmVuLmxlbmd0aCYmdGhpcy5mb3J3YXJkRXZlbnQobmV3IFJGKGMudmFsdWUuc25hcHNob3QpKX1hY3RpdmF0ZVJvdXRlcyhjLGEsZCl7dmFyIGY7Y29u''@;'; put 'put ''c3Qgdj1jLnZhbHVlLHg9YT9hLnZhbHVlOm51bGw7aWYoQV8odiksdj09PXgpaWYodi5jb21wb25lbnQpe2NvbnN0IEg9ZC5nZXRPckNyZWF0ZUNvbnRleHQodi5vdXRsZXQpO3RoaXMuYWN0aXZhdGVDaGlsZFJvdXRlcyhjLGEsSC5jaGlsZHJlbil9ZWxzZSB0aGlzLmFjdGl2YXRlQ2hpbGRS''@;'; put 'put ''b3V0ZXMoYyxhLGQpO2Vsc2UgaWYodi5jb21wb25lbnQpe2NvbnN0IEg9ZC5nZXRPckNyZWF0ZUNvbnRleHQodi5vdXRsZXQpO2lmKHRoaXMucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZEF0dGFjaCh2LnNuYXBzaG90KSl7Y29uc3QgSz10aGlzLnJvdXRlUmV1c2VTdHJhdGVneS5yZXRyaWV2''@;'; put 'put ''ZSh2LnNuYXBzaG90KTt0aGlzLnJvdXRlUmV1c2VTdHJhdGVneS5zdG9yZSh2LnNuYXBzaG90LG51bGwpLEguY2hpbGRyZW4ub25PdXRsZXRSZUF0dGFjaGVkKEsuY29udGV4dHMpLEguYXR0YWNoUmVmPUsuY29tcG9uZW50UmVmLEgucm91dGU9Sy5yb3V0ZS52YWx1ZSxILm91dGxldCYmSC5v''@;'; put 'put ''dXRsZXQuYXR0YWNoKEsuY29tcG9uZW50UmVmLEsucm91dGUudmFsdWUpLEFfKEsucm91dGUudmFsdWUpLHRoaXMuYWN0aXZhdGVDaGlsZFJvdXRlcyhjLG51bGwsSC5jaGlsZHJlbil9ZWxzZXtjb25zdCBLPURqKHYuc25hcHNob3QpLGVlPW51bGwhPT0oZj1udWxsPT1LP3ZvaWQgMDpLLmdl''@;'; put 'put ''dCgkYSkpJiZ2b2lkIDAhPT1mP2Y6bnVsbDtILmF0dGFjaFJlZj1udWxsLEgucm91dGU9dixILnJlc29sdmVyPWVlLEguaW5qZWN0b3I9SyxILm91dGxldCYmSC5vdXRsZXQuYWN0aXZhdGVXaXRoKHYsSC5pbmplY3RvciksdGhpcy5hY3RpdmF0ZUNoaWxkUm91dGVzKGMsbnVsbCxILmNoaWxk''@;'; put 'put ''cmVuKX19ZWxzZSB0aGlzLmFjdGl2YXRlQ2hpbGRSb3V0ZXMoYyxudWxsLGQpfX1jbGFzcyB4antjb25zdHJ1Y3RvcihjKXt0aGlzLnBhdGg9Yyx0aGlzLnJvdXRlPXRoaXMucGF0aFt0aGlzLnBhdGgubGVuZ3RoLTFdfX1jbGFzcyBDZ3tjb25zdHJ1Y3RvcihjLGEpe3RoaXMuY29tcG9uZW50''@;'; put 'put ''PWMsdGhpcy5yb3V0ZT1hfX1mdW5jdGlvbiBlUihsLGMsYSl7Y29uc3QgZD1sLl9yb290O3JldHVybiBfaChkLGM/Yy5fcm9vdDpudWxsLGEsW2QudmFsdWVdKX1mdW5jdGlvbiBrZyhsLGMsYSl7Y29uc3QgZD1EaihjKTtyZXR1cm4obnVsbCE9ZD9kOmEpLmdldChsKX1mdW5jdGlvbiBfaChs''@;'; put 'put ''LGMsYSxkLGY9e2NhbkRlYWN0aXZhdGVDaGVja3M6W10sY2FuQWN0aXZhdGVDaGVja3M6W119KXtjb25zdCB2PXZ1KGMpO3JldHVybiBsLmNoaWxkcmVuLmZvckVhY2goeD0+eyhmdW5jdGlvbiBuUihsLGMsYSxkLGY9e2NhbkRlYWN0aXZhdGVDaGVja3M6W10sY2FuQWN0aXZhdGVDaGVja3M6''@;'; put 'put ''W119KXtjb25zdCB2PWwudmFsdWUseD1jP2MudmFsdWU6bnVsbCxIPWE/YS5nZXRDb250ZXh0KGwudmFsdWUub3V0bGV0KTpudWxsO2lmKHgmJnYucm91dGVDb25maWc9PT14LnJvdXRlQ29uZmlnKXtjb25zdCBLPWZ1bmN0aW9uIHJSKGwsYyxhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgYSly''@;'; put 'put ''ZXR1cm4gYShsLGMpO3N3aXRjaChhKXtjYXNlInBhdGhQYXJhbXNDaGFuZ2UiOnJldHVybiFIbChsLnVybCxjLnVybCk7Y2FzZSJwYXRoUGFyYW1zT3JRdWVyeVBhcmFtc0NoYW5nZSI6cmV0dXJuIUhsKGwudXJsLGMudXJsKXx8IUdzKGwucXVlcnlQYXJhbXMsYy5xdWVyeVBhcmFtcyk7Y2Fz''@;'; put 'put ''ZSJhbHdheXMiOnJldHVybiEwO2Nhc2UicGFyYW1zT3JRdWVyeVBhcmFtc0NoYW5nZSI6cmV0dXJuIUVfKGwsYyl8fCFHcyhsLnF1ZXJ5UGFyYW1zLGMucXVlcnlQYXJhbXMpO2RlZmF1bHQ6cmV0dXJuIUVfKGwsYyl9fSh4LHYsdi5yb3V0ZUNvbmZpZy5ydW5HdWFyZHNBbmRSZXNvbHZlcnMp''@;'; put 'put ''O0s/Zi5jYW5BY3RpdmF0ZUNoZWNrcy5wdXNoKG5ldyB4aihkKSk6KHYuZGF0YT14LmRhdGEsdi5fcmVzb2x2ZWREYXRhPXguX3Jlc29sdmVkRGF0YSksX2gobCxjLHYuY29tcG9uZW50P0g/SC5jaGlsZHJlbjpudWxsOmEsZCxmKSxLJiZIJiZILm91dGxldCYmSC5vdXRsZXQuaXNBY3RpdmF0''@;'; put 'put ''ZWQmJmYuY2FuRGVhY3RpdmF0ZUNoZWNrcy5wdXNoKG5ldyBDZyhILm91dGxldC5jb21wb25lbnQseCkpfWVsc2UgeCYmeWgoYyxILGYpLGYuY2FuQWN0aXZhdGVDaGVja3MucHVzaChuZXcgeGooZCkpLF9oKGwsbnVsbCx2LmNvbXBvbmVudD9IP0guY2hpbGRyZW46bnVsbDphLGQsZil9KSh4''@;'; put 'put ''LHZbeC52YWx1ZS5vdXRsZXRdLGEsZC5jb25jYXQoW3gudmFsdWVdKSxmKSxkZWxldGUgdlt4LnZhbHVlLm91dGxldF19KSxBaSh2LCh4LEgpPT55aCh4LGEuZ2V0Q29udGV4dChIKSxmKSksZn1mdW5jdGlvbiB5aChsLGMsYSl7Y29uc3QgZD12dShsKSxmPWwudmFsdWU7QWkoZCwodix4KT0+''@;'; put 'put ''e3loKHYsZi5jb21wb25lbnQ/Yz9jLmNoaWxkcmVuLmdldENvbnRleHQoeCk6bnVsbDpjLGEpfSksYS5jYW5EZWFjdGl2YXRlQ2hlY2tzLnB1c2gobmV3IENnKGYuY29tcG9uZW50JiZjJiZjLm91dGxldCYmYy5vdXRsZXQuaXNBY3RpdmF0ZWQ/Yy5vdXRsZXQuY29tcG9uZW50Om51bGwsZikp''@;'; put 'put ''fWZ1bmN0aW9uIHdoKGwpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBsfWZ1bmN0aW9uIFJfKGwpe3JldHVybiBsIGluc3RhbmNlb2YgZGd8fCJFbXB0eUVycm9yIj09PShudWxsPT1sP3ZvaWQgMDpsLm5hbWUpfWNvbnN0IGpnPVN5bWJvbCgiSU5JVElBTF9WQUxVRSIpO2Z1bmN0aW9uIHl1''@;'; put 'put ''KCl7cmV0dXJuIE1zKGw9PmhnKGwubWFwKGM9PmMucGlwZShZbCgxKSxkaChqZykpKSkucGlwZSh1ZShjPT57Zm9yKGNvbnN0IGEgb2YgYylpZighMCE9PWEpe2lmKGE9PT1qZylyZXR1cm4gamc7aWYoITE9PT1hfHxhIGluc3RhbmNlb2YgQmwpcmV0dXJuIGF9cmV0dXJuITB9KSxXcihjPT5j''@;'; put 'put ''IT09amcpLFlsKDEpKSl9ZnVuY3Rpb24gQWoobCl7cmV0dXJuIGZ1bmN0aW9uIHRlKC4uLmwpe3JldHVybiBoKGwpfShNaShjPT57aWYoVmwoYykpdGhyb3cgTWooMCxjKX0pLHVlKGM9PiEwPT09YykpfWNvbnN0IE5fPXttYXRjaGVkOiExLGNvbnN1bWVkU2VnbWVudHM6W10scmVtYWluaW5n''@;'; put 'put ''U2VnbWVudHM6W10scGFyYW1ldGVyczp7fSxwb3NpdGlvbmFsUGFyYW1TZWdtZW50czp7fX07ZnVuY3Rpb24gRWoobCxjLGEsZCxmKXtjb25zdCB2PVlfKGwsYyxhKTtyZXR1cm4gdi5tYXRjaGVkP2Z1bmN0aW9uIHlSKGwsYyxhLGQpe2NvbnN0IGY9Yy5jYW5NYXRjaDtyZXR1cm4gZiYmMCE9''@;'; put 'put ''PWYubGVuZ3RoP0FuKGYubWFwKHg9Pntjb25zdCBIPWwuZ2V0KHgpLEs9ZnVuY3Rpb24gY1IobCl7cmV0dXJuIGwmJndoKGwuY2FuTWF0Y2gpfShIKT9ILmNhbk1hdGNoKGMsYSk6SChjLGEpO3JldHVybiB3YShLKX0pKS5waXBlKHl1KCksQWooKSk6QW4oITApfShkPU9qKGMsZCksYyxhKS5w''@;'; put 'put ''aXBlKHVlKHg9PiEwPT09eD92Ok9iamVjdC5hc3NpZ24oe30sTl8pKSk6QW4odil9ZnVuY3Rpb24gWV8obCxjLGEpe3ZhciBkO2lmKCIiPT09Yy5wYXRoKXJldHVybiJmdWxsIj09PWMucGF0aE1hdGNoJiYobC5oYXNDaGlsZHJlbigpfHxhLmxlbmd0aD4wKT9PYmplY3QuYXNzaWduKHt9LE5f''@;'; put 'put ''KTp7bWF0Y2hlZDohMCxjb25zdW1lZFNlZ21lbnRzOltdLHJlbWFpbmluZ1NlZ21lbnRzOmEscGFyYW1ldGVyczp7fSxwb3NpdGlvbmFsUGFyYW1TZWdtZW50czp7fX07Y29uc3Qgdj0oYy5tYXRjaGVyfHxuRikoYSxsLGMpO2lmKCF2KXJldHVybiBPYmplY3QuYXNzaWduKHt9LE5fKTtjb25z''@;'; put 'put ''dCB4PXt9O0FpKHYucG9zUGFyYW1zLChLLGVlKT0+e3hbZWVdPUsucGF0aH0pO2NvbnN0IEg9di5jb25zdW1lZC5sZW5ndGg+MD9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30seCksdi5jb25zdW1lZFt2LmNvbnN1bWVkLmxlbmd0aC0xXS5wYXJhbWV0ZXJzKTp4O3JldHVybnttYXRj''@;'; put 'put ''aGVkOiEwLGNvbnN1bWVkU2VnbWVudHM6di5jb25zdW1lZCxyZW1haW5pbmdTZWdtZW50czphLnNsaWNlKHYuY29uc3VtZWQubGVuZ3RoKSxwYXJhbWV0ZXJzOkgscG9zaXRpb25hbFBhcmFtU2VnbWVudHM6bnVsbCE9PShkPXYucG9zUGFyYW1zKSYmdm9pZCAwIT09ZD9kOnt9fX1mdW5jdGlv''@;'; put 'put ''biBTZyhsLGMsYSxkLGY9ImNvcnJlY3RlZCIpe2lmKGEubGVuZ3RoPjAmJmZ1bmN0aW9uIENSKGwsYyxhKXtyZXR1cm4gYS5zb21lKGQ9Pk9nKGwsYyxkKSYmUW8oZCkhPT1ycil9KGwsYSxkKSl7Y29uc3QgeD1uZXcgYXIoYyxmdW5jdGlvbiBNUihsLGMsYSxkKXtjb25zdCBmPXt9O2ZbcnJd''@;'; put 'put ''PWQsZC5fc291cmNlU2VnbWVudD1sLGQuX3NlZ21lbnRJbmRleFNoaWZ0PWMubGVuZ3RoO2Zvcihjb25zdCB2IG9mIGEpaWYoIiI9PT12LnBhdGgmJlFvKHYpIT09cnIpe2NvbnN0IHg9bmV3IGFyKFtdLHt9KTt4Ll9zb3VyY2VTZWdtZW50PWwseC5fc2VnbWVudEluZGV4U2hpZnQ9Yy5sZW5n''@;'; put 'put ''dGgsZltRbyh2KV09eH1yZXR1cm4gZn0obCxjLGQsbmV3IGFyKGEsbC5jaGlsZHJlbikpKTtyZXR1cm4geC5fc291cmNlU2VnbWVudD1sLHguX3NlZ21lbnRJbmRleFNoaWZ0PWMubGVuZ3RoLHtzZWdtZW50R3JvdXA6eCxzbGljZWRTZWdtZW50czpbXX19aWYoMD09PWEubGVuZ3RoJiZmdW5j''@;'; put 'put ''dGlvbiBrUihsLGMsYSl7cmV0dXJuIGEuc29tZShkPT5PZyhsLGMsZCkpfShsLGEsZCkpe2NvbnN0IHg9bmV3IGFyKGwuc2VnbWVudHMsZnVuY3Rpb24gd1IobCxjLGEsZCxmLHYpe2NvbnN0IHg9e307Zm9yKGNvbnN0IEggb2YgZClpZihPZyhsLGEsSCkmJiFmW1FvKEgpXSl7Y29uc3QgSz1u''@;'; put 'put ''ZXcgYXIoW10se30pO0suX3NvdXJjZVNlZ21lbnQ9bCxLLl9zZWdtZW50SW5kZXhTaGlmdD0ibGVnYWN5Ij09PXY/bC5zZWdtZW50cy5sZW5ndGg6Yy5sZW5ndGgseFtRbyhIKV09S31yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGYpLHgpfShsLGMsYSxkLGwuY2hpbGRy''@;'; put 'put ''ZW4sZikpO3JldHVybiB4Ll9zb3VyY2VTZWdtZW50PWwseC5fc2VnbWVudEluZGV4U2hpZnQ9Yy5sZW5ndGgse3NlZ21lbnRHcm91cDp4LHNsaWNlZFNlZ21lbnRzOmF9fWNvbnN0IHY9bmV3IGFyKGwuc2VnbWVudHMsbC5jaGlsZHJlbik7cmV0dXJuIHYuX3NvdXJjZVNlZ21lbnQ9bCx2Ll9z''@;'; put 'put ''ZWdtZW50SW5kZXhTaGlmdD1jLmxlbmd0aCx7c2VnbWVudEdyb3VwOnYsc2xpY2VkU2VnbWVudHM6YX19ZnVuY3Rpb24gT2cobCxjLGEpe3JldHVybighKGwuaGFzQ2hpbGRyZW4oKXx8Yy5sZW5ndGg+MCl8fCJmdWxsIiE9PWEucGF0aE1hdGNoKSYmIiI9PT1hLnBhdGh9ZnVuY3Rpb24gVGoo''@;'; put 'put ''bCxjLGEsZCl7cmV0dXJuISEoUW8obCk9PT1kfHxkIT09cnImJk9nKGMsYSxsKSkmJigiKioiPT09bC5wYXRofHxZXyhjLGwsYSkubWF0Y2hlZCl9ZnVuY3Rpb24gTGoobCxjLGEpe3JldHVybiAwPT09Yy5sZW5ndGgmJiFsLmNoaWxkcmVuW2FdfWNvbnN0IFBnPSExO2NsYXNzIERne2NvbnN0''@;'; put 'put ''cnVjdG9yKGMpe3RoaXMuc2VnbWVudEdyb3VwPWN8fG51bGx9fWNsYXNzIElqe2NvbnN0cnVjdG9yKGMpe3RoaXMudXJsVHJlZT1jfX1mdW5jdGlvbiBNaChsKXtyZXR1cm4gdWgobmV3IERnKGwpKX1mdW5jdGlvbiBGaihsKXtyZXR1cm4gdWgobmV3IElqKGwpKX1jbGFzcyBQUntjb25zdHJ1''@;'; put 'put ''Y3RvcihjLGEsZCxmLHYpe3RoaXMuaW5qZWN0b3I9Yyx0aGlzLmNvbmZpZ0xvYWRlcj1hLHRoaXMudXJsU2VyaWFsaXplcj1kLHRoaXMudXJsVHJlZT1mLHRoaXMuY29uZmlnPXYsdGhpcy5hbGxvd1JlZGlyZWN0cz0hMH1hcHBseSgpe2NvbnN0IGM9U2codGhpcy51cmxUcmVlLnJvb3QsW10s''@;'; put 'put ''W10sdGhpcy5jb25maWcpLnNlZ21lbnRHcm91cCxhPW5ldyBhcihjLnNlZ21lbnRzLGMuY2hpbGRyZW4pO3JldHVybiB0aGlzLmV4cGFuZFNlZ21lbnRHcm91cCh0aGlzLmluamVjdG9yLHRoaXMuY29uZmlnLGEscnIpLnBpcGUodWUodj0+dGhpcy5jcmVhdGVVcmxUcmVlKF9nKHYpLHRoaXMu''@;'; put 'put ''dXJsVHJlZS5xdWVyeVBhcmFtcyx0aGlzLnVybFRyZWUuZnJhZ21lbnQpKSkucGlwZShpbCh2PT57aWYodiBpbnN0YW5jZW9mIElqKXJldHVybiB0aGlzLmFsbG93UmVkaXJlY3RzPSExLHRoaXMubWF0Y2godi51cmxUcmVlKTt0aHJvdyB2IGluc3RhbmNlb2YgRGc/dGhpcy5ub01hdGNoRXJy''@;'; put 'put ''b3Iodik6dn0pKX1tYXRjaChjKXtyZXR1cm4gdGhpcy5leHBhbmRTZWdtZW50R3JvdXAodGhpcy5pbmplY3Rvcix0aGlzLmNvbmZpZyxjLnJvb3QscnIpLnBpcGUodWUoZj0+dGhpcy5jcmVhdGVVcmxUcmVlKF9nKGYpLGMucXVlcnlQYXJhbXMsYy5mcmFnbWVudCkpKS5waXBlKGlsKGY9Pnt0''@;'; put 'put ''aHJvdyBmIGluc3RhbmNlb2YgRGc/dGhpcy5ub01hdGNoRXJyb3IoZik6Zn0pKX1ub01hdGNoRXJyb3IoYyl7cmV0dXJuIG5ldyBJdCg0MDAyLFBnKX1jcmVhdGVVcmxUcmVlKGMsYSxkKXtjb25zdCBmPUNfKGMpO3JldHVybiBuZXcgQmwoZixhLGQpfWV4cGFuZFNlZ21lbnRHcm91cChjLGEs''@;'; put 'put ''ZCxmKXtyZXR1cm4gMD09PWQuc2VnbWVudHMubGVuZ3RoJiZkLmhhc0NoaWxkcmVuKCk/dGhpcy5leHBhbmRDaGlsZHJlbihjLGEsZCkucGlwZSh1ZSh2PT5uZXcgYXIoW10sdikpKTp0aGlzLmV4cGFuZFNlZ21lbnQoYyxkLGEsZC5zZWdtZW50cyxmLCEwKX1leHBhbmRDaGlsZHJlbihjLGEs''@;'; put 'put ''ZCl7Y29uc3QgZj1bXTtmb3IoY29uc3QgdiBvZiBPYmplY3Qua2V5cyhkLmNoaWxkcmVuKSkicHJpbWFyeSI9PT12P2YudW5zaGlmdCh2KTpmLnB1c2godik7cmV0dXJuIG5uKGYpLnBpcGUoemwodj0+e2NvbnN0IHg9ZC5jaGlsZHJlblt2XSxIPVBqKGEsdik7cmV0dXJuIHRoaXMuZXhwYW5k''@;'; put 'put ''U2VnbWVudEdyb3VwKGMsSCx4LHYpLnBpcGUodWUoSz0+KHtzZWdtZW50Okssb3V0bGV0OnZ9KSkpfSksWjYoKHYseCk9Pih2W3gub3V0bGV0XT14LnNlZ21lbnQsdikse30pLEo2KCkpfWV4cGFuZFNlZ21lbnQoYyxhLGQsZix2LHgpe3JldHVybiBubihkKS5waXBlKHpsKEg9PnRoaXMuZXhw''@;'; put 'put ''YW5kU2VnbWVudEFnYWluc3RSb3V0ZShjLGEsZCxILGYsdix4KS5waXBlKGlsKGVlPT57aWYoZWUgaW5zdGFuY2VvZiBEZylyZXR1cm4gQW4obnVsbCk7dGhyb3cgZWV9KSkpLHlhKEg9PiEhSCksaWwoKEgsSyk9PntpZihSXyhIKSlyZXR1cm4gTGooYSxmLHYpP0FuKG5ldyBhcihbXSx7fSkp''@;'; put 'put ''Ok1oKGEpO3Rocm93IEh9KSl9ZXhwYW5kU2VnbWVudEFnYWluc3RSb3V0ZShjLGEsZCxmLHYseCxIKXtyZXR1cm4gVGooZixhLHYseCk/dm9pZCAwPT09Zi5yZWRpcmVjdFRvP3RoaXMubWF0Y2hTZWdtZW50QWdhaW5zdFJvdXRlKGMsYSxmLHYseCk6SCYmdGhpcy5hbGxvd1JlZGlyZWN0cz90''@;'; put 'put ''aGlzLmV4cGFuZFNlZ21lbnRBZ2FpbnN0Um91dGVVc2luZ1JlZGlyZWN0KGMsYSxkLGYsdix4KTpNaChhKTpNaChhKX1leHBhbmRTZWdtZW50QWdhaW5zdFJvdXRlVXNpbmdSZWRpcmVjdChjLGEsZCxmLHYseCl7cmV0dXJuIioqIj09PWYucGF0aD90aGlzLmV4cGFuZFdpbGRDYXJkV2l0aFBh''@;'; put 'put ''cmFtc0FnYWluc3RSb3V0ZVVzaW5nUmVkaXJlY3QoYyxkLGYseCk6dGhpcy5leHBhbmRSZWd1bGFyU2VnbWVudEFnYWluc3RSb3V0ZVVzaW5nUmVkaXJlY3QoYyxhLGQsZix2LHgpfWV4cGFuZFdpbGRDYXJkV2l0aFBhcmFtc0FnYWluc3RSb3V0ZVVzaW5nUmVkaXJlY3QoYyxhLGQsZil7Y29u''@;'; put 'put ''c3Qgdj10aGlzLmFwcGx5UmVkaXJlY3RDb21tYW5kcyhbXSxkLnJlZGlyZWN0VG8se30pO3JldHVybiBkLnJlZGlyZWN0VG8uc3RhcnRzV2l0aCgiLyIpP0ZqKHYpOnRoaXMubGluZXJhbGl6ZVNlZ21lbnRzKGQsdikucGlwZShsdCh4PT57Y29uc3QgSD1uZXcgYXIoeCx7fSk7cmV0dXJuIHRo''@;'; put 'put ''aXMuZXhwYW5kU2VnbWVudChjLEgsYSx4LGYsITEpfSkpfWV4cGFuZFJlZ3VsYXJTZWdtZW50QWdhaW5zdFJvdXRlVXNpbmdSZWRpcmVjdChjLGEsZCxmLHYseCl7Y29uc3R7bWF0Y2hlZDpILGNvbnN1bWVkU2VnbWVudHM6SyxyZW1haW5pbmdTZWdtZW50czplZSxwb3NpdGlvbmFsUGFyYW1T''@;'; put 'put ''ZWdtZW50czpmZX09WV8oYSxmLHYpO2lmKCFIKXJldHVybiBNaChhKTtjb25zdCB5ZT10aGlzLmFwcGx5UmVkaXJlY3RDb21tYW5kcyhLLGYucmVkaXJlY3RUbyxmZSk7cmV0dXJuIGYucmVkaXJlY3RUby5zdGFydHNXaXRoKCIvIik/RmooeWUpOnRoaXMubGluZXJhbGl6ZVNlZ21lbnRzKGYs''@;'; put 'put ''eWUpLnBpcGUobHQoamU9PnRoaXMuZXhwYW5kU2VnbWVudChjLGEsZCxqZS5jb25jYXQoZWUpLHgsITEpKSl9bWF0Y2hTZWdtZW50QWdhaW5zdFJvdXRlKGMsYSxkLGYsdil7cmV0dXJuIioqIj09PWQucGF0aD8oYz1PaihkLGMpLGQubG9hZENoaWxkcmVuPyhkLl9sb2FkZWRSb3V0ZXM/QW4o''@;'; put 'put ''e3JvdXRlczpkLl9sb2FkZWRSb3V0ZXMsaW5qZWN0b3I6ZC5fbG9hZGVkSW5qZWN0b3J9KTp0aGlzLmNvbmZpZ0xvYWRlci5sb2FkQ2hpbGRyZW4oYyxkKSkucGlwZSh1ZShIPT4oZC5fbG9hZGVkUm91dGVzPUgucm91dGVzLGQuX2xvYWRlZEluamVjdG9yPUguaW5qZWN0b3IsbmV3IGFyKGYs''@;'; put 'put ''e30pKSkpOkFuKG5ldyBhcihmLHt9KSkpOkVqKGEsZCxmLGMpLnBpcGUoTXMoKHttYXRjaGVkOngsY29uc3VtZWRTZWdtZW50czpILHJlbWFpbmluZ1NlZ21lbnRzOkt9KT0+e3ZhciBlZTtyZXR1cm4geD8oYz1udWxsIT09KGVlPWQuX2luamVjdG9yKSYmdm9pZCAwIT09ZWU/ZWU6Yyx0aGlz''@;'; put 'put ''LmdldENoaWxkQ29uZmlnKGMsZCxmKS5waXBlKGx0KHllPT57dmFyIGplO2NvbnN0IEllPW51bGwhPT0oamU9eWUuaW5qZWN0b3IpJiZ2b2lkIDAhPT1qZT9qZTpjLHFlPXllLnJvdXRlcyx7c2VnbWVudEdyb3VwOnN0LHNsaWNlZFNlZ21lbnRzOmt0fT1TZyhhLEgsSyxxZSksQXQ9bmV3IGFy''@;'; put 'put ''KHN0LnNlZ21lbnRzLHN0LmNoaWxkcmVuKTtpZigwPT09a3QubGVuZ3RoJiZBdC5oYXNDaGlsZHJlbigpKXJldHVybiB0aGlzLmV4cGFuZENoaWxkcmVuKEllLHFlLEF0KS5waXBlKHVlKFRuPT5uZXcgYXIoSCxUbikpKTtpZigwPT09cWUubGVuZ3RoJiYwPT09a3QubGVuZ3RoKXJldHVybiBB''@;'; put 'put ''bihuZXcgYXIoSCx7fSkpO2NvbnN0IEp0PVFvKGQpPT09djtyZXR1cm4gdGhpcy5leHBhbmRTZWdtZW50KEllLEF0LHFlLGt0LEp0P3JyOnYsITApLnBpcGUodWUoS3Q9Pm5ldyBhcihILmNvbmNhdChLdC5zZWdtZW50cyksS3QuY2hpbGRyZW4pKSl9KSkpOk1oKGEpfSkpfWdldENoaWxkQ29u''@;'; put 'put ''ZmlnKGMsYSxkKXtyZXR1cm4gYS5jaGlsZHJlbj9Bbih7cm91dGVzOmEuY2hpbGRyZW4saW5qZWN0b3I6Y30pOmEubG9hZENoaWxkcmVuP3ZvaWQgMCE9PWEuX2xvYWRlZFJvdXRlcz9Bbih7cm91dGVzOmEuX2xvYWRlZFJvdXRlcyxpbmplY3RvcjphLl9sb2FkZWRJbmplY3Rvcn0pOmZ1bmN0''@;'; put 'put ''aW9uIF9SKGwsYyxhLGQpe2NvbnN0IGY9Yy5jYW5Mb2FkO3JldHVybiB2b2lkIDA9PT1mfHwwPT09Zi5sZW5ndGg/QW4oITApOkFuKGYubWFwKHg9Pntjb25zdCBIPWwuZ2V0KHgpLEs9ZnVuY3Rpb24gb1IobCl7cmV0dXJuIGwmJndoKGwuY2FuTG9hZCl9KEgpP0guY2FuTG9hZChjLGEpOkgo''@;'; put 'put ''YyxhKTtyZXR1cm4gd2EoSyl9KSkucGlwZSh5dSgpLEFqKCkpfShjLGEsZCkucGlwZShsdChmPT5mP3RoaXMuY29uZmlnTG9hZGVyLmxvYWRDaGlsZHJlbihjLGEpLnBpcGUoTWkodj0+e2EuX2xvYWRlZFJvdXRlcz12LnJvdXRlcyxhLl9sb2FkZWRJbmplY3Rvcj12LmluamVjdG9yfSkpOmZ1''@;'; put 'put ''bmN0aW9uIFNSKGwpe3JldHVybiB1aChDaihQZywzKSl9KCkpKTpBbih7cm91dGVzOltdLGluamVjdG9yOmN9KX1saW5lcmFsaXplU2VnbWVudHMoYyxhKXtsZXQgZD1bXSxmPWEucm9vdDtmb3IoOzspe2lmKGQ9ZC5jb25jYXQoZi5zZWdtZW50cyksMD09PWYubnVtYmVyT2ZDaGlsZHJlbily''@;'; put 'put ''ZXR1cm4gQW4oZCk7aWYoZi5udW1iZXJPZkNoaWxkcmVuPjF8fCFmLmNoaWxkcmVuW3JyXSlyZXR1cm4gdWgobmV3IEl0KDRlMyxQZykpO2Y9Zi5jaGlsZHJlbltycl19fWFwcGx5UmVkaXJlY3RDb21tYW5kcyhjLGEsZCl7cmV0dXJuIHRoaXMuYXBwbHlSZWRpcmVjdENyZWF0ZVVybFRyZWUo''@;'; put 'put ''YSx0aGlzLnVybFNlcmlhbGl6ZXIucGFyc2UoYSksYyxkKX1hcHBseVJlZGlyZWN0Q3JlYXRlVXJsVHJlZShjLGEsZCxmKXtjb25zdCB2PXRoaXMuY3JlYXRlU2VnbWVudEdyb3VwKGMsYS5yb290LGQsZik7cmV0dXJuIG5ldyBCbCh2LHRoaXMuY3JlYXRlUXVlcnlQYXJhbXMoYS5xdWVyeVBh''@;'; put 'put ''cmFtcyx0aGlzLnVybFRyZWUucXVlcnlQYXJhbXMpLGEuZnJhZ21lbnQpfWNyZWF0ZVF1ZXJ5UGFyYW1zKGMsYSl7Y29uc3QgZD17fTtyZXR1cm4gQWkoYywoZix2KT0+e2lmKCJzdHJpbmciPT10eXBlb2YgZiYmZi5zdGFydHNXaXRoKCI6Iikpe2NvbnN0IEg9Zi5zdWJzdHJpbmcoMSk7ZFt2''@;'; put 'put ''XT1hW0hdfWVsc2UgZFt2XT1mfSksZH1jcmVhdGVTZWdtZW50R3JvdXAoYyxhLGQsZil7Y29uc3Qgdj10aGlzLmNyZWF0ZVNlZ21lbnRzKGMsYS5zZWdtZW50cyxkLGYpO2xldCB4PXt9O3JldHVybiBBaShhLmNoaWxkcmVuLChILEspPT57eFtLXT10aGlzLmNyZWF0ZVNlZ21lbnRHcm91cChj''@;'; put 'put ''LEgsZCxmKX0pLG5ldyBhcih2LHgpfWNyZWF0ZVNlZ21lbnRzKGMsYSxkLGYpe3JldHVybiBhLm1hcCh2PT52LnBhdGguc3RhcnRzV2l0aCgiOiIpP3RoaXMuZmluZFBvc1BhcmFtKGMsdixmKTp0aGlzLmZpbmRPclJldHVybih2LGQpKX1maW5kUG9zUGFyYW0oYyxhLGQpe2NvbnN0IGY9ZFth''@;'; put 'put ''LnBhdGguc3Vic3RyaW5nKDEpXTtpZighZil0aHJvdyBuZXcgSXQoNDAwMSxQZyk7cmV0dXJuIGZ9ZmluZE9yUmV0dXJuKGMsYSl7bGV0IGQ9MDtmb3IoY29uc3QgZiBvZiBhKXtpZihmLnBhdGg9PT1jLnBhdGgpcmV0dXJuIGEuc3BsaWNlKGQpLGY7ZCsrfXJldHVybiBjfX1jbGFzcyB4Unt9''@;'; put 'put ''Y2xhc3MgVFJ7Y29uc3RydWN0b3IoYyxhLGQsZix2LHgsSCxLKXt0aGlzLmluamVjdG9yPWMsdGhpcy5yb290Q29tcG9uZW50VHlwZT1hLHRoaXMuY29uZmlnPWQsdGhpcy51cmxUcmVlPWYsdGhpcy51cmw9dix0aGlzLnBhcmFtc0luaGVyaXRhbmNlU3RyYXRlZ3k9eCx0aGlzLnJlbGF0aXZl''@;'; put 'put ''TGlua1Jlc29sdXRpb249SCx0aGlzLnVybFNlcmlhbGl6ZXI9S31yZWNvZ25pemUoKXtjb25zdCBjPVNnKHRoaXMudXJsVHJlZS5yb290LFtdLFtdLHRoaXMuY29uZmlnLmZpbHRlcihhPT52b2lkIDA9PT1hLnJlZGlyZWN0VG8pLHRoaXMucmVsYXRpdmVMaW5rUmVzb2x1dGlvbikuc2VnbWVu''@;'; put 'put ''dEdyb3VwO3JldHVybiB0aGlzLnByb2Nlc3NTZWdtZW50R3JvdXAodGhpcy5pbmplY3Rvcix0aGlzLmNvbmZpZyxjLHJyKS5waXBlKHVlKGE9PntpZihudWxsPT09YSlyZXR1cm4gbnVsbDtjb25zdCBkPW5ldyB3ZyhbXSxPYmplY3QuZnJlZXplKHt9KSxPYmplY3QuZnJlZXplKE9iamVjdC5h''@;'; put 'put ''c3NpZ24oe30sdGhpcy51cmxUcmVlLnF1ZXJ5UGFyYW1zKSksdGhpcy51cmxUcmVlLmZyYWdtZW50LHt9LHJyLHRoaXMucm9vdENvbXBvbmVudFR5cGUsbnVsbCx0aGlzLnVybFRyZWUucm9vdCwtMSx7fSksZj1uZXcgQ2EoZCxhKSx2PW5ldyB5aih0aGlzLnVybCxmKTtyZXR1cm4gdGhpcy5p''@;'; put 'put ''bmhlcml0UGFyYW1zQW5kRGF0YSh2Ll9yb290KSx2fSkpfWluaGVyaXRQYXJhbXNBbmREYXRhKGMpe2NvbnN0IGE9Yy52YWx1ZSxkPV9qKGEsdGhpcy5wYXJhbXNJbmhlcml0YW5jZVN0cmF0ZWd5KTthLnBhcmFtcz1PYmplY3QuZnJlZXplKGQucGFyYW1zKSxhLmRhdGE9T2JqZWN0LmZyZWV6''@;'; put 'put ''ZShkLmRhdGEpLGMuY2hpbGRyZW4uZm9yRWFjaChmPT50aGlzLmluaGVyaXRQYXJhbXNBbmREYXRhKGYpKX1wcm9jZXNzU2VnbWVudEdyb3VwKGMsYSxkLGYpe3JldHVybiAwPT09ZC5zZWdtZW50cy5sZW5ndGgmJmQuaGFzQ2hpbGRyZW4oKT90aGlzLnByb2Nlc3NDaGlsZHJlbihjLGEsZCk6''@;'; put 'put ''dGhpcy5wcm9jZXNzU2VnbWVudChjLGEsZCxkLnNlZ21lbnRzLGYpfXByb2Nlc3NDaGlsZHJlbihjLGEsZCl7cmV0dXJuIG5uKE9iamVjdC5rZXlzKGQuY2hpbGRyZW4pKS5waXBlKHpsKGY9Pntjb25zdCB2PWQuY2hpbGRyZW5bZl0seD1QaihhLGYpO3JldHVybiB0aGlzLnByb2Nlc3NTZWdt''@;'; put 'put ''ZW50R3JvdXAoYyx4LHYsZil9KSxaNigoZix2KT0+ZiYmdj8oZi5wdXNoKC4uLnYpLGYpOm51bGwpLGZ1bmN0aW9uICRJKGwsYz0hMSl7cmV0dXJuIFgoKGEsZCk9PntsZXQgZj0wO2Euc3Vic2NyaWJlKG5lKGQsdj0+e2NvbnN0IHg9bCh2LGYrKyk7KHh8fGMpJiZkLm5leHQodiksIXgmJmQu''@;'; put 'put ''Y29tcGxldGUoKX0pKX0pfShmPT5udWxsIT09ZiksZmcobnVsbCksSjYoKSx1ZShmPT57aWYobnVsbD09PWYpcmV0dXJuIG51bGw7Y29uc3Qgdj1SaihmKTtyZXR1cm4gZnVuY3Rpb24gTFIobCl7bC5zb3J0KChjLGEpPT5jLnZhbHVlLm91dGxldD09PXJyPy0xOmEudmFsdWUub3V0bGV0PT09''@;'; put 'put ''cnI/MTpjLnZhbHVlLm91dGxldC5sb2NhbGVDb21wYXJlKGEudmFsdWUub3V0bGV0KSl9KHYpLHZ9KSl9cHJvY2Vzc1NlZ21lbnQoYyxhLGQsZix2KXtyZXR1cm4gbm4oYSkucGlwZSh6bCh4PT57dmFyIEg7cmV0dXJuIHRoaXMucHJvY2Vzc1NlZ21lbnRBZ2FpbnN0Um91dGUobnVsbCE9PShI''@;'; put 'put ''PXguX2luamVjdG9yKSYmdm9pZCAwIT09SD9IOmMseCxkLGYsdil9KSx5YSh4PT4hIXgpLGlsKHg9PntpZihSXyh4KSlyZXR1cm4gTGooZCxmLHYpP0FuKFtdKTpBbihudWxsKTt0aHJvdyB4fSkpfXByb2Nlc3NTZWdtZW50QWdhaW5zdFJvdXRlKGMsYSxkLGYsdil7dmFyIHgsSDtpZihhLnJl''@;'; put 'put ''ZGlyZWN0VG98fCFUaihhLGQsZix2KSlyZXR1cm4gQW4obnVsbCk7bGV0IEs7aWYoIioqIj09PWEucGF0aCl7Y29uc3QgZWU9Zi5sZW5ndGg+MD9RNihmKS5wYXJhbWV0ZXJzOnt9LGZlPVlqKGQpK2YubGVuZ3RoO0s9QW4oe3NuYXBzaG90Om5ldyB3ZyhmLGVlLE9iamVjdC5mcmVlemUoT2Jq''@;'; put 'put ''ZWN0LmFzc2lnbih7fSx0aGlzLnVybFRyZWUucXVlcnlQYXJhbXMpKSx0aGlzLnVybFRyZWUuZnJhZ21lbnQsQmooYSksUW8oYSksbnVsbCE9PShIPW51bGwhPT0oeD1hLmNvbXBvbmVudCkmJnZvaWQgMCE9PXg/eDphLl9sb2FkZWRDb21wb25lbnQpJiZ2b2lkIDAhPT1IP0g6bnVsbCxhLE5q''@;'; put 'put ''KGQpLGZlLEhqKGEpLGZlKSxjb25zdW1lZFNlZ21lbnRzOltdLHJlbWFpbmluZ1NlZ21lbnRzOltdfSl9ZWxzZSBLPUVqKGQsYSxmLGMpLnBpcGUodWUoKHttYXRjaGVkOmVlLGNvbnN1bWVkU2VnbWVudHM6ZmUscmVtYWluaW5nU2VnbWVudHM6eWUscGFyYW1ldGVyczpqZX0pPT57dmFyIEll''@;'; put 'put ''LHFlO2lmKCFlZSlyZXR1cm4gbnVsbDtjb25zdCBzdD1ZaihkKStmZS5sZW5ndGg7cmV0dXJue3NuYXBzaG90Om5ldyB3ZyhmZSxqZSxPYmplY3QuZnJlZXplKE9iamVjdC5hc3NpZ24oe30sdGhpcy51cmxUcmVlLnF1ZXJ5UGFyYW1zKSksdGhpcy51cmxUcmVlLmZyYWdtZW50LEJqKGEpLFFv''@;'; put 'put ''KGEpLG51bGwhPT0ocWU9bnVsbCE9PShJZT1hLmNvbXBvbmVudCkmJnZvaWQgMCE9PUllP0llOmEuX2xvYWRlZENvbXBvbmVudCkmJnZvaWQgMCE9PXFlP3FlOm51bGwsYSxOaihkKSxzdCxIaihhKSxzdCksY29uc3VtZWRTZWdtZW50czpmZSxyZW1haW5pbmdTZWdtZW50czp5ZX19KSk7cmV0''@;'; put 'put ''dXJuIEsucGlwZShNcyhlZT0+e3ZhciBmZSx5ZTtpZihudWxsPT09ZWUpcmV0dXJuIEFuKG51bGwpO2NvbnN0e3NuYXBzaG90OmplLGNvbnN1bWVkU2VnbWVudHM6SWUscmVtYWluaW5nU2VnbWVudHM6cWV9PWVlO2M9bnVsbCE9PShmZT1hLl9pbmplY3RvcikmJnZvaWQgMCE9PWZlP2ZlOmM7''@;'; put 'put ''Y29uc3Qgc3Q9bnVsbCE9PSh5ZT1hLl9sb2FkZWRJbmplY3RvcikmJnZvaWQgMCE9PXllP3llOmMsa3Q9ZnVuY3Rpb24gSVIobCl7cmV0dXJuIGwuY2hpbGRyZW4/bC5jaGlsZHJlbjpsLmxvYWRDaGlsZHJlbj9sLl9sb2FkZWRSb3V0ZXM6W119KGEpLHtzZWdtZW50R3JvdXA6QXQsc2xpY2Vk''@;'; put 'put ''U2VnbWVudHM6SnR9PVNnKGQsSWUscWUsa3QuZmlsdGVyKEt0PT52b2lkIDA9PT1LdC5yZWRpcmVjdFRvKSx0aGlzLnJlbGF0aXZlTGlua1Jlc29sdXRpb24pO2lmKDA9PT1KdC5sZW5ndGgmJkF0Lmhhc0NoaWxkcmVuKCkpcmV0dXJuIHRoaXMucHJvY2Vzc0NoaWxkcmVuKHN0LGt0LEF0KS5w''@;'; put 'put ''aXBlKHVlKEt0PT5udWxsPT09S3Q/bnVsbDpbbmV3IENhKGplLEt0KV0pKTtpZigwPT09a3QubGVuZ3RoJiYwPT09SnQubGVuZ3RoKXJldHVybiBBbihbbmV3IENhKGplLFtdKV0pO2NvbnN0IFB0PVFvKGEpPT09djtyZXR1cm4gdGhpcy5wcm9jZXNzU2VnbWVudChzdCxrdCxBdCxKdCxQdD9y''@;'; put 'put ''cjp2KS5waXBlKHVlKEt0PT5udWxsPT09S3Q/bnVsbDpbbmV3IENhKGplLEt0KV0pKX0pKX19ZnVuY3Rpb24gRlIobCl7Y29uc3QgYz1sLnZhbHVlLnJvdXRlQ29uZmlnO3JldHVybiBjJiYiIj09PWMucGF0aCYmdm9pZCAwPT09Yy5yZWRpcmVjdFRvfWZ1bmN0aW9uIFJqKGwpe2NvbnN0IGM9''@;'; put 'put ''W10sYT1uZXcgU2V0O2Zvcihjb25zdCBkIG9mIGwpe2lmKCFGUihkKSl7Yy5wdXNoKGQpO2NvbnRpbnVlfWNvbnN0IGY9Yy5maW5kKHY9PmQudmFsdWUucm91dGVDb25maWc9PT12LnZhbHVlLnJvdXRlQ29uZmlnKTt2b2lkIDAhPT1mPyhmLmNoaWxkcmVuLnB1c2goLi4uZC5jaGlsZHJlbiks''@;'; put 'put ''YS5hZGQoZikpOmMucHVzaChkKX1mb3IoY29uc3QgZCBvZiBhKXtjb25zdCBmPVJqKGQuY2hpbGRyZW4pO2MucHVzaChuZXcgQ2EoZC52YWx1ZSxmKSl9cmV0dXJuIGMuZmlsdGVyKGQ9PiFhLmhhcyhkKSl9ZnVuY3Rpb24gTmoobCl7bGV0IGM9bDtmb3IoO2MuX3NvdXJjZVNlZ21lbnQ7KWM9''@;'; put 'put ''Yy5fc291cmNlU2VnbWVudDtyZXR1cm4gY31mdW5jdGlvbiBZaihsKXt2YXIgYyxhO2xldCBkPWwsZj1udWxsIT09KGM9ZC5fc2VnbWVudEluZGV4U2hpZnQpJiZ2b2lkIDAhPT1jP2M6MDtmb3IoO2QuX3NvdXJjZVNlZ21lbnQ7KWQ9ZC5fc291cmNlU2VnbWVudCxmKz1udWxsIT09KGE9ZC5f''@;'; put 'put ''c2VnbWVudEluZGV4U2hpZnQpJiZ2b2lkIDAhPT1hP2E6MDtyZXR1cm4gZi0xfWZ1bmN0aW9uIEJqKGwpe3JldHVybiBsLmRhdGF8fHt9fWZ1bmN0aW9uIEhqKGwpe3JldHVybiBsLnJlc29sdmV8fHt9fWNvbnN0IHpfPVN5bWJvbCgiUm91dGVUaXRsZSIpO2Z1bmN0aW9uIFZqKGwpe3JldHVy''@;'; put 'put ''biJzdHJpbmciPT10eXBlb2YgbC50aXRsZXx8bnVsbD09PWwudGl0bGV9ZnVuY3Rpb24gQl8obCl7cmV0dXJuIE1zKGM9Pntjb25zdCBhPWwoYyk7cmV0dXJuIGE/bm4oYSkucGlwZSh1ZSgoKT0+YykpOkFuKGMpfSl9bGV0IFVqPSgoKT0+e2NsYXNzIGx7YnVpbGRUaXRsZShhKXt2YXIgZDts''@;'; put 'put ''ZXQgZix2PWEucm9vdDtmb3IoO3ZvaWQgMCE9PXY7KWY9bnVsbCE9PShkPXRoaXMuZ2V0UmVzb2x2ZWRUaXRsZUZvclJvdXRlKHYpKSYmdm9pZCAwIT09ZD9kOmYsdj12LmNoaWxkcmVuLmZpbmQoeD0+eC5vdXRsZXQ9PT1ycik7cmV0dXJuIGZ9Z2V0UmVzb2x2ZWRUaXRsZUZvclJvdXRlKGEp''@;'; put 'put ''e3JldHVybiBhLmRhdGFbel9dfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6ZnVuY3Rpb24oKXtyZXR1cm4gc2koV2opfSxwcm92aWRlZEluOiJyb290In0pLGx9KSgpLFdqPSgoKT0+e2Ns''@;'; put 'put ''YXNzIGwgZXh0ZW5kcyBVantjb25zdHJ1Y3RvcihhKXtzdXBlcigpLHRoaXMudGl0bGU9YX11cGRhdGVUaXRsZShhKXtjb25zdCBkPXRoaXMuYnVpbGRUaXRsZShhKTt2b2lkIDAhPT1kJiZ0aGlzLnRpdGxlLnNldFRpdGxlKGQpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0''@;'; put 'put ''dXJuIG5ldyhhfHxsKShFdChZNikpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhYyxwcm92aWRlZEluOiJyb290In0pLGx9KSgpO2NsYXNzIFVSe31jbGFzcyBxUiBleHRlbmRzIGNsYXNzIFdSe3Nob3VsZERldGFjaChjKXtyZXR1cm4hMX1zdG9yZShjLGEp''@;'; put 'put ''e31zaG91bGRBdHRhY2goYyl7cmV0dXJuITF9cmV0cmlldmUoYyl7cmV0dXJuIG51bGx9c2hvdWxkUmV1c2VSb3V0ZShjLGEpe3JldHVybiBjLnJvdXRlQ29uZmlnPT09YS5yb3V0ZUNvbmZpZ319e31jb25zdCBIXz1uZXcgT24oIiIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6KCk9Pih7''@;'; put 'put ''fSl9KSxWXz1uZXcgT24oIlJPVVRFUyIpO2xldCBVXz0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCl7dGhpcy5pbmplY3Rvcj1hLHRoaXMuY29tcGlsZXI9ZCx0aGlzLmNvbXBvbmVudExvYWRlcnM9bmV3IFdlYWtNYXAsdGhpcy5jaGlsZHJlbkxvYWRlcnM9bmV3IFdlYWtNYXB9bG9h''@;'; put 'put ''ZENvbXBvbmVudChhKXtpZih0aGlzLmNvbXBvbmVudExvYWRlcnMuZ2V0KGEpKXJldHVybiB0aGlzLmNvbXBvbmVudExvYWRlcnMuZ2V0KGEpO2lmKGEuX2xvYWRlZENvbXBvbmVudClyZXR1cm4gQW4oYS5fbG9hZGVkQ29tcG9uZW50KTt0aGlzLm9uTG9hZFN0YXJ0TGlzdGVuZXImJnRoaXMu''@;'; put 'put ''b25Mb2FkU3RhcnRMaXN0ZW5lcihhKTtjb25zdCBkPXdhKGEubG9hZENvbXBvbmVudCgpKS5waXBlKE1pKHY9Pnt0aGlzLm9uTG9hZEVuZExpc3RlbmVyJiZ0aGlzLm9uTG9hZEVuZExpc3RlbmVyKGEpLGEuX2xvYWRlZENvbXBvbmVudD12fSksX18oKCk9Pnt0aGlzLmNvbXBvbmVudExvYWRl''@;'; put 'put ''cnMuZGVsZXRlKGEpfSkpLGY9bmV3IHE2KGQsKCk9Pm5ldyBFKS5waXBlKGJfKCkpO3JldHVybiB0aGlzLmNvbXBvbmVudExvYWRlcnMuc2V0KGEsZiksZn1sb2FkQ2hpbGRyZW4oYSxkKXtpZih0aGlzLmNoaWxkcmVuTG9hZGVycy5nZXQoZCkpcmV0dXJuIHRoaXMuY2hpbGRyZW5Mb2FkZXJz''@;'; put 'put ''LmdldChkKTtpZihkLl9sb2FkZWRSb3V0ZXMpcmV0dXJuIEFuKHtyb3V0ZXM6ZC5fbG9hZGVkUm91dGVzLGluamVjdG9yOmQuX2xvYWRlZEluamVjdG9yfSk7dGhpcy5vbkxvYWRTdGFydExpc3RlbmVyJiZ0aGlzLm9uTG9hZFN0YXJ0TGlzdGVuZXIoZCk7Y29uc3Qgdj10aGlzLmxvYWRNb2R1''@;'; put 'put ''bGVGYWN0b3J5T3JSb3V0ZXMoZC5sb2FkQ2hpbGRyZW4pLnBpcGUodWUoSD0+e3RoaXMub25Mb2FkRW5kTGlzdGVuZXImJnRoaXMub25Mb2FkRW5kTGlzdGVuZXIoZCk7bGV0IEssZWUsZmU9ITE7QXJyYXkuaXNBcnJheShIKT9lZT1IOihLPUguY3JlYXRlKGEpLmluamVjdG9yLGVlPVg2KEsu''@;'; put 'put ''Z2V0KFZfLFtdLEVuLlNlbGZ8RW4uT3B0aW9uYWwpKSk7cmV0dXJue3JvdXRlczplZS5tYXAoRl8pLGluamVjdG9yOkt9fSksX18oKCk9Pnt0aGlzLmNoaWxkcmVuTG9hZGVycy5kZWxldGUoZCl9KSkseD1uZXcgcTYodiwoKT0+bmV3IEUpLnBpcGUoYl8oKSk7cmV0dXJuIHRoaXMuY2hpbGRy''@;'; put 'put ''ZW5Mb2FkZXJzLnNldChkLHgpLHh9bG9hZE1vZHVsZUZhY3RvcnlPclJvdXRlcyhhKXtyZXR1cm4gd2EoYSgpKS5waXBlKGx0KGQ9PmQgaW5zdGFuY2VvZiBZa3x8QXJyYXkuaXNBcnJheShkKT9BbihkKTpubih0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhkKSkpKX19cmV0dXJu''@;'; put 'put ''IGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQoVnIpLEV0KEV2KSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjLHByb3ZpZGVkSW46InJvb3QifSksbH0pKCk7Y2xhc3MgWlJ7fWNsYXNzIEpSe3Nob3VsZFByb2Nlc3NVcmwo''@;'; put 'put ''Yyl7cmV0dXJuITB9ZXh0cmFjdChjKXtyZXR1cm4gY31tZXJnZShjLGEpe3JldHVybiBjfX1mdW5jdGlvbiBLUihsKXt0aHJvdyBsfWZ1bmN0aW9uIFhSKGwsYyxhKXtyZXR1cm4gYy5wYXJzZSgiLyIpfWNvbnN0IFFSPXtwYXRoczoiZXhhY3QiLGZyYWdtZW50OiJpZ25vcmVkIixtYXRyaXhQ''@;'; put 'put ''YXJhbXM6Imlnbm9yZWQiLHF1ZXJ5UGFyYW1zOiJleGFjdCJ9LCRSPXtwYXRoczoic3Vic2V0IixmcmFnbWVudDoiaWdub3JlZCIsbWF0cml4UGFyYW1zOiJpZ25vcmVkIixxdWVyeVBhcmFtczoic3Vic2V0In07ZnVuY3Rpb24gR2ooKXt2YXIgbCxjO2NvbnN0IGE9c2koaWopLGQ9c2kodmgp''@;'; put 'put ''LGY9c2kocXYpLHY9c2koVnIpLHg9c2koRXYpLEg9bnVsbCE9PShsPXNpKFZfLHtvcHRpb25hbDohMH0pKSYmdm9pZCAwIT09bD9sOltdLEs9bnVsbCE9PShjPXNpKEhfLHtvcHRpb25hbDohMH0pKSYmdm9pZCAwIT09Yz9jOnt9LGVlPXNpKFdqKSxmZT1zaShVaix7b3B0aW9uYWw6ITB9KSx5''@;'; put 'put ''ZT1zaShaUix7b3B0aW9uYWw6ITB9KSxqZT1zaShVUix7b3B0aW9uYWw6ITB9KSxJZT1uZXcgSGkobnVsbCxhLGQsZix2LHgsWDYoSCkpO3JldHVybiB5ZSYmKEllLnVybEhhbmRsaW5nU3RyYXRlZ3k9eWUpLGplJiYoSWUucm91dGVSZXVzZVN0cmF0ZWd5PWplKSxJZS50aXRsZVN0cmF0ZWd5''@;'; put 'put ''PW51bGwhPWZlP2ZlOmVlLGZ1bmN0aW9uIGVOKGwsYyl7bC5lcnJvckhhbmRsZXImJihjLmVycm9ySGFuZGxlcj1sLmVycm9ySGFuZGxlciksbC5tYWxmb3JtZWRVcmlFcnJvckhhbmRsZXImJihjLm1hbGZvcm1lZFVyaUVycm9ySGFuZGxlcj1sLm1hbGZvcm1lZFVyaUVycm9ySGFuZGxlciks''@;'; put 'put ''bC5vblNhbWVVcmxOYXZpZ2F0aW9uJiYoYy5vblNhbWVVcmxOYXZpZ2F0aW9uPWwub25TYW1lVXJsTmF2aWdhdGlvbiksbC5wYXJhbXNJbmhlcml0YW5jZVN0cmF0ZWd5JiYoYy5wYXJhbXNJbmhlcml0YW5jZVN0cmF0ZWd5PWwucGFyYW1zSW5oZXJpdGFuY2VTdHJhdGVneSksbC5yZWxhdGl2''@;'; put 'put ''ZUxpbmtSZXNvbHV0aW9uJiYoYy5yZWxhdGl2ZUxpbmtSZXNvbHV0aW9uPWwucmVsYXRpdmVMaW5rUmVzb2x1dGlvbiksbC51cmxVcGRhdGVTdHJhdGVneSYmKGMudXJsVXBkYXRlU3RyYXRlZ3k9bC51cmxVcGRhdGVTdHJhdGVneSksbC5jYW5jZWxlZE5hdmlnYXRpb25SZXNvbHV0aW9uJiYo''@;'; put 'put ''Yy5jYW5jZWxlZE5hdmlnYXRpb25SZXNvbHV0aW9uPWwuY2FuY2VsZWROYXZpZ2F0aW9uUmVzb2x1dGlvbil9KEssSWUpLEllfWxldCBIaT0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmLHYseCxILEspe3RoaXMucm9vdENvbXBvbmVudFR5cGU9YSx0aGlzLnVybFNlcmlhbGl6ZXI9''@;'; put 'put ''ZCx0aGlzLnJvb3RDb250ZXh0cz1mLHRoaXMubG9jYXRpb249dix0aGlzLmNvbmZpZz1LLHRoaXMubGFzdFN1Y2Nlc3NmdWxOYXZpZ2F0aW9uPW51bGwsdGhpcy5jdXJyZW50TmF2aWdhdGlvbj1udWxsLHRoaXMuZGlzcG9zZWQ9ITEsdGhpcy5uYXZpZ2F0aW9uSWQ9MCx0aGlzLmN1cnJlbnRQ''@;'; put 'put ''YWdlSWQ9MCx0aGlzLmlzTmdab25lRW5hYmxlZD0hMSx0aGlzLmV2ZW50cz1uZXcgRSx0aGlzLmVycm9ySGFuZGxlcj1LUix0aGlzLm1hbGZvcm1lZFVyaUVycm9ySGFuZGxlcj1YUix0aGlzLm5hdmlnYXRlZD0hMSx0aGlzLmxhc3RTdWNjZXNzZnVsSWQ9LTEsdGhpcy5hZnRlclByZWFjdGl2''@;'; put 'put ''YXRpb249KCk9PkFuKHZvaWQgMCksdGhpcy51cmxIYW5kbGluZ1N0cmF0ZWd5PW5ldyBKUix0aGlzLnJvdXRlUmV1c2VTdHJhdGVneT1uZXcgcVIsdGhpcy5vblNhbWVVcmxOYXZpZ2F0aW9uPSJpZ25vcmUiLHRoaXMucGFyYW1zSW5oZXJpdGFuY2VTdHJhdGVneT0iZW1wdHlPbmx5Iix0aGlz''@;'; put 'put ''LnVybFVwZGF0ZVN0cmF0ZWd5PSJkZWZlcnJlZCIsdGhpcy5yZWxhdGl2ZUxpbmtSZXNvbHV0aW9uPSJjb3JyZWN0ZWQiLHRoaXMuY2FuY2VsZWROYXZpZ2F0aW9uUmVzb2x1dGlvbj0icmVwbGFjZSIsdGhpcy5jb25maWdMb2FkZXI9eC5nZXQoVV8pLHRoaXMuY29uZmlnTG9hZGVyLm9uTG9h''@;'; put 'put ''ZEVuZExpc3RlbmVyPWplPT50aGlzLnRyaWdnZXJFdmVudChuZXcgSUYoamUpKSx0aGlzLmNvbmZpZ0xvYWRlci5vbkxvYWRTdGFydExpc3RlbmVyPWplPT50aGlzLnRyaWdnZXJFdmVudChuZXcgTEYoamUpKSx0aGlzLm5nTW9kdWxlPXguZ2V0KEZsKSx0aGlzLmNvbnNvbGU9eC5nZXQobjkp''@;'; put 'put ''O2NvbnN0IHllPXguZ2V0KG5yKTt0aGlzLmlzTmdab25lRW5hYmxlZD15ZSBpbnN0YW5jZW9mIG5yJiZuci5pc0luQW5ndWxhclpvbmUoKSx0aGlzLnJlc2V0Q29uZmlnKEspLHRoaXMuY3VycmVudFVybFRyZWU9ZnVuY3Rpb24gaUYoKXtyZXR1cm4gbmV3IEJsKG5ldyBhcihbXSx7fSkse30s''@;'; put 'put ''bnVsbCl9KCksdGhpcy5yYXdVcmxUcmVlPXRoaXMuY3VycmVudFVybFRyZWUsdGhpcy5icm93c2VyVXJsVHJlZT10aGlzLmN1cnJlbnRVcmxUcmVlLHRoaXMucm91dGVyU3RhdGU9dmoodGhpcy5jdXJyZW50VXJsVHJlZSx0aGlzLnJvb3RDb21wb25lbnRUeXBlKSx0aGlzLnRyYW5zaXRpb25z''@;'; put 'put ''PW5ldyBOcih7aWQ6MCx0YXJnZXRQYWdlSWQ6MCxjdXJyZW50VXJsVHJlZTp0aGlzLmN1cnJlbnRVcmxUcmVlLGN1cnJlbnRSYXdVcmw6dGhpcy5jdXJyZW50VXJsVHJlZSxleHRyYWN0ZWRVcmw6dGhpcy51cmxIYW5kbGluZ1N0cmF0ZWd5LmV4dHJhY3QodGhpcy5jdXJyZW50VXJsVHJlZSks''@;'; put 'put ''dXJsQWZ0ZXJSZWRpcmVjdHM6dGhpcy51cmxIYW5kbGluZ1N0cmF0ZWd5LmV4dHJhY3QodGhpcy5jdXJyZW50VXJsVHJlZSkscmF3VXJsOnRoaXMuY3VycmVudFVybFRyZWUsZXh0cmFzOnt9LHJlc29sdmU6bnVsbCxyZWplY3Q6bnVsbCxwcm9taXNlOlByb21pc2UucmVzb2x2ZSghMCksc291''@;'; put 'put ''cmNlOiJpbXBlcmF0aXZlIixyZXN0b3JlZFN0YXRlOm51bGwsY3VycmVudFNuYXBzaG90OnRoaXMucm91dGVyU3RhdGUuc25hcHNob3QsdGFyZ2V0U25hcHNob3Q6bnVsbCxjdXJyZW50Um91dGVyU3RhdGU6dGhpcy5yb3V0ZXJTdGF0ZSx0YXJnZXRSb3V0ZXJTdGF0ZTpudWxsLGd1YXJkczp7''@;'; put 'put ''Y2FuQWN0aXZhdGVDaGVja3M6W10sY2FuRGVhY3RpdmF0ZUNoZWNrczpbXX0sZ3VhcmRzUmVzdWx0Om51bGx9KSx0aGlzLm5hdmlnYXRpb25zPXRoaXMuc2V0dXBOYXZpZ2F0aW9ucyh0aGlzLnRyYW5zaXRpb25zKSx0aGlzLnByb2Nlc3NOYXZpZ2F0aW9ucygpfWdldCBicm93c2VyUGFnZUlk''@;'; put 'put ''KCl7dmFyIGE7cmV0dXJuIG51bGw9PT0oYT10aGlzLmxvY2F0aW9uLmdldFN0YXRlKCkpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLlx1MDI3NXJvdXRlclBhZ2VJZH1zZXR1cE5hdmlnYXRpb25zKGEpe2NvbnN0IGQ9dGhpcy5ldmVudHM7cmV0dXJuIGEucGlwZShXcihmPT4wIT09Zi5pZCksdWUo''@;'; put 'put ''Zj0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGYpLHtleHRyYWN0ZWRVcmw6dGhpcy51cmxIYW5kbGluZ1N0cmF0ZWd5LmV4dHJhY3QoZi5yYXdVcmwpfSkpLE1zKGY9PntsZXQgdj0hMSx4PSExO3JldHVybiBBbihmKS5waXBlKE1pKEg9Pnt0aGlzLmN1cnJlbnROYXZpZ2F0aW9u''@;'; put 'put ''PXtpZDpILmlkLGluaXRpYWxVcmw6SC5yYXdVcmwsZXh0cmFjdGVkVXJsOkguZXh0cmFjdGVkVXJsLHRyaWdnZXI6SC5zb3VyY2UsZXh0cmFzOkguZXh0cmFzLHByZXZpb3VzTmF2aWdhdGlvbjp0aGlzLmxhc3RTdWNjZXNzZnVsTmF2aWdhdGlvbj9PYmplY3QuYXNzaWduKE9iamVjdC5hc3Np''@;'; put 'put ''Z24oe30sdGhpcy5sYXN0U3VjY2Vzc2Z1bE5hdmlnYXRpb24pLHtwcmV2aW91c05hdmlnYXRpb246bnVsbH0pOm51bGx9fSksTXMoSD0+e2NvbnN0IEs9dGhpcy5icm93c2VyVXJsVHJlZS50b1N0cmluZygpLGVlPSF0aGlzLm5hdmlnYXRlZHx8SC5leHRyYWN0ZWRVcmwudG9TdHJpbmcoKSE9''@;'; put 'put ''PUt8fEshPT10aGlzLmN1cnJlbnRVcmxUcmVlLnRvU3RyaW5nKCk7aWYoKCJyZWxvYWQiPT09dGhpcy5vblNhbWVVcmxOYXZpZ2F0aW9ufHxlZSkmJnRoaXMudXJsSGFuZGxpbmdTdHJhdGVneS5zaG91bGRQcm9jZXNzVXJsKEgucmF3VXJsKSlyZXR1cm4gWmooSC5zb3VyY2UpJiYodGhpcy5i''@;'; put 'put ''cm93c2VyVXJsVHJlZT1ILmV4dHJhY3RlZFVybCksQW4oSCkucGlwZShNcyh5ZT0+e2NvbnN0IGplPXRoaXMudHJhbnNpdGlvbnMuZ2V0VmFsdWUoKTtyZXR1cm4gZC5uZXh0KG5ldyBPXyh5ZS5pZCx0aGlzLnNlcmlhbGl6ZVVybCh5ZS5leHRyYWN0ZWRVcmwpLHllLnNvdXJjZSx5ZS5yZXN0''@;'; put 'put ''b3JlZFN0YXRlKSksamUhPT10aGlzLnRyYW5zaXRpb25zLmdldFZhbHVlKCk/WGU6UHJvbWlzZS5yZXNvbHZlKHllKX0pLGZ1bmN0aW9uIERSKGwsYyxhLGQpe3JldHVybiBNcyhmPT5mdW5jdGlvbiBPUihsLGMsYSxkLGYpe3JldHVybiBuZXcgUFIobCxjLGEsZCxmKS5hcHBseSgpfShsLGMs''@;'; put 'put ''YSxmLmV4dHJhY3RlZFVybCxkKS5waXBlKHVlKHY9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxmKSx7dXJsQWZ0ZXJSZWRpcmVjdHM6dn0pKSkpfSh0aGlzLm5nTW9kdWxlLmluamVjdG9yLHRoaXMuY29uZmlnTG9hZGVyLHRoaXMudXJsU2VyaWFsaXplcix0aGlzLmNvbmZpZyks''@;'; put 'put ''TWkoeWU9Pnt0aGlzLmN1cnJlbnROYXZpZ2F0aW9uPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLmN1cnJlbnROYXZpZ2F0aW9uKSx7ZmluYWxVcmw6eWUudXJsQWZ0ZXJSZWRpcmVjdHN9KSxmLnVybEFmdGVyUmVkaXJlY3RzPXllLnVybEFmdGVyUmVkaXJlY3RzfSksZnVu''@;'; put 'put ''Y3Rpb24gTlIobCxjLGEsZCxmLHYpe3JldHVybiBsdCh4PT5mdW5jdGlvbiBFUihsLGMsYSxkLGYsdix4PSJlbXB0eU9ubHkiLEg9ImxlZ2FjeSIpe3JldHVybiBuZXcgVFIobCxjLGEsZCxmLHgsSCx2KS5yZWNvZ25pemUoKS5waXBlKE1zKEs9Pm51bGw9PT1LP2Z1bmN0aW9uIEFSKGwpe3Jl''@;'; put 'put ''dHVybiBuZXcgYihjPT5jLmVycm9yKGwpKX0obmV3IHhSKTpBbihLKSkpfShsLGMsYSx4LnVybEFmdGVyUmVkaXJlY3RzLGQuc2VyaWFsaXplKHgudXJsQWZ0ZXJSZWRpcmVjdHMpLGQsZix2KS5waXBlKHVlKEg9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx4KSx7dGFyZ2V0U25h''@;'; put 'put ''cHNob3Q6SH0pKSkpfSh0aGlzLm5nTW9kdWxlLmluamVjdG9yLHRoaXMucm9vdENvbXBvbmVudFR5cGUsdGhpcy5jb25maWcsdGhpcy51cmxTZXJpYWxpemVyLHRoaXMucGFyYW1zSW5oZXJpdGFuY2VTdHJhdGVneSx0aGlzLnJlbGF0aXZlTGlua1Jlc29sdXRpb24pLE1pKHllPT57aWYoZi50''@;'; put 'put ''YXJnZXRTbmFwc2hvdD15ZS50YXJnZXRTbmFwc2hvdCwiZWFnZXIiPT09dGhpcy51cmxVcGRhdGVTdHJhdGVneSl7aWYoIXllLmV4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2Upe2NvbnN0IEllPXRoaXMudXJsSGFuZGxpbmdTdHJhdGVneS5tZXJnZSh5ZS51cmxBZnRlclJlZGlyZWN0cyx5ZS5y''@;'; put 'put ''YXdVcmwpO3RoaXMuc2V0QnJvd3NlclVybChJZSx5ZSl9dGhpcy5icm93c2VyVXJsVHJlZT15ZS51cmxBZnRlclJlZGlyZWN0c31jb25zdCBqZT1uZXcgREYoeWUuaWQsdGhpcy5zZXJpYWxpemVVcmwoeWUuZXh0cmFjdGVkVXJsKSx0aGlzLnNlcmlhbGl6ZVVybCh5ZS51cmxBZnRlclJlZGly''@;'; put 'put ''ZWN0cykseWUudGFyZ2V0U25hcHNob3QpO2QubmV4dChqZSl9KSk7aWYoZWUmJnRoaXMucmF3VXJsVHJlZSYmdGhpcy51cmxIYW5kbGluZ1N0cmF0ZWd5LnNob3VsZFByb2Nlc3NVcmwodGhpcy5yYXdVcmxUcmVlKSl7Y29uc3R7aWQ6amUsZXh0cmFjdGVkVXJsOkllLHNvdXJjZTpxZSxyZXN0''@;'; put 'put ''b3JlZFN0YXRlOnN0LGV4dHJhczprdH09SCxBdD1uZXcgT18oamUsdGhpcy5zZXJpYWxpemVVcmwoSWUpLHFlLHN0KTtkLm5leHQoQXQpO2NvbnN0IEp0PXZqKEllLHRoaXMucm9vdENvbXBvbmVudFR5cGUpLnNuYXBzaG90O3JldHVybiBBbihmPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2ln''@;'; put 'put ''bih7fSxIKSx7dGFyZ2V0U25hcHNob3Q6SnQsdXJsQWZ0ZXJSZWRpcmVjdHM6SWUsZXh0cmFzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxrdCkse3NraXBMb2NhdGlvbkNoYW5nZTohMSxyZXBsYWNlVXJsOiExfSl9KSl9cmV0dXJuIHRoaXMucmF3VXJsVHJlZT1ILnJhd1VybCxI''@;'; put 'put ''LnJlc29sdmUobnVsbCksWGV9KSxNaShIPT57Y29uc3QgSz1uZXcgeEYoSC5pZCx0aGlzLnNlcmlhbGl6ZVVybChILmV4dHJhY3RlZFVybCksdGhpcy5zZXJpYWxpemVVcmwoSC51cmxBZnRlclJlZGlyZWN0cyksSC50YXJnZXRTbmFwc2hvdCk7dGhpcy50cmlnZ2VyRXZlbnQoSyl9KSx1ZShI''@;'; put 'put ''PT5mPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxIKSx7Z3VhcmRzOmVSKEgudGFyZ2V0U25hcHNob3QsSC5jdXJyZW50U25hcHNob3QsdGhpcy5yb290Q29udGV4dHMpfSkpLGZ1bmN0aW9uIGRSKGwsYyl7cmV0dXJuIGx0KGE9Pntjb25zdHt0YXJnZXRTbmFwc2hvdDpkLGN1cnJl''@;'; put 'put ''bnRTbmFwc2hvdDpmLGd1YXJkczp7Y2FuQWN0aXZhdGVDaGVja3M6dixjYW5EZWFjdGl2YXRlQ2hlY2tzOnh9fT1hO3JldHVybiAwPT09eC5sZW5ndGgmJjA9PT12Lmxlbmd0aD9BbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYSkse2d1YXJkc1Jlc3VsdDohMH0pKTpmdW5jdGlv''@;'; put 'put ''biBoUihsLGMsYSxkKXtyZXR1cm4gbm4obCkucGlwZShsdChmPT5mdW5jdGlvbiB2UihsLGMsYSxkLGYpe2NvbnN0IHY9YyYmYy5yb3V0ZUNvbmZpZz9jLnJvdXRlQ29uZmlnLmNhbkRlYWN0aXZhdGU6bnVsbDtyZXR1cm4gdiYmMCE9PXYubGVuZ3RoP0FuKHYubWFwKEg9Pntjb25zdCBLPWtn''@;'; put 'put ''KEgsYyxmKTtyZXR1cm4gd2EoZnVuY3Rpb24gbFIobCl7cmV0dXJuIGwmJndoKGwuY2FuRGVhY3RpdmF0ZSl9KEspP0suY2FuRGVhY3RpdmF0ZShsLGMsYSxkKTpLKGwsYyxhLGQpKS5waXBlKHlhKCkpfSkpLnBpcGUoeXUoKSk6QW4oITApfShmLmNvbXBvbmVudCxmLnJvdXRlLGEsYyxkKSks''@;'; put 'put ''eWEoZj0+ITAhPT1mLCEwKSl9KHgsZCxmLGwpLnBpcGUobHQoSD0+SCYmZnVuY3Rpb24gaVIobCl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgbH0oSCk/ZnVuY3Rpb24gZlIobCxjLGEsZCl7cmV0dXJuIG5uKGMpLnBpcGUoemwoZj0+bV8oZnVuY3Rpb24gZ1IobCxjKXtyZXR1cm4gbnVsbCE9''@;'; put 'put ''PWwmJmMmJmMobmV3IEZGKGwpKSxBbighMCl9KGYucm91dGUucGFyZW50LGQpLGZ1bmN0aW9uIHBSKGwsYyl7cmV0dXJuIG51bGwhPT1sJiZjJiZjKG5ldyBORihsKSksQW4oITApfShmLnJvdXRlLGQpLGZ1bmN0aW9uIGJSKGwsYyxhKXtjb25zdCBkPWNbYy5sZW5ndGgtMV0sdj1jLnNsaWNl''@;'; put 'put ''KDAsYy5sZW5ndGgtMSkucmV2ZXJzZSgpLm1hcCh4PT5mdW5jdGlvbiB0UihsKXtjb25zdCBjPWwucm91dGVDb25maWc/bC5yb3V0ZUNvbmZpZy5jYW5BY3RpdmF0ZUNoaWxkOm51bGw7cmV0dXJuIGMmJjAhPT1jLmxlbmd0aD97bm9kZTpsLGd1YXJkczpjfTpudWxsfSh4KSkuZmlsdGVyKHg9''@;'; put 'put ''Pm51bGwhPT14KS5tYXAoeD0+VzYoKCk9PkFuKHguZ3VhcmRzLm1hcChLPT57Y29uc3QgZWU9a2coSyx4Lm5vZGUsYSk7cmV0dXJuIHdhKGZ1bmN0aW9uIGFSKGwpe3JldHVybiBsJiZ3aChsLmNhbkFjdGl2YXRlQ2hpbGQpfShlZSk/ZWUuY2FuQWN0aXZhdGVDaGlsZChkLGwpOmVlKGQsbCkp''@;'; put 'put ''LnBpcGUoeWEoKSl9KSkucGlwZSh5dSgpKSkpO3JldHVybiBBbih2KS5waXBlKHl1KCkpfShsLGYucGF0aCxhKSxmdW5jdGlvbiBtUihsLGMsYSl7Y29uc3QgZD1jLnJvdXRlQ29uZmlnP2Mucm91dGVDb25maWcuY2FuQWN0aXZhdGU6bnVsbDtpZighZHx8MD09PWQubGVuZ3RoKXJldHVybiBB''@;'; put 'put ''bighMCk7Y29uc3QgZj1kLm1hcCh2PT5XNigoKT0+e2NvbnN0IHg9a2codixjLGEpO3JldHVybiB3YShmdW5jdGlvbiBzUihsKXtyZXR1cm4gbCYmd2gobC5jYW5BY3RpdmF0ZSl9KHgpP3guY2FuQWN0aXZhdGUoYyxsKTp4KGMsbCkpLnBpcGUoeWEoKSl9KSk7cmV0dXJuIEFuKGYpLnBpcGUo''@;'; put 'put ''eXUoKSl9KGwsZi5yb3V0ZSxhKSkpLHlhKGY9PiEwIT09ZiwhMCkpfShkLHYsbCxjKTpBbihIKSksdWUoSD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGEpLHtndWFyZHNSZXN1bHQ6SH0pKSl9KX0odGhpcy5uZ01vZHVsZS5pbmplY3RvcixIPT50aGlzLnRyaWdnZXJFdmVudChI''@;'; put 'put ''KSksTWkoSD0+e2lmKGYuZ3VhcmRzUmVzdWx0PUguZ3VhcmRzUmVzdWx0LFZsKEguZ3VhcmRzUmVzdWx0KSl0aHJvdyBNaigwLEguZ3VhcmRzUmVzdWx0KTtjb25zdCBLPW5ldyBBRihILmlkLHRoaXMuc2VyaWFsaXplVXJsKEguZXh0cmFjdGVkVXJsKSx0aGlzLnNlcmlhbGl6ZVVybChILnVy''@;'; put 'put ''bEFmdGVyUmVkaXJlY3RzKSxILnRhcmdldFNuYXBzaG90LCEhSC5ndWFyZHNSZXN1bHQpO3RoaXMudHJpZ2dlckV2ZW50KEspfSksV3IoSD0+ISFILmd1YXJkc1Jlc3VsdHx8KHRoaXMucmVzdG9yZUhpc3RvcnkoSCksdGhpcy5jYW5jZWxOYXZpZ2F0aW9uVHJhbnNpdGlvbihILCIiLDMpLCEx''@;'; put 'put ''KSksQl8oSD0+e2lmKEguZ3VhcmRzLmNhbkFjdGl2YXRlQ2hlY2tzLmxlbmd0aClyZXR1cm4gQW4oSCkucGlwZShNaShLPT57Y29uc3QgZWU9bmV3IEVGKEsuaWQsdGhpcy5zZXJpYWxpemVVcmwoSy5leHRyYWN0ZWRVcmwpLHRoaXMuc2VyaWFsaXplVXJsKEsudXJsQWZ0ZXJSZWRpcmVjdHMp''@;'; put 'put ''LEsudGFyZ2V0U25hcHNob3QpO3RoaXMudHJpZ2dlckV2ZW50KGVlKX0pLE1zKEs9PntsZXQgZWU9ITE7cmV0dXJuIEFuKEspLnBpcGUoZnVuY3Rpb24gWVIobCxjKXtyZXR1cm4gbHQoYT0+e2NvbnN0e3RhcmdldFNuYXBzaG90OmQsZ3VhcmRzOntjYW5BY3RpdmF0ZUNoZWNrczpmfX09YTtp''@;'; put 'put ''ZighZi5sZW5ndGgpcmV0dXJuIEFuKGEpO2xldCB2PTA7cmV0dXJuIG5uKGYpLnBpcGUoemwoeD0+ZnVuY3Rpb24gelIobCxjLGEsZCl7Y29uc3QgZj1sLnJvdXRlQ29uZmlnLHY9bC5fcmVzb2x2ZTtyZXR1cm4gdm9pZCAwIT09KG51bGw9PWY/dm9pZCAwOmYudGl0bGUpJiYhVmooZikmJih2''@;'; put 'put ''W3pfXT1mLnRpdGxlKSxmdW5jdGlvbiBCUihsLGMsYSxkKXtjb25zdCBmPWZ1bmN0aW9uIEhSKGwpe3JldHVyblsuLi5PYmplY3Qua2V5cyhsKSwuLi5PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGwpXX0obCk7aWYoMD09PWYubGVuZ3RoKXJldHVybiBBbih7fSk7Y29uc3Qgdj17fTty''@;'; put 'put ''ZXR1cm4gbm4oZikucGlwZShsdCh4PT5mdW5jdGlvbiBWUihsLGMsYSxkKXtjb25zdCBmPWtnKGwsYyxkKTtyZXR1cm4gd2EoZi5yZXNvbHZlP2YucmVzb2x2ZShjLGEpOmYoYyxhKSl9KGxbeF0sYyxhLGQpLnBpcGUoeWEoKSxNaShIPT57dlt4XT1IfSkpKSx2XygxKSxmdW5jdGlvbiBlRihs''@;'; put 'put ''KXtyZXR1cm4gdWUoKCk9PmwpfSh2KSxpbCh4PT5SXyh4KT9YZTp1aCh4KSkpfSh2LGwsYyxkKS5waXBlKHVlKHg9PihsLl9yZXNvbHZlZERhdGE9eCxsLmRhdGE9X2oobCxhKS5yZXNvbHZlLGYmJlZqKGYpJiYobC5kYXRhW3pfXT1mLnRpdGxlKSxudWxsKSkpfSh4LnJvdXRlLGQsbCxjKSks''@;'; put 'put ''TWkoKCk9PnYrKyksdl8oMSksbHQoeD0+dj09PWYubGVuZ3RoP0FuKGEpOlhlKSl9KX0odGhpcy5wYXJhbXNJbmhlcml0YW5jZVN0cmF0ZWd5LHRoaXMubmdNb2R1bGUuaW5qZWN0b3IpLE1pKHtuZXh0OigpPT5lZT0hMCxjb21wbGV0ZTooKT0+e2VlfHwodGhpcy5yZXN0b3JlSGlzdG9yeShL''@;'; put 'put ''KSx0aGlzLmNhbmNlbE5hdmlnYXRpb25UcmFuc2l0aW9uKEssIiIsMikpfX0pKX0pLE1pKEs9Pntjb25zdCBlZT1uZXcgVEYoSy5pZCx0aGlzLnNlcmlhbGl6ZVVybChLLmV4dHJhY3RlZFVybCksdGhpcy5zZXJpYWxpemVVcmwoSy51cmxBZnRlclJlZGlyZWN0cyksSy50YXJnZXRTbmFwc2hv''@;'; put 'put ''dCk7dGhpcy50cmlnZ2VyRXZlbnQoZWUpfSkpfSksQl8oSD0+e2NvbnN0IEs9ZWU9Pnt2YXIgZmU7Y29uc3QgeWU9W107KG51bGw9PT0oZmU9ZWUucm91dGVDb25maWcpfHx2b2lkIDA9PT1mZT92b2lkIDA6ZmUubG9hZENvbXBvbmVudCkmJiFlZS5yb3V0ZUNvbmZpZy5fbG9hZGVkQ29tcG9u''@;'; put 'put ''ZW50JiZ5ZS5wdXNoKHRoaXMuY29uZmlnTG9hZGVyLmxvYWRDb21wb25lbnQoZWUucm91dGVDb25maWcpLnBpcGUoTWkoamU9PntlZS5jb21wb25lbnQ9amV9KSx1ZSgoKT0+e30pKSk7Zm9yKGNvbnN0IGplIG9mIGVlLmNoaWxkcmVuKXllLnB1c2goLi4uSyhqZSkpO3JldHVybiB5ZX07cmV0''@;'; put 'put ''dXJuIGhnKEsoSC50YXJnZXRTbmFwc2hvdC5yb290KSkucGlwZShmZygpLFlsKDEpKX0pLEJfKCgpPT50aGlzLmFmdGVyUHJlYWN0aXZhdGlvbigpKSx1ZShIPT57Y29uc3QgSz1mdW5jdGlvbiBWRihsLGMsYSl7Y29uc3QgZD1iaChsLGMuX3Jvb3QsYT9hLl9yb290OnZvaWQgMCk7cmV0dXJu''@;'; put 'put ''IG5ldyBiaihkLGMpfSh0aGlzLnJvdXRlUmV1c2VTdHJhdGVneSxILnRhcmdldFNuYXBzaG90LEguY3VycmVudFJvdXRlclN0YXRlKTtyZXR1cm4gZj1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sSCkse3RhcmdldFJvdXRlclN0YXRlOkt9KX0pLE1pKEg9Pnt0aGlzLmN1cnJlbnRV''@;'; put 'put ''cmxUcmVlPUgudXJsQWZ0ZXJSZWRpcmVjdHMsdGhpcy5yYXdVcmxUcmVlPXRoaXMudXJsSGFuZGxpbmdTdHJhdGVneS5tZXJnZShILnVybEFmdGVyUmVkaXJlY3RzLEgucmF3VXJsKSx0aGlzLnJvdXRlclN0YXRlPUgudGFyZ2V0Um91dGVyU3RhdGUsImRlZmVycmVkIj09PXRoaXMudXJsVXBk''@;'; put 'put ''YXRlU3RyYXRlZ3kmJihILmV4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2V8fHRoaXMuc2V0QnJvd3NlclVybCh0aGlzLnJhd1VybFRyZWUsSCksdGhpcy5icm93c2VyVXJsVHJlZT1ILnVybEFmdGVyUmVkaXJlY3RzKX0pLCgobCxjLGEpPT51ZShkPT4obmV3ICRGKGMsZC50YXJnZXRSb3V0ZXJT''@;'; put 'put ''dGF0ZSxkLmN1cnJlbnRSb3V0ZXJTdGF0ZSxhKS5hY3RpdmF0ZShsKSxkKSkpKHRoaXMucm9vdENvbnRleHRzLHRoaXMucm91dGVSZXVzZVN0cmF0ZWd5LEg9PnRoaXMudHJpZ2dlckV2ZW50KEgpKSxNaSh7bmV4dCgpe3Y9ITB9LGNvbXBsZXRlKCl7dj0hMH19KSxfXygoKT0+e3ZhciBIO3Z8''@;'; put 'put ''fHh8fHRoaXMuY2FuY2VsTmF2aWdhdGlvblRyYW5zaXRpb24oZiwiIiwxKSwobnVsbD09PShIPXRoaXMuY3VycmVudE5hdmlnYXRpb24pfHx2b2lkIDA9PT1IP3ZvaWQgMDpILmlkKT09PWYuaWQmJih0aGlzLmN1cnJlbnROYXZpZ2F0aW9uPW51bGwpfSksaWwoSD0+e3ZhciBLO2lmKHg9ITAs''@;'; put 'put ''amooSCkpe2tqKEgpfHwodGhpcy5uYXZpZ2F0ZWQ9ITAsdGhpcy5yZXN0b3JlSGlzdG9yeShmLCEwKSk7Y29uc3QgZWU9bmV3IHlnKGYuaWQsdGhpcy5zZXJpYWxpemVVcmwoZi5leHRyYWN0ZWRVcmwpLEgubWVzc2FnZSxILmNhbmNlbGxhdGlvbkNvZGUpO2lmKGQubmV4dChlZSksa2ooSCkp''@;'; put 'put ''e2NvbnN0IGZlPXRoaXMudXJsSGFuZGxpbmdTdHJhdGVneS5tZXJnZShILnVybCx0aGlzLnJhd1VybFRyZWUpLHllPXtza2lwTG9jYXRpb25DaGFuZ2U6Zi5leHRyYXMuc2tpcExvY2F0aW9uQ2hhbmdlLHJlcGxhY2VVcmw6ImVhZ2VyIj09PXRoaXMudXJsVXBkYXRlU3RyYXRlZ3l8fFpqKGYu''@;'; put 'put ''c291cmNlKX07dGhpcy5zY2hlZHVsZU5hdmlnYXRpb24oZmUsImltcGVyYXRpdmUiLG51bGwseWUse3Jlc29sdmU6Zi5yZXNvbHZlLHJlamVjdDpmLnJlamVjdCxwcm9taXNlOmYucHJvbWlzZX0pfWVsc2UgZi5yZXNvbHZlKCExKX1lbHNle3RoaXMucmVzdG9yZUhpc3RvcnkoZiwhMCk7Y29u''@;'; put 'put ''c3QgZWU9bmV3IHBqKGYuaWQsdGhpcy5zZXJpYWxpemVVcmwoZi5leHRyYWN0ZWRVcmwpLEgsbnVsbCE9PShLPWYudGFyZ2V0U25hcHNob3QpJiZ2b2lkIDAhPT1LP0s6dm9pZCAwKTtkLm5leHQoZWUpO3RyeXtmLnJlc29sdmUodGhpcy5lcnJvckhhbmRsZXIoSCkpfWNhdGNoKGZlKXtmLnJl''@;'; put 'put ''amVjdChmZSl9fXJldHVybiBYZX0pKX0pKX1yZXNldFJvb3RDb21wb25lbnRUeXBlKGEpe3RoaXMucm9vdENvbXBvbmVudFR5cGU9YSx0aGlzLnJvdXRlclN0YXRlLnJvb3QuY29tcG9uZW50PXRoaXMucm9vdENvbXBvbmVudFR5cGV9c2V0VHJhbnNpdGlvbihhKXt0aGlzLnRyYW5zaXRpb25z''@;'; put 'put ''Lm5leHQoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMudHJhbnNpdGlvbnMudmFsdWUpLGEpKX1pbml0aWFsTmF2aWdhdGlvbigpe3RoaXMuc2V0VXBMb2NhdGlvbkNoYW5nZUxpc3RlbmVyKCksMD09PXRoaXMubmF2aWdhdGlvbklkJiZ0aGlzLm5hdmlnYXRlQnlVcmwodGhp''@;'; put 'put ''cy5sb2NhdGlvbi5wYXRoKCEwKSx7cmVwbGFjZVVybDohMH0pfXNldFVwTG9jYXRpb25DaGFuZ2VMaXN0ZW5lcigpe3RoaXMubG9jYXRpb25TdWJzY3JpcHRpb258fCh0aGlzLmxvY2F0aW9uU3Vic2NyaXB0aW9uPXRoaXMubG9jYXRpb24uc3Vic2NyaWJlKGE9Pntjb25zdCBkPSJwb3BzdGF0''@;'; put 'put ''ZSI9PT1hLnR5cGU/InBvcHN0YXRlIjoiaGFzaGNoYW5nZSI7InBvcHN0YXRlIj09PWQmJnNldFRpbWVvdXQoKCk9Pnt2YXIgZjtjb25zdCB2PXtyZXBsYWNlVXJsOiEwfSx4PW51bGwhPT0oZj1hLnN0YXRlKSYmdm9pZCAwIT09ZiYmZi5uYXZpZ2F0aW9uSWQ/YS5zdGF0ZTpudWxsO2lmKHgp''@;'; put 'put ''e2NvbnN0IEs9T2JqZWN0LmFzc2lnbih7fSx4KTtkZWxldGUgSy5uYXZpZ2F0aW9uSWQsZGVsZXRlIEsuXHUwMjc1cm91dGVyUGFnZUlkLDAhPT1PYmplY3Qua2V5cyhLKS5sZW5ndGgmJih2LnN0YXRlPUspfWNvbnN0IEg9dGhpcy5wYXJzZVVybChhLnVybCk7dGhpcy5zY2hlZHVsZU5hdmln''@;'; put 'put ''YXRpb24oSCxkLHgsdil9LDApfSkpfWdldCB1cmwoKXtyZXR1cm4gdGhpcy5zZXJpYWxpemVVcmwodGhpcy5jdXJyZW50VXJsVHJlZSl9Z2V0Q3VycmVudE5hdmlnYXRpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50TmF2aWdhdGlvbn10cmlnZ2VyRXZlbnQoYSl7dGhpcy5ldmVudHMubmV4dChh''@;'; put 'put ''KX1yZXNldENvbmZpZyhhKXt0aGlzLmNvbmZpZz1hLm1hcChGXyksdGhpcy5uYXZpZ2F0ZWQ9ITEsdGhpcy5sYXN0U3VjY2Vzc2Z1bElkPS0xfW5nT25EZXN0cm95KCl7dGhpcy5kaXNwb3NlKCl9ZGlzcG9zZSgpe3RoaXMudHJhbnNpdGlvbnMuY29tcGxldGUoKSx0aGlzLmxvY2F0aW9uU3Vi''@;'; put 'put ''c2NyaXB0aW9uJiYodGhpcy5sb2NhdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMubG9jYXRpb25TdWJzY3JpcHRpb249dm9pZCAwKSx0aGlzLmRpc3Bvc2VkPSEwfWNyZWF0ZVVybFRyZWUoYSxkPXt9KXtjb25zdHtyZWxhdGl2ZVRvOmYscXVlcnlQYXJhbXM6dixmcmFnbWVu''@;'; put 'put ''dDp4LHF1ZXJ5UGFyYW1zSGFuZGxpbmc6SCxwcmVzZXJ2ZUZyYWdtZW50Okt9PWQsZWU9Znx8dGhpcy5yb3V0ZXJTdGF0ZS5yb290LGZlPUs/dGhpcy5jdXJyZW50VXJsVHJlZS5mcmFnbWVudDp4O2xldCB5ZT1udWxsO3N3aXRjaChIKXtjYXNlIm1lcmdlIjp5ZT1PYmplY3QuYXNzaWduKE9i''@;'; put 'put ''amVjdC5hc3NpZ24oe30sdGhpcy5jdXJyZW50VXJsVHJlZS5xdWVyeVBhcmFtcyksdik7YnJlYWs7Y2FzZSJwcmVzZXJ2ZSI6eWU9dGhpcy5jdXJyZW50VXJsVHJlZS5xdWVyeVBhcmFtczticmVhaztkZWZhdWx0OnllPXZ8fG51bGx9cmV0dXJuIG51bGwhPT15ZSYmKHllPXRoaXMucmVtb3Zl''@;'; put 'put ''RW1wdHlQcm9wcyh5ZSkpLENGKGVlLHRoaXMuY3VycmVudFVybFRyZWUsYSx5ZSxudWxsIT1mZT9mZTpudWxsKX1uYXZpZ2F0ZUJ5VXJsKGEsZD17c2tpcExvY2F0aW9uQ2hhbmdlOiExfSl7Y29uc3QgZj1WbChhKT9hOnRoaXMucGFyc2VVcmwoYSksdj10aGlzLnVybEhhbmRsaW5nU3RyYXRl''@;'; put 'put ''Z3kubWVyZ2UoZix0aGlzLnJhd1VybFRyZWUpO3JldHVybiB0aGlzLnNjaGVkdWxlTmF2aWdhdGlvbih2LCJpbXBlcmF0aXZlIixudWxsLGQpfW5hdmlnYXRlKGEsZD17c2tpcExvY2F0aW9uQ2hhbmdlOiExfSl7cmV0dXJuIGZ1bmN0aW9uIHROKGwpe2ZvcihsZXQgYz0wO2M8bC5sZW5ndGg7''@;'; put 'put ''YysrKXtpZihudWxsPT1sW2NdKXRocm93IG5ldyBJdCg0MDA4LGZhbHNlKX19KGEpLHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmNyZWF0ZVVybFRyZWUoYSxkKSxkKX1zZXJpYWxpemVVcmwoYSl7cmV0dXJuIHRoaXMudXJsU2VyaWFsaXplci5zZXJpYWxpemUoYSl9cGFyc2VVcmwoYSl7bGV0''@;'; put 'put ''IGQ7dHJ5e2Q9dGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKGEpfWNhdGNoKGYpe2Q9dGhpcy5tYWxmb3JtZWRVcmlFcnJvckhhbmRsZXIoZix0aGlzLnVybFNlcmlhbGl6ZXIsYSl9cmV0dXJuIGR9aXNBY3RpdmUoYSxkKXtsZXQgZjtpZihmPSEwPT09ZD9PYmplY3QuYXNzaWduKHt9LFFSKToh''@;'; put 'put ''MT09PWQ/T2JqZWN0LmFzc2lnbih7fSwkUik6ZCxWbChhKSlyZXR1cm4gZWoodGhpcy5jdXJyZW50VXJsVHJlZSxhLGYpO2NvbnN0IHY9dGhpcy5wYXJzZVVybChhKTtyZXR1cm4gZWoodGhpcy5jdXJyZW50VXJsVHJlZSx2LGYpfXJlbW92ZUVtcHR5UHJvcHMoYSl7cmV0dXJuIE9iamVjdC5r''@;'; put 'put ''ZXlzKGEpLnJlZHVjZSgoZCxmKT0+e2NvbnN0IHY9YVtmXTtyZXR1cm4gbnVsbCE9diYmKGRbZl09diksZH0se30pfXByb2Nlc3NOYXZpZ2F0aW9ucygpe3RoaXMubmF2aWdhdGlvbnMuc3Vic2NyaWJlKGE9Pnt2YXIgZDt0aGlzLm5hdmlnYXRlZD0hMCx0aGlzLmxhc3RTdWNjZXNzZnVsSWQ9''@;'; put 'put ''YS5pZCx0aGlzLmN1cnJlbnRQYWdlSWQ9YS50YXJnZXRQYWdlSWQsdGhpcy5ldmVudHMubmV4dChuZXcgVWwoYS5pZCx0aGlzLnNlcmlhbGl6ZVVybChhLmV4dHJhY3RlZFVybCksdGhpcy5zZXJpYWxpemVVcmwodGhpcy5jdXJyZW50VXJsVHJlZSkpKSx0aGlzLmxhc3RTdWNjZXNzZnVsTmF2''@;'; put 'put ''aWdhdGlvbj10aGlzLmN1cnJlbnROYXZpZ2F0aW9uLG51bGw9PT0oZD10aGlzLnRpdGxlU3RyYXRlZ3kpfHx2b2lkIDA9PT1kfHxkLnVwZGF0ZVRpdGxlKHRoaXMucm91dGVyU3RhdGUuc25hcHNob3QpLGEucmVzb2x2ZSghMCl9LGE9Pnt0aGlzLmNvbnNvbGUud2FybihgVW5oYW5kbGVkIE5h''@;'; put 'put ''dmlnYXRpb24gRXJyb3I6ICR7YX1gKX0pfXNjaGVkdWxlTmF2aWdhdGlvbihhLGQsZix2LHgpe3ZhciBILEs7aWYodGhpcy5kaXNwb3NlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKTtsZXQgZWUsZmUseWU7eD8oZWU9eC5yZXNvbHZlLGZlPXgucmVqZWN0LHllPXgucHJvbWlzZSk6eWU9''@;'; put 'put ''bmV3IFByb21pc2UoKHFlLHN0KT0+e2VlPXFlLGZlPXN0fSk7Y29uc3QgamU9Kyt0aGlzLm5hdmlnYXRpb25JZDtsZXQgSWU7cmV0dXJuImNvbXB1dGVkIj09PXRoaXMuY2FuY2VsZWROYXZpZ2F0aW9uUmVzb2x1dGlvbj8oMD09PXRoaXMuY3VycmVudFBhZ2VJZCYmKGY9dGhpcy5sb2NhdGlv''@;'; put 'put ''bi5nZXRTdGF0ZSgpKSxJZT1mJiZmLlx1MDI3NXJvdXRlclBhZ2VJZD9mLlx1MDI3NXJvdXRlclBhZ2VJZDp2LnJlcGxhY2VVcmx8fHYuc2tpcExvY2F0aW9uQ2hhbmdlP251bGwhPT0oSD10aGlzLmJyb3dzZXJQYWdlSWQpJiZ2b2lkIDAhPT1IP0g6MDoobnVsbCE9PShLPXRoaXMuYnJvd3Nl''@;'; put 'put ''clBhZ2VJZCkmJnZvaWQgMCE9PUs/SzowKSsxKTpJZT0wLHRoaXMuc2V0VHJhbnNpdGlvbih7aWQ6amUsdGFyZ2V0UGFnZUlkOkllLHNvdXJjZTpkLHJlc3RvcmVkU3RhdGU6ZixjdXJyZW50VXJsVHJlZTp0aGlzLmN1cnJlbnRVcmxUcmVlLGN1cnJlbnRSYXdVcmw6dGhpcy5yYXdVcmxUcmVl''@;'; put 'put ''LHJhd1VybDphLGV4dHJhczp2LHJlc29sdmU6ZWUscmVqZWN0OmZlLHByb21pc2U6eWUsY3VycmVudFNuYXBzaG90OnRoaXMucm91dGVyU3RhdGUuc25hcHNob3QsY3VycmVudFJvdXRlclN0YXRlOnRoaXMucm91dGVyU3RhdGV9KSx5ZS5jYXRjaChxZT0+UHJvbWlzZS5yZWplY3QocWUpKX1z''@;'; put 'put ''ZXRCcm93c2VyVXJsKGEsZCl7Y29uc3QgZj10aGlzLnVybFNlcmlhbGl6ZXIuc2VyaWFsaXplKGEpLHY9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGQuZXh0cmFzLnN0YXRlKSx0aGlzLmdlbmVyYXRlTmdSb3V0ZXJTdGF0ZShkLmlkLGQudGFyZ2V0UGFnZUlkKSk7dGhpcy5sb2Nh''@;'; put 'put ''dGlvbi5pc0N1cnJlbnRQYXRoRXF1YWxUbyhmKXx8ZC5leHRyYXMucmVwbGFjZVVybD90aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShmLCIiLHYpOnRoaXMubG9jYXRpb24uZ28oZiwiIix2KX1yZXN0b3JlSGlzdG9yeShhLGQ9ITEpe3ZhciBmLHY7aWYoImNvbXB1dGVkIj09PXRoaXMuY2Fu''@;'; put 'put ''Y2VsZWROYXZpZ2F0aW9uUmVzb2x1dGlvbil7Y29uc3QgeD10aGlzLmN1cnJlbnRQYWdlSWQtYS50YXJnZXRQYWdlSWQ7InBvcHN0YXRlIiE9PWEuc291cmNlJiYiZWFnZXIiIT09dGhpcy51cmxVcGRhdGVTdHJhdGVneSYmdGhpcy5jdXJyZW50VXJsVHJlZSE9PShudWxsPT09KGY9dGhpcy5j''@;'; put 'put ''dXJyZW50TmF2aWdhdGlvbil8fHZvaWQgMD09PWY/dm9pZCAwOmYuZmluYWxVcmwpfHwwPT09eD90aGlzLmN1cnJlbnRVcmxUcmVlPT09KG51bGw9PT0odj10aGlzLmN1cnJlbnROYXZpZ2F0aW9uKXx8dm9pZCAwPT09dj92b2lkIDA6di5maW5hbFVybCkmJjA9PT14JiYodGhpcy5yZXNldFN0''@;'; put 'put ''YXRlKGEpLHRoaXMuYnJvd3NlclVybFRyZWU9YS5jdXJyZW50VXJsVHJlZSx0aGlzLnJlc2V0VXJsVG9DdXJyZW50VXJsVHJlZSgpKTp0aGlzLmxvY2F0aW9uLmhpc3RvcnlHbyh4KX1lbHNlInJlcGxhY2UiPT09dGhpcy5jYW5jZWxlZE5hdmlnYXRpb25SZXNvbHV0aW9uJiYoZCYmdGhpcy5y''@;'; put 'put ''ZXNldFN0YXRlKGEpLHRoaXMucmVzZXRVcmxUb0N1cnJlbnRVcmxUcmVlKCkpfXJlc2V0U3RhdGUoYSl7dGhpcy5yb3V0ZXJTdGF0ZT1hLmN1cnJlbnRSb3V0ZXJTdGF0ZSx0aGlzLmN1cnJlbnRVcmxUcmVlPWEuY3VycmVudFVybFRyZWUsdGhpcy5yYXdVcmxUcmVlPXRoaXMudXJsSGFuZGxp''@;'; put 'put ''bmdTdHJhdGVneS5tZXJnZSh0aGlzLmN1cnJlbnRVcmxUcmVlLGEucmF3VXJsKX1yZXNldFVybFRvQ3VycmVudFVybFRyZWUoKXt0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh0aGlzLnVybFNlcmlhbGl6ZXIuc2VyaWFsaXplKHRoaXMucmF3VXJsVHJlZSksIiIsdGhpcy5nZW5lcmF0ZU5n''@;'; put 'put ''Um91dGVyU3RhdGUodGhpcy5sYXN0U3VjY2Vzc2Z1bElkLHRoaXMuY3VycmVudFBhZ2VJZCkpfWNhbmNlbE5hdmlnYXRpb25UcmFuc2l0aW9uKGEsZCxmKXtjb25zdCB2PW5ldyB5ZyhhLmlkLHRoaXMuc2VyaWFsaXplVXJsKGEuZXh0cmFjdGVkVXJsKSxkLGYpO3RoaXMudHJpZ2dlckV2ZW50''@;'; put 'put ''KHYpLGEucmVzb2x2ZSghMSl9Z2VuZXJhdGVOZ1JvdXRlclN0YXRlKGEsZCl7cmV0dXJuImNvbXB1dGVkIj09PXRoaXMuY2FuY2VsZWROYXZpZ2F0aW9uUmVzb2x1dGlvbj97bmF2aWdhdGlvbklkOmEsXHUwMjc1cm91dGVyUGFnZUlkOmR9OntuYXZpZ2F0aW9uSWQ6YX19fXJldHVybiBsLlx1''@;'; put 'put ''MDI3NWZhYz1mdW5jdGlvbihhKXt2cCgpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpmdW5jdGlvbigpe3JldHVybiBHaigpfSxwcm92aWRlZEluOiJyb290In0pLGx9KSgpO2Z1bmN0aW9uIFpqKGwpe3JldHVybiJpbXBlcmF0aXZlIiE9PWx9bGV0IFdfPSgoKT0+e2NsYXNz''@;'; put 'put ''IGx7Y29uc3RydWN0b3IoYSxkLGYsdix4KXt0aGlzLnJvdXRlcj1hLHRoaXMucm91dGU9ZCx0aGlzLnRhYkluZGV4QXR0cmlidXRlPWYsdGhpcy5yZW5kZXJlcj12LHRoaXMuZWw9eCx0aGlzLmNvbW1hbmRzPW51bGwsdGhpcy5vbkNoYW5nZXM9bmV3IEUsdGhpcy5zZXRUYWJJbmRleElmTm90''@;'; put 'put ''T25OYXRpdmVFbCgiMCIpfXNldFRhYkluZGV4SWZOb3RPbk5hdGl2ZUVsKGEpe2lmKG51bGwhPXRoaXMudGFiSW5kZXhBdHRyaWJ1dGUpcmV0dXJuO2NvbnN0IGQ9dGhpcy5yZW5kZXJlcixmPXRoaXMuZWwubmF0aXZlRWxlbWVudDtudWxsIT09YT9kLnNldEF0dHJpYnV0ZShmLCJ0YWJpbmRl''@;'; put 'put ''eCIsYSk6ZC5yZW1vdmVBdHRyaWJ1dGUoZiwidGFiaW5kZXgiKX1uZ09uQ2hhbmdlcyhhKXt0aGlzLm9uQ2hhbmdlcy5uZXh0KHRoaXMpfXNldCByb3V0ZXJMaW5rKGEpe251bGwhPWE/KHRoaXMuY29tbWFuZHM9QXJyYXkuaXNBcnJheShhKT9hOlthXSx0aGlzLnNldFRhYkluZGV4SWZOb3RP''@;'; put 'put ''bk5hdGl2ZUVsKCIwIikpOih0aGlzLmNvbW1hbmRzPW51bGwsdGhpcy5zZXRUYWJJbmRleElmTm90T25OYXRpdmVFbChudWxsKSl9b25DbGljaygpe2lmKG51bGw9PT10aGlzLnVybFRyZWUpcmV0dXJuITA7Y29uc3QgYT17c2tpcExvY2F0aW9uQ2hhbmdlOm1hKHRoaXMuc2tpcExvY2F0aW9u''@;'; put 'put ''Q2hhbmdlKSxyZXBsYWNlVXJsOm1hKHRoaXMucmVwbGFjZVVybCksc3RhdGU6dGhpcy5zdGF0ZX07cmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51cmxUcmVlLGEpLCEwfWdldCB1cmxUcmVlKCl7cmV0dXJuIG51bGw9PT10aGlzLmNvbW1hbmRzP251bGw6dGhpcy5yb3V0''@;'; put 'put ''ZXIuY3JlYXRlVXJsVHJlZSh0aGlzLmNvbW1hbmRzLHtyZWxhdGl2ZVRvOnZvaWQgMCE9PXRoaXMucmVsYXRpdmVUbz90aGlzLnJlbGF0aXZlVG86dGhpcy5yb3V0ZSxxdWVyeVBhcmFtczp0aGlzLnF1ZXJ5UGFyYW1zLGZyYWdtZW50OnRoaXMuZnJhZ21lbnQscXVlcnlQYXJhbXNIYW5kbGlu''@;'; put 'put ''Zzp0aGlzLnF1ZXJ5UGFyYW1zSGFuZGxpbmcscHJlc2VydmVGcmFnbWVudDptYSh0aGlzLnByZXNlcnZlRnJhZ21lbnQpfSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKEhpKSxtZShfdSksRWMoInRhYmluZGV4IiksbWUoV24pLG1lKGhuKSl9''@;'; put 'put ''LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsInJvdXRlckxpbmsiLCIiLDUsImEiLDUsImFyZWEiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZPdCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGQub25DbGljaygpfSl9LGlucHV0czp7cXVlcnlQYXJh''@;'; put 'put ''bXM6InF1ZXJ5UGFyYW1zIixmcmFnbWVudDoiZnJhZ21lbnQiLHF1ZXJ5UGFyYW1zSGFuZGxpbmc6InF1ZXJ5UGFyYW1zSGFuZGxpbmciLHByZXNlcnZlRnJhZ21lbnQ6InByZXNlcnZlRnJhZ21lbnQiLHNraXBMb2NhdGlvbkNoYW5nZToic2tpcExvY2F0aW9uQ2hhbmdlIixyZXBsYWNlVXJs''@;'; put 'put ''OiJyZXBsYWNlVXJsIixzdGF0ZToic3RhdGUiLHJlbGF0aXZlVG86InJlbGF0aXZlVG8iLHJvdXRlckxpbms6InJvdXRlckxpbmsifSxmZWF0dXJlczpbdWldfSksbH0pKCksRWc9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZil7dGhpcy5yb3V0ZXI9YSx0aGlzLnJvdXRlPWQsdGhp''@;'; put 'put ''cy5sb2NhdGlvblN0cmF0ZWd5PWYsdGhpcy5jb21tYW5kcz1udWxsLHRoaXMuaHJlZj1udWxsLHRoaXMub25DaGFuZ2VzPW5ldyBFLHRoaXMuc3Vic2NyaXB0aW9uPWEuZXZlbnRzLnN1YnNjcmliZSh2PT57diBpbnN0YW5jZW9mIFVsJiZ0aGlzLnVwZGF0ZVRhcmdldFVybEFuZEhyZWYoKX0p''@;'; put 'put ''fXNldCByb3V0ZXJMaW5rKGEpe3RoaXMuY29tbWFuZHM9bnVsbCE9YT9BcnJheS5pc0FycmF5KGEpP2E6W2FdOm51bGx9bmdPbkNoYW5nZXMoYSl7dGhpcy51cGRhdGVUYXJnZXRVcmxBbmRIcmVmKCksdGhpcy5vbkNoYW5nZXMubmV4dCh0aGlzKX1uZ09uRGVzdHJveSgpe3RoaXMuc3Vic2Ny''@;'; put 'put ''aXB0aW9uLnVuc3Vic2NyaWJlKCl9b25DbGljayhhLGQsZix2LHgpe2lmKDAhPT1hfHxkfHxmfHx2fHx4fHwic3RyaW5nIj09dHlwZW9mIHRoaXMudGFyZ2V0JiYiX3NlbGYiIT10aGlzLnRhcmdldHx8bnVsbD09PXRoaXMudXJsVHJlZSlyZXR1cm4hMDtjb25zdCBIPXtza2lwTG9jYXRpb25D''@;'; put 'put ''aGFuZ2U6bWEodGhpcy5za2lwTG9jYXRpb25DaGFuZ2UpLHJlcGxhY2VVcmw6bWEodGhpcy5yZXBsYWNlVXJsKSxzdGF0ZTp0aGlzLnN0YXRlfTtyZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnVybFRyZWUsSCksITF9dXBkYXRlVGFyZ2V0VXJsQW5kSHJlZigpe3RoaXMu''@;'; put 'put ''aHJlZj1udWxsIT09dGhpcy51cmxUcmVlP3RoaXMubG9jYXRpb25TdHJhdGVneS5wcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHRoaXMudXJsVHJlZSkpOm51bGx9Z2V0IHVybFRyZWUoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29tbWFuZHM/bnVsbDp0aGlzLnJv''@;'; put 'put ''dXRlci5jcmVhdGVVcmxUcmVlKHRoaXMuY29tbWFuZHMse3JlbGF0aXZlVG86dm9pZCAwIT09dGhpcy5yZWxhdGl2ZVRvP3RoaXMucmVsYXRpdmVUbzp0aGlzLnJvdXRlLHF1ZXJ5UGFyYW1zOnRoaXMucXVlcnlQYXJhbXMsZnJhZ21lbnQ6dGhpcy5mcmFnbWVudCxxdWVyeVBhcmFtc0hhbmRs''@;'; put 'put ''aW5nOnRoaXMucXVlcnlQYXJhbXNIYW5kbGluZyxwcmVzZXJ2ZUZyYWdtZW50Om1hKHRoaXMucHJlc2VydmVGcmFnbWVudCl9KX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoSGkpLG1lKF91KSxtZShObCkpfSxsLlx1MDI3NWRpcj1UdCh7dHlw''@;'; put 'put ''ZTpsLHNlbGVjdG9yczpbWyJhIiwicm91dGVyTGluayIsIiJdLFsiYXJlYSIsInJvdXRlckxpbmsiLCIiXV0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsxJmEmJk90KCJjbGljayIsZnVuY3Rpb24odil7cmV0dXJuIGQub25DbGljayh2LmJ1dHRvbix2LmN0cmxLZXks''@;'; put 'put ''di5zaGlmdEtleSx2LmFsdEtleSx2Lm1ldGFLZXkpfSksMiZhJiZqdCgidGFyZ2V0IixkLnRhcmdldCkoImhyZWYiLGQuaHJlZixkcCl9LGlucHV0czp7dGFyZ2V0OiJ0YXJnZXQiLHF1ZXJ5UGFyYW1zOiJxdWVyeVBhcmFtcyIsZnJhZ21lbnQ6ImZyYWdtZW50IixxdWVyeVBhcmFtc0hhbmRs''@;'; put 'put ''aW5nOiJxdWVyeVBhcmFtc0hhbmRsaW5nIixwcmVzZXJ2ZUZyYWdtZW50OiJwcmVzZXJ2ZUZyYWdtZW50Iixza2lwTG9jYXRpb25DaGFuZ2U6InNraXBMb2NhdGlvbkNoYW5nZSIscmVwbGFjZVVybDoicmVwbGFjZVVybCIsc3RhdGU6InN0YXRlIixyZWxhdGl2ZVRvOiJyZWxhdGl2ZVRvIixy''@;'; put 'put ''b3V0ZXJMaW5rOiJyb3V0ZXJMaW5rIn0sZmVhdHVyZXM6W3VpXX0pLGx9KSgpLHFfPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdix4LEgpe3RoaXMucm91dGVyPWEsdGhpcy5lbGVtZW50PWQsdGhpcy5yZW5kZXJlcj1mLHRoaXMuY2RyPXYsdGhpcy5saW5rPXgsdGhpcy5saW5r''@;'; put 'put ''V2l0aEhyZWY9SCx0aGlzLmNsYXNzZXM9W10sdGhpcy5pc0FjdGl2ZT0hMSx0aGlzLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zPXtleGFjdDohMX0sdGhpcy5pc0FjdGl2ZUNoYW5nZT1uZXcgSHQsdGhpcy5yb3V0ZXJFdmVudHNTdWJzY3JpcHRpb249YS5ldmVudHMuc3Vic2NyaWJlKEs9PntL''@;'; put 'put ''IGluc3RhbmNlb2YgVWwmJnRoaXMudXBkYXRlKCl9KX1uZ0FmdGVyQ29udGVudEluaXQoKXtBbih0aGlzLmxpbmtzLmNoYW5nZXMsdGhpcy5saW5rc1dpdGhIcmVmcy5jaGFuZ2VzLEFuKG51bGwpKS5waXBlKFp0KCkpLnN1YnNjcmliZShhPT57dGhpcy51cGRhdGUoKSx0aGlzLnN1YnNjcmli''@;'; put 'put ''ZVRvRWFjaExpbmtPbkNoYW5nZXMoKX0pfXN1YnNjcmliZVRvRWFjaExpbmtPbkNoYW5nZXMoKXt2YXIgYTtudWxsPT09KGE9dGhpcy5saW5rSW5wdXRDaGFuZ2VzU3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09YXx8YS51bnN1YnNjcmliZSgpO2NvbnN0IGQ9Wy4uLnRoaXMubGlua3MudG9BcnJh''@;'; put 'put ''eSgpLC4uLnRoaXMubGlua3NXaXRoSHJlZnMudG9BcnJheSgpLHRoaXMubGluayx0aGlzLmxpbmtXaXRoSHJlZl0uZmlsdGVyKGY9PiEhZikubWFwKGY9PmYub25DaGFuZ2VzKTt0aGlzLmxpbmtJbnB1dENoYW5nZXNTdWJzY3JpcHRpb249bm4oZCkucGlwZShadCgpKS5zdWJzY3JpYmUoZj0+''@;'; put 'put ''e3RoaXMuaXNBY3RpdmUhPT10aGlzLmlzTGlua0FjdGl2ZSh0aGlzLnJvdXRlcikoZikmJnRoaXMudXBkYXRlKCl9KX1zZXQgcm91dGVyTGlua0FjdGl2ZShhKXtjb25zdCBkPUFycmF5LmlzQXJyYXkoYSk/YTphLnNwbGl0KCIgIik7dGhpcy5jbGFzc2VzPWQuZmlsdGVyKGY9PiEhZil9bmdP''@;'; put 'put ''bkNoYW5nZXMoYSl7dGhpcy51cGRhdGUoKX1uZ09uRGVzdHJveSgpe3ZhciBhO3RoaXMucm91dGVyRXZlbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksbnVsbD09PShhPXRoaXMubGlua0lucHV0Q2hhbmdlc1N1YnNjcmlwdGlvbil8fHZvaWQgMD09PWF8fGEudW5zdWJzY3JpYmUoKX11''@;'; put 'put ''cGRhdGUoKXshdGhpcy5saW5rc3x8IXRoaXMubGlua3NXaXRoSHJlZnN8fCF0aGlzLnJvdXRlci5uYXZpZ2F0ZWR8fFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pntjb25zdCBhPXRoaXMuaGFzQWN0aXZlTGlua3MoKTt0aGlzLmlzQWN0aXZlIT09YSYmKHRoaXMuaXNBY3RpdmU9YSx0aGlz''@;'; put 'put ''LmNkci5tYXJrRm9yQ2hlY2soKSx0aGlzLmNsYXNzZXMuZm9yRWFjaChkPT57YT90aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LGQpOnRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsZCl9KSxhJiZ2b2lk''@;'; put 'put ''IDAhPT10aGlzLmFyaWFDdXJyZW50V2hlbkFjdGl2ZT90aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwiYXJpYS1jdXJyZW50Iix0aGlzLmFyaWFDdXJyZW50V2hlbkFjdGl2ZS50b1N0cmluZygpKTp0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJp''@;'; put 'put ''YnV0ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwiYXJpYS1jdXJyZW50IiksdGhpcy5pc0FjdGl2ZUNoYW5nZS5lbWl0KGEpKX0pfWlzTGlua0FjdGl2ZShhKXtjb25zdCBkPWZ1bmN0aW9uIG5OKGwpe3JldHVybiEhbC5wYXRoc30odGhpcy5yb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyk/''@;'; put 'put ''dGhpcy5yb3V0ZXJMaW5rQWN0aXZlT3B0aW9uczp0aGlzLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zLmV4YWN0fHwhMTtyZXR1cm4gZj0+ISFmLnVybFRyZWUmJmEuaXNBY3RpdmUoZi51cmxUcmVlLGQpfWhhc0FjdGl2ZUxpbmtzKCl7Y29uc3QgYT10aGlzLmlzTGlua0FjdGl2ZSh0aGlzLnJv''@;'; put 'put ''dXRlcik7cmV0dXJuIHRoaXMubGluayYmYSh0aGlzLmxpbmspfHx0aGlzLmxpbmtXaXRoSHJlZiYmYSh0aGlzLmxpbmtXaXRoSHJlZil8fHRoaXMubGlua3Muc29tZShhKXx8dGhpcy5saW5rc1dpdGhIcmVmcy5zb21lKGEpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJu''@;'; put 'put ''IG5ldyhhfHxsKShtZShIaSksbWUoaG4pLG1lKFduKSxtZSh4aSksbWUoV18sOCksbWUoRWcsOCkpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLCJyb3V0ZXJMaW5rQWN0aXZlIiwiIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uKGEsZCxmKXtpZigxJmEmJihIbihm''@;'; put 'put ''LFdfLDUpLEhuKGYsRWcsNSkpLDImYSl7bGV0IHY7UXQodj0kdCgpKSYmKGQubGlua3M9diksUXQodj0kdCgpKSYmKGQubGlua3NXaXRoSHJlZnM9dil9fSxpbnB1dHM6e3JvdXRlckxpbmtBY3RpdmVPcHRpb25zOiJyb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyIsYXJpYUN1cnJlbnRXaGVuQWN0''@;'; put 'put ''aXZlOiJhcmlhQ3VycmVudFdoZW5BY3RpdmUiLHJvdXRlckxpbmtBY3RpdmU6InJvdXRlckxpbmtBY3RpdmUifSxvdXRwdXRzOntpc0FjdGl2ZUNoYW5nZToiaXNBY3RpdmVDaGFuZ2UifSxleHBvcnRBczpbInJvdXRlckxpbmtBY3RpdmUiXSxmZWF0dXJlczpbdWldfSksbH0pKCk7Y2xhc3Mg''@;'; put 'put ''Smp7fWxldCBLaj0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmLHYseCl7dGhpcy5yb3V0ZXI9YSx0aGlzLmluamVjdG9yPWYsdGhpcy5wcmVsb2FkaW5nU3RyYXRlZ3k9dix0aGlzLmxvYWRlcj14fXNldFVwUHJlbG9hZGluZygpe3RoaXMuc3Vic2NyaXB0aW9uPXRoaXMucm91dGVy''@;'; put 'put ''LmV2ZW50cy5waXBlKFdyKGE9PmEgaW5zdGFuY2VvZiBVbCksemwoKCk9PnRoaXMucHJlbG9hZCgpKSkuc3Vic2NyaWJlKCgpPT57fSl9cHJlbG9hZCgpe3JldHVybiB0aGlzLnByb2Nlc3NSb3V0ZXModGhpcy5pbmplY3Rvcix0aGlzLnJvdXRlci5jb25maWcpfW5nT25EZXN0cm95KCl7dGhp''@;'; put 'put ''cy5zdWJzY3JpcHRpb24mJnRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCl9cHJvY2Vzc1JvdXRlcyhhLGQpe3ZhciBmLHYseDtjb25zdCBIPVtdO2Zvcihjb25zdCBLIG9mIGQpe0sucHJvdmlkZXJzJiYhSy5faW5qZWN0b3ImJihLLl9pbmplY3Rvcj1OcChLLnByb3ZpZGVycyxhLGBS''@;'; put 'put ''b3V0ZTogJHtLLnBhdGh9YCkpO2NvbnN0IGVlPW51bGwhPT0oZj1LLl9pbmplY3RvcikmJnZvaWQgMCE9PWY/ZjphLGZlPW51bGwhPT0odj1LLl9sb2FkZWRJbmplY3RvcikmJnZvaWQgMCE9PXY/djplZTtLLmxvYWRDaGlsZHJlbiYmIUsuX2xvYWRlZFJvdXRlcyYmdm9pZCAwPT09Sy5jYW5M''@;'; put 'put ''b2FkfHxLLmxvYWRDb21wb25lbnQmJiFLLl9sb2FkZWRDb21wb25lbnQ/SC5wdXNoKHRoaXMucHJlbG9hZENvbmZpZyhlZSxLKSk6KEsuY2hpbGRyZW58fEsuX2xvYWRlZFJvdXRlcykmJkgucHVzaCh0aGlzLnByb2Nlc3NSb3V0ZXMoZmUsbnVsbCE9PSh4PUsuY2hpbGRyZW4pJiZ2b2lkIDAh''@;'; put 'put ''PT14P3g6Sy5fbG9hZGVkUm91dGVzKSl9cmV0dXJuIG5uKEgpLnBpcGUoWnQoKSl9cHJlbG9hZENvbmZpZyhhLGQpe3JldHVybiB0aGlzLnByZWxvYWRpbmdTdHJhdGVneS5wcmVsb2FkKGQsKCk9PntsZXQgZjtmPWQubG9hZENoaWxkcmVuJiZ2b2lkIDA9PT1kLmNhbkxvYWQ/dGhpcy5sb2Fk''@;'; put 'put ''ZXIubG9hZENoaWxkcmVuKGEsZCk6QW4obnVsbCk7Y29uc3Qgdj1mLnBpcGUobHQoeD0+e3ZhciBIO3JldHVybiBudWxsPT09eD9Bbih2b2lkIDApOihkLl9sb2FkZWRSb3V0ZXM9eC5yb3V0ZXMsZC5fbG9hZGVkSW5qZWN0b3I9eC5pbmplY3Rvcix0aGlzLnByb2Nlc3NSb3V0ZXMobnVsbCE9''@;'; put 'put ''PShIPXguaW5qZWN0b3IpJiZ2b2lkIDAhPT1IP0g6YSx4LnJvdXRlcykpfSkpO3JldHVybiBkLmxvYWRDb21wb25lbnQmJiFkLl9sb2FkZWRDb21wb25lbnQ/bm4oW3YsdGhpcy5sb2FkZXIubG9hZENvbXBvbmVudChkKV0pLnBpcGUoWnQoKSk6dn0pfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVu''@;'; put 'put ''Y3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShFdChIaSksRXQoRXYpLEV0KFFhKSxFdChKaiksRXQoVV8pKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKTtjb25zdCBYaj1uZXcgT24oIiIpO2xldCByTj0oKCk9PntjbGFzcyBse2NvbnN0cnVj''@;'; put 'put ''dG9yKGEsZCxmPXt9KXt0aGlzLnJvdXRlcj1hLHRoaXMudmlld3BvcnRTY3JvbGxlcj1kLHRoaXMub3B0aW9ucz1mLHRoaXMubGFzdElkPTAsdGhpcy5sYXN0U291cmNlPSJpbXBlcmF0aXZlIix0aGlzLnJlc3RvcmVkSWQ9MCx0aGlzLnN0b3JlPXt9LGYuc2Nyb2xsUG9zaXRpb25SZXN0b3Jh''@;'; put 'put ''dGlvbj1mLnNjcm9sbFBvc2l0aW9uUmVzdG9yYXRpb258fCJkaXNhYmxlZCIsZi5hbmNob3JTY3JvbGxpbmc9Zi5hbmNob3JTY3JvbGxpbmd8fCJkaXNhYmxlZCJ9aW5pdCgpeyJkaXNhYmxlZCIhPT10aGlzLm9wdGlvbnMuc2Nyb2xsUG9zaXRpb25SZXN0b3JhdGlvbiYmdGhpcy52aWV3cG9y''@;'; put 'put ''dFNjcm9sbGVyLnNldEhpc3RvcnlTY3JvbGxSZXN0b3JhdGlvbigibWFudWFsIiksdGhpcy5yb3V0ZXJFdmVudHNTdWJzY3JpcHRpb249dGhpcy5jcmVhdGVTY3JvbGxFdmVudHMoKSx0aGlzLnNjcm9sbEV2ZW50c1N1YnNjcmlwdGlvbj10aGlzLmNvbnN1bWVTY3JvbGxFdmVudHMoKX1jcmVh''@;'; put 'put ''dGVTY3JvbGxFdmVudHMoKXtyZXR1cm4gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShhPT57YSBpbnN0YW5jZW9mIE9fPyh0aGlzLnN0b3JlW3RoaXMubGFzdElkXT10aGlzLnZpZXdwb3J0U2Nyb2xsZXIuZ2V0U2Nyb2xsUG9zaXRpb24oKSx0aGlzLmxhc3RTb3VyY2U9YS5uYXZpZ2F0''@;'; put 'put ''aW9uVHJpZ2dlcix0aGlzLnJlc3RvcmVkSWQ9YS5yZXN0b3JlZFN0YXRlP2EucmVzdG9yZWRTdGF0ZS5uYXZpZ2F0aW9uSWQ6MCk6YSBpbnN0YW5jZW9mIFVsJiYodGhpcy5sYXN0SWQ9YS5pZCx0aGlzLnNjaGVkdWxlU2Nyb2xsRXZlbnQoYSx0aGlzLnJvdXRlci5wYXJzZVVybChhLnVybEFm''@;'; put 'put ''dGVyUmVkaXJlY3RzKS5mcmFnbWVudCkpfSl9Y29uc3VtZVNjcm9sbEV2ZW50cygpe3JldHVybiB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGE9PnthIGluc3RhbmNlb2YgZ2omJihhLnBvc2l0aW9uPyJ0b3AiPT09dGhpcy5vcHRpb25zLnNjcm9sbFBvc2l0aW9uUmVzdG9yYXRpb24/''@;'; put 'put ''dGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oWzAsMF0pOiJlbmFibGVkIj09PXRoaXMub3B0aW9ucy5zY3JvbGxQb3NpdGlvblJlc3RvcmF0aW9uJiZ0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9Qb3NpdGlvbihhLnBvc2l0aW9uKTphLmFuY2hvciYmImVuYWJs''@;'; put 'put ''ZWQiPT09dGhpcy5vcHRpb25zLmFuY2hvclNjcm9sbGluZz90aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9BbmNob3IoYS5hbmNob3IpOiJkaXNhYmxlZCIhPT10aGlzLm9wdGlvbnMuc2Nyb2xsUG9zaXRpb25SZXN0b3JhdGlvbiYmdGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRv''@;'; put 'put ''UG9zaXRpb24oWzAsMF0pKX0pfXNjaGVkdWxlU2Nyb2xsRXZlbnQoYSxkKXt0aGlzLnJvdXRlci50cmlnZ2VyRXZlbnQobmV3IGdqKGEsInBvcHN0YXRlIj09PXRoaXMubGFzdFNvdXJjZT90aGlzLnN0b3JlW3RoaXMucmVzdG9yZWRJZF06bnVsbCxkKSl9bmdPbkRlc3Ryb3koKXt0aGlzLnJv''@;'; put 'put ''dXRlckV2ZW50c1N1YnNjcmlwdGlvbiYmdGhpcy5yb3V0ZXJFdmVudHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLnNjcm9sbEV2ZW50c1N1YnNjcmlwdGlvbiYmdGhpcy5zY3JvbGxFdmVudHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1''@;'; put 'put ''bmN0aW9uKGEpe3ZwKCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7Y29uc3QgUWo9bmV3IE9uKCJST1VURVJfRk9SUk9PVF9HVUFSRCIpLCRqPW5ldyBPbigiIiksaU49W3F2LHtwcm92aWRlOmlqLHVzZUNsYXNzOndffSx7cHJvdmlkZTpI''@;'; put 'put ''aSx1c2VGYWN0b3J5OkdqfSx2aCx7cHJvdmlkZTpfdSx1c2VGYWN0b3J5OmZ1bmN0aW9uIG9OKGwpe3JldHVybiBsLnJvdXRlclN0YXRlLnJvb3R9LGRlcHM6W0hpXX0sVV9dO2Z1bmN0aW9uIHNOKCl7cmV0dXJuIG5ldyBMMygiUm91dGVyIixIaSl9bGV0IEdfPSgoKT0+e2NsYXNzIGx7Y29u''@;'; put 'put ''c3RydWN0b3IoYSl7fXN0YXRpYyBmb3JSb290KGEsZCl7cmV0dXJue25nTW9kdWxlOmwscHJvdmlkZXJzOltpTixbXSxlUyhhKSx7cHJvdmlkZTpRaix1c2VGYWN0b3J5OnVOLGRlcHM6W1tIaSxuZXcgSmEsbmV3IEthXV19LHtwcm92aWRlOkhfLHVzZVZhbHVlOmR8fHt9fSxudWxsIT1kJiZk''@;'; put 'put ''LnVzZUhhc2g/e3Byb3ZpZGU6TmwsdXNlQ2xhc3M6Vzl9Ontwcm92aWRlOk5sLHVzZUNsYXNzOmk2fSx7cHJvdmlkZTpYaix1c2VGYWN0b3J5OigpPT57Y29uc3QgbD1zaShIaSksYz1zaShvSSksYT1zaShIXyk7cmV0dXJuIGEuc2Nyb2xsT2Zmc2V0JiZjLnNldE9mZnNldChhLnNjcm9sbE9m''@;'; put 'put ''ZnNldCksbmV3IHJOKGwsYyxhKX19LG51bGwhPWQmJmQucHJlbG9hZGluZ1N0cmF0ZWd5P2JOKGQucHJlbG9hZGluZ1N0cmF0ZWd5KTpbXSx7cHJvdmlkZTpMMyxtdWx0aTohMCx1c2VGYWN0b3J5OnNOfSxudWxsIT1kJiZkLmluaXRpYWxOYXZpZ2F0aW9uP2hOKGQpOltdLFt7cHJvdmlkZTp0''@;'; put 'put ''Uyx1c2VGYWN0b3J5OmROfSx7cHJvdmlkZTpTMyxtdWx0aTohMCx1c2VFeGlzdGluZzp0U31dXX19c3RhdGljIGZvckNoaWxkKGEpe3JldHVybntuZ01vZHVsZTpsLHByb3ZpZGVyczpbZVMoYSldfX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQo''@;'; put 'put ''UWosOCkpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe30pLGx9KSgpO2Z1bmN0aW9uIHVOKGwpe3JldHVybiJndWFyZGVkIn1mdW5jdGlvbiBlUyhsKXtyZXR1cm5be3Byb3ZpZGU6Vl8sbXVsdGk6ITAsdXNlVmFsdWU6bH1dfWZ1bmN0aW9uIGROKCl7Y29uc3Qg''@;'; put 'put ''bD1zaShWcik7cmV0dXJuIGM9Pnt2YXIgYSxkO2NvbnN0IGY9bC5nZXQocmgpO2lmKGMhPT1mLmNvbXBvbmVudHNbMF0pcmV0dXJuO2NvbnN0IHY9bC5nZXQoSGkpLHg9bC5nZXQoblMpOzE9PT1sLmdldChaXykmJnYuaW5pdGlhbE5hdmlnYXRpb24oKSxudWxsPT09KGE9bC5nZXQoJGosbnVs''@;'; put 'put ''bCxFbi5PcHRpb25hbCkpfHx2b2lkIDA9PT1hfHxhLnNldFVwUHJlbG9hZGluZygpLG51bGw9PT0oZD1sLmdldChYaixudWxsLEVuLk9wdGlvbmFsKSl8fHZvaWQgMD09PWR8fGQuaW5pdCgpLHYucmVzZXRSb290Q29tcG9uZW50VHlwZShmLmNvbXBvbmVudFR5cGVzWzBdKSx4Lm5leHQoKSx4''@;'; put 'put ''LmNvbXBsZXRlKCl9fWNvbnN0IHRTPW5ldyBPbigiIik7ZnVuY3Rpb24gaE4obCl7cmV0dXJuWyJkaXNhYmxlZCI9PT1sLmluaXRpYWxOYXZpZ2F0aW9uP1t7cHJvdmlkZTpVcCxtdWx0aTohMCx1c2VGYWN0b3J5OigpPT57Y29uc3QgbD1zaShIaSk7cmV0dXJuKCk9PntsLnNldFVwTG9jYXRp''@;'; put 'put ''b25DaGFuZ2VMaXN0ZW5lcigpfX19LHtwcm92aWRlOlpfLHVzZVZhbHVlOjJ9XTpbXSwiZW5hYmxlZEJsb2NraW5nIj09PWwuaW5pdGlhbE5hdmlnYXRpb24/W3twcm92aWRlOlpfLHVzZVZhbHVlOjB9LHtwcm92aWRlOlVwLG11bHRpOiEwLGRlcHM6W1ZyXSx1c2VGYWN0b3J5Omw9Pntjb25z''@;'; put 'put ''dCBjPWwuZ2V0KFY5LFByb21pc2UucmVzb2x2ZShudWxsKSk7bGV0IGE9ITE7cmV0dXJuKCk9PmMudGhlbigoKT0+bmV3IFByb21pc2UoZj0+e2NvbnN0IHY9bC5nZXQoSGkpLHg9bC5nZXQoblMpOyhmdW5jdGlvbiBkKGYpe2wuZ2V0KEhpKS5ldmVudHMucGlwZShXcih4PT54IGluc3RhbmNl''@;'; put 'put ''b2YgVWx8fHggaW5zdGFuY2VvZiB5Z3x8eCBpbnN0YW5jZW9mIHBqKSx1ZSh4PT54IGluc3RhbmNlb2YgVWx8fHggaW5zdGFuY2VvZiB5ZyYmKDA9PT14LmNvZGV8fDE9PT14LmNvZGUpJiZudWxsKSxXcih4PT5udWxsIT09eCksWWwoMSkpLnN1YnNjcmliZSgoKT0+e2YoKX0pfSkoKCk9Pntm''@;'; put 'put ''KCEwKSxhPSEwfSksdi5hZnRlclByZWFjdGl2YXRpb249KCk9PihmKCEwKSxhfHx4LmNsb3NlZD9Bbih2b2lkIDApOngpLHYuaW5pdGlhbE5hdmlnYXRpb24oKX0pKX19XTpbXV19Y29uc3QgblM9bmV3IE9uKCIiLHtmYWN0b3J5OigpPT5uZXcgRX0pLFpfPW5ldyBPbigiIix7cHJvdmlkZWRJ''@;'; put 'put ''bjoicm9vdCIsZmFjdG9yeTooKT0+MX0pO2Z1bmN0aW9uIGJOKGwpe3JldHVybltLaix7cHJvdmlkZTokaix1c2VFeGlzdGluZzpLan0se3Byb3ZpZGU6SmosdXNlRXhpc3Rpbmc6bH1dfWxldCB2Tj0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKCl7fW5nT25Jbml0KCl7fX1yZXR1cm4gbC5c''@;'; put 'put ''dTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6W1siYXBwLWhvbWUtcGFnZSJdXSxkZWNsczoyNCx2YXJzOjAsY29uc3RzOltbMSwiaG9tZS1wYWdlIl0sWzEsImNvZGUiXSxbInRhcmdldCIsIl9ibGFuayIsInJl''@;'; put 'put ''bCIsIm5vb3BlbmVyIG5vcmVmZXJyZXIiLCJocmVmIiwiaHR0cHM6Ly9naXRodWIuY29tL3Nhc2pzL2FuZ3VsYXItc2VlZC1hcHAiXSxbInRhcmdldCIsIl9ibGFuayIsInJlbCIsIm5vb3BlbmVyIG5vcmVmZXJyZXIiLCJocmVmIiwiaHR0cHM6Ly9naXRodWIuY29tL3Nhc2pzL2FkYXB0ZXIi''@;'; put 'put ''XSxbInRhcmdldCIsIl9ibGFuayIsInJlbCIsIm5vb3BlbmVyIG5vcmVmZXJyZXIiLCJocmVmIiwiaHR0cHM6Ly93d3cubnBtanMuY29tL3NlYXJjaD9xPSU0MHNhc2pzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYoemUoMCwiZGl2IiwwKSgxLCJoMiIpLEZ0KDIsIldlbGNvbWUg''@;'; put 'put ''dG8gdGhlICIpLHplKDMsInNwYW4iLDEpLEZ0KDQsIlNBU2pzIiksWWUoKSxGdCg1LCIgU2VlZCBBcHAgZm9yIEFuZ3VsYXIhIiksWWUoKSx6ZSg2LCJkaXYiKSxGdCg3LCIgQXBwIFNvdXJjZSBDb2RlOiAiKSx6ZSg4LCJhIiwyKSxGdCg5LCIgaHR0cHM6Ly9naXRodWIuY29tL3Nhc2pzL2Fu''@;'; put 'put ''Z3VsYXItc2VlZC1hcHAgIiksWWUoKSgpLFd0KDEwLCJiciIpLHplKDExLCJkaXYiKSgxMiwic3BhbiIsMSksRnQoMTMsIlNBU2pzIiksWWUoKSxGdCgxNCwiIFNvdXJjZSBDb2RlOiAiKSx6ZSgxNSwiYSIsMyksRnQoMTYsIiBodHRwczovL2dpdGh1Yi5jb20vc2FzanMvYWRhcHRlciAiKSxZ''@;'; put 'put ''ZSgpKCksV3QoMTcsImJyIiksemUoMTgsImRpdiIpKDE5LCJzcGFuIiwxKSxGdCgyMCwiU0FTanMiKSxZZSgpLEZ0KDIxLCIgb24gTlBNOiAiKSx6ZSgyMiwiYSIsNCksRnQoMjMsIiBodHRwczovL3d3dy5ucG1qcy5jb20vc2VhcmNoP3E9JTQwc2FzanMgIiksWWUoKSgpKCkpfSxzdHlsZXM6''@;'; put 'put ''WyIuaG9tZS1wYWdlW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjE2cHg7aGVpZ2h0OmNhbGMoMTAwdmggLSA5N3B4KTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC1kaXJlY3Rpb246Y29sdW1ufSJdfSksbH0pKCksSl89KCgp''@;'; put 'put ''PT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuaXNVc2VyTG9nZ2VkSW4kPW5ldyBOcighMCksdGhpcy5pc1VzZXJMb2dnZWRJbj10aGlzLmlzVXNlckxvZ2dlZEluJC5hc09ic2VydmFibGUoKSx0aGlzLnN0YXJ0dXBEYXRhJD1uZXcgTnIoW10pLHRoaXMuc3RhcnR1cERhdGE9dGhpcy5z''@;'; put 'put ''dGFydHVwRGF0YSQuYXNPYnNlcnZhYmxlKCksdGhpcy51c2VybmFtZT1uZXcgTnIoIiIpfXNldElzTG9nZ2VkSW4oYSl7dGhpcy5pc1VzZXJMb2dnZWRJbiQubmV4dChhKX1zZXRTdGFydHVwRGF0YShhKXt0aGlzLnN0YXJ0dXBEYXRhJC5uZXh0KGEpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVu''@;'; put 'put ''Y3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWMscHJvdmlkZWRJbjoicm9vdCJ9KSxsfSkoKTt2YXIgclM9RmUoNzQ2MyksX049RmUubihyUyk7bGV0IFRnPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhp''@;'; put 'put ''cy5zdGF0ZVNlcnZpY2U9YTtsZXQgZD13aW5kb3cuc2FzanNDb25maWdJbnB1dHx8e307dGhpcy5hZGFwdGVyPW5ldyhfTigpKShkKX1mZXRjaFN0YXJ0dXBEYXRhKCl7dGhpcy5yZXF1ZXN0KCJjb21tb24vYXBwaW5pdCIsbnVsbCkudGhlbihhPT57Y29uc29sZS5sb2coYSksdGhpcy5zdGF0''@;'; put 'put ''ZVNlcnZpY2Uuc2V0U3RhcnR1cERhdGEoYSl9KX1yZXF1ZXN0KGEsZCxmKXtyZXR1cm4gYT0ic2VydmljZXMvIithLG5ldyBQcm9taXNlKCh2LHgpPT57dGhpcy5hZGFwdGVyLnJlcXVlc3QoYSxkLGYsKCk9Pnt0aGlzLnN0YXRlU2VydmljZS5zZXRJc0xvZ2dlZEluKCExKX0pLnRoZW4oSD0+''@;'; put 'put ''eyExPT09SC5sb2dpbiYmKHRoaXMuc3RhdGVTZXJ2aWNlLnNldElzTG9nZ2VkSW4oITEpLHRoaXMuc3RhdGVTZXJ2aWNlLnVzZXJuYW1lLm5leHQoIiIpLHgoITEpKSx0aGlzLnN0YXRlU2VydmljZS51c2VybmFtZS5nZXRWYWx1ZSgpLmxlbmd0aDwxJiZILk1GX0dFVFVTRVImJnRoaXMuc3Rh''@;'; put 'put ''dGVTZXJ2aWNlLnVzZXJuYW1lLm5leHQoSC5NRl9HRVRVU0VSKSw0MDQ9PT1ILnN0YXR1cyYmeCh7TUVTU0FHRTpILmJvZHl8fCJTQVMgcmVzcG9uZGVkIHdpdGggYW4gZXJyb3IifSksdihIKX0sSD0+e3goSCl9KX0pfWxvZ2luKGEsZCl7cmV0dXJuIHhlKHRoaXMsdm9pZCAwLHZvaWQgMCxm''@;'; put 'put ''dW5jdGlvbiooKXtyZXR1cm4gdGhpcy5hZGFwdGVyLmxvZ0luKGEsZCkudGhlbihmPT4oY29uc29sZS5sb2coZiksdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0SXNMb2dnZWRJbihmLmlzTG9nZ2VkSW4pLHRoaXMuc3RhdGVTZXJ2aWNlLnVzZXJuYW1lLm5leHQoZi51c2VyTmFtZSksZi5pc0xvZ2dl''@;'; put 'put ''ZEluKSxmPT4oY29uc29sZS5lcnJvcihmKSx0aGlzLnN0YXRlU2VydmljZS5zZXRJc0xvZ2dlZEluKCExKSwhMSkpLmNhdGNoKGY9Pig0MDM9PT1mJiZjb25zb2xlLmVycm9yKCJJbnZhbGlkIGhvc3QiKSwhMSkpfSl9dXBsb2FkRmlsZShhLGQsZil7cmV0dXJuIHRoaXMuYWRhcHRlci51cGxv''@;'; put 'put ''YWRGaWxlKGEsZCxmKX1sb2dvdXQoKXt0aGlzLmFkYXB0ZXIubG9nT3V0KCkudGhlbigoKT0+e3RoaXMuc3RhdGVTZXJ2aWNlLnNldElzTG9nZ2VkSW4oITEpLHRoaXMuc3RhdGVTZXJ2aWNlLnVzZXJuYW1lLm5leHQoIiIpfSl9Z2V0U2FzanNDb25maWcoKXtyZXR1cm4gdGhpcy5hZGFwdGVy''@;'; put 'put ''LmdldFNhc2pzQ29uZmlnKCl9Z2V0U2FzUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5hZGFwdGVyLmdldFNhc1JlcXVlc3RzKCl9c2V0RGVidWdTdGF0ZShhKXt0aGlzLmFkYXB0ZXIuc2V0RGVidWdTdGF0ZShhKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8''@;'; put 'put ''bCkoRXQoSl8pKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWMscHJvdmlkZWRJbjoicm9vdCJ9KSxsfSkoKSxpUz0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCl7dGhpcy5fcmVuZGVyZXI9YSx0aGlzLl9lbGVtZW50UmVmPWQsdGhpcy5vbkNoYW5n''@;'; put 'put ''ZT1mPT57fSx0aGlzLm9uVG91Y2hlZD0oKT0+e319c2V0UHJvcGVydHkoYSxkKXt0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsYSxkKX1yZWdpc3Rlck9uVG91Y2hlZChhKXt0aGlzLm9uVG91Y2hlZD1hfXJlZ2lzdGVyT25DaGFuZ2Uo''@;'; put 'put ''YSl7dGhpcy5vbkNoYW5nZT1hfXNldERpc2FibGVkU3RhdGUoYSl7dGhpcy5zZXRQcm9wZXJ0eSgiZGlzYWJsZWQiLGEpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShXbiksbWUoaG4pKX0sbC5cdTAyNzVkaXI9VHQoe3R5cGU6bH0pLGx9KSgp''@;'; put 'put ''LFdsPSgoKT0+e2NsYXNzIGwgZXh0ZW5kcyBpU3t9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKCl7bGV0IGM7cmV0dXJuIGZ1bmN0aW9uKGQpe3JldHVybihjfHwoYz0kbihsKSkpKGR8fGwpfX0oKSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLGZlYXR1cmVzOlt5bl19KSxsfSkoKTtjb25z''@;'; put 'put ''dCBacz1uZXcgT24oIk5nVmFsdWVBY2Nlc3NvciIpLHdOPXtwcm92aWRlOlpzLHVzZUV4aXN0aW5nOkNuKCgpPT53dSksbXVsdGk6ITB9O2xldCB3dT0oKCk9PntjbGFzcyBsIGV4dGVuZHMgV2x7d3JpdGVWYWx1ZShhKXt0aGlzLnNldFByb3BlcnR5KCJjaGVja2VkIixhKX19cmV0dXJuIGwu''@;'; put 'put ''XHUwMjc1ZmFjPWZ1bmN0aW9uKCl7bGV0IGM7cmV0dXJuIGZ1bmN0aW9uKGQpe3JldHVybihjfHwoYz0kbihsKSkpKGR8fGwpfX0oKSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJpbnB1dCIsInR5cGUiLCJjaGVja2JveCIsImZvcm1Db250cm9sTmFtZSIsIiJdLFsiaW5w''@;'; put 'put ''dXQiLCJ0eXBlIiwiY2hlY2tib3giLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwiY2hlY2tib3giLCJuZ01vZGVsIiwiIl1dLGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezEmYSYmT3QoImNoYW5nZSIsZnVuY3Rpb24odil7cmV0dXJuIGQub25DaGFuZ2Uodi50YXJnZXQu''@;'; put 'put ''Y2hlY2tlZCl9KSgiYmx1ciIsZnVuY3Rpb24oKXtyZXR1cm4gZC5vblRvdWNoZWQoKX0pfSxmZWF0dXJlczpbZG4oW3dOXSkseW5dfSksbH0pKCk7Y29uc3QgTU49e3Byb3ZpZGU6WnMsdXNlRXhpc3Rpbmc6Q24oKCk9PmthKSxtdWx0aTohMH0sa049bmV3IE9uKCJDb21wb3NpdGlvbkV2ZW50''@;'; put 'put ''TW9kZSIpO2xldCBrYT0oKCk9PntjbGFzcyBsIGV4dGVuZHMgaVN7Y29uc3RydWN0b3IoYSxkLGYpe3N1cGVyKGEsZCksdGhpcy5fY29tcG9zaXRpb25Nb2RlPWYsdGhpcy5fY29tcG9zaW5nPSExLG51bGw9PXRoaXMuX2NvbXBvc2l0aW9uTW9kZSYmKHRoaXMuX2NvbXBvc2l0aW9uTW9kZT0h''@;'; put 'put ''ZnVuY3Rpb24gQ04oKXtjb25zdCBsPXFzKCk/cXMoKS5nZXRVc2VyQWdlbnQoKToiIjtyZXR1cm4vYW5kcm9pZCAoXGQrKS8udGVzdChsLnRvTG93ZXJDYXNlKCkpfSgpKX13cml0ZVZhbHVlKGEpe3RoaXMuc2V0UHJvcGVydHkoInZhbHVlIixudWxsPT1hPyIiOmEpfV9oYW5kbGVJbnB1dChh''@;'; put 'put ''KXsoIXRoaXMuX2NvbXBvc2l0aW9uTW9kZXx8dGhpcy5fY29tcG9zaXRpb25Nb2RlJiYhdGhpcy5fY29tcG9zaW5nKSYmdGhpcy5vbkNoYW5nZShhKX1fY29tcG9zaXRpb25TdGFydCgpe3RoaXMuX2NvbXBvc2luZz0hMH1fY29tcG9zaXRpb25FbmQoYSl7dGhpcy5fY29tcG9zaW5nPSExLHRo''@;'; put 'put ''aXMuX2NvbXBvc2l0aW9uTW9kZSYmdGhpcy5vbkNoYW5nZShhKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoV24pLG1lKGhuKSxtZShrTiw4KSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbImlucHV0IiwiZm9ybUNvbnRy''@;'; put 'put ''b2xOYW1lIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXSxbInRleHRhcmVhIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJpbnB1dCIsImZvcm1Db250cm9sIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXSxbInRleHRhcmVhIiwiZm9ybUNvbnRyb2wiLCIiXSxbImlucHV0IiwibmdNb2RlbCIsIiIs''@;'; put 'put ''MywidHlwZSIsImNoZWNrYm94Il0sWyJ0ZXh0YXJlYSIsIm5nTW9kZWwiLCIiXSxbIiIsIm5nRGVmYXVsdENvbnRyb2wiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZPdCgiaW5wdXQiLGZ1bmN0aW9uKHYpe3JldHVybiBkLl9oYW5kbGVJbnB1dCh2LnRhcmdldC52YWx1''@;'; put 'put ''ZSl9KSgiYmx1ciIsZnVuY3Rpb24oKXtyZXR1cm4gZC5vblRvdWNoZWQoKX0pKCJjb21wb3NpdGlvbnN0YXJ0IixmdW5jdGlvbigpe3JldHVybiBkLl9jb21wb3NpdGlvblN0YXJ0KCl9KSgiY29tcG9zaXRpb25lbmQiLGZ1bmN0aW9uKHYpe3JldHVybiBkLl9jb21wb3NpdGlvbkVuZCh2LnRh''@;'; put 'put ''cmdldC52YWx1ZSl9KX0sZmVhdHVyZXM6W2RuKFtNTl0pLHluXX0pLGx9KSgpO2NvbnN0IFZpPW5ldyBPbigiTmdWYWxpZGF0b3JzIiksYWw9bmV3IE9uKCJOZ0FzeW5jVmFsaWRhdG9ycyIpO2Z1bmN0aW9uIGxTKGwpe3JldHVybiBmdW5jdGlvbiBzbChsKXtyZXR1cm4gbnVsbD09bHx8KCJz''@;'; put 'put ''dHJpbmciPT10eXBlb2YgbHx8QXJyYXkuaXNBcnJheShsKSkmJjA9PT1sLmxlbmd0aH0obC52YWx1ZSk/e3JlcXVpcmVkOiEwfTpudWxsfWZ1bmN0aW9uIExnKGwpe3JldHVybiBudWxsfWZ1bmN0aW9uIHBTKGwpe3JldHVybiBudWxsIT1sfWZ1bmN0aW9uIGdTKGwpe3JldHVybiBXZChsKT9u''@;'; put 'put ''bihsKTpsfWZ1bmN0aW9uIG1TKGwpe2xldCBjPXt9O3JldHVybiBsLmZvckVhY2goYT0+e2M9bnVsbCE9YT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYyksYSk6Y30pLDA9PT1PYmplY3Qua2V5cyhjKS5sZW5ndGg/bnVsbDpjfWZ1bmN0aW9uIGJTKGwsYyl7cmV0dXJuIGMubWFw''@;'; put 'put ''KGE9PmEobCkpfWZ1bmN0aW9uIHZTKGwpe3JldHVybiBsLm1hcChjPT5mdW5jdGlvbiBPTihsKXtyZXR1cm4hbC52YWxpZGF0ZX0oYyk/YzphPT5jLnZhbGlkYXRlKGEpKX1mdW5jdGlvbiBLXyhsKXtyZXR1cm4gbnVsbCE9bD9mdW5jdGlvbiBfUyhsKXtpZighbClyZXR1cm4gbnVsbDtjb25z''@;'; put 'put ''dCBjPWwuZmlsdGVyKHBTKTtyZXR1cm4gMD09Yy5sZW5ndGg/bnVsbDpmdW5jdGlvbihhKXtyZXR1cm4gbVMoYlMoYSxjKSl9fSh2UyhsKSk6bnVsbH1mdW5jdGlvbiBYXyhsKXtyZXR1cm4gbnVsbCE9bD9mdW5jdGlvbiB5UyhsKXtpZighbClyZXR1cm4gbnVsbDtjb25zdCBjPWwuZmlsdGVy''@;'; put 'put ''KHBTKTtyZXR1cm4gMD09Yy5sZW5ndGg/bnVsbDpmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24geU4oLi4ubCl7Y29uc3QgYz1ibihsKSx7YXJnczphLGtleXM6ZH09SDYobCksZj1uZXcgYih2PT57Y29uc3R7bGVuZ3RoOnh9PWE7aWYoIXgpcmV0dXJuIHZvaWQgdi5jb21wbGV0ZSgpO2Nv''@;'; put 'put ''bnN0IEg9bmV3IEFycmF5KHgpO2xldCBLPXgsZWU9eDtmb3IobGV0IGZlPTA7ZmU8eDtmZSsrKXtsZXQgeWU9ITE7YXQoYVtmZV0pLnN1YnNjcmliZShuZSh2LGplPT57eWV8fCh5ZT0hMCxlZS0tKSxIW2ZlXT1qZX0sKCk9PkstLSx2b2lkIDAsKCk9PnsoIUt8fCF5ZSkmJihlZXx8di5uZXh0''@;'; put 'put ''KGQ/VjYoZCxIKTpIKSx2LmNvbXBsZXRlKCkpfSkpfX0pO3JldHVybiBjP2YucGlwZShnXyhjKSk6Zn0oYlMoYSxjKS5tYXAoZ1MpKS5waXBlKHVlKG1TKSl9fSh2UyhsKSk6bnVsbH1mdW5jdGlvbiB3UyhsLGMpe3JldHVybiBudWxsPT09bD9bY106QXJyYXkuaXNBcnJheShsKT9bLi4ubCxj''@;'; put 'put ''XTpbbCxjXX1mdW5jdGlvbiBRXyhsKXtyZXR1cm4gbD9BcnJheS5pc0FycmF5KGwpP2w6W2xdOltdfWZ1bmN0aW9uIElnKGwsYyl7cmV0dXJuIEFycmF5LmlzQXJyYXkobCk/bC5pbmNsdWRlcyhjKTpsPT09Y31mdW5jdGlvbiBrUyhsLGMpe2NvbnN0IGE9UV8oYyk7cmV0dXJuIFFfKGwpLmZv''@;'; put 'put ''ckVhY2goZj0+e0lnKGEsZil8fGEucHVzaChmKX0pLGF9ZnVuY3Rpb24galMobCxjKXtyZXR1cm4gUV8oYykuZmlsdGVyKGE9PiFJZyhsLGEpKX1jbGFzcyBTU3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3Jhd1ZhbGlkYXRvcnM9W10sdGhpcy5fcmF3QXN5bmNWYWxpZGF0b3JzPVtdLHRoaXMuX29u''@;'; put 'put ''RGVzdHJveUNhbGxiYWNrcz1bXX1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC52YWx1ZTpudWxsfWdldCB2YWxpZCgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnZhbGlkOm51bGx9Z2V0IGludmFsaWQoKXtyZXR1cm4gdGhpcy5jb250cm9s''@;'; put 'put ''P3RoaXMuY29udHJvbC5pbnZhbGlkOm51bGx9Z2V0IHBlbmRpbmcoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5wZW5kaW5nOm51bGx9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuZGlzYWJsZWQ6bnVsbH1nZXQgZW5hYmxlZCgpe3Jl''@;'; put 'put ''dHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLmVuYWJsZWQ6bnVsbH1nZXQgZXJyb3JzKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuZXJyb3JzOm51bGx9Z2V0IHByaXN0aW5lKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wucHJpc3RpbmU6bnVsbH1n''@;'; put 'put ''ZXQgZGlydHkoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5kaXJ0eTpudWxsfWdldCB0b3VjaGVkKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wudG91Y2hlZDpudWxsfWdldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5zdGF0''@;'; put 'put ''dXM6bnVsbH1nZXQgdW50b3VjaGVkKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wudW50b3VjaGVkOm51bGx9Z2V0IHN0YXR1c0NoYW5nZXMoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzOm51bGx9Z2V0IHZhbHVlQ2hhbmdlcygpe3Jl''@;'; put 'put ''dHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlczpudWxsfWdldCBwYXRoKCl7cmV0dXJuIG51bGx9X3NldFZhbGlkYXRvcnMoYyl7dGhpcy5fcmF3VmFsaWRhdG9ycz1jfHxbXSx0aGlzLl9jb21wb3NlZFZhbGlkYXRvckZuPUtfKHRoaXMuX3Jhd1ZhbGlkYXRvcnMp''@;'; put 'put ''fV9zZXRBc3luY1ZhbGlkYXRvcnMoYyl7dGhpcy5fcmF3QXN5bmNWYWxpZGF0b3JzPWN8fFtdLHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbj1YXyh0aGlzLl9yYXdBc3luY1ZhbGlkYXRvcnMpfWdldCB2YWxpZGF0b3IoKXtyZXR1cm4gdGhpcy5fY29tcG9zZWRWYWxpZGF0b3JGbnx8''@;'; put 'put ''bnVsbH1nZXQgYXN5bmNWYWxpZGF0b3IoKXtyZXR1cm4gdGhpcy5fY29tcG9zZWRBc3luY1ZhbGlkYXRvckZufHxudWxsfV9yZWdpc3Rlck9uRGVzdHJveShjKXt0aGlzLl9vbkRlc3Ryb3lDYWxsYmFja3MucHVzaChjKX1faW52b2tlT25EZXN0cm95Q2FsbGJhY2tzKCl7dGhpcy5fb25EZXN0''@;'; put 'put ''cm95Q2FsbGJhY2tzLmZvckVhY2goYz0+YygpKSx0aGlzLl9vbkRlc3Ryb3lDYWxsYmFja3M9W119cmVzZXQoYyl7dGhpcy5jb250cm9sJiZ0aGlzLmNvbnRyb2wucmVzZXQoYyl9aGFzRXJyb3IoYyxhKXtyZXR1cm4hIXRoaXMuY29udHJvbCYmdGhpcy5jb250cm9sLmhhc0Vycm9yKGMsYSl9''@;'; put 'put ''Z2V0RXJyb3IoYyxhKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5nZXRFcnJvcihjLGEpOm51bGx9fWNsYXNzIEVvIGV4dGVuZHMgU1N7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3BhcmVudD1udWxsLHRoaXMubmFtZT1udWxsLHRoaXMudmFsdWVB''@;'; put 'put ''Y2Nlc3Nvcj1udWxsfX1jbGFzcyBybyBleHRlbmRzIFNTe2dldCBmb3JtRGlyZWN0aXZlKCl7cmV0dXJuIG51bGx9Z2V0IHBhdGgoKXtyZXR1cm4gbnVsbH19bGV0IFRvPSgoKT0+e2NsYXNzIGwgZXh0ZW5kcyBjbGFzcyBPU3tjb25zdHJ1Y3RvcihjKXt0aGlzLl9jZD1jfWdldCBpc1RvdWNo''@;'; put 'put ''ZWQoKXt2YXIgYyxhO3JldHVybiEobnVsbD09PShhPW51bGw9PT0oYz10aGlzLl9jZCl8fHZvaWQgMD09PWM/dm9pZCAwOmMuY29udHJvbCl8fHZvaWQgMD09PWF8fCFhLnRvdWNoZWQpfWdldCBpc1VudG91Y2hlZCgpe3ZhciBjLGE7cmV0dXJuIShudWxsPT09KGE9bnVsbD09PShjPXRoaXMu''@;'; put 'put ''X2NkKXx8dm9pZCAwPT09Yz92b2lkIDA6Yy5jb250cm9sKXx8dm9pZCAwPT09YXx8IWEudW50b3VjaGVkKX1nZXQgaXNQcmlzdGluZSgpe3ZhciBjLGE7cmV0dXJuIShudWxsPT09KGE9bnVsbD09PShjPXRoaXMuX2NkKXx8dm9pZCAwPT09Yz92b2lkIDA6Yy5jb250cm9sKXx8dm9pZCAwPT09''@;'; put 'put ''YXx8IWEucHJpc3RpbmUpfWdldCBpc0RpcnR5KCl7dmFyIGMsYTtyZXR1cm4hKG51bGw9PT0oYT1udWxsPT09KGM9dGhpcy5fY2QpfHx2b2lkIDA9PT1jP3ZvaWQgMDpjLmNvbnRyb2wpfHx2b2lkIDA9PT1hfHwhYS5kaXJ0eSl9Z2V0IGlzVmFsaWQoKXt2YXIgYyxhO3JldHVybiEobnVsbD09''@;'; put 'put ''PShhPW51bGw9PT0oYz10aGlzLl9jZCl8fHZvaWQgMD09PWM/dm9pZCAwOmMuY29udHJvbCl8fHZvaWQgMD09PWF8fCFhLnZhbGlkKX1nZXQgaXNJbnZhbGlkKCl7dmFyIGMsYTtyZXR1cm4hKG51bGw9PT0oYT1udWxsPT09KGM9dGhpcy5fY2QpfHx2b2lkIDA9PT1jP3ZvaWQgMDpjLmNvbnRy''@;'; put 'put ''b2wpfHx2b2lkIDA9PT1hfHwhYS5pbnZhbGlkKX1nZXQgaXNQZW5kaW5nKCl7dmFyIGMsYTtyZXR1cm4hKG51bGw9PT0oYT1udWxsPT09KGM9dGhpcy5fY2QpfHx2b2lkIDA9PT1jP3ZvaWQgMDpjLmNvbnRyb2wpfHx2b2lkIDA9PT1hfHwhYS5wZW5kaW5nKX1nZXQgaXNTdWJtaXR0ZWQoKXt2''@;'; put 'put ''YXIgYztyZXR1cm4hKG51bGw9PT0oYz10aGlzLl9jZCl8fHZvaWQgMD09PWN8fCFjLnN1Ym1pdHRlZCl9fXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoRW8sMikpfSxsLlx1MDI3NWRpcj1UdCh7dHlw''@;'; put 'put ''ZTpsLHNlbGVjdG9yczpbWyIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIiIsIm5nTW9kZWwiLCIiXSxbIiIsImZvcm1Db250cm9sIiwiIl1dLGhvc3RWYXJzOjE0LGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezImYSYmVnQoIm5nLXVudG91Y2hlZCIsZC5pc1VudG91Y2hlZCkoIm5nLXRv''@;'; put 'put ''dWNoZWQiLGQuaXNUb3VjaGVkKSgibmctcHJpc3RpbmUiLGQuaXNQcmlzdGluZSkoIm5nLWRpcnR5IixkLmlzRGlydHkpKCJuZy12YWxpZCIsZC5pc1ZhbGlkKSgibmctaW52YWxpZCIsZC5pc0ludmFsaWQpKCJuZy1wZW5kaW5nIixkLmlzUGVuZGluZyl9LGZlYXR1cmVzOlt5bl19KSxsfSko''@;'; put 'put ''KTtjb25zdCBDaD0iVkFMSUQiLFJnPSJJTlZBTElEIixNdT0iUEVORElORyIsa2g9IkRJU0FCTEVEIjtmdW5jdGlvbiBEUyhsKXtyZXR1cm4gQXJyYXkuaXNBcnJheShsKT9LXyhsKTpsfHxudWxsfWZ1bmN0aW9uIHhTKGwpe3JldHVybiBBcnJheS5pc0FycmF5KGwpP1hfKGwpOmx8fG51bGx9''@;'; put 'put ''ZnVuY3Rpb24gTmcobCl7cmV0dXJuIG51bGwhPWwmJiFBcnJheS5pc0FycmF5KGwpJiYib2JqZWN0Ij09dHlwZW9mIGx9ZnVuY3Rpb24gamgobCxjKXt2YXIgYSxkOyhmdW5jdGlvbiBpeShsLGMpe2NvbnN0IGE9ZnVuY3Rpb24gTVMobCl7cmV0dXJuIGwuX3Jhd1ZhbGlkYXRvcnN9KGwpO251''@;'; put 'put ''bGwhPT1jLnZhbGlkYXRvcj9sLnNldFZhbGlkYXRvcnMod1MoYSxjLnZhbGlkYXRvcikpOiJmdW5jdGlvbiI9PXR5cGVvZiBhJiZsLnNldFZhbGlkYXRvcnMoW2FdKTtjb25zdCBkPWZ1bmN0aW9uIENTKGwpe3JldHVybiBsLl9yYXdBc3luY1ZhbGlkYXRvcnN9KGwpO251bGwhPT1jLmFzeW5j''@;'; put 'put ''VmFsaWRhdG9yP2wuc2V0QXN5bmNWYWxpZGF0b3JzKHdTKGQsYy5hc3luY1ZhbGlkYXRvcikpOiJmdW5jdGlvbiI9PXR5cGVvZiBkJiZsLnNldEFzeW5jVmFsaWRhdG9ycyhbZF0pO2NvbnN0IGY9KCk9PmwudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO0hnKGMuX3Jhd1ZhbGlkYXRvcnMsZiks''@;'; put 'put ''SGcoYy5fcmF3QXN5bmNWYWxpZGF0b3JzLGYpfSkobCxjKSxjLnZhbHVlQWNjZXNzb3Iud3JpdGVWYWx1ZShsLnZhbHVlKSxsLmRpc2FibGVkJiYobnVsbD09PShkPShhPWMudmFsdWVBY2Nlc3Nvcikuc2V0RGlzYWJsZWRTdGF0ZSl8fHZvaWQgMD09PWR8fGQuY2FsbChhLCEwKSksZnVuY3Rp''@;'; put 'put ''b24gUk4obCxjKXtjLnZhbHVlQWNjZXNzb3IucmVnaXN0ZXJPbkNoYW5nZShhPT57bC5fcGVuZGluZ1ZhbHVlPWEsbC5fcGVuZGluZ0NoYW5nZT0hMCxsLl9wZW5kaW5nRGlydHk9ITAsImNoYW5nZSI9PT1sLnVwZGF0ZU9uJiZMUyhsLGMpfSl9KGwsYyksZnVuY3Rpb24gWU4obCxjKXtjb25z''@;'; put 'put ''dCBhPShkLGYpPT57Yy52YWx1ZUFjY2Vzc29yLndyaXRlVmFsdWUoZCksZiYmYy52aWV3VG9Nb2RlbFVwZGF0ZShkKX07bC5yZWdpc3Rlck9uQ2hhbmdlKGEpLGMuX3JlZ2lzdGVyT25EZXN0cm95KCgpPT57bC5fdW5yZWdpc3Rlck9uQ2hhbmdlKGEpfSl9KGwsYyksZnVuY3Rpb24gTk4obCxj''@;'; put 'put ''KXtjLnZhbHVlQWNjZXNzb3IucmVnaXN0ZXJPblRvdWNoZWQoKCk9PntsLl9wZW5kaW5nVG91Y2hlZD0hMCwiYmx1ciI9PT1sLnVwZGF0ZU9uJiZsLl9wZW5kaW5nQ2hhbmdlJiZMUyhsLGMpLCJzdWJtaXQiIT09bC51cGRhdGVPbiYmbC5tYXJrQXNUb3VjaGVkKCl9KX0obCxjKSxmdW5jdGlv''@;'; put 'put ''biBGTihsLGMpe2lmKGMudmFsdWVBY2Nlc3Nvci5zZXREaXNhYmxlZFN0YXRlKXtjb25zdCBhPWQ9PntjLnZhbHVlQWNjZXNzb3Iuc2V0RGlzYWJsZWRTdGF0ZShkKX07bC5yZWdpc3Rlck9uRGlzYWJsZWRDaGFuZ2UoYSksYy5fcmVnaXN0ZXJPbkRlc3Ryb3koKCk9PntsLl91bnJlZ2lzdGVy''@;'; put 'put ''T25EaXNhYmxlZENoYW5nZShhKX0pfX0obCxjKX1mdW5jdGlvbiBIZyhsLGMpe2wuZm9yRWFjaChhPT57YS5yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlJiZhLnJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoYyl9KX1mdW5jdGlvbiBMUyhsLGMpe2wuX3BlbmRpbmdEaXJ0eSYmbC5tYXJrQXNE''@;'; put 'put ''aXJ0eSgpLGwuc2V0VmFsdWUobC5fcGVuZGluZ1ZhbHVlLHtlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U6ITF9KSxjLnZpZXdUb01vZGVsVXBkYXRlKGwuX3BlbmRpbmdWYWx1ZSksbC5fcGVuZGluZ0NoYW5nZT0hMX1mdW5jdGlvbiBOUyhsLGMpe2NvbnN0IGE9bC5pbmRleE9mKGMpO2E+LTEmJmwu''@;'; put 'put ''c3BsaWNlKGEsMSl9ZnVuY3Rpb24gWVMobCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bCYmMj09PU9iamVjdC5rZXlzKGwpLmxlbmd0aCYmInZhbHVlImluIGwmJiJkaXNhYmxlZCJpbiBsfWNvbnN0IEdOPXtwcm92aWRlOkVvLHVzZUV4aXN0aW5nOkNuKCgpPT5fbyl9LEJT''@;'; put 'put ''PSgoKT0+UHJvbWlzZS5yZXNvbHZlKG51bGwpKSgpO2xldCBfbz0oKCk9PntjbGFzcyBsIGV4dGVuZHMgRW97Y29uc3RydWN0b3IoYSxkLGYsdix4KXtzdXBlcigpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPXgsdGhpcy5jb250cm9sPW5ldyBjbGFzcyBleHRlbmRzIGNsYXNzIFRTe2NvbnN0''@;'; put 'put ''cnVjdG9yKGMsYSl7dGhpcy5fcGVuZGluZ0RpcnR5PSExLHRoaXMuX2hhc093blBlbmRpbmdBc3luY1ZhbGlkYXRvcj0hMSx0aGlzLl9wZW5kaW5nVG91Y2hlZD0hMSx0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2U9KCk9Pnt9LHRoaXMuX3BhcmVudD1udWxsLHRoaXMucHJpc3RpbmU9ITAsdGhp''@;'; put 'put ''cy50b3VjaGVkPSExLHRoaXMuX29uRGlzYWJsZWRDaGFuZ2U9W10sdGhpcy5fcmF3VmFsaWRhdG9ycz1jLHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz1hLHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm49RFModGhpcy5fcmF3VmFsaWRhdG9ycyksdGhpcy5fY29tcG9zZWRBc3luY1ZhbGlkYXRv''@;'; put 'put ''ckZuPXhTKHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycyl9Z2V0IHZhbGlkYXRvcigpe3JldHVybiB0aGlzLl9jb21wb3NlZFZhbGlkYXRvckZufXNldCB2YWxpZGF0b3IoYyl7dGhpcy5fcmF3VmFsaWRhdG9ycz10aGlzLl9jb21wb3NlZFZhbGlkYXRvckZuPWN9Z2V0IGFzeW5jVmFsaWRhdG9y''@;'; put 'put ''KCl7cmV0dXJuIHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbn1zZXQgYXN5bmNWYWxpZGF0b3IoYyl7dGhpcy5fcmF3QXN5bmNWYWxpZGF0b3JzPXRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbj1jfWdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fWdldCB2YWxpZCgp''@;'; put 'put ''e3JldHVybiB0aGlzLnN0YXR1cz09PUNofWdldCBpbnZhbGlkKCl7cmV0dXJuIHRoaXMuc3RhdHVzPT09Umd9Z2V0IHBlbmRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0dXM9PU11fWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLnN0YXR1cz09PWtofWdldCBlbmFibGVkKCl7cmV0dXJuIHRoaXMu''@;'; put 'put ''c3RhdHVzIT09a2h9Z2V0IGRpcnR5KCl7cmV0dXJuIXRoaXMucHJpc3RpbmV9Z2V0IHVudG91Y2hlZCgpe3JldHVybiF0aGlzLnRvdWNoZWR9Z2V0IHVwZGF0ZU9uKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZU9uP3RoaXMuX3VwZGF0ZU9uOnRoaXMucGFyZW50P3RoaXMucGFyZW50LnVwZGF0ZU9u''@;'; put 'put ''OiJjaGFuZ2UifXNldFZhbGlkYXRvcnMoYyl7dGhpcy5fcmF3VmFsaWRhdG9ycz1jLHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm49RFMoYyl9c2V0QXN5bmNWYWxpZGF0b3JzKGMpe3RoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz1jLHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbj14Uyhj''@;'; put 'put ''KX1hZGRWYWxpZGF0b3JzKGMpe3RoaXMuc2V0VmFsaWRhdG9ycyhrUyhjLHRoaXMuX3Jhd1ZhbGlkYXRvcnMpKX1hZGRBc3luY1ZhbGlkYXRvcnMoYyl7dGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoa1MoYyx0aGlzLl9yYXdBc3luY1ZhbGlkYXRvcnMpKX1yZW1vdmVWYWxpZGF0b3JzKGMpe3Ro''@;'; put 'put ''aXMuc2V0VmFsaWRhdG9ycyhqUyhjLHRoaXMuX3Jhd1ZhbGlkYXRvcnMpKX1yZW1vdmVBc3luY1ZhbGlkYXRvcnMoYyl7dGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoalMoYyx0aGlzLl9yYXdBc3luY1ZhbGlkYXRvcnMpKX1oYXNWYWxpZGF0b3IoYyl7cmV0dXJuIElnKHRoaXMuX3Jhd1ZhbGlk''@;'; put 'put ''YXRvcnMsYyl9aGFzQXN5bmNWYWxpZGF0b3IoYyl7cmV0dXJuIElnKHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycyxjKX1jbGVhclZhbGlkYXRvcnMoKXt0aGlzLnZhbGlkYXRvcj1udWxsfWNsZWFyQXN5bmNWYWxpZGF0b3JzKCl7dGhpcy5hc3luY1ZhbGlkYXRvcj1udWxsfW1hcmtBc1RvdWNo''@;'; put 'put ''ZWQoYz17fSl7dGhpcy50b3VjaGVkPSEwLHRoaXMuX3BhcmVudCYmIWMub25seVNlbGYmJnRoaXMuX3BhcmVudC5tYXJrQXNUb3VjaGVkKGMpfW1hcmtBbGxBc1RvdWNoZWQoKXt0aGlzLm1hcmtBc1RvdWNoZWQoe29ubHlTZWxmOiEwfSksdGhpcy5fZm9yRWFjaENoaWxkKGM9PmMubWFya0Fs''@;'; put 'put ''bEFzVG91Y2hlZCgpKX1tYXJrQXNVbnRvdWNoZWQoYz17fSl7dGhpcy50b3VjaGVkPSExLHRoaXMuX3BlbmRpbmdUb3VjaGVkPSExLHRoaXMuX2ZvckVhY2hDaGlsZChhPT57YS5tYXJrQXNVbnRvdWNoZWQoe29ubHlTZWxmOiEwfSl9KSx0aGlzLl9wYXJlbnQmJiFjLm9ubHlTZWxmJiZ0aGlz''@;'; put 'put ''Ll9wYXJlbnQuX3VwZGF0ZVRvdWNoZWQoYyl9bWFya0FzRGlydHkoYz17fSl7dGhpcy5wcmlzdGluZT0hMSx0aGlzLl9wYXJlbnQmJiFjLm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQubWFya0FzRGlydHkoYyl9bWFya0FzUHJpc3RpbmUoYz17fSl7dGhpcy5wcmlzdGluZT0hMCx0aGlzLl9wZW5k''@;'; put 'put ''aW5nRGlydHk9ITEsdGhpcy5fZm9yRWFjaENoaWxkKGE9PnthLm1hcmtBc1ByaXN0aW5lKHtvbmx5U2VsZjohMH0pfSksdGhpcy5fcGFyZW50JiYhYy5vbmx5U2VsZiYmdGhpcy5fcGFyZW50Ll91cGRhdGVQcmlzdGluZShjKX1tYXJrQXNQZW5kaW5nKGM9e30pe3RoaXMuc3RhdHVzPU11LCEx''@;'; put 'put ''IT09Yy5lbWl0RXZlbnQmJnRoaXMuc3RhdHVzQ2hhbmdlcy5lbWl0KHRoaXMuc3RhdHVzKSx0aGlzLl9wYXJlbnQmJiFjLm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQubWFya0FzUGVuZGluZyhjKX1kaXNhYmxlKGM9e30pe2NvbnN0IGE9dGhpcy5fcGFyZW50TWFya2VkRGlydHkoYy5vbmx5U2Vs''@;'; put 'put ''Zik7dGhpcy5zdGF0dXM9a2gsdGhpcy5lcnJvcnM9bnVsbCx0aGlzLl9mb3JFYWNoQ2hpbGQoZD0+e2QuZGlzYWJsZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYykse29ubHlTZWxmOiEwfSkpfSksdGhpcy5fdXBkYXRlVmFsdWUoKSwhMSE9PWMuZW1pdEV2ZW50JiYodGhpcy52''@;'; put 'put ''YWx1ZUNoYW5nZXMuZW1pdCh0aGlzLnZhbHVlKSx0aGlzLnN0YXR1c0NoYW5nZXMuZW1pdCh0aGlzLnN0YXR1cykpLHRoaXMuX3VwZGF0ZUFuY2VzdG9ycyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYykse3NraXBQcmlzdGluZUNoZWNrOmF9KSksdGhpcy5fb25EaXNhYmxlZENo''@;'; put 'put ''YW5nZS5mb3JFYWNoKGQ9PmQoITApKX1lbmFibGUoYz17fSl7Y29uc3QgYT10aGlzLl9wYXJlbnRNYXJrZWREaXJ0eShjLm9ubHlTZWxmKTt0aGlzLnN0YXR1cz1DaCx0aGlzLl9mb3JFYWNoQ2hpbGQoZD0+e2QuZW5hYmxlKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxjKSx7b25s''@;'; put 'put ''eVNlbGY6ITB9KSl9KSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe29ubHlTZWxmOiEwLGVtaXRFdmVudDpjLmVtaXRFdmVudH0pLHRoaXMuX3VwZGF0ZUFuY2VzdG9ycyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYykse3NraXBQcmlzdGluZUNoZWNrOmF9KSksdGhpcy5f''@;'; put 'put ''b25EaXNhYmxlZENoYW5nZS5mb3JFYWNoKGQ9PmQoITEpKX1fdXBkYXRlQW5jZXN0b3JzKGMpe3RoaXMuX3BhcmVudCYmIWMub25seVNlbGYmJih0aGlzLl9wYXJlbnQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShjKSxjLnNraXBQcmlzdGluZUNoZWNrfHx0aGlzLl9wYXJlbnQuX3VwZGF0ZVBy''@;'; put 'put ''aXN0aW5lKCksdGhpcy5fcGFyZW50Ll91cGRhdGVUb3VjaGVkKCkpfXNldFBhcmVudChjKXt0aGlzLl9wYXJlbnQ9Y31nZXRSYXdWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoYz17fSl7dGhpcy5fc2V0SW5pdGlhbFN0YXR1cygpLHRoaXMuX3VwZGF0''@;'; put 'put ''ZVZhbHVlKCksdGhpcy5lbmFibGVkJiYodGhpcy5fY2FuY2VsRXhpc3RpbmdTdWJzY3JpcHRpb24oKSx0aGlzLmVycm9ycz10aGlzLl9ydW5WYWxpZGF0b3IoKSx0aGlzLnN0YXR1cz10aGlzLl9jYWxjdWxhdGVTdGF0dXMoKSwodGhpcy5zdGF0dXM9PT1DaHx8dGhpcy5zdGF0dXM9PT1NdSkm''@;'; put 'put ''JnRoaXMuX3J1bkFzeW5jVmFsaWRhdG9yKGMuZW1pdEV2ZW50KSksITEhPT1jLmVtaXRFdmVudCYmKHRoaXMudmFsdWVDaGFuZ2VzLmVtaXQodGhpcy52YWx1ZSksdGhpcy5zdGF0dXNDaGFuZ2VzLmVtaXQodGhpcy5zdGF0dXMpKSx0aGlzLl9wYXJlbnQmJiFjLm9ubHlTZWxmJiZ0aGlzLl9w''@;'; put 'put ''YXJlbnQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShjKX1fdXBkYXRlVHJlZVZhbGlkaXR5KGM9e2VtaXRFdmVudDohMH0pe3RoaXMuX2ZvckVhY2hDaGlsZChhPT5hLl91cGRhdGVUcmVlVmFsaWRpdHkoYykpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7b25seVNlbGY6ITAsZW1pdEV2''@;'; put 'put ''ZW50OmMuZW1pdEV2ZW50fSl9X3NldEluaXRpYWxTdGF0dXMoKXt0aGlzLnN0YXR1cz10aGlzLl9hbGxDb250cm9sc0Rpc2FibGVkKCk/a2g6Q2h9X3J1blZhbGlkYXRvcigpe3JldHVybiB0aGlzLnZhbGlkYXRvcj90aGlzLnZhbGlkYXRvcih0aGlzKTpudWxsfV9ydW5Bc3luY1ZhbGlkYXRv''@;'; put 'put ''cihjKXtpZih0aGlzLmFzeW5jVmFsaWRhdG9yKXt0aGlzLnN0YXR1cz1NdSx0aGlzLl9oYXNPd25QZW5kaW5nQXN5bmNWYWxpZGF0b3I9ITA7Y29uc3QgYT1nUyh0aGlzLmFzeW5jVmFsaWRhdG9yKHRoaXMpKTt0aGlzLl9hc3luY1ZhbGlkYXRpb25TdWJzY3JpcHRpb249YS5zdWJzY3JpYmUo''@;'; put 'put ''ZD0+e3RoaXMuX2hhc093blBlbmRpbmdBc3luY1ZhbGlkYXRvcj0hMSx0aGlzLnNldEVycm9ycyhkLHtlbWl0RXZlbnQ6Y30pfSl9fV9jYW5jZWxFeGlzdGluZ1N1YnNjcmlwdGlvbigpe3RoaXMuX2FzeW5jVmFsaWRhdGlvblN1YnNjcmlwdGlvbiYmKHRoaXMuX2FzeW5jVmFsaWRhdGlvblN1''@;'; put 'put ''YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX2hhc093blBlbmRpbmdBc3luY1ZhbGlkYXRvcj0hMSl9c2V0RXJyb3JzKGMsYT17fSl7dGhpcy5lcnJvcnM9Yyx0aGlzLl91cGRhdGVDb250cm9sc0Vycm9ycyghMSE9PWEuZW1pdEV2ZW50KX1nZXQoYyl7bGV0IGE9YztyZXR1cm4gbnVs''@;'; put 'put ''bD09YXx8KEFycmF5LmlzQXJyYXkoYSl8fChhPWEuc3BsaXQoIi4iKSksMD09PWEubGVuZ3RoKT9udWxsOmEucmVkdWNlKChkLGYpPT5kJiZkLl9maW5kKGYpLHRoaXMpfWdldEVycm9yKGMsYSl7Y29uc3QgZD1hP3RoaXMuZ2V0KGEpOnRoaXM7cmV0dXJuIGQmJmQuZXJyb3JzP2QuZXJyb3Jz''@;'; put 'put ''W2NdOm51bGx9aGFzRXJyb3IoYyxhKXtyZXR1cm4hIXRoaXMuZ2V0RXJyb3IoYyxhKX1nZXQgcm9vdCgpe2xldCBjPXRoaXM7Zm9yKDtjLl9wYXJlbnQ7KWM9Yy5fcGFyZW50O3JldHVybiBjfV91cGRhdGVDb250cm9sc0Vycm9ycyhjKXt0aGlzLnN0YXR1cz10aGlzLl9jYWxjdWxhdGVTdGF0''@;'; put 'put ''dXMoKSxjJiZ0aGlzLnN0YXR1c0NoYW5nZXMuZW1pdCh0aGlzLnN0YXR1cyksdGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQuX3VwZGF0ZUNvbnRyb2xzRXJyb3JzKGMpfV9pbml0T2JzZXJ2YWJsZXMoKXt0aGlzLnZhbHVlQ2hhbmdlcz1uZXcgSHQsdGhpcy5zdGF0dXNDaGFuZ2VzPW5ldyBI''@;'; put 'put ''dH1fY2FsY3VsYXRlU3RhdHVzKCl7cmV0dXJuIHRoaXMuX2FsbENvbnRyb2xzRGlzYWJsZWQoKT9raDp0aGlzLmVycm9ycz9SZzp0aGlzLl9oYXNPd25QZW5kaW5nQXN5bmNWYWxpZGF0b3J8fHRoaXMuX2FueUNvbnRyb2xzSGF2ZVN0YXR1cyhNdSk/TXU6dGhpcy5fYW55Q29udHJvbHNIYXZl''@;'; put 'put ''U3RhdHVzKFJnKT9SZzpDaH1fYW55Q29udHJvbHNIYXZlU3RhdHVzKGMpe3JldHVybiB0aGlzLl9hbnlDb250cm9scyhhPT5hLnN0YXR1cz09PWMpfV9hbnlDb250cm9sc0RpcnR5KCl7cmV0dXJuIHRoaXMuX2FueUNvbnRyb2xzKGM9PmMuZGlydHkpfV9hbnlDb250cm9sc1RvdWNoZWQoKXty''@;'; put 'put ''ZXR1cm4gdGhpcy5fYW55Q29udHJvbHMoYz0+Yy50b3VjaGVkKX1fdXBkYXRlUHJpc3RpbmUoYz17fSl7dGhpcy5wcmlzdGluZT0hdGhpcy5fYW55Q29udHJvbHNEaXJ0eSgpLHRoaXMuX3BhcmVudCYmIWMub25seVNlbGYmJnRoaXMuX3BhcmVudC5fdXBkYXRlUHJpc3RpbmUoYyl9X3VwZGF0''@;'; put 'put ''ZVRvdWNoZWQoYz17fSl7dGhpcy50b3VjaGVkPXRoaXMuX2FueUNvbnRyb2xzVG91Y2hlZCgpLHRoaXMuX3BhcmVudCYmIWMub25seVNlbGYmJnRoaXMuX3BhcmVudC5fdXBkYXRlVG91Y2hlZChjKX1fcmVnaXN0ZXJPbkNvbGxlY3Rpb25DaGFuZ2UoYyl7dGhpcy5fb25Db2xsZWN0aW9uQ2hh''@;'; put 'put ''bmdlPWN9X3NldFVwZGF0ZVN0cmF0ZWd5KGMpe05nKGMpJiZudWxsIT1jLnVwZGF0ZU9uJiYodGhpcy5fdXBkYXRlT249Yy51cGRhdGVPbil9X3BhcmVudE1hcmtlZERpcnR5KGMpe3JldHVybiFjJiYhKCF0aGlzLl9wYXJlbnR8fCF0aGlzLl9wYXJlbnQuZGlydHkpJiYhdGhpcy5fcGFyZW50''@;'; put 'put ''Ll9hbnlDb250cm9sc0RpcnR5KCl9X2ZpbmQoYyl7cmV0dXJuIG51bGx9fXtjb25zdHJ1Y3RvcihjPW51bGwsYSxkKXtzdXBlcihmdW5jdGlvbiBueShsKXtyZXR1cm4oTmcobCk/bC52YWxpZGF0b3JzOmwpfHxudWxsfShhKSxmdW5jdGlvbiByeShsLGMpe3JldHVybihOZyhjKT9jLmFzeW5j''@;'; put 'put ''VmFsaWRhdG9yczpsKXx8bnVsbH0oZCxhKSksdGhpcy5kZWZhdWx0VmFsdWU9bnVsbCx0aGlzLl9vbkNoYW5nZT1bXSx0aGlzLl9wZW5kaW5nQ2hhbmdlPSExLHRoaXMuX2FwcGx5Rm9ybVN0YXRlKGMpLHRoaXMuX3NldFVwZGF0ZVN0cmF0ZWd5KGEpLHRoaXMuX2luaXRPYnNlcnZhYmxlcygp''@;'; put 'put ''LHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7b25seVNlbGY6ITAsZW1pdEV2ZW50OiEhdGhpcy5hc3luY1ZhbGlkYXRvcn0pLE5nKGEpJiYoYS5ub25OdWxsYWJsZXx8YS5pbml0aWFsVmFsdWVJc0RlZmF1bHQpJiYodGhpcy5kZWZhdWx0VmFsdWU9WVMoYyk/Yy52YWx1ZTpjKX1zZXRW''@;'; put 'put ''YWx1ZShjLGE9e30pe3RoaXMudmFsdWU9dGhpcy5fcGVuZGluZ1ZhbHVlPWMsdGhpcy5fb25DaGFuZ2UubGVuZ3RoJiYhMSE9PWEuZW1pdE1vZGVsVG9WaWV3Q2hhbmdlJiZ0aGlzLl9vbkNoYW5nZS5mb3JFYWNoKGQ9PmQodGhpcy52YWx1ZSwhMSE9PWEuZW1pdFZpZXdUb01vZGVsQ2hhbmdl''@;'; put 'put ''KSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGEpfXBhdGNoVmFsdWUoYyxhPXt9KXt0aGlzLnNldFZhbHVlKGMsYSl9cmVzZXQoYz10aGlzLmRlZmF1bHRWYWx1ZSxhPXt9KXt0aGlzLl9hcHBseUZvcm1TdGF0ZShjKSx0aGlzLm1hcmtBc1ByaXN0aW5lKGEpLHRoaXMubWFya0FzVW50''@;'; put 'put ''b3VjaGVkKGEpLHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZSxhKSx0aGlzLl9wZW5kaW5nQ2hhbmdlPSExfV91cGRhdGVWYWx1ZSgpe31fYW55Q29udHJvbHMoYyl7cmV0dXJuITF9X2FsbENvbnRyb2xzRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZH1yZWdpc3Rlck9uQ2hhbmdlKGMp''@;'; put 'put ''e3RoaXMuX29uQ2hhbmdlLnB1c2goYyl9X3VucmVnaXN0ZXJPbkNoYW5nZShjKXtOUyh0aGlzLl9vbkNoYW5nZSxjKX1yZWdpc3Rlck9uRGlzYWJsZWRDaGFuZ2UoYyl7dGhpcy5fb25EaXNhYmxlZENoYW5nZS5wdXNoKGMpfV91bnJlZ2lzdGVyT25EaXNhYmxlZENoYW5nZShjKXtOUyh0aGlz''@;'; put 'put ''Ll9vbkRpc2FibGVkQ2hhbmdlLGMpfV9mb3JFYWNoQ2hpbGQoYyl7fV9zeW5jUGVuZGluZ0NvbnRyb2xzKCl7cmV0dXJuISgic3VibWl0IiE9PXRoaXMudXBkYXRlT258fCh0aGlzLl9wZW5kaW5nRGlydHkmJnRoaXMubWFya0FzRGlydHkoKSx0aGlzLl9wZW5kaW5nVG91Y2hlZCYmdGhpcy5t''@;'; put 'put ''YXJrQXNUb3VjaGVkKCksIXRoaXMuX3BlbmRpbmdDaGFuZ2UpfHwodGhpcy5zZXRWYWx1ZSh0aGlzLl9wZW5kaW5nVmFsdWUse29ubHlTZWxmOiEwLGVtaXRNb2RlbFRvVmlld0NoYW5nZTohMX0pLDApKX1fYXBwbHlGb3JtU3RhdGUoYyl7WVMoYyk/KHRoaXMudmFsdWU9dGhpcy5fcGVuZGlu''@;'; put 'put ''Z1ZhbHVlPWMudmFsdWUsYy5kaXNhYmxlZD90aGlzLmRpc2FibGUoe29ubHlTZWxmOiEwLGVtaXRFdmVudDohMX0pOnRoaXMuZW5hYmxlKHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ITF9KSk6dGhpcy52YWx1ZT10aGlzLl9wZW5kaW5nVmFsdWU9Y319LHRoaXMuX3JlZ2lzdGVyZWQ9ITEsdGhp''@;'; put 'put ''cy51cGRhdGU9bmV3IEh0LHRoaXMuX3BhcmVudD1hLHRoaXMuX3NldFZhbGlkYXRvcnMoZCksdGhpcy5fc2V0QXN5bmNWYWxpZGF0b3JzKGYpLHRoaXMudmFsdWVBY2Nlc3Nvcj1mdW5jdGlvbiBzeShsLGMpe2lmKCFjKXJldHVybiBudWxsO2xldCBhLGQsZjtyZXR1cm4gQXJyYXkuaXNBcnJh''@;'; put 'put ''eShjKSxjLmZvckVhY2godj0+e3YuY29uc3RydWN0b3I9PT1rYT9hPXY6ZnVuY3Rpb24gSE4obCl7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihsLmNvbnN0cnVjdG9yKT09PVdsfSh2KT9kPXY6Zj12fSksZnx8ZHx8YXx8bnVsbH0oMCx2KX1uZ09uQ2hhbmdlcyhhKXtpZih0aGlzLl9j''@;'; put 'put ''aGVja0ZvckVycm9ycygpLCF0aGlzLl9yZWdpc3RlcmVkfHwibmFtZSJpbiBhKXtpZih0aGlzLl9yZWdpc3RlcmVkJiYodGhpcy5fY2hlY2tOYW1lKCksdGhpcy5mb3JtRGlyZWN0aXZlKSl7Y29uc3QgZD1hLm5hbWUucHJldmlvdXNWYWx1ZTt0aGlzLmZvcm1EaXJlY3RpdmUucmVtb3ZlQ29u''@;'; put 'put ''dHJvbCh7bmFtZTpkLHBhdGg6dGhpcy5fZ2V0UGF0aChkKX0pfXRoaXMuX3NldFVwQ29udHJvbCgpfSJpc0Rpc2FibGVkImluIGEmJnRoaXMuX3VwZGF0ZURpc2FibGVkKGEpLGZ1bmN0aW9uIG95KGwsYyl7aWYoIWwuaGFzT3duUHJvcGVydHkoIm1vZGVsIikpcmV0dXJuITE7Y29uc3QgYT1s''@;'; put 'put ''Lm1vZGVsO3JldHVybiEhYS5pc0ZpcnN0Q2hhbmdlKCl8fCFPYmplY3QuaXMoYyxhLmN1cnJlbnRWYWx1ZSl9KGEsdGhpcy52aWV3TW9kZWwpJiYodGhpcy5fdXBkYXRlVmFsdWUodGhpcy5tb2RlbCksdGhpcy52aWV3TW9kZWw9dGhpcy5tb2RlbCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1E''@;'; put 'put ''aXJlY3RpdmUmJnRoaXMuZm9ybURpcmVjdGl2ZS5yZW1vdmVDb250cm9sKHRoaXMpfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuX2dldFBhdGgodGhpcy5uYW1lKX1nZXQgZm9ybURpcmVjdGl2ZSgpe3JldHVybiB0aGlzLl9wYXJlbnQ/dGhpcy5fcGFyZW50LmZvcm1EaXJlY3RpdmU6bnVsbH12''@;'; put 'put ''aWV3VG9Nb2RlbFVwZGF0ZShhKXt0aGlzLnZpZXdNb2RlbD1hLHRoaXMudXBkYXRlLmVtaXQoYSl9X3NldFVwQ29udHJvbCgpe3RoaXMuX3NldFVwZGF0ZVN0cmF0ZWd5KCksdGhpcy5faXNTdGFuZGFsb25lKCk/dGhpcy5fc2V0VXBTdGFuZGFsb25lKCk6dGhpcy5mb3JtRGlyZWN0aXZlLmFk''@;'; put 'put ''ZENvbnRyb2wodGhpcyksdGhpcy5fcmVnaXN0ZXJlZD0hMH1fc2V0VXBkYXRlU3RyYXRlZ3koKXt0aGlzLm9wdGlvbnMmJm51bGwhPXRoaXMub3B0aW9ucy51cGRhdGVPbiYmKHRoaXMuY29udHJvbC5fdXBkYXRlT249dGhpcy5vcHRpb25zLnVwZGF0ZU9uKX1faXNTdGFuZGFsb25lKCl7cmV0''@;'; put 'put ''dXJuIXRoaXMuX3BhcmVudHx8ISghdGhpcy5vcHRpb25zfHwhdGhpcy5vcHRpb25zLnN0YW5kYWxvbmUpfV9zZXRVcFN0YW5kYWxvbmUoKXtqaCh0aGlzLmNvbnRyb2wsdGhpcyksdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfV9jaGVja0ZvckVy''@;'; put 'put ''cm9ycygpe3RoaXMuX2lzU3RhbmRhbG9uZSgpfHx0aGlzLl9jaGVja1BhcmVudFR5cGUoKSx0aGlzLl9jaGVja05hbWUoKX1fY2hlY2tQYXJlbnRUeXBlKCl7fV9jaGVja05hbWUoKXt0aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5uYW1lJiYodGhpcy5uYW1lPXRoaXMub3B0aW9ucy5uYW1l''@;'; put 'put ''KSx0aGlzLl9pc1N0YW5kYWxvbmUoKX1fdXBkYXRlVmFsdWUoYSl7QlMudGhlbigoKT0+e3ZhciBkO3RoaXMuY29udHJvbC5zZXRWYWx1ZShhLHtlbWl0Vmlld1RvTW9kZWxDaGFuZ2U6ITF9KSxudWxsPT09KGQ9dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYpfHx2b2lkIDA9PT1kfHxkLm1hcmtG''@;'; put 'put ''b3JDaGVjaygpfSl9X3VwZGF0ZURpc2FibGVkKGEpe2NvbnN0IGQ9YS5pc0Rpc2FibGVkLmN1cnJlbnRWYWx1ZSxmPTAhPT1kJiZtYShkKTtCUy50aGVuKCgpPT57dmFyIHY7ZiYmIXRoaXMuY29udHJvbC5kaXNhYmxlZD90aGlzLmNvbnRyb2wuZGlzYWJsZSgpOiFmJiZ0aGlzLmNvbnRyb2wu''@;'; put 'put ''ZGlzYWJsZWQmJnRoaXMuY29udHJvbC5lbmFibGUoKSxudWxsPT09KHY9dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYpfHx2b2lkIDA9PT12fHx2Lm1hcmtGb3JDaGVjaygpfSl9X2dldFBhdGgoYSl7cmV0dXJuIHRoaXMuX3BhcmVudD9mdW5jdGlvbiB6ZyhsLGMpe3JldHVyblsuLi5jLnBhdGgs''@;'; put 'put ''bF19KGEsdGhpcy5fcGFyZW50KTpbYV19fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKHJvLDkpLG1lKFZpLDEwKSxtZShhbCwxMCksbWUoWnMsMTApLG1lKHhpLDgpKX0sbC5cdTAyNzVkaXI9VHQoe3R5cGU6bCxzZWxlY3RvcnM6W1siIiwibmdN''@;'; put 'put ''b2RlbCIsIiIsMywiZm9ybUNvbnRyb2xOYW1lIiwiIiwzLCJmb3JtQ29udHJvbCIsIiJdXSxpbnB1dHM6e25hbWU6Im5hbWUiLGlzRGlzYWJsZWQ6WyJkaXNhYmxlZCIsImlzRGlzYWJsZWQiXSxtb2RlbDpbIm5nTW9kZWwiLCJtb2RlbCJdLG9wdGlvbnM6WyJuZ01vZGVsT3B0aW9ucyIsIm9w''@;'; put 'put ''dGlvbnMiXX0sb3V0cHV0czp7dXBkYXRlOiJuZ01vZGVsQ2hhbmdlIn0sZXhwb3J0QXM6WyJuZ01vZGVsIl0sZmVhdHVyZXM6W2RuKFtHTl0pLHluLHVpXX0pLGx9KSgpLEhTPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxs''@;'; put 'put ''Llx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe30pLGx9KSgpO2NvbnN0IGlZPXtwcm92aWRlOlpzLHVzZUV4aXN0aW5nOkNuKCgpPT5DdSksbXVsdGk6ITB9O2Z1bmN0aW9uIFpTKGwsYyl7cmV0dXJuIG51bGw9PWw/YCR7Y31gOihjJiYib2JqZWN0Ij09dHlwZW9mIGMm''@;'; put 'put ''JihjPSJPYmplY3QiKSxgJHtsfTogJHtjfWAuc2xpY2UoMCw1MCkpfWxldCBDdT0oKCk9PntjbGFzcyBsIGV4dGVuZHMgV2x7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29wdGlvbk1hcD1uZXcgTWFwLHRoaXMuX2lkQ291bnRlcj0wLHRoaXMuX2NvbXBhcmVXaXRo''@;'; put 'put ''PU9iamVjdC5pc31zZXQgY29tcGFyZVdpdGgoYSl7dGhpcy5fY29tcGFyZVdpdGg9YX13cml0ZVZhbHVlKGEpe3RoaXMudmFsdWU9YTtjb25zdCBmPVpTKHRoaXMuX2dldE9wdGlvbklkKGEpLGEpO3RoaXMuc2V0UHJvcGVydHkoInZhbHVlIixmKX1yZWdpc3Rlck9uQ2hhbmdlKGEpe3RoaXMu''@;'; put 'put ''b25DaGFuZ2U9ZD0+e3RoaXMudmFsdWU9dGhpcy5fZ2V0T3B0aW9uVmFsdWUoZCksYSh0aGlzLnZhbHVlKX19X3JlZ2lzdGVyT3B0aW9uKCl7cmV0dXJuKHRoaXMuX2lkQ291bnRlcisrKS50b1N0cmluZygpfV9nZXRPcHRpb25JZChhKXtmb3IoY29uc3QgZCBvZiBBcnJheS5mcm9tKHRoaXMu''@;'; put 'put ''X29wdGlvbk1hcC5rZXlzKCkpKWlmKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoZCksYSkpcmV0dXJuIGQ7cmV0dXJuIG51bGx9X2dldE9wdGlvblZhbHVlKGEpe2NvbnN0IGQ9ZnVuY3Rpb24gb1kobCl7cmV0dXJuIGwuc3BsaXQoIjoiKVswXX0oYSk7cmV0dXJuIHRo''@;'; put 'put ''aXMuX29wdGlvbk1hcC5oYXMoZCk/dGhpcy5fb3B0aW9uTWFwLmdldChkKTphfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oKXtsZXQgYztyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuKGN8fChjPSRuKGwpKSkoZHx8bCl9fSgpLGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3Jz''@;'; put 'put ''OltbInNlbGVjdCIsImZvcm1Db250cm9sTmFtZSIsIiIsMywibXVsdGlwbGUiLCIiXSxbInNlbGVjdCIsImZvcm1Db250cm9sIiwiIiwzLCJtdWx0aXBsZSIsIiJdLFsic2VsZWN0IiwibmdNb2RlbCIsIiIsMywibXVsdGlwbGUiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZh''@;'; put 'put ''JiZPdCgiY2hhbmdlIixmdW5jdGlvbih2KXtyZXR1cm4gZC5vbkNoYW5nZSh2LnRhcmdldC52YWx1ZSl9KSgiYmx1ciIsZnVuY3Rpb24oKXtyZXR1cm4gZC5vblRvdWNoZWQoKX0pfSxpbnB1dHM6e2NvbXBhcmVXaXRoOiJjb21wYXJlV2l0aCJ9LGZlYXR1cmVzOltkbihbaVldKSx5bl19KSxs''@;'; put 'put ''fSkoKSxoeT0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmKXt0aGlzLl9lbGVtZW50PWEsdGhpcy5fcmVuZGVyZXI9ZCx0aGlzLl9zZWxlY3Q9Zix0aGlzLl9zZWxlY3QmJih0aGlzLmlkPXRoaXMuX3NlbGVjdC5fcmVnaXN0ZXJPcHRpb24oKSl9c2V0IG5nVmFsdWUoYSl7bnVsbCE9''@;'; put 'put ''dGhpcy5fc2VsZWN0JiYodGhpcy5fc2VsZWN0Ll9vcHRpb25NYXAuc2V0KHRoaXMuaWQsYSksdGhpcy5fc2V0RWxlbWVudFZhbHVlKFpTKHRoaXMuaWQsYSkpLHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSkpfXNldCB2YWx1ZShhKXt0aGlzLl9zZXRFbGVtZW50''@;'; put 'put ''VmFsdWUoYSksdGhpcy5fc2VsZWN0JiZ0aGlzLl9zZWxlY3Qud3JpdGVWYWx1ZSh0aGlzLl9zZWxlY3QudmFsdWUpfV9zZXRFbGVtZW50VmFsdWUoYSl7dGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCJ2YWx1ZSIsYSl9bmdPbkRlc3Ryb3ko''@;'; put 'put ''KXt0aGlzLl9zZWxlY3QmJih0aGlzLl9zZWxlY3QuX29wdGlvbk1hcC5kZWxldGUodGhpcy5pZCksdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKGhuKSxtZShXbiks''@;'; put 'put ''bWUoQ3UsOSkpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJvcHRpb24iXV0saW5wdXRzOntuZ1ZhbHVlOiJuZ1ZhbHVlIix2YWx1ZToidmFsdWUifX0pLGx9KSgpO2NvbnN0IHNZPXtwcm92aWRlOlpzLHVzZUV4aXN0aW5nOkNuKCgpPT5meSksbXVsdGk6ITB9O2Z1bmN0''@;'; put 'put ''aW9uIEpTKGwsYyl7cmV0dXJuIG51bGw9PWw/YCR7Y31gOigic3RyaW5nIj09dHlwZW9mIGMmJihjPWAnJHtjfSdgKSxjJiYib2JqZWN0Ij09dHlwZW9mIGMmJihjPSJPYmplY3QiKSxgJHtsfTogJHtjfWAuc2xpY2UoMCw1MCkpfWxldCBmeT0oKCk9PntjbGFzcyBsIGV4dGVuZHMgV2x7Y29u''@;'; put 'put ''c3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29wdGlvbk1hcD1uZXcgTWFwLHRoaXMuX2lkQ291bnRlcj0wLHRoaXMuX2NvbXBhcmVXaXRoPU9iamVjdC5pc31zZXQgY29tcGFyZVdpdGgoYSl7dGhpcy5fY29tcGFyZVdpdGg9YX13cml0ZVZhbHVlKGEpe2xldCBkO2lmKHRo''@;'; put 'put ''aXMudmFsdWU9YSxBcnJheS5pc0FycmF5KGEpKXtjb25zdCBmPWEubWFwKHY9PnRoaXMuX2dldE9wdGlvbklkKHYpKTtkPSh2LHgpPT57di5fc2V0U2VsZWN0ZWQoZi5pbmRleE9mKHgudG9TdHJpbmcoKSk+LTEpfX1lbHNlIGQ9KGYsdik9PntmLl9zZXRTZWxlY3RlZCghMSl9O3RoaXMuX29w''@;'; put 'put ''dGlvbk1hcC5mb3JFYWNoKGQpfXJlZ2lzdGVyT25DaGFuZ2UoYSl7dGhpcy5vbkNoYW5nZT1kPT57Y29uc3QgZj1bXSx2PWQuc2VsZWN0ZWRPcHRpb25zO2lmKHZvaWQgMCE9PXYpe2NvbnN0IHg9djtmb3IobGV0IEg9MDtIPHgubGVuZ3RoO0grKyl7Y29uc3QgZWU9dGhpcy5fZ2V0T3B0aW9u''@;'; put 'put ''VmFsdWUoeFtIXS52YWx1ZSk7Zi5wdXNoKGVlKX19ZWxzZXtjb25zdCB4PWQub3B0aW9ucztmb3IobGV0IEg9MDtIPHgubGVuZ3RoO0grKyl7Y29uc3QgSz14W0hdO2lmKEsuc2VsZWN0ZWQpe2NvbnN0IGVlPXRoaXMuX2dldE9wdGlvblZhbHVlKEsudmFsdWUpO2YucHVzaChlZSl9fX10aGlz''@;'; put 'put ''LnZhbHVlPWYsYShmKX19X3JlZ2lzdGVyT3B0aW9uKGEpe2NvbnN0IGQ9KHRoaXMuX2lkQ291bnRlcisrKS50b1N0cmluZygpO3JldHVybiB0aGlzLl9vcHRpb25NYXAuc2V0KGQsYSksZH1fZ2V0T3B0aW9uSWQoYSl7Zm9yKGNvbnN0IGQgb2YgQXJyYXkuZnJvbSh0aGlzLl9vcHRpb25NYXAu''@;'; put 'put ''a2V5cygpKSlpZih0aGlzLl9jb21wYXJlV2l0aCh0aGlzLl9vcHRpb25NYXAuZ2V0KGQpLl92YWx1ZSxhKSlyZXR1cm4gZDtyZXR1cm4gbnVsbH1fZ2V0T3B0aW9uVmFsdWUoYSl7Y29uc3QgZD1mdW5jdGlvbiBhWShsKXtyZXR1cm4gbC5zcGxpdCgiOiIpWzBdfShhKTtyZXR1cm4gdGhpcy5f''@;'; put 'put ''b3B0aW9uTWFwLmhhcyhkKT90aGlzLl9vcHRpb25NYXAuZ2V0KGQpLl92YWx1ZTphfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oKXtsZXQgYztyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuKGN8fChjPSRuKGwpKSkoZHx8bCl9fSgpLGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0''@;'; put 'put ''b3JzOltbInNlbGVjdCIsIm11bHRpcGxlIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJzZWxlY3QiLCJtdWx0aXBsZSIsIiIsImZvcm1Db250cm9sIiwiIl0sWyJzZWxlY3QiLCJtdWx0aXBsZSIsIiIsIm5nTW9kZWwiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZP''@;'; put 'put ''dCgiY2hhbmdlIixmdW5jdGlvbih2KXtyZXR1cm4gZC5vbkNoYW5nZSh2LnRhcmdldCl9KSgiYmx1ciIsZnVuY3Rpb24oKXtyZXR1cm4gZC5vblRvdWNoZWQoKX0pfSxpbnB1dHM6e2NvbXBhcmVXaXRoOiJjb21wYXJlV2l0aCJ9LGZlYXR1cmVzOltkbihbc1ldKSx5bl19KSxsfSkoKSxweT0o''@;'; put 'put ''KCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmKXt0aGlzLl9lbGVtZW50PWEsdGhpcy5fcmVuZGVyZXI9ZCx0aGlzLl9zZWxlY3Q9Zix0aGlzLl9zZWxlY3QmJih0aGlzLmlkPXRoaXMuX3NlbGVjdC5fcmVnaXN0ZXJPcHRpb24odGhpcykpfXNldCBuZ1ZhbHVlKGEpe251bGwhPXRoaXMu''@;'; put 'put ''X3NlbGVjdCYmKHRoaXMuX3ZhbHVlPWEsdGhpcy5fc2V0RWxlbWVudFZhbHVlKEpTKHRoaXMuaWQsYSkpLHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSkpfXNldCB2YWx1ZShhKXt0aGlzLl9zZWxlY3Q/KHRoaXMuX3ZhbHVlPWEsdGhpcy5fc2V0RWxlbWVudFZh''@;'; put 'put ''bHVlKEpTKHRoaXMuaWQsYSkpLHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSkpOnRoaXMuX3NldEVsZW1lbnRWYWx1ZShhKX1fc2V0RWxlbWVudFZhbHVlKGEpe3RoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwi''@;'; put 'put ''dmFsdWUiLGEpfV9zZXRTZWxlY3RlZChhKXt0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsInNlbGVjdGVkIixhKX1uZ09uRGVzdHJveSgpe3RoaXMuX3NlbGVjdCYmKHRoaXMuX3NlbGVjdC5fb3B0aW9uTWFwLmRlbGV0ZSh0aGlzLmlkKSx0''@;'; put 'put ''aGlzLl9zZWxlY3Qud3JpdGVWYWx1ZSh0aGlzLl9zZWxlY3QudmFsdWUpKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoaG4pLG1lKFduKSxtZShmeSw5KSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIm9wdGlvbiJdXSxp''@;'; put 'put ''bnB1dHM6e25nVmFsdWU6Im5nVmFsdWUiLHZhbHVlOiJ2YWx1ZSJ9fSksbH0pKCkscWw9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX3ZhbGlkYXRvcj1MZ31uZ09uQ2hhbmdlcyhhKXtpZih0aGlzLmlucHV0TmFtZSBpbiBhKXtjb25zdCBkPXRoaXMubm9ybWFsaXplSW5wdXQo''@;'; put 'put ''YVt0aGlzLmlucHV0TmFtZV0uY3VycmVudFZhbHVlKTt0aGlzLl9lbmFibGVkPXRoaXMuZW5hYmxlZChkKSx0aGlzLl92YWxpZGF0b3I9dGhpcy5fZW5hYmxlZD90aGlzLmNyZWF0ZVZhbGlkYXRvcihkKTpMZyx0aGlzLl9vbkNoYW5nZSYmdGhpcy5fb25DaGFuZ2UoKX19dmFsaWRhdGUoYSl7''@;'; put 'put ''cmV0dXJuIHRoaXMuX3ZhbGlkYXRvcihhKX1yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGEpe3RoaXMuX29uQ2hhbmdlPWF9ZW5hYmxlZChhKXtyZXR1cm4gbnVsbCE9YX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1ZGlyPVR0KHt0''@;'; put 'put ''eXBlOmwsZmVhdHVyZXM6W3VpXX0pLGx9KSgpO2NvbnN0IHVZPXtwcm92aWRlOlZpLHVzZUV4aXN0aW5nOkNuKCgpPT5HZyksbXVsdGk6ITB9O2xldCBHZz0oKCk9PntjbGFzcyBsIGV4dGVuZHMgcWx7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuaW5wdXROYW1lPSJy''@;'; put 'put ''ZXF1aXJlZCIsdGhpcy5ub3JtYWxpemVJbnB1dD1tYSx0aGlzLmNyZWF0ZVZhbGlkYXRvcj1hPT5sU31lbmFibGVkKGEpe3JldHVybiBhfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oKXtsZXQgYztyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuKGN8fChjPSRuKGwpKSkoZHx8bCl9fSgp''@;'; put 'put ''LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXSxbIiIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2wiLCIiLDMsInR5cGUiLCJjaGVja2JveCJdLFsiIiwicmVxdWlyZWQi''@;'; put 'put ''LCIiLCJuZ01vZGVsIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXV0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsyJmEmJmp0KCJyZXF1aXJlZCIsZC5fZW5hYmxlZD8iIjpudWxsKX0saW5wdXRzOntyZXF1aXJlZDoicmVxdWlyZWQifSxmZWF0dXJlczpbZG4oW3VZXSks''@;'; put 'put ''eW5dfSksbH0pKCksbVk9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbSFNdfSksbH0pKCksamE9KCgpPT57Y2xhc3MgbHt9cmV0dXJu''@;'; put 'put ''IGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbbVldfSksbH0pKCk7ZnVuY3Rpb24gdlkobCxjKXsxJmwmJih6ZSgwLCJzcGFuIiw1KSxGdCgxLCIgTG9hZGluZy4uLiAiKSxZ''@;'; put 'put ''ZSgpKX1mdW5jdGlvbiBfWShsLGMpezEmbCYmKHplKDAsIm9wdGlvbiIsMTEpLEZ0KDEsIiBTZWxlY3QgZnJvbSBkcm9wZG93biAiKSxZZSgpKSwyJmwmJkJlKCJ2YWx1ZSIsdm9pZCAwKX1mdW5jdGlvbiB5WShsLGMpe2lmKDEmbCYmKHplKDAsIm9wdGlvbiIsMTEpLEZ0KDEpLFllKCkpLDIm''@;'; put 'put ''bCl7Y29uc3QgYT1jLiRpbXBsaWNpdDtCZSgidmFsdWUiLGEuQVJFQSksVGUoMSksR3IoIiAiLGEuQVJFQSwiICIpfX1mdW5jdGlvbiB3WShsLGMpe2lmKDEmbCl7Y29uc3QgYT1SbigpO3plKDAsImRpdiIsNikoMSwic2VsZWN0Iiw3KSxPdCgibmdNb2RlbENoYW5nZSIsZnVuY3Rpb24oZil7''@;'; put 'put ''cmV0dXJuIGNuKGEpLHVuKGh0KCkuc2VsZWN0ZWRBcmVhPWYpfSksY3QoMixfWSwyLDEsIm9wdGlvbiIsOCksY3QoMyx5WSwyLDIsIm9wdGlvbiIsOSksWWUoKSx6ZSg0LCJidXR0b24iLDEwKSxPdCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGNuKGEpLHVuKGh0KCkuc3VibWl0RGF0YSgp''@;'; put 'put ''KX0pLEZ0KDUsIiBTVUJNSVQgIiksWWUoKSgpfWlmKDImbCl7Y29uc3QgYT1odCgpO1RlKDEpLEJlKCJuZ01vZGVsIixhLnNlbGVjdGVkQXJlYSksVGUoMSksQmUoIm5nSWYiLHZvaWQgMD09PWEuc2VsZWN0ZWRBcmVhKSxUZSgxKSxCZSgibmdGb3JPZiIsYS5hcmVhcyksVGUoMSksQmUoImRp''@;'; put 'put ''c2FibGVkIiwhYS5zZWxlY3RlZEFyZWF8fGEuc3ByaW5nc0xvYWRpbmcpfX1mdW5jdGlvbiBNWShsLGMpezEmbCYmKHplKDAsInNwYW4iLDUpLEZ0KDEsIiBMb2FkaW5nLi4uICIpLFllKCkpfWZ1bmN0aW9uIENZKGwsYyl7MSZsJiYoemUoMCwicCIpLEZ0KDEsIk5vIERhdGEgaW4gUmVzcG9u''@;'; put 'put ''c2UiKSxZZSgpKX1mdW5jdGlvbiBrWShsLGMpe2lmKDEmbCYmKHplKDAsInRyIikoMSwidGQiKSxGdCgyKSxZZSgpLHplKDMsInRkIiksRnQoNCksWWUoKSx6ZSg1LCJ0ZCIpLEZ0KDYpLFllKCksemUoNywidGQiKSxGdCg4KSxZZSgpLHplKDksInRkIiksRnQoMTApLFllKCksemUoMTEsInRk''@;'; put 'put ''IiksRnQoMTIpLFllKCksemUoMTMsInRkIiksRnQoMTQpLFllKCkoKSksMiZsKXtjb25zdCBhPWMuJGltcGxpY2l0O1RlKDIpLExuKGEuTEFUSVRVREUpLFRlKDIpLExuKGEuTE9OR0lUVURFKSxUZSgyKSxMbihhLk5BTUUpLFRlKDIpLExuKGEuQVJFQSksVGUoMiksTG4oYS5UWVBFKSxUZSgy''@;'; put 'put ''KSxMbihhLkZBUkVOSEVJVCksVGUoMiksTG4oYS5DRUxTSVVTKX19ZnVuY3Rpb24galkobCxjKXtpZigxJmwmJih6ZSgwLCJ0YWJsZSIsMTIpKDEsInRoZWFkIikoMiwidHIiKSgzLCJ0aCIpLEZ0KDQsIkxBVElUVURFIiksWWUoKSx6ZSg1LCJ0aCIpLEZ0KDYsIkxPTkdJVFVERSIpLFllKCks''@;'; put 'put ''emUoNywidGgiKSxGdCg4LCJOQU1FIiksWWUoKSx6ZSg5LCJ0aCIpLEZ0KDEwLCJBUkVBIiksWWUoKSx6ZSgxMSwidGgiKSxGdCgxMiwiVFlQRSIpLFllKCksemUoMTMsInRoIiksRnQoMTQsIkZBUkVOSEVJVCIpLFllKCksemUoMTUsInRoIiksRnQoMTYsIkNFTFNJVVMiKSxZZSgpKCkoKSx6''@;'; put 'put ''ZSgxNywidGJvZHkiKSxjdCgxOCxrWSwxNSw3LCJ0ciIsMTMpLFllKCkoKSksMiZsKXtjb25zdCBhPWh0KCk7VGUoMTgpLEJlKCJuZ0Zvck9mIixhLnNwcmluZ3MpfX1sZXQgU1k9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQpe3RoaXMuc3RhdGVTZXJ2aWNlPWEsdGhpcy5zYXNTZXJ2''@;'; put 'put ''aWNlPWQsdGhpcy5hcmVhcz1bXSx0aGlzLnNlbGVjdGVkQXJlYT1udWxsLHRoaXMuc3ByaW5ncz1bXSx0aGlzLnNwcmluZ3NMb2FkaW5nPSExLHRoaXMubm9EYXRhPSExLHRoaXMuZGlzcGxheWVkQ29sdW1ucz1bIkxBVElUVURFIiwiTE9OR0lUVURFIiwiTkFNRSIsIkFSRUEiLCJUWVBFIiwi''@;'; put 'put ''RkFSRU5IRUlUIiwiQ0VMU0lVUyJdfW5nT25Jbml0KCl7dGhpcy5zdGF0ZVNlcnZpY2Uuc3RhcnR1cERhdGEuc3Vic2NyaWJlKGE9Pnt0aGlzLmFyZWFzPWEuYXJlYXN9KX1zdWJtaXREYXRhKCl7dGhpcy5zcHJpbmdzTG9hZGluZz0hMCx0aGlzLnNhc1NlcnZpY2UucmVxdWVzdCgiY29tbW9u''@;'; put 'put ''L2dldGRhdGEiLHthcmVhczpbe2FyZWE6dGhpcy5zZWxlY3RlZEFyZWF9XX0pLnRoZW4oZD0+e3ZhciBmO3RoaXMuc3ByaW5ncz1kLnNwcmluZ3MsdGhpcy5zcHJpbmdzTG9hZGluZz0hMSx0aGlzLm5vRGF0YT0hZHx8IWQuc3ByaW5nc3x8KG51bGw9PT0oZj1kLnNwcmluZyl8fHZvaWQgMD09''@;'; put 'put ''PWY/dm9pZCAwOmYubGVuZ3RoKTwxfSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKEpfKSxtZShUZykpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJhcHAtZGF0YSJdXSxkZWNsczo2LHZhcnM6NSxjb25zdHM6W1sxLCJk''@;'; put 'put ''YXRhLXBhZ2UiXSxbImNsYXNzIiwic3Bpbm5lciBzcGlubmVyLW1kIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImFyZWFzLXNlbGVjdC13cmFwcGVyIiw0LCJuZ0lmIl0sWzQsIm5nSWYiXSxbImNsYXNzIiwidGFibGUiLDQsIm5nSWYiXSxbMSwic3Bpbm5lciIsInNwaW5uZXItbWQiXSxbMSwiYXJl''@;'; put 'put ''YXMtc2VsZWN0LXdyYXBwZXIiXSxbImNsclNlbGVjdCIsIiIsIm5hbWUiLCJvcHRpb25zIiwzLCJuZ01vZGVsIiwibmdNb2RlbENoYW5nZSJdLFszLCJ2YWx1ZSIsNCwibmdJZiJdLFszLCJ2YWx1ZSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImJ0biIsImJ0bi1wcmltYXJ5IiwzLCJkaXNh''@;'; put 'put ''YmxlZCIsImNsaWNrIl0sWzMsInZhbHVlIl0sWzEsInRhYmxlIl0sWzQsIm5nRm9yIiwibmdGb3JPZiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHplKDAsImRpdiIsMCksY3QoMSx2WSwyLDAsInNwYW4iLDEpLGN0KDIsd1ksNiw0LCJkaXYiLDIpLGN0KDMsTVksMiwwLCJzcGFu''@;'; put 'put ''IiwxKSxjdCg0LENZLDIsMCwicCIsMyksY3QoNSxqWSwxOSwxLCJ0YWJsZSIsNCksWWUoKSksMiZhJiYoVGUoMSksQmUoIm5nSWYiLChudWxsPT1kLmFyZWFzP251bGw6ZC5hcmVhcy5sZW5ndGgpPDEpLFRlKDEpLEJlKCJuZ0lmIiwobnVsbD09ZC5hcmVhcz9udWxsOmQuYXJlYXMubGVuZ3Ro''@;'; put 'put ''KT4wKSxUZSgxKSxCZSgibmdJZiIsZC5zcHJpbmdzTG9hZGluZyksVGUoMSksQmUoIm5nSWYiLGQubm9EYXRhKSxUZSgxKSxCZSgibmdJZiIsKG51bGw9PWQuc3ByaW5ncz9udWxsOmQuc3ByaW5ncy5sZW5ndGgpPjAmJiFkLnNwcmluZ3NMb2FkaW5nKSl9LGRlcGVuZGVuY2llczpbdm8sZXIs''@;'; put 'put ''aHkscHksQ3UsVG8sX29dLHN0eWxlczpbIi5zcGlubmVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOjE1cHh9LmFyZWFzLXNlbGVjdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgY2xyLXNlbGVjdC1jb250YWluZXJ7bWFyZ2luLXRvcDowfSJdfSksbH0pKCk7ZnVuY3Rp''@;'; put 'put ''b24gT1kobCxjKXtpZigxJmwpe2NvbnN0IGE9Um4oKTt4cigwKSx6ZSgxLCJkaXYiLDEzKSgyLCJkaXYiLDE0KSgzLCJkaXYiLDE1KSg0LCJkaXYiLDE2KSg1LCJoMyIsMTcpLEZ0KDYsIkZpbGUgdXBsb2FkIHJlc3BvbnNlIiksWWUoKSgpLHplKDcsImRpdiIsMTgpKDgsInAiKSxGdCg5KSxm''@;'; put 'put ''dW5jdGlvbiBjdShsLGMpe2NvbnN0IGE9Z3IoKTtsZXQgZDtjb25zdCBmPWwrMjI7YS5maXJzdENyZWF0ZVBhc3M/KGQ9ZnVuY3Rpb24gYjcobCxjKXtpZihjKWZvcihsZXQgYT1jLmxlbmd0aC0xO2E+PTA7YS0tKXtjb25zdCBkPWNbYV07aWYobD09PWQubmFtZSlyZXR1cm4gZH19KGMsYS5w''@;'; put 'put ''aXBlUmVnaXN0cnkpLGEuZGF0YVtmXT1kLGQub25EZXN0cm95JiYoYS5kZXN0cm95SG9va3N8fChhLmRlc3Ryb3lIb29rcz1bXSkpLnB1c2goZixkLm9uRGVzdHJveSkpOmQ9YS5kYXRhW2ZdO2NvbnN0IHY9ZC5mYWN0b3J5fHwoZC5mYWN0b3J5PWNhKGQudHlwZSkpLHg9bG8obWUpO3RyeXtj''@;'; put 'put ''b25zdCBIPXhjKCExKSxLPXYoKTtyZXR1cm4geGMoSCksZnVuY3Rpb24gZEUobCxjLGEsZCl7YT49bC5kYXRhLmxlbmd0aCYmKGwuZGF0YVthXT1udWxsLGwuYmx1ZXByaW50W2FdPW51bGwpLGNbYV09ZH0oYSx6dCgpLGYsSyksS31maW5hbGx5e2xvKHgpfX0oMTAsImpzb24iKSxZZSgpKCks''@;'; put 'put ''emUoMTEsImRpdiIsMTkpKDEyLCJidXR0b24iLDIwKSxPdCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGNuKGEpLHVuKGh0KCkucmVzcG9uc2VNb2RhbE1lc3NhZ2U9bnVsbCl9KSxGdCgxMywiIE9rICIpLFllKCkoKSgpKCkoKSxXdCgxNCwiZGl2IiwyMSksQXIoKX1pZigyJmwpe2NvbnN0''@;'; put 'put ''IGE9aHQoKTtUZSg5KSxHcigiICIsIm9iamVjdCI9PT1hLnR5cGVvZihhLnJlc3BvbnNlTW9kYWxNZXNzYWdlKT9mdW5jdGlvbiB1dShsLGMsYSl7Y29uc3QgZD1sKzIyLGY9enQoKSx2PXVhKGYsZCk7cmV0dXJuIGZ1bmN0aW9uICRkKGwsYyl7cmV0dXJuIGxbMV0uZGF0YVtjXS5wdXJlfShm''@;'; put 'put ''LGQpP0drKGYsUGkoKSxjLHYudHJhbnNmb3JtLGEsdik6di50cmFuc2Zvcm0oYSl9KDEwLDEsYS5yZXNwb25zZU1vZGFsTWVzc2FnZSk6YS5yZXNwb25zZU1vZGFsTWVzc2FnZSwiICIpfX1jb25zdCBQWT1be3BhdGg6IiIscmVkaXJlY3RUbzoiaG9tZXBhZ2UiLHBhdGhNYXRjaDoiZnVsbCJ9''@;'; put 'put ''LHtwYXRoOiJob21lcGFnZSIsY29tcG9uZW50OnZOfSx7cGF0aDoiZGF0YSIsY29tcG9uZW50OlNZfSx7cGF0aDoidXBsb2FkZXIiLGNvbXBvbmVudDooKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEpe3RoaXMuc2FzU2VydmljZT1hLHRoaXMuc2VsZWN0ZWRGaWxlcz1bXSx0aGlzLnVwbG9h''@;'; put 'put ''ZFVybD0ic2VydmljZXMvZmlsZXMvdXBsb2FkIix0aGlzLnVwbG9hZFBhdGg9IiIsdGhpcy5yZXNwb25zZU1vZGFsTWVzc2FnZT1udWxsLHRoaXMudXBsb2FkTG9hZGluZz0hMX1uZ09uSW5pdCgpe31zdWJtaXQoKXtjb25zb2xlLmxvZygiY2hhbmdlIiksISh0aGlzLnNlbGVjdGVkRmlsZXMu''@;'; put 'put ''bGVuZ3RoPDEpJiZ0aGlzLnVwbG9hZEZpbGVzKCl9b25GaWxlQ2hhbmdlKGEpe3RoaXMuc2VsZWN0ZWRGaWxlcz1hLnRhcmdldC5maWxlc311cGxvYWRGaWxlcygpe3RoaXMudXBsb2FkTG9hZGluZz0hMDtsZXQgYT1bXTtmb3IobGV0IGQgb2YgdGhpcy5zZWxlY3RlZEZpbGVzKWEucHVzaCh7''@;'; put 'put ''ZmlsZTpkLGZpbGVOYW1lOmQubmFtZX0pO2NvbnNvbGUubG9nKCJ0aGlzLnVwbG9hZFBhdGgiLHRoaXMudXBsb2FkUGF0aCksdGhpcy5zYXNTZXJ2aWNlLnVwbG9hZEZpbGUodGhpcy51cGxvYWRVcmwsYSx7cGF0aDp0aGlzLnVwbG9hZFBhdGh9KS50aGVuKGQ9Pntjb25zb2xlLmxvZygicmVz''@;'; put 'put ''IixkKSx0aGlzLnJlc3BvbnNlTW9kYWxNZXNzYWdlPWQsdGhpcy51cGxvYWRMb2FkaW5nPSExfSxkPT57Y29uc29sZS5lcnJvcihkKSx0aGlzLnJlc3BvbnNlTW9kYWxNZXNzYWdlPWQsdGhpcy51cGxvYWRMb2FkaW5nPSExfSl9dHlwZW9mKGEpe3JldHVybiB0eXBlb2YgYX19cmV0dXJuIGwu''@;'; put 'put ''XHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoVGcpKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6W1siYXBwLXVwbG9hZGVyIl1dLGRlY2xzOjE3LHZhcnM6NCxjb25zdHM6W1sxLCJ3cmFwcGVyIl0sWzIsIm1hcmdpbi10b3AiLCIyMHB4IiwidGV4''@;'; put 'put ''dC1hbGlnbiIsImNlbnRlciJdLFsxLCJ1cGxvYWRlciJdLFsidHlwZSIsImZpbGUiLCJpZCIsImZpbGVUb1VwbG9hZCIsMywiY2hhbmdlIl0sWzEsImNsci1mb3JtLWNvbnRyb2wiXSxbImZvciIsImV4YW1wbGUiLDEsImNsci1jb250cm9sLWxhYmVsIl0sWzEsImNsci1jb250cm9sLWNvbnRh''@;'; put 'put ''aW5lciJdLFsxLCJjbHItaW5wdXQtd3JhcHBlciJdLFsidHlwZSIsInRleHQiLCJpZCIsImV4YW1wbGUiLCJwbGFjZWhvbGRlciIsIkVudGVyIHBhdGgiLDEsImNsci1pbnB1dCIsMiwid2lkdGgiLCIyMzBweCIsMywibmdNb2RlbCIsIm5nTW9kZWxDaGFuZ2UiXSxbMSwiY2xyLXN1YnRleHQi''@;'; put 'put ''XSxbMiwibWFyZ2luLXRvcCIsIjIwcHgiLCJ3aWR0aCIsIjEwMCUiXSxbMSwiYnRuIiwiYnRuLXByaW1hcnkiLDMsImRpc2FibGVkIiwiY2xpY2siXSxbNCwibmdJZiJdLFsxLCJtb2RhbCJdLFsicm9sZSIsImRpYWxvZyIsImFyaWEtaGlkZGVuIiwidHJ1ZSIsMSwibW9kYWwtZGlhbG9nIl0s''@;'; put 'put ''WzEsIm1vZGFsLWNvbnRlbnQiXSxbMSwibW9kYWwtaGVhZGVyIl0sWzEsIm1vZGFsLXRpdGxlIl0sWzEsIm1vZGFsLWJvZHkiXSxbMSwibW9kYWwtZm9vdGVyIl0sWyJ0eXBlIiwiYnV0dG9uIiwxLCJidG4iLCJidG4tcHJpbWFyeSIsMywiY2xpY2siXSxbImFyaWEtaGlkZGVuIiwidHJ1ZSIs''@;'; put 'put ''MSwibW9kYWwtYmFja2Ryb3AiXV0sdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih6ZSgwLCJkaXYiLDApKDEsInAiLDEpLEZ0KDIsIiBDaG9vc2UgZmlsZSB0byBiZSB1cGxvYWRlZCB0byBTQVMgIiksWWUoKSx6ZSgzLCJkaXYiLDIpKDQsImlucHV0IiwzKSxPdCgiY2hhbmdlIixmdW5j''@;'; put 'put ''dGlvbih2KXtyZXR1cm4gZC5vbkZpbGVDaGFuZ2Uodil9KSxZZSgpKCksemUoNSwiZGl2Iiw0KSg2LCJsYWJlbCIsNSksRnQoNywiVXBsb2FkIHBhdGgiKSxZZSgpLHplKDgsImRpdiIsNikoOSwiZGl2Iiw3KSgxMCwiaW5wdXQiLDgpLE90KCJuZ01vZGVsQ2hhbmdlIixmdW5jdGlvbih2KXty''@;'; put 'put ''ZXR1cm4gZC51cGxvYWRQYXRoPXZ9KSxZZSgpKCksemUoMTEsInNwYW4iLDkpLEZ0KDEyLCJSZXF1aXJlZCIpLFllKCkoKSgpLFd0KDEzLCJociIsMTApLHplKDE0LCJidXR0b24iLDExKSxPdCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGQuc3VibWl0KCl9KSxGdCgxNSksWWUoKSgpLGN0''@;'; put 'put ''KDE2LE9ZLDE1LDMsIm5nLWNvbnRhaW5lciIsMTIpKSwyJmEmJihUZSgxMCksQmUoIm5nTW9kZWwiLGQudXBsb2FkUGF0aCksVGUoNCksQmUoImRpc2FibGVkIixkLnVwbG9hZFBhdGgubGVuZ3RoPDF8fGQudXBsb2FkTG9hZGluZyksVGUoMSksR3IoIiAiLGQudXBsb2FkTG9hZGluZz8iVXBs''@;'; put 'put ''b2FkaW5nLi4uIjoidXBsb2FkIiwiICIpLFRlKDEpLEJlKCJuZ0lmIixudWxsIT09ZC5yZXNwb25zZU1vZGFsTWVzc2FnZSkpfSxkZXBlbmRlbmNpZXM6W2VyLGthLFRvLF9vLHk2XSxzdHlsZXM6WyIud3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgYXV0bzt3aWR0aDozMzBw''@;'; put 'put ''eDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcn0udXBsb2FkZXJbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDoxMHB4fS51cGxvYWRlcltfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICBpbnB1dFtfbmdjb250ZW50LSVDT01QJV17d2lkdGg6MjMwcHh9Il19KSxsfSkoKX1dO2xldCBEWT0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUw''@;'; put 'put ''Mjc1aW5qPWZuKHtpbXBvcnRzOltHXy5mb3JSb290KFBZLHt1c2VIYXNoOiEwLHJlbGF0aXZlTGlua1Jlc29sdXRpb246ImxlZ2FjeSJ9KSxHX119KSxsfSkoKTt2YXIgWmc9RmUoNjczOCk7Y2xhc3MgeFl7Y29uc3RydWN0b3IoYyxhKXt0aGlzLmZuPWMsdGhpcy5zdWJzY3JpcHRpb25zPWF9''@;'; put 'put ''dW5zdWJzY3JpYmUoKXtjb25zdCBjPXRoaXMuc3Vic2NyaXB0aW9ucy5pbmRleE9mKHRoaXMpOy0xIT09YyYmdGhpcy5zdWJzY3JpcHRpb25zLnNwbGljZShjLDEpfX1mdW5jdGlvbiBsbChsKXtyZXR1cm4gbnVsbCE9bCYmIm9iamVjdCI9PXR5cGVvZiBsJiYhMD09PWxbIkBAZnVuY3Rpb25h''@;'; put 'put ''bC9wbGFjZWhvbGRlciJdfWZ1bmN0aW9uIEpzKGwpe3JldHVybiBmdW5jdGlvbiBjKGEpe3JldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aHx8bGwoYSk/YzpsLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gS3MobCl7cmV0dXJuIGZ1bmN0aW9uIGMoYSxkKXtzd2l0Y2goYXJndW1l''@;'; put 'put ''bnRzLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBjO2Nhc2UgMTpyZXR1cm4gbGwoYSk/YzpKcyhmdW5jdGlvbihmKXtyZXR1cm4gbChhLGYpfSk7ZGVmYXVsdDpyZXR1cm4gbGwoYSkmJmxsKGQpP2M6bGwoYSk/SnMoZnVuY3Rpb24oZil7cmV0dXJuIGwoZixkKX0pOmxsKGQpP0pzKGZ1bmN0aW9u''@;'; put 'put ''KGYpe3JldHVybiBsKGEsZil9KTpsKGEsZCl9fX1jb25zdCBKZz1LcyhmdW5jdGlvbihjLGEpe3JldHVybiBhIGluc3RhbmNlb2YgY3x8bnVsbCE9YSYmKGEuY29uc3RydWN0b3I9PT1jfHwiT2JqZWN0Ij09PWMubmFtZSYmIm9iamVjdCI9PXR5cGVvZiBhKX0pO2Z1bmN0aW9uIEtnKGwsYyl7''@;'; put 'put ''cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLGwpfXZhciBvTz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2NvbnN0IHNPPWZ1bmN0aW9uKCl7cmV0dXJuIltvYmplY3QgQXJndW1lbnRzXSI9PT1vTy5jYWxsKGFyZ3VtZW50cyk/ZnVuY3Rpb24oYyl7cmV0''@;'; put 'put ''dXJuIltvYmplY3QgQXJndW1lbnRzXSI9PT1vTy5jYWxsKGMpfTpmdW5jdGlvbihjKXtyZXR1cm4gS2coImNhbGxlZSIsYyl9fSgpLGd5PUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGMpe3JldHVybiBudWxsIT1jJiZjLmxlbmd0aD49MCYmIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90''@;'; put 'put ''b3R5cGUudG9TdHJpbmcuY2FsbChjKX07ZnVuY3Rpb24gbXkobCl7cmV0dXJuIltvYmplY3QgU3RyaW5nXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobCl9dmFyIElZPUpzKGZ1bmN0aW9uKGMpe3JldHVybiBudWxsIT1jJiYiZnVuY3Rpb24iPT10eXBlb2YgY1siZmFudGFz''@;'; put 'put ''eS1sYW5kL2VtcHR5Il0/Y1siZmFudGFzeS1sYW5kL2VtcHR5Il0oKTpudWxsIT1jJiZudWxsIT1jLmNvbnN0cnVjdG9yJiYiZnVuY3Rpb24iPT10eXBlb2YgYy5jb25zdHJ1Y3RvclsiZmFudGFzeS1sYW5kL2VtcHR5Il0/Yy5jb25zdHJ1Y3RvclsiZmFudGFzeS1sYW5kL2VtcHR5Il0oKTpu''@;'; put 'put ''dWxsIT1jJiYiZnVuY3Rpb24iPT10eXBlb2YgYy5lbXB0eT9jLmVtcHR5KCk6bnVsbCE9YyYmbnVsbCE9Yy5jb25zdHJ1Y3RvciYmImZ1bmN0aW9uIj09dHlwZW9mIGMuY29uc3RydWN0b3IuZW1wdHk/Yy5jb25zdHJ1Y3Rvci5lbXB0eSgpOmd5KGMpP1tdOm15KGMpPyIiOmZ1bmN0aW9uIGFP''@;'; put 'put ''KGwpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGwpfShjKT97fTpzTyhjKT9mdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCk6ZnVuY3Rpb24gTFkobCl7dmFyIGM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGwpO3Jl''@;'; put 'put ''dHVybiJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSI9PT1jfHwiW29iamVjdCBJbnQ4QXJyYXldIj09PWN8fCJbb2JqZWN0IFVpbnQ4QXJyYXldIj09PWN8fCJbb2JqZWN0IEludDE2QXJyYXldIj09PWN8fCJbb2JqZWN0IFVpbnQxNkFycmF5XSI9PT1jfHwiW29iamVjdCBJbnQzMkFycmF5''@;'; put 'put ''XSI9PT1jfHwiW29iamVjdCBVaW50MzJBcnJheV0iPT09Y3x8IltvYmplY3QgRmxvYXQzMkFycmF5XSI9PT1jfHwiW29iamVjdCBGbG9hdDY0QXJyYXldIj09PWN8fCJbb2JqZWN0IEJpZ0ludDY0QXJyYXldIj09PWN8fCJbb2JqZWN0IEJpZ1VpbnQ2NEFycmF5XSI9PT1jfShjKT9jLmNvbnN0''@;'; put 'put ''cnVjdG9yLmZyb20oIiIpOnZvaWQgMH0pO2NvbnN0IEZZPUlZO2Z1bmN0aW9uIGxPKGwpe2Zvcih2YXIgYSxjPVtdOyEoYT1sLm5leHQoKSkuZG9uZTspYy5wdXNoKGEudmFsdWUpO3JldHVybiBjfWZ1bmN0aW9uIGNPKGwsYyxhKXtmb3IodmFyIGQ9MCxmPWEubGVuZ3RoO2Q8Zjspe2lmKGwo''@;'; put 'put ''YyxhW2RdKSlyZXR1cm4hMDtkKz0xfXJldHVybiExfWNvbnN0IGJ5PSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuaXM/T2JqZWN0LmlzOmZ1bmN0aW9uIE5ZKGwsYyl7cmV0dXJuIGw9PT1jPzAhPT1sfHwxL2w9PTEvYzpsIT1sJiZjIT1jfTt2YXIgWVk9IXt0b1N0cmluZzpudWxsfS5wcm9w''@;'; put 'put ''ZXJ0eUlzRW51bWVyYWJsZSgidG9TdHJpbmciKSx1Tz1bImNvbnN0cnVjdG9yIiwidmFsdWVPZiIsImlzUHJvdG90eXBlT2YiLCJ0b1N0cmluZyIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiaGFzT3duUHJvcGVydHkiLCJ0b0xvY2FsZVN0cmluZyJdLGRPPWZ1bmN0aW9uKCl7cmV0dXJuIGFy''@;'; put 'put ''Z3VtZW50cy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgibGVuZ3RoIil9KCkselk9ZnVuY3Rpb24oYyxhKXtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoOyl7aWYoY1tkXT09PWEpcmV0dXJuITA7ZCs9MX1yZXR1cm4hMX07Y29uc3Qgdnk9SnMoImZ1bmN0aW9uIiE9dHlwZW9mIE9iamVjdC5rZXlzfHxk''@;'; put 'put ''Tz9mdW5jdGlvbihjKXtpZihPYmplY3QoYykhPT1jKXJldHVybltdO3ZhciBhLGQsZj1bXSx2PWRPJiZzTyhjKTtmb3IoYSBpbiBjKUtnKGEsYykmJighdnx8Imxlbmd0aCIhPT1hKSYmKGZbZi5sZW5ndGhdPWEpO2lmKFlZKWZvcihkPXVPLmxlbmd0aC0xO2Q+PTA7KUtnKGE9dU9bZF0sYykm''@;'; put 'put ''JiF6WShmLGEpJiYoZltmLmxlbmd0aF09YSksZC09MTtyZXR1cm4gZn06ZnVuY3Rpb24oYyl7cmV0dXJuIE9iamVjdChjKSE9PWM/W106T2JqZWN0LmtleXMoYyl9KSxoTz1KcyhmdW5jdGlvbihjKXtyZXR1cm4gbnVsbD09PWM/Ik51bGwiOnZvaWQgMD09PWM/IlVuZGVmaW5lZCI6T2JqZWN0''@;'; put 'put ''LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGMpLnNsaWNlKDgsLTEpfSk7ZnVuY3Rpb24gZk8obCxjLGEsZCl7dmFyIGY9bE8obCk7ZnVuY3Rpb24geChILEspe3JldHVybiBfeShILEssYS5zbGljZSgpLGQuc2xpY2UoKSl9cmV0dXJuIWNPKGZ1bmN0aW9uKEgsSyl7cmV0dXJuIWNPKHgsSyxI''@;'; put 'put ''KX0sbE8oYyksZil9ZnVuY3Rpb24gX3kobCxjLGEsZCl7aWYoYnkobCxjKSlyZXR1cm4hMDt2YXIgZj1oTyhsKTtpZihmIT09aE8oYykpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGxbImZhbnRhc3ktbGFuZC9lcXVhbHMiXXx8ImZ1bmN0aW9uIj09dHlwZW9mIGNbImZhbnRhc3kt''@;'; put 'put ''bGFuZC9lcXVhbHMiXSlyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbFsiZmFudGFzeS1sYW5kL2VxdWFscyJdJiZsWyJmYW50YXN5LWxhbmQvZXF1YWxzIl0oYykmJiJmdW5jdGlvbiI9PXR5cGVvZiBjWyJmYW50YXN5LWxhbmQvZXF1YWxzIl0mJmNbImZhbnRhc3ktbGFuZC9lcXVhbHMiXShs''@;'; put 'put ''KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgbC5lcXVhbHN8fCJmdW5jdGlvbiI9PXR5cGVvZiBjLmVxdWFscylyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbC5lcXVhbHMmJmwuZXF1YWxzKGMpJiYiZnVuY3Rpb24iPT10eXBlb2YgYy5lcXVhbHMmJmMuZXF1YWxzKGwpO3N3aXRjaChmKXtjYXNl''@;'; put 'put ''IkFyZ3VtZW50cyI6Y2FzZSJBcnJheSI6Y2FzZSJPYmplY3QiOmlmKCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbnN0cnVjdG9yJiYiUHJvbWlzZSI9PT1mdW5jdGlvbiBSWShsKXt2YXIgYz1TdHJpbmcobCkubWF0Y2goL15mdW5jdGlvbiAoXHcqKS8pO3JldHVybiBudWxsPT1jPyIiOmNbMV19''@;'; put 'put ''KGwuY29uc3RydWN0b3IpKXJldHVybiBsPT09YzticmVhaztjYXNlIkJvb2xlYW4iOmNhc2UiTnVtYmVyIjpjYXNlIlN0cmluZyI6aWYodHlwZW9mIGwhPXR5cGVvZiBjfHwhYnkobC52YWx1ZU9mKCksYy52YWx1ZU9mKCkpKXJldHVybiExO2JyZWFrO2Nhc2UiRGF0ZSI6aWYoIWJ5KGwudmFs''@;'; put 'put ''dWVPZigpLGMudmFsdWVPZigpKSlyZXR1cm4hMTticmVhaztjYXNlIkVycm9yIjpyZXR1cm4gbC5uYW1lPT09Yy5uYW1lJiZsLm1lc3NhZ2U9PT1jLm1lc3NhZ2U7Y2FzZSJSZWdFeHAiOmlmKGwuc291cmNlIT09Yy5zb3VyY2V8fGwuZ2xvYmFsIT09Yy5nbG9iYWx8fGwuaWdub3JlQ2FzZSE9''@;'; put 'put ''PWMuaWdub3JlQ2FzZXx8bC5tdWx0aWxpbmUhPT1jLm11bHRpbGluZXx8bC5zdGlja3khPT1jLnN0aWNreXx8bC51bmljb2RlIT09Yy51bmljb2RlKXJldHVybiExfWZvcih2YXIgdj1hLmxlbmd0aC0xO3Y+PTA7KXtpZihhW3ZdPT09bClyZXR1cm4gZFt2XT09PWM7di09MX1zd2l0Y2goZil7''@;'; put 'put ''Y2FzZSJNYXAiOnJldHVybiBsLnNpemU9PT1jLnNpemUmJmZPKGwuZW50cmllcygpLGMuZW50cmllcygpLGEuY29uY2F0KFtsXSksZC5jb25jYXQoW2NdKSk7Y2FzZSJTZXQiOnJldHVybiBsLnNpemU9PT1jLnNpemUmJmZPKGwudmFsdWVzKCksYy52YWx1ZXMoKSxhLmNvbmNhdChbbF0pLGQu''@;'; put 'put ''Y29uY2F0KFtjXSkpO2Nhc2UiQXJndW1lbnRzIjpjYXNlIkFycmF5IjpjYXNlIk9iamVjdCI6Y2FzZSJCb29sZWFuIjpjYXNlIk51bWJlciI6Y2FzZSJTdHJpbmciOmNhc2UiRGF0ZSI6Y2FzZSJFcnJvciI6Y2FzZSJSZWdFeHAiOmNhc2UiSW50OEFycmF5IjpjYXNlIlVpbnQ4QXJyYXkiOmNh''@;'; put 'put ''c2UiVWludDhDbGFtcGVkQXJyYXkiOmNhc2UiSW50MTZBcnJheSI6Y2FzZSJVaW50MTZBcnJheSI6Y2FzZSJJbnQzMkFycmF5IjpjYXNlIlVpbnQzMkFycmF5IjpjYXNlIkZsb2F0MzJBcnJheSI6Y2FzZSJGbG9hdDY0QXJyYXkiOmNhc2UiQXJyYXlCdWZmZXIiOmJyZWFrO2RlZmF1bHQ6cmV0''@;'; put 'put ''dXJuITF9dmFyIHg9dnkobCk7aWYoeC5sZW5ndGghPT12eShjKS5sZW5ndGgpcmV0dXJuITE7dmFyIEg9YS5jb25jYXQoW2xdKSxLPWQuY29uY2F0KFtjXSk7Zm9yKHY9eC5sZW5ndGgtMTt2Pj0wOyl7dmFyIGVlPXhbdl07aWYoIUtnKGVlLGMpfHwhX3koY1tlZV0sbFtlZV0sSCxLKSlyZXR1''@;'; put 'put ''cm4hMTt2LT0xfXJldHVybiEwfWNvbnN0IHBPPUtzKGZ1bmN0aW9uKGMsYSl7cmV0dXJuIF95KGMsYSxbXSxbXSl9KSxnTz1KcyhmdW5jdGlvbihjKXtyZXR1cm4gbnVsbCE9YyYmcE8oYyxGWShjKSl9KTtmdW5jdGlvbiBPaChsKXtyZXR1cm4gbnVsbD09bH1mdW5jdGlvbiBjbChsKXtyZXR1''@;'; put 'put ''cm4gT2gobCl8fGdPKGwpfWZ1bmN0aW9uIHl5KGwpe3JldHVybiBKZyhTdHJpbmcsbCl9ZnVuY3Rpb24gWGcobCl7cmV0dXJuIEpnKE9iamVjdCxsKX1mdW5jdGlvbiBiTyhsKXtyZXR1cm4gSmcoTWFwLGwpfWZ1bmN0aW9uIHZPKGwsYyl7cmV0dXJuIGwhPT1jfWZ1bmN0aW9uIF9PKGwsYyl7''@;'; put 'put ''cmV0dXJuIEpTT04uc3RyaW5naWZ5KGwpPT09SlNPTi5zdHJpbmdpZnkoYyl9ZnVuY3Rpb24geU8obCl7Y29uc3QgYz1uZXcgTWFwO2Zvcihjb25zdFthLGRdb2YgbCliTyhkKT9jLnNldChhLHlPKGQpKTpjLnNldChhLGQpO3JldHVybiBjfWZ1bmN0aW9uIEtZKGwpe3N3aXRjaCghMCl7Y2Fz''@;'; put 'put ''ZSBiTyhsKTpyZXR1cm4geU8obCk7Y2FzZSBYZyhsKSYmIUFycmF5LmlzQXJyYXkobCk6cmV0dXJuIEdsKHt9LGwpO2RlZmF1bHQ6cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobCkpfX1mdW5jdGlvbiBHbCguLi5sKXtjb25zdCBjPXt9O3JldHVybiBsLm1hcChhPT5YZyhhKT9i''@;'; put 'put ''cih7fSxhKTp7fSkuZm9yRWFjaChhPT57T2JqZWN0LmtleXMoYSkuZm9yRWFjaChkPT57Y29uc3QgZj1hW2RdO2NbZF09QXJyYXkuaXNBcnJheShmKT9BcnJheS5mcm9tKGYpOlhnKGYpP0dsKGNbZF18fHt9LGYpOmZ9KX0pLGN9ZnVuY3Rpb24gTU8obD13aW5kb3cpe3JldHVybiFPaChsKX1s''@;'; put 'put ''ZXQgUWcsQ08sd3ksTXk7ZnVuY3Rpb24ga08obD0hMCl7aWYoIWx8fCFRZyl7Y29uc3QgYz1kb2N1bWVudCYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiW25nLXZlcnNpb25dIik7UWc9Yz8iIitjLmdldEF0dHJpYnV0ZSgibmctdmVyc2lvbiIpOnZvaWQgMH1yZXR1cm4gUWd9ZnVuY3Rpb24g''@;'; put 'put ''dHoobD0hMCl7dmFyIGMsYSxkO3JldHVybiBsJiZRZ3x8KENPPW51bGw9PT0oYz13aW5kb3cpfHx2b2lkIDA9PT1jfHxudWxsPT09KGE9Yy5hbmd1bGFyKXx8dm9pZCAwPT09YXx8bnVsbD09PShkPWEudmVyc2lvbil8fHZvaWQgMD09PWQ/dm9pZCAwOmQuZnVsbCksQ099ZnVuY3Rpb24gak8o''@;'; put 'put ''bD0hMCl7dmFyIGMsYSxkO3JldHVybiBsJiZ3eXx8KHd5PW51bGwhPT0oYz13aW5kb3cpJiZ2b2lkIDAhPT1jJiZudWxsIT09KGE9Yy5DRFMpJiZ2b2lkIDAhPT1hJiZudWxsIT09KGQ9YS5fcmVhY3QpJiZ2b2lkIDAhPT1kJiZkLnZlcnNpb24/d2luZG93LkNEUy5fcmVhY3QudmVyc2lvbjpk''@;'; put 'put ''b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJbZGF0YS1yZWFjdHJvb3RdLCBbZGF0YS1yZWFjdGlkXSIpPyJ1bmtub3duIHZlcnNpb24iOnZvaWQgMCksd3l9ZnVuY3Rpb24gU08obD0hMCl7aWYoIWx8fCFNeSl7Y29uc3QgYz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIqIik7bGV0IGE7Zm9y''@;'; put 'put ''KGxldCBkPTA7ZDxjLmxlbmd0aDtkKyspaWYoY1tkXS5fX3Z1ZV9fKXthPWNbZF07YnJlYWt9TXk9YT8idW5rbm93biB2ZXJzaW9uIjp2b2lkIDB9cmV0dXJuIE15fWZ1bmN0aW9uIFpsKGwpe3JldHVybiBsLnJlcGxhY2UoL1tBLVpdL2csYz0+Ii0iK2MudG9Mb3dlckNhc2UoKSl9ZnVuY3Rp''@;'; put 'put ''b24gRE8obCl7cmV0dXJuIGwuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrbC5zbGljZSgxKX1jb25zdCBsej1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXtpZih0aGlzLnN1cHBvcnRzPXtqczohMH0sIWRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJjZHMtc3VwcG9ydHMiKXx8Im5vLWpzIj09''@;'; put 'put ''PWRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJjZHMtc3VwcG9ydHMiKSl7Y29uc3QgbD1abChPYmplY3Qua2V5cyh0aGlzLnN1cHBvcnRzKS5yZWR1Y2UoKGMsYSk9PmAke2N9ICR7dGhpcy5zdXBwb3J0c1thXT9hOiJuby0iK2F9YCwiIikpLnRyaW0oKTtkb2N1bWVudC5ib2R5LnNldEF0''@;'; put 'put ''dHJpYnV0ZSgiY2RzLXN1cHBvcnRzIixsKX19fTtmdW5jdGlvbiBreShsLGMpe3N3aXRjaChsKXtjYXNlIDA6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtjYXNlIDE6cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBjLmFwcGx5KHRoaXMsYXJndW1l''@;'; put 'put ''bnRzKX07Y2FzZSAyOnJldHVybiBmdW5jdGlvbihhLGQpe3JldHVybiBjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihhLGQsZil7cmV0dXJuIGMuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtjYXNlIDQ6cmV0dXJuIGZ1bmN0aW9uKGEsZCxmLHYpe3JldHVy''@;'; put 'put ''biBjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Y2FzZSA1OnJldHVybiBmdW5jdGlvbihhLGQsZix2LHgpe3JldHVybiBjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Y2FzZSA2OnJldHVybiBmdW5jdGlvbihhLGQsZix2LHgsSCl7cmV0dXJuIGMuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtjYXNl''@;'; put 'put ''IDc6cmV0dXJuIGZ1bmN0aW9uKGEsZCxmLHYseCxILEspe3JldHVybiBjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Y2FzZSA4OnJldHVybiBmdW5jdGlvbihhLGQsZix2LHgsSCxLLGVlKXtyZXR1cm4gYy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Nhc2UgOTpyZXR1cm4gZnVuY3Rpb24oYSxk''@;'; put 'put ''LGYsdix4LEgsSyxlZSxmZSl7cmV0dXJuIGMuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtjYXNlIDEwOnJldHVybiBmdW5jdGlvbihhLGQsZix2LHgsSCxLLGVlLGZlLHllKXtyZXR1cm4gYy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJGaXJzdCBhcmd1''@;'; put 'put ''bWVudCB0byBfYXJpdHkgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIG5vIGdyZWF0ZXIgdGhhbiB0ZW4iKX19ZnVuY3Rpb24gRU8obCxjLGEpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZD1bXSxmPTAsdj1sLHg9MDt4PGMubGVuZ3RofHxmPGFyZ3VtZW50cy5sZW5ndGg7KXt2''@;'; put 'put ''YXIgSDt4PGMubGVuZ3RoJiYoIWxsKGNbeF0pfHxmPj1hcmd1bWVudHMubGVuZ3RoKT9IPWNbeF06KEg9YXJndW1lbnRzW2ZdLGYrPTEpLGRbeF09SCxsbChIKXx8KHYtPTEpLHgrPTF9cmV0dXJuIHY8PTA/YS5hcHBseSh0aGlzLGQpOmt5KHYsRU8obCxkLGEpKX19Y29uc3QgVE89S3MoZnVu''@;'; put 'put ''Y3Rpb24oYyxhKXtyZXR1cm4gMT09PWM/SnMoYSk6a3koYyxFTyhjLFtdLGEpKX0pLHV6PU51bWJlci5pc0ludGVnZXJ8fGZ1bmN0aW9uKGMpe3JldHVybiBjPDwwPT09Y30saHo9S3MoZnVuY3Rpb24oYyxhKXt2YXIgZD1jPDA/YS5sZW5ndGgrYzpjO3JldHVybiBteShhKT9hLmNoYXJBdChk''@;'; put 'put ''KTphW2RdfSkscHo9S3MoZnVuY3Rpb24oYyxhKXtyZXR1cm4gYy5tYXAoZnVuY3Rpb24oZCl7Zm9yKHZhciB4LGY9YSx2PTA7djxkLmxlbmd0aDspe2lmKG51bGw9PWYpcmV0dXJuO2Y9dXooeD1kW3ZdKT9oeih4LGYpOmZbeF0sdis9MX1yZXR1cm4gZn0pfSksbXo9S3MoZnVuY3Rpb24oYyxh''@;'; put 'put ''KXtyZXR1cm4gcHooW2NdLGEpWzBdfSksdno9VE8oMiwobCxjKT0+dm9pZCAwIT09bXoobCxjKSksTE89dnooeyJAQGZ1bmN0aW9uYWwvcGxhY2Vob2xkZXIiOiEwfSx3aW5kb3cpO2NsYXNzIEpse3N0YXRpYyBsb2coLi4uYyl7U3koKSYmankoKSYmY29uc29sZS5sb2coLi4uYyl9c3RhdGlj''@;'; put 'put ''IHdhcm4oLi4uYyl7U3koKSYmankoKSYmY29uc29sZS53YXJuKC4uLmMpfXN0YXRpYyBlcnJvciguLi5jKXtTeSgpJiZqeSgpJiZjb25zb2xlLmVycm9yKC4uLmMpfX1mdW5jdGlvbiBqeSgpe3JldHVybiFMTyhbImphc21pbmUiXSl9ZnVuY3Rpb24gU3koKXtyZXR1cm4hd2luZG93LkNEUy5l''@;'; put 'put ''bnZpcm9ubWVudC5wcm9kdWN0aW9ufWZ1bmN0aW9uIElPKCl7TU8oKSYmKHdpbmRvdy5DRFM9d2luZG93LkNEU3x8e192ZXJzaW9uOltdLF9yZWFjdDp7dmVyc2lvbjp2b2lkIDB9LF9zdXBwb3J0czpsei5zdXBwb3J0cyxfaXNTdGF0ZVByb3hpZWQ6ITEsX3N0YXRlOntmb2N1c1RyYXBJdGVt''@;'; put 'put ''czpbXSxsYXllckVsZW1lbnRzOltdLGkxOG5SZWdpc3RyeTp7fSxlbGVtZW50UmVnaXN0cnk6e30saWNvblJlZ2lzdHJ5Ont9LG1vdGlvblJlZ2lzdHJ5Ont9fSxlbnZpcm9ubWVudDp7cHJvZHVjdGlvbjohMX0sZ2V0RGV0YWlsczpGTyxsb2dEZXRhaWxzOnl6fSxmdW5jdGlvbigpe3ZhciBs''@;'; put 'put ''O2NvbnN0IGM9IjYuMS4xIjt3aW5kb3cuQ0RTLl92ZXJzaW9uLmluZGV4T2YoYyk8MCYmKHdpbmRvdy5DRFMuX3ZlcnNpb24ucHVzaChjKSxudWxsIT09KGw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYm9keSIpKSYmdm9pZCAwIT09bCYmbC5zZXRBdHRyaWJ1dGUoImNkcy12ZXJzaW9uIix3''@;'; put 'put ''aW5kb3cuQ0RTLl92ZXJzaW9uLmpvaW4oIiAiKSkpLHdpbmRvdy5DRFMuX3ZlcnNpb24ubGVuZ3RoPjEmJkpsLndhcm4oIlJ1bm5pbmcgbW9yZSB0aGFuIG9uZSB2ZXJzaW9uIG9mIENsYXJpdHkgY2FuIGNhdXNlIHVuZXhwZWN0ZWQgaXNzdWVzLiBQbGVhc2UgZW5zdXJlIG9ubHkgb25lIHZl''@;'; put 'put ''cnNpb24gaXMgbG9hZGVkLiIpfSgpLHdpbmRvdy5DRFMuX2lzU3RhdGVQcm94aWVkfHwod2luZG93LkNEUy5faXNTdGF0ZVByb3hpZWQ9ITAsd2luZG93LkNEUy5fc3RhdGU9bmV3IFByb3h5KHdpbmRvdy5DRFMuX3N0YXRlLHtzZXQ6KGwsYyxhKT0+e2NvbnN0IGQ9e2tleTpjLHByZXY6d2lu''@;'; put 'put ''ZG93LkNEUy5fc3RhdGVbY10sY3VycmVudDphfTtyZXR1cm4gbFtjXT1hLGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJDRFNfU1RBVEVfVVBEQVRFIix7ZGV0YWlsOmR9KSksITB9fSkpKX1mdW5jdGlvbiBGTygpe3JldHVybnt2ZXJzaW9uczp3aW5kb3cuQ0RTLl92''@;'; put 'put ''ZXJzaW9uLGVudmlyb25tZW50OndpbmRvdy5DRFMuZW52aXJvbm1lbnQsdXNlckFnZW50Om5hdmlnYXRvci51c2VyQWdlbnQsc3VwcG9ydHM6d2luZG93LkNEUy5fc3VwcG9ydHMsYW5ndWxhclZlcnNpb246a08oITEpLGFuZ3VsYXJKU1ZlcnNpb246dHooITEpLHJlYWN0VmVyc2lvbjpqTygh''@;'; put 'put ''MSksdnVlVmVyc2lvbjpTTyghMSksc3RhdGU6bWYoYnIoe30sd2luZG93LkNEUy5fc3RhdGUpLHtpY29uUmVnaXN0cnk6T2JqZWN0LmtleXMod2luZG93LkNEUy5fc3RhdGUuaWNvblJlZ2lzdHJ5KSxtb3Rpb25SZWdpc3RyeTpPYmplY3Qua2V5cyh3aW5kb3cuQ0RTLl9zdGF0ZS5tb3Rpb25S''@;'; put 'put ''ZWdpc3RyeSksZm9jdXNUcmFwUmVnaXN0cnk6T2JqZWN0LmtleXMod2luZG93LkNEUy5fc3RhdGUuZm9jdXNUcmFwSXRlbXMubWFwKGw9PmwuZm9jdXNUcmFwSWQpKX0pfX1mdW5jdGlvbiB5eigpe0psLmxvZyhKU09OLnN0cmluZ2lmeShGTygpLG51bGwsMikpfWNvbnN0IE95PW5ldyBjbGFz''@;'; put 'put ''cyBBWXtjb25zdHJ1Y3Rvcigpe3RoaXMuc3Vic2NyaXB0aW9ucz1bXX1zdWJzY3JpYmUoYyl7Y29uc3QgYT1uZXcgeFkoYyx0aGlzLnN1YnNjcmlwdGlvbnMpO3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChhKSxhfWVtaXQoYyl7dGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goYT0+''@;'; put 'put ''YS5mbihjKSl9dG9FdmVudE9ic2VydmFibGUoKXtyZXR1cm4gdGhpc319O095Lmxpc3RlbmVyPWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkNEU19TVEFURV9VUERBVEUiLGw9Pk95LmVtaXQobC5kZXRhaWwpKTtjbGFzcyBhaXtzdGF0aWMgZ2V0IHN0YXRlKCl7cmV0dXJuIElPKCksd2lu''@;'; put 'put ''ZG93LkNEUy5fc3RhdGV9c3RhdGljIGdldFZhbHVlKGMpe3JldHVybiBhaS5zdGF0ZVtjXX1zdGF0aWMgc2V0VmFsdWUoYyxhKXthaS5zdGF0ZVtjXT1hfXN0YXRpYyBsb2coKXtKbC5sb2coSlNPTi5zdHJpbmdpZnkoYWkuc3RhdGUsbnVsbCwyKSl9fWFpLnN0YXRlVXBkYXRlcz1PeS50b0V2''@;'; put 'put ''ZW50T2JzZXJ2YWJsZSgpO2NvbnN0IHd6PVsidW5rbm93biIse291dGxpbmU6JzxjaXJjbGUgY2xhc3M9ImNkcy1pbnRlcm5hbC1kb3QtMyIgY3g9IjMxLjEiIGN5PSIxOCIgcj0iMi45Ii8+PGNpcmNsZSBjbGFzcz0iY2RzLWludGVybmFsLWRvdC0yIiBjeD0iMTgiIGN5PSIxOCIgcj0iMi45''@;'; put 'put ''Ii8+PGNpcmNsZSBjbGFzcz0iY2RzLWludGVybmFsLWRvdC0xIiBjeD0iNC45IiBjeT0iMTgiIHI9IjIuOSIvPid9XTtjbGFzcyBNcntzdGF0aWMgZ2V0IHJlZ2lzdHJ5KCl7cmV0dXJuIGJyKHt1bmtub3duOnd6WzFdfSxhaS5zdGF0ZS5pY29uUmVnaXN0cnkpfXN0YXRpYyBhZGRJY29ucygu''@;'; put 'put ''Li5jKXthaS5zdGF0ZS5pY29uUmVnaXN0cnk9YnIoYnIoe30sYWkuc3RhdGUuaWNvblJlZ2lzdHJ5KSxPYmplY3QuZnJvbUVudHJpZXMoYy5maWx0ZXIoKFthXSk9PiFNci5yZWdpc3RyeVthXSkpKX1zdGF0aWMgYWRkQWxpYXNlcyguLi5jKXtjb25zdCBhPWMuZmlsdGVyKChbZF0pPT5Nci5y''@;'; put 'put ''ZWdpc3RyeVtkXSkuZmxhdE1hcCgoW2QsZl0pPT5mLm1hcCh2PT5bdixNci5yZWdpc3RyeVtkXV0pKTthaS5zdGF0ZS5pY29uUmVnaXN0cnk9YnIoYnIoe30sYWkuc3RhdGUuaWNvblJlZ2lzdHJ5KSxPYmplY3QuZnJvbUVudHJpZXMoYSkpfXN0YXRpYyBnZXRJY29uTmFtZUZyb21TaGFwZShj''@;'; put 'put ''KXtyZXR1cm4gY1swXX19Y29uc3Qga3U9WyJhbmdsZSIse291dGxpbmU6JzxwYXRoIGQ9Ik0yOS41MiwyMi41MiwxOCwxMC42LDYuNDgsMjIuNTJhMS43LDEuNywwLDAsMCwyLjQ1LDIuMzZMMTgsMTUuNDlsOS4wOCw5LjM5YTEuNywxLjcsMCwwLDAsMi40NS0yLjM2WiIvPid9XSxMbz1bImV4''@;'; put 'put ''Y2xhbWF0aW9uLWNpcmNsZSIse291dGxpbmU6JzxwYXRoIGQ9Ik0xOCw2QTEyLDEyLDAsMSwwLDMwLDE4LDEyLDEyLDAsMCwwLDE4LDZabTAsMjJBMTAsMTAsMCwxLDEsMjgsMTgsMTAsMTAsMCwwLDEsMTgsMjhaIi8+PHBhdGggZD0iTTE4LDIwLjA3YTEuMywxLjMsMCwwLDEtMS4zLTEuM3Yt''@;'; put 'put ''NmExLjMsMS4zLDAsMSwxLDIuNiwwdjZBMS4zLDEuMywwLDAsMSwxOCwyMC4wN1oiLz48Y2lyY2xlIGN4PSIxNy45NSIgY3k9IjIzLjAyIiByPSIxLjUiLz4nLHNvbGlkOic8cGF0aCBkPSJNMTgsNkExMiwxMiwwLDEsMCwzMCwxOCwxMiwxMiwwLDAsMCwxOCw2Wm0tMS40OSw2YTEuNDksMS40''@;'; put 'put ''OSwwLDAsMSwzLDB2Ni44OWExLjQ5LDEuNDksMCwxLDEtMywwWk0xOCwyNS41YTEuNzIsMS43MiwwLDEsMSwxLjcyLTEuNzJBMS43MiwxLjcyLDAsMCwxLDE4LDI1LjVaIi8+J31dLElvPVsiY2hlY2stY2lyY2xlIix7b3V0bGluZTonPHBhdGggZD0iTTE4LDZBMTIsMTIsMCwxLDAsMzAsMTgs''@;'; put 'put ''MTIsMTIsMCwwLDAsMTgsNlptMCwyMkExMCwxMCwwLDEsMSwyOCwxOCwxMCwxMCwwLDAsMSwxOCwyOFoiLz48cGF0aCBkPSJNMTYuMzQsMjMuNzRsLTUtNWExLDEsMCwwLDEsMS40MS0xLjQxbDMuNTksMy41OSw2Ljc4LTYuNzhhMSwxLDAsMCwxLDEuNDEsMS40MVoiLz4nLHNvbGlkOic8cGF0''@;'; put 'put ''aCBkPSJNMzAsMThBMTIsMTIsMCwxLDEsMTgsNiwxMiwxMiwwLDAsMSwzMCwxOFptLTQuNzctMi4xNmExLjQsMS40LDAsMCwwLTItMmwtNi43Nyw2Ljc3TDEzLDE3LjE2YTEuNCwxLjQsMCwwLDAtMiwybDUuNDUsNS40NVoiLz4nfV0sUk89WyJlbGxpcHNpcy1ob3Jpem9udGFsIix7b3V0bGlu''@;'; put 'put ''ZTonPGNpcmNsZSBjeD0iMzEuMSIgY3k9IjE4IiByPSIyLjkiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIyLjkiLz48Y2lyY2xlIGN4PSI0LjkiIGN5PSIxOCIgcj0iMi45Ii8+JyxvdXRsaW5lQmFkZ2VkOic8Y2lyY2xlIGN4PSIzMS4xIiBjeT0iMTgiIHI9IjIuOSIvPjxjaXJjbGUg''@;'; put 'put ''Y3g9IjE4IiBjeT0iMTgiIHI9IjIuOSIvPjxjaXJjbGUgY3g9IjQuOSIgY3k9IjE4IiByPSIyLjkiLz4nfV0sUGg9WyJ3aW5kb3ctY2xvc2UiLHtvdXRsaW5lOic8cGF0aCBkPSJNMTkuNDEsMThsNy4yOS03LjI5YTEsMSwwLDAsMC0xLjQxLTEuNDFMMTgsMTYuNTksMTAuNzEsOS4yOWExLDEs''@;'; put 'put ''MCwwLDAtMS40MSwxLjQxTDE2LjU5LDE4LDkuMjksMjUuMjlhMSwxLDAsMSwwLDEuNDEsMS40MUwxOCwxOS40MWw3LjI5LDcuMjlhMSwxLDAsMCwwLDEuNDEtMS40MVoiLz4nfV0sTXo9WyJldmVudCIse291dGxpbmU6JzxwYXRoIGQ9Ik0xNi4xNywyNS44NiwxMC44MSwyMC41YTEsMSwwLDAs''@;'; put 'put ''MSwxLjQxLTEuNDFMMTYuMTcsMjNsOC42NC04LjY0YTEsMSwwLDAsMSwxLjQxLDEuNDFaIi8+PHBhdGggZD0iTTMyLjI1LDZIMjlWOGgzVjMwSDRWOEg3VjZIMy43NUExLjc4LDEuNzgsMCwwLDAsMiw3LjgxVjMwLjE5QTEuNzgsMS43OCwwLDAsMCwzLjc1LDMyaDI4LjVBMS43OCwxLjc4LDAs''@;'; put 'put ''MCwwLDM0LDMwLjE5VjcuODFBMS43OCwxLjc4LDAsMCwwLDMyLjI1LDZaIi8+PHBhdGggZD0iTTEwLDEwYTEsMSwwLDAsMCwxLTFWM0ExLDEsMCwwLDAsOSwzVjlBMSwxLDAsMCwwLDEwLDEwWiIvPjxwYXRoIGQ9Ik0yNiwxMGExLDEsMCwwLDAsMS0xVjNhMSwxLDAsMCwwLTIsMFY5QTEsMSww''@;'; put 'put ''LDAsMCwyNiwxMFoiLz48cmVjdCB4PSIxMyIgeT0iNiIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiLz4nLG91dGxpbmVBbGVydGVkOic8cGF0aCBkPSJNMTAsMTBhMSwxLDAsMCwwLDEtMVYzQTEsMSwwLDAsMCw5LDNWOUExLDEsMCwwLDAsMTAsMTBaIi8+PHBhdGggZD0iTTEwLjgxLDIwLjVsNS4z''@;'; put 'put ''Niw1LjM2TDI2LjIyLDE1LjgxYTEsMSwwLDAsMCwuMjMtLjQxSDIzLjhMMTYuMTcsMjNsLTMuOTQtMy45NGExLDEsMCwwLDAtMS40MSwxLjQxWiIvPjxwb2x5Z29uIHBvaW50cz0iMjEuMjkgNiAxMyA2IDEzIDggMjAuMTQgOCAyMS4yOSA2Ii8+PHBhdGggZD0iTTMzLjY4LDE1LjRIMzJWMzBI''@;'; put 'put ''NFY4SDdWNkgzLjc1QTEuNzgsMS43OCwwLDAsMCwyLDcuODFWMzAuMTlBMS43OCwxLjc4LDAsMCwwLDMuNzUsMzJoMjguNUExLjc4LDEuNzgsMCwwLDAsMzQsMzAuMTlWMTUuMzhaIi8+JyxvdXRsaW5lQmFkZ2VkOic8cGF0aCBkPSJNMTAuODEsMjAuNWw1LjM2LDUuMzZMMjYuMjIsMTUuODFh''@;'; put 'put ''MSwxLDAsMCwwLTEuNDEtMS40MUwxNi4xNywyM2wtMy45NC0zLjk0YTEsMSwwLDAsMC0xLjQxLDEuNDFaIi8+PHBhdGggZD0iTTEwLDEwYTEsMSwwLDAsMCwxLTFWM0ExLDEsMCwwLDAsOSwzVjlBMSwxLDAsMCwwLDEwLDEwWiIvPjxwYXRoIGQ9Ik0zMiwxMy4yMlYzMEg0VjhIN1Y2SDMuNzVB''@;'; put 'put ''MS43OCwxLjc4LDAsMCwwLDIsNy44MVYzMC4xOUExLjc4LDEuNzgsMCwwLDAsMy43NSwzMmgyOC41QTEuNzgsMS43OCwwLDAsMCwzNCwzMC4xOVYxMi4zNEE3LjQ1LDcuNDUsMCwwLDEsMzIsMTMuMjJaIi8+PHBhdGggZD0iTTIyLjUsNkgxM1Y4aDkuNzhBNy40OSw3LjQ5LDAsMCwxLDIyLjUs''@;'; put 'put ''NloiLz4nLHNvbGlkOic8cGF0aCBkPSJNMTAsMTBhMSwxLDAsMCwwLDEtMVYzQTEsMSwwLDAsMCw5LDNWOUExLDEsMCwwLDAsMTAsMTBaIi8+PHBhdGggZD0iTTI2LDEwYTEsMSwwLDAsMCwxLTFWM2ExLDEsMCwwLDAtMiwwVjlBMSwxLDAsMCwwLDI2LDEwWiIvPjxwYXRoIGQ9Ik0zMi4yNSw2''@;'; put 'put ''aC00VjlhMi4yLDIuMiwwLDAsMS00LjQsMFY2SDEyLjJWOUEyLjIsMi4yLDAsMCwxLDcuOCw5VjZoLTRBMS43OCwxLjc4LDAsMCwwLDIsNy44MVYzMC4xOUExLjc4LDEuNzgsMCwwLDAsMy43NSwzMmgyOC41QTEuNzgsMS43OCwwLDAsMCwzNCwzMC4xOVY3LjgxQTEuNzgsMS43OCwwLDAsMCwz''@;'; put 'put ''Mi4yNSw2Wk0yNS45NCwxNi41OGwtOS42Nyw5LjY3TDExLDIwLjk0QTEuMzYsMS4zNiwwLDAsMSwxMi45LDE5bDMuMzgsMy4zOEwyNCwxNC42NmExLjM2LDEuMzYsMCwxLDEsMS45MywxLjkzWiIvPicsc29saWRBbGVydGVkOic8cGF0aCBkPSJNMTAsMTBhMSwxLDAsMCwwLDEtMVYzQTEsMSww''@;'; put 'put ''LDAsMCw5LDNWOUExLDEsMCwwLDAsMTAsMTBaIi8+PHBhdGggZD0iTTMzLjY4LDE1LjRIMjYuM2ExLjM0LDEuMzQsMCwwLDEtLjM2LDEuMThsLTkuNjcsOS42N0wxMSwyMC45NEExLjM2LDEuMzYsMCwwLDEsMTIuOSwxOWwzLjM4LDMuMzgsNy03aC0xQTMuNjgsMy42OCwwLDAsMSwxOSw5Ljg5''@;'; put 'put ''TDIxLjI5LDZIMTIuMlY5QTIuMiwyLjIsMCwwLDEsNy44LDlWNmgtNEExLjc4LDEuNzgsMCwwLDAsMiw3LjgxVjMwLjE5QTEuNzgsMS43OCwwLDAsMCwzLjc1LDMyaDI4LjVBMS43OCwxLjc4LDAsMCwwLDM0LDMwLjE5VjE1LjM4WiIvPicsc29saWRCYWRnZWQ6JzxwYXRoIGQ9Ik0xMCwxMGEx''@;'; put 'put ''LDEsMCwwLDAsMS0xVjNBMSwxLDAsMCwwLDksM1Y5QTEsMSwwLDAsMCwxMCwxMFoiLz48cGF0aCBkPSJNMzAsMTMuNUE3LjUsNy41LDAsMCwxLDIyLjUsNkgxMi4yVjlBMi4yLDIuMiwwLDAsMSw3LjgsOVY2aC00QTEuNzgsMS43OCwwLDAsMCwyLDcuODFWMzAuMTlBMS43OCwxLjc4LDAsMCww''@;'; put 'put ''LDMuNzUsMzJoMjguNUExLjc4LDEuNzgsMCwwLDAsMzQsMzAuMTlWMTIuMzRBNy40NSw3LjQ1LDAsMCwxLDMwLDEzLjVabS00LjA2LDMuMDgtOS42Nyw5LjY3TDExLDIwLjk0QTEuMzYsMS4zNiwwLDAsMSwxMi45LDE5bDMuMzgsMy4zOEwyNCwxNC42NmExLjM2LDEuMzYsMCwxLDEsMS45Mywx''@;'; put 'put ''LjkzWiIvPid9XSxDej1bImNhbGVuZGFyIix7b3V0bGluZTonPHBhdGggZD0iTTMyLjI1LDZIMjlWOGgzVjMwSDRWOEg3VjZIMy43NUExLjc4LDEuNzgsMCwwLDAsMiw3LjgxVjMwLjE5QTEuNzgsMS43OCwwLDAsMCwzLjc1LDMyaDI4LjVBMS43OCwxLjc4LDAsMCwwLDM0LDMwLjE5VjcuODFB''@;'; put 'put ''MS43OCwxLjc4LDAsMCwwLDMyLjI1LDZaIi8+PHJlY3QgeD0iOCIgeT0iMTQiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSIxNCIgeT0iMTQiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSIyMCIgeT0iMTQiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSIyNiIg''@;'; put 'put ''eT0iMTQiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSI4IiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjE0IiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjIwIiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjI2''@;'; put 'put ''IiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjgiIHk9IjI0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QiIHg9IjE0IiB5PSIyNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjIwIiB5PSIyNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9''@;'; put 'put ''IjI2IiB5PSIyNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxwYXRoIGQ9Ik0xMCwxMGExLDEsMCwwLDAsMS0xVjNBMSwxLDAsMCwwLDksM1Y5QTEsMSwwLDAsMCwxMCwxMFoiLz48cGF0aCBkPSJNMjYsMTBhMSwxLDAsMCwwLDEtMVYzYTEsMSwwLDAsMC0yLDBWOUExLDEsMCwwLDAsMjYsMTBa''@;'; put 'put ''Ii8+PHJlY3QgeD0iMTMiIHk9IjYiIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIi8+JyxvdXRsaW5lQWxlcnRlZDonPHBhdGggZD0iTTMzLjY4LDE1LjRIMzJWMzBINFY4SDdWNkgzLjc1QTEuNzgsMS43OCwwLDAsMCwyLDcuODFWMzAuMTlBMS43OCwxLjc4LDAsMCwwLDMuNzUsMzJoMjguNUExLjc4''@;'; put 'put ''LDEuNzgsMCwwLDAsMzQsMzAuMTlWMTUuMzhaIi8+PHJlY3QgeD0iOCIgeT0iMTQiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSIxNCIgeT0iMTQiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSI4IiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjE0''@;'; put 'put ''IiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjIwIiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjI2IiB5PSIxOSIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjgiIHk9IjI0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QgeD0i''@;'; put 'put ''MTQiIHk9IjI0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QgeD0iMjAiIHk9IjI0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QgeD0iMjYiIHk9IjI0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHBhdGggZD0iTTEwLDEwYTEsMSwwLDAsMCwxLTFWM0ExLDEsMCwwLDAsOSwzVjlB''@;'; put 'put ''MSwxLDAsMCwwLDEwLDEwWiIvPjxwb2x5Z29uIHBvaW50cz0iMjEuMjkgNiAxMyA2IDEzIDggMjAuMTQgOCAyMS4yOSA2Ii8+JyxvdXRsaW5lQmFkZ2VkOic8cGF0aCBkPSJNMzIsMTMuMjJWMzBINFY4SDdWNkgzLjc1QTEuNzgsMS43OCwwLDAsMCwyLDcuODFWMzAuMTlBMS43OCwxLjc4LDAs''@;'; put 'put ''MCwwLDMuNzUsMzJoMjguNUExLjc4LDEuNzgsMCwwLDAsMzQsMzAuMTlWMTIuMzRBNy40NSw3LjQ1LDAsMCwxLDMyLDEzLjIyWiIvPjxyZWN0IHg9IjgiIHk9IjE0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QgeD0iMTQiIHk9IjE0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3Qg''@;'; put 'put ''eD0iMjAiIHk9IjE0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QgeD0iMjYiIHk9IjE0IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QgeD0iOCIgeT0iMTkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSIxNCIgeT0iMTkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVj''@;'; put 'put ''dCB4PSIyMCIgeT0iMTkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSIyNiIgeT0iMTkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48cmVjdCB4PSI4IiB5PSIyNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjE0IiB5PSIyNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxy''@;'; put 'put ''ZWN0IHg9IjIwIiB5PSIyNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IHg9IjI2IiB5PSIyNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxwYXRoIGQ9Ik0xMCwxMGExLDEsMCwwLDAsMS0xVjNBMSwxLDAsMCwwLDksM1Y5QTEsMSwwLDAsMCwxMCwxMFoiLz48cGF0aCBkPSJNMjIuNSw2''@;'; put 'put ''SDEzVjhoOS43OEE3LjQ5LDcuNDksMCwwLDEsMjIuNSw2WiIvPicsc29saWQ6JzxwYXRoIGQ9Ik0zMi4yNSw2aC00VjlhMi4yLDIuMiwwLDEsMS00LjQsMFY2SDEyLjJWOUEyLjIsMi4yLDAsMCwxLDcuOCw5VjZoLTRBMS43OCwxLjc4LDAsMCwwLDIsNy44MVYzMC4xOUExLjc4LDEuNzgsMCww''@;'; put 'put ''LDAsMy43NSwzMmgyOC41QTEuNzgsMS43OCwwLDAsMCwzNCwzMC4xOVY3LjgxQTEuNzgsMS43OCwwLDAsMCwzMi4yNSw2Wk0xMCwyNkg4VjI0aDJabTAtNUg4VjE5aDJabTAtNUg4VjE0aDJabTYsMTBIMTRWMjRoMlptMC01SDE0VjE5aDJabTAtNUgxNFYxNGgyWm02LDEwSDIwVjI0aDJabTAt''@;'; put 'put ''NUgyMFYxOWgyWm0wLTVIMjBWMTRoMlptNiwxMEgyNlYyNGgyWm0wLTVIMjZWMTloMlptMC01SDI2VjE0aDJaIi8+PHBhdGggZD0iTTEwLDEwYTEsMSwwLDAsMCwxLTFWM0ExLDEsMCwwLDAsOSwzVjlBMSwxLDAsMCwwLDEwLDEwWiIvPjxwYXRoIGQ9Ik0yNiwxMGExLDEsMCwwLDAsMS0xVjNh''@;'; put 'put ''MSwxLDAsMCwwLTIsMFY5QTEsMSwwLDAsMCwyNiwxMFoiLz4nLHNvbGlkQWxlcnRlZDonPHBhdGggZD0iTTMzLjY4LDE1LjRIMjIuMjNBMy42OCwzLjY4LDAsMCwxLDE5LDkuODlMMjEuMjksNkgxMi4yVjlBMi4yLDIuMiwwLDAsMSw3LjgsOVY2aC00QTEuNzgsMS43OCwwLDAsMCwyLDcuODFW''@;'; put 'put ''MzAuMTlBMS43OCwxLjc4LDAsMCwwLDMuNzUsMzJoMjguNUExLjc4LDEuNzgsMCwwLDAsMzQsMzAuMTlWMTUuMzhaTTEwLDI2SDhWMjRoMlptMC01SDhWMTloMlptMC01SDhWMTRoMlptNiwxMEgxNFYyNGgyWm0wLTVIMTRWMTloMlptMC01SDE0VjE0aDJabTYsMTBIMjBWMjRoMlptMC01SDIw''@;'; put 'put ''VjE5aDJabTYsNUgyNlYyNGgyWm0wLTVIMjZWMTloMloiLz48cGF0aCBkPSJNMTAsMTBhMSwxLDAsMCwwLDEtMVYzQTEsMSwwLDAsMCw5LDNWOUExLDEsMCwwLDAsMTAsMTBaIi8+Jyxzb2xpZEJhZGdlZDonPHBhdGggZD0iTTEwLDEwYTEsMSwwLDAsMCwxLTFWM0ExLDEsMCwwLDAsOSwzVjlB''@;'; put 'put ''MSwxLDAsMCwwLDEwLDEwWiIvPjxwYXRoIGQ9Ik0zMCwxMy41QTcuNSw3LjUsMCwwLDEsMjIuNSw2SDEyLjJWOUEyLjIsMi4yLDAsMCwxLDcuOCw5VjZoLTRBMS43OCwxLjc4LDAsMCwwLDIsNy44MVYzMC4xOUExLjc4LDEuNzgsMCwwLDAsMy43NSwzMmgyOC41QTEuNzgsMS43OCwwLDAsMCwz''@;'; put 'put ''NCwzMC4xOVYxMi4zNEE3LjQ1LDcuNDUsMCwwLDEsMzAsMTMuNVpNMTAsMjZIOFYyNGgyWm0wLTVIOFYxOWgyWm0wLTVIOFYxNGgyWm02LDEwSDE0VjI0aDJabTAtNUgxNFYxOWgyWm0wLTVIMTRWMTRoMlptNiwxMEgyMFYyNGgyWm0wLTVIMjBWMTloMlptMC01SDIwVjE0aDJabTYsMTBIMjZW''@;'; put 'put ''MjRoMlptMC01SDI2VjE5aDJabTAtNUgyNlYxNGgyWiIvPid9XSxrej1bImV5ZS1oaWRlIix7b3V0bGluZTonPHBhdGggZD0iTTI1LjE5LDIwLjRBNi43OCw2Ljc4LDAsMCwwLDI1LjYyLDE4YTYuODYsNi44NiwwLDAsMC02Ljg2LTYuODYsNi43OSw2Ljc5LDAsMCwwLTIuMzcuNDNMMTgsMTMu''@;'; put 'put ''MjNhNC43OCw0Ljc4LDAsMCwxLC43NC0uMDZBNC44Nyw0Ljg3LDAsMCwxLDIzLjYyLDE4YTQuNzksNC43OSwwLDAsMS0uMDYuNzRaIi8+PHBhdGggZD0iTTM0LjI5LDE3LjUzYy0zLjM3LTYuMjMtOS4yOC0xMC0xNS44Mi0xMGExNi44MiwxNi44MiwwLDAsMC01LjI0Ljg1TDE0Ljg0LDEwYTE0''@;'; put 'put ''Ljc4LDE0Ljc4LDAsMCwxLDMuNjMtLjQ3YzUuNjMsMCwxMC43NSwzLjE0LDEzLjgsOC40M2ExNy43NSwxNy43NSwwLDAsMS00LjM3LDUuMWwxLjQyLDEuNDJhMTkuOTMsMTkuOTMsMCwwLDAsNS02bC4yNi0uNDhaIi8+PHBhdGggZD0iTTQuODcsNS43OGw0LjQ2LDQuNDZhMTkuNTIsMTkuNTIs''@;'; put 'put ''MCwwLDAtNi42OSw3LjI5TDIuMzgsMThsLjI2LjQ4YzMuMzcsNi4yMyw5LjI4LDEwLDE1LjgyLDEwYTE2LjkzLDE2LjkzLDAsMCwwLDcuMzctMS42OWw1LDUsMS43NS0xLjUtMjYtMjZabTkuNzUsOS43NSw2LjY1LDYuNjVhNC44MSw0LjgxLDAsMCwxLTIuNS43MkE0Ljg3LDQuODcsMCwwLDEs''@;'; put 'put ''MTMuOSwxOCw0LjgxLDQuODEsMCwwLDEsMTQuNjIsMTUuNTNabS0xLjQ1LTEuNDVhNi44NSw2Ljg1LDAsMCwwLDkuNTUsOS41NWwxLjYsMS42YTE0LjkxLDE0LjkxLDAsMCwxLTUuODYsMS4yYy01LjYzLDAtMTAuNzUtMy4xNC0xMy44LTguNDNhMTcuMjksMTcuMjksMCwwLDEsNi4xMi02LjNa''@;'; put 'put ''Ii8+Jyxzb2xpZDonPHBhdGggZD0iTTE4LjM3LDExLjE3QTYuNzksNi43OSwwLDAsMCwxNiwxMS42bDguOCw4LjhBNi43OCw2Ljc4LDAsMCwwLDI1LjIzLDE4LDYuODYsNi44NiwwLDAsMCwxOC4zNywxMS4xN1oiLz48cGF0aCBkPSJNMzQuMjksMTcuNTNjLTMuMzctNi4yMy05LjI4LTEwLTE1''@;'; put 'put ''LjgyLTEwYTE2LjgyLDE2LjgyLDAsMCwwLTUuMjQuODVMMTQuODQsMTBhMTQuNzgsMTQuNzgsMCwwLDEsMy42My0uNDdjNS42MywwLDEwLjc1LDMuMTQsMTMuOCw4LjQzYTE3Ljc1LDE3Ljc1LDAsMCwxLTQuMzcsNS4xbDEuNDIsMS40MmExOS45MywxOS45MywwLDAsMCw1LTZsLjI2LS40OFoi''@;'; put 'put ''Lz48cGF0aCBkPSJNNC44Nyw1Ljc4bDQuNDYsNC40NmExOS41MiwxOS41MiwwLDAsMC02LjY5LDcuMjlMMi4zOCwxOGwuMjYuNDhjMy4zNyw2LjIzLDkuMjgsMTAsMTUuODIsMTBhMTYuOTMsMTYuOTMsMCwwLDAsNy4zNy0xLjY5bDUsNSwxLjc1LTEuNS0yNi0yNlptOC4zLDguM2E2Ljg1LDYu''@;'; put 'put ''ODUsMCwwLDAsOS41NSw5LjU1bDEuNiwxLjZhMTQuOTEsMTQuOTEsMCwwLDEtNS44NiwxLjJjLTUuNjMsMC0xMC43NS0zLjE0LTEzLjgtOC40M2ExNy4yOSwxNy4yOSwwLDAsMSw2LjEyLTYuM1oiLz4nfV0sano9WyJleWUiLHtvdXRsaW5lOic8cGF0aCBkPSJNMzMuNjIsMTcuNTNjLTMuMzct''@;'; put 'put ''Ni4yMy05LjI4LTEwLTE1LjgyLTEwUzUuMzQsMTEuMywyLDE3LjUzTDEuNzIsMThsLjI2LjQ4YzMuMzcsNi4yMyw5LjI4LDEwLDE1LjgyLDEwczEyLjQ2LTMuNzIsMTUuODItMTBsLjI2LS40OFpNMTcuOCwyNi40M0MxMi4xNywyNi40Myw3LDIzLjI5LDQsMThjMy01LjI5LDguMTctOC40Mywx''@;'; put 'put ''My44LTguNDNTMjguNTQsMTIuNzIsMzEuNTksMThDMjguNTQsMjMuMjksMjMuNDIsMjYuNDMsMTcuOCwyNi40M1oiLz48cGF0aCBkPSJNMTguMDksMTEuMTdBNi44Niw2Ljg2LDAsMSwwLDI1LDE4LDYuODYsNi44NiwwLDAsMCwxOC4wOSwxMS4xN1ptMCwxMS43MkE0Ljg2LDQuODYsMCwxLDEs''@;'; put 'put ''MjMsMTgsNC44Nyw0Ljg3LDAsMCwxLDE4LjA5LDIyLjg5WiIvPicsc29saWQ6JzxwYXRoIGQ9Ik0zMy42MiwxNy41M2MtMy4zNy02LjIzLTkuMjgtMTAtMTUuODItMTBTNS4zNCwxMS4zLDIsMTcuNTNMMS43MiwxOGwuMjYuNDhjMy4zNyw2LjIzLDkuMjgsMTAsMTUuODIsMTBzMTIuNDYtMy43''@;'; put 'put ''MiwxNS44Mi0xMGwuMjYtLjQ4Wk0xNy44LDI2LjQzQzEyLjE3LDI2LjQzLDcsMjMuMjksNCwxOGMzLTUuMjksOC4xNy04LjQzLDEzLjgtOC40M1MyOC41NCwxMi43MiwzMS41OSwxOEMyOC41NCwyMy4yOSwyMy40MiwyNi40MywxNy44LDI2LjQzWiIvPjxjaXJjbGUgY3g9IjE4LjA5IiBjeT0i''@;'; put 'put ''MTguMDMiIHI9IjYuODYiLz4nfV0sU3o9WyJlbGxpcHNpcy12ZXJ0aWNhbCIse291dGxpbmU6JzxjaXJjbGUgY3g9IjE4IiBjeT0iNC45IiByPSIyLjkiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIyLjkiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjMxLjEiIHI9IjIuOSIvPicsb3V0bGlu''@;'; put 'put ''ZUJhZGdlZDonPGNpcmNsZSBjeD0iMTgiIGN5PSI0LjkiIHI9IjIuOSIvPjxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjIuOSIvPjxjaXJjbGUgY3g9IjE4IiBjeT0iMzEuMSIgcj0iMi45Ii8+J31dLE96PVsidmlldy1jb2x1bW5zIix7b3V0bGluZTonPHBhdGggZD0iTTMxLDVINUEyLDIs''@;'; put 'put ''MCwwLDAsMyw3VjI5YTIsMiwwLDAsMCwyLDJIMzFhMiwyLDAsMCwwLDItMlY3QTIsMiwwLDAsMCwzMSw1Wk0xMywyOUg1VjdoOFptMTAsMEgxNVY3aDhaIi8+J31dLFB6PVsiYXJyb3ciLHtvdXRsaW5lOic8cGF0aCBkPSJNMjcuNjYsMTUuNjEsMTgsNiw4LjM0LDE1LjYxQTEsMSwwLDEsMCw5''@;'; put 'put ''Ljc1LDE3TDE3LDkuODFWMjguOTRhMSwxLDAsMSwwLDIsMFY5LjgxTDI2LjI1LDE3YTEsMSwwLDAsMCwxLjQxLTEuNDJaIi8+J31dLE5PPVsidGltZXMiLHtvdXRsaW5lOic8cGF0aCBkPSJNMTkuNDEsMThsOC4yOS04LjI5YTEsMSwwLDAsMC0xLjQxLTEuNDFMMTgsMTYuNTksOS43MSw4LjI5''@;'; put 'put ''QTEsMSwwLDAsMCw4LjI5LDkuNzFMMTYuNTksMTgsOC4yOSwyNi4yOWExLDEsMCwxLDAsMS40MSwxLjQxTDE4LDE5LjQxbDguMjksOC4yOWExLDEsMCwwLDAsMS40MS0xLjQxWiIvPid9XSxEej1bInN0ZXAtZm9yd2FyZC0yIix7b3V0bGluZTonPHBhdGggZD0iTTcuMDgsNi41MmExLjY4LDEu''@;'; put 'put ''NjgsMCwwLDAsMCwyLjRMMTYuNTEsMTgsNy4xMiwyNy4wOGExLjcsMS43LDAsMCwwLDIuMzYsMi40NGgwTDIxLjQsMTgsOS40OCw2LjQ3QTEuNjksMS42OSwwLDAsMCw3LjA4LDYuNTJaIi8+PHBhdGggZD0iTTI2LjQ5LDVhMS43LDEuNywwLDAsMC0xLjcsMS43VjI5LjNhMS43LDEuNywwLDAs''@;'; put 'put ''MCwzLjQsMFY2LjdBMS43LDEuNywwLDAsMCwyNi40OSw1WiIvPid9XSxZTz1bImFuZ2xlLWRvdWJsZSIse291dGxpbmU6JzxwYXRoIGQ9Ik0yOSwxOS40MWExLDEsMCwwLDEtLjcxLS4yOUwxOCw4LjgzLDcuNzEsMTkuMTJhMSwxLDAsMCwxLTEuNDEtMS40MUwxOCw2LDI5LjcxLDE3LjcxQTEs''@;'; put 'put ''MSwwLDAsMSwyOSwxOS40MVoiLz48cGF0aCBkPSJNMjksMzAuNDFhMSwxLDAsMCwxLS43MS0uMjlMMTgsMTkuODMsNy43MSwzMC4xMmExLDEsMCwwLDEtMS40MS0xLjQxTDE4LDE3LDI5LjcxLDI4LjcxQTEsMSwwLDAsMSwyOSwzMC40MVoiLz4nfV0seHo9WyJmaWx0ZXItZ3JpZC1jaXJjbGUi''@;'; put 'put ''LHtvdXRsaW5lOic8cGF0aCBkPSJNMTUsMjUuODZsMiwxVjIwLjI3YTEsMSwwLDAsMC0uMjktLjdMMTAuMjMsMTNIMjUuNzlsLTYuNDcsNi41N2ExLDEsMCwwLDAtLjI5LjdMMTksMjhsMiwxVjIwLjY4TDI3LjU4LDE0QTEuNDYsMS40NiwwLDAsMCwyOCwxM1YxMmExLDEsMCwwLDAtMS0xSDlh''@;'; put 'put ''MSwxLDAsMCwwLTEsMXYxYTEuNDYsMS40NiwwLDAsMCwuNDIsMUwxNSwyMC42OFoiLz48cGF0aCBkPSJNMTgsMkExNiwxNiwwLDEsMCwzNCwxOCwxNiwxNiwwLDAsMCwxOCwyWm0wLDMwQTE0LDE0LDAsMSwxLDMyLDE4LDE0LDE0LDAsMCwxLDE4LDMyWiIvPicsc29saWQ6JzxwYXRoIGQ9Ik0x''@;'; put 'put ''OCwyQTE2LDE2LDAsMSwwLDM0LDE4LDE2LDE2LDAsMCwwLDE4LDJabTAsMzBBMTQsMTQsMCwxLDEsMzIsMTgsMTQsMTQsMCwwLDEsMTgsMzJaIi8+PHBhdGggZD0iTTgsMTF2MS4xMmEuNS41LDAsMCwwLC4xNS4zNWw3LjI4LDcuMzZhLjUuNSwwLDAsMSwuMTUuMzV2Ni44OWEuNS41LDAsMCww''@;'; put 'put ''LC4yOC40NWwzLjk1LDEuNDFhLjUuNSwwLDAsMCwuNzItLjQ1bDAtOC4zOWEuNTQuNTQsMCwwLDEsLjE4LS4zNWw3LjEyLTcuMjVhLjUuNSwwLDAsMCwuMTUtLjM1VjExWiIvPid9XSxBej1bImZpbHRlci1ncmlkIix7b3V0bGluZTonPHBhdGggZD0iTTE1LDI1Ljg2bDIsMVYyMC4yN2ExLDEs''@;'; put 'put ''MCwwLDAtLjI5LS43TDEwLjIzLDEzSDI1Ljc5bC02LjQ3LDYuNTdhMSwxLDAsMCwwLS4yOS43TDE5LDI4bDIsMVYyMC42OEwyNy41OCwxNEExLjQ2LDEuNDYsMCwwLDAsMjgsMTNWMTJhMSwxLDAsMCwwLTEtMUg5YTEsMSwwLDAsMC0xLDF2MWExLjQ2LDEuNDYsMCwwLDAsLjQyLDFMMTUsMjAu''@;'; put 'put ''NjhaIi8+Jyxzb2xpZDonPHBhdGggZD0iTTgsMTF2MS4xMmEuNS41LDAsMCwwLC4xNS4zNWw3LjI4LDcuMzZhLjUuNSwwLDAsMSwuMTUuMzV2Ni44OWEuNS41LDAsMCwwLC4yOC40NWwzLjk1LDEuNDFhLjUuNSwwLDAsMCwuNzItLjQ1bDAtOC4zOWEuNTQuNTQsMCwwLDEsLjE4LS4zNWw3LjEy''@;'; put 'put ''LTcuMjVhLjUuNSwwLDAsMCwuMTUtLjM1VjExWiIvPid9XSx6Tz1bImluZm8tY2lyY2xlIix7b3V0bGluZTonPGNpcmNsZSBjeD0iMTcuOTMiIGN5PSIxMS45IiByPSIxLjQiLz48cGF0aCBkPSJNMjEsMjNIMTlWMTVIMTZhMSwxLDAsMCwwLDAsMmgxdjZIMTVhMSwxLDAsMSwwLDAsMmg2YTEs''@;'; put 'put ''MSwwLDAsMCwwLTJaIi8+PHBhdGggZD0iTTE4LDZBMTIsMTIsMCwxLDAsMzAsMTgsMTIsMTIsMCwwLDAsMTgsNlptMCwyMkExMCwxMCwwLDEsMSwyOCwxOCwxMCwxMCwwLDAsMSwxOCwyOFoiLz4nLHNvbGlkOic8cGF0aCBkPSJNMTgsNkExMiwxMiwwLDEsMCwzMCwxOCwxMiwxMiwwLDAsMCwx''@;'; put 'put ''OCw2Wm0tMiw1LjE1YTIsMiwwLDEsMSwyLDJBMiwyLDAsMCwxLDE1LjksMTEuMTVaTTIzLDI0YTEsMSwwLDAsMS0xLDFIMTVhMSwxLDAsMSwxLDAtMmgyVjE3SDE2YTEsMSwwLDAsMSwwLTJoNHY4aDJBMSwxLDAsMCwxLDIzLDI0WiIvPid9XSxFej1bImV4Y2xhbWF0aW9uLXRyaWFuZ2xlIix7''@;'; put 'put ''b3V0bGluZTonPHBhdGggZD0iTTE4LDIxLjMyYTEuMywxLjMsMCwwLDAsMS4zLTEuM1YxNGExLjMsMS4zLDAsMSwwLTIuNiwwdjZBMS4zLDEuMywwLDAsMCwxOCwyMS4zMloiLz48Y2lyY2xlIGN4PSIxNy45NSIgY3k9IjI0LjI3IiByPSIxLjUiLz48cGF0aCBkPSJNMzAuMzMsMjUuNTQsMjAu''@;'; put 'put ''NTksNy42YTMsMywwLDAsMC01LjI3LDBMNS41NywyNS41NEEzLDMsMCwwLDAsOC4yMSwzMEgyNy42OWEzLDMsMCwwLDAsMi42NC00LjQzWm0tMS43OCwxLjk0YTEsMSwwLDAsMS0uODYuNDlIOC4yMWExLDEsMCwwLDEtLjg4LTEuNDhMMTcuMDcsOC41NWExLDEsMCwwLDEsMS43NiwwbDkuNzQs''@;'; put 'put ''MTcuOTRBMSwxLDAsMCwxLDI4LjU1LDI3LjQ4WiIvPicsc29saWQ6JzxwYXRoIGQ9Ik0zMC4zMywyNS41NCwyMC41OSw3LjZhMywzLDAsMCwwLTUuMjcsMEw1LjU3LDI1LjU0QTMsMywwLDAsMCw4LjIxLDMwSDI3LjY5YTMsMywwLDAsMCwyLjY0LTQuNDNaTTE2LjQ2LDEyLjc0YTEuNDksMS40''@;'; put 'put ''OSwwLDAsMSwzLDB2Ni44OWExLjQ5LDEuNDksMCwxLDEtMywwWk0xOCwyNi4yNWExLjcyLDEuNzIsMCwxLDEsMS43Mi0xLjcyQTEuNzIsMS43MiwwLDAsMSwxOCwyNi4yNVoiLz4nfV0sVHo9WyJjaXJjbGUiLHtvdXRsaW5lOic8cGF0aCBkPSJNMTgsMzRBMTYsMTYsMCwxLDEsMzQsMTgsMTYs''@;'; put 'put ''MTYsMCwwLDEsMTgsMzRaTTE4LDRBMTQsMTQsMCwxLDAsMzIsMTgsMTQsMTQsMCwwLDAsMTgsNFoiLz4nLHNvbGlkOic8cGF0aCBkPSJNMTgsMzRBMTYsMTYsMCwxLDEsMzQsMTgsMTYsMTYsMCwwLDEsMTgsMzRaIi8+J31dLEx6PVsiZG90LWNpcmNsZSIse291dGxpbmU6JzxwYXRoIGQ9Ik0x''@;'; put 'put ''OCwxMWE3LDcsMCwxLDEtNyw3LDcsNywwLDAsMSw3LTciLz48cGF0aCBkPSJNMTgsMzRBMTYsMTYsMCwxLDEsMzQsMTgsMTYsMTYsMCwwLDEsMTgsMzRaTTE4LDRBMTQsMTQsMCwxLDAsMzIsMTgsMTQsMTQsMCwwLDAsMTgsNFoiLz4nfV0sQk89WyJlcnJvci1zdGFuZGFyZCIse291dGxpbmU6''@;'; put 'put ''JzxjaXJjbGUgY3g9IjE4IiBjeT0iMjYuMDYiIHI9IjEuMzMiLz48cGF0aCBkPSJNMTgsMjIuNjFhMSwxLDAsMCwxLTEtMXYtMTJhMSwxLDAsMSwxLDIsMHYxMkExLDEsMCwwLDEsMTgsMjIuNjFaIi8+PHBhdGggZD0iTTE4LDM0QTE2LDE2LDAsMSwxLDM0LDE4LDE2LDE2LDAsMCwxLDE4LDM0''@;'; put 'put ''Wk0xOCw0QTE0LDE0LDAsMSwwLDMyLDE4LDE0LDE0LDAsMCwwLDE4LDRaIi8+Jyxzb2xpZDonPHBhdGggZD0iTTE4LDIuMWExNiwxNiwwLDEsMCwxNiwxNkExNiwxNiwwLDAsMCwxOCwyLjFaTTE2LjYsOC44YTEuNCwxLjQsMCwwLDEsMi44LDB2MTJhMS40LDEuNCwwLDAsMS0yLjgsMFpNMTgs''@;'; put 'put ''MjguNmExLjgsMS44LDAsMSwxLDEuOC0xLjhBMS44LDEuOCwwLDAsMSwxOCwyOC42WiIvPid9XSxJej1bInN1Y2Nlc3Mtc3RhbmRhcmQiLHtvdXRsaW5lOic8cGF0aCBkPSJNMTgsMkExNiwxNiwwLDEsMCwzNCwxOCwxNiwxNiwwLDAsMCwxOCwyWm0wLDMwQTE0LDE0LDAsMSwxLDMyLDE4LDE0''@;'; put 'put ''LDE0LDAsMCwxLDE4LDMyWiIvPjxwYXRoIGQ9Ik0yOCwxMi4xYTEsMSwwLDAsMC0xLjQxLDBMMTUuNDksMjMuMTVsLTYtNkExLDEsMCwwLDAsOCwxOC41M0wxNS40OSwyNiwyOCwxMy41MkExLDEsMCwwLDAsMjgsMTIuMVoiLz4nLHNvbGlkOic8cGF0aCBkPSJNMTgsMkExNiwxNiwwLDEsMCwz''@;'; put 'put ''NCwxOCwxNiwxNiwwLDAsMCwxOCwyWk0yOC40NSwxMi42MywxNS4zMSwyNS43Niw3LjU1LDE4YTEuNCwxLjQsMCwwLDEsMi0ybDUuNzgsNS43OEwyNi40NywxMC42NWExLjQsMS40LDAsMSwxLDIsMloiLz4nfV07Y2xhc3MgWXogZXh0ZW5kcyBae2NvbnN0cnVjdG9yKGMsYSl7c3VwZXIoKX1z''@;'; put 'put ''Y2hlZHVsZShjLGE9MCl7cmV0dXJuIHRoaXN9fWNvbnN0ICRnPXtzZXRJbnRlcnZhbChsLGMsLi4uYSl7Y29uc3R7ZGVsZWdhdGU6ZH09JGc7cmV0dXJuIG51bGwhPWQmJmQuc2V0SW50ZXJ2YWw/ZC5zZXRJbnRlcnZhbChsLGMsLi4uYSk6c2V0SW50ZXJ2YWwobCxjLC4uLmEpfSxjbGVhcklu''@;'; put 'put ''dGVydmFsKGwpe2NvbnN0e2RlbGVnYXRlOmN9PSRnO3JldHVybigobnVsbD09Yz92b2lkIDA6Yy5jbGVhckludGVydmFsKXx8Y2xlYXJJbnRlcnZhbCkobCl9LGRlbGVnYXRlOnZvaWQgMH0sUHk9e25vdzooKT0+KFB5LmRlbGVnYXRlfHxEYXRlKS5ub3coKSxkZWxlZ2F0ZTp2b2lkIDB9O2Ns''@;'; put 'put ''YXNzIERoe2NvbnN0cnVjdG9yKGMsYT1EaC5ub3cpe3RoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcj1jLHRoaXMubm93PWF9c2NoZWR1bGUoYyxhPTAsZCl7cmV0dXJuIG5ldyB0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3IodGhpcyxjKS5zY2hlZHVsZShkLGEpfX1EaC5ub3c9UHkubm93O2NvbnN0''@;'; put 'put ''IEh6PW5ldyBjbGFzcyBCeiBleHRlbmRzIERoe2NvbnN0cnVjdG9yKGMsYT1EaC5ub3cpe3N1cGVyKGMsYSksdGhpcy5hY3Rpb25zPVtdLHRoaXMuX2FjdGl2ZT0hMSx0aGlzLl9zY2hlZHVsZWQ9dm9pZCAwfWZsdXNoKGMpe2NvbnN0e2FjdGlvbnM6YX09dGhpcztpZih0aGlzLl9hY3RpdmUp''@;'; put 'put ''cmV0dXJuIHZvaWQgYS5wdXNoKGMpO2xldCBkO3RoaXMuX2FjdGl2ZT0hMDtkb3tpZihkPWMuZXhlY3V0ZShjLnN0YXRlLGMuZGVsYXkpKWJyZWFrfXdoaWxlKGM9YS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsZCl7Zm9yKDtjPWEuc2hpZnQoKTspYy51bnN1YnNjcmliZSgpO3Rocm93''@;'; put 'put ''IGR9fX0oY2xhc3MgenogZXh0ZW5kcyBZentjb25zdHJ1Y3RvcihjLGEpe3N1cGVyKGMsYSksdGhpcy5zY2hlZHVsZXI9Yyx0aGlzLndvcms9YSx0aGlzLnBlbmRpbmc9ITF9c2NoZWR1bGUoYyxhPTApe2lmKHRoaXMuY2xvc2VkKXJldHVybiB0aGlzO3RoaXMuc3RhdGU9Yztjb25zdCBkPXRo''@;'; put 'put ''aXMuaWQsZj10aGlzLnNjaGVkdWxlcjtyZXR1cm4gbnVsbCE9ZCYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZChmLGQsYSkpLHRoaXMucGVuZGluZz0hMCx0aGlzLmRlbGF5PWEsdGhpcy5pZD10aGlzLmlkfHx0aGlzLnJlcXVlc3RBc3luY0lkKGYsdGhpcy5pZCxhKSx0aGlzfXJlcXVl''@;'; put 'put ''c3RBc3luY0lkKGMsYSxkPTApe3JldHVybiAkZy5zZXRJbnRlcnZhbChjLmZsdXNoLmJpbmQoYyx0aGlzKSxkKX1yZWN5Y2xlQXN5bmNJZChjLGEsZD0wKXtpZihudWxsIT1kJiZ0aGlzLmRlbGF5PT09ZCYmITE9PT10aGlzLnBlbmRpbmcpcmV0dXJuIGE7JGcuY2xlYXJJbnRlcnZhbChhKX1l''@;'; put 'put ''eGVjdXRlKGMsYSl7aWYodGhpcy5jbG9zZWQpcmV0dXJuIG5ldyBFcnJvcigiZXhlY3V0aW5nIGEgY2FuY2VsbGVkIGFjdGlvbiIpO3RoaXMucGVuZGluZz0hMTtjb25zdCBkPXRoaXMuX2V4ZWN1dGUoYyxhKTtpZihkKXJldHVybiBkOyExPT09dGhpcy5wZW5kaW5nJiZudWxsIT10aGlzLmlk''@;'; put 'put ''JiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKHRoaXMuc2NoZWR1bGVyLHRoaXMuaWQsbnVsbCkpfV9leGVjdXRlKGMsYSl7bGV0IGYsZD0hMTt0cnl7dGhpcy53b3JrKGMpfWNhdGNoKHYpe2Q9ITAsZj12fHxuZXcgRXJyb3IoIlNjaGVkdWxlZCBhY3Rpb24gdGhyZXcgZmFsc3kgZXJy''@;'; put 'put ''b3IiKX1pZihkKXJldHVybiB0aGlzLnVuc3Vic2NyaWJlKCksZn11bnN1YnNjcmliZSgpe2lmKCF0aGlzLmNsb3NlZCl7Y29uc3R7aWQ6YyxzY2hlZHVsZXI6YX09dGhpcyx7YWN0aW9uczpkfT1hO3RoaXMud29yaz10aGlzLnN0YXRlPXRoaXMuc2NoZWR1bGVyPW51bGwsdGhpcy5wZW5kaW5n''@;'; put 'put ''PSExLGhlKGQsdGhpcyksbnVsbCE9YyYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZChhLGMsbnVsbCkpLHRoaXMuZGVsYXk9bnVsbCxzdXBlci51bnN1YnNjcmliZSgpfX19KTtmdW5jdGlvbiB4aChsLGM9SHope3JldHVybiBYKChhLGQpPT57bGV0IGY9bnVsbCx2PW51bGwseD1udWxs''@;'; put 'put ''O2NvbnN0IEg9KCk9PntpZihmKXtmLnVuc3Vic2NyaWJlKCksZj1udWxsO2NvbnN0IGVlPXY7dj1udWxsLGQubmV4dChlZSl9fTtmdW5jdGlvbiBLKCl7Y29uc3QgZWU9eCtsLGZlPWMubm93KCk7aWYoZmU8ZWUpcmV0dXJuIGY9dGhpcy5zY2hlZHVsZSh2b2lkIDAsZWUtZmUpLHZvaWQgZC5h''@;'; put 'put ''ZGQoZik7SCgpfWEuc3Vic2NyaWJlKG5lKGQsZWU9Pnt2PWVlLHg9Yy5ub3coKSxmfHwoZj1jLnNjaGVkdWxlKEssbCksZC5hZGQoZikpfSwoKT0+e0goKSxkLmNvbXBsZXRlKCl9LHZvaWQgMCwoKT0+e3Y9Zj1udWxsfSkpfSl9Y29uc3QgVno9WyJhZGRMaXN0ZW5lciIsInJlbW92ZUxpc3Rl''@;'; put 'put ''bmVyIl0sVXo9WyJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLFd6PVsib24iLCJvZmYiXTtmdW5jdGlvbiBYcyhsLGMsYSxkKXtpZihDZShhKSYmKGQ9YSxhPXZvaWQgMCksZClyZXR1cm4gWHMobCxjLGEpLnBpcGUoZ18oZCkpO2NvbnN0W2Ysdl09ZnVuY3Rpb24g''@;'; put 'put ''WnoobCl7cmV0dXJuIENlKGwuYWRkRXZlbnRMaXN0ZW5lcikmJkNlKGwucmVtb3ZlRXZlbnRMaXN0ZW5lcil9KGwpP1V6Lm1hcCh4PT5IPT5sW3hdKGMsSCxhKSk6ZnVuY3Rpb24gcXoobCl7cmV0dXJuIENlKGwuYWRkTGlzdGVuZXIpJiZDZShsLnJlbW92ZUxpc3RlbmVyKX0obCk/VnoubWFw''@;'; put 'put ''KEhPKGwsYykpOmZ1bmN0aW9uIEd6KGwpe3JldHVybiBDZShsLm9uKSYmQ2UobC5vZmYpfShsKT9Xei5tYXAoSE8obCxjKSk6W107aWYoIWYmJl9uKGwpKXJldHVybiBsdCh4PT5Ycyh4LGMsYSkpKGF0KGwpKTtpZighZil0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGV2ZW50IHRhcmdl''@;'; put 'put ''dCIpO3JldHVybiBuZXcgYih4PT57Y29uc3QgSD0oLi4uSyk9PngubmV4dCgxPEsubGVuZ3RoP0s6S1swXSk7cmV0dXJuIGYoSCksKCk9PnYoSCl9KX1mdW5jdGlvbiBITyhsLGMpe3JldHVybiBhPT5kPT5sW2FdKGMsZCl9Y2xhc3MgRHkgZXh0ZW5kcyBFe2NvbnN0cnVjdG9yKGM9MS8wLGE9''@;'; put 'put ''MS8wLGQ9UHkpe3N1cGVyKCksdGhpcy5fYnVmZmVyU2l6ZT1jLHRoaXMuX3dpbmRvd1RpbWU9YSx0aGlzLl90aW1lc3RhbXBQcm92aWRlcj1kLHRoaXMuX2J1ZmZlcj1bXSx0aGlzLl9pbmZpbml0ZVRpbWVXaW5kb3c9ITAsdGhpcy5faW5maW5pdGVUaW1lV2luZG93PWE9PT0xLzAsdGhpcy5f''@;'; put 'put ''YnVmZmVyU2l6ZT1NYXRoLm1heCgxLGMpLHRoaXMuX3dpbmRvd1RpbWU9TWF0aC5tYXgoMSxhKX1uZXh0KGMpe2NvbnN0e2lzU3RvcHBlZDphLF9idWZmZXI6ZCxfaW5maW5pdGVUaW1lV2luZG93OmYsX3RpbWVzdGFtcFByb3ZpZGVyOnYsX3dpbmRvd1RpbWU6eH09dGhpczthfHwoZC5wdXNo''@;'; put 'put ''KGMpLCFmJiZkLnB1c2godi5ub3coKSt4KSksdGhpcy5fdHJpbUJ1ZmZlcigpLHN1cGVyLm5leHQoYyl9X3N1YnNjcmliZShjKXt0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fdHJpbUJ1ZmZlcigpO2NvbnN0IGE9dGhpcy5faW5uZXJTdWJzY3JpYmUoYykse19pbmZpbml0ZVRpbWVXaW5k''@;'; put 'put ''b3c6ZCxfYnVmZmVyOmZ9PXRoaXMsdj1mLnNsaWNlKCk7Zm9yKGxldCB4PTA7eDx2Lmxlbmd0aCYmIWMuY2xvc2VkO3grPWQ/MToyKWMubmV4dCh2W3hdKTtyZXR1cm4gdGhpcy5fY2hlY2tGaW5hbGl6ZWRTdGF0dXNlcyhjKSxhfV90cmltQnVmZmVyKCl7Y29uc3R7X2J1ZmZlclNpemU6Yyxf''@;'; put 'put ''dGltZXN0YW1wUHJvdmlkZXI6YSxfYnVmZmVyOmQsX2luZmluaXRlVGltZVdpbmRvdzpmfT10aGlzLHY9KGY/MToyKSpjO2lmKGM8MS8wJiZ2PGQubGVuZ3RoJiZkLnNwbGljZSgwLGQubGVuZ3RoLXYpLCFmKXtjb25zdCB4PWEubm93KCk7bGV0IEg9MDtmb3IobGV0IEs9MTtLPGQubGVuZ3Ro''@;'; put 'put ''JiZkW0tdPD14O0srPTIpSD1LO0gmJmQuc3BsaWNlKDAsSCsxKX19fWNsYXNzIFVPe31jb25zdCBTYT0iKiI7ZnVuY3Rpb24gRm8obCxjKXtyZXR1cm57dHlwZTo3LG5hbWU6bCxkZWZpbml0aW9uczpjLG9wdGlvbnM6e319fWZ1bmN0aW9uIEVpKGwsYz1udWxsKXtyZXR1cm57dHlwZTo0LHN0''@;'; put 'put ''eWxlczpjLHRpbWluZ3M6bH19ZnVuY3Rpb24gV08obCxjPW51bGwpe3JldHVybnt0eXBlOjIsc3RlcHM6bCxvcHRpb25zOmN9fWZ1bmN0aW9uIGlyKGwpe3JldHVybnt0eXBlOjYsc3R5bGVzOmwsb2Zmc2V0Om51bGx9fWZ1bmN0aW9uIGUwKGwsYyxhKXtyZXR1cm57dHlwZTowLG5hbWU6bCxz''@;'; put 'put ''dHlsZXM6YyxvcHRpb25zOmF9fWZ1bmN0aW9uIEt6KGwpe3JldHVybnt0eXBlOjUsc3RlcHM6bH19ZnVuY3Rpb24gcGkobCxjLGE9bnVsbCl7cmV0dXJue3R5cGU6MSxleHByOmwsYW5pbWF0aW9uOmMsb3B0aW9uczphfX1mdW5jdGlvbiBxTyhsKXtQcm9taXNlLnJlc29sdmUobnVsbCkudGhl''@;'; put 'put ''bihsKX1jbGFzcyBFaHtjb25zdHJ1Y3RvcihjPTAsYT0wKXt0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5fb3JpZ2luYWxPbkRvbmVGbnM9W10sdGhpcy5fb3JpZ2luYWxPblN0YXJ0Rm5zPVtdLHRoaXMuX3N0YXJ0ZWQ9''@;'; put 'put ''ITEsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2ZpbmlzaGVkPSExLHRoaXMuX3Bvc2l0aW9uPTAsdGhpcy5wYXJlbnRQbGF5ZXI9bnVsbCx0aGlzLnRvdGFsVGltZT1jK2F9X29uRmluaXNoKCl7dGhpcy5fZmluaXNoZWR8fCh0aGlzLl9maW5pc2hlZD0hMCx0aGlzLl9vbkRvbmVGbnMuZm9y''@;'; put 'put ''RWFjaChjPT5jKCkpLHRoaXMuX29uRG9uZUZucz1bXSl9b25TdGFydChjKXt0aGlzLl9vcmlnaW5hbE9uU3RhcnRGbnMucHVzaChjKSx0aGlzLl9vblN0YXJ0Rm5zLnB1c2goYyl9b25Eb25lKGMpe3RoaXMuX29yaWdpbmFsT25Eb25lRm5zLnB1c2goYyksdGhpcy5fb25Eb25lRm5zLnB1c2go''@;'; put 'put ''Yyl9b25EZXN0cm95KGMpe3RoaXMuX29uRGVzdHJveUZucy5wdXNoKGMpfWhhc1N0YXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhcnRlZH1pbml0KCl7fXBsYXkoKXt0aGlzLmhhc1N0YXJ0ZWQoKXx8KHRoaXMuX29uU3RhcnQoKSx0aGlzLnRyaWdnZXJNaWNyb3Rhc2soKSksdGhpcy5fc3RhcnRl''@;'; put 'put ''ZD0hMH10cmlnZ2VyTWljcm90YXNrKCl7cU8oKCk9PnRoaXMuX29uRmluaXNoKCkpfV9vblN0YXJ0KCl7dGhpcy5fb25TdGFydEZucy5mb3JFYWNoKGM9PmMoKSksdGhpcy5fb25TdGFydEZucz1bXX1wYXVzZSgpe31yZXN0YXJ0KCl7fWZpbmlzaCgpe3RoaXMuX29uRmluaXNoKCl9ZGVzdHJv''@;'; put 'put ''eSgpe3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2Rlc3Ryb3llZD0hMCx0aGlzLmhhc1N0YXJ0ZWQoKXx8dGhpcy5fb25TdGFydCgpLHRoaXMuZmluaXNoKCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goYz0+YygpKSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10pfXJlc2V0KCl7dGhpcy5fc3Rh''@;'; put 'put ''cnRlZD0hMSx0aGlzLl9maW5pc2hlZD0hMSx0aGlzLl9vblN0YXJ0Rm5zPXRoaXMuX29yaWdpbmFsT25TdGFydEZucyx0aGlzLl9vbkRvbmVGbnM9dGhpcy5fb3JpZ2luYWxPbkRvbmVGbnN9c2V0UG9zaXRpb24oYyl7dGhpcy5fcG9zaXRpb249dGhpcy50b3RhbFRpbWU/Yyp0aGlzLnRvdGFs''@;'; put 'put ''VGltZToxfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMudG90YWxUaW1lP3RoaXMuX3Bvc2l0aW9uL3RoaXMudG90YWxUaW1lOjF9dHJpZ2dlckNhbGxiYWNrKGMpe2NvbnN0IGE9InN0YXJ0Ij09Yz90aGlzLl9vblN0YXJ0Rm5zOnRoaXMuX29uRG9uZUZuczthLmZvckVhY2goZD0+ZCgpKSxh''@;'; put 'put ''Lmxlbmd0aD0wfX1jbGFzcyBHT3tjb25zdHJ1Y3RvcihjKXt0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9maW5pc2hlZD0hMSx0aGlzLl9zdGFydGVkPSExLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5wYXJlbnRQbGF5''@;'; put 'put ''ZXI9bnVsbCx0aGlzLnRvdGFsVGltZT0wLHRoaXMucGxheWVycz1jO2xldCBhPTAsZD0wLGY9MDtjb25zdCB2PXRoaXMucGxheWVycy5sZW5ndGg7MD09dj9xTygoKT0+dGhpcy5fb25GaW5pc2goKSk6dGhpcy5wbGF5ZXJzLmZvckVhY2goeD0+e3gub25Eb25lKCgpPT57KythPT12JiZ0aGlz''@;'; put 'put ''Ll9vbkZpbmlzaCgpfSkseC5vbkRlc3Ryb3koKCk9PnsrK2Q9PXYmJnRoaXMuX29uRGVzdHJveSgpfSkseC5vblN0YXJ0KCgpPT57KytmPT12JiZ0aGlzLl9vblN0YXJ0KCl9KX0pLHRoaXMudG90YWxUaW1lPXRoaXMucGxheWVycy5yZWR1Y2UoKHgsSCk9Pk1hdGgubWF4KHgsSC50b3RhbFRp''@;'; put 'put ''bWUpLDApfV9vbkZpbmlzaCgpe3RoaXMuX2ZpbmlzaGVkfHwodGhpcy5fZmluaXNoZWQ9ITAsdGhpcy5fb25Eb25lRm5zLmZvckVhY2goYz0+YygpKSx0aGlzLl9vbkRvbmVGbnM9W10pfWluaXQoKXt0aGlzLnBsYXllcnMuZm9yRWFjaChjPT5jLmluaXQoKSl9b25TdGFydChjKXt0aGlzLl9v''@;'; put 'put ''blN0YXJ0Rm5zLnB1c2goYyl9X29uU3RhcnQoKXt0aGlzLmhhc1N0YXJ0ZWQoKXx8KHRoaXMuX3N0YXJ0ZWQ9ITAsdGhpcy5fb25TdGFydEZucy5mb3JFYWNoKGM9PmMoKSksdGhpcy5fb25TdGFydEZucz1bXSl9b25Eb25lKGMpe3RoaXMuX29uRG9uZUZucy5wdXNoKGMpfW9uRGVzdHJveShj''@;'; put 'put ''KXt0aGlzLl9vbkRlc3Ryb3lGbnMucHVzaChjKX1oYXNTdGFydGVkKCl7cmV0dXJuIHRoaXMuX3N0YXJ0ZWR9cGxheSgpe3RoaXMucGFyZW50UGxheWVyfHx0aGlzLmluaXQoKSx0aGlzLl9vblN0YXJ0KCksdGhpcy5wbGF5ZXJzLmZvckVhY2goYz0+Yy5wbGF5KCkpfXBhdXNlKCl7dGhpcy5w''@;'; put 'put ''bGF5ZXJzLmZvckVhY2goYz0+Yy5wYXVzZSgpKX1yZXN0YXJ0KCl7dGhpcy5wbGF5ZXJzLmZvckVhY2goYz0+Yy5yZXN0YXJ0KCkpfWZpbmlzaCgpe3RoaXMuX29uRmluaXNoKCksdGhpcy5wbGF5ZXJzLmZvckVhY2goYz0+Yy5maW5pc2goKSl9ZGVzdHJveSgpe3RoaXMuX29uRGVzdHJveSgp''@;'; put 'put ''fV9vbkRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fb25GaW5pc2goKSx0aGlzLnBsYXllcnMuZm9yRWFjaChjPT5jLmRlc3Ryb3koKSksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goYz0+YygpKSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10pfXJl''@;'; put 'put ''c2V0KCl7dGhpcy5wbGF5ZXJzLmZvckVhY2goYz0+Yy5yZXNldCgpKSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fc3RhcnRlZD0hMX1zZXRQb3NpdGlvbihjKXtjb25zdCBhPWMqdGhpcy50b3RhbFRpbWU7dGhpcy5wbGF5ZXJzLmZvckVhY2goZD0+e2NvbnN0''@;'; put 'put ''IGY9ZC50b3RhbFRpbWU/TWF0aC5taW4oMSxhL2QudG90YWxUaW1lKToxO2Quc2V0UG9zaXRpb24oZil9KX1nZXRQb3NpdGlvbigpe2NvbnN0IGM9dGhpcy5wbGF5ZXJzLnJlZHVjZSgoYSxkKT0+bnVsbD09PWF8fGQudG90YWxUaW1lPmEudG90YWxUaW1lP2Q6YSxudWxsKTtyZXR1cm4gbnVs''@;'; put 'put ''bCE9Yz9jLmdldFBvc2l0aW9uKCk6MH1iZWZvcmVEZXN0cm95KCl7dGhpcy5wbGF5ZXJzLmZvckVhY2goYz0+e2MuYmVmb3JlRGVzdHJveSYmYy5iZWZvcmVEZXN0cm95KCl9KX10cmlnZ2VyQ2FsbGJhY2soYyl7Y29uc3QgYT0ic3RhcnQiPT1jP3RoaXMuX29uU3RhcnRGbnM6dGhpcy5fb25E''@;'; put 'put ''b25lRm5zO2EuZm9yRWFjaChkPT5kKCkpLGEubGVuZ3RoPTB9fWZ1bmN0aW9uIFh6KGwpe3RoaXMud3JhcHBlZD1sfWZ1bmN0aW9uIHQwKGwpe3ZhciBjLGE7ZnVuY3Rpb24gZih4LEgpe3RyeXt2YXIgSz1sW3hdKEgpLGVlPUsudmFsdWUsZmU9ZWUgaW5zdGFuY2VvZiBYejtQcm9taXNlLnJl''@;'; put 'put ''c29sdmUoZmU/ZWUud3JhcHBlZDplZSkudGhlbihmdW5jdGlvbih5ZSl7ZmU/ZigicmV0dXJuIj09PXg/InJldHVybiI6Im5leHQiLHllKTp2KEsuZG9uZT8icmV0dXJuIjoibm9ybWFsIix5ZSl9LGZ1bmN0aW9uKHllKXtmKCJ0aHJvdyIseWUpfSl9Y2F0Y2goeWUpe3YoInRocm93Iix5ZSl9''@;'; put 'put ''fWZ1bmN0aW9uIHYoeCxIKXtzd2l0Y2goeCl7Y2FzZSJyZXR1cm4iOmMucmVzb2x2ZSh7dmFsdWU6SCxkb25lOiEwfSk7YnJlYWs7Y2FzZSJ0aHJvdyI6Yy5yZWplY3QoSCk7YnJlYWs7ZGVmYXVsdDpjLnJlc29sdmUoe3ZhbHVlOkgsZG9uZTohMX0pfShjPWMubmV4dCk/ZihjLmtleSxjLmFy''@;'; put 'put ''Zyk6YT1udWxsfXRoaXMuX2ludm9rZT1mdW5jdGlvbiBkKHgsSCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKEssZWUpe3ZhciBmZT17a2V5OngsYXJnOkgscmVzb2x2ZTpLLHJlamVjdDplZSxuZXh0Om51bGx9O2E/YT1hLm5leHQ9ZmU6KGM9YT1mZSxmKHgsSCkpfSl9LCJmdW5jdGlv''@;'; put 'put ''biIhPXR5cGVvZiBsLnJldHVybiYmKHRoaXMucmV0dXJuPXZvaWQgMCl9dDAucHJvdG90eXBlWyJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5hc3luY0l0ZXJhdG9yfHwiQEBhc3luY0l0ZXJhdG9yIl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdDAucHJvdG90eXBlLm5leHQ9''@;'; put 'put ''ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMuX2ludm9rZSgibmV4dCIsbCl9LHQwLnByb3RvdHlwZS50aHJvdz1mdW5jdGlvbihsKXtyZXR1cm4gdGhpcy5faW52b2tlKCJ0aHJvdyIsbCl9LHQwLnByb3RvdHlwZS5yZXR1cm49ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMuX2ludm9rZSgicmV0dXJu''@;'; put 'put ''IixsKX0sInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbDtjb25zdCBDQj1UTygzLChsLGMsYSk9PnshZnVuY3Rpb24gX3oobCxjKXtyZXR1cm4gY3x8KGM9d2luZG93JiZ3aW5kb3cuY3VzdG9tRWxlbWVudHMpLCFjfHwhIWMuZ2V0KGwpfShsKXx8ZnVuY3Rpb24gbnooKXt2YXIg''@;'; put 'put ''bCxjLGE7cmV0dXJuIG51bGw9PT0obD13aW5kb3cpfHx2b2lkIDA9PT1sfHxudWxsPT09KGM9bC5sb2NhdGlvbil8fHZvaWQgMD09PWN8fG51bGw9PT0oYT1jLmhyZWYpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmluY2x1ZGVzKCJsb2NhbGhvc3Q6NjAwNiIpfSgpPyhhLmRlZmluZShsLGMpLElP''@;'; put 'put ''KCksd2luZG93JiYhT2JqZWN0LmtleXMod2luZG93LkNEUy5fc3RhdGUuZWxlbWVudFJlZ2lzdHJ5KS5zb21lKGQ9PmQ9PT1sKSYmKHdpbmRvdy5DRFMuX3N0YXRlLmVsZW1lbnRSZWdpc3RyeT1tZihicih7fSx3aW5kb3cuQ0RTLl9zdGF0ZS5lbGVtZW50UmVnaXN0cnkpLHtbbF06e319KSkp''@;'; put 'put ''OkpsLndhcm4obCsiIGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZCIpfSk7ZnVuY3Rpb24gJE8obCxjKXtNTygpJiZMTyhbImN1c3RvbUVsZW1lbnRzIl0pJiZDQihsLGMsd2luZG93LmN1c3RvbUVsZW1lbnRzKX1sZXQgZVA9ITE7ZnVuY3Rpb24ga0IobCl7aWYoKGw9TWF0aC50cnVuYyhs''@;'; put 'put ''KXx8MCk8MCYmKGwrPXRoaXMubGVuZ3RoKSwhKGw8MHx8bD49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2xdfWlmKCFlUCl7ZVA9ITA7Y29uc3QgbD1SZWZsZWN0LmdldFByb3RvdHlwZU9mKEludDhBcnJheSk7Zm9yKGNvbnN0IGMgb2ZbQXJyYXksU3RyaW5nLGxdKU9iamVjdC5kZWZpbmVQ''@;'; put 'put ''cm9wZXJ0eShjLnByb3RvdHlwZSwiYXQiLHt2YWx1ZTprQix3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWxldCB0UD0hMSxuUD0hMTtmdW5jdGlvbiByUChsLGMsYSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGwsYSx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFi''@;'; put 'put ''bGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzQXR0cmlidXRlKGMpP3RoaXMuZ2V0QXR0cmlidXRlKGMpOm51bGx9LHNldDpmdW5jdGlvbihkKXtudWxsIT09ZD90aGlzLnNldEF0dHJpYnV0ZShjLGQpOnRoaXMucmVtb3ZlQXR0cmlidXRlKGMpfX0pfWZ1bmN0aW9uIGlQKGws''@;'; put 'put ''YyxhLGQsZix2LHgpe3RyeXt2YXIgSD1sW3ZdKHgpLEs9SC52YWx1ZX1jYXRjaChlZSl7cmV0dXJuIHZvaWQgYShlZSl9SC5kb25lP2MoSyk6UHJvbWlzZS5yZXNvbHZlKEspLnRoZW4oZCxmKX1mdW5jdGlvbiBvUChsKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYz10aGlzLGE9YXJndW1lbnRz''@;'; put 'put ''O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGYpe3ZhciB2PWwuYXBwbHkoYyxhKTtmdW5jdGlvbiB4KEspe2lQKHYsZCxmLHgsSCwibmV4dCIsSyl9ZnVuY3Rpb24gSChLKXtpUCh2LGQsZix4LEgsInRocm93IixLKX14KHZvaWQgMCl9KX19dFB8fEVsZW1lbnQucHJvdG90eXBlLmhh''@;'; put 'put ''c093blByb3BlcnR5KCJyb2xlIil8fChyUChFbGVtZW50LnByb3RvdHlwZSwicm9sZSIsInJvbGUiKSx0UD0hMCksblB8fEVsZW1lbnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJhcmlhTGFiZWwiKXx8KG5QPSEwLFsiQWN0aXZlRGVzY2VuZGFudCIsIkF0b21pYyIsIkF1dG9Db21wbGV0''@;'; put 'put ''ZSIsIkJ1c3kiLCJDaGVja2VkIiwiQ29sQ291bnQiLCJDb2xJbmRleCIsIkNvbFNwYW4iLCJDb250cm9scyIsIkN1cnJlbnQiLCJEZXNjcmliZWRCeSIsIkRldGFpbHMiLCJEaXNhYmxlZCIsIkVycm9yTWVzc2FnZSIsIkV4cGFuZGVkIiwiRmxvd1RvIiwiSGFzUG9wdXAiLCJIaWRkZW4iLCJJ''@;'; put 'put ''bnZhbGlkIiwiS2V5U2hvcnRjdXRzIiwiTGFiZWwiLCJMYWJlbGxlZEJ5IiwiTGV2ZWwiLCJMaXZlIiwiTW9kYWwiLCJNdWx0aUxpbmUiLCJNdWx0aVNlbGVjdGFibGUiLCJPcmllbnRhdGlvbiIsIk93bnMiLCJQbGFjZWhvbGRlciIsIlBvc0luU2V0IiwiUHJlc3NlZCIsIlJlYWRPbmx5Iiwi''@;'; put 'put ''UmVsZXZhbnQiLCJSZXF1aXJlZCIsIlJvbGVEZXNjcmlwdGlvbiIsIlJvd0NvdW50IiwiUm93SW5kZXgiLCJSb3dTcGFuIiwiU2VsZWN0ZWQiLCJTZXRTaXplIiwiU29ydCIsIlZhbHVlTWF4IiwiVmFsdWVNaW4iLCJWYWx1ZU5vdyIsIlZhbHVlVGV4dCJdLmZvckVhY2gobD0+clAoRWxlbWVu''@;'; put 'put ''dC5wcm90b3R5cGUsImFyaWEtIitsLnRvTG93ZXJDYXNlKCksImFyaWEiK2wpKSk7Y29uc3QgcjA9d2luZG93LFR5PXIwLlNoYWRvd1Jvb3QmJih2b2lkIDA9PT1yMC5TaGFkeUNTU3x8cjAuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5w''@;'; put 'put ''cm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLEx5PVN5bWJvbCgpLHNQPW5ldyBXZWFrTWFwO2NsYXNzIGFQe2NvbnN0cnVjdG9yKGMsYSxkKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxkIT09THkpdGhyb3cgRXJyb3IoIkNTU1Jlc3VsdCBpcyBub3QgY29u''@;'; put 'put ''c3RydWN0YWJsZS4gVXNlIGB1bnNhZmVDU1NgIG9yIGBjc3NgIGluc3RlYWQuIik7dGhpcy5jc3NUZXh0PWMsdGhpcy50PWF9Z2V0IHN0eWxlU2hlZXQoKXtsZXQgYz10aGlzLm87Y29uc3QgYT10aGlzLnQ7aWYoVHkmJnZvaWQgMD09PWMpe2NvbnN0IGQ9dm9pZCAwIT09YSYmMT09PWEubGVu''@;'; put 'put ''Z3RoO2QmJihjPXNQLmdldChhKSksdm9pZCAwPT09YyYmKCh0aGlzLm89Yz1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxkJiZzUC5zZXQoYSxjKSl9cmV0dXJuIGN9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3NUZXh0fX1jb25zdCBJeT0obCwuLi5jKT0+''@;'; put 'put ''e2NvbnN0IGE9MT09PWwubGVuZ3RoP2xbMF06Yy5yZWR1Y2UoKGQsZix2KT0+ZCsoeD0+e2lmKCEwPT09eC5fJGNzc1Jlc3VsdCQpcmV0dXJuIHguY3NzVGV4dDtpZigibnVtYmVyIj09dHlwZW9mIHgpcmV0dXJuIHg7dGhyb3cgRXJyb3IoIlZhbHVlIHBhc3NlZCB0byAnY3NzJyBmdW5jdGlv''@;'; put 'put ''biBtdXN0IGJlIGEgJ2NzcycgZnVuY3Rpb24gcmVzdWx0OiAiK3grIi4gVXNlICd1bnNhZmVDU1MnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LiIpfSkoZikrbFt2KzFdLGxbMF0pO3JldHVybiBuZXcgYVAoYSxsLEx5''@;'; put 'put ''KX0sbFA9VHk/bD0+bDpsPT5sIGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD8oYz0+e2xldCBhPSIiO2Zvcihjb25zdCBkIG9mIGMuY3NzUnVsZXMpYSs9ZC5jc3NUZXh0O3JldHVybihsPT5uZXcgYVAoInN0cmluZyI9PXR5cGVvZiBsP2w6bCsiIix2b2lkIDAsTHkpKShhKX0pKGwpOmw7dmFy''@;'; put 'put ''IEZ5O2NvbnN0IG8wPXdpbmRvdyxjUD1vMC50cnVzdGVkVHlwZXMsT0I9Y1A/Y1AuZW1wdHlTY3JpcHQ6IiIsdVA9bzAucmVhY3RpdmVFbGVtZW50UG9seWZpbGxTdXBwb3J0LFJ5PXt0b0F0dHJpYnV0ZShsLGMpe3N3aXRjaChjKXtjYXNlIEJvb2xlYW46bD1sP09COm51bGw7YnJlYWs7Y2Fz''@;'; put 'put ''ZSBPYmplY3Q6Y2FzZSBBcnJheTpsPW51bGw9PWw/bDpKU09OLnN0cmluZ2lmeShsKX1yZXR1cm4gbH0sZnJvbUF0dHJpYnV0ZShsLGMpe2xldCBhPWw7c3dpdGNoKGMpe2Nhc2UgQm9vbGVhbjphPW51bGwhPT1sO2JyZWFrO2Nhc2UgTnVtYmVyOmE9bnVsbD09PWw/bnVsbDpOdW1iZXIobCk7''@;'; put 'put ''YnJlYWs7Y2FzZSBPYmplY3Q6Y2FzZSBBcnJheTp0cnl7YT1KU09OLnBhcnNlKGwpfWNhdGNoKGQpe2E9bnVsbH19cmV0dXJuIGF9fSxkUD0obCxjKT0+YyE9PWwmJihjPT1jfHxsPT1sKSxOeT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpSeSxyZWZsZWN0OiExLGhhc0No''@;'; put 'put ''YW5nZWQ6ZFB9O2NsYXNzIGp1IGV4dGVuZHMgSFRNTEVsZW1lbnR7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuXyRFaT1uZXcgTWFwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExLHRoaXMuaGFzVXBkYXRlZD0hMSx0aGlzLl8kRWw9bnVsbCx0aGlzLnUoKX1zdGF0aWMgYWRkSW5pdGlhbGl6''@;'; put 'put ''ZXIoYyl7dmFyIGE7bnVsbCE9PShhPXRoaXMuaCkmJnZvaWQgMCE9PWF8fCh0aGlzLmg9W10pLHRoaXMuaC5wdXNoKGMpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7dGhpcy5maW5hbGl6ZSgpO2NvbnN0IGM9W107cmV0dXJuIHRoaXMuZWxlbWVudFByb3BlcnRpZXMuZm9yRWFj''@;'; put 'put ''aCgoYSxkKT0+e2NvbnN0IGY9dGhpcy5fJEVwKGQsYSk7dm9pZCAwIT09ZiYmKHRoaXMuXyRFdi5zZXQoZixkKSxjLnB1c2goZikpfSksY31zdGF0aWMgY3JlYXRlUHJvcGVydHkoYyxhPU55KXtpZihhLnN0YXRlJiYoYS5hdHRyaWJ1dGU9ITEpLHRoaXMuZmluYWxpemUoKSx0aGlzLmVsZW1l''@;'; put 'put ''bnRQcm9wZXJ0aWVzLnNldChjLGEpLCFhLm5vQWNjZXNzb3ImJiF0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShjKSl7Y29uc3QgZD0ic3ltYm9sIj09dHlwZW9mIGM/U3ltYm9sKCk6Il9fIitjLGY9dGhpcy5nZXRQcm9wZXJ0eURlc2NyaXB0b3IoYyxkLGEpO3ZvaWQgMCE9PWYmJk9i''@;'; put 'put ''amVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLnByb3RvdHlwZSxjLGYpfX1zdGF0aWMgZ2V0UHJvcGVydHlEZXNjcmlwdG9yKGMsYSxkKXtyZXR1cm57Z2V0KCl7cmV0dXJuIHRoaXNbYV19LHNldChmKXtjb25zdCB2PXRoaXNbY107dGhpc1thXT1mLHRoaXMucmVxdWVzdFVwZGF0ZShjLHYsZCl9''@;'; put 'put ''LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1zdGF0aWMgZ2V0UHJvcGVydHlPcHRpb25zKGMpe3JldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmdldChjKXx8Tnl9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiZmluYWxpemVkIikpcmV0dXJuITE7''@;'; put 'put ''dGhpcy5maW5hbGl6ZWQ9ITA7Y29uc3QgYz1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7aWYoYy5maW5hbGl6ZSgpLHRoaXMuZWxlbWVudFByb3BlcnRpZXM9bmV3IE1hcChjLmVsZW1lbnRQcm9wZXJ0aWVzKSx0aGlzLl8kRXY9bmV3IE1hcCx0aGlzLmhhc093blByb3BlcnR5KCJwcm9w''@;'; put 'put ''ZXJ0aWVzIikpe2NvbnN0IGE9dGhpcy5wcm9wZXJ0aWVzLGQ9Wy4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGEpLC4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoYSldO2Zvcihjb25zdCBmIG9mIGQpdGhpcy5jcmVhdGVQcm9wZXJ0eShmLGFbZl0pfXJldHVybiB0aGlzLmVs''@;'; put 'put ''ZW1lbnRTdHlsZXM9dGhpcy5maW5hbGl6ZVN0eWxlcyh0aGlzLnN0eWxlcyksITB9c3RhdGljIGZpbmFsaXplU3R5bGVzKGMpe2NvbnN0IGE9W107aWYoQXJyYXkuaXNBcnJheShjKSl7Y29uc3QgZD1uZXcgU2V0KGMuZmxhdCgxLzApLnJldmVyc2UoKSk7Zm9yKGNvbnN0IGYgb2YgZClhLnVu''@;'; put 'put ''c2hpZnQobFAoZikpfWVsc2Ugdm9pZCAwIT09YyYmYS5wdXNoKGxQKGMpKTtyZXR1cm4gYX1zdGF0aWMgXyRFcChjLGEpe2NvbnN0IGQ9YS5hdHRyaWJ1dGU7cmV0dXJuITE9PT1kP3ZvaWQgMDoic3RyaW5nIj09dHlwZW9mIGQ/ZDoic3RyaW5nIj09dHlwZW9mIGM/Yy50b0xvd2VyQ2FzZSgp''@;'; put 'put ''OnZvaWQgMH11KCl7dmFyIGM7dGhpcy5fJEVfPW5ldyBQcm9taXNlKGE9PnRoaXMuZW5hYmxlVXBkYXRpbmc9YSksdGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5fJEVnKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCksbnVsbD09PShjPXRoaXMuY29uc3RydWN0b3IuaCl8fHZvaWQgMD09PWN8fGMuZm9y''@;'; put 'put ''RWFjaChhPT5hKHRoaXMpKX1hZGRDb250cm9sbGVyKGMpe3ZhciBhLGQ7KG51bGwhPT0oYT10aGlzLl8kRVMpJiZ2b2lkIDAhPT1hP2E6dGhpcy5fJEVTPVtdKS5wdXNoKGMpLHZvaWQgMCE9PXRoaXMucmVuZGVyUm9vdCYmdGhpcy5pc0Nvbm5lY3RlZCYmKG51bGw9PT0oZD1jLmhvc3RDb25u''@;'; put 'put ''ZWN0ZWQpfHx2b2lkIDA9PT1kfHxkLmNhbGwoYykpfXJlbW92ZUNvbnRyb2xsZXIoYyl7dmFyIGE7bnVsbD09PShhPXRoaXMuXyRFUyl8fHZvaWQgMD09PWF8fGEuc3BsaWNlKHRoaXMuXyRFUy5pbmRleE9mKGMpPj4+MCwxKX1fJEVnKCl7dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVy''@;'; put 'put ''dGllcy5mb3JFYWNoKChjLGEpPT57dGhpcy5oYXNPd25Qcm9wZXJ0eShhKSYmKHRoaXMuXyRFaS5zZXQoYSx0aGlzW2FdKSxkZWxldGUgdGhpc1thXSl9KX1jcmVhdGVSZW5kZXJSb290KCl7dmFyIGM7Y29uc3QgYT1udWxsIT09KGM9dGhpcy5zaGFkb3dSb290KSYmdm9pZCAwIT09Yz9jOnRo''@;'; put 'put ''aXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO3JldHVybigobCxjKT0+e1R5P2wuYWRvcHRlZFN0eWxlU2hlZXRzPWMubWFwKGE9PmEgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0P2E6YS5zdHlsZVNoZWV0KTpjLmZvckVhY2goYT0+e2NvbnN0IGQ9''@;'; put 'put ''ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxmPXIwLmxpdE5vbmNlO3ZvaWQgMCE9PWYmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZiksZC50ZXh0Q29udGVudD1hLmNzc1RleHQsbC5hcHBlbmRDaGlsZChkKX0pfSkoYSx0aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRTdHlsZXMpLGF9''@;'; put 'put ''Y29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgYzt2b2lkIDA9PT10aGlzLnJlbmRlclJvb3QmJih0aGlzLnJlbmRlclJvb3Q9dGhpcy5jcmVhdGVSZW5kZXJSb290KCkpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLG51bGw9PT0oYz10aGlzLl8kRVMpfHx2b2lkIDA9PT1jfHxjLmZvckVhY2goYT0+''@;'; put 'put ''e3ZhciBkO3JldHVybiBudWxsPT09KGQ9YS5ob3N0Q29ubmVjdGVkKXx8dm9pZCAwPT09ZD92b2lkIDA6ZC5jYWxsKGEpfSl9ZW5hYmxlVXBkYXRpbmcoYyl7fWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGM7bnVsbD09PShjPXRoaXMuXyRFUyl8fHZvaWQgMD09PWN8fGMuZm9yRWFjaChh''@;'; put 'put ''PT57dmFyIGQ7cmV0dXJuIG51bGw9PT0oZD1hLmhvc3REaXNjb25uZWN0ZWQpfHx2b2lkIDA9PT1kP3ZvaWQgMDpkLmNhbGwoYSl9KX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soYyxhLGQpe3RoaXMuXyRBSyhjLGQpfV8kRU8oYyxhLGQ9Tnkpe3ZhciBmO2NvbnN0IHY9dGhpcy5jb25zdHJ1''@;'; put 'put ''Y3Rvci5fJEVwKGMsZCk7aWYodm9pZCAwIT09diYmITA9PT1kLnJlZmxlY3Qpe2NvbnN0IHg9KHZvaWQgMCE9PShudWxsPT09KGY9ZC5jb252ZXJ0ZXIpfHx2b2lkIDA9PT1mP3ZvaWQgMDpmLnRvQXR0cmlidXRlKT9kLmNvbnZlcnRlcjpSeSkudG9BdHRyaWJ1dGUoYSxkLnR5cGUpO3RoaXMu''@;'; put 'put ''XyRFbD1jLG51bGw9PXg/dGhpcy5yZW1vdmVBdHRyaWJ1dGUodik6dGhpcy5zZXRBdHRyaWJ1dGUodix4KSx0aGlzLl8kRWw9bnVsbH19XyRBSyhjLGEpe3ZhciBkO2NvbnN0IGY9dGhpcy5jb25zdHJ1Y3Rvcix2PWYuXyRFdi5nZXQoYyk7aWYodm9pZCAwIT09diYmdGhpcy5fJEVsIT09dil7''@;'; put 'put ''Y29uc3QgeD1mLmdldFByb3BlcnR5T3B0aW9ucyh2KSxIPSJmdW5jdGlvbiI9PXR5cGVvZiB4LmNvbnZlcnRlcj97ZnJvbUF0dHJpYnV0ZTp4LmNvbnZlcnRlcn06dm9pZCAwIT09KG51bGw9PT0oZD14LmNvbnZlcnRlcil8fHZvaWQgMD09PWQ/dm9pZCAwOmQuZnJvbUF0dHJpYnV0ZSk/eC5j''@;'; put 'put ''b252ZXJ0ZXI6Unk7dGhpcy5fJEVsPXYsdGhpc1t2XT1ILmZyb21BdHRyaWJ1dGUoYSx4LnR5cGUpLHRoaXMuXyRFbD1udWxsfX1yZXF1ZXN0VXBkYXRlKGMsYSxkKXtsZXQgZj0hMDt2b2lkIDAhPT1jJiYoKChkPWR8fHRoaXMuY29uc3RydWN0b3IuZ2V0UHJvcGVydHlPcHRpb25zKGMpKS5o''@;'; put 'put ''YXNDaGFuZ2VkfHxkUCkodGhpc1tjXSxhKT8odGhpcy5fJEFMLmhhcyhjKXx8dGhpcy5fJEFMLnNldChjLGEpLCEwPT09ZC5yZWZsZWN0JiZ0aGlzLl8kRWwhPT1jJiYodm9pZCAwPT09dGhpcy5fJEVDJiYodGhpcy5fJEVDPW5ldyBNYXApLHRoaXMuXyRFQy5zZXQoYyxkKSkpOmY9ITEpLCF0''@;'; put 'put ''aGlzLmlzVXBkYXRlUGVuZGluZyYmZiYmKHRoaXMuXyRFXz10aGlzLl8kRWooKSl9XyRFaigpe3ZhciBjPXRoaXM7cmV0dXJuIG9QKGZ1bmN0aW9uKigpe2MuaXNVcGRhdGVQZW5kaW5nPSEwO3RyeXt5aWVsZCBjLl8kRV99Y2F0Y2goZCl7UHJvbWlzZS5yZWplY3QoZCl9Y29uc3QgYT1jLnNj''@;'; put 'put ''aGVkdWxlVXBkYXRlKCk7cmV0dXJuIG51bGwhPWEmJih5aWVsZCBhKSwhYy5pc1VwZGF0ZVBlbmRpbmd9KSgpfXNjaGVkdWxlVXBkYXRlKCl7cmV0dXJuIHRoaXMucGVyZm9ybVVwZGF0ZSgpfXBlcmZvcm1VcGRhdGUoKXt2YXIgYztpZighdGhpcy5pc1VwZGF0ZVBlbmRpbmcpcmV0dXJuO3Ro''@;'; put 'put ''aXMuXyRFaSYmKHRoaXMuXyRFaS5mb3JFYWNoKChmLHYpPT50aGlzW3ZdPWYpLHRoaXMuXyRFaT12b2lkIDApO2xldCBhPSExO2NvbnN0IGQ9dGhpcy5fJEFMO3RyeXthPXRoaXMuc2hvdWxkVXBkYXRlKGQpLGE/KHRoaXMud2lsbFVwZGF0ZShkKSxudWxsPT09KGM9dGhpcy5fJEVTKXx8dm9p''@;'; put 'put ''ZCAwPT09Y3x8Yy5mb3JFYWNoKGY9Pnt2YXIgdjtyZXR1cm4gbnVsbD09PSh2PWYuaG9zdFVwZGF0ZSl8fHZvaWQgMD09PXY/dm9pZCAwOnYuY2FsbChmKX0pLHRoaXMudXBkYXRlKGQpKTp0aGlzLl8kRWsoKX1jYXRjaChmKXt0aHJvdyBhPSExLHRoaXMuXyRFaygpLGZ9YSYmdGhpcy5fJEFF''@;'; put 'put ''KGQpfXdpbGxVcGRhdGUoYyl7fV8kQUUoYyl7dmFyIGE7bnVsbD09PShhPXRoaXMuXyRFUyl8fHZvaWQgMD09PWF8fGEuZm9yRWFjaChkPT57dmFyIGY7cmV0dXJuIG51bGw9PT0oZj1kLmhvc3RVcGRhdGVkKXx8dm9pZCAwPT09Zj92b2lkIDA6Zi5jYWxsKGQpfSksdGhpcy5oYXNVcGRhdGVk''@;'; put 'put ''fHwodGhpcy5oYXNVcGRhdGVkPSEwLHRoaXMuZmlyc3RVcGRhdGVkKGMpKSx0aGlzLnVwZGF0ZWQoYyl9XyRFaygpe3RoaXMuXyRBTD1uZXcgTWFwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExfWdldCB1cGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLmdldFVwZGF0ZUNvbXBsZXRlKCl9Z2V0''@;'; put 'put ''VXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5fJEVffXNob3VsZFVwZGF0ZShjKXtyZXR1cm4hMH11cGRhdGUoYyl7dm9pZCAwIT09dGhpcy5fJEVDJiYodGhpcy5fJEVDLmZvckVhY2goKGEsZCk9PnRoaXMuXyRFTyhkLHRoaXNbZF0sYSkpLHRoaXMuXyRFQz12b2lkIDApLHRoaXMuXyRF''@;'; put 'put ''aygpfXVwZGF0ZWQoYyl7fWZpcnN0VXBkYXRlZChjKXt9fXZhciBZeTtqdS5maW5hbGl6ZWQ9ITAsanUuZWxlbWVudFByb3BlcnRpZXM9bmV3IE1hcCxqdS5lbGVtZW50U3R5bGVzPVtdLGp1LnNoYWRvd1Jvb3RPcHRpb25zPXttb2RlOiJvcGVuIn0sbnVsbD09dVB8fHVQKHtSZWFjdGl2ZUVs''@;'; put 'put ''ZW1lbnQ6anV9KSwobnVsbCE9PShGeT1vMC5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucykmJnZvaWQgMCE9PUZ5P0Z5Om8wLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPVtdKS5wdXNoKCIxLjQuMCIpO2NvbnN0IHMwPXdpbmRvdyxTdT1zMC50cnVzdGVkVHlwZXMsaFA9U3U/U3UuY3JlYXRlUG9s''@;'; put 'put ''aWN5KCJsaXQtaHRtbCIse2NyZWF0ZUhUTUw6bD0+bH0pOnZvaWQgMCxPYT1gbGl0JCR7KE1hdGgucmFuZG9tKCkrIiIpLnNsaWNlKDkpfSRgLHp5PSI/IitPYSxQQj1gPCR7enl9PmAsT3U9ZG9jdW1lbnQsVGg9KGw9IiIpPT5PdS5jcmVhdGVDb21tZW50KGwpLExoPWw9Pm51bGw9PT1sfHwi''@;'; put 'put ''b2JqZWN0IiE9dHlwZW9mIGwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsLGZQPUFycmF5LmlzQXJyYXksSWg9LzwoPzooIS0tfFwvW15hLXpBLVpdKXwoXC8/W2EtekEtWl1bXj5cc10qKXwoXC8/JCkpL2csZ1A9Ly0tPi9nLG1QPS8+L2csS2w9UmVnRXhwKCI+fFsgXHRcblxmXHJdKD86KFteXFxz''@;'; put 'put ''XCInPj0vXSspKFsgXHRcblxmXHJdKj1bIFx0XG5cZlxyXSooPzpbXiBcdFxuXGZcclwiJ2A8Pj1dfChcInwnKXwpKXwkKSIsImciKSxiUD0vJy9nLHZQPS8iL2csX1A9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pLHlQPWw9PihjLC4uLmEpPT4oe18kbGl0VHlwZSQ6bCxz''@;'; put 'put ''dHJpbmdzOmMsdmFsdWVzOmF9KSxCeT15UCgxKSxEQj15UCgyKSxQdT1TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKSx2aT1TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpLHdQPW5ldyBXZWFrTWFwLE1QPShsLGMsYSk9Pnt2YXIgZCxmO2NvbnN0IHY9bnVsbCE9PShkPW51bGw9PWE/dm9pZCAw''@;'; put 'put ''OmEucmVuZGVyQmVmb3JlKSYmdm9pZCAwIT09ZD9kOmM7bGV0IHg9di5fJGxpdFBhcnQkO2lmKHZvaWQgMD09PXgpe2NvbnN0IEg9bnVsbCE9PShmPW51bGw9PWE/dm9pZCAwOmEucmVuZGVyQmVmb3JlKSYmdm9pZCAwIT09Zj9mOm51bGw7di5fJGxpdFBhcnQkPXg9bmV3IHh1KGMuaW5zZXJ0''@;'; put 'put ''QmVmb3JlKFRoKCksSCksSCx2b2lkIDAsbnVsbCE9YT9hOnt9KX1yZXR1cm4geC5fJEFJKGwpLHh9LER1PU91LmNyZWF0ZVRyZWVXYWxrZXIoT3UsMTI5LG51bGwsITEpO2NsYXNzIEZoe2NvbnN0cnVjdG9yKHtzdHJpbmdzOmMsXyRsaXRUeXBlJDphfSxkKXtsZXQgZjt0aGlzLnBhcnRzPVtd''@;'; put 'put ''O2xldCB2PTAseD0wO2NvbnN0IEg9Yy5sZW5ndGgtMSxLPXRoaXMucGFydHMsW2VlLGZlXT0oKGwsYyk9Pntjb25zdCBhPWwubGVuZ3RoLTEsZD1bXTtsZXQgZix2PTI9PT1jPyI8c3ZnPiI6IiIseD1JaDtmb3IobGV0IEs9MDtLPGE7SysrKXtjb25zdCBlZT1sW0tdO2xldCBmZSx5ZSxqZT0t''@;'; put 'put ''MSxJZT0wO2Zvcig7SWU8ZWUubGVuZ3RoJiYoeC5sYXN0SW5kZXg9SWUseWU9eC5leGVjKGVlKSxudWxsIT09eWUpOylJZT14Lmxhc3RJbmRleCx4PT09SWg/IiEtLSI9PT15ZVsxXT94PWdQOnZvaWQgMCE9PXllWzFdP3g9bVA6dm9pZCAwIT09eWVbMl0/KF9QLnRlc3QoeWVbMl0pJiYoZj1S''@;'; put 'put ''ZWdFeHAoIjwvIit5ZVsyXSwiZyIpKSx4PUtsKTp2b2lkIDAhPT15ZVszXSYmKHg9S2wpOng9PT1LbD8iPiI9PT15ZVswXT8oeD1udWxsIT1mP2Y6SWgsamU9LTEpOnZvaWQgMD09PXllWzFdP2plPS0yOihqZT14Lmxhc3RJbmRleC15ZVsyXS5sZW5ndGgsZmU9eWVbMV0seD12b2lkIDA9PT15''@;'; put 'put ''ZVszXT9LbDonIic9PT15ZVszXT92UDpiUCk6eD09PXZQfHx4PT09YlA/eD1LbDp4PT09Z1B8fHg9PT1tUD94PUloOih4PUtsLGY9dm9pZCAwKTtjb25zdCBxZT14PT09S2wmJmxbSysxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjt2Kz14PT09SWg/ZWUrUEI6amU+PTA/KGQucHVzaChmZSks''@;'; put 'put ''ZWUuc2xpY2UoMCxqZSkrIiRsaXQkIitlZS5zbGljZShqZSkrT2ErcWUpOmVlK09hKygtMj09PWplPyhkLnB1c2godm9pZCAwKSxLKTpxZSl9Y29uc3QgSD12KyhsW2FdfHwiPD8+IikrKDI9PT1jPyI8L3N2Zz4iOiIiKTtpZighQXJyYXkuaXNBcnJheShsKXx8IWwuaGFzT3duUHJvcGVydHko''@;'; put 'put ''InJhdyIpKXRocm93IEVycm9yKCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXkiKTtyZXR1cm5bdm9pZCAwIT09aFA/aFAuY3JlYXRlSFRNTChIKTpILGRdfSkoYyxhKTtpZih0aGlzLmVsPUZoLmNyZWF0ZUVsZW1lbnQoZWUsZCksRHUuY3VycmVudE5vZGU9dGhpcy5lbC5jb250ZW50''@;'; put 'put ''LDI9PT1hKXtjb25zdCB5ZT10aGlzLmVsLmNvbnRlbnQsamU9eWUuZmlyc3RDaGlsZDtqZS5yZW1vdmUoKSx5ZS5hcHBlbmQoLi4uamUuY2hpbGROb2Rlcyl9Zm9yKDtudWxsIT09KGY9RHUubmV4dE5vZGUoKSkmJksubGVuZ3RoPEg7KXtpZigxPT09Zi5ub2RlVHlwZSl7aWYoZi5oYXNBdHRy''@;'; put 'put ''aWJ1dGVzKCkpe2NvbnN0IHllPVtdO2Zvcihjb25zdCBqZSBvZiBmLmdldEF0dHJpYnV0ZU5hbWVzKCkpaWYoamUuZW5kc1dpdGgoIiRsaXQkIil8fGplLnN0YXJ0c1dpdGgoT2EpKXtjb25zdCBJZT1mZVt4KytdO2lmKHllLnB1c2goamUpLHZvaWQgMCE9PUllKXtjb25zdCBxZT1mLmdldEF0''@;'; put 'put ''dHJpYnV0ZShJZS50b0xvd2VyQ2FzZSgpKyIkbGl0JCIpLnNwbGl0KE9hKSxzdD0vKFsuP0BdKT8oLiopLy5leGVjKEllKTtLLnB1c2goe3R5cGU6MSxpbmRleDp2LG5hbWU6c3RbMl0sc3RyaW5nczpxZSxjdG9yOiIuIj09PXN0WzFdP2pQOiI/Ij09PXN0WzFdP1NQOiJAIj09PXN0WzFdP09Q''@;'; put 'put ''OlJofSl9ZWxzZSBLLnB1c2goe3R5cGU6NixpbmRleDp2fSl9Zm9yKGNvbnN0IGplIG9mIHllKWYucmVtb3ZlQXR0cmlidXRlKGplKX1pZihfUC50ZXN0KGYudGFnTmFtZSkpe2NvbnN0IHllPWYudGV4dENvbnRlbnQuc3BsaXQoT2EpLGplPXllLmxlbmd0aC0xO2lmKGplPjApe2YudGV4dENv''@;'; put 'put ''bnRlbnQ9U3U/U3UuZW1wdHlTY3JpcHQ6IiI7Zm9yKGxldCBJZT0wO0llPGplO0llKyspZi5hcHBlbmQoeWVbSWVdLFRoKCkpLER1Lm5leHROb2RlKCksSy5wdXNoKHt0eXBlOjIsaW5kZXg6Kyt2fSk7Zi5hcHBlbmQoeWVbamVdLFRoKCkpfX19ZWxzZSBpZig4PT09Zi5ub2RlVHlwZSlpZihm''@;'; put 'put ''LmRhdGE9PT16eSlLLnB1c2goe3R5cGU6MixpbmRleDp2fSk7ZWxzZXtsZXQgeWU9LTE7Zm9yKDstMSE9PSh5ZT1mLmRhdGEuaW5kZXhPZihPYSx5ZSsxKSk7KUsucHVzaCh7dHlwZTo3LGluZGV4OnZ9KSx5ZSs9T2EubGVuZ3RoLTF9disrfX1zdGF0aWMgY3JlYXRlRWxlbWVudChjLGEpe2Nv''@;'; put 'put ''bnN0IGQ9T3UuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gZC5pbm5lckhUTUw9YyxkfX1mdW5jdGlvbiBYbChsLGMsYT1sLGQpe3ZhciBmLHYseCxIO2lmKGM9PT1QdSlyZXR1cm4gYztsZXQgSz12b2lkIDAhPT1kP251bGw9PT0oZj1hLl8kQ2wpfHx2b2lkIDA9PT1mP3ZvaWQg''@;'; put 'put ''MDpmW2RdOmEuXyRDdTtjb25zdCBlZT1MaChjKT92b2lkIDA6Yy5fJGxpdERpcmVjdGl2ZSQ7cmV0dXJuKG51bGw9PUs/dm9pZCAwOksuY29uc3RydWN0b3IpIT09ZWUmJihudWxsPT09KHY9bnVsbD09Sz92b2lkIDA6Sy5fJEFPKXx8dm9pZCAwPT09dnx8di5jYWxsKEssITEpLHZvaWQgMD09''@;'; put 'put ''PWVlP0s9dm9pZCAwOihLPW5ldyBlZShsKSxLLl8kQVQobCxhLGQpKSx2b2lkIDAhPT1kPyhudWxsIT09KHg9KEg9YSkuXyRDbCkmJnZvaWQgMCE9PXg/eDpILl8kQ2w9W10pW2RdPUs6YS5fJEN1PUspLHZvaWQgMCE9PUsmJihjPVhsKGwsSy5fJEFTKGwsYy52YWx1ZXMpLEssZCkpLGN9Y2xh''@;'; put 'put ''c3Mga1B7Y29uc3RydWN0b3IoYyxhKXt0aGlzLnY9W10sdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQUQ9Yyx0aGlzLl8kQU09YX1nZXQgcGFyZW50Tm9kZSgpe3JldHVybiB0aGlzLl8kQU0ucGFyZW50Tm9kZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1wKGMpe3ZhciBhO2Nv''@;'; put 'put ''bnN0e2VsOntjb250ZW50OmR9LHBhcnRzOmZ9PXRoaXMuXyRBRCx2PShudWxsIT09KGE9bnVsbD09Yz92b2lkIDA6Yy5jcmVhdGlvblNjb3BlKSYmdm9pZCAwIT09YT9hOk91KS5pbXBvcnROb2RlKGQsITApO0R1LmN1cnJlbnROb2RlPXY7bGV0IHg9RHUubmV4dE5vZGUoKSxIPTAsSz0wLGVl''@;'; put 'put ''PWZbMF07Zm9yKDt2b2lkIDAhPT1lZTspe2lmKEg9PT1lZS5pbmRleCl7bGV0IGZlOzI9PT1lZS50eXBlP2ZlPW5ldyB4dSh4LHgubmV4dFNpYmxpbmcsdGhpcyxjKToxPT09ZWUudHlwZT9mZT1uZXcgZWUuY3Rvcih4LGVlLm5hbWUsZWUuc3RyaW5ncyx0aGlzLGMpOjY9PT1lZS50eXBlJiYo''@;'; put 'put ''ZmU9bmV3IFBQKHgsdGhpcyxjKSksdGhpcy52LnB1c2goZmUpLGVlPWZbKytLXX1IIT09KG51bGw9PWVlP3ZvaWQgMDplZS5pbmRleCkmJih4PUR1Lm5leHROb2RlKCksSCsrKX1yZXR1cm4gdn1tKGMpe2xldCBhPTA7Zm9yKGNvbnN0IGQgb2YgdGhpcy52KXZvaWQgMCE9PWQmJih2b2lkIDAh''@;'; put 'put ''PT1kLnN0cmluZ3M/KGQuXyRBSShjLGQsYSksYSs9ZC5zdHJpbmdzLmxlbmd0aC0yKTpkLl8kQUkoY1thXSkpLGErK319Y2xhc3MgeHV7Y29uc3RydWN0b3IoYyxhLGQsZil7dmFyIHY7dGhpcy50eXBlPTIsdGhpcy5fJEFIPXZpLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFBPWMsdGhpcy5f''@;'; put 'put ''JEFCPWEsdGhpcy5fJEFNPWQsdGhpcy5vcHRpb25zPWYsdGhpcy5fJENfPW51bGw9PT0odj1udWxsPT1mP3ZvaWQgMDpmLmlzQ29ubmVjdGVkKXx8dm9pZCAwPT09dnx8dn1nZXQgXyRBVSgpe3ZhciBjLGE7cmV0dXJuIG51bGwhPT0oYT1udWxsPT09KGM9dGhpcy5fJEFNKXx8dm9pZCAwPT09''@;'; put 'put ''Yz92b2lkIDA6Yy5fJEFVKSYmdm9pZCAwIT09YT9hOnRoaXMuXyRDX31nZXQgcGFyZW50Tm9kZSgpe2xldCBjPXRoaXMuXyRBQS5wYXJlbnROb2RlO2NvbnN0IGE9dGhpcy5fJEFNO3JldHVybiB2b2lkIDAhPT1hJiYxMT09PWMubm9kZVR5cGUmJihjPWEucGFyZW50Tm9kZSksY31nZXQgc3Rh''@;'; put 'put ''cnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQX1nZXQgZW5kTm9kZSgpe3JldHVybiB0aGlzLl8kQUJ9XyRBSShjLGE9dGhpcyl7Yz1YbCh0aGlzLGMsYSksTGgoYyk/Yz09PXZpfHxudWxsPT1jfHwiIj09PWM/KHRoaXMuXyRBSCE9PXZpJiZ0aGlzLl8kQVIoKSx0aGlzLl8kQUg9dmkpOmMhPT10''@;'; put 'put ''aGlzLl8kQUgmJmMhPT1QdSYmdGhpcy4kKGMpOnZvaWQgMCE9PWMuXyRsaXRUeXBlJD90aGlzLlQoYyk6dm9pZCAwIT09Yy5ub2RlVHlwZT90aGlzLmsoYyk6KGw9PmZQKGwpfHwiZnVuY3Rpb24iPT10eXBlb2YobnVsbD09bD92b2lkIDA6bFtTeW1ib2wuaXRlcmF0b3JdKSkoYyk/dGhpcy5P''@;'; put 'put ''KGMpOnRoaXMuJChjKX1TKGMsYT10aGlzLl8kQUIpe3JldHVybiB0aGlzLl8kQUEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxhKX1rKGMpe3RoaXMuXyRBSCE9PWMmJih0aGlzLl8kQVIoKSx0aGlzLl8kQUg9dGhpcy5TKGMpKX0kKGMpe3RoaXMuXyRBSCE9PXZpJiZMaCh0aGlzLl8kQUgp''@;'; put 'put ''P3RoaXMuXyRBQS5uZXh0U2libGluZy5kYXRhPWM6dGhpcy5rKE91LmNyZWF0ZVRleHROb2RlKGMpKSx0aGlzLl8kQUg9Y31UKGMpe3ZhciBhO2NvbnN0e3ZhbHVlczpkLF8kbGl0VHlwZSQ6Zn09Yyx2PSJudW1iZXIiPT10eXBlb2YgZj90aGlzLl8kQUMoYyk6KHZvaWQgMD09PWYuZWwmJihm''@;'; put 'put ''LmVsPUZoLmNyZWF0ZUVsZW1lbnQoZi5oLHRoaXMub3B0aW9ucykpLGYpO2lmKChudWxsPT09KGE9dGhpcy5fJEFIKXx8dm9pZCAwPT09YT92b2lkIDA6YS5fJEFEKT09PXYpdGhpcy5fJEFILm0oZCk7ZWxzZXtjb25zdCB4PW5ldyBrUCh2LHRoaXMpLEg9eC5wKHRoaXMub3B0aW9ucyk7eC5t''@;'; put 'put ''KGQpLHRoaXMuayhIKSx0aGlzLl8kQUg9eH19XyRBQyhjKXtsZXQgYT13UC5nZXQoYy5zdHJpbmdzKTtyZXR1cm4gdm9pZCAwPT09YSYmd1Auc2V0KGMuc3RyaW5ncyxhPW5ldyBGaChjKSksYX1PKGMpe2ZQKHRoaXMuXyRBSCl8fCh0aGlzLl8kQUg9W10sdGhpcy5fJEFSKCkpO2NvbnN0IGE9''@;'; put 'put ''dGhpcy5fJEFIO2xldCBkLGY9MDtmb3IoY29uc3QgdiBvZiBjKWY9PT1hLmxlbmd0aD9hLnB1c2goZD1uZXcgeHUodGhpcy5TKFRoKCkpLHRoaXMuUyhUaCgpKSx0aGlzLHRoaXMub3B0aW9ucykpOmQ9YVtmXSxkLl8kQUkodiksZisrO2Y8YS5sZW5ndGgmJih0aGlzLl8kQVIoZCYmZC5fJEFC''@;'; put 'put ''Lm5leHRTaWJsaW5nLGYpLGEubGVuZ3RoPWYpfV8kQVIoYz10aGlzLl8kQUEubmV4dFNpYmxpbmcsYSl7dmFyIGQ7Zm9yKG51bGw9PT0oZD10aGlzLl8kQVApfHx2b2lkIDA9PT1kfHxkLmNhbGwodGhpcywhMSwhMCxhKTtjJiZjIT09dGhpcy5fJEFCOyl7Y29uc3QgZj1jLm5leHRTaWJsaW5n''@;'; put 'put ''O2MucmVtb3ZlKCksYz1mfX1zZXRDb25uZWN0ZWQoYyl7dmFyIGE7dm9pZCAwPT09dGhpcy5fJEFNJiYodGhpcy5fJENfPWMsbnVsbD09PShhPXRoaXMuXyRBUCl8fHZvaWQgMD09PWF8fGEuY2FsbCh0aGlzLGMpKX19Y2xhc3MgUmh7Y29uc3RydWN0b3IoYyxhLGQsZix2KXt0aGlzLnR5cGU9''@;'; put 'put ''MSx0aGlzLl8kQUg9dmksdGhpcy5fJEFOPXZvaWQgMCx0aGlzLmVsZW1lbnQ9Yyx0aGlzLm5hbWU9YSx0aGlzLl8kQU09Zix0aGlzLm9wdGlvbnM9dixkLmxlbmd0aD4yfHwiIiE9PWRbMF18fCIiIT09ZFsxXT8odGhpcy5fJEFIPUFycmF5KGQubGVuZ3RoLTEpLmZpbGwobmV3IFN0cmluZyks''@;'; put 'put ''dGhpcy5zdHJpbmdzPWQpOnRoaXMuXyRBSD12aX1nZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKGMsYT10aGlzLGQsZil7Y29uc3Qgdj10aGlzLnN0cmluZ3M7bGV0IHg9ITE7aWYodm9pZCAwPT09''@;'; put 'put ''diljPVhsKHRoaXMsYyxhLDApLHg9IUxoKGMpfHxjIT09dGhpcy5fJEFIJiZjIT09UHUseCYmKHRoaXMuXyRBSD1jKTtlbHNle2NvbnN0IEg9YztsZXQgSyxlZTtmb3IoYz12WzBdLEs9MDtLPHYubGVuZ3RoLTE7SysrKWVlPVhsKHRoaXMsSFtkK0tdLGEsSyksZWU9PT1QdSYmKGVlPXRoaXMu''@;'; put 'put ''XyRBSFtLXSkseHx8KHg9IUxoKGVlKXx8ZWUhPT10aGlzLl8kQUhbS10pLGVlPT09dmk/Yz12aTpjIT09dmkmJihjKz0obnVsbCE9ZWU/ZWU6IiIpK3ZbSysxXSksdGhpcy5fJEFIW0tdPWVlfXgmJiFmJiZ0aGlzLlAoYyl9UChjKXtjPT09dmk/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0''@;'; put 'put ''ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLG51bGwhPWM/YzoiIil9fWNsYXNzIGpQIGV4dGVuZHMgUmh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT0zfVAoYyl7dGhpcy5lbGVtZW50W3RoaXMubmFtZV09Yz09PXZp''@;'; put 'put ''P3ZvaWQgMDpjfX1jb25zdCB4Qj1TdT9TdS5lbXB0eVNjcmlwdDoiIjtjbGFzcyBTUCBleHRlbmRzIFJoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9NH1QKGMpe2MmJmMhPT12aT90aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMubmFtZSx4Qik6dGhp''@;'; put 'put ''cy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpfX1jbGFzcyBPUCBleHRlbmRzIFJoe2NvbnN0cnVjdG9yKGMsYSxkLGYsdil7c3VwZXIoYyxhLGQsZix2KSx0aGlzLnR5cGU9NX1fJEFJKGMsYT10aGlzKXt2YXIgZDtpZigoYz1udWxsIT09KGQ9WGwodGhpcyxjLGEsMCkpJiZ2''@;'; put 'put ''b2lkIDAhPT1kP2Q6dmkpPT09UHUpcmV0dXJuO2NvbnN0IGY9dGhpcy5fJEFILHY9Yz09PXZpJiZmIT09dml8fGMuY2FwdHVyZSE9PWYuY2FwdHVyZXx8Yy5vbmNlIT09Zi5vbmNlfHxjLnBhc3NpdmUhPT1mLnBhc3NpdmUseD1jIT09dmkmJihmPT09dml8fHYpO3YmJnRoaXMuZWxlbWVudC5y''@;'; put 'put ''ZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGYpLHgmJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGMpLHRoaXMuXyRBSD1jfWhhbmRsZUV2ZW50KGMpe3ZhciBhLGQ7ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuXyRBSD90aGlzLl8kQUguY2Fs''@;'; put 'put ''bChudWxsIT09KGQ9bnVsbD09PShhPXRoaXMub3B0aW9ucyl8fHZvaWQgMD09PWE/dm9pZCAwOmEuaG9zdCkmJnZvaWQgMCE9PWQ/ZDp0aGlzLmVsZW1lbnQsYyk6dGhpcy5fJEFILmhhbmRsZUV2ZW50KGMpfX1jbGFzcyBQUHtjb25zdHJ1Y3RvcihjLGEsZCl7dGhpcy5lbGVtZW50PWMsdGhp''@;'; put 'put ''cy50eXBlPTYsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQU09YSx0aGlzLm9wdGlvbnM9ZH1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKGMpe1hsKHRoaXMsYyl9fWNvbnN0IERQPXMwLmxpdEh0bWxQb2x5ZmlsbFN1cHBvcnQ7dmFyIEh5LFZ5O251bGw9PURQfHxEUChG''@;'; put 'put ''aCx4dSksKG51bGwhPT0oWXk9czAubGl0SHRtbFZlcnNpb25zKSYmdm9pZCAwIT09WXk/WXk6czAubGl0SHRtbFZlcnNpb25zPVtdKS5wdXNoKCIyLjMuMCIpO2NsYXNzIEF1IGV4dGVuZHMganV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVuZGVyT3B0aW9ucz17''@;'; put 'put ''aG9zdDp0aGlzfSx0aGlzLl8kRG89dm9pZCAwfWNyZWF0ZVJlbmRlclJvb3QoKXt2YXIgYyxhO2NvbnN0IGQ9c3VwZXIuY3JlYXRlUmVuZGVyUm9vdCgpO3JldHVybiBudWxsIT09KGM9KGE9dGhpcy5yZW5kZXJPcHRpb25zKS5yZW5kZXJCZWZvcmUpJiZ2b2lkIDAhPT1jfHwoYS5yZW5kZXJC''@;'; put 'put ''ZWZvcmU9ZC5maXJzdENoaWxkKSxkfXVwZGF0ZShjKXtjb25zdCBhPXRoaXMucmVuZGVyKCk7dGhpcy5oYXNVcGRhdGVkfHwodGhpcy5yZW5kZXJPcHRpb25zLmlzQ29ubmVjdGVkPXRoaXMuaXNDb25uZWN0ZWQpLHN1cGVyLnVwZGF0ZShjKSx0aGlzLl8kRG89TVAoYSx0aGlzLnJlbmRlclJv''@;'; put 'put ''b3QsdGhpcy5yZW5kZXJPcHRpb25zKX1jb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBjO3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksbnVsbD09PShjPXRoaXMuXyREbyl8fHZvaWQgMD09PWN8fGMuc2V0Q29ubmVjdGVkKCEwKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBjO3N1cGVyLmRp''@;'; put 'put ''c2Nvbm5lY3RlZENhbGxiYWNrKCksbnVsbD09PShjPXRoaXMuXyREbyl8fHZvaWQgMD09PWN8fGMuc2V0Q29ubmVjdGVkKCExKX1yZW5kZXIoKXtyZXR1cm4gUHV9fUF1LmZpbmFsaXplZD0hMCxBdS5fJGxpdEVsZW1lbnQkPSEwLG51bGw9PT0oSHk9Z2xvYmFsVGhpcy5saXRFbGVtZW50SHlk''@;'; put 'put ''cmF0ZVN1cHBvcnQpfHx2b2lkIDA9PT1IeXx8SHkuY2FsbChnbG9iYWxUaGlzLHtMaXRFbGVtZW50OkF1fSk7Y29uc3QgeFA9Z2xvYmFsVGhpcy5saXRFbGVtZW50UG9seWZpbGxTdXBwb3J0O2xldCBBUDtudWxsPT14UHx8eFAoe0xpdEVsZW1lbnQ6QXV9KSwobnVsbCE9PShWeT1nbG9iYWxU''@;'; put 'put ''aGlzLmxpdEVsZW1lbnRWZXJzaW9ucykmJnZvaWQgMCE9PVZ5P1Z5Omdsb2JhbFRoaXMubGl0RWxlbWVudFZlcnNpb25zPVtdKS5wdXNoKCIzLjIuMiIpO3ZhciBFQj1JeShBUHx8KEFQPShsPT5sKWBAY2hhcnNldCAiVVRGLTgiOzpob3N0LDpyb290ey0tzrQyOnZhcigtLWNkcy1nbG9iYWwt''@;'; put 'put ''bGF5b3V0LXNwYWNlLXh4cywgY2FsYyg0ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwgMjApKSk7LS3OtDM6dmFyKC0tY2RzLWdsb2JhbC1sYXlvdXQtc3BhY2UteHMsIGNhbGMoOCAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsIDIwKSkpOy0tzrQ0OnZhcigtLWNkcy1n''@;'; put 'put ''bG9iYWwtbGF5b3V0LXNwYWNlLXNtLCBjYWxjKDEyICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwgMjApKSk7LS3OtDU6dmFyKC0tY2RzLWdsb2JhbC1sYXlvdXQtc3BhY2UtbWQsIGNhbGMoMTYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLCAyMCkpKTstLc60Njp2YXIo''@;'; put 'put ''LS1jZHMtZ2xvYmFsLWxheW91dC1zcGFjZS1sZywgY2FsYygyNCAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsIDIwKSkpOy0tzrQ3OnZhcigtLWNkcy1nbG9iYWwtbGF5b3V0LXNwYWNlLXhsLCBjYWxjKDMyICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwgMjApKSl9W2Nk''@;'; put 'put ''cy1sYXlvdXR+PSJ3cmFwOm5vbmUiXXtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH1bY2RzLWxheW91dCo9ImFsaWduOnN0cmV0Y2giXXtmbGV4LWdyb3c6MSFpbXBvcnRhbnR9W2Nkcy1sYXlvdXQqPSJhbGlnbjpzaHJpbmsiXXtmbGV4LXNocmluazoxIWltcG9ydGFudDtmbGV4LWdyb3c6''@;'; put 'put ''MCFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXA7anVzdGlmeS1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7d2lkdGg6MTAwJTttYXJnaW46MDttaW4taGVpZ2h0OjB9''@;'; put 'put ''W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdPltjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSxbY2RzLWxheW91dH49aG9yaXpvbnRhbF0+W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSxbY2RzLWxheW91dH49aG9yaXpvbnRhbF0+W2Nkcy10ZXh0XXt3aWR0aDppbml0aWFsIWltcG9ydGFudH1bY2RzLWxh''@;'; put 'put ''eW91dH49aG9yaXpvbnRhbF1bY2RzLWxheW91dCo9ImFsaWduOnRvcCJde2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdW2Nkcy1sYXlvdXQqPSJhbGlnbjpsZWZ0Il17anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9W2Nkcy1sYXlvdXR+PWhvcml6b250''@;'; put 'put ''YWxdW2Nkcy1sYXlvdXQqPSJhbGlnbjpyaWdodCJde2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1bY2RzLWxheW91dH49aG9yaXpvbnRhbF1bY2RzLWxheW91dCo9ImFsaWduOnZlcnRpY2FsLWNlbnRlciJde2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1jb250ZW50OmNlbnRlcn1bY2RzLWxh''@;'; put 'put ''eW91dH49aG9yaXpvbnRhbF1bY2RzLWxheW91dCo9ImFsaWduOmhvcml6b250YWwtY2VudGVyIl17anVzdGlmeS1jb250ZW50OmNlbnRlcn1bY2RzLWxheW91dH49aG9yaXpvbnRhbF1bY2RzLWxheW91dCo9ImFsaWduOmNlbnRlciJde2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1jb250ZW50''@;'; put 'put ''OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXVtjZHMtbGF5b3V0Kj0ib3JkZXI6cmV2ZXJzZSJde2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXVtjZHMtbGF5b3V0Kj0iYWxpZ246aG9yaXpvbnRh''@;'; put 'put ''bC1zdHJldGNoIl17anVzdGlmeS1jb250ZW50OnN0cmV0Y2g7ZmxleC1ncm93OjF9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdW2Nkcy1sYXlvdXQqPSJhbGlnbjpob3Jpem9udGFsLXN0cmV0Y2giXT4qe2ZsZXgtZ3JvdzoxfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXVtjZHMtbGF5b3V0Kj0i''@;'; put 'put ''YWxpZ246c3RyZXRjaCJde2FsaWduLWl0ZW1zOnN0cmV0Y2g7YWxpZ24tY29udGVudDpzdHJldGNoO2ZsZXgtZ3JvdzoxfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXVtjZHMtbGF5b3V0Kj0iYWxpZ246c3RyZXRjaCJdPip7ZmxleC1ncm93OjF9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdPltj''@;'; put 'put ''ZHMtbGF5b3V0Kj0iYWxpZ246Y2VudGVyIl0sW2Nkcy1sYXlvdXR+PWhvcml6b250YWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246dmVydGljYWwtY2VudGVyIl17YWxpZ24tc2VsZjpjZW50ZXJ9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246Y2VudGVyIl0sW2Nk''@;'; put 'put ''cy1sYXlvdXR+PWhvcml6b250YWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246aG9yaXpvbnRhbC1jZW50ZXIiXXttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246dG9w''@;'; put 'put ''Il17YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXT5bY2RzLWxheW91dCo9ImFsaWduOnJpZ2h0Il17bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246bGVmdCJde21hcmdpbi1y''@;'; put 'put ''aWdodDphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49dmVydGljYWxde3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0sW2Nkcy1sYXlvdXR+PXZlcnRpY2FsXVtjZHMtbGF5''@;'; put 'put ''b3V0Kj0iYWxpZ246dG9wIl17anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXVtjZHMtbGF5b3V0Kj0iYWxpZ246bGVmdCJde2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXVtjZHMtbGF5b3V0Kj0iYWxpZ246cmlnaHQi''@;'; put 'put ''XXthbGlnbi1pdGVtczpmbGV4LWVuZH1bY2RzLWxheW91dH49dmVydGljYWxdW2Nkcy1sYXlvdXQqPSJhbGlnbjp2ZXJ0aWNhbC1jZW50ZXIiXXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF1bY2RzLWxheW91dCo9ImFsaWduOmhvcml6b250YWwtY2VudGVy''@;'; put 'put ''Il17YWxpZ24taXRlbXM6Y2VudGVyfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF1bY2RzLWxheW91dCo9ImFsaWduOmNlbnRlciJde2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF1bY2RzLWxheW91dCo9Im9yZGVyOnJldmVyc2Ui''@;'; put 'put ''XXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX1bY2RzLWxheW91dH49dmVydGljYWxdW2Nkcy1sYXlvdXQqPSJhbGlnbjpob3Jpem9udGFsLXN0cmV0Y2giXXthbGlnbi1pdGVtczpzdHJldGNofVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF1bY2RzLWxheW91dCo9ImFsaWduOnN0cmV0Y2gi''@;'; put 'put ''XXthbGlnbi1pdGVtczpzdHJldGNoO2p1c3RpZnktY29udGVudDpzdHJldGNofVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF1bY2RzLWxheW91dCo9ImFsaWduOnN0cmV0Y2giXT4qe2ZsZXgtZ3JvdzoxfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0+W2Nkcy1sYXlvdXQqPSJhbGlnbjpjZW50ZXIiXSxb''@;'; put 'put ''Y2RzLWxheW91dH49dmVydGljYWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246dmVydGljYWwtY2VudGVyIl17bWFyZ2luLXRvcDphdXRvO21hcmdpbi1ib3R0b206YXV0b31bY2RzLWxheW91dH49dmVydGljYWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246Y2VudGVyIl0sW2Nkcy1sYXlvdXR+PXZlcnRp''@;'; put 'put ''Y2FsXT5bY2RzLWxheW91dCo9ImFsaWduOmhvcml6b250YWwtY2VudGVyIl17YWxpZ24tc2VsZjpjZW50ZXJ9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXT5bY2RzLWxheW91dCo9ImFsaWduOnRvcCJde21hcmdpbi1ib3R0b206YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXT5b''@;'; put 'put ''Y2RzLWxheW91dCo9ImFsaWduOnJpZ2h0Il17bWFyZ2luLWxlZnQ6YXV0b31bY2RzLWxheW91dH49dmVydGljYWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246bGVmdCJde21hcmdpbi1yaWdodDphdXRvfVtjZHMtbGF5b3V0fj1ncmlkXXtkaXNwbGF5OmdyaWQ7YWxpZ24taXRlbXM6c3RhcnQ7YWxp''@;'; put 'put ''Z24tY29udGVudDpzdGFydDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KHZhcigtLWNkcy1nbG9iYWwtbGF5b3V0LWdyaWQtY29scywxMiksMWZyKTt3aWR0aDoxMDAlfVtjZHMtbGF5b3V0fj1ncmlkXVtjZHMtbGF5b3V0Kj1yb3dzXXtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDEy''@;'; put 'put ''LGF1dG8pfVtjZHMtbGF5b3V0fj1ncmlkXT5bY2RzLWxheW91dCo9cm93XXthbGlnbi1zZWxmOnN0cmV0Y2h9W2Nkcy1sYXlvdXR+PWdyaWRdW2Nkcy1sYXlvdXQqPSJhbGlnbjp0b3AiXXthbGlnbi1jb250ZW50OnN0YXJ0fVtjZHMtbGF5b3V0fj1ncmlkXVtjZHMtbGF5b3V0Kj0iYWxpZ246''@;'; put 'put ''cmlnaHQiXXtqdXN0aWZ5LWNvbnRlbnQ6ZW5kfVtjZHMtbGF5b3V0fj1ncmlkXVtjZHMtbGF5b3V0Kj0iYWxpZ246bGVmdCJde2p1c3RpZnktY29udGVudDpzdGFydH1bY2RzLWxheW91dH49Z3JpZF1bY2RzLWxheW91dCo9ImFsaWduOmhvcml6b250YWwtc3RyZXRjaCJde2p1c3RpZnktaXRl''@;'; put 'put ''bXM6c3RyZXRjaDtqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaH1bY2RzLWxheW91dH49Z3JpZF1bY2RzLWxheW91dCo9ImFsaWduOnN0cmV0Y2giXXthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWNvbnRlbnQ6c3RyZXRjaDtqdXN0aWZ5LWl0ZW1zOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OnN0''@;'; put 'put ''cmV0Y2h9W2Nkcy1sYXlvdXR+PWdyaWRdW2Nkcy1sYXlvdXQqPSJhbGlnbjp2ZXJ0aWNhbC1jZW50ZXIiXXthbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24tY29udGVudDpjZW50ZXJ9W2Nkcy1sYXlvdXR+PWdyaWRdW2Nkcy1sYXlvdXQqPSJhbGlnbjpob3Jpem9udGFsLWNlbnRlciJde2p1c3Rp''@;'; put 'put ''ZnktaXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9W2Nkcy1sYXlvdXR+PWdyaWRdW2Nkcy1sYXlvdXQqPSJhbGlnbjpjZW50ZXIiXXthbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24tY29udGVudDpjZW50ZXI7anVzdGlmeS1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNl''@;'; put 'put ''bnRlcn06OnNsb3R0ZWQoW2Nkcy1sYXlvdXR+PSJkaXNwbGF5OnNjcmVlbi1yZWFkZXItb25seSJdKSxbY2RzLWxheW91dH49ImRpc3BsYXk6c2NyZWVuLXJlYWRlci1vbmx5Il17cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpO2NsaXAtcGF0''@;'; put 'put ''aDppbnNldCg1MCUpO3BhZGRpbmc6MDtib3JkZXI6MDtoZWlnaHQ6MXB4O3dpZHRoOjFweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RvcDowO2xlZnQ6MDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH1bY2RzLWxheW91dCo9ImdhcDpub25lIl17Z2FwOjB9W2Nkcy1sYXlv''@;'; put 'put ''dXQqPSJnYXA6eHhzIl17Z2FwOnZhcigtLc60Mil9W2Nkcy1sYXlvdXQqPSJnYXA6eHMiXXtnYXA6dmFyKC0tzrQzKX1bY2RzLWxheW91dCo9ImdhcDpzbSJde2dhcDp2YXIoLS3OtDQpfVtjZHMtbGF5b3V0Kj0iZ2FwOm1kIl17Z2FwOnZhcigtLc60NSl9W2Nkcy1sYXlvdXQqPSJnYXA6bGci''@;'; put 'put ''XXtnYXA6dmFyKC0tzrQ2KX1bY2RzLWxheW91dH49InA6bm9uZSJde3BhZGRpbmc6MCFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PSJwOnh4cyJde3BhZGRpbmc6dmFyKC0tzrQyKSFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PSJwOnhzIl17cGFkZGluZzp2YXIoLS3OtDMpIWltcG9ydGFudH1bY2Rz''@;'; put 'put ''LWxheW91dH49InA6c20iXXtwYWRkaW5nOnZhcigtLc60NCkhaW1wb3J0YW50fVtjZHMtbGF5b3V0fj0icDptZCJde3BhZGRpbmc6dmFyKC0tzrQ1KSFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PSJtOm1kIl17bWFyZ2luOnZhcigtLc60NSkhaW1wb3J0YW50fVtjZHMtbGF5b3V0fj0icDpsZyJd''@;'; put 'put ''e3BhZGRpbmc6dmFyKC0tzrQ2KSFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PSJwLXk6eHMiXXtwYWRkaW5nLXRvcDp2YXIoLS3OtDMpIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTp2YXIoLS3OtDMpIWltcG9ydGFudH1bY2RzLWxheW91dH49InAteDpsZyJde3BhZGRpbmctbGVmdDp2YXIoLS3O''@;'; put 'put ''tDYpIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OnZhcigtLc60NikhaW1wb3J0YW50fVtjZHMtbGF5b3V0fj0icC1sOm1kIl17cGFkZGluZy1sZWZ0OnZhcigtLc60NSkhaW1wb3J0YW50fVtjZHMtbGF5b3V0fj0icC10OmxnIl17cGFkZGluZy10b3A6dmFyKC0tzrQ2KSFpbXBvcnRhbnR9W2Nk''@;'; put 'put ''cy1sYXlvdXR+PSJwLWI6bGciXXtwYWRkaW5nLWJvdHRvbTp2YXIoLS3OtDYpIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7W2Nkcy1sYXlvdXQqPSJnYXBAbWQ6bGciXXtnYXA6dmFyKC0tzrQ2KX1bY2RzLWxheW91dH49InBAbWQ6bGciXXtwYWRkaW5nOnZhcigtLc60Nikh''@;'; put 'put ''aW1wb3J0YW50fVtjZHMtbGF5b3V0fj0ibUBtZDp4bCJde21hcmdpbjp2YXIoLS3OtDcpIWltcG9ydGFudH19W2Nkcy1sYXlvdXR+PWZpbGxde3dpZHRoOjEwMCUhaW1wb3J0YW50fSosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94fVtjZHMtbGF5b3V0fj1ob3Jpem9udGFs''@;'; put 'put ''XVtjZHMtbGF5b3V0Kj0iYWxpZ246aG9yaXpvbnRhbC1zdHJldGNoIl0+OjpzbG90dGVkKCopLFtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXVtjZHMtbGF5b3V0Kj0iYWxpZ246c3RyZXRjaCJdPjo6c2xvdHRlZCgqKSxbY2RzLWxheW91dH49dmVydGljYWxdW2Nkcy1sYXlvdXQqPSJhbGlnbjpz''@;'; put 'put ''dHJldGNoIl0+OjpzbG90dGVkKCope2ZsZXgtZ3JvdzoxfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ246Y2VudGVyIl0pLFtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ246dmVydGljYWwtY2VudGVy''@;'; put 'put ''Il0pe21hcmdpbi10b3A6YXV0bzttYXJnaW4tYm90dG9tOmF1dG99W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbjpjZW50ZXIiXSksW2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbjpob3Jpem9udGFs''@;'; put 'put ''LWNlbnRlciJdKXthbGlnbi1zZWxmOmNlbnRlcn1bY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduOnRvcCJdKXttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0i''@;'; put 'put ''YWxpZ246Ym90dG9tIl0pe21hcmdpbi10b3A6YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbjpyaWdodCJdKXttYXJnaW4tbGVmdDphdXRvfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0''@;'; put 'put ''Kj0iYWxpZ246bGVmdCJdKSxbY2RzLWxheW91dH49dmVydGljYWxdPltjZHMtbGF5b3V0Kj0iYWxpZ246bGVmdCJde21hcmdpbi1yaWdodDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXtbY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhz''@;'; put 'put ''OmNlbnRlciJdKSxbY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhzOnZlcnRpY2FsLWNlbnRlciJdKXttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0''@;'; put 'put ''Kj0iYWxpZ25AeHM6Y2VudGVyIl0pLFtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeHM6aG9yaXpvbnRhbC1jZW50ZXIiXSl7YWxpZ24tc2VsZjpjZW50ZXJ9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJh''@;'; put 'put ''bGlnbkB4czp0b3AiXSl7bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhzOmJvdHRvbSJdKXttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90''@;'; put 'put ''dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeHM6cmlnaHQiXSl7bWFyZ2luLWxlZnQ6YXV0b31bY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhzOmxlZnQiXSl7bWFyZ2luLXJpZ2h0OmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXtbY2Rz''@;'; put 'put ''LWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHNtOmNlbnRlciJdKSxbY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHNtOnZlcnRpY2FsLWNlbnRlciJdKXttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRv''@;'; put 'put ''bTphdXRvfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25Ac206Y2VudGVyIl0pLFtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25Ac206aG9yaXpvbnRhbC1jZW50ZXIiXSl7YWxpZ24tc2VsZjpjZW50''@;'; put 'put ''ZXJ9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBzbTp0b3AiXSl7bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHNtOmJvdHRvbSJdKXttYXJn''@;'; put 'put ''aW4tdG9wOmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25Ac206cmlnaHQiXSl7bWFyZ2luLWxlZnQ6YXV0b31bY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHNtOmxlZnQi''@;'; put 'put ''XSl7bWFyZ2luLXJpZ2h0OmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXtbY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQG1kOmNlbnRlciJdKSxbY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWdu''@;'; put 'put ''QG1kOnZlcnRpY2FsLWNlbnRlciJdKXttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbWQ6Y2VudGVyIl0pLFtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5''@;'; put 'put ''b3V0Kj0iYWxpZ25AbWQ6aG9yaXpvbnRhbC1jZW50ZXIiXSl7YWxpZ24tc2VsZjpjZW50ZXJ9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBtZDp0b3AiXSl7bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49dmVydGlj''@;'; put 'put ''YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQG1kOmJvdHRvbSJdKXttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbWQ6cmlnaHQiXSl7bWFyZ2luLWxlZnQ6YXV0b31bY2RzLWxheW91''@;'; put 'put ''dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQG1kOmxlZnQiXSl7bWFyZ2luLXJpZ2h0OmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBsZzpjZW50ZXIiXSks''@;'; put 'put ''W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBsZzp2ZXJ0aWNhbC1jZW50ZXIiXSl7bWFyZ2luLXRvcDphdXRvO21hcmdpbi1ib3R0b206YXV0b31bY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQGxn''@;'; put 'put ''OmNlbnRlciJdKSxbY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQGxnOmhvcml6b250YWwtY2VudGVyIl0pe2FsaWduLXNlbGY6Y2VudGVyfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbGc6dG9w''@;'; put 'put ''Il0pe21hcmdpbi1ib3R0b206YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBsZzpib3R0b20iXSl7bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxh''@;'; put 'put ''eW91dCo9ImFsaWduQGxnOnJpZ2h0Il0pe21hcmdpbi1sZWZ0OmF1dG99W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBsZzpsZWZ0Il0pe21hcmdpbi1yaWdodDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDoxNDQwcHgpe1tjZHMtbGF5b3V0fj12''@;'; put 'put ''ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeGw6Y2VudGVyIl0pLFtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeGw6dmVydGljYWwtY2VudGVyIl0pe21hcmdpbi10b3A6YXV0bzttYXJnaW4tYm90dG9tOmF1dG99W2Nk''@;'; put 'put ''cy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkB4bDpjZW50ZXIiXSksW2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkB4bDpob3Jpem9udGFsLWNlbnRlciJdKXthbGlnbi1zZWxmOmNlbnRlcn1bY2RzLWxh''@;'; put 'put ''eW91dH49dmVydGljYWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhsOnRvcCJdKXttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeGw6Ym90dG9tIl0pe21hcmdpbi10b3A6YXV0''@;'; put 'put ''byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PXZlcnRpY2FsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkB4bDpyaWdodCJdKXttYXJnaW4tbGVmdDphdXRvfVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeGw6bGVmdCJdKXttYXJnaW4t''@;'; put 'put ''cmlnaHQ6YXV0b319W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduOmNlbnRlciJdKSxbY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ246dmVydGljYWwtY2VudGVyIl0pe2FsaWduLXNlbGY6Y2Vu''@;'; put 'put ''dGVyfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbjpjZW50ZXIiXSksW2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduOmhvcml6b250YWwtY2VudGVyIl0pe21hcmdpbi1sZWZ0OmF1dG8haW1w''@;'; put 'put ''b3J0YW50O21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ246dG9wIl0pe2FsaWduLXNlbGY6ZmxleC1zdGFydH1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0''@;'; put 'put ''Kj0iYWxpZ246Ym90dG9tIl0pe2FsaWduLXNlbGY6ZmxleC1lbmR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduOnJpZ2h0Il0pe21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQo''@;'; put 'put ''W2Nkcy1sYXlvdXQqPSJhbGlnbjpsZWZ0Il0pe21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhzOmNlbnRlciJdKSxbY2RzLWxheW91dH49aG9y''@;'; put 'put ''aXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeHM6dmVydGljYWwtY2VudGVyIl0pe2FsaWduLXNlbGY6Y2VudGVyfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkB4czpjZW50ZXIiXSksW2Nkcy1sYXlvdXR+PWhvcml6''@;'; put 'put ''b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhzOmhvcml6b250YWwtY2VudGVyIl0pe21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50O21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0i''@;'; put 'put ''YWxpZ25AeHM6dG9wIl0pe2FsaWduLXNlbGY6ZmxleC1zdGFydH1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeHM6Ym90dG9tIl0pe2FsaWduLXNlbGY6ZmxleC1lbmR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2Rz''@;'; put 'put ''LWxheW91dCo9ImFsaWduQHhzOnJpZ2h0Il0pe21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkB4czpsZWZ0Il0pe21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lk''@;'; put 'put ''dGg6NzY4cHgpe1tjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBzbTpjZW50ZXIiXSksW2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHNtOnZlcnRpY2FsLWNlbnRlciJdKXthbGlnbi1zZWxm''@;'; put 'put ''OmNlbnRlcn1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25Ac206Y2VudGVyIl0pLFtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBzbTpob3Jpem9udGFsLWNlbnRlciJdKXttYXJnaW4tbGVm''@;'; put 'put ''dDphdXRvIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHNtOnRvcCJdKXthbGlnbi1zZWxmOmZsZXgtc3RhcnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRl''@;'; put 'put ''ZChbY2RzLWxheW91dCo9ImFsaWduQHNtOmJvdHRvbSJdKXthbGlnbi1zZWxmOmZsZXgtZW5kfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBzbTpyaWdodCJdKXttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH1bY2RzLWxheW91dH49aG9y''@;'; put 'put ''aXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25Ac206bGVmdCJdKXttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXtbY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbWQ6Y2Vu''@;'; put 'put ''dGVyIl0pLFtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBtZDp2ZXJ0aWNhbC1jZW50ZXIiXSl7YWxpZ24tc2VsZjpjZW50ZXJ9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQG1kOmNlbnRl''@;'; put 'put ''ciJdKSxbY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbWQ6aG9yaXpvbnRhbC1jZW50ZXIiXSl7bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6''@;'; put 'put ''OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBtZDp0b3AiXSl7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBtZDpib3R0b20iXSl7YWxpZ24tc2VsZjpmbGV4LWVuZH1bY2RzLWxheW91dH49aG9y''@;'; put 'put ''aXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbWQ6cmlnaHQiXSl7bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQG1kOmxlZnQiXSl7bWFyZ2luLXJpZ2h0OmF1dG8haW1w''@;'; put 'put ''b3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpe1tjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBsZzpjZW50ZXIiXSksW2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQGxnOnZlcnRp''@;'; put 'put ''Y2FsLWNlbnRlciJdKXthbGlnbi1zZWxmOmNlbnRlcn1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbGc6Y2VudGVyIl0pLFtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBsZzpob3Jpem9u''@;'; put 'put ''dGFsLWNlbnRlciJdKXttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQGxnOnRvcCJdKXthbGlnbi1zZWxmOmZsZXgtc3RhcnR9W2Nkcy1sYXlv''@;'; put 'put ''dXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQGxnOmJvdHRvbSJdKXthbGlnbi1zZWxmOmZsZXgtZW5kfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkBsZzpyaWdodCJdKXttYXJnaW4tbGVmdDphdXRvIWlt''@;'; put 'put ''cG9ydGFudH1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AbGc6bGVmdCJdKXttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjE0NDBweCl7W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChb''@;'; put 'put ''Y2RzLWxheW91dCo9ImFsaWduQHhsOmNlbnRlciJdKSxbY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeGw6dmVydGljYWwtY2VudGVyIl0pe2FsaWduLXNlbGY6Y2VudGVyfVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nk''@;'; put 'put ''cy1sYXlvdXQqPSJhbGlnbkB4bDpjZW50ZXIiXSksW2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhsOmhvcml6b250YWwtY2VudGVyIl0pe21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50O21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH1b''@;'; put 'put ''Y2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeGw6dG9wIl0pe2FsaWduLXNlbGY6ZmxleC1zdGFydH1bY2RzLWxheW91dH49aG9yaXpvbnRhbF0gOjpzbG90dGVkKFtjZHMtbGF5b3V0Kj0iYWxpZ25AeGw6Ym90dG9tIl0pe2FsaWduLXNlbGY6''@;'; put 'put ''ZmxleC1lbmR9W2Nkcy1sYXlvdXR+PWhvcml6b250YWxdIDo6c2xvdHRlZChbY2RzLWxheW91dCo9ImFsaWduQHhsOnJpZ2h0Il0pe21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fVtjZHMtbGF5b3V0fj1ob3Jpem9udGFsXSA6OnNsb3R0ZWQoW2Nkcy1sYXlvdXQqPSJhbGlnbkB4bDpsZWZ0''@;'; put 'put ''Il0pe21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH19W2Nkcy10ZXh0XXtmb250LWZhbWlseTp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICJDbGFyaXR5IENpdHkiLCAiQXZlbmlyIE5leHQiLCBzYW5zLXNlcmlmKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRv''@;'; put 'put ''bTowfVtjZHMtdGV4dF1bY2RzLWxheW91dH49Z3JpZF06OmFmdGVyLFtjZHMtdGV4dF1bY2RzLWxheW91dH49Z3JpZF06OmJlZm9yZSxbY2RzLXRleHRdW2Nkcy1sYXlvdXR+PWhvcml6b250YWxdOjphZnRlcixbY2RzLXRleHRdW2Nkcy1sYXlvdXR+PWhvcml6b250YWxdOjpiZWZvcmUsW2Nk''@;'; put 'put ''cy10ZXh0XVtjZHMtbGF5b3V0fj12ZXJ0aWNhbF06OmFmdGVyLFtjZHMtdGV4dF1bY2RzLWxheW91dH49dmVydGljYWxdOjpiZWZvcmV7ZGlzcGxheTpub25lfVtjZHMtdGV4dCo9ZGlzcGxheV0sW2Nkcy10ZXh0Kj1zZWN0aW9uXSxbY2RzLXRleHQqPXN1YnNlY3Rpb25dLFtjZHMtdGV4dCo9''@;'; put 'put ''dGl0bGVde2ZvbnQtZmFtaWx5OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1oZWFkZXItZm9udC1mYW1pbHksICJDbGFyaXR5IENpdHkiLCAiQXZlbmlyIE5leHQiLCBzYW5zLXNlcmlmKTtjb2xvcjp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktY29sb3ItNDAwLHZhcigtLWNkcy1n''@;'; put 'put ''bG9iYWwtY29sb3ItY29uc3RydWN0aW9uLTkwMCwjMjEzMzNiKSl9W2Nkcy10ZXh0Kj1ib2R5XSxbY2RzLXRleHQqPW1lc3NhZ2VdLFtjZHMtdGV4dCo9c2Vjb25kYXJ5XXtjb2xvcjp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktY29sb3ItNTAwLHZhcigtLWNkcy1nbG9iYWwtY29sb3It''@;'; put 'put ''YmxhY2ssIzAwMCkpfVtjZHMtdGV4dCo9aW5saW5lXXt3aWR0aDphdXRvIWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9W2Nkcy10ZXh0Kj1kaXNwbGF5XXtmb250LXNpemU6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWRpc3BsYXktZm9udC1zaXplLGNhbGMo''@;'; put 'put ''NDAgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1kaXNwbGF5LWZvbnQtd2VpZ2h0LDQwMCk7bGluZS1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWRpc3BsYXktbGluZS1oZWlnaHQs''@;'; put 'put ''MS4xZW0pO2xldHRlci1zcGFjaW5nOnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1kaXNwbGF5LWxldHRlci1zcGFjaW5nLC0uMDEyNWVtKX1bY2RzLXRleHQqPWRpc3BsYXldOjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3dpZHRoOjA7bWFyZ2luLWJvdHRv''@;'; put 'put ''bTpjYWxjKCgodmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXRvcC1nYXAtaGVpZ2h0LC4xNDc1ZW0pICsgY2FsYygodmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWRpc3BsYXktbGluZS1oZWlnaHQsMS4xZW0pIC0gMWVtKS8gMikpKi0xKSArIC4wMzdlbSl9W2Nkcy10ZXh0Kj1kaXNw''@;'; put 'put ''bGF5XTo6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3dpZHRoOjA7bWFyZ2luLXRvcDpjYWxjKCgoKDFlbSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS10b3AtZ2FwLWhlaWdodCwuMTQ3NWVtKSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1hc2Nl''@;'; put 'put ''bmRlci1oZWlnaHQsLjE3MDNlbSkgLSB2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHkteC1oZWlnaHQsLjUxN2VtKSkgKyBjYWxjKCh2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktZGlzcGxheS1saW5lLWhlaWdodCwxLjFlbSkgLSAxZW0pLyAyKSkqLTEpIC0gLjA0NGVtKX1bY2RzLXRl''@;'; put 'put ''eHQqPXRpdGxlXXtmb250LXNpemU6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXRpdGxlLWZvbnQtc2l6ZSxjYWxjKDI0ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKTtmb250LXdlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdGl0bGUtZm9udC13ZWln''@;'; put 'put ''aHQsNDAwKTtsaW5lLWhlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdGl0bGUtbGluZS1oZWlnaHQsMS4xNjY2N2VtKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdGl0bGUtbGV0dGVyLXNwYWNpbmcsLS4wMDgzMzNlbSl9W2Nkcy10ZXh0Kj10''@;'; put 'put ''aXRsZV06OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tYm90dG9tOmNhbGMoKCh2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdG9wLWdhcC1oZWlnaHQsLjE0NzVlbSkgKyBjYWxjKCh2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHkt''@;'; put 'put ''dGl0bGUtbGluZS1oZWlnaHQsMS4xNjY2N2VtKSAtIDFlbSkvIDIpKSotMSkgKyAuMDM3ZW0pfVtjZHMtdGV4dCo9dGl0bGVdOjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tdG9wOmNhbGMoKCgoMWVtIC0gdmFyKC0tY2RzLWdsb2JhbC10''@;'; put 'put ''eXBvZ3JhcGh5LXRvcC1nYXAtaGVpZ2h0LC4xNDc1ZW0pIC0gdmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWFzY2VuZGVyLWhlaWdodCwuMTcwM2VtKSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS14LWhlaWdodCwuNTE3ZW0pKSArIGNhbGMoKHZhcigtLWNkcy1nbG9iYWwtdHlw''@;'; put 'put ''b2dyYXBoeS10aXRsZS1saW5lLWhlaWdodCwxLjE2NjY3ZW0pIC0gMWVtKS8gMikpKi0xKSAtIC4wNDRlbSl9W2Nkcy10ZXh0Kj1zZWN0aW9uXXtmb250LXNpemU6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXNlY3Rpb24tZm9udC1zaXplLGNhbGMoMjAgKiAxcmVtIC8gdmFyKC0tY2Rz''@;'; put 'put ''LWdsb2JhbC1iYXNlLDIwKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1zZWN0aW9uLWZvbnQtd2VpZ2h0LDQwMCk7bGluZS1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXNlY3Rpb24tbGluZS1oZWlnaHQsMS4yZW0pO2xldHRlci1zcGFjaW5n''@;'; put 'put ''OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1zZWN0aW9uLWxldHRlci1zcGFjaW5nLC0uMDFlbSl9W2Nkcy10ZXh0Kj1zZWN0aW9uXTo6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDt3aWR0aDowO21hcmdpbi1ib3R0b206Y2FsYygoKHZhcigtLWNkcy1nbG9i''@;'; put 'put ''YWwtdHlwb2dyYXBoeS10b3AtZ2FwLWhlaWdodCwuMTQ3NWVtKSArIGNhbGMoKHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1zZWN0aW9uLWxpbmUtaGVpZ2h0LDEuMmVtKSAtIDFlbSkvIDIpKSotMSkgKyAuMDM3ZW0pfVtjZHMtdGV4dCo9c2VjdGlvbl06OmFmdGVye2NvbnRlbnQ6IiI7''@;'; put 'put ''ZGlzcGxheTpibG9jaztoZWlnaHQ6MDt3aWR0aDowO21hcmdpbi10b3A6Y2FsYygoKCgxZW0gLSB2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdG9wLWdhcC1oZWlnaHQsLjE0NzVlbSkgLSB2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktYXNjZW5kZXItaGVpZ2h0LC4xNzAzZW0pIC0g''@;'; put 'put ''dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXgtaGVpZ2h0LC41MTdlbSkpICsgY2FsYygodmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXNlY3Rpb24tbGluZS1oZWlnaHQsMS4yZW0pIC0gMWVtKS8gMikpKi0xKSAtIC4wNDRlbSl9W2Nkcy10ZXh0Kj1zdWJzZWN0aW9uXXtmb250LXNp''@;'; put 'put ''emU6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXN1YnNlY3Rpb24tZm9udC1zaXplLGNhbGMoMTYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1zdWJzZWN0aW9uLWZvbnQtd2VpZ2h0LDQwMCk7''@;'; put 'put ''bGluZS1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXN1YnNlY3Rpb24tbGluZS1oZWlnaHQsMS4yNWVtKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktc3Vic2VjdGlvbi1sZXR0ZXItc3BhY2luZywtLjAxMjVlbSl9W2Nkcy10ZXh0Kj1zdWJz''@;'; put 'put ''ZWN0aW9uXTo6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDt3aWR0aDowO21hcmdpbi1ib3R0b206Y2FsYygoKHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS10b3AtZ2FwLWhlaWdodCwuMTQ3NWVtKSArIGNhbGMoKHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBo''@;'; put 'put ''eS1zdWJzZWN0aW9uLWxpbmUtaGVpZ2h0LDEuMjVlbSkgLSAxZW0pLyAyKSkqLTEpICsgLjAzN2VtKX1bY2RzLXRleHQqPXN1YnNlY3Rpb25dOjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tdG9wOmNhbGMoKCgoMWVtIC0gdmFyKC0tY2Rz''@;'; put 'put ''LWdsb2JhbC10eXBvZ3JhcGh5LXRvcC1nYXAtaGVpZ2h0LC4xNDc1ZW0pIC0gdmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWFzY2VuZGVyLWhlaWdodCwuMTcwM2VtKSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS14LWhlaWdodCwuNTE3ZW0pKSArIGNhbGMoKHZhcigtLWNkcy1n''@;'; put 'put ''bG9iYWwtdHlwb2dyYXBoeS1zdWJzZWN0aW9uLWxpbmUtaGVpZ2h0LDEuMjVlbSkgLSAxZW0pLyAyKSkqLTEpIC0gLjA0NGVtKX1bY2RzLXRleHQqPWJvZHlde2ZvbnQtd2VpZ2h0OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1ib2R5LWZvbnQtd2VpZ2h0LDQwMCk7Zm9udC1zaXplOnZh''@;'; put 'put ''cigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1ib2R5LWZvbnQtc2l6ZSxjYWxjKDE0ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktYm9keS1sZXR0ZXItc3BhY2luZywtLjAxNDI4NmVtKTtsaW5l''@;'; put 'put ''LWhlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktYm9keS1saW5lLWhlaWdodCwxLjQyODU3ZW0pfVtjZHMtdGV4dCo9Ym9keV06OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tYm90dG9tOmNhbGMoKCh2YXIoLS1jZHMtZ2xv''@;'; put 'put ''YmFsLXR5cG9ncmFwaHktdG9wLWdhcC1oZWlnaHQsLjE0NzVlbSkgKyBjYWxjKCh2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktYm9keS1saW5lLWhlaWdodCwxLjQyODU3ZW0pIC0gMWVtKS8gMikpKi0xKSArIC4xZW0pfVtjZHMtdGV4dCo9Ym9keV06OmFmdGVye2NvbnRlbnQ6IiI7ZGlz''@;'; put 'put ''cGxheTpibG9jaztoZWlnaHQ6MDt3aWR0aDowO21hcmdpbi10b3A6Y2FsYygoKCgxZW0gLSB2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdG9wLWdhcC1oZWlnaHQsLjE0NzVlbSkgLSB2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktYXNjZW5kZXItaGVpZ2h0LC4xNzAzZW0pIC0gdmFy''@;'; put 'put ''KC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXgtaGVpZ2h0LC41MTdlbSkpICsgY2FsYygodmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWJvZHktbGluZS1oZWlnaHQsMS40Mjg1N2VtKSAtIDFlbSkvIDIpKSotMSkgLSAuMDQ0ZW0pfVtjZHMtdGV4dCo9bWVzc2FnZV17Zm9udC1zaXplOnZh''@;'; put 'put ''cigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1tZXNzYWdlLWZvbnQtc2l6ZSxjYWxjKDE2ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKTtmb250LXdlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktbWVzc2FnZS1mb250LXdlaWdodCxjYWxjKDQwMCAqIDFyZW0g''@;'; put 'put ''LyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsMjApKSk7bGluZS1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LW1lc3NhZ2UtbGluZS1oZWlnaHQsMS4yNWVtKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktbWVzc2FnZS1sZXR0ZXItc3BhY2luZywt''@;'; put 'put ''LjAxMjVlbSl9W2Nkcy10ZXh0Kj1tZXNzYWdlXTo6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDt3aWR0aDowO21hcmdpbi1ib3R0b206Y2FsYygoKHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS10b3AtZ2FwLWhlaWdodCwuMTQ3NWVtKSArIGNhbGMoKHZhcigt''@;'; put 'put ''LWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1tZXNzYWdlLWxpbmUtaGVpZ2h0LDEuMjVlbSkgLSAxZW0pLyAyKSkqLTEpICsgLjAzN2VtKX1bY2RzLXRleHQqPW1lc3NhZ2VdOjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tdG9wOmNhbGMoKCgo''@;'; put 'put ''MWVtIC0gdmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXRvcC1nYXAtaGVpZ2h0LC4xNDc1ZW0pIC0gdmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWFzY2VuZGVyLWhlaWdodCwuMTcwM2VtKSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS14LWhlaWdodCwuNTE3ZW0pKSArIGNh''@;'; put 'put ''bGMoKHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1tZXNzYWdlLWxpbmUtaGVpZ2h0LDEuMjVlbSkgLSAxZW0pLyAyKSkqLTEpIC0gLjA0NGVtKX1bY2RzLXRleHQqPXNlY29uZGFyeV17Zm9udC1zaXplOnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1zZWNvbmRhcnktZm9udC1zaXpl''@;'; put 'put ''LGNhbGMoMTMgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1zZWNvbmRhcnktZm9udC13ZWlnaHQsNDAwKTtsaW5lLWhlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktc2Vjb25kYXJ5LWxp''@;'; put 'put ''bmUtaGVpZ2h0LDEuMjMwNzdlbSk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXNlY29uZGFyeS1sZXR0ZXItc3BhY2luZywtLjAwNzY5MmVtKX1bY2RzLXRleHQqPXNlY29uZGFyeV06OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7''@;'; put 'put ''d2lkdGg6MDttYXJnaW4tYm90dG9tOmNhbGMoKCh2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdG9wLWdhcC1oZWlnaHQsLjE0NzVlbSkgKyBjYWxjKCh2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktc2Vjb25kYXJ5LWxpbmUtaGVpZ2h0LDEuMjMwNzdlbSkgLSAxZW0pLyAyKSkqLTEp''@;'; put 'put ''ICsgLjAzN2VtKX1bY2RzLXRleHQqPXNlY29uZGFyeV06OmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDt3aWR0aDowO21hcmdpbi10b3A6Y2FsYygoKCgxZW0gLSB2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdG9wLWdhcC1oZWlnaHQsLjE0NzVlbSkgLSB2YXIo''@;'; put 'put ''LS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktYXNjZW5kZXItaGVpZ2h0LC4xNzAzZW0pIC0gdmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXgtaGVpZ2h0LC41MTdlbSkpICsgY2FsYygodmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXNlY29uZGFyeS1saW5lLWhlaWdodCwxLjIzMDc3ZW0p''@;'; put 'put ''IC0gMWVtKS8gMikpKi0xKSAtIC4wNDRlbSl9W2Nkcy10ZXh0fj1saW5rXXtjb2xvcjp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktbGluay1jb2xvcix2YXIoLS1jZHMtZ2xvYmFsLWNvbG9yLWJsdWUtODAwLCMwMDYwOGEpKSFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGlu''@;'; put 'put ''ZSFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6aW5oZXJpdCFpbXBvcnRhbnQ7Zm9udC1zaXplOmluaGVyaXQhaW1wb3J0YW50fVtjZHMtdGV4dH49bGlua106Zm9jdXN7b3V0bGluZTp2YXIoLS1jZHMtYWxpYXMtb2JqZWN0LWludGVyYWN0aW9uLW91dGxpbmUsSGlnaGxpZ2h0IHNvbGlkIDJweCk7''@;'; put 'put ''b3V0bGluZS1vZmZzZXQ6dmFyKC0tY2RzLWFsaWFzLW9iamVjdC1pbnRlcmFjdGlvbi1vdXRsaW5lLW9mZnNldCwxcHgpfVtjZHMtdGV4dH49bGlua106aG92ZXJ7Y29sb3I6dmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWxpbmstY29sb3ItaG92ZXIsdmFyKC0tY2RzLWdsb2JhbC1jb2xv''@;'; put 'put ''ci1ibHVlLTkwMCwjMDA0YjZiKSkhaW1wb3J0YW50fVtjZHMtdGV4dH49bGlua106dmlzaXRlZDpub3QoW2Nkcy10ZXh0fj1zdGF0aWNdKXtjb2xvcjp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktbGluay1jb2xvci12aXNpdGVkLHZhcigtLWNkcy1nbG9iYWwtY29sb3ItbGF2ZW5kZXIt''@;'; put 'put ''NjAwLCMzYjQwY2UpKSFpbXBvcnRhbnR9W2Nkcy10ZXh0fj1saW5rXTp2aXNpdGVkOm5vdChbY2RzLXRleHR+PXN0YXRpY10pOmhvdmVye2NvbG9yOnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1saW5rLWNvbG9yLXZpc2l0ZWQtaG92ZXIsdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1sYXZl''@;'; put 'put ''bmRlci03MDAsIzI0MjljMikpIWltcG9ydGFudH1AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKXtbY2RzLXRleHQ9bGlua106Zm9jdXN7b3V0bGluZTp2YXIoLS1jZHMtYWxpYXMtb2JqZWN0LWludGVyYWN0aW9uLW91dGxpbmUtd2Via2l0LDVweCBhdXRvIC13ZWJr''@;'; put 'put ''aXQtZm9jdXMtcmluZy1jb2xvcil9fVtjZHMtdGV4dH49Y29kZV17Y29sb3I6dmFyKC0tY2RzLWFsaWFzLXN0YXR1cy1kYW5nZXIsdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1yZWQtNzAwLCNlMDIyMDApKTtmb250LWZhbWlseTptb25vc3BhY2U7Zm9udC1zaXplOjEuMWVtfVtjZHMtZGl2aWRl''@;'; put 'put ''cl17ZGlzcGxheTpibG9jaztoZWlnaHQ6dmFyKC0tY2RzLWFsaWFzLW9iamVjdC1ib3JkZXItd2lkdGgtMTAwLGNhbGMoMSAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsMjApKSk7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6dmFyKC0tY2RzLWFsaWFzLW9iamVjdC1ib3JkZXIt''@;'; put 'put ''Y29sb3IsdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1jb25zdHJ1Y3Rpb24tMjAwLCNjYmQ0ZDgpKSAwIDAgMCB2YXIoLS1jZHMtYWxpYXMtb2JqZWN0LWJvcmRlci13aWR0aC0xMDAsY2FsYygxICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKSBpbnNldH1bY2RzLXRleHR+PWxp''@;'; put 'put ''Z2h0XXtmb250LXdlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtbGlnaHQsMzAwKSFpbXBvcnRhbnR9W2Nkcy10ZXh0fj1qdXN0aWZ5XXt0ZXh0LWFsaWduOmp1c3RpZnkhaW1wb3J0YW50fVtjZHMtdGV4dH49bGVmdF17dGV4dC1hbGlnbjpsZWZ0IWltcG9y''@;'; put 'put ''dGFudH1bY2RzLXRleHR+PXJpZ2h0XXt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH1bY2RzLXRleHR+PWNlbnRlcl17dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fVtjZHMtdGV4dH49bGhlXXtwYWRkaW5nOi4wNXB4IDB9W2Nkcy10ZXh0fj1saGVdOjpiZWZvcmV7Y29udGVudDoiIjtt''@;'; put 'put ''YXJnaW4tdG9wOi0uMTI0ZW07ZGlzcGxheTpibG9jaztoZWlnaHQ6MH1bY2RzLXRleHR+PWxoZV06OmFmdGVye2NvbnRlbnQ6IiI7bWFyZ2luLWJvdHRvbTotLjIyMWVtO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjB9W2Nkcy10ZXh0Kj1oMl0sW2Nkcy10ZXh0Kj1oM117Zm9udC1mYW1pbHk6dmFy''@;'; put 'put ''KC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWhlYWRlci1mb250LWZhbWlseSwgIkNsYXJpdHkgQ2l0eSIsICJBdmVuaXIgTmV4dCIsIHNhbnMtc2VyaWYpO2ZvbnQtc2l6ZToxLjRyZW07Zm9udC13ZWlnaHQ6MjAwO2NvbG9yOnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1jb2xvci00MDAp''@;'; put 'put ''O2xpbmUtaGVpZ2h0OjEuNzE0M2VtO2xldHRlci1zcGFjaW5nOi0uMDE3ODU3ZW19W2Nkcy10ZXh0Kj1oMl06OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tYm90dG9tOmNhbGMoKCh2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktdG9w''@;'; put 'put ''LWdhcC1oZWlnaHQsLjE0NzVlbSkgKyBjYWxjKCgxLjcxNDNlbSAtIDFlbSkvIDIpKSotMSkgKyAuMDM3ZW0pfVtjZHMtdGV4dCo9aDJdOjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tdG9wOmNhbGMoKCgoMWVtIC0gdmFyKC0tY2RzLWds''@;'; put 'put ''b2JhbC10eXBvZ3JhcGh5LXRvcC1nYXAtaGVpZ2h0LC4xNDc1ZW0pIC0gdmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LWFzY2VuZGVyLWhlaWdodCwuMTcwM2VtKSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS14LWhlaWdodCwuNTE3ZW0pKSArIGNhbGMoKDEuNzE0M2VtIC0gMWVt''@;'; put 'put ''KS8gMikpKi0xKSAtIC4wNDRlbSl9W2Nkcy10ZXh0Kj1oM117Zm9udC1zaXplOjEuMXJlbTtsaW5lLWhlaWdodDoxLjA5MDllbTtsZXR0ZXItc3BhY2luZzotLjAxMzYzNmVtfVtjZHMtdGV4dCo9aDNdOjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3dpZHRoOjA7''@;'; put 'put ''bWFyZ2luLWJvdHRvbTpjYWxjKCgodmFyKC0tY2RzLWdsb2JhbC10eXBvZ3JhcGh5LXRvcC1nYXAtaGVpZ2h0LC4xNDc1ZW0pICsgY2FsYygoMS4wOTA5ZW0gLSAxZW0pLyAyKSkqLTEpICsgLjAzN2VtKX1bY2RzLXRleHQqPWgzXTo6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hl''@;'; put 'put ''aWdodDowO3dpZHRoOjA7bWFyZ2luLXRvcDpjYWxjKCgoKDFlbSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS10b3AtZ2FwLWhlaWdodCwuMTQ3NWVtKSAtIHZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1hc2NlbmRlci1oZWlnaHQsLjE3MDNlbSkgLSB2YXIoLS1jZHMtZ2xvYmFs''@;'; put 'put ''LXR5cG9ncmFwaHkteC1oZWlnaHQsLjUxN2VtKSkgKyBjYWxjKCgxLjA5MDllbSAtIDFlbSkvIDIpKSotMSkgLSAuMDQ0ZW0pfTpob3N0e2FsbDppbml0aWFsO2Rpc3BsYXk6YmxvY2s7dmlzaWJpbGl0eTppbmhlcml0O2ZvbnQtZmFtaWx5OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1m''@;'; put 'put ''b250LWZhbWlseSwgIkNsYXJpdHkgQ2l0eSIsICJBdmVuaXIgTmV4dCIsIHNhbnMtc2VyaWYpO2NvbnRhaW46bGF5b3V0O2JveC1zaXppbmc6Ym9yZGVyLWJveCFpbXBvcnRhbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUhaW1wb3J0YW50fSosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpp''@;'; put 'put ''bmhlcml0IWltcG9ydGFudH1zbG90e2ZvbnQtZmFtaWx5OnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgIkNsYXJpdHkgQ2l0eSIsICJBdmVuaXIgTmV4dCIsIHNhbnMtc2VyaWYpO2Rpc3BsYXk6Y29udGVudHMhaW1wb3J0YW50fTo6c2xvdHRlZCgqKXtmb250LWZh''@;'; put 'put ''bWlseTppbmhlcml0O2JveC1zaXppbmc6aW5oZXJpdH06OnNsb3R0ZWQoKik6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNkcy1nbG9iYWwtdHlwb2dyYXBoeS1jb2xvci0yMDAsdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1jb25zdHJ1Y3Rpb24tNjAwLCM0ZjYxNjkpKX06aG9zdChbX2lzLWFu''@;'; put 'put ''Y2hvcl0pLDpob3N0KFtyb2xlPWJ1dHRvbl0pe2N1cnNvcjpwb2ludGVyIWltcG9ydGFudH06aG9zdChbX2lzLWFuY2hvcl0pIDo6c2xvdHRlZCgqKSw6aG9zdChbcm9sZT1idXR0b25dKSA6OnNsb3R0ZWQoKil7Y3Vyc29yOnBvaW50ZXIhaW1wb3J0YW50fTpob3N0KFtyb2xlPWJ1dHRvbl1b''@;'; put 'put ''ZGlzYWJsZWRdKXtjdXJzb3I6bm90LWFsbG93ZWQhaW1wb3J0YW50fTpob3N0KFtyb2xlPWJ1dHRvbl1bZGlzYWJsZWRdKSA6OnNsb3R0ZWQoKil7Y3Vyc29yOm5vdC1hbGxvd2VkIWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lfTpob3N0KFtoaWRkZW5dKSxbaGlkZGVuXXtkaXNwbGF5''@;'; put 'put ''Om5vbmUhaW1wb3J0YW50fTpob3N0KFtoaWRkZW4qPWZhbHNlXSl7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9Omhvc3QoW3JvbGU9ZGlhbG9nXVtoaWRkZW5dKSw6aG9zdChbcm9sZT1kaWFsb2ddW2hpZGRlbl0pIDo6c2xvdHRlZCgqKXtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmls''@;'; put 'put ''aXR5OmhpZGRlbiFpbXBvcnRhbnR9Omhvc3QoW3JvbGU9ZGlhbG9nXVtoaWRkZW4qPWZhbHNlXSksOmhvc3QoW3JvbGU9ZGlhbG9nXVtoaWRkZW4qPWZhbHNlXSkgOjpzbG90dGVkKCope3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnR9Omhvc3QoW19mb2N1c2VkXSkgLmlucHV0LDpob3N0''@;'; put 'put ''KFtfZm9jdXNlZF0pIFtmb2N1c2FibGVdLDpob3N0KFt0YWJpbmRleD0iMCJdOmZvY3VzKSw6aG9zdChbdGFiaW5kZXg9IjAiXTpmb2N1cykgW2ZvY3VzYWJsZV0sW3RhYmluZGV4PSIwIl1bZm9jdXNhYmxlXTpmb2N1c3tvdXRsaW5lOkhpZ2hsaWdodCBzb2xpZCAycHg7b3V0bGluZTo1cHgg''@;'; put 'put ''YXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7b3V0bGluZS1vZmZzZXQ6dmFyKC0tY2RzLWFsaWFzLW9iamVjdC1pbnRlcmFjdGlvbi1vdXRsaW5lLW9mZnNldCwxcHgpfWApKTtjb25zdCBFUD1FQjtmdW5jdGlvbiBVeShsKXtyZXR1cm5gY2FsYygoJHtsfSAvIHZhcigtLWNkcy1nbG9i''@;'; put 'put ''YWwtYmFzZSkpICogMXJlbSlgfWNvbnN0IEZCPShsLGMpPT4ibWV0aG9kIj09PWMua2luZCYmYy5kZXNjcmlwdG9yJiYhKCJ2YWx1ZSJpbiBjLmRlc2NyaXB0b3IpP21mKGJyKHt9LGMpLHtmaW5pc2hlcihhKXthLmNyZWF0ZVByb3BlcnR5KGMua2V5LGwpfX0pOntraW5kOiJmaWVsZCIsa2V5''@;'; put 'put ''OlN5bWJvbCgpLHBsYWNlbWVudDoib3duIixkZXNjcmlwdG9yOnt9LG9yaWdpbmFsS2V5OmMua2V5LGluaXRpYWxpemVyKCl7ImZ1bmN0aW9uIj09dHlwZW9mIGMuaW5pdGlhbGl6ZXImJih0aGlzW2Mua2V5XT1jLmluaXRpYWxpemVyLmNhbGwodGhpcykpfSxmaW5pc2hlcihhKXthLmNyZWF0''@;'; put 'put ''ZVByb3BlcnR5KGMua2V5LGwpfX07ZnVuY3Rpb24gVFAobCl7cmV0dXJuKGMsYSk9PnZvaWQgMCE9PWE/dm9pZCBjLmNvbnN0cnVjdG9yLmNyZWF0ZVByb3BlcnR5KGEsbCk6RkIobCxjKX1mdW5jdGlvbiBMUChsLGMpe3N3aXRjaChjJiZjLnR5cGUpe2Nhc2UgQXJyYXk6Y2FzZSBPYmplY3Q6''@;'; put 'put ''cmV0dXJuIGJyKHtyZWZsZWN0OiExfSxjKTtjYXNlIFN0cmluZzpyZXR1cm4gYnIoe3JlZmxlY3Q6ITAsYXR0cmlidXRlOlpsKGwpLGNvbnZlcnRlcjp7dG9BdHRyaWJ1dGU6YT0+YXx8bnVsbH19LGMpO2Nhc2UgTnVtYmVyOnJldHVybiBicih7cmVmbGVjdDohMCxhdHRyaWJ1dGU6WmwobCl9''@;'; put 'put ''LGMpO2Nhc2UgQm9vbGVhbjpyZXR1cm4gYnIoe3JlZmxlY3Q6ITAsYXR0cmlidXRlOlpsKGwpLGNvbnZlcnRlcjp7dG9BdHRyaWJ1dGU6YT0+YT8iIjpudWxsLGZyb21BdHRyaWJ1dGU6YT0+ZnVuY3Rpb24gTUIobCl7cmV0dXJuIG51bGwhPWwmJiIiK2whPSJmYWxzZSJ9KGEpfX0sYyk7Y2Fz''@;'; put 'put ''ZSBEYXRlOnJldHVybiBicih7cmVmbGVjdDohMSxjb252ZXJ0ZXI6e2Zyb21BdHRyaWJ1dGU6YT0+bmV3IERhdGUoYSl9fSxjKTtkZWZhdWx0OnJldHVybiBicih7fSxjKX19ZnVuY3Rpb24gZWkobCl7cmV0dXJuKGMsYSk9PihudWxsIT1sJiZsLnJlcXVpcmVkJiZmdW5jdGlvbiBSQihsLGMs''@;'; put 'put ''YSl7Y29uc3QgZD1sLmZpcnN0VXBkYXRlZDtsLmZpcnN0VXBkYXRlZD1mdW5jdGlvbihmKXtpZihhJiZhLnJlcXVpcmVkJiZjbCh0aGlzW2NdKSl7Y29uc3Qgdj1hLnJlcXVpcmVkTWVzc2FnZXx8ZnVuY3Rpb24oeD0id2FybmluZyIsSCxLKXtjb25zdCBlZT1LLnRvTG9jYWxlTG93ZXJDYXNl''@;'; put 'put ''KCk7cmV0dXJuYCR7RE8oeCl9OiAke0h9IGlzIHJlcXVpcmVkIHRvIHVzZSAke2VlfSBjb21wb25lbnQuIFNldCB0aGUgSlMgUHJvcGVydHkgb3IgSFRNTCBBdHRyaWJ1dGUuXG5cbmArKGtPKCk/YEFuZ3VsYXI6IDwke2VlfSBbJHtIfV09Ii4uLiI+PC8ke2VlfT5cbmA6IiIpKyhTTygpP2BW''@;'; put 'put ''dWU6IDwke2VlfSA6JHtIfT0iLi4uIj48LyR7ZWV9PlxuYDoiIikrKGpPKCk/YFJlYWN0OiA8JHtmdW5jdGlvbiBpeihsKXtyZXR1cm4gRE8oZnVuY3Rpb24gcnoobCl7cmV0dXJuIGwuc3BsaXQoIi0iKS5tYXAoKGMsYSk9PmE/Yy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnNsaWNlKDEp''@;'; put 'put ''LnRvTG93ZXJDYXNlKCk6Yykuam9pbigiIil9KGwpKX0oZWUpfSAke2ZlPUgsZmUuc3RhcnRzV2l0aCgiYXJpYSIpP1psKGZlKTpmZX09ey4uLn0gLz5cbmA6IiIpK2BIVE1MOiA8JHtlZX0gJHtabChIKX09Ii4uLiI+PC8ke2VlfT5cbkphdmFTY3JpcHQ6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0''@;'; put 'put ''b3IoJyR7ZWV9JykuJHtIfSA9ICcuLi4nO1xuXG5gO3ZhciBmZX0oYS5yZXF1aXJlZCxjLHRoaXMudGFnTmFtZSk7aWYoImVycm9yIj09PWEucmVxdWlyZWQpdGhyb3cgRXJyb3Iodik7Smwud2Fybih2LHRoaXMpfWQmJmQuY2FsbCh0aGlzLGYpfX0oYyxhLGwpLFRQKExQKGEsbCkpKGMsYSkp''@;'; put 'put ''fWZ1bmN0aW9uIElQKGwpe3JldHVybihjLGEpPT57Y29uc3QgZD1MUChhLGwpO3JldHVybiBkJiYoZC5yZWZsZWN0PSEobnVsbD09bHx8IWwucmVmbGVjdCkmJmwucmVmbGVjdCxkLnJlZmxlY3QmJiEobnVsbCE9bCYmbC5hdHRyaWJ1dGUpJiYoZC5hdHRyaWJ1dGU9Il8iK1psKGEpKSksVFAo''@;'; put 'put ''ZCkoYyxhKX19bGV0IEZQO3ZhciBRcyxsLEJCPUl5KEZQfHwoRlA9KGw9PmwpYEBrZXlmcmFtZXMgZmFkZUluQW5kT3V0ezAlLHRve29wYWNpdHk6MH03NSV7b3BhY2l0eToxfX06aG9zdHstLWNvbG9yOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0tY2Rz''@;'; put 'put ''LWdsb2JhbC1zcGFjZS03LGNhbGMoMTYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO3dpZHRoOnZhcigtLWNkcy1nbG9iYWwtc3BhY2UtNyxjYWxjKDE2ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKTttaW4taGVpZ2h0OnZhcigtLWNkcy1nbG9iYWwt''@;'; put 'put ''c3BhY2UtNyxjYWxjKDE2ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKTttaW4td2lkdGg6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS03LGNhbGMoMTYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO21hcmdpbjowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtm''@;'; put 'put ''aWxsOnZhcigtLWNvbG9yKTtjb2xvcjp2YXIoLS1jb2xvcik7Y29udGFpbjpzdHJpY3Q7Y3Vyc29yOmluaGVyaXR9c3Zne2Rpc3BsYXk6YmxvY2t9Omhvc3QoW3NpemUqPXhzXSl7aGVpZ2h0OnZhcigtLWNkcy1nbG9iYWwtc3BhY2UtNSxjYWxjKDggKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2Jh''@;'; put 'put ''bC1iYXNlLDIwKSkpO3dpZHRoOnZhcigtLWNkcy1nbG9iYWwtc3BhY2UtNSxjYWxjKDggKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO21pbi1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS01LGNhbGMoOCAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsMjAp''@;'; put 'put ''KSk7bWluLXdpZHRoOnZhcigtLWNkcy1nbG9iYWwtc3BhY2UtNSxjYWxjKDggKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpfTpob3N0KFtzaXplKj1zbV0pe2hlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTcsY2FsYygxNiAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFs''@;'; put 'put ''LWJhc2UsMjApKSk7d2lkdGg6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS03LGNhbGMoMTYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO21pbi1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS03LGNhbGMoMTYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIw''@;'; put 'put ''KSkpO21pbi13aWR0aDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTcsY2FsYygxNiAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsMjApKSl9Omhvc3QoW3NpemUqPW1kXSl7aGVpZ2h0OnZhcigtLWNkcy1nbG9iYWwtc3BhY2UtOSxjYWxjKDI0ICogMXJlbSAvIHZhcigtLWNkcy1nbG9i''@;'; put 'put ''YWwtYmFzZSwyMCkpKTt3aWR0aDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTksY2FsYygyNCAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsMjApKSk7bWluLWhlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTksY2FsYygyNCAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2Us''@;'; put 'put ''MjApKSk7bWluLXdpZHRoOnZhcigtLWNkcy1nbG9iYWwtc3BhY2UtOSxjYWxjKDI0ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKX06aG9zdChbc2l6ZSo9bGddKXtoZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMSxjYWxjKDM2ICogMXJlbSAvIHZhcigtLWNkcy1n''@;'; put 'put ''bG9iYWwtYmFzZSwyMCkpKTt3aWR0aDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTExLGNhbGMoMzYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO21pbi1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMSxjYWxjKDM2ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwt''@;'; put 'put ''YmFzZSwyMCkpKTttaW4td2lkdGg6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMSxjYWxjKDM2ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKX06aG9zdChbc2l6ZSo9eGxdKXtoZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMixjYWxjKDQ4ICogMXJlbSAvIHZhcigt''@;'; put 'put ''LWNkcy1nbG9iYWwtYmFzZSwyMCkpKTt3aWR0aDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTEyLGNhbGMoNDggKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO21pbi1oZWlnaHQ6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMixjYWxjKDQ4ICogMXJlbSAvIHZhcigtLWNkcy1n''@;'; put 'put ''bG9iYWwtYmFzZSwyMCkpKTttaW4td2lkdGg6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMixjYWxjKDQ4ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKX06aG9zdChbc2l6ZSo9eHhsXSl7aGVpZ2h0OmNhbGModmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMyxjYWxjKDY0ICog''@;'; put 'put ''MXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKSAtIHZhcigtLWNkcy1nbG9iYWwtc3BhY2UtNSxjYWxjKDggKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpKTt3aWR0aDpjYWxjKHZhcigtLWNkcy1nbG9iYWwtc3BhY2UtMTMsY2FsYyg2NCAqIDFyZW0gLyB2YXIo''@;'; put 'put ''LS1jZHMtZ2xvYmFsLWJhc2UsMjApKSkgLSB2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTUsY2FsYyg4ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKSk7bWluLWhlaWdodDpjYWxjKHZhcigtLWNkcy1nbG9iYWwtc3BhY2UtMTMsY2FsYyg2NCAqIDFyZW0gLyB2YXIoLS1jZHMt''@;'; put 'put ''Z2xvYmFsLWJhc2UsMjApKSkgLSB2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTUsY2FsYyg4ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkpKSk7bWluLXdpZHRoOmNhbGModmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xMyxjYWxjKDY0ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwt''@;'; put 'put ''YmFzZSwyMCkpKSAtIHZhcigtLWNkcy1nbG9iYWwtc3BhY2UtNSxjYWxjKDggKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpKX06aG9zdChbc2l6ZSo9Zml0XSl7aGVpZ2h0OmF1dG87d2lkdGg6YXV0bztjb250YWluOmxheW91dH06aG9zdChbc3RhdHVzPXN1Y2Nlc3NdKXst''@;'; put 'put ''LWNvbG9yOnZhcigtLWNkcy1hbGlhcy1zdGF0dXMtc3VjY2VzcywgdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1ncmVlbi03MDAsICM0MjgxMGUpKX06aG9zdChbc3RhdHVzPWRhbmdlcl0pey0tY29sb3I6dmFyKC0tY2RzLWFsaWFzLXN0YXR1cy1kYW5nZXIsIHZhcigtLWNkcy1nbG9iYWwtY29s''@;'; put 'put ''b3ItcmVkLTcwMCwgI2UwMjIwMCkpfTpob3N0KFtzdGF0dXM9d2FybmluZ10pey0tY29sb3I6dmFyKC0tY2RzLWFsaWFzLXN0YXR1cy13YXJuaW5nLWRhcmssIHZhcigtLWNkcy1nbG9iYWwtY29sb3Itb2NocmUtODAwLCAjYTM2NTAwKSl9Omhvc3QoW3N0YXR1cz1pbmZvXSl7LS1jb2xvcjp2''@;'; put 'put ''YXIoLS1jZHMtYWxpYXMtc3RhdHVzLWluZm8tc2hhZGUsIHZhcigtLWNkcy1nbG9iYWwtY29sb3ItYmx1ZS04MDAsICMwMDYwOGEpKX06aG9zdChbaW52ZXJzZV0pey0tY29sb3I6dmFyKC0tY2RzLWdsb2JhbC1jb2xvci1jb25zdHJ1Y3Rpb24tMjAwLCAjY2JkNGQ4KX06aG9zdChbZGlyZWN0''@;'; put 'put ''aW9uPXVwXSl7dHJhbnNmb3JtOnJvdGF0ZSgwKX06aG9zdChbZGlyZWN0aW9uPWRvd25dKXt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Omhvc3QoW2RpcmVjdGlvbj1yaWdodF0pe3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfTpob3N0KFtkaXJlY3Rpb249bGVmdF0pe3RyYW5zZm9ybTpyb3Rh''@;'; put 'put ''dGUoMjcwZGVnKX06aG9zdChbZmxpcD1ob3Jpem9udGFsXSl7dHJhbnNmb3JtOnNjYWxlKC0xKSByb3RhdGVYKDE4MGRlZyl9Omhvc3QoW2ZsaXA9dmVydGljYWxdKXt0cmFuc2Zvcm06c2NhbGUoLTEpIHJvdGF0ZVkoMTgwZGVnKX0uYWxlcnQsLmJhZGdle2ZpbGw6dmFyKC0tYmFkZ2UtY29s''@;'; put 'put ''b3IsdmFyKC0tY2RzLWFsaWFzLXN0YXR1cy1kYW5nZXIsdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1yZWQtNzAwLCNlMDIyMDApKSl9Omhvc3QoW2JhZGdlPXN1Y2Nlc3NdKXstLWJhZGdlLWNvbG9yOnZhcigtLWNkcy1hbGlhcy1zdGF0dXMtc3VjY2VzcywgdmFyKC0tY2RzLWdsb2JhbC1jb2xv''@;'; put 'put ''ci1ncmVlbi03MDAsICM0MjgxMGUpKX06aG9zdChbYmFkZ2U9ZGFuZ2VyXSl7LS1iYWRnZS1jb2xvcjp2YXIoLS1jZHMtYWxpYXMtc3RhdHVzLWRhbmdlciwgdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1yZWQtNzAwLCAjZTAyMjAwKSl9Omhvc3QoW2JhZGdlKj13YXJuaW5nXSl7LS1iYWRnZS1j''@;'; put 'put ''b2xvcjp2YXIoLS1jZHMtYWxpYXMtc3RhdHVzLXdhcm5pbmctZGFyaywgdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1vY2hyZS04MDAsICNhMzY1MDApKX06aG9zdChbYmFkZ2U9aW5oZXJpdF0pey0tYmFkZ2UtY29sb3I6Y3VycmVudENvbG9yfTpob3N0KFtiYWRnZT1pbmZvXSl7LS1iYWRnZS1j''@;'; put 'put ''b2xvcjp2YXIoLS1jZHMtYWxpYXMtc3RhdHVzLWluZm8sIHZhcigtLWNkcy1nbG9iYWwtY29sb3ItYmx1ZS03MDAsICMwMDc5YWQpKX06aG9zdChbYmFkZ2U9aW5oZXJpdC10cmlhbmdsZV0pey0tYmFkZ2UtY29sb3I6Y3VycmVudENvbG9yfTpob3N0KFtiYWRnZV1baW52ZXJzZV0pey0tYmFk''@;'; put 'put ''Z2UtY29sb3I6dmFyKC0tY2RzLWFsaWFzLXN0YXR1cy1kYW5nZXIsIHZhcigtLWNkcy1nbG9iYWwtY29sb3ItcmVkLTcwMCwgI2UwMjIwMCkpfTpob3N0KFtiYWRnZT1zdWNjZXNzXVtpbnZlcnNlXSl7LS1iYWRnZS1jb2xvcjp2YXIoLS1jZHMtYWxpYXMtc3RhdHVzLXN1Y2Nlc3MsIHZhcigt''@;'; put 'put ''LWNkcy1nbG9iYWwtY29sb3ItZ3JlZW4tNzAwLCAjNDI4MTBlKSl9Omhvc3QoW2JhZGdlKj13YXJuaW5nXVtpbnZlcnNlXSl7LS1iYWRnZS1jb2xvcjp2YXIoLS1jZHMtYWxpYXMtc3RhdHVzLXdhcm5pbmctZGFyaywgdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1vY2hyZS04MDAsICNhMzY1MDAp''@;'; put 'put ''KX06aG9zdChbYmFkZ2UqPWluaGVyaXRdW2ludmVyc2VdKXstLWJhZGdlLWNvbG9yOmN1cnJlbnRDb2xvcn06aG9zdChbYmFkZ2U9aW5mb11baW52ZXJzZV0pey0tYmFkZ2UtY29sb3I6dmFyKC0tY2RzLWFsaWFzLXN0YXR1cy1pbmZvLCB2YXIoLS1jZHMtZ2xvYmFsLWNvbG9yLWJsdWUtNzAw''@;'; put 'put ''LCAjMDA3OWFkKSl9LmNkcy1pbnRlcm5hbC1kb3QtMXthbmltYXRpb246ZmFkZUluQW5kT3V0IDEuOHMgZWFzZS1pbiAwcyBpbmZpbml0ZX0uY2RzLWludGVybmFsLWRvdC0ye2FuaW1hdGlvbjpmYWRlSW5BbmRPdXQgMS44cyBlYXNlLW91dCAuNDIycyBpbmZpbml0ZX0uY2RzLWludGVybmFs''@;'; put 'put ''LWRvdC0ze2FuaW1hdGlvbjpmYWRlSW5BbmRPdXQgMS44cyBlYXNlLW91dCAuNjc1cyBpbmZpbml0ZX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pey5jZHMtaW50ZXJuYWwtZG90LTEsLmNkcy1pbnRlcm5hbC1kb3QtMiwuY2RzLWludGVybmFsLWRvdC0ze2FuaW1hdGlvbjpub25l''@;'; put 'put ''fX1gKSk7ZnVuY3Rpb24gV0IobCxjKXtsZXQgYT0iIjtzd2l0Y2goZnVuY3Rpb24gSEIobCl7c3dpdGNoKCEwKXtjYXNlIGNsKGwpOnJldHVybiBRcy5OaWxTaXplVmFsdWU7Y2FzZSBmdW5jdGlvbiBSUChsKXtyZXR1cm5bInh4cyIsInhzIiwic20iLCJtZCIsImxnIiwieGwiLCJ4eGwiXS5p''@;'; put 'put ''bmRleE9mKGwpPi0xfShsKTpyZXR1cm4gUXMuVmFsaWRTaXplU3RyaW5nO2Nhc2UgZnVuY3Rpb24gbU8obCl7cmV0dXJuIHl5KGwpJiYhZ08obC50cmltKCkpJiYrbD09K2x9KGwpOnJldHVybiBRcy5WYWxpZE51bWVyaWNTdHJpbmc7ZGVmYXVsdDpyZXR1cm4gUXMuQmFkU2l6ZVZhbHVlfX0o''@;'; put 'put ''ZnVuY3Rpb24gVkIobCl7cmV0dXJuIGNsKGwpPyIiOmZ1bmN0aW9uIG96KGwsYyxhPSIiKXtjb25zdCBkPWwuc3BsaXQoIiAiKSxmPSIiPT09YT9kLmZpbHRlcih2PT52IT09Yyk6ZC5tYXAodj0+dj09PWM/YTp2KTtyZXR1cm4gZi5sZW5ndGg+MD9mLmpvaW4oIiAiKToiIn0obCwiZml0Iil9''@;'; put 'put ''KGMpKSl7Y2FzZSBRcy5WYWxpZE51bWVyaWNTdHJpbmc6cmV0dXJuIGE9VXkocGFyc2VJbnQoYykpLHZvaWQgZnVuY3Rpb24gTEIobCwuLi5jKXtjLmZvckVhY2goKFthLGRdKT0+e2wuc3R5bGVbYV09ZH0pfShsLC4uLmZ1bmN0aW9uIFVCKGwsYyl7cmV0dXJuIU9oKGwpJiZsLmluZGV4T2Yo''@;'; put 'put ''ImZpdCIpPi0xP1tbIndpZHRoIiwiYXV0byJdLFsiaGVpZ2h0IiwiYXV0byJdLFsibWluLXdpZHRoIixjXSxbIm1pbi1oZWlnaHQiLGNdXTpbWyJ3aWR0aCIsY10sWyJoZWlnaHQiLGNdLFsibWluLXdpZHRoIixjXSxbIm1pbi1oZWlnaHQiLGNdXX0oYyxhKSk7Y2FzZSBRcy5WYWxpZFNpemVT''@;'; put 'put ''dHJpbmc6Y2FzZSBRcy5OaWxTaXplVmFsdWU6cmV0dXJuIHZvaWQgZnVuY3Rpb24gSUIobCwuLi5jKXtjLmZvckVhY2goYT0+e2wuc3R5bGVbYV09IiJ9KX0obCwid2lkdGgiLCJoZWlnaHQiLCJtaW4td2lkdGgiLCJtaW4taGVpZ2h0Iik7ZGVmYXVsdDpyZXR1cm59fWZ1bmN0aW9uIFd5KGwp''@;'; put 'put ''e3JldHVybiBsLmJhZGdlJiYoImluaGVyaXQtdHJpYW5nbGUiPT09bC5iYWRnZXx8Indhcm5pbmctdHJpYW5nbGUiPT09bC5iYWRnZSl9KGw9UXN8fChRcz17fSkpLkJhZFNpemVWYWx1ZT0iYmFkLXZhbHVlIixsLlZhbGlkU2l6ZVN0cmluZz0idmFsdWUtaXMtc3RyaW5nIixsLlZhbGlkTnVt''@;'; put 'put ''ZXJpY1N0cmluZz0idmFsdWUtaXMtbnVtZXJpYyIsbC5OaWxTaXplVmFsdWU9InZhbHVlLWlzLW5pbCI7bGV0IFlQLHpQLE5QPWw9Pmw7Y2xhc3MgQ3MgZXh0ZW5kcyBBdXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fc2hhcGU9InVua25vd24iLHRoaXMuc29saWQ9''@;'; put 'put ''ITEsdGhpcy5pbnZlcnNlPSExfXN0YXRpYyBnZXQgc3R5bGVzKCl7cmV0dXJuW0VQLEJCXX1nZXQgc2hhcGUoKXtyZXR1cm4gdGhpcy5fc2hhcGV9c2V0IHNoYXBlKGMpe2lmKGZ1bmN0aW9uIEdZKGwsYyl7cmV0dXJuIWNsKGwpJiZ2TyhsLGMpfShjLHRoaXMuX3NoYXBlKSl7Y29uc3QgYT10''@;'; put 'put ''aGlzLl9zaGFwZTt0aGlzLl9zaGFwZT1jLHRoaXMucmVxdWVzdFVwZGF0ZSgic2hhcGUiLGEpfX1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfXNldCBzaXplKGMpe2lmKGZ1bmN0aW9uIHFZKGwsYyl7cmV0dXJuIGZ1bmN0aW9uIFdZKGwpe3JldHVybiBKZyhTdHJpbmcsbCl8fE9oKGwp''@;'; put 'put ''fShsKSYmdk8obCxjKX0oYyx0aGlzLl9zaXplKSl7Y29uc3QgYT10aGlzLl9zaXplO3RoaXMuX3NpemU9YyxXQih0aGlzLGMpLHRoaXMucmVxdWVzdFVwZGF0ZSgic2l6ZSIsYSl9fXVwZGF0ZWQoYyl7aWYoYy5oYXMoImlubmVyT2Zmc2V0IikmJnRoaXMuaW5uZXJPZmZzZXQ+MCl7Y29uc3Qg''@;'; put 'put ''YT1VeSgtMSp0aGlzLmlubmVyT2Zmc2V0KSxkPWBjYWxjKDEwMCUgKyAke1V5KDIqdGhpcy5pbm5lck9mZnNldCl9KWA7dGhpcy5zdmcuc3R5bGUud2lkdGg9ZCx0aGlzLnN2Zy5zdHlsZS5oZWlnaHQ9ZCx0aGlzLnN2Zy5zdHlsZS5tYXJnaW49YCR7YX0gMCAwICR7YX1gfX1maXJzdFVwZGF0''@;'; put 'put ''ZWQoYyl7aWYoc3VwZXIuZmlyc3RVcGRhdGVkKGMpLHRoaXMuaXNDb25uZWN0ZWQpe2xldCBhPSJ1bmtub3duIjt0aGlzLnN1YnNjcmlwdGlvbj1haS5zdGF0ZVVwZGF0ZXMuc3Vic2NyaWJlKGQ9PnsiaWNvblJlZ2lzdHJ5Ij09PWQua2V5JiZNci5yZWdpc3RyeVt0aGlzLnNoYXBlXSYmYSE9''@;'; put 'put ''PXRoaXMuc2hhcGUmJihhPXRoaXMuc2hhcGUsdGhpcy5yZXF1ZXN0VXBkYXRlKCJzaGFwZSIpKX0pfX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBjO3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksbnVsbD09PShjPXRoaXMuc3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09Y3x8Yy51bnN1''@;'; put 'put ''YnNjcmliZSgpfXJlbmRlcigpe3JldHVybiB5eShNci5yZWdpc3RyeVt0aGlzLnNoYXBlXSk/QnkoWVB8fChZUD1OUGA8c3BhbiAuaW5uZXJIVE1MPSIkezB9Ij48L3NwYW4+YCksTXIucmVnaXN0cnlbdGhpcy5zaGFwZV0pOkRCKHpQfHwoelA9TlBgPHN2ZyAuaW5uZXJIVE1MPSIkezB9IiB2''@;'; put 'put ''aWV3Qm94PSIwIDAgMzYgMzYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3ZnPmApLGZ1bmN0aW9uIEdCKGwpe3ZhciBjLGEsZCxmLHY7Y29uc3QgeD1udWxsIT09KGM9TXIucmVnaXN0cnlbbC5zaGFwZV0pJiZ2b2lkIDAhPT1jP2M6''@;'; put 'put ''TXIucmVnaXN0cnkudW5rbm93bjtsZXQgSD1sLnNvbGlkJiZ4LnNvbGlkP3guc29saWQ6eC5vdXRsaW5lO3JldHVybiBsLmJhZGdlJiYhV3kobCkmJihIPWwuc29saWQ/bnVsbCE9PShhPXguc29saWRCYWRnZWQpJiZ2b2lkIDAhPT1hP2E6SDpudWxsIT09KGQ9eC5vdXRsaW5lQmFkZ2VkKSYm''@;'; put 'put ''dm9pZCAwIT09ZD9kOkgpLFd5KGwpJiYoSD1sLnNvbGlkP251bGwhPT0oZj14LnNvbGlkQWxlcnRlZCkmJnZvaWQgMCE9PWY/ZjpIOm51bGwhPT0odj14Lm91dGxpbmVBbGVydGVkKSYmdm9pZCAwIT09dj92OkgpLEh9KHRoaXMpK2Z1bmN0aW9uIHFCKGwpe2xldCBjPSIiO3JldHVybiBsLmJh''@;'; put 'put ''ZGdlJiZXeShsKT9jPSc8cGF0aCBkPSJNMjYuODUgMS4xNEwyMS4xMyAxMWExLjI4IDEuMjggMCAwMDEuMSAyaDExLjQ1YTEuMjggMS4yOCAwIDAwMS4xLTJsLTUuNzItOS44NmExLjI4IDEuMjggMCAwMC0yLjIxIDB6IiBjbGFzcz0iYWxlcnQiIC8+JzpsLmJhZGdlJiYoYz0nPGNpcmNsZSBj''@;'; put 'put ''eD0iMzAiIGN5PSI2IiByPSI1IiBjbGFzcz0iYmFkZ2UiIC8+JyksY30odGhpcykpfX1wZShbZWkoe3R5cGU6U3RyaW5nfSldLENzLnByb3RvdHlwZSwic2hhcGUiLG51bGwpLHBlKFtlaSh7dHlwZTpTdHJpbmd9KV0sQ3MucHJvdG90eXBlLCJzaXplIixudWxsKSxwZShbZWkoe3R5cGU6U3Ry''@;'; put 'put ''aW5nfSldLENzLnByb3RvdHlwZSwiZGlyZWN0aW9uIix2b2lkIDApLHBlKFtlaSh7dHlwZTpTdHJpbmd9KV0sQ3MucHJvdG90eXBlLCJmbGlwIix2b2lkIDApLHBlKFtlaSh7dHlwZTpCb29sZWFufSldLENzLnByb3RvdHlwZSwic29saWQiLHZvaWQgMCkscGUoW2VpKHt0eXBlOlN0cmluZ30p''@;'; put 'put ''XSxDcy5wcm90b3R5cGUsInN0YXR1cyIsdm9pZCAwKSxwZShbZWkoe3R5cGU6Qm9vbGVhbn0pXSxDcy5wcm90b3R5cGUsImludmVyc2UiLHZvaWQgMCkscGUoW2VpKHt0eXBlOlN0cmluZ30pXSxDcy5wcm90b3R5cGUsImJhZGdlIix2b2lkIDApLHBlKFtJUCh7dHlwZTpOdW1iZXJ9KV0sQ3Mu''@;'; put 'put ''cHJvdG90eXBlLCJpbm5lck9mZnNldCIsdm9pZCAwKSxwZShbZnVuY3Rpb24gWUIobCxjKXtyZXR1cm4oKHtmaW5pc2hlcjpsLGRlc2NyaXB0b3I6Y30pPT4oYSxkKT0+e3ZhciBmO2lmKHZvaWQgMD09PWQpe2NvbnN0IHY9bnVsbCE9PShmPWEub3JpZ2luYWxLZXkpJiZ2b2lkIDAhPT1mP2Y6''@;'; put 'put ''YS5rZXkseD1udWxsIT1jP3traW5kOiJtZXRob2QiLHBsYWNlbWVudDoicHJvdG90eXBlIixrZXk6dixkZXNjcmlwdG9yOmMoYS5rZXkpfTptZihicih7fSxhKSx7a2V5OnZ9KTtyZXR1cm4gbnVsbCE9bCYmKHguZmluaXNoZXI9ZnVuY3Rpb24oSCl7bChILHYpfSkseH17Y29uc3Qgdj1hLmNv''@;'; put 'put ''bnN0cnVjdG9yO3ZvaWQgMCE9PWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGQsYyhkKSksbnVsbD09bHx8bCh2LGQpfX0pKHtkZXNjcmlwdG9yOmE9Pntjb25zdCBkPXtnZXQoKXt2YXIgZix2O3JldHVybiBudWxsIT09KHY9bnVsbD09PShmPXRoaXMucmVuZGVyUm9vdCl8fHZvaWQgMD09''@;'; put 'put ''PWY/dm9pZCAwOmYucXVlcnlTZWxlY3RvcihsKSkmJnZvaWQgMCE9PXY/djpudWxsfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH07aWYoYyl7Y29uc3QgZj0ic3ltYm9sIj09dHlwZW9mIGE/U3ltYm9sKCk6Il9fIithO2QuZ2V0PWZ1bmN0aW9uKCl7dmFyIHYseDtyZXR1cm4gdm9p''@;'; put 'put ''ZCAwPT09dGhpc1tmXSYmKHRoaXNbZl09bnVsbCE9PSh4PW51bGw9PT0odj10aGlzLnJlbmRlclJvb3QpfHx2b2lkIDA9PT12P3ZvaWQgMDp2LnF1ZXJ5U2VsZWN0b3IobCkpJiZ2b2lkIDAhPT14P3g6bnVsbCksdGhpc1tmXX19cmV0dXJuIGR9fSl9KCJzdmciKV0sQ3MucHJvdG90eXBlLCJz''@;'; put 'put ''dmciLHZvaWQgMCksJE8oImNkcy1pY29uIixDcyk7Y2xhc3MgSkJ7Y29uc3RydWN0b3IoYyl7dGhpcy5ob3N0PWMsdGhpcy5ob3N0LmFkZENvbnRyb2xsZXIodGhpcyl9aG9zdENvbm5lY3RlZCgpe3ZhciBjPXRoaXM7cmV0dXJuIG9QKGZ1bmN0aW9uKigpe3lpZWxkIGMuaG9zdC51cGRhdGVD''@;'; put 'put ''b21wbGV0ZSxjLmhvc3QuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYT0+Yy5lbXVsYXRlQWN0aXZlKGEpKSxjLmhvc3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixhPT5jLmVtdWxhdGVBY3RpdmUoYSkpLGMuaG9zdC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKCk9PmMuZW11''@;'; put 'put ''bGF0ZUluYWN0aXZlKCkpLGMuaG9zdC5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+Yy5lbXVsYXRlSW5hY3RpdmUoKSksYy5ob3N0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCgpPT5jLmVtdWxhdGVJbmFjdGl2ZSgpKX0pKCl9ZW11bGF0ZUFjdGl2ZShjKXt2YXIgYTt0aGlzLmhv''@;'; put 'put ''c3QuZGlzYWJsZWR8fG51bGwhPT0oYT10aGlzLmhvc3QpJiZ2b2lkIDAhPT1hJiZhLnNldEF0dHJpYnV0ZSgiY2RzLWFjdGl2ZSIsIiIpLCJTcGFjZSI9PT1jLmNvZGUmJmMudGFyZ2V0PT09dGhpcy5ob3N0JiZjLnByZXZlbnREZWZhdWx0KCl9ZW11bGF0ZUluYWN0aXZlKCl7dGhpcy5ob3N0''@;'; put 'put ''LnJlbW92ZUF0dHJpYnV0ZSgiY2RzLWFjdGl2ZSIpfX1jbGFzcyBYQntjb25zdHJ1Y3RvcihjKXt0aGlzLmhvc3Q9Yyx0aGlzLmhvc3QuYWRkQ29udHJvbGxlcih0aGlzKX1ob3N0Q29ubmVjdGVkKCl7dGhpcy5ob3N0LnBvcHVwJiYodGhpcy5ob3N0LmFyaWFDb250cm9scz10aGlzLmhvc3Qu''@;'; put 'put ''cG9wdXAsdGhpcy5ob3N0LmFyaWFIYXNQb3B1cD0idHJ1ZSIsdGhpcy5ob3N0LmFyaWFFeHBhbmRlZD0iZmFsc2UiKX19Y2xhc3MgJEJ7Y29uc3RydWN0b3IoYyl7dGhpcy5ob3N0PWMsdGhpcy5ob3N0LmFkZENvbnRyb2xsZXIodGhpcyl9aG9zdFVwZGF0ZWQoKXtudWxsIT09dGhpcy5ob3N0''@;'; put 'put ''LmRpc2FibGVkJiYodGhpcy5ob3N0LmFyaWFEaXNhYmxlZD10aGlzLmhvc3QuZGlzYWJsZWQpLHRoaXMuaG9zdC5yZWFkb25seSYmKHRoaXMuaG9zdC5hcmlhRGlzYWJsZWQ9bnVsbCl9fWNsYXNzIHRIe2NvbnN0cnVjdG9yKGMpe3RoaXMuaG9zdD1jLHRoaXMuaG9zdC5hZGRDb250cm9sbGVy''@;'; put 'put ''KHRoaXMpfWhvc3RVcGRhdGVkKCl7bnVsbCE9dGhpcy5ob3N0LnByZXNzZWQmJih0aGlzLmhvc3QuYXJpYVByZXNzZWQ9dGhpcy5ob3N0LnByZXNzZWQ/InRydWUiOiJmYWxzZSIpLHRoaXMuaG9zdC5yZWFkb25seSYmKHRoaXMuaG9zdC5hcmlhUHJlc3NlZD1udWxsKX19Y2xhc3Mgckh7Y29u''@;'; put 'put ''c3RydWN0b3IoYyl7dGhpcy5ob3N0PWMsdGhpcy5ob3N0LmFkZENvbnRyb2xsZXIodGhpcyl9aG9zdENvbm5lY3RlZCgpe3RoaXMuaG9zdC50YWJJbmRleD0wfWhvc3RVcGRhdGVkKCl7dGhpcy5ob3N0LnJvbGU9dGhpcy5ob3N0LnJlYWRvbmx5P251bGw6ImJ1dHRvbiIsdGhpcy5ob3N0LnRh''@;'; put 'put ''YkluZGV4PXRoaXMuaG9zdC5kaXNhYmxlZD8tMTowLHRoaXMuaG9zdC5yZWFkb25seSYmdGhpcy5ob3N0LnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKX19Y2xhc3Mgb0h7Y29uc3RydWN0b3IoYyl7dGhpcy5ob3N0PWMsdGhpcy5ob3N0LmFkZENvbnRyb2xsZXIodGhpcyl9Z2V0IGN1cnJl''@;'; put 'put ''bnRBbmNob3IoKXt2YXIgYztyZXR1cm4iQSI9PT0obnVsbD09PShjPXRoaXMuaG9zdC5wYXJlbnRFbGVtZW50KXx8dm9pZCAwPT09Yz92b2lkIDA6Yy50YWdOYW1lKT90aGlzLmhvc3QucGFyZW50RWxlbWVudDpudWxsfWhvc3RDb25uZWN0ZWQoKXt0aGlzLnNldEFuY2hvcigpfWhvc3RVcGRh''@;'; put 'put ''dGVkKCl7dGhpcy5zZXRBbmNob3IoKX1zZXRBbmNob3IoKXt0aGlzLmN1cnJlbnRBbmNob3ImJnRoaXMuY3VycmVudEFuY2hvciE9PXRoaXMucHJldmlvdXNBbmNob3ImJih0aGlzLnByZXZpb3VzQW5jaG9yPXRoaXMuY3VycmVudEFuY2hvcix0aGlzLmhvc3QucmVhZG9ubHk9ITAsdGhpcy5j''@;'; put 'put ''dXJyZW50QW5jaG9yLnN0eWxlLmxpbmVIZWlnaHQ9IjAiLHRoaXMuY3VycmVudEFuY2hvci5zdHlsZS50ZXh0RGVjb3JhdGlvbj0ibm9uZSIpfX1jb25zdCBxeT1sPT5udWxsIT1sP2w6dmk7ZnVuY3Rpb24gQlAobCl7bC5wcmV2ZW50RGVmYXVsdCgpLGwuc3RvcFByb3BhZ2F0aW9uKCl9Y29u''@;'; put 'put ''c3QgR3k9bmV3IE1hcChbWyJhcnJvdy1sZWZ0IiwiQXJyb3dMZWZ0Il0sWyJhcnJvdy1yaWdodCIsIkFycm93UmlnaHQiXSxbImFycm93LXVwIiwiQXJyb3dVcCJdLFsiYXJyb3ctZG93biIsIkFycm93RG93biJdLFsidGFiIiwiVGFiIl0sWyJlbnRlciIsIkVudGVyIl0sWyJlc2NhcGUiLCJF''@;'; put 'put ''c2NhcGUiXSxbInNwYWNlIiwiICJdLFsiaG9tZSIsIkhvbWUiXSxbImVuZCIsIkVuZCJdXSk7dmFyICRzOyFmdW5jdGlvbihsKXtsLkFycm93VXA9IkFycm93VXAiLGwuQXJyb3dEb3duPSJBcnJvd0Rvd24iLGwuQXJyb3dMZWZ0PSJBcnJvd0xlZnQiLGwuQXJyb3dSaWdodD0iQXJyb3dSaWdo''@;'; put 'put ''dCIsbC5FbmQ9IkVuZCIsbC5Ib21lPSJIb21lIixsLlBhZ2VVcD0iUGFnZVVwIixsLlBhZ2VEb3duPSJQYWdlRG93biJ9KCRzfHwoJHM9e30pKTtsZXQgVlAscEg9bD0+bDtjbGFzcyBtSHtjb25zdHJ1Y3RvcihjKXt0aGlzLmhvc3Q9Yyx0aGlzLnRyaWdnZXJOYXRpdmVCdXR0b25CZWhhdmlv''@;'; put 'put ''ckhhbmRsZXI9dGhpcy50cmlnZ2VyTmF0aXZlQnV0dG9uQmVoYXZpb3IuYmluZCh0aGlzKSx0aGlzLmVtdWxhdGVLZXlCb2FyZEV2ZW50QmVoYXZpb3JIYW5kbGVyPXRoaXMuZW11bGF0ZUtleUJvYXJkRXZlbnRCZWhhdmlvci5iaW5kKHRoaXMpLHRoaXMuaG9zdC5hZGRDb250cm9sbGVyKHRo''@;'; put 'put ''aXMpfWhvc3RVcGRhdGVkKCl7dGhpcy5zZXRCdXR0b25UeXBlKCksdGhpcy5zZXR1cE5hdGl2ZUJ1dHRvbkJlaGF2aW9yKCl9c2V0QnV0dG9uVHlwZSgpeyF0aGlzLmhvc3QudHlwZSYmdGhpcy5ob3N0LmNsb3Nlc3QoImZvcm0iKSYmKHRoaXMuaG9zdC50eXBlPSJzdWJtaXQiKX1zZXR1cE5h''@;'; put 'put ''dGl2ZUJ1dHRvbkJlaGF2aW9yKCl7dGhpcy5ob3N0LnJlYWRvbmx5fHx0aGlzLmhvc3QuZGlzYWJsZWQ/KHRoaXMuaG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy50cmlnZ2VyTmF0aXZlQnV0dG9uQmVoYXZpb3JIYW5kbGVyKSx0aGlzLmhvc3QucmVtb3ZlRXZlbnRMaXN0''@;'; put 'put ''ZW5lcigia2V5dXAiLHRoaXMuZW11bGF0ZUtleUJvYXJkRXZlbnRCZWhhdmlvckhhbmRsZXIpKToodGhpcy5ob3N0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLnRyaWdnZXJOYXRpdmVCdXR0b25CZWhhdmlvckhhbmRsZXIpLHRoaXMuaG9zdC5hZGRFdmVudExpc3RlbmVyKCJrZXl1''@;'; put 'put ''cCIsdGhpcy5lbXVsYXRlS2V5Qm9hcmRFdmVudEJlaGF2aW9ySGFuZGxlcikpfWVtdWxhdGVLZXlCb2FyZEV2ZW50QmVoYXZpb3IoYyl7IWZ1bmN0aW9uIGNIKGwsYyxhKXtsLmZpbHRlcihkPT5mdW5jdGlvbiBaeShsLGMpe3JldHVybiBjbGFzcyBhSHtzdGF0aWMgZ2V0IGtleWNvZGVzKCl7''@;'; put 'put ''cmV0dXJuIEtZKEd5KX1zdGF0aWMgYWRkKGMsYSl7R3kuc2V0KGMsYSl9c3RhdGljIGhhcyhjKXtyZXR1cm4gR3kuaGFzKGMpfXN0YXRpYyBnZXRDb2RlKGMsYT10aGlzLmtleWNvZGVzKXtyZXR1cm4gZnVuY3Rpb24gbEgobCxjKXtyZXR1cm4gYy5nZXQobCl8fCIifShjLGEpfX0uZ2V0Q29k''@;'; put 'put ''ZShjKT09PWwua2V5fShjLGQpKS5sZW5ndGg+MCYmYSgpfShbImVudGVyIiwic3BhY2UiXSxjLCgpPT57InN1Ym1pdCI9PT10aGlzLmhvc3QudHlwZT90aGlzLnRyaWdnZXJOYXRpdmVCdXR0b25CZWhhdmlvcihjKTp0aGlzLmhvc3QuY2xpY2soKSxCUChjKX0pfXRyaWdnZXJOYXRpdmVCdXR0''@;'; put 'put ''b25CZWhhdmlvcihjKXtpZih0aGlzLmhvc3QuZGlzYWJsZWQpQlAoYyk7ZWxzZSBpZighYy5kZWZhdWx0UHJldmVudGVkKXtjb25zdCBhPWZ1bmN0aW9uIGZIKGwsYyxhKXtjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2MuYXBwZW5kQ2hpbGQoZCksTVAobCxjLGJyKHty''@;'; put 'put ''ZW5kZXJCZWZvcmU6ZH0sYSkpO2NvbnN0IGY9ZC5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGQucmVtb3ZlKCksZn0oQnkoVlB8fChWUD1wSGA8YnV0dG9uIGFyaWEtaGlkZGVuPSJ0cnVlIiByb2xlPSJwcmVzZW50YXRpb24iID9kaXNhYmxlZD0iJHswfSIgdGFiaW5kZXg9Ii0xIiBzdHlsZT0i''@;'; put 'put ''ZGlzcGxheTpub25lIWltcG9ydGFudCIgdmFsdWU9IiR7MH0iIG5hbWU9IiR7MH0iIHR5cGU9IiR7MH0iPjwvYnV0dG9uPmApLHRoaXMuaG9zdC5kaXNhYmxlZCxxeSh0aGlzLmhvc3QudmFsdWUpLHF5KHRoaXMuaG9zdC5uYW1lKSxxeSh0aGlzLmhvc3QudHlwZSkpLHRoaXMuaG9zdCk7bnVs''@;'; put 'put ''bCE9YSYmYS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJjbGljayIse3JlbGF0ZWRUYXJnZXQ6dGhpcy5ob3N0LGNvbXBvc2VkOiEwfSkpLG51bGw9PWF8fGEucmVtb3ZlKCl9fX1jbGFzcyB2SHtjb25zdHJ1Y3RvcihjKXt0aGlzLmhvc3Q9Yyx0aGlzLmhvc3QuYWRkQ29udHJvbGxl''@;'; put 'put ''cih0aGlzKX1ob3N0VXBkYXRlZCgpe251bGwhPXRoaXMuaG9zdC5leHBhbmRlZCYmKHRoaXMuaG9zdC5hcmlhRXhwYW5kZWQ9dGhpcy5ob3N0LmV4cGFuZGVkPyJ0cnVlIjoiZmFsc2UiKSx0aGlzLmhvc3QucmVhZG9ubHkmJih0aGlzLmhvc3QuYXJpYUV4cGFuZGVkPW51bGwpfX1sZXQga3M9''@;'; put 'put ''Y2xhc3MgZXh0ZW5kcyBBdXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZGlzYWJsZWQ9ITF9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkfXNldCBkaXNhYmxlZChsKXtjb25zdCBjPXRoaXMuX2Rpc2FibGVkO3RoaXMuX2Rpc2FibGVkPWwsdGhp''@;'; put 'put ''cy5yZXF1ZXN0VXBkYXRlKCJkaXNhYmxlZCIsYyl9fTtwZShbZWkoe3R5cGU6Qm9vbGVhbn0pXSxrcy5wcm90b3R5cGUsInByZXNzZWQiLHZvaWQgMCkscGUoW2VpKHt0eXBlOkJvb2xlYW59KV0sa3MucHJvdG90eXBlLCJleHBhbmRlZCIsdm9pZCAwKSxwZShbZWkoe3R5cGU6Qm9vbGVhbn0p''@;'; put 'put ''XSxrcy5wcm90b3R5cGUsInJlYWRvbmx5Iix2b2lkIDApLHBlKFtlaSh7dHlwZTpTdHJpbmd9KV0sa3MucHJvdG90eXBlLCJ0eXBlIix2b2lkIDApLHBlKFtlaSh7dHlwZTpTdHJpbmd9KV0sa3MucHJvdG90eXBlLCJuYW1lIix2b2lkIDApLHBlKFtlaSh7dHlwZTpTdHJpbmd9KV0sa3MucHJv''@;'; put 'put ''dG90eXBlLCJ2YWx1ZSIsdm9pZCAwKSxwZShbZWkoe3R5cGU6Qm9vbGVhbn0pXSxrcy5wcm90b3R5cGUsImRpc2FibGVkIixudWxsKSxwZShbZWkoe3R5cGU6U3RyaW5nfSldLGtzLnByb3RvdHlwZSwicG9wdXAiLHZvaWQgMCksa3M9cGUoW2Z1bmN0aW9uIFpCKCl7cmV0dXJuIGw9PmwuYWRk''@;'; put 'put ''SW5pdGlhbGl6ZXIoYz0+bmV3IEpCKGMpKX0oKSxmdW5jdGlvbiBuSCgpe3JldHVybiBsPT5sLmFkZEluaXRpYWxpemVyKGM9Pm5ldyBySChjKSl9KCksZnVuY3Rpb24gZUgoKXtyZXR1cm4gbD0+bC5hZGRJbml0aWFsaXplcihjPT5uZXcgdEgoYykpfSgpLGZ1bmN0aW9uIGJIKCl7cmV0dXJu''@;'; put 'put ''IGw9PmwuYWRkSW5pdGlhbGl6ZXIoYz0+bmV3IHZIKGMpKX0oKSxmdW5jdGlvbiBRQigpe3JldHVybiBsPT5sLmFkZEluaXRpYWxpemVyKGM9Pm5ldyAkQihjKSl9KCksZnVuY3Rpb24gS0IoKXtyZXR1cm4gbD0+bC5hZGRJbml0aWFsaXplcihjPT5uZXcgWEIoYykpfSgpLGZ1bmN0aW9uIGdI''@;'; put 'put ''KCl7cmV0dXJuIGw9PmwuYWRkSW5pdGlhbGl6ZXIoYz0+bmV3IG1IKGMpKX0oKSxmdW5jdGlvbiBpSCgpe3JldHVybiBsPT5sLmFkZEluaXRpYWxpemVyKGM9Pm5ldyBvSChjKSl9KCldLGtzKTtjb25zdCBhMD17YWN0aW9uczp7c29ydDoiU29ydCIsZXhwYW5kOiJFeHBhbmQiLGNsb3NlOiJD''@;'; put 'put ''bG9zZSIscmVzaXplOiJSZXNpemUiLGZpbHRlcjoiRmlsdGVyIn0sYWxlcnQ6e2Nsb3NlQnV0dG9uQXJpYUxhYmVsOiJDbG9zZSIsbG9hZGluZzoiTG9hZGluZyIsaW5mbzoiSW5mbyIsc3VjY2VzczoiU3VjY2VzcyIsd2FybmluZzoiV2FybmluZyIsZGFuZ2VyOiJFcnJvciJ9LGRyb3Bkb3du''@;'; put 'put ''OntvcGVuOiJPcGVuIn0sZmlsZTp7YnJvd3NlOiJicm93c2UiLGZpbGVzOiJmaWxlcyIscmVtb3ZlRmlsZToicmVtb3ZlIGZpbGUifSxtb2RhbDp7Y2xvc2VCdXR0b25BcmlhTGFiZWw6IkNsb3NlIG1vZGFsIixjb250ZW50U3RhcnQ6IkJlZ2lubmluZyBvZiBtb2RhbCBjb250ZW50Iixjb250''@;'; put 'put ''ZW50Qm94OiJTY3JvbGxhYmxlIG1vZGFsIGJvZHkiLGNvbnRlbnRFbmQ6IkVuZCBvZiBtb2RhbCBjb250ZW50In0sbmF2aWdhdGlvbjp7bmF2aWdhdGlvbkVsZW1lbnQ6Im5hdmlnYXRpb24iLG5hdmlnYXRpb25MYWJlbDoibmF2aWdhdGlvbiBtZW51IixuYXZpZ2F0aW9uQWJyaWRnZWRUZXh0''@;'; put 'put ''OiJWaWV3IGFicmlkZ2VkIG1lbnUiLG5hdmlnYXRpb25VbmFicmlkZ2VkVGV4dDoiVmlldyB1bmFicmlkZ2VkIG1lbnUifSxvdmVybGF5OntjbG9zZUJ1dHRvbkFyaWFMYWJlbDoiQ2xvc2UgZGlhbG9nIixjb250ZW50U3RhcnQ6IkJlZ2lubmluZyBvZiBkaWFsb2cgY29udGVudCIsY29udGVu''@;'; put 'put ''dEVuZDoiRW5kIG9mIGRpYWxvZyBjb250ZW50In0scG9wdXA6e2Nsb3NlQnV0dG9uQXJpYUxhYmVsOiJDbG9zZSBwb3B1cCIsY29udGVudFN0YXJ0OiJCZWdpbm5pbmcgb2YgcG9wdXAgY29udGVudCIsY29udGVudEVuZDoiRW5kIG9mIHBvcHVwIGNvbnRlbnQifSxwYXNzd29yZDp7c2hvd0J1''@;'; put 'put ''dHRvbkFyaWFMYWJlbDoiU2hvdyBwYXNzd29yZCIsaGlkZUJ1dHRvbkFyaWFMYWJlbDoiSGlkZSBwYXNzd29yZCJ9LHByb2dyZXNzOntsb2FkaW5nOiJMb2FkaW5nIixsb29waW5nOiJMb2FkaW5nIn0sdHJlZXZpZXc6e2xvYWRpbmc6IkxvYWRpbmcifSxncmlkOntyZXNpemVDb2x1bW46IlJl''@;'; put 'put ''c2l6ZSBDb2x1bW4iLGNsb3NlRGV0YWlsczoiQ2xvc2UgRGV0YWlscyIsbm9EYXRhOiJObyBSZXN1bHRzIEZvdW5kIixyb3dEZXRhaWxTdGFydDoiU3RhcnQgb2Ygcm93IGRldGFpbHMiLHJvd0RldGFpbEVuZDoiRW5kIG9mIHJvdyBkZXRhaWxzIixmb290ZXJFbmQ6IkVuZCBvZiBncmlkIHJv''@;'; put 'put ''d3MiLGFjdGlvbjoiQWN0aW9uIixkcm9wVGFyZ2V0OiJEcm9wIEl0ZW0iLHBhZ2luYXRpb246e2xhYmVsOiJncmlkIHBhZ2luYXRpb24iLGZpcnN0UGFnZToiZ28gdG8gZmlyc3QgcGFnZSIscHJldmlvdXNQYWdlOiJnbyB0byBwcmV2aW91cyBwYWdlIixuZXh0UGFnZToiZ28gdG8gbmV4dCBw''@;'; put 'put ''YWdlIixsYXN0UGFnZToiZ28gdG8gbGFzdCBwYWdlIixwYWdlU2l6ZToicm93cyBwZXIgcGFnZSIscGFnZToicGFnZSJ9fX07Y2xhc3MgUWx7c3RhdGljIGdldCBrZXlzKCl7cmV0dXJuIDA9PT1PYmplY3Qua2V5cyhhaS5zdGF0ZS5pMThuUmVnaXN0cnkpLmxlbmd0aCYmKGFpLnN0YXRlLmkx''@;'; put 'put ''OG5SZWdpc3RyeT1HbChhMCxhaS5zdGF0ZS5pMThuUmVnaXN0cnkpKSxHbChhMCxhaS5zdGF0ZS5pMThuUmVnaXN0cnkpfXN0YXRpYyBmaW5kS2V5KGMpe2NvbnN0IGE9UWwua2V5cztyZXR1cm4gT2JqZWN0LmtleXMoYSkuZmluZChkPT5fTyhhW2RdLGMpKX1zdGF0aWMgZ2V0KGMpe3JldHVy''@;'; put 'put ''biBjJiZRbC5rZXlzW2NdfHx7fX1zdGF0aWMgcmVzZXQoKXthaS5zdGF0ZS5pMThuUmVnaXN0cnk9R2woe30sYTApfXN0YXRpYyBoeWRyYXRlKGMsYSl7cmV0dXJuIEpTT04ucGFyc2UoZnVuY3Rpb24gYXoobCxjLGEpe3JldHVybiBsLnJlcGxhY2UoL1wkXHsuKz9cfS9nLGQ9PmZ1bmN0aW9u''@;'; put 'put ''IEpZKGwsYyxhPWBcJHske2x9fWApe3JldHVybiBsLnNwbGl0KCIuIikucmVkdWNlKChkLGYpPT57dHJ5e2NvbnN0IHY9ZFtmXTtzd2l0Y2goITApe2Nhc2UgbnVsbD09PXY6Y2FzZSExPT09djpjYXNlIiI9PT12OmNhc2UgMD09PXY6cmV0dXJuIHY7ZGVmYXVsdDpyZXR1cm4gdnx8YX19Y2F0''@;'; put 'put ''Y2godil7cmV0dXJuIGF9fSxjKX0oZC5zdWJzdHIoMixkLmxlbmd0aC0zKS50cmltKCksYyxhKSl9KEpTT04uc3RyaW5naWZ5KGMpLGEpKX1zdGF0aWMgbG9jYWxpemUoYyl7YWkuc3RhdGUuaTE4blJlZ2lzdHJ5PUdsKGEwLGFpLnN0YXRlLmkxOG5SZWdpc3RyeSxjKX19bGV0IFVQO3ZhciBD''@;'; put 'put ''SD1JeShVUHx8KFVQPShsPT5sKWA6aG9zdHstLWljb24td2lkdGg6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS03LCBjYWxjKDE2ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwgMjApKSk7LS1pY29uLWhlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTcsIGNhbGMoMTYgKiAxcmVt''@;'; put 'put ''IC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLCAyMCkpKTstLXdpZHRoOnZhcigtLWljb24td2lkdGgpOy0taGVpZ2h0OnZhcigtLWljb24td2lkdGgpOy0tY3Vyc29yOnBvaW50ZXI7LS1jb2xvcjp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktY29sb3ItMzAwLCB2YXIoLS1jZHMtZ2xvYmFs''@;'; put 'put ''LWNvbG9yLWNvbnN0cnVjdGlvbi04MDAsICMyZDQwNDgpKTstLWZvbnQtc2l6ZTp2YXIoLS1jZHMtZ2xvYmFsLXR5cG9ncmFwaHktZm9udC1zaXplLTMsIGNhbGMoMTMgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLCAyMCkpKTstLWJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7LS1wYWRk''@;'; put 'put ''aW5nOjA7LS1vdXRsaW5lOnZhcigtLWNkcy1hbGlhcy1vYmplY3QtaW50ZXJhY3Rpb24tb3V0bGluZSwgSGlnaGxpZ2h0IHNvbGlkIDJweCk7LS1vdXRsaW5lLW9mZnNldDpjYWxjKHZhcigtLWNkcy1hbGlhcy1vYmplY3QtaW50ZXJhY3Rpb24tb3V0bGluZS1vZmZzZXQsIDFweCkgKiAtMSk7''@;'; put 'put ''cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jaztvdXRsaW5lOjAhaW1wb3J0YW50fTpob3N0KFtyb2xlPWJ1dHRvbl0pe3BvaW50ZXItZXZlbnRzOmluaXRpYWw7Y3Vyc29yOnZhcigtLWN1cnNvcikhaW1wb3J0YW50fTpob3N0KFtzdGF0dXM9YWN0aXZlXSl7LS1jb2xv''@;'; put 'put ''cjp2YXIoLS1jZHMtYWxpYXMtc3RhdHVzLWluZm8sIHZhcigtLWNkcy1nbG9iYWwtY29sb3ItYmx1ZS03MDAsICMwMDc5YWQpKX06OnNsb3R0ZWQoW3NoYXBlPWNsb3NlXSksOjpzbG90dGVkKFtzaGFwZT1pbmZvLWNpcmNsZV0pLDo6c2xvdHRlZChbc2hhcGU9dGltZXNdKSw6aG9zdChbc2hh''@;'; put 'put ''cGU9Y2xvc2VdKSw6aG9zdChbc2hhcGU9aW5mby1jaXJjbGVdKXstLWljb24td2lkdGg6dmFyKC0tY2RzLWdsb2JhbC1zcGFjZS04LCBjYWxjKDE4ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwgMjApKSk7LS1pY29uLWhlaWdodDp2YXIoLS1jZHMtZ2xvYmFsLXNwYWNlLTgsIGNh''@;'; put 'put ''bGMoMTggKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLCAyMCkpKX06aG9zdCg6aG92ZXIpey0tY29sb3I6dmFyKC0tY2RzLWFsaWFzLW9iamVjdC1pbnRlcmFjdGlvbi1jb2xvci1ob3ZlciwgdmFyKC0tY2RzLWdsb2JhbC1jb2xvci1jb25zdHJ1Y3Rpb24tMTAwMCwgIzFiMmIzMikp''@;'; put 'put ''fTpob3N0KDphY3RpdmUpey0tY29sb3I6dmFyKC0tY2RzLWFsaWFzLW9iamVjdC1pbnRlcmFjdGlvbi1jb2xvci1hY3RpdmUsIHZhcigtLWNkcy1nbG9iYWwtY29sb3ItY29uc3RydWN0aW9uLTEwMDAsICMxYjJiMzIpKX06aG9zdCg6YWN0aXZlKSAucHJpdmF0ZS1ob3N0e3RyYW5zZm9ybTp0''@;'; put 'put ''cmFuc2xhdGVZKGNhbGModmFyKC0tY2RzLWdsb2JhbC1zcGFjZS0xLGNhbGMoMSAqIDFyZW0gLyB2YXIoLS1jZHMtZ2xvYmFsLWJhc2UsMjApKSkvIDIpKX06aG9zdChbZGlzYWJsZWRdKXstLWNvbG9yOnZhcigtLWNkcy1hbGlhcy1vYmplY3QtaW50ZXJhY3Rpb24tY29sb3ItZGlzYWJsZWQs''@;'; put 'put ''IHZhcigtLWNkcy1nbG9iYWwtY29sb3ItY29uc3RydWN0aW9uLTMwMCwgI2FlYjhiYykpfS5wcml2YXRlLWhvc3R7LS1pY29uLWNvbG9yOnZhcigtLWNvbG9yKTtiYWNrZ3JvdW5kOnZhcigtLWJhY2tncm91bmQpO3BhZGRpbmc6dmFyKC0tcGFkZGluZyk7Y29sb3I6dmFyKC0tY29sb3IpO2Zv''@;'; put 'put ''bnQtc2l6ZTp2YXIoLS1mb250LXNpemUpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6dmFyKC0td2lkdGgpO21pbi1oZWlnaHQ6dmFyKC0taGVpZ2h0KX06OnNsb3R0ZWQoY2RzLWljb24pLGNkcy1pY29ue3dpZHRoOnZh''@;'; put 'put ''cigtLWljb24td2lkdGgpO2hlaWdodDp2YXIoLS1pY29uLWhlaWdodCk7cG9pbnRlci1ldmVudHM6bm9uZX06OnNsb3R0ZWQoY2RzLWljb246bm90KFtzdGF0dXNdKSksY2RzLWljb257LS1jb2xvcjp2YXIoLS1pY29uLWNvbG9yKX06aG9zdChbZGlzYWJsZWRdOmFjdGl2ZSl7cG9pbnRlci1l''@;'; put 'put ''dmVudHM6bm9uZSFpbXBvcnRhbnR9LnByaXZhdGUtaG9zdDo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OmNhbGMoLTEqdmFyKC0td2lkdGgpIC0gMSk7dG9wOmNhbGMoLTEqdmFyKC0taGVpZ2h0KSAtIDEpO3dpZHRoOnZhcigtLWNkcy1hbGlhcy1vYmplY3QtaW50''@;'; put 'put ''ZXJhY3Rpb24tdG91Y2gtdGFyZ2V0LGNhbGMoMzYgKiAxcmVtIC8gdmFyKC0tY2RzLWdsb2JhbC1iYXNlLDIwKSkpO2hlaWdodDp2YXIoLS1jZHMtYWxpYXMtb2JqZWN0LWludGVyYWN0aW9uLXRvdWNoLXRhcmdldCxjYWxjKDM2ICogMXJlbSAvIHZhcigtLWNkcy1nbG9iYWwtYmFzZSwyMCkp''@;'; put 'put ''KX06aG9zdChbZGlzYWJsZWRdKSAucHJpdmF0ZS1ob3N0OjphZnRlcntvdXRsaW5lOjAhaW1wb3J0YW50fTpob3N0KDpmb2N1cykgLnByaXZhdGUtaG9zdDo6YWZ0ZXJ7b3V0bGluZTp2YXIoLS1vdXRsaW5lKTtvdXRsaW5lLW9mZnNldDp2YXIoLS1vdXRsaW5lLW9mZnNldCl9QG1lZGlhICgt''@;'; put 'put ''d2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCl7Omhvc3QoOmZvY3VzKSAucHJpdmF0ZS1ob3N0OjphZnRlcntvdXRsaW5lLWNvbG9yOi13ZWJraXQtZm9jdXMtcmluZy1jb2xvcn19YCkpO2xldCBXUCxrSD1sPT5sO2NsYXNzICRsIGV4dGVuZHMga3N7Y29uc3RydWN0b3IoKXtzdXBl''@;'; put 'put ''ciguLi5hcmd1bWVudHMpLHRoaXMuaTE4bj1RbC5rZXlzLmFjdGlvbnMsdGhpcy5jZHNCdXR0b25BY3Rpb249ITB9cmVuZGVyKCl7cmV0dXJuIEJ5KFdQfHwoV1A9a0hgPGRpdiBjbGFzcz0icHJpdmF0ZS1ob3N0Ij48c2xvdD48Y2RzLWljb24gLnNoYXBlPSIkezB9IiAuc2l6ZT0iJHswfSIg''@;'; put 'put ''P3NvbGlkPSIkezB9IiBpbm5lci1vZmZzZXQ9IiR7MH0iPjwvY2RzLWljb24+PC9zbG90PjwvZGl2PmApLHRoaXMuc2hhcGU/dGhpcy5zaGFwZToiZWxsaXBzaXMtdmVydGljYWwiLHRoaXMuaWNvblNpemUsdGhpcy5wcmVzc2VkfHx0aGlzLmV4cGFuZGVkLDEpfXVwZGF0ZWQoYyl7c3VwZXIu''@;'; put 'put ''dXBkYXRlZChjKSx0aGlzLmFyaWFMYWJlbHx8dGhpcy5yZWFkb25seXx8Smwud2FybigiQSBhcmlhLWxhYmVsIGlzIHJlcXVpcmVkIGZvciBpbnRlcmFjdGl2ZSBjZHMtYnV0dG9uLWFjdGlvbiB0eXBlIix0aGlzKSxjLmhhcygicmVhZG9ubHkiKSYmKHRoaXMuYXJpYUhpZGRlbj10aGlzLnJl''@;'; put 'put ''YWRvbmx5JiYhdGhpcy5oYXNBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKT8idHJ1ZSI6bnVsbCl9fSRsLnN0eWxlcz1bRVAsQ0hdLHBlKFtlaSh7dHlwZTpTdHJpbmd9KV0sJGwucHJvdG90eXBlLCJzaGFwZSIsdm9pZCAwKSxwZShbZWkoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sJGwucHJv''@;'; put 'put ''dG90eXBlLCJhY3Rpb24iLHZvaWQgMCkscGUoW2VpKHt0eXBlOlN0cmluZ30pXSwkbC5wcm90b3R5cGUsImljb25TaXplIix2b2lkIDApLHBlKFtmdW5jdGlvbiBfSCgpe3JldHVybihsLGMpPT57Y29uc3QgYT1sLmNvbm5lY3RlZENhbGxiYWNrLGQ9bC5kaXNjb25uZWN0ZWRDYWxsYmFjazts''@;'; put 'put ''LmNvbm5lY3RlZENhbGxiYWNrPWZ1bmN0aW9uKCl7bC5fX2kxOG5TdWI9YWkuc3RhdGVVcGRhdGVzLnN1YnNjcmliZSh2PT57ImkxOG5SZWdpc3RyeSI9PT12LmtleSYmdGhpcy5yZXF1ZXN0VXBkYXRlKGMpfSksYSYmYS5hcHBseSh0aGlzKX0sbC5kaXNjb25uZWN0ZWRDYWxsYmFjaz1mdW5j''@;'; put 'put ''dGlvbigpe2wuX19pMThuU3ViLnVuc3Vic2NyaWJlKCksZCYmZC5hcHBseSh0aGlzKX07Y29uc3QgZj17Z2V0KCl7Y29uc3Qgdj1HbChRbC5rZXlzW3RoaXMuX19pMThuS2V5XSx0aGlzLl9faTE4bnx8e30pO3JldHVybiBRbC5oeWRyYXRlKHYsdGhpcyl9LHNldCh2KXtjb25zdCB4PWZ1bmN0''@;'; put 'put ''aW9uIHlIKGwsYyl7aWYoY2wobCkpe2xldCBhPXt9O2lmKGMuaGFzQXR0cmlidXRlKCJjZHMtaTE4biIpKXtjb25zdCBkPWMuZ2V0QXR0cmlidXRlKCJjZHMtaTE4biIpKyIiO2lmKGNsKGQpKWE9e307ZWxzZSB0cnl7YT1KU09OLnBhcnNlKGQpfWNhdGNoKGYpe0psLndhcm4oIkNsYXJpdHkg''@;'; put 'put ''aTE4bjogSW52YWxpZCBKU09OIHBhc3NlZCB0byBjZHMtaTE4biIpLGE9e319fXJldHVybiBhfXJldHVybiBsfSh2LHRoaXMpLEg9ZnVuY3Rpb24gd0gobCxjLGEsZCl7cmV0dXJuIGNsKGwpP19PKGEsZCk/e3VwZGF0ZTohMX06e3VwZGF0ZTohMCx2YWx1ZXM6YX06bD09PWM/e3VwZGF0ZToh''@;'; put 'put ''MSx2YWx1ZXM6e319Ont1cGRhdGU6ITAsa2V5OmwsdmFsdWVzOnt9fX0oUWwuZmluZEtleSh4KXx8IiIsdGhpcy5fX2kxOG5LZXkseCx0aGlzLl9faTE4bik7dm9pZCAwIT09SC5rZXkmJih0aGlzLl9faTE4bktleT1ILmtleSsiIiksdm9pZCAwIT09SC52YWx1ZXMmJih0aGlzLl9faTE4bj1i''@;'; put 'put ''cih7fSxILnZhbHVlcykpLCEwPT09SC51cGRhdGUmJnRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMucmVxdWVzdFVwZGF0ZShjKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9O3JldHVybiB2b2lkIDAhPT1jP2Z1bmN0aW9uKHYseCxIKXtjb25zdCBLPU9iamVjdC5kZWZpbmVQcm9w''@;'; put 'put ''ZXJ0eSh4LEgsdik7cmV0dXJuIGVpKHt0eXBlOk9iamVjdCxhdHRyaWJ1dGU6ImNkcy1pMThuIn0pKEssSCl9KGYsbCxjKTpmdW5jdGlvbih2LHgpe2NvbnN0IEg9e2tpbmQ6Im1ldGhvZCIscGxhY2VtZW50OiJwcm90b3R5cGUiLGtleTp4LmtleSxkZXNjcmlwdG9yOnZ9O3JldHVybiBlaSh7''@;'; put 'put ''dHlwZTpPYmplY3R9KShIKX0oZixsKX19KCldLCRsLnByb3RvdHlwZSwiaTE4biIsdm9pZCAwKSxwZShbSVAoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToiY2RzLWJ1dHRvbi1hY3Rpb24ifSldLCRsLnByb3RvdHlwZSwiY2RzQnV0dG9uQWN0aW9uIix2b2lkIDApO2NsYXNz''@;'; put 'put ''IHFQIGV4dGVuZHMgJGx7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc2hhcGU9ImNsb3NlIn1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5hcmlhTGFiZWw9dGhpcy5hcmlhTGFiZWw/dGhpcy5hcmlhTGFiZWw6dGhpcy5p''@;'; put 'put ''MThuLmNsb3NlfX1wZShbZWkoe3R5cGU6U3RyaW5nfSldLHFQLnByb3RvdHlwZSwic2hhcGUiLHZvaWQgMCksJE8oImNkcy1pbnRlcm5hbC1jbG9zZS1idXR0b24iLHFQKSxNci5hZGRJY29ucyhOTyksTXIuYWRkQWxpYXNlcyhbInRpbWVzIixbImNsb3NlIl1dKTtjb25zdCBQbj1bIioiXSxY''@;'; put 'put ''SD1bImNsckxvYWRpbmciLCIiXTtmdW5jdGlvbiBRSChsLGMpezEmbCYmKHplKDAsInNwYW4iKSxXdCgxLCJzcGFuIiwyKSxZZSgpKSwyJmwmJihUZSgxKSxCZSgiQHNwaW5uZXIiLHZvaWQgMCkpfWZ1bmN0aW9uICRIKGwsYyl7aWYoMSZsKXtjb25zdCBhPVJuKCk7emUoMCwic3BhbiIpKDEs''@;'; put 'put ''InNwYW4iLDMpLE90KCJAdmFsaWRhdGVkLmRvbmUiLGZ1bmN0aW9uKCl7Y24oYSk7Y29uc3QgZj1odCgpO3JldHVybiB1bihmLmxvYWRpbmdTdGF0ZUNoYW5nZShmLmJ1dHRvblN0YXRlLkRFRkFVTFQpKX0pLFllKCkoKX0yJmwmJihUZSgxKSxCZSgiQHZhbGlkYXRlZCIsdm9pZCAwKSl9ZnVu''@;'; put 'put ''Y3Rpb24gZVYobCxjKXsxJmwmJih6ZSgwLCJzcGFuIiksTHQoMSksWWUoKSksMiZsJiZCZSgiQGRlZmF1bHRCdXR0b24iLHZvaWQgMCl9ZnVuY3Rpb24gdFYobCxjKXsxJmwmJld0KDAsImxhYmVsIil9Y29uc3QgblY9W1tbIiIsImNsckNoZWNrYm94IiwiIl0sWyIiLCJjbHJUb2dnbGUiLCIi''@;'; put 'put ''XV0sW1sibGFiZWwiXV1dLHJWPVsiW2NsckNoZWNrYm94XSxbY2xyVG9nZ2xlXSIsImxhYmVsIl0saVY9WyJjbHJLZXlGb2N1cyIsIiJdO2Z1bmN0aW9uIGNWKGwsYyl7MSZsJiZXdCgwLCJsYWJlbCIpfWZ1bmN0aW9uIHVWKGwsYyl7MSZsJiZXdCgwLCJjZHMtaWNvbiIsNSl9ZnVuY3Rpb24g''@;'; put 'put ''ZFYobCxjKXsxJmwmJld0KDAsImNkcy1pY29uIiw2KX1mdW5jdGlvbiBoVihsLGMpezEmbCYmTHQoMCwyLFsiKm5nSWYiLCJzaG93SGVscGVyIl0pfWZ1bmN0aW9uIGZWKGwsYyl7MSZsJiZMdCgwLDMsWyIqbmdJZiIsInNob3dJbnZhbGlkIl0pfWZ1bmN0aW9uIHBWKGwsYyl7MSZsJiZMdCgw''@;'; put 'put ''LDQsWyIqbmdJZiIsInNob3dWYWxpZCJdKX1jb25zdCBnVj1bW1sibGFiZWwiXV0sW1siIiwiY2xySW5wdXQiLCIiXV0sW1siY2xyLWNvbnRyb2wtaGVscGVyIl1dLFtbImNsci1jb250cm9sLWVycm9yIl1dLFtbImNsci1jb250cm9sLXN1Y2Nlc3MiXV1dLG1WPVsibGFiZWwiLCJbY2xySW5w''@;'; put 'put ''dXRdIiwiY2xyLWNvbnRyb2wtaGVscGVyIiwiY2xyLWNvbnRyb2wtZXJyb3IiLCJjbHItY29udHJvbC1zdWNjZXNzIl07ZnVuY3Rpb24gT1cobCxjKXsxJmwmJld0KDAsImNkcy1pY29uIiw3KSwyJmwmJmp0KCJkaXJlY3Rpb24iLGh0KCkuY2FyZXREaXJlY3Rpb24pfWZ1bmN0aW9uIFBXKGws''@;'; put 'put ''Yyl7aWYoMSZsJiYoemUoMCwic3BhbiIsOCksRnQoMSksWWUoKSksMiZsKXtjb25zdCBhPWh0KCk7VGUoMSksTG4oYS5jb21tb25TdHJpbmdzLmtleXMuc3RhY2tWaWV3Q2hhbmdlZCl9fWZ1bmN0aW9uIERXKGwsYyl7aWYoMSZsJiYoemUoMCwiZGl2Iiw5KSxMdCgxLDIpLFllKCkpLDImbCl7''@;'; put 'put ''Y29uc3QgYT1odCgpO3hwKCJoZWlnaHQiLGEuZXhwYW5kZWQ/ImF1dG8iOjApLGp0KCJpZCIsYS5nZXRTdGFja0NoaWxkcmVuSWQoKSkoImFyaWEtbGFiZWxsZWRieSIsYS5sYWJlbGxlZEJ5SWQpfX1jb25zdCB4Vz1bW1siY2xyLXN0YWNrLWxhYmVsIl1dLCIqIixbWyJjbHItc3RhY2stYmxv''@;'; put 'put ''Y2siXV1dLEFXPVsiY2xyLXN0YWNrLWxhYmVsIiwiKiIsImNsci1zdGFjay1ibG9jayJdLEVXPVtbWyJjbHItc3RhY2staGVhZGVyIl1dLCIqIl0sVFc9WyJjbHItc3RhY2staGVhZGVyIiwiKiJdO2Z1bmN0aW9uIEJXKGwsYyl7MSZsJiZtbygwKX1mdW5jdGlvbiBIVyhsLGMpe2lmKDEmbCYm''@;'; put 'put ''KHhyKDApLGN0KDEsQlcsMSwwLCJuZy1jb250YWluZXIiLDIpLEFyKCkpLDImbCl7Y29uc3QgYT1jLiRpbXBsaWNpdCxkPWh0KDIpO1RlKDEpLEJlKCJuZ1RlbXBsYXRlT3V0bGV0IixkLmZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24udGVtcGxhdGUpKCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4''@;'; put 'put ''dCIsZC5nZXRDb250ZXh0KGEpKX19ZnVuY3Rpb24gVlcobCxjKXtpZigxJmwmJih4cigwKSxjdCgxLEhXLDIsMiwibmctY29udGFpbmVyIiwxKSxBcigpKSwyJmwpe2NvbnN0IGE9aHQoKTtUZSgxKSxCZSgibmdGb3JPZiIsKG51bGw9PWEucGFyZW50P251bGw6YS5wYXJlbnQuY2hpbGRyZW4p''@;'; put 'put ''fHxhLmNoaWxkcmVuKX19Y29uc3QgVVc9WyJjb250ZW50Q29udGFpbmVyIl07ZnVuY3Rpb24gV1cobCxjKXtpZigxJmwpe2NvbnN0IGE9Um4oKTt6ZSgwLCJidXR0b24iLDkpLE90KCJjbGljayIsZnVuY3Rpb24oKXtyZXR1cm4gY24oYSksdW4oaHQoKS5leHBhbmRTZXJ2aWNlLnRvZ2dsZSgp''@;'; put 'put ''KX0pKCJmb2N1cyIsZnVuY3Rpb24oKXtyZXR1cm4gY24oYSksdW4oaHQoKS5mb2N1c1RyZWVOb2RlKCkpfSksV3QoMSwiY2RzLWljb24iLDEwKSxZZSgpfWlmKDImbCl7Y29uc3QgYT1odCgpO1RlKDEpLGp0KCJkaXJlY3Rpb24iLGEuZXhwYW5kU2VydmljZS5leHBhbmRlZD8iZG93biI6InJp''@;'; put 'put ''Z2h0Iil9fWZ1bmN0aW9uIHFXKGwsYyl7MSZsJiYoemUoMCwiZGl2IiwxMSksV3QoMSwic3BhbiIsMTIpLFllKCkpfWZ1bmN0aW9uIEdXKGwsYyl7aWYoMSZsKXtjb25zdCBhPVJuKCk7emUoMCwiZGl2IiwxMykoMSwiaW5wdXQiLDE0KSxPdCgiY2hhbmdlIixmdW5jdGlvbigpe2NuKGEpO2Nv''@;'; put 'put ''bnN0IGY9aHQoKTtyZXR1cm4gdW4oZi5fbW9kZWwudG9nZ2xlU2VsZWN0aW9uKGYuZmVhdHVyZXNTZXJ2aWNlLmVhZ2VyKSl9KSgiZm9jdXMiLGZ1bmN0aW9uKCl7cmV0dXJuIGNuKGEpLHVuKGh0KCkuZm9jdXNUcmVlTm9kZSgpKX0pLFllKCksV3QoMiwibGFiZWwiLDE1KSxZZSgpfWlmKDIm''@;'; put 'put ''bCl7Y29uc3QgYT1odCgpO1RlKDEpLHFkKCJpZCIsIiIsYS5ub2RlSWQsIi1jaGVjayIpLEJlKCJjaGVja2VkIixhLl9tb2RlbC5zZWxlY3RlZC52YWx1ZT09PWEuU1RBVEVTLlNFTEVDVEVEKSgiaW5kZXRlcm1pbmF0ZSIsYS5fbW9kZWwuc2VsZWN0ZWQudmFsdWU9PT1hLlNUQVRFUy5JTkRF''@;'; put 'put ''VEVSTUlOQVRFKSxUZSgxKSxxZCgiZm9yIiwiIixhLm5vZGVJZCwiLWNoZWNrIil9fWZ1bmN0aW9uIFpXKGwsYyl7MSZsJiYoemUoMCwic3BhbiIpLEZ0KDEsInNlbGVjdGVkIiksWWUoKSl9ZnVuY3Rpb24gSlcobCxjKXsxJmwmJih6ZSgwLCJzcGFuIiksRnQoMSwidW5zZWxlY3RlZCIpLFll''@;'; put 'put ''KCkpfWZ1bmN0aW9uIEtXKGwsYyl7aWYoMSZsJiYoemUoMCwiZGl2IiwxNiksY3QoMSxaVywyLDAsInNwYW4iLDE3KSxjdCgyLEpXLDIsMCwic3BhbiIsMTcpLFllKCkpLDImbCl7Y29uc3QgYT1odCgpO1RlKDEpLEJlKCJuZ0lmIixhLmFyaWFTZWxlY3RlZCksVGUoMSksQmUoIm5nSWYiLCFh''@;'; put 'put ''LmFyaWFTZWxlY3RlZCl9fWNvbnN0IFhXPVsiKiIsW1siY2xyLXRyZWUtbm9kZSJdXSxbWyIiLCJjbHJJZkV4cGFuZGVkIiwiIl1dXSxRVz1bIioiLCJjbHItdHJlZS1ub2RlIiwiW2NscklmRXhwYW5kZWRdIl07ZnVuY3Rpb24gJFcobCxjKXsxJmwmJld0KDAsImNsci1yZWN1cnNpdmUtY2hp''@;'; put 'put ''bGRyZW4iLDEpLDImbCYmQmUoImNoaWxkcmVuIixodCgpLmZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24ucm9vdCl9ZnVuY3Rpb24gYXEobCxjKXsxJmwmJkx0KDApfWNvbnN0IGxxPVsidGFiQ29udGVudFByb2plY3RlZFJlZiJdO2Z1bmN0aW9uIGNxKGwsYyl7aWYoMSZsJiYoemUoMCwic2Vj''@;'; put 'put ''dGlvbiIsMSksTHQoMSksWWUoKSksMiZsKXtjb25zdCBhPWh0KCk7VnQoImFjdGl2ZSIsYS5hY3RpdmUpLEJlKCJpZCIsYS50YWJDb250ZW50SWQpKCJoaWRkZW4iLCFhLmFjdGl2ZSksanQoImFyaWEtbGFiZWxsZWRieSIsYS5hcmlhTGFiZWxsZWRCeSkoImFyaWEtaGlkZGVuIiwhYS5hY3Rp''@;'; put 'put ''dmUpfX1jb25zdCB1cT1bInRhYkNvbnRlbnRWaWV3Q29udGFpbmVyIl07ZnVuY3Rpb24gZHEobCxjKXtpZigxJmwmJih4cigwKSx6ZSgxLCJsaSIsNCksbW8oMiw1KSxZZSgpLEFyKCkpLDImbCl7Y29uc3QgYT1odCgpLiRpbXBsaWNpdDtUZSgyKSxCZSgibmdUZW1wbGF0ZU91dGxldCIsYS50''@;'; put 'put ''ZW1wbGF0ZVJlZkNvbnRhaW5lci50ZW1wbGF0ZSl9fWZ1bmN0aW9uIGhxKGwsYyl7aWYoMSZsJiYoeHIoMCksY3QoMSxkcSwzLDEsIm5nLWNvbnRhaW5lciIsMiksQXIoKSksMiZsKXtjb25zdCBhPWMuJGltcGxpY2l0LGQ9aHQoKTtUZSgxKSxCZSgibmdJZiIsYS50YWJzSWQ9PT1kLnRhYnNJ''@;'; put 'put ''ZCYmIWEuaW5PdmVyZmxvdyl9fWZ1bmN0aW9uIGZxKGwsYyl7MSZsJiZtbygwLDUpLDImbCYmQmUoIm5nVGVtcGxhdGVPdXRsZXQiLGh0KCkuJGltcGxpY2l0LnRlbXBsYXRlUmVmQ29udGFpbmVyLnRlbXBsYXRlKX1mdW5jdGlvbiBwcShsLGMpe2lmKDEmbCYmKHhyKDApLGN0KDEsZnEsMSwx''@;'; put 'put ''LCJuZy1jb250YWluZXIiLDEzKSxBcigpKSwyJmwpe2NvbnN0IGE9Yy4kaW1wbGljaXQsZD1odCgzKTtUZSgxKSxCZSgibmdJZiIsYS50YWJzSWQ9PT1kLnRhYnNJZCYmYS5pbk92ZXJmbG93KX19ZnVuY3Rpb24gZ3EobCxjKXtpZigxJmwpe2NvbnN0IGE9Um4oKTt6ZSgwLCJjbHItdGFiLW92''@;'; put 'put ''ZXJmbG93LWNvbnRlbnQiLDEyKSxPdCgia2V5ZG93bi5lc2MiLGZ1bmN0aW9uKCl7cmV0dXJuIGNuKGEpLHVuKGh0KDIpLmNsb3NlT25Fc2NhcGVLZXkoKSl9LDAsUmQpKCJjbGljayIsZnVuY3Rpb24oZil7Y24oYSksaHQoKTtjb25zdCB2PWZ1bmN0aW9uIGdvKGwpe3JldHVybiB1YShmdW5j''@;'; put 'put ''dGlvbiBnZCgpe3JldHVybiB6bi5sRnJhbWUuY29udGV4dExWaWV3fSgpLDIyK2wpfSg0KTtyZXR1cm4gdW4oaHQoKS5jbG9zZU9uT3V0c2lkZUNsaWNrKGYsdikpfSwhMSxSZCkoImZvY3Vzb3V0IixmdW5jdGlvbihmKXtyZXR1cm4gY24oYSksdW4oaHQoMikuY2xvc2VPbkZvY3VzT3V0KGYp''@;'; put 'put ''KX0pLGN0KDEscHEsMiwxLCJuZy1jb250YWluZXIiLDEpLFllKCl9aWYoMiZsKXtjb25zdCBhPWh0KDIpO1RlKDEpLEJlKCJuZ0Zvck9mIixhLnRhYkxpbmtEaXJlY3RpdmVzKX19ZnVuY3Rpb24gbXEobCxjKXtpZigxJmwpe2NvbnN0IGE9Um4oKTt4cigwKSx6ZSgxLCJkaXYiLDYpKDIsImxp''@;'; put 'put ''Iiw3KSgzLCJidXR0b24iLDgsOSksT3QoIm1vdXNlZG93biIsZnVuY3Rpb24oKXtyZXR1cm4gY24oYSksdW4oaHQoKS5fbW91c2Vkb3duPSEwKX0pKCJmb2N1cyIsZnVuY3Rpb24oKXtyZXR1cm4gY24oYSksdW4oaHQoKS5vcGVuT3ZlcmZsb3dPbkZvY3VzKCkpfSkoImNsaWNrIixmdW5jdGlv''@;'; put 'put ''bigpe3JldHVybiBjbihhKSx1bihodCgpLnRvZ2dsZU92ZXJmbG93T25DbGljaygpKX0pLFd0KDUsImNkcy1pY29uIiwxMCksWWUoKSgpLGN0KDYsZ3EsMiwxLCJjbHItdGFiLW92ZXJmbG93LWNvbnRlbnQiLDExKSxZZSgpLEFyKCl9aWYoMiZsKXtjb25zdCBhPWh0KCk7VGUoMSksVnQoIm9w''@;'; put 'put ''ZW4iLGEudG9nZ2xlU2VydmljZS5vcGVuKSxUZSgyKSxWdCgiYWN0aXZlIixhLmFjdGl2ZVRhYkluT3ZlcmZsb3cpKCJvcGVuIixhLnRvZ2dsZVNlcnZpY2Uub3BlbiksanQoInRhYmluZGV4IixhLmFjdGl2ZVRhYkluT3ZlcmZsb3cmJiFhLnRvZ2dsZVNlcnZpY2Uub3Blbj8wOi0xKSgidGl0''@;'; put 'put ''bGUiLGEuY29tbW9uU3RyaW5ncy5rZXlzLm1vcmUpLFRlKDIpLGp0KCJ0aXRsZSIsYS5jb21tb25TdHJpbmdzLmtleXMubW9yZSksVGUoMSksQmUoIm5nSWYiLGEudG9nZ2xlU2VydmljZS5vcGVuKX19ZnVuY3Rpb24ga3EobCxjKXtpZigxJmwpe2NvbnN0IGE9Um4oKTt6ZSgwLCJidXR0b24i''@;'; put 'put ''LDExKSxPdCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGNuKGEpLHVuKGh0KDIpLmNsb3NlKCkpfSksV3QoMSwiY2RzLWljb24iLDEyKSxZZSgpfTImbCYmanQoImFyaWEtbGFiZWwiLGh0KDIpLmNvbW1vblN0cmluZ3Mua2V5cy5jbG9zZSl9ZnVuY3Rpb24ganEobCxjKXtpZigxJmwpe2Nv''@;'; put 'put ''bnN0IGE9Um4oKTt6ZSgwLCJkaXYiLDEpKDEsImRpdiIsMiksT3QoIkBmYWRlRG93bi5kb25lIixmdW5jdGlvbihmKXtyZXR1cm4gY24oYSksdW4oaHQoKS5mYWRlRG9uZShmKSl9KSx6ZSgyLCJkaXYiLDMpLEZ0KDMpLFllKCksemUoNCwiZGl2Iiw0KSxMdCg1KSx6ZSg2LCJkaXYiLDUpKDcs''@;'; put 'put ''ImRpdiIsNikoOCwiZGl2Iiw3KSxMdCg5LDEpLFllKCksY3QoMTAsa3EsMiwxLCJidXR0b24iLDgpLFllKCksemUoMTEsImRpdiIsOSksTHQoMTIsMiksWWUoKSxMdCgxMywzKSxZZSgpKCksemUoMTQsImRpdiIsMyksRnQoMTUpLFllKCkoKSx6ZSgxNiwiZGl2IiwxMCksT3QoImNsaWNrIixm''@;'; put 'put ''dW5jdGlvbigpe2NuKGEpO2NvbnN0IGY9aHQoKTtyZXR1cm4gdW4oZi5zdGF0aWNCYWNrZHJvcHx8Zi5jbG9zZSgpKX0pLFllKCkoKX1pZigyJmwpe2NvbnN0IGE9aHQoKTtUZSgxKSxWdCgibW9kYWwtc20iLCJzbSI9PWEuc2l6ZSkoIm1vZGFsLWxnIiwibGciPT1hLnNpemUpKCJtb2RhbC14''@;'; put 'put ''bCIsInhsIj09YS5zaXplKSxCZSgiQGZhZGVEb3duIixhLnNraXBBbmltYXRpb24pLGp0KCJhcmlhLWhpZGRlbiIsIWEuX29wZW4pKCJhcmlhLWxhYmVsbGVkYnkiLGEubGFiZWxsZWRCeSksVGUoMiksTG4oYS5jb21tb25TdHJpbmdzLmtleXMubW9kYWxDb250ZW50U3RhcnQpLFRlKDUpLERw''@;'; put 'put ''KCJpZCIsYS5tb2RhbElkKSxUZSgyKSxCZSgibmdJZiIsYS5jbG9zYWJsZSksVGUoNSksTG4oYS5jb21tb25TdHJpbmdzLmtleXMubW9kYWxDb250ZW50RW5kKSxUZSgxKSxCZSgiQGZhZGUiLHZvaWQgMCl9fWNvbnN0IFNxPVtbWyIiLDgsIm1vZGFsLW5hdiJdXSxbWyIiLDgsIm1vZGFsLXRp''@;'; put 'put ''dGxlIl1dLFtbIiIsOCwibW9kYWwtYm9keSJdXSxbWyIiLDgsIm1vZGFsLWZvb3RlciJdXV0sT3E9WyIubW9kYWwtbmF2IiwiLm1vZGFsLXRpdGxlIiwiLm1vZGFsLWJvZHkiLCIubW9kYWwtZm9vdGVyIl07bGV0IEp5PSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlv''@;'; put 'put ''bihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItaWNvbiJdXX0pLGx9KSgpLFlyPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NWRpcj1UdCh7dHlw''@;'; put 'put ''ZTpsLHNlbGVjdG9yczpbWyJjZHMtaWNvbiJdXX0pLGx9KSgpLEVyPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbl1dfSksbH0p''@;'; put 'put ''KCk7Y2xhc3MgTmh7fXZhciBUaT0oKCk9PihmdW5jdGlvbihsKXtsW2wuREVGQVVMVD0wXT0iREVGQVVMVCIsbFtsLkxPQURJTkc9MV09IkxPQURJTkciLGxbbC5TVUNDRVNTPTJdPSJTVUNDRVNTIixsW2wuRVJST1I9M109IkVSUk9SIn0oVGl8fChUaT17fSkpLFRpKSkoKTtsZXQgS1A9KCgp''@;'; put 'put ''PT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt0aGlzLmxpc3RlbmVyPWEsdGhpcy5fbG9hZGluZ1N0YXRlPVRpLkRFRkFVTFR9Z2V0IGxvYWRpbmdTdGF0ZSgpe3JldHVybiB0aGlzLl9sb2FkaW5nU3RhdGV9c2V0IGxvYWRpbmdTdGF0ZShhKXshMD09PWE/YT1UaS5MT0FESU5HOmF8fChhPVRp''@;'; put 'put ''LkRFRkFVTFQpLGEhPT10aGlzLl9sb2FkaW5nU3RhdGUmJih0aGlzLl9sb2FkaW5nU3RhdGU9YSx0aGlzLmxpc3RlbmVyJiZ0aGlzLmxpc3RlbmVyLmxvYWRpbmdTdGF0ZUNoYW5nZShhKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmxvYWRpbmdTdGF0ZT1UaS5ERUZBVUxUfX1yZXR1cm4gbC5cdTAy''@;'; put 'put ''NzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShOaCw4KSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsImNsckxvYWRpbmciLCIiXV0saW5wdXRzOntsb2FkaW5nU3RhdGU6WyJjbHJMb2FkaW5nIiwibG9hZGluZ1N0YXRlIl19fSksbH0pKCksaW89''@;'; put 'put ''KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuZXhwYW5kYWJsZT0wLHRoaXMuX2xvYWRpbmc9ITEsdGhpcy5fZXhwYW5kZWQ9ITEsdGhpcy5fZXhwYW5kQ2hhbmdlPW5ldyBFfWdldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9c2V0IGxvYWRpbmcoYSl7KGE9ISFhKSE9''@;'; put 'put ''PXRoaXMuX2xvYWRpbmcmJih0aGlzLl9sb2FkaW5nPWEpfWdldCBleHBhbmRlZCgpe3JldHVybiB0aGlzLl9leHBhbmRlZH1zZXQgZXhwYW5kZWQoYSl7KGE9ISFhKSE9PXRoaXMuX2V4cGFuZGVkJiYodGhpcy5fZXhwYW5kZWQ9YSx0aGlzLl9leHBhbmRDaGFuZ2UubmV4dChhKSl9dG9nZ2xl''@;'; put 'put ''KCl7dGhpcy5leHBhbmRlZD0hdGhpcy5fZXhwYW5kZWR9Z2V0IGV4cGFuZENoYW5nZSgpe3JldHVybiB0aGlzLl9leHBhbmRDaGFuZ2UuYXNPYnNlcnZhYmxlKCl9bG9hZGluZ1N0YXRlQ2hhbmdlKGEpe3RoaXMubG9hZGluZz1hPT09VGkuTE9BRElOR319cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1''@;'; put 'put ''bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCksWHE9MDtjb25zdCBsaT1uZXcgT24oIlVOSVFVRV9JRCIpO2NvbnN0IExpPXtwcm92aWRlOmxpLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gWFAoKXtyZXR1''@;'; put 'put ''cm4iY2xyLWlkLSIrWHErK319LFNzPSIwLjJzIGVhc2UtaW4tb3V0IixLeT0oRm8oInNraXBJbml0aWFsUmVuZGVyIixbcGkoIjplbnRlciIsW10pXSksRm8oInRvZ2dsZSIsW3BpKCJ2b2lkID0+ICoiLFtpcih7ZGlzcGxheToiYmxvY2siLGhlaWdodDowfSksRWkoU3MsaXIoe2hlaWdodDoi''@;'; put 'put ''KiJ9KSldKV0pLEZvKCJza2lwSW5pdGlhbFJlbmRlciIsW3BpKCI6ZW50ZXIiLFtdKV0pLEZvKCJ0b2dnbGUiLFtwaSgidm9pZCA9PiAqIixbaXIoe2Rpc3BsYXk6ImJsb2NrIixoZWlnaHQ6MH0pLEVpKFNzLGlyKHtoZWlnaHQ6IioifSkpXSkscGkoIiogPT4gdm9pZCIsW2lyKHtkaXNwbGF5''@;'; put 'put ''OiJibG9jayJ9KSxFaShTcyxpcih7aGVpZ2h0OjAsZGlzcGxheToibm9uZSJ9KSldKV0pLHtvcGVuOiJPcGVuIixjbG9zZToiQ2xvc2UiLHNob3c6IlNob3ciLGhpZGU6IkhpZGUiLGV4cGFuZDoiRXhwYW5kIixjb2xsYXBzZToiQ29sbGFwc2UiLG1vcmU6Ik1vcmUiLHNlbGVjdDoiU2VsZWN0''@;'; put 'put ''IixzZWxlY3RBbGw6IlNlbGVjdCBBbGwiLHByZXZpb3VzOiJQcmV2aW91cyIsbmV4dDoiTmV4dCIsY3VycmVudDoiSnVtcCB0byBjdXJyZW50IixpbmZvOiJJbmZvIixzdWNjZXNzOiJTdWNjZXNzIix3YXJuaW5nOiJXYXJuaW5nIixkYW5nZXI6IkVycm9yIixyb3dBY3Rpb25zOiJBdmFpbGFi''@;'; put 'put ''bGUgYWN0aW9ucyIscGlja0NvbHVtbnM6IlNob3cgb3IgaGlkZSBjb2x1bW5zIixzaG93Q29sdW1uczoiU2hvdyBDb2x1bW5zIixzb3J0Q29sdW1uOiJTb3J0IENvbHVtbiIsZmlyc3RQYWdlOiJGaXJzdCBQYWdlIixsYXN0UGFnZToiTGFzdCBQYWdlIixuZXh0UGFnZToiTmV4dCBQYWdlIixw''@;'; put 'put ''cmV2aW91c1BhZ2U6IlByZXZpb3VzIFBhZ2UiLGN1cnJlbnRQYWdlOiJDdXJyZW50IFBhZ2UiLHRvdGFsUGFnZXM6IlRvdGFsIFBhZ2VzIixmaWx0ZXJJdGVtczoiRmlsdGVyIGl0ZW1zIixtaW5WYWx1ZToiTWluIHZhbHVlIixtYXhWYWx1ZToiTWF4IHZhbHVlIixtb2RhbENvbnRlbnRTdGFy''@;'; put 'put ''dDoiQmVnaW5uaW5nIG9mIE1vZGFsIENvbnRlbnQiLG1vZGFsQ29udGVudEVuZDoiRW5kIG9mIE1vZGFsIENvbnRlbnQiLHNob3dDb2x1bW5zTWVudURlc2NyaXB0aW9uOiJTaG93IG9yIGhpZGUgY29sdW1ucyBtZW51IixhbGxDb2x1bW5zU2VsZWN0ZWQ6IkFsbCBjb2x1bW5zIHNlbGVjdGVk''@;'; put 'put ''IixzaWducG9zdFRvZ2dsZToiU2lnbnBvc3QgVG9nZ2xlIixzaWducG9zdENsb3NlOiJTaWducG9zdCBDbG9zZSIsbG9hZGluZzoiTG9hZGluZyIsZGV0YWlsUGFuZVN0YXJ0OiJTdGFydCBvZiByb3cgZGV0YWlscyIsZGV0YWlsUGFuZUVuZDoiRW5kIG9mIHJvdyBkZXRhaWxzIixzaW5nbGVT''@;'; put 'put ''ZWxlY3Rpb25BcmlhTGFiZWw6IlNpbmdsZSBzZWxlY3Rpb24gaGVhZGVyIixzaW5nbGVBY3Rpb25hYmxlQXJpYUxhYmVsOiJTaW5nbGUgYWN0aW9uYWJsZSBoZWFkZXIiLGRldGFpbEV4cGFuZGFibGVBcmlhTGFiZWw6IlRvZ2dsZSBtb3JlIHJvdyBjb250ZW50IixkYXRhZ3JpZEZpbHRlckFy''@;'; put 'put ''aWFMYWJlbDoiRmlsdGVyIGRpYWxvZyIsZGF0YWdyaWRGaWx0ZXJEaWFsb2dBcmlhTGFiZWw6IlRvZ2dsZSBjb2x1bW4gZmlsdGVyIixjb2x1bW5TZXBhcmF0b3JBcmlhTGFiZWw6IkNvbHVtbiByZXNpemUgaGFuZGxlIixjb2x1bW5TZXBhcmF0b3JEZXNjcmlwdGlvbjoiVXNlIGxlZnQgb3Ig''@;'; put 'put ''cmlnaHQga2V5IHRvIHJlc2l6ZSB0aGUgY29sdW1uIixhbGVydENsb3NlQnV0dG9uQXJpYUxhYmVsOiJDbG9zZSBhbGVydCIsZGF0ZXBpY2tlckRpYWxvZ0xhYmVsOiJDaG9vc2UgZGF0ZSIsZGF0ZXBpY2tlclRvZ2dsZToiVG9nZ2xlIGRhdGVwaWNrZXIiLGRhdGVwaWNrZXJUb2dnbGVDaG9v''@;'; put 'put ''c2VEYXRlTGFiZWw6IkNob29zZSBkYXRlIixkYXRlcGlja2VyVG9nZ2xlQ2hhbmdlRGF0ZUxhYmVsOiJDaGFuZ2UgZGF0ZSwge1NFTEVDVEVEX0RBVEV9IixkYXRlcGlja2VyUHJldmlvdXNNb250aDoiUHJldmlvdXMgbW9udGgiLGRhdGVwaWNrZXJDdXJyZW50TW9udGg6IkN1cnJlbnQgbW9u''@;'; put 'put ''dGgiLGRhdGVwaWNrZXJOZXh0TW9udGg6Ik5leHQgbW9udGgiLGRhdGVwaWNrZXJQcmV2aW91c0RlY2FkZToiUHJldmlvdXMgZGVjYWRlIixkYXRlcGlja2VyTmV4dERlY2FkZToiTmV4dCBkZWNhZGUiLGRhdGVwaWNrZXJDdXJyZW50RGVjYWRlOiJDdXJyZW50IGRlY2FkZSIsZGF0ZXBpY2tl''@;'; put 'put ''clNlbGVjdE1vbnRoVGV4dDoiU2VsZWN0IG1vbnRoLCB0aGUgY3VycmVudCBtb250aCBpcyB7Q0FMRU5EQVJfTU9OVEh9IixkYXRlcGlja2VyU2VsZWN0WWVhclRleHQ6IlNlbGVjdCB5ZWFyLCB0aGUgY3VycmVudCB5ZWFyIGlzIHtDQUxFTkRBUl9ZRUFSfSIsZGF0ZXBpY2tlclNlbGVjdGVk''@;'; put 'put ''TGFiZWw6IntGVUxMX0RBVEV9IC0gU2VsZWN0ZWQiLHN0YWNrVmlld0NoYW5nZWQ6IlZhbHVlIGNoYW5nZWQuIixyZXNwb25zaXZlTmF2VG9nZ2xlT3BlbjoiTmF2aWdhdGlvbiBtZW51IixyZXNwb25zaXZlTmF2VG9nZ2xlQ2xvc2U6Ik5hdmlnYXRpb24gbWVudSIscmVzcG9uc2l2ZU5hdk92''@;'; put 'put ''ZXJmbG93T3BlbjoiTmF2aWdhdGlvbiBvdmVyZmxvdyBtZW51IixyZXNwb25zaXZlTmF2T3ZlcmZsb3dDbG9zZToiTmF2aWdhdGlvbiBvdmVyZmxvdyBtZW51Iix2ZXJ0aWNhbE5hdkdyb3VwVG9nZ2xlOiJUb2dnbGUgdmVydGljYWwgbmF2aWdhdGlvbiBncm91cCIsdmVydGljYWxOYXZUb2dn''@;'; put 'put ''bGU6IlRvZ2dsZSB2ZXJ0aWNhbCBuYXZpZ2F0aW9uIix0aW1lbGluZVN0ZXBOb3RTdGFydGVkOiJOb3Qgc3RhcnRlZCIsdGltZWxpbmVTdGVwQ3VycmVudDoiQ3VycmVudCIsdGltZWxpbmVTdGVwU3VjY2VzczoiQ29tcGxldGVkIix0aW1lbGluZVN0ZXBFcnJvcjoiRXJyb3IiLHRpbWVsaW5l''@;'; put 'put ''U3RlcFByb2Nlc3Npbmc6IkluIHByb2dyZXNzIixjb21ib2JveERlbGV0ZToiRGVsZXRlIHNlbGVjdGVkIG9wdGlvbiIsY29tYm9ib3hTZWFyY2hpbmc6J1NlYXJjaGluZyBmb3IgbWF0Y2hlcyBmb3IgIntJTlBVVH0iJyxjb21ib2JveFNlbGVjdGlvbjoiU2VsZWN0aW9uIixjb21ib2JveFNl''@;'; put 'put ''bGVjdGVkOiJTZWxlY3RlZCIsY29tYm9ib3hOb1Jlc3VsdHM6Ik5vIHJlc3VsdHMiLGNvbWJvYm94T3BlbjoiU2hvdyBvcHRpb25zIixkYXRhZ3JpZEV4cGFuZGFibGVCZWdpbm5pbmdPZjoiQmVnaW5uaW5nIG9mIixkYXRhZ3JpZEV4cGFuZGFibGVFbmRPZjoiRW5kIG9mIixkYXRhZ3JpZEV4''@;'; put 'put ''cGFuZGFibGVSb3dDb250ZW50OiJFeHBhbmRhYmxlIHJvdyBjb250ZW50IixkYXRhZ3JpZEV4cGFuZGFibGVSb3dzSGVscGVyVGV4dDoiU2NyZWVuIHJlYWRlciB0YWJsZSBjb21tYW5kcyBtYXkgbm90IHdvcmsgZm9yIHZpZXdpbmcgZXhwYW5kZWQgY29udGVudCwgcGxlYXNlIHVzZSB5b3Vy''@;'; put 'put ''IHNjcmVlbiByZWFkZXIncyBicm93c2UgbW9kZSB0byByZWFkIHRoZSBjb250ZW50IGV4cG9zZWQgYnkgdGhpcyBidXR0b24iLHdpemFyZFN0ZXBTdWNjZXNzOiJDb21wbGV0ZWQiLHdpemFyZFN0ZXBFcnJvcjoiRXJyb3IiLHBhc3N3b3JkSGlkZToiSGlkZSBwYXNzd29yZCIscGFzc3dvcmRT''@;'; put 'put ''aG93OiJTaG93IHBhc3N3b3JkIixzZWxlY3RlZFJvd3M6IlNlbGVjdGVkIHJvd3MifSk7bGV0IGhyPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9zdHJpbmdzPUt5fWxvY2FsaXplKGEpe3RoaXMuX3N0cmluZ3M9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMu''@;'; put 'put ''X3N0cmluZ3MpLGEpfWdldCBrZXlzKCl7cmV0dXJuIHRoaXMuX3N0cmluZ3N9cGFyc2UoYSxkPXt9KXtjb25zdCBmPU9iamVjdC5rZXlzKGQpO2xldCB2PWE7cmV0dXJuIGYubGVuZ3RoJiZmLmZvckVhY2goeD0+e3Y9di5yZXBsYWNlKGB7JHt4fX1gLGRbeF0pfSksdn19cmV0dXJuIGwuXHUw''@;'; put 'put ''Mjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjLHByb3ZpZGVkSW46InJvb3QifSksbH0pKCksRXU9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2Nob2NvbGF0ZT1uZXcgRSx0aGlz''@;'; put 'put ''LmRpc2FibGVDaG9jb2xhdGVDaGVjaz0hMX1nZXQgY2hvY29sYXRlKCl7cmV0dXJuIHRoaXMuX2Nob2NvbGF0ZS5hc09ic2VydmFibGUoKX1uZ0FmdGVyVmlld0NoZWNrZWQoKXt0aGlzLmRpc2FibGVDaG9jb2xhdGVDaGVja3x8dGhpcy5fY2hvY29sYXRlLm5leHQoKX19cmV0dXJuIGwuXHUw''@;'; put 'put ''Mjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmx9KSxsfSkoKSxUdT0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCl7dGhpcy5zdWJzY3JpcHRpb249ZC5jaG9jb2xhdGUuc3Vic2NyaWJlKCgpPT57dGhpcy5sYXRlc3RGbGF2b3Ih''@;'; put 'put ''PT10aGlzLmZsYXZvciYmKGQuZGlzYWJsZUNob2NvbGF0ZUNoZWNrPSEwLGEuZGV0ZWN0Q2hhbmdlcygpLGQuZGlzYWJsZUNob2NvbGF0ZUNoZWNrPSExKX0pfW5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpe3RoaXMubGF0ZXN0Rmxhdm9yPXRoaXMuZmxhdm9yfW5nT25EZXN0cm95KCl7dGhpcy5z''@;'; put 'put ''dWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoeGkpLG1lKEV1KSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmx9KSxsfSkoKSx0RD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKCl7TXIuYWRkSWNvbnMo''@;'; put 'put ''a3UsTG8sSW8pfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR24sRXJdXX0pLGx9KSgpLGNHPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1m''@;'; put 'put ''dW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixFcix0RF0sdERdfSksbH0pKCk7dmFyIFluPSgoKT0+KGZ1bmN0aW9uKGwpe2wuQXJyb3dMZWZ0PSJBcnJvd0xlZnQiLGwuQXJyb3dVcD0iQXJy''@;'; put 'put ''b3dVcCIsbC5BcnJvd1JpZ2h0PSJBcnJvd1JpZ2h0IixsLkFycm93RG93bj0iQXJyb3dEb3duIixsLkJhY2tzcGFjZT0iQmFja3NwYWNlIixsLlRhYj0iVGFiIixsLkVudGVyPSJFbnRlciIsbC5Fc2NhcGU9IkVzY2FwZSIsbC5TcGFjZT0iU3BhY2UiLGwuU3BhY2ViYXI9IiAiLGwuSG9tZT0i''@;'; put 'put ''SG9tZSIsbC5FbmQ9IkVuZCJ9KFlufHwoWW49e30pKSxZbikpKCksT3M9KCgpPT4oZnVuY3Rpb24obCl7bC5BcnJvd1VwPSJVcCIsbC5BcnJvd0Rvd249IkRvd24iLGwuQXJyb3dSaWdodD0iUmlnaHQiLGwuQXJyb3dMZWZ0PSJMZWZ0IixsLlNwYWNlPSJTcGFjZWJhciIsbC5Fc2NhcGU9IkVz''@;'; put 'put ''YyIsbC5Ib21lPSJIb21lIixsLkVuZD0iRW5kIixsLkVudGVyPSJFbnRlciIsbC5UYWI9IlRhYiJ9KE9zfHwoT3M9e30pKSxPcykpKCk7ZnVuY3Rpb24gSGgobCl7cmV0dXJuIGw9PT1Zbi5BcnJvd1VwfHxsPT09T3MuQXJyb3dVcD9Zbi5BcnJvd1VwOmw9PT1Zbi5BcnJvd0Rvd258fGw9PT1P''@;'; put 'put ''cy5BcnJvd0Rvd24/WW4uQXJyb3dEb3duOmw9PT1Zbi5BcnJvd1JpZ2h0fHxsPT09T3MuQXJyb3dSaWdodD9Zbi5BcnJvd1JpZ2h0Omw9PT1Zbi5BcnJvd0xlZnR8fGw9PT1Pcy5BcnJvd0xlZnQ/WW4uQXJyb3dMZWZ0Omw9PT1Zbi5TcGFjZXx8bD09PU9zLlNwYWNlP1luLlNwYWNlOmw9PT1Z''@;'; put 'put ''bi5Fc2NhcGV8fGw9PT1Pcy5Fc2NhcGU/WW4uRXNjYXBlOmx9ZnVuY3Rpb24gJHkobCl7Y29uc3QgYz1IaChsLmtleSk7KGM9PT1Zbi5BcnJvd1VwfHxjPT09WW4uQXJyb3dEb3dufHxjPT09WW4uQXJyb3dMZWZ0fHxjPT09WW4uQXJyb3dSaWdodCkmJmwucHJldmVudERlZmF1bHQoKX1sZXQg''@;'; put 'put ''VHI9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW49ITEsdGhpcy5fb3BlbkNoYW5nZT1uZXcgRSx0aGlzLl9vcGVuRXZlbnRDaGFuZ2U9bmV3IEUsdGhpcy5fcG9wb3ZlckFsaWduZWQ9bmV3IEV9Z2V0IG9wZW5DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fb3BlbkNoYW5nZS5h''@;'; put 'put ''c09ic2VydmFibGUoKX1zZXQgb3BlbkV2ZW50KGEpe3RoaXMuX29wZW5FdmVudD1hLHRoaXMuX29wZW5FdmVudENoYW5nZS5uZXh0KGEpfWdldCBvcGVuRXZlbnQoKXtyZXR1cm4gdGhpcy5fb3BlbkV2ZW50fWdldEV2ZW50Q2hhbmdlKCl7cmV0dXJuIHRoaXMuX29wZW5FdmVudENoYW5nZS5h''@;'; put 'put ''c09ic2VydmFibGUoKX1zZXQgb3BlbihhKXt0aGlzLl9vcGVuIT09KGE9ISFhKSYmKHRoaXMuX29wZW49YSx0aGlzLl9vcGVuQ2hhbmdlLm5leHQoYSkpfWdldCBvcGVuKCl7cmV0dXJuIHRoaXMuX29wZW59Z2V0IG9yaWdpbmFsRXZlbnQoKXtyZXR1cm4gdGhpcy5fb3BlbkV2ZW50fXRvZ2ds''@;'; put 'put ''ZVdpdGhFdmVudChhKXskeShhKSx0aGlzLm9wZW5FdmVudD1hLHRoaXMub3Blbj0hdGhpcy5vcGVufWdldCBwb3BvdmVyQWxpZ25lZCgpe3JldHVybiB0aGlzLl9wb3BvdmVyQWxpZ25lZC5hc09ic2VydmFibGUoKX1wb3BvdmVyQWxpZ25lZEVtaXQoYSl7dGhpcy5fcG9wb3ZlckFsaWduZWQu''@;'; put 'put ''bmV4dChhKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7dmFyIENpPSgoKT0+KGZ1bmN0aW9uKGwpe2xbbC5WRVJUSUNBTD0wXT0iVkVSVElDQUwiLGxb''@;'; put 'put ''bC5IT1JJWk9OVEFMPTFdPSJIT1JJWk9OVEFMIn0oQ2l8fChDaT17fSkpLENpKSkoKSxmcj0oKCk9PihmdW5jdGlvbihsKXtsW2wuU1RBUlQ9MF09IlNUQVJUIixsW2wuQ0VOVEVSPS41XT0iQ0VOVEVSIixsW2wuRU5EPTFdPSJFTkQifShmcnx8KGZyPXt9KSksZnIpKSgpO2xldCBxaD0oKCk9''@;'; put 'put ''PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbXV19KSxsfSkoKTt2YXIgeW89KCgpPT4oZnVuY3Rpb24obCl7bFtsLkJFRk9SRT0tMV09IkJF''@;'; put 'put ''Rk9SRSIsbFtsLkFGVEVSPTFdPSJBRlRFUiJ9KHlvfHwoeW89e30pKSx5bykpKCk7Y2xhc3Mgd297fXdvWyJ0b3AtcmlnaHQiXT17YXhpczpDaS5WRVJUSUNBTCxzaWRlOnlvLkJFRk9SRSxhbmNob3I6ZnIuRU5ELGNvbnRlbnQ6ZnIuRU5EfSx3b1sidG9wLWxlZnQiXT17YXhpczpDaS5WRVJU''@;'; put 'put ''SUNBTCxzaWRlOnlvLkJFRk9SRSxhbmNob3I6ZnIuU1RBUlQsY29udGVudDpmci5TVEFSVH0sd29bImJvdHRvbS1yaWdodCJdPXtheGlzOkNpLlZFUlRJQ0FMLHNpZGU6eW8uQUZURVIsYW5jaG9yOmZyLkVORCxjb250ZW50OmZyLkVORH0sd29bImJvdHRvbS1sZWZ0Il09e2F4aXM6Q2kuVkVS''@;'; put 'put ''VElDQUwsc2lkZTp5by5BRlRFUixhbmNob3I6ZnIuU1RBUlQsY29udGVudDpmci5TVEFSVH0sd29bInJpZ2h0LXRvcCJdPXtheGlzOkNpLkhPUklaT05UQUwsc2lkZTp5by5BRlRFUixhbmNob3I6ZnIuQ0VOVEVSLGNvbnRlbnQ6ZnIuRU5EfSx3b1sicmlnaHQtYm90dG9tIl09e2F4aXM6Q2ku''@;'; put 'put ''SE9SSVpPTlRBTCxzaWRlOnlvLkFGVEVSLGFuY2hvcjpmci5TVEFSVCxjb250ZW50OmZyLlNUQVJUfSx3b1sibGVmdC10b3AiXT17YXhpczpDaS5IT1JJWk9OVEFMLHNpZGU6eW8uQkVGT1JFLGFuY2hvcjpmci5DRU5URVIsY29udGVudDpmci5FTkR9LHdvWyJsZWZ0LWJvdHRvbSJdPXtheGlz''@;'; put 'put ''OkNpLkhPUklaT05UQUwsc2lkZTp5by5CRUZPUkUsYW5jaG9yOmZyLlNUQVJULGNvbnRlbnQ6ZnIuU1RBUlR9O2xldCBoRz0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUw''@;'; put 'put ''Mjc1aW5qPWZuKHtpbXBvcnRzOltbR24sRXIscWhdXX0pLGx9KSgpLGNEPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkKXt0aGlzLmVsPWEsdGhpcy5yZW5kZXJlcj1kLHRoaXMuYnV0dG9uU3RhdGU9VGksdGhpcy5zdGF0ZT1UaS5ERUZBVUxULHRoaXMuY2xyTG9hZGluZ0NoYW5nZT1u''@;'; put 'put ''ZXcgSHQoITEpfWxvYWRpbmdTdGF0ZUNoYW5nZShhKXtpZihhIT09dGhpcy5zdGF0ZSl7c3dpdGNoKHRoaXMuc3RhdGU9YSxhKXtjYXNlIFRpLkRFRkFVTFQ6dGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIndpZHRoIiksdGhpcy5yZW5kZXJlci5yZW1v''@;'; put 'put ''dmVTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsInRyYW5zZm9ybSIpLHRoaXMuZGlzYWJsZWR8fHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwiZGlzYWJsZWQiKTticmVhaztjYXNlIFRpLkxPQURJTkc6dGhpcy5zZXRFeHBsaWNpdEJ1dHRv''@;'; put 'put ''bldpZHRoKCksdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsInRyYW5zZm9ybSIsInRyYW5zbGF0ZXooMCkiKSx0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsImRpc2FibGVkIiwiIik7YnJlYWs7Y2FzZSBUaS5TVUND''@;'; put 'put ''RVNTOnRoaXMuc2V0RXhwbGljaXRCdXR0b25XaWR0aCgpO2JyZWFrO2Nhc2UgVGkuRVJST1I6dGhpcy5sb2FkaW5nU3RhdGVDaGFuZ2UoVGkuREVGQVVMVCl9dGhpcy5jbHJMb2FkaW5nQ2hhbmdlLmVtaXQoYSl9fXNldEV4cGxpY2l0QnV0dG9uV2lkdGgoKXtpZih0aGlzLmVsLm5hdGl2ZUVs''@;'; put 'put ''ZW1lbnQmJnRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3Qpe2NvbnN0IGE9dGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQ9TWF0aC5tYXgoNDIsYS53aWR0aCk7dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2''@;'; put 'put ''ZUVsZW1lbnQsIndpZHRoIixgJHtkfXB4YCl9fX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShobiksbWUoV24pKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6W1siYnV0dG9uIiwiY2xyTG9hZGluZyIsIiJdXSxob3N0VmFyczox''@;'; put 'put ''LGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezImYSYmanQoImRpc2FibGVkIixkLmRpc2FibGVkPyIiOm51bGwpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCJ9LG91dHB1dHM6e2NsckxvYWRpbmdDaGFuZ2U6ImNsckxvYWRpbmdDaGFuZ2UifSxmZWF0dXJlczpbZG4oW3twcm92aWRl''@;'; put 'put ''Ok5oLHVzZUV4aXN0aW5nOmx9XSldLGF0dHJzOlhILG5nQ29udGVudFNlbGVjdG9yczpQbixkZWNsczo0LHZhcnM6NCxjb25zdHM6W1szLCJuZ1N3aXRjaCJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbMSwic3Bpbm5lciIsInNwaW5uZXItaW5saW5lIl0sWzEsInNwaW5uZXIiLCJzcGlubmVyLWlu''@;'; put 'put ''bGluZSIsInNwaW5uZXItY2hlY2siXV0sdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih0bigpLHhyKDAsMCksY3QoMSxRSCwyLDEsInNwYW4iLDEpLGN0KDIsJEgsMiwxLCJzcGFuIiwxKSxjdCgzLGVWLDIsMSwic3BhbiIsMSksQXIoKSksMiZhJiYoQmUoIm5nU3dpdGNoIixkLnN0YXRl''@;'; put 'put ''KSxUZSgxKSxCZSgibmdTd2l0Y2hDYXNlIixkLmJ1dHRvblN0YXRlLkxPQURJTkcpLFRlKDEpLEJlKCJuZ1N3aXRjaENhc2UiLGQuYnV0dG9uU3RhdGUuU1VDQ0VTUyksVGUoMSksQmUoIm5nU3dpdGNoQ2FzZSIsZC5idXR0b25TdGF0ZS5ERUZBVUxUKSl9LGRlcGVuZGVuY2llczpbb2csdjZd''@;'; put 'put ''LGVuY2Fwc3VsYXRpb246MixkYXRhOnthbmltYXRpb246W0ZvKCJkZWZhdWx0QnV0dG9uIixbcGkoIjplbnRlciIsW2lyKHtvcGFjaXR5OjB9KSxFaSgiMjAwbXMgMTAwbXMgZWFzZS1pbiIsaXIoe29wYWNpdHk6MX0pKV0pLHBpKCI6bGVhdmUiLFtpcih7b3BhY2l0eTowfSldKV0pLEZvKCJz''@;'; put 'put ''cGlubmVyIixbcGkoIjplbnRlciIsW2lyKHtvcGFjaXR5OjB9KSxFaSgiMjAwbXMgMTAwbXMgZWFzZS1pbiIsaXIoe29wYWNpdHk6MX0pKV0pLHBpKCI6bGVhdmUiLFtpcih7b3BhY2l0eToxfSksRWkoIjEwMG1zIGVhc2Utb3V0Iixpcih7b3BhY2l0eTowfSkpXSldKSxGbygidmFsaWRhdGVk''@;'; put 'put ''IixbcGkoIjplbnRlciIsW0VpKCI2MDBtcyIsS3ooW2lyKHt0cmFuc2Zvcm06InNjYWxlKDAsMCkiLG9mZnNldDowfSksaXIoe29wYWNpdHk6MSxvZmZzZXQ6LjJ9KSxpcih7dHJhbnNmb3JtOiJzY2FsZSgxLjIsMS4yKSIsb2Zmc2V0Oi40fSksaXIoe3RyYW5zZm9ybToic2NhbGUoLjksLjkp''@;'; put 'put ''IixvZmZzZXQ6LjZ9KSxpcih7dHJhbnNmb3JtOiJzY2FsZSgxLDEpIixvZmZzZXQ6MX0pXSkpXSkscGkoIjpsZWF2ZSIsW2lyKHtvcGFjaXR5OjF9KSxFaSgiMTAwbXMgZWFzZS1vdXQiLGlyKHtvcGFjaXR5OjB9KSldKV0pXX19KSxsfSkoKSxwRz0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5c''@;'; put 'put ''dTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dXX0pLGx9KSgpLGdHPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhSTyl9fXJldHVybiBsLlx1MDI3''@;'; put 'put ''NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W3BHLGhHXX0pLGx9KSgpLG1HPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwp''@;'; put 'put ''fSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJuZy1jb21wb25lbnQiXV0sZGVjbHM6MCx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXt9LGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpLGwwPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihh''@;'; put 'put ''KXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe30pLGx9KSgpLGJHPTAsZWE9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2lkPSJjbHItZm9ybS1jb250cm9sLSIrICsrYkcsdGhpcy5faWRDaGFuZ2U9bmV3IE5yKHRo''@;'; put 'put ''aXMuX2lkKX1nZXQgaWQoKXtyZXR1cm4gdGhpcy5faWR9c2V0IGlkKGEpe3RoaXMuX2lkPWEsdGhpcy5faWRDaGFuZ2UubmV4dChhKX1nZXQgaWRDaGFuZ2UoKXtyZXR1cm4gdGhpcy5faWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1''@;'; put 'put ''cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpLHZHPTAsR2g9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2lkPSJjbHItZm9ybS1jb250YWluZXItIisgKyt2Ryx0aGlzLl9pZENoYW5nZT1uZXcgTnIodGhp''@;'; put 'put ''cy5faWQpfWdldCBpZCgpe3JldHVybiB0aGlzLl9pZH1zZXQgaWQoYSl7dGhpcy5faWQ9YSx0aGlzLl9pZENoYW5nZS5uZXh0KGEpfWdldCBpZENoYW5nZSgpe3JldHVybiB0aGlzLl9pZENoYW5nZS5hc09ic2VydmFibGUoKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVy''@;'; put 'put ''biBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7bGV0IHQxPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkKXt0aGlzLmNvbnRyb2xJZFNlcnZpY2U9YSx0aGlzLmNvbnRhaW5lcklkU2VydmljZT1kLHRoaXMuY29udHJv''@;'; put 'put ''bElkU3VmZml4PSJhYnN0cmFjdCJ9Z2V0IGlkKCl7cmV0dXJuIHRoaXMuY29udGFpbmVySWRTZXJ2aWNlP2Ake3RoaXMuY29udGFpbmVySWRTZXJ2aWNlLmlkfS0ke3RoaXMuY29udHJvbElkU3VmZml4fWA6dGhpcy5jb250cm9sSWRTZXJ2aWNlP2Ake3RoaXMuY29udHJvbElkU2VydmljZS5p''@;'; put 'put ''ZH0tJHt0aGlzLmNvbnRyb2xJZFN1ZmZpeH1gOm51bGx9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKGVhLDgpLG1lKEdoLDgpKX0sbC5cdTAyNzVkaXI9VHQoe3R5cGU6bH0pLGx9KSgpLF9HPSgoKT0+e2NsYXNzIGwgZXh0ZW5kcyB0MXtjb25z''@;'; put 'put ''dHJ1Y3RvcihhLGQpe3N1cGVyKGEsZCksdGhpcy5jb250cm9sSWRTZXJ2aWNlPWEsdGhpcy5jb250YWluZXJJZFNlcnZpY2U9ZCx0aGlzLmNvbnRyb2xJZFN1ZmZpeD0iZXJyb3IifX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShlYSw4KSxtZShH''@;'; put 'put ''aCw4KSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci1jb250cm9sLWVycm9yIl1dLGhvc3RWYXJzOjMsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MiZhJiYoanQoImlkIixkLmlkKSxWdCgiY2xyLXN1YnRleHQiLCEwKSl9LGZlYXR1cmVzOlt5bl0sbmdDb250''@;'; put 'put ''ZW50U2VsZWN0b3JzOlBuLGRlY2xzOjEsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYodG4oKSxMdCgwKSl9LGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpLHlHPSgoKT0+e2NsYXNzIGwgZXh0ZW5kcyB0MXtjb25zdHJ1Y3RvcihhLGQpe3N1cGVyKGEsZCksdGhpcy5jb250cm9s''@;'; put 'put ''SWRTZXJ2aWNlPWEsdGhpcy5jb250YWluZXJJZFNlcnZpY2U9ZCx0aGlzLmNvbnRyb2xJZFN1ZmZpeD0iaGVscGVyIn19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoZWEsOCksbWUoR2gsOCkpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVj''@;'; put 'put ''dG9yczpbWyJjbHItY29udHJvbC1oZWxwZXIiXV0saG9zdFZhcnM6Myxob3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsyJmEmJihqdCgiaWQiLGQuaWQpLFZ0KCJjbHItc3VidGV4dCIsITApKX0sZmVhdHVyZXM6W3luXSxuZ0NvbnRlbnRTZWxlY3RvcnM6UG4sZGVjbHM6MSx2YXJzOjAsdGVt''@;'; put 'put ''cGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih0bigpLEx0KDApKX0sZW5jYXBzdWxhdGlvbjoyfSksbH0pKCksbmM9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbnRyb2xDaGFuZ2VzPW5ldyBFLHRoaXMuX2hlbHBlcnM9bmV3IEV9Z2V0IGNvbnRyb2xDaGFuZ2VzKCl7cmV0''@;'; put 'put ''dXJuIHRoaXMuX2NvbnRyb2xDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpfXNldENvbnRyb2woYSl7dGhpcy5fY29udHJvbENoYW5nZXMubmV4dChhKX1nZXQgaGVscGVyc0NoYW5nZSgpe3JldHVybiB0aGlzLl9oZWxwZXJzLmFzT2JzZXJ2YWJsZSgpfXNldEhlbHBlcnMoYSl7dGhpcy5faGVscGVy''@;'; put 'put ''cy5uZXh0KGEpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKTt2YXIgVWk9KCgpPT4oZnVuY3Rpb24obCl7bC5OT05FPSJOT05FIixsLlZBTElEPSJWQUxJ''@;'; put 'put ''RCIsbC5JTlZBTElEPSJJTlZBTElEIn0oVWl8fChVaT17fSkpLFVpKSkoKTtsZXQgWmg9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt0aGlzLm5nQ29udHJvbFNlcnZpY2U9YSx0aGlzLnN1YnNjcmlwdGlvbnM9W10sdGhpcy5fc3RhdHVzQ2hhbmdlcz1uZXcgTnIoVWkuTk9ORSksdGhp''@;'; put 'put ''cy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5uZ0NvbnRyb2xTZXJ2aWNlLmNvbnRyb2xDaGFuZ2VzLnN1YnNjcmliZShkPT57ZCYmKHRoaXMuY29udHJvbD1kLHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKT0+e3RoaXMudHJp''@;'; put 'put ''Z2dlclN0YXR1c0NoYW5nZSgpfSkpKX0pKX1nZXQgc3RhdHVzQ2hhbmdlcygpe3JldHVybiB0aGlzLl9zdGF0dXNDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpfXRyaWdnZXJTdGF0dXNDaGFuZ2UoKXtpZih0aGlzLmNvbnRyb2wpe2NvbnN0IGE9VWlbdGhpcy5jb250cm9sLnN0YXR1c107dGhpcy5f''@;'; put 'put ''c3RhdHVzQ2hhbmdlcy5uZXh0KHRoaXMuY29udHJvbC50b3VjaGVkJiZbIlZBTElEIiwiSU5WQUxJRCJdLmluY2x1ZGVzKGEpP2E6VWkuTk9ORSl9fW5nT25EZXN0cm95KCl7dGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goYT0+YS51bnN1YnNjcmliZSgpKX19cmV0dXJuIGwuXHUwMjc1ZmFj''@;'; put 'put ''PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQobmMpKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKTt2YXIgeGE9KCgpPT4oZnVuY3Rpb24obCl7bC5WRVJUSUNBTD0idmVydGljYWwiLGwuSE9SSVpPTlRBTD0iaG9yaXpvbnRhbCIs''@;'; put 'put ''bC5DT01QQUNUPSJjb21wYWN0In0oeGF8fCh4YT17fSkpLHhhKSkoKTtsZXQgYzA9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMubWluTGFiZWxTaXplPTEsdGhpcy5tYXhMYWJlbFNpemU9MTIsdGhpcy5sYXlvdXQ9eGEuSE9SSVpPTlRBTCx0aGlzLmxheW91dFZhbHVlcz1PYmpl''@;'; put 'put ''Y3Qua2V5cyh4YSkubWFwKGE9PnhhW2FdKSx0aGlzLl9sYWJlbFNpemU9Mn1zZXQgbGFiZWxTaXplKGEpe3RoaXMubGFiZWxTaXplSXNWYWxpZChhKSYmKHRoaXMuX2xhYmVsU2l6ZT1hKX1nZXQgbGFiZWxTaXplKCl7cmV0dXJuIHRoaXMuX2xhYmVsU2l6ZX1pc1ZlcnRpY2FsKCl7cmV0dXJu''@;'; put 'put ''IHRoaXMubGF5b3V0PT09eGEuVkVSVElDQUx9aXNIb3Jpem9udGFsKCl7cmV0dXJuIHRoaXMubGF5b3V0PT09eGEuSE9SSVpPTlRBTH1pc0NvbXBhY3QoKXtyZXR1cm4gdGhpcy5sYXlvdXQ9PT14YS5DT01QQUNUfWdldCBsYXlvdXRDbGFzcygpe3JldHVybmBjbHItZm9ybS0ke3RoaXMubGF5''@;'; put 'put ''b3V0fWB9aXNWYWxpZChhKXtyZXR1cm4gdGhpcy5sYXlvdXRWYWx1ZXMuaW5kZXhPZihhKT4tMX1sYWJlbFNpemVJc1ZhbGlkKGEpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGEpJiZhPj10aGlzLm1pbkxhYmVsU2l6ZSYmYTw9dGhpcy5tYXhMYWJlbFNpemV9fXJldHVybiBsLlx1MDI3NWZh''@;'; put 'put ''Yz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpLCRvPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdix4KXt0aGlzLmNvbnRyb2xJZFNlcnZpY2U9YSx0aGlzLmxheW91dFNlcnZp''@;'; put 'put ''Y2U9ZCx0aGlzLm5nQ29udHJvbFNlcnZpY2U9Zix0aGlzLnJlbmRlcmVyPXYsdGhpcy5lbD14LHRoaXMuc3Vic2NyaXB0aW9ucz1bXSx0aGlzLmVuYWJsZUdyaWQ9ITB9Z2V0IGxhYmVsVGV4dCgpe3JldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQmJnRoaXMuZWwubmF0aXZlRWxlbWVudC50''@;'; put 'put ''ZXh0Q29udGVudH1uZ09uSW5pdCgpeyh0aGlzLmNvbnRyb2xJZFNlcnZpY2V8fHRoaXMubmdDb250cm9sU2VydmljZSkmJnRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCJjbHItY29udHJvbC1sYWJlbCIpLHRoaXMuZW5hYmxlR3JpZCYmdGhpcy5sYXlvdXRT''@;'; put 'put ''ZXJ2aWNlJiYhdGhpcy5sYXlvdXRTZXJ2aWNlLmlzVmVydGljYWwoKSYmdGhpcy5lbC5uYXRpdmVFbGVtZW50JiZ0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLmluZGV4T2YoImNsci1jb2wiKTwwJiYodGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQs''@;'; put 'put ''ImNsci1jb2wtMTIiKSx0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCxgY2xyLWNvbC1tZC0ke3RoaXMubGF5b3V0U2VydmljZS5sYWJlbFNpemV9YCkpLHRoaXMuY29udHJvbElkU2VydmljZSYmIXRoaXMuZm9yQXR0ciYmdGhpcy5zdWJzY3JpcHRpb25zLnB1''@;'; put 'put ''c2godGhpcy5jb250cm9sSWRTZXJ2aWNlLmlkQ2hhbmdlLnN1YnNjcmliZShhPT50aGlzLmZvckF0dHI9YSkpfWRpc2FibGVHcmlkKCl7dGhpcy5lbmFibGVHcmlkPSExfW5nT25EZXN0cm95KCl7dGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goYT0+YS51bnN1YnNjcmliZSgpKX19cmV0dXJu''@;'; put 'put ''IGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoZWEsOCksbWUoYzAsOCksbWUobmMsOCksbWUoV24pLG1lKGhuKSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbImxhYmVsIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEs''@;'; put 'put ''ZCl7MiZhJiZqdCgiZm9yIixkLmZvckF0dHIpfSxpbnB1dHM6e2ZvckF0dHI6WyJmb3IiLCJmb3JBdHRyIl19fSksbH0pKCksd0c9KCgpPT57Y2xhc3MgbCBleHRlbmRzIHQxe2NvbnN0cnVjdG9yKGEsZCl7c3VwZXIoYSxkKSx0aGlzLmNvbnRyb2xJZFNlcnZpY2U9YSx0aGlzLmNvbnRhaW5l''@;'; put 'put ''cklkU2VydmljZT1kLHRoaXMuY29udHJvbElkU3VmZml4PSJzdWNjZXNzIn19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoZWEsOCksbWUoR2gsOCkpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItY29udHJvbC1zdWNj''@;'; put 'put ''ZXNzIl1dLGhvc3RWYXJzOjMsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MiZhJiYoanQoImlkIixkLmlkKSxWdCgiY2xyLXN1YnRleHQiLCEwKSl9LGZlYXR1cmVzOlt5bl0sbmdDb250ZW50U2VsZWN0b3JzOlBuLGRlY2xzOjEsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZh''@;'; put 'put ''JiYodG4oKSxMdCgwKSl9LGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpLEpoPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhpcy5sYXlvdXRTZXJ2aWNlPWEsdGhpcy5jbGFzc05hbWU9IiJ9Y29udHJvbENsYXNzKGE9VWkuTk9ORSxkPSExLGY9IiIpe2NvbnN0IHY9W3RoaXMuY2xhc3NO''@;'; put 'put ''YW1lLGZdO3N3aXRjaChhKXtjYXNlIFVpLlZBTElEOnYucHVzaCgiY2xyLXN1Y2Nlc3MiKTticmVhaztjYXNlIFVpLklOVkFMSUQ6di5wdXNoKCJjbHItZXJyb3IiKX1yZXR1cm4gZCYmdGhpcy5sYXlvdXRTZXJ2aWNlJiYtMT09PXRoaXMuY2xhc3NOYW1lLmluZGV4T2YoImNsci1jb2wiKSYm''@;'; put 'put ''di5wdXNoKGBjbHItY29sLW1kLSR7dGhpcy5sYXlvdXRTZXJ2aWNlLm1heExhYmVsU2l6ZS10aGlzLmxheW91dFNlcnZpY2UubGFiZWxTaXplfSBjbHItY29sLTEyYCksdi5qb2luKCIgIikudHJpbSgpfWluaXRDb250cm9sQ2xhc3MoYSxkKXtkJiZkLmNsYXNzTmFtZSYmKHRoaXMuY2xhc3NO''@;'; put 'put ''YW1lPWQuY2xhc3NOYW1lLGQuY2xhc3NOYW1lLnNwbGl0KCIgIikuZm9yRWFjaCh2PT57di5zdGFydHNXaXRoKCJjbHItY29sIikmJmEucmVtb3ZlQ2xhc3MoZCx2KX0pKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkoRXQoYzAsOCkpfSxsLlx1MDI3''@;'; put 'put ''NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpLHVEPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdil7dGhpcy5pZkNvbnRyb2xTdGF0ZVNlcnZpY2U9YSx0aGlzLmxheW91dFNlcnZpY2U9ZCx0aGlzLmNvbnRyb2xDbGFzc1NlcnZpY2U9Zix0aGlz''@;'; put 'put ''Lm5nQ29udHJvbFNlcnZpY2U9dix0aGlzLnN1YnNjcmlwdGlvbnM9W10sdGhpcy5fZHluYW1pYz0hMSx0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmlmQ29udHJvbFN0YXRlU2VydmljZS5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSh4PT57dGhpcy5zdGF0ZT14LHRoaXMudXBkYXRlSGVs''@;'; put 'put ''cGVycygpfSkpLHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubmdDb250cm9sU2VydmljZS5jb250cm9sQ2hhbmdlcy5zdWJzY3JpYmUoeD0+e3RoaXMuY29udHJvbD14fSkpfWdldCBzaG93SGVscGVyKCl7cmV0dXJuISF0aGlzLmNvbnRyb2xIZWxwZXJDb21wb25lbnQmJighIXRoaXMu''@;'; put 'put ''Y29udHJvbEhlbHBlckNvbXBvbmVudCYmdGhpcy5zdGF0ZT09PVVpLk5PTkV8fCF0aGlzLmNvbnRyb2xTdWNjZXNzQ29tcG9uZW50JiZ0aGlzLnN0YXRlPT09VWkuVkFMSUR8fCF0aGlzLmNvbnRyb2xFcnJvckNvbXBvbmVudCYmdGhpcy5zdGF0ZT09PVVpLklOVkFMSUQpfWdldCBzaG93VmFs''@;'; put 'put ''aWQoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PVVpLlZBTElEJiYhIXRoaXMuY29udHJvbFN1Y2Nlc3NDb21wb25lbnR9Z2V0IHNob3dJbnZhbGlkKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT1VaS5JTlZBTElEJiYhIXRoaXMuY29udHJvbEVycm9yQ29tcG9uZW50fW5nQWZ0ZXJDb250ZW50SW5pdCgp''@;'; put 'put ''e3RoaXMudXBkYXRlSGVscGVycygpfW5nT25EZXN0cm95KCl7dGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goYT0+YS51bnN1YnNjcmliZSgpKX1jb250cm9sQ2xhc3MoKXtyZXR1cm4gdGhpcy5jb250cm9sQ2xhc3NTZXJ2aWNlLmNvbnRyb2xDbGFzcyh0aGlzLmNvbnRyb2xTdWNjZXNzQ29t''@;'; put 'put ''cG9uZW50fHx0aGlzLnN0YXRlIT09VWkuVkFMSUQ/dGhpcy5zdGF0ZTpVaS5OT05FLHRoaXMuYWRkR3JpZCgpKX1hZGRHcmlkKCl7cmV0dXJuIHRoaXMubGF5b3V0U2VydmljZSYmIXRoaXMubGF5b3V0U2VydmljZS5pc1ZlcnRpY2FsKCl9dXBkYXRlSGVscGVycygpe3RoaXMubmdDb250cm9s''@;'; put 'put ''U2VydmljZSYmdGhpcy5uZ0NvbnRyb2xTZXJ2aWNlLnNldEhlbHBlcnMoe3Nob3c6dGhpcy5zaG93SW52YWxpZHx8dGhpcy5zaG93SGVscGVyfHx0aGlzLnNob3dWYWxpZCxzaG93SW52YWxpZDp0aGlzLnNob3dJbnZhbGlkLHNob3dIZWxwZXI6dGhpcy5zaG93SGVscGVyLHNob3dWYWxpZDp0''@;'; put 'put ''aGlzLnNob3dWYWxpZH0pfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShaaCksbWUoYzAsOCksbWUoSmgpLG1lKG5jKSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24oYSxkLGYpe2lmKDEmYSYmKEhuKGYs''@;'; put 'put ''JG8sNSksSG4oZix3Ryw1KSxIbihmLF9HLDUpLEhuKGYseUcsNSkpLDImYSl7bGV0IHY7UXQodj0kdCgpKSYmKGQubGFiZWw9di5maXJzdCksUXQodj0kdCgpKSYmKGQuY29udHJvbFN1Y2Nlc3NDb21wb25lbnQ9di5maXJzdCksUXQodj0kdCgpKSYmKGQuY29udHJvbEVycm9yQ29tcG9uZW50''@;'; put 'put ''PXYuZmlyc3QpLFF0KHY9JHQoKSkmJihkLmNvbnRyb2xIZWxwZXJDb21wb25lbnQ9di5maXJzdCl9fX0pLGx9KSgpO2NsYXNzIHUwe2NvbnN0cnVjdG9yKGMsYSxkPTApe2lmKHRoaXMuaW5qZWN0b3I9YS5pbmplY3RvciwhdGhpcy5pbmplY3Rvci5nZXQoYyxudWxsKSl7Y29uc3QgZj10aGlz''@;'; put 'put ''LmluamVjdG9yLmdldCgkYSksdj10aGlzLmluamVjdG9yLmdldChobik7YS5jcmVhdGVDb21wb25lbnQoZi5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShtRykpO2NvbnN0IHg9Zi5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjKSxIPVtdO0hbZF09W3YubmF0aXZlRWxlbWVudF07Y29uc3QgSz1h''@;'; put 'put ''LmNyZWF0ZUNvbXBvbmVudCh4LHZvaWQgMCx2b2lkIDAsSCk7YS5yZW1vdmUoMCksSy5pbnN0YW5jZS5fZHluYW1pYz0hMCx0aGlzLmluamVjdG9yPUsuaW5qZWN0b3J9fWdldChjLGEpe3JldHVybiB0aGlzLmluamVjdG9yLmdldChjLGEpfX1sZXQga0c9KCgpPT57Y2xhc3MgbHtjb25zdHJ1''@;'; put 'put ''Y3Rvcigpe3RoaXMuX3RvdWNoZWQ9bmV3IEV9Z2V0IHRvdWNoZWRDaGFuZ2UoKXtyZXR1cm4gdGhpcy5fdG91Y2hlZC5hc09ic2VydmFibGUoKX1tYXJrQXNUb3VjaGVkKCl7dGhpcy5fdG91Y2hlZC5uZXh0KCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8''@;'; put 'put ''fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpLGQwPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdix4LEgpe3RoaXMudmNyPWEsdGhpcy53cmFwcGVyVHlwZT1kLHRoaXMubmdDb250cm9sPXYsdGhpcy5zdWJzY3JpcHRpb25z''@;'; put 'put ''PVtdLHRoaXMuaW5kZXg9MCx0aGlzLnJlbmRlcmVyPXgsdGhpcy5lbD1IO3RyeXt0aGlzLm5nQ29udHJvbFNlcnZpY2U9Zi5nZXQobmMpLHRoaXMuaWZDb250cm9sU3RhdGVTZXJ2aWNlPWYuZ2V0KFpoKSx0aGlzLmNvbnRyb2xDbGFzc1NlcnZpY2U9Zi5nZXQoSmgpLHRoaXMubWFya0NvbnRy''@;'; put 'put ''b2xTZXJ2aWNlPWYuZ2V0KGtHKX1jYXRjaChLKXt9dGhpcy5jb250cm9sQ2xhc3NTZXJ2aWNlJiZ0aGlzLmNvbnRyb2xDbGFzc1NlcnZpY2UuaW5pdENvbnRyb2xDbGFzcyh4LEgubmF0aXZlRWxlbWVudCksdGhpcy5tYXJrQ29udHJvbFNlcnZpY2UmJnRoaXMuc3Vic2NyaXB0aW9ucy5wdXNo''@;'; put 'put ''KHRoaXMubWFya0NvbnRyb2xTZXJ2aWNlLnRvdWNoZWRDaGFuZ2Uuc3Vic2NyaWJlKCgpPT57dGhpcy5tYXJrQXNUb3VjaGVkKCl9KSksdGhpcy5uZ0NvbnRyb2xTZXJ2aWNlJiZ0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLm5nQ29udHJvbFNlcnZpY2UuaGVscGVyc0NoYW5nZS5zdWJz''@;'; put 'put ''Y3JpYmUoSz0+e3RoaXMuc2V0QXJpYURlc2NyaWJlZEJ5KEspfSkpfWdldCBpZCgpe3JldHVybiB0aGlzLl9pZH1zZXQgaWQoYSl7dGhpcy5faWQ9YSx0aGlzLmNvbnRyb2xJZFNlcnZpY2UmJih0aGlzLmNvbnRyb2xJZFNlcnZpY2UuaWQ9YSl9dHJpZ2dlclZhbGlkYXRpb24oKXt0aGlzLmlm''@;'; put 'put ''Q29udHJvbFN0YXRlU2VydmljZSYmKHRoaXMubmdDb250cm9sJiYhdGhpcy5uZ0NvbnRyb2wudG91Y2hlZCYmdGhpcy5tYXJrQXNUb3VjaGVkKCksdGhpcy5pZkNvbnRyb2xTdGF0ZVNlcnZpY2UudHJpZ2dlclN0YXR1c0NoYW5nZSgpKX1tYXJrQXNUb3VjaGVkKCl7dGhpcy5uZ0NvbnRyb2wu''@;'; put 'put ''Y29udHJvbC5tYXJrQXNUb3VjaGVkKCksdGhpcy5uZ0NvbnRyb2wuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCl9Z2V0UHJvdmlkZXJGcm9tQ29udGFpbmVyKGEsZCl7dHJ5e3JldHVybiB0aGlzLl9jb250YWluZXJJbmplY3Rvci5nZXQoYSxkKX1jYXRjaChmKXtyZXR1cm4gZH19''@;'; put 'put ''bmdPbkluaXQoKXt0aGlzLl9jb250YWluZXJJbmplY3Rvcj1uZXcgdTAodGhpcy53cmFwcGVyVHlwZSx0aGlzLnZjcix0aGlzLmluZGV4KSx0aGlzLmNvbnRyb2xJZFNlcnZpY2U9dGhpcy5fY29udGFpbmVySW5qZWN0b3IuZ2V0KGVhKTt0cnl7dGhpcy5jb250YWluZXJJZFNlcnZpY2U9dGhp''@;'; put 'put ''cy5fY29udGFpbmVySW5qZWN0b3IuZ2V0KEdoKX1jYXRjaChhKXt9dGhpcy5faWQ/dGhpcy5jb250cm9sSWRTZXJ2aWNlLmlkPXRoaXMuX2lkOnRoaXMuX2lkPXRoaXMuY29udHJvbElkU2VydmljZS5pZCx0aGlzLm5nQ29udHJvbFNlcnZpY2UmJnRoaXMubmdDb250cm9sU2VydmljZS5zZXRD''@;'; put 'put ''b250cm9sKHRoaXMubmdDb250cm9sKX1uZ09uRGVzdHJveSgpe3RoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKGE9PmEudW5zdWJzY3JpYmUoKSl9c2V0QXJpYURlc2NyaWJlZEJ5KGEpe2lmKGEuc2hvdyl7Y29uc3QgZD10aGlzLmdldEFyaWFEZXNjcmliZWRCeUlkKGEpO2lmKG51bGwhPT1k''@;'; put 'put ''KXJldHVybiB2b2lkIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwiYXJpYS1kZXNjcmliZWRieSIsZCl9dGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJhcmlhLWRlc2NyaWJlZGJ5Iil9Z2V0QXJpYURl''@;'; put 'put ''c2NyaWJlZEJ5SWQoYSl7bGV0IGQ9ImhlbHBlciI7cmV0dXJuIGEuc2hvd0ludmFsaWQ/ZD0iZXJyb3IiOmEuc2hvd1ZhbGlkJiYoZD0ic3VjY2VzcyIpLHRoaXMuY29udGFpbmVySWRTZXJ2aWNlP3RoaXMuY29udGFpbmVySWRTZXJ2aWNlLmlkLmNvbmNhdCgiLSIsZCk6dGhpcy5jb250cm9s''@;'; put 'put ''SWRTZXJ2aWNlP3RoaXMuY29udHJvbElkU2VydmljZS5pZC5jb25jYXQoIi0iLGQpOm51bGx9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKHNyKSxtZSh0cCksbWUoVnIpLG1lKEVvKSxtZShXbiksbWUoaG4pKX0sbC5cdTAyNzVkaXI9VHQoe3R5''@;'; put 'put ''cGU6bCxob3N0VmFyczoxLGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezEmYSYmT3QoImJsdXIiLGZ1bmN0aW9uKCl7cmV0dXJuIGQudHJpZ2dlclZhbGlkYXRpb24oKX0pLDImYSYmVnMoImlkIixkLmlkKX0saW5wdXRzOntpZDoiaWQifX0pLGx9KSgpLGtpPSgoKT0+e2NsYXNzIGx7Y29u''@;'; put 'put ''c3RydWN0b3IoKXtNci5hZGRJY29ucyhMbyxJbyl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixFcl1dfSksbH0pKCk7Y29uc3QgbjE9bmV3IE9uKCJJ''@;'; put 'put ''U19UT0dHTEUiKSxTRz17cHJvdmlkZTpuMSx1c2VGYWN0b3J5OmZ1bmN0aW9uIGpHKCl7cmV0dXJuIG5ldyBOcighMSl9fTtsZXQgaDA9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt0aGlzLl9keW5hbWljPSExLHRoaXMudG9nZ2xlPSExLHRoaXMuc3Vic2NyaXB0aW9ucz1bXSx0aGlz''@;'; put 'put ''LnN1YnNjcmlwdGlvbnMucHVzaChhLnN1YnNjcmliZShkPT57dGhpcy50b2dnbGU9ZH0pKX1uZ09uSW5pdCgpe3RoaXMubGFiZWwmJnRoaXMubGFiZWwuZGlzYWJsZUdyaWQoKX1uZ09uRGVzdHJveSgpe3RoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKGE9PmEudW5zdWJzY3JpYmUoKSl9fXJl''@;'; put 'put ''dHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKG4xKSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci1jaGVja2JveC13cmFwcGVyIl0sWyJjbHItdG9nZ2xlLXdyYXBwZXIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24oYSxk''@;'; put 'put ''LGYpe2lmKDEmYSYmSG4oZiwkbyw3KSwyJmEpe2xldCB2O1F0KHY9JHQoKSkmJihkLmxhYmVsPXYuZmlyc3QpfX0saG9zdFZhcnM6NCxob3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsyJmEmJlZ0KCJjbHItY2hlY2tib3gtd3JhcHBlciIsIWQudG9nZ2xlKSgiY2xyLXRvZ2dsZS13cmFwcGVy''@;'; put 'put ''IixkLnRvZ2dsZSl9LGZlYXR1cmVzOltkbihbZWEsU0ddKV0sbmdDb250ZW50U2VsZWN0b3JzOnJWLGRlY2xzOjMsdmFyczoxLGNvbnN0czpbWzQsIm5nSWYiXV0sdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih0bihuViksTHQoMCksTHQoMSwxKSxjdCgyLHRWLDEsMCwibGFiZWwiLDAp''@;'; put 'put ''KSwyJmEmJihUZSgyKSxCZSgibmdJZiIsIWQubGFiZWwpKX0sZGVwZW5kZW5jaWVzOltlciwkb10sZW5jYXBzdWxhdGlvbjoyfSksbH0pKCkscjE9KCgpPT57Y2xhc3MgbCBleHRlbmRzIGQwe2NvbnN0cnVjdG9yKGEsZCxmLHYseCxIKXtzdXBlcihhLGgwLGQsZix2LHgpLHRoaXMudG9nZ2xl''@;'; put 'put ''PUh9bmdPbkluaXQoKXtzdXBlci5uZ09uSW5pdCgpO2NvbnN0IGE9dGhpcy5nZXRQcm92aWRlckZyb21Db250YWluZXIobjEsbnVsbCk7YSYmbnVsbCE9PXRoaXMudG9nZ2xlJiZhLm5leHQoITApfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShz''@;'; put 'put ''ciksbWUoVnIpLG1lKEVvLDEwKSxtZShXbiksbWUoaG4pLEVjKCJjbHJUb2dnbGUiKSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsImNsckNoZWNrYm94IiwiIl0sWyIiLCJjbHJUb2dnbGUiLCIiXV0sZmVhdHVyZXM6W3luXX0pLGx9KSgpLE9HPSgoKT0+e2NsYXNz''@;'; put 'put ''IGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhMbyxJbyl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixFcixraSxsMF0sa2ldfSksbH0pKCksS2g9''@;'; put 'put ''KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duXV19KSxsfSkoKSxQRz0wO2NvbnN0IFJ1PW5ldyBPbigiSUZfQUNUSVZFX0lEIiks''@;'; put 'put ''eEc9e3Byb3ZpZGU6UnUsdXNlRmFjdG9yeTpmdW5jdGlvbiBERygpe3JldHVybisrUEd9fTtsZXQgcmM9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2N1cnJlbnRDaGFuZ2U9bmV3IEV9Z2V0IGN1cnJlbnRDaGFuZ2UoKXtyZXR1cm4gdGhpcy5fY3VycmVudENoYW5nZS5hc09i''@;'; put 'put ''c2VydmFibGUoKX1zZXQgY3VycmVudChhKXt0aGlzLl9jdXJyZW50IT09YSYmKHRoaXMuX2N1cnJlbnQ9YSx0aGlzLl9jdXJyZW50Q2hhbmdlLm5leHQoYSkpfWdldCBjdXJyZW50KCl7cmV0dXJuIHRoaXMuX2N1cnJlbnR9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4g''@;'; put 'put ''bmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpLGREPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdil7dGhpcy5pZkFjdGl2ZVNlcnZpY2U9YSx0aGlzLmlkPWQsdGhpcy50ZW1wbGF0ZT1mLHRoaXMuY29udGFpbmVy''@;'; put 'put ''PXYsdGhpcy53YXNBY3RpdmU9ITEsdGhpcy5hY3RpdmVDaGFuZ2U9bmV3IEh0KCExKSx0aGlzLmNoZWNrQW5kVXBkYXRlVmlldyhhLmN1cnJlbnQpLHRoaXMuc3Vic2NyaXB0aW9uPXRoaXMuaWZBY3RpdmVTZXJ2aWNlLmN1cnJlbnRDaGFuZ2Uuc3Vic2NyaWJlKHg9Pnt0aGlzLmNoZWNrQW5k''@;'; put 'put ''VXBkYXRlVmlldyh4KX0pfWNoZWNrQW5kVXBkYXRlVmlldyhhKXtjb25zdCBkPWE9PT10aGlzLmlkO2QhPT10aGlzLndhc0FjdGl2ZSYmKHRoaXMudXBkYXRlVmlldyhkKSx0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KGQpLHRoaXMud2FzQWN0aXZlPWQpfXNldCBhY3RpdmUoYSl7YSYmKHRoaXMu''@;'; put 'put ''aWZBY3RpdmVTZXJ2aWNlLmN1cnJlbnQ9dGhpcy5pZCl9Z2V0IGFjdGl2ZSgpe3JldHVybiB0aGlzLmlmQWN0aXZlU2VydmljZS5jdXJyZW50PT09dGhpcy5pZH11cGRhdGVWaWV3KGEpe2E/dGhpcy5jb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGUpOnRoaXMuY29u''@;'; put 'put ''dGFpbmVyLmNsZWFyKCl9bmdPbkRlc3Ryb3koKXt0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShyYyksbWUoUnUpLG1lKEtyKSxtZShzcikpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNl''@;'; put 'put ''bGVjdG9yczpbWyIiLCJjbHJJZkFjdGl2ZSIsIiJdXSxpbnB1dHM6e2FjdGl2ZTpbImNscklmQWN0aXZlIiwiYWN0aXZlIl19LG91dHB1dHM6e2FjdGl2ZUNoYW5nZToiY2xySWZBY3RpdmVDaGFuZ2UifX0pLGx9KSgpLGhEPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYpe3RoaXMu''@;'; put 'put ''dG9nZ2xlU2VydmljZT1hLHRoaXMudGVtcGxhdGU9ZCx0aGlzLmNvbnRhaW5lcj1mLHRoaXMub3BlbkNoYW5nZT1uZXcgSHQoITEpLHRoaXMuc3Vic2NyaXB0aW9uPXRoaXMudG9nZ2xlU2VydmljZS5vcGVuQ2hhbmdlLnN1YnNjcmliZSh2PT57dGhpcy51cGRhdGVWaWV3KHYpLHRoaXMub3Bl''@;'; put 'put ''bkNoYW5nZS5lbWl0KHYpfSl9c2V0IG9wZW4oYSl7dGhpcy50b2dnbGVTZXJ2aWNlLm9wZW49YX1nZXQgb3Blbigpe3JldHVybiB0aGlzLnRvZ2dsZVNlcnZpY2Uub3Blbn11cGRhdGVWaWV3KGEpe2E/dGhpcy5jb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGUpOnRo''@;'; put 'put ''aXMuY29udGFpbmVyLmNsZWFyKCl9bmdPbkRlc3Ryb3koKXt0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShUciksbWUoS3IpLG1lKHNyKSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2Vs''@;'; put 'put ''ZWN0b3JzOltbIiIsImNscklmT3BlbiIsIiJdXSxpbnB1dHM6e29wZW46WyJjbHJJZk9wZW4iLCJvcGVuIl19LG91dHB1dHM6e29wZW5DaGFuZ2U6ImNscklmT3BlbkNoYW5nZSJ9fSksbH0pKCksdHM9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVy''@;'; put 'put ''biBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duXV19KSxsfSkoKTt2YXIgdGE9KCgpPT4oZnVuY3Rpb24obCl7bC5WRVJUSUNBTD0idmVydGljYWwiLGwuSE9SSVpPTlRBTD0iaG9yaXpvbnRhbCIsbC5CT1RIPSJib3RoIn0o''@;'; put 'put ''dGF8fCh0YT17fSkpLHRhKSkoKTtsZXQgZkQ9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQpe3RoaXMuZWxlbWVudFJlZj1hLHRoaXMucGxhdGZvcm1JZD1kfWdldCBuYXRpdmVFbGVtZW50KCl7cmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50fWZvY3VzKCl7d3IodGhp''@;'; put 'put ''cy5wbGF0Zm9ybUlkKSYmdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoaG4pLG1lKFhyKSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsImNscktleUZv''@;'; put 'put ''Y3VzSXRlbSIsIiJdXX0pLGx9KSgpLE51PSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhpcy5lbGVtZW50UmVmPWEsdGhpcy5kaXJlY3Rpb249dGEuVkVSVElDQUwsdGhpcy5mb2N1c09uTG9hZD0hMSx0aGlzLmZvY3VzQ2hhbmdlPW5ldyBIdCx0aGlzLl9jdXJyZW50PTAsdGhpcy5z''@;'; put 'put ''dWJzY3JpcHRpb25zPVtdfXNldCBmb2N1c2FibGVJdGVtcyhhKXtBcnJheS5pc0FycmF5KGEpJiZhLmxlbmd0aCYmKHRoaXMuX2ZvY3VzYWJsZUl0ZW1zPWEsdGhpcy5pbml0aWFsaXplRm9jdXMoKSl9Z2V0IGZvY3VzYWJsZUl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ZvY3VzYWJsZUl0ZW1zP3Ro''@;'; put 'put ''aXMuX2ZvY3VzYWJsZUl0ZW1zOnRoaXMuY2xyS2V5Rm9jdXNJdGVtcz90aGlzLmNscktleUZvY3VzSXRlbXMudG9BcnJheSgpOltdfWdldCBuYXRpdmVFbGVtZW50KCl7cmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50fWdldCBjdXJyZW50KCl7cmV0dXJuIHRoaXMuX2N1cnJl''@;'; put 'put ''bnR9c2V0IGN1cnJlbnQoYSl7dGhpcy5fY3VycmVudCE9PWEmJih0aGlzLl9jdXJyZW50PWEpfWdldCBjdXJyZW50SXRlbSgpe3JldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zW3RoaXMuX2N1cnJlbnRdfWdldCBjdXJyZW50SXRlbUVsZW1lbnQoKXtyZXR1cm4gdGhpcy5jdXJyZW50SXRlbS5u''@;'; put 'put ''YXRpdmVFbGVtZW50P3RoaXMuY3VycmVudEl0ZW0ubmF0aXZlRWxlbWVudDp0aGlzLmN1cnJlbnRJdGVtfWZvY3VzQ3VycmVudCgpe3RoaXMuY3VycmVudEl0ZW0uZm9jdXMoKSx0aGlzLmZvY3VzQ2hhbmdlLm5leHQodGhpcy5fY3VycmVudCl9bW92ZVRvKGEpe3RoaXMucG9zaXRpb25JblJh''@;'; put 'put ''bmdlKGEpJiYodGhpcy5jdXJyZW50PWEsdGhpcy5mb2N1c0N1cnJlbnQoKSl9bmdBZnRlckNvbnRlbnRJbml0KCl7dGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5saXN0ZW5Gb3JJdGVtVXBkYXRlcygpKSx0aGlzLmluaXRpYWxpemVGb2N1cygpfW5nT25EZXN0cm95KCl7dGhpcy5zdWJz''@;'; put 'put ''Y3JpcHRpb25zLmZvckVhY2goYT0+YS51bnN1YnNjcmliZSgpKX1oYW5kbGVLZXlib2FyZEV2ZW50KGEpe2lmKHRoaXMuY3VycmVudEl0ZW1FbGVtZW50IT09YS50YXJnZXQpe2NvbnN0IGQ9dGhpcy5nZXRJdGVtUG9zaXRpb24oYS50YXJnZXQpO3RoaXMucG9zaXRpb25JblJhbmdlKGQpJiYo''@;'; put 'put ''dGhpcy5jdXJyZW50PWQpfXRoaXMucHJldktleVByZXNzZWQoYSkmJnRoaXMuY3VycmVudEZvY3VzSXNOb3RGaXJzdEl0ZW0oKT90aGlzLm1vdmVUbyh0aGlzLmN1cnJlbnQtMSk6dGhpcy5uZXh0S2V5UHJlc3NlZChhKSYmdGhpcy5jdXJyZW50Rm9jdXNJc05vdExhc3RJdGVtKCk/dGhpcy5t''@;'; put 'put ''b3ZlVG8odGhpcy5jdXJyZW50KzEpOmEuY29kZT09PVluLkhvbWU/dGhpcy5tb3ZlVG8oMCk6YS5jb2RlPT09WW4uRW5kJiZ0aGlzLm1vdmVUbyh0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aC0xKSwkeShhKX1zZXRDbGlja2VkSXRlbUN1cnJlbnQoYSl7Y29uc3QgZD10aGlzLmdldEl0ZW1Q''@;'; put 'put ''b3NpdGlvbihhLnRhcmdldCk7ZD4tMSYmdGhpcy5tb3ZlVG8oZCl9Z2V0SXRlbVBvc2l0aW9uKGEpe3JldHVybiB0aGlzLl9mb2N1c2FibGVJdGVtcz90aGlzLmZvY3VzYWJsZUl0ZW1zLmluZGV4T2YoYSk6dGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoZD0+ZC5uYXRpdmVFbGVtZW50KS5pbmRl''@;'; put 'put ''eE9mKGEpfXBvc2l0aW9uSW5SYW5nZShhKXtyZXR1cm4gYT49MCYmYTx0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aH1jdXJyZW50Rm9jdXNJc05vdEZpcnN0SXRlbSgpe3JldHVybiB0aGlzLl9jdXJyZW50LTE+PTB9Y3VycmVudEZvY3VzSXNOb3RMYXN0SXRlbSgpe3JldHVybiB0aGlzLl9j''@;'; put 'put ''dXJyZW50KzE8dGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGh9aW5pdGlhbGl6ZUZvY3VzKCl7dGhpcy5mb2N1c2FibGVJdGVtcyYmdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGgmJih0aGlzLl9jdXJyZW50Pj10aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCYmKHRoaXMuX2N1cnJlbnQ9dGhp''@;'; put 'put ''cy5mb2N1c2FibGVJdGVtcy5sZW5ndGgtMSksdGhpcy5mb2N1c09uTG9hZCYmKHRoaXMuY3VycmVudEl0ZW0uZm9jdXMoKSx0aGlzLmZvY3VzQ2hhbmdlLm5leHQoKSkpfWxpc3RlbkZvckl0ZW1VcGRhdGVzKCl7cmV0dXJuIHRoaXMuY2xyS2V5Rm9jdXNJdGVtcy5jaGFuZ2VzLnN1YnNjcmli''@;'; put 'put ''ZSgoKT0+e3RoaXMuaW5pdGlhbGl6ZUZvY3VzKCl9KX1uZXh0S2V5UHJlc3NlZChhKXtjb25zdCBkPUhoKGEua2V5KTtzd2l0Y2godGhpcy5kaXJlY3Rpb24pe2Nhc2UgdGEuVkVSVElDQUw6cmV0dXJuIGQ9PT1Zbi5BcnJvd0Rvd247Y2FzZSB0YS5IT1JJWk9OVEFMOnJldHVybiBkPT09WW4u''@;'; put 'put ''QXJyb3dSaWdodDtjYXNlIHRhLkJPVEg6cmV0dXJuIGQ9PT1Zbi5BcnJvd0Rvd258fGQ9PT1Zbi5BcnJvd1JpZ2h0O2RlZmF1bHQ6cmV0dXJuITF9fXByZXZLZXlQcmVzc2VkKGEpe2NvbnN0IGQ9SGgoYS5rZXkpO3N3aXRjaCh0aGlzLmRpcmVjdGlvbil7Y2FzZSB0YS5WRVJUSUNBTDpyZXR1''@;'; put 'put ''cm4gZD09PVluLkFycm93VXA7Y2FzZSB0YS5IT1JJWk9OVEFMOnJldHVybiBkPT09WW4uQXJyb3dMZWZ0O2Nhc2UgdGEuQk9USDpyZXR1cm4gZD09PVluLkFycm93VXB8fGQ9PT1Zbi5BcnJvd0xlZnQ7ZGVmYXVsdDpyZXR1cm4hMX19fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXty''@;'; put 'put ''ZXR1cm4gbmV3KGF8fGwpKG1lKGhuKSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsImNscktleUZvY3VzIiwiIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uKGEsZCxmKXtpZigxJmEmJkhuKGYsZkQsNSksMiZhKXtsZXQgdjtRdCh2PSR0KCkpJiYoZC5jbHJLZXlG''@;'; put 'put ''b2N1c0l0ZW1zPXYpfX0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZPdCgia2V5ZG93biIsZnVuY3Rpb24odil7cmV0dXJuIGQuaGFuZGxlS2V5Ym9hcmRFdmVudCh2KX0pKCJjbGljayIsZnVuY3Rpb24odil7cmV0dXJuIGQuc2V0Q2xpY2tlZEl0ZW1DdXJyZW50KHYpfSl9LGlu''@;'; put 'put ''cHV0czp7ZGlyZWN0aW9uOlsiY2xyRGlyZWN0aW9uIiwiZGlyZWN0aW9uIl0sZm9jdXNPbkxvYWQ6WyJjbHJGb2N1c09uTG9hZCIsImZvY3VzT25Mb2FkIl0sZm9jdXNhYmxlSXRlbXM6WyJjbHJLZXlGb2N1cyIsImZvY3VzYWJsZUl0ZW1zIl19LG91dHB1dHM6e2ZvY3VzQ2hhbmdlOiJjbHJG''@;'; put 'put ''b2N1c0NoYW5nZSJ9LGF0dHJzOmlWLG5nQ29udGVudFNlbGVjdG9yczpQbixkZWNsczoxLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHRuKCksTHQoMCkpfSxlbmNhcHN1bGF0aW9uOjJ9KSxsfSkoKSxvMT0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVu''@;'; put 'put ''Y3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dXX0pLGx9KSgpO2NvbnN0IFl1PW5ldyBPbigiUE9QT1ZFUl9IT1NUX0FOQ0hPUiIpO2xldCBzMT0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAy''@;'; put 'put ''NzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKTt2YXIgb289KCgpPT4oZnVuY3Rpb24obCl7bC5VUD0idXAiLGwuRE9XTj0iZG93biIsbC5MRUZUPSJsZWZ0IixsLlJJR0hUPSJyaWdo''@;'; put 'put ''dCJ9KG9vfHwob289e30pKSxvbykpKCk7bGV0IHAwPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhpcy5yZW5kZXJlcj1hLHRoaXMuX3VubGlzdGVuRnVuY3M9W119Z2V0IGN1cnJlbnQoKXtyZXR1cm4gdGhpcy5fY3VycmVudH1yZXNldChhKXt0aGlzLl9jdXJyZW50PWF9bGlzdGVu''@;'; put 'put ''VG9BcnJvd0tleXMoYSl7dGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGEsImtleWRvd24uYXJyb3d1cCIsKCk9PiF0aGlzLm1vdmUob28uVVApKSksdGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGEsImtleWRvd24uYXJy''@;'; put 'put ''b3dkb3duIiwoKT0+IXRoaXMubW92ZShvby5ET1dOKSkpLHRoaXMuX3VubGlzdGVuRnVuY3MucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbihhLCJrZXlkb3duLmFycm93bGVmdCIsKCk9PiF0aGlzLm1vdmUob28uTEVGVCkpKSx0aGlzLl91bmxpc3RlbkZ1bmNzLnB1c2godGhpcy5yZW5kZXJl''@;'; put 'put ''ci5saXN0ZW4oYSwia2V5ZG93bi5hcnJvd3JpZ2h0IiwoKT0+IXRoaXMubW92ZShvby5SSUdIVCkpKX1yZWdpc3RlckNvbnRhaW5lcihhKXt0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShhLCJ0YWJpbmRleCIsIjAiKSx0aGlzLmxpc3RlblRvQXJyb3dLZXlzKGEpLHRoaXMuX3VubGlzdGVu''@;'; put 'put ''RnVuY3MucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbihhLCJrZXlkb3duLnNwYWNlIiwoKT0+IXRoaXMuYWN0aXZhdGVDdXJyZW50KCkpKSx0aGlzLl91bmxpc3RlbkZ1bmNzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oYSwia2V5ZG93bi5lbnRlciIsKCk9PiF0aGlzLmFjdGl2YXRlQ3Vy''@;'; put 'put ''cmVudCgpKSl9bW92ZVRvKGEpe3ZvaWQgMCE9PWEmJih0aGlzLmN1cnJlbnQmJnRoaXMuY3VycmVudC5ibHVyKCksYS5mb2N1cygpLHRoaXMuX2N1cnJlbnQ9YSl9bW92ZShhKXtsZXQgZD0hMTtpZih0aGlzLmN1cnJlbnQpe2NvbnN0IGY9dGhpcy5jdXJyZW50W2FdO2YmJihmdW5jdGlvbiBW''@;'; put 'put ''TyhsKXtyZXR1cm4hIWwmJihsIGluc3RhbmNlb2YgYnx8Q2UobC5saWZ0KSYmQ2UobC5zdWJzY3JpYmUpKX0oZik/ZjpBbihmKSkuc3Vic2NyaWJlKHg9Pnt4JiYodGhpcy5tb3ZlVG8oeCksZD0hMCl9KX1yZXR1cm4gZH1hY3RpdmF0ZUN1cnJlbnQoKXtyZXR1cm4hKCF0aGlzLmN1cnJlbnR8''@;'; put 'put ''fCF0aGlzLmN1cnJlbnQuYWN0aXZhdGV8fCh0aGlzLmN1cnJlbnQuYWN0aXZhdGUoKSwwKSl9ZGV0YWNoTGlzdGVuZXJzKCl7dGhpcy5fdW5saXN0ZW5GdW5jcy5mb3JFYWNoKGE9PmEoKSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFduKSl9''@;'; put 'put ''LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7Y29uc3QgVEc9e3Byb3ZpZGU6cDAsdXNlRmFjdG9yeTpmdW5jdGlvbiBFRyhsLGMpe3JldHVybiBsfHxuZXcgcDAoYyl9LGRlcHM6W1tuZXcgSmEsbmV3IEthLHAwXSxXbl19O2NsYXNzIGcwe31m''@;'; put 'put ''dW5jdGlvbiBwRChsKXtyZXR1cm5bTGksbCx7cHJvdmlkZTpnMCx1c2VFeGlzdGluZzpsfV19Y2xhc3MgRkcgZXh0ZW5kcyBjbGFzcyBJR3tjb250YWluc0l0ZW0oYyl7cmV0dXJuIHRoaXMubW9kZWw9PT1jfXNlbGVjdChjKXt0aGlzLm1vZGVsPWN9dW5zZWxlY3QoYyl7dGhpcy5jb250YWlu''@;'; put 'put ''c0l0ZW0oYykmJih0aGlzLm1vZGVsPW51bGwpfWlzRW1wdHkoKXtyZXR1cm4hdGhpcy5tb2RlbH1wb3AoKXtjb25zdCBjPXRoaXMubW9kZWw7cmV0dXJuIHRoaXMubW9kZWw9bnVsbCxjfXRvU3RyaW5nKGMpe3JldHVybiB0aGlzLm1vZGVsP2MmJnRoaXMubW9kZWxbY10/dGhpcy5tb2RlbFtj''@;'; put 'put ''XTp0aGlzLm1vZGVsLnRvU3RyaW5nKCk6IiJ9fXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZm9jdXNDaGFuZ2VkPW5ldyBOcihudWxsKX1nZXQgZm9jdXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2ZvY3VzQ2hhbmdlZC5hc09ic2VydmFibGUoKX1zZWxlY3QoYyl7''@;'; put 'put ''dGhpcy5tb2RlbCE9PWMmJih0aGlzLm1vZGVsPWMsdGhpcy5fZm9jdXNDaGFuZ2VkLm5leHQoYykpfX1sZXQgUkc9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMubG9hZGluZz0hMSx0aGlzLl9jdXJyZW50SW5wdXQ9IiIsdGhpcy5faW5wdXRDaGFuZ2VkPW5ldyBOcigiIiksdGhp''@;'; put 'put ''cy5pbnB1dENoYW5nZWQ9dGhpcy5faW5wdXRDaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpLHRoaXMuX3NlbGVjdGlvbkNoYW5nZWQ9bmV3IER5KDEpfWdldCBjdXJyZW50SW5wdXQoKXtyZXR1cm4gdGhpcy5fY3VycmVudElucHV0fXNldCBjdXJyZW50SW5wdXQoYSl7IiI9PT1hJiYhdGhpcy5tdWx0''@;'; put 'put ''aXNlbGVjdGFibGUmJnRoaXMuc2V0U2VsZWN0aW9uVmFsdWUobnVsbCksdGhpcy5fY3VycmVudElucHV0PWEsdGhpcy5faW5wdXRDaGFuZ2VkLm5leHQoYSl9Z2V0IHNlbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0aW9uQ2hhbmdlZC5hc09ic2VydmFibGUoKX1zZWxlY3Qo''@;'; put 'put ''YSl7bnVsbD09YXx8dGhpcy5zZWxlY3Rpb25Nb2RlbC5jb250YWluc0l0ZW0oYSl8fCh0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdChhKSx0aGlzLl9zZWxlY3Rpb25DaGFuZ2VkLm5leHQodGhpcy5zZWxlY3Rpb25Nb2RlbCkpfXRvZ2dsZShhKXtudWxsIT1hJiYodGhpcy5zZWxlY3Rpb25N''@;'; put 'put ''b2RlbC5jb250YWluc0l0ZW0oYSk/dGhpcy5zZWxlY3Rpb25Nb2RlbC51bnNlbGVjdChhKTp0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdChhKSx0aGlzLl9zZWxlY3Rpb25DaGFuZ2VkLm5leHQodGhpcy5zZWxlY3Rpb25Nb2RlbCkpfXVuc2VsZWN0KGEpe251bGw9PWF8fCF0aGlzLnNlbGVj''@;'; put 'put ''dGlvbk1vZGVsLmNvbnRhaW5zSXRlbShhKXx8KHRoaXMuc2VsZWN0aW9uTW9kZWwudW5zZWxlY3QoYSksdGhpcy5fc2VsZWN0aW9uQ2hhbmdlZC5uZXh0KHRoaXMuc2VsZWN0aW9uTW9kZWwpKX1nZXQgbXVsdGlzZWxlY3RhYmxlKCl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwgaW5zdGFu''@;'; put 'put ''Y2VvZiBjbGFzcyBMR3tjb250YWluc0l0ZW0oYyl7cmV0dXJuISF0aGlzLm1vZGVsJiZ0aGlzLm1vZGVsLmluY2x1ZGVzKGMpfXNlbGVjdChjKXt0aGlzLmFkZEl0ZW0oYyl9dW5zZWxlY3QoYyl7dGhpcy5yZW1vdmVJdGVtKGMpfWlzRW1wdHkoKXtyZXR1cm4hKHRoaXMubW9kZWwmJnRoaXMu''@;'; put 'put ''bW9kZWwubGVuZ3RoPjApfXBvcCgpe2xldCBjO3JldHVybiB0aGlzLm1vZGVsJiZ0aGlzLm1vZGVsLmxlbmd0aD4wJiYoYz10aGlzLm1vZGVsW3RoaXMubW9kZWwubGVuZ3RoLTFdLHRoaXMucmVtb3ZlSXRlbShjKSksY310b1N0cmluZyhjLGE9LTEpe2xldCBkPSIiO3JldHVybiB0aGlzLm1v''@;'; put 'put ''ZGVsJiYoYT4tMT90aGlzLm1vZGVsW2FdJiYoZCs9YyYmdGhpcy5tb2RlbFthXVtjXT90aGlzLm1vZGVsW2FdW2NdOnRoaXMubW9kZWxbYV0udG9TdHJpbmcoKSk6dGhpcy5tb2RlbC5mb3JFYWNoKGY9PntkKz1jJiZmW2NdP2ZbY106Zi50b1N0cmluZygpLGQrPSIgIn0pKSxkLnRyaW0oKX1h''@;'; put 'put ''ZGRJdGVtKGMpe3RoaXMuY29udGFpbnNJdGVtKGMpfHwodGhpcy5tb2RlbD10aGlzLm1vZGVsfHxbXSx0aGlzLm1vZGVsLnB1c2goYykpfXJlbW92ZUl0ZW0oYyl7aWYobnVsbD09dGhpcy5tb2RlbClyZXR1cm47Y29uc3QgYT10aGlzLm1vZGVsLmluZGV4T2YoYyk7YT4tMSYmdGhpcy5tb2Rl''@;'; put 'put ''bC5zcGxpY2UoYSwxKSwwPT09dGhpcy5tb2RlbC5sZW5ndGgmJih0aGlzLm1vZGVsPW51bGwpfX19c2V0U2VsZWN0aW9uVmFsdWUoYSl7IXRoaXMuc2VsZWN0aW9uTW9kZWx8fHRoaXMuc2VsZWN0aW9uTW9kZWwubW9kZWw9PT1hfHwhdGhpcy5zZWxlY3Rpb25Nb2RlbC5tb2RlbCYmIWF8fCh0''@;'; put 'put ''aGlzLnNlbGVjdGlvbk1vZGVsLm1vZGVsPWEsdGhpcy5fc2VsZWN0aW9uQ2hhbmdlZC5uZXh0KHRoaXMuc2VsZWN0aW9uTW9kZWwpKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUw''@;'; put 'put ''Mjc1ZmFjfSksbH0pKCk7cEQoKCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZix2LHgpe3RoaXMuaWQ9YSx0aGlzLnRvZ2dsZVNlcnZpY2U9Zix0aGlzLnNlbGVjdGlvblNlcnZpY2U9dix0aGlzLnBsYXRmb3JtSWQ9eCx0aGlzLnBzZXVkb0ZvY3VzPW5ldyBGRyx0aGlzLm9wdGlvbkRh''@;'; put 'put ''dGE9W10sdGhpcy5oYW5kbGVGb2N1c1N1YnNjcmlwdGlvbigpLHRoaXMucmVuZGVyZXI9ZC5jcmVhdGVSZW5kZXJlcihudWxsLG51bGwpfWhhbmRsZUZvY3VzU3Vic2NyaXB0aW9uKCl7dGhpcy50b2dnbGVTZXJ2aWNlLm9wZW5DaGFuZ2Uuc3Vic2NyaWJlKGE9PnthfHwodGhpcy5wc2V1ZG9G''@;'; put 'put ''b2N1cy5tb2RlbD1udWxsKX0pfWdldCB0cmlnZ2VyKCl7cmV0dXJuIHRoaXMuX3RyaWdnZXJ9c2V0IHRyaWdnZXIoYSl7dGhpcy5fdHJpZ2dlcj1hLHRoaXMuYWRkRm9jdXNPbkJsdXJMaXN0ZW5lcihhKX1nZXQgbGlzdGJveCgpe3JldHVybiB0aGlzLl9saXN0Ym94fXNldCBsaXN0Ym94KGEp''@;'; put 'put ''e3RoaXMuX2xpc3Rib3g9YSx0aGlzLmFkZEZvY3VzT25CbHVyTGlzdGVuZXIoYSl9Z2V0IHRleHRJbnB1dCgpe3JldHVybiB0aGlzLl90ZXh0SW5wdXR9c2V0IHRleHRJbnB1dChhKXt0aGlzLl90ZXh0SW5wdXQ9YSx0aGlzLnJlbmRlcmVyLmxpc3RlbihhLCJrZXlkb3duIixkPT4hdGhpcy5o''@;'; put 'put ''YW5kbGVUZXh0SW5wdXQoZCkpLHRoaXMuYWRkRm9jdXNPbkJsdXJMaXN0ZW5lcihhKX1tb3ZlRm9jdXNUbyhhKXtsZXQgZD10aGlzLm9wdGlvbkRhdGEuZmluZEluZGV4KGY9PmYuZXF1YWxzKHRoaXMucHNldWRvRm9jdXMubW9kZWwpKTthPT09b28uVVA/LTE9PT1kfHwwPT09ZD9kPXRoaXMu''@;'; put 'put ''b3B0aW9uRGF0YS5sZW5ndGgtMTpkLS06YT09PW9vLkRPV04mJigtMT09PWR8fGQ9PT10aGlzLm9wdGlvbkRhdGEubGVuZ3RoLTE/ZD0wOmQrKyksdGhpcy5wc2V1ZG9Gb2N1cy5zZWxlY3QodGhpcy5vcHRpb25EYXRhW2RdKSx0aGlzLnBzZXVkb0ZvY3VzLm1vZGVsJiZ0aGlzLnBzZXVkb0Zv''@;'; put 'put ''Y3VzLm1vZGVsLmVsJiZ0aGlzLnBzZXVkb0ZvY3VzLm1vZGVsLmVsLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjoic21vb3RoIixibG9jazoiY2VudGVyIixpbmxpbmU6Im5lYXJlc3QifSl9b3BlbkFuZE1vdmVUbyhhKXt0aGlzLnRvZ2dsZVNlcnZpY2Uub3Blbj90aGlzLm1vdmVGb2N1c1Rv''@;'; put 'put ''KGEpOih0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbkNoYW5nZS5waXBlKFlsKDEpKS5zdWJzY3JpYmUoZD0+e2QmJnRoaXMubW92ZUZvY3VzVG8oYSl9KSx0aGlzLnRvZ2dsZVNlcnZpY2Uub3Blbj0hMCl9aGFuZGxlVGV4dElucHV0KGEpe2xldCBkPSExO2NvbnN0IGY9SGgoYS5rZXkpO2lmKGEp''@;'; put 'put ''c3dpdGNoKGYpe2Nhc2UgWW4uRW50ZXI6dGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4mJnRoaXMucHNldWRvRm9jdXMubW9kZWwmJih0aGlzLnNlbGVjdGlvblNlcnZpY2UubXVsdGlzZWxlY3RhYmxlP3RoaXMuc2VsZWN0aW9uU2VydmljZS50b2dnbGUodGhpcy5wc2V1ZG9Gb2N1cy5tb2RlbC52''@;'; put 'put ''YWx1ZSk6dGhpcy5zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdCh0aGlzLnBzZXVkb0ZvY3VzLm1vZGVsLnZhbHVlKSxkPSEwKTticmVhaztjYXNlIFluLlNwYWNlOnRoaXMudG9nZ2xlU2VydmljZS5vcGVufHwodGhpcy50b2dnbGVTZXJ2aWNlLm9wZW49ITAsZD0hMCk7YnJlYWs7Y2FzZSBZbi5B''@;'; put 'put ''cnJvd1VwOnRoaXMucHJldmVudFZpZXdwb3J0U2Nyb2xsaW5nKGEpLHRoaXMub3BlbkFuZE1vdmVUbyhvby5VUCksZD0hMDticmVhaztjYXNlIFluLkFycm93RG93bjp0aGlzLnByZXZlbnRWaWV3cG9ydFNjcm9sbGluZyhhKSx0aGlzLm9wZW5BbmRNb3ZlVG8ob28uRE9XTiksZD0hMDticmVh''@;'; put 'put ''aztkZWZhdWx0OmEua2V5IT09WW4uVGFiJiYoIXRoaXMuc2VsZWN0aW9uU2VydmljZS5tdWx0aXNlbGVjdGFibGV8fGEua2V5IT09WW4uQmFja3NwYWNlKSYmYS5rZXkhPT1Zbi5Fc2NhcGUmJiF0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiYmKHRoaXMudG9nZ2xlU2VydmljZS5vcGVuPSEwKX1y''@;'; put 'put ''ZXR1cm4gZH1wcmV2ZW50Vmlld3BvcnRTY3JvbGxpbmcoYSl7YS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9Zm9jdXNJbnB1dCgpe3RoaXMudGV4dElucHV0JiZ3cih0aGlzLnBsYXRmb3JtSWQpJiZ0aGlzLnRleHRJbnB1dC5mb2N1cygpfWFkZEZvY3Vz''@;'; put 'put ''T25CbHVyTGlzdGVuZXIoYSl7d3IodGhpcy5wbGF0Zm9ybUlkKSYmdGhpcy5yZW5kZXJlci5saXN0ZW4oYSwiYmx1ciIsZD0+e3RoaXMuZm9jdXNPdXRPZkNvbXBvbmVudChkKSYmKHRoaXMudG9nZ2xlU2VydmljZS5vcGVuPSExLHRoaXMuY29tcG9uZW50Q2RSZWYmJnRoaXMuY29tcG9uZW50''@;'; put 'put ''Q2RSZWYuZGV0ZWN0Q2hhbmdlcygpKX0pfWZvY3VzT3V0T2ZDb21wb25lbnQoYSl7Y29uc3QgZD1hLnJlbGF0ZWRUYXJnZXR8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuISh0aGlzLnRleHRJbnB1dC5jb250YWlucyhkKXx8dGhpcy50cmlnZ2VyLmNvbnRhaW5zKGQpfHx0aGlzLmxp''@;'; put 'put ''c3Rib3guY29udGFpbnMoZCkpfWZvY3VzRmlyc3RBY3RpdmUoKXtpZih0aGlzLm9wdGlvbkRhdGEubGVuZ3RoPjApaWYodGhpcy5zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGlvbk1vZGVsLmlzRW1wdHkoKSl0aGlzLnBzZXVkb0ZvY3VzLnNlbGVjdCh0aGlzLm9wdGlvbkRhdGFbMF0pO2Vsc2V7''@;'; put 'put ''bGV0IGE7YT10aGlzLnNlbGVjdGlvblNlcnZpY2UubXVsdGlzZWxlY3RhYmxlP3RoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3Rpb25Nb2RlbC5tb2RlbFswXTp0aGlzLnNlbGVjdGlvblNlcnZpY2Uuc2VsZWN0aW9uTW9kZWwubW9kZWw7Y29uc3QgZD10aGlzLm9wdGlvbkRhdGEuZmluZChm''@;'; put 'put ''PT5mLnZhbHVlPT09YSk7dGhpcy5wc2V1ZG9Gb2N1cy5zZWxlY3QoZHx8dGhpcy5vcHRpb25EYXRhWzBdKX19YWRkT3B0aW9uVmFsdWVzKGEpe3RoaXMub3B0aW9uRGF0YT1hfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShFdChsaSksRXQoVmMpLEV0''@;'; put 'put ''KFRyKSxFdChSRyksRXQoWHIpKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKSk7bGV0IE5HPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhMbyxJbyxrdSxQaCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihh''@;'; put 'put ''KXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixqYSxFcixvMSxraSx0cyxxaCxLaF0sa2ksdHNdfSksbH0pKCksWUc9KCgpPT57Y2xhc3MgbCBleHRlbmRzIHVEe31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rp''@;'; put 'put ''b24oKXtsZXQgYztyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuKGN8fChjPSRuKGwpKSkoZHx8bCl9fSgpLGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci1pbnB1dC1jb250YWluZXIiXV0saG9zdFZhcnM6Nixob3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsyJmEmJlZ0''@;'; put 'put ''KCJjbHItZm9ybS1jb250cm9sIiwhMCkoImNsci1mb3JtLWNvbnRyb2wtZGlzYWJsZWQiLG51bGw9PWQuY29udHJvbD9udWxsOmQuY29udHJvbC5kaXNhYmxlZCkoImNsci1yb3ciLGQuYWRkR3JpZCgpKX0sZmVhdHVyZXM6W2RuKFtaaCxuYyxlYSxKaF0pLHluXSxuZ0NvbnRlbnRTZWxlY3Rv''@;'; put 'put ''cnM6bVYsZGVjbHM6MTAsdmFyczo3LGNvbnN0czpbWzQsIm5nSWYiXSxbMSwiY2xyLWNvbnRyb2wtY29udGFpbmVyIiwzLCJuZ0NsYXNzIl0sWzEsImNsci1pbnB1dC13cmFwcGVyIl0sWyJjbGFzcyIsImNsci12YWxpZGF0ZS1pY29uIiwic2hhcGUiLCJleGNsYW1hdGlvbi1jaXJjbGUiLCJh''@;'; put 'put ''cmlhLWhpZGRlbiIsInRydWUiLDQsIm5nSWYiXSxbImNsYXNzIiwiY2xyLXZhbGlkYXRlLWljb24iLCJzaGFwZSIsImNoZWNrLWNpcmNsZSIsInN0YXR1cyIsInN1Y2Nlc3MiLCJhcmlhLWhpZGRlbiIsInRydWUiLDQsIm5nSWYiXSxbInNoYXBlIiwiZXhjbGFtYXRpb24tY2lyY2xlIiwiYXJp''@;'; put 'put ''YS1oaWRkZW4iLCJ0cnVlIiwxLCJjbHItdmFsaWRhdGUtaWNvbiJdLFsic2hhcGUiLCJjaGVjay1jaXJjbGUiLCJzdGF0dXMiLCJzdWNjZXNzIiwiYXJpYS1oaWRkZW4iLCJ0cnVlIiwxLCJjbHItdmFsaWRhdGUtaWNvbiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHRuKGdWKSxM''@;'; put 'put ''dCgwKSxjdCgxLGNWLDEsMCwibGFiZWwiLDApLHplKDIsImRpdiIsMSkoMywiZGl2IiwyKSxMdCg0LDEpLGN0KDUsdVYsMSwwLCJjZHMtaWNvbiIsMyksY3QoNixkViwxLDAsImNkcy1pY29uIiw0KSxZZSgpLGN0KDcsaFYsMSwwLCJuZy1jb250ZW50IiwwKSxjdCg4LGZWLDEsMCwibmctY29u''@;'; put 'put ''dGVudCIsMCksY3QoOSxwViwxLDAsIm5nLWNvbnRlbnQiLDApLFllKCkpLDImYSYmKFRlKDEpLEJlKCJuZ0lmIiwhZC5sYWJlbCYmZC5hZGRHcmlkKCkpLFRlKDEpLEJlKCJuZ0NsYXNzIixkLmNvbnRyb2xDbGFzcygpKSxUZSgzKSxCZSgibmdJZiIsZC5zaG93SW52YWxpZCksVGUoMSksQmUo''@;'; put 'put ''Im5nSWYiLGQuc2hvd1ZhbGlkKSxUZSgxKSxCZSgibmdJZiIsZC5zaG93SGVscGVyKSxUZSgxKSxCZSgibmdJZiIsZC5zaG93SW52YWxpZCksVGUoMSksQmUoIm5nSWYiLGQuc2hvd1ZhbGlkKSl9LGRlcGVuZGVuY2llczpbZXIsJG8sbmwsWXJdLGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpLHpH''@;'; put 'put ''PSgoKT0+e2NsYXNzIGwgZXh0ZW5kcyBkMHtjb25zdHJ1Y3RvcihhLGQsZix2LHgpe3N1cGVyKGEsWUcsZCxmLHYseCksdGhpcy5pbmRleD0xfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShzciksbWUoVnIpLG1lKEVvLDEwKSxtZShXbiksbWUo''@;'; put 'put ''aG4pKX0sbC5cdTAyNzVkaXI9VHQoe3R5cGU6bCxzZWxlY3RvcnM6W1siIiwiY2xySW5wdXQiLCIiXV0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsyJmEmJlZ0KCJjbHItaW5wdXQiLCEwKX0sZmVhdHVyZXM6W3luXX0pLGx9KSgpLGdEPSgoKT0+e2NsYXNzIGx7Y29u''@;'; put 'put ''c3RydWN0b3IoKXtNci5hZGRJY29ucyhMbyxJbyl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixqYSxFcixraV0sa2ldfSksbH0pKCksQkc9KCgpPT57''@;'; put 'put ''Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe01yLmFkZEljb25zKExvLElvKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLGdELEVyXV19KSxsfSkoKSxIRz0o''@;'; put 'put ''KCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhpcy5fcHJldmlvdXNGb2N1c1RyYXBzPVtdfWdldCBjdXJyZW50KCl7cmV0dXJuIHRoaXMuX2N1cnJlbnR9c2V0IGN1cnJlbnQoYSl7dGhpcy5fcHJldmlvdXNGb2N1c1RyYXBzLnB1c2godGhpcy5fY3VycmVudCksdGhpcy5fY3VycmVudD1h''@;'; put 'put ''fWdldCBuYkZvY3VzVHJhcHBlcnMoKXtyZXR1cm4gdGhpcy5fcHJldmlvdXNGb2N1c1RyYXBzLmxlbmd0aH1hY3RpdmF0ZVByZXZpb3VzVHJhcHBlcigpe3RoaXMuX2N1cnJlbnQ9dGhpcy5fcHJldmlvdXNGb2N1c1RyYXBzLnBvcCgpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7''@;'; put 'put ''cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWMscHJvdmlkZWRJbjoicm9vdCJ9KSxsfSkoKSxkbD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmLHYseCl7dGhpcy5lbD1hLHRoaXMuaW5qZWN0b3I9ZCx0aGlzLmZvY3Vz''@;'; put 'put ''VHJhcHNUcmFja2VyPWYsdGhpcy5yZW5kZXJlcj12LHRoaXMucGxhdGZvcm1JZD14LHRoaXMubG9jYWxGb2N1c0VzY2FwZWQ9ITEsdGhpcy5fY29uZmlnPXtzdHJpY3Q6ITB9LHRoaXMuZG9jdW1lbnQ9dGhpcy5pbmplY3Rvci5nZXQoUnIpLHRoaXMuZm9jdXNUcmFwc1RyYWNrZXIuY3VycmVu''@;'; put 'put ''dD10aGlzfXNldCBjb25maWcoYSl7dGhpcy5fY29uZmlnPU9iamVjdC5hc3NpZ24odGhpcy5fY29uZmlnLCIiPT09YT97fTphKX1vbkZvY3VzSW4oYSl7Y29uc3QgZD10aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7dGhpcy5mb2N1c1RyYXBzVHJhY2tlci5jdXJyZW50IT09dGhpc3x8IXdyKHRoaXMu''@;'; put 'put ''cGxhdGZvcm1JZCl8fHRoaXMubG9jYWxGb2N1c0VzY2FwZWR8fGQuY29udGFpbnMoYS50YXJnZXQpfHwoYS50YXJnZXQ9PT10aGlzLnRvcFJlYm91bmRFbCYmZC5jb250YWlucyhhLnJlbGF0ZWRUYXJnZXQpPyh0aGlzLmZvY3VzTGFzdEZvY3VzYWJsZSgpLHRoaXMuZm9jdXNUcmFwRWxJZk91''@;'; put 'put ''dHNpZGUoKSk6YS50YXJnZXQ9PT10aGlzLmJvdHRvbVJlYm91bmRFbCYmZC5jb250YWlucyhhLnJlbGF0ZWRUYXJnZXQpPyh0aGlzLmZvY3VzRmlyc3RGb2N1c2FibGUoKSx0aGlzLmZvY3VzVHJhcEVsSWZPdXRzaWRlKCkpOnRoaXMuX2NvbmZpZy5zdHJpY3Q/dGhpcy5lbC5uYXRpdmVFbGVt''@;'; put 'put ''ZW50LmZvY3VzKCk6dGhpcy5sb2NhbEZvY3VzRXNjYXBlZD0hMCl9Y3JlYXRlRm9jdXNhYmxlT2ZmU2NyZWVuRWwoKXtjb25zdCBhPXRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShhLCJ0YWJpbmRleCIsIjAiKSx0''@;'; put 'put ''aGlzLnJlbmRlcmVyLmFkZENsYXNzKGEsIm9mZnNjcmVlbi1mb2N1cy1yZWJvdW5kZXIiKSxhfWFkZFJlYm91bmRFbHMoKXtpZih3cih0aGlzLnBsYXRmb3JtSWQpKXt0aGlzLnRvcFJlYm91bmRFbD10aGlzLmNyZWF0ZUZvY3VzYWJsZU9mZlNjcmVlbkVsKCksdGhpcy5ib3R0b21SZWJvdW5k''@;'; put 'put ''RWw9dGhpcy5jcmVhdGVGb2N1c2FibGVPZmZTY3JlZW5FbCgpO2NvbnN0IGE9dGhpcy5lbC5uYXRpdmVFbGVtZW50O3RoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKGEucGFyZW50RWxlbWVudCx0aGlzLnRvcFJlYm91bmRFbCxhKSxhLm5leHRTaWJsaW5nP3RoaXMucmVuZGVyZXIuaW5zZXJ0''@;'; put 'put ''QmVmb3JlKGEucGFyZW50Tm9kZSx0aGlzLmJvdHRvbVJlYm91bmRFbCxhLm5leHRTaWJsaW5nKTp0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGEucGFyZW50Tm9kZSx0aGlzLmJvdHRvbVJlYm91bmRFbCl9fXJlbW92ZVJlYm91bmRFbHMoKXt3cih0aGlzLnBsYXRmb3JtSWQpJiZ0aGlzLnRv''@;'; put 'put ''cFJlYm91bmRFbCYmdGhpcy5ib3R0b21SZWJvdW5kRWwmJih0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy50b3BSZWJvdW5kRWwpLHRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmJvdHRvbVJlYm91bmRFbCksZGVsZXRlIHRoaXMudG9wUmVib3VuZEVsLGRl''@;'; put 'put ''bGV0ZSB0aGlzLmJvdHRvbVJlYm91bmRFbCl9c2V0UHJldmlvdXNGb2N1cygpe3RoaXMucHJldmlvdXNBY3RpdmVFbGVtZW50JiZ0aGlzLnByZXZpb3VzQWN0aXZlRWxlbWVudC5mb2N1cyYmdGhpcy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQuZm9jdXMoKX1uZ09uSW5pdCgpe3dyKHRoaXMucGxh''@;'; put 'put ''dGZvcm1JZCkmJih0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsInRhYmluZGV4IiwiLTEiKSx0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSl9bmdBZnRlclZpZXdJbml0KCl7d3IodGhpcy5wbGF0Zm9ybUlkKSYmKHRoaXMucHJldmlvdXNBY3Rp''@;'; put 'put ''dmVFbGVtZW50PXRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCx0aGlzLnBhcmVudEVsZW1lbnQ9dGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpLHRoaXMuYWRkUmVib3VuZEVscygpfWdldCBwb3RlbnRpYWxseUZvY3VzYWJsZUVscygpe3JldHVyblsuLi50aGlzLmVsLm5h''@;'; put 'put ''dGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2hyZWZdOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBidXR0b246bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0iLTEiXSksIHNlbGVjdDpub3QoW2Rpc2Fi''@;'; put 'put ''bGVkXSk6bm90KFt0YWJpbmRleD0iLTEiXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSItMSJdKSwgW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pICcpXX1mb2N1c0Zp''@;'; put 'put ''cnN0Rm9jdXNhYmxlKCl7Zm9yKGxldCBhPTA7YTx0aGlzLnBvdGVudGlhbGx5Rm9jdXNhYmxlRWxzLmxlbmd0aCYmKHRoaXMuZmlyc3RGb2N1c2FibGVFbD10aGlzLmZvY3VzRWxlbWVudCh0aGlzLnBvdGVudGlhbGx5Rm9jdXNhYmxlRWxzW2FdKSwhdGhpcy5maXJzdEZvY3VzYWJsZUVsKTth''@;'; put 'put ''KyspO31mb2N1c0xhc3RGb2N1c2FibGUoKXtmb3IobGV0IGE9dGhpcy5wb3RlbnRpYWxseUZvY3VzYWJsZUVscy5sZW5ndGgtMTthPj0wJiYodGhpcy5sYXN0Rm9jdXNhYmxlRWw9dGhpcy5mb2N1c0VsZW1lbnQodGhpcy5wb3RlbnRpYWxseUZvY3VzYWJsZUVsc1thXSksIXRoaXMubGFzdEZv''@;'; put 'put ''Y3VzYWJsZUVsKTthLS0pO31mb2N1c1RyYXBFbElmT3V0c2lkZSgpe3RoaXMuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KXx8dGhpcy5lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCl9Zm9jdXNFbGVtZW50KGEpe3JldHVybiBhJiZhLmZvY3VzJiYoYS5m''@;'; put 'put ''b2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1hKT9hOm51bGx9bmdPbkRlc3Ryb3koKXt0aGlzLnJlbW92ZVJlYm91bmRFbHMoKSx0aGlzLnNldFByZXZpb3VzRm9jdXMoKSx0aGlzLmZvY3VzVHJhcHNUcmFja2VyLmFjdGl2YXRlUHJldmlvdXNUcmFwcGVyKCl9fXJldHVybiBsLlx1''@;'; put 'put ''MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKGhuKSxtZShWciksbWUoSEcpLG1lKFduKSxtZShYcikpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLCJjbHJGb2N1c1RyYXAiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZP''@;'; put 'put ''dCgiZm9jdXNpbiIsZnVuY3Rpb24odil7cmV0dXJuIGQub25Gb2N1c0luKHYpfSwwLFJkKX0saW5wdXRzOntjb25maWc6WyJjbHJGb2N1c1RyYXAiLCJjb25maWciXX19KSxsfSkoKSxtMD0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhh''@;'; put 'put ''fHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dXX0pLGx9KSgpLG9aPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhMbyxJbyxrdSxNeixDeil9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1''@;'; put 'put ''cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixsMCx0cyxxaCxFcixtMCxraV1dfSksbH0pKCk7bmV3IE9uKHZvaWQgMCk7bGV0IGxaPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhreixqeixM''@;'; put 'put ''byxJbyl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixqYSxFcixraV0sa2ldfSksbH0pKCksZFo9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe01y''@;'; put 'put ''LmFkZEljb25zKExvLElvKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLGtpLGwwLEVyXSxraV19KSxsfSkoKSxoWj0oKCk9PntjbGFzcyBse2NvbnN0''@;'; put 'put ''cnVjdG9yKCl7TXIuYWRkSWNvbnMoTG8sSW8pfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR24sa2ksbDAsRXJdLGtpXX0pLGx9KSgpLGZaPSgoKT0+e2Ns''@;'; put 'put ''YXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhMbyxJbyl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixqYSxFcixraV0sa2ldfSksbH0pKCks''@;'; put 'put ''cFo9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe01yLmFkZEljb25zKExvLElvKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLGphLEVyLGtpXSxr''@;'; put 'put ''aV19KSxsfSkoKSxqRD0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dLGtpLE9HLE5HLG9aLGdELGxaLGRaLGZaLHBaLGhaLEJH''@;'; put 'put ''XX0pLGx9KSgpLFlvPSgoKT0+e2NsYXNzIGx7dXNlckRlZmluZWRXaWR0aChhKXthLmNsYXNzTGlzdC5hZGQoImRhdGFncmlkLWNlbGwtd2lkdGgtemVybyIpO2NvbnN0IGQ9dGhpcy5jbGllbnRSZWN0KGEpLndpZHRoO3JldHVybiBhLmNsYXNzTGlzdC5yZW1vdmUoImRhdGFncmlkLWNlbGwt''@;'; put 'put ''d2lkdGgtemVybyIpLGR9c2Nyb2xsQmFyV2lkdGgoYSl7cmV0dXJuIGEub2Zmc2V0V2lkdGgtYS5jbGllbnRXaWR0aH1zY3JvbGxXaWR0aChhKXtyZXR1cm4gYS5zY3JvbGxXaWR0aHx8MH1jb21wdXRlZEhlaWdodChhKXtyZXR1cm4gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShhKS5nZXRQ''@;'; put 'put ''cm9wZXJ0eVZhbHVlKCJoZWlnaHQiKSwxMCl9Y2xpZW50UmVjdChhKXtjb25zdCBkPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3RvcDpwYXJzZUludChkLnRvcCwxMCksYm90dG9tOnBhcnNlSW50KGQuYm90dG9tLDEwKSxsZWZ0OnBhcnNlSW50KGQubGVmdCwxMCkscmlnaHQ6''@;'; put 'put ''cGFyc2VJbnQoZC5yaWdodCwxMCksd2lkdGg6cGFyc2VJbnQoZC53aWR0aCwxMCksaGVpZ2h0OnBhcnNlSW50KGQuaGVpZ2h0LDEwKX19bWluV2lkdGgoYSl7cmV0dXJuIHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoYSkuZ2V0UHJvcGVydHlWYWx1ZSgibWluLXdpZHRoIiksMTApfWZvY3Vz''@;'; put 'put ''KGEpe2EuZm9jdXMoKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCksXzA9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQpe3RoaXMuZWxlbWVudD1h''@;'; put 'put ''LHRoaXMuZG9tQWRhcHRlcj1kLHRoaXMuc3RhcnRIZWlnaHQ9MH1nZXQgZXhwYW5kQW5pbWF0aW9uKCl7cmV0dXJue3ZhbHVlOnRoaXMuY2xyRXhwYW5kVHJpZ2dlcixwYXJhbXM6e3N0YXJ0SGVpZ2h0OnRoaXMuc3RhcnRIZWlnaHR9fX1hbmltYXRpb25Eb25lKCl7dGhpcy51cGRhdGVTdGFy''@;'; put 'put ''dEhlaWdodCgpfXVwZGF0ZVN0YXJ0SGVpZ2h0KCl7dGhpcy5zdGFydEhlaWdodD10aGlzLmRvbUFkYXB0ZXIuY29tcHV0ZWRIZWlnaHQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpfHwwfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShobiks''@;'; put 'put ''bWUoWW8pKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6W1siY2xyLWV4cGFuZGFibGUtYW5pbWF0aW9uIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZsdigiQGV4cGFuZEFuaW1hdGlvbi5kb25lIixmdW5jdGlvbigpe3JldHVybiBkLmFu''@;'; put 'put ''aW1hdGlvbkRvbmUoKX0pLDImYSYmVHAoIkBleHBhbmRBbmltYXRpb24iLGQuZXhwYW5kQW5pbWF0aW9uKX0saW5wdXRzOntjbHJFeHBhbmRUcmlnZ2VyOiJjbHJFeHBhbmRUcmlnZ2VyIn0sZmVhdHVyZXM6W2RuKFtZb10pXSxuZ0NvbnRlbnRTZWxlY3RvcnM6UG4sZGVjbHM6MSx2YXJzOjAs''@;'; put 'put ''dGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih0bigpLEx0KDApKX0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmJsb2NrfSJdLGRhdGE6e2FuaW1hdGlvbjpbRm8oImV4cGFuZEFuaW1hdGlvbiIsW3BpKCJ0cnVlIDw9PiBmYWxzZSIsW2lyKHtoZWlnaHQ6Int7c3RhcnRI''@;'; put 'put ''ZWlnaHR9fXB4IixvdmVyZmxvdzoiaGlkZGVuIn0pLEVpKCIwLjJzIGVhc2UtaW4tb3V0Iixpcih7aGVpZ2h0OiIqIn0pKV0pXSldfX0pLGx9KSgpLFNEPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1n''@;'; put 'put ''bih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbl1dfSksbH0pKCksRUQ9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0''@;'; put 'put ''czpbW0duXV19KSxsfSkoKTtjb25zdCBURD1uZXcgT24oIkZPQ1VTX09OX1ZJRVdfSU5JVCIpLG1aPXtwcm92aWRlOlRELHVzZVZhbHVlOiEwfTtsZXQgeTE9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZix2LHgsSCl7dGhpcy5lbD1hLHRoaXMucGxhdGZvcm1JZD1kLHRoaXMuZm9j''@;'; put 'put ''dXNPblZpZXdJbml0PWYsdGhpcy5yZW5kZXJlcj14LHRoaXMuZGVzdHJveSQ9bmV3IEUsdGhpcy5kaXJlY3RGb2N1cz0hMCx0aGlzLl9pc0VuYWJsZWQ9dGhpcy5mb2N1c09uVmlld0luaXQsdGhpcy5kb2N1bWVudD12LEgucnVuT3V0c2lkZUFuZ3VsYXIoKCk9PlhzKGEubmF0aXZlRWxlbWVu''@;'; put 'put ''dCwiZm9jdXNvdXQiKS5waXBlKGZ1bmN0aW9uIEFoKGwpe3JldHVybiBYKChjLGEpPT57YXQobCkuc3Vic2NyaWJlKG5lKGEsKCk9PmEuY29tcGxldGUoKSxtKSksIWEuY2xvc2VkJiZjLnN1YnNjcmliZShhKX0pfSh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpPT57dGhpcy5kaXJlY3RG''@;'; put 'put ''b2N1c3x8KHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwidGFiaW5kZXgiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwib3V0bGluZSIsbnVsbCkpfSkpfXNldCBpc0VuYWJsZWQoYSl7dGhpcy5mb2N1c09u''@;'; put 'put ''Vmlld0luaXQmJiJib29sZWFuIj09dHlwZW9mIGEmJih0aGlzLl9pc0VuYWJsZWQ9YSl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5mb2N1cygpfW5nT25EZXN0cm95KCl7dGhpcy5kZXN0cm95JC5uZXh0KCl9Zm9jdXMoKXshd3IodGhpcy5wbGF0Zm9ybUlkKXx8IXRoaXMuX2lzRW5hYmxlZHx8''@;'; put 'put ''dGhpcy5kb2N1bWVudCYmdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dGhpcy5lbC5uYXRpdmVFbGVtZW50JiYodGhpcy5lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCksdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dGhpcy5lbC5uYXRpdmVFbGVtZW50JiYodGhpcy5kaXJlY3RG''@;'; put 'put ''b2N1cz0hMSx0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsInRhYmluZGV4IiwiLTEiKSx0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwib3V0bGluZSIsIm5vbmUiKSx0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMo''@;'; put 'put ''KSkpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShobiksbWUoWHIpLG1lKFREKSxtZShSciksbWUoV24pLG1lKG5yKSl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbIiIsImNsckZvY3VzT25WaWV3SW5pdCIsIiJdXSxpbnB1''@;'; put 'put ''dHM6e2lzRW5hYmxlZDpbImNsckZvY3VzT25WaWV3SW5pdCIsImlzRW5hYmxlZCJdfX0pLGx9KSgpLGljPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4o''@;'; put 'put ''e3Byb3ZpZGVyczpbbVpdLGltcG9ydHM6W1tHbl1dfSksbH0pKCksdzE9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duXV19KSxs''@;'; put 'put ''fSkoKSxiWj0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dXX0pLGx9KSgpO3ZhciBHaT0oKCk9PihmdW5jdGlvbihsKXtsW2wu''@;'; put 'put ''V0lEVEg9MF09IldJRFRIIixsW2wuSElEREVOPTFdPSJISURERU4ifShHaXx8KEdpPXt9KSksR2kpKSgpO09iamVjdC5rZXlzKEdpKS5tYXAobD0+R2lbbF0pLmZpbHRlcihsPT5sPT09cGFyc2VJbnQobCwxMCkpO2xldCB4Wj0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhpcy5fdGV4''@;'; put 'put ''dENvbnRlbnRDaGFuZ2U9bmV3IEV9Z2V0IHRleHRDb250ZW50Q2hhbmdlKCl7cmV0dXJuIHRoaXMuX3RleHRDb250ZW50Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpfWdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLl90ZXh0Q29udGVudH1zZXQgdGV4dENvbnRlbnQoYSl7dGhpcy5fdGV4dENv''@;'; put 'put ''bnRlbnQ9YSx0aGlzLl90ZXh0Q29udGVudENoYW5nZS5uZXh0KGEpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKSxBWj0oKCk9PntjbGFzcyBse31yZXR1''@;'; put 'put ''cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dXX0pLGx9KSgpO25ldyBPbigiQ09MVU1OX1NUQVRFIik7bGV0IEJaPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3Io''@;'; put 'put ''KXtNci5hZGRJY29ucyhTeixPeixQaCxQeixOTyxEeixZTyx4eixBeil9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixFcixqRCxqYSx3MSx0cyxiWixT''@;'; put 'put ''RCxFRCxLaCxxaCxvMSxtMCxpY11dfSksbH0pKCksJEQ9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci1zdGFjay1jb250ZW50Il1dfSksbH0pKCksTjE9''@;'; put 'put ''KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt0aGlzLnVuaXF1ZUlkPWEsdGhpcy5fZ2VuZXJhdGVkSWQ9bnVsbCx0aGlzLl9pZD1udWxsfXNldCBpZChhKXt0aGlzLl9pZD0ic3RyaW5nIj09dHlwZW9mIGEmJiIiIT09YT9hOnRoaXMuX2dlbmVyYXRlZElkKyIifWdldCBpZCgpe3JldHVy''@;'; put 'put ''biB0aGlzLl9pZH1uZ09uSW5pdCgpe3RoaXMuX2dlbmVyYXRlZElkPSJjbHItc3RhY2stbGFiZWwtIit0aGlzLnVuaXF1ZUlkLHRoaXMuaWR8fCh0aGlzLl9pZD10aGlzLl9nZW5lcmF0ZWRJZCsiIil9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1l''@;'; put 'put ''KGxpKSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci1zdGFjay1sYWJlbCJdXSxob3N0VmFyczoxLGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezImYSYmanQoImlkIixkLmlkKX0saW5wdXRzOntpZDoiaWQifSxmZWF0dXJlczpbZG4oW0xpXSldLG5nQ29udGVu''@;'; put 'put ''dFNlbGVjdG9yczpQbixkZWNsczoxLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHRuKCksTHQoMCkpfSxlbmNhcHN1bGF0aW9uOjJ9KSxsfSkoKSxleD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmKXt0aGlzLnBhcmVudD1hLHRoaXMudW5pcXVlSWQ9ZCx0aGlz''@;'; put 'put ''LmNvbW1vblN0cmluZ3M9Zix0aGlzLmV4cGFuZGVkPSExLHRoaXMuZXhwYW5kZWRDaGFuZ2U9bmV3IEh0KCExKSx0aGlzLmV4cGFuZGFibGU9ITEsdGhpcy5mb2N1c2VkPSExLHRoaXMuX2NoYW5nZWRDaGlsZHJlbj0wLHRoaXMuX2Z1bGx5SW5pdGlhbGl6ZWQ9ITEsdGhpcy5fY2hhbmdlZD0h''@;'; put 'put ''MSxhJiZhLmFkZENoaWxkKCl9Z2V0IGdldENoYW5nZWRWYWx1ZSgpe3JldHVybiB0aGlzLl9jaGFuZ2VkfHx0aGlzLl9jaGFuZ2VkQ2hpbGRyZW4+MCYmIXRoaXMuZXhwYW5kZWR9c2V0IHNldENoYW5nZWRWYWx1ZShhKXt0aGlzLl9jaGFuZ2VkPWEsdGhpcy5wYXJlbnQmJnRoaXMuX2Z1bGx5''@;'; put 'put ''SW5pdGlhbGl6ZWQmJihhP3RoaXMucGFyZW50Ll9jaGFuZ2VkQ2hpbGRyZW4rKzp0aGlzLnBhcmVudC5fY2hhbmdlZENoaWxkcmVuLS0pfWdldCBsYWJlbGxlZEJ5SWQoKXtyZXR1cm4gdGhpcy5zdGFja0Jsb2NrVGl0bGUuaWR9Z2V0IGhlYWRpbmdMZXZlbCgpe3JldHVybiB0aGlzLmFyaWFM''@;'; put 'put ''ZXZlbD90aGlzLmFyaWFMZXZlbCsiIjp0aGlzLnBhcmVudD8iNCI6IjMifW5nT25Jbml0KCl7dGhpcy5fZnVsbHlJbml0aWFsaXplZD0hMH1hZGRDaGlsZCgpe3RoaXMuZXhwYW5kYWJsZT0hMH10b2dnbGVFeHBhbmQoKXt0aGlzLmV4cGFuZGFibGUmJih0aGlzLmV4cGFuZGVkPSF0aGlzLmV4''@;'; put 'put ''cGFuZGVkLHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdCh0aGlzLmV4cGFuZGVkKSl9Z2V0IGNhcmV0RGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuZXhwYW5kZWQ/ImRvd24iOiJyaWdodCJ9Z2V0IHJvbGUoKXtyZXR1cm4gdGhpcy5leHBhbmRhYmxlPyJidXR0b24iOm51bGx9Z2V0IHRhYkluZGV4''@;'; put 'put ''KCl7cmV0dXJuIHRoaXMuZXhwYW5kYWJsZT8iMCI6bnVsbH1nZXQgb25TdGFja0xhYmVsRm9jdXMoKXtyZXR1cm4gdGhpcy5leHBhbmRhYmxlJiYhdGhpcy5leHBhbmRlZCYmdGhpcy5mb2N1c2VkfWdldCBhcmlhRXhwYW5kZWQoKXtyZXR1cm4gdGhpcy5leHBhbmRhYmxlP3RoaXMuZXhwYW5k''@;'; put 'put ''ZWQ/InRydWUiOiJmYWxzZSI6bnVsbH1nZXRTdGFja0NoaWxkcmVuSWQoKXtyZXR1cm4gdGhpcy5leHBhbmRlZD9gY2xyLXN0YWNrLWNoaWxkcmVuLSR7dGhpcy51bmlxdWVJZH1gOm51bGx9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKGwsMTIp''@;'; put 'put ''LG1lKGxpKSxtZShocikpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItc3RhY2stYmxvY2siXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24oYSxkLGYpe2lmKDEmYSYmSG4oZixOMSw1KSwyJmEpe2xldCB2O1F0KHY9JHQoKSkmJihkLnN0YWNrQmxvY2tUaXRsZT12''@;'; put 'put ''LmZpcnN0KX19LGhvc3RWYXJzOjEyLGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezImYSYmKGp0KCJyb2xlIiwiaGVhZGluZyIpKCJhcmlhLWxldmVsIixkLmhlYWRpbmdMZXZlbCksVnQoInN0YWNrLWJsb2NrIiwhMCkoInN0YWNrLWJsb2NrLWV4cGFuZGVkIixkLmV4cGFuZGVkKSgic3Rh''@;'; put 'put ''Y2stYmxvY2stZXhwYW5kYWJsZSIsZC5leHBhbmRhYmxlKSgic3RhY2stYmxvY2stY2hhbmdlZCIsZC5nZXRDaGFuZ2VkVmFsdWUpKCJvbi1mb2N1cyIsZC5vblN0YWNrTGFiZWxGb2N1cykpfSxpbnB1dHM6e2V4cGFuZGVkOlsiY2xyU2JFeHBhbmRlZCIsImV4cGFuZGVkIl0sZXhwYW5kYWJs''@;'; put 'put ''ZTpbImNsclNiRXhwYW5kYWJsZSIsImV4cGFuZGFibGUiXSxzZXRDaGFuZ2VkVmFsdWU6WyJjbHJTYk5vdGlmeUNoYW5nZSIsInNldENoYW5nZWRWYWx1ZSJdLGFyaWFMZXZlbDpbImNsclN0YWNrVmlld0xldmVsIiwiYXJpYUxldmVsIl0sYXJpYVNldHNpemU6WyJjbHJTdGFja1ZpZXdTZXRz''@;'; put 'put ''aXplIiwiYXJpYVNldHNpemUiXSxhcmlhUG9zaW5zZXQ6WyJjbHJTdGFja1ZpZXdQb3NpbnNldCIsImFyaWFQb3NpbnNldCJdfSxvdXRwdXRzOntleHBhbmRlZENoYW5nZToiY2xyU2JFeHBhbmRlZENoYW5nZSJ9LGZlYXR1cmVzOltkbihbTGldKV0sbmdDb250ZW50U2VsZWN0b3JzOkFXLGRl''@;'; put 'put ''Y2xzOjksdmFyczo5LGNvbnN0czpbWzEsInN0YWNrLWJsb2NrLWxhYmVsIiwzLCJpZCIsImNsaWNrIiwia2V5dXAuZW50ZXIiLCJrZXl1cC5zcGFjZSIsImZvY3VzIiwiYmx1ciJdLFsic2hhcGUiLCJhbmdsZSIsImNsYXNzIiwic3RhY2stYmxvY2stY2FyZXQiLDQsIm5nSWYiXSxbImNsYXNz''@;'; put 'put ''IiwiY2xyLXNyLW9ubHkiLDQsIm5nSWYiXSxbMSwic3RhY2stdmlldy1rZXkiXSxbMSwic3RhY2stYmxvY2stY29udGVudCJdLFsxLCJzdGFjay1jaGlsZHJlbiIsMywiY2xyRXhwYW5kVHJpZ2dlciJdLFsicm9sZSIsInJlZ2lvbiIsMywiaGVpZ2h0Iiw0LCJuZ0lmIl0sWyJzaGFwZSIsImFu''@;'; put 'put ''Z2xlIiwxLCJzdGFjay1ibG9jay1jYXJldCJdLFsxLCJjbHItc3Itb25seSJdLFsicm9sZSIsInJlZ2lvbiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHRuKHhXKSx6ZSgwLCJkaXYiLDApLE90KCJjbGljayIsZnVuY3Rpb24oKXtyZXR1cm4gZC50b2dnbGVFeHBhbmQoKX0pKCJr''@;'; put 'put ''ZXl1cC5lbnRlciIsZnVuY3Rpb24oKXtyZXR1cm4gZC50b2dnbGVFeHBhbmQoKX0pKCJrZXl1cC5zcGFjZSIsZnVuY3Rpb24oKXtyZXR1cm4gZC50b2dnbGVFeHBhbmQoKX0pKCJmb2N1cyIsZnVuY3Rpb24oKXtyZXR1cm4gZC5mb2N1c2VkPSEwfSkoImJsdXIiLGZ1bmN0aW9uKCl7cmV0dXJu''@;'; put 'put ''IGQuZm9jdXNlZD0hMX0pLGN0KDEsT1csMSwxLCJjZHMtaWNvbiIsMSksY3QoMixQVywyLDEsInNwYW4iLDIpLHplKDMsImRpdiIsMyksTHQoNCksWWUoKSx6ZSg1LCJkaXYiLDQpLEx0KDYsMSksWWUoKSgpLHplKDcsImNsci1leHBhbmRhYmxlLWFuaW1hdGlvbiIsNSksY3QoOCxEVywyLDQs''@;'; put 'put ''ImRpdiIsNiksWWUoKSksMiZhJiYoQmUoImlkIixkLnVuaXF1ZUlkKSxqdCgicm9sZSIsZC5yb2xlKSgidGFiaW5kZXgiLGQudGFiSW5kZXgpKCJhcmlhLWV4cGFuZGVkIixkLmFyaWFFeHBhbmRlZCkoImFyaWEtY29udHJvbHMiLGQuZ2V0U3RhY2tDaGlsZHJlbklkKCkpLFRlKDEpLEJlKCJu''@;'; put 'put ''Z0lmIixkLmV4cGFuZGFibGUpLFRlKDEpLEJlKCJuZ0lmIixkLmdldENoYW5nZWRWYWx1ZSksVGUoNSksQmUoImNsckV4cGFuZFRyaWdnZXIiLGQuZXhwYW5kZWQpLFRlKDEpLEJlKCJuZ0lmIixkLmV4cGFuZGVkKSl9LGRlcGVuZGVuY2llczpbXzAsZXIsWXJdLHN0eWxlczpbIltfbmdob3N0''@;'; put 'put ''LSVDT01QJV17ZGlzcGxheTpibG9ja30iXX0pLGx9KSgpLHF1PSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLmVkaXRhYmxlPSExLHRoaXMuc2F2ZT1uZXcgSHQoITEpLHRoaXMuX2VkaXRNb2RlPSExLHRoaXMuZWRpdGluZ0NoYW5nZT1uZXcgSHQoITEpfWdldCBlZGl0aW5nKCl7''@;'; put 'put ''cmV0dXJuIHRoaXMuZWRpdGFibGUmJnRoaXMuX2VkaXRNb2RlfXNldCBlZGl0aW5nKGEpe3RoaXMuZWRpdGFibGUmJih0aGlzLl9lZGl0TW9kZT1hLHRoaXMuZWRpdGluZ0NoYW5nZS5lbWl0KGEpLGF8fHRoaXMuc2F2ZS5lbWl0KG51bGwpKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9u''@;'; put 'put ''KGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci1zdGFjay12aWV3Il1dLG91dHB1dHM6e3NhdmU6ImNsclN0YWNrU2F2ZSJ9LG5nQ29udGVudFNlbGVjdG9yczpUVyxkZWNsczozLHZhcnM6MCxjb25zdHM6W1sxLCJzdGFjay12aWV3''@;'; put 'put ''Il1dLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYodG4oRVcpLEx0KDApLHplKDEsImRpdiIsMCksTHQoMiwxKSxZZSgpKX0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmJsb2NrfSJdfSksbH0pKCksVVo9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe01yLmFkZElj''@;'; put 'put ''b25zKGt1KX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLGphLEVyLFNEXV19KSxsfSkoKSxsYz0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhp''@;'; put 'put ''cy5zZWxlY3RhYmxlPSExLHRoaXMuZWFnZXI9ITAsdGhpcy5jaGlsZHJlbkZldGNoZWQ9bmV3IEV9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpO2NvbnN0''@;'; put 'put ''IG54PXtwcm92aWRlOmxjLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gV1oobCl7cmV0dXJuIGx8fG5ldyBsY30sZGVwczpbW25ldyBKYSxuZXcgS2EsbGNdXX07bGV0IHJ4PSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkKXt0aGlzLmZlYXR1cmVzU2VydmljZT1hLHRoaXMuZXhwYW5kU2Vydmlj''@;'; put 'put ''ZT1kLGQmJih0aGlzLnN1YnNjcmlwdGlvbj10aGlzLmV4cGFuZFNlcnZpY2UuZXhwYW5kQ2hhbmdlLnN1YnNjcmliZShmPT57IWYmJnRoaXMucGFyZW50JiYhdGhpcy5mZWF0dXJlc1NlcnZpY2UuZWFnZXImJnRoaXMuZmVhdHVyZXNTZXJ2aWNlLnJlY3Vyc2lvbiYmdGhpcy5wYXJlbnQuY2xl''@;'; put 'put ''YXJDaGlsZHJlbigpfSkpfXNob3VsZFJlbmRlcigpe3JldHVybiB0aGlzLmZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24mJih0aGlzLmZlYXR1cmVzU2VydmljZS5lYWdlcnx8IXRoaXMuZXhwYW5kU2VydmljZXx8dGhpcy5leHBhbmRTZXJ2aWNlLmV4cGFuZGVkKX1nZXRDb250ZXh0KGEpe3Jl''@;'; put 'put ''dHVybnskaW1wbGljaXQ6YS5tb2RlbCxjbHJNb2RlbDphfX1uZ09uRGVzdHJveSgpe3RoaXMuc3Vic2NyaXB0aW9uJiZ0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShsYyksbWUoaW8sOCkp''@;'; put 'put ''fSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItcmVjdXJzaXZlLWNoaWxkcmVuIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MiZhJiZqdCgicm9sZSIsImdyb3VwIil9LGlucHV0czp7cGFyZW50OiJwYXJlbnQiLGNoaWxkcmVuOiJjaGls''@;'; put 'put ''ZHJlbiJ9LGRlY2xzOjEsdmFyczoxLGNvbnN0czpbWzQsIm5nSWYiXSxbNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzQsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmY3QoMCxWVywyLDEsIm5nLWNvbnRhaW5l''@;'; put 'put ''ciIsMCksMiZhJiZCZSgibmdJZiIsZC5zaG91bGRSZW5kZXIoKSl9LGRlcGVuZGVuY2llczpbZXIsdm8sX2FdLGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpO3ZhciB0aT0oKCk9PihmdW5jdGlvbihsKXtsW2wuVU5TRUxFQ1RFRD0wXT0iVU5TRUxFQ1RFRCIsbFtsLlNFTEVDVEVEPTFdPSJTRUxF''@;'; put 'put ''Q1RFRCIsbFtsLklOREVURVJNSU5BVEU9Ml09IklOREVURVJNSU5BVEUifSh0aXx8KHRpPXt9KSksdGkpKSgpO2xldCBZMT0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhpcy5fZm9jdXNSZXF1ZXN0PW5ldyBFLHRoaXMuX2ZvY3VzQ2hhbmdlPW5ldyBFfWdldCBmb2N1c1JlcXVlc3Qo''@;'; put 'put ''KXtyZXR1cm4gdGhpcy5fZm9jdXNSZXF1ZXN0LmFzT2JzZXJ2YWJsZSgpfWdldCBmb2N1c0NoYW5nZSgpe3JldHVybiB0aGlzLl9mb2N1c0NoYW5nZS5hc09ic2VydmFibGUoKX1maW5kU2libGluZ3MoYSl7cmV0dXJuIGEucGFyZW50P2EucGFyZW50LmNoaWxkcmVuOnRoaXMucm9vdE5vZGVN''@;'; put 'put ''b2RlbHN9ZmluZExhc3RWaXNpYmxlSW5Ob2RlKGEpe2lmKCFhKXJldHVybiBudWxsO2lmKGEuZXhwYW5kZWQmJmEuY2hpbGRyZW4ubGVuZ3RoPjApe2NvbnN0IGQ9YS5jaGlsZHJlbjtyZXR1cm4gdGhpcy5maW5kTGFzdFZpc2libGVJbk5vZGUoZFtkLmxlbmd0aC0xXSl9cmV0dXJuIGF9Zmlu''@;'; put 'put ''ZE5leHRGb2N1c2FibGUoYSl7aWYoIWEpcmV0dXJuIG51bGw7Y29uc3QgZD10aGlzLmZpbmRTaWJsaW5ncyhhKSxmPWQuaW5kZXhPZihhKTtyZXR1cm4gZjxkLmxlbmd0aC0xP2RbZisxXTpmPT09ZC5sZW5ndGgtMT90aGlzLmZpbmROZXh0Rm9jdXNhYmxlKGEucGFyZW50KTpudWxsfWZpbmRM''@;'; put 'put ''YXN0VmlzaWJsZUluVHJlZSgpe3JldHVybiB0aGlzLmZpbmRMYXN0VmlzaWJsZUluTm9kZSh0aGlzLnJvb3ROb2RlTW9kZWxzJiZ0aGlzLnJvb3ROb2RlTW9kZWxzLmxlbmd0aCYmdGhpcy5yb290Tm9kZU1vZGVsc1t0aGlzLnJvb3ROb2RlTW9kZWxzLmxlbmd0aC0xXSl9ZmluZE5vZGVBYm92''@;'; put 'put ''ZShhKXtpZighYSlyZXR1cm4gbnVsbDtjb25zdCBkPXRoaXMuZmluZFNpYmxpbmdzKGEpLGY9ZC5pbmRleE9mKGEpO3JldHVybiAwPT09Zj9hLnBhcmVudDpmPjA/dGhpcy5maW5kTGFzdFZpc2libGVJbk5vZGUoZFtmLTFdKTpudWxsfWZpbmROb2RlQmVsb3coYSl7cmV0dXJuIGE/YS5leHBh''@;'; put 'put ''bmRlZCYmYS5jaGlsZHJlbi5sZW5ndGg+MD9hLmNoaWxkcmVuWzBdOnRoaXMuZmluZE5leHRGb2N1c2FibGUoYSk6bnVsbH1maW5kRGVzY2VuZGVudE5vZGVTdGFydHNXaXRoKGEsZCl7aWYoZC5leHBhbmRlZCYmZC5jaGlsZHJlbi5sZW5ndGg+MClmb3IoY29uc3QgZiBvZiBkLmNoaWxkcmVu''@;'; put 'put ''KXtjb25zdCB2PXRoaXMuZmluZE5vZGVTdGFydHNXaXRoKGEsZik7aWYodilyZXR1cm4gdn1yZXR1cm4gbnVsbH1maW5kU2libGluZ05vZGVTdGFydHNXaXRoKGEsZCl7Y29uc3QgZj10aGlzLmZpbmRTaWJsaW5ncyhkKTtmb3IobGV0IHg9Zi5pbmRleE9mKGQpKzE7eDxmLmxlbmd0aDt4Kysp''@;'; put 'put ''e2NvbnN0IEs9dGhpcy5maW5kTm9kZVN0YXJ0c1dpdGgoYSxmW3hdKTtpZihLKXJldHVybiBLfXJldHVybiBudWxsfWZpbmRSb290Tm9kZVN0YXJ0c1dpdGgoYSxkKXtmb3IoY29uc3QgZiBvZiB0aGlzLnJvb3ROb2RlTW9kZWxzKXtpZihkLnBhcmVudCYmZC5wYXJlbnQ9PT1mKWNvbnRpbnVl''@;'; put 'put ''O2NvbnN0IHY9dGhpcy5maW5kTm9kZVN0YXJ0c1dpdGgoYSxmKTtpZih2KXJldHVybiB2fXJldHVybiBudWxsfWZpbmROb2RlU3RhcnRzV2l0aChhLGQpe3JldHVybiBkP2QudGV4dENvbnRlbnQuc3RhcnRzV2l0aChhKT9kOnRoaXMuZmluZERlc2NlbmRlbnROb2RlU3RhcnRzV2l0aChhLGQp''@;'; put 'put ''Om51bGx9ZmluZENsb3Nlc3ROb2RlU3RhcnRzV2l0aChhLGQpe2lmKCFkKXJldHVybiBudWxsO2NvbnN0IGY9dGhpcy5maW5kRGVzY2VuZGVudE5vZGVTdGFydHNXaXRoKGEsZCk7aWYoZilyZXR1cm4gZjtjb25zdCB2PXRoaXMuZmluZFNpYmxpbmdOb2RlU3RhcnRzV2l0aChhLGQpO3JldHVy''@;'; put 'put ''biB2fHwodGhpcy5maW5kUm9vdE5vZGVTdGFydHNXaXRoKGEsZCl8fHRoaXMuZmluZE5vZGVTdGFydHNXaXRoKGEsZC5wYXJlbnQpKX1mb2N1c05vZGUoYSl7YSYmdGhpcy5fZm9jdXNSZXF1ZXN0Lm5leHQoYS5ub2RlSWQpfWJyb2FkY2FzdEZvY3VzZWROb2RlKGEpe3RoaXMuZm9jdXNlZE5v''@;'; put 'put ''ZGVJZCE9PWEmJih0aGlzLmZvY3VzZWROb2RlSWQ9YSx0aGlzLl9mb2N1c0NoYW5nZS5uZXh0KGEpKX1mb2N1c1BhcmVudChhKXthJiZ0aGlzLmZvY3VzTm9kZShhLnBhcmVudCl9Zm9jdXNGaXJzdFZpc2libGVOb2RlKCl7dGhpcy5mb2N1c05vZGUodGhpcy5yb290Tm9kZU1vZGVscyYmdGhp''@;'; put 'put ''cy5yb290Tm9kZU1vZGVsc1swXSl9Zm9jdXNMYXN0VmlzaWJsZU5vZGUoKXt0aGlzLmZvY3VzTm9kZSh0aGlzLmZpbmRMYXN0VmlzaWJsZUluVHJlZSgpKX1mb2N1c05vZGVBYm92ZShhKXt0aGlzLmZvY3VzTm9kZSh0aGlzLmZpbmROb2RlQWJvdmUoYSkpfWZvY3VzTm9kZUJlbG93KGEpe3Ro''@;'; put 'put ''aXMuZm9jdXNOb2RlKHRoaXMuZmluZE5vZGVCZWxvdyhhKSl9Zm9jdXNOb2RlU3RhcnRzV2l0aChhLGQpe3RoaXMuZm9jdXNOb2RlKHRoaXMuZmluZENsb3Nlc3ROb2RlU3RhcnRzV2l0aChhLGQpKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwu''@;'; put 'put ''XHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCk7Y2xhc3MgWlogZXh0ZW5kcyBjbGFzcyBpeHtjb25zdHJ1Y3Rvcigpe3RoaXMuc2VsZWN0ZWQ9bmV3IE5yKHRpLlVOU0VMRUNURUQpLHRoaXMuX2xvYWRpbmc9ITEsdGhpcy5sb2FkaW5nJD1uZXcgTnIo''@;'; put 'put ''ITEpfWdldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9c2V0IGxvYWRpbmcoYyl7dGhpcy5fbG9hZGluZz1jLHRoaXMubG9hZGluZyQubmV4dChjKX1kZXN0cm95KCl7dGhpcy5zZWxlY3RlZC5jb21wbGV0ZSgpfXNldFNlbGVjdGVkKGMsYSxkKXtjIT09dGhpcy5zZWxlY3RlZC52''@;'; put 'put ''YWx1ZSYmKHRoaXMuc2VsZWN0ZWQubmV4dChjKSxkJiZjIT09dGkuSU5ERVRFUk1JTkFURSYmdGhpcy5jaGlsZHJlbiYmdGhpcy5jaGlsZHJlbi5mb3JFYWNoKGY9PmYuc2V0U2VsZWN0ZWQoYywhMSwhMCkpLGEmJnRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5fdXBkYXRlU2VsZWN0aW9uRnJv''@;'; put 'put ''bUNoaWxkcmVuKCkpfXRvZ2dsZVNlbGVjdGlvbihjKXt0aGlzLnNldFNlbGVjdGVkKHRoaXMuc2VsZWN0ZWQudmFsdWU9PT10aS5TRUxFQ1RFRD90aS5VTlNFTEVDVEVEOnRpLlNFTEVDVEVELCEwLGMpfWNvbXB1dGVTZWxlY3Rpb25TdGF0ZUZyb21DaGlsZHJlbigpe2xldCBjPSExLGE9ITE7''@;'; put 'put ''Zm9yKGNvbnN0IGQgb2YgdGhpcy5jaGlsZHJlbilzd2l0Y2goZC5zZWxlY3RlZC52YWx1ZSl7Y2FzZSB0aS5JTkRFVEVSTUlOQVRFOnJldHVybiB0aS5JTkRFVEVSTUlOQVRFO2Nhc2UgdGkuU0VMRUNURUQ6aWYoYz0hMCxhKXJldHVybiB0aS5JTkRFVEVSTUlOQVRFO2JyZWFrO2RlZmF1bHQ6''@;'; put 'put ''aWYoYT0hMCxjKXJldHVybiB0aS5JTkRFVEVSTUlOQVRFfXJldHVybiBjP2E/dGkuVU5TRUxFQ1RFRDp0aS5TRUxFQ1RFRDp0aS5VTlNFTEVDVEVEfV91cGRhdGVTZWxlY3Rpb25Gcm9tQ2hpbGRyZW4oKXtjb25zdCBjPXRoaXMuY29tcHV0ZVNlbGVjdGlvblN0YXRlRnJvbUNoaWxkcmVuKCk7''@;'; put 'put ''YyE9PXRoaXMuc2VsZWN0ZWQudmFsdWUmJih0aGlzLnNlbGVjdGVkLm5leHQoYyksdGhpcy5wYXJlbnQmJnRoaXMucGFyZW50Ll91cGRhdGVTZWxlY3Rpb25Gcm9tQ2hpbGRyZW4oKSl9fXtjb25zdHJ1Y3RvcihjKXtzdXBlcigpLHRoaXMucGFyZW50PWMsYyYmYy5fYWRkQ2hpbGQodGhpcyks''@;'; put 'put ''dGhpcy5jaGlsZHJlbj1bXX1fYWRkQ2hpbGQoYyl7dGhpcy5jaGlsZHJlbi5wdXNoKGMpfV9yZW1vdmVDaGlsZChjKXtjb25zdCBhPXRoaXMuY2hpbGRyZW4uaW5kZXhPZihjKTthPi0xJiZ0aGlzLmNoaWxkcmVuLnNwbGljZShhLDEpfWRlc3Ryb3koKXt0aGlzLnBhcmVudCYmdGhpcy5wYXJl''@;'; put 'put ''bnQuX3JlbW92ZUNoaWxkKHRoaXMpLHN1cGVyLmRlc3Ryb3koKX19bGV0IHoxPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSl7dGhpcy5lbD1hfWFjdGl2YXRlKCl7dGhpcy5lbC5uYXRpdmVFbGVtZW50JiZ0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpY2smJnRoaXMuZWwubmF0aXZlRWxl''@;'; put 'put ''bWVudC5jbGljaygpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShobikpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLDgsImNsci10cmVlbm9kZS1saW5rIl1dfSksbH0pKCksQjE9KCgpPT57Y2xhc3MgbHtjb25zdHJ1''@;'; put 'put ''Y3RvcihhLGQsZix2LHgsSCxLLGVlLGZlKXt0aGlzLm5vZGVJZD1hLHRoaXMucGxhdGZvcm1JZD1kLHRoaXMuZm9yVHlwZUFoZWFkUHJvdmlkZXI9dix0aGlzLmZlYXR1cmVzU2VydmljZT14LHRoaXMuZXhwYW5kU2VydmljZT1ILHRoaXMuY29tbW9uU3RyaW5ncz1LLHRoaXMuZm9jdXNNYW5h''@;'; put 'put ''Z2VyPWVlLHRoaXMuU1RBVEVTPXRpLHRoaXMuc2tpcEVtaXRDaGFuZ2U9ITEsdGhpcy5pc01vZGVsTG9hZGluZz0hMSx0aGlzLnR5cGVBaGVhZEtleUV2ZW50PW5ldyBFLHRoaXMudHlwZUFoZWFkS2V5QnVmZmVyPSIiLHRoaXMuc2VsZWN0ZWRDaGFuZ2U9bmV3IEh0KCExKSx0aGlzLmV4cGFu''@;'; put 'put ''ZGVkQ2hhbmdlPW5ldyBIdCx0aGlzLnN1YnNjcmlwdGlvbnM9W10sdGhpcy5jb250ZW50Q29udGFpbmVyVGFiaW5kZXg9LTEsdGhpcy5fbW9kZWw9dGhpcy5mZWF0dXJlc1NlcnZpY2UucmVjdXJzaW9uP2ZlLnZpZXc/ZmUudmlldy5jb250ZXh0LmNsck1vZGVsOmZlLl9sVmlld1s4XS5jbHJN''@;'; put 'put ''b2RlbDpuZXcgWlooZj9mLl9tb2RlbDpudWxsKSx0aGlzLl9tb2RlbC5ub2RlSWQ9dGhpcy5ub2RlSWR9aXNFeHBhbmRhYmxlKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuZXhwYW5kYWJsZT90aGlzLmV4cGFuZGFibGU6ISF0aGlzLmV4cGFuZFNlcnZpY2UuZXhwYW5kYWJsZXx8dGhpcy5pc1Bh''@;'; put 'put ''cmVudH1pc1NlbGVjdGFibGUoKXtyZXR1cm4gdGhpcy5mZWF0dXJlc1NlcnZpY2Uuc2VsZWN0YWJsZX1nZXQgc2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fbW9kZWwuc2VsZWN0ZWQudmFsdWV9c2V0IHNlbGVjdGVkKGEpe3RoaXMuZmVhdHVyZXNTZXJ2aWNlLnNlbGVjdGFibGU9ITAsbnVsbD09''@;'; put 'put ''YSYmKGE9dGkuVU5TRUxFQ1RFRCksImJvb2xlYW4iPT10eXBlb2YgYSYmKGE9YT90aS5TRUxFQ1RFRDp0aS5VTlNFTEVDVEVEKSx0aGlzLnNraXBFbWl0Q2hhbmdlPSEwLHRoaXMuX21vZGVsLnNldFNlbGVjdGVkKGEsdGhpcy5mZWF0dXJlc1NlcnZpY2UuZWFnZXIsdGhpcy5mZWF0dXJlc1Nl''@;'; put 'put ''cnZpY2UuZWFnZXIpLHRoaXMuc2tpcEVtaXRDaGFuZ2U9ITF9Z2V0IGFyaWFTZWxlY3RlZCgpe3JldHVybiB0aGlzLmlzU2VsZWN0YWJsZSgpP3RoaXMuX21vZGVsLnNlbGVjdGVkLnZhbHVlPT09dGkuU0VMRUNURUQ6bnVsbH1nZXQgZXhwYW5kZWQoKXtyZXR1cm4gdGhpcy5leHBhbmRTZXJ2''@;'; put 'put ''aWNlLmV4cGFuZGVkfXNldCBleHBhbmRlZChhKXt0aGlzLmV4cGFuZFNlcnZpY2UuZXhwYW5kZWQ9YX1uZ09uSW5pdCgpe3RoaXMuX21vZGVsLmV4cGFuZGVkPXRoaXMuZXhwYW5kZWQsdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5fbW9kZWwuc2VsZWN0ZWQucGlwZShXcigoKT0+IXRo''@;'; put 'put ''aXMuc2tpcEVtaXRDaGFuZ2UpKS5zdWJzY3JpYmUoYT0+e3RoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChhKX0pKSx0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmV4cGFuZFNlcnZpY2UuZXhwYW5kQ2hhbmdlLnN1YnNjcmliZShhPT57dGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KGEpLHRo''@;'; put 'put ''aXMuX21vZGVsLmV4cGFuZGVkPWF9KSksdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5mb2N1c01hbmFnZXIuZm9jdXNSZXF1ZXN0LnN1YnNjcmliZShhPT57dGhpcy5ub2RlSWQ9PT1hJiZ0aGlzLmZvY3VzVHJlZU5vZGUoKX0pLHRoaXMuZm9jdXNNYW5hZ2VyLmZvY3VzQ2hhbmdlLnN1''@;'; put 'put ''YnNjcmliZShhPT57dGhpcy5jaGVja1RhYkluZGV4KGEpfSkpLHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuX21vZGVsLmxvYWRpbmckLnBpcGUoeGgoMCkpLnN1YnNjcmliZShhPT50aGlzLmlzTW9kZWxMb2FkaW5nPWEpKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLmZvclR5cGVB''@;'; put 'put ''aGVhZFByb3ZpZGVyJiYodGhpcy5fbW9kZWwudGV4dENvbnRlbnQ9dGhpcy5mb3JUeXBlQWhlYWRQcm92aWRlci50ZXh0Q29udGVudCx0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnR5cGVBaGVhZEtleUV2ZW50LnBpcGUoeGgoMjAwKSkuc3Vic2NyaWJlKGE9Pnt0aGlzLmZvY3VzTWFu''@;'; put 'put ''YWdlci5mb2N1c05vZGVTdGFydHNXaXRoKGEsdGhpcy5fbW9kZWwpLHRoaXMudHlwZUFoZWFkS2V5QnVmZmVyPSIifSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuX21vZGVsLmRlc3Ryb3koKSx0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChhPT5hLnVuc3Vic2NyaWJlKCkpfWdldCB0cmVlTm9k''@;'; put 'put ''ZUxpbmsoKXtyZXR1cm4gdGhpcy50cmVlTm9kZUxpbmtMaXN0JiZ0aGlzLnRyZWVOb2RlTGlua0xpc3QuZmlyc3R9c2V0VGFiSW5kZXgoYSl7dGhpcy5jb250ZW50Q29udGFpbmVyVGFiaW5kZXg9YSx0aGlzLmNvbnRlbnRDb250YWluZXIubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInRh''@;'; put 'put ''YmluZGV4IixhKX1jaGVja1RhYkluZGV4KGEpe3dyKHRoaXMucGxhdGZvcm1JZCkmJnRoaXMubm9kZUlkIT09YSYmLTEhPT10aGlzLmNvbnRlbnRDb250YWluZXJUYWJpbmRleCYmdGhpcy5zZXRUYWJJbmRleCgtMSl9Zm9jdXNUcmVlTm9kZSgpe2NvbnN0IGE9dGhpcy5jb250ZW50Q29udGFp''@;'; put 'put ''bmVyLm5hdGl2ZUVsZW1lbnQ7d3IodGhpcy5wbGF0Zm9ybUlkKSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWEmJih0aGlzLnNldFRhYkluZGV4KDApLGEuZm9jdXMoKSxhLnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCIsaW5saW5lOiJuZWFyZXN0In0pKX1icm9hZGNhc3RGb2N1''@;'; put 'put ''c09uQ29udGFpbmVyKCl7dGhpcy5mb2N1c01hbmFnZXIuYnJvYWRjYXN0Rm9jdXNlZE5vZGUodGhpcy5ub2RlSWQpfW9uS2V5RG93bihhKXtzd2l0Y2goJHkoYSksSGgoYS5rZXkpKXtjYXNlIFluLkFycm93VXA6dGhpcy5mb2N1c01hbmFnZXIuZm9jdXNOb2RlQWJvdmUodGhpcy5fbW9kZWwp''@;'; put 'put ''O2JyZWFrO2Nhc2UgWW4uQXJyb3dEb3duOnRoaXMuZm9jdXNNYW5hZ2VyLmZvY3VzTm9kZUJlbG93KHRoaXMuX21vZGVsKTticmVhaztjYXNlIFluLkFycm93UmlnaHQ6dGhpcy5leHBhbmRPckZvY3VzRmlyc3RDaGlsZCgpO2JyZWFrO2Nhc2UgWW4uQXJyb3dMZWZ0OnRoaXMuY29sbGFwc2VP''@;'; put 'put ''ckZvY3VzUGFyZW50KCk7YnJlYWs7Y2FzZSBZbi5Ib21lOmEucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzTWFuYWdlci5mb2N1c0ZpcnN0VmlzaWJsZU5vZGUoKTticmVhaztjYXNlIFluLkVuZDphLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c01hbmFnZXIuZm9jdXNMYXN0VmlzaWJs''@;'; put 'put ''ZU5vZGUoKTticmVhaztjYXNlIFluLkVudGVyOnRoaXMudG9nZ2xlRXhwYW5kT3JUcmlnZ2VyRGVmYXVsdCgpO2JyZWFrO2Nhc2UgWW4uU3BhY2U6Y2FzZSBZbi5TcGFjZWJhcjphLnByZXZlbnREZWZhdWx0KCksdGhpcy50b2dnbGVFeHBhbmRPclRyaWdnZXJEZWZhdWx0KCk7YnJlYWs7ZGVm''@;'; put 'put ''YXVsdDppZih0aGlzLl9tb2RlbC50ZXh0Q29udGVudCYmZnVuY3Rpb24gdUcobCl7Y29uc3QgYz1sLmtleTtyZXR1cm4gYy50b0xvd2VyQ2FzZSgpIT09Yy50b1VwcGVyQ2FzZSgpfHxjPj0iMCImJmM8PSI5In0oYSkpcmV0dXJuIHRoaXMudHlwZUFoZWFkS2V5QnVmZmVyKz1hLmtleSx2b2lk''@;'; put 'put ''IHRoaXMudHlwZUFoZWFkS2V5RXZlbnQubmV4dCh0aGlzLnR5cGVBaGVhZEtleUJ1ZmZlcil9dGhpcy50eXBlQWhlYWRLZXlCdWZmZXI9IiJ9Z2V0IGlzUGFyZW50KCl7cmV0dXJuIHRoaXMuX21vZGVsLmNoaWxkcmVuJiZ0aGlzLl9tb2RlbC5jaGlsZHJlbi5sZW5ndGg+MH10b2dnbGVFeHBh''@;'; put 'put ''bmRPclRyaWdnZXJEZWZhdWx0KCl7dGhpcy5pc0V4cGFuZGFibGUoKSYmIXRoaXMuaXNTZWxlY3RhYmxlKCk/dGhpcy5leHBhbmRTZXJ2aWNlLmV4cGFuZGVkPSF0aGlzLmV4cGFuZGVkOnRoaXMudHJpZ2dlckRlZmF1bHRBY3Rpb24oKX1leHBhbmRPckZvY3VzRmlyc3RDaGlsZCgpe3RoaXMu''@;'; put 'put ''ZXhwYW5kZWQ/dGhpcy5pc1BhcmVudCYmdGhpcy5mb2N1c01hbmFnZXIuZm9jdXNOb2RlQmVsb3codGhpcy5fbW9kZWwpOnRoaXMuaXNFeHBhbmRhYmxlKCkmJih0aGlzLmV4cGFuZFNlcnZpY2UuZXhwYW5kZWQ9ITApfWNvbGxhcHNlT3JGb2N1c1BhcmVudCgpe3RoaXMuZXhwYW5kZWQ/dGhp''@;'; put 'put ''cy5leHBhbmRTZXJ2aWNlLmV4cGFuZGVkPSExOnRoaXMuZm9jdXNNYW5hZ2VyLmZvY3VzUGFyZW50KHRoaXMuX21vZGVsKX10cmlnZ2VyRGVmYXVsdEFjdGlvbigpe3RoaXMudHJlZU5vZGVMaW5rP3RoaXMudHJlZU5vZGVMaW5rLmFjdGl2YXRlKCk6dGhpcy5pc1NlbGVjdGFibGUoKSYmdGhp''@;'; put 'put ''cy5fbW9kZWwudG9nZ2xlU2VsZWN0aW9uKHRoaXMuZmVhdHVyZXNTZXJ2aWNlLmVhZ2VyKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUobGkpLG1lKFhyKSxtZShsLDEyKSxtZSh4WiwxMCksbWUobGMpLG1lKGlvKSxtZShociksbWUoWTEpLG1l''@;'; put 'put ''KFZyKSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci10cmVlLW5vZGUiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24oYSxkLGYpe2lmKDEmYSYmSG4oZix6MSw0KSwyJmEpe2xldCB2O1F0KHY9JHQoKSkmJihkLnRyZWVOb2RlTGlua0xpc3Q9dil9fSx2aWV3UXVl''@;'; put 'put ''cnk6ZnVuY3Rpb24oYSxkKXtpZigxJmEmJm1yKFVXLDcsaG4pLDImYSl7bGV0IGY7UXQoZj0kdCgpKSYmKGQuY29udGVudENvbnRhaW5lcj1mLmZpcnN0KX19LGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MiZhJiZWdCgiY2xyLXRyZWUtbm9kZSIsITApfSxpbnB1dHM6''@;'; put 'put ''e3NlbGVjdGVkOlsiY2xyU2VsZWN0ZWQiLCJzZWxlY3RlZCJdLGV4cGFuZGFibGU6WyJjbHJFeHBhbmRhYmxlIiwiZXhwYW5kYWJsZSJdLGV4cGFuZGVkOlsiY2xyRXhwYW5kZWQiLCJleHBhbmRlZCJdfSxvdXRwdXRzOntzZWxlY3RlZENoYW5nZToiY2xyU2VsZWN0ZWRDaGFuZ2UiLGV4cGFu''@;'; put 'put ''ZGVkQ2hhbmdlOiJjbHJFeHBhbmRlZENoYW5nZSJ9LGZlYXR1cmVzOltkbihbTGksbngsaW8se3Byb3ZpZGU6TmgsdXNlRXhpc3Rpbmc6aW99XSldLG5nQ29udGVudFNlbGVjdG9yczpRVyxkZWNsczoxMix2YXJzOjksY29uc3RzOltbInJvbGUiLCJ0cmVlaXRlbSIsInRhYmluZGV4IiwiLTEi''@;'; put 'put ''LDEsImNsci10cmVlLW5vZGUtY29udGVudC1jb250YWluZXIiLDMsImtleWRvd24iLCJmb2N1cyJdLFsiY29udGVudENvbnRhaW5lciIsIiJdLFsiYXJpYS1oaWRkZW4iLCJ0cnVlIiwidHlwZSIsImJ1dHRvbiIsInRhYmluZGV4IiwiLTEiLCJjbGFzcyIsImNsci10cmVlbm9kZS1jYXJldCIs''@;'; put 'put ''MywiY2xpY2siLCJmb2N1cyIsNCwibmdJZiJdLFsiY2xhc3MiLCJjbHItdHJlZW5vZGUtc3Bpbm5lci1jb250YWluZXIiLDQsIm5nSWYiXSxbImNsYXNzIiwiY2xyLWNoZWNrYm94LXdyYXBwZXIgY2xyLXRyZWVub2RlLWNoZWNrYm94Iiw0LCJuZ0lmIl0sWzEsImNsci10cmVlbm9kZS1jb250''@;'; put 'put ''ZW50IiwzLCJtb3VzZWRvd24iXSxbImNsYXNzIiwiY2xyLXNyLW9ubHkiLDQsIm5nSWYiXSxbMSwiY2xyLXRyZWVub2RlLWNoaWxkcmVuIl0sWzMsInBhcmVudCJdLFsiYXJpYS1oaWRkZW4iLCJ0cnVlIiwidHlwZSIsImJ1dHRvbiIsInRhYmluZGV4IiwiLTEiLDEsImNsci10cmVlbm9kZS1j''@;'; put 'put ''YXJldCIsMywiY2xpY2siLCJmb2N1cyJdLFsic2hhcGUiLCJhbmdsZSIsMSwiY2xyLXRyZWVub2RlLWNhcmV0LWljb24iXSxbMSwiY2xyLXRyZWVub2RlLXNwaW5uZXItY29udGFpbmVyIl0sWzEsImNsci10cmVlbm9kZS1zcGlubmVyIiwic3Bpbm5lciJdLFsxLCJjbHItY2hlY2tib3gtd3Jh''@;'; put 'put ''cHBlciIsImNsci10cmVlbm9kZS1jaGVja2JveCJdLFsiYXJpYS1oaWRkZW4iLCJ0cnVlIiwidHlwZSIsImNoZWNrYm94IiwidGFiaW5kZXgiLCItMSIsMSwiY2xyLWNoZWNrYm94IiwzLCJpZCIsImNoZWNrZWQiLCJpbmRldGVybWluYXRlIiwiY2hhbmdlIiwiZm9jdXMiXSxbMSwiY2xyLWNv''@;'; put 'put ''bnRyb2wtbGFiZWwiLDMsImZvciJdLFsxLCJjbHItc3Itb25seSJdLFs0LCJuZ0lmIl1dLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYodG4oWFcpLHplKDAsImRpdiIsMCwxKSxPdCgia2V5ZG93biIsZnVuY3Rpb24odil7cmV0dXJuIGQub25LZXlEb3duKHYpfSkoImZvY3VzIixmdW5j''@;'; put 'put ''dGlvbigpe3JldHVybiBkLmJyb2FkY2FzdEZvY3VzT25Db250YWluZXIoKX0pLGN0KDIsV1csMiwxLCJidXR0b24iLDIpLGN0KDMscVcsMiwwLCJkaXYiLDMpLGN0KDQsR1csMyw0LCJkaXYiLDQpLHplKDUsImRpdiIsNSksT3QoIm1vdXNlZG93biIsZnVuY3Rpb24oKXtyZXR1cm4gZC5mb2N1''@;'; put 'put ''c1RyZWVOb2RlKCl9KSxMdCg2KSxjdCg3LEtXLDMsMiwiZGl2Iiw2KSxZZSgpKCksemUoOCwiZGl2Iiw3KSxMdCg5LDEpLEx0KDEwLDIpLFd0KDExLCJjbHItcmVjdXJzaXZlLWNoaWxkcmVuIiw4KSxZZSgpKSwyJmEmJihqdCgiYXJpYS1leHBhbmRlZCIsZC5pc0V4cGFuZGFibGUoKT9kLmV4''@;'; put 'put ''cGFuZGVkOm51bGwpKCJhcmlhLXNlbGVjdGVkIixkLmFyaWFTZWxlY3RlZCksVGUoMiksQmUoIm5nSWYiLGQuaXNFeHBhbmRhYmxlKCkmJiFkLmlzTW9kZWxMb2FkaW5nJiYhZC5leHBhbmRTZXJ2aWNlLmxvYWRpbmcpLFRlKDEpLEJlKCJuZ0lmIixkLmV4cGFuZFNlcnZpY2UubG9hZGluZ3x8''@;'; put 'put ''ZC5pc01vZGVsTG9hZGluZyksVGUoMSksQmUoIm5nSWYiLGQuZmVhdHVyZXNTZXJ2aWNlLnNlbGVjdGFibGUpLFRlKDMpLEJlKCJuZ0lmIixkLmZlYXR1cmVzU2VydmljZS5zZWxlY3RhYmxlKSxUZSgxKSxCZSgiQHRvZ2dsZUNoaWxkcmVuQW5pbSIsZC5leHBhbmRTZXJ2aWNlLmV4cGFuZGVk''@;'; put 'put ''PyJleHBhbmRlZCI6ImNvbGxhcHNlZCIpLGp0KCJyb2xlIixkLmlzRXhwYW5kYWJsZSgpJiYhZC5mZWF0dXJlc1NlcnZpY2UucmVjdXJzaW9uPyJncm91cCI6bnVsbCksVGUoMyksQmUoInBhcmVudCIsZC5fbW9kZWwpKX0sZGVwZW5kZW5jaWVzOltyeCxlcixZcl0sZW5jYXBzdWxhdGlvbjoy''@;'; put 'put ''LGRhdGE6e2FuaW1hdGlvbjpbRm8oInRvZ2dsZUNoaWxkcmVuQW5pbSIsW3BpKCJjb2xsYXBzZWQgPT4gZXhwYW5kZWQiLFtpcih7aGVpZ2h0OjB9KSxFaSgyMDAsaXIoe2hlaWdodDoiKiJ9KSldKSxwaSgiZXhwYW5kZWQgPT4gY29sbGFwc2VkIixbaXIoe2hlaWdodDoiKiJ9KSxFaSgyMDAs''@;'; put 'put ''aXIoe2hlaWdodDowfSkpXSksZTAoImV4cGFuZGVkIixpcih7aGVpZ2h0OiIqIiwib3ZlcmZsb3cteSI6InZpc2libGUifSkpLGUwKCJjb2xsYXBzZWQiLGlyKHtoZWlnaHQ6MH0pKV0pXX19KSxsfSkoKSxveD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCx7bmF0aXZlRWxlbWVudDpm''@;'; put 'put ''fSx2LHgpe3RoaXMuZmVhdHVyZXNTZXJ2aWNlPWEsdGhpcy5mb2N1c01hbmFnZXJTZXJ2aWNlPWQsdGhpcy5zdWJzY3JpcHRpb25zPVtdO2NvbnN0IEg9eC5ydW5PdXRzaWRlQW5ndWxhcigoKT0+WHMoZiwiZm9jdXNpbiIpLnN1YnNjcmliZShLPT57Sy50YXJnZXQ9PT1mJiYodGhpcy5mb2N1''@;'; put 'put ''c01hbmFnZXJTZXJ2aWNlLmZvY3VzRmlyc3RWaXNpYmxlTm9kZSgpLHYucmVtb3ZlQXR0cmlidXRlKGYsInRhYmluZGV4IikpfSkpO3RoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKEgpfXNldCBsYXp5KGEpe3RoaXMuZmVhdHVyZXNTZXJ2aWNlLmVhZ2VyPSFhfWdldCBpc011bHRpU2VsZWN0YWJs''@;'; put 'put ''ZSgpe3JldHVybiB0aGlzLmZlYXR1cmVzU2VydmljZS5zZWxlY3RhYmxlJiZ0aGlzLnJvb3ROb2Rlcy5sZW5ndGg+MH1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLnNldFJvb3ROb2RlcygpLHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucm9vdE5vZGVzLmNoYW5nZXMuc3Vic2NyaWJl''@;'; put 'put ''KCgpPT57dGhpcy5zZXRSb290Tm9kZXMoKX0pKX1zZXRSb290Tm9kZXMoKXt0aGlzLmZvY3VzTWFuYWdlclNlcnZpY2Uucm9vdE5vZGVNb2RlbHM9dGhpcy5yb290Tm9kZXMubWFwKGE9PmEuX21vZGVsKS5maWx0ZXIoYT0+IWEucGFyZW50KX1uZ09uRGVzdHJveSgpe3RoaXMuc3Vic2NyaXB0''@;'; put 'put ''aW9ucy5mb3JFYWNoKGE9PmEudW5zdWJzY3JpYmUoKSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKGxjKSxtZShZMSksbWUoaG4pLG1lKFduKSxtZShucikpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItdHJlZSJd''@;'; put 'put ''XSxjb250ZW50UXVlcmllczpmdW5jdGlvbihhLGQsZil7aWYoMSZhJiZIbihmLEIxLDQpLDImYSl7bGV0IHY7UXQodj0kdCgpKSYmKGQucm9vdE5vZGVzPXYpfX0saG9zdEF0dHJzOlsidGFiaW5kZXgiLCIwIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsyJmEmJmp0''@;'; put 'put ''KCJyb2xlIiwidHJlZSIpKCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsZC5pc011bHRpU2VsZWN0YWJsZSl9LGlucHV0czp7bGF6eTpbImNsckxhenkiLCJsYXp5Il19LGZlYXR1cmVzOltkbihbbngsWTFdKV0sbmdDb250ZW50U2VsZWN0b3JzOlBuLGRlY2xzOjIsdmFyczoxLGNvbnN0czpbWzMs''@;'; put 'put ''ImNoaWxkcmVuIiw0LCJuZ0lmIl0sWzMsImNoaWxkcmVuIl1dLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYodG4oKSxMdCgwKSxjdCgxLCRXLDEsMSwiY2xyLXJlY3Vyc2l2ZS1jaGlsZHJlbiIsMCkpLDImYSYmKFRlKDEpLEJlKCJuZ0lmIixkLmZlYXR1cmVzU2VydmljZS5yZWN1cnNp''@;'; put 'put ''b24pKX0sZGVwZW5kZW5jaWVzOltyeCxlcl0sZW5jYXBzdWxhdGlvbjoyfSksbH0pKCksWFo9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe01yLmFkZEljb25zKGt1KX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0''@;'; put 'put ''eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLEVyLHcxXV19KSxsfSkoKSxRWj0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBv''@;'; put 'put ''cnRzOltCWixVWixYWl19KSxsfSkoKTtjbGFzcyBzeHtzdGF0aWMgbGlua1BhcmVudChjLGEsZCl7Yy5mb3JFYWNoKGY9PmZbZF09YSl9c3RhdGljIGxpbmtWZXJ0aWNhbChjLGE9ITApe2MuZm9yRWFjaCgoZCxmKT0+e2Y+MCYmKGQudXA9Y1tmLTFdKSxmPGMubGVuZ3RoLTEmJihkLmRvd249''@;'; put 'put ''Y1tmKzFdKX0pLGEmJmMubGVuZ3RoPjEmJihjWzBdLnVwPWNbYy5sZW5ndGgtMV0sY1tjLmxlbmd0aC0xXS5kb3duPWNbMF0pfX1mdW5jdGlvbiBheChsLGMsYSl7cmV0dXJuIGIuY3JlYXRlKGQ9PntjKGQpO2NvbnN0IGY9bC5zdWJzY3JpYmUoZCk7cmV0dXJuKCk9PntmLnVuc3Vic2NyaWJl''@;'; put 'put ''KCksYSYmYShkKX19KX1sZXQgSDE9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZix2LHgsSCl7dGhpcy5pZD1hLHRoaXMucmVuZGVyZXI9ZCx0aGlzLnBhcmVudD1mLHRoaXMudG9nZ2xlU2VydmljZT12LHRoaXMuZm9jdXNTZXJ2aWNlPXgsdGhpcy5wbGF0Zm9ybUlkPUgsdGhpcy5f''@;'; put 'put ''dW5saXN0ZW5GdW5jcz1bXSx0aGlzLmZvY3VzQmFja09uVHJpZ2dlcj0hMSx0aGlzLnJlc2V0Q2hpbGRyZW4oKSx0aGlzLm1vdmVUb0ZpcnN0SXRlbVdoZW5PcGVuKCksdGhpcy5wYXJlbnR8fHRoaXMuaGFuZGxlUm9vdEZvY3VzKCl9bW92ZVRvRmlyc3RJdGVtV2hlbk9wZW4oKXtjb25zdCBh''@;'; put 'put ''PXRoaXMudG9nZ2xlU2VydmljZS5vcGVuQ2hhbmdlLnN1YnNjcmliZShkPT57ZCYmdGhpcy50b2dnbGVTZXJ2aWNlLm9yaWdpbmFsRXZlbnQmJnNldFRpbWVvdXQoKCk9Pnt0aGlzLmZvY3VzU2VydmljZS5tb3ZlVG8odGhpcyksdGhpcy5mb2N1c1NlcnZpY2UubW92ZSh0aGlzLnBhcmVudD9v''@;'; put 'put ''by5SSUdIVDpvby5ET1dOKX0pfSk7dGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKCgpPT5hLnVuc3Vic2NyaWJlKCkpfWhhbmRsZVJvb3RGb2N1cygpe2NvbnN0IGE9dGhpcy50b2dnbGVTZXJ2aWNlLm9wZW5DaGFuZ2Uuc3Vic2NyaWJlKGQ9PntkfHwodGhpcy5mb2N1c1NlcnZpY2UucmVzZXQo''@;'; put 'put ''dGhpcyksdGhpcy5mb2N1c0JhY2tPblRyaWdnZXImJnRoaXMuZm9jdXMoKSksdGhpcy5mb2N1c0JhY2tPblRyaWdnZXI9ZH0pO3RoaXMuX3VubGlzdGVuRnVuY3MucHVzaCgoKT0+YS51bnN1YnNjcmliZSgpKX1nZXQgdHJpZ2dlcigpe3JldHVybiB0aGlzLl90cmlnZ2VyfXNldCB0cmlnZ2Vy''@;'; put 'put ''KGEpe3RoaXMuX3RyaWdnZXI9YSx0aGlzLnBhcmVudD90aGlzLl91bmxpc3RlbkZ1bmNzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oYSwia2V5ZG93bi5hcnJvd3JpZ2h0IixkPT50aGlzLnRvZ2dsZVNlcnZpY2UudG9nZ2xlV2l0aEV2ZW50KGQpKSk6KHRoaXMuX3VubGlzdGVuRnVuY3Mu''@;'; put 'put ''cHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbihhLCJrZXlkb3duLmFycm93dXAiLGQ9PnRoaXMudG9nZ2xlU2VydmljZS50b2dnbGVXaXRoRXZlbnQoZCkpKSx0aGlzLl91bmxpc3RlbkZ1bmNzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oYSwia2V5ZG93bi5hcnJvd2Rvd24iLGQ9PnRoaXMu''@;'; put 'put ''dG9nZ2xlU2VydmljZS50b2dnbGVXaXRoRXZlbnQoZCkpKSx0aGlzLmZvY3VzU2VydmljZS5saXN0ZW5Ub0Fycm93S2V5cyhhKSl9Z2V0IGNvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9c2V0IGNvbnRhaW5lcihhKXt0aGlzLl9jb250YWluZXI9YSx0aGlzLl91bmxpc3RlbkZ1''@;'; put 'put ''bmNzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oYSwia2V5ZG93bi50YWIiLGQ9PnRoaXMudG9nZ2xlU2VydmljZS50b2dnbGVXaXRoRXZlbnQoZCkpKSx0aGlzLnBhcmVudD90aGlzLl91bmxpc3RlbkZ1bmNzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oYSwia2V5ZG93bi5lc2MiLGQ9''@;'; put 'put ''Pnt0aGlzLmZvY3VzU2VydmljZS5tb3ZlKG9vLkxFRlQpLGQuc3RvcFByb3BhZ2F0aW9uKCl9KSk6KHRoaXMuZm9jdXNTZXJ2aWNlLnJlZ2lzdGVyQ29udGFpbmVyKGEpLHRoaXMuX3VubGlzdGVuRnVuY3MucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbihhLCJrZXlkb3duLmVzYyIsZD0+dGhp''@;'; put 'put ''cy50b2dnbGVTZXJ2aWNlLnRvZ2dsZVdpdGhFdmVudChkKSkpLHRoaXMuX3VubGlzdGVuRnVuY3MucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbihhLCJibHVyIixkPT57dGhpcy5jaGlsZHJlbi5waXBlKFlsKDEpKS5zdWJzY3JpYmUodj0+di5mb3JFYWNoKHg9PnguYmx1cigpKSk7Y29uc3Qg''@;'; put 'put ''Zj1kLnJlbGF0ZWRUYXJnZXR8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7ZiYmd3IodGhpcy5wbGF0Zm9ybUlkKSYmKGEuY29udGFpbnMoZil8fGY9PT10aGlzLnRyaWdnZXIpfHwodGhpcy5mb2N1c0JhY2tPblRyaWdnZXI9ITEsdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW49ITEpfSkpKX1mb2N1''@;'; put 'put ''cygpe3RoaXMudHJpZ2dlciYmd3IodGhpcy5wbGF0Zm9ybUlkKSYmdGhpcy50cmlnZ2VyLmZvY3VzKCl9Ymx1cigpe3RoaXMudHJpZ2dlciYmd3IodGhpcy5wbGF0Zm9ybUlkKSYmdGhpcy50cmlnZ2VyLmJsdXIoKX1hY3RpdmF0ZSgpe3dyKHRoaXMucGxhdGZvcm1JZCkmJnRoaXMudHJpZ2dl''@;'; put 'put ''ci5jbGljaygpfW9wZW5BbmRHZXRDaGlsZHJlbigpe3JldHVybiBheCh0aGlzLmNoaWxkcmVuLCgpPT50aGlzLnRvZ2dsZVNlcnZpY2Uub3Blbj0hMCl9Y2xvc2VBbmRHZXRUaGlzKCl7cmV0dXJuIGF4KEFuKHRoaXMpLCgpPT50aGlzLnRvZ2dsZVNlcnZpY2Uub3Blbj0hMSl9cmVzZXRDaGls''@;'; put 'put ''ZHJlbigpe3RoaXMuY2hpbGRyZW49bmV3IER5KDEpLHRoaXMucGFyZW50P3RoaXMucmlnaHQ9dGhpcy5vcGVuQW5kR2V0Q2hpbGRyZW4oKS5waXBlKHVlKGE9PmFbMF0pKToodGhpcy5kb3duPXRoaXMub3BlbkFuZEdldENoaWxkcmVuKCkucGlwZSh1ZShhPT5hWzBdKSksdGhpcy51cD10aGlz''@;'; put 'put ''Lm9wZW5BbmRHZXRDaGlsZHJlbigpLnBpcGUodWUoYT0+YVthLmxlbmd0aC0xXSkpKX1hZGRDaGlsZHJlbihhKXtzeC5saW5rVmVydGljYWwoYSksdGhpcy5wYXJlbnQmJnN4LmxpbmtQYXJlbnQoYSx0aGlzLmNsb3NlQW5kR2V0VGhpcygpLG9vLkxFRlQpLHRoaXMuY2hpbGRyZW4ubmV4dChh''@;'; put 'put ''KX1uZ09uRGVzdHJveSgpe3RoaXMuX3VubGlzdGVuRnVuY3MuZm9yRWFjaChhPT5hKCkpLHRoaXMuZm9jdXNTZXJ2aWNlLmRldGFjaExpc3RlbmVycygpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShFdChsaSksRXQoV24pLEV0KGwsMTIpLEV0KFRy''@;'; put 'put ''KSxFdChwMCksRXQoWHIpKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjpsLGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKTtjb25zdCAkWj1wRChIMSk7bGV0IGxmPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9jaGFuZ2VzPW5ldyBFfWdldCBjaGFuZ2VzKCl7cmV0dXJuIHRo''@;'; put 'put ''aXMuX2NoYW5nZXMuYXNPYnNlcnZhYmxlKCl9Y2xvc2VNZW51cygpe3RoaXMuX2NoYW5nZXMubmV4dCghMSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgp''@;'; put 'put ''O2NvbnN0IHRKPXtwcm92aWRlOmxmLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gZUoobCl7cmV0dXJuIGx8fG5ldyBsZn0sZGVwczpbW25ldyBKYSxuZXcgS2EsbGZdXX07bGV0IHgwPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdil7dGhpcy5wYXJlbnQ9YSx0aGlzLnRvZ2dsZVNlcnZp''@;'; put 'put ''Y2U9ZCx0aGlzLmNkcj1mLHRoaXMuc3Vic2NyaXB0aW9ucz1bXSx0aGlzLmlzTWVudUNsb3NhYmxlPSEwLHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHYuY2hhbmdlcy5zdWJzY3JpYmUoeD0+dGhpcy50b2dnbGVTZXJ2aWNlLm9wZW49eCkpLHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGQub3Bl''@;'; put 'put ''bkNoYW5nZS5zdWJzY3JpYmUoKCk9PnRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChhPT5hLnVuc3Vic2NyaWJlKCkpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShsLDEy''@;'; put 'put ''KSxtZShUciksbWUoeGkpLG1lKGxmKSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci1kcm9wZG93biJdXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezImYSYmVnQoImRyb3Bkb3duIiwhMCkoIm9wZW4iLGQudG9nZ2xlU2VydmljZS5vcGVu''@;'; put 'put ''KX0saW5wdXRzOntpc01lbnVDbG9zYWJsZTpbImNsckNsb3NlTWVudU9uSXRlbUNsaWNrIiwiaXNNZW51Q2xvc2FibGUiXX0sZmVhdHVyZXM6W2RuKFt0Six7cHJvdmlkZTpZdSx1c2VFeGlzdGluZzpobn0sVEcsVHIsJFpdKV0sbmdDb250ZW50U2VsZWN0b3JzOlBuLGRlY2xzOjEsdmFyczow''@;'; put 'put ''LHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYodG4oKSxMdCgwKSl9LGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpO2NvbnN0IG5KPVtMaSx7cHJvdmlkZTpnMCx1c2VDbGFzczooKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmLHYpe3RoaXMuaWQ9YSx0aGlzLmVsPWQsdGhpcy5yZW5k''@;'; put 'put ''ZXJlcj1mLHRoaXMucGxhdGZvcm1JZD12LHRoaXMuZGlzYWJsZWQ9ITEsZi5zZXRBdHRyaWJ1dGUoZC5uYXRpdmVFbGVtZW50LCJpZCIsYSksZi5zZXRBdHRyaWJ1dGUoZC5uYXRpdmVFbGVtZW50LCJ0YWJpbmRleCIsIi0xIil9Zm9jdXMoKXt3cih0aGlzLnBsYXRmb3JtSWQpJiYodGhpcy5y''@;'; put 'put ''ZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCJ0YWJpbmRleCIsIjAiKSx0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSx0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGJsb2NrOiJjZW50ZXIiLGlubGlu''@;'; put 'put ''ZToibmVhcmVzdCJ9KSl9Ymx1cigpe3dyKHRoaXMucGxhdGZvcm1JZCkmJih0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsInRhYmluZGV4IiwiLTEiKSx0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYmx1cigpKX1hY3RpdmF0ZSgpe3dyKHRoaXMucGxhdGZv''@;'; put 'put ''cm1JZCkmJnRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGljaygpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShFdChsaSksRXQoaG4pLEV0KFduKSxFdChYcikpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9''@;'; put 'put ''KSgpfV07bGV0IGx4PSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdix4KXt0aGlzLmRyb3Bkb3duPWEsdGhpcy5lbD1kLHRoaXMuX2Ryb3Bkb3duU2VydmljZT1mLHRoaXMucmVuZGVyZXI9dix0aGlzLmZvY3VzYWJsZUl0ZW09eCx0aGlzLnNldEJ5RGVwcmVjYXRlZERpc2FibGVk''@;'; put 'put ''PSExfXNldCBkaXNhYmxlZChhKXt0aGlzLmZvY3VzYWJsZUl0ZW0uZGlzYWJsZWQ9ISFhfHwiIj09PWF9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuZm9jdXNhYmxlSXRlbS5kaXNhYmxlZH1zZXQgZGlzYWJsZWREZXByZWNhdGVkKGEpe3RoaXMuZm9jdXNhYmxlSXRlbS5kaXNhYmxlZD0h''@;'; put 'put ''IWF8fCIiPT09YSx0aGlzLnNldEJ5RGVwcmVjYXRlZERpc2FibGVkPSEwfWdldCBkaXNhYmxlZERlcHJlY2F0ZWQoKXtyZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtLmRpc2FibGVkfXNldCBkcm9wZG93bkl0ZW1JZChhKXt0aGlzLmZvY3VzYWJsZUl0ZW0uaWQ9YX1nZXQgZHJvcGRvd25JdGVt''@;'; put 'put ''SWQoKXtyZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtLmlkfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudW5saXN0ZW49dGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbC5uYXRpdmVFbGVtZW50LCJjbGljayIsKCk9PnRoaXMub25Ecm9wZG93bkl0ZW1DbGljaygpKX1vbkRyb3Bkb3duSXRlbUNs''@;'; put 'put ''aWNrKCl7dGhpcy5kcm9wZG93bi5pc01lbnVDbG9zYWJsZSYmIXRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikmJnRoaXMuX2Ryb3Bkb3duU2VydmljZS5jbG9zZU1lbnVzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLnVubGlzdGVuJiZ0aGlzLnVubGlz''@;'; put 'put ''dGVuKCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKHgwKSxtZShobiksbWUobGYpLG1lKFduKSxtZShnMCkpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLCJjbHJEcm9wZG93bkl0ZW0iLCIiXV0saG9zdFZhcnM6OCxo''@;'; put 'put ''b3N0QmluZGluZ3M6ZnVuY3Rpb24oYSxkKXsyJmEmJihqdCgicm9sZSIsIm1lbnVpdGVtIikoImFyaWEtZGlzYWJsZWQiLGQuZGlzYWJsZWQpKCJkaXNhYmxlZCIsZC5kaXNhYmxlZCYmZC5zZXRCeURlcHJlY2F0ZWREaXNhYmxlZD8iIjpudWxsKSgiaWQiLGQuZHJvcGRvd25JdGVtSWQpLFZ0''@;'; put 'put ''KCJkaXNhYmxlZCIsZC5kaXNhYmxlZCkoImRyb3Bkb3duLWl0ZW0iLCEwKSl9LGlucHV0czp7ZGlzYWJsZWQ6WyJjbHJEaXNhYmxlZCIsImRpc2FibGVkIl0sZGlzYWJsZWREZXByZWNhdGVkOlsiZGlzYWJsZWQiLCJkaXNhYmxlZERlcHJlY2F0ZWQiXSxkcm9wZG93bkl0ZW1JZDpbImlkIiwi''@;'; put 'put ''ZHJvcGRvd25JdGVtSWQiXX0sZmVhdHVyZXM6W2RuKFtuSl0pXX0pLGx9KSgpO3ZhciBSdD0oKCk9PihmdW5jdGlvbihsKXtsW2wuUklHSFRfQ0VOVEVSPTBdPSJSSUdIVF9DRU5URVIiLGxbbC5SSUdIVF9UT1A9MV09IlJJR0hUX1RPUCIsbFtsLlJJR0hUX0JPVFRPTT0yXT0iUklHSFRfQk9U''@;'; put 'put ''VE9NIixsW2wuVE9QX0NFTlRFUj0zXT0iVE9QX0NFTlRFUiIsbFtsLlRPUF9SSUdIVD00XT0iVE9QX1JJR0hUIixsW2wuVE9QX0xFRlQ9NV09IlRPUF9MRUZUIixsW2wuQk9UVE9NX0NFTlRFUj02XT0iQk9UVE9NX0NFTlRFUiIsbFtsLkJPVFRPTV9SSUdIVD03XT0iQk9UVE9NX1JJR0hUIixs''@;'; put 'put ''W2wuQk9UVE9NX0xFRlQ9OF09IkJPVFRPTV9MRUZUIixsW2wuTEVGVF9DRU5URVI9OV09IkxFRlRfQ0VOVEVSIixsW2wuTEVGVF9UT1A9MTBdPSJMRUZUX1RPUCIsbFtsLkxFRlRfQk9UVE9NPTExXT0iTEVGVF9CT1RUT00ifShSdHx8KFJ0PXt9KSksUnQpKSgpO2NvbnN0IGN4PSJhYnNvbHV0''@;'; put 'put ''ZSI7Y2xhc3Mgb0p7Y29uc3RydWN0b3IoYyl7dGhpcy5lbGVtZW50PWMsdGhpcy5zY3JvbGxhYmxlRWxlbWVudHM9W10sdGhpcy5ib3VuZE9uU2Nyb2xsTGlzdGVuZXI9dGhpcy5lbWl0U2Nyb2xsRXZlbnQuYmluZCh0aGlzKSxjLnN0eWxlLnBvc2l0aW9uPWN4LGMuc3R5bGUudG9wPTAsYy5z''@;'; put 'put ''dHlsZS5ib3R0b209ImF1dG8iLGMuc3R5bGUubGVmdD0wLGMuc3R5bGUucmlnaHQ9ImF1dG8ifWFuY2hvcihjLGEsZCx7b2Zmc2V0WDpmPTAsb2Zmc2V0WTp2PTAsdXNlQW5jaG9yUGFyZW50Ong9ITF9PXt9KXt0aGlzLmFkZFNjcm9sbEV2ZW50TGlzdGVuZXJzKGMpLHgmJihjPWMucGFyZW50''@;'; put 'put ''Tm9kZSksYy5zdHlsZS5wb3NpdGlvbj0ic3RhdGljIjtjb25zdCBIPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksSz10aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bGV0IGVlPUgubGVmdC1LLmxlZnQrZixmZT1ILnRvcC1LLnRvcCt2O3N3aXRjaChhKXtjYXNlIFJ0LkxF''@;'; put 'put ''RlRfVE9QOmNhc2UgUnQuVE9QX0xFRlQ6YnJlYWs7Y2FzZSBSdC5UT1BfQ0VOVEVSOmVlKz1ILndpZHRoLzI7YnJlYWs7Y2FzZSBSdC5UT1BfUklHSFQ6Y2FzZSBSdC5SSUdIVF9UT1A6ZWUrPUgud2lkdGg7YnJlYWs7Y2FzZSBSdC5MRUZUX0JPVFRPTTpjYXNlIFJ0LkJPVFRPTV9MRUZUOmZl''@;'; put 'put ''Kz1ILmhlaWdodDticmVhaztjYXNlIFJ0LkJPVFRPTV9DRU5URVI6ZmUrPUguaGVpZ2h0LGVlKz1ILndpZHRoLzI7YnJlYWs7Y2FzZSBSdC5CT1RUT01fUklHSFQ6Y2FzZSBSdC5SSUdIVF9CT1RUT006ZmUrPUguaGVpZ2h0LGVlKz1ILndpZHRoO2JyZWFrO2Nhc2UgUnQuTEVGVF9DRU5URVI6''@;'; put 'put ''ZmUrPUguaGVpZ2h0LzI7YnJlYWs7Y2FzZSBSdC5SSUdIVF9DRU5URVI6ZmUrPUguaGVpZ2h0LzIsZWUrPUgud2lkdGh9c3dpdGNoKGQpe2Nhc2UgUnQuTEVGVF9UT1A6Y2FzZSBSdC5UT1BfTEVGVDpicmVhaztjYXNlIFJ0LlRPUF9DRU5URVI6ZWUtPUsud2lkdGgvMjticmVhaztjYXNlIFJ0''@;'; put 'put ''LlRPUF9SSUdIVDpjYXNlIFJ0LlJJR0hUX1RPUDplZS09Sy53aWR0aDticmVhaztjYXNlIFJ0LkxFRlRfQk9UVE9NOmNhc2UgUnQuQk9UVE9NX0xFRlQ6ZmUtPUsuaGVpZ2h0O2JyZWFrO2Nhc2UgUnQuQk9UVE9NX0NFTlRFUjpmZS09Sy5oZWlnaHQsZWUtPUsud2lkdGgvMjticmVhaztjYXNl''@;'; put 'put ''IFJ0LkJPVFRPTV9SSUdIVDpjYXNlIFJ0LlJJR0hUX0JPVFRPTTpmZS09Sy5oZWlnaHQsZWUtPUsud2lkdGg7YnJlYWs7Y2FzZSBSdC5MRUZUX0NFTlRFUjpmZS09Sy5oZWlnaHQvMjticmVhaztjYXNlIFJ0LlJJR0hUX0NFTlRFUjpmZS09Sy5oZWlnaHQvMixlZS09Sy53aWR0aH1jb25zdCB5''@;'; put 'put ''ZT1nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudCksamU9cGFyc2VJbnQoeWUubWFyZ2luTGVmdCwxMCksSWU9cGFyc2VJbnQoeWUubWFyZ2luUmlnaHQsMTApLHFlPXBhcnNlSW50KHllLm1hcmdpblRvcCwxMCksc3Q9cGFyc2VJbnQoeWUubWFyZ2luQm90dG9tLDEwKTtzd2l0Y2goYSl7''@;'; put 'put ''Y2FzZSBSdC5MRUZUX1RPUDpjYXNlIFJ0LlRPUF9MRUZUOmNhc2UgUnQuVE9QX1JJR0hUOmNhc2UgUnQuUklHSFRfVE9QOihkPT09UnQuQk9UVE9NX1JJR0hUfHxkPT09UnQuUklHSFRfQk9UVE9NKSYmKGZlLT1zdCxlZS09SWUpLChkPT09UnQuQk9UVE9NX0xFRlR8fGQ9PT1SdC5MRUZUX0JP''@;'; put 'put ''VFRPTSkmJihmZS09cWUsZWUrPWplKSwoZD09PVJ0LlRPUF9MRUZUfHxkPT09UnQuTEVGVF9UT1ApJiYoZmUrPXFlLGVlKz1qZSksKGQ9PT1SdC5UT1BfUklHSFR8fGQ9PT1SdC5SSUdIVF9UT1ApJiYoZmUrPXFlLGVlLT1JZSk7YnJlYWs7Y2FzZSBSdC5MRUZUX0JPVFRPTTpjYXNlIFJ0LkJP''@;'; put 'put ''VFRPTV9MRUZUOmNhc2UgUnQuQk9UVE9NX1JJR0hUOmNhc2UgUnQuUklHSFRfQk9UVE9NOihkPT09UnQuQk9UVE9NX0xFRlR8fGQ9PT1SdC5MRUZUX0JPVFRPTSkmJihmZS09c3QsZWUrPWplKSwoZD09PVJ0LkJPVFRPTV9SSUdIVHx8ZD09PVJ0LlJJR0hUX0JPVFRPTSkmJihmZS09c3QsZWUt''@;'; put 'put ''PUllKSwoZD09PVJ0LlRPUF9MRUZUfHxkPT09UnQuTEVGVF9UT1ApJiYoZmUrPXFlLGVlKz1qZSksKGQ9PT1SdC5UT1BfUklHSFR8fGQ9PT1SdC5SSUdIVF9UT1ApJiYoZmUrPXFlLGVlLT1JZSk7YnJlYWs7Y2FzZSBSdC5UT1BfQ0VOVEVSOmZlLT1zdCxlZSs9amUsZWUtPUllO2JyZWFrO2Nh''@;'; put 'put ''c2UgUnQuQk9UVE9NX0NFTlRFUjpmZSs9cWUsZWUrPWplLGVlLT1JZTticmVhaztjYXNlIFJ0LkxFRlRfQ0VOVEVSOmZlKz1xZSxmZS09c3QsZWUtPUllO2JyZWFrO2Nhc2UgUnQuUklHSFRfQ0VOVEVSOmZlKz1xZSxmZS09c3QsZWUrPWplfXJldHVybiB0aGlzLmVsZW1lbnQuc3R5bGUudHJh''@;'; put 'put ''bnNmb3JtPWB0cmFuc2xhdGVYKCR7TWF0aC5yb3VuZChlZSl9cHgpIHRyYW5zbGF0ZVkoJHtNYXRoLnJvdW5kKGZlKX1weClgLHRoaXMuX3Njcm9sbC5hc09ic2VydmFibGUoKX1yZWxlYXNlKCl7dGhpcy5lbGVtZW50LnN0eWxlLnRyYW5zZm9ybT0iIix0aGlzLnJlbW92ZVNjcm9sbEV2ZW50''@;'; put 'put ''TGlzdGVuZXJzKCl9aXNQb3NpdGlvbmVkKGMpe2NvbnN0IGE9Z2V0Q29tcHV0ZWRTdHlsZShjKS5wb3NpdGlvbjtyZXR1cm4icmVsYXRpdmUiPT09YXx8YT09PWN4fHwiZml4ZWQiPT09YX1lbWl0U2Nyb2xsRXZlbnQoKXt0aGlzLl9zY3JvbGwubmV4dCgpfWFkZFNjcm9sbEV2ZW50TGlzdGVu''@;'; put 'put ''ZXJzKGMpe3RoaXMuX3Njcm9sbD1uZXcgRTtjb25zdCBhPWM7bGV0IGQ9Yztmb3IoO2QmJmQhPT1kb2N1bWVudCYmKHRoaXMuc2Nyb2xscyhkKSYmKGQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmJvdW5kT25TY3JvbGxMaXN0ZW5lciksdGhpcy5zY3JvbGxhYmxlRWxlbWVudHMu''@;'; put 'put ''cHVzaChkKSksZD09PWF8fCF0aGlzLmlzUG9zaXRpb25lZChkKSk7KWQ9ZC5wYXJlbnROb2RlfXJlbW92ZVNjcm9sbEV2ZW50TGlzdGVuZXJzKCl7Zm9yKGNvbnN0IGMgb2YgdGhpcy5zY3JvbGxhYmxlRWxlbWVudHMpYy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuYm91bmRP''@;'; put 'put ''blNjcm9sbExpc3RlbmVyKTt0aGlzLnNjcm9sbGFibGVFbGVtZW50cy5sZW5ndGg9MCx0aGlzLl9zY3JvbGwmJih0aGlzLl9zY3JvbGwuY29tcGxldGUoKSxkZWxldGUgdGhpcy5fc2Nyb2xsKX1zY3JvbGxzKGMpe2NvbnN0IGE9Z2V0Q29tcHV0ZWRTdHlsZShjKTtyZXR1cm4ic2Nyb2xsIj09''@;'; put 'put ''PWEub3ZlcmZsb3dYfHwiYXV0byI9PT1hLm92ZXJmbG93WHx8InNjcm9sbCI9PT1hLm92ZXJmbG93WXx8ImF1dG8iPT09YS5vdmVyZmxvd1l9fWxldCBWMT0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCl7dGhpcy5wYXJlbnRIb3N0PWQsdGhpcy51cGRhdGVBbmNob3I9ITEsdGhpcy5w''@;'; put 'put ''b3BvdmVyT3B0aW9ucz17fSx0aGlzLmNsb3NlT25PdXRzaWRlQ2xpY2s9ITEsdGhpcy5kb2N1bWVudEVTQ0xpc3RlbmVyPW51bGwsdGhpcy5jbG9zZU9uT3V0c2lkZUNsaWNrQ2FsbGJhY2s9Zj0+e3RoaXMuYW5jaG9yRWxlbS5jb250YWlucyhmLnRhcmdldCl8fCh0aGlzLnRvZ2dsZVNlcnZp''@;'; put 'put ''Y2Uub3Blbj0hMSl9LHRoaXMuZWw9YS5nZXQoaG4pLHRoaXMudG9nZ2xlU2VydmljZT1hLmdldChUciksdGhpcy5yZW5kZXJlcj1hLmdldChXbiksdGhpcy5uZ1pvbmU9YS5nZXQobnIpLHRoaXMucmVmPWEuZ2V0KHhpKSx0aGlzLmFuY2hvckVsZW09ZC5uYXRpdmVFbGVtZW50LHRoaXMucG9w''@;'; put 'put ''b3Zlckluc3RhbmNlPW5ldyBvSih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLHRoaXMuc3Vic2NyaXB0aW9uPXRoaXMudG9nZ2xlU2VydmljZS5vcGVuQ2hhbmdlLnN1YnNjcmliZShmPT57Zj8odGhpcy5hbmNob3IoKSx0aGlzLmF0dGFjaEVTQ0xpc3RlbmVyKCkpOih0aGlzLnJlbGVhc2UoKSx0''@;'; put 'put ''aGlzLmRldGFjaEVTQ0xpc3RlbmVyKCkpfSksdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4mJih0aGlzLmFuY2hvcigpLHRoaXMuYXR0YWNoRVNDTGlzdGVuZXIoKSl9YW5jaG9yKCl7dGhpcy51cGRhdGVBbmNob3I9ITB9cmVsZWFzZSgpe3RoaXMuZGV0YWNoT3V0c2lkZUNsaWNrTGlzdGVuZXIo''@;'; put 'put ''KSx0aGlzLnBvcG92ZXJJbnN0YW5jZS5yZWxlYXNlKCl9bmdBZnRlclZpZXdDaGVja2VkKCl7dGhpcy51cGRhdGVBbmNob3ImJih0aGlzLnVwZGF0ZUFuY2hvcj0hMSx0aGlzLnBvcG92ZXJJbnN0YW5jZS5hbmNob3IodGhpcy5hbmNob3JFbGVtLHRoaXMuYW5jaG9yUG9pbnQsdGhpcy5wb3Bv''@;'; put 'put ''dmVyUG9pbnQsdGhpcy5wb3BvdmVyT3B0aW9ucykuc3Vic2NyaWJlKCgpPT57dGhpcy50b2dnbGVTZXJ2aWNlLm9wZW49ITF9KSx0aGlzLmF0dGFjaE91dHNpZGVDbGlja0xpc3RlbmVyKCkpfW5nT25EZXN0cm95KCl7dGhpcy5yZWxlYXNlKCksdGhpcy5kZXRhY2hFU0NMaXN0ZW5lcigpLHRo''@;'; put 'put ''aXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCl9Z2V0IGlzT2ZmU2NyZWVuKCl7cmV0dXJuIXRoaXMudG9nZ2xlU2VydmljZS5vcGVufWF0dGFjaEVTQ0xpc3RlbmVyKCl7dGhpcy5wb3BvdmVyT3B0aW9ucy5pZ25vcmVHbG9iYWxFU0NMaXN0ZW5lcnx8dGhpcy5uZ1pvbmUucnVuT3V0c2lk''@;'; put 'put ''ZUFuZ3VsYXIoKCk9Pnt0aGlzLmRvY3VtZW50RVNDTGlzdGVuZXI9dGhpcy5yZW5kZXJlci5saXN0ZW4oImRvY3VtZW50Iiwia2V5ZG93biIsYT0+e2EmJmEua2V5JiYoIkVzY2FwZSI9PT1hLmtleXx8IkVzYyI9PT1hLmtleSkmJnRoaXMubmdab25lLnJ1bigoKT0+e3RoaXMudG9nZ2xlU2Vy''@;'; put 'put ''dmljZS5vcGVuPSExLHRoaXMucmVmLm1hcmtGb3JDaGVjaygpfSl9KX0pfWRldGFjaEVTQ0xpc3RlbmVyKCl7dGhpcy5kb2N1bWVudEVTQ0xpc3RlbmVyJiYodGhpcy5kb2N1bWVudEVTQ0xpc3RlbmVyKCksdGhpcy5kb2N1bWVudEVTQ0xpc3RlbmVyPW51bGwpfWF0dGFjaE91dHNpZGVDbGlj''@;'; put 'put ''a0xpc3RlbmVyKCl7dGhpcy5jbG9zZU9uT3V0c2lkZUNsaWNrJiZ0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiYmZG9jdW1lbnQmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXImJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmNsb3NlT25PdXRzaWRlQ2xpY2tDYWxsYmFj''@;'; put 'put ''aywhMCl9ZGV0YWNoT3V0c2lkZUNsaWNrTGlzdGVuZXIoKXt0aGlzLmNsb3NlT25PdXRzaWRlQ2xpY2smJmRvY3VtZW50JiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5jbG9zZU9uT3V0c2lkZUNsaWNrQ2Fs''@;'; put 'put ''bGJhY2ssITApfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShWciksbWUoaG4sNCkpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MiZhJiZWdCgiaXMtb2ZmLXNjcmVlbiIsZC5p''@;'; put 'put ''c09mZlNjcmVlbil9fSksbH0pKCksaHg9KCgpPT57Y2xhc3MgbCBleHRlbmRzIFYxe2NvbnN0cnVjdG9yKGEsZCxmLHYpe2lmKCFkKXRocm93IG5ldyBFcnJvcigiY2xyLWRyb3Bkb3duLW1lbnUgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbnNpZGUgb2YgYSBjbHItZHJvcGRvd24iKTtzdXBlcihh''@;'; put 'put ''LGQpLGY/KHRoaXMuYW5jaG9yUG9pbnQ9UnQuUklHSFRfVE9QLHRoaXMucG9wb3ZlclBvaW50PVJ0LkxFRlRfVE9QKToodGhpcy5hbmNob3JQb2ludD1SdC5CT1RUT01fTEVGVCx0aGlzLnBvcG92ZXJQb2ludD1SdC5MRUZUX1RPUCksdGhpcy5wb3BvdmVyT3B0aW9ucy5hbGxvd011bHRpcGxl''@;'; put 'put ''T3Blbj0hMCx0aGlzLnBvcG92ZXJPcHRpb25zLmlnbm9yZUdsb2JhbEVTQ0xpc3RlbmVyPSEwLHRoaXMuY2xvc2VPbk91dHNpZGVDbGljaz0hMCx0aGlzLmZvY3VzSGFuZGxlcj12fXNldCBwb3NpdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSJ0b3AtcmlnaHQiOnRoaXMuYW5jaG9yUG9pbnQ9UnQu''@;'; put 'put ''VE9QX1JJR0hULHRoaXMucG9wb3ZlclBvaW50PVJ0LlJJR0hUX0JPVFRPTTticmVhaztjYXNlInRvcC1sZWZ0Ijp0aGlzLmFuY2hvclBvaW50PVJ0LlRPUF9MRUZULHRoaXMucG9wb3ZlclBvaW50PVJ0LkxFRlRfQk9UVE9NO2JyZWFrO2Nhc2UiYm90dG9tLXJpZ2h0Ijp0aGlzLmFuY2hvclBv''@;'; put 'put ''aW50PVJ0LkJPVFRPTV9SSUdIVCx0aGlzLnBvcG92ZXJQb2ludD1SdC5SSUdIVF9UT1A7YnJlYWs7Y2FzZSJib3R0b20tbGVmdCI6ZGVmYXVsdDp0aGlzLmFuY2hvclBvaW50PVJ0LkJPVFRPTV9MRUZULHRoaXMucG9wb3ZlclBvaW50PVJ0LkxFRlRfVE9QO2JyZWFrO2Nhc2UicmlnaHQtdG9w''@;'; put 'put ''Ijp0aGlzLmFuY2hvclBvaW50PVJ0LlJJR0hUX1RPUCx0aGlzLnBvcG92ZXJQb2ludD1SdC5MRUZUX1RPUDticmVhaztjYXNlInJpZ2h0LWJvdHRvbSI6dGhpcy5hbmNob3JQb2ludD1SdC5SSUdIVF9CT1RUT00sdGhpcy5wb3BvdmVyUG9pbnQ9UnQuTEVGVF9CT1RUT007YnJlYWs7Y2FzZSJs''@;'; put 'put ''ZWZ0LXRvcCI6dGhpcy5hbmNob3JQb2ludD1SdC5MRUZUX1RPUCx0aGlzLnBvcG92ZXJQb2ludD1SdC5SSUdIVF9UT1A7YnJlYWs7Y2FzZSJsZWZ0LWJvdHRvbSI6dGhpcy5hbmNob3JQb2ludD1SdC5MRUZUX0JPVFRPTSx0aGlzLnBvcG92ZXJQb2ludD1SdC5SSUdIVF9CT1RUT019fW5nQWZ0''@;'; put 'put ''ZXJDb250ZW50SW5pdCgpe3RoaXMuZm9jdXNIYW5kbGVyLmNvbnRhaW5lcj10aGlzLmVsLm5hdGl2ZUVsZW1lbnQsdGhpcy5pdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKT0+dGhpcy5mb2N1c0hhbmRsZXIuYWRkQ2hpbGRyZW4odGhpcy5pdGVtcy50b0FycmF5KCkpKSx0aGlzLml0ZW1zLm5v''@;'; put 'put ''dGlmeU9uQ2hhbmdlcygpfW5nT25EZXN0cm95KCl7c3VwZXIubmdPbkRlc3Ryb3koKSx0aGlzLmZvY3VzSGFuZGxlci5yZXNldENoaWxkcmVuKCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKFZyKSxtZShZdSw4KSxtZShsLDEyKSxtZShIMSkp''@;'; put 'put ''fSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItZHJvcGRvd24tbWVudSJdXSxjb250ZW50UXVlcmllczpmdW5jdGlvbihhLGQsZil7aWYoMSZhJiZIbihmLGcwLDQpLDImYSl7bGV0IHY7UXQodj0kdCgpKSYmKGQuaXRlbXM9dil9fSxob3N0VmFyczozLGhvc3RCaW5k''@;'; put 'put ''aW5nczpmdW5jdGlvbihhLGQpezImYSYmKGp0KCJyb2xlIiwibWVudSIpLFZ0KCJkcm9wZG93bi1tZW51IiwhMCkpfSxpbnB1dHM6e3Bvc2l0aW9uOlsiY2xyUG9zaXRpb24iLCJwb3NpdGlvbiJdfSxmZWF0dXJlczpbeW5dLG5nQ29udGVudFNlbGVjdG9yczpQbixkZWNsczoxLHZhcnM6MCx0''@;'; put 'put ''ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHRuKCksTHQoMCkpfSxlbmNhcHN1bGF0aW9uOjJ9KSxsfSkoKSxmeD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmLHYpe3RoaXMudG9nZ2xlU2VydmljZT1kLHRoaXMuaXNSb290TGV2ZWxUb2dnbGU9ITAsYS5wYXJlbnQmJih0aGlz''@;'; put 'put ''LmlzUm9vdExldmVsVG9nZ2xlPSExKSx2LnRyaWdnZXI9Zi5uYXRpdmVFbGVtZW50fWdldCBhY3RpdmUoKXtyZXR1cm4gdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW59b25Ecm9wZG93blRyaWdnZXJDbGljayhhKXt0aGlzLnRvZ2dsZVNlcnZpY2UudG9nZ2xlV2l0aEV2ZW50KGEpfX1yZXR1cm4g''@;'; put 'put ''bC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZSh4MCksbWUoVHIpLG1lKGhuKSxtZShIMSkpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLCJjbHJEcm9wZG93blRyaWdnZXIiLCIiXSxbIiIsImNsckRyb3Bkb3duVG9nZ2xlIiwiIl1dLGhv''@;'; put 'put ''c3RWYXJzOjEwLGhvc3RCaW5kaW5nczpmdW5jdGlvbihhLGQpezEmYSYmT3QoImNsaWNrIixmdW5jdGlvbih2KXtyZXR1cm4gZC5vbkRyb3Bkb3duVHJpZ2dlckNsaWNrKHYpfSksMiZhJiYoanQoImFyaWEtaGFzcG9wdXAiLCJtZW51IikoImFyaWEtZXhwYW5kZWQiLGQuYWN0aXZlKSxWdCgi''@;'; put 'put ''ZHJvcGRvd24tdG9nZ2xlIixkLmlzUm9vdExldmVsVG9nZ2xlKSgiZHJvcGRvd24taXRlbSIsIWQuaXNSb290TGV2ZWxUb2dnbGUpKCJleHBhbmRhYmxlIiwhZC5pc1Jvb3RMZXZlbFRvZ2dsZSkoImFjdGl2ZSIsZC5hY3RpdmUpKX19KSxsfSkoKSxVMT0oKCk9PntjbGFzcyBse31yZXR1cm4g''@;'; put 'put ''bC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dLHRzLEVyXX0pLGx9KSgpLG14PSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhJbyx6TyxMbyxF''@;'; put 'put ''eixQaCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixFcixVMV1dfSksbH0pKCksY0o9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1''@;'; put 'put ''bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbbXhdfSksbH0pKCksdUo9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1''@;'; put 'put ''bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLEVyXV19KSxsfSkoKSx5Sj0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZu''@;'; put 'put ''KHtpbXBvcnRzOltbR24sRXIsVTFdXX0pLGx9KSgpLHl4PSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJuZy1jb21wb25lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0''@;'; put 'put ''aW9uKGEsZCl7aWYoMSZhJiZtcihLciw1KSwyJmEpe2xldCBmO1F0KGY9JHQoKSkmJihkLnRlbXBsYXRlPWYuZmlyc3QpfX0sbmdDb250ZW50U2VsZWN0b3JzOlBuLGRlY2xzOjEsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYodG4oKSxjdCgwLGFxLDEsMCwibmctdGVtcGxh''@;'; put 'put ''dGUiKSl9LGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpLHdKPSgoKT0+e2NsYXNzIGx7fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbl1dfSksbH0pKCkscTE9''@;'; put 'put ''KCgpPT57Y2xhc3MgbCBleHRlbmRzIEV1e31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oKXtsZXQgYztyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuKGN8fChjPSRuKGwpKSkoZHx8bCl9fSgpLGwuXHUwMjc1ZGlyPVR0KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci10YWJzIl1dLGZlYXR1''@;'; put 'put ''cmVzOlt5bl19KSxsfSkoKSx3eD0oKCk9PntjbGFzcyBsIGV4dGVuZHMgVHV7Y29uc3RydWN0b3IoYSxkLGYsdil7aWYoIWQpdGhyb3cgbmV3IEVycm9yKCJjbHJUYWJMaW5rIGFuZCBjbHItdGFiLWNvbnRlbnQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbnNpZGUgb2YgYSBjbHItdGFicyIpO3N1''@;'; put 'put ''cGVyKGEsZCksdGhpcy5pZkFjdGl2ZT12LHRoaXMuaWQ9Zn1nZXQgZmxhdm9yKCl7cmV0dXJuIHRoaXMuaWZBY3RpdmUuY3VycmVudD09PXRoaXMuaWR9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKHhpKSxtZShxMSw4KSxtZShSdSksbWUocmMp''@;'; put 'put ''KX0sbC5cdTAyNzVkaXI9VHQoe3R5cGU6bCxzZWxlY3RvcnM6W1siIiwiY2xyVGFiTGluayIsIiJdLFsiY2xyLXRhYi1jb250ZW50Il1dLGZlYXR1cmVzOlt5bl19KSxsfSkoKTt2YXIgSWE9KCgpPT4oZnVuY3Rpb24obCl7bC5IT1JJWk9OVEFMPSJob3Jpem9udGFsIixsLlZFUlRJQ0FMPSJ2''@;'; put 'put ''ZXJ0aWNhbCJ9KElhfHwoSWE9e30pKSxJYSkpKCk7bGV0IGNmPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9jaGlsZHJlbj1bXSx0aGlzLmxheW91dD1JYS5IT1JJWk9OVEFMfXJlZ2lzdGVyKGEpe3RoaXMuX2NoaWxkcmVuLnB1c2goYSl9Z2V0IGNoaWxkcmVuKCl7cmV0dXJu''@;'; put 'put ''IHRoaXMuX2NoaWxkcmVufWdldCBhY3RpdmVUYWIoKXtyZXR1cm4gdGhpcy5jaGlsZHJlbi5maW5kKGE9PmEuYWN0aXZlKX1nZXQgb3ZlcmZsb3dUYWJzKCl7cmV0dXJuIHRoaXMubGF5b3V0PT09SWEuVkVSVElDQUw/W106dGhpcy5jaGlsZHJlbi5maWx0ZXIoYT0+ITA9PT1hLnRhYkxpbmsu''@;'; put 'put ''aW5PdmVyZmxvdyl9dW5yZWdpc3RlcihhKXtjb25zdCBkPXRoaXMuY2hpbGRyZW4uaW5kZXhPZihhKTtkPi0xJiZ0aGlzLmNoaWxkcmVuLnNwbGljZShkLDEpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVwcm92PXh0KHt0b2tlbjps''@;'; put 'put ''LGZhY3Rvcnk6bC5cdTAyNzVmYWN9KSxsfSkoKSxNSj0wLEcxPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYsdil7dGhpcy5pZkFjdGl2ZVNlcnZpY2U9YSx0aGlzLmlkPWQsdGhpcy5hcmlhU2VydmljZT1mLHRoaXMudGFic1NlcnZpY2U9dix0aGlzLnRhYkNvbnRlbnRJZHx8KHRo''@;'; put 'put ''aXMudGFiQ29udGVudElkPSJjbHItdGFiLWNvbnRlbnQtIitNSisrKX1zZXQgdGVtcGxhdGVSZWYoYSl7dGhpcy52aWV3UmVmPXRoaXMudGFic1NlcnZpY2UudGFiQ29udGVudFZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KGEpfWdldCBhcmlhTGFiZWxsZWRCeSgpe3JldHVybiB0''@;'; put 'put ''aGlzLmFyaWFTZXJ2aWNlLmFyaWFMYWJlbGxlZEJ5fWdldCB0YWJDb250ZW50SWQoKXtyZXR1cm4gdGhpcy5hcmlhU2VydmljZS5hcmlhQ29udHJvbHN9c2V0IHRhYkNvbnRlbnRJZChhKXt0aGlzLmFyaWFTZXJ2aWNlLmFyaWFDb250cm9scz1hfWdldCBhY3RpdmUoKXtyZXR1cm4gdGhpcy5p''@;'; put 'put ''ZkFjdGl2ZVNlcnZpY2UuY3VycmVudD09PXRoaXMuaWR9bmdPbkRlc3Ryb3koKXtjb25zdCBhPXRoaXMudGFic1NlcnZpY2UudGFiQ29udGVudFZpZXdDb250YWluZXIuaW5kZXhPZih0aGlzLnZpZXdSZWYpO2E+LTEmJnRoaXMudGFic1NlcnZpY2UudGFiQ29udGVudFZpZXdDb250YWluZXIu''@;'; put 'put ''cmVtb3ZlKGEpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKShtZShyYyksbWUoUnUpLG1lKHMxKSxtZShjZikpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItdGFiLWNvbnRlbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uKGEs''@;'; put 'put ''ZCl7aWYoMSZhJiZtcihscSw3KSwyJmEpe2xldCBmO1F0KGY9JHQoKSkmJihkLnRlbXBsYXRlUmVmPWYuZmlyc3QpfX0saW5wdXRzOnt0YWJDb250ZW50SWQ6WyJpZCIsInRhYkNvbnRlbnRJZCJdfSxuZ0NvbnRlbnRTZWxlY3RvcnM6UG4sZGVjbHM6Mix2YXJzOjAsY29uc3RzOltbInRhYkNv''@;'; put 'put ''bnRlbnRQcm9qZWN0ZWRSZWYiLCIiXSxbInJvbGUiLCJ0YWJwYW5lbCIsMSwidGFiLWNvbnRlbnQiLDMsImlkIiwiaGlkZGVuIl1dLHRlbXBsYXRlOmZ1bmN0aW9uKGEsZCl7MSZhJiYodG4oKSxjdCgwLGNxLDIsNiwibmctdGVtcGxhdGUiLG51bGwsMCxKbykpfSxlbmNhcHN1bGF0aW9uOjJ9''@;'; put 'put ''KSxsfSkoKSxDSj0wO2NvbnN0IFoxPW5ldyBPbigiVEFCU19JRCIpLGpKPXtwcm92aWRlOloxLHVzZUZhY3Rvcnk6ZnVuY3Rpb24ga0ooKXtyZXR1cm4iY2xyLXRhYnMtIitDSisrfX07bGV0IFNKPTAsSjE9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZix2LHgsSCxLLGVlKXt0aGlz''@;'; put 'put ''LmlmQWN0aXZlU2VydmljZT1hLHRoaXMuaWQ9ZCx0aGlzLmFyaWFTZXJ2aWNlPWYsdGhpcy5lbD12LHRoaXMuY2ZyPXgsdGhpcy52aWV3Q29udGFpbmVyUmVmPUgsdGhpcy50YWJzU2VydmljZT1LLHRoaXMudGFic0lkPWVlLHRoaXMudGFiTGlua0lkfHwodGhpcy50YWJMaW5rSWQ9ImNsci10''@;'; put 'put ''YWItbGluay0iK1NKKyspO2NvbnN0IGZlPXRoaXMuY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHl4KTt0aGlzLnRlbXBsYXRlUmVmQ29udGFpbmVyPXRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmUsdm9pZCAwLHZvaWQgMCxbW3RoaXMuZWwubmF0aXZlRWxlbWVu''@;'; put 'put ''dF1dKS5pbnN0YW5jZX1zZXQgaW5PdmVyZmxvdyhhKXt0aGlzLl9pbk92ZXJmbG93PWF9Z2V0IGluT3ZlcmZsb3coKXtyZXR1cm4gdGhpcy5faW5PdmVyZmxvdyYmdGhpcy50YWJzU2VydmljZS5sYXlvdXQhPT1JYS5WRVJUSUNBTH1nZXQgYWRkTGlua0NsYXNzZXMoKXtyZXR1cm4hdGhpcy5p''@;'; put 'put ''bk92ZXJmbG93fWdldCBhcmlhQ29udHJvbHMoKXtyZXR1cm4gdGhpcy5hcmlhU2VydmljZS5hcmlhQ29udHJvbHN9Z2V0IHRhYkxpbmtJZCgpe3JldHVybiB0aGlzLmFyaWFTZXJ2aWNlLmFyaWFMYWJlbGxlZEJ5fXNldCB0YWJMaW5rSWQoYSl7dGhpcy5hcmlhU2VydmljZS5hcmlhTGFiZWxs''@;'; put 'put ''ZWRCeT1hfWFjdGl2YXRlKCl7dGhpcy5pZkFjdGl2ZVNlcnZpY2UuY3VycmVudD10aGlzLmlkfWdldCBhY3RpdmUoKXtyZXR1cm4gdGhpcy5pZkFjdGl2ZVNlcnZpY2UuY3VycmVudD09PXRoaXMuaWR9Z2V0IHRhYmluZGV4KCl7cmV0dXJuIHRoaXMuYWN0aXZlPzA6LTF9fXJldHVybiBsLlx1''@;'; put 'put ''MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKHJjKSxtZShSdSksbWUoczEpLG1lKGhuKSxtZSgkYSksbWUoc3IpLG1lKGNmKSxtZShaMSkpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLCJjbHJUYWJMaW5rIiwiIl1dLGhvc3RBdHRyczpbInJv''@;'; put 'put ''bGUiLCJ0YWIiLCJ0eXBlIiwiYnV0dG9uIl0saG9zdFZhcnM6MTIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZPdCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGQuYWN0aXZhdGUoKX0pLDImYSYmKFZzKCJpZCIsZC50YWJMaW5rSWQpLGp0KCJhcmlhLWNvbnRyb2xzIixkLmFy''@;'; put 'put ''aWFDb250cm9scykoImFyaWEtc2VsZWN0ZWQiLGQuYWN0aXZlKSgidGFiaW5kZXgiLGQudGFiaW5kZXgpLFZ0KCJidG4iLCEwKSgiYnRuLWxpbmsiLGQuYWRkTGlua0NsYXNzZXMpKCJuYXYtbGluayIsZC5hZGRMaW5rQ2xhc3NlcykoImFjdGl2ZSIsZC5hY3RpdmUpKX0saW5wdXRzOntpbk92''@;'; put 'put ''ZXJmbG93OlsiY2xyVGFiTGlua0luT3ZlcmZsb3ciLCJpbk92ZXJmbG93Il0sdGFiTGlua0lkOlsiaWQiLCJ0YWJMaW5rSWQiXX19KSxsfSkoKSxLMT0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEsZCxmKXt0aGlzLmlmQWN0aXZlU2VydmljZT1hLHRoaXMuaWQ9ZCx0aGlzLnRhYnNTZXJ2''@;'; put 'put ''aWNlPWYsZi5yZWdpc3Rlcih0aGlzKX1uZ09uRGVzdHJveSgpe3RoaXMudGFic1NlcnZpY2UudW5yZWdpc3Rlcih0aGlzKX1nZXQgYWN0aXZlKCl7cmV0dXJuIHRoaXMuaWZBY3RpdmVTZXJ2aWNlLmN1cnJlbnQ9PT10aGlzLmlkfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0''@;'; put 'put ''dXJuIG5ldyhhfHxsKShtZShyYyksbWUoUnUpLG1lKGNmKSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci10YWIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24oYSxkLGYpe2lmKDEmYSYmKEhuKGYsSjEsNyksSG4oZixHMSw3KSksMiZhKXtsZXQgdjtRdCh2PSR0''@;'; put 'put ''KCkpJiYoZC50YWJMaW5rPXYuZmlyc3QpLFF0KHY9JHQoKSkmJihkLnRhYkNvbnRlbnQ9di5maXJzdCl9fSxmZWF0dXJlczpbZG4oW3hHLHMxXSldLG5nQ29udGVudFNlbGVjdG9yczpQbixkZWNsczoxLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHRuKCksTHQoMCkpfSxl''@;'; put 'put ''bmNhcHN1bGF0aW9uOjJ9KSxsfSkoKSxYMT0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6W1siY2xyLXRhYi1vdmVyZmxvdy1jb250ZW50Il1dLGhvc3RWYXJzOjIs''@;'; put 'put ''aG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MiZhJiZWdCgiZHJvcGRvd24tbWVudSIsITApfSxuZ0NvbnRlbnRTZWxlY3RvcnM6UG4sZGVjbHM6MSx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih0bigpLEx0KDApKX0sZW5jYXBzdWxhdGlvbjoyfSksbH0pKCksTXg9KCgp''@;'; put 'put ''PT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZix2LHgpe3RoaXMuaWZBY3RpdmVTZXJ2aWNlPWEsdGhpcy50b2dnbGVTZXJ2aWNlPWQsdGhpcy50YWJzU2VydmljZT1mLHRoaXMudGFic0lkPXYsdGhpcy5jb21tb25TdHJpbmdzPXgsdGhpcy5zdWJzY3JpcHRpb25zPVtdLHRoaXMuX3RhYkxp''@;'; put 'put ''bmtEaXJlY3RpdmVzPVtdLHRoaXMudGFiTGlua0VsZW1lbnRzPVtdLHRoaXMuX21vdXNlZG93bj0hMX1nZXQgb3ZlcmZsb3dQb3NpdGlvbigpe3JldHVybiB0aGlzLl90YWJMaW5rRGlyZWN0aXZlcy5maWx0ZXIoYT0+IWEuaW5PdmVyZmxvdykubGVuZ3RofXNldCB0YWJDb250ZW50Vmlld0Nv''@;'; put 'put ''bnRhaW5lcihhKXt0aGlzLnRhYnNTZXJ2aWNlLnRhYkNvbnRlbnRWaWV3Q29udGFpbmVyPWF9c2V0IGxheW91dChhKXtPYmplY3Qua2V5cyhJYSkubWFwKGQ9PklhW2RdKS5pbmRleE9mKGEpPj0wJiYodGhpcy50YWJzU2VydmljZS5sYXlvdXQ9YSl9Z2V0IGxheW91dCgpe3JldHVybiB0aGlz''@;'; put 'put ''LnRhYnNTZXJ2aWNlLmxheW91dH1nZXQgdGFiTGlua0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5fdGFiTGlua0RpcmVjdGl2ZXN9Z2V0IGFjdGl2ZVRhYkluT3ZlcmZsb3coKXtyZXR1cm4gdGhpcy50YWJzU2VydmljZS5vdmVyZmxvd1RhYnMuaW5kZXhPZih0aGlzLnRhYnNTZXJ2aWNlLmFj''@;'; put 'put ''dGl2ZVRhYik+LTF9Z2V0IGFjdGl2ZVRhYlBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYkxpbmtEaXJlY3RpdmVzLmZpbmRJbmRleChhPT5hLmFjdGl2ZSl9Z2V0IHRhYklkcygpe3JldHVybiB0aGlzLnRhYnNTZXJ2aWNlLmNoaWxkcmVuLm1hcChhPT5hLnRhYkxpbmsudGFiTGlua0lkKS5q''@;'; put 'put ''b2luKCIgIil9Z2V0IGlzQ3VycmVudEluT3ZlcmZsb3coKXtyZXR1cm4gdGhpcy5rZXlGb2N1cy5jdXJyZW50Pj10aGlzLm92ZXJmbG93UG9zaXRpb259Z2V0IGlzVmVydGljYWwoKXtyZXR1cm4gdGhpcy5sYXlvdXQ9PT1JYS5WRVJUSUNBTH10b2dnbGVPdmVyZmxvd09uUG9zaXRpb24oYSl7''@;'; put 'put ''dGhpcy50b2dnbGVTZXJ2aWNlLm9wZW49YT49dGhpcy5vdmVyZmxvd1Bvc2l0aW9ufXNldCB0YWJPdmVyZmxvd0VsKGEpe3RoaXMuX3RhYk92ZXJmbG93RWw9YSYmYS5uYXRpdmVFbGVtZW50LHRoaXMudG9nZ2xlU2VydmljZS5vcGVuJiZhJiZ0aGlzLmtleUZvY3VzLmZvY3VzQ3VycmVudCgp''@;'; put 'put ''fXJlc2V0S2V5Rm9jdXNDdXJyZW50VG9BY3RpdmUoYSl7IXRoaXMua2V5Rm9jdXMubmF0aXZlRWxlbWVudC5jb250YWlucyhhLnJlbGF0ZWRUYXJnZXQpJiZ0aGlzLmtleUZvY3VzLmN1cnJlbnQhPT10aGlzLmFjdGl2ZVRhYlBvc2l0aW9uJiYodGhpcy5rZXlGb2N1cy5jdXJyZW50PXRoaXMu''@;'; put 'put ''YWN0aXZlVGFiUG9zaXRpb24pfXRvZ2dsZU92ZXJmbG93T25DbGljaygpe3RoaXMua2V5Rm9jdXMubW92ZVRvKHRoaXMuaXNDdXJyZW50SW5PdmVyZmxvdyYmdGhpcy50b2dnbGVTZXJ2aWNlLm9wZW4/dGhpcy5vdmVyZmxvd1Bvc2l0aW9uLTE6dGhpcy5vdmVyZmxvd1Bvc2l0aW9uKSx0aGlz''@;'; put 'put ''Ll9tb3VzZWRvd249ITF9b3Blbk92ZXJmbG93T25Gb2N1cygpeyF0aGlzLl9tb3VzZWRvd24mJiF0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiYmdGhpcy5rZXlGb2N1cy5tb3ZlVG8odGhpcy5hY3RpdmVUYWJQb3NpdGlvbil9Y2xvc2VPbkZvY3VzT3V0KGEpeyF0aGlzLl90YWJPdmVyZmxvd0Vs''@;'; put 'put ''LmNvbnRhaW5zKGEucmVsYXRlZFRhcmdldCkmJnRoaXMudG9nZ2xlU2VydmljZS5vcGVuJiYhdGhpcy5fbW91c2Vkb3duJiYodGhpcy50b2dnbGVTZXJ2aWNlLm9wZW49ITEsdGhpcy50YWJMaW5rRWxlbWVudHNbdGhpcy5hY3RpdmVUYWJQb3NpdGlvbl09PT1hLnJlbGF0ZWRUYXJnZXQmJih0''@;'; put 'put ''aGlzLmtleUZvY3VzLmN1cnJlbnQ9dGhpcy5hY3RpdmVUYWJQb3NpdGlvbikpfWNsb3NlT25Fc2NhcGVLZXkoKXt0aGlzLmtleUZvY3VzLm1vdmVUbyh0aGlzLm92ZXJmbG93UG9zaXRpb24tMSl9Y2xvc2VPbk91dHNpZGVDbGljayhhLGQpe2EudGFyZ2V0PT09ZHx8ZC5jb250YWlucyhhLnRh''@;'; put 'put ''cmdldCl8fCF0aGlzLl90YWJPdmVyZmxvd0VsLmNvbnRhaW5zKGEudGFyZ2V0KSYmdGhpcy5pc0N1cnJlbnRJbk92ZXJmbG93JiZ0aGlzLmtleUZvY3VzLm1vdmVUbyh0aGlzLm92ZXJmbG93UG9zaXRpb24tMSl9bGlzdGVuRm9yVGFiTGlua0NoYW5nZXMoKXtyZXR1cm4gdGhpcy50YWJzLmNo''@;'; put 'put ''YW5nZXMucGlwZShkaCh0aGlzLnRhYnMubWFwKGE9PmEudGFiTGluaykpKS5zdWJzY3JpYmUoKCk9Pnt0aGlzLl90YWJMaW5rRGlyZWN0aXZlcz10aGlzLnRhYnMubWFwKGE9PmEudGFiTGluayksdGhpcy50YWJMaW5rRWxlbWVudHM9dGhpcy5fdGFiTGlua0RpcmVjdGl2ZXMubWFwKGE9PmEu''@;'; put 'put ''ZWwubmF0aXZlRWxlbWVudCl9KX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmxpc3RlbkZvclRhYkxpbmtDaGFuZ2VzKCkpLHZvaWQgMD09PXRoaXMuaWZBY3RpdmVTZXJ2aWNlLmN1cnJlbnQmJnRoaXMudGFiTGlua0RpcmVjdGl2ZXNbMF0mJnRo''@;'; put 'put ''aXMudGFiTGlua0RpcmVjdGl2ZXNbMF0uYWN0aXZhdGUoKSx0aGlzLmtleUZvY3VzLmN1cnJlbnQ9dGhpcy5hY3RpdmVUYWJQb3NpdGlvbn1uZ09uRGVzdHJveSgpe3RoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKGE9PnthLnVuc3Vic2NyaWJlKCl9KX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1''@;'; put 'put ''bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUocmMpLG1lKFRyKSxtZShjZiksbWUoWjEpLG1lKGhyKSl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbImNsci10YWJzIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uKGEsZCxmKXtpZigxJmEmJkhuKGYsSzEsNCksMiZh''@;'; put 'put ''KXtsZXQgdjtRdCh2PSR0KCkpJiYoZC50YWJzPXYpfX0sdmlld1F1ZXJ5OmZ1bmN0aW9uKGEsZCl7aWYoMSZhJiYobXIodXEsNyxzciksbXIoTnUsNyksbXIoWDEsNSxobikpLDImYSl7bGV0IGY7UXQoZj0kdCgpKSYmKGQudGFiQ29udGVudFZpZXdDb250YWluZXI9Zi5maXJzdCksUXQoZj0k''@;'; put 'put ''dCgpKSYmKGQua2V5Rm9jdXM9Zi5maXJzdCksUXQoZj0kdCgpKSYmKGQudGFiT3ZlcmZsb3dFbD1mLmZpcnN0KX19LGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MiZhJiZWdCgidGFicy12ZXJ0aWNhbCIsZC5pc1ZlcnRpY2FsKX0saW5wdXRzOntsYXlvdXQ6WyJjbHJM''@;'; put 'put ''YXlvdXQiLCJsYXlvdXQiXX0sZmVhdHVyZXM6W2RuKFtyYyxUcixjZixqSl0pXSxkZWNsczo1LHZhcnM6NCxjb25zdHM6W1sicm9sZSIsInRhYmxpc3QiLCJjbHJEaXJlY3Rpb24iLCJib3RoIiwxLCJuYXYiLDMsImNscktleUZvY3VzIiwiY2xyRm9jdXNDaGFuZ2UiLCJmb2N1c291dCJdLFs0''@;'; put 'put ''LCJuZ0ZvciIsIm5nRm9yT2YiXSxbNCwibmdJZiJdLFsidGFiQ29udGVudFZpZXdDb250YWluZXIiLCIiXSxbInJvbGUiLCJwcmVzZW50YXRpb24iLDEsIm5hdi1pdGVtIl0sWzMsIm5nVGVtcGxhdGVPdXRsZXQiXSxbInJvbGUiLCJwcmVzZW50YXRpb24iLDEsInRhYnMtb3ZlcmZsb3ciLCJi''@;'; put 'put ''b3R0b20tcmlnaHQiXSxbInJvbGUiLCJhcHBsaWNhdGlvbiIsMSwibmF2LWl0ZW0iXSxbInR5cGUiLCJidXR0b24iLCJhcmlhLWhpZGRlbiIsInRydWUiLDEsImJ0biIsImJ0bi1saW5rIiwibmF2LWxpbmsiLCJkcm9wZG93bi10b2dnbGUiLDMsIm1vdXNlZG93biIsImZvY3VzIiwiY2xpY2si''@;'; put 'put ''XSxbInRhYk92ZXJmbG93VHJpZ2dlciIsIiJdLFsic2hhcGUiLCJlbGxpcHNpcy1ob3Jpem9udGFsIiwic3RhdHVzIiwidG9nZ2xlU2VydmljZS5vcGVuID8gJ2luZm8nIDogbnVsbCJdLFszLCJrZXlkb3duLmVzYyIsImNsaWNrIiwiZm9jdXNvdXQiLDQsIm5nSWYiXSxbMywia2V5ZG93bi5l''@;'; put 'put ''c2MiLCJjbGljayIsImZvY3Vzb3V0Il0sWzMsIm5nVGVtcGxhdGVPdXRsZXQiLDQsIm5nSWYiXV0sdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih6ZSgwLCJ1bCIsMCksT3QoImNsckZvY3VzQ2hhbmdlIixmdW5jdGlvbih2KXtyZXR1cm4gZC50b2dnbGVPdmVyZmxvd09uUG9zaXRpb24o''@;'; put 'put ''dil9KSgiZm9jdXNvdXQiLGZ1bmN0aW9uKHYpe3JldHVybiBkLnJlc2V0S2V5Rm9jdXNDdXJyZW50VG9BY3RpdmUodil9KSxjdCgxLGhxLDIsMSwibmctY29udGFpbmVyIiwxKSxjdCgyLG1xLDcsMTAsIm5nLWNvbnRhaW5lciIsMiksWWUoKSxtbygzLG51bGwsMykpLDImYSYmKEJlKCJjbHJL''@;'; put 'put ''ZXlGb2N1cyIsZC50YWJMaW5rRWxlbWVudHMpLGp0KCJhcmlhLW93bnMiLGQudGFiSWRzKSxUZSgxKSxCZSgibmdGb3JPZiIsZC50YWJMaW5rRGlyZWN0aXZlcyksVGUoMSksQmUoIm5nSWYiLGQudGFic1NlcnZpY2Uub3ZlcmZsb3dUYWJzLmxlbmd0aD4wKSl9LGRlcGVuZGVuY2llczpbTnUs''@;'; put 'put ''WDEsdm8sZXIsX2EsWXJdLGVuY2Fwc3VsYXRpb246Mn0pLGx9KSgpLE9KPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhSTyl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5c''@;'; put 'put ''dTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbix0cyxFcix3SixvMV0sdHNdfSksbH0pKCksREo9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe01yLmFkZEljb25zKGt1LFlPKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWdu''@;'; put 'put ''KHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLEVyLHRzLGljXSx0cyxFcixpY119KSxsfSkoKSx4Sj0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUw''@;'; put 'put ''Mjc1aW5qPWZuKHtpbXBvcnRzOlt1Six5SixPSixESl19KSxsfSkoKSxDeD0oKCk9PntjbGFzcyBse2NvbnN0cnVjdG9yKGEpe3RoaXMuX2RvY3VtZW50PWF9c3RvcFNjcm9sbGluZygpe3RoaXMuX2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgibm8tc2Nyb2xsaW5nIil9cmVzdW1lU2Ny''@;'; put 'put ''b2xsaW5nKCl7dGhpcy5fZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoIm5vLXNjcm9sbGluZyIpJiZ0aGlzLl9kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoIm5vLXNjcm9sbGluZyIpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxs''@;'; put 'put ''KShFdChScikpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpLFQwPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoYSxkLGYpe3RoaXMuX3Njcm9sbGluZ1NlcnZpY2U9YSx0aGlzLmNvbW1vblN0cmluZ3M9ZCx0aGlzLm1vZGFsSWQ9Zix0aGlz''@;'; put 'put ''Ll9vcGVuPSExLHRoaXMuX29wZW5DaGFuZ2VkPW5ldyBIdCghMSksdGhpcy5jbG9zYWJsZT0hMCx0aGlzLnN0YXRpY0JhY2tkcm9wPSEwLHRoaXMuc2tpcEFuaW1hdGlvbj0iZmFsc2UiLHRoaXMuYnlwYXNzU2Nyb2xsU2VydmljZT0hMSx0aGlzLnN0b3BDbG9zZT0hMSx0aGlzLmFsdENsb3Nl''@;'; put 'put ''PW5ldyBIdCghMSksdGhpcy5sYWJlbGxlZEJ5PXRoaXMubW9kYWxJZH1uZ09uQ2hhbmdlcyhhKXshdGhpcy5ieXBhc3NTY3JvbGxTZXJ2aWNlJiZhJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSwiX29wZW4iKSYmKGEuX29wZW4uY3VycmVudFZhbHVlP3RoaXMuX3Nj''@;'; put 'put ''cm9sbGluZ1NlcnZpY2Uuc3RvcFNjcm9sbGluZygpOnRoaXMuX3Njcm9sbGluZ1NlcnZpY2UucmVzdW1lU2Nyb2xsaW5nKCkpfW5nT25EZXN0cm95KCl7dGhpcy5fc2Nyb2xsaW5nU2VydmljZS5yZXN1bWVTY3JvbGxpbmcoKX1vcGVuKCl7dGhpcy5fb3Blbnx8KHRoaXMuX29wZW49ITAsdGhp''@;'; put 'put ''cy5fb3BlbkNoYW5nZWQuZW1pdCghMCkpfWNsb3NlKCl7dGhpcy5zdG9wQ2xvc2U/dGhpcy5hbHRDbG9zZS5lbWl0KCExKTohdGhpcy5jbG9zYWJsZXx8IXRoaXMuX29wZW58fCh0aGlzLl9vcGVuPSExLHRoaXMuZm9jdXNUcmFwLnNldFByZXZpb3VzRm9jdXMoKSl9ZmFkZURvbmUoYSl7InZv''@;'; put 'put ''aWQiPT09YS50b1N0YXRlJiZ0aGlzLl9vcGVuQ2hhbmdlZC5lbWl0KCExKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoQ3gpLG1lKGhyKSxtZShsaSkpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJjbHItbW9kYWwiXV0s''@;'; put 'put ''dmlld1F1ZXJ5OmZ1bmN0aW9uKGEsZCl7aWYoMSZhJiZtcihkbCw1KSwyJmEpe2xldCBmO1F0KGY9JHQoKSkmJihkLmZvY3VzVHJhcD1mLmZpcnN0KX19LGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uKGEsZCl7MSZhJiZPdCgia2V5dXAuZXNjYXBlIixmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biBkLmNsb3NlKCl9LDAsZU0pLDImYSYmVnQoIm9wZW4iLGQuX29wZW4pfSxpbnB1dHM6e19vcGVuOlsiY2xyTW9kYWxPcGVuIiwiX29wZW4iXSxjbG9zYWJsZTpbImNsck1vZGFsQ2xvc2FibGUiLCJjbG9zYWJsZSJdLHNpemU6WyJjbHJNb2RhbFNpemUiLCJzaXplIl0sc3RhdGljQmFja2Ry''@;'; put 'put ''b3A6WyJjbHJNb2RhbFN0YXRpY0JhY2tkcm9wIiwic3RhdGljQmFja2Ryb3AiXSxza2lwQW5pbWF0aW9uOlsiY2xyTW9kYWxTa2lwQW5pbWF0aW9uIiwic2tpcEFuaW1hdGlvbiJdLGJ5cGFzc1Njcm9sbFNlcnZpY2U6WyJjbHJNb2RhbE92ZXJyaWRlU2Nyb2xsU2VydmljZSIsImJ5cGFzc1Nj''@;'; put 'put ''cm9sbFNlcnZpY2UiXSxzdG9wQ2xvc2U6WyJjbHJNb2RhbFByZXZlbnRDbG9zZSIsInN0b3BDbG9zZSJdLGxhYmVsbGVkQnk6WyJjbHJNb2RhbExhYmVsbGVkQnlJZCIsImxhYmVsbGVkQnkiXX0sb3V0cHV0czp7X29wZW5DaGFuZ2VkOiJjbHJNb2RhbE9wZW5DaGFuZ2UiLGFsdENsb3NlOiJj''@;'; put 'put ''bHJNb2RhbEFsdGVybmF0ZUNsb3NlIn0sZmVhdHVyZXM6W2RuKFtMaV0sW0N4XSksdWldLG5nQ29udGVudFNlbGVjdG9yczpPcSxkZWNsczoxLHZhcnM6MSxjb25zdHM6W1siY2xyRm9jdXNUcmFwIiwiIiwiY2xhc3MiLCJtb2RhbCIsNCwibmdJZiJdLFsiY2xyRm9jdXNUcmFwIiwiIiwxLCJt''@;'; put 'put ''b2RhbCJdLFsicm9sZSIsImRpYWxvZyIsImFyaWEtbW9kYWwiLCJ0cnVlIiwxLCJtb2RhbC1kaWFsb2ciXSxbMSwiY2xyLXNyLW9ubHkiXSxbMSwibW9kYWwtY29udGVudC13cmFwcGVyIl0sWzEsIm1vZGFsLWNvbnRlbnQiXSxbMSwibW9kYWwtaGVhZGVyLS1hY2Nlc3NpYmxlIl0sWyJjbHJG''@;'; put 'put ''b2N1c09uVmlld0luaXQiLCIiLDEsIm1vZGFsLXRpdGxlLXdyYXBwZXIiLDMsImlkIl0sWyJ0eXBlIiwiYnV0dG9uIiwiY2xhc3MiLCJjbG9zZSIsMywiY2xpY2siLDQsIm5nSWYiXSxbMSwibW9kYWwtYm9keS13cmFwcGVyIl0sWyJhcmlhLWhpZGRlbiIsInRydWUiLDEsIm1vZGFsLWJhY2tk''@;'; put 'put ''cm9wIiwzLCJjbGljayJdLFsidHlwZSIsImJ1dHRvbiIsMSwiY2xvc2UiLDMsImNsaWNrIl0sWyJzaGFwZSIsIndpbmRvdy1jbG9zZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHRuKFNxKSxjdCgwLGpxLDE3LDE0LCJkaXYiLDApKSwyJmEmJkJlKCJuZ0lmIixkLl9vcGVuKX0s''@;'; put 'put ''ZGVwZW5kZW5jaWVzOltlcixkbCx5MSxZcl0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5Om5vbmV9Lm9wZW5bX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lfSJdLGRhdGE6e2FuaW1hdGlvbjpbRm8oImZhZGVEb3duIixbcGkoIiogPT4gZmFsc2UiLFtpcih7b3BhY2l0''@;'; put 'put ''eTowLHRyYW5zZm9ybToidHJhbnNsYXRlKDAsIC0yNSUpIn0pLEVpKCIwLjJzIGVhc2UtaW4tb3V0IildKSxwaSgiZmFsc2UgPT4gKiIsW0VpKCIwLjJzIGVhc2UtaW4tb3V0Iixpcih7b3BhY2l0eTowLHRyYW5zZm9ybToidHJhbnNsYXRlKDAsIC0yNSUpIn0pKV0pXSksRm8oImZhZGUiLFtw''@;'; put 'put ''aSgidm9pZCA9PiAqIixbaXIoe29wYWNpdHk6MH0pLEVpKCIwLjJzIGVhc2UtaW4tb3V0Iixpcih7b3BhY2l0eTouODV9KSldKSxwaSgiKiA9PiB2b2lkIixbRWkoIjAuMnMgZWFzZS1pbi1vdXQiLGlyKHtvcGFjaXR5OjB9KSldKV0pXX19KSxsfSkoKSxMMD0oKCk9PntjbGFzcyBse2NvbnN0''@;'; put 'put ''cnVjdG9yKGEsZCxmKXt0aGlzLnJlbmRlcmVyPWEsdGhpcy5ob3N0PWQsdGhpcy50YWJpbmRleD0iMCIsdGhpcy51bmxpc3RlbmVycz1bXSxmLnJ1bk91dHNpZGVBbmd1bGFyKCgpPT57dGhpcy5vYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9PnRoaXMuYWRkT3JSZW1vdmVUYWJJbmRl''@;'; put 'put ''eCgpKSx0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQpLHRoaXMudW5saXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwibW91c2V1cCIsKCk9Pnt0aGlzLmFkZE9yUmVtb3ZlVGFiSW5kZXgoKX0pLHRo''@;'; put 'put ''aXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCJtb3VzZWRvd24iLCgpPT57dGhpcy5yZW1vdmVUYWJJbmRleCgpfSkpfSl9bmdPbkRlc3Ryb3koKXtmb3IoO3RoaXMudW5saXN0ZW5lcnMubGVuZ3RoOyl0aGlzLnVubGlzdGVuZXJzLnBvcCgpKCk7dGhpcy5vYnNl''@;'; put 'put ''cnZlci5kaXNjb25uZWN0KCksdGhpcy5vYnNlcnZlcj1udWxsfWFkZFRhYkluZGV4KCl7dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsInRhYmluZGV4Iix0aGlzLnRhYmluZGV4KX1yZW1vdmVUYWJJbmRleCgpe3RoaXMucmVuZGVyZXIucmVtb3Zl''@;'; put 'put ''QXR0cmlidXRlKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCJ0YWJpbmRleCIpfWFkZE9yUmVtb3ZlVGFiSW5kZXgoKXtjb25zdCBhPXRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7YS5jbGllbnRIZWlnaHQ8YS5zY3JvbGxIZWlnaHQ/dGhpcy5hZGRUYWJJbmRleCgpOnRo''@;'; put 'put ''aXMucmVtb3ZlVGFiSW5kZXgoKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoV24pLG1lKGhuKSxtZShucikpfSxsLlx1MDI3NWRpcj1UdCh7dHlwZTpsLHNlbGVjdG9yczpbWyIiLDgsIm1vZGFsLWJvZHkiXV19KSxsfSkoKSxreD0oKCk9Pntj''@;'; put 'put ''bGFzcyBse2NvbnN0cnVjdG9yKCl7TXIuYWRkSWNvbnMoUGgpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR24sRXIsbTAsaWNdLEVyLGljXX0pLGx9KSgp''@;'; put 'put ''LFRKPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhQaCx6Tyl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixFcixpY10sdHNd''@;'; put 'put ''fSksbH0pKCksTko9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duXSx0cyxFcl19KSxsfSkoKSxZSj0oKCk9PntjbGFzcyBse31y''@;'; put 'put ''ZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltVMSxUSixOSl19KSxsfSkoKSx6Sj0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7''@;'; put 'put ''cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltbR25dXX0pLGx9KSgpLEhKPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXtNci5hZGRJY29ucyhUeixMeixCTyxJeil9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlv''@;'; put 'put ''bihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NW1vZD1nbih7dHlwZTpsfSksbC5cdTAyNzVpbmo9Zm4oe2ltcG9ydHM6W1tHbixFcixLaF0sRXIsS2hdfSksbH0pKCksR0o9KCgpPT57Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe01yLmFkZEljb25zKEJPKX19cmV0dXJuIGwuXHUwMjc1ZmFj''@;'; put 'put ''PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbW0duLGt4LG14XV19KSxsfSkoKSxaSj0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxs''@;'; put 'put ''KX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bH0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltjSixRWixFcixreCx3MSx0cyxtMCxpYyxBWixnRyxqRCx4SixZSixHSixFRCxjRyxLaCx6SixxaCxISl19KSxsfSkoKTtmdW5jdGlvbiBZeChsKXtyZXR1cm4gbmV3IEl0KDNlMywhMSl9ZnVuY3Rp''@;'; put 'put ''b24gREsoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50fWZ1bmN0aW9uIHIyKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBwcm9jZXNzJiYiW29iamVjdCBwcm9jZXNzXSI9PT17fS50b1N0cmluZy5jYWxsKHByb2Nlc3MpfWZ1''@;'; put 'put ''bmN0aW9uIGdsKGwpe3N3aXRjaChsLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBuZXcgRWg7Y2FzZSAxOnJldHVybiBsWzBdO2RlZmF1bHQ6cmV0dXJuIG5ldyBHTyhsKX19ZnVuY3Rpb24gengobCxjLGEsZCxmPW5ldyBNYXAsdj1uZXcgTWFwKXtjb25zdCB4PVtdLEg9W107bGV0IEs9LTEsZWU9''@;'; put 'put ''bnVsbDtpZihkLmZvckVhY2goZmU9Pntjb25zdCB5ZT1mZS5nZXQoIm9mZnNldCIpLGplPXllPT1LLEllPWplJiZlZXx8bmV3IE1hcDtmZS5mb3JFYWNoKChxZSxzdCk9PntsZXQga3Q9c3QsQXQ9cWU7aWYoIm9mZnNldCIhPT1zdClzd2l0Y2goa3Q9Yy5ub3JtYWxpemVQcm9wZXJ0eU5hbWUo''@;'; put 'put ''a3QseCksQXQpe2Nhc2UiISI6QXQ9Zi5nZXQoc3QpO2JyZWFrO2Nhc2UgU2E6QXQ9di5nZXQoc3QpO2JyZWFrO2RlZmF1bHQ6QXQ9Yy5ub3JtYWxpemVTdHlsZVZhbHVlKHN0LGt0LEF0LHgpfUllLnNldChrdCxBdCl9KSxqZXx8SC5wdXNoKEllKSxlZT1JZSxLPXllfSkseC5sZW5ndGgpdGhy''@;'; put 'put ''b3cgZnVuY3Rpb24gYksobCl7cmV0dXJuIG5ldyBJdCgzNTAyLCExKX0oKTtyZXR1cm4gSH1mdW5jdGlvbiBpMihsLGMsYSxkKXtzd2l0Y2goYyl7Y2FzZSJzdGFydCI6bC5vblN0YXJ0KCgpPT5kKGEmJm8yKGEsInN0YXJ0IixsKSkpO2JyZWFrO2Nhc2UiZG9uZSI6bC5vbkRvbmUoKCk9PmQo''@;'; put 'put ''YSYmbzIoYSwiZG9uZSIsbCkpKTticmVhaztjYXNlImRlc3Ryb3kiOmwub25EZXN0cm95KCgpPT5kKGEmJm8yKGEsImRlc3Ryb3kiLGwpKSl9fWZ1bmN0aW9uIG8yKGwsYyxhKXtjb25zdCBkPWEudG90YWxUaW1lLHY9czIobC5lbGVtZW50LGwudHJpZ2dlck5hbWUsbC5mcm9tU3RhdGUsbC50''@;'; put 'put ''b1N0YXRlLGN8fGwucGhhc2VOYW1lLG51bGw9PWQ/bC50b3RhbFRpbWU6ZCwhIWEuZGlzYWJsZWQpLHg9bC5fZGF0YTtyZXR1cm4gbnVsbCE9eCYmKHYuX2RhdGE9eCksdn1mdW5jdGlvbiBzMihsLGMsYSxkLGY9IiIsdj0wLHgpe3JldHVybntlbGVtZW50OmwsdHJpZ2dlck5hbWU6Yyxmcm9t''@;'; put 'put ''U3RhdGU6YSx0b1N0YXRlOmQscGhhc2VOYW1lOmYsdG90YWxUaW1lOnYsZGlzYWJsZWQ6ISF4fX1mdW5jdGlvbiBCbyhsLGMsYSl7bGV0IGQ9bC5nZXQoYyk7cmV0dXJuIGR8fGwuc2V0KGMsZD1hKSxkfWZ1bmN0aW9uIEJ4KGwpe2NvbnN0IGM9bC5pbmRleE9mKCI6Iik7cmV0dXJuW2wuc3Vi''@;'; put 'put ''c3RyaW5nKDEsYyksbC5zbGljZShjKzEpXX1sZXQgYTI9KGwsYyk9PiExLEh4PShsLGMsYSk9PltdLFZ4PW51bGw7ZnVuY3Rpb24gbDIobCl7Y29uc3QgYz1sLnBhcmVudE5vZGV8fGwuaG9zdDtyZXR1cm4gYz09PVZ4P251bGw6Y30ocjIoKXx8InVuZGVmaW5lZCIhPXR5cGVvZiBFbGVtZW50''@;'; put 'put ''KSYmKERLKCk/KFZ4PSgoKT0+ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSgpLGEyPShsLGMpPT57Zm9yKDtjOyl7aWYoYz09PWwpcmV0dXJuITA7Yz1sMihjKX1yZXR1cm4hMX0pOmEyPShsLGMpPT5sLmNvbnRhaW5zKGMpLEh4PShsLGMsYSk9PntpZihhKXJldHVybiBBcnJheS5mcm9tKGwu''@;'; put 'put ''cXVlcnlTZWxlY3RvckFsbChjKSk7Y29uc3QgZD1sLnF1ZXJ5U2VsZWN0b3IoYyk7cmV0dXJuIGQ/W2RdOltdfSk7bGV0IGNjPW51bGwsVXg9ITE7Y29uc3QgV3g9YTIscXg9SHg7bGV0IEd4PSgoKT0+e2NsYXNzIGx7dmFsaWRhdGVTdHlsZVByb3BlcnR5KGEpe3JldHVybiBmdW5jdGlvbiBB''@;'; put 'put ''SyhsKXtjY3x8KGNjPWZ1bmN0aW9uIEVLKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudC5ib2R5Om51bGx9KCl8fHt9LFV4PSEhY2Muc3R5bGUmJiJXZWJraXRBcHBlYXJhbmNlImluIGNjLnN0eWxlKTtsZXQgYz0hMDtyZXR1cm4gY2Muc3R5bGUmJiFmdW5j''@;'; put 'put ''dGlvbiB4SyhsKXtyZXR1cm4iZWJraXQiPT1sLnN1YnN0cmluZygxLDYpfShsKSYmKGM9bCBpbiBjYy5zdHlsZSwhYyYmVXgmJihjPSJXZWJraXQiK2wuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrbC5zbGljZSgxKWluIGNjLnN0eWxlKSksY30oYSl9bWF0Y2hlc0VsZW1lbnQoYSxkKXtyZXR1''@;'; put 'put ''cm4hMX1jb250YWluc0VsZW1lbnQoYSxkKXtyZXR1cm4gV3goYSxkKX1nZXRQYXJlbnRFbGVtZW50KGEpe3JldHVybiBsMihhKX1xdWVyeShhLGQsZil7cmV0dXJuIHF4KGEsZCxmKX1jb21wdXRlU3R5bGUoYSxkLGYpe3JldHVybiBmfHwiIn1hbmltYXRlKGEsZCxmLHYseCxIPVtdLEspe3Jl''@;'; put 'put ''dHVybiBuZXcgRWgoZix2KX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5OmwuXHUwMjc1ZmFjfSksbH0pKCksYzI9KCgpPT57Y2xhc3MgbHt9cmV0dXJuIGwuTk9PUD1uZXcgR3gsbH0pKCk7''@;'; put 'put ''Y29uc3QgdTI9Im5nLWVudGVyIixJMD0ibmctbGVhdmUiLEYwPSJuZy10cmlnZ2VyIixSMD0iLm5nLXRyaWdnZXIiLEp4PSJuZy1hbmltYXRpbmciLGQyPSIubmctYW5pbWF0aW5nIjtmdW5jdGlvbiBtbChsKXtpZigibnVtYmVyIj09dHlwZW9mIGwpcmV0dXJuIGw7Y29uc3QgYz1sLm1hdGNo''@;'; put 'put ''KC9eKC0/W1wuXGRdKykobT9zKS8pO3JldHVybiFjfHxjLmxlbmd0aDwyPzA6aDIocGFyc2VGbG9hdChjWzFdKSxjWzJdKX1mdW5jdGlvbiBoMihsLGMpe3JldHVybiJzIj09PWM/MWUzKmw6bH1mdW5jdGlvbiBOMChsLGMsYSl7cmV0dXJuIGwuaGFzT3duUHJvcGVydHkoImR1cmF0aW9uIik/''@;'; put 'put ''bDpmdW5jdGlvbiBJSyhsLGMsYSl7bGV0IGYsdj0wLHg9IiI7aWYoInN0cmluZyI9PXR5cGVvZiBsKXtjb25zdCBIPWwubWF0Y2goL14oLT9bXC5cZF0rKShtP3MpKD86XHMrKC0/W1wuXGRdKykobT9zKSk/KD86XHMrKFstYS16XSsoPzpcKC4rP1wpKT8pKT8kL2kpO2lmKG51bGw9PT1IKXJl''@;'; put 'put ''dHVybiBjLnB1c2goWXgoKSkse2R1cmF0aW9uOjAsZGVsYXk6MCxlYXNpbmc6IiJ9O2Y9aDIocGFyc2VGbG9hdChIWzFdKSxIWzJdKTtjb25zdCBLPUhbM107bnVsbCE9SyYmKHY9aDIocGFyc2VGbG9hdChLKSxIWzRdKSk7Y29uc3QgZWU9SFs1XTtlZSYmKHg9ZWUpfWVsc2UgZj1sO2lmKCFh''@;'; put 'put ''KXtsZXQgSD0hMSxLPWMubGVuZ3RoO2Y8MCYmKGMucHVzaChmdW5jdGlvbiBKSigpe3JldHVybiBuZXcgSXQoMzEwMCwhMSl9KCkpLEg9ITApLHY8MCYmKGMucHVzaChmdW5jdGlvbiBLSigpe3JldHVybiBuZXcgSXQoMzEwMSwhMSl9KCkpLEg9ITApLEgmJmMuc3BsaWNlKEssMCxZeCgpKX1y''@;'; put 'put ''ZXR1cm57ZHVyYXRpb246ZixkZWxheTp2LGVhc2luZzp4fX0obCxjLGEpfWZ1bmN0aW9uIGZmKGwsYz17fSl7cmV0dXJuIE9iamVjdC5rZXlzKGwpLmZvckVhY2goYT0+e2NbYV09bFthXX0pLGN9ZnVuY3Rpb24gS3gobCl7Y29uc3QgYz1uZXcgTWFwO3JldHVybiBPYmplY3Qua2V5cyhsKS5m''@;'; put 'put ''b3JFYWNoKGE9PntjLnNldChhLGxbYV0pfSksY31mdW5jdGlvbiBibChsLGM9bmV3IE1hcCxhKXtpZihhKWZvcihsZXRbZCxmXW9mIGEpYy5zZXQoZCxmKTtmb3IobGV0W2QsZl1vZiBsKWMuc2V0KGQsZik7cmV0dXJuIGN9ZnVuY3Rpb24gUXgobCxjLGEpe3JldHVybiBhP2MrIjoiK2ErIjsi''@;'; put 'put ''OiIifWZ1bmN0aW9uICR4KGwpe2xldCBjPSIiO2ZvcihsZXQgYT0wO2E8bC5zdHlsZS5sZW5ndGg7YSsrKXtjb25zdCBkPWwuc3R5bGUuaXRlbShhKTtjKz1ReCgwLGQsbC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGQpKX1mb3IoY29uc3QgYSBpbiBsLnN0eWxlKWwuc3R5bGUuaGFzT3duUHJv''@;'; put 'put ''cGVydHkoYSkmJiFhLnN0YXJ0c1dpdGgoIl8iKSYmKGMrPVF4KDAsWUsoYSksbC5zdHlsZVthXSkpO2wuc2V0QXR0cmlidXRlKCJzdHlsZSIsYyl9ZnVuY3Rpb24gbmEobCxjLGEpe2wuc3R5bGUmJihjLmZvckVhY2goKGQsZik9Pntjb25zdCB2PXAyKGYpO2EmJiFhLmhhcyhmKSYmYS5zZXQo''@;'; put 'put ''ZixsLnN0eWxlW3ZdKSxsLnN0eWxlW3ZdPWR9KSxyMigpJiYkeChsKSl9ZnVuY3Rpb24gdWMobCxjKXtsLnN0eWxlJiYoYy5mb3JFYWNoKChhLGQpPT57Y29uc3QgZj1wMihkKTtsLnN0eWxlW2ZdPSIifSkscjIoKSYmJHgobCkpfWZ1bmN0aW9uIHBmKGwpe3JldHVybiBBcnJheS5pc0FycmF5''@;'; put 'put ''KGwpPzE9PWwubGVuZ3RoP2xbMF06V08obCk6bH1jb25zdCBmMj1uZXcgUmVnRXhwKCJ7e1xccyooLis/KVxccyp9fSIsImciKTtmdW5jdGlvbiBlOChsKXtsZXQgYz1bXTtpZigic3RyaW5nIj09dHlwZW9mIGwpe2xldCBhO2Zvcig7YT1mMi5leGVjKGwpOyljLnB1c2goYVsxXSk7ZjIubGFz''@;'; put 'put ''dEluZGV4PTB9cmV0dXJuIGN9ZnVuY3Rpb24gWTAobCxjLGEpe2NvbnN0IGQ9bC50b1N0cmluZygpLGY9ZC5yZXBsYWNlKGYyLCh2LHgpPT57bGV0IEg9Y1t4XTtyZXR1cm4gbnVsbD09SCYmKGEucHVzaChmdW5jdGlvbiBRSihsKXtyZXR1cm4gbmV3IEl0KDMwMDMsITEpfSgpKSxIPSIiKSxI''@;'; put 'put ''LnRvU3RyaW5nKCl9KTtyZXR1cm4gZj09ZD9sOmZ9ZnVuY3Rpb24gejAobCl7Y29uc3QgYz1bXTtsZXQgYT1sLm5leHQoKTtmb3IoOyFhLmRvbmU7KWMucHVzaChhLnZhbHVlKSxhPWwubmV4dCgpO3JldHVybiBjfWNvbnN0IE5LPS8tKyhbYS16MC05XSkvZztmdW5jdGlvbiBwMihsKXtyZXR1''@;'; put 'put ''cm4gbC5yZXBsYWNlKE5LLCguLi5jKT0+Y1sxXS50b1VwcGVyQ2FzZSgpKX1mdW5jdGlvbiBZSyhsKXtyZXR1cm4gbC5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gSG8obCxjLGEpe3N3aXRjaChjLnR5cGUpe2Nhc2UgNzpyZXR1cm4g''@;'; put 'put ''bC52aXNpdFRyaWdnZXIoYyxhKTtjYXNlIDA6cmV0dXJuIGwudmlzaXRTdGF0ZShjLGEpO2Nhc2UgMTpyZXR1cm4gbC52aXNpdFRyYW5zaXRpb24oYyxhKTtjYXNlIDI6cmV0dXJuIGwudmlzaXRTZXF1ZW5jZShjLGEpO2Nhc2UgMzpyZXR1cm4gbC52aXNpdEdyb3VwKGMsYSk7Y2FzZSA0OnJl''@;'; put 'put ''dHVybiBsLnZpc2l0QW5pbWF0ZShjLGEpO2Nhc2UgNTpyZXR1cm4gbC52aXNpdEtleWZyYW1lcyhjLGEpO2Nhc2UgNjpyZXR1cm4gbC52aXNpdFN0eWxlKGMsYSk7Y2FzZSA4OnJldHVybiBsLnZpc2l0UmVmZXJlbmNlKGMsYSk7Y2FzZSA5OnJldHVybiBsLnZpc2l0QW5pbWF0ZUNoaWxkKGMs''@;'; put 'put ''YSk7Y2FzZSAxMDpyZXR1cm4gbC52aXNpdEFuaW1hdGVSZWYoYyxhKTtjYXNlIDExOnJldHVybiBsLnZpc2l0UXVlcnkoYyxhKTtjYXNlIDEyOnJldHVybiBsLnZpc2l0U3RhZ2dlcihjLGEpO2RlZmF1bHQ6dGhyb3cgZnVuY3Rpb24gJEoobCl7cmV0dXJuIG5ldyBJdCgzMDA0LCExKX0oKX19''@;'; put 'put ''ZnVuY3Rpb24gdDgobCxjKXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUobClbY119ZnVuY3Rpb24gV0sobCxjKXtjb25zdCBhPVtdO3JldHVybiJzdHJpbmciPT10eXBlb2YgbD9sLnNwbGl0KC9ccyosXHMqLykuZm9yRWFjaChkPT5mdW5jdGlvbiBxSyhsLGMsYSl7aWYoIjoiPT1s''@;'; put 'put ''WzBdKXtjb25zdCBLPWZ1bmN0aW9uIEdLKGwsYyl7c3dpdGNoKGwpe2Nhc2UiOmVudGVyIjpyZXR1cm4idm9pZCA9PiAqIjtjYXNlIjpsZWF2ZSI6cmV0dXJuIiogPT4gdm9pZCI7Y2FzZSI6aW5jcmVtZW50IjpyZXR1cm4oYSxkKT0+cGFyc2VGbG9hdChkKT5wYXJzZUZsb2F0KGEpO2Nhc2Ui''@;'; put 'put ''OmRlY3JlbWVudCI6cmV0dXJuKGEsZCk9PnBhcnNlRmxvYXQoZCk8cGFyc2VGbG9hdChhKTtkZWZhdWx0OnJldHVybiBjLnB1c2goZnVuY3Rpb24gZksobCl7cmV0dXJuIG5ldyBJdCgzMDE2LCExKX0oKSksIiogPT4gKiJ9fShsLGEpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBLKXJldHVybiB2''@;'; put 'put ''b2lkIGMucHVzaChLKTtsPUt9Y29uc3QgZD1sLm1hdGNoKC9eKFwqfFstXHddKylccyooPD9bPS1dPilccyooXCp8Wy1cd10rKSQvKTtpZihudWxsPT1kfHxkLmxlbmd0aDw0KXJldHVybiBhLnB1c2goZnVuY3Rpb24gaEsobCl7cmV0dXJuIG5ldyBJdCgzMDE1LCExKX0oKSksYztjb25zdCBm''@;'; put 'put ''PWRbMV0sdj1kWzJdLHg9ZFszXTtjLnB1c2gobjgoZix4KSk7IjwiPT12WzBdJiYhKCIqIj09ZiYmIioiPT14KSYmYy5wdXNoKG44KHgsZikpfShkLGEsYykpOmEucHVzaChsKSxhfWNvbnN0IFUwPW5ldyBTZXQoWyJ0cnVlIiwiMSJdKSxXMD1uZXcgU2V0KFsiZmFsc2UiLCIwIl0pO2Z1bmN0''@;'; put 'put ''aW9uIG44KGwsYyl7Y29uc3QgYT1VMC5oYXMobCl8fFcwLmhhcyhsKSxkPVUwLmhhcyhjKXx8VzAuaGFzKGMpO3JldHVybihmLHYpPT57bGV0IHg9IioiPT1sfHxsPT1mLEg9IioiPT1jfHxjPT12O3JldHVybiF4JiZhJiYiYm9vbGVhbiI9PXR5cGVvZiBmJiYoeD1mP1UwLmhhcyhsKTpXMC5o''@;'; put 'put ''YXMobCkpLCFIJiZkJiYiYm9vbGVhbiI9PXR5cGVvZiB2JiYoSD12P1UwLmhhcyhjKTpXMC5oYXMoYykpLHgmJkh9fWNvbnN0IFpLPW5ldyBSZWdFeHAoInMqOnNlbGZzKiw/IiwiZyIpO2Z1bmN0aW9uIGcyKGwsYyxhLGQpe3JldHVybiBuZXcgSksobCkuYnVpbGQoYyxhLGQpfWNsYXNzIEpL''@;'; put 'put ''e2NvbnN0cnVjdG9yKGMpe3RoaXMuX2RyaXZlcj1jfWJ1aWxkKGMsYSxkKXtjb25zdCBmPW5ldyBRSyhhKTtyZXR1cm4gdGhpcy5fcmVzZXRDb250ZXh0U3R5bGVUaW1pbmdTdGF0ZShmKSxIbyh0aGlzLHBmKGMpLGYpfV9yZXNldENvbnRleHRTdHlsZVRpbWluZ1N0YXRlKGMpe2MuY3VycmVu''@;'; put 'put ''dFF1ZXJ5U2VsZWN0b3I9IiIsYy5jb2xsZWN0ZWRTdHlsZXM9bmV3IE1hcCxjLmNvbGxlY3RlZFN0eWxlcy5zZXQoIiIsbmV3IE1hcCksYy5jdXJyZW50VGltZT0wfXZpc2l0VHJpZ2dlcihjLGEpe2xldCBkPWEucXVlcnlDb3VudD0wLGY9YS5kZXBDb3VudD0wO2NvbnN0IHY9W10seD1bXTty''@;'; put 'put ''ZXR1cm4iQCI9PWMubmFtZS5jaGFyQXQoMCkmJmEuZXJyb3JzLnB1c2goZnVuY3Rpb24gdEsoKXtyZXR1cm4gbmV3IEl0KDMwMDYsITEpfSgpKSxjLmRlZmluaXRpb25zLmZvckVhY2goSD0+e2lmKHRoaXMuX3Jlc2V0Q29udGV4dFN0eWxlVGltaW5nU3RhdGUoYSksMD09SC50eXBlKXtjb25z''@;'; put 'put ''dCBLPUgsZWU9Sy5uYW1lO2VlLnRvU3RyaW5nKCkuc3BsaXQoL1xzKixccyovKS5mb3JFYWNoKGZlPT57Sy5uYW1lPWZlLHYucHVzaCh0aGlzLnZpc2l0U3RhdGUoSyxhKSl9KSxLLm5hbWU9ZWV9ZWxzZSBpZigxPT1ILnR5cGUpe2NvbnN0IEs9dGhpcy52aXNpdFRyYW5zaXRpb24oSCxhKTtk''@;'; put 'put ''Kz1LLnF1ZXJ5Q291bnQsZis9Sy5kZXBDb3VudCx4LnB1c2goSyl9ZWxzZSBhLmVycm9ycy5wdXNoKGZ1bmN0aW9uIG5LKCl7cmV0dXJuIG5ldyBJdCgzMDA3LCExKX0oKSl9KSx7dHlwZTo3LG5hbWU6Yy5uYW1lLHN0YXRlczp2LHRyYW5zaXRpb25zOngscXVlcnlDb3VudDpkLGRlcENvdW50''@;'; put 'put ''OmYsb3B0aW9uczpudWxsfX12aXNpdFN0YXRlKGMsYSl7Y29uc3QgZD10aGlzLnZpc2l0U3R5bGUoYy5zdHlsZXMsYSksZj1jLm9wdGlvbnMmJmMub3B0aW9ucy5wYXJhbXN8fG51bGw7aWYoZC5jb250YWluc0R5bmFtaWNTdHlsZXMpe2NvbnN0IHY9bmV3IFNldCx4PWZ8fHt9O2Quc3R5bGVz''@;'; put 'put ''LmZvckVhY2goSD0+e0ggaW5zdGFuY2VvZiBNYXAmJkguZm9yRWFjaChLPT57ZTgoSykuZm9yRWFjaChlZT0+e3guaGFzT3duUHJvcGVydHkoZWUpfHx2LmFkZChlZSl9KX0pfSksdi5zaXplJiYoejAodi52YWx1ZXMoKSksYS5lcnJvcnMucHVzaChmdW5jdGlvbiBySyhsLGMpe3JldHVybiBu''@;'; put 'put ''ZXcgSXQoMzAwOCwhMSl9KCkpKX1yZXR1cm57dHlwZTowLG5hbWU6Yy5uYW1lLHN0eWxlOmQsb3B0aW9uczpmP3twYXJhbXM6Zn06bnVsbH19dmlzaXRUcmFuc2l0aW9uKGMsYSl7YS5xdWVyeUNvdW50PTAsYS5kZXBDb3VudD0wO2NvbnN0IGQ9SG8odGhpcyxwZihjLmFuaW1hdGlvbiksYSk7''@;'; put 'put ''cmV0dXJue3R5cGU6MSxtYXRjaGVyczpXSyhjLmV4cHIsYS5lcnJvcnMpLGFuaW1hdGlvbjpkLHF1ZXJ5Q291bnQ6YS5xdWVyeUNvdW50LGRlcENvdW50OmEuZGVwQ291bnQsb3B0aW9uczpkYyhjLm9wdGlvbnMpfX12aXNpdFNlcXVlbmNlKGMsYSl7cmV0dXJue3R5cGU6MixzdGVwczpjLnN0''@;'; put 'put ''ZXBzLm1hcChkPT5Ibyh0aGlzLGQsYSkpLG9wdGlvbnM6ZGMoYy5vcHRpb25zKX19dmlzaXRHcm91cChjLGEpe2NvbnN0IGQ9YS5jdXJyZW50VGltZTtsZXQgZj0wO2NvbnN0IHY9Yy5zdGVwcy5tYXAoeD0+e2EuY3VycmVudFRpbWU9ZDtjb25zdCBIPUhvKHRoaXMseCxhKTtyZXR1cm4gZj1N''@;'; put 'put ''YXRoLm1heChmLGEuY3VycmVudFRpbWUpLEh9KTtyZXR1cm4gYS5jdXJyZW50VGltZT1mLHt0eXBlOjMsc3RlcHM6dixvcHRpb25zOmRjKGMub3B0aW9ucyl9fXZpc2l0QW5pbWF0ZShjLGEpe2NvbnN0IGQ9ZnVuY3Rpb24gZVgobCxjKXtpZihsLmhhc093blByb3BlcnR5KCJkdXJhdGlvbiIp''@;'; put 'put ''KXJldHVybiBsO2lmKCJudW1iZXIiPT10eXBlb2YgbClyZXR1cm4gbTIoTjAobCxjKS5kdXJhdGlvbiwwLCIiKTtjb25zdCBhPWw7aWYoYS5zcGxpdCgvXHMrLykuc29tZSh2PT4ieyI9PXYuY2hhckF0KDApJiYieyI9PXYuY2hhckF0KDEpKSl7Y29uc3Qgdj1tMigwLDAsIiIpO3JldHVybiB2''@;'; put 'put ''LmR5bmFtaWM9ITAsdi5zdHJWYWx1ZT1hLHZ9Y29uc3QgZj1OMChhLGMpO3JldHVybiBtMihmLmR1cmF0aW9uLGYuZGVsYXksZi5lYXNpbmcpfShjLnRpbWluZ3MsYS5lcnJvcnMpO2EuY3VycmVudEFuaW1hdGVUaW1pbmdzPWQ7bGV0IGYsdj1jLnN0eWxlcz9jLnN0eWxlczppcih7fSk7aWYo''@;'; put 'put ''NT09di50eXBlKWY9dGhpcy52aXNpdEtleWZyYW1lcyh2LGEpO2Vsc2V7bGV0IHg9Yy5zdHlsZXMsSD0hMTtpZigheCl7SD0hMDtjb25zdCBlZT17fTtkLmVhc2luZyYmKGVlLmVhc2luZz1kLmVhc2luZykseD1pcihlZSl9YS5jdXJyZW50VGltZSs9ZC5kdXJhdGlvbitkLmRlbGF5O2NvbnN0''@;'; put 'put ''IEs9dGhpcy52aXNpdFN0eWxlKHgsYSk7Sy5pc0VtcHR5U3RlcD1ILGY9S31yZXR1cm4gYS5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9bnVsbCx7dHlwZTo0LHRpbWluZ3M6ZCxzdHlsZTpmLG9wdGlvbnM6bnVsbH19dmlzaXRTdHlsZShjLGEpe2NvbnN0IGQ9dGhpcy5fbWFrZVN0eWxlQXN0KGMs''@;'; put 'put ''YSk7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlU3R5bGVBc3QoZCxhKSxkfV9tYWtlU3R5bGVBc3QoYyxhKXtjb25zdCBkPVtdLGY9QXJyYXkuaXNBcnJheShjLnN0eWxlcyk/Yy5zdHlsZXM6W2Muc3R5bGVzXTtmb3IobGV0IEggb2YgZikic3RyaW5nIj09dHlwZW9mIEg/SD09PVNhP2QucHVzaChI''@;'; put 'put ''KTphLmVycm9ycy5wdXNoKG5ldyBJdCgzMDAyLCExKSk6ZC5wdXNoKEt4KEgpKTtsZXQgdj0hMSx4PW51bGw7cmV0dXJuIGQuZm9yRWFjaChIPT57aWYoSCBpbnN0YW5jZW9mIE1hcCYmKEguaGFzKCJlYXNpbmciKSYmKHg9SC5nZXQoImVhc2luZyIpLEguZGVsZXRlKCJlYXNpbmciKSksIXYp''@;'; put 'put ''KWZvcihsZXQgSyBvZiBILnZhbHVlcygpKWlmKEsudG9TdHJpbmcoKS5pbmRleE9mKCJ7eyIpPj0wKXt2PSEwO2JyZWFrfX0pLHt0eXBlOjYsc3R5bGVzOmQsZWFzaW5nOngsb2Zmc2V0OmMub2Zmc2V0LGNvbnRhaW5zRHluYW1pY1N0eWxlczp2LG9wdGlvbnM6bnVsbH19X3ZhbGlkYXRlU3R5''@;'; put 'put ''bGVBc3QoYyxhKXtjb25zdCBkPWEuY3VycmVudEFuaW1hdGVUaW1pbmdzO2xldCBmPWEuY3VycmVudFRpbWUsdj1hLmN1cnJlbnRUaW1lO2QmJnY+MCYmKHYtPWQuZHVyYXRpb24rZC5kZWxheSksYy5zdHlsZXMuZm9yRWFjaCh4PT57InN0cmluZyIhPXR5cGVvZiB4JiZ4LmZvckVhY2goKEgs''@;'; put 'put ''Syk9Pntjb25zdCBlZT1hLmNvbGxlY3RlZFN0eWxlcy5nZXQoYS5jdXJyZW50UXVlcnlTZWxlY3RvciksZmU9ZWUuZ2V0KEspO2xldCB5ZT0hMDtmZSYmKHYhPWYmJnY+PWZlLnN0YXJ0VGltZSYmZjw9ZmUuZW5kVGltZSYmKGEuZXJyb3JzLnB1c2goZnVuY3Rpb24gb0sobCxjLGEsZCxmKXty''@;'; put 'put ''ZXR1cm4gbmV3IEl0KDMwMTAsITEpfSgpKSx5ZT0hMSksdj1mZS5zdGFydFRpbWUpLHllJiZlZS5zZXQoSyx7c3RhcnRUaW1lOnYsZW5kVGltZTpmfSksYS5vcHRpb25zJiZmdW5jdGlvbiBSSyhsLGMsYSl7Y29uc3QgZD1jLnBhcmFtc3x8e30sZj1lOChsKTtmLmxlbmd0aCYmZi5mb3JFYWNo''@;'; put 'put ''KHY9PntkLmhhc093blByb3BlcnR5KHYpfHxhLnB1c2goZnVuY3Rpb24gWEoobCl7cmV0dXJuIG5ldyBJdCgzMDAxLCExKX0oKSl9KX0oSCxhLm9wdGlvbnMsYS5lcnJvcnMpfSl9KX12aXNpdEtleWZyYW1lcyhjLGEpe2NvbnN0IGQ9e3R5cGU6NSxzdHlsZXM6W10sb3B0aW9uczpudWxsfTtp''@;'; put 'put ''ZighYS5jdXJyZW50QW5pbWF0ZVRpbWluZ3MpcmV0dXJuIGEuZXJyb3JzLnB1c2goZnVuY3Rpb24gc0soKXtyZXR1cm4gbmV3IEl0KDMwMTEsITEpfSgpKSxkO2xldCB2PTA7Y29uc3QgeD1bXTtsZXQgSD0hMSxLPSExLGVlPTA7Y29uc3QgZmU9Yy5zdGVwcy5tYXAoQXQ9Pntjb25zdCBKdD10''@;'; put 'put ''aGlzLl9tYWtlU3R5bGVBc3QoQXQsYSk7bGV0IFB0PW51bGwhPUp0Lm9mZnNldD9KdC5vZmZzZXQ6ZnVuY3Rpb24gJEsobCl7aWYoInN0cmluZyI9PXR5cGVvZiBsKXJldHVybiBudWxsO2xldCBjPW51bGw7aWYoQXJyYXkuaXNBcnJheShsKSlsLmZvckVhY2goYT0+e2lmKGEgaW5zdGFuY2Vv''@;'; put 'put ''ZiBNYXAmJmEuaGFzKCJvZmZzZXQiKSl7Y29uc3QgZD1hO2M9cGFyc2VGbG9hdChkLmdldCgib2Zmc2V0IikpLGQuZGVsZXRlKCJvZmZzZXQiKX19KTtlbHNlIGlmKGwgaW5zdGFuY2VvZiBNYXAmJmwuaGFzKCJvZmZzZXQiKSl7Y29uc3QgYT1sO2M9cGFyc2VGbG9hdChhLmdldCgib2Zmc2V0''@;'; put 'put ''IikpLGEuZGVsZXRlKCJvZmZzZXQiKX1yZXR1cm4gY30oSnQuc3R5bGVzKSxLdD0wO3JldHVybiBudWxsIT1QdCYmKHYrKyxLdD1KdC5vZmZzZXQ9UHQpLEs9S3x8S3Q8MHx8S3Q+MSxIPUh8fEt0PGVlLGVlPUt0LHgucHVzaChLdCksSnR9KTtLJiZhLmVycm9ycy5wdXNoKGZ1bmN0aW9uIGFL''@;'; put 'put ''KCl7cmV0dXJuIG5ldyBJdCgzMDEyLCExKX0oKSksSCYmYS5lcnJvcnMucHVzaChmdW5jdGlvbiBsSygpe3JldHVybiBuZXcgSXQoMzIwMCwhMSl9KCkpO2NvbnN0IHllPWMuc3RlcHMubGVuZ3RoO2xldCBqZT0wO3Y+MCYmdjx5ZT9hLmVycm9ycy5wdXNoKGZ1bmN0aW9uIGNLKCl7cmV0dXJu''@;'; put 'put ''IG5ldyBJdCgzMjAyLCExKX0oKSk6MD09diYmKGplPTEvKHllLTEpKTtjb25zdCBJZT15ZS0xLHFlPWEuY3VycmVudFRpbWUsc3Q9YS5jdXJyZW50QW5pbWF0ZVRpbWluZ3Msa3Q9c3QuZHVyYXRpb247cmV0dXJuIGZlLmZvckVhY2goKEF0LEp0KT0+e2NvbnN0IFB0PWplPjA/SnQ9PUllPzE6''@;'; put 'put ''amUqSnQ6eFtKdF0sS3Q9UHQqa3Q7YS5jdXJyZW50VGltZT1xZStzdC5kZWxheStLdCxzdC5kdXJhdGlvbj1LdCx0aGlzLl92YWxpZGF0ZVN0eWxlQXN0KEF0LGEpLEF0Lm9mZnNldD1QdCxkLnN0eWxlcy5wdXNoKEF0KX0pLGR9dmlzaXRSZWZlcmVuY2UoYyxhKXtyZXR1cm57dHlwZTo4LGFu''@;'; put 'put ''aW1hdGlvbjpIbyh0aGlzLHBmKGMuYW5pbWF0aW9uKSxhKSxvcHRpb25zOmRjKGMub3B0aW9ucyl9fXZpc2l0QW5pbWF0ZUNoaWxkKGMsYSl7cmV0dXJuIGEuZGVwQ291bnQrKyx7dHlwZTo5LG9wdGlvbnM6ZGMoYy5vcHRpb25zKX19dmlzaXRBbmltYXRlUmVmKGMsYSl7cmV0dXJue3R5cGU6''@;'; put 'put ''MTAsYW5pbWF0aW9uOnRoaXMudmlzaXRSZWZlcmVuY2UoYy5hbmltYXRpb24sYSksb3B0aW9uczpkYyhjLm9wdGlvbnMpfX12aXNpdFF1ZXJ5KGMsYSl7Y29uc3QgZD1hLmN1cnJlbnRRdWVyeVNlbGVjdG9yLGY9Yy5vcHRpb25zfHx7fTthLnF1ZXJ5Q291bnQrKyxhLmN1cnJlbnRRdWVyeT1j''@;'; put 'put ''O2NvbnN0W3YseF09ZnVuY3Rpb24gS0sobCl7Y29uc3QgYz0hIWwuc3BsaXQoL1xzKixccyovKS5maW5kKGE9PiI6c2VsZiI9PWEpO3JldHVybiBjJiYobD1sLnJlcGxhY2UoWkssIiIpKSxsPWwucmVwbGFjZSgvQFwqL2csUjApLnJlcGxhY2UoL0BcdysvZyxhPT5SMCsiLSIrYS5zbGljZSgx''@;'; put 'put ''KSkucmVwbGFjZSgvOmFuaW1hdGluZy9nLGQyKSxbbCxjXX0oYy5zZWxlY3Rvcik7YS5jdXJyZW50UXVlcnlTZWxlY3Rvcj1kLmxlbmd0aD9kKyIgIit2OnYsQm8oYS5jb2xsZWN0ZWRTdHlsZXMsYS5jdXJyZW50UXVlcnlTZWxlY3RvcixuZXcgTWFwKTtjb25zdCBIPUhvKHRoaXMscGYoYy5h''@;'; put 'put ''bmltYXRpb24pLGEpO3JldHVybiBhLmN1cnJlbnRRdWVyeT1udWxsLGEuY3VycmVudFF1ZXJ5U2VsZWN0b3I9ZCx7dHlwZToxMSxzZWxlY3Rvcjp2LGxpbWl0OmYubGltaXR8fDAsb3B0aW9uYWw6ISFmLm9wdGlvbmFsLGluY2x1ZGVTZWxmOngsYW5pbWF0aW9uOkgsb3JpZ2luYWxTZWxlY3Rv''@;'; put 'put ''cjpjLnNlbGVjdG9yLG9wdGlvbnM6ZGMoYy5vcHRpb25zKX19dmlzaXRTdGFnZ2VyKGMsYSl7YS5jdXJyZW50UXVlcnl8fGEuZXJyb3JzLnB1c2goZnVuY3Rpb24gdUsoKXtyZXR1cm4gbmV3IEl0KDMwMTMsITEpfSgpKTtjb25zdCBkPSJmdWxsIj09PWMudGltaW5ncz97ZHVyYXRpb246MCxk''@;'; put 'put ''ZWxheTowLGVhc2luZzoiZnVsbCJ9Ok4wKGMudGltaW5ncyxhLmVycm9ycywhMCk7cmV0dXJue3R5cGU6MTIsYW5pbWF0aW9uOkhvKHRoaXMscGYoYy5hbmltYXRpb24pLGEpLHRpbWluZ3M6ZCxvcHRpb25zOm51bGx9fX1jbGFzcyBRS3tjb25zdHJ1Y3RvcihjKXt0aGlzLmVycm9ycz1jLHRo''@;'; put 'put ''aXMucXVlcnlDb3VudD0wLHRoaXMuZGVwQ291bnQ9MCx0aGlzLmN1cnJlbnRUcmFuc2l0aW9uPW51bGwsdGhpcy5jdXJyZW50UXVlcnk9bnVsbCx0aGlzLmN1cnJlbnRRdWVyeVNlbGVjdG9yPW51bGwsdGhpcy5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9bnVsbCx0aGlzLmN1cnJlbnRUaW1lPTAs''@;'; put 'put ''dGhpcy5jb2xsZWN0ZWRTdHlsZXM9bmV3IE1hcCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLnVuc3VwcG9ydGVkQ1NTUHJvcGVydGllc0ZvdW5kPW5ldyBTZXR9fWZ1bmN0aW9uIGRjKGwpe3JldHVybiBsPyhsPWZmKGwpKS5wYXJhbXMmJihsLnBhcmFtcz1mdW5jdGlvbiBYSyhsKXtyZXR1cm4g''@;'; put 'put ''bD9mZihsKTpudWxsfShsLnBhcmFtcykpOmw9e30sbH1mdW5jdGlvbiBtMihsLGMsYSl7cmV0dXJue2R1cmF0aW9uOmwsZGVsYXk6YyxlYXNpbmc6YX19ZnVuY3Rpb24gYjIobCxjLGEsZCxmLHYseD1udWxsLEg9ITEpe3JldHVybnt0eXBlOjEsZWxlbWVudDpsLGtleWZyYW1lczpjLHByZVN0''@;'; put 'put ''eWxlUHJvcHM6YSxwb3N0U3R5bGVQcm9wczpkLGR1cmF0aW9uOmYsZGVsYXk6dix0b3RhbFRpbWU6Zit2LGVhc2luZzp4LHN1YlRpbWVsaW5lOkh9fWNsYXNzIHEwe2NvbnN0cnVjdG9yKCl7dGhpcy5fbWFwPW5ldyBNYXB9Z2V0KGMpe3JldHVybiB0aGlzLl9tYXAuZ2V0KGMpfHxbXX1hcHBl''@;'; put 'put ''bmQoYyxhKXtsZXQgZD10aGlzLl9tYXAuZ2V0KGMpO2R8fHRoaXMuX21hcC5zZXQoYyxkPVtdKSxkLnB1c2goLi4uYSl9aGFzKGMpe3JldHVybiB0aGlzLl9tYXAuaGFzKGMpfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCl9fWNvbnN0IHJYPW5ldyBSZWdFeHAoIjplbnRlciIsImciKSxvWD1u''@;'; put 'put ''ZXcgUmVnRXhwKCI6bGVhdmUiLCJnIik7ZnVuY3Rpb24gdjIobCxjLGEsZCxmLHY9bmV3IE1hcCx4PW5ldyBNYXAsSCxLLGVlPVtdKXtyZXR1cm4obmV3IHNYKS5idWlsZEtleWZyYW1lcyhsLGMsYSxkLGYsdix4LEgsSyxlZSl9Y2xhc3Mgc1h7YnVpbGRLZXlmcmFtZXMoYyxhLGQsZix2LHgs''@;'; put 'put ''SCxLLGVlLGZlPVtdKXtlZT1lZXx8bmV3IHEwO2NvbnN0IHllPW5ldyBfMihjLGEsZWUsZix2LGZlLFtdKTt5ZS5vcHRpb25zPUs7Y29uc3QgamU9Sy5kZWxheT9tbChLLmRlbGF5KTowO3llLmN1cnJlbnRUaW1lbGluZS5kZWxheU5leHRTdGVwKGplKSx5ZS5jdXJyZW50VGltZWxpbmUuc2V0''@;'; put 'put ''U3R5bGVzKFt4XSxudWxsLHllLmVycm9ycyxLKSxIbyh0aGlzLGQseWUpO2NvbnN0IEllPXllLnRpbWVsaW5lcy5maWx0ZXIocWU9PnFlLmNvbnRhaW5zQW5pbWF0aW9uKCkpO2lmKEllLmxlbmd0aCYmSC5zaXplKXtsZXQgcWU7Zm9yKGxldCBzdD1JZS5sZW5ndGgtMTtzdD49MDtzdC0tKXtj''@;'; put 'put ''b25zdCBrdD1JZVtzdF07aWYoa3QuZWxlbWVudD09PWEpe3FlPWt0O2JyZWFrfX1xZSYmIXFlLmFsbG93T25seVRpbWVsaW5lU3R5bGVzKCkmJnFlLnNldFN0eWxlcyhbSF0sbnVsbCx5ZS5lcnJvcnMsSyl9cmV0dXJuIEllLmxlbmd0aD9JZS5tYXAocWU9PnFlLmJ1aWxkS2V5ZnJhbWVzKCkp''@;'; put 'put ''OltiMihhLFtdLFtdLFtdLDAsamUsIiIsITEpXX12aXNpdFRyaWdnZXIoYyxhKXt9dmlzaXRTdGF0ZShjLGEpe312aXNpdFRyYW5zaXRpb24oYyxhKXt9dmlzaXRBbmltYXRlQ2hpbGQoYyxhKXtjb25zdCBkPWEuc3ViSW5zdHJ1Y3Rpb25zLmdldChhLmVsZW1lbnQpO2lmKGQpe2NvbnN0IGY9''@;'; put 'put ''YS5jcmVhdGVTdWJDb250ZXh0KGMub3B0aW9ucyksdj1hLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZSx4PXRoaXMuX3Zpc2l0U3ViSW5zdHJ1Y3Rpb25zKGQsZixmLm9wdGlvbnMpO3YhPXgmJmEudHJhbnNmb3JtSW50b05ld1RpbWVsaW5lKHgpfWEucHJldmlvdXNOb2RlPWN9dmlzaXRB''@;'; put 'put ''bmltYXRlUmVmKGMsYSl7Y29uc3QgZD1hLmNyZWF0ZVN1YkNvbnRleHQoYy5vcHRpb25zKTtkLnRyYW5zZm9ybUludG9OZXdUaW1lbGluZSgpLHRoaXMudmlzaXRSZWZlcmVuY2UoYy5hbmltYXRpb24sZCksYS50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoZC5jdXJyZW50VGltZWxpbmUuY3Vy''@;'; put 'put ''cmVudFRpbWUpLGEucHJldmlvdXNOb2RlPWN9X3Zpc2l0U3ViSW5zdHJ1Y3Rpb25zKGMsYSxkKXtsZXQgdj1hLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZTtjb25zdCB4PW51bGwhPWQuZHVyYXRpb24/bWwoZC5kdXJhdGlvbik6bnVsbCxIPW51bGwhPWQuZGVsYXk/bWwoZC5kZWxheSk6''@;'; put 'put ''bnVsbDtyZXR1cm4gMCE9PXgmJmMuZm9yRWFjaChLPT57Y29uc3QgZWU9YS5hcHBlbmRJbnN0cnVjdGlvblRvVGltZWxpbmUoSyx4LEgpO3Y9TWF0aC5tYXgodixlZS5kdXJhdGlvbitlZS5kZWxheSl9KSx2fXZpc2l0UmVmZXJlbmNlKGMsYSl7YS51cGRhdGVPcHRpb25zKGMub3B0aW9ucywh''@;'; put 'put ''MCksSG8odGhpcyxjLmFuaW1hdGlvbixhKSxhLnByZXZpb3VzTm9kZT1jfXZpc2l0U2VxdWVuY2UoYyxhKXtjb25zdCBkPWEuc3ViQ29udGV4dENvdW50O2xldCBmPWE7Y29uc3Qgdj1jLm9wdGlvbnM7aWYodiYmKHYucGFyYW1zfHx2LmRlbGF5KSYmKGY9YS5jcmVhdGVTdWJDb250ZXh0KHYp''@;'; put 'put ''LGYudHJhbnNmb3JtSW50b05ld1RpbWVsaW5lKCksbnVsbCE9di5kZWxheSkpezY9PWYucHJldmlvdXNOb2RlLnR5cGUmJihmLmN1cnJlbnRUaW1lbGluZS5zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKSxmLnByZXZpb3VzTm9kZT1HMCk7Y29uc3QgeD1tbCh2LmRlbGF5KTtmLmRlbGF5TmV4dFN0''@;'; put 'put ''ZXAoeCl9Yy5zdGVwcy5sZW5ndGgmJihjLnN0ZXBzLmZvckVhY2goeD0+SG8odGhpcyx4LGYpKSxmLmN1cnJlbnRUaW1lbGluZS5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKSxmLnN1YkNvbnRleHRDb3VudD5kJiZmLnRyYW5zZm9ybUludG9OZXdUaW1lbGluZSgpKSxhLnByZXZpb3VzTm9kZT1j''@;'; put 'put ''fXZpc2l0R3JvdXAoYyxhKXtjb25zdCBkPVtdO2xldCBmPWEuY3VycmVudFRpbWVsaW5lLmN1cnJlbnRUaW1lO2NvbnN0IHY9Yy5vcHRpb25zJiZjLm9wdGlvbnMuZGVsYXk/bWwoYy5vcHRpb25zLmRlbGF5KTowO2Muc3RlcHMuZm9yRWFjaCh4PT57Y29uc3QgSD1hLmNyZWF0ZVN1YkNvbnRl''@;'; put 'put ''eHQoYy5vcHRpb25zKTt2JiZILmRlbGF5TmV4dFN0ZXAodiksSG8odGhpcyx4LEgpLGY9TWF0aC5tYXgoZixILmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZSksZC5wdXNoKEguY3VycmVudFRpbWVsaW5lKX0pLGQuZm9yRWFjaCh4PT5hLmN1cnJlbnRUaW1lbGluZS5tZXJnZVRpbWVsaW5l''@;'; put 'put ''Q29sbGVjdGVkU3R5bGVzKHgpKSxhLnRyYW5zZm9ybUludG9OZXdUaW1lbGluZShmKSxhLnByZXZpb3VzTm9kZT1jfV92aXNpdFRpbWluZyhjLGEpe2lmKGMuZHluYW1pYyl7Y29uc3QgZD1jLnN0clZhbHVlO3JldHVybiBOMChhLnBhcmFtcz9ZMChkLGEucGFyYW1zLGEuZXJyb3JzKTpkLGEu''@;'; put 'put ''ZXJyb3JzKX1yZXR1cm57ZHVyYXRpb246Yy5kdXJhdGlvbixkZWxheTpjLmRlbGF5LGVhc2luZzpjLmVhc2luZ319dmlzaXRBbmltYXRlKGMsYSl7Y29uc3QgZD1hLmN1cnJlbnRBbmltYXRlVGltaW5ncz10aGlzLl92aXNpdFRpbWluZyhjLnRpbWluZ3MsYSksZj1hLmN1cnJlbnRUaW1lbGlu''@;'; put 'put ''ZTtkLmRlbGF5JiYoYS5pbmNyZW1lbnRUaW1lKGQuZGVsYXkpLGYuc25hcHNob3RDdXJyZW50U3R5bGVzKCkpO2NvbnN0IHY9Yy5zdHlsZTs1PT12LnR5cGU/dGhpcy52aXNpdEtleWZyYW1lcyh2LGEpOihhLmluY3JlbWVudFRpbWUoZC5kdXJhdGlvbiksdGhpcy52aXNpdFN0eWxlKHYsYSks''@;'; put 'put ''Zi5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKSksYS5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9bnVsbCxhLnByZXZpb3VzTm9kZT1jfXZpc2l0U3R5bGUoYyxhKXtjb25zdCBkPWEuY3VycmVudFRpbWVsaW5lLGY9YS5jdXJyZW50QW5pbWF0ZVRpbWluZ3M7IWYmJmQuaGFzQ3VycmVudFN0eWxlUHJv''@;'; put 'put ''cGVydGllcygpJiZkLmZvcndhcmRGcmFtZSgpO2NvbnN0IHY9ZiYmZi5lYXNpbmd8fGMuZWFzaW5nO2MuaXNFbXB0eVN0ZXA/ZC5hcHBseUVtcHR5U3RlcCh2KTpkLnNldFN0eWxlcyhjLnN0eWxlcyx2LGEuZXJyb3JzLGEub3B0aW9ucyksYS5wcmV2aW91c05vZGU9Y312aXNpdEtleWZyYW1l''@;'; put 'put ''cyhjLGEpe2NvbnN0IGQ9YS5jdXJyZW50QW5pbWF0ZVRpbWluZ3MsZj1hLmN1cnJlbnRUaW1lbGluZS5kdXJhdGlvbix2PWQuZHVyYXRpb24sSD1hLmNyZWF0ZVN1YkNvbnRleHQoKS5jdXJyZW50VGltZWxpbmU7SC5lYXNpbmc9ZC5lYXNpbmcsYy5zdHlsZXMuZm9yRWFjaChLPT57SC5mb3J3''@;'; put 'put ''YXJkVGltZSgoSy5vZmZzZXR8fDApKnYpLEguc2V0U3R5bGVzKEsuc3R5bGVzLEsuZWFzaW5nLGEuZXJyb3JzLGEub3B0aW9ucyksSC5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKX0pLGEuY3VycmVudFRpbWVsaW5lLm1lcmdlVGltZWxpbmVDb2xsZWN0ZWRTdHlsZXMoSCksYS50cmFuc2Zvcm1J''@;'; put 'put ''bnRvTmV3VGltZWxpbmUoZit2KSxhLnByZXZpb3VzTm9kZT1jfXZpc2l0UXVlcnkoYyxhKXtjb25zdCBkPWEuY3VycmVudFRpbWVsaW5lLmN1cnJlbnRUaW1lLGY9Yy5vcHRpb25zfHx7fSx2PWYuZGVsYXk/bWwoZi5kZWxheSk6MDt2JiYoNj09PWEucHJldmlvdXNOb2RlLnR5cGV8fDA9PWQm''@;'; put 'put ''JmEuY3VycmVudFRpbWVsaW5lLmhhc0N1cnJlbnRTdHlsZVByb3BlcnRpZXMoKSkmJihhLmN1cnJlbnRUaW1lbGluZS5zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKSxhLnByZXZpb3VzTm9kZT1HMCk7bGV0IHg9ZDtjb25zdCBIPWEuaW52b2tlUXVlcnkoYy5zZWxlY3RvcixjLm9yaWdpbmFsU2Vs''@;'; put 'put ''ZWN0b3IsYy5saW1pdCxjLmluY2x1ZGVTZWxmLCEhZi5vcHRpb25hbCxhLmVycm9ycyk7YS5jdXJyZW50UXVlcnlUb3RhbD1ILmxlbmd0aDtsZXQgSz1udWxsO0guZm9yRWFjaCgoZWUsZmUpPT57YS5jdXJyZW50UXVlcnlJbmRleD1mZTtjb25zdCB5ZT1hLmNyZWF0ZVN1YkNvbnRleHQoYy5v''@;'; put 'put ''cHRpb25zLGVlKTt2JiZ5ZS5kZWxheU5leHRTdGVwKHYpLGVlPT09YS5lbGVtZW50JiYoSz15ZS5jdXJyZW50VGltZWxpbmUpLEhvKHRoaXMsYy5hbmltYXRpb24seWUpLHllLmN1cnJlbnRUaW1lbGluZS5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKSx4PU1hdGgubWF4KHgseWUuY3VycmVudFRp''@;'; put 'put ''bWVsaW5lLmN1cnJlbnRUaW1lKX0pLGEuY3VycmVudFF1ZXJ5SW5kZXg9MCxhLmN1cnJlbnRRdWVyeVRvdGFsPTAsYS50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoeCksSyYmKGEuY3VycmVudFRpbWVsaW5lLm1lcmdlVGltZWxpbmVDb2xsZWN0ZWRTdHlsZXMoSyksYS5jdXJyZW50VGltZWxp''@;'; put 'put ''bmUuc25hcHNob3RDdXJyZW50U3R5bGVzKCkpLGEucHJldmlvdXNOb2RlPWN9dmlzaXRTdGFnZ2VyKGMsYSl7Y29uc3QgZD1hLnBhcmVudENvbnRleHQsZj1hLmN1cnJlbnRUaW1lbGluZSx2PWMudGltaW5ncyx4PU1hdGguYWJzKHYuZHVyYXRpb24pLEg9eCooYS5jdXJyZW50UXVlcnlUb3Rh''@;'; put 'put ''bC0xKTtsZXQgSz14KmEuY3VycmVudFF1ZXJ5SW5kZXg7c3dpdGNoKHYuZHVyYXRpb248MD8icmV2ZXJzZSI6di5lYXNpbmcpe2Nhc2UicmV2ZXJzZSI6Sz1ILUs7YnJlYWs7Y2FzZSJmdWxsIjpLPWQuY3VycmVudFN0YWdnZXJUaW1lfWNvbnN0IGZlPWEuY3VycmVudFRpbWVsaW5lO0smJmZl''@;'; put 'put ''LmRlbGF5TmV4dFN0ZXAoSyk7Y29uc3QgeWU9ZmUuY3VycmVudFRpbWU7SG8odGhpcyxjLmFuaW1hdGlvbixhKSxhLnByZXZpb3VzTm9kZT1jLGQuY3VycmVudFN0YWdnZXJUaW1lPWYuY3VycmVudFRpbWUteWUrKGYuc3RhcnRUaW1lLWQuY3VycmVudFRpbWVsaW5lLnN0YXJ0VGltZSl9fWNv''@;'; put 'put ''bnN0IEcwPXt9O2NsYXNzIF8ye2NvbnN0cnVjdG9yKGMsYSxkLGYsdix4LEgsSyl7dGhpcy5fZHJpdmVyPWMsdGhpcy5lbGVtZW50PWEsdGhpcy5zdWJJbnN0cnVjdGlvbnM9ZCx0aGlzLl9lbnRlckNsYXNzTmFtZT1mLHRoaXMuX2xlYXZlQ2xhc3NOYW1lPXYsdGhpcy5lcnJvcnM9eCx0aGlz''@;'; put 'put ''LnRpbWVsaW5lcz1ILHRoaXMucGFyZW50Q29udGV4dD1udWxsLHRoaXMuY3VycmVudEFuaW1hdGVUaW1pbmdzPW51bGwsdGhpcy5wcmV2aW91c05vZGU9RzAsdGhpcy5zdWJDb250ZXh0Q291bnQ9MCx0aGlzLm9wdGlvbnM9e30sdGhpcy5jdXJyZW50UXVlcnlJbmRleD0wLHRoaXMuY3VycmVu''@;'; put 'put ''dFF1ZXJ5VG90YWw9MCx0aGlzLmN1cnJlbnRTdGFnZ2VyVGltZT0wLHRoaXMuY3VycmVudFRpbWVsaW5lPUt8fG5ldyBaMCh0aGlzLl9kcml2ZXIsYSwwKSxILnB1c2godGhpcy5jdXJyZW50VGltZWxpbmUpfWdldCBwYXJhbXMoKXtyZXR1cm4gdGhpcy5vcHRpb25zLnBhcmFtc311cGRhdGVP''@;'; put 'put ''cHRpb25zKGMsYSl7aWYoIWMpcmV0dXJuO2NvbnN0IGQ9YztsZXQgZj10aGlzLm9wdGlvbnM7bnVsbCE9ZC5kdXJhdGlvbiYmKGYuZHVyYXRpb249bWwoZC5kdXJhdGlvbikpLG51bGwhPWQuZGVsYXkmJihmLmRlbGF5PW1sKGQuZGVsYXkpKTtjb25zdCB2PWQucGFyYW1zO2lmKHYpe2xldCB4''@;'; put 'put ''PWYucGFyYW1zO3h8fCh4PXRoaXMub3B0aW9ucy5wYXJhbXM9e30pLE9iamVjdC5rZXlzKHYpLmZvckVhY2goSD0+eyghYXx8IXguaGFzT3duUHJvcGVydHkoSCkpJiYoeFtIXT1ZMCh2W0hdLHgsdGhpcy5lcnJvcnMpKX0pfX1fY29weU9wdGlvbnMoKXtjb25zdCBjPXt9O2lmKHRoaXMub3B0''@;'; put 'put ''aW9ucyl7Y29uc3QgYT10aGlzLm9wdGlvbnMucGFyYW1zO2lmKGEpe2NvbnN0IGQ9Yy5wYXJhbXM9e307T2JqZWN0LmtleXMoYSkuZm9yRWFjaChmPT57ZFtmXT1hW2ZdfSl9fXJldHVybiBjfWNyZWF0ZVN1YkNvbnRleHQoYz1udWxsLGEsZCl7Y29uc3QgZj1hfHx0aGlzLmVsZW1lbnQsdj1u''@;'; put 'put ''ZXcgXzIodGhpcy5fZHJpdmVyLGYsdGhpcy5zdWJJbnN0cnVjdGlvbnMsdGhpcy5fZW50ZXJDbGFzc05hbWUsdGhpcy5fbGVhdmVDbGFzc05hbWUsdGhpcy5lcnJvcnMsdGhpcy50aW1lbGluZXMsdGhpcy5jdXJyZW50VGltZWxpbmUuZm9yayhmLGR8fDApKTtyZXR1cm4gdi5wcmV2aW91c05v''@;'; put 'put ''ZGU9dGhpcy5wcmV2aW91c05vZGUsdi5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9dGhpcy5jdXJyZW50QW5pbWF0ZVRpbWluZ3Msdi5vcHRpb25zPXRoaXMuX2NvcHlPcHRpb25zKCksdi51cGRhdGVPcHRpb25zKGMpLHYuY3VycmVudFF1ZXJ5SW5kZXg9dGhpcy5jdXJyZW50UXVlcnlJbmRleCx2''@;'; put 'put ''LmN1cnJlbnRRdWVyeVRvdGFsPXRoaXMuY3VycmVudFF1ZXJ5VG90YWwsdi5wYXJlbnRDb250ZXh0PXRoaXMsdGhpcy5zdWJDb250ZXh0Q291bnQrKyx2fXRyYW5zZm9ybUludG9OZXdUaW1lbGluZShjKXtyZXR1cm4gdGhpcy5wcmV2aW91c05vZGU9RzAsdGhpcy5jdXJyZW50VGltZWxpbmU9''@;'; put 'put ''dGhpcy5jdXJyZW50VGltZWxpbmUuZm9yayh0aGlzLmVsZW1lbnQsYyksdGhpcy50aW1lbGluZXMucHVzaCh0aGlzLmN1cnJlbnRUaW1lbGluZSksdGhpcy5jdXJyZW50VGltZWxpbmV9YXBwZW5kSW5zdHJ1Y3Rpb25Ub1RpbWVsaW5lKGMsYSxkKXtjb25zdCBmPXtkdXJhdGlvbjpudWxsIT1h''@;'; put 'put ''P2E6Yy5kdXJhdGlvbixkZWxheTp0aGlzLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZSsobnVsbCE9ZD9kOjApK2MuZGVsYXksZWFzaW5nOiIifSx2PW5ldyBhWCh0aGlzLl9kcml2ZXIsYy5lbGVtZW50LGMua2V5ZnJhbWVzLGMucHJlU3R5bGVQcm9wcyxjLnBvc3RTdHlsZVByb3BzLGYs''@;'; put 'put ''Yy5zdHJldGNoU3RhcnRpbmdLZXlmcmFtZSk7cmV0dXJuIHRoaXMudGltZWxpbmVzLnB1c2godiksZn1pbmNyZW1lbnRUaW1lKGMpe3RoaXMuY3VycmVudFRpbWVsaW5lLmZvcndhcmRUaW1lKHRoaXMuY3VycmVudFRpbWVsaW5lLmR1cmF0aW9uK2MpfWRlbGF5TmV4dFN0ZXAoYyl7Yz4wJiZ0''@;'; put 'put ''aGlzLmN1cnJlbnRUaW1lbGluZS5kZWxheU5leHRTdGVwKGMpfWludm9rZVF1ZXJ5KGMsYSxkLGYsdix4KXtsZXQgSD1bXTtpZihmJiZILnB1c2godGhpcy5lbGVtZW50KSxjLmxlbmd0aD4wKXtjPShjPWMucmVwbGFjZShyWCwiLiIrdGhpcy5fZW50ZXJDbGFzc05hbWUpKS5yZXBsYWNlKG9Y''@;'; put 'put ''LCIuIit0aGlzLl9sZWF2ZUNsYXNzTmFtZSk7bGV0IGVlPXRoaXMuX2RyaXZlci5xdWVyeSh0aGlzLmVsZW1lbnQsYywxIT1kKTswIT09ZCYmKGVlPWQ8MD9lZS5zbGljZShlZS5sZW5ndGgrZCxlZS5sZW5ndGgpOmVlLnNsaWNlKDAsZCkpLEgucHVzaCguLi5lZSl9cmV0dXJuIXYmJjA9PUgu''@;'; put 'put ''bGVuZ3RoJiZ4LnB1c2goZnVuY3Rpb24gZEsobCl7cmV0dXJuIG5ldyBJdCgzMDE0LCExKX0oKSksSH19Y2xhc3MgWjB7Y29uc3RydWN0b3IoYyxhLGQsZil7dGhpcy5fZHJpdmVyPWMsdGhpcy5lbGVtZW50PWEsdGhpcy5zdGFydFRpbWU9ZCx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNM''@;'; put 'put ''b29rdXA9Zix0aGlzLmR1cmF0aW9uPTAsdGhpcy5fcHJldmlvdXNLZXlmcmFtZT1uZXcgTWFwLHRoaXMuX2N1cnJlbnRLZXlmcmFtZT1uZXcgTWFwLHRoaXMuX2tleWZyYW1lcz1uZXcgTWFwLHRoaXMuX3N0eWxlU3VtbWFyeT1uZXcgTWFwLHRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXM9bmV3''@;'; put 'put ''IE1hcCx0aGlzLl9wZW5kaW5nU3R5bGVzPW5ldyBNYXAsdGhpcy5fYmFja0ZpbGw9bmV3IE1hcCx0aGlzLl9jdXJyZW50RW1wdHlTdGVwS2V5ZnJhbWU9bnVsbCx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXB8fCh0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXA9bmV3''@;'; put 'put ''IE1hcCksdGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXM9dGhpcy5fZWxlbWVudFRpbWVsaW5lU3R5bGVzTG9va3VwLmdldChhKSx0aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlc3x8KHRoaXMuX2dsb2JhbFRpbWVsaW5lU3R5bGVzPXRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXMsdGhpcy5fZWxl''@;'; put 'put ''bWVudFRpbWVsaW5lU3R5bGVzTG9va3VwLnNldChhLHRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXMpKSx0aGlzLl9sb2FkS2V5ZnJhbWUoKX1jb250YWluc0FuaW1hdGlvbigpe3N3aXRjaCh0aGlzLl9rZXlmcmFtZXMuc2l6ZSl7Y2FzZSAwOnJldHVybiExO2Nhc2UgMTpyZXR1cm4gdGhpcy5o''@;'; put 'put ''YXNDdXJyZW50U3R5bGVQcm9wZXJ0aWVzKCk7ZGVmYXVsdDpyZXR1cm4hMH19aGFzQ3VycmVudFN0eWxlUHJvcGVydGllcygpe3JldHVybiB0aGlzLl9jdXJyZW50S2V5ZnJhbWUuc2l6ZT4wfWdldCBjdXJyZW50VGltZSgpe3JldHVybiB0aGlzLnN0YXJ0VGltZSt0aGlzLmR1cmF0aW9ufWRl''@;'; put 'put ''bGF5TmV4dFN0ZXAoYyl7Y29uc3QgYT0xPT09dGhpcy5fa2V5ZnJhbWVzLnNpemUmJnRoaXMuX3BlbmRpbmdTdHlsZXMuc2l6ZTt0aGlzLmR1cmF0aW9ufHxhPyh0aGlzLmZvcndhcmRUaW1lKHRoaXMuY3VycmVudFRpbWUrYyksYSYmdGhpcy5zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKSk6dGhp''@;'; put 'put ''cy5zdGFydFRpbWUrPWN9Zm9yayhjLGEpe3JldHVybiB0aGlzLmFwcGx5U3R5bGVzVG9LZXlmcmFtZSgpLG5ldyBaMCh0aGlzLl9kcml2ZXIsYyxhfHx0aGlzLmN1cnJlbnRUaW1lLHRoaXMuX2VsZW1lbnRUaW1lbGluZVN0eWxlc0xvb2t1cCl9X2xvYWRLZXlmcmFtZSgpe3RoaXMuX2N1cnJl''@;'; put 'put ''bnRLZXlmcmFtZSYmKHRoaXMuX3ByZXZpb3VzS2V5ZnJhbWU9dGhpcy5fY3VycmVudEtleWZyYW1lKSx0aGlzLl9jdXJyZW50S2V5ZnJhbWU9dGhpcy5fa2V5ZnJhbWVzLmdldCh0aGlzLmR1cmF0aW9uKSx0aGlzLl9jdXJyZW50S2V5ZnJhbWV8fCh0aGlzLl9jdXJyZW50S2V5ZnJhbWU9bmV3''@;'; put 'put ''IE1hcCx0aGlzLl9rZXlmcmFtZXMuc2V0KHRoaXMuZHVyYXRpb24sdGhpcy5fY3VycmVudEtleWZyYW1lKSl9Zm9yd2FyZEZyYW1lKCl7dGhpcy5kdXJhdGlvbis9MSx0aGlzLl9sb2FkS2V5ZnJhbWUoKX1mb3J3YXJkVGltZShjKXt0aGlzLmFwcGx5U3R5bGVzVG9LZXlmcmFtZSgpLHRoaXMu''@;'; put 'put ''ZHVyYXRpb249Yyx0aGlzLl9sb2FkS2V5ZnJhbWUoKX1fdXBkYXRlU3R5bGUoYyxhKXt0aGlzLl9sb2NhbFRpbWVsaW5lU3R5bGVzLnNldChjLGEpLHRoaXMuX2dsb2JhbFRpbWVsaW5lU3R5bGVzLnNldChjLGEpLHRoaXMuX3N0eWxlU3VtbWFyeS5zZXQoYyx7dGltZTp0aGlzLmN1cnJlbnRU''@;'; put 'put ''aW1lLHZhbHVlOmF9KX1hbGxvd09ubHlUaW1lbGluZVN0eWxlcygpe3JldHVybiB0aGlzLl9jdXJyZW50RW1wdHlTdGVwS2V5ZnJhbWUhPT10aGlzLl9jdXJyZW50S2V5ZnJhbWV9YXBwbHlFbXB0eVN0ZXAoYyl7YyYmdGhpcy5fcHJldmlvdXNLZXlmcmFtZS5zZXQoImVhc2luZyIsYyk7Zm9y''@;'; put 'put ''KGxldFthLGRdb2YgdGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXMpdGhpcy5fYmFja0ZpbGwuc2V0KGEsZHx8U2EpLHRoaXMuX2N1cnJlbnRLZXlmcmFtZS5zZXQoYSxTYSk7dGhpcy5fY3VycmVudEVtcHR5U3RlcEtleWZyYW1lPXRoaXMuX2N1cnJlbnRLZXlmcmFtZX1zZXRTdHlsZXMoYyxh''@;'; put 'put ''LGQsZil7dmFyIHY7YSYmdGhpcy5fcHJldmlvdXNLZXlmcmFtZS5zZXQoImVhc2luZyIsYSk7Y29uc3QgeD1mJiZmLnBhcmFtc3x8e30sSD1mdW5jdGlvbiBsWChsLGMpe2NvbnN0IGE9bmV3IE1hcDtsZXQgZDtyZXR1cm4gbC5mb3JFYWNoKGY9PntpZigiKiI9PT1mKXtkPWR8fGMua2V5cygp''@;'; put 'put ''O2ZvcihsZXQgdiBvZiBkKWEuc2V0KHYsU2EpfWVsc2UgYmwoZixhKX0pLGF9KGMsdGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXMpO2ZvcihsZXRbSyxlZV1vZiBIKXtjb25zdCBmZT1ZMChlZSx4LGQpO3RoaXMuX3BlbmRpbmdTdHlsZXMuc2V0KEssZmUpLHRoaXMuX2xvY2FsVGltZWxpbmVT''@;'; put 'put ''dHlsZXMuaGFzKEspfHx0aGlzLl9iYWNrRmlsbC5zZXQoSyxudWxsIT09KHY9dGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXMuZ2V0KEspKSYmdm9pZCAwIT09dj92OlNhKSx0aGlzLl91cGRhdGVTdHlsZShLLGZlKX19YXBwbHlTdHlsZXNUb0tleWZyYW1lKCl7MCE9dGhpcy5fcGVuZGluZ1N0''@;'; put 'put ''eWxlcy5zaXplJiYodGhpcy5fcGVuZGluZ1N0eWxlcy5mb3JFYWNoKChjLGEpPT57dGhpcy5fY3VycmVudEtleWZyYW1lLnNldChhLGMpfSksdGhpcy5fcGVuZGluZ1N0eWxlcy5jbGVhcigpLHRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXMuZm9yRWFjaCgoYyxhKT0+e3RoaXMuX2N1cnJlbnRL''@;'; put 'put ''ZXlmcmFtZS5oYXMoYSl8fHRoaXMuX2N1cnJlbnRLZXlmcmFtZS5zZXQoYSxjKX0pKX1zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKXtmb3IobGV0W2MsYV1vZiB0aGlzLl9sb2NhbFRpbWVsaW5lU3R5bGVzKXRoaXMuX3BlbmRpbmdTdHlsZXMuc2V0KGMsYSksdGhpcy5fdXBkYXRlU3R5bGUoYyxh''@;'; put 'put ''KX1nZXRGaW5hbEtleWZyYW1lKCl7cmV0dXJuIHRoaXMuX2tleWZyYW1lcy5nZXQodGhpcy5kdXJhdGlvbil9Z2V0IHByb3BlcnRpZXMoKXtjb25zdCBjPVtdO2ZvcihsZXQgYSBpbiB0aGlzLl9jdXJyZW50S2V5ZnJhbWUpYy5wdXNoKGEpO3JldHVybiBjfW1lcmdlVGltZWxpbmVDb2xsZWN0''@;'; put 'put ''ZWRTdHlsZXMoYyl7Yy5fc3R5bGVTdW1tYXJ5LmZvckVhY2goKGEsZCk9Pntjb25zdCBmPXRoaXMuX3N0eWxlU3VtbWFyeS5nZXQoZCk7KCFmfHxhLnRpbWU+Zi50aW1lKSYmdGhpcy5fdXBkYXRlU3R5bGUoZCxhLnZhbHVlKX0pfWJ1aWxkS2V5ZnJhbWVzKCl7dGhpcy5hcHBseVN0eWxlc1Rv''@;'; put 'put ''S2V5ZnJhbWUoKTtjb25zdCBjPW5ldyBTZXQsYT1uZXcgU2V0LGQ9MT09PXRoaXMuX2tleWZyYW1lcy5zaXplJiYwPT09dGhpcy5kdXJhdGlvbjtsZXQgZj1bXTt0aGlzLl9rZXlmcmFtZXMuZm9yRWFjaCgoSCxLKT0+e2NvbnN0IGVlPWJsKEgsbmV3IE1hcCx0aGlzLl9iYWNrRmlsbCk7ZWUu''@;'; put 'put ''Zm9yRWFjaCgoZmUseWUpPT57IiEiPT09ZmU/Yy5hZGQoeWUpOmZlPT09U2EmJmEuYWRkKHllKX0pLGR8fGVlLnNldCgib2Zmc2V0IixLL3RoaXMuZHVyYXRpb24pLGYucHVzaChlZSl9KTtjb25zdCB2PWMuc2l6ZT96MChjLnZhbHVlcygpKTpbXSx4PWEuc2l6ZT96MChhLnZhbHVlcygpKTpb''@;'; put 'put ''XTtpZihkKXtjb25zdCBIPWZbMF0sSz1uZXcgTWFwKEgpO0guc2V0KCJvZmZzZXQiLDApLEsuc2V0KCJvZmZzZXQiLDEpLGY9W0gsS119cmV0dXJuIGIyKHRoaXMuZWxlbWVudCxmLHYseCx0aGlzLmR1cmF0aW9uLHRoaXMuc3RhcnRUaW1lLHRoaXMuZWFzaW5nLCExKX19Y2xhc3MgYVggZXh0''@;'; put 'put ''ZW5kcyBaMHtjb25zdHJ1Y3RvcihjLGEsZCxmLHYseCxIPSExKXtzdXBlcihjLGEseC5kZWxheSksdGhpcy5rZXlmcmFtZXM9ZCx0aGlzLnByZVN0eWxlUHJvcHM9Zix0aGlzLnBvc3RTdHlsZVByb3BzPXYsdGhpcy5fc3RyZXRjaFN0YXJ0aW5nS2V5ZnJhbWU9SCx0aGlzLnRpbWluZ3M9e2R1''@;'; put 'put ''cmF0aW9uOnguZHVyYXRpb24sZGVsYXk6eC5kZWxheSxlYXNpbmc6eC5lYXNpbmd9fWNvbnRhaW5zQW5pbWF0aW9uKCl7cmV0dXJuIHRoaXMua2V5ZnJhbWVzLmxlbmd0aD4xfWJ1aWxkS2V5ZnJhbWVzKCl7bGV0IGM9dGhpcy5rZXlmcmFtZXMse2RlbGF5OmEsZHVyYXRpb246ZCxlYXNpbmc6''@;'; put 'put ''Zn09dGhpcy50aW1pbmdzO2lmKHRoaXMuX3N0cmV0Y2hTdGFydGluZ0tleWZyYW1lJiZhKXtjb25zdCB2PVtdLHg9ZCthLEg9YS94LEs9YmwoY1swXSk7Sy5zZXQoIm9mZnNldCIsMCksdi5wdXNoKEspO2NvbnN0IGVlPWJsKGNbMF0pO2VlLnNldCgib2Zmc2V0IixvOChIKSksdi5wdXNoKGVl''@;'; put 'put ''KTtjb25zdCBmZT1jLmxlbmd0aC0xO2ZvcihsZXQgeWU9MTt5ZTw9ZmU7eWUrKyl7bGV0IGplPWJsKGNbeWVdKTtjb25zdCBJZT1qZS5nZXQoIm9mZnNldCIpO2plLnNldCgib2Zmc2V0IixvOCgoYStJZSpkKS94KSksdi5wdXNoKGplKX1kPXgsYT0wLGY9IiIsYz12fXJldHVybiBiMih0aGlz''@;'; put 'put ''LmVsZW1lbnQsYyx0aGlzLnByZVN0eWxlUHJvcHMsdGhpcy5wb3N0U3R5bGVQcm9wcyxkLGEsZiwhMCl9fWZ1bmN0aW9uIG84KGwsYz0zKXtjb25zdCBhPU1hdGgucG93KDEwLGMtMSk7cmV0dXJuIE1hdGgucm91bmQobCphKS9hfWNsYXNzIHkye31jb25zdCBjWD1uZXcgU2V0KFsid2lkdGgi''@;'; put 'put ''LCJoZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiZm9udFNpemUiLCJvdXRsaW5lV2lkdGgiLCJvdXRsaW5lT2Zmc2V0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ0Jv''@;'; put 'put ''dHRvbSIsInBhZGRpbmdSaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5SaWdodCIsImJvcmRlclJhZGl1cyIsImJvcmRlcldpZHRoIiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVy''@;'; put 'put ''Qm90dG9tV2lkdGgiLCJ0ZXh0SW5kZW50IiwicGVyc3BlY3RpdmUiXSk7Y2xhc3MgdVggZXh0ZW5kcyB5Mntub3JtYWxpemVQcm9wZXJ0eU5hbWUoYyxhKXtyZXR1cm4gcDIoYyl9bm9ybWFsaXplU3R5bGVWYWx1ZShjLGEsZCxmKXtsZXQgdj0iIjtjb25zdCB4PWQudG9TdHJpbmcoKS50cmlt''@;'; put 'put ''KCk7aWYoY1guaGFzKGEpJiYwIT09ZCYmIjAiIT09ZClpZigibnVtYmVyIj09dHlwZW9mIGQpdj0icHgiO2Vsc2V7Y29uc3QgSD1kLm1hdGNoKC9eWystXT9bXGRcLl0rKFthLXpdKikkLyk7SCYmMD09SFsxXS5sZW5ndGgmJmYucHVzaChmdW5jdGlvbiBlSyhsLGMpe3JldHVybiBuZXcgSXQo''@;'; put 'put ''MzAwNSwhMSl9KCkpfXJldHVybiB4K3Z9fWZ1bmN0aW9uIHM4KGwsYyxhLGQsZix2LHgsSCxLLGVlLGZlLHllLGplKXtyZXR1cm57dHlwZTowLGVsZW1lbnQ6bCx0cmlnZ2VyTmFtZTpjLGlzUmVtb3ZhbFRyYW5zaXRpb246Zixmcm9tU3RhdGU6YSxmcm9tU3R5bGVzOnYsdG9TdGF0ZTpkLHRv''@;'; put 'put ''U3R5bGVzOngsdGltZWxpbmVzOkgscXVlcmllZEVsZW1lbnRzOksscHJlU3R5bGVQcm9wczplZSxwb3N0U3R5bGVQcm9wczpmZSx0b3RhbFRpbWU6eWUsZXJyb3JzOmplfX1jb25zdCB3Mj17fTtjbGFzcyBhOHtjb25zdHJ1Y3RvcihjLGEsZCl7dGhpcy5fdHJpZ2dlck5hbWU9Yyx0aGlzLmFz''@;'; put 'put ''dD1hLHRoaXMuX3N0YXRlU3R5bGVzPWR9bWF0Y2goYyxhLGQsZil7cmV0dXJuIGZ1bmN0aW9uIGRYKGwsYyxhLGQsZil7cmV0dXJuIGwuc29tZSh2PT52KGMsYSxkLGYpKX0odGhpcy5hc3QubWF0Y2hlcnMsYyxhLGQsZil9YnVpbGRTdHlsZXMoYyxhLGQpe2xldCBmPXRoaXMuX3N0YXRlU3R5''@;'; put 'put ''bGVzLmdldCgiKiIpO3JldHVybiB2b2lkIDAhPT1jJiYoZj10aGlzLl9zdGF0ZVN0eWxlcy5nZXQobnVsbD09Yz92b2lkIDA6Yy50b1N0cmluZygpKXx8ZiksZj9mLmJ1aWxkU3R5bGVzKGEsZCk6bmV3IE1hcH1idWlsZChjLGEsZCxmLHYseCxILEssZWUsZmUpe3ZhciB5ZTtjb25zdCBqZT1b''@;'; put 'put ''XSxJZT10aGlzLmFzdC5vcHRpb25zJiZ0aGlzLmFzdC5vcHRpb25zLnBhcmFtc3x8dzIsc3Q9dGhpcy5idWlsZFN0eWxlcyhkLEgmJkgucGFyYW1zfHx3MixqZSksa3Q9SyYmSy5wYXJhbXN8fHcyLEF0PXRoaXMuYnVpbGRTdHlsZXMoZixrdCxqZSksSnQ9bmV3IFNldCxQdD1uZXcgTWFwLEt0''@;'; put 'put ''PW5ldyBNYXAsVG49InZvaWQiPT09ZixDcj17cGFyYW1zOmhYKGt0LEllKSxkZWxheTpudWxsPT09KHllPXRoaXMuYXN0Lm9wdGlvbnMpfHx2b2lkIDA9PT15ZT92b2lkIDA6eWUuZGVsYXl9LG5pPWZlP1tdOnYyKGMsYSx0aGlzLmFzdC5hbmltYXRpb24sdix4LHN0LEF0LENyLGVlLGplKTts''@;'; put 'put ''ZXQgWmk9MDtpZihuaS5mb3JFYWNoKHNvPT57Wmk9TWF0aC5tYXgoc28uZHVyYXRpb24rc28uZGVsYXksWmkpfSksamUubGVuZ3RoKXJldHVybiBzOChhLHRoaXMuX3RyaWdnZXJOYW1lLGQsZixUbixzdCxBdCxbXSxbXSxQdCxLdCxaaSxqZSk7bmkuZm9yRWFjaChzbz0+e2NvbnN0IFJhPXNv''@;'; put 'put ''LmVsZW1lbnQsTmE9Qm8oUHQsUmEsbmV3IFNldCk7c28ucHJlU3R5bGVQcm9wcy5mb3JFYWNoKHJhPT5OYS5hZGQocmEpKTtjb25zdCBZYT1CbyhLdCxSYSxuZXcgU2V0KTtzby5wb3N0U3R5bGVQcm9wcy5mb3JFYWNoKHJhPT5ZYS5hZGQocmEpKSxSYSE9PWEmJkp0LmFkZChSYSl9KTtjb25z''@;'; put 'put ''dCB2bD16MChKdC52YWx1ZXMoKSk7cmV0dXJuIHM4KGEsdGhpcy5fdHJpZ2dlck5hbWUsZCxmLFRuLHN0LEF0LG5pLHZsLFB0LEt0LFppKX19ZnVuY3Rpb24gaFgobCxjKXtjb25zdCBhPWZmKGMpO2Zvcihjb25zdCBkIGluIGwpbC5oYXNPd25Qcm9wZXJ0eShkKSYmbnVsbCE9bFtkXSYmKGFb''@;'; put 'put ''ZF09bFtkXSk7cmV0dXJuIGF9Y2xhc3MgZlh7Y29uc3RydWN0b3IoYyxhLGQpe3RoaXMuc3R5bGVzPWMsdGhpcy5kZWZhdWx0UGFyYW1zPWEsdGhpcy5ub3JtYWxpemVyPWR9YnVpbGRTdHlsZXMoYyxhKXtjb25zdCBkPW5ldyBNYXAsZj1mZih0aGlzLmRlZmF1bHRQYXJhbXMpO3JldHVybiBP''@;'; put 'put ''YmplY3Qua2V5cyhjKS5mb3JFYWNoKHY9Pntjb25zdCB4PWNbdl07bnVsbCE9PXgmJihmW3ZdPXgpfSksdGhpcy5zdHlsZXMuc3R5bGVzLmZvckVhY2godj0+eyJzdHJpbmciIT10eXBlb2YgdiYmdi5mb3JFYWNoKCh4LEgpPT57eCYmKHg9WTAoeCxmLGEpKTtjb25zdCBLPXRoaXMubm9ybWFs''@;'; put 'put ''aXplci5ub3JtYWxpemVQcm9wZXJ0eU5hbWUoSCxhKTt4PXRoaXMubm9ybWFsaXplci5ub3JtYWxpemVTdHlsZVZhbHVlKEgsSyx4LGEpLGQuc2V0KEsseCl9KX0pLGR9fWNsYXNzIGdYe2NvbnN0cnVjdG9yKGMsYSxkKXt0aGlzLm5hbWU9Yyx0aGlzLmFzdD1hLHRoaXMuX25vcm1hbGl6ZXI9''@;'; put 'put ''ZCx0aGlzLnRyYW5zaXRpb25GYWN0b3JpZXM9W10sdGhpcy5zdGF0ZXM9bmV3IE1hcCxhLnN0YXRlcy5mb3JFYWNoKGY9Pnt0aGlzLnN0YXRlcy5zZXQoZi5uYW1lLG5ldyBmWChmLnN0eWxlLGYub3B0aW9ucyYmZi5vcHRpb25zLnBhcmFtc3x8e30sZCkpfSksbDgodGhpcy5zdGF0ZXMsInRy''@;'; put 'put ''dWUiLCIxIiksbDgodGhpcy5zdGF0ZXMsImZhbHNlIiwiMCIpLGEudHJhbnNpdGlvbnMuZm9yRWFjaChmPT57dGhpcy50cmFuc2l0aW9uRmFjdG9yaWVzLnB1c2gobmV3IGE4KGMsZix0aGlzLnN0YXRlcykpfSksdGhpcy5mYWxsYmFja1RyYW5zaXRpb249ZnVuY3Rpb24gbVgobCxjLGEpe3Jl''@;'; put 'put ''dHVybiBuZXcgYTgobCx7dHlwZToxLGFuaW1hdGlvbjp7dHlwZToyLHN0ZXBzOltdLG9wdGlvbnM6bnVsbH0sbWF0Y2hlcnM6Wyh4LEgpPT4hMF0sb3B0aW9uczpudWxsLHF1ZXJ5Q291bnQ6MCxkZXBDb3VudDowfSxjKX0oYyx0aGlzLnN0YXRlcyl9Z2V0IGNvbnRhaW5zUXVlcmllcygpe3Jl''@;'; put 'put ''dHVybiB0aGlzLmFzdC5xdWVyeUNvdW50PjB9bWF0Y2hUcmFuc2l0aW9uKGMsYSxkLGYpe3JldHVybiB0aGlzLnRyYW5zaXRpb25GYWN0b3JpZXMuZmluZCh4PT54Lm1hdGNoKGMsYSxkLGYpKXx8bnVsbH1tYXRjaFN0eWxlcyhjLGEsZCl7cmV0dXJuIHRoaXMuZmFsbGJhY2tUcmFuc2l0aW9u''@;'; put 'put ''LmJ1aWxkU3R5bGVzKGMsYSxkKX19ZnVuY3Rpb24gbDgobCxjLGEpe2wuaGFzKGMpP2wuaGFzKGEpfHxsLnNldChhLGwuZ2V0KGMpKTpsLmhhcyhhKSYmbC5zZXQoYyxsLmdldChhKSl9Y29uc3QgYlg9bmV3IHEwO2NsYXNzIHZYe2NvbnN0cnVjdG9yKGMsYSxkKXt0aGlzLmJvZHlOb2RlPWMs''@;'; put 'put ''dGhpcy5fZHJpdmVyPWEsdGhpcy5fbm9ybWFsaXplcj1kLHRoaXMuX2FuaW1hdGlvbnM9bmV3IE1hcCx0aGlzLl9wbGF5ZXJzQnlJZD1uZXcgTWFwLHRoaXMucGxheWVycz1bXX1yZWdpc3RlcihjLGEpe2NvbnN0IGQ9W10sdj1nMih0aGlzLl9kcml2ZXIsYSxkLFtdKTtpZihkLmxlbmd0aCl0''@;'; put 'put ''aHJvdyBmdW5jdGlvbiB2SyhsKXtyZXR1cm4gbmV3IEl0KDM1MDMsITEpfSgpO3RoaXMuX2FuaW1hdGlvbnMuc2V0KGMsdil9X2J1aWxkUGxheWVyKGMsYSxkKXtjb25zdCBmPWMuZWxlbWVudCx2PXp4KDAsdGhpcy5fbm9ybWFsaXplciwwLGMua2V5ZnJhbWVzLGEsZCk7cmV0dXJuIHRoaXMu''@;'; put 'put ''X2RyaXZlci5hbmltYXRlKGYsdixjLmR1cmF0aW9uLGMuZGVsYXksYy5lYXNpbmcsW10sITApfWNyZWF0ZShjLGEsZD17fSl7Y29uc3QgZj1bXSx2PXRoaXMuX2FuaW1hdGlvbnMuZ2V0KGMpO2xldCB4O2NvbnN0IEg9bmV3IE1hcDtpZih2Pyh4PXYyKHRoaXMuX2RyaXZlcixhLHYsdTIsSTAs''@;'; put 'put ''bmV3IE1hcCxuZXcgTWFwLGQsYlgsZikseC5mb3JFYWNoKGZlPT57Y29uc3QgeWU9Qm8oSCxmZS5lbGVtZW50LG5ldyBNYXApO2ZlLnBvc3RTdHlsZVByb3BzLmZvckVhY2goamU9PnllLnNldChqZSxudWxsKSl9KSk6KGYucHVzaChmdW5jdGlvbiBfSygpe3JldHVybiBuZXcgSXQoMzMwMCwh''@;'; put 'put ''MSl9KCkpLHg9W10pLGYubGVuZ3RoKXRocm93IGZ1bmN0aW9uIHlLKGwpe3JldHVybiBuZXcgSXQoMzUwNCwhMSl9KCk7SC5mb3JFYWNoKChmZSx5ZSk9PntmZS5mb3JFYWNoKChqZSxJZSk9PntmZS5zZXQoSWUsdGhpcy5fZHJpdmVyLmNvbXB1dGVTdHlsZSh5ZSxJZSxTYSkpfSl9KTtjb25z''@;'; put 'put ''dCBlZT1nbCh4Lm1hcChmZT0+e2NvbnN0IHllPUguZ2V0KGZlLmVsZW1lbnQpO3JldHVybiB0aGlzLl9idWlsZFBsYXllcihmZSxuZXcgTWFwLHllKX0pKTtyZXR1cm4gdGhpcy5fcGxheWVyc0J5SWQuc2V0KGMsZWUpLGVlLm9uRGVzdHJveSgoKT0+dGhpcy5kZXN0cm95KGMpKSx0aGlzLnBs''@;'; put 'put ''YXllcnMucHVzaChlZSksZWV9ZGVzdHJveShjKXtjb25zdCBhPXRoaXMuX2dldFBsYXllcihjKTthLmRlc3Ryb3koKSx0aGlzLl9wbGF5ZXJzQnlJZC5kZWxldGUoYyk7Y29uc3QgZD10aGlzLnBsYXllcnMuaW5kZXhPZihhKTtkPj0wJiZ0aGlzLnBsYXllcnMuc3BsaWNlKGQsMSl9X2dldFBs''@;'; put 'put ''YXllcihjKXtjb25zdCBhPXRoaXMuX3BsYXllcnNCeUlkLmdldChjKTtpZighYSl0aHJvdyBmdW5jdGlvbiB3SyhsKXtyZXR1cm4gbmV3IEl0KDMzMDEsITEpfSgpO3JldHVybiBhfWxpc3RlbihjLGEsZCxmKXtjb25zdCB2PXMyKGEsIiIsIiIsIiIpO3JldHVybiBpMih0aGlzLl9nZXRQbGF5''@;'; put 'put ''ZXIoYyksZCx2LGYpLCgpPT57fX1jb21tYW5kKGMsYSxkLGYpe2lmKCJyZWdpc3RlciI9PWQpcmV0dXJuIHZvaWQgdGhpcy5yZWdpc3RlcihjLGZbMF0pO2lmKCJjcmVhdGUiPT1kKXJldHVybiB2b2lkIHRoaXMuY3JlYXRlKGMsYSxmWzBdfHx7fSk7Y29uc3Qgdj10aGlzLl9nZXRQbGF5ZXIo''@;'; put 'put ''Yyk7c3dpdGNoKGQpe2Nhc2UicGxheSI6di5wbGF5KCk7YnJlYWs7Y2FzZSJwYXVzZSI6di5wYXVzZSgpO2JyZWFrO2Nhc2UicmVzZXQiOnYucmVzZXQoKTticmVhaztjYXNlInJlc3RhcnQiOnYucmVzdGFydCgpO2JyZWFrO2Nhc2UiZmluaXNoIjp2LmZpbmlzaCgpO2JyZWFrO2Nhc2UiaW5p''@;'; put 'put ''dCI6di5pbml0KCk7YnJlYWs7Y2FzZSJzZXRQb3NpdGlvbiI6di5zZXRQb3NpdGlvbihwYXJzZUZsb2F0KGZbMF0pKTticmVhaztjYXNlImRlc3Ryb3kiOnRoaXMuZGVzdHJveShjKX19fWNvbnN0IGM4PSJuZy1hbmltYXRlLXF1ZXVlZCIsTTI9Im5nLWFuaW1hdGUtZGlzYWJsZWQiLENYPVtd''@;'; put 'put ''LHU4PXtuYW1lc3BhY2VJZDoiIixzZXRGb3JSZW1vdmFsOiExLHNldEZvck1vdmU6ITEsaGFzQW5pbWF0aW9uOiExLHJlbW92ZWRCZWZvcmVRdWVyaWVkOiExfSxrWD17bmFtZXNwYWNlSWQ6IiIsc2V0Rm9yTW92ZTohMSxzZXRGb3JSZW1vdmFsOiExLGhhc0FuaW1hdGlvbjohMSxyZW1vdmVk''@;'; put 'put ''QmVmb3JlUXVlcmllZDohMH0sbnM9Il9fbmdfcmVtb3ZlZCI7Y2xhc3MgQzJ7Y29uc3RydWN0b3IoYyxhPSIiKXt0aGlzLm5hbWVzcGFjZUlkPWE7Y29uc3QgZD1jJiZjLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpO2lmKHRoaXMudmFsdWU9ZnVuY3Rpb24gUFgobCl7cmV0dXJuIG51bGwhPWw/''@;'; put 'put ''bDpudWxsfShkP2MudmFsdWU6YyksZCl7Y29uc3Qgdj1mZihjKTtkZWxldGUgdi52YWx1ZSx0aGlzLm9wdGlvbnM9dn1lbHNlIHRoaXMub3B0aW9ucz17fTt0aGlzLm9wdGlvbnMucGFyYW1zfHwodGhpcy5vcHRpb25zLnBhcmFtcz17fSl9Z2V0IHBhcmFtcygpe3JldHVybiB0aGlzLm9wdGlv''@;'; put 'put ''bnMucGFyYW1zfWFic29yYk9wdGlvbnMoYyl7Y29uc3QgYT1jLnBhcmFtcztpZihhKXtjb25zdCBkPXRoaXMub3B0aW9ucy5wYXJhbXM7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChmPT57bnVsbD09ZFtmXSYmKGRbZl09YVtmXSl9KX19fWNvbnN0IGdmPSJ2b2lkIixrMj1uZXcgQzIoZ2YpO2Ns''@;'; put 'put ''YXNzIGpYe2NvbnN0cnVjdG9yKGMsYSxkKXt0aGlzLmlkPWMsdGhpcy5ob3N0RWxlbWVudD1hLHRoaXMuX2VuZ2luZT1kLHRoaXMucGxheWVycz1bXSx0aGlzLl90cmlnZ2Vycz1uZXcgTWFwLHRoaXMuX3F1ZXVlPVtdLHRoaXMuX2VsZW1lbnRMaXN0ZW5lcnM9bmV3IE1hcCx0aGlzLl9ob3N0''@;'; put 'put ''Q2xhc3NOYW1lPSJuZy10bnMtIitjLHJzKGEsdGhpcy5faG9zdENsYXNzTmFtZSl9bGlzdGVuKGMsYSxkLGYpe2lmKCF0aGlzLl90cmlnZ2Vycy5oYXMoYSkpdGhyb3cgZnVuY3Rpb24gTUsobCxjKXtyZXR1cm4gbmV3IEl0KDMzMDIsITEpfSgpO2lmKG51bGw9PWR8fDA9PWQubGVuZ3RoKXRo''@;'; put 'put ''cm93IGZ1bmN0aW9uIENLKGwpe3JldHVybiBuZXcgSXQoMzMwMywhMSl9KCk7aWYoIWZ1bmN0aW9uIERYKGwpe3JldHVybiJzdGFydCI9PWx8fCJkb25lIj09bH0oZCkpdGhyb3cgZnVuY3Rpb24ga0sobCxjKXtyZXR1cm4gbmV3IEl0KDM0MDAsITEpfSgpO2NvbnN0IHY9Qm8odGhpcy5fZWxl''@;'; put 'put ''bWVudExpc3RlbmVycyxjLFtdKSx4PXtuYW1lOmEscGhhc2U6ZCxjYWxsYmFjazpmfTt2LnB1c2goeCk7Y29uc3QgSD1Cbyh0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LGMsbmV3IE1hcCk7cmV0dXJuIEguaGFzKGEpfHwocnMoYyxGMCkscnMoYyxGMCsiLSIrYSksSC5zZXQoYSxrMikp''@;'; put 'put ''LCgpPT57dGhpcy5fZW5naW5lLmFmdGVyRmx1c2goKCk9Pntjb25zdCBLPXYuaW5kZXhPZih4KTtLPj0wJiZ2LnNwbGljZShLLDEpLHRoaXMuX3RyaWdnZXJzLmhhcyhhKXx8SC5kZWxldGUoYSl9KX19cmVnaXN0ZXIoYyxhKXtyZXR1cm4hdGhpcy5fdHJpZ2dlcnMuaGFzKGMpJiYodGhpcy5f''@;'; put 'put ''dHJpZ2dlcnMuc2V0KGMsYSksITApfV9nZXRUcmlnZ2VyKGMpe2NvbnN0IGE9dGhpcy5fdHJpZ2dlcnMuZ2V0KGMpO2lmKCFhKXRocm93IGZ1bmN0aW9uIGpLKGwpe3JldHVybiBuZXcgSXQoMzQwMSwhMSl9KCk7cmV0dXJuIGF9dHJpZ2dlcihjLGEsZCxmPSEwKXtjb25zdCB2PXRoaXMuX2dl''@;'; put 'put ''dFRyaWdnZXIoYSkseD1uZXcgajIodGhpcy5pZCxhLGMpO2xldCBIPXRoaXMuX2VuZ2luZS5zdGF0ZXNCeUVsZW1lbnQuZ2V0KGMpO0h8fChycyhjLEYwKSxycyhjLEYwKyItIithKSx0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LnNldChjLEg9bmV3IE1hcCkpO2xldCBLPUguZ2V0KGEp''@;'; put 'put ''O2NvbnN0IGVlPW5ldyBDMihkLHRoaXMuaWQpO2lmKCEoZCYmZC5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSkmJksmJmVlLmFic29yYk9wdGlvbnMoSy5vcHRpb25zKSxILnNldChhLGVlKSxLfHwoSz1rMiksZWUudmFsdWUhPT1nZiYmSy52YWx1ZT09PWVlLnZhbHVlKXtpZighZnVuY3Rpb24g''@;'; put 'put ''RVgobCxjKXtjb25zdCBhPU9iamVjdC5rZXlzKGwpLGQ9T2JqZWN0LmtleXMoYyk7aWYoYS5sZW5ndGghPWQubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXtjb25zdCB2PWFbZl07aWYoIWMuaGFzT3duUHJvcGVydHkodil8fGxbdl0hPT1jW3ZdKXJldHVybiEx''@;'; put 'put ''fXJldHVybiEwfShLLnBhcmFtcyxlZS5wYXJhbXMpKXtjb25zdCBzdD1bXSxrdD12Lm1hdGNoU3R5bGVzKEsudmFsdWUsSy5wYXJhbXMsc3QpLEF0PXYubWF0Y2hTdHlsZXMoZWUudmFsdWUsZWUucGFyYW1zLHN0KTtzdC5sZW5ndGg/dGhpcy5fZW5naW5lLnJlcG9ydEVycm9yKHN0KTp0aGlz''@;'; put 'put ''Ll9lbmdpbmUuYWZ0ZXJGbHVzaCgoKT0+e3VjKGMsa3QpLG5hKGMsQXQpfSl9cmV0dXJufWNvbnN0IGplPUJvKHRoaXMuX2VuZ2luZS5wbGF5ZXJzQnlFbGVtZW50LGMsW10pO2plLmZvckVhY2goc3Q9PntzdC5uYW1lc3BhY2VJZD09dGhpcy5pZCYmc3QudHJpZ2dlck5hbWU9PWEmJnN0LnF1''@;'; put 'put ''ZXVlZCYmc3QuZGVzdHJveSgpfSk7bGV0IEllPXYubWF0Y2hUcmFuc2l0aW9uKEsudmFsdWUsZWUudmFsdWUsYyxlZS5wYXJhbXMpLHFlPSExO2lmKCFJZSl7aWYoIWYpcmV0dXJuO0llPXYuZmFsbGJhY2tUcmFuc2l0aW9uLHFlPSEwfXJldHVybiB0aGlzLl9lbmdpbmUudG90YWxRdWV1ZWRQ''@;'; put 'put ''bGF5ZXJzKyssdGhpcy5fcXVldWUucHVzaCh7ZWxlbWVudDpjLHRyaWdnZXJOYW1lOmEsdHJhbnNpdGlvbjpJZSxmcm9tU3RhdGU6Syx0b1N0YXRlOmVlLHBsYXllcjp4LGlzRmFsbGJhY2tUcmFuc2l0aW9uOnFlfSkscWV8fChycyhjLGM4KSx4Lm9uU3RhcnQoKCk9PntKdShjLGM4KX0pKSx4''@;'; put 'put ''Lm9uRG9uZSgoKT0+e2xldCBzdD10aGlzLnBsYXllcnMuaW5kZXhPZih4KTtzdD49MCYmdGhpcy5wbGF5ZXJzLnNwbGljZShzdCwxKTtjb25zdCBrdD10aGlzLl9lbmdpbmUucGxheWVyc0J5RWxlbWVudC5nZXQoYyk7aWYoa3Qpe2xldCBBdD1rdC5pbmRleE9mKHgpO0F0Pj0wJiZrdC5zcGxp''@;'; put 'put ''Y2UoQXQsMSl9fSksdGhpcy5wbGF5ZXJzLnB1c2goeCksamUucHVzaCh4KSx4fWRlcmVnaXN0ZXIoYyl7dGhpcy5fdHJpZ2dlcnMuZGVsZXRlKGMpLHRoaXMuX2VuZ2luZS5zdGF0ZXNCeUVsZW1lbnQuZm9yRWFjaChhPT5hLmRlbGV0ZShjKSksdGhpcy5fZWxlbWVudExpc3RlbmVycy5mb3JF''@;'; put 'put ''YWNoKChhLGQpPT57dGhpcy5fZWxlbWVudExpc3RlbmVycy5zZXQoZCxhLmZpbHRlcihmPT5mLm5hbWUhPWMpKX0pfWNsZWFyRWxlbWVudENhY2hlKGMpe3RoaXMuX2VuZ2luZS5zdGF0ZXNCeUVsZW1lbnQuZGVsZXRlKGMpLHRoaXMuX2VsZW1lbnRMaXN0ZW5lcnMuZGVsZXRlKGMpO2NvbnN0''@;'; put 'put ''IGE9dGhpcy5fZW5naW5lLnBsYXllcnNCeUVsZW1lbnQuZ2V0KGMpO2EmJihhLmZvckVhY2goZD0+ZC5kZXN0cm95KCkpLHRoaXMuX2VuZ2luZS5wbGF5ZXJzQnlFbGVtZW50LmRlbGV0ZShjKSl9X3NpZ25hbFJlbW92YWxGb3JJbm5lclRyaWdnZXJzKGMsYSl7Y29uc3QgZD10aGlzLl9lbmdp''@;'; put 'put ''bmUuZHJpdmVyLnF1ZXJ5KGMsUjAsITApO2QuZm9yRWFjaChmPT57aWYoZltuc10pcmV0dXJuO2NvbnN0IHY9dGhpcy5fZW5naW5lLmZldGNoTmFtZXNwYWNlc0J5RWxlbWVudChmKTt2LnNpemU/di5mb3JFYWNoKHg9PngudHJpZ2dlckxlYXZlQW5pbWF0aW9uKGYsYSwhMSwhMCkpOnRoaXMu''@;'; put 'put ''Y2xlYXJFbGVtZW50Q2FjaGUoZil9KSx0aGlzLl9lbmdpbmUuYWZ0ZXJGbHVzaEFuaW1hdGlvbnNEb25lKCgpPT5kLmZvckVhY2goZj0+dGhpcy5jbGVhckVsZW1lbnRDYWNoZShmKSkpfXRyaWdnZXJMZWF2ZUFuaW1hdGlvbihjLGEsZCxmKXtjb25zdCB2PXRoaXMuX2VuZ2luZS5zdGF0ZXNC''@;'; put 'put ''eUVsZW1lbnQuZ2V0KGMpLHg9bmV3IE1hcDtpZih2KXtjb25zdCBIPVtdO2lmKHYuZm9yRWFjaCgoSyxlZSk9PntpZih4LnNldChlZSxLLnZhbHVlKSx0aGlzLl90cmlnZ2Vycy5oYXMoZWUpKXtjb25zdCBmZT10aGlzLnRyaWdnZXIoYyxlZSxnZixmKTtmZSYmSC5wdXNoKGZlKX19KSxILmxl''@;'; put 'put ''bmd0aClyZXR1cm4gdGhpcy5fZW5naW5lLm1hcmtFbGVtZW50QXNSZW1vdmVkKHRoaXMuaWQsYywhMCxhLHgpLGQmJmdsKEgpLm9uRG9uZSgoKT0+dGhpcy5fZW5naW5lLnByb2Nlc3NMZWF2ZU5vZGUoYykpLCEwfXJldHVybiExfXByZXBhcmVMZWF2ZUFuaW1hdGlvbkxpc3RlbmVycyhjKXtj''@;'; put 'put ''b25zdCBhPXRoaXMuX2VsZW1lbnRMaXN0ZW5lcnMuZ2V0KGMpLGQ9dGhpcy5fZW5naW5lLnN0YXRlc0J5RWxlbWVudC5nZXQoYyk7aWYoYSYmZCl7Y29uc3QgZj1uZXcgU2V0O2EuZm9yRWFjaCh2PT57Y29uc3QgeD12Lm5hbWU7aWYoZi5oYXMoeCkpcmV0dXJuO2YuYWRkKHgpO2NvbnN0IEs9''@;'; put 'put ''dGhpcy5fdHJpZ2dlcnMuZ2V0KHgpLmZhbGxiYWNrVHJhbnNpdGlvbixlZT1kLmdldCh4KXx8azIsZmU9bmV3IEMyKGdmKSx5ZT1uZXcgajIodGhpcy5pZCx4LGMpO3RoaXMuX2VuZ2luZS50b3RhbFF1ZXVlZFBsYXllcnMrKyx0aGlzLl9xdWV1ZS5wdXNoKHtlbGVtZW50OmMsdHJpZ2dlck5h''@;'; put 'put ''bWU6eCx0cmFuc2l0aW9uOkssZnJvbVN0YXRlOmVlLHRvU3RhdGU6ZmUscGxheWVyOnllLGlzRmFsbGJhY2tUcmFuc2l0aW9uOiEwfSl9KX19cmVtb3ZlTm9kZShjLGEpe2NvbnN0IGQ9dGhpcy5fZW5naW5lO2lmKGMuY2hpbGRFbGVtZW50Q291bnQmJnRoaXMuX3NpZ25hbFJlbW92YWxGb3JJ''@;'; put 'put ''bm5lclRyaWdnZXJzKGMsYSksdGhpcy50cmlnZ2VyTGVhdmVBbmltYXRpb24oYyxhLCEwKSlyZXR1cm47bGV0IGY9ITE7aWYoZC50b3RhbEFuaW1hdGlvbnMpe2NvbnN0IHY9ZC5wbGF5ZXJzLmxlbmd0aD9kLnBsYXllcnNCeVF1ZXJpZWRFbGVtZW50LmdldChjKTpbXTtpZih2JiZ2Lmxlbmd0''@;'; put 'put ''aClmPSEwO2Vsc2V7bGV0IHg9Yztmb3IoO3g9eC5wYXJlbnROb2RlOylpZihkLnN0YXRlc0J5RWxlbWVudC5nZXQoeCkpe2Y9ITA7YnJlYWt9fX1pZih0aGlzLnByZXBhcmVMZWF2ZUFuaW1hdGlvbkxpc3RlbmVycyhjKSxmKWQubWFya0VsZW1lbnRBc1JlbW92ZWQodGhpcy5pZCxjLCExLGEp''@;'; put 'put ''O2Vsc2V7Y29uc3Qgdj1jW25zXTsoIXZ8fHY9PT11OCkmJihkLmFmdGVyRmx1c2goKCk9PnRoaXMuY2xlYXJFbGVtZW50Q2FjaGUoYykpLGQuZGVzdHJveUlubmVyQW5pbWF0aW9ucyhjKSxkLl9vblJlbW92YWxDb21wbGV0ZShjLGEpKX19aW5zZXJ0Tm9kZShjLGEpe3JzKGMsdGhpcy5faG9z''@;'; put 'put ''dENsYXNzTmFtZSl9ZHJhaW5RdWV1ZWRUcmFuc2l0aW9ucyhjKXtjb25zdCBhPVtdO3JldHVybiB0aGlzLl9xdWV1ZS5mb3JFYWNoKGQ9Pntjb25zdCBmPWQucGxheWVyO2lmKGYuZGVzdHJveWVkKXJldHVybjtjb25zdCB2PWQuZWxlbWVudCx4PXRoaXMuX2VsZW1lbnRMaXN0ZW5lcnMuZ2V0''@;'; put 'put ''KHYpO3gmJnguZm9yRWFjaChIPT57aWYoSC5uYW1lPT1kLnRyaWdnZXJOYW1lKXtjb25zdCBLPXMyKHYsZC50cmlnZ2VyTmFtZSxkLmZyb21TdGF0ZS52YWx1ZSxkLnRvU3RhdGUudmFsdWUpO0suX2RhdGE9YyxpMihkLnBsYXllcixILnBoYXNlLEssSC5jYWxsYmFjayl9fSksZi5tYXJrZWRG''@;'; put 'put ''b3JEZXN0cm95P3RoaXMuX2VuZ2luZS5hZnRlckZsdXNoKCgpPT57Zi5kZXN0cm95KCl9KTphLnB1c2goZCl9KSx0aGlzLl9xdWV1ZT1bXSxhLnNvcnQoKGQsZik9Pntjb25zdCB2PWQudHJhbnNpdGlvbi5hc3QuZGVwQ291bnQseD1mLnRyYW5zaXRpb24uYXN0LmRlcENvdW50O3JldHVybiAw''@;'; put 'put ''PT12fHwwPT14P3YteDp0aGlzLl9lbmdpbmUuZHJpdmVyLmNvbnRhaW5zRWxlbWVudChkLmVsZW1lbnQsZi5lbGVtZW50KT8xOi0xfSl9ZGVzdHJveShjKXt0aGlzLnBsYXllcnMuZm9yRWFjaChhPT5hLmRlc3Ryb3koKSksdGhpcy5fc2lnbmFsUmVtb3ZhbEZvcklubmVyVHJpZ2dlcnModGhp''@;'; put 'put ''cy5ob3N0RWxlbWVudCxjKX1lbGVtZW50Q29udGFpbnNEYXRhKGMpe2xldCBhPSExO3JldHVybiB0aGlzLl9lbGVtZW50TGlzdGVuZXJzLmhhcyhjKSYmKGE9ITApLGE9ISF0aGlzLl9xdWV1ZS5maW5kKGQ9PmQuZWxlbWVudD09PWMpfHxhLGF9fWNsYXNzIFNYe2NvbnN0cnVjdG9yKGMsYSxk''@;'; put 'put ''KXt0aGlzLmJvZHlOb2RlPWMsdGhpcy5kcml2ZXI9YSx0aGlzLl9ub3JtYWxpemVyPWQsdGhpcy5wbGF5ZXJzPVtdLHRoaXMubmV3SG9zdEVsZW1lbnRzPW5ldyBNYXAsdGhpcy5wbGF5ZXJzQnlFbGVtZW50PW5ldyBNYXAsdGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudD1uZXcgTWFwLHRo''@;'; put 'put ''aXMuc3RhdGVzQnlFbGVtZW50PW5ldyBNYXAsdGhpcy5kaXNhYmxlZE5vZGVzPW5ldyBTZXQsdGhpcy50b3RhbEFuaW1hdGlvbnM9MCx0aGlzLnRvdGFsUXVldWVkUGxheWVycz0wLHRoaXMuX25hbWVzcGFjZUxvb2t1cD17fSx0aGlzLl9uYW1lc3BhY2VMaXN0PVtdLHRoaXMuX2ZsdXNoRm5z''@;'; put 'put ''PVtdLHRoaXMuX3doZW5RdWlldEZucz1bXSx0aGlzLm5hbWVzcGFjZXNCeUhvc3RFbGVtZW50PW5ldyBNYXAsdGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzPVtdLHRoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50cz1bXSx0aGlzLm9uUmVtb3ZhbENvbXBsZXRlPShmLHYpPT57fX1fb25SZW1v''@;'; put 'put ''dmFsQ29tcGxldGUoYyxhKXt0aGlzLm9uUmVtb3ZhbENvbXBsZXRlKGMsYSl9Z2V0IHF1ZXVlZFBsYXllcnMoKXtjb25zdCBjPVtdO3JldHVybiB0aGlzLl9uYW1lc3BhY2VMaXN0LmZvckVhY2goYT0+e2EucGxheWVycy5mb3JFYWNoKGQ9PntkLnF1ZXVlZCYmYy5wdXNoKGQpfSl9KSxjfWNy''@;'; put 'put ''ZWF0ZU5hbWVzcGFjZShjLGEpe2NvbnN0IGQ9bmV3IGpYKGMsYSx0aGlzKTtyZXR1cm4gdGhpcy5ib2R5Tm9kZSYmdGhpcy5kcml2ZXIuY29udGFpbnNFbGVtZW50KHRoaXMuYm9keU5vZGUsYSk/dGhpcy5fYmFsYW5jZU5hbWVzcGFjZUxpc3QoZCxhKToodGhpcy5uZXdIb3N0RWxlbWVudHMu''@;'; put 'put ''c2V0KGEsZCksdGhpcy5jb2xsZWN0RW50ZXJFbGVtZW50KGEpKSx0aGlzLl9uYW1lc3BhY2VMb29rdXBbY109ZH1fYmFsYW5jZU5hbWVzcGFjZUxpc3QoYyxhKXtjb25zdCBkPXRoaXMuX25hbWVzcGFjZUxpc3QsZj10aGlzLm5hbWVzcGFjZXNCeUhvc3RFbGVtZW50O2lmKGQubGVuZ3RoLTE+''@;'; put 'put ''PTApe2xldCB4PSExLEg9dGhpcy5kcml2ZXIuZ2V0UGFyZW50RWxlbWVudChhKTtmb3IoO0g7KXtjb25zdCBLPWYuZ2V0KEgpO2lmKEspe2NvbnN0IGVlPWQuaW5kZXhPZihLKTtkLnNwbGljZShlZSsxLDAsYykseD0hMDticmVha31IPXRoaXMuZHJpdmVyLmdldFBhcmVudEVsZW1lbnQoSCl9''@;'; put 'put ''eHx8ZC51bnNoaWZ0KGMpfWVsc2UgZC5wdXNoKGMpO3JldHVybiBmLnNldChhLGMpLGN9cmVnaXN0ZXIoYyxhKXtsZXQgZD10aGlzLl9uYW1lc3BhY2VMb29rdXBbY107cmV0dXJuIGR8fChkPXRoaXMuY3JlYXRlTmFtZXNwYWNlKGMsYSkpLGR9cmVnaXN0ZXJUcmlnZ2VyKGMsYSxkKXtsZXQg''@;'; put 'put ''Zj10aGlzLl9uYW1lc3BhY2VMb29rdXBbY107ZiYmZi5yZWdpc3RlcihhLGQpJiZ0aGlzLnRvdGFsQW5pbWF0aW9ucysrfWRlc3Ryb3koYyxhKXtpZighYylyZXR1cm47Y29uc3QgZD10aGlzLl9mZXRjaE5hbWVzcGFjZShjKTt0aGlzLmFmdGVyRmx1c2goKCk9Pnt0aGlzLm5hbWVzcGFjZXNC''@;'; put 'put ''eUhvc3RFbGVtZW50LmRlbGV0ZShkLmhvc3RFbGVtZW50KSxkZWxldGUgdGhpcy5fbmFtZXNwYWNlTG9va3VwW2NdO2NvbnN0IGY9dGhpcy5fbmFtZXNwYWNlTGlzdC5pbmRleE9mKGQpO2Y+PTAmJnRoaXMuX25hbWVzcGFjZUxpc3Quc3BsaWNlKGYsMSl9KSx0aGlzLmFmdGVyRmx1c2hBbmlt''@;'; put 'put ''YXRpb25zRG9uZSgoKT0+ZC5kZXN0cm95KGEpKX1fZmV0Y2hOYW1lc3BhY2UoYyl7cmV0dXJuIHRoaXMuX25hbWVzcGFjZUxvb2t1cFtjXX1mZXRjaE5hbWVzcGFjZXNCeUVsZW1lbnQoYyl7Y29uc3QgYT1uZXcgU2V0LGQ9dGhpcy5zdGF0ZXNCeUVsZW1lbnQuZ2V0KGMpO2lmKGQpZm9yKGxl''@;'; put 'put ''dCBmIG9mIGQudmFsdWVzKCkpaWYoZi5uYW1lc3BhY2VJZCl7Y29uc3Qgdj10aGlzLl9mZXRjaE5hbWVzcGFjZShmLm5hbWVzcGFjZUlkKTt2JiZhLmFkZCh2KX1yZXR1cm4gYX10cmlnZ2VyKGMsYSxkLGYpe2lmKEowKGEpKXtjb25zdCB2PXRoaXMuX2ZldGNoTmFtZXNwYWNlKGMpO2lmKHYp''@;'; put 'put ''cmV0dXJuIHYudHJpZ2dlcihhLGQsZiksITB9cmV0dXJuITF9aW5zZXJ0Tm9kZShjLGEsZCxmKXtpZighSjAoYSkpcmV0dXJuO2NvbnN0IHY9YVtuc107aWYodiYmdi5zZXRGb3JSZW1vdmFsKXt2LnNldEZvclJlbW92YWw9ITEsdi5zZXRGb3JNb3ZlPSEwO2NvbnN0IHg9dGhpcy5jb2xsZWN0''@;'; put 'put ''ZWRMZWF2ZUVsZW1lbnRzLmluZGV4T2YoYSk7eD49MCYmdGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLnNwbGljZSh4LDEpfWlmKGMpe2NvbnN0IHg9dGhpcy5fZmV0Y2hOYW1lc3BhY2UoYyk7eCYmeC5pbnNlcnROb2RlKGEsZCl9ZiYmdGhpcy5jb2xsZWN0RW50ZXJFbGVtZW50KGEpfWNv''@;'; put 'put ''bGxlY3RFbnRlckVsZW1lbnQoYyl7dGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzLnB1c2goYyl9bWFya0VsZW1lbnRBc0Rpc2FibGVkKGMsYSl7YT90aGlzLmRpc2FibGVkTm9kZXMuaGFzKGMpfHwodGhpcy5kaXNhYmxlZE5vZGVzLmFkZChjKSxycyhjLE0yKSk6dGhpcy5kaXNhYmxlZE5v''@;'; put 'put ''ZGVzLmhhcyhjKSYmKHRoaXMuZGlzYWJsZWROb2Rlcy5kZWxldGUoYyksSnUoYyxNMikpfXJlbW92ZU5vZGUoYyxhLGQsZil7aWYoSjAoYSkpe2NvbnN0IHY9Yz90aGlzLl9mZXRjaE5hbWVzcGFjZShjKTpudWxsO2lmKHY/di5yZW1vdmVOb2RlKGEsZik6dGhpcy5tYXJrRWxlbWVudEFzUmVt''@;'; put 'put ''b3ZlZChjLGEsITEsZiksZCl7Y29uc3QgeD10aGlzLm5hbWVzcGFjZXNCeUhvc3RFbGVtZW50LmdldChhKTt4JiZ4LmlkIT09YyYmeC5yZW1vdmVOb2RlKGEsZil9fWVsc2UgdGhpcy5fb25SZW1vdmFsQ29tcGxldGUoYSxmKX1tYXJrRWxlbWVudEFzUmVtb3ZlZChjLGEsZCxmLHYpe3RoaXMu''@;'; put 'put ''Y29sbGVjdGVkTGVhdmVFbGVtZW50cy5wdXNoKGEpLGFbbnNdPXtuYW1lc3BhY2VJZDpjLHNldEZvclJlbW92YWw6ZixoYXNBbmltYXRpb246ZCxyZW1vdmVkQmVmb3JlUXVlcmllZDohMSxwcmV2aW91c1RyaWdnZXJzVmFsdWVzOnZ9fWxpc3RlbihjLGEsZCxmLHYpe3JldHVybiBKMChhKT90''@;'; put 'put ''aGlzLl9mZXRjaE5hbWVzcGFjZShjKS5saXN0ZW4oYSxkLGYsdik6KCk9Pnt9fV9idWlsZEluc3RydWN0aW9uKGMsYSxkLGYsdil7cmV0dXJuIGMudHJhbnNpdGlvbi5idWlsZCh0aGlzLmRyaXZlcixjLmVsZW1lbnQsYy5mcm9tU3RhdGUudmFsdWUsYy50b1N0YXRlLnZhbHVlLGQsZixjLmZy''@;'; put 'put ''b21TdGF0ZS5vcHRpb25zLGMudG9TdGF0ZS5vcHRpb25zLGEsdil9ZGVzdHJveUlubmVyQW5pbWF0aW9ucyhjKXtsZXQgYT10aGlzLmRyaXZlci5xdWVyeShjLFIwLCEwKTthLmZvckVhY2goZD0+dGhpcy5kZXN0cm95QWN0aXZlQW5pbWF0aW9uc0ZvckVsZW1lbnQoZCkpLDAhPXRoaXMucGxh''@;'; put 'put ''eWVyc0J5UXVlcmllZEVsZW1lbnQuc2l6ZSYmKGE9dGhpcy5kcml2ZXIucXVlcnkoYyxkMiwhMCksYS5mb3JFYWNoKGQ9PnRoaXMuZmluaXNoQWN0aXZlUXVlcmllZEFuaW1hdGlvbk9uRWxlbWVudChkKSkpfWRlc3Ryb3lBY3RpdmVBbmltYXRpb25zRm9yRWxlbWVudChjKXtjb25zdCBhPXRo''@;'; put 'put ''aXMucGxheWVyc0J5RWxlbWVudC5nZXQoYyk7YSYmYS5mb3JFYWNoKGQ9PntkLnF1ZXVlZD9kLm1hcmtlZEZvckRlc3Ryb3k9ITA6ZC5kZXN0cm95KCl9KX1maW5pc2hBY3RpdmVRdWVyaWVkQW5pbWF0aW9uT25FbGVtZW50KGMpe2NvbnN0IGE9dGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVu''@;'; put 'put ''dC5nZXQoYyk7YSYmYS5mb3JFYWNoKGQ9PmQuZmluaXNoKCkpfXdoZW5SZW5kZXJpbmdEb25lKCl7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntpZih0aGlzLnBsYXllcnMubGVuZ3RoKXJldHVybiBnbCh0aGlzLnBsYXllcnMpLm9uRG9uZSgoKT0+YygpKTtjKCl9KX1wcm9jZXNzTGVhdmVOb2Rl''@;'; put 'put ''KGMpe3ZhciBhO2NvbnN0IGQ9Y1tuc107aWYoZCYmZC5zZXRGb3JSZW1vdmFsKXtpZihjW25zXT11OCxkLm5hbWVzcGFjZUlkKXt0aGlzLmRlc3Ryb3lJbm5lckFuaW1hdGlvbnMoYyk7Y29uc3QgZj10aGlzLl9mZXRjaE5hbWVzcGFjZShkLm5hbWVzcGFjZUlkKTtmJiZmLmNsZWFyRWxlbWVu''@;'; put 'put ''dENhY2hlKGMpfXRoaXMuX29uUmVtb3ZhbENvbXBsZXRlKGMsZC5zZXRGb3JSZW1vdmFsKX0hKG51bGw9PT0oYT1jLmNsYXNzTGlzdCl8fHZvaWQgMD09PWEpJiZhLmNvbnRhaW5zKE0yKSYmdGhpcy5tYXJrRWxlbWVudEFzRGlzYWJsZWQoYywhMSksdGhpcy5kcml2ZXIucXVlcnkoYywiLm5n''@;'; put 'put ''LWFuaW1hdGUtZGlzYWJsZWQiLCEwKS5mb3JFYWNoKGY9Pnt0aGlzLm1hcmtFbGVtZW50QXNEaXNhYmxlZChmLCExKX0pfWZsdXNoKGM9LTEpe2xldCBhPVtdO2lmKHRoaXMubmV3SG9zdEVsZW1lbnRzLnNpemUmJih0aGlzLm5ld0hvc3RFbGVtZW50cy5mb3JFYWNoKChkLGYpPT50aGlzLl9i''@;'; put 'put ''YWxhbmNlTmFtZXNwYWNlTGlzdChkLGYpKSx0aGlzLm5ld0hvc3RFbGVtZW50cy5jbGVhcigpKSx0aGlzLnRvdGFsQW5pbWF0aW9ucyYmdGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzLmxlbmd0aClmb3IobGV0IGQ9MDtkPHRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50cy5sZW5ndGg7ZCsr''@;'; put 'put ''KXJzKHRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50c1tkXSwibmctc3Rhci1pbnNlcnRlZCIpO2lmKHRoaXMuX25hbWVzcGFjZUxpc3QubGVuZ3RoJiYodGhpcy50b3RhbFF1ZXVlZFBsYXllcnN8fHRoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50cy5sZW5ndGgpKXtjb25zdCBkPVtdO3RyeXth''@;'; put 'put ''PXRoaXMuX2ZsdXNoQW5pbWF0aW9ucyhkLGMpfWZpbmFsbHl7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspZFtmXSgpfX1lbHNlIGZvcihsZXQgZD0wO2Q8dGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLmxlbmd0aDtkKyspdGhpcy5wcm9jZXNzTGVhdmVOb2RlKHRoaXMuY29sbGVjdGVk''@;'; put 'put ''TGVhdmVFbGVtZW50c1tkXSk7aWYodGhpcy50b3RhbFF1ZXVlZFBsYXllcnM9MCx0aGlzLmNvbGxlY3RlZEVudGVyRWxlbWVudHMubGVuZ3RoPTAsdGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLmxlbmd0aD0wLHRoaXMuX2ZsdXNoRm5zLmZvckVhY2goZD0+ZCgpKSx0aGlzLl9mbHVzaEZu''@;'; put 'put ''cz1bXSx0aGlzLl93aGVuUXVpZXRGbnMubGVuZ3RoKXtjb25zdCBkPXRoaXMuX3doZW5RdWlldEZuczt0aGlzLl93aGVuUXVpZXRGbnM9W10sYS5sZW5ndGg/Z2woYSkub25Eb25lKCgpPT57ZC5mb3JFYWNoKGY9PmYoKSl9KTpkLmZvckVhY2goZj0+ZigpKX19cmVwb3J0RXJyb3IoYyl7dGhy''@;'; put 'put ''b3cgZnVuY3Rpb24gU0sobCl7cmV0dXJuIG5ldyBJdCgzNDAyLCExKX0oKX1fZmx1c2hBbmltYXRpb25zKGMsYSl7Y29uc3QgZD1uZXcgcTAsZj1bXSx2PW5ldyBNYXAseD1bXSxIPW5ldyBNYXAsSz1uZXcgTWFwLGVlPW5ldyBNYXAsZmU9bmV3IFNldDt0aGlzLmRpc2FibGVkTm9kZXMuZm9y''@;'; put 'put ''RWFjaChwbj0+e2ZlLmFkZChwbik7Y29uc3QgRG49dGhpcy5kcml2ZXIucXVlcnkocG4sIi5uZy1hbmltYXRlLXF1ZXVlZCIsITApO2ZvcihsZXQgRm49MDtGbjxEbi5sZW5ndGg7Rm4rKylmZS5hZGQoRG5bRm5dKX0pO2NvbnN0IHllPXRoaXMuYm9keU5vZGUsamU9QXJyYXkuZnJvbSh0aGlz''@;'; put 'put ''LnN0YXRlc0J5RWxlbWVudC5rZXlzKCkpLEllPWY4KGplLHRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50cykscWU9bmV3IE1hcDtsZXQgc3Q9MDtJZS5mb3JFYWNoKChwbixEbik9Pntjb25zdCBGbj11MitzdCsrO3FlLnNldChEbixGbikscG4uZm9yRWFjaChwcj0+cnMocHIsRm4pKX0pO2Nv''@;'; put 'put ''bnN0IGt0PVtdLEF0PW5ldyBTZXQsSnQ9bmV3IFNldDtmb3IobGV0IHBuPTA7cG48dGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLmxlbmd0aDtwbisrKXtjb25zdCBEbj10aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHNbcG5dLEZuPURuW25zXTtGbiYmRm4uc2V0Rm9yUmVtb3ZhbCYmKGt0''@;'; put 'put ''LnB1c2goRG4pLEF0LmFkZChEbiksRm4uaGFzQW5pbWF0aW9uP3RoaXMuZHJpdmVyLnF1ZXJ5KERuLCIubmctc3Rhci1pbnNlcnRlZCIsITApLmZvckVhY2gocHI9PkF0LmFkZChwcikpOkp0LmFkZChEbikpfWNvbnN0IFB0PW5ldyBNYXAsS3Q9ZjgoamUsQXJyYXkuZnJvbShBdCkpO0t0LmZv''@;'; put 'put ''ckVhY2goKHBuLERuKT0+e2NvbnN0IEZuPUkwK3N0Kys7UHQuc2V0KERuLEZuKSxwbi5mb3JFYWNoKHByPT5ycyhwcixGbikpfSksYy5wdXNoKCgpPT57SWUuZm9yRWFjaCgocG4sRG4pPT57Y29uc3QgRm49cWUuZ2V0KERuKTtwbi5mb3JFYWNoKHByPT5KdShwcixGbikpfSksS3QuZm9yRWFj''@;'; put 'put ''aCgocG4sRG4pPT57Y29uc3QgRm49UHQuZ2V0KERuKTtwbi5mb3JFYWNoKHByPT5KdShwcixGbikpfSksa3QuZm9yRWFjaChwbj0+e3RoaXMucHJvY2Vzc0xlYXZlTm9kZShwbil9KX0pO2NvbnN0IFRuPVtdLENyPVtdO2ZvcihsZXQgcG49dGhpcy5fbmFtZXNwYWNlTGlzdC5sZW5ndGgtMTtw''@;'; put 'put ''bj49MDtwbi0tKXRoaXMuX25hbWVzcGFjZUxpc3RbcG5dLmRyYWluUXVldWVkVHJhbnNpdGlvbnMoYSkuZm9yRWFjaChGbj0+e2NvbnN0IHByPUZuLnBsYXllcixyaT1Gbi5lbGVtZW50O2lmKFRuLnB1c2gocHIpLHRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50cy5sZW5ndGgpe2NvbnN0IEpp''@;'; put 'put ''PXJpW25zXTtpZihKaSYmSmkuc2V0Rm9yTW92ZSl7aWYoSmkucHJldmlvdXNUcmlnZ2Vyc1ZhbHVlcyYmSmkucHJldmlvdXNUcmlnZ2Vyc1ZhbHVlcy5oYXMoRm4udHJpZ2dlck5hbWUpKXtjb25zdCBoYz1KaS5wcmV2aW91c1RyaWdnZXJzVmFsdWVzLmdldChGbi50cmlnZ2VyTmFtZSksaXM9''@;'; put 'put ''dGhpcy5zdGF0ZXNCeUVsZW1lbnQuZ2V0KEZuLmVsZW1lbnQpO2lmKGlzJiZpcy5oYXMoRm4udHJpZ2dlck5hbWUpKXtjb25zdCBRMD1pcy5nZXQoRm4udHJpZ2dlck5hbWUpO1EwLnZhbHVlPWhjLGlzLnNldChGbi50cmlnZ2VyTmFtZSxRMCl9fXJldHVybiB2b2lkIHByLmRlc3Ryb3koKX19''@;'; put 'put ''Y29uc3QgaWE9IXllfHwhdGhpcy5kcml2ZXIuY29udGFpbnNFbGVtZW50KHllLHJpKSxWbz1QdC5nZXQocmkpLF9sPXFlLmdldChyaSksUXI9dGhpcy5fYnVpbGRJbnN0cnVjdGlvbihGbixkLF9sLFZvLGlhKTtpZihRci5lcnJvcnMmJlFyLmVycm9ycy5sZW5ndGgpcmV0dXJuIHZvaWQgQ3Iu''@;'; put 'put ''cHVzaChRcik7aWYoaWEpcmV0dXJuIHByLm9uU3RhcnQoKCk9PnVjKHJpLFFyLmZyb21TdHlsZXMpKSxwci5vbkRlc3Ryb3koKCk9Pm5hKHJpLFFyLnRvU3R5bGVzKSksdm9pZCBmLnB1c2gocHIpO2lmKEZuLmlzRmFsbGJhY2tUcmFuc2l0aW9uKXJldHVybiBwci5vblN0YXJ0KCgpPT51Yyhy''@;'; put 'put ''aSxRci5mcm9tU3R5bGVzKSkscHIub25EZXN0cm95KCgpPT5uYShyaSxRci50b1N0eWxlcykpLHZvaWQgZi5wdXNoKHByKTtjb25zdCBrOD1bXTtRci50aW1lbGluZXMuZm9yRWFjaChKaT0+e0ppLnN0cmV0Y2hTdGFydGluZ0tleWZyYW1lPSEwLHRoaXMuZGlzYWJsZWROb2Rlcy5oYXMoSmku''@;'; put 'put ''ZWxlbWVudCl8fGs4LnB1c2goSmkpfSksUXIudGltZWxpbmVzPWs4LGQuYXBwZW5kKHJpLFFyLnRpbWVsaW5lcykseC5wdXNoKHtpbnN0cnVjdGlvbjpRcixwbGF5ZXI6cHIsZWxlbWVudDpyaX0pLFFyLnF1ZXJpZWRFbGVtZW50cy5mb3JFYWNoKEppPT5CbyhILEppLFtdKS5wdXNoKHByKSks''@;'; put 'put ''UXIucHJlU3R5bGVQcm9wcy5mb3JFYWNoKChKaSxoYyk9PntpZihKaS5zaXplKXtsZXQgaXM9Sy5nZXQoaGMpO2lzfHxLLnNldChoYyxpcz1uZXcgU2V0KSxKaS5mb3JFYWNoKChRMCxQMik9PmlzLmFkZChQMikpfX0pLFFyLnBvc3RTdHlsZVByb3BzLmZvckVhY2goKEppLGhjKT0+e2xldCBp''@;'; put 'put ''cz1lZS5nZXQoaGMpO2lzfHxlZS5zZXQoaGMsaXM9bmV3IFNldCksSmkuZm9yRWFjaCgoUTAsUDIpPT5pcy5hZGQoUDIpKX0pfSk7aWYoQ3IubGVuZ3RoKXtjb25zdCBwbj1bXTtDci5mb3JFYWNoKERuPT57cG4ucHVzaChmdW5jdGlvbiBPSyhsLGMpe3JldHVybiBuZXcgSXQoMzUwNSwhMSl9''@;'; put 'put ''KCkpfSksVG4uZm9yRWFjaChEbj0+RG4uZGVzdHJveSgpKSx0aGlzLnJlcG9ydEVycm9yKHBuKX1jb25zdCBuaT1uZXcgTWFwLFppPW5ldyBNYXA7eC5mb3JFYWNoKHBuPT57Y29uc3QgRG49cG4uZWxlbWVudDtkLmhhcyhEbikmJihaaS5zZXQoRG4sRG4pLHRoaXMuX2JlZm9yZUFuaW1hdGlv''@;'; put 'put ''bkJ1aWxkKHBuLnBsYXllci5uYW1lc3BhY2VJZCxwbi5pbnN0cnVjdGlvbixuaSkpfSksZi5mb3JFYWNoKHBuPT57Y29uc3QgRG49cG4uZWxlbWVudDt0aGlzLl9nZXRQcmV2aW91c1BsYXllcnMoRG4sITEscG4ubmFtZXNwYWNlSWQscG4udHJpZ2dlck5hbWUsbnVsbCkuZm9yRWFjaChwcj0+''@;'; put 'put ''e0JvKG5pLERuLFtdKS5wdXNoKHByKSxwci5kZXN0cm95KCl9KX0pO2NvbnN0IHZsPWt0LmZpbHRlcihwbj0+ZzgocG4sSyxlZSkpLHNvPW5ldyBNYXA7aDgoc28sdGhpcy5kcml2ZXIsSnQsZWUsU2EpLmZvckVhY2gocG49PntnOChwbixLLGVlKSYmdmwucHVzaChwbil9KTtjb25zdCBOYT1u''@;'; put 'put ''ZXcgTWFwO0llLmZvckVhY2goKHBuLERuKT0+e2g4KE5hLHRoaXMuZHJpdmVyLG5ldyBTZXQocG4pLEssIiEiKX0pLHZsLmZvckVhY2gocG49Pnt2YXIgRG4sRm47Y29uc3QgcHI9c28uZ2V0KHBuKSxyaT1OYS5nZXQocG4pO3NvLnNldChwbixuZXcgTWFwKFsuLi5BcnJheS5mcm9tKG51bGwh''@;'; put 'put ''PT0oRG49bnVsbD09cHI/dm9pZCAwOnByLmVudHJpZXMoKSkmJnZvaWQgMCE9PURuP0RuOltdKSwuLi5BcnJheS5mcm9tKG51bGwhPT0oRm49bnVsbD09cmk/dm9pZCAwOnJpLmVudHJpZXMoKSkmJnZvaWQgMCE9PUZuP0ZuOltdKV0pKX0pO2NvbnN0IFlhPVtdLHJhPVtdLEt1PXt9O3guZm9y''@;'; put 'put ''RWFjaChwbj0+e2NvbnN0e2VsZW1lbnQ6RG4scGxheWVyOkZuLGluc3RydWN0aW9uOnByfT1wbjtpZihkLmhhcyhEbikpe2lmKGZlLmhhcyhEbikpcmV0dXJuIEZuLm9uRGVzdHJveSgoKT0+bmEoRG4scHIudG9TdHlsZXMpKSxGbi5kaXNhYmxlZD0hMCxGbi5vdmVycmlkZVRvdGFsVGltZShw''@;'; put 'put ''ci50b3RhbFRpbWUpLHZvaWQgZi5wdXNoKEZuKTtsZXQgcmk9S3U7aWYoWmkuc2l6ZT4xKXtsZXQgVm89RG47Y29uc3QgX2w9W107Zm9yKDtWbz1Wby5wYXJlbnROb2RlOyl7Y29uc3QgUXI9WmkuZ2V0KFZvKTtpZihRcil7cmk9UXI7YnJlYWt9X2wucHVzaChWbyl9X2wuZm9yRWFjaChRcj0+''@;'; put 'put ''Wmkuc2V0KFFyLHJpKSl9Y29uc3QgaWE9dGhpcy5fYnVpbGRBbmltYXRpb24oRm4ubmFtZXNwYWNlSWQscHIsbmksdixOYSxzbyk7aWYoRm4uc2V0UmVhbFBsYXllcihpYSkscmk9PT1LdSlZYS5wdXNoKEZuKTtlbHNle2NvbnN0IFZvPXRoaXMucGxheWVyc0J5RWxlbWVudC5nZXQocmkpO1Zv''@;'; put 'put ''JiZWby5sZW5ndGgmJihGbi5wYXJlbnRQbGF5ZXI9Z2woVm8pKSxmLnB1c2goRm4pfX1lbHNlIHVjKERuLHByLmZyb21TdHlsZXMpLEZuLm9uRGVzdHJveSgoKT0+bmEoRG4scHIudG9TdHlsZXMpKSxyYS5wdXNoKEZuKSxmZS5oYXMoRG4pJiZmLnB1c2goRm4pfSkscmEuZm9yRWFjaChwbj0+''@;'; put 'put ''e2NvbnN0IERuPXYuZ2V0KHBuLmVsZW1lbnQpO2lmKERuJiZEbi5sZW5ndGgpe2NvbnN0IEZuPWdsKERuKTtwbi5zZXRSZWFsUGxheWVyKEZuKX19KSxmLmZvckVhY2gocG49Pntwbi5wYXJlbnRQbGF5ZXI/cG4uc3luY1BsYXllckV2ZW50cyhwbi5wYXJlbnRQbGF5ZXIpOnBuLmRlc3Ryb3ko''@;'; put 'put ''KX0pO2ZvcihsZXQgcG49MDtwbjxrdC5sZW5ndGg7cG4rKyl7Y29uc3QgRG49a3RbcG5dLEZuPURuW25zXTtpZihKdShEbixJMCksRm4mJkZuLmhhc0FuaW1hdGlvbiljb250aW51ZTtsZXQgcHI9W107aWYoSC5zaXplKXtsZXQgaWE9SC5nZXQoRG4pO2lhJiZpYS5sZW5ndGgmJnByLnB1c2go''@;'; put 'put ''Li4uaWEpO2xldCBWbz10aGlzLmRyaXZlci5xdWVyeShEbixkMiwhMCk7Zm9yKGxldCBfbD0wO19sPFZvLmxlbmd0aDtfbCsrKXtsZXQgUXI9SC5nZXQoVm9bX2xdKTtRciYmUXIubGVuZ3RoJiZwci5wdXNoKC4uLlFyKX19Y29uc3Qgcmk9cHIuZmlsdGVyKGlhPT4haWEuZGVzdHJveWVkKTty''@;'; put 'put ''aS5sZW5ndGg/eFgodGhpcyxEbixyaSk6dGhpcy5wcm9jZXNzTGVhdmVOb2RlKERuKX1yZXR1cm4ga3QubGVuZ3RoPTAsWWEuZm9yRWFjaChwbj0+e3RoaXMucGxheWVycy5wdXNoKHBuKSxwbi5vbkRvbmUoKCk9Pntwbi5kZXN0cm95KCk7Y29uc3QgRG49dGhpcy5wbGF5ZXJzLmluZGV4T2Yo''@;'; put 'put ''cG4pO3RoaXMucGxheWVycy5zcGxpY2UoRG4sMSl9KSxwbi5wbGF5KCl9KSxZYX1lbGVtZW50Q29udGFpbnNEYXRhKGMsYSl7bGV0IGQ9ITE7Y29uc3QgZj1hW25zXTtyZXR1cm4gZiYmZi5zZXRGb3JSZW1vdmFsJiYoZD0hMCksdGhpcy5wbGF5ZXJzQnlFbGVtZW50LmhhcyhhKSYmKGQ9ITAp''@;'; put 'put ''LHRoaXMucGxheWVyc0J5UXVlcmllZEVsZW1lbnQuaGFzKGEpJiYoZD0hMCksdGhpcy5zdGF0ZXNCeUVsZW1lbnQuaGFzKGEpJiYoZD0hMCksdGhpcy5fZmV0Y2hOYW1lc3BhY2UoYykuZWxlbWVudENvbnRhaW5zRGF0YShhKXx8ZH1hZnRlckZsdXNoKGMpe3RoaXMuX2ZsdXNoRm5zLnB1c2go''@;'; put 'put ''Yyl9YWZ0ZXJGbHVzaEFuaW1hdGlvbnNEb25lKGMpe3RoaXMuX3doZW5RdWlldEZucy5wdXNoKGMpfV9nZXRQcmV2aW91c1BsYXllcnMoYyxhLGQsZix2KXtsZXQgeD1bXTtpZihhKXtjb25zdCBIPXRoaXMucGxheWVyc0J5UXVlcmllZEVsZW1lbnQuZ2V0KGMpO0gmJih4PUgpfWVsc2V7Y29u''@;'; put 'put ''c3QgSD10aGlzLnBsYXllcnNCeUVsZW1lbnQuZ2V0KGMpO2lmKEgpe2NvbnN0IEs9IXZ8fHY9PWdmO0guZm9yRWFjaChlZT0+e2VlLnF1ZXVlZHx8IUsmJmVlLnRyaWdnZXJOYW1lIT1mfHx4LnB1c2goZWUpfSl9fXJldHVybihkfHxmKSYmKHg9eC5maWx0ZXIoSD0+IShkJiZkIT1ILm5hbWVz''@;'; put 'put ''cGFjZUlkfHxmJiZmIT1ILnRyaWdnZXJOYW1lKSkpLHh9X2JlZm9yZUFuaW1hdGlvbkJ1aWxkKGMsYSxkKXtjb25zdCB2PWEuZWxlbWVudCx4PWEuaXNSZW1vdmFsVHJhbnNpdGlvbj92b2lkIDA6YyxIPWEuaXNSZW1vdmFsVHJhbnNpdGlvbj92b2lkIDA6YS50cmlnZ2VyTmFtZTtmb3IoY29u''@;'; put 'put ''c3QgSyBvZiBhLnRpbWVsaW5lcyl7Y29uc3QgZWU9Sy5lbGVtZW50LGZlPWVlIT09dix5ZT1CbyhkLGVlLFtdKTt0aGlzLl9nZXRQcmV2aW91c1BsYXllcnMoZWUsZmUseCxILGEudG9TdGF0ZSkuZm9yRWFjaChJZT0+e2NvbnN0IHFlPUllLmdldFJlYWxQbGF5ZXIoKTtxZS5iZWZvcmVEZXN0''@;'; put 'put ''cm95JiZxZS5iZWZvcmVEZXN0cm95KCksSWUuZGVzdHJveSgpLHllLnB1c2goSWUpfSl9dWModixhLmZyb21TdHlsZXMpfV9idWlsZEFuaW1hdGlvbihjLGEsZCxmLHYseCl7Y29uc3QgSD1hLnRyaWdnZXJOYW1lLEs9YS5lbGVtZW50LGVlPVtdLGZlPW5ldyBTZXQseWU9bmV3IFNldCxqZT1h''@;'; put 'put ''LnRpbWVsaW5lcy5tYXAocWU9Pntjb25zdCBzdD1xZS5lbGVtZW50O2ZlLmFkZChzdCk7Y29uc3Qga3Q9c3RbbnNdO2lmKGt0JiZrdC5yZW1vdmVkQmVmb3JlUXVlcmllZClyZXR1cm4gbmV3IEVoKHFlLmR1cmF0aW9uLHFlLmRlbGF5KTtjb25zdCBBdD1zdCE9PUssSnQ9ZnVuY3Rpb24gQVgo''@;'; put 'put ''bCl7Y29uc3QgYz1bXTtyZXR1cm4gcDgobCxjKSxjfSgoZC5nZXQoc3QpfHxDWCkubWFwKG5pPT5uaS5nZXRSZWFsUGxheWVyKCkpKS5maWx0ZXIobmk9PiEhbmkuZWxlbWVudCYmbmkuZWxlbWVudD09PXN0KSxQdD12LmdldChzdCksS3Q9eC5nZXQoc3QpLFRuPXp4KDAsdGhpcy5fbm9ybWFs''@;'; put 'put ''aXplciwwLHFlLmtleWZyYW1lcyxQdCxLdCksQ3I9dGhpcy5fYnVpbGRQbGF5ZXIocWUsVG4sSnQpO2lmKHFlLnN1YlRpbWVsaW5lJiZmJiZ5ZS5hZGQoc3QpLEF0KXtjb25zdCBuaT1uZXcgajIoYyxILHN0KTtuaS5zZXRSZWFsUGxheWVyKENyKSxlZS5wdXNoKG5pKX1yZXR1cm4gQ3J9KTtl''@;'; put 'put ''ZS5mb3JFYWNoKHFlPT57Qm8odGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudCxxZS5lbGVtZW50LFtdKS5wdXNoKHFlKSxxZS5vbkRvbmUoKCk9PmZ1bmN0aW9uIE9YKGwsYyxhKXtsZXQgZD1sLmdldChjKTtpZihkKXtpZihkLmxlbmd0aCl7Y29uc3QgZj1kLmluZGV4T2YoYSk7ZC5zcGxp''@;'; put 'put ''Y2UoZiwxKX0wPT1kLmxlbmd0aCYmbC5kZWxldGUoYyl9cmV0dXJuIGR9KHRoaXMucGxheWVyc0J5UXVlcmllZEVsZW1lbnQscWUuZWxlbWVudCxxZSkpfSksZmUuZm9yRWFjaChxZT0+cnMocWUsSngpKTtjb25zdCBJZT1nbChqZSk7cmV0dXJuIEllLm9uRGVzdHJveSgoKT0+e2ZlLmZvckVh''@;'; put 'put ''Y2gocWU9Pkp1KHFlLEp4KSksbmEoSyxhLnRvU3R5bGVzKX0pLHllLmZvckVhY2gocWU9PntCbyhmLHFlLFtdKS5wdXNoKEllKX0pLEllfV9idWlsZFBsYXllcihjLGEsZCl7cmV0dXJuIGEubGVuZ3RoPjA/dGhpcy5kcml2ZXIuYW5pbWF0ZShjLmVsZW1lbnQsYSxjLmR1cmF0aW9uLGMuZGVs''@;'; put 'put ''YXksYy5lYXNpbmcsZCk6bmV3IEVoKGMuZHVyYXRpb24sYy5kZWxheSl9fWNsYXNzIGoye2NvbnN0cnVjdG9yKGMsYSxkKXt0aGlzLm5hbWVzcGFjZUlkPWMsdGhpcy50cmlnZ2VyTmFtZT1hLHRoaXMuZWxlbWVudD1kLHRoaXMuX3BsYXllcj1uZXcgRWgsdGhpcy5fY29udGFpbnNSZWFsUGxh''@;'; put 'put ''eWVyPSExLHRoaXMuX3F1ZXVlZENhbGxiYWNrcz1uZXcgTWFwLHRoaXMuZGVzdHJveWVkPSExLHRoaXMubWFya2VkRm9yRGVzdHJveT0hMSx0aGlzLmRpc2FibGVkPSExLHRoaXMucXVldWVkPSEwLHRoaXMudG90YWxUaW1lPTB9c2V0UmVhbFBsYXllcihjKXt0aGlzLl9jb250YWluc1JlYWxQ''@;'; put 'put ''bGF5ZXJ8fCh0aGlzLl9wbGF5ZXI9Yyx0aGlzLl9xdWV1ZWRDYWxsYmFja3MuZm9yRWFjaCgoYSxkKT0+e2EuZm9yRWFjaChmPT5pMihjLGQsdm9pZCAwLGYpKX0pLHRoaXMuX3F1ZXVlZENhbGxiYWNrcy5jbGVhcigpLHRoaXMuX2NvbnRhaW5zUmVhbFBsYXllcj0hMCx0aGlzLm92ZXJyaWRl''@;'; put 'put ''VG90YWxUaW1lKGMudG90YWxUaW1lKSx0aGlzLnF1ZXVlZD0hMSl9Z2V0UmVhbFBsYXllcigpe3JldHVybiB0aGlzLl9wbGF5ZXJ9b3ZlcnJpZGVUb3RhbFRpbWUoYyl7dGhpcy50b3RhbFRpbWU9Y31zeW5jUGxheWVyRXZlbnRzKGMpe2NvbnN0IGE9dGhpcy5fcGxheWVyO2EudHJpZ2dlckNh''@;'; put 'put ''bGxiYWNrJiZjLm9uU3RhcnQoKCk9PmEudHJpZ2dlckNhbGxiYWNrKCJzdGFydCIpKSxjLm9uRG9uZSgoKT0+dGhpcy5maW5pc2goKSksYy5vbkRlc3Ryb3koKCk9PnRoaXMuZGVzdHJveSgpKX1fcXVldWVFdmVudChjLGEpe0JvKHRoaXMuX3F1ZXVlZENhbGxiYWNrcyxjLFtdKS5wdXNoKGEp''@;'; put 'put ''fW9uRG9uZShjKXt0aGlzLnF1ZXVlZCYmdGhpcy5fcXVldWVFdmVudCgiZG9uZSIsYyksdGhpcy5fcGxheWVyLm9uRG9uZShjKX1vblN0YXJ0KGMpe3RoaXMucXVldWVkJiZ0aGlzLl9xdWV1ZUV2ZW50KCJzdGFydCIsYyksdGhpcy5fcGxheWVyLm9uU3RhcnQoYyl9b25EZXN0cm95KGMpe3Ro''@;'; put 'put ''aXMucXVldWVkJiZ0aGlzLl9xdWV1ZUV2ZW50KCJkZXN0cm95IixjKSx0aGlzLl9wbGF5ZXIub25EZXN0cm95KGMpfWluaXQoKXt0aGlzLl9wbGF5ZXIuaW5pdCgpfWhhc1N0YXJ0ZWQoKXtyZXR1cm4hdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5oYXNTdGFydGVkKCl9cGxheSgpeyF0aGlz''@;'; put 'put ''LnF1ZXVlZCYmdGhpcy5fcGxheWVyLnBsYXkoKX1wYXVzZSgpeyF0aGlzLnF1ZXVlZCYmdGhpcy5fcGxheWVyLnBhdXNlKCl9cmVzdGFydCgpeyF0aGlzLnF1ZXVlZCYmdGhpcy5fcGxheWVyLnJlc3RhcnQoKX1maW5pc2goKXt0aGlzLl9wbGF5ZXIuZmluaXNoKCl9ZGVzdHJveSgpe3RoaXMu''@;'; put 'put ''ZGVzdHJveWVkPSEwLHRoaXMuX3BsYXllci5kZXN0cm95KCl9cmVzZXQoKXshdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5yZXNldCgpfXNldFBvc2l0aW9uKGMpe3RoaXMucXVldWVkfHx0aGlzLl9wbGF5ZXIuc2V0UG9zaXRpb24oYyl9Z2V0UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5xdWV1''@;'; put 'put ''ZWQ/MDp0aGlzLl9wbGF5ZXIuZ2V0UG9zaXRpb24oKX10cmlnZ2VyQ2FsbGJhY2soYyl7Y29uc3QgYT10aGlzLl9wbGF5ZXI7YS50cmlnZ2VyQ2FsbGJhY2smJmEudHJpZ2dlckNhbGxiYWNrKGMpfX1mdW5jdGlvbiBKMChsKXtyZXR1cm4gbCYmMT09PWwubm9kZVR5cGV9ZnVuY3Rpb24gZDgo''@;'; put 'put ''bCxjKXtjb25zdCBhPWwuc3R5bGUuZGlzcGxheTtyZXR1cm4gbC5zdHlsZS5kaXNwbGF5PW51bGwhPWM/Yzoibm9uZSIsYX1mdW5jdGlvbiBoOChsLGMsYSxkLGYpe2NvbnN0IHY9W107YS5mb3JFYWNoKEs9PnYucHVzaChkOChLKSkpO2NvbnN0IHg9W107ZC5mb3JFYWNoKChLLGVlKT0+e2Nv''@;'; put 'put ''bnN0IGZlPW5ldyBNYXA7Sy5mb3JFYWNoKHllPT57Y29uc3QgamU9Yy5jb21wdXRlU3R5bGUoZWUseWUsZik7ZmUuc2V0KHllLGplKSwoIWplfHwwPT1qZS5sZW5ndGgpJiYoZWVbbnNdPWtYLHgucHVzaChlZSkpfSksbC5zZXQoZWUsZmUpfSk7bGV0IEg9MDtyZXR1cm4gYS5mb3JFYWNoKEs9''@;'; put 'put ''PmQ4KEssdltIKytdKSkseH1mdW5jdGlvbiBmOChsLGMpe2NvbnN0IGE9bmV3IE1hcDtpZihsLmZvckVhY2goSD0+YS5zZXQoSCxbXSkpLDA9PWMubGVuZ3RoKXJldHVybiBhO2NvbnN0IGY9bmV3IFNldChjKSx2PW5ldyBNYXA7ZnVuY3Rpb24geChIKXtpZighSClyZXR1cm4gMTtsZXQgSz12''@;'; put 'put ''LmdldChIKTtpZihLKXJldHVybiBLO2NvbnN0IGVlPUgucGFyZW50Tm9kZTtyZXR1cm4gSz1hLmhhcyhlZSk/ZWU6Zi5oYXMoZWUpPzE6eChlZSksdi5zZXQoSCxLKSxLfXJldHVybiBjLmZvckVhY2goSD0+e2NvbnN0IEs9eChIKTsxIT09SyYmYS5nZXQoSykucHVzaChIKX0pLGF9ZnVuY3Rp''@;'; put 'put ''b24gcnMobCxjKXt2YXIgYTtudWxsPT09KGE9bC5jbGFzc0xpc3QpfHx2b2lkIDA9PT1hfHxhLmFkZChjKX1mdW5jdGlvbiBKdShsLGMpe3ZhciBhO251bGw9PT0oYT1sLmNsYXNzTGlzdCl8fHZvaWQgMD09PWF8fGEucmVtb3ZlKGMpfWZ1bmN0aW9uIHhYKGwsYyxhKXtnbChhKS5vbkRvbmUo''@;'; put 'put ''KCk9PmwucHJvY2Vzc0xlYXZlTm9kZShjKSl9ZnVuY3Rpb24gcDgobCxjKXtmb3IobGV0IGE9MDthPGwubGVuZ3RoO2ErKyl7Y29uc3QgZD1sW2FdO2QgaW5zdGFuY2VvZiBHTz9wOChkLnBsYXllcnMsYyk6Yy5wdXNoKGQpfX1mdW5jdGlvbiBnOChsLGMsYSl7Y29uc3QgZD1hLmdldChsKTtp''@;'; put 'put ''ZighZClyZXR1cm4hMTtsZXQgZj1jLmdldChsKTtyZXR1cm4gZj9kLmZvckVhY2godj0+Zi5hZGQodikpOmMuc2V0KGwsZCksYS5kZWxldGUobCksITB9Y2xhc3MgSzB7Y29uc3RydWN0b3IoYyxhLGQpe3RoaXMuYm9keU5vZGU9Yyx0aGlzLl9kcml2ZXI9YSx0aGlzLl9ub3JtYWxpemVyPWQs''@;'; put 'put ''dGhpcy5fdHJpZ2dlckNhY2hlPXt9LHRoaXMub25SZW1vdmFsQ29tcGxldGU9KGYsdik9Pnt9LHRoaXMuX3RyYW5zaXRpb25FbmdpbmU9bmV3IFNYKGMsYSxkKSx0aGlzLl90aW1lbGluZUVuZ2luZT1uZXcgdlgoYyxhLGQpLHRoaXMuX3RyYW5zaXRpb25FbmdpbmUub25SZW1vdmFsQ29tcGxl''@;'; put 'put ''dGU9KGYsdik9PnRoaXMub25SZW1vdmFsQ29tcGxldGUoZix2KX1yZWdpc3RlclRyaWdnZXIoYyxhLGQsZix2KXtjb25zdCB4PWMrIi0iK2Y7bGV0IEg9dGhpcy5fdHJpZ2dlckNhY2hlW3hdO2lmKCFIKXtjb25zdCBLPVtdLGZlPWcyKHRoaXMuX2RyaXZlcix2LEssW10pO2lmKEsubGVuZ3Ro''@;'; put 'put ''KXRocm93IGZ1bmN0aW9uIG1LKGwsYyl7cmV0dXJuIG5ldyBJdCgzNDA0LCExKX0oKTtIPWZ1bmN0aW9uIHBYKGwsYyxhKXtyZXR1cm4gbmV3IGdYKGwsYyxhKX0oZixmZSx0aGlzLl9ub3JtYWxpemVyKSx0aGlzLl90cmlnZ2VyQ2FjaGVbeF09SH10aGlzLl90cmFuc2l0aW9uRW5naW5lLnJl''@;'; put 'put ''Z2lzdGVyVHJpZ2dlcihhLGYsSCl9cmVnaXN0ZXIoYyxhKXt0aGlzLl90cmFuc2l0aW9uRW5naW5lLnJlZ2lzdGVyKGMsYSl9ZGVzdHJveShjLGEpe3RoaXMuX3RyYW5zaXRpb25FbmdpbmUuZGVzdHJveShjLGEpfW9uSW5zZXJ0KGMsYSxkLGYpe3RoaXMuX3RyYW5zaXRpb25FbmdpbmUuaW5z''@;'; put 'put ''ZXJ0Tm9kZShjLGEsZCxmKX1vblJlbW92ZShjLGEsZCxmKXt0aGlzLl90cmFuc2l0aW9uRW5naW5lLnJlbW92ZU5vZGUoYyxhLGZ8fCExLGQpfWRpc2FibGVBbmltYXRpb25zKGMsYSl7dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5tYXJrRWxlbWVudEFzRGlzYWJsZWQoYyxhKX1wcm9jZXNzKGMs''@;'; put 'put ''YSxkLGYpe2lmKCJAIj09ZC5jaGFyQXQoMCkpe2NvbnN0W3YseF09QngoZCk7dGhpcy5fdGltZWxpbmVFbmdpbmUuY29tbWFuZCh2LGEseCxmKX1lbHNlIHRoaXMuX3RyYW5zaXRpb25FbmdpbmUudHJpZ2dlcihjLGEsZCxmKX1saXN0ZW4oYyxhLGQsZix2KXtpZigiQCI9PWQuY2hhckF0KDAp''@;'; put 'put ''KXtjb25zdFt4LEhdPUJ4KGQpO3JldHVybiB0aGlzLl90aW1lbGluZUVuZ2luZS5saXN0ZW4oeCxhLEgsdil9cmV0dXJuIHRoaXMuX3RyYW5zaXRpb25FbmdpbmUubGlzdGVuKGMsYSxkLGYsdil9Zmx1c2goYz0tMSl7dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5mbHVzaChjKX1nZXQgcGxheWVy''@;'; put 'put ''cygpe3JldHVybiB0aGlzLl90cmFuc2l0aW9uRW5naW5lLnBsYXllcnMuY29uY2F0KHRoaXMuX3RpbWVsaW5lRW5naW5lLnBsYXllcnMpfXdoZW5SZW5kZXJpbmdEb25lKCl7cmV0dXJuIHRoaXMuX3RyYW5zaXRpb25FbmdpbmUud2hlblJlbmRlcmluZ0RvbmUoKX19bGV0IExYPSgoKT0+e2Ns''@;'; put 'put ''YXNzIGx7Y29uc3RydWN0b3IoYSxkLGYpe3RoaXMuX2VsZW1lbnQ9YSx0aGlzLl9zdGFydFN0eWxlcz1kLHRoaXMuX2VuZFN0eWxlcz1mLHRoaXMuX3N0YXRlPTA7bGV0IHY9bC5pbml0aWFsU3R5bGVzQnlFbGVtZW50LmdldChhKTt2fHxsLmluaXRpYWxTdHlsZXNCeUVsZW1lbnQuc2V0KGEs''@;'; put 'put ''dj1uZXcgTWFwKSx0aGlzLl9pbml0aWFsU3R5bGVzPXZ9c3RhcnQoKXt0aGlzLl9zdGF0ZTwxJiYodGhpcy5fc3RhcnRTdHlsZXMmJm5hKHRoaXMuX2VsZW1lbnQsdGhpcy5fc3RhcnRTdHlsZXMsdGhpcy5faW5pdGlhbFN0eWxlcyksdGhpcy5fc3RhdGU9MSl9ZmluaXNoKCl7dGhpcy5zdGFy''@;'; put 'put ''dCgpLHRoaXMuX3N0YXRlPDImJihuYSh0aGlzLl9lbGVtZW50LHRoaXMuX2luaXRpYWxTdHlsZXMpLHRoaXMuX2VuZFN0eWxlcyYmKG5hKHRoaXMuX2VsZW1lbnQsdGhpcy5fZW5kU3R5bGVzKSx0aGlzLl9lbmRTdHlsZXM9bnVsbCksdGhpcy5fc3RhdGU9MSl9ZGVzdHJveSgpe3RoaXMuZmlu''@;'; put 'put ''aXNoKCksdGhpcy5fc3RhdGU8MyYmKGwuaW5pdGlhbFN0eWxlc0J5RWxlbWVudC5kZWxldGUodGhpcy5fZWxlbWVudCksdGhpcy5fc3RhcnRTdHlsZXMmJih1Yyh0aGlzLl9lbGVtZW50LHRoaXMuX3N0YXJ0U3R5bGVzKSx0aGlzLl9lbmRTdHlsZXM9bnVsbCksdGhpcy5fZW5kU3R5bGVzJiYo''@;'; put 'put ''dWModGhpcy5fZWxlbWVudCx0aGlzLl9lbmRTdHlsZXMpLHRoaXMuX2VuZFN0eWxlcz1udWxsKSxuYSh0aGlzLl9lbGVtZW50LHRoaXMuX2luaXRpYWxTdHlsZXMpLHRoaXMuX3N0YXRlPTMpfX1yZXR1cm4gbC5pbml0aWFsU3R5bGVzQnlFbGVtZW50PW5ldyBXZWFrTWFwLGx9KSgpO2Z1bmN0''@;'; put 'put ''aW9uIFMyKGwpe2xldCBjPW51bGw7cmV0dXJuIGwuZm9yRWFjaCgoYSxkKT0+eyhmdW5jdGlvbiBJWChsKXtyZXR1cm4iZGlzcGxheSI9PT1sfHwicG9zaXRpb24iPT09bH0pKGQpJiYoYz1jfHxuZXcgTWFwLGMuc2V0KGQsYSkpfSksY31jbGFzcyBtOHtjb25zdHJ1Y3RvcihjLGEsZCxmKXt0''@;'; put 'put ''aGlzLmVsZW1lbnQ9Yyx0aGlzLmtleWZyYW1lcz1hLHRoaXMub3B0aW9ucz1kLHRoaXMuX3NwZWNpYWxTdHlsZXM9Zix0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9''@;'; put 'put ''ITEsdGhpcy5fc3RhcnRlZD0hMSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb3JpZ2luYWxPbkRvbmVGbnM9W10sdGhpcy5fb3JpZ2luYWxPblN0YXJ0Rm5zPVtdLHRoaXMudGltZT0wLHRoaXMucGFyZW50UGxheWVyPW51bGwsdGhpcy5jdXJyZW50U25hcHNob3Q9bmV3IE1hcCx0aGlzLl9k''@;'; put 'put ''dXJhdGlvbj1kLmR1cmF0aW9uLHRoaXMuX2RlbGF5PWQuZGVsYXl8fDAsdGhpcy50aW1lPXRoaXMuX2R1cmF0aW9uK3RoaXMuX2RlbGF5fV9vbkZpbmlzaCgpe3RoaXMuX2ZpbmlzaGVkfHwodGhpcy5fZmluaXNoZWQ9ITAsdGhpcy5fb25Eb25lRm5zLmZvckVhY2goYz0+YygpKSx0aGlzLl9v''@;'; put 'put ''bkRvbmVGbnM9W10pfWluaXQoKXt0aGlzLl9idWlsZFBsYXllcigpLHRoaXMuX3ByZXBhcmVQbGF5ZXJCZWZvcmVTdGFydCgpfV9idWlsZFBsYXllcigpe2lmKHRoaXMuX2luaXRpYWxpemVkKXJldHVybjt0aGlzLl9pbml0aWFsaXplZD0hMDtjb25zdCBjPXRoaXMua2V5ZnJhbWVzO3RoaXMu''@;'; put 'put ''ZG9tUGxheWVyPXRoaXMuX3RyaWdnZXJXZWJBbmltYXRpb24odGhpcy5lbGVtZW50LGMsdGhpcy5vcHRpb25zKSx0aGlzLl9maW5hbEtleWZyYW1lPWMubGVuZ3RoP2NbYy5sZW5ndGgtMV06bmV3IE1hcCx0aGlzLmRvbVBsYXllci5hZGRFdmVudExpc3RlbmVyKCJmaW5pc2giLCgpPT50aGlz''@;'; put 'put ''Ll9vbkZpbmlzaCgpKX1fcHJlcGFyZVBsYXllckJlZm9yZVN0YXJ0KCl7dGhpcy5fZGVsYXk/dGhpcy5fcmVzZXREb21QbGF5ZXJTdGF0ZSgpOnRoaXMuZG9tUGxheWVyLnBhdXNlKCl9X2NvbnZlcnRLZXlmcmFtZXNUb09iamVjdChjKXtjb25zdCBhPVtdO3JldHVybiBjLmZvckVhY2goZD0+''@;'; put 'put ''e2EucHVzaChPYmplY3QuZnJvbUVudHJpZXMoZCkpfSksYX1fdHJpZ2dlcldlYkFuaW1hdGlvbihjLGEsZCl7cmV0dXJuIGMuYW5pbWF0ZSh0aGlzLl9jb252ZXJ0S2V5ZnJhbWVzVG9PYmplY3QoYSksZCl9b25TdGFydChjKXt0aGlzLl9vcmlnaW5hbE9uU3RhcnRGbnMucHVzaChjKSx0aGlz''@;'; put 'put ''Ll9vblN0YXJ0Rm5zLnB1c2goYyl9b25Eb25lKGMpe3RoaXMuX29yaWdpbmFsT25Eb25lRm5zLnB1c2goYyksdGhpcy5fb25Eb25lRm5zLnB1c2goYyl9b25EZXN0cm95KGMpe3RoaXMuX29uRGVzdHJveUZucy5wdXNoKGMpfXBsYXkoKXt0aGlzLl9idWlsZFBsYXllcigpLHRoaXMuaGFzU3Rh''@;'; put 'put ''cnRlZCgpfHwodGhpcy5fb25TdGFydEZucy5mb3JFYWNoKGM9PmMoKSksdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9zdGFydGVkPSEwLHRoaXMuX3NwZWNpYWxTdHlsZXMmJnRoaXMuX3NwZWNpYWxTdHlsZXMuc3RhcnQoKSksdGhpcy5kb21QbGF5ZXIucGxheSgpfXBhdXNlKCl7dGhpcy5p''@;'; put 'put ''bml0KCksdGhpcy5kb21QbGF5ZXIucGF1c2UoKX1maW5pc2goKXt0aGlzLmluaXQoKSx0aGlzLl9zcGVjaWFsU3R5bGVzJiZ0aGlzLl9zcGVjaWFsU3R5bGVzLmZpbmlzaCgpLHRoaXMuX29uRmluaXNoKCksdGhpcy5kb21QbGF5ZXIuZmluaXNoKCl9cmVzZXQoKXt0aGlzLl9yZXNldERvbVBs''@;'; put 'put ''YXllclN0YXRlKCksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2ZpbmlzaGVkPSExLHRoaXMuX3N0YXJ0ZWQ9ITEsdGhpcy5fb25TdGFydEZucz10aGlzLl9vcmlnaW5hbE9uU3RhcnRGbnMsdGhpcy5fb25Eb25lRm5zPXRoaXMuX29yaWdpbmFsT25Eb25lRm5zfV9yZXNldERvbVBsYXllclN0''@;'; put 'put ''YXRlKCl7dGhpcy5kb21QbGF5ZXImJnRoaXMuZG9tUGxheWVyLmNhbmNlbCgpfXJlc3RhcnQoKXt0aGlzLnJlc2V0KCksdGhpcy5wbGF5KCl9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfWRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9kZXN0cm95ZWQ9ITAsdGhp''@;'; put 'put ''cy5fcmVzZXREb21QbGF5ZXJTdGF0ZSgpLHRoaXMuX29uRmluaXNoKCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5kZXN0cm95KCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goYz0+YygpKSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10pfXNldFBvc2l0aW9uKGMp''@;'; put 'put ''e3ZvaWQgMD09PXRoaXMuZG9tUGxheWVyJiZ0aGlzLmluaXQoKSx0aGlzLmRvbVBsYXllci5jdXJyZW50VGltZT1jKnRoaXMudGltZX1nZXRQb3NpdGlvbigpe3JldHVybiB0aGlzLmRvbVBsYXllci5jdXJyZW50VGltZS90aGlzLnRpbWV9Z2V0IHRvdGFsVGltZSgpe3JldHVybiB0aGlzLl9k''@;'; put 'put ''ZWxheSt0aGlzLl9kdXJhdGlvbn1iZWZvcmVEZXN0cm95KCl7Y29uc3QgYz1uZXcgTWFwO3RoaXMuaGFzU3RhcnRlZCgpJiZ0aGlzLl9maW5hbEtleWZyYW1lLmZvckVhY2goKGQsZik9Pnsib2Zmc2V0IiE9PWYmJmMuc2V0KGYsdGhpcy5fZmluaXNoZWQ/ZDp0OCh0aGlzLmVsZW1lbnQsZikp''@;'; put 'put ''fSksdGhpcy5jdXJyZW50U25hcHNob3Q9Y310cmlnZ2VyQ2FsbGJhY2soYyl7Y29uc3QgYT0ic3RhcnQiPT09Yz90aGlzLl9vblN0YXJ0Rm5zOnRoaXMuX29uRG9uZUZuczthLmZvckVhY2goZD0+ZCgpKSxhLmxlbmd0aD0wfX1jbGFzcyBGWHt2YWxpZGF0ZVN0eWxlUHJvcGVydHkoYyl7cmV0''@;'; put 'put ''dXJuITB9dmFsaWRhdGVBbmltYXRhYmxlU3R5bGVQcm9wZXJ0eShjKXtyZXR1cm4hMH1tYXRjaGVzRWxlbWVudChjLGEpe3JldHVybiExfWNvbnRhaW5zRWxlbWVudChjLGEpe3JldHVybiBXeChjLGEpfWdldFBhcmVudEVsZW1lbnQoYyl7cmV0dXJuIGwyKGMpfXF1ZXJ5KGMsYSxkKXtyZXR1''@;'; put 'put ''cm4gcXgoYyxhLGQpfWNvbXB1dGVTdHlsZShjLGEsZCl7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGMpW2FdfWFuaW1hdGUoYyxhLGQsZix2LHg9W10pe2NvbnN0IEs9e2R1cmF0aW9uOmQsZGVsYXk6ZixmaWxsOjA9PWY/ImJvdGgiOiJmb3J3YXJkcyJ9O3YmJihLLmVhc2luZz12''@;'; put 'put ''KTtjb25zdCBlZT1uZXcgTWFwLGZlPXguZmlsdGVyKEllPT5JZSBpbnN0YW5jZW9mIG04KTsoZnVuY3Rpb24geksobCxjKXtyZXR1cm4gMD09PWx8fDA9PT1jfSkoZCxmKSYmZmUuZm9yRWFjaChJZT0+e0llLmN1cnJlbnRTbmFwc2hvdC5mb3JFYWNoKChxZSxzdCk9PmVlLnNldChzdCxxZSkp''@;'; put 'put ''fSk7bGV0IHllPWZ1bmN0aW9uIEZLKGwpe3JldHVybiBsLmxlbmd0aD9sWzBdaW5zdGFuY2VvZiBNYXA/bDpsLm1hcChjPT5LeChjKSk6W119KGEpLm1hcChJZT0+YmwoSWUpKTt5ZT1mdW5jdGlvbiBCSyhsLGMsYSl7aWYoYS5zaXplJiZjLmxlbmd0aCl7bGV0IGQ9Y1swXSxmPVtdO2lmKGEu''@;'; put 'put ''Zm9yRWFjaCgodix4KT0+e2QuaGFzKHgpfHxmLnB1c2goeCksZC5zZXQoeCx2KX0pLGYubGVuZ3RoKWZvcihsZXQgdj0xO3Y8Yy5sZW5ndGg7disrKXtsZXQgeD1jW3ZdO2YuZm9yRWFjaChIPT54LnNldChILHQ4KGwsSCkpKX19cmV0dXJuIGN9KGMseWUsZWUpO2NvbnN0IGplPWZ1bmN0aW9u''@;'; put 'put ''IFRYKGwsYyl7bGV0IGE9bnVsbCxkPW51bGw7cmV0dXJuIEFycmF5LmlzQXJyYXkoYykmJmMubGVuZ3RoPyhhPVMyKGNbMF0pLGMubGVuZ3RoPjEmJihkPVMyKGNbYy5sZW5ndGgtMV0pKSk6YyBpbnN0YW5jZW9mIE1hcCYmKGE9UzIoYykpLGF8fGQ/bmV3IExYKGwsYSxkKTpudWxsfShjLHll''@;'; put 'put ''KTtyZXR1cm4gbmV3IG04KGMseWUsSyxqZSl9fWxldCBSWD0oKCk9PntjbGFzcyBsIGV4dGVuZHMgVU97Y29uc3RydWN0b3IoYSxkKXtzdXBlcigpLHRoaXMuX25leHRBbmltYXRpb25JZD0wLHRoaXMuX3JlbmRlcmVyPWEuY3JlYXRlUmVuZGVyZXIoZC5ib2R5LHtpZDoiMCIsZW5jYXBzdWxh''@;'; put 'put ''dGlvbjpjby5Ob25lLHN0eWxlczpbXSxkYXRhOnthbmltYXRpb246W119fSl9YnVpbGQoYSl7Y29uc3QgZD10aGlzLl9uZXh0QW5pbWF0aW9uSWQudG9TdHJpbmcoKTt0aGlzLl9uZXh0QW5pbWF0aW9uSWQrKztjb25zdCBmPUFycmF5LmlzQXJyYXkoYSk/V08oYSk6YTtyZXR1cm4gYjgodGhp''@;'; put 'put ''cy5fcmVuZGVyZXIsbnVsbCxkLCJyZWdpc3RlciIsW2ZdKSxuZXcgTlgoZCx0aGlzLl9yZW5kZXJlcil9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFZjKSxFdChScikpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3''@;'; put 'put ''NWZhY30pLGx9KSgpO2NsYXNzIE5YIGV4dGVuZHMgY2xhc3MgSnp7fXtjb25zdHJ1Y3RvcihjLGEpe3N1cGVyKCksdGhpcy5faWQ9Yyx0aGlzLl9yZW5kZXJlcj1hfWNyZWF0ZShjLGEpe3JldHVybiBuZXcgWVgodGhpcy5faWQsYyxhfHx7fSx0aGlzLl9yZW5kZXJlcil9fWNsYXNzIFlYe2Nv''@;'; put 'put ''bnN0cnVjdG9yKGMsYSxkLGYpe3RoaXMuaWQ9Yyx0aGlzLmVsZW1lbnQ9YSx0aGlzLl9yZW5kZXJlcj1mLHRoaXMucGFyZW50UGxheWVyPW51bGwsdGhpcy5fc3RhcnRlZD0hMSx0aGlzLnRvdGFsVGltZT0wLHRoaXMuX2NvbW1hbmQoImNyZWF0ZSIsZCl9X2xpc3RlbihjLGEpe3JldHVybiB0''@;'; put 'put ''aGlzLl9yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50LGBAQCR7dGhpcy5pZH06JHtjfWAsYSl9X2NvbW1hbmQoYywuLi5hKXtyZXR1cm4gYjgodGhpcy5fcmVuZGVyZXIsdGhpcy5lbGVtZW50LHRoaXMuaWQsYyxhKX1vbkRvbmUoYyl7dGhpcy5fbGlzdGVuKCJkb25lIixjKX1vblN0YXJ0''@;'; put 'put ''KGMpe3RoaXMuX2xpc3Rlbigic3RhcnQiLGMpfW9uRGVzdHJveShjKXt0aGlzLl9saXN0ZW4oImRlc3Ryb3kiLGMpfWluaXQoKXt0aGlzLl9jb21tYW5kKCJpbml0Iil9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfXBsYXkoKXt0aGlzLl9jb21tYW5kKCJwbGF5IiksdGhpcy5f''@;'; put 'put ''c3RhcnRlZD0hMH1wYXVzZSgpe3RoaXMuX2NvbW1hbmQoInBhdXNlIil9cmVzdGFydCgpe3RoaXMuX2NvbW1hbmQoInJlc3RhcnQiKX1maW5pc2goKXt0aGlzLl9jb21tYW5kKCJmaW5pc2giKX1kZXN0cm95KCl7dGhpcy5fY29tbWFuZCgiZGVzdHJveSIpfXJlc2V0KCl7dGhpcy5fY29tbWFu''@;'; put 'put ''ZCgicmVzZXQiKSx0aGlzLl9zdGFydGVkPSExfXNldFBvc2l0aW9uKGMpe3RoaXMuX2NvbW1hbmQoInNldFBvc2l0aW9uIixjKX1nZXRQb3NpdGlvbigpe3ZhciBjLGE7cmV0dXJuIG51bGwhPT0oYT1udWxsPT09KGM9dGhpcy5fcmVuZGVyZXIuZW5naW5lLnBsYXllcnNbK3RoaXMuaWRdKXx8''@;'; put 'put ''dm9pZCAwPT09Yz92b2lkIDA6Yy5nZXRQb3NpdGlvbigpKSYmdm9pZCAwIT09YT9hOjB9fWZ1bmN0aW9uIGI4KGwsYyxhLGQsZil7cmV0dXJuIGwuc2V0UHJvcGVydHkoYyxgQEAke2F9OiR7ZH1gLGYpfWNvbnN0IHY4PSJALmRpc2FibGVkIjtsZXQgelg9KCgpPT57Y2xhc3MgbHtjb25zdHJ1''@;'; put 'put ''Y3RvcihhLGQsZil7dGhpcy5kZWxlZ2F0ZT1hLHRoaXMuZW5naW5lPWQsdGhpcy5fem9uZT1mLHRoaXMuX2N1cnJlbnRJZD0wLHRoaXMuX21pY3JvdGFza0lkPTEsdGhpcy5fYW5pbWF0aW9uQ2FsbGJhY2tzQnVmZmVyPVtdLHRoaXMuX3JlbmRlcmVyQ2FjaGU9bmV3IE1hcCx0aGlzLl9jZFJl''@;'; put 'put ''Y3VyRGVwdGg9MCx0aGlzLnByb21pc2U9UHJvbWlzZS5yZXNvbHZlKDApLGQub25SZW1vdmFsQ29tcGxldGU9KHYseCk9Pntjb25zdCBIPW51bGw9PXg/dm9pZCAwOngucGFyZW50Tm9kZSh2KTtIJiZ4LnJlbW92ZUNoaWxkKEgsdil9fWNyZWF0ZVJlbmRlcmVyKGEsZCl7Y29uc3Qgdj10aGlz''@;'; put 'put ''LmRlbGVnYXRlLmNyZWF0ZVJlbmRlcmVyKGEsZCk7aWYoIShhJiZkJiZkLmRhdGEmJmQuZGF0YS5hbmltYXRpb24pKXtsZXQgZmU9dGhpcy5fcmVuZGVyZXJDYWNoZS5nZXQodik7cmV0dXJuIGZlfHwoZmU9bmV3IF84KCIiLHYsdGhpcy5lbmdpbmUpLHRoaXMuX3JlbmRlcmVyQ2FjaGUuc2V0''@;'; put 'put ''KHYsZmUpKSxmZX1jb25zdCB4PWQuaWQsSD1kLmlkKyItIit0aGlzLl9jdXJyZW50SWQ7dGhpcy5fY3VycmVudElkKyssdGhpcy5lbmdpbmUucmVnaXN0ZXIoSCxhKTtjb25zdCBLPWZlPT57QXJyYXkuaXNBcnJheShmZSk/ZmUuZm9yRWFjaChLKTp0aGlzLmVuZ2luZS5yZWdpc3RlclRyaWdn''@;'; put 'put ''ZXIoeCxILGEsZmUubmFtZSxmZSl9O3JldHVybiBkLmRhdGEuYW5pbWF0aW9uLmZvckVhY2goSyksbmV3IEJYKHRoaXMsSCx2LHRoaXMuZW5naW5lKX1iZWdpbigpe3RoaXMuX2NkUmVjdXJEZXB0aCsrLHRoaXMuZGVsZWdhdGUuYmVnaW4mJnRoaXMuZGVsZWdhdGUuYmVnaW4oKX1fc2NoZWR1''@;'; put 'put ''bGVDb3VudFRhc2soKXt0aGlzLnByb21pc2UudGhlbigoKT0+e3RoaXMuX21pY3JvdGFza0lkKyt9KX1zY2hlZHVsZUxpc3RlbmVyQ2FsbGJhY2soYSxkLGYpe2E+PTAmJmE8dGhpcy5fbWljcm90YXNrSWQ/dGhpcy5fem9uZS5ydW4oKCk9PmQoZikpOigwPT10aGlzLl9hbmltYXRpb25DYWxs''@;'; put 'put ''YmFja3NCdWZmZXIubGVuZ3RoJiZQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKT0+e3RoaXMuX3pvbmUucnVuKCgpPT57dGhpcy5fYW5pbWF0aW9uQ2FsbGJhY2tzQnVmZmVyLmZvckVhY2godj0+e2NvbnN0W3gsSF09djt4KEgpfSksdGhpcy5fYW5pbWF0aW9uQ2FsbGJhY2tzQnVmZmVy''@;'; put 'put ''PVtdfSl9KSx0aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXIucHVzaChbZCxmXSkpfWVuZCgpe3RoaXMuX2NkUmVjdXJEZXB0aC0tLDA9PXRoaXMuX2NkUmVjdXJEZXB0aCYmdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKT0+e3RoaXMuX3NjaGVkdWxlQ291bnRUYXNrKCksdGhp''@;'; put 'put ''cy5lbmdpbmUuZmx1c2godGhpcy5fbWljcm90YXNrSWQpfSksdGhpcy5kZWxlZ2F0ZS5lbmQmJnRoaXMuZGVsZWdhdGUuZW5kKCl9d2hlblJlbmRlcmluZ0RvbmUoKXtyZXR1cm4gdGhpcy5lbmdpbmUud2hlblJlbmRlcmluZ0RvbmUoKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEp''@;'; put 'put ''e3JldHVybiBuZXcoYXx8bCkoRXQoVmMpLEV0KEswKSxFdChucikpfSxsLlx1MDI3NXByb3Y9eHQoe3Rva2VuOmwsZmFjdG9yeTpsLlx1MDI3NWZhY30pLGx9KSgpO2NsYXNzIF84e2NvbnN0cnVjdG9yKGMsYSxkKXt0aGlzLm5hbWVzcGFjZUlkPWMsdGhpcy5kZWxlZ2F0ZT1hLHRoaXMuZW5n''@;'; put 'put ''aW5lPWQsdGhpcy5kZXN0cm95Tm9kZT10aGlzLmRlbGVnYXRlLmRlc3Ryb3lOb2RlP2Y9PmEuZGVzdHJveU5vZGUoZik6bnVsbH1nZXQgZGF0YSgpe3JldHVybiB0aGlzLmRlbGVnYXRlLmRhdGF9ZGVzdHJveSgpe3RoaXMuZW5naW5lLmRlc3Ryb3kodGhpcy5uYW1lc3BhY2VJZCx0aGlzLmRl''@;'; put 'put ''bGVnYXRlKSx0aGlzLmRlbGVnYXRlLmRlc3Ryb3koKX1jcmVhdGVFbGVtZW50KGMsYSl7cmV0dXJuIHRoaXMuZGVsZWdhdGUuY3JlYXRlRWxlbWVudChjLGEpfWNyZWF0ZUNvbW1lbnQoYyl7cmV0dXJuIHRoaXMuZGVsZWdhdGUuY3JlYXRlQ29tbWVudChjKX1jcmVhdGVUZXh0KGMpe3JldHVy''@;'; put 'put ''biB0aGlzLmRlbGVnYXRlLmNyZWF0ZVRleHQoYyl9YXBwZW5kQ2hpbGQoYyxhKXt0aGlzLmRlbGVnYXRlLmFwcGVuZENoaWxkKGMsYSksdGhpcy5lbmdpbmUub25JbnNlcnQodGhpcy5uYW1lc3BhY2VJZCxhLGMsITEpfWluc2VydEJlZm9yZShjLGEsZCxmPSEwKXt0aGlzLmRlbGVnYXRlLmlu''@;'; put 'put ''c2VydEJlZm9yZShjLGEsZCksdGhpcy5lbmdpbmUub25JbnNlcnQodGhpcy5uYW1lc3BhY2VJZCxhLGMsZil9cmVtb3ZlQ2hpbGQoYyxhLGQpe3RoaXMuZW5naW5lLm9uUmVtb3ZlKHRoaXMubmFtZXNwYWNlSWQsYSx0aGlzLmRlbGVnYXRlLGQpfXNlbGVjdFJvb3RFbGVtZW50KGMsYSl7cmV0''@;'; put 'put ''dXJuIHRoaXMuZGVsZWdhdGUuc2VsZWN0Um9vdEVsZW1lbnQoYyxhKX1wYXJlbnROb2RlKGMpe3JldHVybiB0aGlzLmRlbGVnYXRlLnBhcmVudE5vZGUoYyl9bmV4dFNpYmxpbmcoYyl7cmV0dXJuIHRoaXMuZGVsZWdhdGUubmV4dFNpYmxpbmcoYyl9c2V0QXR0cmlidXRlKGMsYSxkLGYpe3Ro''@;'; put 'put ''aXMuZGVsZWdhdGUuc2V0QXR0cmlidXRlKGMsYSxkLGYpfXJlbW92ZUF0dHJpYnV0ZShjLGEsZCl7dGhpcy5kZWxlZ2F0ZS5yZW1vdmVBdHRyaWJ1dGUoYyxhLGQpfWFkZENsYXNzKGMsYSl7dGhpcy5kZWxlZ2F0ZS5hZGRDbGFzcyhjLGEpfXJlbW92ZUNsYXNzKGMsYSl7dGhpcy5kZWxlZ2F0''@;'; put 'put ''ZS5yZW1vdmVDbGFzcyhjLGEpfXNldFN0eWxlKGMsYSxkLGYpe3RoaXMuZGVsZWdhdGUuc2V0U3R5bGUoYyxhLGQsZil9cmVtb3ZlU3R5bGUoYyxhLGQpe3RoaXMuZGVsZWdhdGUucmVtb3ZlU3R5bGUoYyxhLGQpfXNldFByb3BlcnR5KGMsYSxkKXsiQCI9PWEuY2hhckF0KDApJiZhPT12OD90''@;'; put 'put ''aGlzLmRpc2FibGVBbmltYXRpb25zKGMsISFkKTp0aGlzLmRlbGVnYXRlLnNldFByb3BlcnR5KGMsYSxkKX1zZXRWYWx1ZShjLGEpe3RoaXMuZGVsZWdhdGUuc2V0VmFsdWUoYyxhKX1saXN0ZW4oYyxhLGQpe3JldHVybiB0aGlzLmRlbGVnYXRlLmxpc3RlbihjLGEsZCl9ZGlzYWJsZUFuaW1h''@;'; put 'put ''dGlvbnMoYyxhKXt0aGlzLmVuZ2luZS5kaXNhYmxlQW5pbWF0aW9ucyhjLGEpfX1jbGFzcyBCWCBleHRlbmRzIF84e2NvbnN0cnVjdG9yKGMsYSxkLGYpe3N1cGVyKGEsZCxmKSx0aGlzLmZhY3Rvcnk9Yyx0aGlzLm5hbWVzcGFjZUlkPWF9c2V0UHJvcGVydHkoYyxhLGQpeyJAIj09YS5jaGFy''@;'; put 'put ''QXQoMCk/Ii4iPT1hLmNoYXJBdCgxKSYmYT09djg/dGhpcy5kaXNhYmxlQW5pbWF0aW9ucyhjLGQ9dm9pZCAwPT09ZHx8ISFkKTp0aGlzLmVuZ2luZS5wcm9jZXNzKHRoaXMubmFtZXNwYWNlSWQsYyxhLnNsaWNlKDEpLGQpOnRoaXMuZGVsZWdhdGUuc2V0UHJvcGVydHkoYyxhLGQpfWxpc3Rl''@;'; put 'put ''bihjLGEsZCl7aWYoIkAiPT1hLmNoYXJBdCgwKSl7Y29uc3QgZj1mdW5jdGlvbiBIWChsKXtzd2l0Y2gobCl7Y2FzZSJib2R5IjpyZXR1cm4gZG9jdW1lbnQuYm9keTtjYXNlImRvY3VtZW50IjpyZXR1cm4gZG9jdW1lbnQ7Y2FzZSJ3aW5kb3ciOnJldHVybiB3aW5kb3c7ZGVmYXVsdDpyZXR1''@;'; put 'put ''cm4gbH19KGMpO2xldCB2PWEuc2xpY2UoMSkseD0iIjtyZXR1cm4iQCIhPXYuY2hhckF0KDApJiYoW3YseF09ZnVuY3Rpb24gVlgobCl7Y29uc3QgYz1sLmluZGV4T2YoIi4iKTtyZXR1cm5bbC5zdWJzdHJpbmcoMCxjKSxsLnNsaWNlKGMrMSldfSh2KSksdGhpcy5lbmdpbmUubGlzdGVuKHRo''@;'; put 'put ''aXMubmFtZXNwYWNlSWQsZix2LHgsSD0+e3RoaXMuZmFjdG9yeS5zY2hlZHVsZUxpc3RlbmVyQ2FsbGJhY2soSC5fZGF0YXx8LTEsZCxIKX0pfXJldHVybiB0aGlzLmRlbGVnYXRlLmxpc3RlbihjLGEsZCl9fWxldCBVWD0oKCk9PntjbGFzcyBsIGV4dGVuZHMgSzB7Y29uc3RydWN0b3IoYSxk''@;'; put 'put ''LGYsdil7c3VwZXIoYS5ib2R5LGQsZil9bmdPbkRlc3Ryb3koKXt0aGlzLmZsdXNoKCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKEV0KFJyKSxFdChjMiksRXQoeTIpLEV0KHJoKSl9LGwuXHUwMjc1cHJvdj14dCh7dG9rZW46bCxmYWN0b3J5Omwu''@;'; put 'put ''XHUwMjc1ZmFjfSksbH0pKCk7Y29uc3QgeTg9W3twcm92aWRlOlVPLHVzZUNsYXNzOlJYfSx7cHJvdmlkZTp5Mix1c2VGYWN0b3J5OmZ1bmN0aW9uIFdYKCl7cmV0dXJuIG5ldyB1WH19LHtwcm92aWRlOkswLHVzZUNsYXNzOlVYfSx7cHJvdmlkZTpWYyx1c2VGYWN0b3J5OmZ1bmN0aW9uIHFY''@;'; put 'put ''KGwsYyxhKXtyZXR1cm4gbmV3IHpYKGwsYyxhKX0sZGVwczpbdWcsSzAsbnJdfV0sTzI9W3twcm92aWRlOmMyLHVzZUZhY3Rvcnk6KCk9Pm5ldyBGWH0se3Byb3ZpZGU6TzMsdXNlVmFsdWU6IkJyb3dzZXJBbmltYXRpb25zIn0sLi4ueThdLHc4PVt7cHJvdmlkZTpjMix1c2VDbGFzczpHeH0s''@;'; put 'put ''e3Byb3ZpZGU6TzMsdXNlVmFsdWU6Ik5vb3BBbmltYXRpb25zIn0sLi4ueThdO2xldCBNOD0oKCk9PntjbGFzcyBse3N0YXRpYyB3aXRoQ29uZmlnKGEpe3JldHVybntuZ01vZHVsZTpsLHByb3ZpZGVyczphLmRpc2FibGVBbmltYXRpb25zP3c4Ok8yfX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1''@;'; put 'put ''bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7cHJvdmlkZXJzOk8yLGltcG9ydHM6W2ZfXX0pLGx9KSgpO2Z1bmN0aW9uIEdYKGwsYyl7MSZsJiYoemUoMCwicCIsNiksRnQoMSwiTm8gcmVxdWVzdHMgbWFkZSIpLFll''@;'; put 'put ''KCkpfWZ1bmN0aW9uIFpYKGwsYyl7MSZsJiYoemUoMCwic3BhbiIpLFd0KDEsImNsci1pY29uIiwxMyksWWUoKSl9ZnVuY3Rpb24gSlgobCxjKXsxJmwmJih6ZSgwLCJzcGFuIiksV3QoMSwiY2xyLWljb24iLDE0KSxZZSgpKX1mdW5jdGlvbiBLWChsLGMpe2lmKDEmbCl7Y29uc3QgYT1Sbigp''@;'; put 'put ''O3plKDAsImNsci10cmVlLW5vZGUiLDIxKSxPdCgiY2xpY2siLGZ1bmN0aW9uKCl7Y29uc3Qgdj1jbihhKS4kaW1wbGljaXQseD1odCgzKS5pbmRleDtyZXR1cm4gdW4oaHQoMikuZ29Ub0xvZ0xpbmUodiwicmVxdWVzdF8iK3gsImVycm9yIikpfSksemUoMSwiYnV0dG9uIiwyMiksRnQoMiks''@;'; put 'put ''WWUoKSgpfWlmKDImbCl7Y29uc3QgYT1jLiRpbXBsaWNpdDtUZSgyKSxHcigiICIsYSwiICIpfX1jb25zdCBDOD1mdW5jdGlvbigpe3JldHVybltdfTtmdW5jdGlvbiBYWChsLGMpe2lmKDEmbCYmKHplKDAsImNsci10cmVlLW5vZGUiLDE4KSxXdCgxLCJjbHItaWNvbiIsMTkpLEZ0KDIpLGN0''@;'; put 'put ''KDMsS1gsMywxLCJjbHItdHJlZS1ub2RlIiwyMCksWWUoKSksMiZsKXtjb25zdCBhPWh0KDIpLiRpbXBsaWNpdDtUZSgyKSxHcigiIEVycm9ycyAoIixhLmxvZ0Vycm9ycy5sZW5ndGgsIikgIiksVGUoMSksQmUoIm5nRm9yT2YiLGEubG9nRXJyb3JzfHxZcCgyLEM4KSl9fWZ1bmN0aW9uIFFY''@;'; put 'put ''KGwsYyl7aWYoMSZsKXtjb25zdCBhPVJuKCk7emUoMCwiY2xyLXRyZWUtbm9kZSIsMjEpLE90KCJjbGljayIsZnVuY3Rpb24oKXtjb25zdCB2PWNuKGEpLiRpbXBsaWNpdCx4PWh0KDMpLmluZGV4O3JldHVybiB1bihodCgyKS5nb1RvTG9nTGluZSh2LCJyZXF1ZXN0XyIreCwid2FybmluZyIp''@;'; put 'put ''KX0pLHplKDEsImJ1dHRvbiIsMjIpLEZ0KDIpLFllKCkoKX1pZigyJmwpe2NvbnN0IGE9Yy4kaW1wbGljaXQ7VGUoMiksR3IoIiAiLGEsIiAiKX19ZnVuY3Rpb24gJFgobCxjKXtpZigxJmwmJih6ZSgwLCJjbHItdHJlZS1ub2RlIiwxOCksV3QoMSwiY2xyLWljb24iLDIzKSxGdCgyKSxjdCgz''@;'; put 'put ''LFFYLDMsMSwiY2xyLXRyZWUtbm9kZSIsMjApLFllKCkpLDImbCl7Y29uc3QgYT1odCgyKS4kaW1wbGljaXQ7VGUoMiksR3IoIiBXYXJuaW5ncyAoIixhLmxvZ1dhcm5pbmdzLmxlbmd0aCwiKSAiKSxUZSgxKSxCZSgibmdGb3JPZiIsYS5sb2dXYXJuaW5nc3x8WXAoMixDOCkpfX1mdW5jdGlv''@;'; put 'put ''biBlUShsLGMpe2lmKDEmbCl7Y29uc3QgYT1SbigpO3plKDAsImJ1dHRvbiIsMjQpLE90KCJjbGljayIsZnVuY3Rpb24oKXtjbihhKTtjb25zdCBmPWh0KDIpLiRpbXBsaWNpdDtyZXR1cm4gdW4oaHQoMikuZG93bmxvYWRMb2coZi5sb2dGaWxlKSl9KSxGdCgxLCIgRG93bmxvYWQgIiksWWUo''@;'; put 'put ''KX19ZnVuY3Rpb24gdFEobCxjKXtpZigxJmwmJih6ZSgwLCJjbHItdGFiLWNvbnRlbnQiKSgxLCJjbHItdHJlZSIpLGN0KDIsWFgsNCwzLCJjbHItdHJlZS1ub2RlIiwxNSksY3QoMywkWCw0LDMsImNsci10cmVlLW5vZGUiLDE1KSxZZSgpLFd0KDQsImRpdiIsMTYpLGN0KDUsZVEsMiwwLCJi''@;'; put 'put ''dXR0b24iLDE3KSxZZSgpKSwyJmwpe2NvbnN0IGE9aHQoKS4kaW1wbGljaXQ7VGUoMiksQmUoIm5nSWYiLGEubG9nRXJyb3JzKSxUZSgxKSxCZSgibmdJZiIsYS5sb2dXYXJuaW5ncyksVGUoMSksQmUoImlubmVySFRNTCIsYS5sb2dGaWxlLHh3KSxUZSgxKSxCZSgibmdJZiIsKG51bGw9PWEu''@;'; put 'put ''bG9nRmlsZT9udWxsOmEubG9nRmlsZS5sZW5ndGgpPjApfX1mdW5jdGlvbiBuUShsLGMpe2lmKDEmbCl7Y29uc3QgYT1SbigpO3plKDAsImJ1dHRvbiIsMjQpLE90KCJjbGljayIsZnVuY3Rpb24oKXtjbihhKTtjb25zdCBmPWh0KDIpLiRpbXBsaWNpdDtyZXR1cm4gdW4oaHQoMikuZG93bmxv''@;'; put 'put ''YWRTb3VyY2VDb2RlKGYuc291cmNlQ29kZSkpfSksRnQoMSwiIERvd25sb2FkICIpLFllKCl9fWZ1bmN0aW9uIHJRKGwsYyl7aWYoMSZsJiYoemUoMCwiY2xyLXRhYi1jb250ZW50IikoMSwiZGl2IiwyNSksRnQoMiksWWUoKSxjdCgzLG5RLDIsMCwiYnV0dG9uIiwxNyksWWUoKSksMiZsKXtj''@;'; put 'put ''b25zdCBhPWh0KCkuJGltcGxpY2l0O1RlKDIpLExuKGEuc291cmNlQ29kZSksVGUoMSksQmUoIm5nSWYiLChudWxsPT1hLnNvdXJjZUNvZGU/bnVsbDphLnNvdXJjZUNvZGUubGVuZ3RoKT4wKX19ZnVuY3Rpb24gaVEobCxjKXtpZigxJmwpe2NvbnN0IGE9Um4oKTt6ZSgwLCJidXR0b24iLDI0''@;'; put 'put ''KSxPdCgiY2xpY2siLGZ1bmN0aW9uKCl7Y24oYSk7Y29uc3QgZj1odCgyKS4kaW1wbGljaXQ7cmV0dXJuIHVuKGh0KDIpLmRvd25sb2FkR2VuZXJhdGVkQ29kZShmLmdlbmVyYXRlZENvZGUpKX0pLEZ0KDEsIiBEb3dubG9hZCAiKSxZZSgpfX1mdW5jdGlvbiBvUShsLGMpe2lmKDEmbCYmKHpl''@;'; put 'put ''KDAsImNsci10YWItY29udGVudCIpKDEsImRpdiIsMjUpLEZ0KDIpLFllKCksY3QoMyxpUSwyLDAsImJ1dHRvbiIsMTcpLFllKCkpLDImbCl7Y29uc3QgYT1odCgpLiRpbXBsaWNpdDtUZSgyKSxHcigiICIsYS5nZW5lcmF0ZWRDb2RlLCIgIiksVGUoMSksQmUoIm5nSWYiLChudWxsPT1hLmdl''@;'; put 'put ''bmVyYXRlZENvZGU/bnVsbDphLmdlbmVyYXRlZENvZGUubGVuZ3RoKT4wKX19ZnVuY3Rpb24gc1EobCxjKXtpZigxJmwpe2NvbnN0IGE9Um4oKTt6ZSgwLCJjbHItc3RhY2stYmxvY2siLDgpKDEsImNsci1zdGFjay1sYWJlbCIpLEZ0KDIpLHplKDMsInNwYW4iLDkpLGN0KDQsWlgsMiwwLCJz''@;'; put 'put ''cGFuIiw1KSxjdCg1LEpYLDIsMCwic3BhbiIsNSksWWUoKSgpLHplKDYsImNsci1zdGFjay1jb250ZW50IiksRnQoNyksWWUoKSx6ZSg4LCJjbHItc3RhY2stYmxvY2siLDEwKSg5LCJjbHItc3RhY2stY29udGVudCIpKDEwLCJjbHItdGFicyIpKDExLCJjbHItdGFiIikoMTIsImJ1dHRvbiIs''@;'; put 'put ''MTEpLEZ0KDEzLCJTQVMgTG9nIiksWWUoKSxjdCgxNCx0USw2LDQsIm5nLXRlbXBsYXRlIiwxMiksT3QoImNscklmQWN0aXZlQ2hhbmdlIixmdW5jdGlvbihmKXtyZXR1cm4gY24oYSksdW4oaHQoMikuc2FzTG9nQWN0aXZlPWYpfSksWWUoKSx6ZSgxNSwiY2xyLXRhYiIpKDE2LCJidXR0b24i''@;'; put 'put ''LDExKSxGdCgxNywiU0FTIFNvdXJjZSBDb2RlIiksWWUoKSxjdCgxOCxyUSw0LDIsIm5nLXRlbXBsYXRlIiwxMiksT3QoImNscklmQWN0aXZlQ2hhbmdlIixmdW5jdGlvbihmKXtyZXR1cm4gY24oYSksdW4oaHQoMikuc2FzU291cmNlQ29kZUFjdGl2ZT1mKX0pLFllKCksemUoMTksImNsci10''@;'; put 'put ''YWIiKSgyMCwiYnV0dG9uIiwxMSksRnQoMjEsIlNBUyBHZW5lcmF0ZWQgQ29kZSIpLFllKCksY3QoMjIsb1EsNCwyLCJuZy10ZW1wbGF0ZSIsMTIpLE90KCJjbHJJZkFjdGl2ZUNoYW5nZSIsZnVuY3Rpb24oZil7cmV0dXJuIGNuKGEpLHVuKGh0KDIpLnNhc0dlbmVyYXRlZENvZGVBY3RpdmU9''@;'; put 'put ''Zil9KSxZZSgpKCkoKSgpKCl9aWYoMiZsKXtjb25zdCBhPWMuJGltcGxpY2l0LGQ9Yy5pbmRleCxmPWh0KDIpO0JlKCJpZCIsInJlcXVlc3RfIitkKSgiY2xyU3RhY2tWaWV3TGV2ZWwiLDEpKCJjbHJTdGFja1ZpZXdTZXRzaXplIiwzKSgiY2xyU3RhY2tWaWV3UG9zaW5zZXQiLDMpLFRlKDIp''@;'; put 'put ''LEdyKCIgIixhLnNlcnZpY2VMaW5rLCIgIiksVGUoMiksQmUoIm5nSWYiLChudWxsPT1hLmxvZ1dhcm5pbmdzP251bGw6YS5sb2dXYXJuaW5ncy5sZW5ndGgpPjApLFRlKDEpLEJlKCJuZ0lmIiwobnVsbD09YS5sb2dFcnJvcnM/bnVsbDphLmxvZ0Vycm9ycy5sZW5ndGgpPjApLFRlKDIpLExu''@;'; put 'put ''KGEucGFyc2VkVGltZXN0YW1wKSxUZSg3KSxCZSgiY2xySWZBY3RpdmUiLGYuc2FzTG9nQWN0aXZlKSxUZSg0KSxCZSgiY2xySWZBY3RpdmUiLGYuc2FzU291cmNlQ29kZUFjdGl2ZSksVGUoNCksQmUoImNscklmQWN0aXZlIixmLnNhc0dlbmVyYXRlZENvZGVBY3RpdmUpfX1mdW5jdGlvbiBh''@;'; put 'put ''UShsLGMpe2lmKDEmbCYmKHplKDAsImNsci1zdGFjay12aWV3IiksY3QoMSxzUSwyMywxMSwiY2xyLXN0YWNrLWJsb2NrIiw3KSxZZSgpKSwyJmwpe2NvbnN0IGE9aHQoKTtUZSgxKSxCZSgibmdGb3JPZiIsYS5zYXNqc1JlcXVlc3RzKX19ZnVuY3Rpb24gbFEobCxjKXtpZigxJmwmJih6ZSgw''@;'; put 'put ''LCJhIiwxMCksRnQoMSksWWUoKSksMiZsKXtjb25zdCBhPWMuJGltcGxpY2l0O0JlKCJyb3V0ZXJMaW5rIixhLnJvdXRlckxpbmspLFRlKDEpLExuKGEubGFiZWwpfX1mdW5jdGlvbiBjUShsLGMpe2lmKDEmbCl7Y29uc3QgYT1SbigpO3plKDAsImRpdiIsMTYpLE90KCJjbGljayIsZnVuY3Rp''@;'; put 'put ''b24oKXtyZXR1cm4gdW4oY24oYSkuJGltcGxpY2l0LmNsaWNrQ2FsbGJhY2soKSl9KSxGdCgxKSxZZSgpfWlmKDImbCl7Y29uc3QgYT1jLiRpbXBsaWNpdDtUZSgxKSxHcigiICIsYS5sYWJlbCwiICIpfX1mdW5jdGlvbiB1UShsLGMpe2lmKDEmbCl7Y29uc3QgYT1SbigpO3plKDAsImNsci1k''@;'; put 'put ''cm9wZG93bi1tZW51IiwxMSkoMSwiY2xyLXRvZ2dsZS13cmFwcGVyIiwxMikoMiwiaW5wdXQiLDEzKSxPdCgibmdNb2RlbENoYW5nZSIsZnVuY3Rpb24oZil7cmV0dXJuIGNuKGEpLHVuKGh0KCkuc2FzanNDb25maWcuZGVidWc9Zil9KSgiY2hhbmdlIixmdW5jdGlvbigpe3JldHVybiBjbihh''@;'; put 'put ''KSx1bihodCgpLm9uRGVidWdDaGFuZ2UoKSl9KSxZZSgpLHplKDMsImxhYmVsIiksRnQoNCwiRGVidWciKSxZZSgpKCksV3QoNSwiZGl2IiwxNCksY3QoNixjUSwyLDEsImRpdiIsMTUpLFllKCl9aWYoMiZsKXtjb25zdCBhPWh0KCk7VGUoMiksQmUoIm5nTW9kZWwiLGEuc2FzanNDb25maWcu''@;'; put 'put ''ZGVidWcpLFRlKDQpLEJlKCJuZ0Zvck9mIixhLnVzZXJEcm9wZG93bkl0ZW1zKX19bGV0IGRRPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9zaG93PSExLHRoaXMuX3Nhc2pzUmVxdWVzdHM9W10sdGhpcy5zaG93Q2hhbmdlPW5ldyBIdCx0aGlzLm9uRG93bmxvYWRMb2c9bmV3''@;'; put 'put ''IEh0LHRoaXMub25Eb3dubG9hZFNvdXJjZUNvZGU9bmV3IEh0LHRoaXMub25Eb3dubG9hZEdlbmVyYXRlZENvZGU9bmV3IEh0LHRoaXMuc2FzTG9nQWN0aXZlPSEwLHRoaXMuc2FzU291cmNlQ29kZUFjdGl2ZT0hMSx0aGlzLnNhc0dlbmVyYXRlZENvZGVBY3RpdmU9ITEsdGhpcy50YWJsZXNB''@;'; put 'put ''Y3RpdmU9ITF9c2V0IHNob3coYSl7dGhpcy5fc2hvdz1hLHRoaXMuc2hvd0NoYW5nZS5lbWl0KGEpfXNldCBzYXNqc1JlcXVlc3RzKGEpe3RoaXMuX3Nhc2pzUmVxdWVzdHM9YSxhJiZ0aGlzLnNhc2pzUmVxZXN0c0NoYW5nZWQoKX1nZXQgc2hvdygpe3JldHVybiB0aGlzLl9zaG93fWdldCBz''@;'; put 'put ''YXNqc1JlcXVlc3RzKCl7cmV0dXJuIHRoaXMuX3Nhc2pzUmVxdWVzdHN9bmdPbkluaXQoKXt9cGFyc2VMb2dUaW1lc3RhbXAoYSl7cmV0dXJuYCR7dGhpcy5mb3JtYXRUaW1lc3RhbXAoYSl9ICR7dGhpcy50aW1lc3RhbXBGcm9tTm93KGEpfWB9Y3V0QXBwTG9jKGEpe3JldHVybiB0aGlzLnNh''@;'; put 'put ''c2pzQ29uZmlnP2EucmVwbGFjZSh0aGlzLnNhc2pzQ29uZmlnLmFwcExvYysiLyIsIiIpOmF9Zm9ybWF0VGltZXN0YW1wKGEpe3JldHVybiBaZyhhKS5mb3JtYXQoKT9aZyhhKS5mb3JtYXQoImRkZGQsIE1NTU0gRG8gWVlZWSwgaDptbTpzcyBhIik6YX10aW1lc3RhbXBGcm9tTm93KGEpe3Jl''@;'; put 'put ''dHVybiBaZyhhKS5mb3JtYXQoKT9gICgke1pnKGEpLmZyb21Ob3coKX0pYDoiIn1tb2RhbFNob3dDaGFuZ2UoYSl7dGhpcy5zaG93PWF9c2FzanNSZXFlc3RzQ2hhbmdlZCgpe2ZvcihsZXQgYSBvZiB0aGlzLnNhc2pzUmVxdWVzdHMpdGhpcy5wYXJzZUVycm9yc0FuZFdhcm5pbmdzKGEpLGEu''@;'; put 'put ''c2VydmljZUxpbms9dGhpcy5jdXRBcHBMb2MoYS5zZXJ2aWNlTGluayksYS5wYXJzZWRUaW1lc3RhbXA9dGhpcy5wYXJzZUxvZ1RpbWVzdGFtcChhLnRpbWVzdGFtcCl9Z29Ub0xvZ0xpbmUoYSxkLGYpe2xldCB2PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYCMke2R9IC5sb2ctd3JhcHBl''@;'; put 'put ''ci5zYXNsb2cgZm9udGApLHg9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7ZH0gLmxvZy13cmFwcGVyLnNhc2xvZ2ApO2ZvcihsZXQgSCBvZiB2KUgudGV4dENvbnRlbnQuaW5jbHVkZXMoYSkmJih4LnNjcm9sbFRvcD1ILm9mZnNldFRvcC14Lm9mZnNldFRvcCxILnN0eWxlLmJhY2tncm91''@;'; put 'put ''bmRDb2xvcj0iIzYxYTIyMDJiIixzZXRUaW1lb3V0KCgpPT57SC5zdHlsZT0iIn0sM2UzKSl9cGFyc2VFcnJvcnNBbmRXYXJuaW5ncyhhKXtyZXR1cm4geGUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2lmKCFhfHwhYS5sb2dGaWxlfHwic3RyaW5nIiE9dHlwZW9mIGEubG9nRmls''@;'; put 'put ''ZXx8dm9pZCAwIT09YS5sb2dFcnJvcnN8fHZvaWQgMCE9PWEubG9nV2FybmluZ3MpcmV0dXJuO2xldCBkPVtdLGY9W10sdj1hLmxvZ0ZpbGUuc3BsaXQoIlxuIik7Zm9yKGxldCB4PTA7eDx2Lmxlbmd0aDt4Kyspe2lmKC88Lio+RVJST1IvZ20udGVzdCh2W3hdKSl7bGV0IEg9dlt4XS5zdWJz''@;'; put 'put ''dHJpbmcodlt4XS5pbmRleE9mKCJFIiksdlt4XS5sZW5ndGgtMSk7ZC5wdXNoKEgpfWVsc2UvXkVSUk9SL2dtLnRlc3Qodlt4XSkmJihkLnB1c2godlt4XSksdlt4XT0iPGZvbnQ+Iit2W3hdKyI8L2ZvbnQ+Iik7aWYoLzwuKj5XQVJOSU5HL2dtLnRlc3Qodlt4XSkpe2xldCBIPXZbeF0uc3Vi''@;'; put 'put ''c3RyaW5nKHZbeF0uaW5kZXhPZigiVyIpLHZbeF0ubGVuZ3RoLTEpO2YucHVzaChIKX1lbHNlL15XQVJOSU5HL2dtLnRlc3Qodlt4XSkmJihmLnB1c2godlt4XSksdlt4XT0iPGZvbnQ+Iit2W3hdKyI8L2ZvbnQ+Iil9YS5sb2dGaWxlPXYuam9pbigiXG4iKSxhLmxvZ0Vycm9ycz1kLGEubG9n''@;'; put 'put ''V2FybmluZ3M9Zn0pfWRvd25sb2FkTG9nKGEpe3RoaXMub25Eb3dubG9hZExvZy5lbWl0KGEpfWRvd25sb2FkU291cmNlQ29kZShhKXt0aGlzLm9uRG93bmxvYWRTb3VyY2VDb2RlLmVtaXQoYSl9ZG93bmxvYWRHZW5lcmF0ZWRDb2RlKGEpe3RoaXMub25Eb3dubG9hZEdlbmVyYXRlZENvZGUu''@;'; put 'put ''ZW1pdChhKX19cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1Y21wPU50KHt0eXBlOmwsc2VsZWN0b3JzOltbInNhc2pzLWxvZ3MiXV0saW5wdXRzOntzaG93OiJzaG93IixzYXNqc1JlcXVlc3RzOiJzYXNqc1JlcXVlc3RzIixzYXNqc0Nv''@;'; put 'put ''bmZpZzoic2FzanNDb25maWcifSxvdXRwdXRzOntzaG93Q2hhbmdlOiJzaG93Q2hhbmdlIixvbkRvd25sb2FkTG9nOiJvbkRvd25sb2FkTG9nIixvbkRvd25sb2FkU291cmNlQ29kZToib25Eb3dubG9hZFNvdXJjZUNvZGUiLG9uRG93bmxvYWRHZW5lcmF0ZWRDb2RlOiJvbkRvd25sb2FkR2Vu''@;'; put 'put ''ZXJhdGVkQ29kZSJ9LGRlY2xzOjgsdmFyczo0LGNvbnN0czpbWyJjbHJNb2RhbFNpemUiLCJ4bCIsMSwicmVxdWVzdHMtbW9kYWwiLDMsImNsck1vZGFsT3BlbiIsImNsck1vZGFsT3BlbkNoYW5nZSJdLFsxLCJtb2RhbC10aXRsZSJdLFsyLCJtYXJnaW4tdG9wIiwiMCIsImRpc3BsYXkiLCJp''@;'; put 'put ''bmxpbmUtYmxvY2siXSxbMSwibW9kYWwtYm9keSIsMiwiaGVpZ2h0IiwiNzB2aCJdLFsiY2xhc3MiLCJuby1yZXFzIiw0LCJuZ0lmIl0sWzQsIm5nSWYiXSxbMSwibm8tcmVxcyJdLFszLCJpZCIsImNsclN0YWNrVmlld0xldmVsIiwiY2xyU3RhY2tWaWV3U2V0c2l6ZSIsImNsclN0YWNrVmll''@;'; put 'put ''d1Bvc2luc2V0Iiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMywiaWQiLCJjbHJTdGFja1ZpZXdMZXZlbCIsImNsclN0YWNrVmlld1NldHNpemUiLCJjbHJTdGFja1ZpZXdQb3NpbnNldCJdLFsyLCJtYXJnaW4tbGVmdCIsIjEwcHgiXSxbMSwiY29udGVudCJdLFsiY2xyVGFiTGluayIsIiJdLFsz''@;'; put 'put ''LCJjbHJJZkFjdGl2ZSIsImNscklmQWN0aXZlQ2hhbmdlIl0sWyJzaGFwZSIsImV4Y2xhbWF0aW9uLWNpcmNsZSIsMiwibWFyZ2luLWJvdHRvbSIsIjVweCIsImNvbG9yIiwiZ3JlZW4iXSxbInNoYXBlIiwiZXhjbGFtYXRpb24tdHJpYW5nbGUiLDIsIm1hcmdpbi1ib3R0b20iLCI1cHgiLCJj''@;'; put 'put ''b2xvciIsInJlZCJdLFsiY2xhc3MiLCJlcnItbGlua3MiLDQsIm5nSWYiXSxbMSwibG9nLXdyYXBwZXIiLCJzYXNsb2ciLDMsImlubmVySFRNTCJdLFsidHlwZSIsImJ1dHRvbiIsImNsYXNzIiwiYnRuIGJ0bi1saW5rIiwzLCJjbGljayIsNCwibmdJZiJdLFsxLCJlcnItbGlua3MiXSxbInNo''@;'; put 'put ''YXBlIiwiZXhjbGFtYXRpb24tdHJpYW5nbGUiLDIsImNvbG9yIiwicmVkIl0sWzMsImNsaWNrIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMywiY2xpY2siXSxbMSwiY2xyLXRyZWVub2RlLWxpbmsiXSxbInNoYXBlIiwiZXhjbGFtYXRpb24tY2lyY2xlIiwyLCJjb2xvciIsImdyZWVuIl0sWyJ0''@;'; put 'put ''eXBlIiwiYnV0dG9uIiwxLCJidG4iLCJidG4tbGluayIsMywiY2xpY2siXSxbMSwibG9nLXdyYXBwZXIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih6ZSgwLCJjbHItbW9kYWwiLDApLE90KCJjbHJNb2RhbE9wZW5DaGFuZ2UiLGZ1bmN0aW9uKHYpe3JldHVybiBkLm1vZGFsU2hv''@;'; put 'put ''d0NoYW5nZSh2KX0pLHplKDEsImgzIiwxKSxGdCgyLCIgUmVxdWVzdCBIaXN0b3J5ICIpLHplKDMsInAiLDIpLEZ0KDQpLFllKCkoKSx6ZSg1LCJkaXYiLDMpLGN0KDYsR1gsMiwwLCJwIiw0KSxjdCg3LGFRLDIsMSwiY2xyLXN0YWNrLXZpZXciLDUpLFllKCkoKSksMiZhJiYoQmUoImNsck1v''@;'; put 'put ''ZGFsT3BlbiIsZC5zaG93KSxUZSg0KSxHcigiIEFwcCBMb2NhdGlvbjogIixudWxsPT1kLnNhc2pzQ29uZmlnP251bGw6ZC5zYXNqc0NvbmZpZy5hcHBMb2MsIiAiKSxUZSgyKSxCZSgibmdJZiIsKG51bGw9PWQuc2FzanNSZXF1ZXN0cz9udWxsOmQuc2FzanNSZXF1ZXN0cy5sZW5ndGgpPDEp''@;'; put 'put ''LFRlKDEpLEJlKCJuZ0lmIixkLnNob3cmJihudWxsPT1kLnNhc2pzUmVxdWVzdHM/bnVsbDpkLnNhc2pzUmVxdWVzdHMubGVuZ3RoKT4wKSl9LGRlcGVuZGVuY2llczpbdm8sZXIscXUsZXgsTjEsJEQsb3gsQjEsejEsSnksVDAsTDAsZEQsRzEsSzEsTXgsSjEscTEsd3hdLHN0eWxlczpbIi5y''@;'; put 'put ''ZXF1ZXN0cy1tb2RhbCAubW9kYWwtaGVhZGVyIC5jbG9zZSBjbHItaWNvbntkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0gIC5yZXF1ZXN0cy1tb2RhbCAubW9kYWwtY29udGVudHtwYWRkaW5nOjIwcHggMTBweCA1cHh9ICAud29yay10YWJsZXMtZHJvcGRvd24gYnV0dG9ue2NvbG9yOnZhcigt''@;'; put 'put ''LWNsci1uYXYtbGluay1jb2xvciwgIzhjOGM4YykhaW1wb3J0YW50fSAgLnN0YWNrLXZpZXd7aGVpZ2h0OmF1dG8haW1wb3J0YW50O21hc2staW1hZ2U6bm9uZSFpbXBvcnRhbnQ7LXdlYmtpdC1tYXNrLWltYWdlOm5vbmUhaW1wb3J0YW50fSAgLmNvbnRlbnQgY2xyLWljb257bWFyZ2luLWJv''@;'; put 'put ''dHRvbTo1cHh9ICAuY29udGVudCBwcmV7d29yZC1icmVhazpicmVhay1hbGw7d2hpdGUtc3BhY2U6cHJlLXdyYXA7bWF4LWhlaWdodDppbml0aWFsO292ZXJmbG93OnZpc2libGU7Ym9yZGVyOjB9ICAuY29udGVudCAuc3RhY2stYmxvY2stbGFiZWx7d2lkdGg6MTAwJTtwYWRkaW5nLWxlZnQ6''@;'; put 'put ''LjZyZW0haW1wb3J0YW50fSAgLmNvbnRlbnQgLnN0YWNrLWJsb2NrLWxhYmVsIC5zdGFjay12aWV3LWtleXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSAgLmVyci1saW5rcyAuY2xyLXRyZWVub2RlLWNoaWxkcmVue21heC1oZWlnaHQ6NTVweDtvdmVyZmxvdzphdXRvfS5kcm9wZG93bi1pdGVt''@;'; put 'put ''LnNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOiNkOGUzZTl9LmxvZy13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttaW4taGVpZ2h0OjUwcHg7cGFkZGluZzoxMHB4O21hcmdpbi10b3A6MTBweDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtib3JkZXItcmFkaXVzOjNweDti''@;'; put 'put ''b3JkZXI6MXB4IHNvbGlkICNlMmUyZTI7YmFja2dyb3VuZC1jb2xvcjojZmJmYmZiO2hlaWdodDo0OHZoO292ZXJmbG93OmF1dG99Lm5vLXJlcXNbX25nY29udGVudC0lQ09NUCVde2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEwMTk2MDc4NDMpO3BhZGRpbmctdG9wOjVweDt0''@;'; put 'put ''ZXh0LWFsaWduOmNlbnRlcn0iXX0pLGx9KSgpLGhRPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLmxvZ2luTG9hZGluZz0hMSx0aGlzLmxvZ2luQnV0dG9uQ2xpY2tlZD1uZXcgSHQsdGhpcy51c2VybmFtZT0iIix0aGlzLnBhc3N3b3JkPSIifW5nT25Jbml0KCl7fWxvZ2luKCl7''@;'; put 'put ''dGhpcy5sb2dpbkJ1dHRvbkNsaWNrZWQuZW1pdCh7dXNlcm5hbWU6dGhpcy51c2VybmFtZSxwYXNzd29yZDp0aGlzLnBhc3N3b3JkfSl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpfSxsLlx1MDI3NWNtcD1OdCh7dHlwZTpsLHNlbGVjdG9yczpbWyJz''@;'; put 'put ''YXNqcy1sb2dpbi1tb2RhbCJdXSxpbnB1dHM6e2xvZ2luTG9hZGluZzoibG9naW5Mb2FkaW5nIn0sb3V0cHV0czp7bG9naW5CdXR0b25DbGlja2VkOiJsb2dpbkJ1dHRvbkNsaWNrZWQifSxkZWNsczo5LHZhcnM6NSxjb25zdHM6W1siY2xyTW9kYWxTaXplIiwic20iLDMsImNsck1vZGFsT3Bl''@;'; put 'put ''biIsImNsck1vZGFsQ2xvc2FibGUiXSxbMSwibW9kYWwtdGl0bGUiXSxbMSwibW9kYWwtYm9keSIsMiwibWluLWhlaWdodCIsIjgwcHgiLDMsImtleWRvd24uZW50ZXIiXSxbImNscklucHV0IiwiIiwibmFtZSIsInVzZXJuYW1lIiwicGxhY2Vob2xkZXIiLCJVc2VyIG5hbWUiLCJhdXRvY29t''@;'; put 'put ''cGxldGUiLCJ1c2VybmFtZSIsInJlcXVpcmVkIiwiIiwzLCJuZ01vZGVsIiwibmdNb2RlbENoYW5nZSJdLFsiY2xySW5wdXQiLCIiLCJ0eXBlIiwicGFzc3dvcmQiLCJwbGFjZWhvbGRlciIsIlBhc3N3b3JkIiwibmFtZSIsInBhc3N3b3JkIiwiYXV0b2NvbXBsZXRlIiwiY3VycmVudC1wYXNz''@;'; put 'put ''d29yZCIsInJlcXVpcmVkIiwiIiwzLCJuZ01vZGVsIiwibmdNb2RlbENoYW5nZSJdLFsxLCJtb2RhbC1mb290ZXIiXSxbInR5cGUiLCJidXR0b24iLDEsImJ0biIsImJ0bi1wcmltYXJ5IiwzLCJjbHJMb2FkaW5nIiwiY2xpY2siXV0sdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih6ZSgw''@;'; put 'put ''LCJjbHItbW9kYWwiLDApKDEsImgzIiwxKSxGdCgyLCJMb2cgSW4iKSxZZSgpLHplKDMsImRpdiIsMiksT3QoImtleWRvd24uZW50ZXIiLGZ1bmN0aW9uKCl7cmV0dXJuIGQubG9naW4oKX0pLHplKDQsImlucHV0IiwzKSxPdCgibmdNb2RlbENoYW5nZSIsZnVuY3Rpb24odil7cmV0dXJuIGQu''@;'; put 'put ''dXNlcm5hbWU9dn0pLFllKCksemUoNSwiaW5wdXQiLDQpLE90KCJuZ01vZGVsQ2hhbmdlIixmdW5jdGlvbih2KXtyZXR1cm4gZC5wYXNzd29yZD12fSksWWUoKSgpLHplKDYsImRpdiIsNSkoNywiYnV0dG9uIiw2KSxPdCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGQubG9naW4oKX0pLEZ0''@;'; put 'put ''KDgsIiBTaWduIEluICIpLFllKCkoKSgpKSwyJmEmJihCZSgiY2xyTW9kYWxPcGVuIiwhMCkoImNsck1vZGFsQ2xvc2FibGUiLCExKSxUZSg0KSxCZSgibmdNb2RlbCIsZC51c2VybmFtZSksVGUoMSksQmUoIm5nTW9kZWwiLGQucGFzc3dvcmQpLFRlKDIpLEJlKCJjbHJMb2FkaW5nIixkLmxv''@;'; put 'put ''Z2luTG9hZGluZykpfSxkZXBlbmRlbmNpZXM6W2thLFRvLEdnLF9vLFQwLEwwLEtQLGNELHpHXSxzdHlsZXM6WyIubW9kYWwtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29udHJvbC1jb250YWluZXJ7d2lkdGg6MTAwJX0ubW9kYWwtYm9keVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbHItY29udHJvbC1jb250YWluZXIgaW5wdXR7d2lkdGg6MTAwJX0iXX0pLGx9KSgpLGZRPSgoKT0+e2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLmxvZ289ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRlVBQUFCVkNBWUFBQUE0OWFoYUFB''@;'; put 'put ''QUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFGM21sVVdIUllUVXc2WTI5dExtRmtiMkpsTG5odGNBQUFBQUFBUEQ5NGNHRmphMlYwSUdKbFoybHVQU0x2dTc4aUlHbGtQU0pYTlUwd1RYQkRaV2hwU0hweVpWTjZUbFJqZW10ak9XUWlQejRnUEhnNmVHMXdiV1YwWVNCNGJXeHVjenA0UFNK''@;'; put 'put ''aFpHOWlaVHB1Y3pwdFpYUmhMeUlnZURwNGJYQjBhejBpUVdSdlltVWdXRTFRSUVOdmNtVWdOUzQyTFdNeE5EZ2dOemt1TVRZME1ETTJMQ0F5TURFNUx6QTRMekV6TFRBeE9qQTJPalUzSUNBZ0lDQWdJQ0FpUGlBOGNtUm1PbEpFUmlCNGJXeHVjenB5WkdZOUltaDBkSEE2THk5M2QzY3Vkek11''@;'; put 'put ''YjNKbkx6RTVPVGt2TURJdk1qSXRjbVJtTFhONWJuUmhlQzF1Y3lNaVBpQThjbVJtT2tSbGMyTnlhWEIwYVc5dUlISmtaanBoWW05MWREMGlJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRiRzV6T21SalBTSm9kSFJ3T2k4dmNIVnli''@;'; put 'put ''QzV2Y21jdlpHTXZaV3hsYldWdWRITXZNUzR4THlJZ2VHMXNibk02Y0dodmRHOXphRzl3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzQm9iM1J2YzJodmNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VH''@;'; put 'put ''MXNibk02YzNSRmRuUTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpVVjJaVzUwSXlJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpFdU1DQW9UV0ZqYVc1MGIzTm9LU0lnZUcxd09rTnlaV0YwWlVS''@;'; put 'put ''aGRHVTlJakl3TWpBdE1ESXRNVFpVTURrNk1qazZNRGhhSWlCNGJYQTZUVzlrYVdaNVJHRjBaVDBpTWpBeU1DMHdNaTB4TmxReE1Eb3dNVG93TWxvaUlIaHRjRHBOWlhSaFpHRjBZVVJoZEdVOUlqSXdNakF0TURJdE1UWlVNVEE2TURFNk1ESmFJaUJrWXpwbWIzSnRZWFE5SW1sdFlXZGxMM0J1''@;'; put 'put ''WnlJZ2NHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUMGlNeUlnY0dodmRHOXphRzl3T2tsRFExQnliMlpwYkdVOUluTlNSMElnU1VWRE5qRTVOall0TWk0eElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qZzROelExTTJKa0xXUmpaV0V0Tkdaa1lpMWhaV1k1TFRKak9UY3dZ''@;'; put 'put ''ekJtWVRRM09DSWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGlZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T2pBeVl6WmhNV05pTFRZMU16WXRNV1UwWkMwNE1XRTJMVFkwT0RrNU16UmpOV000WVNJZ2VHMXdUVTA2VDNKcFoybHVZV3hFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pjMlpq''@;'; put 'put ''TmhOekl3TFRVNE1XUXRORFUwWVMxaFltSXlMVEU0T1RnNE5qZ3lZemt3WlNJK0lEeDRiWEJOVFRwSWFYTjBiM0o1UGlBOGNtUm1PbE5sY1Q0Z1BISmtaanBzYVNCemRFVjJkRHBoWTNScGIyNDlJbU55WldGMFpXUWlJSE4wUlhaME9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZOelptTTJF''@;'; put 'put ''M01qQXROVGd4WkMwME5UUmhMV0ZpWWpJdE1UZzVPRGcyT0RKak9UQmxJaUJ6ZEVWMmREcDNhR1Z1UFNJeU1ESXdMVEF5TFRFMlZEQTVPakk1T2pBNFdpSWdjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJREl4TGpBZ0tFMWhZMmx1ZEc5emFDa2lMejRn''@;'; put 'put ''UEhKa1pqcHNhU0J6ZEVWMmREcGhZM1JwYjI0OUluTmhkbVZrSWlCemRFVjJkRHBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pnNE56UTFNMkprTFdSalpXRXROR1prWWkxaFpXWTVMVEpqT1Rjd1l6Qm1ZVFEzT0NJZ2MzUkZkblE2ZDJobGJqMGlNakF5TUMwd01pMHhObFF4TURvd01Ub3dN''@;'; put 'put ''bG9pSUhOMFJYWjBPbk52Wm5SM1lYSmxRV2RsYm5ROUlrRmtiMkpsSUZCb2IzUnZjMmh2Y0NBeU1TNHdJQ2hOWVdOcGJuUnZjMmdwSWlCemRFVjJkRHBqYUdGdVoyVmtQU0l2SWk4K0lEd3ZjbVJtT2xObGNUNGdQQzk0YlhCTlRUcElhWE4wYjNKNVBpQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJq''@;'; put 'put ''NGdQQzl5WkdZNlVrUkdQaUE4TDNnNmVHMXdiV1YwWVQ0Z1BEOTRjR0ZqYTJWMElHVnVaRDBpY2lJL1BnVThhNkFBQUFtVlNVUkJWSGljN1p4YnJGeFZHY2QvMzh3NXB4ZUxWR2cxdFNRVWJDSUVIalJHSXliaUJmQUNLRjVxb2haTlFFbWpHRUpDTkVhakR5V3htdWlEaGhEZXZNUjZhVFFsWHRv''@;'; put 'put ''UWs2SW1Rb3dLcWJSb1ZRSW9GNmxhSzVSeUxqUHo5Mkd0ZGZZMysreVpNNmV6OTh4UTlqL1pXZnVzeTE1ci8vZTMxbmRaYTQ1Sm9rYTVhSXg3QUtjamFsSXJRRTFxQmFoSnJRQTFxUldnSnJVQzFLUldnSnJVQ2xDVFdnRnFVaXRBVFdvRnFFbXRBRFdwRmFBbXRRSk1EZFBZek1vYXgwclJBUEtk''@;'; put 'put ''eTEybmhMTENvRU9ST2dZWWdkQjJqL0xHTXVVandmT0oxS2FranBtMUFTVE5BQzhsdk1QVFpuWU02S1M2akpGWUcwYmtSemo5RjBtU3RBVzRGbmdiY0M0d0RSd0gvZ2o4ME16Mnhuck45QUVHUldtN0lKSk8rUm9SbW02c0g1UDBEL1hIdHlTZEdlczNlejkyS1liaG9vdVhDU2ZWRTdyTEViY1Fy''@;'; put 'put ''MWE4RmlUTnVmTGRraHI1Wnl5SEZ3S3BpK2FlcEM4NHdtWWxkWHBJcVNkMmUydytjbEluMVU1ZFhPc2xYUW5zalBuendLbys3V2FBdVhqL25waTJXUUd4WldCU1NXMllXVWZTR3VEek1XK09RSnBZYXFONnBMSlhTRG83UGErYVlSWmpFa2sxTWdQK0xjQWI0djIwS3gvME9XUHhUaWFSVk1qc3pW''@;'; put 'put ''Zkh0TTNnQktVUDhnanduMXplU0RDcHBDWUNuNDdwY3U1bkttdVRyYmsvTlRORksyQ2tqc0Fra2lxeWNmMGNlSUxnTlhWNnRnZ2ZvVU5HM241Z040Q1pOUml4cEU2cVNXV1NMSTd2R2tuUFJET3BGZE84U2RWMjV0U2ZKRzJOYlZma2hwZGxVazBxcWRCdHAyNTNSTFp6aENZblFKSU9TN280dGxs''@;'; put 'put ''eFhLTXNVaWR4K2lkMHlEVCtQY0JSbDUrd1FGZ2Ftc0Rkd0ZWbWRralNsSm0xUmpiU0hDYU5WQ01RTkVVZ05FbmJPY0FadWJvTFpLVGZBYnpiekI2Uk5EMU9RbUV5UW4rSlNCRVVqZGZVQ3pGdEEydmpmZExtMDhCSjROTm1kanRBSkhTQk1XT2NwUHFBODZKa1NYb0pzQkU0QzFoSEdPTjdYYnRP''@;'; put 'put ''ekhzS3VON005c1g4UVFqMURzRlF1d1Q5TUM1U1UzdzB4VWhmRDF3QnZCWTREOWdBdklqZ2xucGYzN3VvdDNsQ3lhUzZGeHFFRDZMWVp5UEdnMHNuZHVTa3lnV1BKYjBadUFWNEs5bjBYZzRwT1BMbm1NNFFBaTI5WUxIUFZ1eHpGVEJ2WmtuaGViZTRGSXhVVVVXdDNKWmtrbTRGZmdGY1RVWm9o''@;'; put 'put ''N0FVNUMrdjhSTUJxYzA4UVRpSzNxVWhDVE5yU1ZvdjZTdkFiNEJmU3JyZVBhOWNIa1pvcDA3Ri9ocVN2bGxnWjdiZDFRdWRXRitTZmh6WFg0OXBnaVFuNVpmZWNaT2svUVhQKzBRc04ySzRzWXhyVktUNkY3emR2ZFI4VE52eHZwZUJueWMyNFVGSlg1ZjBwbHgvM25HNFR0TGYzWE5ia3A2TmY5''@;'; put 'put ''OHJhVjM2Nk04blVyM0wrUmxIU0pLNGVSV2pWM1MvcUt3bDZUWko1L21PSlgzUTFmRWZiVGFtQnlXOUxGYWZIb1lMZjFXK202cG9PMHA2Qi9BVHdoUnRrVmtBU1ZuZVJ3aWduQUJ1QWpZVDF0SmVjZEZrMTNZSXlncmdVWUpuZFlUZ0xPd0F6aWFzdTBuN0UvdGZDK3cxcy9mRnZLYWtjcUpadzN5''@;'; put 'put ''UkFaRFcwWTJTSG5BUzQ5Zk9oeVh0a0hTV0cxTmFJcFpiWXhPOC81L0h2TEpaNFRFcjZaMkowR0c1OEZlVkpwV1JHZldmQlM2bVcvS01vUDAvYVdaL2l5K1ZEUGgveFhaZXV2cGhpaUM1Q3pGTnMwQmtkdTVKNERCd0xENy9CMmEyUDVZTjBzZkFxSkxVS1dCQjB1dUFaTDRrZjkyQU80SHRablpT''@;'; put 'put ''d2RScU9KODk3UzBOTWgwV0RYcXlZejlkMmgvNFB2QU40RUZnenN6bVhGbnBkbXBWcERiSVBKenJnUFdFamJ0bUxEc0FmQ1FTdXNyTTVuR3VLc0dyZ2tCWVB4dXlYL2xmWXo5N3pPeEFqekZXNHFwV1JXb1Q2RWc2bitCKyt2NStDM3pZekU3RTZUN24yclFsYlFJdWlIbjlkazRUb1MzZ0lVSXM0''@;'; put 'put ''R0hnRUhBLzhJQ1pIWFgxcDhpa01pbTVhakRNZ3R3SE0vSFpsK1dVdzkyU1hoN0w4aDkwT3VaL3dOVXZVajRkbDM5TTBqWko2eFFPckJXaHlZRDcvbVVwcXFwSVRWcC9zNlNmU1hwTTBwY1VEZTBDUXIyeHZzY1JXbVNyZGx6K3pRVjlwK2hYa3hXNm41Tk9Lc29NL3RYcU5wZUtwQ1pKOWhzbG5Z''@;'; put 'put ''aUVGWmxCUHYrd3BQV3V2VmRTcDRTeVNLMU0rOGZ0WVRPeldXQTIzamNLampjMnlLSk1ueUtFL0pKejBBLzd6T3g0dk04SFhjYUtTcU5VWnBZaVFNM29mUzFSRGtseUpWMUZkekM2bHhlVkJPR2dxemRSLzE1akZLRy90QjlmOU9KVDBZV2RBbTRrS0tzVXlpdXE3L1ArR2RNWlJud0FiVG1NZStN''@;'; put 'put ''dlNlUFZRSElaRzdteWZQMGs3ZHRpT2dlMEZFNmlOSHUwR3luR1NXcVR6RUZJWjBuN1NTbGttaDFnaDZRRGtqNGs2Y3dZeVc5SEJUcFd5UjNubWY5cGdodDdLWEFYc0pxZ2NMenlMRExRMHhycWlUc0U3QVYybTlrUmVHR2UrVjgwMUNYdGpTYVNqNnVtWUhJdnBHTSsrVmpzdnlWOVZkS0crT3pU''@;'; put 'put ''eTA0dFFKcTZudEFiYzBSSlM0Myt4eVg5UmNHQk9GbEE4SE1GNU40bjZjTFl4OGlQcDFjeC9iMG40d01XUHBxRXBHM0FkNEExWk5QZUh5VS9DSHdOK0RVaGJMZUdFTGgrRldIMzlWTEM3NmpTczVOdG00NEwzUXRjR1czWktib0ROb1VZaG9zbER5cFJVcGVWQ2trYkpIMU8yWlpHa2pJdm9Ydmt2''@;'; put 'put ''TEFlejdsUTBrNkZJTGVYOXZTTEZVbTZ4VFZaVmdGTW5LUXFlRXpwb01KV1lCUHdZb0lDV2swSS8yMGxSSzB1aXMyU2hDWXBiZ0xmQTY2Tkh0bE1WRFlwV21XdVhlcDNDM0F6Y0FOaGl5Uko3UXp3TytBeU0zdUdBYVIxb2lSVlVTRkkyaXJwdXdxN2w4K3E5MWFJanpSMW5MVGVwZkRqQ2RRNzZn''@;'; put 'put ''U0IzR201OVZMUyt5VWR6MG4vcktSTFlwVkJadEhFS0twRWFFUFN2aDRrZXZMbUhObHRaY3ZBWVVubkRFQm9IbXNjS1NuQzVYOXJkWVA3RUgyWGdMSklMU09na2diNkd1RHllUDhjUVZuSTFmR0dld29TcHoya3A0Q1BtdGxqQ29IcmZzZDQ4cGgxOTBkaTZuZHFYK25LbXd5Z3NJWkZtVkdxaThq''@;'; put 'put ''T2k2Nk82U0Rld1JIZzQyYjJCN2t6VDZlSUZBL3czdHE1TVpXa3RtV0tvTElnekxDaytnalJacGZmSWhEOE9QQnQ0RW5DTkYxTENPMU5FeVRzSVVJSTd3a0ZSZGRsZGcwSXYzdjZxQnRYbWhXWEtHeEYvOHJNVHZZWWU3a1ljazFkSEx4Q1pGL3FObzF1R25BTVF3V1h5YlppdGlnNzR1TVY1YXpD''@;'; put 'put ''RWFFN0piM0x0ZXZxczZ3MXRVeFNkOFlYU0Y3UC9Zby9FU2RiRnZKSVc4bkRScGI4ZHN5WGxhR3RwVHNJUnlXbFdkVTFVOHNpZGRnb2xkL3RmREttU1J2dk1yUC9LV2p5RnRrSDhCZjBqcld1QkIweWsya1hZY2toOXBGZjRuNFAvTmVOdjNTVVlmeW5yZVVMQ0M3bFJ1QldNL3RpcXNhSUl2UHFQ''@;'; put 'put ''bEI4QmZCMnduYjNHUVNMNUI3Z0RqTTdxbkNTdXBOclg4bzR5aUIxa1RSSmx3UHJ6ZXhIc2NvNC9wZkprajRsclk1N1plbnZKWVRHL0ZJR1VHVThkZEJ6VUZVZzdRS2tVNEVKYVlrby9OQmxrVnIyYm1vNkJaSi9tVkdqNC9wUGxrVzFwMUljaHBMVUdzVVk5OGJmYVltYTFBcFFrMW9CYWxJclFF''@;'; put 'put ''MXFCYWhKclFBMXFSV2dKclVDMUtSV2dKclVDbENUV2dGcVVpdkEvd0ZONjhTd3E3Nkd5UUFBQUFCSlJVNUVya0pnZ2c9PSIsdGhpcy51c2VybmFtZT0iIix0aGlzLm5hdkxpbmtzPVtdLHRoaXMudXNlckRyb3Bkb3duSXRlbXM9W10sdGhpcy5kZWJ1Z0NoYW5nZWQ9bmV3IEh0fW5nT25Jbml0''@;'; put 'put ''KCl7fW9uRGVidWdDaGFuZ2UoKXt0aGlzLmRlYnVnQ2hhbmdlZC5lbWl0KHRoaXMuc2FzanNDb25maWcuZGVidWcpfX1yZXR1cm4gbC5cdTAyNzVmYWM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6W1sic2FzanMtaGVhZGVy''@;'; put 'put ''Il1dLGlucHV0czp7bG9nbzoibG9nbyIsdXNlcm5hbWU6InVzZXJuYW1lIixzYXNqc0NvbmZpZzoic2FzanNDb25maWciLG5hdkxpbmtzOiJuYXZMaW5rcyIsdXNlckRyb3Bkb3duSXRlbXM6InVzZXJEcm9wZG93bkl0ZW1zIn0sb3V0cHV0czp7ZGVidWdDaGFuZ2VkOiJkZWJ1Z0NoYW5nZWQi''@;'; put 'put ''fSxkZWNsczoxMSx2YXJzOjQsY29uc3RzOltbMSwiaGVhZGVyLTYiXSxbMSwiYnJhbmRpbmciXSxbMywic3JjIl0sWzEsImhlYWRlci1uYXYiXSxbInJvdXRlckxpbmtBY3RpdmUiLCJhY3RpdmUiLCJjbGFzcyIsIm5hdi1saW5rIG5hdi10ZXh0IiwzLCJyb3V0ZXJMaW5rIiw0LCJuZ0ZvciIs''@;'; put 'put ''Im5nRm9yT2YiXSxbMSwiaGVhZGVyLWFjdGlvbnMiXSxbMywiY2xyQ2xvc2VNZW51T25JdGVtQ2xpY2siXSxbImNsckRyb3Bkb3duVHJpZ2dlciIsIiIsImFyaWEtbGFiZWwiLCJ1c2VyIl0sWyJzaGFwZSIsInVzZXIiXSxbImNsclBvc2l0aW9uIiwiYm90dG9tLXJpZ2h0Iiw0LCJjbHJJZk9w''@;'; put 'put ''ZW4iXSxbInJvdXRlckxpbmtBY3RpdmUiLCJhY3RpdmUiLDEsIm5hdi1saW5rIiwibmF2LXRleHQiLDMsInJvdXRlckxpbmsiXSxbImNsclBvc2l0aW9uIiwiYm90dG9tLXJpZ2h0Il0sWyJjbHJEcm9wZG93bkl0ZW0iLCIiXSxbInR5cGUiLCJjaGVja2JveCIsImNsclRvZ2dsZSIsIiIsIm5h''@;'; put 'put ''bWUiLCJkZWJ1ZyIsMywibmdNb2RlbCIsIm5nTW9kZWxDaGFuZ2UiLCJjaGFuZ2UiXSxbInJvbGUiLCJzZXBhcmF0b3IiLCJhcmlhLWhpZGRlbiIsInRydWUiLDEsImRyb3Bkb3duLWRpdmlkZXIiXSxbImNsckRyb3Bkb3duSXRlbSIsIiIsMywiY2xpY2siLDQsIm5nRm9yIiwibmdGb3JPZiJd''@;'; put 'put ''LFsiY2xyRHJvcGRvd25JdGVtIiwiIiwzLCJjbGljayJdXSx0ZW1wbGF0ZTpmdW5jdGlvbihhLGQpezEmYSYmKHplKDAsImhlYWRlciIsMCkoMSwiZGl2IiwxKSxXdCgyLCJpbWciLDIpLFllKCksemUoMywiZGl2IiwzKSxjdCg0LGxRLDIsMiwiYSIsNCksWWUoKSx6ZSg1LCJkaXYiLDUpKDYs''@;'; put 'put ''ImNsci1kcm9wZG93biIsNikoNywiYnV0dG9uIiw3KSxGdCg4KSxXdCg5LCJjbHItaWNvbiIsOCksWWUoKSxjdCgxMCx1USw3LDIsImNsci1kcm9wZG93bi1tZW51Iiw5KSxZZSgpKCkoKSksMiZhJiYoVGUoMiksQmUoInNyYyIsZC5sb2dvLGRwKSxUZSgyKSxCZSgibmdGb3JPZiIsZC5uYXZM''@;'; put 'put ''aW5rcyksVGUoMiksQmUoImNsckNsb3NlTWVudU9uSXRlbUNsaWNrIiwhMSksVGUoMiksR3IoIiAiLGQudXNlcm5hbWUubGVuZ3RoPjA/ZC51c2VybmFtZToiTm90IGxvZ2dlZCBpbiIsIiAiKSl9LGRlcGVuZGVuY2llczpbRWcscV8sd3UsVG8sX28sdm8sSnksaEQsJG8scjEsaDAseDAsaHgs''@;'; put 'put ''ZngsbHhdLHN0eWxlczpbIi5icmFuZGluZ1tfbmdjb250ZW50LSVDT01QJV17bWluLXdpZHRoOmF1dG8haW1wb3J0YW50fS5icmFuZGluZ1tfbmdjb250ZW50LSVDT01QJV0gICBpbWdbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlfSJdfSksbH0pKCkscFE9KCgpPT57Y2xhc3MgbHtj''@;'; put 'put ''b25zdHJ1Y3Rvcigpe319cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCl9LGwuXHUwMjc1bW9kPWduKHt0eXBlOmx9KSxsLlx1MDI3NWluaj1mbih7aW1wb3J0czpbR18samEsZl8sTTgsWkpdfSksbH0pKCk7ZnVuY3Rpb24gZ1EobCxjKXtpZigxJmwpe2Nv''@;'; put 'put ''bnN0IGE9Um4oKTt6ZSgwLCJzYXNqcy1sb2dpbi1tb2RhbCIsNSksT3QoImxvZ2luQnV0dG9uQ2xpY2tlZCIsZnVuY3Rpb24oZil7cmV0dXJuIGNuKGEpLHVuKGh0KCkubG9naW4oZikpfSksWWUoKX0yJmwmJkJlKCJsb2dpbkxvYWRpbmciLGh0KCkubG9naW5Mb2FkaW5nKX1sZXQgbVE9KCgp''@;'; put 'put ''PT57Y2xhc3MgbHtjb25zdHJ1Y3RvcihhLGQsZil7dGhpcy5zdGF0ZVNlcnZpY2U9YSx0aGlzLnNhc1NlcnZpY2U9ZCx0aGlzLnJvdXRlcj1mLHRoaXMuaXNMb2dnZWRJbj0hMCx0aGlzLnJlcXVlc3RNb2RhbD0hMSx0aGlzLnNhc2pzQ29uZmlnPW5ldyByUy5TQVNqc0NvbmZpZyx0aGlzLnNh''@;'; put 'put ''c2pzUmVxdWVzdHM9W10sdGhpcy51c2VybmFtZT0iIix0aGlzLmxvZ2luTG9hZGluZz0hMSx0aGlzLmxvZ289ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRlVBQUFCVkNBWUFBQUE0OWFoYUFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFGM21s''@;'; put 'put ''VVdIUllUVXc2WTI5dExtRmtiMkpsTG5odGNBQUFBQUFBUEQ5NGNHRmphMlYwSUdKbFoybHVQU0x2dTc4aUlHbGtQU0pYTlUwd1RYQkRaV2hwU0hweVpWTjZUbFJqZW10ak9XUWlQejRnUEhnNmVHMXdiV1YwWVNCNGJXeHVjenA0UFNKaFpHOWlaVHB1Y3pwdFpYUmhMeUlnZURwNGJYQjBhejBp''@;'; put 'put ''UVdSdlltVWdXRTFRSUVOdmNtVWdOUzQyTFdNeE5EZ2dOemt1TVRZME1ETTJMQ0F5TURFNUx6QTRMekV6TFRBeE9qQTJPalUzSUNBZ0lDQWdJQ0FpUGlBOGNtUm1PbEpFUmlCNGJXeHVjenB5WkdZOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2TURJdk1qSXRjbVJtTFhONWJuUmhl''@;'; put 'put ''QzF1Y3lNaVBpQThjbVJtT2tSbGMyTnlhWEIwYVc5dUlISmtaanBoWW05MWREMGlJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRiRzV6T21SalBTSm9kSFJ3T2k4dmNIVnliQzV2Y21jdlpHTXZaV3hsYldWdWRITXZNUzR4THlJZ2VH''@;'; put 'put ''MXNibk02Y0dodmRHOXphRzl3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzQm9iM1J2YzJodmNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSRmRuUTlJbWgwZEhBNkx5OXVjeTVoWkc5''@;'; put 'put ''aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpVVjJaVzUwSXlJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpFdU1DQW9UV0ZqYVc1MGIzTm9LU0lnZUcxd09rTnlaV0YwWlVSaGRHVTlJakl3TWpBdE1ESXRNVFpVTURrNk1qazZNRGhh''@;'; put 'put ''SWlCNGJYQTZUVzlrYVdaNVJHRjBaVDBpTWpBeU1DMHdNaTB4TmxReE1Eb3dNVG93TWxvaUlIaHRjRHBOWlhSaFpHRjBZVVJoZEdVOUlqSXdNakF0TURJdE1UWlVNVEE2TURFNk1ESmFJaUJrWXpwbWIzSnRZWFE5SW1sdFlXZGxMM0J1WnlJZ2NHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUMGlN''@;'; put 'put ''eUlnY0dodmRHOXphRzl3T2tsRFExQnliMlpwYkdVOUluTlNSMElnU1VWRE5qRTVOall0TWk0eElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qZzROelExTTJKa0xXUmpaV0V0Tkdaa1lpMWhaV1k1TFRKak9UY3dZekJtWVRRM09DSWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJE''@;'; put 'put ''MGlZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T2pBeVl6WmhNV05pTFRZMU16WXRNV1UwWkMwNE1XRTJMVFkwT0RrNU16UmpOV000WVNJZ2VHMXdUVTA2VDNKcFoybHVZV3hFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pjMlpqTmhOekl3TFRVNE1XUXRORFUwWVMxaFltSXlMVEU0T1Rn''@;'; put 'put ''NE5qZ3lZemt3WlNJK0lEeDRiWEJOVFRwSWFYTjBiM0o1UGlBOGNtUm1PbE5sY1Q0Z1BISmtaanBzYVNCemRFVjJkRHBoWTNScGIyNDlJbU55WldGMFpXUWlJSE4wUlhaME9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZOelptTTJFM01qQXROVGd4WkMwME5UUmhMV0ZpWWpJdE1UZzVPRGcy''@;'; put 'put ''T0RKak9UQmxJaUJ6ZEVWMmREcDNhR1Z1UFNJeU1ESXdMVEF5TFRFMlZEQTVPakk1T2pBNFdpSWdjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJREl4TGpBZ0tFMWhZMmx1ZEc5emFDa2lMejRnUEhKa1pqcHNhU0J6ZEVWMmREcGhZM1JwYjI0OUluTmhk''@;'; put 'put ''bVZrSWlCemRFVjJkRHBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pnNE56UTFNMkprTFdSalpXRXROR1prWWkxaFpXWTVMVEpqT1Rjd1l6Qm1ZVFEzT0NJZ2MzUkZkblE2ZDJobGJqMGlNakF5TUMwd01pMHhObFF4TURvd01Ub3dNbG9pSUhOMFJYWjBPbk52Wm5SM1lYSmxRV2RsYm5ROUlr''@;'; put 'put ''RmtiMkpsSUZCb2IzUnZjMmh2Y0NBeU1TNHdJQ2hOWVdOcGJuUnZjMmdwSWlCemRFVjJkRHBqYUdGdVoyVmtQU0l2SWk4K0lEd3ZjbVJtT2xObGNUNGdQQzk0YlhCTlRUcElhWE4wYjNKNVBpQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNGdQQzl5WkdZNlVrUkdQaUE4TDNnNmVHMXdiV1YwWVQ0''@;'; put 'put ''Z1BEOTRjR0ZqYTJWMElHVnVaRDBpY2lJL1BnVThhNkFBQUFtVlNVUkJWSGljN1p4YnJGeFZHY2QvMzh3NXB4ZUxWR2cxdFNRVWJDSUVIalJHSXliaUJmQUNLRjVxb2haTlFFbWpHRUpDTkVhakR5V3htdWlEaGhEZXZNUjZhVFFsWHRvUWs2SW1Rb3dLcWJSb1ZRSW9GNmxhSzVSeUxqUHo5Mkd0''@;'; put 'put ''ZGZZMysreVpNNmV6OTh4UTlqL1pXZnVzeTE1ci8vZTMxbmRaYTQ1Sm9rYTVhSXg3QUtjamFsSXJRRTFxQmFoSnJRQTFxUldnSnJVQzFLUldnSnJVQ2xDVFdnRnFVaXRBVFdvRnFFbXRBRFdwRmFBbXRRSk1EZFBZek1vYXgwclJBUEtkeTEybmhMTENvRU9ST2dZWWdkQjJqL0xHTXVVandmT0ox''@;'; put 'put ''S2FranBtMUFTVE5BQzhsdk1QVFpuWU02S1M2akpGWUcwYmtSemo5RjBtU3RBVzRGbmdiY0M0d0RSd0gvZ2o4ME16Mnhuck45QUVHUldtN0lKSk8rUm9SbW02c0g1UDBEL1hIdHlTZEdlczNlejkyS1liaG9vdVhDU2ZWRTdyTEViY1FyMWE4RmlUTnVmTGRraHI1Wnl5SEZ3S3BpK2FlcEM4NHdt''@;'; put 'put ''WWxkWHBJcVNkMmUydytjbEluMVU1ZFhPc2xYUW5zalBuendLbys3V2FBdVhqL25waTJXUUd4WldCU1NXMllXVWZTR3VEek1XK09RSnBZYXFONnBMSlhTRG83UGErYVlSWmpFa2sxTWdQK0xjQWI0djIwS3gvME9XUHhUaWFSVk1qc3pWZkh0TTNnQktVUDhnanduMXplU0RDcHBDWUNuNDdwY3U1''@;'; put 'put ''bkttdVRyYmsvTlRORksyQ2tqc0Fra2lxeWNmMGNlSUxnTlhWNnRnZ2ZvVU5HM241Z040Q1pOUml4cEU2cVNXV1NMSTd2R2tuUFJET3BGZE84U2RWMjV0U2ZKRzJOYlZma2hwZGxVazBxcWRCdHAyNTNSTFp6aENZblFKSU9TN280dGxseFhLTXNVaWR4K2lkMHlEVCtQY0JSbDUrd1FGZ2Ftc0Rk''@;'; put 'put ''d0ZWbWRralNsSm0xUmpiU0hDYU5WQ01RTkVVZ05FbmJPY0FadWJvTFpLVGZBYnpiekI2Uk5EMU9RbUV5UW4rSlNCRVVqZGZVQ3pGdEEydmpmZExtMDhCSjROTm1kanRBSkhTQk1XT2NwUHFBODZKa1NYb0pzQkU0QzFoSEdPTjdYYnRPekhzS3VON005c1g4UVFqMURzRlF1d1Q5TUM1U1UzdzB4''@;'; put 'put ''VWhmRDF3QnZCWTREOWdBdklqZ2xucGYzN3VvdDNsQ3lhUzZGeHFFRDZMWVp5UEdnMHNuZHVTa3lnV1BKYjBadUFWNEs5bjBYZzRwT1BMbm1NNFFBaTI5WUxIUFZ1eHpGVEJ2WmtuaGViZTRGSXhVVVVXdDNKWmtrbTRGZmdGY1RVWm9oN0FVNUMrdjhSTUJxYzA4UVRpSzNxVWhDVE5yU1ZvdjZT''@;'; put 'put ''dkFiNEJmU3JyZVBhOWNIa1pvcDA3Ri9ocVN2bGxnWjdiZDFRdWRXRitTZmh6WFg0OXBnaVFuNVpmZWNaT2svUVhQKzBRc04ySzRzWXhyVktUNkY3emR2ZFI4VE52eHZwZUJueWMyNFVGSlg1ZjBwbHgvM25HNFR0TGYzWE5ia3A2TmY5OHJhVjM2Nk04blVyM0wrUmxIU0pLNGVSV2pWM1MvcUt3''@;'; put 'put ''bDZUWko1L21PSlgzUTFmRWZiVGFtQnlXOUxGYWZIb1lMZjFXK202cG9PMHA2Qi9BVHdoUnRrVmtBU1ZuZVJ3aWduQUJ1QWpZVDF0SmVjZEZrMTNZSXlncmdVWUpuZFlUZ0xPd0F6aWFzdTBuN0UvdGZDK3cxcy9mRnZLYWtjcUpadzN5UkFaRFcwWTJTSG5BUzQ5Zk9oeVh0a0hTV0cxTmFJcFpi''@;'; put 'put ''WXhPOC81L0h2TEpaNFRFcjZaMkowR0c1OEZlVkpwV1JHZldmQlM2bVcvS01vUDAvYVdaL2l5K1ZEUGgveFhaZXV2cGhpaUM1Q3pGTnMwQmtkdTVKNERCd0xENy9CMmEyUDVZTjBzZkFxSkxVS1dCQjB1dUFaTDRrZjkyQU80SHRablpTd2RScU9KODk3UzBOTWgwV0RYcXlZejlkMmgvNFB2QU40''@;'; put 'put ''RUZnenN6bVhGbnBkbXBWcERiSVBKenJnUFdFamJ0bUxEc0FmQ1FTdXNyTTVuR3VLc0dyZ2tCWVB4dXlYL2xmWXo5N3pPeEFqekZXNHFwV1JXb1Q2RWc2bitCKyt2NStDM3pZekU3RTZUN24yclFsYlFJdWlIbjlkazRUb1MzZ0lVSXM0R0hnRUhBLzhJQ1pIWFgxcDhpa01pbTVhakRNZ3R3SE0v''@;'; put 'put ''SFpsK1dVdzkyU1hoN0w4aDkwT3VaL3dOVXZVajRkbDM5TTBqWko2eFFPckJXaHlZRDcvbVVwcXFwSVRWcC9zNlNmU1hwTTBwY1VEZTBDUXIyeHZzY1JXbVNyZGx6K3pRVjlwK2hYa3hXNm41Tk9Lc29NL3RYcU5wZUtwQ1pKOWhzbG5ZaUVGWmxCUHYrd3BQV3V2VmRTcDRTeVNLMU0rOGZ0WVRP''@;'; put 'put ''eldXQTIzamNLampjMnlLSk1ueUtFL0pKejBBLzd6T3g0dk04SFhjYUtTcU5VWnBZaVFNM29mUzFSRGtseUpWMUZkekM2bHhlVkJPR2dxemRSLzE1akZLRy90QjlmOU9KVDBZV2RBbTRrS0tzVXlpdXE3L1ArR2RNWlJud0FiVG1NZStNdlNlUFZRSElaRzdteWZQMGs3ZHRpT2dlMEZFNmlOSHUw''@;'; put 'put ''R3luR1NXcVR6RUZJWjBuN1NTbGttaDFnaDZRRGtqNGs2Y3dZeVc5SEJUcFd5UjNubWY5cGdodDdLWEFYc0pxZ2NMenlMRExRMHhycWlUc0U3QVYybTlrUmVHR2UrVjgwMUNYdGpTYVNqNnVtWUhJdnBHTSsrVmpzdnlWOVZkS0crT3pUeTA0dFFKcTZudEFiYzBSSlM0Myt4eVg5UmNHQk9GbEE4''@;'; put 'put ''SE1GNU40bjZjTFl4OGlQcDFjeC9iMG40d01XUHBxRXBHM0FkNEExWk5QZUh5VS9DSHdOK0RVaGJMZUdFTGgrRldIMzlWTEM3NmpTczVOdG00NEwzUXRjR1czWktib0ROb1VZaG9zbER5cFJVcGVWQ2trYkpIMU8yWlpHa2pJdm9Ydmt2TEFlejdsUTBrNkZJTGVYOXZTTEZVbTZ4VFZaVmdGTW5L''@;'; put 'put ''UXFlRXpwb01KV1lCUHdZb0lDV2swSS8yMGxSSzB1aXMyU2hDWXBiZ0xmQTY2Tkh0bE1WRFlwV21XdVhlcDNDM0F6Y0FOaGl5Uko3UXp3TytBeU0zdUdBYVIxb2lSVlVTRkkyaXJwdXdxN2w4K3E5MWFJanpSMW5MVGVwZkRqQ2RRNzZnU0IzR201OVZMUyt5VWR6MG4vcktSTFlwVkJadEhFS0tw''@;'; put 'put ''RWFFUFN2aDRrZXZMbUhObHRaY3ZBWVVubkRFQm9IbXNjS1NuQzVYOXJkWVA3RUgyWGdMSklMU09na2diNkd1RHllUDhjUVZuSTFmR0dld29TcHoya3A0Q1BtdGxqQ29IcmZzZDQ4cGgxOTBkaTZuZHFYK25LbXd5Z3NJWkZtVkdxaThqT2k2Nk82U0Rld1JIZzQyYjJCN2t6VDZlSUZBL3czdHE1''@;'; put 'put ''TVpXa3RtV0tvTElnekxDaytnalJacGZmSWhEOE9QQnQ0RW5DTkYxTENPMU5FeVRzSVVJSTd3a0ZSZGRsZGcwSXYzdjZxQnRYbWhXWEtHeEYvOHJNVHZZWWU3a1ljazFkSEx4Q1pGL3FObzF1R25BTVF3V1h5YlppdGlnNzR1TVY1YXpDRWFFN0piM0x0ZXZxczZ3MXRVeFNkOFlYU0Y3UC9Zby9F''@;'; put 'put ''U2RiRnZKSVc4bkRScGI4ZHN5WGxhR3RwVHNJUnlXbFdkVTFVOHNpZGRnb2xkL3RmREttU1J2dk1yUC9LV2p5RnRrSDhCZjBqcld1QkIweWsya1hZY2toOXBGZjRuNFAvTmVOdjNTVVlmeW5yZVVMQ0M3bFJ1QldNL3RpcXNhSUl2UHFQbEI4QmZCMnduYjNHUVNMNUI3Z0RqTTdxbkNTdXBOclg4''@;'; put 'put ''bzR5aUIxa1RSSmx3UHJ6ZXhIc2NvNC9wZkprajRsclk1N1plbnZKWVRHL0ZJR1VHVThkZEJ6VUZVZzdRS2tVNEVKYVlrby9OQmxrVnIyYm1vNkJaSi9tVkdqNC9wUGxrVzFwMUljaHBMVUdzVVk5OGJmYVltYTFBcFFrMW9CYWxJclFFMXFCYWhKclFBMXFSV2dKclVDMUtSV2dKclVDbENUV2dG''@;'; put 'put ''cVVpdkEvd0ZONjhTd3E3Nkd5UUFBQUFCSlJVNUVya0pnZ2c9PSIsdGhpcy5uYXZMaW5rcz1be2xhYmVsOiJIb21lcGFnZSIscm91dGVyTGluazoiL2hvbWVwYWdlIn0se2xhYmVsOiJEYXRhIixyb3V0ZXJMaW5rOiIvZGF0YSJ9LHtsYWJlbDoiRmlsZSB1cGxvYWQiLHJvdXRlckxpbms6Ii91''@;'; put 'put ''cGxvYWRlciJ9XSx0aGlzLnVzZXJEcm9wZG93bkl0ZW1zPVt7bGFiZWw6IlNBUyBMb2dzIixjbGlja0NhbGxiYWNrOigpPT50aGlzLm9wZW5TYXNMb2dzKCl9LHtsYWJlbDoiRG9jdW1lbnRhdGlvbiIsY2xpY2tDYWxsYmFjazooKT0+dGhpcy5vcGVuRG9jcygpfSx7bGFiZWw6IkxvZyBvdXQi''@;'; put 'put ''LGNsaWNrQ2FsbGJhY2s6KCk9PnRoaXMubG9nb3V0KCl9XSxkLmZldGNoU3RhcnR1cERhdGEoKX1uZ09uSW5pdCgpe3RoaXMuZ2V0U2FzanNDb25maWcoKSx0aGlzLnN0YXRlU2VydmljZS5pc1VzZXJMb2dnZWRJbi5zdWJzY3JpYmUoYT0+e3RoaXMuaXNMb2dnZWRJbj1hfSksdGhpcy5zdGF0''@;'; put 'put ''ZVNlcnZpY2UudXNlcm5hbWUuc3Vic2NyaWJlKGE9Pnt0aGlzLnVzZXJuYW1lPWF9KX1vcGVuU2FzTG9ncygpe3RoaXMucmVxdWVzdE1vZGFsPSEwfW9wZW5DaGFuZ2UoYSl7YSYmKHRoaXMuc2FzanNSZXF1ZXN0cz10aGlzLnNhc1NlcnZpY2UuZ2V0U2FzUmVxdWVzdHMoKSl9b3BlbkRvY3Mo''@;'; put 'put ''KXt3aW5kb3cubG9jYXRpb24ucmVwbGFjZShgJHt3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9L2RvY3NgKX1kZWJ1Z0NoYW5nZWQoKXt0aGlzLnNhc2pzQ29uZmlnJiZ0aGlzLnNhc1NlcnZpY2Uuc2V0RGVidWdTdGF0ZSh0aGlzLnNhc2pzQ29uZmlnLmRlYnVnKX1nZXRTYXNqc0NvbmZpZygp''@;'; put 'put ''e3RoaXMuc2FzanNDb25maWc9dGhpcy5zYXNTZXJ2aWNlLmdldFNhc2pzQ29uZmlnKCl9bG9naW4oYSl7dGhpcy5sb2dpbkxvYWRpbmc9ITAsdGhpcy5zYXNTZXJ2aWNlLmxvZ2luKGEudXNlcm5hbWUsYS5wYXNzd29yZCkudGhlbihkPT57dGhpcy5sb2dpbkxvYWRpbmc9ITEsZHx8YWxlcnQo''@;'; put 'put ''Ildyb25nIHVzZXJuYW1lIG9yIHBhc3N3b3JkLCBwbGVhc2UgdHJ5IGFnYWluLiIpfSxkPT57dGhpcy5sb2dpbkxvYWRpbmc9ITF9KX1sb2dvdXQoKXt0aGlzLnNhc1NlcnZpY2UubG9nb3V0KCl9fXJldHVybiBsLlx1MDI3NWZhYz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3KGF8fGwpKG1lKEpf''@;'; put 'put ''KSxtZShUZyksbWUoSGkpKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6W1siYXBwLXNhc2pzLXVpIl1dLGRlY2xzOjUsdmFyczo5LGNvbnN0czpbWzEsInNhc2pzLXVpIl0sWzEsInNhc2pzLXJvb3QiXSxbMywibG9nbyIsInVzZXJuYW1lIiwic2FzanNDb25maWciLCJuYXZM''@;'; put 'put ''aW5rcyIsInVzZXJEcm9wZG93bkl0ZW1zIl0sWzMsImxvZ2luTG9hZGluZyIsImxvZ2luQnV0dG9uQ2xpY2tlZCIsNCwibmdJZiJdLFszLCJzaG93Iiwic2FzanNDb25maWciLCJzYXNqc1JlcXVlc3RzIiwic2hvd0NoYW5nZSJdLFszLCJsb2dpbkxvYWRpbmciLCJsb2dpbkJ1dHRvbkNsaWNr''@;'; put 'put ''ZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJih6ZSgwLCJkaXYiLDApKDEsImRpdiIsMSksV3QoMiwic2FzanMtaGVhZGVyIiwyKSxjdCgzLGdRLDEsMSwic2FzanMtbG9naW4tbW9kYWwiLDMpLHplKDQsInNhc2pzLWxvZ3MiLDQpLE90KCJzaG93Q2hhbmdlIixmdW5jdGlvbih2''@;'; put 'put ''KXtyZXR1cm4gZC5yZXF1ZXN0TW9kYWw9dn0pKCJzaG93Q2hhbmdlIixmdW5jdGlvbih2KXtyZXR1cm4gZC5vcGVuQ2hhbmdlKHYpfSksWWUoKSgpKCkpLDImYSYmKFRlKDIpLEJlKCJsb2dvIixkLmxvZ28pKCJ1c2VybmFtZSIsZC51c2VybmFtZSkoInNhc2pzQ29uZmlnIixkLnNhc2pzQ29u''@;'; put 'put ''ZmlnKSgibmF2TGlua3MiLGQubmF2TGlua3MpKCJ1c2VyRHJvcGRvd25JdGVtcyIsZC51c2VyRHJvcGRvd25JdGVtcyksVGUoMSksQmUoIm5nSWYiLCFkLmlzTG9nZ2VkSW4pLFRlKDEpLEJlKCJzaG93IixkLnJlcXVlc3RNb2RhbCkoInNhc2pzQ29uZmlnIixkLnNhc2pzQ29uZmlnKSgic2Fz''@;'; put 'put ''anNSZXF1ZXN0cyIsZC5zYXNqc1JlcXVlc3RzKSl9LGRlcGVuZGVuY2llczpbZXIsZFEsZlEsaFFdLHN0eWxlczpbJ0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6TWV0cm9wb2xpcztzcmM6dXJsKGRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSZ0FC''@;'; put 'put ''QUFBQUFGUWdBQk1BQUFBQW04QUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFCcUFBQUFCd0FBQUFjZk5INTVrZEVSVVlBQUFIRUFBQUFUUUFBQUdJSDFRZjhSMUJQVXdBQUFoUUFBQWNhQUFBT2RqeStlamxIVTFWQ0FBQUpNQUFBQUNBQUFBQWdSSFpNZFU5VEx6SUFB''@;'; put 'put ''QWxRQUFBQVRRQUFBR0JvUHF6clkyMWhjQUFBQ2FBQUFBSnNBQUFEbm5kREQ3RmpkblFnQUFBTURBQUFBREFBQUFBOEVZNEJqR1p3WjIwQUFBdzhBQUFHT2dBQURSWjJaSDEyWjJGemNBQUFFbmdBQUFBSUFBQUFDQUFBQUJCbmJIbG1BQUFTZ0FBQU5uTUFBR2dVeEZJZ04yaGxZV1FBQUVqMEFB''@;'; put 'put ''QUFOZ0FBQURZTFlZZ1VhR2hsWVFBQVNTd0FBQUFoQUFBQUpBZDJCREpvYlhSNEFBQkpVQUFBQW9nQUFBVHV1UEkvRkd4dlkyRUFBRXZZQUFBQ2NnQUFBbnFKYW5Cd2JXRjRjQUFBVGt3QUFBQWdBQUFBSUFLRUFlbHVZVzFsQUFCT2JBQUFBWUlBQUFOV0xkQ0U5WEJ2YzNRQUFFL3dBQUFEb1FB''@;'; put 'put ''QUJpR1hGajJLY0hKbGNBQUFVNVFBQUFDQkFBQUFqUmxRQWhCM1pXSm1BQUJVR0FBQUFBWUFBQUFHOW5oWW1BQUFBQUVBQUFBQTFGRzFhZ0FBQUFEVHdaMkdBQUFBQU5TK3B2VjQyZzJNUVFxRVFCREVFa2YwTUxQb2Y3eXBML0RvZlhmVi96L0FJZ1JDMFRRQ0xSNmNkRlJralZzbzdIelR2MUQ0''@;'; put 'put ''QjdtNDA0OERPbG9wTmx2NjQ1U2VYWExUNTFzWHpTYStXM0FGM0FBQUFIamFqVmNCYkZiVkZmN091ZmUrdi8wTFdFb0xDQjBEVWhreFRXV0VTVVZHaVdNRnNWUERtRUVIWmx1Y1k2MVE3QmpaaURGS0hacWw2WXpERHBFMHFBeU1Oc0JRc1NLeXBxdk9PVWRrWTZZaFlGd0h5RFltMDduRkNQTDJ2''@;'; put 'put ''Zk4rNkY5b3QvR0ZqOE81OTkxN3p6bmY3Ym1GQU1oaU1oWkM1dFhXTFVZQlBEMklZemorSTFDNGhtODNyVVRwaW04Mk5hQjhSY09LQnM0Ry9jbG9PaU5oeCsreUdJMEptR0llaHdyVXVZNTBORnBscTByVWlvZ2Z5ZkRWL0dLYytRSktMMEJRRzdlU0EyYWpCWjhpbG5GUUhvUHpaS3djUVJHRzhX''@;'; put 'put ''Ui9qN3ZqN1hGdmZCUkQvSWsvR0hMa3Q0TjYrN2gzL3YrUHh6OGRjb1gzaGh3WitqeC9qUGNPTWJJOTdvdjNKYmpJMzh1L3Ywa3cyQjV4SzdPa21NaE1UMkcyUGtjb3FnaUhxd2lQNlVUQUY0Z0lNNGtNcmlFS01Jc29aRzVuczFKckNNSDkrQkZuUGtnRVpyeUYvaGNJd1l1RTRDVkNjWkR3K0FQ''@;'; put 'put ''aGNaUUkrRE1SNFRnUjRUMGl3bWtpZ3crSURNNFFoYXplcDF3dEpySlNMTVVvbEJJcElaZEtLWGtjSzV2bDJ0T29rZ3ArY3lVaGR1NzB4R29uZG5aaWJ5Y09tRWNVb0pZb3hBSWlpMFZFRVJyeGZhNlFSQkpaSkpGRkV2QVRQTXI1YlVRaGZvWk5uUDhFZnM3NTI0a2k3Q1F5MkVVVTRCZEVCcnVK''@;'; put 'put ''QWp4SFpQQThVWUE5UkNFNmlVTHNKN0xvSXJMb0pyTG9JYko0bFJEOG1oRExUb1IzaUNMOGlVanpvcFlYdGJ4NHkwdXd2QVRMaTdlOGVNdUxsekV5aHZtNlhDNG5KemtLWExXS0dackNHbGV4dHROWjA1bk16Q3htcEJHcmNEZWE4RDJzWmkzdnh6bzA0d0ZtNFVGR3Y1TVJQY2RLdnNnS0htVGxq''@;'; put 'put ''ckppeDFtcDB6ekpHYnRaeGR5M05MbGZlcS9kdzlla2lYRVBwN3IyVVhldDhiOEdVYXVOREhZSExveWNTakRJbDZlSHZCdW56aXVlOS9wbzNCdzNYenlTM3JwNGM3eDUwSkcvMkRlS2N0T0VtQ1lVWHlNY2JpVThiaU1DbGhJUkZmRW81eVJxRUZPRG1ob1VIVVNFSFVSa2xSYXJ0RmlseFNvdFZs''@;'; put 'put ''ZkZNY0xoQk9Gd2tuQTRTd1NjSXlJWktTTloxMUV5aWx3bVplU2tvbUlWRlJrdjQ3bStvaEtYRVVVWVNRd3pwWXNwWFUzcExxZjArVVMrMHIzRkUrWEZrekdsdTV6Uyt6WHVMU3B2VVdVc3F2TktUeldlcW5zdk1iU3VrMmk5YVZaekVTYktkUlpueHZUclRMK2FpemxSc2VZaVQ3U3NlZkhuSzlw''@;'; put 'put ''WkZqSXlUYTdoN3NsUHIxcEd1SWoxdXBWeExXVWtiWXhrSXg1ak5FL2dTVHlGcll4b095UFp3ZHZZeWROMjhaUTlQTjB4MXVBa1QzYU9KeGpGM2Nad2wvRmNjWUxwV1RIQ09rcUpxYU9FdTlUUUVyTnIySW1PUkJQSWZjeC90NnlYRm5sRU5rcTdiSlZuWkpmc2tYM1NMYS9MQVRra2grVmRPU0du''@;'; put 'put ''NUVQNVdNNnAxNndXNjJndDE4azZWYXQwaHM3U3VWcXJkYnBJbCtqdGVvZlc2eXBkby9mb09uMUlXM1dEYnRJdHVrMDdkTGQyNm43dDBUZjBMWDFiajJpZm50VDM5U1A5eE1GRmJwZ3JjV1BkQkZmaHJuVFQzTlZ1dHJ2T0xYQTN1c1h1TnZjTmQ2ZTd5elc1SDdoNzNRUHV4KzVoMStZMnV5ZmQw''@;'; put 'put ''MjZIZTk3dGRWM3VOZmVtKzczcmRlKzRZKzZ2N2gvdTMrNnNWMS9nUi9oU1A4NVA5Rk44cFovdXEvMGNQODh2OURmN1cveFMveTIvM0svMHEvMWFmNTlmNzF2OEkzNmpiL2RiL1ROK2w5L2o5L2x1LzdvLzRBLzV3LzVkZjhLZjhoLzZqLzI1NEVNMkZJZlJvVHhNRGxORFZaZ1Jab1c1b1RiVWhV''@;'; put 'put ''VmhTYmc5M0JIcXc2cXdKdHdUMW9XSFFtdllFRGFGTFdGYjZBaTdRMmZZSDNyQ0crR3Q4SFk0RXZyQ3lmQisrQ2g4RWlHS29tRzhIVTI2azl4c1BOKzR4bmhEd21nMGJqUFAybjUvam04d3JqUysxbmhsd2xwbTl2WEdjNHdybEQ5VDVRcmpxNHlyRTBhOWNidStURzR3ZjZYeGJQUDNHcDh4ejBU''@;'; put 'put ''ang0MG5HVWZHQzF3OStTbmpwc0ZaZjVVWFk0MzVMMkY4MlhpTGNXTS95N0kwZHJQdk1uN1ZlTU9sbkdiQTdFdjVldU1LN2ZwZnJNOE95RlhYWUl5NXhvOGIxL2N6czlkbDJmdnZuT2F6YTFDZWxNZE5lV2NlWU9mVnRObjhWNWcvMzU1dk9Xd3hlMWxlNXRNb0J0ZzJtcW9pMzU5bXRUcTFiVTZx''@;'; put 'put ''bWJRNmFkU3BQbk4yenAvTWFUTzczYTA1cjk2Y3hnNmEzWlBZdVpxbUdWdWJVM0s0eUorZUljM2JBYlBYV28wT0pmTmRxc0FiYks5ZW0yTTNJdFh0QUgrbDJXZHlOZHA1UWRYNS92UUdYWnVubWJRaStmWldzNytlK20yKzNRc3RNNy9wSWFlMFNYbjJIT1BJUEVQWmZ6UDdib3V1MXV3M3pjNWZ1''@;'; put 'put ''U2IrSmJrcTNuOVJwZkozck03ZDdxNy9nd2ZPVkh6VzNxWGd1MnNxczVLOFRqMjdkaVc3WVBMQ2p2QjV2c1F5bUlGcTlyQ2tjNDlnMy80aWUzclN1VWZhRzdYRU92Y28vbDYxa0gyb2ppakRUZXh6bzlucGJ1SHZQa3VJY3V2bG4ySFhXOGF1MWNpMzIwUjd2YzFrUjIvbmVsdlkrYjVpdmUrcjdI''@;'; put 'put ''NHZzME8rZ2dQNERsOTBwL0ZEZTFWdXhEOGw0REYyNHZIb3NKN2F5Zk9LWEdhL20wV1FlTDJwOEQ3Y1NWN1BibGVFc2R5cmdoRk53OVU4OVhVODVZMVl6TkVYVEx1L016NXNiSGVHR3Uzbmc4YkxqYmNaOXhtZk5TN0NsN2pQY254WE1sSWdoWktWSWhrdUl5NDkwWDhBdGxLWFdBQUFBQUVBQUFB''@;'; put 'put ''S0FCd0FIZ0FCUkVaTVZBQUlBQVFBQUFBQS8vOEFBQUFBQUFCNDJtTmdackpnbk1EQXlzREMxTVVVd2NEQTRBMmhHZU1ZUkJqTmdIeWdGQnl3TXlDQlVPOXdQd1lIQmdYVlA4elMvNDBaR0ppUE1xb3FNREJNQnNreHNUS3RCMUlLREV3QXhsY0tOZ0FBQUhqYXRaTlpVSTVSSE1aLy83ZDlFU29V''@;'; put 'put ''OWZiMmFkTkdvaFJGOXFYSXZwU3MyYkt2MlJyckVFTkZVc2llSktNWkUxTlR0aHZ1dURWampMN1BsVnZ1REIzSFYwd3p6TGh5WnQ1ejNuUE9uT2VjZVo3ZkgzQ2g2d3RCZEk5VTZwazQ1NjVTck1jbGpNT05nWlJ3aXpydTBrZ1R6YlRRSmg0U0lJTWtUQVpMbkNSSnFxUkxwa3lWSE1tVFFpbVNF''@;'; put 'put ''aVBWZUdXOGQ0a3lqNXV0NWhQemkrVnVCVnJCVnFobHM2S3NZVmE2ZGQvbUgvbE5LWDJIeFkwZTJvOXA0NW40U244eHhTYXhraWdwa2lZWmtpWFpraXNGc2tFMmErMlh4bHV0ZmNoc01kdk56NVpoQlZoQlZvaFRlNmlWOWt0YmZWUXYxSFAxVkxXclZ2VklOYXVIcWtrMXFnWlZyK3JVTlZXcmFs''@;'; put 'put ''UzFxbEtWcWtLVnFUT3FWSjNvZk5PWjFabjAvWk9qM0ZIZ3lIZkUyQWZhL2V3K2RpKzdtOTNvK05yeHVlUHdoNUIzeVYxZS9hZm1ibmc3aytDUFd3U2orOC80aDBiWFNSZGNkWGJ1ZU9DSkY5NzQ0RXN2L09oTkgvcmlUd0NCOUtNL0F3Z2lXR2M4U0tjZWlrbVlUaVFjRzRPSklKSW9vb2xoQ0xI''@;'; put 'put ''RUVVOENpUXhsR0VrTUo1a1JqQ1NGVkVhUlJqcWpHVU1HbVl6VnpHUXhuZ2xNWkJLVG1jSlVwakdkR1dTVHcweG1rY3RzNWpDWGVjeG5BUXRaeEdKTldoNzVMS1dBWlN4bmhYNy9EbmF5bTJJT2NaelRsRk5HQmVjNVJ5VlZWSE9SR2k1eGhjdlVjcFhyM05RVS9XVDBOZzJhcFh1YXBwOXRGYXUx''@;'; put 'put ''SGRGczRHeTNOK3Raby90ZG5QanRWdUZmSEx4QVBadFoyV05sTFpza1JvOWIyTTR4N0Rna1hQTVpLVkc2QWlLNG8zY2VvR21XQkYwUDhkMW5pcHhoeExLTnZXeGxIM3M0d0VGZFMvczV3bEc5ZFpoU1RuR1MxN3FhZXJGT3ZNUmJmTmdvZnBwL3p4K1F6YXJvZU5wallNQUNISUhRa3NHU2FUMERB''@;'; put 'put ''OU51SmxZR2h2OGh6TkwvalpsMi8vL0NkSUJKOFArWC8zNGdQZ0RJUFEwaWVOcXRWbWwzMDBZVWxieGxJeHRaYUZGTHgweWNwdEhJcEJTQ0FRTkJpdTFDdWpoYkswRnBwVGhKOXdXNjBYMWY4Szk1Y3RwejZEZCtXdThiMlNhQmhKNzIxQi8wN3N5N00yK2JlV015bENCajNhOEVRaXpkTllhV2x5''@;'; put 'put ''aTNlczJuVXhiTkJPRzJhSzc3bENwRWYvVWF2VWFqSVRlc2ZKNk1nQXhQTHJZTTAvQkMxeUZUa1FpM0hVb3BzU25vWHAweTA5ZGFNMmEvVjJsVUtGZng4NVF1QkN2WC9iek1XMDFmVUwyT3FZWEFFbFJpVkFvQ0VTZnNhSk5tTU5VZUNacGovUnd6NzlWOUFXK2FrYUQrdWg5aVJyQ3VuOUU4by9u''@;'; put 'put ''UUNvTWdzTWkwZzBDU1VmZTNnc0NodEJMWUoxT0k0Rm5XcS91VWxTN2xwSXM0QWpKRGh6Skt3aSt4R1djM1hNRWE5dGhLUE9BdlNKVUdwV2Z6VUhxaUtab3dFTTlsQ3doeTJRL3JWclFTK0RMSUI0SVdWbjNvTEE2dGJkK2hyS0llejI0WnFTUlRPUXlsSzVGeDZVYVUydGdtc3dFRGxKMTFxRWNK''@;'; put 'put ''ZG5YQWE5ek5HQnVDZDZDRk1HQkt1S2hkN1ZXdG5nSERxN2l6K1c3dSs5VGVXdlFudTVnMlhQQVFkeWdxVFJseFhYUytESXR6U3NLQ2t4MHZVUjBaTFNZbUJnNVlUbE5ZWlZqM1E5dTk2SkRTQWJVRyt0TW90aVh6d1d6ZW9VRVZwMUlWMm93V0hScFNJQXBCaDd5cnZCeEF1Z0VOOG1nRm8wR01I''@;'; put 'put ''QnJHTmlNNkpRSVphTUF1RFhtaGFJYUNocEEwaDBiVTBwb2ZaellYZ3lrYTNKSzNIUnBWUzh2KzBtb3lhZVV4UDZibkQ2dllHUGJXL1hoNEdBV01YQnEyK2N6aUpMdnhJZjRNNGtQbUpDcVJMdFQ5bUpPSGFOMG02c3RtWi9NU3l6cllTdlM4QkZlQlp3SkVVb1AvTmN6dUxkVUJCWXdOWTB3aVd4''@;'; put 'put ''NFpGMXVtYWVwYWpTa2pObEtWTlorR3BTc3FOSUREMXcvRG9TdENtUDl6ZE5RMGhnelhiWWJ4NFp4TmQyenJPTkkwanRqR2JJY21WR3l5bkVTZVdSNVJjWnJsWXlyT3NIeGN4Vm1XUjFXY1kybXB1SWZsRXlydVpmbWtpdnRZUHFOa0orK1VDNUZoS1lwazN1QUw0dERzTHVWa1Yza3pVZHE3bE5O''@;'; put 'put ''ZDVhMUVlVXdaTkdqL2gvaWVRbnpINEpkQWZDenppSS9sY2NUSFVpSStsbE9JajJVQjhiR2NSbndzbjBaOExHY1FIMHVsUkZrZlUwZkI3R2dvUEhiQjA2WEUxVk44Vm91S0hKc2MzTUlUdUFBMWNVQVZaVlNTM0JFZnliQTQrcmx1YWMxSk9qRWJaODJKaW85R3hnRSt1enN6RDZ0UEtuRmErL3Nj''@;'; put 'put ''ZUdibFlTTzRuZnNhNTNsajhnK0RmNHNYWlNrK2FVNXdjS2VRQUhpOHY4TzRGVkhKb2RPcWVLVHMwUHcvVVhHQ0c2Q2ZRVTJNeVlJb2locmZmT1R5U3JOWmt6VzBDaDlQQkRvcjJzRzhhVTZNSTZVbHRLaEpHZ0V0ZzY1WjBEVHE4K3l0WmxFS1VXNWl2N043S2FLWTdFVVp6SUFwS09TbXNiRHM3''@;'; put 'put ''NlJFV2xnN3FlbjAwY0RsUnRxTG5pdzFXMVp4aGIwSDcyUEl6U3g1TjFKZXVDa3A3VVdiVUtlOHlBSU91WkU5dUNhQ1cyanZzb3BpU2xpb0lqNEliUVg3N1dORUppMHpneTZCSW1SeHNySVA3WW9kT2FLQ2RnTGZldElxNzl0QzdjOTE4aUF3bTUxdTUwR1drYUx6WFJYMWFuMVYxdGdvVjYvY1RS''@;'; put 'put ''OEgwODZ3c2VZWFJSbFBMbnZmbmhUc1Y2Y0V1UUpHVjNhLzdrbng5anZXN1VwSlB0c1hkbm5pZFVvVjhsK0FCMFB1bFBjaUdrV1JzMWlsRWMrdlczZ3lSVGtveGtWekhCZjAwaDd0aWxYZm8xM1lkKzJqVmx4V1ZMSWZaZEJWZE5adXdqYytYd2pxUUNvS1dxUWlWbmc2WkQ2Ym5acndzWlM0TEVY''@;'; put 'put ''Y3MyVFhSZlFkUENFZDRyODR4TFgvNjl4eUZOeWl5aEpkYU5jSnlRZHRIeXZvclNXN2s0Y3FSbWZ0dkd4bm9oMUpOK2dhZ3A1SUxqaitYdUF1anhYcEZPN3o4d2ZNWDhGMjV2Z1luUWErcXVnTXhCTG5yWUlFaXlyZTBrNm1YbEI4aEdrSjhFWFZRck1DZUFuQVpQQ3lhcGw2cGc2Z1o1YVpVd0ZZ''@;'; put 'put ''WVE2RFZlWXdXR01PZzNXMWc2NTNHZWdWSUZPalY5V09tY3o1UU1sY3dEeVQwVFhtYVhTZGVScTl4anlOYnJCTkQrQjF0c25nRGJiSklHU2JEQ0xtVkFFMm1NT2d3UndHbTh4aHNLWDljb0cydFYrTTN0UitNWHBMKzhYb2JlMFhvM2UwWDR6ZTFYNHhlay83eGVoOTVQaGN0NEFmNkJGZEJQd3dn''@;'; put 'put ''WmNBUCtLazY5RUNSamZ4akxZNXR4TEluSTgxeDJ4elBzSGk4OTFkUDlVanZlS3pCUEtLenhQSTlOdllwMDM0SW9GTStES0JUUGdLM0hKM3Y2LzFTTk8vU1NEVHYwMGcwNy9EeWpiaCt3UXk0WWNFTXVGSGNDOTA5L3RKanpUOTV3UXkvWmNFTXYxWHJHd1Rma3NnRTM1UElCUHVxSjIrVEtyelo5''@;'; put 'put ''VzFxWGVMMGxQMTI1MTMyUGtiWlRPNkxBQUFBQUVBQWYvL0FBOTQyclY5Q1hoYlY1bm9PZWRLdXBJbDJiNWFMY3Vick5YV2FtdXp2TWpYUzd3dmNiekZTUnhuYzV5MEtWM1NsaTRocExRTkZBcVVBV1pZaHI0dTBLRk1TNUsyZEtIdEZDaFEycUhMREcrQWVjTUg1UTB6TEcvWUJqb3diWDA5L3pu''@;'; put 'put ''M1hsbTI3S2J3ZlMrMUpQdnFyUC81OStVVWxhSEZ0U1QrRk9kR0hLcEFkdVJDWHRTRTBpaUh1dEFRY29tTzNueG5lemFUYkE3NjZxdXJIRUtsUVVOUVdTS3M5UWdlM3A2MGUrM0p0RGVkVFBQc2s0ZGYxYWYwR2YyazM4Q1R0UHE3MG9aMXlDYlQrRlBTczdqclAzdDY3K3Z0dmUrKzNrYVBwN2Uz''@;'; put 'put ''OTBpdjU5YjdqalI2am5qdXUrOCt6NUVqdHc0TTNIZDBvT0ZGN21kOUhyOEhmbTQ2MWpndzREc0l2dzE0T25zYmo5elE1b3p2dlBMS0I2KzhjbWQ4eFJQM3dBOUNCRTJ2L1I2ZEkrZlkzdnhpSThJWUxTS0V5a2NSSWR5U0JuT2NreHZUYURRVm1uSy9VS25sbldGcmt2TTZBdWxVSnRucXNOdDAz''@;'; put 'put ''djNENW9URzdiWlpxNnV0NUp4a2VkRnRzN2pkRnBzYm9iVTFOSWdmeFdQa2s1V05xQXloU2c3ZUgwRjAzaUM4WFFmenVsRTl1bUgwdkhmbmJqRlVvU05JeXhGTUVGNDJZb09oZkxTODBzenh2SDdSVkViMGVtRlVnd21wSUdOdU1VQWZzQytSbmo5YTJrOXB1Q0RXSVZSZlYxc0QwN2lyWFZWT1dM''@;'; put 'put ''QlZLUHpqYThPWVQvSmUzcHRscjJ5U3ZaSThlL0gwUy95YnpJM21HMk50c2J2Z2RhMzUyc3c3emRjcGY5MWdmdml1ekYzNGE5OU5Qd2IvMHQ5TlB3Ny8wdDhGU01iV0hpVVI4Z2ZrUVNFVVI1MWlMdWIzMWRWV3U1dzJzNm5NWU9hSURpT09qQ0RDa1pzUlJ2Z1dDbWEwQkhCeG9yR21wcVo0VTl4''@;'; put 'put ''aEZ5eGEzaEgybFdQQWtYUU1CN01PcHhERDZWUWVad0ZaSEU0ZW5nbDEySTRjem5RNWZHVFNxVUJRSUpIVWtSMWl6OGxvYU9meG93ZGE5K2JFS3haRHZwbm81ZStROW9zN09rYXdlV1owNnVhNU5OZmR5MmNqclRzcmNXWDFycUhrYkZyWDJXV2NiZlZHZU9sTjkrNUpYSk8yL1o0ZmJwV3lJNm1X''@;'; put 'put ''RG9mMEpxeE5pK0pyLzBYK2xYd0pNTVVLcHhaSEhlaUYwZk5WY0hKaEk5YVdZYXpUNGhXa1EzcURUbjhNYVRSb2lXQ0tTV1k0RW03SnhCT09xK0RHM0tQbmc5QWwvcFpkRURSbC9mZ2xFK1o1Snc5bm50eWlCeUhRbG5aRFcvZGFXQkFEaVVSRGc4MkdVS0lqMFo1Sk5jUWJZcUdBcmQ1V1YxMWx0''@;'; put 'put ''UWlWc0pueVFEbHZEMXRrNENaYkFhYTJjdXpGU2V5MVVLQjZHM1YybXlPSk5uMmZ4K3ZmL2ZWQU1EUVlpUTdDZXhSL3FGTnE3cndtMXg2SnRMV0g4ZFJBS0RnWWxiK0t0ZEdIdVFoZWpFN0VXM1pHbzVPSmxva28zclU2aFQ4NGtNNE1EbVRUQTlMeDZFUkxZaUlXbll5M1RFWVRBNW4wSVAwSzlz''@;'; put 'put ''ZWhwclhma3hQa01ZQjlHUGhQWHV5SVIvMTFOVzZYMDRETE9GTFBrSXBpUGw0Q01uYU1hb3V3S2hKcGFJaWtJNm1HY0VOenVGRUhtS1VONnJ5TmRFL1o0bzNCTjg1TTFxbmpuWWp1ekNudjBwSU5CT0hQT3B3a2lhVjlKenVQNU83eDFFWEdFNUhoOE54YzVzcElVeWFSdkZyNmRGZHQvVVJmcmpr''@;'; put 'put ''MGZqcC90bm1vbVQrdzNMS1F1MmtnT3VpTGpJVERJODM1VVovNFR2RkExZkhoYThqeDlsaE5WNmdoRzI3dVdqMDNkOHRZMS82UTZBVmlBSDZCUGtFK2lVd29PbnJlQVloaXBDeUpuUzhHSktoRTlNOTUrQk12VXRJWlgzakU3aU93SFd1QkkxVmc3Mng1bFNBNHkva2cvbzlEM3NvcXArQTlsSUhX''@;'; put 'put ''K2JVNUhDTlB3ZGk2aDAxYW5BZ3pOcFoxQXZuWW5Qem5MN25rc0hkdTRaeDMxNDl2dU9ISHUvMjd2MzdWRHk0RVlDS2c1emxjcC9iVFFUOG5JN2FzRExEWXVZVTU3MkhvZk11RkgxejFkZWpIdXROK0hmZ200SDFmUXJOSUZMdjhHSlBKSGQyeFJwZE5xMGQ0RjlZaWJvVERXSU9SRnFNVkhkWnF5''@;'; put 'put ''UkpGYU8wWTdHNFd6UXdQWmRKTndkb2FOMCt4RTFiYWpYbmdCbkJxUWZnam0rbkd3WUQ4VzdMVjZhakh3U0lJWkxMQUp0aHp1dzA2VldDSDA4RitaNzNoUHlkajNWODJHM1RlaW9aeXJjYk1hOHFjMFhBa1ppL1Q4R2F0eHRMczB4bk13S3owdXNwS0xtVFRhczA4VnlhRWRSR25JK3dvNDNpelR1''@;'; put 'put ''TUlPWXc2dmRtQWJ6THJhMXFhYTh4VlBHZlNhNHk4V1JBc0ZpTnYxT2hOWEZsalRYTkxqZDVzMWp0YTQ2Wnlyc0hJbVhSYUUxOG1FR2dpbUhpVFZtZml5aHNzK25pclEyK21CNHY2MEhGU1RsTElpQUtBRXhvT2EyWUJsNEV6WUE0dEE3blRvOWZnY2NiREszVjhkUmg3cWZSTVV5bWFKT1hmekQv''@;'; put 'put ''M1hQNmJPUDVOK2dzZGIzTHROSG9NN1VUbHlDa0M2YUpCRmFXQU1Id1dpajJBODQzcklvMmZESnF0SU5HY05mV2g0OUVFRlczK3VscXhsWTdWaG42TE8zQU1xTEZLdEROa25GMUhScUdTb2FMSDdtbkRuTFNLWTExc1A4TWdZejhIOHh1cHRrQ2ZBSmZEMklucFFSdFJtWStEQXk2V3FFY1VhV29x''@;'; put 'put ''U0ZLODlwdTFSL0hIeVU5aFhrRXNwNE9DNU1CWHl4TlNWb1VuQjZTN0I4aFAzM3daTWZuYUFiemlHSGtTMkZzOWlvaE5nRmhzeHpKWHdDRFkyUUlxZ1o0cTZ5dnJxaHlNRCtwZ0lack5mSTZrVXpIc2JhUkVBZ3dBNDNjUERyNTdhdXIwNE9EcHFmekJUT1pnUG44b2t6bVVOKzI5WjJYbDdyMTc3''@;'; put 'put ''MTVadVdkdjU5alp1ZG4zam82ZW5aczdPOFpnVUEzdmI0QzgxeUczV0FWSHlRRzhSbVN1alFFL3h3UXJBeDBmekNZRjc1TzMxRDZZRXNtQjJaYVRxMU9JOVcrQlRlbGhQeTdVTEFhTlpiQWR3QVpDUmhnNEdidWpDc3NpWWpKR2NQcUNHcjRxblBWVC9rVlh6d2NMSEs0Q3cvbTB3S24wTnUxb3Vt''@;'; put 'put ''Sm5MSHI5Y09laDNOak10L0JKcWFudFgvS1hwcHA2QTVmN3hmN1VZcTd2MU5DRDhobUdBSjVhbUQrTXVzVk9kelhNNVFPQ2hoWEFNa0NTUXdzQ2NvbmpORXVBb0xBWWtKZExsS2Fkakp6RHFObm45L2o5UE8rQ2s2YWNJOW5LV0dzWXA1MnRHWG1OT2o2WVVibXdBdnhYVGtXaXZxUDV4Rmo0ME55''@;'; put 'put ''T2diRjl6Y09SekVKVGVQSDkrU1B0QTIyZFU1Mlg5SnA2MnB1VFdYOVBVNzYzRS9kMyt2TytkQ3AwS2pHWDd0b2xsTS8yWmZlbUdENkU0QzBGOEM5RFpoUVZtMDBZVUhCRXA0VjlZQVQ2NmxFQUlST2xGWm94bzlGb05nSU5DNVpLdWw2L0o0aVRBdFZZdldrQjQ5dWt6eHZ3elBpbGw0clN6eDlz''@;'; put 'put ''d3k5SXVZNEhmNFp2a003SzU5UUdjSExDUEExVTczRUFleE1xT2FKQkdFNEszcEdHQVlrc3lwSjdJNUFhVUgyallBMlVBRWsrUDBwVmZLYUFsajkrVjZTNWVhVTlQaEdKVENRbVIxc04rSVBTUTN6ZlhPZHlaLzVFcjZrOUdZOGx3MlBSeUZBb1c0V1h1bDV2U1IvSTk2eTBNMWgwd2hyOWNKWnUw''@;'; put 'put ''T043eFc0Z0lvNEVxb2hXUTBaMHdHSTBXazZ6Z2dwaWxJY0ZxdHlpcGdhaG1xYWFrSzhST2xkNy9RRTlLTVJJV1JMbElCVExuSHlBa2tzdGhqOHM2Z2Jva1NieGU0NTJkWjNvUFgxbThOVFlPMlo5bzNPNS9abnF5M3I5RTVIWVJMei9zTGx5M3hCK01IT3dPMytzNjhrN1YvN213SzdXNGFuYjUy''@;'; put 'put ''enBidWxNZkx3NVB0dzAzclY3V1laekIyekV3T2lwWHF3QkdZSVpOVkUraEpudUR0b3ZhRGNjTEE5NzBoNDdNSWlucEhmamw2VHZESk9ydWxwVzMwUDFpUlRBb1liQklRemo5WXM5TmgwQmJqdkNGd0ZCNFJwNkFBS0dzMkpjSXhLaGNJaDBSTnBUclRYaG1tWVpHaEVEWldPVWUyUTJxUlFLZkFx''@;'; put 'put ''d2tGbUpVL2s3V0U0WVovbko1VDJ6dlozRDNjYzZPbzkxajdYM3p2WmMwZGMwRW8rTVJFQjdpSStFV25ZbFV0T1J5SzUwWWxlTHFXVSsyN1hmN3BqTHBxWmpzWmxVYnRibTJOK1puVy9CdDN0eWZsOUhZMk9ITDVCcklOSUZYejRRNnZaaTdPME9CZkkrdE5YNTExWEMwUnYwWUQ4UTJMb1dDRmxM''@;'; put 'put ''Vm9BVU9OZ3Z4emxHaTZTRmV2Nk5EWFRIQWErZm5iOURQbjVRMFNuQ2RtSDZod0lCQzRYRk92UDgzS2FUNzJMNHNJT2RmQXZEQXZMa3hwT1hzVUU2UTA5ZXhnRjVEMHltNE5kQmZzQ3lSczlIUVZOeVVxYk9WaXJJMXB0V3R0N2NWRkRCZDhDa1ZvcWZMNGdXa3draGs5UGtzRlF5UWFSVE5BMVZF''@;'; put 'put ''SkV0aEpKTitjUjMxbGlwZExMV1NIT3FuQUo3ajhsYS9EcllleFd3RGg0SnlJUy9nQXdYTUg0Y2YrRjhNa3h4TjRzV3NVU21BWGQxRCtzSTZGUFd0Tjl1eHZZc2ZrNjZBWi9GWFpsWDgwOC9uV2Y3N0VOZkplWDRYd0JiZWRRbzFsTWNwMlllMkU0Y21WVllQdUdvTGxCSk9UN2xFdlMvUHZ6M1Vw''@;'; put 'put ''cTkvaVYvWng3bUhFT0x4S3JPeWNHYzJTaE9hKzNhTVh3VzVueE95bjBhWm53MTh5cWQwNzMyZS93dHdJOHE1RU5aTWVVd0dTbUx4SlROY3pEeDZTS1pReG0rRm1zMFRzMll5K1h5dWJ6K0tsOVFSeGVpeXMxMXJzNU11V0k1LzB6NzNxU3ZweWs3N3cvdk85dSttRXJ1YmU4eHErQzlXaHZzOERa''@;'; put 'put ''MitwTHg1cE10TThuSXpwenhQVVdtTlYxblpPMTJiZ2U1RjNXakNWakwrVHJBQWFIUlEvUmNnNFZvOUowZFlHZHlJKzcxWndiMTJZTGNPR1EwRUEzSUFSM2x5cm95MEMzNXcwaGhkc0JFOUhwdUNUWW82S25OVmcvdG8yQmNhN0JoSHIzZFRrM1VOZ1NZNlEyY2Z1V2luYldBcVMxVUpuQkl1N0o5''@;'; put 'put ''TDU3WHpTT2RqbDlpM1NjWHdNYXJFa1dFeEFseGZHZ0FnSkVQQkpvQ3ZrREF4THRMdEpuR1FMQ0lPbHNkenF5VFp5WmM2MGJtbEd4bGRvR1hxdEhNenFPUEhVbmNmLzdZVlYrNTRzaURSNU5Uc1dpbnZtNjJKVDdjM0hPOHZYWFFZbTR2aTRUcTY5b0RpNS9adS96RmxmMTM3Y3NmemxyYTM5RWYz''@;'; put 'put ''R01nN2VuNHprUlA2dXFqRHg2NS9DdFhIdnpzMHNSbEdiQkRFNUdKWlAvSnZwaTNWOXY2VCs2R1FIaWhkL1pqOHl2bmx2ZCtackhHNC9ZM3ZMWThhaXRMNXpNTHFiWUJkdVlOOFBaMTRQczhTUEt3R0RKZ0FNd0lZQ0NncEFha09CV3JZRlJRalVxdjE1ZnB5MlFWdVFxa09NOU0ycUFSazZ4MDdl''@;'; put 'put ''QUFqdE9mdy9mZmY4ODk1TnpxMUt2NGpIUUdnTDRmeGo4RzQxZUNwdFdJdXNSMjRQd3dndzZvRHVTamRobk9WbkVROFZqV3hPbGM3bXFMNEttdmJuUTNWamtFbDhVVmFkQXpSWGlqQVBCZ3F1cUF6bU8zS3I4SSszRnJkaTZSakxmM3BSWTdwSy9oVU1mb2VOZFBmdE0zTjlmM0czSXVNdEdTSG5k''@;'; put 'put ''V0w3Wmw1aEw0MXI1MHF1L1gwcVBqSFIxajBtOHBINkh5NndOQXA3VW9Kb2FyWGNZeWlpUWpLcnQyYkhCaHdZTmFWQlB3QjZnTFM3TisvbnpwbWVQc3ZRY08zTHM0Y0tZbEVyb2tOMzdMeE1RdDQ3bExRcEdXTXdNbU9MbWxldzltV3lOTmlhbjNUazYrYnlyUkhHMXBnM09oY0h1RTZWZDJaclVV''@;'; put 'put ''d01RTWNnVk1KcVBOWXJTYjdJRUc2dHV4cWxnWnhsa0YvU2hFZm43SmZZdUw5MTN5ODUvUDN6WStmdHY4L2VUYzdyOCtmUGd6dXp1RzM3TnIxMDNEcTg4eCtUOEo4OFZnUGlPS2l4R1ZLMUpkU3JNSW9xdThXQnRtVm9aUjluaUJhbVdsL0ZHUVgzZmc2NlQzNFRzbEQvNFJ1ZXExdkNSMWtYTmRo''@;'; put 'put ''ZkhUTUw0Qk5Za0JkWHpLNmRpb3Fvb0JYeGlRZ1k3TWVCNGIyY3ZHUFNYZDBvUC9uUTM2VlhWTWVsNTN3bmw1VUZwc0JhMExjZldFYUxSTWlkZHFFRU11WmdNN3FDYktXQ3hvRzZBUkJyeXltZWNSTmhMdnBzTkxlL0VIc0xYbGp1RkZkb0REZDhBQlh0OGxIMkQ2Uk5OMzhHSHB2K001K1FqYkVs''@;'; put 'put ''SDFDUDJlODZpdzU2c1lUSU9pVDFGWGwwRkhwdnVsZnFrS3RCbVdtTzRXWGtsNEoxZUowcUlvNG5zcE9lRnV1bTNwSmR3cWo0cyt6SHlzVnVyQVdMZDVaSE1SREo1SlVhUzlxSjBFc3VjWmFDdFFMR0xtQmNOb3BpeVRKUTZReWNuQUxxQkttMThEM1lzMFpWZ0dKYk1IVHpaRW5YdGJ3djBCRWF3''@;'; put 'put ''elUzY3lIczFGZHJiaWY1UmlmWmQwd2h6N1lLZ3IyRDRieEZxRFhrdVlkTVBNODhiSm5sT3J4U0xMMDZTQWt3YWdDUkJkKzBSODZhejBLazVOUzcrN0d0WXJuUVNkK3pucC9YamsxRXNNZnYwd0xvRnh0VlFuWll1bW96RTZrRUduUlZwQm9JdjJBNTRrQlVLa1hyRUxVRzcxUTZ3L3BhRmZySytM''@;'; put 'put ''MzJKZE5rRmRsd0dNRXE5Z2dCUFlMMklkMW9taTlMcjBPbDJXRGYvSDZoUUpzczkvVnNmOVM0YkxkYUtiSjZSa1ZFdGhWQXpMOHNwalBnNGpEdEZqZVlJTXduaURxMDlRL2t0eCtIZi9QK3hxbWVuc3YvdkFnYnYzajk4OE1YSHp1SXk0Q3NzNWVPL1MwbWNQZGs2OWIzTHl2Vk15M2pKNVFISDJJ''@;'; put 'put ''T3pOQkh3SExHTllCWkFxaDZtYlpOMlJEMXNzTjlzc1pudTVYUWcwNktnVDMxUGdQWGF2eXBhRlNWdzljR1ZQejVVRC8wZkVGZk1uVHN5L1RNNjFIYzZESEpOd3g4emc0S3owZkRFTWJHQlY1c1FNOWF0cmlRN01QT2FCNURDSGg5Zk5wMkxmdHQxdUQ5bURzVUNRTW1HUTVFNStnelNHRlpGc01P''@;'; put 'put ''dmNKSXJKN3lKTlkwMDc0MWQyTGFvd1dwdTRwdW02Qmw4QlNManEya1J2WWtjZ1hBQ1c5UDM4Y3VKWThGQ3FHRnhGOENxSDlZRDhKTlFCcDVxbXk2Q0tLT3hOSVhlZnp5TUlWc3A3WUxWV2J4QnNZSUZCVHB0VVlFWU9YamIvNk1qRHo0a01kRkxzWlFZMmZNdlY1Ukw4WStEN05JV2M3RWQ4alVU''@;'; put 'put ''SVV5aEk1WlhEVHUxaVFyVktGVlRVeVZza3I0SW80SXY0S0tnb2pTc3FTaUNvUW11ZCt6bWNDazc5OHYzcDBKRmIweE5OZTQ5ZWZWbkhTczh0SjBMaDQ5bllVTk9lbzFkZW1Uc3hZc3lsV285NE83MlpyaXIzOUhoMlQvSlFhM1BjMitWcmFYTzVkKy9NTGlSbFBoZ0ZHQTB6SFVQMjFSVE1TdG01''@;'; put 'put ''b3FqYTJBdDJwUmVveGYwclV2TXJFY3pLTG9XTzV3QS96a0ovTy9LSWRZcERIK1BpcmRtUnplYXpxYUtZOHEyTkxBelhuaGtVc3d6enhNRXpVNmFSVzJid0o2V1Z2dU1kSGNmNzZHOHp0NHpJYTFYMUlSMmRTOHZzWU9DYUNzT1V1UTZvL0RMWG9Yd00rQWI1dXZRUEEvQ0RUZGhFdVM2ODdpSUhZ''@;'; put 'put ''Q3cvbUVrYVJrc3dWaG5sKzhBb2FGaUppWEcyZWVBVWxrb3RsYUpKTjZZL25OZUl2ZjZoYnp3eitKV3ZELzI4NXh2ZjdJSGhuaUw5N0RWRmRxOStYbDRueUZCeU0rTnR3QnNOT2hnYWpwNnluL0pSTE9PYXhXSVJLRnhobFRDa2dZMk9UMkhkNUk5K05JbDU2YjhuZi9UcUpKNlg3c2MrNlFkNEh1''@;'; put 'put ''K0dkNTg4dGdYR1BnTmo2MUd0V0szamdBZ0xERTd4QkZnRTZnbFF4b1FqQzBtLzJQblRuMDlJLzY4UFYrRy9rajRQb3gyWGZrYkhhb2V4UkZYdVUzaXV1OWtLdm9XQ204MGlzQlZuWlJjRENQOTIvSUMwRjc4aFRlTUxxNjhuU1hkWGN2V3JzdXlmV3ZzZ2JpTS9mSnRXWEJJUUMxNVRQejEzN3Fm''@;'; put 'put ''a2g2MnJWdXA3WFh0ajdWRjgxelkrVUE1MFcrMEFYcEpkb0JpMXdIeFZoZmxrLzl3eW9tb1o5ZGZTK2RENmZFNWcrbWw0dGNCMFArMGh2Mng5OHh3ZFBvTS9neCtVY2V1QzdraS82QUR1enJ5V01EUDE0RjZ0ZUZndTZGQy9OUW5zZ2ZkK0wzTlgrMDAzNTBBSy9lclZWK21hcGJWM2tsMXI1Mkc2''@;'; put 'put ''QmpiR05qNWpPZ1FQQUNSa1p2V0JuVG41WEx1SmlONGtMME5mSit0cmdwNUQ4TTNWRmhESDhxeFpwN2U3OThZcytVckZoMlgrMWdyNnd5K0lnS29CNDNhSzQxV1kwemhCSUFpZ3hkZlZham1kVmtQTldLMk9hR1Z2SmRYaVhZeFdSdlZZcDFPVkxqZVltTzZBMisrcGg1RmNQci9YYWdBNElZY2RB''@;'; put 'put ''RlhzNm1LMkViVndMYUIrcWVFd2ZQcEUzbjBpdSt1U3pHTDd4TkxBem9GcDEvNEYxeVhsczVNOXV5YzZpSEROUWVrYnV5S3RlMGRhSnlMMTlyNTlzV1NyNU02M1RWZjN0Q2E3NUpnMHlZTjhzWUFGMGkxMlZwUVJyWWJ4eWNyUmdsdkd4WFNvRGM0NXF4VWhhNlBWNDNaQlQyRGJtNXh6UVlwVFFy''@;'; put 'put ''RlBUaFc5SHp1Uno1L283VDVjbjgvWEgrNE96U1FTTThuMGRDdzJuU2JDNEkxalk2Y0dPOVBMNUVucDM5S2RVazNib2M3T2cyM1U3WDB3QzJlVUFIai9CdUM5dFEzaTJ0NEdjYnlsRGZMYkd3WUhieGhLTHZyRDdxRmdkbDg2dlM4YkduYUgvZnRUcHFGM2pZeWNHZ3I1bW1zYmNnYzdPZzdsUEhY''@;'; put 'put ''Ti9pWjY5aG1BbTJjZGJnTEg0RWFoeFFESFZHdmxySG5tejFNVTdHSzRXUUplZ2NJTkt3ZTl2a3FCYkpiTEhncXVYaFY0TnpHSUpSbjB5Sk9yTzViVG5ZT254c1p1Qk9CaDkrcFZXUXF4VE52QnpzNUQxRjRDdUJFZndNMko2cWlWQ1R5R0kwd1FFMDVEbGd2TGM0M3FpdlNIcWlxRXF1cXFhdDNW''@;'; put 'put ''OEpjRERBTzZVcDhNc1dJdHdsTkhra1RIZTJDeCtNZ0JkN0RoK3ZiKzZ3WjNYTE5qN0IwZDBxZzJNNXVhdUxRTVg2czdNQm4xMVRaN28wT254a1p2SEJ5K2RTRTkzNEwvZG5ubjFCRkdmeUFQOEJSNUJhVFZIckdzQXV1MGxSanB5SWpzREtsQk9wMTJDVFNHS21ad28wWFFmbVRIRzh0UXFBWmxW''@;'; put 'put ''d2QwdGxMNjVZSlk1dld5MkJYUHUyVmU1Nlg4aHptR21QTllaMy9zMWx2ek16UDlxVlNrd1JHbzloRnRUa3JoYitjRzIwYzhNVWV6UjZiMStOb01xUUVZMGxqOGtMaWpycExvdElvZkUyZ1pHSjZPckZENmhvbEJzYUZ1R1ZmQm1XbEZZdzBnTytWd09JeFFIL0Q3ZlpUR3NhQ1FDN01xTWh1OG1Z''@;'; put 'put ''QUY2UklzcU9tK2NxanpTbDlOdzJMTHdyRzZGYkgzMHE2dVMzdDdqdGJkT3B0SXpLYVQwL0g0ZEpKb3BkYmVsZlpBZld1dForL2svblM3ZU1YQWppdkVYUHFRdENjeGx3WDd2bVV1RGRCbmNCK0h0ejhBSHR0cHBNSWkrN1laRG9PeXhyeHRyaUp6REZRSndlYTFVZnVUMGpxQVVuSFhDQXE1NDhz''@;'; put 'put ''V1d2SVQrZWhJT0orM0w3WVJvWFZQVG5vRTkvZE1CM3FEMG1OQTE2K0ZNd3llM2ZEK2NmSVZrTkVWMUFJc3VGT3I2TUVKbzZvMVhWRnVOakYzcVhhVHU1UUhFYkxiNWJKWTRBVzhoRnppc2dqVjFZTEZ0Yno2Qm95Lzl0VGFCUG9JRzk5TmNiNEMrSEk1MXNCcGFZdG00amlHSnhyZ2NocU5XelBH''@;'; put 'put ''WExSdVU3WFRZUlhZckh5SmsxWTVLcVk4NmJ3enlncmVFYTBvTS9zRnR6ZmZuMXBmeXBzL01mQnBMZDlVVHpLckw3UU5NM2dEU3dEcWV4Skc5NG9OQmczUUc2ZXlXN29hVlQ4UnJFemFZeXJvR0M4RjJGYi9ZT0xMeS9rOGJwckNWZExQZm5YMGZRRE9XaHlWNVJjOW52ZkR1S3JkVzFsaTk0NEJs''@;'; put 'put ''SUJWeUcyNUlPQ3lGNlhFbG9acTJlN1ZhZ1ZHWExvbE1BWjFPdGVvaHNiOTVIUDNva2F2WVBWYXZUWURVRkhSMGVzMi9KSzB5M2dMNytTKzZWaCtxRTJjeWcvU3Q3eDFLdDArWjYvYzMxbUVFaFA1OVUraUhXdUtkNlpBSkJWd1V0aUVrOEtmZ1pQMnQ0R1QybG1Ha2dxZkhJUjVOOW1icm92YW00''@;'; put 'put ''NjN0amRmT3pVOGZHcHc4TWJoNFJzSE00dlo3R0ltUzkrenBwRjNEUTJkb2hJRzVFeXUvWEF1ZDZpOS9WQ3UvVkM3dko1cDREbDVXRStKYkJhS1pmTzZXS1lBc3VLTHltWVZNSCtXYkpaK1RTNHNsOGhtS2c5blFCNEtXOGhEb1VnZXJvdkNVWmt2YmljUGhZdHh3cmVRaDlyVlNTeXNDOFJsS2JS''@;'; put 'put ''QkhtSTBEZmkxQUdzMTBTdzhPVHFyNHRlNkpnSENRN0RKT3JjbGs3UVhNT3B2VGd5MDcwMENHYjdTazR0UHA2VWZFZTBsMUk0RDNlUnBHRE93cGIzcDJteHZCcERmRnk2Mk56UEY1cVpEa1V6VTJpVHMyTDU5VmRTemJ5RTkyRGV3ZnpJKzFSby8wRnkvYzZTbHIydG5kakRjTXBzeU5mbGl2UzMr''@;'; put 'put ''WU5UdTdzczA5L3JyM1ltV3FLK3hxVnJ3NWNMaC9vRE1JL3l3eGlueVVaRG5jVEhpeERxMmI4TGRURmtpV2FUT1U0Q0JUcWRxQUV4dVdodXA0UFRMZXFpZzVIMEFSNkp1L0V3V1Q5bGFxMVA5TXpQNTk3ekhWMjJwTjlvcmhaRjJQSlA3MElkeTBnT2VabE1aNDAwdzczOFJyVXpQSE0wdUdkRUNk''@;'; put 'put ''Nkd6VWYwSVVlSkNhcEtHSGRtOU5pL3pjUmJwUlpUZHlsYTVnUCtMa25HYlN0UnczRzhBQlFOUjR6SHBLVWJVZUZqZUwralZ4RWEwYWg2RWFxbXB1b0ZnWVJhRlZUWXQzVHNlZjJ6SHExa1FuaVA0VVNwRE1MQTl4Rm1oZjZtTktyeTFqZXJ0dmUwdk1oOTVmKytEK1E5K0tBOGpUdUNINkd2MURY''@;'; put 'put ''eS9ORit3cGZFZllXeVdkMVBHYTdDR3NqbHE2Y0RZSENseWdJS3RTdkhFQXhhUE5aaDBacE84RlorNzk5N2hiMzFsK05PZkhuN211ZTkvSCt0WFgzeHhWZm9qSGJkdWJZeTRZRnlCd3Rxb0o3QmtqTUVBVm9ZdW9LR2JVenliRnB1WG9hR01oZDJZWTdzb3gveGhmMld0dDdhcHZQNWYrNS81VXQr''@;'; put 'put ''dnFzYXlqd2paQ3Flcmo1aWxMdnpzNnBPZFdTenZCZGduZmdubTNNYU9GZDdhanMzZ1B1bFpmSWYwRkI2UWpyWGdUM2EwU0NzZGJOencyaDY4bHp3QkhBVmc1R0p5b0JMam9VYVdWUVFONWhXQ3hXaFNjRkF4cDRuaExnenNQMDExS1pxOTZTd25kcWNjRk9GcEdKekhwbGwvSXRzVzk4K09hRHZ5''@;'; put 'put ''THV6ekI3ellsZS9RM2hucVQzOHdGVzJKcFc3UDlBZjFjWDFOb3ZtT2VOWmt6aVErSEU3VTZPTXd5MlZyajZLN3Q3R0pxWVM5TEpWU2tvS28vMmtQM3MvV0hoTDllbWJMQ21CUk5tSTh1SjVXdDBSQk5VbXpaUWx2Q3p0QmJBVGxnSDZXeHVxemRhUVdBOWJiRzNYd0NTY1NZeXNPQkh4c3hTT3ov''@;'; put 'put ''bmhiTmdFN2VTY3NOdnpoZU5ac3lzYnZhS2FMMVFmN003ZW5ZaTNSMUFmVC9TSDkyaHJxd2MzNE5QNkN3R1B6bWlUOUVoa3VJUHk0OUVzV0phYXladGZhSFBvaUVWUjlqSzJPQ2p6WHFKcERZaVVsK2hqVGllUmtMdEFPa2g5VjRxbStZWE9DQ0dyOGRIVUgvcFVxWHg4RisyMGMxUUJsQVpkc3FL''@;'; put 'put ''OXhWemx0VnJPMlRGYUMxQlJkV1hsbVBFaW9sdEdGaHN1OTZSaFJjM0xwV2RLa1hIckdQckNYZ0R2amwyWmpZdjVJTG5ja0w4YW1HOE5WK1VadmQxVll1bW0rcjIrK0ljUjE5eHJIcnVydHZXclVLSFp4UVU5emRUMG56V3NhcXB1dlBpbmd1NFdUY3U1VUZoWWFZWEd1UGxHRW82VkpHb2ludVo0''@;'; put 'put ''OEh0WmlBa3lUSjh6bHk1UjhtcTNCODBWdTkxcFVLOWo4UHREZnFLcmt0M3ZTV1pZdHQ5SDhyTVUweDRkRUpHTkhMZ2N5ZE1kSlY3eHlJUWVjK3NVWHU3cnE2MTdNM2Q1L29sTk1SV050MGFuazdia1hOL2llSE5RVGJNUElnTUgyUUR6TE5qaXF3d1RVRkEzaGxzdFlXcmFjWCtTd1d5MXFDbmFs''@;'; put 'put ''a1NaaHMzUjR1NXJFQnk5RzhQaTJoMTU1NVpVK2VEMzBSK3F0d3YyNVBibnJyb00zZkNsMVdiSHo2eWQ3OEJ4NWdPVkJ0REl2U1pBbUNnSXlNOGZsa3BhandNS1RXMlE2VUFkS3NTTGRXdlQ3dnFvcW9kSlZKWnhUUHNrZSt1bXFwTC9MbjRDL1laVEdYOFovVjltSXcxcFV5ZUV3ZWxMeDI4emlh''@;'; put 'put ''OGpadCtQem9ma0szVGdqdlVET3RyeGRuNCtUOXo3UmR6WkxYcTQ0SS9PNjROcExnTVBuNExSQmYwZFVmQ0p5bW9yTzkxQXh4dHgyekcwYllGSUJLenBNQjFWcHFQL1cyTCtTYXp2YzlkdjBqV2tjYnRtZHkrMXVXYTBuWDF6ZEplZGkvZ1I5Q25jQTBPcEVkeEdYSUpSOVRCWWxNR2FLb0xkWVhj''@;'; put 'put ''MU1rSis0clBURDZsTDhXV3NpZW8xbVFhSnIyZDRxblRiQVphc0J4SmVlOG1ld3JFMWdXVGVBT2czeVdITUZ6YllBcnIyeXpsZ1AwR0YydWtVUGF3S1lkWHE3TmdzaXpTVjFJWmZWNS9OUndVMUJ4NkxSekxaVnRCdnF1d0xobFVtK0ZHd0xWY1VxTGJVK1I1M2RhaXV2OUNTcU5QcW92OFlYcXpB''@;'; put 'put ''SEtSSllqY0pFRHJPYWhoU2MrN1BzM0NNOFBmY0llbHJKeHhqQi84ejRsUSsxaTluR0txZEpRK1R3QWtGMHJRd2haUVlHMHVjQVVrU2V6K3QyMmEwRnZFVEZMRXhKanFKdUlaMnFmUUt6d1NHRnIzbTJ5Q0ZaNTNQU21TMnlTTmdlbU4rY3U3NnlFZFpLODNUNjBFZlJGNUQrQXNIbjVUU2RMZG9j''@;'; put 'put ''eDg1dDJweFUyMkFlZlhHYk5pdUZObVoweHpadDVncHpIVVdmazl1UXpXMitVUmpIaUw2OXNZMmNIOEU5eEdqQmdnYkZmb0h5SWliMTlRZ0RGOUxET2VnMXl3WmdrTHBGMENzVmY3WlcxcHlZR1dXcHRFRHZDb1ZCR1lGallqVmlucVpKRktBaGdDVmhVeVBuMG12N1IvRHRSQ2Q1ZnFhRTBHbENS''@;'; put 'put ''WmYwRHZ3UjZYS2t4TDFGbHFlUVFhK0w3a3c2R05Ed09qZGdhalVObWJrcUFJL0xNZUcwQ3ZwSGFDeUt3MWZBRzlLOFEvVXlPVVlSOEhURnBBTHBkd0RXN1NZMHljWkdNM05vSDRRMXA5OXVKMXB2RTl2UWlUdDFzVjVpZUhNSG1nMUZqbXpSRDQzUnRCeGp3TjhNMUdjRkE2b0dwR1VGVnZuRFpn''@;'; put 'put ''cVVaZWhXcmxDeWVHMVB1VVpmdTVrOHErWS9QcjlWamtZOHkzbnhScXB0MHgvNXpKNlNwQTJLVHl5SGd1RjNTS0dCOXpOOHdrVjR1Ym5OY2ZUd05tMU9xbTJBQm03Y3BzMWNZWnlqNkNxNXpUcCtyMUV0N2NOc3JvaThuclU3dGhvSFZ4YTFPWTVzbTl1cy9RTEdlWTJ0SnlLdlorMXZTOXI4TzdU''@;'; put 'put ''NUkxdVBQTTdSdFhzMnJnZG9xUm5lWG1DeDBscWF6YnRSMDFqVVl4b29OUlNwR2hVVjhGRmJVY05LcmV6UXpRd3lwMnpkMEdmR1UxSlFqWHlncXlRUDVpdCtUazU0R1JsUlUxNitnLyt4a1BhQ3UvTzRkZlYyT2ZubEQzbFdpZ1J3WURGOXhsTmFGSjd5aVJKWXNUZzFnMVdyY3I2UGxmQ2R6VzJP''@;'; put 'put ''NDl3MmJVNnFiZUI4WDltbXpVcWhqUms5dEUyYnVjSmNSOUZ6bS9nWFJydlFYK0t2RVIwSUE5M0RlcG9iQ1VwbEVFZ2ttSFZtblRoemUrUjIrZWVEWVR5aC9uYjc3V0drNXZQK2p1WEkrMUNjMWdkRndyVTFMb2ZKb0djK0dwYTJvN2c5SEhMNFJGY1VQdkg3L1hGL0xHZ05XbGtHdHByVkdnQWJM''@;'; put 'put ''MXVVTDVma2tjT0pGVEpGY2tnYVUrL0hNNmtEZCs5dnZ6U1dIcDZMWjRBMjIwOUUwOE96cS84Vzh1TlQvdmtZMENnK2NmTkV5Q2ZkQW4rUm1uZnZXUHJzd1lDMzYxRExtUjFBbmZRMzZUc3JJZnh3VFQwUXFmVDlxZmROWm84MlNlTTE5UXgyTEtiTXpxbE5PY3NuU3M1N2M1dmo2UDl1MCthazJn''@;'; put 'put ''Yk84Z3ZidEprcmpITVUzYjJaVm1XOWw4M1ZxY3oxOU1aeE51VWF4QmozaEhQUUx1dXdFdVVvRksyQjVLbHcyQ3FjbFU0aDRLbms1UWhvc2loRHcxL0kwT2o1NTVJTWpWTXNSYVB0cG1kbUJnZG5wQmRrbVRQRGNuR2VCUnB1RVdOR1VNS1pHZ0lDaDF0UkV5NlpXeHN2NnVSMFFhdlA0L2RFdkN3''@;'; put 'put ''a1VaSzdIY2JwOVlJRmxYRlQvK3BNZWw4dXR5L1ZHbW5yU2UzSjdoa0k3d2pOOWUzbzZCaWZiRytmRklrNU9aMUlUQ2RUTTFYdS9kbjBmRXVIcnp2WU1kb3hrbTRiSGMrdFNnQkhPVjc1TXNDeEgyUXZRWDJYeS9TOThUa0g4UDFFMGZQbjFmYVlQMURjL3VuQ2MzTnY4Zk1IQ3VNZm5TOTZ6cmtM''@;'; put 'put ''N1kxVU93TWFndWZjWGFERFJVSEw2MEhIeE9VYWdKM0hEVXFDSGV0SkR1dktES0I0OGpvdERhT1c2VWpaQ3RJakhhL1hMWnNOUk0wR2RvMldHMDBjRlliVXR3TzBsVTdIWWdpbGU5SmlaM3NzRlV1MkpHQ0NpTlhuOWZsOS9nb0F1UnJFa3ROVFM2S3JzZ043VTJnTDBWeHpOZVpLWHBYalhIM1hl''@;'; put 'put ''dXV1R2RwN2FYSG9kZkNBdzN0NVQwbnNTN3BsSWtwRHNwUDljaFJzb0tOallHRnNQU2JibGMza2kyTmkwa3g0TkJxbzdtbE5kY280bGxnVFdld3pneTZJN2tUYzA2RFJhdXhZcDAyQldxOHJxUFdxWHVQbjRTdUNkVmVnNGhUN1FsQ0tucU1icWJwSmdEWFc2a0JwZnN2V29yZTBJYlVFMEpGQ2V3''@;'; put 'put ''MnRBZ1hKQk12TXlBcUpucThPYS81RVJZUVcwV1dTK0hDSkl0SnphZGRXa2RyR3VVUjVpUUdSMDQ5ZXM2TWtlTnNZMGpSaWlwTnlUSlRpL0pCTUN6Zkl1THJ4T2FXRmU0dWVQNisyeC95bHhlMGZLSXh6OUJCN3ZrWlp3MjFzbkpmazhUOGd0eDhGZ0JtTG5oK3ZrTnYvRzN6OGhvMy9ranorZmZM''@;'; put 'put ''ekg4UEg3OWo0Y3Z1am4xbXZxMmdsZncvYVFoVHRFYTJWekt0YUMrb0FhQU0ycTZVTUQ4bDU1dzdWQlMxc3lBNXppemFhcHNGaHNsTDhHQ3k1dXJxNmFGMGs0QXY0YWQ2c0twa0tpVkFCS2lEcFNkSnM3czFlZWZ4UGkrS1Z3OE5YOVhTZDZEL1dGejU4eW5td1B0c1ZEQjl5amxUTXhtT3piWm5a''@;'; put 'put ''ZUdJdVF5eGZPTER6OUVEdnRhUERKM3RtWnVhenFYQzFyN3JHRzBsNVZsOUk3bXR2MjVOSzdzbTE3MDBCdk9SWUVPVTFVekt2R1ZtSCt5Q0Q0eTUyVG4zb3ZWcytQNDdPRnoxL1hua084TDJ1ZUp5bkM4L05lNHFmUDZBK1IwY3ZsM2xXSHpwTnlra2Q4NU81MFNHNXdMcUdWaXRRMXd2UzhGaXIw''@;'; put 'put ''UjdXcVVGR0Z5MmtiVVJJcDVhRXFPMjBXczA4a0kxMmlYV1lYQkFkekNCeVYxYURjRktkYkhwcW9SWUhQY0V1S2k1cXdBN0ZNdjBwTGIvNGpsck84RFhWSkozTlgxaXZZdUFLOFMwbldHN05yQVlKTFB0UXNOcmxOT3EwR2ozR1drNEpoS3duTUd6V1hEd2VUN09ueVc4SldqWm9Mc1dLQzlOYm5G''@;'; put 'put ''aU93bWtVclFXNFprTncrTWJCNmY2RzRXNXZhUGpVNEs3QmhtRlJPdG1DVGFsOGRqR0w4V0xXNVpSZVMrYnh4L2VuaHQ0MTB1SWZEaHhJRFowYWFRMk1TbS9tY1h1Zy9WRHV1KzJIYzRHQkd1azVQNXlSSEZlZ1o3MWJwakdGSmpjK3B6andzYUxuejZ2dE1iK3Z1UDBEaFhHT1RzdlBaVjg2SFdl''@;'; put 'put ''Zk1zN0hpK0p5Rjh1WitiUGljc0tmSDVmalZyWkltaW5heHdQS1BtQi9NNmpJeGs4VS9BREhGTDIrV0krV1pmclpna3cvTmxMY2QyL0JQMkJROUxiU3ZoY0tjdDh3TGZPdWhyVnB6Z3E2bWhOVlUvaTVzSTdUWTRLZElGRzRFWkF4aUJvL1I1a096UzZYR0ZXMUtDdE5TNm1xcnFyMkNZTGc4RkRa''@;'; put 'put ''b2xXOE45bWdYSFFoUytqV3JKRndWbTlMdk1NdTlCY3FNR29hUGJVTjFoL2NmLzhkdGJtRXM4bjBLVmFOMGVpdWJiRGpIYXdtZytaMFRaTWMwRWd6aUxCRmNRL1ZTTnlZS2lROGlVVU5uSjdYWTYyK21TWkJVNldFMXhPK1VJbnFvdXVzQUN0TnIxZGpuRW93RGRZZERvY3o0WFRBWndVMUpPUXBB''@;'; put 'put ''eU85c1BMME5tcUlYVkEzRXloSytDSTV1aTIzb3lUcDYvQUplWDgvVjVPLzZDN2RVV1BmeHV3dm1oREd0dnlSUWhhWWFpOTlnT25ZQVVYSC9rT0pyaTduWDFGNkdGRG80Wk5GZlUrcWZiRWVQYk5OMytlVnZnVHJENjdibG8rd3ZrR2w3ODBsZUVSenJiNUdub1EyZzZ4TkJXanhGbVNBTm85ekZ0''@;'; put 'put ''b0kyaWoyTTJEb3U1R2FuM1VJYUxRYXZoa1EreXdhWXREVGFrc3RUWnpXb21VNG1zcENCWlhDNTZqam5QRTlKeGx6dTkzTjdxWWdqWUFHdklycjNGdVNwNlVXd3FQTjRlbERQUnZpMCtmUDUzdldVSEdRZW5UMVMwVkpXMzhiNisxZGZXUkRtTHJneDBnVS9CakhZTmxid0JYMGo3TUYvZVBZTE5y''@;'; put 'put ''S0I0TEwwUGUyNmF2cUxoeTBVZXBkZ0Fab3ZVc045ZXBWZ293UU1LM1hWVE5KS1lMemk0am5GWWNlWlhjVm8weVlBUUZZV1gxeERhb1JiRjZhMFMxUVhGZnJZTHdxUmp0bDVNOFdGY1pNeXVoYlE5RzdSbnEyVUNYRGtEVU11QnlxWWNVdE5JNTBtT1d6MFJ0ZnpvaFd2dy80YnprR3hSUTBHaDRF''@;'; put 'put ''cndhMFlBK3R1VU02RUxRNnpUS04wYWdIclZ6OXdCSVFHSmxhcVlqMnEwMFpBUERoclhyUWJMSktkbVZNek9XMUJ2eGVMdzN4YURadVNGZVNIQ2RydEx5YUkzZDlZWk1HVzltbVRMa1dzQ3RzWXVCdkZLT2hzbGJadWNOR2l0UG13SUp3ZU12dzkxankzQlkrTWYwV1BySE4rcXRla1pXc1Rvang4''@;'; put 'put ''V2FGano5YjBsZk9mYU44ZkVUbTR5dEtYK25YdE1aSTdndjRVMEdNVEVkaTdUbnFsSXFoUERvc0hvaldFejFmNWFTR09LMkRSME5HNmh6bTlKb1ZnNm9vbFFQMTZYUUNkV3N5TkpMamprdHkzREVlcCs2dWVEN2VsVTFYeENwaTRTYXZwNmJhYnFWdXJ5cVRxaVRScTFSa3ZjajVKK2JWWWJlcnhs''@;'; put 'put ''c1hNQWhPcCtXWGJ5dkZicStudXJvdDZnaUg2T1VuYzI4MzN3NzArZjhOK0ZYR2FGcjJCUjViKzNpSnYvQmxhS05sTkMzci9NZnVVSElHMXFiUkQ0RXVyVFRPVGlXbVZZNnpxMlhvRkdTcXZQR0JmR1RwMXFxVUFkMUNKYjRmVXV5cnRvc3l3VkV4VVIweGtic1ZVY2hrOU5vYk1OY1RMTmJub1Rl''@;'; put 'put ''cTJHMUV3M213WExaZk9ESlZXYXdvRUFrTEVqZlVnUlhpcURCdm1VSm5WUmZrcE9VLzZwSVdxTlZXVlZVNVNaZm1kVnZ5OWZMaTFGaWdVTFhxZ0hYV3QraDUvTWZWTjVTRkFnN1NTczIvV3ZldEFnL2pOL21HV000ZDJHTGFRbTZjVUpJYk41clAwendTR0c4ZjRQUVZJRWNhQVhjWlR1TnZ5WFli''@;'; put 'put ''UE9jWXJrOG96MjlqejFrZEZwT2JjVVZ1bHBYUUQ0QUVsM08zUXB0SnBZMEZQU3EzZVZSdEk5ZHpQYW1PQStOZnhXUWNMcEp4ZEp3d2F6T3B0TGx1WXhzNWo1WjBBWTZZYVFhYnlWaG1BTTJlMHhPMXNtMVRrWmdabWUyRklqRStUWkVrYStjRjBpWDE3dGtqZnVRalhWMjRMaWJHOEpUMHlxZzRL''@;'; put 'put ''a21va0t1TFdRNWpnMWhyTE9OMVZLanFsZXE1U3FVWXhNNHVlOEU4YUxYS3dCaFA1Y2ZIODFQNFFMUDBBbmFHeEJBK0lqM1pYT3hqdmw3MU1RT01mbFVDUjlrV2ZGbXhCYW4rY1pmY0Y4N21MOW1adFNobjgzdTV2ZlJybWtlb3RvZm45eFhOZGJMZ3o5YkRhV3c5MS9NRnUxTi9EQlg1bFJNRnYv''@;'; put 'put ''SXg5T1VTZlVXMnM4NFdiTWRqaDlCVy9tOWNqdjZ4Sk82MjBYNGx1UHkwckRPbmdMRStDK2RxQVl1L1hjd1dxbEQxcEZDR2FxRGxkbXFlRFRNMmFxMDFEaHRMckpNRnNXczl2S2F5UXhwaFcxZGIvTElvWHYySC9mY2NPSERQZmhLWFBEdmxnSThpakhkL2V2L1MzZnU3Vmw4ZzJZbGJKeWZlUGFU''@;'; put 'put ''WWxkd2JMSjgwaWRyUmxEamh4SG9kZGQweHJRRTR2VmF2V1RZWmlFNG5WMVc2Um8xOEdVZDFlc1ZsbDByNXdJcEl0YWR5Mll3djZXdU5OTk9VVTZzdjRQT2JZZEViSFhicmZMeEl5RFpzNHVoSWxyWmNoK3lwRzdxaDBmdXVrVUdXaHpuOExxL251cUdDekpXT0ZXVms0ak1iY3RYSGUzc201QnpO''@;'; put 'put ''OFc1eFRCYSt4V21hYXY2NklvTVBzck5OSy9qN1RBbGV5SG1IOUd4blpkL1BtS0tyQWY0ZVpQaWJWdkQwQ2JrOTRPOEN3OTlaNWJteGFLNlQ2bHlBdisvZGNxNzlESDluWmZ5MXlYT3h1amkyem95eXpydEtjRi9PWmFUcm5KUFhxY1JXWTJzaXE2a1QwUnVpTTluYVVLL1I2ZDAwNmw1ZENhS2Rw''@;'; put 'put ''bGhyRlA5amRHTmNGZlRGSlJEc0R0a2cwdUt0QTZ1eFRZSFZpL2VpM3N2NDVrRHB4YnJKUWQ4dFFxdGJkSlJqcXlaZnhFZFRHNndXQTVnQlB0azl1VTEwRlYrOGVwQkUwa2QyVkd3VmFCMjhQckY5VGVITjg2bVNlR3RPMnhaL2l5cERscGNxc3J6VVBKeFpUV3RMZloxR3kyK01oV3RHM0tEeERt''@;'; put 'put ''OFpFT2Q1M1JLaXllQm8zWmR4MFlENFJUdHRHUkMvU0s5dEErS2wvWlNBdUM4Y2Vuc0JjWHl4QkZ6ODlLR1JMUVBqaWFYQXRsbTVvN3UwalNXbkZhemZQazIzbUQ1UHF2UUp0SDFzRy9wOFhxVlByTThxdGFSQW43U1cxSU1lRnUxVmNMVElhUWFKWUtLWFo0MTRzRVk5NUNhRWFJcnBGU3hFUlU1''@;'; put 'put ''UlI1V2FvTUYwT1VMd0FaRGticXdlVmpQdG9FSGM2YmZSUXd4dWFrd0xBZ2src3FrUGl4VFE0bjVHV1BTTTJJMVRXNTRRdGJ0cCtTdWV0VzV4Q2pWbHRDWTJ0Z25XZlVVMXNuNmdBWnIzSEVmUGlhNG1yT2VhN2NTZ2o5b0lNWlJFVGlKSXE5SGVYSVpwYlkvaENoQmVBRjVhMmNOeG1rV2RYTjlU''@;'; put 'put ''RWtDSnJ2ZlJHOGpwaTNVQ2NHN1pYZ21tRkhYaktKQXMwQzJPNGl3YjJ3bkFvcTZJYlNJcXVEUkQyOGt3SHdkS2NEZVNYYy9hYm1qd1Yyd1JRQmxNRm1keXg2cDBmamtuaTlVc014ek5Lamo2emhJY3Bibm1QMkM2NnJ5c3E1S21FbjFXanYwbUNySGZZK2hqcGJvejg4MmVMZmhtancyZ29yanhO''@;'; put 'put ''d3F4WlNQNlZrbmNtUFZsY1VmWjMydThBVzBWdXdZOTdQTmI5UVdMditCYnh1VkxTS20zbm1iMTFuN1VJYlk1Z0NXVnc4bUM2TVBjaUhKN2hYcEhLblA3cmh0RjBNUHZxL0w2ZmZKZEZyTFhmSk0zWkZOOU5qazdlR2JLcktzcWVBeXFEbHl0VkdxVGM2d3VHMXNhRkJlQnY5cnh5UlBGZGRzczcz''@;'; put 'put ''NmE3QUM3aDYzVkFMYWlIbXM1UDZhM0VpbkovdFJmV1VpL0wzWlgrbWhOVGNoREk5UWIvWlFiYy9IWGJVcXlRM1pMRnFmbTU5Y05USGZVT0xBNVNiOWd4akY4b2ZYZ0RLZmE1VndCUEZXQ0MzSStQdVY3ZTVnK3hLUHZGZVVIbkZUekErRDVyU1Y5WlIvNDg2b1BIUE9McUtqdlhDRzM0Q2c2VllJ''@;'; put 'put ''THJFNmI0VXVYb2pNOVZESytuQU5QOFdWUjFwa1VYSlA3enFsOXdUNzk3alo5SDFENlVqL2NuVVY5VHhiNjZ0RU4yL1I5WHAwWDYzc1puckw2dDF2aDdDdW9yNEJtNWRLNkJlWXJFTmF2TjNFenhLeEE1VloydllsdVUzV2J2cWlxN2FITnBXeHkvaXdlSWMrL3pacHRKNjNaL2x6WHNmVFV6alI1''@;'; put 'put ''L3JiRnhhM0hLTlJwRUhRejBNN1ZTcFdHTWtZMnlYdTcwenVuMHNlNnlQT0xpN2NwWTR6ancrUUN2VzJSamRGSTh3WTAxTkZWbWtKclJpWS9WMGhJVnZiTHpJdjd4K3BDam14dGJkWVJxaDFySXVOMWRTRzcwMmtQMWRiTGMreEJkekIvU0lETjhaYjV1WnV6bmVjVjc4YTZOME91Z1lSMW16azN5''@;'; put 'put ''NmR1WTZQU1lqNmFVYnlpeFJ6RzNIeWg4SXg3VzFuVnhmY2szOWpaR1E3RHE5cm5xM2I1L1M0eUx2OGQ3bXp5dStTSGNwN3dORnBGTmlTZ2RyYUN1TXJQYUtVa0F5R3RjZ0Q1UHMrNEdVZS9tWlFyUjN3T2paSlpyZHp0VytUY3ZhSEQ2MjRwT0hRZlpKNGJtK0xKbGUrZEpWMzRESGthZHQ3TDVz''@;'; put 'put ''M2FBSVo2NXMreVlqd0VRcERWZUJDTVZ0ak5CZk5xY1RmaEpwbVM1d0JScUZVUUExSE5UYjE0bE9yWWRCSDBhZ3R6dlV0d21FT21aajRSdExQZmcyYjZPK216V0N2S2gvaHNwL29wbjBjM2ZwemxnL09vbXEycVFndllPRVN0MUt1dGxrSWV1WlAzK3BYRWNKenRQWnNoTDFmYzlHR1dJSTdYNXFS''@;'; put 'put ''ZnJ6MjhkajhxUno0MmdxdDhpMm9WWDJFc2Z1Tmx1RitRZlpBMlY0MzNEZG0zeVB5TUJmNTR2Y29mVVIvT2JNTWZYMWI1SStwRFR4WHgxdlcreC9HWEw5cjNPQmFMK3M0VitoN0ZReVg4VWU3N1FLSHZVZXEzWlBjVEx0QTRRbkVNNHMwMVdRZDRjMDNSQVJKcnU2a3ZYL1pMc3piZmZGT1NZenR2''@;'; put 'put ''U2tvYjJiKzlVaGpIREx4dWEvLzIwd1gvdG5rY2JaazcxcmVGanJFeHprdFEzd25sZmxYMG44U0FveGUvZi9nZnBEaU9kcWg5dVBhMzBZY2piMHBxbjJIOGJYU0IzQWs0MC9vd29NdlFwc3U0WFpzdTQ1YXJoaFlla2JISXFqcTlaU0Y5Z1Y2blhHMm4xeW1UVytsOXloYTNmSjh5aFNQK0ZucU1m''@;'; put 'put ''QXFnVUlHb0xHQTFRR1NrVUFNRTY4QW4yVHBxVWZzanRlVkVYWXFaRmRheisrTFpZcXdieWo0NHh2NFdIdlZWK1N6c1JwR05LM0p1dThCLzNXYXRydEoxNCt2SXB5cUQ4cnJaK3I4SzY3Y1UxazlSU3QwSXZYUHJjZHlOUC8ybjFWSDhyNzYrZUx5M04vNjQvQkh2ay9GbkdQQXFoSFlDYmdpQUcx''@;'; put 'put ''NTQveXJEY1FIZkRBMTRlaysvWm5mUlBmM2RhQlJtK3cvNXJ2NldDcXd0bDYvUjEyT2RDWmNaZFdYRlYrOWJ6UmJPYU9TV0JFTWxyeW0rc1Q5OWtZN3M5bjI1TjA5N2M4cTkvYmt0KzIxeGMzOUpYekEwTW1Oam9xamU0RDgyUHphM2E2YzRLbzRNOUNlNkUvbTJ6SmEzK2R2K2pOdjhHemI5N1N0''@;'; put 'put ''cTI1RDVrMi82eDhPRHdjSWYwaFBxdmY5MzUvN1Uvd0hBbHY4emdQWC9LUUM5VnlpTjF2RGYwZHNtSHRaaW5BaDNZeWZBTG5CdjVoT2Z5THorZGROalQ1aVZPNTNTb0dRcjdUaldMcGgxOHRGUGZDTDkyYy8yUHZHWTZldmZZTExpWjhxZGluRTBLWTdWdUlsR0IrTFBpT25OdUJvcUNqWGNzZ0dU''@;'; put 'put ''TW95Tk5BKzhrUGx2d2thajZ1bGd0bUVzRW01dUVpeCtzUGtFcTk5TWZWU0ZlenFDWUJCUzB3SSs4cVNRYktlam1VUUFaQ2Q4MFBqWGkvS1ZpMk8zTFR2MlRYSzZYWWRjUjI0WlZoTCtaejdreGNQU1oza05YcExPMTM5MFQ0SmR3OWg3Y2lqbmRIcnFjMzJYZHJKcy93TVR1VnB2dFMwM2UwS1c3''@;'; put 'put ''emhPeXZGbHdBZDFENE5DbDJCY1Q3NHA5ako2Unl4VGRFRFY0WUFyZXdRUDRWWlg2WXZ4b1NUQXBVNnBKZGQveVdVMWEwbGlpMHRTU292QzY5NnFLUHlONVcxcndvSE81VGxCQnVDRUVsdDRnTkcvL1B5Qzhudzk5aWsvZjc3d25MKzYrUGtENm5OMDlOTGk1K3ZqOTRGYXRmNzhiS0g5c2YxSWdj''@;'; put 'put ''RTB1UXhnUUdNRitpODFlYTBZWUZCaWlxbVFXTGZEQXB0aGNwbHNseFVEUnJITC9yTUlQb3FOTmxjRUlzVTgrNHNOV1FucmE2WjJ0YndYc0wzL29tZ3ZUeGRnWXA2VDVTaE4rL2tJdTV0Q3hZV2s0SjFXcnFPZzM2L053UGZhMHUrMXE1UG9md0FQZm54NUFBQUJBQUFBQVFBQXRDY0F3bDhQUFBV''@;'; put 'put ''QUh3UG9BQUFBQU5QQm5ZWUFBQUFBMUw2bTlmOVcvdThFV0FQRkFBQUFDQUFDQUFBQUFBQUFlTnBqWUdSZ1lENzY3ellEQTB2SC83RC9rMWtpR0lBaXlJRFJHZ0NsaGdhdkFBQUFlTnFObEUxb0UxRVVoYys3azVVTHdUOFVCU2xxRWx1YnBLMmhEYVkwbEJSYmJVclNqbllSYWtXaEN4ZGFZclc2''@;'; put 'put ''RnRHNkV4RVhYZmtEVXZjdUJiSHVSTWdtdU5LSytFTVVXbHhrSVMwNG52dWFxWFhTZ29IRE56TzViOTY3NTUxNXBvWXo0TThNVVFjb0E5ZmNSNzg4UkZUT0krN3NRRUllb0JrZjBXL0cwRVBGelF6U01veXNBZkptQ2lrczRvUzU2LzJVSjBpYkl2YktTYlJMRHc3TEJGVkFTczZoVzA1elRBRkp2''@;'; put 'put ''YmIxSE11NkxuMFBtVE0xN0hOS2FKVXZhSkpIR0pjNTF0YklDZFlWcVNydlh5R1BCVjd2NGh3M01TYUgwT2NNc0laMVRwVC8zMERlOGhacnVIYVpSa3plWTFUZkdXcEdXSjRoSXZld1hhN2ptTG1BWWE1NWhXdzNuOUVwQmUrM1NTTWpYZWlRSzNCbE45cklUbkhSeHA3RE1ra2ZzaGhDQlJtODlW''@;'; put 'put ''N0lOZ3ppSFhMT0ZITDZYSzdaZWxmSG1LdjBjQkV4TThseFdmNmZZRzlKSEpROTdHMEErMFZZY3dkSHpGWmNKT1BtSlhycCs0aWRzMGhQdUVZeml6Nnp4SnJueU5oMWpTT0tEL1E4eWZzbEpPblhxbGNieVBsT3FuL3EzVHBod1N1cmYrUVA2cHV6QlMyK2QwSEpUb3hZcW4vcnBmN1JaK25BS2V2''@;'; put 'put ''VkJuTEtwUGJpL2l0VXZEZjBiNUQ4U24yU1M4eUY3MTFRbWd0bDF2cjdWK3FmK3F6VWZuWE9JTFYzbmQrbjVvajdZdnU5elQxVlAzUk5tMUd6cHZ0ZEo3MnFjTDNxWFJPNVFoN1hQbXdHbVFQTm9XWmhqV2NSTmhIdXZjNnIvUVZvZldWdmExeEdNdFRDZVpsYnpVNERtV1hOVXdPbjZ4bnpxZnVq''@;'; put 'put ''SG0xQy9RWnNEblVQMWIvNnQ2QjVERkl6em14bXJCNHo4MlV5UjNWVHI1bkRYM3dHYjlSL1o1QU5udGJuWkc3aFZGZlBHeXhUVHdIcFJjcTVqQlRQQkhzdW1IbHlucHlsdnlWZTgxd0t6U0JoV2hHaFlqTG5WVzArSEk0dDRlaC9pWm1CK3dlYlAvVU1lTnBOd2wxSUdnRUFBR0R6djFOUE8vVzY4''@;'; put 'put ''KzY2WCs5dWV1ZWRkeEVSRVRKRVFpUWtZa2owRU5GRFJFUVBRMEpreEFqcElYeUlpQmdqSW1TRWhJd1lJU042a0JnUnd3ZUpIaVFpSWlRaWVoZ1NNbVRzWlEvait3d0d3L0kvZTRaeUQ5S3pib3diVDR3UEpvTUpOMVZOZDJhcm1USy9OVStiRDh3MWk5RXlaOW14UEZxVDFpWHJveTFwMjdFZDJz''@;'; put 'put ''NXM5N2FPUGRXYjZNMzIvZ1FnSUFua2dCTFFkbENPSWNlQ1k5dnh6WEhudERvbm5Cdk9sb3R6cmJwMlhYVlhHMlRBTkpnRkQ4QnpzQWwyM1FQdVVmYzdkOVVEZXFZOFpVKzNMOVZYN1d0REhMUUNmWWFPdlVidm1MZmd2ZkZwdmhsZnhmZms1LzBKLzN2L3ZyOEpXK0VKZUI0K2drL2hsLzVZZjdH''@;'; put 'put ''L2pqZ1JCQmxDMHNnSHBJVGFVUis2aU9iUklycVBIcVBuNkhXQUNqd0gvbUFlak1FR3NRU1d3UmF4UEhhSjNXQXZ1QUdIY0E0ZndxZndHbjZGdC9BT0FSQTRNVTFVaU8vRUQ2SkIzQkpQeE92QUpqbEl4c2dVbVNIbnlSVXlUMjZRMjVTZDhsRVVKVkhEVkp4S1V4VWFwaGs2UW8vUUNYcVNMdE1u''@;'; put 'put ''OUFWOVJiZm9YMHlNT1dYcVRKTjVaam9zd09Jc3h4YllYYmJFbnJBMUR1SStjVWRjbGJ2a3Jybjc0RXJ3WTdBWVBPY1JQc1RIK0JTZjRSZjVQRi9rOS9rRzN4VkFJU0R3Z2liRWhiUXdKeXdMYThLbTBCUm54R1V4SnhiRUxiRWtmaFZyWXYzTllXZ3R0QlhhQzRmQ2pmQkQrRld5U3o2Smx6UXBM''@;'; put 'put ''cVdsTDFKWEJ1V0FMTW5EY2xLZWtSZmtuRnlRZCtXU2ZDMTNJb0ZJS3BLTlZDTnRaVXlaVlRhVlBhV3NuQ29YU2xOcEtSMFZVSEZWVkVmVXhIOW0xWnhhVWMraVFKU0pqa2N6MFl3Mm9jMXBXZTFCYSt0R2ZWUWYxNmYwV1gxSlg5WFg5WVorcXovcHZ3ZUJ2MHRBdlNvQUFBQUJBQUFCUEFCWUFB''@;'; put 'put ''b0FQd0FFQUFJQUtBQTVBSXNBQUFDREFSWUFBd0FCZU5xRmtzMU93a0FVaGM4VUpJREdLREV1R2hkOUFmbFRJZXBTdzBaUUl3bzdFaEFFSWxBdHhZVFg4Q24wVGZ4NUFkMjRkdTNhaFlmaHRxREJrRWs3Mzh5NTk5eTUwd0tJNFFNQnFHQUV3Q0dmTVN0WVhJM1p3RExxd2dGazRBZ0hrY1NEOEFK''@;'; put 'put ''TXZBbUhtUHNsSEVaYXhZUWpNSlhudVlodFZSRmVRa25kQzY5Z1RYMEtyeUtxdm9XZnNHNkVoSitSTkRhRVh4QTI4c0t2aUJyblkzNFB3RFFxT0lDTkd3eDU0amFhYU1IbHlSNzVwSG55RkR1eFVLTnFNYTZsWS9ya0l1Y3VzL3JNN1NHT0Fock1jN1NUalk1RTVYM0hNK3BOREtoVUdaVmlSbEtQ''@;'; put 'put ''ZlZ6Z0NHVWNrMlo1YkU1NXpLdGgvYWxTNHNwaFRGdWYwWnFxT3E5U2lYVEoyV2JNcVBNVDVqYzRqL0xxMUtya1UrcERYZC9sM3Y5M00vSnp1ZHBEZ3VQdWw3T3RmYnUrYTV5YXpiV1gwNWVzSmxXWHV3TitDUzhtd2RtcjJkVmRUbW9tWm5ZNGEyL1NjNWxxRFZjNjMvVnZxeUIzbDlPcXhaSFJX''@;'; put 'put ''cFluUzJHWDd5M3MrUDlLRnRlTWEyaC9SKzQ5NXpzV2Njc08ybFFjeG5SK0FHaWlndmNBQUhqYWJaTlhiQnhWRklhLzM3RjMzVFpPNzcxWHgxNzN4Q2t1YThleFl5Y3VjZXpFU2NhN1kyZnhlaGZHdTNGc3VnUUNIa0R3d2pQbENSQzlDaVI0UUtKWDBYc0gwWG1rQisvY0NWNGs3c044L3htZDg1''@;'; put 'put ''OHo5OTRoQzNlZEcyQWUvN05VbTM2UXhReXl5Y0dIbjF6eXlLZUFRZ0xNcEloWnpHWU9jNmZxNTdPQWhTeGlNVXRZeWpLV3M0S1ZyR0kxYTFqTE90YXpnWTFzWWpOYjJNbzJ0bFBNRGtvb0pVZ1o1VlJRU1JYVjFMQ1RYZFN5bXozc1pSOTExTk5BSXlHYWFHWS9MUnlnbFRZTzBrNEhoemhNSjEx''@;'; put 'put ''MDA4TVJlamxLSC8wYzR6Z0RuT0FrcDdDNG5hdTRtcHU1Z1R0NG4rdTVscWY1bUR1NWpidDVubWU1aDBIQzNFaUVGN0Y1amhkNGxaZDRtVmY0bGlIZTREVmU1MTZHK1lXYmVKczNlWXZUZk0rUFhNY0ZSQmxobEJoeGJpSEJSVnlJd3hncGtweGhuTzg0eXlRVFhNeWxYTUpqM01ybFhNWVZYTWtQ''@;'; put 'put ''L01Uanl0SU1aU3RIUHZuNWk3ODVKNVNyUE9WTEtsQ2hBcHFwSXMzU2JNM2hWMzdUWE0zVGZDM1FRaTNpZDk3UllpM1JVaTNUY3EzZ2M3N1FTcTNTYXEzUldxM1RlbTNRUm0zaVB1N1habTNSVm0zVGRoVnJoMHI0Z3ovNWtxOVVxcURLVks0S1ZhcEsxYXJSVHUxU3JYWnJqL1pxSDArb1R2VnFV''@;'; put 'put ''Q05mODQxQ3ZNdG5mTUNIZk1TbnZNY25hbEt6OXF0RkI5U3FOaDFVdXpwMFNJZlZxUzUxcTBkSDFNc0RQTWdqUE1wRFBNdzEzS1dqUE1PVFBLVStmbGEvanVtNEJuUkNKM1ZLbGdZVlZrUzJodngxbzFiWVNjVDlscUd2YnRDeHo5Zyt5NFcvTGpHY2lOc2pmc3ZRMXhpMjBra1JnOGFwQ2l2cEQz''@;'; put 'put ''a1d0bUYrS0pKSVd1R3dIVS9tMi85S2Y4aXpzajJya1BHd1hSUTJoeE9qbzVaSkxSek9DUHd0bm52VVk0dm5FelVzYk0yc0hNa0lmRzFXT0pXMGZUR0ROdE12WnRCdVhzWmRGTFpuZXNRelBkcE5ldHlGdjhPYklXRVk2RGlkaWc5YlRtbzBacVdTZ1VSbTVPczBIUnpUb1RPemc1UFpvZE4wY0F5''@;'; put 'put ''NlROV1lDMzhxSGkwcHJReDZMUE4xbTZTa21hYkhteVpsbU5QalJPUERPYW4wTTlEem44bFNtWkcveDl2QmxHRkJiempxaEZPalF6SDdiTUY0aHU3TDBCUFQydGR2WnB4MGtkOC9mZHFUMDZlZG5qaFlWdVd5TEZqcDZ4MTJyS2xyTlc3UWF4ekdYZVQxUnFLMlk0OUZ4L0xHejZ0MFhXbW92dHBq''@;'; put 'put ''amNjR2o0MitQbU0wNFNMOU5saFNFdlJZNXJIY1k0WEhTc05nVTNZbzVTVGNvS0twSWNjcXRtTEpmTXVkeFVqMzdxZGxrVFg5MmVrNFlKMGYwQ1M2M2RPeXdQdDlqRGI3bXRaNVZ2bzBUSEl5R291NHliblcyTlFlUld3bkwySjc2aCszWmJjaEFBQUFlTnBqOE43QmNDSW9ZaU1qWTEva0JzYWRI''@;'; put 'put ''QXdjRE1rRkd4blluVFpKTWpKb2dSaWJlVGdZT1NBc01UWXdpOE5wRjdNREF5TURKNURONmJTTEFjcG1abkRacU1MWUVSaXh3YUVqWWlOemlzdEdOUkJ2RjBjREF5T0xRMGR5U0FSSVNTUVFiT2JqWU9UUjJzSDR2M1VEUys5R0pnYVh6YXdwYkF3dUxnRCtIQ1ZnQUFBQUFBRlltUFozQUFBPSkg''@;'; put 'put ''Zm9ybWF0KCJ3b2ZmIik7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6TWV0cm9wb2xpcztzcmM6dXJsKGRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSZ0FCQUFBQUFGVWtBQk1BQUFBQXBR''@;'; put 'put ''Z0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFCcUFBQUFCd0FBQUFjZk5INTVrZEVSVVlBQUFIRUFBQUFUUUFBQUdJSDFRZjhSMUJQVXdBQUFoUUFBQWNYQUFBT2RqNThmRXhIVTFWQ0FBQUpMQUFBQUNBQUFBQWdSSFpNZFU5VEx6SUFBQWxNQUFBQVRRQUFBR0JvUUt6''@;'; put 'put ''elkyMWhjQUFBQ1p3QUFBSnNBQUFEbm5kREQ3RmpkblFnQUFBTUNBQUFBREFBQUFBOEVhd0JwR1p3WjIwQUFBdzRBQUFHT2dBQURSWjJaSDEyWjJGemNBQUFFblFBQUFBSUFBQUFDQUFBQUJCbmJIbG1BQUFTZkFBQU40d0FBSEc0LzdIR0RHaGxZV1FBQUVvSUFBQUFOZ0FBQURZTFpZZ1NhR2hs''@;'; put 'put ''WVFBQVNrQUFBQUFoQUFBQUpBZDZCQ0JvYlhSNEFBQktaQUFBQW9ZQUFBVGFxMU0rVld4dlkyRUFBRXpzQUFBQ2N3QUFBbnBON2pMbWJXRjRjQUFBVDJBQUFBQWdBQUFBSUFLRUFwRnVZVzFsQUFCUGdBQUFBWEVBQUFNUUkreDRZWEJ2YzNRQUFGRDBBQUFEb1FBQUJpR1hGajJLY0hKbGNBQUFW''@;'; put 'put ''SmdBQUFDQkFBQUFqUmxRQWhCM1pXSm1BQUJWSEFBQUFBWUFBQUFHOW5kWW1BQUFBQUVBQUFBQTFGRzFhZ0FBQUFEVHdaMkdBQUFBQU5TK3B2VjQyZzJNUVFxRVFCREVFa2YwTUxQb2Y3eXBML0RvZlhmVi96L0FJZ1JDMFRRQ0xSNmNkRlJralZzbzdIelR2MUQ0QjdtNDA0OERPbG9wTmx2NjQ1''@;'; put 'put ''U2VYWExUNTFzWHpTYStXM0FGM0FBQUFIamFqVmNOYkpiVkZYN091ZmUrMzlldmdLV1VINkVnSVZnYjB4UkdtQWl5YVJoVVJ5cVNqaWthWnZiam5JUHgxMkV6RnVmNGNXZ1dVaGVIREFscEVQa3gyZ0NpWWtYR3VvWXh4ellDeWd4aFlGd0h5QlltMCtsQ1JIbjN2T2Y5c0MvUWJ1TUpENGR6NzN2''@;'; put 'put ''dlBlYzh0K2NXQXFDQUVaZ0ttVnhYUHdONWVIb1F4M0Q4UjZCd2M3N2RPQThWYzcvUk9BZVZjK2ZNbmNQWm9EOFpUV2NrN1BoZEFRTXdERlhtY1JpSmV0ZWFqa1lMYkZXSm1oSHhJK205aUY4TU5sOUF4V2NRMU1YTjVJQ0pXSWxQRWN0Z0tJL0JlVEpJanFFVXZYaXlmOFFkOFpiNFNId2NQZnlK''@;'; put 'put ''Mys5eDVQZmRlanU1ZC9iL0orT2Y5N2pDdXoyTzlIeWVQOFc3ZWhqWkVuZkd1eE5jNWovQ3Y3OUwwTjBlY1RPenBCak9URmN4VzljUmlsckNZUlRoTVlZSStEd1JZUnlSdzNnaWp3bEVDWE03a1pWcUlnUkw4UlBPZkpRSXpQaEsrbDhtQks4UWdsY0p4U0hDNDAzQzR6Z1I4RmNpd2traXdydEVo''@;'; put 'put ''TE5FRHU4VE9ad25TbGk5VDdsYVRCU2tUTXBRSXVWU1RxNlFDdkpnVnJiQXRVZFRKU1A1emZXRTJMblRFNnVkMk5tSnZaMDRZREtSUngxUmd0dUlBaHFJVXN6SGcxd2hpU1N5U0NLTEpPQnhQTW41cTRrUy9BSnJPZjlwYk9MOExVUXB0aEU1YkNmeWVJSElZUWVSeDR0RURpOFJlZXdrU3RCR2xH''@;'; put 'put ''QVBVVUE3VVVBSFVjQmVvb0RmRUlMZkVtTFppZkEyVVlxL0VHbGUxUEtpbGhkdmVRbVdsMkI1OFpZWGIzbnhNbEFHTWw5WHk5WGtKRWVCcTlZeVExV3NjUzFyTzRZMUhjZk1UR0JHNW1NQkZxSVIzOGNpMW5JcGxtRTVIbUVXSG1YMDJ4alJpNnprSzZ6Z0lWYnVPQ3Qya3BVNnk1T2N0NXRWeG4w''@;'; put 'put ''cmt2dWxEOXM5M0NlTmpMczMxYldidW11T1ArcEdyVGJTM1IzNGJPUk1nbTYrUE52ajNUaHpVZkc4MThmajVmSHl5MGZTV3hldmk5ZDFPL0kzKzBaUmFab1EwNFRpcTRURDNZVEhQVVRBTENLaUlwN2tuRVFOWW1wUVU0T2lsWWl3bFlpczBtS1ZGcXUwV0tYRjZxbzRRVGljSWh4T0V3NmZFQUVY''@;'; put 'put ''aUVqNlNsL1d0Wi8wSS9lWC91U2tvbUlWRlJraVE3aStvZ1pYRWFYb1MvUXlwWXNwWFUzcHJxajBXNG1zMHIzRkUyWGl5Wm5TWFZIcFhScjNGcFczcUhJVzFVV2xweHBQMWIyTDZGblhTYlRlTkt2RkNCUGxPb3N6Wi9wMXBsOHR4cHlvV0l1UkoxcldUUHhaUlR2TFFrNUd5M2p1bnZ6MHFtT0VE''@;'; put 'put ''YXpYM1l4ckZpTlp6VWpXNENsRzh6UTI0QmxzWkVSYkdNbFczc1kybnJhZHA5ekwwNTFnRFU3elpCZDRnbjdjYlNCM0djSVZoNW1lRlgyc281U2JPc3E1eTgyMHhPeWIyWW1PUmNQSW5jeC9oNnlRbGZLRXJKRVcyU2pQeVhiWktidWxRMTZYQTNKWWpzbzdja3JPeUFkeVRpNm8xNEtXNlFDdDFC''@;'; put 'put ''RmFyYlU2Vmlmb0xWcW45ZHFnTS9WZXZVOW42d0p0MG9kMG1UNm16YnBLMStwNjNheXR1a1BiZEkvdTFmMTZVTi9TWTlxcHAvVTkvVkEvZG5DUjYrWEszU0EzekkxMDE3dlI3Z1kzMFUxeXQ3bHBib2E3eDMzZDNlKys1eHJkRDl6RDdoSDNVL2N6dDlxdGN4dmNzMjZyZThudGN1MXVuL3VEZThN''@;'; put 'put ''ZGNXKzdFKzd2N3AvdTMrNFRyejd2Ky9nS1A5Z1A5MVcreG8veE4vb3Yrc2wrcXAvdTcvU3ovRGY5QTM2ZVgrUi82SmY0Rlg2bGY4S3Y4UzErbzMvT2IvYzcvVzdmNFYvM0IveGhmOVMvNDAvNU0vNERmODVmQ0Q0VVFsa1lFQ3JEaUZBZGFzUFlNQ0hjRXVwQ2ZXZ0lNOE85NGI0d095d0lUZUdo''@;'; put 'put ''c0N3OEZwckRxckEyckErYlEydllFZHJDbnJBMzdBOEh3MXZoV09nTXA4Tjc0Y1B3Y1lRb2lucnhkaXpXYmVRbHhuVVpYcFV3bW94YnpMTzB5MS9rYWNZMXhqY1pQNWl3RGpWN3V2RWs0MnVWUDFPbDJuaVU4WlNFc2RCNGs3NUdialQvZU9PSjV1ODBQbStlNjR3M0dGY1o1NDBiM0d6eTg4YUx1''@;'; put 'put ''MmQ5TXh1aithOWdURE4rMXJpcGkrV3VOSGF6NXhudk0xNTFKYWNaTVB0S25tNThyYmIvTDlhTmwrU3F2VHZHbDQyZk1WN1l4Y3hldTJYdnYzT2F6L1p1dVNyRGl6Tm52c1RPMUhTSithdk5uN1hUckQ1dTlsMlp6SS9xR3IxbzIyaXFpcXcvemVxVTFMWTVxV2JTNnFSUnAvb3Mya1YvTXFmRjdF''@;'; put 'put ''MnU2YUo2aXhwN3crejlpVjJzYVpxeFZOdXA5ckwrOUF4cDNnNmEvU09yMFo5TjUrZHNmcXFjVHB0ak55TFY3U1grR3JQUHA3Yk5TVldkOWFjMzZLYU1adEtLWk8wWHpQNVc2cmY1ZGk5MHFQazNtRDlWV2xYR25tU2NOMDlQOWtmcGZiSG83akQ3c05uWmxldmlYeVhWaWZkY1ZxbnNqbE9LdDd2''@;'; put 'put ''OS8rQkxaeXF1c1hjcCtPNnFabGFTMTZsbjE2NWhGMHhlMkJFK3g1ZFlEbU54STN0WTBybjdzRzkvZ1QwOTZkeDk3WTFhYnAyN0gzK3Ztc28rVkUvMHh4M3Njd1BZNmU3azd6NHppVXJyNVVQWjliN0dyaldmYjdmaDlub2J4NDdld3ZYV3MvUGRicjN2Syt4K3I3RkQvaElIOEIyKzZNNWlzYjBx''@;'; put 'put ''MStCZkV2QVVPL0VRdEZwUGJlTjVSYTZ5MzgwaVNQeGpVK0VTM0U5ZXdXNVhpa0hjYXlRakdvMGJlT3BKUE9VMHpPRG9yMDI3ZnpRK2FteDNCdnN5Zk1oNHJ2Rm00MVJWT2JOTDhTWHU4d0MrS3puSlM0a1VwRlI2UzU4clQvUWY2ajZiS1FBQUFRQUFBQW9BSEFBZUFBRkVSa3hVQUFnQUJBQUFB''@;'; put 'put ''QUQvL3dBQUFBQUFBSGphWTJCbWNtQ2N3TURLd01MVXhSVEJ3TURnRGFFWjR4aEVHTTJBZktBVUhMQXpJSUZRNzNBL0JnY0dCZFUvek5ML2pSa1ltSTh5cWlzd01Fd0d5VEd4TXEwSFVnb01UQURKWlFwQUFBQUFlTnExazFsUWpsRWN4bi8vdDMwUktoVDE5dlpwMDBhaUZFWDJwY2krbEt6WnNx''@;'; put 'put ''L1pHdXNRUTBWU3lKNGtveGtUVTFPMkcrNjROV09NdnMrVlcrNE1IY2RYVERQTXVISm0zblBlYzg2YzU1eDVudDhmY0tIckMwRjBqMVRxbVRqbnJsS3N4eVdNdzQyQmxIQ0xPdTdTU0JQTnROQW1IaElnZ3lSTUJrdWNKRW1xcEV1bVRKVWN5Wk5DS1pJU0k5VjRaYngzaVRLUG02M21FL09MNVc0''@;'; put 'put ''RldzRldxR1d6b3F4aFZycDEzK1lmK1UwcGZZZkZqUjdhajJuam1maEtmekhGSnJHU0tDbVNKaG1TSmRtU0t3V3lRVFpyN1pmR1c2MTl5R3d4MjgzUGxtRUZXRUZXaUZON3FKWDJTMXQ5VkMvVWMvVlV0YXRXOVVnMXE0ZXFTVFdxQmxXdjZ0UTFWYXRxVkxXcVVwV3FRcFdwTTZwVW5laDgwNW5W''@;'; put 'put ''bWZUOWs2UGNVZURJZDhUWUI5cjk3RDUyTDd1YjNlajQydkc1NC9DSGtIZkpYVjc5cCtadWVEdVQ0STliQktQN3ovaUhSdGRKRjF4MWR1NTQ0SWtYM3ZqZ1N5Lzg2RTBmK3VKUEFJSDBvejhEQ0NKWVp6eElweDZLU1poT0pCd2JnNGtna2lpaWlXRUlzY1FSVHdLSkRHVVlTUXdubVJHTUpJVlVS''@;'; put 'put ''cEZHT3FNWlF3YVpqTlhNWkRHZUNVeGtFcE9ad2xTbU1aMFpaSlBEVEdhUnkyem1NSmQ1ekdjQkMxbkVZazFhSHZrc3BZQmxMR2VGZnY4T2RyS2JZZzV4bk5PVVUwWUY1emxISlZWVWM1RWFMbkdGeTlSeWxldmMxQlQ5WlBRMkRacWxlNXFtbjIwVnE3VWQwV3pnYkxjMzYxbWorMTJjK08xVzRW''@;'; put 'put ''OGN2RUE5bTFuWlkyVXRteVJHajF2WXpqSHNPQ1JjOHhrcFVib0NJcmlqZHg2Z2FaWUVYUS94M1dlS25HSEVzbzI5YkdVZmV6akFRVjFMK3puQ1ViMTFtRkpPY1pMWHVwcDZzVTY4eEZ0ODJDaCttbi9QSDVETnF1aDQybU5nd0FMOGdkQ1p3WmxwUFFNRDAyNG1WZ2FHL3lITTB2K05tWGIvLzhK''@;'; put 'put ''MGpFbncvNWYvZmlBK0FNOVBEVmg0MnExV2FYZlRSaFNWdkdVakcxbG9VVXZIVEp5bTBjaWtGSUlCQTBHSzdVSzZPRnNyUVdtbE9FbjNCYnJSZlYvd3IzbHkyblBvTjM1YTd4dlpKb0dFbnZiVUgvVHV6THN6YjV0NVl6S1VJR1BkcndSQ0xOMDFocGFYS0xkNnphZFRGczBFNGJab3J2dVVLa1Iv''@;'; put 'put ''OVJxOVJxTWhONng4bm95QURFOHV0Z3pUOEVMWElWT1JDTGNkU2lteEtlaGVuVExUMTFvelpyOVhhVlFvVi9IemxDNEVLOWY5dk14YlRWOVF2WTZwaGNBU1ZHSlVDZ0lSSit4b2syWXcxUjRKbW1QOUhEUHYxWDBCYjVxUm9QNjZIMkpHc0s2ZjBUeWorZEFLZ3lDd3lMU0RRSkpSOTdlQ3dLRzBF''@;'; put 'put ''dGduVTRqZ1dkYXIrNVNWTHVXa2l6Z0NNa09ITWtyQ0w3RVpaemRjd1JyMjJFbzg0QzlJbFFhbFovTlFlcUlwbWpBUXoyVUxDSExaRCt0V3RCTDRNc2dIZ2haV2ZlZ3NEcTF0MzZHc29oN1BiaG1wSkZNNURLVXJrWEhwUnBUYTJDYXpBUU9VblhXb1J3bDJkY0JyM00wWUc0SjNvSVV3WUVxNHFG''@;'; put 'put ''M3RWYTJlQWNPcnVMUDVidTc3MU41YTlDZTdtRFpjOEJCM0tDcE5HWEZkZEw0TWkzTkt3b0tUSFM5UkhSa3RKaVlHRGxoT1UxaGxXUGREMjczb2tOSUJ0UWI2MHlpMkpmUEJiTjZoUVJXblVoWGFqQllkR2xJZ0NrR0h2S3U4SEVDNkFRM3lhQVdqUVl3Y0dzWTJJem9sQWhsb3dDNE5lYUZvaG9L''@;'; put 'put ''R2tEU0hSdFRTbWg5bk5oZURLUnJja3JjZEdsVkx5LzdTYWpKcDVURS9wdWNQcTlnWTl0YjllSGdZQll4Y0dyYjV6T0lrdS9FaC9nemlRK1lrS3BFdTFQMllrNGRvM1NicXkyWm44eExMT3RoSzlMd0VWNEZuQWtSU2cvODF6TzR0MVFFRmpBMWpUQ0piSGhrWFc2WnA2bHFOS1NNMlVwVTFuNGFs''@;'; put 'put ''S3lvMGdNUFhEOE9oSzBLWS8zTjAxRFNHRE5kdGh2SGhuRTEzYk9zNDBqU08yTVpzaHlaVWJMS2NSSjVaSGxGeG11VmpLczZ3ZkZ6RldaWkhWWnhqYWFtNGgrVVRLdTVsK2FTSysxZytvMlFuNzVRTGtXRXBpbVRlNEF2aTBPd3U1V1JYZVROUjJydVUwMTNsclVSNVRCazBhUCtIK0o1Q2ZNZmds''@;'; put 'put ''MEI4TFBPSWorVnh4TWRTSWo2V1U0aVBaUUh4c1p4R2ZDeWZSbndzWnhBZlM2VkVXUjlUUjhIc2FDZzhkc0hUcGNUVlUzeFdpNG9jbXh6Y3doTzRBRFZ4UUJWbFZKTGNFUi9Kc0RqNnVXNXB6VWs2TVJ0bnpZbUtqMGJHQVQ2N096TVBxMDhxY1ZyNyt4eDRadVZoSTdpZCt4cm5lV1B5RDROL2l4''@;'; put 'put ''ZGxLVDVwVG5Cd3A1QUFlTHkvdzdnVlVjbWgwNnA0cE96US9EOVJjWUlib0o5QlRZekpnaWlLR3Q5ODVQSktzMW1UTmJRS0gwOEVPaXZhd2J4cFRvd2pwU1cwcUVrYUFTMkRybG5RTk9yejdLMW1VUXBSYm1LL3Mzc3BvcGpzUlJuTWdDa281S2F4c096dnBFUmFXRHVwNmZUUndPVkcyb3VlTERW''@;'; put 'put ''YlZuR0Z2UWZ2WThqTkxIazNVbDY0S1NudFJadFFwN3pJQWc2NWtUMjRKb0piYU8reWltSktXS2dpUGdodEJmdnRZMFFtTFRPRExvRWlaSEd5c2cvdGloMDVvb0oyQXQ5NjBpcnYyMEx0ejNYeUlEQ2JuVzduUVphUm92TmRGZlZxZlZYVzJDaFhyOXhOSHdmVHpyQ3g1aGRGR1U4dWU5K2VGT3hY''@;'; put 'put ''cHdTNUFrWlhkci91U2ZIMk85YnRTa2srMnhkMmVlSjFTaFh5WDRBSFErNlU5eUlhUlpHeldLVVJ6NjliZURKRk9TakdSWE1jRi9UU0h1MktWZCtqWGRoMzdhTldYRlpVc2g5bDBGVjAxbTdDTno1ZkNPcEFLZ3BhcENKV2VEcGtQcHVkbXZDeGxMZ3NSZHl6Wk5kRjlCMDhJUjNpdnpqRXRmL3Iz''@;'; put 'put ''SElVM0tMS0VsMW8xd25KQjIwZksraXRKYnVUaHlwR1orMjhiR2VpSFVrMzZCcUNua2d1T1A1ZTRDNlBGZWtVN3ZQekI4eGZ3WGJtK0JpZEJyNnE2QXpFRXVldGdnU0xLdDdTVHFaZVVIeUVhUW53UmRWQ3N3SjRDY0JrOExKcW1YcW1EcUJubHBsVEFWaGhEb05WNWpCWVl3NkRkYldEcm5jWjZC''@;'; put 'put ''VWdVNk5YMVk2WnpQbEF5VnpBUEpQUk5lWnBkSjE1R3IzR1BJMXVzRTBQNEhXMnllQU50c2tnWkpzTUl1WlVBVGFZdzZEQkhBYWJ6R0d3cGYxeWdiYTFYNHplMUg0eGVrdjd4ZWh0N1JlamQ3UmZqTjdWZmpGNlQvdkY2SDNrK0Z5M2dCL29FVjBFL0RDQmx3QS80cVRyMFFKR04vR010am0zRXNp''@;'; put 'put ''Y2p6WEhiSE0rd2VMejNWMC8xU085NHJNRThvclBFOGowMjlpblRmZ2lnVXo0TW9GTStBcmNjbmUvci9WSTA3OUpJTk8vVFNEVHY4UEtOdUg3QkRMaGh3UXk0VWR3TDNUMyswbVBOUDNuQkRMOWx3UXkvVmVzYkJOK1N5QVRmazhnRSs2b25iNU1xdk5uMWJXcGQ0dlNVL1hiblhmWStSdGxNN29z''@;'; put 'put ''QUFBQUFRQUIvLzhBRDNqYXRYMEplR1BWZWVnNTUwcTZramZ0a21WNTBTN2JzaVRiMnJ4YnRyeEt0dXl4eCtQWlBKNWh4dU1aR0FpVEdRakxERXNJSlNTa1NVTkMyZ1JDQ0R4YWFGa213TEJNRmdoZlNpWUxKQzl0bXJSWjJyUXA5QVhTdEVsTCtzRHkrODg1OTBxeUpjOE0rYjRIWThtK091dC8v''@;'; put 'put ''bjA1UWhWb2FUMkNQeXZZa1lDMHlJeHN5STFhVUF4MW8zNDBnV3hKeS9CQVgwOGlIbW4xZTVycWFpMTZuVVpCVUVWN1FPblVPMFZ6eE93MlIyTHVXQ1Ftc25jUmZwV2YwbWYwblg0Q1QyTHk3MUliMWlFUmllSFA1bDdHL2Y4NU5Qenc4UERERHcrN25NN2g0ZUZEdzg3Ykh6N2tjaDV5UHZ6d3c4''@;'; put 'put ''NURoMjRmRzN2NDhKamp1OEliS2FmWENmOXVQZUlhRy9NY2dOL0duSDNEcmtNM2RGbkRzOGVQUDNiOCtHeDQxUmwyd2orRUNKcGYveDM2R25tQzdjMmJkQ0dNMFJKQ3FDYURDQkdXRlZnUXJNS1VRcUhRS21xOGVwMVN0QWFNRWNGdDhjV2k4VWlueFd4U3VaZjJtbUtDdzJHMU5EVlp5Qk01dzNj''@;'; put 'put ''ZFZyUERZYlk2RUZwZlIrUDRNYnhJSHRTNVVBVkNPZ0ZlbjBaMFhqKzgzQUR6MmxFVHVpSHpaT2Zzem1TelZrV1FVaUNZSUx4U2lUV2Fta3lOcmxvUVJmVlNWUVZScS9VWkJTWkVTNmJzU1I5OXdENUVhdkZ3YVQrcDRhNWtJMEpOalEzMU1JMjl6bFpyaFFVYjlmbi94SVlBRmlPaVczUW4yRThp''@;'; put 'put ''d240aUl2c1I2WWY0djZMWGFxOE5EZ2Z2Z1ovajJ1UFI5MnRQU0g5ZG8zM3VudWc5K0t1djlqOEYvL1cvMnY4MC9OZi9La0F5dEg2V2hNbmJxQkY1VVJ0cVR3YmJBaTZudmE3V2FqWlVWcWpGR2tTVUFHYVNCakNRMnhCRytFTUFFaXVhYXRMckJRQ3dSd1ZvRWZQNUV4WnJMSVJqMFFHY0FQU3dX''@;'; put 'put ''RVdmMzl5SXpRZ2UxOEJiUEJhRkJ5UjgvRWoycHIwZDAzc3YyOSs1c3l0NzFhNzJpWm5MMzVjNzNOVWJTV0l5bVJxLy9Fb3hPYXpiM1QrdFg3UE5aenUyeDhYKy9wcTUvdEdhMzlUdG5NZjJkdjFQTlVPdHVaR1JVREJtZWdzV29rVGg5ZjhtYjVKbkFDT01jRHBoMUl1K2xYbXlGazRvVUltVkZS''@;'; put 'put ''aXJsSGdWcVpCYW8xSWZRUW9GV2lhWVlrdzFnRjVZcmhLSklHaUZLWHZtU1Q5MENWK3dDNEttckorNFhJVkYwU3JDMlViSzlDQUUydEp1cUh5dlhidVN2dloyaDhOa1FxaTl0NzBuSG5XRUhhRm1uNm5KMUZoWGF6VG9kYkNaR2wrTmFBNFlPRWdqblFCS1V3MTI0d2gyR3lnczNTNlYyV1NKb0Uy''@;'; put 'put ''ZkQrRENaMStZYkc2WkRJWFlLLzdvY0s1MStOcDRvclUxM3RXQ1p5ZGI4aDhGMk1ORUsxNEtaVU1kTTZIUVRMaDlKb2puMXJiaHUxT2RrWkZVdERPVk94aWNhUS9UejZCRk1KNktkSTdRajJCL0FtcFoveDA1U1o1RkRoUUFQak9RN0EwSHZVME45WFcxRmJoQ0lBNk1CSkttR0k2WGdWd3RHU1VR''@;'; put 'put ''S1lNTW9GQmJtOVBaRm11TE9nUE8xamFYU3JRRWxINlYyMFgzRkU4VTd3dytzc1lUVnBWb1JiQTFLOStsSWVIekEyckJUa2x3OTlJMS9RZTdwbWNiNjRPem5jRjBZUHYyL3YzdGpVTWRvZmZuUHRjVm4ranY4RFZObmh6dUdaenZGL2ZzRCsvc1RSMTB0MHo0Z3BPQndHUmdjTm81dmpJKzMzRGww''@;'; put 'put ''RW15T3hLSWo5YkhXNXJqYXk5bnI1dTFaOEs5WTREendCZlFnK1JCVklPQ21TZGJBRkVxS2V0aDU0c0JDWFNJL3JrSWYrSWxTaUhUdTU2MmVBbHN4eERMc3g3UkpMcDM2dTFHbzEwdnR1RWZrZU90UnJ2ZDJIcWNCS0RId1BvT25DQmZSdFZJOVZTMUVyY0hHTXRLV05uMnJPS2p4NDZ0TkM5czM3''@;'; put 'put ''N1F2UEN6VzI3OTZVTHJ6aGMrY08yNXhRQ2RFT2gzQi9iTGZVWG95OEhqVDNEQWhWaS9GUmpoNXNWejEzN2doWjJ0Q3orOTlaYWZMYkMrdmZnNnZFUytDanNaVGc0dVRvMG4vUFZXVVEyY0tkMlBVVFVjMmlTMEF1UW5OeUVpWUNLY29peVdINlF3QlNNc28zMXpzKzBobDBNcG1nSUd0dVo0UWlY''@;'; put 'put ''Qy8yNlh6dzkvSitLRDJNOS9vMmRwdGNEL1BqODdZTTZRb1MzdFEvK2kvRTVVYWJHVi93Ylk3S0pkL1JZcjI0bjc2MW8xRmhUVnRjMVdwVkpWcFZCVTFnY0RnV0I5cFVKUnBWSXByTTIxMVFvQnE3VVZGZmwyQ3RXRjJ1SHJxalhXaUVyYnFERzVHT05XVnF0ME9yMWVwMU5WSzlXaUtGUzdUSnBH''@;'; put 'put ''clNwaTFWUmZla3NHMXhRNlNtcElGRlVpWDlLTllEckZBdUE5QUJJTGFBVllBMFVUQlo1bWZGMm5FdXNDMkUwbGFveEsxZ2lwZVRIekl2ekRMUysrbUg3cEpUcmU5UHFONkNXMEgvRFBtZ1F5UitNeStnRVJlUXdVMDRBOFhBVXhKODQwVjFsQXl0VTdIY0dqb1RBVmQwRjM0MkFYSGFzTC9RcjM0''@;'; put 'put ''aWhRYm0zU3pCQjNvWUM0ZWgwZHpPZzBPN3V3a0Z2RDBVbTJuMG1RdTgvQS9KVlVnNkJQZ0NOaWJNVVVCeXBSaFVjQVZsVXNaWTlLRXJZcUwxM3grbS9XeitLSHlPc3dyejVaUXdjRllZSlA4Z2twVzhNekM3a0hGc2pyNzc2R21NenRCYjV5TFRrSHJMQUp0U1ZiZ0t1eUhYTU9na0hZc3dYb2dQ''@;'; put 'put ''WjBUYnJHV2d2am1TQ01Bb3JOUEpIRW9pRkFKa3BNalRDVDZvT1RreCtjbjRQWFcrZjc5a1dqKy9yNjlzVmkrL3FxOW54eGRmV0JQWHNlV0YzOTRwNkp5VnZuNW02ZG1LQ3ZIQVoxbEJSQUIxQWhlN0lXamxJQWVLVTVoOGRZaTZmMFJnWTYwWitJNk4xUFgrZDZaREJMWnJNOUo5YTJJZGEvQXpa''@;'; put 'put ''VkNmdXhvZGFrdjZvU3RnUFlRRWlhZ1pPeFJxckVMQ0Vtai9SV2oxOGgxZ1lHTVNWbXVucVY2STlMekZDTDRYdzYzcGtZYWg3MmR1L3lKWlkrM1hlb043UDRORjdLK1laK09MQWFiZTUzZEVXQ0grcmMyemQ2WStiZU5KKy9HZUNwaC9sYjBHQ3l6MVlMYzdrd2tEU3NBd3RVdUFPVjR4V1lYYkVN''@;'; put 'put ''Q0FxTEFkbTZyTUpLcFZWSlQ3a0ZOWHM4VG85WEZHMXcwcFM1UkRxcEhBcmdtTlVpQ2FUQ0NrVUo5TisvdFRudVB0US9zWFBmL0dSNmZQZmlVSHlIUDdybkUwT3J2Wm1lL3NXK0s4ZXFobUtSVUhTaXQyOWdBdU9oN3ZoWVp6aDhmWGdoUGpDbnI5ayswcjA3d25HaEdWNEdBUFlWd09XQ3lkWXE0''@;'; put 'put ''RWs0clZMQ0hqQUMvZlV3Z0krSlhLMWlxckt5c3JxeUd1aktvS05yOVRyOU9LS25HcXc3cHNmNHp0d2pGWGhoOStwcU52ZjdQeC9DcitRR3gvLzgxL2hnN2o0T295NkFVU1BNMDRqNmt0MG1qQlhhR29FbzROelRDRjZSQW9TOElKQWxMdUUzQXFnUk5iajBScTlIQnBBbDBpa0pZOUZQNlVtTTV4''@;'; put 'put ''SHlaOWNISXpzdkQ2ZGI5azdNalhkWDRIdHlaOFdSbWNIVi9zSDNqVlgxUkxyM040OEZodWRpOWZoQSt2VlE1TUJ3YXJVTFlOQUhhNHZBK1RXZ1ZzcXREWG80TzM4ZFVTcElXZ1ZzUmFFVUZLc29MMlpGV0pqTUlScEJyMnhzYld6eHVxRnp2ZGZyVTRQZWhxVEZVSzVCaVFYRURDZVNCa0M1aUVG''@;'; put 'put ''V0pFUktNWGNkSFJpNGF1ejJXOUkzVC9mdGF3bDRKa0x4M1RISFNyOG4wN3h2ZkdpcFdyYzRpaCtEaFE0ZTZmdkt2U3QvY2FDMXVkL3RuYmxqbTZZemtmdEljTUkvQ3R1Y08wRGxEWnhqRmFPaHBtUzlBZ2lJVVJEbFBaanA4S0FGZy9aRDFVcnNqRG5Od0JTZXlOMkZ2NS83MFc2eWt1NWR1NHZx''@;'; put 'put ''RzFHQVF5dkF3UTV3NkVFanlTR1RpZ0NIVFl0RlFKQTRoUnFBZ09HTUdLY0lCT3JyRVFyMEJMb2pIZld0OVMwZUZ3eFIxNmFockt1Y3hpSEJ4NUFuUU1vOXJOS2YvaHJDbU1rYjd4OWVTQTFNREYzUlAzREZVS1ozZUdINHhKaG5JdHd5SGhqYTFUN3VCcFVwUHV2enpjWkJxYXBxWCt3ZTJHdXUz''@;'; put 'put ''ZGFkbUc4THppZDZaeTJXdmYzZGkrMzRFNDF4cnl2ZU5CTHh4UnRJN25sSHQ5ZmY1OFRZMmVmM2Rqc1kvbTg2ZTRjQmpyMUNBellFZ1cwcmdYQ1ZaQlhRWDRDOUNvSWxVeVFkNUxPSDNjTForN3hlZHZZVzZlZzVIUS9nZmt6L2xQWnZvSkRnN05JU3dVK1ZuUG9ndzRZVU8vWU9pZ0hrM09aVDU3''@;'; put 'put ''aVErd2c5ZG5iK3NBY21RL0E2eUFzcjVlZVVmN05GNnJueHB1VEdXMVVWUWxYV0tvdEJ4d1FMNWVlR0lzRkN5Z2dacS9TTzc1YWxUZTZBL0J2WWRFeDI0bld3NmJRd21ZajBRTWIzSTgwWmpKL0Q5ejhaQ1ZDNlQ2Q2RPRWNXQVM5VlQ2a0k2RkRHbU5kY2pjMEo0QkMzNGRPNHAvY1hZODgvUDg3''@;'; put 'put ''T0lvWE9rUnI4VDRDSkluSWxteWorVWxNT0ZDU0JMRWdzbkFoVXR1c29CNmUwVC85UDRXL25ZdXpubjlLZlRNT2NVMmduTWNwekNqQm5Jb2hqU3JOeUNwK0dPVi9KZGQvLy9QTmp2K2o5QlozVHZ2NDcvQnFjZnkzeW9FUXlhcW1xcEd3UFU3WXR3TVEzRmNrUXlzQ1ZXS0d3S3Fac05wdkg1dmJX''@;'; put 'put ''ZXZ3cXVoQlpEaGI0ZEEwRzI2MVliai9Yc3lmaUhHaU96bmtqZS85b1lIODBzcWRuUmkrRDk1VFMwK1ZvU2pnN2c1RVQ3ZHNqYmJPOVZiY1VtYzkwblczcmR3bWpvQ2NQb2l4K0p2TmtCV2pLQnFlRHFJWGhKb09nVVBmMUVrRFFOQmhiVlJzKzBSUjlZdHFpVDdubXUzYnQ0cE0wVjJxSUFtU0Np''@;'; put 'put ''bkpvVlFVR3JmSWdraGdnTUJhMVdsZ0d3T2pWVTlMVVFUQzhGVml6aUM2MWsrazlUdEwwaDB4Q0RZc0FIS2hhSTZoWEw5cFpDWVpIQnhWQ0FsS3VidDFMRkZXQVl5cHhtWFdmMlVYL1M5WW1rd2dsczhucGlURTRxd0dmcjlYcjhmbXFSSHVKOHVTaU5sYVJrQUFqcklOWmw1MHlYNVRVcWs1bXJv''@;'; put 'put ''QUJtdURhZ01RK1JwNDg4djRYcno3MDJPSG9YQ2pVcjI2Yzc1aGNTaDNyNlJ3MVZLZjBIazlqWTdkMzZiNDlLNCt2N3Z2QzNvR0RDVVBQVlNQTk85VTRIZ3Rtdy8yUms0Y2ZPL1MrRjQ4ZmVHZzVlMlU4MU93UDc1OGVPWkVLZW9hVkMyZXRUZTZXeGVHRlR5MnVQckd5NTc2bGVxZmQ2MWk3YkVy''@;'; put 'put ''VVJucWlPenBpUXhRZkFTM0pEMERlaUtBNUJKTE5HZ3h3U1FOMUFMa29RR3VnWWx6QVRIdFRxOVVWNmdxdWp0ZUMxaUF5VTl0ZmlVbDM3dGJSQlJ5bS8xYnUvOEs5OTVJbjFyYjlLejZhK3d6QWZCK01meHpHMTRGVzUwTDl5UjZRT0RDRENqZ0N5R1VsVmFja0I1V0l1ZFpQNTdMWEdmVE9wanFY''@;'; put 'put ''M1ZWcjBkc010amFIbWluZEd3V1BFMHNLbHRrby83SVA5eVoydEhkMDlBMUZsM3B6ejJOLzkrUms5NDkvbWR5MkxmbEw4a1JidGlNNjF0QzRweXUrb3gzZk5kRGVQdkNUM0xueHJxN3hITk50cU56OEtKTWhvV1NnemxaWlFYRWtMWXNLeXdZWEdqeGcwc0pIWFdoNWxNaXJDTVVIamhNUDd0Ly80''@;'; put 'put ''TkxZTFIweDMwcGk4blFtYzNveXNlS0xkZHd5VmdYbnR2emdnVVJudkNVMGZWdG02b1BaVUV1OGcrb3lGRzR2TUgzT3pDeWtQSmlZbzBBQ1UxV2x5VkJwcmpMN3dMb0U4TWdvR2NBSkNmY0NXTC92aldPUExDOC9jdXlOTnhadXoyUnVYL2dzZVdMbnZRY1AzcmR6Zk96VXpNeU5ZMnMvWjN1Zmdm''@;'; put 'put ''bjZZTDVLRkU2MnlSeWI2bTZLSlJDYk5jV2FON05vS3JuSERWUTVvMW5pMzNxbitmUDRtdHhIOGVkelJ2d1dXZmxGK3QvVDVBbEp0NWJIMTZDV3BFOGVuM0poTnFxczJzQUhHcVNoSXpOK3pFWjF5K1BPOEVGenIvQkIrWG5kRCtmbFJMRmtKNWhKU0dnaVJLRmtCb05TZ1JoeWtXVVkyVUkxWDhi''@;'; put 'put ''K1Fjc3h3cUc1dVVucDFCY0o5ZExEaTdueFhkallmdmZFRWp2QWlVK0ZZOTdydXZrQnRxLzZ2b0V2ei8yMnZac2ZZWGQ3M04vT2o5RGQ4RkJoejdjd21QcVRIa2s5WGdHZG5PNlgrc3UwYURNc01kMHQvRVRnbGR5U3pWMlJ6ZUpQVTNMQzNYVGJ1Yi9CYlh4Y2RCL3o4UnFwWTZWZ1gzSFRGSXly''@;'; put 'put ''bVd5VzlxSTJHY2pGdjJiMEIxakVUQm1HMFV3NUo4c0NJSk9WZ1YySHRFYXZBcm9YVEJkWUJhV3lKei9RMUcxYURQZG5zNG1EZzFYSnpxNUExOTVKL0ZxdVkrUllIOS9uM3Z3K0hja0dqVnBKbU9URnpDTW9jTSt0MFdEZ3NqNml4eEVOMEFTSTFiMVp2SGMxOTNNY1hjbTljd3pXbS9zUVBwWDdh''@;'; put 'put ''OENmNVB0ZlplT093TGdhR0ZkSmRXRzJhRG9hSlEwSmRFcWsxT3Zwb3IyQUp4RTkwZVI2czJuQXViWFBzZjZVaG41ZldKZFlabDBtdmJ3dURSaEJibjBsbk1DK0xGcEg2OW5zK2pwZGxCUC9mRzBiRWRuNy82RDh1QTh4WEc1TTJrVkNTa1kxNUVmRnNDdzNHeE0vbXMzbWR0QmorVDRKdzRqaHRl''@;'; put 'put ''OVQva3R4K0xmL1AyeDR6blQyUGJCLy93UDdKaytuMDZjbk9lSktMT2ZBZzh2TER4Mll5SDV3S25QYk5NZGJwcDlRbkQwSWU2c0N2Z05XT0t3Q1NGWEExQ1ZUQ0NUQUZtdXFUWVpxYzQxWjczT29hQkRCbWVjOVpyZk1sdlV6MkRwMk1wVTZPWFkraXpVTHE2c0w1OGdUWFN1RGd5dGRiK09oN01o''@;'; put 'put ''SU52ZVRZaGlZYUJ3bTJVa2QrMHFpQXJOU0lOUTFXakRaRkVXZVViUFozR0p1RHZ2OGxBR0RFTGVLL21KaXBvNzFlTUtmc0c0U3d1UzN6ZDdwenRudzhmNGxHVUM1VjdlN3IraThxcTRoRHlOY2YzVTQxVFBtRCtSaGxmdVhwdnFsbm1YUFlxZ1lYRVh3cW9FMWdmd0VnYUhBc2ltOEFwcUl4TjRr''@;'; put 'put ''Y3ZkNG5IcTlrZklldW1LM0gyeHVQWU9jVXZZVmtJTkg1ciswNi9HeldRYTZYTTg1QmpaODJ3bEQ3dTIzR2ZRK1NRRW4rVFgvaTRUSmx3RnFJSzlxclFRa05zRkY0S0xPNXlKNTFZS2F2VUVQQlpkRnRtcW9GelJFU3RnZjl5Y0NPTzk3WDBmNHFwSEloSGZ4c3N5QldOL1JvY2xySXUxdGgySXRJ''@;'; put 'put ''NzRkQjY4NmtiaHF1dkxLL25EVW1YQkVFMVpEVzZZN3Zqc2FDZmUzaHB5SnBvNUliZDJ1N1YyN28yeXRRWURUSk5NenVHOG9iOUp5WjQ1a0NtQTMyTFJ1b0JqVDY2VCs5U3lZdEdtSmxuY0FqbndLK3B1Uk05a29CUnN3THQ2ZUdabE1IcE1zamluemt2WW84VEhzdW0weUcxL3U2MXVPWnlkdm02''@;'; put 'put ''K2F1bU1IL21UdXFxSFZucDdWSWZyYmpqdW1PSDNMT3BHS3pxVmtOamh3VG9scGNzNERKZ25uUEpTWEFlOGdQOGg5ZndIK1lSQnBsUFBDenhreUEyTjVFVktZR0QzQldCV1U5d096b0tFdEpzclo1b0ZiR0hSS0tra2pka3ovQ2U1SzdQYnUvT3JaeGJOZjNmbXI2YSs5T0EzRC9RMXBZei9ieU9U''@;'; put 'put ''YXMzeWRJRWZKM1l5L0FYL1VxR0JvT0g3S2dtb3ltT09id1dEUVU3akNLbUZJRFJzZFpKcTQvKy8rYmhtTHVmOWg3enR6ZjRGdHVkZnhJdnoyT3JieHNRMHc5c2RnYkRWcVNOYXBCS0REUEpPVHZCQUdGdHlTeG9RajgrZCtkZUNuUDkrWGUzTU8xK0xQNUo3QzA3bWp1VGZvV0QwdzFyZ3MreWs4''@;'; put 'put ''QzI2OXZGOGo3OVl6Nk5tS0U5eTlBUXBBRCtnVFJ3bkpIY0FQcnYxMmdQalRBMnMvNXZKLzIvckhjRC81MlNWYW1SRkFMUGpaOXVhamo3NUpmdGE5NXV5R0h1dnZySi9GVDJ6aGN4VkF2MVV1NEdYdWNzV29BK1pyeU04bit3T3Bha2I5dzNRK1ZKalBDb3cvQmo4ZE1OMmJQZVRuM2U4K1FZZVA0''@;'; put 'put ''L3Z3MHh5M3pxZ09qU1F0d09HWmx4Um1waDdqazVKMzU0d0tqUmdqUnJkZmRQK285NEdobTI1T2dpejY5VC84QTExemJ2MzlaRzc5R1pqT3djYll3a2ROaHhBQmdJUnNYL3VyVElxZjZ5QkpZcEY4RC9wYVdkOHE2RGtCbjV3MGdFam1zeWFzN3NHWjYzdklWdzJmNER5dUUzU0kzeEE5c2lNLytr''@;'; put 'put ''SFNaTU9Db2hhRWdoNDArYVpHcGFCU0t0TGN5SFJBWTZXS1VHTUxiR3lxME5zeWFxeFNvV1VKSHlYajBsT21IU1V0MWxqVzB5U2I4dUpqWHRwdzFLZ3pVLzlXdmIvZTUzSlF6NWJINnpacTRLaVF4UXhuVldURVdRdmVXZ09vZ1hLNEVOOStSY2ErRXArL1BMR1V5TzVPVHJrbkE0MkhkbGdPMWt6''@;'; put 'put ''TjlzNVBkaEg5TlFkeTM5alcxckU3MHprVGFEQU9MdG9zL1owNWIzZGt4dHdYQ2llUUZKOG5FeURyREdBTlBYZFdXMEdVSUM4NDlCb0FhWFdadkpQS0pua282VGF0ZWRBNU56ZWlxdDhHWDZZRXQ0dU1kZ2tEVVlpWmpFYUVqQzZqMDI2REpZUHMydVFaOVZPaTBzdnUwR0w5NDc0ckJ3YXVUUFVm''@;'; put 'put ''YU14a0dnLzBlMmJhMm1ZNk8yZmIybVk3aVg3MHhtejIxR2gzOUFBNWwvdTNhSGZPQjhaYTc5NW9kRzl2NzFLVTQyazc0TnpiZ0hQbGJUSGIxcmFZNVlLMjJIK2RtcHc4TlI1ZDlrYnJSbnlSeFFqODg0M1pvOTREc2FyMDZZbUpVK2xtVDZUZWtkZ1hUeXgxT1JzajNsWjZabkU0czBEK3pQUkM4''@;'; put 'put ''WmxSMkRFd01rT2pHTW9GZEhkdWJzU1FVMlN1MXcyNGZwSFJMbUdnMGpNeitOeDZlbVpZUXZFQ2VQUmtzMjRVb0VlVmtnL3VGRHV0VG5aeTVOemE2SUZvOStpcGJQWkdPRGhzWFR1MStjd0lQVFBpZ1RNem8zcHE2UU9QRndoVGhvaWdJQ3Y1WmRveXFpSTl6bUlCYmJmZVlyZlZVZ2x1OERIM3E0''@;'; put 'put ''ZWZWbUd4WmlkZG4wcDB3bkx4d2FYYWtQTURYYVBYVFk1ZU0zcnkxdHd1OVVwbThsQUYzcXZla1U1NDZqbzhiV09ucHpPbnhyNTQ1L1JsK0RONzB1azlIS2RBRnVQdHdQc3NhSGV5UW90VlNoMUdLcExtMlNyMVNLVlNMb1BHVnNzY0htaEpnU1hQSzh0UXFRTmpRd1ZjWnJYMHcxM0pDbytieFNs''@;'; put 'put ''RjBjN2xqSnZ5ZnVZMDVFaW9NcjkwODgyWmJkdkdFL0ZXcjZaZWIzVVNaU28zZ0wrZUd1OUpPeE9hS204OTA0TzNreGFBSDgzUitIYXlxbEZIVkVxTm12bXdKZjRLREExa2pvcXNVczF5V1ZRUWlYQVpNSTBGL3BwdlI1a2hySk8yUnFWdFRaYzA1cVVOeC9pckExUW5ucWtCbTJqeWViMGV5bCt4''@;'; put 'put ''dnRpWEh0L2dTZ2M4akpYZ1ljdlFpWFQvMVI1bjQ4NzJYWWNBSlVlUDlmY2ZHOTJNa3NwYzUvQnFqNitwdDhHeGZXcDdlMnp3NnZIeHF3ZGk3YnR5aDBMYm9wRnRvZEMyU0hSYmlKLzlOQ0NvQW1qWVRLTmpCaDVYWWJRRUNqdnpCdHVLVEhKQVJMM0piYUkrQ01ycTREZ2xmNTFlNG5iNGhsMGRt''@;'; put 'put ''WW51d0dSYkptTmRpaE45WkU5UDdsazhPRGpyR1hEbm5nVzI5blpyak5IRUlMeCtrZncxNkdoYTZnWEkrL1JyS2ZMb003SkhSVnRUWGNYYytjcE43bndSVklpOURRMW1VME9EeVpmSmtJT05KdnFycVhIZjJqc3cvdm9yNjFscGZEdWxPUzNJNVJwUVFVbGFXVFNUSURCY1ZleFh3VWJ0Q2g1Q3NG''@;'; put 'put ''ZlZXUzFHUFp0VkxBa2lGRHNCVlBrVlhCWFVWbFY1dGJhbXpIaWlzSlIzZjZVUkI1UXFUd09KckgyM2grdG13SnBZTExVU3VaTU9qUUxvWFdDbWlZNnZSdFpQOVVhbTdXR3E2REJSQXJCdC9zbStwNVl5R1d6ZmoydHpiL3h5NzUwQXpqYmN5TStSSHM5bllGelo5NkVyOFgxTUFaU0FXL0cyUWdU''@;'; put 'put ''b3lZMys5S3lqanJrK09CMVpLQkVybDlXaVNsQXE5UmtGalRRWDJEV1FPanlrVFZUUWhLaFV0dUlXcGd2MHYxQlhTaDkwd1c3a2N1dU5icVBicEFGdVVZUmVxZzIvUk15Y09PQ1ZQTGs5bkVsRkI3TDhKV09haWZUc05PdjI5aGFoWGFib25TaW5Xc0s5a2M2K0F0NVRudnpoWnpqYWN4QVltZldr''@;'; put 'put ''cE5TdWx6RmYycitWNDBzSllVaWJMOXR6eTA1MDI5VVhJeW56SlpDVWNoNG9pc3VZY2RqUEpuK0o3YUwrRXN1Ri9TVmNNUmkvY1hMeXh2Rk9xaGQwY3UxQVVndlNweVltVHFkVFhVdUorTDRFVncrUXBNOXRCMzFPWDE2Zm8zSmFCV0lRQ0wyZ1dGRWdHWEd4UHFjdlZkTTJOalJkZkxSTEdPaVM5''@;'; put 'put ''RG41T1A0Z2ZTNzNXM0xtUURsOWp1cFEyMEdIMHBmVm9RbzdzeFVwTTVrTklvMnBQdnBOcXRIbWhxYUxqM1lKQTExUWg5SmZUSFpkUUlkU3JzM2c2b0lTZFNEWFdhcjN6c1BMWVlCVEZicitHWjdFd1lHa1o2Sld3Skx1UzNVU0RoaXpUSGdGeFpoL2FDcmZhNHNPc09temVoTzN2UTN4aURsUG1z''@;'; put 'put ''OWNQdDZ6SndMcytHLzZVN0NKM005cDBBYWpJT2puTDhJNmZhZ2pHVExEUWkxZ2JDTlM4TmJaTnJ1ZmZNanJDWEQzRTAvK2lMTTBBVG5UelNyNjVBeUNSa0psMEhlT2gveTdka1FHWFpIZ2N2YndUSGgvcTJkNkl0UlhGKzFLaklTdW1LdHE5aWFHMnJ4MWJsTzFmU2d4T3Q5azcrbG85b0FtYWRB''@;'; put 'put ''N3VrTmpPNmkrQjJ2Y1R1NEdmUytjYkxOZ0ZaUDVSTGlOaWtheVJBTXBBQWV3SlBkelRaVHBjRVluVmVLOE5Ec3ZwcGZTelVBdzBYQmVQSUczdDhZVDQ5dTJaVzYrMlduVjEydk16blFQVHFmKytJOVR1YlAxM2lvTmxUbkFud0M1R2I4VmFFS2J6RytCWVVvQ2Y3TjVZSlUvb3NvOGtySUhDMFpC''@;'; put 'put ''Mlo1YmRpcndXN1BiNUdaaGxDTE5uMHB6SHBqVUU0R3kyUzZaNlFKeXZnTWNGcGd1bnN5OXhKZ3Vub1Q5MklGNGE0bFN6dW1TdlVDeTdxczNNRytGa2J1dDdOdi82cEh0UDU0QXpXd2VQMGIxRXd6aURna082Ri9xLzlKZjJQL2xucjMxWTBNZnUzWDI4ZkU3UHpvT0l5N2pCK2pQMmp2NHZ0ekJn''@;'; put 'put ''cDlPaExGWkRtR0ZxTUFLS3Qrb0Z3WEdGa2hSZ01WZ01GREVjL3BGdDlFZnNTWWlvaEUvOGJsN2QzN3p4WjJmdW52bjExNTU5VldzWG52NTViWGM3K200amV0VHhBWGo2cW11V0trR3ZJWWhBYm1sb1NsZTc2ZHJ0ek84MWlPZHdlU1czS29VVFFheHdIWlJnOFZqWGtPZHU4NmxiZnluK1dmK2N0''@;'; put 'put ''dWJkVk9KcC9YSmFsTmRrb2k1T2Z6NDJrdkpic3ozRW9lWFYySE9MWHhrK2d2N3lPSzRJL2UzK0JPNVYzRTBkNlFYM3piZW16czl6c1lOck8vR2U4bnp3SFVCUmphbUFPZ3dubkN4REVsb3NDZ3hBb3htOUJhcVFpbEN1QitEYkk1UlJaM21xbHRyaU5uS2c2NGlwVTRSYXhhOXdWZ3M2RjJjVnZY''@;'; put 'put ''M1dyRFg1L05pYTIrZjZ2UE5JN0dQZGJZbGdwMTN4VlBONnBpbXJxM2xFNkZFZFUwaTlQSFdvRTBUZzFtdVhEK0xIdG5DMzBhMXR5djcrcVFFUityZjNvMlgyZHFiazE0MTg1UHBNWUsxNC9GQ092RXlCZFVNclFZZ29pbGdCYkh1NTRsS0NjcGRFbzJrQVFQS20xMHFlSWNUQ2ZYMVd2bUtMYjM5''@;'; put 'put ''cXVuOFRvNXJiTUhXajRjU05kV0owQ2RhMnVvME1YVnpLbjVYWnpEUjF2bXgyRWl6ZW4wZERlQldmRE4rVkMvaTZ2VzEzRnRJY3diaDUzSnZzUXdaS3VQbTFuZWdyeEs5ck91ejFWR0Z4SmFSYytLTXBFVFhaL28yVDB3RnJURHllU21YSkxqWEZDTjZPWGRrYlJUL1dyYXh6K0szeVRTcVEwNktL''@;'; put 'put ''WTBOZFRhcnhXVFVWU3RKRlkvdHdhd0xVdGtIcUg5MUxPZVNseUJ3VHo4dFBxREhDTEllckd5UHhRb2l6WXgvT0JmSzloM3M3ajdZbHczT09xTnRBNE9oYU83RDJkN2VyS3RaT1ppcW5qNCtPSGg4dW1xb1grbHZpblJvY2xkV2RrWk9YV25FZHhpdlRQSDhJRVQ2UVMrdlI2bGtFbzZUSnB3aGtl''@;'; put 'put ''YTFpM2hTaVFrd1g1R3dNQkl6SFdubW1TaXlpQkluMG5wVVQzTUR3UjZnYXJIWDdJd2xXTFp2c1NzSGpwQ21LWkwrdGY4N05EQ1FPRGc0ZW0xdGQvV09SSC8yVzk5S3AzMmVjNms3Um83MVNSSEtPMUxuaXYzWUZ0U2RqSnN3MHVDMEdoYUdLU2M3ck1JRTFFYlFaRmNxV0prSno0KzBtSTBHdWFS''@;'; put 'put ''RVYwbUxTbGg1ajFsT1FJWWZSdUQ0czQrLzl0cHJjL0R6K08rbzV4dFBwbVpUSjA3QUN6NU0zZC9jL2lNTGVBODV3M0s2T3BuSDFVK1RuQUY1V1JCa1dTbFFRT0daTWxsZDFCbGJiSlIxRnYyKzIwN3o1TzNHeDZSM3NtQTNHdXJyRGZSMy9nNzQyb2FpK0lmNFJaMExCMVJJSitBQStvN2tBNTdE''@;'; put 'put ''MTVBN0w4Vi9USE96Qm5FODl5MXlaK0pTL2NkVzBmM2N6Qi8za084WmJ1Szh6Yi8rS2w2SE05QlNXeEFocGlqY1JNWHZCNm5nWWlFQUZnTHlNU21BSmZXcWwycGJOQlpVTTNxa3ArdmdZRzdnbWdIYzByR3p1M3RYNTFvVCtmTzFYVHhHL0ZQMGwzZ0VnTmFZdEJkeEJVTFp4VXhSOG5XOENIcVhO''@;'; put 'put ''VFphekkyTjVwODJXaXdORFJhTFpGc09yaWZSLzlBTWJuUXQyNXZPYWdJOE50SXNRalhseDJrdXJ4MWc0SUJnVjF4Tk04dUFTNjhXR09sK09zd3NLSm1zQ1dEV1RWdTE0VkxhaG14R2o4ZERwVFFGSGMvaWQrWFZJNVlhQzhJcUh2bmYvcTVXVzFobmJBQU54MlEwMWVpYzBWcUZHUFEyZUlLNnFs''@;'; put 'put ''YXJXYTgxVnVxelZKakF1VWZoM0gvR3pyMU5wT2ZlaHI0cjVaNmw4VDh5L3VSQlBjbUVxOVphcFNBOFhFa1FYU3REU002d1FOcnNSNUtJODdqdE5yTXhqNWVvbUdWSldaN1V2YXFTRldQZ01MaFQ0bVBOWmZMbENud3RkMTJaakRtMkJ4YURFMjdRdVdDdE5DY3hoZjRFUFlyVVp3aCs4bEhHY011''@;'; put 'put ''ME9ZcnJ0Mmh6UW02RFJmVFVGbTFXODIycTBXZTJhTE1uUDlkaDlGZThEZG5jNWh2NWNTclJEemEyNGZsV3dubEdDd1kwbGt6cEtYdWtjRmNqREV4SURjZWdWcXhvZ0RlcWxrQTFsVUpqU3E0b01hdldvRE5BWjYzRW55cUJXV0k1QVNkR2M3SkFJUURyS2lBbjR1Uit2M3Mzdm9zMDVJdy81Ums1''@;'; put 'put ''TkQwcm5ic1YzNXk3bGVmUUpGbk9VeHk5azZ5UHgvdytoYWlxRXdBcmJGckEzeG9NTDJrN0lQOGt4MzJhZmdJTTYycDRRWXFyWkplcEpZT0FtVXUySm9pNi9iQnFlOTRJQ2RJK0NDdHV1dFJPYnVnVTJ0QkpPSFd4WHNuQTVnNDA3Wk1jS3RPUFczaVZQbThya0o0UkRMdDZrSTlhTERPSHplUlhK''@;'; put 'put ''ajR1SVR4WitzQlFqVUpzM0V5YnRUcyt1YU5jd2xjNG9YRGhqU1RiclRsMDc2NlNERERBSlpZdnhYQzdXY0wvMnhrdTRTS2MzTnptS0hwMml6WW41RGFBLzdkczBXWlBmcHpENkhyZXBvRGI2MVJ5M01mbWF1UHJXZjlZdVhHd282ak5VZUJ2bTlxcy96dU1zODdXMDhiWHMvNWtTUnNhTkZhdzlm''@;'; put 'put ''QnhEcTgvc25FOVFFYzBNUE50bG5mUlFDc1JObW9ZUzJwTWt5NDBSU3FHVmd0dkRkcDZWalpxaG03VklHOHFDcjRQWmlWRjlMTGZBNGdxSW9MUXh5L3o1TG5SVVRsOTdsdjRmRDZGRG5lbmNkdmFuL0pFdWwrbS94Tmd3SEtER0MvcGtIakovU1Z3WXZrdURFNmQwdGsrVnNKdk5yYzVpaE5idERr''@;'; put 'put ''aHQ0R3pmWFdMTnF2NU50WG9TMXUwMlpPZjZ6QjZaUlBmd21nT2ZSSi9tNEFwaFZSUHFXbitOMmlRZnFBT2Y4S2FzT0tSTzJKM2ZEajJZZm92aW1mWUcvc2podVI2aE4reXVoNDNDbUpSTW9ndFdFRUNyUTMxdGlxVlVxSEJTSmxQZTZZZkNVVWZZV1UrNzdsc3I3SWQ4cG5QdGN6VlE5TWlMQmxW''@;'; put 'put ''bVlpcWcrY2ZTdjRnQzQrRHFrb0RxbHVQYy9FaEtNT3BBVzRUOUxUNWpINGpxeEVxbEJpSTdrVEJvd1RpSGxtc21EdEhFVS9Sd1pZSWVUR3kvNEY5WFpjSEl3czdReEhnTHQyWHQ4R3ZhNy94T1BBVjQ0dkFaUER1MDJtUEkzZlArQ0t4blI1WmZ1aUF4OVd6MG5GNkZMZ0wvUzMzOS90OStQNDQ4''@;'; put 'put ''SmpjdjJRL09CWFo3OHNkaUNOMi9peTNodUZhbDRTUFQ1Zmc3T1kyUjlHL2J0SG1oTndHOFBHSkxkcnN5WTl6R1AzRlpsN0RkWFkyVjU4MDEwc2J4OW1VZHhWaXpGK3B3TW9WRlphaWpmbkNZaENiV290SmE5Vlo5VDZuVHVTWklKR2liRFZ2UGx0dDlwV1NiTFhyZWJyYVRkK1VzOVVvTFd5SHVY''@;'; put 'put ''WGtaZFJDZlY4VllFQXdGWXJtcTYzS3VlY3N2SU9YVkR4MTJ1aDFlcHdCTndzUDVuM1FvcnlFV0w1T0xGOFFSVU1BMjFtdVV1d3lsc3E4bUtJcHpLbUV0OWMxMmQwOW1TVTEwZmxRYUQ1NnBKdG5NNC9UTE9aeFo4SVJTNDNHMTliNXVmSzhqZThCSEVkQWNTQW9kYWpjY3dIZ2UwL1I4L055ZXl3''@;'; put 'put ''dUY3Zi9TdjU1ZGFyNCtabjgrSWQzRmowWDdQbjJsVGNqeGdmZ3VmQm5vSCsyb1FoS29pUEpsUWFBbmFzZU5Cd3pybEIzWVZXRkJwUm1VYVdrVlJzVktsS3hpdFJJSmFwVks5VWFJbGR0MkRJMWxWVUNsZVVTK1VXandTQkMwV1Iwc0xjN0dBbDJ0b2RoZ29BQnFNM3I4V29CNUhJd2VVT2VmbEdL''@;'; put 'put ''QjQreWJJd3hJMXJ4SStkOWtCL3hnUFBRU1kvejVNaStveHZTUDBhWHJaN0wremRGb1hOM1RyYlJwSkQwRUk5SEQzYkZoeGF6UlZraGlZNk9SQ0U4blR2U010THNNL2VGMnVNODl5SEpjaC9pV0pHc2J3ODdIUXFsSWdxbWlKZzNSUlJwTTFiSk9sa1FUR2tWbk5iVkxFWjdsV3hpMjJpY1ZyVU1D''@;'; put 'put ''aEFMQURBdnB6M1B6VUtzazBxa2RjdVgxb3RxWmVHTnZmQ3BpM1ZMdHBYMG9JWVFPbFNtb3lvZkk0dWp1Sm1yWjlRWm9IaVBhbGtOcHNvY1BsS2lsaVdQRFpSTC9uQXR0bXRMYktsdXpmUTF3eVg1SUs0V3djMXRMSjdyUUdsb2d0UFdWYWpNYzBwYlh5aDZmbDV1ajhXanhlM1A1TWM1ZkJsN3Z2''@;'; put 'put ''NEt2TjNEeG5tVmovOWgzajREMExNWFBUOXE0dTMvRDd6OVh6YitxM3o4ditUUC81bStzZkY1KzhNUG9YeTlYSUo4QjdTbklOcWROT3FZcTdxaG50MXFZVElhS3ZCRTVzazZHdXFVL2ZuNkRkbTM5cVNKcHIrQk5Gd3RmZ3hXYldOalk3Q3h6ZWZ4ZVdsTmdpemtaUGxtOVZHbGdkMkZrYkNLbTRN''@;'; put 'put ''bitCOFhreWNtMHllSCtpNVBIUnhwMlhlRGZVL2NQdFhpT0dnZnQ4MjBCV1pqbmJOdHdXMFJVdldGNWJtYkoxTFhaaWJlbjl3Mk94Y2ZhRzQyTkRYWjJ3WWNhejlxMzVHSUxuU0dGMktKeFE1YTI4YmluNVIzYmVPOGE3RUE5M0VHeHprTzN4dkxQYWZuOTFqUjgvTnlleXhlVzl6K0svbm4xYnVM''@;'; put 'put ''bjUvSmozLzRmWndIcHRDMXBJYjRtSS9Ramk3ajkzRFE1QS9taGtJS0VTc1Z5b01xT1hodm82RTlGMElxNXJCYUxiUlRLaFdMUUVQS1pkWmhabGZTd3F4RHU2NE9oSjNzWUZSVGE3MDRtUUNNeE9KaU5teVVyUFRYYWRuZDkrUXl0aGRrODN3OC9WU2hlazNJeDE2dFlNVzI1UFU0RTJoa2ZsK2R6''@;'; put 'put ''Vm9KdXBkNmd4NEhId2xGSHhYcmNlVjZsZTFRUm8remJhbkhGY2YxTHE3SDJjcnBjUmNjZ3VseFRxZXp4ZG5zTmZnTkcvUzRZaldPYW5FS3E1RXJjUmFLNVg0QjVJakxPM25qK094SXc4S3d5d2VjYUdhc2NTR1Z1Nm5sblk0NHNLSi9YNHo0M3drbjhDZjNSaVpPcDBPdWFjOXlCQmhRMkoxOUo0''@;'; put 'put ''NTlMdUJCMytsYVNneDM1LzdlQ2ZqRjQwd1VUM2R5L0QzTThXN2pjNHEvZjFyMC9MemNIb3NIaXR1ZnlZOXpXTUpmSGdPaDQreVZ4dmxNVWJ5YjU4SU5KdnVrZ0hmNVhNT2kyUE9saEozMWYzallXVmd0bTBlWTM4Y1phUit3djEyb3lGY1R5ZnR6amtoMldyRmR4UFdiTy9QNnpaRk1jZC9MOG40''@;'; put 'put ''ZWphVERsdlo5THE4RGFiWnp2dXRZbnhkY3pCOXRvL0NyeFNwQnBORlRyQ1JDV3NRcVJBM1p3OHllWUpjZVpXU04wb2ltckZhcnpXcno2UFY2czFNdDFnV1UzQXVYOFBOYVBLNnNkQ1lxaWVCeWQzVDAxWS9rNi9Kc3ppWjdvLzdmN3YvQ0p4cTZPNXZyUDh0SzlCdzJlNk1SajdKQ1BTblBkNTRN''@;'; put 'put ''QW4wSFVBSmZ6b211bnFwbzlaaHFhQ0lKaHpTQ1dnU3lWQWRBKzFESlpGNjJqYkxReG5UUmNTNDhSSjREdE1BYVJUVVJWK1U3R0d4ZzRxdlYzR2RwWmFIY2pYbHd3ZElPQUU2dDFBdVZkaks5dDFuZTR3U1VlK2piMnRvU2JYR2Z4d2o2YWJPelFxeVhqekdlaUcybG41cjE4dG42aXRLUnlTQTla''@;'; put 'put ''WXUrTkNWNTlRcCs0TCtTVTVQcHNWdGJxOFkyNVNiVGZHV0dCWjh1NUNoTC9vQ1BNdnZMSjlsZi8xRml4L0g4WE1vZnhpVCs4R2RGZlUvSWZiRWF2YkJGMy9OU1g0TFZYT2ZoTlkrc3IxL3FlMHNKWGRGYzNCK1JjOUJtbkxYUkNsNmhHbW1nelhOQ05XMEViU1RmRUZEc3pVak8zejBHUEtzT1B2''@;'; put 'put ''bjdzd1lGMGFqbHNMeVBpaytNQkNWYWdZUFM1Y3VOYlJrYUVlS1h1R2p6eVRxdFc3Wm1rb0oyWVpMRG12ZDlYdXI0NzJWb2lrWUd1OTNlYW0veDA0d0ZuMXNLVTdsTFVuemxDM1BRNWl5VlkwTWIwbFFlZlRRemxQdDljYTdLNU5xelJmbSsvNnN6bVZ6NzhnYnVtdmNiUnZKK3d5UG9XTG16QnYz''@;'; put 'put ''MnpyeCtlMlFCbGZNNTRncjA0eTM2eXJxeEFHMit6dXNxZ1UvUld0SjZOSjRjMFlIS29NZjBqZys1QW9RU243aUVSRkh5bmxPUnBNMHdaUW1JMDZpVXc0MG1ONjNHMGxNU2xHdFkzVEtkV1NYV1dsVFVPc05weWtHSnJpNzNnbHpoeXVpbkErakwyOERyVW1tTTlpRExnNmEzeGQyU05McGRJQ05y''@;'; put 'put ''TUZHcVFHTVdRZG1nNVJKT1dpNlBWS0RJcVJRck5CWmFzSWI0T1dma0d3dFlkcGRYYnNvQWdBK1c2MEV6a1hVK242L05GNmgxR1h4ZXQ1dFpUeHMzcE5xY1ZNMGlONktjV24wNnYwVzFXcnNod1RvRU5uQkw5a0hKd05YV1NiczJHWEVoMlJwczNUWXIvaTdMdUM3amUxYVg4VDF2dG92VWtsM0Vh''@;'; put 'put ''bnVaakcyVlpPekxaZnlvTkYrYXl0ZzBsN0VucGI2NXQyaGRNTzhMZUtNbEJza1BDZTBGSzZwQklTQUlNYWtQTmhHMVdHdWxEaU42Vnc2YTRFd2hVRWtETVlKYXNhcVI5ZkFhR2o1UUxsZW9pRkxKdy9uTFBKd3ZjWVp3dVM0VldLWFM4NDZvdEp2cHZjNzBuaWVoak1JUkRsUFhkM2dnM0orSWFV''@;'; put 'put ''UGFVS0RGN2F5dk14dXBDN3kyU2pZUUtBNXdtOEQ2SHBPMXNhUGU3bk80TmNZNnUvRS9MaWx2ZTRldjBSWnR0emI3N1VhRGZkdWxKbkdETFV1TG4vU00zL0M0d0pIMWUwdGlCeitFTmxXTTMzQjc5OGhua0pRSE00L2VCSjVocEZrVGF0QzRqRHkvUnI1V2g2ZFhjVG50MFZ1Y3JJUkxGc3lnbThx''@;'; put 'put ''TTRVMUtHeVpkbGpNREpsZWJxOGpEa2piRjlDaFl4VHg2a2NYOG5TaVo3RGViaUVKd1luNE5VZUdVSlZORG15ZGdsaHppYUFRTDNLS3RMcHVXYlpRWFpLVmx4ZktTOWtrNUFETjBhVTBXYThiTEYxZklDVml6d3pycjJ6VWkvcCsxZDZTRkFwM1F1UDFEaFRnTDhGZk5KajhyeStORzl4QmxQdDlh''@;'; put 'put ''WDVKdm5jbGthUElZakxjWDZPNFdrTHN1b0M5R2QvaUgzR2NCei9XTUhyUFM4MCt6NTZ5K20ra1pZVW5QMEpiUU9JQUVOd2gvQkcxbXBEWVdkSmEzT1N1MzRYWGk1K1J4WVB5N21FNkFpM1FDT3M0SWF6TWp0Zm1UalcxNGZRanBCeHlwcHBuRlZaVVZHakJDQlRXUksrWTNGWjlYbzJwenZ2aGNq''@;'; put 'put ''RkVrU1poRk0rblA5YzdQWnoveWtYUWFtd09aQUo3Si9YZzhNLzVicWY2a2h1WEVPNUlObFJXaWlrcDh0VlNScjVPS1M4M3Nzam9zZ2tVa0RZcHI1akpUVTVrNWZGbHI3cHRZNzgvNDhYTHVtNjBGbmVraEJzTU9DVDcvV1FKRDdnUDVudVFEb2JyYW83d3ZuTXREN0x3NkpENUplSHQ0cmlCNnVU''@;'; put 'put ''M0E2b1dpdVU3a1kxdHFkRzZMdWM3bi9TM3FFNmdveGhUSng1aU9TSG9oMlNRTHhobnRjcC9Ka2N0UXVWZ1lya0huUzJMdm0vdzV1T1phYnRPQUdTaDhIODdVZ0Jwb3prUCtaZ3MxeVY5dG9hRWwvSEp1SFROVUc0ejFGaFBMKytVS2dxMFFZNWRaSVEyekY5U3BDRmNSMWw3ZTk4WDkrNys0RDNE''@;'; put 'put ''QU9EdDVPcE0rbmVaS3d1S2Y3VnYrNHY3MDJqK1RwdWxiTTVuclVranlwd2hBR2NBbE9sQVgycGJNV3JGYVJWM2dUSnNCVnE5VUsxYXFORVNsa3YwVmxXS0ZVT1N4Nk94MHVSRHE3T3BNeEtLdURsZDdhek9NNVRCNGZCNXZOU3g2bytPN3dNTUx3dCt4aVpranJnWUliWEtGbGR0Ny9lZzRTNDBm''@;'; put 'put ''dmM3ck9qa2lLUU81cTR0UzVQSDFHMnV2K25ySGVkTDhXRS92S0ZVTGlyUG04L1ZZa241d2tKMXJUTUxkcjVYZ0JNK0hwdWU2d1AyZDgxSmZ3TkdEREhkakVvNit5TnZuM3FMNTAxSjcrcnlwYUs0VDhseUF1eDh1TzljVkRIY1hPTzdXODdsWW5UMWJaMXhhNTMwbGVNL3pvZWs2ZC9CMUhrTlNE''@;'; put 'put ''bU9TMWVnUDAveUtXTFNwVWFFVTdUVHJwazRIYW9lVzVWZlViNWxmSVlyTU5XN0pld0V1SmIvaW9wM0s1bGRjcE5lVytSV2wvYVQ4Q20rd21lWlhHRmgrQmZmSmwwK3c4RjNLYlFRa0hGbVowSlpMdHZqb1pSZThvK0NQZHNZRjkrYXNpOG9ERjc2MWdKOWRjRDNKY3R3SFVTN1oxSUZGVldkVG82''@;'; put 'put ''QVVONmJIS0MrUUhpUEJ4dmFISEovdER6bysyeDk0ZkxhUzQvTUVtaTh0UFFaZk5Ka2Z2M2hncW15ZVRIaWZiK3NVLyt5Q3NpUmJSdWx2dWtEU2Y0RldUOGkwQ25SK2VBdGFQUy9US2xiSDh1Zk43cWh3b2hlU09scmhqcXpWSUJtcTZDV2dVdTRmREVBenk2OW0wVjV5aXZvNXBVUXRqWm93Wlk0''@;'; put 'put ''UXZCL0V1UjNMUjlWR3V5aVFjTk1sOVVtMmJHcE83eGtnK0ZCSkx3VzlKRnNQNjNZaUtxUm9HcUdSbXJMc0dzMnlKMFhkQS9SMkRieGdMSE1ZOWRYMHlvM1FKb2luOGxkd3NIcUtKS3VuQ0tOWGtyWVdyQlphelVTakRwb0kwZVFqazhxMFRBbEtoZksyQ2t6clZ6VlhnekFETU5QNlVVRlFMS2w0''@;'; put 'put ''RldsSmRERlk2S1BXa0pzdTFpblpXcjY5RkdFczZpWlFXRkViTUl6Q3JNckRDdENpTHBNdFFvdTR0UFREeWtnQXQ1WGljSGVoSHNSYjc5V1ZSaExGOFdoeGtVakNvdmJ5R0NLN0U0WGhha0xDMVd0S2NKWFdzUHlhNmEyTFhHOGx2U1c2TGMrcGlPUnpLbzZnejVYcTBjelBmMmZlejM5a3VqajM0''@;'; put 'put ''eHY1bkkxSzlGcEpQZ2JyeStMNUxLWUFiVzR0bHhNQ2V0bWpaZnNHQ25FS1hMTVhTZmU1ekxQN1hEeW9OOWxsQnQ1VURTY0wvQlFMYWVtR0xQbCtlQlpDS0JoSTBNUGpxWFY3UFB5K0xKWkJzY2xwcytuNkYvS3B5ZHZtdGVhOFo4TnkyUWVrZTJESUUreldGMTJENU14d05sanVmVi94cFRCU3pT''@;'; put 'put ''bXNkUTVzSUM5Nm16c0lhalJnUEtveEZyeTQ2TFpHNmFteThOUlVwdTNtWm5udmRyMVVrRVJyZWJaeWFEdWtOdFRIbkMvNktlUER2dkJZRngrR1NvQUtEeTNZYkdiMVVCdGQxQnNMaVFxMk1abmpEdW5pdXFKTWthSGNXald4dWNJb2I0NHlYS2QzNVRCNjZPSDVRM2l4Qkk5NVBSSGwzYnNaTG9y''@;'; put 'put ''b0owVTVReWZrbkNGNC9wR1N2andXZEY2T0JXRnhQeXJxdXllZmIzUVkzVmFDeCt3T0c0YnIvWklPK0ZUSitMeUdoK0w2RXRjQnIwZEZmZmZJZmNITy90c3QrcDZSK2xKZjUrZUsrcDdJOTFXalUxdjBQUy9QaTlYRERHOVpiVGkxM2JYVTUwR3JER2pkRmZONXNDSW1zcDhhRlhaR1ZGcFVVKzc2''@;'; put 'put ''TjVWYktLcjQvdExtTW0rcEhtQ0duTC9FKzJ5czlENmJCOGNPOTh4a3U4bjVPM2ZzS0Q5R3ZzNk13RWtRY2xLcU1wUEdTRVJFOTJCM2RxYm44Qmc1djJQSG5kSVkwL2dnZVE2c2Nxbktvb0xRT29zMG1GUFV6MUZhRjFDTnFyeEN2c3BDMmpTemx4NlphZ3liWW5WMU1WTzRZYXFGVERmQ254WUwv''@;'; put 'put ''TkhFNWxsQW4yTytIUitiNTRJMUI1c3JPSGFYVkd0SU5TTFR1RnF3c3hxUkxqWnFrRDRIRFcxVmlRVmdIWXY1NG1iaGtpcEZpci9qNHNhK3ZrQUFmbXJkN2xyNlE2YjUzNEcrTnY2ZzFzMXJIK1l4SlgwOTZtRXJDTmZBWnJRVVk5SktWdUhCS3JVQXBvdU1Hd3Ywa3hsZS9lYXhLS1JxRWVrN0dZ''@;'; put 'put ''cWM2RGYyTlZuNjg0N3p4NWdYeWlpNXpObTVEWkYrL0VIeUZkajVNSnMzQWJJQWE1aHZ6b1R4aEJvTHJFNE56bktWM2V5MEtGLzhRb1FacHExYVFKUXJKZVJBOUlzVENsbGQrYm9FWE4xazAxdXFUYldxa0c3V1hQUTdHVFFZdFRVT2ovZ0IrWjJmeHlCK2pkVzRpS2lPclVxckJJeWNvRmIzU2FN''@;'; put 'put ''aFh4dGpGZDFlcWRnRkQvR0tsNXMvYmpqTmFHOWI3cTMxcDlZZlJ6WEl3MGF3MVpTcHVQUGt4eEkzZmpuQjQ5eWZXbHR2OTczTC9hVE1aNXJua1RmSVBCS2xjSFFMSHZrOW1VZWlGSHF1aUw4VytoNEZtL2xpZlkvaTBhSytlL0o5RCtQWkVoN0orNTdKOXowTWZJN1ozdXZiYWJ5bU9OYno3anJY''@;'; put 'put ''WWQ1ZGwzU1lkcEN4SG1hM1QwaHR2djV1anNmMTNzMUpiWGc4WVRVL1RqVTZ0RVU4NFN2NWVFTDFOQ3FiVTVwQ0g5OUNQbnd2bnl1UVdwSHV2RWR2RWcyT1hQejdJTDZmQytQSXVOeEg2TG1FUGdKNU55ZjNHY2RmUnVmSUE0QXpuVThCdWt4a25yUVVmNUdLYmRNWHFmREt4MTFQY3l3eXlnNThM''@;'; put 'put ''cWlmcDE5djBWUkx2OTZDM0U2LzM4THM0Tjl2UVgxMCtLdm9KZklnUUVFTFVFbnhPa2FTeXRjeHdqcndiV3dkRGFqbjZZWWFJaStsbWwxK3c3N3JoeTNHdUtHVVRXRHNiOWRaVDYzSHdHNWMyN2dpNjVZTGZHdUx0ZGFYcmh2ZlNSN1UrZm02MmZxL0NlczM1TmRQVVVyZUNBWXMvQktleEErOHQ5''@;'; put 'put ''cXdCOGJIT3pyR3hqcSt4Tjg2eGpuK1RBSmVqYUw5Z0J0Z2MrbmM4UHBOaHVONlRDOUpFK2wzTENrT0ZIM0gwaURLd0d4djh2eXVEaTFXMXZDdlFGSmpWUld1cUZSVkZIOXRrckhhSUZSV0NzdDZqVTVVRkgvYlV1d2lIZGszSi9IZUl1MHRTTis1MUYyMlg1bHZYU3JwQzRwZmZHb3FtWlMvZlds''@;'; put 'put ''cWNXckgzR3d5azB5UGpiUVB0ZzkweGN0K0U1UHBEL2dtSnNlbXZ6MUZiUjN4OS93dFRYaWk2SS9jV2ZrN20rNS96MS9lVlBhTG5BcGY2RVR2WFl6aUN1Q2RTcVI2Q3JUcjlzQWd0Z0xzZkErazdyNDc5YzQzZEU4L3E1ZnV2SXhpdmR4T1lPMzhDYXNZaEZZUFBERDY3Tk82Yjd6Q1pNVWIwcjNU''@;'; put 'put ''WVRTVG5LcTNFd1c5dmFJUzAyOHVVSUFBSkFwaFJZTkpCY2FWdEw0bFg5QlVoU3NyWlpjTnMyMURiWUhXRnIzQkN6YXIzdWl0QnZ1MmNJK1dId3hhYWh2QjJ3QXBWTlRTakVENmZWRk81ZzdHMytiWFVtYyt2R0pkeWhMbHRrTjFCMitia09xWXBqL2t3b25jR1pXQTUzSXZPajR5MThldXFrNGVI''@;'; put 'put ''MC9WYWUyTzFQQ1JYbGJFdERpV3FtOHltMUxaeS9qMy9PQVdVb05QQUI5VVBRVktYVHZqZXZ5bS94T3NXSmtxT3FEcUNNQ1ZuWG9uRWRiVzZBOHEzTHZHN3d4UlAyTXpWaXRKZTVsN3pON2pIUnp2SE5qeUNnNHB2NFRacTdoZGlwV2N6ZWVkQkdpc21UMHZ4SnI1OC9QNTUrTE54Yy9QeU0vUjRl''@;'; put 'put ''dUtueGZHVDZFUEZUMi9NOS8reUJYeXZTbno1QWFBQVkxOXFKOXBjUnN4d0tERUhKTWhVYkRGZkp0aGNnTzN6WW9CSTlsbS8xMEVIOGxPMjFFRUlzbEV1NmMwdDQ2dG1mb0YrRjV3SmJxL2FDOWZ5Y09rK21EK2JoUDBlWFozazR3TEViMTdYcnF1aVg2K3ZoMCtWNVorcmx5YlFmOFAyeitjMHdB''@;'; put 'put ''QkFBQUFBUUFBMzV2bWhsOFBQUFVBSHdQb0FBQUFBTlBCbllZQUFBQUExTDZtOWY5Ui91MEVZUVBGQUFBQUNBQUNBQUFBQUFBQWVOcGpZR1JnWUQ3Njd5WURBOHZFLzRIL1cxZ1NHWUFpeUlEUkVBQ2xJQWFoQUFBQWVOcDFsRDlNVTFFVXhyOXpYZ2VpZzhIQlFTc2FEVlF0ZjZXQkttaHRKS0xT''@;'; put 'put ''cGkzUG9ERmF3OEJrMEFnSkxrWVM0OFJBUXVLaUF5UWRESEV6Y1hGd2N0REJSQ1lIblFoTGJZaVN5QVRSNTNjdUxXSmIybno1dGUvZCsrNDUzLzNlbFhYY0JqK1NwbzVSamZCbEhvTmFRRVRIME82RjBhSHpPSWtTQm1VTTU2bDJlWTQremVHaU5DQXRrNGpqTjY3SVFyQ21yOUVub3ppb2FYVHBW''@;'; put 'put ''WnpRKzlSMXhNbCt2Y0U1ZWNUc3R4dlB1UnpUYTg4aFU3S0pROTREdE9vdkhOVlh5T3NpeDI2UWs4am9LUFdkL3o4amcxWCtEbk9OWjdpbFVReDRJOGg3U2tWNC95a3lqak1jd3pwMUNtMWF3b2c5TTNRR3pmb1dMYnFBL1RxTnMzSVBPZGE4U1haSkNUMmFEZjdJSlNUMEhFN3JZL2phaEU2eVIz''@;'; put 'put ''MTB5aDNPZmNUblpwSEdNaEpZRGo3b0VReGhCU2x2R2ltN3JnL2RlTi9teUJONnVJWTJtZUM4TE85M3M3Y2tqbXVFdmVYUXBNb3hNNGpLQVl5VDdmS092alppMksxNWw1NndSbm5CV3ZhZ1ZkNGc0ZW9hUndRL01DQnhkejFHdjdhOHFxTVFTUFBQdk5zaHJBYWZ6RC95SjFYMDl1SlV4YnRxNldF''@;'; put 'put ''TU81cC9PMlgrMFdlOWdHdk9xenJ5UHBMV2kvKy96RGY2TjBTV3FCWFcxTC90WGJVc0Y4YXM4L2VmekQvejJXajkycHJWdE41dC9Rb3RSOXdYNjFmbnVLZm1oOVcwR3kxcnR0OWwwcXR2clBjTHZZdVNBWG5aK25BWlpBNHNoNWFGYlRJdjBvMW04OWI2cTZINXl0NHFERFVnRmdwelhlYldzbE5E''@;'; put 'put ''ZStlWXB4cE9sVE5Xb2UyUGViUUw3UjF3T2JROU5QL0s3NExsc1pxMlZ6TEw3SmtLelB4WE1rVWxxUGRJNmo1ZVE1Q3JQTE9hTlo2VzE1UjF3Q3R1blRmWW9GNENta1RjbTBDY1o4S2dPMU9XeUNXeWdKczZ5N09DNTFKb0RoM1NpeGFxVFJlRG9zdUh4N25jMXpwZkgvNWY3Unp3cEFBQWVOcE53''@;'; put 'put ''bDlJR25FQUFHQXovNVNlcDZYcGVkNmR0L004cjd2VHpwKy8wMk1NMlVORWlNVHdvY2VJSVJFOVJBOGhFVEZpaEVoRVJBOFJFajZFakJFU01ZYUlSSXlJaU9GRGhNUUlrUkV5aGd6cFFTU2toNzNzWVh5ZlJxTlovcWVnT1JuQUJ0YTBxdlpFKzZCOUhuUU9YZzYyZFRhZG9FdnEwcnFTcnFaSDlF''@;'; put 'put ''djZndjZQWWNhd1ltZ2JrOGFjTVc4OE05YU43YUg0Y0hhNGJFSk1LZE8ycVdwcW1hRjUzcHd4ZnpiWHpWMkVScWFRWGVUR3dsblNscXJsQWJXaFVUU043cU1WdEdVMVdBbHIzRHB2L1dBOXRNVnRkeVBZU0dua1pUUTUycmRIN1F2MkwvYW12ZXZJT0pwajNGalZPZU04ZG5aZElkZUJxK3hxWVRZ''@;'; put 'put ''c2dXV3dDNnp1SnR5U2U4NTk0dTdoVVh3VjM4UUxlQVgvNVVFOEs1NE56NTJuNWVrUlF3Uk9TRVNjeUpJcE1rMW15QnlaSjB2a0JYbExQbEloNmkyVm90SlVoc3BSZWFyaXpYbnozcEwzd252cmZhUnBlcFhlcEhmb1E3cEluOUhucjk0eERCTmlYak5UVElxWlk1YVlEUE9SNmZtMFB0U0gremdm''@;'; put 'put ''OE1WOVIreDdkcGxkWjdQc1BsdGdlMzZ0MytHbi9jQWY5Kzl3ZTl3eGQ4cDk0MnBjazN2aW5nUEZRRGx3R2FnSGZ2SXkvNVcvNXUvNEZ2L0V2NHczeGp2amZVRVd0b1FEb1NSVWhDdmhYdmd0OUVWRWZDTXVpR3ZpbHJnbkhvbW5ZbFdzaVQvRXR0aVRKcVVyNlY1NmxEcFNQNGdFc2FBUWpJWWNv''@;'; put 'put ''YzZFWmdLWk9KSW41Vmw1VVY2WHMvS2hYSlRMOG1VWUM5ZkN6WEE3L0FLR0FBNGtvSUlFbUFXTFlCVjhBamVnSGFFaTA1SHR5RFcwUVFEbjRBcmNnTHN3RDB1d0FyL0RCdXpBdm9JbzJIK0FrbFEybFQybG9YU2plRlNJQ2pFNkJtUFRzWExzT2xaWFVSVlhPUldvY1RXaHpxcEY5VXc5VjJ0cTR5''@;'; put 'put ''OU1NOG1nQUFBQkFBQUJQQUJnQUFvQVFBQUVBQUlBS0FBNUFJc0FBQUNEQWJVQUF3QUJlTnFOa3MxT3dsQVFoYzl0MFlBYTQ4SzRZR0c2TU82RWdnUWlMalZzRkRRU3dTMElBcEZhTGNYRXJVL2kxdmN3eHA4WDBJMlA0RE40ZWp0VUpZMHhOK1YrZDg2Wm1kNHBBSmJ3Q0JNcWtRS3d5eWRraFdX''@;'; put 'put ''ZVFqYXdpQk5oRTJXY0NTZXdoanZoR2FUeElEekwrSWR3RW5sbENLZVFWZ1hoZVJSVVRYZ0JEWFVyL0lRVjlTYjhERnQ5Q3I4Z2Fhd0t2MkxPV0EvNTNVVGFzTEVERjVlNGdZY0JldWpEaDRWN1Bubll5S0ZJYWxPMTZPdHJ6NGhjNSs0d2E4VGNDMlJRUlpkNW5xN2tZcWhkUjR6MU1PYXBSU1ZI''@;'; put 'put ''bDYzWE5vNnhoeVpxcExpOGphbk1PSTgxNVdudzVERSswTzlqL2VqMm53NE5Say9wY3NuQlRROVlvOHM5eU8xUWE1RVBxUWZhUHZmT0g3TUk1dWZ6VkVhVzYvcFhaVmZYZGFLcUdXb3V6NU9ja1dUMXFQcU1qam41aVNmTGZkTFQwVGY5N3BtTnZXV1RzVGIvYjRIRGoyWlNsUWxWdEdweEZiVldZ''@;'; put 'put ''dThjdHZpN2lVTDA5VXM0cDYrcnEzb3kzVXBVc1k0cnZ1T0Fpa2ZQOEF2Y3ZYaHpBQUFBZU5wdGsxZHNIRlVVaHIvZnNYZmROazd2dlZmSFh2ZkVLUzVyeDdGakp5NXg3TVJKeHJ0alovRjZGOGE3Y1d5NkJBSWVRUERDTStVSkVMMEtKSGhBb2xmUmV3ZlJlYVFINzl3SlhpVHV3M3ovR1ozem56''@;'; put 'put ''UDMzaUVMZDUwYllCNy9zMVNiZnBERkRMTEp3WWVmWFBMSXA0QkNBc3lraUZuTVpnNXpwK3JuczRDRkxHSXhTMWpLTXBhemdwV3NZalZyV01zNjFyT0JqV3hpTTF2WXlqYTJVOHdPU2lnbFNCbmxWRkJKRmRYVXNKTmQxTEtiUGV4bEgzWFUwMEFqSVpwb1pqOHRIS0NWTmc3U1RnZUhPRXduWFhU''@;'; put 'put ''VHd4RjZPVW9mL1J6ak9BT2M0Q1Nuc0xpZHE3aWFtN21CTzNpZjY3bVdwL21ZTzdtTnUzbWVaN21IUWNMY1NJUVhzWG1PRjNpVmwzaVpWL2lXSWQ3Z05WN25Yb2I1aFp0NG16ZDVpOU44ejQ5Y3h3VkVHV0dVR0hGdUljRkZYSWpER0NtU25HR2M3empMSkJOY3pLVmN3bVBjeXVWY3hoVmN5US84''@;'; put 'put ''eE9QSzBneGxLMGMrK2ZtTHZ6a25sS3M4NVVzcVVLRUNtcWtpemRKc3plRlhmdE5jemROOExkQkNMZUozM3RGaUxkRlNMZE55cmVCenZ0QktyZEpxcmRGYXJkTjZiZEJHYmVJKzd0ZG1iZEZXYmROMkZXdUhTdmlEUC9tU3IxU3FvTXBVcmdwVnFrclZxdEZPN1ZLdGRtdVA5bW9mVDZoTzlXcFFJ''@;'; put 'put ''MS96alVLOHkyZDh3SWQ4eEtlOHh5ZHFVclAycTBVSDFLbzJIVlM3T25SSWg5V3BMbldyUjBmVXl3TTh5Q004eWtNOHpEWGNwYU04dzVNOHBUNStWcitPNmJnR2RFSW5kVXFXQmhWV1JMYUcvSFdqVnRoSnhQMldvYTl1MExIUDJEN0xoYjh1TVp5STJ5Tit5OURYR0xiU1NSR0R4cWtLSytrUGVS''@;'; put 'put ''YTJZWDRva2toYTRiQWRUK2JiLzBwL3lMT3lQYXVROGJCZEZEYUhFNk9qbGtrdEhNNEkvQzJlZTlSamkrY1ROU3hzemF3Y3lRaDhiVlk0bGJSOU1ZTTIweTltMEc1ZXhsMFV0bWQ2eERNOTJrMTYzSVcvdzVzaFlSam9PSjJLRDF0T2FqUm1wWktCUkdiazZ6UWRITk9oTTdPRGs5bWgwM1J3RExw''@;'; put 'put ''TTFaZ0xmeW9lTFNtdERIb3M4M1dicEtTWnBzZWJKbVdZMCtORTQ4TTVxZlF6MFBPZnlWS1prYi9IMjhHVVlVRnZPT3FFVTZORE1mdHN3WGlHN3N2UUU5UGExMjltbkhTUjN6OTkycFBUcDUyZU9GaFc1YklzV09uckhYYXNxV3MxYnRCckhNWmQ1UFZHb3JaamowWEg4c2JQcTNSZGFhaSsybU9O''@;'; put 'put ''eHdhUGpiNCtZelRoSXYwMldGSVM5Rmptc2R4amhjZEt3MkJUZGlqbEpOeWdvcWtoeHlxMllzbDh5NTNGU1BmdXAyV1JOZjNaNlRoZ25SL1FKTHJkMDdMQSszMk1OdnVhMW5sVytqUk1jaklhaTdqSnVkYlkxQjVGYkNjdlludnFIN2RsdHlFQUFBQjQybVB3M3NGd0lpaGlJeU5qWCtRR3hwMGNE''@;'; put 'put ''QndNeVFVYkdkaWROa2t5TW1pQkdKdDVPQmc1SUN3eE5qQ0x3MmtYc3dNREl3TW5rTTNwdElzQnltWm1jTm1vd3RnUkdMSEJvU05pSTNPS3kwWTFFRzhYUndNREk0dERSM0pJQkVoSkpCQnM1dU5nNU5IYXdmaS9kUU5MNzBZbUJwZk5yQ2xzREM0dUFQNGNKV0FBQUFBQUFWaVk5bllBQUE9PSkg''@;'; put 'put ''Zm9ybWF0KCJ3b2ZmIik7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6TWV0cm9wb2xpcztzcmM6dXJsKGRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSZ0FCQUFBQUFGWHdBQk1BQUFBQW9P''@;'; put 'put ''QUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFCcUFBQUFCd0FBQUFjZktUYkxFZEVSVVlBQUFIRUFBQUFUUUFBQUdJSDFRZjhSMUJQVXdBQUFoUUFBQWNmQUFBT2RqK2hmWFJIVTFWQ0FBQUpOQUFBQUNBQUFBQWdSSFpNZFU5VEx6SUFBQWxVQUFBQVRnQUFBR0JvcWEz''@;'; put 'put ''K1kyMWhjQUFBQ2FRQUFBSnNBQUFEbm5kREQ3RmpkblFnQUFBTUVBQUFBREFBQUFBOEVkOEJ5Mlp3WjIwQUFBeEFBQUFHT2dBQURSWjJaSDEyWjJGemNBQUFFbndBQUFBSUFBQUFDQUFBQUJCbmJIbG1BQUFTaEFBQU9Ea0FBRzA4c05HeU5XaGxZV1FBQUVyQUFBQUFOZ0FBQURZTGE0WUhhR2hs''@;'; put 'put ''WVFBQVN2Z0FBQUFoQUFBQUpBZUVCQ0JvYlhSNEFBQkxIQUFBQW9zQUFBVGFzbmc1UG14dlkyRUFBRTJvQUFBQ2J3QUFBbnB5VlZmYWJXRjRjQUFBVUJnQUFBQWdBQUFBSUFLUkFoNXVZVzFsQUFCUU9BQUFBWVVBQUFOa0wrYUdTbkJ2YzNRQUFGSEFBQUFEb1FBQUJpR1hGajJLY0hKbGNBQUFW''@;'; put 'put ''V1FBQUFDQkFBQUFqUmxRQWhCM1pXSm1BQUJWNkFBQUFBWUFBQUFHOUcxWW1BQUFBQUVBQUFBQTFDU1l1Z0FBQUFEVHdaMkdBQUFBQU5TK3BPdDQyZzJNUVFxRVFCREVFa2YwTUxQb2Y3eXBML0RvZlhmVi96L0FJZ1JDMFRRQ0xSNmNkRlJralZzbzdIelR2MUQ0QjdtNDA0OERPbG9wTmx2NjQ1''@;'; put 'put ''U2VYWExUNTFzWHpTYStXM0FGM0FBQUFIamFqVmNMYkZWVkZsMzdmTzVyM3dNc3BYeUVVZ2toVUFoV2hqQ2lDS054bWxwSVJ4bXNCQTBZTlk0ZmtNOVVaS2JHeUdjVXpVanF4SkdLWkVMUU10cGdCVVRGcWtoZUNQNklJZmdKRWl3RUsyTDlBU29hSThwMTNYMGZjRXY3WnV4S1YzZjNPZmZjcy9k''@;'; put 'put ''ZTUrM3pJQURTR0lvcGtNcXFtbG9Vd05HRE1JVGxINEdCbmZPWHVua29tWHRqM1J5VXpwMHpkdzVuZy81b05KNFJzZVZ6YWZSREdZYXJ4MklZYW14TFBCb3MwRlVsYUVEQWg2VG5RajR4VUgwZUphY2hxQW9ieUI0VHNRSy9JSlNCTU53RzU4a0FhVU1HUGJpekkyRTJiQTczaHZ1UjV5ZjhKdS9J''@;'; put 'put ''N202OW4yQkFwLzgvQy8rZGQ0V092Q050ZVVmMmh0azhJODNod1hCcmhMT2Y0Ty9PQ0YxMml2RHpzSUZaTWhqQ1RBOW50a1lRQmhXRXhRV0V3MWpDNC9kRWdQRkVDaGNUQlpoQUZESzNFMW1wUllSZ0tlN256QWNJejR5dm9QOUZRdkFTSVhpWk1IaVhjSGlmY05oUGVIeENCUGlVQ1BBWkVlQW9r''@;'; put 'put ''Y0kzUkFvbmlFSlc3eGV1RmhKcEtaSWlGRXF4RkpOTHBJUThrSlZOYysweFZNa3dQak9LRU4xM3ZHT2pPN2E2WTZjNzlxZ2tDbEJGRktLYVNHTWFrY0Y4M01VVm9rZ0NqU1RRU0R3ZXhrck9ieVFLOFJoV2MvNFQrQy9uUDAxa3NKRklZUk5SZ09lSUZEWVRCWGllU09FRm9nQmJpRUswRW9YWVJx''@;'; put 'put ''U1JKZExZVHFTeGcwampkVUx3SmlHYW5RQUhpQXcrSnVLOEdNMkwwYnc0ell2WHZIak5pOU84T00yTGsvN1NuL2s2Vjg0bFJ6bnlYTFdDR1JyT0dsZXd0bU5aMC9ITXpBUm1aRDRXNEsrb3c1MVl5Rm91eFRMOEEvY3hDdzh3K28yTTZIbFc4aVZXOEYxV2JqOHI5aWtyZFpRN09hRW5xNGp2TFlu''@;'; put 'put ''T2w3bFh6K0ViVXNlNGUxSmZXNm03aHZEN2J0U3FJOUg1eUR2eUpYR3NteWVQNVQwYlgrYis3Z3UvRGcrRUQ0VVBuVDJTTzVGTllkUHAvNzVJakh5dXp4aVVxaVpFTldGd0RXRnhMZUZ3SGVFeGt3aW9pSldjRTZsQlZBMUcxV0RRUWdUWVFBUmFhZEZLaTFaYXROS2lkVFU0UkZnY0ppdzZDSXVm''@;'; put 'put ''Q1krVFJDQzlwVGZyMmtmNmtQdEtYM0pVVWRHS2lneVNRVnpmWURUT0lUTG9UZlJRcFlzcTNhalNiVTdwVnhCSnBUdU5KMGpFazFLbDI1elN6MmpjYVZST28wcHBWS2VVSG1zOFZ2Y3JSSDVkUjlFNjFhekpSUmdwMTJxY0tkV3ZWZjJhWE15UmlrMHU4a2pMSmhGL1V0RldzNUNTTVhJeDN4NTll''@;'; put 'put ''bFV4d21tczE3V01heVlqYVdRa3EvQTRvM2tDVDZJSjZ4alIwNHhrQTA5akszZWI1UzUzY0hlSFdJTU83dXdrZDlDSGIrdlB0d3ppaW1XcVo0TmUybEdLdzZXMGk5bmZMcVVsYWwvS1R0UVdsSkhibWYvdHNseFd5Q095U3RiSU9sa3ZtMlNMYkpYdDhwYnNrZzlrbnh5VXcvS1ZmQ3MveWtualRO''@;'; put 'put ''b1VtWDZtMUF3MTVhYkNqRE1UekdXbXl0U1lhV2FHdWQ3Y2JHYWJCV2FSdWNjc013K2FCdk9vV1czV21xZE1pOWxzV3MwMnM4UHNOTHZOSHRObTJrMkhPV0tPbTU4c2JHQjcyR0k3d0piWllYYVVIV012dEJQdDViYmFYbWxyN1hYMkJudUx2Y1BXMmIvYmUrMTk5cC8yWDdiUi9zYythWnZ0QnZ1''@;'; put 'put ''Q2ZjVm03UnYySGZ1ZTNXc1AyRVAyQzN2TS9tQi9kc1lWdUY2dXhBMTBROXh3TjlxTmRSZTVQN2hLTjhWTmRkUGRUSGVUdTgzTmN3dmQzVzZKVys1V3VFZmNLcmZHclhQcjNTYTN4VzExMjkxYmJwZjd3TzF6QjkxaDk1WDcxdjNvVG5ybjA3N0k5L09sZnFndjl4VituSi9nTC9OVnZzWlA4elA4''@;'; put 'put ''OWY1bVA5c3Y4SXY4UFg2WmY5QTMrRWY5YXIvV1ArVmIvR2JmNnJmNUhYNm4zKzMzK0RiZjdqdjhFWC9jL3hRZ0NJSWVQQjMxWmlONWlYS2xjclZ5WThSWXJOeXNubVhLS3hNOFZibENlWkx5M3lJMmc5V3VWYTVTSG1ING1Tcmx5aFhLa3lOR3ZmS3o1dFZUdGx5aVBFbjk3Y29uMUROS3VVbDVw''@;'; put 'put ''SEpHK2M5Mk52a1o1ZnJ1bVZVL0UyTzErcnN3cGl0dlZsNThobVZXSEx2YTg1VGZWRjdabGVNTXFOMlZhNVZIbU96L1kybzNtYXRzZDR5cHlpM0s5V2VZMmN0cTl2NDN4L25NZHNzakUxeWYySE1uTzFIVEplb3ZWMy9TcnRRY1BxYjJyRVRtNHlnNjJUa1YrYlA4aldwUGptMmRFMnNtcms0Y2Rh''@;'; put 'put ''elBuSjN6UjNPYTFYN1dManFsM3B6R1BsVDcvY2pPMVRUT1dLenRXSHRKZjF6Wk9HL3ZxYjFZYS9TUjZ2eHJuVDlWMzlXdWMvUkV4THJ0NUs5USswU3VnaHRQcXpycGowL1FwSVJtNG9vazdlZlV2algyNjN3OUYyYXcrcHZVSHl0dFpNS3VVczZvSjU5OVhPMjdOYnFyMU42amRuTGw2bkFMK1h6''@;'; put 'put ''bFpLV1NiNXljTzkzWjM4Q2RaeHFjcC9kUzhONVZ6cXhFdDFQSHJqMmFYVEM2WVFmNEhXOWlLWXpEUmV4aFVlZnV4YjQ5aVQwOTZ0eTk5WTVhckoyN0Qvdk9GUGFoR3FJdnJtS2Y2OGRPTjUzZmZXWVFwZHJMQjdQcnpXTFhtcys3MnhDOXZZMW5SMS9EOWRheTgvMUplOS9WN0g2dnNrTytobDI0''@;'; put 'put ''bFRlNm82alhXK1VxZkNjZWo3TVREMEtMOXRSVzdsZmtIUDF1RmtEQ1dJVkxjQXQ1T2J0ZGh0OTF5aGpiS042OUwrU3VMK2N1cjBRdFI5OVc3ZTVWUHFpc1p3YTdFNnlWd0YzSzY1VS8xcXoxVlR1RFAvSTl0K0YyU1VtQkZFcGFNdEpUZW5YZDBhOTlsNTkwQUFBQkFBQUFDZ0FjQUI0QUFVUkdU''@;'; put 'put ''RlFBQ0FBRUFBQUFBUC8vQUFBQUFBQUFlTnBqWUdaeVovekN3TXJBd3RURkZNSEF3T0FOb1JuakdFUVl6WUI4QmpZR09HQm5RQUtoM3VGK0RBNE1DcXAvbUtYL0d6TXdNSjlrMUZGZ1lKZ01rbU5pWlZvUHBCUVltQUR3YlFxMUFBQjQycldUV1ZDT1VSekdmLyszZlJFcUZQWDI5bW5UUnFJVVJm''@;'; put 'put ''YWx5TDZVck5teXI5a2E2eEJEUlZMSW5pU2pHUk5UVTdZYjdyZzFZNHkrejVWYjdnd2R4MWRNTTh5NGNtYmVjOTV6enB6bm5IbWUzeDl3b2VzTFFYU1BWT3FaT09ldVVxekhKWXpEallHVWNJczY3dEpJRTgyMDBDWWVFaUNESkV3R1M1d2tTYXFrUzZaTWxSekprMElwa2hJajFYaGx2SGVKTW8r''@;'; put 'put ''YnJlWVQ4NHZsYmdWYXdWYW9aYk9pckdGV3VuWGY1aC81VFNsOWg4V05IdHFQYWVPWitFcC9NY1Vtc1pJb0taSW1HWklsMlpJckJiSkJObXZ0bDhaYnJYM0liREhiemMrV1lRVllRVmFJVTN1b2xmWkxXMzFVTDlSejlWUzFxMWIxU0RXcmg2cEpOYW9HVmEvcTFEVlZxMnBVdGFwU2xhcENsYWt6''@;'; put 'put ''cWxTZDZIelRtZFdaOVAyVG85eFI0TWgzeE5nSDJ2M3NQbll2dTV2ZDZQamE4Ym5qOEllUWQ4bGRYdjJuNW01NE81UGdqMXNFby92UCtJZEcxMGtYWEhWMjduamdpUmZlK09CTEwvem9UUi82NGs4QWdmU2pQd01JSWxoblBFaW5Ib3BKbUU0a0hCdURpU0NTS0tLSllRaXh4QkZQQW9rTVpSaEpE''@;'; put 'put ''Q2VaRVl3a2hWUkdrVVk2b3hsREJwbU0xY3hrTVo0SlRHUVNrNW5DVktZeG5SbGtrOE5NWnBITGJPWXdsM25NWndFTFdjUmlUVm9lK1N5bGdHVXNaNFYrL3c1MnNwdGlEbkdjMDVSVFJnWG5PVWNsVlZSemtSb3VjWVhMMUhLVjY5elVGUDFrOURZTm1xVjdtcWFmYlJXcnRSM1JiT0JzdHpmcldh''@;'; put 'put ''UDdYWno0N1ZiaFh4eThRRDJiV2RsalpTMmJKRWFQVzlqT01ldzRKRnp6R1NsUnVnSWl1S04zSHFCcGxnUmREL0hkWjRxY1ljU3lqYjFzWlI5N09NQkJYVXY3T2NKUnZYV1lVazV4a3RlNm1ucXhUcnpFVzN6WUtINmFmODhma00ycTZIamFZMkRBQXBLQk1Jd2hqR2s5QXdQVGJpWldCb2IvSWN6''@;'; put 'put ''Uy80Mlpkdi8vd25TSlNmRC9sLzkrSUQ0QTJzOE5zbmphclZacGQ5TkdGSlc4WlNNYldXaFJTOGRNbktiUnlLUVVnZ0VEUVlydFFybzRXeXRCYWFVNFNmY0Z1dEY5WC9DdmVYTGFjK2czZmxydkc5a21nWVNlOXRRZjlPN011ek52bTNsak1wUWdZOTJ2QkVJczNUV0dscGNvdDNyTnAxTVd6UVRo''@;'; put 'put ''dG1pdSs1UXFSSC8xR3IxR295RTNySHllaklBTVR5NjJETlB3UXRjaFU1RUl0eDFLS2JFcDZGNmRNdFBYV2pObXYxZHBWQ2hYOGZPVUxnUXIxLzI4ekZ0TlgxQzlqcW1Gd0JKVVlsUUtBaEVuN0dpVFpqRFZIZ21hWS8wY00rL1ZmUUZ2bXBHZy9yb2ZZa2F3cnAvUlBLUDUwQXFESUxESXRJTkFr''@;'; put 'put ''bEgzdDRMQW9iUVMyQ2RUaU9CWjFxdjdsSlV1NWFTTE9BSXlRNGN5U3NJdnNSbG5OMXpCR3ZiWVNqemdMMGlWQnFWbjgxQjZvaW1hTUJEUFpRc0ljdGtQNjFhMEV2Z3l5QWVDRmxaOTZDd09yVzNmb2F5aUhzOXVHYWtrVXprTXBTdVJjZWxHbE5yWUpyTUJBNVNkZGFoSENYWjF3R3ZjelJnYmdu''@;'; put 'put ''ZWdoVEJnU3Jpb1hlMVZyWjRCdzZ1NHMvbHU3dnZVM2xyMEo3dVlObHp3RUhjb0trMFpjVjEwdmd5TGMwckNncE1kTDFFZEdTMG1KZ1lPV0U1VFdHVlk5MFBidmVpUTBnRzFCdnJUS0xZbDg4RnMzcUZCRmFkU0ZkcU1GaDBhVWlBS1FZZThxN3djUUxvQkRmSm9CYU5CakJ3YXhqWWpPaVVDR1dq''@;'; put 'put ''QUxnMTVvV2lHZ29hUU5JZEcxTkthSDJjMkY0TXBHdHlTdHgwYVZVdkwvdEpxTW1ubE1UK201dytyMkJqMjF2MTRlQmdGakZ3YXR2bk00aVM3OFNIK0RPSkQ1aVFxa1M3VS9aaVRoMmpkSnVyTFptZnpFc3M2MkVyMHZBUlhnV2NDUkZLRC96WE03aTNWQVFXTURXTk1JbHNlR1JkYnBtbnFXbzBw''@;'; put 'put ''SXpaU2xUV2ZocVVyS2pTQXc5Y1B3NkVyUXBqL2MzVFVOSVlNMTIyRzhlR2NUWGRzNnpqU05JN1l4bXlISmxSc3NweEVubGtlVVhHYTVXTXF6ckI4WE1WWmxrZFZuR05wcWJpSDVSTXE3bVg1cElyN1dENmpaQ2Z2bEF1UllTbUtaTjdnQytMUTdDN2xaRmQ1TTFIYXU1VFRYZVd0UkhsTUdUUm8v''@;'; put 'put ''NGY0bmtKOHgrQ1hRSHdzODRpUDVYSEV4MUlpUHBaVGlJOWxBZkd4bkVaOExKOUdmQ3huRUI5THBVUlpIMU5Id2V4b0tEeDJ3ZE9seE5WVGZGYUxpaHliSE56Q0U3Z0FOWEZBRldWVWt0d1JIOG13T1BxNWJtbk5TVG94RzJmTmlZcVBSc1lCUHJzN013K3JUeXB4V3Z2N0hIaG01V0VqdUozN0d1''@;'; put 'put ''ZDVZL0lQZzMrTEYyVXBQbWxPY0hDbmtBQjR2TC9EdUJWUnlhSFRxbmlrN05EOFAxRnhnaHVnbjBGTmpNbUNLSW9hMzN6azhrcXpXWk0xdEFvZlR3UTZLOXJCdkdsT2pDT2xKYlNvU1JvQkxZT3VXZEEwNnZQc3JXWlJDbEZ1WXIremV5bWltT3hGR2N5QUtTamtwckd3N08ra1JGcFlPNm5wOU5I''@;'; put 'put ''QTVVYmFpNTRzTlZ0V2NZVzlCKzlqeU0wc2VUZFNYcmdwS2UxRm0xQ252TWdDRHJtUlBiZ21nbHRvNzdLS1lrcFlxQ0krQ0cwRisrMWpSQ1l0TTRNdWdTSmtjYkt5RCsyS0hUbWlnbllDMzNyU0t1L2JRdTNQZGZJZ01KdWRidWRCbHBHaTgxMFY5V3A5VmRiWUtGZXYzRTBmQjlQT3NMSG1GMFVa''@;'; put 'put ''VHk1NzM1NFU3RmVuQkxrQ1JsZDJ2KzVKOGZZNzF1MUtTVDdiRjNaNTRuVktGZkpmZ0FkRDdwVDNJaHBGa2JOWXBSSFByMXQ0TWtVNUtNWkZjeHdYOU5JZTdZcFYzNk5kMkhmdG8xWmNWbFN5SDJYUVZYVFdic0kzUGw4STZrQXFDbHFrSWxaNE9tUSttNTJhOExHVXVDeEYzTE5rMTBYMEhUd2hI''@;'; put 'put ''ZUsvT01TMS8rdmNjaFRjb3NvU1hXalhDY2tIYlI4cjZLMGx1NU9IS2tabjdieHNaNklkU1Rmb0dvS2VTQzQ0L2w3Z0xvOFY2UlR1OC9NSHpGL0JkdWI0R0owR3Zxcm9ETVFTNTYyQ0JJc3EzdEpPcGw1UWZJUnBDZkJGMVVLekFuZ0p3R1R3c21xWmVxWU9vR2VXbVZNQldHRU9nMVhtTUZoakRv''@;'; put 'put ''TjF0WU91ZHhub0ZTQlRvMWZWanBuTStVREpYTUE4azlFMTVtbDBuWGthdmNZOGpXNndUUS9nZGJiSjRBMjJ5U0JrbXd3aTVsUUJOcGpEb01FY0Jwdk1ZYkNsL1hLQnRyVmZqTjdVZmpGNlMvdkY2RzN0RjZOM3RGK00zdFYrTVhwUCs4WG9mZVQ0WExlQUgrZ1JYUVQ4TUlHWEFEL2lwT3ZSQWtZ''@;'; put 'put ''MzhZeTJPYmNTeUp5UE5jZHNjejdCNHZQZFhUL1ZJNzNpc3dUeWlzOFR5UFRiMktkTitDS0JUUGd5Z1V6NEN0eHlkNyt2OVVqVHYwa2cwNzlOSU5PL3c4bzI0ZnNFTXVHSEJETGhSM0F2ZFBmN1NZODAvZWNFTXYyWEJETDlWNnhzRTM1TElCTitUeUFUN3FpZHZreXE4MmZWdGFsM2k5SlQ5ZHVk''@;'; put 'put ''ZDlqNUcyVXp1aXdBQUFBQkFBSC8vd0FQZU5xMWZRbDRaRldaNkRublZ0V3RMYW5VbnFTeTFaNmxrdHBTcWV5cDdFdGw2WFJuN2U0a3ZTWHBwcUZwNklWRlFCQWJCa1ZSbkhFYnhVRVFCMWthQkZxVVpSeEdCWjQ5TGlNT09vN29tM0ZHSGJmbkcwWjBKRGZ2UCtmY1czV3pOVGpmOTZDVFZPNzl6''@;'; put 'put ''L2FmZnovL2Y0S01hR0U5aVQ4dWVKQ0FMTWlKU3BBZjFhQVVha0VkYUFpVlpGdzluZTJ0NmFaa2JUaFFXVnJzc2hZWk5BUVpZM1ZhcjlVck9wTk92ek9aOHFlU0taSDlGT0dqOHBRK296L3BHM2lTVWo3TE1LeEJPcG5DSDVmK0RuZjgzKzZlQjNwNkhuaWd4K2YxOXZUMEhPbnhubnZnaU05N3hQ''@;'; put 'put ''dkFBdzk0anh3NU56RHd3TXBBMWQ4TFArdjFCcjN3NzVhanZvR0J3RUg0Tk9CdDcvRWR1YjdaSGQxMTFWV1BYSFhWcnVpcU4rcUZmd2dSTkxyK092b1dPYy9XRnN6NEVNWm9BU0ZVbUVXRUNFc2FMQWh1WVZTajBWZzBoVUZya1ZaMDE5bVRndDhWU2pVMkpSTXVwMFBubnpsVDBxY05oOHM4b1pD''@;'; put 'put ''SG5KZDhQNnd1S3cySFM4dXFFVnBmUjMzNFhud0RlYkRJaDR3SUZRbncvU1ZFeHczQXR4dGhYQStxUk1PWkFZdU9JSzFBTUVGNDJZUU5oc0pzWVZHQklJcjZCYk9SNlBYV3JBWVRZaUdqQ0ZWV2xKZEJLMDlwU2JFYnhyZGJjLytKNVhWWVRJcCswWjltWCtrayswcUs3RXVrTC9HYnNTdnRKeUs3''@;'; put 'put ''SXUrTlRFUXV0eCtQWFdHL0FqNjlGNTZjc1AzTmUyUHZ4UmVleno0Qy8yV2Z6ejRLLzJXZlI0Q1owUG9GMGtiZVFCVW9pQ0tvUGxNYnFmTjVQYVhGYnFmTlpOU0xoWWhvQVcxa0JKYUZDVDRJNjNPajBVcXJWUUJzQlhTd3g2bFFPTzF5cHhwd3FyRVRwMkd2WFc0eEZIWldZQ2VDeDRYWWFXdEtO''@;'; put 'put ''Y0lEMG5ibXNxbDNIZWpJN2oxeUpMbXZkZXJLeGRiKzhSTlhTWmRIRTNWTnY4NjBaSzQ0S1daNml2WmxoMncvS3AzZWxaeHBGanM2emJ0SE82My82Sm1id3U0YTZ3dUdGcjgwMzFaZDNXRDlKc3hEaXlMcnZ5TnI1Q25ZWFR0Z09vcmEwUC9LUGxhOGF5NVRaOEphSThZNkxWNUZPcVEzNlBSSGtV''@;'; put 'put ''YURsZ2ltdTE4QWV5QXNtVVVpQ0JaaDFKTjlMQXhOb3Bkc2dnQ1V0Uk9YekZnVTNlS29KNVBjcGdVaEFFdWJvZTFiemM5blFyRllWWlhEZ1ZDc0xkYmExRmdWcldxb0Rqa3FIUldseFhhYnRRZ1dVeGdxRkoxMU5vN1JaQUl3NlNqRWZwekVmb1pLdjAvbmRMaVNhTlA3VHB4Lzk2bVJtdHFSV0F5''@;'; put 'put ''K1o2UDR2YnVrOE1UcFJESVVqaWREZU85SUxUemtyNnJqOUdFaWpQYzFqRWZqdXhvYUptTHhpWG84dFRhSi83SWpHdTNzaURWMFN2dnFKK0pSK2c0ZzZydnA0ODZHYUNlaXRCTmNmNTNjUUw2QXZLZ2VOYUhPVEZzOEdxNnFLUGVVbUloUklGNk1CREpDYVJzdkFldTVzbHBnT0lZWm9LQ0dCcCt2''@;'; put 'put ''b2FraDVhdjNSU0orbmVpcTA0YkNPcitQTHFvcHJWNGF2SE0zcGQwNjBZM28ydHg4bmJZMGdOT2xrcUF2c2U5MDEzSkxkcUs4Tkxxbk1UWlJQekU5MUZkWE9SR05uWlQrTWxsYzJ0TlU3M2NNWE5HeE9wbzIraHJuWW5QdHZRZjhOZjJoaG13a2txMXZIdzNzR2VpYURDejNuU0lqMFhCcDJsc2FE''@;'; put 'put ''d2NTYTY5MVh6MmNtbXpLSUlRcG42TW55WVBJak95WklpcEYyUGJpVVdlQXdNUnRlWGtoK3FldFhyZmJhN1hFOEg4c2U5MCtuOXU3UEl4b0g2M3JNN2lQUElzS2tPNkpBaTJPMVRFeGszWURnOENpeEFldnZISzFjV3JYNUo3RzJSL2Q4cTdYOWpSTlAzWHExRk5UYWRhMkZ0bzJLbTFGYU11UkVF''@;'; put 'put ''NXovTlR1bVlSMnE5RERxZW1ucmo3MTVFelRudGZlZGN1UDlyQzJLWHdDSHlEUG80T29PWlBhT3pIVVZGM2gxdWxoRVNNQ3hocU10Qml0NnJCV1M1YUFlRjFhRUVJQWVtRFA3czcyV0lQUFd5ZFNTb1NacHB2U09oSCs5L3ZDL0RmZzlRWWNEdkhma2dtM0MvNW52M0ZVQUN4QU5QRlg3TmRDREJ0''@;'; put 'put ''WmdmbHZ0SnN3dEhlNW1aaDkzbXJVRWJ1ajJxclRXUTBhYzNHRHdXMDJ1dzBOeFdhTnNVaWp0MVk3N0VSbnRKb0xLSnpSWmdnNUdXQUJBN1NXYXFLT0FnYm9EQmxzUmdwWmdFOVlUS1VKbjduQTdqTUtGdEZnRVFzdEdyMVdxOWRZQ3ZVV3ZWaWtNZnJzQldaZm90Ums0WkJpa2VnekF5aThaYUNp''@;'; put 'put ''QVZ2TkhOVHNnNWNjbHVHMEd5MFRCMmxHSmhUSytKRkd3SnBwb0cyUUZGaEF5OEQrZUFFQmFzZVk0QzdTaWFWMTJFODFZSXBxd2lSeFBMdi9tV2YyUDR1OXp6NDcvL3p6dEwrQjlXdlF0OUYxcUJDNU04REthRkNoTVdDVWdJM1NHSENBVDBWbXUyb0xQS0Z3bVRjY2poMkx4RUU5aFZPMS91RTA3''@;'; put 'put ''YXNSL1FTMzQwN2d6dUtNRTlHT3B1bWNZVVlJWmxSRU83TjduZDVHckpkK2p6djNzdlgwZ3A1OEVjWTNVWTFQbjREVXc5aU5LVEdZa0RFZ0FCR290ZUpsc2tZMDU3UWhYdi9WK2dWOGdmd1V4clZtQ21tbnQ4TFlwL21BVkhUaGtjdWwreTRuUDMyVGltNVFKazBnTzI0aHo0QzRxMFNSVEEwUUgx''@;'; put 'put ''c3hseElZbERPYlFGRVJLTmJLb29waUY1T0xvRy9xTkp2bEhrazFObUMvanpKU0JZd2szcGJOM2pZOWZTNmJQVGVkbm9uRlp0THAyWGg4Tm0zZTkrblYxWHYzN2J0M2RmWFQreFo2cngwZHZhYTM5NXJSMFd0N0dRNWczYmdjZExZT2VUTEZzSlVDNEd1RVMzR01MWGpVYW1lb0U4UHBwTlgvaFd0''@;'; put 'put ''cW45cTlRdEtqdys5WW0wU3NmUlFXVlF6cktVYTFtYkRKQ01zQmFpQmtoS0dUaVQ5cWRDd2dwbk9zN2tCSUl4YlhkV0ZGYW92aEpsbmNXVEJzVC9UTnZyYlJwcWFaVU4rQmoyZU9kWXpNM1l1SEpmZWViN1VzUnB1Nkd4UHQ1eHFYT3ZxdkhmcXpSVGEySDNCWkFXUFhvSzVNZTBreGpPUERtTURv''@;'; put 'put ''TUFXbXVCSEJ5ekN5WmdtSUV5WUN1bk9KOHJ5YnNYc05xZzRFdklHZ0tKYkFMbE9oa2t4UVBRT1dtanZSdEhsNm9vejJmemhYMngwNDFOcXphMm84bSsyZDNOV2VuQXAxTFh5NC8zajdTR3ZIVE9kVncrWk1xcmN1a1dsTXBmRmUzSnlNZFVick82K0xUVGUxNzdZVjd1bHQzWmZrZE9DSGIxbkF1''@;'; put 'put ''eEdrRzFnZlpqQXk4SWhPQzJ2QUNHek5GVUFkVTZrV3phakpaQ293RlFCUDJZcm9YSVBlTUU1YXFiWHBUMWtGZkt2MGtBbVBYWHY0OFBKdjc1bkVYNWFHNXU5NUEvZEx6OERxNDRDZkdoaWpETFZuV213Zzlnck1CR3ZBbmhsQjhCMXBRSUVMQWxuZzJuc2pjc0FjODFudEFUOUREaGc2U1Jrallw''@;'; put 'put ''aHlrZGlVSThPL09OSTF0OUt6WjAvdlpNK2dFWDlXK3FLdVo2enphRWYzcVJIejVVUDd4dHZhaGhOVmVIWHhZaVI1cUtmdldFdU9CN3BnM3p5b0d2V0Q3UU5ydHdMUkJJdUpWaU9NNkVDYWFMU0NaaFhsTktnSTgxSUVRMWtaeks2NkxPejNRdnZTUURDa0I0c015Yk9od29MeWlGdmtyQUhDT0du''@;'; put 'put ''TDBScGxrNDhlNjh4Y1BYakg3ZGx6ZTY2Y2J3ejBSeHFuRXJqcVVJdTdOempUM1RKVldEamVqVC9mZUxDbis3TDI1ejZ4K3RrREUrTmViLzkxMmJxWTlOSHFibi9IU0VkaWJKYlNIZ2dkNG1aOFU1a3BBMzJDR2RkUWVZT1puUTEyTFZnMTFGckUzcFRYQ1lMZ3I2U1A0QjlMUHpwTkpoZEgxejVK''@;'; put 'put ''N1lnbzRDSEY4QkFHMzZNdjArM1FFWkNxSTZJS0E3SjAwQU1HTU93UGt3N1YxUlFKMWFucXhtaDlXYmdzNUt1aXFJZ1lxTGphenBDUWthT3lvdHowTStpaFFrSnRpWitmN1p2c2J1L3J2YktyKzhxZXdaYnVYZjFuaDFKemsrM3R1MlpUdlh0and3SC9jSHh2cnprMjI5cXh6MVc4cTdsNUtsSS9s''@;'; put 'put ''VzdkNVhMdmEyK2RpK0tQdHNmcU85b2I0bTJDOUpXdWhLK3BBdU9LSmwraWkrNTFHdGFZeWU5MVJSSHNzUUc0VkUrMUJxeFVDenlxSmF0QTZRSXNUeEJjV1pVU1VQYWFMekFZQ0xLOWR2R3Q1aHdMMnBiK0lpL1lScGZPWmFJcmliKzRaWmN6YlBlNzJEYlgweDBuejJ6Y1piN3owa2ZvTnJQOXBt''@;'; put 'put ''dGdlb0xvUUNlNHFjeW1NcHJOME1vZEtpMTNxTXhtaE14dXM4dFd4SlNIVHJZZ0ZPVkJ0bEVrWmZKUGZJdWlVYVJUeWlmd3M1aCtKRHJ3czBEL1drVmtCZW44UG1SNEhPT244ZnNlUzlaeE9wd2hoTXdESGVxZTBCR3drZXlwb0xNQU85UDQ2OUw3OENrY0gvdkJ6RU1QelRLKzYwWlBFQWYrQlZD''@;'; put 'put ''ZWlIeVpTa3F2MURkRDRCQ1FhVmxNRTRIcTd5SXFwU21uMC8rNzhYZWtldmIxaS9uYjVtSE1FUmpUcVl3cHdKanBlcHpTT3JVaitCU00rWFVwOWNoREQ4MzhZT3dIZEV6Myt1djRPN0QvVHJDVzA1bEd1MEZQeFJ1bTRsbUFnVzlTNlFrcXFMVllvM0ZyUmwwdWw5ZFZGU3oyQjNWMElqSUg1NlF4''@;'; put 'put ''TUxaemc3LzZ4TzZqZmMwekE1Mkx0M2NkYW9yUHBRODRGTXplcXV1TzFIVk5kVjRWbjJtTVRMYWFUL3dnNzhyUytVWFc3eFQ2eVgyQW13bjBvNHk1eWthTWhzNE9Jb0tRekQ3bUJ3Y3BCWWFPUWRBWWJqSmpveFliWjVFV0pMV294VWVSYU1KNlVYOFk2WFNLMzBQOUsxaUcxVUM5cXhwb25GUWF3''@;'; put 'put ''MklOUnNHdytwYWQ2TUREYXNtMVFrZ25JTjNxenEzMWVuRVdnVXU5eExxWkFEK3JwS2NIb1o2Sm52SGhRVmhVSmhRSzIwT0JVS2hBTE50aVF2aENZUlh2SkZ6dXRGdmtFaUZCTWE2eUxoTE1ZdmNyb2xUbXI5N0hWcS8rOHNubFI1YlRNOUZvaDdGaVZ6UTJXdGR6V1d1OHoyNmVMdEs0RGQ3eThy''@;'; put 'put ''Ui8zeWYyTHorNnNuRFBZc2R5eXQ1eXN0ZmVGMHpFYWdkcm02T25WeDVldnZMTFZ4MjRiM0hpeW5Ra0hLcVA3R3JzUGRWWDUrL1NUYmpQdEpncXFtcW11NlkvT0xQNjZQTCtUK3d2cnlvTGVMRXh0aWNSYll4TzFNZmIyZjZWd3JmdmdSd1dRWlBXWmFvTldFUHdDRkFSa0pVR3RDaFZiV0R3VTB0''@;'; put 'put ''R3I5Y2I5VVp1bWhhREZoV1pheGsyWVJLUlB0NStFb2ZwdjhOM3duL2svTnJrVC9HQTlDWEErNndjMHloQ0pjaUhPakt0SUlsaEJCMXdqbFpEdE5TOGtJTXJJdVlXTUIzTFUycXplaXRMZlI1ZnNjdGFZaXVKVk9tWkFicFJJSHN4MDZwMTJHbFhQc3ppZ1piNVJEemUwZDEwb0VONkJOYzM5dlEw''@;'; put 'put ''dnZScTYvQnc2NnZrZkdRODNqanNxZGpiMGpRZHd4OU0xOVUxZjFWNnFTdVI2UG9YWmcvRlFOYmVEYnhXamhveWRhVWxKcU9HR2hXS1BIVnRDUC9BZzNKVUZncUdhUGhIa3ljQmNldXU0NmI3RHgyNmYybm8xc1JnWUxHeDkweC8vNW5leHNYQVlPTFdJZlBCKzVlVzdqdllrdXdMUjRhdUhSaTRi''@;'; put 'put ''aWdTN2t1MndMNVF2SDJaMlRkTzVpM2swTVFjWXhsTlpwUERabkthbmFFcUxVV1BRcGgxT0MwVFlCMjJ6djdxeENNSER6NXk0bGYvT1hGOWYvODd4dDlQenM5OTR2RGhUODd0ejV3YUhyNDZJeG5ZMnNHQUlYMHduZ2xGTXhGRnNsRjdSck1BdXFWUWJZVXk2OTdFdzB0ZzN0aWRzcHl6ZXAyUDQ4''@;'; put 'put ''dWxQOGNma2tUOEJ6TDVsY1Z2TDVMemkyaEQvd1pVa3drcC9WTnB4WHBWVkQ2OE1DQUQ3Wm5KTGRhclgrbDNoWGI2MHFMMFhkNHAzNi83WWIrOEtKVkpnTXVBaEVwQ05GcG1QR3MxaUJFWDkwK3BKY2pFSkdoL08yeWFuN3RYWHV0Ry90MjBlU2svL2pOY0Z2dUw0YVhQSERyMG1hV1JQNDhOK2s4''@;'; put 'put ''MDlkRU43SXZzOHorTnI1WitIVy9qVzlpYTZBdlY4eTJzOEh3Z3YrWTdHVTdEbVlCc01pNkRqVXJYUytOREZyUVpsNWl1RnI2UzhKM2N1U3pkc2J5TXI2SHNoS1BTdDhsNTZUWHNnMTVvcThkWmZKTEdGVlMrQm5mVHdORVlYVjZtclFEV0NmcmpHNHovZ0lxWWFjOG9taG1zWkVrQVluSXp0QmNo''@;'; put 'put ''aXoyb2dlWjVVeDVtUWJuc3NldTlnL1pkZGMyRHl5M0wzZVpNb3I4NnVhY2J0RlM4Ny9KMnZzNFo2T3BEYkoxVm1YS0RYa3VZaHNJc0FpYndHS1hkWnVNNk1XbkZTUVAyZzJ2b24xbkdmYmRJLzQ3cjMvbGZSMkM2MHNmeGl2UjE2VGJjZVB4bDNpOElZdkNYenlNdHRSSFpwR2x2aUc0K1I1MFdh''@;'; put 'put ''YTFXT3VrZzBFblNTaHhTdzhvaTBOemFlZFllZUFnSUlEY3ZjWnQ1T2F6S3ZEemdGUGl0SnRpQjJlWGYvbmFaZnNHY3V2RGZBdkovVG45S2JybFA4akNqNDRxTVJ5UmtTNCsyWEk4WXB1Um4vZUgzTGk5TForaVd2RUVNYTVQdzlRYVZ2WlIrZi8vL3c1ZmxBZ2VvOHVCOVM3Mm4rL3RQOTNLcEk0''@;'; put 'put ''c2JlTHAwLzhHRm9lc0dCcTRkNGpUTGRBR2wxK093TmpQSUhQQkdZUmJBcGdLbW9ZbDhBQnlXV0ZqZ3NCVTRDNTNXVUpXT0JyKzlPYm5qOUNzaTJackYzaUVZOS9UUXM4dlludDIzTC9zb09kK3ltc21zdHZ3R2p3MjB0dzlJYjZweDRLQTJmQ1pCQTloRUsxQkhScUJod0x3UG8xRkZBWjFPWjln''@;'; put 'put ''WnFnK0ZxZkJGTUFkeGd5S21NZVIwT08xdTJvQVY4dnVRZjdoMUxIcFYrNUtDSHVsWFBZZGFsK3R6K01FVlZ6UjA5ZldHYW5KNGt2NlFtTzZiNjU5UUlTcVBwMEtZQytoTVFnTmlpa3U0akxSYVdhVEpMQTVPc3RWcXAvS0d6dFFmQnIvVHlqQ21UY3E0SXNjUFRwdy8vZGYzTERPVVNmMlBNblRo''@;'; put 'put ''VzA0NS8vQ2IzekNzdllzaWpORjBhUDIvU0J0NUZyd0IwRkV1Si9WSENWYWhpUVpZVlRxcUdvV0RFVDlGVTk0TERUZVFiUVNlVzZhbGo1M3FXTDZ4YjNSaVlmeHdjOGNWZmFQWHAxb2p5NDNCZGw5b3NPdlVtZGFySmt3bnNnYzZJZzF4cDYxaHRLMWxmeW9SSGEyT2xNYzhsZFVlaTJkdXBtMS9p''@;'; put 'put ''czZ6Qm5BMHlld0tIaGZKdVhZOGtDR2J5TmdQdnAwZnVNVDR2MG4xdnl5RGE3Y284KzR1b0l0N29EM1l2WmtLT1ppT3NYcHBUdVJ3QkJ5SytxWENpdnN6aXR6Q3Z0dXp5L0g1NXVhNStNcm9iZFBtc1R0bThmdWwweDBIbXNBMHdIZEtWOC9lTWNibGpHSUQ2ZWhZV3VhTGdxU1VoU1NYTkdDcWMw''@;'; put 'put ''bGpvQkYxRHliZms3NS9FdjdSL1FHR1ByLzJIVkxQK2dLdlFGUENlQWo2TWxKWkR3S0NudUV3MWMwV0R4TENWcVNsbXBNS0hmZ24rRTNZWDNueXdZZFBQdnpneVg5WmZ1b0xWRks4VHN6c2E1TDQxMzZJbEw3SnA1ZzhBM2xvMEVIWGhJWmpxWTJHT2EzWmJEWXJ4U3ZNRXJvMHNON3hKN0R3anE5''@;'; put 'put ''OTdUb3NTR3ZYZiszRjYvQ2M5TmRZbFA2QVorSFRIN0RJK3k2QXZqOEdmZXRSZWFaVVIza3ZKOWhrYjl6R3ptN2tQbUhMcXFSZlhmLzMzem9qL2VZb0xzQ2ZscDdIUGRLaTlKKzByeWJvYTdlaTZ5ays4eUd0bkgrZkMyblpyR3pHYWU3bWc4SnZ3dStUM2tHS3BGUDRnMnYvTmtISTRzU2F4UFg5''@;'; put 'put ''K1BxN2NULzU3dHYwdnBKQVdQQTEvc1puUHZNRytlN0FXaHN3RUY3Ly9mb0YvTGM3eEJzRnNHZjFsK01GSG03RUtBcmpoWFBqS2ZFd2FvclIyQ2dkRCtYSGM0T3dUOEZYOUlFSGZ2LzdKdkxWZ1RmUDArNFQrSlA0QzV5Mkh0Y2Q2Y3U0UUtxekNDR01US09scCtVb3grTTYxR2RQMnYxaDBmL3Q0''@;'; put 'put ''VStPbnprekJ0cm4xOS84SnAyenRINGwyYjMrTkF4WHhmcllJVDVMdXhBQmdZUk1yVDA4Tk16M3RZdGtzSnU4QW0zZHJLMFpXbEpwZjlvR1BpQWZOZTMyZHgyNGRvaDgyZkhuM0tlckI1dmhEOFFLZkJGQ04yWWN4VmpRdUVFUldNRnlyeWpYQ2pxdEJudzdCN2huVlFDczFSSHRLdk05cVFGZmt0''@;'; put 'put ''Vmo2b3JKOU9nQnUyY3JDT1VxQnFlWVpQTVpwOGVEa0Nma0NYb3JZZGlTUU5Cdk53QlNrY3NKV0ZVSHBuS09yQTNzTStYY0N0OSs5Y0d5cGZqVThmUlN5OGp1enNIT3FjRFIvYlo1Yy9kb2FxUTdRYXhuRDBrdkRvWWplN09KaWJxeW9wYXh1dUZHS1o2czczYzAxZFRFK1pySFFONU1neDZ5Z1pm''@;'; put 'put ''eTdBV0xFVFFRbGxkWkRzUlZsTTFGV0Vya2NCcGRJdWdpOEZTOUFPVGRERVJOc2cyQk45bWw5U3FIZlRzREFvenF0V0x1YjRDWkIwL1ZZYmNqWlBmWnZaNFNtRGJvbUUyaHZEQmxBS3NTd1ZQYkI1KzdvclB6aXQ2MnBZcERoeW9YMjl3ak5UVWowWWJobXByaEJtSUZGMkg4aHY1VWZDOTVSdnB0''@;'; put 'put ''TENXMVJLZFRxYWxvZENxVm1vNXltb29BZlVoQUgrV29NUk0zQWg1S1REREpVbUJ5SWVjdGxlenNMYmt1NlMyOWZ0Tkk5c2JocGtPaFhuZDNvR0VpR3AySUJucUtlOE9IbTgwak53NE4zVEJTRytvc3JVaE14eFBUaVVwUFJ6akM5NC9hRWMyNS9iTUs2djJqaUdSN3c1d0I5ZjVaOHZ1M0dZZ1Jx''@;'; put 'put ''Y2pDaHB4SWxmMmpnSVdYQkdUN0o3K2wwTXg0MmdpemRmOXNJYitWN2grV0NUNlBKQ3ZadEgraytWREZVbHN2MzhURnlxdlp6a1haTHBKbjF2cjN4bFA5TjR5UHY2TS9GY09XdGJzMjd4K04yYnhPd3JCL0x0aVVUS2FEMEkxamg2NWd3eEJCUTVaek01WG5MeE9kR3l4Z2Q3bTdyTFFFbWpyQmo2''@;'; put 'put ''THpEZkJ0VXh0ZlhqcEhuZWlGS2VPRmFYZW43NXJtb2V1SCtzOE9qcDlzazQ0WjUzdTY1czI0eVRDYUdhMHF6Z1FpQXplTWo3NWpJUHVlL1QyNzhSWFpycTRzcFRFdmZGc2szNEpoOTJhTVJWaW50V0trb3pFbHVsbGxTS2ZUTG9HbFZjeUNFMmhCZytWb0lpZ3FUNllVSEFNZFNKM1ZyUy9uTThh''@;'; put 'put ''Z241MnZpYUtINndnL2xkczhGTWJwVWVmODF2WFhIeHdmSDIwdmEzSUc5T1ZGcmtxaW5aSW04T05UblowVERtdVAzdVQzVUR4RzE2ZElJK0N4RXRXaGF6T1dpaUtpMCtaanM3S0lCRGtIYWtOSFZxbGh1Q1JxaU16ekRLbDJKaUp6SUZROHdrd3BJTm9FQmlLeXFncWhxcnFxMmxBQVJxd01CWU1C''@;'; put 'put ''S2lLeFZlWjI3clYxNEkzRWt5S3FzMy9TMkh2TmFOZXBVTGhzTnJwbnFYS3h0ZmQ0UjhmeDN0YWxDcURIL3Y2NXVYNmlsUkk5cTYyaHloRlB4V2h2dGo3ZWRYSnc4R1JuTXJKSHVtYnZ3TUQ4L01BQVAvdWpockNWeFNWUFBtVmpKaFBmR2pkaWJBUW1NWXRGbGloV3NNdzlidTdzYjMwTmIvSVBX''@;'; put 'put ''YlJEZmdPTVVzQ3RQYXZENzZCaEFTcmhZTmZrUUpwVkZuTDQ5dm40d2Q3R1VFLzQwS0hpZWRpVzVMNVc2UXU0dVhYWTIreVYvZ2FrMlZxMUxPczc0UHVUNUIvQWpyS2dBVDV0Vnk0b1hVd3B4U3JicVo2TUErdzVUQTJOVmRYamVXbzZXQW9MekN4U3JkMFVxUmJCQ2pqZzk1Y1UrLzNGaWNPSHli''@;'; put 'put ''NUFjYkUvNEM0T3pLejlrWTYvL3RMNnVEeCtLVHFTTVZwQXR4WmlEY2xSdDFZMUYwRmdwS3M1b0FQTWVEU011aEVBQ0lpZFBtMThDVEtGUmRGTHpTVXVweHhIRjdmRTBXVkhnSnJKdXR4RVQ4YUxDa3I4eFJXSHh6cnlFMzd6UDQzNk1hUGZRd0pycjNidVl2cytDQXVnWjRZbXRQUUZBM1BTbEoy''@;'; put 'put ''M2NnMUk1NFEzN0xtVmF6ejFDOWh0Y0hZWDJLOGIzc3pQWDdCWjdjd2l4TlFZWWlvTVhPbXU3NTc5OUo1RGg5YXV4UjdwMzc0L2RRNjJzd2ZyT1IyaXo4RjhCTlRPcDJHaXdRdzVJQ0pQd0tTS2tYalliMG9BYlg3K3lYelFaT2pRSVNvK2tiSk9vUTk0MjAvbFR5bkcyaXFNV0V5Yk1yV0xDaGJ0''@;'; put 'put ''a2w3VUNWcXROYXVocDdac1dTQjU0SGY2VmdkdmlVNVhrbnM1ejBJMWZ1VHpXKzErdTk5aEFQbWpvbVRkaGc5SkorZGUrRTcrWmpwMnNDUGVQTUMrSFQ3c0dJczN6N3B0KzlvVUNtOXRHZXBOU2M4cFA0bDJLRnpmSElzMUl4V2ZXc0cvSHJ0Z05SUE9xSFFOZHVaT2FhazhzcXE1a05IVUZ2N2tU''@;'; put 'put ''T2hBZHBqOFppYlVpY3FNWlI1czJxMDdmTGg0VHMyRG5RM1M0MFNiRGNjVS9UTUtjOW9VOXloNXk3aUg2OUp4ajlkdnpJTHBNSFRqQ0JnS3pISm9pTzZLd2ovWmNCaTVZUWplellEZEVKOU9jQU5Dc2YybXdQYXpNdHZoNkdiYmoycHlIYmd2d1B4NUE0eGl5TTQxUFpNS20yMURGY3pic05NVTlQ''@;'; put 'put ''MlA3RFRwdjhuajg5dlphZFFtbWdLYlNGblhScHNvdjY0U2xXR1NWWFFTczNLc20yeW1EVENYc0Yrc20xWFFuMkMvYU5jbXNDNXZ3TXhML1Z2dFQzRGI4VWxZbHduMVhERHBxS2N1cjhyS0ZDYllNdHo4Wk1hQVU2SG92RmxLN1lBTElHV1ltTEUxSlowS0NiKzgzTFBybUhqNE1QN0h0cG5KUHVt''@;'; put 'put ''ZmlQWXdqN204amwrRThZTFUzblZnZ3AzZ0hjT3dJUHh5a1plU3paR1hJQW9FYWdQTTNnMnBRaTlZc1RTNFRxWnhGMExGOHN0bkdxS3pjNUdtNW82bFBjZjJ4QS9YUmNZR3FwUHVoa1R6WVB6RWpMazZPTmdWcktpcXNwYjJkQXhNVjVVTng3eGxqbUtIeFZyWkhodWFvL1lTekhHUmZBanNwV2dt''@;'; put 'put ''NHNZNkd1WUZzKzVXcWt2SUFqMDBBQ1NBWjNhQW0zTE1Cckw3cUJFVTVPNlZWYzR6QW9sTEQ3Q2EwbmpSMlZUV1BqbytmdkQ2Nnl0ZFJlWDZFcXRqb2hQSHB0Ny8vaW5wVlkvZnBPYzVTSzhEUHJWTXZ0aGhRSktUTHlCYVpJMnBjZ2ZkeWxOWjhPYzlRQzVmUU1YN1dleGZaUVpUUmNWbVpDVVdL''@;'; put 'put ''bGFhRlNFRHhQSkhFQ2tnWlBDdzlCSVZNbmhDenNraGRVU3I1T1Fva1F6RkJyVGFtTWR0NTZFWDEvRjc3em4rVHd0ZytKekFkMU1GamNFcVJrSTF0TjhhdzdGZU9vWlR2bnpOelZNM24xMStkTjhOTis2REh0K0piNkZmYTMvRU4wczM1Mk5OTnVpYjVZQVpSUTNOSjZHZFl3eDlDMFIxS0dDejJT''@;'; put 'put ''ajFlTU9pM3g1T3V0TkowWTd2ZTkvN1QzejF1WlB2UG5maTJhOCsvenpXcjMzKzgyOUtiOUIrUzlaSFNUMzBhNlhaTUNZOWdTbFRJNEhJWFZQaVBFRG43bUhFYVVWRk5vYzZMTmlGQmJhS1Fpd2VyM1dWKzBwODV0TFhMbnZnazZzLzhleHVlZEkxV21SenBZbGVPb28vdW5heEw0UDVXa0I4NHUv''@;'; put 'put ''Qm1EdkVlYXlYanZNa3NFLzZDYjVIZWcwSHBMMGorTkQ4aUhUUFBPdTNlbjB2UGtLK0NGS3JPaE1zWWNZbGFHazg1UE1TbXVNR0lMTXlQMk0wWVhWUi9VMURnR2xRUmlsZ3N6Qk5LSFlYRXFlYkh4V0tsTXRFYk41Zmplc2JVeEZjdlRDaGIydDE0bEFvSE1TdWxqYjlQVFVEVGJmRjYzcnE0dWZT''@;'; put 'put ''QTlYNmJvTzd0dm85RGVtQ3duVERIZFcxeFladUdPZXk5UXZvQ1JZMzJqay9EbXlJeTRhSGxWdzFtbis1RjYreWRRQis5Q3p1UTArcGhud1lEN0l1WnVYVGU0UW5hTzQyRVIxMWJ0QnBZWjZCa3FZWkpta1FEeUtRUDhnb1dBOXNUMjFiaXd1bUhncGhaMnViZmhkZEZCV3UxZnQzTFJ1S2E2dnZh''@;'; put 'put ''RWdYRnFRYjNsTmQ2elowNjZzSDB1Zll3bTVMOTlmb2FlNTVDNjdHdCtGSHJTSXVXRitYZm9rTWp5UDh0UFJMbGczQmM5OW4wTGVZYkxXd1V5czZRYXFRbVZIT2NwM3M5THhvby9ITERFdWVhQWkyVGZKQk9YbWc1VXdKbUZCS3ZzQmFQMzVOOFQ4dllJbU1BUzk0S1dZcXlrdEwzQzZIdmFoQVM4''@;'; put 'put ''ejhmQXBHblpiVDdrSGNsN0ljT3A0MXptUFhORitjYmlyb1RuQS9BK0FqZzJyQlA1eUtUblVjYm0wNTBqSFZzTnZiRzJodEMvVktkL2MwTnZZRWE3V1pQdlBZVlYxZFY0NFY5SFJxcTcyZHRTYnBMMHlSanBzUDJQR0M3V0FiejRGRVpBeHN5VExVbThuQVR0RmtJaVRTWEdRUkQyc3hBYUVxRW5Z''@;'; put 'put ''Y3d2d3ptbFVraXR5NVJ6enBxOHhxRHdaQXMxRGpMdWowcHRJc2UxTWQ3TkNWWTVwNlJzYldmanFVeWJTc1pBYXU4d3dXVE1TYmg1NTdibTZ1b2ZhaHdYTjlsN2ZMcDJ5M0RENmtqczI2VUV1bXlZR1JBWStBaXlreXQyUkZod21ZVFdER0xSdFpqUURQZVhNNTdUYWxCcURJUktzQVdIbUZVMGtv''@;'; put 'put ''aFMvRzhQalJlNzd5bGE4Y2hhOTdXRFFYRHc1bUIwK2NnRy80S0EzcHN2M3FJcFA0YXZJY3k5OUpzQ2hpbUNhdEF2Mnl3UDZTVnFDSXdoUGJaUERRQUtQYSswaW9QaTlXVnJwZFZaWHV4OWpQS2hlWnBEKzlUdnFNL3dSNnJVRkovSC93M3hYNWNKMFdGUW00RHIwcXh6WEg4UzNrcnJjVEU2VjVP''@;'; put 'put ''RjI0UjNxZTNOWDlkbU9pYnRGLzRlQUhoc2dyRGxsdUI5YS9BWDdQbzdEVC9nejQ0YURwRUxtSnF0VjNVUzNHd3Ryc1dDUEV0QUpXekI5Nm1FdlBOd29ITG10dFhzN2c4ckd6WXpnUW4yOXQzWnRZcXlJZlhUc0tmWGVpVjlDWFFIV1o2Sm1pU2pBUUtqSW1WTW0wVFNyc0hRb0VTa3ZoNnhYNDRm''@;'; put 'put ''ZkRSem5ldTk2SjFxRkJNVHJEMW1ZQmUwVmpONUI4Vk1KTW94SmczSU9xMXB5a1NVUWd0RmZ6VXZVQU8zMEJDNUNCQUdIZHRCTU0xOW5GeUcwUEJBSlVaMVBNc1FRTkZvNVE1VHpTV3BOWHExc2pKVEdyczl6djhBQnRXbXhWN2NYNlNLZzgyRkJVRUhVN0xJVTJvMjBzemVwallyRG52Mk43SHRI''@;'; put 'put ''UlBZK2c3ekU2REsrUDRIOWxzc21MV2pQcFNxZkRyQ0g4NkkwZ09sRkdqRnhZZ2VZNWdHUjE1NjBxZHRtdE9acEVhbkhGVTNFU2FiZE9NVmxCdHVDa0xNRmltL09pOHVKTXVtcHpaaFNiT3p0TEVtNHE4dEZxSHF1SWV0R2ZvYzhoL2VNRVAvWTVKbVMzZ1RtR0hUdkFuRlZnc0lnZTNBSG04aHhN''@;'; put 'put ''QWZyb0RqQ3J1YkZXMEwwY2hteUdlVG5YandsOWN5TU16eE1TWGdNWlpBRlRmekRUWjZYeWgybDZjTUpCOHRDc05MMW0yUUFDVWJjQWRxWjh4cVBsMWhKejVXeEZObWh0a1lXU0NTUWtWakpIVWpTWkNLd0NjRkd5U2dhSnRMYm5ETDZUTkV2aXQza3F5VjEza2ZPTDBvZnhNZWtqTFBlamsrWHFw''@;'; put 'put ''RERKbE5iV0NFUWo2aXFBTk11eEJwZlpnRzZ0bUFoYW1kenI2ZEdzZ0UvQ042UTVvUVFQWmZrdE8ydWczUTdBbkQyRVJnMm9BZHRBR3lHc3VlbHR0NnFrOVVBYldnazN2R1d6VEdSekM1clhSNDVzMTVESC9Xa2NJWVVhZzdYQWRsNG5WVFU4Qm12QnNtall6SDNibnZjbThjdUxnY0dHNjNvSzla''@;'; put 'put ''V2JXZE05Yy9mTTVveWx5VWk0TDlxczhXN2syR2Jqa1UvTWJjeGdRb3ltV0w0UG8vRnFtUS9leVdnS3EyaHpNOHd4OVBnT01HY1ZHT0NEYTNlQVdjMzFzNEpPY3BnOGphOWZwRGt6Ykt3SW44LzYrN2IwQTZJQ0oxUXd4NUJuTTh6NnJ3SEd4dVlUNGZOWlA3OEY1dDhCcG9UTmgvZXpzdjdaamZN''@;'; put 'put ''QmZxcUZiOTluT1FUbE5MdDhvM1d4b0dkbkRBYVZlV0d4d0k5eVN4bXI4WE5Dc3dMUU5jWjhISUU1VEVtckVrTUEza3FLb1BEeDEzbnkxOERBcjZaNSt0ZXorSmxjQ2hodVdNVCt0VWQ0SXRpTGkvOEFPR0Q1TFV5bXhHV1pjdThXUExHY0RZYW5oTHkzbjlraWR6YkRITU94SFdET0tqQ3d0MS9k''@;'; put 'put ''QWVieUhFd0JlbklIbU5YY1dDdm91VTN5aStaTTNZRmZKUTVRQXJvbmRBakg2b0poNEl4d211WnN1dkdIejcwN2MrNjI3dHZPZGI3NzNCM24zdDNKUG1mZWZRNnhlalVsUjRWV3VkYWpjN0ovNjhJYVVsZGJYbFppMXRHVWJLUVZSanpzcWFCNml1SHBQRzlReklJcDlMamVsZFZ0T0VFRWcwSjlw''@;'; put 'put ''T1RpUjRJNjlYRmZwaENZdlQ0UUNkbkRkbFp4b1dSeGg4QTlUS3N5VUpNaWNya3hENDBqWHU2RlhVbnkxZVRCKzViU3E1R0dJL01OamNEYVRVY2o5VWZtSkZSWmhrZTdzc0RoT0hPNnY2Sk1laUtUSmNVMzlDM2RmOUJYbVZxSjM5Z0h2TzJ0YkZ5UmZqenR3emRURHBmK01IVGRRTU8wWDdxNW51''@;'; put 'put ''S2U1V213Zlc2V2FlSFJMZlN5R2VZWSt2RU9NR2NWR0tDRnorNEFzNXJyWndWOWFqT2ZjMXVaamRVdWovWGN4bjQyNWU4MFpPcUFPclFhckYzV1lmbjRLMWVFQ1pyTDRuSlkzRVZ1YThoYkpQS3NncVFxMnltWXkzWmFlV1pMdHRPWmx0Vk05MHJMOWQ4YmFHL3ZsOVp5c1N2aUpWOERTVFgvbEJI''@;'; put 'put ''c2Rob3VxUWZxcUFBZEFFcE1vTWRFK1hSVHZLRERjdGk2VEU1cVhNMEJxbDdQWjR6MmdEZmdyZk96WTYxY2pGUlVwcHBTY28xU2lsNmdjZWF4bGlPWnpPSG1nKzAwVzNaM2U4dndjRXQ3Sk5uYjA1anNYU2JtcHVsb2RMcnBXTHBpWDNQVGRHeWU1c25PZEVhaTdaMXhtak1LdU9aNUFxOEFydnRB''@;'; put 'put ''dnhQVXU0aTJlUzdBSG54QTlmeWlBby9GV1RYOEM3bm5CUVBxNTgvbCtsK1pVRDBYS25Qd3BoczVuOEp6NFVOZ0gwWlFFbVZ3TjYvcExTc0RMSHM5WUkwNHNWSGZqSFZHQXlHaWpucDJ1aEc1aUhkSEdCT0Z5YjgyYlBONmZwNlBFd0hDb2xXR3EwaVBkS0pldDF4Z0lFcEdma20yMEdRV3FCYlBK''@;'; put 'put ''dzNRY1pzdTJjYU1jeTJ5aGRoa1VnbU16T2FHS04rTUZnNi9aUmRnUmxRMU50YlhJOVNZYWV4cWE2bFAxaWRpVWNCY25UM2dEd1FEUVV2T3JGRFMzTGRrWVBEemlVMEh2aUJ6T25EdXZQRmxmdnFiT1JuMFh0bTdkRUtWbmpIWHZWQVNXRzNiZkNJc2ZhQTNUTE0yZWxyNDJYQkxJdEV5TjVaUDI0''@;'; put 'put ''alhSeEtxazJMcERuK2JQK0JvcXFtTnNieUVUcGFYa0VJUFpjcURXS3RwREJHZE5sVktrSzRFQzZpNEVEYTRBTHhtbld3V0JtaDVBQUZqUVFjY3BXT3N4MHJkZU5MRkFaRENIcXpZZFVFS0MzQTNYUm80NDlzQ3h3cmdqK1RBdFJUM3hoQ3ozaGkzQm5SL291RkdFeVh3RCtiaWxxMkdXM0gzOGE3''@;'; put 'put ''dHNpY0NkWnNOdHhiRDJPbWVMZGtVbkw5NGZnRGwzeUhPMTh2YlBhZDgvUkhWODRzS1BCWVgxZkRQNWZwWm1XSFAxNy9HenV4b1A5L2cvZC9PNFdsUUxLSjZmc3pKNFg4R3o4MnMvMi93L2gva3ozOE16KzJzZnc2L2NpK1BMOUdhcVU3eVRWUUdWdGJlakwySTFRYktscFBEYmpQaW9leGpwZlFZ''@;'; put 'put ''VHduZVd6ZGtsOUpEWHd5YUFKTlY5V053ZDh2THkydkxhd0srVUpEbTJ5c3FXTkcrN2hBMUtVTGNwaUJ5OHFtTzI5by9uKzQ1a3gwOTI5dDJyT2RBYjNqZm1mTEpxb2FsL2dNVlBRVnoxY094Z1hsNjlHSDUxTktlVzRaN3o0NE9YZFUxUGpyUjJCc29yZ3luNjNyTDEzNjJsSTJPMWk4T3g4Y2pG''@;'; put 'put ''RS84VEkvS3kwa3VML2ZtOFQzSzhMZWI0L1gwZHMvcHZqMmdlbjVSZ2NmaUZXcjRGM0xQQy9hcm56K1g2MzlsbWN2ZGJuUkVybXUyZ01YY2xnSHRyRlBPekJFTFRTRU5rUDhza0w5MlNRUysxRTR3ajlCVFZBcmFWWWtrNnFscnJqNUdCOGRRWGFPRXJjR2dweVFRS1BrRnJhWDZsdndML2xLb3RD''@;'; put 'put ''UVlMQ2tOZGMwL3IzeUVPU2xuakc1VWhXcHlOcHNEYkxZd1FMbE5ZSjNwRlpzTm5ncXFwOXZhYkNYYjJXenFBN0x0YkRhdjExdmpyUTdhd3JZTk5wdmFaS01XbThadDV3YWJpeHBzWVFFRVp6ZzRjdVBRWkUvWi9oNWZDQmg2b3I5c2Z5OEl1NS9VeEtLN292ODhFZlhDSi96Qi9ZbWhHMGNpVldP''@;'; put 'put ''aGhTU3djcjEzL0xkeGJQSUFOMzhSMkxrOUtyM2hZZnZHejJqby9zOXh1amlJdG5sTzZlSkRxdWNYRlhnczdsWERQNWZyWjJVM2Y4N1BIbWcvKytWKzdsYWRxL0tjckEvbnoxVzNUWmZiZXJhNlE3cmN0b2V3MjcrV00rZm9JZXpiUElXMS9zOVBZWVhWcmVseU9kdzhKK01HY0RhSlZER1hsbHhj''@;'; put 'put ''NWlqNjJCYS9odHMvZCtYc242T0RhTHVZRGphZyszWm9tN09kc0dHU3k4YlM5VDJDRjJ4Zk4vVFNrV2t0d1VCOVdJZkppQjVNYnRocXNzTEtmZWk5TTBEUFNsbWRIWTBXRnhlWEZwY0dhT3pHNGFWQkJ5MlBvYVg5WVY0S3hsVitJbTBpZ3RlZmlIZTRDOXB6ZFdIRkZlVWxaUmJwemp2dnFtaE5C''@;'; put 'put ''TXQ0aVZpRnU5aGp4WjJzVUV6T085MURlb0JuNlUxQ1QzTUdMUE9BNlZXS2llQ0FxZFZIOUlKZUZESFcxOENVbVdXMjNXdXQvRnJtNFJyb1dkUVRjVldwWkM4QngxcXY1NUZDdDNxSm5rejlWbGhRM0JhNUFkb0VQNSt4MXRiV3Btb2JRd0U3R0UxaHIxRXN5NkVsdFlQTjVMUXFpQXFwTWxoSkQw''@;'; put 'put ''Vlp5WllrMXBXck9lcCtxeVN6VWdTR3kvbzNKclBTL0ZhR3pZL2xrMXBsdi9odTVndUZaRi9vNTF0OEtwN0xTWGwzUU9iZEQ2cmFubFhhWWoxNmJJZTJGK1cyQk92bk9IMnkyalhXTml5M1BiMnR6LzViOGd6QURESVlpOUFCSnJrQllKNFdNQVVDR0RsR0FwVC96bHlPNTdVZ1Qwcmh6V3NYYkJw''@;'; put 'put ''aTBDdW56U0dxVmpBU3RHZ1pOZ2draTE0djU5RFJVeEYrTVFWUENLTFNwM1pIYUNiRmFSTW0xZDFFRVVNYld4UmVzc1VHNER5Y1RpZm44YXFCYVR6UDV2RjRhajAxWVhvaUgvTEx4elgrTFdtZ3lrVWdhSE0yeGJXWkRla1U5OTkvS0NQOVVwMVQwYi8yakNvbjlHT3Q3ZTFyWDkrUVZaR0xvYlhr''@;'; put 'put ''WW1oSDRmOXQ5aHZzdWJ0eTl0elJjYlJkL0EwYjBYZDJhS3ZZZ2dMQWZKSFh5QUhQOTdFN0ZnWXpmVVdnaUsyQU8zNkdUTFA3S2VPSkMwZ1U1WUF5RmZLV0xETWtnREh0V3VYWXplR25WVFpXeW9CS1BhSmY0VE8zekpHcUFzVmh6bFVWVEU1SlR5alZpb3lIbXBtSTRqV0c5S3h5aGVYS2hsQTll''@;'; put 'put ''bWZHUnIyS0VDWmFzQjJJQVd3Qm1nbGZCdlJSRGVhK1JxdlRMTk5ncmJMajh1MDRMR09HU1ErbXJZSUtLRnMvUHJ4ZEM1cW9XaFFPaCt2REVaZlBIbXIwQjFtWVY5eTBJdDJXdEZ2cUd5QTU5ZmJIMmNMY0luVzZnbzBwdU5YZ21VbS9rYjJ1VW5laHNuS2JGYXZ5Y2NFSHcyZDRTdTQyc1ZqOU5y''@;'; put 'put ''SFl6YjZBWHZZRldLMG1vNUZhV1dkOWVVdGJuazlMYVdTRTY2eFRjbHZwWjdUT2s3Y0YyckdRVXNUdmZ3QjR3WThLVVFOcVJmZGtIUFdWUkM4cTVRb0N2UTRFRFhINVVHZWlSeFNDWHJOcXdQbDZYbEhVTG9FYnJkWHkwKzBsZnJydG9aZDZiWVUyWXAzT3l0dWdUUzNBbVk1R2FZUTIyaHB0U1NV''@;'; put 'put ''dERaYUd1aHEvdDZ6VWFhZVIybUt6WXRyUys2aTROZXYrRTlKMmNXVlZWZGdmTURncnExei8vWlladkpOMXZySzJocEpnVGFYTFZUWDZ0dEo1d1pkNkRZaXhpdkUvajFrZlhmL1VscmoyOXdDbWxQRS85N2VPZm96SHRPTHJlOURyd01NT251ZEFzSVBuZ1NoWGVmQWNJSzR6QTE2WGw1WEx5Q2R3''@;'; put 'put ''YVZva3FYRHE2NVJVTGVabEhXZFBxdXNjZ1FMeWtHd3IwTnpaZFJqckJYWVc3YVc1NjA0SDBRaGVKakowcW8yVlRYTkxqcU5ZMGtKVlJXbXgyMlVwMkRZdjFxNU15SzJlMFNINWpIcVl6cXpDYlQ4YzUxUExuMVd2VmNFc3kyTW1IWDU5N1kveU5JRm1hZm5OVS9rekFKQjN4azF4U0paakNuNndO''@;'; put 'put ''bGZIYTkxU3h6dDQrREJOY29MK1pvQUhQZ1M2MEFlMHpuZ0EveXYzbWVGNUJlT05jZm41cDlselZqdkxkSDlVMXYzV0xmd0dISXJyaGZjQXpJUU00MElYT013RkJZYlg0RDZqOUFQOVA4ejBORmJwYWRyUFlRWXpJY09jM3dqRDgvbEpMOUJJQWMzNE5KdU1CbkMxQkQxUnFwRTNGZllXb0FKbnJy''@;'; put 'put ''QlhURkVpU1R0RkorbVZHbmJ0V3JuMTFzVkZzQUVYYXZDSTlQUGVoZDRmeXZVQ1hwYVhuTTBVbUl5aWptcGdmVDR2M1FRZmkrUjZ2bHhhY0w3RXo4TitVdzViNXVlZmRMTDdzekROQzVUSHg5N0pRMk5qaHlieHdScnBKYXdMTDRUeG5QU0RtdHlaeVUzS21Rbmc4UmZiNFJwODlsZGtuNTNhV2Zk''@;'; put 'put ''eld3bjI3MkcycjNGWnR2SFk2aEE4dHhLckFnODRmU0ZuV3ozTVpIQmNsc0dmMzJHc2k3bjRnUDQ0VXAyVHRPVE9TWTZpcDdiWVpkeHZ2aXZuNHg5ZFFOdWQ1K0RDeldjc2N0dXBmUHdCRjE0bTU2R0NzSDRWOXQ2R3l1bTVmZTUyQVQzSlhTOWdvS1hVU3E0WTg5VEs3V1V1QjhzcjVZcTlKSDlj''@;'; put 'put ''bkV1dWNHSnIzZ3pxNDZwOTdma0Q5eDg4ZFA4UzZaSEVZWHAwZWJxUEsvZTVqeTh1M2J1MEtKbnhmdzJjSFJpNGt0OUZDSE1XL2gzME8xMVhDNXJLVExxeFhtY2d0QUNaaFFlQWhqUmF2V2JaYkNBNm5SSUtNSWxHUVJVTVNDYjlmb1NTTGNubXBwUS80WS9YMVVCM1huc2dGQWdXd0x3M2hsSHpN''@;'; put 'put ''bDZsdGpXYmJEcFpoUXRsUEg3YWV6b1lQTk16ek5LYmUwNEhBeWU3RlRVdVhhUEtjOGJYYnFpcjZXeEtkZkhNNTQ3R1ZEdlQ1MFNkL0l5dnBKcGQxdXZIMmQ2bVpQcjk0aGE2NERtM2RHK25lV3d1Szl0K1FLZkhHZjJtWkRxOXlPR2xuOUVjWFJtZVBvL21iSWpqakg1VE12M2V2TzFZWnhqOVRu''@;'; put 'put ''UDZ0Zkd4V08wem0yZVRQTStQYktGOW5xdEw1em5ENTNrRXlYWFRuYXh1dWd2OWQ4WVZqNVdYYVhUNkVxekJ4WVZFMEJTQXVhRFpQbGNBek04bDBQa3U3dmRwOGRaVGY5czJ1UUp2M1dyYlhJRzNhclpqcnNBMkRYbXVnRGtZOGRQMEhLL1ZBRjdGSlVMTm9iZFJIazdhcnIxaW02Q3orMzJybHlv''@;'; put 'put ''WlAzNVN0em4yYkR4MHlSSnllYjlZem5VSFdnZmpDb3U2V0FYUml1WEFrNlcwNEZDOWM2SzhjNUdOT3llS3VpVkVLekJRUGlLMEpjbWpmdFBHdldXanlpMjdEYnZ3RnEzWUVlTjIyN2ExSGQ4MVU2QzJtbTJhSHZ5WlM1MFA0TGZLTE1jdkhoemZMc0VqdmhUZU1kMTgxNHgyYzVhSE5seTVjLzY1''@;'; put 'put ''aWpmUEtyd0pmTDI0QTI5ZVZIZ1Q2K3M0YjlZQWI5SzdBcXJRRnpNV054YVF5d3pLd0VUdklwUzNGZ0ExN0tTR25ueVNHMmlRVDA0ek11Z0pzL08ySE5oRWFCTU5QWWg1TzIweU5adkE1V09iTGEwME5KWUlKaDVNdG9vNjdIU2JxTmZwRlhmWUkrckkwenNPOEQ3NzFuM3dPT205QjV1eTRIcHkx''@;'; put 'put ''eUN3dlA1T2x0ZmZnTDZXS2E3QmVxSFdTUXg2QnlhR1hGS2ZOa2YvV28zMlZpT0dpV0xEU1ZCY2dHRmFVeWdJbWdVZHJ5emt1WHZJZ3hRczFlZmI2QTNrcHJkcWxLbmRIcDZsQnFJanFtWUN4Uk9WMncyb25oVWJ1QUZUTkxLaDJZR1N0eFlndUNuaDQvZ1cyazIwNTJzU0FtWFZSWnV6Q0p2MW8y''@;'; put 'put ''bDFtVUtmMnhoZzlNZnVwR0EwbXBacDlJb3ROT29GRzBaZ3R1d3N0MlhKeEJaN2wrY2h0T1R5RUk1dW80ZDRyUHl1WEt6ODZBaFM1VEM4bk10ek1LRy8zNUxEd05xeTgyMFdsd2VZbTdmTG93QWI3QlBidG0zUHgvcHg0VzRrMzZleGg5Mm5FYURuTTA0UVJ3V3dyWVZBNHN4Tmx0TlA4bkgxdk5N''@;'; put 'put ''RUxRS0JZbi9Rd2U4bll0a0VtOElRbTY3ZklQZU0zamF0dCtWaUQ0NGoxOG4zY0pEejdOWU5TNmtjYlBCNTNQZWNWRi9Ld2VjNkFIT2RBNy9JajI3aVV0cFNySWRORVRFVy9GaUg2WmxORVh2aVo1RnI0RkU4TEFkN3krUktGMXBac2sxOHQwcCtUV082dWVxVGpTRmRZNENXdUlXOW9pckV2YlVT''@;'; put 'put ''SlptTDRwSTVGa1JTMTZVY3pydXZ3YkxOQlNxS2t3aDd4ZTRLWWZUWXluTmU4TmdXT3VLMUtGUm03bVcwSUtMdnFQSmN6aXA1THZEODNWdmE4ck9IaThyWkF4Ym5rYXJ0YWk1SFpnWGRzSVdPMkIwZWpOWTZaRnRyUzU2YlhQOUJhVzJCMjFyeWVTTnZ1NnEwQmQvMzJ6dTBmVTV1UytPQkgxYTFQ''@;'; put 'put ''WnRycTBkbmQyaDdVUmtYNjlzWTNiQzZXdXBQRjlJNEJNMUlwelU3TEE3QkNtRElBV3E5ZXhoUkY2SUNlMEM1N2twVkRtdklsOEYrZmt2dEs4MGJQMHd1dnMyN1BOejBMby9Qeks3Mmo0LzFrWXQzN3Q2OWZSKzUraVNDYmdXZU95MVhKOGw5cEpPaXY2dHZiTHgvZFpaYzNMMzdUcm1QRVh3RmVR''@;'; put 'put ''NzJVYzdHTnhLYWp6OWlBQlU1dEYzK2VBRXlCNFZjTnI0Y2NtSk95Y1BqbFkyT1ZHbHB5dEZZTVZGTFJxb3FVZzZYeTVHcXFHTGpUS0tIV0t3bHhNYTVaRzc2NWt4L0picy9IeW1SYXdsR3NFT29aTFVFemF4WGVtOE96YVpmMVdJQk9IdzJWd1FxdksyS0F2WDk5VGQxZFVVaW5aMFJlb0U2L1NJ''@;'; put 'put ''ai9QZElWNEkvY1B0NGp2d2VRTG9iV1ZFcm0wRzBFQlpqb2RReW9tV1ZBT3hXR01EcExKT0VBbjB6d2F1bUFpNk5YRlVnMzhPdUNqTGYwRkhoN3M4RmxoOWhVU0czSEZMbWQ3bVRkbnc3ZVFGRzdtSGpwcDNRczRGVmFUa3dIdEpqWVpBZW1KTlpxazZCZmxlVkt6U0lNTUdNUXhmb1VLMU1ISWlh''@;'; put 'put ''Zk1vVnkvU0dkSzR5L2JqQVYyeDFtK3h1YmJwbzJzaysyOXk2dEdXR2ROcXNCUVVWWHNNNytFLzlEWHcvdXZCL3NGb0lFWlh5aWdFdElHZUl1cmFuN2JaY0RZVmI5QWZsb2dpY1BmQ0JRZktLNDVZUE9kN0orSzVYK3RuNmsrdGZBcVlLc0I1SytGM2tHK3UwQXJtK3hJMlhrbC9nZ1UxUFZWVjRu''@;'; put 'put ''UWN0V1FBekp4OXZVdVFqNnNWMU84akhWeFQ1aUhyUjR3aHQwL1lZZnZvdDJ4N0RYYXEycTdtMks3aC9pM3prYlovTHRWMUJYK2YrN2ZvZ1BjOVFuNFc4K1R0dVA3ejVPOWwraUFCTW1QbkdRekxNMHd5R3FHQjRyUDN5WEQ4RlFBM2J4OXBmeU1YYUM4YlF0am1RdmVpOU8raUdWM0xuMHIwSHVP''@;'; put 'put ''NXRSUDlHVExqanJlK0JmMVdxd1IxelNodWgvVzIwRWZSdi9sNXAwNDAvZ3k2U3p3TE5sREY2R2RwY0VNZnB4YTdFeTNsczlvWDhCZmJrOWcwMzJEUGJCMzhXZlpzOENDdTJBQVppdkxhTnhISzFiVEFtL21zMlpqbTkwYW04RU9oOFF5R1R3SVJhb0RoZ1l6ZEliUnhidStOVXNHNkhhVldwUHZQ''@;'; put 'put ''NTRVZklnMFZoUGo4MnozK0dlZHB5ODZSa29reVlZdkZodkF2V1pObXBMb2pXeGJPNm9FMTE4WSszK256d3I0WCtleGcrZWVudlh2akE4ZFFMZFBOT2RCM3NQVGd5Ulg3NC9zK01ocTNBSXdqa1FHVDlkNW96cXIrUDBnWFVPSXQreWZNYzR4YXNMZVIvdmtTUGRXWnNOT21NNmo5NVlpK3dDU2FU''@;'; put 'put ''c0dRMUZJa2E5VjlLU2IxRlEvWlhUM2hya2JZVzVMK1gwckp0dTIzK1lzcVd0dUNCTkkyT1pqTEtYMDRablIyZDJiMHJrODJNRFBURnVtS2R6VTNiL2hVVngvL2dyNmhVYmZvOW9JS3RhdnFULzhJS0hza3F2NHhFcGZQSzMxdjVLL29oOGFmODRaWDg1NG1HM0I5aHlmOHhGZ3pXZlJLWDRMK2pO''@;'; put 'put ''K1k4QVFaenJLNEx1d0YzZ2Z0MjMzMzM3amRmdEQ5eHdjRnJXUUd1UW9FVEdGdzQ3UlpyUC9qQjNaLys5T0NGSit3dnZzeDB3Uy9rTzNTamFDSXpXdVloR25ySGdJbFo2UnBRY09CYkx4c3dNV0pzb3JVT3VSb1hNMHRPNVJFUStCNUZEWkc2MmhxckxRak9vTlVlTEtEQnE5eEZRMkh3RkZubVNT''@;'; put 'put ''clpTZktWbFRSaERKRHM5cktRS2l0dlNkdzZOUGFlRmZmTUlORU03eTladm0xRUxta1p1TmFMSzZXWFlDR3QwdmNyYnNwT3NtdDN1NjhlN0M4dUFDWGVlMWs3SzJnWjYrb3ZLN0hiK2dkbVpabmxKUTU4UGNnNTNST0UxaERZYzdkN1gwL3Y5V2FHREpneUFraGRyOVZMaExVMStwWExYV2lSNzJM''@;'; put 'put ''UVAxVmlMOUNTMkRaM1BXMjlLNkhsOENYdVN2amozaDJ2U3BCajlpMVV4dU9ZZk9idytWd3N2NFhxTHZaY2RjN0tubC9NUFJldlE5dkJvNVdyMU0vei9mZktmaXAvZmxjTy91Z3g1VDZLUGVSZGdBTXZpZ01PcW4wMkREalk3R01waU1oN1dJSE5LSGtYODdqVWFKRTlybldrUWc5M3Y5UUlrbDJ2''@;'; put 'put ''ZXpmblByRDVVbiticndQODdVK3AxdkZDRGg4RlIzTTUvT2c4dTNOR29ZT2sxVCttM0I2RGFkNGJ2TmR1ZmE5ZG0wRC9ENUQ4RWlJQUFBQUFBUUFBQUFFQUFBOENHK3hmRHp6MUFCOEQ2QUFBQUFEVHdaMkdBQUFBQU5TK3BPdi9RLzdvQkhVRHlRQUFBQWdBQWdBQUFBQUFBSGphWTJCa1lHQSsr''@;'; put 'put ''ZThLQXdQTG92L08veXRZU2htQUlzaUEwUkFBcGZJR3F3QUFBSGphZFpRL2FKTlJGTVhQdlY4R1JSeXNXRkZzYXpIV0prU2ExdGhxd2NZMHhWU1RTRnRyZzBJWGNWQVJzYUNwNHVKU3NRNHU0dVJrRUYwczZ1Ulcvd3ppNEs2VE9FbFVXbWdvV0FyMTg5eG5JakdKQ1ljZmVmbmVlL2VlZDc0bnk1''@;'; put 'put ''Z0VQNUtsV3FrZHlNaHJER2tCUWIySURpK01pRDdFYnF4Z1NDNmhud3JMZmV6WGNTU2tDVWRrQ2pGWmo2UTg4eGYwSlhvbGoyYisxNldqMktYVDFDUzZOWTllUFlVK1BjdnhQUHJjODV5ckdZNXhIZktZckdLck44VzlTdGl1ejVIVE9VUjFsYnlHdEo2bml2ejlFV21zSWFPdDJNS2FKblFmQnIz''@;'; put 'put ''VHlIa2VGZUwvczBnNzN1UHpyRjJ2STZRTEdMRTFBd2ZRcHZQVUUyelVXNnp6Q282ejVoV3lTNzZoUjBmOFh6S0J1QjdHWHAxQlZuZXlsaG11TllhSW5FTzczbVR0T1F4akNZZXc1TC9YVHFSUXdyQjNCeWtiWjUwUk40OXpaQlpaS2FGRGJuQmVqbjBtME93Tm9VVWo3RzBjMjNRZGV1UXVPcVVG''@;'; put 'put ''Rjhpd3ZNSkI4OTN0T1kyWTFTZ3ZXRXNiUWp5THVLdnJOb0w0aVFFWmNPTlIrclhIZWRWQWdTYlMvRFB2cW9RMS80UDVSeTVTWDczTkNGZThxNVVHa1hFMC82cGwvdEZubmxuV2VkVkEzanhwdll6OUsvcjJqdjZseUNMMVJhL3kvQ3ZlMWNweVlUVC9xbVgrbWM5RzY5ZjJyS1gxYnZ0WGFEbml1''@;'; put 'put ''VmkvK3FEc3k1amJwekV0YTNiZVpkS3J6NnozRTczckpuM3lxUFhoTXNnY1dBNHRDMzk1QnUweWlIYnoxdnFyWThqVkVLa3dzQUhSd0NidXk5eGFkdXJJTEZ1ZTZzaDh1NHhWYU9kakh2Mkg5ZzY0SE5vWm1uL2xkOEh5V0V2THVCU1lQZE5UeFBHZFBFRWxxRGZvMXpESDRDY3JhOWF5enRQeW5y''@;'; put 'put ''SU1lTVUvOXcxV3FjZUF4aEh6THZNZWFTcmZLWXZrSXZrSUovVXQ3d3JlUzRFQzM4TWtnbFJZNS93ZkxoOGU1L0pjRzN5enlQNEdqNWZ3dEFCNDJrWENYVWdhY1FBQWNMdXVNNzh1TXp2UDIzbWZlcDk1bnYvejdrRWlRaUpDSXFJbmllSERpQmd4WXNTSWlJZ3h4aDVHUkVRUEVTSVJzWWM5REFt''@;'; put 'put ''SkVTRWo5aEFqSWtSaWpKQWhFaElpTVVhSWpOakxZUHgrTnB0dDhaKzg3V09YclNzTFVkQTJWSVRLMEgzM1h2ZFpkd09HNERBOERMK0ZEK0ZhejJqUFVrOEpZWkFVVXJSajlobjduSDNWbnJjWGUrSGV1c1B2V0hBVUhBMG43a3c1dDUwbFo4V0Z1SUJyeHJYbU9uRGR1Y1B1ZGZlcHgrdlJQZk9l''@;'; put 'put ''RGMrSnA0R2lhQko5aWk2aE8rZ3hXa0ZiZmMvN0hyMFQzbXEvM3YvR1ovTmxmWG5mbjRHeGdaY0RGVC9sbi9lWEIwY0dsd2ZQTVJpYndoYXhISFllZ0FKYVlDV3dIYmdKTkhFS1g4Q1A4WWRnSWpnYXpBWlhnaCtDRjRSR0pJa05JazhVaURPaVF0d1M3U2VqcEpma3lBUTVUbWJJQlhLTjNDVDN5''@;'; put 'put ''U2I1R1BLR3VGQWlOQjdLaEpZcG1NSW9pVXBTazFTV3l0RVFqZElFTGRDQUhxSFRUSnBwTVIwV1lYMHN4U3FzeGFiWUtiYkVmbU92MlJyYllqc2N3azF6MTF5TmEzRWRIdUY5L0E2L3p4L3hKZjZLdndrcjRYSzRIcjZQUUJFMHdrUkFKQmxwUkRvQ0l1QkNXSGdsZEVTM2lJdUthSWtwc1NGMkpF''@;'; put 'put ''UWFscmFrQSttejlGVzZrbXJTYnhtUmNYbENmaWZ2eW9keVFUNlZMK1VmY2xOdUswNEZVK2FVVzZXdHdxcFhKVlZOVGFxVGFtWklqL1pHaWFnUUxXcXoyZ3R0WGR2U2N0b243VVM3MEw3SHROaEJyQmo3RWl2SHFyRjdIZEpSbmRHSDlCRTlyYS9xT2Iyay80cVQ4V3g4TDE0SENBQmdERXlEWjJB''@;'; put 'put ''UnZBWWJJQThLNEF4Y2dwK2crWitCR0l5Uk5tYU5QZVBJcUJvdG81V29KOXFtMjF3MTM1dTdadG1zbW5mbWd3VlpxRVZZODlhU3RXNXRXdm0vYW16QVRRQUFBUUFBQVR3QVlnQUtBRDhBQkFBQ0FDZ0FPUUNMQUFBQWtBRkJBQU1BQVhqYWhaTE5Uc0pBRklWUEN4cUloS0F4THJwcVhMaVR2eWdZ''@;'; put 'put ''WEdyY0NHb2tscDBKU0FWaXNkQVdFMS9GTnpEeFFmeDVBamMrZzB1WG5nNjNDQVlsazJhK21YdnV1VE8zQTJBTkg0aEJpeWNCSFBJYnM0Wk5yc2FzSTQxcjRSajJFQWpIVWNTVDhCS01pYzh5YzcrRUV5aHFobkFTaGxZVlhzR09Gbm1tWUdrUHdobXNhNS9DcTBqcGNlRm5iT2daNFJmazlTM2hW''@;'; put 'put ''eVIwUy9nTmFmMXl6Tzh4R0xxREE3Z1k0QjRlZXVpZ3k1T2JlT1JYUkI0RmxFZ3RSazNxdWtyamsrdWMrOHp5bVh1TExHcXdtZWNwSnhlT3FNTGRObmxFN1RtNVEzTFFwSzdBbkx3YSs3akFNUm80SWMxejJaNXhXVnpIL0ZYSjRzcWpxcWRPYWs1Vlhsek40bnhGalV0VjJJRlRPdGhUOVpya004''@;'; put 'put ''YkRXSlZ6KzU4ZWhYME51S29neDNFMzQrd3EzLzdFTmN1WXkzV1U0MHRXaDlHQXV5UCtrVWlUNHh6VjdLdDcvdFRNemIzalgzdlJyUnZrRnQ5eTZCQk1PbGFUL2gycHFNbFJVckV5ejFaZ3ZJSmR2cGpvMVpSeFE1M05DZ1BwdjAxdm45bVJheDFEN3ZRWTh4aHp2Z0hGZllWakFBQUFlTnB0azFk''@;'; put 'put ''c0hGVVVoci9mc1hmZE5rN3Z2VmZIWHZmRUtTNXJ4N0ZqSnk1eDdNUkp4cnRqWi9GNkY4YTdjV3k2QkFJZVFQRENNK1VKRUwwS0pIaEFvbGZSZXdmUmVhUUg3OXdKWGlUdXczei9HWjN6bnpQMzNpRUxkNTBiWUI3L3MxU2JmcERGRExMSndZZWZYUExJcDRCQ0FzeWtpRm5NWmc1enArcm5zNENG''@;'; put 'put ''TEdJeFMxaktNcGF6Z3BXc1lqVnJXTXM2MXJPQmpXeGlNMXZZeWphMlU4d09TaWdsU0JubFZGQkpGZFhVc0pOZDFMS2JQZXhsSDNYVTAwQWpJWnBvWmo4dEhLQ1ZOZzdTVGdlSE9Fd25YWFRUd3hGNk9Vb2YvUnpqT0FPYzRDU25zTGlkcTdpYW03bUJPM2lmNjdtV3AvbVlPN21OdTNtZVo3bUhR''@;'; put 'put ''Y0xjU0lRWHNYbU9GM2lWbDNpWlYvaVdJZDdnTlY3blhvYjVoWnQ0bXpkNWk5Tjh6NDljeHdWRUdXR1VHSEZ1SWNGRlhJakRHQ21TbkdHYzd6akxKQk5jektWY3dtUGN5dVZjeGhWY3lRLzh4T1BLMGd4bEswYysrZm1MdnprbmxLczg1VXNxVUtFQ21xa2l6ZEpzemVGWGZ0TmN6ZE44TGRCQ0xl''@;'; put 'put ''SjMzdEZpTGRGU0xkTnlyZUJ6dnRCS3JkSnFyZEZhcmRONmJkQkdiZUkrN3RkbWJkRldiZE4yRld1SFN2aURQL21TcjFTcW9NcFVyZ3BWcWtyVnF0Rk83Vkt0ZG11UDltb2ZUNmhPOVdwUUkxL3pqVUs4eTJkOHdJZDh4S2U4eHlkcVVyUDJxMFVIMUtvMkhWUzdPblJJaDlXcExuV3JSMGZVeXdN''@;'; put 'put ''OHlDTTh5a004ekRYY3BhTTh3NU04cFQ1K1ZyK082YmdHZEVJbmRVcVdCaFZXUkxhRy9IV2pWdGhKeFAyV29hOXUwTEhQMkQ3TGhiOHVNWnlJMnlOK3k5RFhHTGJTU1JHRHhxa0tLK2tQZVJhMllYNG9ra2hhNGJBZFQrYmIvMHAveUxPeVBhdVE4YkJkRkRhSEU2T2psa2t0SE00SS9DMmVlOVJq''@;'; put 'put ''aStjVE5TeHN6YXdjeVFoOGJWWTRsYlI5TVlNMjB5OW0wRzVleGwwVXRtZDZ4RE05MmsxNjNJVy93NXNoWVJqb09KMktEMXRPYWpSbXBaS0JSR2JrNnpRZEhOT2hNN09EazltaDAzUndETHBNMVpnTGZ5b2VMU210REhvczgzV2JwS1NacHNlYkptV1kwK05FNDhNNXFmUXowUE9meVZLWmtiL0gy''@;'; put 'put ''OEdVWVVGdk9PcUVVNk5ETWZ0c3dYaUc3c3ZRRTlQYTEyOW1uSFNSM3o5OTJwUFRwNTJlT0ZoVzViSXNXT25ySFhhc3FXczFidEJySE1aZDVQVkdvclpqajBYSDhzYlBxM1JkYWFpKzJtT054d2FQamI0K1l6VGhJdjAyV0ZJUzlGam1zZHhqaGNkS3cyQlRkaWpsSk55Z29xa2h4eXEyWXNsOHk1''@;'; put 'put ''M0ZTUGZ1cDJXUk5mM1o2VGhnblIvUUpMcmQwN0xBKzMyTU52dWExbmxXK2pSTWNqSWFpN2pKdWRiWTFCNUZiQ2N2WW52cUg3ZGx0eUVBQUFCNDJtUHczc0Z3SWloaUl5TmpYK1FHeHAwY0RCd015UVViR2RpZE5ra3lNbWlCR0p0NU9CZzVJQ3d4TmpDTHcya1hzd01ESXdNbmtNM3B0SXNCeW1a''@;'; put 'put ''bWNObW93dGdSR0xIQm9TTmlJM09LeTBZMUVHOFhSd01ESTR0RFIzSklCRWhKSkJCczV1Tmc1Tkhhd2ZpL2RRTkw3MFltQnBmTnJDbHNEQzR1QVA0Y0pXQUFBQUFBQVZpWTlHd0FBQT09KSBmb3JtYXQoIndvZmYiKTtmb250LXdlaWdodDo1MDA7Zm9udC1zdHlsZTpub3JtYWx9QGZvbnQtZmFj''@;'; put 'put ''ZXtmb250LWZhbWlseTpNZXRyb3BvbGlzO3NyYzp1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUZhRUFCTUFBQUFBb3VBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUJxQUFBQUJ3QUFBQWNmTkg1''@;'; put 'put ''NWtkRVJVWUFBQUhFQUFBQVRRQUFBR0lIMVFmOFIxQlBVd0FBQWhRQUFBY1lBQUFPZGtEQ2ZwWkhVMVZDQUFBSkxBQUFBQ0FBQUFBZ1JIWk1kVTlUTHpJQUFBbE1BQUFBVFFBQUFHQnBFcThKWTIxaGNBQUFDWndBQUFKc0FBQURubmRERDdGamRuUWdBQUFNQ0FBQUFEQUFBQUE4RWhFQjhXWnda''@;'; put 'put ''MjBBQUF3NEFBQUdPZ0FBRFJaMlpIMTJaMkZ6Y0FBQUVuUUFBQUFJQUFBQUNBQUFBQkJuYkhsbUFBQVNmQUFBT013QUFHOGtIZDdZbDJobFlXUUFBRXRJQUFBQU5nQUFBRFlMYzRnUmFHaGxZUUFBUzRBQUFBQWhBQUFBSkFlUkJDQm9iWFI0QUFCTHBBQUFBb3dBQUFUYXVZNDBKMnh2WTJFQUFF''@;'; put 'put ''NHdBQUFDZEFBQUFuclUrN24yYldGNGNBQUFVS1FBQUFBZ0FBQUFJQUtVQTFCdVlXMWxBQUJReEFBQUFZNEFBQU42TWdpSVduQnZjM1FBQUZKVUFBQURvUUFBQmlHWEZqMktjSEpsY0FBQVZmZ0FBQUNCQUFBQWpSbFFBaEIzWldKbUFBQldmQUFBQUFZQUFBQUc5bmhZbUFBQUFBRUFBQUFBMUZH''@;'; put 'put ''MWFnQUFBQURUd1oyR0FBQUFBTlMrcHZWNDJnMk1RUXFFUUJERUVrZjBNTFBvZjd5cEwvRG9mWGZWL3ovQUlnUkMwVFFDTFI2Y2RGUmtqVnNvN0h6VHYxRDRCN200MDQ4RE9sb3BObHY2NDVTZVhYTFQ1MXNYelNhK1czQUYzQUFBQUhqYWpWY05iSmJWRlg3T3VmZStYL3NWYWlubFIrZ1lJWVFo''@;'; put 'put ''YVRvZ1RKUWdHa1k2MHhSVXhsdzFhTGJwbklNaGpESENOdWNLYzJBV0Fwcy9YU1VMUSsxMGtncXNDbmJXa1lZd1J0eENaQkxEb0RBR0ZhcHhNb1F0QnBWM3ozdmVEL3ZXdHRNKzZkUFRjKzk3MzN2T2VlNTM3Z2NCa01jNDFFTG0xTlF0UUJFOFBZaGpPUDRSS056aWJ5Ni9EeFZMdnI1OE1TcVhM''@;'; put 'put ''RjZ5bUxOQmZ6S2F6a2pZOGJrOGhtTU1KcGpIWVR6cVhFczZHaTJ6VlNYYWdJZ1B5ZUFWZkdLVStRSXFQb0tnSnQ1QURwaUo5ZmdRc1l5Q2NodWNKeU9sRXlVWXhKMmRqVHZpWitQRDhURU04Qk9mRzNEa1VML2VMbFQyK3YrdCtKRUJWM2h6d0pHakE0L0Urd1lZZVRZK0hyY24rSmovTUgvL2tx''@;'; put 'put ''RHYyK1BYNG8zeFJ1WjFMRE05Z2RuNkhLR29KaHcrVDNoTUpRSytRRVNZVHVSd0xWR0VHVVF4Y3p1VGxWcEpDRmJqWjV5NWpnak0rSHI2ZHhLQ0Z3bkJId2pGUWNMak5jTGpHQkZ3aW9qd0JoSGhEQkhoTEpIRE9TS0g5NGxpVnU5RHJoWVRlU21UTWhSTHVaU1RLNlNDUElxVnpYUHR5VlRKZUQ0''@;'; put 'put ''emlSRGJkN3BqdFIwNzI3RzNIUWZNSVlwUVF4VGpSaUtQK1VRSmx1TDdYQ0dKSkxKSUlvc2tZQ01lNC94R29oaS93aWJPZndLLzVmeG5pQkpzSjNMWVFSVGg5MFFPclVRUm5pZHllSUVvd2k2aUdHMUVNWFlUZVhRUWVld2g4dGhMNVBFblF2Qm5RaXc3RVk0VEpmZ25rZVpGTFM5cWVmR1dsMkI1''@;'; put 'put ''Q1pZWGIzbnhsaGN2STJRRTgzV2xYRWxPY2hTNGFqVXpOSUUxcm1adHA3S20wNW1aR2N6SVVpekRkN0VjMzhNSzFuSTExdUNuZUpCWldNZm90ek9pNTFuSkYxbkJnNnpjTVZic0RWYnFMSGZ5dnAyc01yNjNJamxmK29DZHczMnluSEVQcHI3YXFidU44WC82VWF1TjhPK1pBVWZlSkM3MDgrVDVU''@;'; put 'put ''enBQY1dmOHIvZ2Y4U005Snk5NzB1SXo4ZFo0NjBmL2RXZWZ0MmVVSnpqUmhKZ21GRjhoSEc0alBHNG5BaFlTRVJYeEdPY2thaEJUZzVvYUZDMUVoRzFFWkpVV3E3UllwY1VxTFZaWFJSZmhjSnB3NkNZY1BpQUNMaEdSREpFaHJPdFFHVW9lSnNQSVNVWEZLaW95V2taemZVVVZyaUJLTUlRWVpF''@;'; put 'put ''b1hVN3FhMGwxQjZWOGlza3IzRmsrVWlTZG5TbmNGcGZkbzNGdFUzcUxLV1ZTWGxaNXFQRlgzUzhUQXVrNmk5YVpaTFVTWUtOZFpuRG5UcnpQOWFpSG1STVZhaUR6UnNtYml6eXJhV1JaeU1sbXU1ZHVUVDY4YVJqaWY5YnFOY1Mxa0pJMk1wQW1QTTVvbjhDU2VRak1qZW9hUmJPTnBiT051Tzdq''@;'; put 'put ''THZkeGRGMnZReloxZDRnNkc4bTBqK0piUlhIR002VmxSYWgybFBQNEo3WExNdy9XMHhPenIyWWs2b3pIa2s4ei9IbGtyNitWaGFaTE4waXhiWllmc2twZGxqK3lYQTNKSWpzZ0pPUzF2eTd2eW5seFNyM2t0MCtGYXFlTjBvbGJyTkoyaE4yaU4xdWw4cmRjNzlXNWRwTXQwcGQ2dmEvUWgzYUNQ''@;'; put 'put ''NmliZG9rOXJpN1pxbSs3V3ZmcUt2cXF2YTZlZTFHNTlSeS9vUlFjWHVVR3UzSTEwWTl4NE44bE5kbGU3bVc2MnU5SE5jd3ZjN2U1cjdoNzNIYmZjclhJUHVBZmR6OTB2WEtQN3RYdlMvYzV0Y3krNGwxeUgyK2YrNnY3bURydmpyc3U5NWY3dC91cys4T3FMZkttdjhLUDhXRC9CVi9tcC9oby95''@;'; put 'put ''OC94dGY1bWY2dGY2TC9oNy9YMytSWCtoNzdCci9Yci9jTyt5Vy8yelg2cjMrRjMrWmY5SHIvZkgvQ0gvQkYvd3AvMmIvdDMvWHYrVXZBaEg4ckM4RkFaeG9XSm9UcE1DelBDRGFFbTFJWDVvVDdjR2U0T2k4S3lzRExjSDlhRWg4S0c4R2pZRkxhRXAwTkxhQTF0WVhmWUcxNEpyNGJYUTJjNEdi''@;'; put 'put ''ckRPK0ZDdUJnaGlxSkJQQjJyZER1NXdYaTJjYTF4VThKWVo5eHFualhHalJtK3hYaUs4U3hqVzQxMVN1ejZ6R3FUbEorcGNwVnh0ZkhjaExIYWVLZTJreHZNZjEwUDQ1VHh4Y3hUemNaVnhxWEd0N2hGNUJialZmMnpuc3ZFV0d2K1BvdzdqTnVOMS9XdzNKWEdidllTNC8zR2pYMDV6Y0FBTzZr''@;'; put 'put ''M25xUWRuOFQ2eTE2NTZ1aVA4VlhqbmNhcmU1aDUrelQ4ZjFabWJudDRWV2JQdmV4TVRSdk1mNVg1cy9ac3krRnZ6TDRyay9uMExiMXNHMDNybS9VM21UMDN0VzFPcXBtME9tblVxVDRMZHNHZnpHazFlNmRiZVZtOUJZMTFtbjAwc1FzMVRYT1NhanZOVE5iZm1MRVBtZDFnTlRwcU9qL1ZvMEJx''@;'; put 'put ''dGVQeWlVQmYveFN6TDZhMnpVbFZuZlduSjJoV1JqUFZtY3luOWc2ekYyV3FZSG5UU3ZNM216OVZXbFhHVHJOYW1zbDhYL3U4MlQreTZHNHkrKzltWjFldWpiY2xLOGZQZmF4UzJUZk9MWnp1amsvQnZXY3FQbXYzVXZEZU5aRlpTVzZubmwyN2lsMHd1V0ZIbU1LYldBN1RjQTE3V05LNVM5bTNy''@;'; put 'put ''Mk5QVHpyM0VMdWpsbHZuSHNydlZiWHNRM1hFTU56RVBqZWNuZTVXZnZlcEp5cXRsMytHWGU4T2RxMmx2THVOdGR2YmRIYjB6Vnh2Q3p2ZlhPdDlYMmIzYTJlSC9DTU80RnU4MFozRkQreFcyWVR6RXZBNE8vRm90RmhQYmVOK1JhNnc3MllSSkY1aEttekFQZVMxN0hZbEdNbDNqV2RFazNFMWR6''@;'; put 'put ''MmJ1NXlIQlJ3OWFOcnRNajV0YkdjR1J6SjgxUGpIeHM4Wm43Q3NqVE83QkYva2UrN0Z0eVVuUlZJc2VTbVJ3VkxhZDBmL0EzSUZvYmNBQVFBQUFBb0FIQUFlQUFGRVJreFVBQWdBQkFBQUFBRC8vd0FBQUFBQUFIamFZMkJtOG1XS1lHQmxZR0hxQXRJTURONFFtakdPUVlUUkRNaG5ZR2VBQXlR''@;'; put 'put ''bUEwT29kN2dmZ3dPRGd1b2ZadW4veGd3TXpPY1lEUlVZR0NhRDVKaFltZFlES1FVR0pnQzhpUW9yQUFBQWVOcTFrMWxRamxFY3huLy90MzBSS2hUMTl2WnAwMGFpRkVYMnBjaStsS3pac3EvWkd1c1FRMFZTeUo0a294a1RVMU8yRys2NE5XT012cytWVys0TUhjZFhURFBNdUhKbTNuUGVjODZj''@;'; put 'put ''NTV4NW50OGZjS0hyQzBGMGoxVHFtVGpucmxLc3h5V013NDJCbEhDTE91N1NTQlBOdE5BbUhoSWdneVJNQmt1Y0pFbXFwRXVtVEpVY3laTkNLWklTSTlWNFpieDNpVEtQbTYzbUUvT0w1VzRGV3NGV3FHV3pvcXhoVnJwMTMrWWYrVTBwZllmRmpSN2FqMm5qbWZoS2Z6SEZKckdTS0NtU0pobVNK''@;'; put 'put ''ZG1TS3dXeVFUWnI3WmZHVzYxOXlHd3gyODNQbG1FRldFRldpRk43cUpYMlMxdDlWQy9VYy9WVXRhdFc5VWcxcTRlcVNUV3FCbFd2NnRRMVZhdHFWTFdxVXBXcVFwV3BNNnBVbmVoODA1blZtZlQ5azZQY1VlRElkOFRZQjlyOTdENTJMN3ViM2VqNDJ2RzU0L0NIa0hmSlhWNzlwK1p1ZUR1VDRJ''@;'; put 'put ''OWJCS1A3ei9pSFJ0ZEpGMXgxZHU1NDRJa1gzdmpnU3kvODZFMGYrdUpQQUlIMG96OERDQ0pZWnp4SXB4NktTWmhPSkJ3Ymc0a2draWlpaVdFSXNjUVJUd0tKREdVWVNRd25tUkdNSklWVVJwRkdPcU1aUXdhWmpOWE1aREdlQ1V4a0VwT1p3bFNtTVowWlpKUERUR2FSeTJ6bU1KZDV6R2NCQzFu''@;'; put 'put ''RVlrMWFIdmtzcFlCbExHZUZmdjhPZHJLYllnNXhuTk9VVTBZRjV6bEhKVlZVYzVFYUxuR0Z5OVJ5bGV2YzFCVDlaUFEyRFpxbGU1cW1uMjBWcTdVZDBXemdiTGMzNjFtaisxMmMrTzFXNFY4Y3ZFQTltMW5aWTJVdG15UkdqMXZZempIc09DUmM4eGtwVWJvQ0lyaWpkeDZnYVpZRVhRL3gzV2VL''@;'; put 'put ''bkdIRXNvMjliR1VmZXpqQVFWMUwrem5DVWIxMW1GSk9jWkxYdXBwNnNVNjh4RnQ4MkNoK21uL1BINUROcXVoNDJtTmd3QUxLZ1RDRElZTnBQUU1EMDI0bVZnYUcveUhNMHYrTm1YYi8vOEowajBudy81Zi9maUErQU9ZTERncDQycTFXYVhmVFJoU1Z2R1VqRzFsb1VVdkhUSnltMGNpa0ZJSUJB''@;'; put 'put ''MEdLN1VLNk9Gc3JRV21sT0VuM0JiclJmVi93cjNseTJuUG9OMzVhN3h2WkpvR0VudmJVSC9UdXpMc3piNXQ1WXpLVUlHUGRyd1JDTE4wMWhwYVhLTGQ2emFkVEZzMEU0YlpvcnZ1VUtrUi85UnE5UnFNaE42eDhub3lBREU4dXRnelQ4RUxYSVZPUkNMY2RTaW14S2VoZW5UTFQxMW96WnI5WGFW''@;'; put 'put ''UW9WL0h6bEM0RUs5Zjl2TXhiVFY5UXZZNnBoY0FTVkdKVUNnSVJKK3hvazJZdzFSNEptbVA5SERQdjFYMEJiNXFSb1A2NkgySkdzSzZmMFR5aitkQUtneUN3eUxTRFFKSlI5N2VDd0tHMEV0Z25VNGpnV2Rhcis1U1ZMdVdraXpnQ01rT0hNa3JDTDdFWlp6ZGN3UnIyMkVvODRDOUlsUWFsWi9O''@;'; put 'put ''UWVxSXBtakFRejJVTENITFpEK3RXdEJMNE1zZ0hnaFpXZmVnc0RxMXQzNkdzb2g3UGJobXBKRk01REtVcmtYSHBScFRhMkNhekFRT1VuWFdvUndsMmRjQnIzTTBZRzRKM29JVXdZRXE0cUYzdFZhMmVBY09ydUxQNWJ1NzcxTjVhOUNlN21EWmM4QkIzS0NwTkdYRmRkTDRNaTNOS3dvS1RIUzlS''@;'; put 'put ''SFJrdEppWUdEbGhPVTFobFdQZEQyNzNva05JQnRRYjYweWkySmZQQmJONmhRUlduVWhYYWpCWWRHbElnQ2tHSHZLdThIRUM2QVEzeWFBV2pRWXdjR3NZMkl6b2xBaGxvd0M0TmVhRm9ob0tHa0RTSFJ0VFNtaDluTmhlREtScmNrcmNkR2xWTHkvN1NhakpwNVRFL3B1Y1BxOWdZOXRiOWVIZ1lC''@;'; put 'put ''WXhjR3JiNXpPSWt1L0VoL2d6aVErWWtLcEV1MVAyWWs0ZG8zU2JxeTJabjh4TExPdGhLOUx3RVY0Rm5Ba1JTZy84MXpPNHQxUUVGakExalRDSmJIaGtYVzZacDZscU5LU00yVXBVMW40YWxLeW8wZ01QWEQ4T2hLMEtZLzNOMDFEU0dETmR0aHZIaG5FMTNiT3M0MGpTTzJNWnNoeVpVYkxLY1JK''@;'; put 'put ''NVpIbEZ4bXVWaktzNndmRnpGV1paSFZaeGphYW00aCtVVEt1NWwrYVNLKzFnK28yUW43NVFMa1dFcGltVGU0QXZpME93dTVXUlhlVE5SMnJ1VTAxM2xyVVI1VEJrMGFQK0grSjVDZk1mZ2wwQjhMUE9JaitWeHhNZFNJajZXVTRpUFpRSHhzWnhHZkN5ZlJud3NaeEFmUzZWRVdSOVRSOEhzYUNn''@;'; put 'put ''OGRzSFRwY1RWVTN4V2k0b2NteHpjd2hPNEFEVnhRQlZsVkpMY0VSL0pzRGo2dVc1cHpVazZNUnRuelltS2owYkdBVDY3T3pNUHEwOHFjVnI3K3h4NFp1VmhJN2lkK3hybmVXUHlENE4vaXhkbEtUNXBUbkJ3cDVBQWVMeS93N2dWVWNtaDA2cDRwT3pRL0Q5UmNZSWJvSjlCVFl6SmdpaUtHdDk4''@;'; put 'put ''NVBKS3MxbVROYlFLSDA4RU9pdmF3YnhwVG93anBTVzBxRWthQVMyRHJsblFOT3J6N0sxbVVRcFJibUsvczNzcG9wanNSUm5NZ0NrbzVLYXhzT3p2cEVSYVdEdXA2ZlRSd09WRzJvdWVMRFZiVm5HRnZRZnZZOGpOTEhrM1VsNjRLU250Ulp0UXA3eklBZzY1a1QyNEpvSmJhTyt5aW1KS1dLZ2lQ''@;'; put 'put ''Z2h0QmZ2dFkwUW1MVE9ETG9FaVpIR3lzZy90aWgwNW9vSjJBdDk2MGlydjIwTHR6M1h5SURDYm5XN25RWmFSb3ZOZEZmVnFmVlhXMkNoWHI5eE5Id2ZUenJDeDVoZEZHVTh1ZTkrZUZPeFhwd1M1QWtaWGRyL3VTZkgyTzlidFNraysyeGQyZWVKMVNoWHlYNEFIUSs2VTl5SWFSWkd6V0tVUno2''@;'; put 'put ''OWJlREpGT1NqR1JYTWNGL1RTSHUyS1ZkK2pYZGgzN2FOV1hGWlVzaDlsMEZWMDFtN0NOejVmQ09wQUtncGFwQ0pXZURwa1BwdWRtdkN4bExnc1JkeXpaTmRGOUIwOElSM2l2empFdGYvcjNISVUzS0xLRWwxbzF3bkpCMjBmSytpdEpidVRoeXBHWisyOGJHZWlIVWszNkJxQ25rZ3VPUDVlNEM2''@;'; put 'put ''UEZla1U3dlB6Qjh4ZndYYm0rQmlkQnI2cTZBekVFdWV0Z2dTTEt0N1NUcVplVUh5RWFRbndSZFZDc3dKNENjQms4TEpxbVhxbURxQm5scGxUQVZoaERvTlY1akJZWXc2RGRiV0RybmNaNkJVZ1U2TlgxWTZaelBsQXlWekFQSlBSTmVacGRKMTVHcjNHUEkxdXNFMFA0SFcyeWVBTnRza2daSnNN''@;'; put 'put ''SXVaVUFUYVl3NkRCSEFhYnpHR3dwZjF5Z2JhMVg0emUxSDR4ZWt2N3hlaHQ3UmVqZDdSZmpON1ZmakY2VC92RjZIM2srRnkzZ0Ivb0VWMEUvRENCbHdBLzRxVHIwUUpHTi9HTXRqbTNFc2ljanpYSGJITSt3ZUx6M1YwLzFTTzk0ck1FOG9yUEU4ajAyOWluVGZnaWdVejRNb0ZNK0FyY2NuZS9y''@;'; put 'put ''L1ZJMDc5SklOTy9UU0RUdjhQS051SDdCRExoaHdReTRVZHdMM1QzKzBtUE5QM25CREw5bHdReS9WZXNiQk4rU3lBVGZrOGdFKzZvbmI1TXF2Tm4xYldwZDR2U1UvWGJuWGZZK1J0bE03b3NBQUFBQVFBQi8vOEFEM2phdFgwSmRGekZsV2hWdmU3M2VsT3I5NWJVMmxxOVNkMnQxdEpxdGZaK1dt''@;'; put 'put ''enRxMjFrMlJheXNDM0oyR0JiWnJPeE1lQ1FCUUloSk01a2c0U1FZekloWUpaQUlDUXpXU1loem9KL2Z1WVBKd21UU2VDZkpIK3lURDRoazhtQW52NnRxdmRhcmMwNDg4L1lVcXY3dlZ2MXF1NStiOTJxUmlZMHZaekVIeGQ4U0VENXlJMEtVUUJWb1JScVJ1Mm9EeFhLbnE2T3RwWjBZeklhQ1pZ''@;'; put 'put ''VkZYanNOcU9PSUZOdFRPKzMreVYzMGgxd0oxT0JWRElsc2I4U3ZOV3UwbXYwTDcwRFYxTGFleFdHTlVnblUvamp5amR4K3h1ZFhlZTd1czZmNzZydys3dTZ1dlozK2U4NnY3L0N2OTkvL3Z4NS8vNzlkMjNkZW41dWEva1BoRjkzKzBOKytMbGpvV0xyMXVBc3ZOdnFiK3VxMkgreXlWc3pkdXpZ''@;'; put 'put ''NDhlT2pkWE0rMnY4OElNUVFWdVgzMFN2a3d0c2JpRzVBbUdNcGhGQzFrRkVpRENqdzRMZ0ZZWjBPbDIremhxeTIvU1NOK1pNQ2dGUE9OWFFtS3ozdUYxaVlQUytrdTJHUktLaUxGRmRUaTRvOWIrcjhaY2xFbVgrR29TV2wxRW5Qb2NmSmhkc0ZjaUVrRTJBMTFjUmZXNEZ2TndPei9XaE10UXZi''@;'; put 'put ''ODBYQ2RJTEJCT0VENWl4MFdnZHROcnlCRWt5VEZ0TXhHQ3dEK293SWZsa0NLR3kwcEppYU9Vcktpend3dk9kOXV3L3FTU0dwYVFVa0FKcDlwdE9zdCtreEg0bGVwT1ErRUh2UW5RNmVpWjZkWFMvWjM5OHpqTVA3ODdBbFhuUHQ4N0V6K0RISDk4RkNEMi82L0ZkbjROL3V4NUhnSm15NWVkSUwv''@;'; put 'put ''a3pLa0ZCRkVNSk9SYUwrc3VMQ3IwZWw5MXNNa2hXUlBDQUhpUGNEL1BDQk0vQ0JMMW9xTlJ1RndCZFFSR0luQXBIMGg1dktvRUJiV21ndGNjcmhTUHVVdXhHY05XSzNZN0dWQU5jSUwwbkR1MSs5NzYrZ2NuNStjVTl1Mis0dXFkbjROaHg1Vmc0R295LzJsalRkR1JSa3J0dHU2ZTZuZC8wN1pn''@;'; put 'put ''WVh6UzNkMWpHOTdUYXZsSzA4eXJzRE9hZk45YVVLa2ZySy93UjI5TklqNnFXLzEyd2ttZUJzazdBY2cxcVJkOGRmTEpnYktjY00yTzlDV05SaitlUmlBeEcwYkNBZERvMFF6Q2xmQjdnWDVpeFNFUVE4b1VoMytDVEVXaFNjOWttQ0VCWk8ybkdnaVhKS3czNTVPUUdMUWdCV05vTWJkeHFha29P''@;'; put 'put ''MTlhV2w3dGNDTlcyMXJZME5wVFhsQ2NxdzY0eVYybFJnZE5odDhGa3JHR3I1STQ1S0RJN2NMSWVzT2l5NGdCTzRnQkRZNkJDZExzOFNiVG1mZ2RldWZlcG9XaDB1TFp1T0JvYnFzUHYzNk9FOWl3bUVvRmdkU0tBNTRaaWNMRnVpTjRLSm1vQ0FYcHhLakZhV3plV1NJekJhelcrYW1rY2Z6WWRp''@;'; put 'put ''emVscTJOcFpTSXhXbGM3VmxQRElBYlQ4VmdUdllVbzMvaVgvMGplUmI2RXlsRWNOYUlPdWJVMkVTNHJLUzRxTUJrRlVnNjhMcEFCeXRkNEJzVE9NNmdIWVdPWUFlYXBydmI3cXh1clUvNjRQeGF2RUNWUFRCOFJBeFdjZ1hKbkJyZThqV212S0hrUm5acVhUOU9SRGtlQXJXQ3FwSGhrYXJGenZx''@;'; put 'put ''VnZ0TGlnYnJLaFlYdk4wTGI2dnFxUzZickU5Y29uRXA3Q3RwcG9tU2t6MlJPTDlkVGxqWS9WVHJWM1R3Y3JPOE9Ka1VUMWNFM3pZTGgxcUgwZ3ZrOCtUbHJpZ2NMYTBvSjRvS0o2NlMrcDNXTUZ6Y0c2Rm9Rd2xYSDBMWkJsQzNMS05xcEJHSG54a0R0SVlPQ09GVjBoQmE1eVIzeStDUEE3ZnZW''@;'; put 'put ''dzBGZFo2UXNlN2tXMGo4YmxxL0FZK1FyS1ErSXplWHBjRzJNcUp1MWxzL0JLbjF0Y1BKZ1pIeDRleit6NitkbXovekxldGUzQ2tTTlBiT3RtYmNQUVZ0YmFTdENXWXlHUzVnZ0tUd3dQVDJRT1FnL3oyNTQ0Y3VUQ3RxNHg2T1BuWTZ4dEF1L0grOGpmb1htVWxodG1obnFhcWdDWE1JY0JBV01k''@;'; put 'put ''UmlEVzh5TFc2OGtNOEs1SEQvb0hJT2VtSnVXT3VwcUFQeVpSUm9TQnBodlRvZ1QvQXhYaENQL1lDQlRnN3ltbHZCNXZLZmF5enhvcVJLa1JicVhwUnkrN1lNVVNKU2FGZEx2Z1U2QUNPa2pnQ0w4Z0JsNTBtVVdTVnhCdzZZMUdtMDV2TFlpV1c2MmwxVjZyWG1jM2lBWnZoV1EzRTlIc3lyTzZU''@;'; put 'put ''RmdVN0M0aDRPQ2dCc2xlclM5d3V3cHFYWkloQjFvUXNRbEVZNy9ENGt1VTVoczlmclBPYURTWUhJYThQSk1vbXZLc0JvZFpNcGgwMW5MUlpzZ3ZUZmdzRG9mRlZhc3JkT2M1aERJVEJUWWE4bldtZkNJYWphTE5vck1hRENZTjNsMm9xM1ZaSEJUSEhXaVdGSkkyWkVaaE9ZQjBBdGJ0QUY0SHpZ''@;'; put 'put ''RUZkQURVQVo1R2dPdGhwc1J0b2xRVXd3RnFEVlBVS2laSjRaZXUreEw4NEtJWFhsajQ4cGRwZjVubFJmUUw5RUZrUlY0WnhvOTZOWjREd1FrNktNK0JTRlRrNEhvOFlTbXJUcFNIRTlYSmF4TzFOZVhsaWZiYXl1Mk50Szg2OU0rNEEvZUJ0QmJJYmtRNzJrSDVBa2FFWUVRMjJwblQ3L2JYNFR6''@;'; put 'put ''bGo3anZFT09aZHJDWlA0SG5tNm4xcDFkQUMyTHN4WlE3ek1nVUZJQXJjaTNrSWRVNldyS1dFUy8vWnZrNS9CM3lLM2l1WGJiU1RzL0NzMi9nRDZTcURHODVxNXcvUzM3MTlpWEU3R1hkOHB2a0h2SWlxTDh5RkplcmdCdlpqTG5Xd0dDbzJRQnNOakN5WmJiU0FnL1RrMkI2WXJxMWVwQ2tHaExB''@;'; put 'put ''WEZTd1N1RkpocnVIaCsrZW5IemYwTkQ3SnV0SDQvSFIrdnF4ZUh5czNyTDdNL1B6RCsvZS9mRDgvR2QyTDNaY3YzWHI5ZTN0OUxXRDRZQVNOZzB5THlLZlhBQ2tGQUJmQTF5clk1eVBoK3hPaGpvcGtrN2FBeS9lbFB6Ni9sT2tiSERuMmFWeHhOckhZVkpobUU4Qmlzb1Jzd21tQTl4QXlBQkRK''@;'; put 'put ''MU9IMUFHWlJzd0cyYjNCc0U0cWlHV3dwc1dsU0tPcS8vSXhrS2Q2U1c3Y1VwdmNWamsrOTJEUGRabit5ZnR4V3BIbXZwdmNIcXRwcWFzZGZIZmpOUjFiYnU2K1laRTl1eFJ3R1lWblY2R00zRlpZQU0rcHdKakEwMkVJQTlTR2cwRS9BRS9XelFCendrQVEwczlRSmVCbDhsK0ZLb05CZnpBa1NZ''@;'; put 'put ''VkFaYXBra3ZYTTdraXBwS2R4N2ZBa0ZlMy9lSGQ4S0xRMzNkNDMyRDg4M05IWDExUTNIaHJZKzhtKzY5djdXdHEzeXpjTVdUS3BpYXBFVTNXaUJoL0dkZkZvS2w0MWRLSjJSMlBiaE4yNnZiTjFkd1BuZzFKNDJRbDRONEcycTVhakZ2QTM4SUNvaHpsZ0JIN25IS0NPbWRoODNaRFpiTTR6NTRG''@;'; put 'put ''TU9XeDByQ0YvQkNmdDFQTU1GR0lCbjFZZXQrQ3Q1MlptVHYzazNDeCtRUmsvZEE1SUdGRit6T2tUQXh3MXdIT0tLWTRjb0F2ekxFU0F6ckVlQVk1MEFLRUR1eTRJWkpvYjlkVTRBZyt0d3U0TUJoaU93UFZSTVZRaFJhZ3dTWTFaYnJ6L3dNRFUzbzdCb2ZhUmpoMG0vTHp5VlJIZUxiUjMzVEpp''@;'; put 'put ''dVhacWNrdERTcTRONHVzV240b21yK25lZW0wTHgwRXRqRzBBNk9kREVkUW5iN0VCRHV6QVBBVllKNFN3WHFjYkVFR3g2UFNDYmg1bGphc0VZOU4wUkhFeGpEQlNIQTc0b1l1aVlDaHNBRDhOcVNPaWVvT3BiSWxMaVFRZkhGbTI4eVR4SXdjN3VtN3N2L2ZlNFh0Mkh0L1ZIdWlPMVE0bGRPVlhO''@;'; put 'put ''eGc3L0tNdGRZUDVCVGZpTHpYczYrbysxUGFWVHg1OGRHWjRwcXlzZWFFN1ZLVThXdEZjbnU1TXhqOU04WnVFaVFTWS9KVEp4V0JvTUpNZXFuY3c4NzNCMXdWdmh6cVEySi95dTBFaFBLQThqUCtnL085N1NmdmkxVXNYcUg4UkJUeDBxbmhJb1I2NTB5VVMwSzREVXM3MFZTMWhnT2xqSUJEVEVw''@;'; put 'put ''V1ZGQU9WcWNxR21tcUtoNHB5aW9lNGthcXRqVHdNRlRNNTNwV1h2Z2ZiWkNYVXgvalhrMXVITTgyZFd4YTd1by8zZERYSlE3MG5CK3RHK2hzYiswWnEyOGRqWFJDd3hNYmJMVFZUclcxVDNvTFJwdWJ0OGVydFRjMmozZ0s0c3JNR1A5UVlyVXczVnNVYUJPVlNVN3kwcG9pUW9wcFM2a1FSVkE5''@;'; put 'put ''ekhGcWhkU25RRitpdE40TEFHZ0JyT3Bpc0hzUlZUK2FCNlFXWW9TQjRCblBzZ1VacmZ4bWRZeWdZWXJUMmNGSno0UVVyVEQrb2MzYUE1ZWJhRVdqOTkrdW9MRFBxTjFNeVYxS0NreGRYVTVsVFhua0V5TXpJVGVmQTdBV3hnRzN3VXQxTmRUVWJYaUVQc3ZROHlMSllFTEo0TFI2SGpSa1JVWFV0''@;'; put 'put ''TkNOQ05qQW9GZXBmZkVTekxNcGQyanVJdlppZEpCYUl2ZklSc2t2SURvaTZGUm1md3ZoNWZPdVR5Umpsd3pUYVRrU3lHL2hRZkVZazREczVVeUYzSG5hbjhTWGxiL0JCSEpuOTBkeUREODR6dWV0QWo1RkMvQ2ZnUEFsMURENVpCbUdCQTFFdlZwalY0a1k3QnMrL2dISXlqZVFRaEJCa2g2cklp''@;'; put 'put ''VEE4OVJ5MThGU1RVelZBLzNmZ255b2g5dnVuaFpNTE1KNCtHSTlYRzQ4QTQwbFg0NVRlcmUvREIyRThsNVM2Rng5OGNPNUhzeitpNDNFdXY0bGZBZDV3SXo5cWwxczBubkFDK3d0VW1nUWRFZzdBeUxqelJyVmlWa2Q1UEI2L3B6emtEUWFaYm5TcUFpNUZWcmpldlNyS2ZXSm9iMGY5Y0dkLzlR''@;'; put 'put ''MjluZnZUOCtQSHZCcnU3OVkxVjRZYit3YVNyZlU3Rzd1dmMrejVQeXNCTUVIeDVmY0xXOGdqU0VZajZKTHM5cGVYQ1FhaEd4c05EcXd6dHJjUkVWaVlSMWpWRVBmcXNIRVMxRGhFVFZTN2lpYnFFdTVEcXVZQ3ZXQXdDRE9nZE8wR0dwWlYwVWdPaUdFd0NvYjVkMnlzQjhMVVVUVXRJUDM4NXEw''@;'; put 'put ''a1NaeEVvaWpOc09hakVKQVZkQUlUZDQ1MER2ZHRoVmxrd3VGWUtCZ09XeVRmT3RlaWdnWWRXUVhxOGRLd2hBdFNQY1Z2anRkUnp6eDcwQ2daM0xBaWJaMFg1aGEvZG5UK0MvdWJkOVhWdGx1S1J4S0QwNTBIVzJxNm5aWjVhNTdaV3U0cmJxaVkrc1QwM0JmbTlqdzQwM1lnNVdvKzF1M3ZGM0Vp''@;'; put 'put ''RnBIRERkRWJEbnhoN3NqWGp1MTllSHI4V0ZNc0VvN3RHK3MrM2wzbGJ6UDBkVFNPMm9yTEtyZTM3L2pBOXJrbkR1ejV4SjZTOHBLZ0gzc25NclpZZmF5M3FycVIyeFludkx3S2Vsa0NDeHVUSzQxWXg0SjdIWEMwRHF3cnRYVVFHVkFQeDhDY1hlNnlGb0IxbFZnSUdqRmpVcXA4c2VFZVhBWS9k''@;'; put 'put ''OCtlT0hIcUZMbXdOUDVyN0ZmK0JkQU9VUWQ1SC9TZkQ1NFA0MXJRWC9BRUVlUkZyeU42Nm5hb0NSZ0pjOCtZUHF1bzBHNHJMeTMwRi9tOWJsdUJ2U0JXYm1DT0tjTzhwcC85bUZuWkdIWTd0VGRqZUx4MVQ4TnNXMWZUL296eUdaeE10TFltdm5ReDJkbVp2RWd1eEVmcjlqZVU3RzVxM0ZHTFAx''@;'; put 'put ''SVhDdGM5cnZ4VE9oWkwvd1BWQzlXZ2R6OEdzbFdDR3VRNkNPTlJvUmxzYVJHWVdSQXRWWDk1VmlXSjRFSUpLZzZId2pSSmxHVU5qMlpIYyttT0c4L3YyM2QrNzhDN2sxUGxVM1VkaDJYNWNFZmRsSDluL1hzR0xMT2ZuWmw1WkxhMVlWc28xblZFN2p6U0ZRMVBwRm9aYlNqdXZzVjhIemVMSkxL''@;'; put 'put ''b1lrRzBpaXFMMmVVd3V5M3VjTG1lb2toanpoZ09xVXdZdy9heE40NCt1Vy9mazBmZlFNdDlSek9abzMxM2tnczdQN2x2MzRNN2o3VWU3TzVlYUZXU0ZBY1FtWUx0dVFEcXVFYU9henFOS2hEZE5PZ1NhNjZIeWp4L00wOURVWDNpVnZXYjNlLytCN3hQZVJDL2Qra3RvaWZ0NXhlZldTUVhGcm1Q''@;'; put 'put ''cGZWdlJGVnlXT3NmZUUzSGV0WGNBTGhoUkViYU0rVXoxck05b1BWN21uYjZ4S0x5T3UrVTArMXZnVzUrMUNvMzJZQmNkdkROeTdBT21BdzZwbHBScjBPTXpWYTBJbk9Sd0M5d0F2RUNQQUR6MjNOTTRub2lwZ0w0WFRoVWQyNXc5dEY5K3g2ZEhmcHczVlQ1Z1dUbU9sbStMaE1aSzM4TW4xVCtO''@;'; put 'put ''ZG5PU2RtV3pKS3l5SHRhbS9kSEdWNGpjbEQxSlErQUQwdm5UUE5KK1dndFBqR2RNZndtNFpWODlMVHl0NmRQNDBrcVZqaWsvSlJjVUg2TkM2Q1hmbWoxTFpiTHBIbUluRmlFaDNFUWlQUnpZUVJZTzlpT2Z3SllHK1VrNXZyakFlNTd3ZUJtQkdBb0wwTzlEZVU3UXpwb3Z1THF3eWlvdUQxNXVt''@;'; put 'put ''SzdveStTN0R6VnV0QmxrZXNuZ2pYOUxmZ2xwYTduY0J1bjd5aDBkWjdOczF3dU1ScjBCQngwUElCWnhremcrVXludzhIdFlkS09rMFljZ05BeE1Ib2FWMzlNK1IyT2ZQejE2ZE13dVNmeG1QSkQ1WFpjdWY4ZmVML1VxU2lGZnZYVWQyU0RwcjJocTVHR09qM1MyKzEwMENIZ2xhUWRGRkxnMUNM''@;'; put 'put ''dzNkSTNXWHVRSThHNk1pNXBnM0c1N05xNGZCQTBCT3htb01EWTZkZGVQM1hxOWRmb21LYnhJNEQ4NzlHL1NrcnRrM3lSOFhLcDdKTUlXZGVqSTlzamhpRUZXSC80MEtsVHlqbmFYd2wrSGZwN1hTbWhjazU1V1BudmlIVzUydGw3L3Bwcnp1L3RPSlRKSE9yZ3VrZFZPck9Qek14OGRuYXg2MGlu''@;'; put 'put ''ZktTTGN5elRPNVJmajdQOGxwdEdxekFLRUZVQjA5VEZTckljcG1qTmN6bnkzRmEzUFZ3dTBrUzVQNnQ3M0lHc2J1N0ZzZjRidTd0djdIL2lOQzdwSEIzdC9EUzUwTExRMWJYUThpdThxNzJob2YwMWxJc0RGL1h0NVhxYTdDWjZnZWgxb1BRRUNKT3pnWTB1SjJ2b2Ryc2o3bkIxT0VKVk1OaHly''@;'; put 'put ''eFRKRldNWWpTNGRTWHNiVjJHRktNR0tMVjBETlVmYjltcm9VWDdXTXRXMUo1REZEeTY3TnQ0MkxBY3JzM2g2bzJwa2VLeTFlejJlVGdDZXJEQ1dwRnliUitXYXhvclVkQjRBUjBTTkZVV0JNTEdFSWJ2dFFEcGs5Vk1wOThiOEVZaE43WDdWLy9LcWNYVU00OTk4NXE3VERHMjdocjZnREg2YVll''@;'; put 'put ''MVh2Mko0RzE0c2VKUGpqY3RHMmZLZlNDLzVDcXBFZFhMQ0M1RmhBVmdzUkhJeFJqM0RIS05WaVNLaDZpREZHQlZ4SHFwQ2FKTWdxM1FmaTNwVXR2cjl1WmErK1Z2YmUveWQ3V056clpsanZTTzNOL1pVSDBnbU8vdDIzbnhMKzQxajV1YkdxZW1HU0hHZzBPcXNIdTVvbldtc3E5a1RpYVpDbFZV''@;'; put 'put ''dTM5Umt4MHlLalRXb3h2S1Nta1BKaG44ODZhRzZ5amdBOFY4QUpBYTlTaHBlUFFYaDM2SXF4LzNBSTQ5Q2UvQi81VkkxRVk5eDd0emN5T1VLdWpTRFRCVVhEM2cwSFliOWQ0K2NUb3duRzhZVHA0YnYzbWtadVdjbnZsczUyYlNydm41WEUzNjNjdFBPZTBZNFhsMHcxbjltOFNvOFM4L2lWZENh''@;'; put 'put ''cXNMa1dnZGNkcTUxakRRYjc4UGtuNVZmM0tQODR1NmYvSVRxWFBqOU16R3l2Z29SMHBVeWVZSytURlR2ZzdLZ2F6L01sTFBKZzdadzJQVFVrbElGQkQ5Q3dJd0RoZS83MENQdi9jeUgzdmZqMDE5NEhCUzU0c0svcGIrZ09SU0Y4SEZDN0VFK3ozUWI2RWFqQ0YwVG1zdWxmSWU1YVhFNEhIYUtW''@;'; put 'put ''eGhsQkh3MkllbE5KL0ZqYVBuRHp6NzNJYlM4Zk83WjV4N0FPNVhQdmZrbW5zUTczM3dUK2pTb2V0eUFTdVFpa2NwZlZybXBrYnFETGZVWTJVaEJzK0VDNVE4Zit1clg3bFArN3huZ3dNZVZpeml0YkZNVUxlNmYxbXcreGVOSzJpc2IrMmZUWGc0N0cybWFwd0RBOENmeHJjcjdRWjIvRzU5Witx''@;'; put 'put ''Y1ovTFBGR2FXQzIvMkI1VnZ4Q1BrK2o4dzhHMFJtdGl1UHpNRE91djBEV1Bmd3c4cmI1UHZibG5ac1k3aGQvdmZsNS9DUE5zbFpDdUQ3bXM3aVhUeGxTZjJRVzNIZDZ2SFFsQVViRDlNRDZuaTBiQnQxNW1qbWxZNEg1WTdIQzhZaUJYNVU5Y01QWTUzeWRqMTViTnZiRnppdGEvQ0QrTXVjSjU4''@;'; put 'put ''UzkvZklIckFNTEFzSkk2TVoyUnZVRE1wVEl1cHhKcDJVM0JjblA3NzcwS0Zkd0R1Ly8rWTM2WnlVNVVOa1l2bEZlR2c1NjJPVEhERHRRZ0lDRUxKOTZRdGJ4dmp6TXlTRHcrUVZhT3RsYlMyWXhxOEkzZURBWUl6WVU5UGVRR2J4eGgzazY1NlA4dmdpQWpKTGlKM2xNMjZYdllWWTBCV0FNWEZB''@;'; put 'put ''RkZCV1NrUTlzSVNvaDRqUUJTZ3JCM2k5U0dpNEp1aG1hRHhRT0dqQW9vaG1WRmIyZ2Z1MEhvUUtKSVBUL0xvcDJhMmxRWGlxSnhnT09JMkFXK1J4QTNKelRZUlhEWU1iYVI0a3BhMlg0YnR2dWJsNEtwSGVXZCs4dDZXdnY3MnJZeVI2L1Y3cnFLbGxTMEp1amhQN3pmdVVpeDJCU05WZ1hmMUl2''@;'; put 'put ''TmhhM3hQWjBhaTBKU0l0cnBwZ01LNnVNNU5ac0djT1ZJcCt4S2RueXNjNndZU1JuZ3o0dEErQWhvRXBmcnVFTXNsZ05xdFRxS2J3Nk5UQjFQazRWL25YQWxHUGIxV3lUdzJVL2RyYTQrYUFBSk56VzRzb1ZzRk1RVHpzY2tLTTZDeDFsaFI2WVRaMnUzTk4rakJDNWNmT01ra3JLNDc0K2NQdDdZ''@;'; put 'put ''ZDdtdmVVblR4WnRxZTVmUHYyVG5saVFpYjJMYmVPakp6YVVsYzlRVjVVL3FPNlRobTh1cjkvZXJxLy8ycmdyMHJBbVI1NDVYSXhXT0htTVpqbnNqSFlIODhNRGQwKzBId2dQT0h1S0kvMlJlSEhuL0ZNUk9iYUxBT24rL3BPRFZSSCtncUtxNGZqMWNQVkpZVzlWUW5PdjNFWTAxYVZqbCtUVFhh''@;'; put 'put ''SWp3VkdRcFZvRkh1TUlDeTh5Q1ZhL2dyUjFnSXhqcFZZaXBKenJFWTBDbWk5TENBam1ucVhRak5kdHhwbVBkRWM0WUNkRWcydjRYNlAxMDV5aUVhMkFxMmFlaGpsbXZhVVRRREJPb0Z3NU1XbExXUHgyaTJuUmtadTNWSWJ4K0xTdzFtaVpXVThCblR6QURGa3VaMVFnbUhtdGVsQTcrcklnZXpv''@;'; put 'put ''MURHcjNPWDF3cDhTYjNGUklUUjFRelJHeHhqazVNcDE0dnpVYXhNbFB4QVY3eHp5RFB0dmFSNjR0WC9yTGYyamkyM0tTZk53dW1FNEQ5dk0zYW05cFo2eFFQWFdVeU5EdDI0ZHVuZW1zUnR2YVVzbTI2anVBa2NiTDVEL0FZODlJNXRzV05SRG5DaFNLbElDRlNOUjFNK0F4MWJBa2gxb1dnZjBz''@;'; put 'put ''NnZHenNkckNMSXdubzFnNUNJSVFrUlFUZlByYndJNVRLRUFXK3lUSkI5WWVPcmQyT2x5SDh1MmFmN1d2OXg0NDgyRGd4TnlTYXNuWVBUbGUwcUkvb0N5RjMvNlFHUG5kbzl6eEdpcUtBSmNSNWUza3c3QWRSbUtvWTl3SG5TVVlyMWd3MFJjU1JMNzJFWGQ2b3VxbmlrSFZRa21TQ1R6TUJsaFJn''@;'; put 'put ''S0c1dXFCa2NYSnRHd1doR3BZbUFjRlJHdkFRTXVXbHlOVUhpdVBob013bnJKd0tCU2tXaGJiVmNYQTQ4ZDJ2SnJsVXF0WXJnTVVRdWVObGRXK3F4SkR1OHAycDdzT3RiVWQ2a3BmWFR3Mk50YlJQamJhUWZSS2ZkZDhTN2hzcXJDa3A3VTdtc2djN2UwOTJsRmJOYXk4YjZ5alkzUzBvMk1NNkFz''@;'; put 'put ''ZU9TbGg4Y1BSWisxMEtWc2xyUmN4MFlNck0zcG1MVWhXTkt2VTI5YU5ic09kbFlzczg2TGVBV3JtQVFKY3lHbDNCbHcwUlVGVklSQ1V6NGtHN1c2WUtENDNXWGRUZTIzRHdNbVRCVmNsaVQyNXUwWDVFcTVMZFhjbGxKZEFvc0xWWEhab3B1ZmI1R2ZnditXanJYeklubXpDdklCeWtGMzFqMzB5''@;'; put 'put ''K0tSd0N6eUkrWnpMVTlRMXliZm1XVmdXWGI4bWl5NkJON0cvcXFxa3VLcXF1T1BrU2JJdFdremZGa2RIbHQ2aXoxLyt6dktJK253ZjJrK3RFaEdzb09PeWtxSFBHWXNnTUpiVzdSVUJLejRkNDNvRUFBSmlTMk9yYjRJT1lobCtuNlhJNjNIYTJlaWtkVG4rM0J5RG1CM3BZcU05MytTM2VrcE9i''@;'; put 'put ''dXRhR2ZMYmI1a04wenF4b29pNGwxN3IyYkdTRzRnQjNjMW81a3RHRml4cWxMZHpVMG5IaFZmUjNNNU5ZKzROb0RZRTNkUHM0Nm83VTFQUE9leE81cFZpNmxBeFd3Zis4MVV2My9kQS84bVRQNzhmbHlxdnZUeDhCMWl6SFgraTQ2RVZHbDhsMUw5cTQ4TXdVMTlVVGN5b0F6RG41R3A4N0pPV3pK''@;'; put 'put ''dWErdUpLOHFZYjZBV3FsODhUK0Z2WUFYSWZRRmM5VjE1RXNCNnJGc2hERlk1K3hpQ0pnbDV2SDlUUmxXVTJKZEJJOEpuZUZlRXVFY1hDN00wcGxpNEtvSW9BOERCd3NSSFUwbG91WHMzTzliVFNKa2wrTUZsM2MxTzhQbk56VTNXZGZQS2thNmkyY2JMQXVhdEY0KzlVc3JPOVJ2bW05cGZvdDRi''@;'; put 'put ''akRZbnFGSjlETjVOUk84ak9PTFdrV0xDQVh0SXNxWk9GY25xcWpleTVVc2o0YXAxOFhsWUlwVFZDV05zclVpbXN6NUhDcHFqeUF0RnZDVEZmamZvZEV6Q3VOZm1Yd25mTXYzZ3VuMytoTHNlWmdRSDJHdTJMeGNEcDZJL0YrcU9xd3pGd3FxL3Y5TUFDK0J2eDRXcnVlSENkc0JWMC9DeU1oL29j''@;'; put 'put ''aDVtblNFeTVQZ2Z6QUVTQit0VTUzaHJGa3BON0NFdzdySFVrYzJDdTBLbHovN1ZPblVLZW1samwwMUgvYVR2NFQzd3VaMVEvbUR0Um1QdkI4RUVRVnZ2QjJla1Y1dmcxZzVweFlrNlNmWTNMdFFybXl0MmYxSlc0UC9xbDBiZFgzSjh4WlhMRis4Rm9LN3ljSUZTOWRUNXJac1VKZkJaMlppbkJE''@;'; put 'put ''ZUllSy9NUjNCb3pyM2l5MUQxNERoUU0wekNPeHFSYms3a2Z6MmEyelowOGlmOVgyOEt1QWVVdG90L1BaYWg4K1UzOEEzaGVKZldSUGZCQUwwVG40Q1d6SlVBMTVWTzRVY29udmlibEU5NGc0MU9LdmFXRUt1WnYzNUpJYjlzVlN0U2xNOFB4dXFubWhybDRNamhjNFkrNW92R21nZVRSM1phcTBJ''@;'; put 'put ''NjJrZ0tmTDk4V2JJN1hEbFQ1UzZhOEJZVnVtOXVXbDErUnFSK1lvajRYakhXQmZBaDhyaG81N3NVaVRUbURhM2lXMmhReVRSY3hBQnNRM3UzbDdpQnprWndWMUVjSzhYVTF1MW9UQmN4SUY5VWEwM2pCMDFvaVR3d08zbnpqalNXZWZKK3h4T25aM29tOUIrNjc3NER5SDBVVkppT3pDU0RQUHFM''@;'; put 'put ''bmVzYVo5VVpWUFFNcVJyV2VPWEdsVjd1cUdvQ1ZVSkxyR1ZmQUZXRHJFVGs4UkcwV0c1V2QrS2g2YWRLVURYRE1XNkJhUU5uZ2Z1VVNWVGE0VjYwaEF0OU5yOVVRYVZrVnpVKzBPMWowN3VUcEg4Y2RIL25RblQ4OUR1N1BlL0V0MUZpelhJOVFDKzNYNTVIc2w4OGpGWnc4Zkh6dWhrTW5uemh5''@;'; put 'put ''NVBvajBPT244Q3o5WFhvTFg2TTh0Skx2QW8rVDE2eVpKQjNXMFpRWHpTcEEzd0xKV2FSd09CeDZscnlVQXM0SVRTWkpUdnlSMjg3YzlZMFgzbjNUVFhlOThJM0hIOGVHcFljZmZsdjVNK3QzZVlnMFFiODJXcjFqTnRBaFUyWWxhdGVVVWZmU3Nmc0VkZlhCNGN4bDFBd1cyQ3hFNlFQdDNxSkFX''@;'; put 'put ''Y0xsK2VrZGYzUGZiVDl0dnVXTDFyeWR6b29FTVNxMzRUdVhYcm1QOFBwR2VIa2RucmRKdnNtK2FiNUpvdm1tQkhZb2IrTEhzZkk3N0ZFR3AzRG5vU25sN3creDNPWHlMbnlZdklEOHFGSU9GYkI4SUZocTNPY3ZwM2xnbXN1Y1ZBVWJvMUc3aDlwd21vSk1nM1pKZ2JoRlFOSWdyaUZ1TDF1K2xL''@;'; put 'put ''aW9TVGgvTm9xckcxSnhITnU3emRUYzVNYkRrVEIyTnpXYlBoWHRhenBURXgyTzF0N1czRmRwR0RaNEkrRzdKb3VzNmVwM2hhczhobUZPczdubDU5RGZzZnpVNXJWODRFZk03ZHlwMWRWaGlOVjI0ZXZaUEFBL0JwWS9zdVVUMU9mSGpFY3htbFFyMGhBZXBTWG5SSExGdkdEWElnMk42VEJNSjRI''@;'; put 'put ''QlpTTXdBUS9UVlY0d0YxS0VEajBVR2FKRE4yNmJqZUY0UXdQTWFYYmJsTUZURlg1WGRkcGFOSGxYT09LRmVWVDJOZDlXQy9PcU9kUFVGNVdXbDFFS1IvQjkrR203aFBNUVVYNkRqRThoL0x6eUcxYXRRVzFoei9KVjZCZE12K2F6MVRNNk9HcVFtVlBPRW10T3VtNjEyZ0ZtemlVdmlBVC9Kdm1N''@;'; put 'put ''V3JyUWUxL0pkbUxYcWhXV3R1Q1grVE1xbDU4amVqS01DbEU1eFVwSmNXR0J4KzEwNUZ0MDJNTFh5ZUNwTzlURUlrYkRSYXptTWtqcjNMa09wU1h1bEtEaGlCMmkxeUNFMWVBQjRLL3YyOVYrb0tWbGY4ZXUydTNsRXhXMTlZRUo1WlBwZUR4TkxISlAzdkRSVE9iSWNGNVhoeGl0NkF1YmxCZk5r''@;'; put 'put ''ZDUzYlhmaWxITjdrdFZwMHJ6cGk2Z1lkY3N5MEpJV09pR0oxazlMdUY4UGNSM0dFbUZMTWl3eW94VlBrc1NUQVloWHBCWGJuYUVnbUJicTNJWGMvbFNhVlppdTB2Z2xtSmJIa2VtbGZ4enQ3bTVkNk41eVc4bU92UDVZZmRlVFQ4N05wZW8rTVhpMjUzQ2J1dEozNitBblVFNXUySU9hNVVZWFJr''@;'; put 'put ''WThBTkdseE1LU09SRVRjSm5BdUI4d3NUME52QzZQNGxMYnMyQXowMTBMYkR1SVd5dDZoVjhtNVBqckgzamhoUmZPUFAvODgvZjlrbWFUY2MvZ2xzR0RCK0VGSDZJcFpVYXJEQm5DN3lNWFdXMVJQY3RDUm1oaExmQXRXMUNZMFFzVVVYaDBnK29pbXFETWpUN3FjOTd2Q3dhTENrUEJvbWVDSWZh''@;'; put 'put ''WERORy80WUtpa1BZWGVEV0M2b2tSZjl0V2dXTTZaQk53REwybTVrVUg4TDNrM0pYa1ZHa2RVQWFQS0UrVGM0TlhtbFAxU29FdkxqNndnN3ppdVpQTHNILzVaZEpPbmdCS0IyU0l3Tm1DejIzVW5ONUpMUmRMcTdQbGxEQ3pCRmp6ZCtpQ01sMVhzZlllYW0yZTY4UnRlMjdlZzh2cWQ3VzA3cWxm''@;'; put 'put ''S2lkM0w5MEVmVGVqNzZIdjROMkF0RkxabDZNUUNGVVZvemtGdjQyNTJJdEdTMHVpMFpMdlJVdExvL1JYelJjdnQ0TVpNWVBkdXBITkxkK0ZpYzVwSkR3aElZQkJ0dEo4QkRqMkFzRzZvNGl1WFFoa2ZrV2I3bVVycmVEeU1SQmdyTnMyZytGMnVnQjVuY0Zna05wcGlqbGVSMTRSWGxXUVNmZkcv''@;'; put 'put ''TFNxTlZGVWJ5c284VHNMN1haSG5xdTh1MEFmRDVlRUU3YThCcThqUDg5bWNnMmwyWDZlT05EY3ltZ2UxMU9heDlIcmZEL1A4Z0QrSmROTGZ0UXBkNVFCNTd0Z1lHN3F6UTRnUFNJQ0xkR2ptQk0xYmNYS2F5RXlSc2hmWHVoMTJsV05SWU5pbEt1eDFCS2lsVFFZM1VLREcxUWwxcnkyTUd0Rm95''@;'; put 'put ''blhyaTNOUW13T3JNWkh1TU5XUVZmZzdCTEVZYmVqenlQRFV3US8rWG1tYURlQU9RajZlR09ZRXhvTWx0QkRtOEFjeThMa29ZOXVBbk04KzZ3NTlHRU9ROWJDdkp6dHh3eDh1UW9HYUFBK2kvQkhWbHZrUUZ2bGJqdFZqUlRsQm9SQkFSbVFqaGgwQjR5Z0Y4VnBjRFBWcFNZOWQ1UllOT2V3T2FC''@;'; put 'put ''eHZxcWJ6S0Fvc1ZiSWtxTDFUWDQzdGd2a2tGYlFzb3dHUDREZlQ3WXR2ZlV0WHRseTU1M2t3cUx5R042aFBNWnJVZHBaRFZFS0cyVi9GUmIxVVVJZ0xBZjFXSUoxdU5nQkhHekhSQkFIU3VubUtjNzkxYlFhUk1CSDRRWHBybC9KTVRKMXJzWnNZT2oyd3RoOUxCZnBnRVlKMmdoaDNXMVgzS3FV''@;'; put 'put ''Ym1sYTFVbzQ5WTdONVBqYUZpQjlBdG0vVVVPK1ZrRFRDaW5VRUlxQ0ZQcmQxUEx3ZEc0K1ZqWEZXbUZjRTROb2hRc3ZUZmwzSms3MldQVmxheVhWTy9uQWpyV2xWSFBSOEVSZGk4Ni9Xb0NiVEFjK3ZuTjFhUlh3RmF0QllueGVxY3JDQ2NaWE9JYy8xOEljUkk5dEFuTkNnd0ZaT0xvSnpQRnNQ''@;'; put 'put ''M1B3bjhHczhQbnk5MmdORDN0V25JOW4rZjNyK2dHbXhsMDVNQWZCdXErQldmNHR3QVRaZU9KOFBNdVByNE1CYTRYamJEeThuN25sUjFhUEIyU3FDbDUreVdvYVNsQ2IzTHphMDVnMnNQVUpZNDZya1o4UGYwcnlpOW4rUkRjMHl3TzdZMXJKSmJDQUtXbm5KZVcwR00yZGxNRDQ0eC94Z3JTK3Zq''@;'; put 'put ''ZDI4SXEwTCtESHNsVnBPTENJaTVhK3dXdlQvbmJ4YWNBQnE3ZGhlcVZPMVN1ZldZY25Wa1BDOEZTdjB2YVQ2M1RQV3BpRHVHb1RtQk1hRE5EMks1dkFITXZDNUtIbk5vRTVubjNXSEhwNmpRNmp0V0czUTd4U0FwWkFmRVpFdURZV2lvQllSTkxldEZmeTRvL2NlZWZBbldlSHo5NHhjTWVkdDUv''@;'; put 'put ''TnZqK0wyT0t5VmpQakJSc1VSWGVwOGEwTDYwaGx4RmZrTll0NkhSaGF2VERnWTFlRm5Lc1lycXI1bGdLV1NhRWxBNTVCY2RXU0l6Z1h1Y3RSSHI2R0tPYXVEOHJXaW9xS2FFVlYyQkZ4c0IwaTJWSnpLWkN0cXFjeEl2SjRNYTk4MVZGT2lHQlBrbnd2ZWMzNXZkZnVyankrTTVFRW1UNUkzeW41''@;'; put 'put ''UlFXNHBpa0RrbzByRDJYcWxCODJaNGozMXA2Wno4NjIxc3pYbmVxaEVsMHpyL3g2dUF4ZkV3Q3hmcVByU09kRXAvSlFnTnM2VmlQQzZOdWs4c0NqNitWcERjeEI5T05OWUU1b01GbGJ0eDdtZUxZZnpZN2x5RGYzbDltejJ0Um52YkM2bjV4NksxcEhsSkJqd0JWNkhkWWZFTEc2ZkpiZFBBcG1L''@;'; put 'put ''OS9qeXZmYXZQYXczeWF4NmpKM01xZnFLcFN0dWpwMVlhWHFTaDVqVlZmSFdoYzZ1eFphYnZwMVIwTkQrK3RxWFdLU2ZCZGtmdXBaTS9qdE5IZmxCNDRvQmFVdlFNQXhyeFZUZS9qeXNJalZsSFd4V2xZNW53WE11VDBsbTV4QmY5QWZEN0RWcm5YN0ttSTRwUlU2cFRSTFFKTmV2YTNYZG5jZmJF''@;'; put 'put ''MG1XUFh1Y0txK3M3TStWVkhkMWxKVDAzcUtHSnQyMXRYdGJHb1lMK1FWdklkcDVlNWNZN2lxb1RHdU9EbnRlYTNCSzREckhqRHVCSFZQYlhSZEFCcmNrM1A5a2dhUHBiRmMrSmV5MS9NR2NxOWZ6UFkvdHpYbnVoRE13cHRQYy9tRTY4Sjk0Q05Xb3dZa2swT0RUNXJvaWtwRk1SRFZCMzZBRzV0''@;'; put 'put ''SUV4Wk44R0RSS0JBa2lRTmdxYzBBVTdZeEREWkw0RXlZSlFwbXVZS3ViRmZXVmVsYU1NTUdZQ3NReG8waHB1Zy9Qc1VZTW9uRU5HbUFtRkNVaUhnZ3owaW85OHNUK0ZhelJhQk93MHBkQTUxeDZuSk5MRGpiWU5DS3plYmN4cGEvL25tMi81L25VV1ExZ3N6UzV2TWczYUprdU9MV3NyeTJJVnBw''@;'; put 'put ''UnZlRnYyTVhETWx5ZVNxVlNJQ2pKYWN5cmMySmhrU3lyaFo0TEU1RG4xQXdsSi8xdXRac1VQRG1iUGxneXpscjF0WlJZenZPNXNKZjVPdnNIWWZENVllNzloNWZxWU5wdXJxMmZYZFJhSC9MMnNWMzVmT0R0RHltcFk2dnd0ZFh4NU5UUTlueW1PS2llRlZsZGM2aXZQSTVPZUYzMVFSRDNBNVdn''@;'; put 'put ''dTlNYXo4YTBHTnlTUkRyZGNrUUVmVU5oVUNmQWd6QmNSNUlHTVRHUkZTalJvZ0tSR0QwbzBnRURTUXlWY1hpSzE3SnNoY3NsUTlyOUFwUldJQzc3ZkxBY3NVNk9IYSt3ZjRzdUo2dDVZZVplOHZ5MUxxLzByR2x0U2o0S3dmeTEvdTFCWjNYWlRhcVQ4R210VzZ0Y2ZpR3JuWGxLbGs5RkdONnJv''@;'; put 'put ''L3J2Mm0wd1hXcS96NlFjLzJTQm8rbDdibndGN1A5ekhIOXQvd3R0clpKKzNtWjkvOXVEdDhOQkd6THVYN1F3K0YvQ2RkTFdmOHY4LzRmNWRkZmhldGgxaitIbjN1UTUrSHFXYTNOLzJTMVlydGtwNDB0cDJRUHZuQ1ljQjh2eGZCb0N4MzJWZFhBZElFY2c4WEVaRDczOHBTY1Yxek1hOEhDSWJw''@;'; put 'put ''SFFuTlJzdTVKZU1YbHlsMFB3bTlzNzdsbGVQaGtUOHRDMTU3TzhPU1JzdDZCWTUzVDVhMGw0K09kOHZoRUo3RS9kUFgyc3dQZE53MzFIc3NNRGZiWDlaY25heHFpL2I2bHYrem9rcS9hMXRsOWxZWWZVc0xzeVRpM0p5cGQrTG9qeGRzRXgrZmhqYTVUZWoyVWMvMlNCbytsZmJud0wyV3ZyKzcv''@;'; put 'put ''WXJiL3VTbHVsenJRTmxKSStsbE8xVWYzVFFEZmEzVUZpS1h2a0E1WWZwSnRJSk5BRnZXakxGejIyWXJBKzlBeXJRYWF0OGd0TllDb09YY0hHYzZQeGtxTG8xVWxmNkQ3M1g2b2ZzQmZwbitqeGFXeHBvV1h0TGN3Sm0wTjFrdHpzRmxmMXVzaU9oSUpGeFhxOURxemdhaStMTDBxckZ6ZDBKY3Qz''@;'; put 'put ''TWlYelYwMTNNaVg5ZnY5VmY3SzBEdjVzanF2dW1YU3cxeFpDZFJsUER4MFptQjRTOUcrN29vSXZCdlpXclN2UnpsWC9IS3dNdG9mKzA1ZnpQY0RmeFIvY0U5OTMrbUJhT2xJYURvSkVod3JHLzFsL044OElNT1BnaERYeFg3dnB1ZkhzTFVyU3Z1ZHEyUjQ5ZlVWR2ViWEwybndXUm5tMXk5bSsx''@;'; put 'put ''RmxXRjJQb2Yzc1VmdTVOMmZObWRlNWZUeTNWSEdUdXNQMTY4NmIxQjF1dUVDOThXMjFCSkV1VVA5M2xSMHF3dnlhc3NNc1RpNnFPQUZjOWVYbXpUTFpQTlVDZW1CZGpNZDl3bk5abjNDaEo3ZnQ0V3oreW9nZTNLVHRON0orbzNGVTNaTzN2RTJvZ0hpZ0FLU3pYVzRwd3BLdUFJdVlEQmdnREFF''@;'; put 'put ''U2t6bTJIVXZQOWhXd0ZWUzFKS3V3c05CWDZBdjY3WGE3eTArekwzcWVWRXdISW55N1hwS2pxVDZOd2QrdkNOZlh0YnZMR3JLNzk3Q24yRmRRWUZOK2MrTEVmV1Z0OVVFZjN6M2s4M2dLYkRqTk52U3A5WDdiU0MvSWFneWwwUXRjOEh3bFdLY3ZoaGpDZ3cxQ1RZSVlEVWFNalRFc1lmQkVONzhM''@;'; put 'put ''NWx5VjNLaTJSWk1wSGJDNGhZTjBEUUhQaUlUUFVrMDBzUktBeEhwZ0ZueXdKa3krdmJrTnBtUkhQQjVQeHh2RFFXY2dHQTY0L0hRVklvdWJUUXFDUVl2Wk5YU0ZjNHFEU1MvRG0zbDlnZkRjTFJ5QmY5RUtoVGtXMXhZSzArSmhodE5QYWdYRGFxN2dZeXhPREt0eDRpL1d4WnU4UHBiSzdsWlZk''@;'; put 'put ''dS9PNWhrK3htSlYxaFliMFBsTjJsNVMyeEpzR09WOHl2WVlzcllSdGUzQ09qNk5ReHhqSmk4Q1RDK0R5UmQya0Q4aEk4QThULzVFZ1FCR3pSdUJCSnpKMXMyK0MvUkpFWXpwTmRua0FNTHJnT2JhS255WW1oV01CRDA2QVB4cnkrNzAxYWhPc0ZZd1JiVlBkRk5vdEpycVJGTkRxMXRZTDl0aUZm''@;'; put 'put ''QUtuQ2lxQmRHNXdOVDlkdmg4dnJBdkZLTFZDdUdBdXFRVldGOWJvaFl2b053U2szZDFyS294ZWVpaGt4M0t2MnVGSnAxTGY1OVRaL3YrcnFhbXBSL242aW1lVDh4azg0a0xhUDg2T25QZjdWeldkMXRRZGRtYVhDUTJvUjlzMGxieit3U0FlWXJucUVEZWg5blpHS0NOaXJFQnMxMU9lbEhIOTFX''@;'; put 'put ''cUoyTFErbnVKU1NFZ1VSTTlwb3U0TmxxUk9McExWUHNmMEVTTURET3hVaDRqZXVVV25uSHY0ZUxFcFloY1dLUXBkeVk0VEFjdHNKcmpFSXFqTTdLRFJnd2hUUFFHY0FCQnR5QzZ5YndJK0tBU1hIa2RqUFFBelZScmxGV1BOMkxsUXN5UFpGWXBwSUd5T2VOOUc3VWd0SFF1SEE3SHd6RlBoVE1j''@;'; put 'put ''RElSWWpsdFM1K0RWVk1yYTZtWHE5eU8xZ3ZtMXJSWTZxMkk2WFoxdGRTRnpFS0l1NVM5cVFGWHN0VHBoc2htWXZzV1JVOVFNNFJXZVpYWE5HK1NoRFJ2a29kZjYrUWJWUjJCN1o1bU5pcW8yNnF2cjJ2SjZZMnFqQnJpTldsVGJLcS9UZmJlOExmQktQdkVqZmtZSHdBczF5SW9TcUFYOW1VdTd0''@;'; put 'put ''eHBMK2pLc00wQW9wL05pSXVqb0VTNm96OGZ1aUJ2Y1VhMUN6RXlYY1FTRGJ0NklWelpoUzVKK0JzSm9xdmExZmIxT2tuTncyL29tSml5S2R0NFFyVzBtVnlOa3BPZTg0UGxzMDh2QTAvaTdwb2Ftdld0YWFwcFR5ZnhFZmlKV0ZmQVhGN21kTlAxZFlOSDhZbm9jQUhlRjlYOUZSVFF1RFFXclFp''@;'; put 'put ''RmpZU0JVaUlWM3JJNGVxZ3VYZGNhTEE1VjAvYnIzQ2txbElmNzZPVEI0Z3VrUnZnNndzUHp3dXJXQ253Qk1KZE1qUEVaYitBUmYwMjFhM29ZVTBBVXV1ak9Vcm5qUzQxY0k3cytlNDhJTHF6VHA5L2pabmlaTkx1aE9XRTNnRlNidnVsT1cxVkt1K2h2VWhpQjQxcmZaV3I4ZkhaTE5idXIyKzBI''@;'; put 'put ''UXFSRUowSlZqTVljcFZPOCtQeXVzakxhbExMUlpLVkJlQXpCRnQybVZseFpCaEptZnQyR0pzbE5kbGsxN2M4YytyNVlMYktGektQSG1uMnpqazFncEcxZ0t3M3hLYXZQMCtOK1czbEpucEs3bG9HK3RyTUdBampXdHlRZHJOY1Q2N0w1dSs3cDkzYlEwV0wvMEZ2UTNDbko0bnAwM21lQnlpSC9Q''@;'; put 'put ''L1grNEhtUHlPYUplZjRKZnAzdXBtWjlSby9vWnpuVXl6K0o1NFY2QUdWVmhQT2c1RHZPY0JzUDNaTCtvOVFQOWY1LzVCRGpISjZEOTNNbGdSamVHNGZzeVNCL3dVeDZ0dkxXWVRVWlJEeEpJdE4zcGF6WjY1NkU4dDdiUk95V2wwclFZMnkyNVNaOFNBUC8rMUtuRnhiY2lSeUo0aS9LZm1hTWQz''@;'; put 'put ''OUgyZlRTdyt2QkJPYzlza2tScTZRMElhMVhpWm5oclUvZDBac3V6VjdaNSt0Z25iYkZyYXVxTGJsYjdneVV3OStyemNjUDR5YUdoaytONGI1Vnk4VC9EUjhKNFF2bHRGY3F1V2QyaHJWa0JIbC9mQ05la2hQbDA0NnRpL1RHZzN4Y1pYZXRVL1dybDhIQzloTmcxZU1EcFJiVHlyQlBaOVRFRCt0''@;'; put 'put ''d216N3FVelVNWTlxR2NkYXBNZHAxcUFUMjV6Z2ZrOGZtNWJDNWhZUkp0dEo2R3JXdlh1TlMyKzFieUhOaXE3aHNDeFN2UVBiWU9vRktMbk02ZU9HRWcyU01uakhScnZWYXZ4eUxDRW1leHg4V0tlcWxyWWFJRkxwb3prUzEwY1dQN3luYnZIZXJ5L1F1emRCLzhMT2xkZXFzcmMwak9ITTd3UmZ5''@;'; put 'put ''cFQxdzk4K21yRjVVVS9sN21zQ3pQTnpNN0JtTVdmZzcrQloxWE05b3VqM3N4alVUME9wcGUxd3NEd0VNNnZVRjN3R0lrb3FpbEhNeVNTY2hKT2lTVGdRQkN5ZVprVTJNcVVCK29pMVZCZDM1bk1Cd001Y0c0VnlkcFY4eEJqdCtnVzNPT2pPcERDSGs4Tzl0NUpCdzVLdk1DODh6UlNQQzZqT1pJ''@;'; put 'put ''S0xmbDFKdmpXMWJ0ajJxc3EwM3pDdlRHbXRvVWN5bDB1VVhvdUo4NkY2cHZjWUxSTnFYeTc5UHIrSUxYUDFQYTd1QzVQelgrN1FVK1BjSDRONlh5NlNzY1hubWQxa3VyOFBSNlI5WS9QY0g0TjZYeTc4MGJQdXQyeHI4N09QOGErYlBZSG5nMnprWjFuQStzNDMxZU4wM0hlUlVmNTI1dC8zdzcy''@;'; put 'put ''ei9mZ2Q2V1MrckFHYWt2S1JiMFVoSGRmWWgxdU1BS0xra2VLOXJnZWVmNDZub05TUkpud1BQMURLS1ZOTWE2Y28zcU5lVWE3OWlvZEYyTmgzRHFuVnF4ZGNPTmlqWFd0K08xR3VaUWRZU1dhZGdOVW5Fc0tHNmF5YjZDUXdKSTc2bnJOOGhwZXg4NGVKbHpBNjVmRkN2V3BMWXRzNWM3UmtDdGYy''@;'; put 'put ''OW45ZTh5WFNlb3c2Syt2cFRveEpJaWduVGdMaUdnRnhIeVZxOFQ2Tmc2Z2JaU3FkYXViTEpPb0tObmFOMTJlV0M2VHJBR1RsMG4wTUJGdnVjdlhnbjRaYXVnbDBFdkxhaDlwNHA4L0lPOW94dmhOM2xOK0hKbCt0c21wVFdMQjJreFVuYlp1djBjZVRxaHlSUEk0dVFtOG5SSmt5ZHNLT2Z5RkFS''@;'; put 'put ''NW9tYzhsS01YNUh3dlVNUmpBWXFZNlhtVEtrVmlHa1VvNnNncG1nQlU2N09NQnNMOHMzV0VpV2NSZmlWdDVLbzE0Q3A1MXJYU1VUTFpZZGpscUp3RzgxUWFUQ0FNZm1rVFd0RWdueDRYZ0dlZDY2bmhLNlhuVmF5cEl1ek1IbC9COWtPMHMvMFFDZlJ0dWFBS0c0U29teGdOTGt5TTJhSklmVmJO''@;'; put 'put ''NkhYNnN5WU1BOFhHbzJCc0FNTjBONllnNktaRnZpZVQxejRpWDNaWnNucWxqY0ZJYm51blJuSjBZM2hXV29uMjV6UVRLSjdvZVFZSlZNMDJhWGdCVXpUcm9kdUVvOWR2M1BCU0FjQ3BkUnlja2xmMmNnUjhjZHZhS3N5MGFhdzVkM3ZIUklFbHhQaVBuU1hDZURTdDh1ajZYRWdKK0IwRnpQK2M1''@;'; put 'put ''UDRudVdhZGo4cHJPRExaR282RkRXd0h6NldmeStiU3Rad0tiL3R5dGtaRXExSE1yZjlnYlZsdEFNdmJBOHdkRzlXZ2dOOTAzNFp0aDFmV0FyQzFENm5ub0d4ajU2QUU2TnFOQzdRK0xSck9vL3NxQnRSVHBiUXp4MW5PWFF0MjJKYS9RTEFnRUhUeE02Wm9VTG9tYzdIbTFCVHk2UERkazdac3Vz''@;'; put 'put ''SXhmMG85UFlWY1lHZWxXTDFxZ3NKZjVIMzRXTzVSS253ZnpqWXlDM0ZNQ04zR3cza3JtRlFCWW0xZENBTjdEZmhXWFNEWlZad1N2YmJEYStQMHI1L2Y1eWxmYlVWblRjYlhIUFE3QTY2QXkwK3QyN3BVNzhyV25hUTlteE1uc3l3aXpjL2R5bk1TNTBhbmF6ZjFhSkVkMElxZDhjTDRzWVhYQytH''@;'; put 'put ''dWRYekU5KzlRbmJtTDhZS0V2cHRUSTNSQ3F4R0M2N2V0YTh2WEtDNXBheFJZbWtBNWJZOW42NHZtMEEzcitJaWR3Y0o0clgzVGVrYStiNGJ5MmpUM2o0NmduTGJIdGJZYjVnMTUyNHRxVzVvMy9HQk8yeFBadGh2bHBuamJTOXB6c2FHQm43MUM5eVhUR0RpZjdzaWdGZjEwbnhNWlFPcW1JYktY''@;'; put 'put ''ZXR3K3h0VDV5THJSa1dWaUlEOW5HL0hURyt3ZHByWDNONU5MVjNpZWlwZWVwM0orNGVEWThOQW91WFQvNk9qR2ZXVDNkUkYwRnRqeUJuVlhsOXBIT2lrRk1xTkR3Mk1IRjhpbGtaSDcxVDU2b1k5dlFIU3I3bWd3RWJxbllZQ0dHbjBiMWVEbklVdEl5TzVvVUNmTmdva254L3d0cm9haW9nWlhT''@;'; put 'put ''L2w0alBUNnkxdGNYaTk4OExQbkRLRVhXVDRseko1ejJmcit0YnNsdEIwU0t5a09kVDlHTHdiOXh2WmpOTEZlNlNaV3VpTmhIcVFVWTJFeXU0bFd1S0pkR2JuZlczQjdaMmQxUXBZVDN2SnlyOGZ2OTVEZXpnVDluT2hzOG52NFJiN1BZQnZXZzAyem94WTJnaG9yVENhZmNnejltb28rOWVRZXdP''@;'; put 'put ''a2swNFlDdlVPbmFrZTJvRWVuN3N4UXo5K3ZXRkdJcDlwTHZNTmMvRUg3UGM3U09UNG04Smt5UnJja2FjUHZKeStCWEhleDU2YnBma3dqMjkzbXhyalBnSVZlZGlqUkpEV3B3TVB6MnRFbFJCamx1eFdDSWJiWmpUNGYwY1B2MlZIYTNBTlVhU29Hc0NWUTZIQ2JIQjU5eHBDc2NXc2Y1UHpkcE4x''@;'; put 'put ''dXM1aDlwVWE2UThoaUxpNDEzYTdTSkVQWGlkaTV0VVY4NTRVZXVMS1BocVUzT0IzWnZTaGVLUkJTTjVmZ0hjZjREcE8vOGR6QjVLOVJlWDM1dWVWdkl5c0tzaDRLK2JuenEvZTVCYk45Q2FzUG9QOEt6MStXaElKVnlqTFBUYkk4SmRjcFhGZmVvZWxLMUkwck50R1ZyMmk2RW5VRHhFWnREK0lu''@;'; put 'put ''MzdIdFFkeVMwL1o0dHUwY2JscW5LM25iaTltMmMraHJQRDVkYnFGblYrYXVuN3o5ZSs1THZQMTcxWmVJTERmVE5RbWVaMmN3Rjk3K0hWOG5lL3QzS2d6UDF4L0w5cE9IcnQwa1gvOVNObCtmTjRJMnJDWHRSdS9aeEU2OGtsM0w3bGJqM0RyME0yTEJ2ZTk4N2o4OW03ajNvTlpHYUwrQ05vTGw3''@;'; put 'put ''VGUxTmkzNEEraFY4Z1R3VFRIam1iNjFtd281enppMTFEaFBybjUzNVFzTHlOMnJ2ckdBemltRDcwZS9JQmRneHZrMDY4ajNDSkxTN0I1QmVDYitQbnRtQ2FxUXkwcXN3T3VyTm9VSlRMa0ZDNElPZHVMWDZtZnJOeDBLTHQ5a1dNR2M5M3g4K0lmQUd4RStQamJPUDhBNEhkbHhNcGV6Vk12dmpx''@;'; put 'put ''SHplQkkvRGxDYjdMR2k1d3V3UFZacnpoZDRxajBZYkE4RTJNLzVZRnVRdjROTEhFL3R3RGRmUmg4RTJrTlFZd3ZBNng4WUQ5dnh6d0ZBb3QrUG83czc1L3R4TW1nUW52eGJYbFJWbDQvMVZ2NzFOUVlzV3JESkxKcHl2L0xHbWVjUXpHWmh4bTYwU2JyY2I4cEp2VU5EOXEwM3ZMVkVXd3ZxOStV''@;'; put 'put ''MGI5aHVnMi9NV2RjV29wSEdvU0ZaMXI0NVoyaHk2S3FKTVhsUUh0amFVNXVwN1docTNQQmJkRnovaFcvUktWL3pPWmdEVzk3NFYzL0REaDVrZitpSDRWcmxjOXIzN1h3SzNnQnM4TXEvZUVkOVAxYVQreVU4SzEvR2c4SFRyOGNSL0cxNkt0RXplb3hyWXhuc0Jkd0ZIcG05Ly83WnBZdWVwNS8x''@;'; put 'put ''OHYzQUFCZlQ0QVFHRjBsN3BRaEFQZkpJLzdOUGV5NStqOW1EMzZubkk5ZWdIZktFRDZoV2pIVWlvV1VrR0pucHFmUTZNSGNRYlI4d1ltTEMyRXgzakdTM0NWbFlEU3RQUGNGckRVckVZOUVxdXlNRTRhSGRHY3FEVUhMbDJLY0l4STdjV1U5MmtKVmNDQzB2QTFSNy9Td3h5bllJMWI5bllPVGVl''@;'; put 'put ''ZTlZRnhHNmR4VE92M2RJM1JXVXVhNE1pOHJQOVFRSGxEZEtGN3ZuMkpIS25jZjdlajNtUWs5dnorRjJ0aWVvdTZtMzBHUDI5SFlNMGU5c3dVV2tFTjhKdWs1OGh0QjlHTTdzYWUxMzBuUGFtVk1EYm8wQW10ZHY5eE5oYVluKzVwd1J4cys0TUR6cmRlYnBTZTEvL2JDSnQ4WTJQR3lDMTJIQWMw''@;'; put 'put ''QzM0MXAxcmVBSnJUNERybjlEdmI2eVJzdXZYOHBlbDQ3blhyK29YVWR6QjNPdnY1SzkzbjBxOS9xNTdQV0ZlZTFzdEcza0hwWWpUOEM4SXdFbmhubHZYRllEczAvbVZOUGs0T0VlRm5SWmM1RnhranRkZjFKeHdtT3ZYS3lvY2RkamEzRkQ0MnlPRzRpelA1MHo5cGV5T01pN2p0dERXcnIvTlha''@;'; put 'put ''T2owYnZwRDJ3VlR0eEI5TjZPTGl2WDM5ZnZ6U0svaC9pRXp6NkFBRUFBQUFCQUFCVkVyVCtYdzg4OVFBZkErZ0FBQUFBMDhHZGhnQUFBQURVdnFiMS96Yis0d1NLQTg0QUFBQUlBQUlBQUFBQUFBQjQybU5nWkdCZ1B2ZnZQQU1EeStiL1p2OXpXTG9ZZ0NMSWdORVFBS2NOQnJnQUFBQjQybldV''@;'; put 'put ''eldzVFVSVEZ6NzB6RkVFSTJFUlFRb3pHWUV4TXFrbTEwV290YVdwaUJXdnNScXhZRjFJWExsUzZVRVFGa2E1RVJWMjRjMVhwMG9WS2QzYWhDQVg5QzBSUXV0Q0NDaFZLb1M2TTV6NHpFcE9hY0RqejhkNjhlMy92ek1nU1RvTS9PVXBGcVJRcU1vK1NUaUdoRTRoN1JhVDFDYlpJQjBweUJUM1VO''@;'; put 'put ''bm1BTGoyQmd4emZMeGVSbC9Yb2s5bjZWMzNKNDl2bzFGUEk4djRtdlVtZHhRNjlqbDA2aW00OWp3eVBDMjQ4NStvd2l2WWMrbUZaUWRpN3hIbUxDT3NNYXZvTU9WMmgzMENWZFZUMUM4OC9vaW9oREdrYzYvUXBqdWtCbEx3enFIaytsZUg5ZTZnNmYrem14TGxXa3M4YjBoK0krRVZzMU5mWXdI''@;'; put 'put ''bHI5QzY2NVJxT3NPWmxlazRXc0ZOcjlWOHl6cHJLU09rZFZEU0I3ZlNzamlBbEU0anBKR3NmdzRBSTlvdlU1N1JBSG9LeTl3Z0R2RjdXcTI1OHhlYklmVEpjd21hWjVMd3hzcXloMDZ0eTdUd2k3RGVpSVhUSlF5UWxpWFAwbEx6Q0huSWZkR3ZlUXQ1cWxEbldzcHYzM3BHeDFUWEZQUUQyU2Rs''@;'; put 'put ''ZHo1SlhnbjJGblJiL2xaL2tHc2JQMkRWSlF2VzN4by8ralpyM29rZ0g3RnFsbVFaTDQ5Y3M0MGZPZXBJeVZxdkllMEczWHNpdVdlVDJ4cGpSUDFNZjlESUtmOW0xeW5KaGJ2eWFaZnlNczduMWEydTJ1dlZ1NndkdU9lSytXTC9NY3RieHNKcWEvWGpUdVdYTjlydmhaUFdKOWI0bnU3MnNINDRo''@;'; put 'put ''KzNBWlpBNHNoKzQ4OEhIRVpBUXhZMnY5dGJseFpXK0IreUhrL0E3V3lkeGFkdHFjV2JZOHRUbno3VElXdU8yUE1mcVAyenZnY21oN2FQd2E3NExsc2RVdDR6TEQ3RFdFbi9SUmFwQ2E1WmhEdklaNlQvRE1WbTlqMmxpVGRjTmIrUE85NFRPQmFVRDdrUGN1OE5zUlJhLzdMcXhGTDlVdjArUzE3''@;'; put 'put ''TDRWOEo4akxjUFlTbkYvNjk5ZFBqek81YjZ1OHErZzhoc3BZOWZPZU5wRndsMUk0bkFBQVBDMWx0K3VNcHRPOTNIK042ZWJPN2U1TlVGNmtpUGlDQi9paUFpSkhvNklPT1E0SXFLSEl5VGlrQjRPa1pDSU9FSWlJdUtJRUxtSGtPZ2hZa1FQSVJFUlIvUWdJdEpEeUNFUjkzSncvSDRRQkdYKzJZ''@;'; put 'put ''YjJ1NkN1TkV6QTMrRWorQXB1ZGYvb1B1OXVJUlpFUUpKSUR0bEg2ajBqUGNzOTV5YkJOR1k2TWI4eHA4MFo4NnE1YkRZc2xLVnQ1YXpMMWpQcmkwMjBUZGoyYk5lMmhwMndqOXJuN0hsN3hRRTVFbzZDbytZVW5XUE9ySFBQV1VNaGxFUEgwVlYwRXpYUVZxK2psK3ZkNlJ2dVcrdjM5cy8zWDdx''@;'; put 'put ''bVhHVlhlMkJpWUh2Z3dpMjZsOXpWUVc1d1kvQVNZN0VaN0FBenNJNkg4MHg3Y3A1clQ4dXJlMGU4Uzk1VEhNVlQrRHBleE12NEZmN3FZMzFydnJ5djd1djRIWDdLTC91VC9nLytMU0pEckJCNW9rU1VpWFBpbG1nU3IrUjdNazFteUJVeVQ1YklNbmxOVFZPZnFTeFZvSGFwQ3ZWTXArazVlb0Zl''@;'; put 'put ''b2RmcElsMEtKQUozZ1hyZ0dVREFBYnlBQlRJWUJudmdHRlNCQVc3QUkzaGlFc3dKYzhIVW1BZW14WFRZSlhhVjNXQjMyR08yR3V3TC9nb2F3WnRnSTlqbUxKeVBBNXpCM1hNTjdpVmtDWTJIYXFGNjZEbHNDcnZDVlBpSmgzbVVmOGNmOGxXK3hqL3dMUUVTWEFJcjZNS3NVQkxLd3Fsd0tkd0tU''@;'; put 'put ''ZUZQeEJiQkl1R0lGc21LaUlpSlFJeUtDWEZNbkJUbnhjVzNxU2dVZFVXcDZJRTBMbjJVRnFWdlVrSGFsWTZrTStsS1p1Vk4rVUN1eUJkeVRhN0xIY1drZUJWVzBaV2tzcUJzS0JXbEdjTmlrN0ZDN0xjS3E3S2FWRlBxalBwSi9hcm0xQzMxVUsycWhucXZOdjdURUkzU1JyVkpyYWo5MU82MHB0''@;'; put 'put ''WWNlaGhxNnpaOVdjL3BSZDNRYi9SSC9VbC9pVnZpN3ZoVWZEYitKWjZONS84Q0RCRE15QUFCQUFBQlBBQm9BQW9BUVFBRUFBSUFLQUE1QUlzQUFBQ1RBbXNBQXdBQmVOcU5rc3RPd2tBVWh2OFdOS0RHS0RIR3NPcktHQk81cWVCdFlkU3dVZFJJaEswZ0ZSckJZaWxHWGZvMmJsejZERjZld0ky''@;'; put 'put ''UDREUDRkeml0TjJMSXBKMXY1dnpuUHpPbkJSRERPMExRd2xFQU8zeDZyR0dPcXg3ckdFZFRPSVFOM0FxSHNZSkg0U0hFOFNFOGpGa3RJaHhCUmtzSVJ4SFhUb1JIc2FUNVBtTW9hUS9DRTVqU3c4S1RpT2t6d2srWTF1ZUZuNUhTTjRWZkVOSGJ3cThZMGE5Ny9CWkNYTC9ETm15MGNRTUhGdXBv''@;'; put 'put ''d0lXQmV6NFpwSkJHbGxSbDFLQ3VvVFFkY3BGemkxa2Q1bDRnZ1FKTTVqbkt5V1lmZkpWSmxVWGFVcnMxSEhHbmppNjVRbldhbVNrMTFuR01YWlN4VCtybnRSQjQrVTZEVmpSKzFTeHg1VkJycVpNYjM4NHdXTjBTK1pRNm0wcXZLd2QwTVRsNzJUWEdLdVJEeHIzWUh1ZmFQMzN6ZXUxeXRZWWt4''@;'; put 'put ''OVVQWjF2NXRnTFhCR00yMTM1T1I3THFqTHJjN2ZJcitab2taNzltUzkzMXEyYXk3ejM3N2YzdFpaazdWWndwSHpmb1hVRTZtVmRSZ3lPcllqbWVNSTFWdmhleEhQeFBPWnhUWjZvNmpueUZmT0JZeENWdllqSGlVTlA4QkxoWmg1Y0FBSGphYlpOWGJCeFZGSWEvMzdGMzNUWk83NzFYeDE3M3hD''@;'; put 'put ''a3VhOGV4WXljdWNlekVTY2E3WTJmeGVoZkd1M0ZzdWdRQ0hrRHd3alBsQ1JDOUNpUjRRS0pYMFhzSDBYbWtCKy9jQ1Y0azdzTjgveG1kODU4ejk5NGhDM2VkRzJBZS83TlVtMzZReFF5eXljR0huMXp5eUtlQVFnTE1wSWhaekdZT2M2ZnE1N09BaFN4aU1VdFl5aktXczRLVnJHSTFhMWpMT3Rh''@;'; put 'put ''emdZMXNZak5iMk1vMnRsUE1Ea29vSlVnWjVWUlFTUlhWMUxDVFhkU3ltejNzWlI5MTFOTkFJeUdhYUdZL0xSeWdsVFlPMGs0SGh6aE1KMTEwMDhNUmVqbEtILzBjNHpnRG5PQWtwN0M0bmF1NG1wdTVnVHQ0bit1NWxxZjVtRHU1amJ0NW5tZTVoMEhDM0VpRUY3RjVqaGQ0bFpkNG1WZjRsaUhl''@;'; put 'put ''NERWZTUxNkcrWVdiZUpzM2VZdlRmTStQWE1jRlJCbGhsQmh4YmlIQlJWeUl3eGdwa3B4aG5PODR5eVFUWE15bFhNSmozTXJsWE1ZVlhNa1AvTVRqeXRJTVpTdEhQdm41aTc4NUo1U3JQT1ZMS2xDaEFwcXBJczNTYk0zaFYzN1RYTTNUZkMzUVFpM2lkOTdSWWkzUlVpM1RjcTNnYzc3UVNxM1Nh''@;'; put 'put ''cTNSV3EzVGVtM1FSbTNpUHU3WFptM1JWbTNUZGhWcmgwcjRnei81a3E5VXFxREtWSzRLVmFwSzFhclJUdTFTclhacmovWnFIMCtvVHZWcVVDTmY4NDFDdk10bmZNQ0hmTVNudk1jbmFsS3o5cXRGQjlTcU5oMVV1enAwU0lmVnFTNTFxMGRIMU1zRFBNZ2pQTXBEUE13MTNLV2pQTU9UUEtVK2Zs''@;'; put 'put ''YS9qdW00Qm5SQ0ozVktsZ1lWVmtTMmh2eDFvMWJZU2NUOWxxR3ZidEN4ejlnK3k0Vy9MakdjaU5zamZzdlExeGkyMGtrUmc4YXBDaXZwRDNrV3RtRitLSkpJV3VHd0hVL20yLzlLZjhpenNqMnJrUEd3WFJRMmh4T2pvNVpKTFJ6T0NQd3RubnZVWTR2bkV6VXNiTTJzSE1rSWZHMVdPSlcwZlRH''@;'; put 'put ''RE50TXZadEJ1WHNaZEZMWm5lc1F6UGRwTmV0eUZ2OE9iSVdFWTZEaWRpZzliVG1vMFpxV1NnVVJtNU9zMEhSelRvVE96ZzVQWm9kTjBjQXk2VE5XWUMzOHFIaTBwclF4NkxQTjFtNlNrbWFiSG15WmxtTlBqUk9QRE9hbjBNOUR6bjhsU21aRy94OXZCbEdGQmJ6anFoRk9qUXpIN2JNRjRodTdM''@;'; put 'put ''MEJQVDJ0ZHZacHgwa2Q4L2ZkcVQwNmVkbmpoWVZ1V3lMRmpwNngxMnJLbHJOVzdRYXh6R1hlVDFScUsyWTQ5RngvTEd6NnQwWFdtb3Z0cGpqY2NHajQyK1BtTTA0U0w5TmxoU0V2Ulk1ckhjWTRYSFNzTmdVM1lvNVNUY29LS3BJY2NxdG1MSmZNdWR4VWozN3FkbGtUWDkyZWs0WUowZjBDUzYz''@;'; put 'put ''ZE95d1B0OWpEYjdtdFo1VnZvMFRISXlHb3U0eWJuVzJOUWVSV3duTDJKNzZoKzNaYmNoQUFBQWVOcGo4TjdCY0NJb1lpTWpZMS9rQnNhZEhBd2NETWtGR3huWW5UWkpNakpvZ1JpYmVUZ1lPU0FzTVRZd2k4TnBGN01EQXlNREo1RE42YlNMQWNwbVpuRFpxTUxZRVJpeHdhRWpZaU56aXN0R05S''@;'; put 'put ''QnZGMGNEQXlPTFEwZHlTQVJJU1NRUWJPYmpZT1RSMnNINHYzVURTKzlHSmdhWHphd3BiQXd1TGdEK0hDVmdBQUFBQUFGWW1QWjNBQUE9KSBmb3JtYXQoIndvZmYiKTtmb250LXdlaWdodDo2MDA7Zm9udC1zdHlsZTpub3JtYWx9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICB7Ym94''@;'; put 'put ''LXNpemluZzpib3JkZXItYm94fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2RzLWdsb2JhbC1iYXNlOiAyMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdHtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0''@;'; put 'put ''OjEuMTU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5e21hcmdpbjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGFydGljbGUsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIGFzaWRlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBkZXRhaWxzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBmaWdjYXB0aW9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBmaWd1cmUsIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIGZvb3RlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBtYWluLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBtZW51LCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICBuYXYsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHNlY3Rpb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHN1bW1hcnl7ZGlzcGxheTpibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhdWRpbywgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgY2FudmFzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBwcm9ncmVzcywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2t9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgYXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBwcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICB0ZW1wbGF0ZSwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW2hpZGRlbl17ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOm9iamVjdHN9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgYTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGE6aG92ZXJ7b3V0bGluZS13aWR0aDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246''@;'; put 'put ''dW5kZXJsaW5lOy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc3Ryb25ne2ZvbnQt''@;'; put 'put ''d2VpZ2h0OmluaGVyaXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBkZm57Zm9udC1zdHlsZTppdGFsaWN9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaDF7Zm9udC1zaXplOjJlbTttYXJnaW46LjY3ZW0gMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBtYXJre2JhY2tncm91bmQtY29sb3I6I2ZmMDtjb2xvcjojMDAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIHNtYWxse2ZvbnQtc2l6ZTo4MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc3ViLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2Vs''@;'; put 'put ''aW5lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHN1Yntib3R0b206LS4yNWVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHN1cHt0b3A6LS41ZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaW1ne2JvcmRlci1zdHlsZTpub25lfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHN2Zzpub3QoLnNhc2pzLXJvb3Qpe292ZXJmbG93OmhpZGRlbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBjb2RlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBrYmQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIHByZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc2FtcHtmb250LWZhbWlseTptb25vc3BhY2U7Zm9udC1zaXplOjFlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBmaWd1cmV7bWFyZ2luOjFlbSA0MHB4fS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIGhye2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjA7b3ZlcmZsb3c6dmlzaWJsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBidXR0b24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0LCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICBvcHRncm91cCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc2VsZWN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICB0ZXh0YXJlYXtmb250OmluaGVyaXQ7bWFyZ2luOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgdGV4dGFy''@;'; put 'put ''ZWF7bGluZS1oZWlnaHQ6MS4xNX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBvcHRncm91cHtmb250LXdlaWdodDo3MDB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBpbnB1dHtvdmVyZmxv''@;'; put 'put ''dzp2aXNpYmxlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJ1dHRvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9uLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICBodG1sIFt0eXBlPWJ1dHRvbl0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIFt0eXBlPXJlc2V0XSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW3R5cGU9c3VibWl0XXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9ufS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW3R5cGU9cmVzZXRd''@;'; put 'put ''OjotbW96LWZvY3VzLWlubmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBbdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVye2JvcmRlci1zdHlsZTpub25lO3BhZGRpbmc6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBidXR0b246LW1vei1mb2N1c3Jp''@;'; put 'put ''bmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIFt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIFt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW3R5''@;'; put 'put ''cGU9c3VibWl0XTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOjFweCBkb3R0ZWQgQnV0dG9uVGV4dH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBmaWVsZHNldHtib3JkZXI6MXB4IHNvbGlkICNjMGMwYzA7bWFyZ2luOjAgMnB4O3BhZGRpbmc6LjM1ZW0gLjYyNWVtIC43NWVtfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGxlZ2VuZHtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtkaXNwbGF5OnRhYmxlO21heC13aWR0aDoxMDAlO3BhZGRpbmc6MDt3aGl0ZS1zcGFjZTpub3JtYWx9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''dGV4dGFyZWF7b3ZlcmZsb3c6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBbdHlwZT1jaGVja2JveF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgW3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uey13ZWJraXQtYXBwZWFy''@;'; put 'put ''YW5jZTpidXR0b247Zm9udDppbmhlcml0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xyLWNvbG9yLW5ldXRyYWwtMDogd2hpdGU7LS1jbHItY29sb3ItbmV1dHJhbC01MDogI2ZhZmFmYTstLWNsci1jb2xvci1uZXV0cmFsLTEwMDogI2YyZjJmMjst''@;'; put 'put ''LWNsci1jb2xvci1uZXV0cmFsLTIwMDogI2U4ZThlODstLWNsci1jb2xvci1uZXV0cmFsLTMwMDogI2RlZGVkZTstLWNsci1jb2xvci1uZXV0cmFsLTQwMDogI2NjY2NjYzstLWNsci1jb2xvci1uZXV0cmFsLTUwMDogI2IzYjNiMzstLWNsci1jb2xvci1uZXV0cmFsLTYwMDogIzhjOGM4Yzst''@;'; put 'put ''LWNsci1jb2xvci1uZXV0cmFsLTcwMDogIzY2NjY2NjstLWNsci1jb2xvci1uZXV0cmFsLTgwMDogIzQ1NDU0NTstLWNsci1jb2xvci1uZXV0cmFsLTkwMDogIzMzMzMzMzstLWNsci1jb2xvci1uZXV0cmFsLTEwMDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLW5ldXRyYWwtMDogYmxhY2s7LS1j''@;'; put 'put ''bHItY29sb3Itb24tbmV1dHJhbC01MDogYmxhY2s7LS1jbHItY29sb3Itb24tbmV1dHJhbC0xMDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLW5ldXRyYWwtMjAwOiBibGFjazstLWNsci1jb2xvci1vbi1uZXV0cmFsLTMwMDogYmxhY2s7LS1jbHItY29sb3Itb24tbmV1dHJhbC00MDA6IGJsYWNr''@;'; put 'put ''Oy0tY2xyLWNvbG9yLW9uLW5ldXRyYWwtNTAwOiBibGFjazstLWNsci1jb2xvci1vbi1uZXV0cmFsLTYwMDogd2hpdGU7LS1jbHItY29sb3Itb24tbmV1dHJhbC03MDA6IHdoaXRlOy0tY2xyLWNvbG9yLW9uLW5ldXRyYWwtODAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1uZXV0cmFsLTkwMDog''@;'; put 'put ''d2hpdGU7LS1jbHItY29sb3Itb24tbmV1dHJhbC0xMDAwOiB3aGl0ZTstLWNsci1jb2xvci1hY3Rpb24tNTA6ICNlM2Y1ZmM7LS1jbHItY29sb3ItYWN0aW9uLTEwMDogI2M4ZWFmOTstLWNsci1jb2xvci1hY3Rpb24tMjAwOiAjOWJkOGYzOy0tY2xyLWNvbG9yLWFjdGlvbi0zMDA6ICM3OWM2''@;'; put 'put ''ZTY7LS1jbHItY29sb3ItYWN0aW9uLTQwMDogIzQ5YWVkYTstLWNsci1jb2xvci1hY3Rpb24tNTAwOiAjMTc5YmQzOy0tY2xyLWNvbG9yLWFjdGlvbi02MDA6ICMwMDcyYTM7LS1jbHItY29sb3ItYWN0aW9uLTcwMDogIzAwNjQ4ZjstLWNsci1jb2xvci1hY3Rpb24tODAwOiAjMDA1NjdhOy0t''@;'; put 'put ''Y2xyLWNvbG9yLWFjdGlvbi05MDA6ICMwMDRiNmI7LS1jbHItY29sb3ItYWN0aW9uLTEwMDA6ICMwMDM2NGQ7LS1jbHItY29sb3Itb24tYWN0aW9uLTUwOiBibGFjazstLWNsci1jb2xvci1vbi1hY3Rpb24tMTAwOiBibGFjazstLWNsci1jb2xvci1vbi1hY3Rpb24tMjAwOiBibGFjazstLWNs''@;'; put 'put ''ci1jb2xvci1vbi1hY3Rpb24tMzAwOiBibGFjazstLWNsci1jb2xvci1vbi1hY3Rpb24tNDAwOiBibGFjazstLWNsci1jb2xvci1vbi1hY3Rpb24tNTAwOiBibGFjazstLWNsci1jb2xvci1vbi1hY3Rpb24tNjAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1hY3Rpb24tNzAwOiB3aGl0ZTstLWNs''@;'; put 'put ''ci1jb2xvci1vbi1hY3Rpb24tODAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1hY3Rpb24tOTAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1hY3Rpb24tMTAwMDogd2hpdGU7LS1jbHItY29sb3Itc2Vjb25kYXJ5LWFjdGlvbi01MDogI2Y3ZTZmZjstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9u''@;'; put 'put ''LTEwMDogI2U2Y2FmMTstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTIwMDogI2QyYWFlNDstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTMwMDogI2MwOTBkNTstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTQwMDogI2FmNzNjOTstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0''@;'; put 'put ''aW9uLTUwMDogIzllNTdiYzstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTYwMDogIzhhMzlhYzstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTcwMDogIzc4MWQ5ZjstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTgwMDogIzY4MDA5NDstLWNsci1jb2xvci1zZWNvbmRhcnkt''@;'; put 'put ''YWN0aW9uLTkwMDogIzRmMDA3MDstLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTEwMDA6ICMzMjAwNDc7LS1jbHItY29sb3Itb24tc2Vjb25kYXJ5LWFjdGlvbi01MDogYmxhY2s7LS1jbHItY29sb3Itb24tc2Vjb25kYXJ5LWFjdGlvbi0xMDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLXNl''@;'; put 'put ''Y29uZGFyeS1hY3Rpb24tMjAwOiBibGFjazstLWNsci1jb2xvci1vbi1zZWNvbmRhcnktYWN0aW9uLTMwMDogYmxhY2s7LS1jbHItY29sb3Itb24tc2Vjb25kYXJ5LWFjdGlvbi00MDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLXNlY29uZGFyeS1hY3Rpb24tNTAwOiB3aGl0ZTstLWNsci1jb2xv''@;'; put 'put ''ci1vbi1zZWNvbmRhcnktYWN0aW9uLTYwMDogd2hpdGU7LS1jbHItY29sb3Itb24tc2Vjb25kYXJ5LWFjdGlvbi03MDA6IHdoaXRlOy0tY2xyLWNvbG9yLW9uLXNlY29uZGFyeS1hY3Rpb24tODAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1zZWNvbmRhcnktYWN0aW9uLTkwMDogd2hpdGU7LS1j''@;'; put 'put ''bHItY29sb3Itb24tc2Vjb25kYXJ5LWFjdGlvbi0xMDAwOiB3aGl0ZTstLWNsci1jb2xvci1kYW5nZXItNTA6ICNmZmYyZjA7LS1jbHItY29sb3ItZGFuZ2VyLTEwMDogI2ZlZGRkNzstLWNsci1jb2xvci1kYW5nZXItMjAwOiAjZmNjNWJiOy0tY2xyLWNvbG9yLWRhbmdlci0zMDA6ICNmNTll''@;'; put 'put ''OGY7LS1jbHItY29sb3ItZGFuZ2VyLTQwMDogI2YyNzk2MzstLWNsci1jb2xvci1kYW5nZXItNTAwOiAjZjM1ZTQ0Oy0tY2xyLWNvbG9yLWRhbmdlci02MDA6ICNmNTJkMGE7LS1jbHItY29sb3ItZGFuZ2VyLTcwMDogI2RiMjEwMDstLWNsci1jb2xvci1kYW5nZXItODAwOiAjYzIxZDAwOy0t''@;'; put 'put ''Y2xyLWNvbG9yLWRhbmdlci05MDA6ICM5OTE3MDA7LS1jbHItY29sb3ItZGFuZ2VyLTEwMDA6ICM2NjBmMDA7LS1jbHItY29sb3Itb24tZGFuZ2VyLTUwOiBibGFjazstLWNsci1jb2xvci1vbi1kYW5nZXItMTAwOiBibGFjazstLWNsci1jb2xvci1vbi1kYW5nZXItMjAwOiBibGFjazstLWNs''@;'; put 'put ''ci1jb2xvci1vbi1kYW5nZXItMzAwOiBibGFjazstLWNsci1jb2xvci1vbi1kYW5nZXItNDAwOiBibGFjazstLWNsci1jb2xvci1vbi1kYW5nZXItNTAwOiBibGFjazstLWNsci1jb2xvci1vbi1kYW5nZXItNjAwOiBibGFjazstLWNsci1jb2xvci1vbi1kYW5nZXItNzAwOiB3aGl0ZTstLWNs''@;'; put 'put ''ci1jb2xvci1vbi1kYW5nZXItODAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1kYW5nZXItOTAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1kYW5nZXItMTAwMDogd2hpdGU7LS1jbHItY29sb3Itd2FybmluZy01MDogI2ZmZmFlNjstLWNsci1jb2xvci13YXJuaW5nLTEwMDogI2ZmZjRjNzstLWNs''@;'; put 'put ''ci1jb2xvci13YXJuaW5nLTIwMDogI2ZmZWVhODstLWNsci1jb2xvci13YXJuaW5nLTMwMDogI2ZlZTI3MjstLWNsci1jb2xvci13YXJuaW5nLTQwMDogI2Y4Y2YyYTstLWNsci1jb2xvci13YXJuaW5nLTUwMDogI2VmYzAwNjstLWNsci1jb2xvci13YXJuaW5nLTYwMDogI2U2YjAwMDstLWNs''@;'; put 'put ''ci1jb2xvci13YXJuaW5nLTcwMDogI2Q2OWEwMDstLWNsci1jb2xvci13YXJuaW5nLTgwMDogI2FkNzYwMDstLWNsci1jb2xvci13YXJuaW5nLTkwMDogIzhmNWEwMDstLWNsci1jb2xvci13YXJuaW5nLTEwMDA6ICM2MTMyMDA7LS1jbHItY29sb3Itb24td2FybmluZy01MDogYmxhY2s7LS1j''@;'; put 'put ''bHItY29sb3Itb24td2FybmluZy0xMDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLXdhcm5pbmctMjAwOiBibGFjazstLWNsci1jb2xvci1vbi13YXJuaW5nLTMwMDogYmxhY2s7LS1jbHItY29sb3Itb24td2FybmluZy00MDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLXdhcm5pbmctNTAwOiBibGFj''@;'; put 'put ''azstLWNsci1jb2xvci1vbi13YXJuaW5nLTYwMDogYmxhY2s7LS1jbHItY29sb3Itb24td2FybmluZy03MDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLXdhcm5pbmctODAwOiBibGFjazstLWNsci1jb2xvci1vbi13YXJuaW5nLTkwMDogYmxhY2s7LS1jbHItY29sb3Itb24td2FybmluZy0xMDAw''@;'; put 'put ''OiB3aGl0ZTstLWNsci1jb2xvci1zdWNjZXNzLTUwOiAjZGZmMGQwOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtMTAwOiAjYmNlNDlhOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtMjAwOiAjNzNkYzFlOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtMzAwOiAjNjhjNzFhOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtNDAwOiAj''@;'; put 'put ''NWViNzE1Oy0tY2xyLWNvbG9yLXN1Y2Nlc3MtNTAwOiAjNWFhMjIwOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtNjAwOiAjNGI5NzBjOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtNzAwOiAjM2M4NTAwOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtODAwOiAjMzA2YjAwOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtOTAwOiAj''@;'; put 'put ''MjU1MjAwOy0tY2xyLWNvbG9yLXN1Y2Nlc3MtMTAwMDogIzFlNDIwMDstLWNsci1jb2xvci1vbi1zdWNjZXNzLTUwOiBibGFjazstLWNsci1jb2xvci1vbi1zdWNjZXNzLTEwMDogYmxhY2s7LS1jbHItY29sb3Itb24tc3VjY2Vzcy0yMDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLXN1Y2Nlc3Mt''@;'; put 'put ''MzAwOiBibGFjazstLWNsci1jb2xvci1vbi1zdWNjZXNzLTQwMDogYmxhY2s7LS1jbHItY29sb3Itb24tc3VjY2Vzcy01MDA6IGJsYWNrOy0tY2xyLWNvbG9yLW9uLXN1Y2Nlc3MtNjAwOiBibGFjazstLWNsci1jb2xvci1vbi1zdWNjZXNzLTcwMDogd2hpdGU7LS1jbHItY29sb3Itb24tc3Vj''@;'; put 'put ''Y2Vzcy04MDA6IHdoaXRlOy0tY2xyLWNvbG9yLW9uLXN1Y2Nlc3MtOTAwOiB3aGl0ZTstLWNsci1jb2xvci1vbi1zdWNjZXNzLTEwMDA6IHdoaXRlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXM6IC4xNXJlbTst''@;'; put 'put ''LWNsci1nbG9iYWwtYm9yZGVyd2lkdGg6IC4wNXJlbTstLWNsci1nbG9iYWwtYXBwLWJhY2tncm91bmQ6ICNmYWZhZmE7LS1jbHItZ2xvYmFsLXNlbGVjdGlvbi1jb2xvcjogI2Q4ZTNlOTstLWNsci1nbG9iYWwtb24tc2VsZWN0aW9uLWNvbG9yOiBibGFjazstLWNsci1nbG9iYWwtaG92ZXIt''@;'; put 'put ''Y29sb3I6ICNlOGU4ZTg7LS1jbHItZ2xvYmFsLWNvbnRlbnQtaGVhZGVyLWZvbnQtY29sb3I6IGJsYWNrOy0tY2xyLWdsb2JhbC1mb250LWNvbG9yOiAjNjY2NjY2Oy0tY2xyLWdsb2JhbC1zdWNjZXNzLWNvbG9yOiAjNWFhMjIwOy0tY2xyLWdsb2JhbC1lcnJvci1jb2xvcjogI2MyMWQwMDst''@;'; put 'put ''LWNsci1jbG9zZS1jb2xvci0tbm9ybWFsOiAjOGM4YzhjOy0tY2xyLWNsb3NlLWNvbG9yLS1ub3JtYWwtb3BhY2l0eTogLjI7LS1jbHItY2xvc2UtY29sb3ItLWhvdmVyOiBibGFjazstLWNsci1jbG9zZS1jb2xvci0taG92ZXItb3BhY2l0eTogLjU7LS1jbHItcG9wb3Zlci1ib3gtc2hhZG93''@;'; put 'put ''LWNvbG9yOiByZ2JhKDE0MCwgMTQwLCAxNDAsIC4yNSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItZm9udDogTWV0cm9wb2xpcywgQXZlbmlyIE5leHQsIEhlbHZldGljYSBOZXVlLCBBcmlhbCwgc2Fucy1zZXJpZjstLWNsci1kaXNwbGF5LWZv''@;'; put 'put ''bnQ6IHZhcigtLWNsci1mb250KTstLWNsci1mb250LXdlaWdodC1saWdodDogMjAwOy0tY2xyLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDstLWNsci1mb250LXdlaWdodC1zZW1pYm9sZDogNTAwOy0tY2xyLWZvbnQtd2VpZ2h0LWJvbGQ6IDYwMDstLWNsci1mb250LXdlaWdodC1leHRyYWJv''@;'; put 'put ''bGQ6IDYwMDstLWNsci1oMS1jb2xvcjogdmFyKC0tY2xyLWdsb2JhbC1jb250ZW50LWhlYWRlci1mb250LWNvbG9yKTstLWNsci1oMS1mb250LXdlaWdodDogdmFyKC0tY2xyLWZvbnQtd2VpZ2h0LWxpZ2h0KTstLWNsci1oMS1mb250LWZhbWlseTogdmFyKC0tY2xyLWRpc3BsYXktZm9udCk7''@;'; put 'put ''LS1jbHItaDItY29sb3I6IHZhcigtLWNsci1nbG9iYWwtY29udGVudC1oZWFkZXItZm9udC1jb2xvcik7LS1jbHItaDItZm9udC13ZWlnaHQ6IHZhcigtLWNsci1mb250LXdlaWdodC1saWdodCk7LS1jbHItaDItZm9udC1mYW1pbHk6IHZhcigtLWNsci1kaXNwbGF5LWZvbnQpOy0tY2xyLWgz''@;'; put 'put ''LWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWNvbnRlbnQtaGVhZGVyLWZvbnQtY29sb3IpOy0tY2xyLWgzLWZvbnQtd2VpZ2h0OiB2YXIoLS1jbHItZm9udC13ZWlnaHQtbGlnaHQpOy0tY2xyLWgzLWZvbnQtZmFtaWx5OiB2YXIoLS1jbHItZGlzcGxheS1mb250KTstLWNsci1oNC1jb2xvcjog''@;'; put 'put ''dmFyKC0tY2xyLWdsb2JhbC1jb250ZW50LWhlYWRlci1mb250LWNvbG9yKTstLWNsci1oNC1mb250LXdlaWdodDogdmFyKC0tY2xyLWZvbnQtd2VpZ2h0LWxpZ2h0KTstLWNsci1oNC1mb250LWZhbWlseTogdmFyKC0tY2xyLWRpc3BsYXktZm9udCk7LS1jbHItaDUtY29sb3I6IHZhcigtLWNs''@;'; put 'put ''ci1nbG9iYWwtZm9udC1jb2xvcik7LS1jbHItaDUtZm9udC13ZWlnaHQ6IHZhcigtLWNsci1mb250LXdlaWdodC1yZWd1bGFyKTstLWNsci1oNS1mb250LWZhbWlseTogdmFyKC0tY2xyLWRpc3BsYXktZm9udCk7LS1jbHItaDYtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTkwMCk7''@;'; put 'put ''LS1jbHItaDYtZm9udC13ZWlnaHQ6IHZhcigtLWNsci1mb250LXdlaWdodC1zZW1pYm9sZCk7LS1jbHItaDYtZm9udC1mYW1pbHk6IHZhcigtLWNsci1kaXNwbGF5LWZvbnQpOy0tY2xyLXAwLWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWZvbnQtY29sb3IpOy0tY2xyLXAwLWZvbnQtd2VpZ2h0''@;'; put 'put ''OiB2YXIoLS1jbHItZm9udC13ZWlnaHQtbGlnaHQpOy0tY2xyLXAxLWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWZvbnQtY29sb3IpOy0tY2xyLXAxLWZvbnQtd2VpZ2h0OiB2YXIoLS1jbHItZm9udC13ZWlnaHQtcmVndWxhcik7LS1jbHItcDItY29sb3I6IHZhcigtLWNsci1nbG9iYWwtZm9u''@;'; put 'put ''dC1jb2xvcik7LS1jbHItcDItZm9udC13ZWlnaHQ6IHZhcigtLWNsci1mb250LXdlaWdodC1zZW1pYm9sZCk7LS1jbHItcDMtY29sb3I6IHZhcigtLWNsci1nbG9iYWwtZm9udC1jb2xvcik7LS1jbHItcDMtZm9udC13ZWlnaHQ6IHZhcigtLWNsci1mb250LXdlaWdodC1yZWd1bGFyKTstLWNs''@;'; put 'put ''ci1wNC1jb2xvcjogdmFyKC0tY2xyLWdsb2JhbC1mb250LWNvbG9yKTstLWNsci1wNC1mb250LXdlaWdodDogdmFyKC0tY2xyLWZvbnQtd2VpZ2h0LWJvbGQpOy0tY2xyLXA1LWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWZvbnQtY29sb3IpOy0tY2xyLXA1LWZvbnQtd2VpZ2h0OiB2YXIoLS1j''@;'; put 'put ''bHItZm9udC13ZWlnaHQtcmVndWxhcik7LS1jbHItcDYtY29sb3I6IHZhcigtLWNsci1nbG9iYWwtZm9udC1jb2xvcik7LS1jbHItcDYtZm9udC13ZWlnaHQ6IHZhcigtLWNsci1mb250LXdlaWdodC1ib2xkKTstLWNsci1wNy1jb2xvcjogdmFyKC0tY2xyLWdsb2JhbC1mb250LWNvbG9yKTst''@;'; put 'put ''LWNsci1wNy1mb250LXdlaWdodDogdmFyKC0tY2xyLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpOy0tY2xyLXA4LWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWZvbnQtY29sb3IpOy0tY2xyLXA4LWZvbnQtd2VpZ2h0OiB2YXIoLS1jbHItZm9udC13ZWlnaHQtcmVndWxhcil9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1iYXNlbGluZXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi10b3B7dmVydGljYWwtYWxpZ246dG9wIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGUhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi10ZXh0LWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi10ZXh0LXRvcHt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcCFpbXBvcnRhbnR9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jbGVhcmZpeDphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6dGFibGU7Y2xlYXI6Ym90aH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWRpc3BsYXktYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1kaXNwbGF5LWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1kaXNwbGF5LWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRh''@;'; put 'put ''bnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1jb2x1bW57ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtcm93LXJldmVyc2V7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1jb2x1bW4tcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1''@;'; put 'put ''bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXdyYXB7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1ub3dyYXB7ZmxleC13cmFwOm5vd3JhcCFpbXBv''@;'; put 'put ''cnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXdyYXAtcmV2ZXJzZXtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtZmlsbHtmbGV4OjEgMSBhdXRvIWltcG9ydGFu''@;'; put 'put ''dH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtZ3Jvdy0we2ZsZXgtZ3JvdzowIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtZ3Jvdy0xe2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLWZsZXgtc2hyaW5rLTB7ZmxleC1zaHJpbms6MCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNocmluay0xe2ZsZXgtc2hyaW5rOjEhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItanVzdGlmeS1jb250ZW50LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29udGVudC1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29udGVudC1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6''@;'; put 'put ''c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQtYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxp''@;'; put 'put ''Z24taXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItYWxpZ24taXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1lbmR7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlciFp''@;'; put 'put ''bXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LWJldHdlZW57YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWNvbnRlbnQtYXJvdW5k''@;'; put 'put ''e2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWNvbnRlbnQtc3RyZXRjaHthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItYWxpZ24tc2VsZi1hdXRve2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNsci1hbGlnbi1zZWxmLWVuZHthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYtY2VudGVye2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLWFsaWduLXNlbGYtYmFzZWxpbmV7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLXN0cmV0Y2h7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDogNTc2''@;'; put 'put ''cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1zbS1yb3d7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtc20tY29sdW1ue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRh''@;'; put 'put ''bnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNtLXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtc20tY29sdW1uLXJldmVyc2V7ZmxleC1k''@;'; put 'put ''aXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1zbS13cmFwe2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtc20tbm93cmFwe2Zs''@;'; put 'put ''ZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1zbS13cmFwLXJldmVyc2V7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNtLWZp''@;'; put 'put ''bGx7ZmxleDoxIDEgYXV0byFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNtLWdyb3ctMHtmbGV4LWdyb3c6MCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNtLWdyb3ctMXtmbGV4LWdyb3c6''@;'; put 'put ''MSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNtLXNocmluay0we2ZsZXgtc2hyaW5rOjAhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1zbS1zaHJpbmstMXtmbGV4LXNocmluazoxIWltcG9y''@;'; put 'put ''dGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29udGVudC1zbS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQtc20tZW5k''@;'; put 'put ''e2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5k''@;'; put 'put ''IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLXNtLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24taXRlbXMtc20tZW5ke2FsaWdu''@;'; put 'put ''LWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLXNtLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24taXRlbXMt''@;'; put 'put ''c20tYmFzZWxpbmV7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24taXRlbXMtc20tc3RyZXRjaHthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLWFsaWduLWNvbnRlbnQtc20tc3RhcnR7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWNvbnRlbnQtc20tZW5ke2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1zbS1jZW50ZXJ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1zbS1iZXR3ZWVue2FsaWduLWNvbnRlbnQ6c3Bh''@;'; put 'put ''Y2UtYmV0d2VlbiFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LXNtLWFyb3VuZHthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1j''@;'; put 'put ''b250ZW50LXNtLXN0cmV0Y2h7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYtc20tYXV0b3thbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItYWxpZ24tc2VsZi1zbS1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tc2VsZi1zbS1lbmR7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLXNtLWNlbnRlcnthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLXNtLWJhc2VsaW5le2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tc2VsZi1zbS1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LW1kLXJvd3tmbGV4LWRp''@;'; put 'put ''cmVjdGlvbjpyb3chaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1tZC1jb2x1bW57ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbWQtcm93LXJldmVyc2V7''@;'; put 'put ''ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1tZC1jb2x1bW4tcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmNsci1mbGV4LW1kLXdyYXB7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1tZC1ub3dyYXB7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNs''@;'; put 'put ''ci1mbGV4LW1kLXdyYXAtcmV2ZXJzZXtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbWQtZmlsbHtmbGV4OjEgMSBhdXRvIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''Y2xyLWZsZXgtbWQtZ3Jvdy0we2ZsZXgtZ3JvdzowIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbWQtZ3Jvdy0xe2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbWQtc2hy''@;'; put 'put ''aW5rLTB7ZmxleC1zaHJpbms6MCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LW1kLXNocmluay0xe2ZsZXgtc2hyaW5rOjEhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItanVzdGlmeS1jb250ZW50LW1k''@;'; put 'put ''LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29udGVudC1tZC1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWp1c3RpZnktY29udGVudC1tZC1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vl''@;'; put 'put ''biFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24taXRlbXMt''@;'; put 'put ''bWQtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1tZC1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItYWxpZ24taXRlbXMtbWQtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1tZC1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1tZC1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1tZC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0''@;'; put 'put ''YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1tZC1lbmR7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LW1kLWNlbnRlcnthbGlnbi1j''@;'; put 'put ''b250ZW50OmNlbnRlciFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LW1kLWJldHdlZW57YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFs''@;'; put 'put ''aWduLWNvbnRlbnQtbWQtYXJvdW5ke2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWNvbnRlbnQtbWQtc3RyZXRjaHthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tc2VsZi1tZC1hdXRve2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLW1kLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLW1kLWVuZHthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYtbWQtY2VudGVye2FsaWduLXNlbGY6Y2VudGVyIWltcG9y''@;'; put 'put ''dGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYtbWQtYmFzZWxpbmV7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLW1kLXN0cmV0Y2h7YWxpZ24tc2Vs''@;'; put 'put ''ZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbGctcm93e2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1m''@;'; put 'put ''bGV4LWxnLWNvbHVtbntmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNsci1mbGV4LWxnLWNvbHVtbi1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbGctd3JhcHtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWxnLW5vd3JhcHtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbGctd3JhcC1yZXZlcnNle2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy1maWxse2ZsZXg6MSAxIGF1dG8haW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy1ncm93LTB7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy1ncm93LTF7ZmxleC1ncm93OjEhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy1zaHJpbmstMHtmbGV4LXNocmluazowIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLWZsZXgtbGctc2hyaW5rLTF7ZmxleC1zaHJpbms6MSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5jbHItanVzdGlmeS1jb250ZW50LWxnLWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItanVzdGlmeS1jb250ZW50LWxnLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVy''@;'; put 'put ''IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29udGVudC1sZy1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29u''@;'; put 'put ''dGVudC1sZy1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1sZy1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLWxnLWVuZHthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy1sZy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLWxnLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLWxnLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRj''@;'; put 'put ''aCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LWxnLXN0YXJ0e2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LWxnLWVu''@;'; put 'put ''ZHthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWNvbnRlbnQtbGctY2VudGVye2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xy''@;'; put 'put ''LWFsaWduLWNvbnRlbnQtbGctYmV0d2VlbnthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1sZy1hcm91bmR7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC1sZy1zdHJldGNoe2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLWxnLWF1dG97YWxpZ24tc2VsZjphdXRv''@;'; put 'put ''IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYtbGctc3RhcnR7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYtbGctZW5ke2FsaWduLXNl''@;'; put 'put ''bGY6ZmxleC1lbmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tc2VsZi1sZy1jZW50ZXJ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tc2VsZi1sZy1iYXNl''@;'; put 'put ''bGluZXthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYtbGctc3RyZXRjaHthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KXsuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgteGwtcm93e2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXhsLWNvbHVtbntmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXhsLWNvbHVtbi1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1y''@;'; put 'put ''ZXZlcnNlIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgteGwtd3JhcHtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXhsLW5vd3JhcHtmbGV4LXdyYXA6bm93cmFwIWlt''@;'; put 'put ''cG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgteGwtd3JhcC1yZXZlcnNle2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC1maWxse2ZsZXg6MSAxIGF1dG8h''@;'; put 'put ''aW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC1ncm93LTB7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC1ncm93LTF7ZmxleC1ncm93OjEhaW1wb3J0YW50fS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC1zaHJpbmstMHtmbGV4LXNocmluazowIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgteGwtc2hyaW5rLTF7ZmxleC1zaHJpbms6MSFpbXBvcnRhbnR9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItanVzdGlmeS1jb250ZW50LXhsLWVuZHtqdXN0aWZ5LWNvbnRlbnQ6''@;'; put 'put ''ZmxleC1lbmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItanVzdGlmeS1jb250ZW50LXhsLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29u''@;'; put 'put ''dGVudC14bC1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWp1c3RpZnktY29udGVudC14bC1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy14bC1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLXhsLWVuZHthbGlnbi1pdGVtczpmbGV4LWVuZCFp''@;'; put 'put ''bXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1pdGVtcy14bC1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLXhsLWJhc2VsaW5le2FsaWdu''@;'; put 'put ''LWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWl0ZW1zLXhsLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250''@;'; put 'put ''ZW50LXhsLXN0YXJ0e2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1jb250ZW50LXhsLWVuZHthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWFsaWduLWNvbnRlbnQteGwtY2VudGVye2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLWNvbnRlbnQteGwtYmV0d2VlbnthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0''@;'; put 'put ''YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC14bC1hcm91bmR7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tY29udGVudC14bC1zdHJldGNo''@;'; put 'put ''e2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hbGlnbi1zZWxmLXhsLWF1dG97YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYt''@;'; put 'put ''eGwtc3RhcnR7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFsaWduLXNlbGYteGwtZW5ke2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHIt''@;'; put 'put ''YWxpZ24tc2VsZi14bC1jZW50ZXJ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWxpZ24tc2VsZi14bC1iYXNlbGluZXthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWFsaWduLXNlbGYteGwtc3RyZXRjaHthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgteHMtZmlyc3R7b3JkZXI6LTF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1m''@;'; put 'put ''bGV4LXhzLWxhc3R7b3JkZXI6MX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgteHMtdW5vcmRlcmVke29yZGVyOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLXhzLXRvcHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy14cy1taWRkbGV7YWxpZ24taXRlbXM6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy14cy1ib3R0b217YWxpZ24taXRlbXM6ZmxleC1lbmR9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXhzLXRvcHthbGlnbi1zZWxmOmZsZXgtc3RhcnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXhzLW1pZGRsZXthbGlnbi1zZWxmOmNlbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLWZsZXgteHMtYm90dG9te2FsaWduLXNlbGY6ZmxleC1lbmR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLXhzLWxlZnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1m''@;'; put 'put ''bGV4LWl0ZW1zLXhzLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy14cy1yaWdodHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1m''@;'; put 'put ''bGV4LWl0ZW1zLXhzLWFyb3VuZHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy14cy1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWluLXdpZHRoOiA1NzZweCl7''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNtLWZpcnN0e29yZGVyOi0xfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1zbS1sYXN0e29yZGVyOjF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXNt''@;'; put 'put ''LXVub3JkZXJlZHtvcmRlcjowfX1AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1zbS10b3B7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZs''@;'; put 'put ''ZXgtaXRlbXMtc20tbWlkZGxle2FsaWduLWl0ZW1zOmNlbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMtc20tYm90dG9te2FsaWduLWl0ZW1zOmZsZXgtZW5kfX1AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItZmxleC1zbS10b3B7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1zbS1taWRkbGV7YWxpZ24tc2VsZjpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4''@;'; put 'put ''LXNtLWJvdHRvbXthbGlnbi1zZWxmOmZsZXgtZW5kfX1AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1zbS1sZWZ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1zbS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMtc20tcmlnaHR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1zbS1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMtc20tYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn19QG1lZGlhICht''@;'; put 'put ''aW4td2lkdGg6IDc2OHB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbWQtZmlyc3R7b3JkZXI6LTF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LW1kLWxhc3R7b3JkZXI6MX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuY2xyLWZsZXgtbWQtdW5vcmRlcmVke29yZGVyOjB9fUBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLW1kLXRvcHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1tZC1taWRkbGV7YWxpZ24taXRlbXM6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1tZC1ib3R0b217YWxpZ24taXRlbXM6ZmxleC1lbmR9fUBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LW1kLXRvcHthbGlnbi1zZWxmOmZsZXgtc3RhcnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LW1kLW1pZGRsZXthbGlnbi1zZWxmOmNlbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWZsZXgtbWQtYm90dG9te2FsaWduLXNlbGY6ZmxleC1lbmR9fUBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLW1kLWxlZnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLW1kLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1tZC1yaWdodHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLW1kLWFyb3VuZHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy1tZC1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1i''@;'; put 'put ''ZXR3ZWVufX1AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy1maXJzdHtvcmRlcjotMX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbGctbGFzdHtvcmRlcjoxfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy11bm9yZGVyZWR7b3JkZXI6MH19QG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMtbGctdG9we2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLWxnLW1pZGRsZXthbGlnbi1pdGVtczpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLWxnLWJvdHRvbXthbGlnbi1pdGVtczpmbGV4LWVuZH19QG1lZGlhIChtaW4t''@;'; put 'put ''d2lkdGg6IDk5MnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbGctdG9we2FsaWduLXNlbGY6ZmxleC1zdGFydH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtbGctbWlkZGxle2FsaWduLXNlbGY6Y2VudGVyfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1sZy1ib3R0b217YWxpZ24tc2VsZjpmbGV4LWVuZH19QG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMtbGctbGVmdHtqdXN0aWZ5LWNvbnRlbnQ6''@;'; put 'put ''ZmxleC1zdGFydH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMtbGctY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLWxnLXJpZ2h0e2p1c3RpZnktY29udGVu''@;'; put 'put ''dDpmbGV4LWVuZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMtbGctYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLWxnLWJldHdlZW57anVzdGlm''@;'; put 'put ''eS1jb250ZW50OnNwYWNlLWJldHdlZW59fUBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC1maXJzdHtvcmRlcjotMX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgteGwtbGFzdHtv''@;'; put 'put ''cmRlcjoxfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC11bm9yZGVyZWR7b3JkZXI6MH19QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLXhsLXRvcHthbGlnbi1pdGVt''@;'; put 'put ''czpmbGV4LXN0YXJ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy14bC1taWRkbGV7YWxpZ24taXRlbXM6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC1pdGVtcy14bC1ib3R0b217YWxpZ24taXRlbXM6Zmxl''@;'; put 'put ''eC1lbmR9fUBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC10b3B7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxleC14bC1taWRkbGV7YWxpZ24t''@;'; put 'put ''c2VsZjpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LXhsLWJvdHRvbXthbGlnbi1zZWxmOmZsZXgtZW5kfX1AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMteGwt''@;'; put 'put ''bGVmdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMteGwtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0ZW1zLXhs''@;'; put 'put ''LXJpZ2h0e2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsZXgtaXRlbXMteGwtYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbGV4LWl0''@;'; put 'put ''ZW1zLXhsLWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxvYXQteHMtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsb2F0LXhz''@;'; put 'put ''LXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsb2F0LXhzLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xy''@;'; put 'put ''LWZsb2F0LXNtLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbG9hdC1zbS1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbG9hdC1zbS1ub25le2Zs''@;'; put 'put ''b2F0Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxvYXQtbWQtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsb2F0LW1k''@;'; put 'put ''LXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZsb2F0LW1kLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOiA5OTJweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNs''@;'; put 'put ''ci1mbG9hdC1sZy1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxvYXQtbGctcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxvYXQtbGctbm9uZXtm''@;'; put 'put ''bG9hdDpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mbG9hdC14bC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxvYXQt''@;'; put 'put ''eGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmxvYXQteGwtbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1pbnZpc2libGV7dmlzaWJpbGl0eTpo''@;'; put 'put ''aWRkZW4haW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaGlkZGVuLXhzLXVwe2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWhpZGRlbi14''@;'; put 'put ''cy1kb3due2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOiA1NzZweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1oaWRkZW4tc20tdXB7ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KXsuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWhpZGRlbi1zbS1kb3due2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1oaWRkZW4tbWQtdXB7ZGlzcGxheTpub25lIWlt''@;'; put 'put ''cG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWhpZGRlbi1tZC1kb3due2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOiA5OTJweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNsci1oaWRkZW4tbGctdXB7ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1oaWRkZW4tbGctZG93bntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEg''@;'; put 'put ''KG1pbi13aWR0aDogMTIwMHB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWhpZGRlbi14bC11cHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWhpZGRlbi14bC1kb3due2Rpc3BsYXk6bm9uZSFpbXBv''@;'; put 'put ''cnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12aXNpYmxlLXByaW50LWJsb2Nre2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIHByaW50ey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmlzaWJsZS1wcmludC1ibG9ja3tkaXNwbGF5''@;'; put 'put ''OmJsb2NrIWltcG9ydGFudH19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12aXNpYmxlLXByaW50LWlubGluZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZpc2libGUtcHJpbnQt''@;'; put 'put ''aW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12aXNpYmxlLXByaW50LWlubGluZS1ibG9ja3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLXZpc2libGUtcHJpbnQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIHByaW50ey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaGlkZGVuLXByaW50e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItcm93e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tcmlnaHQ6LS42cmVtO21hcmdpbi1sZWZ0Oi0uNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5vLWd1dHRlcnN7bWFyZ2luLXJpZ2h0OjA7bWFy''@;'; put 'put ''Z2luLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5vLWd1dHRlcnM+LmNsci1jb2wsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbm8tZ3V0dGVycz5bY2xhc3MqPWNsci1jb2wtXXtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0''@;'; put 'put ''OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wteGwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLWF1dG8sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTEyLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC14bC0xMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wteGwtMTAsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItY29sLXhsLTgsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTYsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTUsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbHItY29sLXhsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLWxnLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy1hdXRvLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy0xMiwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbGctMTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLWxnLTEwLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy05LCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy04LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy03LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy02LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNv''@;'; put 'put ''bC1sZy01LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy00LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy0zLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy0yLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1tZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtYXV0bywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNsci1jb2wtbWQtMTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLW1kLTExLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1tZC0xMCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtOSwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtOCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtNywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtNiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNsci1jb2wtbWQtNSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtNCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtMywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQt''@;'; put 'put ''MiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtc20sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLWF1dG8sIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTEyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1zbS0xMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtc20tMTAsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItY29sLXNtLTksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTgsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTYsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbHItY29sLXNtLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1hdXRvLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC0xMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtMTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLTEwLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''Y2xyLWNvbC05LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC04LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC03LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC02LCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLWNvbC01LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC00LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC0zLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC0yLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC0xe3dpZHRoOjEwMCU7bWluLWhlaWdodDouMDVyZW07cGFkZGluZy1yaWdodDouNnJlbTtwYWRkaW5nLWxlZnQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2x7ZmxleC1iYXNpczowO2Zs''@;'; put 'put ''ZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLWF1dG97ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLTF7ZmxleDowIDAg''@;'; put 'put ''OC4zMzMzMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC0ye2ZsZXg6MCAwIDE2LjY2NjY2NjY2NjclO21heC13aWR0aDoxNi42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''Y2xyLWNvbC0ze2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLTR7ZmxleDowIDAgMzMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItY29sLTV7ZmxleDowIDAgNDEuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLTZ7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNs''@;'; put 'put ''ci1jb2wtN3tmbGV4OjAgMCA1OC4zMzMzMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzMzMzMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtOHtmbGV4OjAgMCA2Ni42NjY2NjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtOXtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC0xMHtmbGV4OjAgMCA4My4zMzMzMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzMzMzMyV9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtMTF7ZmxleDowIDAgOTEuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLTEye2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci1maXJzdHtvcmRlcjotMX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLWxhc3R7b3JkZXI6MTN9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci0we29yZGVyOjB9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci0xe29yZGVyOjF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci0ye29yZGVyOjJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci0ze29yZGVyOjN9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci00e29yZGVyOjR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci01e29yZGVyOjV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci02e29yZGVyOjZ9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci03e29yZGVyOjd9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci04e29yZGVyOjh9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci05e29yZGVyOjl9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci0xMHtvcmRlcjoxMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLTExe29yZGVyOjExfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItMTJ7b3JkZXI6MTJ9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNsci1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC01e21hcmdpbi1sZWZ0''@;'; put 'put ''OjQxLjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMzMyV9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9m''@;'; put 'put ''ZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NjY3JX1AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbHItY29sLXNte2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1zbS1hdXRve2ZsZXg6MCAwIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6bm9uZX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLWNvbC1zbS0xe2ZsZXg6MCAwIDguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzMzMzMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtc20tMntmbGV4OjAgMCAxNi42NjY2NjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY2''@;'; put 'put ''NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtc20tM3tmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1zbS00e2ZsZXg6MCAwIDMzLjMzMzMzMzMzMzMlO21heC13aWR0aDozMy4z''@;'; put 'put ''MzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1zbS01e2ZsZXg6MCAwIDQxLjY2NjY2NjY2NjclO21heC13aWR0aDo0MS42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1zbS02e2ZsZXg6MCAwIDUw''@;'; put 'put ''JTttYXgtd2lkdGg6NTAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTd7ZmxleDowIDAgNTguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTh7ZmxleDow''@;'; put 'put ''IDAgNjYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTl7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtc20tMTB7''@;'; put 'put ''ZmxleDowIDAgODMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXNtLTExe2ZsZXg6MCAwIDkxLjY2NjY2NjY2NjclO21heC13aWR0aDo5MS42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLWNvbC1zbS0xMntmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tZmlyc3R7b3JkZXI6LTF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci1z''@;'; put 'put ''bS1sYXN0e29yZGVyOjEzfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tMHtvcmRlcjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tMXtvcmRlcjoxfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItb3JkZXItc20tMntvcmRlcjoyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tM3tvcmRlcjozfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tNHtvcmRlcjo0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbHItb3JkZXItc20tNXtvcmRlcjo1fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tNntvcmRlcjo2fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tN3tvcmRlcjo3fS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItb3JkZXItc20tOHtvcmRlcjo4fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tOXtvcmRlcjo5fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItc20tMTB7b3JkZXI6MTB9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci1zbS0xMXtvcmRlcjoxMX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXNtLTEye29yZGVyOjEyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LXNtLTB7bWFyZ2luLWxlZnQ6''@;'; put 'put ''MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1zbS0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMzMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtc20tMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NjY3JX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1zbS0ze21hcmdpbi1sZWZ0OjI1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1zbS00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItb2Zmc2V0LXNtLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtc20tNnttYXJnaW4tbGVmdDo1MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtc20tN3ttYXJn''@;'; put 'put ''aW4tbGVmdDo1OC4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1zbS04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LXNtLTl7bWFyZ2luLWxlZnQ6NzUl''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LXNtLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LXNtLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY2NjclfX1AbWVkaWEg''@;'; put 'put ''KG1pbi13aWR0aDogNzY4cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLW1ke2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1tZC1hdXRve2ZsZXg6MCAwIGF1''@;'; put 'put ''dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1tZC0xe2ZsZXg6MCAwIDguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzMzMzMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wt''@;'; put 'put ''bWQtMntmbGV4OjAgMCAxNi42NjY2NjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtM3tmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xy''@;'; put 'put ''LWNvbC1tZC00e2ZsZXg6MCAwIDMzLjMzMzMzMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1tZC01e2ZsZXg6MCAwIDQxLjY2NjY2NjY2NjclO21heC13aWR0aDo0MS42NjY2NjY2NjY3JX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1tZC02e2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLW1kLTd7ZmxleDowIDAgNTguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMzMzMzMlfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLW1kLTh7ZmxleDowIDAgNjYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLW1kLTl7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbWQtMTB7ZmxleDowIDAgODMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLW1kLTExe2ZsZXg6MCAwIDkxLjY2NjY2NjY2''@;'; put 'put ''NjclO21heC13aWR0aDo5MS42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1tZC0xMntmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtZmlyc3R7b3JkZXI6''@;'; put 'put ''LTF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci1tZC1sYXN0e29yZGVyOjEzfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtMHtvcmRlcjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXIt''@;'; put 'put ''bWQtMXtvcmRlcjoxfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtMntvcmRlcjoyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtM3tvcmRlcjozfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHIt''@;'; put 'put ''b3JkZXItbWQtNHtvcmRlcjo0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtNXtvcmRlcjo1fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtNntvcmRlcjo2fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItb3JkZXItbWQtN3tvcmRlcjo3fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtOHtvcmRlcjo4fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbWQtOXtvcmRlcjo5fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5jbHItb3JkZXItbWQtMTB7b3JkZXI6MTB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci1tZC0xMXtvcmRlcjoxMX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLW1kLTEye29yZGVyOjEyfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LW1kLTB7bWFyZ2luLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1tZC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMzMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1v''@;'; put 'put ''ZmZzZXQtbWQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1tZC0ze21hcmdpbi1sZWZ0OjI1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1tZC00e21hcmdpbi1sZWZ0''@;'; put 'put ''OjMzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LW1kLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtbWQtNnttYXJnaW4tbGVmdDo1MCV9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtbWQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1tZC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LW1kLTl7bWFyZ2luLWxlZnQ6NzUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LW1kLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHIt''@;'; put 'put ''b2Zmc2V0LW1kLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLWxne2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy1hdXRve2ZsZXg6MCAwIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy0xe2ZsZXg6MCAwIDguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMz''@;'; put 'put ''MzMzMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbGctMntmbGV4OjAgMCAxNi42NjY2NjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbGctM3tmbGV4OjAgMCAyNSU7bWF4''@;'; put 'put ''LXdpZHRoOjI1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy00e2ZsZXg6MCAwIDMzLjMzMzMzMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy01e2ZsZXg6MCAwIDQx''@;'; put 'put ''LjY2NjY2NjY2NjclO21heC13aWR0aDo0MS42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy02e2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLWxnLTd7ZmxleDow''@;'; put 'put ''IDAgNTguMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLWxnLTh7ZmxleDowIDAgNjYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5jbHItY29sLWxnLTl7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wtbGctMTB7ZmxleDowIDAgODMuMzMzMzMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItY29sLWxnLTExe2ZsZXg6MCAwIDkxLjY2NjY2NjY2NjclO21heC13aWR0aDo5MS42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC1sZy0xMntmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctZmlyc3R7b3JkZXI6LTF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci1sZy1sYXN0e29yZGVyOjEzfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctMHtvcmRl''@;'; put 'put ''cjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctMXtvcmRlcjoxfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctMntvcmRlcjoyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGct''@;'; put 'put ''M3tvcmRlcjozfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctNHtvcmRlcjo0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctNXtvcmRlcjo1fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3Jk''@;'; put 'put ''ZXItbGctNntvcmRlcjo2fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctN3tvcmRlcjo3fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctOHtvcmRlcjo4fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItb3JkZXItbGctOXtvcmRlcjo5fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXItbGctMTB7b3JkZXI6MTB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci1sZy0xMXtvcmRlcjoxMX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLW9yZGVyLWxnLTEye29yZGVyOjEyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LWxnLTB7bWFyZ2luLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1sZy0xe21hcmdpbi1sZWZ0OjguMzMz''@;'; put 'put ''MzMzMzMzMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtbGctMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1sZy0ze21hcmdpbi1sZWZ0OjI1JX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1sZy00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LWxnLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNsci1vZmZzZXQtbGctNnttYXJnaW4tbGVmdDo1MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQtbGctN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC1s''@;'; put 'put ''Zy04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LWxnLTl7bWFyZ2luLWxlZnQ6NzUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LWxnLTEwe21hcmdpbi1sZWZ0OjgzLjMz''@;'; put 'put ''MzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LWxnLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC14bHtmbGV4''@;'; put 'put ''LWJhc2lzOjA7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wteGwtYXV0b3tmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1j''@;'; put 'put ''b2wteGwtMXtmbGV4OjAgMCA4LjMzMzMzMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTJ7ZmxleDowIDAgMTYuNjY2NjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTN7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wteGwtNHtmbGV4OjAgMCAzMy4zMzMzMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzMzMzMyV9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wteGwtNXtmbGV4OjAgMCA0MS42NjY2NjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb2wteGwtNntmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC14bC03e2ZsZXg6MCAwIDU4LjMzMzMzMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC14bC04e2ZsZXg6MCAwIDY2LjY2NjY2NjY2NjclO21h''@;'; put 'put ''eC13aWR0aDo2Ni42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC14bC05e2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29sLXhsLTEwe2ZsZXg6MCAwIDgzLjMzMzMzMzMz''@;'; put 'put ''MzMlO21heC13aWR0aDo4My4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbC14bC0xMXtmbGV4OjAgMCA5MS42NjY2NjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1j''@;'; put 'put ''b2wteGwtMTJ7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLWZpcnN0e29yZGVyOi0xfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb3JkZXIteGwtbGFzdHtvcmRlcjoxM30uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTB7b3JkZXI6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTF7b3JkZXI6MX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTJ7b3JkZXI6''@;'; put 'put ''Mn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTN7b3JkZXI6M30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTR7b3JkZXI6NH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTV7''@;'; put 'put ''b3JkZXI6NX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTZ7b3JkZXI6Nn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTd7b3JkZXI6N30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVy''@;'; put 'put ''LXhsLTh7b3JkZXI6OH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTl7b3JkZXI6OX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9yZGVyLXhsLTEwe29yZGVyOjEwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItb3JkZXIteGwtMTF7b3JkZXI6MTF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vcmRlci14bC0xMntvcmRlcjoxMn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC14bC0we21hcmdpbi1sZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQteGwtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LXhsLTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjY2NyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNsci1vZmZzZXQteGwtM3ttYXJnaW4tbGVmdDoyNSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQteGwtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC14bC01e21h''@;'; put 'put ''cmdpbi1sZWZ0OjQxLjY2NjY2NjY2NjclfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LXhsLTZ7bWFyZ2luLWxlZnQ6NTAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItb2Zmc2V0LXhsLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMz''@;'; put 'put ''MyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1vZmZzZXQteGwtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NjY3JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC14bC05e21hcmdpbi1sZWZ0Ojc1JX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC14bC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMzMzJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW9mZnNldC14bC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NjY3JX19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmNsci1icmVhay1yb3d7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAqLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAqOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgKjphZnRlcntib3gtc2l6aW5nOmJv''@;'; put 'put ''cmRlci1ib3h9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgcHJle21hcmdpbjouNnJlbSAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHByZXtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNDAwLCAjY2NjY2Nj''@;'; put 'put ''KTtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0p''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHByZSBjb2Rle3doaXRlLXNwYWNlOnByZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBjb2RlLmNsci1jb2Rle2NvbG9yOiNjMjFkMDA7Y29sb3I6dmFyKC0tY2xyLWNvbG9yLWRhbmdlci04MDAsICNjMjFkMDApO3Bh''@;'; put 'put ''ZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHVsLmxpc3QtdW5zdHlsZWQ6bm90KFtjZHMtbGlzdF0pe3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OjA7bGlzdC1zdHlsZTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIHVsOm5vdChbY2RzLWxpc3RdKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgb2w6bm90KFtjZHMtbGlzdF0pe2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtwYWRkaW5nLWxlZnQ6''@;'; put 'put ''MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICB1bC5saXN0Om5vdChbY2RzLWxpc3RdKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgb2wubGlzdDpub3QoW2Nkcy1saXN0XSl7bGlzdC1zdHlsZS1wb3NpdGlvbjpvdXRzaWRlO21hcmdpbi1sZWZ0OjEuMWVtfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHVsLmxpc3Q6bm90KFtjZHMtbGlzdF0pLmNvbXBhY3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIG9sLmxpc3Q6bm90KFtjZHMtbGlzdF0pLmNvbXBhY3R7bGluZS1oZWlnaHQ6LjlyZW19LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgdWwubGlzdDpub3QoW2Nkcy1saXN0XSkuY29tcGFjdD5saSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgb2wubGlzdDpub3QoW2Nkcy1saXN0XSkuY29tcGFjdD5saXttYXJnaW4tYm90dG9tOi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIHVsLmxpc3Q6bm90KFtjZHMtbGlzdF0pLmNvbXBhY3Q+bGk6bGFzdC1jaGlsZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgb2wubGlzdDpub3QoW2Nkcy1saXN0XSkuY29tcGFjdD5saTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICB1bDpub3QoLmxpc3QtdW5zdHlsZWQpOm5vdChbY2RzLWxpc3RdKT5saT51bC5saXN0LXVuc3R5bGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBvbDpub3QoW2Nkcy1saXN0XSk+bGk+dWwubGlzdC11bnN0eWxlZHttYXJnaW4tbGVmdDoxLjFl''@;'; put 'put ''bX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBsaT51bDpub3QoW2Nkcy1saXN0XSl7bWFyZ2luLXRvcDowO21hcmdpbi1sZWZ0OjEuMWVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHVsLmxpc3QtZ3JvdXA6bm90KFtjZHMtbGlzdF0pe21hcmdpbi10b3A6MH0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICB1bDpub3QoW2Nkcy1saXN0XSkubGlzdC1zcGFjZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIG9sOm5vdChbY2RzLWxpc3RdKS5saXN0LXNwYWNlcnttYXJnaW4tdG9wOjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICBoMTpub3QoW2Nkcy10ZXh0XSl7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItaDEtY29sb3IsIGJsYWNrKTtmb250LXdlaWdodDoyMDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWgxLWZvbnQtd2VpZ2h0LCAyMDApO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmly''@;'; put 'put ''IE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItaDEtZm9udC1mYW1pbHksIE1ldHJvcG9saXMsICJBdmVuaXIgTmV4dCIsICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXNpemU6MS42cmVtO2xldHRlci1z''@;'; put 'put ''cGFjaW5nOm5vcm1hbDtsaW5lLWhlaWdodDoyLjRyZW07bWFyZ2luLXRvcDoxLjJyZW07bWFyZ2luLWJvdHRvbTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGgyOm5vdChbY2RzLXRleHRdKXtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1oMi1jb2xvciwgYmxhY2spO2Zv''@;'; put 'put ''bnQtd2VpZ2h0OjIwMDtmb250LXdlaWdodDp2YXIoLS1jbHItaDItZm9udC13ZWlnaHQsIDIwMCk7Zm9udC1mYW1pbHk6TWV0cm9wb2xpcyxBdmVuaXIgTmV4dCxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtZmFtaWx5OnZhcigtLWNsci1oMi1mb250LWZhbWlseSwgTWV0''@;'; put 'put ''cm9wb2xpcywgIkF2ZW5pciBOZXh0IiwgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIHNhbnMtc2VyaWYpO2ZvbnQtc2l6ZToxLjRyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjIuNHJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgaDM6bm90KFtjZHMtdGV4dF0pe2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLWgzLWNvbG9yLCBibGFjayk7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1oMy1mb250LXdlaWdodCwgMjAwKTtmb250LWZhbWlseTpNZXRyb3BvbGlz''@;'; put 'put ''LEF2ZW5pciBOZXh0LEhlbHZldGljYSBOZXVlLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1mYW1pbHk6dmFyKC0tY2xyLWgzLWZvbnQtZmFtaWx5LCBNZXRyb3BvbGlzLCAiQXZlbmlyIE5leHQiLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgc2Fucy1zZXJpZik7Zm9udC1zaXplOjEuMXJlbTts''@;'; put 'put ''ZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1oZWlnaHQ6MS4ycmVtO21hcmdpbi10b3A6MS4ycmVtO21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoNDpub3QoW2Nkcy10ZXh0XSl7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItaDQtY29sb3IsIGJs''@;'; put 'put ''YWNrKTtmb250LXdlaWdodDoyMDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWg0LWZvbnQtd2VpZ2h0LCAyMDApO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItaDQtZm9udC1mYW1p''@;'; put 'put ''bHksIE1ldHJvcG9saXMsICJBdmVuaXIgTmV4dCIsICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXNpemU6LjlyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuMnJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaDU6bm90KFtjZHMtdGV4dF0pe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLWg1LWNvbG9yLCAjNjY2NjY2KTtmb250LXdlaWdodDo0MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWg1LWZvbnQtd2VpZ2h0LCA0MDApO2ZvbnQtZmFtaWx5Ok1l''@;'; put 'put ''dHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItaDUtZm9udC1mYW1pbHksIE1ldHJvcG9saXMsICJBdmVuaXIgTmV4dCIsICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXNpemU6''@;'; put 'put ''LjhyZW07bGV0dGVyLXNwYWNpbmc6LjAxZW07bGluZS1oZWlnaHQ6MS4ycmVtO21hcmdpbi10b3A6MS4ycmVtO21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoNjpub3QoW2Nkcy10ZXh0XSl7Y29sb3I6IzMzMztjb2xvcjp2YXIoLS1jbHItaDYtY29s''@;'; put 'put ''b3IsICMzMzMzMzMpO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXdlaWdodDp2YXIoLS1jbHItaDYtZm9udC13ZWlnaHQsIDUwMCk7Zm9udC1mYW1pbHk6TWV0cm9wb2xpcyxBdmVuaXIgTmV4dCxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtZmFtaWx5OnZhcigtLWNsci1oNi1m''@;'; put 'put ''b250LWZhbWlseSwgTWV0cm9wb2xpcywgIkF2ZW5pciBOZXh0IiwgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIHNhbnMtc2VyaWYpO2ZvbnQtc2l6ZTouN3JlbTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1oZWlnaHQ6MS4ycmVtO21hcmdpbi10b3A6MS4ycmVtO21hcmdpbi1ib3R0b206''@;'; put 'put ''MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5Om5vdChbY2RzLXRleHRdKXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1wMS1jb2xvciwgIzY2NjY2Nik7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1wMS1mb250LXdlaWdodCwgNDAwKTtmb250''@;'; put 'put ''LXNpemU6LjdyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuMnJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1mYW1pbHk6TWV0cm9wb2xpcyxBdmVuaXIgTmV4dCxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtZmFtaWx5OnZhcigtLWNsci1mb250LCBN''@;'; put 'put ''ZXRyb3BvbGlzLCAiQXZlbmlyIE5leHQiLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgc2Fucy1zZXJpZik7bWFyZ2luLXRvcDowIWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IHA6bm90KFtjZHMtdGV4dF0pe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0t''@;'; put 'put ''Y2xyLXAxLWNvbG9yLCAjNjY2NjY2KTtmb250LXdlaWdodDo0MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXAxLWZvbnQtd2VpZ2h0LCA0MDApO2ZvbnQtc2l6ZTouN3JlbTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1oZWlnaHQ6MS4ycmVtO21hcmdpbi10b3A6MS4ycmVtO21hcmdpbi1i''@;'; put 'put ''b3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IC5wMDpub3QoW2Nkcy10ZXh0XSksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJvZHkgcC5wMDpub3QoW2Nkcy10ZXh0XSl7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItcDAtY29sb3IsICM2''@;'; put 'put ''NjY2NjYpO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXdlaWdodDp2YXIoLS1jbHItcDAtZm9udC13ZWlnaHQsIDIwMCk7Zm9udC1zaXplOjFyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuMnJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYm9keSAucDI6bm90KFtjZHMtdGV4dF0pLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IHAucDI6bm90KFtjZHMtdGV4dF0pe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXAyLWNvbG9yLCAjNjY2NjY2KTtmb250LXdlaWdo''@;'; put 'put ''dDo1MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXAyLWZvbnQtd2VpZ2h0LCA1MDApO2ZvbnQtc2l6ZTouNjVyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuMnJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgYm9keSAucDM6bm90KFtjZHMtdGV4dF0pLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IHAucDM6bm90KFtjZHMtdGV4dF0pe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXAzLWNvbG9yLCAjNjY2NjY2KTtmb250LXdlaWdodDo0MDA7Zm9udC13ZWln''@;'; put 'put ''aHQ6dmFyKC0tY2xyLXAzLWZvbnQtd2VpZ2h0LCA0MDApO2ZvbnQtc2l6ZTouNjVyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuMnJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYm9keSAu''@;'; put 'put ''cDQ6bm90KFtjZHMtdGV4dF0pLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IHAucDQ6bm90KFtjZHMtdGV4dF0pe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXA0LWNvbG9yLCAjNjY2NjY2KTtmb250LXdlaWdodDo2MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXA0''@;'; put 'put ''LWZvbnQtd2VpZ2h0LCA2MDApO2ZvbnQtc2l6ZTouNnJlbTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1oZWlnaHQ6MS4ycmVtO21hcmdpbi10b3A6MS4ycmVtO21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IC5wNTpub3QoW2Nkcy10ZXh0''@;'; put 'put ''XSksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJvZHkgcC5wNTpub3QoW2Nkcy10ZXh0XSl7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItcDUtY29sb3IsICM2NjY2NjYpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1jbHItcDUtZm9udC13ZWlnaHQsIDQw''@;'; put 'put ''MCk7Zm9udC1zaXplOi42cmVtO2xldHRlci1zcGFjaW5nOm5vcm1hbDtsaW5lLWhlaWdodDoxLjJyZW07bWFyZ2luLXRvcDoxLjJyZW07bWFyZ2luLWJvdHRvbTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJvZHkgLnA2Om5vdChbY2RzLXRleHRdKSwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgYm9keSBwLnA2Om5vdChbY2RzLXRleHRdKXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1wNi1jb2xvciwgIzY2NjY2Nik7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1wNi1mb250LXdlaWdodCwgNjAwKTtmb250LXNpemU6LjU1''@;'; put 'put ''cmVtO2xldHRlci1zcGFjaW5nOi4wM2VtO2xpbmUtaGVpZ2h0Oi42cmVtO21hcmdpbi10b3A6MS4ycmVtO21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IC5wNzpub3QoW2Nkcy10ZXh0XSksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIGJvZHkgcC5wNzpub3QoW2Nkcy10ZXh0XSl7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItcDctY29sb3IsICM2NjY2NjYpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1jbHItcDctZm9udC13ZWlnaHQsIDQwMCk7Zm9udC1zaXplOi41NXJlbTtsZXR0ZXItc3BhY2lu''@;'; put 'put ''ZzouMDNlbTtsaW5lLWhlaWdodDouNnJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYm9keSAucDg6bm90KFtjZHMtdGV4dF0pLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5IHAucDg6bm90''@;'; put 'put ''KFtjZHMtdGV4dF0pe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXA4LWNvbG9yLCAjNjY2NjY2KTtmb250LXdlaWdodDo0MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXA4LWZvbnQtd2VpZ2h0LCA0MDApO2ZvbnQtc2l6ZTouNXJlbTtsZXR0ZXItc3BhY2luZzouMDNlbTtsaW5lLWhlaWdo''@;'; put 'put ''dDouNnJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRleHQtbGlnaHR7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1mb250LXdlaWdodC1saWdodCwgMjAwKX0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAudGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50''@;'; put 'put ''ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGV4dC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaHRtbDpub3QoW2Nkcy10ZXh0XSl7''@;'; put 'put ''Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItZ2xvYmFsLWZvbnQtY29sb3IsICM2NjY2NjYpO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItZm9udCwgTWV0cm9wb2xpcywgIkF2''@;'; put 'put ''ZW5pciBOZXh0IiwgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIHNhbnMtc2VyaWYpO2ZvbnQtc2l6ZToxMjUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xyLWxpbmstYWN0aXZlLWNvbG9yOiB2YXIoLS1jbHItY29sb3Itc2Vjb25kYXJ5LWFjdGlv''@;'; put 'put ''bi01MDApOy0tY2xyLWxpbmstY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCk7LS1jbHItbGluay12aXNpdGVkLWNvbG9yOiBoc2woMjM4LCA0MSUsIDUzJSk7LS1jbHItY3VzdG9tLWxp''@;'; put 'put ''bmtzLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0yMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgICosIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgICo6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAqOmFmdGVye2JveC1zaXppbmc6aW5oZXJpdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBodG1sey1tcy1vdmVyZmxvdy1zdHlsZTpzY3JvbGxiYXI7LXdlYmtpdC10YXAtaGlnaGxp''@;'; put 'put ''Z2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBbcm9sZT1idXR0b25de2N1cnNvcjpwb2ludGVyfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIGEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGFyZWEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJ1dHRvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW3JvbGU9YnV0dG9uXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgaW5wdXQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBzZWxlY3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHN1bW1hcnksIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIHRleHRhcmVhe3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9uOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDoxcHh9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBbdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBbdHlwZT1yZXNldF06LW1vei1mb2N1c3Jp''@;'; put 'put ''bmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIFt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmd7b3V0bGluZToycHggc29saWQgSGlnaGxpZ2h0O291dGxpbmUtb2Zmc2V0OjFweH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBpbnB1dCwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBzZWxlY3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHRleHRhcmVhe2JvcmRlci1yYWRpdXM6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBpbnB1''@;'; put 'put ''dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaW5wdXRbdHlwZT1jaGVja2JveF06ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0W3R5cGU9ZGF0ZV0sIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0W3R5cGU9dGltZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBpbnB1dFt0eXBlPW1vbnRoXXstd2Via2l0LWFw''@;'; put 'put ''cGVhcmFuY2U6bGlzdGJveH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICB0ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgZmllbGRzZXR7bWluLXdpZHRoOjA7cGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGxlZ2VuZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzowO2xpbmUtaGVpZ2h0OmluaGVyaXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIFtoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgZGx7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICB0''@;'; put 'put ''YWJsZXtib3JkZXItc3BhY2luZzowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGE6bGlua3tjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1saW5rLWNvbG9yLCAjMDA3MmEzKTt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICBhOnZpc2l0ZWR7Y29sb3I6IzU2NTliODtjb2xvcjp2YXIoLS1jbHItbGluay12aXNpdGVkLWNvbG9yLCAjNTY1OWI4KTt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhOnZpc2l0ZWQ6aG92ZXJ7Y29sb3I6IzU2NTliODtjb2xvcjp2YXIo''@;'; put 'put ''LS1jbHItbGluay12aXNpdGVkLWNvbG9yLWhvdmVyLCAjNTY1OWI4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhOmhvdmVye2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWxpbmstaG92ZXItY29sb3IsICMwMDcyYTMpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYTphY3RpdmV7Y29sb3I6IzllNTdiYztjb2xvcjp2YXIoLS1jbHItbGluay1hY3RpdmUtY29sb3IsICM5ZTU3YmMpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1z''@;'; put 'put ''ci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpOy13ZWJraXQtY2xpcC1wYXRoOmluc2V0KDUwJSk7Y2xpcC1wYXRoOmluc2V0KDUwJSk7cGFkZGluZzowO2JvcmRlcjowO2hlaWdodDoxcHg7d2lkdGg6MXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1z''@;'; put 'put ''cGFjZTpub3dyYXA7dG9wOjA7bGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0Oi44cmVtO3dpZHRoOi44cmVtO3BhZGRp''@;'; put 'put ''bmc6MDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47dmVydGljYWwtYWxpZ246bWlkZGxlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1pY29uLmNsci1pY29uLXdhcm5pbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5hbGVydC1pY29uLmljb24td2FybmluZywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1pY29uLmNsci1pY29uLXdhcm5pbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaWNvbi5pY29uLXdhcm5pbmd7YmFja2dyb3VuZC1p''@;'; put 'put ''bWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwdmlld0JveCUzRCUyMjUlMjA1JTIwMjYlMjAyNiUyMiUyMHByZXNlcnZlQXNwZWN0UmF0aW8lM0QlMjJ4TWlkWU1pZCUyMG1lZXQlMjIlMjB4bWxucyUzRCUyMmh0''@;'; put 'put ''dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUzQ2RlZnMlM0UlM0NzdHlsZSUyMHR5cGUlM0QlMjJ0ZXh0JTJGY3NzJTIyJTNFJTBBJTA5LmNsci1pLW91''@;'; put 'put ''dGxpbmUlN0JmaWxsLXJ1bGUlM0FldmVub2RkJTNCY2xpcC1ydWxlJTNBZXZlbm9kZCUzQmZpbGwlM0ElMjM3NDc0NzQlM0IlN0QlM0MlMkZzdHlsZSUzRSUzQyUyRmRlZnMlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0N0aXRsZSUzRWV4''@;'; put 'put ''Y2xhbWF0aW9uLXRyaWFuZ2xlLWxpbmUlM0MlMkZ0aXRsZSUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BhdGglMjBjbGFzcyUzRCUyMmNsci1pLW91dGxpbmUlMjBjbHItaS1vdXRsaW5lLXBhdGgtMSUyMiUyMGQlM0QlMjJNMTglMkMy''@;'; put 'put ''MS4zMmExLjMlMkMxLjMlMkMwJTJDMCUyQzAlMkMxLjMtMS4zVjE0YTEuMyUyQzEuMyUyQzAlMkMxJTJDMC0yLjYlMkMwdjZBMS4zJTJDMS4zJTJDMCUyQzAlMkMwJTJDMTglMkMyMS4zMlolMjIlM0UlM0MlMkZwYXRoJTNFJTNDY2lyY2xlJTIwY2xhc3MlM0QlMjJjbHItaS1vdXRsaW5lJTIw''@;'; put 'put ''Y2xyLWktb3V0bGluZS1wYXRoLTIlMjIlMjBjeCUzRCUyMjE3Ljk1JTIyJTIwY3klM0QlMjIyNC4yNyUyMiUyMHIlM0QlMjIxLjUlMjIlM0UlM0MlMkZjaXJjbGUlM0UlM0NwYXRoJTIwY2xhc3MlM0QlMjJjbHItaS1vdXRsaW5lJTIwY2xyLWktb3V0bGluZS1wYXRoLTMlMjIlMjBkJTNEJTIy''@;'; put 'put ''TTMwLjMzJTJDMjUuNTQlMkMyMC41OSUyQzcuNmEzJTJDMyUyQzAlMkMwJTJDMC01LjI3JTJDMEw1LjU3JTJDMjUuNTRBMyUyQzMlMkMwJTJDMCUyQzAlMkM4LjIxJTJDMzBIMjcuNjlhMyUyQzMlMkMwJTJDMCUyQzAlMkMyLjY0LTQuNDNabS0xLjc4JTJDMS45NGExJTJDMSUyQzAlMkMwJTJD''@;'; put 'put ''MS0uODYuNDlIOC4yMWExJTJDMSUyQzAlMkMwJTJDMS0uODgtMS40OEwxNy4wNyUyQzguNTVhMSUyQzElMkMwJTJDMCUyQzElMkMxLjc2JTJDMGw5Ljc0JTJDMTcuOTRBMSUyQzElMkMwJTJDMCUyQzElMkMyOC41NSUyQzI3LjQ4WiUyMiUzRSUzQyUyRnBhdGglM0UlMEElMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZzdmclM0UpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1pY29uLmNsci1pY29uLXdhcm5pbmctd2hpdGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaWNvbi5jbHItaWNvbi13YXJuaW5n''@;'; put 'put ''LXdoaXRle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHZpZXdCb3glM0QlMjI1JTIwNSUyMDI2JTIwMjYlMjIlMjBwcmVzZXJ2ZUFzcGVjdFJhdGlvJTNEJTIyeE1pZFlNaWQlMjBtZWV0''@;'; put 'put ''JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlM0NkZWZzJTNFJTNDc3R5bGUlMjB0eXBlJTNEJTIydGV4dCUyRmNzcyUy''@;'; put 'put ''MiUzRSUwQSUwOS5jbHItaS1vdXRsaW5lJTdCZmlsbC1ydWxlJTNBZXZlbm9kZCUzQmNsaXAtcnVsZSUzQWV2ZW5vZGQlM0JmaWxsJTNBJTIzZmZmZmZmJTNCJTdEJTNDJTJGc3R5bGUlM0UlM0MlMkZkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTNDdGl0bGUlM0VleGNsYW1hdGlvbi10cmlhbmdsZS1saW5lJTNDJTJGdGl0bGUlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NwYXRoJTIwY2xhc3MlM0QlMjJjbHItaS1vdXRsaW5lJTIwY2xyLWktb3V0bGluZS1wYXRoLTEl''@;'; put 'put ''MjIlMjBkJTNEJTIyTTE4JTJDMjEuMzJhMS4zJTJDMS4zJTJDMCUyQzAlMkMwJTJDMS4zLTEuM1YxNGExLjMlMkMxLjMlMkMwJTJDMSUyQzAtMi42JTJDMHY2QTEuMyUyQzEuMyUyQzAlMkMwJTJDMCUyQzE4JTJDMjEuMzJaJTIyJTNFJTNDJTJGcGF0aCUzRSUzQ2NpcmNsZSUyMGNsYXNzJTNE''@;'; put 'put ''JTIyY2xyLWktb3V0bGluZSUyMGNsci1pLW91dGxpbmUtcGF0aC0yJTIyJTIwY3glM0QlMjIxNy45NSUyMiUyMGN5JTNEJTIyMjQuMjclMjIlMjByJTNEJTIyMS41JTIyJTNFJTNDJTJGY2lyY2xlJTNFJTNDcGF0aCUyMGNsYXNzJTNEJTIyY2xyLWktb3V0bGluZSUyMGNsci1pLW91dGxpbmUt''@;'; put 'put ''cGF0aC0zJTIyJTIwZCUzRCUyMk0zMC4zMyUyQzI1LjU0JTJDMjAuNTklMkM3LjZhMyUyQzMlMkMwJTJDMCUyQzAtNS4yNyUyQzBMNS41NyUyQzI1LjU0QTMlMkMzJTJDMCUyQzAlMkMwJTJDOC4yMSUyQzMwSDI3LjY5YTMlMkMzJTJDMCUyQzAlMkMwJTJDMi42NC00LjQzWm0tMS43OCUyQzEu''@;'; put 'put ''OTRhMSUyQzElMkMwJTJDMCUyQzEtLjg2LjQ5SDguMjFhMSUyQzElMkMwJTJDMCUyQzEtLjg4LTEuNDhMMTcuMDclMkM4LjU1YTElMkMxJTJDMCUyQzAlMkMxJTJDMS43NiUyQzBsOS43NCUyQzE3Ljk0QTElMkMxJTJDMCUyQzAlMkMxJTJDMjguNTUlMkMyNy40OFolMjIlM0UlM0MlMkZwYXRo''@;'; put 'put ''JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGc3ZnJTNFKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtaWNvbi5jbHItdm13LWxvZ28sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaWNvbi5jbHItdm13''@;'; put 'put ''LWxvZ297YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYlMjAzNiUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAw''@;'; put 'put ''MCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3RpdGxlJTNFdm0lMjBidWclM0MlMkZ0aXRsZSUzRSUwQSUyMCUyMCUyMCUyMCUzQ2RlZnMlM0UlM0MlMkZkZWZzJTNFJTBB''@;'; put 'put ''JTIwJTIwJTIwJTIwJTNDZyUyMGlkJTNEJTIySGVhZGVycyUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTND''@;'; put 'put ''ZyUyMGlkJTNEJTIyQ0wtSGVhZGVycy1TcGVjcyUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgtMjYyLjAwMDAwMCUyQyUyMC0xNzUuMDAwMDAwKSUyMiUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2clMjBpZCUzRCUyMjAxJTIyJTIwdHJhbnNmb3Jt''@;'; put 'put ''JTNEJTIydHJhbnNsYXRlKDIzOC4wMDAwMDAlMkMlMjAxNjMuMDAwMDAwKSUyMiUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2clMjBpZCUzRCUyMnZtLWJ1ZyUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgyNC43MDMxMjUlMkMl''@;'; put 'put ''MjAxMi4wMDAwMDApJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGlkJTNEJTIyUmVjdGFuZ2xlLTQyJTIyJTIwZmlsbC1vcGFjaXR5JTNEJTIyMC4yNSUyMiUyMGZpbGwlM0QlMjIlMjNEREREREQl''@;'; put 'put ''MjIlMjBvcGFjaXR5JTNEJTIyMC42JTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyMCUyMiUyMHdpZHRoJTNEJTIyMzYlMjIlMjBoZWlnaHQlM0QlMjIzNiUyMiUyMHJ4JTNEJTIyMyUyMiUzRSUzQyUyRnJlY3QlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NwYXRoJTIwZCUzRCUyMk03LjYzOTQ4Mzc2JTJDMTMuODc2MjQwMiUyMEM3LjMyMjY1MzI0JTJDMTMuMjA5NzA4MiUyMDYuNTM5NzgxNTIlMkMxMi45MDg1MTM5JTIwNS44MDkyMzA0MiUyQzEzLjIxOTkzNCUyMEM1LjA3NzcxMDQzJTJDMTMuNTMyMjgz''@;'; put 'put ''NyUyMDQuODA5MzI0OTUlMkMxNC4zMTAzNjkxJTIwNS4xMzk3MjAwNyUyQzE0Ljk3NjkwMTElMjBMOC4yMDcyNTk1NCUyQzIxLjM3NDQ5MjMlMjBDOC42ODk3NzIwNyUyQzIyLjM3ODQ3MzUlMjA5LjE5ODQ0NDkxJTJDMjIuOTAzNzA0NCUyMDEwLjE1MjgxMjElMkMyMi45MDM3MDQ0JTIwQzEx''@;'; put 'put ''LjE3MjA5NTUlMkMyMi45MDM3MDQ0JTIwMTEuNjE2ODIwOSUyQzIyLjMzMTA2MzMlMjAxMi4wOTgzNjQ2JTJDMjEuMzc0NDkyMyUyMEMxMi4wOTgzNjQ2JTJDMjEuMzc0NDkyMyUyMDE0Ljc3NDQ2ODIlMkMxNS43ODQ3MzQxJTIwMTQuODAxNTk3NCUyQzE1LjcyNjE2ODUlMjBDMTQuODI4NzI2''@;'; put 'put ''NiUyQzE1LjY2NjY3MzMlMjAxNC45MTQ5NTg4JTJDMTUuNDg2MzI4NiUyMDE1LjE4NzIxOTklMkMxNS40ODcyNTgyJTIwQzE1LjQxNzgxODIlMkMxNS40OTAwNDclMjAxNS42MTA2Mjk0JTJDMTUuNjY1NzQzNyUyMDE1LjYxMDYyOTQlMkMxNS45MDE4NjUyJTIwTDE1LjYxMDYyOTQlMkMyMS4z''@;'; put 'put ''Njk4NDQzJTIwQzE1LjYxMDYyOTQlMkMyMi4yMTIwNzMlMjAxNi4wOTc5ODY1JTJDMjIuOTAzNzA0NCUyMDE3LjAzNDkxMzQlMkMyMi45MDM3MDQ0JTIwQzE3Ljk3MTg0MDMlMkMyMi45MDM3MDQ0JTIwMTguNDc4NTc1NCUyQzIyLjIxMjA3MyUyMDE4LjQ3ODU3NTQlMkMyMS4zNjk4NDQzJTIw''@;'; put 'put ''TDE4LjQ3ODU3NTQlMkMxNi44OTY1NTAzJTIwQzE4LjQ3ODU3NTQlMkMxNi4wMzM4NzAyJTIwMTkuMTIxOTI1NCUyQzE1LjQ3NDI0MzYlMjAyMC4wMDA3MTgzJTJDMTUuNDc0MjQzNiUyMEMyMC44Nzg1NDIzJTJDMTUuNDc0MjQzNiUyMDIxLjQ2Mzc1ODMlMkMxNi4wNTI0NjI0JTIwMjEuNDYz''@;'; put 'put ''NzU4MyUyQzE2Ljg5NjU1MDMlMjBMMjEuNDYzNzU4MyUyQzIxLjM2OTg0NDMlMjBDMjEuNDYzNzU4MyUyQzIyLjIxMjA3MyUyMDIxLjk1MjA4NDIlMkMyMi45MDM3MDQ0JTIwMjIuODg4MDQyMyUyQzIyLjkwMzcwNDQlMjBDMjMuODI0MDAwMyUyQzIyLjkwMzcwNDQlMjAyNC4zMzI2NzMxJTJD''@;'; put 'put ''MjIuMjEyMDczJTIwMjQuMzMyNjczMSUyQzIxLjM2OTg0NDMlMjBMMjQuMzMyNjczMSUyQzE2Ljg5NjU1MDMlMjBDMjQuMzMyNjczMSUyQzE2LjAzMzg3MDIlMjAyNC45NzUwNTQzJTJDMTUuNDc0MjQzNiUyMDI1Ljg1Mzg0NzIlMkMxNS40NzQyNDM2JTIwQzI2LjczMDcwMjMlMkMxNS40NzQy''@;'; put 'put ''NDM2JTIwMjcuMzE2ODg3MSUyQzE2LjA1MjQ2MjQlMjAyNy4zMTY4ODcxJTJDMTYuODk2NTUwMyUyMEwyNy4zMTY4ODcxJTJDMjEuMzY5ODQ0MyUyMEMyNy4zMTY4ODcxJTJDMjIuMjEyMDczJTIwMjcuODA1MjEzMSUyQzIyLjkwMzcwNDQlMjAyOC43NDIxNCUyQzIyLjkwMzcwNDQlMjBDMjku''@;'; put 'put ''Njc3MTI5MSUyQzIyLjkwMzcwNDQlMjAzMC4xODQ4MzMxJTJDMjIuMjEyMDczJTIwMzAuMTg0ODMzMSUyQzIxLjM2OTg0NDMlMjBMMzAuMTg0ODMzMSUyQzE2LjI3ODM1ODIlMjBDMzAuMTg0ODMzMSUyQzE0LjQwNzA0ODglMjAyOC42MTgxMjA3JTJDMTMuMDk2Mjk1NiUyMDI2LjczMDcwMjMl''@;'; put 'put ''MkMxMy4wOTYyOTU2JTIwQzI0Ljg0NTIyMTYlMkMxMy4wOTYyOTU2JTIwMjMuNjY1MTAwNiUyQzE0LjM0NzU1MzYlMjAyMy42NjUxMDA2JTJDMTQuMzQ3NTUzNiUyMEMyMy4wMzcyNTMlMkMxMy41NjY2NzkzJTIwMjIuMTcyMDI0NyUyQzEzLjA5NzIyNTIlMjAyMC43MDg5ODQ3JTJDMTMuMDk3''@;'; put 'put ''MjI1MiUyMEMxOS4xNjQ1NTclMkMxMy4wOTcyMjUyJTIwMTcuODEyOTQwNiUyQzE0LjM0NzU1MzYlMjAxNy44MTI5NDA2JTJDMTQuMzQ3NTUzNiUyMEMxNy4xODQxMjQxJTJDMTMuNTY2Njc5MyUyMDE2LjExNTQyNjclMkMxMy4wOTcyMjUyJTIwMTUuMjMwODIwNCUyQzEzLjA5NzIyNTIlMjBD''@;'; put 'put ''MTMuODYxNzYzOCUyQzEzLjA5NzIyNTIlMjAxMi43NzQ2NTcyJTJDMTMuNjc1NDQ0JTIwMTIuMTExOTI5MiUyQzE1LjEzMDI4NzElMjBMMTAuMTUyODEyMSUyQzE5LjU2MDgxODklMjBMNy42Mzk0ODM3NiUyQzEzLjg3NjI0MDIlMjIlMjBpZCUzRCUyMkZpbGwtNCUyMiUyMGZpbGwlM0QlMjIl''@;'; put 'put ''MjNGRkZGRkYlMjIlM0UlM0MlMkZwYXRoJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGZyUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRmclM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''M0MlMkZnJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJGZyUzRSUwQSUzQyUyRnN2ZyUzRSIpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5pcy1vZmYtc2NyZWVue3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDtib3JkZXI6bm9uZSFpbXBvcnRhbnQ7aGVpZ2h0OjFweCFpbXBvcnRh''@;'; put 'put ''bnQ7d2lkdGg6MXB4IWltcG9ydGFudDtsZWZ0OjAhaW1wb3J0YW50O3RvcDotY29udmVydEJhc2VsaW5lVG9CYXNlMjAoMSkhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnQ7dmlzaWJpbGl0eTpoaWRkZW4haW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAg''@;'; put 'put ''MCAtY29udmVydEJhc2VsaW5lVG9CYXNlMjAoMSkgMCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1wb3BvdmVyLWNvbnRlbnR7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDUwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1y''@;'; put 'put ''b290ey0tY2xyLWJ0bi12ZXJ0aWNhbC1tYXJnaW46IC4zcmVtOy0tY2xyLWJ0bi1ob3Jpem9udGFsLW1hcmdpbjogLjZyZW07LS1jbHItYnRuLWhvcml6b250YWwtcGFkZGluZzogLjZyZW07LS1jbHItYnRuLXZlcnRpY2FsLXBhZGRpbmc6IDA7LS1jbHItYnRuLXBhZGRpbmc6IHZhcigtLWNs''@;'; put 'put ''ci1idG4tdmVydGljYWwtcGFkZGluZykgdmFyKC0tY2xyLWJ0bi1ob3Jpem9udGFsLXBhZGRpbmcpOy0tY2xyLWJ0bi1oZWlnaHQ6IDEuOHJlbTstLWNsci1idG4taGVpZ2h0LXNtOiAxLjJyZW07LS1jbHItYnRuLWZvbnQtd2VpZ2h0OiA1MDA7LS1jbHItYnRuLWJvcmRlci1yYWRpdXM6IC4x''@;'; put 'put ''NXJlbTstLWNsci1idG4tYm9yZGVyLXdpZHRoOiAuMDVyZW07LS1jbHItYnRuLW91dGxpbmUtYmctY29sb3I6IHRyYW5zcGFyZW50Oy0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWxpbmUtaGVpZ2h0OiAxLjE1cmVtOy0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWZvbnQtc2l6''@;'; put 'put ''ZTogLjU1cmVtOy0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWZvbnQtd2VpZ2h0OiA1MDA7LS1jbHItYnRuLWFwcGVhcmFuY2Utc3RhbmRhcmQtaGVpZ2h0OiAxLjJyZW07LS1jbHItYnRuLWFwcGVhcmFuY2Utc3RhbmRhcmQtcGFkZGluZzogMCAuNnJlbTstLWNsci1idG4tYXBwZWFy''@;'; put 'put ''YW5jZS1zdGFuZGFyZC1pY29uLXNpemU6IC42cmVtOy0tY2xyLWJ0bi1hcHBlYXJhbmNlLWZvcm0tbGluZS1oZWlnaHQ6IDEuOHJlbTstLWNsci1idG4tYXBwZWFyYW5jZS1mb3JtLWxldHRlci1zcGFjaW5nOiAuMTJlbTstLWNsci1idG4tYXBwZWFyYW5jZS1mb3JtLWZvbnQtc2l6ZTogLjZy''@;'; put 'put ''ZW07LS1jbHItYnRuLWFwcGVhcmFuY2UtZm9ybS1mb250LXdlaWdodDogNTAwOy0tY2xyLWJ0bi1hcHBlYXJhbmNlLWZvcm0taGVpZ2h0OiAxLjhyZW07LS1jbHItYnRuLWFwcGVhcmFuY2UtZm9ybS1wYWRkaW5nOiAwIC42cmVtOy0tY2xyLWJ0bi1kZWZhdWx0LWNvbG9yOiB2YXIoLS1jbHIt''@;'; put 'put ''Y29sb3ItYWN0aW9uLTYwMCk7LS1jbHItYnRuLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItYnRuLWRlZmF1bHQtY29sb3IpOy0tY2xyLWJ0bi1kZWZhdWx0LWJnLWNvbG9yOiB0cmFuc3BhcmVudDstLWNsci1idG4tZGVmYXVsdC1ob3Zlci1iZy1jb2xvcjogdmFyKC0tY2xyLWNv''@;'; put 'put ''bG9yLWFjdGlvbi01MCk7LS1jbHItYnRuLWRlZmF1bHQtaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tODAwKTstLWNsci1idG4tZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTUwMCk7LS1jbHItYnRuLWRlZmF1bHQtZGlzYWJsZWQt''@;'; put 'put ''Y29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItYnRuLWRlZmF1bHQtZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNsci1idG4tZGVmYXVsdC1iZy1jb2xvcik7LS1jbHItYnRuLWRlZmF1bHQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1''@;'; put 'put ''dHJhbC02MDApOy0tY2xyLWJ0bi1kZWZhdWx0LWNoZWNrZWQtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1idG4tZGVmYXVsdC1jaGVja2VkLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWNvbG9y''@;'; put 'put ''OiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCk7LS1jbHItYnRuLWRlZmF1bHQtb3V0bGluZS1ib3JkZXItY29sb3I6IHZhcigtLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWNvbG9yKTstLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWJnLWNvbG9yOiB2YXIoLS1jbHItYnRuLW91dGxpbmUt''@;'; put 'put ''YmctY29sb3IpOy0tY2xyLWJ0bi1kZWZhdWx0LW91dGxpbmUtaG92ZXItYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNTApOy0tY2xyLWJ0bi1kZWZhdWx0LW91dGxpbmUtaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tODAwKTstLWNsci1idG4tZGVmYXVsdC1v''@;'; put 'put ''dXRsaW5lLWJveC1zaGFkb3ctY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNTAwKTstLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLWJ0bi1kZWZhdWx0LW91dGxpbmUtZGlzYWJsZWQtYmctY29s''@;'; put 'put ''b3I6IHZhcigtLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWJnLWNvbG9yKTstLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNjAwKTstLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWNoZWNrZWQtY29sb3I6IHZh''@;'; put 'put ''cigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWJ0bi1kZWZhdWx0LW91dGxpbmUtY2hlY2tlZC1iZy1jb2xvcjogdmFyKC0tY2xyLWJ0bi1kZWZhdWx0LW91dGxpbmUtY29sb3IpOy0tY2xyLWJ0bi1wcmltYXJ5LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1i''@;'; put 'put ''dG4tcHJpbWFyeS1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDApOy0tY2xyLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDApOy0tY2xyLWJ0bi1wcmltYXJ5LWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9u''@;'; put 'put ''LTgwMCk7LS1jbHItYnRuLXByaW1hcnktaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNTApOy0tY2xyLWJ0bi1wcmltYXJ5LWJveC1zaGFkb3ctY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNTAwKTstLWNsci1idG4tcHJpbWFyeS1kaXNhYmxlZC1jb2xvcjogdmFy''@;'; put 'put ''KC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1idG4tcHJpbWFyeS1kaXNhYmxlZC1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNDAwKTstLWNsci1idG4tcHJpbWFyeS1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1j''@;'; put 'put ''bHItYnRuLXByaW1hcnktY2hlY2tlZC1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDApOy0tY2xyLWJ0bi1wcmltYXJ5LWNoZWNrZWQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWJ0bi1zdWNjZXNzLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1''@;'; put 'put ''dHJhbC0wKTstLWNsci1idG4tc3VjY2Vzcy1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXN1Y2Nlc3MtNzAwKTstLWNsci1idG4tc3VjY2Vzcy1ib3JkZXItY29sb3I6IHZhcigtLWNsci1idG4tc3VjY2Vzcy1iZy1jb2xvcik7LS1jbHItYnRuLXN1Y2Nlc3MtaG92ZXItYmctY29sb3I6IHZh''@;'; put 'put ''cigtLWNsci1jb2xvci1zdWNjZXNzLTgwMCk7LS1jbHItYnRuLXN1Y2Nlc3MtaG92ZXItY29sb3I6IHZhcigtLWNsci1idG4tc3VjY2Vzcy1jb2xvcik7LS1jbHItYnRuLXN1Y2Nlc3MtYm94LXNoYWRvdy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXN1Y2Nlc3MtOTAwKTstLWNsci1idG4tc3Vj''@;'; put 'put ''Y2Vzcy1kaXNhYmxlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1idG4tc3VjY2Vzcy1kaXNhYmxlZC1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNDAwKTstLWNsci1idG4tc3VjY2Vzcy1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWNs''@;'; put 'put ''ci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItYnRuLXN1Y2Nlc3MtY2hlY2tlZC1iZy1jb2xvcjogdmFyKC0tY2xyLWJ0bi1zdWNjZXNzLWhvdmVyLWJnLWNvbG9yKTstLWNsci1idG4tc3VjY2Vzcy1jaGVja2VkLWNvbG9yOiB2YXIoLS1jbHItYnRuLXN1Y2Nlc3MtY29sb3IpOy0tY2xyLWJ0''@;'; put 'put ''bi1zdWNjZXNzLW91dGxpbmUtY29sb3I6IHZhcigtLWNsci1jb2xvci1zdWNjZXNzLTcwMCk7LS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1iZy1jb2xvcjogdmFyKC0tY2xyLWJ0bi1vdXRsaW5lLWJnLWNvbG9yKTstLWNsci1idG4tc3VjY2Vzcy1vdXRsaW5lLWJvcmRlci1jb2xvcjogdmFy''@;'; put 'put ''KC0tY2xyLWNvbG9yLXN1Y2Nlc3MtNzAwKTstLWNsci1idG4tc3VjY2Vzcy1vdXRsaW5lLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3Itc3VjY2Vzcy01MCk7LS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1ob3Zlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXN1Y2Nlc3MtOTAwKTst''@;'; put 'put ''LWNsci1idG4tc3VjY2Vzcy1vdXRsaW5lLWJveC1zaGFkb3ctY29sb3I6IHZhcigtLWNsci1jb2xvci1zdWNjZXNzLTQwMCk7LS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1kaXNhYmxlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1idG4tc3VjY2Vzcy1vdXRs''@;'; put 'put ''aW5lLWRpc2FibGVkLWJnLWNvbG9yOiB2YXIoLS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1iZy1jb2xvcik7LS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTYwMCk7LS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGlu''@;'; put 'put ''ZS1jaGVja2VkLWJnLWNvbG9yOiB2YXIoLS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1ib3JkZXItY29sb3IpOy0tY2xyLWJ0bi1zdWNjZXNzLW91dGxpbmUtY2hlY2tlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYnRuLWRhbmdlci1jb2xvcjogdmFyKC0tY2xy''@;'; put 'put ''LWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYnRuLWRhbmdlci1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci03MDApOy0tY2xyLWJ0bi1kYW5nZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItYnRuLWRhbmdlci1iZy1jb2xvcik7LS1jbHItYnRuLWRhbmdlci1ob3Zlci1iZy1jb2xv''@;'; put 'put ''cjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci04MDApOy0tY2xyLWJ0bi1kYW5nZXItaG92ZXItY29sb3I6IHZhcigtLWNsci1idG4tZGFuZ2VyLWNvbG9yKTstLWNsci1idG4tZGFuZ2VyLWJveC1zaGFkb3ctY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItOTAwKTstLWNsci1idG4tZGFu''@;'; put 'put ''Z2VyLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLWJ0bi1kYW5nZXItZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItYnRuLWRhbmdlci1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWNsci1j''@;'; put 'put ''b2xvci1uZXV0cmFsLTQwMCk7LS1jbHItYnRuLWRhbmdlci1jaGVja2VkLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTgwMCk7LS1jbHItYnRuLWRhbmdlci1jaGVja2VkLWNvbG9yOiB2YXIoLS1jbHItYnRuLWRhbmdlci1jb2xvcik7LS1jbHItYnRuLWRhbmdlci1vdXRsaW5l''@;'; put 'put ''LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTcwMCk7LS1jbHItYnRuLWRhbmdlci1vdXRsaW5lLWJnLWNvbG9yOiB2YXIoLS1jbHItYnRuLW91dGxpbmUtYmctY29sb3IpOy0tY2xyLWJ0bi1kYW5nZXItb3V0bGluZS1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXIt''@;'; put 'put ''ODAwKTstLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtaG92ZXItYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItMTAwKTstLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItOTAwKTstLWNsci1idG4tZGFuZ2VyLW91dGxpbmUt''@;'; put 'put ''Ym94LXNoYWRvdy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci0yMDApOy0tY2xyLWJ0bi1kYW5nZXItb3V0bGluZS1kaXNhYmxlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtZGlzYWJsZWQtYmctY29sb3I6IHZhcigt''@;'; put 'put ''LWNsci1idG4tZGFuZ2VyLW91dGxpbmUtYmctY29sb3IpOy0tY2xyLWJ0bi1kYW5nZXItb3V0bGluZS1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtZGlzYWJsZWQtY29sb3IpOy0tY2xyLWJ0bi1kYW5nZXItb3V0bGluZS1jaGVja2VkLWJnLWNv''@;'; put 'put ''bG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTgwMCk7LS1jbHItYnRuLWRhbmdlci1vdXRsaW5lLWNoZWNrZWQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWJ0bi13YXJuaW5nLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1idG4td2Fy''@;'; put 'put ''bmluZy1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci03MDApOy0tY2xyLWJ0bi13YXJuaW5nLWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWJ0bi1kYW5nZXItYmctY29sb3IpOy0tY2xyLWJ0bi13YXJuaW5nLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTgw''@;'; put 'put ''MCk7LS1jbHItYnRuLXdhcm5pbmctaG92ZXItY29sb3I6IHZhcigtLWNsci1idG4tZGFuZ2VyLWNvbG9yKTstLWNsci1idG4td2FybmluZy1ib3gtc2hhZG93LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTkwMCk7LS1jbHItYnRuLXdhcm5pbmctZGlzYWJsZWQtY29sb3I6IHZhcigt''@;'; put 'put ''LWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItYnRuLXdhcm5pbmctZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItYnRuLXdhcm5pbmctZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC00MDApOy0tY2xy''@;'; put 'put ''LWJ0bi13YXJuaW5nLWNoZWNrZWQtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItODAwKTstLWNsci1idG4td2FybmluZy1jaGVja2VkLWNvbG9yOiB2YXIoLS1jbHItYnRuLWRhbmdlci1jb2xvcik7LS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1jb2xvcjogdmFyKC0tY2xyLWNv''@;'; put 'put ''bG9yLWRhbmdlci03MDApOy0tY2xyLWJ0bi13YXJuaW5nLW91dGxpbmUtYmctY29sb3I6IHZhcigtLWNsci1idG4tb3V0bGluZS1iZy1jb2xvcik7LS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItODAwKTstLWNsci1idG4td2Fy''@;'; put 'put ''bmluZy1vdXRsaW5lLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTEwMCk7LS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1ob3Zlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci05MDApOy0tY2xyLWJ0bi13YXJuaW5nLW91dGxpbmUtYm94LXNoYWRvdy1jb2xv''@;'; put 'put ''cjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci0yMDApOy0tY2xyLWJ0bi13YXJuaW5nLW91dGxpbmUtZGlzYWJsZWQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1kaXNhYmxlZC1iZy1jb2xvcjogdmFyKC0tY2xyLWJ0bi1kYW5n''@;'; put 'put ''ZXItb3V0bGluZS1iZy1jb2xvcik7LS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtZGlzYWJsZWQtY29sb3IpOy0tY2xyLWJ0bi13YXJuaW5nLW91dGxpbmUtY2hlY2tlZC1iZy1jb2xvcjogdmFyKC0t''@;'; put 'put ''Y2xyLWNvbG9yLWRhbmdlci04MDApOy0tY2xyLWJ0bi13YXJuaW5nLW91dGxpbmUtY2hlY2tlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYnRuLWxpbmstY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1idG4tbGluay1iZy1jb2xvcjog''@;'; put 'put ''dHJhbnNwYXJlbnQ7LS1jbHItYnRuLWxpbmstYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDstLWNsci1idG4tbGluay1ob3Zlci1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7LS1jbHItYnRuLWxpbmstaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tODAwKTstLWNsci1idG4tbGlu''@;'; put 'put ''ay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1idG4tbGluay1kaXNhYmxlZC1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7LS1jbHItYnRuLWxpbmstZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDstLWNsci1idG4tbGluay1jaGVja2Vk''@;'; put 'put ''LWJnLWNvbG9yOiB0cmFuc3BhcmVudDstLWNsci1idG4tbGluay1jaGVja2VkLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTgwMCk7LS1jbHItYnRuLWludmVyc2UtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWJ0bi1pbnZlcnNlLWJvcmRlci1jb2xvcjog''@;'; put 'put ''dmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYnRuLWludmVyc2UtYmctY29sb3I6IHRyYW5zcGFyZW50Oy0tY2xyLWJ0bi1pbnZlcnNlLWhvdmVyLWJnLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSk7LS1jbHItYnRuLWludmVyc2UtaG92ZXItY29sb3I6IHZhcigtLWNs''@;'; put 'put ''ci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWJ0bi1pbnZlcnNlLWJveC1zaGFkb3ctY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTstLWNsci1idG4taW52ZXJzZS1kaXNhYmxlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYnRuLWludmVyc2UtZGlzYWJsZWQtYmct''@;'; put 'put ''Y29sb3I6IHZhcigtLWNsci1idG4taW52ZXJzZS1iZy1jb2xvcik7LS1jbHItYnRuLWludmVyc2UtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1idG4taW52ZXJzZS1jaGVja2VkLWJnLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4x''@;'; put 'put ''NSk7LS1jbHItYnRuLWludmVyc2UtY2hlY2tlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYnRuLWljb24tZGlzYWJsZWQtY29sb3I6IHZhcigtLWNsci1idG4tZGVmYXVsdC1kaXNhYmxlZC1jb2xvciwgIzY2NjY2Nik7LS1jbHItYnRuLWdyb3VwLWZvY3VzLW91''@;'; put 'put ''dGxpbmU6ICM1MWNiZWV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWFwcGVhcmFuY2U6bm9uZSFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1j''@;'; put 'put ''bHItYnRuLWJvcmRlci1yYWRpdXMsIC4xNXJlbSk7Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItd2lkdGg6dmFyKC0tY2xyLWJ0bi1ib3JkZXItd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLXN0eWxlOnNvbGlkO21pbi13aWR0aDozLjZyZW07bWF4LXdpZHRoOjE4cmVtO3doaXRlLXNwYWNlOm5v''@;'; put 'put ''d3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci1jb2xvcjojMDA3MmEzO2JvcmRlci1jb2xvcjp2''@;'; put 'put ''YXIoLS1jbHItYnRuLWRlZmF1bHQtYm9yZGVyLWNvbG9yLCAjMDA3MmEzKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0bi1kZWZhdWx0LWJnLWNvbG9yLCB0cmFuc3BhcmVudCk7Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHIt''@;'; put 'put ''YnRuLWRlZmF1bHQtY29sb3IsICMwMDcyYTMpO2xpbmUtaGVpZ2h0OjEuOHJlbTtsaW5lLWhlaWdodDp2YXIoLS1jbHItYnRuLWFwcGVhcmFuY2UtZm9ybS1saW5lLWhlaWdodCwgMS44cmVtKTtsZXR0ZXItc3BhY2luZzouMTJlbTtmb250LXNpemU6LjZyZW07Zm9udC1zaXplOnZhcigtLWNs''@;'; put 'put ''ci1idG4tYXBwZWFyYW5jZS1mb3JtLWZvbnQtc2l6ZSwgLjZyZW0pO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXdlaWdodDp2YXIoLS1jbHItYnRuLWFwcGVhcmFuY2UtZm9ybS1mb250LXdlaWdodCwgNTAwKTtoZWlnaHQ6MS44cmVtO2hlaWdodDp2YXIoLS1jbHItYnRuLWFwcGVhcmFuY2UtZm9y''@;'; put 'put ''bS1oZWlnaHQsIDEuOHJlbSk7cGFkZGluZzowIC42cmVtO3BhZGRpbmc6dmFyKC0tY2xyLWJ0bi1hcHBlYXJhbmNlLWZvcm0tcGFkZGluZywgMCAuNnJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bjpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuYnRuIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuIGNsci1pY29ue2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWJ0bi1kZWZhdWx0LWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYnRuOnZpc2l0ZWR7Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTNmNWZjO2JhY2tncm91bmQtY29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLWJ0bi1kZWZhdWx0LWhvdmVyLWJnLWNvbG9yLCAjZTNmNWZjKTtjb2xvcjojMDA1NjdhO2NvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1ob3Zlci1jb2xvciwgIzAwNTY3YSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bjphY3RpdmV7Ym94LXNo''@;'; put 'put ''YWRvdzowIC4xcmVtICMxNzliZDMgaW5zZXQ7Ym94LXNoYWRvdzowIC4xcmVtIDAgMCB2YXIoLS1jbHItYnRuLWRlZmF1bHQtYm94LXNoYWRvdy1jb2xvciwgIzE3OWJkMykgaW5zZXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bjpkaXNhYmxlZHtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1kaXNhYmxlZC1jb2xvciwgIzY2NjY2Nik7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3Jv''@;'; put 'put ''dW5kLWNvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1kaXNhYmxlZC1iZy1jb2xvciwgdHJhbnNwYXJlbnQpO2JvcmRlci1jb2xvcjojOGM4YzhjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yLCAjOGM4YzhjKTtib3gtc2hhZG93Om5v''@;'; put 'put ''bmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cD4uYnRuIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuIGNsci1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0uMXJlbSwwKX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYnRuLWdyb3VwPi5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4gY2RzLWljb257bWFyZ2luLXRvcDotLjE0cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXNlY29uZGFyeSwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4taW5mbywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tcHJpbWFyeS1vdXRsaW5lLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1zZWNvbmRhcnktb3V0bGluZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4taW5mby1vdXRsaW5lLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXNlY29uZGFyeSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWluZm8gLmJ0biwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lIC5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJpbWFyeS1vdXRsaW5lIC5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc2Vjb25kYXJ5LW91dGxpbmUgLmJ0''@;'; put 'put ''biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXByaW1hcnkgLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWlu''@;'; put 'put ''Zm8tb3V0bGluZSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtaW5mbyAuYnRue2JvcmRlci1jb2xvcjojMDA3MmEzO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtYm9yZGVyLWNvbG9yLCAjMDA3MmEzKTtiYWNrZ3JvdW5kLWNv''@;'; put 'put ''bG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0bi1kZWZhdWx0LWJnLWNvbG9yLCB0cmFuc3BhcmVudCk7Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5idG4uYnRuLXNlY29uZGFyeSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc2Vjb25kYXJ5IGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvIGNkcy1pY29uLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lIGNsci1pY29uLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1wcmltYXJ5LW91dGxpbmUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXByaW1hcnktb3V0bGluZSBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXNlY29uZGFyeS1vdXRsaW5lIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1h''@;'; put 'put ''cnkgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgY2RzLWljb24sIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvLW91dGxpbmUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWlu''@;'; put 'put ''Zm8tb3V0bGluZSBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnkgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnkgLmJ0biBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvIC5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taW5mbyAuYnRuIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUgLmJ0biBjZHMtaWNvbiwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lIC5idG4gY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJpbWFyeS1vdXRsaW5lIC5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJp''@;'; put 'put ''bWFyeS1vdXRsaW5lIC5idG4gY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc2Vjb25kYXJ5LW91dGxpbmUgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnktb3V0bGluZSAuYnRuIGNsci1p''@;'; put 'put ''Y29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtcHJpbWFyeSAuYnRuIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtcHJpbWFyeSAuYnRuIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5IC5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1zZWNvbmRhcnkgLmJ0biBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91''@;'; put 'put ''dGxpbmUgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91dGxpbmUgLmJ0biBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLWluZm8gLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLWluZm8gLmJ0biBjbHItaWNvbntjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1jb2xvciwgIzAwNzJhMyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc2Vjb25kYXJ5OnZp''@;'; put 'put ''c2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm86dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZTp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1w''@;'; put 'put ''cmltYXJ5LW91dGxpbmU6dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmU6dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OnZpc2l0ZWQsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm8tb3V0bGluZTp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRu''@;'; put 'put ''LXNlY29uZGFyeSAuYnRuOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taW5mbyAuYnRuOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZSAuYnRuOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5idG4tcHJpbWFyeS1vdXRsaW5lIC5idG46dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnktb3V0bGluZSAuYnRuOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1wcmlt''@;'; put 'put ''YXJ5IC5idG46dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSAuYnRuOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taW5mby1vdXRsaW5lIC5idG46dmlzaXRlZCwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLWluZm8gLmJ0bjp2aXNpdGVke2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWJ0bi1kZWZhdWx0LWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92''@;'; put 'put ''ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm86aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXByaW1hcnkt''@;'; put 'put ''b3V0bGluZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm8tb3V0bGluZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnkgLmJ0bjpo''@;'; put 'put ''b3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvIC5idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZSAuYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXByaW1hcnkt''@;'; put 'put ''b3V0bGluZSAuYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXNlY29uZGFyeS1vdXRsaW5lIC5idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1wcmltYXJ5IC5idG46aG92ZXIsIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1zZWNvbmRhcnkgLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91dGxpbmUgLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5l''@;'; put 'put ''LWluZm8gLmJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlM2Y1ZmM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtaG92ZXItYmctY29sb3IsICNlM2Y1ZmMpO2NvbG9yOiMwMDU2N2E7Y29sb3I6dmFyKC0tY2xyLWJ0bi1kZWZhdWx0LWhvdmVyLWNvbG9yLCAjMDA1''@;'; put 'put ''NjdhKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0''@;'; put 'put ''bGluZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXByaW1hcnktb3V0bGluZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXNlY29uZGFyeS1vdXRsaW5lOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvLW91''@;'; put 'put ''dGxpbmU6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXNlY29uZGFyeSAuYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvIC5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''YnRuLW91dGxpbmUgLmJ0bjphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJpbWFyeS1vdXRsaW5lIC5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXNlY29uZGFyeS1vdXRsaW5lIC5idG46YWN0aXZlLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtcHJpbWFyeSAuYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSAuYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmJ0bi1pbmZvLW91dGxpbmUgLmJ0bjphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1pbmZvIC5idG46YWN0aXZle2JveC1zaGFkb3c6MCAuMXJlbSAjMTc5YmQzIGluc2V0O2JveC1zaGFkb3c6MCAuMXJlbSAwIDAgdmFyKC0tY2xyLWJ0bi1k''@;'; put 'put ''ZWZhdWx0LWJveC1zaGFkb3ctY29sb3IsICMxNzliZDMpIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLmRp''@;'; put 'put ''c2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1wcmltYXJ5LW91dGxpbmUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5idG4uYnRuLXByaW1hcnktb3V0bGluZTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXNlY29uZGFyeS1vdXRs''@;'; put 'put ''aW5lOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0''@;'; put 'put ''bi1pbmZvLW91dGxpbmUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm8tb3V0bGluZTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnkgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnkgLmJ0bjpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvIC5idG4uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taW5mbyAuYnRuOmRpc2FibGVk''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lIC5idG46ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJp''@;'; put 'put ''bWFyeS1vdXRsaW5lIC5idG4uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJpbWFyeS1vdXRsaW5lIC5idG46ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc2Vjb25kYXJ5LW91dGxpbmUgLmJ0bi5kaXNhYmxl''@;'; put 'put ''ZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zZWNvbmRhcnktb3V0bGluZSAuYnRuOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtcHJpbWFyeSAuYnRuLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYnRuLW91dGxpbmUtcHJpbWFyeSAuYnRuOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5IC5idG4uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1z''@;'; put 'put ''ZWNvbmRhcnkgLmJ0bjpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91dGxpbmUgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91dGxpbmUgLmJ0bjpkaXNhYmxlZCwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLWluZm8gLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLWluZm8gLmJ0bjpkaXNhYmxlZHtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1kaXNh''@;'; put 'put ''YmxlZC1jb2xvciwgIzY2NjY2Nik7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1kaXNhYmxlZC1iZy1jb2xvciwgdHJhbnNwYXJlbnQpO2JvcmRlci1jb2xvcjoj''@;'; put 'put ''OGM4YzhjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yLCAjOGM4YzhjKTtib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tcHJpbWFyeSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmJ0bi1wcmltYXJ5IC5idG57Ym9yZGVyLWNvbG9yOiMwMDcyYTM7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4tcHJpbWFyeS1ib3JkZXItY29sb3IsICMwMDcyYTMpO2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tcHJp''@;'; put 'put ''bWFyeS1iZy1jb2xvciwgIzAwNzJhMyk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1wcmltYXJ5IGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuYnRuLmJ0bi1wcmltYXJ5IGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXByaW1hcnkgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1wcmltYXJ5IC5idG4gY2xyLWljb257Y29sb3I6I2ZmZjtj''@;'; put 'put ''b2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1wcmltYXJ5OnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJpbWFyeSAuYnRuOnZpc2l0ZWR7Y29sb3I6''@;'; put 'put ''I2ZmZjtjb2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1wcmltYXJ5OmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXByaW1hcnkgLmJ0bjpob3ZlcntiYWNr''@;'; put 'put ''Z3JvdW5kLWNvbG9yOiMwMDU2N2E7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktaG92ZXItYmctY29sb3IsICMwMDU2N2EpO2NvbG9yOiNlM2Y1ZmM7Y29sb3I6dmFyKC0tY2xyLWJ0bi1wcmltYXJ5LWhvdmVyLWNvbG9yLCAjZTNmNWZjKX0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1wcmltYXJ5IC5idG46YWN0aXZle2JveC1zaGFkb3c6MCAuMXJlbSAjMTc5YmQzIGluc2V0O2JveC1zaGFkb3c6MCAuMXJlbSAwIDAgdmFyKC0tY2xy''@;'; put 'put ''LWJ0bi1wcmltYXJ5LWJveC1zaGFkb3ctY29sb3IsICMxNzliZDMpIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXByaW1hcnkuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXByaW1hcnk6ZGlzYWJsZWQs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tcHJpbWFyeSAuYnRuLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXByaW1hcnkgLmJ0bjpkaXNhYmxlZHtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1idG4tcHJpbWFyeS1kaXNh''@;'; put 'put ''YmxlZC1jb2xvciwgIzY2NjY2Nik7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjQ7YmFja2dyb3VuZC1jb2xvcjojY2NjO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0bi1wcmltYXJ5LWRpc2FibGVkLWJnLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItY29sb3I6I2NjYztib3JkZXIt''@;'; put 'put ''Y29sb3I6dmFyKC0tY2xyLWJ0bi1wcmltYXJ5LWRpc2FibGVkLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXN1Y2Nlc3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4t''@;'; put 'put ''c3VjY2VzcyAuYnRue2JvcmRlci1jb2xvcjojM2M4NTAwO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLXN1Y2Nlc3MtYm9yZGVyLWNvbG9yLCAjM2M4NTAwKTtiYWNrZ3JvdW5kLWNvbG9yOiMzYzg1MDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLXN1Y2Nlc3MtYmctY29sb3Is''@;'; put 'put ''ICMzYzg1MDApO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJ0bi1zdWNjZXNzLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc3VjY2VzcyBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4t''@;'; put 'put ''c3VjY2VzcyBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zdWNjZXNzIC5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc3VjY2VzcyAuYnRuIGNsci1pY29ue2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xy''@;'; put 'put ''LWJ0bi1zdWNjZXNzLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc3VjY2Vzczp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXN1Y2Nlc3MgLmJ0bjp2aXNpdGVke2NvbG9yOiNmZmY7Y29sb3I6dmFy''@;'; put 'put ''KC0tY2xyLWJ0bi1zdWNjZXNzLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc3VjY2Vzczpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zdWNjZXNzIC5idG46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjoj''@;'; put 'put ''MzA2YjAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0bi1zdWNjZXNzLWhvdmVyLWJnLWNvbG9yLCAjMzA2YjAwKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1idG4tc3VjY2Vzcy1ob3Zlci1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5i''@;'; put 'put ''dG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXN1Y2Nlc3MgLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4xcmVtICMyNTUyMDAgaW5zZXQ7Ym94LXNoYWRvdzowIC4xcmVtIDAgMCB2YXIoLS1jbHItYnRuLXN1Y2Nlc3MtYm94LXNo''@;'; put 'put ''YWRvdy1jb2xvciwgIzI1NTIwMCkgaW5zZXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc3VjY2VzczpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmJ0bi1zdWNjZXNzIC5idG4uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc3VjY2VzcyAuYnRuOmRpc2FibGVke2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLWJ0bi1zdWNjZXNzLWRpc2FibGVkLWNvbG9yLCAjNjY2NjY2''@;'; put 'put ''KTtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNDtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLXN1Y2Nlc3MtZGlzYWJsZWQtYmctY29sb3IsICNjY2NjY2MpO2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRu''@;'; put 'put ''LXN1Y2Nlc3MtZGlzYWJsZWQtYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4td2FybmluZywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi13YXJuaW5nIC5idG57Ym9yZGVy''@;'; put 'put ''LWNvbG9yOnZhcigtLWNsci1idG4td2FybmluZy1ib3JkZXItY29sb3IsICk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctYmctY29sb3IsICk7Y29sb3I6dmFyKC0tY2xyLWJ0bi13YXJuaW5nLWNvbG9yLCApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5idG4uYnRuLXdhcm5pbmcgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXdhcm5pbmcgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4td2FybmluZyAuYnRuIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuYnRuLXdhcm5pbmcgLmJ0biBjbHItaWNvbntjb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctY29sb3IsICl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4td2FybmluZzp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuYnRuLXdhcm5pbmcgLmJ0bjp2aXNpdGVke2NvbG9yOnZhcigtLWNsci1idG4td2FybmluZy1jb2xvciwgKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi13YXJuaW5nOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRu''@;'; put 'put ''LXdhcm5pbmcgLmJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4td2FybmluZy1ob3Zlci1iZy1jb2xvciwgKTtjb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctaG92ZXItY29sb3IsICl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4td2Fy''@;'; put 'put ''bmluZzphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4td2FybmluZyAuYnRuOmFjdGl2ZXtib3gtc2hhZG93OjAgLjFyZW0gaW5zZXQ7Ym94LXNoYWRvdzowIC4xcmVtIDAgMCB2YXIoLS1jbHItYnRuLXdhcm5pbmctYm94LXNoYWRvdy1jb2xvciwgKSBpbnNl''@;'; put 'put ''dH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi13YXJuaW5nLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi13YXJuaW5nOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXdhcm5p''@;'; put 'put ''bmcgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi13YXJuaW5nIC5idG46ZGlzYWJsZWR7Y29sb3I6dmFyKC0tY2xyLWJ0bi13YXJuaW5nLWRpc2FibGVkLWNvbG9yLCApO2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40O2JhY2tncm91bmQt''@;'; put 'put ''Y29sb3I6dmFyKC0tY2xyLWJ0bi13YXJuaW5nLWRpc2FibGVkLWJnLWNvbG9yLCApO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctZGlzYWJsZWQtYm9yZGVyLWNvbG9yLCApO2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0''@;'; put 'put ''bi1kYW5nZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZGFuZ2VyIC5idG57Ym9yZGVyLWNvbG9yOiNkYjIxMDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLWJvcmRlci1jb2xvciwgI2RiMjEwMCk7YmFja2dyb3VuZC1jb2xvcjojZGIyMTAwO2Jh''@;'; put 'put ''Y2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0bi1kYW5nZXItYmctY29sb3IsICNkYjIxMDApO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJ0bi1kYW5nZXItY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1kYW5nZXIgY2RzLWljb24s''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWRhbmdlciBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXIgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXIg''@;'; put 'put ''LmJ0biBjbHItaWNvbntjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tZGFuZ2VyOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZGFu''@;'; put 'put ''Z2VyIC5idG46dmlzaXRlZHtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWRh''@;'; put 'put ''bmdlciAuYnRuOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2MyMWQwMDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLWhvdmVyLWJnLWNvbG9yLCAjYzIxZDAwKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLWhvdmVyLWNvbG9yLCB3aGl0ZSl9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tZGFuZ2VyOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXIgLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4xcmVtICM5OTE3MDAgaW5zZXQ7Ym94LXNoYWRvdzowIC4xcmVtIDAg''@;'; put 'put ''MCB2YXIoLS1jbHItYnRuLWRhbmdlci1ib3gtc2hhZG93LWNvbG9yLCAjOTkxNzAwKSBpbnNldH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWRhbmdlcjpk''@;'; put 'put ''aXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXIgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXIgLmJ0bjpkaXNhYmxlZHtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1idG4tZGFuZ2Vy''@;'; put 'put ''LWRpc2FibGVkLWNvbG9yLCAjNjY2NjY2KTtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNDtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWRhbmdlci1kaXNhYmxlZC1iZy1jb2xvciwgI2NjY2NjYyk7Ym9yZGVyLWNvbG9yOiM2NjY7Ym9y''@;'; put 'put ''ZGVyLWNvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLWRpc2FibGVkLWJvcmRlci1jb2xvciwgIzY2NjY2Nik7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5i''@;'; put 'put ''dG4uYnRuLW91dGxpbmUgLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4taW5mby1vdXRsaW5lLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWluZm8tb3V0bGluZSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYnRuLmJ0bi1vdXRsaW5lLWluZm8sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZSAuYnRue2JvcmRlci1jb2xvcjojMDA3MmEzO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtb3V0bGluZS1ib3JkZXItY29sb3IsICMwMDcyYTMpO2Jh''@;'; put 'put ''Y2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtb3V0bGluZS1iZy1jb2xvciwgdHJhbnNwYXJlbnQpO2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWJ0bi1kZWZhdWx0LW91dGxpbmUtY29sb3IsICMwMDcyYTMpfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxp''@;'; put 'put ''bmUgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZSAuYnRuIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbmZvLW91dGxpbmUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm8tb3V0bGluZSBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91dGxpbmUgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91dGxpbmUg''@;'; put 'put ''LmJ0biBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLWluZm8gY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5idG4tb3V0bGluZSAuYnRuIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUgLmJ0biBjbHItaWNvbntjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWNvbG9yLCAjMDA3MmEz''@;'; put 'put ''KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUgLmJ0bjp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0''@;'; put 'put ''bi1pbmZvLW91dGxpbmU6dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbmZvLW91dGxpbmUgLmJ0bjp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLWluZm86dmlzaXRlZCwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lIC5idG46dmlzaXRlZHtjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lOmhv''@;'; put 'put ''dmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lIC5idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm8tb3V0bGluZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0''@;'; put 'put ''bi1pbmZvLW91dGxpbmUgLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUgLmJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNl''@;'; put 'put ''M2Y1ZmM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtb3V0bGluZS1ob3Zlci1iZy1jb2xvciwgI2UzZjVmYyk7Y29sb3I6IzAwNTY3YTtjb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtb3V0bGluZS1ob3Zlci1jb2xvciwgIzAwNTY3YSl9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUgLmJ0bjphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWluZm8tb3V0bGluZTphY3Rp''@;'; put 'put ''dmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taW5mby1vdXRsaW5lIC5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLWluZm86YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''YnRuLW91dGxpbmUgLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4xcmVtICMxNzliZDMgaW5zZXQ7Ym94LXNoYWRvdzowIC4xcmVtIDAgMCB2YXIoLS1jbHItYnRuLWRlZmF1bHQtb3V0bGluZS1ib3gtc2hhZG93LWNvbG9yLCAjMTc5YmQzKSBpbnNldH0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lIC5idG4uZGlzYWJsZWQsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUgLmJ0bjpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4taW5mby1vdXRsaW5lLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRu''@;'; put 'put ''LmJ0bi1pbmZvLW91dGxpbmU6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taW5mby1vdXRsaW5lIC5idG4uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taW5mby1vdXRsaW5lIC5idG46ZGlzYWJsZWQsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91''@;'; put 'put ''dGxpbmUgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lIC5idG46ZGlzYWJsZWR7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYnRuLWRlZmF1bHQtb3V0bGluZS1kaXNhYmxlZC1jb2xvciwgIzY2NjY2Nik7Y3Vyc29yOm5vdC1h''@;'; put 'put ''bGxvd2VkO29wYWNpdHk6LjQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWRpc2FibGVkLWJnLWNvbG9yLCB0cmFuc3BhcmVudCk7Ym9yZGVyLWNvbG9yOiM4YzhjOGM7Ym9yZGVyLWNvbG9yOnZhcigt''@;'; put 'put ''LWNsci1idG4tZGVmYXVsdC1vdXRsaW5lLWRpc2FibGVkLWJvcmRlci1jb2xvciwgIzhjOGM4Yyk7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXN1Y2Nlc3Mtb3V0bGluZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXN1Y2Nlc3Mtb3V0bGluZSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtc3VjY2VzcyAuYnRue2JvcmRlci1jb2xvcjojM2M4NTAw''@;'; put 'put ''O2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1ib3JkZXItY29sb3IsICMzYzg1MDApO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1iZy1jb2xvciwgdHJhbnNwYXJlbnQp''@;'; put 'put ''O2NvbG9yOiMzYzg1MDA7Y29sb3I6dmFyKC0tY2xyLWJ0bi1zdWNjZXNzLW91dGxpbmUtY29sb3IsICMzYzg1MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXN1Y2Nlc3Mtb3V0bGluZSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmJ0bi5idG4tc3VjY2Vzcy1vdXRsaW5lIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzcyBj''@;'; put 'put ''bHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zdWNjZXNzLW91dGxpbmUgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zdWNjZXNzLW91dGxpbmUgLmJ0biBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MgLmJ0biBjbHItaWNvbntjb2xvcjojM2M4NTAwO2NvbG9yOnZhcigtLWNsci1idG4tc3VjY2Vzcy1vdXRs''@;'; put 'put ''aW5lLWNvbG9yLCAjM2M4NTAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1zdWNjZXNzLW91dGxpbmU6dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOnZpc2l0ZWQsIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc3VjY2Vzcy1vdXRsaW5lIC5idG46dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MgLmJ0bjp2aXNpdGVke2NvbG9yOiMzYzg1MDA7Y29sb3I6dmFyKC0tY2xyLWJ0bi1zdWNjZXNz''@;'; put 'put ''LW91dGxpbmUtY29sb3IsICMzYzg1MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXN1Y2Nlc3Mtb3V0bGluZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXN1Y2Nlc3Mtb3V0bGluZSAuYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtc3VjY2VzcyAuYnRuOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RmZjBkMDtiYWNrZ3JvdW5kLWNvbG9yOnZh''@;'; put 'put ''cigtLWNsci1idG4tc3VjY2Vzcy1vdXRsaW5lLWhvdmVyLWJnLWNvbG9yLCAjZGZmMGQwKTtjb2xvcjojMjU1MjAwO2NvbG9yOnZhcigtLWNsci1idG4tc3VjY2Vzcy1vdXRsaW5lLWhvdmVyLWNvbG9yLCAjMjU1MjAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0''@;'; put 'put ''bi1zdWNjZXNzLW91dGxpbmU6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXN1Y2Nlc3Mtb3V0bGluZSAuYnRuOmFjdGl2ZSwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MgLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4xcmVtICM1ZWI3MTUgaW5zZXQ7Ym94LXNoYWRvdzowIC4xcmVtIDAgMCB2YXIoLS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1ib3gtc2hhZG93LWNvbG9yLCAj''@;'; put 'put ''NWViNzE1KSBpbnNldH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1zdWNjZXNzLW91dGxpbmUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXN1Y2Nlc3Mtb3V0bGluZTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc3VjY2Vz''@;'; put 'put ''cy1vdXRsaW5lIC5idG4uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc3VjY2Vzcy1vdXRsaW5lIC5idG46ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1zdWNjZXNzIC5idG4uZGlzYWJsZWQsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1zdWNjZXNzIC5idG46ZGlzYWJsZWR7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYnRuLXN1Y2Nlc3Mtb3V0bGluZS1kaXNhYmxlZC1jb2xvciwgIzY2NjY2Nik7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6''@;'; put 'put ''LjQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tc3VjY2Vzcy1vdXRsaW5lLWRpc2FibGVkLWJnLWNvbG9yLCB0cmFuc3BhcmVudCk7Ym9yZGVyLWNvbG9yOiM4YzhjOGM7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4tc3VjY2Vz''@;'; put 'put ''cy1vdXRsaW5lLWRpc2FibGVkLWJvcmRlci1jb2xvciwgIzhjOGM4Yyk7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXdhcm5pbmctb3V0bGluZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGlu''@;'; put 'put ''ZS13YXJuaW5nLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXdhcm5pbmctb3V0bGluZSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtd2FybmluZyAuYnRue2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmct''@;'; put 'put ''b3V0bGluZS1ib3JkZXItY29sb3IsICk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1iZy1jb2xvciwgKTtjb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1jb2xvciwgKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRu''@;'; put 'put ''LmJ0bi13YXJuaW5nLW91dGxpbmUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXdhcm5pbmctb3V0bGluZSBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nIGNkcy1pY29u''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4td2FybmluZy1vdXRsaW5lIC5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5idG4td2FybmluZy1vdXRsaW5lIC5idG4gY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS13YXJuaW5nIC5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS13YXJuaW5n''@;'; put 'put ''IC5idG4gY2xyLWljb257Y29sb3I6dmFyKC0tY2xyLWJ0bi13YXJuaW5nLW91dGxpbmUtY29sb3IsICl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4td2FybmluZy1vdXRsaW5lOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4u''@;'; put 'put ''YnRuLW91dGxpbmUtd2FybmluZzp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLXdhcm5pbmctb3V0bGluZSAuYnRuOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS13YXJuaW5nIC5idG46dmlzaXRlZHtj''@;'; put 'put ''b2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1jb2xvciwgKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi13YXJuaW5nLW91dGxpbmU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtd2Fybmlu''@;'; put 'put ''Zzpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi13YXJuaW5nLW91dGxpbmUgLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcgLmJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNs''@;'; put 'put ''ci1idG4td2FybmluZy1vdXRsaW5lLWhvdmVyLWJnLWNvbG9yLCApO2NvbG9yOnZhcigtLWNsci1idG4td2FybmluZy1vdXRsaW5lLWhvdmVyLWNvbG9yLCApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLXdhcm5pbmctb3V0bGluZTphY3RpdmUsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4td2FybmluZy1vdXRsaW5lIC5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91''@;'; put 'put ''dGxpbmUtd2FybmluZyAuYnRuOmFjdGl2ZXtib3gtc2hhZG93OjAgLjFyZW0gaW5zZXQ7Ym94LXNoYWRvdzowIC4xcmVtIDAgMCB2YXIoLS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1ib3gtc2hhZG93LWNvbG9yLCApIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5i''@;'; put 'put ''dG4uYnRuLXdhcm5pbmctb3V0bGluZS5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4td2FybmluZy1vdXRsaW5lOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJs''@;'; put 'put ''ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi13YXJuaW5nLW91dGxpbmUgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmJ0bi13YXJuaW5nLW91dGxpbmUgLmJ0bjpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLXdhcm5p''@;'; put 'put ''bmcgLmJ0bjpkaXNhYmxlZHtjb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1kaXNhYmxlZC1jb2xvciwgKTtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4td2FybmluZy1vdXRsaW5lLWRpc2FibGVkLWJnLWNvbG9y''@;'; put 'put ''LCApO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLXdhcm5pbmctb3V0bGluZS1kaXNhYmxlZC1ib3JkZXItY29sb3IsICk7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWRhbmdlci1vdXRsaW5lLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXItb3V0bGluZSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtZGFuZ2VyIC5idG57Ym9yZGVyLWNv''@;'; put 'put ''bG9yOiNjMjFkMDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtYm9yZGVyLWNvbG9yLCAjYzIxZDAwKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0bi1kYW5nZXItb3V0bGluZS1iZy1jb2xvciwgdHJh''@;'; put 'put ''bnNwYXJlbnQpO2NvbG9yOiNkYjIxMDA7Y29sb3I6dmFyKC0tY2xyLWJ0bi1kYW5nZXItb3V0bGluZS1jb2xvciwgI2RiMjEwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tZGFuZ2VyLW91dGxpbmUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5idG4uYnRuLWRhbmdlci1vdXRsaW5lIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlciBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1kYW5n''@;'; put 'put ''ZXIgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZGFuZ2VyLW91dGxpbmUgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXItb3V0bGluZSAuYnRuIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtZGFuZ2VyIC5idG4gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tb3V0bGluZS1kYW5nZXIgLmJ0biBjbHItaWNvbntjb2xvcjojZGIyMTAwO2NvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxp''@;'; put 'put ''bmUtY29sb3IsICNkYjIxMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWRhbmdlci1vdXRsaW5lOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5idG4tZGFuZ2VyLW91dGxpbmUgLmJ0bjp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtZGFuZ2VyIC5idG46dmlzaXRlZHtjb2xvcjojZGIyMTAwO2NvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxp''@;'; put 'put ''bmUtY29sb3IsICNkYjIxMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWRhbmdlci1vdXRsaW5lOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXItb3V0bGluZSAuYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtZGFuZ2VyIC5idG46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmVkZGQ3O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0''@;'; put 'put ''bi1kYW5nZXItb3V0bGluZS1ob3Zlci1iZy1jb2xvciwgI2ZlZGRkNyk7Y29sb3I6Izk5MTcwMDtjb2xvcjp2YXIoLS1jbHItYnRuLWRhbmdlci1vdXRsaW5lLWhvdmVyLWNvbG9yLCAjOTkxNzAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1kYW5nZXItb3V0''@;'; put 'put ''bGluZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXItb3V0bGluZSAuYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmJ0bi1vdXRsaW5lLWRhbmdlciAuYnRuOmFjdGl2ZXtib3gtc2hhZG93OjAgLjFyZW0gI2ZjYzViYiBpbnNldDtib3gtc2hhZG93OjAgLjFyZW0gMCAwIHZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtYm94LXNoYWRvdy1jb2xvciwgI2ZjYzViYikgaW5zZXR9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tZGFuZ2VyLW91dGxpbmUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWRhbmdlci1vdXRsaW5lOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''YnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZGFuZ2VyLW91dGxpbmUgLmJ0bi5kaXNhYmxl''@;'; put 'put ''ZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1kYW5nZXItb3V0bGluZSAuYnRuOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLW91dGxpbmUtZGFuZ2VyIC5idG4uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5idG4tb3V0bGluZS1kYW5nZXIgLmJ0bjpkaXNhYmxlZHtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtZGlzYWJsZWQtY29sb3IsICM2NjY2NjYpO2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40O2JhY2tncm91bmQtY29sb3I6dHJhbnNw''@;'; put 'put ''YXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWRhbmdlci1vdXRsaW5lLWRpc2FibGVkLWJnLWNvbG9yLCB0cmFuc3BhcmVudCk7Ym9yZGVyLWNvbG9yOiM2NjY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4tZGFuZ2VyLW91dGxpbmUtZGlzYWJsZWQtYm9yZGVyLWNvbG9y''@;'; put 'put ''LCAjNjY2NjY2KTtib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tbGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1saW5rIC5idG57Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp2YXIo''@;'; put 'put ''LS1jbHItYnRuLWxpbmstYm9yZGVyLWNvbG9yLCB0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tbGluay1iZy1jb2xvciwgdHJhbnNwYXJlbnQpO2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWJ0bi1s''@;'; put 'put ''aW5rLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1saW5rIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1saW5rIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYnRuLWxpbmsgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1saW5rIC5idG4gY2xyLWljb257Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItYnRuLWxpbmstY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5idG4uYnRuLWxpbms6dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1saW5rIC5idG46dmlzaXRlZHtjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1idG4tbGluay1jb2xvciwgIzAwNzJhMyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmJ0bi5idG4tbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1saW5rIC5idG46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tbGluay1ob3Zlci1iZy1jb2xvciwg''@;'; put 'put ''dHJhbnNwYXJlbnQpO2NvbG9yOiMwMDU2N2E7Y29sb3I6dmFyKC0tY2xyLWJ0bi1saW5rLWhvdmVyLWNvbG9yLCAjMDA1NjdhKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1saW5rOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0''@;'; put 'put ''bi1saW5rIC5idG46YWN0aXZle2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1saW5rLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1saW5rOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuYnRuLWxpbmsgLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1saW5rIC5idG46ZGlzYWJsZWR7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYnRuLWxpbmstZGlzYWJsZWQtY29sb3IsICM2NjY2NjYpO2N1cnNv''@;'; put 'put ''cjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWxpbmstZGlzYWJsZWQtYmctY29sb3IsIHRyYW5zcGFyZW50KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnZhcigt''@;'; put 'put ''LWNsci1idG4tbGluay1kaXNhYmxlZC1ib3JkZXItY29sb3IsIHRyYW5zcGFyZW50KTtib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4taW52ZXJzZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZl''@;'; put 'put ''bCAuYWxlcnQtaXRlbSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWludmVyc2UgLmJ0bntib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWJ0bi1pbnZlcnNlLWJvcmRlci1jb2xvciwgd2hpdGUpO2JhY2tncm91bmQtY29sb3I6dHJh''@;'; put 'put ''bnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWludmVyc2UtYmctY29sb3IsIHRyYW5zcGFyZW50KTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1idG4taW52ZXJzZS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRu''@;'; put 'put ''LWludmVyc2UgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4taW52ZXJzZSBjbHItaWNvbiwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtaXRlbSAuYnRuIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWludmVyc2UgLmJ0biBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0''@;'; put 'put ''bi1pbnZlcnNlIC5idG4gY2xyLWljb257Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYnRuLWludmVyc2UtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLmJ0bi1pbnZlcnNlOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0bjp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWludmVyc2UgLmJ0bjp2aXNpdGVke2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJ0bi1pbnZlcnNlLWNvbG9yLCB3aGl0ZSl9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4taW52ZXJzZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtaXRlbSAuYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWlu''@;'; put 'put ''dmVyc2UgLmJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4taW52ZXJzZS1ob3Zlci1iZy1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1idG4taW52ZXJzZS1o''@;'; put 'put ''b3Zlci1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWludmVyc2U6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5hbGVydC1pdGVtIC5idG46YWN0aXZlLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuYnRuLWludmVyc2UgLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4xcmVtICMwMDAwMDA0MCBpbnNldDtib3gtc2hhZG93OjAgLjFyZW0gMCAwIHZhcigtLWNsci1idG4taW52ZXJzZS1ib3gtc2hhZG93LWNvbG9yLCByZ2JhKDAsIDAsIDAsIC4yNSkpIGlu''@;'; put 'put ''c2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWludmVyc2UuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0bi5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmJ0bi5idG4taW52ZXJzZTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtaXRlbSAuYnRuOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWludmVyc2UgLmJ0bi5k''@;'; put 'put ''aXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pbnZlcnNlIC5idG46ZGlzYWJsZWR7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYnRuLWludmVyc2UtZGlzYWJsZWQtY29sb3IsIHdoaXRlKTtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNDtiYWNr''@;'; put 'put ''Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWJ0bi1pbnZlcnNlLWRpc2FibGVkLWJnLWNvbG9yLCB0cmFuc3BhcmVudCk7Ym9yZGVyLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4taW52ZXJzZS1kaXNhYmxlZC1ib3JkZXIt''@;'; put 'put ''Y29sb3IsIHdoaXRlKTtib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi5idG4tc20sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmJ0bi1zbSAuYnRue2xpbmUtaGVpZ2h0OjEuMTVyZW07bGluZS1oZWlnaHQ6dmFyKC0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWxpbmUtaGVpZ2h0LCAxLjE1cmVtKTtsZXR0ZXItc3BhY2luZzouMDczZW07Zm9udC1zaXplOi41NXJlbTtmb250LXNpemU6dmFy''@;'; put 'put ''KC0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWZvbnQtc2l6ZSwgLjU1cmVtKTtmb250LXdlaWdodDo1MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWZvbnQtd2VpZ2h0LCA1MDApO2hlaWdodDoxLjJyZW07aGVpZ2h0OnZhcigtLWNsci1idG4t''@;'; put 'put ''YXBwZWFyYW5jZS1zdGFuZGFyZC1oZWlnaHQsIDEuMnJlbSk7cGFkZGluZzowIC42cmVtO3BhZGRpbmc6dmFyKC0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLXBhZGRpbmcsIDAgLjZyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tYmxvY2t7ZGlzcGxheTpi''@;'; put 'put ''bG9jazt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG57bWFyZ2luLXRvcDouM3JlbTttYXJnaW4tdG9wOnZhcigtLWNsci1idG4tdmVydGljYWwtbWFyZ2luLCAuM3JlbSk7bWFyZ2luLWJvdHRvbTouM3JlbTttYXJnaW4tYm90''@;'; put 'put ''dG9tOnZhcigtLWNsci1idG4tdmVydGljYWwtbWFyZ2luLCAuM3JlbSk7bWFyZ2luLXJpZ2h0Oi42cmVtO21hcmdpbi1yaWdodDp2YXIoLS1jbHItYnRuLWhvcml6b250YWwtbWFyZ2luLCAuNnJlbSk7bWFyZ2luLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRu''@;'; put 'put ''LmJ0bi1saW5re21hcmdpbi1yaWdodDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uYnRuLWxpbmsuYnRuLWludmVyc2UsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0bi5idG4tbGlua3tib3Jk''@;'; put 'put ''ZXItY29sb3I6dHJhbnNwYXJlbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1zbTpub3QoLmJ0bi1saW5rKSBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtaXRlbSAuYnRuOm5vdCguYnRuLWxp''@;'; put 'put ''bmspIGNsci1pY29ue3dpZHRoOi42cmVtO3dpZHRoOnZhcigtLWNsci1idG4tYXBwZWFyYW5jZS1zdGFuZGFyZC1pY29uLXNpemUsIC42cmVtKTtoZWlnaHQ6LjZyZW07aGVpZ2h0OnZhcigtLWNsci1idG4tYXBwZWFyYW5jZS1zdGFuZGFyZC1pY29uLXNpemUsIC42cmVtKTt0cmFuc2Zvcm06''@;'; put 'put ''dHJhbnNsYXRlM2QoMCwtLjA1cmVtLDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc206bm90KC5idG4tbGluaykgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0bjpub3QoLmJ0''@;'; put 'put ''bi1saW5rKSBjZHMtaWNvbnt3aWR0aDouNnJlbTt3aWR0aDp2YXIoLS1jbHItYnRuLWFwcGVhcmFuY2Utc3RhbmRhcmQtaWNvbi1zaXplLCAuNnJlbSk7aGVpZ2h0Oi42cmVtO2hlaWdodDp2YXIoLS1jbHItYnRuLWFwcGVhcmFuY2Utc3RhbmRhcmQtaWNvbi1zaXplLCAuNnJlbSk7bWFyZ2lu''@;'; put 'put ''LXRvcDotLjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1pY29ue21pbi13aWR0aDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uZGlzYWJsZWQgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4uZGlz''@;'; put 'put ''YWJsZWQgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG46ZGlzYWJsZWQgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG46ZGlzYWJsZWQgY2xyLWljb257Y29sb3I6I2NjYztjb2xvcjp2YXIoLS1jbHItYnRuLWljb24t''@;'; put 'put ''ZGlzYWJsZWQtY29sb3IsICNjY2NjY2MpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXByaW1hcnkgLmRyb3Bkb3duLXRvZ2dsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tc3VjY2VzcyAuZHJvcGRvd24t''@;'; put 'put ''dG9nZ2xlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi13YXJuaW5nIC5kcm9wZG93bi10b2dnbGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLWRhbmdlciAuZHJvcGRvd24tdG9nZ2xle2JvcmRlci1jb2xv''@;'; put 'put ''cjojMDA3MmEzO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yLCAjMDA3MmEzKTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDcyYTM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktYmctY29sb3IsICMwMDcyYTMpO2NvbG9yOiNmZmY7Y29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLWJ0bi1wcmltYXJ5LWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tcHJpbWFyeSAuZHJvcGRvd24tdG9nZ2xlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3Vw''@;'; put 'put ''LmJ0bi1wcmltYXJ5IC5kcm9wZG93bi10b2dnbGUgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91''@;'; put 'put ''cC5idG4tc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi13YXJuaW5nIC5kcm9wZG93bi10b2dnbGUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3Jv''@;'; put 'put ''dXAuYnRuLXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZSBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tZGFuZ2VyIC5kcm9wZG93bi10b2dnbGUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3Jv''@;'; put 'put ''dXAuYnRuLWRhbmdlciAuZHJvcGRvd24tdG9nZ2xlIGNsci1pY29ue2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJ0bi1wcmltYXJ5LWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tcHJpbWFyeSAuZHJvcGRvd24tdG9nZ2xl''@;'; put 'put ''OnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZTp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi13YXJuaW5nIC5kcm9wZG93bi10b2dnbGU6''@;'; put 'put ''dmlzaXRlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tZGFuZ2VyIC5kcm9wZG93bi10b2dnbGU6dmlzaXRlZHtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1idG4tcHJpbWFyeS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXByaW1hcnkgLmRyb3Bkb3duLXRvZ2dsZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuYnRuLWdyb3VwLmJ0bi13YXJuaW5nIC5kcm9wZG93bi10b2dnbGU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLWRhbmdlciAuZHJvcGRvd24tdG9nZ2xlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwNTY3YTtiYWNrZ3JvdW5k''@;'; put 'put ''LWNvbG9yOnZhcigtLWNsci1idG4tcHJpbWFyeS1ob3Zlci1iZy1jb2xvciwgIzAwNTY3YSk7Y29sb3I6I2UzZjVmYztjb2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktaG92ZXItY29sb3IsICNlM2Y1ZmMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRu''@;'; put 'put ''LXByaW1hcnkgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXdh''@;'; put 'put ''cm5pbmcgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLWRhbmdlciAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtib3gtc2hhZG93OjAgLjFyZW0gIzE3OWJkMyBpbnNldDtib3gtc2hhZG93OjAgLjFyZW0gMCAw''@;'; put 'put ''IHZhcigtLWNsci1idG4tcHJpbWFyeS1ib3gtc2hhZG93LWNvbG9yLCAjMTc5YmQzKSBpbnNldH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1wcmltYXJ5IC5kcm9wZG93bi10b2dnbGUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5idG4tZ3JvdXAuYnRuLXByaW1hcnkgLmRyb3Bkb3duLXRvZ2dsZTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuYnRuLWdyb3VwLmJ0bi1zdWNjZXNzIC5kcm9wZG93bi10b2dnbGU6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZS5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmJ0bi1ncm91cC5idG4td2FybmluZyAuZHJvcGRvd24tdG9nZ2xlOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1kYW5nZXIgLmRyb3Bkb3duLXRvZ2dsZS5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmJ0bi1ncm91cC5idG4tZGFuZ2VyIC5kcm9wZG93bi10b2dnbGU6ZGlzYWJsZWR7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYnRuLXByaW1hcnktZGlzYWJsZWQtY29sb3IsICM2NjY2NjYpO2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40O2JhY2tncm91bmQtY29s''@;'; put 'put ''b3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tcHJpbWFyeS1kaXNhYmxlZC1iZy1jb2xvciwgI2NjY2NjYyk7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4tcHJpbWFyeS1kaXNhYmxlZC1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JveC1z''@;'; put 'put ''aGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1kYW5nZXIgOmRpc2FibGVke2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS0tLWNsci1jb2xvci1uZXV0cmFsLTQwMCwgI2NjY2NjYyl9LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tbGluayAuZHJvcGRvd24tdG9nZ2xle2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dmFyKC0tY2xyLWJ0bi1saW5rLWJvcmRlci1jb2xvciwgdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7''@;'; put 'put ''YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYnRuLWxpbmstYmctY29sb3IsIHRyYW5zcGFyZW50KTtjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1idG4tbGluay1jb2xvciwgIzAwNzJhMyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tbGlu''@;'; put 'put ''ayAuZHJvcGRvd24tdG9nZ2xlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1saW5rIC5kcm9wZG93bi10b2dnbGUgY2xyLWljb257Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItYnRuLWxpbmstY29sb3IsICMwMDcyYTMpfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLWxpbmsgLmRyb3Bkb3duLXRvZ2dsZTp2aXNpdGVke2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWJ0bi1saW5rLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''YnRuLWdyb3VwLmJ0bi1saW5rIC5kcm9wZG93bi10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tbGluay1ob3Zlci1iZy1jb2xvciwgdHJhbnNwYXJlbnQpO2NvbG9yOiMwMDU2N2E7Y29sb3I6dmFyKC0tY2xy''@;'; put 'put ''LWJ0bi1saW5rLWhvdmVyLWNvbG9yLCAjMDA1NjdhKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1saW5rIC5kcm9wZG93bi10b2dnbGU6YWN0aXZle2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdy''@;'; put 'put ''b3VwLmJ0bi1saW5rIC5kcm9wZG93bi10b2dnbGUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLWxpbmsgLmRyb3Bkb3duLXRvZ2dsZTpkaXNhYmxlZHtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1idG4tbGluay1kaXNhYmxlZC1j''@;'; put 'put ''b2xvciwgIzY2NjY2Nik7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1idG4tbGluay1kaXNhYmxlZC1iZy1jb2xvciwgdHJhbnNwYXJlbnQpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVu''@;'; put 'put ''dDtib3JkZXItY29sb3I6dmFyKC0tY2xyLWJ0bi1saW5rLWRpc2FibGVkLWJvcmRlci1jb2xvciwgdHJhbnNwYXJlbnQpO2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1zbSAuYnRuLWdyb3VwLW92ZXJmbG93Pi5kcm9wZG93''@;'; put 'put ''bi10b2dnbGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0bi1ncm91cC5idG4gLmJ0bi1ncm91cC1vdmVyZmxvdz4uZHJvcGRvd24tdG9nZ2xle2xpbmUtaGVpZ2h0OjEuMTVyZW07bGluZS1oZWlnaHQ6dmFyKC0tY2xy''@;'; put 'put ''LWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWxpbmUtaGVpZ2h0LCAxLjE1cmVtKTtsZXR0ZXItc3BhY2luZzouMDczZW07Zm9udC1zaXplOi41NXJlbTtmb250LXNpemU6dmFyKC0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWZvbnQtc2l6ZSwgLjU1cmVtKTtmb250LXdlaWdodDo1MDA7''@;'; put 'put ''Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLWZvbnQtd2VpZ2h0LCA1MDApO2hlaWdodDoxLjJyZW07aGVpZ2h0OnZhcigtLWNsci1idG4tYXBwZWFyYW5jZS1zdGFuZGFyZC1oZWlnaHQsIDEuMnJlbSk7cGFkZGluZzowIC42cmVtO3BhZGRpbmc6dmFyKC0t''@;'; put 'put ''Y2xyLWJ0bi1hcHBlYXJhbmNlLXN0YW5kYXJkLXBhZGRpbmcsIDAgLjZyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8taW5saW5lLmJ0bntwYWRkaW5nOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0biBsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4gbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4gbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby1pbmxpbmUuYnRuIGxhYmVse2Rpc3BsYXk6YmxvY2s7bGlu''@;'; put 'put ''ZS1oZWlnaHQ6aW5oZXJpdDtwYWRkaW5nOjAgLjZyZW07Y3Vyc29yOnBvaW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbDpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''aGVja2JveC5idG4gaW5wdXRbdHlwZT1jaGVja2JveF0rbGFiZWw6YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdK2xhYmVsOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNoZWNrYm94LWlubGluZS5idG4gaW5wdXRbdHlwZT1jaGVja2JveF0rbGFiZWw6YWZ0ZXJ7Y29udGVudDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4gaW5wdXRbdHlwZT1yYWRpb10rbGFiZWw6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAucmFkaW8uYnRuIGlucHV0W3R5cGU9cmFkaW9dK2xhYmVsOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8taW5saW5lLmJ0biBpbnB1dFt0eXBlPXJhZGlvXStsYWJlbDpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5yYWRpby1pbmxpbmUuYnRuIGlucHV0W3R5cGU9cmFkaW9dK2xhYmVsOmFmdGVye2NvbnRlbnQ6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1p''@;'; put 'put ''Y29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0biBpbnB1dFt0eXBlPWNoZWNr''@;'; put 'put ''Ym94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1pY29ue2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztjb2xvcjojZmZmfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4gbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuIGxhYmVse3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94''@;'; put 'put ''LmJ0bi5idG4tc2Vjb25kYXJ5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4uYnRuLXNlY29uZGFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1zZWNvbmRhcnkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4taW5mbyBpbnB1dFt0''@;'; put 'put ''eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1pbmZvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''aGVja2JveC5idG4uYnRuLWluZm8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tb3V0bGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1vdXRsaW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4uYnRuLW91dGxpbmUgaW5wdXRb''@;'; put 'put ''dHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tcHJpbWFyeS1vdXRsaW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jaGVja2JveC5idG4uYnRuLXByaW1hcnktb3V0bGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1wcmltYXJ5LW91dGxpbmUgaW5wdXRbdHlw''@;'; put 'put ''ZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRb''@;'; put 'put ''dHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jaGVja2JveC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkgaW5wdXRbdHlw''@;'; put 'put ''ZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRb''@;'; put 'put ''dHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4taW5mby1vdXRsaW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5jaGVja2JveC5idG4uYnRuLWluZm8tb3V0bGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1pbmZvLW91dGxpbmUgaW5wdXRbdHlwZT1jaGVja2Jv''@;'; put 'put ''eF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tb3V0bGluZS1pbmZvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVj''@;'; put 'put ''a2JveC5idG4uYnRuLW91dGxpbmUtaW5mbyBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1vdXRsaW5lLWluZm8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCts''@;'; put 'put ''YWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLXNlY29uZGFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5s''@;'; put 'put ''aW5lLmJ0bi5idG4tc2Vjb25kYXJ5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1zZWNvbmRhcnkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCts''@;'; put 'put ''YWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLWluZm8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5i''@;'; put 'put ''dG4uYnRuLWluZm8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLWluZm8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLW91dGxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLW91dGxp''@;'; put 'put ''bmUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLW91dGxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLXByaW1hcnktb3V0bGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tcHJp''@;'; put 'put ''bWFyeS1vdXRsaW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1wcmltYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJl''@;'; put 'put ''bD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLXNlY29uZGFyeS1vdXRsaW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2Jv''@;'; put 'put ''eC1pbmxpbmUuYnRuLmJ0bi1zZWNvbmRhcnktb3V0bGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlw''@;'; put 'put ''ZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1vdXRsaW5l''@;'; put 'put ''LXByaW1hcnkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWws''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gt''@;'; put 'put ''aW5saW5lLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLWluZm8tb3V0bGluZSBpbnB1dFt0eXBlPWNoZWNr''@;'; put 'put ''Ym94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4taW5mby1vdXRsaW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1pbmZvLW91dGxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLW91dGxpbmUtaW5mbyBpbnB1dFt0''@;'; put 'put ''eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tb3V0bGluZS1pbmZvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1vdXRsaW5lLWluZm8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDcyYTM7Y29sb3I6I2ZmZn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''Y2hlY2tib3guYnRuLmJ0bi1wcmltYXJ5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4uYnRuLXByaW1hcnkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tcHJpbWFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tcHJp''@;'; put 'put ''bWFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tcHJpbWFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tcHJpbWFyeSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1pY29ue2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztjb2xvcjojZmZmfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jaGVja2JveC5idG4uYnRuLXN1Y2Nlc3MgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tc3VjY2VzcyBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29u''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1zdWNjZXNzIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1z''@;'; put 'put ''dWNjZXNzIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1zdWNjZXNzIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1zdWNjZXNzIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2RzLWljb257YmFja2dyb3VuZC1jb2xvcjojMzA2YjAwO2NvbG9yOiNmZmZ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNoZWNrYm94LmJ0bi5idG4tZGFuZ2VyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4uYnRuLWRhbmdlciBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29u''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1kYW5nZXIgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLWRh''@;'; put 'put ''bmdlciBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tZGFuZ2VyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1kYW5nZXIgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNjMjFkMDA7Y29sb3I6I2ZmZn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''Y2hlY2tib3guYnRuLmJ0bi1saW5rIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC5idG4uYnRuLWxpbmsgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LmJ0bi5idG4tbGluayBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tbGluayBpbnB1dFt0''@;'; put 'put ''eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tbGluayBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuY2hlY2tib3gtaW5saW5lLmJ0bi5idG4tbGluayBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1pY29ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzAwNTY3YX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gu''@;'; put 'put ''YnRuLmJ0bi1pbnZlcnNlIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmNoZWNrYm94LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1pbnZlcnNlIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0g''@;'; put 'put ''LmNoZWNrYm94LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3guYnRuLmJ0bi1pbnZlcnNlIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2RzLWljb24sIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0gLmNoZWNrYm94LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3gtaW5s''@;'; put 'put ''aW5lLmJ0bi5idG4taW52ZXJzZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5hbGVydC1pdGVtIC5jaGVja2JveC1pbmxpbmUuYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNr''@;'; put 'put ''ZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jaGVja2JveC1pbmxpbmUuYnRuLmJ0bi1pbnZlcnNlIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAt''@;'; put 'put ''bGV2ZWwgLmFsZXJ0LWl0ZW0gLmNoZWNrYm94LWlubGluZS5idG4gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LWlubGluZS5idG4uYnRuLWludmVyc2UgaW5wdXRbdHlwZT1jaGVj''@;'; put 'put ''a2JveF06Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtaXRlbSAuY2hlY2tib3gtaW5saW5lLmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsPmNkcy1pY29ue2JhY2tncm91''@;'; put 'put ''bmQtY29sb3I6I2ZmZmZmZjI2O2NvbG9yOiNmZmZ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0biBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuIGlucHV0W3R5cGU9cmFk''@;'; put 'put ''aW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0biBpbnB1dFt0''@;'; put 'put ''eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4gaW5wdXRbdHlw''@;'; put 'put ''ZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDcyYTM7Y29sb3I6I2ZmZn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuIGxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuIGxh''@;'; put 'put ''YmVse3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc2Vjb25kYXJ5IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXNlY29uZGFyeSBp''@;'; put 'put ''bnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1zZWNvbmRhcnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLnJhZGlvLmJ0bi5idG4taW5mbyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1pbmZvIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWluZm8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVj''@;'; put 'put ''a2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUg''@;'; put 'put ''aW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tcHJpbWFyeS1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5yYWRpby5idG4uYnRuLXByaW1hcnktb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1wcmltYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hl''@;'; put 'put ''Y2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5i''@;'; put 'put ''dG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMt''@;'; put 'put ''aWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtcHJpbWFy''@;'; put 'put ''eSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1yYWRp''@;'; put 'put ''b106Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLnJhZGlvLmJ0bi5idG4taW5mby1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWluZm8tb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29u''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1pbmZvLW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1pbmZv''@;'; put 'put ''IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtaW5mbyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lLWluZm8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc2Vjb25kYXJ5IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWws''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXNlY29uZGFyeSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1zZWNvbmRhcnkgaW5wdXRb''@;'; put 'put ''dHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4taW5mbyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRu''@;'; put 'put ''LmJ0bi1pbmZvIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWluZm8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWlj''@;'; put 'put ''b24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tcHJpbWFyeS1vdXRsaW5l''@;'; put 'put ''IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXByaW1hcnktb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAucmFkaW8uYnRuLmJ0bi1wcmltYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106''@;'; put 'put ''Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0''@;'; put 'put ''bi5idG4tc2Vjb25kYXJ5LW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lLXByaW1h''@;'; put 'put ''cnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkgaW5wdXRbdHlwZT1y''@;'; put 'put ''YWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4taW5mby1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5i''@;'; put 'put ''dG4uYnRuLWluZm8tb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1pbmZvLW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1pbmZvIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtaW5mbyBpbnB1dFt0eXBl''@;'; put 'put ''PXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lLWluZm8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDcyYTM7Y29sb3I6''@;'; put 'put ''I2ZmZn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1wcmltYXJ5IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXByaW1hcnkgaW5wdXRbdHlwZT1yYWRp''@;'; put 'put ''b106Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tcHJpbWFyeSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8u''@;'; put 'put ''YnRuLmJ0bi1wcmltYXJ5IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXByaW1hcnkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tcHJpbWFyeSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNkcy1pY29ue2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztjb2xvcjojZmZmfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXN1''@;'; put 'put ''Y2Nlc3MgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc3VjY2VzcyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAucmFkaW8uYnRuLmJ0bi1zdWNjZXNzIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXN1Y2Nlc3MgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc3VjY2VzcyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1zdWNjZXNzIGlucHV0W3R5cGU9cmFkaW9d''@;'; put 'put ''OmNoZWNrZWQrbGFiZWw+Y2RzLWljb257YmFja2dyb3VuZC1jb2xvcjojMzA2YjAwO2NvbG9yOiNmZmZ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tZGFuZ2VyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRhbmdlciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1kYW5nZXIgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJl''@;'; put 'put ''bD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tZGFuZ2VyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRhbmdlciBpbnB1dFt0eXBl''@;'; put 'put ''PXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1kYW5nZXIgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNjMjFkMDA7Y29sb3I6I2ZmZn0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1zdWNjZXNzLW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc3VjY2Vzcy1vdXRsaW5lIGlucHV0''@;'; put 'put ''W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXN1Y2Nlc3Mtb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQr''@;'; put 'put ''bGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtc3VjY2VzcyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRu''@;'; put 'put ''LmJ0bi1zdWNjZXNzLW91dGxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tc3VjY2Vzcy1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLXN1Y2Nlc3Mtb3V0bGluZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mg''@;'; put 'put ''aW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtc3VjY2VzcyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNkcy1pY29ue2JhY2tncm91bmQtY29sb3I6IzNjODUwMDtjb2xvcjojZmZmfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRh''@;'; put 'put ''bmdlci1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRhbmdlci1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRhbmdlci1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtZGFuZ2VyIGlucHV0W3R5cGU9''@;'; put 'put ''cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtZGFuZ2VyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRp''@;'; put 'put ''by5idG4uYnRuLW91dGxpbmUtZGFuZ2VyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRhbmdlci1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRhbmdlci1vdXRsaW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWRhbmdlci1vdXRsaW5l''@;'; put 'put ''IGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtZGFuZ2VyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtZGFuZ2VyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLW91dGxpbmUtZGFuZ2VyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNr''@;'; put 'put ''ZWQrbGFiZWw+Y2RzLWljb257YmFja2dyb3VuZC1jb2xvcjojYzIxZDAwO2NvbG9yOiNmZmZ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tbGluayBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAucmFkaW8uYnRuLmJ0bi1saW5rIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWxpbmsgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4tbGluayBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1saW5rIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQr''@;'; put 'put ''bGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpby5idG4uYnRuLWxpbmsgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiMwMDU2N2F9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4taW52ZXJzZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5hbGVydC1pdGVtIC5yYWRpby5idG4gaW5wdXRbdHlwZT1yYWRp''@;'; put 'put ''b106Y2hlY2tlZCtsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4taW52ZXJzZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVs''@;'; put 'put ''IC5hbGVydC1pdGVtIC5yYWRpby5idG4gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4taW52ZXJzZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsPmNkcy1pY29uLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5hbGVydC1pdGVtIC5yYWRpby5idG4gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvLmJ0bi5idG4taW52''@;'; put 'put ''ZXJzZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucmFkaW8uYnRuLmJ0bi1pbnZlcnNlIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw+Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5yYWRpby5idG4uYnRuLWludmVyc2UgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbD5jZHMtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNjtjb2xvcjojZmZmfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXB7ZGlzcGxheTppbmxpbmUt''@;'; put 'put ''ZmxleDttYXJnaW4tcmlnaHQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCBjbHItZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItcmFkaXVzOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCBjbHItZHJv''@;'; put 'put ''cGRvd246bGFzdC1jaGlsZCAuZHJvcGRvd24tdG9nZ2xle2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4xNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMTVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuYnRue21hcmdpbjowO3ZlcnRpY2Fs''@;'; put 'put ''LWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuYnRuIGxhYmVse2hlaWdodDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAgLmJ0biBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1''@;'; put 'put ''cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3Vzey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtvcGFjaXR5OjE7dG9wOjA7aGVpZ2h0OjEw''@;'; put 'put ''MCU7d2lkdGg6MTAwJTtib3gtc2hhZG93OjAgMCAuMjVyZW0gIzUxY2JlZTtib3gtc2hhZG93OjAgMCAuMjVyZW0gdmFyKC0tY2xyLWJ0bi1ncm91cC1mb2N1cy1vdXRsaW5lLCAjNTFjYmVlKTtwYWRkaW5nOi4xNXJlbSAwIC4xNXJlbSAuMTVyZW07Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3Jk''@;'; put 'put ''ZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiM1MWNiZWU7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1idG4tZ3JvdXAtZm9jdXMtb3V0bGluZSwgIzUxY2JlZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuYnRuIGlucHV0W3R5cGU9cmFkaW9dOmZvY3Vz''@;'; put 'put ''OjotbXMtY2hlY2ssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAgLmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1czo6LW1zLWNoZWNre2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwIC5idG46bm90''@;'; put 'put ''KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwIC5idG46bm90KDpsYXN0LWNoaWxkKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRl''@;'; put 'put ''ci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAudG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKSAuYnRue2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAudG9vbHRpcDpub3QoOmxhc3QtY2hpbGQpIC5idG57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRu''@;'; put 'put ''LXByaW1hcnkgLnRvb2x0aXA6bm90KDpsYXN0LWNoaWxkKSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1wcmltYXJ5IC5idG46bm90KDpsYXN0LWNoaWxkKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5i''@;'; put 'put ''dG4tc3VjY2VzcyAudG9vbHRpcDpub3QoOmxhc3QtY2hpbGQpIC5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLXN1Y2Nlc3MgLmJ0bjpub3QoOmxhc3QtY2hpbGQpLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3Vw''@;'; put 'put ''LmJ0bi1kYW5nZXIgLnRvb2x0aXA6bm90KDpsYXN0LWNoaWxkKSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1kYW5nZXIgLmJ0bjpub3QoOmxhc3QtY2hpbGQpLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3Vw''@;'; put 'put ''LmJ0bi13YXJuaW5nIC50b29sdGlwOm5vdCg6bGFzdC1jaGlsZCkgLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4td2FybmluZyAuYnRuOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luOjA7bWFyZ2luLXJpZ2h0Oi4wNXJlbTttYXJnaW4tcmlnaHQ6''@;'; put 'put ''dmFyKC0tY2xyLWJ0bi1ib3JkZXItd2lkdGgsIC4wNXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC5idG4tcHJpbWFyeSAuZHJvcGRvd24tbWVudSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1zdWNj''@;'; put 'put ''ZXNzIC5kcm9wZG93bi1tZW51IC5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLWRhbmdlciAuZHJvcGRvd24tbWVudSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi13YXJuaW5nIC5kcm9wZG93''@;'; put 'put ''bi1tZW51IC5idG57bWFyZ2luOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cD4uYnRuLWdyb3VwLW92ZXJmbG93e3Bvc2l0aW9uOnJlbGF0aXZlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXA+LmJ0bi1ncm91cC1vdmVyZmxv''@;'; put 'put ''dzpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG46Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItYnRuLWJvcmRlci1yYWRpdXMsIC4xNXJlbSk7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1y''@;'; put 'put ''YWRpdXM6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwPi5idG4tZ3JvdXAtb3ZlcmZsb3c6bGFzdC1jaGlsZDpmaXJzdC1jaGlsZD4uYnRuOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLWJ0bi1ib3Jk''@;'; put 'put ''ZXItcmFkaXVzLCAuMTVyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAgLmJ0bisuYnRue2JvcmRlci1sZWZ0Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAudG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKSAuYnRu''@;'; put 'put ''e2JvcmRlci1sZWZ0Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuYnRuKy5idG4tZ3JvdXAtb3ZlcmZsb3cgLmJ0bntib3JkZXItbGVmdDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAuYnRuLWxpbmsgLmRy''@;'; put 'put ''b3Bkb3duLXRvZ2dsZXttaW4td2lkdGg6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1pY29uLWxpbmsuYnRuLWxpbmsgLmJ0bnttaW4td2lkdGg6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLmJ0bi1pY29uIC5i''@;'; put 'put ''dG57bWluLXdpZHRoOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuY2xyLWljb24tdGl0bGV7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9n''@;'; put 'put ''Z2xle2Rpc3BsYXk6YmxvY2t9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSBjbHItaWNvbntkaXNwbGF5Om5v''@;'; put 'put ''bmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSAuY2xyLWljb24tdGl0bGV7ZGlzcGxheTppbmxpbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAucmFkaW97cG9zaXRpb246cmVsYXRpdmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1yYWRpb10sIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MDt3aWR0aDowO29wYWNp''@;'; put 'put ''dHk6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1mb290ZXIgLmNoZWNrYm94LmJ0biBsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtZm9vdGVyIC5yYWRpby5idG4gbGFiZWx7bGluZS1oZWlnaHQ6MS4xNXJlbX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudS5jbHItYnV0dG9uLWdyb3VwLW1lbnV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJ1dHRvbi5jbG9zZXtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFu''@;'; put 'put ''c3BhcmVudDtib3JkZXI6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xvc2V7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjEuOHJlbTt0cmFuc2l0aW9uOmNvbG9yIGxpbmVhciAuMnM7Zm9udC13ZWlnaHQ6MjAwO3RleHQtc2hhZG93''@;'; put 'put ''Om5vbmU7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojOGM4YzhjO2NvbG9yOnZhcigtLWNsci1jbG9zZS1jb2xvci0tbm9ybWFsLCAjOGM4YzhjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xvc2UgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbG9zZSBjbHItaWNvbntmaWxsOiM4YzhjOGM7ZmlsbDp2YXIoLS1jbHItY2xvc2UtY29sb3ItLW5vcm1hbCwgIzhjOGM4Yyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsb3NlOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xvc2U6''@;'; put 'put ''aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbG9zZTphY3RpdmV7b3BhY2l0eToxO2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLWNsb3NlLWNvbG9yLS1ob3ZlciwgYmxhY2spfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbG9zZTpmb2N1cyBj''@;'; put 'put ''ZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsb3NlOmZvY3VzIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xvc2U6aG92ZXIgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbG9zZTpob3Zl''@;'; put 'put ''ciBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsb3NlOmFjdGl2ZSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsb3NlOmFjdGl2ZSBjbHItaWNvbntmaWxsOiMwMDA7ZmlsbDp2YXIoLS1jbHItY2xvc2UtY29sb3ItLWhv''@;'; put 'put ''dmVyLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsb3NlOmZvY3Vze291dGxpbmU6SGlnaGxpZ2h0IHNvbGlkIC4xcmVtO291dGxpbmU6LXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIHNvbGlkIC4xcmVtO291dGxpbmUtb2Zmc2V0Oi4wNXJlbX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdHstLWNsci1hbGVydC1hY3Rpb24tY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItYWxlcnQtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXNlY29uZGFyeS1hY3Rpb24tOTAwKTstLWNs''@;'; put 'put ''ci1hbGVydC1jbG9zZS1pY29uLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtYWN0aW9uLWNvbG9yKTstLWNsci1hbGVydC1jbG9zZS1pY29uLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtYWN0aW9uLWFjdGl2ZS1jb2xvcik7LS1jbHItYWxlcnQtY2xvc2UtaWNvbi1vcGFjaXR5OiAxOy0t''@;'; put 'put ''Y2xyLWFsZXJ0LWNsb3NlLWljb24taG92ZXItb3BhY2l0eTogMTstLWNsci1hcHAtbGV2ZWwtYWxlcnQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWFwcC1hbGVydC1jbG9zZS1pY29uLWNvbG9yOiB2YXIoLS1jbHItYXBwLWxldmVsLWFsZXJ0LWNvbG9yKTstLWNs''@;'; put 'put ''ci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1vcGFjaXR5OiAuODstLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1ob3Zlci1vcGFjaXR5OiAxOy0tY2xyLWFsZXJ0LWJvcmRlcnJhZGl1czogdmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMpOy0tY2xyLWFsZXJ0LWluZm8tYmctY29sb3I6IHZh''@;'; put 'put ''cigtLWNsci1jb2xvci1hY3Rpb24tNTApOy0tY2xyLWFsZXJ0LWluZm8tZm9udC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1hbGVydC1pbmZvLWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi04MDApOy0tY2xyLWFsZXJ0LWluZm8taWNvbi1j''@;'; put 'put ''b2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi04MDApOy0tY2xyLWFsZXJ0LWluZm8tYWN0aW9uLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtYWN0aW9uLWNvbG9yKTstLWNsci1hbGVydC1pbmZvLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWNsci1hbGVydC1hY3Rpb24tYWN0aXZlLWNv''@;'; put 'put ''bG9yKTstLWNsci1hbGVydC1pbmZvLWNsb3NlLWljb24tY29sb3I6IHZhcigtLWNsci1hbGVydC1jbG9zZS1pY29uLWNvbG9yKTstLWNsci1hbGVydC1pbmZvLWNsb3NlLWljb24tb3BhY2l0eTogdmFyKC0tY2xyLWFsZXJ0LWNsb3NlLWljb24tb3BhY2l0eSk7LS1jbHItYWxlcnQtaW5mby1j''@;'; put 'put ''bG9zZS1pY29uLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtY2xvc2UtaWNvbi1ob3Zlci1jb2xvcik7LS1jbHItYWxlcnQtaW5mby1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHk6IHZhcigtLWNsci1hbGVydC1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHkpOy0tY2xyLWFsZXJ0LXN1Y2Nl''@;'; put 'put ''c3MtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1zdWNjZXNzLTUwKTstLWNsci1hbGVydC1zdWNjZXNzLWZvbnQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItYWxlcnQtc3VjY2Vzcy1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1zdWNjZXNzLTgwMCk7''@;'; put 'put ''LS1jbHItYWxlcnQtc3VjY2Vzcy1pY29uLWNvbG9yOiB2YXIoLS1jbHItY29sb3Itc3VjY2Vzcy04MDApOy0tY2xyLWFsZXJ0LXN1Y2Nlc3MtYWN0aW9uLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtYWN0aW9uLWNvbG9yKTstLWNsci1hbGVydC1zdWNjZXNzLWFjdGlvbi1hY3RpdmUtY29sb3I6''@;'; put 'put ''IHZhcigtLWNsci1hbGVydC1hY3Rpb24tYWN0aXZlLWNvbG9yKTstLWNsci1hbGVydC1zdWNjZXNzLWNsb3NlLWljb24tY29sb3I6IHZhcigtLWNsci1hbGVydC1jbG9zZS1pY29uLWNvbG9yKTstLWNsci1hbGVydC1zdWNjZXNzLWNsb3NlLWljb24tb3BhY2l0eTogdmFyKC0tY2xyLWFsZXJ0''@;'; put 'put ''LWNsb3NlLWljb24tb3BhY2l0eSk7LS1jbHItYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtY2xvc2UtaWNvbi1ob3Zlci1jb2xvcik7LS1jbHItYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHk6IHZhcigtLWNsci1hbGVy''@;'; put 'put ''dC1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHkpOy0tY2xyLWFsZXJ0LXdhcm5pbmctYmctY29sb3I6IHZhcigtLWNsci1jb2xvci13YXJuaW5nLTEwMCk7LS1jbHItYWxlcnQtd2FybmluZy1mb250LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC05MDApOy0tY2xyLWFsZXJ0LXdhcm5p''@;'; put 'put ''bmctYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3Itd2FybmluZy04MDApOy0tY2xyLWFsZXJ0LXdhcm5pbmctaWNvbi1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXdhcm5pbmctODAwKTstLWNsci1hbGVydC13YXJuaW5nLWFjdGlvbi1jb2xvcjogdmFyKC0tY2xyLWFsZXJ0LWFjdGlvbi1j''@;'; put 'put ''b2xvcik7LS1jbHItYWxlcnQtd2FybmluZy1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtYWN0aW9uLWFjdGl2ZS1jb2xvcik7LS1jbHItYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtY2xvc2UtaWNvbi1jb2xvcik7LS1jbHItYWxl''@;'; put 'put ''cnQtd2FybmluZy1jbG9zZS1pY29uLW9wYWNpdHk6IHZhcigtLWNsci1hbGVydC1jbG9zZS1pY29uLW9wYWNpdHkpOy0tY2xyLWFsZXJ0LXdhcm5pbmctY2xvc2UtaWNvbi1ob3Zlci1jb2xvcjogdmFyKC0tY2xyLWFsZXJ0LWNsb3NlLWljb24taG92ZXItY29sb3IpOy0tY2xyLWFsZXJ0LXdh''@;'; put 'put ''cm5pbmctY2xvc2UtaWNvbi1ob3Zlci1vcGFjaXR5OiB2YXIoLS1jbHItYWxlcnQtY2xvc2UtaWNvbi1ob3Zlci1vcGFjaXR5KTstLWNsci1hbGVydC1kYW5nZXItYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItMTAwKTstLWNsci1hbGVydC1kYW5nZXItZm9udC1jb2xvcjogdmFy''@;'; put 'put ''KC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1hbGVydC1kYW5nZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTkwMCk7LS1jbHItYWxlcnQtZGFuZ2VyLWljb24tY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItOTAwKTstLWNsci1hbGVydC1kYW5nZXIt''@;'; put 'put ''YWN0aW9uLWNvbG9yOiB2YXIoLS1jbHItYWxlcnQtYWN0aW9uLWNvbG9yKTstLWNsci1hbGVydC1kYW5nZXItYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tY2xyLWFsZXJ0LWFjdGlvbi1hY3RpdmUtY29sb3IpOy0tY2xyLWFsZXJ0LWRhbmdlci1jbG9zZS1pY29uLWNvbG9yOiB2YXIoLS1j''@;'; put 'put ''bHItYWxlcnQtY2xvc2UtaWNvbi1jb2xvcik7LS1jbHItYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24tb3BhY2l0eTogdmFyKC0tY2xyLWFsZXJ0LWNsb3NlLWljb24tb3BhY2l0eSk7LS1jbHItYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24taG92ZXItY29sb3I6IHZhcigtLWNsci1hbGVydC1jbG9z''@;'; put 'put ''ZS1pY29uLWhvdmVyLWNvbG9yKTstLWNsci1hbGVydC1kYW5nZXItY2xvc2UtaWNvbi1ob3Zlci1vcGFjaXR5OiB2YXIoLS1jbHItYWxlcnQtY2xvc2UtaWNvbi1ob3Zlci1vcGFjaXR5KTstLWNsci1hcHAtYWxlcnQtaW5mby1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDAp''@;'; put 'put ''Oy0tY2xyLWFwcC1hbGVydC1pbmZvLWZvbnQtY29sb3I6IHZhcigtLWNsci1hcHAtbGV2ZWwtYWxlcnQtY29sb3IpOy0tY2xyLWFwcC1hbGVydC1pbmZvLWJvcmRlci1jb2xvcjogbm9uZTstLWNsci1hcHAtYWxlcnQtaW5mby1pY29uLWNvbG9yOiB2YXIoLS1jbHItYXBwLWFsZXJ0LWNsb3Nl''@;'; put 'put ''LWljb24tY29sb3IpOy0tY2xyLWFwcC1hbGVydC1pbmZvLWFjdGlvbi1jb2xvcjogdmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWZvbnQtY29sb3IpOy0tY2xyLWFwcC1hbGVydC1pbmZvLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1mb250LWNvbG9yKTst''@;'; put 'put ''LWNsci1hcHAtYWxlcnQtaW5mby1jbG9zZS1pY29uLWNvbG9yOiB2YXIoLS1jbHItYXBwLWFsZXJ0LWNsb3NlLWljb24tY29sb3IpOy0tY2xyLWFwcC1hbGVydC1pbmZvLWNsb3NlLWljb24tb3BhY2l0eTogdmFyKC0tY2xyLWFwcC1hbGVydC1jbG9zZS1pY29uLW9wYWNpdHkpOy0tY2xyLWFw''@;'; put 'put ''cC1hbGVydC1pbmZvLWNsb3NlLWljb24taG92ZXItY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1jb2xvcik7LS1jbHItYXBwLWFsZXJ0LWluZm8tY2xvc2UtaWNvbi1ob3Zlci1vcGFjaXR5OiB2YXIoLS1jbHItYXBwLWFsZXJ0LWNsb3NlLWljb24taG92ZXItb3BhY2l0''@;'; put 'put ''eSk7LS1jbHItYXBwLWFsZXJ0LXdhcm5pbmctYmctY29sb3I6IGhzbCgyNiwgMTAwJSwgMzglKTstLWNsci1hcHAtYWxlcnQtd2FybmluZy1ib3JkZXItY29sb3I6IG5vbmU7LS1jbHItYXBwLWFsZXJ0LXdhcm5pbmctaWNvbi1jb2xvcjogdmFyKC0tY2xyLWFwcC1hbGVydC1jbG9zZS1pY29u''@;'; put 'put ''LWNvbG9yKTstLWNsci1hcHAtYWxlcnQtd2FybmluZy1mb250LWNvbG9yOiB2YXIoLS1jbHItYXBwLWxldmVsLWFsZXJ0LWNvbG9yKTstLWNsci1hcHAtYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWNvbG9yOiB2YXIoLS1jbHItYXBwLWFsZXJ0LWNsb3NlLWljb24tY29sb3IpOy0tY2xyLWFw''@;'; put 'put ''cC1hbGVydC13YXJuaW5nLWFjdGlvbi1jb2xvcjogdmFyKC0tY2xyLWFwcC1hbGVydC13YXJuaW5nLWZvbnQtY29sb3IpOy0tY2xyLWFwcC1hbGVydC13YXJuaW5nLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtd2FybmluZy1mb250LWNvbG9yKTstLWNsci1hcHAt''@;'; put 'put ''YWxlcnQtd2FybmluZy1jbG9zZS1pY29uLW9wYWNpdHk6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1vcGFjaXR5KTstLWNsci1hcHAtYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItYXBwLWFsZXJ0LWNsb3NlLWljb24tY29sb3IpOy0tY2xy''@;'; put 'put ''LWFwcC1hbGVydC13YXJuaW5nLWNsb3NlLWljb24taG92ZXItb3BhY2l0eTogdmFyKC0tY2xyLWFwcC1hbGVydC1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHkpOy0tY2xyLWFwcC1hbGVydC1kYW5nZXItYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1kYW5nZXItODAwKTstLWNsci1hcHAtYWxl''@;'; put 'put ''cnQtZGFuZ2VyLWJvcmRlci1jb2xvcjogbm9uZTstLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWljb24tY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1jb2xvcik7LS1jbHItYXBwLWFsZXJ0LWRhbmdlci1mb250LWNvbG9yOiB2YXIoLS1jbHItYXBwLWxldmVsLWFsZXJ0LWNv''@;'; put 'put ''bG9yKTstLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24tY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1jb2xvcik7LS1jbHItYXBwLWFsZXJ0LWRhbmdlci1hY3Rpb24tY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWZvbnQtY29sb3IpOy0tY2xy''@;'; put 'put ''LWFwcC1hbGVydC1kYW5nZXItYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tY2xyLWFwcC1hbGVydC1kYW5nZXItZm9udC1jb2xvcik7LS1jbHItYXBwLWFsZXJ0LWRhbmdlci1jbG9zZS1pY29uLW9wYWNpdHk6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1vcGFjaXR5KTstLWNs''@;'; put 'put ''ci1hcHAtYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24taG92ZXItY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1jb2xvcik7LS1jbHItYXBwLWFsZXJ0LWRhbmdlci1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHk6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1ob3Zl''@;'; put 'put ''ci1vcGFjaXR5KTstLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1ib3JkZXItY29sb3I6IG5vbmU7LS1jbHItYXBwLWFsZXJ0LXN1Y2Nlc3MtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1zdWNjZXNzLTcwMCk7LS1jbHItYXBwLWFsZXJ0LXN1Y2Nlc3MtaWNvbi1jb2xvcjogdmFyKC0tY2xyLWFw''@;'; put 'put ''cC1hbGVydC1jbG9zZS1pY29uLWNvbG9yKTstLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1mb250LWNvbG9yOiB2YXIoLS1jbHItYXBwLWxldmVsLWFsZXJ0LWNvbG9yKTstLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWNvbG9yOiB2YXIoLS1jbHItYXBwLWFsZXJ0LWNsb3NlLWlj''@;'; put 'put ''b24tY29sb3IpOy0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWFjdGlvbi1jb2xvcjogdmFyKC0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWZvbnQtY29sb3IpOy0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1mb250''@;'; put 'put ''LWNvbG9yKTstLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLW9wYWNpdHk6IHZhcigtLWNsci1hcHAtYWxlcnQtY2xvc2UtaWNvbi1vcGFjaXR5KTstLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItYXBwLWFsZXJ0LWNsb3Nl''@;'; put 'put ''LWljb24tY29sb3IpOy0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWNsb3NlLWljb24taG92ZXItb3BhY2l0eTogdmFyKC0tY2xyLWFwcC1hbGVydC1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHkpOy0tY2xyLWFwcC1hbGVydC1wYWdlci10ZXh0LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJh''@;'; put 'put ''bC0wLCB3aGl0ZSk7LS1jbHItYXBwLWFsZXJ0LWluZm8tcGFnZXItYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tODAwLCAjMDA1NjdhKTstLWNsci1hcHAtYWxlcnQtd2FybmluZy1wYWdlci1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXdhcm5pbmctOTAwLCAjOGY1YTAwKTst''@;'; put 'put ''LWNsci1hcHAtYWxlcnQtZGFuZ2VyLXBhZ2VyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTkwMCwgIzk5MTcwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWljb257aGVpZ2h0OjEuMnJlbTt3aWR0aDoxLjJyZW07bWFyZ2luLWxlZnQ6LS4xNXJl''@;'; put 'put ''bTttYXJnaW4tdG9wOi0uMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtaWNvbi13cmFwcGVye2ZsZXg6MCAwIDEuMjVyZW07YWxpZ24tc2VsZjpzdGFydDtwYWRkaW5nLXRvcDouMDVyZW07aGVpZ2h0Oi45cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5hbGVydC1pdGVte2ZsZXg6MSAxIGF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7bWluLWhlaWdodDouOXJlbTttYXJnaW4tYm90dG9tOi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJv''@;'; put 'put ''dHRvbTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1pdGVtc3tmbGV4OjEgMSBhdXRvO2ZsZXgtZmxvdzpjb2x1bW4gbm93cmFwO3BhZGRpbmc6LjVyZW0gLjU1cmVtO2Rpc3BsYXk6ZmxleH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQt''@;'; put 'put ''aXRlbT5zcGFuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4LWdyb3c6MTtmbGV4LXNocmluazoxO2ZsZXgtYmFzaXM6OTglO21heC13aWR0aDo5OCU7bWFyZ2luLXJpZ2h0Oi42cmVtO3RleHQtYWxpZ246bGVm''@;'; put 'put ''dH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnR7Zm9udC1zaXplOi42NXJlbTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1oZWlnaHQ6LjlyZW07cG9zaXRpb246cmVsYXRpdmU7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlv''@;'; put 'put ''bjpyb3c7d2lkdGg6YXV0bztib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1hbGVydC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7bWFyZ2luLXRvcDouM3JlbTtiYWNrZ3JvdW5kOiNlM2Y1ZmM7YmFja2dyb3VuZDp2YXIoLS1jbHItYWxlcnQtaW5mby1iZy1jb2xv''@;'; put 'put ''ciwgI2UzZjVmYyk7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1mb250LWNvbG9yLCAjNjY2NjY2KTtib3JkZXI6LjA1cmVtIHNvbGlkO2JvcmRlci1jb2xvcjojMDA1NjdhO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1ib3JkZXItY29sb3IsICMwMDU2''@;'; put 'put ''N2EpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuYWxlcnQtaWNvbntjb2xvcjojMDA1NjdhO2NvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWljb24tY29sb3IsICMwMDU2N2EpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuYWxlcnQt''@;'; put 'put ''YWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgIzY2NjY2Nik7Ym9yZGVyLWNvbG9yOiM2NjY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgIzY2''@;'; put 'put ''NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1hY3Rpb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLWFsZXJ0LWluZm8tYWN0aW9uLWNv''@;'; put 'put ''bG9yLCAjNjY2NjY2KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQgLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuZHJvcGRvd24tdG9nZ2xlLmJ0bntib3JkZXItY29sb3I6IzY2Njtib3JkZXItY29sb3I6''@;'; put 'put ''dmFyKC0tY2xyLWFsZXJ0LWluZm8tYWN0aW9uLWNvbG9yLCAjNjY2NjY2KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQgLmFsZXJ0LWFjdGlvbi5idG46Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuYWxlcnQtYWN0aW9uLmJ0''@;'; put 'put ''bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1hY3Rpb24uYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5kcm9wZG93bi10b2dnbGUuYnRuOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYWxlcnQgLmRyb3Bkb3duLXRvZ2dsZS5idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuZHJvcGRvd24tdG9nZ2xlLmJ0bjphY3RpdmV7Ym9yZGVyLWNvbG9yOiM0ZjAwNzA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC1p''@;'; put 'put ''bmZvLWFjdGlvbi1hY3RpdmUtY29sb3IsICM0ZjAwNzApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuYWxlcnQtYWN0aW9uLmJ0bjphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuZHJvcGRvd24tdG9nZ2xlLmJ0bjphY3Rp''@;'; put 'put ''dmV7Ym94LXNoYWRvdzowIC4wNXJlbSAjNGYwMDcwIGluc2V0O2JveC1zaGFkb3c6MCAuMDVyZW0gMCAwIHZhcigtLWNsci1hbGVydC1pbmZvLWFjdGlvbi1hY3RpdmUtY29sb3IsICM0ZjAwNzApIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuYWxlcnQt''@;'; put 'put ''YWN0aW9uOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQgLmFsZXJ0LWFjdGlvbjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuYWxlcnQgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5kcm9wZG93bi10b2dnbGU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtj''@;'; put 'put ''b2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1hY3Rpb24tYWN0aXZlLWNvbG9yLCAjNGYwMDcwKTtjb2xvcjojNGYwMDcwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuY2xvc2V7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1jbG9zZS1pY29u''@;'; put 'put ''LWNvbG9yLCAjNjY2NjY2KTtvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItYWxlcnQtaW5mby1jbG9zZS1pY29uLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuY2xvc2UgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5hbGVydCAuY2xvc2UgY2xyLWljb257ZmlsbDojNjY2O2ZpbGw6dmFyKC0tY2xyLWFsZXJ0LWluZm8tY2xvc2UtaWNvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5jbG9zZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmFsZXJ0IC5jbG9zZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5jbG9zZTphY3RpdmV7Y29sb3I6IzRmMDA3MDtjb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1jbG9zZS1pY29uLWhvdmVyLWNvbG9yLCAjNGYwMDcwKTtvcGFj''@;'; put 'put ''aXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItYWxlcnQtaW5mby1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1pbmZve2JhY2tncm91bmQ6I2UzZjVmYztiYWNrZ3JvdW5kOnZhcigtLWNsci1hbGVydC1pbmZv''@;'; put 'put ''LWJnLWNvbG9yLCAjZTNmNWZjKTtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWZvbnQtY29sb3IsICM2NjY2NjYpO2JvcmRlcjouMDVyZW0gc29saWQ7Ym9yZGVyLWNvbG9yOiMwMDU2N2E7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWJvcmRlci1jb2xv''@;'; put 'put ''ciwgIzAwNTY3YSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmFsZXJ0LWljb257Y29sb3I6IzAwNTY3YTtjb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1pY29uLWNvbG9yLCAjMDA1NjdhKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuYWxlcnQtYWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgIzY2NjY2Nik7Ym9yZGVyLWNvbG9yOiM2NjY7Ym9yZGVyLWNvbG9yOnZhcigtLWNs''@;'; put 'put ''ci1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmFsZXJ0LWFjdGlvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmRyb3Bkb3duLXRv''@;'; put 'put ''Z2dsZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5hbGVydC5hbGVydC1pbmZvIC5kcm9wZG93bi10b2dnbGUuYnRue2JvcmRlci1jb2xvcjojNjY2O2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1hY3Rpb24tY29sb3IsICM2NjY2NjYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1p''@;'; put 'put ''bmZvIC5hbGVydC1hY3Rpb24uYnRuOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuYWxlcnQtYWN0aW9uLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmFsZXJ0LWFj''@;'; put 'put ''dGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmRyb3Bkb3duLXRvZ2dsZS5i''@;'; put 'put ''dG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1pbmZvIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3JkZXItY29sb3I6IzRmMDA3MDtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFsZXJ0LWluZm8tYWN0aW9uLWFjdGl2ZS1jb2xvciwg''@;'; put 'put ''IzRmMDA3MCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjphY3RpdmV7''@;'; put 'put ''Ym94LXNoYWRvdzowIC4wNXJlbSAjNGYwMDcwIGluc2V0O2JveC1zaGFkb3c6MCAuMDVyZW0gMCAwIHZhcigtLWNsci1hbGVydC1pbmZvLWFjdGlvbi1hY3RpdmUtY29sb3IsICM0ZjAwNzApIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1pbmZv''@;'; put 'put ''IC5hbGVydC1hY3Rpb246Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1pbmZvIC5hbGVydC1hY3Rpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1pbmZvIC5hbGVydC1hY3Rpb246YWN0aXZl''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1hY3Rpb24tYWN0aXZlLWNvbG9yLCAjNGYwMDcwKTtjb2xvcjojNGYwMDcwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5hbGVydC5hbGVydC1pbmZvIC5jbG9zZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1pbmZvLWNsb3NlLWljb24tY29sb3IsICM2NjY2NjYpO29wYWNpdHk6MTtvcGFjaXR5OnZhcigtLWNsci1hbGVydC1pbmZvLWNsb3NlLWljb24tb3BhY2l0eSwgMSl9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmNsb3NlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuY2xvc2UgY2xyLWljb257ZmlsbDojNjY2O2ZpbGw6dmFyKC0tY2xyLWFsZXJ0LWluZm8tY2xvc2Ut''@;'; put 'put ''aWNvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWluZm8gLmNsb3NlOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtaW5mbyAuY2xvc2U6aG92ZXIsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1pbmZvIC5jbG9zZTphY3RpdmV7Y29sb3I6IzRmMDA3MDtjb2xvcjp2YXIoLS1jbHItYWxlcnQtaW5mby1jbG9zZS1pY29uLWhvdmVyLWNvbG9yLCAjNGYwMDcwKTtvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItYWxlcnQtaW5mby1j''@;'; put 'put ''bG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNze2JhY2tncm91bmQ6I2RmZjBkMDtiYWNrZ3JvdW5kOnZhcigtLWNsci1hbGVydC1zdWNjZXNzLWJnLWNvbG9yLCAjZGZmMGQwKTtjb2xvcjojNjY2''@;'; put 'put ''O2NvbG9yOnZhcigtLWNsci1hbGVydC1zdWNjZXNzLWZvbnQtY29sb3IsICM2NjY2NjYpO2JvcmRlcjouMDVyZW0gc29saWQ7Ym9yZGVyLWNvbG9yOiMzMDZiMDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC1zdWNjZXNzLWJvcmRlci1jb2xvciwgIzMwNmIwMCl9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWljb257Y29sb3I6IzMwNmIwMDtjb2xvcjp2YXIoLS1jbHItYWxlcnQtc3VjY2Vzcy1pY29uLWNvbG9yLCAjMzA2YjAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQt''@;'; put 'put ''c3VjY2VzcyAuYWxlcnQtYWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1zdWNjZXNzLWFjdGlvbi1jb2xvciwgIzY2NjY2Nik7Ym9yZGVyLWNvbG9yOiM2NjY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC1zdWNj''@;'; put 'put ''ZXNzLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2ds''@;'; put 'put ''ZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1zdWNjZXNzLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNzIC5kcm9wZG93bi10b2dnbGUuYnRue2JvcmRlci1jb2xvcjojNjY2O2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYWxlcnQtc3VjY2Vzcy1hY3Rpb24tY29sb3IsICM2NjY2NjYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVy''@;'; put 'put ''dC5hbGVydC1zdWNjZXNzIC5hbGVydC1hY3Rpb24uYnRuOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtc3VjY2VzcyAuYWxlcnQtYWN0aW9uLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0''@;'; put 'put ''LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1''@;'; put 'put ''Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZS5idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNzIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3JkZXItY29sb3I6IzRmMDA3MDtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFsZXJ0''@;'; put 'put ''LXN1Y2Nlc3MtYWN0aW9uLWFjdGl2ZS1jb2xvciwgIzRmMDA3MCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQt''@;'; put 'put ''c3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4wNXJlbSAjNGYwMDcwIGluc2V0O2JveC1zaGFkb3c6MCAuMDVyZW0gMCAwIHZhcigtLWNsci1hbGVydC1zdWNjZXNzLWFjdGlvbi1hY3RpdmUtY29sb3IsICM0ZjAwNzApIGluc2V0fS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNzIC5hbGVydC1hY3Rpb246Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNzIC5hbGVydC1hY3Rpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNzIC5hbGVydC1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxl''@;'; put 'put ''cnQuYWxlcnQtc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYWxlcnQtc3VjY2Vzcy1hY3Rpb24tYWN0aXZlLWNv''@;'; put 'put ''bG9yLCAjNGYwMDcwKTtjb2xvcjojNGYwMDcwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNzIC5jbG9zZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1zdWNjZXNzLWNsb3NlLWljb24tY29sb3IsICM2NjY2NjYpO29wYWNpdHk6''@;'; put 'put ''MTtvcGFjaXR5OnZhcigtLWNsci1hbGVydC1zdWNjZXNzLWNsb3NlLWljb24tb3BhY2l0eSwgMSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1Y2Nlc3MgLmNsb3NlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxl''@;'; put 'put ''cnQuYWxlcnQtc3VjY2VzcyAuY2xvc2UgY2xyLWljb257ZmlsbDojNjY2O2ZpbGw6dmFyKC0tY2xyLWFsZXJ0LXN1Y2Nlc3MtY2xvc2UtaWNvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXN1Y2Nlc3MgLmNsb3NlOmZvY3Vz''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtc3VjY2VzcyAuY2xvc2U6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1zdWNjZXNzIC5jbG9zZTphY3RpdmV7Y29sb3I6IzRmMDA3MDtjb2xvcjp2YXIoLS1j''@;'; put 'put ''bHItYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWhvdmVyLWNvbG9yLCAjNGYwMDcwKTtvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVy''@;'; put 'put ''dC13YXJuaW5ne2JhY2tncm91bmQ6I2ZmZjRjNztiYWNrZ3JvdW5kOnZhcigtLWNsci1hbGVydC13YXJuaW5nLWJnLWNvbG9yLCAjZmZmNGM3KTtjb2xvcjojMzMzO2NvbG9yOnZhcigtLWNsci1hbGVydC13YXJuaW5nLWZvbnQtY29sb3IsICMzMzMzMzMpO2JvcmRlcjouMDVyZW0gc29saWQ7''@;'; put 'put ''Ym9yZGVyLWNvbG9yOiNhZDc2MDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC13YXJuaW5nLWJvcmRlci1jb2xvciwgI2FkNzYwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWljb257Y29sb3I6IzQ1NDU0NTtjb2xv''@;'; put 'put ''cjp2YXIoLS1jbHItYWxlcnQtd2FybmluZy1pY29uLWNvbG9yLCAjNDU0NTQ1KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtd2FybmluZyAuYWxlcnQtYWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojNjY2O2NvbG9yOnZhcigt''@;'; put 'put ''LWNsci1hbGVydC13YXJuaW5nLWFjdGlvbi1jb2xvciwgIzY2NjY2Nik7Ym9yZGVyLWNvbG9yOiM2NjY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC13YXJuaW5nLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0''@;'; put 'put ''LXdhcm5pbmcgLmFsZXJ0LWFjdGlvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC13YXJuaW5nLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC13YXJuaW5nIC5kcm9wZG93bi10b2dnbGUuYnRue2JvcmRlci1jb2xvcjojNjY2O2JvcmRl''@;'; put 'put ''ci1jb2xvcjp2YXIoLS1jbHItYWxlcnQtd2FybmluZy1hY3Rpb24tY29sb3IsICM2NjY2NjYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC13YXJuaW5nIC5hbGVydC1hY3Rpb24uYnRuOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYWxlcnQuYWxlcnQtd2FybmluZyAuYWxlcnQtYWN0aW9uLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxl''@;'; put 'put ''cnQuYWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZS5idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVy''@;'; put 'put ''dC5hbGVydC13YXJuaW5nIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3JkZXItY29sb3I6IzRmMDA3MDtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFsZXJ0LXdhcm5pbmctYWN0aW9uLWFjdGl2ZS1jb2xvciwgIzRmMDA3MCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4wNXJlbSAjNGYwMDcwIGluc2V0O2Jv''@;'; put 'put ''eC1zaGFkb3c6MCAuMDVyZW0gMCAwIHZhcigtLWNsci1hbGVydC13YXJuaW5nLWFjdGlvbi1hY3RpdmUtY29sb3IsICM0ZjAwNzApIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC13YXJuaW5nIC5hbGVydC1hY3Rpb246Zm9jdXMsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC13YXJuaW5nIC5hbGVydC1hY3Rpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC13YXJuaW5nIC5hbGVydC1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYWxlcnQuYWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYWxlcnQuYWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYWxlcnQtd2FybmluZy1hY3Rpb24tYWN0aXZlLWNvbG9yLCAjNGYwMDcwKTtjb2xvcjojNGYwMDcwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVy''@;'; put 'put ''dC13YXJuaW5nIC5jbG9zZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC13YXJuaW5nLWNsb3NlLWljb24tY29sb3IsICM2NjY2NjYpO29wYWNpdHk6MTtvcGFjaXR5OnZhcigtLWNsci1hbGVydC13YXJuaW5nLWNsb3NlLWljb24tb3BhY2l0eSwgMSl9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmNsb3NlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtd2FybmluZyAuY2xvc2UgY2xyLWljb257ZmlsbDojNjY2O2ZpbGw6dmFyKC0tY2xyLWFsZXJ0LXdhcm5pbmct''@;'; put 'put ''Y2xvc2UtaWNvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcgLmNsb3NlOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtd2FybmluZyAuY2xvc2U6aG92ZXIsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC13YXJuaW5nIC5jbG9zZTphY3RpdmV7Y29sb3I6IzRmMDA3MDtjb2xvcjp2YXIoLS1jbHItYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWhvdmVyLWNvbG9yLCAjNGYwMDcwKTtvcGFjaXR5OjE7b3BhY2l0eTp2YXIo''@;'; put 'put ''LS1jbHItYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1kYW5nZXJ7YmFja2dyb3VuZDojZmVkZGQ3O2JhY2tncm91bmQ6dmFyKC0tY2xyLWFsZXJ0LWRhbmdlci1iZy1jb2xvciwg''@;'; put 'put ''I2ZlZGRkNyk7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYWxlcnQtZGFuZ2VyLWZvbnQtY29sb3IsICM2NjY2NjYpO2JvcmRlcjouMDVyZW0gc29saWQ7Ym9yZGVyLWNvbG9yOiM5OTE3MDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hbGVydC1kYW5nZXItYm9yZGVyLWNvbG9yLCAjOTkx''@;'; put 'put ''NzAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5hbGVydC1pY29ue2NvbG9yOiM5OTE3MDA7Y29sb3I6dmFyKC0tY2xyLWFsZXJ0LWRhbmdlci1pY29uLWNvbG9yLCAjOTkxNzAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5hbGVydC1hY3Rpb25zIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLWFsZXJ0LWRhbmdlci1hY3Rpb24tY29sb3IsICM2NjY2NjYpO2JvcmRlci1jb2xvcjojNjY2O2JvcmRlci1jb2xvcjp2YXIoLS1j''@;'; put 'put ''bHItYWxlcnQtZGFuZ2VyLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWRhbmdlciAuYWxlcnQtYWN0aW9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5kcm9w''@;'; put 'put ''ZG93bi10b2dnbGV7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYWxlcnQtZGFuZ2VyLWFjdGlvbi1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWRhbmdlciAuYWxlcnQtYWN0aW9uLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWRhbmdlciAuZHJvcGRvd24tdG9nZ2xlLmJ0bntib3JkZXItY29sb3I6IzY2Njtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFsZXJ0LWRhbmdlci1hY3Rpb24tY29sb3IsICM2NjY2NjYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5hbGVydC5hbGVydC1kYW5nZXIgLmFsZXJ0LWFjdGlvbi5idG46Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1kYW5nZXIgLmFsZXJ0LWFjdGlvbi5idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5h''@;'; put 'put ''bGVydC1kYW5nZXIgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5kcm9wZG93bi10b2dnbGUuYnRuOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQt''@;'; put 'put ''ZGFuZ2VyIC5kcm9wZG93bi10b2dnbGUuYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3JkZXItY29sb3I6IzRmMDA3MDtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFsZXJ0''@;'; put 'put ''LWRhbmdlci1hY3Rpb24tYWN0aXZlLWNvbG9yLCAjNGYwMDcwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5hbGVydC1hY3Rpb24uYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWRh''@;'; put 'put ''bmdlciAuZHJvcGRvd24tdG9nZ2xlLmJ0bjphY3RpdmV7Ym94LXNoYWRvdzowIC4wNXJlbSAjNGYwMDcwIGluc2V0O2JveC1zaGFkb3c6MCAuMDVyZW0gMCAwIHZhcigtLWNsci1hbGVydC1kYW5nZXItYWN0aW9uLWFjdGl2ZS1jb2xvciwgIzRmMDA3MCkgaW5zZXR9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWRhbmdlciAuYWxlcnQtYWN0aW9uOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5hbGVydC1hY3Rpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5hbGVydC5hbGVydC1kYW5nZXIgLmFsZXJ0LWFjdGlvbjphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1kYW5nZXIgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0''@;'; put 'put ''LWRhbmdlciAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5kcm9wZG93bi10b2dnbGU6YWN0aXZle2NvbG9yOnZhcigtLWNsci1hbGVydC1kYW5nZXItYWN0aW9uLWFjdGl2ZS1jb2xvciwgIzRmMDA3''@;'; put 'put ''MCk7Y29sb3I6IzRmMDA3MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5jbG9zZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hbGVydC1kYW5nZXItY2xvc2UtaWNvbi1jb2xvciwgIzY2NjY2Nik7b3BhY2l0eToxO29wYWNpdHk6dmFy''@;'; put 'put ''KC0tY2xyLWFsZXJ0LWRhbmdlci1jbG9zZS1pY29uLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1kYW5nZXIgLmNsb3NlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2Vy''@;'; put 'put ''IC5jbG9zZSBjbHItaWNvbntmaWxsOiM2NjY7ZmlsbDp2YXIoLS1jbHItYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24tY29sb3IsICM2NjY2NjYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC5hbGVydC1kYW5nZXIgLmNsb3NlOmZvY3VzLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5jbG9zZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LmFsZXJ0LWRhbmdlciAuY2xvc2U6YWN0aXZle2NvbG9yOiM0ZjAwNzA7Y29sb3I6dmFyKC0tY2xyLWFsZXJ0LWRhbmdlci1jbG9z''@;'; put 'put ''ZS1pY29uLWhvdmVyLWNvbG9yLCAjNGYwMDcwKTtvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24taG92ZXItb3BhY2l0eSwgMSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1pdGVtIC5jbHItaWNvbntoZWln''@;'; put 'put ''aHQ6LjlyZW07d2lkdGg6LjlyZW07bWFyZ2luLXJpZ2h0Oi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuYWxlcnQtaXRlbSAuY2xyLWljb24rLmFsZXJ0LXRleHR7cGFkZGluZy1sZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFs''@;'; put 'put ''ZXJ0IC5hbGVydC1pdGVtIC5jbHItaWNvbisuYWxlcnQtdGV4dDpiZWZvcmV7Y29udGVudDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuYWxlcnQtYWN0aW9uc3tmbGV4OjAgMCBhdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuYWxlcnQgLmFsZXJ0LWFjdGlvbnMgLmRyb3Bkb3duOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0Oi0uMXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQgLmFsZXJ0LWFjdGlvbnMgLmRyb3Bkb3duLWl0ZW17Y29sb3I6IzY2Njtjb2xvcjp2''@;'; put 'put ''YXIoLS1jbHItZHJvcGRvd24tdGV4dC1jb2xvciwgIzY2NjY2Nik7Zm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjEuMnJlbTtsZXR0ZXItc3BhY2luZzpub3JtYWx9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1hY3Rpb246bm90KDpsYXN0LWNoaWxk''@;'; put 'put ''KXttYXJnaW4tcmlnaHQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1hY3Rpb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuZHJvcGRvd24tdG9nZ2xle3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1hY3Rpb24gYnV0dG9uLmRyb3Bkb3duLXRvZ2dsZTpub3QoLmJ0bil7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1kcm9wZG93bi10ZXh0LWNvbG9y''@;'; put 'put ''LCAjNjY2NjY2KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQgLmRyb3Bkb3duLXRvZ2dsZTpub3QoLmJ0bil7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYWxlcnQgLmNsb3Nle3dpZHRoOjEuMnJlbTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxLjhyZW07ZmxleDowIDAgMS40cmVtO29yZGVyOjEwMDtwYWRkaW5nLXJpZ2h0Oi4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuY2xvc2UgY2RzLWljb24sIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuY2xvc2UgY2xyLWljb257bWFyZ2luLXRvcDotLjE1cmVtO2hlaWdodDoxLjE1cmVtO3dpZHRoOjEuMTVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5jbG9zZX4uYWxlcnQtaXRlbT4uYWxlcnQt''@;'; put 'put ''YWN0aW9uc3twYWRkaW5nLXJpZ2h0Oi42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydCAuY2xvc2V+LmFsZXJ0LWl0ZW0+LmFsZXJ0LWFjdGlvbnM+LmFsZXJ0LWFjdGlvbjpsYXN0LWNoaWxke21hcmdpbi1yaWdodDouNnJlbX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVse21hcmdpbjowO2JvcmRlci1yYWRpdXM6MDtvdmVyZmxvdy15OmF1dG87YmFja2dyb3VuZDojMDA3MmEzO2JhY2tncm91bmQ6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWJnLWNvbG9yLCAjMDA3MmEzKTtjb2xvcjojZmZmO2NvbG9yOnZh''@;'; put 'put ''cigtLWNsci1hcHAtYWxlcnQtaW5mby1mb250LWNvbG9yLCB3aGl0ZSk7Ym9yZGVyOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtaWNvbntjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1pY29uLWNv''@;'; put 'put ''bG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtYWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1hY3Rpb24tY29sb3IsIHdoaXRl''@;'; put 'put ''KTtib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWFjdGlvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0''@;'; put 'put ''LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmRyb3Bkb3duLXRvZ2dsZS5idG57Ym9yZGVyLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1hY3Rpb24tY29sb3IsIHdoaXRlKX0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5hbGVydC1hY3Rpb24uYnRuOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5hbGVydC1hY3Rpb24uYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5hbGVydC1hY3Rpb24uYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuZHJvcGRvd24tdG9nZ2xlLmJ0bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmFsZXJ0LWFwcC1sZXZlbCAuZHJvcGRvd24tdG9nZ2xlLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuZHJvcGRvd24tdG9nZ2xlLmJ0bjphY3RpdmV7Ym9yZGVyLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWNs''@;'; put 'put ''ci1hcHAtYWxlcnQtaW5mby1hY3Rpb24tYWN0aXZlLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtYWN0aW9uLmJ0bjphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAt''@;'; put 'put ''bGV2ZWwgLmRyb3Bkb3duLXRvZ2dsZS5idG46YWN0aXZle2JveC1zaGFkb3c6MCAuMDVyZW0gI2ZmZiBpbnNldDtib3gtc2hhZG93OjAgLjA1cmVtIDAgMCB2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tYWN0aW9uLWFjdGl2ZS1jb2xvciwgd2hpdGUpIGluc2V0fS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWFjdGlvbjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtYWN0aW9uOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQt''@;'; put 'put ''YXBwLWxldmVsIC5hbGVydC1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5kcm9wZG93bi10b2dnbGU6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmRyb3Bkb3du''@;'; put 'put ''LXRvZ2dsZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tYWN0aW9uLWFjdGl2ZS1jb2xvciwgd2hpdGUpO2NvbG9yOiNmZmZ9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuY2xvc2V7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tY2xvc2UtaWNvbi1jb2xvciwgd2hpdGUpO29wYWNpdHk6Ljg7b3BhY2l0eTp2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tY2xv''@;'; put 'put ''c2UtaWNvbi1vcGFjaXR5LCAuOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuY2xvc2UgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmNsb3NlIGNsci1pY29ue2ZpbGw6I2ZmZjtm''@;'; put 'put ''aWxsOnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuY2xvc2U6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2''@;'; put 'put ''ZWwgLmNsb3NlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5jbG9zZTphY3RpdmV7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tY2xvc2UtaWNvbi1ob3Zlci1jb2xvciwgd2hpdGUpO29wYWNpdHk6MTtv''@;'; put 'put ''cGFjaXR5OnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtaW5mb3tiYWNrZ3JvdW5kOiMwMDcyYTM7YmFja2dyb3VuZDp2YXIoLS1jbHItYXBw''@;'; put 'put ''LWFsZXJ0LWluZm8tYmctY29sb3IsICMwMDcyYTMpO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWZvbnQtY29sb3IsIHdoaXRlKTtib3JkZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8g''@;'; put 'put ''LmFsZXJ0LWljb257Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8taWNvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtaW5mbyAuYWxlcnQtYWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bk''@;'; put 'put ''b3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1hY3Rpb24tY29sb3IsIHdoaXRlKTtib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtaW5mbyAuYWxlcnQtYWN0aW9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNs''@;'; put 'put ''ci1hcHAtYWxlcnQtaW5mby1hY3Rpb24tY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8gLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2''@;'; put 'put ''ZWwuYWxlcnQtaW5mbyAuZHJvcGRvd24tdG9nZ2xlLmJ0bntib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxl''@;'; put 'put ''cnQtaW5mbyAuYWxlcnQtYWN0aW9uLmJ0bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5hbGVydC1hY3Rpb24uYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxl''@;'; put 'put ''dmVsLmFsZXJ0LWluZm8gLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8gLmRyb3Bkb3duLXRvZ2dsZS5idG46Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5h''@;'; put 'put ''bGVydC1hcHAtbGV2ZWwuYWxlcnQtaW5mbyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3JkZXItY29sb3I6I2ZmZjtib3Jk''@;'; put 'put ''ZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLWFjdGlvbi1hY3RpdmUtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8gLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8gLmRyb3Bkb3duLXRvZ2dsZS5idG46YWN0aXZle2JveC1zaGFkb3c6MCAuMDVyZW0gI2ZmZiBpbnNldDtib3gtc2hhZG93OjAgLjA1cmVtIDAgMCB2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tYWN0aW9uLWFjdGl2''@;'; put 'put ''ZS1jb2xvciwgd2hpdGUpIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtaW5mbyAuYWxlcnQtYWN0aW9uOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8g''@;'; put 'put ''LmFsZXJ0LWFjdGlvbjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5hbGVydC1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8g''@;'; put 'put ''LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5kcm9wZG93bi10b2dnbGU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQt''@;'; put 'put ''aW5mbyAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tYWN0aW9uLWFjdGl2ZS1jb2xvciwgd2hpdGUpO2NvbG9yOiNmZmZ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5jbG9z''@;'; put 'put ''ZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSk7b3BhY2l0eTouODtvcGFjaXR5OnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1jbG9zZS1pY29uLW9wYWNpdHksIC44KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8gLmNsb3NlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWluZm8gLmNsb3NlIGNsci1pY29ue2ZpbGw6I2ZmZjtmaWxsOnZhcigtLWNsci1hcHAtYWxlcnQtaW5m''@;'; put 'put ''by1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5jbG9zZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5j''@;'; put 'put ''bG9zZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1pbmZvIC5jbG9zZTphY3RpdmV7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWluZm8tY2xvc2UtaWNvbi1ob3Zlci1jb2xvciwgd2hpdGUpO29wYWNp''@;'; put 'put ''dHk6MTtvcGFjaXR5OnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2Vye2JhY2tncm91bmQ6I2MyMWQwMDtiYWNrZ3JvdW5kOnZhcigt''@;'; put 'put ''LWNsci1hcHAtYWxlcnQtZGFuZ2VyLWJnLWNvbG9yLCAjYzIxZDAwKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWZvbnQtY29sb3IsIHdoaXRlKTtib3JkZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVs''@;'; put 'put ''LmFsZXJ0LWRhbmdlciAuYWxlcnQtaWNvbntjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWljb24tY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuYWxlcnQtYWN0aW9u''@;'; put 'put ''cyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWFjdGlvbi1jb2xvciwgd2hpdGUpO2JvcmRlci1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWRhbmdlci1hY3Rpb24tY29sb3Is''@;'; put 'put ''IHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuYWxlcnQtYWN0aW9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuZHJvcGRvd24tdG9nZ2xl''@;'; put 'put ''e2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1kYW5nZXItYWN0aW9uLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1kYW5nZXIgLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5kcm9wZG93bi10b2dnbGUuYnRue2JvcmRlci1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWRhbmdlci1hY3Rpb24tY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuYWxlcnQtYWN0aW9uLmJ0bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1kYW5nZXIgLmFsZXJ0LWFjdGlvbi5idG46aG92ZXIsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5hbGVydC1hY3Rpb24uYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1kYW5nZXIgLmRyb3Bkb3duLXRvZ2dsZS5idG46''@;'; put 'put ''Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5kcm9wZG93bi10b2dnbGUuYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuZHJv''@;'; put 'put ''cGRvd24tdG9nZ2xlLmJ0bjphY3RpdmV7Ym9yZGVyLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWFjdGlvbi1hY3RpdmUtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0''@;'; put 'put ''LWRhbmdlciAuYWxlcnQtYWN0aW9uLmJ0bjphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3gtc2hhZG93OjAgLjA1cmVtICNmZmYgaW5zZXQ7Ym94LXNoYWRv''@;'; put 'put ''dzowIC4wNXJlbSAwIDAgdmFyKC0tY2xyLWFwcC1hbGVydC1kYW5nZXItYWN0aW9uLWFjdGl2ZS1jb2xvciwgd2hpdGUpIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5hbGVydC1hY3Rpb246Zm9jdXMsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5hbGVydC1hY3Rpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5hbGVydC1hY3Rpb246YWN0aXZlLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuZHJvcGRvd24tdG9nZ2xl''@;'; put 'put ''OmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWRhbmdlci1hY3Rpb24tYWN0aXZlLWNvbG9yLCB3aGl0ZSk7Y29sb3I6I2Zm''@;'; put 'put ''Zn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRhbmdlciAuY2xvc2V7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWRhbmdlci1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSk7b3BhY2l0eTouODtvcGFjaXR5OnZhcigt''@;'; put 'put ''LWNsci1hcHAtYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24tb3BhY2l0eSwgLjgpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5jbG9zZSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0''@;'; put 'put ''LWFwcC1sZXZlbC5hbGVydC1kYW5nZXIgLmNsb3NlIGNsci1pY29ue2ZpbGw6I2ZmZjtmaWxsOnZhcigtLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24tY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LWRh''@;'; put 'put ''bmdlciAuY2xvc2U6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtZGFuZ2VyIC5jbG9zZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1kYW5nZXIgLmNsb3Nl''@;'; put 'put ''OmFjdGl2ZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtZGFuZ2VyLWNsb3NlLWljb24taG92ZXItY29sb3IsIHdoaXRlKTtvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItYXBwLWFsZXJ0LWRhbmdlci1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtd2FybmluZ3tiYWNrZ3JvdW5kOiNjMjU0MDA7YmFja2dyb3VuZDp2YXIoLS1jbHItYXBwLWFsZXJ0LXdhcm5pbmctYmctY29sb3IsICNjMjU0MDApO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1h''@;'; put 'put ''bGVydC13YXJuaW5nLWZvbnQtY29sb3IsIHdoaXRlKTtib3JkZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWljb257Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LXdhcm5pbmct''@;'; put 'put ''aWNvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtd2FybmluZyAuYWxlcnQtYWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtd2Fy''@;'; put 'put ''bmluZy1hY3Rpb24tY29sb3IsIHdoaXRlKTtib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC13YXJuaW5nLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtd2Fy''@;'; put 'put ''bmluZyAuYWxlcnQtYWN0aW9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtd2FybmluZy1hY3Rpb24tY29sb3IsIHdoaXRl''@;'; put 'put ''KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xl''@;'; put 'put ''LmJ0bntib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC13YXJuaW5nLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtd2FybmluZyAuYWxlcnQtYWN0aW9uLmJ0''@;'; put 'put ''bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC13YXJuaW5nIC5hbGVydC1hY3Rpb24uYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmFs''@;'; put 'put ''ZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZS5idG46Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwu''@;'; put 'put ''YWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xlLmJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC13YXJuaW5nIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6''@;'; put 'put ''dmFyKC0tY2xyLWFwcC1hbGVydC13YXJuaW5nLWFjdGlvbi1hY3RpdmUtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZS5idG46YWN0aXZle2JveC1zaGFkb3c6MCAuMDVyZW0gI2ZmZiBpbnNldDtib3gtc2hhZG93OjAgLjA1cmVtIDAgMCB2YXIoLS1jbHItYXBwLWFsZXJ0LXdhcm5pbmctYWN0aW9uLWFj''@;'; put 'put ''dGl2ZS1jb2xvciwgd2hpdGUpIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtd2FybmluZyAuYWxlcnQtYWN0aW9uOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0''@;'; put 'put ''LXdhcm5pbmcgLmFsZXJ0LWFjdGlvbjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC13YXJuaW5nIC5hbGVydC1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVs''@;'; put 'put ''LmFsZXJ0LXdhcm5pbmcgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC13YXJuaW5nIC5kcm9wZG93bi10b2dnbGU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVy''@;'; put 'put ''dC1hcHAtbGV2ZWwuYWxlcnQtd2FybmluZyAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LXdhcm5pbmctYWN0aW9uLWFjdGl2ZS1jb2xvciwgd2hpdGUpO2NvbG9yOiNmZmZ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFw''@;'; put 'put ''cC1sZXZlbC5hbGVydC13YXJuaW5nIC5jbG9zZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSk7b3BhY2l0eTouODtvcGFjaXR5OnZhcigtLWNsci1hcHAtYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLW9wYWNpdHks''@;'; put 'put ''IC44KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmNsb3NlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXdhcm5pbmcgLmNsb3NlIGNsci1pY29u''@;'; put 'put ''e2ZpbGw6I2ZmZjtmaWxsOnZhcigtLWNsci1hcHAtYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC13YXJuaW5nIC5jbG9zZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC13YXJuaW5nIC5jbG9zZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC13YXJuaW5nIC5jbG9zZTphY3RpdmV7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHIt''@;'; put 'put ''YXBwLWFsZXJ0LXdhcm5pbmctY2xvc2UtaWNvbi1ob3Zlci1jb2xvciwgd2hpdGUpO29wYWNpdHk6MTtvcGFjaXR5OnZhcigtLWNsci1hcHAtYWxlcnQtd2FybmluZy1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1h''@;'; put 'put ''cHAtbGV2ZWwuYWxlcnQtc3VjY2Vzc3tiYWNrZ3JvdW5kOiMzYzg1MDA7YmFja2dyb3VuZDp2YXIoLS1jbHItYXBwLWFsZXJ0LXN1Y2Nlc3MtYmctY29sb3IsICMzYzg1MDApO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWZvbnQtY29sb3IsIHdoaXRlKTti''@;'; put 'put ''b3JkZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWljb257Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LXN1Y2Nlc3MtaWNvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtc3VjY2VzcyAuYWxlcnQtYWN0aW9ucyAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1hY3Rpb24tY29sb3IsIHdoaXRlKTtib3JkZXIt''@;'; put 'put ''Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtc3VjY2VzcyAuYWxlcnQtYWN0aW9uLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1hY3Rpb24tY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbi5idG4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlLmJ0bntib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWFjdGlvbi1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtc3VjY2VzcyAuYWxlcnQtYWN0aW9uLmJ0bjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1zdWNjZXNzIC5hbGVydC1hY3Rpb24uYnRuOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZS5idG46Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtc3VjY2VzcyAuZHJvcGRvd24tdG9nZ2xlLmJ0''@;'; put 'put ''bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1zdWNjZXNzIC5kcm9wZG93bi10b2dnbGUuYnRuOmFjdGl2ZXtib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLWFjdGlv''@;'; put 'put ''bi1hY3RpdmUtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbi5idG46YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFs''@;'; put 'put ''ZXJ0LXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZS5idG46YWN0aXZle2JveC1zaGFkb3c6MCAuMDVyZW0gI2ZmZiBpbnNldDtib3gtc2hhZG93OjAgLjA1cmVtIDAgMCB2YXIoLS1jbHItYXBwLWFsZXJ0LXN1Y2Nlc3MtYWN0aW9uLWFjdGl2ZS1jb2xvciwgd2hpdGUpIGluc2V0fS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtc3VjY2VzcyAuYWxlcnQtYWN0aW9uOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWFjdGlvbjpob3ZlciwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1zdWNjZXNzIC5hbGVydC1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmRyb3Bkb3duLXRvZ2dsZTpm''@;'; put 'put ''b2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1zdWNjZXNzIC5kcm9wZG93bi10b2dnbGU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwuYWxlcnQtc3VjY2VzcyAuZHJvcGRv''@;'; put 'put ''d24tdG9nZ2xlOmFjdGl2ZXtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LXN1Y2Nlc3MtYWN0aW9uLWFjdGl2ZS1jb2xvciwgd2hpdGUpO2NvbG9yOiNmZmZ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1zdWNjZXNzIC5jbG9zZXtjb2xv''@;'; put 'put ''cjojZmZmO2NvbG9yOnZhcigtLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSk7b3BhY2l0eTouODtvcGFjaXR5OnZhcigtLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLW9wYWNpdHksIC44KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmNsb3NlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsLmFsZXJ0LXN1Y2Nlc3MgLmNsb3NlIGNsci1pY29ue2ZpbGw6I2ZmZjtmaWxsOnZhcigtLWNsci1hcHAtYWxl''@;'; put 'put ''cnQtc3VjY2Vzcy1jbG9zZS1pY29uLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1zdWNjZXNzIC5jbG9zZTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5h''@;'; put 'put ''bGVydC1zdWNjZXNzIC5jbG9zZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbC5hbGVydC1zdWNjZXNzIC5jbG9zZTphY3RpdmV7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LXN1Y2Nlc3MtY2xvc2UtaWNvbi1ob3Zl''@;'; put 'put ''ci1jb2xvciwgd2hpdGUpO29wYWNpdHk6MTtvcGFjaXR5OnZhcigtLWNsci1hcHAtYWxlcnQtc3VjY2Vzcy1jbG9zZS1pY29uLWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW1ze3BhZGRpbmctdG9w''@;'; put 'put ''Oi4zcmVtO3BhZGRpbmctYm90dG9tOi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW17anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuYWxlcnQtaXRlbSAuYnRue21hcmdpbjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWl0ZW0+c3BhbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFs''@;'; put 'put ''ZXJ0LWFwcC1sZXZlbCAuYWxlcnQtdGV4dHtmbGV4OjAgMSAxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWljb24td3JhcHBlcnttYXJnaW4tdG9wOi4xNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxl''@;'; put 'put ''cnQtYXBwLWxldmVsIC5jbG9zZXtoZWlnaHQ6MS44cmVtO292ZXJmbG93OmhpZGRlbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtYXBwLWxldmVsIC5jbG9zZSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZl''@;'; put 'put ''bCAuY2xvc2UgY2xyLWljb257bWFyZ2luLXRvcDotLjI1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWFjdGlvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWFwcC1sZXZlbCAuZHJvcGRvd24tdG9n''@;'; put 'put ''Z2xle3RleHQtZGVjb3JhdGlvbjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1zbXtmb250LXNpemU6LjU1cmVtO2xldHRlci1zcGFjaW5nOm5vcm1hbDtsaW5lLWhlaWdodDouOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQt''@;'; put 'put ''c20gLmFsZXJ0LWl0ZW1ze3BhZGRpbmc6LjE1cmVtIC4yNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtc20gLmFsZXJ0LWl0ZW17cGFkZGluZy10b3A6LjA1cmVtO21hcmdpbi1ib3R0b206LjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmFsZXJ0LXNtIC5hbGVydC1pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1zbSAuYWxlcnQtaWNvbi13cmFwcGVye3BhZGRpbmctdG9wOjA7aGVpZ2h0Oi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5hbGVydC1zbSAuYWxlcnQtaWNvbnttYXJnaW4tbGVmdDotLjJyZW07bWFyZ2luLXRvcDotLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LXNtIC5hbGVydC1pdGVtPnNwYW4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVy''@;'; put 'put ''dC1zbSAuYWxlcnQtdGV4dHttYXJnaW4tcmlnaHQ6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LXNtIC5jbG9zZXtwYWRkaW5nLXJpZ2h0OjA7ZmxleDowIDAgMS4ycmVtO2hlaWdodDoxLjJyZW07bGluZS1oZWlnaHQ6MS4ycmVtfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5hbGVydC1zbSAuY2xvc2UgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1zbSAuY2xvc2UgY2xyLWljb257bWFyZ2luLXRvcDotLjI1cmVtO21hcmdpbi1yaWdodDotLjA1cmVtO2hlaWdodDoxcmVtO3dpZHRoOjFy''@;'; put 'put ''ZW07bGluZS1oZWlnaHQ6MS4wNXJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0IC5hbGVydC1pdGVte2ZsZXgtd3JhcDp3cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVy''@;'; put 'put ''dCAuYWxlcnQtdGV4dHttYXJnaW4tcmlnaHQ6MDttYXgtd2lkdGg6OTAlO3dpZHRoOjkwJTtmbGV4LWJhc2lzOjkwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQgLmFsZXJ0LWFjdGlvbnN7ZmxleDoxIDAgMTAwJTtwYWRkaW5nLXRvcDouMTVyZW07cGFkZGluZy1s''@;'; put 'put ''ZWZ0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnRzLXBhZ2Vye21hcmdpbi10b3A6LjE1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAtbGV2ZWwgLmFsZXJ0LWFjdGlvbnN7bWFyZ2luLWxlZnQ6Mi4yNXJlbX19LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWhpZGRlbntkaXNwbGF5Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmFsZXJ0e21hcmdpbjouM3JlbSAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbCAuYWxlcnQr''@;'; put 'put ''Lm1vZGFsLWhlYWRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vZGFsIC5hbGVydCsubW9kYWwtaGVhZGVyLS1hY2Nlc3NpYmxle21hcmdpbi10b3A6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0cy5hbGVydC1pbmZve2JhY2tncm91''@;'; put 'put ''bmQ6IzAwNTY3YTtiYWNrZ3JvdW5kOnZhcigtLWNsci1hcHAtYWxlcnQtaW5mby1wYWdlci1iZy1jb2xvciwgIzAwNTY3YSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0cy5hbGVydC1kYW5nZXJ7YmFja2dyb3VuZDojOTkxNzAwO2JhY2tncm91bmQ6dmFyKC0tY2xy''@;'; put 'put ''LWFwcC1hbGVydC1kYW5nZXItcGFnZXItYmctY29sb3IsICM5OTE3MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydHMuYWxlcnQtd2FybmluZ3tiYWNrZ3JvdW5kOiM4ZjVhMDA7YmFja2dyb3VuZDp2YXIoLS1jbHItYXBwLWFsZXJ0LXdhcm5pbmctcGFnZXItYmct''@;'; put 'put ''Y29sb3IsICM4ZjVhMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydHMuYWxlcnQtc3VjY2Vzc3tiYWNrZ3JvdW5kOiMyNTUyMDA7YmFja2dyb3VuZDp2YXIoLS1jbHItY29sb3Itc3VjY2Vzcy05MDAsICMyNTUyMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5hbGVydHMtcGFnZXJ7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LXBhZ2VyLXRleHQtY29sb3IsIHdoaXRlKTtmb250LXNpemU6LjY1cmVtO2xldHRlci1zcGFjaW5nOm5vcm1hbDtmbG9hdDpsZWZ0O21pbi1oZWlnaHQ6MS44cmVtO3RleHQtYWxpZ246Y2Vu''@;'; put 'put ''dGVyO3dpZHRoOjcuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtaW5mbyAuYWxlcnRzLXBhZ2Vye2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLXBhZ2VyLWZvbnQtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuYWxlcnQtd2FybmluZyAuYWxlcnRzLXBhZ2Vye2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC13YXJuaW5nLXBhZ2VyLWZvbnQtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtZGFuZ2VyIC5hbGVydHMt''@;'; put 'put ''cGFnZXJ7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWRhbmdlci1wYWdlci1mb250LWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0cy1wYWdlcntjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1h''@;'; put 'put ''cHAtYWxlcnQtc3VjY2Vzcy1wYWdlci1mb250LWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0cy1wYWdlci1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTstby1h''@;'; put 'put ''cHBlYXJhbmNlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93Om5vbmU7YmFja2dyb3VuZDpub25lO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1wYWdlci10ZXh0LWNvbG9yLCB3aGl0ZSk7Y3Vyc29yOnBv''@;'; put 'put ''aW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9uLmFsZXJ0cy1wYWdlci1idXR0b257Y3Vyc29yOnBvaW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0cy1wYWdlci1idXR0b24gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5hbGVydHMtcGFnZXItYnV0dG9uIGNsci1pY29ue2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1wYWdlci10ZXh0LWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LWluZm8gLmFsZXJ0cy1wYWdlci1i''@;'; put 'put ''dXR0b24gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1pbmZvIC5hbGVydHMtcGFnZXItYnV0dG9uIGNsci1pY29ue2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1pbmZvLXBhZ2VyLWZvbnQtY29sb3IsIHdoaXRlKX0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnQtd2FybmluZyAuYWxlcnRzLXBhZ2VyLWJ1dHRvbiBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0cy1wYWdlci1idXR0b24gY2xyLWljb257Y29sb3I6I2ZmZjtjb2xv''@;'; put 'put ''cjp2YXIoLS1jbHItYXBwLWFsZXJ0LXdhcm5pbmctcGFnZXItZm9udC1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1kYW5nZXIgLmFsZXJ0cy1wYWdlci1idXR0b24gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5hbGVydC1kYW5nZXIgLmFsZXJ0cy1wYWdlci1idXR0b24gY2xyLWljb257Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYXBwLWFsZXJ0LWRhbmdlci1wYWdlci1mb250LWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0LXN1Y2Nlc3MgLmFs''@;'; put 'put ''ZXJ0cy1wYWdlci1idXR0b24gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1zdWNjZXNzIC5hbGVydHMtcGFnZXItYnV0dG9uIGNsci1pY29ue2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWFwcC1hbGVydC1zdWNjZXNzLXBhZ2VyLWZvbnQtY29s''@;'; put 'put ''b3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYWxlcnRzLXBhZ2VyLWNvbnRyb2x7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6LjNyZW07d2hpdGUtc3BhY2U6bm93cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydHMtcGFnZS1kb3du''@;'; put 'put ''e21hcmdpbi1sZWZ0OjEuMnJlbTt3aWR0aDozMy4zMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmFsZXJ0cy1wYWdlLXVwe21hcmdpbi1yaWdodDoxLjJyZW07d2lkdGg6MzMuMzMlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydHMtcGFnZXItdGV4''@;'; put 'put ''dHt3aWR0aDozMy4zMyV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItY2FyZC1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItY2FyZC1kaXZpZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0zMDApOy0t''@;'; put 'put ''Y2xyLWNhcmQtdGl0bGUtY29sb3I6IHZhcigtLWNsci1oNC1jb2xvcik7LS1jbHItY2FyZC10aXRsZS1mb250LXdlaWdodDogdmFyKC0tY2xyLWg0LWZvbnQtd2VpZ2h0KTstLWNsci1jYXJkLWJvcmRlci13aWR0aDogdmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCk7LS1jbHItY2FyZC1i''@;'; put 'put ''b3JkZXItcmFkaXVzOiB2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cyk7LS1jbHItY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTMwMCk7LS1jbHItY2FyZC1ib3gtc2hhZG93LWNvbG9yOiB2YXIoLS1jbHItY2FyZC1ib3JkZXItY29sb3IpOy0tY2xyLWNh''@;'; put 'put ''cmQtY2xpY2thYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi01MDApOy0tY2xyLWNhcmQtY2xpY2thYmxlLWJveC1zaGFkb3ctY29sb3I6IHZhcigtLWNsci1jYXJkLWNsaWNrYWJsZS1ib3JkZXItY29sb3IpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jYXJke2JveC1zaGFkb3c6MCAuMTVyZW0gI2RlZGVkZTtib3gtc2hhZG93OjAgLjE1cmVtIDAgMCB2YXIoLS1jbHItY2FyZC1ib3gtc2hhZG93LWNvbG9yKTtib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1jYXJkLWJvcmRlci1yYWRpdXMsIC4xNXJlbSk7''@;'; put 'put ''Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItd2lkdGg6dmFyKC0tY2xyLWNhcmQtYm9yZGVyLXdpZHRoLCAuMDVyZW0pO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2RlZGVkZTtib3JkZXItY29sb3I6dmFyKC0tY2xyLWNhcmQtYm9yZGVyLWNvbG9yLCAjZGVkZWRlKX0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC5jbGlja2FibGU6aG92ZXJ7Ym94LXNoYWRvdzowIC4xNXJlbSAjMTc5YmQzO2JveC1zaGFkb3c6MCAuMTVyZW0gMCAwIHZhcigtLWNsci1jYXJkLWNsaWNrYWJsZS1ib3gtc2hhZG93LWNvbG9yKTtib3JkZXItd2lkdGg6LjA1cmVt''@;'; put 'put ''O2JvcmRlci13aWR0aDp2YXIoLS1jbHItY2FyZC1ib3JkZXItd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojMTc5YmQzO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItY2FyZC1jbGlja2FibGUtYm9yZGVyLWNvbG9yLCAjMTc5YmQzKTtjdXJzb3I6cG9pbnRl''@;'; put 'put ''cjt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjFyZW0pO3RyYW5zaXRpb246Ym9yZGVyIC4ycyBlYXNlLHRyYW5zZm9ybSAuMnMgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9jayAuY2FyZC1kaXZpZGVyLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZCAuY2FyZC10aXRsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmNhcmQtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmNhcmQtbWVkaWEtYmxvY2ssIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkIC5saXN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZCAubGlzdC11bnN0eWxlZHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9j''@;'; put 'put ''ayAuY2FyZC1kaXZpZGVyOmxhc3QtY2hpbGQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkIC5jYXJkLXRpdGxlOmxhc3QtY2hpbGQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkIC5jYXJkLXRleHQ6bGFzdC1jaGlsZCwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmNhcmQtbWVkaWEtYmxvY2s6bGFzdC1jaGlsZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmxpc3Q6bGFzdC1jaGlsZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmxpc3QtdW5zdHls''@;'; put 'put ''ZWQ6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQuY2FyZC1pbWc+aW1nLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZD4uY2FyZC1pbWc6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZD5pbWcsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWltZz5pbWd7ZGlzcGxheTpibG9jaztoZWlnaHQ6YXV0bzt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7''@;'; put 'put ''YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWNhcmQtYmctY29sb3IsIHdoaXRlKTt3aWR0aDoxMDAlO21hcmdpbi10b3A6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkIC5idG4tbGlua3ttaW4td2lkdGg6MDtwYWRk''@;'; put 'put ''aW5nOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQuY2xpY2thYmxle2NvbG9yOmluaGVyaXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQ+Lmxpc3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkPi5saXN0LXVuc3R5''@;'; put 'put ''bGVke3BhZGRpbmc6LjZyZW0gLjlyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmxpc3QtZ3JvdXB7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGU6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZCAubGlz''@;'; put 'put ''dC1ncm91cC1pdGVte3BhZGRpbmc6LjZyZW0gLjlyZW07Zm9udC1zaXplOi43cmVtO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1jYXJkLWJnLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDouMDVyZW07Ym9yZGVyLWJvdHRvbS13aWR0''@;'; put 'put ''aDp2YXIoLS1jbHItY2FyZC1ib3JkZXItd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOiNkZWRlZGU7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItY2FyZC1ib3JkZXItY29sb3IsICNkZWRlZGUpfUBzdXBwb3J0cyAoLW1z''@;'; put 'put ''LWltZS1hbGlnbjogYXV0byl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQgLmRyb3Bkb3duPi5kcm9wZG93bi10b2dnbGU6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDotLjZyZW19fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''YXJkLWhlYWRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2ssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWZvb3RlcntwYWRkaW5nOi42cmVtIC45cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWhl''@;'; put 'put ''YWRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtdGl0bGV7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItY2FyZC10aXRsZS1jb2xvciwgYmxhY2spO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXdlaWdodDp2YXIoLS1jbHItY2FyZC10aXRsZS1mb250LXdlaWdodCwg''@;'; put 'put ''MjAwKTtmb250LXNpemU6LjlyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGgxLmNhcmQtaGVhZGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoMS5jYXJkLXRpdGxlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICBoMi5jYXJkLWhlYWRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaDIuY2FyZC10aXRsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaDMuY2FyZC1oZWFkZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGgzLmNhcmQtdGl0''@;'; put 'put ''bGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGg0LmNhcmQtaGVhZGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoNC5jYXJkLXRpdGxlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoNS5jYXJkLWhlYWRlciwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgaDUuY2FyZC10aXRsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaDYuY2FyZC1oZWFkZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGg2LmNhcmQtdGl0bGV7bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jYXJkLXRleHR7Zm9udC1zaXplOi43cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWltZzpmaXJzdC1jaGlsZD5pbWd7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjE1cmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6''@;'; put 'put ''dmFyKC0tY2xyLWNhcmQtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMTVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6dmFyKC0tY2xyLWNhcmQtYm9yZGVyLXJhZGl1cywgLjE1cmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''Y2FyZC1pbWc6bGFzdC1jaGlsZD5pbWd7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjE1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6dmFyKC0tY2xyLWNhcmQtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czou''@;'; put 'put ''MTVyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6dmFyKC0tY2xyLWNhcmQtYm9yZGVyLXJhZGl1cywgLjE1cmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC5jYXJkLWltZz5pbWcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkPi5j''@;'; put 'put ''YXJkLWltZzpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkPmltZ3tib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1jYXJkLWJvcmRlci1yYWRpdXMsIC4xNXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLmJ0biwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLmJ0bi5idG4tbGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLmNhcmQtbGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtZm9vdGVyIC5idG4sIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWZvb3RlciAuYnRuLmJ0bi1saW5rLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1mb290ZXIgLmNhcmQtbGlua3ttYXJnaW46MCAuNnJlbSAwIDB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNhcmQtYmxvY2sgLmJ0bi1ncm91cCAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1mb290ZXIgLmJ0bi1ncm91cCAuYnRue21hcmdpbjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWhlYWRlciwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2t7Ym9yZGVyLWJvdHRvbS13aWR0aDouMDVyZW07Ym9yZGVyLWJvdHRvbS13aWR0aDp2YXIoLS1jbHItY2FyZC1ib3JkZXItd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOiNkZWRl''@;'; put 'put ''ZGU7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItY2FyZC1ib3JkZXItY29sb3IsICNkZWRlZGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWhlYWRlcjpsYXN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9jazps''@;'; put 'put ''YXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1kaXZpZGVye2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLWJvdHRvbS13aWR0aDouMDVyZW07Ym9yZGVyLWJvdHRvbS13aWR0aDp2YXIoLS1jbHItY2FyZC1ib3JkZXItd2lkdGgs''@;'; put 'put ''IC4wNXJlbSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOiNkZWRlZGU7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItY2FyZC1kaXZpZGVyLWNvbG9yLCAjZGVkZWRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9j''@;'; put 'put ''ayAuY2FyZC1kaXZpZGVye21hcmdpbi1sZWZ0Oi0uOXJlbTttYXJnaW4tcmlnaHQ6LS45cmVtO3dpZHRoOmF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtaGVhZGVyKy5jYXJkLWRpdmlkZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJk''@;'; put 'put ''LWJsb2NrKy5jYXJkLWRpdmlkZXJ7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLW1lZGlhLWJsb2Nre2Rpc3BsYXk6ZmxleH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1tZWRpYS1ibG9jayAuY2FyZC1tZWRpYS1pbWFn''@;'; put 'put ''ZXtkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4OjAgMCBhdXRvO2hlaWdodDozcmVtO3dpZHRoOjNyZW07bWF4LWhlaWdodDozcmVtO21heC13aWR0aDozcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLW1lZGlhLWJsb2NrIC5jYXJkLW1lZGlhLWRlc2NyaXB0aW9u''@;'; put 'put ''e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjAgMCAwIC42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLW1lZGlhLWJsb2NrIC5jYXJkLW1lZGlhLXRpdGxle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jYXJkLW1lZGlhLWJsb2NrIHNwYW4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLW1lZGlhLWJsb2NrIC5jYXJkLW1lZGlhLXRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQt''@;'; put 'put ''bWVkaWEtYmxvY2sud3JhcHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtbWVkaWEtYmxvY2sud3JhcCAuY2FyZC1tZWRpYS1kZXNjcmlwdGlvbnttYXJnaW46LjNyZW0gMCAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jYXJkLWJsb2NrPi5saXN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9jaz4ubGlzdC11bnN0eWxlZHtwYWRkaW5nOjB9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''YXJkLWNvbHVtbnN7LW1vei1jb2x1bW4tY291bnQ6Mztjb2x1bW4tY291bnQ6MzstbW96LWNvbHVtbi1nYXA6LjZyZW07Y29sdW1uLWdhcDouNnJlbTtwYWdlLWJyZWFrLWluc2lkZTphdm9pZDstbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7YnJlYWstaW5zaWRlOmF2b2lkOy1tb3ot''@;'; put 'put ''Y29sdW1uLWZpbGw6YmFsYW5jZTtjb2x1bW4tZmlsbDpiYWxhbmNlOy13ZWJraXQtcGVyc3BlY3RpdmU6MX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1jb2x1bW5zLmNhcmQtY29sdW1ucy0yey1tb3otY29sdW1uLWNvdW50OjI7Y29sdW1uLWNvdW50OjJ9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtY29sdW1ucy5jYXJkLWNvbHVtbnMtNHstbW96LWNvbHVtbi1jb3VudDo0O2NvbHVtbi1jb3VudDo0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWNvbHVtbnMgLmNhcmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7''@;'; put 'put ''bWFyZ2luOi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWNvbHVtbnMgLmNsaWNrYWJsZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufX1Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8p''@;'; put 'put ''ey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkIC5jaGVja2JveC5idG4gbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkIC5jaGVja2JveC1pbmxpbmUuYnRuIGxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2Fy''@;'; put 'put ''ZCAucmFkaW8uYnRuIGxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZCAucmFkaW8taW5saW5lLmJ0biBsYWJlbHtkaXNwbGF5OmlubGluZS1ibG9ja319LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItZHJvcGRvd24t''@;'; put 'put ''YWN0aXZlLXRleHQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTEwMDApOy0tY2xyLWRyb3Bkb3duLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1kcm9wZG93bi1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHIt''@;'; put 'put ''ZHJvcGRvd24tZGl2aWRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMjAwKTstLWNsci1kcm9wZG93bi1kaXZpZGVyLWJvcmRlci13aWR0aDogdmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCk7LS1jbHItZHJvcGRvd24tY2hpbGQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHIt''@;'; put 'put ''Y29sb3ItbmV1dHJhbC01MDApOy0tY2xyLWRyb3Bkb3duLWJnLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWhvdmVyLWNvbG9yKTstLWNsci1kcm9wZG93bi1zZWxlY3Rpb24tY29sb3I6IHZhcigtLWNsci1nbG9iYWwtc2VsZWN0aW9uLWNvbG9yKTstLWNsci1kcm9wZG93bi1ib3gt''@;'; put 'put ''c2hhZG93OiB2YXIoLS1jbHItcG9wb3Zlci1ib3gtc2hhZG93LWNvbG9yKTstLWNsci1kcm9wZG93bi10ZXh0LWNvbG9yOiB2YXIoLS1jbHItcDEtY29sb3IpOy0tY2xyLWRyb3Bkb3duLWhlYWRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtOTAwKTstLWNsci1kcm9wZG93bi1o''@;'; put 'put ''ZWFkZXItZm9udC13ZWlnaHQ6IDYwMDstLWNsci1kcm9wZG93bi1pdGVtLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLWRyb3Bkb3duLWl0ZW0tZm9udC13ZWlnaHQ6IHZhcigtLWNsci1wMS1mb250LXdlaWdodCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zZWNvbmRhcnksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4taW5mbywgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtcHJpbWFyeSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUg''@;'; put 'put ''LmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXdhcm5pbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXIsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWRhbmdlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRy''@;'; put 'put ''b3Bkb3duLW1lbnUgLmJ0bi1wcmltYXJ5LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXdhcm5pbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tc3VjY2VzcywgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1saW5rLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3du''@;'; put 'put ''LWhlYWRlcntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3due3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjA7d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpwb2ludGVyfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIGNsci1pY29uW3NoYXBlXj1jYXJldF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIGNsci1pY29uW3NoYXBlXj1hbmdsZV17''@;'; put 'put ''cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6aW5oZXJpdDtoZWlnaHQ6LjVyZW07d2lkdGg6LjVyZW07bWluLWhlaWdodDouNXJlbTttaW4td2lkdGg6LjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUgY2RzLWljb25bc2hhcGVe''@;'; put 'put ''PWNhcmV0XSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUgY2RzLWljb25bc2hhcGVePWFuZ2xlXXttYXJnaW4tdG9wOjA7bWFyZ2luLXRvcDppbml0aWFsO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOmluaGVyaXQ7aGVpZ2h0Oi41''@;'; put 'put ''cmVtO3dpZHRoOi41cmVtOy0tY2RzLWdsb2JhbC1zcGFjZS03OiAuNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZS5idG57cGFkZGluZy1yaWdodDoxLjJyZW07dGV4dC1vdmVyZmxvdzppbml0aWFsfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLmJ0biBjbHItaWNvbnt0cmFuc2Zvcm06bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZS5idG4gY2RzLWljb25bc2hhcGVePWNhcmV0XSwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUuYnRuIGNsci1pY29uW3NoYXBlXj1jYXJldF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLmJ0biBjZHMtaWNvbltzaGFwZV49''@;'; put 'put ''YW5nbGVdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZS5idG4gY2xyLWljb25bc2hhcGVePWFuZ2xlXXtyaWdodDouNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2ds''@;'; put 'put ''ZTpub3QoLmJ0bil7cGFkZGluZzowIC42cmVtIDAgMDtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1kcm9wZG93bi1hY3RpdmUtdGV4dC1jb2xvciwgYmxhY2spfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlOm5vdCguYnRuKSBj''@;'; put 'put ''ZHMtaWNvbltzaGFwZV49Y2FyZXRdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZTpub3QoLmJ0bikgY2xyLWljb25bc2hhcGVePWNhcmV0XSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duIC5kcm9w''@;'; put 'put ''ZG93bi10b2dnbGU6bm90KC5idG4pIGNkcy1pY29uW3NoYXBlXj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlOm5vdCguYnRuKSBjbHItaWNvbltzaGFwZV49YW5nbGVde3JpZ2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duIGJ1dHRvbi5kcm9wZG93bi10b2dnbGU6bm90KC5idG4pe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItZHJvcGRvd24tYWN0aXZlLXRleHQtY29sb3IsIGJs''@;'; put 'put ''YWNrKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudT4qe2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpj''@;'; put 'put ''b2x1bW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO21pbi13aWR0aDo2cmVtO21heC13aWR0aDoxOHJlbTtiYWNrZ3JvdW5kOndoaXRlO2JhY2tncm91bmQ6dmFyKC0tY2xyLWRyb3Bkb3duLWJnLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItd2lk''@;'; put 'put ''dGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1kcm9wZG93bi1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRp''@;'; put 'put ''dXM6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gIzhjOGM4YzQwO2JveC1zaGFkb3c6MCAuMDVyZW0gLjE1cmVtIHZhcigtLWNsci1kcm9wZG93bi1ib3gtc2hhZG93LCByZ2JhKDE0MCwgMTQwLCAxNDAsIC4yNSkpO21h''@;'; put 'put ''cmdpbi10b3A6LjFyZW07cGFkZGluZzouNnJlbSAwO3Zpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MTA1MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taGVhZGVye2NvbG9yOiMzMzM7Y29sb3I6dmFyKC0tY2xyLWRyb3Bkb3duLWhl''@;'; put 'put ''YWRlci1jb2xvciwgIzMzMzMzMyk7Zm9udC1zaXplOi42cmVtO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXdlaWdodDp2YXIoLS1jbHItZHJvcGRvd24taGVhZGVyLWZvbnQtd2VpZ2h0LCA2MDApO2xldHRlci1zcGFjaW5nOm5vcm1hbDtwYWRkaW5nOjAgLjZyZW07bGluZS1oZWlnaHQ6LjlyZW07''@;'; put 'put ''bWFyZ2luOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zZWNvbmRhcnksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9w''@;'; put 'put ''ZG93bi1tZW51IC5idG4taW5mbywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtcHJpbWFyeSwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXdhcm5pbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''cm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWRhbmdlciwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1wcmltYXJ5LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXdhcm5pbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93''@;'; put 'put ''bi1tZW51IC5idG4tc3VjY2VzcywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1saW5rLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbXtjb2xvcjojNjY2O2NvbG9yOnZhcigt''@;'; put 'put ''LWNsci1kcm9wZG93bi1pdGVtLWNvbG9yLCAjNjY2NjY2KTtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1kcm9wZG93bi1pdGVtLWZvbnQtd2VpZ2h0LCA0MDApO2xldHRlci1zcGFjaW5nOm5vcm1hbDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50''@;'; put 'put ''O2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmF1dG87bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MDt3aWR0aDoxMDAlO3RleHQtdHJhbnNmb3JtOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bjpo''@;'; put 'put ''b3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zZWNvbmRhcnk6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4taW5mbzpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1l''@;'; put 'put ''bnUgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0''@;'; put 'put ''bGluZS1kYW5nZXI6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWRhbmdlcjpob3ZlciwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1wcmltYXJ5OmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXdhcm5pbmc6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5kcm9wZG93bi1tZW51IC5idG4tc3VjY2Vzczpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1saW5rOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpo''@;'; put 'put ''b3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZHJvcGRvd24tYmctaG92ZXItY29sb3IsICNlOGU4ZTgpO2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLWRyb3Bkb3duLWl0ZW0tY29sb3IsICM2NjY2NjYpO3RleHQtZGVjb3JhdGlvbjpu''@;'; put 'put ''b25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4uYWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXNlY29uZGFyeS5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5kcm9wZG93bi1tZW51IC5idG4taW5mby5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGlu''@;'; put 'put ''ZS1wcmltYXJ5LmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS13YXJuaW5n''@;'; put 'put ''LmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1kYW5nZXIuYWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXByaW1hcnkuYWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuZHJvcGRvd24tbWVudSAuYnRuLXdhcm5pbmcuYWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXN1Y2Nlc3MuYWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWxpbmsu''@;'; put 'put ''YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbS5hY3RpdmV7YmFja2dyb3VuZDojZDhlM2U5O2JhY2tncm91bmQ6dmFyKC0tY2xyLWRyb3Bkb3duLXNlbGVjdGlvbi1jb2xvciwgI2Q4ZTNlOSk7Y29sb3I6IzAwMDtj''@;'; put 'put ''b2xvcjp2YXIoLS1jbHItZHJvcGRvd24tYWN0aXZlLXRleHQtY29sb3IsIGJsYWNrKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1z''@;'; put 'put ''ZWNvbmRhcnk6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWluZm86YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmU6YWN0aXZlLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tZGFuZ2VyOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1w''@;'; put 'put ''cmltYXJ5OmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zdWNjZXNzOmFjdGl2ZSwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1saW5rOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06YWN0aXZle2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXNlY29uZGFyeTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1pbmZvOmZv''@;'; put 'put ''Y3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmU6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93''@;'; put 'put ''bi1tZW51IC5idG4tZGFuZ2VyOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXByaW1hcnk6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4td2FybmluZzpmb2N1cywgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zdWNjZXNzOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWxpbms6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''cm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOmZvY3Vze3otaW5kZXg6aW5oZXJpdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRu''@;'; put 'put ''OmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4taW5mby5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1pbmZvOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJv''@;'; put 'put ''cGRvd24tbWVudSAuYnRuLW91dGxpbmUuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5l''@;'; put 'put ''LXByaW1hcnkuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc2Vjb25k''@;'; put 'put ''YXJ5LmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtd2FybmluZy5k''@;'; put 'put ''aXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tZGFuZ2VyOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXByaW1hcnkuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51''@;'; put 'put ''IC5idG4tcHJpbWFyeTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi13YXJuaW5nLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zdWNjZXNzOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWxpbmsuZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tbGluazpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRy''@;'; put 'put ''b3Bkb3duLWl0ZW0uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0''@;'; put 'put ''Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuOmRpc2FibGVkOmhvdmVyLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1pbmZvOmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUuZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZTpkaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bk''@;'; put 'put ''b3duLW1lbnUgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRy''@;'; put 'put ''b3Bkb3duLW1lbnUgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51''@;'; put 'put ''IC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWxpbmsu''@;'; put 'put ''ZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tbGluazpkaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQ6aG92''@;'; put 'put ''ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLmRpc2FibGVkOmFjdGl2''@;'; put 'put ''ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bjpkaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWluZm8uZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWluZm86ZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUuZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmU6ZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''cm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZDphY3RpdmUsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWRhbmdlcjpkaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tcHJpbWFyeS5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tcHJpbWFyeTpkaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4td2FybmluZy5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4td2FybmluZzpkaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tc3VjY2Vzcy5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''cm9wZG93bi1tZW51IC5idG4tc3VjY2VzczpkaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tbGluay5kaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51''@;'; put 'put ''IC5idG4tbGluazpkaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtLmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3du''@;'; put 'put ''LWl0ZW06ZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQ6bm9uZTtib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi5leHBhbmRhYmxlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVu''@;'; put 'put ''dSAuYnRuLXNlY29uZGFyeS5leHBhbmRhYmxlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWluZm8uZXhwYW5kYWJsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLmV4cGFu''@;'; put 'put ''ZGFibGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1wcmltYXJ5LmV4cGFuZGFibGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZXhwYW5k''@;'; put 'put ''YWJsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZXhwYW5kYWJsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLWRhbmdlci5leHBhbmRhYmxl''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5leHBhbmRhYmxlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWRhbmdlci5leHBhbmRhYmxlLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXByaW1hcnkuZXhwYW5kYWJsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi13YXJuaW5nLmV4cGFuZGFibGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5kcm9wZG93bi1tZW51IC5idG4tc3VjY2Vzcy5leHBhbmRhYmxlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWxpbmsuZXhwYW5kYWJsZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRy''@;'; put 'put ''b3Bkb3duLWl0ZW0uZXhwYW5kYWJsZXttYXJnaW4tcmlnaHQ6MS4ycmVtO3BhZGRpbmctcmlnaHQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi5leHBhbmRhYmxlOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1zZWNvbmRhcnkuZXhwYW5kYWJsZTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4taW5mby5leHBhbmRhYmxlOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRy''@;'; put 'put ''b3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLmV4cGFuZGFibGU6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLW91dGxpbmUtcHJpbWFyeS5leHBhbmRhYmxlOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5leHBhbmRhYmxlOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZXhwYW5kYWJsZTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1kYW5nZXIuZXhwYW5kYWJsZTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tb3V0bGluZS1zdWNjZXNzLmV4cGFuZGFibGU6YmVmb3JlLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLWRhbmdlci5leHBhbmRhYmxlOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1wcmltYXJ5LmV4cGFuZGFibGU6YmVmb3JlLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLXdhcm5pbmcuZXhwYW5kYWJsZTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi1tZW51IC5idG4tc3VjY2Vzcy5leHBhbmRhYmxlOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0bi1saW5rLmV4cGFuZGFibGU6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbS5leHBhbmRhYmxlOmJlZm9yZXtjb250ZW50OiIiO2Zsb2F0OnJpZ2h0O2hlaWdo''@;'; put 'put ''dDouNnJlbTt3aWR0aDouNnJlbTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdC''@;'; put 'put ''b3glM0QlMjIwJTIwMCUyMDEyJTIwMTIlMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDc3R5bGUlM0UuY2xzLTElN0JmaWxsJTNBJTIzOWE5YTlhJTNCJTdEJTNDJTJGc3R5bGUlM0UlMEElMjAlMjAlMjAlMjAlM0MlMkZkZWZzJTNF''@;'; put 'put ''JTBBJTIwJTIwJTIwJTIwJTNDdGl0bGUlM0VDYXJldCUzQyUyRnRpdGxlJTNFJTBBJTIwJTIwJTIwJTIwJTNDcGF0aCUyMGNsYXNzJTNEJTIyY2xzLTElMjIlMjBkJTNEJTIyTTYlMkM5TDEuMiUyQzQuMmEwLjY4JTJDMC42OCUyQzAlMkMwJTJDMSUyQzEtMUw2JTJDNy4wOCUyQzkuODQlMkMz''@;'; put 'put ''LjI0YTAuNjglMkMwLjY4JTJDMCUyQzElMkMxJTJDMSUyQzFaJTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi10b3A6LjNyZW19LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmJ0biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW17cGFkZGluZzouMTVyZW0gMS4ycmVtfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4''@;'; put 'put ''KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuYnRuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbXtwYWRkaW5nOi4zcmVtIDEuMnJlbX19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWRpdmlkZXJ7Zm9udC1zaXplOi42cmVtO2JvcmRlci1ib3R0b20td2lkdGg6LjA1cmVtO2JvcmRlci1ib3R0b20td2lkdGg6dmFyKC0tY2xyLWRyb3Bkb3duLWRpdmlkZXItYm9yZGVyLXdpZHRoLCAuMDVyZW0pO2JvcmRlci1ib3R0''@;'; put 'put ''b20tc3R5bGU6c29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZThlOGU4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWRyb3Bkb3duLWRpdmlkZXItY29sb3IsICNlOGU4ZTgpO21hcmdpbjouM3JlbSAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAt''@;'; put 'put ''b3ZlcmZsb3cub3Blbj4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC1vdmVyZmxvdy5vcGVuPi5kcm9wZG93bi1tZW51LXdyYXBwZXI+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJz''@;'; put 'put ''LW92ZXJmbG93Lm9wZW4+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93Lm9wZW4+LmRyb3Bkb3duLW1lbnUtd3JhcHBlcj4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3du''@;'; put 'put ''Lm9wZW4+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi5vcGVuPi5kcm9wZG93bi1tZW51LXdyYXBwZXI+LmRyb3Bkb3duLW1lbnV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4t''@;'; put 'put ''Z3JvdXAtb3ZlcmZsb3cuYm90dG9tLWxlZnQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cuYm90dG9tLXJpZ2h0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1v''@;'; put 'put ''dmVyZmxvdy5ib3R0b20tbGVmdD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3cuYm90dG9tLXJpZ2h0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24uYm90dG9tLWxl''@;'; put 'put ''ZnQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi5ib3R0b20tcmlnaHQ+LmRyb3Bkb3duLW1lbnV7dG9wOjEwMCU7Ym90dG9tOmF1dG87bWFyZ2luOi4xcmVtIDAgMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRu''@;'; put 'put ''LWdyb3VwLW92ZXJmbG93LmJvdHRvbS1sZWZ0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1vdmVyZmxvdy5ib3R0b20tbGVmdD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLmJv''@;'; put 'put ''dHRvbS1sZWZ0Pi5kcm9wZG93bi1tZW51e2xlZnQ6MDtyaWdodDphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cuYm90dG9tLXJpZ2h0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1v''@;'; put 'put ''dmVyZmxvdy5ib3R0b20tcmlnaHQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi5ib3R0b20tcmlnaHQ+LmRyb3Bkb3duLW1lbnV7cmlnaHQ6MDtsZWZ0OmF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1n''@;'; put 'put ''cm91cC1vdmVyZmxvdy50b3AtbGVmdD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC1vdmVyZmxvdy50b3AtcmlnaHQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93''@;'; put 'put ''LnRvcC1sZWZ0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1vdmVyZmxvdy50b3AtcmlnaHQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi50b3AtbGVmdD4uZHJvcGRvd24tbWVu''@;'; put 'put ''dSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLnRvcC1yaWdodD4uZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJTttYXJnaW46MCAwIC4xcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cudG9w''@;'; put 'put ''LWxlZnQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93LnRvcC1sZWZ0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24udG9wLWxlZnQ+LmRyb3Bkb3duLW1lbnV7bGVm''@;'; put 'put ''dDowO3JpZ2h0OmF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC1vdmVyZmxvdy50b3AtcmlnaHQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93LnRvcC1yaWdodD4uZHJvcGRvd24tbWVu''@;'; put 'put ''dSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLnRvcC1yaWdodD4uZHJvcGRvd24tbWVudXtyaWdodDowO2xlZnQ6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLW92ZXJmbG93LmxlZnQtdG9wPi5kcm9wZG93bi1tZW51''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLW92ZXJmbG93LmxlZnQtYm90dG9tPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1vdmVyZmxvdy5sZWZ0LXRvcD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3cubGVmdC1ib3R0b20+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93bi5sZWZ0LXRvcD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmRyb3Bkb3duLmxlZnQtYm90dG9tPi5kcm9wZG93bi1tZW51e3JpZ2h0OjEwMCU7bGVmdDphdXRvO21hcmdpbjowIC4xcmVtIDAgMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLW92ZXJmbG93LmxlZnQtYm90dG9tPi5kcm9wZG93bi1tZW51LCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1vdmVyZmxvdy5sZWZ0LWJvdHRvbT4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLmxlZnQtYm90dG9tPi5kcm9wZG93bi1tZW51e3RvcDowO2JvdHRvbTphdXRvfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cubGVmdC10b3A+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93LmxlZnQtdG9wPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuZHJvcGRvd24ubGVmdC10b3A+LmRyb3Bkb3duLW1lbnV7Ym90dG9tOjA7dG9wOmF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC1vdmVyZmxvdy5yaWdodC10b3A+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cucmlnaHQtYm90dG9tPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1vdmVyZmxvdy5yaWdodC10b3A+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC50YWJzLW92ZXJmbG93LnJpZ2h0LWJvdHRvbT4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLnJpZ2h0LXRvcD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLnJpZ2h0''@;'; put 'put ''LWJvdHRvbT4uZHJvcGRvd24tbWVudXtsZWZ0OjEwMCU7cmlnaHQ6YXV0bzttYXJnaW46MCAwIDAgLjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC1vdmVyZmxvdy5yaWdodC1ib3R0b20+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93LnJpZ2h0LWJvdHRvbT4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duLnJpZ2h0LWJvdHRvbT4uZHJvcGRvd24tbWVudXt0b3A6MDtib3R0b206YXV0b30uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLW92ZXJmbG93LnJpZ2h0LXRvcD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3cucmlnaHQtdG9wPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuZHJvcGRvd24ucmlnaHQtdG9wPi5kcm9wZG93bi1tZW51e2JvdHRvbTowO3RvcDphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAudGFicy1vdmVyZmxvdyAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcm9wZG93biAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7Ym9yZGVyLWNvbG9yOiNiM2IzYjM7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1kcm9wZG93bi1j''@;'; put 'put ''aGlsZC1ib3JkZXItY29sb3IsICNiM2IzYjMpO3Bvc2l0aW9uOmFic29sdXRlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cgLmRyb3Bkb3duLmxlZnQtdG9wPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuYnRuLWdyb3VwLW92ZXJmbG93IC5kcm9wZG93bi5sZWZ0LXRvcD4uZHJvcGRvd24tbWVudS13cmFwcGVyPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1vdmVyZmxvdyAuZHJvcGRvd24ubGVmdC10b3A+LmRyb3Bkb3duLW1lbnUsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93IC5kcm9wZG93bi5sZWZ0LXRvcD4uZHJvcGRvd24tbWVudS13cmFwcGVyPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLmxlZnQtdG9w''@;'; put 'put ''Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLmxlZnQtdG9wPi5kcm9wZG93bi1tZW51LXdyYXBwZXI+LmRyb3Bkb3duLW1lbnV7dG9wOjA7Ym90dG9tOmF1dG87bGVmdDphdXRvO3JpZ2h0OjEwMCU7bWFyZ2luLXRv''@;'; put 'put ''cDotLjk1cmVtO21hcmdpbi1yaWdodDotLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC1vdmVyZmxvdyAuZHJvcGRvd24ucmlnaHQtdG9wPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLW92''@;'; put 'put ''ZXJmbG93IC5kcm9wZG93bi5yaWdodC10b3A+LmRyb3Bkb3duLW1lbnUtd3JhcHBlcj4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3cgLmRyb3Bkb3duLnJpZ2h0LXRvcD4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3cgLmRyb3Bkb3duLnJpZ2h0LXRvcD4uZHJvcGRvd24tbWVudS13cmFwcGVyPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLnJpZ2h0LXRvcD4uZHJvcGRvd24t''@;'; put 'put ''bWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duIC5kcm9wZG93bi5yaWdodC10b3A+LmRyb3Bkb3duLW1lbnUtd3JhcHBlcj4uZHJvcGRvd24tbWVudXt0b3A6MDtib3R0b206YXV0bztsZWZ0OjEwMCU7cmlnaHQ6YXV0bzttYXJnaW4tdG9wOi0uOTVyZW07''@;'; put 'put ''bWFyZ2luLWxlZnQ6LS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tZ3JvdXAtb3ZlcmZsb3cgLmRyb3Bkb3duLmxlZnQtYm90dG9tPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLW92ZXJmbG93IC5k''@;'; put 'put ''cm9wZG93bi5sZWZ0LWJvdHRvbT4uZHJvcGRvd24tbWVudS13cmFwcGVyPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy1vdmVyZmxvdyAuZHJvcGRvd24ubGVmdC1ib3R0b20+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC50YWJzLW92ZXJmbG93IC5kcm9wZG93bi5sZWZ0LWJvdHRvbT4uZHJvcGRvd24tbWVudS13cmFwcGVyPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLmxlZnQtYm90dG9tPi5kcm9wZG93bi1t''@;'; put 'put ''ZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLmxlZnQtYm90dG9tPi5kcm9wZG93bi1tZW51LXdyYXBwZXI+LmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjEwMCU7bWFyZ2luLWJvdHRvbTotLjk1''@;'; put 'put ''cmVtO21hcmdpbi1yaWdodDotLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJ0bi1ncm91cC1vdmVyZmxvdyAuZHJvcGRvd24ucmlnaHQtYm90dG9tPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYnRuLWdyb3VwLW92ZXJm''@;'; put 'put ''bG93IC5kcm9wZG93bi5yaWdodC1ib3R0b20+LmRyb3Bkb3duLW1lbnUtd3JhcHBlcj4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3cgLmRyb3Bkb3duLnJpZ2h0LWJvdHRvbT4uZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3cgLmRyb3Bkb3duLnJpZ2h0LWJvdHRvbT4uZHJvcGRvd24tbWVudS13cmFwcGVyPi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcGRvd24gLmRyb3Bkb3duLnJpZ2h0LWJvdHRvbT4u''@;'; put 'put ''ZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3Bkb3duIC5kcm9wZG93bi5yaWdodC1ib3R0b20+LmRyb3Bkb3duLW1lbnUtd3JhcHBlcj4uZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MDtsZWZ0OjEwMCU7cmlnaHQ6YXV0bzttYXJnaW4t''@;'; put 'put ''Ym90dG9tOi0uOTVyZW07bWFyZ2luLWxlZnQ6LS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xyLWJhZGdlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTYwMCk7LS1jbHItYmFkZ2UtY29sb3I6IHZhcigtLWNs''@;'; put 'put ''ci1jb2xvci1vbi1uZXV0cmFsLTYwMCk7LS1jbHItYmFkZ2UtaW5mby1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi04MDApOy0tY2xyLWJhZGdlLWluZm8tY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWJhZGdlLXN1Y2Nlc3MtYmctY29sb3I6IHZhcigt''@;'; put 'put ''LWNsci1jb2xvci1zdWNjZXNzLTgwMCk7LS1jbHItYmFkZ2Utc3VjY2Vzcy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYmFkZ2Utd2FybmluZy1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXdhcm5pbmctMTAwMCk7LS1jbHItYmFkZ2Utd2FybmluZy1jb2xvcjog''@;'; put 'put ''dmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYmFkZ2UtZGFuZ2VyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTkwMCk7LS1jbHItYmFkZ2UtZGFuZ2VyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1iYWRnZS1ncmF5LWJnLWNvbG9yOiB2''@;'; put 'put ''YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDApOy0tY2xyLWJhZGdlLWdyYXktY29sb3I6IHZhcigtLWNsci1iYWRnZS1mb250LWNvbG9yLWxpZ2h0KTstLWNsci1iYWRnZS1wdXJwbGUtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTUwMCk7LS1jbHItYmFkZ2Ut''@;'; put 'put ''cHVycGxlLWNvbG9yOiB2YXIoLS1jbHItYmFkZ2UtZm9udC1jb2xvci1saWdodCk7LS1jbHItYmFkZ2UtYmx1ZS1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi04MDApOy0tY2xyLWJhZGdlLWJsdWUtY29sb3I6IHZhcigtLWNsci1iYWRnZS1mb250LWNvbG9yLWxpZ2h0KTstLWNs''@;'; put 'put ''ci1iYWRnZS1vcmFuZ2UtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci13YXJuaW5nLTEwMDApOy0tY2xyLWJhZGdlLW9yYW5nZS1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYmFkZ2UtbGlnaHQtYmx1ZS1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi01''@;'; put 'put ''MDApOy0tY2xyLWJhZGdlLWxpZ2h0LWJsdWUtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTthbGlnbi1pdGVtczpjZW50ZXI7anVz''@;'; put 'put ''dGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6Ljc1cmVtO2JhY2tncm91bmQ6IzhjOGM4YztoZWlnaHQ6Ljc1cmVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtib3JkZXItcmFkaXVzOi41cmVtO2ZvbnQtc2l6ZTouNXJlbTtwYWRkaW5nOjAgLjJyZW07bWFyZ2luLXJpZ2h0Oi4zcmVtO3doaXRl''@;'; put 'put ''LXNwYWNlOm5vd3JhcDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1iYWRnZS1mb250LWNvbG9yLWxpZ2h0LCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJhZGdlOnZpc2l0ZWR7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHIt''@;'; put 'put ''YmFkZ2UtZm9udC1jb2xvci1saWdodCwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS1ncmF5LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYmFkZ2UuYmFkZ2UtMXtiYWNrZ3JvdW5kOiM4YzhjOGM7YmFja2dyb3VuZDp2YXIo''@;'; put 'put ''LS1jbHItYmFkZ2UtZ3JheS1iZy1jb2xvciwgIzhjOGM4Yyk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYmFkZ2UtZ3JheS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS1wdXJwbGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5iYWRnZS5iYWRnZS0ye2JhY2tncm91bmQ6IzllNTdiYztiYWNrZ3JvdW5kOnZhcigtLWNsci1iYWRnZS1wdXJwbGUtYmctY29sb3IsICM5ZTU3YmMpO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJhZGdlLXB1cnBsZS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS1ibHVlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYmFkZ2UuYmFkZ2UtM3tiYWNrZ3JvdW5kOiMwMDU2N2E7YmFja2dyb3VuZDp2YXIoLS1jbHItYmFkZ2UtYmx1ZS1iZy1jb2xvciwgIzAwNTY3YSk7Y29sb3I6I2Zm''@;'; put 'put ''Zjtjb2xvcjp2YXIoLS1jbHItYmFkZ2UtYmx1ZS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS1vcmFuZ2UsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS00e2JhY2tncm91bmQ6IzYxMzIwMDti''@;'; put 'put ''YWNrZ3JvdW5kOnZhcigtLWNsci1iYWRnZS1vcmFuZ2UtYmctY29sb3IsICM2MTMyMDApO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJhZGdlLW9yYW5nZS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS1saWdodC1ibHVlLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYmFkZ2UuYmFkZ2UtNXtiYWNrZ3JvdW5kOiMxNzliZDM7YmFja2dyb3VuZDp2YXIoLS1jbHItYmFkZ2UtbGlnaHQtYmx1ZS1iZy1jb2xvciwgIzE3OWJkMyk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYmFkZ2UtbGlnaHQtYmx1''@;'; put 'put ''ZS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS1pbmZve2JhY2tncm91bmQ6IzAwNTY3YTtiYWNrZ3JvdW5kOnZhcigtLWNsci1iYWRnZS1pbmZvLWJnLWNvbG9yLCAjMDA1NjdhKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1i''@;'; put 'put ''YWRnZS1pbmZvLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmJhZGdlLmJhZGdlLXN1Y2Nlc3N7YmFja2dyb3VuZDojMzA2YjAwO2JhY2tncm91bmQ6dmFyKC0tY2xyLWJhZGdlLXN1Y2Nlc3MtYmctY29sb3IsICMzMDZiMDApO2NvbG9yOiNmZmY7Y29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLWJhZGdlLXN1Y2Nlc3MtY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuYmFkZ2UuYmFkZ2UtZGFuZ2Vye2JhY2tncm91bmQ6Izk5MTcwMDtiYWNrZ3JvdW5kOnZhcigtLWNsci1iYWRnZS1kYW5nZXItYmctY29sb3IsICM5OTE3MDAp''@;'; put 'put ''O2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJhZGdlLWRhbmdlci1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZS5iYWRnZS13YXJuaW5ne2JhY2tncm91bmQ6IzYxMzIwMDtiYWNrZ3JvdW5kOnZhcigtLWNsci1iYWRnZS13YXJuaW5nLWJn''@;'; put 'put ''LWNvbG9yLCAjNjEzMjAwKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1iYWRnZS13YXJuaW5nLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgXzotbXMtaW5wdXQtcGxhY2Vob2xkZXIgLmJhZGdlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuc2FzanMtcm9vdCAuYmFkZ2V7cGFkZGluZzouMXJlbSAuMTVyZW0gMH1Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5iYWRnZXtwYWRkaW5nOi4xcmVtIC4xNXJlbSAwfX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuc2FzanMtcm9vdHstLWNsci1sYWJlbC1mb250LWNvbG9yLWxpZ2h0OiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1sYWJlbC1mb250LWNvbG9yLWRhcms6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTEwMDApOy0tY2xyLWxhYmVsLWRlZmF1bHQtYm9y''@;'; put 'put ''ZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDApOy0tY2xyLWxhYmVsLWZvbnQtc2l6ZTogLjU1cmVtOy0tY2xyLWxhYmVsLWZvbnQtd2VpZ2h0OiA0MDA7LS1jbHItbGFiZWwtbGV0dGVyLXNwYWNpbmc6IC4wM2VtOy0tY2xyLWxhYmVsLWJvcmRlci1yYWRpdXM6IC42cmVt''@;'; put 'put ''Oy0tY2xyLWxhYmVsLWJnLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0yMDApOy0tY2xyLWxhYmVsLWdyYXktYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTYwMCk7LS1jbHItbGFiZWwtZ3JheS1jb2xvcjogdmFyKC0tY2xyLWxhYmVsLWZvbnQtY29sb3It''@;'; put 'put ''bGlnaHQpOy0tY2xyLWxhYmVsLXB1cnBsZS1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXNlY29uZGFyeS1hY3Rpb24tNTAwKTstLWNsci1sYWJlbC1wdXJwbGUtY29sb3I6IHZhcigtLWNsci1sYWJlbC1mb250LWNvbG9yLWxpZ2h0KTstLWNsci1sYWJlbC1ibHVlLWJnLWNvbG9yOiB2YXIo''@;'; put 'put ''LS1jbHItY29sb3ItYWN0aW9uLTgwMCk7LS1jbHItbGFiZWwtYmx1ZS1jb2xvcjogdmFyKC0tY2xyLWxhYmVsLWZvbnQtY29sb3ItbGlnaHQpOy0tY2xyLWxhYmVsLW9yYW5nZS1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLXdhcm5pbmctMTAwMCk7LS1jbHItbGFiZWwtb3JhbmdlLWNvbG9y''@;'; put 'put ''OiB2YXIoLS1jbHItbGFiZWwtZm9udC1jb2xvci1kYXJrKTstLWNsci1sYWJlbC1saWdodC1ibHVlLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTUwMCk7LS1jbHItbGFiZWwtbGlnaHQtYmx1ZS1jb2xvcjogdmFyKC0tY2xyLWxhYmVsLWZvbnQtY29sb3ItZGFyayk7LS1jbHIt''@;'; put 'put ''bGFiZWwtaW5mby1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi01MCk7LS1jbHItbGFiZWwtaW5mby1mb250LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTgwMCk7LS1jbHItbGFiZWwtaW5mby1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tODAwKTst''@;'; put 'put ''LWNsci1sYWJlbC1zdWNjZXNzLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3Itc3VjY2Vzcy01MCk7LS1jbHItbGFiZWwtc3VjY2Vzcy1mb250LWNvbG9yOiB2YXIoLS1jbHItY29sb3Itc3VjY2Vzcy04MDApOy0tY2xyLWxhYmVsLXN1Y2Nlc3MtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29s''@;'; put 'put ''b3Itc3VjY2Vzcy04MDApOy0tY2xyLWxhYmVsLXdhcm5pbmctYmctY29sb3I6IHZhcigtLWNsci1jb2xvci13YXJuaW5nLTEwMCk7LS1jbHItbGFiZWwtd2FybmluZy1mb250LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC05MDApOy0tY2xyLWxhYmVsLXdhcm5pbmctYm9yZGVyLWNv''@;'; put 'put ''bG9yOiB2YXIoLS1jbHItY29sb3Itd2FybmluZy04MDApOy0tY2xyLWxhYmVsLWRhbmdlci1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci0xMDApOy0tY2xyLWxhYmVsLWRhbmdlci1mb250LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTkwMCk7LS1jbHItbGFiZWwtZGFu''@;'; put 'put ''Z2VyLWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci05MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbHtmb250LXNpemU6LjU1cmVtO2ZvbnQtc2l6ZTp2YXIoLS1jbHIt''@;'; put 'put ''bGFiZWwtZm9udC1zaXplLCAuNTVyZW0pO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1jbHItbGFiZWwtZm9udC13ZWlnaHQsIDQwMCk7bGV0dGVyLXNwYWNpbmc6LjAzZW07bGV0dGVyLXNwYWNpbmc6dmFyKC0tY2xyLWxhYmVsLWxldHRlci1zcGFjaW5nLCAuMDNlbSk7bGlu''@;'; put 'put ''ZS1oZWlnaHQ6LjZyZW07ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgLjZyZW07Ym9yZGVyLXJhZGl1czouNnJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1sYWJlbC1ib3JkZXItcmFkaXVzLCAuNnJlbSk7''@;'; put 'put ''Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzhjOGM4Yztib3JkZXItY29sb3I6dmFyKC0tY2xyLWxhYmVsLWRlZmF1bHQtYm9yZGVyLWNvbG9yLCAjOGM4YzhjKTtoZWlnaHQ6MS4wNXJlbTttYXJnaW46MCAuM3JlbSAuMDVyZW0gMDt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6''@;'; put 'put ''IzAwMDtjb2xvcjp2YXIoLS1jbHItbGFiZWwtZm9udC1jb2xvci1saWdodCwgYmxhY2spfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbDp2aXNpdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsOnZpc2l0ZWR7Y29sb3I6IzAwMDtjb2xv''@;'; put 'put ''cjp2YXIoLS1jbHItbGFiZWwtZm9udC1jb2xvci1saWdodCwgYmxhY2spfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbDpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAubGFiZWw6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsOmFjdGl2ZXt0''@;'; put 'put ''ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwuY2xpY2thYmxlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwuY2xpY2thYmxlOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgYS5sYWJlbC5jbGlja2FibGU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwuY2xpY2thYmxlOmFjdGl2ZXtiYWNrZ3JvdW5kOiNlOGU4ZTg7YmFja2dyb3VuZDp2YXIoLS1jbHItbGFiZWwtYmctaG92ZXItY29sb3IsICNlOGU4ZTgpfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5jbGlja2FibGU6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmNsaWNrYWJsZTphY3RpdmV7Ym94LXNoYWRvdzowIC4wNXJlbSAjOGM4YzhjIGluc2V0O2JveC1zaGFkb3c6MCAuMDVyZW0gMCAw''@;'; put 'put ''IHZhcigtLWNsci1sYWJlbC1ncmF5LWJnLWNvbG9yLCAjOGM4YzhjKSBpbnNldDt0cmFuc2Zvcm06dHJhbnNsYXRlWSguNXB4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwubGFiZWwtZ3JheSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVs''@;'; put 'put ''LmxhYmVsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwubGFiZWwtZ3JheSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5sYWJlbC0xe2JvcmRlcjouMDVyZW0gc29saWQ7Ym9yZGVyLWNvbG9yOiM4YzhjOGM7Ym9yZGVyLWNvbG9y''@;'; put 'put ''OnZhcigtLWNsci1sYWJlbC1ncmF5LWJnLWNvbG9yLCAjOGM4YzhjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwuY2xpY2thYmxlLmxhYmVsLWdyYXk6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5jbGlja2FibGUubGFiZWwt''@;'; put 'put ''Z3JheTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwuY2xpY2thYmxlLmxhYmVsLWdyYXk6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwuY2xpY2thYmxlLmxhYmVsLWdyYXk6YWN0aXZle3RleHQtZGVjb3JhdGlv''@;'; put 'put ''bjpub25lO2JhY2tncm91bmQ6I2U4ZThlODtiYWNrZ3JvdW5kOnZhcigtLWNsci1sYWJlbC1iZy1ob3Zlci1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1ncmF5OmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgYS5sYWJlbC5jbGlja2FibGUubGFiZWwtZ3JheTphY3RpdmV7Ym94LXNoYWRvdzowIC4wNXJlbSAjOGM4YzhjIGluc2V0O2JveC1zaGFkb3c6MCAuMDVyZW0gMCAwIHZhcigtLWNsci1sYWJlbC1ncmF5LWJnLWNvbG9yLCAjOGM4YzhjKSBpbnNldDt0cmFuc2Zvcm06''@;'; put 'put ''dHJhbnNsYXRlWSguNXB4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwubGFiZWwtZ3JheT4uYmFkZ2UsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwubGFiZWwtZ3JheT4uYmFkZ2V7YmFja2dyb3VuZDojOGM4YzhjO2JhY2tncm91bmQ6''@;'; put 'put ''dmFyKC0tY2xyLWJhZGdlLWdyYXktYmctY29sb3IsICM4YzhjOGMpO2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLWJhZGdlLWdyYXktY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwubGFiZWwtcHVycGxlLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAubGFiZWwubGFiZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5sYWJlbC1wdXJwbGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwubGFiZWwtMntib3JkZXI6LjA1cmVtIHNvbGlkO2JvcmRlci1jb2xv''@;'; put 'put ''cjojOWU1N2JjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItbGFiZWwtcHVycGxlLWJnLWNvbG9yLCAjOWU1N2JjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwuY2xpY2thYmxlLmxhYmVsLXB1cnBsZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1wdXJwbGU6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1wdXJwbGU6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwuY2xpY2thYmxlLmxh''@;'; put 'put ''YmVsLXB1cnBsZTphY3RpdmV7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZDojZThlOGU4O2JhY2tncm91bmQ6dmFyKC0tY2xyLWxhYmVsLWJnLWhvdmVyLWNvbG9yLCAjZThlOGU4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwuY2xpY2thYmxlLmxhYmVs''@;'; put 'put ''LXB1cnBsZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwuY2xpY2thYmxlLmxhYmVsLXB1cnBsZTphY3RpdmV7Ym94LXNoYWRvdzowIC4wNXJlbSAjOWU1N2JjIGluc2V0O2JveC1zaGFkb3c6MCAuMDVyZW0gMCAwIHZhcigtLWNsci1sYWJlbC1wdXJw''@;'; put 'put ''bGUtYmctY29sb3IsICM5ZTU3YmMpIGluc2V0O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC41cHgpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5sYWJlbC1wdXJwbGU+LmJhZGdlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmxhYmVsLXB1''@;'; put 'put ''cnBsZT4uYmFkZ2V7YmFja2dyb3VuZDojOWU1N2JjO2JhY2tncm91bmQ6dmFyKC0tY2xyLWJhZGdlLXB1cnBsZS1iZy1jb2xvciwgIzllNTdiYyk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYmFkZ2UtcHVycGxlLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmxhYmVsLmxhYmVsLWJsdWUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5sYWJlbC0zLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmxhYmVsLWJsdWUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFi''@;'; put 'put ''ZWwubGFiZWwtM3tib3JkZXI6LjA1cmVtIHNvbGlkO2JvcmRlci1jb2xvcjojMDA1NjdhO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItbGFiZWwtYmx1ZS1iZy1jb2xvciwgIzAwNTY3YSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1ibHVl''@;'; put 'put ''OmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwuY2xpY2thYmxlLmxhYmVsLWJsdWU6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1ibHVlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICBhLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1ibHVlOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kOiNlOGU4ZTg7YmFja2dyb3VuZDp2YXIoLS1jbHItbGFiZWwtYmctaG92ZXItY29sb3IsICNlOGU4ZTgpfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5sYWJlbC5jbGlja2FibGUubGFiZWwtYmx1ZTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwuY2xpY2thYmxlLmxhYmVsLWJsdWU6YWN0aXZle2JveC1zaGFkb3c6MCAuMDVyZW0gIzAwNTY3YSBpbnNldDtib3gtc2hhZG93OjAgLjA1''@;'; put 'put ''cmVtIDAgMCB2YXIoLS1jbHItbGFiZWwtYmx1ZS1iZy1jb2xvciwgIzAwNTY3YSkgaW5zZXQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLjVweCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmxhYmVsLWJsdWU+LmJhZGdlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICBhLmxhYmVsLmxhYmVsLWJsdWU+LmJhZGdle2JhY2tncm91bmQ6IzAwNTY3YTtiYWNrZ3JvdW5kOnZhcigtLWNsci1iYWRnZS1ibHVlLWJnLWNvbG9yLCAjMDA1NjdhKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci1iYWRnZS1ibHVlLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmxhYmVsLW9yYW5nZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmxhYmVsLTQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwubGFiZWwtb3JhbmdlLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmxhYmVsLTR7Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzYxMzIwMDtib3JkZXItY29sb3I6dmFyKC0tY2xyLWxhYmVsLW9yYW5nZS1iZy1jb2xvciwgIzYxMzIwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxh''@;'; put 'put ''YmVsLmNsaWNrYWJsZS5sYWJlbC1vcmFuZ2U6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5jbGlja2FibGUubGFiZWwtb3JhbmdlOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5jbGlja2FibGUubGFiZWwtb3Jh''@;'; put 'put ''bmdlOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1vcmFuZ2U6YWN0aXZle3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQ6I2U4ZThlODtiYWNrZ3JvdW5kOnZhcigtLWNsci1sYWJlbC1iZy1ob3Zlci1jb2xvciwg''@;'; put 'put ''I2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1vcmFuZ2U6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1vcmFuZ2U6YWN0aXZle2JveC1zaGFkb3c6MCAu''@;'; put 'put ''MDVyZW0gIzYxMzIwMCBpbnNldDtib3gtc2hhZG93OjAgLjA1cmVtIDAgMCB2YXIoLS1jbHItbGFiZWwtb3JhbmdlLWJnLWNvbG9yLCAjNjEzMjAwKSBpbnNldDt0cmFuc2Zvcm06dHJhbnNsYXRlWSguNXB4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwubGFiZWwt''@;'; put 'put ''b3JhbmdlPi5iYWRnZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5sYWJlbC1vcmFuZ2U+LmJhZGdle2JhY2tncm91bmQ6IzYxMzIwMDtiYWNrZ3JvdW5kOnZhcigtLWNsci1iYWRnZS1vcmFuZ2UtYmctY29sb3IsICM2MTMyMDApO2NvbG9yOiNmZmY7Y29sb3I6''@;'; put 'put ''dmFyKC0tY2xyLWJhZGdlLW9yYW5nZS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5sYWJlbC1saWdodC1ibHVlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwubGFiZWwtNSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgYS5sYWJlbC5sYWJlbC1saWdodC1ibHVlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmxhYmVsLTV7Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzE3OWJkMztib3JkZXItY29sb3I6dmFyKC0tY2xyLWxhYmVsLWxpZ2h0LWJs''@;'; put 'put ''dWUtYmctY29sb3IsICMxNzliZDMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5jbGlja2FibGUubGFiZWwtbGlnaHQtYmx1ZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1saWdodC1ibHVlOmFj''@;'; put 'put ''dGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5jbGlja2FibGUubGFiZWwtbGlnaHQtYmx1ZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5jbGlja2FibGUubGFiZWwtbGlnaHQtYmx1ZTphY3RpdmV7dGV4dC1kZWNv''@;'; put 'put ''cmF0aW9uOm5vbmU7YmFja2dyb3VuZDojZThlOGU4O2JhY2tncm91bmQ6dmFyKC0tY2xyLWxhYmVsLWJnLWhvdmVyLWNvbG9yLCAjZThlOGU4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubGFiZWwuY2xpY2thYmxlLmxhYmVsLWxpZ2h0LWJsdWU6YWN0aXZlLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmNsaWNrYWJsZS5sYWJlbC1saWdodC1ibHVlOmFjdGl2ZXtib3gtc2hhZG93OjAgLjA1cmVtICMxNzliZDMgaW5zZXQ7Ym94LXNoYWRvdzowIC4wNXJlbSAwIDAgdmFyKC0tY2xyLWxhYmVsLWxpZ2h0LWJsdWUtYmctY29sb3IsICMx''@;'; put 'put ''NzliZDMpIGluc2V0O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC41cHgpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5sYWJlbC1saWdodC1ibHVlPi5iYWRnZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5sYWJlbC1saWdodC1ibHVlPi5i''@;'; put 'put ''YWRnZXtiYWNrZ3JvdW5kOiMxNzliZDM7YmFja2dyb3VuZDp2YXIoLS1jbHItYmFkZ2UtbGlnaHQtYmx1ZS1iZy1jb2xvciwgIzE3OWJkMyk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItYmFkZ2UtbGlnaHQtYmx1ZS1jb2xvciwgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5sYWJlbC5sYWJlbC1pbmZvLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxhYmVsLmxhYmVsLWluZm97YmFja2dyb3VuZDojZTNmNWZjO2JhY2tncm91bmQ6dmFyKC0tY2xyLWxhYmVsLWluZm8tYmctY29sb3IsICNlM2Y1ZmMpO2NvbG9yOiMwMDU2N2E7Y29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLWxhYmVsLWluZm8tZm9udC1jb2xvciwgIzAwNTY3YSk7Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzAwNTY3YTtib3JkZXItY29sb3I6dmFyKC0tY2xyLWxhYmVsLWluZm8tYm9yZGVyLWNvbG9yLCAjMDA1NjdhKX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAubGFiZWwubGFiZWwtc3VjY2VzcywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbC5sYWJlbC1zdWNjZXNze2JhY2tncm91bmQ6I2RmZjBkMDtiYWNrZ3JvdW5kOnZhcigtLWNsci1sYWJlbC1zdWNjZXNzLWJnLWNvbG9yLCAjZGZmMGQwKTtjb2xv''@;'; put 'put ''cjojMzA2YjAwO2NvbG9yOnZhcigtLWNsci1sYWJlbC1zdWNjZXNzLWZvbnQtY29sb3IsICMzMDZiMDApO2JvcmRlcjouMDVyZW0gc29saWQ7Ym9yZGVyLWNvbG9yOiMzMDZiMDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1sYWJlbC1zdWNjZXNzLWJvcmRlci1jb2xvciwgIzMwNmIwMCl9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsLmxhYmVsLXdhcm5pbmcsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwubGFiZWwtd2FybmluZ3tiYWNrZ3JvdW5kOiNmZmY0Yzc7YmFja2dyb3VuZDp2YXIoLS1jbHItbGFiZWwtd2FybmluZy1iZy1j''@;'; put 'put ''b2xvciwgI2ZmZjRjNyk7Y29sb3I6IzMzMztjb2xvcjp2YXIoLS1jbHItbGFiZWwtd2FybmluZy1mb250LWNvbG9yLCAjMzMzMzMzKTtib3JkZXI6LjA1cmVtIHNvbGlkO2JvcmRlci1jb2xvcjojYWQ3NjAwO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItbGFiZWwtd2FybmluZy1ib3JkZXItY29s''@;'; put 'put ''b3IsICNhZDc2MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sYWJlbC5sYWJlbC1kYW5nZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGFiZWwubGFiZWwtZGFuZ2Vye2JhY2tncm91bmQ6I2ZlZGRkNztiYWNrZ3JvdW5kOnZhcigtLWNsci1sYWJl''@;'; put 'put ''bC1kYW5nZXItYmctY29sb3IsICNmZWRkZDcpO2NvbG9yOiM5OTE3MDA7Y29sb3I6dmFyKC0tY2xyLWxhYmVsLWRhbmdlci1mb250LWNvbG9yLCAjOTkxNzAwKTtib3JkZXI6LjA1cmVtIHNvbGlkO2JvcmRlci1jb2xvcjojOTkxNzAwO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItbGFiZWwtZGFu''@;'; put 'put ''Z2VyLWJvcmRlci1jb2xvciwgIzk5MTcwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxhYmVsPi5iYWRnZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5sYWJlbD4uYmFkZ2V7bWFyZ2luOjAgLS40NXJlbSAwIC4zcmVtfUAtbW96LWRvY3VtZW50IHVy''@;'; put 'put ''bC1wcmVmaXgoKXsuc2FzanMtdWkgOjpuZy1kZWVwIC5sYWJlbCwuc2FzanMtdWkgOjpuZy1kZWVwIGEubGFiZWx7dmVydGljYWwtYWxpZ246Ym90dG9tfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdHstLWNsci1sb2dpbi10aXRsZS1jb2xvcjogdmFyKC0t''@;'; put 'put ''Y2xyLWgxLWNvbG9yKTstLWNsci1sb2dpbi10aXRsZS1mb250LXdlaWdodDogdmFyKC0tY2xyLWgxLWZvbnQtd2VpZ2h0KTstLWNsci1sb2dpbi10aXRsZS1mb250LWZhbWlseTogdmFyKC0tY2xyLWgxLWZvbnQtZmFtaWx5KTstLWNsci1sb2dpbi10cmFkZW1hcmstY29sb3I6IHZhcigtLWNs''@;'; put 'put ''ci1oMi1jb2xvcik7LS1jbHItbG9naW4tdHJhZGVtYXJrLWZvbnQtd2VpZ2h0OiB2YXIoLS1jbHItaDItZm9udC13ZWlnaHQpOy0tY2xyLWxvZ2luLXRyYWRlbWFyay1mb250LWZhbWlseTogdmFyKC0tY2xyLWgyLWZvbnQtZmFtaWx5KTstLWNsci1sb2dpbi1zdWJ0aXRsZS1jb2xvcjogdmFy''@;'; put 'put ''KC0tY2xyLWgzLWNvbG9yKTstLWNsci1sb2dpbi1zdWJ0aXRsZS1mb250LXdlaWdodDogdmFyKC0tY2xyLWgzLWZvbnQtd2VpZ2h0KTstLWNsci1sb2dpbi1zdWJ0aXRsZS1mb250LWZhbWlseTogdmFyKC0tY2xyLWgzLWZvbnQtZmFtaWx5KTstLWNsci1sb2dpbi1iYWNrZ3JvdW5kLWNvbG9y''@;'; put 'put ''OiB2YXIoLS1jbHItZ2xvYmFsLWFwcC1iYWNrZ3JvdW5kKTstLWNsci1sb2dpbi1iYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0MlM0Z4bWwlMjB2ZXJzaW9uJTNEJTIyMS4wJTIyJTIwZW5jb2RpbmclM0QlMjJ1dGYtOCUyMiUzRiUzRSUwRCUwQSUz''@;'; put 'put ''QyUyMURPQ1RZUEUlMjBzdmclMjBQVUJMSUMlMjAlMjItJTJGJTJGVzNDJTJGJTJGRFREJTIwU1ZHJTIwMS4xJTJGJTJGRU4lMjIlMjAlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRkdyYXBoaWNzJTJGU1ZHJTJGMS4xJTJGRFREJTJGc3ZnMTEuZHRkJTIyJTNFJTBEJTBBJTNDc3ZnJTBE''@;'; put 'put ''JTBBJTIwJTIwJTIwJTIwJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUwRCUwQSUyMCUyMCUyMCUyMCUyMGlkJTNEJTIybm8tYXNwZWN0LXJhdGlvJTIyJTBEJTBBJTIwJTIwJTIwJTIwJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMEQlMEElMjAl''@;'; put 'put ''MjAlMjAlMjAlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMEQlMEElMjAlMjAlMjAlMjAlMjB4JTNEJTIyMHB4JTIyJTBEJTBBJTIwJTIwJTIwJTIwJTIweSUzRCUyMjBweCUyMiUwRCUwQSUyMCUyMCUyMCUyMCUyMGhlaWdo''@;'; put 'put ''dCUzRCUyMjIwNTUuNTVweCUyMiUwRCUwQSUyMCUyMCUyMCUyMCUyMHdpZHRoJTNEJTIyMTQ0MHB4JTIyJTBEJTBBJTIwJTIwJTIwJTIwJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjA1NS41NSUyMDE0NDAlMjIlMEQlMEElMjAlMjAlMjAlMjAlMjBwcmVzZXJ2ZUFzcGVjdFJhdGlvJTNEJTIy''@;'; put 'put ''eE1pbllNaW4lMjBzbGljZSUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2Rlc2MlM0VMb2dpbiUyMEltYWdlJTNDJTJGZGVzYyUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2clMjBzdHJva2UlM0QlMjJub25lJTIyJTIw''@;'; put 'put ''c3Ryb2tlLXdpZHRoJTNEJTIyMSUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSUyODAuMDAwMDAwJTJDJTIwLTQuMDAwMDAwJTI5JTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTND''@;'; put 'put ''ZyUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2clM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyM0ZBRkFGQSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjQl''@;'; put 'put ''MjIlM0UlM0MlMkZyZWN0JTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjMwMDdDQkIlMjIlMjBvcGFjaXR5JTNEJTIyMC40JTIyJTIwc3R5bGUlM0QlMjJtaXgtYmxlbmQtbW9kZSUzQSUyMG11''@;'; put 'put ''bHRpcGx5JTNCJTIyJTIwcG9pbnRzJTNEJTIyMTEwOC40MyUyMDE0NDMuNjMlMjAxMTA5LjA4JTIwMTQ0My42MyUyMDQ0My40NCUyMDc3Ny43NCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5''@;'; put 'put ''Z29uJTIwZmlsbCUzRCUyMiUyMzkzRDhDQSUyMiUyMG9wYWNpdHklM0QlMjIwLjYlMjIlMjBzdHlsZSUzRCUyMm1peC1ibGVuZC1tb2RlJTNBJTIwb3ZlcmxheSUzQiUyMiUyMHBvaW50cyUzRCUyMjAuNzklMjAzMzQuOTIlMjA0NDMuNDQlMjA3NzcuNzQlMjAwLjc5JTIwMzM0LjQ5JTIyJTNF''@;'; put 'put ''JTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQTBERUVBJTIyJTIwcG9pbnRzJTNEJTIyMC43OSUyMDIxMS44OCUyMDAuNzklMjAzMjkuNiUyMDU5LjYyJTIwMjcwLjc3''@;'; put 'put ''JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTZDN0RGJTIyJTIwcG9pbnRzJTNEJTIyMTYwLjY1JTIwMTY5Ljc0JTIwMC43OSUyMDkuNzMlMjAwLjc5JTIw''@;'; put 'put ''MjExLjg4JTIwOTAuMjclMjAzMDEuNDYlMjA1OS42MiUyMDI3MC43NyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0NERTNFRSUyMiUyMHBvaW50cyUzRCUy''@;'; put 'put ''MjUwMy43NyUyMDE0NDMuNjMlMjA2OTcuNDclMjAxNDQzLjYzJTIwODAzLjc0JTIwMTMzNy4zNiUyMDcwNi45MyUyMDEyNDAuNDMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZp''@;'; put 'put ''bGwlM0QlMjIlMjNDREUzRUUlMjIlMjBwb2ludHMlM0QlMjIxNTguMzMlMjA2OTEuMTUlMjAwLjc5JTIwODQ4LjcyJTIwMC43OSUyMDE0MjcuNDMlMjA0NDcuNTIlMjA5ODAuNyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0NFRERFMCUyMiUyMHBvaW50cyUzRCUyMjI1Ny43MSUyMDU5MS43NSUyMDAuNzklMjAzMzQuNDklMjAwLjc5JTIwNTMzLjQyJTIwMTU4LjMzJTIwNjkxLjE1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQTlDOUQ1JTIyJTIwcG9pbnRzJTNEJTIyMC43OSUyMDUzMy40MiUyMDAuNzklMjA4NDguNzIlMjAxNTguMzMlMjA2OTEuMTUlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNBRkQ0RTclMjIlMjBwb2ludHMlM0QlMjI4MDYuNDYlMjAxMTQwLjg5JTIwNTQ2Ljk0JTIwODgxLjI4JTIwNDQ3LjUyJTIwOTgwLjclMjA3MDYuOTMlMjAxMjQwLjQz''@;'; put 'put ''JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOEZDNERGJTIyJTIwcG9pbnRzJTNEJTIyNDQ3LjUyJTIwOTgwLjclMjAwLjc5JTIwMTQyNy40MyUyMDAuNzkl''@;'; put 'put ''MjAxNDQzLjYzJTIwNTAzLjc3JTIwMTQ0My42MyUyMDcwNi45MyUyMDEyNDAuNDMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM3MEMwREMlMjIlMjBwb2lu''@;'; put 'put ''dHMlM0QlMjI2MDguMjMlMjA4MTkuOTklMjA1NDYuOTQlMjA4ODEuMjglMjA4MDYuNDYlMjAxMTQwLjg5JTIwODY3LjY0JTIwMTA3OS43JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24l''@;'; put 'put ''MjBmaWxsJTNEJTIyJTIzOTZDN0RGJTIyJTIwcG9pbnRzJTNEJTIyNDIwLjA1JTIwNDI5LjM5JTIwMzE5LjAxJTIwNTMwLjQ1JTIwNjA4LjIzJTIwODE5Ljk5JTIwNzA5LjMlMjA3MTguOTElMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2OUFGRDQlMjIlMjBwb2ludHMlM0QlMjI3MDkuMyUyMDcxOC45MSUyMDYwOC4yMyUyMDgxOS45OSUyMDg2Ny42NCUyMDEwNzkuNyUyMDk2OC43NCUyMDk3OC42JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOEVCNUJDJTIyJTIwcG9pbnRzJTNEJTIyNjE5LjU5JTIwMjI5LjgyJTIwMzkzLjQyJTIwMy4xMiUyMDMyNy4yNyUyMDMuMTIlMjAxNjAuNjUlMjAxNjkuNzQlMjA0''@;'; put 'put ''MjAuMDUlMjA0MjkuMzklMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM4RUI1QkMlMjIlMjBwb2ludHMlM0QlMjIzMTkuMDElMjA1MzAuNDUlMjAzMTkuMDEl''@;'; put 'put ''MjA1MzAuNDUlMjA5MC4yNyUyMDMwMS40NiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzdDQjBDNyUyMiUyMHBvaW50cyUzRCUyMjE2MC42NSUyMDE2OS43''@;'; put 'put ''NCUyMDU5LjYyJTIwMjcwLjc3JTIwOTAuMjclMjAzMDEuNDYlMjAzMTkuMDElMjA1MzAuNDUlMjA0MjAuMDUlMjA0MjkuMzklMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwl''@;'; put 'put ''M0QlMjIlMjM4NEM0RDIlMjIlMjBwb2ludHMlM0QlMjI1OS42MiUyMDI3MC43NyUyMDAuNzklMjAzMjkuNiUyMDAuNzklMjAzMzQuNDklMjAyNTcuNzElMjA1OTEuNzUlMjAzMTkuMDElMjA1MzAuNDUlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM3Q0IwQzclMjIlMjBwb2ludHMlM0QlMjI1MzcuNTUlMjAzLjEyJTIwMzkzLjQyJTIwMy4xMiUyMDYxOS41OSUyMDIyOS44MiUyMDY5MS43NCUyMDE1Ny42NiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQl''@;'; put 'put ''MEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzg3RDFEQiUyMiUyMHBvaW50cyUzRCUyMjg0Ni4yNSUyMDMuMTIlMjA1MzcuNTUlMjAzLjEyJTIwNjkxLjc0JTIwMTU3LjY2JTIyJTNFJTNDJTJGcG9seWdv''@;'; put 'put ''biUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQ0RFM0VFJTIyJTIwcG9pbnRzJTNEJTIyOTA5Ljg3JTIwMTQ0My42MyUyMDg1MC4xOSUyMDEzODMuODclMjA3OTAuNDMlMjAxNDQzLjYzJTIy''@;'; put 'put ''JTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQTBERUVBJTIyJTIwcG9pbnRzJTNEJTIyMzE5LjAxJTIwNTMwLjQ1JTIwMjU3LjcxJTIwNTkxLjc1JTIwNDQzLjQ0''@;'; put 'put ''JTIwNzc3Ljc0JTIwNTQ2Ljk0JTIwODgxLjI4JTIwNjA4LjIzJTIwODE5Ljk5JTIwODY3LjY0JTIwMTA3OS43JTIwODY3LjY0JTIwMTA3OS43JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHln''@;'; put 'put ''b24lMjBmaWxsJTNEJTIyJTIzQTBERUVBJTIyJTIwcG9pbnRzJTNEJTIyODY3LjY0JTIwMTA3OS43JTIwODA2LjQ2JTIwMTE0MC44OSUyMDkwMy4zMSUyMDEyMzcuNzglMjA5NjQuNDYlMjAxMTc2LjYzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTZDN0RGJTIyJTIwcG9pbnRzJTNEJTIyMTA2NS41NyUyMDEwNzUuNTIlMjA5NjguNzQlMjA5NzguNiUyMDg2Ny42NCUyMDEwNzkuNyUyMDk2NC40NiUyMDExNzYuNjMlMjIlM0UlM0MlMkZwb2x5Z29u''@;'; put 'put ''JTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5NkM3REYlMjIlMjBwb2ludHMlM0QlMjI5NjQuNDYlMjAxMTc2LjYzJTIwODY3LjY0JTIwMTA3OS43JTIwODY3LjY0JTIwMTA3OS43JTIwOTY0''@;'; put 'put ''LjQ2JTIwMTE3Ni42MyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjEwMTAuOTIlMjAxMjIzLjEzJTIwMTIzMS4x''@;'; put 'put ''NiUyMDE0NDMuNjMlMjAxMDEwLjkyJTIwMTIyMy4xMyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjEyNDAuMDgl''@;'; put 'put ''MjA3MDcuMjIlMjAxMTY3LjklMjA3NzkuNCUyMDEyNjQuNjglMjA4NzYuNCUyMDEzMzYuODclMjA4MDQuMjIlMjAxMjQwLjA4JTIwNzA3LjIxJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHln''@;'; put 'put ''b24lMjBmaWxsJTNEJTIyJTIzOTZDN0RGJTIyJTIwcG9pbnRzJTNEJTIyOTgwLjgzJTIwNDQ3LjM5JTIwNjkxLjc0JTIwMTU3LjY2JTIwNjE5LjU5JTIwMjI5LjgyJTIwOTA4LjY2JTIwNTE5LjU2JTIwOTgwLjgzJTIwNDQ3LjM5JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQUZENEU3JTIyJTIwcG9pbnRzJTNEJTIyNzA5LjMlMjA3MTguOTElMjA5NjguNzQlMjA5NzguNiUyMDExNjcuOTElMjA3NzkuNCUyMDkwOC42NiUyMDUxOS41NSUyMiUzRSUz''@;'; put 'put ''QyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY5QUZENCUyMiUyMHBvaW50cyUzRCUyMjk4MC44MyUyMDQ0Ny4zOSUyMDkwOC42NiUyMDUxOS41NSUyMDExNjcuOTElMjA3''@;'; put 'put ''NzkuNCUyMDEyNDAuMDglMjA3MDcuMjElMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNBMERFRUElMjIlMjBwb2ludHMlM0QlMjIxMDM0LjU5JTIwMy4xMiUy''@;'; put 'put ''MDg0Ni4yNSUyMDMuMTIlMjA2OTEuNzQlMjAxNTcuNjYlMjA5ODAuODMlMjA0NDcuMzklMjAxMjI5Ljc1JTIwMTk4LjQ3JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNE''@;'; put 'put ''JTIyJTIzQTBERUVBJTIyJTIwcG9pbnRzJTNEJTIyMTI0MC4wOCUyMDcwNy4yMSUyMDEzMzYuODclMjA4MDQuMjIlMjAxNTg2LjAxJTIwNTU1LjA4JTIwMTQ4OS4xNCUyMDQ1OC4xMiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzcwQzBEQyUyMiUyMHBvaW50cyUzRCUyMjEyMjkuNzUlMjAxOTguNDclMjA5ODAuODMlMjA0NDcuMzklMjAxMjQwLjA4JTIwNzA3LjIxJTIwMTQ4OS4xNCUyMDQ1OC4xMiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEEl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0I3Q0VEMiUyMiUyMHBvaW50cyUzRCUyMjEyOTIuMjIlMjAxMzAyLjM4JTIwMTQzMy4zMiUyMDE0NDMuNjMlMjAxODMwLjYxJTIwMTQ0My42MyUyMDE0OTEuMTgl''@;'; put 'put ''MjAxMTAzLjQyJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQTBERUVBJTIyJTIwcG9pbnRzJTNEJTIyMTAxMC45MiUyMDEyMjMuMTMlMjA5NDkuNzglMjAx''@;'; put 'put ''Mjg0LjI3JTIwMTEwOS4wOCUyMDE0NDMuNjMlMjAxMTUwLjk4JTIwMTQ0My42MyUyMDExOTEuMDklMjAxNDAzLjUxJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIy''@;'; put 'put ''JTIzNzVCOEM1JTIyJTIwcG9pbnRzJTNEJTIyMTE1MC45OCUyMDE0NDMuNjMlMjAxMjMxLjE2JTIwMTQ0My42MyUyMDExOTEuMDklMjAxNDAzLjUxJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3Bv''@;'; put 'put ''bHlnb24lMjBmaWxsJTNEJTIyJTIzOTZDN0RGJTIyJTIwcG9pbnRzJTNEJTIyMTI5Mi4yMiUyMDEzMDIuMzglMjAxMTEyLjAzJTIwMTEyMi4wMiUyMDEwMTAuOTIlMjAxMjIzLjEzJTIwMTE5MS4wOSUyMDE0MDMuNTElMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2RUE0QkMlMjIlMjBwb2ludHMlM0QlMjIxMTkxLjA5JTIwMTQwMy41MSUyMDEyMzEuMTYlMjAxNDQzLjYzJTIwMTQzMy4zMiUyMDE0NDMuNjMlMjAxMjkyLjIyJTIwMTMwMi4zOCUyMiUz''@;'; put 'put ''RSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzAwN0NCQiUyMiUyMG9wYWNpdHklM0QlMjIwLjQlMjIlMjBzdHlsZSUzRCUyMm1peC1ibGVuZC1tb2RlJTNBJTIwbXVs''@;'; put 'put ''dGlwbHklM0IlMjIlMjBwb2ludHMlM0QlMjIxMzgzLjMlMjA4NTAuNzUlMjAxMzExLjEyJTIwOTIyLjk0JTIwMTQ5MS4xOCUyMDExMDMuNDIlMjAxNTYzLjM3JTIwMTAzMS4yMyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0I3Q0VEMiUyMiUyMHBvaW50cyUzRCUyMjE0OTEuMTglMjAxMTAzLjQyJTIwMTgzMC42MSUyMDE0NDMuNjMlMjAxOTc0Ljg2JTIwMTQ0My42MyUyMDE1NjMuMzclMjAxMDMxLjIzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUw''@;'; put 'put ''QSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNkVBNEJDJTIyJTIwcG9pbnRzJTNEJTIyMTQ5MS4xOCUyMDExMDMuNDIlMjAxODMwLjYxJTIwMTQ0My42MyUyMDE5NzQuODYlMjAxNDQzLjYzJTIwMTU2My4z''@;'; put 'put ''NyUyMDEwMzEuMjMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNBMERFRUElMjIlMjBwb2ludHMlM0QlMjIxODEyLjY1JTIwNzgxLjk1JTIwMTYzMi40NiUy''@;'; put 'put ''MDYwMS41OSUyMDEzODMuMyUyMDg1MC43NSUyMDE1NjMuMzclMjAxMDMxLjIzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQjdDRUQyJTIyJTIwcG9pbnRz''@;'; put 'put ''JTNEJTIyMTU2My4zNyUyMDEwMzEuMjMlMjAxOTc0Ljg2JTIwMTQ0My42MyUyMDIwNTQuNDUlMjAxNDQzLjYzJTIwMjA1NC40NSUyMDEwMjMuOTklMjAxODEyLjY1JTIwNzgxLjk1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNzhDQUQ0JTIyJTIwcG9pbnRzJTNEJTIyMTU2My4zNyUyMDEwMzEuMjMlMjAxOTc0Ljg2JTIwMTQ0My42MyUyMDIwNTQuNDUlMjAxNDQzLjYzJTIwMjA1NC40NSUyMDEwMjMuOTklMjAxODEyLjY1JTIwNzgxLjk1JTIyJTNF''@;'; put 'put ''JTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTFDNUUwJTIyJTIwcG9pbnRzJTNEJTIyODAzLjc0JTIwMTMzNy4zNiUyMDg1MC4xOSUyMDEzODMuODclMjA5NDkuNzgl''@;'; put 'put ''MjAxMjg0LjI3JTIwOTAzLjMxJTIwMTIzNy43OCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzkxQzVFMCUyMiUyMHBvaW50cyUzRCUyMjEwNjUuNTclMjAx''@;'; put 'put ''MDc1LjUyJTIwMTExMi4wMyUyMDExMjIuMDIlMjAxMzExLjEyJTIwOTIyLjk0JTIwMTI2NC42OSUyMDg3Ni40JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIz''@;'; put 'put ''NzdCOEQ5JTIyJTIwcG9pbnRzJTNEJTIyNjk3LjQ3JTIwMTQ0My42MyUyMDc5MC40MyUyMDE0NDMuNjMlMjA4NTAuMTklMjAxMzgzLjg3JTIwODAzLjc0JTIwMTMzNy4zNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0EwREVFQSUyMiUyMHBvaW50cyUzRCUyMjk2NC40NiUyMDExNzYuNjMlMjA5MDMuMzElMjAxMjM3Ljc4JTIwOTQ5Ljc4JTIwMTI4NC4yNyUyMDEwMTAuOTIlMjAxMjIzLjEzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNURCNUQ2JTIyJTIwcG9pbnRzJTNEJTIyOTY0LjQ2JTIwMTE3Ni42MyUyMDkwMy4zMSUyMDEyMzcuNzglMjA5NDkuNzglMjAxMjg0LjI3JTIwMTAxMC45MiUyMDEyMjMu''@;'; put 'put ''MTMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM5NkM3REYlMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUlMjgxMDM4LjI0NzI5NyUyQyUyMDExNDkuMjc1''@;'; put 'put ''NDI5JTI5JTIwcm90YXRlJTI4LTQ0Ljk3MDAwMCUyOSUyMHRyYW5zbGF0ZSUyOC0xMDM4LjI0NzI5NyUyQyUyMC0xMTQ5LjI3NTQyOSUyOSUyMCUyMiUyMHglM0QlMjI5NjYuNzUyMjk3JTIyJTIweSUzRCUyMjExMTYuNDEwNDMlMjIlMjB3aWR0aCUzRCUyMjE0Mi45OSUyMiUyMGhlaWdodCUz''@;'; put 'put ''RCUyMjY1LjczJTIyJTNFJTNDJTJGcmVjdCUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNTdBOEQwJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MTAzOC4yNDcyOTclMkMlMjAxMTQ5''@;'; put 'put ''LjI3NTQyOSUyOSUyMHJvdGF0ZSUyOC00NC45NzAwMDAlMjklMjB0cmFuc2xhdGUlMjgtMTAzOC4yNDcyOTclMkMlMjAtMTE0OS4yNzU0MjklMjklMjAlMjIlMjB4JTNEJTIyOTY2Ljc1MjI5NyUyMiUyMHklM0QlMjIxMTE2LjQxMDQzJTIyJTIwd2lkdGglM0QlMjIxNDIuOTklMjIlMjBoZWln''@;'; put 'put ''aHQlM0QlMjI2NS43MyUyMiUzRSUzQyUyRnJlY3QlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjEwMTAuOTIlMjAxMjIzLjEzJTIwMTAxMC45MiUy''@;'; put 'put ''MDEyMjMuMTMlMjA5NjQuNDYlMjAxMTc2LjYzJTIwOTY0LjQ2JTIwMTE3Ni42MyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzAwMDAwMCUyMiUyMG9wYWNp''@;'; put 'put ''dHklM0QlMjIwLjQyJTIyJTIwcG9pbnRzJTNEJTIyMTAxMC45MiUyMDEyMjMuMTMlMjAxMDEwLjkyJTIwMTIyMy4xMyUyMDk2NC40NiUyMDExNzYuNjMlMjA5NjQuNDYlMjAxMTc2LjYzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzMDA3Q0JCJTIyJTIwb3BhY2l0eSUzRCUyMjAuNCUyMiUyMHN0eWxlJTNEJTIybWl4LWJsZW5kLW1vZGUlM0ElMjBtdWx0aXBseSUzQiUyMiUyMHBvaW50cyUzRCUyMjEzMzYuODclMjA4MDQuMjIlMjAxMjY0LjY5JTIw''@;'; put 'put ''ODc2LjQlMjAxMzExLjEyJTIwOTIyLjk0JTIwMTM4My4zJTIwODUwLjc1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNTdBOEQwJTIyJTIwcG9pbnRzJTNE''@;'; put 'put ''JTIyMTMzNi44NyUyMDgwNC4yMiUyMDEyNjQuNjklMjA4NzYuNCUyMDEzMTEuMTIlMjA5MjIuOTQlMjAxMzgzLjMlMjA4NTAuNzUlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZp''@;'; put 'put ''bGwlM0QlMjIlMjM5M0Q4Q0ElMjIlMjBvcGFjaXR5JTNEJTIyMC42JTIyJTIwc3R5bGUlM0QlMjJtaXgtYmxlbmQtbW9kZSUzQSUyMG92ZXJsYXklM0IlMjIlMjBwb2ludHMlM0QlMjIxMzM2Ljg3JTIwODA0LjIyJTIwMTM4My4zJTIwODUwLjc1JTIwMTYzMi40NiUyMDYwMS41OSUyMDE1ODYu''@;'; put 'put ''MDElMjA1NTUuMDglMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM1REI1RDYlMjIlMjBwb2ludHMlM0QlMjIxMzM2Ljg3JTIwODA0LjIyJTIwMTM4My4zJTIw''@;'; put 'put ''ODUwLjc1JTIwMTYzMi40NiUyMDYwMS41OSUyMDE1ODYuMDElMjA1NTUuMDglMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNBRkQzRTYlMjIlMjBwb2ludHMl''@;'; put 'put ''M0QlMjIyMDU2JTIwMC4xMiUyMDE2NDUuNDklMjAwLjEyJTIwMTY0OC40OSUyMDMuMTIlMjAxOTQ0LjA3JTIwMy4xMiUyMDE3OTYuMjIlMjAxNTAuOTklMjAxODkzLjEyJTIwMjQ3Ljk3JTIwMjA1NC40NSUyMDg2LjY0JTIwMjA1NC40NSUyMDE3OS42JTIwMTkzOS41OCUyMDI5NC40NyUyMDIw''@;'; put 'put ''NTYlMjA0MTElMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM3QUI5RDklMjIlMjBwb2ludHMlM0QlMjIxNjQ4LjQ5JTIwMy4xMiUyMDE3OTYuMjIlMjAxNTAu''@;'; put 'put ''OTklMjAxOTQ0LjA3JTIwMy4xMiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2QUVENCUyMiUyMHBvaW50cyUzRCUyMjIwNTQuNDUlMjA4Ni42NCUyMDE4''@;'; put 'put ''OTMuMTIlMjAyNDcuOTclMjAxOTM5LjU4JTIwMjk0LjQ3JTIwMjA1NC40NSUyMDE3OS42JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQjdDRUQyJTIyJTIw''@;'; put 'put ''cG9pbnRzJTNEJTIyMTg4NC44MiUyMDcwOS43OCUyMDIwNTQuNDUlMjA4NzkuNTclMjAyMDU0LjQ1JTIwNTQwLjE1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIy''@;'; put 'put ''JTIzQUZENEU3JTIyJTIwcG9pbnRzJTNEJTIyMTQ4OS4xNCUyMDQ1OC4xMiUyMDE0ODkuMTQlMjA0NTguMTIlMjAxMzcxLjEzJTIwMzM5Ljk5JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHln''@;'; put 'put ''b24lMjBmaWxsJTNEJTIyJTIzQUZENEU3JTIyJTIwcG9pbnRzJTNEJTIyMTc5Ni4yMiUyMDE1MC45OSUyMDE2NDguNDklMjAzLjEyJTIwMTQyNS4xJTIwMy4xMiUyMDEzMDEuOTElMjAxMjYuMzElMjAxNTYxLjMlMjAzODUuOTUlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM5MUM1RTAlMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUlMjgxNzk4Ljk1NDA2NiUyQyUyMDM4OC43OTg3ODElMjklMjByb3RhdGUlMjgtNDQuOTcwMDAwJTI5JTIwdHJhbnNs''@;'; put 'put ''YXRlJTI4LTE3OTguOTU0MDY2JTJDJTIwLTM4OC43OTg3ODElMjklMjAlMjIlMjB4JTNEJTIyMTYzMi44MjQwNyUyMiUyMHklM0QlMjIzNTUuOTMzNzgxJTIyJTIwd2lkdGglM0QlMjIzMzIuMjYlMjIlMjBoZWlnaHQlM0QlMjI2NS43MyUyMiUzRSUzQyUyRnJlY3QlM0UlMEQlMEElMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzkxQzVFMCUyMiUyMHBvaW50cyUzRCUyMjE1ODYuMDElMjA1NTUuMDglMjAxNjMyLjQ2JTIwNjAxLjU5JTIwMTYzMi40NiUyMDYwMS41OSUyMDE1ODYuMDElMjA1NTUuMDgl''@;'; put 'put ''MjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjNCM0VBRUUlMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUlMjgxNTczLjcxMTU3NyUyQyUyMDQ3MC42MjAyNjMl''@;'; put 'put ''MjklMjByb3RhdGUlMjgtNDUuMDAwMDAwJTI5JTIwdHJhbnNsYXRlJTI4LTE1NzMuNzExNTc3JTJDJTIwLTQ3MC42MjAyNjMlMjklMjAlMjIlMjB4JTNEJTIyMTUyMi42ODE1OCUyMiUyMHklM0QlMjI0MDIuMDg1MjYzJTIyJTIwd2lkdGglM0QlMjIxMDIuMDYlMjIlMjBoZWlnaHQlM0QlMjIx''@;'; put 'put ''MzcuMDclMjIlM0UlM0MlMkZyZWN0JTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjNCM0VBRUUlMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUlMjgxNzU4LjY3Njc1OCUyQyUyMDY1NS43Njcx''@;'; put 'put ''MjAlMjklMjByb3RhdGUlMjgtNDQuOTcwMDAwJTI5JTIwdHJhbnNsYXRlJTI4LTE3NTguNjc2NzU4JTJDJTIwLTY1NS43NjcxMjAlMjklMjAlMjIlMjB4JTNEJTIyMTcwNy42NDY3NiUyMiUyMHklM0QlMjI1MjguMjkyMTIlMjIlMjB3aWR0aCUzRCUyMjEwMi4wNiUyMiUyMGhlaWdodCUzRCUy''@;'; put 'put ''MjI1NC45NSUyMiUzRSUzQyUyRnJlY3QlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0IzRUFFRSUyMiUyMHBvaW50cyUzRCUyMjEzMDEuOTElMjAxMjYuMzElMjAxMTc4Ljg0JTIwMy4xMiUy''@;'; put 'put ''MDEwMzQuNTklMjAzLjEyJTIwMTIyOS43NSUyMDE5OC40NyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzgzQzBDOCUyMiUyMHBvaW50cyUzRCUyMjE4MTIu''@;'; put 'put ''NjUlMjA3ODEuOTUlMjAyMDU0LjQ1JTIwMTAyMy45OSUyMDIwNTQuNDUlMjA4NzkuNTclMjAxODg0LjgyJTIwNzA5Ljc4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIy''@;'; put 'put ''JTIzN0RDNkRDJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MTM5NS41MTY5MDElMkMlMjAyOTIuMjA2NTE5JTI5JTIwcm90YXRlJTI4LTQ1LjAwMDAwMCUyOSUyMHRyYW5zbGF0ZSUyOC0xMzk1LjUxNjkwMSUyQyUyMC0yOTIuMjA2NTE5JTI5JTIwJTIyJTIweCUzRCUyMjEzNDQu''@;'; put 'put ''NDkxOSUyMiUyMHklM0QlMjIxMDguNzAxNTE5JTIyJTIwd2lkdGglM0QlMjIxMDIuMDUlMjIlMjBoZWlnaHQlM0QlMjIzNjcuMDElMjIlM0UlM0MlMkZyZWN0JTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0Ql''@;'; put 'put ''MjIlMjM2OEI4RDUlMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUlMjgxNjQ1LjMxMzYxOSUyQyUyMDU0Mi4yNDk3NjAlMjklMjByb3RhdGUlMjgtNDUuMDAwMDAwJTI5JTIwdHJhbnNsYXRlJTI4LTE2NDUuMzEzNjE5JTJDJTIwLTU0Mi4yNDk3NjAlMjklMjAlMjIlMjB4JTNEJTIyMTU5''@;'; put 'put ''NC4yODM2MiUyMiUyMHklM0QlMjI1MDkuMzg0NzYlMjIlMjB3aWR0aCUzRCUyMjEwMi4wNiUyMiUyMGhlaWdodCUzRCUyMjY1LjczJTIyJTNFJTNDJTJGcmVjdCUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRmclM0UlMEQlMEElMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NnJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MC4wMDAwMDAlMkMlMjAzLjAwMDAwMCUyOSUyMiUyMHN0cm9rZSUzRCUyMiUyMzAwMDAwMCUyMiUyMG9wYWNpdHklM0QlMjIwLjE1JTIyJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcGF0aCUyMGQlM0QlMjJNMC45NSUyQzAuMTIlMjBMMC45NSUyQzg0MC4xMiUyMiUyMGlkJTNEJTIyU2hhcGUlMjIlM0UlM0MlMkZwYXRoJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGZyUzRSUw''@;'; put 'put ''RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRmclM0UlMEQlMEElMjAlMjAlMjAlMjAlM0MlMkZnJTNFJTBEJTBBJTNDJTJGc3ZnJTNFKTstLWNsci1sb2dpbi1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTgwMCk7LS1jbHItbG9naW4tZXJy''@;'; put 'put ''b3ItYm9yZGVyLXJhZGl1czogdmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMpOy0tY2xyLWxvZ2luLXBhbmVsLWxpbmUtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTEwMDApOy0tY2xyLWxvZ2luLXBhbmVsLWxpbmUtb3BhY2l0eTogLjF9LnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXJ7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDJTNGeG1sJTIwdmVyc2lvbiUzRCUyMjEuMCUyMiUyMGVuY29kaW5nJTNEJTIydXRmLTglMjIlM0YlM0UlMEQl''@;'; put 'put ''MEElM0MlMjFET0NUWVBFJTIwc3ZnJTIwUFVCTElDJTIwJTIyLSUyRiUyRlczQyUyRiUyRkRURCUyMFNWRyUyMDEuMSUyRiUyRkVOJTIyJTIwJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkZHcmFwaGljcyUyRlNWRyUyRjEuMSUyRkRURCUyRnN2ZzExLmR0ZCUyMiUzRSUwRCUwQSUzQ3N2''@;'; put 'put ''ZyUwRCUwQSUyMCUyMCUyMCUyMCUyMHZlcnNpb24lM0QlMjIxLjElMjIlMEQlMEElMjAlMjAlMjAlMjAlMjBpZCUzRCUyMm5vLWFzcGVjdC1yYXRpbyUyMiUwRCUwQSUyMCUyMCUyMCUyMCUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTBEJTBB''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTBEJTBBJTIwJTIwJTIwJTIwJTIweCUzRCUyMjBweCUyMiUwRCUwQSUyMCUyMCUyMCUyMCUyMHklM0QlMjIwcHglMjIlMEQlMEElMjAlMjAlMjAlMjAlMjBo''@;'; put 'put ''ZWlnaHQlM0QlMjIyMDU1LjU1cHglMjIlMEQlMEElMjAlMjAlMjAlMjAlMjB3aWR0aCUzRCUyMjE0NDBweCUyMiUwRCUwQSUyMCUyMCUyMCUyMCUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwNTUuNTUlMjAxNDQwJTIyJTBEJTBBJTIwJTIwJTIwJTIwJTIwcHJlc2VydmVBc3BlY3RSYXRpbyUz''@;'; put 'put ''RCUyMnhNaW5ZTWluJTIwc2xpY2UlMjIlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NkZXNjJTNFTG9naW4lMjBJbWFnZSUzQyUyRmRlc2MlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NnJTIwc3Ryb2tlJTNEJTIybm9uZSUy''@;'; put 'put ''MiUyMHN0cm9rZS13aWR0aCUzRCUyMjElMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUlMjgwLjAwMDAwMCUyQyUyMC00LjAwMDAwMCUyOSUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUzQ2clM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NnJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjNGQUZBRkElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0Ql''@;'; put 'put ''MjI0JTIyJTNFJTNDJTJGcmVjdCUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzMDA3Q0JCJTIyJTIwb3BhY2l0eSUzRCUyMjAuNCUyMiUyMHN0eWxlJTNEJTIybWl4LWJsZW5kLW1vZGUlM0El''@;'; put 'put ''MjBtdWx0aXBseSUzQiUyMiUyMHBvaW50cyUzRCUyMjExMDguNDMlMjAxNDQzLjYzJTIwMTEwOS4wOCUyMDE0NDMuNjMlMjA0NDMuNDQlMjA3NzcuNzQlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTND''@;'; put 'put ''cG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5M0Q4Q0ElMjIlMjBvcGFjaXR5JTNEJTIyMC42JTIyJTIwc3R5bGUlM0QlMjJtaXgtYmxlbmQtbW9kZSUzQSUyMG92ZXJsYXklM0IlMjIlMjBwb2ludHMlM0QlMjIwLjc5JTIwMzM0LjkyJTIwNDQzLjQ0JTIwNzc3Ljc0JTIwMC43OSUyMDMzNC40OSUy''@;'; put 'put ''MiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0EwREVFQSUyMiUyMHBvaW50cyUzRCUyMjAuNzklMjAyMTEuODglMjAwLjc5JTIwMzI5LjYlMjA1OS42MiUyMDI3''@;'; put 'put ''MC43NyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjE2MC42NSUyMDE2OS43NCUyMDAuNzklMjA5LjczJTIwMC43''@;'; put 'put ''OSUyMDIxMS44OCUyMDkwLjI3JTIwMzAxLjQ2JTIwNTkuNjIlMjAyNzAuNzclMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNDREUzRUUlMjIlMjBwb2ludHMl''@;'; put 'put ''M0QlMjI1MDMuNzclMjAxNDQzLjYzJTIwNjk3LjQ3JTIwMTQ0My42MyUyMDgwMy43NCUyMDEzMzcuMzYlMjA3MDYuOTMlMjAxMjQwLjQzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24l''@;'; put 'put ''MjBmaWxsJTNEJTIyJTIzQ0RFM0VFJTIyJTIwcG9pbnRzJTNEJTIyMTU4LjMzJTIwNjkxLjE1JTIwMC43OSUyMDg0OC43MiUyMDAuNzklMjAxNDI3LjQzJTIwNDQ3LjUyJTIwOTgwLjclMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNDRURERTAlMjIlMjBwb2ludHMlM0QlMjIyNTcuNzElMjA1OTEuNzUlMjAwLjc5JTIwMzM0LjQ5JTIwMC43OSUyMDUzMy40MiUyMDE1OC4zMyUyMDY5MS4xNSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0E5QzlENSUyMiUyMHBvaW50cyUzRCUyMjAuNzklMjA1MzMuNDIlMjAwLjc5JTIwODQ4LjcyJTIwMTU4LjMzJTIwNjkxLjE1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUw''@;'; put 'put ''QSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQUZENEU3JTIyJTIwcG9pbnRzJTNEJTIyODA2LjQ2JTIwMTE0MC44OSUyMDU0Ni45NCUyMDg4MS4yOCUyMDQ0Ny41MiUyMDk4MC43JTIwNzA2LjkzJTIwMTI0''@;'; put 'put ''MC40MyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzhGQzRERiUyMiUyMHBvaW50cyUzRCUyMjQ0Ny41MiUyMDk4MC43JTIwMC43OSUyMDE0MjcuNDMlMjAw''@;'; put 'put ''Ljc5JTIwMTQ0My42MyUyMDUwMy43NyUyMDE0NDMuNjMlMjA3MDYuOTMlMjAxMjQwLjQzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNzBDMERDJTIyJTIw''@;'; put 'put ''cG9pbnRzJTNEJTIyNjA4LjIzJTIwODE5Ljk5JTIwNTQ2Ljk0JTIwODgxLjI4JTIwODA2LjQ2JTIwMTE0MC44OSUyMDg2Ny42NCUyMDEwNzkuNyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5''@;'; put 'put ''Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjQyMC4wNSUyMDQyOS4zOSUyMDMxOS4wMSUyMDUzMC40NSUyMDYwOC4yMyUyMDgxOS45OSUyMDcwOS4zJTIwNzE4LjkxJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjlBRkQ0JTIyJTIwcG9pbnRzJTNEJTIyNzA5LjMlMjA3MTguOTElMjA2MDguMjMlMjA4MTkuOTklMjA4NjcuNjQlMjAxMDc5LjclMjA5NjguNzQlMjA5NzguNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQl''@;'; put 'put ''MEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzhFQjVCQyUyMiUyMHBvaW50cyUzRCUyMjYxOS41OSUyMDIyOS44MiUyMDM5My40MiUyMDMuMTIlMjAzMjcuMjclMjAzLjEyJTIwMTYwLjY1JTIwMTY5Ljc0''@;'; put 'put ''JTIwNDIwLjA1JTIwNDI5LjM5JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOEVCNUJDJTIyJTIwcG9pbnRzJTNEJTIyMzE5LjAxJTIwNTMwLjQ1JTIwMzE5''@;'; put 'put ''LjAxJTIwNTMwLjQ1JTIwOTAuMjclMjAzMDEuNDYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM3Q0IwQzclMjIlMjBwb2ludHMlM0QlMjIxNjAuNjUlMjAx''@;'; put 'put ''NjkuNzQlMjA1OS42MiUyMDI3MC43NyUyMDkwLjI3JTIwMzAxLjQ2JTIwMzE5LjAxJTIwNTMwLjQ1JTIwNDIwLjA1JTIwNDI5LjM5JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBm''@;'; put 'put ''aWxsJTNEJTIyJTIzODRDNEQyJTIyJTIwcG9pbnRzJTNEJTIyNTkuNjIlMjAyNzAuNzclMjAwLjc5JTIwMzI5LjYlMjAwLjc5JTIwMzM0LjQ5JTIwMjU3LjcxJTIwNTkxLjc1JTIwMzE5LjAxJTIwNTMwLjQ1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzN0NCMEM3JTIyJTIwcG9pbnRzJTNEJTIyNTM3LjU1JTIwMy4xMiUyMDM5My40MiUyMDMuMTIlMjA2MTkuNTklMjAyMjkuODIlMjA2OTEuNzQlMjAxNTcuNjYlMjIlM0UlM0MlMkZwb2x5Z29uJTNF''@;'; put 'put ''JTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM4N0QxREIlMjIlMjBwb2ludHMlM0QlMjI4NDYuMjUlMjAzLjEyJTIwNTM3LjU1JTIwMy4xMiUyMDY5MS43NCUyMDE1Ny42NiUyMiUzRSUzQyUyRnBv''@;'; put 'put ''bHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0NERTNFRSUyMiUyMHBvaW50cyUzRCUyMjkwOS44NyUyMDE0NDMuNjMlMjA4NTAuMTklMjAxMzgzLjg3JTIwNzkwLjQzJTIwMTQ0My42''@;'; put 'put ''MyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0EwREVFQSUyMiUyMHBvaW50cyUzRCUyMjMxOS4wMSUyMDUzMC40NSUyMDI1Ny43MSUyMDU5MS43NSUyMDQ0''@;'; put 'put ''My40NCUyMDc3Ny43NCUyMDU0Ni45NCUyMDg4MS4yOCUyMDYwOC4yMyUyMDgxOS45OSUyMDg2Ny42NCUyMDEwNzkuNyUyMDg2Ny42NCUyMDEwNzkuNyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nw''@;'; put 'put ''b2x5Z29uJTIwZmlsbCUzRCUyMiUyM0EwREVFQSUyMiUyMHBvaW50cyUzRCUyMjg2Ny42NCUyMDEwNzkuNyUyMDgwNi40NiUyMDExNDAuODklMjA5MDMuMzElMjAxMjM3Ljc4JTIwOTY0LjQ2JTIwMTE3Ni42MyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjEwNjUuNTclMjAxMDc1LjUyJTIwOTY4Ljc0JTIwOTc4LjYlMjA4NjcuNjQlMjAxMDc5LjclMjA5NjQuNDYlMjAxMTc2LjYzJTIyJTNFJTNDJTJGcG9s''@;'; put 'put ''eWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTZDN0RGJTIyJTIwcG9pbnRzJTNEJTIyOTY0LjQ2JTIwMTE3Ni42MyUyMDg2Ny42NCUyMDEwNzkuNyUyMDg2Ny42NCUyMDEwNzkuNyUy''@;'; put 'put ''MDk2NC40NiUyMDExNzYuNjMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5NkM3REYlMjIlMjBwb2ludHMlM0QlMjIxMDEwLjkyJTIwMTIyMy4xMyUyMDEy''@;'; put 'put ''MzEuMTYlMjAxNDQzLjYzJTIwMTAxMC45MiUyMDEyMjMuMTMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5NkM3REYlMjIlMjBwb2ludHMlM0QlMjIxMjQw''@;'; put 'put ''LjA4JTIwNzA3LjIyJTIwMTE2Ny45JTIwNzc5LjQlMjAxMjY0LjY4JTIwODc2LjQlMjAxMzM2Ljg3JTIwODA0LjIyJTIwMTI0MC4wOCUyMDcwNy4yMSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nw''@;'; put 'put ''b2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjk4MC44MyUyMDQ0Ny4zOSUyMDY5MS43NCUyMDE1Ny42NiUyMDYxOS41OSUyMDIyOS44MiUyMDkwOC42NiUyMDUxOS41NiUyMDk4MC44MyUyMDQ0Ny4zOSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0FGRDRFNyUyMiUyMHBvaW50cyUzRCUyMjcwOS4zJTIwNzE4LjkxJTIwOTY4Ljc0JTIwOTc4LjYlMjAxMTY3LjkxJTIwNzc5LjQlMjA5MDguNjYlMjA1MTkuNTUlMjIl''@;'; put 'put ''M0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2OUFGRDQlMjIlMjBwb2ludHMlM0QlMjI5ODAuODMlMjA0NDcuMzklMjA5MDguNjYlMjA1MTkuNTUlMjAxMTY3Ljkx''@;'; put 'put ''JTIwNzc5LjQlMjAxMjQwLjA4JTIwNzA3LjIxJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQTBERUVBJTIyJTIwcG9pbnRzJTNEJTIyMTAzNC41OSUyMDMu''@;'; put 'put ''MTIlMjA4NDYuMjUlMjAzLjEyJTIwNjkxLjc0JTIwMTU3LjY2JTIwOTgwLjgzJTIwNDQ3LjM5JTIwMTIyOS43NSUyMDE5OC40NyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmls''@;'; put 'put ''bCUzRCUyMiUyM0EwREVFQSUyMiUyMHBvaW50cyUzRCUyMjEyNDAuMDglMjA3MDcuMjElMjAxMzM2Ljg3JTIwODA0LjIyJTIwMTU4Ni4wMSUyMDU1NS4wOCUyMDE0ODkuMTQlMjA0NTguMTIlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM3MEMwREMlMjIlMjBwb2ludHMlM0QlMjIxMjI5Ljc1JTIwMTk4LjQ3JTIwOTgwLjgzJTIwNDQ3LjM5JTIwMTI0MC4wOCUyMDcwNy4yMSUyMDE0ODkuMTQlMjA0NTguMTIlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBE''@;'; put 'put ''JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNCN0NFRDIlMjIlMjBwb2ludHMlM0QlMjIxMjkyLjIyJTIwMTMwMi4zOCUyMDE0MzMuMzIlMjAxNDQzLjYzJTIwMTgzMC42MSUyMDE0NDMuNjMlMjAxNDkx''@;'; put 'put ''LjE4JTIwMTEwMy40MiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0EwREVFQSUyMiUyMHBvaW50cyUzRCUyMjEwMTAuOTIlMjAxMjIzLjEzJTIwOTQ5Ljc4''@;'; put 'put ''JTIwMTI4NC4yNyUyMDExMDkuMDglMjAxNDQzLjYzJTIwMTE1MC45OCUyMDE0NDMuNjMlMjAxMTkxLjA5JTIwMTQwMy41MSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUz''@;'; put 'put ''RCUyMiUyMzc1QjhDNSUyMiUyMHBvaW50cyUzRCUyMjExNTAuOTglMjAxNDQzLjYzJTIwMTIzMS4xNiUyMDE0NDMuNjMlMjAxMTkxLjA5JTIwMTQwMy41MSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''M0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk2QzdERiUyMiUyMHBvaW50cyUzRCUyMjEyOTIuMjIlMjAxMzAyLjM4JTIwMTExMi4wMyUyMDExMjIuMDIlMjAxMDEwLjkyJTIwMTIyMy4xMyUyMDExOTEuMDklMjAxNDAzLjUxJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNkVBNEJDJTIyJTIwcG9pbnRzJTNEJTIyMTE5MS4wOSUyMDE0MDMuNTElMjAxMjMxLjE2JTIwMTQ0My42MyUyMDE0MzMuMzIlMjAxNDQzLjYzJTIwMTI5Mi4yMiUyMDEzMDIuMzgl''@;'; put 'put ''MjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjMwMDdDQkIlMjIlMjBvcGFjaXR5JTNEJTIyMC40JTIyJTIwc3R5bGUlM0QlMjJtaXgtYmxlbmQtbW9kZSUzQSUy''@;'; put 'put ''MG11bHRpcGx5JTNCJTIyJTIwcG9pbnRzJTNEJTIyMTM4My4zJTIwODUwLjc1JTIwMTMxMS4xMiUyMDkyMi45NCUyMDE0OTEuMTglMjAxMTAzLjQyJTIwMTU2My4zNyUyMDEwMzEuMjMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNCN0NFRDIlMjIlMjBwb2ludHMlM0QlMjIxNDkxLjE4JTIwMTEwMy40MiUyMDE4MzAuNjElMjAxNDQzLjYzJTIwMTk3NC44NiUyMDE0NDMuNjMlMjAxNTYzLjM3JTIwMTAzMS4yMyUyMiUzRSUzQyUyRnBvbHlnb24lM0Ul''@;'; put 'put ''MEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzZFQTRCQyUyMiUyMHBvaW50cyUzRCUyMjE0OTEuMTglMjAxMTAzLjQyJTIwMTgzMC42MSUyMDE0NDMuNjMlMjAxOTc0Ljg2JTIwMTQ0My42MyUyMDE1''@;'; put 'put ''NjMuMzclMjAxMDMxLjIzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQTBERUVBJTIyJTIwcG9pbnRzJTNEJTIyMTgxMi42NSUyMDc4MS45NSUyMDE2MzIu''@;'; put 'put ''NDYlMjA2MDEuNTklMjAxMzgzLjMlMjA4NTAuNzUlMjAxNTYzLjM3JTIwMTAzMS4yMyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0I3Q0VEMiUyMiUyMHBv''@;'; put 'put ''aW50cyUzRCUyMjE1NjMuMzclMjAxMDMxLjIzJTIwMTk3NC44NiUyMDE0NDMuNjMlMjAyMDU0LjQ1JTIwMTQ0My42MyUyMDIwNTQuNDUlMjAxMDIzLjk5JTIwMTgxMi42NSUyMDc4MS45NSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzc4Q0FENCUyMiUyMHBvaW50cyUzRCUyMjE1NjMuMzclMjAxMDMxLjIzJTIwMTk3NC44NiUyMDE0NDMuNjMlMjAyMDU0LjQ1JTIwMTQ0My42MyUyMDIwNTQuNDUlMjAxMDIzLjk5JTIwMTgxMi42NSUyMDc4MS45NSUy''@;'; put 'put ''MiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzkxQzVFMCUyMiUyMHBvaW50cyUzRCUyMjgwMy43NCUyMDEzMzcuMzYlMjA4NTAuMTklMjAxMzgzLjg3JTIwOTQ5''@;'; put 'put ''Ljc4JTIwMTI4NC4yNyUyMDkwMy4zMSUyMDEyMzcuNzglMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5MUM1RTAlMjIlMjBwb2ludHMlM0QlMjIxMDY1LjU3''@;'; put 'put ''JTIwMTA3NS41MiUyMDExMTIuMDMlMjAxMTIyLjAyJTIwMTMxMS4xMiUyMDkyMi45NCUyMDEyNjQuNjklMjA4NzYuNCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUy''@;'; put 'put ''MiUyMzc3QjhEOSUyMiUyMHBvaW50cyUzRCUyMjY5Ny40NyUyMDE0NDMuNjMlMjA3OTAuNDMlMjAxNDQzLjYzJTIwODUwLjE5JTIwMTM4My44NyUyMDgwMy43NCUyMDEzMzcuMzYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNBMERFRUElMjIlMjBwb2ludHMlM0QlMjI5NjQuNDYlMjAxMTc2LjYzJTIwOTAzLjMxJTIwMTIzNy43OCUyMDk0OS43OCUyMDEyODQuMjclMjAxMDEwLjkyJTIwMTIyMy4xMyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEEl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzVEQjVENiUyMiUyMHBvaW50cyUzRCUyMjk2NC40NiUyMDExNzYuNjMlMjA5MDMuMzElMjAxMjM3Ljc4JTIwOTQ5Ljc4JTIwMTI4NC4yNyUyMDEwMTAuOTIlMjAx''@;'; put 'put ''MjIzLjEzJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzOTZDN0RGJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MTAzOC4yNDcyOTclMkMlMjAxMTQ5''@;'; put 'put ''LjI3NTQyOSUyOSUyMHJvdGF0ZSUyOC00NC45NzAwMDAlMjklMjB0cmFuc2xhdGUlMjgtMTAzOC4yNDcyOTclMkMlMjAtMTE0OS4yNzU0MjklMjklMjAlMjIlMjB4JTNEJTIyOTY2Ljc1MjI5NyUyMiUyMHklM0QlMjIxMTE2LjQxMDQzJTIyJTIwd2lkdGglM0QlMjIxNDIuOTklMjIlMjBoZWln''@;'; put 'put ''aHQlM0QlMjI2NS43MyUyMiUzRSUzQyUyRnJlY3QlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzU3QThEMCUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSUyODEwMzguMjQ3Mjk3JTJDJTIw''@;'; put 'put ''MTE0OS4yNzU0MjklMjklMjByb3RhdGUlMjgtNDQuOTcwMDAwJTI5JTIwdHJhbnNsYXRlJTI4LTEwMzguMjQ3Mjk3JTJDJTIwLTExNDkuMjc1NDI5JTI5JTIwJTIyJTIweCUzRCUyMjk2Ni43NTIyOTclMjIlMjB5JTNEJTIyMTExNi40MTA0MyUyMiUyMHdpZHRoJTNEJTIyMTQyLjk5JTIyJTIw''@;'; put 'put ''aGVpZ2h0JTNEJTIyNjUuNzMlMjIlM0UlM0MlMkZyZWN0JTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5NkM3REYlMjIlMjBwb2ludHMlM0QlMjIxMDEwLjkyJTIwMTIyMy4xMyUyMDEwMTAu''@;'; put 'put ''OTIlMjAxMjIzLjEzJTIwOTY0LjQ2JTIwMTE3Ni42MyUyMDk2NC40NiUyMDExNzYuNjMlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjMwMDAwMDAlMjIlMjBv''@;'; put 'put ''cGFjaXR5JTNEJTIyMC40MiUyMiUyMHBvaW50cyUzRCUyMjEwMTAuOTIlMjAxMjIzLjEzJTIwMTAxMC45MiUyMDEyMjMuMTMlMjA5NjQuNDYlMjAxMTc2LjYzJTIwOTY0LjQ2JTIwMTE3Ni42MyUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzAwN0NCQiUyMiUyMG9wYWNpdHklM0QlMjIwLjQlMjIlMjBzdHlsZSUzRCUyMm1peC1ibGVuZC1tb2RlJTNBJTIwbXVsdGlwbHklM0IlMjIlMjBwb2ludHMlM0QlMjIxMzM2Ljg3JTIwODA0LjIyJTIwMTI2NC42''@;'; put 'put ''OSUyMDg3Ni40JTIwMTMxMS4xMiUyMDkyMi45NCUyMDEzODMuMyUyMDg1MC43NSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzU3QThEMCUyMiUyMHBvaW50''@;'; put 'put ''cyUzRCUyMjEzMzYuODclMjA4MDQuMjIlMjAxMjY0LjY5JTIwODc2LjQlMjAxMzExLjEyJTIwOTIyLjk0JTIwMTM4My4zJTIwODUwLjc1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24l''@;'; put 'put ''MjBmaWxsJTNEJTIyJTIzOTNEOENBJTIyJTIwb3BhY2l0eSUzRCUyMjAuNiUyMiUyMHN0eWxlJTNEJTIybWl4LWJsZW5kLW1vZGUlM0ElMjBvdmVybGF5JTNCJTIyJTIwcG9pbnRzJTNEJTIyMTMzNi44NyUyMDgwNC4yMiUyMDEzODMuMyUyMDg1MC43NSUyMDE2MzIuNDYlMjA2MDEuNTklMjAx''@;'; put 'put ''NTg2LjAxJTIwNTU1LjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNURCNUQ2JTIyJTIwcG9pbnRzJTNEJTIyMTMzNi44NyUyMDgwNC4yMiUyMDEzODMu''@;'; put 'put ''MyUyMDg1MC43NSUyMDE2MzIuNDYlMjA2MDEuNTklMjAxNTg2LjAxJTIwNTU1LjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzQUZEM0U2JTIyJTIwcG9p''@;'; put 'put ''bnRzJTNEJTIyMjA1NiUyMDAuMTIlMjAxNjQ1LjQ5JTIwMC4xMiUyMDE2NDguNDklMjAzLjEyJTIwMTk0NC4wNyUyMDMuMTIlMjAxNzk2LjIyJTIwMTUwLjk5JTIwMTg5My4xMiUyMDI0Ny45NyUyMDIwNTQuNDUlMjA4Ni42NCUyMDIwNTQuNDUlMjAxNzkuNiUyMDE5MzkuNTglMjAyOTQuNDcl''@;'; put 'put ''MjAyMDU2JTIwNDExJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzN0FCOUQ5JTIyJTIwcG9pbnRzJTNEJTIyMTY0OC40OSUyMDMuMTIlMjAxNzk2LjIyJTIw''@;'; put 'put ''MTUwLjk5JTIwMTk0NC4wNyUyMDMuMTIlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NkFFRDQlMjIlMjBwb2ludHMlM0QlMjIyMDU0LjQ1JTIwODYuNjQl''@;'; put 'put ''MjAxODkzLjEyJTIwMjQ3Ljk3JTIwMTkzOS41OCUyMDI5NC40NyUyMDIwNTQuNDUlMjAxNzkuNiUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM0I3Q0VEMiUy''@;'; put 'put ''MiUyMHBvaW50cyUzRCUyMjE4ODQuODIlMjA3MDkuNzglMjAyMDU0LjQ1JTIwODc5LjU3JTIwMjA1NC40NSUyMDU0MC4xNSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUz''@;'; put 'put ''RCUyMiUyM0FGRDRFNyUyMiUyMHBvaW50cyUzRCUyMjE0ODkuMTQlMjA0NTguMTIlMjAxNDg5LjE0JTIwNDU4LjEyJTIwMTM3MS4xMyUyMDMzOS45OSUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0Nw''@;'; put 'put ''b2x5Z29uJTIwZmlsbCUzRCUyMiUyM0FGRDRFNyUyMiUyMHBvaW50cyUzRCUyMjE3OTYuMjIlMjAxNTAuOTklMjAxNjQ4LjQ5JTIwMy4xMiUyMDE0MjUuMSUyMDMuMTIlMjAxMzAxLjkxJTIwMTI2LjMxJTIwMTU2MS4zJTIwMzg1Ljk1JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzOTFDNUUwJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MTc5OC45NTQwNjYlMkMlMjAzODguNzk4NzgxJTI5JTIwcm90YXRlJTI4LTQ0Ljk3MDAwMCUyOSUyMHRy''@;'; put 'put ''YW5zbGF0ZSUyOC0xNzk4Ljk1NDA2NiUyQyUyMC0zODguNzk4NzgxJTI5JTIwJTIyJTIweCUzRCUyMjE2MzIuODI0MDclMjIlMjB5JTNEJTIyMzU1LjkzMzc4MSUyMiUyMHdpZHRoJTNEJTIyMzMyLjI2JTIyJTIwaGVpZ2h0JTNEJTIyNjUuNzMlMjIlM0UlM0MlMkZyZWN0JTNFJTBEJTBBJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5MUM1RTAlMjIlMjBwb2ludHMlM0QlMjIxNTg2LjAxJTIwNTU1LjA4JTIwMTYzMi40NiUyMDYwMS41OSUyMDE2MzIuNDYlMjA2MDEuNTklMjAxNTg2LjAxJTIwNTU1''@;'; put 'put ''LjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzQjNFQUVFJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MTU3My43MTE1NzclMkMlMjA0NzAuNjIw''@;'; put 'put ''MjYzJTI5JTIwcm90YXRlJTI4LTQ1LjAwMDAwMCUyOSUyMHRyYW5zbGF0ZSUyOC0xNTczLjcxMTU3NyUyQyUyMC00NzAuNjIwMjYzJTI5JTIwJTIyJTIweCUzRCUyMjE1MjIuNjgxNTglMjIlMjB5JTNEJTIyNDAyLjA4NTI2MyUyMiUyMHdpZHRoJTNEJTIyMTAyLjA2JTIyJTIwaGVpZ2h0JTNE''@;'; put 'put ''JTIyMTM3LjA3JTIyJTNFJTNDJTJGcmVjdCUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzQjNFQUVFJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MTc1OC42NzY3NTglMkMlMjA2NTUu''@;'; put 'put ''NzY3MTIwJTI5JTIwcm90YXRlJTI4LTQ0Ljk3MDAwMCUyOSUyMHRyYW5zbGF0ZSUyOC0xNzU4LjY3Njc1OCUyQyUyMC02NTUuNzY3MTIwJTI5JTIwJTIyJTIweCUzRCUyMjE3MDcuNjQ2NzYlMjIlMjB5JTNEJTIyNTI4LjI5MjEyJTIyJTIwd2lkdGglM0QlMjIxMDIuMDYlMjIlMjBoZWlnaHQl''@;'; put 'put ''M0QlMjIyNTQuOTUlMjIlM0UlM0MlMkZyZWN0JTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjNCM0VBRUUlMjIlMjBwb2ludHMlM0QlMjIxMzAxLjkxJTIwMTI2LjMxJTIwMTE3OC44NCUyMDMu''@;'; put 'put ''MTIlMjAxMDM0LjU5JTIwMy4xMiUyMDEyMjkuNzUlMjAxOTguNDclMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM4M0MwQzglMjIlMjBwb2ludHMlM0QlMjIx''@;'; put 'put ''ODEyLjY1JTIwNzgxLjk1JTIwMjA1NC40NSUyMDEwMjMuOTklMjAyMDU0LjQ1JTIwODc5LjU3JTIwMTg4NC44MiUyMDcwOS43OCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUz''@;'; put 'put ''RCUyMiUyMzdEQzZEQyUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSUyODEzOTUuNTE2OTAxJTJDJTIwMjkyLjIwNjUxOSUyOSUyMHJvdGF0ZSUyOC00NS4wMDAwMDAlMjklMjB0cmFuc2xhdGUlMjgtMTM5NS41MTY5MDElMkMlMjAtMjkyLjIwNjUxOSUyOSUyMCUyMiUyMHglM0QlMjIx''@;'; put 'put ''MzQ0LjQ5MTklMjIlMjB5JTNEJTIyMTA4LjcwMTUxOSUyMiUyMHdpZHRoJTNEJTIyMTAyLjA1JTIyJTIwaGVpZ2h0JTNEJTIyMzY3LjAxJTIyJTNFJTNDJTJGcmVjdCUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxs''@;'; put 'put ''JTNEJTIyJTIzNjhCOEQ1JTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlJTI4MTY0NS4zMTM2MTklMkMlMjA1NDIuMjQ5NzYwJTI5JTIwcm90YXRlJTI4LTQ1LjAwMDAwMCUyOSUyMHRyYW5zbGF0ZSUyOC0xNjQ1LjMxMzYxOSUyQyUyMC01NDIuMjQ5NzYwJTI5JTIwJTIyJTIweCUzRCUy''@;'; put 'put ''MjE1OTQuMjgzNjIlMjIlMjB5JTNEJTIyNTA5LjM4NDc2JTIyJTIwd2lkdGglM0QlMjIxMDIuMDYlMjIlMjBoZWlnaHQlM0QlMjI2NS43MyUyMiUzRSUzQyUyRnJlY3QlM0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZnJTNFJTBEJTBBJTIwJTIwJTIw''@;'; put 'put ''JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDZyUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSUyODAuMDAwMDAwJTJDJTIwMy4wMDAwMDAlMjklMjIlMjBzdHJva2UlM0QlMjIlMjMwMDAwMDAlMjIlMjBvcGFjaXR5JTNEJTIyMC4xNSUyMiUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BhdGglMjBkJTNEJTIyTTAuOTUlMkMwLjEyJTIwTDAuOTUlMkM4NDAuMTIlMjIlMjBpZCUzRCUyMlNoYXBlJTIyJTNFJTNDJTJGcGF0aCUzRSUwRCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRmcl''@;'; put 'put ''M0UlMEQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZnJTNFJTBEJTBBJTIwJTIwJTIwJTIwJTNDJTJGZyUzRSUwRCUwQSUzQyUyRnN2ZyUzRSk7YmFja2dyb3VuZC1zaXplOjEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjoyNS4ycmVtIDA7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVw''@;'; put 'put ''ZWF0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbntiYWNrZ3JvdW5kOiNmYWZhZmE7YmFja2dyb3VuZDp2YXIoLS1jbHItbG9naW4tYmFja2dyb3VuZC1jb2xvciwgI2ZhZmFmYSk7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2Zs''@;'; put 'put ''ZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MS4ycmVtIDNyZW07aGVpZ2h0OmF1dG87bWluLWhlaWdodDoxMDB2aDt3aWR0aDoyNS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbiAudGl0''@;'; put 'put ''bGV7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItbG9naW4tdGl0bGUtY29sb3IsIGJsYWNrKTtmb250LXdlaWdodDoyMDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWxvZ2luLXRpdGxlLWZvbnQtd2VpZ2h0LCAyMDApO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0''@;'; put 'put ''aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItbG9naW4tdGl0bGUtZm9udC1mYW1pbHksIE1ldHJvcG9saXMsICJBdmVuaXIgTmV4dCIsICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXNpemU6MS42cmVtO2xldHRlci1zcGFj''@;'; put 'put ''aW5nOm5vcm1hbDtsaW5lLWhlaWdodDoxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC50aXRsZSAud2VsY29tZXtsaW5lLWhlaWdodDoxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBw''@;'; put 'put ''ZXIgLmxvZ2luIC50aXRsZSAuaGludHtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1sb2dpbi10aXRsZS1jb2xvciwgYmxhY2spO21hcmdpbi10b3A6MS41cmVtO2ZvbnQtc2l6ZTouN3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW4g''@;'; put 'put ''LnRyYWRlbWFya3tjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1sb2dpbi10cmFkZW1hcmstY29sb3IsIGJsYWNrKTtmb250LXdlaWdodDoyMDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWxvZ2luLXRyYWRlbWFyay1mb250LXdlaWdodCwgMjAwKTtmb250LWZhbWlseTpNZXRyb3BvbGlzLEF2''@;'; put 'put ''ZW5pciBOZXh0LEhlbHZldGljYSBOZXVlLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1mYW1pbHk6dmFyKC0tY2xyLWxvZ2luLXRyYWRlbWFyay1mb250LWZhbWlseSwgTWV0cm9wb2xpcywgIkF2ZW5pciBOZXh0IiwgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIHNhbnMtc2VyaWYpO2ZvbnQtc2l6''@;'; put 'put ''ZToxLjRyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbiAuc3VidGl0bGV7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1sb2dpbi1zdWJ0aXRsZS1mb250LXdlaWdodCwgMjAw''@;'; put 'put ''KTtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1sb2dpbi1zdWJ0aXRsZS1jb2xvciwgYmxhY2spO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItbG9naW4tc3VidGl0bGUtZm9u''@;'; put 'put ''dC1mYW1pbHksIE1ldHJvcG9saXMsICJBdmVuaXIgTmV4dCIsICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXNpemU6MS4xcmVtO2xldHRlci1zcGFjaW5nOm5vcm1hbDtsaW5lLWhlaWdodDoxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6Mi40cmVtIDAgMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW4gLmxvZ2luLWdyb3VwIC5hdXRoLXNv''@;'; put 'put ''dXJjZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAudXNlcm5hbWUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbiAubG9naW4tZ3JvdXAgLnBhc3N3b3JkLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW4gLmxvZ2luLWdyb3VwIC5jaGVja2JveCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAuY2xyLWZvcm0tY29udHJvbCwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAuY2xyLWNoZWNrYm94LXdyYXBwZXJ7bWFyZ2luOi4zcmVtIDAgLjlyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2lu''@;'; put 'put ''IC5sb2dpbi1ncm91cCAuY2xyLWNvbnRyb2wtY29udGFpbmVye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW4gLmxvZ2luLWdyb3VwIC5jbHItY29udHJvbC1jb250YWluZXIgLmNsci1zZWxlY3Qt''@;'; put 'put ''d3JhcHBlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAuY2xyLWNvbnRyb2wtY29udGFpbmVyIC5jbHItc2VsZWN0e3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdy''@;'; put 'put ''YXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAuY2xyLWNvbnRyb2wtY29udGFpbmVyIC5jbHItaW5wdXQtd3JhcHBlcj4uY2xyLWlucHV0e3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAuY2xyLWNv''@;'; put 'put ''bnRyb2wtY29udGFpbmVyIC5jbHItaW5wdXQtd3JhcHBlcnt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbiAubG9naW4tZ3JvdXAgLmNsci1jb250cm9sLWNvbnRhaW5lciAuY2xyLWlucHV0LXdyYXBwZXI+LmNsci1pbnB1''@;'; put 'put ''dC1ncm91cHttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlO3BhZGRpbmctcmlnaHQ6LjQ4cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbiAubG9naW4tZ3JvdXAgLmNsci1jb250cm9sLWNvbnRhaW5lciAuY2xyLWlucHV0LXdyYXBwZXI+''@;'; put 'put ''LmNsci1pbnB1dC1ncm91cD4uY2xyLWlucHV0e3dpZHRoOmNhbGMoMTAwJSAtIDEuMnJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAudG9vbHRpcC12YWxpZGF0aW9ue21hcmdpbi10b3A6LjNyZW19LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAudG9vbHRpcC12YWxpZGF0aW9uIC51c2VybmFtZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAudG9v''@;'; put 'put ''bHRpcC12YWxpZGF0aW9uIC5wYXNzd29yZHt3aWR0aDoxMDAlO21hcmdpbi10b3A6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW4gLmxvZ2luLWdyb3VwIC5lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luOi4zcmVtIDAgMDtwYWRkaW5nOi40''@;'; put 'put ''NXJlbSAuNnJlbTtiYWNrZ3JvdW5kOiNjMjFkMDA7YmFja2dyb3VuZDp2YXIoLS1jbHItbG9naW4tZXJyb3ItYmFja2dyb3VuZC1jb2xvciwgI2MyMWQwMCk7Y29sb3I6I2ZhZmFmYTtjb2xvcjp2YXIoLS1jbHItbG9naW4tYmFja2dyb3VuZC1jb2xvciwgI2ZhZmFmYSk7Ym9yZGVyLXJhZGl1''@;'; put 'put ''czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItbG9naW4tZXJyb3ItYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtsaW5lLWhlaWdodDouOXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW4gLmxvZ2luLWdyb3VwIC5lcnJvcjpiZWZv''@;'; put 'put ''cmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29udGVudDoiIjtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB2aWV3Qm94JTNEJTIyNSUyMDUlMjAyNiUyMDI2JTIyJTIwcHJlc2VydmVBc3BlY3RSYXRp''@;'; put 'put ''byUzRCUyMnhNaWRZTWlkJTIwbWVldCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTNDZGVmcyUzRSUzQ3N0eWxlJTNF''@;'; put 'put ''LmNsci1pLW91dGxpbmUlN0JmaWxsJTNBJTIzZmFmYWZhJTNCJTdEJTNDJTJGc3R5bGUlM0UlM0MlMkZkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDdGl0bGUlM0VleGNsYW1hdGlvbi1jaXJjbGUtbGluZSUzQyUyRnRpdGxlJTNF''@;'; put 'put ''JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDcGF0aCUyMGNsYXNzJTNEJTIyY2xyLWktb3V0bGluZSUyMGNsci1pLW91dGxpbmUtcGF0aC0xJTIyJTIwZCUzRCUyMk0xOCUyQzZBMTIlMkMxMiUyQzAlMkMxJTJDMCUyQzMwJTJDMTglMkMxMiUy''@;'; put 'put ''QzEyJTJDMCUyQzAlMkMwJTJDMTglMkM2Wm0wJTJDMjJBMTAlMkMxMCUyQzAlMkMxJTJDMSUyQzI4JTJDMTglMkMxMCUyQzEwJTJDMCUyQzAlMkMxJTJDMTglMkMyOFolMjIlM0UlM0MlMkZwYXRoJTNFJTNDcGF0aCUyMGNsYXNzJTNEJTIyY2xyLWktb3V0bGluZSUyMGNsci1pLW91dGxpbmUt''@;'; put 'put ''cGF0aC0yJTIyJTIwZCUzRCUyMk0xOCUyQzIwLjA3YTEuMyUyQzEuMyUyQzAlMkMwJTJDMS0xLjMtMS4zdi02YTEuMyUyQzEuMyUyQzAlMkMxJTJDMSUyQzIuNiUyQzB2NkExLjMlMkMxLjMlMkMwJTJDMCUyQzElMkMxOCUyQzIwLjA3WiUyMiUzRSUzQyUyRnBhdGglM0UlM0NjaXJjbGUlMjBj''@;'; put 'put ''bGFzcyUzRCUyMmNsci1pLW91dGxpbmUlMjBjbHItaS1vdXRsaW5lLXBhdGgtMyUyMiUyMGN4JTNEJTIyMTcuOTUlMjIlMjBjeSUzRCUyMjIzLjAyJTIyJTIwciUzRCUyMjEuNSUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUy''@;'; put 'put ''RnN2ZyUzRSk7bWFyZ2luOi4wNXJlbSAuM3JlbSAwIDA7aGVpZ2h0Oi44cmVtO3dpZHRoOi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbiAubG9naW4tZ3JvdXAgLmVycm9yLmFjdGl2ZXtkaXNwbGF5OmZsZXh9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAuZXJyb3IuYWN0aXZlOmJlZm9yZXtmbGV4OjAgMCAuOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW4gLmxvZ2luLWdyb3VwIC5idG57''@;'; put 'put ''bWFyZ2luOjMuNnJlbSAwIDA7bWF4LXdpZHRoOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIC5sb2dpbi1ncm91cCAuZXJyb3IrLmJ0bnttYXJnaW46MS4ycmVtIDAgMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''bG9naW4td3JhcHBlciAubG9naW4gLmxvZ2luLWdyb3VwIC5zaWdudXB7bWFyZ2luLXRvcDouNnJlbTtmb250LXNpemU6LjdyZW07dGV4dC1hbGlnbjpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luOmFmdGVye3Bvc2l0aW9uOmFi''@;'; put 'put ''c29sdXRlO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jazt3aWR0aDouMDVyZW07aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpibGFjaztiYWNrZ3JvdW5kOnZhcigtLWNsci1sb2dpbi1wYW5lbC1saW5lLWNvbG9yLCBibGFjayk7b3BhY2l0eTouMTtvcGFjaXR5OnZhcigtLWNsci1sb2dpbi1wYW5l''@;'; put 'put ''bC1saW5lLW9wYWNpdHksIC4xKTt0b3A6MDtyaWdodDotLjFyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDojZmFmYWZh''@;'; put 'put ''O2JhY2tncm91bmQ6dmFyKC0tY2xyLWxvZ2luLWJhY2tncm91bmQtY29sb3IsICNmYWZhZmEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbnt3aWR0aDoxMDAlO21hcmdpbi1sZWZ0OjA7cGFkZGluZzoxLjJyZW0gMjAlfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbjphZnRlcntjb250ZW50Om5vbmV9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubG9naW4td3JhcHBlciAubG9naW57cGFkZGluZzox''@;'; put 'put ''LjJyZW0gMTUlfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwdmg7YmFja2dyb3VuZDojZmFmYWZhO2JhY2tncm91bmQ6dmFyKC0tY2xyLWdsb2JhbC1hcHAtYmFja2dy''@;'; put 'put ''b3VuZCwgI2ZhZmFmYSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5hbGVydC5hbGVydC1hcHAtbGV2ZWx7ZmxleDowIDAgYXV0bztvdmVyZmxvdy14OmhpZGRlbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWlu''@;'; put 'put ''ZXIgaGVhZGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRlcntmbGV4OjAgMCAzcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXZ7ZmxleDowIDAgMS44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAudS1tYWluLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MSAxIGF1dG87''@;'; put 'put ''b3ZlcmZsb3c6aGlkZGVufS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDouMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1h''@;'; put 'put ''aW4tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1hcmVhe2ZsZXg6MSAxIGF1dG87b3ZlcmZsb3cteTphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3BhZGRpbmc6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNv''@;'; put 'put ''bnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQtYXJlYT46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnNpZGVuYXZ7ZmxleDowIDAgYXV0bztvcmRlcjot''@;'; put 'put ''MTtvdmVyZmxvdzpoaWRkZW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY2xyLXZlcnRpY2FsLW5hdntmbGV4OjAgMCBhdXRvO29yZGVyOi0xfUBtZWRpYSBwcmludHsuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAubWFpbi1jb250YWluZXJ7aGVpZ2h0OmF1dG99fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJvZHkubm8tc2Nyb2xsaW5nLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5W2Nkcy1sYXlvdXQ9bm8tc2Nyb2xsaW5nXXtvdmVyZmxvdzpoaWRk''@;'; put 'put ''ZW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYm9keS5uby1zY3JvbGxpbmcgLm1haW4tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1hcmVhLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBib2R5W2Nkcy1sYXlvdXQ9bm8tc2Nyb2xsaW5n''@;'; put 'put ''XSAubWFpbi1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LWFyZWF7b3ZlcmZsb3c6aGlkZGVufS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xyLW1vZGFsLWNsb3NlLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDAp''@;'; put 'put ''Oy0tY2xyLW1vZGFsLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1tb2RhbC1jb250ZW50LWJveC1zaGFkb3ctY29sb3I6IHJnYmEoIDAsIDAsIDAsIC4yICk7LS1jbHItbW9kYWwtYmFja2Ryb3AtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTkwMCk7''@;'; put 'put ''LS1jbHItbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogLjg1Oy0tY2xyLW1vZGFsLWJvcmRlci1yYWRpdXM6IHZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzKTstLWNsci1tb2RhbC10aXRsZS1jb2xvcjogdmFyKC0tY2xyLWgzLWNvbG9yKTstLWNsci1tb2RhbC10aXRsZS1mb250LWZhbWls''@;'; put 'put ''eTogdmFyKC0tY2xyLWgzLWZvbnQtZmFtaWx5KTstLWNsci1tb2RhbC10aXRsZS1mb250LXdlaWdodDogdmFyKC0tY2xyLWgzLWZvbnQtd2VpZ2h0KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWx7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDts''@;'; put 'put ''ZWZ0OjA7ei1pbmRleDoxMDUwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyLjRyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5tb2RhbHtwYWRkaW5nOi42cmVtfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA1MDt3aWR0aDoyOC44cmVtO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5tb2RhbC1kaWFsb2cubW9kYWwtc217d2lkdGg6MTQuNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtZGlhbG9nLm1vZGFsLWxne3dpZHRoOjQzLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vZGFsLWRpYWxv''@;'; put 'put ''Zy5tb2RhbC14bHt3aWR0aDo1Ny42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWNvbnRlbnR7cGFkZGluZzoxLjJyZW07YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLW1vZGFsLWJnLWNvbG9y''@;'; put 'put ''LCB3aGl0ZSk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItbW9kYWwtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtib3gtc2hhZG93OjAgLjA1cmVtIC4xcmVtIC4xcmVtICMwMDAzO2JveC1zaGFkb3c6MCAuMDVyZW0gLjFyZW0gLjFyZW0gdmFyKC0tY2xyLW1v''@;'; put 'put ''ZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1jb2xvcil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vZGFsLWhlYWRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vZGFsLWhlYWRlci0tYWNjZXNzaWJsZXtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzow''@;'; put 'put ''IDAgMS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1oZWFkZXItLWFjY2Vzc2libGV7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLm1vZGFsLWhlYWRlciAubW9kYWwtdGl0bGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1oZWFkZXItLWFjY2Vzc2libGUgLm1vZGFsLXRpdGxle2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLW1vZGFsLXRpdGxlLWNvbG9yLCBibGFjayk7bWFyZ2luOjA7''@;'; put 'put ''cGFkZGluZzowIC4xNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtaGVhZGVyIC5tb2RhbC10aXRsZTpub3QoW2Nkcy10ZXh0XSksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1oZWFkZXItLWFjY2Vzc2libGUgLm1vZGFsLXRpdGxl''@;'; put 'put ''Om5vdChbY2RzLXRleHRdKXtmb250LXNpemU6MS4xcmVtO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItbW9kYWwtdGl0bGUtZm9udC1mYW1pbHksIE1ldHJvcG9saXMsICJBdmVu''@;'; put 'put ''aXIgTmV4dCIsICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXdlaWdodDoyMDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLW1vZGFsLXRpdGxlLWZvbnQtd2VpZ2h0LCAyMDApO2xpbmUtaGVpZ2h0OjEuMnJlbTtsZXR0ZXItc3BhY2luZzpub3JtYWx9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vZGFsLWhlYWRlciAuY2xvc2UsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1oZWFkZXItLWFjY2Vzc2libGUgLmNsb3Nle21hcmdpbi10b3A6LS4wNXJlbTttYXJnaW4tcmlnaHQ6LS4yNXJlbTtmb250LXNpemU6MS4z''@;'; put 'put ''cmVtO2xpbmUtaGVpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtaGVhZGVyIC5jbG9zZSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vZGFsLWhlYWRlci0tYWNjZXNzaWJsZSAuY2xvc2UgY2RzLWljb24sIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1oZWFkZXIgLmNsb3NlIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtaGVhZGVyLS1hY2Nlc3NpYmxlIC5jbG9zZSBjbHItaWNvbntmaWxsOiM4YzhjOGM7ZmlsbDp2YXIoLS1jbHIt''@;'; put 'put ''bW9kYWwtY2xvc2UtY29sb3IsICM4YzhjOGMpO2hlaWdodDoxLjJyZW07d2lkdGg6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC10aXRsZS13cmFwcGVye2ZsZXg6MX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtdGl0bGUtd3Jh''@;'; put 'put ''cHBlciAubW9kYWwtdGl0bGU+aDN7bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1ib2R5LXdyYXBwZXJ7bWF4LWhlaWdodDo3MHZoO292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nOjAgLjE1cmVtfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1ib2R5LXdyYXBwZXI+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtYm9keS13cmFwcGVyPjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAubW9kYWwtZm9vdGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzoxLjJyZW0gMCAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1mb290ZXIgLmJ0bnttYXJnaW46MCAwIDAgLjZyZW19QG1lZGlh''@;'; put 'put ''IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vZGFsLWJvZHktd3JhcHBlcnttYXgtaGVpZ2h0OjU1dmh9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4''@;'; put 'put ''KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtY29udGVudHtwYWRkaW5nOi42cmVtIDAgLjZyZW0gMS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1oZWFkZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2Rh''@;'; put 'put ''bC1oZWFkZXItLWFjY2Vzc2libGV7cGFkZGluZzowIDEuMnJlbSAuNnJlbSAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1ib2R5LXdyYXBwZXJ7bWF4LWhlaWdodDo1NXZofS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb2RhbC1mb290ZXJ7cGFk''@;'; put 'put ''ZGluZzouNnJlbSAxLjJyZW0gMCAwfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwtYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xy''@;'; put 'put ''LW1vZGFsLWJhY2tkcm9wLWNvbG9yLCAjMzMzMzMzKTtvcGFjaXR5Oi44NTtvcGFjaXR5OnZhcigtLWNsci1tb2RhbC1iYWNrZHJvcC1vcGFjaXR5LCAuODUpO3otaW5kZXg6MTA0MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwgLm1vZGFsLW5hdntkaXNwbGF5Om5v''@;'; put 'put ''bmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItaGVhZGVyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC05MDApOy0tY2xyLWhlYWRlci1kaXZpZGVyLW9wYWNpdHk6IC4xNTstLWNsci1oZWFkZXItbmF2LW9wYWNpdHk6IC42NTst''@;'; put 'put ''LWNsci1oZWFkZXItbmF2LWhvdmVyLW9wYWNpdHk6IDE7LS1jbHItaGVhZGVyLTItYmctY29sb3I6ICM0ODVhNmE7LS1jbHItaGVhZGVyLTMtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1zZWNvbmRhcnktYWN0aW9uLTEwMDApOy0tY2xyLWhlYWRlci00LWJnLWNvbG9yOiAjMjQ3YmFlOy0t''@;'; put 'put ''Y2xyLWhlYWRlci01LWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTgwMCk7LS1jbHItaGVhZGVyLTYtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tMTAwMCk7LS1jbHItaGVhZGVyLTctYmctY29sb3I6ICMzMDQyNTA7LS1jbHItaGVhZGVyLTgtYmctY29sb3I6ICMw''@;'; put 'put ''ZjE3MWM7LS1jbHItaGVhZGVyLWZvbnQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTUwKTstLWNsci1oZWFkZXItdGl0bGUtY29sb3I6IHZhcigtLWNsci1oZWFkZXItZm9udC1jb2xvcik7LS1jbHItaGVhZGVyLXRpdGxlLWZvbnQtd2VpZ2h0OiB2YXIoLS1jbHItaDUtZm9udC13''@;'; put 'put ''ZWlnaHQpOy0tY2xyLWhlYWRlci10aXRsZS1mb250LWZhbWlseTogdmFyKC0tY2xyLWg1LWZvbnQtZmFtaWx5KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXJ7ZGlzcGxheTpmbGV4O2NvbG9y''@;'; put 'put ''OiNmYWZhZmE7Y29sb3I6dmFyKC0tY2xyLWhlYWRlci1mb250LWNvbG9yLCAjZmFmYWZhKTtiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItaGVhZGVyLWJnLWNvbG9yLCAjMzMzMzMzKTtoZWlnaHQ6M3JlbTt3aGl0ZS1zcGFjZTpub3dyYXB9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyLmhlYWRlci0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLmhlYWRlci0xe2JhY2tncm91bmQtY29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1oZWFkZXItYmctY29sb3IsICMzMzMz''@;'; put 'put ''MzMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlci5oZWFkZXItMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci5oZWFkZXItMntiYWNrZ3JvdW5kLWNvbG9yOiM0ODVhNmE7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItaGVhZGVyLTIt''@;'; put 'put ''YmctY29sb3IsICM0ODVhNmEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlci5oZWFkZXItMywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci5oZWFkZXItM3tiYWNrZ3JvdW5kLWNvbG9yOiMzMjAwNDc7YmFja2dyb3VuZC1jb2xvcjp2YXIo''@;'; put 'put ''LS1jbHItaGVhZGVyLTMtYmctY29sb3IsICMzMjAwNDcpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlci5oZWFkZXItNCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci5oZWFkZXItNHtiYWNrZ3JvdW5kLWNvbG9yOiMyNDdiYWU7YmFja2dy''@;'; put 'put ''b3VuZC1jb2xvcjp2YXIoLS1jbHItaGVhZGVyLTQtYmctY29sb3IsICMyNDdiYWUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlci5oZWFkZXItNSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci5oZWFkZXItNXtiYWNrZ3JvdW5kLWNvbG9y''@;'; put 'put ''OiMwMDU2N2E7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItaGVhZGVyLTUtYmctY29sb3IsICMwMDU2N2EpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlci5oZWFkZXItNiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci5oZWFkZXItNnti''@;'; put 'put ''YWNrZ3JvdW5kLWNvbG9yOiMwMDM2NGQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItaGVhZGVyLTYtYmctY29sb3IsICMwMDM2NGQpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlci5oZWFkZXItNywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhl''@;'; put 'put ''YWRlci5oZWFkZXItN3tiYWNrZ3JvdW5kLWNvbG9yOiMzMDQyNTA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItaGVhZGVyLTctYmctY29sb3IsICMzMDQyNTApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlci5oZWFkZXItOCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmhlYWRlci5oZWFkZXItOHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjE3MWM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItaGVhZGVyLTgtYmctY29sb3IsICMwZjE3MWMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmcsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmJyYW5kaW5ne2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO21pbi13aWR0aDoxMC4ycmVtO3BhZGRpbmc6MCAxLjJyZW07aGVpZ2h0OjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5icmFu''@;'; put 'put ''ZGluZz5hLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmJyYW5kaW5nPi5uYXYtbGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmc+YSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAu''@;'; put 'put ''YnJhbmRpbmc+Lm5hdi1saW5re2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmc+YTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVh''@;'; put 'put ''ZGVyIC5icmFuZGluZz5hOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5icmFuZGluZz4ubmF2LWxpbms6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmc+Lm5hdi1saW5rOmFjdGl2ZSwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmc+YTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmc+YTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmJyYW5kaW5n''@;'; put 'put ''Pi5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmc+Lm5hdi1saW5rOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmJyYW5kaW5nPmE6Zm9jdXMs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmc+Lm5hdi1saW5rOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5icmFuZGluZz5hOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVh''@;'; put 'put ''ZGVyIC5icmFuZGluZz4ubmF2LWxpbms6Zm9jdXN7b3V0bGluZS1vZmZzZXQ6LS4yNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmJyYW5kaW5nIC5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5icmFuZGluZyBj''@;'; put 'put ''ZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5icmFuZGluZyBjbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmcgLmNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''aGVhZGVyIC5icmFuZGluZyBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmcgY2xyLWljb257ZmxleC1ncm93OjA7ZmxleC1zaHJpbms6MDtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTttYXJnaW4tcmlnaHQ6LjQ1cmVtfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmcgLnRpdGxlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5icmFuZGluZyAudGl0bGV7Y29sb3I6I2ZhZmFmYTtjb2xvcjp2YXIoLS1jbHItaGVhZGVyLXRpdGxlLWNvbG9yLCAjZmFm''@;'; put 'put ''YWZhKTtmb250LXdlaWdodDo0MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWhlYWRlci10aXRsZS1mb250LXdlaWdodCwgNDAwKTtmb250LWZhbWlseTpNZXRyb3BvbGlzLEF2ZW5pciBOZXh0LEhlbHZldGljYSBOZXVlLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1mYW1pbHk6dmFyKC0tY2xyLWhl''@;'; put 'put ''YWRlci10aXRsZS1mb250LWZhbWlseSwgTWV0cm9wb2xpcywgIkF2ZW5pciBOZXh0IiwgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIHNhbnMtc2VyaWYpO2ZvbnQtc2l6ZTouOHJlbTtsZXR0ZXItc3BhY2luZzouMDFlbTtsaW5lLWhlaWdodDozcmVtO3RleHQtZGVjb3JhdGlvbjpub25lfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucywgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25ze2hlaWdodDoz''@;'; put 'put ''cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFk''@;'; put 'put ''ZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3MgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtdGV4dCwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnMgLm5hdi10ZXh0e2ZvbnQtd2VpZ2h0OjUwMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICBoZWFkZXIgLmhlYWRlci1uYXYgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnMgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzIGNsci1pY29uLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2IGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucyBjbHItaWNvbntjb2xvcjojZmFmYWZhO2NvbG9yOnZhcigtLWNsci1oZWFkZXItZm9udC1j''@;'; put 'put ''b2xvciwgI2ZhZmFmYSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZXR0aW5ncyAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnMgLm5hdi1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZXR0aW5ncyAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1pY29u''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWljb257aGVpZ2h0OjNyZW07d2lkdGg6M3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluaywgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbmssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRp''@;'; put 'put ''bmdzIC5uYXYtbGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGlua3twb3NpdGlvbjpyZWxhdGl2ZTtk''@;'; put 'put ''aXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOi45cmVtIDEuMnJlbTtjb2xvcjojZmFmYWZhO2NvbG9yOnZhcigtLWNsci1oZWFkZXItZm9udC1jb2xvciwgI2ZhZmFmYSk7b3BhY2l0eTouNjU7b3BhY2l0eTp2YXIoLS1jbHItaGVhZGVyLW5hdi1vcGFjaXR5''@;'; put 'put ''LCAuNjUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluazphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1h''@;'; put 'put ''Y3Rpb25zIC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbms6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZXR0aW5ncyAubmF2LWxpbms6aG92ZXIs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluazphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluazphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVh''@;'; put 'put ''ZGVyLWFjdGlvbnMgLm5hdi1saW5rOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluazplbmFibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIg''@;'; put 'put ''LmhlYWRlci1uYXYgLm5hdi1saW5rOmVuYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnMgLm5hdi1saW5rOmVuYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRp''@;'; put 'put ''bmdzIC5uYXYtbGluazplbmFibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluazplbmFibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAu''@;'; put 'put ''bmF2LWxpbms6ZW5hYmxlZDpob3ZlcntvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItaGVhZGVyLW5hdi1ob3Zlci1vcGFjaXR5LCAxKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluazpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluazpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbms6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5oZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluazpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rp''@;'; put 'put ''b25zIC5uYXYtbGluazpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZXR0aW5ncyAubmF2LWxpbmsgLmZhLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzIC5uYXYtbGlu''@;'; put 'put ''ayAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsgLmZhLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rIC5uYXYtaWNvbiwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbmsgLmZhLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluayAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5oZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluayAuZmEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluayAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5h''@;'; put 'put ''di1saW5rIC5mYSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsgLm5hdi1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbmsgLmZhLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbmsgLm5hdi1pY29ue2ZvbnQtc2l6ZToxLjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZXR0aW5ncyAubmF2LWxpbmsgY2RzLWljb24sIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICBoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rIGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluayBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXIt''@;'; put 'put ''YWN0aW9ucyAubmF2LWxpbmsgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluayBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rIGNsci1p''@;'; put 'put ''Y29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluayBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsgY2xyLWljb24sIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluayBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnMgLm5hdi1saW5rIGNsci1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7''@;'; put 'put ''bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2hlaWdodDoxLjJyZW07d2lkdGg6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rLm5hdi1pY29uLXRleHQgY2RzLWljb24sIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rLm5hdi1pY29uLXRleHQgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsubmF2LWljb24tdGV4dCBjZHMtaWNvbiwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluay5uYXYtaWNvbi10ZXh0IGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluay5uYXYtaWNvbi10ZXh0IGNkcy1pY29u''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluay5uYXYtaWNvbi10ZXh0IGNsci1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZXR0aW5ncyAubmF2LWxpbmsubmF2LWljb24tdGV4''@;'; put 'put ''dCBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rLm5hdi1pY29uLXRleHQgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rLm5hdi1p''@;'; put 'put ''Y29uLXRleHQgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rLm5hdi1pY29uLXRleHQgY2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5u''@;'; put 'put ''YXYtbGluay5uYXYtaWNvbi10ZXh0IGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbmsubmF2LWljb24tdGV4dCBjbHItaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6YXV0bztsZWZ0OmF1dG87dHJhbnNm''@;'; put 'put ''b3JtOm5vbmU7bWFyZ2luLWxlZnQ6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rLm5hdi1pY29uLXRleHQgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1uYXYg''@;'; put 'put ''Lm5hdi1saW5rLm5hdi1pY29uLXRleHQgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluay5uYXYtaWNvbi10ZXh0IC5uYXYtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRl''@;'; put 'put ''ciAuc2V0dGluZ3MgLm5hdi1saW5rLm5hdi1pY29uLXRleHQgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluay5uYXYtaWNvbi10ZXh0IC5uYXYtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnMgLm5hdi1saW5rLm5hdi1pY29uLXRleHQgLm5hdi10ZXh0e21hcmdpbi1sZWZ0OjA7cGFkZGluZy1sZWZ0Oi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rIC5uYXYtaWNvbisu''@;'; put 'put ''bmF2LXRleHQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsgLm5hdi1pY29uKy5uYXYtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAubmF2LWxpbmsgLm5hdi1p''@;'; put 'put ''Y29uKy5uYXYtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3MgLm5hdi1saW5rIC5uYXYtaWNvbisubmF2LXRleHQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rIC5uYXYt''@;'; put 'put ''aWNvbisubmF2LXRleHQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluayAubmF2LWljb24rLm5hdi10ZXh0e2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdz''@;'; put 'put ''IC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsuYWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zIC5uYXYtbGluay5hY3RpdmUsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzIC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnMgLm5hdi1saW5rLmFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjE1KTtvcGFjaXR5OjF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZXR0aW5ncyAubmF2LWxpbms6Zm9jdXMsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnMgLm5hdi1saW5rOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuaGVhZGVyIC5zZXR0aW5ncyAubmF2LWxpbms6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucyAu''@;'; put 'put ''bmF2LWxpbms6Zm9jdXN7b3V0bGluZS1vZmZzZXQ6LS4yNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1uYXYsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXZ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAw''@;'; put 'put ''IGF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItbmF2Omxhc3QtY2hpbGQ+Lm5hdi1saW5rOmxhc3QtY2hpbGQ6YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXY6bGFzdC1jaGlsZD4ubmF2''@;'; put 'put ''LWxpbms6bGFzdC1jaGlsZDphZnRlcntjb250ZW50Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluazpmaXJzdC1vZi10eXBlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1uYXYg''@;'; put 'put ''Lm5hdi1saW5rOmxhc3Qtb2YtdHlwZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6Zmlyc3Qtb2YtdHlwZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6''@;'; put 'put ''bGFzdC1vZi10eXBle3Bvc2l0aW9uOnJlbGF0aXZlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5h''@;'; put 'put ''diAubmF2LWxpbms6bGFzdC1vZi10eXBlOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluazpmaXJzdC1vZi10eXBlOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVy''@;'; put 'put ''LW5hdiAubmF2LWxpbms6bGFzdC1vZi10eXBlOmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7YmFja2dyb3VuZDojZmFmYWZhO2JhY2tncm91bmQ6dmFyKC0tY2xyLWhlYWRlci1mb250LWNvbG9yLCAjZmFmYWZhKTtvcGFjaXR5Oi4xNTtv''@;'; put 'put ''cGFjaXR5OnZhcigtLWNsci1oZWFkZXItZGl2aWRlci1vcGFjaXR5LCAuMTUpO29wYWNpdHk6LjE1O2hlaWdodDoycmVtO3dpZHRoOi4wNXJlbTt3aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO3RvcDouNXJlbTtsZWZ0OjA7bGVmdDphdXRvfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rOmZpcnN0LW9mLXR5cGU6YmVmb3Jle2xlZnQ6MH0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1saW5rOmxhc3Qtb2YtdHlwZTphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbms6bGFzdC1vZi10eXBlOmFmdGVye3Jp''@;'; put 'put ''Z2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtbGluay5hY3RpdmU6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsuYWN0aXZl''@;'; put 'put ''Omxhc3Qtb2YtdHlwZTphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLW5hdiAubmF2LWxpbmsuYWN0aXZlOmZpcnN0LW9mLXR5cGU6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItbmF2''@;'; put 'put ''IC5uYXYtbGluay5hY3RpdmU6bGFzdC1vZi10eXBlOmFmdGVye2NvbnRlbnQ6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZXR0aW5ncywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnN7ZmxleDoxIDAgYXV0bztkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duPi5kcm9wZG93bi10b2dnbGUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duPi5kcm9wZG93bi10b2dnbGUsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93bj4uZHJvcGRvd24tdG9nZ2xlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucz4uZHJvcGRvd24+LmRyb3Bkb3duLXRvZ2dsZXtwb3NpdGlvbjpyZWxhdGl2''@;'; put 'put ''ZTtsaW5lLWhlaWdodDozcmVtO2hlaWdodDozcmVtO291dGxpbmUtb2Zmc2V0Oi0uMjVyZW07Y29sb3I6I2ZhZmFmYTtjb2xvcjp2YXIoLS1jbHItaGVhZGVyLWZvbnQtY29sb3IsICNmYWZhZmEpO29wYWNpdHk6LjY1O29wYWNpdHk6dmFyKC0tY2xyLWhlYWRlci1uYXYtb3BhY2l0eSwgLjY1''@;'; put 'put ''KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93bj4uZHJvcGRvd24tdG9nZ2xlOmVuYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duPi5kcm9w''@;'; put 'put ''ZG93bi10b2dnbGU6ZW5hYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duPi5kcm9wZG93bi10b2dnbGU6ZW5hYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVh''@;'; put 'put ''ZGVyLWFjdGlvbnM+LmRyb3Bkb3duPi5kcm9wZG93bi10b2dnbGU6ZW5hYmxlZDpob3ZlcntvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItaGVhZGVyLW5hdi1ob3Zlci1vcGFjaXR5LCAxKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzPi5kcm9w''@;'; put 'put ''ZG93bj4uZHJvcGRvd24tdG9nZ2xlOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93bj4uZHJvcGRvd24tdG9nZ2xlOmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVy''@;'; put 'put ''IC5zZXR0aW5ncz4uZHJvcGRvd24+LmRyb3Bkb3duLXRvZ2dsZTpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duPi5kcm9wZG93bi10b2dnbGU6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24gY2RzLWljb246bm90KFtzaGFwZV49YW5nbGVdKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZXR0aW5ncz4uZHJv''@;'; put 'put ''cGRvd24gLmRyb3Bkb3duLXRvZ2dsZS5uYXYtaWNvbiBjbHItaWNvbjpub3QoW3NoYXBlXj1hbmdsZV0pLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uIGNkcy1pY29uOm5v''@;'; put 'put ''dChbc2hhcGVePWFuZ2xlXSksIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24gY2xyLWljb246bm90KFtzaGFwZV49YW5nbGVdKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24gY2RzLWljb246bm90KFtzaGFwZV49YW5nbGVdKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi10''@;'; put 'put ''b2dnbGUubmF2LWljb24gY2xyLWljb246bm90KFtzaGFwZV49YW5nbGVdKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24gY2RzLWljb246bm90KFtzaGFwZV49YW5nbGVd''@;'; put 'put ''KSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24gY2xyLWljb246bm90KFtzaGFwZV49YW5nbGVdKXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFu''@;'; put 'put ''c2xhdGVZKC01MCUpO2hlaWdodDoxLjFyZW07d2lkdGg6MS4xcmVtO3JpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uIGNkcy1pY29uW3NoYXBlXj1hbmdsZV0sIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24gY2xyLWljb25bc2hhcGVePWFuZ2xlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucz4u''@;'; put 'put ''ZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZS5uYXYtaWNvbiBjZHMtaWNvbltzaGFwZV49YW5nbGVdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uIGNsci1pY29uW3NoYXBl''@;'; put 'put ''Xj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uIGNkcy1pY29uW3NoYXBlXj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNl''@;'; put 'put ''dHRpbmdzPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uIGNsci1pY29uW3NoYXBlXj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uIGNkcy1p''@;'; put 'put ''Y29uW3NoYXBlXj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uIGNsci1pY29uW3NoYXBlXj1hbmdsZV17cmlnaHQ6LjZyZW07dG9wOjQ0JX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10''@;'; put 'put ''ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZXR0aW5ncz4uZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZS5uYXYtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duIC5kcm9w''@;'; put 'put ''ZG93bi10b2dnbGUubmF2LXRleHR7cGFkZGluZzowIDEuOHJlbSAwIDEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10ZXh0IGNkcy1pY29uW3NoYXBlXj1hbmdsZV0sIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LXRleHQgY2xyLWljb25bc2hhcGVePWFuZ2xlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucz4uZHJvcGRv''@;'; put 'put ''d24gLmRyb3Bkb3duLXRvZ2dsZS5uYXYtdGV4dCBjZHMtaWNvbltzaGFwZV49YW5nbGVdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10ZXh0IGNsci1pY29uW3NoYXBlXj1hbmds''@;'; put 'put ''ZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10ZXh0IGNkcy1pY29uW3NoYXBlXj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdz''@;'; put 'put ''Pi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10ZXh0IGNsci1pY29uW3NoYXBlXj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10ZXh0IGNkcy1pY29uW3No''@;'; put 'put ''YXBlXj1hbmdsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi10ZXh0IGNsci1pY29uW3NoYXBlXj1hbmdsZV17cmlnaHQ6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUubmF2LWljb24sIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlLm5hdi1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucz4uZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZS5u''@;'; put 'put ''YXYtaWNvbnt3aWR0aDozcmVtO3BhZGRpbmctcmlnaHQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNldHRpbmdzPi5kcm9wZG93bi5ib3R0b20tcmlnaHQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAu''@;'; put 'put ''c2V0dGluZ3M+LmRyb3Bkb3duLmJvdHRvbS1sZWZ0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93bi5ib3R0b20tcmlnaHQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIGhlYWRlciAuaGVhZGVyLWFjdGlvbnM+LmRyb3Bkb3duLmJvdHRvbS1sZWZ0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZXR0aW5ncz4uZHJvcGRvd24uYm90dG9tLXJpZ2h0Pi5kcm9wZG93bi1tZW51LCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZXR0aW5ncz4uZHJvcGRvd24uYm90dG9tLWxlZnQ+LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93bi5ib3R0b20tcmlnaHQ+''@;'; put 'put ''LmRyb3Bkb3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93bi5ib3R0b20tbGVmdD4uZHJvcGRvd24tbWVudXt0b3A6ODUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGlu''@;'; put 'put ''Z3M+LmRyb3Bkb3duOmxhc3QtY2hpbGQuYm90dG9tLXJpZ2h0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93bjpsYXN0LWNoaWxkLmJvdHRvbS1yaWdodD4uZHJvcGRvd24tbWVudSwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duOmxhc3QtY2hpbGQuYm90dG9tLXJpZ2h0Pi5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFkZXItYWN0aW9ucz4uZHJvcGRvd246bGFz''@;'; put 'put ''dC1jaGlsZC5ib3R0b20tcmlnaHQ+LmRyb3Bkb3duLW1lbnV7cmlnaHQ6LjE1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIg''@;'; put 'put ''LmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biAuZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIC5kcm9wZG93bi1tZW51LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5oZWFk''@;'; put 'put ''ZXItYWN0aW9ucz4uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7bWFyZ2luLXRvcDotLjJyZW07bGVmdDphdXRvO3JpZ2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZXR0aW5ncz4uZHJvcGRvd24gOmxhc3QtY2hpbGQuZHJvcGRvd24tbWVudSwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5oZWFkZXItYWN0aW9ucz4uZHJvcGRvd24gOmxhc3QtY2hpbGQuZHJvcGRvd24tbWVudSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2V0dGluZ3M+LmRyb3Bkb3duIDpsYXN0LWNoaWxkLmRyb3Bk''@;'; put 'put ''b3duLW1lbnUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmhlYWRlci1hY3Rpb25zPi5kcm9wZG93biA6bGFzdC1jaGlsZC5kcm9wZG93bi1tZW51e21hcmdpbi1yaWdodDouNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNl''@;'; put 'put ''YXJjaC1ib3gsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2h7ZGlz''@;'; put 'put ''cGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvO21heC13aWR0aDoxNC40cmVtO3BhZGRpbmc6MDtoZWlnaHQ6M3JlbTtjb2xvcjojZmFmYWZhO2NvbG9yOnZhcigtLWNsci1oZWFkZXItZm9udC1jb2xvciwgI2ZhZmFmYSk7b3BhY2l0eTouNjU7b3BhY2l0eTp2YXIo''@;'; put 'put ''LS1jbHItaGVhZGVyLW5hdi1vcGFjaXR5LCAuNjUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLWJveDplbmFibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaDplbmFibGVkOmhvdmVyLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94OmVuYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaDplbmFibGVkOmhvdmVye29wYWNpdHk6MTtvcGFjaXR5OnZhcigtLWNsci1oZWFkZXItbmF2''@;'; put 'put ''LWhvdmVyLW9wYWNpdHksIDEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLWJveDpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2g6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5oZWFkZXIgLnNlYXJjaC1ib3g6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2gtYm94''@;'; put 'put ''Pi5uYXYtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2g+Lm5hdi1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94Pi5uYXYtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmhlYWRlciAuc2VhcmNoPi5uYXYtaWNvbnttYXJnaW46MCAuM3JlbSAuMTVyZW0gMS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLWJveCBsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2gg''@;'; put 'put ''bGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaC1ib3ggbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaCBsYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6M3JlbTtsaW5lLWhlaWdo''@;'; put 'put ''dDozcmVtO3BhZGRpbmctbGVmdDoxLjJyZW07dGV4dC1hbGlnbjpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2gtYm94IGxhYmVsOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2ggbGFiZWw6''@;'; put 'put ''YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94IGxhYmVsOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2VhcmNoIGxhYmVsOmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jaztjb250ZW50''@;'; put 'put ''OiIiO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDZGVmcyUzRSUz''@;'; put 'put ''Q3N0eWxlJTNFLmNscy0xJTdCZmlsbCUzQSUyM2ZmZmZmZiUzQiU3RCUzQyUyRnN0eWxlJTNFJTNDJTJGZGVmcyUzRSUzQ3RpdGxlJTNFU2VhcmNoJTNDJTJGdGl0bGUlM0UlM0NnJTIwaWQlM0QlMjJpY29ucyUyMiUzRSUzQ3BhdGglMjBjbGFzcyUzRCUyMmNscy0xJTIyJTIwZCUzRCUyMk0x''@;'; put 'put ''NSUyQzQuMDVBMTAuOTUlMkMxMC45NSUyQzAlMkMxJTJDMSUyQzQuMDUlMkMxNSUyQzExJTJDMTElMkMwJTJDMCUyQzElMkMxNSUyQzQuMDVNMTUlMkMyQTEzJTJDMTMlMkMwJTJDMSUyQzAlMkMyOCUyQzE1JTJDMTMlMkMxMyUyQzAlMkMwJTJDMCUyQzE1JTJDMlolMjIlMkYlM0UlM0NwYXRo''@;'; put 'put ''JTIwY2xhc3MlM0QlMjJjbHMtMSUyMiUyMCUyMGQlM0QlMjJNMzMuNzElMkMzMi4yOWwtNy4zNy03LjQyLTEuNDIlMkMxLjQxJTJDNy4zNyUyQzcuNDJhMSUyQzElMkMwJTJDMSUyQzAlMkMxLjQyLTEuNDFaJTIyJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRSk7YmFja2dyb3VuZC1yZXBl''@;'; put 'put ''YXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxcmVtO3dpZHRoOjFyZW07bWFyZ2luOjFyZW0gMCAwO3ZlcnRpY2FsLWFsaWduOnRvcH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaC1ib3ggbGFi''@;'; put 'put ''ZWwgaW5wdXQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoIGxhYmVsIGlucHV0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94IGxhYmVsIGlucHV0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuaGVhZGVyIC5zZWFyY2ggbGFiZWwgaW5wdXR7bGluZS1oZWlnaHQ6MS4ycmVtO21hcmdpbjouOXJlbSAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLWJveCBpbnB1dFt0eXBlPXRleHRdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICBoZWFkZXIgLnNlYXJjaCBpbnB1dFt0eXBlPXRleHRdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94IGlucHV0W3R5cGU9dGV4dF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaCBpbnB1dFt0''@;'; put 'put ''eXBlPXRleHRde2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTtjb2xvcjojZmFmYWZhO2NvbG9yOnZhcigtLWNsci1oZWFkZXItZm9udC1jb2xvciwgI2ZhZmFmYSk7cGFkZGluZzowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFk''@;'; put 'put ''ZXIgLnNlYXJjaC1ib3ggaW5wdXRbdHlwZT10ZXh0XTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2gtYm94IGlucHV0W3R5cGU9dGV4dF06YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaCBp''@;'; put 'put ''bnB1dFt0eXBlPXRleHRdOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaCBpbnB1dFt0eXBlPXRleHRdOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2VhcmNoLWJveCBpbnB1dFt0eXBlPXRleHRd''@;'; put 'put ''OmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94IGlucHV0W3R5cGU9dGV4dF06YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XTpmb2N1cywgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2VhcmNoIGlucHV0W3R5cGU9dGV4dF06YWN0aXZle2JhY2tncm91bmQ6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLmJyYW5kaW5nKy5zZWFyY2gsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmcrLnNlYXJjaC1ib3gsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmJyYW5kaW5nKy5zZWFyY2gsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLmJyYW5kaW5nKy5zZWFyY2gtYm94e3Bv''@;'; put 'put ''c2l0aW9uOnJlbGF0aXZlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmcrLnNlYXJjaDphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5icmFuZGluZysuc2VhcmNoLWJveDphZnRlciwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmcrLnNlYXJjaDphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmcrLnNlYXJjaC1ib3g6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVu''@;'; put 'put ''dDoiIjtiYWNrZ3JvdW5kOiNmYWZhZmE7YmFja2dyb3VuZDp2YXIoLS1jbHItaGVhZGVyLWZvbnQtY29sb3IsICNmYWZhZmEpO29wYWNpdHk6LjE1O29wYWNpdHk6dmFyKC0tY2xyLWhlYWRlci1kaXZpZGVyLW9wYWNpdHksIC4xNSk7b3BhY2l0eTouMTU7aGVpZ2h0OjJyZW07d2lkdGg6LjA1''@;'; put 'put ''cmVtO3dpZHRoOnZhcigtLWNsci1nbG9iYWwtYm9yZGVyd2lkdGgsIC4wNXJlbSk7dG9wOi41cmVtO2xlZnQ6MH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2gtYm94LCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2VhcmNoLWJveCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2VhcmNoe2ZsZXg6MSAwIGF1dG87anVzdGlmeS1j''@;'; put 'put ''b250ZW50OmZsZXgtZW5kO21heC13aWR0aDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLWJveCBsYWJlbCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5zZWFyY2ggbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaC1ib3ggbGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaCBsYWJlbHtwYWRkaW5nOjA7d2lkdGg6M3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaC1i''@;'; put 'put ''b3ggbGFiZWw6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaCBsYWJlbDpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaC1ib3ggbGFiZWw6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2ggbGFiZWw6YmVmb3Jle2xlZnQ6MXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaC1ib3ggbGFiZWwgaW5wdXQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNo''@;'; put 'put ''IGxhYmVsIGlucHV0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94IGxhYmVsIGlucHV0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2ggbGFiZWwgaW5wdXR7ZGlzcGxheTpub25lfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuYnJhbmRpbmcrLnNlYXJjaDphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaGVhZGVyIC5icmFuZGluZysuc2VhcmNoLWJveDphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAu''@;'; put 'put ''YnJhbmRpbmcrLnNlYXJjaDphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuYnJhbmRpbmcrLnNlYXJjaC1ib3g6YWZ0ZXJ7Y29udGVudDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLWJveCsuc2V0dGlu''@;'; put 'put ''Z3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoLWJveCsuaGVhZGVyLWFjdGlvbnMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoKy5zZXR0aW5ncywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''aGVhZGVyIC5zZWFyY2grLmhlYWRlci1hY3Rpb25zLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2gtYm94Ky5zZXR0aW5ncywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2VhcmNoLWJveCsuaGVhZGVyLWFjdGlvbnMs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaCsuc2V0dGluZ3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaCsuaGVhZGVyLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7ZmxleDowIDAgYXV0b30uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaC1ib3grLnNldHRpbmdzOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBoZWFkZXIgLnNlYXJjaC1ib3grLmhlYWRlci1hY3Rpb25zOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICBoZWFkZXIgLnNlYXJjaCsuc2V0dGluZ3M6YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGhlYWRlciAuc2VhcmNoKy5oZWFkZXItYWN0aW9uczphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlciAuc2VhcmNoLWJveCsuc2V0''@;'; put 'put ''dGluZ3M6YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXIgLnNlYXJjaC1ib3grLmhlYWRlci1hY3Rpb25zOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2grLnNldHRpbmdzOmFmdGVyLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyIC5zZWFyY2grLmhlYWRlci1hY3Rpb25zOmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7YmFja2dyb3VuZDojZmFmYWZhO2JhY2tncm91bmQ6dmFyKC0tY2xyLWhlYWRlci1mb250LWNv''@;'; put 'put ''bG9yLCAjZmFmYWZhKTtvcGFjaXR5Oi4xNTtvcGFjaXR5OnZhcigtLWNsci1oZWFkZXItZGl2aWRlci1vcGFjaXR5LCAuMTUpO29wYWNpdHk6LjE1O2hlaWdodDoycmVtO3dpZHRoOi4wNXJlbTt3aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO3RvcDouNXJlbTts''@;'; put 'put ''ZWZ0OjB9fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGEubGluay1ub3JtYWw6bGlua3tjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1saW5rLWNvbG9yLCAjMDA3MmEzKTt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBh''@;'; put 'put ''LmxpbmstaG92ZXJlZDpsaW5re2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWxpbmstaG92ZXItY29sb3IsICMwMDcyYTMpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYS5saW5rLWNsaWNrZWQ6bGlua3tjb2xvcjojOWU1''@;'; put 'put ''N2JjO2NvbG9yOnZhcigtLWNsci1saW5rLWFjdGl2ZS1jb2xvciwgIzllNTdiYyk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBhLmxpbmstdmlzaXRlZDpsaW5re2NvbG9yOiM1NjU5Yjg7Y29sb3I6dmFyKC0tY2xyLWxpbmstdmlz''@;'; put 'put ''aXRlZC1jb2xvciwgIzU2NTliOCk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm5hdntkaXNwbGF5OmZsZXg7aGVpZ2h0OjEuOHJlbTtsaXN0LXN0eWxlLXR5cGU6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjA7d2lkdGg6MTAw''@;'; put 'put ''JTt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNoYWRvdzowIC0uMDVyZW0gI2NjYyBpbnNldDtib3gtc2hhZG93OjAgLS4wNXJlbSAwIHZhcigtLWNsci1uYXYtYm94LXNoYWRvdy1jb2xvciwgI2NjY2NjYykgaW5zZXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm5hdiAubmF2''@;'; put 'put ''LWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXJpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubmF2IC5uYXYtaXRlbS5hY3RpdmU+Lm5hdi1saW5re2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLW5hdi1saW5rLWFjdGl2ZS1jb2xvciwgYmxh''@;'; put 'put ''Y2spO2JveC1zaGFkb3c6MCAtLjA1cmVtICNjY2MgaW5zZXQ7Ym94LXNoYWRvdzowIC0uMDVyZW0gMCB2YXIoLS1jbHItbmF2LWJveC1zaGFkb3ctY29sb3IsICNjY2NjY2MpIGluc2V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYgLm5hdi1saW5re2NvbG9yOiM2NjY7''@;'; put 'put ''Y29sb3I6dmFyKC0tY2xyLW5hdi1saW5rLWNvbG9yLCAjNjY2NjY2KTtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1uYXYtbGluay1mb250LXdlaWdodCwgNDAwKTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1oZWlnaHQ6MS44cmVtO2Rp''@;'; put 'put ''c3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MCAuMTVyZW07Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYgLm5hdi1saW5rLmJ0bnt0ZXh0LXRyYW5zZm9ybTpub25lO21hcmdpbjowO21hcmdpbi1ib3R0b206LS4wNXJlbTtib3JkZXItcmFk''@;'; put 'put ''aXVzOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm5hdiAubmF2LWxpbms6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYgLm5hdi1saW5rOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubmF2IC5uYXYtbGluazph''@;'; put 'put ''Y3RpdmV7Y29sb3I6aW5oZXJpdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubmF2IC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm5hdiAubmF2LWxpbmsuYWN0aXZle2JveC1zaGFkb3c6MCAtLjE1cmVtICMwMDcyYTMgaW5zZXQ7''@;'; put 'put ''Ym94LXNoYWRvdzowIC0uMTVyZW0gMCB2YXIoLS1jbHItbmF2LWFjdGl2ZS1ib3gtc2hhZG93LWNvbG9yLCAjMDA3MmEzKSBpbnNldDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjJzIGVhc2UtaW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm5hdiAubmF2LWxpbms6aG92ZXIs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYgLm5hdi1saW5rOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubmF2IC5uYXYtbGluazphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYgLm5hdi1saW5rLmFjdGl2''@;'; put 'put ''ZXt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubmF2IC5uYXYtbGluay5hY3RpdmV7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItbmF2LWxpbmstYWN0aXZlLWNvbG9yLCBibGFjayk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtd2VpZ2h0OnZh''@;'; put 'put ''cigtLWNsci1uYXYtbGluay1hY3RpdmUtZm9udC13ZWlnaHQsIDQwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm5hdiAubmF2LWxpbmsubmF2LWl0ZW17bWFyZ2luLXJpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdHst''@;'; put 'put ''LWNsci1zdWJuYXYtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLW5hdi1ib3gtc2hhZG93LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC00MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdWItbmF2LCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuc3VibmF2e2Rpc3BsYXk6ZmxleDtib3gtc2hhZG93OjAgLS4wNXJlbSAjY2NjIGluc2V0O2JveC1zaGFkb3c6MCAtLjA1cmVtIDAgdmFyKC0tY2xyLW5hdi1ib3gtc2hhZG93LWNvbG9yLCAjY2NjY2NjKSBpbnNldDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0''@;'; put 'put ''d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXN1Ym5hdi1iZy1jb2xvciwgd2hpdGUpO2hlaWdodDoxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN1Yi1uYXYgLm5hdiwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN1Ym5hdiAubmF2e2ZsZXg6MSAxIGF1dG87cGFkZGluZy1sZWZ0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3ViLW5hdiBhc2lkZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN1Ym5hdiBh''@;'; put 'put ''c2lkZXtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEuOHJlbTtwYWRkaW5nOjAgMS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdWItbmF2IGFzaWRlPjpsYXN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuc3VibmF2IGFzaWRlPjpsYXN0LWNoaWxke21hcmdpbi1yaWdodDowO3BhZGRpbmctcmlnaHQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdHstLWNsci1zaWRlbmF2LWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwt''@;'; put 'put ''NDAwKTstLWNsci1zaWRlbmF2LWJvcmRlci13aWR0aDogdmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCk7LS1jbHItc2lkZW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0yMDApOy0tY2xyLXNpZGVuYXYtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLWNs''@;'; put 'put ''ci1jb2xvci1uZXV0cmFsLTEwMDApOy0tY2xyLXNpZGVuYXYtbGluay1hY3RpdmUtYmctY29sb3I6IHZhcigtLWNsci1nbG9iYWwtc2VsZWN0aW9uLWNvbG9yKTstLWNsci1zaWRlbmF2LWxpbmstYWN0aXZlLWJvcmRlci1yYWRpdXM6IHZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzKTst''@;'; put 'put ''LWNsci1zaWRlbmF2LWhlYWRlci1jb2xvcjogdmFyKC0tY2xyLWg2LWNvbG9yKTstLWNsci1zaWRlbmF2LWhlYWRlci1mb250LXdlaWdodDogdmFyKC0tY2xyLWg2LWZvbnQtd2VpZ2h0KTstLWNsci1zaWRlbmF2LWhlYWRlci1mb250LWZhbWlseTogdmFyKC0tY2xyLWg2LWZvbnQtZmFtaWx5''@;'; put 'put ''KTstLWNsci1zaWRlbmF2LWNvbG9yOiB2YXIoLS1jbHItcDEtY29sb3IpOy0tY2xyLXNpZGVuYXYtZm9udC13ZWlnaHQ6IHZhcigtLWNsci1wMS1mb250LXdlaWdodCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZGVuYXZ7bGluZS1oZWlnaHQ6MS4ycmVtO21heC13aWR0''@;'; put 'put ''aDoxNS42cmVtO21pbi13aWR0aDoxMC44cmVtO3dpZHRoOjE4JTtib3JkZXItcmlnaHQ6LjA1cmVtIHNvbGlkICNjY2NjY2M7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuc2lkZW5hdi1jb250ZW50''@;'; put 'put ''e2ZsZXg6MSAxIGF1dG87b3ZlcmZsb3cteDpoaWRkZW47cGFkZGluZy1ib3R0b206MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWRlbmF2IC5zaWRlbmF2LWNvbnRlbnQgLm5hdi1saW5re2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4x''@;'; put 'put ''NXJlbTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNsci1zaWRlbmF2LWxpbmstYWN0aXZlLWJvcmRlci1yYWRpdXMsIC4xNXJlbSk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMTVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czp2YXIoLS1jbHItc2lkZW5hdi1saW5rLWFj''@;'; put 'put ''dGl2ZS1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuc2lkZW5hdi1jb250''@;'; put 'put ''ZW50Pi5uYXYtbGlua3ttYXJnaW46MS4ycmVtIDAgMCAxLjVyZW07cGFkZGluZy1sZWZ0Oi42cmVtO2NvbG9yOiMzMzM7Y29sb3I6dmFyKC0tY2xyLXNpZGVuYXYtaGVhZGVyLWNvbG9yLCAjMzMzMzMzKTtmb250LXdlaWdodDo1MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXNpZGVuYXYtaGVh''@;'; put 'put ''ZGVyLWZvbnQtd2VpZ2h0LCA1MDApO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItc2lkZW5hdi1oZWFkZXItZm9udC1mYW1pbHksIE1ldHJvcG9saXMsICJBdmVuaXIgTmV4dCIs''@;'; put 'put ''ICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MS4ycmVtO2xldHRlci1zcGFjaW5nOm5vcm1hbH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuc2lkZW5hdi1jb250ZW50Pi5uYXYtbGluazpo''@;'; put 'put ''b3ZlcntiYWNrZ3JvdW5kOiNlOGU4ZTg7YmFja2dyb3VuZDp2YXIoLS1jbHItc2lkZW5hdi1saW5rLWhvdmVyLWNvbG9yLCAjZThlOGU4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuc2lkZW5hdi1jb250ZW50Pi5uYXYtbGluay5hY3RpdmV7YmFja2dyb3Vu''@;'; put 'put ''ZDojZDhlM2U5O2JhY2tncm91bmQ6dmFyKC0tY2xyLXNpZGVuYXYtbGluay1hY3RpdmUtYmctY29sb3IsICNkOGUzZTkpO2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLXNpZGVuYXYtbGluay1hY3RpdmUtY29sb3IsIGJsYWNrKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''c2lkZW5hdiAubmF2LWdyb3Vwe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXNpZGVuYXYtY29sb3IsICM2NjY2NjYpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1jbHItc2lkZW5hdi1mb250LXdlaWdodCwgNDAwKTtmb250LXNpemU6LjdyZW07bGV0dGVyLXNwYWNpbmc6''@;'; put 'put ''bm9ybWFsO21hcmdpbi10b3A6MS4ycmVtO3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZGVuYXYgLm5hdi1ncm91cCAubmF2LWxpc3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWRlbmF2IC5uYXYtZ3JvdXAgbGFiZWx7cGFkZGlu''@;'; put 'put ''ZzowIDAgMCAxLjhyZW07Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTttYXJnaW46MCAuM3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAubmF2LWdyb3VwIC5uYXYtbGlzdHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLXRv''@;'; put 'put ''cDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWRlbmF2IC5uYXYtZ3JvdXAgLm5hdi1saXN0IC5uYXYtbGlua3tsaW5lLWhlaWdodDouOHJlbTtwYWRkaW5nOi4ycmVtIDAgLjJyZW0gLjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZGVuYXYg''@;'; put 'put ''Lm5hdi1ncm91cCAubmF2LWxpc3QgLm5hdi1saW5rOmhvdmVye2JhY2tncm91bmQ6I2U4ZThlODtiYWNrZ3JvdW5kOnZhcigtLWNsci1zaWRlbmF2LWxpbmstaG92ZXItY29sb3IsICNlOGU4ZTgpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWRlbmF2IC5uYXYtZ3JvdXAg''@;'; put 'put ''Lm5hdi1saXN0IC5uYXYtbGluay5hY3RpdmV7YmFja2dyb3VuZDojZDhlM2U5O2JhY2tncm91bmQ6dmFyKC0tY2xyLXNpZGVuYXYtbGluay1hY3RpdmUtYmctY29sb3IsICNkOGUzZTkpO2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLXNpZGVuYXYtbGluay1hY3RpdmUtY29sb3IsIGJsYWNr''@;'; put 'put ''KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAubmF2LWdyb3VwIGxhYmVse2NvbG9yOiMzMzM7Y29sb3I6dmFyKC0tY2xyLXNpZGVuYXYtaGVhZGVyLWNvbG9yLCAjMzMzMzMzKTtmb250LXdlaWdodDo1MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXNpZGVuYXYt''@;'; put 'put ''aGVhZGVyLWZvbnQtd2VpZ2h0LCA1MDApO2ZvbnQtZmFtaWx5Ok1ldHJvcG9saXMsQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LWZhbWlseTp2YXIoLS1jbHItc2lkZW5hdi1oZWFkZXItZm9udC1mYW1pbHksIE1ldHJvcG9saXMsICJBdmVuaXIgTmV4''@;'; put 'put ''dCIsICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmKTtmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MS4ycmVtO2xldHRlci1zcGFjaW5nOm5vcm1hbH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAubmF2LWdyb3VwIGlucHV0W3R5cGU9Y2hl''@;'; put 'put ''Y2tib3hde3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpOy13ZWJraXQtY2xpcC1wYXRoOmluc2V0KDUwJSk7Y2xpcC1wYXRoOmluc2V0KDUwJSk7cGFkZGluZzowO2JvcmRlcjowO2hlaWdodDoxcHg7d2lkdGg6MXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1z''@;'; put 'put ''cGFjZTpub3dyYXA7dG9wOjA7bGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWRlbmF2IC5uYXYtZ3JvdXAgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMrbGFiZWx7b3V0bGluZTojM2I5OWZjIGF1dG8gLjI1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5zaWRlbmF2IC5jb2xsYXBzaWJsZSBsYWJlbHtwYWRkaW5nOjAgMCAwIDEuM3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuY29sbGFwc2libGUgbGFiZWw6YWZ0ZXJ7Y29udGVudDoiIjtmbG9hdDpsZWZ0O2hlaWdodDouNXJlbTt3aWR0aDou''@;'; put 'put ''NXJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0uNHJlbSkgdHJhbnNsYXRlWSguMzVyZW0pO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIl''@;'; put 'put ''MjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMiUyMDEyJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDZGVmcyUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3N0eWxlJTNFLmNscy0xJTdCZmlsbCUzQSUyMzlhOWE5YSUzQiU3RCUzQyUyRnN0eWxlJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJG''@;'; put 'put ''ZGVmcyUzRSUwQSUyMCUyMCUyMCUyMCUzQ3RpdGxlJTNFQ2FyZXQlM0MlMkZ0aXRsZSUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBjbGFzcyUzRCUyMmNscy0xJTIyJTIwZCUzRCUyMk02JTJDOUwxLjIlMkM0LjJhMC42OCUyQzAuNjglMkMwJTJDMCUyQzElMkMxLTFMNiUyQzcuMDglMkM5''@;'; put 'put ''Ljg0JTJDMy4yNGEwLjY4JTJDMC42OCUyQzAlMkMxJTJDMSUyQzElMkMxWiUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MH0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuY29sbGFwc2libGUgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZH4ubmF2LWxpc3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWRlbmF2IC5jb2xsYXBzaWJsZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVj''@;'; put 'put ''a2VkfnVse2hlaWdodDowO2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuY29sbGFwc2libGUgaW5wdXRbdHlwZT1jaGVja2JveF1+Lm5hdi1saXN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lkZW5hdiAuY29sbGFw''@;'; put 'put ''c2libGUgaW5wdXRbdHlwZT1jaGVja2JveF1+dWx7aGVpZ2h0OmF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZGVuYXYgLmNvbGxhcHNpYmxlIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWR+bGFiZWw6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpIHRy''@;'; put 'put ''YW5zbGF0ZSgtLjM1cmVtKSB0cmFuc2xhdGVZKC0uNHJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItdmVydGljYWwtbmF2LWRpdmlkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItdmVydGljYWwtbmF2LWlj''@;'; put 'put ''b24tYWN0aXZlLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCk7LS1jbHItdmVydGljYWwtbmF2LWl0ZW0tY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItdmVydGljYWwtbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJh''@;'; put 'put ''bC03MDApOy0tY2xyLXZlcnRpY2FsLW5hdi1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMjAwKTstLWNsci12ZXJ0aWNhbC1uYXYtYWN0aXZlLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci12ZXJ0aWNhbC1uYXYtaG92ZXItYmctY29sb3I6IHZh''@;'; put 'put ''cigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItdmVydGljYWwtbmF2LXRvZ2dsZS1pY29uLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci12ZXJ0aWNhbC1uYXYtdHJpZ2dlci1kaXZpZGVyLWJvcmRlci13aWR0aDogdmFyKC0tY2xyLWdsb2JhbC1ib3Jk''@;'; put 'put ''ZXJ3aWR0aCk7LS1jbHItdmVydGljYWwtbmF2LXRyaWdnZXItZGl2aWRlci1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItdmVydGljYWwtbmF2LWhlYWRlci1mb250LXdlaWdodDogdmFyKC0tY2xyLXA0LWZvbnQtd2VpZ2h0KX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOi45cmVtO3dpZHRoOjEycmVtO21pbi13aWR0aDoyLjRyZW07YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFy''@;'; put 'put ''KC0tY2xyLXZlcnRpY2FsLW5hdi1iZy1jb2xvciwgI2U4ZThlOCk7d2lsbC1jaGFuZ2U6d2lkdGg7dHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZS1pbi1vdXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1kaXZpZGVye2JvcmRlci1jb2xv''@;'; put 'put ''cjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LXRyaWdnZXItZGl2aWRlci1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItdmVydGljYWwtbmF2LXRyaWdnZXIt''@;'; put 'put ''ZGl2aWRlci1ib3JkZXItd2lkdGgsIC4wNXJlbSk7bWFyZ2luOi42cmVtIDB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1jb250ZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxIDEgYXV0bztvdmVyZmxv''@;'; put 'put ''dy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1ncm91cHtkaXNwbGF5OmJsb2NrO2ZsZXg6MCAwIGF1dG87aGVpZ2h0OmF1dG87bWluLWhlaWdodDoxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1ncm91cC1jb250ZW50e2Rpc3BsYXk6ZmxleDtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaXRlbS1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12''@;'; put 'put ''ZXJ0aWNhbC1uYXYgLm5hdi1ncm91cC1jb250ZW50LmFjdGl2ZXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaXRlbS1hY3RpdmUtY29sb3IsICM2NjY2NjYpO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1u''@;'; put 'put ''YXYtYWN0aXZlLWJnLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLWxlZnQ6LjE1cmVtIHNvbGlkIHZhcigtLWNsci1uYXYtYWN0aXZlLWJveC1zaGFkb3ctY29sb3IpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtZ3JvdXAtY29udGVudC5hY3Rp''@;'; put 'put ''dmUgLm5hdi1pY29ue2ZpbGw6IzAwNzJhMztmaWxsOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaWNvbi1hY3RpdmUtY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtZ3JvdXAtY29udGVudDpob3Zlcntjb2xvcjoj''@;'; put 'put ''NjY2O2NvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaXRlbS1hY3RpdmUtY29sb3IsICM2NjY2NjYpO2JhY2tncm91bmQtY29sb3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaG92ZXItYmctY29sb3IsICNjY2NjY2MpO3RleHQtZGVjb3JhdGlvbjpu''@;'; put 'put ''b25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtZ3JvdXAtY29udGVudCAubmF2LWxpbmt7ZmxleDoxIDEgYXV0bztwYWRkaW5nLWxlZnQ6MDttaW4td2lkdGg6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZl''@;'; put 'put ''cnRpY2FsLW5hdiAubmF2LWdyb3VwLWNvbnRlbnQgLm5hdi1pY29ue21hcmdpbi1sZWZ0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWdyb3VwLWNvbnRlbnQgLm5hdi10ZXh0e3BhZGRpbmctbGVmdDoxLjJyZW19LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1ncm91cC1jb250ZW50IC5uYXYtaWNvbisubmF2LXRleHR7cGFkZGluZy1sZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1ncm91cC1jb250''@;'; put 'put ''ZW50IC5uYXYtbGluaysubmF2LWdyb3VwLXRleHR7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtdHJpZ2dlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1n''@;'; put 'put ''cm91cC10cmlnZ2Vye2ZsZXg6MCAwIDEuOHJlbTtib3JkZXI6bm9uZTtoZWlnaHQ6MS44cmVtO3BhZGRpbmc6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO291dGxpbmUtb2Zmc2V0Oi0uMjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNsci12ZXJ0aWNhbC1uYXYgLm5hdi10cmlnZ2VyIGNkcy1pY29uW3NoYXBlPWFuZ2xlLWRvdWJsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtdHJpZ2dlciBjbHItaWNvbltzaGFwZT1hbmdsZS1kb3VibGVdLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWdyb3VwLXRyaWdnZXIgY2RzLWljb25bc2hhcGU9YW5nbGUtZG91YmxlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1ncm91cC10cmlnZ2VyIGNsci1p''@;'; put 'put ''Y29uW3NoYXBlPWFuZ2xlLWRvdWJsZV17Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LXRvZ2dsZS1pY29uLWNvbG9yLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi10cmlnZ2Vye2Rpc3BsYXk6Zmxl''@;'; put 'put ''eDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7aGVpZ2h0OjEuOHJlbTttYXJnaW4tdG9wOi0uOXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWdyb3VwLXRyaWdnZXJ7ZGlzcGxheTpmbGV4O2Zs''@;'; put 'put ''ZXg6MSAxIGF1dG87Y29sb3I6aW5oZXJpdDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpsZWZ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtZ3JvdXAtdHJpZ2dlciAubmF2LWdyb3VwLXRyaWdnZXItaWNvbntmbGV4LXNocmluazow''@;'; put 'put ''O3dpZHRoOi44cmVtO2FsaWduLXNlbGY6Y2VudGVyO21hcmdpbi1yaWdodDouNXJlbTt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi10cmlnZ2VyLWljb257bWFyZ2luLWxlZnQ6YXV0''@;'; put 'put ''bzttYXJnaW4tcmlnaHQ6LjVyZW07dHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtdHJpZ2dlcisubmF2LWNvbnRlbnR7Ym9yZGVyLXRvcC1jb2xvcjojY2NjO2JvcmRlci10b3AtY29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLXZlcnRpY2FsLW5hdi10cmlnZ2VyLWRpdmlkZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6LjA1cmVtO2JvcmRlci10b3Atd2lkdGg6dmFyKC0tY2xyLXZlcnRpY2FsLW5hdi10cmlnZ2VyLWRpdmlk''@;'; put 'put ''ZXItYm9yZGVyLXdpZHRoLCAuMDVyZW0pO3BhZGRpbmctdG9wOi42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtZ3JvdXAtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5h''@;'; put 'put ''di1saW5re2hlaWdodDoxLjhyZW07cGFkZGluZzowIC42cmVtIDAgMS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtvdXRsaW5lLW9mZnNldDotLjI1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtZ3JvdXAtdGV4dCwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi10ZXh0e2ZsZXg6MSAxIGF1dG87d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVy''@;'; put 'put ''dGljYWwtbmF2IC5uYXYtbGlua3tkaXNwbGF5OmZsZXg7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWl0ZW0tY29sb3IsICM2NjY2NjYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtbGluay5hY3RpdmV7Y29s''@;'; put 'put ''b3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWl0ZW0tYWN0aXZlLWNvbG9yLCAjNjY2NjY2KTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWFjdGl2ZS1iZy1jb2xvciwgd2hpdGUpO2JvcmRlci1sZWZ0Oi4x''@;'; put 'put ''NXJlbSBzb2xpZCB2YXIoLS1jbHItbmF2LWFjdGl2ZS1ib3gtc2hhZG93LWNvbG9yKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWxpbmsuYWN0aXZlIC5uYXYtaWNvbntmaWxsOiMwMDcyYTM7ZmlsbDp2YXIoLS1jbHItdmVydGljYWwt''@;'; put 'put ''bmF2LWljb24tYWN0aXZlLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWxpbms6aG92ZXJ7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWl0ZW0tYWN0aXZlLWNvbG9yLCAjNjY2NjY2''@;'; put 'put ''KTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWhvdmVyLWJnLWNvbG9yLCAjY2NjY2NjKTt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2''@;'; put 'put ''LWhlYWRlcntwYWRkaW5nOjAgLjZyZW0gMCAxLjJyZW07Zm9udC1zaXplOi42cmVtO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXdlaWdodDp2YXIoLS1jbHItdmVydGljYWwtbmF2LWhlYWRlci1mb250LXdlaWdodCwgNjAwKTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bGluZS1oZWlnaHQ6MS44cmVt''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtaWNvbntmbGV4OjAgMCAuOHJlbTthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6LjhyZW07d2lkdGg6LjhyZW07bWluLWhlaWdodDouOHJlbTttaW4td2lkdGg6LjhyZW07bWFyZ2luLXJpZ2h0''@;'; put 'put ''Oi4zcmVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiBjbHItdmVydGljYWwtbmF2LWdyb3VwLWNoaWxkcmVue2Rpc3BsYXk6YmxvY2t9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12''@;'; put 'put ''ZXJ0aWNhbC1uYXYgLm5hdi1idG57ZmxleDoxIDEgYXV0bztwYWRkaW5nOjA7bWFyZ2luOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lLW9mZnNldDotLjI1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHIt''@;'; put 'put ''dmVydGljYWwtbmF2Pi5uYXYtbGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1jb250ZW50Pi5uYXYtbGlua3tmbGV4OjAgMCAxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYg''@;'; put 'put ''Lm5hdi1saW5rKy5uYXYtZ3JvdXAtdHJpZ2dlcntmbGV4OjAgMCAxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1saW5rKy5uYXYtZ3JvdXAtdHJpZ2dlciAubmF2LWdyb3VwLXRleHR7ZGlzcGxheTpub25lfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2IC5uYXYtaWNvbisubmF2LWdyb3VwLXRleHR7cGFkZGluZy1sZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYuaGFzLW5hdi1ncm91cHMgLm5hdi1saW5rLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdi5oYXMtbmF2LWdyb3VwcyAubmF2LWdyb3VwIC5uYXYtZ3JvdXAtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYuaGFzLW5hdi1ncm91cHMgLm5hdi1ncm91cCAu''@;'; put 'put ''bmF2LWdyb3VwLXRyaWdnZXJ7Zm9udC13ZWlnaHQ6NjAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2Lmhhcy1uYXYtZ3JvdXBzIC5uYXYtZ3JvdXAtY2hpbGRyZW4gLm5hdi1saW5re2ZvbnQtd2VpZ2h0OjQwMH0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdi5oYXMtaWNvbnMgLm5hdi1ncm91cC1jaGlsZHJlbiAubmF2LWxpbmt7cGFkZGluZy1sZWZ0OjIuM3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWdyb3VwLmFjdGl2ZTpub3Qo''@;'; put 'put ''LmlzLWV4cGFuZGVkKSAubmF2LWdyb3VwLWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXZlcnRpY2FsLW5hdi1hY3RpdmUtYmctY29sb3IsIHdoaXRlKTtib3JkZXItbGVmdDouMTVyZW0gc29saWQgdmFyKC0tY2xyLW5hdi1hY3RpdmUt''@;'; put 'put ''Ym94LXNoYWRvdy1jb2xvcil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi1ncm91cC5hY3RpdmU6bm90KC5pcy1leHBhbmRlZCkgLm5hdi1ncm91cC1jb250ZW50IC5uYXYtaWNvbntmaWxsOiMwMDcyYTM7ZmlsbDp2YXIoLS1jbHItdmVy''@;'; put 'put ''dGljYWwtbmF2LWljb24tYWN0aXZlLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWdyb3VwLWNvbnRlbnQgLm5hdi1saW5rLmFjdGl2ZX4ubmF2LWdyb3VwLXRyaWdnZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZm''@;'; put 'put ''O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXZlcnRpY2FsLW5hdi1hY3RpdmUtYmctY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LWdyb3VwLWNvbnRlbnQgLm5hdi1saW5rOmhvdmVyfi5uYXYtZ3JvdXAtdHJp''@;'; put 'put ''Z2dlcntiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWhvdmVyLWJnLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXZlcnRpY2FsLW5hdjpub3QoLmlzLWNvbGxhcHNlZCkgLm5h''@;'; put 'put ''di1saW5rKy5uYXYtZ3JvdXAtdHJpZ2dlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93LW1lbnVdKTpub3QoW2NsYXNzKj1vcGVuLWhhbWJ1cmdlci1tZW51XSkg''@;'; put 'put ''LmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2Vke3dpZHRoOjIuNHJlbTttaW4td2lkdGg6Mi40cmVtO2N1cnNvcjpwb2ludGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93LW1lbnVdKTpub3QoW2Ns''@;'; put 'put ''YXNzKj1vcGVuLWhhbWJ1cmdlci1tZW51XSkgLmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2VkIC5uYXYtdHJpZ2dlcnttYXJnaW4tcmlnaHQ6LjE1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93''@;'; put 'put ''LW1lbnVdKTpub3QoW2NsYXNzKj1vcGVuLWhhbWJ1cmdlci1tZW51XSkgLmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2VkIC5uYXYtaWNvbnttYXJnaW46MDttYXJnaW4tbGVmdDouOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXI6bm90KFtj''@;'; put 'put ''bGFzcyo9b3Blbi1vdmVyZmxvdy1tZW51XSk6bm90KFtjbGFzcyo9b3Blbi1oYW1idXJnZXItbWVudV0pIC5jbHItdmVydGljYWwtbmF2LmlzLWNvbGxhcHNlZCAubmF2LWdyb3VwLWNvbnRlbnQgLm5hdi1saW5re2ZsZXg6MCAwIDIuNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAubWFpbi1jb250YWluZXI6bm90KFtjbGFzcyo9b3Blbi1vdmVyZmxvdy1tZW51XSk6bm90KFtjbGFzcyo9b3Blbi1oYW1idXJnZXItbWVudV0pIC5jbHItdmVydGljYWwtbmF2LmlzLWNvbGxhcHNlZCAubmF2LWdyb3VwLWNvbnRlbnQgLm5hdi1saW5rfi5uYXYtZ3JvdXAtdHJpZ2dl''@;'; put 'put ''cntmbGV4OjAgMCAuOHJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0uOHJlbSk7cG9pbnRlci1ldmVudHM6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXI6bm90KFtjbGFzcyo9b3Blbi1vdmVyZmxvdy1tZW51XSk6bm90KFtjbGFzcyo9b3Blbi1o''@;'; put 'put ''YW1idXJnZXItbWVudV0pIC5jbHItdmVydGljYWwtbmF2LmlzLWNvbGxhcHNlZCAubmF2LWxpbmssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93LW1lbnVdKTpub3QoW2NsYXNzKj1vcGVuLWhhbWJ1cmdl''@;'; put 'put ''ci1tZW51XSkgLmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2VkIC5uYXYtZ3JvdXAtdHJpZ2dlcntwYWRkaW5nOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyOm5vdChbY2xhc3MqPW9wZW4tb3ZlcmZsb3ctbWVudV0pOm5vdChbY2xhc3MqPW9w''@;'; put 'put ''ZW4taGFtYnVyZ2VyLW1lbnVdKSAuY2xyLXZlcnRpY2FsLW5hdi5pcy1jb2xsYXBzZWQgLm5hdi1ncm91cC10cmlnZ2Vye3BhZGRpbmctbGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93LW1lbnVd''@;'; put 'put ''KTpub3QoW2NsYXNzKj1vcGVuLWhhbWJ1cmdlci1tZW51XSkgLmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2VkIC5uYXYtZ3JvdXAtdHJpZ2dlciBjbHItaWNvbi5uYXYtZ3JvdXAtdHJpZ2dlci1pY29ue2hlaWdodDoxLjhyZW07d2lkdGg6LjVyZW07bWFyZ2luLWxlZnQ6LjE1cmVtO21h''@;'; put 'put ''cmdpbi1yaWdodDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93LW1lbnVdKTpub3QoW2NsYXNzKj1vcGVuLWhhbWJ1cmdlci1tZW51XSkgLmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2VkIC5uYXYt''@;'; put 'put ''Z3JvdXAtdHJpZ2dlciBjZHMtaWNvbi5uYXYtZ3JvdXAtdHJpZ2dlci1pY29ue3dpZHRoOi41cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93LW1lbnVdKTpub3QoW2NsYXNzKj1vcGVuLWhhbWJ1cmdl''@;'; put 'put ''ci1tZW51XSkgLmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2VkIC5uYXYtZ3JvdXAsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lcjpub3QoW2NsYXNzKj1vcGVuLW92ZXJmbG93LW1lbnVdKTpub3QoW2NsYXNzKj1vcGVuLWhhbWJ1cmdlci1tZW51''@;'; put 'put ''XSkgLmNsci12ZXJ0aWNhbC1uYXYuaXMtY29sbGFwc2VkIC5uYXYtbGlua3tkaXNwbGF5Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyOm5vdChbY2xhc3MqPW9wZW4tb3ZlcmZsb3ctbWVudV0pOm5vdChbY2xhc3MqPW9wZW4taGFtYnVyZ2Vy''@;'; put 'put ''LW1lbnVdKSAuY2xyLXZlcnRpY2FsLW5hdi5pcy1jb2xsYXBzZWQuaGFzLWljb25zIC5uYXYtZ3JvdXB7ZGlzcGxheTpibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXI6bm90KFtjbGFzcyo9b3Blbi1vdmVyZmxvdy1tZW51XSk6bm90KFtjbGFz''@;'; put 'put ''cyo9b3Blbi1oYW1idXJnZXItbWVudV0pIC5jbHItdmVydGljYWwtbmF2LmlzLWNvbGxhcHNlZC5oYXMtaWNvbnMgLm5hdi1saW5re2Rpc3BsYXk6ZmxleH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXI6bm90KFtjbGFzcyo9b3Blbi1vdmVyZmxvdy1t''@;'; put 'put ''ZW51XSk6bm90KFtjbGFzcyo9b3Blbi1oYW1idXJnZXItbWVudV0pIC5jbHItdmVydGljYWwtbmF2LmlzLWNvbGxhcHNlZC5oYXMtaWNvbnMgLm5hdi1ncm91cC10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXI6bm90KFtjbGFzcyo9b3Blbi1v''@;'; put 'put ''dmVyZmxvdy1tZW51XSk6bm90KFtjbGFzcyo9b3Blbi1oYW1idXJnZXItbWVudV0pIC5jbHItdmVydGljYWwtbmF2LmlzLWNvbGxhcHNlZC5oYXMtaWNvbnMgLm5hdi10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpOy13ZWJraXQtY2xpcC1wYXRoOmlu''@;'; put 'put ''c2V0KDUwJSk7Y2xpcC1wYXRoOmluc2V0KDUwJSk7cGFkZGluZzowO2JvcmRlcjowO2hlaWdodDoxcHg7d2lkdGg6MXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dG9wOjA7bGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwt''@;'; put 'put ''bmF2Lm5hdi10cmlnZ2VyLS1ib3R0b20gLm5hdi10cmlnZ2Vye29yZGVyOjI7bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdmVydGljYWwtbmF2Lm5hdi10cmlnZ2VyLS1ib3R0b20gLm5hdi10cmlnZ2VyKy5uYXYtY29udGVudHtib3JkZXItYm90''@;'; put 'put ''dG9tLWNvbG9yOiNjY2M7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LXRyaWdnZXItZGl2aWRlci1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7Ym9yZGVyLWJvdHRvbS13aWR0aDouMDVyZW07Ym9yZGVyLWJvdHRvbS13''@;'; put 'put ''aWR0aDp2YXIoLS1jbHItdmVydGljYWwtbmF2LXRyaWdnZXItZGl2aWRlci1ib3JkZXItd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLXRvcDpub25lO3BhZGRpbmctdG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItc2xpZGluZy1wYW5lbC10ZXh0''@;'; put 'put ''LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLW5hdi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0yMDApOy0tY2xyLXJlc3BvbnNpdmUtbmF2LWhvdmVyLWJnOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1yZXNwb25z''@;'; put 'put ''aXZlLW5hdi10cmlnZ2VyLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1yZXNwb25zaXZlLW5hdi10cmlnZ2VyLWJvcmRlci1yYWRpdXM6IHZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzKTstLWNsci1yZXNwb25zaXZlLW5hdi1oYW1idXJnZXItYm9yZGVy''@;'; put 'put ''LXJhZGl1czogdmFyKC0tY2xyLXJlc3BvbnNpdmUtbmF2LXRyaWdnZXItYm9yZGVyLXJhZGl1cyk7LS1jbHItcmVzcG9uc2l2ZS1uYXYtb3ZlcmZsb3ctYm9yZGVyLXJhZGl1czogLjJyZW07LS1jbHItcmVzcG9uc2l2ZS1uYXYtaGVhZGVyLWJhY2tkcm9wLWJnLWNvbG9yOiB2YXIoLS1jbHIt''@;'; put 'put ''Y29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1yZXNwb25zaXZlLW5hdi1oZWFkZXItYmFja2Ryb3Atb3BhY2l0eTogLjg1fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3Nle21hcmdpbjouNzVyZW07LS1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwt''@;'; put 'put ''NTAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9zZTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1uYXYtY2xvc2U6Zm9jdXN7LS1jb2xvcjogdmFyKC0tY2xyLXJlc3BvbnNpdmUtbmF2LXRyaWdnZXItYmctY29sb3Ip''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItaGFtYnVyZ2VyLXRyaWdnZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlcntkaXNwbGF5Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmhlYWRlci1oYW1idXJnZXItdHJpZ2dlcj5zcGFuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyPnNw''@;'; put 'put ''YW46YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlPnNwYW4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5h''@;'; put 'put ''di1jbG9zZT5zcGFuOmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDouMXJlbTt3aWR0aDoxLjJyZW07YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1yZXNwb25zaXZlLW5hdi10cmlnZ2VyLWJnLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLXJhZGl1czouMTVyZW07''@;'; put 'put ''Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItcmVzcG9uc2l2ZS1uYXYtaGFtYnVyZ2VyLWJvcmRlci1yYWRpdXMsIC4xNXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci1oYW1idXJnZXItdHJpZ2dlcj5zcGFuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuY2xyLW5hdi1jbG9zZT5zcGFue3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyPnNwYW46YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9zZT5zcGFuOmFmdGVye2Nv''@;'; put 'put ''bnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItaGFtYnVyZ2VyLXRyaWdnZXI+c3BhbjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlPnNwYW46YmVmb3Jl''@;'; put 'put ''e3RvcDotLjM1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItaGFtYnVyZ2VyLXRyaWdnZXI+c3BhbjphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1uYXYtY2xvc2U+c3BhbjphZnRlcntib3R0b206LS4zNXJlbX0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyLmFjdGl2ZT5zcGFuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9zZS5hY3RpdmU+c3BhbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5oZWFkZXItaGFtYnVyZ2VyLXRyaWdnZXIuYWN0aXZlPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyLmFjdGl2ZT5zcGFuOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLW5hdi1jbG9zZS5hY3RpdmU+c3BhbjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlLmFjdGl2ZT5zcGFuOmFmdGVye2xlZnQ6LjE1cmVtO3RyYW5zZm9ybS1vcmlnaW46OSU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZz''@;'; put 'put ''IGVhc2V9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci1oYW1idXJnZXItdHJpZ2dlci5hY3RpdmU+c3BhbjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlLmFjdGl2ZT5zcGFuOmJlZm9yZXt0cmFuc2Zvcm06cm90''@;'; put 'put ''YXRlKDQ1ZGVnKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyLmFjdGl2ZT5zcGFuOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9zZS5hY3RpdmU+c3BhbjphZnRlcnt0cmFuc2Zvcm06''@;'; put 'put ''cm90YXRlKC00NWRlZyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci1vdmVyZmxvdy10cmlnZ2VyPnNwYW4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlcj5zcGFuOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci1vdmVyZmxvdy10cmlnZ2VyPnNwYW46YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlPnNwYW4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlPnNwYW46YmVm''@;'; put 'put ''b3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9zZT5zcGFuOmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDouMnJlbTt3aWR0aDouMnJlbTtiYWNrZ3JvdW5kOndoaXRlO2JhY2tncm91bmQ6dmFyKC0tY2xyLXJlc3BvbnNpdmUtbmF2LXRy''@;'; put 'put ''aWdnZXItYmctY29sb3IsIHdoaXRlKTtib3JkZXItcmFkaXVzOi4ycmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLXJlc3BvbnNpdmUtbmF2LW92ZXJmbG93LWJvcmRlci1yYWRpdXMsIC4ycmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLW92ZXJmbG93LXRy''@;'; put 'put ''aWdnZXI+c3BhbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1uYXYtY2xvc2U+c3Bhbntwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci1vdmVyZmxvdy10cmlnZ2VyPnNw''@;'; put 'put ''YW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLW92ZXJmbG93LXRyaWdnZXI+c3BhbjphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1uYXYtY2xvc2U+c3BhbjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItbmF2LWNsb3NlPnNwYW46YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci1vdmVyZmxvdy10cmlnZ2VyPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuY2xyLW5hdi1jbG9zZT5zcGFuOmJlZm9yZXt0b3A6LS40cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlcj5zcGFuOmFmdGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9z''@;'; put 'put ''ZT5zcGFuOmFmdGVye2JvdHRvbTotLjRyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmhlYWRlci1vdmVyZmxvdy10cmlnZ2VyLmFjdGl2ZT5zcGFuLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9zZS5hY3RpdmU+c3BhbntiYWNrZ3Jv''@;'; put 'put ''dW5kOnRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlci5hY3RpdmU+c3BhbjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlci5hY3RpdmU+c3Bhbjph''@;'; put 'put ''ZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1uYXYtY2xvc2UuYWN0aXZlPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW5hdi1jbG9zZS5hY3RpdmU+c3BhbjphZnRlcntoZWlnaHQ6LjFyZW07d2lkdGg6MS4ycmVt''@;'; put 'put ''O2xlZnQ6LS4zcmVtO3RyYW5zZm9ybS1vcmlnaW46LTMlO3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlci5hY3RpdmU+c3BhbjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItbmF2LWNsb3NlLmFjdGl2ZT5zcGFuOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuaGVhZGVyLW92ZXJmbG93LXRyaWdnZXIuYWN0aXZlPnNwYW46YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItbmF2LWNsb3NlLmFjdGl2ZT5zcGFuOmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5oZWFkZXIt''@;'; put 'put ''aGFtYnVyZ2VyLXRyaWdnZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyLW92ZXJmbG93LXRyaWdnZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6''@;'; put 'put ''ZToxLjJyZW07aGVpZ2h0OjNyZW07d2lkdGg6M3JlbTtwYWRkaW5nOjAgMCAuMnJlbTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZhZmFmYTtjb2xvcjp2YXIoLS1jbHItaGVhZGVyLWZvbnQtY29sb3IsICNmYWZhZmEpO29wYWNpdHk6LjY1O29wYWNpdHk6''@;'; put 'put ''dmFyKC0tY2xyLWhlYWRlci1uYXYtb3BhY2l0eSwgLjY1KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRlci1oYW1idXJnZXItdHJpZ2dlcjpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVy''@;'; put 'put ''IC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlcjpmb2N1c3tvdXRsaW5lLW9mZnNldDotLjI1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyOmVuYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyLW92ZXJmbG93LXRyaWdnZXI6ZW5hYmxlZDpob3ZlcntvcGFjaXR5OjE7b3BhY2l0eTp2YXIoLS1jbHItaGVhZGVyLW5hdi1ob3Zlci1vcGFjaXR5LCAxKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1j''@;'; put 'put ''b250YWluZXIgLmhlYWRlci1oYW1idXJnZXItdHJpZ2dlcjpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5oZWFkZXItb3ZlcmZsb3ctdHJpZ2dlcjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5oZWFkZXItbmF2LmNsci1uYXYtbGV2ZWwtMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAubWFpbi1jb250YWluZXIgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnNpZGVuYXYuY2xyLW5hdi1sZXZlbC0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWlu''@;'; put 'put ''ZXIgLmNsci12ZXJ0aWNhbC1uYXYuY2xyLW5hdi1sZXZlbC0xe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6YXV0bztib3R0b206MDtsZWZ0OjA7YmFja2dyb3VuZDojZThlOGU4O2JhY2tncm91bmQ6dmFyKC0tY2xyLW5hdi1i''@;'; put 'put ''YWNrZ3JvdW5kLWNvbG9yLCAjZThlOGU4KTt6LWluZGV4OjEwMzk7aGVpZ2h0OjEwMHZoO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cmVtKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRl''@;'; put 'put ''ci1uYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Ym5hdi5jbHItbmF2LWxldmVsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdi5jbHItbmF2LWxl''@;'; put 'put ''dmVsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc2lkZW5hdi5jbHItbmF2LWxldmVsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuY2xyLXZlcnRpY2FsLW5hdi5jbHItbmF2LWxldmVsLTJ7''@;'; put 'put ''ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6YXV0bztiYWNrZ3JvdW5kOiNlOGU4ZTg7YmFja2dyb3VuZDp2YXIoLS1jbHItbmF2LWJhY2tncm91bmQtY29sb3IsICNlOGU4ZTgpO3otaW5kZXg6MTAz''@;'; put 'put ''OTtoZWlnaHQ6MTAwdmg7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHJlbSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2V9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zaWRlbmF2LmNsci1uYXYtbGV2ZWwtMntvdmVyZmxvdzppbmhlcml0fS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Ym5hdi5jbHItbmF2LWxldmVsLTEgYXNpZGUsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMSBhc2lkZSwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMiBhc2lkZSwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0yIGFzaWRle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjth''@;'; put 'put ''bGlnbi1pdGVtczpzdHJldGNofS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMSBhc2lkZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYt''@;'; put 'put ''bGV2ZWwtMSBhc2lkZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0yIGFzaWRlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Yi1uYXYuY2xyLW5hdi1sZXZl''@;'; put 'put ''bC0yIGFzaWRle2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Ym5hdi5jbHItbmF2LWxldmVsLTEgLm5hdiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29u''@;'; put 'put ''dGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Ym5hdi5jbHItbmF2LWxldmVsLTIgLm5hdiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVy''@;'; put 'put ''IC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2e3BhZGRpbmctbGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2IC5uYXYtaXRlbSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2IC5uYXYtaXRlbSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYgLm5hdi1pdGVtLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYgLm5hdi1pdGVte2hlaWdodDoxLjhyZW07bWFyZ2luLXJpZ2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5h''@;'; put 'put ''di1sZXZlbC0xIC5uYXYgLm5hdi1saW5rLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYgLm5hdi1saW5rLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIg''@;'; put 'put ''LnN1Ym5hdi5jbHItbmF2LWxldmVsLTIgLm5hdiAubmF2LWxpbmssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdiAubmF2LWxpbmt7cGFkZGluZzowIC42cmVtIDAgMS4ycmVtO3dpZHRoOjEwMCU7''@;'; put 'put ''bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjE1cmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7Ym9y''@;'; put 'put ''ZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMTVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaXRlbS1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYgLm5hdi1saW5rLmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2''@;'; put 'put ''IC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2IC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAu''@;'; put 'put ''c3ViLW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdiAubmF2LWxpbmsuYWN0aXZle2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXZlcnRpY2FsLW5hdi1pdGVtLWFjdGl2ZS1jb2xvciwgIzY2NjY2Nik7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXZl''@;'; put 'put ''cnRpY2FsLW5hdi1hY3RpdmUtYmctY29sb3IsIHdoaXRlKTtib3JkZXItbGVmdDouMTVyZW0gc29saWQgdmFyKC0tY2xyLW5hdi1hY3RpdmUtYm94LXNoYWRvdy1jb2xvcil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1s''@;'; put 'put ''ZXZlbC0xIC5uYXYgLm5hdi1saW5rLmFjdGl2ZSAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdiAubmF2LWxpbmsuYWN0aXZlIC5uYXYtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYgLm5hdi1saW5rLmFjdGl2ZSAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTIgLm5h''@;'; put 'put ''diAubmF2LWxpbmsuYWN0aXZlIC5uYXYtaWNvbntmaWxsOiMwMDcyYTM7ZmlsbDp2YXIoLS1jbHItdmVydGljYWwtbmF2LWljb24tYWN0aXZlLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Ym5hdi5jbHItbmF2LWxl''@;'; put 'put ''dmVsLTEgLm5hdiAubmF2LWxpbms6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdiAubmF2LWxpbms6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNv''@;'; put 'put ''bnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2IC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2IC5uYXYtbGluazpob3Zlcntjb2xvcjojNjY2O2NvbG9y''@;'; put 'put ''OnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaXRlbS1hY3RpdmUtY29sb3IsICM2NjY2NjYpO2JhY2tncm91bmQtY29sb3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaG92ZXItYmctY29sb3IsICNjY2NjY2MpO3RleHQtZGVjb3JhdGlvbjpub25lfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2IC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0xIC5u''@;'; put 'put ''YXYgLm5hdi1saW5rLmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2IC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVy''@;'; put 'put ''IC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2IC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2IC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYgLm5hdi1saW5rLmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2IC5uYXYtbGluazpo''@;'; put 'put ''b3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2IC5uYXYtbGluay5hY3RpdmV7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5l''@;'; put 'put ''ciAuc2lkZW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnNpZGVuYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5tYWluLWNvbnRhaW5lciAuc2lkZW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdi1saW5rOmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnNpZGVuYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYtbGluay5hY3RpdmV7Y29sb3I6aW5oZXJp''@;'; put 'put ''dDtiYWNrZ3JvdW5kOndoaXRlO2JhY2tncm91bmQ6dmFyKC0tY2xyLXJlc3BvbnNpdmUtbmF2LWhvdmVyLWJnLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zaWRlbmF2LmNsci1uYXYtbGV2ZWwtMSwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zaWRlbmF2LmNsci1uYXYtbGV2ZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5jbHItdmVydGljYWwtbmF2LmNsci1uYXYtbGV2ZWwtMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5jbHItdmVydGljYWwtbmF2LmNsci1uYXYtbGV2ZWwtMntib3JkZXItcmlnaHQ6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRlci1vdmVyZmxvdy10cmlnZ2Vye3Bvc2l0aW9uOnJlbGF0''@;'; put 'put ''aXZlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyLW92ZXJmbG93LXRyaWdnZXI6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtiYWNrZ3JvdW5kOiNmYWZhZmE7YmFja2dyb3VuZDp2''@;'; put 'put ''YXIoLS1jbHItaGVhZGVyLWZvbnQtY29sb3IsICNmYWZhZmEpO29wYWNpdHk6dmFyKC0tY2xyLWhlYWRlci1kaXZpZGVyLW9wYWNpdHksIC4xNSk7b3BhY2l0eTouMTU7aGVpZ2h0OjJyZW07d2lkdGg6LjA1cmVtO3dpZHRoOnZhcigtLWNsci1nbG9iYWwtYm9yZGVyd2lkdGgsIC4wNXJlbSk7''@;'; put 'put ''dG9wOi41cmVtO2xlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRlciAuYnJhbmRpbmd7bWF4LXdpZHRoOjEycmVtO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFp''@;'; put 'put ''bi1jb250YWluZXIgLmhlYWRlciAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyKy5icmFuZGluZ3twYWRkaW5nLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRlciAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyKy5icmFuZGluZyAu''@;'; put 'put ''Y2xyLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyIC5oZWFkZXItaGFtYnVyZ2VyLXRyaWdnZXIrLmJyYW5kaW5nIC5sb2dvLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRl''@;'; put 'put ''ciAuaGVhZGVyLWhhbWJ1cmdlci10cmlnZ2VyKy5icmFuZGluZyBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5oZWFkZXIgLmhlYWRlci1oYW1idXJnZXItdHJpZ2dlcisuYnJhbmRpbmcgY2xyLWljb257ZGlzcGxheTpub25lfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyIC5icmFuZGluZysuaGVhZGVyLW92ZXJmbG93LXRyaWdnZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyIC5oZWFkZXItbmF2Ky5oZWFk''@;'; put 'put ''ZXItb3ZlcmZsb3ctdHJpZ2dlcnttYXJnaW4tbGVmdDphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5oZWFkZXIgLmhlYWRlci1iYWNrZHJvcCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''Lm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuaGVhZGVyIC5oZWFkZXItYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDpibGFjaztiYWNrZ3JvdW5kOnZhcigtLWNsci1yZXNwb25zaXZlLW5hdi1oZWFkZXIt''@;'; put 'put ''YmFja2Ryb3AtYmctY29sb3IsIGJsYWNrKTtvcGFjaXR5Oi44NTtvcGFjaXR5OnZhcigtLWNsci1yZXNwb25zaXZlLW5hdi1oZWFkZXItYmFja2Ryb3Atb3BhY2l0eSwgLjg1KTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjEwMzh9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1h''@;'; put 'put ''aW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5oZWFkZXIt''@;'; put 'put ''bmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2LWxpbmssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYtbGlua3tmbGV4OjAgMCBhdXRvO29wYWNpdHk6MTtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaXRlbS1j''@;'; put 'put ''b2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rIC5uYXYtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rIC5mYSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUg''@;'; put 'put ''LmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdi1saW5rIC5uYXYtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTIgLm5h''@;'; put 'put ''di1saW5rIC5mYSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuaGVhZGVyIC5oZWFkZXItbmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2LWxpbmsgLm5hdi1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYtbGluayAuZmEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRl''@;'; put 'put ''ciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdi1saW5rIC5uYXYtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuaGVhZGVyIC5oZWFkZXItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2LWxpbmsg''@;'; put 'put ''LmZhe2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5oZWFkZXItbmF2LmNsci1uYXYtbGV2ZWwtMSAubmF2LWxpbmsgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5oZWFkZXItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2LWxpbmsgLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxv''@;'; put 'put ''dy1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYtbGluayAubmF2LXRleHQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVs''@;'; put 'put ''LTIgLm5hdi1saW5rIC5uYXYtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1zbGlkaW5nLXBhbmVsLXRleHQtY29sb3IsICM2NjY2NjYpO2xpbmUtaGVpZ2h0OjEuMnJlbTtwYWRkaW5nOi4zcmVtIDAgLjNyZW0gMS4ycmVtO3doaXRlLXNwYWNl''@;'; put 'put ''Om5vcm1hbDtmb250LXdlaWdodDo0MDB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rIC5uYXYtaWNvbisubmF2LXRleHQsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYtbGluayAubmF2LWljb24rLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''bWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYtbGluayAubmF2LWljb24rLm5hdi10ZXh0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1t''@;'; put 'put ''ZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYtbGluayAubmF2LWljb24rLm5hdi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5oZWFk''@;'; put 'put ''ZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYtbGluay5h''@;'; put 'put ''Y3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rLmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1h''@;'; put 'put ''aW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuaGVhZGVyIC5oZWFkZXItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2LWxpbmsuYWN0aXZle2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXZlcnRpY2FsLW5hdi1pdGVtLWFjdGl2ZS1jb2xvciwgIzY2NjY2Nik7YmFja2dyb3VuZC1j''@;'; put 'put ''b2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXZlcnRpY2FsLW5hdi1hY3RpdmUtYmctY29sb3IsIHdoaXRlKTtib3JkZXItbGVmdDouMTVyZW0gc29saWQgdmFyKC0tY2xyLW5hdi1hY3RpdmUtYm94LXNoYWRvdy1jb2xvcil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rLmFjdGl2ZSAubmF2LWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1''@;'; put 'put ''cmdlci1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYtbGluay5hY3RpdmUgLm5hdi1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xy''@;'; put 'put ''LW5hdi1sZXZlbC0xIC5uYXYtbGluay5hY3RpdmUgLm5hdi1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yIC5uYXYtbGluay5hY3RpdmUgLm5h''@;'; put 'put ''di1pY29ue2ZpbGw6IzAwNzJhMztmaWxsOnZhcigtLWNsci12ZXJ0aWNhbC1uYXYtaWNvbi1hY3RpdmUtY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYu''@;'; put 'put ''Y2xyLW5hdi1sZXZlbC0xIC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdi1saW5rOmhvdmVyLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5oZWFkZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0xIC5uYXYtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4t''@;'; put 'put ''b3ZlcmZsb3ctbWVudSAuaGVhZGVyIC5oZWFkZXItbmF2LmNsci1uYXYtbGV2ZWwtMiAubmF2LWxpbms6aG92ZXJ7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWl0ZW0tYWN0aXZlLWNvbG9yLCAjNjY2NjY2KTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3Vu''@;'; put 'put ''ZC1jb2xvcjp2YXIoLS1jbHItdmVydGljYWwtbmF2LWhvdmVyLWJnLWNvbG9yLCAjY2NjY2NjKTt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5oZWFkZXItbmF2''@;'; put 'put ''LmNsci1uYXYtbGV2ZWwtMSAubmF2LWxpbmsuYWN0aXZlPi5uYXYtdGV4dCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdi1saW5rLmFjdGl2''@;'; put 'put ''ZT4ubmF2LXRleHQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLm5hdi1saW5rLmFjdGl2ZT4ubmF2LXRleHQsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRlciAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTIgLm5hdi1saW5rLmFjdGl2ZT4ubmF2LXRleHR7Y29sb3I6aW5oZXJpdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1j''@;'; put 'put ''b250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuY2xyLXZlcnRpY2FsLW5hdiAubmF2LXRyaWdnZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci12ZXJ0aWNhbC1uYXYgLm5hdi10cmlnZ2Vye2Rpc3Bs''@;'; put 'put ''YXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5icmFuZGluZ3twb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjE4cmVtO21heC13aWR0aDoxOHJl''@;'; put 'put ''bTt6LWluZGV4OjEwNDA7cGFkZGluZy1sZWZ0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5icmFuZGluZz4ubmF2LWxpbmt7b3ZlcmZsb3c6aGlkZGVufS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5oZWFkZXIgLmJyYW5kaW5nIC5jbHItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuYnJhbmRp''@;'; put 'put ''bmcgLmxvZ28sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5oZWFkZXIgLmJyYW5kaW5nIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1i''@;'; put 'put ''dXJnZXItbWVudSAuaGVhZGVyIC5icmFuZGluZyBjbHItaWNvbntkaXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5icmFuZGluZyBjZHMtaWNvbltzaGFwZT12bS1i''@;'; put 'put ''dWddLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5icmFuZGluZyBjbHItaWNvbltzaGFwZT12bS1idWddLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIu''@;'; put 'put ''b3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyIC5icmFuZGluZyAuY2xyLXZtdy1sb2dve2JhY2tncm91bmQtY29sb3I6IzhjOGM4Yztib3JkZXItcmFkaXVzOi4xNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVu''@;'; put 'put ''dSAuaGVhZGVyIC5icmFuZGluZyAudGl0bGV7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItc2xpZGluZy1wYW5lbC10ZXh0LWNvbG9yLCAjNjY2NjY2KTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFp''@;'; put 'put ''bi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuY2xyLW5hdi1jbG9zZXtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDphdXRvO2xlZnQ6MDt6LWluZGV4OjEwMzk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxOC42cmVtKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNnMgZWFzZX0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuY2xyLW5hdi1jbG9zZTphZnRlcntjb250ZW50Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUg''@;'; put 'put ''LmNsci1uYXYtY2xvc2U+c3BhbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5jbHItbmF2LWNsb3NlPnNwYW46YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuY2xyLW5hdi1jbG9zZT5zcGFuOmFmdGVye2xlZnQ6LjE1cmVtO3RyYW5zZm9ybS1vcmlnaW46OSU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2V9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''Lm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmNsci1uYXYtY2xvc2U+c3BhbjpiZWZvcmV7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmNsci1uYXYt''@;'; put 'put ''Y2xvc2U+c3BhbjphZnRlcnt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0xLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuc2lkZW5hdi5jbHItbmF2LWxldmVsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5j''@;'; put 'put ''bHItdmVydGljYWwtbmF2LmNsci1uYXYtbGV2ZWwtMXtwYWRkaW5nLXRvcDo0LjJyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJn''@;'; put 'put ''ZXItbWVudSAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEgLnNpZGVuYXYtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLnN1Ym5hdi5jbHItbmF2LWxldmVsLTEgLnNpZGVuYXYtY29udGVudCwg''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0xIC5zaWRlbmF2LWNvbnRlbnQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVu''@;'; put 'put ''LWhhbWJ1cmdlci1tZW51IC5zaWRlbmF2LmNsci1uYXYtbGV2ZWwtMSAuc2lkZW5hdi1jb250ZW50LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuY2xyLXZlcnRpY2FsLW5hdi5jbHItbmF2LWxldmVsLTEgLnNp''@;'; put 'put ''ZGVuYXYtY29udGVudHtwYWRkaW5nLWJvdHRvbToxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLnN1Ym5hdi5jbHItbmF2LWxldmVsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5zaWRlbmF2LmNsci1uYXYtbGV2ZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuY2xyLXZlcnRpY2Fs''@;'; put 'put ''LW5hdi5jbHItbmF2LWxldmVsLTJ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5oZWFkZXItbmF2LmNsci1uYXYtbGV2''@;'; put 'put ''ZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuc3VibmF2LmNsci1uYXYtbGV2ZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVu''@;'; put 'put ''dSAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTJ7cGFkZGluZy10b3A6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci1uYXYtY2xvc2V7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtsZWZ0OmF1''@;'; put 'put ''dG87ei1pbmRleDoxMDM5O3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4LjZyZW0pO3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci1uYXYtY2xvc2U6YWZ0ZXJ7''@;'; put 'put ''Y29udGVudDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci1uYXYtY2xvc2U+c3BhbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNv''@;'; put 'put ''bnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci1uYXYtY2xvc2U+c3BhbjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci1uYXYtY2xvc2U+c3BhbjphZnRlcntoZWlnaHQ6LjFyZW07d2lk''@;'; put 'put ''dGg6MS4ycmVtO2xlZnQ6LS4zcmVtO3RyYW5zZm9ybS1vcmlnaW46LTMlO3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci1uYXYtY2xvc2U+c3BhbjpiZWZv''@;'; put 'put ''cmV7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuY2xyLW5hdi1jbG9zZT5zcGFuOmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5zdWJuYXYuY2xyLW5hdi1s''@;'; put 'put ''ZXZlbC0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdl''@;'; put 'put ''ci1tZW51IC5zaWRlbmF2LmNsci1uYXYtbGV2ZWwtMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmNsci12ZXJ0aWNhbC1uYXYuY2xyLW5hdi1sZXZlbC0xe292ZXJmbG93OmluaGVyaXQ7d2lkdGg6MThyZW07''@;'; put 'put ''bWF4LXdpZHRoOjE4cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Bl''@;'; put 'put ''bi1vdmVyZmxvdy1tZW51IC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuc2lkZW5hdi5jbHItbmF2LWxldmVsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci12ZXJ0aWNhbC1uYXYuY2xyLW5hdi1sZXZlbC0y''@;'; put 'put ''e3dpZHRoOjE4cmVtO21heC13aWR0aDoxOHJlbX19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuaGVhZGVyIC5icmFuZGluZ3ttYXgtd2lkdGg6Ny4ycmVtO21pbi13aWR0aDowO292''@;'; put 'put ''ZXJmbG93OmhpZGRlbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0xLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Ym5hdi5jbHItbmF2LWxldmVsLTEs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuc2lkZW5hdi5jbHItbmF2LWxldmVsLTEsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lciAuY2xyLXZlcnRpY2FsLW5hdi5jbHItbmF2LWxldmVsLTF7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTQuNHJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5oZWFkZXItbmF2LmNsci1u''@;'; put 'put ''YXYtbGV2ZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyIC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnN1Yi1uYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLnNpZGVuYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIgLmNsci12ZXJ0aWNhbC1uYXYuY2xyLW5hdi1sZXZlbC0ye3RyYW5zZm9ybTp0''@;'; put 'put ''cmFuc2xhdGUoMTQuNHJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmhlYWRlciAuYnJhbmRpbmd7d2lkdGg6MTQuNHJlbTttYXgtd2lkdGg6MTQuNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuaGVhZGVyLW5hdi5jbHItbmF2LWxldmVsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0xLCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuc3ViLW5hdi5jbHItbmF2LWxldmVsLTEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLWhhbWJ1cmdlci1tZW51IC5z''@;'; put 'put ''aWRlbmF2LmNsci1uYXYtbGV2ZWwtMSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmNsci12ZXJ0aWNhbC1uYXYuY2xyLW5hdi1sZXZlbC0xe292ZXJmbG93OmluaGVyaXQ7d2lkdGg6MTQuNHJlbTttYXgtd2lk''@;'; put 'put ''dGg6MTQuNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1oYW1idXJnZXItbWVudSAuY2xyLW5hdi1jbG9zZXtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDphdXRvO2xlZnQ6MDt6LWluZGV4OjEwMzk7dHJhbnNmb3JtOnRyYW5zbGF0''@;'; put 'put ''ZSgxNXJlbSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2V9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4taGFtYnVyZ2VyLW1lbnUgLmNsci1uYXYtY2xvc2U6YWZ0ZXJ7Y29udGVudDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmhlYWRlci1uYXYuY2xyLW5hdi1sZXZlbC0yLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5zdWJuYXYuY2xyLW5hdi1sZXZlbC0y''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubWFpbi1jb250YWluZXIub3Blbi1vdmVyZmxvdy1tZW51IC5zdWItbmF2LmNsci1uYXYtbGV2ZWwtMiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAu''@;'; put 'put ''c2lkZW5hdi5jbHItbmF2LWxldmVsLTIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci12ZXJ0aWNhbC1uYXYuY2xyLW5hdi1sZXZlbC0ye3dpZHRoOjE0LjRyZW07bWF4LXdpZHRoOjE0LjRyZW19LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1haW4tY29udGFpbmVyLm9wZW4tb3ZlcmZsb3ctbWVudSAuY2xyLW5hdi1jbG9zZXtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2xlZnQ6YXV0bzt6LWluZGV4OjEwMzk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTVyZW0pO3RyYW5zaXRp''@;'; put 'put ''b246dHJhbnNmb3JtIC42cyBlYXNlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tYWluLWNvbnRhaW5lci5vcGVuLW92ZXJmbG93LW1lbnUgLmNsci1uYXYtY2xvc2U6YWZ0ZXJ7Y29udGVudDpub25lfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMt''@;'; put 'put ''cm9vdHstLWNsci1wcm9ncmVzcy1kZWZhdWx0LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCk7LS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTE6IHZhcigtLWNsci1jb2xvci1zdWNjZXNzLTQwMCk7LS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTI6IHZhcigtLWNsci1jb2xvci1k''@;'; put 'put ''YW5nZXItODAwKTstLWNsci1wcm9ncmVzcy1hbHQtY29sb3ItMzogdmFyKC0tY2xyLXByb2dyZXNzLWFsdC1jb2xvci0yKTstLWNsci1wcm9ncmVzcy1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMjAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jl''@;'; put 'put ''c3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWN7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7Zm9udC1zaXplOmluaGVyaXQ7aGVpZ2h0OjJlbTttYXJnaW46MDttYXgtaGVpZ2h0Oi43cmVtO21pbi1oZWlnaHQ6''@;'; put 'put ''LjJyZW07b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3M+cHJvZ3Jlc3N7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTst''@;'; put 'put ''by1hcHBlYXJhbmNlOm5vbmU7Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtZGVmYXVsdC1jb2xvciwgIzAwNzJhMyk7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtYmctY29sb3Is''@;'; put 'put ''ICNlOGU4ZTgpO2JvcmRlcjpub25lO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzPnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVle2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztiYWNrZ3JvdW5kLWNvbG9yOnZh''@;'; put 'put ''cigtLWNsci1wcm9ncmVzcy1kZWZhdWx0LWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3M+cHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFye2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1w''@;'; put 'put ''cm9ncmVzcy1kZWZhdWx0LWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3M+cHJvZ3Jlc3NbdmFsdWU9IjAiXTo6LW1vei1wcm9ncmVzcy1iYXJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFw''@;'; put 'put ''cGVhcmFuY2U6bm9uZTstby1hcHBlYXJhbmNlOm5vbmU7Y29sb3I6I2U4ZThlODtjb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtYmctY29sb3IsICNlOGU4ZTgpO21pbi13aWR0aDoyLjRyZW07YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzPnByb2dyZXNzW3ZhbHVlPSIwIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7LXdlYmtpdC10cmFuc2l0aW9uOm5vbmU7dHJhbnNpdGlvbjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcz5w''@;'; put 'put ''cm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXJ7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQtY29sb3I6I2U4ZThlODtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1wcm9ncmVzcy1iZy1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dy''@;'; put 'put ''ZXNzPnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWlubmVyLWVsZW1lbnR7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTstby1hcHBlYXJhbmNlOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBy''@;'; put 'put ''b2dyZXNzPnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVley13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuMjNzIGVhc2UtaW47dHJhbnNpdGlvbjp3aWR0aCAuMjNzIGVhc2UtaW47Ym9yZGVyLXJhZGl1czowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVz''@;'; put 'put ''cy5zdWNjZXNzPnByb2dyZXNze2NvbG9yOiM1ZWI3MTU7Y29sb3I6dmFyKC0tY2xyLXByb2dyZXNzLWFsdC1jb2xvci0xLCAjNWViNzE1KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Muc3VjY2Vzcz5wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZXti''@;'; put 'put ''YWNrZ3JvdW5kLWNvbG9yOiM1ZWI3MTU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTEsICM1ZWI3MTUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5zdWNjZXNzPnByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhcntiYWNr''@;'; put 'put ''Z3JvdW5kLWNvbG9yOiM1ZWI3MTU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTEsICM1ZWI3MTUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy53YXJuaW5nPnByb2dyZXNze2NvbG9yOiNjMjFkMDA7Y29sb3I6dmFyKC0t''@;'; put 'put ''Y2xyLXByb2dyZXNzLWFsdC1jb2xvci0zLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mud2FybmluZz5wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNjMjFkMDA7YmFja2dyb3VuZC1jb2xvcjp2YXIo''@;'; put 'put ''LS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTMsICNjMjFkMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy53YXJuaW5nPnByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNjMjFkMDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1j''@;'; put 'put ''bHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTMsICNjMjFkMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5kYW5nZXI+cHJvZ3Jlc3N7Y29sb3I6I2MyMWQwMDtjb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTIsICNjMjFkMDApfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5kYW5nZXI+cHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7YmFja2dyb3VuZC1jb2xvcjojYzIxZDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXByb2dyZXNzLWFsdC1jb2xvci0yLCAjYzIxZDAwKX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MuZGFuZ2VyPnByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNjMjFkMDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTIsICNjMjFkMDApfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5sYWJlbGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljLmxhYmVsZWR7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDozZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LnByb2dyZXNzLmxhYmVsZWQ+c3BhbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYy5sYWJlbGVkPnNwYW57ZGlzcGxheTpibG9jaztmb250LXNpemU6MWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MDtsaW5lLWhlaWdodDoxZW07''@;'; put 'put ''bWFyZ2luLXRvcDotLjM3NWVtfUAtd2Via2l0LWtleWZyYW1lcyBjbHItcHJvZ3Jlc3MtZmFkZXswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGNsci1wcm9ncmVzcy1mYWRlezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5wcm9ncmVzcy5wcm9ncmVzcy1mYWRlPnByb2dyZXNzW3ZhbHVlPSIxMDAiXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLnByb2dyZXNzLWZhZGU+cHJvZ3Jlc3NbdmFsdWU9IjEwMCJdK3NwYW57LXdlYmtpdC1hbmltYXRpb246Y2xyLXByb2dy''@;'; put 'put ''ZXNzLWZhZGUgLjNzIGxpbmVhciAuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOmNsci1wcm9ncmVzcy1mYWRlIC4zcyBsaW5lYXIgLjVzIGZvcndhcmRzfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5mbGFzaC1kYW5nZXI+cHJvZ3Jlc3MsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5mbGFzaD5wcm9ncmVzc3t0cmFuc2l0aW9uOmNvbG9yIC4xcyBlYXNlLW91dCAxc30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MuZmxhc2gtZGFuZ2VyPnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVl''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MuZmxhc2g+cHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yM3MgZWFzZS1pbixiYWNrZ3JvdW5kLWNvbG9yIC4xcyBlYXNlLW91dCAuM3M7dHJhbnNpdGlv''@;'; put 'put ''bjp3aWR0aCAuMjNzIGVhc2UtaW4sYmFja2dyb3VuZC1jb2xvciAuMXMgZWFzZS1vdXQgLjNzfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5mbGFzaC1kYW5nZXI+cHJvZ3Jlc3NbdmFsdWU9IjAiXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmZsYXNoPnByb2dyZXNzW3ZhbHVlPSIwIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7LXdlYmtpdC10cmFuc2l0aW9uOm5vbmU7dHJhbnNpdGlvbjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVz''@;'; put 'put ''cy5mbGFzaC1kYW5nZXI+cHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MuZmxhc2g+cHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyey1tb3otdHJhbnNpdGlvbjp3aWR0aCAuMjNzIGVhc2UtaW4sYmFja2dyb3Vu''@;'; put 'put ''ZC1jb2xvciAuMXMgZWFzZS1vdXQgLjNzO3RyYW5zaXRpb246d2lkdGggLjIzcyBlYXNlLWluLGJhY2tncm91bmQtY29sb3IgLjFzIGVhc2Utb3V0IC4zc30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MuZmxhc2g+cHJvZ3Jlc3NbdmFsdWU9IjEwMCJde2NvbG9y''@;'; put 'put ''OiM1ZWI3MTU7Y29sb3I6dmFyKC0tY2xyLXByb2dyZXNzLWFsdC1jb2xvci0xLCAjNWViNzE1KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MuZmxhc2g+cHJvZ3Jlc3NbdmFsdWU9IjEwMCJdOjotd2Via2l0LXByb2dyZXNzLXZhbHVle2JhY2tncm91bmQtY29s''@;'; put 'put ''b3I6IzVlYjcxNTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1wcm9ncmVzcy1hbHQtY29sb3ItMSwgIzVlYjcxNSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmZsYXNoPnByb2dyZXNzW3ZhbHVlPSIxMDAiXTo6LW1vei1wcm9ncmVzcy1iYXJ7YmFja2dy''@;'; put 'put ''b3VuZC1jb2xvcjojNWViNzE1O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXByb2dyZXNzLWFsdC1jb2xvci0xLCAjNWViNzE1KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MucHJvZ3Jlc3MtZmFkZS5mbGFzaD5wcm9ncmVzc1t2YWx1ZT0iMTAwIl0sIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5wcm9ncmVzcy1mYWRlLmZsYXNoPnByb2dyZXNzW3ZhbHVlPSIxMDAiXStzcGFuey13ZWJraXQtYW5pbWF0aW9uOmNsci1wcm9ncmVzcy1mYWRlIC42cyBsaW5lYXIgMXMgZm9yd2FyZHM7YW5pbWF0aW9uOmNsci1wcm9n''@;'; put 'put ''cmVzcy1mYWRlIC42cyBsaW5lYXIgMXMgZm9yd2FyZHN9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmZsYXNoLWRhbmdlcj5wcm9ncmVzc1t2YWx1ZT0iMTAwIl17Y29sb3I6I2MyMWQwMDtjb2xvcjp2YXIoLS1jbHItcHJvZ3Jlc3MtYWx0LWNvbG9yLTIsICNj''@;'; put 'put ''MjFkMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5mbGFzaC1kYW5nZXI+cHJvZ3Jlc3NbdmFsdWU9IjEwMCJdOjotd2Via2l0LXByb2dyZXNzLXZhbHVle2JhY2tncm91bmQtY29sb3I6I2MyMWQwMDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1wcm9n''@;'; put 'put ''cmVzcy1hbHQtY29sb3ItMiwgI2MyMWQwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmZsYXNoLWRhbmdlcj5wcm9ncmVzc1t2YWx1ZT0iMTAwIl06Oi1tb3otcHJvZ3Jlc3MtYmFye2JhY2tncm91bmQtY29sb3I6I2MyMWQwMDtiYWNrZ3JvdW5kLWNvbG9y''@;'; put 'put ''OnZhcigtLWNsci1wcm9ncmVzcy1hbHQtY29sb3ItMiwgI2MyMWQwMCl9QC13ZWJraXQta2V5ZnJhbWVzIGNsci1wcm9ncmVzcy1sb29wZXJ7MCV7bGVmdDotMTAwJX10b3tsZWZ0OjEwMCV9fUBrZXlmcmFtZXMgY2xyLXByb2dyZXNzLWxvb3BlcnswJXtsZWZ0Oi0xMDAlfXRve2xlZnQ6MTAw''@;'; put 'put ''JX19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmxvb3B7cG9zaXRpb246cmVsYXRpdmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmxvb3A+cHJvZ3Jlc3N7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOnRyYW5zcGFyZW50O2NvbG9y''@;'; put 'put ''OnZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwLCB0cmFuc3BhcmVudCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmxvb3A+cHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNv''@;'; put 'put ''bG9yOnZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwLCB0cmFuc3BhcmVudCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLmxvb3A+cHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xv''@;'; put 'put ''cjp2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCwgdHJhbnNwYXJlbnQpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5sb29wPnByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5sb29wOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOmNsci1wcm9ncmVzcy1sb29wZXIgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7YW5pbWF0aW9uOmNsci1wcm9ncmVzcy1sb29wZXIgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Y29udGVudDoiICI7''@;'; put 'put ''dG9wOjA7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjojMDA3MmEzO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXByb2dyZXNzLWRlZmF1bHQtY29sb3IsICMwMDcyYTMpO3dpZHRoOjc1JX0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MubG9vcC5kYW5nZXI6YWZ0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy5sb29wLndhcm5pbmc6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzIxZDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXByb2dy''@;'; put 'put ''ZXNzLWFsdC1jb2xvci0yLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MubG9vcC5zdWNjZXNzOmFmdGVye2JhY2tncm91bmQtY29sb3I6IzVlYjcxNTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1wcm9ncmVzcy1hbHQtY29sb3ItMSwgIzVl''@;'; put 'put ''YjcxNSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm5hdi1pdGVtIC5wcm9ncmVzczphZnRlcnt0b3A6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGlje3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjpub25lO3dpZHRoOjEwMCV9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXByb2dyZXNzLWJnLWNvbG9yLCAjZThlOGU4KTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9u''@;'; put 'put ''OmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3R0b206MDtyaWdodDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDcyYTM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHIt''@;'; put 'put ''cHJvZ3Jlc3MtZGVmYXVsdC1jb2xvciwgIzAwNzJhMyk7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MCU7Y29udGVudDoiICJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jl''@;'; put 'put ''c3MtbWV0ZXJbZGF0YS12YWx1ZT0iMSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMiJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNz''@;'; put 'put ''LXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMyJdOmJlZm9yZXt3aWR0aDoyJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI0Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI1Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI2Il06YmVmb3JlLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI3Il06YmVmb3Jle3dpZHRoOjUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEt''@;'; put 'put ''dmFsdWU9IjgiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjkiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dy''@;'; put 'put ''ZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjEwIl06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIxMSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dy''@;'; put 'put ''ZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMTIiXTpiZWZvcmV7d2lkdGg6MTAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjEzIl06YmVmb3JlLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIxNCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMTUiXTpiZWZv''@;'; put 'put ''cmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjE2Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRh''@;'; put 'put ''LXZhbHVlPSIxNyJdOmJlZm9yZXt3aWR0aDoxNSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMTgiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1z''@;'; put 'put ''dGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjE5Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIyMCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMjEiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjIyIl06YmVmb3Jle3dpZHRoOjIwJX0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIyMyJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1''@;'; put 'put ''ZT0iMjQiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjI1Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVz''@;'; put 'put ''cy1tZXRlcltkYXRhLXZhbHVlPSIyNiJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMjciXTpiZWZvcmV7d2lkdGg6MjUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjI4Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIyOSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMzAiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjMxIl06YmVmb3Jl''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIzMiJdOmJlZm9yZXt3aWR0aDozMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0''@;'; put 'put ''ZXJbZGF0YS12YWx1ZT0iMzMiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjM0Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3Rh''@;'; put 'put ''dGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIzNSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMzYiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjM3Il06YmVmb3Jle3dpZHRoOjM1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSIzOCJdOmJlZm9yZSwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iMzkiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9''@;'; put 'put ''IjQwIl06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI0MSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3Mt''@;'; put 'put ''bWV0ZXJbZGF0YS12YWx1ZT0iNDIiXTpiZWZvcmV7d2lkdGg6NDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjQzIl06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''cHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI0NCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNDUiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjQ2Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI0NyJdOmJlZm9yZXt3''@;'; put 'put ''aWR0aDo0NSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNDgiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVy''@;'; put 'put ''W2RhdGEtdmFsdWU9IjQ5Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI1MCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRp''@;'; put 'put ''Yz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNTEiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjUyIl06YmVmb3Jle3dpZHRoOjUwJX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI1MyJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNTQiXTpiZWZvcmUsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjU1Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI1''@;'; put 'put ''NiJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNTciXTpiZWZvcmV7d2lkdGg6NTUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnBy''@;'; put 'put ''b2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjU4Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI1OSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBy''@;'; put 'put ''b2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNjAiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjYxIl06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI2MiJdOmJlZm9yZXt3aWR0aDo2MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNjMiXTpi''@;'; put 'put ''ZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjY0Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltk''@;'; put 'put ''YXRhLXZhbHVlPSI2NSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNjYiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+''@;'; put 'put ''LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjY3Il06YmVmb3Jle3dpZHRoOjY1JX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI2OCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNjkiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjcwIl06YmVmb3JlLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI3MSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNzIi''@;'; put 'put ''XTpiZWZvcmV7d2lkdGg6NzAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjczIl06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9n''@;'; put 'put ''cmVzcy1tZXRlcltkYXRhLXZhbHVlPSI3NCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNzUiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9n''@;'; put 'put ''cmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9Ijc2Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI3NyJdOmJlZm9yZXt3aWR0aDo3NSV9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iNzgiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9Ijc5Il06YmVm''@;'; put 'put ''b3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI4MCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0''@;'; put 'put ''YS12YWx1ZT0iODEiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjgyIl06YmVmb3Jle3dpZHRoOjgwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mt''@;'; put 'put ''c3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI4MyJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iODQiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9Ijg1Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI4NiJdOmJlZm9yZSwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iODciXTpiZWZvcmV7d2lkdGg6ODUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFs''@;'; put 'put ''dWU9Ijg4Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI4OSJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jl''@;'; put 'put ''c3MtbWV0ZXJbZGF0YS12YWx1ZT0iOTAiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjkxIl06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jl''@;'; put 'put ''c3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI5MiJdOmJlZm9yZXt3aWR0aDo5MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iOTMiXTpiZWZvcmUsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9Ijk0Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI5NSJdOmJlZm9y''@;'; put 'put ''ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iOTYiXTpiZWZvcmV7d2lkdGg6OTUlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1l''@;'; put 'put ''dGVyW2RhdGEtdmFsdWU9Ijk3Il06YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcltkYXRhLXZhbHVlPSI5OCJdOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0''@;'; put 'put ''YXRpYz4ucHJvZ3Jlc3MtbWV0ZXJbZGF0YS12YWx1ZT0iOTkiXTpiZWZvcmV7d2lkdGg6OTglfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVyW2RhdGEtdmFsdWU9IjEwMCJdOmJlZm9yZXt3aWR0aDoxMDAlfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWMubGFiZWxlZD4ucHJvZ3Jlc3MtbWV0ZXJ7cmlnaHQ6M2VtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1zdGF0aWMuc3VjY2Vzcz4ucHJvZ3Jlc3MtbWV0ZXI6YmVmb3Jle2JhY2tncm91''@;'; put 'put ''bmQtY29sb3I6IzVlYjcxNTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1wcm9ncmVzcy1hbHQtY29sb3ItMSwgIzVlYjcxNSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLXN0YXRpYy53YXJuaW5nPi5wcm9ncmVzcy1tZXRlcjpiZWZvcmV7YmFja2dyb3Vu''@;'; put 'put ''ZC1jb2xvcjojYzIxZDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXByb2dyZXNzLWFsdC1jb2xvci0zLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3Mtc3RhdGljLmRhbmdlcj4ucHJvZ3Jlc3MtbWV0ZXI6YmVmb3Jle2JhY2tncm91bmQt''@;'; put 'put ''Y29sb3I6I2MyMWQwMDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1wcm9ncmVzcy1hbHQtY29sb3ItMiwgI2MyMWQwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLnByb2dyZXNzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2Fy''@;'; put 'put ''ZC1ibG9jayAucHJvZ3Jlc3Mtc3RhdGljLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1mb290ZXIgLnByb2dyZXNzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1mb290ZXIgLnByb2dyZXNzLXN0YXRpY3ttYXJnaW46MDttYXJnaW4tdG9w''@;'; put 'put ''Oi0uNnJlbTtoZWlnaHQ6LjE4NzVyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWJsb2NrIC5wcm9ncmVzcz5wcm9ncmVzcywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLnByb2dy''@;'; put 'put ''ZXNzLXN0YXRpYz4ucHJvZ3Jlc3MtbWV0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWZvb3RlciAucHJvZ3Jlc3M+cHJvZ3Jlc3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWZvb3RlciAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVz''@;'; put 'put ''cy1tZXRlcntoZWlnaHQ6LjE4NzVyZW07cG9zaXRpb246YWJzb2x1dGV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLnByb2dyZXNzLnRvcCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLnByb2dyZXNzLXN0YXRpYy50''@;'; put 'put ''b3AsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWZvb3RlciAucHJvZ3Jlc3MudG9wLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1mb290ZXIgLnByb2dyZXNzLXN0YXRpYy50b3B7bWFyZ2luLXRvcDowO3RvcDowfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5uYXYtaXRlbSAucHJvZ3Jlc3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYtaXRlbSAucHJvZ3Jlc3Mtc3RhdGlje21hcmdpbjowO2hlaWdodDouMjRyZW07bWluLWhlaWdodDouMjRyZW07bWF4LWhlaWdodDouMjRyZW07bGVmdDow''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYtaXRlbSAucHJvZ3Jlc3M+cHJvZ3Jlc3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5uYXYtaXRlbSAucHJvZ3Jlc3Mtc3RhdGljPi5wcm9ncmVzcy1tZXRlcntoZWlnaHQ6LjI0cmVtO21pbi1oZWlnaHQ6''@;'; put 'put ''LjI0cmVtO21heC1oZWlnaHQ6LjI0cmVtO3Bvc2l0aW9uOmFic29sdXRlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1ibG9ja3tkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MtYmxvY2s+KntmbGV4OjAgMCBhdXRvO3BhZGRpbmctcmlnaHQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLWJsb2NrPio6Zmlyc3QtY2hpbGR7cGFkZGluZy1yaWdodDouOXJlbX0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MtYmxvY2s+KjpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MtYmxvY2s+bGFiZWx7Zm9udC13ZWlnaHQ6NjAwfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5wcm9ncmVzcy1ibG9jaz4ucHJvZ3Jlc3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wcm9ncmVzcy1ibG9jaz4ucHJvZ3Jlc3Mtc3RhdGlje2ZsZXg6MCAxIGF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLWJs''@;'; put 'put ''b2NrPi5wcm9ncmVzcy1ncm91cHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OmF1dG87ZmxleDowIDEgYXV0bztkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucHJvZ3Jlc3MtYmxvY2s+LnByb2dyZXNzLWdyb3VwIC5jbHItcm93''@;'; put 'put ''e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnByb2dyZXNzLWJsb2NrPi5wcm9ncmVzcy1ncm91cCAuY2xyLXJvdz5bY2xhc3MqPWNsci1jb2wtXXtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLnByb2dyZXNzLWJsb2Nre21hcmdpbi1ib3R0b206LjZyZW07cGFkZGluZzowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWJsb2NrIC5wcm9ncmVzcy1ibG9jazpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206''@;'; put 'put ''MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9jayAucHJvZ3Jlc3MtYmxvY2s+bGFiZWx7bWF4LXdpZHRoOjMzJTtsaW5lLWhlaWdodDouOXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9jayAucHJvZ3Jlc3MtYmxvY2sgLnBy''@;'; put 'put ''b2dyZXNzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FyZC1ibG9jayAucHJvZ3Jlc3MtYmxvY2sgLnByb2dyZXNzLXN0YXRpY3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6LjYzOTVyZW07bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jYXJkLWJsb2NrIC5wcm9ncmVzcy1ibG9jayAucHJvZ3Jlc3M+cHJvZ3Jlc3MsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYXJkLWJsb2NrIC5wcm9ncmVzcy1ibG9jayAucHJvZ3Jlc3M+LnByb2dyZXNzLW1ldGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuY2FyZC1ibG9jayAucHJvZ3Jlc3MtYmxvY2sgLnByb2dyZXNzLXN0YXRpYz5wcm9ncmVzcywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhcmQtYmxvY2sgLnByb2dyZXNzLWJsb2NrIC5wcm9ncmVzcy1zdGF0aWM+LnByb2dyZXNzLW1ldGVye2hlaWdodDouNjM5''@;'; put 'put ''NXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBfOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAucHJvZ3Jlc3MtYmxvY2s+bGFiZWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290IC5wcm9ncmVzcy1ibG9jaz5sYWJlbHtkaXNwbGF5OmlubGlu''@;'; put 'put ''ZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3Bpbm5lcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6My42cmVtO3dpZHRoOjMuNnJlbTttaW4taGVpZ2h0OjMuNnJlbTttaW4td2lkdGg6My42cmVtOy13ZWJraXQtYW5pbWF0''@;'; put 'put ''aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpzcGluIDFzIGxpbmVhciBpbmZpbml0ZTttYXJnaW46MDtwYWRkaW5nOjA7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjBpZCUzRCUyMkxheWVyXzIlMjIlMjBkYXRhLW5h''@;'; put 'put ''bWUlM0QlMjJMYXllciUyMDIlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDcyJTIwNzIlMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTND''@;'; put 'put ''c3R5bGUlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAuY2xzLTElMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAuY2xzLTIlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmaWxsJTNB''@;'; put 'put ''JTIwbm9uZSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZS1taXRlcmxpbWl0JTNBJTIwMTAlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdHJva2Utd2lkdGglM0ElMjA1cHglM0Il''@;'; put 'put ''MEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAuY2xzLTElMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdHJva2UlM0ElMjAlMjMwMDAwMDAl''@;'; put 'put ''M0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdHJva2Utb3BhY2l0eSUzQSUyMDAuMTUlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAuY2xz''@;'; put 'put ''LTIlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdHJva2UlM0ElMjAlMjMwMDcyYTMlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZzdHlsZSUz''@;'; put 'put ''RSUwQSUyMCUyMCUyMCUyMCUzQyUyRmRlZnMlM0UlMEElMjAlMjAlMjAlMjAlM0N0aXRsZSUzRVByZWxvYWRlcl83MngyJTNDJTJGdGl0bGUlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBjbGFzcyUzRCUyMmNscy0xJTIyJTIwY3glM0QlMjIzNiUyMiUyMGN5JTNEJTIyMzYlMjIlMjBy''@;'; put 'put ''JTNEJTIyMzMlMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NwYXRoJTIwY2xhc3MlM0QlMjJjbHMtMiUyMiUyMGQlM0QlMjJNMTQuMyUyQzYwLjlBMzMlMkMzMyUyQzAlMkMwJTJDMSUyQzM2JTJDMyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQyUyRnBhdGglM0UlMEElM0MlMkZzdmclM0UlMEEp''@;'; put 'put ''O3RleHQtaW5kZW50OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3Bpbm5lci5zcGlubmVyLW1ke2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO21pbi1oZWlnaHQ6MS44cmVtO21pbi13aWR0aDoxLjhy''@;'; put 'put ''ZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNwaW5uZXIuc3Bpbm5lci1pbmxpbmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zcGlubmVyLnNwaW5uZXItc217aGVpZ2h0Oi45cmVtO3dpZHRoOi45cmVtO21pbi1oZWlnaHQ6LjlyZW07bWluLXdpZHRo''@;'; put 'put ''Oi45cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zcGlubmVyLnNwaW5uZXItaW5saW5le3ZlcnRpY2FsLWFsaWduOnRleHQtYm90dG9tfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zcGlubmVyLnNwaW5uZXItaW52ZXJzZXtiYWNrZ3JvdW5kOnVybChk''@;'; put 'put ''YXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMGlkJTNEJTIyTGF5ZXJfMiUyMiUyMGRhdGEtbmFtZSUzRCUyMkxheWVyJTIwMiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIw''@;'; put 'put ''NzIlMjA3MiUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2RlZnMlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NzdHlsZSUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC5jbHMtMSUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC5j''@;'; put 'put ''bHMtMiUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZpbGwlM0ElMjBub25lJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3Ryb2tlLW1pdGVybGltaXQlM0ElMjAxMCUzQiUwQSUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZS13aWR0aCUzQSUyMDVweCUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC5jbHMtMSUyMCU3QiUwQSUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZSUzQSUyMCUyM2ZmZmZmZiUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZS1vcGFjaXR5JTNBJTIwMC4xNSUzQiUwQSUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC5jbHMtMiUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZSUzQSUyMCUyMzc0YzFlMiUzQiUwQSUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRnN0eWxlJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJGZGVmcyUzRSUwQSUyMCUyMCUyMCUyMCUzQ3RpdGxlJTNFUHJlbG9hZGVyXzcyeDIlM0MlMkZ0aXRsZSUzRSUwQSUyMCUyMCUyMCUy''@;'; put 'put ''MCUzQ2NpcmNsZSUyMGNsYXNzJTNEJTIyY2xzLTElMjIlMjBjeCUzRCUyMjM2JTIyJTIwY3klM0QlMjIzNiUyMiUyMHIlM0QlMjIzMyUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBjbGFzcyUzRCUyMmNscy0yJTIyJTIwZCUzRCUyMk0xNC4zJTJDNjAuOUEzMyUyQzMzJTJDMCUy''@;'; put 'put ''QzAlMkMxJTJDMzYlMkMzJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJGcGF0aCUzRSUwQSUzQyUyRnN2ZyUzRSUwQSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNwaW5uZXIuc3Bpbm5lci1uZXV0cmFsLTB7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2No''@;'; put 'put ''YXJzZXQ9dXRmOCwlM0NzdmclMjBpZCUzRCUyMkxheWVyXzIlMjIlMjBkYXRhLW5hbWUlM0QlMjJMYXllciUyMDIlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDcyJTIwNzIlMjIlM0UlMEElMjAl''@;'; put 'put ''MjAlMjAlMjAlM0NkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDc3R5bGUlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAuY2xzLTElMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAuY2xzLTIlMjAlN0IlMEElMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmaWxsJTNBJTIwbm9uZSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZS1taXRlcmxpbWl0JTNBJTIwMTAlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdHJva2Utd2lkdGglM0ElMjA1cHglM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAuY2xzLTElMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAl''@;'; put 'put ''MjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdHJva2UlM0ElMjAlMjN0cmFuc3BhcmVudCUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZS1vcGFjaXR5JTNBJTIwMSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCU3RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC5jbHMtMiUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN0cm9rZSUzQSUyMCUyM2ZmZmZmZiUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCU3RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRnN0eWxlJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJGZGVmcyUzRSUwQSUyMCUyMCUyMCUyMCUzQ3RpdGxlJTNFUHJlbG9hZGVyXzcyeDIlM0MlMkZ0aXRsZSUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGNsYXNz''@;'; put 'put ''JTNEJTIyY2xzLTElMjIlMjBjeCUzRCUyMjM2JTIyJTIwY3klM0QlMjIzNiUyMiUyMHIlM0QlMjIzMyUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBjbGFzcyUzRCUyMmNscy0yJTIyJTIwZCUzRCUyMk0xNC4zJTJDNjAuOUEzMyUyQzMzJTJDMCUyQzAlMkMxJTJDMzYlMkMzJTIy''@;'; put 'put ''JTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJGcGF0aCUzRSUwQSUzQyUyRnN2ZyUzRSUwQSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNwaW5uZXIuc3Bpbm5lci1jaGVja3std2Via2l0LWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lO2JhY2tncm91bmQ6dXJsKGRhdGE6''@;'; put 'put ''aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlMjBwcmVzZXJ2ZUFzcGVjdFJhdGlvJTNEJTIyeE1pZFlNaWQlMjBtZWV0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3''@;'; put 'put ''LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjBmb2N1c2FibGUlM0QlMjJmYWxzZSUyMiUyMGFyaWEtaGlkZGVuJTNEJTIydHJ1ZSUyMiUyMHJvbGUlM0QlMjJpbWclMjIlM0UlM0Nw''@;'; put 'put ''YXRoJTIwZmlsbCUzRCUyMiUyMzAwNzJhMyUyMiUyMGNsYXNzJTNEJTIyY2xyLWktb3V0bGluZSUyMGNsci1pLW91dGxpbmUtcGF0aC0xJTIyJTIwZCUzRCUyMk0xMy43MiUyQzI3LjY5JTJDMy4yOSUyQzE3LjI3YTElMkMxJTJDMCUyQzAlMkMxJTJDMS40MS0xLjQxbDklMkM5TDMxLjI5JTJD''@;'; put 'put ''Ny4yOWExJTJDMSUyQzAlMkMwJTJDMSUyQzEuNDElMkMxLjQxWiUyMiUzRSUzQyUyRnBhdGglM0UlM0MlMkZzdmclM0UpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4tc20gLnNwaW5uZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5hbGVydC1hcHAt''@;'; put 'put ''bGV2ZWwgLmFsZXJ0LWl0ZW0gLmJ0biAuc3Bpbm5lcntoZWlnaHQ6LjY1cmVtO3dpZHRoOi42NXJlbTttaW4taGVpZ2h0Oi42NXJlbTttaW4td2lkdGg6LjY1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5idG4taWNvbjpub3QoLmJ0bi1zbSkgLnNwaW5uZXJ7aGVpZ2h0''@;'; put 'put ''Oi44cmVtO3dpZHRoOi44cmVtO21pbi1oZWlnaHQ6LjhyZW07bWluLXdpZHRoOi44cmVtfUAtd2Via2l0LWtleWZyYW1lcyBzcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2Fz''@;'; put 'put ''anMtcm9vdHstLWNsci10YWJsZS1iZ2NvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci10aGVhZC1iZ2NvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC01MCk7LS1jbHItdGFibGUtaGVhZGVyLWJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0''@;'; put 'put ''cmFsLTQwMCk7LS1jbHItdGFibGUtZm9vdGVyLWJvcmRlci10b3AtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItdGFibGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC00MDApOy0tY2xyLXRhYmxlcm93LWJvcmRlcmNvbG9yOiB2YXIoLS1j''@;'; put 'put ''bHItY29sb3ItbmV1dHJhbC0yMDApOy0tY2xyLXRhYmxlLWJvcmRlci1yYWRpdXM6IHZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzKTstLWNsci10YWJsZS1ib3JkZXJ3aWR0aDogdmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCk7LS1jbHItdGFibGUtY29ybmVyY2VsbHJhZGl1czog''@;'; put 'put ''LjFyZW07LS1jbHItdGFibGUtZm9udC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci10aGVhZC1jb2xvcjogIzY2NjY2Nn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGV7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlO2JvcmRlci1zdHlsZTpz''@;'; put 'put ''b2xpZDtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItdGFibGUtYm9yZGVyd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci10YWJsZS1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1yYWRpdXM6LjE1cmVt''@;'; put 'put ''O2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLXRhYmxlLWJvcmRlci1yYWRpdXMsIC4xNXJlbSk7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRhYmxlLWJnY29sb3IsIHdoaXRlKTtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci10YWJsZS1mb250LWNv''@;'; put 'put ''bG9yLCAjNjY2NjY2KTttYXJnaW46MDttYXJnaW4tdG9wOjEuMnJlbTttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZSB0aCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlIHRke2ZvbnQtc2l6ZTou''@;'; put 'put ''NjVyZW07bGluZS1oZWlnaHQ6LjdyZW07Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItdG9wLXdpZHRoOi4wNXJlbTtib3JkZXItdG9wLXdpZHRoOnZhcigtLWNsci10YWJsZS1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItdG9wLWNvbG9yOiNlOGU4ZTg7Ym9yZGVyLXRvcC1jb2xv''@;'; put 'put ''cjp2YXIoLS1jbHItdGFibGVyb3ctYm9yZGVyY29sb3IsICNlOGU4ZTgpO3BhZGRpbmc6LjU1cmVtIC42cmVtO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOnRvcH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUgdGgubGVmdCwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlIHRkLmxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZSB0aC5sZWZ0OmZpcnN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUgdGQubGVmdDpmaXJzdC1j''@;'; put 'put ''aGlsZHtwYWRkaW5nLWxlZnQ6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlIHRoe2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXRoZWFkLWNvbG9yLCAjNjY2NjY2KTtmb250LXNpemU6LjU1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzou''@;'; put 'put ''MDNlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdGhlYWQtYmdjb2xvciwgI2ZhZmFmYSk7dmVydGljYWwtYWxpZ246Ym90dG9tO2JvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7Ym9yZGVyLWJvdHRvbS13aWR0aDouMDVyZW07Ym9yZGVyLWJv''@;'; put 'put ''dHRvbS13aWR0aDp2YXIoLS1jbHItdGFibGUtYm9yZGVyd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjojY2NjO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLXRhYmxlLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7Ym9yZGVyLXRvcDowIG5vbmV9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRke2JvcmRlci10b3A6MCBub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6LjA1cmVt''@;'; put 'put ''O2JvcmRlci10b3Atd2lkdGg6dmFyKC0tY2xyLXRhYmxlLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci10b3AtY29sb3I6I2NjYztib3JkZXItdG9wLWNvbG9yOnZhcigtLWNsci10YWJsZS1ib3JkZXItY29sb3IsICNjY2NjY2MpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC50YWJsZSB0aGVhZCB0aDpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMXJlbTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNsci10YWJsZS1jb3JuZXJjZWxscmFkaXVzLCAuMXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnRhYmxlIHRoZWFkIHRoOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4xcmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNsci10YWJsZS1jb3JuZXJjZWxscmFkaXVzLCAuMXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLnRhYmxlIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOnZhcigtLWNsci10YWJsZS1jb3JuZXJjZWxs''@;'; put 'put ''cmFkaXVzLCAuMXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMXJlbTtib3JkZXItYm90dG9tLXJp''@;'; put 'put ''Z2h0LXJhZGl1czp2YXIoLS1jbHItdGFibGUtY29ybmVyY2VsbHJhZGl1cywgLjFyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS1jb21wYWN0IHRoLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUtY29tcGFjdCB0ZHtwYWRkaW5nLXRv''@;'; put 'put ''cDouM3JlbTtwYWRkaW5nLWJvdHRvbTouMjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLXZlcnRpY2FsIHRoZWFkIHRoe2JvcmRlcjowIG5vbmU7Ym9yZGVyLXJhZGl1czowO2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAudGFibGUudGFibGUtdmVydGljYWwgdGh7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLXRvcC13aWR0aDouMDVyZW07Ym9yZGVyLXRvcC13aWR0aDp2YXIoLS1jbHItdGFibGUtYm9yZGVyd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLXRvcC1jb2xvcjoj''@;'; put 'put ''Y2NjO2JvcmRlci10b3AtY29sb3I6dmFyKC0tY2xyLXRhYmxlLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7dmVydGljYWwtYWxpZ246dG9wfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS12ZXJ0aWNhbCB0ZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnRhYmxlLnRhYmxlLXZlcnRpY2FsIHRoe3RleHQtYWxpZ246bGVmdDtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLXRhYmxlLWJvcmRlci1jb2xvciwgI2NjY2NjYyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLXZl''@;'; put 'put ''cnRpY2FsIHRkOmZpcnN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUudGFibGUtdmVydGljYWwgdGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodC13aWR0aDouMDVyZW07Ym9yZGVyLXJpZ2h0LXdpZHRoOnZh''@;'; put 'put ''cigtLWNsci10YWJsZS1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItcmlnaHQtY29sb3I6I2NjYztib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tY2xyLXRhYmxlLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JhY2tncm91bmQtY29sb3I6dmFyKC0t''@;'; put 'put ''Y2xyLXRoZWFkLWJnY29sb3IsICNmYWZhZmEpO2ZvbnQtd2VpZ2h0OjYwMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUudGFibGUtdmVydGljYWwgdGJvZHk6Zmlyc3Qtb2YtdHlwZSB0cjpmaXJzdC1jaGlsZCB0aCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnRhYmxlLnRhYmxlLXZlcnRpY2FsIHRib2R5OmZpcnN0LW9mLXR5cGUgdHI6Zmlyc3QtY2hpbGQgdGR7Ym9yZGVyLXRvcDowIG5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLXZlcnRpY2FsIHRib2R5OmZpcnN0LW9mLXR5cGUgdHI6Zmly''@;'; put 'put ''c3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS12ZXJ0aWNhbCB0Ym9keTpmaXJzdC1vZi10eXBlIHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFk''@;'; put 'put ''aXVzOi4xcmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6dmFyKC0tY2xyLXRhYmxlLWNvcm5lcmNlbGxyYWRpdXMsIC4xcmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUudGFibGUtdmVydGljYWwgdGJvZHk6Zmlyc3Qtb2YtdHlwZSB0cjpmaXJzdC1jaGlsZCB0''@;'; put 'put ''aDpsYXN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUudGFibGUtdmVydGljYWwgdGJvZHk6Zmlyc3Qtb2YtdHlwZSB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMXJlbTti''@;'; put 'put ''b3JkZXItdG9wLXJpZ2h0LXJhZGl1czp2YXIoLS1jbHItdGFibGUtY29ybmVyY2VsbHJhZGl1cywgLjFyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS12ZXJ0aWNhbCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS12ZXJ0aWNhbCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjFyZW07Ym9yZGVyLWJvdHRvbS1s''@;'; put 'put ''ZWZ0LXJhZGl1czp2YXIoLS1jbHItdGFibGUtY29ybmVyY2VsbHJhZGl1cywgLjFyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS12ZXJ0aWNhbCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLXZlcnRpY2FsIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czp2''@;'; put 'put ''YXIoLS1jbHItdGFibGUtY29ybmVyY2VsbHJhZGl1cywgLjFyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS1ub2JvcmRlcntib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLW5vYm9yZGVyIHRoe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojY2NjO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLXRhYmxlLWJvcmRlci1jb2xvciwgI2Nj''@;'; put 'put ''Y2NjYyk7Ym9yZGVyLXRvcDowIG5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLW5vYm9yZGVyIHRoOmZpcnN0LWNoaWxke2JvcmRlci1yaWdodDowIG5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLW5vYm9y''@;'; put 'put ''ZGVyIHRke2JvcmRlci10b3A6MCBub25lO3BhZGRpbmctdG9wOi42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS1ub2JvcmRlciB0ZDpmaXJzdC1jaGlsZHtib3JkZXItcmlnaHQ6MCBub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC50YWJsZS50YWJsZS1ub2JvcmRlciB0aGVhZCB0aDpmaXJzdC1jaGlsZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLW5vYm9yZGVyIHRoZWFkIHRoOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC50YWJsZS50YWJsZS1ub2JvcmRlciB0aCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLW5vYm9yZGVyIHRke2JvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLW5vYm9y''@;'; put 'put ''ZGVyIHRoOmZpcnN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUudGFibGUtbm9ib3JkZXIgdGQ6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLWNvbXBhY3QgdGgsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJsZS50YWJsZS1jb21wYWN0IHRke3BhZGRpbmctdG9wOi4zcmVtO3BhZGRpbmctYm90dG9tOi4yNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFibGUudGFibGUtY29tcGFjdC50YWJsZS1ub2JvcmRlciB0''@;'; put 'put ''aCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYmxlLnRhYmxlLWNvbXBhY3QudGFibGUtbm9ib3JkZXIgdGR7cGFkZGluZy10b3A6LjM1cmVtO3BhZGRpbmctYm90dG9tOi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xy''@;'; put 'put ''LXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMTAwMCk7LS1jbHItdG9vbHRpcC1ib3JkZXItcmFkaXVzOiB2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cyk7LS1jbHItdG9vbHRpcC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7''@;'; put 'put ''LS1jbHItdG9vbHRpcC1mb250LXdlaWdodDogdmFyKC0tY2xyLXAzLWZvbnQtd2VpZ2h0KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcHtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmxlZnQ7b3ZlcmZsb3c6dmlzaWJs''@;'; put 'put ''ZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcD4udG9vbHRpcC1jb250ZW50e3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGxpbmVhcjt3aGl0ZS1zcGFjZTpub3JtYWw7ei1pbmRleDoxMDUwfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC50b29sdGlwOmhvdmVyPi50b29sdGlwLWNvbnRlbnQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwOmZvY3VzPi50b29sdGlwLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAudG9vbHRpcDpob3Zlcj4udG9vbHRpcC1jb250ZW50OmVtcHR5LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcDpmb2N1cz4udG9vbHRpcC1jb250ZW50OmVtcHR5e3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcDpmb2N1c3tvdXRsaW5lOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXA6Zm9jdXM+OmZpcnN0LWNoaWxke291dGxpbmUtb2Zmc2V0Oi4wNXJlbTtvdXRsaW5lLXdpZHRoOi4wNXJlbTtvdXRsaW5lLWNvbG9yOiMz''@;'; put 'put ''Yjk5ZmM7b3V0bGluZS1zdHlsZTpzb2xpZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcD4udG9vbHRpcC1jb250ZW50LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLXRvcC1yaWdodD4udG9vbHRpcC1jb250ZW50LCAu''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50LnRvb2x0aXAtdG9wLXJpZ2h0e2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtY29sb3IsIHdoaXRlKTtmb250LXNpemU6LjY1cmVtO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdl''@;'; put 'put ''aWdodDp2YXIoLS1jbHItdG9vbHRpcC1mb250LXdlaWdodCwgNDAwKTtsZXR0ZXItc3BhY2luZzpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgYmxhY2spO2JvcmRlci1yYWRpdXM6LjE1cmVt''@;'; put 'put ''O2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLXRvb2x0aXAtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtsaW5lLWhlaWdodDouOXJlbTttYXJnaW46MDtwYWRkaW5nOi40NXJlbSAuNnJlbTt3aWR0aDoxMnJlbTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6YXV0bztib3R0b206MTAwJTtsZWZ0OjUwJTty''@;'; put 'put ''aWdodDphdXRvO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDttYXJnaW4tYm90dG9tOi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwPi50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRp''@;'; put 'put ''cC50b29sdGlwLXRvcC1yaWdodD4udG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudC50b29sdGlwLXRvcC1yaWdodDpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0uNDJyZW07bGVm''@;'; put 'put ''dDowO3RvcDphdXRvO3JpZ2h0OmF1dG87Y29udGVudDoiIjtib3JkZXItbGVmdDouM3JlbSBzb2xpZCBibGFjaztib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1jbHItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yKTtib3JkZXItdG9wOi4yNXJlbSBzb2xpZCBibGFjaztib3JkZXItdG9wLWNvbG9y''@;'; put 'put ''OnZhcigtLWNsci10b29sdGlwLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yaWdodDouM3JlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOi4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLXRv''@;'; put 'put ''cC1sZWZ0Pi50b29sdGlwLWNvbnRlbnQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwIC50b29sdGlwLWNvbnRlbnQudG9vbHRpcC10b3AtbGVmdHtjb2xvcjojZmZmO2NvbG9yOnZhcigtLWNsci10b29sdGlwLWNvbG9yLCB3aGl0ZSk7Zm9udC1zaXplOi42NXJl''@;'; put 'put ''bTtmb250LXdlaWdodDo0MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXRvb2x0aXAtZm9udC13ZWlnaHQsIDQwMCk7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci10b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGJs''@;'; put 'put ''YWNrKTtib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci10b29sdGlwLWJvcmRlci1yYWRpdXMsIC4xNXJlbSk7bGluZS1oZWlnaHQ6LjlyZW07bWFyZ2luOjA7cGFkZGluZzouNDVyZW0gLjZyZW07d2lkdGg6MTJyZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOmF1''@;'; put 'put ''dG87Ym90dG9tOjEwMCU7cmlnaHQ6NTAlO2xlZnQ6YXV0bztib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO21hcmdpbi1ib3R0b206LjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAudG9vbHRpcC10b3AtbGVmdD4udG9vbHRpcC1jb250ZW50OmJlZm9y''@;'; put 'put ''ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudC50b29sdGlwLXRvcC1sZWZ0OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LS40MnJlbTtyaWdodDowO3RvcDphdXRvO2xlZnQ6YXV0bztjb250ZW50OiIiO2JvcmRlci1y''@;'; put 'put ''aWdodDouM3JlbSBzb2xpZCBibGFjaztib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXRvcDouMjVyZW0gc29saWQgYmxhY2s7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jbHItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yKTtib3Jk''@;'; put 'put ''ZXItbGVmdDouM3JlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOi4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLWJvdHRvbS1yaWdodD4udG9vbHRpcC1jb250ZW50LCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50LnRvb2x0aXAtYm90dG9tLXJpZ2h0e2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtY29sb3IsIHdoaXRlKTtmb250LXNpemU6LjY1cmVtO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIo''@;'; put 'put ''LS1jbHItdG9vbHRpcC1mb250LXdlaWdodCwgNDAwKTtsZXR0ZXItc3BhY2luZzpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgYmxhY2spO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1y''@;'; put 'put ''YWRpdXM6dmFyKC0tY2xyLXRvb2x0aXAtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtsaW5lLWhlaWdodDouOXJlbTttYXJnaW46MDtwYWRkaW5nOi40NXJlbSAuNnJlbTt3aWR0aDoxMnJlbTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206YXV0bzt0b3A6MTAwJTtsZWZ0OjUwJTtyaWdodDphdXRv''@;'; put 'put ''O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDttYXJnaW4tdG9wOi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAtYm90dG9tLXJpZ2h0Pi50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''dG9vbHRpcCAudG9vbHRpcC1jb250ZW50LnRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LS40MnJlbTtsZWZ0OjA7Ym90dG9tOmF1dG87cmlnaHQ6YXV0bztjb250ZW50OiIiO2JvcmRlci1sZWZ0Oi4zcmVtIHNvbGlkIGJsYWNrO2JvcmRlci1sZWZ0''@;'; put 'put ''LWNvbG9yOnZhcigtLWNsci10b29sdGlwLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1ib3R0b206LjI1cmVtIHNvbGlkIGJsYWNrO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJpZ2h0Oi4zcmVtIHNvbGlkIHRyYW5zcGFy''@;'; put 'put ''ZW50O2JvcmRlci10b3A6LjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAtYm90dG9tLWxlZnQ+LnRvb2x0aXAtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAgLnRv''@;'; put 'put ''b2x0aXAtY29udGVudC50b29sdGlwLWJvdHRvbS1sZWZ0e2NvbG9yOiNmZmY7Y29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtY29sb3IsIHdoaXRlKTtmb250LXNpemU6LjY1cmVtO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1jbHItdG9vbHRpcC1mb250LXdlaWdodCwgNDAwKTts''@;'; put 'put ''ZXR0ZXItc3BhY2luZzpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgYmxhY2spO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLXRvb2x0aXAtYm9yZGVyLXJh''@;'; put 'put ''ZGl1cywgLjE1cmVtKTtsaW5lLWhlaWdodDouOXJlbTttYXJnaW46MDtwYWRkaW5nOi40NXJlbSAuNnJlbTt3aWR0aDoxMnJlbTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206YXV0bzt0b3A6MTAwJTtyaWdodDo1MCU7bGVmdDphdXRvO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7bWFyZ2lu''@;'; put 'put ''LXRvcDouOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLWJvdHRvbS1sZWZ0Pi50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50LnRvb2x0aXAt''@;'; put 'put ''Ym90dG9tLWxlZnQ6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotLjQycmVtO3JpZ2h0OjA7Ym90dG9tOmF1dG87bGVmdDphdXRvO2NvbnRlbnQ6IiI7Ym9yZGVyLXJpZ2h0Oi4zcmVtIHNvbGlkIGJsYWNrO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1jbHItdG9vbHRpcC1iYWNrZ3Jv''@;'; put 'put ''dW5kLWNvbG9yKTtib3JkZXItYm90dG9tOi4yNXJlbSBzb2xpZCBibGFjaztib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci10b29sdGlwLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1sZWZ0Oi4zcmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6LjI1cmVtIHNvbGlkIHRyYW5z''@;'; put 'put ''cGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAtcmlnaHQ+LnRvb2x0aXAtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudC50b29sdGlwLXJpZ2h0e3Bvc2l0aW9uOmFi''@;'; put 'put ''c29sdXRlO3JpZ2h0OmF1dG87bGVmdDoxMDAlO3RvcDo1MCU7Ym90dG9tOmF1dG87Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1jbHItdG9vbHRpcC1jb2xvciwgd2hpdGUpO2ZvbnQtc2l6ZTouNjVyZW07Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci10b29sdGlwLWZvbnQt''@;'; put 'put ''d2VpZ2h0LCA0MDApO2xldHRlci1zcGFjaW5nOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBibGFjayk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItdG9v''@;'; put 'put ''bHRpcC1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2xpbmUtaGVpZ2h0Oi45cmVtO21hcmdpbjowO3BhZGRpbmc6LjQ1cmVtIC42cmVtO3dpZHRoOjEycmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDttYXJnaW4tbGVmdDouOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''dG9vbHRpcC50b29sdGlwLXJpZ2h0Pi50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50LnRvb2x0aXAtcmlnaHQ6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6LS40NXJlbTti''@;'; put 'put ''b3R0b206YXV0bztyaWdodDphdXRvO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDouM3JlbSBzb2xpZCBibGFjaztib3JkZXItdG9wLWNvbG9yOnZhcigtLWNsci10b29sdGlwLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yaWdodDouMjVyZW0gc29saWQgYmxhY2s7Ym9yZGVyLXJpZ2h0LWNvbG9y''@;'; put 'put ''OnZhcigtLWNsci10b29sdGlwLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1ib3R0b206LjNyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6LjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAtbGVm''@;'; put 'put ''dD4udG9vbHRpcC1jb250ZW50LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50LnRvb2x0aXAtbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OmF1dG87cmlnaHQ6MTAwJTt0b3A6NTAlO2JvdHRvbTphdXRvO2NvbG9yOiNmZmY7Y29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLXRvb2x0aXAtY29sb3IsIHdoaXRlKTtmb250LXNpemU6LjY1cmVtO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1jbHItdG9vbHRpcC1mb250LXdlaWdodCwgNDAwKTtsZXR0ZXItc3BhY2luZzpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tn''@;'; put 'put ''cm91bmQtY29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgYmxhY2spO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLXRvb2x0aXAtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtsaW5lLWhlaWdodDouOXJlbTttYXJnaW46MDtwYWRkaW5n''@;'; put 'put ''Oi40NXJlbSAuNnJlbTt3aWR0aDoxMnJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO21hcmdpbi1yaWdodDouOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLWxlZnQ+LnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC50b29sdGlwIC50b29sdGlwLWNvbnRlbnQudG9vbHRpcC1sZWZ0OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDotLjQ1cmVtO2JvdHRvbTphdXRvO2xlZnQ6YXV0bztjb250ZW50OiIiO2JvcmRlci10b3A6LjNyZW0gc29saWQgYmxhY2s7''@;'; put 'put ''Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jbHItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yKTtib3JkZXItbGVmdDouMjVyZW0gc29saWQgYmxhY2s7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tY2xyLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLWJvdHRvbTouM3JlbSBzb2xpZCB0''@;'; put 'put ''cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6LjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAteHM+LnRvb2x0aXAtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAgLnRv''@;'; put 'put ''b2x0aXAtY29udGVudC50b29sdGlwLXhze3dpZHRoOjMuNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLXNtPi50b29sdGlwLWNvbnRlbnQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwIC50b29sdGlwLWNvbnRl''@;'; put 'put ''bnQudG9vbHRpcC1zbXt3aWR0aDo2cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAtbWQ+LnRvb2x0aXAtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudC50b29sdGlwLW1k''@;'; put 'put ''e3dpZHRoOjEycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAtbGc+LnRvb2x0aXAtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudC50b29sdGlwLWxne3dpZHRoOjE4cmVt''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwPi5idG4rLnRvb2x0aXAtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAudG9vbHRpcC10b3AtcmlnaHQ+LmJ0bisudG9vbHRpcC1jb250ZW50LCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLXRvcC1sZWZ0Pi5idG4rLnRvb2x0aXAtY29udGVudHttYXJnaW4tYm90dG9tOi41cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50b29sdGlwLnRvb2x0aXAtYm90dG9tLXJpZ2h0Pi5idG4rLnRvb2x0aXAtY29u''@;'; put 'put ''dGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAudG9vbHRpcC1ib3R0b20tbGVmdD4uYnRuKy50b29sdGlwLWNvbnRlbnR7bWFyZ2luLXRvcDouNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcC50b29sdGlwLXJpZ2h0Pi5i''@;'; put 'put ''dG4rLnRvb2x0aXAtY29udGVudHttYXJnaW4tbGVmdDouMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudG9vbHRpcD4uY2xyLWljb257bWFyZ2luLXJpZ2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXA+c3Zne3BvaW50ZXItZXZlbnRz''@;'; put 'put ''Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRvb2x0aXAtdHJpZ2dlcjpmb2N1cysudG9vbHRpcC1jb250ZW50e3Zpc2liaWxpdHk6dmlzaWJsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdHstLWNsci1mb3JtLWRpc2FibGVkLWJh''@;'; put 'put ''Y2tncm91bmQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItZm9ybXMtbGFiZWwtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTgwMCk7LS1jbHItZm9ybXMtdGV4dC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMTAwMCk7LS1jbHItZm9ybXMt''@;'; put 'put ''aW52YWxpZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWRhbmdlci04MDApOy0tY2xyLWZvcm1zLXZhbGlkLWNvbG9yOiB2YXIoLS1jbHItY29sb3Itc3VjY2Vzcy03MDApOy0tY2xyLWZvcm1zLXZhbGlkLXRleHQtY29sb3I6IHZhcigtLWNsci1jb2xvci1zdWNjZXNzLTkwMCk7LS1jbHItZm9y''@;'; put 'put ''bXMtc3VidGV4dC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNjAwKTstLWNsci1mb3Jtcy1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tY2xyLWdsb2JhbC1jb2xvci1jb25zdHJ1Y3Rpb24tNjAwKTstLWNsci1mb3Jtcy1ib3JkZXItY29sb3I6ICM2YTdhODE7LS1jbHItZm9ybXMt''@;'; put 'put ''Zm9jdXNlZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDApOy0tY2xyLWZvcm1zLXN1YnRleHQtZGlzYWJsZWQtY29sb3I6ICM4YzhjOGM7LS1jbHItZm9ybXMtYm9yZGVyLWRpc2FibGVkLWNvbG9yOiAjYjNiM2IzOy0tY2xyLWZvcm1zLXRleHQtZGlzYWJsZWQtY29sb3I6ICNi''@;'; put 'put ''M2IzYjM7LS1jbHItZm9ybXMtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICM4YzhjOGM7LS1jbHItZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQ6IHZhcigtLWNsci1mb250LXdlaWdodC1ib2xkKTstLWNsci1mb3Jtcy1ibG9jay1sYWJlbC1mb250LXdlaWdodDogNDAwOy0tY2xyLWZvcm1zLXRleHQt''@;'; put 'put ''Zm9udC13ZWlnaHQ6IDQwMDstLWNsci1mb3Jtcy10ZXh0YXJlYS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1mb3Jtcy10ZXh0YXJlYS1mb2N1c2VkLW91dGxpbmU6IDAgMCAuMXJlbSAuMXJlbSAjNjljMGUyOy0tY2xyLWZvcm1zLXRleHRhcmVh''@;'; put 'put ''LWludmFsaWQtZm9jdXNlZC1vdXRsaW5lOiAwIDAgLjFyZW0gLjFyZW0gI2ZmNzQ1YzstLWNsci1mb3Jtcy1zZWxlY3QtaG92ZXItYmFja2dyb3VuZDogcmdiYSggMjIyLCAyMjIsIDIyMiwgLjUgKTstLWNsci1mb3Jtcy1zZWxlY3QtY2FyZXQtaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xv''@;'; put 'put ''ci1uZXV0cmFsLTYwMCk7LS1jbHItZm9ybXMtc2VsZWN0LWNhcmV0LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC01MDApOy0tY2xyLWZvcm1zLXNlbGVjdC1vcHRpb24tY29sb3I6IHZhcigtLWNsci1mb3Jtcy10ZXh0LWNvbG9yKTstLWNsci1mb3Jtcy1zZWxlY3QtbXVsdGlwbGUt''@;'; put 'put ''YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWZvcm1zLXRleHRhcmVhLWJhY2tncm91bmQtY29sb3IpOy0tY2xyLWZvcm1zLXNlbGVjdC1tdWx0aXBsZS1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItZm9ybXMtc2VsZWN0LW11bHRpcGxlLW9wdGlv''@;'; put 'put ''bi1jb2xvcjogdmFyKC0tY2xyLWZvcm1zLXRleHQtY29sb3IpOy0tY2xyLWZvcm1zLXNlbGVjdC1tdWx0aXBsZS1lcnJvci1mb2N1cy1jb2xvcjogI2ZmNzQ1YzstLWNsci1mb3Jtcy1jaGVja2JveC1sYWJlbC1jb2xvcjogdmFyKC0tY2xyLWZvcm1zLWxhYmVsLWNvbG9yKTstLWNsci1mb3Jt''@;'; put 'put ''cy1jaGVja2JveC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCk7LS1jbHItZm9ybXMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1mb3Jtcy1jaGVja2JveC1tYXJrLWNvbG9y''@;'; put 'put ''OiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1mb3Jtcy1jaGVja2JveC1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yKTstLWNsci1mb3Jtcy1jaGVja2JveC1kaXNhYmxlZC1tYXJrLWNvbG9yOiB2YXIo''@;'; put 'put ''LS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1mb3Jtcy1jaGVja2JveC1ib3JkZXItcmFkaXVzOiB2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cyk7LS1jbHItZm9ybXMtY2hlY2tib3gtY2hlY2tlZC1zaGFkb3c6IGluc2V0IDAgMCAwIC4zcmVtIHZhcigtLWNsci1mb3Jtcy1j''@;'; put 'put ''aGVja2JveC1iYWNrZ3JvdW5kLWNvbG9yKTstLWNsci1mb3Jtcy1yYWRpby1sYWJlbC1jb2xvcjogdmFyKC0tY2xyLWZvcm1zLWNoZWNrYm94LWxhYmVsLWNvbG9yKTstLWNsci1mb3Jtcy1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItZm9ybS1kaXNhYmxlZC1i''@;'; put 'put ''YWNrZ3JvdW5kLWNvbG9yKTstLWNsci1mb3Jtcy1yYWRpby1kaXNhYmxlZC1tYXJrLWNvbG9yOiB2YXIoLS1jbHItZm9ybXMtY2hlY2tib3gtZGlzYWJsZWQtbWFyay1jb2xvcik7LS1jbHItZm9ybXMtcmFkaW8tc2VsZWN0ZWQtc2hhZG93OiB2YXIoLS1jbHItZm9ybXMtY2hlY2tib3gtY2hl''@;'; put 'put ''Y2tlZC1zaGFkb3cpOy0tY2xyLWZvcm1zLXJhZGlvLWRpc2FibGVkLXNoYWRvdzogdmFyKC0tY2xyLWZvcm1zLWNoZWNrYm94LWNoZWNrZWQtc2hhZG93KTstLWNsci1mb3Jtcy1yYWRpby1mb2N1c2VkLXNoYWRvdzogMCAwIC4xcmVtIC4xcmVtICM2OWMwZTI7LS1jbHItZm9ybXMtcmFuZ2Ut''@;'; put 'put ''cHJvZ3Jlc3MtZmlsbC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDApOy0tY2xyLWZvcm1zLXJhbmdlLXRyYWNrLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0yMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZGF0ZS1jb250YWluZXIgLmNs''@;'; put 'put ''ci1pbnB1dC13cmFwcGVye21heC13aWR0aDotbW96LWZpdC1jb250ZW50O21heC13aWR0aDotd2Via2l0LWZpdC1jb250ZW50O21heC13aWR0aDpmaXQtY29udGVudH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbHttYXJnaW4tdG9wOjEuMnJlbTtk''@;'; put 'put ''aXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRyb2wgaW5wdXQ6Oi1tcy1yZXZlYWwsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHIt''@;'; put 'put ''Zm9ybS1jb250cm9sIGlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVke2NvbG9yOiNiM2IzYjM7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLXRleHQtZGlzYWJsZWQtY29sb3IsICNiM2Iz''@;'; put 'put ''YjMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIGxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLWNvbnRyb2wtbGFiZWx7Y29sb3I6IzhjOGM4Yztj''@;'; put 'put ''b2xvcjp2YXIoLS1jbHItZm9ybXMtbGFiZWwtZGlzYWJsZWQtY29sb3IsICM4YzhjOGMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIC5jbHItaW5wdXQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9y''@;'; put 'put ''bS1jb250cm9sLWRpc2FibGVkIC5jbHItdGV4dGFyZWEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIC5jbHItc2VsZWN0e2NvbG9yOiNiM2IzYjM7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLXRleHQtZGlzYWJsZWQtY29sb3IsICNi''@;'; put 'put ''M2IzYjMpO2JvcmRlci1ib3R0b20tY29sb3I6I2IzYjNiMztib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1ib3JkZXItZGlzYWJsZWQtY29sb3IsICNiM2IzYjMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIGlu''@;'; put 'put ''cHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNiM2IzYjM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZm9ybXMtYm9yZGVyLWRpc2FibGVkLWNvbG9yLCAjYjNiM2IzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xy''@;'; put 'put ''LWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLXN1YnRleHR7Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItZm9ybXMtc3VidGV4dC1kaXNhYmxlZC1jb2xvciwgIzhjOGM4Yyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRyb2wtbXVsdGl7Zmxl''@;'; put 'put ''eC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDp3cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLW11bHRpIC5jbHItY29udHJvbC1sYWJlbHt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29udHJvbC1s''@;'; put 'put ''YWJlbHtkaXNwbGF5OmJsb2NrO2NvbG9yOiM0NTQ1NDU7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLWxhYmVsLWNvbG9yLCAjNDU0NTQ1KTtmb250LXNpemU6LjY1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXdlaWdodDp2YXIoLS1jbHItZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQsIDYwMCk7bGlu''@;'; put 'put ''ZS1oZWlnaHQ6LjlyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb250cm9sLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbnRyb2wtaW5saW5le2Rpc3BsYXk6ZmxleDtmbGV4LXdy''@;'; put 'put ''YXA6d3JhcDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb250cm9sLWlubGluZSAuY2xyLWNvbnRyb2wtbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXJpZ2h0Oi42cmVtO3dpZHRoOmF1dG99LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zdWJ0ZXh0e2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi41NXJlbTtsaW5lLWhlaWdodDouNnJlbTtjb2xvcjojOGM4YzhjO2NvbG9yOnZhcigtLWNsci1mb3Jtcy1zdWJ0ZXh0LWNvbG9yLCAjOGM4YzhjKTttYXJnaW4tdG9wOi4zcmVtfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItc3VidGV4dC13cmFwcGVye2ZsZXgtYmFzaXM6MTAwJTtkaXNwbGF5OmZsZXh9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci12YWxpZGF0ZS1pY29ue2hlaWdodDoxLjJyZW07d2lkdGg6MS4ycmVtO21pbi1o''@;'; put 'put ''ZWlnaHQ6MS4ycmVtO21pbi13aWR0aDoxLjJyZW07Y29sb3I6I2MyMWQwMDtjb2xvcjp2YXIoLS1jbHItZm9ybXMtaW52YWxpZC1jb2xvciwgI2MyMWQwMCk7ZGlzcGxheTpub25lO21hcmdpbi1sZWZ0Oi0xLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zdWNj''@;'; put 'put ''ZXNzIC5jbHItaW5wdXR7Ym9yZGVyLWJvdHRvbS1jb2xvcjojM2M4NTAwO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWZvcm1zLXZhbGlkLWNvbG9yLCAjM2M4NTAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXN1Y2Nlc3MgLmNsci12YWxpZGF0ZS1pY29u''@;'; put 'put ''e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiMzYzg1MDA7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLXZhbGlkLWNvbG9yLCAjM2M4NTAwKTttYXJnaW4tbGVmdDotLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zdWNjZXNzIC5jbHItc3VidGV4dHtjb2xvcjoj''@;'; put 'put ''MjU1MjAwO2NvbG9yOnZhcigtLWNsci1mb3Jtcy12YWxpZC10ZXh0LWNvbG9yLCAjMjU1MjAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWVycm9yIC5jbHItdmFsaWRhdGUtaWNvbnttYXJnaW4tbGVmdDotLjJyZW07ZGlzcGxheTppbmxpbmUtYmxvY2t9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1lcnJvciAuY2xyLXN1YnRleHR7Y29sb3I6I2MyMWQwMDtjb2xvcjp2YXIoLS1jbHItZm9ybXMtaW52YWxpZC1jb2xvciwgI2MyMWQwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWhvcml6b250YWwg''@;'; put 'put ''LmNsci1mb3JtLWNvbnRyb2w+LmNsci1jb250cm9sLWxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0taG9yaXpvbnRhbCAuY2xyLWZvcm0tY29udHJvbD4uY2xyLWZvcm0tY29udHJvbC5jbHItZm9ybS1jb250cm9sLW11bHRpIC5jbHItY29udHJvbC1s''@;'; put 'put ''YWJlbHt3aWR0aDo5LjZyZW07ZmxleC1zaHJpbms6MDttYXJnaW4tdG9wOi4xNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0taG9yaXpvbnRhbC5jbHItcm93IC5jbHItY29udHJvbC1sYWJlbHt3aWR0aDphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItZm9ybS1ob3Jpem9udGFsIC5jbHItZm9ybS1jb250cm9se2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1mb3JtLWNvbnRyb2w+LmNsci1jb250cm9sLWxh''@;'; put 'put ''YmVse3dpZHRoOjkuNnJlbTttaW4td2lkdGg6OS42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItZm9ybS1jb250cm9sLmNsci1yb3c+LmNsci1jb250cm9sLWxhYmVse3dpZHRoOmF1dG87bWluLXdpZHRoOmF1dG99LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1jb250cm9sLWxhYmVse21hcmdpbi10b3A6LjE1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItZm9ybS1jb250cm9se2Rpc3BsYXk6ZmxleDtmbGV4''@;'; put 'put ''LWRpcmVjdGlvbjpyb3c7bWFyZ2luLXRvcDouNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29tcGFjdCAuY2xyLWNvbnRyb2wtY29udGFpbmVye2Rpc3BsYXk6ZmxleH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29t''@;'; put 'put ''cGFjdCAuY2xyLXN1YnRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDouM3JlbTttYXJnaW4tbGVmdDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1lcnJvciAuY2xyLXN1YnRleHQsIC5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItc3VjY2VzcyAuY2xyLXN1YnRleHR7bWFyZ2luLWxlZnQ6MHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29tcGFjdCAuY2xyLWVycm9yIC5jbHItdmFsaWRhdGUtaWNvbiwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1zdWNjZXNzIC5jbHItdmFsaWRhdGUtaWNvbnttYXJnaW4tbGVmdDowcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItc3VidGV4dC13cmFw''@;'; put 'put ''cGVye2ZsZXgtYmFzaXM6YXV0bztkaXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm17cGFkZGluZzouM3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tZ3JvdXB7cGFkZGluZzouM3JlbX0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jaGVja2JveC13cmFwcGVyIC5jbHItY29udHJvbC1sYWJlbHtmb250LXdlaWdodDo0MDA7ZGlzcGxh''@;'; put 'put ''eTpibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXJ+LmNsci12YWxpZGF0ZS1pY29ue21hcmdpbi1sZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jaGVja2JveC13cmFwcGVyfi5jbHItc3VidGV4dHtk''@;'; put 'put ''aXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF17cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowO3RvcDouMjVyZW07bGVmdDowO2hlaWdodDouOHJlbTt3aWR0aDouOHJl''@;'; put 'put ''bX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXIgbGFiZWx7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLWhlaWdodDoxLjJyZW07cGFkZGluZy1sZWZ0OjEuMXJlbTttYXJnaW4tdG9wOjA7Y3Vyc29yOnBvaW50''@;'; put 'put ''ZXI7bGluZS1oZWlnaHQ6MS4ycmVtO2NvbG9yOiM0NTQ1NDU7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLWNoZWNrYm94LWxhYmVsLWNvbG9yLCAjNDU0NTQ1KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF0r''@;'; put 'put ''bGFiZWw6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMnJlbTtsZWZ0OjA7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6LjhyZW07d2lkdGg6LjhyZW07Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzZhN2E4MTtib3JkZXItY29sb3I6dmFyKC0t''@;'; put 'put ''Y2xyLWZvcm1zLWJvcmRlci1jb2xvciwgIzZhN2E4MSk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItZm9ybXMtY2hlY2tib3gtYm9yZGVyLXJhZGl1cywgLjE1cmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdy''@;'; put 'put ''YXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMrbGFiZWw6YmVmb3Jle291dGxpbmU6SGlnaGxpZ2h0IHNvbGlkIC4xcmVtO291dGxpbmU6LXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIHNvbGlkIC4xcmVtO291dGxpbmUtb2Zmc2V0Oi4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF0rbGFiZWw6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0Oi4yNXJlbTt3aWR0aDouNHJlbTtib3JkZXItbGVmdDouMXJlbSBzb2xpZDtib3JkZXIt''@;'; put 'put ''Ym90dG9tOi4xcmVtIHNvbGlkO2JvcmRlci1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZm9ybXMtY2hlY2tib3gtbWFyay1jb2xvciwgd2hpdGUpO3RvcDouMnJlbTtsZWZ0Oi4ycmVtO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC4ycmVtKSByb3RhdGUoLTQ1ZGVnKX0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbDpiZWZvcmV7YmFja2dyb3VuZDojMDA3MmEzO2JhY2tncm91bmQ6dmFyKC0tY2xyLWZvcm1zLWNoZWNrYm94LWJhY2tncm91bmQtY29sb3IsICMw''@;'; put 'put ''MDcyYTMpO2JvcmRlcjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY2hlY2tib3gtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsOmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbHItY2hlY2tib3gtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XS5jbHItaW5kZXRlcm1pbmF0ZStsYWJlbDpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY2hlY2tib3gtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XTppbmRldGVybWlu''@;'; put 'put ''YXRlK2xhYmVsOmJlZm9yZXtib3JkZXI6LjA1cmVtIHNvbGlkO2JvcmRlci1jb2xvcjojMDA3MmEzO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZm9ybXMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItY2hlY2tib3gtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XS5jbHItaW5kZXRlcm1pbmF0ZStsYWJlbDphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jaGVja2JveC13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGUr''@;'; put 'put ''bGFiZWw6YWZ0ZXJ7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItYm90dG9tLWNvbG9yOiMwMDcyYTM7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItZm9ybXMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3IsICMwMDcyYTMpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5z''@;'; put 'put ''Zm9ybTp0cmFuc2xhdGVZKC4ycmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNoZWNrYm94LXdyYXBwZXIuY2xyLWNoZWNrYm94LWlubGluZXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jbHItY2hlY2tib3gtd3JhcHBlci5jbHItY2hlY2tib3gtaW5saW5lIC5jbHItY29udHJvbC1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6LjZyZW07d2lkdGg6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''Y2xyLWVycm9yIC5jbHItY2hlY2tib3gtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbDpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNjMjFkMDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1pbnZhbGlkLWNvbG9yLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLWNoZWNrYm94LXdyYXBwZXIgbGFiZWx7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIC5jbHItY2hlY2tib3gtd3JhcHBlciBp''@;'; put 'put ''bnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbDpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIC5jbHItY2hlY2tib3gtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsOmJlZm9yZXtiYWNrZ3Jv''@;'; put 'put ''dW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZm9ybXMtY2hlY2tib3gtZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvciwgI2NjY2NjYyk7Ym9yZGVyOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRyb2wtZGlzYWJsZWQg''@;'; put 'put ''LmNsci1jaGVja2JveC13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw6YWZ0ZXJ7Ym9yZGVyLWxlZnQ6LjFyZW0gc29saWQ7Ym9yZGVyLWJvdHRvbTouMXJlbSBzb2xpZDtib3JkZXItbGVmdC1jb2xvcjojMDAwO2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLWNsci1m''@;'; put 'put ''b3Jtcy1jaGVja2JveC1kaXNhYmxlZC1tYXJrLWNvbG9yLCBibGFjayk7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWZvcm1zLWNoZWNrYm94LWRpc2FibGVkLW1hcmstY29sb3IsIGJsYWNrKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLWNoZWNrYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZC5jbHItaW5kZXRlcm1pbmF0ZStsYWJlbDphZnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRy''@;'; put 'put ''b2wtZGlzYWJsZWQgLmNsci1jaGVja2JveC13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6aW5kZXRlcm1pbmF0ZStsYWJlbDphZnRlcntib3JkZXItbGVmdDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItY2hl''@;'; put 'put ''Y2tib3gtd3JhcHBlcnttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2hlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1jaGVja2JveC13cmFw''@;'; put 'put ''cGVyfi5jbHItc3VidGV4dHttYXJnaW4tbGVmdDouM3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29tcGFjdCAuY2xyLWNoZWNrYm94LXdyYXBwZXIgLmNsci1jb250cm9sLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDouNnJl''@;'; put 'put ''bTt3aWR0aDphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItY2hlY2tib3gtd3JhcHBlciAuY2xyLWNvbnRyb2wtbGFiZWx7bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmlsZS13cmFw''@;'; put 'put ''cGVye3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1maWxlLXdyYXBwZXIgLmNsci1jb250cm9sLWxhYmVse2ZvbnQtd2VpZ2h0OjQwMDtkaXNwbGF5OmJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5jbHItZmlsZS13cmFwcGVyfi5jbHItdmFsaWRhdGUtaWNvbnttYXJnaW4tbGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmlsZS13cmFwcGVyfi5jbHItc3VidGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuY2xyLWZpbGUtd3JhcHBlciAuYnRue21hcmdpbjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmlsZXtoZWlnaHQ6MDt3aWR0aDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29tcGFjdCAuY2xyLWZpbGUtd3JhcHBlcnttYXgtd2lkdGg6MTAwJTttYXJnaW4tdG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1maWxlLXdyYXBwZXJ+LmNsci1z''@;'; put 'put ''dWJ0ZXh0e21hcmdpbi1sZWZ0Oi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItZmlsZS13cmFwcGVyfi5jbHItdmFsaWRhdGUtaWNvbntsaW5lLWhlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNsci1mb3JtLWNvbXBhY3QgLmNsci1maWxlLXdyYXBwZXJ+LmNsci1zdWJ0ZXh0e2xpbmUtaGVpZ2h0OjEuMnJlbTttYXJnaW4tdG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1maWxlLXdyYXBwZXIgLmNsci1jb250cm9sLWxh''@;'; put 'put ''YmVse21hcmdpbi10b3A6MDtsaW5lLWhlaWdodDoxLjA4cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItZmlsZS13cmFwcGVyIC5idG57aGVpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWlu''@;'; put 'put ''cHV0LXdyYXBwZXJ7d2hpdGUtc3BhY2U6bm93cmFwO21heC1oZWlnaHQ6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXR7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTstby1hcHBl''@;'; put 'put ''YXJhbmNlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93Om5vbmU7YmFja2dyb3VuZDpub25lO2hlaWdodDoxLjJyZW07Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItZm9ybXMtdGV4dC1jb2xvciwgYmxhY2spO2JvcmRlci1i''@;'; put 'put ''b3R0b206LjA1cmVtIHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6IzZhN2E4MTtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1ib3JkZXItY29sb3IsICM2YTdhODEpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MCAuM3JlbTttYXgtaGVpZ2h0OjEuMnJlbTtmb250''@;'; put 'put ''LXNpemU6LjY1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQ6Zm9jdXN7b3V0bGluZTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXRbcmVhZG9ubHlde2JvcmRlcjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5jbHItaW5wdXQ6bm90KFtyZWFkb25seV0pe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx0cmFuc3BhcmVudCA5NSUsIzAwNzJhMyA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdHJhbnNwYXJlbnQgOTUlLHZh''@;'; put 'put ''cigtLWNsci1mb3Jtcy1mb2N1c2VkLWNvbG9yLCAjMDA3MmEzKSA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MCUgMTAwJTt0cmFuc2l0aW9uOmJhY2tncm91bmQtc2l6ZSAuMnMgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWlucHV0Om5vdChbcmVh''@;'; put 'put ''ZG9ubHldKTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1pbnB1dDpub3QoW3JlYWRvbmx5XSkuY2xyLWZvY3Vze2JvcmRlci1ib3R0b20tY29sb3I6IzAwNzJhMztib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1mb2N1c2VkLWNvbG9yLCAj''@;'; put 'put ''MDA3MmEzKTtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQ6ZGlzYWJsZWR7Y29sb3I6I2IzYjNiMztjb2xvcjp2YXIoLS1jbHItZm9ybXMtdGV4dC1kaXNhYmxlZC1jb2xvciwgI2IzYjNiMyk7Y3Vyc29yOm5vdC1h''@;'; put 'put ''bGxvd2VkfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZXJyb3IgLmNsci1pbnB1dDpub3QoW3JlYWRvbmx5XSl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojYzIxZDAwO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWZvcm1zLWludmFsaWQtY29sb3IsICNjMjFkMDAp''@;'; put 'put ''O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx0cmFuc3BhcmVudCA5NSUsI2MyMWQwMCA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdHJhbnNwYXJlbnQgOTUlLHZhcigtLWNsci1mb3Jtcy1pbnZhbGlkLWNvbG9yLCAjYzIx''@;'; put 'put ''ZDAwKSA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MCUgMTAwJTt0cmFuc2l0aW9uOmJhY2tncm91bmQtc2l6ZSAuMnMgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWVycm9yIC5jbHItaW5wdXQ6bm90KFtyZWFkb25seV0pOmZvY3VzLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWVycm9yIC5jbHItaW5wdXQ6bm90KFtyZWFkb25seV0pLmNsci1mb2N1c3tib3JkZXItYm90dG9tLWNvbG9yOiNjMjFkMDA7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItZm9ybXMtaW52YWxpZC1jb2xvciwgI2MyMWQwMCk7YmFj''@;'; put 'put ''a2dyb3VuZC1zaXplOjEwMCUgMTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbC5yb3cgLmNsci1pbnB1dC13cmFwcGVye21heC13aWR0aDpjYWxjKDEwMCUgLSAxLjJyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHIt''@;'; put 'put ''Zm9ybS1jb21wYWN0IC5jbHItaW5wdXR7bWF4LXdpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1pbnB1dH4uY2xyLXN1YnRleHR7bWFyZ2luLWxlZnQ6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNsci1mb3JtLWNvbnRyb2wtcmVhZG9ubHkgLmNsci1pbnB1dHtib3JkZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1tdWx0aSAuY2xyLWlucHV0e21heC13aWR0aDpjYWxjKDEwMCUgKyAxLjJyZW0pfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNGY2MTY5O2NvbG9yOnZhcigtLWNsci1mb3Jtcy1wbGFjZWhvbGRlci1jb2xvciwgIzRmNjE2OSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgOjpwbGFjZWhvbGRlcntjb2xvcjojNGY2MTY5O2NvbG9y''@;'; put 'put ''OnZhcigtLWNsci1mb3Jtcy1wbGFjZWhvbGRlci1jb2xvciwgIzRmNjE2OSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1pbnB1dC1ncm91cHtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1mb3Jtcy10ZXh0LWNvbG9yLCBibGFjayk7Ym9yZGVyLWJvdHRvbTouMDVy''@;'; put 'put ''ZW0gc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNmE3YTgxO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWZvcm1zLWJvcmRlci1jb2xvciwgIzZhN2E4MSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50''@;'; put 'put ''IDk1JSwjMDA3MmEzIDk1JSkgbm8tcmVwZWF0O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx0cmFuc3BhcmVudCA5NSUsdmFyKC0tY2xyLWZvcm1zLWZvY3VzZWQtY29sb3IsICMwMDcyYTMpIDk1JSkgbm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTowJSAxMDAlO3RyYW5z''@;'; put 'put ''aXRpb246YmFja2dyb3VuZC1zaXplIC4ycyBlYXNlO21heC13aWR0aDoxMDAlO2hlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1pbnB1dC1ncm91cDpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1pbnB1dC1ncm91''@;'; put 'put ''cC5jbHItZm9jdXN7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDA3MmEzO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWZvcm1zLWZvY3VzZWQtY29sb3IsICMwMDcyYTMpO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1p''@;'; put 'put ''bnB1dC1ncm91cC5jbHItZm9jdXN7d2lkdGg6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWlucHV0LWdyb3VwIC5jbHItaW5wdXR7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO21hcmdpbi1yaWdodDowO21heC13aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdj''@;'; put 'put ''b250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQtZ3JvdXAgLmNsci1pbnB1dDpub3QoW3JlYWRvbmx5XSk6Zm9jdXN7YmFja2dyb3VuZC1zaXplOjAlO2JvcmRlcjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQtZ3JvdXAgc2VsZWN0e2JvcmRlcjpub25l''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQtZ3JvdXAgLmNsci1zZWxlY3Qtd3JhcHBlciBzZWxlY3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQtZ3JvdXAgLmNsci1tdWx0aXNlbGVjdC13cmFwcGVyIHNlbGVjdHtib3Jk''@;'; put 'put ''ZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWlucHV0LWdyb3VwIC5jbHItaW5wdXQtZ3JvdXAtYWRkb257Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItZm9ybXMtc3VidGV4dC1jb2xvciwgIzhjOGM4Yyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNsci1pbnB1dC1ncm91cCAuY2xyLWlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxke3BhZGRpbmc6MCAwIDAgLjQ1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQtZ3JvdXAgLmNsci1pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxk''@;'; put 'put ''e3BhZGRpbmc6MCAuNDVyZW0gMCAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItaW5wdXQtZ3JvdXAgLmNsci1pbnB1dC1ncm91cC1pY29uLWFjdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25l''@;'; put 'put ''Oy1vLWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItZm9ybXMtZm9jdXNlZC1jb2xvciwgIzAwNzJhMyk7cGFkZGlu''@;'; put 'put ''ZzowIC40NXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBidXR0b24uY2xyLWlucHV0LWdyb3VwIC5jbHItaW5wdXQtZ3JvdXAtaWNvbi1hY3Rpb257Y3Vyc29yOnBvaW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1pbnB1dC1ncm91cCAuY2xy''@;'; put 'put ''LWlucHV0LWdyb3VwLWljb24tYWN0aW9uIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWlucHV0LWdyb3VwIC5jbHItaW5wdXQtZ3JvdXAtaWNvbi1hY3Rpb24gY2xyLWljb257aGVpZ2h0Oi45cmVtO3dpZHRoOi45cmVtO3RyYW5zZm9ybTp0cmFuc2xh''@;'; put 'put ''dGUoLS4wNXJlbSwtLjA1cmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLWlucHV0LWdyb3VwLWljb24tYWN0aW9ue2NvbG9yOiNiM2IzYjM7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLXRleHQtZGlzYWJsZWQtY29sb3Is''@;'; put 'put ''ICNiM2IzYjMpO2N1cnNvcjpub3QtYWxsb3dlZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWVycm9yIC5jbHItaW5wdXQtZ3JvdXB7Ym9yZGVyLWJvdHRvbS1jb2xvcjojYzIxZDAwO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWZvcm1zLWludmFsaWQtY29s''@;'; put 'put ''b3IsICNjMjFkMDApO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx0cmFuc3BhcmVudCA5NSUsI2MyMWQwMCA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdHJhbnNwYXJlbnQgOTUlLHZhcigtLWNsci1mb3Jtcy1pbnZhbGlk''@;'; put 'put ''LWNvbG9yLCAjYzIxZDAwKSA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MCUgMTAwJTt0cmFuc2l0aW9uOmJhY2tncm91bmQtc2l6ZSAuMnMgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWVycm9yIC5jbHItaW5wdXQtZ3JvdXA6Zm9jdXMsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZXJyb3IgLmNsci1pbnB1dC1ncm91cC5jbHItZm9jdXN7Ym9yZGVyLWJvdHRvbS1jb2xvcjojYzIxZDAwO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLWZvcm1zLWludmFsaWQtY29sb3IsICNjMjFkMDApO2JhY2tncm91bmQt''@;'; put 'put ''c2l6ZToxMDAlIDEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWhvcml6b250YWwgLmNsci1pbnB1dC1ncm91cHttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXJpZ2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1yYWRpby13cmFw''@;'; put 'put ''cGVye3Bvc2l0aW9uOnJlbGF0aXZlO2xpbmUtaGVpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXJhZGlvLXdyYXBwZXIgLmNsci1jb250cm9sLWxhYmVse2ZvbnQtd2VpZ2h0OjQwMDtkaXNwbGF5OmJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItcmFkaW8td3JhcHBlcn4uY2xyLXZhbGlkYXRlLWljb257bWFyZ2luLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXJhZGlvLXdyYXBwZXJ+LmNsci1zdWJ0ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5jbHItcmFkaW8td3JhcHBlciBpbnB1dFt0eXBlPXJhZGlvXXtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7dG9wOi4yNXJlbTtsZWZ0OjA7aGVpZ2h0Oi44cmVtO3dpZHRoOi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItcmFk''@;'; put 'put ''aW8td3JhcHBlciBsYWJlbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazttaW4taGVpZ2h0OjEuMnJlbTtwYWRkaW5nLWxlZnQ6MS4xcmVtO21hcmdpbi10b3A6MDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDoxLjJyZW07Y29sb3I6IzQ1NDU0NTtjb2xvcjp2YXIo''@;'; put 'put ''LS1jbHItZm9ybXMtcmFkaW8tbGFiZWwtY29sb3IsICM0NTQ1NDUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItcmFkaW8td3JhcHBlciBsYWJlbDplbXB0eXtwYWRkaW5nLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXJhZGlvLXdy''@;'; put 'put ''YXBwZXIgaW5wdXRbdHlwZT1yYWRpb10rbGFiZWw6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMnJlbTtsZWZ0OjA7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6LjhyZW07d2lkdGg6LjhyZW07Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzZh''@;'; put 'put ''N2E4MTtib3JkZXItY29sb3I6dmFyKC0tY2xyLWZvcm1zLWJvcmRlci1jb2xvciwgIzZhN2E4MSk7Ym9yZGVyLXJhZGl1czo1MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1yYWRpby13cmFwcGVyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw6YmVmb3Jl''@;'; put 'put ''e2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgLjNyZW0gIzAwNzJhMztib3gtc2hhZG93OnZhcigtLWNsci1mb3Jtcy1yYWRpby1zZWxlY3RlZC1zaGFkb3csIGluc2V0IDAgMCAwIC4zcmVtICMwMDcyYTMpO2JvcmRlcjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHIt''@;'; put 'put ''cmFkaW8td3JhcHBlciBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cytsYWJlbDpiZWZvcmV7b3V0bGluZTpIaWdobGlnaHQgc29saWQgLjFyZW07b3V0bGluZTotd2Via2l0LWZvY3VzLXJpbmctY29sb3Igc29saWQgLjFyZW07b3V0bGluZS1vZmZzZXQ6LjA1cmVtfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5jbHItcmFkaW8td3JhcHBlciBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1czpjaGVja2VkK2xhYmVsOmJlZm9yZXtvdXRsaW5lOkhpZ2hsaWdodCBzb2xpZCAuMXJlbTtvdXRsaW5lOi13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBzb2xpZCAuMXJlbTtvdXRsaW5lLW9m''@;'; put 'put ''ZnNldDouMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1yYWRpby13cmFwcGVyIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkK2xhYmVsOmJlZm9yZXtib3JkZXI6MDtib3gtc2hhZG93Omluc2V0IDAgMCAwIC42cmVtICNlOGU4ZTg7Ym94LXNoYWRvdzowIDAg''@;'; put 'put ''MCAuNnJlbSAjZThlOGU4LGluc2V0IDAgMCAwIC42cmVtICNlOGU4ZTg7Ym94LXNoYWRvdzp2YXIoLS1pbnNldCAwIDAgMCAuNnJlbSAjZThlOGU4LCBpbnNldCAwIDAgMCAuNnJlbSAjZThlOGU4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXJhZGlvLXdyYXBwZXIg''@;'; put 'put ''aW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDpkaXNhYmxlZCtsYWJlbDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojNjY2O2JhY2tncm91bmQtY29sb3I6IzY2NjY2NiwjNjY2NjY2O2JhY2tncm91bmQtY29sb3I6dmFyKC0tICM2NjY2NjYsICM2NjY2NjYpO2JveC1zaGFkb3c6aW5zZXQgMCAw''@;'; put 'put ''IDAgLjNyZW0gI2U4ZThlODtib3gtc2hhZG93OjAgMCAwIC4zcmVtICNlOGU4ZTgsaW5zZXQgMCAwIDAgLjNyZW0gI2U4ZThlODtib3gtc2hhZG93OnZhcigtLWluc2V0IDAgMCAwIC4zcmVtICNlOGU4ZTgsIGluc2V0IDAgMCAwIC4zcmVtICNlOGU4ZTgpfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIC5jbHItcmFkaW8td3JhcHBlciBsYWJlbHtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1lcnJvciAuY2xyLXJhZGlvLXdyYXBwZXIgaW5wdXRbdHlwZT1yYWRpb10r''@;'; put 'put ''bGFiZWw6YmVmb3Jle2JvcmRlci1jb2xvcjojYzIxZDAwO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZm9ybXMtaW52YWxpZC1jb2xvciwgI2MyMWQwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1lcnJvciAuY2xyLXN1YnRleHR7bWFy''@;'; put 'put ''Z2luLWxlZnQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29tcGFjdCAuY2xyLXJhZGlvLXdyYXBwZXJ7bWF4LXdpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MS4ycmVtfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItcmFkaW8td3JhcHBlcn4uY2xyLXN1YnRleHR7bWFyZ2luLWxlZnQ6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci1yYWRpby13cmFw''@;'; put 'put ''cGVyIC5jbHItY29udHJvbC1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6LjZyZW07d2lkdGg6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29tcGFjdCAuY2xyLXJhZGlvLXdyYXBwZXIgLmNsci1jb250cm9sLWxhYmVse21h''@;'; put 'put ''cmdpbi10b3A6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXNlbGVjdC13cmFwcGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItc2VsZWN0LXdyYXBwZXIgc2VsZWN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXIgc2VsZWN0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25l''@;'; put 'put ''Oy1tcy1hcHBlYXJhbmNlOm5vbmU7LW8tYXBwZWFyYW5jZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQ6bm9uZTtoZWlnaHQ6MS4ycmVtO2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLWZvcm1z''@;'; put 'put ''LXRleHQtY29sb3IsIGJsYWNrKTtib3JkZXItYm90dG9tOi4wNXJlbSBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOiM2YTdhODE7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItZm9ybXMtYm9yZGVyLWNvbG9yLCAjNmE3YTgxKTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpy''@;'; put 'put ''ZWxhdGl2ZTtwYWRkaW5nOjAgMS4xcmVtIDAgLjNyZW07Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi42NXJlbTt6LWluZGV4OjJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zZWxlY3Qtd3JhcHBlciBzZWxlY3Q6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItbXVsdGlzZWxlY3Qtd3JhcHBlciBzZWxlY3Q6Zm9jdXN7b3V0bGluZTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItc2VsZWN0LXdyYXBwZXIgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNsci1tdWx0aXNlbGVjdC13cmFwcGVyIHNlbGVjdDpub3QoW211bHRpcGxlXSl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50IDk1JSwjMDA3MmEzIDk1JSkgbm8tcmVwZWF0O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx0''@;'; put 'put ''cmFuc3BhcmVudCA5NSUsdmFyKC0tY2xyLWZvcm1zLWZvY3VzZWQtY29sb3IsICMwMDcyYTMpIDk1JSkgbm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTowJSAxMDAlO3RyYW5zaXRpb246YmFja2dyb3VuZC1zaXplIC4ycyBlYXNlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItc2VsZWN0LXdyYXBwZXIgc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zZWxlY3Qtd3JhcHBlciBzZWxlY3Q6bm90KFttdWx0aXBsZV0pLmNsci1mb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNsci1tdWx0aXNlbGVjdC13cmFwcGVyIHNlbGVjdDpub3QoW211bHRpcGxlXSk6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbXVsdGlzZWxlY3Qtd3JhcHBlciBzZWxlY3Q6bm90KFttdWx0aXBsZV0pLmNsci1mb2N1c3tib3JkZXItYm90dG9tLWNv''@;'; put 'put ''bG9yOiMwMDcyYTM7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItZm9ybXMtZm9jdXNlZC1jb2xvciwgIzAwNzJhMyk7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXNlbGVjdC13cmFwcGVyIHNlbGVjdFttdWx0aXBs''@;'; put 'put ''ZV06Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbXVsdGlzZWxlY3Qtd3JhcHBlciBzZWxlY3RbbXVsdGlwbGVdOmZvY3Vze291dGxpbmU6SGlnaGxpZ2h0IGF1dG8gLjFyZW07b3V0bGluZTotd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAuMXJlbX0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXNlbGVjdC13cmFwcGVyIHNlbGVjdDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zZWxlY3Qtd3JhcHBlciBzZWxlY3Q6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXIgc2VsZWN0OmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXIgc2VsZWN0OmFjdGl2ZXtib3JkZXItY29sb3I6I2RlZGVkZTgwO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZm9ybXMt''@;'; put 'put ''c2VsZWN0LWhvdmVyLWJhY2tncm91bmQsIHJnYmEoMjIyLCAyMjIsIDIyMiwgLjUpKTtiYWNrZ3JvdW5kOnJnYmEoMjIyLDIyMiwyMjIsLjUpO2JhY2tncm91bmQ6dmFyKC0tY2xyLWZvcm1zLXNlbGVjdC1ob3Zlci1iYWNrZ3JvdW5kLCByZ2JhKDIyMiwgMjIyLCAyMjIsIC41KSl9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zZWxlY3Qtd3JhcHBlciBzZWxlY3Q6ZGlzYWJsZWQgb3B0aW9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXIgc2VsZWN0OmRpc2FibGVkIG9wdGlvbntjb2xvcjojYjNiM2Iz''@;'; put 'put ''O2NvbG9yOnZhcigtLWNsci1mb3Jtcy10ZXh0LWRpc2FibGVkLWNvbG9yLCAjYjNiM2IzKTtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zZWxlY3Qtd3JhcHBlciBzZWxlY3Qgb3B0aW9uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXIgc2VsZWN0IG9wdGlvbntjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1mb3Jtcy1zZWxlY3Qtb3B0aW9uLWNvbG9yLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zZWxlY3Qtd3JhcHBlciBzZWxl''@;'; put 'put ''Y3Q6Oi1tcy1leHBhbmQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItbXVsdGlzZWxlY3Qtd3JhcHBlciBzZWxlY3Q6Oi1tcy1leHBhbmR7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItc2VsZWN0LXdyYXBwZXJ7bWF4LWhl''@;'; put 'put ''aWdodDoxLjJyZW07ZGlzcGxheTppbmxpbmUtYmxvY2t9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zZWxlY3Qtd3JhcHBlcjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO2hlaWdodDouNXJlbTt3aWR0aDouNXJlbTt0b3A6LjM1cmVtO3JpZ2h0Oi4z''@;'; put 'put ''cmVtO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMiUyMDEyJTIyJTNFJTBBJTIwJTIwJTIw''@;'; put 'put ''JTIwJTNDZGVmcyUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3N0eWxlJTNFLmNscy0xJTdCZmlsbCUzQSUyM2IzYjNiMyUzQiU3RCUzQyUyRnN0eWxlJTNFJTBBJTIwJTIwJTIwJTIwJTNDJTJGZGVmcyUzRSUwQSUyMCUyMCUyMCUyMCUzQ3RpdGxlJTNFQ2FyZXQlM0MlMkZ0aXRs''@;'; put 'put ''ZSUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BhdGglMjBjbGFzcyUzRCUyMmNscy0xJTIyJTIwZCUzRCUyMk02JTJDOUwxLjIlMkM0LjJhMC42OCUyQzAuNjglMkMwJTJDMCUyQzElMkMxLTFMNiUyQzcuMDglMkM5Ljg0JTJDMy4yNGEwLjY4JTJDMC42OCUyQzAlMkMxJTJDMSUyQzElMkMxWiUyMiUy''@;'; put 'put ''RiUzRSUwQSUzQyUyRnN2ZyUzRSUwQSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXNlbGVjdC13cmFwcGVyOmhvdmVy''@;'; put 'put ''OmFmdGVye2NvbG9yOiM4YzhjOGM7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLXNlbGVjdC1jYXJldC1ob3Zlci1jb2xvciwgIzhjOGM4Yyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1lcnJvciAuY2xyLXNlbGVjdC13cmFwcGVyOmFmdGVyLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuY2xyLXN1Y2Nlc3MgLmNsci1zZWxlY3Qtd3JhcHBlcjphZnRlcntyaWdodDoxLjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1tdWx0aXNlbGVjdC13cmFwcGVye2Rpc3BsYXk6ZmxleH0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXIgLmNsci12YWxpZGF0ZS1pY29ue21hcmdpbi1sZWZ0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc2VsZWN0W211bHRpcGxlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc2VsZWN0W3NpemVde3Bh''@;'; put 'put ''ZGRpbmc6MDtiYWNrZ3JvdW5kOndoaXRlO2JhY2tncm91bmQ6dmFyKC0tY2xyLWZvcm1zLXNlbGVjdC1tdWx0aXBsZS1iYWNrZ3JvdW5kLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWZvcm1zLXNlbGVj''@;'; put 'put ''dC1tdWx0aXBsZS1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgc2VsZWN0W211bHRpcGxlXTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc2VsZWN0W211bHRpcGxlXTphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIHNlbGVjdFtzaXplXTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgc2VsZWN0W3NpemVdOmFjdGl2ZXtiYWNrZ3JvdW5kOndoaXRlO2JhY2tncm91bmQ6dmFyKC0tY2xyLWZvcm1zLXNlbGVjdC1tdWx0aXBsZS1iYWNrZ3JvdW5kLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1zZWxlY3Qt''@;'; put 'put ''bXVsdGlwbGUtYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBzZWxlY3RbbXVsdGlwbGVdIG9wdGlvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgc2VsZWN0W3NpemVdIG9wdGlvbntwYWRkaW5nOi4xNXJlbSAuM3JlbTtj''@;'; put 'put ''b2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1mb3Jtcy1zZWxlY3QtbXVsdGlwbGUtb3B0aW9uLWNvbG9yLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1lcnJvciBzZWxlY3Q6bm90KFttdWx0aXBsZV0pe2JvcmRlci1ib3R0b20tY29sb3I6I2MyMWQwMDti''@;'; put 'put ''b3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1pbnZhbGlkLWNvbG9yLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWVycm9yIHNlbGVjdFttdWx0aXBsZV17Ym9yZGVyLWNvbG9yOiNjMjFkMDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1m''@;'; put 'put ''b3Jtcy1pbnZhbGlkLWNvbG9yLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLXNlbGVjdC5kaXNhYmxlZHtjb2xvcjojYjNiM2IzO2NvbG9yOnZhcigtLWNsci1mb3Jtcy10ZXh0LWRpc2FibGVkLWNvbG9y''@;'; put 'put ''LCAjYjNiM2IzKTtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRyb2wtZGlzYWJsZWQgLmNsci1zZWxlY3QuZGlzYWJsZWQ6aG92ZXI6YWZ0ZXJ7Y29sb3I6I2IzYjNiMztjb2xvcjp2YXIoLS1jbHItZm9ybXMtc2VsZWN0''@;'; put 'put ''LWNhcmV0LWNvbG9yLCAjYjNiM2IzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLXNlbGVjdC5kaXNhYmxlZD5zZWxlY3QsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRp''@;'; put 'put ''c2FibGVkIC5jbHItc2VsZWN0IHNlbGVjdDpkaXNhYmxlZHtjb2xvcjojYjNiM2IzO2NvbG9yOnZhcigtLWNsci1mb3Jtcy10ZXh0LWRpc2FibGVkLWNvbG9yLCAjYjNiM2IzKTtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNv''@;'; put 'put ''bnRyb2wtZGlzYWJsZWQgLmNsci1zZWxlY3QuZGlzYWJsZWQ+c2VsZWN0OmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29udHJvbC1kaXNhYmxlZCAuY2xyLXNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lO2JvcmRl''@;'; put 'put ''ci1jb2xvcjojNmE3YTgxO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZm9ybXMtYm9yZGVyLWNvbG9yLCAjNmE3YTgxKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWZvcm0tY29tcGFjdCAuY2xyLW11bHRpc2VsZWN0LXdyYXBwZXJ7bWFyZ2luLXRvcDowfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGV4dGFyZWEtd3JhcHBlcnt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10ZXh0YXJlYS13cmFwcGVyIC5jbHItdmFsaWRhdGUt''@;'; put 'put ''aWNvbnttYXJnaW4tbGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGV4dGFyZWF7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIC4zcmVtKTtoZWlnaHQ6YXV0bztyZXNpemU6dmVydGljYWw7YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1mb3Jt''@;'; put 'put ''cy10ZXh0YXJlYS1iYWNrZ3JvdW5kLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzZhN2E4MTtib3JkZXItY29sb3I6dmFyKC0tY2xyLWZvcm1zLWJvcmRlci1jb2xvciwgIzZhN2E4MSk7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItZm9ybXMtdGV4''@;'; put 'put ''dC1jb2xvciwgYmxhY2spO2JvcmRlci1yYWRpdXM6LjE1cmVtO3BhZGRpbmc6LjRyZW0gLjZyZW07Zm9udC1zaXplOi42NXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRleHRhcmVhOmZvY3Vze291dGxpbmU6SGlnaGxpZ2h0IGF1dG8gLjFyZW07b3V0bGluZTot''@;'; put 'put ''d2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAuMXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRleHRhcmVhOmRpc2FibGVke2NvbG9yOiNiM2IzYjM7Y29sb3I6dmFyKC0tY2xyLWZvcm1zLXRleHQtZGlzYWJsZWQtY29sb3IsICNiM2IzYjMpO2N1cnNvcjpu''@;'; put 'put ''b3QtYWxsb3dlZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWVycm9yIC5jbHItdGV4dGFyZWF7Ym9yZGVyLWNvbG9yOiNjMjFkMDA7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1pbnZhbGlkLWNvbG9yLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuY2xyLWNvbnRyb2wtY29udGFpbmVyIHRleHRhcmVhe3dpZHRoOmF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRyb2wucm93IC5jbHItdGV4dGFyZWEtd3JhcHBlcnttYXgtd2lkdGg6Y2FsYygxMDAlIC0gLjNyZW0pfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb21wYWN0IC5jbHItdGV4dGFyZWEtd3JhcHBlcnttYXJnaW4tdG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci10ZXh0YXJlYS13cmFwcGVyIC5jbHItdGV4dGFy''@;'; put 'put ''ZWF7bWF4LXdpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbXBhY3QgLmNsci10ZXh0YXJlYS13cmFwcGVyIC5jbHItdGV4dGFyZWF+LmNsci1zdWJ0ZXh0e21hcmdpbi1sZWZ0Oi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5zYXNqcy1yb290ey0tY2xyLXRvZ2dsZS1iZy1jb2xvci1vZmY6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTYwMCk7LS1jbHItdG9nZ2xlLWJnLWNvbG9yLW9uOiB2YXIoLS1jbHItY29sb3Itc3VjY2Vzcy01MDApOy0tY2xyLXRvZ2dsZS1oYW5kbGUtYmctY29sb3I6IHZhcigtLWNs''@;'; put 'put ''ci1jb2xvci1uZXV0cmFsLTUwKTstLWNsci10b2dnbGUtZGlzYWJsZWQtZGVmYXVsdC1ib3JkZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItdG9nZ2xlLWRpc2FibGVkLWRlZmF1bHQtaGFuZGxlLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTst''@;'; put 'put ''LWNsci10b2dnbGUtZGlzYWJsZWQtb2ZmLWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLXRvZ2dsZS1kaXNhYmxlZC1kZWZhdWx0LWJvcmRlci1jb2xvcik7LS1jbHItdG9nZ2xlLWRpc2FibGVkLW9mZi1iZy1jb2xvcjogdmFyKC0tY2xyLXRvZ2dsZS1kaXNhYmxlZC1kZWZhdWx0LWhhbmRsZS1j''@;'; put 'put ''b2xvcik7LS1jbHItdG9nZ2xlLWRpc2FibGVkLW9mZi1oYW5kbGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItdG9nZ2xlLWRpc2FibGVkLWRlZmF1bHQtYm9yZGVyLWNvbG9yKTstLWNsci10b2dnbGUtZGlzYWJsZWQtb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItdG9nZ2xlLWRpc2FibGVk''@;'; put 'put ''LWRlZmF1bHQtYm9yZGVyLWNvbG9yKTstLWNsci10b2dnbGUtZGlzYWJsZWQtb24tYmctY29sb3I6IHZhcigtLWNsci10b2dnbGUtZGlzYWJsZWQtZGVmYXVsdC1ib3JkZXItY29sb3IpOy0tY2xyLXRvZ2dsZS1kaXNhYmxlZC1vbi1oYW5kbGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItdG9n''@;'; put 'put ''Z2xlLWRpc2FibGVkLWRlZmF1bHQtaGFuZGxlLWNvbG9yKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJh''@;'; put 'put ''bmNlOm5vbmU7LW8tYXBwZWFyYW5jZTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXdyYXBwZXJ7aGVpZ2h0OjEuMnJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW4tcmlnaHQ6LjZy''@;'; put 'put ''ZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlciBsYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MS4ycmVtO21hcmdpbi1sZWZ0OjIuMXJlbTttYXJnaW4tcmlnaHQ6MH0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hde3Bvc2l0aW9uOmFic29sdXRlO3RvcDouM3JlbTtyaWdodDouM3JlbTtoZWlnaHQ6LjhyZW07d2lkdGg6LjhyZW07b3BhY2l0eTowfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF0rbGFiZWw6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbnRlbnQ6IiI7aGVpZ2h0Oi45cmVtO3dpZHRoOjEuNjVyZW07Ym9yZGVyOi4xcmVtIHNvbGlk''@;'; put 'put ''O2JvcmRlci1yYWRpdXM6LjQ1cmVtO2JvcmRlci1jb2xvcjojOGM4YzhjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItdG9nZ2xlLWJnLWNvbG9yLW9mZiwgIzhjOGM4Yyk7YmFja2dyb3VuZC1jb2xvcjojOGM4YzhjO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRvZ2dsZS1iZy1jb2xvci1v''@;'; put 'put ''ZmYsICM4YzhjOGMpO3RvcDouMTVyZW07cmlnaHQ6MDtsZWZ0Oi0yLjFyZW07dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3JkZXItY29sb3IsYmFja2dyb3VuZC1jb2xvcn0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzK2xhYmVsOmJlZm9yZXtvdXRsaW5lOkhpZ2hsaWdodCBzb2xpZCAuMXJlbTtvdXRsaW5lOi13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBzb2xpZCAuMXJlbTtvdXRsaW5l''@;'; put 'put ''LW9mZnNldDouMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVsOmJlZm9yZXtib3JkZXItY29sb3I6IzVhYTIyMDtib3JkZXItY29sb3I6dmFyKC0tY2xyLXRvZ2dsZS1iZy1j''@;'; put 'put ''b2xvci1vbiwgIzVhYTIyMCk7YmFja2dyb3VuZC1jb2xvcjojNWFhMjIwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRvZ2dsZS1iZy1jb2xvci1vbiwgIzVhYTIyMCk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNp''@;'; put 'put ''dGlvbi1wcm9wZXJ0eTpib3JkZXItY29sb3IsYmFja2dyb3VuZC1jb2xvcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdK2xhYmVsOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6aW5saW5lLWJs''@;'; put 'put ''b2NrO2NvbnRlbnQ6IiI7aGVpZ2h0Oi43cmVtO3dpZHRoOi43cmVtO2JvcmRlci13aWR0aDouMDVyZW07Ym9yZGVyLWNvbG9yOiNmYWZhZmE7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci10b2dnbGUtaGFuZGxlLWJnLWNvbG9yLCAjZmFmYWZhKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXJh''@;'; put 'put ''ZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRvZ2dsZS1oYW5kbGUtYmctY29sb3IsICNmYWZhZmEpO3RvcDouMjVyZW07cmlnaHQ6MDtsZWZ0Oi0ycmVtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWlu''@;'; put 'put ''Zy1mdW5jdGlvbjplYXNlLWluO3RyYW5zaXRpb24tcHJvcGVydHk6cmlnaHQsbGVmdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw6YWZ0ZXJ7cmlnaHQ6LTJyZW07bGVmdDotMS4y''@;'; put 'put ''NXJlbTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjt0cmFuc2l0aW9uLXByb3BlcnR5OnJpZ2h0LGxlZnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlci5kaXNhYmxlZCBsYWJlbHtv''@;'; put 'put ''cGFjaXR5Oi40O2N1cnNvcjpub3QtYWxsb3dlZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyLmRpc2FibGVkIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw6YmVmb3Jle2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2''@;'; put 'put ''YXIoLS1jbHItdG9nZ2xlLWRpc2FibGVkLW9uLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7YmFja2dyb3VuZC1jb2xvcjojY2NjO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRvZ2dsZS1kaXNhYmxlZC1vbi1ib3JkZXItY29sb3IsICNjY2NjY2MpfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItdG9nZ2xlLXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF06ZGlzYWJsZWQrbGFiZWx7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF06ZGlzYWJs''@;'; put 'put ''ZWQrbGFiZWw6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci10b2dnbGUtZGlzYWJsZWQtb2ZmLWJnLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci10b2dnbGUtZGlzYWJsZWQtb2ZmLWJv''@;'; put 'put ''cmRlci1jb2xvciwgI2NjY2NjYyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XTpkaXNhYmxlZCtsYWJlbDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHIt''@;'; put 'put ''dG9nZ2xlLWRpc2FibGVkLW9mZi1iZy1jb2xvciwgd2hpdGUpO2JvcmRlci13aWR0aDouMXJlbTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci10b2dnbGUtZGlzYWJsZWQtb2ZmLWhhbmRsZS1ib3JkZXItY29sb3IsICNjY2NjY2Mp''@;'; put 'put ''O2hlaWdodDouOXJlbTt3aWR0aDouOXJlbTt0b3A6LjE1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpkaXNhYmxlZCtsYWJlbDpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVy''@;'; put 'put ''LWNvbG9yOnZhcigtLWNsci10b2dnbGUtZGlzYWJsZWQtb24tYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdG9nZ2xlLWRpc2FibGVkLW9uLWJnLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6ZGlzYWJsZWQrbGFiZWw6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci10b2dnbGUtZGlzYWJsZWQtb24taGFuZGxlLWJvcmRlci1jb2xvciwg''@;'; put 'put ''d2hpdGUpO2hlaWdodDouN3JlbTt3aWR0aDouN3JlbTt0b3A6LjI1cmVtO2xlZnQ6LTEuMjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlciBpbnB1dFt0eXBlPWNoZWNrYm94XTpkaXNhYmxlZCtsYWJlbDphZnRlcntsZWZ0Oi0yLjFyZW19''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlci5yaWdodC1sYWJlbCBsYWJlbHttYXJnaW4tbGVmdDoyLjFyZW07bWFyZ2luLXJpZ2h0OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlci5yaWdodC1s''@;'; put 'put ''YWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbDpiZWZvcmV7cmlnaHQ6MDtsZWZ0Oi0yLjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtd3JhcHBlci5yaWdodC1sYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbDphZnRlcntyaWdodDow''@;'; put 'put ''O2xlZnQ6LTJyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpsZWZ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXdyYXBwZXIucmlnaHQtbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbDphZnRlcntsZWZ0Oi0xLjI1cmVtO3RyYW5zaXRp''@;'; put 'put ''b24tcHJvcGVydHk6bGVmdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS13cmFwcGVyIC5jbHItY29udHJvbC1sYWJlbHtkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmNsci1jb250cm9sLWlubGluZSAuY2xyLXRvZ2dsZS13cmFwcGVyIC5jbHItY29udHJvbC1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtcmlnaHQgbGFiZWx7ZGlz''@;'; put 'put ''cGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXJpZ2h0OjIuMXJlbTttYXJnaW4tbGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXJpZ2h0IGlucHV0W3R5cGU9Y2hlY2tib3hdK2xhYmVsOmJlZm9yZXtsZWZ0OmF1dG87bGVmdDppbml0aWFsO3JpZ2h0''@;'; put 'put ''Oi0yLjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtcmlnaHQgaW5wdXRbdHlwZT1jaGVja2JveF0rbGFiZWw6YWZ0ZXJ7bGVmdDphdXRvO2xlZnQ6aW5pdGlhbDtyaWdodDotMS4yNXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OnJpZ2h0fS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXJpZ2h0IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw6YWZ0ZXJ7bGVmdDphdXRvO2xlZnQ6aW5pdGlhbDtyaWdodDotMnJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OnJpZ2h0fS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItdG9nZ2xlLXJpZ2h0IGlucHV0W3R5cGU9Y2hlY2tib3hdOmRpc2FibGVkK2xhYmVsOmFmdGVye2xlZnQ6YXV0bztsZWZ0OmluaXRpYWw7cmlnaHQ6LTEuM3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRvZ2dsZS1yaWdodCBpbnB1''@;'; put 'put ''dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmRpc2FibGVkK2xhYmVsOmFmdGVye2xlZnQ6YXV0bztsZWZ0OmluaXRpYWw7cmlnaHQ6LTJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10b2dnbGUtcmlnaHQgLmNsci1jb250cm9sLWlubGluZSAuY2xyLXRvZ2dsZS13''@;'; put 'put ''cmFwcGVyIC5jbHItY29udHJvbC1sYWJlbHttYXJnaW4tcmlnaHQ6Mi43cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItcmFuZ2Utd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRl''@;'; put 'put ''bXM6ZmxleC1lbmQ7aGVpZ2h0Oi43cmVtO3doaXRlLXNwYWNlOm5vd3JhcH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXJhbmdlLXdyYXBwZXIgLmZpbGwtaW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDouMnJl''@;'; put 'put ''bTtwb2ludGVyLWV2ZW50czpub25lO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MTA7YmFja2dyb3VuZC1jb2xvcjojMDA3MmEzO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWZvcm1zLXJhbmdlLXByb2dyZXNzLWZpbGwtY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItcmFuZ2V7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0Oi43cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItcmFuZ2U6ZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItcmFuZ2U6ZGlzYWJsZWQrLmZpbGwtaW5wdXR7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaW5wdXRbdHlwZT1yYW5nZV17cGFkZGluZzowOy13ZWJraXQtYXBwZWFyYW5jZTpu''@;'; put 'put ''b25lO2xlZnQ6MDtoZWlnaHQ6LjJyZW07YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWZvcm1zLXJhbmdlLXRyYWNrLWNvbG9yLCAjZThlOGU4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBpbnB1dFt0eXBlPXJhbmdlXTo6LXdl''@;'; put 'put ''YmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0Oi4ycmVtO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6I2U4ZThlODtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1yYW5nZS10cmFjay1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO21hcmdpbi10b3A6LS4yNXJlbTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6LjdyZW07d2lkdGg6LjdyZW07YmFja2dyb3VuZC1jb2xvcjojMDA3MmEzO2JhY2tn''@;'; put 'put ''cm91bmQtY29sb3I6dmFyKC0tY2xyLWZvcm1zLXJhbmdlLXByb2dyZXNzLWZpbGwtY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre2hlaWdodDouMnJlbTtjdXJzb3I6cG9pbnRlcjtiYWNr''@;'; put 'put ''Z3JvdW5kLWNvbG9yOiNlOGU4ZTg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZm9ybXMtcmFuZ2UtdHJhY2stY29sb3IsICNlOGU4ZTgpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1ie2JvcmRlcjowO21hcmdp''@;'; put 'put ''bi10b3A6LS4yNXJlbTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6LjdyZW07d2lkdGg6LjdyZW07YmFja2dyb3VuZC1jb2xvcjojMDA3MmEzO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWZvcm1zLXJhbmdlLXByb2dyZXNzLWZpbGwtY29sb3IsICMwMDcyYTMpfUBzdXBwb3J0cyAoLW1z''@;'; put 'put ''LWltZS1hbGlnbjogYXV0byl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1yYW5nZS13cmFwcGVyIC5maWxsLWlucHV0e2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXJhbmdlLXdyYXBwZXIucHJvZ3Jlc3MtZmlsbCBpbnB1''@;'; put 'put ''dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXJ7aGVpZ2h0Oi4ycmVtO2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1yYW5nZS1wcm9ncmVzcy1maWxsLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICBpbnB1dFt0eXBlPXJhbmdlXXtib3JkZXI6MDttYXJnaW46MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7aGVpZ2h0Oi43cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7bWFyZ2luOjA7Ym9yZGVyOjA7''@;'; put 'put ''aGVpZ2h0Oi4ycmVtO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6I2U4ZThlODtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1yYW5nZS10cmFjay1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgaW5wdXRbdHlwZT1yYW5nZV06''@;'; put 'put ''Oi1tcy10aHVtYntib3JkZXI6MDttYXJnaW4tdG9wOjA7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0Oi43cmVtO3dpZHRoOi43cmVtO2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1yYW5nZS1wcm9ncmVzcy1maWxsLWNvbG9yLCAjMDA3''@;'; put 'put ''MmEzKX19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgXzotbXMtZnVsbHNjcmVlbiAuY2xyLXJhbmdlLXdyYXBwZXIgLmZpbGwtaW5wdXQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290IC5jbHItcmFuZ2Utd3JhcHBlciAuZmlsbC1pbnB1dHtk''@;'; put 'put ''aXNwbGF5Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgXzotbXMtZnVsbHNjcmVlbiAuY2xyLXJhbmdlLXdyYXBwZXIucHJvZ3Jlc3MtZmlsbCBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5z''@;'; put 'put ''YXNqcy1yb290IC5jbHItcmFuZ2Utd3JhcHBlci5wcm9ncmVzcy1maWxsIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC1sb3dlcntoZWlnaHQ6LjJyZW07YmFja2dyb3VuZC1jb2xvcjojMDA3MmEzO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWZvcm1zLXJhbmdlLXByb2dyZXNzLWZp''@;'; put 'put ''bGwtY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIF86LW1zLWZ1bGxzY3JlZW4gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10b29sdGlwLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdCBpbnB1dFt0eXBlPXJhbmdlXTo6''@;'; put 'put ''LW1zLXRvb2x0aXB7dmlzaWJpbGl0eTpoaWRkZW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgXzotbXMtZnVsbHNjcmVlbiBpbnB1dFt0eXBlPXJhbmdlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3QgaW5wdXRbdHlwZT1yYW5nZV17Ym9y''@;'; put 'put ''ZGVyOjA7bWFyZ2luOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bGVmdDowO2hlaWdodDouN3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBfOi1tcy1mdWxsc2NyZWVuIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2ssIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5zYXNqcy1yb290IGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7Ym9yZGVyOjA7bWFyZ2luOjA7aGVpZ2h0Oi4ycmVtO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6I2U4ZThlODtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1yYW5nZS10cmFjay1j''@;'; put 'put ''b2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgXzotbXMtZnVsbHNjcmVlbiBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRodW1iLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdCBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRo''@;'; put 'put ''dW1ie2JvcmRlcjowO21hcmdpbi10b3A6MDtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6LjdyZW07d2lkdGg6LjdyZW07YmFja2dyb3VuZC1jb2xvcjojMDA3MmEzO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWZvcm1zLXJhbmdlLXByb2dyZXNzLWZpbGwtY29sb3IsICMwMDcyYTMpfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGlucHV0W2NsckRhdGFsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBjbHItZGF0YWxpc3QtY29udGFpbmVyIC5jbHItaW5wdXQt''@;'; put 'put ''Z3JvdXB7cGFkZGluZy1yaWdodDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xyLWNhbGVuZGFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLWNhbGVuZGFyLWJvcmRlci1jb2xvcjogdmFyKC0tY2xy''@;'; put 'put ''LWNvbG9yLW5ldXRyYWwtNDAwKTstLWNsci1kYXRlcGlja2VyLXRyaWdnZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1kYXRlcGlja2VyLXRyaWdnZXItaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tODAwKTstLWNsci1jYWxlbmRhci1idG4t''@;'; put 'put ''Y29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1jYWxlbmRhci1idG4taG92ZXItZm9jdXMtY29sb3I6IHZhcigtLWNsci1nbG9iYWwtaG92ZXItY29sb3IpOy0tY2xyLWNhbGVuZGFyLXBpY2tlci1idG4tZm9udC1zaXplOiAuOXJlbTstLWNsci1jYWxlbmRhci1waWNr''@;'; put 'put ''ZXItYnRuLWZvbnQtd2VpZ2h0OiAyMDA7LS1jbHItY2FsZW5kYXItdG9kYXktZGF0ZS1jZWxsLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1jYWxlbmRhci10b2RheS1kYXRlLWNlbGwtZm9udC13ZWlnaHQ6IDYwMDstLWNsci1jYWxlbmRhci1hY3RpdmUtY2Vs''@;'; put 'put ''bC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLXNlbGVjdGlvbi1jb2xvcik7LS1jbHItY2FsZW5kYXItYWN0aXZlLWZvY3VzLWNlbGwtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWdsb2JhbC1zZWxlY3Rpb24tY29sb3IpOy0tY2xyLWNhbGVuZGFyLWFjdGl2ZS1jZWxs''@;'; put 'put ''LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1kYXktZm9udC1zaXplOiAuNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0ZS1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6''@;'; put 'put ''bm93cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRlcGlja2VyLXRyaWdnZXJ7aGVpZ2h0OjEuOHJlbTttaW4td2lkdGg6MS44cmVtO3BhZGRpbmc6MDttYXJnaW46MCFpbXBvcnRhbnQ7Y29sb3I6aW5oZXJpdDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOi4xNXJl''@;'; put 'put ''bTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0pO2JhY2tncm91bmQ6bm9uZTtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDoxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGVwaWNrZXItdHJpZ2dlciAuZGF0ZXBp''@;'; put 'put ''Y2tlci10cmlnZ2VyLWljb257ZmlsbDojMDA3MmEzO2ZpbGw6dmFyKC0tY2xyLWRhdGVwaWNrZXItdHJpZ2dlci1jb2xvciwgIzAwNzJhMyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGVwaWNrZXItdHJpZ2dlciAuZGF0ZXBpY2tlci10cmlnZ2VyLWljb246aG92ZXJ7''@;'; put 'put ''ZmlsbDojMDA1NjdhO2ZpbGw6dmFyKC0tY2xyLWRhdGVwaWNrZXItdHJpZ2dlci1ob3Zlci1jb2xvciwgIzAwNTY3YSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGVwaWNrZXItdHJpZ2dlcjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRyb2wgLmRhdGVwaWNrZXItdHJpZ2dlcntsaW5lLWhlaWdodDoxLjFyZW07aGVpZ2h0OjEuMXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0ZS1pbnB1dHtmbGV4OjEgMSBhdXRvfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5kYXRlcGlja2Vye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzouNnJlbTttYXJnaW4tdG9wOi4zcmVtO3dpZHRoOjEzLjlyZW07aGVpZ2h0OjE1LjdyZW07YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1jYWxl''@;'; put 'put ''bmRhci1iYWNrZ3JvdW5kLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWNhbGVuZGFyLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1j''@;'; put 'put ''bHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtib3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSAjOGM4YzhjNDA7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gdmFyKC0tY2xyLXBvcG92ZXItYm94LXNoYWRvdy1jb2xvciwgcmdiYSgxNDAsIDE0MCwgMTQwLCAuMjUpKTtvdmVyZmxv''@;'; put 'put ''dzpoaWRkZW47ei1pbmRleDoxMDUwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYWxlbmRhci1oZWFkZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2FsZW5kYXItc3dpdGNoZXJzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhci1zd2l0Y2hlcnN7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS4xcmVtKTtkaXNwbGF5OmZsZXh9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnllYXItc3dpdGNoZXJze2Zs''@;'; put 'put ''ZXg6MCAwIGF1dG87d2lkdGg6NS40cmVtO2FsaWduLXNlbGY6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYWxlbmRhci10YWJsZXtmbGV4OjEgMSBhdXRvO3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhbGVuZGFyLWNlbGws''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYWxlbmRhci10YWJsZSAuY2FsZW5kYXItY2VsbHtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTttaW4taGVpZ2h0OjEuOHJlbTttaW4td2lkdGg6MS44cmVtO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmNlbnRlcn0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZGF5e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC53ZWVrZGF5c3tmbGV4OjAgMCAxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLndlZWtkYXl7Zm9udC1zaXplOi42cmVt''@;'; put 'put ''O2ZvbnQtc2l6ZTp2YXIoLS1jbHItZGF5LWZvbnQtc2l6ZSwgLjZyZW0pO2ZvbnQtd2VpZ2h0OjYwMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2FsZW5kYXItYnRue2hlaWdodDoxLjhyZW07bWluLXdpZHRoOjEuOHJlbTtwYWRkaW5nOjA7bWFyZ2luOjAhaW1wb3J0YW50''@;'; put 'put ''O2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtc2l6ZTouOXJl''@;'; put 'put ''bTtmb250LXNpemU6dmFyKC0tY2xyLWNhbGVuZGFyLXBpY2tlci1idG4tZm9udC1zaXplLCAuOXJlbSk7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtd2VpZ2h0OnZhcigtLWNsci1jYWxlbmRhci1waWNrZXItYnRuLWZvbnQtd2VpZ2h0LCAyMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jYWxlbmRhci1idG46aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYWxlbmRhci1idG46Zm9jdXN7YmFja2dyb3VuZDojZThlOGU4O2JhY2tncm91bmQ6dmFyKC0tY2xyLWNhbGVuZGFyLWJ0bi1ob3Zlci1mb2N1cy1jb2xvciwgI2U4ZThlOCl9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNhbGVuZGFyLWJ0bjpmb2N1c3tvdXRsaW5lOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRheS1idG57aGVpZ2h0OjEuOHJlbTttaW4td2lkdGg6MS44cmVtO3BhZGRpbmc6MDttYXJnaW46MCFpbXBvcnRhbnQ7Ym9yZGVy''@;'; put 'put ''Om5vbmU7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7bGluZS1oZWlnaHQ6MS44cmVtO3dpZHRoOjEwMCU7Y29sb3I6aW5oZXJpdH0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZGF5LWJ0bjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRheS1idG46Zm9jdXN7YmFja2dyb3VuZDojZThlOGU4O2JhY2tncm91bmQ6dmFyKC0tY2xyLWNhbGVuZGFyLWJ0bi1ob3Zlci1mb2N1cy1jb2xvciwgI2U4ZThl''@;'; put 'put ''OCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRheS1idG46Zm9jdXN7b3V0bGluZTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXktYnRuLmlzLXRvZGF5e2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLWNhbGVuZGFyLXRvZGF5LWRhdGUtY2VsbC1j''@;'; put 'put ''b2xvciwgYmxhY2spO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXdlaWdodDp2YXIoLS1jbHItY2FsZW5kYXItdG9kYXktZGF0ZS1jZWxsLWZvbnQtd2VpZ2h0LCA2MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXktYnRuLmlzLWV4Y2x1ZGVke29wYWNpdHk6LjR9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRheS1idG4uaXMtZXhjbHVkZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXktYnRuLmlzLXNlbGVjdGVke2JhY2tncm91bmQ6I2Q4ZTNlOTtiYWNrZ3JvdW5kOnZhcigtLWNsci1j''@;'; put 'put ''YWxlbmRhci1hY3RpdmUtY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLCAjZDhlM2U5KTtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1jYWxlbmRhci1hY3RpdmUtY2VsbC1jb2xvciwgYmxhY2spfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXktYnRuLmlzLXNlbGVjdGVkOmZv''@;'; put 'put ''Y3Vze2JhY2tncm91bmQ6I2Q4ZTNlOTtiYWNrZ3JvdW5kOnZhcigtLWNsci1jYWxlbmRhci1hY3RpdmUtZm9jdXMtY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLCAjZDhlM2U5KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF5LWJ0bi5pcy1kaXNhYmxlZHtvcGFjaXR5Oi40O3Bv''@;'; put 'put ''aW50ZXItZXZlbnRzOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRheS1idG4uaXMtZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jYWxlbmRhci1waWNrZXJze2Rpc3BsYXk6ZmxleH0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3dpdGNoZXJ7Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItY2FsZW5kYXItYnRuLWNvbG9yLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3dpdGNoZXIgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5zd2l0Y2hlciBjbHItaWNvbntoZWlnaHQ6LjlyZW07d2lkdGg6LjlyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vbnRocGlja2VyLXRyaWdnZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC55ZWFycGlja2VyLXRyaWdn''@;'; put 'put ''ZXJ7bWluLXdpZHRoOjIuNHJlbTttYXgtd2lkdGg6M3JlbTtjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1jYWxlbmRhci1idG4tY29sb3IsICMwMDcyYTMpO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxp''@;'; put 'put ''cHNpc30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9udGhwaWNrZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC55ZWFycGlja2Vye21pbi1oZWlnaHQ6MTQuNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9udGhwaWNrZXIsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC55ZWFycGlja2VyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhcnN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLm1vbnRocGlja2VyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhcnN7ZmxleC13cmFwOndyYXB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vbnRoLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhcntoZWlnaHQ6Mi40cmVt''@;'; put 'put ''O21pbi13aWR0aDoyLjRyZW07cGFkZGluZzowIC42cmVtO21hcmdpbjowIWltcG9ydGFudDtjb2xvcjppbmhlcml0O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7YmFja2dyb3VuZDpu''@;'; put 'put ''b25lO2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0OjEuOHJlbTt3aWR0aDo2LjNyZW07Zm9udC1zaXplOi45cmVtO2ZvbnQtd2VpZ2h0OjIwMDtvdXRsaW5lLW9mZnNldDotLjI1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5tb250aDpob3ZlciwgLnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vbnRoOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhcjpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnllYXI6Zm9jdXN7YmFja2dyb3VuZDojZThlOGU4O2JhY2tncm91bmQ6dmFyKC0tY2xy''@;'; put 'put ''LWNhbGVuZGFyLWJ0bi1ob3Zlci1mb2N1cy1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vbnRoOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhcjpmb2N1c3tvdXRsaW5lOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLm1vbnRoLmlzLWRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhci5pcy1kaXNhYmxlZHtvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vbnRoLmlzLWRpc2FibGVk''@;'; put 'put ''OmhvdmVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAueWVhci5pcy1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1vbnRoLmlzLXNlbGVjdGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAueWVhci5pcy1zZWxlY3RlZHtiYWNrZ3JvdW5kOiNkOGUzZTk7YmFja2dyb3VuZDp2YXIoLS1jbHItY2FsZW5kYXItYWN0aXZlLWNlbGwtYmFja2dyb3VuZC1jb2xvciwgI2Q4ZTNlOSk7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItY2FsZW5kYXItYWN0aXZlLWNlbGwtY29sb3IsIGJs''@;'; put 'put ''YWNrKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9udGguaXMtc2VsZWN0ZWQ6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC55ZWFyLmlzLXNlbGVjdGVkOmZvY3Vze2JhY2tncm91bmQ6I2Q4ZTNlOTtiYWNrZ3JvdW5kOnZhcigtLWNsci1jYWxl''@;'; put 'put ''bmRhci1hY3RpdmUtZm9jdXMtY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLCAjZDhlM2U5KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9udGh7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lz''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC55ZWFye3RleHQtYWxpZ246Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zYXNqcy1yb290ey0tY2xyLWNvbWJvYm94LXRyaWdnZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTUwMCk7LS1j''@;'; put 'put ''bHItY29tYm9ib3gtZm9udC1zaXplOiAuNjVyZW07LS1jbHItY29tYm9ib3gtYm9yZGVyLWNvbG9yOiAjZThlOGU4Oy0tY2xyLWNvbWJvYm94LWJvcmRlci1yYWRpdXM6IC4xNXJlbTstLWNsci1jb21ib2JveC1pbnB1dC1iYWNrZ3JvdW5kOiAjZjJmMmYyOy0tY2xyLWNvbWJvYm94LXBpbGwt''@;'; put 'put ''YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7LS1jbHItY29tYm9ib3gtcGlsbC1ib3JkZXItY29sb3I6ICM2NjY2NjY7LS1jbHItY29tYm9ib3gtcGlsbC1ib3JkZXItcmFkaXVzOiAuMTVyZW07LS1jbHItY29tYm9ib3gtcGlsbC1mb250LWNvbG9yOiAjNDU0NTQ1Oy0tY2xyLWNvbWJvYm94LWZp''@;'; put 'put ''bHRlci1oaWdobGlnaHQ6ICM0NTQ1NDV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1mb3JtLWNvbnRyb2x7YWxpZ24taXRlbXM6c3RyZXRjaH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbWJvYm94LWZvcm0tY29udHJvbCAu''@;'; put 'put ''Y2xyLWVycm9yIC5jbHItdmFsaWRhdGUtaWNvbnttYXJnaW4tbGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9jdXMtaW5kaWNhdG9ye2JhY2tncm91bmQtY29sb3I6IzAwNzJhMztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1mb3Jtcy1mb2N1c2VkLWNv''@;'; put 'put ''bG9yLCAjMDA3MmEzKTtoZWlnaHQ6LjFyZW07d2lkdGg6MDt0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotLjA1cmVtO2xlZnQ6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4xNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOnZhcigt''@;'; put 'put ''LWNsci1jb21ib2JveC1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4xNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czp2YXIoLS1jbHItY29tYm9ib3gtYm9yZGVyLXJhZGl1cywgLjE1cmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWZvY3Vze3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1lcnJvciAuY2xyLWZvY3VzLWluZGljYXRvcntiYWNrZ3JvdW5kLWNvbG9yOiNjMjFkMDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZm9ybXMtaW52YWxpZC1jb2xv''@;'; put 'put ''ciwgI2MyMWQwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAxLjJyZW0gMCAuM3JlbTttaW4taGVpZ2h0OjEuMnJlbTttaW4td2lkdGg6OC40cmVtO2ZvbnQtc2l6ZTouNjVyZW07Zm9u''@;'; put 'put ''dC1zaXplOnZhcigtLWNsci1jb21ib2JveC1mb250LXNpemUsIC42NXJlbSk7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItZm9ybXMtdGV4dC1jb2xvciwgYmxhY2spO2JvcmRlci1ib3R0b206LjA1cmVtIHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6IzZhN2E4MTtib3JkZXItYm90dG9t''@;'; put 'put ''LWNvbG9yOnZhcigtLWNsci1mb3Jtcy1ib3JkZXItY29sb3IsICM2YTdhODEpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtY29sb3I6I2YyZjJmMjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1jb21ib2JveC1pbnB1dC1iYWNrZ3JvdW5kLWNvbG9yLCAjZjJmMmYyKTtib3Jk''@;'; put 'put ''ZXItd2lkdGg6LjA1cmVtO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2U4ZThlODtib3JkZXItY29sb3I6dmFyKC0tY2xyLWNvbWJvYm94LWJvcmRlci1jb2xvciwgI2U4ZThlOCk7Ym9yZGVyLWJvdHRvbS13aWR0aDouMDVyZW07Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDti''@;'; put 'put ''b3JkZXItYm90dG9tLWNvbG9yOiM2YTdhODE7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItZm9ybXMtYm9yZGVyLWNvbG9yLCAjNmE3YTgxKTtib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1jb21ib2JveC1ib3JkZXItcmFkaXVzLCAuMTVyZW0pfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtd3JhcHBlci5tdWx0aXttaW4td2lkdGg6bWluKDE4cmVtLDEwMCUpO3BhZGRpbmctYm90dG9tOi4xNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbWJvYm94LXdyYXBwZXIgLmNs''@;'; put 'put ''ci1pbnB1dC5jbHItY29tYm9ib3gtaW5wdXQ6Zm9jdXN7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtd3JhcHBlci5pbnZhbGlke2JvcmRlci1ib3R0b20tY29sb3I6I2MyMWQwMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWNvbWJvYm94LXdyYXBwZXIgLmNsci1jb21ib2JveC1pbnB1dHtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyLWJvdHRvbTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtd3JhcHBlciAuY2xyLWNvbWJvYm94LXJlbW92ZS1idG57''@;'; put 'put ''YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOi4xNXJlbTtjb2xvcjojNDU0NTQ1fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtd3JhcHBlciAubGFiZWwtY29tYm9ib3gtcGlsbHttYXJnaW46LjE1''@;'; put 'put ''cmVtIC4zcmVtIDAgMDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItY29tYm9ib3gtcGlsbC1iYWNrZ3JvdW5kLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItc3R5bGU6c29saWQ7YWxpZ24taXRlbXM6YmFzZWxpbmU7Ym9y''@;'; put 'put ''ZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItY29tYm9ib3gtcGlsbC1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2JvcmRlci1jb2xvcjojNjY2O2JvcmRlci1jb2xvcjp2YXIoLS1jbHItY29tYm9ib3gtcGlsbC1ib3JkZXItY29sb3IsICM2NjY2NjYpO3BhZGRpbmc6''@;'; put 'put ''MCAuMXJlbSAwIC4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtd3JhcHBlciAubGFiZWwtY29tYm9ib3gtcGlsbCAuY2xyLWNvbWJvYm94LXBpbGwtY29udGVudHtjb2xvcjojNDU0NTQ1O2NvbG9yOnZhcigtLWNsci1jb21ib2JveC1waWxsLWZv''@;'; put 'put ''bnQtY29sb3IsICM0NTQ1NDUpO2ZvbnQtc2l6ZTouNTVyZW07Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmc6MCAuNHJlbSAwIC4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtd3JhcHBlciAubGFiZWwtY29tYm9ib3gtcGlsbCBjZHMtaWNvbltzaGFw''@;'; put 'put ''ZT13aW5kb3ctY2xvc2VdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbWJvYm94LXdyYXBwZXIgLmxhYmVsLWNvbWJvYm94LXBpbGwgY2xyLWljb25bc2hhcGU9d2luZG93LWNsb3NlXXtjb2xvcjojNDU0NTQ1O2NvbG9yOnZhcigtLWNsci1jb21ib2JveC1waWxs''@;'; put 'put ''LWZvbnQtY29sb3IsICM0NTQ1NDUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtd3JhcHBlciAuY2xyLWNvbWJvYm94LWlucHV0LXdyYXBwZXJ7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItY29tYm9ib3gtdHJpZ2dlcnt3aWR0aDoxLjJyZW07bWFyZ2luOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6Y3VycmVudENvbG9yO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZX0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbWJvYm94LXRyaWdnZXI6ZGlzYWJsZWR7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItYnRuLWxpbmstZGlzYWJsZWQtY29sb3IsICM2NjYpO29wYWNpdHk6LjR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNsci1jb21ib2JveC10cmlnZ2VyIGNkcy1pY29uW3NoYXBlPWFuZ2xlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC10cmlnZ2VyIGNsci1pY29uW3NoYXBlPWFuZ2xlXXtjb2xvcjojNDU0NTQ1O2NvbG9yOnZhcigtLWNsci1jb21ib2JveC1waWxs''@;'; put 'put ''LWZvbnQtY29sb3IsICM0NTQ1NDUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtb3B0aW9uc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDttaW4td2lkdGg6NnJlbTttYXgt''@;'; put 'put ''d2lkdGg6MThyZW07YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1kcm9wZG93bi1iZy1jb2xvciwgd2hpdGUpO2JvcmRlci13aWR0aDouMDVyZW07Ym9yZGVyLXdpZHRoOnZhcigtLWNsci1nbG9iYWwtYm9yZGVyd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLXN0eWxlOnNvbGlk''@;'; put 'put ''O2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0pO2JveC1zaGFkb3c6MCAuMDVy''@;'; put 'put ''ZW0gLjE1cmVtICM4YzhjOGM0MDtib3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSB2YXIoLS1jbHItZHJvcGRvd24tYm94LXNoYWRvdywgcmdiYSgxNDAsIDE0MCwgMTQwLCAuMjUpKTttYXJnaW4tdG9wOi4xcmVtO3BhZGRpbmc6LjZyZW0gMDt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjEw''@;'; put 'put ''NTA7cG9zaXRpb246c3RhdGljO21heC1oZWlnaHQ6MTJyZW07b3ZlcmZsb3cteTpzY3JvbGw7dmlzaWJpbGl0eTp2aXNpYmxlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtb3B0aW9ucyAuY2xyLWNvbWJvYm94LW9wdGlvbnMtbG9hZGluZ3twYWRkaW5n''@;'; put 'put ''Oi4xNXJlbSAxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb25zIC5jbHItY29tYm9ib3gtb3B0aW9ucy1sb2FkaW5nIC5jbHItY29tYm9ib3gtb3B0aW9ucy1sb2FkaW5nLXRleHR7cGFkZGluZy1sZWZ0Oi4zcmVtfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtb3B0aW9ucyAuY2xyLWNvbWJvYm94LW9wdGlvbnMtZW1wdHktdGV4dHtwYWRkaW5nLWxlZnQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb257Y29sb3I6IzY2Njtjb2xv''@;'; put 'put ''cjp2YXIoLS1jbHItZHJvcGRvd24taXRlbS1jb2xvciwgIzY2NjY2Nik7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1jbHItZHJvcGRvd24taXRlbS1mb250LXdlaWdodCwgNDAwKTtsZXR0ZXItc3BhY2luZzpub3JtYWw7YmFja2dyb3VuZDp0cmFu''@;'; put 'put ''c3BhcmVudDtib3JkZXI6MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2hlaWdodDphdXRvO2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7d2lkdGg6MTAwJTt0ZXh0LXRyYW5zZm9ybTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gt''@;'; put 'put ''b3B0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U4ZThlODtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1kcm9wZG93bi1iZy1ob3Zlci1jb2xvciwgI2U4ZThlOCk7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItZHJvcGRvd24taXRlbS1jb2xvciwgIzY2NjY2Nik7dGV4dC1kZWNv''@;'; put 'put ''cmF0aW9uOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb24uYWN0aXZle2JhY2tncm91bmQ6I2Q4ZTNlOTtiYWNrZ3JvdW5kOnZhcigtLWNsci1kcm9wZG93bi1zZWxlY3Rpb24tY29sb3IsICNkOGUzZTkpO2NvbG9yOiMwMDA7Y29sb3I6''@;'; put 'put ''dmFyKC0tY2xyLWRyb3Bkb3duLWFjdGl2ZS10ZXh0LWNvbG9yLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb246YWN0aXZle2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbWJv''@;'; put 'put ''Ym94LW9wdGlvbjpmb2N1c3t6LWluZGV4OmluaGVyaXR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb24uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtb3B0aW9uOmRpc2FibGVke2N1cnNv''@;'; put 'put ''cjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbWJvYm94LW9wdGlvbi5kaXNhYmxlZDpob3ZlciwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb246ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtb3B0aW9uLmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb246ZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQ6bm9uZTtib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb24uY2xyLWZvY3Vze2JhY2tncm91bmQtY29s''@;'; put 'put ''b3I6I2U4ZThlODtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1kcm9wZG93bi1iZy1ob3Zlci1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb25zIC5jbHItY29tYm9ib3gtb3B0aW9ue3BhZGRpbmc6LjE1cmVtIDEu''@;'; put 'put ''MnJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzZweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1vcHRpb25zIC5jbHItY29tYm9ib3gtb3B0aW9ue3BhZGRpbmc6LjNyZW0gMS4ycmVtfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuY2xyLWNvbWJvYm94LW9wdGlvbnMgLmNsci1jb21ib2JveC1vcHRpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItY29tYm9ib3gtb3B0aW9ucyAuY2xyLWNvbWJvYm94LW9wdGlvbi5hY3RpdmV7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1j''@;'; put 'put ''bHItZHJvcGRvd24taXRlbS1jb2xvciwgIzY2NjY2Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1kaXNhYmxlZHtjb2xvcjojYjNiM2IzO2NvbG9yOnZhcigtLWNsci1mb3Jtcy10ZXh0LWRpc2FibGVkLWNvbG9yLCAjYjNiM2IzKTtjdXJzb3I6bm90''@;'; put 'put ''LWFsbG93ZWR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1kaXNhYmxlZCAuY2xyLWNvbWJvYm94LWlucHV0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWNvbWJvYm94LWRpc2FibGVkIC5jbHItY29tYm9ib3gtcmVtb3ZlLWJ0''@;'; put 'put ''biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1jb21ib2JveC1kaXNhYmxlZCAuY2xyLWNvbWJvYm94LXRyaWdnZXJ7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZmlsdGVyLWhpZ2hsaWdodCBie2ZvbnQtd2Vp''@;'; put 'put ''Z2h0OjUwMDtjb2xvcjojNDU0NTQ1O2NvbG9yOnZhcigtLWNsci1jb21ib2JveC1maWx0ZXItaGlnaGxpZ2h0LCAjNDU0NTQ1KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdHstLWNsci1zdGFjay12aWV3LWJvcmRlci1yYWRpdXM6IC4xNXJlbTstLWNsci1z''@;'; put 'put ''dGFjay12aWV3LWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNDAwKTstLWNsci1zdGFjay12aWV3LWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC01MCk7LS1jbHItc3RhY2stdmlldy1zdGFjay1ibG9jay1ib3JkZXItYm90dG9tOiB2YXIoLS1jbHItY29s''@;'; put 'put ''b3ItbmV1dHJhbC0zMDApOy0tY2xyLXN0YWNrLXZpZXctY29sb3I6ICM2NjY2NjY7LS1jbHItc3RhY2stdmlldy1zdGFjay1ibG9jay1sYWJlbC10ZXh0LWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWZvbnQtY29sb3IpOy0tY2xyLXN0YWNrLXZpZXctYm9yZGVyLWJveC1jb2xvcjogdmFyKC0t''@;'; put 'put ''Y2xyLWNvbG9yLW5ldXRyYWwtMzAwKTstLWNsci1zdGFjay1ibG9jay1jaGFuZ2VkLWJvcmRlci10b3AtY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWxhYmVsLWFuZC1jb250ZW50LWJnLWNvbG9yOiB2YXIoLS1jbHItY29s''@;'; put 'put ''b3ItbmV1dHJhbC01MCk7LS1jbHItc3RhY2stdmlldy1zdGFjay1jaGlsZHJlbi1zdGFjay1ibG9jay1ib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0yMDApOy0tY2xyLXN0YWNrLXZpZXctc3RhY2stY2hpbGRyZW4tc3RhY2stYmxvY2stbGFiZWwtYW5kLWNv''@;'; put 'put ''bnRlbnQtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLXN0YWNrLXZpZXctc3RhY2stYmxvY2stZXhwYW5kZWQtYmctY29sb3I6IHZhcigtLWNsci1nbG9iYWwtc2VsZWN0aW9uLWNvbG9yKTstLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWV4cGFuZGFibGUt''@;'; put 'put ''aG92ZXI6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTIwMCk7LS1jbHItc3RhY2stdmlldy1zdGFjay1ibG9jay1jb250ZW50LXRleHQtY29sb3I6IGluaGVyaXQ7LS1jbHItc3RhY2stdmlldy1zdGFjay1ibG9jay1leHBhbmRlZC10ZXh0LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJh''@;'; put 'put ''bC0xMDAwKTstLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWNhcmV0LWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLWZvbnQtY29sb3IpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay1oZWFkZXJ7Zm9udC13ZWlnaHQ6NDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVt''@;'; put 'put ''czpmbGV4LWVuZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2staGVhZGVyIC5zdGFjay10aXRsZXtkaXNwbGF5OmJsb2NrO2ZsZXg6MSAxIGF1dG87cGFkZGluZzouM3JlbSAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay1oZWFkZXIgLnN0''@;'; put 'put ''YWNrLWFjdGlvbnN7ZGlzcGxheTpibG9jaztmbGV4OjAgMCBhdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay1oZWFkZXIgLnN0YWNrLWFjdGlvbnMgLnN0YWNrLWFjdGlvbnttYXJnaW46MCAwIC4zcmVtIC42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5zdGFjay1oZWFkZXIgLnN0YWNrLWFjdGlvbnMgLnN0YWNrLWFjdGlvbi5idG57bWluLXdpZHRoOjA7cGFkZGluZzowIC42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay1oZWFkZXIgLnN0YWNrLWFjdGlvbnMgLnN0YWNrLWFjdGlvbi5idG4tbGlu''@;'; put 'put ''a3ttYXJnaW4tcmlnaHQ6LS42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3e2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXN0YWNrLXZpZXctY29sb3IsICM2NjY2NjYpO2ZvbnQtc2l6ZTouNjVyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0''@;'; put 'put ''OjEuMnJlbTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luLXRvcDowO2JvcmRlci13aWR0aDouMDVyZW07Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItc3RhY2stdmlldy1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1y''@;'; put 'put ''YWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLXN0YWNrLXZpZXctYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtvdmVyZmxvdy15OmF1dG87YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXN0YWNrLXZpZXctYmctY29sb3IsICNmYWZh''@;'; put 'put ''ZmEpO3dvcmQtd3JhcDpicmVhay13b3JkfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IGRkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyBkdHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6''@;'; put 'put ''MDttYXJnaW4tbGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9ja3tkaXNwbGF5OmZsZXg7ZmxleC1mbG93OnJvdyB3cmFwO2JvcmRlci1ib3R0b20td2lkdGg6LjA1cmVtO2JvcmRlci1ib3R0b20td2lkdGg6dmFyKC0tY2xyLWds''@;'; put 'put ''b2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6I2RlZGVkZTtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWJvcmRlci1ib3R0b20sICNkZWRlZGUpO292ZXJmbG93''@;'; put 'put ''LXk6aGlkZGVufS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3Pi5zdGFjay1ibG9jazpsYXN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldz46bGFzdC1jaGlsZCAuc3RhY2stYmxvY2s6bGFzdC1vZi10eXBle2Jv''@;'; put 'put ''cmRlci1ib3R0b206bm9uZTtib3gtc2hhZG93OjAgLjA1cmVtICNkZWRlZGU7Ym94LXNoYWRvdzowIC4wNXJlbSAwIHZhcigtLWNsci1zdGFjay12aWV3LWJvcmRlci1ib3gtY29sb3IpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1j''@;'; put 'put ''aGFuZ2VkPi5zdGFjay1ibG9jay1sYWJlbHttYXJnaW4tbGVmdDotLjQ1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1jaGFuZ2VkOmJlZm9yZXtjb250ZW50OiIgIjtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MDt3aWR0aDow''@;'; put 'put ''O2JvcmRlci10b3A6LjQ1cmVtIHNvbGlkO2JvcmRlci10b3AtY29sb3I6IzAwNzJhMztib3JkZXItdG9wLWNvbG9yOnZhcigtLWNsci1zdGFjay1ibG9jay1jaGFuZ2VkLWJvcmRlci10b3AtY29sb3IsICMwMDcyYTMpO2JvcmRlci1yaWdodDouNDVyZW0gc29saWQgdHJhbnNwYXJlbnR9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWxhYmVse3BhZGRpbmc6LjNyZW0gLjZyZW07YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXN0YWNrLXZpZXctc3RhY2stYmxvY2stbGFiZWwtYW5k''@;'; put 'put ''LWNvbnRlbnQtYmctY29sb3IsICNmYWZhZmEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1jb250ZW50e2JhY2tncm91bmQtY29sb3I6aW5oZXJpdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAu''@;'; put 'put ''c3RhY2stYmxvY2stY2FyZXR7YWxpZ24tc2VsZjpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWxhYmVse2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXN0YWNrLXZpZXctc3RhY2stYmxvY2stbGFiZWwtdGV4dC1jb2xv''@;'; put 'put ''ciwgIzY2NjY2Nik7Zm9udC1zaXplOi42NXJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4ycmVtO2xldHRlci1zcGFjaW5nOm5vcm1hbDtmbGV4OjEgMSBhdXRvO2Rpc3BsYXk6ZmxleH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2st''@;'; put 'put ''YmxvY2stbGFiZWw6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbnRlbnQ6IiI7ZmxvYXQ6bGVmdDtoZWlnaHQ6LjdyZW07d2lkdGg6LjdyZW07bWFyZ2luOi4zNXJlbSAuMjRyZW0gMCAwO3RleHQtYWxpZ246Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5z''@;'; put 'put ''dGFjay12aWV3IC5zdGFjay1ibG9jay1sYWJlbDpmb2N1c3tvdXRsaW5lOi4yNXJlbSBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stdmlldy1rZXl7ZmxleDowIDAgNDAlO21heC13aWR0aDo0''@;'; put 'put ''MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWNhcmV0e2hlaWdodDouN3JlbTt3aWR0aDouN3JlbTttYXJnaW4tcmlnaHQ6LjI0cmVtO2ZpbGw6IzY2NjtmaWxsOnZhcigtLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWNhcmV0''@;'; put 'put ''LWNvbG9yLCAjNjY2NjY2KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stY29udGVudHtjb2xvcjppbmhlcml0O2NvbG9yOnZhcigtLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWNvbnRlbnQtdGV4dC1jb2xvciwgaW5oZXJpdCk7''@;'; put 'put ''ZmxleDoxIDEgYXV0bzt3aWR0aDo2MCU7bWFyZ2luLWJvdHRvbTowO2ZvbnQtd2VpZ2h0OjQwMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stY29udGVudD46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stY2hpbGRyZW57ZmxleDowIDAgYXV0bzt3aWR0aDoxMDAlfS5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1jaGlsZHJlbiAuc3RhY2stYmxvY2t7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZThlOGU4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY2xyLXN0YWNrLXZpZXctc3RhY2stY2hpbGRyZW4tc3RhY2stYmxv''@;'; put 'put ''Y2stYm9yZGVyLWJvdHRvbS1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWNoaWxkcmVuPi5zdGFjay1ibG9jazpsYXN0LWNoaWxkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAu''@;'; put 'put ''c3RhY2stY2hpbGRyZW4+Omxhc3QtY2hpbGQgLnN0YWNrLWJsb2NrOmxhc3Qtb2YtdHlwZXtib3JkZXItYm90dG9tOm5vbmU7Ym94LXNoYWRvdzowIC4wNXJlbSAjZGVkZWRlO2JveC1zaGFkb3c6MCAuMDVyZW0gMCB2YXIoLS1jbHItc3RhY2stdmlldy1ib3JkZXItYm94LWNvbG9yKX0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stY2hpbGRyZW4gLnN0YWNrLWJsb2NrLWxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stY2hpbGRyZW4gLnN0YWNrLWJsb2NrLWNvbnRlbnR7YmFja2dy''@;'; put 'put ''b3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXN0YWNrLXZpZXctc3RhY2stY2hpbGRyZW4tc3RhY2stYmxvY2stbGFiZWwtYW5kLWNvbnRlbnQtYmctY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3Rh''@;'; put 'put ''Y2stY2hpbGRyZW4gLnN0YWNrLWJsb2NrLWxhYmVse3BhZGRpbmctbGVmdDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGFibGU+LnN0YWNrLWJsb2NrLWxhYmVse2N1cnNvcjpwb2ludGVyfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRhYmxlPi5zdGFjay1ibG9jay1sYWJlbDpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0El''@;'; put 'put ''MkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEyJTIwMTIlMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDc3R5bGUlM0UuY2xzLTElN0JmaWxsJTNBJTIzNjY2NjY2JTNCJTdEJTND''@;'; put 'put ''JTJGc3R5bGUlM0UlMEElMjAlMjAlMjAlMjAlM0MlMkZkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTNDdGl0bGUlM0VDYXJldCUzQyUyRnRpdGxlJTNFJTBBJTIwJTIwJTIwJTIwJTNDcGF0aCUyMGNsYXNzJTNEJTIyY2xzLTElMjIlMjBkJTNEJTIyTTYlMkM5TDEuMiUyQzQuMmEwLjY4JTJDMC42''@;'; put 'put ''OCUyQzAlMkMwJTJDMSUyQzEtMUw2JTJDNy4wOCUyQzkuODQlMkMzLjI0YTAuNjglMkMwLjY4JTJDMCUyQzElMkMxJTJDMSUyQzFaJTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47dmVydGljYWwt''@;'; put 'put ''YWxpZ246bWlkZGxlO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtoZWlnaHQ6LjZyZW07d2lkdGg6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGFibGU+LnN0YWNrLWJsb2NrLWxhYmVsLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kYWJsZT4uc3RhY2stYmxvY2stY29udGVudHt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0LGNvbG9yIC4ycyBlYXNlLWluLW91dH0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kYWJsZTpob3Zlcjpub3QoLnN0YWNrLWJsb2NrLWV4cGFuZGVkKT4uc3RhY2stYmxvY2stbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXN0YWNrLXZpZXctc3Rh''@;'; put 'put ''Y2stYmxvY2stZXhwYW5kYWJsZS1ob3ZlciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9jay1sYWJlbDpiZWZvcmV7dHJhbnNmb3JtOnJvdGF0ZSgwKX0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWxhYmVse2JhY2tncm91bmQtY29sb3I6I2Q4ZTNlOTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWV4cGFuZGVkLWJnLWNvbG9yLCAj''@;'; put 'put ''ZDhlM2U5KTtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1zdGFjay12aWV3LXN0YWNrLWJsb2NrLWV4cGFuZGVkLXRleHQtY29sb3IsIGJsYWNrKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyBpbnB1dFt0eXBlPXRleHRdLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgaW5wdXRbdHlwZT1udW1iZXJdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyBpbnB1''@;'; put 'put ''dFt0eXBlPWVtYWlsXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgaW5wdXRbdHlwZT11cmxdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyBpbnB1dFt0eXBlPXRlbF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5zdGFjay12aWV3IGlucHV0W3R5cGU9ZGF0ZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IGlucHV0W3R5cGU9dGltZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IGlucHV0W3R5cGU9ZGF0ZXRpbWUt''@;'; put 'put ''bG9jYWxdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc2VsZWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tcmlnaHQ6LjZyZW07bWFyZ2luLWJvdHRvbTotLjk1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5zdGFjay12aWV3IGlucHV0W3R5cGU9dGV4dF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IGlucHV0W3R5cGU9cGFzc3dvcmRdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyBpbnB1dFt0eXBlPW51''@;'; put 'put ''bWJlcl0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IGlucHV0W3R5cGU9ZW1haWxdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyBpbnB1dFt0eXBlPXVybF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5zdGFjay12aWV3IGlucHV0W3R5cGU9dGVsXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgaW5wdXRbdHlwZT1kYXRlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgaW5wdXRbdHlwZT10aW1lXSwgLnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zZWxlY3Qgc2VsZWN0e2hlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGFibGU+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT10ZXh0XSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGFibGU+LnN0YWNrLWJsb2NrLWNv''@;'; put 'put ''bnRlbnQgaW5wdXRbdHlwZT1wYXNzd29yZF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRhYmxlPi5zdGFjay1ibG9jay1jb250ZW50IGlucHV0W3R5cGU9bnVtYmVyXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGFibGU+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT1lbWFpbF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRhYmxlPi5zdGFjay1ibG9jay1j''@;'; put 'put ''b250ZW50IGlucHV0W3R5cGU9dXJsXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGFibGU+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT10ZWxdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''c3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kYWJsZT4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPWRhdGVdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kYWJsZT4uc3RhY2stYmxvY2stY29udGVudCBp''@;'; put 'put ''bnB1dFt0eXBlPXRpbWVdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kYWJsZT4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXXt0cmFuc2l0aW9uOmJhY2tncm91bmQtc2l6ZSAuMnMg''@;'; put 'put ''ZWFzZSxib3JkZXItYm90dG9tLWNvbG9yIC4ycyBlYXNlLWluLW91dH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kYWJsZT4uc3RhY2stYmxvY2stY29udGVudCAuc2VsZWN0IHNlbGVjdHt0cmFuc2l0aW9uOmJvcmRlci1i''@;'; put 'put ''b3R0b20tY29sb3IgLjJzIGVhc2UtaW4tb3V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRhYmxlPi5zdGFjay1ibG9jay1jb250ZW50IC5zZWxlY3Q6YWZ0ZXJ7dHJhbnNpdGlvbjpjb2xvciAuMnMgZWFzZS1pbi1vdXR9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9jay1jb250ZW50IGlucHV0W3R5cGU9dGV4dF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1l''@;'; put 'put ''eHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9jay1jb250ZW50IGlucHV0W3R5cGU9bnVtYmVyXSwgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9jay1jb250ZW50IGlucHV0W3R5cGU9ZW1haWxdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5k''@;'; put 'put ''ZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT11cmxdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT10ZWxdLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT1kYXRlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9j''@;'; put 'put ''ay1jb250ZW50IGlucHV0W3R5cGU9dGltZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXXtib3JkZXItYm90dG9tLWNvbG9yOiM4''@;'; put 'put ''YzhjOGM7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDAsICM4YzhjOGMpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx0cmFuc3BhcmVudCA5NSUsIzAwNzJhMyA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVu''@;'; put 'put ''dCh0byBib3R0b20sdHJhbnNwYXJlbnQgOTUlLHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwLCAjMDA3MmEzKSA5NSUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MCUgMTAwJTt0cmFuc2l0aW9uOmJhY2tncm91bmQtc2l6ZSAuMnMgZWFzZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT10ZXh0XTpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9j''@;'; put 'put ''ay1jb250ZW50IGlucHV0W3R5cGU9dGV4dF0uY2xyLWZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsIC5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPXBhc3N3b3JkXS5jbHItZm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9j''@;'; put 'put ''ay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPW51bWJlcl0u''@;'; put 'put ''Y2xyLWZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12''@;'; put 'put ''aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPWVtYWlsXS5jbHItZm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBp''@;'; put 'put ''bnB1dFt0eXBlPXVybF06Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPXVybF0uY2xyLWZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT10ZWxdOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNv''@;'; put 'put ''bnRlbnQgaW5wdXRbdHlwZT10ZWxdLmNsci1mb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9jay1jb250ZW50IGlucHV0W3R5cGU9ZGF0ZV06Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPWRhdGVdLmNsci1mb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5z''@;'; put 'put ''dGFjay1ibG9jay1jb250ZW50IGlucHV0W3R5cGU9dGltZV06Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCBpbnB1dFt0eXBlPXRpbWVdLmNsci1mb2N1cywgLnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWJsb2NrLWV4cGFuZGVkPi5zdGFjay1ibG9jay1jb250ZW50IGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3Rh''@;'; put 'put ''Y2stYmxvY2stZXhwYW5kZWQ+LnN0YWNrLWJsb2NrLWNvbnRlbnQgaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uY2xyLWZvY3Vze2JvcmRlci1ib3R0b20tY29sb3I6IzAwNzJhMztib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwLCAjMDA3MmEzKTtiYWNr''@;'; put 'put ''Z3JvdW5kLXNpemU6MTAwJSAxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCAuc2VsZWN0IHNlbGVjdHtib3JkZXItYm90dG9tLWNvbG9yOiM4YzhjOGM7Ym9yZGVyLWJvdHRv''@;'; put 'put ''bS1jb2xvcjp2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDAsICM4YzhjOGMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1ibG9jay1leHBhbmRlZD4uc3RhY2stYmxvY2stY29udGVudCAuc2VsZWN0OmFmdGVye2NvbG9yOiM4YzhjOGM7Y29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNjAwLCAjOGM4YzhjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAubW9kYWwgLnN0YWNrLXZpZXd7aGVpZ2h0OjU1dmg7bWFyZ2luLWJvdHRvbTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3''@;'; put 'put ''IGNsci1zdGFjay1ibG9jay5zdGFjay1ibG9jay1leHBhbmRhYmxlIC5zdGFjay1ibG9jay1sYWJlbDpiZWZvcmV7Y29udGVudDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zdGFjay12aWV3IC5zdGFjay1jaGlsZHJlbiBjbHItc3RhY2stYmxvY2sgLnN0YWNrLWJs''@;'; put 'put ''b2NrLWxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stY2hpbGRyZW4gLnN0YWNrLWJsb2NrLWxhYmVse3BhZGRpbmctbGVmdDoxLjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWNo''@;'; put 'put ''aWxkcmVuIGNsci1zdGFjay1ibG9jayAuc3RhY2stYmxvY2stbGFiZWw6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc3RhY2stdmlldyAuc3RhY2stY2hpbGRyZW4gLnN0YWNrLWJsb2NrLWxhYmVsOmJlZm9yZXtkaXNwbGF5Om5vbmV9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWNoaWxkcmVuIGNsci1zdGFjay1ibG9jayAuc3RhY2stYmxvY2stY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnN0YWNrLXZpZXcgLnN0YWNrLWNoaWxkcmVuIC5zdGFjay1ibG9jay1jb250ZW50''@;'; put 'put ''e3BhZGRpbmctbGVmdDouMzZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItdHJlZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cyk7LS1jbHItdHJlZS1ub2RlLWNhcmV0LWxpbmstaG92ZXItY29sb3I6IHZh''@;'; put 'put ''cigtLWNsci1jb2xvci1uZXV0cmFsLTEwMDApOy0tY2xyLXRyZWUtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tY2xyLWN1c3RvbS1saW5rcy1ob3Zlci1jb2xvcik7LS1jbHItdHJlZS1saW5rLXNlbGVjdGlvbi1jb2xvcjogdmFyKC0tY2xyLWdsb2JhbC1zZWxlY3Rpb24tY29sb3IpOy0tY2xy''@;'; put 'put ''LXRyZWUtbGluay10ZXh0LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLXRyZWUtbm9kZS1jYXJldC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNTAwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRyZWUtbm9kZXtkaXNwbGF5''@;'; put 'put ''OmJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZS1ub2RlLWNvbnRlbnQtY29udGFpbmVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10cmVlbm9kZS1jb250ZW50e2ZsZXg6''@;'; put 'put ''MSAxIGF1dG87ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMTVyZW07Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czp2YXIoLS1jbHItdHJlZS1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2JvcmRlci1ib3R0b20tbGVm''@;'; put 'put ''dC1yYWRpdXM6LjE1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6dmFyKC0tY2xyLXRyZWUtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtsaW5lLWhlaWdodDoxLjYycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtY29udGVudDpmaXJzdC1jaGls''@;'; put 'put ''ZHtwYWRkaW5nLWxlZnQ6MS42MnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRyZWVub2RlLWNvbnRlbnQgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtY29udGVudCBjbHItaWNvbntoZWlnaHQ6LjhyZW07''@;'; put 'put ''d2lkdGg6LjhyZW07bWFyZ2luLXJpZ2h0Oi4zcmVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRyZWVub2RlLWNhcmV0e2ZsZXg6MCAwIDEuNjJyZW07cGFkZGluZzowO21hcmdpbjowO2hlaWdodDoxLjYycmVtO3dpZHRoOjEu''@;'; put 'put ''NjJyZW07YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOiNiM2IzYjM7Y29sb3I6dmFyKC0tY2xyLXRyZWUtbm9kZS1jYXJldC1jb2xvciwgI2IzYjNiMyk7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS1vZmZzZXQ6LS4yNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLXRyZWVub2RlLWNhcmV0OmhvdmVye2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLXRyZWUtbm9kZS1jYXJldC1saW5rLWhvdmVyLWNvbG9yLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10cmVlLW5vZGUtY2FyZXQtaWNvbntoZWlnaHQ6Ljhy''@;'; put 'put ''ZW07d2lkdGg6LjhyZW07dmVydGljYWwtYWxpZ246bWlkZGxlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtc3Bpbm5lci1jb250YWluZXJ7aGVpZ2h0OjEuNjJyZW07d2lkdGg6MS42MnJlbTtwYWRkaW5nOi40MXJlbX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLXRyZWVub2RlLXNwaW5uZXJ7aGVpZ2h0Oi44cmVtO3dpZHRoOi44cmVtO21pbi1oZWlnaHQ6LjhyZW07bWluLXdpZHRoOi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtY2hpbGRyZW57bWFyZ2luLWxlZnQ6MS4x''@;'; put 'put ''N3JlbTt3aWxsLWNoYW5nZTpoZWlnaHQ7b3ZlcmZsb3cteTpoaWRkZW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10cmVlbm9kZS1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bWFyZ2luOjA7cGFkZGluZzowIDAgMCAuM3Jl''@;'; put 'put ''bTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXRyZWUtbGluay10ZXh0LWNvbG9yLCAjNjY2NjY2KTtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDppbmhlcml0O3RleHQtYWxpZ246bGVmdH0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuY2xyLXRyZWVub2RlLWxpbms6bGluaywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10cmVlbm9kZS1saW5rOnZpc2l0ZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtbGluazphY3RpdmUsIC5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtbGluazpob3Zlcntjb2xvcjppbmhlcml0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtbGluazpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10cmVl''@;'; put 'put ''bm9kZS1saW5rOmZvY3Vze2JhY2tncm91bmQ6I2U4ZThlODtiYWNrZ3JvdW5kOnZhcigtLWNsci10cmVlLWxpbmstaG92ZXItY29sb3IsICNlOGU4ZTgpO3RleHQtZGVjb3JhdGlvbjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtbGluay5hY3Rp''@;'; put 'put ''dmV7YmFja2dyb3VuZDojZDhlM2U5O2JhY2tncm91bmQ6dmFyKC0tY2xyLXRyZWUtbGluay1zZWxlY3Rpb24tY29sb3IsICNkOGUzZTkpO2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLXRyZWUtbm9kZS1jYXJldC1saW5rLWhvdmVyLWNvbG9yLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmNsci10cmVlLW5vZGUtY29udGVudC1jb250YWluZXI+LmNsci1jaGVja2JveC13cmFwcGVye2hlaWdodDoxLjYycmVtO3dpZHRoOjEuNjJyZW07cGFkZGluZy10b3A6LjIxcmVtO3BhZGRpbmctbGVmdDouNDFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmNsci10cmVlLW5vZGUtY29udGVudC1jb250YWluZXI+LmNsci1jaGVja2JveC13cmFwcGVyOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEuNjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10cmVlbm9kZS1jb250ZW50IC5sYWJlbHttYXJnaW4tbGVm''@;'; put 'put ''dDouM3JlbX1Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdHJlZW5vZGUtY29udGVudCAubGFiZWx7bWFyZ2luLWxlZnQ6LjE1cmVtfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBfOi1tcy1pbnB1''@;'; put 'put ''dC1wbGFjZWhvbGRlciAuY2xyLXRyZWVub2RlLWNvbnRlbnQgLmxhYmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2FzanMtcm9vdCAuY2xyLXRyZWVub2RlLWNvbnRlbnQgLmxhYmVse21hcmdpbi1sZWZ0Oi4xNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuc2FzanMtcm9vdHstLWNsci1kYXRhZ3JpZC1mb250LWNvbG9yOiAjYWNiYWMzOy0tY2xyLWRhdGFncmlkLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC00MDApOy0tY2xyLWRhdGFncmlkLWljb24tY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0''@;'; put 'put ''cmFsLTYwMCk7LS1jbHItZGF0YWdyaWQtcm93LWhvdmVyOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0yMDApOy0tY2xyLWRhdGFncmlkLXJvdy1ob3Zlci1mb250LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1kYXRhZ3JpZC1hY3Rpb24tdG9nZ2xlOiB2YXIo''@;'; put 'put ''LS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLWRhdGFncmlkLXBhZ2luYXRpb24tYnRuLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLWRhdGFncmlkLXBhZ2luYXRpb24tYnRuLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDAp''@;'; put 'put ''Oy0tY2xyLWRhdGFncmlkLXBhZ2luYXRpb24taW5wdXQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItZGF0YWdyaWQtZGVmYXVsdC1ib3JkZXItY29sb3IpOy0tY2xyLWRhdGFncmlkLXBhZ2luYXRpb24taW5wdXQtYm9yZGVyLWZvY3VzLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTQw''@;'; put 'put ''MCk7LS1jbHItZGF0YWdyaWQtcG9wb3Zlci1iZy1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItZGF0YWdyaWQtcG9wb3Zlci1ib3JkZXItY29sb3I6IHZhcigtLWNsci1kYXRhZ3JpZC1kZWZhdWx0LWJvcmRlci1jb2xvcik7LS1jbHItZGF0YWdyaWQtYWN0aW9uLXBv''@;'; put 'put ''cG92ZXItaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTIwMCk7LS1jbHItZGF0YWdyaWQtcm93LXNlbGVjdGVkOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1kYXRhZ3JpZC1sb2FkaW5nLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjYp''@;'; put 'put ''Oy0tY2xyLWRhdGFncmlkLXBvcG92ZXJzLWJveC1zaGFkb3ctY29sb3I6IHJnYmEoMTQwLCAxNDAsIDE0MCwgLjI1KTstLWNsci1kYXRhZ3JpZC1jb2x1bW4tc3dpdGNoLWhlYWRlci1mb250LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC01MDApOy0tY2xyLWRhdGFncmlkLWNvbHVt''@;'; put 'put ''bi1zd2l0Y2gtaGVhZGVyLWZvbnQtaG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwKTstLWNsci1kYXRhZ3JpZC1kZXRhaWwtY2FyZXQtaWNvbi1vcGVuLWJnLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCk7LS1jbHItZGF0YWdyaWQtZGV0YWlsLWNhcmV0''@;'; put 'put ''LWljb24tb3Blbi1pY29uLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wKTstLWNsci1kYXRhZ3JpZC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNzAwKTstLWNsci1kYXRhZ3JpZC1wbGFjZWhvbGRlci1mb250LXNpemU6IC44cmVtOy0tY2xyLWRh''@;'; put 'put ''dGFncmlkLXBhZ2luYXRpb24tYnRuLWRpc2FibGVkLW9wYWNpdHk6IC41Nn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWR7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2''@;'; put 'put ''YXIoLS1jbHItdGFibGUtYm9yZGVyd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci10YWJsZS1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLXRhYmxlLWJvcmRlci1y''@;'; put 'put ''YWRpdXMsIC4xNXJlbSk7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRhYmxlLWJnY29sb3IsIHdoaXRlKTtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci10YWJsZS1mb250LWNvbG9yLCAjNjY2NjY2KTttYXJnaW46MDttYXJnaW4tdG9wOjEuMnJl''@;'; put 'put ''bTttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZCAuZGF0YWdyaWQtY29sdW1uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQgLmRhdGFncmlkLWNlbGx7Zm9udC1zaXplOi42NXJlbTts''@;'; put 'put ''aW5lLWhlaWdodDouN3JlbTtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6LjA1cmVtO2JvcmRlci10b3Atd2lkdGg6dmFyKC0tY2xyLXRhYmxlLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci10b3AtY29sb3I6I2U4ZThlODtib3JkZXItdG9wLWNvbG9yOnZhcigt''@;'; put 'put ''LWNsci10YWJsZXJvdy1ib3JkZXJjb2xvciwgI2U4ZThlOCk7cGFkZGluZzouNTVyZW0gLjZyZW07dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246dG9wfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZCAuZGF0YWdyaWQtY29sdW1uLmxlZnQsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZCAuZGF0YWdyaWQtY2VsbC5sZWZ0e3RleHQtYWxpZ246bGVmdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQgLmRhdGFncmlkLWNvbHVtbi5sZWZ0OmZpcnN0LWNoaWxkLCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQgLmRhdGFncmlkLWNlbGwubGVmdDpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkIC5kYXRhZ3JpZC1jb2x1bW57Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1j''@;'; put 'put ''bHItdGhlYWQtY29sb3IsICM2NjY2NjYpO2ZvbnQtc2l6ZTouNTVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wM2VtO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci10aGVhZC1iZ2NvbG9yLCAjZmFmYWZhKTt2ZXJ0aWNhbC1h''@;'; put 'put ''bGlnbjpib3R0b207Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tLXdpZHRoOi4wNXJlbTtib3JkZXItYm90dG9tLXdpZHRoOnZhcigtLWNsci10YWJsZS1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItYm90dG9tLWNvbG9yOiNjY2M7Ym9yZGVyLWJvdHRvbS1jb2xv''@;'; put 'put ''cjp2YXIoLS1jbHItdGFibGUtYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItdG9wOjAgbm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQgLmRhdGFncmlkLWJvZHkgLmRhdGFncmlkLXJvdzpmaXJzdC1jaGlsZCAuZGF0YWdyaWQtY2VsbHtib3JkZXIt''@;'; put 'put ''dG9wOjAgbm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQgLmRhdGFncmlkLWJvZHkrLmRhdGFncmlkLWJvZHl7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItdG9wLXdpZHRoOi4wNXJlbTtib3JkZXItdG9wLXdpZHRoOnZhcigtLWNsci10YWJsZS1i''@;'; put 'put ''b3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItdG9wLWNvbG9yOiNjY2M7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jbHItdGFibGUtYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQgLmRhdGFncmlkLWhlYWRlciAuZGF0YWdy''@;'; put 'put ''aWQtY29sdW1uOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4xcmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6dmFyKC0tY2xyLXRhYmxlLWNvcm5lcmNlbGxyYWRpdXMsIC4xcmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZGF0YWdyaWQgLmRhdGFncmlkLWhlYWRlciAuZGF0YWdyaWQtY29sdW1uOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4xcmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNsci10YWJsZS1jb3JuZXJjZWxscmFkaXVzLCAuMXJlbSl9''@;'; put 'put ''LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkIC5kYXRhZ3JpZC1ib2R5Omxhc3QtY2hpbGQgLmRhdGFncmlkLXJvdzpsYXN0LWNoaWxkIC5kYXRhZ3JpZC1jZWxsOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4x''@;'; put 'put ''cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6dmFyKC0tY2xyLXRhYmxlLWNvcm5lcmNlbGxyYWRpdXMsIC4xcmVtKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQgLmRhdGFncmlkLWJvZHk6bGFzdC1jaGlsZCAuZGF0YWdyaWQtcm93Omxhc3QtY2hpbGQg''@;'; put 'put ''LmRhdGFncmlkLWNlbGw6bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjFyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6dmFyKC0tY2xyLXRhYmxlLWNvcm5lcmNlbGxyYWRpdXMsIC4xcmVtKX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtY29sdW1uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtY2VsbHtwYWRkaW5nLXRvcDouM3JlbTtwYWRkaW5nLWJvdHRvbTouMjVyZW19LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhvc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpjb2x1bW4gbm93cmFwO3Bvc2l0aW9uOnJlbGF0aXZlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Ym9y''@;'; put 'put ''ZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDstbXMtb3ZlcmZsb3ctc3R5bGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO292ZXJmbG93OmF1dG87ZmxleDoxIDEgYXV0bzttYXJnaW4tdG9wOi42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1jb250YWlu''@;'; put 'put ''ZXJ7d2lkdGg6YXV0bztmb250LXNpemU6LjY1cmVtO3BhZGRpbmc6LjU1cmVtIC42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0e3BhZGRpbmc6LjFyZW0gLjJyZW0gLjE1cmVtO3RleHQtYWxpZ246Y2VudGVyfS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0IC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0LWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25lOy1vLWFwcGVhcmFuY2U6''@;'; put 'put ''bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjEuNXJlbTt3aWR0aDoxLjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9u''@;'; put 'put ''LmRhdGFncmlkLWV4cGFuZGFibGUtY2FyZXQgLmRhdGFncmlkLWV4cGFuZGFibGUtY2FyZXQtYnV0dG9ue2N1cnNvcjpwb2ludGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0IC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0LWlj''@;'; put 'put ''b257Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtaWNvbi1jb2xvciwgIzhjOGM4Yyk7bWFyZ2luLXRvcDouMTVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWV4cGFuZGFibGUtY2FyZXQgLmRhdGFncmlkLWV4cGFuZGFibGUtY2Fy''@;'; put 'put ''ZXQtaWNvbiBzdmd7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0IC5zcGlubmVye21hcmdpbi10b3A6LjNyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmRhdGFncmlkLWV4cGFuZGFibGUtY2FyZXQuZGF0YWdyaWQtY29sdW1ue3BhZGRpbmc6LjU1cmVtIC42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1oZWFkZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1ib2R5''@;'; put 'put ''LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29sdW1uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY2VsbCwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZpeGVkLWNvbHVtbntkaXNwbGF5OmJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3d7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItdG9wLXdpZHRoOi4wNXJlbTtib3JkZXItdG9wLXdpZHRo''@;'; put 'put ''OnZhcigtLWNsci10YWJsZS1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItdG9wLWNvbG9yOiNjY2M7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jbHItdGFibGUtYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93OmZp''@;'; put 'put ''cnN0LW9mLXR5cGV7Ym9yZGVyLXRvcDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXJvdy1ob3ZlciwgI2U4ZThlOCl9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdzpob3ZlciAuZGF0YWdyaWQtcm93LXN0aWNreXtiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcm93LWhvdmVyLCAjZThlOGU4KX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93LmRhdGFncmlkLXNlbGVjdGVke2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXJvdy1zZWxlY3RlZCwgYmxhY2spO2JhY2tncm91bmQtY29sb3I6I2Q4ZTNlOTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1nbG9i''@;'; put 'put ''YWwtc2VsZWN0aW9uLWNvbG9yLCAjZDhlM2U5KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93LmRhdGFncmlkLXNlbGVjdGVkIC5kYXRhZ3JpZC1yb3ctc3RpY2t5e2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXJvdy1zZWxlY3RlZCwg''@;'; put 'put ''YmxhY2spO2JhY2tncm91bmQtY29sb3I6I2Q4ZTNlOTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1nbG9iYWwtc2VsZWN0aW9uLWNvbG9yLCAjZDhlM2U5KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3d7''@;'; put 'put ''cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVyLWJnLWNvbG9yLCB3aGl0ZSk7cGFkZGluZzouM3JlbTttYXJnaW4tbGVmdDouM3JlbTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3Jk''@;'; put 'put ''ZXItd2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSAjOGM4YzhjNDA7''@;'; put 'put ''Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gdmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXJzLWJveC1zaGFkb3ctY29sb3IsIHJnYmEoMTQwLCAxNDAsIDE0MCwgLjI1KSk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywg''@;'; put 'put ''LjE1cmVtKTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0''@;'; put 'put ''OjEwMCU7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tdG9wOi0uM3JlbTtib3JkZXItdG9wOi4zcmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206LjNyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LXdpZHRoOi4zcmVtO2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDti''@;'; put 'put ''b3JkZXItcmlnaHQtY29sb3I6I2NjYztib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3c6''@;'; put 'put ''YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0OjEwMCU7aGVpZ2h0OjA7d2lkdGg6MDttYXJnaW4tdG9wOi0uMjVyZW07Ym9yZGVyLXRvcDouMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTouMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7''@;'; put 'put ''Ym9yZGVyLXJpZ2h0LXdpZHRoOi4yNXJlbTtib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmY7Ym9yZGVyLXJpZ2h0LWNvbG9yOnZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVyLWJnLWNvbG9yLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1kcm9wZG93bi10ZXh0LWNvbG9yLCAjNjY2NjY2KTtmb250LXNpemU6LjdyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2JhY2tncm91bmQ6''@;'; put 'put ''dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjE1cmVtO21hcmdpbjowO3BhZGRpbmc6LjA1cmVtIDEuMnJlbSAwO3RleHQtYWxpZ246bGVmdDt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''YXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06Zm9jdXN7YmFja2dyb3VuZC1jb2xv''@;'; put 'put ''cjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLWFjdGlvbi1wb3BvdmVyLWhvdmVyLWNvbG9yLCAjZThlOGU4KTt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rp''@;'; put 'put ''b24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOiNlOGU4ZTg7YmFja2dyb3VuZDp2YXIoLS1jbHItZGF0YWdyaWQtcm93LWhvdmVyLCAjZThlOGU4KTtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1jb2xvci1uZXV0cmFsLTEwMDAsIGJsYWNrKX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtOmZvY3Vze291dGxpbmU6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cg''@;'; put 'put ''LmFjdGlvbi1pdGVtLmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40Oy13ZWJraXQtdXNlci1zZWxl''@;'; put 'put ''Y3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtLmRpc2FibGVkOmhvdmVyLCAuc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtOmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24t''@;'; put 'put ''b3ZlcmZsb3cgLmFjdGlvbi1pdGVtLmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbS5kaXNhYmxlZDpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbTpkaXNhYmxlZDphY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06''@;'; put 'put ''ZGlzYWJsZWQ6Zm9jdXN7YmFja2dyb3VuZDpub25lO2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtIGNsci1pY29ue3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtLjA1cmVtLDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''YXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvd3twb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOndoaXRlO2JhY2tncm91bmQ6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYmctY29sb3IsIHdoaXRlKTtwYWRkaW5nOi4zcmVtO21hcmdpbi1sZWZ0Oi4zcmVtO2JvcmRl''@;'; put 'put ''ci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3Zlci1ib3JkZXItY29sb3IsICNjY2NjY2Mp''@;'; put 'put ''O2JveC1zaGFkb3c6MCAuMDVyZW0gLjE1cmVtICM4YzhjOGM0MDtib3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSB2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3ZlcnMtYm94LXNoYWRvdy1jb2xvciwgcmdiYSgxNDAsIDE0MCwgMTQwLCAuMjUpKTtib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXIt''@;'; put 'put ''cmFkaXVzOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0pO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93OmJlZm9yZXtjb250''@;'; put 'put ''ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTAwJTt3aWR0aDowO2hlaWdodDowO21hcmdpbi10b3A6LS4zcmVtO2JvcmRlci10b3A6LjNyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTouM3JlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQt''@;'; put 'put ''d2lkdGg6LjNyZW07Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjojY2NjO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3Zlci1ib3JkZXItY29sb3IsICNjY2NjY2MpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''YXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdzphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTAwJTt3aWR0aDowO2hlaWdodDowO21hcmdpbi10b3A6LS4yNXJlbTtib3JkZXItdG9wOi4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDti''@;'; put 'put ''b3JkZXItYm90dG9tOi4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtd2lkdGg6LjI1cmVtO2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6I2ZmZjtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYmctY29s''@;'; put 'put ''b3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVte2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLWRyb3Bkb3duLXRleHQtY29sb3IsICM2NjY2NjYpO2ZvbnQtc2l6ZTou''@;'; put 'put ''N3JlbTtsZXR0ZXItc3BhY2luZzpub3JtYWw7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjEuMTVyZW07bWFyZ2luOjA7cGFkZGluZzouMDVyZW0gMS4ycmVtIDA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEw''@;'; put 'put ''MCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJm''@;'; put 'put ''bG93IC5hY3Rpb24taXRlbTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtYWN0aW9uLXBvcG92ZXItaG92ZXItY29sb3IsICNlOGU4ZTgpO3RleHQtZGVjb3JhdGlvbjpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uYWN0aXZle2JhY2tncm91bmQ6I2U4ZThlODtiYWNrZ3JvdW5kOnZhcigtLWNsci1kYXRhZ3JpZC1yb3ctaG92ZXIsICNlOGU4ZTgpO2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xy''@;'; put 'put ''LWNvbG9yLW5ldXRyYWwtMTAwMCwgYmxhY2spfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06Zm9jdXN7b3V0bGluZTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''YXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06ZGlzYWJsZWR7Y3Vyc29yOm5v''@;'; put 'put ''dC1hbGxvd2VkO29wYWNpdHk6LjQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9u''@;'; put 'put ''LWl0ZW0uZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtLmRp''@;'; put 'put ''c2FibGVkOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtOmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAu''@;'; put 'put ''ZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbTpkaXNhYmxlZDpmb2N1c3tiYWNrZ3JvdW5kOm5vbmU7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9u''@;'; put 'put ''LWl0ZW0gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0gY2xyLWljb257dmVydGljYWwtYWxpZ246bWlkZGxlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0uMDVyZW0s''@;'; put 'put ''MCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93e3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6d2hpdGU7YmFja2dyb3VuZDp2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3Zlci1iZy1jb2xvciwgd2hpdGUp''@;'; put 'put ''O3BhZGRpbmc6LjNyZW07bWFyZ2luLWxlZnQ6LjNyZW07Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItd2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1k''@;'; put 'put ''YXRhZ3JpZC1wb3BvdmVyLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gIzhjOGM4YzQwO2JveC1zaGFkb3c6MCAuMDVyZW0gLjE1cmVtIHZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVycy1ib3gtc2hhZG93LWNvbG9yLCByZ2JhKDE0MCwgMTQwLCAx''@;'; put 'put ''NDAsIC4yNSkpO2JvcmRlci1jb2xvcjouMTVyZW07Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0pO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAu''@;'; put 'put ''ZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTAwJTt3aWR0aDowO2hlaWdodDowO21hcmdpbi10b3A6LS4zcmVtO2JvcmRlci1yaWdodDouM3JlbSBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6I2NjYzti''@;'; put 'put ''b3JkZXItcmlnaHQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItdG9wOi4zcmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206LjNyZW0gc29saWQgdHJhbnNwYXJlbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDoxMDAlO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLXRvcDotLjI1cmVtO2JvcmRlci1yaWdodDouMjVyZW0gc29saWQg''@;'; put 'put ''d2hpdGU7Ym9yZGVyLXRvcDouMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTouMjVyZW0gc29saWQgdHJhbnNwYXJlbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRl''@;'; put 'put ''bXtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1kcm9wZG93bi10ZXh0LWNvbG9yLCAjNjY2NjY2KTtmb250LXNpemU6LjdyZW07bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztsaW5lLWhl''@;'; put 'put ''aWdodDoxLjE1cmVtO21hcmdpbjowO3BhZGRpbmc6LjA1cmVtIDEuMnJlbSAwO3RleHQtYWxpZ246bGVmdDt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06aG92ZXIs''@;'; put 'put ''IC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06Zm9jdXN7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xy''@;'; put 'put ''LWRhdGFncmlkLWFjdGlvbi1wb3BvdmVyLWhvdmVyLWNvbG9yLCAjZThlOGU4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOiNlOGU4ZTg7YmFja2dy''@;'; put 'put ''b3VuZDp2YXIoLS1jbHItZGF0YWdyaWQtcm93LWhvdmVyLCAjZThlOGU4KTtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci1kYXRhZ3JpZC1yb3ctaG92ZXItZm9udC1jb2xvciwgYmxhY2spfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlk''@;'; put 'put ''LWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06Zm9jdXN7b3V0bGluZTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25l''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQ6aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlv''@;'; put 'put ''bi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQ6YWN0aXZlLCAuc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtLmRpc2FibGVkOmZvY3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZs''@;'; put 'put ''b3cgLmFjdGlvbi1pdGVtOmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbTpkaXNhYmxlZDpmb2N1c3tiYWNrZ3JvdW5kOm5vbmU7Ym94LXNoYWRvdzpub25l''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0gY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWFjdGlvbi1vdmVy''@;'; put 'put ''ZmxvdyAuYWN0aW9uLWl0ZW0gY2xyLWljb257dmVydGljYWwtYWxpZ246bWlkZGxlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0uMDVyZW0sMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtcm93LWRldGFpbC13cmFwcGVye2ZsZXg6''@;'; put 'put ''MSAxIGF1dG87ZGlzcGxheTpmbGV4fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLXJvdy1kZXRhaWx7d2lkdGg6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1yb3ctZGV0''@;'; put 'put ''YWlsIC5kYXRhZ3JpZC1jZWxse3BhZGRpbmctdG9wOjA7Ym9yZGVyOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtc2VsZWN0e21pbi13aWR0aDouNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdy''@;'; put 'put ''aWQtcm93IC5kYXRhZ3JpZC1zaWducG9zdC10cmlnZ2VyIC5zaWducG9zdHttYXJnaW46LS4zNnJlbSAwO2hlaWdodDoxLjIzNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93IC5kYXRhZ3JpZC1zaWducG9zdC10cmlnZ2VyIC5zaWducG9zdCAuc2ln''@;'; put 'put ''bnBvc3QtdHJpZ2dlcntoZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdyAuZGF0YWdyaWQtcm93LXN0aWNreXt6LWluZGV4OjUwMH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0''@;'; put 'put ''YWdyaWQtcm93LXN0aWNreXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdGFibGUtYmdjb2xvciwgd2hpdGUpO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6bm93cmFwO3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5O3Bvc2l0aW9uOnN0aWNreTtsZWZ0OjA7''@;'; put 'put ''ei1pbmRleDo1MDJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdy1zdGlja3kgLmRhdGFncmlkLWNlbGw6bGFzdC1jaGlsZDphZnRlcntjb250ZW50OiIiO3dpZHRoOi4wNXJlbTtoZWlnaHQ6Y2FsYygxMDAlIC0gLjVyZW0pO3Bvc2l0aW9uOmFic29sdXRl''@;'; put 'put ''O3JpZ2h0OjA7dG9wOi4yNXJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdGFibGUtYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93LXNjcm9sbGFibGV7ZmxleDoxIDEg''@;'; put 'put ''YXV0bztkaXNwbGF5OmZsZXg7ZmxleC1mbG93OmNvbHVtbiBub3dyYXB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdy1zY3JvbGxhYmxlLmlzLXJlcGxhY2Vke2ZsZXgtZGlyZWN0aW9uOnJvd30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZGF0YWdyaWQtcm93LXNjcm9sbGFibGUuaXMtcmVwbGFjZWQgLmRhdGFncmlkLXNjcm9sbGluZy1jZWxsc3tmbGV4OjAgMCBhdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3ctc2Nyb2xsYWJsZSAuZGF0YWdyaWQtY29sdW1uOmxhc3QtY2hpbGQgLmRh''@;'; put 'put ''dGFncmlkLWNvbHVtbi1zZXBhcmF0b3J7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3ctZmxleHtmbGV4OjEgMSBhdXRvO2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6cm93IG5vd3JhcH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuZGF0YWdyaWQtcm93LWZsZXggLmRhdGFncmlkLXJvdy1kZXRhaWx7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgbm93cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3ctZmxleCAuZGF0YWdyaWQtcm93LWRldGFpbCAuZGF0YWdyaWQtY2Vs''@;'; put 'put ''bHtwYWRkaW5nLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1zY3JvbGxpbmctY2VsbHMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1zY3JvbGxpbmctZGV0YWlsc3tkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztm''@;'; put 'put ''bGV4LWZsb3c6cm93IG5vd3JhcH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLWJhcnttYXJnaW4tdG9wOjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLWJhcn4uZGF0YWdyaWQtc3Bpbm5lcnto''@;'; put 'put ''ZWlnaHQ6Y2FsYygxMDAlIC0gMS4ycmVtKTt0b3A6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1oZWFkZXJ7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6NTAxO3dpZHRoOmF1dG99LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhlYWRlciAuZGF0YWdyaWQtY29sdW1ue2JvcmRlci1ib3R0b206bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtaGVhZGVyIC5kYXRhZ3JpZC1yb3d7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZh''@;'; put 'put ''O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRoZWFkLWJnY29sb3IsICNmYWZhZmEpO2JvcmRlci10b3A6bm9uZTtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20td2lkdGg6LjA1cmVtO2JvcmRlci1ib3R0b20td2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3''@;'; put 'put ''aWR0aCwgLjA1cmVtKTtib3JkZXItYm90dG9tLWNvbG9yOiNjY2M7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItdGFibGUtYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtaGVhZGVyIC5kYXRhZ3JpZC1yb3cgLmRh''@;'; put 'put ''dGFncmlkLXJvdy1zdGlja3l7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLXRoZWFkLWJnY29sb3IsICNmYWZhZmEpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1oZWFkZXIgLmRhdGFncmlkLXJvdzpob3Zlcnti''@;'; put 'put ''YWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdGhlYWQtYmdjb2xvciwgI2ZhZmFmYSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhlYWRlciAuZGF0YWdyaWQtcm93OmhvdmVyIC5kYXRhZ3JpZC1yb3ctc3RpY2t5''@;'; put 'put ''e2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci10aGVhZC1iZ2NvbG9yLCAjZmFmYWZhKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtaGVhZGVyIC5kYXRhZ3JpZC1yb3ctc2Nyb2xsYWJsZXtmbGV4LWRpcmVjdGlv''@;'; put 'put ''bjpyb3d9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlLXdyYXBwZXJ7ZGlzcGxheTpmbGV4O2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZXtkaXNwbGF5OmZs''@;'; put 'put ''ZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MSAxIGF1dG87YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtYm9keXt3aWR0aDphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1ue3RleHQtYWxpZ246bGVmdDttaW4td2lkdGg6NC44cmVtO2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXI6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbjpmb2N1c3tvdXRsaW5lOi13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBzb2xpZCAuMXJlbTtvdXRsaW5lLW9mZnNldDotLjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1j''@;'; put 'put ''b2x1bW4gY2xyLWRnLWZpbHRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gY2xyLWRnLXN0cmluZy1maWx0ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdy''@;'; put 'put ''aWQtY29sdW1uIGNsci1kZy1udW1lcmljLWZpbHRlcntkaXNwbGF5OmZsZXg7b3JkZXI6OTk7bWFyZ2luLWxlZnQ6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtZmlsdGVyLWlucHV0LXNwYWNl''@;'; put 'put ''cnt3aWR0aDouNnJlbTtkaXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtbnVtZXJpYy1maWx0ZXItaW5wdXR7d2lkdGg6My45cmVtfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1maWx0ZXItdG9nZ2xley13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7LW8tYXBwZWFyYW5jZTpub25lO21hcmdpbjowO3Bh''@;'; put 'put ''ZGRpbmc6MDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQ6bm9uZTtjdXJzb3I6cG9pbnRlcjtmbG9hdDpyaWdodDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7aGVpZ2h0Oi43cmVtO3dpZHRoOi43cmVtO21hcmdpbi1sZWZ0Oi4zcmVtO2JhY2tn''@;'; put 'put ''cm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBidXR0b24uZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtZmlsdGVyLXRvZ2dsZXtjdXJzb3I6cG9pbnRlcn0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtZmlsdGVyLXRvZ2dsZSBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFn''@;'; put 'put ''cmlkLWZpbHRlci10b2dnbGUgY2xyLWljb257Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDAsICM4YzhjOGMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1maWx0''@;'; put 'put ''ZXItdG9nZ2xlOmhvdmVyIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtZmlsdGVyLXRvZ2dsZTpob3ZlciBjbHItaWNvbntjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1jb2xv''@;'; put 'put ''ci1hY3Rpb24tNjAwLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtZmlsdGVyLXRvZ2dsZS5kYXRhZ3JpZC1maWx0ZXItb3BlbiBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWZpbHRlci10b2dnbGUuZGF0YWdyaWQtZmlsdGVyLW9wZW4gY2xyLWljb257Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCwgIzAwNzJhMyl9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWZpbHRlci10b2dnbGUuZGF0YWdyaWQtZmlsdGVyZWQgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdy''@;'; put 'put ''aWQtY29sdW1uIC5kYXRhZ3JpZC1maWx0ZXItdG9nZ2xlLmRhdGFncmlkLWZpbHRlcmVkIGNsci1pY29ue2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDAsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJs''@;'; put 'put ''ZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1maWx0ZXIgLmRhdGFncmlkLWZpbHRlci1jbG9zZS13cmFwcGVye3RleHQtYWxpZ246cmlnaHR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWZpbHRl''@;'; put 'put ''ciAuZGF0YWdyaWQtZmlsdGVyLWNsb3NlLXdyYXBwZXIgLmNsb3Nle2Zsb2F0Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWZpbHRlciAuZGF0YWdyaWQtZmlsdGVyLWFwcGx5e21hcmdpbi1i''@;'; put 'put ''b3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtZmlsdGVye3RvcDoxMDAlO3JpZ2h0OjA7bWFyZ2luLXRvcDouMjRyZW07YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1k''@;'; put 'put ''YXRhZ3JpZC1wb3BvdmVyLWJnLWNvbG9yLCB3aGl0ZSk7cGFkZGluZzouOXJlbTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItd2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29s''@;'; put 'put ''b3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSAjOGM4YzhjNDA7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gdmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXJzLWJveC1zaGFkb3ctY29sb3IsIHJn''@;'; put 'put ''YmEoMTQwLCAxNDAsIDE0MCwgLjI1KSk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtmb250LXdlaWdodDo0MDB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5k''@;'; put 'put ''YXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWZpbHRlcnt0b3A6MTAwJTtyaWdodDowO21hcmdpbi10b3A6LjI0cmVtO2JhY2tncm91bmQ6d2hpdGU7YmFja2dyb3VuZDp2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3Zlci1iZy1jb2xvciwgd2hpdGUpO3BhZGRpbmc6LjlyZW07Ym9yZGVyLXdpZHRo''@;'; put 'put ''Oi4wNXJlbTtib3JkZXItd2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItc3R5bGU6c29saWQ7Ym94LXNo''@;'; put 'put ''YWRvdzowIC4wNXJlbSAuMTVyZW0gIzhjOGM4YzQwO2JveC1zaGFkb3c6MCAuMDVyZW0gLjE1cmVtIHZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVycy1ib3gtc2hhZG93LWNvbG9yLCByZ2JhKDE0MCwgMTQwLCAxNDAsIC4yNSkpO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6''@;'; put 'put ''dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7Zm9udC13ZWlnaHQ6NDAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1maWx0ZXIgLmRhdGFncmlkLWZpbHRlci1jbG9zZS13cmFw''@;'; put 'put ''cGVye3RleHQtYWxpZ246cmlnaHR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWZpbHRlciAuZGF0YWdyaWQtZmlsdGVyLWNsb3NlLXdyYXBwZXIgLmNsb3Nle2Zsb2F0Om5vbmV9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWZpbHRlciAuZGF0YWdyaWQtZmlsdGVyLWFwcGx5e21hcmdpbi1ib3R0b206MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFn''@;'; put 'put ''cmlkLWNvbHVtbi5kYXRhZ3JpZC1maXhlZC13aWR0aHtmbGV4OjAgMCBhdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1jb2x1bW4tZmxleHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0b30uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtY29sdW1uLXRpdGxley13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7LW8tYXBwZWFyYW5jZTpu''@;'; put 'put ''b25lO21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQ6bm9uZTtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci10YWJsZS1mb250LWNvbG9yLCAjNjY2NjY2KTt0ZXh0LWFsaWduOmxlZnQ7ZmxleDoxIDEgYXV0''@;'; put 'put ''bzthbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7ZGlzcGxheTpmbGV4fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJ1dHRvbi5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1jb2x1bW4tdGl0bGV7Y3Vyc29yOnBvaW50ZXJ9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWNvbHVtbi10aXRsZSAuc2lnbnBvc3QgLnNpZ25wb3N0LWFjdGlvbi5idG57aGVpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdH0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtY29sdW1uLXRpdGxlIC5jbHItY2hlY2tib3gtd3JhcHBlciAuY2xyLWNvbnRyb2wtbGFiZWx7bWFyZ2luLXRvcDotLjQ4cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIGJ1dHRvbi5kYXRhZ3JpZC1jb2x1bW4tdGl0bGU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRh''@;'; put 'put ''dGFncmlkLWNvbHVtbiBidXR0b24uZGF0YWdyaWQtY29sdW1uLXRpdGxlIC5zb3J0LWljb257Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCwgIzAwNzJhMyk7bWFyZ2luLWxlZnQ6YXV0bztoZWlnaHQ6LjdyZW07d2lkdGg6LjdyZW07dmVydGljYWwtYWxp''@;'; put 'put ''Z246bWlkZGxlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1jb2x1bW4tc2VwYXJhdG9ye3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6LjZyZW07ZmxleDowIDAgYXV0bzt3aWR0aDouMDVyZW07d2lkdGg6''@;'; put 'put ''dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtvcmRlcjoxMDA7bWFyZ2luLWxlZnQ6YXV0bztoZWlnaHQ6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtY29sdW1uLXNlcGFy''@;'; put 'put ''YXRvcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDpjYWxjKDEwMCUgKyAuNnJlbSAtIC4wNXJlbSk7d2lkdGg6LjA1cmVtO3RvcDotLjI1cmVtO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItdGFibGUtYm9y''@;'; put 'put ''ZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtY29sdW1uLXNlcGFyYXRvciAuZGF0YWdyaWQtY29sdW1uLWhhbmRsZXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96''@;'; put 'put ''LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25lOy1vLWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6LjY1cmVt''@;'; put 'put ''O3JpZ2h0Oi0uM3JlbTt0b3A6LS4zcmVtO2N1cnNvcjpjb2wtcmVzaXplO2hlaWdodDpjYWxjKDEwMCUgKyAuNnJlbSAtIC4wNXJlbSk7ei1pbmRleDo1MDF9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgYnV0dG9uLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRh''@;'; put 'put ''dGFncmlkLWNvbHVtbi1zZXBhcmF0b3IgLmRhdGFncmlkLWNvbHVtbi1oYW5kbGV7Y3Vyc29yOnBvaW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLWNvbHVtbi1zZXBhcmF0b3IgLmRhdGFncmlk''@;'; put 'put ''LWNvbHVtbi1yZXNpemUtdHJhY2tlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LS42cmVtO2Rpc3BsYXk6bm9uZTt3aWR0aDouMDVyZW07aGVpZ2h0OjA7Ym9yZGVyLXJpZ2h0LXN0eWxlOmRvdHRlZDtib3JkZXItcmlnaHQtY29sb3I6Izc5YzZlNjtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0t''@;'; put 'put ''Y2xyLWNvbG9yLWFjdGlvbi0zMDAsICM3OWM2ZTYpO2JvcmRlci1yaWdodC13aWR0aDouMDVyZW07Ym9yZGVyLXJpZ2h0LXdpZHRoOnZhcigtLWNsci1nbG9iYWwtYm9yZGVyd2lkdGgsIC4wNXJlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTtjdXJzb3I6Y29sLXJlc2l6ZX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbiAuZGF0YWdyaWQtY29sdW1uLXNlcGFyYXRvciAuZGF0YWdyaWQtY29sdW1uLXJlc2l6ZS10cmFja2VyLm9uLWFycm93LWtleS1yZXNpemV7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2Ut''@;'; put 'put ''b3V0fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1jb2x1bW4tc2VwYXJhdG9yIC5leGNlZWRlZC1tYXh7Ym9yZGVyLXJpZ2h0Oi4wNXJlbSBkb3R0ZWQgcmdiYSgyMTksMzMsMCwuMyl9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jb2x1bW4gLmRhdGFncmlkLXNpZ25wb3N0LXRyaWdnZXIgLnNpZ25wb3N0e21hcmdpbjotLjM2cmVtIDA7aGVpZ2h0OjEuMjM2cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRh''@;'; put 'put ''Z3JpZC10YWJsZSAuZGF0YWdyaWQtY29sdW1uIC5kYXRhZ3JpZC1zaWducG9zdC10cmlnZ2VyIC5zaWducG9zdCAuc2lnbnBvc3QtdHJpZ2dlcntoZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxl''@;'; put 'put ''IC5kYXRhZ3JpZC1jb2x1bW4uZGF0YWdyaWQtc2VsZWN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbi5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0''@;'; put 'put ''YWdyaWQtdGFibGUgLmRhdGFncmlkLWNvbHVtbi5kYXRhZ3JpZC1yb3ctYWN0aW9uc3ttYXgtd2lkdGg6MS45cmVtO21pbi13aWR0aDoxLjlyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jZWxse2ZsZXg6MSAxIGF1dG87dGV4''@;'; put 'put ''dC1hbGlnbjpsZWZ0O21pbi13aWR0aDo0LjhyZW07Ym9yZGVyOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jZWxsLmRhdGFncmlkLWZpeGVkLXdpZHRoe2ZsZXg6MCAwIGF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jZWxsLmRhdGFncmlkLWZpeGVkLWNvbHVtbntmbGV4OjAgMCAxLjlyZW07bWF4LXdpZHRoOjEuOXJlbTttaW4td2lkdGg6MS45cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0''@;'; put 'put ''YWdyaWQtY2VsbC5kYXRhZ3JpZC1yb3ctYWN0aW9uc3tiYWNrZ3JvdW5kOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jZWxsLmRhdGFncmlkLWV4cGFuZGFibGUtY2FyZXR7cGFkZGluZzouMXJlbSAuMnJlbSAuMTVyZW07''@;'; put 'put ''dGV4dC1hbGlnbjpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1jZWxsOmZvY3Vze291dGxpbmU6LXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIHNvbGlkIC4xcmVtO291dGxpbmUtb2Zmc2V0Oi0uMXJlbX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNlbGwgLmRhdGFncmlkLWFjdGlvbi10b2dnbGV7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTstby1hcHBlYXJhbmNlOm5vbmU7bWFy''@;'; put 'put ''Z2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93Om5vbmU7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIGJ1dHRvbi5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY2VsbCAuZGF0YWdyaWQtYWN0aW9uLXRv''@;'; put 'put ''Z2dsZXtjdXJzb3I6cG9pbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNlbGwgLmRhdGFncmlkLWFjdGlvbi10b2dnbGUgY2RzLWljb24sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJs''@;'; put 'put ''ZSAuZGF0YWdyaWQtY2VsbCAuZGF0YWdyaWQtYWN0aW9uLXRvZ2dsZSBjbHItaWNvbntjb2xvcjojOGM4YzhjO2NvbG9yOnZhcigtLWNsci1kYXRhZ3JpZC1pY29uLWNvbG9yLCAjOGM4YzhjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFn''@;'; put 'put ''cmlkLWNlbGwgLmRhdGFncmlkLWFjdGlvbi10b2dnbGU6YWN0aXZlIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLWNlbGwgLmRhdGFncmlkLWFjdGlvbi10b2dnbGU6YWN0aXZlIGNsci1pY29ue2NvbG9yOiM2NjY7''@;'; put 'put ''Y29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLWFjdGlvbi10b2dnbGUsICM2NjY2NjYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtY2VsbCAuY2xyLXRvZ2dsZS13cmFwcGVye21hcmdpbi10b3A6LS42NnJlbTtwYWRkaW5nLXRvcDou''@;'; put 'put ''NDJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1wbGFjZWhvbGRlci1jb250YWluZXJ7ZmxleDoxIDEgYXV0bztkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItdG9wLXN0eWxlOnNvbGlkO2JvcmRl''@;'; put 'put ''ci10b3AtY29sb3I6I2NjYztib3JkZXItdG9wLWNvbG9yOnZhcigtLWNsci10YWJsZS1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci10b3Atd2lkdGg6LjA1cmVtO2JvcmRlci10b3Atd2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLXBsYWNlaG9sZGVye2JhY2tncm91bmQ6d2hpdGU7YmFja2dyb3VuZDp2YXIoLS1jbHItdGFibGUtYmdjb2xvciwgd2hpdGUpO3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRh''@;'; put 'put ''dGFncmlkLXRhYmxlIC5kYXRhZ3JpZC1wbGFjZWhvbGRlci5kYXRhZ3JpZC1lbXB0eXtib3JkZXItdG9wOjA7cGFkZGluZzouNnJlbTtkaXNwbGF5OmZsZXg7ZmxleC1mbG93OmNvbHVtbiBub3dyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2ZvbnQt''@;'; put 'put ''c2l6ZTouOHJlbTtmb250LXNpemU6dmFyKC0tY2xyLWRhdGFncmlkLXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSwgLjhyZW0pO2NvbG9yOiNiM2IzYjM7Y29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBsYWNlaG9sZGVyLWNvbG9yLCAjYjNiM2IzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuZGF0YWdyaWQtdGFibGUgLmRhdGFncmlkLXBsYWNlaG9sZGVyIC5kYXRhZ3JpZC1wbGFjZWhvbGRlci1pbWFnZXtoZWlnaHQ6M3JlbTt3aWR0aDozcmVtO21hcmdpbi1ib3R0b206LjZyZW07YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWlu''@;'; put 'put ''O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNzIlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNB''@;'; put 'put ''JTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NkZWZzJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDZWxsaXBzZSUyMGlk''@;'; put 'put ''JTNEJTIycGF0aC0xJTIyJTIwY3glM0QlMjIzMCUyMiUyMGN5JTNEJTIyNjEuNzY2NjY2NyUyMiUyMHJ4JTNEJTIyMTUuNDUxMjkwNCUyMiUyMHJ5JTNEJTIyNC43MzMzMzMzMyUyMiUzRSUzQyUyRmVsbGlwc2UlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NtYXNrJTIwaWQlM0Ql''@;'; put 'put ''MjJtYXNrLTIlMjIlMjBtYXNrQ29udGVudFVuaXRzJTNEJTIydXNlclNwYWNlT25Vc2UlMjIlMjBtYXNrVW5pdHMlM0QlMjJvYmplY3RCb3VuZGluZ0JveCUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjAlMjIlMjB3aWR0aCUzRCUyMjMwLjkwMjU4MDglMjIlMjBoZWlnaHQlM0QlMjI5LjQ2''@;'; put 'put ''NjY2NjY3JTIyJTIwZmlsbCUzRCUyMndoaXRlJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJTIyJTIzcGF0aC0xJTIyJTNFJTNDJTJGdXNlJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGbWFzayUz''@;'; put 'put ''RSUwQSUyMCUyMCUyMCUyMCUzQyUyRmRlZnMlM0UlMEElMjAlMjAlMjAlMjAlM0NnJTIwaWQlM0QlMjJQYWdlLTElMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMSUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUz''@;'; put 'put ''RSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2clMjBpZCUzRCUyMkFydGJvYXJkJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDdXNlJTIwaWQlM0QlMjJPdmFsLTEwJTIyJTIwc3Ryb2tlJTNEJTIyJTIzQzFERkVGJTIyJTIwbWFzayUzRCUyMnVy''@;'; put 'put ''bCglMjNtYXNrLTIpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMi44JTIyJTIwc3Ryb2tlLWxpbmVjYXAlM0QlMjJzcXVhcmUlMjIlMjBzdHJva2UtZGFzaGFycmF5JTNEJTIyMyUyQzYlMkMzJTJDNSUyMiUyMHhsaW5rJTNBaHJlZiUzRCUyMiUyM3BhdGgtMSUyMiUzRSUzQyUyRnVzZSUzRSUw''@;'; put 'put ''QSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BhdGglMjBkJTNEJTIyTTM4LjQ2MTM2NDclMkMxOC4xNjQyNDU2JTIwTDMwLjk4OTAxMzclMkMzNC45MTQxODQ2JTIwTDMxJTJDNDclMjBMMzIuNTk3Nzc4MyUyQzQ2LjUxNjcyMzYlMjBMMzIuNTk3Nzc4MyUyQzM0Ljkx''@;'; put 'put ''NDE4NDYlMjBMNTEuMDY3MzIxOCUyQzE1Ljc1NjA0MjUlMjBDNTEuMDY3MzIxOCUyQzE1Ljc1NjA0MjUlMjA0OC42Mjk1MTY2JTJDMTYuNjU0Mjk2OSUyMDQ0Ljk2Mjg5MDYlMkMxNy4zMzkyMzM0JTIwQzQxLjI5NjI2NDYlMkMxOC4wMjQxNjk5JTIwMzguNDYxMzY0NyUyQzE4LjE2NDI0NTYl''@;'; put 'put ''MjAzOC40NjEzNjQ3JTJDMTguMTY0MjQ1NiUyMFolMjIlMjBpZCUzRCUyMlBhdGgtMTk1JTIyJTIwZmlsbCUzRCUyMiUyM0MxREZFRiUyMiUzRSUzQyUyRnBhdGglM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NwYXRoJTIwZCUzRCUyMk00Ljc0NjM5MjI2JTJD''@;'; put 'put ''MTIuNTY2MTg1NSUyMEw0LjYyMDY1NzI2JTJDMTIuMTYwNTM0OCUyMEw1LjM1MTU0MTQlMkMxMS4xNjI1MDQ0JTIwTDUuNzc2MjIzODUlMkMxMS4xNTk5MzklMjBMNi4yMDkzNjMwOSUyQzEyLjU1NzM0ODElMjBMNC43NDYzOTIyNiUyQzEyLjU2NjE4NTUlMjBaJTIwTTYuMjA5MzYzMDklMkMx''@;'; put 'put ''Mi41NTczNDgxJTIwTDYuMzI1NDI2MzIlMkMxMi45MzE3OTU0JTIwTDI4LjQ5NjM4NTUlMkMzNC44Nzk2NzE4JTIwTDI4LjQ5NjM4NTUlMkM0Ny44MDk2NjkxJTIwTDMyLjYlMkM0Ni40ODM2NTEzJTIwTDMyLjYlMkMzNC44OTkyMzY1JTIwTDUzLjk3MzQ5NCUyQzEyLjcwMzU4MTMlMjBMNTMu''@;'; put 'put ''OTczNDk0JTJDMTIuMjY4ODIwMSUyMEw2LjIwOTM2MzA5JTJDMTIuNTU3MzQ4MSUyMFolMjBNNTUuMzczNDk0JTJDMTAuODYwMzM3NiUyMEw1NS4zNzM0OTQlMkMxMy4yNjgwNjY0JTIwTDM0JTJDMzUuNDYzNzIxNiUyMEwzNCUyQzQ3LjUwMjU0MDElMjBMMjcuMDk2Mzg1NSUyQzQ5LjczMzMz''@;'; put 'put ''MzMlMjBMMjcuMDk2Mzg1NSUyQzM1LjQ2MzcyMTklMjBMNS4wOTE3OTY4OCUyQzEzLjY4MDU0MiUyMEw0LjMxMzI1MzAxJTJDMTEuMTY4Nzc2NCUyMEw1NS4zNzM0OTQlMkMxMC44NjAzMzc2JTIwWiUyMiUyMGlkJTNEJTIyUGF0aC0xNDklMjIlMjBmaWxsJTNEJTIyJTIzN0ZCREREJTIyJTNF''@;'; put 'put ''JTNDJTJGcGF0aCUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ2VsbGlwc2UlMjBpZCUzRCUyMk92YWwtOSUyMiUyMGZpbGwlM0QlMjIlMjNGRkZGRkYlMjIlMjBjeCUzRCUyMjMwJTIyJTIwY3klM0QlMjIxMS43ODU2NTQlMjIlMjByeCUzRCUyMjI2JTIyJTIw''@;'; put 'put ''cnklM0QlMjI2Ljc4NTY1NDAxJTIyJTNFJTNDJTJGZWxsaXBzZSUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ3BhdGglMjBkJTNEJTIyTTMwJTJDMTcuMTcxMzA4JTIwQzM2Ljg3NzIxNzclMkMxNy4xNzEzMDglMjA0My4zMTEyMjgyJTJDMTYuNDYxMDcwMSUy''@;'; put 'put ''MDQ4LjAzMTIzNzElMkMxNS4yMjkyMTA2JTIwQzUwLjI3Nzc2MTElMkMxNC42NDI4OTc3JTIwNTIuMDUwNzYxOSUyQzEzLjk1Nzk2NzclMjA1My4yMjE2MjMxJTJDMTMuMjM1NDk3MyUyMEM1NC4xOTM4NTY1JTJDMTIuNjM1NTg4NiUyMDU0LjYlMkMxMi4xMTc1ODkxJTIwNTQuNiUyQzExLjc4''@;'; put 'put ''NTY1NCUyMEM1NC42JTJDMTEuNDUzNzE4OSUyMDU0LjE5Mzg1NjUlMkMxMC45MzU3MTk0JTIwNTMuMjIxNjIzMSUyQzEwLjMzNTgxMDclMjBDNTIuMDUwNzYxOSUyQzkuNjEzMzQwMzIlMjA1MC4yNzc3NjExJTJDOC45Mjg0MTAzNCUyMDQ4LjAzMTIzNzElMkM4LjM0MjA5NzQ2JTIwQzQzLjMx''@;'; put 'put ''MTIyODIlMkM3LjExMDIzNzk1JTIwMzYuODc3MjE3NyUyQzYuNCUyMDMwJTJDNi40JTIwQzIzLjEyMjc4MjMlMkM2LjQlMjAxNi42ODg3NzE4JTJDNy4xMTAyMzc5NSUyMDExLjk2ODc2MjklMkM4LjM0MjA5NzQ2JTIwQzkuNzIyMjM4ODYlMkM4LjkyODQxMDM0JTIwNy45NDkyMzgxNCUyQzku''@;'; put 'put ''NjEzMzQwMzIlMjA2Ljc3ODM3Njg5JTJDMTAuMzM1ODEwNyUyMEM1LjgwNjE0MzUlMkMxMC45MzU3MTk0JTIwNS40JTJDMTEuNDUzNzE4OSUyMDUuNCUyQzExLjc4NTY1NCUyMEM1LjQlMkMxMi4xMTc1ODkxJTIwNS44MDYxNDM1JTJDMTIuNjM1NTg4NiUyMDYuNzc4Mzc2ODklMkMxMy4yMzU0''@;'; put 'put ''OTczJTIwQzcuOTQ5MjM4MTQlMkMxMy45NTc5Njc3JTIwOS43MjIyMzg4NiUyQzE0LjY0Mjg5NzclMjAxMS45Njg3NjI5JTJDMTUuMjI5MjEwNiUyMEMxNi42ODg3NzE4JTJDMTYuNDYxMDcwMSUyMDIzLjEyMjc4MjMlMkMxNy4xNzEzMDglMjAzMCUyQzE3LjE3MTMwOCUyMFolMjBNMzAlMkMx''@;'; put 'put ''OC41NzEzMDglMjBDMTUuNjQwNTk2NSUyQzE4LjU3MTMwOCUyMDQlMkMxNS41MzMyNjcyJTIwNCUyQzExLjc4NTY1NCUyMEM0JTJDOC4wMzgwNDA3OCUyMDE1LjY0MDU5NjUlMkM1JTIwMzAlMkM1JTIwQzQ0LjM1OTQwMzUlMkM1JTIwNTYlMkM4LjAzODA0MDc4JTIwNTYlMkMxMS43ODU2NTQl''@;'; put 'put ''MjBDNTYlMkMxNS41MzMyNjcyJTIwNDQuMzU5NDAzNSUyQzE4LjU3MTMwOCUyMDMwJTJDMTguNTcxMzA4JTIwWiUyMiUyMGlkJTNEJTIyT3ZhbC05LUNvcHklMjIlMjBmaWxsJTNEJTIyJTIzN0ZCREREJTIyJTNFJTNDJTJGcGF0aCUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUy''@;'; put 'put ''MCUyMCUyMCUzQ3BhdGglMjBkJTNEJTIyTTE4LjI2MDg2NDMlMkM3LjE0NTYyOTg4JTIwTDIyLjcyNzM1NiUyQzE2LjkwNDcyNDElMjBDMjIuNzI3MzU2JTJDMTYuOTA0NzI0MSUyMDE1LjMwMDY1OTIlMkMxNi4zOTExNzQzJTIwMTAuMjc2MDAxJTJDMTQuNzUxMTU5NyUyMEM1LjI1MTM0Mjc3''@;'; put 'put ''JTJDMTMuMTExMTQ1JTIwNS4zODAzMTAwNiUyQzExLjgyODQzMDIlMjA1LjM4MDMxMDA2JTJDMTEuNjg4MjkzNSUyMEM1LjM4MDMxMDA2JTJDMTAuNDgzMjgzMSUyMDguMTY2MzMxNTIlMkM5LjQxODc3NzE2JTIwMTEuMTE0NTYzJTJDOC41NzMyNDIxOSUyMEMxNC41NDkzMTklMkM3LjU4ODE3''@;'; put 'put ''NDkyJTIwMTguMjYwODY0MyUyQzcuMTQ1NjI5ODglMjAxOC4yNjA4NjQzJTJDNy4xNDU2Mjk4OCUyMFolMjIlMjBpZCUzRCUyMlBhdGgtMTk2JTIyJTIwZmlsbCUzRCUyMiUyM0MxREZFRiUyMiUzRSUzQyUyRnBhdGglM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZnJTNFJTBB''@;'; put 'put ''JTIwJTIwJTIwJTIwJTNDJTJGZyUzRSUwQSUzQyUyRnN2ZyUzRSIpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtaGlkZGVuLWNvbHVtbi5kYXRhZ3JpZC1jb2x1bW4sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''YXRhZ3JpZC10YWJsZSAuZGF0YWdyaWQtaGlkZGVuLWNvbHVtbi5kYXRhZ3JpZC1jZWxse2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93LXJlcGxhY2VkIC5kYXRhZ3JpZC1zY3JvbGxpbmctY2VsbHMgLmRhdGFncmlkLWNlbGw6bm90''@;'; put 'put ''KC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0KTpub3QoLmRhdGFncmlkLXJvdy1hY3Rpb25zKTpub3QoLmRhdGFncmlkLXNlbGVjdCl7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3ctcmVwbGFjZWQgLmRhdGFncmlkLXJvdy1kZXRh''@;'; put 'put ''aWwgLmRhdGFncmlkLWNlbGx7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDouNTVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdy1yZXBsYWNlZCAuZGF0YWdyaWQtcm93LWRldGFpbCAuZGF0YWdyaWQtY2VsbC5kYXRhZ3JpZC1oaWRkZW4tY29sdW1u''@;'; put 'put ''e2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93LXJlcGxhY2VkIC5kYXRhZ3JpZC1yb3ctZGV0YWlsIC5kYXRhZ3JpZC1leHBhbmRhYmxlLWNhcmV0e3BhZGRpbmctdG9wOi4xcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5kYXRhZ3JpZC1yb3ctcmVwbGFjZWQgLmRhdGFncmlkLXJvdy1kZXRhaWwuZGF0YWdyaWQtY29udGFpbmVye2JvcmRlci10b3A6LjA1cmVtIHNvbGlkICNjY2NjY2N9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdy1yZXBsYWNlZCAuZGF0YWdyaWQt''@;'; put 'put ''cm93LWRldGFpbC5kYXRhZ3JpZC1jb250YWluZXIgLmRhdGFncmlkLWNlbGx7Ym9yZGVyLXRvcDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXJ7ZmxleDowIDAgYXV0bztkaXNwbGF5OmZsZXg7ZmxleC1mbG93OnJvdyBub3dyYXA7anVzdGlm''@;'; put 'put ''eS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6c3RyZXRjaDtwYWRkaW5nOjAgLjZyZW07bGluZS1oZWlnaHQ6MS42NXJlbTtmb250LXNpemU6LjU1cmVtO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci10aGVhZC1iZ2NvbG9yLCAj''@;'; put 'put ''ZmFmYWZhKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci10YWJsZS1mb290ZXItYm9yZGVyLXRvcC1jb2xvciwgI2NjY2NjYyk7Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItd2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3''@;'; put 'put ''aWR0aCwgLjA1cmVtKTtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4xNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtib3JkZXItYm90dG9tLWxlZnQt''@;'; put 'put ''cmFkaXVzOi4xNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLnBhZ2luYXRpb257ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1z''@;'; put 'put ''OmNlbnRlcjtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGluZS1oZWlnaHQ6MS44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLnBhZ2luYXRpb24tc2l6ZXtkaXNwbGF5OmJsb2NrO2ZsZXg6MSAxIGF1dG87d2hp''@;'; put 'put ''dGUtc3BhY2U6bm93cmFwO3RleHQtYWxpZ246cmlnaHR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3RlciAucGFnaW5hdGlvbi1zaXplIC5jbHItc2VsZWN0LXdyYXBwZXI6YWZ0ZXJ7dG9wOi42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5kYXRhZ3JpZC1mb290ZXIgLnBhZ2luYXRpb24tc2l6ZSAuY2xyLXBhZ2Utc2l6ZS1zZWxlY3R7Zm9udC1zaXplOjEwMCU7bWFyZ2luLWxlZnQ6LjZyZW07aGVpZ2h0OjEuMnJlbTtsaW5lLWhlaWdodDoxLjJyZW07dmVydGljYWwtYWxpZ246bWlkZGxlfS5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLnBhZ2luYXRpb24tc2l6ZSsucGFnaW5hdGlvbi1kZXNjcmlwdGlvbnttYXJnaW4tbGVmdDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3RlciAucGFnaW5hdGlvbi1kZXNjcmlwdGlv''@;'; put 'put ''bnt3aGl0ZS1zcGFjZTpub3dyYXB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3RlciAucGFnaW5hdGlvbi1saXN0e21hcmdpbi1sZWZ0OjEuMnJlbTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3RlciAuY29s''@;'; put 'put ''dW1uLXN3aXRjaC13cmFwcGVyLmFjdGl2ZSAuY29sdW1uLXRvZ2dsZS0tYWN0aW9uIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBwZXIuYWN0aXZlIC5jb2x1bW4tdG9nZ2xlLS1hY3Rpb24gY2xy''@;'; put 'put ''LWljb257Y29sb3I6IzAwNzJhMztjb2xvcjp2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCwgIzAwNzJhMyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3RlciAuY29sdW1uLXN3aXRjaC13cmFwcGVyIC5jb2x1bW4tdG9nZ2xlLS1hY3Rpb257bWluLXdp''@;'; put 'put ''ZHRoOi45cmVtO3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBwZXIgLmNvbHVtbi10b2dnbGUtLWFjdGlvbiBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3RlciAuY29sdW1uLXN3aXRjaC13cmFwcGVyIC5jb2x1bW4tdG9nZ2xlLS1hY3Rpb24gY2xyLWljb257Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDAsICM4YzhjOGMpfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlciAuY29sdW1uLXRvZ2dsZS0tYWN0aW9uOmhvdmVyIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBwZXIg''@;'; put 'put ''LmNvbHVtbi10b2dnbGUtLWFjdGlvbjpob3ZlciBjbHItaWNvbntjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci1jb2xvci1hY3Rpb24tNjAwLCAjMDA3MmEzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBw''@;'; put 'put ''ZXIgLmNvbHVtbi1zd2l0Y2h7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3Zlci1iZy1jb2xv''@;'; put 'put ''ciwgd2hpdGUpO2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3Zlci1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci13aWR0aDouMDVyZW07Ym9yZGVyLXdpZHRoOnZhcigtLWNsci1nbG9iYWwtYm9yZGVyd2lkdGgsIC4wNXJlbSk7Ym94''@;'; put 'put ''LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gIzhjOGM4YzQwO2JveC1zaGFkb3c6MCAuMDVyZW0gLjE1cmVtIHZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVycy1ib3gtc2hhZG93LWNvbG9yLCByZ2JhKDE0MCwgMTQwLCAxNDAsIC4yNSkpO3BhZGRpbmc6LjlyZW07Ym9yZGVyLXN0eWxlOnNvbGlk''@;'; put 'put ''O2JvcmRlci10b3A6bm9uZTt3aWR0aDoxMi41cmVtO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ei1pbmRleDoxMDUwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlciAuY29sdW1uLXN3aXRj''@;'; put 'put ''aCAuc3dpdGNoLWhlYWRlciBidXR0b257bWluLXdpZHRoOi45cmVtO21hcmdpbjowO3BhZGRpbmc6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBwZXIgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1jb250ZW50e21h''@;'; put 'put ''eC1oZWlnaHQ6MTVyZW07b3ZlcmZsb3cteTphdXRvO21pbi1oZWlnaHQ6Mi40cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlciAuY29sdW1uLXN3aXRjaHtib3JkZXItcmFkaXVzOi4xNXJlbTtib3JkZXIt''@;'; put 'put ''cmFkaXVzOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVyLWJnLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLXdpZHRoOi4wNXJlbTtib3JkZXItd2lkdGg6dmFy''@;'; put 'put ''KC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItc3R5bGU6c29saWQ7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gIzhj''@;'; put 'put ''OGM4YzQwO2JveC1zaGFkb3c6MCAuMDVyZW0gLjE1cmVtIHZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVycy1ib3gtc2hhZG93LWNvbG9yLCByZ2JhKDE0MCwgMTQwLCAxNDAsIC4yNSkpO3BhZGRpbmc6LjlyZW07d2lkdGg6MTIuNXJlbTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29s''@;'; put 'put ''dW1uO3otaW5kZXg6MTA1MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBwZXIgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2Zv''@;'; put 'put ''bnQtd2VpZ2h0OjQwMDtmb250LXNpemU6LjhyZW07cGFkZGluZy1ib3R0b206LjZyZW07bGluZS1oZWlnaHQ6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlciAuY29sdW1uLXN3aXRjaCAuc3dpdGNo''@;'; put 'put ''LWhlYWRlciBidXR0b257bWluLXdpZHRoOi45cmVtO21hcmdpbjowO3BhZGRpbmc6MDtjb2xvcjojYjNiM2IzO2NvbG9yOnZhcigtLWNsci1kYXRhZ3JpZC1jb2x1bW4tc3dpdGNoLWhlYWRlci1mb250LWNvbG9yLCAjYjNiM2IzKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBwZXIgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1oZWFkZXIgYnV0dG9uOmhvdmVye2NvbG9yOiMwMDcyYTM7Y29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLWNvbHVtbi1zd2l0Y2gtaGVhZGVyLWZvbnQtaG92ZXItY29sb3IsICMwMDcy''@;'; put 'put ''YTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlciAuY29sdW1uLXN3aXRjaCAuc3dpdGNoLWNvbnRlbnR7bWF4LWhlaWdodDoxNXJlbTtvdmVyZmxvdy15OmF1dG87bWluLWhlaWdodDoxLjI1cmVtfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlciAuY29sdW1uLXN3aXRjaCAuc3dpdGNoLWNvbnRlbnQgbGl7bGluZS1oZWlnaHQ6MS4ycmVtO3BhZGRpbmctbGVmdDouMXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jb2x1bW4tc3dpdGNoLXdyYXBwZXIgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1mb290ZXIgLmJ0bnttYXJnaW46MDtwYWRkaW5nOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3RlciAuY29sdW1uLXN3aXRj''@;'; put 'put ''aC13cmFwcGVyIC5jb2x1bW4tc3dpdGNoIC5zd2l0Y2gtZm9vdGVyIC5hY3Rpb24tcmlnaHR7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZm9vdGVyIC5jbHItZm9ybS1jb250cm9sLWRpc2Fi''@;'; put 'put ''bGVke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNvbnRyb2wtZGlzYWJsZWQgLmRhdGFncmlkLWZvb3Rlci1zZWxlY3QuY2xyLWNoZWNrYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1j''@;'; put 'put ''aGVja2JveF06Y2hlY2tlZCtsYWJlbHtjdXJzb3I6ZGVmYXVsdDttYXJnaW4tcmlnaHQ6LjQ1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIC5kYXRhZ3JpZC1mb290ZXItc2VsZWN0LmNsci1jaGVja2JveC13cmFwcGVyIGlu''@;'; put 'put ''cHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWw6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzhjOGM4YztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1jb2xvci1uZXV0cmFsLTYwMCwgIzhjOGM4Yyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1mb3JtLWNv''@;'; put 'put ''bnRyb2wtZGlzYWJsZWQgLmRhdGFncmlkLWZvb3Rlci1zZWxlY3QuY2xyLWNoZWNrYm94LXdyYXBwZXIgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbDphZnRlcntib3JkZXItbGVmdC1jb2xvcjojZmZmO2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLWNsci1jb2xvci1uZXV0cmFs''@;'; put 'put ''LTAsIHdoaXRlKTtib3JkZXItYm90dG9tLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0wLCB3aGl0ZSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxh''@;'; put 'put ''eTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7dG9wOi42cmVtO2hlaWdodDpjYWxjKDEwMCUgLSAuNnJlbSk7YmFja2dyb3VuZC1jb2xvcjojZmZmOTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci1kYXRhZ3JpZC1sb2FkaW5nLWJh''@;'; put 'put ''Y2tncm91bmQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjYpKTt6LWluZGV4OjU5MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtc2VsZWN0IC5jbHItY29udHJvbC1sYWJlbHttaW4taGVpZ2h0Oi42cmVtO21hcmdpbi10b3A6LS4yNHJlbTtwYWRkaW5nLWxlZnQ6''@;'; put 'put ''LjdyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWNvbXBhY3QgLmRhdGFncmlkLWhlYWRlcnttaW4taGVpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtY29sdW1uIC5kYXRh''@;'; put 'put ''Z3JpZC1jb2x1bW4tc2VwYXJhdG9yOmFmdGVye2hlaWdodDpjYWxjKDEwMCUgKyAuMjVyZW0pO3RvcDotLjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWNvbXBhY3QgLmRhdGFncmlkLWNlbGwgY2xyLWljb257bWFyZ2luLXRvcDotLjJyZW07bWFyZ2lu''@;'; put 'put ''LWJvdHRvbTotLjE1cmVtO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uMDVyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1jb21wYWN0IC5kYXRhZ3JpZC1jZWxsIGNkcy1pY29ue21hcmdpbi10b3A6LS4ycmVtO21hcmdpbi1ib3R0b206LS4xNXJlbX0uc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtY2VsbCAuYmFkZ2V7bWFyZ2luLXRvcDotLjE1cmVtO21hcmdpbi1ib3R0b206LS4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0''@;'; put 'put ''YWdyaWQtZXhwYW5kYWJsZS1jYXJldHt0ZXh0LWFsaWduOmNlbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtZXhwYW5kYWJsZS1jYXJldCAuc3Bpbm5lcnttYXJnaW4tdG9wOi4xNXJlbX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtZXhwYW5kYWJsZS1jYXJldCAuZGF0YWdyaWQtZXhwYW5kYWJsZS1jYXJldC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTstby1hcHBl''@;'; put 'put ''YXJhbmNlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93Om5vbmU7YmFja2dyb3VuZDpub25lO2hlaWdodDoxLjJyZW07d2lkdGg6MS4ycmVtO291dGxpbmUtb2Zmc2V0Oi0uMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICBidXR0b24uZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtZXhwYW5kYWJsZS1jYXJldCAuZGF0YWdyaWQtZXhwYW5kYWJsZS1jYXJldC1idXR0b257Y3Vyc29yOnBvaW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWNvbXBhY3QgLmRhdGFn''@;'; put 'put ''cmlkLWV4cGFuZGFibGUtY2FyZXQgLmRhdGFncmlkLWV4cGFuZGFibGUtY2FyZXQtaWNvbnttYXJnaW46MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtZXhwYW5kYWJsZS1jYXJldC5kYXRhZ3JpZC1jZWxse3BhZGRpbmc6MH0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtZXhwYW5kYWJsZS1jYXJldC5kYXRhZ3JpZC1jb2x1bW57cGFkZGluZy10b3A6LjNyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5kYXRhZ3JpZC1jb21wYWN0IC5kYXRhZ3JpZC1zaWducG9zdC10cmlnZ2VyIC5zaWducG9zdCAuc2lnbnBvc3QtdHJpZ2dlciBjZHMtaWNvbjpub3QoW3NoYXBlPWluZm8tY2lyY2xlXSwgW3NoYXBlPWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXVtfbmdjb250ZW50LSVDT01QJV0sIFtzaGFwZT1l''@;'; put 'put ''eGNsYW1hdGlvbi1jaXJjbGVdW19uZ2NvbnRlbnQtJUNPTVAlXSwgW3NoYXBlPWNoZWNrLWNpcmNsZV1bX25nY29udGVudC0lQ09NUCVdLCBbc2hhcGU9aW5mb11bX25nY29udGVudC0lQ09NUCVdLCBbc2hhcGU9ZXJyb3JdKVtfbmdjb250ZW50LSVDT01QJV0sIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1jb21wYWN0IC5kYXRhZ3JpZC1zaWducG9zdC10cmlnZ2VyIC5zaWducG9zdCAuc2lnbnBvc3QtdHJpZ2dlciBjbHItaWNvbjpub3QoW3NoYXBlPWluZm8tY2lyY2xlXSwgW3NoYXBlPWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0sIFtzaGFwZT1leGNsYW1hdGlvbi1jaXJjbGVdW19uZ2NvbnRlbnQtJUNPTVAlXSwgW3NoYXBlPWNoZWNrLWNpcmNsZV1bX25nY29udGVudC0lQ09NUCVdLCBbc2hhcGU9aW5mb11bX25nY29udGVudC0lQ09NUCVdLCBbc2hhcGU9ZXJyb3JdKVtfbmdjb250ZW50LSVDT01QJV17aGVp''@;'; put 'put ''Z2h0OjEuMDVyZW07d2lkdGg6MS4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtZm9vdGVye3BhZGRpbmc6MCAuNnJlbTtsaW5lLWhlaWdodDoxLjE1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5k''@;'; put 'put ''YXRhZ3JpZC1jb21wYWN0IC5kYXRhZ3JpZC1mb290ZXIgLnBhZ2luYXRpb257bGluZS1oZWlnaHQ6MS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1jb21wYWN0IC5kYXRhZ3JpZC1mb290ZXIgLmNvbHVtbi1zd2l0Y2gtd3JhcHBlciAuY29sdW1uLXRv''@;'; put 'put ''Z2dsZS0tYWN0aW9ue21hcmdpbjowO291dGxpbmUtb2Zmc2V0Oi0uMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY29tcGFjdCAuZGF0YWdyaWQtZm9vdGVyIC5jbHItZm9ybS1jb250cm9sLWRpc2FibGVkIC5kYXRhZ3JpZC1mb290ZXItc2VsZWN0LmNs''@;'; put 'put ''ci1jaGVja2JveC13cmFwcGVyIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWx7dG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZvb3Rlci1kZXNjcmlwdGlvbntmbGV4OjEgMSBhdXRvO2ZsZXgtd3JhcDpub3dyYXA7d2hpdGUtc3BhY2U6''@;'; put 'put ''bm93cmFwO2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpyaWdodDttYXJnaW46YXV0byAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wYWdpbmF0aW9uLWxpc3R7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6cm93IG5vd3JhcDtqdXN0aWZ5LWNvbnRl''@;'; put 'put ''bnQ6Y2VudGVyO2FsaWduLWl0ZW1zOnN0cmV0Y2h9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1jdXJyZW50e2JhY2tncm91bmQ6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHIt''@;'; put 'put ''Zm9ybXMtdGV4dGFyZWEtYmFja2dyb3VuZC1jb2xvciwgd2hpdGUpO2JvcmRlci1jb2xvcjojY2NjO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcGFnaW5hdGlvbi1pbnB1dC1ib3JkZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci13aWR0aDouMDVyZW07Ym9yZGVyLXdpZHRoOnZh''@;'; put 'put ''cigtLWNsci1nbG9iYWwtYm9yZGVyd2lkdGgsIC4wNXJlbSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7bGluZS1oZWlnaHQ6MS4ycmVtO2ZvbnQtc2l6ZTouNTVyZW07''@;'; put 'put ''bWluLXdpZHRoOjEuMnJlbTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5wYWdpbmF0aW9uLWxpc3QgLnBhZ2luYXRpb24tY3VycmVudDpmb2N1cywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1jdXJyZW50LmNsci1mb2N1c3tiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOi4wNXJlbSBzb2xpZDtib3JkZXItY29sb3I6IzQ5YWVkYTtib3JkZXItY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBhZ2luYXRpb24taW5wdXQtYm9yZGVy''@;'; put 'put ''LWZvY3VzLWNvbG9yLCAjNDlhZWRhKTtib3gtc2hhZG93OjAgMCAuMDVyZW0gIzQ5YWVkYTtib3gtc2hhZG93OjAgMCB2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pIHZhcigtLWNsci1kYXRhZ3JpZC1wYWdpbmF0aW9uLWlucHV0LWJvcmRlci1mb2N1cy1jb2xvciwgIzQ5''@;'; put 'put ''YWVkYSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdD4qe3BhZGRpbmc6MCAuMTJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1maXJzdCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1sYXN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucGFnaW5hdGlvbi1saXN0IC5wYWdpbmF0aW9uLXByZXZpb3VzLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucGFnaW5hdGlvbi1s''@;'; put 'put ''aXN0IC5wYWdpbmF0aW9uLW5leHR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW59LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlv''@;'; put 'put ''bi1maXJzdDpkaXNhYmxlZCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1sYXN0OmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucGFnaW5hdGlvbi1saXN0IC5wYWdpbmF0aW9uLXByZXZpb3Vz''@;'; put 'put ''OmRpc2FibGVkLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAucGFnaW5hdGlvbi1saXN0IC5wYWdpbmF0aW9uLW5leHQ6ZGlzYWJsZWR7Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcGFnaW5hdGlvbi1idG4tZGlzYWJsZWQtY29sb3IsICM4YzhjOGMp''@;'; put 'put ''O29wYWNpdHk6LjU2O29wYWNpdHk6dmFyKC0tY2xyLWRhdGFncmlkLXBhZ2luYXRpb24tYnRuLWRpc2FibGVkLW9wYWNpdHksIC41Nil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1maXJzdCwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1wcmV2aW91c3ttYXJnaW4tcmlnaHQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCAucGFnaW5hdGlvbi1sYXN0LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAucGFnaW5hdGlvbi1saXN0IC5wYWdpbmF0aW9uLW5leHR7bWFyZ2luLWxlZnQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnBhZ2luYXRpb24tbGlzdCBidXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1z''@;'; put 'put ''LWFwcGVhcmFuY2U6bm9uZTstby1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93Om5vbmU7YmFja2dyb3VuZDpub25lO2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBhZ2luYXRpb24tYnRu''@;'; put 'put ''LWNvbG9yLCAjNjY2NjY2KTtjdXJzb3I6cG9pbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBidXR0b24ucGFnaW5hdGlvbi1saXN0IGJ1dHRvbntjdXJzb3I6cG9pbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtY2VsbC13aWR0aC16''@;'; put 'put ''ZXJve2JvcmRlcjowIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOjA7ZmxleDowIDAgYXV0byFpbXBvcnRhbnQ7bWluLXdpZHRoOjAhaW1wb3J0YW50O2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1v''@;'; put 'put ''dXRlci13cmFwcGVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1ncm93OjE7b3ZlcmZsb3c6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtaW5uZXItd3JhcHBlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Zs''@;'; put 'put ''ZXgtZ3JvdzoxO292ZXJmbG93OmF1dG87bWluLXdpZHRoOjEycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtb3BlbiAuZGF0YWdyaWR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItcmlnaHQ6bm9uZX0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLW9wZW4gLmRhdGFncmlkLWlubmVyLXdyYXBwZXJ7d2lkdGg6MzQlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtb3BlbiAuZGF0YWdyaWQtcGxhY2Vob2xkZXItY29udGFpbmVyLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLW9wZW4gLmRhdGFncmlkLXJvd3tib3JkZXItcmlnaHQ6LjA1cmVtIHNvbGlkICNjY2NjY2N9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWRldGFpbC1vcGVuIC5kYXRhZ3JpZC1m''@;'; put 'put ''b290ZXJ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLW9wZW4gLnBhZ2luYXRpb257d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLW9w''@;'; put 'put ''ZW4gLnBhZ2luYXRpb24tZGVzY3JpcHRpb24tY29tcGFjdHt0ZXh0LWFsaWduOmxlZnQ7ZmxleDoxfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtb3BlbiAuZGF0YWdyaWQtZm9vdGVyIC5wYWdpbmF0aW9uLWxpc3R7bWFyZ2luLXJpZ2h0OjB9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLXJvdy1kZXRhaWwtb3Blbntwb3NpdGlvbjpyZWxhdGl2ZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtcm93LWRldGFpbC1vcGVuOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5l''@;'; put 'put ''LWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjouNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNjY2M7Ym9yZGVyLXJpZ2h0LWNvbG9yOnZhcigtLWNsci10YWJsZS1ib3JkZXItY29sb3IsICNjY2NjY2MpO3Rv''@;'; put 'put ''cDouNXJlbTtyaWdodDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1yb3ctZGV0YWlsLW9wZW46YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6LjQ1cmVtIHNvbGlkIHRyYW5zcGFyZW50O2Jv''@;'; put 'put ''cmRlci1yaWdodC1jb2xvcjojZmZmO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcG9wb3Zlci1iZy1jb2xvciwgd2hpdGUpO3RvcDouNTVyZW07cmlnaHQ6LS4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLXBhbmV7''@;'; put 'put ''bWFyZ2luLXRvcDouNnJlbTtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLWRlZmF1bHQt''@;'; put 'put ''Ym9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4xNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMTVy''@;'; put 'put ''ZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMsIC4xNXJlbSk7YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVyLWJnLWNvbG9yLCB3aGl0ZSk7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6''@;'; put 'put ''YmxvY2s7ZmxleC1ncm93OjI7d2lkdGg6NjYlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtcGFuZS1jb250ZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6YXV0bztoZWlnaHQ6MTAwJX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLWJvZHl7ZmxleDoxIDEgYXV0bztwYWRkaW5nOjAgMS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtaGVhZGVye2ZsZXg6MCAwIGF1dG87Zm9udC1zaXplOi45cmVtO2xpbmUt''@;'; put 'put ''aGVpZ2h0OjEuNjhyZW07cGFkZGluZy1sZWZ0OjEuMnJlbTttYXJnaW4tdG9wOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvd30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLWhlYWRlciAuZGF0YWdyaWQtZGV0YWlsLWhlYWRlci10aXRs''@;'; put 'put ''ZXtmbGV4OjEgMSBhdXRvO3BhZGRpbmctdG9wOi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtaGVhZGVyIC5kYXRhZ3JpZC1kZXRhaWwtcGFuZS1jbG9zZXtmbGV4OjEgMSAxLjhyZW07cGFkZGluZzowO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5''@;'; put 'put ''LWNvbnRlbnQ6ZmxleC1lbmR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWRldGFpbC1oZWFkZXIgLmRhdGFncmlkLWRldGFpbC1wYW5lLWNsb3NlIC5idG4uYnRuLWxpbmt7bWFyZ2luLXRvcDouOHJlbTttYXJnaW4tYm90dG9tOjA7cGFkZGluZy1yaWdodDow''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtaGVhZGVyIC5kYXRhZ3JpZC1kZXRhaWwtcGFuZS1jbG9zZSAuYnRuLmJ0bi1saW5rIGNkcy1pY29ue2NvbG9yOiM4YzhjOGM7Y29sb3I6dmFyKC0tY2xyLW1vZGFsLWNsb3NlLWNvbG9yLCAjOGM4Yzhj''@;'; put 'put ''KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0e3BhZGRpbmc6MDt0ZXh0LWFsaWduOmNlbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0LmRhdGFncmlkLWNlbGx7cGFkZGluZzou''@;'; put 'put ''M3JlbSAuNDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWRldGFpbC1jYXJldCAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0LWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25lOy1v''@;'; put 'put ''LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzouMXJlbSAuMnJlbSAuMTVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgYnV0dG9uLmRhdGFncmlkLWRldGFpbC1jYXJldCAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0LWJ1dHRvbntjdXJzb3I6cG9pbnRlcn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0IC5kYXRhZ3JpZC1kZXRhaWwtY2FyZXQtYnV0dG9u''@;'; put 'put ''LmlzLW9wZW57YmFja2dyb3VuZC1jb2xvcjojMDA3MmEzO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLWRldGFpbC1jYXJldC1pY29uLW9wZW4tYmctY29sb3IsICMwMDcyYTMpO2JvcmRlci1yYWRpdXM6LjE1cmVtO2JvcmRlci1yYWRpdXM6dmFyKC0tY2xyLWdsb2JhbC1i''@;'; put 'put ''b3JkZXJyYWRpdXMsIC4xNXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWRldGFpbC1jYXJldCAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0LWJ1dHRvbi5pcy1vcGVuIC5kYXRhZ3JpZC1kZXRhaWwtY2FyZXQtaWNvbntjb2xvcjojZmZmO2NvbG9yOnZhcigt''@;'; put 'put ''LWNsci1kYXRhZ3JpZC1kZXRhaWwtY2FyZXQtaWNvbi1vcGVuLWljb24tY29sb3IsIHdoaXRlKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0IC5kYXRhZ3JpZC1kZXRhaWwtY2FyZXQtaWNvbntjb2xvcjojOGM4YzhjO2NvbG9yOnZhcigt''@;'; put 'put ''LWNsci1kYXRhZ3JpZC1pY29uLWNvbG9yLCAjOGM4YzhjKTttYXJnaW4tdG9wOi4xcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtY2FyZXQgLnNwaW5uZXJ7bWFyZ2luLXRvcDouM3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuZGF0YWdyaWQtZGV0YWlsLWNhcmV0LmRhdGFncmlkLWNvbHVtbntwYWRkaW5nOi41NXJlbSAuNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZGV0YWlsLW92ZXJsYXkuZGF0YWdyaWQtZGV0YWlsLW9wZW4+LmRhdGFncmlkLW91dGVyLXdyYXBwZXI+''@;'; put 'put ''LmRhdGFncmlkLWlubmVyLXdyYXBwZXJ7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtb3ZlcmxheSAuZGF0YWdyaWQtZGV0YWlsLXBhbmV7Ym9yZGVyLWxlZnQ6LjA1cmVtIHNvbGlkICNjY2NjY2M7Ym9yZGVyLXJhZGl1czou''@;'; put 'put ''MTVyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1kZXRhaWwtb3Blbj4uZGF0YWdyaWQtb3V0ZXItd3JhcHBlcj4uZGF0YWdyaWQtaW5uZXItd3JhcHBlcntkaXNwbGF5Om5vbmV9LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWRldGFpbC1wYW5le2JvcmRlci1sZWZ0Oi4wNXJlbSBzb2xpZCAjY2NjY2NjO2JvcmRlci1yYWRpdXM6LjE1cmVtfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY29sdW1uLXN3aXRjaHtib3JkZXItcmFkaXVz''@;'; put 'put ''Oi4xNXJlbTtib3JkZXItcmFkaXVzOnZhcigtLWNsci1nbG9iYWwtYm9yZGVycmFkaXVzLCAuMTVyZW0pO3BhZGRpbmc6LjlyZW07YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYmctY29sb3IsIHdoaXRlKTtib3JkZXIt''@;'; put 'put ''d2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTti''@;'; put 'put ''b3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSAjOGM4YzhjNDA7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gdmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXJzLWJveC1zaGFkb3ctY29sb3IsIHJnYmEoMTQwLCAxNDAsIDE0MCwgLjI1KSk7d2lkdGg6MTIuNXJlbTtkaXNwbGF5OmZsZXg7Zmxl''@;'; put 'put ''eC1kaXJlY3Rpb246Y29sdW1uO3otaW5kZXg6MTA1MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY29sdW1uLXN3aXRjaCAuc3dpdGNoLWhlYWRlcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTou''@;'; put 'put ''OHJlbTtwYWRkaW5nLWJvdHRvbTouNnJlbTtsaW5lLWhlaWdodDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1oZWFkZXIgaDEsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jb2x1bW4tc3dpdGNoIC5zd2l0''@;'; put 'put ''Y2gtaGVhZGVyIGgyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY29sdW1uLXN3aXRjaCAuc3dpdGNoLWhlYWRlciBoMywgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1oZWFkZXIgaDQsIC5zYXNqcy11aVtfbmdjb250''@;'; put 'put ''ZW50LSVDT01QJV0gICAgIC5jb2x1bW4tc3dpdGNoIC5zd2l0Y2gtaGVhZGVyIGg1LCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY29sdW1uLXN3aXRjaCAuc3dpdGNoLWhlYWRlciBoNntjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1wMS1jb2xvciwgIzY2NjY2Nik7Zm9u''@;'; put 'put ''dC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTouOHJlbTtsaW5lLWhlaWdodDoxLjJyZW07bWFyZ2luOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1oZWFkZXIgYnV0dG9ue21pbi13aWR0aDouOXJlbTttYXJnaW46MDtwYWRkaW5nOjA7Y29s''@;'; put 'put ''b3I6I2IzYjNiMztjb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtY29sdW1uLXN3aXRjaC1oZWFkZXItZm9udC1jb2xvciwgI2IzYjNiMyl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1oZWFkZXIgYnV0dG9uOmhvdmVye2NvbG9yOiMwMDcy''@;'; put 'put ''YTM7Y29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLWNvbHVtbi1zd2l0Y2gtaGVhZGVyLWZvbnQtaG92ZXItY29sb3IsICMwMDcyYTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jb2x1bW4tc3dpdGNoIC5zd2l0Y2gtY29udGVudHttYXgtaGVpZ2h0OjE1cmVtO292ZXJmbG93''@;'; put 'put ''LXk6YXV0bzttaW4taGVpZ2h0OjEuMjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1jb250ZW50IGxpe2xpbmUtaGVpZ2h0OjEuMnJlbTtwYWRkaW5nLWxlZnQ6LjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1mb290ZXIgLmJ0bnttYXJnaW46MDtwYWRkaW5nOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNvbHVtbi1zd2l0Y2ggLnN3aXRjaC1mb290ZXIgLmFjdGlvbi1yaWdodHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgt''@;'; put 'put ''ZW5kfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1maWx0ZXJ7bWFyZ2luLXRvcDouMjRyZW07YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVyLWJnLWNvbG9yLCB3aGl0ZSk7Ym9yZGVyLXdpZHRoOi4wNXJlbTti''@;'; put 'put ''b3JkZXItd2lkdGg6dmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVyLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7cGFkZGluZzouOXJlbTti''@;'; put 'put ''b3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSAjOGM4YzhjNDA7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gdmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXJzLWJveC1zaGFkb3ctY29sb3IsIHJnYmEoMTQwLCAxNDAsIDE0MCwgLjI1KSk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJh''@;'; put 'put ''ZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtmb250LXdlaWdodDo0MDB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWZpbHRlciAuZGF0YWdyaWQtZmlsdGVyLWNsb3NlLXdyYXBwZXJ7dGV4dC1hbGlnbjpyaWdodH0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZmlsdGVyIC5kYXRhZ3JpZC1maWx0ZXItY2xvc2Utd3JhcHBlciAuY2xvc2V7ZmxvYXQ6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtZmlsdGVyIC5kYXRhZ3JpZC1maWx0ZXItYXBwbHl7''@;'; put 'put ''bWFyZ2luLWJvdHRvbTowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3d7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDp3aGl0ZTtiYWNrZ3JvdW5kOnZhcigtLWNsci1kYXRhZ3JpZC1wb3BvdmVyLWJnLWNvbG9yLCB3aGl0ZSk7''@;'; put 'put ''cGFkZGluZzouM3JlbTttYXJnaW4tbGVmdDouM3JlbTtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWRh''@;'; put 'put ''dGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3gtc2hhZG93OjAgLjA1cmVtIC4xNXJlbSAjOGM4YzhjNDA7Ym94LXNoYWRvdzowIC4wNXJlbSAuMTVyZW0gdmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXJzLWJveC1zaGFkb3ctY29sb3IsIHJnYmEoMTQwLCAxNDAsIDE0''@;'; put 'put ''MCwgLjI1KSk7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cywgLjE1cmVtKTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1hY3Rp''@;'; put 'put ''b24tb3ZlcmZsb3c6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDoxMDAlO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLXRvcDotLjNyZW07Ym9yZGVyOi4zcmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OjAgbm9uZTtib3JkZXItcmlnaHQt''@;'; put 'put ''Y29sb3I6I2NjYztib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXBvcG92ZXItYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246''@;'; put 'put ''YWJzb2x1dGU7dG9wOjUwJTtyaWdodDoxMDAlO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLXRvcDotLjI1cmVtO2JvcmRlci1yaWdodDouMjVyZW0gc29saWQgd2hpdGU7Ym9yZGVyLXRvcDouMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTouMjVyZW0gc29saWQgdHJhbnNw''@;'; put 'put ''YXJlbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW17Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItZHJvcGRvd24tdGV4dC1jb2xvciwgIzY2NjY2Nik7Zm9udC1zaXplOi43cmVtO2xldHRlci1zcGFjaW5n''@;'; put 'put ''Om5vcm1hbDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS4xNXJlbTttYXJnaW46MDtwYWRkaW5nOi4wNXJlbSAxLjJyZW0gMDt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbTpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06Zm9jdXN7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFj''@;'; put 'put ''a2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLWFjdGlvbi1wb3BvdmVyLWhvdmVyLWNvbG9yLCAjZThlOGU4KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRl''@;'; put 'put ''bS5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2xyLWRhdGFncmlkLXJvdy1ob3ZlciwgI2U4ZThlOCk7Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItZGF0YWdyaWQtcm93LWhvdmVyLWZvbnQtY29sb3IsIGJsYWNrKX0uc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbTpmb2N1c3tvdXRsaW5lOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQsIC5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi40Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6''@;'; put 'put ''bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbS5kaXNhYmxlZDpob3ZlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06''@;'; put 'put ''ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtLmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWFj''@;'; put 'put ''dGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1hY3Rpb24tb3ZlcmZsb3cgLmFjdGlvbi1pdGVtOmRpc2FibGVkOmFjdGl2ZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW06ZGlzYWJsZWQ6Zm9jdXN7YmFja2dyb3VuZDpub25lO2JveC1zaGFkb3c6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtYWN0aW9uLW92ZXJmbG93IC5hY3Rpb24taXRlbSBjZHMtaWNv''@;'; put 'put ''biwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWFjdGlvbi1vdmVyZmxvdyAuYWN0aW9uLWl0ZW0gY2xyLWljb257dmVydGljYWwtYWxpZ246bWlkZGxlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xcHgsMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLmRhdGFncmlkLWhvc3QuZGF0YWdyaWQtY2FsY3VsYXRlLW1vZGV7ZGlzcGxheTpibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtaG9zdC5kYXRhZ3JpZC1jYWxjdWxhdGUtbW9kZSAuZGF0YWdyaWQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5kYXRhZ3JpZC1ob3N0LmRhdGFncmlkLWNhbGN1bGF0ZS1tb2RlIC5kYXRhZ3JpZC1mb290ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1ob3N0LmRhdGFncmlkLWNhbGN1bGF0ZS1tb2RlIC5kYXRhZ3JpZC1yb3ctbWFzdGVyLCAuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtaG9zdC5kYXRhZ3JpZC1jYWxjdWxhdGUtbW9kZSAuZGF0YWdyaWQtcm93LWNsaWNrYWJsZXtkaXNwbGF5Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhvc3QuZGF0YWdyaWQtY2Fs''@;'; put 'put ''Y3VsYXRlLW1vZGUgLmRhdGFncmlkLWNhbGN1bGF0aW9uLXRhYmxle2Rpc3BsYXk6dGFibGU7dGFibGUtbGF5b3V0OmF1dG99LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhvc3QuZGF0YWdyaWQtY2FsY3VsYXRlLW1vZGUgLmRhdGFncmlkLWNhbGN1bGF0aW9u''@;'; put 'put ''LXRhYmxlIC5kYXRhZ3JpZC1jYWxjdWxhdGlvbi1oZWFkZXJ7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhvc3QuZGF0YWdyaWQtY2FsY3VsYXRlLW1vZGUgLmRhdGFncmlkLWNhbGN1bGF0aW9uLXRhYmxlIC5k''@;'; put 'put ''YXRhZ3JpZC1jYWxjdWxhdGlvbi1oZWFkZXIgLmRhdGFncmlkLWNvbHVtbntkaXNwbGF5OnRhYmxlLWNlbGw7bWluLXdpZHRoOjQuOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZGF0YWdyaWQtaG9zdC5kYXRhZ3JpZC1jYWxjdWxhdGUtbW9kZSAuZGF0YWdyaWQtY2Fs''@;'; put 'put ''Y3VsYXRpb24tdGFibGUgLmRhdGFncmlkLWNhbGN1bGF0aW9uLWhlYWRlciAuZGF0YWdyaWQtY29sdW1ue2JvcmRlci1jb2xvcjojZThlOGU4O2JvcmRlci1jb2xvcjp2YXIoLS1jbHItdGFibGVyb3ctYm9yZGVyY29sb3IsICNlOGU4ZTgpO2JvcmRlci13aWR0aDouMDVyZW07Ym9yZGVyLXdp''@;'; put 'put ''ZHRoOnZhcigtLWNsci10YWJsZS1ib3JkZXJ3aWR0aCwgLjA1cmVtKTtib3JkZXItc3R5bGU6c29saWQ7cGFkZGluZzouNTVyZW0gLjZyZW07dmVydGljYWwtYWxpZ246dG9wO2NvbG9yOiM2NjY7Y29sb3I6dmFyKC0tY2xyLXA2LWNvbG9yLCAjNjY2NjY2KTtmb250LXdlaWdodDo2MDA7Zm9u''@;'; put 'put ''dC13ZWlnaHQ6dmFyKC0tY2xyLWZvbnQtd2VpZ2h0LWJvbGQsIDYwMCk7Zm9udC1zaXplOi41NXJlbTtsZXR0ZXItc3BhY2luZzouMDNlbTtsaW5lLWhlaWdodDouNnJlbTttYXJnaW4tdG9wOjEuMnJlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmRhdGFncmlkLWhvc3QuZGF0YWdyaWQtY2FsY3VsYXRlLW1vZGUgLmRhdGFncmlkLWNhbGN1bGF0aW9uLXRhYmxlIC5kYXRhZ3JpZC1yb3d7ZGlzcGxheTp0YWJsZS1yb3d9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhvc3QuZGF0YWdyaWQtY2FsY3VsYXRl''@;'; put 'put ''LW1vZGUgLmRhdGFncmlkLWNhbGN1bGF0aW9uLXRhYmxlIC5kYXRhZ3JpZC1yb3cgLmRhdGFncmlkLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsO21pbi13aWR0aDo0LjhyZW07Zm9udC1zaXplOi42NXJlbTtsaW5lLWhlaWdodDouN3JlbTtwYWRkaW5nOi41NXJlbSAuNnJlbTt2ZXJ0aWNhbC1h''@;'; put 'put ''bGlnbjp0b3B9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRhdGFncmlkLWhvc3QuZGF0YWdyaWQtY2FsY3VsYXRlLW1vZGUgLmRhdGFncmlkLWNvbHVtbi1zZXBhcmF0b3J7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1o''@;'; put 'put ''b3N0LmRhdGFncmlkLWNhbGN1bGF0ZS1tb2RlIC5kYXRhZ3JpZC1wbGFjZWhvbGRlci1jb250YWluZXJ7ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kYXRhZ3JpZC1ob3N0LmRhdGFncmlkLWNhbGN1bGF0ZS1tb2RlIC5kYXRhZ3JpZC1maXhlZC1jb2x1''@;'; put 'put ''bW57ZGlzcGxheTpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5mYWRle29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O3dpbGwtY2hhbmdlOm9wYWNpdHl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmZhZGUuaW57b3Bh''@;'; put 'put ''Y2l0eToxfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5mYWRlRG93bntvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCx0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O3dpbGwtY2hhbmdlOm9wYWNp''@;'; put 'put ''dHksdHJhbnNmb3JtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5mYWRlRG93bi5pbntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAub2Zmc2NyZWVuLWZvY3VzLXJlYm91bmRlcntwb3NpdGlvbjpmaXhl''@;'; put 'put ''ZCFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O2hlaWdodDoxcHghaW1wb3J0YW50O3dpZHRoOjFweCFpbXBvcnRhbnQ7bGVmdDowIWltcG9ydGFudDt0b3A6LWNvbnZlcnRCYXNlbGluZVRvQmFzZTIwKDEpIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O3Zpc2li''@;'; put 'put ''aWxpdHk6aGlkZGVuIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50O21hcmdpbjowIDAgLWNvbnZlcnRCYXNlbGluZVRvQmFzZTIwKDEpIDAhaW1wb3J0YW50O3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJv''@;'; put 'put ''b3R7LS1jbHItbmF2LWJveC1zaGFkb3ctY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTQwMCk7LS1jbHItbmF2LWFjdGl2ZS1ib3gtc2hhZG93LWNvbG9yOiB2YXIoLS1jbHItY29sb3ItYWN0aW9uLTYwMCk7LS1jbHItbmF2LWFjdGl2ZS1iZy1jb2xvcjogdmFyKC0tY2xyLWdsb2Jh''@;'; put 'put ''bC1zZWxlY3Rpb24tY29sb3IpOy0tY2xyLW5hdi1ob3Zlci1iZy1jb2xvcjogdmFyKC0tY2xyLXNpZGVuYXYtbGluay1ob3Zlci1jb2xvcik7LS1jbHItbmF2LWxpbmstY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1jbHItbmF2LWxpbmstYWN0aXZlLWNvbG9yOiB2YXIo''@;'; put 'put ''LS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNsci1uYXYtbGluay1mb250LXdlaWdodDogdmFyKC0tY2xyLXAxLWZvbnQtd2VpZ2h0KTstLWNsci1uYXYtbGluay1hY3RpdmUtZm9udC13ZWlnaHQ6IHZhcigtLWNsci1uYXYtbGluay1mb250LXdlaWdodCl9QG1lZGlhIHNjcmVlbnsuc2Fz''@;'; put 'put ''anMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBzZWN0aW9uW2FyaWEtaGlkZGVuPXRydWVde2Rpc3BsYXk6bm9uZX19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgW2RhdGEtaGlkZGVuPXRydWVde2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICBidXR0b24ubmF2LWxpbmt7Ym9yZGVyLXJhZGl1czowO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7bWluLXdpZHRoOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtb3ZlcmZsb3d7cG9zaXRpb246cmVsYXRpdmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAl''@;'; put 'put ''XSAgICAgLnRhYnMtb3ZlcmZsb3cgLm5hdi1pdGVte21hcmdpbi1yaWdodDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWItY29udGVudHtkaXNwbGF5OmlubGluZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICBfOi1tcy1mdWxsc2NyZWVuIC50YWItY29u''@;'; put 'put ''dGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3QgLnRhYi1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtdmVydGljYWx7ZGlzcGxheTpmbGV4fS5zYXNqcy11''@;'; put 'put ''aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLXZlcnRpY2FsPi5uYXZ7aGVpZ2h0OmF1dG87Ym94LXNoYWRvdzpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO21hcmdpbi1yaWdodDoxLjJyZW07b3ZlcmZsb3c6YXV0bztmbGV4LXNocmluazowO3Bh''@;'; put 'put ''ZGRpbmc6LjJyZW07d2lkdGg6MTJyZW07bWluLXdpZHRoOjIuNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy12ZXJ0aWNhbD4ubmF2IC5uYXYtbGlua3t0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZzowIC42cmVtO2JvcmRlcjpub25lO21hcmdpbi1ib3R0b206LjA1''@;'; put 'put ''cmVtO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDowO21hcmdpbi1sZWZ0OjA7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy12ZXJ0aWNhbD4ubmF2IC5uYXYtbGluay5uYXYtaXRlbXttYXJnaW4tcmlnaHQ6MH0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAudGFicy12ZXJ0aWNhbD4ubmF2IC5uYXYtbGluay5hY3RpdmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC50YWJzLXZlcnRpY2FsPi5uYXYgLm5hdi1saW5rOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgLjE1cmVtIDAgIzAwNzJhMztib3gtc2hhZG93Omlu''@;'; put 'put ''c2V0IC4xNXJlbSAwIDAgdmFyKC0tY2xyLW5hdi1hY3RpdmUtYm94LXNoYWRvdy1jb2xvcil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRhYnMtdmVydGljYWw+Lm5hdiAubmF2LWxpbmsuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2Q4ZTNlOTtiYWNrZ3JvdW5kLWNvbG9y''@;'; put 'put ''OnZhcigtLWNsci1uYXYtYWN0aXZlLWJnLWNvbG9yLCAjZDhlM2U5KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAudGFicy12ZXJ0aWNhbD4ubmF2IC5uYXYtbGluazpub3QoLmFjdGl2ZSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4O2JhY2tncm91bmQtY29sb3I6''@;'; put 'put ''dmFyKC0tY2xyLW5hdi1ob3Zlci1iZy1jb2xvciwgI2U4ZThlOCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItd2l6YXJkLW1haW4tYmdjb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItd2l6YXJkLXNpZGVuYXYtYmdjb2xv''@;'; put 'put ''cjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNTApOy0tY2xyLXdpemFyZC1tYWluLXRleHRDb2xvcjogdmFyKC0tY2xyLWNvbG9yLW9uLW5ldXRyYWwtMCk7LS1jbHItd2l6YXJkLXNpZGVuYXYtdGV4dDogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtOTAwKTstLWNsci13aXphcmQtc2lkZW5h''@;'; put 'put ''di10ZXh0LS1hY3RpdmU6IHZhcigtLWNsci1nbG9iYWwtb24tc2VsZWN0aW9uLWNvbG9yKTstLWNsci13aXphcmQtdGl0bGUtdGV4dDogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMTAwMCk7LS1jbHItd2l6YXJkLXN0ZXBuYXYtYm9yZGVyLXNpemU6IC4ycmVtOy0tY2xyLXdpemFyZC1zdGVw''@;'; put 'put ''bmF2LWJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMjAwKTstLWNsci13aXphcmQtc3RlcG5hdi1ib3JkZXItY29sb3ItLWFjdGl2ZTogdmFyKC0tY2xyLWNvbG9yLXN1Y2Nlc3MtNDAwKTstLWNsci13aXphcmQtc3RlcG5hdi1hY3RpdmUtYmdjb2xvcjogdmFyKC0tY2xy''@;'; put 'put ''LWdsb2JhbC1zZWxlY3Rpb24tY29sb3IpOy0tY2xyLXdpemFyZC1oZWFkZXItYWN0aW9uLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDApOy0tY2xyLXdpemFyZC1oZWFkZXItYWN0aW9uLWNvbG9yLS1ob3ZlcmVkOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC0xMDAwKTstLWNs''@;'; put 'put ''ci13aXphcmQtYm9yZGVyLXJhZGl1czogdmFyKC0tY2xyLWdsb2JhbC1ib3JkZXJyYWRpdXMpOy0tY2xyLXdpemFyZC1zdGVwbmF2LWFjdGl2ZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1jbHItd2l6YXJkLWJvcmRlci1yYWRpdXMpOy0tY2xyLXdpemFyZC1zdGVwLW5hdi1ib3JkZXItY29sb3I6''@;'; put 'put ''IGhzbCgwLCAwJSwgODklKTstLWNsci13aXphcmQtYm94LXNoYWRvdy1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMil9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLm1vZGFsLWRpYWxvZ3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWdu''@;'; put 'put ''LWl0ZW1zOmNlbnRlcjtib3gtc2hhZG93OjAgLjA1cmVtIC4xcmVtIC4xcmVtICMwMDAzO2JveC1zaGFkb3c6MCAuMDVyZW0gLjFyZW0gLjFyZW0gdmFyKC0tY2xyLXdpemFyZC1ib3gtc2hhZG93LWNvbG9yKTtoZWlnaHQ6NTAlO21heC1oZWlnaHQ6MTAwJX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAubW9kYWwtY29udGVudHtib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjE1cmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNsci13aXphcmQtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtib3JkZXItYm90dG9t''@;'; put 'put ''LXJpZ2h0LXJhZGl1czouMTVyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6dmFyKC0tY2xyLXdpemFyZC1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2JveC1zaGFkb3c6bm9uZTtwYWRkaW5nOjA7ZmxleDoyIDIgYXV0bzt3aWR0aDo2NiU7aGVpZ2h0OmF1dG87aGVpZ2h0OmluaXRpYWw7''@;'; put 'put ''b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAubW9kYWwtaGVhZGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLXdpemFyZCAubW9kYWwtaGVhZGVyLS1hY2Nlc3NpYmxle2ZsZXg6MCAwIGF1dG87d2lkdGg6MTAwJTtwYWRkaW5nOjEuMnJlbSAuOTVyZW0gLjNyZW0gMS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5tb2RhbC10aXRsZXtjb2xvcjoj''@;'; put 'put ''MDAwO2NvbG9yOnZhcigtLWNsci13aXphcmQtdGl0bGUtdGV4dCwgYmxhY2spO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJTtsaW5lLWhlaWdodDoxLjM1NnJlbTttYXJnaW4tdG9wOi0uMTU2cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5j''@;'; put 'put ''bHItd2l6YXJkIC5tb2RhbC1ib2R5e2ZsZXg6MSAxIGF1dG87Y29sb3I6IzAwMDtjb2xvcjp2YXIoLS1jbHItd2l6YXJkLW1haW4tdGV4dENvbG9yLCBibGFjayk7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAubW9kYWwtZm9vdGVye3Bh''@;'; put 'put ''ZGRpbmc6MDtkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjEuMnJlbTtoZWlnaHQ6NC4ycmVtO21pbi1oZWlnaHQ6NC4ycmVtO21heC1oZWlnaHQ6NC4ycmVtO3dpZHRoOjEwMCU7ZmxleDowIDAgNC4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5j''@;'; put 'put ''bHItd2l6YXJkLWJ0bnttYXJnaW46MDttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5tb2RhbC10aXRsZS10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXg6MCAxIGF1dG87d2lkdGg6MTAwJTtvdXRs''@;'; put 'put ''aW5lOm5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLm1vZGFsLXRpdGxlLXdyYXBwZXJ7d2lkdGg6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAubW9kYWwtaGVhZGVyLWFjdGlvbnMtd3JhcHBlcntmbGV4''@;'; put 'put ''OjEgMCBhdXRvO3BhZGRpbmctbGVmdDouNnJlbTtwYWRkaW5nLXJpZ2h0Oi4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLWhlYWRlci1hY3Rpb257aGVpZ2h0OjEuMnJlbTt3aWR0aDoxLjJyZW07cGFkZGluZzowO21hcmdpbjow''@;'; put 'put ''O21pbi13aWR0aDoxLjJyZW07bGluZS1oZWlnaHQ6MS4ycmVtO2ZvbnQtc2l6ZToxLjNyZW07Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItd2l6YXJkLWhlYWRlci1hY3Rpb24tY29sb3IsICM4YzhjOGMpO3RyYW5zaXRpb246Y29sb3IgbGluZWFyIC4yc30uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAuY2xyLXdpemFyZC1oZWFkZXItYWN0aW9uIGF7Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItd2l6YXJkLWhlYWRlci1hY3Rpb24tY29sb3IsICM4YzhjOGMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6''@;'; put 'put ''YXJkIC5jbHItd2l6YXJkLWhlYWRlci1hY3Rpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLWhlYWRlci1hY3Rpb246YWN0aXZlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAuY2xy''@;'; put 'put ''LXdpemFyZC1oZWFkZXItYWN0aW9uOmZvY3Vze2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLXdpemFyZC1oZWFkZXItYWN0aW9uLWNvbG9yLS1ob3ZlcmVkLCBibGFjayl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtaGVhZGVyLWFj''@;'; put 'put ''dGlvbiBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtaGVhZGVyLWFjdGlvbiBjbHItaWNvbntoZWlnaHQ6MS4xcmVtO3dpZHRoOjEuMXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFy''@;'; put 'put ''ZCAuY2xyLXdpemFyZC1zdGVwbmF2LXdyYXBwZXJ7ZmxleDoxIDEgYXV0bzt3aWR0aDozNCU7bWF4LXdpZHRoOjM0JTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO29yZGVyOi0xO292ZXJmbG93OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87cGFkZGluZy1ib3R0b206MS4ycmVt''@;'; put 'put ''O2xpbmUtaGVpZ2h0OjEuMnJlbTtib3JkZXItcmlnaHQtd2lkdGg6LjA1cmVtO2JvcmRlci1yaWdodC13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6I2UzZTNlMztib3JkZXItcmln''@;'; put 'put ''aHQtY29sb3I6dmFyKC0tY2xyLXdpemFyZC1zdGVwLW5hdi1ib3JkZXItY29sb3IsICNlM2UzZTMpO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNsci13aXphcmQtc2lkZW5hdi1iZ2NvbG9yLCAjZmFmYWZhKTtib3JkZXItcmFk''@;'; put 'put ''aXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMTVyZW07Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czp2YXIoLS1jbHItd2l6YXJkLWJvcmRlci1yYWRpdXMsIC4xNXJlbSk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMTVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czp2YXIoLS1j''@;'; put 'put ''bHItd2l6YXJkLWJvcmRlci1yYWRpdXMsIC4xNXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtc3RlcG5hdntwYWRkaW5nLWxlZnQ6MS4ycmVtO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi43cmVtO2NvbG9yOiMzMzM7Y29sb3I6''@;'; put 'put ''dmFyKC0tY2xyLXdpemFyZC1zaWRlbmF2LXRleHQsICMzMzMzMzMpO3dpZHRoOjEwMCU7ZmxleDoxIDEgYXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAuY2xyLXdpemFyZC1zdGVwbmF2LWxpc3R7ZGlzcGxheTpibG9jaztib3gtc2hhZG93Om5vbmU7''@;'; put 'put ''Y291bnRlci1yZXNldDphO3doaXRlLXNwYWNlOm5vd3JhcDtoZWlnaHQ6YXV0bztsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXJnaW46MDt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLXN0ZXBuYXYtaXRlbXtkaXNwbGF5''@;'; put 'put ''OmJsb2NrO2JveC1zaGFkb3c6LjJyZW0gMCAjZThlOGU4IGluc2V0O2JveC1zaGFkb3c6dmFyKC0tY2xyLXdpemFyZC1zdGVwbmF2LWJvcmRlci1zaXplKSAwIDAgdmFyKC0tY2xyLXdpemFyZC1zdGVwbmF2LWJvcmRlci1jb2xvcikgaW5zZXQ7bWFyZ2luOjAgMCAtLjA1cmVtO3BhZGRpbmc6''@;'; put 'put ''LjNyZW0gMCAuM3JlbSAuNHJlbTtjb2xvcjojMzMzO2NvbG9yOnZhcigtLWNsci13aXphcmQtc2lkZW5hdi10ZXh0LCAjMzMzMzMzKTtmb250LXdlaWdodDo0MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWZvbnQtd2VpZ2h0LXJlZ3VsYXIsIDQwMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtc3RlcG5hdi1pdGVtLmFjdGl2ZXtjb2xvcjojMDAwO2NvbG9yOnZhcigtLWNsci13aXphcmQtc2lkZW5hdi10ZXh0LS1hY3RpdmUsIGJsYWNrKTtmb250LXdlaWdodDo1MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLWZvbnQtd2VpZ2h0''@;'; put 'put ''LXNlbWlib2xkLCA1MDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLXN0ZXBuYXYtaXRlbS5hY3RpdmUgLmNsci13aXphcmQtc3RlcG5hdi1saW5re2JhY2tncm91bmQtY29sb3I6I2Q4ZTNlOTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigt''@;'; put 'put ''LWNsci13aXphcmQtc3RlcG5hdi1hY3RpdmUtYmdjb2xvciwgI2Q4ZTNlOSk7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjE1cmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6dmFyKC0tY2xyLXdpemFyZC1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2JvcmRlci1ib3R0''@;'; put 'put ''b20tbGVmdC1yYWRpdXM6LjE1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6dmFyKC0tY2xyLXdpemFyZC1ib3JkZXItcmFkaXVzLCAuMTVyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLXN0ZXBuYXYtaXRlbS5jb21wbGV0''@;'; put 'put ''ZXtib3gtc2hhZG93Oi4ycmVtIDAgIzVlYjcxNSBpbnNldDtib3gtc2hhZG93OnZhcigtLWNsci13aXphcmQtc3RlcG5hdi1ib3JkZXItc2l6ZSkgMCAwIHZhcigtLWNsci13aXphcmQtc3RlcG5hdi1ib3JkZXItY29sb3ItLWFjdGl2ZSkgaW5zZXQ7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4y''@;'; put 'put ''cyBlYXNlLWlufS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLXN0ZXBuYXYtaXRlbS5lcnJvcntib3gtc2hhZG93Oi4ycmVtIDAgI2MyMWQwMCBpbnNldDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjJzIGVhc2UtaW59LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtc3RlcG5hdi1pdGVtLm5vLWNsaWNrIGJ1dHRvbntwb2ludGVyLWV2ZW50czpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLXN0ZXBuYXYtbGlua3t3''@;'; put 'put ''aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDtjb2xvcjppbmhlcml0O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgLjE1cmVtIDAgLjVyZW07Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3RleHQtYWxpZ246bGVmdDt0ZXh0LXRyYW5z''@;'; put 'put ''Zm9ybTpub25lO21hcmdpbjowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLXN0ZXBuYXYtbGluayAuY2xyLXdpemFyZC1zdGVwbmF2LWxpbmstc3VmZml4e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0''@;'; put 'put ''aDoxLjJyZW07cGFkZGluZy1yaWdodDouMzVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtc3RlcG5hdi1saW5rIC5jbHItd2l6YXJkLXN0ZXBuYXYtbGluay1zdWZmaXggLmNsci13aXphcmQtc3RlcG5hdi1pdGVtLWVycm9yLWlj''@;'; put 'put ''b257dHJhbnNmb3JtOm5vbmU7ZmlsbDojYzIxZDAwfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5jbHItd2l6YXJkLXRpdGxle2NvbG9yOiMwMDA7Y29sb3I6dmFyKC0tY2xyLXdpemFyZC10aXRsZS10ZXh0LCBibGFjayk7bWFyZ2luLXRvcDowO3BhZGRp''@;'; put 'put ''bmc6MS4ycmVtIC42cmVtIDEuMnJlbSAxLjJyZW07ZmxleDowIDAgYXV0bztmb250LXNpemU6MS4xcmVtO2xpbmUtaGVpZ2h0OjEuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAubW9kYWwtY29udGVudC13cmFwcGVye2Rpc3BsYXk6ZmxleDtmbGV4''@;'; put 'put ''LWRpcmVjdGlvbjpyb3c7ZmxleDoxIDEgMTAwJTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAubW9kYWwtY29udGVudC13cmFwcGVyIC5tb2RhbC1uYXZ7aGVpZ2h0OmF1dG99LnNhc2pz''@;'; put 'put ''LXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtZm9vdGVyLWJ1dHRvbnN7dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nLXJpZ2h0OjEuMnJlbTttYXJnaW46MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAuY2xyLXdp''@;'; put 'put ''emFyZC1mb290ZXItYnV0dG9ucy13cmFwcGVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOm5vd3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtYnRuLXdy''@;'; put 'put ''YXBwZXJ7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6NC4ycmVtO3BhZGRpbmctbGVmdDouNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAuY2xyLXdpemFyZC1idG4td3JhcHBlclthcmlhLWhpZGRlbj10cnVlXXtkaXNwbGF5Om5vbmV9LnNhc2pzLXVp''@;'; put 'put ''W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtYnRuLmJ0bi1saW5re3BhZGRpbmc6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAuY2xyLXdpemFyZC1jb250ZW50e2Rpc3BsYXk6YmxvY2t9LnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtcGFnZTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtwYWRkaW5nOi45cmVtIDEuMnJlbSAxLjJyZW07ZGlzcGxheTpibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZCAubW9kYWwt''@;'; put 'put ''ZGlhbG9ne2hlaWdodDo3NXZofS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5tb2RhbC1ib2R5LXdyYXBwZXJ7bWF4LWhlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MTt3aWR0aDoxMDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5jbHItd2l6YXJkLndpemFyZC1tZCAubW9kYWwtZGlhbG9ne21pbi1oZWlnaHQ6MjFyZW07bWF4LWhlaWdodDoyNS4ycmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLndpemFyZC1tZCAubW9kYWwtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQud2l6YXJkLW1kIC5jbHItd2l6YXJkLXN0ZXBuYXYtd3JhcHBlcnttYXgtaGVpZ2h0OjI1LjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQud2l6YXJkLW1kIC5jbHItd2l6YXJkLXN0ZXBuYXYtd3JhcHBl''@;'; put 'put ''cnttaW4td2lkdGg6MTAuOHJlbTttYXgtd2lkdGg6MTJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQud2l6YXJkLWxnIC5tb2RhbC1kaWFsb2d7bWluLWhlaWdodDoyMXJlbTttYXgtaGVpZ2h0OjM2cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5jbHItd2l6YXJkLndpemFyZC1sZyAubW9kYWwtY29udGVudCwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQud2l6YXJkLWxnIC5jbHItd2l6YXJkLXN0ZXBuYXYtd3JhcHBlcnttYXgtaGVpZ2h0OjM2cmVtfS5zYXNqcy11aVtfbmdjb250ZW50''@;'; put 'put ''LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLndpemFyZC1sZyAubmF2LXBhbmVsLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC53aXphcmQtbGcgLmNsci13aXphcmQtc3RlcG5hdi13cmFwcGVye21pbi13aWR0aDoxMnJlbTttYXgtd2lkdGg6MTQuNHJlbX0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC53aXphcmQteGwgLm1vZGFsLWRpYWxvZ3toZWlnaHQ6NzV2aDttYXgtaGVpZ2h0Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQud2l6YXJkLXhsIC5uYXYtcGFuZWwsIC5z''@;'; put 'put ''YXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLndpemFyZC14bCAuY2xyLXdpemFyZC1zdGVwbmF2LXdyYXBwZXJ7bWluLXdpZHRoOjEycmVtO21heC13aWR0aDoxNS42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkIC5zcGlu''@;'; put 'put ''bmVyOm5vdCguc3Bpbm5lci1pbmxpbmUpOm5vdCguY2xyLXRyZWVub2RlLXNwaW5uZXIpe2xlZnQ6Y2FsYyg1MCUgKyA1Ljc1cmVtKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLXBhZ2U+KjpmaXJzdC1jaGls''@;'; put 'put ''ZHttYXJnaW4tdG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtcGFnZT4qOmZpcnN0LWNoaWxkPio6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLXBhZ2U+Zm9ybTpmaXJz''@;'; put 'put ''dC1jaGlsZHtwYWRkaW5nLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLXBhZ2U+Zm9ybTpmaXJzdC1jaGlsZD4uZm9ybS1ibG9jazpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13''@;'; put 'put ''aXphcmQtLWlubGluZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtLWlubGluZT5jbHItbW9kYWw+Lm1vZGFsOmZvY3Vze291dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLWNvbG9yOnRyYW5zcGFyZW50fS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLS1pbmxpbmUgY2xyLW1vZGFse2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC0taW5saW5lIC5tb2RhbHtwYWRkaW5nOjA7''@;'; put 'put ''cG9zaXRpb246c3RhdGljO2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC0taW5saW5lIC5tb2RhbCAuY29udGVudC1jb250YWluZXJ7aGVpZ2h0OjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAg''@;'; put 'put ''ICAgLmNsci13aXphcmQtLWlubGluZSAubW9kYWwgLmNvbnRlbnQtY29udGFpbmVyIC5uYXYtcGFuZWx7aGVpZ2h0Ojk5JTt3aWR0aDo5OSV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtLWlubGluZSAubW9kYWwgLm1vZGFsLWNvbnRlbnR7Ym94LXNoYWRv''@;'; put 'put ''dzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLS1pbmxpbmUgLm1vZGFsIC5tb2RhbC1kaWFsb2d7bWluLWhlaWdodDoxMDAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7ei1pbmRleDphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItd2l6YXJkLS1pbmxpbmUgLm1vZGFsLWJvZHktd3JhcHBlcntoZWlnaHQ6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC0taW5saW5lIC5tb2RhbC1oZWFkZXIgLmNsb3NlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xy''@;'; put 'put ''LXdpemFyZC0taW5saW5lIC5tb2RhbC1oZWFkZXItLWFjY2Vzc2libGUgLmNsb3Nle2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC0taW5saW5lIC5uYXYubmF2TGlzdHtwYWRkaW5nLXRvcDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItd2l6YXJkLS1pbmxpbmUgLm1vZGFsLWRpYWxvZyAubW9kYWwtY29udGVudCAubW9kYWwtYm9keSAuY29udGVudC1hcmVhe292ZXJmbG93LXk6YXV0b30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC0taW5saW5lIC5tb2RhbC1iYWNr''@;'; put 'put ''ZHJvcHtoZWlnaHQ6MDt3aWR0aDowO2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC0taW5saW5lIC5tb2RhbC1jb250ZW50LXdyYXBwZXJ7YWxpZ24taXRlbXM6c3RyZXRjaDtoZWlnaHQ6MTAwJX0uc2FzanMtdWlbX25nY29udGVudC0l''@;'; put 'put ''Q09NUCVdICAgICAuY2xyLXdpemFyZC0taW5saW5lIC5jbHItd2l6YXJkLXN0ZXBuYXYtd3JhcHBlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtLWlubGluZS5jbHItd2l6YXJkIC5tb2RhbC1jb250ZW50e21pbi1oZWlnaHQ6MTAwJTtoZWlnaHQ6YXV0''@;'; put 'put ''bzttYXgtaGVpZ2h0OjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtLWlubGluZSAuY2xyLXdpemFyZC1zdGVwbmF2LXdyYXBwZXIgLmNsci13aXphcmQtc3RlcG5hdiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQt''@;'; put 'put ''LWlubGluZS5jbHItd2l6YXJkIC5tb2RhbC1jb250ZW50IC5jbHItd2l6YXJkLXN0ZXBuYXZ7aGVpZ2h0OjEwMCV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtLW5vLXNoYWRvdyAubW9kYWwtY29udGVudC13cmFwcGVyLCAuc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLXdpemFyZC0tbm8tc2hhZG93IC5tb2RhbC1kaWFsb2d7Ym94LXNoYWRvdzpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItd2l6YXJkLS1uby10aXRsZSAuY2xyLXdpemFyZC10aXRsZXtkaXNwbGF5Om5vbmV9LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtLW5vLXRpdGxlIC5jbHItd2l6YXJkLXN0ZXBuYXZ7cGFkZGluZy10b3A6MS4ycmVtfUBtZWRpYSBzY3JlZW57LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQtcGFnZVthcmlhLWhpZGRlbj10cnVlXXtk''@;'; put 'put ''aXNwbGF5Om5vbmV9fUBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0byl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci13aXphcmQgLmNsci13aXphcmQtaGVhZGVyLWFjdGlvbnttYXJnaW4tdG9wOi0uMTVyZW19fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5zYXNqcy1yb290ey0tY2xyLXNpZ25wb3N0LWNvbnRlbnQtYmctY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTApOy0tY2xyLXNpZ25wb3N0LWNvbnRlbnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC01MDApOy0tY2xyLXNpZ25wb3N0LWFjdGlvbi1j''@;'; put 'put ''b2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNjAwKTstLWNsci1zaWducG9zdC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLWNsci1jb2xvci1hY3Rpb24tNzAwKTstLWNsci1zaWducG9zdC1ib3JkZXItcmFkaXVzOiB2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cyk7LS1jbHIt''@;'; put 'put ''c2lnbnBvc3QtcG9pbnRlci1ib3JkZXI6IHZhcigtLWNsci1zaWducG9zdC1wb2ludGVyLWJvcmRlcik7LS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyOiB2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyKTstLWNsci1zaWducG9zdC1wb2lu''@;'; put 'put ''dGVyLXBzdWVkby1ib3JkZXI6IHZhcigtLWNsci1zaWducG9zdC1wb2ludGVyLXBzdWVkby1ib3JkZXIpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdHtkaXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBv''@;'; put 'put ''c3Q6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0IC5zaWducG9zdC1hY3Rpb257bWluLXdpZHRoOjEuMnJlbTttYXJnaW46MDtwYWRkaW5nOjA7Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItc2lnbnBvc3QtYWN0aW9u''@;'; put 'put ''LWNvbG9yLCAjOGM4YzhjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QgLnNpZ25wb3N0LWFjdGlvbiBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0IC5zaWducG9zdC1hY3Rpb24gY2xyLWljb257aGVpZ2h0OjEu''@;'; put 'put ''MnJlbTt3aWR0aDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0IC5zaWducG9zdC1hY3Rpb246aG92ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdCAuc2lnbnBvc3QtYWN0aW9uLmFjdGl2ZXtjb2xvcjojMDA2NDhm''@;'; put 'put ''O2NvbG9yOnZhcigtLWNsci1zaWducG9zdC1hY3Rpb24taG92ZXItY29sb3IsICMwMDY0OGYpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdCAuc2lnbnBvc3QtY29udGVudC1oZWFkZXIgYnV0dG9uIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuc2lnbnBvc3QgLnNpZ25wb3N0LWNvbnRlbnQtaGVhZGVyIGJ1dHRvbiBjbHItaWNvbntoZWlnaHQ6LjhyZW07d2lkdGg6LjhyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LXRyaWdnZXJ7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6aW5s''@;'; put 'put ''aW5lLWJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWluLXdpZHRoOjEwLjhyZW07bWF4LXdpZHRoOjE4cmVtO21pbi1oZWlnaHQ6Mi40cmVtO21heC1oZWlnaHQ6MjUuMnJlbTtkaXNw''@;'; put 'put ''bGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwNTB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQ6aG92ZXJ7Y3Vyc29yOmRlZmF1bHR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNv''@;'; put 'put ''bnRlbnQgLnBvcG92ZXItcG9pbnRlcntoZWlnaHQ6MDt3aWR0aDowO3Bvc2l0aW9uOmFic29sdXRlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50IC5wb3BvdmVyLXBvaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IiI7aGVpZ2h0OjA7d2lkdGg6MDtwb3Np''@;'; put 'put ''dGlvbjphYnNvbHV0ZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC50b3AtbGVmdCAucG9wb3Zlci1wb2ludGVyLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC50b3AtbWlkZGxlIC5wb3BvdmVyLXBv''@;'; put 'put ''aW50ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnRvcC1yaWdodCAucG9wb3Zlci1wb2ludGVye2JvcmRlci10b3A6LjZyZW0gc29saWQgI2IzYjNiMztib3JkZXItdG9wOnZhcigtLWNsci1zaWducG9zdC1wb2ludGVyLWJvcmRlciwgLjZy''@;'; put 'put ''ZW0gc29saWQgI2IzYjNiMyk7Ym90dG9tOi0uNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC50b3AtbGVmdCAucG9wb3Zlci1wb2ludGVyOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRl''@;'; put 'put ''bnQudG9wLW1pZGRsZSAucG9wb3Zlci1wb2ludGVyOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQudG9wLXJpZ2h0IC5wb3BvdmVyLXBvaW50ZXI6YmVmb3Jle2JvcmRlci10b3A6LjZyZW0gc29saWQgd2hpdGU7Ym9yZGVyLXRvcDp2''@;'; put 'put ''YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1wc3VlZG8tYm9yZGVyLCAuNnJlbSBzb2xpZCB3aGl0ZSk7Ym90dG9tOi4xcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnRvcC1sZWZ0IC5zaWducG9zdC13cmFwe2JvcmRlci1ib3R0b20tcmln''@;'; put 'put ''aHQtcmFkaXVzOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQudG9wLWxlZnQgLnBvcG92ZXItcG9pbnRlcntib3JkZXItbGVmdDouNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1p''@;'; put 'put ''bnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudCk7cmlnaHQ6LS4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC50b3AtbGVmdCAucG9wb3Zlci1wb2ludGVyOmJlZm9yZXtib3JkZXItbGVmdDouNnJlbSBzb2xpZCB0''@;'; put 'put ''cmFuc3BhcmVudDtib3JkZXItbGVmdDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudCk7cmlnaHQ6LjA1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnRvcC1taWRk''@;'; put 'put ''bGUgLnBvcG92ZXItcG9pbnRlcntib3JkZXItcmlnaHQ6LjZyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OnZhcigtLWNsci1zaWducG9zdC1wb2ludGVyLWludmlzaWJsZS1ib3JkZXIsIC42cmVtIHNvbGlkIHRyYW5zcGFyZW50KTtsZWZ0OjUwJX0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC50b3AtbWlkZGxlIC5wb3BvdmVyLXBvaW50ZXI6YmVmb3Jle2JvcmRlci1yaWdodDouNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwg''@;'; put 'put ''LjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO2xlZnQ6LjA1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnRvcC1yaWdodCAuc2lnbnBvc3Qtd3JhcHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQudG9wLXJpZ2h0IC5wb3BvdmVyLXBvaW50ZXJ7Ym9yZGVyLXJpZ2h0Oi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFu''@;'; put 'put ''c3BhcmVudCk7bGVmdDotLjA1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnRvcC1yaWdodCAucG9wb3Zlci1wb2ludGVyOmJlZm9yZXtib3JkZXItcmlnaHQ6LjZyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OnZhcigtLWNs''@;'; put 'put ''ci1zaWducG9zdC1wb2ludGVyLWludmlzaWJsZS1ib3JkZXIsIC42cmVtIHNvbGlkIHRyYW5zcGFyZW50KTtsZWZ0Oi4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC5ib3R0b20tbGVmdCAucG9wb3Zlci1wb2ludGVyLCAuc2FzanMtdWlb''@;'; put 'put ''X25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC5ib3R0b20tbWlkZGxlIC5wb3BvdmVyLXBvaW50ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmJvdHRvbS1yaWdodCAucG9wb3Zlci1wb2ludGVye2JvcmRlci1ib3R0''@;'; put 'put ''b206LjZyZW0gc29saWQgI2IzYjNiMztib3JkZXItYm90dG9tOnZhcigtLWNsci1zaWducG9zdC1wb2ludGVyLWJvcmRlciwgLjZyZW0gc29saWQgI2IzYjNiMyk7dG9wOi0uNTVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQuYm90dG9tLWxl''@;'; put 'put ''ZnQgLnBvcG92ZXItcG9pbnRlcjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmJvdHRvbS1taWRkbGUgLnBvcG92ZXItcG9pbnRlcjpiZWZvcmUsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250''@;'; put 'put ''ZW50LmJvdHRvbS1yaWdodCAucG9wb3Zlci1wb2ludGVyOmJlZm9yZXtib3JkZXItYm90dG9tOi42cmVtIHNvbGlkIHdoaXRlO2JvcmRlci1ib3R0b206dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItcHN1ZWRvLWJvcmRlciwgLjZyZW0gc29saWQgd2hpdGUpO3RvcDouMXJlbX0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC5ib3R0b20tbGVmdCAuc2lnbnBvc3Qtd3JhcHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmJvdHRvbS1sZWZ0IC5wb3Bv''@;'; put 'put ''dmVyLXBvaW50ZXJ7Ym9yZGVyLWxlZnQ6LjZyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwgLjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO3JpZ2h0Oi0uMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQt''@;'; put 'put ''JUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQuYm90dG9tLWxlZnQgLnBvcG92ZXItcG9pbnRlcjpiZWZvcmV7Ym9yZGVyLWxlZnQ6LjZyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwgLjZyZW0g''@;'; put 'put ''c29saWQgdHJhbnNwYXJlbnQpO3JpZ2h0Oi4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC5ib3R0b20tbWlkZGxlIC5wb3BvdmVyLXBvaW50ZXJ7Ym9yZGVyLXJpZ2h0Oi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDp2''@;'; put 'put ''YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudCk7cmlnaHQ6NTAlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmJvdHRvbS1taWRkbGUgLnBvcG92ZXItcG9pbnRlcjpiZWZv''@;'; put 'put ''cmV7Ym9yZGVyLXJpZ2h0Oi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudCk7cmlnaHQ6LS42NXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVd''@;'; put 'put ''ICAgICAuc2lnbnBvc3QtY29udGVudC5ib3R0b20tcmlnaHQgLnNpZ25wb3N0LXdyYXB7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmJvdHRvbS1yaWdodCAucG9wb3Zlci1wb2ludGVye2JvcmRlci1y''@;'; put 'put ''aWdodDouNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwgLjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO2xlZnQ6LS4wNXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBv''@;'; put 'put ''c3QtY29udGVudC5ib3R0b20tcmlnaHQgLnBvcG92ZXItcG9pbnRlcjpiZWZvcmV7Ym9yZGVyLXJpZ2h0Oi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVu''@;'; put 'put ''dCk7bGVmdDouMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVmdC10b3AgLnBvcG92ZXItcG9pbnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVmdC1taWRkbGUgLnBvcG92ZXIt''@;'; put 'put ''cG9pbnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVmdC1ib3R0b20gLnBvcG92ZXItcG9pbnRlcntib3JkZXItbGVmdDouNnJlbSBzb2xpZCAjYjNiM2IzO2JvcmRlci1sZWZ0OnZhcigtLWNsci1zaWducG9zdC1wb2ludGVyLWJvcmRl''@;'; put 'put ''ciwgLjZyZW0gc29saWQgI2IzYjNiMyk7cmlnaHQ6LS42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmxlZnQtdG9wIC5wb3BvdmVyLXBvaW50ZXI6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3Qt''@;'; put 'put ''Y29udGVudC5sZWZ0LW1pZGRsZSAucG9wb3Zlci1wb2ludGVyOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVmdC1ib3R0b20gLnBvcG92ZXItcG9pbnRlcjpiZWZvcmV7Ym9yZGVyLWxlZnQ6LjZyZW0gc29saWQgd2hpdGU7Ym9y''@;'; put 'put ''ZGVyLWxlZnQ6dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItcHN1ZWRvLWJvcmRlciwgLjZyZW0gc29saWQgd2hpdGUpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmxlZnQtdG9wIC5zaWducG9zdC13cmFwe2JvcmRlci1ib3R0b20tcmlnaHQt''@;'; put 'put ''cmFkaXVzOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVmdC10b3AgLnBvcG92ZXItcG9pbnRlcntib3JkZXItdG9wOi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNp''@;'; put 'put ''YmxlLWJvcmRlciwgLjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO2JvdHRvbTotLjA1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmxlZnQtdG9wIC5wb3BvdmVyLXBvaW50ZXI6YmVmb3Jle2JvcmRlci10b3A6LjZyZW0gc29saWQgdHJhbnNw''@;'; put 'put ''YXJlbnQ7Ym9yZGVyLXRvcDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudCk7dG9wOi0uNjVyZW07cmlnaHQ6LjFyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVm''@;'; put 'put ''dC1taWRkbGUgLnBvcG92ZXItcG9pbnRlcntib3JkZXItYm90dG9tOi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwgLjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO3RvcDo1MCU7dHJhbnNmb3Jt''@;'; put 'put ''OnRyYW5zbGF0ZVkoLTUwJSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVmdC1taWRkbGUgLnBvcG92ZXItcG9pbnRlcjpiZWZvcmV7Ym9yZGVyLWJvdHRvbTouNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOnZhcigtLWNs''@;'; put 'put ''ci1zaWducG9zdC1wb2ludGVyLWludmlzaWJsZS1ib3JkZXIsIC42cmVtIHNvbGlkIHRyYW5zcGFyZW50KTt0b3A6LjA1cmVtO2xlZnQ6LS43cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmxlZnQtYm90dG9tIC5zaWducG9zdC13cmFwe2Jv''@;'; put 'put ''cmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQubGVmdC1ib3R0b20gLnBvcG92ZXItcG9pbnRlcntib3JkZXItYm90dG9tOi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206dmFyKC0tY2xy''@;'; put 'put ''LXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwgLjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO3RvcDotLjA1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LmxlZnQtYm90dG9tIC5wb3BvdmVyLXBvaW50ZXI6YmVmb3Jle2JvcmRl''@;'; put 'put ''ci1ib3R0b206LjZyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudCk7dG9wOi4wNXJlbTtsZWZ0Oi0uN3JlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09N''@;'; put 'put ''UCVdICAgICAuc2lnbnBvc3QtY29udGVudC5yaWdodC10b3AgLnBvcG92ZXItcG9pbnRlciwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQucmlnaHQtbWlkZGxlIC5wb3BvdmVyLXBvaW50ZXIsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0g''@;'; put 'put ''ICAgIC5zaWducG9zdC1jb250ZW50LnJpZ2h0LWJvdHRvbSAucG9wb3Zlci1wb2ludGVye2JvcmRlci1yaWdodDouNnJlbSBzb2xpZCAjYjNiM2IzO2JvcmRlci1yaWdodDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1ib3JkZXIsIC42cmVtIHNvbGlkICNiM2IzYjMpO2xlZnQ6LS42cmVt''@;'; put 'put ''fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnJpZ2h0LXRvcCAucG9wb3Zlci1wb2ludGVyOmJlZm9yZSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQucmlnaHQtbWlkZGxlIC5wb3BvdmVyLXBvaW50''@;'; put 'put ''ZXI6YmVmb3JlLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC5yaWdodC1ib3R0b20gLnBvcG92ZXItcG9pbnRlcjpiZWZvcmV7Ym9yZGVyLXJpZ2h0Oi42cmVtIHNvbGlkIHdoaXRlO2JvcmRlci1yaWdodDp2YXIoLS1jbHItc2lnbnBvc3QtcG9p''@;'; put 'put ''bnRlci1wc3VlZG8tYm9yZGVyLCAuNnJlbSBzb2xpZCB3aGl0ZSk7bGVmdDouMXJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC5yaWdodC10b3AgLnNpZ25wb3N0LXdyYXB7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnJpZ2h0LXRvcCAucG9wb3Zlci1wb2ludGVye2JvcmRlci10b3A6LjZyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDp2YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBz''@;'; put 'put ''b2xpZCB0cmFuc3BhcmVudCk7Ym90dG9tOi0uMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQucmlnaHQtdG9wIC5wb3BvdmVyLXBvaW50ZXI6YmVmb3Jle2JvcmRlci10b3A6LjZyZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDp2''@;'; put 'put ''YXIoLS1jbHItc2lnbnBvc3QtcG9pbnRlci1pbnZpc2libGUtYm9yZGVyLCAuNnJlbSBzb2xpZCB0cmFuc3BhcmVudCk7dG9wOi0uNjVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQucmlnaHQtbWlkZGxlIC5wb3BvdmVyLXBvaW50ZXJ7Ym9y''@;'; put 'put ''ZGVyLWJvdHRvbTouNnJlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOnZhcigtLWNsci1zaWducG9zdC1wb2ludGVyLWludmlzaWJsZS1ib3JkZXIsIC42cmVtIHNvbGlkIHRyYW5zcGFyZW50KTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnJpZ2h0LW1pZGRsZSAucG9wb3Zlci1wb2ludGVyOmJlZm9yZXtib3JkZXItYm90dG9tOi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxl''@;'; put 'put ''LWJvcmRlciwgLjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO3RvcDouMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQucmlnaHQtYm90dG9tIC5zaWducG9zdC13cmFwe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0uc2FzanMtdWlbX25nY29u''@;'; put 'put ''dGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC5yaWdodC1ib3R0b20gLnBvcG92ZXItcG9pbnRlcntib3JkZXItYm90dG9tOi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwgLjZy''@;'; put 'put ''ZW0gc29saWQgdHJhbnNwYXJlbnQpO3RvcDotLjA1cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5zaWducG9zdC1jb250ZW50LnJpZ2h0LWJvdHRvbSAucG9wb3Zlci1wb2ludGVyOmJlZm9yZXtib3JkZXItYm90dG9tOi42cmVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRl''@;'; put 'put ''ci1ib3R0b206dmFyKC0tY2xyLXNpZ25wb3N0LXBvaW50ZXItaW52aXNpYmxlLWJvcmRlciwgLjZyZW0gc29saWQgdHJhbnNwYXJlbnQpO3RvcDouMDVyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LWNvbnRlbnQtaGVhZGVye2Rpc3BsYXk6ZmxleDtqdXN0''@;'; put 'put ''aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7dG9wOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNpZ25wb3N0LXdyYXB7Ym9yZGVyLXJhZGl1czouMTVyZW07Ym9yZGVyLXJhZGl1czp2''@;'; put 'put ''YXIoLS1jbHItc2lnbnBvc3QtYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2IzYjNiMztib3JkZXItY29sb3I6''@;'; put 'put ''dmFyKC0tY2xyLXNpZ25wb3N0LWNvbnRlbnQtYm9yZGVyLWNvbG9yLCAjYjNiM2IzKTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItc2lnbnBvc3QtY29udGVudC1iZy1jb2xvciwgd2hpdGUpO3otaW5kZXg6MTA1MDtwb3NpdGlvbjpyZWxhdGl2ZX0u''@;'; put 'put ''c2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuc2lnbnBvc3QtY29udGVudC1ib2R5e3BhZGRpbmc6MS4ycmVtO21heC1oZWlnaHQ6MjRyZW07b3ZlcmZsb3cteTphdXRvfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcmFnLWhhbmRsZXtjdXJzb3I6LXdlYmtpdC1n''@;'; put 'put ''cmFiO2N1cnNvcjpncmFifS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5pbi1kcmFne2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZzstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmluLWRyYWcgKntwb2ludGVyLWV2ZW50czpub25lfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5pbi1kcmFnIC5kcmFnZ2FibGUuYmVpbmctZHJhZ2dlZHtvcGFjaXR5Oi42fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01Q''@;'; put 'put ''JV0gICAgIC5kcmFnZ2FibGUtZ2hvc3R7cG9zaXRpb246Zml4ZWQ7ZGlzcGxheTpibG9jazt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjIxNDc0ODM2NDc7cG9pbnRlci1ldmVudHM6bm9uZTt3aWxsLWNoYW5nZTpsZWZ0LHRvcH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAu''@;'; put 'put ''ZHJhZ2dhYmxlLWdob3N0Pi5kcmFnZ2FibGV7bWFyZ2luOjA7b3BhY2l0eToxfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5kcmFnZ2FibGUtZ2hvc3QuZHJvcHBlZHtvcGFjaXR5OjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmRyb3BwYWJsZS5kcmFnZ2Fi''@;'; put 'put ''bGUtbWF0Y2h7Ym9yZGVyOi4wNXJlbSBkYXNoZWQgI2MwOTBkNX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuZHJvcHBhYmxlLmRyYWdnYWJsZS1vdmVye2JvcmRlcjouMDVyZW0gZGFzaGVkICM2ODAwOTR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pz''@;'; put 'put ''LXJvb3R7LS1jbHItYWNjb3JkaW9uLXRleHQtY29sb3I6IHZhcigtLWNsci1nbG9iYWwtZm9udC1jb2xvcik7LS1jbHItYWNjb3JkaW9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItZ2xvYmFsLXNlbGVjdGlvbi1jb2xvcik7LS1jbHItYWNjb3JkaW9uLWNvbnRlbnQtYmFj''@;'; put 'put ''a2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtMCk7LS1jbHItYWNjb3JkaW9uLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC01MCk7LS1jbHItYWNjb3JkaW9uLWhlYWRlci1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1j''@;'; put 'put ''bHItY29sb3ItbmV1dHJhbC0yMDApOy0tY2xyLWFjY29yZGlvbi1oZWFkZXItZm9udC1zaXplOiAuOHJlbTstLWNsci1hY2NvcmRpb24taGVhZGVyLWJ1dHRvbi1mb250LXNpemU6IC42cmVtOy0tY2xyLWFjY29yZGlvbi10aXRsZS1mb250LXdlaWdodDogNTAwOy0tY2xyLWFjY29yZGlvbi10''@;'; put 'put ''aXRsZS1mb250LXNpemU6IC42NXJlbTstLWNsci1hY2NvcmRpb24tZXJyb3ItY29sb3I6IHZhcigtLWNsci1nbG9iYWwtZXJyb3ItY29sb3IpOy0tY2xyLWFjY29yZGlvbi1jb21wbGV0ZS1jb2xvcjogdmFyKC0tY2xyLWdsb2JhbC1zdWNjZXNzLWNvbG9yKTstLWNsci1hY2NvcmRpb24tYm9y''@;'; put 'put ''ZGVyLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC00MDApOy0tY2xyLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiB2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcnJhZGl1cyk7LS1jbHItYWNjb3JkaW9uLWJvcmRlci1sZWZ0LWNvbG9yOiAjZThlOGU4Oy0tY2xyLWFjY29yZGlvbi1ib3Jk''@;'; put 'put ''ZXItbGVmdC13aWR0aDogLjNyZW07LS1jbHItYWNjb3JkaW9uLWJvcmRlci1sZWZ0LWNvbG9yLWNvbXBsZXRlOiB2YXIoLS1jbHItYWNjb3JkaW9uLWNvbXBsZXRlLWNvbG9yKTstLWNsci1hY2NvcmRpb24tYm9yZGVyLWxlZnQtY29sb3ItZXJyb3I6IHZhcigtLWNsci1hY2NvcmRpb24tZXJy''@;'; put 'put ''b3ItY29sb3IpOy0tY2xyLWFjY29yZGlvbi1oZWFkZXItbGVmdC1pbmRpY2F0b3I6IGluc2V0IHZhcigtLWNsci1hY2NvcmRpb24tYm9yZGVyLWxlZnQtd2lkdGgpIDAgMCB2YXIoLS1jbHItYWNjb3JkaW9uLWJvcmRlci1sZWZ0LWNvbG9yKTstLWNsci1hY2NvcmRpb24taGVhZGVyLWxlZnQt''@;'; put 'put ''Y29tcGxldGUtaW5kaWNhdG9yOiBpbnNldCB2YXIoLS1jbHItYWNjb3JkaW9uLWJvcmRlci1sZWZ0LXdpZHRoKSAwIDAgdmFyKC0tY2xyLWFjY29yZGlvbi1ib3JkZXItbGVmdC1jb2xvci1jb21wbGV0ZSk7LS1jbHItYWNjb3JkaW9uLWhlYWRlci1sZWZ0LWVycm9yLWluZGljYXRvcjogaW5z''@;'; put 'put ''ZXQgdmFyKC0tY2xyLWFjY29yZGlvbi1ib3JkZXItbGVmdC13aWR0aCkgMCAwIHZhcigtLWNsci1hY2NvcmRpb24tYm9yZGVyLWxlZnQtY29sb3ItZXJyb3IpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9ue2Rpc3BsYXk6YmxvY2s7Y291bnRlci1yZXNl''@;'; put 'put ''dDphY2NvcmRpb247bWFyZ2luLWJvdHRvbToxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tcGFuZWx7ZGlzcGxheTpibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1oZWFkZXJ7Y29sb3I6IzY2''@;'; put 'put ''Njtjb2xvcjp2YXIoLS1jbHItYWNjb3JkaW9uLXRleHQtY29sb3IsICM2NjY2NjYpO2JvcmRlcjouMDVyZW0gc29saWQ7Ym9yZGVyLWNvbG9yOiNjY2M7Ym9yZGVyLWNvbG9yOnZhcigtLWNsci1hY2NvcmRpb24tYm9yZGVyLWNvbG9yLCAjY2NjY2NjKTtib3gtc2hhZG93Omluc2V0IC4zcmVt''@;'; put 'put ''IDAgI2U4ZThlODtib3gtc2hhZG93OnZhcigtLWNsci1hY2NvcmRpb24taGVhZGVyLWxlZnQtaW5kaWNhdG9yLCBpbnNldCAuM3JlbSAwIDAgI2U4ZThlOCk7YmFja2dyb3VuZDojZmFmYWZhO2JhY2tncm91bmQ6dmFyKC0tY2xyLWFjY29yZGlvbi1oZWFkZXItYmFja2dyb3VuZC1jb2xvciwg''@;'; put 'put ''I2ZhZmFmYSk7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0O2JvcmRlci1ib3R0b206MDt3aWR0aDoxMDAlO2ZvbnQtc2l6ZTouOHJlbTtmb250LXNpemU6dmFyKC0tY2xyLWFjY29yZGlvbi1oZWFkZXItZm9udC1zaXplLCAuOHJlbSk7dGV4dC1hbGlnbjpsZWZ0fS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jbHItYWNjb3JkaW9uLWhlYWRlci1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZThlOGU4KX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1wYW5lbDpsYXN0LWNoaWxkIC5jbHItYWNjb3JkaW9uLWNvbnRlbnQsIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLXBhbmVsOmxhc3QtY2hpbGQgLmNsci1hY2NvcmRpb24taGVhZGVye2Jv''@;'; put 'put ''cmRlci1ib3R0b20tc3R5bGU6c29saWQ7Ym9yZGVyLWJvdHRvbS13aWR0aDouMDVyZW07Ym9yZGVyLWJvdHRvbS13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1ib3R0b20tY29sb3I6I2NjYztib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNsci1h''@;'; put 'put ''Y2NvcmRpb24tYm9yZGVyLWNvbG9yLCAjY2NjY2NjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1udW1iZXJ7cGFkZGluZzowIC45cmVtO2Rpc3BsYXk6bm9uZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1u''@;'; put 'put ''dW1iZXI6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihhY2NvcmRpb24pICIuIjtjb3VudGVyLWluY3JlbWVudDphY2NvcmRpb259LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24taGVhZGVyLWJ1dHRvbntkaXNwbGF5OmZsZXg7ZmxleC1mbG93OnJvdyB3cmFw''@;'; put 'put ''O2ZsZXg6MSAxIDAlO3dpZHRoOjEwMCU7Ym9yZGVyOjA7cGFkZGluZzouOXJlbTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci1hY2NvcmRpb24tdGV4dC1jb2xvciwgIzY2NjY2Nil9QG1lZGlh''@;'; put 'put ''IChtaW4td2lkdGg6IDU3NnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1oZWFkZXItYnV0dG9ue2ZsZXgtZmxvdzpyb3d9fS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLXN0YXR1c3t3aWR0aDoxLjhyZW07''@;'; put 'put ''ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLXRpdGxle2Rpc3BsYXk6aW5saW5lLWJsb2NrfUBtZWRpYSAobWluLXdpZHRoOiA1NzZweCl7LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNP''@;'; put 'put ''TVAlXSAgICAgY2xyLXN0ZXAtdGl0bGUuY2xyLWFjY29yZGlvbi10aXRsZXttaW4td2lkdGg6OC42NHJlbX19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24taGVhZGVyLWhhcy1kZXNjcmlwdGlvbiAuY2xyLWFjY29yZGlvbi10aXRsZXttYXgtd2lkdGg6''@;'; put 'put ''MTMuMnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1kZXNjcmlwdGlvbntkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MzIuNXJlbX1AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpey5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAg''@;'; put 'put ''IC5jbHItYWNjb3JkaW9uLWRlc2NyaXB0aW9ue21hcmdpbi1sZWZ0OjEuOHJlbX19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tY29udGVudHtiYWNrZ3JvdW5kOndoaXRlO2JhY2tncm91bmQ6dmFyKC0tY2xyLWFjY29yZGlvbi1jb250ZW50LWJhY2tn''@;'; put 'put ''cm91bmQtY29sb3IsIHdoaXRlKTtib3JkZXItd2lkdGg6LjA1cmVtO2JvcmRlci13aWR0aDp2YXIoLS1jbHItZ2xvYmFsLWJvcmRlcndpZHRoLCAuMDVyZW0pO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2NjYztib3JkZXItY29sb3I6dmFyKC0tY2xyLWFjY29yZGlvbi1ib3Jk''@;'; put 'put ''ZXItY29sb3IsICNjY2NjY2MpO2JvcmRlci1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzouOXJlbTtkaXNwbGF5Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tY29udGVudCAuY2xyLWZvcm17cGFkZGluZzowfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLWNvbnRlbnQubmctdHJpZ2dlcntwYWRkaW5nOjB9QG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6LjlyZW0gMi43''@;'; put 'put ''cmVtfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1pbm5lci1jb250ZW50e3BhZGRpbmc6LjlyZW19QG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KXsuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1pbm5lci1jb250''@;'; put 'put ''ZW50e3BhZGRpbmc6LjlyZW0gMi43cmVtfX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1hbmdsZXt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnJvdGF0ZSg5MCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAg''@;'; put 'put ''LmNsci1hY2NvcmRpb24tZXJyb3ItaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tY29tcGxldGUtaWNvbntoZWlnaHQ6MS4ycmVtO3dpZHRoOjEuMnJlbTtkaXNwbGF5Om5vbmU7cGFkZGluZzowO21hcmdpbjowIC42cmVtfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLXBhbmVsLW9wZW4gLmNsci1hY2NvcmRpb24tY29udGVudHtkaXNwbGF5OmJsb2NrfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLXBhbmVsLW9wZW4gLmNsci1hY2NvcmRpb24tYW5nbGV7''@;'; put 'put ''dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1wYW5lbC1vcGVuIC5jbHItYWNjb3JkaW9uLWhlYWRlcntiYWNrZ3JvdW5kOiNkOGUzZTk7YmFja2dyb3VuZDp2YXIoLS1jbHIt''@;'; put 'put ''YWNjb3JkaW9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yLCAjZDhlM2U5KX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1wYW5lbC1jb21wbGV0ZSAuY2xyLWFjY29yZGlvbi1jb21wbGV0ZS1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM1''@;'; put 'put ''YWEyMjA7Y29sb3I6dmFyKC0tY2xyLWFjY29yZGlvbi1jb21wbGV0ZS1jb2xvciwgIzVhYTIyMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tcGFuZWwtY29tcGxldGUgLmNsci1hY2NvcmRpb24tYW5nbGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zYXNq''@;'; put 'put ''cy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLXBhbmVsLWNvbXBsZXRlIC5jbHItYWNjb3JkaW9uLWhlYWRlcntib3gtc2hhZG93Omluc2V0IC4zcmVtIDAgIzVhYTIyMDtib3gtc2hhZG93OnZhcigtLWNsci1hY2NvcmRpb24taGVhZGVyLWxlZnQtY29tcGxldGUt''@;'; put 'put ''aW5kaWNhdG9yLCBpbnNldCAuM3JlbSAwIDAgIzVhYTIyMCl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tcGFuZWwtY29tcGxldGUgLm5nLXRyaWdnZXIuY2xyLWFjY29yZGlvbi1jb250ZW50e2Rpc3BsYXk6YmxvY2t9LnNhc2pzLXVpW19uZ2NvbnRl''@;'; put 'put ''bnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tcGFuZWwtZXJyb3IgLmNsci1hY2NvcmRpb24taGVhZGVye2JvcmRlci1ib3R0b206LjA1cmVtIHNvbGlkO2JvcmRlci1jb2xvcjojYzIxZDAwO2JvcmRlci1jb2xvcjp2YXIoLS1jbHItYWNjb3JkaW9uLWJvcmRlci1sZWZ0LWNvbG9yLWVy''@;'; put 'put ''cm9yLCAjYzIxZDAwKTtib3gtc2hhZG93Omluc2V0IC4zcmVtIDAgI2MyMWQwMDtib3gtc2hhZG93OnZhcigtLWNsci1hY2NvcmRpb24taGVhZGVyLWxlZnQtZXJyb3ItaW5kaWNhdG9yLCBpbnNldCAuM3JlbSAwIDAgI2MyMWQwMCk7YmFja2dyb3VuZC1jb2xvcjojZDhlM2U5O2JhY2tncm91''@;'; put 'put ''bmQtY29sb3I6dmFyKC0tY2xyLWFjY29yZGlvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvciwgI2Q4ZTNlOSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tcGFuZWwtZXJyb3IgLmNsci1hY2NvcmRpb24tZXJyb3ItaWNvbntkaXNwbGF5OmlubGluZS1i''@;'; put 'put ''bG9jaztjb2xvcjojYzIxZDAwO2NvbG9yOnZhcigtLWNsci1hY2NvcmRpb24tZXJyb3ItY29sb3IsICNjMjFkMDApfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uLXBhbmVsLWVycm9yIC5jbHItYWNjb3JkaW9uLW51bWJlciwgLnNhc2pzLXVpW19uZ2Nv''@;'; put 'put ''bnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb24tcGFuZWwtY29tcGxldGUgLmNsci1hY2NvcmRpb24tbnVtYmVye3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpOy13ZWJraXQtY2xpcC1wYXRoOmluc2V0KDUwJSk7Y2xpcC1wYXRoOmluc2V0KDUwJSk7''@;'; put 'put ''cGFkZGluZzowO2JvcmRlcjowO2hlaWdodDoxcHg7d2lkdGg6MXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dG9wOjA7bGVmdDowfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uOm5vdCguY2xyLXN0ZXBwZXItZm9ybXMpIC5jbHIt''@;'; put 'put ''YWNjb3JkaW9uLWhlYWRlcntib3gtc2hhZG93Om5vbmV9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb246bm90KC5jbHItc3RlcHBlci1mb3JtcykgLmNsci1hY2NvcmRpb24tcGFuZWw6Zmlyc3QtY2hpbGQgLmNsci1hY2NvcmRpb24taGVhZGVye2JvcmRl''@;'; put 'put ''ci10b3AtbGVmdC1yYWRpdXM6LjE1cmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6dmFyKC0tY2xyLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAuMTVyZW0pO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4xNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czp2YXIoLS1jbHItYWNjb3JkaW9u''@;'; put 'put ''LWJvcmRlci1yYWRpdXMsIC4xNXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb246bm90KC5jbHItc3RlcHBlci1mb3JtcykgLmNsci1hY2NvcmRpb24tcGFuZWw6bGFzdC1jaGlsZCAuY2xyLWFjY29yZGlvbi1jb250ZW50LCAuc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbjpub3QoLmNsci1zdGVwcGVyLWZvcm1zKSAuY2xyLWFjY29yZGlvbi1wYW5lbDpsYXN0LWNoaWxkIC5jbHItYWNjb3JkaW9uLWhlYWRlcntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4xNXJlbTtib3JkZXItYm90dG9tLWxlZnQt''@;'; put 'put ''cmFkaXVzOnZhcigtLWNsci1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgLjE1cmVtKTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMTVyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6dmFyKC0tY2xyLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAuMTVyZW0pfS5zYXNqcy11aVtf''@;'; put 'put ''bmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uOm5vdCguY2xyLXN0ZXBwZXItZm9ybXMpIC5jbHItYWNjb3JkaW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXdlaWdodDp2YXIoLS1jbHItYWNjb3JkaW9uLXRpdGxlLWZvbnQtd2VpZ2h0LCA1MDApO2ZvbnQtc2l6ZTou''@;'; put 'put ''NjVyZW07Zm9udC1zaXplOnZhcigtLWNsci1hY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLCAuNjVyZW0pfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uOm5vdCguY2xyLXN0ZXBwZXItZm9ybXMpIC5jbHItYWNjb3JkaW9uLWhlYWRlci1idXR0b257Zm9u''@;'; put 'put ''dC1zaXplOi42cmVtO2ZvbnQtc2l6ZTp2YXIoLS1jbHItYWNjb3JkaW9uLWhlYWRlci1idXR0b24tZm9udC1zaXplLCAuNnJlbSk7cGFkZGluZzouM3JlbSAuNnJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbjpub3QoLmNsci1zdGVwcGVyLWZvcm1z''@;'; put 'put ''KSAuY2xyLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbjpub3QoLmNsci1zdGVwcGVyLWZvcm1zKSAuY2xyLWFjY29yZGlvbi1pbm5lci1jb250ZW50e3BhZGRpbmc6LjNyZW0gMS43NXJlbX0uc2FzanMt''@;'; put 'put ''dWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbjpub3QoLmNsci1zdGVwcGVyLWZvcm1zKSAuY2xyLWFjY29yZGlvbi1zdGF0dXN7d2lkdGg6Ljk2cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItYWNjb3JkaW9uOm5vdCguY2xyLXN0ZXBwZXIt''@;'; put 'put ''Zm9ybXMpIC5jbHItYWNjb3JkaW9uLXN0YXR1cyBjZHMtaWNvbiwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1hY2NvcmRpb246bm90KC5jbHItc3RlcHBlci1mb3JtcykgLmNsci1hY2NvcmRpb24tc3RhdHVzIGNsci1pY29ue2hlaWdodDouN3JlbTt3aWR0aDouN3Jl''@;'; put 'put ''bX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLWFjY29yZGlvbi1wYW5lbC1vcGVuIC5jbHItYWNjb3JkaW9uLWhlYWRlcntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjAhaW1wb3J0YW50O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjAhaW1wb3J0YW50O2JvcmRl''@;'; put 'put ''ci1ib3R0b206MCFpbXBvcnRhbnR9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zdGVwcGVyLWZvcm1zIC5jbHItYWNjb3JkaW9uLXBhbmVsLWluYWN0aXZlIC5jbHItYWNjb3JkaW9uLWFuZ2xle3Zpc2liaWxpdHk6aGlkZGVufS5zYXNqcy11aVtfbmdjb250ZW50LSVD''@;'; put 'put ''T01QJV0gICAgIC5jbHItc3RlcHBlci1mb3JtcyAuY2xyLWFjY29yZGlvbi1wYW5lbC1vcGVuIC5jbHItYWNjb3JkaW9uLWFuZ2xle3Zpc2liaWxpdHk6dmlzaWJsZX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXN0ZXBwZXItZm9ybXMgLmNsci1hY2NvcmRpb24tc3Rh''@;'; put 'put ''dHVze21pbi13aWR0aDozLjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci1zdGVwcGVyLWZvcm1zIC5jbHItYWNjb3JkaW9uLW51bWJlcntkaXNwbGF5OmlubGluZS1ibG9ja30uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXN0ZXAtYnV0dG9u''@;'; put 'put ''e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxLjJyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnNhc2pzLXJvb3R7LS1jbHItdGltZWxpbmUtbGluZS1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNTAwKTstLWNsci10aW1lbGluZS1zdGVwLWhlYWRlci1jb2xv''@;'; put 'put ''cjogdmFyKC0tY2xyLWNvbG9yLW5ldXRyYWwtNjAwKTstLWNsci10aW1lbGluZS1zdGVwLXRpdGxlLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC03MDApOy0tY2xyLXRpbWVsaW5lLXN0ZXAtZGVzY3JpcHRpb24tY29sb3I6IHZhcigtLWNsci1jb2xvci1uZXV0cmFsLTcwMCk7LS1j''@;'; put 'put ''bHItdGltZWxpbmUtaW5jb21wbGV0ZS1zdGVwLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItbmV1dHJhbC02MDApOy0tY2xyLXRpbWVsaW5lLWN1cnJlbnQtc3RlcC1jb2xvcjogdmFyKC0tY2xyLWNvbG9yLWFjdGlvbi02MDApOy0tY2xyLXRpbWVsaW5lLXN1Y2Nlc3Mtc3RlcC1jb2xvcjogdmFy''@;'; put 'put ''KC0tY2xyLWNvbG9yLXN1Y2Nlc3MtNDAwKTstLWNsci10aW1lbGluZS1lcnJvci1zdGVwLWNvbG9yOiB2YXIoLS1jbHItY29sb3ItZGFuZ2VyLTgwMCk7LS1jbHItdGltZWxpbmUtc3RlcC10aXRsZS1mb250LXdlaWdodDogdmFyKC0tY2xyLXAyLWZvbnQtd2VpZ2h0KX0uc2FzanMtdWlbX25n''@;'; put 'put ''Y29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5le2Rpc3BsYXk6ZmxleDtwYWRkaW5nOi42cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7bWluLXdp''@;'; put 'put ''ZHRoOjguNzVyZW07bWFyZ2luLWxlZnQ6LjZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwIGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAgY2xyLWljb257aGVpZ2h0OjEuOHJl''@;'; put 'put ''bTt3aWR0aDoxLjhyZW07bWluLWhlaWdodDoxLjhyZW07bWluLXdpZHRoOjEuOHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAgY2RzLWljb25bc2hhcGU9Y2lyY2xlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10''@;'; put 'put ''aW1lbGluZS1zdGVwIGNsci1pY29uW3NoYXBlPWNpcmNsZV17Y29sb3I6IzhjOGM4Yztjb2xvcjp2YXIoLS1jbHItdGltZWxpbmUtaW5jb21wbGV0ZS1zdGVwLWNvbG9yLCAjOGM4YzhjKX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAgY2RzLWlj''@;'; put 'put ''b25bc2hhcGU9ZG90LWNpcmNsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcCBjbHItaWNvbltzaGFwZT1kb3QtY2lyY2xlXXtjb2xvcjojMDA3MmEzO2NvbG9yOnZhcigtLWNsci10aW1lbGluZS1jdXJyZW50LXN0ZXAtY29sb3IsICMwMDcy''@;'; put 'put ''YTMpfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcCBjZHMtaWNvbltzaGFwZT1zdWNjZXNzLXN0YW5kYXJkXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwIGNsci1pY29uW3NoYXBlPXN1Y2Nlc3Mt''@;'; put 'put ''c3RhbmRhcmRde2NvbG9yOiM1ZWI3MTU7Y29sb3I6dmFyKC0tY2xyLXRpbWVsaW5lLXN1Y2Nlc3Mtc3RlcC1jb2xvciwgIzVlYjcxNSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwIGNkcy1pY29uW3NoYXBlPWVycm9yLXN0YW5kYXJkXSwgLnNh''@;'; put 'put ''c2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwIGNsci1pY29uW3NoYXBlPWVycm9yLXN0YW5kYXJkXXtjb2xvcjojYzIxZDAwO2NvbG9yOnZhcigtLWNsci10aW1lbGluZS1lcnJvci1zdGVwLWNvbG9yLCAjYzIxZDAwKX0uc2FzanMtdWlbX25nY29udGVu''@;'; put 'put ''dC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXA6bm90KDpsYXN0LW9mLXR5cGUpIC5jbHItdGltZWxpbmUtc3RlcC1ib2R5OmJlZm9yZXtjb250ZW50OiIiO2JhY2tncm91bmQ6I2IzYjNiMztiYWNrZ3JvdW5kOnZhcigtLWNsci10aW1lbGluZS1saW5lLWNvbG9yLCAjYjNiM2IzKTto''@;'; put 'put ''ZWlnaHQ6LjFyZW07d2lkdGg6Y2FsYygxMDAlIC0gMXJlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxLjdyZW0sLS45NXJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwLWhlYWRlcntjb2xvcjojOGM4YzhjO2NvbG9yOnZhcigtLWNsci10aW1l''@;'; put 'put ''bGluZS1zdGVwLWhlYWRlci1jb2xvciwgIzhjOGM4Yyk7Zm9udC1zaXplOi42NXJlbTtsaW5lLWhlaWdodDouOXJlbTt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luLWJvdHRvbTouNHJlbX0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAtYm9keXtk''@;'; put 'put ''aXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcC1ib2R5IGNkcy1pY29uLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAtYm9keSBjbHItaWNv''@;'; put 'put ''bntoZWlnaHQ6LjhyZW07d2lkdGg6LjhyZW07bWluLXdpZHRoOjA7bWluLXdpZHRoOmluaXRpYWw7bWluLWhlaWdodDowO21pbi1oZWlnaHQ6aW5pdGlhbH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAtYm9keSBjZHMtaWNvbltzaGFwZT1jaXJj''@;'; put 'put ''bGVdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAtYm9keSBjZHMtaWNvbltzaGFwZT1kb3QtY2lyY2xlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwLWJvZHkgY2RzLWljb25bc2hhcGU9c3Vj''@;'; put 'put ''Y2Vzcy1zdGFuZGFyZF0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcC1ib2R5IGNkcy1pY29uW3NoYXBlPWVycm9yLXN0YW5kYXJkXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwLWJvZHkgY2xy''@;'; put 'put ''LWljb25bc2hhcGU9Y2lyY2xlXSwgLnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS1zdGVwLWJvZHkgY2xyLWljb25bc2hhcGU9ZG90LWNpcmNsZV0sIC5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcC1ib2R5IGNs''@;'; put 'put ''ci1pY29uW3NoYXBlPXN1Y2Nlc3Mtc3RhbmRhcmRdLCAuc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLXN0ZXAtYm9keSBjbHItaWNvbltzaGFwZT1lcnJvci1zdGFuZGFyZF17Y29sb3I6aW5oZXJpdH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAg''@;'; put 'put ''ICAuY2xyLXRpbWVsaW5lLXN0ZXAtdGl0bGV7Y29sb3I6IzY2Njtjb2xvcjp2YXIoLS1jbHItdGltZWxpbmUtc3RlcC10aXRsZS1jb2xvciwgIzY2NjY2Nik7Zm9udC1zaXplOi42NXJlbTtmb250LXdlaWdodDo1MDA7Zm9udC13ZWlnaHQ6dmFyKC0tY2xyLXRpbWVsaW5lLXN0ZXAtdGl0bGUt''@;'; put 'put ''Zm9udC13ZWlnaHQsIDUwMCk7bGluZS1oZWlnaHQ6LjlyZW07bWFyZ2luLXRvcDouNHJlbTttYXJnaW4tYm90dG9tOi4zcmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcC1kZXNjcmlwdGlvbntjb2xvcjojNjY2O2NvbG9yOnZhcigtLWNsci10''@;'; put 'put ''aW1lbGluZS1zdGVwLWRlc2NyaXB0aW9uLWNvbG9yLCAjNjY2NjY2KTtmb250LXNpemU6LjU1cmVtO2xpbmUtaGVpZ2h0Oi44cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcC1kZXNjcmlwdGlvbiBidXR0b257ZGlzcGxheTpibG9jazttYXJn''@;'; put 'put ''aW4tdG9wOi40cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUtc3RlcC1kZXNjcmlwdGlvbiBpbWd7d2lkdGg6MTAwJTttYXJnaW4tdG9wOi40cmVtfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUuY2xyLXRpbWVs''@;'; put 'put ''aW5lLXZlcnRpY2Fse2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MTZyZW19LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS5jbHItdGltZWxpbmUtdmVydGljYWwgLmNsci10aW1lbGluZS1zdGVwe2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW4t''@;'; put 'put ''bGVmdDowO3Bvc2l0aW9uOnJlbGF0aXZlfS5zYXNqcy11aVtfbmdjb250ZW50LSVDT01QJV0gICAgIC5jbHItdGltZWxpbmUuY2xyLXRpbWVsaW5lLXZlcnRpY2FsIC5jbHItdGltZWxpbmUtc3RlcDpub3QoOmxhc3Qtb2YtdHlwZSl7bWFyZ2luLWJvdHRvbToxLjhyZW19LnNhc2pzLXVpW19u''@;'; put 'put ''Z2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS5jbHItdGltZWxpbmUtdmVydGljYWwgLmNsci10aW1lbGluZS1zdGVwOm5vdCg6bGFzdC1vZi10eXBlKSAuY2xyLXRpbWVsaW5lLXN0ZXAtYm9keTpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6LjFyZW07aGVpZ2h0OmNh''@;'; put 'put ''bGMoMTAwJSArIC4ycmVtKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xLjU1cmVtLDEuNHJlbSl9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGluZS5jbHItdGltZWxpbmUtdmVydGljYWwgLmNsci10aW1lbGluZS1zdGVwLWhlYWRlcnt0ZXh0LWFsaWduOnJpZ2h0''@;'; put 'put ''O3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2lkdGg6M3JlbTttaW4td2lkdGg6M3JlbTttYXJnaW4tcmlnaHQ6LjZyZW07bWFyZ2luLXRvcDouM3JlbTttYXJnaW4tYm90dG9tOjB9LnNhc2pzLXVpW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLmNsci10aW1lbGlu''@;'; put 'put ''ZS5jbHItdGltZWxpbmUtdmVydGljYWwgLmNsci10aW1lbGluZS1zdGVwLXRpdGxle21hcmdpbi10b3A6MH0uc2FzanMtdWlbX25nY29udGVudC0lQ09NUCVdICAgICAuY2xyLXRpbWVsaW5lLmNsci10aW1lbGluZS12ZXJ0aWNhbCAuY2xyLXRpbWVsaW5lLXN0ZXAtYm9keXtkaXNwbGF5OmZs''@;'; put 'put ''ZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDo4LjlyZW07bWFyZ2luLWxlZnQ6LjZyZW07bWFyZ2luLXRvcDouM3JlbX1Aa2V5ZnJhbWVzIHNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fSddfSksbH0pKCksYlE9KCgpPT57''@;'; put 'put ''Y2xhc3MgbHtjb25zdHJ1Y3RvcihhKXt0aGlzLnNhc1NlcnZpY2U9YSxhLmZldGNoU3RhcnR1cERhdGEoKX1uZ09uSW5pdCgpe319cmV0dXJuIGwuXHUwMjc1ZmFjPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcoYXx8bCkobWUoVGcpKX0sbC5cdTAyNzVjbXA9TnQoe3R5cGU6bCxzZWxlY3RvcnM6''@;'; put 'put ''W1siYXBwLXJvb3QiXV0sZGVjbHM6Mix2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24oYSxkKXsxJmEmJld0KDAsImFwcC1zYXNqcy11aSIpKDEsInJvdXRlci1vdXRsZXQiKX0sZGVwZW5kZW5jaWVzOltMXyxtUV19KSxsfSkoKSx2UT0oKCk9PntjbGFzcyBse31yZXR1cm4gbC5cdTAyNzVmYWM9''@;'; put 'put ''ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyhhfHxsKX0sbC5cdTAyNzVtb2Q9Z24oe3R5cGU6bCxib290c3RyYXA6W2JRXX0pLGwuXHUwMjc1aW5qPWZuKHtpbXBvcnRzOltmXyxEWSxNOCxqYSxwUV19KSxsfSkoKTsoZnVuY3Rpb24gTTkoKXtWMz0hMX0pKCksRUkoKS5ib290c3RyYXBNb2R1bGUo''@;'; put 'put ''dlEpLmNhdGNoKGw9PmNvbnNvbGUuZXJyb3IobCkpfSw2NzAwOihfdCxDdCxGZSk9Pnt2YXIgQ2U9eyIuL2FmIjo2NDMxLCIuL2FmLmpzIjo2NDMxLCIuL2FyIjoxMjg2LCIuL2FyLWR6IjoxNjE2LCIuL2FyLWR6LmpzIjoxNjE2LCIuL2FyLWt3Ijo5NzU5LCIuL2FyLWt3LmpzIjo5NzU5LCIu''@;'; put 'put ''L2FyLWx5IjozMTYwLCIuL2FyLWx5LmpzIjozMTYwLCIuL2FyLW1hIjoyNTUxLCIuL2FyLW1hLmpzIjoyNTUxLCIuL2FyLXNhIjo5OTg5LCIuL2FyLXNhLmpzIjo5OTg5LCIuL2FyLXRuIjo2OTYyLCIuL2FyLXRuLmpzIjo2OTYyLCIuL2FyLmpzIjoxMjg2LCIuL2F6Ijo1ODg3LCIuL2F6Lmpz''@;'; put 'put ''Ijo1ODg3LCIuL2JlIjo0NTcyLCIuL2JlLmpzIjo0NTcyLCIuL2JnIjozMjc2LCIuL2JnLmpzIjozMjc2LCIuL2JtIjozMzQ0LCIuL2JtLmpzIjozMzQ0LCIuL2JuIjo4OTg1LCIuL2JuLWJkIjozOTkwLCIuL2JuLWJkLmpzIjozOTkwLCIuL2JuLmpzIjo4OTg1LCIuL2JvIjo0MzkxLCIuL2Jv''@;'; put 'put ''LmpzIjo0MzkxLCIuL2JyIjo2NzI4LCIuL2JyLmpzIjo2NzI4LCIuL2JzIjo1NTM2LCIuL2JzLmpzIjo1NTM2LCIuL2NhIjoxMDQzLCIuL2NhLmpzIjoxMDQzLCIuL2NzIjo0MjAsIi4vY3MuanMiOjQyMCwiLi9jdiI6MzUxMywiLi9jdi5qcyI6MzUxMywiLi9jeSI6Njc3MSwiLi9jeS5qcyI6''@;'; put 'put ''Njc3MSwiLi9kYSI6Nzk3OCwiLi9kYS5qcyI6Nzk3OCwiLi9kZSI6NjA2MSwiLi9kZS1hdCI6NTIwNCwiLi9kZS1hdC5qcyI6NTIwNCwiLi9kZS1jaCI6MjY1MywiLi9kZS1jaC5qcyI6MjY1MywiLi9kZS5qcyI6NjA2MSwiLi9kdiI6ODUsIi4vZHYuanMiOjg1LCIuL2VsIjo4NTc5LCIuL2Vs''@;'; put 'put ''LmpzIjo4NTc5LCIuL2VuLWF1Ijo1NzI0LCIuL2VuLWF1LmpzIjo1NzI0LCIuL2VuLWNhIjo1MjUsIi4vZW4tY2EuanMiOjUyNSwiLi9lbi1nYiI6Mjg0NywiLi9lbi1nYi5qcyI6Mjg0NywiLi9lbi1pZSI6NzIxNiwiLi9lbi1pZS5qcyI6NzIxNiwiLi9lbi1pbCI6OTMwNSwiLi9lbi1pbC5q''@;'; put 'put ''cyI6OTMwNSwiLi9lbi1pbiI6MzM2NCwiLi9lbi1pbi5qcyI6MzM2NCwiLi9lbi1ueiI6OTEzMCwiLi9lbi1uei5qcyI6OTEzMCwiLi9lbi1zZyI6MTE2MSwiLi9lbi1zZy5qcyI6MTE2MSwiLi9lbyI6ODAyLCIuL2VvLmpzIjo4MDIsIi4vZXMiOjMyOCwiLi9lcy1kbyI6NTU1MSwiLi9lcy1k''@;'; put 'put ''by5qcyI6NTU1MSwiLi9lcy1teCI6NTYxNSwiLi9lcy1teC5qcyI6NTYxNSwiLi9lcy11cyI6NDc5MCwiLi9lcy11cy5qcyI6NDc5MCwiLi9lcy5qcyI6MzI4LCIuL2V0Ijo2Mzg5LCIuL2V0LmpzIjo2Mzg5LCIuL2V1IjoyOTYxLCIuL2V1LmpzIjoyOTYxLCIuL2ZhIjo2MTUxLCIuL2ZhLmpz''@;'; put 'put ''Ijo2MTUxLCIuL2ZpIjo3OTk3LCIuL2ZpLmpzIjo3OTk3LCIuL2ZpbCI6ODg5OCwiLi9maWwuanMiOjg4OTgsIi4vZm8iOjc3NzksIi4vZm8uanMiOjc3NzksIi4vZnIiOjgxNzQsIi4vZnItY2EiOjMyODcsIi4vZnItY2EuanMiOjMyODcsIi4vZnItY2giOjg4NjcsIi4vZnItY2guanMiOjg4''@;'; put 'put ''NjcsIi4vZnIuanMiOjgxNzQsIi4vZnkiOjQ1MiwiLi9meS5qcyI6NDUyLCIuL2dhIjo1MDE0LCIuL2dhLmpzIjo1MDE0LCIuL2dkIjo0MTI3LCIuL2dkLmpzIjo0MTI3LCIuL2dsIjoyMTI0LCIuL2dsLmpzIjoyMTI0LCIuL2dvbS1kZXZhIjo2NDQ0LCIuL2dvbS1kZXZhLmpzIjo2NDQ0LCIu''@;'; put 'put ''L2dvbS1sYXRuIjo3OTUzLCIuL2dvbS1sYXRuLmpzIjo3OTUzLCIuL2d1Ijo2NjA0LCIuL2d1LmpzIjo2NjA0LCIuL2hlIjoxMjIyLCIuL2hlLmpzIjoxMjIyLCIuL2hpIjo0MjM1LCIuL2hpLmpzIjo0MjM1LCIuL2hyIjo2MjIsIi4vaHIuanMiOjYyMiwiLi9odSI6NzczNSwiLi9odS5qcyI6''@;'; put 'put ''NzczNSwiLi9oeS1hbSI6NDAyLCIuL2h5LWFtLmpzIjo0MDIsIi4vaWQiOjkxODcsIi4vaWQuanMiOjkxODcsIi4vaXMiOjUzNiwiLi9pcy5qcyI6NTM2LCIuL2l0Ijo1MDA3LCIuL2l0LWNoIjo0NjY3LCIuL2l0LWNoLmpzIjo0NjY3LCIuL2l0LmpzIjo1MDA3LCIuL2phIjoyMDkzLCIuL2ph''@;'; put 'put ''LmpzIjoyMDkzLCIuL2p2Ijo1OSwiLi9qdi5qcyI6NTksIi4va2EiOjY4NzAsIi4va2EuanMiOjY4NzAsIi4va2siOjg4MCwiLi9ray5qcyI6ODgwLCIuL2ttIjoxMDgzLCIuL2ttLmpzIjoxMDgzLCIuL2tuIjo4Nzg1LCIuL2tuLmpzIjo4Nzg1LCIuL2tvIjoxNzIxLCIuL2tvLmpzIjoxNzIx''@;'; put 'put ''LCIuL2t1Ijo3ODUxLCIuL2t1LmpzIjo3ODUxLCIuL2t5IjoxNzI3LCIuL2t5LmpzIjoxNzI3LCIuL2xiIjozNDYsIi4vbGIuanMiOjM0NiwiLi9sbyI6MzAwMiwiLi9sby5qcyI6MzAwMiwiLi9sdCI6NDAzNSwiLi9sdC5qcyI6NDAzNSwiLi9sdiI6NjkyNywiLi9sdi5qcyI6NjkyNywiLi9t''@;'; put 'put ''ZSI6NTYzNCwiLi9tZS5qcyI6NTYzNCwiLi9taSI6NDE3MywiLi9taS5qcyI6NDE3MywiLi9tayI6NjMyMCwiLi9tay5qcyI6NjMyMCwiLi9tbCI6MTcwNSwiLi9tbC5qcyI6MTcwNSwiLi9tbiI6MTA2MiwiLi9tbi5qcyI6MTA2MiwiLi9tciI6MjgwNSwiLi9tci5qcyI6MjgwNSwiLi9tcyI6''@;'; put 'put ''MTM0MSwiLi9tcy1teSI6OTkwMCwiLi9tcy1teS5qcyI6OTkwMCwiLi9tcy5qcyI6MTM0MSwiLi9tdCI6NzczNCwiLi9tdC5qcyI6NzczNCwiLi9teSI6OTAzNCwiLi9teS5qcyI6OTAzNCwiLi9uYiI6OTMyNCwiLi9uYi5qcyI6OTMyNCwiLi9uZSI6NjQ5NSwiLi9uZS5qcyI6NjQ5NSwiLi9u''@;'; put 'put ''bCI6NjczLCIuL25sLWJlIjo2MjcyLCIuL25sLWJlLmpzIjo2MjcyLCIuL25sLmpzIjo2NzMsIi4vbm4iOjI0ODYsIi4vbm4uanMiOjI0ODYsIi4vb2MtbG5jIjo2MjE5LCIuL29jLWxuYy5qcyI6NjIxOSwiLi9wYS1pbiI6MjgyOSwiLi9wYS1pbi5qcyI6MjgyOSwiLi9wbCI6ODQ0NCwiLi9w''@;'; put 'put ''bC5qcyI6ODQ0NCwiLi9wdCI6MzE3MCwiLi9wdC1iciI6NjExNywiLi9wdC1ici5qcyI6NjExNywiLi9wdC5qcyI6MzE3MCwiLi9ybyI6NjU4NywiLi9yby5qcyI6NjU4NywiLi9ydSI6OTI2NCwiLi9ydS5qcyI6OTI2NCwiLi9zZCI6MjEzNSwiLi9zZC5qcyI6MjEzNSwiLi9zZSI6NTM2Niwi''@;'; put 'put ''Li9zZS5qcyI6NTM2NiwiLi9zaSI6MzM3OSwiLi9zaS5qcyI6MzM3OSwiLi9zayI6NjE0MywiLi9zay5qcyI6NjE0MywiLi9zbCI6MTk2LCIuL3NsLmpzIjoxOTYsIi4vc3EiOjEwODIsIi4vc3EuanMiOjEwODIsIi4vc3IiOjE2MjEsIi4vc3ItY3lybCI6ODk2MywiLi9zci1jeXJsLmpzIjo4''@;'; put 'put ''OTYzLCIuL3NyLmpzIjoxNjIxLCIuL3NzIjoxNDA0LCIuL3NzLmpzIjoxNDA0LCIuL3N2Ijo1Njg1LCIuL3N2LmpzIjo1Njg1LCIuL3N3Ijo2NDkwLCIuL3N3LmpzIjo2NDkwLCIuL3RhIjo0MTA2LCIuL3RhLmpzIjo0MTA2LCIuL3RlIjo5MjA0LCIuL3RlLmpzIjo5MjA0LCIuL3RldCI6MzY5''@;'; put 'put ''MiwiLi90ZXQuanMiOjM2OTIsIi4vdGciOjYzNjEsIi4vdGcuanMiOjYzNjEsIi4vdGgiOjE3MzUsIi4vdGguanMiOjE3MzUsIi4vdGsiOjE1NjgsIi4vdGsuanMiOjE1NjgsIi4vdGwtcGgiOjYxMjksIi4vdGwtcGguanMiOjYxMjksIi4vdGxoIjozNzU5LCIuL3RsaC5qcyI6Mzc1OSwiLi90''@;'; put 'put ''ciI6MTY0NCwiLi90ci5qcyI6MTY0NCwiLi90emwiOjg3NSwiLi90emwuanMiOjg3NSwiLi90em0iOjY4NzgsIi4vdHptLWxhdG4iOjEwNDEsIi4vdHptLWxhdG4uanMiOjEwNDEsIi4vdHptLmpzIjo2ODc4LCIuL3VnLWNuIjo0MzU3LCIuL3VnLWNuLmpzIjo0MzU3LCIuL3VrIjo0ODEwLCIu''@;'; put 'put ''L3VrLmpzIjo0ODEwLCIuL3VyIjo2Nzk0LCIuL3VyLmpzIjo2Nzk0LCIuL3V6Ijo4OTY2LCIuL3V6LWxhdG4iOjc5NTksIi4vdXotbGF0bi5qcyI6Nzk1OSwiLi91ei5qcyI6ODk2NiwiLi92aSI6NTM4NiwiLi92aS5qcyI6NTM4NiwiLi94LXBzZXVkbyI6MzE1NiwiLi94LXBzZXVkby5qcyI6''@;'; put 'put ''MzE1NiwiLi95byI6ODAyOCwiLi95by5qcyI6ODAyOCwiLi96aC1jbiI6OTMzMCwiLi96aC1jbi5qcyI6OTMzMCwiLi96aC1oayI6OTM4MCwiLi96aC1oay5qcyI6OTM4MCwiLi96aC1tbyI6ODc0LCIuL3poLW1vLmpzIjo4NzQsIi4vemgtdHciOjY1MDgsIi4vemgtdHcuanMiOjY1MDh9O2Z1''@;'; put 'put ''bmN0aW9uIG9lKGhlKXt2YXIgWj1nZShoZSk7cmV0dXJuIEZlKFopfWZ1bmN0aW9uIGdlKGhlKXtpZighRmUubyhDZSxoZSkpe3ZhciBaPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2hlKyInIik7dGhyb3cgWi5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixafXJldHVybiBDZVto''@;'; put 'put ''ZV19b2Uua2V5cz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhDZSl9LG9lLnJlc29sdmU9Z2UsX3QuZXhwb3J0cz1vZSxvZS5pZD02NzAwfSw3ODIwOl90PT57ZnVuY3Rpb24gQ3QoQ2Usb2UsZ2UsaGUsWixBLGope3RyeXt2YXIgTj1DZVtBXShqKSx6PU4udmFsdWV9Y2F0Y2goQyl7''@;'; put 'put ''cmV0dXJuIHZvaWQgZ2UoQyl9Ti5kb25lP29lKHopOlByb21pc2UucmVzb2x2ZSh6KS50aGVuKGhlLFopfV90LmV4cG9ydHM9ZnVuY3Rpb24gRmUoQ2Upe3JldHVybiBmdW5jdGlvbigpe3ZhciBvZT10aGlzLGdlPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oaGUsWil7''@;'; put 'put ''dmFyIEE9Q2UuYXBwbHkob2UsZ2UpO2Z1bmN0aW9uIGooeil7Q3QoQSxoZSxaLGosTiwibmV4dCIseil9ZnVuY3Rpb24gTih6KXtDdChBLGhlLFosaixOLCJ0aHJvdyIseil9aih2b2lkIDApfSl9fSxfdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsX3QuZXhwb3J0cy5kZWZhdWx0PV90LmV4cG9y''@;'; put 'put ''dHN9fSxfdD0+e190KF90LnM9MjI2MSl9XSk7'';'; put 'run;'; put '%sasjsout(JS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=runtime.5a1be68e9c2a7b83-js; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLHA9e30sdj17fTtmdW5jdGlvbiBhKGUpe3ZhciBuPXZbZV07aWYodm9pZCAwIT09bilyZXR1cm4gbi5leHBvcnRzO3ZhciByPXZbZV09e2lkOmUsbG9hZGVkOiExLGV4cG9ydHM6e319O3JldHVybiBwW2VdLmNhbGwoci5leHBvcnRzLHIsci5leHBv''@;'; put 'put ''cnRzLGEpLHIubG9hZGVkPSEwLHIuZXhwb3J0c31hLm09cCxlPVtdLGEuTz0obixyLHMsZik9PntpZighcil7dmFyIHU9MS8wO2ZvcihsPTA7bDxlLmxlbmd0aDtsKyspe2Zvcih2YXJbcixzLGZdPWVbbF0sXz0hMCx0PTA7dDxyLmxlbmd0aDt0KyspKCExJmZ8fHU+PWYpJiZPYmplY3Qua2V5''@;'; put 'put ''cyhhLk8pLmV2ZXJ5KGg9PmEuT1toXShyW3RdKSk/ci5zcGxpY2UodC0tLDEpOihfPSExLGY8dSYmKHU9ZikpO2lmKF8pe2Uuc3BsaWNlKGwtLSwxKTt2YXIgYz1zKCk7dm9pZCAwIT09YyYmKG49Yyl9fXJldHVybiBufWY9Znx8MDtmb3IodmFyIGw9ZS5sZW5ndGg7bD4wJiZlW2wtMV1bMl0+''@;'; put 'put ''ZjtsLS0pZVtsXT1lW2wtMV07ZVtsXT1bcixzLGZdfSxhLm49ZT0+e3ZhciBuPWUmJmUuX19lc01vZHVsZT8oKT0+ZS5kZWZhdWx0OigpPT5lO3JldHVybiBhLmQobix7YTpufSksbn0sYS5kPShlLG4pPT57Zm9yKHZhciByIGluIG4pYS5vKG4scikmJiFhLm8oZSxyKSYmT2JqZWN0LmRlZmlu''@;'; put 'put ''ZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6bltyXX0pfSxhLm89KGUsbik9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pLGEubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSwoKCk9Pnt2YXIgZT17NjY2OjB9''@;'; put 'put ''O2EuTy5qPXM9PjA9PT1lW3NdO3ZhciBuPShzLGYpPT57dmFyIHQsYyxbbCx1LF9dPWYsbz0wO2lmKGwuc29tZShpPT4wIT09ZVtpXSkpe2Zvcih0IGluIHUpYS5vKHUsdCkmJihhLm1bdF09dVt0XSk7aWYoXyl2YXIgZD1fKGEpfWZvcihzJiZzKGYpO288bC5sZW5ndGg7bysrKWEubyhlLGM9''@;'; put 'put ''bFtvXSkmJmVbY10mJmVbY11bMF0oKSxlW2NdPTA7cmV0dXJuIGEuTyhkKX0scj1zZWxmLndlYnBhY2tDaHVua2FuZ3VsYXJfc2VlZF9hcHA9c2VsZi53ZWJwYWNrQ2h1bmthbmd1bGFyX3NlZWRfYXBwfHxbXTtyLmZvckVhY2gobi5iaW5kKG51bGwsMCkpLHIucHVzaD1uLmJpbmQobnVsbCxy''@;'; put 'put ''LnB1c2guYmluZChyKSl9KSgpfSkoKTs='';'; put 'run;'; put '%sasjsout(JS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=scripts.dd44c8569076ed11-js; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbigpe2lmKHZvaWQgMD09PXdpbmRvdy5SZWZsZWN0fHx2b2lkIDA9PT13aW5kb3cuY3VzdG9tRWxlbWVudHN8fHdpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKXJldHVybjtjb25zdCBtPUhUTUxF''@;'; put 'put ''bGVtZW50O3dpbmRvdy5IVE1MRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiBSZWZsZWN0LmNvbnN0cnVjdChtLFtdLHRoaXMuY29uc3RydWN0b3IpfSxIVE1MRWxlbWVudC5wcm90b3R5cGU9bS5wcm90b3R5cGUsSFRNTEVsZW1lbnQucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhUTUxFbGVtZW50''@;'; put 'put ''LE9iamVjdC5zZXRQcm90b3R5cGVPZihIVE1MRWxlbWVudCxtKX0oKX0oKSxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbTtmdW5jdGlvbiBJZSh0KXt2YXIgZT0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlPHQubGVuZ3RoP3tkb25lOiExLHZhbHVlOnRbZSsrXX06e2RvbmU6ITB9''@;'; put 'put ''fX12YXIgQmUsa2U9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIHQ9PUFycmF5LnByb3RvdHlwZXx8dD09T2JqZWN0LnByb3RvdHlwZXx8KHRbZV09bi52YWx1ZSksdH0sRnQ9ZnVu''@;'; put 'put ''Y3Rpb24gTXModCl7dD1bIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLHQsIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdywib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYsIm9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBlPTA7ZTx0''@;'; put 'put ''Lmxlbmd0aDsrK2Upe3ZhciBuPXRbZV07aWYobiYmbi5NYXRoPT1NYXRoKXJldHVybiBufXRocm93IEVycm9yKCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0Iil9KHRoaXMpO2Z1bmN0aW9uIEZyKHQsZSl7aWYoZSl0Ont2YXIgbj1GdDt0PXQuc3BsaXQoIi4iKTtmb3IodmFyIHI9MDtyPHQu''@;'; put 'put ''bGVuZ3RoLTE7cisrKXt2YXIgbz10W3JdO2lmKCEobyBpbiBuKSlicmVhayB0O249bltvXX0oZT1lKHI9blt0PXRbdC5sZW5ndGgtMV1dKSkhPXImJm51bGwhPWUmJmtlKG4sdCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmV9KX19ZnVuY3Rpb24gUHModCl7cmV0dXJuKHQ9''@;'; put 'put ''e25leHQ6dH0pW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH1mdW5jdGlvbiBsdCh0KXt2YXIgZT0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZ0W1N5bWJvbC5pdGVyYXRvcl07cmV0dXJuIGU/ZS5jYWxsKHQpOntuZXh0Okll''@;'; put 'put ''KHQpfX1mdW5jdGlvbiBaKHQpe2lmKCEodCBpbnN0YW5jZW9mIEFycmF5KSl7dD1sdCh0KTtmb3IodmFyIGUsbj1bXTshKGU9dC5uZXh0KCkpLmRvbmU7KW4ucHVzaChlLnZhbHVlKTt0PW59cmV0dXJuIHR9aWYoRnIoIlN5bWJvbCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihvLGkpe3RoaXMu''@;'; put 'put ''Zz1vLGtlKHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOml9KX1pZih0KXJldHVybiB0O24ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ307dmFyIHI9MDtyZXR1cm4gZnVuY3Rpb24gZShvKXtpZih0aGlzIGlu''@;'; put 'put ''c3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IG4oImpzY29tcF9zeW1ib2xfIisob3x8IiIpKyJfIityKyssbyl9fSksRnIoIlN5bWJvbC5pdGVyYXRvciIsZnVuY3Rpb24odCl7aWYodClyZXR1cm4gdDt0PVN5''@;'; put 'put ''bWJvbCgiU3ltYm9sLml0ZXJhdG9yIik7Zm9yKHZhciBlPSJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSIuc3BsaXQoIiAiKSxu''@;'; put 'put ''PTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPUZ0W2Vbbl1dOyJmdW5jdGlvbiI9PXR5cGVvZiByJiYiZnVuY3Rpb24iIT10eXBlb2Ygci5wcm90b3R5cGVbdF0mJmtlKHIucHJvdG90eXBlLHQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBQcyhJ''@;'; put 'put ''ZSh0aGlzKSl9fSl9cmV0dXJuIHR9KSwiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mKUJlPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBVZTt0Ont2YXIgSHI9e307dHJ5e0hyLl9fcHJvdG9fXz17YTohMH0sVWU9SHIuYTticmVhayB0fWNhdGNoKHQpe31V''@;'; put 'put ''ZT0hMX1CZT1VZT9mdW5jdGlvbih0LGUpe2lmKHQuX19wcm90b19fPWUsdC5fX3Byb3RvX18hPT1lKXRocm93IG5ldyBUeXBlRXJyb3IodCsiIGlzIG5vdCBleHRlbnNpYmxlIik7cmV0dXJuIHR9Om51bGx9dmFyIElyPUJlO2Z1bmN0aW9uIFdlKCl7dGhpcy51PSExLHRoaXMuaD1udWxsLHRo''@;'; put 'put ''aXMuS2E9dm9pZCAwLHRoaXMuZz0xLHRoaXMuZGE9MCx0aGlzLmk9bnVsbH1mdW5jdGlvbiBWZSh0KXtpZih0LnUpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZyIpO3QudT0hMH1mdW5jdGlvbiBHZSh0LGUpe3QuaT17V2E6ZSwkYTohMH0sdC5nPXQu''@;'; put 'put ''ZGF9ZnVuY3Rpb24gWGUodCxlKXtyZXR1cm4gdC5nPTMse3ZhbHVlOmV9fWZ1bmN0aW9uIEFzKHQpe3RoaXMuZz1uZXcgV2UsdGhpcy5oPXR9ZnVuY3Rpb24gWWUodCxlLG4scil7dHJ5e3ZhciBvPWUuY2FsbCh0LmcuaCxuKTtpZighKG8gaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBU''@;'; put 'put ''eXBlRXJyb3IoIkl0ZXJhdG9yIHJlc3VsdCAiK28rIiBpcyBub3QgYW4gb2JqZWN0Iik7aWYoIW8uZG9uZSlyZXR1cm4gdC5nLnU9ITEsbzt2YXIgaT1vLnZhbHVlfWNhdGNoKHMpe3JldHVybiB0LmcuaD1udWxsLEdlKHQuZyxzKSxIdCh0KX1yZXR1cm4gdC5nLmg9bnVsbCxyLmNhbGwodC5n''@;'; put 'put ''LGkpLEh0KHQpfWZ1bmN0aW9uIEh0KHQpe2Zvcig7dC5nLmc7KXRyeXt2YXIgZT10LmgodC5nKTtpZihlKXJldHVybiB0LmcudT0hMSx7dmFsdWU6ZS52YWx1ZSxkb25lOiExfX1jYXRjaChuKXt0LmcuS2E9dm9pZCAwLEdlKHQuZyxuKX1pZih0LmcudT0hMSx0LmcuaSl7aWYoZT10LmcuaSx0''@;'; put 'put ''LmcuaT1udWxsLGUuJGEpdGhyb3cgZS5XYTtyZXR1cm57dmFsdWU6ZS5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX1mdW5jdGlvbiBScyh0KXt0aGlzLm5leHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFZlKHQuZyksdC5nLmg/ZT1ZZSh0LHQuZy5oLm5leHQsZSx0''@;'; put 'put ''LmcuTyk6KHQuZy5PKGUpLGU9SHQodCkpLGV9LHRoaXMudGhyb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIFZlKHQuZyksdC5nLmg/ZT1ZZSh0LHQuZy5oLnRocm93LGUsdC5nLk8pOihHZSh0LmcsZSksZT1IdCh0KSksZX0sdGhpcy5yZXR1cm49ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uIGpz''@;'; put 'put ''KHQsZSl7VmUodC5nKTt2YXIgbj10LmcuaDtyZXR1cm4gbj9ZZSh0LCJyZXR1cm4iaW4gbj9uLnJldHVybjpmdW5jdGlvbihyKXtyZXR1cm57dmFsdWU6cixkb25lOiEwfX0sZSx0LmcucmV0dXJuKToodC5nLnJldHVybihlKSxIdCh0KSl9KHQsZSl9LHRoaXNbU3ltYm9sLml0ZXJhdG9yXT1m''@;'; put 'put ''dW5jdGlvbigpe3JldHVybiB0aGlzfX1mdW5jdGlvbiBaZSh0LGUpe3JldHVybiBlPW5ldyBScyhuZXcgQXMoZSkpLElyJiZ0LnByb3RvdHlwZSYmSXIoZSx0LnByb3RvdHlwZSksZX1XZS5wcm90b3R5cGUuTz1mdW5jdGlvbih0KXt0aGlzLkthPXR9LFdlLnByb3RvdHlwZS5yZXR1cm49ZnVu''@;'; put 'put ''Y3Rpb24odCl7dGhpcy5pPXtyZXR1cm46dH0sdGhpcy5nPXRoaXMuZGF9LEFycmF5LmZyb218fChBcnJheS5mcm9tPWZ1bmN0aW9uKHQpe3JldHVybltdLnNsaWNlLmNhbGwodCl9KSxPYmplY3QuYXNzaWdufHwoT2JqZWN0LmFzc2lnbj1mdW5jdGlvbih0KXtmb3IodmFyIHIsZT1bXS5zbGlj''@;'; put 'put ''ZS5jYWxsKGFyZ3VtZW50cywxKSxuPTA7bjxlLmxlbmd0aDtuKyspaWYocj1lW25dKWZvcih2YXIgbz10LGk9T2JqZWN0LmtleXMocikscz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgbD1pW3NdO29bbF09cltsXX1yZXR1cm4gdH0pO3ZhciBGcz1zZXRUaW1lb3V0O2Z1bmN0aW9uIEhzKCl7fWZ1''@;'; put 'put ''bmN0aW9uIFUodCl7aWYoISh0aGlzIGluc3RhbmNlb2YgVSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvbWlzZXMgbXVzdCBiZSBjb25zdHJ1Y3RlZCB2aWEgbmV3Iik7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigibm90IGEgZnVuY3Rpb24iKTt0aGlzLk49''@;'; put 'put ''MCx0aGlzLkVhPSExLHRoaXMuST12b2lkIDAsdGhpcy5iYT1bXSxCcih0LHRoaXMpfWZ1bmN0aW9uIGtyKHQsZSl7Zm9yKDszPT09dC5OOyl0PXQuSTswPT09dC5OP3QuYmEucHVzaChlKToodC5FYT0hMCxRZShmdW5jdGlvbigpe3ZhciBuPTE9PT10Lk4/ZS5iYjplLmNiO2lmKG51bGw9PT1u''@;'; put 'put ''KSgxPT09dC5OPyRlOkl0KShlLnByb21pc2UsdC5JKTtlbHNle3RyeXt2YXIgcj1uKHQuSSl9Y2F0Y2gobyl7cmV0dXJuIHZvaWQgSXQoZS5wcm9taXNlLG8pfSRlKGUucHJvbWlzZSxyKX19KSl9ZnVuY3Rpb24gJGUodCxlKXt0cnl7aWYoZT09PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQSBw''@;'; put 'put ''cm9taXNlIGNhbm5vdCBiZSByZXNvbHZlZCB3aXRoIGl0c2VsZi4iKTtpZihlJiYoIm9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSkpe3ZhciBuPWUudGhlbjtpZihlIGluc3RhbmNlb2YgVSlyZXR1cm4gdC5OPTMsdC5JPWUsdm9pZCBLZSh0KTtpZigiZnVuY3Rpb24i''@;'; put 'put ''PT10eXBlb2YgbilyZXR1cm4gdm9pZCBCcihmdW5jdGlvbiBJcyh0LGUpe3JldHVybiBmdW5jdGlvbigpe3QuYXBwbHkoZSxhcmd1bWVudHMpfX0obixlKSx0KX10Lk49MSx0Lkk9ZSxLZSh0KX1jYXRjaChyKXtJdCh0LHIpfX1mdW5jdGlvbiBJdCh0LGUpe3QuTj0yLHQuST1lLEtlKHQpfWZ1''@;'; put 'put ''bmN0aW9uIEtlKHQpezI9PT10Lk4mJjA9PT10LmJhLmxlbmd0aCYmUWUoZnVuY3Rpb24oKXt0LkVhfHwidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybigiUG9zc2libGUgVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiIsdC5JKX0pO2Zvcih2YXIg''@;'; put 'put ''ZT0wLG49dC5iYS5sZW5ndGg7ZTxuO2UrKylrcih0LHQuYmFbZV0pO3QuYmE9bnVsbH1mdW5jdGlvbiBrcyh0LGUsbil7dGhpcy5iYj0iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGwsdGhpcy5jYj0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm51bGwsdGhpcy5wcm9taXNlPW59ZnVuY3Rpb24g''@;'; put 'put ''QnIodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbihyKXtufHwobj0hMCwkZShlLHIpKX0sZnVuY3Rpb24ocil7bnx8KG49ITAsSXQoZSxyKSl9KX1jYXRjaChyKXtufHwobj0hMCxJdChlLHIpKX19ZnVuY3Rpb24gVXIodCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25z''@;'; put 'put ''dHJ1Y3Rvcj09PVU/dDpuZXcgVShmdW5jdGlvbihlKXtlKHQpfSl9VS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSxVLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKHQsZSl7dmFyIG49bmV3IHRoaXMuY29uc3RydWN0b3IoSHMpO3JldHVybiBr''@;'; put 'put ''cih0aGlzLG5ldyBrcyh0LGUsbikpLG59LFUucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb25zdHJ1Y3RvcjtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rp''@;'; put 'put ''b24obil7cmV0dXJuIGUucmVzb2x2ZSh0KCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5yZWplY3Qobil9KX0pfTt2YXIgdCxlLGksbixyLG8sUWU9ImZ1bmN0aW9uIj09dHlwZW9mIHNldEltbWVkaWF0ZSYmZnVuY3Rpb24odCl7c2V0SW1tZWRpYXRlKHQpfXx8ZnVuY3Rpb24odCl7RnMo''@;'; put 'put ''dCwwKX07aWYoIXdpbmRvdy5Qcm9taXNlKXt3aW5kb3cuUHJvbWlzZT1VLFUucHJvdG90eXBlLnRoZW49VS5wcm90b3R5cGUudGhlbixVLmFsbD1mdW5jdGlvbiBCcyh0KXtyZXR1cm4gbmV3IFUoZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiByKGwsYSl7dHJ5e2lmKGEmJigib2JqZWN0Ij09dHlw''@;'; put 'put ''ZW9mIGF8fCJmdW5jdGlvbiI9PXR5cGVvZiBhKSl7dmFyIHU9YS50aGVuO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB1KXJldHVybiB2b2lkIHUuY2FsbChhLGZ1bmN0aW9uKGgpe3IobCxoKX0sbil9b1tsXT1hLDA9PS0taSYmZShvKX1jYXRjaChoKXtuKGgpfX1pZighdHx8dm9pZCAwPT09dC5s''@;'; put 'put ''ZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIGUoW10pO2Zvcih2YXIgaT1vLmxlbmd0aCxzPTA7czxvLmxlbmd0aDtzKysp''@;'; put 'put ''cihzLG9bc10pfSl9LFUucmFjZT1mdW5jdGlvbiBXcyh0KXtyZXR1cm4gbmV3IFUoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5yYWNlIGFjY2VwdHMgYW4gYXJyYXkiKSk7Zm9yKHZhciByPTAsbz10Lmxlbmd0''@;'; put 'put ''aDtyPG87cisrKVVyKHRbcl0pLnRoZW4oZSxuKX0pfSxVLnJlc29sdmU9VXIsVS5yZWplY3Q9ZnVuY3Rpb24gVXModCl7cmV0dXJuIG5ldyBVKGZ1bmN0aW9uKGUsbil7bih0KX0pfTt2YXIgcWU9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLFF0PVtdO25ldyBNdXRhdGlvbk9ic2VydmVy''@;'; put 'put ''KGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVF0Lmxlbmd0aCxlPTA7ZTx0O2UrKylRdFtlXSgpO1F0LnNwbGljZSgwLHQpfSkub2JzZXJ2ZShxZSx7Y2hhcmFjdGVyRGF0YTohMH0pLFFlPWZ1bmN0aW9uKHQpe1F0LnB1c2godCkscWUudGV4dENvbnRlbnQ9MDxxZS50ZXh0Q29udGVudC5sZW5ndGg/''@;'; put 'put ''IiI6ImEifX0oZnVuY3Rpb24odCxlKXtpZighKGUgaW4gdCkpe3ZhciBuPXR5cGVvZiBnbG9iYWw9PXR5cGVvZiBuP3dpbmRvdzpnbG9iYWwscj0wLG89U3RyaW5nKE1hdGgucmFuZG9tKCkpLGk9Il9fXHgwMXN5bWJvbEBAIitvLHM9dC5nZXRPd25Qcm9wZXJ0eU5hbWVzLGw9dC5nZXRPd25Q''@;'; put 'put ''cm9wZXJ0eURlc2NyaXB0b3IsYT10LmNyZWF0ZSx1PXQua2V5cyxoPXQuZnJlZXplfHx0LGY9dC5kZWZpbmVQcm9wZXJ0eSx4PXQuZGVmaW5lUHJvcGVydGllcyxTPWwodCwiZ2V0T3duUHJvcGVydHlOYW1lcyIpLF89dC5wcm90b3R5cGUsRD1fLmhhc093blByb3BlcnR5LFQ9Xy5wcm9wZXJ0''@;'; put 'put ''eUlzRW51bWVyYWJsZSxIPV8udG9TdHJpbmcsdz1mdW5jdGlvbihwLE8sUCl7RC5jYWxsKHAsaSl8fGYocCxpLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMSx3cml0YWJsZTohMSx2YWx1ZTp7fX0pLHBbaV1bIkBAIitPXT1QfSxZPWZ1bmN0aW9uKHAsTyl7dmFyIFA9YShwKTtyZXR1''@;'; put 'put ''cm4gcyhPKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2Z0LmNhbGwoTyxkKSYmS3QoUCxkLE9bZF0pfSksUH0seT1mdW5jdGlvbigpe30sZHQ9ZnVuY3Rpb24ocCl7cmV0dXJuIHAhPWkmJiFELmNhbGwocnQscCl9LG50PWZ1bmN0aW9uKHApe3JldHVybiBwIT1pJiZELmNhbGwocnQscCl9LGZ0PWZ1''@;'; put 'put ''bmN0aW9uKHApe3ZhciBPPVN0cmluZyhwKTtyZXR1cm4gbnQoTyk/RC5jYWxsKHRoaXMsTykmJiEhdGhpc1tpXSYmdGhpc1tpXVsiQEAiK09dOlQuY2FsbCh0aGlzLHApfSxjPWZ1bmN0aW9uKHApe3JldHVybiBmKF8scCx7ZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITAsZ2V0Onksc2V0''@;'; put 'put ''OmZ1bmN0aW9uKE8pe0V0KHRoaXMscCx7ZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6T30pLHcodGhpcyxwLCEwKX19KSxydFtwXT1mKHQocCksImNvbnN0cnVjdG9yIixqciksaChydFtwXSl9LE09ZnVuY3Rpb24gcChPKXtpZih0aGlzIGluc3RhbmNl''@;'; put 'put ''b2YgcCl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gYygiX19ceDAxc3ltYm9sOiIuY29uY2F0KE98fCIiLG8sKytyKSl9LHJ0PWEobnVsbCksanI9e3ZhbHVlOk19LGplPWZ1bmN0aW9uKHApe3JldHVybiBydFtwXX0sS3Q9ZnVuY3Rp''@;'; put 'put ''b24ocCxPLFApe3ZhciBkPVN0cmluZyhPKTtpZihudChkKSl7aWYoTz1FdCxQLmVudW1lcmFibGUpe3ZhciB2PWEoUCk7di5lbnVtZXJhYmxlPSExfWVsc2Ugdj1QO08ocCxkLHYpLHcocCxkLCEhUC5lbnVtZXJhYmxlKX1lbHNlIGYocCxPLFApO3JldHVybiBwfSxSZT1mdW5jdGlvbihwKXty''@;'; put 'put ''ZXR1cm4gcyhwKS5maWx0ZXIobnQpLm1hcChqZSl9O1MudmFsdWU9S3QsZih0LCJkZWZpbmVQcm9wZXJ0eSIsUyksUy52YWx1ZT1SZSxmKHQsZSxTKSxTLnZhbHVlPWZ1bmN0aW9uKHApe3JldHVybiBzKHApLmZpbHRlcihkdCl9LGYodCwiZ2V0T3duUHJvcGVydHlOYW1lcyIsUyksUy52YWx1''@;'; put 'put ''ZT1mdW5jdGlvbihwLE8pe3ZhciBQPVJlKE8pO3JldHVybiBQLmxlbmd0aD91KE8pLmNvbmNhdChQKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2Z0LmNhbGwoTyxkKSYmS3QocCxkLE9bZF0pfSk6eChwLE8pLHB9LGYodCwiZGVmaW5lUHJvcGVydGllcyIsUyksUy52YWx1ZT1mdCxmKF8sInByb3Bl''@;'; put 'put ''cnR5SXNFbnVtZXJhYmxlIixTKSxTLnZhbHVlPU0sZihuLCJTeW1ib2wiLFMpLFMudmFsdWU9ZnVuY3Rpb24ocCl7cmV0dXJuKHA9Il9fXHgwMXN5bWJvbDoiLmNvbmNhdCgiX19ceDAxc3ltYm9sOiIscCxvKSlpbiBfP3J0W3BdOmMocCl9LGYoTSwiZm9yIixTKSxTLnZhbHVlPWZ1bmN0aW9u''@;'; put 'put ''KHApe2lmKGR0KHApKXRocm93IG5ldyBUeXBlRXJyb3IocCsiIGlzIG5vdCBhIHN5bWJvbCIpO2lmKEQuY2FsbChydCxwKSYmIl9fXHgwMXN5bWJvbDoiPT09KHA9cC5zbGljZSgxMCkpLnNsaWNlKDAsMTApJiYocD1wLnNsaWNlKDEwKSkhPT1vKXJldHVybiAwPChwPXAuc2xpY2UoMCxwLmxl''@;'; put 'put ''bmd0aC1vLmxlbmd0aCkpLmxlbmd0aD9wOnZvaWQgMH0sZihNLCJrZXlGb3IiLFMpLFMudmFsdWU9ZnVuY3Rpb24ocCxPKXt2YXIgUD1sKHAsTyk7cmV0dXJuIFAmJm50KE8pJiYoUC5lbnVtZXJhYmxlPWZ0LmNhbGwocCxPKSksUH0sZih0LCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLFMp''@;'; put 'put ''LFMudmFsdWU9ZnVuY3Rpb24ocCxPKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGh8fHZvaWQgMD09PU8/YShwKTpZKHAsTyl9LGYodCwiY3JlYXRlIixTKSxTLnZhbHVlPWZ1bmN0aW9uKCl7dmFyIHA9SC5jYWxsKHRoaXMpO3JldHVybiJbb2JqZWN0IFN0cmluZ10iPT09cCYmbnQodGhp''@;'; put 'put ''cyk/IltvYmplY3QgU3ltYm9sXSI6cH0sZihfLCJ0b1N0cmluZyIsUyk7dHJ5e2lmKCEwIT09YShmKHt9LCJfX1x4MDFzeW1ib2w6Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGYodGhpcywiX19ceDAxc3ltYm9sOiIse3ZhbHVlOiEwfSlbIl9fXHgwMXN5bWJvbDoiXX19KSlbIl9fXHgwMXN5''@;'; put 'put ''bWJvbDoiXSl0aHJvdyJJRTExIjt2YXIgRXQ9Zn1jYXRjaChwKXtFdD1mdW5jdGlvbihPLFAsZCl7dmFyIHY9bChfLFApO2RlbGV0ZSBfW1BdLGYoTyxQLGQpLGYoXyxQLHYpfX19fSkoT2JqZWN0LCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiKSx0PU9iamVjdCxlPVN5bWJvbCxuPXQuZGVmaW5l''@;'; put 'put ''UHJvcGVydHksbz0ocj10LnByb3RvdHlwZSkudG9TdHJpbmcsIml0ZXJhdG9yIG1hdGNoIHJlcGxhY2Ugc2VhcmNoIHNwbGl0IGhhc0luc3RhbmNlIGlzQ29uY2F0U3ByZWFkYWJsZSB1bnNjb3BhYmxlcyBzcGVjaWVzIHRvUHJpbWl0aXZlIHRvU3RyaW5nVGFnIi5zcGxpdCgiICIpLmZvckVh''@;'; put 'put ''Y2goZnVuY3Rpb24ocyl7cyBpbiBlfHwobihlLHMse3ZhbHVlOmUocyl9KSwidG9TdHJpbmdUYWciPT09cyYmKChpPXQuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIsInRvU3RyaW5nIikpLnZhbHVlPWZ1bmN0aW9uKCl7dmFyIGw9by5jYWxsKHRoaXMpLGE9bnVsbD09dGhpcz90aGlzOnRo''@;'; put 'put ''aXNbZS50b1N0cmluZ1RhZ107cmV0dXJuIG51bGw9PWE/bDoiW29iamVjdCAiK2ErIl0ifSxuKHIsInRvU3RyaW5nIixpKSkpfSksZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gdGhpc31lW3RdfHwoZVt0XT1mdW5jdGlvbigpe3ZhciBvPTAsaT10aGlzLHM9e25leHQ6ZnVu''@;'; put 'put ''Y3Rpb24oKXt2YXIgbD1pLmxlbmd0aDw9bztyZXR1cm4gbD97ZG9uZTpsfTp7ZG9uZTpsLHZhbHVlOmlbbysrXX19fTtyZXR1cm4gc1t0XT1yLHN9KSxuW3RdfHwoblt0XT1mdW5jdGlvbigpe3ZhciBvPVN0cmluZy5mcm9tQ29kZVBvaW50LGk9dGhpcyxzPTAsbD1pLmxlbmd0aCxhPXtuZXh0''@;'; put 'put ''OmZ1bmN0aW9uKCl7dmFyIHU9bDw9cyxoPXU/IiI6byhpLmNvZGVQb2ludEF0KHMpKTtyZXR1cm4gcys9aC5sZW5ndGgsdT97ZG9uZTp1fTp7ZG9uZTp1LHZhbHVlOmh9fX07cmV0dXJuIGFbdF09cixhfSl9KFN5bWJvbC5pdGVyYXRvcixBcnJheS5wcm90b3R5cGUsU3RyaW5nLnByb3RvdHlw''@;'; put 'put ''ZSk7dmFyIFZzPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT10aGlzPyJbb2JqZWN0IFVuZGVmaW5lZF0iOm51bGw9PT10aGlzPyJbb2JqZWN0IE51bGxdIjpWcy5jYWxsKHRoaXMpfSxPYmplY3Qu''@;'; put 'put ''a2V5cz1mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybihlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxlKSkmJmUuZW51bWVyYWJsZX0pfSxTdHJpbmcucHJvdG90eXBlW1N5bWJvbC5pdGVy''@;'; put 'put ''YXRvcl0mJlN0cmluZy5wcm90b3R5cGUuY29kZVBvaW50QXR8fChTdHJpbmcucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24gdCgpe3ZhciBlLG49dGhpcztyZXR1cm4gWmUodCxmdW5jdGlvbihyKXtpZigxPT1yLmcmJihlPTApLDMhPXIuZylyZXR1cm4gZTxuLmxlbmd0aD9y''@;'; put 'put ''PVhlKHIsbltlXSk6KHIuZz0wLHI9dm9pZCAwKSxyO2UrKyxyLmc9Mn0pfSksU2V0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdfHwoU2V0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uIHQoKXt2YXIgZSxyLG49dGhpcztyZXR1cm4gWmUodCxmdW5jdGlvbihvKXtpZigx''@;'; put 'put ''PT1vLmcmJihlPVtdLG4uZm9yRWFjaChmdW5jdGlvbihpKXtlLnB1c2goaSl9KSxyPTApLDMhPW8uZylyZXR1cm4gcjxlLmxlbmd0aD9vPVhlKG8sZVtyXSk6KG8uZz0wLG89dm9pZCAwKSxvO3IrKyxvLmc9Mn0pfSksTWFwLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdfHwoTWFwLnByb3Rv''@;'; put 'put ''dHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uIHQoKXt2YXIgZSxyLG49dGhpcztyZXR1cm4gWmUodCxmdW5jdGlvbihvKXtpZigxPT1vLmcmJihlPVtdLG4uZm9yRWFjaChmdW5jdGlvbihpLHMpe2UucHVzaChbcyxpXSl9KSxyPTApLDMhPW8uZylyZXR1cm4gcjxlLmxlbmd0aD9vPVhl''@;'; put 'put ''KG8sZVtyXSk6KG8uZz0wLG89dm9pZCAwKSxvO3IrKyxvLmc9Mn0pfSk7dmFyIEplPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO2lmKEplLmluaXRFdmVudCgiZm9vIiwhMCwhMCksSmUucHJldmVudERlZmF1bHQoKSwhSmUuZGVmYXVsdFByZXZlbnRlZCl7dmFyIEdzPUV2ZW50LnBy''@;'; put 'put ''b3RvdHlwZS5wcmV2ZW50RGVmYXVsdDtFdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbGFibGUmJihHcy5jYWxsKHRoaXMpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZWZhdWx0UHJldmVudGVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJu''@;'; put 'put ''ITB9LGNvbmZpZ3VyYWJsZTohMH0pKX19dmFyIHplPS9UcmlkZW50Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO2lmKCF3aW5kb3cuRXZlbnR8fHplJiYiZnVuY3Rpb24iIT10eXBlb2Ygd2luZG93LkV2ZW50KXt2YXIgcXQ9d2luZG93LkV2ZW50O2lmKHdpbmRvdy5FdmVudD1mdW5jdGlv''@;'; put 'put ''bih0LGUpe2U9ZXx8e307dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7cmV0dXJuIG4uaW5pdEV2ZW50KHQsISFlLmJ1YmJsZXMsISFlLmNhbmNlbGFibGUpLG59LHF0KXtmb3IodmFyIFdyIGluIHF0KXdpbmRvdy5FdmVudFtXcl09cXRbV3JdO3dpbmRvdy5FdmVudC5wcm90''@;'; put 'put ''b3R5cGU9cXQucHJvdG90eXBlfX1pZigoIXdpbmRvdy5DdXN0b21FdmVudHx8emUmJiJmdW5jdGlvbiIhPXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQpJiYod2luZG93LkN1c3RvbUV2ZW50PWZ1bmN0aW9uKHQsZSl7ZT1lfHx7fTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9t''@;'; put 'put ''RXZlbnQiKTtyZXR1cm4gbi5pbml0Q3VzdG9tRXZlbnQodCwhIWUuYnViYmxlcywhIWUuY2FuY2VsYWJsZSxlLmRldGFpbCksbn0sd2luZG93LkN1c3RvbUV2ZW50LnByb3RvdHlwZT13aW5kb3cuRXZlbnQucHJvdG90eXBlKSwhd2luZG93Lk1vdXNlRXZlbnR8fHplJiYiZnVuY3Rpb24iIT10''@;'; put 'put ''eXBlb2Ygd2luZG93Lk1vdXNlRXZlbnQpe3ZhciBKdD13aW5kb3cuTW91c2VFdmVudDtpZih3aW5kb3cuTW91c2VFdmVudD1mdW5jdGlvbih0LGUpe2U9ZXx8e307dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1vdXNlRXZlbnQiKTtyZXR1cm4gbi5pbml0TW91c2VFdmVudCh0LCEhZS5i''@;'; put 'put ''dWJibGVzLCEhZS5jYW5jZWxhYmxlLGUudmlld3x8d2luZG93LGUuZGV0YWlsLGUuc2NyZWVuWCxlLnNjcmVlblksZS5jbGllbnRYLGUuY2xpZW50WSxlLmN0cmxLZXksZS5hbHRLZXksZS5zaGlmdEtleSxlLm1ldGFLZXksZS5idXR0b24sZS5yZWxhdGVkVGFyZ2V0KSxufSxKdClmb3IodmFy''@;'; put 'put ''IFZyIGluIEp0KXdpbmRvdy5Nb3VzZUV2ZW50W1ZyXT1KdFtWcl07d2luZG93Lk1vdXNlRXZlbnQucHJvdG90eXBlPUp0LnByb3RvdHlwZX1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJiYXNlVVJJIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb2Rl''@;'; put 'put ''LnByb3RvdHlwZSwiYmFzZVVSSSIse2dldDpmdW5jdGlvbigpe3ZhciB0PSh0aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMpLnF1ZXJ5U2VsZWN0b3IoImJhc2VbaHJlZl0iKTtyZXR1cm4gdCYmdC5ocmVmfHx3aW5kb3cubG9jYXRpb24uaHJlZn0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6''@;'; put 'put ''ITB9KTt2YXIgdG4sZW4sbm49RWxlbWVudC5wcm90b3R5cGUscm49bnVsbCE9PSh0bj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5uLCJhdHRyaWJ1dGVzIikpJiZ2b2lkIDAhPT10bj90bjpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJh''@;'; put 'put ''dHRyaWJ1dGVzIiksWHM9bnVsbCE9PShlbj1udWxsPT1ybj92b2lkIDA6cm4uZ2V0KSYmdm9pZCAwIT09ZW4/ZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzfSxZcz1BcnJheS5wcm90b3R5cGUubWFwO25uLmhhc093blByb3BlcnR5KCJnZXRBdHRyaWJ1dGVOYW1lcyIpfHwo''@;'; put 'put ''bm4uZ2V0QXR0cmlidXRlTmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gWXMuY2FsbChYcy5jYWxsKHRoaXMpLGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWV9KX0pO3ZhciBvbix6dD1FbGVtZW50LnByb3RvdHlwZTt6dC5oYXNPd25Qcm9wZXJ0eSgibWF0Y2hlcyIpfHwoenQubWF0Y2hlcz1udWxs''@;'; put 'put ''IT09KG9uPXp0LndlYmtpdE1hdGNoZXNTZWxlY3RvcikmJnZvaWQgMCE9PW9uP29uOnp0Lm1zTWF0Y2hlc1NlbGVjdG9yKTt2YXIgWnM9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7ZnVuY3Rpb24gc24odCl7KHQ9dC5wcm90b3R5cGUpLmhhc093blByb3BlcnR5KCJhcHBlbmQiKXx8T2Jq''@;'; put 'put ''ZWN0LmRlZmluZVByb3BlcnR5KHQsImFwcGVuZCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoOysrciluW3JdPWFyZ3VtZW50c1tyXTtmb3Iocj0obj1sdChuKSku''@;'; put 'put ''bmV4dCgpOyFyLmRvbmU7cj1uLm5leHQoKSlacy5jYWxsKHRoaXMsInN0cmluZyI9PXR5cGVvZihyPXIudmFsdWUpP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKHIpOnIpfX0pfXNuKERvY3VtZW50KSxzbihEb2N1bWVudEZyYWdtZW50KSxzbihFbGVtZW50KTt2YXIgbG4sYW4sJHM9Tm9kZS5w''@;'; put 'put ''cm90b3R5cGUuaW5zZXJ0QmVmb3JlLEtzPW51bGwhPT0oYW49bnVsbD09PShsbj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJmaXJzdENoaWxkIikpfHx2b2lkIDA9PT1sbj92b2lkIDA6bG4uZ2V0KSYmdm9pZCAwIT09YW4/YW46ZnVuY3Rpb24oKXty''@;'; put 'put ''ZXR1cm4gdGhpcy5maXJzdENoaWxkfTtmdW5jdGlvbiB1bih0KXsodD10LnByb3RvdHlwZSkuaGFzT3duUHJvcGVydHkoInByZXBlbmQiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInByZXBlbmQiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpm''@;'; put 'put ''dW5jdGlvbihlKXtmb3IodmFyIG49W10scj0wO3I8YXJndW1lbnRzLmxlbmd0aDsrK3IpbltyXT1hcmd1bWVudHNbcl07cj1Lcy5jYWxsKHRoaXMpO2Zvcih2YXIgbz0obj1sdChuKSkubmV4dCgpOyFvLmRvbmU7bz1uLm5leHQoKSkkcy5jYWxsKHRoaXMsInN0cmluZyI9PXR5cGVvZihvPW8u''@;'; put 'put ''dmFsdWUpP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKG8pOm8scil9fSl9dW4oRG9jdW1lbnQpLHVuKERvY3VtZW50RnJhZ21lbnQpLHVuKEVsZW1lbnQpO3ZhciBobixjbixRcz1Ob2RlLnByb3RvdHlwZS5hcHBlbmRDaGlsZCxxcz1Ob2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCxKcz1udWxs''@;'; put 'put ''IT09KGNuPW51bGw9PT0oaG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSwiZmlyc3RDaGlsZCIpKXx8dm9pZCAwPT09aG4/dm9pZCAwOmhuLmdldCkmJnZvaWQgMCE9PWNuP2NuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlyc3RDaGlsZH07ZnVuY3Rp''@;'; put 'put ''b24gZG4odCl7KHQ9dC5wcm90b3R5cGUpLmhhc093blByb3BlcnR5KCJyZXBsYWNlQ2hpbGRyZW4iKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInJlcGxhY2VDaGlsZHJlbiIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKGUpe2Zv''@;'; put 'put ''cih2YXIgbj1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoOysrciluW3JdPWFyZ3VtZW50c1tyXTtmb3IoO251bGwhPT0ocj1Kcy5jYWxsKHRoaXMpKTspcXMuY2FsbCh0aGlzLHIpO2ZvcihyPShuPWx0KG4pKS5uZXh0KCk7IXIuZG9uZTtyPW4ubmV4dCgpKVFzLmNhbGwodGhpcywic3RyaW5n''@;'; put 'put ''Ij09dHlwZW9mKHI9ci52YWx1ZSk/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUocik6cil9fSl9ZG4oRG9jdW1lbnQpLGRuKERvY3VtZW50RnJhZ21lbnQpLGRuKEVsZW1lbnQpO3ZhciBmbixwbixfbix2bix6cz1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmUsdGw9bnVsbCE9PShwbj1udWxs''@;'; put 'put ''PT09KGZuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTm9kZS5wcm90b3R5cGUsInBhcmVudE5vZGUiKSl8fHZvaWQgMD09PWZuP3ZvaWQgMDpmbi5nZXQpJiZ2b2lkIDAhPT1wbj9wbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudE5vZGV9LGVsPW51bGwhPT0odm49bnVs''@;'; put 'put ''bD09PShfbj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJuZXh0U2libGluZyIpKXx8dm9pZCAwPT09X24/dm9pZCAwOl9uLmdldCkmJnZvaWQgMCE9PXZuP3ZuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmV4dFNpYmxpbmd9O2Z1bmN0aW9uIEdyKHQp''@;'; put 'put ''eyh0PXQucHJvdG90eXBlKS5oYXNPd25Qcm9wZXJ0eSgiYWZ0ZXIiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImFmdGVyIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHI9MDtyPGFyZ3VtZW50cy5s''@;'; put 'put ''ZW5ndGg7KytyKW5bcl09YXJndW1lbnRzW3JdO2lmKG51bGwhPT0ocj10bC5jYWxsKHRoaXMpKSlmb3IodmFyIG89ZWwuY2FsbCh0aGlzKSxpPShuPWx0KG4pKS5uZXh0KCk7IWkuZG9uZTtpPW4ubmV4dCgpKXpzLmNhbGwociwic3RyaW5nIj09dHlwZW9mKGk9aS52YWx1ZSk/ZG9jdW1lbnQu''@;'; put 'put ''Y3JlYXRlVGV4dE5vZGUoaSk6aSxvKX19KX1HcihDaGFyYWN0ZXJEYXRhKSxHcihFbGVtZW50KTt2YXIgbW4seW4sbmw9Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlLHJsPW51bGwhPT0oeW49bnVsbD09PShtbj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90''@;'; put 'put ''eXBlLCJwYXJlbnROb2RlIikpfHx2b2lkIDA9PT1tbj92b2lkIDA6bW4uZ2V0KSYmdm9pZCAwIT09eW4/eW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfTtmdW5jdGlvbiBYcih0KXsodD10LnByb3RvdHlwZSkuaGFzT3duUHJvcGVydHkoImJlZm9yZSIpfHxPYmplY3QuZGVm''@;'; put 'put ''aW5lUHJvcGVydHkodCwiYmVmb3JlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7KytyKW5bcl09YXJndW1lbnRzW3JdO2lmKG51bGwhPT0ocj1ybC5jYWxsKHRo''@;'; put 'put ''aXMpKSlmb3IodmFyIG89KG49bHQobikpLm5leHQoKTshby5kb25lO289bi5uZXh0KCkpbmwuY2FsbChyLCJzdHJpbmciPT10eXBlb2Yobz1vLnZhbHVlKT9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShvKTpvLHRoaXMpfX0pfVhyKENoYXJhY3RlckRhdGEpLFhyKEVsZW1lbnQpO3ZhciBnbix3''@;'; put 'put ''bixvbD1Ob2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCxpbD1udWxsIT09KHduPW51bGw9PT0oZ249T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSwicGFyZW50Tm9kZSIpKXx8dm9pZCAwPT09Z24/dm9pZCAwOmduLmdldCkmJnZvaWQgMCE9PXduP3duOmZ1''@;'; put 'put ''bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50Tm9kZX07ZnVuY3Rpb24gWXIodCl7KHQ9dC5wcm90b3R5cGUpLmhhc093blByb3BlcnR5KCJyZW1vdmUiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInJlbW92ZSIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEw''@;'; put 'put ''LHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9aWwuY2FsbCh0aGlzKTtlJiZvbC5jYWxsKGUsdGhpcyl9fSl9WXIoQ2hhcmFjdGVyRGF0YSksWXIoRWxlbWVudCk7dmFyIEVuLE5uLHNsPU5vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZSxsbD1Ob2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCxhbD1u''@;'; put 'put ''dWxsIT09KE5uPW51bGw9PT0oRW49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSwicGFyZW50Tm9kZSIpKXx8dm9pZCAwPT09RW4/dm9pZCAwOkVuLmdldCkmJnZvaWQgMCE9PU5uP05uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50Tm9kZX07ZnVu''@;'; put 'put ''Y3Rpb24gWnIodCl7KHQ9dC5wcm90b3R5cGUpLmhhc093blByb3BlcnR5KCJyZXBsYWNlV2l0aCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmVwbGFjZVdpdGgiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbihlKXtmb3IodmFy''@;'; put 'put ''IG49W10scj0wO3I8YXJndW1lbnRzLmxlbmd0aDsrK3IpbltyXT1hcmd1bWVudHNbcl07aWYobnVsbCE9PShyPWFsLmNhbGwodGhpcykpKXtmb3IodmFyIG89KG49bHQobikpLm5leHQoKTshby5kb25lO289bi5uZXh0KCkpc2wuY2FsbChyLCJzdHJpbmciPT10eXBlb2Yobz1vLnZhbHVlKT9k''@;'; put 'put ''b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShvKTpvLHRoaXMpO2xsLmNhbGwocix0aGlzKX19fSl9WnIoQ2hhcmFjdGVyRGF0YSksWnIoRWxlbWVudCk7dmFyICRyPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZSxLcj13aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLHVsPXdpbmRvdy5TVkdFbGVt''@;'; put 'put ''ZW50LnByb3RvdHlwZTshS3IuaGFzT3duUHJvcGVydHkoImNsYXNzTGlzdCIpfHwkci5oYXNPd25Qcm9wZXJ0eSgiY2xhc3NMaXN0Iil8fHVsLmhhc093blByb3BlcnR5KCJjbGFzc0xpc3QiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KCRyLCJjbGFzc0xpc3QiLE9iamVjdC5nZXRPd25Qcm9w''@;'; put 'put ''ZXJ0eURlc2NyaXB0b3IoS3IsImNsYXNzTGlzdCIpKTt2YXIgUXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtRci50ZXh0Q29udGVudD0iYm9keSB7dHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluIDAuMnM7IH0gXG5ib2R5W3VucmVzb2x2ZWRdIHtvcGFjaXR5OiAwOyBkaXNw''@;'; put 'put ''bGF5OiBibG9jazsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB9IFxuIjt2YXIgcXI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaGVhZCIpO3FyLmluc2VydEJlZm9yZShRcixxci5maXJzdENoaWxkKTt2YXIgY3Q9d2luZG93O2N0LldlYkNvbXBvbmVudHM9Y3QuV2Vi''@;'; put 'put ''Q29tcG9uZW50c3x8e2ZsYWdzOnt9fTt2YXIgSnI9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyYyo9IndlYmNvbXBvbmVudHMtYnVuZGxlIl0nKSxobD0vd2MtKC4rKS8sSj17fTtpZighSi5ub09wdHMpe2lmKGxvY2F0aW9uLnNlYXJjaC5zbGljZSgxKS5zcGxpdCgiJiIpLmZv''@;'; put 'put ''ckVhY2goZnVuY3Rpb24odCl7dmFyIGU7KHQ9dC5zcGxpdCgiPSIpKVswXSYmKGU9dFswXS5tYXRjaChobCkpJiYoSltlWzFdXT10WzFdfHwhMCl9KSxKcilmb3IodmFyIHpyPTAsdGU9dm9pZCAwO3RlPUpyLmF0dHJpYnV0ZXNbenJdO3pyKyspInNyYyIhPT10ZS5uYW1lJiYoSlt0ZS5uYW1l''@;'; put 'put ''XT10ZS52YWx1ZXx8ITApO3ZhciB0bz17fTtKLmxvZyYmSi5sb2cuc3BsaXQmJkoubG9nLnNwbGl0KCIsIikuZm9yRWFjaChmdW5jdGlvbih0KXt0b1t0XT0hMH0pLEoubG9nPXRvfWN0LldlYkNvbXBvbmVudHMuZmxhZ3M9Sjt2YXIgZW89Si5zaGFkeWRvbTtpZihlbyl7Y3QuU2hhZHlET009''@;'; put 'put ''Y3QuU2hhZHlET018fHt9LGN0LlNoYWR5RE9NLmZvcmNlPWVvO3ZhciBubz1KLm5vUGF0Y2g7Y3QuU2hhZHlET00ubm9QYXRjaD0idHJ1ZSI9PT1ub3x8bm99dmFyIHJvPUoucmVnaXN0ZXJ8fEouY2U7ZnVuY3Rpb24gb28oKXt9ZnVuY3Rpb24gaih0KXtyZXR1cm4gdC5fX3NoYWR5fHwodC5f''@;'; put 'put ''X3NoYWR5PW5ldyBvbyksdC5fX3NoYWR5fWZ1bmN0aW9uIE4odCl7cmV0dXJuIHQmJnQuX19zaGFkeX1ybyYmd2luZG93LmN1c3RvbUVsZW1lbnRzJiYoY3QuY3VzdG9tRWxlbWVudHMuZm9yY2VQb2x5ZmlsbD1ybyksZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fWZ1bmN0aW9uIGUoZCx2KXtp''@;'; put 'put ''ZighZC5jaGlsZE5vZGVzLmxlbmd0aClyZXR1cm5bXTtzd2l0Y2goZC5ub2RlVHlwZSl7Y2FzZSBOb2RlLkRPQ1VNRU5UX05PREU6cmV0dXJuIEQuY2FsbChkLHYpO2Nhc2UgTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFOnJldHVybiBULmNhbGwoZCx2KTtkZWZhdWx0OnJldHVybiBfLmNh''@;'; put 'put ''bGwoZCx2KX19dmFyIG49InVuZGVmaW5lZCI9PXR5cGVvZiBIVE1MVGVtcGxhdGVFbGVtZW50LHI9IShkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuY2xvbmVOb2RlKClpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpLG89ITE7L1RyaWRlbnQvLnRlc3QobmF2aWdhdG9yLnVz''@;'; put 'put ''ZXJBZ2VudCkmJmZ1bmN0aW9uKCl7ZnVuY3Rpb24gZChFLEIpe2lmKEUgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcih2YXIgRmU7RmU9RS5maXJzdENoaWxkOyliLmNhbGwodGhpcyxGZSxCKTtlbHNlIGIuY2FsbCh0aGlzLEUsQik7cmV0dXJuIEV9bz0hMDt2YXIgdj1Ob2RlLnBy''@;'; put 'put ''b3RvdHlwZS5jbG9uZU5vZGU7Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlPWZ1bmN0aW9uKEUpe3JldHVybiBFPXYuY2FsbCh0aGlzLEUpLHRoaXMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50JiYoRS5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUpLEV9LERvY3VtZW50''@;'; put 'put ''RnJhZ21lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGw9SFRNTEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwsRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3Rvcj1IVE1MRWxlbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvcixPYmplY3QuZGVmaW5l''@;'; put 'put ''UHJvcGVydGllcyhEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx7bm9kZVR5cGU6e2dldDpmdW5jdGlvbigpe3JldHVybiBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREV9LGNvbmZpZ3VyYWJsZTohMH0sbG9jYWxOYW1lOntnZXQ6ZnVuY3Rpb24oKXt9LGNvbmZpZ3VyYWJsZTohMH0sbm9k''@;'; put 'put ''ZU5hbWU6e2dldDpmdW5jdGlvbigpe3JldHVybiIjZG9jdW1lbnQtZnJhZ21lbnQifSxjb25maWd1cmFibGU6ITB9fSk7dmFyIGI9Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlO05vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZT1kO3ZhciBMPU5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxk''@;'; put 'put ''O05vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKEUpe3JldHVybiBFIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudD9kLmNhbGwodGhpcyxFLG51bGwpOkwuY2FsbCh0aGlzLEUpLEV9O3ZhciBxPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLHN0PU5vZGUucHJvdG90eXBl''@;'; put 'put ''LnJlcGxhY2VDaGlsZDtOb2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24oRSxCKXtyZXR1cm4gRSBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQ/KGQuY2FsbCh0aGlzLEUsQikscS5jYWxsKHRoaXMsQikpOnN0LmNhbGwodGhpcyxFLEIpLEJ9LERvY3VtZW50LnByb3RvdHlw''@;'; put 'put ''ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50PWZ1bmN0aW9uKCl7dmFyIEU9dGhpcy5jcmVhdGVFbGVtZW50KCJkZiIpO3JldHVybiBFLl9fcHJvdG9fXz1Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSxFfTt2YXIgcHQ9RG9jdW1lbnQucHJvdG90eXBlLmltcG9ydE5vZGU7RG9jdW1lbnQucHJv''@;'; put 'put ''dG90eXBlLmltcG9ydE5vZGU9ZnVuY3Rpb24oRSxCKXtyZXR1cm4gQj1wdC5jYWxsKHRoaXMsRSxCfHwhMSksRSBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQmJihCLl9fcHJvdG9fXz1Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSksQn19KCk7dmFyIGk9Tm9kZS5wcm90b3R5cGUuY2xv''@;'; put 'put ''bmVOb2RlLHM9RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQsbD1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZSxhPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLHU9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQsaD1Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQsZj1E''@;'; put 'put ''T01QYXJzZXIucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZyx4PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LkhUTUxFbGVtZW50LnByb3RvdHlwZSwiaW5uZXJIVE1MIil8fHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbm5lckhUTUx9LHNldDpmdW5jdGlvbihk''@;'; put 'put ''KXt0aGlzLmlubmVySFRNTD1kfX0sUz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5Ob2RlLnByb3RvdHlwZSwiY2hpbGROb2RlcyIpfHx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc319LF89RWxlbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3Rv''@;'; put 'put ''ckFsbCxEPURvY3VtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsLFQ9RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbCxIPWZ1bmN0aW9uKCl7aWYoIW4pe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIiksdj1kb2N1bWVudC5jcmVh''@;'; put 'put ''dGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO3JldHVybiB2LmNvbnRlbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLGQuY29udGVudC5hcHBlbmRDaGlsZCh2KSwwPT09KGQ9ZC5jbG9uZU5vZGUoITApKS5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RofHwwPT09ZC5j''@;'; put 'put ''b250ZW50LmZpcnN0Q2hpbGQuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aHx8cn19KCk7aWYobil7dmFyIHc9ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCJ0ZW1wbGF0ZSIpLFk9ITAseT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3kudGV4dENv''@;'; put 'put ''bnRlbnQ9InRlbXBsYXRle2Rpc3BsYXk6bm9uZTt9Ijt2YXIgZHQ9ZG9jdW1lbnQuaGVhZDtkdC5pbnNlcnRCZWZvcmUoeSxkdC5maXJzdEVsZW1lbnRDaGlsZCksdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShIVE1MRWxlbWVudC5wcm90b3R5cGUpO3ZhciBudD0hZG9jdW1lbnQuY3JlYXRl''@;'; put 'put ''RWxlbWVudCgiZGl2IikuaGFzT3duUHJvcGVydHkoImlubmVySFRNTCIpO3QuWj1mdW5jdGlvbihkKXtpZighZC5jb250ZW50JiZkLm5hbWVzcGFjZVVSST09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkkpe2QuY29udGVudD13LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQo''@;'; put 'put ''KTtmb3IodmFyIHY7dj1kLmZpcnN0Q2hpbGQ7KXUuY2FsbChkLmNvbnRlbnQsdik7aWYobnQpZC5fX3Byb3RvX189dC5wcm90b3R5cGU7ZWxzZSBpZihkLmNsb25lTm9kZT1mdW5jdGlvbihiKXtyZXR1cm4gdC5zYSh0aGlzLGIpfSxZKXRyeXtjKGQpLE0oZCl9Y2F0Y2goYil7WT0hMX10LmJv''@;'; put 'put ''b3RzdHJhcChkLmNvbnRlbnQpfX07dmFyIGZ0PXtvcHRpb246WyJzZWxlY3QiXSx0aGVhZDpbInRhYmxlIl0sY29sOlsiY29sZ3JvdXAiLCJ0YWJsZSJdLHRyOlsidGJvZHkiLCJ0YWJsZSJdLHRoOlsidHIiLCJ0Ym9keSIsInRhYmxlIl0sdGQ6WyJ0ciIsInRib2R5IiwidGFibGUiXX0sYz1m''@;'; put 'put ''dW5jdGlvbihkKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZCwiaW5uZXJIVE1MIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEV0KHRoaXMpfSxzZXQ6ZnVuY3Rpb24odil7dmFyIGI9ZnRbKC88KFthLXpdW14vXDA+XHgyMFx0XHJcblxmXSspL2kuZXhlYyh2KXx8WyIiLCIiXSlbMV0udG9Mb3dl''@;'; put 'put ''ckNhc2UoKV07aWYoYilmb3IodmFyIEw9MDtMPGIubGVuZ3RoO0wrKyl2PSI8IitiW0xdKyI+Iit2KyI8LyIrYltMXSsiPiI7Zm9yKHcuYm9keS5pbm5lckhUTUw9dix0LmJvb3RzdHJhcCh3KTt0aGlzLmNvbnRlbnQuZmlyc3RDaGlsZDspYS5jYWxsKHRoaXMuY29udGVudCx0aGlzLmNvbnRl''@;'; put 'put ''bnQuZmlyc3RDaGlsZCk7aWYodj13LmJvZHksYilmb3IoTD0wO0w8Yi5sZW5ndGg7TCsrKXY9di5sYXN0Q2hpbGQ7Zm9yKDt2LmZpcnN0Q2hpbGQ7KXUuY2FsbCh0aGlzLmNvbnRlbnQsdi5maXJzdENoaWxkKX0sY29uZmlndXJhYmxlOiEwfSl9LE09ZnVuY3Rpb24oZCl7T2JqZWN0LmRlZmlu''@;'; put 'put ''ZVByb3BlcnR5KGQsIm91dGVySFRNTCIse2dldDpmdW5jdGlvbigpe3JldHVybiI8dGVtcGxhdGU+Iit0aGlzLmlubmVySFRNTCsiPC90ZW1wbGF0ZT4ifSxzZXQ6ZnVuY3Rpb24odil7aWYoIXRoaXMucGFyZW50Tm9kZSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIHNldCB0aGUgJ291dGVySFRN''@;'; put 'put ''TCcgcHJvcGVydHkgb24gJ0VsZW1lbnQnOiBUaGlzIGVsZW1lbnQgaGFzIG5vIHBhcmVudCBub2RlLiIpO2Zvcih3LmJvZHkuaW5uZXJIVE1MPXYsdj10aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO3cuYm9keS5maXJzdENoaWxkOyl1LmNhbGwodix3LmJvZHku''@;'; put 'put ''Zmlyc3RDaGlsZCk7aC5jYWxsKHRoaXMucGFyZW50Tm9kZSx2LHRoaXMpfSxjb25maWd1cmFibGU6ITB9KX07Yyh0LnByb3RvdHlwZSksTSh0LnByb3RvdHlwZSksdC5ib290c3RyYXA9ZnVuY3Rpb24oZCl7Zm9yKHZhciBMLHY9MCxiPShkPWUoZCwidGVtcGxhdGUiKSkubGVuZ3RoO3Y8YiYm''@;'; put 'put ''KEw9ZFt2XSk7disrKXQuWihMKX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXt0LmJvb3RzdHJhcChkb2N1bWVudCl9KSxEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbigpe3ZhciBkPXMuYXBwbHkodGhpcyxh''@;'; put 'put ''cmd1bWVudHMpO3JldHVybiJ0ZW1wbGF0ZSI9PT1kLmxvY2FsTmFtZSYmdC5aKGQpLGR9LERPTVBhcnNlci5wcm90b3R5cGUucGFyc2VGcm9tU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGQ9Zi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHQuYm9vdHN0cmFwKGQpLGR9LE9iamVjdC5kZWZp''@;'; put 'put ''bmVQcm9wZXJ0eShIVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIse2dldDpmdW5jdGlvbigpe3JldHVybiBFdCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGQpe3guc2V0LmNhbGwodGhpcyxkKSx0LmJvb3RzdHJhcCh0aGlzKX0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9KTt2''@;'; put 'put ''YXIgcnQ9L1smXHUwMEEwIl0vZyxqcj0vWyZcdTAwQTA8Pl0vZyxqZT1mdW5jdGlvbihkKXtzd2l0Y2goZCl7Y2FzZSImIjpyZXR1cm4iJmFtcDsiO2Nhc2UiPCI6cmV0dXJuIiZsdDsiO2Nhc2UiPiI6cmV0dXJuIiZndDsiO2Nhc2UnIic6cmV0dXJuIiZxdW90OyI7Y2FzZSJceGEwIjpyZXR1''@;'; put 'put ''cm4iJm5ic3A7In19LEt0PSh5PWZ1bmN0aW9uKGQpe2Zvcih2YXIgdj17fSxiPTA7YjxkLmxlbmd0aDtiKyspdltkW2JdXT0hMDtyZXR1cm4gdn0pKCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNr''@;'; put 'put ''IHdiciIuc3BsaXQoIiAiKSksUmU9eSgic3R5bGUgc2NyaXB0IHhtcCBpZnJhbWUgbm9lbWJlZCBub2ZyYW1lcyBwbGFpbnRleHQgbm9zY3JpcHQiLnNwbGl0KCIgIikpLEV0PWZ1bmN0aW9uKGQsdil7InRlbXBsYXRlIj09PWQubG9jYWxOYW1lJiYoZD1kLmNvbnRlbnQpO2Zvcih2YXIgcHQs''@;'; put 'put ''Yj0iIixMPXY/dihkKTpTLmdldC5jYWxsKGQpLHE9MCxzdD1MLmxlbmd0aDtxPHN0JiYocHQ9TFtxXSk7cSsrKXt0Ont2YXIgRT1wdCxCPWQsRmU9djtzd2l0Y2goRS5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpmb3IodmFyIFJyPUUubG9jYWxOYW1lLEhlPSI8IitScixaYT1F''@;'; put 'put ''LmF0dHJpYnV0ZXMseHM9MDtCPVphW3hzXTt4cysrKUhlKz0iICIrQi5uYW1lKyc9IicrQi52YWx1ZS5yZXBsYWNlKHJ0LGplKSsnIic7SGUrPSI+IixFPUt0W1JyXT9IZTpIZStFdChFLEZlKSsiPC8iK1JyKyI+IjticmVhayB0O2Nhc2UgTm9kZS5URVhUX05PREU6RT1FLmRhdGEsRT1CJiZS''@;'; put 'put ''ZVtCLmxvY2FsTmFtZV0/RTpFLnJlcGxhY2UoanIsamUpO2JyZWFrIHQ7Y2FzZSBOb2RlLkNPTU1FTlRfTk9ERTpFPSJceDNjIS0tIitFLmRhdGErIi0tXHgzZSI7YnJlYWsgdDtkZWZhdWx0OnRocm93IHdpbmRvdy5jb25zb2xlLmVycm9yKEUpLEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX19''@;'; put 'put ''Yis9RX1yZXR1cm4gYn19aWYobnx8SCl7dC5zYT1mdW5jdGlvbihkLHYpe3ZhciBiPWkuY2FsbChkLCExKTtyZXR1cm4gdGhpcy5aJiZ0aGlzLlooYiksdiYmKHUuY2FsbChiLmNvbnRlbnQsaS5jYWxsKGQuY29udGVudCwhMCkpLHAoYi5jb250ZW50LGQuY29udGVudCkpLGJ9O3ZhciBwPWZ1''@;'; put 'put ''bmN0aW9uKGQsdil7aWYodi5xdWVyeVNlbGVjdG9yQWxsJiYwIT09KHY9ZSh2LCJ0ZW1wbGF0ZSIpKS5sZW5ndGgpZm9yKHZhciBxLHN0LGI9MCxMPShkPWUoZCwidGVtcGxhdGUiKSkubGVuZ3RoO2I8TDtiKyspc3Q9dltiXSxxPWRbYl0sdCYmdC5aJiZ0Llooc3QpLGguY2FsbChxLnBhcmVu''@;'; put 'put ''dE5vZGUsTy5jYWxsKHN0LCEwKSxxKX0sTz1Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGU9ZnVuY3Rpb24oZCl7aWYoIW8mJnImJnRoaXMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KXtpZighZClyZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTt2''@;'; put 'put ''YXIgdj1QLmNhbGwodGhpcy5vd25lckRvY3VtZW50LHRoaXMsITApfWVsc2Ugdj10aGlzLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJiJ0ZW1wbGF0ZSI9PT10aGlzLmxvY2FsTmFtZSYmdGhpcy5uYW1lc3BhY2VVUkk9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VV''@;'; put 'put ''Ukk/dC5zYSh0aGlzLGQpOmkuY2FsbCh0aGlzLGQpO3JldHVybiBkJiZwKHYsdGhpcyksdn0sUD1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbihkLHYpe2lmKHY9dnx8ITEsInRlbXBsYXRlIj09PWQubG9jYWxOYW1lKXJldHVybiB0LnNhKGQsdik7dmFyIGI9bC5jYWxs''@;'; put 'put ''KHRoaXMsZCx2KTtpZih2KXtwKGIsZCksZD1lKGIsJ3NjcmlwdDpub3QoW3R5cGVdKSxzY3JpcHRbdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJdLHNjcmlwdFt0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiXScpO2Zvcih2YXIgTCxxPTA7cTxkLmxlbmd0aDtxKyspe0w9ZFtxXSwodj1zLmNh''@;'; put 'put ''bGwoZG9jdW1lbnQsInNjcmlwdCIpKS50ZXh0Q29udGVudD1MLnRleHRDb250ZW50O2Zvcih2YXIgRSxzdD1MLmF0dHJpYnV0ZXMscHQ9MDtwdDxzdC5sZW5ndGg7cHQrKyl2LnNldEF0dHJpYnV0ZSgoRT1zdFtwdF0pLm5hbWUsRS52YWx1ZSk7aC5jYWxsKEwucGFyZW50Tm9kZSx2LEwpfX1y''@;'; put 'put ''ZXR1cm4gYn19biYmKHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50PXQpfSgpLG9vLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57fX07dmFyIGc9d2luZG93LlNoYWR5RE9NfHx7fTtnLllhPSEoIUVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvd3x8IU5vZGUucHJvdG90''@;'; put 'put ''eXBlLmdldFJvb3ROb2RlKTt2YXIgQ249T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSwiZmlyc3RDaGlsZCIpO2Z1bmN0aW9uIGlvKCl7cmV0dXJuIERvY3VtZW50LnByb3RvdHlwZS5tc0VsZW1lbnRzRnJvbVBvaW50PyJtc0VsZW1lbnRzRnJvbVBvaW50''@;'; put 'put ''IjoiZWxlbWVudHNGcm9tUG9pbnQifWZ1bmN0aW9uIF90KHQpe3JldHVybih0PU4odCkpJiZ2b2lkIDAhPT10LmZpcnN0Q2hpbGR9ZnVuY3Rpb24gayh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3R9ZnVuY3Rpb24gU24odCl7cmV0dXJuKHQ9KHQ9Tih0KSkmJnQucm9vdCkmJnBp''@;'; put 'put ''KHQpfWcuSD0hIShDbiYmQ24uY29uZmlndXJhYmxlJiZDbi5nZXQpLGcueWE9Zy5mb3JjZXx8IWcuWWEsZy5KPWcubm9QYXRjaHx8ITEsZy5mYT1nLnByZWZlclBlcmZvcm1hbmNlLGcuQWE9Im9uLWRlbWFuZCI9PT1nLkosZy5OYT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCJUcmlkZW50''@;'; put 'put ''Iik7dmFyIE50PUVsZW1lbnQucHJvdG90eXBlLHNvPU50Lm1hdGNoZXN8fE50Lm1hdGNoZXNTZWxlY3Rvcnx8TnQubW96TWF0Y2hlc1NlbGVjdG9yfHxOdC5tc01hdGNoZXNTZWxlY3Rvcnx8TnQub01hdGNoZXNTZWxlY3Rvcnx8TnQud2Via2l0TWF0Y2hlc1NlbGVjdG9yLFRuPWRvY3VtZW50''@;'; put 'put ''LmNyZWF0ZVRleHROb2RlKCIiKSxsbz0wLE9uPVtdO2Z1bmN0aW9uIGFvKHQpe09uLnB1c2godCksVG4udGV4dENvbnRlbnQ9bG8rK31uZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcig7T24ubGVuZ3RoOyl0cnl7T24uc2hpZnQoKSgpfWNhdGNoKHQpe3Rocm93IFRuLnRleHRD''@;'; put 'put ''b250ZW50PWxvKyssdH19KS5vYnNlcnZlKFRuLHtjaGFyYWN0ZXJEYXRhOiEwfSk7dmFyIHVvPWRvY3VtZW50LmNvbnRhaW5zP2Z1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX19zaGFkeV9uYXRpdmVfY29udGFpbnMoZSl9OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHx0LmRvY3VtZW50RWxl''@;'; put 'put ''bWVudCYmdC5kb2N1bWVudEVsZW1lbnQuX19zaGFkeV9uYXRpdmVfY29udGFpbnMoZSl9O2Z1bmN0aW9uIGhvKHQsZSl7Zm9yKDtlOyl7aWYoZT09dClyZXR1cm4hMDtlPWUuX19zaGFkeV9wYXJlbnROb2RlfXJldHVybiExfWZ1bmN0aW9uIGVlKHQpe2Zvcih2YXIgZT10Lmxlbmd0aC0xOzA8''@;'; put 'put ''PWU7ZS0tKXt2YXIgbj10W2VdLHI9bi5nZXRBdHRyaWJ1dGUoImlkIil8fG4uZ2V0QXR0cmlidXRlKCJuYW1lIik7ciYmImxlbmd0aCIhPT1yJiZpc05hTihyKSYmKHRbcl09bil9cmV0dXJuIHQuaXRlbT1mdW5jdGlvbihvKXtyZXR1cm4gdFtvXX0sdC5uYW1lZEl0ZW09ZnVuY3Rpb24obyl7''@;'; put 'put ''aWYoImxlbmd0aCIhPT1vJiZpc05hTihvKSYmdFtvXSlyZXR1cm4gdFtvXTtmb3IodmFyIGk9bHQodCkscz1pLm5leHQoKTshcy5kb25lO3M9aS5uZXh0KCkpaWYoKChzPXMudmFsdWUpLmdldEF0dHJpYnV0ZSgiaWQiKXx8cy5nZXRBdHRyaWJ1dGUoIm5hbWUiKSk9PW8pcmV0dXJuIHM7cmV0''@;'; put 'put ''dXJuIG51bGx9LHR9ZnVuY3Rpb24gY28odCl7dmFyIGU9W107Zm9yKHQ9dC5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkO3Q7dD10Ll9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nKWUucHVzaCh0KTtyZXR1cm4gZX1mdW5jdGlvbiBibih0KXt2YXIgZT1bXTtmb3IodD10Ll9fc2hhZHlfZmly''@;'; put 'put ''c3RDaGlsZDt0O3Q9dC5fX3NoYWR5X25leHRTaWJsaW5nKWUucHVzaCh0KTtyZXR1cm4gZX1mdW5jdGlvbiBmbyh0LGUsbil7aWYobi5jb25maWd1cmFibGU9ITAsbi52YWx1ZSl0W2VdPW4udmFsdWU7ZWxzZSB0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxuKX1jYXRjaChyKXt9fWZ1''@;'; put 'put ''bmN0aW9uIFcodCxlLG4scil7Zm9yKHZhciBvIGluIG49dm9pZCAwPT09bj8iIjpuLGUpciYmMDw9ci5pbmRleE9mKG8pfHxmbyh0LG4rbyxlW29dKX1mdW5jdGlvbiBEbih0LGUpe2Zvcih2YXIgbiBpbiBlKW4gaW4gdCYmZm8odCxuLGVbbl0pfWZ1bmN0aW9uIFIodCl7dmFyIGU9e307cmV0''@;'; put 'put ''dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmZvckVhY2goZnVuY3Rpb24obil7ZVtuXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbil9KSxlfWZ1bmN0aW9uIHhuKHQsZSl7Zm9yKHZhciBvLG49T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkscj0wO3I8''@;'; put 'put ''bi5sZW5ndGg7cisrKXRbbz1uW3JdXT1lW29dfWZ1bmN0aW9uIHBvKHQpe3JldHVybiB0IGluc3RhbmNlb2YgTm9kZT90OmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiK3QpfWZ1bmN0aW9uIEN0KHQpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3Vt''@;'; put 'put ''ZW50c1tuXTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIHBvKGVbMF0pO249ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2Zvcih2YXIgcj0oZT1sdChlKSkubmV4dCgpOyFyLmRvbmU7cj1lLm5leHQoKSluLmFwcGVuZENoaWxkKHBvKHIudmFsdWUpKTtyZXR1cm4gbn12YXIgTW4s''@;'; put 'put ''a3Q9W107ZnVuY3Rpb24gX28odCl7TW58fChNbj0hMCxhbyhuZSkpLGt0LnB1c2godCl9ZnVuY3Rpb24gbmUoKXtNbj0hMTtmb3IodmFyIHQ9ISFrdC5sZW5ndGg7a3QubGVuZ3RoOylrdC5zaGlmdCgpKCk7cmV0dXJuIHR9ZnVuY3Rpb24gUG4oKXt0aGlzLmc9ITEsdGhpcy5hZGRlZE5vZGVz''@;'; put 'put ''PVtdLHRoaXMucmVtb3ZlZE5vZGVzPVtdLHRoaXMub2E9bmV3IFNldH1uZS5saXN0PWt0LFBuLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2lmKHRoaXMuZyl7dGhpcy5nPSExO3ZhciB0PXRoaXMudGFrZVJlY29yZHMoKTt0Lmxlbmd0aCYmdGhpcy5vYS5mb3JFYWNoKGZ1bmN0aW9uKGUp''@;'; put 'put ''e2UodCl9KX19LFBuLnByb3RvdHlwZS50YWtlUmVjb3Jkcz1mdW5jdGlvbigpe2lmKHRoaXMuYWRkZWROb2Rlcy5sZW5ndGh8fHRoaXMucmVtb3ZlZE5vZGVzLmxlbmd0aCl7dmFyIHQ9W3thZGRlZE5vZGVzOnRoaXMuYWRkZWROb2RlcyxyZW1vdmVkTm9kZXM6dGhpcy5yZW1vdmVkTm9kZXN9''@;'; put 'put ''XTtyZXR1cm4gdGhpcy5hZGRlZE5vZGVzPVtdLHRoaXMucmVtb3ZlZE5vZGVzPVtdLHR9cmV0dXJuW119O3ZhciBfbD0vWyZcdTAwQTAiXS9nLHZsPS9bJlx1MDBBMDw+XS9nO2Z1bmN0aW9uIHZvKHQpe3N3aXRjaCh0KXtjYXNlIiYiOnJldHVybiImYW1wOyI7Y2FzZSI8IjpyZXR1cm4iJmx0''@;'; put 'put ''OyI7Y2FzZSI+IjpyZXR1cm4iJmd0OyI7Y2FzZSciJzpyZXR1cm4iJnF1b3Q7IjtjYXNlIlx4YTAiOnJldHVybiImbmJzcDsifX1mdW5jdGlvbiBtbyh0KXtmb3IodmFyIGU9e30sbj0wO248dC5sZW5ndGg7bisrKWVbdFtuXV09ITA7cmV0dXJuIGV9dmFyIG1sPW1vKCJhcmVhIGJhc2UgYnIg''@;'; put 'put ''Y29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiciIuc3BsaXQoIiAiKSkseWw9bW8oInN0eWxlIHNjcmlwdCB4bXAgaWZyYW1lIG5vZW1iZWQgbm9mcmFtZXMgcGxhaW50ZXh0IG5vc2NyaXB0Ii5zcGxpdCgiICIpKTtm''@;'; put 'put ''dW5jdGlvbiBMbih0LGUpeyJ0ZW1wbGF0ZSI9PT10LmxvY2FsTmFtZSYmKHQ9dC5jb250ZW50KTtmb3IodmFyIG49IiIscj1lP2UodCk6dC5jaGlsZE5vZGVzLG89MCxpPXIubGVuZ3RoLHM9dm9pZCAwO288aSYmKHM9cltvXSk7bysrKXt0Ont2YXIgbD1zLGE9dCx1PWU7c3dpdGNoKGwubm9k''@;'; put 'put ''ZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Zm9yKHZhciBTLGg9IjwiKyhhPWwubG9jYWxOYW1lKSxmPWwuYXR0cmlidXRlcyx4PTA7Uz1mW3hdO3grKyloKz0iICIrUy5uYW1lKyc9IicrUy52YWx1ZS5yZXBsYWNlKF9sLHZvKSsnIic7aCs9Ij4iLGw9bWxbYV0/aDpoK0xuKGwsdSkr''@;'; put 'put ''IjwvIithKyI+IjticmVhayB0O2Nhc2UgTm9kZS5URVhUX05PREU6bD1sLmRhdGEsbD1hJiZ5bFthLmxvY2FsTmFtZV0/bDpsLnJlcGxhY2Uodmwsdm8pO2JyZWFrIHQ7Y2FzZSBOb2RlLkNPTU1FTlRfTk9ERTpsPSJceDNjIS0tIitsLmRhdGErIi0tXHgzZSI7YnJlYWsgdDtkZWZhdWx0OnRo''@;'; put 'put ''cm93IHdpbmRvdy5jb25zb2xlLmVycm9yKGwpLEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX19bis9bH1yZXR1cm4gbn12YXIgcmU9Zy5ILEFuPXtxdWVyeVNlbGVjdG9yOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3F1ZXJ5U2VsZWN0b3IodCl9LHF1ZXJ5U2VsZWN0''@;'; put 'put ''b3JBbGw6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvckFsbCh0KX19LHlvPXt9O2Z1bmN0aW9uIGdvKHQpe3lvW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBlWyJfX3NoYWR5X25hdGl2ZV8iK3RdfX1mdW5jdGlvbiBCdCh0LGUpe2Zvcih2YXIgbiBp''@;'; put 'put ''biBXKHQsZSwiX19zaGFkeV9uYXRpdmVfIiksZSlnbyhuKX1mdW5jdGlvbiBGKHQsZSl7ZT12b2lkIDA9PT1lP1tdOmU7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl0sbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscik7byYmKE9iamVjdC5kZWZpbmVQ''@;'; put 'put ''cm9wZXJ0eSh0LCJfX3NoYWR5X25hdGl2ZV8iK3Isbyksby52YWx1ZT9BbltyXXx8KEFuW3JdPW8udmFsdWUpOmdvKHIpKX19dmFyICQ9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfQUxMLG51bGwsITEpLEs9ZG9jdW1lbnQuY3JlYXRlVHJlZVdh''@;'; put 'put ''bGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxudWxsLCExKSxqbj1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoImluZXJ0Iik7ZnVuY3Rpb24gd28odCl7Zm9yKHZhciBlO2U9dC5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkOyl0Ll9fc2hh''@;'; put 'put ''ZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGUpfXZhciBSbj1bImZpcnN0RWxlbWVudENoaWxkIiwibGFzdEVsZW1lbnRDaGlsZCIsImNoaWxkcmVuIiwiY2hpbGRFbGVtZW50Q291bnQiXSxGbj1bInF1ZXJ5U2VsZWN0b3IiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYXBwZW5kIiwicHJlcGVuZCIsInJl''@;'; put 'put ''cGxhY2VDaGlsZHJlbiJdLEhuPVIoe2dldCBjaGlsZE5vZGVzKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jaGlsZE5vZGVzfSxnZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfZmlyc3RDaGlsZH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfbGFzdENoaWxk''@;'; put 'put ''fSxnZXQgY2hpbGRFbGVtZW50Q291bnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkRWxlbWVudENvdW50fSxnZXQgY2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkcmVufSxnZXQgZmlyc3RFbGVtZW50Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2ZpcnN0RWxlbWVu''@;'; put 'put ''dENoaWxkfSxnZXQgbGFzdEVsZW1lbnRDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfbGFzdEVsZW1lbnRDaGlsZH0sZ2V0IHNoYWRvd1Jvb3QoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3NoYWRvd1Jvb3R9fSksSW49Uih7Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuX19zaGFkeV90''@;'; put 'put ''ZXh0Q29udGVudH0sc2V0IHRleHRDb250ZW50KHQpe3RoaXMuX19zaGFkeV90ZXh0Q29udGVudD10fSxnZXQgaW5uZXJIVE1MKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9pbm5lckhUTUx9LHNldCBpbm5lckhUTUwodCl7dGhpcy5fX3NoYWR5X2lubmVySFRNTD10fX0pLGtuPVIoe2dldCBwYXJl''@;'; put 'put ''bnRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wYXJlbnRFbGVtZW50fSxnZXQgcGFyZW50Tm9kZSgpe3JldHVybiB0aGlzLl9fc2hhZHlfcGFyZW50Tm9kZX0sZ2V0IG5leHRTaWJsaW5nKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9uZXh0U2libGluZ30sZ2V0IHByZXZpb3VzU2libGlu''@;'; put 'put ''Zygpe3JldHVybiB0aGlzLl9fc2hhZHlfcHJldmlvdXNTaWJsaW5nfSxnZXQgbmV4dEVsZW1lbnRTaWJsaW5nKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9uZXh0RWxlbWVudFNpYmxpbmd9LGdldCBwcmV2aW91c0VsZW1lbnRTaWJsaW5nKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wcmV2aW91c0Vs''@;'; put 'put ''ZW1lbnRTaWJsaW5nfSxnZXQgY2xhc3NOYW1lKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jbGFzc05hbWV9LHNldCBjbGFzc05hbWUodCl7dGhpcy5fX3NoYWR5X2NsYXNzTmFtZT10fX0pO2Z1bmN0aW9uIEJuKHQpe2Zvcih2YXIgZSBpbiB0KXt2YXIgbj10W2VdO24mJihuLmVudW1lcmFibGU9''@;'; put 'put ''ITEpfX1CbihIbiksQm4oSW4pLEJuKGtuKTt2YXIgRW89Zy5IfHwhMD09PWcuSixObz1Fbz9mdW5jdGlvbigpe306ZnVuY3Rpb24odCl7dmFyIGU9aih0KTtlLlBhfHwoZS5QYT0hMCxEbih0LGtuKSl9LENvPUVvP2Z1bmN0aW9uKCl7fTpmdW5jdGlvbih0KXt2YXIgZT1qKHQpO2UuT2F8fChl''@;'; put 'put ''Lk9hPSEwLERuKHQsSG4pLHdpbmRvdy5jdXN0b21FbGVtZW50cyYmd2luZG93LmN1c3RvbUVsZW1lbnRzLnBvbHlmaWxsV3JhcEZsdXNoQ2FsbGJhY2smJiFnLkp8fERuKHQsSW4pKX0sVXQ9Il9fZXZlbnRXcmFwcGVycyIrRGF0ZS5ub3coKSxVbj1mdW5jdGlvbigpe3ZhciB0PU9iamVjdC5n''@;'; put 'put ''ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXZlbnQucHJvdG90eXBlLCJjb21wb3NlZCIpO3JldHVybiB0P2Z1bmN0aW9uKGUpe3JldHVybiB0LmdldC5jYWxsKGUpfTpudWxsfSgpLHdsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe312YXIgZT0hMSxuPXtnZXQgY2FwdHVyZSgpe3JldHVybiBl''@;'; put 'put ''PSEwLCExfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iix0LG4pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0Iix0LG4pLGV9KCk7ZnVuY3Rpb24gU28odCl7aWYodCYmIm9iamVjdCI9PXR5cGVvZiB0KXZhciBlPSEhdC5jYXB0dXJlLG49ISF0Lm9uY2Us''@;'; put 'put ''cj0hIXQucGFzc2l2ZSxvPXQuVTtlbHNlIGU9ISF0LHI9bj0hMTtyZXR1cm57TGE6byxjYXB0dXJlOmUsb25jZTpuLHBhc3NpdmU6cixKYTp3bD90OmV9fXZhciBFbD17Ymx1cjohMCxmb2N1czohMCxmb2N1c2luOiEwLGZvY3Vzb3V0OiEwLGNsaWNrOiEwLGRibGNsaWNrOiEwLG1vdXNlZG93''@;'; put 'put ''bjohMCxtb3VzZWVudGVyOiEwLG1vdXNlbGVhdmU6ITAsbW91c2Vtb3ZlOiEwLG1vdXNlb3V0OiEwLG1vdXNlb3ZlcjohMCxtb3VzZXVwOiEwLHdoZWVsOiEwLGJlZm9yZWlucHV0OiEwLGlucHV0OiEwLGtleWRvd246ITAsa2V5dXA6ITAsY29tcG9zaXRpb25zdGFydDohMCxjb21wb3NpdGlv''@;'; put 'put ''bnVwZGF0ZTohMCxjb21wb3NpdGlvbmVuZDohMCx0b3VjaHN0YXJ0OiEwLHRvdWNoZW5kOiEwLHRvdWNobW92ZTohMCx0b3VjaGNhbmNlbDohMCxwb2ludGVyb3ZlcjohMCxwb2ludGVyZW50ZXI6ITAscG9pbnRlcmRvd246ITAscG9pbnRlcm1vdmU6ITAscG9pbnRlcnVwOiEwLHBvaW50ZXJj''@;'; put 'put ''YW5jZWw6ITAscG9pbnRlcm91dDohMCxwb2ludGVybGVhdmU6ITAsZ290cG9pbnRlcmNhcHR1cmU6ITAsbG9zdHBvaW50ZXJjYXB0dXJlOiEwLGRyYWdzdGFydDohMCxkcmFnOiEwLGRyYWdlbnRlcjohMCxkcmFnbGVhdmU6ITAsZHJhZ292ZXI6ITAsZHJvcDohMCxkcmFnZW5kOiEwLERPTUFj''@;'; put 'put ''dGl2YXRlOiEwLERPTUZvY3VzSW46ITAsRE9NRm9jdXNPdXQ6ITAsa2V5cHJlc3M6ITB9LFRvPXtET01BdHRyTW9kaWZpZWQ6ITAsRE9NQXR0cmlidXRlTmFtZUNoYW5nZWQ6ITAsRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkOiEwLERPTUVsZW1lbnROYW1lQ2hhbmdlZDohMCxET01Ob2RlSW5z''@;'; put 'put ''ZXJ0ZWQ6ITAsRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50OiEwLERPTU5vZGVSZW1vdmVkOiEwLERPTU5vZGVSZW1vdmVkRnJvbURvY3VtZW50OiEwLERPTVN1YnRyZWVNb2RpZmllZDohMH07ZnVuY3Rpb24gT28odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBOb2RlP3QuX19zaGFkeV9nZXRS''@;'; put 'put ''b290Tm9kZSgpOnR9ZnVuY3Rpb24gb2UodCxlKXt2YXIgbj1bXSxyPXQ7Zm9yKHQ9T28odCk7cjspbi5wdXNoKHIpLHI9ci5fX3NoYWR5X2Fzc2lnbmVkU2xvdD9yLl9fc2hhZHlfYXNzaWduZWRTbG90OnIubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUmJnIuaG9zdCYm''@;'; put 'put ''KGV8fHIhPT10KT9yLmhvc3Q6ci5fX3NoYWR5X3BhcmVudE5vZGU7cmV0dXJuIG5bbi5sZW5ndGgtMV09PT1kb2N1bWVudCYmbi5wdXNoKHdpbmRvdyksbn1mdW5jdGlvbiBXbih0LGUpe2lmKCFrKXJldHVybiB0O3Q9b2UodCwhMCk7Zm9yKHZhciByLGksbj0wLG89dm9pZCAwLHM9dm9pZCAw''@;'; put 'put ''O248ZS5sZW5ndGg7bisrKWlmKChpPU9vKHI9ZVtuXSkpIT09byYmKHM9dC5pbmRleE9mKGkpLG89aSksIWsoaSl8fC0xPHMpcmV0dXJuIHJ9ZnVuY3Rpb24gVm4odCl7ZnVuY3Rpb24gZShuLHIpe3JldHVybihuPW5ldyB0KG4scikpLl9fY29tcG9zZWQ9ciYmISFyLmNvbXBvc2VkLG59cmV0''@;'; put 'put ''dXJuIGUuX19wcm90b19fPXQsZS5wcm90b3R5cGU9dC5wcm90b3R5cGUsZX12YXIgYm89e2ZvY3VzOiEwLGJsdXI6ITB9O2Z1bmN0aW9uIERvKHQpe3JldHVybiB0Ll9fdGFyZ2V0IT09dC50YXJnZXR8fHQuX19yZWxhdGVkVGFyZ2V0IT09dC5yZWxhdGVkVGFyZ2V0fWZ1bmN0aW9uIHhvKHQs''@;'; put 'put ''ZSxuKXtpZihuPWUuX19oYW5kbGVycyYmZS5fX2hhbmRsZXJzW3QudHlwZV0mJmUuX19oYW5kbGVyc1t0LnR5cGVdW25dKWZvcih2YXIgbyxyPTA7KG89bltyXSkmJighRG8odCl8fHQudGFyZ2V0IT09dC5yZWxhdGVkVGFyZ2V0KSYmKG8uY2FsbChlLHQpLCF0Ll9faW1tZWRpYXRlUHJvcGFn''@;'; put 'put ''YXRpb25TdG9wcGVkKTtyKyspO31mdW5jdGlvbiBNbyh0KXt2YXIgZT10LmNvbXBvc2VkUGF0aCgpLG49ZS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIFduKGEsZSl9KSxyPXQuYnViYmxlcztPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiY3VycmVudFRhcmdldCIse2NvbmZpZ3VyYWJsZTohMCxl''@;'; put 'put ''bnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBzfX0pO3ZhciBvPUV2ZW50LkNBUFRVUklOR19QSEFTRTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZXZlbnRQaGFzZSIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2Zv''@;'; put 'put ''cih2YXIgaT1lLmxlbmd0aC0xOzA8PWk7aS0tKXt2YXIgcz1lW2ldO2lmKG89cz09PW5baV0/RXZlbnQuQVRfVEFSR0VUOkV2ZW50LkNBUFRVUklOR19QSEFTRSx4byh0LHMsImNhcHR1cmUiKSx0LnJhKXJldHVybn1mb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbD0ocz1lW2ldKT09PW5b''@;'; put 'put ''aV07aWYoKGx8fHIpJiYobz1sP0V2ZW50LkFUX1RBUkdFVDpFdmVudC5CVUJCTElOR19QSEFTRSx4byh0LHMsImJ1YmJsZSIpLHQucmEpKXJldHVybn1vPTAscz1udWxsfWZ1bmN0aW9uIFBvKHQsZSxuLHIsbyxpKXtmb3IodmFyIHM9MDtzPHQubGVuZ3RoO3MrKyl7dmFyIGw9dFtzXTtpZihl''@;'; put 'put ''PT09bC5ub2RlJiZuPT09bC50eXBlJiZyPT09bC5jYXB0dXJlJiZvPT09bC5vbmNlJiZpPT09bC5wYXNzaXZlKXJldHVybiBzfXJldHVybi0xfWZ1bmN0aW9uIExvKHQpe3JldHVybiBuZSgpLCFnLmZhJiZ0aGlzIGluc3RhbmNlb2YgTm9kZSYmIXVvKGRvY3VtZW50LHRoaXMpPyh0Ll9fdGFy''@;'; put 'put ''Z2V0fHxZbih0LHRoaXMpLE1vKHQpKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2Rpc3BhdGNoRXZlbnQodCl9ZnVuY3Rpb24gR24odCxlLG4pe3ZhciByPVNvKG4pLG89ci5jYXB0dXJlLGk9ci5vbmNlLHM9ci5wYXNzaXZlLGw9ci5MYTtpZihyPXIuSmEsZSl7dmFyIGE9dHlwZW9mIGU7aWYoKCJm''@;'; put 'put ''dW5jdGlvbiI9PT1hfHwib2JqZWN0Ij09PWEpJiYoIm9iamVjdCIhPT1hfHxlLmhhbmRsZUV2ZW50JiYiZnVuY3Rpb24iPT10eXBlb2YgZS5oYW5kbGVFdmVudCkpe2lmKFRvW3RdKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXIodCxlLHIpO3ZhciB1PWx8fHRo''@;'; put 'put ''aXM7aWYobD1lW1V0XSl7aWYoLTE8UG8obCx1LHQsbyxpLHMpKXJldHVybn1lbHNlIGVbVXRdPVtdO2w9ZnVuY3Rpb24oaCl7aWYoaSYmdGhpcy5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIodCxlLG4pLGguX190YXJnZXR8fFluKGgpLHUhPT10aGlzKXt2YXIgZj1PYmplY3QuZ2V0T3du''@;'; put 'put ''UHJvcGVydHlEZXNjcmlwdG9yKGgsImN1cnJlbnRUYXJnZXQiKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoaCwiY3VycmVudFRhcmdldCIse2dldDpmdW5jdGlvbigpe3JldHVybiB1fSxjb25maWd1cmFibGU6ITB9KTt2YXIgeD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGgsImV2''@;'; put 'put ''ZW50UGhhc2UiKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoaCwiZXZlbnRQaGFzZSIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvP0V2ZW50LkNBUFRVUklOR19QSEFTRTpFdmVudC5CVUJCTElOR19QSEFTRX19KX1pZihoLl9fcHJldmlvdXND''@;'; put 'put ''dXJyZW50VGFyZ2V0PWguY3VycmVudFRhcmdldCwoIWsodSkmJiJzbG90IiE9PXUubG9jYWxOYW1lfHwtMSE9aC5jb21wb3NlZFBhdGgoKS5pbmRleE9mKHUpKSYmKGguY29tcG9zZWR8fC0xPGguY29tcG9zZWRQYXRoKCkuaW5kZXhPZih1KSkpaWYoRG8oaCkmJmgudGFyZ2V0PT09aC5yZWxh''@;'; put 'put ''dGVkVGFyZ2V0KWguZXZlbnRQaGFzZT09PUV2ZW50LkJVQkJMSU5HX1BIQVNFJiZoLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO2Vsc2UgaWYoaC5ldmVudFBoYXNlPT09RXZlbnQuQ0FQVFVSSU5HX1BIQVNFfHxoLmJ1YmJsZXN8fGgudGFyZ2V0PT09dXx8dSBpbnN0YW5jZW9mIFdpbmRv''@;'; put 'put ''dyl7dmFyIFM9ImZ1bmN0aW9uIj09PWE/ZS5jYWxsKHUsaCk6ZS5oYW5kbGVFdmVudCYmZS5oYW5kbGVFdmVudChoKTtyZXR1cm4gdSE9PXRoaXMmJihmPyhPYmplY3QuZGVmaW5lUHJvcGVydHkoaCwiY3VycmVudFRhcmdldCIsZiksZj1udWxsKTpkZWxldGUgaC5jdXJyZW50VGFyZ2V0LHg/''@;'; put 'put ''KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShoLCJldmVudFBoYXNlIix4KSx4PW51bGwpOmRlbGV0ZSBoLmV2ZW50UGhhc2UpLFN9fSxlW1V0XS5wdXNoKHtub2RlOnUsdHlwZTp0LGNhcHR1cmU6byxvbmNlOmkscGFzc2l2ZTpzLHBiOmx9KSx0aGlzLl9faGFuZGxlcnM9dGhpcy5fX2hhbmRsZXJz''@;'; put 'put ''fHx7fSx0aGlzLl9faGFuZGxlcnNbdF09dGhpcy5fX2hhbmRsZXJzW3RdfHx7Y2FwdHVyZTpbXSxidWJibGU6W119LHRoaXMuX19oYW5kbGVyc1t0XVtvPyJjYXB0dXJlIjoiYnViYmxlIl0ucHVzaChsKSxib1t0XXx8dGhpcy5fX3NoYWR5X25hdGl2ZV9hZGRFdmVudExpc3RlbmVyKHQsbCxy''@;'; put 'put ''KX19fWZ1bmN0aW9uIFhuKHQsZSxuKXtpZihlKXt2YXIgcj1TbyhuKTtuPXIuY2FwdHVyZTt2YXIgbz1yLm9uY2UsaT1yLnBhc3NpdmUscz1yLkxhO2lmKHI9ci5KYSxUb1t0XSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVFdmVudExpc3RlbmVyKHQsZSxyKTt2YXIgbD1zfHx0''@;'; put 'put ''aGlzO3M9dm9pZCAwO3ZhciBhPW51bGw7dHJ5e2E9ZVtVdF19Y2F0Y2godSl7fWEmJi0xPChvPVBvKGEsbCx0LG4sbyxpKSkmJihzPWEuc3BsaWNlKG8sMSlbMF0ucGIsYS5sZW5ndGh8fChlW1V0XT12b2lkIDApKSx0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUV2ZW50TGlzdGVuZXIodCxz''@;'; put 'put ''fHxlLHIpLHMmJnRoaXMuX19oYW5kbGVycyYmdGhpcy5fX2hhbmRsZXJzW3RdJiYtMTwoZT0odD10aGlzLl9faGFuZGxlcnNbdF1bbj8iY2FwdHVyZSI6ImJ1YmJsZSJdKS5pbmRleE9mKHMpKSYmdC5zcGxpY2UoZSwxKX19dmFyIEFvPVIoe2dldCBjb21wb3NlZCgpe3JldHVybiB2b2lkIDA9''@;'; put 'put ''PT10aGlzLl9fY29tcG9zZWQmJihVbj90aGlzLl9fY29tcG9zZWQ9ImZvY3VzaW4iPT09dGhpcy50eXBlfHwiZm9jdXNvdXQiPT09dGhpcy50eXBlfHxVbih0aGlzKTohMSE9PXRoaXMuaXNUcnVzdGVkJiYodGhpcy5fX2NvbXBvc2VkPUVsW3RoaXMudHlwZV0pKSx0aGlzLl9fY29tcG9zZWR8''@;'; put 'put ''fCExfSxjb21wb3NlZFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX2NvbXBvc2VkUGF0aHx8KHRoaXMuX19jb21wb3NlZFBhdGg9b2UodGhpcy5fX3RhcmdldCx0aGlzLmNvbXBvc2VkKSksdGhpcy5fX2NvbXBvc2VkUGF0aH0sZ2V0IHRhcmdldCgpe3JldHVybiBXbih0aGlzLmN1cnJl''@;'; put 'put ''bnRUYXJnZXR8fHRoaXMuX19wcmV2aW91c0N1cnJlbnRUYXJnZXQsdGhpcy5jb21wb3NlZFBhdGgoKSl9LGdldCByZWxhdGVkVGFyZ2V0KCl7cmV0dXJuIHRoaXMuX19yZWxhdGVkVGFyZ2V0Pyh0aGlzLl9fcmVsYXRlZFRhcmdldENvbXBvc2VkUGF0aHx8KHRoaXMuX19yZWxhdGVkVGFyZ2V0''@;'; put 'put ''Q29tcG9zZWRQYXRoPW9lKHRoaXMuX19yZWxhdGVkVGFyZ2V0LCEwKSksV24odGhpcy5jdXJyZW50VGFyZ2V0fHx0aGlzLl9fcHJldmlvdXNDdXJyZW50VGFyZ2V0LHRoaXMuX19yZWxhdGVkVGFyZ2V0Q29tcG9zZWRQYXRoKSk6bnVsbH0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7RXZl''@;'; put 'put ''bnQucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpLHRoaXMucmE9ITB9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe0V2ZW50LnByb3RvdHlwZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLnJhPXRoaXMuX19pbW1lZGlhdGVQ''@;'; put 'put ''cm9wYWdhdGlvblN0b3BwZWQ9ITB9fSk7ZnVuY3Rpb24gWW4odCxlKXtpZih0Ll9fdGFyZ2V0PWU9dm9pZCAwPT09ZT90LnRhcmdldDplLHQuX19yZWxhdGVkVGFyZ2V0PXQucmVsYXRlZFRhcmdldCxnLkgpe2lmKCEoZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpLmhhc093blByb3BlcnR5''@;'; put 'put ''KCJfX3NoYWR5X3BhdGNoZWRQcm90byIpKXt2YXIgbj1PYmplY3QuY3JlYXRlKGUpO24uX19zaGFkeV9zb3VyY2VQcm90bz1lLFcobixBbyksZS5fX3NoYWR5X3BhdGNoZWRQcm90bz1ufXQuX19wcm90b19fPWUuX19zaGFkeV9wYXRjaGVkUHJvdG99ZWxzZSBXKHQsQW8pfXZhciBTbD1WbihF''@;'; put 'put ''dmVudCksVGw9Vm4oQ3VzdG9tRXZlbnQpLE9sPVZuKE1vdXNlRXZlbnQpLGpvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEVsZW1lbnQucHJvdG90eXBlKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIm9uIj09PXQuc3Vic3RyaW5nKDAsMil9KSxSbz1PYmplY3QuZ2V0T3duUHJvcGVy''@;'; put 'put ''dHlOYW1lcyhIVE1MRWxlbWVudC5wcm90b3R5cGUpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4ib24iPT09dC5zdWJzdHJpbmcoMCwyKX0pO2Z1bmN0aW9uIEZvKHQpe3JldHVybntzZXQ6ZnVuY3Rpb24oZSl7dmFyIG49aih0aGlzKSxyPXQuc3Vic3RyaW5nKDIpO24uVHx8KG4uVD17fSks''@;'; put 'put ''bi5UW3RdJiZ0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIocixuLlRbdF0pLHRoaXMuX19zaGFkeV9hZGRFdmVudExpc3RlbmVyKHIsZSksbi5UW3RdPWV9LGdldDpmdW5jdGlvbigpe3ZhciBlPU4odGhpcyk7cmV0dXJuIGUmJmUuVCYmZS5UW3RdfSxjb25maWd1cmFibGU6ITB9fWZ1bmN0aW9u''@;'; put 'put ''IFd0KHQsZSl7cmV0dXJue2luZGV4OnQsZ2E6W10sbmE6ZX19ZnVuY3Rpb24gRGwodCxlLG4scil7dmFyIG89MCxpPTAscz0wLGw9MCxhPU1hdGgubWluKGUtbyxyLWkpO2lmKDA9PW8mJjA9PWkpdDp7Zm9yKHM9MDtzPGE7cysrKWlmKHRbc10hPT1uW3NdKWJyZWFrIHQ7cz1hfWlmKGU9PXQu''@;'; put 'put ''bGVuZ3RoJiZyPT1uLmxlbmd0aCl7bD10Lmxlbmd0aDtmb3IodmFyIHU9bi5sZW5ndGgsaD0wO2g8YS1zJiZ4bCh0Wy0tbF0sblstLXVdKTspaCsrO2w9aH1pZihpKz1zLHItPWwsKGUtPWwpLShvKz1zKT09MCYmci1pPT0wKXJldHVybltdO2lmKG89PWUpe2ZvcihlPVd0KG8sMCk7aTxyOyll''@;'; put 'put ''LmdhLnB1c2gobltpKytdKTtyZXR1cm5bZV19aWYoaT09cilyZXR1cm5bV3QobyxlLW8pXTtmb3Iocj1yLShzPWkpKzEsbD1lLShhPW8pKzEsZT1BcnJheShyKSx1PTA7dTxyO3UrKyllW3VdPUFycmF5KGwpLGVbdV1bMF09dTtmb3IodT0wO3U8bDt1KyspZVswXVt1XT11O2Zvcih1PTE7dTxy''@;'; put 'put ''O3UrKylmb3IoaD0xO2g8bDtoKyspaWYodFthK2gtMV09PT1uW3MrdS0xXSllW3VdW2hdPWVbdS0xXVtoLTFdO2Vsc2V7dmFyIGY9ZVt1LTFdW2hdKzEseD1lW3VdW2gtMV0rMTtlW3VdW2hdPWY8eD9mOnh9Zm9yKHI9ZVthPWUubGVuZ3RoLTFdW3M9ZVswXS5sZW5ndGgtMV0sdD1bXTswPGF8''@;'; put 'put ''fDA8czspMD09YT8odC5wdXNoKDIpLHMtLSk6MD09cz8odC5wdXNoKDMpLGEtLSk6KGw9ZVthLTFdW3MtMV0sKGY9KHU9ZVthLTFdW3NdKTwoaD1lW2FdW3MtMV0pP3U8bD91Omw6aDxsP2g6bCk9PWw/KGw9PXI/dC5wdXNoKDApOih0LnB1c2goMSkscj1sKSxhLS0scy0tKTpmPT11Pyh0LnB1''@;'; put 'put ''c2goMyksYS0tLHI9dSk6KHQucHVzaCgyKSxzLS0scj1oKSk7Zm9yKHQucmV2ZXJzZSgpLGU9dm9pZCAwLGE9W10scz0wO3M8dC5sZW5ndGg7cysrKXN3aXRjaCh0W3NdKXtjYXNlIDA6ZSYmKGEucHVzaChlKSxlPXZvaWQgMCksbysrLGkrKzticmVhaztjYXNlIDE6ZXx8KGU9V3QobywwKSks''@;'; put 'put ''ZS5uYSsrLG8rKyxlLmdhLnB1c2gobltpXSksaSsrO2JyZWFrO2Nhc2UgMjplfHwoZT1XdChvLDApKSxlLm5hKyssbysrO2JyZWFrO2Nhc2UgMzplfHwoZT1XdChvLDApKSxlLmdhLnB1c2gobltpXSksaSsrfXJldHVybiBlJiZhLnB1c2goZSksYX1mdW5jdGlvbiB4bCh0LGUpe3JldHVybiB0''@;'; put 'put ''PT09ZX12YXIgSG89Uih7ZGlzcGF0Y2hFdmVudDpMbyxhZGRFdmVudExpc3RlbmVyOkduLHJlbW92ZUV2ZW50TGlzdGVuZXI6WG59KSxabj1udWxsO2Z1bmN0aW9uIHZ0KCl7cmV0dXJuIFpufHwoWm49d2luZG93LlNoYWR5Q1NTJiZ3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0pLFpufHxu''@;'; put 'put ''dWxsfWZ1bmN0aW9uIElvKHQsZSxuKXt2YXIgcj12dCgpO3JldHVybiEoIXJ8fCJjbGFzcyIhPT1lfHwoci5zZXRFbGVtZW50Q2xhc3ModCxuKSwwKSl9ZnVuY3Rpb24ga28odCxlKXt2YXIgbj12dCgpO24mJm4udW5zY29wZU5vZGUodCxlKX1mdW5jdGlvbiBCbyh0LGUpe3ZhciBuPXZ0KCk7''@;'; put 'put ''aWYoIW4pcmV0dXJuITA7aWYodC5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSl7Zm9yKG49ITAsdD10Ll9fc2hhZHlfZmlyc3RDaGlsZDt0O3Q9dC5fX3NoYWR5X25leHRTaWJsaW5nKW49biYmQm8odCxlKTtyZXR1cm4gbn1yZXR1cm4gdC5ub2RlVHlwZSE9PU5vZGUu''@;'; put 'put ''RUxFTUVOVF9OT0RFfHxuLmN1cnJlbnRTY29wZUZvck5vZGUodCk9PT1lfWZ1bmN0aW9uIGllKHQpe2lmKHQubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4iIjt2YXIgZT12dCgpO3JldHVybiBlP2UuY3VycmVudFNjb3BlRm9yTm9kZSh0KToiIn1mdW5jdGlvbiAkbih0LGUp''@;'; put 'put ''e2lmKHQpZm9yKHQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmZSh0KSx0PXQuX19zaGFkeV9maXJzdENoaWxkO3Q7dD10Ll9fc2hhZHlfbmV4dFNpYmxpbmcpdC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYkbih0LGUpfXZhciBLbj13aW5kb3cuZG9jdW1lbnQsUW49Zy5m''@;'; put 'put ''YSxVbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJpc0Nvbm5lY3RlZCIpLFdvPVVvJiZVby5nZXQ7ZnVuY3Rpb24gcW4odCl7Zm9yKHZhciBlO2U9dC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7KXQuX19zaGFkeV9yZW1vdmVDaGlsZChlKX1mdW5jdGlvbiBW''@;'; put 'put ''byh0KXt2YXIgZT1OKHQpO2lmKGUmJnZvaWQgMCE9PWUucWEpZm9yKGU9dC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7ZTtlPWUuX19zaGFkeV9uZXh0U2libGluZylWbyhlKTsodD1OKHQpKSYmKHQucWE9dm9pZCAwKX1mdW5jdGlvbiBHbyh0KXt2YXIgZT10O2lmKHQmJiJzbG90Ij09PXQubG9jYWxO''@;'; put 'put ''YW1lKXt2YXIgbj1OKHQpOyhuPW4mJm4uYWEpJiYoZT1uLmxlbmd0aD9uWzBdOkdvKHQuX19zaGFkeV9uZXh0U2libGluZykpfXJldHVybiBlfWZ1bmN0aW9uIFhvKHQsZSxuKXtpZih0PSh0PU4odCkpJiZ0LmVhKXtpZihlKWlmKGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5U''@;'; put 'put ''X05PREUpZm9yKHZhciByPTAsbz1lLmNoaWxkTm9kZXMubGVuZ3RoO3I8bztyKyspdC5hZGRlZE5vZGVzLnB1c2goZS5jaGlsZE5vZGVzW3JdKTtlbHNlIHQuYWRkZWROb2Rlcy5wdXNoKGUpO24mJnQucmVtb3ZlZE5vZGVzLnB1c2gobiksZnVuY3Rpb24gY2wodCl7dC5nfHwodC5nPSEwLGFv''@;'; put 'put ''KGZ1bmN0aW9uKCl7dC5mbHVzaCgpfSkpfSh0KX19dmFyIHNlPVIoe2dldCBwYXJlbnROb2RlKCl7dmFyIHQ9Tih0aGlzKTtyZXR1cm4gdm9pZCAwIT09KHQ9dCYmdC5wYXJlbnROb2RlKT90OnRoaXMuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZX0sZ2V0IGZpcnN0Q2hpbGQoKXt2YXIgdD1O''@;'; put 'put ''KHRoaXMpO3JldHVybiB2b2lkIDAhPT0odD10JiZ0LmZpcnN0Q2hpbGQpP3Q6dGhpcy5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkfSxnZXQgbGFzdENoaWxkKCl7dmFyIHQ9Tih0aGlzKTtyZXR1cm4gdm9pZCAwIT09KHQ9dCYmdC5sYXN0Q2hpbGQpP3Q6dGhpcy5fX3NoYWR5X25hdGl2ZV9s''@;'; put 'put ''YXN0Q2hpbGR9LGdldCBuZXh0U2libGluZygpe3ZhciB0PU4odGhpcyk7cmV0dXJuIHZvaWQgMCE9PSh0PXQmJnQubmV4dFNpYmxpbmcpP3Q6dGhpcy5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZ30sZ2V0IHByZXZpb3VzU2libGluZygpe3ZhciB0PU4odGhpcyk7cmV0dXJuIHZvaWQgMCE9''@;'; put 'put ''PSh0PXQmJnQucHJldmlvdXNTaWJsaW5nKT90OnRoaXMuX19zaGFkeV9uYXRpdmVfcHJldmlvdXNTaWJsaW5nfSxnZXQgY2hpbGROb2Rlcygpe2lmKF90KHRoaXMpKXt2YXIgdD1OKHRoaXMpO2lmKCF0LmNoaWxkTm9kZXMpe3QuY2hpbGROb2Rlcz1bXTtmb3IodmFyIGU9dGhpcy5fX3NoYWR5''@;'; put 'put ''X2ZpcnN0Q2hpbGQ7ZTtlPWUuX19zaGFkeV9uZXh0U2libGluZyl0LmNoaWxkTm9kZXMucHVzaChlKX12YXIgbj10LmNoaWxkTm9kZXN9ZWxzZSBuPXRoaXMuX19zaGFkeV9uYXRpdmVfY2hpbGROb2RlcztyZXR1cm4gbi5pdGVtPWZ1bmN0aW9uKHIpe3JldHVybiBuW3JdfSxufSxnZXQgcGFy''@;'; put 'put ''ZW50RWxlbWVudCgpe3ZhciB0PU4odGhpcyk7cmV0dXJuKHQ9dCYmdC5wYXJlbnROb2RlKSYmdC5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFJiYodD1udWxsKSx2b2lkIDAhPT10P3Q6dGhpcy5fX3NoYWR5X25hdGl2ZV9wYXJlbnRFbGVtZW50fSxnZXQgaXNDb25uZWN0ZWQoKXtpZihX''@;'; put 'put ''byYmV28uY2FsbCh0aGlzKSlyZXR1cm4hMDtpZih0aGlzLm5vZGVUeXBlPT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpcmV0dXJuITE7dmFyIHQ9dGhpcy5vd25lckRvY3VtZW50O2lmKG51bGw9PT10fHx1byh0LHRoaXMpKXJldHVybiEwO2Zvcih0PXRoaXM7dCYmISh0IGluc3RhbmNl''@;'; put 'put ''b2YgRG9jdW1lbnQpOyl0PXQuX19zaGFkeV9wYXJlbnROb2RlfHwoayh0KT90Lmhvc3Q6dm9pZCAwKTtyZXR1cm4hISh0JiZ0IGluc3RhbmNlb2YgRG9jdW1lbnQpfSxnZXQgdGV4dENvbnRlbnQoKXtpZihfdCh0aGlzKSl7Zm9yKHZhciB0PVtdLGU9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7''@;'; put 'put ''ZTtlPWUuX19zaGFkeV9uZXh0U2libGluZyllLm5vZGVUeXBlIT09Tm9kZS5DT01NRU5UX05PREUmJnQucHVzaChlLl9fc2hhZHlfdGV4dENvbnRlbnQpO3JldHVybiB0LmpvaW4oIiIpfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3RleHRDb250ZW50fSxzZXQgdGV4dENvbnRlbnQodCl7''@;'; put 'put ''c3dpdGNoKG51bGw9PXQmJih0PSIiKSx0aGlzLm5vZGVUeXBlKXtjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOmNhc2UgTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFOmlmKCFfdCh0aGlzKSYmZy5IKXt2YXIgZT10aGlzLl9fc2hhZHlfZmlyc3RDaGlsZDsoZSE9dGhpcy5fX3NoYWR5X2xhc3RD''@;'; put 'put ''aGlsZHx8ZSYmZS5ub2RlVHlwZSE9Tm9kZS5URVhUX05PREUpJiZxbih0aGlzKSx0aGlzLl9fc2hhZHlfbmF0aXZlX3RleHRDb250ZW50PXR9ZWxzZSBxbih0aGlzKSwoMDx0Lmxlbmd0aHx8dGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKSYmdGhpcy5fX3NoYWR5X2luc2VydEJl''@;'; put 'put ''Zm9yZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KSk7YnJlYWs7ZGVmYXVsdDp0aGlzLm5vZGVWYWx1ZT10fX0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKHQsZSl7aWYodGhpcy5vd25lckRvY3VtZW50IT09S24mJnQub3duZXJEb2N1bWVudCE9PUtuKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0''@;'; put 'put ''aXZlX2luc2VydEJlZm9yZSh0LGUpLHQ7aWYodD09PXRoaXMpdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBleGVjdXRlICdhcHBlbmRDaGlsZCcgb24gJ05vZGUnOiBUaGUgbmV3IGNoaWxkIGVsZW1lbnQgY29udGFpbnMgdGhlIHBhcmVudC4iKTtpZihlKXt2YXIgbj1OKGUpO2lmKHZvaWQgMCE9''@;'; put 'put ''PShuPW4mJm4ucGFyZW50Tm9kZSkmJm4hPT10aGlzfHx2b2lkIDA9PT1uJiZlLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUhPT10aGlzKXRocm93IEVycm9yKCJGYWlsZWQgdG8gZXhlY3V0ZSAnaW5zZXJ0QmVmb3JlJyBvbiAnTm9kZSc6IFRoZSBub2RlIGJlZm9yZSB3aGljaCB0aGUgbmV3''@;'; put 'put ''IG5vZGUgaXMgdG8gYmUgaW5zZXJ0ZWQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBub2RlLiIpfWlmKGU9PT10KXJldHVybiB0O1hvKHRoaXMsdCk7dmFyIHI9W10sbz0obj1PdCh0aGlzKSk/bi5ob3N0LmxvY2FsTmFtZTppZSh0aGlzKSxpPXQuX19zaGFkeV9wYXJlbnROb2RlO2lmKGkpe3Zh''@;'; put 'put ''ciBzPWllKHQpLGw9ISFufHwhT3QodCl8fFFuJiZ2b2lkIDAhPT10aGlzLl9fbm9JbnNlcnRpb25Qb2ludDtpLl9fc2hhZHlfcmVtb3ZlQ2hpbGQodCxsKX1pPSEwO3ZhciBhPSghUW58fHZvaWQgMD09PXQuX19ub0luc2VydGlvblBvaW50JiZ2b2lkIDA9PT10aGlzLl9fbm9JbnNlcnRpb25Q''@;'; put 'put ''b2ludCkmJiFCbyh0LG8pLHU9biYmIXQuX19ub0luc2VydGlvblBvaW50JiYoIVFufHx0Lm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFKTtyZXR1cm4odXx8YSkmJihhJiYocz1zfHxpZSh0KSksJG4odCxmdW5jdGlvbihoKXtpZih1JiYic2xvdCI9PT1oLmxvY2FsTmFt''@;'; put 'put ''ZSYmci5wdXNoKGgpLGEpe3ZhciBmPXM7dnQoKSYmKGYmJmtvKGgsZiksKGY9dnQoKSkmJmYuc2NvcGVOb2RlKGgsbykpfX0pKSxyLmxlbmd0aCYmKGNpKG4pLG4uaS5wdXNoLmFwcGx5KG4uaSxaKHIpKSx1dChuKSksX3QodGhpcykmJihmdW5jdGlvbiBrbCh0LGUsbil7dWUoZSwyKTt2YXIg''@;'; put 'put ''cj1qKGUpO2lmKHZvaWQgMCE9PXIuZmlyc3RDaGlsZCYmKHIuY2hpbGROb2Rlcz1udWxsKSx0Lm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFKWZvcih0PXQuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZDt0O3Q9dC5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZylyaSh0''@;'; put 'put ''LGUscixuKTtlbHNlIHJpKHQsZSxyLG4pfSh0LHRoaXMsZSksKGw9Tih0aGlzKSkucm9vdD8oaT0hMSxTbih0aGlzKSYmdXQobC5yb290KSk6biYmInNsb3QiPT09dGhpcy5sb2NhbE5hbWUmJihpPSExLHV0KG4pKSksaT8obj1rKHRoaXMpP3RoaXMuaG9zdDp0aGlzLGU/KGU9R28oZSksbi5f''@;'; put 'put ''X3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUodCxlKSk6bi5fX3NoYWR5X25hdGl2ZV9hcHBlbmRDaGlsZCh0KSk6dC5vd25lckRvY3VtZW50IT09dGhpcy5vd25lckRvY3VtZW50JiZ0aGlzLm93bmVyRG9jdW1lbnQuYWRvcHROb2RlKHQpLHR9LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe2lm''@;'; put 'put ''KHRoaXMhPXR8fCFrKHQpKXJldHVybiB0aGlzLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKHQpfSxyZW1vdmVDaGlsZDpmdW5jdGlvbih0LGUpe2lmKGU9dm9pZCAwIT09ZSYmZSx0aGlzLm93bmVyRG9jdW1lbnQhPT1LbilyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZCh0KTtp''@;'; put 'put ''Zih0Ll9fc2hhZHlfcGFyZW50Tm9kZSE9PXRoaXMpdGhyb3cgRXJyb3IoIlRoZSBub2RlIHRvIGJlIHJlbW92ZWQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBub2RlOiAiK3QpO1hvKHRoaXMsbnVsbCx0KTt2YXIgbj1PdCh0KSxyPW4mJmZ1bmN0aW9uIFdsKHQsZSl7aWYodC5nKXtwZSh0KTt2''@;'; put 'put ''YXIgcixuPXQuaDtmb3IociBpbiBuKWZvcih2YXIgbz1uW3JdLGk9MDtpPG8ubGVuZ3RoO2krKyl7dmFyIHM9b1tpXTtpZihobyhlLHMpKXtvLnNwbGljZShpLDEpO3ZhciBsPXQuZy5pbmRleE9mKHMpO2lmKDA8PWwmJih0Lmcuc3BsaWNlKGwsMSksKGw9TihzLl9fc2hhZHlfcGFyZW50Tm9k''@;'; put 'put ''ZSkpJiZsLmlhJiZsLmlhLS0pLGktLSxsPShzPU4ocykpLmFhKWZvcih2YXIgYT0wO2E8bC5sZW5ndGg7YSsrKXt2YXIgdT1sW2FdLGg9dS5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlO2gmJmguX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQodSl9cy5hYT1bXSxzLmFzc2lnbmVkTm9kZXM9''@;'; put 'put ''W10sbD0hMH19cmV0dXJuIGx9fShuLHQpLG89Tih0aGlzKTtpZihfdCh0aGlzKSYmKGZ1bmN0aW9uIEJsKHQsZSl7dmFyIG49aih0KTt0PT09KGU9aihlKSkuZmlyc3RDaGlsZCYmKGUuZmlyc3RDaGlsZD1uLm5leHRTaWJsaW5nKSx0PT09ZS5sYXN0Q2hpbGQmJihlLmxhc3RDaGlsZD1uLnBy''@;'; put 'put ''ZXZpb3VzU2libGluZyk7dmFyIHI9bi5uZXh0U2libGluZzsodD1uLnByZXZpb3VzU2libGluZykmJihqKHQpLm5leHRTaWJsaW5nPXIpLHImJihqKHIpLnByZXZpb3VzU2libGluZz10KSxuLnBhcmVudE5vZGU9bi5wcmV2aW91c1NpYmxpbmc9bi5uZXh0U2libGluZz12b2lkIDAsdm9pZCAw''@;'; put 'put ''IT09ZS5jaGlsZE5vZGVzJiYoZS5jaGlsZE5vZGVzPW51bGwpfSh0LHRoaXMpLFNuKHRoaXMpKSl7dXQoby5yb290KTt2YXIgaT0hMH1pZih2dCgpJiYhZSYmbiYmdC5ub2RlVHlwZSE9PU5vZGUuVEVYVF9OT0RFKXt2YXIgcz1pZSh0KTskbih0LGZ1bmN0aW9uKGwpe2tvKGwscyl9KX1yZXR1''@;'; put 'put ''cm4gVm8odCksbiYmKChlPSJzbG90Ij09PXRoaXMubG9jYWxOYW1lKSYmKGk9ITApLChyfHxlKSYmdXQobikpLGl8fChpPWsodGhpcyk/dGhpcy5ob3N0OnRoaXMsKCFvLnJvb3QmJiJzbG90IiE9PXQubG9jYWxOYW1lfHxpPT09dC5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlKSYmaS5fX3No''@;'; put 'put ''YWR5X25hdGl2ZV9yZW1vdmVDaGlsZCh0KSksdH0scmVwbGFjZUNoaWxkOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX19zaGFkeV9pbnNlcnRCZWZvcmUodCxlKSx0aGlzLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoZSksdH0sY2xvbmVOb2RlOmZ1bmN0aW9uKHQpe2lmKCJ0ZW1wbGF0ZSI9PXRo''@;'; put 'put ''aXMubG9jYWxOYW1lKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2Nsb25lTm9kZSh0KTt2YXIgZT10aGlzLl9fc2hhZHlfbmF0aXZlX2Nsb25lTm9kZSghMSk7aWYodCYmZS5ub2RlVHlwZSE9PU5vZGUuQVRUUklCVVRFX05PREUpe3Q9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7Zm9yKHZh''@;'; put 'put ''ciBuO3Q7dD10Ll9fc2hhZHlfbmV4dFNpYmxpbmcpbj10Ll9fc2hhZHlfY2xvbmVOb2RlKCEwKSxlLl9fc2hhZHlfYXBwZW5kQ2hpbGQobil9cmV0dXJuIGV9LGdldFJvb3ROb2RlOmZ1bmN0aW9uKHQpe2lmKHRoaXMmJnRoaXMubm9kZVR5cGUpe3ZhciBlPWoodGhpcyksbj1lLnFhO3JldHVy''@;'; put 'put ''biB2b2lkIDA9PT1uJiYoayh0aGlzKT9lLnFhPW49dGhpczoobj0obj10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZSk/bi5fX3NoYWR5X2dldFJvb3ROb2RlKHQpOnRoaXMsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Ll9fc2hhZHlfbmF0aXZlX2NvbnRhaW5zKHRoaXMpJiYoZS5xYT1uKSkpLG59''@;'; put 'put ''fSxjb250YWluczpmdW5jdGlvbih0KXtyZXR1cm4gaG8odGhpcyx0KX19KSxWdD1SKHtnZXQgYXNzaWduZWRTbG90KCl7dmFyIHQ9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGU7cmV0dXJuKHQ9dCYmdC5fX3NoYWR5X3NoYWRvd1Jvb3QpJiZmZSh0KSwodD1OKHRoaXMpKSYmdC5hc3NpZ25lZFNs''@;'; put 'put ''b3R8fG51bGx9fSk7ZnVuY3Rpb24gSm4odCxlLG4pe3ZhciByPVtdO3JldHVybiBZbyh0LGUsbixyKSxyfWZ1bmN0aW9uIFlvKHQsZSxuLHIpe2Zvcih0PXQuX19zaGFkeV9maXJzdENoaWxkO3Q7dD10Ll9fc2hhZHlfbmV4dFNpYmxpbmcpe3ZhciBvO2lmKG89dC5ub2RlVHlwZT09PU5vZGUu''@;'; put 'put ''RUxFTUVOVF9OT0RFKXt2YXIgaT1lLHM9bixsPXIsYT1pKG89dCk7YSYmbC5wdXNoKG8pLHMmJnMoYSk/bz1hOihZbyhvLGkscyxsKSxvPXZvaWQgMCl9aWYobylicmVha319dmFyIGxlPXtnZXQgZmlyc3RFbGVtZW50Q2hpbGQoKXt2YXIgdD1OKHRoaXMpO2lmKHQmJnZvaWQgMCE9PXQuZmly''@;'; put 'put ''c3RDaGlsZCl7Zm9yKHQ9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7dCYmdC5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFOyl0PXQuX19zaGFkeV9uZXh0U2libGluZztyZXR1cm4gdH1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9maXJzdEVsZW1lbnRDaGlsZH0sZ2V0IGxhc3RFbGVt''@;'; put 'put ''ZW50Q2hpbGQoKXt2YXIgdD1OKHRoaXMpO2lmKHQmJnZvaWQgMCE9PXQubGFzdENoaWxkKXtmb3IodD10aGlzLl9fc2hhZHlfbGFzdENoaWxkO3QmJnQubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERTspdD10Ll9fc2hhZHlfcHJldmlvdXNTaWJsaW5nO3JldHVybiB0fXJldHVybiB0aGlz''@;'; put 'put ''Ll9fc2hhZHlfbmF0aXZlX2xhc3RFbGVtZW50Q2hpbGR9LGdldCBjaGlsZHJlbigpe3JldHVybiBfdCh0aGlzKT9lZShBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYm4odGhpcyksZnVuY3Rpb24odCl7cmV0dXJuIHQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX0pKTp0aGlzLl9f''@;'; put 'put ''c2hhZHlfbmF0aXZlX2NoaWxkcmVufSxnZXQgY2hpbGRFbGVtZW50Q291bnQoKXt2YXIgdD10aGlzLl9fc2hhZHlfY2hpbGRyZW47cmV0dXJuIHQ/dC5sZW5ndGg6MH19LFN0PVIoKGxlLmFwcGVuZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDsrK24p''@;'; put 'put ''ZVtuXT1hcmd1bWVudHNbbl07dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShDdC5hcHBseShudWxsLFooZSkpLG51bGwpfSxsZS5wcmVwZW5kPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3VtZW50c1tuXTt0aGlzLl9fc2hhZHlf''@;'; put 'put ''aW5zZXJ0QmVmb3JlKEN0LmFwcGx5KG51bGwsWihlKSksdGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQpfSxsZS5yZXBsYWNlQ2hpbGRyZW49ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7KytuKWVbbl09YXJndW1lbnRzW25dO2Zvcig7bnVsbCE9PShuPXRo''@;'; put 'put ''aXMuX19zaGFkeV9maXJzdENoaWxkKTspdGhpcy5fX3NoYWR5X3JlbW92ZUNoaWxkKG4pO3RoaXMuX19zaGFkeV9pbnNlcnRCZWZvcmUoQ3QuYXBwbHkobnVsbCxaKGUpKSxudWxsKX0sbGUpKSxNbD1SKHtxdWVyeVNlbGVjdG9yOmZ1bmN0aW9uKHQpe3JldHVybiBKbih0aGlzLGZ1bmN0aW9u''@;'; put 'put ''KGUpe3JldHVybiBzby5jYWxsKGUsdCl9LGZ1bmN0aW9uKGUpe3JldHVybiEhZX0pWzBdfHxudWxsfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQsZSl7aWYoZSl7ZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9fc2hhZHlfbmF0aXZlX3F1ZXJ5U2VsZWN0b3JBbGwodCkp''@;'; put 'put ''O3ZhciBuPXRoaXMuX19zaGFkeV9nZXRSb290Tm9kZSgpO3JldHVybiBlZShlLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gci5fX3NoYWR5X2dldFJvb3ROb2RlKCk9PW59KSl9cmV0dXJuIGVlKEpuKHRoaXMsZnVuY3Rpb24ocil7cmV0dXJuIHNvLmNhbGwocix0KX0pKX19KSxabz1nLmZh''@;'; put 'put ''JiYhZy5KP3huKHt9LFN0KTpTdDt4bihTdCxNbCk7dmFyICRvPVIoe2FmdGVyOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3VtZW50c1tuXTtpZihudWxsIT09KG49dGhpcy5fX3NoYWR5X3BhcmVudE5vZGUpKXt2YXIgcj10aGlz''@;'; put 'put ''Ll9fc2hhZHlfbmV4dFNpYmxpbmc7bi5fX3NoYWR5X2luc2VydEJlZm9yZShDdC5hcHBseShudWxsLFooZSkpLHIpfX0sYmVmb3JlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3VtZW50c1tuXTtudWxsIT09KG49dGhpcy5fX3No''@;'; put 'put ''YWR5X3BhcmVudE5vZGUpJiZuLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKEN0LmFwcGx5KG51bGwsWihlKSksdGhpcyl9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX19zaGFkeV9wYXJlbnROb2RlO251bGwhPT10JiZ0Ll9fc2hhZHlfcmVtb3ZlQ2hpbGQodGhpcyl9LHJlcGxhY2VXaXRo''@;'; put 'put ''OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3VtZW50c1tuXTtpZihudWxsIT09KG49dGhpcy5fX3NoYWR5X3BhcmVudE5vZGUpKXt2YXIgcj10aGlzLl9fc2hhZHlfbmV4dFNpYmxpbmc7bi5fX3NoYWR5X3JlbW92ZUNoaWxkKHRo''@;'; put 'put ''aXMpLG4uX19zaGFkeV9pbnNlcnRCZWZvcmUoQ3QuYXBwbHkobnVsbCxaKGUpKSxyKX19fSksS289d2luZG93LmRvY3VtZW50O2Z1bmN0aW9uIFFvKHQsZSl7aWYoInNsb3QiPT09ZSlTbih0PXQuX19zaGFkeV9wYXJlbnROb2RlKSYmdXQoTih0KS5yb290KTtlbHNlIGlmKCJzbG90Ij09PXQu''@;'; put 'put ''bG9jYWxOYW1lJiYibmFtZSI9PT1lJiYoZT1PdCh0KSkpe2lmKGUuZyl7cGUoZSk7dmFyIG49dC5RYSxyPWRpKHQpO2lmKHIhPT1uKXt2YXIgbz0obj1lLmhbbl0pLmluZGV4T2YodCk7MDw9byYmbi5zcGxpY2UobywxKSwobj1lLmhbcl18fChlLmhbcl09W10pKS5wdXNoKHQpLDE8bi5sZW5n''@;'; put 'put ''dGgmJihlLmhbcl09ZmkobikpfX11dChlKX19dmFyIGFlPVIoe2dldCBwcmV2aW91c0VsZW1lbnRTaWJsaW5nKCl7dmFyIHQ9Tih0aGlzKTtpZih0JiZ2b2lkIDAhPT10LnByZXZpb3VzU2libGluZyl7Zm9yKHQ9dGhpcy5fX3NoYWR5X3ByZXZpb3VzU2libGluZzt0JiZ0Lm5vZGVUeXBlIT09''@;'; put 'put ''Tm9kZS5FTEVNRU5UX05PREU7KXQ9dC5fX3NoYWR5X3ByZXZpb3VzU2libGluZztyZXR1cm4gdH1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9wcmV2aW91c0VsZW1lbnRTaWJsaW5nfSxnZXQgbmV4dEVsZW1lbnRTaWJsaW5nKCl7dmFyIHQ9Tih0aGlzKTtpZih0JiZ2b2lkIDAhPT10Lm5l''@;'; put 'put ''eHRTaWJsaW5nKXtmb3IodD10aGlzLl9fc2hhZHlfbmV4dFNpYmxpbmc7dCYmdC5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFOyl0PXQuX19zaGFkeV9uZXh0U2libGluZztyZXR1cm4gdH1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9uZXh0RWxlbWVudFNpYmxpbmd9LGdldCBzbG90''@;'; put 'put ''KCl7cmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJzbG90Iil9LHNldCBzbG90KHQpe3RoaXMuX19zaGFkeV9zZXRBdHRyaWJ1dGUoInNsb3QiLHQpfSxnZXQgY2xhc3NOYW1lKCl7cmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn0sc2V0IGNsYXNzTmFtZSh0KXt0aGlzLl9f''@;'; put 'put ''c2hhZHlfc2V0QXR0cmlidXRlKCJjbGFzcyIsdCl9LHNldEF0dHJpYnV0ZTpmdW5jdGlvbih0LGUpe3RoaXMub3duZXJEb2N1bWVudCE9PUtvP3RoaXMuX19zaGFkeV9uYXRpdmVfc2V0QXR0cmlidXRlKHQsZSk6SW8odGhpcyx0LGUpfHwodGhpcy5fX3NoYWR5X25hdGl2ZV9zZXRBdHRyaWJ1''@;'; put 'put ''dGUodCxlKSxRbyh0aGlzLHQpKX0scmVtb3ZlQXR0cmlidXRlOmZ1bmN0aW9uKHQpe3RoaXMub3duZXJEb2N1bWVudCE9PUtvP3RoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQXR0cmlidXRlKHQpOklvKHRoaXMsdCwiIik/IiI9PT10aGlzLmdldEF0dHJpYnV0ZSh0KSYmdGhpcy5fX3NoYWR5''@;'; put 'put ''X25hdGl2ZV9yZW1vdmVBdHRyaWJ1dGUodCk6KHRoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQXR0cmlidXRlKHQpLFFvKHRoaXMsdCkpfX0pO2cuZmF8fGpvLmZvckVhY2goZnVuY3Rpb24odCl7YWVbdF09Rm8odCl9KTt2YXIgcW89Uih7YXR0YWNoU2hhZG93OmZ1bmN0aW9uKHQpe2lmKCF0''@;'; put 'put ''aGlzKXRocm93IEVycm9yKCJNdXN0IHByb3ZpZGUgYSBob3N0LiIpO2lmKCF0KXRocm93IEVycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cy4iKTtpZih0LnNoYWR5VXBncmFkZUZyYWdtZW50JiYhZy5OYSl7dmFyIGU9dC5zaGFkeVVwZ3JhZGVGcmFnbWVudDtpZihlLl9fcHJvdG9fXz1TaGFk''@;'; put 'put ''b3dSb290LnByb3RvdHlwZSxsaShlLHRoaXMsdCksaGUoZSxlKSx0PWUuX19ub0luc2VydGlvblBvaW50P251bGw6ZS5xdWVyeVNlbGVjdG9yQWxsKCJzbG90IiksZS5fX25vSW5zZXJ0aW9uUG9pbnQ9dm9pZCAwLHQmJnQubGVuZ3RoKXt2YXIgbj1lO2NpKG4pLG4uaS5wdXNoLmFwcGx5KG4u''@;'; put 'put ''aSxaKHQpKSx1dChlKX1lLmhvc3QuX19zaGFkeV9uYXRpdmVfYXBwZW5kQ2hpbGQoZSl9ZWxzZSBlPW5ldyBkZShpaSx0aGlzLHQpO3JldHVybiB0aGlzLl9fQ0Vfc2hhZG93Um9vdD1lfSxnZXQgc2hhZG93Um9vdCgpe3ZhciB0PU4odGhpcyk7cmV0dXJuIHQmJnQuZ2J8fG51bGx9fSk7eG4o''@;'; put 'put ''YWUscW8pO3ZhciB6bj1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoImluZXJ0IiksdHI9Uih7Z2V0IGlubmVySFRNTCgpe3JldHVybiBfdCh0aGlzKT9MbigidGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWU/dGhpcy5jb250ZW50OnRoaXMsYm4pOnRoaXMuX19z''@;'; put 'put ''aGFkeV9uYXRpdmVfaW5uZXJIVE1MfSxzZXQgaW5uZXJIVE1MKHQpe2lmKCJ0ZW1wbGF0ZSI9PT10aGlzLmxvY2FsTmFtZSl0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTD10O2Vsc2V7cW4odGhpcyk7dmFyIGU9dGhpcy5sb2NhbE5hbWV8fCJkaXYiO2ZvcihlPXRoaXMubmFtZXNwYWNl''@;'; put 'put ''VVJJJiZ0aGlzLm5hbWVzcGFjZVVSSSE9PXpuLm5hbWVzcGFjZVVSST96bi5jcmVhdGVFbGVtZW50TlModGhpcy5uYW1lc3BhY2VVUkksZSk6em4uY3JlYXRlRWxlbWVudChlKSxnLkg/ZS5fX3NoYWR5X25hdGl2ZV9pbm5lckhUTUw9dDplLmlubmVySFRNTD10O3Q9ZS5fX3NoYWR5X2ZpcnN0''@;'; put 'put ''Q2hpbGQ7KXRoaXMuX19zaGFkeV9pbnNlcnRCZWZvcmUodCl9fX0pLEpvPVIoe2JsdXI6ZnVuY3Rpb24oKXt2YXIgdD1OKHRoaXMpOyh0PSh0PXQmJnQucm9vdCkmJnQuYWN0aXZlRWxlbWVudCk/dC5fX3NoYWR5X2JsdXIoKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2JsdXIoKX19KTtnLmZhfHxS''@;'; put 'put ''by5mb3JFYWNoKGZ1bmN0aW9uKHQpe0pvW3RdPUZvKHQpfSk7dmFyIHpvPVIoe2Fzc2lnbmVkTm9kZXM6ZnVuY3Rpb24odCl7aWYoInNsb3QiPT09dGhpcy5sb2NhbE5hbWUpe3ZhciBlPXRoaXMuX19zaGFkeV9nZXRSb290Tm9kZSgpO3JldHVybiBlJiZrKGUpJiZmZShlKSwoZT1OKHRoaXMp''@;'; put 'put ''KSYmKHQmJnQuZmxhdHRlbj9lLmFhOmUuYXNzaWduZWROb2Rlcyl8fFtdfX0sYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LGUsbil7aWYoInNsb3QiIT09dGhpcy5sb2NhbE5hbWV8fCJzbG90Y2hhbmdlIj09PXQpR24uY2FsbCh0aGlzLHQsZSxuKTtlbHNleyJvYmplY3QiIT10eXBlb2Yg''@;'; put 'put ''biYmKG49e2NhcHR1cmU6ISFufSk7dmFyIHI9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGU7aWYoIXIpdGhyb3cgRXJyb3IoIlNoYWR5RE9NIGNhbm5vdCBhdHRhY2ggZXZlbnQgdG8gc2xvdCB1bmxlc3MgaXQgaGFzIGEgYHBhcmVudE5vZGVgIik7bi5VPXRoaXMsci5fX3NoYWR5X2FkZEV2ZW50''@;'; put 'put ''TGlzdGVuZXIodCxlLG4pfX0scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LGUsbil7aWYoInNsb3QiIT09dGhpcy5sb2NhbE5hbWV8fCJzbG90Y2hhbmdlIj09PXQpWG4uY2FsbCh0aGlzLHQsZSxuKTtlbHNleyJvYmplY3QiIT10eXBlb2YgbiYmKG49e2NhcHR1cmU6ISFufSk7dmFy''@;'; put 'put ''IHI9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGU7aWYoIXIpdGhyb3cgRXJyb3IoIlNoYWR5RE9NIGNhbm5vdCBhdHRhY2ggZXZlbnQgdG8gc2xvdCB1bmxlc3MgaXQgaGFzIGEgYHBhcmVudE5vZGVgIik7bi5VPXRoaXMsci5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIodCxlLG4pfX19KSxl''@;'; put 'put ''cj1SKHtnZXRFbGVtZW50QnlJZDpmdW5jdGlvbih0KXtyZXR1cm4iIj09PXQ/bnVsbDpKbih0aGlzLGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT10fSxmdW5jdGlvbihlKXtyZXR1cm4hIWV9KVswXXx8bnVsbH19KTtmdW5jdGlvbiBQbCh0LGUpe2Zvcih2YXIgbjtlJiYhdC5oYXMobj1lLl9f''@;'; put 'put ''c2hhZHlfZ2V0Um9vdE5vZGUoKSk7KWU9bi5ob3N0O3JldHVybiBlfXZhciBBbD0iX19zaGFkeV9uYXRpdmVfIitpbygpLG5yPVIoe2dldCBhY3RpdmVFbGVtZW50KCl7dmFyIHQ9Zy5IP2RvY3VtZW50Ll9fc2hhZHlfbmF0aXZlX2FjdGl2ZUVsZW1lbnQ6ZG9jdW1lbnQuYWN0aXZlRWxlbWVu''@;'; put 'put ''dDtpZighdHx8IXQubm9kZVR5cGUpcmV0dXJuIG51bGw7dmFyIGU9ISFrKHRoaXMpO2lmKCEodGhpcz09PWRvY3VtZW50fHxlJiZ0aGlzLmhvc3QhPT10JiZ0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfY29udGFpbnModCkpKXJldHVybiBudWxsO2ZvcihlPU90KHQpO2UmJmUhPT10aGlzOyll''@;'; put 'put ''PU90KHQ9ZS5ob3N0KTtyZXR1cm4gdGhpcz09PWRvY3VtZW50P2U/bnVsbDp0OmU9PT10aGlzP3Q6bnVsbH0sZWxlbWVudHNGcm9tUG9pbnQ6ZnVuY3Rpb24odCxlKXt0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnRbQWxdKHQsZSkpLGU9ZnVuY3Rpb24gTGwodCl7dmFyIGU9bmV3IFNldDtmb3Io''@;'; put 'put ''ZS5hZGQodCk7ayh0KSYmdC5ob3N0Oyl0PXQuaG9zdC5fX3NoYWR5X2dldFJvb3ROb2RlKCksZS5hZGQodCk7cmV0dXJuIGV9KHRoaXMpO2Zvcih2YXIgbj1uZXcgU2V0LHI9MDtyPHQubGVuZ3RoO3IrKyluLmFkZChQbChlLHRbcl0pKTt2YXIgbz1bXTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0''@;'; put 'put ''aW9uKGkpe3JldHVybiBvLnB1c2goaSl9KSxvfSxlbGVtZW50RnJvbVBvaW50OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX19zaGFkeV9lbGVtZW50c0Zyb21Qb2ludCh0LGUpWzBdfHxudWxsfX0pLGpsPXdpbmRvdy5kb2N1bWVudCxSbD1SKHtpbXBvcnROb2RlOmZ1bmN0aW9uKHQsZSl7''@;'; put 'put ''aWYodC5vd25lckRvY3VtZW50IT09amx8fCJ0ZW1wbGF0ZSI9PT10LmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKHQsZSk7dmFyIG49dGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKHQsITEpO2lmKGUpZm9yKHQ9dC5fX3NoYWR5X2ZpcnN0Q2hp''@;'; put 'put ''bGQ7dDt0PXQuX19zaGFkeV9uZXh0U2libGluZyllPXRoaXMuX19zaGFkeV9pbXBvcnROb2RlKHQsITApLG4uX19zaGFkeV9hcHBlbmRDaGlsZChlKTtyZXR1cm4gbn19KSx0aT1SKHtkaXNwYXRjaEV2ZW50OkxvLGFkZEV2ZW50TGlzdGVuZXI6R24uYmluZCh3aW5kb3cpLHJlbW92ZUV2ZW50''@;'; put 'put ''TGlzdGVuZXI6WG4uYmluZCh3aW5kb3cpfSksVHQ9e307T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsInBhcmVudEVsZW1lbnQiKSYmKFR0LnBhcmVudEVsZW1lbnQ9c2UucGFyZW50RWxlbWVudCksT2JqZWN0LmdldE93blByb3BlcnR5RGVz''@;'; put 'put ''Y3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNvbnRhaW5zIikmJihUdC5jb250YWlucz1zZS5jb250YWlucyksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNoaWxkcmVuIikmJihUdC5jaGlsZHJlbj1TdC5jaGlsZHJlbiksT2Jq''@;'; put 'put ''ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpJiYoVHQuaW5uZXJIVE1MPXRyLmlubmVySFRNTCksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNsYXNzTmFtZSIpJiYoVHQu''@;'; put 'put ''Y2xhc3NOYW1lPWFlLmNsYXNzTmFtZSk7dmFyIHo9e0V2ZW50VGFyZ2V0OltIb10sTm9kZTpbc2Usd2luZG93LkV2ZW50VGFyZ2V0P251bGw6SG9dLFRleHQ6W1Z0XSxDb21tZW50OltWdF0sQ0RBVEFTZWN0aW9uOltWdF0sUHJvY2Vzc2luZ0luc3RydWN0aW9uOltWdF0sRWxlbWVudDpbYWUs''@;'; put 'put ''U3QsJG8sVnQsIWcuSHx8ImlubmVySFRNTCJpbiBFbGVtZW50LnByb3RvdHlwZT90cjpudWxsLHdpbmRvdy5IVE1MU2xvdEVsZW1lbnQ/bnVsbDp6b10sSFRNTEVsZW1lbnQ6W0pvLFR0XSxIVE1MU2xvdEVsZW1lbnQ6W3pvXSxEb2N1bWVudEZyYWdtZW50Oltabyxlcl0sRG9jdW1lbnQ6W1Js''@;'; put 'put ''LFpvLGVyLG5yXSxXaW5kb3c6W3RpXSxDaGFyYWN0ZXJEYXRhOlskb119LEZsPWcuSD9udWxsOlsiaW5uZXJIVE1MIiwidGV4dENvbnRlbnQiXTtmdW5jdGlvbiBhdCh0LGUsbixyKXtlLmZvckVhY2goZnVuY3Rpb24obyl7cmV0dXJuIHQmJm8mJlcodCxvLG4scil9KX1mdW5jdGlvbiBlaSh0''@;'; put 'put ''KXt2YXIgbixlPXQ/bnVsbDpGbDtmb3IobiBpbiB6KWF0KHdpbmRvd1tuXSYmd2luZG93W25dLnByb3RvdHlwZSx6W25dLHQsZSl9ZnVuY3Rpb24gbmkodCl7cmV0dXJuIHQuX19zaGFkeV9wcm90b0lzUGF0Y2hlZD0hMCxhdCh0LHouRXZlbnRUYXJnZXQpLGF0KHQsei5Ob2RlKSxhdCh0LHou''@;'; put 'put ''RWxlbWVudCksYXQodCx6LkhUTUxFbGVtZW50KSxhdCh0LHouSFRNTFNsb3RFbGVtZW50KSx0fVsiVGV4dCIsIkNvbW1lbnQiLCJDREFUQVNlY3Rpb24iLCJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXdpbmRvd1t0XSxuPU9iamVjdC5jcmVhdGUo''@;'; put 'put ''ZS5wcm90b3R5cGUpO24uX19zaGFkeV9wcm90b0lzUGF0Y2hlZD0hMCxhdChuLHouRXZlbnRUYXJnZXQpLGF0KG4sei5Ob2RlKSx6W3RdJiZhdChuLHpbdF0pLGUucHJvdG90eXBlLl9fc2hhZHlfcGF0Y2hlZFByb3RvPW59KTt2YXIgSGw9Zy5BYSxJbD1nLkg7ZnVuY3Rpb24gdWUodCxlKXtp''@;'; put 'put ''ZihIbCYmIXQuX19zaGFkeV9wcm90b0lzUGF0Y2hlZCYmIWsodCkpe3ZhciBuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxyPW4uaGFzT3duUHJvcGVydHkoIl9fc2hhZHlfcGF0Y2hlZFByb3RvIikmJm4uX19zaGFkeV9wYXRjaGVkUHJvdG87cnx8KG5pKHI9T2JqZWN0LmNyZWF0ZShuKSks''@;'; put 'put ''bi5fX3NoYWR5X3BhdGNoZWRQcm90bz1yKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodCxyKX1JbHx8KDE9PT1lP05vKHQpOjI9PT1lJiZDbyh0KSl9ZnVuY3Rpb24gcmkodCxlLG4scil7dWUodCwxKSxyPXJ8fG51bGw7dmFyIG89aih0KSxpPXI/aihyKTpudWxsO28ucHJldmlvdXNTaWJsaW5n''@;'; put 'put ''PXI/aS5wcmV2aW91c1NpYmxpbmc6ZS5fX3NoYWR5X2xhc3RDaGlsZCwoaT1OKG8ucHJldmlvdXNTaWJsaW5nKSkmJihpLm5leHRTaWJsaW5nPXQpLChpPU4oby5uZXh0U2libGluZz1yKSkmJihpLnByZXZpb3VzU2libGluZz10KSxvLnBhcmVudE5vZGU9ZSxyP3I9PT1uLmZpcnN0Q2hpbGQm''@;'; put 'put ''JihuLmZpcnN0Q2hpbGQ9dCk6KG4ubGFzdENoaWxkPXQsbi5maXJzdENoaWxkfHwobi5maXJzdENoaWxkPXQpKSxuLmNoaWxkTm9kZXM9bnVsbH1mdW5jdGlvbiBoZSh0LGUpe3ZhciBuPWoodCk7aWYoZXx8dm9pZCAwPT09bi5maXJzdENoaWxkKXtuLmNoaWxkTm9kZXM9bnVsbDt2YXIgcj1u''@;'; put 'put ''LmZpcnN0Q2hpbGQ9dC5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkO2ZvcihuLmxhc3RDaGlsZD10Ll9fc2hhZHlfbmF0aXZlX2xhc3RDaGlsZCx1ZSh0LDIpLG49cixyPXZvaWQgMDtuO249bi5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZyl7dmFyIG89aihuKTtvLnBhcmVudE5vZGU9ZXx8''@;'; put 'put ''dCxvLm5leHRTaWJsaW5nPW4uX19zaGFkeV9uYXRpdmVfbmV4dFNpYmxpbmcsby5wcmV2aW91c1NpYmxpbmc9cnx8bnVsbCxyPW4sdWUobiwxKX19fXZhciBVbD1SKHthZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKHQsZSxuKXsib2JqZWN0IiE9dHlwZW9mIG4mJihuPXtjYXB0dXJlOiEhbn0p''@;'; put 'put ''LG4uVT1uLlV8fHRoaXMsdGhpcy5ob3N0Ll9fc2hhZHlfYWRkRXZlbnRMaXN0ZW5lcih0LGUsbil9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24odCxlLG4peyJvYmplY3QiIT10eXBlb2YgbiYmKG49e2NhcHR1cmU6ISFufSksbi5VPW4uVXx8dGhpcyx0aGlzLmhvc3QuX19zaGFkeV9y''@;'; put 'put ''ZW1vdmVFdmVudExpc3RlbmVyKHQsZSxuKX19KTtmdW5jdGlvbiBvaSh0LGUpe1codCxVbCxlKSxXKHQsbnIsZSksVyh0LHRyLGUpLFcodCxTdCxlKSxnLkomJiFlPyhXKHQsc2UsZSksVyh0LGVyLGUpKTpnLkh8fChXKHQsa24pLFcodCxIbiksVyh0LEluKSl9dmFyIGNlLGlpPXt9LG10PWcu''@;'; put 'put ''ZGVmZXJDb25uZWN0aW9uQ2FsbGJhY2tzJiYibG9hZGluZyI9PT1kb2N1bWVudC5yZWFkeVN0YXRlO2Z1bmN0aW9uIHNpKHQpe3ZhciBlPVtdO2Rve2UudW5zaGlmdCh0KX13aGlsZSh0PXQuX19zaGFkeV9wYXJlbnROb2RlKTtyZXR1cm4gZX1mdW5jdGlvbiBkZSh0LGUsbil7aWYodCE9PWlp''@;'; put 'put ''KXRocm93IG5ldyBUeXBlRXJyb3IoIklsbGVnYWwgY29uc3RydWN0b3IiKTt0aGlzLmc9bnVsbCxsaSh0aGlzLGUsbil9ZnVuY3Rpb24gbGkodCxlLG4pe2lmKHQuaG9zdD1lLHQubW9kZT1uJiZuLm1vZGUsaGUodC5ob3N0KSwoZT1qKHQuaG9zdCkpLnJvb3Q9dCxlLmdiPSJjbG9zZWQiIT09''@;'; put 'put ''dC5tb2RlP3Q6bnVsbCwoZT1qKHQpKS5maXJzdENoaWxkPWUubGFzdENoaWxkPWUucGFyZW50Tm9kZT1lLm5leHRTaWJsaW5nPWUucHJldmlvdXNTaWJsaW5nPW51bGwsZy5wcmVmZXJQZXJmb3JtYW5jZSlmb3IoO2U9dC5ob3N0Ll9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KXQuaG9zdC5f''@;'; put 'put ''X3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChlKTtlbHNlIHV0KHQpfWZ1bmN0aW9uIHV0KHQpe3QuWXx8KHQuWT0hMCxfbyhmdW5jdGlvbigpe3JldHVybiBmZSh0KX0pKX1mdW5jdGlvbiBmZSh0KXt2YXIgZTtpZihlPXQuWSl7Zm9yKHZhciBuO3Q7KXQuWSYmKG49dCksayh0PShlPXQpLmhv''@;'; put 'put ''c3QuX19zaGFkeV9nZXRSb290Tm9kZSgpKSYmKGU9TihlLmhvc3QpKSYmMDxlLmlhfHwodD12b2lkIDApO2U9bn0obj1lKSYmbi5fcmVuZGVyU2VsZigpfWZ1bmN0aW9uIGFpKHQsZSxuKXt2YXIgcj1qKGUpLG89ci51YTtyLnVhPW51bGwsbnx8KG49KHQ9dC5oW2UuX19zaGFkeV9zbG90fHwi''@;'; put 'put ''X19jYXRjaGFsbCJdKSYmdFswXSksbj8oaihuKS5hc3NpZ25lZE5vZGVzLnB1c2goZSksci5hc3NpZ25lZFNsb3Q9bik6ci5hc3NpZ25lZFNsb3Q9dm9pZCAwLG8hPT1yLmFzc2lnbmVkU2xvdCYmci5hc3NpZ25lZFNsb3QmJihqKHIuYXNzaWduZWRTbG90KS54YT0hMCl9ZnVuY3Rpb24gdWko''@;'; put 'put ''dCxlLG4pe2Zvcih2YXIgcj0wLG89dm9pZCAwO3I8bi5sZW5ndGgmJihvPW5bcl0pO3IrKylpZigic2xvdCI9PW8ubG9jYWxOYW1lKXt2YXIgaT1OKG8pLmFzc2lnbmVkTm9kZXM7aSYmaS5sZW5ndGgmJnVpKHQsZSxpKX1lbHNlIGUucHVzaChuW3JdKX1mdW5jdGlvbiBoaSh0LGUpe2UuX19z''@;'; put 'put ''aGFkeV9uYXRpdmVfZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInNsb3RjaGFuZ2UiKSksKGU9TihlKSkuYXNzaWduZWRTbG90JiZoaSh0LGUuYXNzaWduZWRTbG90KX1mdW5jdGlvbiBjaSh0KXt0Lmk9dC5pfHxbXSx0Lmc9dC5nfHxbXSx0Lmg9dC5ofHx7fX1mdW5jdGlvbiBwZSh0KXtpZih0''@;'; put 'put ''LmkmJnQuaS5sZW5ndGgpe2Zvcih2YXIgbixlPXQuaSxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBvPWVbcl07aGUobyk7dmFyIGk9by5fX3NoYWR5X3BhcmVudE5vZGU7aGUoaSksKGk9TihpKSkuaWE9KGkuaWF8fDApKzEsaT1kaShvKSx0LmhbaV0/KChuPW58fHt9KVtpXT0hMCx0LmhbaV0u''@;'; put 'put ''cHVzaChvKSk6dC5oW2ldPVtvXSx0LmcucHVzaChvKX1pZihuKWZvcih2YXIgcyBpbiBuKXQuaFtzXT1maSh0Lmhbc10pO3QuaT1bXX19ZnVuY3Rpb24gZGkodCl7dmFyIGU9dC5uYW1lfHx0LmdldEF0dHJpYnV0ZSgibmFtZSIpfHwiX19jYXRjaGFsbCI7cmV0dXJuIHQuUWE9ZX1mdW5jdGlv''@;'; put 'put ''biBmaSh0KXtyZXR1cm4gdC5zb3J0KGZ1bmN0aW9uKGUsbil7ZT1zaShlKTtmb3IodmFyIHI9c2kobiksbz0wO288ZS5sZW5ndGg7bysrKXt2YXIgaT1yW29dO2lmKChuPWVbb10pIT09aSlyZXR1cm4oZT1ibihuLl9fc2hhZHlfcGFyZW50Tm9kZSkpLmluZGV4T2YobiktZS5pbmRleE9mKGkp''@;'; put 'put ''fX0pfWZ1bmN0aW9uIHBpKHQpe3JldHVybiBwZSh0KSwhKCF0Lmd8fCF0LmcubGVuZ3RoKX1pZihkZS5wcm90b3R5cGUuX3JlbmRlclNlbGY9ZnVuY3Rpb24oKXt2YXIgdD1tdDtpZihtdD0hMCx0aGlzLlk9ITEsdGhpcy5nKXtwZSh0aGlzKTtmb3IodmFyIG4sZT0wO2U8dGhpcy5nLmxlbmd0''@;'; put 'put ''aDtlKyspe3ZhciByPU4obj10aGlzLmdbZV0pLG89ci5hc3NpZ25lZE5vZGVzO2lmKHIuYXNzaWduZWROb2Rlcz1bXSxyLmFhPVtdLHIuR2E9bylmb3Iocj0wO3I8by5sZW5ndGg7cisrKXt2YXIgaT1OKG9bcl0pO2kudWE9aS5hc3NpZ25lZFNsb3QsaS5hc3NpZ25lZFNsb3Q9PT1uJiYoaS5h''@;'; put 'put ''c3NpZ25lZFNsb3Q9bnVsbCl9fWZvcihlPXRoaXMuaG9zdC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7ZTtlPWUuX19zaGFkeV9uZXh0U2libGluZylhaSh0aGlzLGUpO2ZvcihlPTA7ZTx0aGlzLmcubGVuZ3RoO2UrKyl7aWYoIShvPU4obj10aGlzLmdbZV0pKS5hc3NpZ25lZE5vZGVzLmxlbmd0aClm''@;'; put 'put ''b3Iocj1uLl9fc2hhZHlfZmlyc3RDaGlsZDtyO3I9ci5fX3NoYWR5X25leHRTaWJsaW5nKWFpKHRoaXMscixuKTtpZigocj0ocj1OKG4uX19zaGFkeV9wYXJlbnROb2RlKSkmJnIucm9vdCkmJihwaShyKXx8ci5ZKSYmci5fcmVuZGVyU2VsZigpLHVpKHRoaXMsby5hYSxvLmFzc2lnbmVkTm9k''@;'; put 'put ''ZXMpLHI9by5HYSl7Zm9yKGk9MDtpPHIubGVuZ3RoO2krKylOKHJbaV0pLnVhPW51bGw7by5HYT1udWxsLHIubGVuZ3RoPm8uYXNzaWduZWROb2Rlcy5sZW5ndGgmJihvLnhhPSEwKX1vLnhhJiYoby54YT0hMSxoaSh0aGlzLG4pKX1mb3Iobj10aGlzLmcsZT1bXSxvPTA7bzxuLmxlbmd0aDtv''@;'; put 'put ''KyspKGk9TihyPW5bb10uX19zaGFkeV9wYXJlbnROb2RlKSkmJmkucm9vdHx8ISgwPmUuaW5kZXhPZihyKSl8fGUucHVzaChyKTtmb3Iobj0wO248ZS5sZW5ndGg7bisrKXtmb3Iobz0oaT1lW25dKT09PXRoaXM/dGhpcy5ob3N0Omkscj1bXSxpPWkuX19zaGFkeV9maXJzdENoaWxkO2k7aT1p''@;'; put 'put ''Ll9fc2hhZHlfbmV4dFNpYmxpbmcpaWYoInNsb3QiPT1pLmxvY2FsTmFtZSlmb3IodmFyIHM9TihpKS5hYSxsPTA7bDxzLmxlbmd0aDtsKyspci5wdXNoKHNbbF0pO2Vsc2Ugci5wdXNoKGkpO2k9Y28obykscz1EbChyLHIubGVuZ3RoLGksaS5sZW5ndGgpO2Zvcih2YXIgYT1sPTAsdT12b2lk''@;'; put 'put ''IDA7bDxzLmxlbmd0aCYmKHU9c1tsXSk7bCsrKXtmb3IodmFyIGg9MCxmPXZvaWQgMDtoPHUuZ2EubGVuZ3RoJiYoZj11LmdhW2hdKTtoKyspZi5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlPT09byYmby5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChmKSxpLnNwbGljZSh1LmluZGV4K2Es''@;'; put 'put ''MSk7YS09dS5uYX1mb3IoYT0wLHU9dm9pZCAwO2E8cy5sZW5ndGgmJih1PXNbYV0pO2ErKylmb3IobD1pW3UuaW5kZXhdLGg9dS5pbmRleDtoPHUuaW5kZXgrdS5uYTtoKyspby5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoZj1yW2hdLGwpLGkuc3BsaWNlKGgsMCxmKX19aWYoIWcucHJl''@;'; put 'put ''ZmVyUGVyZm9ybWFuY2UmJiF0aGlzLkZhKWZvcihlPXRoaXMuaG9zdC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7ZTtlPWUuX19zaGFkeV9uZXh0U2libGluZyluPU4oZSksZS5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlIT09dGhpcy5ob3N0fHwic2xvdCIhPT1lLmxvY2FsTmFtZSYmbi5hc3NpZ25l''@;'; put 'put ''ZFNsb3R8fHRoaXMuaG9zdC5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChlKTt0aGlzLkZhPSEwLG10PXQsY2UmJmNlKCl9LGZ1bmN0aW9uKHQpe3QuX19wcm90b19fPURvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLG9pKHQsIl9fc2hhZHlfIiksb2kodCksT2JqZWN0LmRlZmluZVByb3Bl''@;'; put 'put ''cnRpZXModCx7bm9kZVR5cGU6e3ZhbHVlOk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxjb25maWd1cmFibGU6ITB9LG5vZGVOYW1lOnt2YWx1ZToiI2RvY3VtZW50LWZyYWdtZW50Iixjb25maWd1cmFibGU6ITB9LG5vZGVWYWx1ZTp7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITB9fSks''@;'; put 'put ''WyJsb2NhbE5hbWUiLCJuYW1lc3BhY2VVUkkiLCJwcmVmaXgiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnZvaWQgMCxjb25maWd1cmFibGU6ITB9KX0pLFsib3duZXJEb2N1bWVudCIsImJhc2VVUkkiLCJpc0Nvbm5lY3RlZCJdLmZvckVh''@;'; put 'put ''Y2goZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaG9zdFtlXX0sY29uZmlndXJhYmxlOiEwfSl9KX0oZGUucHJvdG90eXBlKSx3aW5kb3cuY3VzdG9tRWxlbWVudHMmJndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUm''@;'; put 'put ''JmcueWEmJiFnLnByZWZlclBlcmZvcm1hbmNlKXt2YXIgX2U9bmV3IE1hcDtjZT1mdW5jdGlvbigpe3ZhciB0PVtdO19lLmZvckVhY2goZnVuY3Rpb24ocixvKXt0LnB1c2goW28scl0pfSksX2UuY2xlYXIoKTtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXVswXTt0W2Vd''@;'; put 'put ''WzFdP24uX19zaGFkeWRvbV9jb25uZWN0ZWRDYWxsYmFjaygpOm4uX19zaGFkeWRvbV9kaXNjb25uZWN0ZWRDYWxsYmFjaygpfX0sbXQmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7bXQ9ITEsY2UoKX0se29uY2U6ITB9KTt2YXIgR2w9''@;'; put 'put ''d2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSxfaT1mdW5jdGlvbih0LGUpe3ZhciBuPWUucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrLHI9ZS5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s7R2wuY2FsbCh3aW5kb3cuY3VzdG9tRWxlbWVudHMsdCxmdW5jdGlvbih0LGUsbil7''@;'; put 'put ''dmFyIHI9MCxvPSJfX2lzQ29ubmVjdGVkIityKys7cmV0dXJuKGV8fG4pJiYodC5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2s9dC5wcm90b3R5cGUuX19zaGFkeWRvbV9jb25uZWN0ZWRDYWxsYmFjaz1mdW5jdGlvbigpe210P19lLnNldCh0aGlzLCEwKTp0aGlzW29dfHwodGhpc1tvXT0h''@;'; put 'put ''MCxlJiZlLmNhbGwodGhpcykpfSx0LnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaz10LnByb3RvdHlwZS5fX3NoYWR5ZG9tX2Rpc2Nvbm5lY3RlZENhbGxiYWNrPWZ1bmN0aW9uKCl7bXQ/dGhpcy5pc0Nvbm5lY3RlZHx8X2Uuc2V0KHRoaXMsITEpOnRoaXNbb10mJih0aGlzW29dPSEx''@;'; put 'put ''LG4mJm4uY2FsbCh0aGlzKSl9KSx0fShlLG4scikpLGUucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrPW4sZS5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s9cn07d2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZT1faSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkN1c3Rv''@;'; put 'put ''bUVsZW1lbnRSZWdpc3RyeS5wcm90b3R5cGUsImRlZmluZSIse3ZhbHVlOl9pLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIE90KHQpe2lmKGsodD10Ll9fc2hhZHlfZ2V0Um9vdE5vZGUoKSkpcmV0dXJuIHR9ZnVuY3Rpb24gYnQodCl7dGhpcy5ub2RlPXR9ZnVuY3Rpb24gdmkodCl7T2Jq''@;'; put 'put ''ZWN0LmRlZmluZVByb3BlcnR5KGJ0LnByb3RvdHlwZSx0LHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlWyJfX3NoYWR5XyIrdF19LHNldDpmdW5jdGlvbihlKXt0aGlzLm5vZGVbIl9fc2hhZHlfIit0XT1lfSxjb25maWd1cmFibGU6ITB9KX0obT1idC5wcm90b3R5cGUpLmFkZEV2''@;'; put 'put ''ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hZGRFdmVudExpc3RlbmVyKHQsZSxuKX0sbS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUs''@;'; put 'put ''bil9LG0uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FwcGVuZENoaWxkKHQpfSxtLmluc2VydEJlZm9yZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9pbnNlcnRCZWZvcmUodCxlKX0sbS5yZW1vdmVDaGlsZD1mdW5jdGlv''@;'; put 'put ''bih0KXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVtb3ZlQ2hpbGQodCl9LG0ucmVwbGFjZUNoaWxkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3JlcGxhY2VDaGlsZCh0LGUpfSxtLmNsb25lTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hh''@;'; put 'put ''ZHlfY2xvbmVOb2RlKHQpfSxtLmdldFJvb3ROb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9nZXRSb290Tm9kZSh0KX0sbS5jb250YWlucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY29udGFpbnModCl9LG0uZGlzcGF0Y2hFdmVudD1mdW5j''@;'; put 'put ''dGlvbih0KXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZGlzcGF0Y2hFdmVudCh0KX0sbS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt0aGlzLm5vZGUuX19zaGFkeV9zZXRBdHRyaWJ1dGUodCxlKX0sbS5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubm9kZS5fX3No''@;'; put 'put ''YWR5X25hdGl2ZV9nZXRBdHRyaWJ1dGUodCl9LG0uaGFzQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uYXRpdmVfaGFzQXR0cmlidXRlKHQpfSxtLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbih0KXt0aGlzLm5vZGUuX19zaGFkeV9yZW1vdmVBdHRyaWJ1''@;'; put 'put ''dGUodCl9LG0uYXR0YWNoU2hhZG93PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hdHRhY2hTaGFkb3codCl9LG0uZm9jdXM9ZnVuY3Rpb24oKXt0aGlzLm5vZGUuX19zaGFkeV9uYXRpdmVfZm9jdXMoKX0sbS5ibHVyPWZ1bmN0aW9uKCl7dGhpcy5ub2RlLl9fc2hhZHlf''@;'; put 'put ''Ymx1cigpfSxtLmltcG9ydE5vZGU9ZnVuY3Rpb24odCxlKXtpZih0aGlzLm5vZGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2ltcG9ydE5vZGUodCxlKX0sbS5nZXRFbGVtZW50QnlJZD1mdW5jdGlvbih0KXtpZih0aGlzLm5vZGUubm9k''@;'; put 'put ''ZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2dldEVsZW1lbnRCeUlkKHQpfSxtLmVsZW1lbnRzRnJvbVBvaW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2VsZW1lbnRzRnJvbVBvaW50KHQsZSl9LG0uZWxlbWVudEZy''@;'; put 'put ''b21Qb2ludD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9lbGVtZW50RnJvbVBvaW50KHQsZSl9LG0ucXVlcnlTZWxlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcXVlcnlTZWxlY3Rvcih0KX0sbS5xdWVyeVNlbGVjdG9yQWxsPWZ1bmN0''@;'; put 'put ''aW9uKHQsZSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3F1ZXJ5U2VsZWN0b3JBbGwodCxlKX0sbS5hc3NpZ25lZE5vZGVzPWZ1bmN0aW9uKHQpe2lmKCJzbG90Ij09PXRoaXMubm9kZS5sb2NhbE5hbWUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2Fzc2lnbmVkTm9kZXModCl9LG0uYXBw''@;'; put 'put ''ZW5kPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXBwZW5kLmFwcGx5KHRoaXMubm9kZSxaKGUpKX0sbS5wcmVwZW5kPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxu''@;'; put 'put ''PTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcHJlcGVuZC5hcHBseSh0aGlzLm5vZGUsWihlKSl9LG0uYWZ0ZXI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7KytuKWVbbl09''@;'; put 'put ''YXJndW1lbnRzW25dO3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hZnRlci5hcHBseSh0aGlzLm5vZGUsWihlKSl9LG0uYmVmb3JlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoOysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdGhpcy5ub2RlLl9f''@;'; put 'put ''c2hhZHlfYmVmb3JlLmFwcGx5KHRoaXMubm9kZSxaKGUpKX0sbS5yZW1vdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVtb3ZlKCl9LG0ucmVwbGFjZVdpdGg9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7KytuKWVbbl09YXJn''@;'; put 'put ''dW1lbnRzW25dO3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZXBsYWNlV2l0aC5hcHBseSh0aGlzLm5vZGUsWihlKSl9LEZ0Lk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGJ0LnByb3RvdHlwZSx7YWN0aXZlRWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0''@;'; put 'put ''aW9uKCl7aWYoayh0aGlzLm5vZGUpfHx0aGlzLm5vZGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FjdGl2ZUVsZW1lbnR9fSxfYWN0aXZlRWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7''@;'; put 'put ''cmV0dXJuIHRoaXMuYWN0aXZlRWxlbWVudH19LGhvc3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKGsodGhpcy5ub2RlKSlyZXR1cm4gdGhpcy5ub2RlLmhvc3R9fSxwYXJlbnROb2RlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6''@;'; put 'put ''ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcGFyZW50Tm9kZX19LGZpcnN0Q2hpbGQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9maXJzdENoaWxkfX0sbGFzdENoaWxkOntjb25maWd1cmFi''@;'; put 'put ''bGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbGFzdENoaWxkfX0sbmV4dFNpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uZXh0U2libGlu''@;'; put 'put ''Z319LHByZXZpb3VzU2libGluZzp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3ByZXZpb3VzU2libGluZ319LGNoaWxkTm9kZXM6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigp''@;'; put 'put ''e3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jaGlsZE5vZGVzfX0scGFyZW50RWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3BhcmVudEVsZW1lbnR9fSxmaXJzdEVsZW1lbnRDaGlsZDp7Y29uZmln''@;'; put 'put ''dXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2ZpcnN0RWxlbWVudENoaWxkfX0sbGFzdEVsZW1lbnRDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5f''@;'; put 'put ''X3NoYWR5X2xhc3RFbGVtZW50Q2hpbGR9fSxuZXh0RWxlbWVudFNpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uZXh0RWxlbWVudFNpYmxpbmd9fSxwcmV2aW91c0VsZW1lbnRTaWJsaW5nOntjb25m''@;'; put 'put ''aWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcHJldmlvdXNFbGVtZW50U2libGluZ319LGNoaWxkcmVuOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9f''@;'; put 'put ''c2hhZHlfY2hpbGRyZW59fSxjaGlsZEVsZW1lbnRDb3VudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2NoaWxkRWxlbWVudENvdW50fX0sc2hhZG93Um9vdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6''@;'; put 'put ''ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3NoYWRvd1Jvb3R9fSxhc3NpZ25lZFNsb3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hc3NpZ25lZFNsb3R9fSxpc0Nvbm5lY3Rl''@;'; put 'put ''ZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2lzQ29ubmVjdGVkfX0saW5uZXJIVE1MOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hh''@;'; put 'put ''ZHlfaW5uZXJIVE1MfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5ub2RlLl9fc2hhZHlfaW5uZXJIVE1MPXR9fSx0ZXh0Q29udGVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3RleHRDb250ZW50fSxzZXQ6ZnVu''@;'; put 'put ''Y3Rpb24odCl7dGhpcy5ub2RlLl9fc2hhZHlfdGV4dENvbnRlbnQ9dH19LHNsb3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9zbG90fSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5ub2RlLl9fc2hhZHlfc2xvdD10''@;'; put 'put ''fX0sY2xhc3NOYW1lOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2xhc3NOYW1lfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5ub2RlLl9fc2hhZHlfY2xhc3NOYW1lPXR9fX0pLGpvLmZvckVhY2goZnVuY3Rpb24o''@;'; put 'put ''dCl7cmV0dXJuIHZpKHQpfSksUm8uZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdmkodCl9KTt2YXIgbWk9bmV3IFdlYWtNYXA7ZnVuY3Rpb24geWkodCl7aWYoayh0KXx8dCBpbnN0YW5jZW9mIGJ0KXJldHVybiB0O3ZhciBlPW1pLmdldCh0KTtyZXR1cm4gZXx8KGU9bmV3IGJ0KHQpLG1p''@;'; put 'put ''LnNldCh0LGUpKSxlfWlmKGcueWEpe3ZhciBnaT1nLkg/ZnVuY3Rpb24odCl7cmV0dXJuIHR9OmZ1bmN0aW9uKHQpe3JldHVybiBDbyh0KSxObyh0KSx0fSxYbD17aW5Vc2U6Zy55YSxwYXRjaDpnaSxpc1NoYWR5Um9vdDprLGVucXVldWU6X28sZmx1c2g6bmUsZmx1c2hJbml0aWFsOmZ1bmN0''@;'; put 'put ''aW9uKHQpeyF0LkZhJiZ0LlkmJmZlKHQpfSxzZXR0aW5nczpnLGZpbHRlck11dGF0aW9uczpmdW5jdGlvbiBwbCh0LGUpe3ZhciBuPWUuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gdC5tYXAoZnVuY3Rpb24ocil7dmFyIG89bj09PXIudGFyZ2V0LmdldFJvb3ROb2RlKCk7aWYobyYmci5hZGRlZE5v''@;'; put 'put ''ZGVzKXtpZihvPVtdLnNsaWNlLmNhbGwoci5hZGRlZE5vZGVzKS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIG49PT1pLmdldFJvb3ROb2RlKCl9KSxvLmxlbmd0aClyZXR1cm4gcj1PYmplY3QuY3JlYXRlKHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJhZGRlZE5vZGVzIix7dmFsdWU6''@;'; put 'put ''byxjb25maWd1cmFibGU6ITB9KSxyfWVsc2UgaWYobylyZXR1cm4gcn0pLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gcn0pfSxvYnNlcnZlQ2hpbGRyZW46ZnVuY3Rpb24gZGwodCxlKXt2YXIgbj1qKHQpO24uZWF8fChuLmVhPW5ldyBQbiksbi5lYS5vYS5hZGQoZSk7dmFyIHI9bi5lYTty''@;'; put 'put ''ZXR1cm57UmE6ZSxYOnIsU2E6dCx0YWtlUmVjb3JkczpmdW5jdGlvbigpe3JldHVybiByLnRha2VSZWNvcmRzKCl9fX0sdW5vYnNlcnZlQ2hpbGRyZW46ZnVuY3Rpb24gZmwodCl7dmFyIGU9dCYmdC5YO2UmJihlLm9hLmRlbGV0ZSh0LlJhKSxlLm9hLnNpemV8fChqKHQuU2EpLmVhPW51bGwp''@;'; put 'put ''KX0sZGVmZXJDb25uZWN0aW9uQ2FsbGJhY2tzOmcuZGVmZXJDb25uZWN0aW9uQ2FsbGJhY2tzLHByZWZlclBlcmZvcm1hbmNlOmcucHJlZmVyUGVyZm9ybWFuY2UsaGFuZGxlc0R5bmFtaWNTY29waW5nOiEwLHdyYXA6Zy5KP3lpOmdpLHdyYXBJZk5lZWRlZDohMD09PWcuSj95aTpmdW5jdGlv''@;'; put 'put ''bih0KXtyZXR1cm4gdH0sV3JhcHBlcjpidCxjb21wb3NlZFBhdGg6ZnVuY3Rpb24gTmwodCl7cmV0dXJuIHQuX19jb21wb3NlZFBhdGh8fCh0Ll9fY29tcG9zZWRQYXRoPW9lKHQudGFyZ2V0LCEwKSksdC5fX2NvbXBvc2VkUGF0aH0sbm9QYXRjaDpnLkoscGF0Y2hPbkRlbWFuZDpnLkFhLG5h''@;'; put 'put ''dGl2ZU1ldGhvZHM6QW4sbmF0aXZlVHJlZTp5byxwYXRjaEVsZW1lbnRQcm90bzpuaX07d2luZG93LlNoYWR5RE9NPVhsLGZ1bmN0aW9uIGdsKCl7dmFyIHQ9WyJkaXNwYXRjaEV2ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXTt3aW5kb3cuRXZlbnRUYXJn''@;'; put 'put ''ZXQ/KEYod2luZG93LkV2ZW50VGFyZ2V0LnByb3RvdHlwZSx0KSx2b2lkIDA9PT13aW5kb3cuX19zaGFkeV9uYXRpdmVfYWRkRXZlbnRMaXN0ZW5lciYmRihXaW5kb3cucHJvdG90eXBlLHQpKTooRihOb2RlLnByb3RvdHlwZSx0KSxGKFdpbmRvdy5wcm90b3R5cGUsdCkpLHJlP0YoTm9kZS5w''@;'; put 'put ''cm90b3R5cGUsInBhcmVudE5vZGUgZmlyc3RDaGlsZCBsYXN0Q2hpbGQgcHJldmlvdXNTaWJsaW5nIG5leHRTaWJsaW5nIGNoaWxkTm9kZXMgcGFyZW50RWxlbWVudCB0ZXh0Q29udGVudCIuc3BsaXQoIiAiKSk6QnQoTm9kZS5wcm90b3R5cGUse3BhcmVudE5vZGU6e2dldDpmdW5jdGlvbigp''@;'; put 'put ''e3JldHVybiAkLmN1cnJlbnROb2RlPXRoaXMsJC5wYXJlbnROb2RlKCl9fSxmaXJzdENoaWxkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJC5jdXJyZW50Tm9kZT10aGlzLCQuZmlyc3RDaGlsZCgpfX0sbGFzdENoaWxkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJC5jdXJyZW50Tm9kZT10aGlz''@;'; put 'put ''LCQubGFzdENoaWxkKCl9fSxwcmV2aW91c1NpYmxpbmc6e2dldDpmdW5jdGlvbigpe3JldHVybiAkLmN1cnJlbnROb2RlPXRoaXMsJC5wcmV2aW91c1NpYmxpbmcoKX19LG5leHRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJC5jdXJyZW50Tm9kZT10aGlzLCQubmV4dFNpYmxpbmco''@;'; put 'put ''KX19LGNoaWxkTm9kZXM6e2dldDpmdW5jdGlvbigpe3ZhciBlPVtdOyQuY3VycmVudE5vZGU9dGhpcztmb3IodmFyIG49JC5maXJzdENoaWxkKCk7bjspZS5wdXNoKG4pLG49JC5uZXh0U2libGluZygpO3JldHVybiBlfX0scGFyZW50RWxlbWVudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEsu''@;'; put 'put ''Y3VycmVudE5vZGU9dGhpcyxLLnBhcmVudE5vZGUoKX19LHRleHRDb250ZW50OntnZXQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpmb3IodmFyIHIsZT1kb2N1bWVudC5jcmVh''@;'; put 'put ''dGVUcmVlV2Fsa2VyKHRoaXMsTm9kZUZpbHRlci5TSE9XX1RFWFQsbnVsbCwhMSksbj0iIjtyPWUubmV4dE5vZGUoKTspbis9ci5ub2RlVmFsdWU7cmV0dXJuIG47ZGVmYXVsdDpyZXR1cm4gdGhpcy5ub2RlVmFsdWV9fSxzZXQ6ZnVuY3Rpb24oZSl7c3dpdGNoKG51bGw9PWUmJihlPSIiKSx0''@;'; put 'put ''aGlzLm5vZGVUeXBlKXtjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOmNhc2UgTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFOndvKHRoaXMpLCgwPGUubGVuZ3RofHx0aGlzLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpJiZ0aGlzLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShkb2N1''@;'; put 'put ''bWVudC5jcmVhdGVUZXh0Tm9kZShlKSx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6dGhpcy5ub2RlVmFsdWU9ZX19fX0pLEYoTm9kZS5wcm90b3R5cGUsImFwcGVuZENoaWxkIGluc2VydEJlZm9yZSByZW1vdmVDaGlsZCByZXBsYWNlQ2hpbGQgY2xvbmVOb2RlIGNvbnRhaW5zIi5zcGxpdCgiICIp''@;'; put 'put ''KSxGKEhUTUxFbGVtZW50LnByb3RvdHlwZSxbInBhcmVudEVsZW1lbnQiLCJjb250YWlucyJdKSx0PXtmaXJzdEVsZW1lbnRDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEsuY3VycmVudE5vZGU9dGhpcyxLLmZpcnN0Q2hpbGQoKX19LGxhc3RFbGVtZW50Q2hpbGQ6e2dldDpmdW5jdGlv''@;'; put 'put ''bigpe3JldHVybiBLLmN1cnJlbnROb2RlPXRoaXMsSy5sYXN0Q2hpbGQoKX19LGNoaWxkcmVuOntnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1bXTtLLmN1cnJlbnROb2RlPXRoaXM7Zm9yKHZhciBuPUsuZmlyc3RDaGlsZCgpO247KWUucHVzaChuKSxuPUsubmV4dFNpYmxpbmcoKTtyZXR1cm4gZWUo''@;'; put 'put ''ZSl9fSxjaGlsZEVsZW1lbnRDb3VudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4/dGhpcy5jaGlsZHJlbi5sZW5ndGg6MH19fSxyZT8oRihFbGVtZW50LnByb3RvdHlwZSxSbiksRihFbGVtZW50LnByb3RvdHlwZSxbInByZXZpb3VzRWxlbWVudFNpYmxpbmciLCJuZXh0''@;'; put 'put ''RWxlbWVudFNpYmxpbmciLCJpbm5lckhUTUwiLCJjbGFzc05hbWUiXSksRihIVE1MRWxlbWVudC5wcm90b3R5cGUsWyJjaGlsZHJlbiIsImlubmVySFRNTCIsImNsYXNzTmFtZSJdKSk6KEJ0KEVsZW1lbnQucHJvdG90eXBlLHQpLEJ0KEVsZW1lbnQucHJvdG90eXBlLHtwcmV2aW91c0VsZW1l''@;'; put 'put ''bnRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gSy5jdXJyZW50Tm9kZT10aGlzLEsucHJldmlvdXNTaWJsaW5nKCl9fSxuZXh0RWxlbWVudFNpYmxpbmc6e2dldDpmdW5jdGlvbigpe3JldHVybiBLLmN1cnJlbnROb2RlPXRoaXMsSy5uZXh0U2libGluZygpfX0saW5uZXJIVE1MOntn''@;'; put 'put ''ZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTG4odGhpcyxjbyl9LHNldDpmdW5jdGlvbihlKXt2YXIgbj0idGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWU/dGhpcy5jb250ZW50OnRoaXM7d28obik7dmFyIHI9dGhpcy5sb2NhbE5hbWV8fCJkaXYiO2Zvcigocj10aGlzLm5hbWVzcGFjZVVSSSYmdGhp''@;'; put 'put ''cy5uYW1lc3BhY2VVUkkhPT1qbi5uYW1lc3BhY2VVUkk/am4uY3JlYXRlRWxlbWVudE5TKHRoaXMubmFtZXNwYWNlVVJJLHIpOmpuLmNyZWF0ZUVsZW1lbnQocikpLmlubmVySFRNTD1lLGU9InRlbXBsYXRlIj09PXRoaXMubG9jYWxOYW1lP3IuY29udGVudDpyO3I9ZS5fX3NoYWR5X25hdGl2''@;'; put 'put ''ZV9maXJzdENoaWxkOyluLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShyLHZvaWQgMCl9fSxjbGFzc05hbWU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9LHNldDpmdW5jdGlvbihlKXt0aGlzLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGUp''@;'; put 'put ''fX19KSksRihFbGVtZW50LnByb3RvdHlwZSwic2V0QXR0cmlidXRlIGdldEF0dHJpYnV0ZSBoYXNBdHRyaWJ1dGUgcmVtb3ZlQXR0cmlidXRlIGZvY3VzIGJsdXIiLnNwbGl0KCIgIikpLEYoRWxlbWVudC5wcm90b3R5cGUsRm4pLEYoSFRNTEVsZW1lbnQucHJvdG90eXBlLFsiZm9jdXMiLCJi''@;'; put 'put ''bHVyIl0pLHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50JiZGKHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50LnByb3RvdHlwZSxbImlubmVySFRNTCJdKSxyZT9GKERvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLFJuKTpCdChEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx0KSxGKERvY3Vt''@;'; put 'put ''ZW50RnJhZ21lbnQucHJvdG90eXBlLEZuKSxyZT8oRihEb2N1bWVudC5wcm90b3R5cGUsUm4pLEYoRG9jdW1lbnQucHJvdG90eXBlLFsiYWN0aXZlRWxlbWVudCJdKSk6QnQoRG9jdW1lbnQucHJvdG90eXBlLHQpLEYoRG9jdW1lbnQucHJvdG90eXBlLFsiaW1wb3J0Tm9kZSIsImdldEVsZW1l''@;'; put 'put ''bnRCeUlkIiwiZWxlbWVudEZyb21Qb2ludCIsaW8oKV0pLEYoRG9jdW1lbnQucHJvdG90eXBlLEZuKX0oKSxlaSgiX19zaGFkeV8iKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZG9jdW1lbnQsIl9hY3RpdmVFbGVtZW50Iixuci5hY3RpdmVFbGVtZW50KSxXKFdpbmRvdy5wcm90b3R5cGUsdGks''@;'; put 'put ''Il9fc2hhZHlfIiksZy5KP2cuQWEmJlcoRWxlbWVudC5wcm90b3R5cGUscW8pOihlaSgpLGZ1bmN0aW9uIGJsKCl7aWYoIVVuJiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV2ZW50LnByb3RvdHlwZSwiaXNUcnVzdGVkIikpe3ZhciB0PWZ1bmN0aW9uKCl7dmFyIGU9bmV3IE1v''@;'; put 'put ''dXNlRXZlbnQoImNsaWNrIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNvbXBvc2VkOiEwfSk7dGhpcy5fX3NoYWR5X2Rpc3BhdGNoRXZlbnQoZSl9O0VsZW1lbnQucHJvdG90eXBlLmNsaWNrP0VsZW1lbnQucHJvdG90eXBlLmNsaWNrPXQ6SFRNTEVsZW1lbnQucHJvdG90eXBlLmNsaWNr''@;'; put 'put ''JiYoSFRNTEVsZW1lbnQucHJvdG90eXBlLmNsaWNrPXQpfX0oKSksZnVuY3Rpb24gQ2woKXtmb3IodmFyIHQgaW4gYm8pd2luZG93Ll9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXIodCxmdW5jdGlvbihlKXtlLl9fdGFyZ2V0fHwoWW4oZSksTW8oZSkpfSwhMCl9KCksd2luZG93LkV2''@;'; put 'put ''ZW50PVNsLHdpbmRvdy5DdXN0b21FdmVudD1UbCx3aW5kb3cuTW91c2VFdmVudD1PbCx3aW5kb3cuU2hhZG93Um9vdD1kZX12YXIgcnI9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50LG9yPXdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudE5TLFls''@;'; put 'put ''PXdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZSxabD13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLnByZXBlbmQsJGw9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5hcHBlbmQsS2w9d2luZG93LkRvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLnByZXBlbmQsUWw9d2luZG93''@;'; put 'put ''LkRvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLmFwcGVuZCx3aT13aW5kb3cuTm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlLHZlPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5hcHBlbmRDaGlsZCxFaT13aW5kb3cuTm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlLGlyPXdpbmRvdy5Ob2RlLnByb3Rv''@;'; put 'put ''dHlwZS5yZW1vdmVDaGlsZCxOaT13aW5kb3cuTm9kZS5wcm90b3R5cGUucmVwbGFjZUNoaWxkLHNyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93Lk5vZGUucHJvdG90eXBlLCJ0ZXh0Q29udGVudCIpLENpPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFk''@;'; put 'put ''b3csbHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpLGFyPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGUsU2k9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnNldEF0dHJpYnV0ZSxUaT13aW5k''@;'; put 'put ''b3cuRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlLG1lPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOUyxPaT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlMsYmk9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0''@;'; put 'put ''ZU5TLERpPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5pbnNlcnRBZGphY2VudEVsZW1lbnQseGk9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50SFRNTCxxbD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucHJlcGVuZCxKbD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUu''@;'; put 'put ''YXBwZW5kLE1pPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5iZWZvcmUsUGk9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFmdGVyLExpPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5yZXBsYWNlV2l0aCxBaT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlLHpsPXdpbmRvdy5IVE1M''@;'; put 'put ''RWxlbWVudCx1cj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpLGppPXdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUuaW5zZXJ0QWRqYWNlbnRFbGVtZW50LFJpPXdpbmRvdy5IVE1MRWxlbWVudC5wcm90''@;'; put 'put ''b3R5cGUuaW5zZXJ0QWRqYWNlbnRIVE1MLEZpPW5ldyBTZXQ7ZnVuY3Rpb24gSGkodCl7dmFyIGU9RmkuaGFzKHQpO3JldHVybiB0PS9eW2Etel1bLjAtOV9hLXpdKi1bLS4wLTlfYS16XSokLy50ZXN0KHQpLCFlJiZ0fSJhbm5vdGF0aW9uLXhtbCBjb2xvci1wcm9maWxlIGZvbnQtZmFjZSBm''@;'; put 'put ''b250LWZhY2Utc3JjIGZvbnQtZmFjZS11cmkgZm9udC1mYWNlLWZvcm1hdCBmb250LWZhY2UtbmFtZSBtaXNzaW5nLWdseXBoIi5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIEZpLmFkZCh0KX0pO3ZhciB0YT1kb2N1bWVudC5jb250YWlucz9kb2N1bWVudC5jb250YWlu''@;'; put 'put ''cy5iaW5kKGRvY3VtZW50KTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnMuYmluZChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2Z1bmN0aW9uIEEodCl7dmFyIGU9dC5pc0Nvbm5lY3RlZDtpZih2b2lkIDAhPT1lKXJldHVybiBlO2lmKHRhKHQpKXJldHVybiEwO2Zvcig7dCYm''@;'; put 'put ''ISh0Ll9fQ0VfaXNJbXBvcnREb2N1bWVudHx8dCBpbnN0YW5jZW9mIERvY3VtZW50KTspdD10LnBhcmVudE5vZGV8fCh3aW5kb3cuU2hhZG93Um9vdCYmdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Q/dC5ob3N0OnZvaWQgMCk7cmV0dXJuISghdHx8ISh0Ll9fQ0VfaXNJbXBvcnREb2N1bWVudHx8''@;'; put 'put ''dCBpbnN0YW5jZW9mIERvY3VtZW50KSl9ZnVuY3Rpb24gaHIodCl7dmFyIGU9dC5jaGlsZHJlbjtpZihlKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKTtmb3IoZT1bXSx0PXQuZmlyc3RDaGlsZDt0O3Q9dC5uZXh0U2libGluZyl0Lm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5U''@;'; put 'put ''X05PREUmJmUucHVzaCh0KTtyZXR1cm4gZX1mdW5jdGlvbiBjcih0LGUpe2Zvcig7ZSYmZSE9PXQmJiFlLm5leHRTaWJsaW5nOyllPWUucGFyZW50Tm9kZTtyZXR1cm4gZSYmZSE9PXQ/ZS5uZXh0U2libGluZzpudWxsfWZ1bmN0aW9uIGRyKHQsZSxuKXtmb3IodmFyIHI9dDtyOyl7aWYoci5u''@;'; put 'put ''b2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXt2YXIgbz1yO2Uobyk7dmFyIGk9by5sb2NhbE5hbWU7aWYoImxpbmsiPT09aSYmImltcG9ydCI9PT1vLmdldEF0dHJpYnV0ZSgicmVsIikpe2lmKHI9by5pbXBvcnQsdm9pZCAwPT09biYmKG49bmV3IFNldCksciBpbnN0YW5jZW9mIE5vZGUm''@;'; put 'put ''JiFuLmhhcyhyKSlmb3Iobi5hZGQocikscj1yLmZpcnN0Q2hpbGQ7cjtyPXIubmV4dFNpYmxpbmcpZHIocixlLG4pO3I9Y3IodCxvKTtjb250aW51ZX1pZigidGVtcGxhdGUiPT09aSl7cj1jcih0LG8pO2NvbnRpbnVlfWlmKG89by5fX0NFX3NoYWRvd1Jvb3QpZm9yKG89by5maXJzdENoaWxk''@;'; put 'put ''O287bz1vLm5leHRTaWJsaW5nKWRyKG8sZSxuKX1yPXIuZmlyc3RDaGlsZD9yLmZpcnN0Q2hpbGQ6Y3IodCxyKX19ZnVuY3Rpb24geWUoKXt2YXIgdD0hKG51bGw9PWl0fHwhaXQubm9Eb2N1bWVudENvbnN0cnVjdGlvbk9ic2VydmVyKSxlPSEobnVsbD09aXR8fCFpdC5zaGFkeURvbUZhc3RX''@;'; put 'put ''YWxrKTt0aGlzLmNhPVtdLHRoaXMuZz1bXSx0aGlzLlc9ITEsdGhpcy5zaGFkeURvbUZhc3RXYWxrPWUsdGhpcy5uYj0hdH1mdW5jdGlvbiBHdCh0LGUsbixyKXt2YXIgbz13aW5kb3cuU2hhZHlET007aWYodC5zaGFkeURvbUZhc3RXYWxrJiZvJiZvLmluVXNlKXtpZihlLm5vZGVUeXBlPT09''@;'; put 'put ''Tm9kZS5FTEVNRU5UX05PREUmJm4oZSksZS5xdWVyeVNlbGVjdG9yQWxsKWZvcih0PW8ubmF0aXZlTWV0aG9kcy5xdWVyeVNlbGVjdG9yQWxsLmNhbGwoZSwiKiIpLGU9MDtlPHQubGVuZ3RoO2UrKyluKHRbZV0pfWVsc2UgZHIoZSxuLHIpfWZ1bmN0aW9uIGZyKHQsZSl7dC5XJiZHdCh0LGUs''@;'; put 'put ''ZnVuY3Rpb24obil7cmV0dXJuIER0KHQsbil9KX1mdW5jdGlvbiBEdCh0LGUpe2lmKHQuVyYmIWUuX19DRV9wYXRjaGVkKXtlLl9fQ0VfcGF0Y2hlZD0hMDtmb3IodmFyIG49MDtuPHQuY2EubGVuZ3RoO24rKyl0LmNhW25dKGUpO2ZvcihuPTA7bjx0LmcubGVuZ3RoO24rKyl0Lmdbbl0oZSl9''@;'; put 'put ''fWZ1bmN0aW9uIG90KHQsZSl7dmFyIG49W107Zm9yKEd0KHQsZSxmdW5jdGlvbihvKXtyZXR1cm4gbi5wdXNoKG8pfSksZT0wO2U8bi5sZW5ndGg7ZSsrKXt2YXIgcj1uW2VdOzE9PT1yLl9fQ0Vfc3RhdGU/dC5jb25uZWN0ZWRDYWxsYmFjayhyKTpnZSh0LHIpfX1mdW5jdGlvbiBRKHQsZSl7''@;'; put 'put ''dmFyIG49W107Zm9yKEd0KHQsZSxmdW5jdGlvbihvKXtyZXR1cm4gbi5wdXNoKG8pfSksZT0wO2U8bi5sZW5ndGg7ZSsrKXt2YXIgcj1uW2VdOzE9PT1yLl9fQ0Vfc3RhdGUmJnQuZGlzY29ubmVjdGVkQ2FsbGJhY2socil9fWZ1bmN0aW9uIGh0KHQsZSxuKXt2YXIgcj0obj12b2lkIDA9PT1u''@;'; put 'put ''P3t9Om4pLm9iLG89bi51cGdyYWRlfHxmdW5jdGlvbihzKXtyZXR1cm4gZ2UodCxzKX0saT1bXTtmb3IoR3QodCxlLGZ1bmN0aW9uKHMpe2lmKHQuVyYmRHQodCxzKSwibGluayI9PT1zLmxvY2FsTmFtZSYmImltcG9ydCI9PT1zLmdldEF0dHJpYnV0ZSgicmVsIikpe3ZhciBsPXMuaW1wb3J0''@;'; put 'put ''O2wgaW5zdGFuY2VvZiBOb2RlJiYobC5fX0NFX2lzSW1wb3J0RG9jdW1lbnQ9ITAsbC5fX0NFX3JlZ2lzdHJ5PWRvY3VtZW50Ll9fQ0VfcmVnaXN0cnkpLGwmJiJjb21wbGV0ZSI9PT1sLnJlYWR5U3RhdGU/bC5fX0NFX2RvY3VtZW50TG9hZEhhbmRsZWQ9ITA6cy5hZGRFdmVudExpc3RlbmVy''@;'; put 'put ''KCJsb2FkIixmdW5jdGlvbigpe3ZhciBhPXMuaW1wb3J0O2lmKCFhLl9fQ0VfZG9jdW1lbnRMb2FkSGFuZGxlZCl7YS5fX0NFX2RvY3VtZW50TG9hZEhhbmRsZWQ9ITA7dmFyIHU9bmV3IFNldDtyJiYoci5mb3JFYWNoKGZ1bmN0aW9uKGgpe3JldHVybiB1LmFkZChoKX0pLHUuZGVsZXRlKGEp''@;'; put 'put ''KSxodCh0LGEse29iOnUsdXBncmFkZTpvfSl9fSl9ZWxzZSBpLnB1c2gocyl9LHIpLGU9MDtlPGkubGVuZ3RoO2UrKylvKGlbZV0pfWZ1bmN0aW9uIGdlKHQsZSl7dHJ5e3ZhciBuPWUub3duZXJEb2N1bWVudCxyPW4uX19DRV9yZWdpc3RyeSxvPXImJihuLmRlZmF1bHRWaWV3fHxuLl9fQ0Vf''@;'; put 'put ''aXNJbXBvcnREb2N1bWVudCk/d2UocixlLmxvY2FsTmFtZSk6dm9pZCAwO2lmKG8mJnZvaWQgMD09PWUuX19DRV9zdGF0ZSl7by5jb25zdHJ1Y3Rpb25TdGFjay5wdXNoKGUpO3RyeXt0cnl7aWYobmV3IG8uY29uc3RydWN0b3JGdW5jdGlvbiE9PWUpdGhyb3cgRXJyb3IoIlRoZSBjdXN0b20g''@;'; put 'put ''ZWxlbWVudCBjb25zdHJ1Y3RvciBkaWQgbm90IHByb2R1Y2UgdGhlIGVsZW1lbnQgYmVpbmcgdXBncmFkZWQuIil9ZmluYWxseXtvLmNvbnN0cnVjdGlvblN0YWNrLnBvcCgpfX1jYXRjaChhKXt0aHJvdyBlLl9fQ0Vfc3RhdGU9MixhfWlmKGUuX19DRV9zdGF0ZT0xLGUuX19DRV9kZWZpbml0''@;'; put 'put ''aW9uPW8sby5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2smJmUuaGFzQXR0cmlidXRlcygpKXt2YXIgaT1vLm9ic2VydmVkQXR0cmlidXRlcztmb3Iobz0wO288aS5sZW5ndGg7bysrKXt2YXIgcz1pW29dLGw9ZS5nZXRBdHRyaWJ1dGUocyk7bnVsbCE9PWwmJnQuYXR0cmlidXRlQ2hhbmdlZENh''@;'; put 'put ''bGxiYWNrKGUscyxudWxsLGwsbnVsbCl9fUEoZSkmJnQuY29ubmVjdGVkQ2FsbGJhY2soZSl9fWNhdGNoKGEpe3h0KGEpfX1mdW5jdGlvbiBJaSh0LGUsbixyKXt2YXIgbz1lLl9fQ0VfcmVnaXN0cnk7aWYobyYmKG51bGw9PT1yfHwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI9PT1y''@;'; put 'put ''KSYmKG89d2UobyxuKSkpdHJ5e3ZhciBpPW5ldyBvLmNvbnN0cnVjdG9yRnVuY3Rpb247aWYodm9pZCAwPT09aS5fX0NFX3N0YXRlfHx2b2lkIDA9PT1pLl9fQ0VfZGVmaW5pdGlvbil0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNvbnN0cnVjdCAnIituKyInOiBUaGUgcmV0dXJuZWQgdmFsdWUg''@;'; put 'put ''d2FzIG5vdCBjb25zdHJ1Y3RlZCB3aXRoIHRoZSBIVE1MRWxlbWVudCBjb25zdHJ1Y3Rvci4iKTtpZigiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIhPT1pLm5hbWVzcGFjZVVSSSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNvbnN0cnVjdCAnIituKyInOiBUaGUgY29uc3RydWN0ZWQg''@;'; put 'put ''ZWxlbWVudCdzIG5hbWVzcGFjZSBtdXN0IGJlIHRoZSBIVE1MIG5hbWVzcGFjZS4iKTtpZihpLmhhc0F0dHJpYnV0ZXMoKSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNvbnN0cnVjdCAnIituKyInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCBtdXN0IG5vdCBoYXZlIGFueSBhdHRyaWJ1dGVz''@;'; put 'put ''LiIpO2lmKG51bGwhPT1pLmZpcnN0Q2hpbGQpdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjb25zdHJ1Y3QgJyIrbisiJzogVGhlIGNvbnN0cnVjdGVkIGVsZW1lbnQgbXVzdCBub3QgaGF2ZSBhbnkgY2hpbGRyZW4uIik7aWYobnVsbCE9PWkucGFyZW50Tm9kZSl0aHJvdyBFcnJvcigiRmFpbGVk''@;'; put 'put ''IHRvIGNvbnN0cnVjdCAnIituKyInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCBtdXN0IG5vdCBoYXZlIGEgcGFyZW50IG5vZGUuIik7aWYoaS5vd25lckRvY3VtZW50IT09ZSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNvbnN0cnVjdCAnIituKyInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVu''@;'; put 'put ''dCdzIG93bmVyIGRvY3VtZW50IGlzIGluY29ycmVjdC4iKTtpZihpLmxvY2FsTmFtZSE9PW4pdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjb25zdHJ1Y3QgJyIrbisiJzogVGhlIGNvbnN0cnVjdGVkIGVsZW1lbnQncyBsb2NhbCBuYW1lIGlzIGluY29ycmVjdC4iKTtyZXR1cm4gaX1jYXRjaChz''@;'; put 'put ''KXtyZXR1cm4geHQocyksZT1udWxsPT09cj9yci5jYWxsKGUsbik6b3IuY2FsbChlLHIsbiksT2JqZWN0LnNldFByb3RvdHlwZU9mKGUsSFRNTFVua25vd25FbGVtZW50LnByb3RvdHlwZSksZS5fX0NFX3N0YXRlPTIsZS5fX0NFX2RlZmluaXRpb249dm9pZCAwLER0KHQsZSksZX1yZXR1cm4g''@;'; put 'put ''RHQodCxlPW51bGw9PT1yP3JyLmNhbGwoZSxuKTpvci5jYWxsKGUscixuKSksZX1mdW5jdGlvbiB4dCh0KXt2YXIgZT10Lm1lc3NhZ2Usbj10LnNvdXJjZVVSTHx8dC5maWxlTmFtZXx8IiIscj10LmxpbmV8fHQubGluZU51bWJlcnx8MCxpPXZvaWQgMDt2b2lkIDA9PT1FcnJvckV2ZW50LnBy''@;'; put 'put ''b3RvdHlwZS5pbml0RXJyb3JFdmVudD9pPW5ldyBFcnJvckV2ZW50KCJlcnJvciIse2NhbmNlbGFibGU6ITAsbWVzc2FnZTplLGZpbGVuYW1lOm4sbGluZW5vOnIsY29sbm86dC5jb2x1bW58fHQuY29sdW1uTnVtYmVyfHwwLGVycm9yOnR9KTooKGk9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkVy''@;'; put 'put ''cm9yRXZlbnQiKSkuaW5pdEVycm9yRXZlbnQoImVycm9yIiwhMSwhMCxlLG4sciksaS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZWZhdWx0UHJldmVudGVkIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiEwfX0p''@;'; put 'put ''fSksdm9pZCAwPT09aS5lcnJvciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGksImVycm9yIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHR9fSksd2luZG93LmRpc3BhdGNoRXZlbnQoaSksaS5kZWZhdWx0UHJldmVudGVkfHxjb25zb2xlLmVy''@;'; put 'put ''cm9yKHQpfWZ1bmN0aW9uIGtpKCl7dmFyIHQ9dGhpczt0aGlzLkk9dm9pZCAwLHRoaXMuSGE9bmV3IFByb21pc2UoZnVuY3Rpb24oZSl7dC5nPWV9KX1mdW5jdGlvbiBCaSh0KXt2YXIgZT1kb2N1bWVudDt0aGlzLlg9dm9pZCAwLHRoaXMuUz10LHRoaXMuZz1lLGh0KHRoaXMuUyx0aGlzLmcp''@;'; put 'put ''LCJsb2FkaW5nIj09PXRoaXMuZy5yZWFkeVN0YXRlJiYodGhpcy5YPW5ldyBNdXRhdGlvbk9ic2VydmVyKHRoaXMuaC5iaW5kKHRoaXMpKSx0aGlzLlgub2JzZXJ2ZSh0aGlzLmcse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSkpfWZ1bmN0aW9uIFVpKHQpe3QuWCYmdC5YLmRpc2Nvbm5lY3Qo''@;'; put 'put ''KX1mdW5jdGlvbiBWKHQpe3RoaXMua2E9bmV3IE1hcCx0aGlzLmxhPW5ldyBNYXAsdGhpcy5DYT1uZXcgTWFwLHRoaXMudGE9ITEsdGhpcy53YT1uZXcgTWFwLHRoaXMuamE9ZnVuY3Rpb24oZSl7cmV0dXJuIGUoKX0sdGhpcy5WPSExLHRoaXMubWE9W10sdGhpcy5TPXQsdGhpcy5EYT10Lm5i''@;'; put 'put ''P25ldyBCaSh0KTp2b2lkIDB9ZnVuY3Rpb24gV2kodCxlKXtpZighSGkoZSkpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJUaGUgZWxlbWVudCBuYW1lICciK2UrIicgaXMgbm90IHZhbGlkLiIpO2lmKHdlKHQsZSkpdGhyb3cgRXJyb3IoIkEgY3VzdG9tIGVsZW1lbnQgd2l0aCBuYW1lICciK2Ur''@;'; put 'put ''IicgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkLiIpO2lmKHQudGEpdGhyb3cgRXJyb3IoIkEgY3VzdG9tIGVsZW1lbnQgaXMgYWxyZWFkeSBiZWluZyBkZWZpbmVkLiIpfWZ1bmN0aW9uIFZpKHQsZSxuKXt2YXIgcjt0LnRhPSEwO3RyeXt2YXIgbz1uLnByb3RvdHlwZTtpZighKG8gaW5zdGFu''@;'; put 'put ''Y2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvcidzIHByb3RvdHlwZSBpcyBub3QgYW4gb2JqZWN0LiIpO3ZhciBpPWZ1bmN0aW9uKGgpe3ZhciBmPW9baF07aWYodm9pZCAwIT09ZiYmIShmIGluc3RhbmNlb2YgRnVuY3Rpb24p''@;'; put 'put ''KXRocm93IEVycm9yKCJUaGUgJyIraCsiJyBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uIik7cmV0dXJuIGZ9LHM9aSgiY29ubmVjdGVkQ2FsbGJhY2siKSxsPWkoImRpc2Nvbm5lY3RlZENhbGxiYWNrIiksYT1pKCJhZG9wdGVkQ2FsbGJhY2siKSx1PShyPWkoImF0dHJpYnV0ZUNoYW5n''@;'; put 'put ''ZWRDYWxsYmFjayIpKSYmbi5vYnNlcnZlZEF0dHJpYnV0ZXN8fFtdfWNhdGNoKGgpe3Rocm93IGh9ZmluYWxseXt0LnRhPSExfXJldHVybiB0LmxhLnNldChlLG49e2xvY2FsTmFtZTplLGNvbnN0cnVjdG9yRnVuY3Rpb246bixjb25uZWN0ZWRDYWxsYmFjazpzLGRpc2Nvbm5lY3RlZENhbGxi''@;'; put 'put ''YWNrOmwsYWRvcHRlZENhbGxiYWNrOmEsYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrOnIsb2JzZXJ2ZWRBdHRyaWJ1dGVzOnUsY29uc3RydWN0aW9uU3RhY2s6W119KSx0LkNhLnNldChuLmNvbnN0cnVjdG9yRnVuY3Rpb24sbiksbn1mdW5jdGlvbiBHaSh0KXtpZighMSE9PXQuVil7dC5WPSEx''@;'; put 'put ''O2Zvcih2YXIgZT1bXSxuPXQubWEscj1uZXcgTWFwLG89MDtvPG4ubGVuZ3RoO28rKylyLnNldChuW29dLFtdKTtmb3IoaHQodC5TLGRvY3VtZW50LHt1cGdyYWRlOmZ1bmN0aW9uKGEpe2lmKHZvaWQgMD09PWEuX19DRV9zdGF0ZSl7dmFyIHU9YS5sb2NhbE5hbWUsaD1yLmdldCh1KTtoP2gu''@;'; put 'put ''cHVzaChhKTp0LmxhLmhhcyh1KSYmZS5wdXNoKGEpfX19KSxvPTA7bzxlLmxlbmd0aDtvKyspZ2UodC5TLGVbb10pO2ZvcihvPTA7bzxuLmxlbmd0aDtvKyspe2Zvcih2YXIgaT1uW29dLHM9ci5nZXQoaSksbD0wO2w8cy5sZW5ndGg7bCsrKWdlKHQuUyxzW2xdKTsoaT10LndhLmdldChpKSkm''@;'; put 'put ''JmkucmVzb2x2ZSh2b2lkIDApfW4ubGVuZ3RoPTB9fWZ1bmN0aW9uIHdlKHQsZSl7dmFyIG49dC5sYS5nZXQoZSk7aWYobilyZXR1cm4gbjtpZihuPXQua2EuZ2V0KGUpKXt0LmthLmRlbGV0ZShlKTt0cnl7cmV0dXJuIFZpKHQsZSxuKCkpfWNhdGNoKHIpe3h0KHIpfX19ZnVuY3Rpb24gcHIo''@;'; put 'put ''dCxlLG4pe2Z1bmN0aW9uIHIobyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2Zvcih2YXIgcz1bXSxsPTA7bDxhcmd1bWVudHMubGVuZ3RoOysrbClzW2xdPWFyZ3VtZW50c1tsXTtsPVtdO2Zvcih2YXIgYT1bXSx1PTA7dTxzLmxlbmd0aDt1Kyspe3ZhciBoPXNbdV07aWYoaCBpbnN0YW5jZW9mIEVs''@;'; put 'put ''ZW1lbnQmJkEoaCkmJmEucHVzaChoKSxoIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3IoaD1oLmZpcnN0Q2hpbGQ7aDtoPWgubmV4dFNpYmxpbmcpbC5wdXNoKGgpO2Vsc2UgbC5wdXNoKGgpfWZvcihvLmFwcGx5KHRoaXMscykscz0wO3M8YS5sZW5ndGg7cysrKVEodCxhW3NdKTtp''@;'; put 'put ''ZihBKHRoaXMpKWZvcihzPTA7czxsLmxlbmd0aDtzKyspKGE9bFtzXSlpbnN0YW5jZW9mIEVsZW1lbnQmJm90KHQsYSl9fXZvaWQgMCE9PW4ucHJlcGVuZCYmKGUucHJlcGVuZD1yKG4ucHJlcGVuZCkpLHZvaWQgMCE9PW4uYXBwZW5kJiYoZS5hcHBlbmQ9cihuLmFwcGVuZCkpfXllLnByb3Rv''@;'; put 'put ''dHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1mdW5jdGlvbih0KXt2YXIgZT10Ll9fQ0VfZGVmaW5pdGlvbjtpZihlLmNvbm5lY3RlZENhbGxiYWNrKXRyeXtlLmNvbm5lY3RlZENhbGxiYWNrLmNhbGwodCl9Y2F0Y2gobil7eHQobil9fSx5ZS5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s9''@;'; put 'put ''ZnVuY3Rpb24odCl7dmFyIGU9dC5fX0NFX2RlZmluaXRpb247aWYoZS5kaXNjb25uZWN0ZWRDYWxsYmFjayl0cnl7ZS5kaXNjb25uZWN0ZWRDYWxsYmFjay5jYWxsKHQpfWNhdGNoKG4pe3h0KG4pfX0seWUucHJvdG90eXBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaz1mdW5jdGlvbih0LGUs''@;'; put 'put ''bixyLG8pe3ZhciBpPXQuX19DRV9kZWZpbml0aW9uO2lmKGkuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrJiYtMTxpLm9ic2VydmVkQXR0cmlidXRlcy5pbmRleE9mKGUpKXRyeXtpLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjay5jYWxsKHQsZSxuLHIsbyl9Y2F0Y2gocyl7eHQocyl9fSxraS5w''@;'; put 'put ''cm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbih0KXtpZih0aGlzLkkpdGhyb3cgRXJyb3IoIkFscmVhZHkgcmVzb2x2ZWQuIik7dGhpcy5JPXQsdGhpcy5nKHQpfSxCaS5wcm90b3R5cGUuaD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmcucmVhZHlTdGF0ZTtmb3IoImludGVyYWN0aXZlIiE9PWUm''@;'; put 'put ''JiJjb21wbGV0ZSIhPT1lfHxVaSh0aGlzKSxlPTA7ZTx0Lmxlbmd0aDtlKyspZm9yKHZhciBuPXRbZV0uYWRkZWROb2RlcyxyPTA7cjxuLmxlbmd0aDtyKyspaHQodGhpcy5TLG5bcl0pfSwobT1WLnByb3RvdHlwZSkuZWI9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKCEoZSBpbnN0YW5j''@;'; put 'put ''ZW9mIEZ1bmN0aW9uKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciBnZXR0ZXJzIG11c3QgYmUgZnVuY3Rpb25zLiIpO1dpKHRoaXMsdCksdGhpcy5rYS5zZXQodCxlKSx0aGlzLm1hLnB1c2godCksdGhpcy5WfHwodGhpcy5WPSEwLHRoaXMuamEoZnVu''@;'; put 'put ''Y3Rpb24oKXtyZXR1cm4gR2kobil9KSl9LG0uZGVmaW5lPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZighKGUgaW5zdGFuY2VvZiBGdW5jdGlvbikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3JzIG11c3QgYmUgZnVuY3Rpb25zLiIpO1dpKHRoaXMs''@;'; put 'put ''dCksVmkodGhpcyx0LGUpLHRoaXMubWEucHVzaCh0KSx0aGlzLlZ8fCh0aGlzLlY9ITAsdGhpcy5qYShmdW5jdGlvbigpe3JldHVybiBHaShuKX0pKX0sbS51cGdyYWRlPWZ1bmN0aW9uKHQpe2h0KHRoaXMuUyx0KX0sbS5nZXQ9ZnVuY3Rpb24odCl7aWYodD13ZSh0aGlzLHQpKXJldHVybiB0''@;'; put 'put ''LmNvbnN0cnVjdG9yRnVuY3Rpb259LG0ud2hlbkRlZmluZWQ9ZnVuY3Rpb24odCl7aWYoIUhpKHQpKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgU3ludGF4RXJyb3IoIiciK3QrIicgaXMgbm90IGEgdmFsaWQgY3VzdG9tIGVsZW1lbnQgbmFtZS4iKSk7dmFyIGU9dGhpcy53YS5nZXQodCk7''@;'; put 'put ''aWYoZSlyZXR1cm4gZS5IYTtlPW5ldyBraSx0aGlzLndhLnNldCh0LGUpO3ZhciBuPXRoaXMubGEuaGFzKHQpfHx0aGlzLmthLmhhcyh0KTtyZXR1cm4gdD0tMT09PXRoaXMubWEuaW5kZXhPZih0KSxuJiZ0JiZlLnJlc29sdmUodm9pZCAwKSxlLkhhfSxtLnBvbHlmaWxsV3JhcEZsdXNoQ2Fs''@;'; put 'put ''bGJhY2s9ZnVuY3Rpb24odCl7dGhpcy5EYSYmVWkodGhpcy5EYSk7dmFyIGU9dGhpcy5qYTt0aGlzLmphPWZ1bmN0aW9uKG4pe3JldHVybiB0KGZ1bmN0aW9uKCl7cmV0dXJuIGUobil9KX19LHdpbmRvdy5DdXN0b21FbGVtZW50UmVnaXN0cnk9VixWLnByb3RvdHlwZS5kZWZpbmU9Vi5wcm90''@;'; put 'put ''b3R5cGUuZGVmaW5lLFYucHJvdG90eXBlLnVwZ3JhZGU9Vi5wcm90b3R5cGUudXBncmFkZSxWLnByb3RvdHlwZS5nZXQ9Vi5wcm90b3R5cGUuZ2V0LFYucHJvdG90eXBlLndoZW5EZWZpbmVkPVYucHJvdG90eXBlLndoZW5EZWZpbmVkLFYucHJvdG90eXBlLnBvbHlmaWxsRGVmaW5lTGF6eT1W''@;'; put 'put ''LnByb3RvdHlwZS5lYixWLnByb3RvdHlwZS5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrPVYucHJvdG90eXBlLnBvbHlmaWxsV3JhcEZsdXNoQ2FsbGJhY2s7dmFyIFhpPXt9LGl0PXdpbmRvdy5jdXN0b21FbGVtZW50cztmdW5jdGlvbiBZaSgpe3ZhciB0PW5ldyB5ZTsoZnVuY3Rpb24gc2Eo''@;'; put 'put ''dCl7ZnVuY3Rpb24gZSgpe3ZhciBuPXRoaXMuY29uc3RydWN0b3Iscj1kb2N1bWVudC5fX0NFX3JlZ2lzdHJ5LkNhLmdldChuKTtpZighcil0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNvbnN0cnVjdCBhIGN1c3RvbSBlbGVtZW50OiBUaGUgY29uc3RydWN0b3Igd2FzIG5vdCByZWdpc3RlcmVk''@;'; put 'put ''IHdpdGggYGN1c3RvbUVsZW1lbnRzYC4iKTt2YXIgbz1yLmNvbnN0cnVjdGlvblN0YWNrO2lmKDA9PT1vLmxlbmd0aClyZXR1cm4gbz1yci5jYWxsKGRvY3VtZW50LHIubG9jYWxOYW1lKSxPYmplY3Quc2V0UHJvdG90eXBlT2YobyxuLnByb3RvdHlwZSksby5fX0NFX3N0YXRlPTEsby5fX0NF''@;'; put 'put ''X2RlZmluaXRpb249cixEdCh0LG8pLG87dmFyIGk9by5sZW5ndGgtMSxzPW9baV07aWYocz09PVhpKXRocm93IEVycm9yKCJGYWlsZWQgdG8gY29uc3RydWN0ICciK3IubG9jYWxOYW1lKyInOiBUaGlzIGVsZW1lbnQgd2FzIGFscmVhZHkgY29uc3RydWN0ZWQuIik7cmV0dXJuIG9baV09WGks''@;'; put 'put ''T2JqZWN0LnNldFByb3RvdHlwZU9mKHMsbi5wcm90b3R5cGUpLER0KHQscyksc31lLnByb3RvdHlwZT16bC5wcm90b3R5cGUsT2JqZWN0LmRlZmluZVByb3BlcnR5KEhUTUxFbGVtZW50LnByb3RvdHlwZSwiY29uc3RydWN0b3IiLHt3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITAsZW51bWVy''@;'; put 'put ''YWJsZTohMSx2YWx1ZTplfSksd2luZG93LkhUTUxFbGVtZW50PWV9KSh0KSxmdW5jdGlvbiByYSh0KXtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4gSWkodCx0aGlzLGUsbnVsbCl9LERvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlPWZ1bmN0''@;'; put 'put ''aW9uKGUsbil7cmV0dXJuIGU9WWwuY2FsbCh0aGlzLGUsISFuKSx0aGlzLl9fQ0VfcmVnaXN0cnk/aHQodCxlKTpmcih0LGUpLGV9LERvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlM9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gSWkodCx0aGlzLG4sZSl9LHByKHQsRG9jdW1lbnQucHJv''@;'; put 'put ''dG90eXBlLHtwcmVwZW5kOlpsLGFwcGVuZDokbH0pfSh0KSxwcih0LERvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLHtwcmVwZW5kOktsLGFwcGVuZDpRbH0pLGZ1bmN0aW9uIGxhKHQpe2Z1bmN0aW9uIGUobixyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwidGV4dENvbnRlbnQiLHtlbnVt''@;'; put 'put ''ZXJhYmxlOnIuZW51bWVyYWJsZSxjb25maWd1cmFibGU6ITAsZ2V0OnIuZ2V0LHNldDpmdW5jdGlvbihvKXtpZih0aGlzLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpci5zZXQuY2FsbCh0aGlzLG8pO2Vsc2V7dmFyIGk9dm9pZCAwO2lmKHRoaXMuZmlyc3RDaGlsZCl7dmFyIHM9dGhpcy5j''@;'; put 'put ''aGlsZE5vZGVzLGw9cy5sZW5ndGg7aWYoMDxsJiZBKHRoaXMpKXtpPUFycmF5KGwpO2Zvcih2YXIgYT0wO2E8bDthKyspaVthXT1zW2FdfX1pZihyLnNldC5jYWxsKHRoaXMsbyksaSlmb3Iobz0wO288aS5sZW5ndGg7bysrKVEodCxpW29dKX19fSl9Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVm''@;'; put 'put ''b3JlPWZ1bmN0aW9uKG4scil7aWYobiBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpe3ZhciBvPWhyKG4pO2lmKG49RWkuY2FsbCh0aGlzLG4sciksQSh0aGlzKSlmb3Iocj0wO3I8by5sZW5ndGg7cisrKW90KHQsb1tyXSk7cmV0dXJuIG59cmV0dXJuIG89biBpbnN0YW5jZW9mIEVsZW1l''@;'; put 'put ''bnQmJkEobikscj1FaS5jYWxsKHRoaXMsbixyKSxvJiZRKHQsbiksQSh0aGlzKSYmb3QodCxuKSxyfSxOb2RlLnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIHI9aHIobik7aWYobj12ZS5jYWxsKHRoaXMsbiks''@;'; put 'put ''QSh0aGlzKSlmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylvdCh0LHJbb10pO3JldHVybiBufXJldHVybiByPW4gaW5zdGFuY2VvZiBFbGVtZW50JiZBKG4pLG89dmUuY2FsbCh0aGlzLG4pLHImJlEodCxuKSxBKHRoaXMpJiZvdCh0LG4pLG99LE5vZGUucHJvdG90eXBlLmNsb25lTm9kZT1m''@;'; put 'put ''dW5jdGlvbihuKXtyZXR1cm4gbj13aS5jYWxsKHRoaXMsISFuKSx0aGlzLm93bmVyRG9jdW1lbnQuX19DRV9yZWdpc3RyeT9odCh0LG4pOmZyKHQsbiksbn0sTm9kZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24obil7dmFyIHI9biBpbnN0YW5jZW9mIEVsZW1lbnQmJkEobiksbz1p''@;'; put 'put ''ci5jYWxsKHRoaXMsbik7cmV0dXJuIHImJlEodCxuKSxvfSxOb2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24obixyKXtpZihuIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIG89aHIobik7aWYobj1OaS5jYWxsKHRoaXMsbixyKSxBKHRoaXMpKWZvcihRKHQsciks''@;'; put 'put ''cj0wO3I8by5sZW5ndGg7cisrKW90KHQsb1tyXSk7cmV0dXJuIG59bz1uIGluc3RhbmNlb2YgRWxlbWVudCYmQShuKTt2YXIgaT1OaS5jYWxsKHRoaXMsbixyKSxzPUEodGhpcyk7cmV0dXJuIHMmJlEodCxyKSxvJiZRKHQsbikscyYmb3QodCxuKSxpfSxzciYmc3IuZ2V0P2UoTm9kZS5wcm90''@;'; put 'put ''b3R5cGUsc3IpOmZ1bmN0aW9uIGVhKHQsZSl7dC5XPSEwLHQuY2EucHVzaChlKX0odCxmdW5jdGlvbihuKXtlKG4se2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2Zvcih2YXIgcj1bXSxvPXRoaXMuZmlyc3RDaGlsZDtvO289by5uZXh0U2libGluZylvLm5v''@;'; put 'put ''ZGVUeXBlIT09Tm9kZS5DT01NRU5UX05PREUmJnIucHVzaChvLnRleHRDb250ZW50KTtyZXR1cm4gci5qb2luKCIiKX0sc2V0OmZ1bmN0aW9uKHIpe2Zvcig7dGhpcy5maXJzdENoaWxkOylpci5jYWxsKHRoaXMsdGhpcy5maXJzdENoaWxkKTtudWxsIT1yJiYiIiE9PXImJnZlLmNhbGwodGhp''@;'; put 'put ''cyxkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSl9fSl9KX0odCksZnVuY3Rpb24gaWEodCl7ZnVuY3Rpb24gZShvLGkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCJpbm5lckhUTUwiLHtlbnVtZXJhYmxlOmkuZW51bWVyYWJsZSxjb25maWd1cmFibGU6ITAsZ2V0OmkuZ2V0LHNldDpmdW5j''@;'; put 'put ''dGlvbihzKXt2YXIgbD10aGlzLGE9dm9pZCAwO2lmKEEodGhpcykmJihhPVtdLEd0KHQsdGhpcyxmdW5jdGlvbihmKXtmIT09bCYmYS5wdXNoKGYpfSkpLGkuc2V0LmNhbGwodGhpcyxzKSxhKWZvcih2YXIgdT0wO3U8YS5sZW5ndGg7dSsrKXt2YXIgaD1hW3VdOzE9PT1oLl9fQ0Vfc3RhdGUm''@;'; put 'put ''JnQuZGlzY29ubmVjdGVkQ2FsbGJhY2soaCl9cmV0dXJuIHRoaXMub3duZXJEb2N1bWVudC5fX0NFX3JlZ2lzdHJ5P2h0KHQsdGhpcyk6ZnIodCx0aGlzKSxzfX0pfWZ1bmN0aW9uIG4obyxpKXtvLmluc2VydEFkamFjZW50RWxlbWVudD1mdW5jdGlvbihzLGwpe3ZhciBhPUEobCk7cmV0dXJu''@;'; put 'put ''IHM9aS5jYWxsKHRoaXMscyxsKSxhJiZRKHQsbCksQShzKSYmb3QodCxsKSxzfX1mdW5jdGlvbiByKG8saSl7ZnVuY3Rpb24gcyhsLGEpe2Zvcih2YXIgdT1bXTtsIT09YTtsPWwubmV4dFNpYmxpbmcpdS5wdXNoKGwpO2ZvcihhPTA7YTx1Lmxlbmd0aDthKyspaHQodCx1W2FdKX1vLmluc2Vy''@;'; put 'put ''dEFkamFjZW50SFRNTD1mdW5jdGlvbihsLGEpe2lmKCJiZWZvcmViZWdpbiI9PT0obD1sLnRvTG93ZXJDYXNlKCkpKXt2YXIgdT10aGlzLnByZXZpb3VzU2libGluZztpLmNhbGwodGhpcyxsLGEpLHModXx8dGhpcy5wYXJlbnROb2RlLmZpcnN0Q2hpbGQsdGhpcyl9ZWxzZSBpZigiYWZ0ZXJi''@;'; put 'put ''ZWdpbiI9PT1sKXU9dGhpcy5maXJzdENoaWxkLGkuY2FsbCh0aGlzLGwsYSkscyh0aGlzLmZpcnN0Q2hpbGQsdSk7ZWxzZSBpZigiYmVmb3JlZW5kIj09PWwpdT10aGlzLmxhc3RDaGlsZCxpLmNhbGwodGhpcyxsLGEpLHModXx8dGhpcy5maXJzdENoaWxkLG51bGwpO2Vsc2V7aWYoImFmdGVy''@;'; put 'put ''ZW5kIiE9PWwpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJUaGUgdmFsdWUgcHJvdmlkZWQgKCIrU3RyaW5nKGwpKyIpIGlzIG5vdCBvbmUgb2YgJ2JlZm9yZWJlZ2luJywgJ2FmdGVyYmVnaW4nLCAnYmVmb3JlZW5kJywgb3IgJ2FmdGVyZW5kJy4iKTt1PXRoaXMubmV4dFNpYmxpbmcsaS5jYWxs''@;'; put 'put ''KHRoaXMsbCxhKSxzKHRoaXMubmV4dFNpYmxpbmcsdSl9fX1DaSYmKEVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvdz1mdW5jdGlvbihvKXtpZihvPUNpLmNhbGwodGhpcyxvKSx0LlcmJiFvLl9fQ0VfcGF0Y2hlZCl7by5fX0NFX3BhdGNoZWQ9ITA7Zm9yKHZhciBpPTA7aTx0LmNhLmxl''@;'; put 'put ''bmd0aDtpKyspdC5jYVtpXShvKX1yZXR1cm4gdGhpcy5fX0NFX3NoYWRvd1Jvb3Q9b30pLGxyJiZsci5nZXQ/ZShFbGVtZW50LnByb3RvdHlwZSxscik6dXImJnVyLmdldD9lKEhUTUxFbGVtZW50LnByb3RvdHlwZSx1cik6ZnVuY3Rpb24gbmEodCxlKXt0Llc9ITAsdC5nLnB1c2goZSl9KHQs''@;'; put 'put ''ZnVuY3Rpb24obyl7ZShvLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd2kuY2FsbCh0aGlzLCEwKS5pbm5lckhUTUx9LHNldDpmdW5jdGlvbihpKXt2YXIgcz0idGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWUsbD1zP3RoaXMuY29udGVudDp0''@;'; put 'put ''aGlzLGE9b3IuY2FsbChkb2N1bWVudCx0aGlzLm5hbWVzcGFjZVVSSSx0aGlzLmxvY2FsTmFtZSk7Zm9yKGEuaW5uZXJIVE1MPWk7MDxsLmNoaWxkTm9kZXMubGVuZ3RoOylpci5jYWxsKGwsbC5jaGlsZE5vZGVzWzBdKTtmb3IoaT1zP2EuY29udGVudDphOzA8aS5jaGlsZE5vZGVzLmxlbmd0''@;'; put 'put ''aDspdmUuY2FsbChsLGkuY2hpbGROb2Rlc1swXSl9fSl9KSxFbGVtZW50LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24obyxpKXtpZigxIT09dGhpcy5fX0NFX3N0YXRlKXJldHVybiBTaS5jYWxsKHRoaXMsbyxpKTt2YXIgcz1hci5jYWxsKHRoaXMsbyk7U2kuY2FsbCh0aGlzLG8s''@;'; put 'put ''aSksaT1hci5jYWxsKHRoaXMsbyksdC5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxvLHMsaSxudWxsKX0sRWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlM9ZnVuY3Rpb24obyxpLHMpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuIE9pLmNhbGwodGhpcyxvLGkscyk7''@;'; put 'put ''dmFyIGw9bWUuY2FsbCh0aGlzLG8saSk7T2kuY2FsbCh0aGlzLG8saSxzKSxzPW1lLmNhbGwodGhpcyxvLGkpLHQuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHRoaXMsaSxsLHMsbyl9LEVsZW1lbnQucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbihvKXtpZigxIT09dGhpcy5f''@;'; put 'put ''X0NFX3N0YXRlKXJldHVybiBUaS5jYWxsKHRoaXMsbyk7dmFyIGk9YXIuY2FsbCh0aGlzLG8pO1RpLmNhbGwodGhpcyxvKSxudWxsIT09aSYmdC5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxvLGksbnVsbCxudWxsKX0sRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlTlM9''@;'; put 'put ''ZnVuY3Rpb24obyxpKXtpZigxIT09dGhpcy5fX0NFX3N0YXRlKXJldHVybiBiaS5jYWxsKHRoaXMsbyxpKTt2YXIgcz1tZS5jYWxsKHRoaXMsbyxpKTtiaS5jYWxsKHRoaXMsbyxpKTt2YXIgbD1tZS5jYWxsKHRoaXMsbyxpKTtzIT09bCYmdC5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhp''@;'; put 'put ''cyxpLHMsbCxvKX0samk/bihIVE1MRWxlbWVudC5wcm90b3R5cGUsamkpOkRpJiZuKEVsZW1lbnQucHJvdG90eXBlLERpKSxSaT9yKEhUTUxFbGVtZW50LnByb3RvdHlwZSxSaSk6eGkmJnIoRWxlbWVudC5wcm90b3R5cGUseGkpLHByKHQsRWxlbWVudC5wcm90b3R5cGUse3ByZXBlbmQ6cWws''@;'; put 'put ''YXBwZW5kOkpsfSksZnVuY3Rpb24gb2EodCl7ZnVuY3Rpb24gZShyKXtyZXR1cm4gZnVuY3Rpb24obyl7Zm9yKHZhciBpPVtdLHM9MDtzPGFyZ3VtZW50cy5sZW5ndGg7KytzKWlbc109YXJndW1lbnRzW3NdO3M9W107Zm9yKHZhciBsPVtdLGE9MDthPGkubGVuZ3RoO2ErKyl7dmFyIHU9aVth''@;'; put 'put ''XTtpZih1IGluc3RhbmNlb2YgRWxlbWVudCYmQSh1KSYmbC5wdXNoKHUpLHUgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcih1PXUuZmlyc3RDaGlsZDt1O3U9dS5uZXh0U2libGluZylzLnB1c2godSk7ZWxzZSBzLnB1c2godSl9Zm9yKHIuYXBwbHkodGhpcyxpKSxpPTA7aTxsLmxl''@;'; put 'put ''bmd0aDtpKyspUSh0LGxbaV0pO2lmKEEodGhpcykpZm9yKGk9MDtpPHMubGVuZ3RoO2krKykobD1zW2ldKWluc3RhbmNlb2YgRWxlbWVudCYmb3QodCxsKX19dmFyIG49RWxlbWVudC5wcm90b3R5cGU7dm9pZCAwIT09TWkmJihuLmJlZm9yZT1lKE1pKSksdm9pZCAwIT09UGkmJihuLmFmdGVy''@;'; put 'put ''PWUoUGkpKSx2b2lkIDAhPT1MaSYmKG4ucmVwbGFjZVdpdGg9ZnVuY3Rpb24ocil7Zm9yKHZhciBvPVtdLGk9MDtpPGFyZ3VtZW50cy5sZW5ndGg7KytpKW9baV09YXJndW1lbnRzW2ldO2k9W107Zm9yKHZhciBzPVtdLGw9MDtsPG8ubGVuZ3RoO2wrKyl7dmFyIGE9b1tsXTtpZihhIGluc3Rh''@;'; put 'put ''bmNlb2YgRWxlbWVudCYmQShhKSYmcy5wdXNoKGEpLGEgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZylpLnB1c2goYSk7ZWxzZSBpLnB1c2goYSl9Zm9yKGw9QSh0aGlzKSxMaS5hcHBseSh0aGlzLG8pLG89MDtvPHMubGVu''@;'; put 'put ''Z3RoO28rKylRKHQsc1tvXSk7aWYobClmb3IoUSh0LHRoaXMpLG89MDtvPGkubGVuZ3RoO28rKykocz1pW29dKWluc3RhbmNlb2YgRWxlbWVudCYmb3QodCxzKX0pLHZvaWQgMCE9PUFpJiYobi5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgcj1BKHRoaXMpO0FpLmNhbGwodGhpcyksciYmUSh0LHRo''@;'; put 'put ''aXMpfSl9KHQpfSh0KSx0PW5ldyBWKHQpLGRvY3VtZW50Ll9fQ0VfcmVnaXN0cnk9dCxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJjdXN0b21FbGVtZW50cyIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX1mdW5jdGlvbiBfcigpe3RoaXMuZW5kPXRoaXMu''@;'; put 'put ''c3RhcnQ9MCx0aGlzLnJ1bGVzPXRoaXMucGFyZW50PXRoaXMucHJldmlvdXM9bnVsbCx0aGlzLmNzc1RleHQ9dGhpcy5wYXJzZWRDc3NUZXh0PSIiLHRoaXMuYXRSdWxlPSExLHRoaXMudHlwZT0wLHRoaXMucGFyc2VkU2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj10aGlzLmtleWZyYW1lc05hbWU9''@;'; put 'put ''IiJ9ZnVuY3Rpb24gdnIodCl7dmFyIGU9dD10LnJlcGxhY2UodWEsIiIpLnJlcGxhY2UoaGEsIiIpLG49bmV3IF9yO24uc3RhcnQ9MCxuLmVuZD1lLmxlbmd0aDtmb3IodmFyIHI9bixvPTAsaT1lLmxlbmd0aDtvPGk7bysrKWlmKCJ7Ij09PWVbb10pe3IucnVsZXN8fChyLnJ1bGVzPVtdKTt2''@;'; put 'put ''YXIgcz1yLGw9cy5ydWxlc1tzLnJ1bGVzLmxlbmd0aC0xXXx8bnVsbDsocj1uZXcgX3IpLnN0YXJ0PW8rMSxyLnBhcmVudD1zLHIucHJldmlvdXM9bCxzLnJ1bGVzLnB1c2gocil9ZWxzZSJ9Ij09PWVbb10mJihyLmVuZD1vKzEscj1yLnBhcmVudHx8bik7cmV0dXJuIFppKG4sdCl9ZnVuY3Rp''@;'; put 'put ''b24gWmkodCxlKXt2YXIgbj1lLnN1YnN0cmluZyh0LnN0YXJ0LHQuZW5kLTEpO2lmKHQucGFyc2VkQ3NzVGV4dD10LmNzc1RleHQ9bi50cmltKCksdC5wYXJlbnQmJihuPWZ1bmN0aW9uIGFhKHQpe3JldHVybiB0LnJlcGxhY2UoL1xcKFswLTlhLWZdezEsNn0pXHMvZ2ksZnVuY3Rpb24oZSxu''@;'; put 'put ''KXtmb3Iobj02LShlPW4pLmxlbmd0aDtuLS07KWU9IjAiK2U7cmV0dXJuIlxcIitlfSl9KG49ZS5zdWJzdHJpbmcodC5wcmV2aW91cz90LnByZXZpb3VzLmVuZDp0LnBhcmVudC5zdGFydCx0LnN0YXJ0LTEpKSxuPShuPW4ucmVwbGFjZSh0cywiICIpKS5zdWJzdHJpbmcobi5sYXN0SW5kZXhP''@;'; put 'put ''ZigiOyIpKzEpLG49dC5wYXJzZWRTZWxlY3Rvcj10LnNlbGVjdG9yPW4udHJpbSgpLHQuYXRSdWxlPTA9PT1uLmluZGV4T2YoIkAiKSx0LmF0UnVsZT8wPT09bi5pbmRleE9mKCJAbWVkaWEiKT90LnR5cGU9UWk6bi5tYXRjaChmYSkmJih0LnR5cGU9bXIsdC5rZXlmcmFtZXNOYW1lPXQuc2Vs''@;'; put 'put ''ZWN0b3Iuc3BsaXQodHMpLnBvcCgpKTp0LnR5cGU9MD09PW4uaW5kZXhPZigiLS0iKT9xaTpLaSksbj10LnJ1bGVzKWZvcih2YXIgcj0wLG89bi5sZW5ndGgsaT12b2lkIDA7cjxvJiYoaT1uW3JdKTtyKyspWmkoaSxlKTtyZXR1cm4gdH1mdW5jdGlvbiAkaSh0LGUsbil7bj12b2lkIDA9PT1u''@;'; put 'put ''PyIiOm47dmFyIHI9IiI7aWYodC5jc3NUZXh0fHx0LnJ1bGVzKXt2YXIgaSxvPXQucnVsZXM7aWYoKGk9bykmJihpPSEoKGk9b1swXSkmJmkuc2VsZWN0b3ImJjA9PT1pLnNlbGVjdG9yLmluZGV4T2YoIi0tIikpKSxpKXtpPTA7Zm9yKHZhciBzPW8ubGVuZ3RoLGw9dm9pZCAwO2k8cyYmKGw9''@;'; put 'put ''b1tpXSk7aSsrKXI9JGkobCxlLHIpfWVsc2Uocj0oZT1lP3QuY3NzVGV4dDooZT0oZT10LmNzc1RleHQpLnJlcGxhY2UoSmksIiIpLnJlcGxhY2UoemksIiIpKS5yZXBsYWNlKGNhLCIiKS5yZXBsYWNlKGRhLCIiKSkudHJpbSgpKSYmKHI9IiAgIityKyJcbiIpfXJldHVybiByJiYodC5zZWxl''@;'; put 'put ''Y3RvciYmKG4rPXQuc2VsZWN0b3IrIiB7XG4iKSxuKz1yLHQuc2VsZWN0b3ImJihuKz0ifVxuXG4iKSksbn1pdCYmIWl0LmZvcmNlUG9seWZpbGwmJiJmdW5jdGlvbiI9PXR5cGVvZiBpdC5kZWZpbmUmJiJmdW5jdGlvbiI9PXR5cGVvZiBpdC5nZXR8fFlpKCksd2luZG93Ll9fQ0VfaW5zdGFs''@;'; put 'put ''bFBvbHlmaWxsPVlpO3ZhciB5cixFZSxLaT0xLG1yPTcsUWk9NCxxaT0xZTMsdWE9L1wvXCpbXipdKlwqKyhbXi8qXVteKl0qXCorKSpcLy9naW0saGE9L0BpbXBvcnRbXjtdKjsvZ2ltLEppPS8oPzpeW147XC1cc31dKyk/LS1bXjt7fV0qPzpbXnt9O10qPyg/Ols7XG5dfCQpL2dpbSx6aT0v''@;'; put 'put ''KD86XlteO1wtXHN9XSspPy0tW147e31dKj86W157fTtdKj97W159XSo/fSg/Ols7XG5dfCQpPy9naW0sY2E9L0BhcHBseVxzKlwoP1teKTtdKlwpP1xzKig/Ols7XG5dfCQpPy9naW0sZGE9L1teOzpdKj86W147XSo/dmFyXChbXjtdKlwpKD86Wztcbl18JCk/L2dpbSxmYT0vXkBbXlxzXSpr''@;'; put 'put ''ZXlmcmFtZXMvLHRzPS9ccysvZyxJPSEod2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaW5Vc2UpO2Z1bmN0aW9uIGVzKHQpe3lyPSghdHx8IXQuc2hpbWNzc3Byb3BlcnRpZXMpJiYoSXx8IShuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BcHBsZVdlYktpdFwvNjAxfEVkZ2Vc''@;'; put 'put ''LzE1Lyl8fCF3aW5kb3cuQ1NTfHwhQ1NTLnN1cHBvcnRzfHwhQ1NTLnN1cHBvcnRzKCJib3gtc2hhZG93IiwiMCAwIDAgdmFyKC0tZm9vKSIpKSl9d2luZG93LlNoYWR5Q1NTJiZ2b2lkIDAhPT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQmJihFZT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQp''@;'; put 'put ''O3ZhciBNdD0hKCF3aW5kb3cuU2hhZHlDU1N8fCF3aW5kb3cuU2hhZHlDU1MuZGlzYWJsZVJ1bnRpbWUpO3dpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzcz95cj13aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzOndpbmRvdy5TaGFkeUNTUz8oZXMod2lu''@;'; put 'put ''ZG93LlNoYWR5Q1NTKSx3aW5kb3cuU2hhZHlDU1M9dm9pZCAwKTplcyh3aW5kb3cuV2ViQ29tcG9uZW50cyYmd2luZG93LldlYkNvbXBvbmVudHMuZmxhZ3MpO3ZhciBHPXlyLE5lPS8oPzpefFs7XHN7XVxzKikoLS1bXHctXSo/KVxzKjpccyooPzooKD86Jyg/OlxcJ3wuKSo/J3wiKD86XFwi''@;'; put 'put ''fC4pKj8ifFwoW14pXSo/XCl8W159O3tdKSspfFx7KFtefV0qKVx9KD86KD89Wztcc31dKXwkKSkvZ2ksQ2U9Lyg/Ol58XFcrKUBhcHBseVxzKlwoPyhbXik7XG5dKilcKT8vZ2kscGE9LygtLVtcdy1dKylccyooWzosOyldfCQpL2dpLF9hPS8oYW5pbWF0aW9uXHMqOil8KGFuaW1hdGlvbi1u''@;'; put 'put ''YW1lXHMqOikvLHZhPS9AbWVkaWFccyguKikvLG1hPS9ce1tefV0qXH0vZyxucz1uZXcgU2V0O2Z1bmN0aW9uIFB0KHQsZSl7cmV0dXJuIHQ/KCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dnIodCkpLGUmJkx0KHQsZSksJGkodCxHKSk6IiJ9ZnVuY3Rpb24gWHQodCl7cmV0dXJuIXQuX19jc3NS''@;'; put 'put ''dWxlcyYmdC50ZXh0Q29udGVudCYmKHQuX19jc3NSdWxlcz12cih0LnRleHRDb250ZW50KSksdC5fX2Nzc1J1bGVzfHxudWxsfWZ1bmN0aW9uIHJzKHQpe3JldHVybiEhdC5wYXJlbnQmJnQucGFyZW50LnR5cGU9PT1tcn1mdW5jdGlvbiBMdCh0LGUsbixyKXtpZih0KXt2YXIgbz0hMSxpPXQu''@;'; put 'put ''dHlwZTtpZihyJiZpPT09UWkpe3ZhciBzPXQuc2VsZWN0b3IubWF0Y2godmEpO3MmJih3aW5kb3cubWF0Y2hNZWRpYShzWzFdKS5tYXRjaGVzfHwobz0hMCkpfWlmKGk9PT1LaT9lKHQpOm4mJmk9PT1tcj9uKHQpOmk9PT1xaSYmKG89ITApLCh0PXQucnVsZXMpJiYhbylmb3Iobz0wLGk9dC5s''@;'; put 'put ''ZW5ndGgscz12b2lkIDA7bzxpJiYocz10W29dKTtvKyspTHQocyxlLG4scil9fWZ1bmN0aW9uIGdyKHQsZSxuLHIpe3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7cmV0dXJuIGUmJm8uc2V0QXR0cmlidXRlKCJzY29wZSIsZSksby50ZXh0Q29udGVudD10LGlzKG8sbixy''@;'; put 'put ''KSxvfXZhciB5dD1udWxsO2Z1bmN0aW9uIG9zKHQpe3Q9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIFNoYWR5IERPTSBzdHlsZXMgZm9yICIrdCsiICIpO3ZhciBlPWRvY3VtZW50LmhlYWQ7cmV0dXJuIGUuaW5zZXJ0QmVmb3JlKHQsKHl0P3l0Lm5leHRTaWJsaW5nOm51bGwpfHxlLmZpcnN0''@;'; put 'put ''Q2hpbGQpLHl0PXR9ZnVuY3Rpb24gaXModCxlLG4peyhlPWV8fGRvY3VtZW50LmhlYWQpLmluc2VydEJlZm9yZSh0LG4mJm4ubmV4dFNpYmxpbmd8fGUuZmlyc3RDaGlsZCkseXQ/dC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih5dCk9PT1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElO''@;'; put 'put ''RyYmKHl0PXQpOnl0PXR9ZnVuY3Rpb24gd3IodCxlKXtmb3IodmFyIG49MCxyPXQubGVuZ3RoO2U8cjtlKyspaWYoIigiPT09dFtlXSluKys7ZWxzZSBpZigiKSI9PT10W2VdJiYwPT0tLW4pcmV0dXJuIGU7cmV0dXJuLTF9ZnVuY3Rpb24gc3ModCxlKXt2YXIgbj10LmluZGV4T2YoInZhcigi''@;'; put 'put ''KTtpZigtMT09PW4pcmV0dXJuIGUodCwiIiwiIiwiIik7dmFyIHI9d3IodCxuKzMpLG89dC5zdWJzdHJpbmcobis0LHIpO3JldHVybiBuPXQuc3Vic3RyaW5nKDAsbiksdD1zcyh0LnN1YnN0cmluZyhyKzEpLGUpLC0xPT09KHI9by5pbmRleE9mKCIsIikpP2UobixvLnRyaW0oKSwiIix0KTpl''@;'; put 'put ''KG4sby5zdWJzdHJpbmcoMCxyKS50cmltKCksby5zdWJzdHJpbmcocisxKS50cmltKCksdCl9ZnVuY3Rpb24gU2UodCxlKXtJP3Quc2V0QXR0cmlidXRlKCJjbGFzcyIsZSk6d2luZG93LlNoYWR5RE9NLm5hdGl2ZU1ldGhvZHMuc2V0QXR0cmlidXRlLmNhbGwodCwiY2xhc3MiLGUpfXZhciBZ''@;'; put 'put ''dD13aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS53cmFwfHxmdW5jdGlvbih0KXtyZXR1cm4gdH07ZnVuY3Rpb24gZ3QodCl7dmFyIGU9dC5sb2NhbE5hbWUsbj0iIjtyZXR1cm4gZT8tMTxlLmluZGV4T2YoIi0iKXx8KG49ZSxlPXQuZ2V0QXR0cmlidXRlJiZ0LmdldEF0dHJpYnV0''@;'; put 'put ''ZSgiaXMiKXx8IiIpOihlPXQuaXMsbj10LmV4dGVuZHMpLHtpczplLGhhOm59fWZ1bmN0aW9uIGxzKHQpe2Zvcih2YXIgZT1bXSxuPSIiLHI9MDswPD1yJiZyPHQubGVuZ3RoO3IrKylpZigiKCI9PT10W3JdKXt2YXIgbz13cih0LHIpO24rPXQuc2xpY2UocixvKzEpLHI9b31lbHNlIiwiPT09''@;'; put 'put ''dFtyXT8oZS5wdXNoKG4pLG49IiIpOm4rPXRbcl07cmV0dXJuIG4mJmUucHVzaChuKSxlfWZ1bmN0aW9uIEF0KHQpe2lmKHZvaWQgMCE9PUVlKXJldHVybiBFZTtpZih2b2lkIDA9PT10Ll9fY3NzQnVpbGQpe3ZhciBlPXQuZ2V0QXR0cmlidXRlKCJjc3MtYnVpbGQiKTtpZihlKXQuX19jc3NC''@;'; put 'put ''dWlsZD1lO2Vsc2V7aWYoIiIhPT0oZT0oZT0idGVtcGxhdGUiPT09dC5sb2NhbE5hbWU/dC5jb250ZW50LmZpcnN0Q2hpbGQ6dC5maXJzdENoaWxkKWluc3RhbmNlb2YgQ29tbWVudCYmImNzcy1idWlsZCI9PT0oZT1lLnRleHRDb250ZW50LnRyaW0oKS5zcGxpdCgiOiIpKVswXT9lWzFdOiIi''@;'; put 'put ''KSl7dmFyIG49InRlbXBsYXRlIj09PXQubG9jYWxOYW1lP3QuY29udGVudC5maXJzdENoaWxkOnQuZmlyc3RDaGlsZDtuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9dC5fX2Nzc0J1aWxkPWV9fXJldHVybiB0Ll9fY3NzQnVpbGR8fCIifWZ1bmN0aW9uIEVyKHQpe3JldHVybiEoIiI9PT0o''@;'; put 'put ''dD12b2lkIDA9PT10PyIiOnQpfHwhRykmJihJPyJzaGFkb3ciPT09dDoic2hhZHkiPT09dCl9ZnVuY3Rpb24gVGUoKXt9ZnVuY3Rpb24gT2UodCxlLG4pe3ZhciByO2lmKGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmbihlKSxyPSJ0ZW1wbGF0ZSI9PT1lLmxvY2FsTmFtZT8oZS5j''@;'; put 'put ''b250ZW50fHxlLl9jb250ZW50fHxlKS5jaGlsZE5vZGVzOmUuY2hpbGRyZW58fGUuY2hpbGROb2Rlcylmb3IoZT0wO2U8ci5sZW5ndGg7ZSsrKU9lKHQscltlXSxuKX1mdW5jdGlvbiB3dCh0LGUsbil7aWYoZSlpZih0LmNsYXNzTGlzdCluPyh0LmNsYXNzTGlzdC5yZW1vdmUoInN0eWxlLXNj''@;'; put 'put ''b3BlIiksdC5jbGFzc0xpc3QucmVtb3ZlKGUpKToodC5jbGFzc0xpc3QuYWRkKCJzdHlsZS1zY29wZSIpLHQuY2xhc3NMaXN0LmFkZChlKSk7ZWxzZSBpZih0LmdldEF0dHJpYnV0ZSl7dmFyIHI9dC5nZXRBdHRyaWJ1dGUoImNsYXNzIik7bj9yJiZTZSh0LGU9ci5yZXBsYWNlKCJzdHlsZS1z''@;'; put 'put ''Y29wZSIsIiIpLnJlcGxhY2UoZSwiIikpOlNlKHQsKHI/cisiICI6IiIpKyJzdHlsZS1zY29wZSAiK2UpfX1mdW5jdGlvbiBnYSh0LGUsbil7T2UodHQsdCxmdW5jdGlvbihyKXt3dChyLGUsITApLHd0KHIsbil9KX1mdW5jdGlvbiB3YSh0LGUpe09lKHR0LHQsZnVuY3Rpb24obil7d3Qobixl''@;'; put 'put ''fHwiIiwhMCl9KX1mdW5jdGlvbiBiZSh0LGUsbixyLG8pe3ZhciBpPXR0O3JldHVybiIiPT09KG89dm9pZCAwPT09bz8iIjpvKSYmKG89SXx8InNoYWR5Ij09PSh2b2lkIDA9PT1yPyIiOnIpP1B0KGUsbik6ZnVuY3Rpb24gRWEodCxlLG4scixvKXt2YXIgaT1OcihuLHIpO3JldHVybiBuPW4/''@;'; put 'put ''Ii4iK246IiIsUHQoZSxmdW5jdGlvbihzKXtzLml8fChzLnNlbGVjdG9yPXMuRj1Dcih0LHMsdC5oLG4saSkscy5pPSEwKSxvJiZvKHMsbixpKX0pfShpLGUsKHQ9Z3QodCkpLmlzLHQuaGEsbikrIlxuXG4iKSxvLnRyaW0oKX1mdW5jdGlvbiBOcih0LGUpe3JldHVybiBlPyJbaXM9Iit0KyJd''@;'; put 'put ''Ijp0fWZ1bmN0aW9uIENyKHQsZSxuLHIsbyl7dmFyIGk9bHMoZS5zZWxlY3Rvcik7aWYoIXJzKGUpKXtlPTA7Zm9yKHZhciBzPWkubGVuZ3RoLGw9dm9pZCAwO2U8cyYmKGw9aVtlXSk7ZSsrKWlbZV09bi5jYWxsKHQsbCxyLG8pfXJldHVybiBpLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4h''@;'; put 'put ''IWF9KS5qb2luKCIsIil9ZnVuY3Rpb24gYXModCl7cmV0dXJuIHQucmVwbGFjZShTcixmdW5jdGlvbihlLG4scil7cmV0dXJuLTE8ci5pbmRleE9mKCIrIik/cj1yLnJlcGxhY2UoL1wrL2csIl9fXyIpOi0xPHIuaW5kZXhPZigiX19fIikmJihyPXIucmVwbGFjZSgvX19fL2csIisiKSksIjoi''@;'; put 'put ''K24rIigiK3IrIikifSl9ZnVuY3Rpb24gdXModCxlKXt0PXQuc3BsaXQoLyhcWy4rP1xdKS8pO2Zvcih2YXIgbj1bXSxyPTA7cjx0Lmxlbmd0aDtyKyspaWYociUyPT0xKW4ucHVzaCh0W3JdKTtlbHNle3ZhciBvPXRbcl07KCIiIT09b3x8ciE9PXQubGVuZ3RoLTEpJiYoKG89by5zcGxpdCgi''@;'; put 'put ''OiIpKVswXSs9ZSxuLnB1c2goby5qb2luKCI6IikpKX1yZXR1cm4gbi5qb2luKCIiKX1mdW5jdGlvbiBocyh0KXsiOnJvb3QiPT09dC5zZWxlY3RvciYmKHQuc2VsZWN0b3I9Imh0bWwiKX1UZS5wcm90b3R5cGUuaD1mdW5jdGlvbih0LGUsbil7dmFyIHI9ITE7dD10LnRyaW0oKTt2YXIgbz1T''@;'; put 'put ''ci50ZXN0KHQpO28mJih0PWFzKHQ9dC5yZXBsYWNlKFNyLGZ1bmN0aW9uKGwsYSx1KXtyZXR1cm4iOiIrYSsiKCIrdS5yZXBsYWNlKC9ccy9nLCIiKSsiKSJ9KSkpO3ZhciBpPWZzLnRlc3QodCk7aWYoaSl7dmFyIHM9ZnVuY3Rpb24gTmEodCl7Zm9yKHZhciBuLGU9W107bj10Lm1hdGNoKGZz''@;'; put 'put ''KTspe3ZhciByPW4uaW5kZXgsbz13cih0LHIpO2lmKC0xPT09byl0aHJvdyBFcnJvcihuLmlucHV0KyIgc2VsZWN0b3IgbWlzc2luZyAnKSciKTtuPXQuc2xpY2UocixvKzEpLHQ9dC5yZXBsYWNlKG4sIlx1ZTAwMCIpLGUucHVzaChuKX1yZXR1cm57QmE6dCxtYXRjaGVzOmV9fSh0KTt0PXMu''@;'; put 'put ''QmEscz1zLm1hdGNoZXN9cmV0dXJuIHQ9KHQ9dC5yZXBsYWNlKGJhLCI6aG9zdCAkMSIpKS5yZXBsYWNlKE9hLGZ1bmN0aW9uKGwsYSx1KXtyZXR1cm4gcnx8KGw9ZnVuY3Rpb24gU2EodCxlLG4scil7dmFyIG89dC5pbmRleE9mKCI6OnNsb3R0ZWQiKTtpZigwPD10LmluZGV4T2YoIjpob3N0''@;'; put 'put ''Iik/dD1mdW5jdGlvbiBUYSh0LGUpe3ZhciBuPXQubWF0Y2goZHMpO3JldHVybihuPW4mJm5bMl0udHJpbSgpfHwiIik/blswXS5tYXRjaChjcyk/dC5yZXBsYWNlKGRzLGZ1bmN0aW9uKHIsbyxpKXtyZXR1cm4gZStpfSk6bi5zcGxpdChjcylbMF09PT1lP246InNob3VsZF9ub3RfbWF0Y2gi''@;'; put 'put ''OnQucmVwbGFjZSgiOmhvc3QiLGUpfSh0LHIpOjAhPT1vJiYodD1uP3VzKHQsbik6dCksbj0hMSwwPD1vJiYoZT0iIixuPSEwKSxuKXt2YXIgaT0hMDtuJiYodD10LnJlcGxhY2UoRGEsZnVuY3Rpb24ocyxsKXtyZXR1cm4iID4gIitsfSkpfXJldHVybnt2YWx1ZTp0LFVhOmUsc3RvcDppfX0o''@;'; put 'put ''dSxhLGUsbikscj1yfHxsLnN0b3AsYT1sLlVhLHU9bC52YWx1ZSksYSt1fSksaSYmKHQ9ZnVuY3Rpb24gQ2EodCxlKXt2YXIgbj10LnNwbGl0KCJcdWUwMDAiKTtyZXR1cm4gZS5yZWR1Y2UoZnVuY3Rpb24ocixvLGkpe3JldHVybiByK28rbltpKzFdfSxuWzBdKX0odCxzKSksbyYmKHQ9YXMo''@;'; put 'put ''dCkpLHQucmVwbGFjZSh4YSxmdW5jdGlvbihsLGEsdSxoKXtyZXR1cm4nW2Rpcj0iJyt1KyciXSAnK2EraCsiLCAiK2ErJ1tkaXI9IicrdSsnIl0nK2h9KX0sVGUucHJvdG90eXBlLmk9ZnVuY3Rpb24odCl7cmV0dXJuIHQubWF0Y2goIjpob3N0Iik/IiI6dC5tYXRjaCgiOjpzbG90dGVkIik/''@;'; put 'put ''dGhpcy5oKHQsIjpub3QoLnN0eWxlLXNjb3BlKSIpOnVzKHQudHJpbSgpLCI6bm90KC5zdHlsZS1zY29wZSkiKX0sRnQuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoVGUucHJvdG90eXBlLHtnOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ic3R5''@;'; put 'put ''bGUtc2NvcGUifX19KTt2YXIgU3I9LzoobnRoWy1cd10rKVwoKFteKV0rKVwpLyxPYT0vKF58W1xzPit+XSspKCg/OlxbLis/XF18W15ccz4rfj1bXSkrKS9nLGNzPS9bWy46IypdLyxiYT0vXig6OnNsb3R0ZWQpLyxkcz0vKDpob3N0KSg/OlwoKCg/OlwoW14pKF0qXCl8W14pKF0qKSs/KVwp''@;'; put 'put ''KS8sRGE9Lyg/Ojo6c2xvdHRlZCkoPzpcKCgoPzpcKFteKShdKlwpfFteKShdKikrPylcKSkvLHhhPS8oLiopOmRpclwoKD86KGx0cnxydGwpKVwpKC4qKS8sZnM9LzooPzptYXRjaGVzfGFueXwtKD86d2Via2l0fG1veiktYW55KS8sdHQ9bmV3IFRlO2Z1bmN0aW9uIGp0KHQsZSxuLHIsbyl7''@;'; put 'put ''dGhpcy5NPXR8fG51bGwsdGhpcy5oPWV8fG51bGwsdGhpcy56YT1ufHxbXSx0aGlzLks9bnVsbCx0aGlzLmNzc0J1aWxkPW98fCIiLHRoaXMuaGE9cnx8IiIsdGhpcy5nPXRoaXMuTD10aGlzLlI9bnVsbH1mdW5jdGlvbiBldCh0KXtyZXR1cm4gdD90Ll9fc3R5bGVJbmZvOm51bGx9ZnVuY3Rp''@;'; put 'put ''b24gVHIodCxlKXtyZXR1cm4gdC5fX3N0eWxlSW5mbz1lfWZ1bmN0aW9uIHBzKHQpe3ZhciBlPXRoaXMubWF0Y2hlc3x8dGhpcy5tYXRjaGVzU2VsZWN0b3J8fHRoaXMubW96TWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm1zTWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm9NYXRjaGVzU2VsZWN0b3J8fHRo''@;'; put 'put ''aXMud2Via2l0TWF0Y2hlc1NlbGVjdG9yO3JldHVybiBlJiZlLmNhbGwodGhpcyx0KX1qdC5wcm90b3R5cGUuX2dldFN0eWxlUnVsZXM9anQucHJvdG90eXBlLmk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5NfTt2YXIgTWE9Lzpob3N0XHMqPlxzKi8sUGE9bmF2aWdhdG9yLnVzZXJBZ2VudC5t''@;'; put 'put ''YXRjaCgiVHJpZGVudCIpO2Z1bmN0aW9uIF9zKCl7fWZ1bmN0aW9uIERlKHQpe2lmKCF0LkQpe3ZhciBlPXt9LG49e307eGUodCxuKSYmKGUuUD1uLHQucnVsZXM9bnVsbCksZS5jc3NUZXh0PXQucGFyc2VkQ3NzVGV4dC5yZXBsYWNlKG1hLCIiKS5yZXBsYWNlKE5lLCIiKSx0LkQ9ZX19ZnVu''@;'; put 'put ''Y3Rpb24geGUodCxlKXt2YXIgbj10LkQ7aWYoIW4pe249dC5wYXJzZWRDc3NUZXh0O2Zvcih2YXIgcjt0PU5lLmV4ZWMobik7KSgiaW5oZXJpdCIhPT0ocj0odFsyXXx8dFszXSkudHJpbSgpKXx8InVuc2V0IiE9PXIpJiYoZVt0WzFdLnRyaW0oKV09cikscj0hMDtyZXR1cm4gcn1pZihuLlAp''@;'; put 'put ''cmV0dXJuIE9iamVjdC5hc3NpZ24oZSxuLlApLCEwfWZ1bmN0aW9uIFp0KHQsZSxuKXtyZXR1cm4gZSYmKGU9MDw9ZS5pbmRleE9mKCI7Iik/T3IodCxlLG4pOnNzKGUsZnVuY3Rpb24ocixvLGkscyl7cmV0dXJuIG8/KChvPVp0KHQsbltvXSxuKSkmJiJpbml0aWFsIiE9PW8/ImFwcGx5LXNo''@;'; put 'put ''aW0taW5oZXJpdCI9PT1vJiYobz0iaW5oZXJpdCIpOm89WnQodCxuW2ldfHxpLG4pfHxpLHIrKG98fCIiKStzKTpyK3N9KSksZSYmZS50cmltKCl8fCIifWZ1bmN0aW9uIE9yKHQsZSxuKXtlPWUuc3BsaXQoIjsiKTtmb3IodmFyIG8saSxyPTA7cjxlLmxlbmd0aDtyKyspaWYobz1lW3JdKXtp''@;'; put 'put ''ZihDZS5sYXN0SW5kZXg9MCxpPUNlLmV4ZWMobykpbz1adCh0LG5baVsxXV0sbik7ZWxzZSBpZigtMSE9PShpPW8uaW5kZXhPZigiOiIpKSl7dmFyIHM9by5zdWJzdHJpbmcoaSk7cz1adCh0LHM9cy50cmltKCksbil8fHMsbz1vLnN1YnN0cmluZygwLGkpK3N9ZVtyXT1vJiZvLmxhc3RJbmRl''@;'; put 'put ''eE9mKCI7Iik9PT1vLmxlbmd0aC0xP28uc2xpY2UoMCwtMSk6b3x8IiJ9cmV0dXJuIGUuam9pbigiOyIpfWZ1bmN0aW9uIElhKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKHQudSx0LmcpfX1mdW5jdGlvbiBrYSh0LGUpe3ZhciBuPU1lLHI9WHQodCk7dC50ZXh0Q29u''@;'; put 'put ''dGVudD1QdChyLGZ1bmN0aW9uKG8pe3ZhciBpPW8uY3NzVGV4dD1vLnBhcnNlZENzc1RleHQ7by5EJiZvLkQuY3NzVGV4dCYmKGk9aS5yZXBsYWNlKEppLCIiKS5yZXBsYWNlKHppLCIiKSxvLmNzc1RleHQ9T3IobixpLGUpKX0pfUZ0Lk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKF9zLnByb3Rv''@;'; put 'put ''dHlwZSx7Zzp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIngtc2NvcGUifX19KTt2YXIgTWU9bmV3IF9zLFJ0PXt9LFBlPXdpbmRvdy5jdXN0b21FbGVtZW50cztpZihQZSYmIUkmJiFNdCl7dmFyIEJhPVBlLmRlZmluZTtQZS5kZWZpbmU9ZnVu''@;'; put 'put ''Y3Rpb24odCxlLG4pe1J0W3RdfHwoUnRbdF09b3ModCkpLEJhLmNhbGwoUGUsdCxlLG4pfX1mdW5jdGlvbiB2cygpe3RoaXMuY2FjaGU9e319ZnVuY3Rpb24gbXMoKXt9dnMucHJvdG90eXBlLnN0b3JlPWZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBvPXRoaXMuY2FjaGVbdF18fFtdO28ucHVzaCh7''@;'; put 'put ''UDplLHN0eWxlRWxlbWVudDpuLEw6cn0pLDEwMDxvLmxlbmd0aCYmby5zaGlmdCgpLHRoaXMuY2FjaGVbdF09b307dmFyIFVhPW5ldyBSZWdFeHAodHQuZysiXFxzKihbXlxcc10qKSIpO2Z1bmN0aW9uIHlzKHQpe3JldHVybih0PSh0LmNsYXNzTGlzdCYmdC5jbGFzc0xpc3QudmFsdWU/dC5j''@;'; put 'put ''bGFzc0xpc3QudmFsdWU6dC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKS5tYXRjaChVYSkpP3RbMV06IiJ9ZnVuY3Rpb24gYnIodCl7dmFyIGU9WXQodCkuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gZT09PXR8fGU9PT10Lm93bmVyRG9jdW1lbnQ/IiI6KHQ9ZS5ob3N0KT9ndCh0KS5pczoiIn1m''@;'; put 'put ''dW5jdGlvbiBncyh0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXTtpZihuLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmbi50YXJnZXQhPT1kb2N1bWVudC5oZWFkKWZvcih2YXIgcj0wO3I8bi5hZGRlZE5vZGVzLmxlbmd0aDtyKyspe3ZhciBvPW4u''@;'; put 'put ''YWRkZWROb2Rlc1tyXTtpZihvLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBpPW8uZ2V0Um9vdE5vZGUoKSxzPXlzKG8pO2lmKHMmJmk9PT1vLm93bmVyRG9jdW1lbnQmJigic3R5bGUiIT09by5sb2NhbE5hbWUmJiJ0ZW1wbGF0ZSIhPT1vLmxvY2FsTmFtZXx8IiI9PT1BdChv''@;'; put 'put ''KSkpd2EobyxzKTtlbHNlIGlmKGkgaW5zdGFuY2VvZiBTaGFkb3dSb290KWZvcigoaT1icihvKSkhPT1zJiZnYShvLHMsaSksbz13aW5kb3cuU2hhZHlET00ubmF0aXZlTWV0aG9kcy5xdWVyeVNlbGVjdG9yQWxsLmNhbGwobywiOm5vdCguIit0dC5nKyIpIikscz0wO3M8by5sZW5ndGg7cysr''@;'; put 'put ''KXt2YXIgbD1icihpPW9bc10pO2wmJnd0KGksbCl9fX19fWlmKCEoSXx8d2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaGFuZGxlc0R5bmFtaWNTY29waW5nKSl7dmFyIHdzPW5ldyBNdXRhdGlvbk9ic2VydmVyKGdzKSxFcz1mdW5jdGlvbih0KXt3cy5vYnNlcnZlKHQse2NoaWxk''@;'; put 'put ''TGlzdDohMCxzdWJ0cmVlOiEwfSl9O2lmKHdpbmRvdy5jdXN0b21FbGVtZW50cyYmIXdpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKUVzKGRvY3VtZW50KTtlbHNle3ZhciBEcj1mdW5jdGlvbigpe0VzKGRvY3VtZW50LmJvZHkpfTt3aW5kb3cuSFRNTElt''@;'; put 'put ''cG9ydHM/d2luZG93LkhUTUxJbXBvcnRzLndoZW5SZWFkeShEcik6cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7aWYoImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIHQ9ZnVuY3Rpb24oKXtEcigpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5''@;'; put 'put ''c3RhdGVjaGFuZ2UiLHQpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIix0KX1lbHNlIERyKCl9KX1tcz1mdW5jdGlvbigpe2dzKHdzLnRha2VSZWNvcmRzKCkpfX12YXIgTGU9e30sV2E9UHJvbWlzZS5yZXNvbHZlKCk7ZnVuY3Rpb24gVmEodCl7KHQ9TGVb''@;'; put 'put ''dF0pJiYodC5fYXBwbHlTaGltQ3VycmVudFZlcnNpb249dC5fYXBwbHlTaGltQ3VycmVudFZlcnNpb258fDAsdC5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb249dC5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb258fDAsdC5fYXBwbHlTaGltTmV4dFZlcnNpb249KHQuX2FwcGx5U2hpbU5l''@;'; put 'put ''eHRWZXJzaW9ufHwwKSsxKX1mdW5jdGlvbiBOcyh0KXtyZXR1cm4gdC5fYXBwbHlTaGltQ3VycmVudFZlcnNpb249PT10Ll9hcHBseVNoaW1OZXh0VmVyc2lvbn12YXIgQ3M9e30sU3M9bmV3IHZzO2Z1bmN0aW9uIEMoKXt0aGlzLmRhPXt9LHRoaXMuaT1kb2N1bWVudC5kb2N1bWVudEVsZW1l''@;'; put 'put ''bnQ7dmFyIHQ9bmV3IF9yO3QucnVsZXM9W10sdGhpcy51PVRyKHRoaXMuaSxuZXcganQodCkpLHRoaXMuTz0hMSx0aGlzLmc9dGhpcy5oPW51bGx9ZnVuY3Rpb24gVHModCl7dmFyIGU9Z3QodCksbj1lLmlzO2U9ZS5oYTt2YXIgcj1SdFtuXXx8bnVsbCxvPUxlW25dO2lmKG8pcmV0dXJuIFRy''@;'; put 'put ''KHQsZT1uZXcganQobj1vLl9zdHlsZUFzdCxyLG8uZyxlLG89QXQobykpKSxlfWZ1bmN0aW9uICR0KHQpe2lmKCF0LmgmJndpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbSl7dC5oPXdpbmRvdy5TaGFkeUNTUy5BcHBseVNoaW0sdC5oLmludmFsaWRDYWxsYmFjaz1W''@;'; put 'put ''YTt2YXIgZT0hMH1lbHNlIGU9ITE7cmV0dXJuIGZ1bmN0aW9uIFhhKHQpeyF0LmcmJndpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlJiYodC5nPXdpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZSx0LmcudHJhbnNmb3JtQ2FsbGJh''@;'; put 'put ''Y2s9ZnVuY3Rpb24oZSl7dC5NYShlKX0sdC5nLnZhbGlkYXRlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXsodC5nLmVucXVldWVkfHx0Lk8pJiZ0LmZsdXNoQ3VzdG9tU3R5bGVzKCl9KX0pfSh0KSxlfWZ1bmN0aW9uIE9zKHQsZSxuKXt2YXIg''@;'; put 'put ''cj1ndChlKS5pcztpZihuLkspe3ZhciBpLG89bi5LO2ZvcihpIGluIG8pbnVsbD09PWk/ZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShpKTplLnN0eWxlLnNldFByb3BlcnR5KGksb1tpXSl9ISghKG89TGVbcl0pJiZlIT09dC5pfHxvJiYiIiE9PUF0KG8pKSYmbyYmby5fc3R5bGUmJiFOcyhvKSYm''@;'; put 'put ''KChOcyhvKXx8by5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb24hPT1vLl9hcHBseVNoaW1OZXh0VmVyc2lvbikmJigkdCh0KSx0LmgmJnQuaC50cmFuc2Zvcm1SdWxlcyhvLl9zdHlsZUFzdCxyKSxvLl9zdHlsZS50ZXh0Q29udGVudD1iZShlLG4uTSksZnVuY3Rpb24gR2EodCl7dC5fYXBw''@;'; put 'put ''bHlTaGltVmFsaWRhdGluZ1ZlcnNpb249dC5fYXBwbHlTaGltTmV4dFZlcnNpb24sdC5fdmFsaWRhdGluZ3x8KHQuX3ZhbGlkYXRpbmc9ITAsV2EudGhlbihmdW5jdGlvbigpe3QuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPXQuX2FwcGx5U2hpbU5leHRWZXJzaW9uLHQuX3ZhbGlkYXRpbmc9''@;'; put 'put ''ITF9KSl9KG8pKSxJJiYodD1lLnNoYWRvd1Jvb3QpJiYodD10LnF1ZXJ5U2VsZWN0b3IoInN0eWxlIikpJiYodC50ZXh0Q29udGVudD1iZShlLG4uTSkpLG4uTT1vLl9zdHlsZUFzdCl9ZnVuY3Rpb24geHIodCxlKXtyZXR1cm4oZT1ZdChlKS5nZXRSb290Tm9kZSgpLmhvc3QpP2V0KGUpfHxU''@;'; put 'put ''cyhlKT9lOnhyKHQsZSk6dC5pfWZ1bmN0aW9uIE1yKHQsZSxuKXt2YXIgcj14cih0LGUpLG89ZXQociksaT1vLlI7Zm9yKHZhciBzIGluIHI9PT10Lml8fGl8fChNcih0LHIsbyksaT1vLlIpLHQ9T2JqZWN0LmNyZWF0ZShpfHxudWxsKSxyPWZ1bmN0aW9uIFJhKHQsZSxuKXt2YXIgcj17fSxv''@;'; put 'put ''PXt9O3JldHVybiBMdChlLGZ1bmN0aW9uKGkpeyFmdW5jdGlvbiBqYSh0LGUsbixyKXtpZihlLkR8fERlKGUpLGUuRC5QKXt2YXIgbz1ndCh0KTt0PW8uaXMsbz1vLmhhLG89dD9Ocih0LG8pOiJodG1sIjt2YXIgaT1lLnBhcnNlZFNlbGVjdG9yLHM9ISFpLm1hdGNoKE1hKXx8Imh0bWwiPT09''@;'; put 'put ''byYmLTE8aS5pbmRleE9mKCJodG1sIiksbD0wPT09aS5pbmRleE9mKCI6aG9zdCIpJiYhczsic2hhZHkiPT09biYmKGw9IShzPWk9PT1vKyIgPiAqLiIrb3x8LTEhPT1pLmluZGV4T2YoImh0bWwiKSkmJjA9PT1pLmluZGV4T2YobykpLChzfHxsKSYmKG49byxsJiYoZS5GfHwoZS5GPUNyKHR0''@;'; put 'put ''LGUsdHQuaCx0PyIuIit0OiIiLG8pKSxuPWUuRnx8bykscyYmImh0bWwiPT09byYmKG49ZS5GfHxlLk8pLHIoe0JhOm4sYWI6bCxxYjpzfSkpfX0odCxpLG4sZnVuY3Rpb24ocyl7cHMuY2FsbCh0Ll9lbGVtZW50fHx0LHMuQmEpJiZ4ZShpLHMuYWI/cjpvKX0pfSxudWxsLCEwKSx7aGI6byxa''@;'; put 'put ''YTpyfX0oZSxuLk0sbi5jc3NCdWlsZCksZT1mdW5jdGlvbiBBYSh0LGUpe3ZhciBuPXt9LHI9W107cmV0dXJuIEx0KHQsZnVuY3Rpb24obyl7by5EfHxEZShvKTt2YXIgaT1vLkZ8fG8ucGFyc2VkU2VsZWN0b3I7ZSYmby5ELlAmJmkmJnBzLmNhbGwoZSxpKSYmKHhlKG8sbiksbz1vLmluZGV4''@;'; put 'put ''LGk9cGFyc2VJbnQoby8zMiwxMCkscltpXT0ocltpXXx8MCl8MTw8byUzMil9LG51bGwsITApLHtQOm4sa2V5OnJ9fShvLk0sZSkuUCxPYmplY3QuYXNzaWduKHQsci5aYSxlLHIuaGIpLGU9bi5LKSgobz1lW3NdKXx8MD09PW8pJiYodFtzXT1vKTtmb3Iocz1NZSxlPU9iamVjdC5nZXRPd25Q''@;'; put 'put ''cm9wZXJ0eU5hbWVzKHQpLG89MDtvPGUubGVuZ3RoO28rKyl0W3I9ZVtvXV09WnQocyx0W3JdLHQpO24uUj10fShtPUMucHJvdG90eXBlKS5mbHVzaD1mdW5jdGlvbigpe21zKCl9LG0uWGE9ZnVuY3Rpb24odCl7cmV0dXJuIFh0KHQpfSxtLmxiPWZ1bmN0aW9uKHQpe3JldHVybiBQdCh0KX0s''@;'; put 'put ''bS5wcmVwYXJlVGVtcGxhdGU9ZnVuY3Rpb24odCxlLG4pe3RoaXMucHJlcGFyZVRlbXBsYXRlRG9tKHQsZSksdGhpcy5wcmVwYXJlVGVtcGxhdGVTdHlsZXModCxlLG4pfSxtLnByZXBhcmVUZW1wbGF0ZVN0eWxlcz1mdW5jdGlvbih0LGUsbil7aWYoIXQuX3ByZXBhcmVkJiYhTXQpe0l8fFJ0''@;'; put 'put ''W2VdfHwoUnRbZV09b3MoZSkpLHQuX3ByZXBhcmVkPSEwLHQubmFtZT1lLHQuZXh0ZW5kcz1uLExlW2VdPXQ7dmFyIHI9QXQodCksbz1FcihyKTtuPXtpczplLGV4dGVuZHM6bn07Zm9yKHZhciBpPVtdLHM9dC5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIiksbD0wO2w8cy5sZW5n''@;'; put 'put ''dGg7bCsrKXt2YXIgYT1zW2xdO2lmKGEuaGFzQXR0cmlidXRlKCJzaGFkeS11bnNjb3BlZCIpKXtpZighSSl7dmFyIHU9YS50ZXh0Q29udGVudDtpZighbnMuaGFzKHUpKXtucy5hZGQodSk7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtoLnNldEF0dHJpYnV0ZSgic2hh''@;'; put 'put ''ZHktdW5zY29wZWQiLCIiKSxoLnRleHRDb250ZW50PXUsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChoKX1hLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSl9fWVsc2UgaS5wdXNoKGEudGV4dENvbnRlbnQpLGEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKX1pPWkuam9pbigiIikudHJpbSgp''@;'; put 'put ''KyhDc1tlXXx8IiIpLCR0KHRoaXMpLG98fCgocz0hcikmJihzPUNlLnRlc3QoaSl8fE5lLnRlc3QoaSksQ2UubGFzdEluZGV4PTAsTmUubGFzdEluZGV4PTApLGw9dnIoaSkscyYmRyYmdGhpcy5oJiZ0aGlzLmgudHJhbnNmb3JtUnVsZXMobCxlKSx0Ll9zdHlsZUFzdD1sKSxzPVtdLEd8fChz''@;'; put 'put ''PWZ1bmN0aW9uIExhKHQpe3ZhciBlPXt9LG49W10scj0wO2Zvcih2YXIgbyBpbiBMdCh0LGZ1bmN0aW9uKGkpe0RlKGkpLGkuaW5kZXg9cisrLGk9aS5ELmNzc1RleHQ7Zm9yKHZhciBzO3M9cGEuZXhlYyhpKTspIjoiIT09c1syXSYmKGVbc1sxXV09ITApfSxmdW5jdGlvbihpKXtuLnB1c2go''@;'; put 'put ''aSl9KSx0Lmg9bix0PVtdLGUpdC5wdXNoKG8pO3JldHVybiB0fSh0Ll9zdHlsZUFzdCkpLCghcy5sZW5ndGh8fEcpJiYobD1JP3QuY29udGVudDpudWxsLGU9UnRbZV18fG51bGwscj0ocj1iZShuLHQuX3N0eWxlQXN0LG51bGwscixvP2k6IiIpKS5sZW5ndGg/Z3IocixuLmlzLGwsZSk6bnVs''@;'; put 'put ''bCx0Ll9zdHlsZT1yKSx0Lmc9c319LG0uZmI9ZnVuY3Rpb24odCxlKXtDc1tlXT10LmpvaW4oIiAiKX0sbS5wcmVwYXJlVGVtcGxhdGVEb209ZnVuY3Rpb24odCxlKXtpZighTXQpe3ZhciBuPUF0KHQpO0l8fCJzaGFkeSI9PT1ufHx0Ll9kb21QcmVwYXJlZHx8KHQuX2RvbVByZXBhcmVkPSEw''@;'; put 'put ''LGZ1bmN0aW9uIHlhKHQsZSl7T2UodHQsdCxmdW5jdGlvbihuKXt3dChuLGV8fCIiKX0pfSh0LmNvbnRlbnQsZSkpfX0sbS5mbHVzaEN1c3RvbVN0eWxlcz1mdW5jdGlvbigpe2lmKCFNdCl7dmFyIHQ9JHQodGhpcyk7aWYodGhpcy5nKXt2YXIgZT10aGlzLmcucHJvY2Vzc1N0eWxlcygpO2lm''@;'; put 'put ''KCh0fHx0aGlzLmcuZW5xdWV1ZWQpJiYhRXIodGhpcy51LmNzc0J1aWxkKSl7aWYoRyl7aWYoIXRoaXMudS5jc3NCdWlsZClmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgbj10aGlzLmcuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShlW3RdKTtpZihuJiZHJiZ0aGlzLmgpe3ZhciByPVh0KG4p''@;'; put 'put ''OyR0KHRoaXMpLHRoaXMuaC50cmFuc2Zvcm1SdWxlcyhyKSxuLnRleHRDb250ZW50PVB0KHIpfX19ZWxzZXtmb3IoZnVuY3Rpb24gWWEodCxlKXtlPWUubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmcuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShuKX0pLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1''@;'; put 'put ''cm4hIW59KSxlLnNvcnQoZnVuY3Rpb24obixyKXtyZXR1cm4obj1yLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8xOm4mTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkc/LTE6MH0pLHQudS5NLnJ1bGVzPWUubWFwKGZ1''@;'; put 'put ''bmN0aW9uKG4pe3JldHVybiBYdChuKX0pfSh0aGlzLGUpLE1yKHRoaXMsdGhpcy5pLHRoaXMudSksdD0wO3Q8ZS5sZW5ndGg7dCsrKShuPXRoaXMuZy5nZXRTdHlsZUZvckN1c3RvbVN0eWxlKGVbdF0pKSYma2Eobix0aGlzLnUuUik7dGhpcy5PJiZ0aGlzLnN0eWxlRG9jdW1lbnQoKX10aGlz''@;'; put 'put ''LmcuZW5xdWV1ZWQ9ITF9fX19LG0uc3R5bGVFbGVtZW50PWZ1bmN0aW9uKHQsZSl7aWYoTXQpe2lmKGUpe2V0KHQpfHxUcih0LG5ldyBqdChudWxsKSk7dmFyIG49ZXQodCk7bi5LPW4uS3x8e30sT2JqZWN0LmFzc2lnbihuLkssZSksT3ModGhpcyx0LG4pfX1lbHNlIGlmKG49ZXQodCl8fFRz''@;'; put 'put ''KHQpKWlmKHQhPT10aGlzLmkmJih0aGlzLk89ITApLGUmJihuLks9bi5LfHx7fSxPYmplY3QuYXNzaWduKG4uSyxlKSksRylPcyh0aGlzLHQsbik7ZWxzZSBpZih0aGlzLmZsdXNoKCksTXIodGhpcyx0LG4pLG4uemEmJm4uemEubGVuZ3RoKXt2YXIgcjtlPWd0KHQpLmlzO3Q6e2lmKHI9U3Mu''@;'; put 'put ''Y2FjaGVbZV0pZm9yKHZhciBvPXIubGVuZ3RoLTE7MDw9bztvLS0pe3ZhciBpPXJbb107ZTp7Zm9yKHZhciBzPW4uemEsbD0wO2w8cy5sZW5ndGg7bCsrKXt2YXIgYT1zW2xdO2lmKGkuUFthXSE9PW4uUlthXSl7cz0hMTticmVhayBlfX1zPSEwfWlmKHMpe3I9aTticmVhayB0fX1yPXZvaWQg''@;'; put 'put ''MH1zPXI/ci5zdHlsZUVsZW1lbnQ6bnVsbCxvPW4uTCwoaT1yJiZyLkwpfHwoaT1lKyItIisoaT10aGlzLmRhW2VdPSh0aGlzLmRhW2VdfHwwKSsxKSksbi5MPWksaT1uLkwsbD1NZSxsPXM/cy50ZXh0Q29udGVudHx8IiI6ZnVuY3Rpb24gRmEodCxlLG4scil7dmFyIG89Z3QoZSksaT1Ocihv''@;'; put 'put ''LmlzLG8uaGEpLHM9bmV3IFJlZ0V4cCgiKD86XnxbXi4jWzpdKSIrKGUuZXh0ZW5kcz8iXFwiK2kuc2xpY2UoMCwtMSkrIlxcXSI6aSkrIigkfFsuOltcXHM+K35dKSIpLGw9ZXQoZSk7bz1sLk0sbD1sLmNzc0J1aWxkO3ZhciBhPWZ1bmN0aW9uIEhhKHQsZSl7dD10Lmg7dmFyIG49e307aWYo''@;'; put 'put ''IUkmJnQpZm9yKHZhciByPTAsbz10W3JdO3I8dC5sZW5ndGg7bz10Wysrcl0pe3ZhciBpPW8scz1lO2kudT1uZXcgUmVnRXhwKCJcXGIiK2kua2V5ZnJhbWVzTmFtZSsiKD8hXFxCfC0pIiwiZyIpLGkuZz1pLmtleWZyYW1lc05hbWUrIi0iK3MsaS5GPWkuRnx8aS5zZWxlY3RvcixpLnNlbGVj''@;'; put 'put ''dG9yPWkuRi5yZXBsYWNlKGkua2V5ZnJhbWVzTmFtZSxpLmcpLG5bby5rZXlmcmFtZXNOYW1lXT1JYShvKX1yZXR1cm4gbn0obyxyKTtyZXR1cm4gYmUoZSxvLGZ1bmN0aW9uKHUpe3ZhciBoPSIiO2lmKHUuRHx8RGUodSksdS5ELmNzc1RleHQmJihoPU9yKHQsdS5ELmNzc1RleHQsbikpLHUu''@;'; put 'put ''Y3NzVGV4dD1oLCFJJiYhcnModSkmJnUuY3NzVGV4dCl7dmFyIGY9aD11LmNzc1RleHQ7aWYobnVsbD09dS5JYSYmKHUuSWE9X2EudGVzdChoKSksdS5JYSlpZihudWxsPT11LnBhKWZvcih2YXIgeCBpbiB1LnBhPVtdLGEpaCE9PShmPShmPWFbeF0pKGgpKSYmKGg9Zix1LnBhLnB1c2goeCkp''@;'; put 'put ''O2Vsc2V7Zm9yKHg9MDt4PHUucGEubGVuZ3RoOysreCloPShmPWFbdS5wYVt4XV0pKGgpO2Y9aH11LmNzc1RleHQ9Zix1LkY9dS5GfHx1LnNlbGVjdG9yLGg9Ii4iK3IsZj0wO2Zvcih2YXIgUz0oeD1scyh1LkYpKS5sZW5ndGgsXz12b2lkIDA7ZjxTJiYoXz14W2ZdKTtmKyspeFtmXT1fLm1h''@;'; put 'put ''dGNoKHMpP18ucmVwbGFjZShpLGgpOmgrIiAiK187dS5zZWxlY3Rvcj14LmpvaW4oIiwiKX19LGwpfShsLHQsbi5SLGkpO3ZhciB1PShhPWV0KHQpKS5nO3UmJiFJJiZ1IT09cyYmKHUuX3VzZUNvdW50LS0sMD49dS5fdXNlQ291bnQmJnUucGFyZW50Tm9kZSYmdS5wYXJlbnROb2RlLnJlbW92''@;'; put 'put ''ZUNoaWxkKHUpKSxJP2EuZz8oYS5nLnRleHRDb250ZW50PWwscz1hLmcpOmwmJihzPWdyKGwsaSx0LnNoYWRvd1Jvb3QsYS5oKSk6cz9zLnBhcmVudE5vZGV8fChQYSYmLTE8bC5pbmRleE9mKCJAbWVkaWEiKSYmKHMudGV4dENvbnRlbnQ9bCksaXMocyxudWxsLGEuaCkpOmwmJihzPWdyKGws''@;'; put 'put ''aSxudWxsLGEuaCkpLHMmJihzLl91c2VDb3VudD1zLl91c2VDb3VudHx8MCxhLmchPXMmJnMuX3VzZUNvdW50KyssYS5nPXMpLGk9cyxJfHwocz1uLkwsYT1sPXQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIixvJiYoYT1sLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFxzKngtc2NvcGVcXHMqIitv''@;'; put 'put ''KyJcXHMqIiwiZyIpLCIgIikpLGwhPT0oYSs9KGE/IiAiOiIiKSsieC1zY29wZSAiK3MpJiZTZSh0LGEpKSxyfHxTcy5zdG9yZShlLG4uUixpLG4uTCl9fSxtLnN0eWxlRG9jdW1lbnQ9ZnVuY3Rpb24odCl7dGhpcy5zdHlsZVN1YnRyZWUodGhpcy5pLHQpfSxtLnN0eWxlU3VidHJlZT1mdW5j''@;'; put 'put ''dGlvbih0LGUpe3ZhciBuPVl0KHQpLHI9bi5zaGFkb3dSb290LG89dD09PXRoaXMuaTtpZigocnx8bykmJnRoaXMuc3R5bGVFbGVtZW50KHQsZSksdD1vP246cilmb3IodD1BcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbCgiKiIpKS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIFl0KGkp''@;'; put 'put ''LnNoYWRvd1Jvb3R9KSxlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy5zdHlsZVN1YnRyZWUodFtlXSl9LG0uTWE9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPUF0KHQpO2lmKG4hPT10aGlzLnUuY3NzQnVpbGQmJih0aGlzLnUuY3NzQnVpbGQ9biksIUVyKG4pKXt2YXIgcj1YdCh0KTtMdChyLGZ1''@;'; put 'put ''bmN0aW9uKG8pe2lmKEkpaHMobyk7ZWxzZXt2YXIgaT10dDtvLnNlbGVjdG9yPW8ucGFyc2VkU2VsZWN0b3IsaHMobyksby5zZWxlY3Rvcj1vLkY9Q3IoaSxvLGkuaSx2b2lkIDAsdm9pZCAwKX1HJiYiIj09PW4mJigkdChlKSxlLmgmJmUuaC50cmFuc2Zvcm1SdWxlKG8pKX0pLEc/dC50ZXh0''@;'; put 'put ''Q29udGVudD1QdChyKTp0aGlzLnUuTS5ydWxlcy5wdXNoKHIpfX0sbS5nZXRDb21wdXRlZFN0eWxlVmFsdWU9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gR3x8KG49KGV0KHQpfHxldCh4cih0aGlzLHQpKSkuUltlXSksKG49bnx8d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJv''@;'; put 'put ''cGVydHlWYWx1ZShlKSk/bi50cmltKCk6IiJ9LG0ua2I9ZnVuY3Rpb24odCxlKXt2YXIgbj1ZdCh0KS5nZXRSb290Tm9kZSgpO2lmKGU9ZT8oInN0cmluZyI9PXR5cGVvZiBlP2U6U3RyaW5nKGUpKS5zcGxpdCgvXHMvKTpbXSwhKG49bi5ob3N0JiZuLmhvc3QubG9jYWxOYW1lKSl7dmFyIHI9''@;'; put 'put ''dC5nZXRBdHRyaWJ1dGUoImNsYXNzIik7aWYocil7cj1yLnNwbGl0KC9ccy8pO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKWlmKHJbb109PT10dC5nKXtuPXJbbysxXTticmVha319fW4mJmUucHVzaCh0dC5nLG4pLEd8fChuPWV0KHQpKSYmbi5MJiZlLnB1c2goTWUuZyxuLkwpLFNlKHQs''@;'; put 'put ''ZS5qb2luKCIgIikpfSxtLlRhPWZ1bmN0aW9uKHQpe3JldHVybiBldCh0KX0sbS5qYj1mdW5jdGlvbih0LGUpe3d0KHQsZSl9LG0ubWI9ZnVuY3Rpb24odCxlKXt3dCh0LGUsITApfSxtLmliPWZ1bmN0aW9uKHQpe3JldHVybiBicih0KX0sbS5WYT1mdW5jdGlvbih0KXtyZXR1cm4geXModCl9''@;'; put 'put ''LEMucHJvdG90eXBlLmZsdXNoPUMucHJvdG90eXBlLmZsdXNoLEMucHJvdG90eXBlLnByZXBhcmVUZW1wbGF0ZT1DLnByb3RvdHlwZS5wcmVwYXJlVGVtcGxhdGUsQy5wcm90b3R5cGUuc3R5bGVFbGVtZW50PUMucHJvdG90eXBlLnN0eWxlRWxlbWVudCxDLnByb3RvdHlwZS5zdHlsZURvY3Vt''@;'; put 'put ''ZW50PUMucHJvdG90eXBlLnN0eWxlRG9jdW1lbnQsQy5wcm90b3R5cGUuc3R5bGVTdWJ0cmVlPUMucHJvdG90eXBlLnN0eWxlU3VidHJlZSxDLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlVmFsdWU9Qy5wcm90b3R5cGUuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlLEMucHJvdG90eXBlLnNldEVs''@;'; put 'put ''ZW1lbnRDbGFzcz1DLnByb3RvdHlwZS5rYixDLnByb3RvdHlwZS5fc3R5bGVJbmZvRm9yTm9kZT1DLnByb3RvdHlwZS5UYSxDLnByb3RvdHlwZS50cmFuc2Zvcm1DdXN0b21TdHlsZUZvckRvY3VtZW50PUMucHJvdG90eXBlLk1hLEMucHJvdG90eXBlLmdldFN0eWxlQXN0PUMucHJvdG90eXBl''@;'; put 'put ''LlhhLEMucHJvdG90eXBlLnN0eWxlQXN0VG9TdHJpbmc9Qy5wcm90b3R5cGUubGIsQy5wcm90b3R5cGUuZmx1c2hDdXN0b21TdHlsZXM9Qy5wcm90b3R5cGUuZmx1c2hDdXN0b21TdHlsZXMsQy5wcm90b3R5cGUuc2NvcGVOb2RlPUMucHJvdG90eXBlLmpiLEMucHJvdG90eXBlLnVuc2NvcGVO''@;'; put 'put ''b2RlPUMucHJvdG90eXBlLm1iLEMucHJvdG90eXBlLnNjb3BlRm9yTm9kZT1DLnByb3RvdHlwZS5pYixDLnByb3RvdHlwZS5jdXJyZW50U2NvcGVGb3JOb2RlPUMucHJvdG90eXBlLlZhLEMucHJvdG90eXBlLnByZXBhcmVBZG9wdGVkQ3NzVGV4dD1DLnByb3RvdHlwZS5mYixPYmplY3QuZGVm''@;'; put 'put ''aW5lUHJvcGVydGllcyhDLnByb3RvdHlwZSx7bmF0aXZlU2hhZG93OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gSX19LG5hdGl2ZUNzczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEd9fX0pO3ZhciBQcixMcixYPW5ldyBDO3dpbmRvdy5TaGFkeUNTUyYmKFByPXdpbmRvdy5TaGFkeUNTUy5BcHBs''@;'; put 'put ''eVNoaW0sTHI9d2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlKSx3aW5kb3cuU2hhZHlDU1M9e1Njb3BpbmdTaGltOlgscHJlcGFyZVRlbXBsYXRlOmZ1bmN0aW9uKHQsZSxuKXtYLmZsdXNoQ3VzdG9tU3R5bGVzKCksWC5wcmVwYXJlVGVtcGxhdGUodCxlLG4pfSxwcmVwYXJl''@;'; put 'put ''VGVtcGxhdGVEb206ZnVuY3Rpb24odCxlKXtYLnByZXBhcmVUZW1wbGF0ZURvbSh0LGUpfSxwcmVwYXJlVGVtcGxhdGVTdHlsZXM6ZnVuY3Rpb24odCxlLG4pe1guZmx1c2hDdXN0b21TdHlsZXMoKSxYLnByZXBhcmVUZW1wbGF0ZVN0eWxlcyh0LGUsbil9LHN0eWxlU3VidHJlZTpmdW5jdGlv''@;'; put 'put ''bih0LGUpe1guZmx1c2hDdXN0b21TdHlsZXMoKSxYLnN0eWxlU3VidHJlZSh0LGUpfSxzdHlsZUVsZW1lbnQ6ZnVuY3Rpb24odCl7WC5mbHVzaEN1c3RvbVN0eWxlcygpLFguc3R5bGVFbGVtZW50KHQpfSxzdHlsZURvY3VtZW50OmZ1bmN0aW9uKHQpe1guZmx1c2hDdXN0b21TdHlsZXMoKSxY''@;'; put 'put ''LnN0eWxlRG9jdW1lbnQodCl9LGZsdXNoQ3VzdG9tU3R5bGVzOmZ1bmN0aW9uKCl7WC5mbHVzaEN1c3RvbVN0eWxlcygpfSxnZXRDb21wdXRlZFN0eWxlVmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gWC5nZXRDb21wdXRlZFN0eWxlVmFsdWUodCxlKX0sbmF0aXZlQ3NzOkcsbmF0aXZlU2hh''@;'; put 'put ''ZG93OkksY3NzQnVpbGQ6RWUsZGlzYWJsZVJ1bnRpbWU6TXR9LFByJiYod2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbT1QciksTHImJih3aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U9THIpLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoXyl7cmV0dXJuIiI9PV8mJihpLmNhbGwo''@;'; put 'put ''dGhpcyksdGhpcy5tPSEwKSxfLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gbihfKXt2YXIgRD1fLmNoYXJDb2RlQXQoMCk7cmV0dXJuIDMyPEQmJjEyNz5EJiYtMT09WzM0LDM1LDYwLDYyLDYzLDk2XS5pbmRleE9mKEQpP186ZW5jb2RlVVJJQ29tcG9uZW50KF8pfWZ1bmN0aW9uIHIoXyl7dmFy''@;'; put 'put ''IEQ9Xy5jaGFyQ29kZUF0KDApO3JldHVybiAzMjxEJiYxMjc+RCYmLTE9PVszNCwzNSw2MCw2Miw5Nl0uaW5kZXhPZihEKT9fOmVuY29kZVVSSUNvbXBvbmVudChfKX1mdW5jdGlvbiBvKF8sRCxUKXtmdW5jdGlvbiBIKHJ0KXtmdC5wdXNoKHJ0KX12YXIgdz1EfHwic2NoZW1lIHN0YXJ0IixZ''@;'; put 'put ''PTAseT0iIixkdD0hMSxudD0hMSxmdD1bXTt0OmZvcig7KG51bGwhPV9bWS0xXXx8MD09WSkmJiF0aGlzLm07KXt2YXIgYz1fW1ldO3N3aXRjaCh3KXtjYXNlInNjaGVtZSBzdGFydCI6aWYoIWN8fCFmLnRlc3QoYykpe2lmKEQpe0goIkludmFsaWQgc2NoZW1lLiIpO2JyZWFrIHR9eT0iIix3''@;'; put 'put ''PSJubyBzY2hlbWUiO2NvbnRpbnVlfXkrPWMudG9Mb3dlckNhc2UoKSx3PSJzY2hlbWUiO2JyZWFrO2Nhc2Uic2NoZW1lIjppZihjJiZ4LnRlc3QoYykpeSs9Yy50b0xvd2VyQ2FzZSgpO2Vsc2V7aWYoIjoiIT1jKXtpZihEKXtudWxsIT1jJiZIKCJDb2RlIHBvaW50IG5vdCBhbGxvd2VkIGlu''@;'; put 'put ''IHNjaGVtZTogIitjKTticmVhayB0fXk9IiIsWT0wLHc9Im5vIHNjaGVtZSI7Y29udGludWV9aWYodGhpcy5sPXkseT0iIixEKWJyZWFrIHQ7dm9pZCAwIT09dVt0aGlzLmxdJiYodGhpcy5HPSEwKSx3PSJmaWxlIj09dGhpcy5sPyJyZWxhdGl2ZSI6dGhpcy5HJiZUJiZULmw9PXRoaXMubD8i''@;'; put 'put ''cmVsYXRpdmUgb3IgYXV0aG9yaXR5Ijp0aGlzLkc/ImF1dGhvcml0eSBmaXJzdCBzbGFzaCI6InNjaGVtZSBkYXRhIn1icmVhaztjYXNlInNjaGVtZSBkYXRhIjoiPyI9PWM/KHRoaXMuQT0iPyIsdz0icXVlcnkiKToiIyI9PWM/KHRoaXMuQz0iIyIsdz0iZnJhZ21lbnQiKTpudWxsIT1jJiYi''@;'; put 'put ''XHQiIT1jJiYiXG4iIT1jJiYiXHIiIT1jJiYodGhpcy52YSs9bihjKSk7YnJlYWs7Y2FzZSJubyBzY2hlbWUiOmlmKFQmJnZvaWQgMCE9PXVbVC5sXSl7dz0icmVsYXRpdmUiO2NvbnRpbnVlfUgoIk1pc3Npbmcgc2NoZW1lLiIpLGkuY2FsbCh0aGlzKSx0aGlzLm09ITA7YnJlYWs7Y2FzZSJy''@;'; put 'put ''ZWxhdGl2ZSBvciBhdXRob3JpdHkiOmlmKCIvIiE9Y3x8Ii8iIT1fW1krMV0pe0goIkV4cGVjdGVkIC8sIGdvdDogIitjKSx3PSJyZWxhdGl2ZSI7Y29udGludWV9dz0iYXV0aG9yaXR5IGlnbm9yZSBzbGFzaGVzIjticmVhaztjYXNlInJlbGF0aXZlIjppZih0aGlzLkc9ITAsImZpbGUiIT10''@;'; put 'put ''aGlzLmwmJih0aGlzLmw9VC5sKSxudWxsPT1jKXt0aGlzLm89VC5vLHRoaXMudj1ULnYsdGhpcy5zPVQucy5zbGljZSgpLHRoaXMuQT1ULkEsdGhpcy5CPVQuQix0aGlzLmo9VC5qO2JyZWFrIHR9aWYoIi8iPT1jfHwiXFwiPT1jKSJcXCI9PWMmJkgoIlxcIGlzIGFuIGludmFsaWQgY29kZSBw''@;'; put 'put ''b2ludC4iKSx3PSJyZWxhdGl2ZSBzbGFzaCI7ZWxzZSBpZigiPyI9PWMpdGhpcy5vPVQubyx0aGlzLnY9VC52LHRoaXMucz1ULnMuc2xpY2UoKSx0aGlzLkE9Ij8iLHRoaXMuQj1ULkIsdGhpcy5qPVQuaix3PSJxdWVyeSI7ZWxzZXtpZigiIyIhPWMpe3c9X1tZKzFdO3ZhciBNPV9bWSsyXTso''@;'; put 'put ''ImZpbGUiIT10aGlzLmx8fCFmLnRlc3QoYyl8fCI6IiE9dyYmInwiIT13fHxudWxsIT1NJiYiLyIhPU0mJiJcXCIhPU0mJiI/IiE9TSYmIiMiIT1NKSYmKHRoaXMubz1ULm8sdGhpcy52PVQudix0aGlzLkI9VC5CLHRoaXMuaj1ULmosdGhpcy5zPVQucy5zbGljZSgpLHRoaXMucy5wb3AoKSks''@;'; put 'put ''dz0icmVsYXRpdmUgcGF0aCI7Y29udGludWV9dGhpcy5vPVQubyx0aGlzLnY9VC52LHRoaXMucz1ULnMuc2xpY2UoKSx0aGlzLkE9VC5BLHRoaXMuQz0iIyIsdGhpcy5CPVQuQix0aGlzLmo9VC5qLHc9ImZyYWdtZW50In1icmVhaztjYXNlInJlbGF0aXZlIHNsYXNoIjppZigiLyIhPWMmJiJc''@;'; put 'put ''XCIhPWMpeyJmaWxlIiE9dGhpcy5sJiYodGhpcy5vPVQubyx0aGlzLnY9VC52LHRoaXMuQj1ULkIsdGhpcy5qPVQuaiksdz0icmVsYXRpdmUgcGF0aCI7Y29udGludWV9IlxcIj09YyYmSCgiXFwgaXMgYW4gaW52YWxpZCBjb2RlIHBvaW50LiIpLHc9ImZpbGUiPT10aGlzLmw/ImZpbGUgaG9z''@;'; put 'put ''dCI6ImF1dGhvcml0eSBpZ25vcmUgc2xhc2hlcyI7YnJlYWs7Y2FzZSJhdXRob3JpdHkgZmlyc3Qgc2xhc2giOmlmKCIvIiE9Yyl7SCgiRXhwZWN0ZWQgJy8nLCBnb3Q6ICIrYyksdz0iYXV0aG9yaXR5IGlnbm9yZSBzbGFzaGVzIjtjb250aW51ZX13PSJhdXRob3JpdHkgc2Vjb25kIHNsYXNo''@;'; put 'put ''IjticmVhaztjYXNlImF1dGhvcml0eSBzZWNvbmQgc2xhc2giOmlmKHc9ImF1dGhvcml0eSBpZ25vcmUgc2xhc2hlcyIsIi8iIT1jKXtIKCJFeHBlY3RlZCAnLycsIGdvdDogIitjKTtjb250aW51ZX1icmVhaztjYXNlImF1dGhvcml0eSBpZ25vcmUgc2xhc2hlcyI6aWYoIi8iIT1jJiYiXFwi''@;'; put 'put ''IT1jKXt3PSJhdXRob3JpdHkiO2NvbnRpbnVlfUgoIkV4cGVjdGVkIGF1dGhvcml0eSwgZ290OiAiK2MpO2JyZWFrO2Nhc2UiYXV0aG9yaXR5IjppZigiQCI9PWMpe2ZvcihkdCYmKEgoIkAgYWxyZWFkeSBzZWVuLiIpLHkrPSIlNDAiKSxkdD0hMCxjPTA7Yzx5Lmxlbmd0aDtjKyspIlx0Ij09''@;'; put 'put ''KE09eVtjXSl8fCJcbiI9PU18fCJcciI9PU0/SCgiSW52YWxpZCB3aGl0ZXNwYWNlIGluIGF1dGhvcml0eS4iKToiOiI9PU0mJm51bGw9PT10aGlzLmo/dGhpcy5qPSIiOihNPW4oTSksbnVsbCE9PXRoaXMuaj90aGlzLmorPU06dGhpcy5CKz1NKTt5PSIifWVsc2V7aWYobnVsbD09Y3x8Ii8i''@;'; put 'put ''PT1jfHwiXFwiPT1jfHwiPyI9PWN8fCIjIj09Yyl7WS09eS5sZW5ndGgseT0iIix3PSJob3N0Ijtjb250aW51ZX15Kz1jfWJyZWFrO2Nhc2UiZmlsZSBob3N0IjppZihudWxsPT1jfHwiLyI9PWN8fCJcXCI9PWN8fCI/Ij09Y3x8IiMiPT1jKXsyIT15Lmxlbmd0aHx8IWYudGVzdCh5WzBdKXx8''@;'; put 'put ''IjoiIT15WzFdJiYifCIhPXlbMV0/KDAhPXkubGVuZ3RoJiYodGhpcy5vPWUuY2FsbCh0aGlzLHkpLHk9IiIpLHc9InJlbGF0aXZlIHBhdGggc3RhcnQiKTp3PSJyZWxhdGl2ZSBwYXRoIjtjb250aW51ZX0iXHQiPT1jfHwiXG4iPT1jfHwiXHIiPT1jP0goIkludmFsaWQgd2hpdGVzcGFjZSBp''@;'; put 'put ''biBmaWxlIGhvc3QuIik6eSs9YzticmVhaztjYXNlImhvc3QiOmNhc2UiaG9zdG5hbWUiOmlmKCI6IiE9Y3x8bnQpe2lmKG51bGw9PWN8fCIvIj09Y3x8IlxcIj09Y3x8Ij8iPT1jfHwiIyI9PWMpe2lmKHRoaXMubz1lLmNhbGwodGhpcyx5KSx5PSIiLHc9InJlbGF0aXZlIHBhdGggc3RhcnQi''@;'; put 'put ''LEQpYnJlYWsgdDtjb250aW51ZX0iXHQiIT1jJiYiXG4iIT1jJiYiXHIiIT1jPygiWyI9PWM/bnQ9ITA6Il0iPT1jJiYobnQ9ITEpLHkrPWMpOkgoIkludmFsaWQgY29kZSBwb2ludCBpbiBob3N0L2hvc3RuYW1lOiAiK2MpfWVsc2UgaWYodGhpcy5vPWUuY2FsbCh0aGlzLHkpLHk9IiIsdz0i''@;'; put 'put ''cG9ydCIsImhvc3RuYW1lIj09RClicmVhayB0O2JyZWFrO2Nhc2UicG9ydCI6aWYoL1swLTldLy50ZXN0KGMpKXkrPWM7ZWxzZXtpZihudWxsPT1jfHwiLyI9PWN8fCJcXCI9PWN8fCI/Ij09Y3x8IiMiPT1jfHxEKXtpZigiIiE9eSYmKCh5PXBhcnNlSW50KHksMTApKSE9dVt0aGlzLmxdJiYo''@;'; put 'put ''dGhpcy52PXkrIiIpLHk9IiIpLEQpYnJlYWsgdDt3PSJyZWxhdGl2ZSBwYXRoIHN0YXJ0Ijtjb250aW51ZX0iXHQiPT1jfHwiXG4iPT1jfHwiXHIiPT1jP0goIkludmFsaWQgY29kZSBwb2ludCBpbiBwb3J0OiAiK2MpOihpLmNhbGwodGhpcyksdGhpcy5tPSEwKX1icmVhaztjYXNlInJlbGF0''@;'; put 'put ''aXZlIHBhdGggc3RhcnQiOmlmKCJcXCI9PWMmJkgoIidcXCcgbm90IGFsbG93ZWQgaW4gcGF0aC4iKSx3PSJyZWxhdGl2ZSBwYXRoIiwiLyIhPWMmJiJcXCIhPWMpY29udGludWU7YnJlYWs7Y2FzZSJyZWxhdGl2ZSBwYXRoIjpudWxsIT1jJiYiLyIhPWMmJiJcXCIhPWMmJihEfHwiPyIhPWMm''@;'; put 'put ''JiIjIiE9Yyk/Ilx0IiE9YyYmIlxuIiE9YyYmIlxyIiE9YyYmKHkrPW4oYykpOigiXFwiPT1jJiZIKCJcXCBub3QgYWxsb3dlZCBpbiByZWxhdGl2ZSBwYXRoLiIpLChNPWhbeS50b0xvd2VyQ2FzZSgpXSkmJih5PU0pLCIuLiI9PXk/KHRoaXMucy5wb3AoKSwiLyIhPWMmJiJcXCIhPWMmJnRo''@;'; put 'put ''aXMucy5wdXNoKCIiKSk6Ii4iPT15JiYiLyIhPWMmJiJcXCIhPWM/dGhpcy5zLnB1c2goIiIpOiIuIiE9eSYmKCJmaWxlIj09dGhpcy5sJiYwPT10aGlzLnMubGVuZ3RoJiYyPT15Lmxlbmd0aCYmZi50ZXN0KHlbMF0pJiYifCI9PXlbMV0mJih5PXlbMF0rIjoiKSx0aGlzLnMucHVzaCh5KSks''@;'; put 'put ''eT0iIiwiPyI9PWM/KHRoaXMuQT0iPyIsdz0icXVlcnkiKToiIyI9PWMmJih0aGlzLkM9IiMiLHc9ImZyYWdtZW50IikpO2JyZWFrO2Nhc2UicXVlcnkiOkR8fCIjIiE9Yz9udWxsIT1jJiYiXHQiIT1jJiYiXG4iIT1jJiYiXHIiIT1jJiYodGhpcy5BKz1yKGMpKToodGhpcy5DPSIjIix3PSJm''@;'; put 'put ''cmFnbWVudCIpO2JyZWFrO2Nhc2UiZnJhZ21lbnQiOm51bGwhPWMmJiJcdCIhPWMmJiJcbiIhPWMmJiJcciIhPWMmJih0aGlzLkMrPWMpfVkrK319ZnVuY3Rpb24gaSgpe3RoaXMuQj10aGlzLnZhPXRoaXMubD0iIix0aGlzLmo9bnVsbCx0aGlzLnY9dGhpcy5vPSIiLHRoaXMucz1bXSx0aGlz''@;'; put 'put ''LkM9dGhpcy5BPSIiLHRoaXMuRz10aGlzLm09ITF9ZnVuY3Rpb24gcyhfLEQpe3ZvaWQgMD09PUR8fEQgaW5zdGFuY2VvZiBzfHwoRD1uZXcgcyhTdHJpbmcoRCkpKSx0aGlzLmc9XyxpLmNhbGwodGhpcyksby5jYWxsKHRoaXMsdGhpcy5nLnJlcGxhY2UoL15bIFx0XHJcblxmXSt8WyBcdFxy''@;'; put 'put ''XG5cZl0rJC9nLCIiKSxudWxsLEQpfXZhciBsPSExO3RyeXt2YXIgYT1uZXcgVVJMKCJiIiwiaHR0cDovL2EiKTthLnBhdGhuYW1lPSJjJTIwZCIsbD0iaHR0cDovL2EvYyUyMGQiPT09YS5ocmVmfWNhdGNoKF8pe31pZighbCl7dmFyIHU9T2JqZWN0LmNyZWF0ZShudWxsKTt1LmZ0cD0yMSx1''@;'; put 'put ''LmZpbGU9MCx1LmdvcGhlcj03MCx1Lmh0dHA9ODAsdS5odHRwcz00NDMsdS53cz04MCx1Lndzcz00NDM7dmFyIGg9T2JqZWN0LmNyZWF0ZShudWxsKTtoWyIlMmUiXT0iLiIsaFsiLiUyZSJdPSIuLiIsaFsiJTJlLiJdPSIuLiIsaFsiJTJlJTJlIl09Ii4uIjt2YXIgZj0vW2EtekEtWl0vLHg9''@;'; put 'put ''L1thLXpBLVowLTkrXC0uXS87cy5wcm90b3R5cGU9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaHJlZn0sZ2V0IGhyZWYoKXtpZih0aGlzLm0pcmV0dXJuIHRoaXMuZzt2YXIgXz0iIjtyZXR1cm4oIiIhPXRoaXMuQnx8bnVsbCE9dGhpcy5qKSYmKF89dGhpcy5CKyhudWxsIT10''@;'; put 'put ''aGlzLmo/IjoiK3RoaXMuajoiIikrIkAiKSx0aGlzLnByb3RvY29sKyh0aGlzLkc/Ii8vIitfK3RoaXMuaG9zdDoiIikrdGhpcy5wYXRobmFtZSt0aGlzLkErdGhpcy5DfSxzZXQgaHJlZihfKXtpLmNhbGwodGhpcyksby5jYWxsKHRoaXMsXyl9LGdldCBwcm90b2NvbCgpe3JldHVybiB0aGlz''@;'; put 'put ''LmwrIjoifSxzZXQgcHJvdG9jb2woXyl7dGhpcy5tfHxvLmNhbGwodGhpcyxfKyI6Iiwic2NoZW1lIHN0YXJ0Iil9LGdldCBob3N0KCl7cmV0dXJuIHRoaXMubT8iIjp0aGlzLnY/dGhpcy5vKyI6Iit0aGlzLnY6dGhpcy5vfSxzZXQgaG9zdChfKXshdGhpcy5tJiZ0aGlzLkcmJm8uY2FsbCh0''@;'; put 'put ''aGlzLF8sImhvc3QiKX0sZ2V0IGhvc3RuYW1lKCl7cmV0dXJuIHRoaXMub30sc2V0IGhvc3RuYW1lKF8peyF0aGlzLm0mJnRoaXMuRyYmby5jYWxsKHRoaXMsXywiaG9zdG5hbWUiKX0sZ2V0IHBvcnQoKXtyZXR1cm4gdGhpcy52fSxzZXQgcG9ydChfKXshdGhpcy5tJiZ0aGlzLkcmJm8uY2Fs''@;'; put 'put ''bCh0aGlzLF8sInBvcnQiKX0sZ2V0IHBhdGhuYW1lKCl7cmV0dXJuIHRoaXMubT8iIjp0aGlzLkc/Ii8iK3RoaXMucy5qb2luKCIvIik6dGhpcy52YX0sc2V0IHBhdGhuYW1lKF8peyF0aGlzLm0mJnRoaXMuRyYmKHRoaXMucz1bXSxvLmNhbGwodGhpcyxfLCJyZWxhdGl2ZSBwYXRoIHN0YXJ0''@;'; put 'put ''IikpfSxnZXQgc2VhcmNoKCl7cmV0dXJuIHRoaXMubXx8IXRoaXMuQXx8Ij8iPT10aGlzLkE/IiI6dGhpcy5BfSxzZXQgc2VhcmNoKF8peyF0aGlzLm0mJnRoaXMuRyYmKHRoaXMuQT0iPyIsIj8iPT1fWzBdJiYoXz1fLnNsaWNlKDEpKSxvLmNhbGwodGhpcyxfLCJxdWVyeSIpKX0sZ2V0IGhh''@;'; put 'put ''c2goKXtyZXR1cm4gdGhpcy5tfHwhdGhpcy5DfHwiIyI9PXRoaXMuQz8iIjp0aGlzLkN9LHNldCBoYXNoKF8pe3RoaXMubXx8KF8/KHRoaXMuQz0iIyIsIiMiPT1fWzBdJiYoXz1fLnNsaWNlKDEpKSxvLmNhbGwodGhpcyxfLCJmcmFnbWVudCIpKTp0aGlzLkM9IiIpfSxnZXQgb3JpZ2luKCl7''@;'; put 'put ''dmFyIF87aWYodGhpcy5tfHwhdGhpcy5sKXJldHVybiIiO3N3aXRjaCh0aGlzLmwpe2Nhc2UiZGF0YSI6Y2FzZSJmaWxlIjpjYXNlImphdmFzY3JpcHQiOmNhc2UibWFpbHRvIjpyZXR1cm4ibnVsbCJ9cmV0dXJuKF89dGhpcy5ob3N0KT90aGlzLmwrIjovLyIrXzoiIn19O3ZhciBTPXQuVVJM''@;'; put 'put ''O1MmJihzLmNyZWF0ZU9iamVjdFVSTD1mdW5jdGlvbihfKXtyZXR1cm4gUy5jcmVhdGVPYmplY3RVUkwuYXBwbHkoUyxhcmd1bWVudHMpfSxzLnJldm9rZU9iamVjdFVSTD1mdW5jdGlvbihfKXtTLnJldm9rZU9iamVjdFVSTChfKX0pLHQuVVJMPXN9fSh3aW5kb3cpO3ZhciBicz13aW5kb3cu''@;'; put 'put ''Y3VzdG9tRWxlbWVudHMsRHM9ITEsQXI9bnVsbDtmdW5jdGlvbiBBZSgpe3dpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50LmJvb3RzdHJhcCYmd2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQuYm9vdHN0cmFwKHdpbmRvdy5kb2N1bWVudCksQXImJkFyKCksRHM9ITAsd2luZG93LldlYkNvbXBv''@;'; put 'put ''bmVudHMucmVhZHk9ITAsZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIldlYkNvbXBvbmVudHNSZWFkeSIse2J1YmJsZXM6ITB9KSl9YnMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjayYmYnMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjayhmdW5jdGlvbih0KXtBcj10''@;'; put 'put ''LERzJiZ0KCl9KSwiY29tcGxldGUiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLEFlKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9h''@;'; put 'put ''ZCIsQWUpLEFlKCl9KSk6QWUoKX0uY2FsbCh0aGlzKTs='';'; put 'run;'; put '%sasjsout(JS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=styles.62b84953c33c421d-css; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''aHRtbCxib2R5e2hlaWdodDoxMDAlfWJvZHl7bWFyZ2luOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEhlbHZldGljYSBOZXVlLHNhbnMtc2VyaWZ9LmNvZGV7Zm9udC1mYW1pbHk6TW9uYWNvLENvdXJpZXIsbW9ub3NwYWNlO2JvcmRlcjoxcHggc29saWQgI2Q5ZDlkOTtwYWRkaW5nOjVweDtib3Jk''@;'; put 'put ''ZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLWNvbG9yOiM0YTNmM2Y7Y29sb3I6I2Y3OTIwNX0ubWVudS1kaXZpZGVye21hcmdpbjowIDEwcHghaW1wb3J0YW50fS5kYXRhLXBhZ2V7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRl''@;'; put 'put ''cjtwYWRkaW5nLXRvcDoyMHB4fS5kYXRhLXBhZ2UgLmFyZWFzLXNlbGVjdC13cmFwcGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LmRhdGEtcGFnZSAuYXJlYXMtc2VsZWN0LXdyYXBwZXIgOjpuZy1kZWVwIGNsci1zZWxlY3QtY29udGFpbmVye21hcmdpbjowfS5kYXRhLXBh''@;'; put 'put ''Z2UgLmFyZWFzLXNlbGVjdC13cmFwcGVyIDo6bmctZGVlcCBjbHItc2VsZWN0LWNvbnRhaW5lciBzZWxlY3R7bWluLXdpZHRoOjIwMHB4fS5kYXRhLXBhZ2UgLmFyZWFzLXNlbGVjdC13cmFwcGVyIGJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4fS5kYXRhLXBhZ2UgdGFibGV7d2lkdGg6ODAlO21h''@;'; put 'put ''cmdpbi10b3A6NDBweH0K'';'; put 'run;'; put '%sasjsout(CSS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/assets; %let service=angular-logo-png; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAMAAAC/MqoPAAAAz1BMVEUAAADUBy/DDi7dAzDdAzDdAzDdAzDDDi7DDi7DDi7dAzDdAzDdAzDDDi7DDi7DDi7dAzDdAzDdAzDDDi7DDi7DDi7dAzDdAzDDDi7DDi7dAzDdAzDDDi7DDi7dAzDDDi7fEz3HHTvugZjhh5f97/L78PLqYn7////aaHz7''@;'; put 'put ''4OX44eXmQmTSSmL3wMvww8vhI0rLLEjyobHppbHdAzDDDi7jMlfOO1XoUnHWWW/50Nj00tjscYvdd4nwkaTllqT0sL7stL7hRGPXBjDWBi/FDS4+JsiBAAAARXRSTlMAMDAwj9///9+PIHDPz3AgEGC/v2AQUK+vUJ/v75+AgP////////////////////////9AQP//////////////////r6+T''@;'; put 'put ''KVt1AAAH7ElEQVR4AezUtaHDUBTA0I9mZtx/zHDMWOY+nQ3U6AsAAAAAAAAAAAAA8Em+f9Ts/v3713TDVK7esh3tRr9xPV+d7iCMtCf9KU5SJcKzXOvonaIU313VmjZK7zRtKXtsY/qI1OlZ9rN7Jb2rlza9IHS0JfoSV9D0wlxboa8oElljO5HeTU/C2E6kC5heN7Yz6QKm143tTLqA6QXrYzub''@;'; put 'put ''/pxeKmFsV2buQllxZQ3DcJZ1jwuMS7AYGmx84Jy97/+exjNGWLv+zvst+O7gKfnrha6Kna4/ethhq9wUvdIf99G7EV8407xp1zpHevTuff8JrqN//3H/8PgPG0/njx5/2Hg6f/T4w8bTj/bo3ahKNWjdXpC76ty7B/9vMXz9Qbic+0cTOGz2JanRChw94LC55svyvPDNd5VH7+zrQQc2zPORJ/bi''@;'; put 'put ''5ekhD5t94/zLJoAcOHrEYTNs+pU+M/CAowccNmBl/m1zD646evxhQ7f4Tl96cvzRW1WHjVs3/7HfswY6emv+v0Vy/Yo+oOnUP5rVT1F8SUVPeTnz8/bMaZZV8ipr+J1GDSeiD3/RRyJ61HTW+2bImWoTifxFY3pLQp/+Tp9J6G2eDuZMtflx0mMFffEnfamgd0g6nzNk1vD0R8qcUWZN86BdKXNG''@;'; put 'put ''mTXr5jknzBlp1gC/4YQ5I82aqPkuZDkjzZprAL0lyxlp1rQB+mNY/iqv3WuY/gSgx6qc0WZNB6DflDWstGbvAPSVKGfEWbM+Ono32UdPezAdmCZn1FkTERPlDJ81PP0WKH+TX7K3oPw2Qm8pckadNW2Efi7IGXnWXEfosSBn5FnTQej3+ZzRZ80DhL7ic0afNWuEfsbnjD5rTiNkfM7osyZi9pzO''@;'; put 'put ''GX3WvIDoLTpn9FnTJul8zvBZw9NjOmf0WdNh6XzOLJZs1vD0R6qcGU9UWfMUoq9EOfPO+feirFlD9HuinMmcL4CsYZ9e+Kb5sGtMus730nxnH4mioXYhyZmNc95vJVlzDaO3JA1bfqXPJTXbxuiPFTkzdV/pfqbImicYPVa8ML75Tn+reHvsYPSbgpwZuu90PxJkzR2MvhLkTL+iDwRZsz4a+qZG''@;'; put 'put ''163ovXx3W4AOjc+ZhavofslnTcQNz5l8/Is+ybms4em36Jx5537R/Xs6a26D9BadM9nv9ILOmjZIfwbnTNL9nd5L4ax5CdJjOGcW7ne6X8JZ0wHp9+HHpvJP+hx+hHoA0ldszkzdn3Q/Y7NmDdLP2JzJ/qYXbNacRuDQnBnufrVghGZNRA7Nmf4ufUBlDU9vkY9N5S59Tj5CtVk6mDMLt0v3Syhr''@;'; put 'put ''eHoMPjaN6+gT8BGqw9K5nBm6OrofAVmD0YEHmP/VeLJ6epHv7v/804t9Kyxnkm49vZdiWbNG6Tewhl24erpfYjV7N0JH5Uxe7qPPcyprInYXzAtjle+79PqQH/BPL+a1oJzJ9tMLKGvaMP0xkzNDt5/uR0zWPIHpsZ3+ri7f6+n7Q/69nd6h6UjO5OVl9HkOZA1PXyE5s3CX0f0SyZo1TSdyJh9f''@;'; put 'put ''Tp/kQNbg9IjImaG7nO5HRNZE9Iicyf6LXgBZw9NvWXMG2wB9etE3zZCjj/RFQz7AZDm4wvj0Qi825gw4W9Z0cPp9W86gm9ieXuitbDmDzpQ1a5x+ZsoZeHP+6cUye85ws2RNdEh6N8fXOyi9pc8ZImvaB6UnPD09KD3W5wyRNR09nW9YpmYV9Ed8zlg24Z9e8KaZaugzumgMu6HPGSJr7kaC6XOG''@;'; put 'put ''yJpIsQs+Z/isuSaht4Jzpj+u3z+TPRsEZ01bQn8cmjOJ27N/9wrS0Kx5IqHHoTmzsdO3oVnT0dMtOVPa6XN71ijpq8CcmTo73c8Cs2atpxtyJguhF/asEdKjsJxJXAjdp2FZE2kWljObMPrWnjVC+q2gnCnD6HN71tBPL4am6RuOXEU3HroBXzTIA0xiOHIV3XjoUvLpxbA4IGcSF0r3aUDWdET0''@;'; put 'put ''+wE5swmnbwOy5oGIvgr42FAZTp8HfK5oLaKf2XNm6sLpfmbPmtNINPvHhrIm9ML+uaJINXPOJK4J3afmrJHRW8aGzTfN6NvcWLNtHd362FQ2o8+tj1A6emz8duLUNaP7mfErjJ0D0DPDkTPQC+MjlI7+yJYziWtK96kta57K6Ctbzmya07e2rFnL6Ddsj01lc/rc9gh1N5LNlDNT15zuZ6asiXS7''@;'; put 'put ''sDw2ZQS9sDxCXRPSW4acSRxB96kha9pC+mNDzmwY+taQNU+E9NjwKeiSoc8NH5fuXDW97NctcwzdF4O6za+avvrcnl3Y6A5DQRS+PzMzF5FUMO/139KSeJmONdLe08EIvsR29+e9Of3n1TkdyXt6kI1OvtPP00CbX12n3zZBNzw6Tr/MokTV0m36qo5SbTtO0/uHYAO8k79ulHfy143yTv66Ud6J''@;'; put 'put ''183VO/G6uXonWDfeu1P56WdWN9478brhtZYlp6+a4VTVKTW9X4dbi1OJ6ed1/DwD78Tr5uqdeN1cvROvm6t34nVz9U68bq7eidfN1Tvxurl6J0A3h6rxb0yfELrxLTo/nd5ndDPwTj66AeOP359+YYfzDZffm74CWTfwTrxurt6J183VO/G6uXonXjdX78Tr5uqdeN1cvROvm6t3ctYNGN9+ffoA''@;'; put 'put ''GG7XcPdy+t5aN+BxWvxjsat3InTz79E7PekWQPbeyV83qOG//7PI/mhZlmVZlmVZlmVZlmXZPZmSvHpA7pEOAAAAAElFTkSuQmCC'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=logo-white-png; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''iVBORw0KGgoAAAANSUhEUgAAAFUAAABVCAYAAAA49ahaAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF3mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpu''@;'; put 'put ''czptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9u''@;'; put 'put ''IHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0i''@;'; put 'put ''aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIw''@;'; put 'put ''MjAtMDItMTZUMDk6Mjk6MDhaIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wMi0xNlQxMDowMTowMloiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDItMTZUMTA6MDE6MDJaIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9''@;'; put 'put ''InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4NzQ1M2JkLWRjZWEtNGZkYi1hZWY5LTJjOTcwYzBmYTQ3OCIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjAyYzZhMWNiLTY1MzYtMWU0ZC04MWE2LTY0ODk5MzRjNWM4YSIgeG1w''@;'; put 'put ''TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjc2ZjNhNzIwLTU4MWQtNDU0YS1hYmIyLTE4OTg4NjgyYzkwZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NzZmM2E3MjAtNTgx''@;'; put 'put ''ZC00NTRhLWFiYjItMTg5ODg2ODJjOTBlIiBzdEV2dDp3aGVuPSIyMDIwLTAyLTE2VDA5OjI5OjA4WiIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4''@;'; put 'put ''bXAuaWlkOjg4NzQ1M2JkLWRjZWEtNGZkYi1hZWY5LTJjOTcwYzBmYTQ3OCIgc3RFdnQ6d2hlbj0iMjAyMC0wMi0xNlQxMDowMTowMloiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4g''@;'; put 'put ''PC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgU8a6AAAAmVSURBVHic7ZxbrFxVGcd/38w5pxeLVGg1tSQUbCIEHjRGIybiBfACKF5qohZNQEmjGEJCNEajDyWxmuiDhhDevMR6aTQlXtoQk6ImQowK''@;'; put 'put ''qbRoVQIoF6laK5RyLjPz92GtdfY3++yZM6ez98xQ9j/ZWfusy15r//e31ndZa45Joka5aIx7AKcjalIrQE1qBahJrQA1qRWgJrUC1KRWgJrUClCTWgFqUitATWoFqEmtADWpFaAmtQJMDdPYzMoax0rRAPKdy12nhLLCoEOROgYYgdB2j/LGMuUjwfOJ1Kakjpm1ASTNAC8lvMPTZnYM6KS6jJFY''@;'; put 'put ''G0bkRzj9F0mStAW4FngbcC4wDRwH/gj80Mz2xnrN9AEGRWm7IJJO+RoRmm6sH5P0D/XHtySdGes3ez92KYbhoouXCSfVE7rLEbcQr1a8FiTNufLdkhr5ZyyHFwKpi+aepC84wmYldXpIqSd2e2w+clIn1U5dXOslXQnsjPnzwKo+7WaAuXj/npi2WQGxZWBSSW2YWUfSGuDzMW+OQJpYaqN6pLJX''@;'; put 'put ''SDo7Pa+aYRZjEkk1MgP+LcAb4v20Kx/0OWPxTiaRVMjszVfHtM3gBKUP8gjwn1zeSDCppCYCn47pcu5nKmuTrbk/NTNFK2CkjsAkkiqycf0ceILgNXV6tggfoUNG3n5gN4CZNRixpE6qSWWSLI7vGknPRDOpFdO8SdV25tSfJG2NbVfkhpdlUk0qqdBtp253RLZzhCYnQJIOS7o4tllxXKMsUidx''@;'; put 'put ''+id0yDT+PcBRl5+wQFgamsDdwFVmdkjSlJm1RjbSHCaNVCMQNEUgNEnbOcAZuboLZKTfAbzbzB6RND1OQmEyQn+JSBEUjdfUCzFtA2vjfdLm08BJ4NNmdjtAJHSBMWOcpPqA86JkSXoJsBE4C1hHGON7XbtOzHsKuN7M9sX8QQj1DsFQuwT9MC5SU3w0xUhfD1wBvBY4D9gAvIjglnpf37uot3lC''@;'; put 'put ''yaS6FxqED6LYZyPGg0snduSkygWPJb0ZuAV4K9n0Xg4pOPLnmM4QAi29YLHPVuxzFTBvZknhebe4FIxUUUWt3JZkkm4FfgFcTUZoh7AU5C+v8RMBqc08QTiK3qUhCTNrSVov6SvAb4BfSrrePa9cHkZop07F/hqSvllgZ7bd1QudWF+SfhzXX49pgiQn5ZfecZOk/QXP+0QsN2K4sYxrVKT6F7zd''@;'; put 'put ''vdR8TNvxvpeBnyc24UFJX5f0plx/3nG4TtLf3XNbkp6Nf98raV366M8nUr3L+RlHSJK4eRWjV3S/qKwl6TZJ5/mOJX3Q1fEfbTamByW9LFafHoYLf1W+m6poO0p6B/ATwhRtkVkASVneRwignABuAjYT1tJecdFk13YIygrgUYJndYTgLOwAziasu0n7E/tfC+w1s/fFvKakcqJZw3yRAZDW0Y2S''@;'; put 'put ''HnAS49fOhyXtkHSWG1NaIpZbYxO8/5/HvLJZ4TEr6Z2J0GG58FeVJpWRGfWfBS6mW/KMoP0/aWZ/iy+VDPh/xXZeuvphiiC5CzFNs0Bkdu5J4DBwLD7/B2a2P5YN0sfAqJLUKWBB0uuAZL4kf92AO4HtZnZSwdRqOJ897S0NMh0WDXqyYz9d2h/4PvAN4EFgzszmXFnpdmpVpDbIPJzrgPWEjbtm''@;'; put 'put ''LDsAfCQSusrM5nGuKsGrgkBYPxuyX/lfYz97zOxAjzFW4qpWRWoT6Eg6n+B++v5+C3zYzE7E6T7n2rQlbQIuiHn9dk4ToS3gIUIs4GHgEHA/8ICZHXX1p8ikMim5ajDMgtwHM/HZl+WUw92SXh7L8h90OuZ/wNUvUj4dl39M0jZJ6xQOrBWhyYD7/mUpqqpITVp/s6SfSXpM0pcUDe0CQr2xvscR''@;'; put 'put ''WmSrdlz+zQV9p+hXkxW6n5NOKsoM/tXqNpeKpCZJ9hslnYiEFZlBPv+wpPWuvVdSp4SySK1M+8ftYTOzWWA23jcKjjc2yKJMnyKE/JJz0A/7zOx4vM8HXcaKSqNUZpYiQM3ofS1RDklyJV1FdzC6lxeVBOGgqzdR/15jFKG/tB9f9OJT0YWdAm4kKKsUyiuq7/P+GdMZRnwAbTmMe+MvSePVQHIZ''@;'; put 'put ''G7myfP0k7dtiOge0FE6iNHu0GynGSWqTzEFIZ0n7SSlkmh1gh6QDkj4k6cwYyW9HBTpWyR3nmf9pght7KXAXsJqgcLzyLDLQ0xrqiTsE7AV2m9kReGGe+V801CXtjSaSj6umYHIvpGM++VjsvyV9VdKG+OzTy04tQJq6ntAbc0RJS43+xyX9RcGBOFlA8HMF5N4n6cLYx8iPp1cx/b0n4wMWPpqE''@;'; put 'put ''pG3Ad4A1ZNPeHyU/CHwN+DUhbLeGELh+FWH39VLC76jSs5Ntm44L3QtcGW3ZKboDNoUYhoslDypRUpeVCkkbJH1O2ZZGkjIvoXvkvLAez7lQ0k6FILeX9vSLFUm6xTVZVgFMnKQqeEzpoMJWYBPwYoICWk0I/20lRK0uis2ShCYpbgLfA66NHtlMVDYpWmWuXep3C3AzcANhiyRJ7QzwO+AyM3uG''@;'; put 'put ''AaR1oiRVUSFI2irpuwq7l8+q91aIjzR1nLTepfDjCdQ76gSB3Gm59VLS+yUdz0n/rKRLYpVBZtHEKKpEaEPSvh4kevLmHNltZcvAYUnnDEBoHmscKSnC5X9rdYP7EH2XgLJILSOgkgb6GuDyeP8cQVnI1fGGewoSpz2kp4CPmtljCoHrfsd48ph190di6ndqX+nKmwygsIZFmVGqi8jOi66O6SDe''@;'; put 'put ''wRHg42b2B7kzT6eIFA/w3tq5MZWktmWKoLIgzLCk+gjRZpffIhD8OPBt4EnCNF1LCO1NEyTsIUII7wkFRddldg0Iv3v6qBtXmhWXKGxF/8rMTvYYe7kYck1dHLxCZF/qNo1uGnAMQwWXybZitig74uMV5azCEaE7Jb3Ltevqs6w1tUxSd8YXSF7P/Yo/ESdbFvJIW8nDRpb8dsyXlaGtpTsIRyWl''@;'; put 'put ''WdU1U8siddgold/tfDKmSRvvMrP/KWjyFtkH8Bf0jrWuBB0yk2kXYckh9pFf4n4P/NeNv3SUYfynreULCC7lRuBWM/tiqsaIIvPqPlB8BfB2wnb3GQSL5B7gDjM7qnCSupNrX8o4yiB1kTRJlwPrzexHsco4/pfJkj4lrY57ZenvJYTG/FIGUGU8ddBzUFUg7QKkU4EJaYko/NBlkVr2bmo6BZJ/''@;'; put 'put ''mVGj4/pPlkW1p1IchpLUGsUY98bfaYma1ApQk1oBalIrQE1qBahJrQA1qRWgJrUC1KRWgJrUClCTWgFqUivA/wFN68Swq76GyQAAAABJRU5ErkJggg=='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/docs; %let service=README-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBTQVNqcyBEb2NzCgpUaGlzIHJlcG8gaXMgYSB0ZW1wbGF0ZSBkb2N1bWVudGF0aW9uIHNpdGUgZm9yIHVzZSBpbiB0aGUgdmFyaW91cyBTQVNqcyBzZWVkIGFwcHMuICBZb3UgY2FuIHZpZXcgaXQgbGl2ZSwgaGVyZTogIGh0dHBzOi8vc2FzanMuZ2l0aHViLmlvL2RvY3MvCgpUaGUgcHJv''@;'; put 'put ''amVjdCBpcyBlbWJlZGRlZCBpbnRvIGVhY2ggU0FTanMgU2VlZCBBcHAgYXMgYSBbc3VibW9kdWxlXShodHRwczovL2dpdC1zY20uY29tL2Jvb2svZW4vdjIvR2l0LVRvb2xzLVN1Ym1vZHVsZXMpIC0gbWVhbmluZyB0aGF0IHRoZSBzb3VyY2UgY2FuIGJlIG1haW50YWluZWQgaW4gb25lIHBs''@;'; put 'put ''YWNlLgoKV2hlbiBjcmVhdGluZyBhcHBzIHVzaW5nIHRoZSBbU0FTanMgY3JlYXRlXShodHRwczovL2NsaS5zYXNqcy5pby9jcmVhdGUvKSBjb21tYW5kLCB0aGUgc3VibW9kdWxlIGlzIGNsb25lZCwgYW5kIHRoZSBsaW5rIGJyb2tlbiwgZm9yIGVhc2Ugb2YgdXNlLgoKW0NvbnRyaWJ1dGlv''@;'; put 'put ''bnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNqcy9kb2NzKSBhcmUgd2VsY29tZWQh'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=_sidebar-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''KiBbVXNlciBHdWlkZV0oIy91c2VyLWd1aWRlL3VzZXItb3ZlcnZpZXcubWQpCiogW0RldmVsb3BlciBHdWlkZV0oL2RldmVsb3Blci1ndWlkZS9kZXZlbG9wZXItb3ZlcnZpZXcubWQpCiAgKiBbRnJvbnRlbmRdKC9kZXZlbG9wZXItZ3VpZGUvZnJvbnRlbmQubWQpCiAgKiBbQmFja2VuZF0o''@;'; put 'put ''L2RldmVsb3Blci1ndWlkZS9iYWNrZW5kLm1kKQogICogW1Rlc3RpbmddKC9kZXZlbG9wZXItZ3VpZGUvdGVzdGluZy1ndWlkZS5tZCkKICAqIFtEb2N1bWVudGF0aW9uXSgvZGV2ZWxvcGVyLWd1aWRlL2RvY3VtZW50YXRpb24ubWQpCiogW0FkbWluIEd1aWRlXSgvYWRtaW4tZ3VpZGUvYWRt''@;'; put 'put ''aW4tb3ZlcnZpZXcubWQpCg=='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=index-html; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgogIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9InN0YXRpYy9hc3NldHMvaW1nL3Nhc2pzX3NxdWFyZS5wbmciIC8+CiAgPHRpdGxlPlNBU2pzIERvY3M8L3RpdGxl''@;'; put 'put ''PgogIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgLz4KICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iRGVzY3JpcHRpb24iPgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut''@;'; put 'put ''d2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCBtaW5pbXVtLXNjYWxlPTEuMCI+CiAgPCEtLSA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vZG9jc2lmeUA0L2xpYi90aGVtZXMvdnVlLmNzcyI+IC0tPgogIDwhLS1saW5rIHJlbD0ic3R5bGVzaGVl''@;'; put 'put ''dCIgaHJlZj0iLy9jZG4uanNkZWxpdnIubmV0L25wbS9kb2NzaWZ5L2xpYi90aGVtZXMvYnVibGUuY3NzIiAvLS0+CiAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdGF0aWMvYXNzZXRzL2Nzcy9idWJsZS5jc3MiIC8+CjwvaGVhZD4KCjxib2R5PgogIDxuYXY+CiAgICA8YSBocmVm''@;'; put 'put ''PSIjL3VzZXItZ3VpZGUvdXNlci1vdmVydmlldyI+VXNlciBHdWlkZTwvYT4KICAgIDxhIGhyZWY9IiMvZGV2ZWxvcGVyLWd1aWRlL2RldmVsb3Blci1vdmVydmlldyI+RGV2ZWxvcGVyIEd1aWRlPC9hPgogICAgPGEgaHJlZj0iIy9hZG1pbi1ndWlkZS9hZG1pbi1vdmVydmlldyI+QWRtaW4g''@;'; put 'put ''R3VpZGU8L2E+CiAgICA8IS0tYSBocmVmPSIjIiBvbmNsaWNrPSd3aW5kb3cub3Blbih3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgInN0YXRpYy9zYXMvIik7cmV0dXJuIGZhbHNlOyctLT4KICAgIDxhIGhyZWY9IiMiIG9uY2xpY2s9J3dpbmRv''@;'; put 'put ''dy5vcGVuKCJodHRwczovL2NvcmUuc2FzanMuaW8iKTtyZXR1cm4gZmFsc2U7Jz4KICAgICAgU0FTIENvZGUKICAgIDwvYT4KICAgIDwhLS1hIGhyZWY9IiMiIG9uY2xpY2s9J3dpbmRvdy5vcGVuKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyAi''@;'; put 'put ''c3RhdGljL2pzLyIpO3JldHVybiBmYWxzZTsnLS0+CiAgICA8YSBocmVmPSIjIiBvbmNsaWNrPSd3aW5kb3cub3BlbigiaHR0cHM6Ly9hZGFwdGVyLnNhc2pzLmlvIik7cmV0dXJuIGZhbHNlOyc+CiAgICAgIEpTIENvZGUKICAgIDwvYT4KICA8L25hdj4KICA8ZGl2IGlkPSJhcHAiPlNBU2pz''@;'; put 'put ''IERvY3MgYXJlIGxvYWRpbmcuLi48L2Rpdj4KICA8c2NyaXB0PgogICAgd2luZG93LiRkb2NzaWZ5ID0gewogICAgICByZXBvOiAnaHR0cHM6Ly9naXRodWIuY29tL3Nhc2pzL2RvY3MnLAogICAgICBsb2FkTmF2YmFyOiBmYWxzZSwKICAgICAgbG9hZFNpZGViYXI6ICdfc2lkZWJhci5tZCcs''@;'; put 'put ''CiAgICAgIGJhc2VQYXRoOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsCiAgICAgIGxvZ286ICdzdGF0aWMvYXNzZXRzL2ltZy9zYXNqc18yNDB4MTIwLnBuZycsCiAgICAgIG5hbWU6ICdTQVNqcycsCiAgICAgIGF1dG9IZWFkZXI6IHRydWUsCiAgICAgIHNlYXJjaDogJ2F1dG8nLAogICAg''@;'; put 'put ''ICByZWxhdGl2ZVBhdGg6IHRydWUsCiAgICAgIHJvdXRlcm1vZGU6ICdoaXN0b3J5JwogICAgfQogIDwvc2NyaXB0PgogIDxzY3JpcHQ+CiAgICBpZiAodHlwZW9mIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyICE9PSAndW5kZWZpbmVkJykgewogICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl''@;'; put 'put ''ci5yZWdpc3Rlcignc3cuanMnKQogICAgfQogIDwvc2NyaXB0PgogIDwhLS0gRG9jc2lmeSB2NCAKICA8c2NyaXB0IHNyYz0iLy9jZG4uanNkZWxpdnIubmV0L25wbS9kb2NzaWZ5QDQiPjwvc2NyaXB0PgogIDxzY3JpcHQgc3JjPSIvL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2RvY3NpZnkvbGli''@;'; put 'put ''L3BsdWdpbnMvc2VhcmNoLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAtLT4KICA8c2NyaXB0IHNyYz0ic3RhdGljL2Fzc2V0cy9qcy9kb2NzaWZ5LmpzIj48L3NjcmlwdD4KICA8c2NyaXB0IHNyYz0ic3RhdGljL2Fzc2V0cy9qcy9zZWFyY2gubWluLmpzIj48L3NjcmlwdD4KCjwvYm9keT4KCjwv''@;'; put 'put ''aHRtbD4='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=refresh_assets-sh; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyEvYmluL2Jhc2gKCmN1cmwgaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9kb2NzaWZ5L2xpYi90aGVtZXMvYnVibGUuY3NzID4gc3RhdGljL2Fzc2V0cy9jc3MvYnVibGUuY3NzCmN1cmwgaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9kb2NzaWZ5QDQgPiBzdGF0aWMvYXNzZXRz''@;'; put 'put ''L2pzL2RvY3NpZnkuanMKY3VybCBodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2RvY3NpZnkvbGliL3BsdWdpbnMvc2VhcmNoLm1pbi5qcyA+IHN0YXRpYy9hc3NldHMvanMvc2VhcmNoLm1pbi5qcw=='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=sw-js; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogZG9jc2lmeSBzdy5qcwogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKiBDb3B5cmlnaHQgMjAxNiBAaHV4''@;'; put 'put ''cHJvCiAqIExpY2Vuc2VkIHVuZGVyIEFwYWNoZSAyLjAKICogUmVnaXN0ZXIgc2VydmljZSB3b3JrZXIuCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmNvbnN0IFJVTlRJTUUgPSAnZG9jc2lmeScKY29uc3QgSE9TVE5B''@;'; put 'put ''TUVfV0hJVEVMSVNUID0gWwogIHNlbGYubG9jYXRpb24uaG9zdG5hbWUsCiAgJ2ZvbnRzLmdzdGF0aWMuY29tJywKICAnZm9udHMuZ29vZ2xlYXBpcy5jb20nLAogICdjZG4uanNkZWxpdnIubmV0JwpdCgovLyBUaGUgVXRpbCBGdW5jdGlvbiB0byBoYWNrIFVSTHMgb2YgaW50ZXJjZXB0ZWQg''@;'; put 'put ''cmVxdWVzdHMKY29uc3QgZ2V0Rml4ZWRVcmwgPSAocmVxKSA9PiB7CiAgdmFyIG5vdyA9IERhdGUubm93KCkKICB2YXIgdXJsID0gbmV3IFVSTChyZXEudXJsKQoKICAvLyAxLiBmaXhlZCBodHRwIFVSTAogIC8vIEp1c3Qga2VlcCBzeW5jaW5nIHdpdGggbG9jYXRpb24ucHJvdG9jb2wKICAv''@;'; put 'put ''LyBmZXRjaChodHRwVVJMKSBiZWxvbmdzIHRvIGFjdGl2ZSBtaXhlZCBjb250ZW50LgogIC8vIEFuZCBmZXRjaChodHRwUmVxdWVzdCkgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCiAgdXJsLnByb3RvY29sID0gc2VsZi5sb2NhdGlvbi5wcm90b2NvbAoKICAvLyAyLiBhZGQgcXVlcnkgZm9yIGNh''@;'; put 'put ''Y2hpbmctYnVzdGluZy4KICAvLyBHaXRodWIgUGFnZXMgc2VydmVkIHdpdGggQ2FjaGUtQ29udHJvbDogbWF4LWFnZT02MDAKICAvLyBtYXgtYWdlIG9uIG11dGFibGUgY29udGVudCBpcyBlcnJvci1wcm9uZSwgd2l0aCBTVyBsaWZlIG9mIGJ1Z3MgY2FuIGV2ZW4gZXh0ZW5kLgogIC8vIFVu''@;'; put 'put ''dGlsIGNhY2hlIG1vZGUgb2YgRmV0Y2ggQVBJIGxhbmRlZCwgd2UgaGF2ZSB0byB3b3JrYXJvdW5kIGNhY2hlLWJ1c3Rpbmcgd2l0aCBxdWVyeSBzdHJpbmcuCiAgLy8gQ2FjaGUtQ29udHJvbC1CdWc6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWls''@;'; put 'put ''P2lkPTQ1MzE5MAogIGlmICh1cmwuaG9zdG5hbWUgPT09IHNlbGYubG9jYXRpb24uaG9zdG5hbWUpIHsKICAgIHVybC5zZWFyY2ggKz0gKHVybC5zZWFyY2ggPyAnJicgOiAnPycpICsgJ2NhY2hlLWJ1c3Q9JyArIG5vdwogIH0KICByZXR1cm4gdXJsLmhyZWYKfQoKLyoqCiAqICBATGlmZWN5''@;'; put 'put ''Y2xlIEFjdGl2YXRlCiAqICBOZXcgb25lIGFjdGl2YXRlZCB3aGVuIG9sZCBpc250IGJlaW5nIHVzZWQuCiAqCiAqICB3YWl0VW50aWwoKTogYWN0aXZhdGluZyA9PT09PiBhY3RpdmF0ZWQKICovCnNlbGYuYWRkRXZlbnRMaXN0ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7CiAgZXZlbnQu''@;'; put 'put ''d2FpdFVudGlsKHNlbGYuY2xpZW50cy5jbGFpbSgpKQp9KQoKLyoqCiAqICBARnVuY3Rpb25hbCBGZXRjaAogKiAgQWxsIG5ldHdvcmsgcmVxdWVzdHMgYXJlIGJlaW5nIGludGVyY2VwdGVkIGhlcmUuCiAqCiAqICB2b2lkIHJlc3BvbmRXaXRoKFByb21pc2U8UmVzcG9uc2U+IHIpCiAqLwpz''@;'; put 'put ''ZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4gewogIC8vIFNraXAgc29tZSBvZiBjcm9zcy1vcmlnaW4gcmVxdWVzdHMsIGxpa2UgdGhvc2UgZm9yIEdvb2dsZSBBbmFseXRpY3MuCiAgaWYgKEhPU1ROQU1FX1dISVRFTElTVC5pbmRleE9mKG5ldyBVUkwoZXZlbnQucmVx''@;'; put 'put ''dWVzdC51cmwpLmhvc3RuYW1lKSA+IC0xKSB7CiAgICAvLyBTdGFsZS13aGlsZS1yZXZhbGlkYXRlCiAgICAvLyBzaW1pbGFyIHRvIEhUVFAncyBzdGFsZS13aGlsZS1yZXZhbGlkYXRlOiBodHRwczovL3d3dy5tbm90Lm5ldC9ibG9nLzIwMDcvMTIvMTIvc3RhbGUKICAgIC8vIFVwZ3JhZGUg''@;'; put 'put ''ZnJvbSBKYWtlJ3MgdG8gU3VybWEnczogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vc3VybWEvZWI0NDEyMjNkYWFlZGY4ODA4MDFhZDgwMDA2Mzg5ZjEKICAgIGNvbnN0IGNhY2hlZCA9IGNhY2hlcy5tYXRjaChldmVudC5yZXF1ZXN0KQogICAgY29uc3QgZml4ZWRVcmwgPSBnZXRGaXhlZFVy''@;'; put 'put ''bChldmVudC5yZXF1ZXN0KQogICAgY29uc3QgZmV0Y2hlZCA9IGZldGNoKGZpeGVkVXJsLCB7IGNhY2hlOiAnbm8tc3RvcmUnIH0pCiAgICBjb25zdCBmZXRjaGVkQ29weSA9IGZldGNoZWQudGhlbihyZXNwID0+IHJlc3AuY2xvbmUoKSkKCiAgICAvLyBDYWxsIHJlc3BvbmRXaXRoKCkgd2l0''@;'; put 'put ''aCB3aGF0ZXZlciB3ZSBnZXQgZmlyc3QuCiAgICAvLyBJZiB0aGUgZmV0Y2ggZmFpbHMgKGUuZyBkaXNjb25uZWN0ZWQpLCB3YWl0IGZvciB0aGUgY2FjaGUuCiAgICAvLyBJZiB0aGVyZeKAmXMgbm90aGluZyBpbiBjYWNoZSwgd2FpdCBmb3IgdGhlIGZldGNoLgogICAgLy8gSWYgbmVpdGhl''@;'; put 'put ''ciB5aWVsZHMgYSByZXNwb25zZSwgcmV0dXJuIG9mZmxpbmUgcGFnZXMuCiAgICBldmVudC5yZXNwb25kV2l0aCgKICAgICAgUHJvbWlzZS5yYWNlKFtmZXRjaGVkLmNhdGNoKF8gPT4gY2FjaGVkKSwgY2FjaGVkXSkKICAgICAgICAudGhlbihyZXNwID0+IHJlc3AgfHwgZmV0Y2hlZCkKICAg''@;'; put 'put ''ICAgICAuY2F0Y2goXyA9PiB7IC8qIGVhdCBhbnkgZXJyb3JzICovIH0pCiAgICApCgogICAgLy8gVXBkYXRlIHRoZSBjYWNoZSB3aXRoIHRoZSB2ZXJzaW9uIHdlIGZldGNoZWQgKG9ubHkgZm9yIG9rIHN0YXR1cykKICAgIGV2ZW50LndhaXRVbnRpbCgKICAgICAgUHJvbWlzZS5hbGwoW2Zl''@;'; put 'put ''dGNoZWRDb3B5LCBjYWNoZXMub3BlbihSVU5USU1FKV0pCiAgICAgICAgLnRoZW4oKFtyZXNwb25zZSwgY2FjaGVdKSA9PiByZXNwb25zZS5vayAmJiBjYWNoZS5wdXQoZXZlbnQucmVxdWVzdCwgcmVzcG9uc2UpKQogICAgICAgIC5jYXRjaChfID0+IHsgLyogZWF0IGFueSBlcnJvcnMgKi8g''@;'; put 'put ''fSkKICAgICkKICB9Cn0p'';'; put 'run;'; put '%sasjsout(JS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/docs/admin-guide; %let service=admin-overview-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBBZG1pbiBHdWlkZSAtIE92ZXJ2aWV3CgpUaGlzIGFwcGxpY2F0aW9uIHdhcyBidWlsdCBvbiB0aGUgW1NBU2pzXShodHRwczovL2dpdGh1Yi5jb20vc2FzanMpIGZyYW1ld29yayAtIHdoaWNoIHByb3ZpZGVzIGFuIG9waW5pb25hdGVkIChjb25zaXN0ZW50KSBhcHByb2FjaCBmb3IgYnVp''@;'; put 'put ''bGRpbmcgYW5kIGRlcGxveWluZyBhcHBsaWNhdGlvbnMgb24gdGhlIFNBUyBQbGF0Zm9ybXMuCgpTQVNqcyBhcHBzIGhhdmUgdGhyZWUgbWFqb3Igc2VydmVyLXNpZGUgY29tcG9uZW50czoKCiogRnJvbnRlbmQgKGFsbCB3ZWIgY29udGVudCwgaW5jbHVkaW5nIHRoaXMgZG9jdW1lbnRhdGlv''@;'; put 'put ''biBzaXRlKQoqIEJhY2tlbmQgKGFsbCBTQVMgY29kZSAtIG5vbmUgb2Ygd2hpY2ggaXMgb24gdGhlIGZpbGVzeXN0ZW0pCiogRGF0YSBMYXllciAoZGF0YWJhc2UgLyBmaWxleXN5c3RlbSwgaW5jbHVkaW5nIGZvcm1hdCBjYXRhbG9ncykKClRoZSBvbmx5IHNvZnR3YXJlIHJlcXVpcmVtZW50''@;'; put 'put ''IG9uIHRoZSBTZXJ2ZXIgaXMgdGhlIFNBUyBTeXN0ZW0gKGVpdGhlciBGb3VuZGF0aW9uIFNBUywgU0FTIFZpeWEsIG9yIFNBUyA5IEVCSSkuCgpDbGllbnQtc2lkZSBidWlsZCAmIGRlcGxveW1lbnQgaXMgZG9uZSBlbnRpcmVseSBmcm9tIGEgY2xvbmUgb2YgdGhlIGdpdCByZXBvc2l0b3J5''@;'; put 'put ''LiAgSXQgbWF5IGFsc28gYmUgY29uZmlndXJlZCB0byBydW4gYXV0b21hdGljYWxseSBhcyBwYXJ0IG9mIGEgQ0kvQ0QgcGlwZWxpbmUuCgpUaGUgZm9sbG93aW5nIHNvZnR3YXJlIGlzIG5lZWRlZCBsb2NhbGx5OgoKKiBOb2RlSlMgKGluY2x1ZGluZyBOUE0sIHRoZSBwYWNrYWdlIG1hbmFn''@;'; put 'put ''ZXIgZm9yIFNBU2pzKQoqIEdJVCBCYXNoIChmb3IgY2xvbmluZyBhbmQgc3VibWl0dGluZyBTQVNqcyBjb21tYW5kcykKKiBEb3h5Z2VuIChmb3IgYnVpbGRpbmcgdGhlIFNBUyBDb2RlIGRvY3VtZW50YXRpb24pCgojIyBGcm9udGVuZAoKVG8gY29tcGlsZSB0aGUgZnJvbnRlbmQgZnJvbSBz''@;'; put 'put ''b3VyY2UsIHNpbXBseSBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5kIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3Q6CgpgYGBiYXNoCm5wbSBydW4gYnVpbGQKYGBgCgpUaGlzIHdpbGwgY29tcGlsZSB0aGUgY29kZSBkb2N1bWVudGF0aW9uIGZvciBib3RoIFNBUyBhbmQgSlMsIGFuZCBw''@;'; put 'put ''cmVwYXJlIGEgcHJvZHVjdGlvbiBidWlsZCBvZiB0aGUgU0FTanMgaW50ZXJmYWNlLiAgV2hlbiB0aGlzIGNvbXBsZXRlcywgdGhlIGBidWlsZGAgZm9sZGVyIHdpbGwgY29udGFpbiBhbGwgbmVjZXNzYXJ5IGZpbGVzLgoKQmVmb3JlIGRlcGxveWluZyB0aGlzIGZvbGRlciwgdGhlcmUgYXJl''@;'; put 'put ''IHNvbWUgY29uZmlndXJhdGlvbiBpdGVtcyBpbnNpZGUgdGhlIGBidWlsZC9pbmRleC5odG1sYCBmaWxlIGFzIGZvbGxvd3M6CgpgYGAKICAgIHNlcnZlclVybDogJ2h0dHBzOi8veW91clNBU3NlcnZlcjo1MDAwJywKICAgIGFwcExvYzogJy9sb2dpY2FsL1NBUy9mb2xkZXInLAogICAgc2Vy''@;'; put 'put ''dmVyVHlwZTogJ1NBU0pTJywKYGBgCgpUaGUgYHNlcnZlclVybGAgY2FuIGJlIF9yZW1vdmVkXyBlbnRpcmVseSBpZiB0aGUgYXBwIGlzIGJlaW5nIHNlcnZlZCBkaXJlY3RseSBmcm9tIHRoZSBTQVMgc2VydmVyIGl0c2VsZi4gIE90aGVyd2lzZSwgdGhlIFNBUyBTZXJ2ZXIgVVJMIChhbmQg''@;'; put 'put ''cG9ydCwgaWYgbm90IDgwKSBzaG91bGQgYmUgcHJvdmlkZWQgaGVyZS4KClRoZSBgYXBwTG9jYCBpcyB0aGUgbG9jYXRpb24gaW4gU0FTIERyaXZlIChvciBNZXRhZGF0YSwgb3IgU0FTanMgRHJpdmUpIHVuZGVyIHdoaWNoIHRoZSBiYWNrZW5kIHNlcnZpY2VzIHdpbGwgYmUgZGVwbG95ZWQu''@;'; put 'put ''CgpUaGUgYHNlcnZlclR5cGVgIGNhbiBiZSBgU0FTOWAsIGBTQVNWSVlBYCBvciBgU0FTSlNgIGRlcGVuZGluZyBvbiB0aGUgc2VydmVyIGJlaW5nIHVzZWQuCgpPbmNlIHRoaXMgZmlsZSBpcyBhZGp1c3RlZCwgdGhlIGNvbnRlbnRzIG9mIHRoZSBidWlsZCBmb2xkZXIgY2FuIGJlIGRlcGxv''@;'; put 'put ''eWVkIHRvIHRoZSBTQVMgV2ViIFNlcnZlci4gIEZvciBTQVMgOSB0aGlzIHdvdWxkIHR5cGljYWxseSBiZSBgIVNBU0NPTkZJRy9MZXZYL1dlYi9XZWJTZXJ2ZXIvaHRkb2NzYC4gIEZvciBWaXlhIDMuNSwgdGhpcyBpcyB1c3VhbGx5IGAvdmFyL3d3dy9odG1sYC4gIEp1c3QgY3JlYXRlIGEg''@;'; put 'put ''c3ViZm9sZGVyIHRoZXJlIChzdWNoIGFzIGBteWFwcGApIGFuZCBhZGQgdGhlIGNvbnRlbnRzIG9mIGBidWlsZGAgZm9sZGVyLiAgVGhlIGFwcCB3aWxsIHRoZW4gYmUgYXZhaWxhYmxlIGF0IGB5b3VyU0FTc2VydmVyL215YXBwYC4KCiMjIEJhY2tlbmQKClNBUyBjb2RlIGlzIGNvbXBpbGVk''@;'; put 'put ''IGxvY2FsbHksIGFuZCBkZXBsb3llZCB0byBTQVMgYXMgYSBzZXJpZXMgb2Ygc2VsZiBjb250YWluZWQgSm9icyBhbmQgU2VydmljZXMuICBUaGUgcHJvZHVjdGlvbiBTQVMgc2VydmVyIHNob3VsZCBiZSBjb25maWd1cmVkIGFzIGFuIG9iamVjdCBpbiB0aGUgVGFyZ2V0cyBhcnJheSBvZiB0''@;'; put 'put ''aGUgYHNhc2pzL3Nhc2pzY29uZmlnLmpzb25gIGZpbGUuICBUaGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgYXJlIG5lY2Vzc2FyeToKCiogYG5hbWVgIC0gYSB1bmlxdWUgbmFtZSBmb3IgdGhlIHRhcmdldCAoZWcgYCJteXRhcmdldCJgKQoqIGBzZXJ2ZXJVcmxgIC0gdGhlIFNBUyBzZXJ2ZXIg''@;'; put 'put ''b24gd2hpY2ggdGhlIHNlcnZpY2VzIHdpbGwgYmUgZGVwbG95ZWQKKiBgYXBwTG9jYCAtIHRoZSByb290IGZvbGRlciBpbiB3aGljaCB0aGUgc2VydmljZXMgd2lsbCBiZSBzYXZlZCAoU0FTIERyaXZlIG9yIE1ldGFkYXRhKQoqIGBzZXJ2ZXJUeXBlYCAtIGVpdGhlciBTQVM5LCBTQVNWSVlB''@;'; put 'put ''IG9yIFNBU0pTLgoKCkJlZm9yZSB0aGUgZGVwbG95bWVudCBjYW4gdGFrZSBwbGFjZSwgdGhlIENMSSBuZWVkcyB0byBiZSBhdXRoZW50aWNhdGVkLiBGaXJzdCwgaW5zdGFsbCB0aGUgIENMSSBhcyBmb2xsb3dzOgoKYGBgCm5wbSBpbnN0YWxsIC1nIEBzYXNqcy9jbGkKYGBgCgpOZXh0LCBh''@;'; put 'put ''dXRoZW50aWNhdGUgYWdhaW5zdCB0aGUgcHJldmlvdXNseSBkZWZpbmVkIHRhcmdldCwgZWc6CgpgYGBiYXNoCnNhc2pzIGF1dGggLXQgbXl0YXJnZXQKYGBgCgpUaGUgc3Vic2VxdWVudCBwcm9tcHRzIHdpbGwgZGVwZW5kIG9uIHdoZXRoZXIgdGhlIHNlcnZlciB0eXBlIGlzIFNBUyA5LCBT''@;'; put 'put ''QVNqcywgb3IgVml5YS4gIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGRvY3VtZW50YXRpb24gaGVyZTogW2h0dHBzOi8vY2xpLnNhc2pzLmlvL2F1dGgvXShodHRwczovL2NsaS5zYXNqcy5pby9hdXRoLykuICBOb3RlIHRoYXQgU0FTIDkgZGVwbG95cyByZXF1aXJlIGEgJ3J1bm5l''@;'; put 'put ''cicgaW4gdGhlIGhvbWUgZGlyZWN0b3J5IG9mIHRoZSBkZXBsb3ltZW50IGFjY291bnQuCgpPbmNlIGF1dGhlbnRpY2F0ZWQsIHRoZSBzZXJ2aWNlcyBjYW4gYmUgY29tcGlsZWQsIGJ1aWx0ICYgZGVwbG95ZWQgdXNpbmcgYSBzaW5nbGUgY29tbWFuZDoKCmBgYApzYXNqcyBjYmQgLXQgbXl0''@;'; put 'put ''YXJnZXQKYGBgCgo='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/docs/developer-guide; %let service=backend-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBEZXZlbG9wZXIgR3VpZGUgLSBCYWNrZW5kCgpTQVMgY29kZSBpcyBjb21waWxlZCwgYnVpbHQgJiBkZXBsb3llZCB1c2luZyB0aGUgU0FTanMgQ0xJLgoKVXNpbmcgdGhlIENMSSBwcm92aWRlcyBhIGxvdCBvZiBiZW5lZml0czoKCiogU2VsZiBjb250YWluZWQgd2ViIHNlcnZpY2VzIChu''@;'; put 'put ''byBjb2RlIGlzIHVzZWQgZnJvbSB0aGUgc2VydmVyIGZpbGVzeXN0ZW0pCiogVGVzdCBmcmFtZXdvcmsgZm9yIEpvYnMsIFNlcnZpY2VzIGFuZCBNYWNyb3MKKiBBdXRvLWdlbmVyYXRlZCBkb2N1bWVudGF0aW9uCiogQXV0b21hdGVkIGRlcGxveW1lbnQKClRoZSBmb2xsb3dpbmcgc29mdHdh''@;'; put 'put ''cmUgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIGxvY2FsIG1hY2hpbmUgaW4gb3JkZXIgdG8gY29tbWVuY2UgZGV2ZWxvcG1lbnQ6CgoqIFtWUyBDb2RlXShodHRwczovL3Nhc2pzLmlvL3dpbmRvd3MvI3ZzY29kZSkKKiBbR0lUXShodHRwczovL3Nhc2pzLmlvL3dpbmRvd3MvI2dpdCkK''@;'; put 'put ''KiBbRG94eWdlbl0oaHR0cHM6Ly93d3cuZG94eWdlbi5ubC9kb3dubG9hZC5odG1sKQoqIFtTQVNqcyBDTEldKGh0dHBzOi8vY2xpLnNhc2pzLmlvL2luc3RhbGxhdGlvbikKClRoZSBmb2xsb3dpbmcgcmVzb3VyY2VzIG1heSBhbHNvIGJlIHN0dWRpZWQsIHRvIHVuZGVyc3RhbmQgdGhlIG51''@;'; put 'put ''YW5jZXMgb2YgU0FTanM6CgoqIFtTY2FmZm9sZGluZyBTQVMgUHJvamVjdHMgd2l0aCBTQVNqc10oaHR0cHM6Ly9jb21tdW5pdGllcy5zYXMuY29tL3Q1L1NBUy1HbG9iYWwtRm9ydW0tUHJvY2VlZGluZ3MvU2NhZmZvbGRpbmctU0FTLVByb2plY3RzLVdpdGgtTlBNLWFuZC1TQVNqcy90YS1w''@;'; put 'put ''LzcyNjM0NykKKiBbVXNpbmcgU0FTanMgRG9jXShodHRwczovL3Nhc2pzLmlvL3ZpZGVvcy8jdXNlLXNhc2pzLWRvYy10by1nZW5lcmF0ZS1odG1sLWRvY3VtZW50YXRpb24tZnJvbS1zb3VyY2UtcHJvZ3JhbXMpCiogW1ZTQ29kZSB3aXRoIFNBU2pzXShodHRwczovL3d3dy55b3V0dWJlLmNv''@;'; put 'put ''bS93YXRjaD92PUtLZlVIVG5nU0ZvKQoK'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=developer-overview-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBEZXZlbG9wZXIgR3VpZGUgLSBPdmVydmlldwoKVGhpcyBzZWN0aW9uIGNvdmVycyBkZXZlbG9wbWVudCBhbmQgdGVzdGluZy4gIEJlZm9yZSBjb21tZW5jaW5nIGRldmVsb3BtZW50LCB5b3UgZmlyc3QgbmVlZCB0byBzZXQgdXAgeW91ciBkZXBsb3ltZW50IChhbmQgdGFyZ2V0KS4gIEZv''@;'; put 'put ''ciB0aGlzLCBzZWUgdGhlIFthZG1pbiBndWlkZV0oL2FkbWluLWd1aWRlL2FkbWluLW92ZXJ2aWV3KS4KClRoZSByZXN0IG9mIHRoaXMgZ3VpZGUgaXMgc3BsaXQgYmV0d2VlbjoKCiogW0Zyb250ZW5kXSgvZGV2ZWxvcGVyLWd1aWRlL2Zyb250ZW5kKQoqIFtCYWNrZW5kXSgvZGV2ZWxvcGVy''@;'; put 'put ''LWd1aWRlL2JhY2tlbmQpCiogW1Rlc3RpbmddKC9kZXZlbG9wZXItZ3VpZGUvdGVzdGluZykKKiBbRG9jdW1lbnRhdGlvbl0oL2RldmVsb3Blci1ndWlkZS9kb2N1bWVudGF0aW9uKQoK'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=documentation-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBEZXZlbG9wZXIgR3VpZGUgLSBEb2N1bWVudGF0aW9uCgpUaGUgZG9jdW1lbnRhdGlvbiBpcyBpbiAzIHBhcnRzOgoKICogRG9jc2lmeSBVc2VyIEd1aWRlIChhbHNvIHRoaXMgZGV2IGd1aWRlLCBhbmQgYWRtaW4gZ3VpZGUpCiAqIERveHlnZW4gU0FTIGRvY3MKICogVHlwZWRvYyBKUyBE''@;'; put 'put ''b2NzCgpUbyBidWlsZCBhbGwgdGhlIGRvYyBzaXRlcywganVzdCBydW4gYG5wbSBydW4gZG9jYC4KCiMjIERvY3NpZnkKCkRvY3NpZnkgY2FuIGJlIGluc3RhbGxlZCB3aXRoIGBucG0gaSAtZyBkb2NzaWZ5LWNsaWAuICBUbyBzZXJ2ZSBsb2NhbGx5LCBqdXN0IGBjZCBwdWJsaWNgIGFuZCBy''@;'; put 'put ''dW4gYGRvY3NpZnkgc2VydmUgLi9kb2NzYC4KCkRvY3NpZnkgZG9lcyBub3QgbmVlZCB0byBiZSBjb21waWxlZCwgYW5kIHNvIHRoZSBzb3VyY2UgZmlsZXMgYXJlIHN0b3JlZCBkaXJlY3RseSBpbiB0aGUgYHB1YmxpY2AgZm9sZGVyLiAgSXQgaXMgYWRkZWQgdG8gdGhlIGZpbmFsIGZyb250''@;'; put 'put ''ZW5kIGJ1aWxkIHdoZW4gcnVubmluZyBgbnBtIHJ1biBidWlsZC1yZWFjdGAuCgpUbyBlbnN1cmUgbmV3IHBhZ2VzIGFyZSBsaXN0ZWQgaW4gdGhlIHNpZGViYXIsIGFkZCB0aGVtIHRvIGBwdWJsaWMvZG9jcy9fc2lkZWJhci5tZGAuICBUaGUgcmVtYWluaW5nIGNvbmZpZ3VyYXRpb24gaXMg''@;'; put 'put ''bWFkZSBpbiBgcHVibGljL2RvY3MvaW5kZXguaHRtbGAuCgpGb3IgbW9yZSBpbmZvLCBzZWUgW0RvY3NpZnkgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kb2NzaWZ5LmpzLm9yZy8jLykuCgojIyBEb3h5Z2VuCgpEb3h5Z2VuIGlzIHVzZWQgdG8gcmVhZCB0aGUgaGVhZGVyIGNvbW1lbnRzIGZy''@;'; put 'put ''b20gU0FTIHByb2dyYW1zIHRvIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUgZG9jdW1lbnRhdGlvbiBzaXRlLiAgSXQgaXMgY29udHJvbGxlZCBieSB0aGUgW3Nhc2pzIGRvY10oaHR0cHM6Ly9jbGkuc2FzanMuaW8vZG9jLykgY29tbWFuZCwgd2hpY2ggdGVsbHMgZG94eWdlbiB3aGljaCBmb2xk''@;'; put 'put ''ZXJzIHRvIHNjYW4sIGFuZCB3aGVyZSB0byBwdXQgdGhlIG91dHB1dHMgKHNlZSB0aGUgYGRvY0NvbmZpZ2AgaW4gYHNhc2pzL3Nhc2pzY29uZmlnLmpzb25gKS4KCkRveHlnZW4gc3VwcG9ydHMgc2ltcGxlIEhUTUwgYW5kIG1hcmtkb3duLCBhcyB3ZWxsIGFzIG1hbnkgY3VzdG9tIHRhZ3Mu''@;'; put 'put ''ICBGb3IgbW9yZSBpbmZvLCBzZWUgW0RveHlnZW4gZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuZG94eWdlbi5ubC9pbmRleC5odG1sKS4KCgojIyBUeXBlRG9jCgpUeXBlRG9jIGlzIHVzZWQgdG8gY2FwdHVyZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGphdmFzY3JpcHQgbWV0aG9k''@;'; put 'put ''cyBhbmQgZnVuY3Rpb25zLiAgSXQgY2FuIGFsc28gZGlzcGxheSB0eXBlcywgYW5kIHdoZXRoZXIgZWFjaCBhcmd1bWVudCBpcyBvcHRpb25hbCBvciBub3QuCgpUaGUgYG5wbSBydW4gZG9jYCBjb21tYW5kIGludm9rZXMgdHlwZWRvYyBhbmQgcHVibGlzaGVzIHRoZSBvdXRwdXRzIHRvIGBw''@;'; put 'put ''dWJsaWMvZG9jcy9zdGF0aWMvanNgLgoKRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbVHlwZWRvYyBkb2N1bWVudGF0aW9uXShodHRwczovL3R5cGVkb2Mub3JnLyku'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=frontend-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBEZXZlbG9wZXIgR3VpZGUgLSBGcm9udGVuZAoKVGhlIGZyb250ZW5kIGlzIGJ1aWx0IHVzaW5nIHRoZSBSZWFjdCBmcmFtZXdvcmssIGFuZCBpcyBiYXNlZCBvbiB0aGUgU0FTanMgUmVhY3QgU2VlZCBhcHA6IFtodHRwczovL2dpdGh1Yi5jb20vc2FzanMvcmVhY3Qtc2VlZC1hcHBdKGh0''@;'; put 'put ''dHBzOi8vZ2l0aHViLmNvbS9zYXNqcy9yZWFjdC1zZWVkLWFwcCkuCgpUaGUgZmlyc3QgYnVpbGQgY2FuIGJlIGdlbmVyYXRlZCB1c2luZyBgbnBtIHJ1biBidWlsZGAgaG93ZXZlciBmb3Igc3Vic2VxdWVudCBidWlsZHMsIHVzZSBgbnBtIGJ1aWxkLXJlYWN0YCAod2hpY2ggYXZvaWRzIHRo''@;'; put 'put ''ZSBuZWVkIHRvIHJlY29tcGlsZSB0aGUgZG9jdW1lbnRhdGlvbikuCgpBbGwgY29tbXVuaWNhdGlvbiB3aXRoIFNBUyBpcyBtYWRlIHRocm91Z2ggdGhlIFNBU2pzIEFkYXB0ZXIgd2hpY2ggaXMgZG9jdW1lbnRlZCBbaGVyZV0oaHR0cHM6Ly9hZGFwdGVyLnNhc2pzLmlvKS4KCg=='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=testing-guide-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBEZXZlbG9wZXIgR3VpZGUgLSBUZXN0aW5nCgpBdXRvbWF0ZWQgYmFja2VuZCB0ZXN0aW5nIGlzIGFjaGlldmVkIGJ5IHJ1bm5pbmcgYHNhc2pzIHRlc3RgLg=='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/docs/static; %let path=services/web/docs/static/assets; %let path=services/web/docs/static/assets/css; %let service=buble-css; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''QGltcG9ydCB1cmwoImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1JbmNvbnNvbGF0YXxJbmNvbnNvbGF0YS1Cb2xkIik7Knstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy13ZWJraXQtdGFw''@;'; put 'put ''LWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDpub25lOy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveH1ib2R5Om5vdCgucmVhZHkpe292ZXJmbG93OmhpZGRlbn1ib2R5Om5vdCgucmVhZHkpIC5hcHAt''@;'; put 'put ''bmF2LGJvZHk6bm90KC5yZWFkeSk+bmF2LGJvZHk6bm90KC5yZWFkeSkgW2RhdGEtY2xvYWtde2Rpc3BsYXk6bm9uZX1kaXYjYXBwe2ZvbnQtc2l6ZTozMHB4O2ZvbnQtd2VpZ2h0OmxpZ2h0ZXI7bWFyZ2luOjQwdmggYXV0bzt0ZXh0LWFsaWduOmNlbnRlcn1kaXYjYXBwOmVtcHR5OmJlZm9y''@;'; put 'put ''ZXtjb250ZW50OiJMb2FkaW5nLi4uIn0uZW1vaml7aGVpZ2h0OjEuMnJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnByb2dyZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tdGhlbWUtY29sb3IsIzAwNzRkOSk7aGVpZ2h0OjJweDtsZWZ0OjA7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0b3A6''@;'; put 'put ''MDt0cmFuc2l0aW9uOndpZHRoIC4ycyxvcGFjaXR5IC40czt3aWR0aDowO3otaW5kZXg6OTk5OTk5fS5zZWFyY2ggYTpob3Zlcntjb2xvcjp2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5KX0uc2VhcmNoIC5zZWFyY2gta2V5d29yZHtjb2xvcjp2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5KTtm''@;'; put 'put ''b250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9Ym9keSxodG1se2hlaWdodDoxMDAlfWJvZHl7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7Y29sb3I6IzM0NDk1ZTtmb250LWZhbWlseTpTb3VyY2UgU2Fu''@;'; put 'put ''cyBQcm8sSGVsdmV0aWNhIE5ldWUsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtsZXR0ZXItc3BhY2luZzowO21hcmdpbjowO292ZXJmbG93LXg6aGlkZGVufWltZ3ttYXgtd2lkdGg6MTAwJX1hW2Rpc2FibGVkXXtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNn1rYmR7Ym9y''@;'; put 'put ''ZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4IWltcG9ydGFudDtsaW5lLWhlaWdodDoxMnB4O21hcmdpbi1ib3R0b206M3B4O3BhZGRpbmc6M3B4IDVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9bGkgaW5wdXRb''@;'; put 'put ''dHlwZT1jaGVja2JveF17bWFyZ2luOjAgLjJlbSAuMjVlbSAwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uYXBwLW5hdnttYXJnaW46MjVweCA2MHB4IDAgMDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RleHQtYWxpZ246cmlnaHQ7ei1pbmRleDoxMH0uYXBwLW5hdi5uby1iYWRnZXttYXJn''@;'; put 'put ''aW4tcmlnaHQ6MjVweH0uYXBwLW5hdiBwe21hcmdpbjowfS5hcHAtbmF2PmF7bWFyZ2luOjAgMXJlbTtwYWRkaW5nOjVweCAwfS5hcHAtbmF2IGxpLC5hcHAtbmF2IHVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MH0uYXBwLW5hdiBhe2NvbG9yOmluaGVy''@;'; put 'put ''aXQ7Zm9udC1zaXplOjE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dHJhbnNpdGlvbjpjb2xvciAuM3N9LmFwcC1uYXYgYTpob3Zlcntjb2xvcjp2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5KX0uYXBwLW5hdiBhLmFjdGl2ZXtib3JkZXItYm90dG9tOjJweCBzb2xpZCB2YXIoLS10aGVtZS1j''@;'; put 'put ''b2xvciwjMDA3NGQ5KTtjb2xvcjp2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5KX0uYXBwLW5hdiBsaXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCAxcmVtO3BhZGRpbmc6NXB4IDA7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXJ9LmFwcC1uYXYgbGkgdWx7YmFja2dyb3Vu''@;'; put 'put ''ZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOiNkZGQgI2RkZCAjY2NjO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Om5vbmU7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNjFweCk7b3ZlcmZsb3cteTphdXRvO3BhZGRpbmc6''@;'; put 'put ''MTBweCAwO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xNXB4O3RleHQtYWxpZ246bGVmdDt0b3A6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXB9LmFwcC1uYXYgbGkgdWwgbGl7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxcmVtO21hcmdpbjo4cHggMTRweDt3aGl0''@;'; put 'put ''ZS1zcGFjZTpub3dyYXB9LmFwcC1uYXYgbGkgdWwgYXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH0uYXBwLW5hdiBsaSB1bCBhLmFjdGl2ZXtib3JkZXItYm90dG9tOjB9LmFwcC1uYXYgbGk6aG92ZXIgdWx7ZGlzcGxheTpibG9ja30uZ2l0aHVi''@;'; put 'put ''LWNvcm5lcntib3JkZXItYm90dG9tOjA7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0ZXh0LWRlY29yYXRpb246bm9uZTt0b3A6MDt6LWluZGV4OjF9LmdpdGh1Yi1jb3JuZXI6aG92ZXIgLm9jdG8tYXJtey13ZWJraXQtYW5pbWF0aW9uOm9jdG9jYXQtd2F2ZSAuNTZzIGVhc2UtaW4tb3V0O2Fu''@;'; put 'put ''aW1hdGlvbjpvY3RvY2F0LXdhdmUgLjU2cyBlYXNlLWluLW91dH0uZ2l0aHViLWNvcm5lciBzdmd7Y29sb3I6I2ZmZjtmaWxsOnZhcigtLXRoZW1lLWNvbG9yLCMwMDc0ZDkpO2hlaWdodDo4MHB4O3dpZHRoOjgwcHh9bWFpbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRo''@;'; put 'put ''OjEwMHZ3O2hlaWdodDoxMDAlO3otaW5kZXg6MH1tYWluLmhpZGRlbntkaXNwbGF5Om5vbmV9LmFuY2hvcntkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOmFsbCAuM3N9LmFuY2hvciBzcGFue2NvbG9yOiMzNDQ5NWV9LmFuY2hvcjpob3Zlcnt0''@;'; put 'put ''ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5zaWRlYmFye2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMDcpO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjQwcHggMCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDt0cmFuc2l0aW9uOnRyYW5zZm9y''@;'; put 'put ''bSAuMjVzIGVhc2Utb3V0O3dpZHRoOjE2cmVtO3otaW5kZXg6MjB9LnNpZGViYXI+aDF7bWFyZ2luOjAgYXV0byAxcmVtO2ZvbnQtc2l6ZToxLjVyZW07Zm9udC13ZWlnaHQ6MzAwO3RleHQtYWxpZ246Y2VudGVyfS5zaWRlYmFyPmgxIGF7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246''@;'; put 'put ''bm9uZX0uc2lkZWJhcj5oMSAuYXBwLW5hdntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnN0YXRpY30uc2lkZWJhciAuc2lkZWJhci1uYXZ7bGluZS1oZWlnaHQ6MmVtO3BhZGRpbmctYm90dG9tOjQwcHh9LnNpZGViYXIgbGkuY29sbGFwc2UgLmFwcC1zdWItc2lkZWJhcntkaXNwbGF5Om5vbmV9''@;'; put 'put ''LnNpZGViYXIgdWx7bWFyZ2luOjAgMCAwIDE1cHg7cGFkZGluZzowfS5zaWRlYmFyIGxpPnB7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbjowfS5zaWRlYmFyIHVsLC5zaWRlYmFyIHVsIGxpe2xpc3Qtc3R5bGU6bm9uZX0uc2lkZWJhciB1bCBsaSBhe2JvcmRlci1ib3R0b206bm9uZTtkaXNwbGF5''@;'; put 'put ''OmJsb2NrfS5zaWRlYmFyIHVsIGxpIHVse3BhZGRpbmctbGVmdDoyMHB4fS5zaWRlYmFyOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHh9LnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHh9LnNpZGViYXI6''@;'; put 'put ''aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6aHNsYSgwLDAlLDUzLjMlLC40KX0uc2lkZWJhcjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDpoc2xhKDAsMCUsNTMuMyUsLjEpfS5zaWRlYmFyLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9y''@;'; put 'put ''OnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjgpO2JvcmRlcjowO291dGxpbmU6bm9uZTtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246b3BhY2l0eSAuM3M7d2lkdGg6''@;'; put 'put ''MDt6LWluZGV4OjMwO2N1cnNvcjpwb2ludGVyfS5zaWRlYmFyLXRvZ2dsZTpob3ZlciAuc2lkZWJhci10b2dnbGUtYnV0dG9ue29wYWNpdHk6LjR9LnNpZGViYXItdG9nZ2xlIHNwYW57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5KTtkaXNwbGF5OmJsb2NrO21h''@;'; put 'put ''cmdpbi1ib3R0b206NHB4O3dpZHRoOjE2cHg7aGVpZ2h0OjJweH1ib2R5LnN0aWNreSAuc2lkZWJhcixib2R5LnN0aWNreSAuc2lkZWJhci10b2dnbGV7cG9zaXRpb246Zml4ZWR9LmNvbnRlbnR7cGFkZGluZy10b3A6NjBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRv''@;'; put 'put ''bTowO2xlZnQ6MTZyZW07dHJhbnNpdGlvbjpsZWZ0IC4yNXMgZWFzZX0ubWFya2Rvd24tc2VjdGlvbnttYXJnaW46MCBhdXRvO21heC13aWR0aDo4MCU7cGFkZGluZzozMHB4IDE1cHggNDBweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWFya2Rvd24tc2VjdGlvbj4qe2JveC1zaXppbmc6Ym9yZGVy''@;'; put 'put ''LWJveDtmb250LXNpemU6aW5oZXJpdH0ubWFya2Rvd24tc2VjdGlvbj46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubWFya2Rvd24tc2VjdGlvbiBocntib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWVlO21hcmdpbjoyZW0gMH0ubWFya2Rvd24tc2Vj''@;'; put 'put ''dGlvbiBpZnJhbWV7Ym9yZGVyOjFweCBzb2xpZCAjZWVlO3dpZHRoOjFweDttaW4td2lkdGg6MTAwJX0ubWFya2Rvd24tc2VjdGlvbiB0YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MXJlbTtvdmVyZmxv''@;'; put 'put ''dzphdXRvO3dpZHRoOjEwMCV9Lm1hcmtkb3duLXNlY3Rpb24gdGh7Zm9udC13ZWlnaHQ6NzAwfS5tYXJrZG93bi1zZWN0aW9uIHRkLC5tYXJrZG93bi1zZWN0aW9uIHRoe2JvcmRlcjoxcHggc29saWQgI2RkZDtwYWRkaW5nOjZweCAxM3B4fS5tYXJrZG93bi1zZWN0aW9uIHRye2JvcmRlci10''@;'; put 'put ''b3A6MXB4IHNvbGlkICNjY2N9Lm1hcmtkb3duLXNlY3Rpb24gdHI6bnRoLWNoaWxkKDJuKXtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjh9Lm1hcmtkb3duLXNlY3Rpb24gcC50aXB7YmFja2dyb3VuZC1jb2xvcjojZjhmOGY4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXIt''@;'; put 'put ''bGVmdDo0cHggc29saWQgI2Y2Njtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7bWFyZ2luOjJlbSAwO3BhZGRpbmc6MTJweCAyNHB4IDEycHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWFya2Rvd24tc2VjdGlvbiBwLnRpcDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojZjY2O2JvcmRl''@;'; put 'put ''ci1yYWRpdXM6MTAwJTtjb2xvcjojZmZmO2NvbnRlbnQ6IiEiO2ZvbnQtZmFtaWx5OkRvc2lzLFNvdXJjZSBTYW5zIFBybyxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtsZWZ0Oi0xMnB4O2xpbmUtaGVpZ2h0OjIwcHg7cG9z''@;'; put 'put ''aXRpb246YWJzb2x1dGU7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTRweH0ubWFya2Rvd24tc2VjdGlvbiBwLnRpcCBjb2Rle2JhY2tncm91bmQtY29sb3I6I2VmZWZlZn0ubWFya2Rvd24tc2VjdGlvbiBwLnRpcCBlbXtjb2xvcjojMzQ0OTVlfS5tYXJr''@;'; put 'put ''ZG93bi1zZWN0aW9uIHAud2FybntiYWNrZ3JvdW5kOnJnYmEoMCwxMTYsMjE3LC4xKTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjFyZW19Lm1hcmtkb3duLXNlY3Rpb24gdWwudGFzay1saXN0Pmxpe2xpc3Qtc3R5bGUtdHlwZTpub25lfWJvZHkuY2xvc2UgLnNpZGViYXJ7dHJhbnNmb3Jt''@;'; put 'put ''OnRyYW5zbGF0ZVgoLTE2cmVtKX1ib2R5LmNsb3NlIC5zaWRlYmFyLXRvZ2dsZXt3aWR0aDphdXRvfWJvZHkuY2xvc2UgLmNvbnRlbnR7bGVmdDowfUBtZWRpYSBwcmludHsuYXBwLW5hdiwuZ2l0aHViLWNvcm5lciwuc2lkZWJhciwuc2lkZWJhci10b2dnbGV7ZGlzcGxheTpub25lfX1AbWVk''@;'; put 'put ''aWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KXsuZ2l0aHViLWNvcm5lciwuc2lkZWJhciwuc2lkZWJhci10b2dnbGV7cG9zaXRpb246Zml4ZWR9LmFwcC1uYXZ7bWFyZ2luLXRvcDoxNnB4fS5hcHAtbmF2IGxpIHVse3RvcDozMHB4fW1haW57aGVpZ2h0OmF1dG87bWluLWhlaWdodDox''@;'; put 'put ''MDB2aDtvdmVyZmxvdy14OmhpZGRlbn0uc2lkZWJhcntsZWZ0Oi0xNnJlbTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGVhc2Utb3V0fS5jb250ZW50e2xlZnQ6MDttYXgtd2lkdGg6MTAwdnc7cG9zaXRpb246c3RhdGljO3BhZGRpbmctdG9wOjIwcHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0g''@;'; put 'put ''LjI1cyBlYXNlfS5hcHAtbmF2LC5naXRodWItY29ybmVye3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgZWFzZS1vdXR9LnNpZGViYXItdG9nZ2xle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7d2lkdGg6YXV0bztwYWRkaW5nOjMwcHggMzBweCAxMHB4IDEwcHh9Ym9keS5jbG9zZSAu''@;'; put 'put ''c2lkZWJhcnt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnJlbSl9Ym9keS5jbG9zZSAuc2lkZWJhci10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuOCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDFzO3dpZHRoOjA7cGFkZGluZzoxMHB4fWJvZHkuY2xvc2UgLmNv''@;'; put 'put ''bnRlbnR7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTZyZW0pfWJvZHkuY2xvc2UgLmFwcC1uYXYsYm9keS5jbG9zZSAuZ2l0aHViLWNvcm5lcntkaXNwbGF5Om5vbmV9LmdpdGh1Yi1jb3JuZXI6aG92ZXIgLm9jdG8tYXJtey13ZWJraXQtYW5pbWF0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lmdp''@;'; put 'put ''dGh1Yi1jb3JuZXIgLm9jdG8tYXJtey13ZWJraXQtYW5pbWF0aW9uOm9jdG9jYXQtd2F2ZSAuNTZzIGVhc2UtaW4tb3V0O2FuaW1hdGlvbjpvY3RvY2F0LXdhdmUgLjU2cyBlYXNlLWluLW91dH19QC13ZWJraXQta2V5ZnJhbWVzIG9jdG9jYXQtd2F2ZXswJSx0b3t0cmFuc2Zvcm06cm90YXRl''@;'; put 'put ''KDApfTIwJSw2MCV7dHJhbnNmb3JtOnJvdGF0ZSgtMjVkZWcpfTQwJSw4MCV7dHJhbnNmb3JtOnJvdGF0ZSgxMGRlZyl9fUBrZXlmcmFtZXMgb2N0b2NhdC13YXZlezAlLHRve3RyYW5zZm9ybTpyb3RhdGUoMCl9MjAlLDYwJXt0cmFuc2Zvcm06cm90YXRlKC0yNWRlZyl9NDAlLDgwJXt0cmFu''@;'; put 'put ''c2Zvcm06cm90YXRlKDEwZGVnKX19c2VjdGlvbi5jb3ZlcnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwdmg7d2lkdGg6MTAwdnc7ZGlzcGxheTpub25l''@;'; put 'put ''fXNlY3Rpb24uY292ZXIuc2hvd3tkaXNwbGF5OmZsZXh9c2VjdGlvbi5jb3Zlci5oYXMtbWFzayAubWFza3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7b3BhY2l0eTouODtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfXNlY3Rpb24uY292ZXIgLmNvdmVyLW1h''@;'; put 'put ''aW57ZmxleDoxO21hcmdpbjotMjBweCAxNnB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmV9c2VjdGlvbi5jb3ZlciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9c2VjdGlvbi5jb3ZlciBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfXNlY3Rp''@;'; put 'put ''b24uY292ZXIgcHtsaW5lLWhlaWdodDoxLjVyZW07bWFyZ2luOjFlbSAwfXNlY3Rpb24uY292ZXIgaDF7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6Mi41cmVtO2ZvbnQtd2VpZ2h0OjMwMDttYXJnaW46LjYyNXJlbSAwIDIuNXJlbTtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRl''@;'; put 'put ''cn1zZWN0aW9uLmNvdmVyIGgxIGF7ZGlzcGxheTpibG9ja31zZWN0aW9uLmNvdmVyIGgxIHNtYWxse2JvdHRvbTotLjQzNzVyZW07Zm9udC1zaXplOjFyZW07cG9zaXRpb246YWJzb2x1dGV9c2VjdGlvbi5jb3ZlciBibG9ja3F1b3Rle2ZvbnQtc2l6ZToxLjVyZW07dGV4dC1hbGlnbjpjZW50''@;'; put 'put ''ZXJ9c2VjdGlvbi5jb3ZlciB1bHtsaW5lLWhlaWdodDoxLjg7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luOjFlbSBhdXRvO21heC13aWR0aDo1MDBweDtwYWRkaW5nOjB9c2VjdGlvbi5jb3ZlciAuY292ZXItbWFpbj5wOmxhc3QtY2hpbGQgYXtib3JkZXItcmFkaXVzOjJyZW07Ym9yZGVy''@;'; put 'put ''OjFweCBzb2xpZCB2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdGhlbWUtY29sb3IsIzAwNzRkOSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEuMDVyZW07bGV0dGVyLXNwYWNpbmc6LjFyZW07bWFyZ2luOi41cmVt''@;'; put 'put ''IDFyZW07cGFkZGluZzouNzVlbSAycmVtO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246YWxsIC4xNXMgZWFzZX1zZWN0aW9uLmNvdmVyIC5jb3Zlci1tYWluPnA6bGFzdC1jaGlsZCBhOmxhc3QtY2hpbGR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5''@;'; put 'put ''KTtjb2xvcjojZmZmfXNlY3Rpb24uY292ZXIgLmNvdmVyLW1haW4+cDpsYXN0LWNoaWxkIGE6bGFzdC1jaGlsZDpob3Zlcntjb2xvcjppbmhlcml0O29wYWNpdHk6Ljh9c2VjdGlvbi5jb3ZlciAuY292ZXItbWFpbj5wOmxhc3QtY2hpbGQgYTpob3Zlcntjb2xvcjppbmhlcml0fXNlY3Rpb24u''@;'; put 'put ''Y292ZXIgYmxvY2txdW90ZT5wPmF7Ym9yZGVyLWJvdHRvbToycHggc29saWQgdmFyKC0tdGhlbWUtY29sb3IsIzAwNzRkOSk7dHJhbnNpdGlvbjpjb2xvciAuM3N9c2VjdGlvbi5jb3ZlciBibG9ja3F1b3RlPnA+YTpob3Zlcntjb2xvcjp2YXIoLS10aGVtZS1jb2xvciwjMDA3NGQ5KX0uc2lk''@;'; put 'put ''ZWJhcntjb2xvcjojMzY0MTQ5O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc2lkZWJhciBhe2NvbG9yOiM2NjY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnNpZGViYXIgbGl7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6LjJlbSAwfS5zaWRlYmFyIHVsIGxpIHVse3BhZGRpbmc6MH0u''@;'; put 'put ''c2lkZWJhciBsaS5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5zaWRlYmFyIGxpLmFjdGl2ZSBhe2NvbG9yOiMzMzN9Lm1hcmtkb3duLXNlY3Rpb24gaDEsLm1hcmtkb3duLXNlY3Rpb24gaDIsLm1hcmtkb3duLXNlY3Rpb24gaDMsLm1hcmtkb3duLXNlY3Rpb24gaDQsLm1hcmtkb3du''@;'; put 'put ''LXNlY3Rpb24gc3Ryb25ne2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NDAwfS5tYXJrZG93bi1zZWN0aW9uIHN0cm9uZ3tjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjYwMH0ubWFya2Rvd24tc2VjdGlvbiBhe2NvbG9yOnZhcigtLXRoZW1lLWNvbG9yLCMwMDc0ZDkpfS5tYXJrZG93bi1zZWN0aW9u''@;'; put 'put ''IG9sLC5tYXJrZG93bi1zZWN0aW9uIHAsLm1hcmtkb3duLXNlY3Rpb24gdWx7bGluZS1oZWlnaHQ6MS42cmVtO21hcmdpbjowIDAgMWVtO3dvcmQtc3BhY2luZzouMDVyZW19Lm1hcmtkb3duLXNlY3Rpb24gaDF7Zm9udC1zaXplOjJyZW07Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDAgMXJl''@;'; put 'put ''bX0ubWFya2Rvd24tc2VjdGlvbiBoMntmb250LXNpemU6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDFyZW07cGFkZGluZzoxcmVtIDAgMH0ubWFya2Rvd24tc2VjdGlvbiBoM3tmb250LXNpemU6MS41cmVtO21hcmdpbjo1MnB4IDAgMS4ycmVtfS5tYXJrZG93bi1zZWN0aW9u''@;'; put 'put ''IGg0e2ZvbnQtc2l6ZToxLjI1cmVtfS5tYXJrZG93bi1zZWN0aW9uIGg1e2ZvbnQtc2l6ZToxcmVtfS5tYXJrZG93bi1zZWN0aW9uIGg2e2NvbG9yOiM3Nzc7Zm9udC1zaXplOjFyZW19Lm1hcmtkb3duLXNlY3Rpb24gZmlndXJlLC5tYXJrZG93bi1zZWN0aW9uIG9sLC5tYXJrZG93bi1zZWN0''@;'; put 'put ''aW9uIHAsLm1hcmtkb3duLXNlY3Rpb24gdWx7bWFyZ2luOjEuMmVtIDB9Lm1hcmtkb3duLXNlY3Rpb24gb2wsLm1hcmtkb3duLXNlY3Rpb24gdWx7cGFkZGluZy1sZWZ0OjEuNXJlbX0ubWFya2Rvd24tc2VjdGlvbiBsaXtsaW5lLWhlaWdodDoxLjU7bWFyZ2luOjB9Lm1hcmtkb3duLXNlY3Rp''@;'; put 'put ''b24gYmxvY2txdW90ZXtib3JkZXItbGVmdDo0cHggc29saWQgdmFyKC0tdGhlbWUtY29sb3IsIzAwNzRkOSk7Y29sb3I6Izg1ODU4NTttYXJnaW46MmVtIDA7cGFkZGluZy1sZWZ0OjIwcHh9Lm1hcmtkb3duLXNlY3Rpb24gYmxvY2txdW90ZSBwe2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tbGVm''@;'; put 'put ''dDowfS5tYXJrZG93bi1zZWN0aW9uIGlmcmFtZXttYXJnaW46MWVtIDB9Lm1hcmtkb3duLXNlY3Rpb24gZW17Y29sb3I6IzdmOGM4ZH0ubWFya2Rvd24tc2VjdGlvbiBjb2Rle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6LjJlbSAuNHJlbTt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1hcmtkb3du''@;'; put 'put ''LXNlY3Rpb24gY29kZSwubWFya2Rvd24tc2VjdGlvbiBwcmV7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5O2ZvbnQtZmFtaWx5OkluY29uc29sYXRhLG1vbm9zcGFjZX0ubWFya2Rvd24tc2VjdGlvbiBwcmV7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNlZWU7Zm9udC1zaXplOjE2cHg7bWFyZ2lu''@;'; put 'put ''OjAgMCAxZW07cGFkZGluZzowIDEwcHggMTJweCAwO292ZXJmbG93OmF1dG87d29yZC13cmFwOm5vcm1hbDtwb3NpdGlvbjpyZWxhdGl2ZX0udG9rZW4uY2RhdGEsLnRva2VuLmNvbW1lbnQsLnRva2VuLmRvY3R5cGUsLnRva2VuLnByb2xvZ3tjb2xvcjojOTNhMWExfS50b2tlbi5wdW5jdHVh''@;'; put 'put ''dGlvbntjb2xvcjojNTg2ZTc1fS5uYW1lc3BhY2V7b3BhY2l0eTouN30udG9rZW4uYm9vbGVhbiwudG9rZW4uY29uc3RhbnQsLnRva2VuLmRlbGV0ZWQsLnRva2VuLm51bWJlciwudG9rZW4ucHJvcGVydHksLnRva2VuLnN5bWJvbCwudG9rZW4udGFne2NvbG9yOiMyNjhiZDJ9LnRva2VuLmF0''@;'; put 'put ''dHItbmFtZSwudG9rZW4uYnVpbHRpbiwudG9rZW4uY2hhciwudG9rZW4uaW5zZXJ0ZWQsLnRva2VuLnNlbGVjdG9yLC50b2tlbi5zdHJpbmcsLnRva2VuLnVybHtjb2xvcjojMmFhMTk4fS50b2tlbi5lbnRpdHl7Y29sb3I6IzY1N2I4MztiYWNrZ3JvdW5kOiNlZWU4ZDV9LnRva2VuLmF0cnVs''@;'; put 'put ''ZSwudG9rZW4uYXR0ci12YWx1ZSwudG9rZW4ua2V5d29yZHtjb2xvcjojYTExfS50b2tlbi5mdW5jdGlvbntjb2xvcjojYjU4OTAwfS50b2tlbi5pbXBvcnRhbnQsLnRva2VuLnJlZ2V4LC50b2tlbi52YXJpYWJsZXtjb2xvcjojY2I0YjE2fS50b2tlbi5ib2xkLC50b2tlbi5pbXBvcnRhbnR7''@;'; put 'put ''Zm9udC13ZWlnaHQ6NzAwfS50b2tlbi5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnRva2VuLmVudGl0eXtjdXJzb3I6aGVscH0ubWFya2Rvd24tc2VjdGlvbiBwcmU+Y29kZXtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTpibG9jaztmb250LWZh''@;'; put 'put ''bWlseTpJbmNvbnNvbGF0YSxtb25vc3BhY2U7bGluZS1oZWlnaHQ6MS4xcmVtO21heC13aWR0aDppbmhlcml0O292ZXJmbG93OmluaGVyaXQ7cGFkZGluZzoyMHB4IC44ZW07cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6aW5oZXJpdH0ubWFya2Rvd24tc2VjdGlvbiBjb2RlOmFmdGVy''@;'; put 'put ''LC5tYXJrZG93bi1zZWN0aW9uIGNvZGU6YmVmb3Jle2xldHRlci1zcGFjaW5nOi4wNXJlbX1jb2RlIC50b2tlbnstd2Via2l0LWZvbnQtc21vb3RoaW5nOmluaXRpYWw7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6aW5pdGlhbDttaW4taGVpZ2h0OjEuNXJlbTtwb3NpdGlvbjpyZWxhdGl2ZTts''@;'; put 'put ''ZWZ0OmF1dG99'';'; put 'run;'; put '%sasjsout(CSS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/docs/static/assets/img; %let service=sasjs_240x120-png; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''iVBORw0KGgoAAAANSUhEUgAAAPAAAAB4CAMAAAD7aI8VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJBQTFRFHR0ev7+/QEBAgICAPToFEBAQICAg7+/vn5+fMDAw39/fYGBgt60Oz8/Pj4+PUFBQenQJcHBwDw4BHx0Cr6+vEhITBQUGGxsc5dkRCwsLAgICGBgYXFcH''@;'; put 'put ''x8bELisD1soQmZALiYIKqJ8MxrwPa2UITEgGBwcIw8PCx8bFMDAvw8LBxcTCwcHA9OcS////AAAARjqF2AAACdhJREFUeNrsnAl3ozgSgC0JicuAOXrGPeO1YyfZ2+L//7stHYAEckI8Tq8g0Xvdweb8VFJdKrz52cr2cyPbn3/IT3/8KT/9/pvaqb5cR9ts5hCvCviLEW++GvHmqxFvvhrx5qsR''@;'; put 'put ''b358MeINn9HImoDJjIZ/0cOct0O7HNt6F3wCsEedf7wO7amunuDP9rhm4KDHfQ7al73aPFfrB94f2uDUw+9f1g58rurt1WynYM3A27raXcftUq8V+PTaHvY953bY3FVrBN7v2mBrKOrWEDZ0xeqAq0qaol5Ri1ZfBnnXngHHZY5QQwp6Y//NHX0bRjMo6l7uzz3y2SfgNOkc0TByk2Xle9cYyKwZ''@;'; put 'put ''+9L3Q+ANMEWm7x3GjkMwT2ba4cnYrc6+AdPMjjZcxBHneA7w3kVVP/sF3Izjq3Ayqil827x9lVpCubVx5RUwVpSooCzVso7GxxDxLZsxh4OP7/vlwErAeT90oWXjY5IZgfVigJV8TfwJWaFG+jqAmZ0WoSGaDl2txdNVAKspXAwdcKtPjGGwJgm7Wt6pbzYfuH7Z7V49nsPJG54jDTvgaD6w9K+O''@;'; put 'put ''XgKj91jSNwz0LeCjjegVsObJbnpShiOWzgUOPAZuu8AB4Te0mhrWySqAcS/AxCVB5YuUqlvwO67lIoCNScpDQh1utFDQ5WSq1zuznRzAT3rf1jPgFicmssONhsiBTixTcJ22YMY+HxIAlIQDcsamM7zohjZZBzAgl4kzIC56ZYXHamvZwIKtT3xkdGSlySDrdD3A4GY24yVWZszccuRQK6hnvWDo''@;'; put 'put ''UlqnrdmO/gGDlEM7Esy1yjL1tQ08yyw9qn1CXjrmZvSk3ejCtMi5GzhYKLA2Q8S00Intc9FVSVgPXDRxo6cOtQ3cLgiYpZNYAY2cTrNlTmAVH9ULAGaRHROgAThyl8lgp4SFmn5qvQemEspMvYe9ZqI36oIiJ7DV/AXG45hAqely0F+ORhcMrARqhH3KtYoH1yrHRksMHb5Q4Nx2n41MfOHI3JWG''@;'; put 'put ''nVoosPYtQsKEuk4MvwMZXtYoOi4WDKyFNtVKjI8y1sYIaAYod/nGq892eGJ8VLCUO7NYeBjnOnhwxQTB3mvHI7d5G2oMdeJO+eVGCPg0FnJfqeWta4mNEoCksBJdzD0DwtaorrTL7YzindpXYLC+pEFJghCJbfM0XQVng0P94iq3c9a2+Bw8fKQZVYa63M6u1FodMGjjk1luVw+VWtvgM27nQ2Ha''@;'; put 'put ''bhjCg3Q/YTR7A2yW2z28ttJLYKvc7nFVhj4Dm+V2D6sj9Ru4L7fb7z71Nl695LF9bC2498DgcuyCz76FX8C/oH0DfwN/A38DfwN/A3sMHCPZmlG5FYLPeb+smyL7FH1wjrrTRUtbhLoz5FaK+lxIrHLyPgBjnoinTUaVkyITh3pMwu1TdJoOcQUccgXcr6gUcmmNDIsTeg3VvjOSizNM3yY3i65T''@;'; put 'put ''d9kxHEv/OjDRDz95MWUOsPWXh3ohOApHwDyaSpipxYpSL9JY2V37hn3L36s4/wCweDqKRf/J/zHrgFNS0rnAKFEZvDCygZmz/jCTpzWhvBy2htgN4CSbvltxL3DEGWxj+Q0ehrR8QSls5gLnMkdb8MIGxs468VzuD6MESUQhO1aSlCrgmJDxmCt42qgrgTxSdWQct5iU6vIFIcUMYDnacpEndwAj''@;'; put 'put ''Xsh1BscpGGcT4FgumkZhawOXPA95QibPT8TF0lzMfEmSdot0hOeOiuyI01R1Ns8zfSRCkU4Bq5fHMvousC6lK1zATC1zJ9x1Sq+FBmAYdFJoI2DCM0LQ+AUIKr4A2kJ0apjJnqQty0IKJ4RYLLyn9vFNS0M51WVfYLGNBCLLoLtKoQtSXs6TcJHBxafApXrmfK6E4QQGkotHwGmpBDS2fSFM5Eyo''@;'; put 'put ''tDYWPZsleuDqAU7tLirVaIuleuz0jlK2YpZF0kSQdOYcptDFU2D9zLOVFgyJsm2SdgSsjfFQr9UJPmbiWnCChIFRLxp8RZR9Q9Z9s1B2R6TupB9EHwJfpHA6nq+0hM5UwMUUOJ8NDBKjgssFzMbLbJiXqRAQDAspnuGHYnQPW8BxN/m0m6CBUX/rQkziiM4EZjBBFHBuAGP3HH4DuOREMFjAVGmf''@;'; put 'put ''dGJEeROF8t6lnPvDslQn4cRS6rmQPxJXURcEhdcdor6gRTR5U+rGHE4TeLpY3BFzU0snoZTAfGDGpVpRwKWc6rHS9aBjxr3fJGGk7au4ZJIoD6zo57CpppW6Ug+pvJSci0srQwgzScqm4TO1tHxDRWr4yASOwWfK5tthOTXyHrh7O01ZjOlLxqX2nHJVIpMKQK2lk1hoaasKW+vfBKTPlRWVdhO8''@;'; put 'put ''TZbAOZG4Pk2yd4CpFoK+Ktjw3tOKxbeURIQxbJ/CupDA/isvw6S7JjaZLuOJtU8wdYNj7XwXegjlgx2Oxq8ANZ3zAgMHJJzoOnwAFufAEzDh0k971a/wEJtdJXqLKP8JehgTwlyHQn8Lq0dTZYBgdIGUZLexMopKts54eFBNiH+JBMA38P8P2Lufl/tsYDQrQj8GgfP9jToIghX+gJiq2umWSWvY''@;'; put 'put ''VFuVKoC4HH0FxqT/n+UI5cIkCP+dYBahRpoR2IhibA/zQ1+0Iz+eu9/yqLpql33tKbBy8cX/LEwQCkOm5jBHocjsYeGowRbPbMWyv+4PVS3ELMEE5kVsvEAXHGUV05P3wNLZl+GfBBYuoYw7EuE+p7YrHuhfUdpdr6Jw57WvN92qOtvqet16D6y8XuEvSeBGmw6snMNsDPwsRHvcbgXwE/ApdPgj''@;'; put 'put ''CxLP27P3wBj8WBV9S2CigZ35A/njBqeng1JNlSiuhX96Ml+3j64J+BxgUFoQECWxG9jOH/RKS1ZbvgixnuR0rnQp0/6hP235eOBI49BURKwWcMqL6ZAGQ3R+7muFYesQXK5XYaOqgy5Yu3gLTEUECjgytSyDbwuYSRcQ20oLnA5gez3vhTbu64lPbRUEIObjy/axRcSPBE5FtqThXMWobRE2I2AY''@;'; put 'put ''zIhEPLSAt/odAKmNz8OrwoESs1RjgZ/AMkOCxAwdkuA2cJuCSS5sB3+nlbEEBpsM3mSwE0XyQszaE/EVGAL1LuCO0zS+6V9biTUxindBcIDZu3vVTkYl3EsQ/fY1CJ56V3N5vjSVFjkeRVD9MH6uLp0wYeNw7KsvD0sFhjmcITRZ7zlIp/m0q+puFAtTdemKxS/OAW0svX+o/eJoKY0QKqfZu+pW''@;'; put 'put ''FHgMboVK//qbbP/UHP9WH/+hPv3X3vkfY+dyMx769/t/qE+j3+//Ye387fdh54JTPPcRLzmndRfxopN49xAvO2t5B/HC07QfJ156XvrjxEsl/fvPO4kXC7y5k3i5wHcSLxj4PuIlA99D/D8BBgC0OB0tGs0qyQAAAABJRU5ErkJggg=='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=sasjs_square-png; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAB9KADAAQAAAABAAAB9AAAAABUpuy6AABAAElEQVR4Ae3dBZgcRdrA8Xd8d2MQgiZYcIcEJ+jB4e4cdseh9+GWEBcSQoLe''@;'; put 'put ''4YfDoQcHhx8Owd0hEAJECBDiuzv+dc2wySas9OxM91RX/ft59tnZmZ7uqt9bO+90dXdVSETyzg8LAggggAACCARYIBzgslN0BBBAAAEEEPhNgIROU0AAAQQQQMAAARK6AUGkCggggAACCJDQaQMIIIAAAggYIEBCNyCIVAEBBBBAAAESOm0AAQQQQAABAwRI6AYEkSoggAACCCBAQqcNIIAAAggg''@;'; put 'put ''YIAACd2AIFIFBBBAAAEESOi0AQQQQAABBAwQIKEbEESqgAACCCCAAAmdNoAAAggggIABAiR0A4JIFRBAAAEEECCh0wYQQAABBBAwQICEbkAQqQICCCCAAAIkdNoAAggggAACBgiQ0A0IIlVAAAEEEECAhE4bQAABBBBAwAABEroBQaQKCCCAAAIIkNBpAwgggAACCBggQEI3IIhUAQEEEEAAARI6''@;'; put 'put ''bQABBBBAAAEDBEjoBgSRKiCAAAIIIEBCpw0ggAACCCBggAAJ3YAgUgUEEEAAAQRI6LQBBBBAAAEEDBAgoRsQRKqAAAIIIIAACZ02gAACCCCAgAECJHQDgkgVEEAAAQQQIKHTBhBAAAEEEDBAgIRuQBCpAgIIIIAAAlEIEDBVoEf3kKywfFgifG2tWojzzp4/+zInmYx6xIIAAl4KkNC91GXbvgus''@;'; put 'put ''1Tssp50Qk4P3jUmP7r7vnh02E/jgk5xcMCxJMm9mwkMEvBQgoXupy7Z9E4hEQjLsgriceXJMorRq39xb2tFPv+Rl2NiU3HFfRnI5jsxbMuI5BLwQ4KPPC1W26atA504hueemGvnDDhFf98vOFhdIpUSuuTktl1yVknnzSeSL6/AXAt4LhJxd8J/nvTN78EggHA7JA7fWyJ5/IJl7ROxqs489k5X+''@;'; put 'put ''I5IyaXLO1frlrLRUt5BsvXlE1lgtLD2WCTmnVkLStYvInHkiv87Ky8xf8zJ1ek7eeCcn0370vjzl1IX3IlBJAY7QK6nJtnwXOOuUGMncd/VFO/zk85ycPywlL03ILHrSo0dbbBaRC8+Myx67RCTs8kLH737Iy4Q3s3LH/Rl5+TXvy+hR1dksAq4EOEJ3xcRKOgosv2xYPplQJ53qdCyd2WX65VeR''@;'; put 'put ''keOScsu/MpLNetvJt6xzFD68f0KOP7K8449HnszKwIv96UUwO/rUTlcBl99zdS0+5bJZ4KhDoiRznxtAxjnI/ftNadmo3wK56c60p8lcXeh46p/j8tErncpO5opp/z0j8v4LdTJ6UEK6dVXHMiwImCXAEbpZ8bSqNi8+Widb9uE7qV9Bf+LZ4nnyryd5f156+20icvnIhGywrjfxVT0MI5wehlt9''@;'; put 'put ''6GHwKz7sBwESOm0gsALff9SZe819iN7nX6n7yVPy3Mven4PuuWLYOYKOy6H7l9e97pbl0y9ycuHwlDz/ivd1c1sm1kOgowIk9I7K8b6qC9RP6Vz1MphcgF9ni4wan/K8a10ZxuMhOf3EmAw4Ky51tf6rqt6HAc5V+hN96H3wv3bs0RYBErotkTawniR0b4KazYrccHtaLr48JbNme3vBm6rB7rtE''@;'; put 'put ''ZfzwhKyxuvo4qt6irg+47ta0jLkyJbPneF/v6tWUPZsqQEI3NbIW1IuEXvkg/+/FbGG41i+/9v48+eqrhuXSYQnZeze9xhBo6pn4511phq2tfBNjix4KkNA9xGXT3gqQ0Cvn+9U3eedcclKeft77c8l1tSE5//S4nO2MIRCPV64Old7SFxPzhcFynnnBe5NKl53t2SlAQrcz7kbUmoRefhhnzxEZ''@;'; put 'put ''fUVKrr/Nn6PRg/aJyiVDEtJrpep2r5ci98wLxav7v5jofa9FKeViXQSWFCChLynC34ERIKF3PFQ5Jzf9865MYXCYmc5wqV4v660dLtyGtuN2enWvu623uq7gxjuK1xWo4WVZENBRgISuY1QokysBErorpt+t9Pwr6jx5ypmn3MlSHi9du4Rk4DlxOe0vMYkEM5cvJtTUo6EuGkynSeyL4fBH1QVI''@;'; put 'put ''6FUPAQXoqAAJvTS5b77Ny4CRSXnsGe/PCYdCIfmTM5LfqIFxWa5HcLrX3YpOnORYOre5PfGs95Zuy8R6CJDQaQOBFSChuwvdXGcWMnUr1rW3+HNU2WdjZ5S3UQkrRvFTvR1qYJpPv/C+t8NdtFnLZgESus3RD3jdSehtB1CdJ7/tnowMvzQpP8/0vnt4maWLk6j8+aioOAfo1izKWU1Soyar8cPZ''@;'; put 'put ''GlgqWrIACb1kMt6giwAJvfVIvDTBOU/uHDl+/Jn3R45qEpW/Hh2VoRckZKlurZfJ9FeaekLU4DSplPdfoEz3pH6lC5DQSzfjHZoIkNB/H4hvv8vLRaOS8siT/pzb3XbLiFzhdK9vtL43k6j8vob6PzNpcjEGjz7lTwz0F6GEfgmQ0P2SZj8VFyChLyKdN1/k0r+nClOb+nF0uMJyxUlUjjjIn0lU''@;'; put 'put ''FtU0OI9UL8l5Qzm/HpyIBb+kJPTgx9DaGpDQRfJOz+4d92Vk2NiUzPjZ+4FPolE1R3lMBp0bly7MjdPu/546v64G7fFrXPx2C8QKRguQ0I0Or9mVsz2hT3gzJ+cPTcoHn3h/nly1pH5bR+TKixOy/jp0r5f6nzVzljhfuorzr+dynF8v1Y/13QmQ0N05sZaGArYm9O+nFM/RPvSYP+doV1y+2L1+''@;'; put 'put ''+IF0r5f7b/DRZzk5d3BSJrzpz5ewcsvL+4MlQEIPVrwobTMB2xL6gnqR8f9IyVU3pqWx0fujPNW9rkZ4U93rnTs1g+dh2QIPPJKRgRenZMo070+TlF1YNhAYARJ6YEJFQZcUsCmh3/1gRoaMScn0Gf4kgB22jTpXr8dFjcHO4o1AQ6NzIePV/n1B86YWbFUnARK6TtGgLCUJ2JDQ33ineJ783Q/9''@;'; put 'put ''6aJdaYWwjBkcl0P3p3u9pMZYxsrf/VCcupbb3MpA5K0FARI6DSGwAiYn9CnT8jJodEru/0/al/jEYsXudTWRCt3rvpD/bicvvOrc5jYkKZ9/5U8vzO8KwBOBFyChBz6E9lbAxISuumEvuyYlV1yfloYG78+Tq9az43aqez0h666lPg5YqimgpmlVI82pOepnz/En/tWsL/uurAAJvbKebM1HAdMS''@;'; put 'put ''+n0PZwpH5VOn+3OE1nPFYvf6IfvRve5js3W1q19+FRl6SVJuvzcj3ObmioyVHAESOs0gsAKmJPS33y+eJ3/rPX/Ok6vu9f/7a0wuOjsuneoCG34rCv7BJ8Xb3F5/25+2YQWqwZUkoRscXNOrFvSEPu3HvAx2rly/96GMM+KbP92rO/eLFqY2XWdNuteD9P/hd+9NkGwo6yIBEvoiCx4FTCCoCb3R''@;'; put 'put ''OU9+5Q3pwj3l9T6dJ++1UlguGRKXg/ahez1gzXxhcesbRMY6t7ld7YxDkEz68wVw4c55EAgBEnogwkQhWxIIYkL/938zzmxoKflhqj/nyVX3+hknxWTAWXGpq21JkeeCJqBm1LtweFIee8afkQKD5mNzeUnoNkc/4HUPUkJ/76PieXI/z4Xusr1z9boz9vpaveleD3hTb7H4z76ULYzl/+XX/nw5''@;'; put 'put ''bLEQPKmVAAldq3BQmFIEgpDQf/wp71ytnJK7HvDvPLnqXh87NCEH7h0phZN1AyiQcQ7Sm25zmzOXbvgAhrCiRSahV5STjfkpoHNCTyalMDe5mqN8/gJ/Pmjj8WL3ev8z6V73sx3qsK+fZ+YLQwOrqXT9usBSh3pThsUFSOiLe/BXgAR0TegPP551zpMn5bsf/OsK3W2nqFw2MiFrrk73eoCacMWL''@;'; put 'put ''qk7tnD0wKW+/z21uFccNwAZJ6AEIEkVsWUC3hP7hp8Xz5K++4d+H6aorh+XSYQnZd3e611tuJXY+qwakGTImKerIncUeARK6PbE2rqa6JPSffsnL8EtTvo7qVVsbknNOjcl5f4tLImFcaKlQBQTmzBUZMS4lN96RlmyWxF4BUu03QULXPkQUsDWBaif0tDNvyj/+mZZLrkrJvPn+fWDut0e0cFS+''@;'; put 'put ''Si+611trGzy/SOCTz51u+EFJmfCmfz1Hi/bOIz8FSOh+arOvigpUM6H/9+msDBiZlEmT/TtPvvYa4cJ58j/sQPd6RRuSJRtTIxIOvDgl02f412YtodWmmiR0bUJBQUoVqEZCV0c75w9LyUsT/BvUo3OnUGFgmNNPjEmUgd5KbSas30xg/gKRiy9PybW3pCWd9q9XqVkReOihAAndQ1w27a2Anwld''@;'; put 'put ''zX41YlxSbv1XxtfzkYcfGJPRg+Ky4vJ0r3vbmuza+lff5OUcpxv++Vf8+2Jql3B1aktCr447e62AgB8JvVoDd2y0fqQwR/m2W4YrIMUmEGhZQN1i2X9E0rehiFsuBc9WSoCEXilJtuO7gNcJ/cnnsoUxs7+e5N85x6W6hWTI+XE56diYhMnlvrcpG3fY4EwWdKkz6YuaMIhJX4LdAkjowY6f1aX3''@;'; put 'put ''KqF//lVOLnDOkz/3sn/dkaFQSI47IiojBiSkR3erw0rlqySgJn05b2hSnnzWv3Zfpaoau1sSurGhNb9ilU7ov84WGTU+JTfd6e99u1tsFinMUd53Ew7JS2m1M37Oy6+z1I/ITOe3mlK++1LOz9Khws8Ky4XE+Z7EUqKA6pk630nsft7BUWIRWb0VARJ6KzA8rb9ApRJ61rk994bb04Wrf2fN9u/K''@;'; put 'put ''32WXCRWOyNWROUv7AqmUyAOPZuSBRzLy1ntZmT2n7Vh16RwS9WXp4H2jcviBUaaPbZ944RrK+orr0zLOmYugvqFt54Vv4kHVBUjoVQ8BBeioQCUS+jMvFM+T+zkFZSQSkpOPi8ng8+LSrWtHa2/X+x55snjf/+TvO3Y9Q88VwzLqonghsdslV15tp0wrzr3+8ON0w5cn6c+7Sej+OLMXDwTKSejq''@;'; put 'put ''tp0Lhyfl6ef9/aDqt3Xx6vUN1qV73U2T+Piz4n3/L79WmTht1Tci44YnZPNN8Xfj37TOC69mC7e5+fnFt2nf/HYvQEJ3b8Wamgl0JKHPniMy+oqUXH9bWjIZ/7oSV1ohLGMGx+XQ/eled9OMmu77v+XujORylY2TugDxqEOcCxD7c3+/m1g0raNu4VRDHY+50t+hjpv2z+/2BUjo7RuxhqYCpST0''@;'; put 'put ''nNNTqy52Uxe9qQuo/FrUHOX/99dYYaS3TnV+7TW4+/Hzvv9OdSE5//S4nHlSjAluSmgy02fknemBU3Lfw85kBixaCZDQtQoHhSlFwG1Cf/6VbOE2tM++9HdyCuYoLyWaIk/9dt//RB/v+1clVFPQjh6UkAP3Zoz8UiL22lvFSV8+/szf/6tSymjbuiR02yJuUH3bS+jffJsvjIL1+P8qc/7VLd2a''@;'; put 'put ''vcNyyZCE7LUrCcKN2Zdf550vXEn534v+xmnJsm2/TfH8+sbrc359SZvW/lY9X+oOkZFOz1d7dx20tg2er5wACb1ylmzJZ4HWEvrcecXz5Nfd6u8EFN26hqT/mXE57S8xicV8xgjg7tT1DGqiEJUQ/LyeoS2qcDgkxx8ZlaEXxEXdVsjiTuDnmXkZ5MzkdtcDGWc8AP9OabkrnT1rkdDtibVxNV0y''@;'; put 'put ''oaujBTV5ippERX3A+LWoJPDno1QSYJQ3N+YqTv+8KyMjnTj5eT2Dm7I1rdO1S3GGO76cNYm4+/3muzk566KkfPgp3fDuxCq7Fgm9sp5szUeB5gn9pQnOefLhKfH7fN6O20Xl0qFx2YhuWleRV7c/qWF1P/0iGB/4nD5xFdbFVlJf2NQFqMMvpRt+MRgf/iCh+4DMLrwRUAldjT89YGRSHn3K3/Ov''@;'; put 'put ''q69avJBq/z05T+4mupMmF+P036f9jZObsrlZ5w87RAv3r6+7Ft3wbrzUOurWw0EXJ+XO++mGd2tW7nok9HIFeX/VBM45LV64LzaV8q97XQ0neuEZ8cKtaPF41aoemB3PXyCF+5avuTktfsbJC6BoNCQnHlMc4W+pbl7swcxtvvVesRv+g0+C0SsT5CiQ0IMcPcrum4A6T37MYVEZ7gxGslwPjtLc''@;'; put 'put ''wN/7UEYGOhdKTZ/h9MEatPToHnLaQaJw8RyTv7gLrLpO7qY7M043fFL8nC/BXenMWYuEbk4sqYlHAtttVbydadMNuZ3JDfFHznCtZw9Myutvm31E1mfj4ix5W/ahXbhpF2od1Q0/eHRS7riPbni3ZqWsR0IvRYt1rRJYpZc6Tx6Xg/ZhuFY3gZ/lTD+rjsDUFeyVHq7Vzf6rsY4aRvboQ6My0pn4''@;'; put 'put ''hZ4b9xFQ3fDqS9/7H5v9pc+9SGXWJKFXxpGtGCTAkKClBVN1p6ox14eN1fc2tNJqVPra6ja3gecUxyCIcJ2kK0DVbtSXP9Vu6IZ3RdbuSiT0dolYwRYBJu0oPdLqvmN1pMUFT0W79dYOy2UjE7LTdmR1t61p5qxiN/zt99IN79astfVI6K3J8LxVAltvXjxP3ncTzoe6CfyMn52RwUan5F8P8iHc''@;'; put 'put ''kpc6TaOG/+21kvqIZXEj8Pb7xS+H731EN7wbr5bWIaG3pMJz1gj0WiksFw9kWlO3AVezoV17S7owZOu8+f7dLui2fDqtV1dbnM3t7FNiwi2O7iKjuuFv/u30za8+zorornT6r0VC1z9GlNADAfVhq+5jP+fUmNTUeLADAzepRnk7d3BSvpho1m1oXodKDUI0bjiT9ZTirLrhh4xJym330ANUihsJ''@;'; put 'put ''vRQt1g28gDpPftgBURnlXJXcc0W6Q90E9IepeblweFL+80QwR3lzU0c/1tl9l6iMdxL7GqvT7tx6v/NBsRv+3Q/phndjRkJ3o8Q6RghssVnxPDn3DbsLZzIpcvl1aRl/TUoaGuhed6fW9lrxeEhOPzFWmJWvU13b6/JqUaDpLoqhztXwdMO33SpI6G378KoBAissVzxPfuTB3E/uNpyPPaMmUUnK''@;'; put 'put ''5O/pXndrVsp6PVcsjnFw6P60SbduvzrjHDR1w9syzoFbm6b1SOhNEvw2UuDwA2NyuXMb0dJLGVm9ildq4qS8nDckKf97ke71iuO2sMF+WzujzTntc8P1uLuiBZ4Wn3r3w2I3/Dsf0A2/JBAJfUkR/jZCQE2ictOVNbLfHtwP7CagC+pFRl+RKkx2k07Tve7GrFLrRCIhOelYJn0pxbOpG36wc+Hc''@;'; put 'put ''7Dm01yY7EnqTBL+NEVi5Z1geur1GNliXox43Qb3v4eIkKtN+pHvdjZdX66hJX0YMSMhxR0SFSV/cKX/3Q14OPLaBOy9+4yKhu2s3rBUQgdVWCcvz/6mVFZZTTZulLYGP1SQqg5Ly2lt0Xbbl5PdrfTcpTvqyxWZ8IXVjrwY52n7vBpkyjS+kJHQ3LYZ1AiHQfemQvPBInazVm2TeVsBmz1k0iUo2''@;'; put 'put ''S3dlW1bVek3dXqmm61WTviy7DO25vTh88ElOdj2wQeotvxtDnWAc1h4WryMQBIHbr62VbTbnqKa1WKnzjrf+KyOH/aVBXnkjK+pvFn0FPvw0V4hXTSIk6qg9TNNuNViqR265ZcPy+P/svpiTI/RWmwgvBElgnz9G5f5bGPKttZip6SrPcbrXGSe7NSG9n19/HXU1fFx22JaLPFuLVM7pce+7S718''@;'; put 'put ''+bW9Xe8k9NZaB88HSuC9FzrJumvRNblk0H76xZlE5eKU3M0kKkvSBPJvNenL2KEJRjlsJXoPP56VP53c0Mqr5j9NQjc/xsbXcNstI/LsQ7XG17OUCmad69yaJlGZO4++9VLsdF9XzUNwwRlxOetkJn1pKVZr9K2X6TPsPErnrExLLYLnAiWgBo9hWSTw4oSsbLlbfWH8dZL5IhdTHqkLv4Y5w6D2''@;'; put 'put ''cbqXn3yOOxSWjOuOFs9FT0JfsjXwd+AEttuSZqyCNmVaXo4+pVH2OrxBPv/KziOUwDXeMgo8aXJODj6uQQ46rlG++ZZemCbKlXvae+qNT8KmVsDvQAqoEeHWX8fuZtzQKDJyfEo22bFeHnrM7qt8A9mIyyz0U89lpO8f6uWiUSmZN7/MjRnwdpvv3rD7k9CAxmt7FVZd2e4mrEZ523j7ehlzJTOi''@;'; put 'put ''2fy/kErl5crrU7JRv/rf5hC3VyOVsrfudn8a2ht3Y2reayU7u9fUPNE7798gfz69UaZOp3vdmAZdZkV++iUnp53fKNvt2SAT3rSzXaTTZSIG+O0k9AAHj6KLLOOMf23TMn1GXk48Oyk77tsgb77LBVE2xb6Uun7wSVZ2O7i+cE3FD1PtOr+esnhyIRJ6Kf8lrKudQCKuXZE8KVAyKTLu7+lC9/rd''@;'; put 'put ''D6SdUd7s+pD2BNWCjaprKtS1FSPGpZxhUS2osFNFutztiDO1NFBADYtp+qIGy9h0p3oZ6tyqtKCeRG56vCtdv8bGvFxyVarwZfCef5t/0WSKLvdKNyG2h4A/AhGDR8L8yJkNbfdDGwojX333g53nQ/1pRXbsRU2Pe8KZjbLTfg3y9vvmtqc0Xe52NGhqiUAQBH6emZf/uzAp2+7hTKLyOufJgxCz''@;'; put 'put ''IJXxrfeyhaR+wplJmfajeT0+dLkHqTVSVgQMFcg4vaFX31g8T37L3WnJ5cz7sDU0dIGrlroG455/p2WTHepl7NVpUddomLLQ5W5KJKkHAgEVUEN4qqE8+49Iypy5JPKAhjFwxVbXZAy/NGnUoEQk9MA1QwqMgBkCaojW/f7UWBjC8+tJ5p7XNCNa5tbi+ym5wi1uux3cIBMnBfsLpRpkx9aF29Zs''@;'; put 'put ''jTz1rqrArNkiZw9MOpOoNMizL5l/5XFVsdm5a4EJb2al3171ou6sCOrCOfSgRo5yIxBAgdffzslWf6yXG25PSzZr79FEAENnRZHnzc8X7qwYPCaYY6jS5W5FM6WSCFRf4PZ7M/LHQxqcmdHoXq9+NChBWwKXXZOSo05qlEZn8p8gLXS5BylalBWBgArcdk/GGWc7yVF5QONnY7H/80RGDjo+WEmd''@;'; put 'put ''I3QbWyp1RsBHgTffzckZA5IM2eqjObuqjMCLr2bksBManS+ildme11vhHLrXwmwfAYsFFtSLHHtao2QynC+3uBkEuurqws1Bo4NxTp3Z1gLd1Cg8AnoLXHtzWn6YyjlzvaNE6doTuOqGlLz8mv6H6cy21l4keR0BBDokoGa4utL5IGRBwASB/iNSzmkjvWtCl7ve8aF0CARW4KnnMjJrtuafgIHV''@;'; put 'put ''peB+C6h51p97We+jdC6K87tVsD8ELBEI8gAdloSIapYocO/Deg+ExGxrJQaU1RFAwJ3A62/rfTTjrhashcAigaedXiddF5sviFMxYehXXVsm5Qq8gBreVc1BzYKASQIzZ+Vl6nQ9TyPZ3N2u2hgJ3aT/NOqilcBEJlvRKh4UpnICalIhHRebL4hT8SCh69gqKZMRArPn6HkUYwQulaiqgK5t2+Zb''@;'; put 'put ''1lSDIKFX9d+CnZssMH8BCd3k+Npct7nz9Kw959D1jAulQiDwAg0Bm9Qi8OBUwDeBhkY9v6zS5e5bE2BHCCCAAAIIeCeQTOn5RcO7Gi++ZbrcF/fgLwQQQACBgApwlXtAA0exEUAAAQQQaC5Al3tzDR4jgAACCCAQUAEuigto4Cg2AggggAACzQW4ba25Bo8RQAABBBAIqABd7gENHMVGAAEEEECg''@;'; put 'put ''uQAXxTXX4DECCCCAAAIBFUhx21pAI0exEUAAAQQQaCbARXHNMHiIAAIIIIBAUAXocg9q5Cg3AggggAACzQS4KK4ZBg8RQAABBBAIqkAmy9CvQY0d5UYAAQQQQGChQDa78KGVDxjL3cqwU2kEEEDAPAESunkxpUYIIIAAAhYK5HIWVrpZlTlCb4bBQwQQQACB4ApwhB7c2FFyBBBAAAEEFgqQ0BdS''@;'; put 'put ''8AABBBBAAIHgCmTpcg9u8Cg5AggggAACTQJZbltrouA3AggggAACwRWgyz24saPkCCCAAAIILBSgy30hBQ8QQAABBBAIrgBH6MGNHSVHAAEEEEBgoQAJfSEFDxBAAAEEEAiuAAPLBDd2lBwBBBBAAIGFApnMwodWPmCkOCvDTqURQAAB8wS4bc28mFIjBBBAAAELBbjK3cKgU2UEEEAAAfMEuCjO''@;'; put 'put ''vJhSIwQQQAABCwVI6BYGnSojgAACCJgnQJe7eTGlRggggAACFgpwhG5h0KkyAggggIB5AiR082JKjRBAAAEELBTI5fIW1npRlbkPfZEFjxBAAAEEAizAEXqAg0fREUAAAQQQaBIgoTdJ8BsBBBBAAIEAC3CVe4CDR9ERQAABBBBoEuAIvUmC3wgggAACCARYgIQe4OBRdAQQQAABBJoE6HJvkuA3''@;'; put 'put ''AggggAACARZgtrUAB4+iI4AAAggg0CTAfOhNEvxGAAEEEEAgwAK5XIALX4GiRyuwDTaBAAIIVF0gFApJJCKFn7AzZFbE+VG/mxbn5cKijuIW1Ns9oliTiWm/bb8ojoRuWoumPggYJBCPh2Tj9cOy9prOzxphWXmlkPRYJiTLdA9J96VCUlsrUlvj/K4RicXcV1wdyc2bL/L1tzl5/+OcPPdSRh57''@;'; put 'put ''Jiu2n4N1L6jnmiR0PeNCqRBAwFKBWCwkhx8QlYP2icoO20akzknalV7UkXu3riJ9NwkXfv56dFSmTs/LRaNS8sAj6Urvju35JGD7Ve4cofvU0NgNAgi0L3DYATG5eGBceq74W/94+2+p2Bpqn7dfk5DNNgo7iT1Zse2yIf8EbD9Cb3aGyT909oQAAggsKTBueEJu+0eiKsm8eVnOOiUmRx5cQv99''@;'; put 'put ''8zfzuKoCtp8yIaFXtfmxcwQQUAJnnhyXv52gTxIdOzQh6vw9S7AEOEIPVrwoLQIIGCagLnYbdVFcq1r16C6Fc/haFYrCtCtg+zl0jtDbbSKsgAACXgqcc1q8cKuZl/voyLZ339m5B44lUAIcoQcqXBQWAQRMEuhUF5IjDtTz2tzNNiahB62t5S0fXoAj9KC1WMqLgEEC6ra0uF697Qt111w9JGqw''@;'; put 'put ''GpbgCNg+UhwJPThtlZIiYJzAzv30PQpW96p3qjOOnAoZLEBCNzi4VA0B3QU2XE/vj6CuXThC170NNS8fR+jNNXiMAAII+CiwVm99E/qCepGffrH8pKyPbaESu+IceiUU2QYCCCBQokBtbajqg8i0VeTX3spKJkNCb8tIt9c4QtctIpQHAQSsEOjhTLCi8/Ly61mdi0fZWhDgCL0FFJ5CAAEEvBbQ''@;'; put 'put ''PqG/RkL3ug1Uevt5yzO6viewKh1ptocAAloJqClQdV3SzoRrH3zizLHKEigButwDFS4KiwACpgh06axvTT77KifpNOfP9Y1QyyWzPWIcobfcLngWAQQ8Fqip0fcI/aNPOTr3OPyebJ4jdE9Y2SgCCCDQtkBtTduvV/NVEno19Tu+b8tPoQtH6B1vO7wTAQTKEKjV+Aj9i4kcoZcR2qq9lSP0qtGz''@;'; put 'put ''YwQQsFkgquecLIWQTJ1OQg9i2+QIPYhRo8wIIBB4gYi+w7jL1Om2X14VzObFEXow40apEUAg4AJq8hMdl7nzRObNJ6HrGJv2ymR71DT9l2ovbLyOAAJBF4ho+ulDd3twWxZd7sGNHSVHAIEAC+ja5U53e3AbFV3uwY0dJUcAAQQqLjBlmu0dtxUn9W2DJHTfqNkRAgggsEggpOm4MnS5L4pR0B7R''@;'; put 'put ''5R60iFFeBBBAwEOB6TM4QveQ19NNk9A95WXjCCCAQLAE5i8IVnkp7SIBEvoiCx4hgAAC1gs0NHCEbn0jCCiApjeOBFSTYiOAgGuBkKYn0esbXFeBFTUTYD50zQJCcRBAAIFqCtRzhF5NfvZdhgBH6GXg8VYEEDBPoIEjdPOCakmNSOiWBJpqIoCAOwGO0N05sZZ+AiR0/WJCiRBAoIoCnENvH1/H''@;'; put 'put ''Uf5sv8JdRY2E3n7bZQ0EELBIgCP09oPdpbOmowK1X3Sj1yChGx1e8yun85za5uubWcNk0sx6VbJWOiZ0jtA5Qq9kG2dbVRCoSVRhp+zSaAESQ/vhXXVl/Y7QiRsJvf2WyxpaC9TV6vfBojUYhWtXIMe4Mm0aJRIh2WAd/Tp3Segk9DYbLi/qL7ByTxK6/lEKVglJDG3Ha5stIsKprraNqvWqfl+z''@;'; put 'put ''qiXBfgMpsNoqNOFABk7jQpPQ2w7OicfE2l6hSq8SN47Qq9T02G0lBNSFOZtuSEKvhCXbWCRg+5zaiyR+/2jzTSOy3x6R37+gwTMkdBK6Bs2QInRUYM9doxKPd/TdvA+BlgVIDC27LL9sWO66vkZ0vAe95RLb9yyHN/bF3Iga1zoXww05j2xuRDA1qwQJ/fcB2XG7qLz+dK2s0kvfa1aIm0j096Hj''@;'; put 'put ''GQT0FqipCcmNlyek92r6frjoLUjp2hLIcZm7hMMhWat3SLbePCJ/PiomW/bR/9iPhE5Cb+v/mtc0E1AfMnvsEpFBzpE55841C45BxXnmwTqDauO+Kmo2286dRbo616Yst2xIOtnJ4B5MwzU5QneC0qN7SHquqP83UA3bj2dFqq11Plw6haSL8wHTe7WwbLJBWNTtMj1X5KjcM3Q2XBDotzWfBUFs''@;'; put 'put ''CgwfwBF6od3efHWN7LaTnlduBvEfizIjgAACCPgvYP1X0b6bREjm/rc79ogAAgggUGEB6xP6aX/Rc5CECseZzSGAAAJGC3BRHPehyw7b0tVu9H85lUMAAQQsEbD+CF1deMWCAAIIIIBA0AWsT+jqVg0WBBBAAAEEgi5gfUIPegApPwIIIICACOfQOYfO/wECCCCAAAJGCHCEbkQYqQQCCCCAgO0C''@;'; put 'put ''JHTbWwD1RwABBBAwQoCEbkQYqQQCCCBgtwDn0DmHbvd/ALVHAAEEEDBGgCN0Y0JJRRBAAAEEbBYgodscfeqOAAIIIGCMAAndmFBSEQQQQMBeAc6hcw7d3tZPzRFAAAEEjBLgCN2ocFIZBBBAAAFbBUjotkaeeiOAAAIIGCVAQjcqnFQGAQQQsFOAc+icQ7ez5VNrBBBAAAHjBDhCNy6kVAgBBBBA''@;'; put 'put ''wEYBErqNUafOCCCAAALGCZDQjQspFUIAAQQQsFGAhG5j1KkzAggggIBxAiR040JKhRBAAAEEbBQgodsYdeqMAAIIIGCcAAnduJBSIQQQQAABGwVI6DZGnTojgAACCBgnQEI3LqRUCAEEEEDARgESuo1Rp84IIIAAAsYJkNCNCykVQgABBBCwUYCEbmPUqTMCCCCAgHECJHTjQkqFEEAAAQRsFCCh''@;'; put 'put ''2xh16owAAgggYJwACd24kFIhBBBAAAEbBUjoNkadOiOAAAIIGCdAQjcupFQIAQQQQMBGARK6jVGnzggggAACxglEjauRhRXK50XmzhOZvyAvuZw5AGHn62ZtbUi6dBKJxcypFzUJrkAm4/yvzRepr8+L+r9j0Udg7jwCQkLXpz26Lsmvs0XufiAtr7yelfc/zsnU6QZl8RYUwuGQ9FopJJttFJaD''@;'; put 'put ''9okWfiKRFlbkKQQqLPDtd3m54760vPleTj74OCuz55A0KkzM5iooQEKvIKbXm8pmRYaOTcm1t6SlsdGeD5ZcLi/fT1E/OXnkyYxcdm1E7ryuRtbqHfKanO1bKtDQKHJ6/6Tc+1DG6fWy53/N0nAbU20SekBCmUqJ7H1kg0x408nqli8ffZqV/Y9ukFefqJPuS1mOQfUrLpBMiux6YIPT+8X/WsVx''@;'; put 'put ''2aCnAlwU5ylv5TZ+3tAkybwZ5+Tvc3LFdc63HBYEKiww9uoUybzCpmzOHwESuj/OZe3lq2/y8s8702Vtw8Q333J3WtRpCBYEKiWgLnS78Q7+1yrlyXb8FSCh++vdob3dxAdMi26zZuflsy/NviCwxYrzpGcC6iLTX2dxztwzYDbsqQAJ3VPeymz82Zece2VYWhT44BMSeoswPNkhganTSeYdguNN''@;'; put 'put ''WgiQ0LUIQ+uFmL9AZOIkPmRaE/r5F2xas+H50gWSSdpT6Wq8QxcBEroukWilHN9+l+O2mVZs1NNz5/MB3AYPL5UoUFPDrZAlkrG6RgIkdI2C0VJR5jmjUrG0LtDQ0PprvIJAqQKrr0JCL9WM9fURIKHrE4sWS8Jwhi2y8CQCngisviofiZ7AslFfBGi9vjB3fCcZbsvqOB7vRKBEgbraEt/A6gho''@;'; put 'put ''JEBC1ygYFAUBBBBAAIGOCpDQOyrH+xBAAAEEENBIgISuUTAoCgIIIIAAAh0VIKF3VI73IYAAAgggoJEACV2jYFAUBBBAAAEEOipAQu+oHO9DAAEEEEBAIwESukbBoChmCaiZu1gQQAABvwRI6H5Jsx8EEEAAAQQ8FCChe4jLphFAAAEEEPBLgITulzT7sU6ALnfrQk6FEaiqAAm9qvzsHAEEEEAA''@;'; put 'put ''gcoIkNAr48hWEEAAAQQQqKoACb2q/OzcZIFczuTaUTcEENBNgISuW0QojzECWWbKMyaWVASBIAiQ0IMQJcoYSIEsR+iBjBuFRiCoAiT0oEaOcmsvkM0ysoz2QaKACBgkQEI3KJhURS+BTEav8lAaBBAwW4CEbnZ8qV0VBZLJKu6cXSOAgHUCJHTrQk6F/RJoaKTL3S9r9oMAAiIkdFoBAh4JNDR6''@;'; put 'put ''tGE2iwACCLQgQEJvAYWnEKiEQH09R+iVcGQbCCDgToCE7s6JtRAoWWDmrJLfwhsQQACBDguQ0DtMxxsRaFtg5q8cobctxKsIIFBJARJ6JTXZFgLNBH4hoTfT4CECCHgtQEL3WpjtWysw+XuGirM2+FQcgSoIkNCrgM4uzReYPiMv8+bT5W5+pKkhAvoIkND1iQUlMUjgy685OjconFQFgUAIkNAD''@;'; put 'put ''ESYK2ZqAroO3vPI6U621FjOeRwABbwRI6N64slWfBObO82lHJe7m2ZdI6CWSsToCCJQpQEIvE5C3V1dg9hz9zlNPnJSXdz+ky726LYO9I2CfAAndvpgbVeOPP9MvcV5+bUpyOf2+aBgVeCqDAAK/EyCh/46EJ4IkMH1GTqZM0yd5TngzJ3c/yLypQWpDlBUBUwRI6KZE0uJ63HZPWovaT5qcl2NO''@;'; put 'put ''bZRMRp8vGFrAUAgEEPBFgITuCzM78VLghtvSMnV6dZPof5/OSr+96+XHn/Q7BeClPdtGAAF9BEjo+sSCknRQYOasvBx8fKPvSV1Nj/qfJ7Ky8/4NcvgJDaLjBXodJOVtCCAQQIFoAMtMkRH4ncBHn2alz8718n9/jckh+0VlvbUr91017fToq3HZVS/AxG9y8qXz8/Z7OXnt7awkk9XtGfgdBE8g''@;'; put 'put ''gIC1AiR0a0NvXsXVUKtjrkwVfjp3Cskaq4Vl6aVDUlsjEo0sqm/+txysfmedHvKsc8t44cd5rBJ0o3PkrQasUUfgs2YzhOsiOR4hgIDOAiR0naND2TosMH9BXj50jtpZEEAAAVsEKtcvaYsY9UQAAQQQQEBDARK6hkGhSAgggAACCJQqQEIvVYz1EUAAAQQQ0FCAhK5hUCgSAggggAACpQqQ0EsV''@;'; put 'put ''Y30EEEAAAQQ0FCChaxgUioQAAggggECpAiT0UsVYHwEEEEAAAQ0FSOgaBoUiIYAAAgggUKoACb1UMdZHAAEEEEBAQwESuoZBoUgIIIAAAgiUKkBCL1WM9RFAAAEEENBQgISuYVAoEgIIIIAAAqUKkNBLFWN9BBBAAAEENBQgoWsYFIqEAAIIIIBAqQIk9FLFWB8BBBBAAAENBUjoGgaFIiGAAAII''@;'; put 'put ''IFCqAAm9VDHWRwABBBBAQEMBErqGQaFICCCAAAIIlCpAQi9VjPURQAABBBDQUICErmFQKBICCCCAAAKlCpDQSxVjfQQQQAABBDQUIKFrGBSKhAACCCCAQKkCJPRSxVgfAQQQQAABDQVI6BoGhSIhgAACCCBQqgAJvVQx1kcAAQQQQEBDARK6hkGhSAgggAACCJQqQEIvVYz1EUAAAQQQ0FCAhK5h''@;'; put 'put ''UCgSAggggAACpQqQ0EsVY30EEEAAAQQ0FCChaxgUioQAAggggECpAiT0UsVYHwEEEEAAAQ0FSOgaBoUiIYAAAgggUKoACb1UMdZHAAEEEEBAQwESuoZBoUgIIIAAAgiUKkBCL1WM9RFAAAEEENBQgISuYVAoEgIIIIAAAqUKkNBLFWN9BBBAAAEENBQgoWsYlOZFChOh5hw8NkiAtm1QMKmKFgKk''@;'; put 'put ''Cy3C0HohunRq/TVeQSDIAp1p20EOH2XXUICErmFQmhepc+dQ8z95jIAxAl1o28bEkoroIUBC1yMOrZZiheVI6K3i8EKgBWjbgQ4fhddQgISuYVCaF2nF5UOy9FIk9eYmPDZDYIN1+fgxI5LUQhcB/qN0iUQb5dho/Ugbr/ISAsETUF9Se63EF9XgRY4S6yxAQtc5Or+VbY9dSOgBCBNFLEHgjztH''@;'; put 'put ''S1ibVRFAwI0ACd2NUpXXOWAvPvyqHAJ2X2GBA/emTVeYlM0hICT0ADSC1VYJyZ678gEYgFBRRBcCq60Slr12pdfJBRWrIFCSAAm9JK7qrTz4vHj1ds6eEaigwICz4hLl+2kFRdkUAkUBEnpAWsKmG4bl9BNJ6gEJF8VsRWCnflE5+lCyeSs8PI1AWQIk9LL4/H3zqIvi0ncTuir9VWdvlRJYftmw''@;'; put 'put ''3HJ1QkJc3F4pUraDwGICJPTFOPT+IxYTeeTuWtlkA5K63pGidEsKqGT+5P21wmAyS8rwNwKVEyChV87Sly11X0rkiftqZZft6bb0BZydlC2w7lpheebftbLuWhyal43JBhBoQ4CE3gaOri8t7ST1//6rRoZfmJB4nA9JXeNEuUSOPzImE56sk7V6005pDwh4LUBC91rYo+2r85Dnnx6T91+ok/33''@;'; put 'put ''5GjdI2Y220GBLftE5MVH6+TacQmprengRngbAgiUJEBCL4lLv5VXXzUk99xUI08/UCsbc25dvwBZVqKeK6oL32qcZF4rW/bh48Wy8FPdKgvwH1flAFRq99tvE5HXn6qVv19SI8suQ/dmpVzZjjuBmpqQ9D8zLh++XCdHHESPkTs11kKgsgIk9Mp6VnVrqhv+hKOj8vGrneSMk+ISi5HYqxoQS3Z+''@;'; put 'put ''8L4x+fClOhlyflzqai2pNNVEQEMBErqGQSm3SF27iFwyJC7vPl/HkLHlYvL+VgU22ygizz5UJ3del5CVe/LlsVUoXkDAJwESuk/Q1djNmquH5N+31cijzr3r6tYhFgQqIaDuKb9ufI28+kStbLsl7aoSpmwDgUoI8N9YCUXNt7HrjhF5+9k6GT8iIWoeahYEOiKgbpE8+9S4fPRKnRx3RJQR3zqC''@;'; put 'put ''yHsQ8FCAhO4hrk6bjjiDy532l1jh/PrJx8UkEiGx6xQf3cuy7+5Rec85hXPxwLh06ax7aSkfAnYKkNAti7saae6KixPy5jOMNmdZ6DtU3Q3Wjcjj99bKfTfXSO/V+BLYIUTehIBPAiR0n6B1283664TlsXtq5P5bamWN1WkGusWn2uVZZumQXDm6pvDFb+d+9swd0NhYbXn2j0DHBfgk77idEe/c''@;'; put 'put ''54+RQlfq6EEJ6dqFIzAjglpGJaLRkPzthHjh1MxJx0YlbNknxLwF+TL0eCsC1RWw7N+1uti67l3N4nbWKbHCxU5q7O1wmMSua6y8LNduO0ULF0+OGx6Xpbp5uSd9tz1nrr5lo2QItCdAQm9PyKLXl+sRKoy9/fJjathOe7pZLQpxi1VdbZVw4dTLI3fVyDpr2v1l7qtvci0a8SQCQRCwPqGn0kEI''@;'; put 'put ''k79l7LNxuDAW9w2X18hyPaxvIv7i+7i32tqQM7pbojDBjzr1wiLy6eckdNpBcAWs/7SeNJl/4Naa7zGHRQvd8KefGBd1bpXFHIED944Whmvtf2ZMEglz6lVuTV57O1vuJng/AlUTsD6hP/pUpmr4QdixGkZ27NB44WrnHbdj0o0gxKytMqoRA5+4r1buvqFGeq3El7TmVnPnibzwKgm9uQmPgyVg''@;'; put 'put ''fUK/6/6M1DcEK2jVKO16a4flyftq5K7rVSKwvtlUIwRl7VPdwTB2aKJw0dtO29G93hLmg49mJJXiKveWbHguGALqP3tYMIrqTSkX1Oelri4k223Fh5wbYZXY/3pMTNSx3Tsf5CTLAY0btqqtE3Km4Dv60Jhz0VuN7LJ9xLrb0NzCZ5yOuqNPbZQ5c0nobs1YTz8B9blsfQuucy4OUmOdr74qXZCl''@;'; put 'put ''NNFvv8vL+UOT8sSznLYoxc2vddVsaGpUwC370KPSnvnfb0rLhcOT7a3G6whoLUBC/y086gj96QdqOYLpQHN9+vmsnOck9m++5QLDDvBV/C1qlLfh/RPy56OYQMUN7oef5mSn/RokmbT+2MYNF+toLGB9l3tTbH6Ymi+cS//DDnS9N5m4/b2mM3TsiU43vOrpeOu9nKS5FdAtXUXXUxPunHRszBl3''@;'; put 'put ''vVa22SLMbGgudKdMy8sBxzTKzF9J5i64WEVzARJ6swC98U5Weq4Ylk03oouyGYurh2o2t223jMifDonJjz+JfPYlR+uu4Cq0krJ/wDlPfuwRMampqdBGDd/Mdz/kZY/DGmTy97RVw0NtTfXocl8i1GrY05uuSMiRB3OL1hI0Jf356hs5OWdwUj75nKvmSoIrceWVVggXpjQ9/EDaayl0/306K6ec''@;'; put 'put ''2yizZnNkXoob6+otwBH6EvHJO//f6p9ddV+qox7nImGWDgis0iskJxwdk2W6F7vhG7neqAOKrb8lFgvJmSfH5V831shmzsh+LO4Eps/IO180UzJkTFKYWc2dGWsFR4Aj9DZitfmmEWcKyYSooVBZOi7wy69S+AC9/d6M5NU3JpayBNQkKuNHJGSt3nzbdAupkveVN6TlsmtSom5VZUHARAESejtR''@;'; put 'put ''VV3wxx0RLVw13KN7OyvzcpsC737odMMPSsrb79MN3yZUKy+qSVTU4DD77s6Fm60Qtfj0fQ9nZPCYlEyZxrnyFoF40hgBErrLUC7VLSQDz4nLKcfHnO54l29itRYF7rgv4xyxp+SnX/iAbRFoiSfVJCrnnhZ3fhh3fQmaNv98892cXDCML5BtIvGiUQIk9BLDuf46Eae7My4Mn1ki3BKrq3GzR45P''@;'; put 'put ''yQ23pyWToQt0CZ6Ffx6wV7RwVL5yT7rXF6K08+D7KXkZNDolDz7K/ZPtUPGyYQIk9A4GVM1WdcmQhPBB20HA396mbm9TFym9/BqjzTWXVJOoqPPkarhWFncC8xeIjPtHStSob42NfEl0p8ZaJgmQ0MuIZlNX6Dmncu9vGYyFt/77vxkZMJLznF06F0/tnPaXmDNlbbmqdrxfXWd52z0ZGTEuJTN+''@;'; put 'put ''5jSOHVGnli0JkNBbUinxuVV6hQtH6wfsxdFUiXSLra5mvRt7dUquvjFt3TCcahIVNfbBxQPjsvyydK8v1jDa+OPFCVlnDPaUfPwZF1q2wcRLlgiQ0CsY6J36ReUy5/y6mpGMpeMCkyY7k744FzM9acmkL5tuWJxEZau+tBu3rWbipLxcNDIpj/+PUzVuzVjPfAESeoVjHI2GClfCqyviu3Wt8MYt''@;'; put 'put ''29xTz2ULid3USV/UJCpDL0zICX9iEhW3TXvWbJExVxYvpkynOU/u1o317BAgoXsU52WXKc54pe5hZ7S5jiOnUiJXOQOCXPp3cwYEUWMb/PXoqAy9ICFLL9VxG5veqeYrV3dEqGT+6ywSuU2xp67uBUjo7q06tGafjSNy+SjmpO4QXrM3TZ2eLwwOogYJCfJocztsG5Vxw+Ky0fp0rzcLb5sPn3g2''@;'; put 'put ''KwNGJGXiJC54axOKF60XIKH70ATUBU9HHRKVURdxwVO53Gp61vOdudeDNtqcGuVt9KCEcOGk+xbwyee5wgVvL7zKeXL3aqxpswAJ3cfoq1uSLjo7Ln87gVuSymX/14POaHOXpGTaj3oftXXuFJLz/y8uZ5zEKG9uY/7TL/nCLWjqVrRcju51t26shwAJvQptYO01wjJueEJ224nb3MrhX1BfHEhE''@;'; put 'put ''3eam20AiTb0yIwfEZYXl1L8ZS3sCSWdGvn/8s3i9xLz5JPL2vHgdgSUFSOhLivj49967ReXSYQlZfVU+8MthV0N9DnBuYXr4cT26Zrfqq4YHTkjfTThP7jauamChgRen5Pspeve4uK0P6yFQDQESejXUm+0zkVDzWsfkgtPjUlfb7AUelizw6hvF8+sfflqdQUZ6rRQuXCdx2AEM8eY2eO98UJxA''@;'; put 'put ''5Y13qhMzt+VkPQSCIEBC1yRKPVdUF03F5dD9SQblhKRpGNBhY5Py80x/um3VEMBnnxKTc/8Wl9qackpvz3tNuWvBnohR0yAIkNA1i1K/rZ3b3EYmZMP16K4tJzRqNjd1z/K1t6TFywFIDtkvVvgi1mslTpu4iVdjo8gV16dl/DUpaWjw5wuXm3KxDgImCJDQNYxiJBKSk46NyeDz4rJUNw0LGKAi''@;'; put 'put ''ffNt3rn1KSlPVHgYWTW+gLqwcZst+OLltjk89FhxAp4fpnKe3K0Z6yFQigAJvRQtn9ft0T0kIwYkhNHmyod/7uWsXOCMD//5V+UlkxWWC8uwC+NyzGGMAOg2Kh99lpPzhiTl1Tc4T+7WjPUQ6IgACb0jaj6/p+8mEbnM6Ybfsg9Hg+XQZ518cuMdTnfvP9IyfUZpib1rl5Cc6PSaXHhGXDp3KqcU''@;'; put 'put ''9rx35iyR4Zcm5Za7uZ/cnqhT02oKkNCrqV/CvtV9zUcfGpWRzmhzy/VQYWPpqEDOyeWvvJ6V19/JFY7Y1djg6mem86OSfndn0hT1s8zS4txSGBZ1G9quO0SkhgveXJErw+tuTcvoK1Iyew7nyV2hsRICFRAgoVcA0c9NdOsaEjWT26l/jkmEcWn8pGdfLgSefal4auOLiaX1gLjYNKsggEA7AiT0''@;'; put 'put ''doB0fXn9dZxueGfu9R23I6vrGiObyqXmsFcXHzI/uU1Rp666CZDQdYtIieU5aJ+ojB2akJ4r0g1fIh2rV0Bg/gKRS65KFYZsTaXoXq8AKZtAoMMCJPQO0+nzxjpnYJMLnIu1znJGnIvH9SkXJTFb4K4HnAlyxqTkx5/oXjc70tQuKAIk9KBEykU51QVc6t7ovXalG94FF6t0UEBNYatuQ3vnA25D''@;'; put 'put ''6yAhb0PAEwESuies1d3o7rtEZbyT2NdYnW746kbCrL1Pn5GXQaNTcu9DGcmrMXZZEEBAKwESulbhqFxh4vFQYQ7u/mcy6UvlVO3cUiolctUNxWlNF9STyO1sBdQ6CAIk9CBEqYwyqklfxgyOyyH7MelLGYzWvvXRp7LSf0RSJn/PeXJrGwEVD4wACT0woSqvoNtvU5z0ZYN1GW2uPEk73v3Zl855''@;'; put 'put ''8qEpefFVPeaYt0OdWiJQngAJvTy/QL1bTfpy8nHFSV+6dQ1U0SmsTwKzZouMHJ+Sm+5MO6Pm0b3uEzu7QaAiAiT0ijAGayPLLhOS4f0TcvyRdMMHK3LelVYNh6uSuErmahhcFgQQCJ4ACT14MatYiTfftDjpyxab0Q1fMdQAbkiNa3/O4JR8+gW3oQUwfBQZgYUCJPSFFHY+UJO+HHt41JmmNS7q''@;'; put 'put ''yJ3FHoFpP+ZlwMiUPPBI2p5KU1MEDBYgoRsc3FKqpiZ9GXxevHCOnUlfSpEL3roZ5zq3v9+UljFXpmT+ArrXgxdBSoxAywIk9JZdrH12g3WLk77ssC2jzZnYCJ5/xeleH5SUr77hNjQT40ud7BYgodsd/1Zrf8h+scL960z60ipRoF6YMq04G9rDj3MbWqACR2ERKEGAhF4Clm2rqklfLnQmfTmT''@;'; put 'put ''SV8CG3o1ytuVapS3q1NS30D3emADScERcCFAQneBZPsqvVcLF8aG3+MPdMMHqS08/XzWGRwmKd98S/d6kOJGWRHoqAAJvaNyFr5vz12jMm5YQnqvppoNi64C3/2Ql/OdRP7YM3Sv6xojyoWAFwIkdC9UDd5mIhEqdMFfcDqTvugW5mRSZPw1Kbns2rQ0NtK9rlt8KA8CXguQ0L0WNnT7vVYqTvpy''@;'; put 'put ''8L6MNqdDiB//X7ZwVM4kKjpEgzIgUB0BEnp13I3Z6w7bRuXykXFZfx1Gm6tGUCdNzsu5Q5Ly9PN0r1fDn30ioJMACV2naAS0LNFocdKXQefGhUlf/AliQ6PIWOfKdTVPeTJJ97o/6uwFAb0FSOh6xydQpVNDx468KFEYSjZQBQ9YYf/zRFYuHJ6UH6Zy9XrAQkdxEfBUgITuKa+dG99iM2fu9VEJ''@;'; put 'put ''6bsJ3fCVbAFf2hGgaAAABaJJREFUfZMvjPL2/Ct0r1fSlW0hYIoACd2USGpWDzXpy3FHqElfEtKju2aFC1hxFtRLYdx1Nf56Ok33esDCR3ER8E2AhO4btZ07WqpbSNS59VOOj0mYA/aSG8GDj2YKM6JNnU73esl4vAEBywRI6JYFvFrV3XA9pxt+ZEL6bU1WdxODz7/KydmDUvLya3Svu/FiHQQQ''@;'; put 'put ''ECGh0wp8FWDSl7a5Vff6yPEpufaWtGQydK+3rcWrCCDQXICE3lyDx74IdKoLiRppjklfFud+9Cln7HXnnvIp0+heX1yGvxBAwI0ACd2NEut4IqAmfbnUGRt+r13tnvRFjb1+tjNH+VPP0b3uSUNjowhYIkBCtyTQOlfzjzs7k74MT8havVVztGdJp6UwMMyYq1LSwNSm9gSemiLgkQAJ3SNYNlua''@;'; put 'put ''QCwWkr+dEJOLzo5L506lvTeIa7/yelbOvCgpX0ykez2I8aPMCOgoQELXMSoWl2mF5cIy6qK4HHWImZO+/DwzLxeNSsndDziH5ywIIIBABQVI6BXEZFOVE9iqb0Quc25z67OxObe53XJ3RgaPScqs2Vy9XrmWwpYQQKBJgITeJMFv7QTC4eJoc8P7B3u0uY8+y8mZA5Ly5rtZ7YwpEAIImCNAQjcn''@;'; put 'put ''lsbWpFvXRaPNRQJ0Qfz8BSKjLkvJNTenJZvlqNzYBkrFENBEgISuSSAoRvsC668TkfEj4rLTdvpndTUj2vlDk8KQre3HlTUQQKAyAiT0yjiyFR8FDtw7KpcMScjKPVXz1WuZ/H3xnvKnn+eecr0iQ2kQMF+AhG5+jI2sYW1tSM45NSbnnhaXmprqV1HdU37F9Wm5xLmnvLGR7vXqR4QSIGCfAAnd''@;'; put 'put ''vpgbVeNVeoULR+sH7FW9bviXX8vKGc5Fb199wz3lRjUuKoNAwARI6AELGMVtWWCnflG5zDm/vt7a/t3m9tMv+cLUpvf8m3vKW44KzyKAgJ8CJHQ/tdmXpwLRaKgw7/rAc+LSrat3u8o7Peo3O/eUD3HuKZ89h+5176TZMgIIlCJAQi9Fi3UDIbDsMiFR964fd0RUQqqFV3D58NOcnNE/KW+/zz3l''@;'; put 'put ''FWRlUwggUAEBEnoFENmEngJ9No7I5aMSsmWf8rvh1T3lI8al5Lpbuadcz2hTKgQQIKHTBowWCDmH6Gpc+MHnxmWVXqUfruec69zu/09GBo1OybQfuejN6MZC5RAIuAAJPeABpPjuBCKRkBy8b1RO+0vM1RH7nLki9zyUlqtvTMvk70nk7pRZCwEEqilAQq+mPvuuisBavcOy355R6bdVRNZZMyzL''@;'; put 'put ''dA9Jg3Pv+PQZeXnrvZy88EpGnnwuK8kkF7xVJUDsFAEEOiRAQu8QG29CAAEEEEBAL4HyrxbSqz6UBgEEEEAAASsFSOhWhp1KI4AAAgiYJkBCNy2i1AcBBBBAwEoBErqVYafSCCCAAAKmCZDQTYso9UEAAQQQsFKAhG5l2Kk0AggggIBpAiR00yJKfRBAAAEErBQgoVsZdiqNAAIIIGCaAAndtIhS''@;'; put 'put ''HwQQQAABKwVI6FaGnUojgAACCJgmQEI3LaLUBwEEEEDASgESupVhp9IIIIAAAqYJkNBNiyj1QQABBBCwUoCEbmXYqTQCCCCAgGkCJHTTIkp9EEAAAQSsFCChWxl2Ko0AAgggYJoACd20iFIfBBBAAAErBUjoVoadSiOAAAIImCZAQjctotQHAQQQQMBKARK6lWGn0ggggAACpgmQ0E2LKPVBAAEE''@;'; put 'put ''ELBSgIRuZdipNAIIIICAaQIkdNMiSn0QQAABBKwUIKFbGXYqjQACCCBgmgAJ3bSIUh8EEEAAASsFSOhWhp1KI4AAAgiYJkBCNy2i1AcBBBBAwEoBErqVYafSCCCAAAKmCZDQTYso9UEAAQQQsFKAhG5l2Kk0AggggIBpAiR00yJKfRBAAAEErBT4f7L3raDJfxZGAAAAAElFTkSuQmCC'';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/docs/static/assets/js; %let service=docsify-js; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcyhuKXt2YXIgcj1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1jKGUpP2U6SlNPTi5zdHJpbmdpZnkoZSk7cmV0dXJuIHJbdF18fChyW3RdPW4oZSkpfX12YXIgbz1zKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2Uo''@;'; put 'put ''LyhbQS1aXSkvZyxmdW5jdGlvbihlKXtyZXR1cm4iLSIrZS50b0xvd2VyQ2FzZSgpfSl9KSxsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkseT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQ9YXJndW1lbnRzLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXt2''@;'; put 'put ''YXIgcixpPU9iamVjdCh0W25dKTtmb3IociBpbiBpKWwuY2FsbChpLHIpJiYoZVtyXT1pW3JdKX1yZXR1cm4gZX07ZnVuY3Rpb24gYyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCJudW1iZXIiPT10eXBlb2YgZX1mdW5jdGlvbiB1KCl7fWZ1bmN0aW9uIHIoZSl7cmV0dXJuImZ1bmN0''@;'; put 'put ''aW9uIj09dHlwZW9mIGV9ZnVuY3Rpb24gcChlKXtlPWUubWF0Y2goL14oW146Lz8jXSs6KT8oPzpcL3syLH0oW14vPyNdKikpPyhbXj8jXSspPyhcP1teI10qKT8oIy4qKT8vKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGVbMV0mJjA8ZVsxXS5sZW5ndGgmJmVbMV0udG9Mb3dlckNhc2UoKSE9''@;'; put 'put ''PWxvY2F0aW9uLnByb3RvY29sfHwic3RyaW5nIj09dHlwZW9mIGVbMl0mJjA8ZVsyXS5sZW5ndGgmJmVbMl0ucmVwbGFjZShuZXcgUmVnRXhwKCI6KCIreyJodHRwOiI6ODAsImh0dHBzOiI6NDQzfVtsb2NhdGlvbi5wcm90b2NvbF0rIik/JCIpLCIiKSE9PWxvY2F0aW9uLmhvc3R9dmFyIGg9''@;'; put 'put ''ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDw9NjAwLGk9d2luZG93Lmhpc3RvcnkmJndpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSYmd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlJiYhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKChpUG9kfGlQaG9uZXxpUGFkKS4rXGJPU1xzK1sxLTRd''@;'; put 'put ''XER8V2ViQXBwc1wvLitDRk5ldHdvcmspLyksbj17fTtmdW5jdGlvbiBkKGUsdCl7aWYodm9pZCAwPT09dCYmKHQ9ITEpLCJzdHJpbmciPT10eXBlb2YgZSl7aWYodm9pZCAwIT09d2luZG93LlZ1ZSlyZXR1cm4gYihlKTtlPXQ/YihlKTpuW2VdfHwobltlXT1iKGUpKX1yZXR1cm4gZX12YXIg''@;'; put 'put ''Zj1kb2N1bWVudCxnPWYuYm9keSxtPWYuaGVhZDtmdW5jdGlvbiBiKGUsdCl7cmV0dXJuIHQ/ZS5xdWVyeVNlbGVjdG9yKHQpOmYucXVlcnlTZWxlY3RvcihlKX1mdW5jdGlvbiBrKGUsdCl7cmV0dXJuW10uc2xpY2UuY2FsbCh0P2UucXVlcnlTZWxlY3RvckFsbCh0KTpmLnF1ZXJ5U2VsZWN0''@;'; put 'put ''b3JBbGwoZSkpfWZ1bmN0aW9uIHYoZSx0KXtyZXR1cm4gZT1mLmNyZWF0ZUVsZW1lbnQoZSksdCYmKGUuaW5uZXJIVE1MPXQpLGV9ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlLmFwcGVuZENoaWxkKHQpfWZ1bmN0aW9uIHcoZSx0KXtyZXR1cm4gZS5pbnNlcnRCZWZvcmUodCxlLmNoaWxkcmVu''@;'; put 'put ''WzBdKX1mdW5jdGlvbiB4KGUsdCxuKXtyKHQpP3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsdCk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbil9ZnVuY3Rpb24gXyhlLHQsbil7cih0KT93aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQpOmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4pfWZ1''@;'; put 'put ''bmN0aW9uIFMoZSx0LG4pe2UmJmUuY2xhc3NMaXN0W24/dDoidG9nZ2xlIl0obnx8dCl9ZnVuY3Rpb24gZShlLHQpe3ZvaWQgMD09PXQmJih0PWRvY3VtZW50KTt2YXIgbj10LnJlYWR5U3RhdGU7aWYoImNvbXBsZXRlIj09PW58fCJpbnRlcmFjdGl2ZSI9PT1uKXJldHVybiBzZXRUaW1lb3V0''@;'; put 'put ''KGUsMCk7dC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixlKX12YXIgdD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxnZXROb2RlOmQsJDpmLGJvZHk6ZyxoZWFkOm0sZmluZDpiLGZpbmRBbGw6ayxjcmVhdGU6dixhcHBlbmRUbzphLGJlZm9yZTp3LG9uOngsb2Zm''@;'; put 'put ''Ol8sdG9nZ2xlQ2xhc3M6UyxzdHlsZTpmdW5jdGlvbihlKXthKG0sdigic3R5bGUiLGUpKX0sZG9jdW1lbnRSZWFkeTplfSksQT1kZWNvZGVVUklDb21wb25lbnQsVD1lbmNvZGVVUklDb21wb25lbnQ7ZnVuY3Rpb24gRShlKXt2YXIgdD17fTtyZXR1cm4oZT1lLnRyaW0oKS5yZXBsYWNlKC9e''@;'; put 'put ''KFw/fCN8JikvLCIiKSkmJmUuc3BsaXQoIiYiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2U9ZS5yZXBsYWNlKC9cKy9nLCIgIikuc3BsaXQoIj0iKTt0W2VbMF1dPWVbMV0mJkEoZVsxXSl9KSx0fWZ1bmN0aW9uIFIoZSx0KXt2b2lkIDA9PT10JiYodD1bXSk7dmFyIG4scj1bXTtmb3IobiBpbiBl''@;'; put 'put ''KS0xPHQuaW5kZXhPZihuKXx8ci5wdXNoKGVbbl0/KFQobikrIj0iK1QoZVtuXSkpLnRvTG93ZXJDYXNlKCk6VChuKSk7cmV0dXJuIHIubGVuZ3RoPyI/IityLmpvaW4oIiYiKToiIn12YXIgTz1zKGZ1bmN0aW9uKGUpe3JldHVybi8oOnwoXC97Mn0pKS9nLnRlc3QoZSl9KSwkPXMoZnVuY3Rp''@;'; put 'put ''b24oZSl7cmV0dXJuIGUuc3BsaXQoL1s/I10vKVswXX0pLEY9cyhmdW5jdGlvbihlKXtpZigvXC8kL2cudGVzdChlKSlyZXR1cm4gZTtlPWUubWF0Y2goLyhcUypcLylbXi9dKyQvKTtyZXR1cm4gZT9lWzFdOiIifSksQz1zKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL15cLysvLCIv''@;'; put 'put ''IikucmVwbGFjZSgvKFteOl0pXC97Mix9L2csIiQxLyIpfSksTD1zKGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLnJlcGxhY2UoL15cLy8sIiIpLnNwbGl0KCIvIiksbj1bXSxyPTAsaT10Lmxlbmd0aDtyPGk7cisrKXt2YXIgbz10W3JdOyIuLiI9PT1vP24ucG9wKCk6Ii4iIT09byYmbi5wdXNo''@;'; put 'put ''KG8pfXJldHVybiIvIituLmpvaW4oIi8iKX0pO2Z1bmN0aW9uIHooZSl7cmV0dXJuIGUuc3BsaXQoIi8iKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuLTE9PT1lLmluZGV4T2YoIiMiKX0pLmpvaW4oIi8iKX1mdW5jdGlvbiBOKCl7Zm9yKHZhciBlPVtdLHQ9YXJndW1lbnRzLmxlbmd0aDt0''@;'; put 'put ''LS07KWVbdF09YXJndW1lbnRzW3RdO3JldHVybiBDKGUubWFwKHopLmpvaW4oIi8iKSl9dmFyIE09cyhmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKCIjIiwiP2lkPSIpfSk7ZnVuY3Rpb24gRChlLHQpe3JldHVybi0xIT09ZS5pbmRleE9mKHQsZS5sZW5ndGgtdC5sZW5ndGgpfXZhciBQ''@;'; put 'put ''PXt9O3ZhciBJPWZ1bmN0aW9uKGUpe3RoaXMuY29uZmlnPWV9O2Z1bmN0aW9uIGooZSl7dmFyIHQ9bG9jYXRpb24uaHJlZi5pbmRleE9mKCIjIik7bG9jYXRpb24ucmVwbGFjZShsb2NhdGlvbi5ocmVmLnNsaWNlKDAsMDw9dD90OjApKyIjIitlKX1JLnByb3RvdHlwZS5nZXRCYXNlUGF0aD1m''@;'; put 'put ''dW5jdGlvbigpe3JldHVybiB0aGlzLmNvbmZpZy5iYXNlUGF0aH0sSS5wcm90b3R5cGUuZ2V0RmlsZT1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PWUmJihlPXRoaXMuZ2V0Q3VycmVudFBhdGgoKSk7dmFyIG4scixpPXRoaXMuY29uZmlnLG89dGhpcy5nZXRCYXNlUGF0aCgpLGE9InN0cmluZyI9''@;'; put 'put ''PXR5cGVvZiBpLmV4dD9pLmV4dDoiLm1kIjtyZXR1cm4gZT1pLmFsaWFzP2Z1bmN0aW9uIGUodCxuLHIpe3ZhciBpPU9iamVjdC5rZXlzKG4pLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4oUFtlXXx8KFBbZV09bmV3IFJlZ0V4cCgiXiIrZSsiJCIpKSkudGVzdCh0KSYmdCE9PXJ9KVswXTty''@;'; put 'put ''ZXR1cm4gaT9lKHQucmVwbGFjZShQW2ldLG5baV0pLG4sdCk6dH0oZSxpLmFsaWFzKTplLG49ZSxyPWEsZT0oZT1uZXcgUmVnRXhwKCJcXC4oIityLnJlcGxhY2UoL15cLi8sIiIpKyJ8aHRtbCkkIiwiZyIpLnRlc3Qobik/bjovXC8kL2cudGVzdChuKT9uKyJSRUFETUUiK3I6IiIrbityKT09''@;'; put 'put ''PSIvUkVBRE1FIithJiZpLmhvbWVwYWdlfHxlLGU9TyhlKT9lOk4obyxlKSx0JiYoZT1lLnJlcGxhY2UobmV3IFJlZ0V4cCgiXiIrbyksIiIpKSxlfSxJLnByb3RvdHlwZS5vbmNoYW5nZT1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT11KSxlKCl9LEkucHJvdG90eXBlLmdldEN1cnJlbnRQ''@;'; put 'put ''YXRoPWZ1bmN0aW9uKCl7fSxJLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oKXt9LEkucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7fSxJLnByb3RvdHlwZS50b1VSTD1mdW5jdGlvbihlLHQsbil7dmFyIHI9biYmIiMiPT09ZVswXSxpPXRoaXMucGFyc2UoTShlKSk7aWYoaS5xdWVy''@;'; put 'put ''eT15KHt9LGkucXVlcnksdCksZT0oZT1pLnBhdGgrUihpLnF1ZXJ5KSkucmVwbGFjZSgvXC5tZChcPyl8XC5tZCQvLCIkMSIpLHImJihlPSgwPChyPW4uaW5kZXhPZigiPyIpKT9uLnN1YnN0cmluZygwLHIpOm4pK2UpLHRoaXMuY29uZmlnLnJlbGF0aXZlUGF0aCYmMCE9PWUuaW5kZXhPZigi''@;'; put 'put ''LyIpKXtuPW4uc3Vic3RyaW5nKDAsbi5sYXN0SW5kZXhPZigiLyIpKzEpO3JldHVybiBDKEwobitlKSl9cmV0dXJuIEMoIi8iK2UpfTt2YXIgSD1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKGUpe3IuY2FsbCh0aGlzLGUpLHRoaXMubW9kZT0iaGFzaCJ9cmV0dXJuIHImJihlLl9fcHJvdG9fXz1y''@;'; put 'put ''KSwoKGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUociYmci5wcm90b3R5cGUpKS5jb25zdHJ1Y3Rvcj1lKS5wcm90b3R5cGUuZ2V0QmFzZVBhdGg9ZnVuY3Rpb24oKXt2YXIgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV8fCIiLHQ9dGhpcy5jb25maWcuYmFzZVBhdGgsZT1EKGUsIi5odG1s''@;'; put 'put ''Iik/ZSsiIy8iK3Q6ZSsiLyIrdDtyZXR1cm4vXihcL3xodHRwcz86KS9nLnRlc3QodCk/dDpDKGUpfSxlLnByb3RvdHlwZS5nZXRDdXJyZW50UGF0aD1mdW5jdGlvbigpe3ZhciBlPWxvY2F0aW9uLmhyZWYsdD1lLmluZGV4T2YoIiMiKTtyZXR1cm4tMT09PXQ/IiI6ZS5zbGljZSh0KzEpfSxl''@;'; put 'put ''LnByb3RvdHlwZS5vbmNoYW5nZT1mdW5jdGlvbihuKXt2b2lkIDA9PT1uJiYobj11KTt2YXIgcj0hMTt4KCJjbGljayIsZnVuY3Rpb24oZSl7ZT0iQSI9PT1lLnRhcmdldC50YWdOYW1lP2UudGFyZ2V0OmUudGFyZ2V0LnBhcmVudE5vZGU7ZSYmIkEiPT09ZS50YWdOYW1lJiYhL19ibGFuay8u''@;'; put 'put ''dGVzdChlLnRhcmdldCkmJihyPSEwKX0pLHgoImhhc2hjaGFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciB0PXI/Im5hdmlnYXRlIjoiaGlzdG9yeSI7cj0hMSxuKHtldmVudDplLHNvdXJjZTp0fSl9KX0sZS5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXRDdXJyZW50''@;'; put 'put ''UGF0aCgpO2lmKCIvIj09PShlPU0oZSkpLmNoYXJBdCgwKSlyZXR1cm4gaihlKTtqKCIvIitlKX0sZS5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9bG9jYXRpb24uaHJlZik7dmFyIHQ9IiIsbj1lLmluZGV4T2YoIiMiKTswPD1uJiYoZT1lLnNsaWNlKG4rMSkp''@;'; put 'put ''O249ZS5pbmRleE9mKCI/Iik7cmV0dXJuIDA8PW4mJih0PWUuc2xpY2UobisxKSxlPWUuc2xpY2UoMCxuKSkse3BhdGg6ZSxmaWxlOnRoaXMuZ2V0RmlsZShlLCEwKSxxdWVyeTpFKHQpfX0sZS5wcm90b3R5cGUudG9VUkw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiIjIityLnByb3RvdHlwZS50''@;'; put 'put ''b1VSTC5jYWxsKHRoaXMsZSx0LG4pfSxlfShJKSxxPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSksdGhpcy5tb2RlPSJoaXN0b3J5In1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLCgoZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSkpLmNv''@;'; put 'put ''bnN0cnVjdG9yPWUpLnByb3RvdHlwZS5nZXRDdXJyZW50UGF0aD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0QmFzZVBhdGgoKSx0PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtyZXR1cm4gZSYmMD09PXQuaW5kZXhPZihlKSYmKHQ9dC5zbGljZShlLmxlbmd0aCkpLCh0fHwiLyIpK3dpbmRv''@;'; put 'put ''dy5sb2NhdGlvbi5zZWFyY2grd2luZG93LmxvY2F0aW9uLmhhc2h9LGUucHJvdG90eXBlLm9uY2hhbmdlPWZ1bmN0aW9uKG4pe3ZhciByPXRoaXM7dm9pZCAwPT09biYmKG49dSkseCgiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PSJBIj09PWUudGFyZ2V0LnRhZ05hbWU/ZS50YXJnZXQ6ZS50''@;'; put 'put ''YXJnZXQucGFyZW50Tm9kZTt0JiYiQSI9PT10LnRhZ05hbWUmJiEvX2JsYW5rLy50ZXN0KHQudGFyZ2V0KSYmKGUucHJldmVudERlZmF1bHQoKSx0PXQuaHJlZiwtMSE9PXIuY29uZmlnLmNyb3NzT3JpZ2luTGlua3MuaW5kZXhPZih0KT93aW5kb3cub3Blbih0LCJfc2VsZiIpOndpbmRvdy5o''@;'; put 'put ''aXN0b3J5LnB1c2hTdGF0ZSh7a2V5OnR9LCIiLHQpLG4oe2V2ZW50OmUsc291cmNlOiJuYXZpZ2F0ZSJ9KSl9KSx4KCJwb3BzdGF0ZSIsZnVuY3Rpb24oZSl7bih7ZXZlbnQ6ZSxzb3VyY2U6Imhpc3RvcnkifSl9KX0sZS5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYm''@;'; put 'put ''KGU9bG9jYXRpb24uaHJlZik7dmFyIHQ9IiIsbj1lLmluZGV4T2YoIj8iKTswPD1uJiYodD1lLnNsaWNlKG4rMSksZT1lLnNsaWNlKDAsbikpO3ZhciByPU4obG9jYXRpb24ub3JpZ2luKSxuPWUuaW5kZXhPZihyKTtyZXR1cm4tMTxuJiYoZT1lLnNsaWNlKG4rci5sZW5ndGgpKSx7cGF0aDpl''@;'; put 'put ''LGZpbGU6dGhpcy5nZXRGaWxlKGUpLHF1ZXJ5OkUodCl9fSxlfShJKSxVPXt9O3ZhciBCPS8oW157XSo/KVx3KD89XH0pL2csWj17WVlZWToiZ2V0RnVsbFllYXIiLFlZOiJnZXRZZWFyIixNTTpmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRNb250aCgpKzF9LEREOiJnZXREYXRlIixISDoiZ2V0''@;'; put 'put ''SG91cnMiLG1tOiJnZXRNaW51dGVzIixzczoiZ2V0U2Vjb25kcyIsZmZmOiJnZXRNaWxsaXNlY29uZHMifTt2YXIgRyxXPU9iamVjdC5oYXNPd25Qcm9wZXJ0eSxWPU9iamVjdC5zZXRQcm90b3R5cGVPZixZPU9iamVjdC5pc0Zyb3plbixYPU9iamVjdC5nZXRQcm90b3R5cGVPZixLPU9iamVj''@;'; put 'put ''dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsRmU9T2JqZWN0LmZyZWV6ZSxRPU9iamVjdC5zZWFsLEo9T2JqZWN0LmNyZWF0ZSxlZT0idW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QsdGU9KHRlPWVlLmFwcGx5KXx8ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlLmFwcGx5KHQs''@;'; put 'put ''bil9LEZlPUZlfHxmdW5jdGlvbihlKXtyZXR1cm4gZX0sUT1RfHxmdW5jdGlvbihlKXtyZXR1cm4gZX0sbmU9KG5lPWVlLmNvbnN0cnVjdCl8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5hcHBseShlLFtudWxsXS5jb25jYXQoZnVuY3Rpb24oZSl7''@;'; put 'put ''aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciB0PTAsbj1BcnJheShlLmxlbmd0aCk7dDxlLmxlbmd0aDt0Kyspblt0XT1lW3RdO3JldHVybiBufXJldHVybiBBcnJheS5mcm9tKGUpfSh0KSkpKX0sQ2U9cmUoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpLExlPXJlKEFycmF5LnByb3RvdHlw''@;'; put 'put ''ZS5wb3ApLHplPXJlKEFycmF5LnByb3RvdHlwZS5wdXNoKSxOZT1yZShTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKSxNZT1yZShTdHJpbmcucHJvdG90eXBlLm1hdGNoKSxEZT1yZShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpLFBlPXJlKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiks''@;'; put 'put ''SWU9cmUoU3RyaW5nLnByb3RvdHlwZS50cmltKSxqZT1yZShSZWdFeHAucHJvdG90eXBlLnRlc3QpLEhlPShHPVR5cGVFcnJvcixmdW5jdGlvbigpe2Zvcih2YXIgZT1hcmd1bWVudHMsdD1hcmd1bWVudHMubGVuZ3RoLG49QXJyYXkodCkscj0wO3I8dDtyKyspbltyXT1lW3JdO3JldHVybiBu''@;'; put 'put ''ZShHLG4pfSk7ZnVuY3Rpb24gcmUobyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMsbj1hcmd1bWVudHMubGVuZ3RoLHI9QXJyYXkoMTxuP24tMTowKSxpPTE7aTxuO2krKylyW2ktMV09dFtpXTtyZXR1cm4gdGUobyxlLHIpfX1mdW5jdGlvbiBxZShlLHQpe1YmJlYo''@;'; put 'put ''ZSxudWxsKTtmb3IodmFyIG49dC5sZW5ndGg7bi0tOyl7dmFyIHIsaT10W25dOyJzdHJpbmciIT10eXBlb2YgaXx8KHI9TmUoaSkpIT09aSYmKFkodCl8fCh0W25dPXIpLGk9ciksZVtpXT0hMH1yZXR1cm4gZX1mdW5jdGlvbiBVZShlKXt2YXIgdD1KKG51bGwpLG49dm9pZCAwO2ZvcihuIGlu''@;'; put 'put ''IGUpdGUoVyxlLFtuXSkmJih0W25dPWVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIEJlKGUsdCl7Zm9yKDtudWxsIT09ZTspe3ZhciBuPUsoZSx0KTtpZihuKXtpZihuLmdldClyZXR1cm4gcmUobi5nZXQpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuLnZhbHVlKXJldHVybiByZShuLnZhbHVlKX1l''@;'; put 'put ''PVgoZSl9cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBjb25zb2xlLndhcm4oImZhbGxiYWNrIHZhbHVlIGZvciIsZSksbnVsbH19dmFyIFplPUZlKFsiYSIsImFiYnIiLCJhY3JvbnltIiwiYWRkcmVzcyIsImFyZWEiLCJhcnRpY2xlIiwiYXNpZGUiLCJhdWRpbyIsImIiLCJiZGkiLCJiZG8i''@;'; put 'put ''LCJiaWciLCJibGluayIsImJsb2NrcXVvdGUiLCJib2R5IiwiYnIiLCJidXR0b24iLCJjYW52YXMiLCJjYXB0aW9uIiwiY2VudGVyIiwiY2l0ZSIsImNvZGUiLCJjb2wiLCJjb2xncm91cCIsImNvbnRlbnQiLCJkYXRhIiwiZGF0YWxpc3QiLCJkZCIsImRlY29yYXRvciIsImRlbCIsImRldGFp''@;'; put 'put ''bHMiLCJkZm4iLCJkaWFsb2ciLCJkaXIiLCJkaXYiLCJkbCIsImR0IiwiZWxlbWVudCIsImVtIiwiZmllbGRzZXQiLCJmaWdjYXB0aW9uIiwiZmlndXJlIiwiZm9udCIsImZvb3RlciIsImZvcm0iLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJoZWFkIiwiaGVhZGVyIiwiaGdyb3Vw''@;'; put 'put ''IiwiaHIiLCJodG1sIiwiaSIsImltZyIsImlucHV0IiwiaW5zIiwia2JkIiwibGFiZWwiLCJsZWdlbmQiLCJsaSIsIm1haW4iLCJtYXAiLCJtYXJrIiwibWFycXVlZSIsIm1lbnUiLCJtZW51aXRlbSIsIm1ldGVyIiwibmF2Iiwibm9iciIsIm9sIiwib3B0Z3JvdXAiLCJvcHRpb24iLCJvdXRw''@;'; put 'put ''dXQiLCJwIiwicGljdHVyZSIsInByZSIsInByb2dyZXNzIiwicSIsInJwIiwicnQiLCJydWJ5IiwicyIsInNhbXAiLCJzZWN0aW9uIiwic2VsZWN0Iiwic2hhZG93Iiwic21hbGwiLCJzb3VyY2UiLCJzcGFjZXIiLCJzcGFuIiwic3RyaWtlIiwic3Ryb25nIiwic3R5bGUiLCJzdWIiLCJzdW1t''@;'; put 'put ''YXJ5Iiwic3VwIiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGVtcGxhdGUiLCJ0ZXh0YXJlYSIsInRmb290IiwidGgiLCJ0aGVhZCIsInRpbWUiLCJ0ciIsInRyYWNrIiwidHQiLCJ1IiwidWwiLCJ2YXIiLCJ2aWRlbyIsIndiciJdKSxHZT1GZShbInN2ZyIsImEiLCJhbHRnbHlwaCIsImFsdGds''@;'; put 'put ''eXBoZGVmIiwiYWx0Z2x5cGhpdGVtIiwiYW5pbWF0ZWNvbG9yIiwiYW5pbWF0ZW1vdGlvbiIsImFuaW1hdGV0cmFuc2Zvcm0iLCJjaXJjbGUiLCJjbGlwcGF0aCIsImRlZnMiLCJkZXNjIiwiZWxsaXBzZSIsImZpbHRlciIsImZvbnQiLCJnIiwiZ2x5cGgiLCJnbHlwaHJlZiIsImhrZXJuIiwi''@;'; put 'put ''aW1hZ2UiLCJsaW5lIiwibGluZWFyZ3JhZGllbnQiLCJtYXJrZXIiLCJtYXNrIiwibWV0YWRhdGEiLCJtcGF0aCIsInBhdGgiLCJwYXR0ZXJuIiwicG9seWdvbiIsInBvbHlsaW5lIiwicmFkaWFsZ3JhZGllbnQiLCJyZWN0Iiwic3RvcCIsInN0eWxlIiwic3dpdGNoIiwic3ltYm9sIiwidGV4''@;'; put 'put ''dCIsInRleHRwYXRoIiwidGl0bGUiLCJ0cmVmIiwidHNwYW4iLCJ2aWV3Iiwidmtlcm4iXSksV2U9RmUoWyJmZUJsZW5kIiwiZmVDb2xvck1hdHJpeCIsImZlQ29tcG9uZW50VHJhbnNmZXIiLCJmZUNvbXBvc2l0ZSIsImZlQ29udm9sdmVNYXRyaXgiLCJmZURpZmZ1c2VMaWdodGluZyIsImZl''@;'; put 'put ''RGlzcGxhY2VtZW50TWFwIiwiZmVEaXN0YW50TGlnaHQiLCJmZUZsb29kIiwiZmVGdW5jQSIsImZlRnVuY0IiLCJmZUZ1bmNHIiwiZmVGdW5jUiIsImZlR2F1c3NpYW5CbHVyIiwiZmVNZXJnZSIsImZlTWVyZ2VOb2RlIiwiZmVNb3JwaG9sb2d5IiwiZmVPZmZzZXQiLCJmZVBvaW50TGlnaHQi''@;'; put 'put ''LCJmZVNwZWN1bGFyTGlnaHRpbmciLCJmZVNwb3RMaWdodCIsImZlVGlsZSIsImZlVHVyYnVsZW5jZSJdKSxWZT1GZShbImFuaW1hdGUiLCJjb2xvci1wcm9maWxlIiwiY3Vyc29yIiwiZGlzY2FyZCIsImZlZHJvcHNoYWRvdyIsImZlaW1hZ2UiLCJmb250LWZhY2UiLCJmb250LWZhY2UtZm9y''@;'; put 'put ''bWF0IiwiZm9udC1mYWNlLW5hbWUiLCJmb250LWZhY2Utc3JjIiwiZm9udC1mYWNlLXVyaSIsImZvcmVpZ25vYmplY3QiLCJoYXRjaCIsImhhdGNocGF0aCIsIm1lc2giLCJtZXNoZ3JhZGllbnQiLCJtZXNocGF0Y2giLCJtZXNocm93IiwibWlzc2luZy1nbHlwaCIsInNjcmlwdCIsInNldCIs''@;'; put 'put ''InNvbGlkY29sb3IiLCJ1bmtub3duIiwidXNlIl0pLFllPUZlKFsibWF0aCIsIm1lbmNsb3NlIiwibWVycm9yIiwibWZlbmNlZCIsIm1mcmFjIiwibWdseXBoIiwibWkiLCJtbGFiZWxlZHRyIiwibW11bHRpc2NyaXB0cyIsIm1uIiwibW8iLCJtb3ZlciIsIm1wYWRkZWQiLCJtcGhhbnRvbSIs''@;'; put 'put ''Im1yb290IiwibXJvdyIsIm1zIiwibXNwYWNlIiwibXNxcnQiLCJtc3R5bGUiLCJtc3ViIiwibXN1cCIsIm1zdWJzdXAiLCJtdGFibGUiLCJtdGQiLCJtdGV4dCIsIm10ciIsIm11bmRlciIsIm11bmRlcm92ZXIiXSksWGU9RmUoWyJtYWN0aW9uIiwibWFsaWduZ3JvdXAiLCJtYWxpZ25tYXJr''@;'; put 'put ''IiwibWxvbmdkaXYiLCJtc2NhcnJpZXMiLCJtc2NhcnJ5IiwibXNncm91cCIsIm1zdGFjayIsIm1zbGluZSIsIm1zcm93Iiwic2VtYW50aWNzIiwiYW5ub3RhdGlvbiIsImFubm90YXRpb24teG1sIiwibXByZXNjcmlwdHMiLCJub25lIl0pLEtlPUZlKFsiI3RleHQiXSksUWU9RmUoWyJhY2Nl''@;'; put 'put ''cHQiLCJhY3Rpb24iLCJhbGlnbiIsImFsdCIsImF1dG9jYXBpdGFsaXplIiwiYXV0b2NvbXBsZXRlIiwiYXV0b3BpY3R1cmVpbnBpY3R1cmUiLCJhdXRvcGxheSIsImJhY2tncm91bmQiLCJiZ2NvbG9yIiwiYm9yZGVyIiwiY2FwdHVyZSIsImNlbGxwYWRkaW5nIiwiY2VsbHNwYWNpbmciLCJj''@;'; put 'put ''aGVja2VkIiwiY2l0ZSIsImNsYXNzIiwiY2xlYXIiLCJjb2xvciIsImNvbHMiLCJjb2xzcGFuIiwiY29udHJvbHMiLCJjb250cm9sc2xpc3QiLCJjb29yZHMiLCJjcm9zc29yaWdpbiIsImRhdGV0aW1lIiwiZGVjb2RpbmciLCJkZWZhdWx0IiwiZGlyIiwiZGlzYWJsZWQiLCJkaXNhYmxlcGlj''@;'; put 'put ''dHVyZWlucGljdHVyZSIsImRpc2FibGVyZW1vdGVwbGF5YmFjayIsImRvd25sb2FkIiwiZHJhZ2dhYmxlIiwiZW5jdHlwZSIsImVudGVya2V5aGludCIsImZhY2UiLCJmb3IiLCJoZWFkZXJzIiwiaGVpZ2h0IiwiaGlkZGVuIiwiaGlnaCIsImhyZWYiLCJocmVmbGFuZyIsImlkIiwiaW5wdXRt''@;'; put 'put ''b2RlIiwiaW50ZWdyaXR5IiwiaXNtYXAiLCJraW5kIiwibGFiZWwiLCJsYW5nIiwibGlzdCIsImxvYWRpbmciLCJsb29wIiwibG93IiwibWF4IiwibWF4bGVuZ3RoIiwibWVkaWEiLCJtZXRob2QiLCJtaW4iLCJtaW5sZW5ndGgiLCJtdWx0aXBsZSIsIm11dGVkIiwibmFtZSIsIm5vc2hhZGUi''@;'; put 'put ''LCJub3ZhbGlkYXRlIiwibm93cmFwIiwib3BlbiIsIm9wdGltdW0iLCJwYXR0ZXJuIiwicGxhY2Vob2xkZXIiLCJwbGF5c2lubGluZSIsInBvc3RlciIsInByZWxvYWQiLCJwdWJkYXRlIiwicmFkaW9ncm91cCIsInJlYWRvbmx5IiwicmVsIiwicmVxdWlyZWQiLCJyZXYiLCJyZXZlcnNlZCIs''@;'; put 'put ''InJvbGUiLCJyb3dzIiwicm93c3BhbiIsInNwZWxsY2hlY2siLCJzY29wZSIsInNlbGVjdGVkIiwic2hhcGUiLCJzaXplIiwic2l6ZXMiLCJzcGFuIiwic3JjbGFuZyIsInN0YXJ0Iiwic3JjIiwic3Jjc2V0Iiwic3RlcCIsInN0eWxlIiwic3VtbWFyeSIsInRhYmluZGV4IiwidGl0bGUiLCJ0''@;'; put 'put ''cmFuc2xhdGUiLCJ0eXBlIiwidXNlbWFwIiwidmFsaWduIiwidmFsdWUiLCJ3aWR0aCIsInhtbG5zIiwic2xvdCJdKSxKZT1GZShbImFjY2VudC1oZWlnaHQiLCJhY2N1bXVsYXRlIiwiYWRkaXRpdmUiLCJhbGlnbm1lbnQtYmFzZWxpbmUiLCJhc2NlbnQiLCJhdHRyaWJ1dGVuYW1lIiwiYXR0''@;'; put 'put ''cmlidXRldHlwZSIsImF6aW11dGgiLCJiYXNlZnJlcXVlbmN5IiwiYmFzZWxpbmUtc2hpZnQiLCJiZWdpbiIsImJpYXMiLCJieSIsImNsYXNzIiwiY2xpcCIsImNsaXBwYXRodW5pdHMiLCJjbGlwLXBhdGgiLCJjbGlwLXJ1bGUiLCJjb2xvciIsImNvbG9yLWludGVycG9sYXRpb24iLCJjb2xv''@;'; put 'put ''ci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMiLCJjb2xvci1wcm9maWxlIiwiY29sb3ItcmVuZGVyaW5nIiwiY3giLCJjeSIsImQiLCJkeCIsImR5IiwiZGlmZnVzZWNvbnN0YW50IiwiZGlyZWN0aW9uIiwiZGlzcGxheSIsImRpdmlzb3IiLCJkdXIiLCJlZGdlbW9kZSIsImVsZXZhdGlvbiIsImVu''@;'; put 'put ''ZCIsImZpbGwiLCJmaWxsLW9wYWNpdHkiLCJmaWxsLXJ1bGUiLCJmaWx0ZXIiLCJmaWx0ZXJ1bml0cyIsImZsb29kLWNvbG9yIiwiZmxvb2Qtb3BhY2l0eSIsImZvbnQtZmFtaWx5IiwiZm9udC1zaXplIiwiZm9udC1zaXplLWFkanVzdCIsImZvbnQtc3RyZXRjaCIsImZvbnQtc3R5bGUiLCJm''@;'; put 'put ''b250LXZhcmlhbnQiLCJmb250LXdlaWdodCIsImZ4IiwiZnkiLCJnMSIsImcyIiwiZ2x5cGgtbmFtZSIsImdseXBocmVmIiwiZ3JhZGllbnR1bml0cyIsImdyYWRpZW50dHJhbnNmb3JtIiwiaGVpZ2h0IiwiaHJlZiIsImlkIiwiaW1hZ2UtcmVuZGVyaW5nIiwiaW4iLCJpbjIiLCJrIiwiazEi''@;'; put 'put ''LCJrMiIsImszIiwiazQiLCJrZXJuaW5nIiwia2V5cG9pbnRzIiwia2V5c3BsaW5lcyIsImtleXRpbWVzIiwibGFuZyIsImxlbmd0aGFkanVzdCIsImxldHRlci1zcGFjaW5nIiwia2VybmVsbWF0cml4Iiwia2VybmVsdW5pdGxlbmd0aCIsImxpZ2h0aW5nLWNvbG9yIiwibG9jYWwiLCJtYXJr''@;'; put 'put ''ZXItZW5kIiwibWFya2VyLW1pZCIsIm1hcmtlci1zdGFydCIsIm1hcmtlcmhlaWdodCIsIm1hcmtlcnVuaXRzIiwibWFya2Vyd2lkdGgiLCJtYXNrY29udGVudHVuaXRzIiwibWFza3VuaXRzIiwibWF4IiwibWFzayIsIm1lZGlhIiwibWV0aG9kIiwibW9kZSIsIm1pbiIsIm5hbWUiLCJudW1v''@;'; put 'put ''Y3RhdmVzIiwib2Zmc2V0Iiwib3BlcmF0b3IiLCJvcGFjaXR5Iiwib3JkZXIiLCJvcmllbnQiLCJvcmllbnRhdGlvbiIsIm9yaWdpbiIsIm92ZXJmbG93IiwicGFpbnQtb3JkZXIiLCJwYXRoIiwicGF0aGxlbmd0aCIsInBhdHRlcm5jb250ZW50dW5pdHMiLCJwYXR0ZXJudHJhbnNmb3JtIiwi''@;'; put 'put ''cGF0dGVybnVuaXRzIiwicG9pbnRzIiwicHJlc2VydmVhbHBoYSIsInByZXNlcnZlYXNwZWN0cmF0aW8iLCJwcmltaXRpdmV1bml0cyIsInIiLCJyeCIsInJ5IiwicmFkaXVzIiwicmVmeCIsInJlZnkiLCJyZXBlYXRjb3VudCIsInJlcGVhdGR1ciIsInJlc3RhcnQiLCJyZXN1bHQiLCJyb3Rh''@;'; put 'put ''dGUiLCJzY2FsZSIsInNlZWQiLCJzaGFwZS1yZW5kZXJpbmciLCJzcGVjdWxhcmNvbnN0YW50Iiwic3BlY3VsYXJleHBvbmVudCIsInNwcmVhZG1ldGhvZCIsInN0YXJ0b2Zmc2V0Iiwic3RkZGV2aWF0aW9uIiwic3RpdGNodGlsZXMiLCJzdG9wLWNvbG9yIiwic3RvcC1vcGFjaXR5Iiwic3Ry''@;'; put 'put ''b2tlLWRhc2hhcnJheSIsInN0cm9rZS1kYXNob2Zmc2V0Iiwic3Ryb2tlLWxpbmVjYXAiLCJzdHJva2UtbGluZWpvaW4iLCJzdHJva2UtbWl0ZXJsaW1pdCIsInN0cm9rZS1vcGFjaXR5Iiwic3Ryb2tlIiwic3Ryb2tlLXdpZHRoIiwic3R5bGUiLCJzdXJmYWNlc2NhbGUiLCJzeXN0ZW1sYW5n''@;'; put 'put ''dWFnZSIsInRhYmluZGV4IiwidGFyZ2V0eCIsInRhcmdldHkiLCJ0cmFuc2Zvcm0iLCJ0ZXh0LWFuY2hvciIsInRleHQtZGVjb3JhdGlvbiIsInRleHQtcmVuZGVyaW5nIiwidGV4dGxlbmd0aCIsInR5cGUiLCJ1MSIsInUyIiwidW5pY29kZSIsInZhbHVlcyIsInZpZXdib3giLCJ2aXNpYmls''@;'; put 'put ''aXR5IiwidmVyc2lvbiIsInZlcnQtYWR2LXkiLCJ2ZXJ0LW9yaWdpbi14IiwidmVydC1vcmlnaW4teSIsIndpZHRoIiwid29yZC1zcGFjaW5nIiwid3JhcCIsIndyaXRpbmctbW9kZSIsInhjaGFubmVsc2VsZWN0b3IiLCJ5Y2hhbm5lbHNlbGVjdG9yIiwieCIsIngxIiwieDIiLCJ4bWxucyIs''@;'; put 'put ''InkiLCJ5MSIsInkyIiwieiIsInpvb21hbmRwYW4iXSksZXQ9RmUoWyJhY2NlbnQiLCJhY2NlbnR1bmRlciIsImFsaWduIiwiYmV2ZWxsZWQiLCJjbG9zZSIsImNvbHVtbnNhbGlnbiIsImNvbHVtbmxpbmVzIiwiY29sdW1uc3BhbiIsImRlbm9tYWxpZ24iLCJkZXB0aCIsImRpciIsImRpc3Bs''@;'; put 'put ''YXkiLCJkaXNwbGF5c3R5bGUiLCJlbmNvZGluZyIsImZlbmNlIiwiZnJhbWUiLCJoZWlnaHQiLCJocmVmIiwiaWQiLCJsYXJnZW9wIiwibGVuZ3RoIiwibGluZXRoaWNrbmVzcyIsImxzcGFjZSIsImxxdW90ZSIsIm1hdGhiYWNrZ3JvdW5kIiwibWF0aGNvbG9yIiwibWF0aHNpemUiLCJtYXRo''@;'; put 'put ''dmFyaWFudCIsIm1heHNpemUiLCJtaW5zaXplIiwibW92YWJsZWxpbWl0cyIsIm5vdGF0aW9uIiwibnVtYWxpZ24iLCJvcGVuIiwicm93YWxpZ24iLCJyb3dsaW5lcyIsInJvd3NwYWNpbmciLCJyb3dzcGFuIiwicnNwYWNlIiwicnF1b3RlIiwic2NyaXB0bGV2ZWwiLCJzY3JpcHRtaW5zaXpl''@;'; put 'put ''Iiwic2NyaXB0c2l6ZW11bHRpcGxpZXIiLCJzZWxlY3Rpb24iLCJzZXBhcmF0b3IiLCJzZXBhcmF0b3JzIiwic3RyZXRjaHkiLCJzdWJzY3JpcHRzaGlmdCIsInN1cHNjcmlwdHNoaWZ0Iiwic3ltbWV0cmljIiwidm9mZnNldCIsIndpZHRoIiwieG1sbnMiXSksdHQ9RmUoWyJ4bGluazpocmVm''@;'; put 'put ''IiwieG1sOmlkIiwieGxpbms6dGl0bGUiLCJ4bWw6c3BhY2UiLCJ4bWxuczp4bGluayJdKSxudD1RKC9ce1x7W1xzXFNdKnxbXHNcU10qXH1cfS9nbSkscnQ9USgvPCVbXHNcU10qfFtcc1xTXSolPi9nbSksaXQ9USgvXmRhdGEtW1wtXHcuXHUwMEI3LVx1RkZGRl0vKSxvdD1RKC9eYXJpYS1b''@;'; put 'put ''XC1cd10rJC8pLGF0PVEoL14oPzooPzooPzpmfGh0KXRwcz98bWFpbHRvfHRlbHxjYWxsdG98Y2lkfHhtcHApOnxbXmEtel18W2EteisuXC1dKyg/OlteYS16Ky5cLTpdfCQpKS9pKSxzdD1RKC9eKD86XHcrc2NyaXB0fGRhdGEpOi9pKSxsdD1RKC9bXHUwMDAwLVx1MDAyMFx1MDBBMFx1MTY4''@;'; put 'put ''MFx1MTgwRVx1MjAwMC1cdTIwMjlcdTIwNUZcdTMwMDBdL2cpLGN0PSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5''@;'; put 'put ''cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfTtmdW5jdGlvbiB1dChlKXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIHQ9MCxuPUFycmF5KGUubGVuZ3RoKTt0PGUubGVuZ3RoO3QrKyluW3RdPWVb''@;'; put 'put ''dF07cmV0dXJuIG59cmV0dXJuIEFycmF5LmZyb20oZSl9dmFyIHB0PWZ1bmN0aW9uKCl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/bnVsbDp3aW5kb3d9LGh0PWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPT0odm9pZCAwPT09ZT8idW5kZWZpbmVkIjpjdChlKSl8fCJmdW5j''@;'; put 'put ''dGlvbiIhPXR5cGVvZiBlLmNyZWF0ZVBvbGljeSlyZXR1cm4gbnVsbDt2YXIgbj1udWxsLHI9ImRhdGEtdHQtcG9saWN5LXN1ZmZpeCI7dC5jdXJyZW50U2NyaXB0JiZ0LmN1cnJlbnRTY3JpcHQuaGFzQXR0cmlidXRlKHIpJiYobj10LmN1cnJlbnRTY3JpcHQuZ2V0QXR0cmlidXRlKHIpKTt2''@;'; put 'put ''YXIgaT0iZG9tcHVyaWZ5Iisobj8iIyIrbjoiIik7dHJ5e3JldHVybiBlLmNyZWF0ZVBvbGljeShpLHtjcmVhdGVIVE1MOmZ1bmN0aW9uKGUpe3JldHVybiBlfX0pfWNhdGNoKGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRydXN0ZWRUeXBlcyBwb2xpY3kgIitpKyIgY291bGQgbm90IGJlIGNy''@;'; put 'put ''ZWF0ZWQuIiksbnVsbH19O3ZhciBpZSxvZSxhZT1mdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIGMoZSl7cmV0dXJuIHQoZSl9dmFyIHM9MDxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1lP2U6cHQoKTtpZihjLnZlcnNpb249IjIuMy4xIixjLnJlbW92ZWQ9W10sIXN8fCFzLmRvY3VtZW50fHw5''@;'; put 'put ''IT09cy5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gYy5pc1N1cHBvcnRlZD0hMSxjO3ZhciBsPXMuZG9jdW1lbnQsbz1zLmRvY3VtZW50LHU9cy5Eb2N1bWVudEZyYWdtZW50LG49cy5IVE1MVGVtcGxhdGVFbGVtZW50LHA9cy5Ob2RlLGE9cy5FbGVtZW50LHI9cy5Ob2RlRmlsdGVyLGk9cy5O''@;'; put 'put ''YW1lZE5vZGVNYXAsaD12b2lkIDA9PT1pP3MuTmFtZWROb2RlTWFwfHxzLk1vek5hbWVkQXR0ck1hcDppLGQ9cy5UZXh0LGY9cy5Db21tZW50LGc9cy5ET01QYXJzZXIsZT1zLnRydXN0ZWRUeXBlcyxpPWEucHJvdG90eXBlLG09QmUoaSwiY2xvbmVOb2RlIiksdj1CZShpLCJuZXh0U2libGlu''@;'; put 'put ''ZyIpLHk9QmUoaSwiY2hpbGROb2RlcyIpLGI9QmUoaSwicGFyZW50Tm9kZSIpOyJmdW5jdGlvbiIhPXR5cGVvZiBufHwobj1vLmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIikpLmNvbnRlbnQmJm4uY29udGVudC5vd25lckRvY3VtZW50JiYobz1uLmNvbnRlbnQub3duZXJEb2N1bWVudCk7dmFy''@;'; put 'put ''IGs9aHQoZSxsKSx3PWsmJmVlP2suY3JlYXRlSFRNTCgiIik6IiIseD1vLmltcGxlbWVudGF0aW9uLF89by5jcmVhdGVOb2RlSXRlcmF0b3IsUz1vLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQsQT1vLmdldEVsZW1lbnRzQnlUYWdOYW1lLFQ9bC5pbXBvcnROb2RlLEU9e307dHJ5e0U9VWUobyku''@;'; put 'put ''ZG9jdW1lbnRNb2RlP28uZG9jdW1lbnRNb2RlOnt9fWNhdGNoKGUpe312YXIgUj17fTtjLmlzU3VwcG9ydGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBiJiZ4JiZ2b2lkIDAhPT14LmNyZWF0ZUhUTUxEb2N1bWVudCYmOSE9PUU7ZnVuY3Rpb24gTyhlKXtnZSYmZ2U9PT1lfHwoZSYmIm9iamVjdCI9''@;'; put 'put ''PT0odm9pZCAwPT09ZT8idW5kZWZpbmVkIjpjdChlKSl8fChlPXt9KSxlPVVlKGUpLFA9IkFMTE9XRURfVEFHUyJpbiBlP3FlKHt9LGUuQUxMT1dFRF9UQUdTKTpJLGo9IkFMTE9XRURfQVRUUiJpbiBlP3FlKHt9LGUuQUxMT1dFRF9BVFRSKTpILGxlPSJBRERfVVJJX1NBRkVfQVRUUiJpbiBl''@;'; put 'put ''P3FlKFVlKGNlKSxlLkFERF9VUklfU0FGRV9BVFRSKTpjZSxhZT0iQUREX0RBVEFfVVJJX1RBR1MiaW4gZT9xZShVZShzZSksZS5BRERfREFUQV9VUklfVEFHUyk6c2UsaWU9IkZPUkJJRF9DT05URU5UUyJpbiBlP3FlKHt9LGUuRk9SQklEX0NPTlRFTlRTKTpvZSxxPSJGT1JCSURfVEFHUyJp''@;'; put 'put ''biBlP3FlKHt9LGUuRk9SQklEX1RBR1MpOnt9LFU9IkZPUkJJRF9BVFRSImluIGU/cWUoe30sZS5GT1JCSURfQVRUUik6e30sJD0iVVNFX1BST0ZJTEVTImluIGUmJmUuVVNFX1BST0ZJTEVTLEI9ITEhPT1lLkFMTE9XX0FSSUFfQVRUUixaPSExIT09ZS5BTExPV19EQVRBX0FUVFIsRz1lLkFM''@;'; put 'put ''TE9XX1VOS05PV05fUFJPVE9DT0xTfHwhMSxXPWUuU0FGRV9GT1JfVEVNUExBVEVTfHwhMSxWPWUuV0hPTEVfRE9DVU1FTlR8fCExLEs9ZS5SRVRVUk5fRE9NfHwhMSxRPWUuUkVUVVJOX0RPTV9GUkFHTUVOVHx8ITEsSj0hMSE9PWUuUkVUVVJOX0RPTV9JTVBPUlQsZWU9ZS5SRVRVUk5fVFJV''@;'; put 'put ''U1RFRF9UWVBFfHwhMSxYPWUuRk9SQ0VfQk9EWXx8ITEsdGU9ITEhPT1lLlNBTklUSVpFX0RPTSxuZT0hMSE9PWUuS0VFUF9DT05URU5ULHJlPWUuSU5fUExBQ0V8fCExLEQ9ZS5BTExPV0VEX1VSSV9SRUdFWFB8fEQsZGU9ZS5OQU1FU1BBQ0V8fGhlLFcmJihaPSExKSxRJiYoSz0hMCksJCYm''@;'; put 'put ''KFA9cWUoe30sW10uY29uY2F0KHV0KEtlKSkpLGo9W10sITA9PT0kLmh0bWwmJihxZShQLFplKSxxZShqLFFlKSksITA9PT0kLnN2ZyYmKHFlKFAsR2UpLHFlKGosSmUpLHFlKGosdHQpKSwhMD09PSQuc3ZnRmlsdGVycyYmKHFlKFAsV2UpLHFlKGosSmUpLHFlKGosdHQpKSwhMD09PSQubWF0''@;'; put 'put ''aE1sJiYocWUoUCxZZSkscWUoaixldCkscWUoaix0dCkpKSxlLkFERF9UQUdTJiYoUD09PUkmJihQPVVlKFApKSxxZShQLGUuQUREX1RBR1MpKSxlLkFERF9BVFRSJiYoaj09PUgmJihqPVVlKGopKSxxZShqLGUuQUREX0FUVFIpKSxlLkFERF9VUklfU0FGRV9BVFRSJiZxZShsZSxlLkFERF9V''@;'; put 'put ''UklfU0FGRV9BVFRSKSxlLkZPUkJJRF9DT05URU5UUyYmKGllPT09b2UmJihpZT1VZShpZSkpLHFlKGllLGUuRk9SQklEX0NPTlRFTlRTKSksbmUmJihQWyIjdGV4dCJdPSEwKSxWJiZxZShQLFsiaHRtbCIsImhlYWQiLCJib2R5Il0pLFAudGFibGUmJihxZShQLFsidGJvZHkiXSksZGVsZXRl''@;'; put 'put ''IHEudGJvZHkpLEZlJiZGZShlKSxnZT1lKX12YXIgJCxGPW50LEM9cnQsTD1pdCx6PW90LE49c3QsTT1sdCxEPWF0LFA9bnVsbCxJPXFlKHt9LFtdLmNvbmNhdCh1dChaZSksdXQoR2UpLHV0KFdlKSx1dChZZSksdXQoS2UpKSksaj1udWxsLEg9cWUoe30sW10uY29uY2F0KHV0KFFlKSx1dChK''@;'; put 'put ''ZSksdXQoZXQpLHV0KHR0KSkpLHE9bnVsbCxVPW51bGwsQj0hMCxaPSEwLEc9ITEsVz0hMSxWPSExLFk9ITEsWD0hMSxLPSExLFE9ITEsSj0hMCxlZT0hMSx0ZT0hMCxuZT0hMCxyZT0hMSxpZT1udWxsLG9lPXFlKHt9LFsiYW5ub3RhdGlvbi14bWwiLCJhdWRpbyIsImNvbGdyb3VwIiwiZGVz''@;'; put 'put ''YyIsImZvcmVpZ25vYmplY3QiLCJoZWFkIiwiaWZyYW1lIiwibWF0aCIsIm1pIiwibW4iLCJtbyIsIm1zIiwibXRleHQiLCJub2VtYmVkIiwibm9mcmFtZXMiLCJub3NjcmlwdCIsInBsYWludGV4dCIsInNjcmlwdCIsInN0eWxlIiwic3ZnIiwidGVtcGxhdGUiLCJ0aGVhZCIsInRpdGxlIiwi''@;'; put 'put ''dmlkZW8iLCJ4bXAiXSksYWU9bnVsbCxzZT1xZSh7fSxbImF1ZGlvIiwidmlkZW8iLCJpbWciLCJzb3VyY2UiLCJpbWFnZSIsInRyYWNrIl0pLGxlPW51bGwsY2U9cWUoe30sWyJhbHQiLCJjbGFzcyIsImZvciIsImlkIiwibGFiZWwiLCJuYW1lIiwicGF0dGVybiIsInBsYWNlaG9sZGVyIiwi''@;'; put 'put ''cm9sZSIsInN1bW1hcnkiLCJ0aXRsZSIsInZhbHVlIiwic3R5bGUiLCJ4bWxucyJdKSx1ZT0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIscGU9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZT0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsZGU9aGUsZmU9''@;'; put 'put ''ITEsZ2U9bnVsbCxtZT1vLmNyZWF0ZUVsZW1lbnQoImZvcm0iKSx2ZT1xZSh7fSxbIm1pIiwibW8iLCJtbiIsIm1zIiwibXRleHQiXSkseWU9cWUoe30sWyJmb3JlaWdub2JqZWN0IiwiZGVzYyIsInRpdGxlIiwiYW5ub3RhdGlvbi14bWwiXSksYmU9cWUoe30sR2UpO3FlKGJlLFdlKSxxZShi''@;'; put 'put ''ZSxWZSk7dmFyIGtlPXFlKHt9LFllKTtxZShrZSxYZSk7ZnVuY3Rpb24gd2UodCl7emUoYy5yZW1vdmVkLHtlbGVtZW50OnR9KTt0cnl7dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfWNhdGNoKGUpe3RyeXt0Lm91dGVySFRNTD13fWNhdGNoKGUpe3QucmVtb3ZlKCl9fX1mdW5jdGlvbiB4''@;'; put 'put ''ZShlLHQpe3RyeXt6ZShjLnJlbW92ZWQse2F0dHJpYnV0ZTp0LmdldEF0dHJpYnV0ZU5vZGUoZSksZnJvbTp0fSl9Y2F0Y2goZSl7emUoYy5yZW1vdmVkLHthdHRyaWJ1dGU6bnVsbCxmcm9tOnR9KX1pZih0LnJlbW92ZUF0dHJpYnV0ZShlKSwiaXMiPT09ZSYmIWpbZV0paWYoS3x8USl0cnl7''@;'; put 'put ''d2UodCl9Y2F0Y2goZSl7fWVsc2UgdHJ5e3Quc2V0QXR0cmlidXRlKGUsIiIpfWNhdGNoKGUpe319ZnVuY3Rpb24gX2UoZSl7dmFyIHQ9dm9pZCAwLG49dm9pZCAwO1g/ZT0iPHJlbW92ZT48L3JlbW92ZT4iK2U6bj0oaT1NZShlLC9eW1xyXG5cdCBdKy8pKSYmaVswXTt2YXIgcj1rP2suY3Jl''@;'; put 'put ''YXRlSFRNTChlKTplO2lmKGRlPT09aGUpdHJ5e3Q9KG5ldyBnKS5wYXJzZUZyb21TdHJpbmcociwidGV4dC9odG1sIil9Y2F0Y2goZSl7fWlmKCF0fHwhdC5kb2N1bWVudEVsZW1lbnQpe3Q9eC5jcmVhdGVEb2N1bWVudChkZSwidGVtcGxhdGUiLG51bGwpO3RyeXt0LmRvY3VtZW50RWxlbWVu''@;'; put 'put ''dC5pbm5lckhUTUw9ZmU/IiI6cn1jYXRjaChlKXt9fXZhciBpPXQuYm9keXx8dC5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGUmJm4mJmkuaW5zZXJ0QmVmb3JlKG8uY3JlYXRlVGV4dE5vZGUobiksaS5jaGlsZE5vZGVzWzBdfHxudWxsKSxkZT09PWhlP0EuY2FsbCh0LFY/Imh0bWwiOiJib2R5''@;'; put 'put ''IilbMF06Vj90LmRvY3VtZW50RWxlbWVudDppfWZ1bmN0aW9uIFNlKGUpe3JldHVybiBfLmNhbGwoZS5vd25lckRvY3VtZW50fHxlLGUsci5TSE9XX0VMRU1FTlR8ci5TSE9XX0NPTU1FTlR8ci5TSE9XX1RFWFQsbnVsbCwhMSl9ZnVuY3Rpb24gQWUoZSl7cmV0dXJuIm9iamVjdCI9PT0odm9p''@;'; put 'put ''ZCAwPT09cD8idW5kZWZpbmVkIjpjdChwKSk/ZSBpbnN0YW5jZW9mIHA6ZSYmIm9iamVjdCI9PT0odm9pZCAwPT09ZT8idW5kZWZpbmVkIjpjdChlKSkmJiJudW1iZXIiPT10eXBlb2YgZS5ub2RlVHlwZSYmInN0cmluZyI9PXR5cGVvZiBlLm5vZGVOYW1lfWZ1bmN0aW9uIFRlKGUsdCxuKXtS''@;'; put 'put ''W2VdJiZDZShSW2VdLGZ1bmN0aW9uKGUpe2UuY2FsbChjLHQsbixnZSl9KX1mdW5jdGlvbiBFZShlKXt2YXIgdDtpZihUZSgiYmVmb3JlU2FuaXRpemVFbGVtZW50cyIsZSxudWxsKSwhKChuPWUpaW5zdGFuY2VvZiBkfHxuIGluc3RhbmNlb2YgZnx8InN0cmluZyI9PXR5cGVvZiBuLm5vZGVO''@;'; put 'put ''YW1lJiYic3RyaW5nIj09dHlwZW9mIG4udGV4dENvbnRlbnQmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlbW92ZUNoaWxkJiZuLmF0dHJpYnV0ZXMgaW5zdGFuY2VvZiBoJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5yZW1vdmVBdHRyaWJ1dGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnNldEF0dHJp''@;'; put 'put ''YnV0ZSYmInN0cmluZyI9PXR5cGVvZiBuLm5hbWVzcGFjZVVSSSYmImZ1bmN0aW9uIj09dHlwZW9mIG4uaW5zZXJ0QmVmb3JlKSlyZXR1cm4gd2UoZSksMTtpZihNZShlLm5vZGVOYW1lLC9bXHUwMDgwLVx1RkZGRl0vKSlyZXR1cm4gd2UoZSksMTt2YXIgbj1OZShlLm5vZGVOYW1lKTtpZihU''@;'; put 'put ''ZSgidXBvblNhbml0aXplRWxlbWVudCIsZSx7dGFnTmFtZTpuLGFsbG93ZWRUYWdzOlB9KSwhQWUoZS5maXJzdEVsZW1lbnRDaGlsZCkmJighQWUoZS5jb250ZW50KXx8IUFlKGUuY29udGVudC5maXJzdEVsZW1lbnRDaGlsZCkpJiZqZSgvPFsvXHddL2csZS5pbm5lckhUTUwpJiZqZSgvPFsv''@;'; put 'put ''XHddL2csZS50ZXh0Q29udGVudCkpcmV0dXJuIHdlKGUpLDE7aWYoInNlbGVjdCI9PT1uJiZqZSgvPHRlbXBsYXRlL2ksZS5pbm5lckhUTUwpKXJldHVybiB3ZShlKSwxO2lmKFBbbl0mJiFxW25dKXJldHVybiBlIGluc3RhbmNlb2YgYSYmIWZ1bmN0aW9uKGUpe3ZhciB0PWIoZSk7dCYmdC50''@;'; put 'put ''YWdOYW1lfHwodD17bmFtZXNwYWNlVVJJOmhlLHRhZ05hbWU6InRlbXBsYXRlIn0pO3ZhciBuPU5lKGUudGFnTmFtZSkscj1OZSh0LnRhZ05hbWUpO3JldHVybiBlLm5hbWVzcGFjZVVSST09PXBlP3QubmFtZXNwYWNlVVJJPT09aGU/InN2ZyI9PT1uOnQubmFtZXNwYWNlVVJJPT09dWU/InN2''@;'; put 'put ''ZyI9PT1uJiYoImFubm90YXRpb24teG1sIj09PXJ8fHZlW3JdKTpCb29sZWFuKGJlW25dKTplLm5hbWVzcGFjZVVSST09PXVlP3QubmFtZXNwYWNlVVJJPT09aGU/Im1hdGgiPT09bjp0Lm5hbWVzcGFjZVVSST09PXBlPyJtYXRoIj09PW4mJnllW3JdOkJvb2xlYW4oa2Vbbl0pOmUubmFtZXNw''@;'; put 'put ''YWNlVVJJPT09aGUmJih0Lm5hbWVzcGFjZVVSSSE9PXBlfHx5ZVtyXSkmJih0Lm5hbWVzcGFjZVVSSSE9PXVlfHx2ZVtyXSkmJihyPXFlKHt9LFsidGl0bGUiLCJzdHlsZSIsImZvbnQiLCJhIiwic2NyaXB0Il0pLCFrZVtuXSYmKHJbbl18fCFiZVtuXSkpfShlKXx8KCJub3NjcmlwdCI9PT1u''@;'; put 'put ''fHwibm9lbWJlZCI9PT1uKSYmamUoLzxcL25vKHNjcmlwdHxlbWJlZCkvaSxlLmlubmVySFRNTCk/KHdlKGUpLDEpOihXJiYzPT09ZS5ub2RlVHlwZSYmKHQ9ZS50ZXh0Q29udGVudCx0PURlKHQsRiwiICIpLHQ9RGUodCxDLCIgIiksZS50ZXh0Q29udGVudCE9PXQmJih6ZShjLnJlbW92ZWQs''@;'; put 'put ''e2VsZW1lbnQ6ZS5jbG9uZU5vZGUoKX0pLGUudGV4dENvbnRlbnQ9dCkpLFRlKCJhZnRlclNhbml0aXplRWxlbWVudHMiLGUsbnVsbCksMCk7aWYobmUmJiFpZVtuXSl7dmFyIHI9YihlKXx8ZS5wYXJlbnROb2RlLGk9eShlKXx8ZS5jaGlsZE5vZGVzO2lmKGkmJnIpZm9yKHZhciBvPWkubGVu''@;'; put 'put ''Z3RoLTE7MDw9bzstLW8pci5pbnNlcnRCZWZvcmUobShpW29dLCEwKSx2KGUpKX1yZXR1cm4gd2UoZSksMX1mdW5jdGlvbiBSZShlLHQsbil7aWYodGUmJigiaWQiPT09dHx8Im5hbWUiPT09dCkmJihuIGluIG98fG4gaW4gbWUpKXJldHVybiExO2lmKCghWnx8VVt0XXx8IWplKEwsdCkpJiYo''@;'; put 'put ''IUJ8fCFqZSh6LHQpKSl7aWYoIWpbdF18fFVbdF0pcmV0dXJuITE7aWYoIWxlW3RdJiYhamUoRCxEZShuLE0sIiIpKSYmKCJzcmMiIT09dCYmInhsaW5rOmhyZWYiIT09dCYmImhyZWYiIT09dHx8InNjcmlwdCI9PT1lfHwwIT09UGUobiwiZGF0YToiKXx8IWFlW2VdKSYmKCFHfHxqZShOLERl''@;'; put 'put ''KG4sTSwiIikpKSYmbilyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBPZShlKXt2YXIgdD12b2lkIDAsbj12b2lkIDA7VGUoImJlZm9yZVNhbml0aXplQXR0cmlidXRlcyIsZSxudWxsKTt2YXIgcj1lLmF0dHJpYnV0ZXM7aWYocil7Zm9yKHZhciBpPXthdHRyTmFtZToiIixhdHRyVmFsdWU6''@;'; put 'put ''IiIsa2VlcEF0dHI6ITAsYWxsb3dlZEF0dHJpYnV0ZXM6an0sbj1yLmxlbmd0aDtuLS07KXt2YXIgbz0obD1yW25dKS5uYW1lLGE9bC5uYW1lc3BhY2VVUkksdD1JZShsLnZhbHVlKSxzPU5lKG8pO2lmKGkuYXR0ck5hbWU9cyxpLmF0dHJWYWx1ZT10LGkua2VlcEF0dHI9ITAsaS5mb3JjZUtl''@;'; put 'put ''ZXBBdHRyPXZvaWQgMCxUZSgidXBvblNhbml0aXplQXR0cmlidXRlIixlLGkpLHQ9aS5hdHRyVmFsdWUsIWkuZm9yY2VLZWVwQXR0ciYmKHhlKG8sZSksaS5rZWVwQXR0cikpaWYoamUoL1wvPi9pLHQpKXhlKG8sZSk7ZWxzZXtXJiYodD1EZSh0LEYsIiAiKSx0PURlKHQsQywiICIpKTt2YXIg''@;'; put 'put ''bD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoUmUobCxzLHQpKXRyeXthP2Uuc2V0QXR0cmlidXRlTlMoYSxvLHQpOmUuc2V0QXR0cmlidXRlKG8sdCksTGUoYy5yZW1vdmVkKX1jYXRjaChlKXt9fX1UZSgiYWZ0ZXJTYW5pdGl6ZUF0dHJpYnV0ZXMiLGUsbnVsbCl9fWZ1bmN0aW9uICRl''@;'; put 'put ''KGUpe3ZhciB0LG49U2UoZSk7Zm9yKFRlKCJiZWZvcmVTYW5pdGl6ZVNoYWRvd0RPTSIsZSxudWxsKTt0PW4ubmV4dE5vZGUoKTspVGUoInVwb25TYW5pdGl6ZVNoYWRvd05vZGUiLHQsbnVsbCksRWUodCl8fCh0LmNvbnRlbnQgaW5zdGFuY2VvZiB1JiYkZSh0LmNvbnRlbnQpLE9lKHQpKTtU''@;'; put 'put ''ZSgiYWZ0ZXJTYW5pdGl6ZVNoYWRvd0RPTSIsZSxudWxsKX1yZXR1cm4gYy5zYW5pdGl6ZT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9dm9pZCAwLGk9dm9pZCAwLG89dm9pZCAwO2lmKChmZT0hZSkmJihlPSJceDNjIS0tXHgzZSIpLCJzdHJpbmciIT10eXBlb2YgZSYmIUFlKGUpKXtpZigiZnVu''@;'; put 'put ''Y3Rpb24iIT10eXBlb2YgZS50b1N0cmluZyl0aHJvdyBIZSgidG9TdHJpbmcgaXMgbm90IGEgZnVuY3Rpb24iKTtpZigic3RyaW5nIiE9dHlwZW9mKGU9ZS50b1N0cmluZygpKSl0aHJvdyBIZSgiZGlydHkgaXMgbm90IGEgc3RyaW5nLCBhYm9ydGluZyIpfWlmKCFjLmlzU3VwcG9ydGVkKXtp''@;'; put 'put ''Zigib2JqZWN0Ij09PWN0KHMudG9TdGF0aWNIVE1MKXx8ImZ1bmN0aW9uIj09dHlwZW9mIHMudG9TdGF0aWNIVE1MKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIHMudG9TdGF0aWNIVE1MKGUpO2lmKEFlKGUpKXJldHVybiBzLnRvU3RhdGljSFRNTChlLm91dGVySFRNTCl9cmV0dXJu''@;'; put 'put ''IGV9aWYoWXx8Tyh0KSxjLnJlbW92ZWQ9W10sInN0cmluZyI9PXR5cGVvZiBlJiYocmU9ITEpLCFyZSlpZihlIGluc3RhbmNlb2YgcCkxPT09KHQ9KHI9X2UoIlx4M2MhLS0tLVx4M2UiKSkub3duZXJEb2N1bWVudC5pbXBvcnROb2RlKGUsITApKS5ub2RlVHlwZSYmIkJPRFkiPT09dC5ub2Rl''@;'; put 'put ''TmFtZXx8IkhUTUwiPT09dC5ub2RlTmFtZT9yPXQ6ci5hcHBlbmRDaGlsZCh0KTtlbHNle2lmKCFLJiYhVyYmIVYmJi0xPT09ZS5pbmRleE9mKCI8IikpcmV0dXJuIGsmJmVlP2suY3JlYXRlSFRNTChlKTplO2lmKCEocj1fZShlKSkpcmV0dXJuIEs/bnVsbDp3fXImJlgmJndlKHIuZmlyc3RD''@;'; put 'put ''aGlsZCk7Zm9yKHZhciBhPVNlKHJlP2U6cik7bj1hLm5leHROb2RlKCk7KTM9PT1uLm5vZGVUeXBlJiZuPT09aXx8RWUobil8fChuLmNvbnRlbnQgaW5zdGFuY2VvZiB1JiYkZShuLmNvbnRlbnQpLE9lKG4pLGk9bik7aWYoaT1udWxsLHJlKXJldHVybiBlO2lmKEspe2lmKFEpZm9yKG89Uy5j''@;'; put 'put ''YWxsKHIub3duZXJEb2N1bWVudCk7ci5maXJzdENoaWxkOylvLmFwcGVuZENoaWxkKHIuZmlyc3RDaGlsZCk7ZWxzZSBvPXI7cmV0dXJuIEomJihvPVQuY2FsbChsLG8sITApKSxvfXJldHVybiBlPVY/ci5vdXRlckhUTUw6ci5pbm5lckhUTUwsVyYmKGU9RGUoZSxGLCIgIiksZT1EZShlLEMs''@;'; put 'put ''IiAiKSksayYmZWU/ay5jcmVhdGVIVE1MKGUpOmV9LGMuc2V0Q29uZmlnPWZ1bmN0aW9uKGUpe08oZSksWT0hMH0sYy5jbGVhckNvbmZpZz1mdW5jdGlvbigpe2dlPW51bGwsWT0hMX0sYy5pc1ZhbGlkQXR0cmlidXRlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZ2V8fE8oe30pLGU9TmUoZSks''@;'; put 'put ''dD1OZSh0KSxSZShlLHQsbil9LGMuYWRkSG9vaz1mdW5jdGlvbihlLHQpeyJmdW5jdGlvbiI9PXR5cGVvZiB0JiYoUltlXT1SW2VdfHxbXSx6ZShSW2VdLHQpKX0sYy5yZW1vdmVIb29rPWZ1bmN0aW9uKGUpe1JbZV0mJkxlKFJbZV0pfSxjLnJlbW92ZUhvb2tzPWZ1bmN0aW9uKGUpe1JbZV0m''@;'; put 'put ''JihSW2VdPVtdKX0sYy5yZW1vdmVBbGxIb29rcz1mdW5jdGlvbigpe1I9e319LGN9KCk7ZnVuY3Rpb24gc2UoZSl7dmFyIHQsbj1lLmxvYWRlZCxyPWUudG90YWwsaT1lLnN0ZXA7aWV8fCgoZT12KCJkaXYiKSkuY2xhc3NMaXN0LmFkZCgicHJvZ3Jlc3MiKSxhKGcsZSksaWU9ZSksdD1pPzgw''@;'; put 'put ''PCh0PXBhcnNlSW50KGllLnN0eWxlLndpZHRofHwwLDEwKStpKT84MDp0Ok1hdGguZmxvb3Iobi9yKjEwMCksaWUuc3R5bGUub3BhY2l0eT0xLGllLnN0eWxlLndpZHRoPTk1PD10PyIxMDAlIjp0KyIlIiw5NTw9dCYmKGNsZWFyVGltZW91dChvZSksb2U9c2V0VGltZW91dChmdW5jdGlvbihl''@;'; put 'put ''KXtpZS5zdHlsZS5vcGFjaXR5PTAsaWUuc3R5bGUud2lkdGg9IjAlIn0sMjAwKSl9dmFyIGxlPXt9O2Z1bmN0aW9uIGNlKGksZSx0KXt2b2lkIDA9PT1lJiYoZT0hMSksdm9pZCAwPT09dCYmKHQ9e30pO2Z1bmN0aW9uIG8oKXthLmFkZEV2ZW50TGlzdGVuZXIuYXBwbHkoYSxhcmd1bWVudHMp''@;'; put 'put ''fXZhciBuLGE9bmV3IFhNTEh0dHBSZXF1ZXN0LHI9bGVbaV07aWYocilyZXR1cm57dGhlbjpmdW5jdGlvbihlKXtyZXR1cm4gZShyLmNvbnRlbnQsci5vcHQpfSxhYm9ydDp1fTtmb3IobiBpbiBhLm9wZW4oIkdFVCIsaSksdClsLmNhbGwodCxuKSYmYS5zZXRSZXF1ZXN0SGVhZGVyKG4sdFtu''@;'; put 'put ''XSk7cmV0dXJuIGEuc2VuZCgpLHt0aGVuOmZ1bmN0aW9uKHQsbil7dmFyIHI7dm9pZCAwPT09biYmKG49dSksZSYmKHI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oZSl7cmV0dXJuIHNlKHtzdGVwOk1hdGguZmxvb3IoNSpNYXRoLnJhbmRvbSgpKzEpfSl9LDUwMCksbygicHJvZ3Jlc3MiLHNlKSxv''@;'; put 'put ''KCJsb2FkZW5kIixmdW5jdGlvbihlKXtzZShlKSxjbGVhckludGVydmFsKHIpfSkpLG8oImVycm9yIixuKSxvKCJsb2FkIixmdW5jdGlvbihlKXtlPWUudGFyZ2V0OzQwMDw9ZS5zdGF0dXM/bihlKTooZT1sZVtpXT17Y29udGVudDplLnJlc3BvbnNlLG9wdDp7dXBkYXRlZEF0OmEuZ2V0UmVz''@;'; put 'put ''cG9uc2VIZWFkZXIoImxhc3QtbW9kaWZpZWQiKX19LHQoZS5jb250ZW50LGUub3B0KSl9KX0sYWJvcnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIDQhPT1hLnJlYWR5U3RhdGUmJmEuYWJvcnQoKX19fWZ1bmN0aW9uIHVlKGUsdCl7ZS5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvdmFyXChc''@;'; put 'put ''cyotLXRoZW1lLWNvbG9yLio/XCkvZyx0KX12YXIgcGU9Zi50aXRsZTtmdW5jdGlvbiBoZSgpe3ZhciBlLHQ9ZCgic2VjdGlvbi5jb3ZlciIpO3QmJihlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0LHdpbmRvdy5wYWdlWU9mZnNldD49ZXx8dC5jbGFzc0xpc3QuY29udGFpbnMo''@;'; put 'put ''ImhpZGRlbiIpP1MoZywiYWRkIiwic3RpY2t5Iik6UyhnLCJyZW1vdmUiLCJzdGlja3kiKSl9ZnVuY3Rpb24gZGUoZSx0LHIsbil7dmFyIGk9W107bnVsbCE9KHQ9ZCh0KSkmJihpPWsodCwiYSIpKTt2YXIgbyxhPWRlY29kZVVSSShlLnRvVVJMKGUuZ2V0Q3VycmVudFBhdGgoKSkpO3JldHVy''@;'; put 'put ''biBpLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5ocmVmLmxlbmd0aC1lLmhyZWYubGVuZ3RofSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1kZWNvZGVVUkkoZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSksbj1yP2UucGFyZW50Tm9kZTplO2UudGl0bGU9ZS50aXRsZXx8ZS5pbm5lclRl''@;'; put 'put ''eHQsMCE9PWEuaW5kZXhPZih0KXx8bz9TKG4sInJlbW92ZSIsImFjdGl2ZSIpOihvPWUsUyhuLCJhZGQiLCJhY3RpdmUiKSl9KSxuJiYoZi50aXRsZT1vP28udGl0bGV8fG8uaW5uZXJUZXh0KyIgLSAiK3BlOnBlKSxvfWZ1bmN0aW9uIGZlKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtu''@;'; put 'put ''Kyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19dmFyIGdlPShmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJmZlKGUu''@;'; put 'put ''cHJvdG90eXBlLHQpLG4mJmZlKGUsbiksZX0obWUsW3trZXk6ImdldEludGVybWVkaWF0ZVZhbHVlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5kZWNpbWFsP2U6TWF0aC5yb3VuZChlKX19LHtrZXk6ImdldEZpbmFsVmFsdWUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu''@;'; put 'put ''ZW5kfX1dKSxtZSk7ZnVuY3Rpb24gbWUoKXt2YXIgZT0wPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFz''@;'; put 'put ''cyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbWUpLHRoaXMuc3RhcnQ9ZS5zdGFydCx0aGlzLmVuZD1lLmVuZCx0aGlzLmRlY2ltYWw9ZS5kZWNpbWFsfWZ1bmN0aW9uIHZlKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJs''@;'; put 'put ''ZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19dmFyIHllPShmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJnZlKGUucHJvdG90eXBlLHQpLG4mJnZlKGUsbiksZX0oYmUsW3trZXk6ImJl''@;'; put 'put ''Z2luIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzUnVubmluZ3x8dGhpcy5uZXh0PT09dGhpcy5lbmR8fCh0aGlzLmZyYW1lPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fdGljay5iaW5kKHRoaXMpKSksdGhpc319LHtrZXk6InN0b3AiLHZhbHVlOmZ1bmN0aW9u''@;'; put 'put ''KCl7cmV0dXJuIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmZyYW1lKSx0aGlzLmlzUnVubmluZz0hMSx0aGlzLmZyYW1lPW51bGwsdGhpcy50aW1lU3RhcnQ9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzfX0se2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRo''@;'; put 'put ''aXMuZXZlbnRzW2VdPXRoaXMuZXZlbnRzW2VdfHxbXSx0aGlzLmV2ZW50c1tlXS5wdXNoKHQpLHRoaXN9fSx7a2V5OiJfZW1pdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLGU9dGhpcy5ldmVudHNbZV07ZSYmZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNhbGwobix0''@;'; put 'put ''KX0pfX0se2tleToiX3RpY2siLHZhbHVlOmZ1bmN0aW9uKGUpe3RoaXMuaXNSdW5uaW5nPSEwO3ZhciB0PXRoaXMubmV4dHx8dGhpcy5zdGFydDt0aGlzLnRpbWVTdGFydHx8KHRoaXMudGltZVN0YXJ0PWUpLHRoaXMudGltZUVsYXBzZWQ9ZS10aGlzLnRpbWVTdGFydCx0aGlzLm5leHQ9dGhp''@;'; put 'put ''cy5lYXNlKHRoaXMudGltZUVsYXBzZWQsdGhpcy5zdGFydCx0aGlzLmVuZC10aGlzLnN0YXJ0LHRoaXMuZHVyYXRpb24pLHRoaXMuX3Nob3VsZFRpY2sodCk/KHRoaXMuX2VtaXQoInRpY2siLHRoaXMudHdlZW5lci5nZXRJbnRlcm1lZGlhdGVWYWx1ZSh0aGlzLm5leHQpKSx0aGlzLmZyYW1l''@;'; put 'put ''PXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fdGljay5iaW5kKHRoaXMpKSk6KHRoaXMuX2VtaXQoInRpY2siLHRoaXMudHdlZW5lci5nZXRGaW5hbFZhbHVlKCkpLHRoaXMuX2VtaXQoImRvbmUiLG51bGwpKX19LHtrZXk6Il9zaG91bGRUaWNrIix2YWx1ZTpmdW5jdGlvbihl''@;'; put 'put ''KXtyZXR1cm57dXA6dGhpcy5uZXh0PHRoaXMuZW5kJiZlPD10aGlzLm5leHQsZG93bjp0aGlzLm5leHQ+dGhpcy5lbmQmJmU+PXRoaXMubmV4dH1bdGhpcy5kaXJlY3Rpb25dfX0se2tleToiX2RlZmF1bHRFYXNlIix2YWx1ZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4oZS89ci8yKTwxP24v''@;'; put 'put ''MiplKmUrdDotbi8yKigtLWUqKGUtMiktMSkrdH19XSksYmUpO2Z1bmN0aW9uIGJlKCl7dmFyIGU9MDxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9OyFmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBl''@;'; put 'put ''RXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGJlKSx0aGlzLmR1cmF0aW9uPWUuZHVyYXRpb258fDFlMyx0aGlzLmVhc2U9ZS5lYXNpbmd8fHRoaXMuX2RlZmF1bHRFYXNlLHRoaXMudHdlZW5lcj1lLnR3ZWVuZXJ8fG5ldyBnZShlKSx0aGlzLnN0YXJ0''@;'; put 'put ''PXRoaXMudHdlZW5lci5zdGFydCx0aGlzLmVuZD10aGlzLnR3ZWVuZXIuZW5kLHRoaXMuZnJhbWU9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLmlzUnVubmluZz0hMSx0aGlzLmV2ZW50cz17fSx0aGlzLmRpcmVjdGlvbj10aGlzLnN0YXJ0PHRoaXMuZW5kPyJ1cCI6ImRvd24ifXZhciBrZT1k''@;'; put 'put ''b2N1bWVudC5jdXJyZW50U2NyaXB0O2Z1bmN0aW9uIHdlKGUpe3ZhciB0LG49eSh7ZWw6IiNhcHAiLHJlcG86IiIsbWF4TGV2ZWw6NixzdWJNYXhMZXZlbDowLGxvYWRTaWRlYmFyOm51bGwsbG9hZE5hdmJhcjpudWxsLGhvbWVwYWdlOiJSRUFETUUubWQiLGNvdmVycGFnZToiIixiYXNlUGF0''@;'; put 'put ''aDoiIixhdXRvMnRvcDohMSxuYW1lOiIiLHRoZW1lQ29sb3I6IiIsbmFtZUxpbms6d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLGF1dG9IZWFkZXI6ITEsZXhlY3V0ZVNjcmlwdDpudWxsLG5vRW1vamk6ITEsZ2E6IiIsZXh0OiIubWQiLG1lcmdlTmF2YmFyOiExLGZvcm1hdFVwZGF0ZWQ6IiIs''@;'; put 'put ''ZXh0ZXJuYWxMaW5rVGFyZ2V0OiJfYmxhbmsiLGNvcm5lckV4dGVybmFsTGlua1RhcmdldDoiX2JsYW5rIixleHRlcm5hbExpbmtSZWw6Im5vb3BlbmVyIixyb3V0ZXJNb2RlOiJoYXNoIixub0NvbXBpbGVMaW5rczpbXSxjcm9zc09yaWdpbkxpbmtzOltdLHJlbGF0aXZlUGF0aDohMSx0b3BN''@;'; put 'put ''YXJnaW46MH0sImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy4kZG9jc2lmeT93aW5kb3cuJGRvY3NpZnkoZSk6d2luZG93LiRkb2NzaWZ5KSxyPWtlfHxbXS5zbGljZS5jYWxsKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVy''@;'; put 'put ''bi9kb2NzaWZ5XC4vLnRlc3QoZS5zcmMpfSlbMF07aWYocilmb3IodmFyIGkgaW4gbil7IWwuY2FsbChuLGkpfHxjKHQ9ci5nZXRBdHRyaWJ1dGUoImRhdGEtIitvKGkpKSkmJihuW2ldPSIiPT09dHx8dCl9cmV0dXJuITA9PT1uLmxvYWRTaWRlYmFyJiYobi5sb2FkU2lkZWJhcj0iX3NpZGVi''@;'; put 'put ''YXIiK24uZXh0KSwhMD09PW4ubG9hZE5hdmJhciYmKG4ubG9hZE5hdmJhcj0iX25hdmJhciIrbi5leHQpLCEwPT09bi5jb3ZlcnBhZ2UmJihuLmNvdmVycGFnZT0iX2NvdmVycGFnZSIrbi5leHQpLCEwPT09bi5yZXBvJiYobi5yZXBvPSIiKSwhMD09PW4ubmFtZSYmKG4ubmFtZT0iIiksd2lu''@;'; put 'put ''ZG93LiRkb2NzaWZ5PW59dmFyIHhlPXt9LF9lPSExLFNlPW51bGwsQWU9ITAsVGU9MDtmdW5jdGlvbiBFZShlKXtpZihBZSl7Zm9yKHZhciB0LG4scj1kKCIuc2lkZWJhciIpLGk9aygiLmFuY2hvciIpLG89YihyLCIuc2lkZWJhci1uYXYiKSxhPWIociwibGkuYWN0aXZlIikscz1kb2N1bWVu''@;'; put 'put ''dC5kb2N1bWVudEVsZW1lbnQsbD0ocyYmcy5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKS1UZSxjPTAsdT1pLmxlbmd0aDtjPHU7Yys9MSl7dmFyIHA9aVtjXTtpZihwLm9mZnNldFRvcD5sKXt0PXR8fHA7YnJlYWt9dD1wfSF0fHwobj14ZVtSZShlLHQuZ2V0QXR0cmlidXRl''@;'; put 'put ''KCJkYXRhLWlkIikpXSkmJm4hPT1hJiYoYSYmYS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxuLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLGE9biwhX2UmJmcuY2xhc3NMaXN0LmNvbnRhaW5zKCJzdGlja3kiKSYmKHM9ci5jbGllbnRIZWlnaHQsZT1hLm9mZnNldFRvcCthLmNsaWVudEhl''@;'; put 'put ''aWdodCs0MCxuPWEub2Zmc2V0VG9wPj1vLnNjcm9sbFRvcCYmZTw9by5zY3JvbGxUb3ArcyxhPStlPHMsci5zY3JvbGxUb3A9bj9vLnNjcm9sbFRvcDphPzA6ZS1zKSl9fWZ1bmN0aW9uIFJlKGUsdCl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlKSsiP2lkPSIrZGVjb2RlVVJJQ29tcG9u''@;'; put 'put ''ZW50KHQpfWZ1bmN0aW9uIE9lKGUsdCl7dmFyIG4scjt0JiYocj13ZSgpLnRvcE1hcmdpbiwobj1iKCIjIit0KSkmJihuPW4sdm9pZCAwPT09KHI9cikmJihyPTApLFNlJiZTZS5zdG9wKCksQWU9ITEsU2U9bmV3IHllKHtzdGFydDp3aW5kb3cucGFnZVlPZmZzZXQsZW5kOk1hdGgucm91bmQo''@;'; put 'put ''bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3ApK3dpbmRvdy5wYWdlWU9mZnNldC1yLGR1cmF0aW9uOjUwMH0pLm9uKCJ0aWNrIixmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LnNjcm9sbFRvKDAsZSl9KS5vbigiZG9uZSIsZnVuY3Rpb24oKXtBZT0hMCxTZT1udWxsfSkuYmVnaW4oKSks''@;'; put 'put ''ZT14ZVtSZShlLHQpXSwodD1iKGQoIi5zaWRlYmFyIiksImxpLmFjdGl2ZSIpKSYmdC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxlJiZlLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpKX12YXIgJGU9Zi5zY3JvbGxpbmdFbGVtZW50fHxmLmRvY3VtZW50RWxlbWVudDt2YXIgZHQ9InVuZGVm''@;'; put 'put ''aW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp7fTtmdW5jdGlvbiBmdChlLHQpe3JldHVybiBlKHQ9''@;'; put 'put ''e2V4cG9ydHM6e319LHQuZXhwb3J0cyksdC5leHBvcnRzfWZ1bmN0aW9uIGd0KGUpe3JldHVybiB3dFtlXX12YXIgbXQ9ZnQoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybntiYXNlVXJsOm51bGwsYnJlYWtzOiExLGdmbTohMCxoZWFkZXJJZHM6ITAsaGVhZGVyUHJlZml4OiIiLGhp''@;'; put 'put ''Z2hsaWdodDpudWxsLGxhbmdQcmVmaXg6Imxhbmd1YWdlLSIsbWFuZ2xlOiEwLHBlZGFudGljOiExLHJlbmRlcmVyOm51bGwsc2FuaXRpemU6ITEsc2FuaXRpemVyOm51bGwsc2lsZW50OiExLHNtYXJ0TGlzdHM6ITEsc21hcnR5cGFudHM6ITEsdG9rZW5pemVyOm51bGwsd2Fsa1Rva2Vuczpu''@;'; put 'put ''dWxsLHhodG1sOiExfX10LmV4cG9ydHM9e2RlZmF1bHRzOmUoKSxnZXREZWZhdWx0czplLGNoYW5nZURlZmF1bHRzOmZ1bmN0aW9uKGUpe3QuZXhwb3J0cy5kZWZhdWx0cz1lfX19KSx2dD0obXQuZGVmYXVsdHMsbXQuZ2V0RGVmYXVsdHMsbXQuY2hhbmdlRGVmYXVsdHMsL1smPD4iJ10vKSx5''@;'; put 'put ''dD0vWyY8PiInXS9nLGJ0PS9bPD4iJ118Jig/ISM/XHcrOykvLGt0PS9bPD4iJ118Jig/ISM/XHcrOykvZyx3dD17IiYiOiImYW1wOyIsIjwiOiImbHQ7IiwiPiI6IiZndDsiLCciJzoiJnF1b3Q7IiwiJyI6IiYjMzk7In07dmFyIHh0PS8mKCMoPzpcZCspfCg/OiN4WzAtOUEtRmEtZl0rKXwo''@;'; put 'put ''PzpcdyspKTs/L2dpO2Z1bmN0aW9uIF90KGUpe3JldHVybiBlLnJlcGxhY2UoeHQsZnVuY3Rpb24oZSx0KXtyZXR1cm4iY29sb24iPT09KHQ9dC50b0xvd2VyQ2FzZSgpKT8iOiI6IiMiPT09dC5jaGFyQXQoMCk/IngiPT09dC5jaGFyQXQoMSk/U3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUlu''@;'; put 'put ''dCh0LnN1YnN0cmluZygyKSwxNikpOlN0cmluZy5mcm9tQ2hhckNvZGUoK3Quc3Vic3RyaW5nKDEpKToiIn0pfXZhciBTdD0vKF58W15cW10pXF4vZzt2YXIgQXQ9L1teXHc6XS9nLFR0PS9eJHxeW2Etel1bYS16MC05Ky4tXSo6fF5bPyNdL2k7dmFyIEV0PXt9LFJ0PS9eW146XSs6XC8qW14v''@;'; put 'put ''XSokLyxPdD0vXihbXjpdKzopW1xzXFNdKiQvLCR0PS9eKFteOl0rOlwvKlteL10qKVtcc1xTXSokLztmdW5jdGlvbiBGdChlLHQpe0V0WyIgIitlXXx8KFJ0LnRlc3QoZSk/RXRbIiAiK2VdPWUrIi8iOkV0WyIgIitlXT1DdChlLCIvIiwhMCkpO3ZhciBuPS0xPT09KGU9RXRbIiAiK2VdKS5p''@;'; put 'put ''bmRleE9mKCI6Iik7cmV0dXJuIi8vIj09PXQuc3Vic3RyaW5nKDAsMik/bj90OmUucmVwbGFjZShPdCwiJDEiKSt0OiIvIj09PXQuY2hhckF0KDApP24/dDplLnJlcGxhY2UoJHQsIiQxIikrdDplK3R9ZnVuY3Rpb24gQ3QoZSx0LG4pe3ZhciByPWUubGVuZ3RoO2lmKDA9PT1yKXJldHVybiIi''@;'; put 'put ''O2Zvcih2YXIgaT0wO2k8cjspe3ZhciBvPWUuY2hhckF0KHItaS0xKTtpZihvIT09dHx8bil7aWYobz09PXR8fCFuKWJyZWFrO2krK31lbHNlIGkrK31yZXR1cm4gZS5zdWJzdHIoMCxyLWkpfXZhciBMdD1mdW5jdGlvbihlLHQpe2lmKHQpe2lmKHZ0LnRlc3QoZSkpcmV0dXJuIGUucmVwbGFj''@;'; put 'put ''ZSh5dCxndCl9ZWxzZSBpZihidC50ZXN0KGUpKXJldHVybiBlLnJlcGxhY2Uoa3QsZ3QpO3JldHVybiBlfSx6dD1fdCxOdD1mdW5jdGlvbihuLGUpe249bi5zb3VyY2V8fG4sZT1lfHwiIjt2YXIgcj17cmVwbGFjZTpmdW5jdGlvbihlLHQpe3JldHVybiB0PSh0PXQuc291cmNlfHx0KS5yZXBs''@;'; put 'put ''YWNlKFN0LCIkMSIpLG49bi5yZXBsYWNlKGUsdCkscn0sZ2V0UmVnZXg6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFJlZ0V4cChuLGUpfX07cmV0dXJuIHJ9LE10PWZ1bmN0aW9uKGUsdCxuKXtpZihlKXt2YXIgcjt0cnl7cj1kZWNvZGVVUklDb21wb25lbnQoX3QobikpLnJlcGxhY2UoQXQsIiIp''@;'; put 'put ''LnRvTG93ZXJDYXNlKCl9Y2F0Y2goZSl7cmV0dXJuIG51bGx9aWYoMD09PXIuaW5kZXhPZigiamF2YXNjcmlwdDoiKXx8MD09PXIuaW5kZXhPZigidmJzY3JpcHQ6Iil8fDA9PT1yLmluZGV4T2YoImRhdGE6IikpcmV0dXJuIG51bGx9dCYmIVR0LnRlc3QobikmJihuPUZ0KHQsbikpO3RyeXtu''@;'; put 'put ''PWVuY29kZVVSSShuKS5yZXBsYWNlKC8lMjUvZywiJSIpfWNhdGNoKGUpe3JldHVybiBudWxsfXJldHVybiBufSxEdD17ZXhlYzpmdW5jdGlvbigpe319LFB0PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuLHI9YXJndW1lbnRzLGk9MTtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKWZvcihuIGluIHQ9''@;'; put 'put ''cltpXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKGVbbl09dFtuXSk7cmV0dXJuIGV9LEl0PWZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5yZXBsYWNlKC9cfC9nLGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9ITEsaT10OzA8PS0taSYmIlxcIj09PW5baV07KXI9''@;'; put 'put ''IXI7cmV0dXJuIHI/InwiOiIgfCJ9KS5zcGxpdCgvIFx8Lykscj0wO2lmKG4ubGVuZ3RoPnQpbi5zcGxpY2UodCk7ZWxzZSBmb3IoO24ubGVuZ3RoPHQ7KW4ucHVzaCgiIik7Zm9yKDtyPG4ubGVuZ3RoO3IrKyluW3JdPW5bcl0udHJpbSgpLnJlcGxhY2UoL1xcXHwvZywifCIpO3JldHVybiBu''@;'; put 'put ''fSxJPWZ1bmN0aW9uKGUsdCl7aWYoLTE9PT1lLmluZGV4T2YodFsxXSkpcmV0dXJuLTE7Zm9yKHZhciBuPWUubGVuZ3RoLHI9MCxpPTA7aTxuO2krKylpZigiXFwiPT09ZVtpXSlpKys7ZWxzZSBpZihlW2ldPT09dFswXSlyKys7ZWxzZSBpZihlW2ldPT09dFsxXSYmLS1yPDApcmV0dXJuIGk7''@;'; put 'put ''cmV0dXJuLTF9LGVlPWZ1bmN0aW9uKGUpe2UmJmUuc2FuaXRpemUmJiFlLnNpbGVudCYmY29uc29sZS53YXJuKCJtYXJrZWQoKTogc2FuaXRpemUgYW5kIHNhbml0aXplciBwYXJhbWV0ZXJzIGFyZSBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMC43LjAsIHNob3VsZCBub3QgYmUgdXNlZCBh''@;'; put 'put ''bmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBmdXR1cmUuIFJlYWQgbW9yZSBoZXJlOiBodHRwczovL21hcmtlZC5qcy5vcmcvIy9VU0lOR19BRFZBTkNFRC5tZCNvcHRpb25zIil9LFE9ZnVuY3Rpb24oZSx0KXtpZih0PDEpcmV0dXJuIiI7Zm9yKHZhciBuPSIiOzE8dDspMSZ0JiYobis9ZSks''@;'; put 'put ''dD4+PTEsZSs9ZTtyZXR1cm4gbitlfSxqdD1tdC5kZWZhdWx0cyxIdD1DdCxxdD1JdCxVdD1MdCxCdD1JO2Z1bmN0aW9uIFp0KGUsdCxuKXt2YXIgcj10LmhyZWYsaT10LnRpdGxlP1V0KHQudGl0bGUpOm51bGwsdD1lWzFdLnJlcGxhY2UoL1xcKFtcW1xdXSkvZywiJDEiKTtyZXR1cm4iISIh''@;'; put 'put ''PT1lWzBdLmNoYXJBdCgwKT97dHlwZToibGluayIscmF3Om4saHJlZjpyLHRpdGxlOmksdGV4dDp0fTp7dHlwZToiaW1hZ2UiLHJhdzpuLGhyZWY6cix0aXRsZTppLHRleHQ6VXQodCl9fXZhciBHdD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5vcHRpb25zPWV8fGp0fXJldHVybiBl''@;'; put 'put ''LnByb3RvdHlwZS5zcGFjZT1mdW5jdGlvbihlKXtlPXRoaXMucnVsZXMuYmxvY2submV3bGluZS5leGVjKGUpO2lmKGUpcmV0dXJuIDE8ZVswXS5sZW5ndGg/e3R5cGU6InNwYWNlIixyYXc6ZVswXX06e3JhdzoiXG4ifX0sZS5wcm90b3R5cGUuY29kZT1mdW5jdGlvbihlLHQpe2U9dGhpcy5y''@;'; put 'put ''dWxlcy5ibG9jay5jb2RlLmV4ZWMoZSk7aWYoZSl7dD10W3QubGVuZ3RoLTFdO2lmKHQmJiJwYXJhZ3JhcGgiPT09dC50eXBlKXJldHVybntyYXc6ZVswXSx0ZXh0OmVbMF0udHJpbVJpZ2h0KCl9O3Q9ZVswXS5yZXBsYWNlKC9eIHsxLDR9L2dtLCIiKTtyZXR1cm57dHlwZToiY29kZSIscmF3''@;'; put 'put ''OmVbMF0sY29kZUJsb2NrU3R5bGU6ImluZGVudGVkIix0ZXh0OnRoaXMub3B0aW9ucy5wZWRhbnRpYz90Okh0KHQsIlxuIil9fX0sZS5wcm90b3R5cGUuZmVuY2VzPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucnVsZXMuYmxvY2suZmVuY2VzLmV4ZWMoZSk7aWYodCl7dmFyIG49dFswXSxlPWZ1''@;'; put 'put ''bmN0aW9uKGUsdCl7aWYobnVsbD09PShlPWUubWF0Y2goL14oXHMrKSg/OmBgYCkvKSkpcmV0dXJuIHQ7dmFyIG49ZVsxXTtyZXR1cm4gdC5zcGxpdCgiXG4iKS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5tYXRjaCgvXlxzKy8pO3JldHVybiBudWxsIT09dCYmdFswXS5sZW5ndGg+PW4ubGVu''@;'; put 'put ''Z3RoP2Uuc2xpY2Uobi5sZW5ndGgpOmV9KS5qb2luKCJcbiIpfShuLHRbM118fCIiKTtyZXR1cm57dHlwZToiY29kZSIscmF3Om4sbGFuZzp0WzJdP3RbMl0udHJpbSgpOnRbMl0sdGV4dDplfX19LGUucHJvdG90eXBlLmhlYWRpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5ydWxlcy5ibG9j''@;'; put 'put ''ay5oZWFkaW5nLmV4ZWMoZSk7aWYodCl7dmFyIG49dFsyXS50cmltKCk7cmV0dXJuLyMkLy50ZXN0KG4pJiYoZT1IdChuLCIjIiksIXRoaXMub3B0aW9ucy5wZWRhbnRpYyYmZSYmIS8gJC8udGVzdChlKXx8KG49ZS50cmltKCkpKSx7dHlwZToiaGVhZGluZyIscmF3OnRbMF0sZGVwdGg6dFsx''@;'; put 'put ''XS5sZW5ndGgsdGV4dDpufX19LGUucHJvdG90eXBlLm5wdGFibGU9ZnVuY3Rpb24oZSl7ZT10aGlzLnJ1bGVzLmJsb2NrLm5wdGFibGUuZXhlYyhlKTtpZihlKXt2YXIgdD17dHlwZToidGFibGUiLGhlYWRlcjpxdChlWzFdLnJlcGxhY2UoL14gKnwgKlx8ICokL2csIiIpKSxhbGlnbjplWzJd''@;'; put 'put ''LnJlcGxhY2UoL14gKnxcfCAqJC9nLCIiKS5zcGxpdCgvICpcfCAqLyksY2VsbHM6ZVszXT9lWzNdLnJlcGxhY2UoL1xuJC8sIiIpLnNwbGl0KCJcbiIpOltdLHJhdzplWzBdfTtpZih0LmhlYWRlci5sZW5ndGg9PT10LmFsaWduLmxlbmd0aCl7Zm9yKHZhciBuPXQuYWxpZ24ubGVuZ3RoLHI9''@;'; put 'put ''MDtyPG47cisrKS9eICotKzogKiQvLnRlc3QodC5hbGlnbltyXSk/dC5hbGlnbltyXT0icmlnaHQiOi9eICo6LSs6ICokLy50ZXN0KHQuYWxpZ25bcl0pP3QuYWxpZ25bcl09ImNlbnRlciI6L14gKjotKyAqJC8udGVzdCh0LmFsaWduW3JdKT90LmFsaWduW3JdPSJsZWZ0Ijp0LmFsaWduW3Jd''@;'; put 'put ''PW51bGw7Zm9yKG49dC5jZWxscy5sZW5ndGgscj0wO3I8bjtyKyspdC5jZWxsc1tyXT1xdCh0LmNlbGxzW3JdLHQuaGVhZGVyLmxlbmd0aCk7cmV0dXJuIHR9fX0sZS5wcm90b3R5cGUuaHI9ZnVuY3Rpb24oZSl7ZT10aGlzLnJ1bGVzLmJsb2NrLmhyLmV4ZWMoZSk7aWYoZSlyZXR1cm57dHlw''@;'; put 'put ''ZToiaHIiLHJhdzplWzBdfX0sZS5wcm90b3R5cGUuYmxvY2txdW90ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnJ1bGVzLmJsb2NrLmJsb2NrcXVvdGUuZXhlYyhlKTtpZih0KXtlPXRbMF0ucmVwbGFjZSgvXiAqPiA/L2dtLCIiKTtyZXR1cm57dHlwZToiYmxvY2txdW90ZSIscmF3OnRbMF0s''@;'; put 'put ''dGV4dDplfX19LGUucHJvdG90eXBlLmxpc3Q9ZnVuY3Rpb24oZSl7ZT10aGlzLnJ1bGVzLmJsb2NrLmxpc3QuZXhlYyhlKTtpZihlKXtmb3IodmFyIHQsbixyLGksbyxhPWVbMF0scz1lWzJdLGw9MTxzLmxlbmd0aCxjPXt0eXBlOiJsaXN0IixyYXc6YSxvcmRlcmVkOmwsc3RhcnQ6bD8rcy5z''@;'; put 'put ''bGljZSgwLC0xKToiIixsb29zZTohMSxpdGVtczpbXX0sdT1lWzBdLm1hdGNoKHRoaXMucnVsZXMuYmxvY2suaXRlbSkscD0hMSxoPXUubGVuZ3RoLGQ9dGhpcy5ydWxlcy5ibG9jay5saXN0SXRlbVN0YXJ0LmV4ZWModVswXSksZj0wO2Y8aDtmKyspe2lmKGE9dD11W2ZdLGYhPT1oLTEpe2lm''@;'; put 'put ''KHI9dGhpcy5ydWxlcy5ibG9jay5saXN0SXRlbVN0YXJ0LmV4ZWModVtmKzFdKSx0aGlzLm9wdGlvbnMucGVkYW50aWM/clsxXS5sZW5ndGg+ZFsxXS5sZW5ndGg6clsxXS5sZW5ndGg+ZFswXS5sZW5ndGh8fDM8clsxXS5sZW5ndGgpe3Uuc3BsaWNlKGYsMix1W2ZdKyJcbiIrdVtmKzFdKSxm''@;'; put 'put ''LS0saC0tO2NvbnRpbnVlfSghdGhpcy5vcHRpb25zLnBlZGFudGljfHx0aGlzLm9wdGlvbnMuc21hcnRMaXN0cz9yWzJdW3JbMl0ubGVuZ3RoLTFdIT09c1tzLmxlbmd0aC0xXTpsPT0oMT09PXJbMl0ubGVuZ3RoKSkmJihuPXUuc2xpY2UoZisxKS5qb2luKCJcbiIpLGMucmF3PWMucmF3LnN1''@;'; put 'put ''YnN0cmluZygwLGMucmF3Lmxlbmd0aC1uLmxlbmd0aCksZj1oLTEpLGQ9cn1yPXQubGVuZ3RoLH4odD10LnJlcGxhY2UoL14gKihbKistXXxcZCtbLildKSA/LywiIikpLmluZGV4T2YoIlxuICIpJiYoci09dC5sZW5ndGgsdD10aGlzLm9wdGlvbnMucGVkYW50aWM/dC5yZXBsYWNlKC9eIHsx''@;'; put 'put ''LDR9L2dtLCIiKTp0LnJlcGxhY2UobmV3IFJlZ0V4cCgiXiB7MSwiK3IrIn0iLCJnbSIpLCIiKSkscj1wfHwvXG5cbig/IVxzKiQpLy50ZXN0KHQpLGYhPT1oLTEmJihwPSJcbiI9PT10LmNoYXJBdCh0Lmxlbmd0aC0xKSxyPXJ8fHApLHImJihjLmxvb3NlPSEwKSx0aGlzLm9wdGlvbnMuZ2Zt''@;'; put 'put ''JiYobz12b2lkIDAsKGk9L15cW1sgeFhdXF0gLy50ZXN0KHQpKSYmKG89IiAiIT09dFsxXSx0PXQucmVwbGFjZSgvXlxbWyB4WF1cXSArLywiIikpKSxjLml0ZW1zLnB1c2goe3R5cGU6Imxpc3RfaXRlbSIscmF3OmEsdGFzazppLGNoZWNrZWQ6byxsb29zZTpyLHRleHQ6dH0pfXJldHVybiBj''@;'; put 'put ''fX0sZS5wcm90b3R5cGUuaHRtbD1mdW5jdGlvbihlKXtlPXRoaXMucnVsZXMuYmxvY2suaHRtbC5leGVjKGUpO2lmKGUpcmV0dXJue3R5cGU6dGhpcy5vcHRpb25zLnNhbml0aXplPyJwYXJhZ3JhcGgiOiJodG1sIixyYXc6ZVswXSxwcmU6IXRoaXMub3B0aW9ucy5zYW5pdGl6ZXImJigicHJl''@;'; put 'put ''Ij09PWVbMV18fCJzY3JpcHQiPT09ZVsxXXx8InN0eWxlIj09PWVbMV0pLHRleHQ6dGhpcy5vcHRpb25zLnNhbml0aXplP3RoaXMub3B0aW9ucy5zYW5pdGl6ZXI/dGhpcy5vcHRpb25zLnNhbml0aXplcihlWzBdKTpVdChlWzBdKTplWzBdfX0sZS5wcm90b3R5cGUuZGVmPWZ1bmN0aW9uKGUp''@;'; put 'put ''e2U9dGhpcy5ydWxlcy5ibG9jay5kZWYuZXhlYyhlKTtpZihlKXJldHVybiBlWzNdJiYoZVszXT1lWzNdLnN1YnN0cmluZygxLGVbM10ubGVuZ3RoLTEpKSx7dGFnOmVbMV0udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9ccysvZywiICIpLHJhdzplWzBdLGhyZWY6ZVsyXSx0aXRsZTplWzNdfX0s''@;'; put 'put ''ZS5wcm90b3R5cGUudGFibGU9ZnVuY3Rpb24oZSl7ZT10aGlzLnJ1bGVzLmJsb2NrLnRhYmxlLmV4ZWMoZSk7aWYoZSl7dmFyIHQ9e3R5cGU6InRhYmxlIixoZWFkZXI6cXQoZVsxXS5yZXBsYWNlKC9eICp8ICpcfCAqJC9nLCIiKSksYWxpZ246ZVsyXS5yZXBsYWNlKC9eICp8XHwgKiQvZywi''@;'; put 'put ''Iikuc3BsaXQoLyAqXHwgKi8pLGNlbGxzOmVbM10/ZVszXS5yZXBsYWNlKC9cbiQvLCIiKS5zcGxpdCgiXG4iKTpbXX07aWYodC5oZWFkZXIubGVuZ3RoPT09dC5hbGlnbi5sZW5ndGgpe3QucmF3PWVbMF07Zm9yKHZhciBuPXQuYWxpZ24ubGVuZ3RoLHI9MDtyPG47cisrKS9eICotKzogKiQv''@;'; put 'put ''LnRlc3QodC5hbGlnbltyXSk/dC5hbGlnbltyXT0icmlnaHQiOi9eICo6LSs6ICokLy50ZXN0KHQuYWxpZ25bcl0pP3QuYWxpZ25bcl09ImNlbnRlciI6L14gKjotKyAqJC8udGVzdCh0LmFsaWduW3JdKT90LmFsaWduW3JdPSJsZWZ0Ijp0LmFsaWduW3JdPW51bGw7Zm9yKG49dC5jZWxscy5s''@;'; put 'put ''ZW5ndGgscj0wO3I8bjtyKyspdC5jZWxsc1tyXT1xdCh0LmNlbGxzW3JdLnJlcGxhY2UoL14gKlx8ICp8ICpcfCAqJC9nLCIiKSx0LmhlYWRlci5sZW5ndGgpO3JldHVybiB0fX19LGUucHJvdG90eXBlLmxoZWFkaW5nPWZ1bmN0aW9uKGUpe2U9dGhpcy5ydWxlcy5ibG9jay5saGVhZGluZy5l''@;'; put 'put ''eGVjKGUpO2lmKGUpcmV0dXJue3R5cGU6ImhlYWRpbmciLHJhdzplWzBdLGRlcHRoOiI9Ij09PWVbMl0uY2hhckF0KDApPzE6Mix0ZXh0OmVbMV19fSxlLnByb3RvdHlwZS5wYXJhZ3JhcGg9ZnVuY3Rpb24oZSl7ZT10aGlzLnJ1bGVzLmJsb2NrLnBhcmFncmFwaC5leGVjKGUpO2lmKGUpcmV0''@;'; put 'put ''dXJue3R5cGU6InBhcmFncmFwaCIscmF3OmVbMF0sdGV4dDoiXG4iPT09ZVsxXS5jaGFyQXQoZVsxXS5sZW5ndGgtMSk/ZVsxXS5zbGljZSgwLC0xKTplWzFdfX0sZS5wcm90b3R5cGUudGV4dD1mdW5jdGlvbihlLHQpe2U9dGhpcy5ydWxlcy5ibG9jay50ZXh0LmV4ZWMoZSk7aWYoZSl7dD10''@;'; put 'put ''W3QubGVuZ3RoLTFdO3JldHVybiB0JiYidGV4dCI9PT10LnR5cGU/e3JhdzplWzBdLHRleHQ6ZVswXX06e3R5cGU6InRleHQiLHJhdzplWzBdLHRleHQ6ZVswXX19fSxlLnByb3RvdHlwZS5lc2NhcGU9ZnVuY3Rpb24oZSl7ZT10aGlzLnJ1bGVzLmlubGluZS5lc2NhcGUuZXhlYyhlKTtpZihl''@;'; put 'put ''KXJldHVybnt0eXBlOiJlc2NhcGUiLHJhdzplWzBdLHRleHQ6VXQoZVsxXSl9fSxlLnByb3RvdHlwZS50YWc9ZnVuY3Rpb24oZSx0LG4pe2U9dGhpcy5ydWxlcy5pbmxpbmUudGFnLmV4ZWMoZSk7aWYoZSlyZXR1cm4hdCYmL148YSAvaS50ZXN0KGVbMF0pP3Q9ITA6dCYmL148XC9hPi9pLnRl''@;'; put 'put ''c3QoZVswXSkmJih0PSExKSwhbiYmL148KHByZXxjb2RlfGtiZHxzY3JpcHQpKFxzfD4pL2kudGVzdChlWzBdKT9uPSEwOm4mJi9ePFwvKHByZXxjb2RlfGtiZHxzY3JpcHQpKFxzfD4pL2kudGVzdChlWzBdKSYmKG49ITEpLHt0eXBlOnRoaXMub3B0aW9ucy5zYW5pdGl6ZT8idGV4dCI6Imh0''@;'; put 'put ''bWwiLHJhdzplWzBdLGluTGluazp0LGluUmF3QmxvY2s6bix0ZXh0OnRoaXMub3B0aW9ucy5zYW5pdGl6ZT90aGlzLm9wdGlvbnMuc2FuaXRpemVyP3RoaXMub3B0aW9ucy5zYW5pdGl6ZXIoZVswXSk6VXQoZVswXSk6ZVswXX19LGUucHJvdG90eXBlLmxpbms9ZnVuY3Rpb24oZSl7dmFyIHQ9''@;'; put 'put ''dGhpcy5ydWxlcy5pbmxpbmUubGluay5leGVjKGUpO2lmKHQpe3ZhciBuPXRbMl0udHJpbSgpO2lmKCF0aGlzLm9wdGlvbnMucGVkYW50aWMmJi9ePC8udGVzdChuKSl7aWYoIS8+JC8udGVzdChuKSlyZXR1cm47ZT1IdChuLnNsaWNlKDAsLTEpLCJcXCIpO2lmKChuLmxlbmd0aC1lLmxlbmd0''@;'; put 'put ''aCklMj09MClyZXR1cm59ZWxzZXt2YXIgcj1CdCh0WzJdLCIoKSIpOy0xPHImJihvPSgwPT09dFswXS5pbmRleE9mKCIhIik/NTo0KSt0WzFdLmxlbmd0aCtyLHRbMl09dFsyXS5zdWJzdHJpbmcoMCxyKSx0WzBdPXRbMF0uc3Vic3RyaW5nKDAsbykudHJpbSgpLHRbM109IiIpfXZhciBpLHI9''@;'; put 'put ''dFsyXSxvPSIiO3JldHVybiB0aGlzLm9wdGlvbnMucGVkYW50aWM/KGk9L14oW14nIl0qW15cc10pXHMrKFsnIl0pKC4qKVwyLy5leGVjKHIpLGkmJihyPWlbMV0sbz1pWzNdKSk6bz10WzNdP3RbM10uc2xpY2UoMSwtMSk6IiIscj1yLnRyaW0oKSwvXjwvLnRlc3QocikmJihyPXRoaXMub3B0''@;'; put 'put ''aW9ucy5wZWRhbnRpYyYmIS8+JC8udGVzdChuKT9yLnNsaWNlKDEpOnIuc2xpY2UoMSwtMSkpLFp0KHQse2hyZWY6cj9yLnJlcGxhY2UodGhpcy5ydWxlcy5pbmxpbmUuX2VzY2FwZXMsIiQxIik6cix0aXRsZTpvP28ucmVwbGFjZSh0aGlzLnJ1bGVzLmlubGluZS5fZXNjYXBlcywiJDEiKTpv''@;'; put 'put ''fSx0WzBdKX19LGUucHJvdG90eXBlLnJlZmxpbms9ZnVuY3Rpb24oZSx0KXtpZigobj10aGlzLnJ1bGVzLmlubGluZS5yZWZsaW5rLmV4ZWMoZSkpfHwobj10aGlzLnJ1bGVzLmlubGluZS5ub2xpbmsuZXhlYyhlKSkpe2U9KG5bMl18fG5bMV0pLnJlcGxhY2UoL1xzKy9nLCIgIik7aWYoKGU9''@;'; put 'put ''dFtlLnRvTG93ZXJDYXNlKCldKSYmZS5ocmVmKXJldHVybiBadChuLGUsblswXSk7dmFyIG49blswXS5jaGFyQXQoMCk7cmV0dXJue3R5cGU6InRleHQiLHJhdzpuLHRleHQ6bn19fSxlLnByb3RvdHlwZS5zdHJvbmc9ZnVuY3Rpb24oZSx0LG4pe3ZvaWQgMD09PW4mJihuPSIiKTt2YXIgcj10''@;'; put 'put ''aGlzLnJ1bGVzLmlubGluZS5zdHJvbmcuc3RhcnQuZXhlYyhlKTtpZihyJiYoIXJbMV18fHJbMV0mJigiIj09PW58fHRoaXMucnVsZXMuaW5saW5lLnB1bmN0dWF0aW9uLmV4ZWMobikpKSl7dD10LnNsaWNlKC0xKmUubGVuZ3RoKTt2YXIgaSxvPSIqKiI9PT1yWzBdP3RoaXMucnVsZXMuaW5s''@;'; put 'put ''aW5lLnN0cm9uZy5lbmRBc3Q6dGhpcy5ydWxlcy5pbmxpbmUuc3Ryb25nLmVuZFVuZDtmb3Ioby5sYXN0SW5kZXg9MDtudWxsIT0ocj1vLmV4ZWModCkpOylpZihpPXRoaXMucnVsZXMuaW5saW5lLnN0cm9uZy5taWRkbGUuZXhlYyh0LnNsaWNlKDAsci5pbmRleCszKSkpcmV0dXJue3R5cGU6''@;'; put 'put ''InN0cm9uZyIscmF3OmUuc2xpY2UoMCxpWzBdLmxlbmd0aCksdGV4dDplLnNsaWNlKDIsaVswXS5sZW5ndGgtMil9fX0sZS5wcm90b3R5cGUuZW09ZnVuY3Rpb24oZSx0LG4pe3ZvaWQgMD09PW4mJihuPSIiKTt2YXIgcj10aGlzLnJ1bGVzLmlubGluZS5lbS5zdGFydC5leGVjKGUpO2lmKHIm''@;'; put 'put ''JighclsxXXx8clsxXSYmKCIiPT09bnx8dGhpcy5ydWxlcy5pbmxpbmUucHVuY3R1YXRpb24uZXhlYyhuKSkpKXt0PXQuc2xpY2UoLTEqZS5sZW5ndGgpO3ZhciBpLG89IioiPT09clswXT90aGlzLnJ1bGVzLmlubGluZS5lbS5lbmRBc3Q6dGhpcy5ydWxlcy5pbmxpbmUuZW0uZW5kVW5kO2Zv''@;'; put 'put ''cihvLmxhc3RJbmRleD0wO251bGwhPShyPW8uZXhlYyh0KSk7KWlmKGk9dGhpcy5ydWxlcy5pbmxpbmUuZW0ubWlkZGxlLmV4ZWModC5zbGljZSgwLHIuaW5kZXgrMikpKXJldHVybnt0eXBlOiJlbSIscmF3OmUuc2xpY2UoMCxpWzBdLmxlbmd0aCksdGV4dDplLnNsaWNlKDEsaVswXS5sZW5n''@;'; put 'put ''dGgtMSl9fX0sZS5wcm90b3R5cGUuY29kZXNwYW49ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5ydWxlcy5pbmxpbmUuY29kZS5leGVjKGUpO2lmKHQpe3ZhciBuPXRbMl0ucmVwbGFjZSgvXG4vZywiICIpLHI9L1teIF0vLnRlc3QobiksZT0vXiAvLnRlc3QobikmJi8gJC8udGVzdChuKTtyZXR1''@;'; put 'put ''cm4gciYmZSYmKG49bi5zdWJzdHJpbmcoMSxuLmxlbmd0aC0xKSksbj1VdChuLCEwKSx7dHlwZToiY29kZXNwYW4iLHJhdzp0WzBdLHRleHQ6bn19fSxlLnByb3RvdHlwZS5icj1mdW5jdGlvbihlKXtlPXRoaXMucnVsZXMuaW5saW5lLmJyLmV4ZWMoZSk7aWYoZSlyZXR1cm57dHlwZToiYnIi''@;'; put 'put ''LHJhdzplWzBdfX0sZS5wcm90b3R5cGUuZGVsPWZ1bmN0aW9uKGUpe2U9dGhpcy5ydWxlcy5pbmxpbmUuZGVsLmV4ZWMoZSk7aWYoZSlyZXR1cm57dHlwZToiZGVsIixyYXc6ZVswXSx0ZXh0OmVbMl19fSxlLnByb3RvdHlwZS5hdXRvbGluaz1mdW5jdGlvbihlLHQpe2U9dGhpcy5ydWxlcy5p''@;'; put 'put ''bmxpbmUuYXV0b2xpbmsuZXhlYyhlKTtpZihlKXt2YXIgbix0PSJAIj09PWVbMl0/Im1haWx0bzoiKyhuPVV0KHRoaXMub3B0aW9ucy5tYW5nbGU/dChlWzFdKTplWzFdKSk6bj1VdChlWzFdKTtyZXR1cm57dHlwZToibGluayIscmF3OmVbMF0sdGV4dDpuLGhyZWY6dCx0b2tlbnM6W3t0eXBl''@;'; put 'put ''OiJ0ZXh0IixyYXc6bix0ZXh0Om59XX19fSxlLnByb3RvdHlwZS51cmw9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbztpZihuPXRoaXMucnVsZXMuaW5saW5lLnVybC5leGVjKGUpKXtpZigiQCI9PT1uWzJdKWk9Im1haWx0bzoiKyhyPVV0KHRoaXMub3B0aW9ucy5tYW5nbGU/dChuWzBdKTpu''@;'; put 'put ''WzBdKSk7ZWxzZXtmb3IoO289blswXSxuWzBdPXRoaXMucnVsZXMuaW5saW5lLl9iYWNrcGVkYWwuZXhlYyhuWzBdKVswXSxvIT09blswXTspO3I9VXQoblswXSksaT0id3d3LiI9PT1uWzFdPyJodHRwOi8vIityOnJ9cmV0dXJue3R5cGU6ImxpbmsiLHJhdzpuWzBdLHRleHQ6cixocmVmOmks''@;'; put 'put ''dG9rZW5zOlt7dHlwZToidGV4dCIscmF3OnIsdGV4dDpyfV19fX0sZS5wcm90b3R5cGUuaW5saW5lVGV4dD1mdW5jdGlvbihlLHQsbil7ZT10aGlzLnJ1bGVzLmlubGluZS50ZXh0LmV4ZWMoZSk7aWYoZSl7bj10P3RoaXMub3B0aW9ucy5zYW5pdGl6ZT90aGlzLm9wdGlvbnMuc2FuaXRpemVy''@;'; put 'put ''P3RoaXMub3B0aW9ucy5zYW5pdGl6ZXIoZVswXSk6VXQoZVswXSk6ZVswXTpVdCh0aGlzLm9wdGlvbnMuc21hcnR5cGFudHM/bihlWzBdKTplWzBdKTtyZXR1cm57dHlwZToidGV4dCIscmF3OmVbMF0sdGV4dDpufX19LGV9KCksSXQ9RHQsST1OdCxEdD1QdCxOdD17bmV3bGluZTovXig/OiAq''@;'; put 'put ''KD86XG58JCkpKy8sY29kZTovXiggezR9W15cbl0rKD86XG4oPzogKig/OlxufCQpKSopPykrLyxmZW5jZXM6L14gezAsM30oYHszLH0oPz1bXmBcbl0qXG4pfH57Myx9KShbXlxuXSopXG4oPzp8KFtcc1xTXSo/KVxuKSg/OiB7MCwzfVwxW35gXSogKig/OlxuK3wkKXwkKS8saHI6L14gezAs''@;'; put 'put ''M30oKD86LSAqKXszLH18KD86XyAqKXszLH18KD86XCogKil7Myx9KSg/OlxuK3wkKS8saGVhZGluZzovXiB7MCwzfSgjezEsNn0pKD89XHN8JCkoLiopKD86XG4rfCQpLyxibG9ja3F1b3RlOi9eKCB7MCwzfT4gPyhwYXJhZ3JhcGh8W15cbl0qKSg/OlxufCQpKSsvLGxpc3Q6L14oIHswLDN9''@;'; put 'put ''KShidWxsKSBbXHNcU10rPyg/OmhyfGRlZnxcbnsyLH0oPyEgKSg/ISB7MCwzfWJ1bGwgKVxuKnxccyokKS8saHRtbDoiXiB7MCwzfSg/Ojwoc2NyaXB0fHByZXxzdHlsZSlbXFxzPl1bXFxzXFxTXSo/KD86PC9cXDE+W15cXG5dKlxcbit8JCl8Y29tbWVudFteXFxuXSooXFxuK3wkKXw8XFw/''@;'; put 'put ''W1xcc1xcU10qPyg/OlxcPz5cXG4qfCQpfDwhW0EtWl1bXFxzXFxTXSo/KD86Plxcbip8JCl8PCFcXFtDREFUQVxcW1tcXHNcXFNdKj8oPzpcXF1cXF0+XFxuKnwkKXw8Lz8odGFnKSg/OiArfFxcbnwvPz4pW1xcc1xcU10qPyg/OlxcbnsyLH18JCl8PCg/IXNjcmlwdHxwcmV8c3R5bGUpKFth''@;'; put 'put ''LXpdW1xcdy1dKikoPzphdHRyaWJ1dGUpKj8gKi8/Pig/PVsgXFx0XSooPzpcXG58JCkpW1xcc1xcU10qPyg/OlxcbnsyLH18JCl8PC8oPyFzY3JpcHR8cHJlfHN0eWxlKVthLXpdW1xcdy1dKlxccyo+KD89WyBcXHRdKig/OlxcbnwkKSlbXFxzXFxTXSo/KD86XFxuezIsfXwkKSkiLGRlZjov''@;'; put 'put ''XiB7MCwzfVxbKGxhYmVsKVxdOiAqXG4/ICo8PyhbXlxzPl0rKT4/KD86KD86ICtcbj8gKnwgKlxuICopKHRpdGxlKSk/ICooPzpcbit8JCkvLG5wdGFibGU6SXQsdGFibGU6SXQsbGhlYWRpbmc6L14oW15cbl0rKVxuIHswLDN9KD0rfC0rKSAqKD86XG4rfCQpLyxfcGFyYWdyYXBoOi9eKFte''@;'; put 'put ''XG5dKyg/OlxuKD8haHJ8aGVhZGluZ3xsaGVhZGluZ3xibG9ja3F1b3RlfGZlbmNlc3xsaXN0fGh0bWx8ICtcbilbXlxuXSspKikvLHRleHQ6L15bXlxuXSsvLF9sYWJlbDovKD8hXHMqXF0pKD86XFxbXFtcXV18W15cW1xdXSkrLyxfdGl0bGU6Lyg/OiIoPzpcXCI/fFteIlxcXSkqInwnW14n''@;'; put 'put ''XG5dKig/OlxuW14nXG5dKykqXG4/J3xcKFteKCldKlwpKS99O050LmRlZj1JKE50LmRlZikucmVwbGFjZSgibGFiZWwiLE50Ll9sYWJlbCkucmVwbGFjZSgidGl0bGUiLE50Ll90aXRsZSkuZ2V0UmVnZXgoKSxOdC5idWxsZXQ9Lyg/OlsqKy1dfFxkezEsOX1bLildKS8sTnQuaXRlbT0vXigg''@;'; put 'put ''KikoYnVsbCkgP1teXG5dKig/OlxuKD8hICpidWxsID8pW15cbl0qKSovLE50Lml0ZW09SShOdC5pdGVtLCJnbSIpLnJlcGxhY2UoL2J1bGwvZyxOdC5idWxsZXQpLmdldFJlZ2V4KCksTnQubGlzdEl0ZW1TdGFydD1JKC9eKCAqKShidWxsKS8pLnJlcGxhY2UoImJ1bGwiLE50LmJ1bGxldCku''@;'; put 'put ''Z2V0UmVnZXgoKSxOdC5saXN0PUkoTnQubGlzdCkucmVwbGFjZSgvYnVsbC9nLE50LmJ1bGxldCkucmVwbGFjZSgiaHIiLCJcXG4rKD89XFwxPyg/Oig/Oi0gKil7Myx9fCg/Ol8gKil7Myx9fCg/OlxcKiAqKXszLH0pKD86XFxuK3wkKSkiKS5yZXBsYWNlKCJkZWYiLCJcXG4rKD89IitOdC5k''@;'; put 'put ''ZWYuc291cmNlKyIpIikuZ2V0UmVnZXgoKSxOdC5fdGFnPSJhZGRyZXNzfGFydGljbGV8YXNpZGV8YmFzZXxiYXNlZm9udHxibG9ja3F1b3RlfGJvZHl8Y2FwdGlvbnxjZW50ZXJ8Y29sfGNvbGdyb3VwfGRkfGRldGFpbHN8ZGlhbG9nfGRpcnxkaXZ8ZGx8ZHR8ZmllbGRzZXR8ZmlnY2FwdGlv''@;'; put 'put ''bnxmaWd1cmV8Zm9vdGVyfGZvcm18ZnJhbWV8ZnJhbWVzZXR8aFsxLTZdfGhlYWR8aGVhZGVyfGhyfGh0bWx8aWZyYW1lfGxlZ2VuZHxsaXxsaW5rfG1haW58bWVudXxtZW51aXRlbXxtZXRhfG5hdnxub2ZyYW1lc3xvbHxvcHRncm91cHxvcHRpb258cHxwYXJhbXxzZWN0aW9ufHNvdXJjZXxz''@;'; put 'put ''dW1tYXJ5fHRhYmxlfHRib2R5fHRkfHRmb290fHRofHRoZWFkfHRpdGxlfHRyfHRyYWNrfHVsIixOdC5fY29tbWVudD0vPCEtLSg/IS0/PilbXHNcU10qPyg/Oi0tPnwkKS8sTnQuaHRtbD1JKE50Lmh0bWwsImkiKS5yZXBsYWNlKCJjb21tZW50IixOdC5fY29tbWVudCkucmVwbGFjZSgidGFn''@;'; put 'put ''IixOdC5fdGFnKS5yZXBsYWNlKCJhdHRyaWJ1dGUiLC8gK1thLXpBLVo6X11bXHcuOi1dKig/OiAqPSAqIlteIlxuXSoifCAqPSAqJ1teJ1xuXSonfCAqPSAqW15ccyInPTw+YF0rKT8vKS5nZXRSZWdleCgpLE50LnBhcmFncmFwaD1JKE50Ll9wYXJhZ3JhcGgpLnJlcGxhY2UoImhyIixOdC5o''@;'; put 'put ''cikucmVwbGFjZSgiaGVhZGluZyIsIiB7MCwzfSN7MSw2fSAiKS5yZXBsYWNlKCJ8bGhlYWRpbmciLCIiKS5yZXBsYWNlKCJibG9ja3F1b3RlIiwiIHswLDN9PiIpLnJlcGxhY2UoImZlbmNlcyIsIiB7MCwzfSg/OmB7Myx9KD89W15gXFxuXSpcXG4pfH57Myx9KVteXFxuXSpcXG4iKS5yZXBs''@;'; put 'put ''YWNlKCJsaXN0IiwiIHswLDN9KD86WyorLV18MVsuKV0pICIpLnJlcGxhY2UoImh0bWwiLCI8Lz8oPzp0YWcpKD86ICt8XFxufC8/Pil8PCg/OnNjcmlwdHxwcmV8c3R5bGV8IS0tKSIpLnJlcGxhY2UoInRhZyIsTnQuX3RhZykuZ2V0UmVnZXgoKSxOdC5ibG9ja3F1b3RlPUkoTnQuYmxvY2tx''@;'; put 'put ''dW90ZSkucmVwbGFjZSgicGFyYWdyYXBoIixOdC5wYXJhZ3JhcGgpLmdldFJlZ2V4KCksTnQubm9ybWFsPUR0KHt9LE50KSxOdC5nZm09RHQoe30sTnQubm9ybWFsLHtucHRhYmxlOiJeICooW158XFxuIF0uKlxcfC4qKVxcbiB7MCwzfShbLTpdKyAqXFx8Wy18IDpdKikoPzpcXG4oKD86KD8h''@;'; put 'put ''XFxufGhyfGhlYWRpbmd8YmxvY2txdW90ZXxjb2RlfGZlbmNlc3xsaXN0fGh0bWwpLiooPzpcXG58JCkpKilcXG4qfCQpIix0YWJsZToiXiAqXFx8KC4rKVxcbiB7MCwzfVxcfD8oICpbLTpdK1stfCA6XSopKD86XFxuICooKD86KD8hXFxufGhyfGhlYWRpbmd8YmxvY2txdW90ZXxjb2RlfGZl''@;'; put 'put ''bmNlc3xsaXN0fGh0bWwpLiooPzpcXG58JCkpKilcXG4qfCQpIn0pLE50LmdmbS5ucHRhYmxlPUkoTnQuZ2ZtLm5wdGFibGUpLnJlcGxhY2UoImhyIixOdC5ocikucmVwbGFjZSgiaGVhZGluZyIsIiB7MCwzfSN7MSw2fSAiKS5yZXBsYWNlKCJibG9ja3F1b3RlIiwiIHswLDN9PiIpLnJlcGxh''@;'; put 'put ''Y2UoImNvZGUiLCIgezR9W15cXG5dIikucmVwbGFjZSgiZmVuY2VzIiwiIHswLDN9KD86YHszLH0oPz1bXmBcXG5dKlxcbil8fnszLH0pW15cXG5dKlxcbiIpLnJlcGxhY2UoImxpc3QiLCIgezAsM30oPzpbKistXXwxWy4pXSkgIikucmVwbGFjZSgiaHRtbCIsIjwvPyg/OnRhZykoPzogK3xc''@;'; put 'put ''XG58Lz8+KXw8KD86c2NyaXB0fHByZXxzdHlsZXwhLS0pIikucmVwbGFjZSgidGFnIixOdC5fdGFnKS5nZXRSZWdleCgpLE50LmdmbS50YWJsZT1JKE50LmdmbS50YWJsZSkucmVwbGFjZSgiaHIiLE50LmhyKS5yZXBsYWNlKCJoZWFkaW5nIiwiIHswLDN9I3sxLDZ9ICIpLnJlcGxhY2UoImJs''@;'; put 'put ''b2NrcXVvdGUiLCIgezAsM30+IikucmVwbGFjZSgiY29kZSIsIiB7NH1bXlxcbl0iKS5yZXBsYWNlKCJmZW5jZXMiLCIgezAsM30oPzpgezMsfSg/PVteYFxcbl0qXFxuKXx+ezMsfSlbXlxcbl0qXFxuIikucmVwbGFjZSgibGlzdCIsIiB7MCwzfSg/OlsqKy1dfDFbLildKSAiKS5yZXBsYWNl''@;'; put 'put ''KCJodG1sIiwiPC8/KD86dGFnKSg/OiArfFxcbnwvPz4pfDwoPzpzY3JpcHR8cHJlfHN0eWxlfCEtLSkiKS5yZXBsYWNlKCJ0YWciLE50Ll90YWcpLmdldFJlZ2V4KCksTnQucGVkYW50aWM9RHQoe30sTnQubm9ybWFsLHtodG1sOkkoIl4gKig/OmNvbW1lbnQgKig/OlxcbnxcXHMqJCl8PCh0''@;'; put 'put ''YWcpW1xcc1xcU10rPzwvXFwxPiAqKD86XFxuezIsfXxcXHMqJCl8PHRhZyg/OlwiW15cIl0qXCJ8J1teJ10qJ3xcXHNbXidcIi8+XFxzXSopKj8vPz4gKig/OlxcbnsyLH18XFxzKiQpKSIpLnJlcGxhY2UoImNvbW1lbnQiLE50Ll9jb21tZW50KS5yZXBsYWNlKC90YWcvZywiKD8hKD86YXxl''@;'; put 'put ''bXxzdHJvbmd8c21hbGx8c3xjaXRlfHF8ZGZufGFiYnJ8ZGF0YXx0aW1lfGNvZGV8dmFyfHNhbXB8a2JkfHN1YnxzdXB8aXxifHV8bWFya3xydWJ5fHJ0fHJwfGJkaXxiZG98c3Bhbnxicnx3YnJ8aW5zfGRlbHxpbWcpXFxiKVxcdysoPyE6fFteXFx3XFxzQF0qQClcXGIiKS5nZXRSZWdleCgp''@;'; put 'put ''LGRlZjovXiAqXFsoW15cXV0rKVxdOiAqPD8oW15ccz5dKyk+Pyg/OiArKFsiKF1bXlxuXStbIildKSk/ICooPzpcbit8JCkvLGhlYWRpbmc6L14oI3sxLDZ9KSguKikoPzpcbit8JCkvLGZlbmNlczpJdCxwYXJhZ3JhcGg6SShOdC5ub3JtYWwuX3BhcmFncmFwaCkucmVwbGFjZSgiaHIiLE50''@;'; put 'put ''LmhyKS5yZXBsYWNlKCJoZWFkaW5nIiwiICojezEsNn0gKlteXG5dIikucmVwbGFjZSgibGhlYWRpbmciLE50LmxoZWFkaW5nKS5yZXBsYWNlKCJibG9ja3F1b3RlIiwiIHswLDN9PiIpLnJlcGxhY2UoInxmZW5jZXMiLCIiKS5yZXBsYWNlKCJ8bGlzdCIsIiIpLnJlcGxhY2UoInxodG1sIiwi''@;'; put 'put ''IikuZ2V0UmVnZXgoKX0pO0l0PXtlc2NhcGU6L15cXChbISIjJCUmJygpKissXC0uLzo7PD0+P0BcW1xdXFxeX2B7fH1+XSkvLGF1dG9saW5rOi9ePChzY2hlbWU6W15cc1x4MDAtXHgxZjw+XSp8ZW1haWwpPi8sdXJsOkl0LHRhZzoiXmNvbW1lbnR8XjwvW2EtekEtWl1bXFx3Oi1dKlxccyo+''@;'; put 'put ''fF48W2EtekEtWl1bXFx3LV0qKD86YXR0cmlidXRlKSo/XFxzKi8/PnxePFxcP1tcXHNcXFNdKj9cXD8+fF48IVthLXpBLVpdK1xcc1tcXHNcXFNdKj8+fF48IVxcW0NEQVRBXFxbW1xcc1xcU10qP1xcXVxcXT4iLGxpbms6L14hP1xbKGxhYmVsKVxdXChccyooaHJlZikoPzpccysodGl0bGUp''@;'; put 'put ''KT9ccypcKS8scmVmbGluazovXiE/XFsobGFiZWwpXF1cWyg/IVxzKlxdKSgoPzpcXFtcW1xdXT98W15cW1xdXFxdKSspXF0vLG5vbGluazovXiE/XFsoPyFccypcXSkoKD86XFtbXlxbXF1dKlxdfFxcW1xbXF1dfFteXFtcXV0pKilcXSg/OlxbXF0pPy8scmVmbGlua1NlYXJjaDoicmVmbGlu''@;'; put 'put ''a3xub2xpbmsoPyFcXCgpIixzdHJvbmc6e3N0YXJ0Oi9eKD86KFwqXCooPz1bKnB1bmN0dWF0aW9uXSkpfFwqXCopKD8hW1xzXSl8X18vLG1pZGRsZTovXlwqXCooPzooPzooPyFvdmVybGFwU2tpcCkoPzpbXipdfFxcXCopfG92ZXJsYXBTa2lwKXxcKig/Oig/IW92ZXJsYXBTa2lwKSg/Olte''@;'; put 'put ''Kl18XFxcKil8b3ZlcmxhcFNraXApKj9cKikrP1wqXCokfF5fXyg/IVtcc10pKCg/Oig/Oig/IW92ZXJsYXBTa2lwKSg/OlteX118XFxfKXxvdmVybGFwU2tpcCl8Xyg/Oig/IW92ZXJsYXBTa2lwKSg/OlteX118XFxfKXxvdmVybGFwU2tpcCkqP18pKz8pX18kLyxlbmRBc3Q6L1tecHVuY3R1''@;'; put 'put ''YXRpb25cc11cKlwqKD8hXCopfFtwdW5jdHVhdGlvbl1cKlwqKD8hXCopKD86KD89W3B1bmN0dWF0aW9uX1xzXXwkKSkvLGVuZFVuZDovW15cc11fXyg/IV8pKD86KD89W3B1bmN0dWF0aW9uKlxzXSl8JCkvfSxlbTp7c3RhcnQ6L14oPzooXCooPz1bcHVuY3R1YXRpb25dKSl8XCopKD8hWypc''@;'; put 'put ''c10pfF8vLG1pZGRsZTovXlwqKD86KD86KD8hb3ZlcmxhcFNraXApKD86W14qXXxcXFwqKXxvdmVybGFwU2tpcCl8XCooPzooPyFvdmVybGFwU2tpcCkoPzpbXipdfFxcXCopfG92ZXJsYXBTa2lwKSo/XCopKz9cKiR8Xl8oPyFbX1xzXSkoPzooPzooPyFvdmVybGFwU2tpcCkoPzpbXl9dfFxc''@;'; put 'put ''Xyl8b3ZlcmxhcFNraXApfF8oPzooPyFvdmVybGFwU2tpcCkoPzpbXl9dfFxcXyl8b3ZlcmxhcFNraXApKj9fKSs/XyQvLGVuZEFzdDovW15wdW5jdHVhdGlvblxzXVwqKD8hXCopfFtwdW5jdHVhdGlvbl1cKig/IVwqKSg/Oig/PVtwdW5jdHVhdGlvbl9cc118JCkpLyxlbmRVbmQ6L1teXHNd''@;'; put 'put ''Xyg/IV8pKD86KD89W3B1bmN0dWF0aW9uKlxzXSl8JCkvfSxjb2RlOi9eKGArKShbXmBdfFteYF1bXHNcU10qP1teYF0pXDEoPyFgKS8sYnI6L14oIHsyLH18XFwpXG4oPyFccyokKS8sZGVsOkl0LHRleHQ6L14oYCt8W15gXSkoPzooPz0gezIsfVxuKXxbXHNcU10qPyg/Oig/PVtcXDwhXFtg''@;'; put 'put ''Kl18XGJffCQpfFteIF0oPz0gezIsfVxuKSkpLyxwdW5jdHVhdGlvbjovXihbXHMqcHVuY3R1YXRpb25dKS8sX3B1bmN0dWF0aW9uOiIhXCIjJCUmJygpK1xcLS4sLzo7PD0+P0BcXFtcXF1gXnt8fX4ifTtJdC5wdW5jdHVhdGlvbj1JKEl0LnB1bmN0dWF0aW9uKS5yZXBsYWNlKC9wdW5jdHVh''@;'; put 'put ''dGlvbi9nLEl0Ll9wdW5jdHVhdGlvbikuZ2V0UmVnZXgoKSxJdC5fYmxvY2tTa2lwPSJcXFtbXlxcXV0qP1xcXVxcKFteXFwpXSo/XFwpfGBbXmBdKj9gfDxbXj5dKj8+IixJdC5fb3ZlcmxhcFNraXA9Il9fW15fXSo/X198XFwqXFwqXFxbXlxcKlxcXSo/XFwqXFwqIixJdC5fY29tbWVudD1J''@;'; put 'put ''KE50Ll9jb21tZW50KS5yZXBsYWNlKCIoPzotLVx4M2V8JCkiLCItLVx4M2UiKS5nZXRSZWdleCgpLEl0LmVtLnN0YXJ0PUkoSXQuZW0uc3RhcnQpLnJlcGxhY2UoL3B1bmN0dWF0aW9uL2csSXQuX3B1bmN0dWF0aW9uKS5nZXRSZWdleCgpLEl0LmVtLm1pZGRsZT1JKEl0LmVtLm1pZGRsZSku''@;'; put 'put ''cmVwbGFjZSgvcHVuY3R1YXRpb24vZyxJdC5fcHVuY3R1YXRpb24pLnJlcGxhY2UoL292ZXJsYXBTa2lwL2csSXQuX292ZXJsYXBTa2lwKS5nZXRSZWdleCgpLEl0LmVtLmVuZEFzdD1JKEl0LmVtLmVuZEFzdCwiZyIpLnJlcGxhY2UoL3B1bmN0dWF0aW9uL2csSXQuX3B1bmN0dWF0aW9uKS5n''@;'; put 'put ''ZXRSZWdleCgpLEl0LmVtLmVuZFVuZD1JKEl0LmVtLmVuZFVuZCwiZyIpLnJlcGxhY2UoL3B1bmN0dWF0aW9uL2csSXQuX3B1bmN0dWF0aW9uKS5nZXRSZWdleCgpLEl0LnN0cm9uZy5zdGFydD1JKEl0LnN0cm9uZy5zdGFydCkucmVwbGFjZSgvcHVuY3R1YXRpb24vZyxJdC5fcHVuY3R1YXRp''@;'; put 'put ''b24pLmdldFJlZ2V4KCksSXQuc3Ryb25nLm1pZGRsZT1JKEl0LnN0cm9uZy5taWRkbGUpLnJlcGxhY2UoL3B1bmN0dWF0aW9uL2csSXQuX3B1bmN0dWF0aW9uKS5yZXBsYWNlKC9vdmVybGFwU2tpcC9nLEl0Ll9vdmVybGFwU2tpcCkuZ2V0UmVnZXgoKSxJdC5zdHJvbmcuZW5kQXN0PUkoSXQu''@;'; put 'put ''c3Ryb25nLmVuZEFzdCwiZyIpLnJlcGxhY2UoL3B1bmN0dWF0aW9uL2csSXQuX3B1bmN0dWF0aW9uKS5nZXRSZWdleCgpLEl0LnN0cm9uZy5lbmRVbmQ9SShJdC5zdHJvbmcuZW5kVW5kLCJnIikucmVwbGFjZSgvcHVuY3R1YXRpb24vZyxJdC5fcHVuY3R1YXRpb24pLmdldFJlZ2V4KCksSXQu''@;'; put 'put ''YmxvY2tTa2lwPUkoSXQuX2Jsb2NrU2tpcCwiZyIpLmdldFJlZ2V4KCksSXQub3ZlcmxhcFNraXA9SShJdC5fb3ZlcmxhcFNraXAsImciKS5nZXRSZWdleCgpLEl0Ll9lc2NhcGVzPS9cXChbISIjJCUmJygpKissXC0uLzo7PD0+P0BcW1xdXFxeX2B7fH1+XSkvZyxJdC5fc2NoZW1lPS9bYS16''@;'; put 'put ''QS1aXVthLXpBLVowLTkrLi1dezEsMzF9LyxJdC5fZW1haWw9L1thLXpBLVowLTkuISMkJSYnKisvPT9eX2B7fH1+LV0rKEApW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KD86XC5bYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTld''@;'; put 'put ''KT8pKyg/IVstX10pLyxJdC5hdXRvbGluaz1JKEl0LmF1dG9saW5rKS5yZXBsYWNlKCJzY2hlbWUiLEl0Ll9zY2hlbWUpLnJlcGxhY2UoImVtYWlsIixJdC5fZW1haWwpLmdldFJlZ2V4KCksSXQuX2F0dHJpYnV0ZT0vXHMrW2EtekEtWjpfXVtcdy46LV0qKD86XHMqPVxzKiJbXiJdKiJ8XHMq''@;'; put 'put ''PVxzKidbXiddKid8XHMqPVxzKlteXHMiJz08PmBdKyk/LyxJdC50YWc9SShJdC50YWcpLnJlcGxhY2UoImNvbW1lbnQiLEl0Ll9jb21tZW50KS5yZXBsYWNlKCJhdHRyaWJ1dGUiLEl0Ll9hdHRyaWJ1dGUpLmdldFJlZ2V4KCksSXQuX2xhYmVsPS8oPzpcWyg/OlxcLnxbXlxbXF1cXF0pKlxd''@;'; put 'put ''fFxcLnxgW15gXSpgfFteXFtcXVxcYF0pKj8vLEl0Ll9ocmVmPS88KD86XFwufFteXG48PlxcXSkrPnxbXlxzXHgwMC1ceDFmXSovLEl0Ll90aXRsZT0vIig/OlxcIj98W14iXFxdKSoifCcoPzpcXCc/fFteJ1xcXSkqJ3xcKCg/OlxcXCk/fFteKVxcXSkqXCkvLEl0Lmxpbms9SShJdC5saW5r''@;'; put 'put ''KS5yZXBsYWNlKCJsYWJlbCIsSXQuX2xhYmVsKS5yZXBsYWNlKCJocmVmIixJdC5faHJlZikucmVwbGFjZSgidGl0bGUiLEl0Ll90aXRsZSkuZ2V0UmVnZXgoKSxJdC5yZWZsaW5rPUkoSXQucmVmbGluaykucmVwbGFjZSgibGFiZWwiLEl0Ll9sYWJlbCkuZ2V0UmVnZXgoKSxJdC5yZWZsaW5r''@;'; put 'put ''U2VhcmNoPUkoSXQucmVmbGlua1NlYXJjaCwiZyIpLnJlcGxhY2UoInJlZmxpbmsiLEl0LnJlZmxpbmspLnJlcGxhY2UoIm5vbGluayIsSXQubm9saW5rKS5nZXRSZWdleCgpLEl0Lm5vcm1hbD1EdCh7fSxJdCksSXQucGVkYW50aWM9RHQoe30sSXQubm9ybWFsLHtzdHJvbmc6e3N0YXJ0Oi9e''@;'; put 'put ''X198XCpcKi8sbWlkZGxlOi9eX18oPz1cUykoW1xzXFNdKj9cUylfXyg/IV8pfF5cKlwqKD89XFMpKFtcc1xTXSo/XFMpXCpcKig/IVwqKS8sZW5kQXN0Oi9cKlwqKD8hXCopL2csZW5kVW5kOi9fXyg/IV8pL2d9LGVtOntzdGFydDovXl98XCovLG1pZGRsZTovXigpXCooPz1cUykoW1xzXFNd''@;'; put 'put ''Kj9cUylcKig/IVwqKXxeXyg/PVxTKShbXHNcU10qP1xTKV8oPyFfKS8sZW5kQXN0Oi9cKig/IVwqKS9nLGVuZFVuZDovXyg/IV8pL2d9LGxpbms6SSgvXiE/XFsobGFiZWwpXF1cKCguKj8pXCkvKS5yZXBsYWNlKCJsYWJlbCIsSXQuX2xhYmVsKS5nZXRSZWdleCgpLHJlZmxpbms6SSgvXiE/''@;'; put 'put ''XFsobGFiZWwpXF1ccypcWyhbXlxdXSopXF0vKS5yZXBsYWNlKCJsYWJlbCIsSXQuX2xhYmVsKS5nZXRSZWdleCgpfSksSXQuZ2ZtPUR0KHt9LEl0Lm5vcm1hbCx7ZXNjYXBlOkkoSXQuZXNjYXBlKS5yZXBsYWNlKCJdKSIsIn58XSkiKS5nZXRSZWdleCgpLF9leHRlbmRlZF9lbWFpbDovW0Et''@;'; put 'put ''WmEtejAtOS5fKy1dKyhAKVthLXpBLVowLTktX10rKD86XC5bYS16QS1aMC05LV9dKlthLXpBLVowLTldKSsoPyFbLV9dKS8sdXJsOi9eKCg/OmZ0cHxodHRwcz8pOlwvXC98d3d3XC4pKD86W2EtekEtWjAtOVwtXStcLj8pK1teXHM8XSp8XmVtYWlsLyxfYmFja3BlZGFsOi8oPzpbXj8hLiw6''@;'; put 'put ''OypffigpJl0rfFwoW14pXSpcKXwmKD8hW2EtekEtWjAtOV0rOyQpfFs/IS4sOjsqX34pXSsoPyEkKSkrLyxkZWw6L14ofn4/KSg/PVteXHN+XSkoW1xzXFNdKj9bXlxzfl0pXDEoPz1bXn5dfCQpLyx0ZXh0Oi9eKFtgfl0rfFteYH5dKSg/Oig/PSB7Mix9XG4pfFtcc1xTXSo/KD86KD89W1xc''@;'; put 'put ''PCFcW2Aqfl18XGJffGh0dHBzPzpcL1wvfGZ0cDpcL1wvfHd3d1wufCQpfFteIF0oPz0gezIsfVxuKXxbXmEtekEtWjAtOS4hIyQlJicqK1wvPT9fYHtcfH1+LV0oPz1bYS16QS1aMC05LiEjJCUmJyorXC89P19ge1x8fX4tXStAKSl8KD89W2EtekEtWjAtOS4hIyQlJicqK1wvPT9fYHtcfH1+''@;'; put 'put ''LV0rQCkpL30pLEl0LmdmbS51cmw9SShJdC5nZm0udXJsLCJpIikucmVwbGFjZSgiZW1haWwiLEl0LmdmbS5fZXh0ZW5kZWRfZW1haWwpLmdldFJlZ2V4KCksSXQuYnJlYWtzPUR0KHt9LEl0LmdmbSx7YnI6SShJdC5icikucmVwbGFjZSgiezIsfSIsIioiKS5nZXRSZWdleCgpLHRleHQ6SShJ''@;'; put 'put ''dC5nZm0udGV4dCkucmVwbGFjZSgiXFxiXyIsIlxcYl98IHsyLH1cXG4iKS5yZXBsYWNlKC9cezIsXH0vZywiKiIpLmdldFJlZ2V4KCl9KTt2YXIgSXQ9e2Jsb2NrOk50LGlubGluZTpJdH0sV3Q9bXQuZGVmYXVsdHMsVnQ9SXQuYmxvY2ssWXQ9SXQuaW5saW5lLFh0PVE7ZnVuY3Rpb24gS3Qo''@;'; put 'put ''ZSl7cmV0dXJuIGUucmVwbGFjZSgvLS0tL2csIuKAlCIpLnJlcGxhY2UoLy0tL2csIuKAkyIpLnJlcGxhY2UoLyhefFstXHUyMDE0LyhcW3siXHNdKScvZywiJDHigJgiKS5yZXBsYWNlKC8nL2csIuKAmSIpLnJlcGxhY2UoLyhefFstXHUyMDE0LyhcW3tcdTIwMThcc10pIi9nLCIkMeKAnCIp''@;'; put 'put ''LnJlcGxhY2UoLyIvZywi4oCdIikucmVwbGFjZSgvXC57M30vZywi4oCmIil9ZnVuY3Rpb24gUXQoZSl7Zm9yKHZhciB0LG49IiIscj1lLmxlbmd0aCxpPTA7aTxyO2krKyl0PWUuY2hhckNvZGVBdChpKSwuNTxNYXRoLnJhbmRvbSgpJiYodD0ieCIrdC50b1N0cmluZygxNikpLG4rPSImIyIr''@;'; put 'put ''dCsiOyI7cmV0dXJuIG59dmFyIEp0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihlKXt0aGlzLnRva2Vucz1bXSx0aGlzLnRva2Vucy5saW5rcz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMub3B0aW9ucz1lfHxXdCx0aGlzLm9wdGlvbnMudG9rZW5pemVyPXRoaXMub3B0aW9ucy50b2tlbml6ZXJ8''@;'; put 'put ''fG5ldyBHdCx0aGlzLnRva2VuaXplcj10aGlzLm9wdGlvbnMudG9rZW5pemVyLHRoaXMudG9rZW5pemVyLm9wdGlvbnM9dGhpcy5vcHRpb25zO2U9e2Jsb2NrOlZ0Lm5vcm1hbCxpbmxpbmU6WXQubm9ybWFsfTt0aGlzLm9wdGlvbnMucGVkYW50aWM/KGUuYmxvY2s9VnQucGVkYW50aWMsZS5p''@;'; put 'put ''bmxpbmU9WXQucGVkYW50aWMpOnRoaXMub3B0aW9ucy5nZm0mJihlLmJsb2NrPVZ0LmdmbSx0aGlzLm9wdGlvbnMuYnJlYWtzP2UuaW5saW5lPVl0LmJyZWFrczplLmlubGluZT1ZdC5nZm0pLHRoaXMudG9rZW5pemVyLnJ1bGVzPWV9dmFyIGU9e3J1bGVzOntjb25maWd1cmFibGU6ITB9fTty''@;'; put 'put ''ZXR1cm4gZS5ydWxlcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm57YmxvY2s6VnQsaW5saW5lOll0fX0sbi5sZXg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IG4odCkubGV4KGUpfSxuLmxleElubGluZT1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgbih0KS5pbmxpbmVUb2tlbnMoZSl9LG4ucHJv''@;'; put 'put ''dG90eXBlLmxleD1mdW5jdGlvbihlKXtyZXR1cm4gZT1lLnJlcGxhY2UoL1xyXG58XHIvZywiXG4iKS5yZXBsYWNlKC9cdC9nLCIgICAgIiksdGhpcy5ibG9ja1Rva2VucyhlLHRoaXMudG9rZW5zLCEwKSx0aGlzLmlubGluZSh0aGlzLnRva2VucyksdGhpcy50b2tlbnN9LG4ucHJvdG90eXBl''@;'; put 'put ''LmJsb2NrVG9rZW5zPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYTtmb3Iodm9pZCAwPT09dCYmKHQ9W10pLHZvaWQgMD09PW4mJihuPSEwKSx0aGlzLm9wdGlvbnMucGVkYW50aWMmJihlPWUucmVwbGFjZSgvXiArJC9nbSwiIikpO2U7KWlmKHI9dGhpcy50b2tlbml6ZXIuc3BhY2UoZSkp''@;'; put 'put ''ZT1lLnN1YnN0cmluZyhyLnJhdy5sZW5ndGgpLHIudHlwZSYmdC5wdXNoKHIpO2Vsc2UgaWYocj10aGlzLnRva2VuaXplci5jb2RlKGUsdCkpZT1lLnN1YnN0cmluZyhyLnJhdy5sZW5ndGgpLHIudHlwZT90LnB1c2gocik6KChhPXRbdC5sZW5ndGgtMV0pLnJhdys9IlxuIityLnJhdyxhLnRl''@;'; put 'put ''eHQrPSJcbiIrci50ZXh0KTtlbHNlIGlmKHI9dGhpcy50b2tlbml6ZXIuZmVuY2VzKGUpKWU9ZS5zdWJzdHJpbmcoci5yYXcubGVuZ3RoKSx0LnB1c2gocik7ZWxzZSBpZihyPXRoaXMudG9rZW5pemVyLmhlYWRpbmcoZSkpZT1lLnN1YnN0cmluZyhyLnJhdy5sZW5ndGgpLHQucHVzaChyKTtl''@;'; put 'put ''bHNlIGlmKHI9dGhpcy50b2tlbml6ZXIubnB0YWJsZShlKSllPWUuc3Vic3RyaW5nKHIucmF3Lmxlbmd0aCksdC5wdXNoKHIpO2Vsc2UgaWYocj10aGlzLnRva2VuaXplci5ocihlKSllPWUuc3Vic3RyaW5nKHIucmF3Lmxlbmd0aCksdC5wdXNoKHIpO2Vsc2UgaWYocj10aGlzLnRva2VuaXpl''@;'; put 'put ''ci5ibG9ja3F1b3RlKGUpKWU9ZS5zdWJzdHJpbmcoci5yYXcubGVuZ3RoKSxyLnRva2Vucz10aGlzLmJsb2NrVG9rZW5zKHIudGV4dCxbXSxuKSx0LnB1c2gocik7ZWxzZSBpZihyPXRoaXMudG9rZW5pemVyLmxpc3QoZSkpe2ZvcihlPWUuc3Vic3RyaW5nKHIucmF3Lmxlbmd0aCksbz1yLml0''@;'; put 'put ''ZW1zLmxlbmd0aCxpPTA7aTxvO2krKylyLml0ZW1zW2ldLnRva2Vucz10aGlzLmJsb2NrVG9rZW5zKHIuaXRlbXNbaV0udGV4dCxbXSwhMSk7dC5wdXNoKHIpfWVsc2UgaWYocj10aGlzLnRva2VuaXplci5odG1sKGUpKWU9ZS5zdWJzdHJpbmcoci5yYXcubGVuZ3RoKSx0LnB1c2gocik7ZWxz''@;'; put 'put ''ZSBpZihuJiYocj10aGlzLnRva2VuaXplci5kZWYoZSkpKWU9ZS5zdWJzdHJpbmcoci5yYXcubGVuZ3RoKSx0aGlzLnRva2Vucy5saW5rc1tyLnRhZ118fCh0aGlzLnRva2Vucy5saW5rc1tyLnRhZ109e2hyZWY6ci5ocmVmLHRpdGxlOnIudGl0bGV9KTtlbHNlIGlmKHI9dGhpcy50b2tlbml6''@;'; put 'put ''ZXIudGFibGUoZSkpZT1lLnN1YnN0cmluZyhyLnJhdy5sZW5ndGgpLHQucHVzaChyKTtlbHNlIGlmKHI9dGhpcy50b2tlbml6ZXIubGhlYWRpbmcoZSkpZT1lLnN1YnN0cmluZyhyLnJhdy5sZW5ndGgpLHQucHVzaChyKTtlbHNlIGlmKG4mJihyPXRoaXMudG9rZW5pemVyLnBhcmFncmFwaChl''@;'; put 'put ''KSkpZT1lLnN1YnN0cmluZyhyLnJhdy5sZW5ndGgpLHQucHVzaChyKTtlbHNlIGlmKHI9dGhpcy50b2tlbml6ZXIudGV4dChlLHQpKWU9ZS5zdWJzdHJpbmcoci5yYXcubGVuZ3RoKSxyLnR5cGU/dC5wdXNoKHIpOigoYT10W3QubGVuZ3RoLTFdKS5yYXcrPSJcbiIrci5yYXcsYS50ZXh0Kz0i''@;'; put 'put ''XG4iK3IudGV4dCk7ZWxzZSBpZihlKXt2YXIgcz0iSW5maW5pdGUgbG9vcCBvbiBieXRlOiAiK2UuY2hhckNvZGVBdCgwKTtpZih0aGlzLm9wdGlvbnMuc2lsZW50KXtjb25zb2xlLmVycm9yKHMpO2JyZWFrfXRocm93IG5ldyBFcnJvcihzKX1yZXR1cm4gdH0sbi5wcm90b3R5cGUuaW5saW5l''@;'; put 'put ''PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuLHIsaSxvLGE9ZS5sZW5ndGgscz0wO3M8YTtzKyspc3dpdGNoKChvPWVbc10pLnR5cGUpe2Nhc2UicGFyYWdyYXBoIjpjYXNlInRleHQiOmNhc2UiaGVhZGluZyI6by50b2tlbnM9W10sdGhpcy5pbmxpbmVUb2tlbnMoby50ZXh0LG8udG9rZW5zKTti''@;'; put 'put ''cmVhaztjYXNlInRhYmxlIjpmb3Ioby50b2tlbnM9e2hlYWRlcjpbXSxjZWxsczpbXX0scj1vLmhlYWRlci5sZW5ndGgsdD0wO3Q8cjt0Kyspby50b2tlbnMuaGVhZGVyW3RdPVtdLHRoaXMuaW5saW5lVG9rZW5zKG8uaGVhZGVyW3RdLG8udG9rZW5zLmhlYWRlclt0XSk7Zm9yKHI9by5jZWxs''@;'; put 'put ''cy5sZW5ndGgsdD0wO3Q8cjt0KyspZm9yKGk9by5jZWxsc1t0XSxvLnRva2Vucy5jZWxsc1t0XT1bXSxuPTA7bjxpLmxlbmd0aDtuKyspby50b2tlbnMuY2VsbHNbdF1bbl09W10sdGhpcy5pbmxpbmVUb2tlbnMoaVtuXSxvLnRva2Vucy5jZWxsc1t0XVtuXSk7YnJlYWs7Y2FzZSJibG9ja3F1''@;'; put 'put ''b3RlIjp0aGlzLmlubGluZShvLnRva2Vucyk7YnJlYWs7Y2FzZSJsaXN0Ijpmb3Iocj1vLml0ZW1zLmxlbmd0aCx0PTA7dDxyO3QrKyl0aGlzLmlubGluZShvLml0ZW1zW3RdLnRva2Vucyl9cmV0dXJuIGV9LG4ucHJvdG90eXBlLmlubGluZVRva2Vucz1mdW5jdGlvbihlLHQsbixyKXt2YXIg''@;'; put 'put ''aTt2b2lkIDA9PT10JiYodD1bXSksdm9pZCAwPT09biYmKG49ITEpLHZvaWQgMD09PXImJihyPSExKTt2YXIgbyxhLHMsbD1lO2lmKHRoaXMudG9rZW5zLmxpbmtzKXt2YXIgYz1PYmplY3Qua2V5cyh0aGlzLnRva2Vucy5saW5rcyk7aWYoMDxjLmxlbmd0aClmb3IoO251bGwhPShvPXRoaXMu''@;'; put 'put ''dG9rZW5pemVyLnJ1bGVzLmlubGluZS5yZWZsaW5rU2VhcmNoLmV4ZWMobCkpOyljLmluY2x1ZGVzKG9bMF0uc2xpY2Uob1swXS5sYXN0SW5kZXhPZigiWyIpKzEsLTEpKSYmKGw9bC5zbGljZSgwLG8uaW5kZXgpKyJbIitYdCgiYSIsb1swXS5sZW5ndGgtMikrIl0iK2wuc2xpY2UodGhpcy50''@;'; put 'put ''b2tlbml6ZXIucnVsZXMuaW5saW5lLnJlZmxpbmtTZWFyY2gubGFzdEluZGV4KSl9Zm9yKDtudWxsIT0obz10aGlzLnRva2VuaXplci5ydWxlcy5pbmxpbmUuYmxvY2tTa2lwLmV4ZWMobCkpOylsPWwuc2xpY2UoMCxvLmluZGV4KSsiWyIrWHQoImEiLG9bMF0ubGVuZ3RoLTIpKyJdIitsLnNs''@;'; put 'put ''aWNlKHRoaXMudG9rZW5pemVyLnJ1bGVzLmlubGluZS5ibG9ja1NraXAubGFzdEluZGV4KTtmb3IoO2U7KWlmKGF8fChzPSIiKSxhPSExLGk9dGhpcy50b2tlbml6ZXIuZXNjYXBlKGUpKWU9ZS5zdWJzdHJpbmcoaS5yYXcubGVuZ3RoKSx0LnB1c2goaSk7ZWxzZSBpZihpPXRoaXMudG9rZW5p''@;'; put 'put ''emVyLnRhZyhlLG4scikpZT1lLnN1YnN0cmluZyhpLnJhdy5sZW5ndGgpLG49aS5pbkxpbmsscj1pLmluUmF3QmxvY2ssdC5wdXNoKGkpO2Vsc2UgaWYoaT10aGlzLnRva2VuaXplci5saW5rKGUpKWU9ZS5zdWJzdHJpbmcoaS5yYXcubGVuZ3RoKSwibGluayI9PT1pLnR5cGUmJihpLnRva2Vu''@;'; put 'put ''cz10aGlzLmlubGluZVRva2VucyhpLnRleHQsW10sITAscikpLHQucHVzaChpKTtlbHNlIGlmKGk9dGhpcy50b2tlbml6ZXIucmVmbGluayhlLHRoaXMudG9rZW5zLmxpbmtzKSllPWUuc3Vic3RyaW5nKGkucmF3Lmxlbmd0aCksImxpbmsiPT09aS50eXBlJiYoaS50b2tlbnM9dGhpcy5pbmxp''@;'; put 'put ''bmVUb2tlbnMoaS50ZXh0LFtdLCEwLHIpKSx0LnB1c2goaSk7ZWxzZSBpZihpPXRoaXMudG9rZW5pemVyLnN0cm9uZyhlLGwscykpZT1lLnN1YnN0cmluZyhpLnJhdy5sZW5ndGgpLGkudG9rZW5zPXRoaXMuaW5saW5lVG9rZW5zKGkudGV4dCxbXSxuLHIpLHQucHVzaChpKTtlbHNlIGlmKGk9''@;'; put 'put ''dGhpcy50b2tlbml6ZXIuZW0oZSxsLHMpKWU9ZS5zdWJzdHJpbmcoaS5yYXcubGVuZ3RoKSxpLnRva2Vucz10aGlzLmlubGluZVRva2VucyhpLnRleHQsW10sbixyKSx0LnB1c2goaSk7ZWxzZSBpZihpPXRoaXMudG9rZW5pemVyLmNvZGVzcGFuKGUpKWU9ZS5zdWJzdHJpbmcoaS5yYXcubGVu''@;'; put 'put ''Z3RoKSx0LnB1c2goaSk7ZWxzZSBpZihpPXRoaXMudG9rZW5pemVyLmJyKGUpKWU9ZS5zdWJzdHJpbmcoaS5yYXcubGVuZ3RoKSx0LnB1c2goaSk7ZWxzZSBpZihpPXRoaXMudG9rZW5pemVyLmRlbChlKSllPWUuc3Vic3RyaW5nKGkucmF3Lmxlbmd0aCksaS50b2tlbnM9dGhpcy5pbmxpbmVU''@;'; put 'put ''b2tlbnMoaS50ZXh0LFtdLG4sciksdC5wdXNoKGkpO2Vsc2UgaWYoaT10aGlzLnRva2VuaXplci5hdXRvbGluayhlLFF0KSllPWUuc3Vic3RyaW5nKGkucmF3Lmxlbmd0aCksdC5wdXNoKGkpO2Vsc2UgaWYobnx8IShpPXRoaXMudG9rZW5pemVyLnVybChlLFF0KSkpe2lmKGk9dGhpcy50b2tl''@;'; put 'put ''bml6ZXIuaW5saW5lVGV4dChlLHIsS3QpKWU9ZS5zdWJzdHJpbmcoaS5yYXcubGVuZ3RoKSxzPWkucmF3LnNsaWNlKC0xKSxhPSEwLHQucHVzaChpKTtlbHNlIGlmKGUpe3ZhciB1PSJJbmZpbml0ZSBsb29wIG9uIGJ5dGU6ICIrZS5jaGFyQ29kZUF0KDApO2lmKHRoaXMub3B0aW9ucy5zaWxl''@;'; put 'put ''bnQpe2NvbnNvbGUuZXJyb3IodSk7YnJlYWt9dGhyb3cgbmV3IEVycm9yKHUpfX1lbHNlIGU9ZS5zdWJzdHJpbmcoaS5yYXcubGVuZ3RoKSx0LnB1c2goaSk7cmV0dXJuIHR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG4sZSksbn0oKSxlbj1tdC5kZWZhdWx0cyx0bj1NdCxubj1MdCxybj1m''@;'; put 'put ''dW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5vcHRpb25zPWV8fGVufXJldHVybiBlLnByb3RvdHlwZS5jb2RlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0odHx8IiIpLm1hdGNoKC9cUyovKVswXTtyZXR1cm4hdGhpcy5vcHRpb25zLmhpZ2hsaWdodHx8bnVsbCE9KHQ9dGhpcy5vcHRpb25z''@;'; put 'put ''LmhpZ2hsaWdodChlLHIpKSYmdCE9PWUmJihuPSEwLGU9dCksZT1lLnJlcGxhY2UoL1xuJC8sIiIpKyJcbiIscj8nPHByZT48Y29kZSBjbGFzcz0iJyt0aGlzLm9wdGlvbnMubGFuZ1ByZWZpeCtubihyLCEwKSsnIj4nKyhuP2U6bm4oZSwhMCkpKyI8L2NvZGU+PC9wcmU+XG4iOiI8cHJlPjxj''@;'; put 'put ''b2RlPiIrKG4/ZTpubihlLCEwKSkrIjwvY29kZT48L3ByZT5cbiJ9LGUucHJvdG90eXBlLmJsb2NrcXVvdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIjxibG9ja3F1b3RlPlxuIitlKyI8L2Jsb2NrcXVvdGU+XG4ifSxlLnByb3RvdHlwZS5odG1sPWZ1bmN0aW9uKGUpe3JldHVybiBlfSxlLnByb3Rv''@;'; put 'put ''dHlwZS5oZWFkaW5nPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9wdGlvbnMuaGVhZGVySWRzPyI8aCIrdCsnIGlkPSInK3RoaXMub3B0aW9ucy5oZWFkZXJQcmVmaXgrci5zbHVnKG4pKyciPicrZSsiPC9oIit0KyI+XG4iOiI8aCIrdCsiPiIrZSsiPC9oIit0KyI+XG4ifSxlLnBy''@;'; put 'put ''b3RvdHlwZS5ocj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMueGh0bWw/Ijxoci8+XG4iOiI8aHI+XG4ifSxlLnByb3RvdHlwZS5saXN0PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10PyJvbCI6InVsIjtyZXR1cm4iPCIrcisodCYmMSE9PW4/JyBzdGFydD0iJytuKyciJzoiIikrIj5c''@;'; put 'put ''biIrZSsiPC8iK3IrIj5cbiJ9LGUucHJvdG90eXBlLmxpc3RpdGVtPWZ1bmN0aW9uKGUpe3JldHVybiI8bGk+IitlKyI8L2xpPlxuIn0sZS5wcm90b3R5cGUuY2hlY2tib3g9ZnVuY3Rpb24oZSl7cmV0dXJuIjxpbnB1dCAiKyhlPydjaGVja2VkPSIiICc6IiIpKydkaXNhYmxlZD0iIiB0eXBl''@;'; put 'put ''PSJjaGVja2JveCInKyh0aGlzLm9wdGlvbnMueGh0bWw/IiAvIjoiIikrIj4gIn0sZS5wcm90b3R5cGUucGFyYWdyYXBoPWZ1bmN0aW9uKGUpe3JldHVybiI8cD4iK2UrIjwvcD5cbiJ9LGUucHJvdG90eXBlLnRhYmxlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIjx0YWJsZT5cbjx0aGVhZD5cbiIr''@;'; put 'put ''ZSsiPC90aGVhZD5cbiIrKHQ9dCYmIjx0Ym9keT4iK3QrIjwvdGJvZHk+IikrIjwvdGFibGU+XG4ifSxlLnByb3RvdHlwZS50YWJsZXJvdz1mdW5jdGlvbihlKXtyZXR1cm4iPHRyPlxuIitlKyI8L3RyPlxuIn0sZS5wcm90b3R5cGUudGFibGVjZWxsPWZ1bmN0aW9uKGUsdCl7dmFyIG49dC5o''@;'; put 'put ''ZWFkZXI/InRoIjoidGQiO3JldHVybih0LmFsaWduPyI8IituKycgYWxpZ249IicrdC5hbGlnbisnIj4nOiI8IituKyI+IikrZSsiPC8iK24rIj5cbiJ9LGUucHJvdG90eXBlLnN0cm9uZz1mdW5jdGlvbihlKXtyZXR1cm4iPHN0cm9uZz4iK2UrIjwvc3Ryb25nPiJ9LGUucHJvdG90eXBlLmVt''@;'; put 'put ''PWZ1bmN0aW9uKGUpe3JldHVybiI8ZW0+IitlKyI8L2VtPiJ9LGUucHJvdG90eXBlLmNvZGVzcGFuPWZ1bmN0aW9uKGUpe3JldHVybiI8Y29kZT4iK2UrIjwvY29kZT4ifSxlLnByb3RvdHlwZS5icj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMueGh0bWw/Ijxici8+IjoiPGJyPiJ9''@;'; put 'put ''LGUucHJvdG90eXBlLmRlbD1mdW5jdGlvbihlKXtyZXR1cm4iPGRlbD4iK2UrIjwvZGVsPiJ9LGUucHJvdG90eXBlLmxpbms9ZnVuY3Rpb24oZSx0LG4pe2lmKG51bGw9PT0oZT10bih0aGlzLm9wdGlvbnMuc2FuaXRpemUsdGhpcy5vcHRpb25zLmJhc2VVcmwsZSkpKXJldHVybiBuO2U9Jzxh''@;'; put 'put ''IGhyZWY9Iicrbm4oZSkrJyInO3JldHVybiB0JiYoZSs9JyB0aXRsZT0iJyt0KyciJyksZSs9Ij4iK24rIjwvYT4ifSxlLnByb3RvdHlwZS5pbWFnZT1mdW5jdGlvbihlLHQsbil7aWYobnVsbD09PShlPXRuKHRoaXMub3B0aW9ucy5zYW5pdGl6ZSx0aGlzLm9wdGlvbnMuYmFzZVVybCxlKSkp''@;'; put 'put ''cmV0dXJuIG47bj0nPGltZyBzcmM9IicrZSsnIiBhbHQ9IicrbisnIic7cmV0dXJuIHQmJihuKz0nIHRpdGxlPSInK3QrJyInKSxuKz10aGlzLm9wdGlvbnMueGh0bWw/Ii8+IjoiPiJ9LGUucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGV9KCksb249ZnVuY3Rpb24oKXtm''@;'; put 'put ''dW5jdGlvbiBlKCl7fXJldHVybiBlLnByb3RvdHlwZS5zdHJvbmc9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGUucHJvdG90eXBlLmVtPWZ1bmN0aW9uKGUpe3JldHVybiBlfSxlLnByb3RvdHlwZS5jb2Rlc3Bhbj1mdW5jdGlvbihlKXtyZXR1cm4gZX0sZS5wcm90b3R5cGUuZGVsPWZ1bmN0aW9u''@;'; put 'put ''KGUpe3JldHVybiBlfSxlLnByb3RvdHlwZS5odG1sPWZ1bmN0aW9uKGUpe3JldHVybiBlfSxlLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBlfSxlLnByb3RvdHlwZS5saW5rPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4iIitufSxlLnByb3RvdHlwZS5pbWFnZT1mdW5jdGlvbihl''@;'; put 'put ''LHQsbil7cmV0dXJuIiIrbn0sZS5wcm90b3R5cGUuYnI9ZnVuY3Rpb24oKXtyZXR1cm4iIn0sZX0oKSxhbj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt0aGlzLnNlZW49e319cmV0dXJuIGUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpLnRy''@;'; put 'put ''aW0oKS5yZXBsYWNlKC88WyFcL2Etel0uKj8+L2dpLCIiKS5yZXBsYWNlKC9bXHUyMDAwLVx1MjA2Rlx1MkUwMC1cdTJFN0ZcXCchIiMkJSYoKSorLC4vOjs8PT4/QFtcXV5ge3x9fl0vZywiIikucmVwbGFjZSgvXHMvZywiLSIpfSxlLnByb3RvdHlwZS5nZXROZXh0U2FmZVNsdWc9ZnVuY3Rp''@;'; put 'put ''b24oZSx0KXt2YXIgbj1lLHI9MDtpZih0aGlzLnNlZW4uaGFzT3duUHJvcGVydHkobikpZm9yKHI9dGhpcy5zZWVuW2VdO249ZSsiLSIrICsrcix0aGlzLnNlZW4uaGFzT3duUHJvcGVydHkobik7KTtyZXR1cm4gdHx8KHRoaXMuc2VlbltlXT1yLHRoaXMuc2VlbltuXT0wKSxufSxlLnByb3Rv''@;'; put 'put ''dHlwZS5zbHVnPWZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9e30pO3ZhciBuPXRoaXMuc2VyaWFsaXplKGUpO3JldHVybiB0aGlzLmdldE5leHRTYWZlU2x1ZyhuLHQuZHJ5cnVuKX0sZX0oKSxzbj1tdC5kZWZhdWx0cyxsbj16dCxjbj1mdW5jdGlvbigpe2Z1bmN0aW9uIG4oZSl7dGhp''@;'; put 'put ''cy5vcHRpb25zPWV8fHNuLHRoaXMub3B0aW9ucy5yZW5kZXJlcj10aGlzLm9wdGlvbnMucmVuZGVyZXJ8fG5ldyBybix0aGlzLnJlbmRlcmVyPXRoaXMub3B0aW9ucy5yZW5kZXJlcix0aGlzLnJlbmRlcmVyLm9wdGlvbnM9dGhpcy5vcHRpb25zLHRoaXMudGV4dFJlbmRlcmVyPW5ldyBvbix0''@;'; put 'put ''aGlzLnNsdWdnZXI9bmV3IGFufXJldHVybiBuLnBhcnNlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBuKHQpLnBhcnNlKGUpfSxuLnBhcnNlSW5saW5lPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBuKHQpLnBhcnNlSW5saW5lKGUpfSxuLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihlLHQp''@;'; put 'put ''e3ZvaWQgMD09PXQmJih0PSEwKTtmb3IodmFyIG4scixpLG8sYSxzLGwsYyx1LHAsaCxkLGYsZyxtLHY9IiIseT1lLmxlbmd0aCxiPTA7Yjx5O2IrKylzd2l0Y2goKGM9ZVtiXSkudHlwZSl7Y2FzZSJzcGFjZSI6Y29udGludWU7Y2FzZSJociI6dis9dGhpcy5yZW5kZXJlci5ocigpO2NvbnRp''@;'; put 'put ''bnVlO2Nhc2UiaGVhZGluZyI6dis9dGhpcy5yZW5kZXJlci5oZWFkaW5nKHRoaXMucGFyc2VJbmxpbmUoYy50b2tlbnMpLGMuZGVwdGgsbG4odGhpcy5wYXJzZUlubGluZShjLnRva2Vucyx0aGlzLnRleHRSZW5kZXJlcikpLHRoaXMuc2x1Z2dlcik7Y29udGludWU7Y2FzZSJjb2RlIjp2Kz10''@;'; put 'put ''aGlzLnJlbmRlcmVyLmNvZGUoYy50ZXh0LGMubGFuZyxjLmVzY2FwZWQpO2NvbnRpbnVlO2Nhc2UidGFibGUiOmZvcihzPXU9IiIsaT1jLmhlYWRlci5sZW5ndGgsbj0wO248aTtuKyspcys9dGhpcy5yZW5kZXJlci50YWJsZWNlbGwodGhpcy5wYXJzZUlubGluZShjLnRva2Vucy5oZWFkZXJb''@;'; put 'put ''bl0pLHtoZWFkZXI6ITAsYWxpZ246Yy5hbGlnbltuXX0pO2Zvcih1Kz10aGlzLnJlbmRlcmVyLnRhYmxlcm93KHMpLGw9IiIsaT1jLmNlbGxzLmxlbmd0aCxuPTA7bjxpO24rKyl7Zm9yKHM9IiIsbz0oYT1jLnRva2Vucy5jZWxsc1tuXSkubGVuZ3RoLHI9MDtyPG87cisrKXMrPXRoaXMucmVu''@;'; put 'put ''ZGVyZXIudGFibGVjZWxsKHRoaXMucGFyc2VJbmxpbmUoYVtyXSkse2hlYWRlcjohMSxhbGlnbjpjLmFsaWduW3JdfSk7bCs9dGhpcy5yZW5kZXJlci50YWJsZXJvdyhzKX12Kz10aGlzLnJlbmRlcmVyLnRhYmxlKHUsbCk7Y29udGludWU7Y2FzZSJibG9ja3F1b3RlIjpsPXRoaXMucGFyc2Uo''@;'; put 'put ''Yy50b2tlbnMpLHYrPXRoaXMucmVuZGVyZXIuYmxvY2txdW90ZShsKTtjb250aW51ZTtjYXNlImxpc3QiOmZvcih1PWMub3JkZXJlZCxrPWMuc3RhcnQscD1jLmxvb3NlLGk9Yy5pdGVtcy5sZW5ndGgsbD0iIixuPTA7bjxpO24rKylmPShkPWMuaXRlbXNbbl0pLmNoZWNrZWQsZz1kLnRhc2ss''@;'; put 'put ''aD0iIixkLnRhc2smJihtPXRoaXMucmVuZGVyZXIuY2hlY2tib3goZikscD8wPGQudG9rZW5zLmxlbmd0aCYmInRleHQiPT09ZC50b2tlbnNbMF0udHlwZT8oZC50b2tlbnNbMF0udGV4dD1tKyIgIitkLnRva2Vuc1swXS50ZXh0LGQudG9rZW5zWzBdLnRva2VucyYmMDxkLnRva2Vuc1swXS50''@;'; put 'put ''b2tlbnMubGVuZ3RoJiYidGV4dCI9PT1kLnRva2Vuc1swXS50b2tlbnNbMF0udHlwZSYmKGQudG9rZW5zWzBdLnRva2Vuc1swXS50ZXh0PW0rIiAiK2QudG9rZW5zWzBdLnRva2Vuc1swXS50ZXh0KSk6ZC50b2tlbnMudW5zaGlmdCh7dHlwZToidGV4dCIsdGV4dDptfSk6aCs9bSksaCs9dGhp''@;'; put 'put ''cy5wYXJzZShkLnRva2VucyxwKSxsKz10aGlzLnJlbmRlcmVyLmxpc3RpdGVtKGgsZyxmKTt2Kz10aGlzLnJlbmRlcmVyLmxpc3QobCx1LGspO2NvbnRpbnVlO2Nhc2UiaHRtbCI6dis9dGhpcy5yZW5kZXJlci5odG1sKGMudGV4dCk7Y29udGludWU7Y2FzZSJwYXJhZ3JhcGgiOnYrPXRoaXMu''@;'; put 'put ''cmVuZGVyZXIucGFyYWdyYXBoKHRoaXMucGFyc2VJbmxpbmUoYy50b2tlbnMpKTtjb250aW51ZTtjYXNlInRleHQiOmZvcihsPWMudG9rZW5zP3RoaXMucGFyc2VJbmxpbmUoYy50b2tlbnMpOmMudGV4dDtiKzE8eSYmInRleHQiPT09ZVtiKzFdLnR5cGU7KWwrPSJcbiIrKChjPWVbKytiXSku''@;'; put 'put ''dG9rZW5zP3RoaXMucGFyc2VJbmxpbmUoYy50b2tlbnMpOmMudGV4dCk7dis9dD90aGlzLnJlbmRlcmVyLnBhcmFncmFwaChsKTpsO2NvbnRpbnVlO2RlZmF1bHQ6dmFyIGs9J1Rva2VuIHdpdGggIicrYy50eXBlKyciIHR5cGUgd2FzIG5vdCBmb3VuZC4nO2lmKHRoaXMub3B0aW9ucy5zaWxl''@;'; put 'put ''bnQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcihrKTt0aHJvdyBuZXcgRXJyb3Ioayl9cmV0dXJuIHZ9LG4ucHJvdG90eXBlLnBhcnNlSW5saW5lPWZ1bmN0aW9uKGUsdCl7dD10fHx0aGlzLnJlbmRlcmVyO2Zvcih2YXIgbj0iIixyPWUubGVuZ3RoLGk9MDtpPHI7aSsrKXN3aXRjaCgobz1l''@;'; put 'put ''W2ldKS50eXBlKXtjYXNlImVzY2FwZSI6bis9dC50ZXh0KG8udGV4dCk7YnJlYWs7Y2FzZSJodG1sIjpuKz10Lmh0bWwoby50ZXh0KTticmVhaztjYXNlImxpbmsiOm4rPXQubGluayhvLmhyZWYsby50aXRsZSx0aGlzLnBhcnNlSW5saW5lKG8udG9rZW5zLHQpKTticmVhaztjYXNlImltYWdl''@;'; put 'put ''IjpuKz10LmltYWdlKG8uaHJlZixvLnRpdGxlLG8udGV4dCk7YnJlYWs7Y2FzZSJzdHJvbmciOm4rPXQuc3Ryb25nKHRoaXMucGFyc2VJbmxpbmUoby50b2tlbnMsdCkpO2JyZWFrO2Nhc2UiZW0iOm4rPXQuZW0odGhpcy5wYXJzZUlubGluZShvLnRva2Vucyx0KSk7YnJlYWs7Y2FzZSJjb2Rl''@;'; put 'put ''c3BhbiI6bis9dC5jb2Rlc3BhbihvLnRleHQpO2JyZWFrO2Nhc2UiYnIiOm4rPXQuYnIoKTticmVhaztjYXNlImRlbCI6bis9dC5kZWwodGhpcy5wYXJzZUlubGluZShvLnRva2Vucyx0KSk7YnJlYWs7Y2FzZSJ0ZXh0IjpuKz10LnRleHQoby50ZXh0KTticmVhaztkZWZhdWx0OnZhciBvPSdU''@;'; put 'put ''b2tlbiB3aXRoICInK28udHlwZSsnIiB0eXBlIHdhcyBub3QgZm91bmQuJztpZih0aGlzLm9wdGlvbnMuc2lsZW50KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3Iobyk7dGhyb3cgbmV3IEVycm9yKG8pfXJldHVybiBufSxufSgpLHVuPVB0LHBuPWVlLGhuPUx0LEx0PW10LmdldERlZmF1bHRz''@;'; put 'put ''LGRuPW10LmNoYW5nZURlZmF1bHRzLG10PW10LmRlZmF1bHRzO2Z1bmN0aW9uIGZuKGUsbixyKXtpZihudWxsPT1lKXRocm93IG5ldyBFcnJvcigibWFya2VkKCk6IGlucHV0IHBhcmFtZXRlciBpcyB1bmRlZmluZWQgb3IgbnVsbCIpO2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcg''@;'; put 'put ''RXJyb3IoIm1hcmtlZCgpOiBpbnB1dCBwYXJhbWV0ZXIgaXMgb2YgdHlwZSAiK09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSsiLCBzdHJpbmcgZXhwZWN0ZWQiKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgbiYmKHI9bixuPW51bGwpLG49dW4oe30sZm4uZGVmYXVsdHMsbnx8e30p''@;'; put 'put ''LHBuKG4pLHIpe3ZhciBpLG89bi5oaWdobGlnaHQ7dHJ5e2k9SnQubGV4KGUsbil9Y2F0Y2goZSl7cmV0dXJuIHIoZSl9ZnVuY3Rpb24gYSh0KXt2YXIgZTtpZighdCl0cnl7ZT1jbi5wYXJzZShpLG4pfWNhdGNoKGUpe3Q9ZX1yZXR1cm4gbi5oaWdobGlnaHQ9byx0P3IodCk6cihudWxsLGUp''@;'; put 'put ''fWlmKCFvfHxvLmxlbmd0aDwzKXJldHVybiBhKCk7aWYoZGVsZXRlIG4uaGlnaGxpZ2h0LCFpLmxlbmd0aClyZXR1cm4gYSgpO3ZhciBzPTA7cmV0dXJuIGZuLndhbGtUb2tlbnMoaSxmdW5jdGlvbihuKXsiY29kZSI9PT1uLnR5cGUmJihzKyssc2V0VGltZW91dChmdW5jdGlvbigpe28obi50''@;'; put 'put ''ZXh0LG4ubGFuZyxmdW5jdGlvbihlLHQpe3JldHVybiBlP2EoZSk6KG51bGwhPXQmJnQhPT1uLnRleHQmJihuLnRleHQ9dCxuLmVzY2FwZWQ9ITApLHZvaWQoMD09PS0tcyYmYSgpKSl9KX0sMCkpfSksdm9pZCgwPT09cyYmYSgpKX10cnl7dmFyIHQ9SnQubGV4KGUsbik7cmV0dXJuIG4ud2Fs''@;'; put 'put ''a1Rva2VucyYmZm4ud2Fsa1Rva2Vucyh0LG4ud2Fsa1Rva2VucyksY24ucGFyc2UodCxuKX1jYXRjaChlKXtpZihlLm1lc3NhZ2UrPSJcblBsZWFzZSByZXBvcnQgdGhpcyB0byBodHRwczovL2dpdGh1Yi5jb20vbWFya2VkanMvbWFya2VkLiIsbi5zaWxlbnQpcmV0dXJuIjxwPkFuIGVycm9y''@;'; put 'put ''IG9jY3VycmVkOjwvcD48cHJlPiIraG4oZS5tZXNzYWdlKyIiLCEwKSsiPC9wcmU+Ijt0aHJvdyBlfX1mbi5vcHRpb25zPWZuLnNldE9wdGlvbnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHVuKGZuLmRlZmF1bHRzLGUpLGRuKGZuLmRlZmF1bHRzKSxmbn0sZm4uZ2V0RGVmYXVsdHM9THQsZm4uZGVm''@;'; put 'put ''YXVsdHM9bXQsZm4udXNlPWZ1bmN0aW9uKG8pe3ZhciB0LGU9dW4oe30sbyk7aWYoby5yZW5kZXJlcil7dmFyIG4sYT1mbi5kZWZhdWx0cy5yZW5kZXJlcnx8bmV3IHJuO2ZvcihuIGluIG8ucmVuZGVyZXIpIWZ1bmN0aW9uKHIpe3ZhciBpPWFbcl07YVtyXT1mdW5jdGlvbigpe2Zvcih2YXIg''@;'; put 'put ''ZT1bXSx0PWFyZ3VtZW50cy5sZW5ndGg7dC0tOyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgbj1vLnJlbmRlcmVyW3JdLmFwcGx5KGEsZSk7cmV0dXJuITE9PT1uJiYobj1pLmFwcGx5KGEsZSkpLG59fShuKTtlLnJlbmRlcmVyPWF9aWYoby50b2tlbml6ZXIpe3ZhciBpLHM9Zm4uZGVmYXVsdHMu''@;'; put 'put ''dG9rZW5pemVyfHxuZXcgR3Q7Zm9yKGkgaW4gby50b2tlbml6ZXIpIWZ1bmN0aW9uKCl7dmFyIHI9c1tpXTtzW2ldPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9YXJndW1lbnRzLmxlbmd0aDt0LS07KWVbdF09YXJndW1lbnRzW3RdO3ZhciBuPW8udG9rZW5pemVyW2ldLmFwcGx5KHMsZSk7''@;'; put 'put ''cmV0dXJuITE9PT1uJiYobj1yLmFwcGx5KHMsZSkpLG59fSgpO2UudG9rZW5pemVyPXN9by53YWxrVG9rZW5zJiYodD1mbi5kZWZhdWx0cy53YWxrVG9rZW5zLGUud2Fsa1Rva2Vucz1mdW5jdGlvbihlKXtvLndhbGtUb2tlbnMoZSksdCYmdChlKX0pLGZuLnNldE9wdGlvbnMoZSl9LGZuLndh''@;'; put 'put ''bGtUb2tlbnM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxyPWU7bjxyLmxlbmd0aDtuKz0xKXt2YXIgaT1yW25dO3N3aXRjaCh0KGkpLGkudHlwZSl7Y2FzZSJ0YWJsZSI6Zm9yKHZhciBvPTAsYT1pLnRva2Vucy5oZWFkZXI7bzxhLmxlbmd0aDtvKz0xKXt2YXIgcz1hW29dO2ZuLndhbGtU''@;'; put 'put ''b2tlbnMocyx0KX1mb3IodmFyIGw9MCxjPWkudG9rZW5zLmNlbGxzO2w8Yy5sZW5ndGg7bCs9MSlmb3IodmFyIHU9MCxwPWNbbF07dTxwLmxlbmd0aDt1Kz0xKXt2YXIgaD1wW3VdO2ZuLndhbGtUb2tlbnMoaCx0KX1icmVhaztjYXNlImxpc3QiOmZuLndhbGtUb2tlbnMoaS5pdGVtcyx0KTti''@;'; put 'put ''cmVhaztkZWZhdWx0OmkudG9rZW5zJiZmbi53YWxrVG9rZW5zKGkudG9rZW5zLHQpfX19LGZuLnBhcnNlSW5saW5lPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoIm1hcmtlZC5wYXJzZUlubGluZSgpOiBpbnB1dCBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkIG9yIG51''@;'; put 'put ''bGwiKTtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJtYXJrZWQucGFyc2VJbmxpbmUoKTogaW5wdXQgcGFyYW1ldGVyIGlzIG9mIHR5cGUgIitPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkrIiwgc3RyaW5nIGV4cGVjdGVkIik7dD11bih7fSxmbi5kZWZh''@;'; put 'put ''dWx0cyx0fHx7fSkscG4odCk7dHJ5e3ZhciBuPUp0LmxleElubGluZShlLHQpO3JldHVybiB0LndhbGtUb2tlbnMmJmZuLndhbGtUb2tlbnMobix0LndhbGtUb2tlbnMpLGNuLnBhcnNlSW5saW5lKG4sdCl9Y2F0Y2goZSl7aWYoZS5tZXNzYWdlKz0iXG5QbGVhc2UgcmVwb3J0IHRoaXMgdG8g''@;'; put 'put ''aHR0cHM6Ly9naXRodWIuY29tL21hcmtlZGpzL21hcmtlZC4iLHQuc2lsZW50KXJldHVybiI8cD5BbiBlcnJvciBvY2N1cnJlZDo8L3A+PHByZT4iK2huKGUubWVzc2FnZSsiIiwhMCkrIjwvcHJlPiI7dGhyb3cgZX19LGZuLlBhcnNlcj1jbixmbi5wYXJzZXI9Y24ucGFyc2UsZm4uUmVuZGVy''@;'; put 'put ''ZXI9cm4sZm4uVGV4dFJlbmRlcmVyPW9uLGZuLkxleGVyPUp0LGZuLmxleGVyPUp0LmxleCxmbi5Ub2tlbml6ZXI9R3QsZm4uU2x1Z2dlcj1hbjt2YXIgZ249Zm4ucGFyc2U9Zm47ZnVuY3Rpb24gbW4oZSxuKXtpZih2b2lkIDA9PT1uJiYobj0nPHVsIGNsYXNzPSJhcHAtc3ViLXNpZGViYXIi''@;'; put 'put ''Pntpbm5lcn08L3VsPicpLCFlfHwhZS5sZW5ndGgpcmV0dXJuIiI7dmFyIHI9IiI7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnRpdGxlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2csIiIpO3IrPSc8bGk+PGEgY2xhc3M9InNlY3Rpb24tbGluayIgaHJlZj0iJytlLnNsdWcr''@;'; put 'put ''JyIgdGl0bGU9IicrdCsnIj4nK2UudGl0bGUrIjwvYT48L2xpPiIsZS5jaGlsZHJlbiYmKHIrPW1uKGUuY2hpbGRyZW4sbikpfSksbi5yZXBsYWNlKCJ7aW5uZXJ9IixyKX1mdW5jdGlvbiB2bihlLHQpe3JldHVybic8cCBjbGFzcz0iJytlKyciPicrdC5zbGljZSg1KS50cmltKCkrIjwvcD4i''@;'; put 'put ''fWZ1bmN0aW9uIHluKGUscil7dmFyIGk9W10sbz17fTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWUubGV2ZWx8fDEsbj10LTE7cjx0fHwob1tuXT9vW25dLmNoaWxkcmVuPShvW25dLmNoaWxkcmVufHxbXSkuY29uY2F0KGUpOmkucHVzaChlKSxvW3RdPWUpfSksaX12YXIg''@;'; put 'put ''Ym49e30sa249L1tcdTIwMDAtXHUyMDZGXHUyRTAwLVx1MkU3RlxcJyEiIyQlJigpKissLi86Ozw9Pj9AW1xdXmB7fH1+XS9nO2Z1bmN0aW9uIHduKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24geG4oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiIiO3ZhciB0PWUu''@;'; put 'put ''dHJpbSgpLnJlcGxhY2UoL1tBLVpdKy9nLHduKS5yZXBsYWNlKC88W14+XSs+L2csIiIpLnJlcGxhY2Uoa24sIiIpLnJlcGxhY2UoL1xzL2csIi0iKS5yZXBsYWNlKC8tKy9nLCItIikucmVwbGFjZSgvXihcZCkvLCJfJDEiKSxlPWJuW3RdLGU9bC5jYWxsKGJuLHQpP2UrMTowO3JldHVybihi''@;'; put 'put ''blt0XT1lKSYmKHQ9dCsiLSIrZSksdH1mdW5jdGlvbiBfbihlLHQpe3JldHVybic8aW1nIGNsYXNzPSJlbW9qaSIgc3JjPSJodHRwczovL2dpdGh1Yi5naXRodWJhc3NldHMuY29tL2ltYWdlcy9pY29ucy9lbW9qaS8nK3QrJy5wbmciIGFsdD0iJyt0KyciIC8+J31mdW5jdGlvbiBTbihlKXt2''@;'; put 'put ''b2lkIDA9PT1lJiYoZT0iIik7dmFyIHI9e307cmV0dXJue3N0cjplPWUmJmUucmVwbGFjZSgvXignfCIpLywiIikucmVwbGFjZSgvKCd8IikkLywiIikucmVwbGFjZSgvKD86Xnxccyk6KFtcdy1dKzo/KT0/KFtcdy0lXSspPy9nLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4tMT09PXQuaW5kZXhP''@;'; put 'put ''ZigiOiIpPyhyW3RdPW4mJm4ucmVwbGFjZSgvJnF1b3Q7L2csIiIpfHwhMCwiIik6ZX0pLnRyaW0oKSxjb25maWc6cn19ZnVuY3Rpb24gQW4oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSIiKSxlLnJlcGxhY2UoLyg8XC8/YS4qPz4pL2dpLCIiKX14bi5jbGVhcj1mdW5jdGlvbigpe2JuPXt9''@;'; put 'put ''fTt2YXIgVG4sRW49ZnQoZnVuY3Rpb24oZSl7dmFyIGEscyxsLGMsdSxyLHQsaT1mdW5jdGlvbihsKXt2YXIgYz0vXGJsYW5nKD86dWFnZSk/LShbXHctXSspXGIvaSx0PTAsJD17bWFudWFsOmwuUHJpc20mJmwuUHJpc20ubWFudWFsLGRpc2FibGVXb3JrZXJNZXNzYWdlSGFuZGxlcjpsLlBy''@;'; put 'put ''aXNtJiZsLlByaXNtLmRpc2FibGVXb3JrZXJNZXNzYWdlSGFuZGxlcix1dGlsOntlbmNvZGU6ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEY/bmV3IEYodC50eXBlLGUodC5jb250ZW50KSx0LmFsaWFzKTpBcnJheS5pc0FycmF5KHQpP3QubWFwKGUpOnQucmVwbGFjZSgvJi9n''@;'; put 'put ''LCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoL1x1MDBhMC9nLCIgIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKX0sb2JqSWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuX19pZHx8T2JqZWN0''@;'; put 'put ''LmRlZmluZVByb3BlcnR5KGUsIl9faWQiLHt2YWx1ZTorK3R9KSxlLl9faWR9LGNsb25lOmZ1bmN0aW9uIG4oZSxyKXt2YXIgaSx0O3N3aXRjaChyPXJ8fHt9LCQudXRpbC50eXBlKGUpKXtjYXNlIk9iamVjdCI6aWYodD0kLnV0aWwub2JqSWQoZSksclt0XSlyZXR1cm4gclt0XTtmb3IodmFy''@;'; put 'put ''IG8gaW4gaT17fSxyW3RdPWksZSllLmhhc093blByb3BlcnR5KG8pJiYoaVtvXT1uKGVbb10scikpO3JldHVybiBpO2Nhc2UiQXJyYXkiOnJldHVybih0PSQudXRpbC5vYmpJZChlKSxyW3RdKT9yW3RdOihpPVtdLHJbdF09aSxlLmZvckVhY2goZnVuY3Rpb24oZSx0KXtpW3RdPW4oZSxyKX0p''@;'; put 'put ''LGkpO2RlZmF1bHQ6cmV0dXJuIGV9fSxnZXRMYW5ndWFnZTpmdW5jdGlvbihlKXtmb3IoO2UmJiFjLnRlc3QoZS5jbGFzc05hbWUpOyllPWUucGFyZW50RWxlbWVudDtyZXR1cm4gZT8oZS5jbGFzc05hbWUubWF0Y2goYyl8fFssIm5vbmUiXSlbMV0udG9Mb3dlckNhc2UoKToibm9uZSJ9LGN1''@;'; put 'put ''cnJlbnRTY3JpcHQ6ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50KXJldHVybiBudWxsO2lmKCJjdXJyZW50U2NyaXB0ImluIGRvY3VtZW50KXJldHVybiBkb2N1bWVudC5jdXJyZW50U2NyaXB0O3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goZSl7dmFyIHQ9KC9h''@;'; put 'put ''dCBbXihcclxuXSpcKCguKik6Lis6LitcKSQvaS5leGVjKGUuc3RhY2spfHxbXSlbMV07aWYodCl7dmFyIG4scj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7Zm9yKG4gaW4gcilpZihyW25dLnNyYz09dClyZXR1cm4gcltuXX1yZXR1cm4gbnVsbH19LGlzQWN0aXZl''@;'; put 'put ''OmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9Im5vLSIrdDtlOyl7dmFyIGk9ZS5jbGFzc0xpc3Q7aWYoaS5jb250YWlucyh0KSlyZXR1cm4hMDtpZihpLmNvbnRhaW5zKHIpKXJldHVybiExO2U9ZS5wYXJlbnRFbGVtZW50fXJldHVybiEhbn19LGxhbmd1YWdlczp7ZXh0ZW5kOmZ1bmN0aW9u''@;'; put 'put ''KGUsdCl7dmFyIG4scj0kLnV0aWwuY2xvbmUoJC5sYW5ndWFnZXNbZV0pO2ZvcihuIGluIHQpcltuXT10W25dO3JldHVybiByfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24obixlLHQscil7dmFyIGksbz0ocj1yfHwkLmxhbmd1YWdlcylbbl0sYT17fTtmb3IoaSBpbiBvKWlmKG8uaGFzT3duUHJv''@;'; put 'put ''cGVydHkoaSkpe2lmKGk9PWUpZm9yKHZhciBzIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShzKSYmKGFbc109dFtzXSk7dC5oYXNPd25Qcm9wZXJ0eShpKXx8KGFbaV09b1tpXSl9dmFyIGw9cltuXTtyZXR1cm4gcltuXT1hLCQubGFuZ3VhZ2VzLkRGUygkLmxhbmd1YWdlcyxmdW5jdGlvbihlLHQp''@;'; put 'put ''e3Q9PT1sJiZlIT1uJiYodGhpc1tlXT1hKX0pLGF9LERGUzpmdW5jdGlvbiBlKHQsbixyLGkpe2k9aXx8e307dmFyIG8sYSxzLGw9JC51dGlsLm9iaklkO2ZvcihvIGluIHQpe3QuaGFzT3duUHJvcGVydHkobykmJihuLmNhbGwodCxvLHRbb10scnx8byksYT10W29dLCJPYmplY3QiIT09KHM9''@;'; put 'put ''JC51dGlsLnR5cGUoYSkpfHxpW2woYSldPyJBcnJheSIhPT1zfHxpW2woYSldfHwoaVtsKGEpXT0hMCxlKGEsbixvLGkpKTooaVtsKGEpXT0hMCxlKGEsbixudWxsLGkpKSl9fX0scGx1Z2luczp7fSxoaWdobGlnaHRBbGw6ZnVuY3Rpb24oZSx0KXskLmhpZ2hsaWdodEFsbFVuZGVyKGRvY3Vt''@;'; put 'put ''ZW50LGUsdCl9LGhpZ2hsaWdodEFsbFVuZGVyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj17Y2FsbGJhY2s6bixjb250YWluZXI6ZSxzZWxlY3RvcjonY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLCBbY2xhc3MqPSJsYW5ndWFnZS0iXSBjb2RlLCBjb2RlW2NsYXNzKj0ibGFuZy0iXSwgW2NsYXNz''@;'; put 'put ''Kj0ibGFuZy0iXSBjb2RlJ307JC5ob29rcy5ydW4oImJlZm9yZS1oaWdobGlnaHRhbGwiLHIpLHIuZWxlbWVudHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KHIuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoci5zZWxlY3RvcikpLCQuaG9va3MucnVuKCJiZWZvcmUtYWxsLWVsZW1l''@;'; put 'put ''bnRzLWhpZ2hsaWdodCIscik7Zm9yKHZhciBpLG89MDtpPXIuZWxlbWVudHNbbysrXTspJC5oaWdobGlnaHRFbGVtZW50KGksITA9PT10LHIuY2FsbGJhY2spfSxoaWdobGlnaHRFbGVtZW50OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0kLnV0aWwuZ2V0TGFuZ3VhZ2UoZSksaT0kLmxhbmd1YWdl''@;'; put 'put ''c1tyXTtlLmNsYXNzTmFtZT1lLmNsYXNzTmFtZS5yZXBsYWNlKGMsIiIpLnJlcGxhY2UoL1xzKy9nLCIgIikrIiBsYW5ndWFnZS0iK3I7dmFyIG89ZS5wYXJlbnRFbGVtZW50O28mJiJwcmUiPT09by5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYoby5jbGFzc05hbWU9by5jbGFzc05hbWUucmVw''@;'; put 'put ''bGFjZShjLCIiKS5yZXBsYWNlKC9ccysvZywiICIpKyIgbGFuZ3VhZ2UtIityKTt2YXIgYT17ZWxlbWVudDplLGxhbmd1YWdlOnIsZ3JhbW1hcjppLGNvZGU6ZS50ZXh0Q29udGVudH07ZnVuY3Rpb24gcyhlKXthLmhpZ2hsaWdodGVkQ29kZT1lLCQuaG9va3MucnVuKCJiZWZvcmUtaW5zZXJ0''@;'; put 'put ''IixhKSxhLmVsZW1lbnQuaW5uZXJIVE1MPWEuaGlnaGxpZ2h0ZWRDb2RlLCQuaG9va3MucnVuKCJhZnRlci1oaWdobGlnaHQiLGEpLCQuaG9va3MucnVuKCJjb21wbGV0ZSIsYSksbiYmbi5jYWxsKGEuZWxlbWVudCl9aWYoJC5ob29rcy5ydW4oImJlZm9yZS1zYW5pdHktY2hlY2siLGEpLCFh''@;'; put 'put ''LmNvZGUpcmV0dXJuICQuaG9va3MucnVuKCJjb21wbGV0ZSIsYSksdm9pZChuJiZuLmNhbGwoYS5lbGVtZW50KSk7JC5ob29rcy5ydW4oImJlZm9yZS1oaWdobGlnaHQiLGEpLGEuZ3JhbW1hcj90JiZsLldvcmtlcj8oKHQ9bmV3IFdvcmtlcigkLmZpbGVuYW1lKSkub25tZXNzYWdlPWZ1bmN0''@;'; put 'put ''aW9uKGUpe3MoZS5kYXRhKX0sdC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7bGFuZ3VhZ2U6YS5sYW5ndWFnZSxjb2RlOmEuY29kZSxpbW1lZGlhdGVDbG9zZTohMH0pKSk6cygkLmhpZ2hsaWdodChhLmNvZGUsYS5ncmFtbWFyLGEubGFuZ3VhZ2UpKTpzKCQudXRpbC5lbmNvZGUoYS5j''@;'; put 'put ''b2RlKSl9LGhpZ2hsaWdodDpmdW5jdGlvbihlLHQsbil7bj17Y29kZTplLGdyYW1tYXI6dCxsYW5ndWFnZTpufTtyZXR1cm4gJC5ob29rcy5ydW4oImJlZm9yZS10b2tlbml6ZSIsbiksbi50b2tlbnM9JC50b2tlbml6ZShuLmNvZGUsbi5ncmFtbWFyKSwkLmhvb2tzLnJ1bigiYWZ0ZXItdG9r''@;'; put 'put ''ZW5pemUiLG4pLEYuc3RyaW5naWZ5KCQudXRpbC5lbmNvZGUobi50b2tlbnMpLG4ubGFuZ3VhZ2UpfSx0b2tlbml6ZTpmdW5jdGlvbihlLHQpe3ZhciBuPXQucmVzdDtpZihuKXtmb3IodmFyIHIgaW4gbil0W3JdPW5bcl07ZGVsZXRlIHQucmVzdH12YXIgaT1uZXcgbztyZXR1cm4gTChpLGku''@;'; put 'put ''aGVhZCxlKSxmdW5jdGlvbiBlKHQsbixyLGksbyxhKXtmb3IodmFyIHMgaW4gcilpZihyLmhhc093blByb3BlcnR5KHMpJiZyW3NdKXt2YXIgbD1yW3NdO2w9QXJyYXkuaXNBcnJheShsKT9sOltsXTtmb3IodmFyIGM9MDtjPGwubGVuZ3RoOysrYyl7aWYoYSYmYS5jYXVzZT09cysiLCIrYyly''@;'; put 'put ''ZXR1cm47dmFyIHUscD1sW2NdLGg9cC5pbnNpZGUsZD0hIXAubG9va2JlaGluZCxmPSEhcC5ncmVlZHksZz1wLmFsaWFzO2YmJiFwLnBhdHRlcm4uZ2xvYmFsJiYodT1wLnBhdHRlcm4udG9TdHJpbmcoKS5tYXRjaCgvW2ltc3V5XSokLylbMF0scC5wYXR0ZXJuPVJlZ0V4cChwLnBhdHRlcm4u''@;'; put 'put ''c291cmNlLHUrImciKSk7Zm9yKHZhciBtPXAucGF0dGVybnx8cCx2PWkubmV4dCx5PW87diE9PW4udGFpbCYmIShhJiZ5Pj1hLnJlYWNoKTt5Kz12LnZhbHVlLmxlbmd0aCx2PXYubmV4dCl7dmFyIGI9di52YWx1ZTtpZihuLmxlbmd0aD50Lmxlbmd0aClyZXR1cm47aWYoIShiIGluc3RhbmNl''@;'; put 'put ''b2YgRikpe3ZhciBrLHc9MTtpZihmKXtpZighKGs9QyhtLHksdCxkKSkpYnJlYWs7dmFyIHg9ay5pbmRleCxfPWsuaW5kZXgra1swXS5sZW5ndGgsUz15O2ZvcihTKz12LnZhbHVlLmxlbmd0aDtTPD14Oyl2PXYubmV4dCxTKz12LnZhbHVlLmxlbmd0aDtpZihTLT12LnZhbHVlLmxlbmd0aCx5''@;'; put 'put ''PVMsdi52YWx1ZSBpbnN0YW5jZW9mIEYpY29udGludWU7Zm9yKHZhciBBPXY7QSE9PW4udGFpbCYmKFM8X3x8InN0cmluZyI9PXR5cGVvZiBBLnZhbHVlKTtBPUEubmV4dCl3KyssUys9QS52YWx1ZS5sZW5ndGg7dy0tLGI9dC5zbGljZSh5LFMpLGsuaW5kZXgtPXl9ZWxzZSBpZighKGs9Qyht''@;'; put 'put ''LDAsYixkKSkpY29udGludWU7dmFyIHg9ay5pbmRleCxUPWtbMF0sRT1iLnNsaWNlKDAseCksUj1iLnNsaWNlKHgrVC5sZW5ndGgpLE89eStiLmxlbmd0aDthJiZPPmEucmVhY2gmJihhLnJlYWNoPU8pO3ZhciBiPXYucHJldjtFJiYoYj1MKG4sYixFKSx5Kz1FLmxlbmd0aCkseihuLGIsdyk7''@;'; put 'put ''dmFyIFQ9bmV3IEYocyxoPyQudG9rZW5pemUoVCxoKTpULGcsVCk7dj1MKG4sYixUKSxSJiZMKG4sdixSKSwxPHcmJmUodCxuLHIsdi5wcmV2LHkse2NhdXNlOnMrIiwiK2MscmVhY2g6T30pfX19fX0oZSxpLHQsaS5oZWFkLDApLGZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5oZWFkLm5leHQ7''@;'; put 'put ''Zm9yKDtuIT09ZS50YWlsOyl0LnB1c2gobi52YWx1ZSksbj1uLm5leHQ7cmV0dXJuIHR9KGkpfSxob29rczp7YWxsOnt9LGFkZDpmdW5jdGlvbihlLHQpe3ZhciBuPSQuaG9va3MuYWxsO25bZV09bltlXXx8W10sbltlXS5wdXNoKHQpfSxydW46ZnVuY3Rpb24oZSx0KXt2YXIgbj0kLmhvb2tz''@;'; put 'put ''LmFsbFtlXTtpZihuJiZuLmxlbmd0aClmb3IodmFyIHIsaT0wO3I9bltpKytdOylyKHQpfX0sVG9rZW46Rn07ZnVuY3Rpb24gRihlLHQsbixyKXt0aGlzLnR5cGU9ZSx0aGlzLmNvbnRlbnQ9dCx0aGlzLmFsaWFzPW4sdGhpcy5sZW5ndGg9MHwocnx8IiIpLmxlbmd0aH1mdW5jdGlvbiBDKGUs''@;'; put 'put ''dCxuLHIpe2UubGFzdEluZGV4PXQ7bj1lLmV4ZWMobik7cmV0dXJuIG4mJnImJm5bMV0mJihyPW5bMV0ubGVuZ3RoLG4uaW5kZXgrPXIsblswXT1uWzBdLnNsaWNlKHIpKSxufWZ1bmN0aW9uIG8oKXt2YXIgZT17dmFsdWU6bnVsbCxwcmV2Om51bGwsbmV4dDpudWxsfSx0PXt2YWx1ZTpudWxs''@;'; put 'put ''LHByZXY6ZSxuZXh0Om51bGx9O2UubmV4dD10LHRoaXMuaGVhZD1lLHRoaXMudGFpbD10LHRoaXMubGVuZ3RoPTB9ZnVuY3Rpb24gTChlLHQsbil7dmFyIHI9dC5uZXh0LG49e3ZhbHVlOm4scHJldjp0LG5leHQ6cn07cmV0dXJuIHQubmV4dD1uLHIucHJldj1uLGUubGVuZ3RoKyssbn1mdW5j''@;'; put 'put ''dGlvbiB6KGUsdCxuKXtmb3IodmFyIHI9dC5uZXh0LGk9MDtpPG4mJnIhPT1lLnRhaWw7aSsrKXI9ci5uZXh0Oyh0Lm5leHQ9cikucHJldj10LGUubGVuZ3RoLT1pfWlmKGwuUHJpc209JCxGLnN0cmluZ2lmeT1mdW5jdGlvbiB0KGUsbil7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBl''@;'; put 'put ''O2lmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciByPSIiO3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24oZSl7cis9dChlLG4pfSkscn12YXIgaT17dHlwZTplLnR5cGUsY29udGVudDp0KGUuY29udGVudCxuKSx0YWc6InNwYW4iLGNsYXNzZXM6WyJ0b2tlbiIsZS50eXBlXSxhdHRyaWJ1dGVzOnt9''@;'; put 'put ''LGxhbmd1YWdlOm59LGU9ZS5hbGlhcztlJiYoQXJyYXkuaXNBcnJheShlKT9BcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpLmNsYXNzZXMsZSk6aS5jbGFzc2VzLnB1c2goZSkpLCQuaG9va3MucnVuKCJ3cmFwIixpKTt2YXIgbyxhPSIiO2ZvcihvIGluIGkuYXR0cmlidXRlcylhKz0iICIr''@;'; put 'put ''bysnPSInKyhpLmF0dHJpYnV0ZXNbb118fCIiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpKyciJztyZXR1cm4iPCIraS50YWcrJyBjbGFzcz0iJytpLmNsYXNzZXMuam9pbigiICIpKyciJythKyI+IitpLmNvbnRlbnQrIjwvIitpLnRhZysiPiJ9LCFsLmRvY3VtZW50KXJldHVybiBsLmFkZEV2''@;'; put 'put ''ZW50TGlzdGVuZXImJigkLmRpc2FibGVXb3JrZXJNZXNzYWdlSGFuZGxlcnx8bC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihlKXt2YXIgdD1KU09OLnBhcnNlKGUuZGF0YSksbj10Lmxhbmd1YWdlLGU9dC5jb2RlLHQ9dC5pbW1lZGlhdGVDbG9zZTtsLnBvc3RNZXNzYWdl''@;'; put 'put ''KCQuaGlnaGxpZ2h0KGUsJC5sYW5ndWFnZXNbbl0sbikpLHQmJmwuY2xvc2UoKX0sITEpKSwkO3ZhciBlLG49JC51dGlsLmN1cnJlbnRTY3JpcHQoKTtmdW5jdGlvbiByKCl7JC5tYW51YWx8fCQuaGlnaGxpZ2h0QWxsKCl9cmV0dXJuIG4mJigkLmZpbGVuYW1lPW4uc3JjLG4uaGFzQXR0cmli''@;'; put 'put ''dXRlKCJkYXRhLW1hbnVhbCIpJiYoJC5tYW51YWw9ITApKSwkLm1hbnVhbHx8KCJsb2FkaW5nIj09PShlPWRvY3VtZW50LnJlYWR5U3RhdGUpfHwiaW50ZXJhY3RpdmUiPT09ZSYmbiYmbi5kZWZlcj9kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKTp3aW5k''@;'; put 'put ''b3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocik6d2luZG93LnNldFRpbWVvdXQociwxNikpLCR9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGlu''@;'; put 'put ''c3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU/c2VsZjp7fSk7ZnVuY3Rpb24gcChlLHQpe3ZhciBuPShuPWUuY2xhc3NOYW1lKS5yZXBsYWNlKHIsIiAiKSsiIGxhbmd1YWdlLSIrdDtlLmNsYXNzTmFtZT1uLnJlcGxhY2UoL1xzKy9nLCIgIikudHJpbSgpfWUuZXhwb3J0cyYmKGUuZXhwb3J0''@;'; put 'put ''cz1pKSx2b2lkIDAhPT1kdCYmKGR0LlByaXNtPWkpLGkubGFuZ3VhZ2VzLm1hcmt1cD17Y29tbWVudDovPCEtLVtcc1xTXSo/LS0+Lyxwcm9sb2c6LzxcP1tcc1xTXSs/XD8+Lyxkb2N0eXBlOntwYXR0ZXJuOi88IURPQ1RZUEUoPzpbXj4iJ1tcXV18IlteIl0qInwnW14nXSonKSsoPzpcWyg/''@;'; put 'put ''OltePCInXF1dfCJbXiJdKiJ8J1teJ10qJ3w8KD8hIS0tKXw8IS0tKD86W14tXXwtKD8hLT4pKSotLT4pKlxdXHMqKT8+L2ksZ3JlZWR5OiEwLGluc2lkZTp7ImludGVybmFsLXN1YnNldCI6e3BhdHRlcm46LyhcWylbXHNcU10rKD89XF0+JCkvLGxvb2tiZWhpbmQ6ITAsZ3JlZWR5OiEwLGlu''@;'; put 'put ''c2lkZTpudWxsfSxzdHJpbmc6e3BhdHRlcm46LyJbXiJdKiJ8J1teJ10qJy8sZ3JlZWR5OiEwfSxwdW5jdHVhdGlvbjovXjwhfD4kfFtbXF1dLywiZG9jdHlwZS10YWciOi9eRE9DVFlQRS8sbmFtZTovW15cczw+JyJdKy99fSxjZGF0YTovPCFcW0NEQVRBXFtbXHNcU10qP11dPi9pLHRhZzp7''@;'; put 'put ''cGF0dGVybjovPFwvPyg/IVxkKVteXHM+XC89JDwlXSsoPzpccyg/OlxzKlteXHM+XC89XSsoPzpccyo9XHMqKD86IlteIl0qInwnW14nXSonfFteXHMnIj49XSsoPz1bXHM+XSkpfCg/PVtccy8+XSkpKSspP1xzKlwvPz4vLGdyZWVkeTohMCxpbnNpZGU6e3RhZzp7cGF0dGVybjovXjxcLz9b''@;'; put 'put ''XlxzPlwvXSsvLGluc2lkZTp7cHVuY3R1YXRpb246L148XC8/LyxuYW1lc3BhY2U6L15bXlxzPlwvOl0rOi99fSwiYXR0ci12YWx1ZSI6e3BhdHRlcm46Lz1ccyooPzoiW14iXSoifCdbXiddKid8W15ccyciPj1dKykvLGluc2lkZTp7cHVuY3R1YXRpb246W3twYXR0ZXJuOi9ePS8sYWxpYXM6''@;'; put 'put ''ImF0dHItZXF1YWxzIn0sLyJ8Jy9dfX0scHVuY3R1YXRpb246L1wvPz4vLCJhdHRyLW5hbWUiOntwYXR0ZXJuOi9bXlxzPlwvXSsvLGluc2lkZTp7bmFtZXNwYWNlOi9eW15ccz5cLzpdKzovfX19fSxlbnRpdHk6W3twYXR0ZXJuOi8mW1xkYS16XXsxLDh9Oy9pLGFsaWFzOiJuYW1lZC1lbnRp''@;'; put 'put ''dHkifSwvJiN4P1tcZGEtZl17MSw4fTsvaV19LGkubGFuZ3VhZ2VzLm1hcmt1cC50YWcuaW5zaWRlWyJhdHRyLXZhbHVlIl0uaW5zaWRlLmVudGl0eT1pLmxhbmd1YWdlcy5tYXJrdXAuZW50aXR5LGkubGFuZ3VhZ2VzLm1hcmt1cC5kb2N0eXBlLmluc2lkZVsiaW50ZXJuYWwtc3Vic2V0Il0u''@;'; put 'put ''aW5zaWRlPWkubGFuZ3VhZ2VzLm1hcmt1cCxpLmhvb2tzLmFkZCgid3JhcCIsZnVuY3Rpb24oZSl7ImVudGl0eSI9PT1lLnR5cGUmJihlLmF0dHJpYnV0ZXMudGl0bGU9ZS5jb250ZW50LnJlcGxhY2UoLyZhbXA7LywiJiIpKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLmxhbmd1YWdlcy5t''@;'; put 'put ''YXJrdXAudGFnLCJhZGRJbmxpbmVkIix7dmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj17fTtuWyJsYW5ndWFnZS0iK3RdPXtwYXR0ZXJuOi8oXjwhXFtDREFUQVxbKVtcc1xTXSs/KD89XF1cXT4kKS9pLGxvb2tiZWhpbmQ6ITAsaW5zaWRlOmkubGFuZ3VhZ2VzW3RdfSxuLmNkYXRhPS9ePCFc''@;'; put 'put ''W0NEQVRBXFt8XF1cXT4kL2k7bj17ImluY2x1ZGVkLWNkYXRhIjp7cGF0dGVybjovPCFcW0NEQVRBXFtbXHNcU10qP1xdXF0+L2ksaW5zaWRlOm59fTtuWyJsYW5ndWFnZS0iK3RdPXtwYXR0ZXJuOi9bXHNcU10rLyxpbnNpZGU6aS5sYW5ndWFnZXNbdF19O3Q9e307dFtlXT17cGF0dGVybjpS''@;'; put 'put ''ZWdFeHAoLyg8X19bXj5dKj4pKD86PCFcW0NEQVRBXFsoPzpbXlxdXXxcXSg/IVxdPikpKlxdXF0+fCg/ITwhXFtDREFUQVxbKVtcc1xTXSkqPyg/PTxcL19fPikvLnNvdXJjZS5yZXBsYWNlKC9fXy9nLGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSwiaSIpLGxvb2tiZWhpbmQ6ITAsZ3JlZWR5OiEw''@;'; put 'put ''LGluc2lkZTpufSxpLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoIm1hcmt1cCIsImNkYXRhIix0KX19KSxpLmxhbmd1YWdlcy5odG1sPWkubGFuZ3VhZ2VzLm1hcmt1cCxpLmxhbmd1YWdlcy5tYXRobWw9aS5sYW5ndWFnZXMubWFya3VwLGkubGFuZ3VhZ2VzLnN2Zz1pLmxhbmd1YWdlcy5tYXJr''@;'; put 'put ''dXAsaS5sYW5ndWFnZXMueG1sPWkubGFuZ3VhZ2VzLmV4dGVuZCgibWFya3VwIix7fSksaS5sYW5ndWFnZXMuc3NtbD1pLmxhbmd1YWdlcy54bWwsaS5sYW5ndWFnZXMuYXRvbT1pLmxhbmd1YWdlcy54bWwsaS5sYW5ndWFnZXMucnNzPWkubGFuZ3VhZ2VzLnhtbCxmdW5jdGlvbihlKXt2YXIg''@;'; put 'put ''dD0vKCJ8JykoPzpcXCg/OlxyXG58W1xzXFNdKXwoPyFcMSlbXlxcXHJcbl0pKlwxLztlLmxhbmd1YWdlcy5jc3M9e2NvbW1lbnQ6L1wvXCpbXHNcU10qP1wqXC8vLGF0cnVsZTp7cGF0dGVybjovQFtcdy1dKD86W147e1xzXXxccysoPyFbXHN7XSkpKig/Ojt8KD89XHMqXHspKS8saW5zaWRl''@;'; put 'put ''OntydWxlOi9eQFtcdy1dKy8sInNlbGVjdG9yLWZ1bmN0aW9uLWFyZ3VtZW50Ijp7cGF0dGVybjovKFxic2VsZWN0b3JccypcKFxzKig/IVtccyldKSkoPzpbXigpXHNdfFxzKyg/IVtccyldKXxcKCg/OlteKCldfFwoW14oKV0qXCkpKlwpKSsoPz1ccypcKSkvLGxvb2tiZWhpbmQ6ITAsYWxp''@;'; put 'put ''YXM6InNlbGVjdG9yIn0sa2V5d29yZDp7cGF0dGVybjovKF58W15cdy1dKSg/OmFuZHxub3R8b25seXxvcikoPyFbXHctXSkvLGxvb2tiZWhpbmQ6ITB9fX0sdXJsOntwYXR0ZXJuOlJlZ0V4cCgiXFxidXJsXFwoKD86Iit0LnNvdXJjZSsifCIrLyg/OlteXFxcclxuKCkiJ118XFxbXHNcU10p''@;'; put 'put ''Ki8uc291cmNlKyIpXFwpIiwiaSIpLGdyZWVkeTohMCxpbnNpZGU6e2Z1bmN0aW9uOi9edXJsL2kscHVuY3R1YXRpb246L15cKHxcKSQvLHN0cmluZzp7cGF0dGVybjpSZWdFeHAoIl4iK3Quc291cmNlKyIkIiksYWxpYXM6InVybCJ9fX0sc2VsZWN0b3I6UmVnRXhwKCJbXnt9XFxzXSg/Olte''@;'; put 'put ''e307XCInXFxzXXxcXHMrKD8hW1xcc3tdKXwiK3Quc291cmNlKyIpKig/PVxccypcXHspIiksc3RyaW5nOntwYXR0ZXJuOnQsZ3JlZWR5OiEwfSxwcm9wZXJ0eTovKD8hXHMpWy1fYS16XHhBMC1cdUZGRkZdKD86KD8hXHMpWy1cd1x4QTAtXHVGRkZGXSkqKD89XHMqOikvaSxpbXBvcnRhbnQ6''@;'; put 'put ''LyFpbXBvcnRhbnRcYi9pLGZ1bmN0aW9uOi9bLWEtejAtOV0rKD89XCgpL2kscHVuY3R1YXRpb246L1soKXt9OzosXS99LGUubGFuZ3VhZ2VzLmNzcy5hdHJ1bGUuaW5zaWRlLnJlc3Q9ZS5sYW5ndWFnZXMuY3NzO3Q9ZS5sYW5ndWFnZXMubWFya3VwO3QmJih0LnRhZy5hZGRJbmxpbmVkKCJz''@;'; put 'put ''dHlsZSIsImNzcyIpLGUubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiaW5zaWRlIiwiYXR0ci12YWx1ZSIseyJzdHlsZS1hdHRyIjp7cGF0dGVybjovKF58WyInXHNdKXN0eWxlXHMqPVxzKig/OiJbXiJdKiJ8J1teJ10qJykvaSxsb29rYmVoaW5kOiEwLGluc2lkZTp7ImF0dHItdmFsdWUiOntw''@;'; put 'put ''YXR0ZXJuOi89XHMqKD86IlteIl0qInwnW14nXSonfFteXHMnIj49XSspLyxpbnNpZGU6e3N0eWxlOntwYXR0ZXJuOi8oWyInXSlbXHNcU10rKD89WyInXSQpLyxsb29rYmVoaW5kOiEwLGFsaWFzOiJsYW5ndWFnZS1jc3MiLGluc2lkZTplLmxhbmd1YWdlcy5jc3N9LHB1bmN0dWF0aW9uOlt7''@;'; put 'put ''cGF0dGVybjovXj0vLGFsaWFzOiJhdHRyLWVxdWFscyJ9LC8ifCcvXX19LCJhdHRyLW5hbWUiOi9ec3R5bGUvaX19fSx0LnRhZykpfShpKSxpLmxhbmd1YWdlcy5jbGlrZT17Y29tbWVudDpbe3BhdHRlcm46LyhefFteXFxdKVwvXCpbXHNcU10qPyg/OlwqXC98JCkvLGxvb2tiZWhpbmQ6ITAs''@;'; put 'put ''Z3JlZWR5OiEwfSx7cGF0dGVybjovKF58W15cXDpdKVwvXC8uKi8sbG9va2JlaGluZDohMCxncmVlZHk6ITB9XSxzdHJpbmc6e3BhdHRlcm46LyhbIiddKSg/OlxcKD86XHJcbnxbXHNcU10pfCg/IVwxKVteXFxcclxuXSkqXDEvLGdyZWVkeTohMH0sImNsYXNzLW5hbWUiOntwYXR0ZXJuOi8o''@;'; put 'put ''XGIoPzpjbGFzc3xpbnRlcmZhY2V8ZXh0ZW5kc3xpbXBsZW1lbnRzfHRyYWl0fGluc3RhbmNlb2Z8bmV3KVxzK3xcYmNhdGNoXHMrXCgpW1x3LlxcXSsvaSxsb29rYmVoaW5kOiEwLGluc2lkZTp7cHVuY3R1YXRpb246L1suXFxdL319LGtleXdvcmQ6L1xiKD86aWZ8ZWxzZXx3aGlsZXxkb3xm''@;'; put 'put ''b3J8cmV0dXJufGlufGluc3RhbmNlb2Z8ZnVuY3Rpb258bmV3fHRyeXx0aHJvd3xjYXRjaHxmaW5hbGx5fG51bGx8YnJlYWt8Y29udGludWUpXGIvLGJvb2xlYW46L1xiKD86dHJ1ZXxmYWxzZSlcYi8sZnVuY3Rpb246L1x3Kyg/PVwoKS8sbnVtYmVyOi9cYjB4W1xkYS1mXStcYnwoPzpcYlxk''@;'; put 'put ''Kyg/OlwuXGQqKT98XEJcLlxkKykoPzplWystXT9cZCspPy9pLG9wZXJhdG9yOi9bPD5dPT98WyE9XT0/PT98LS0/fFwrXCs/fCYmP3xcfFx8P3xbPyovfl4lXS8scHVuY3R1YXRpb246L1t7fVtcXTsoKSwuOl0vfSxpLmxhbmd1YWdlcy5qYXZhc2NyaXB0PWkubGFuZ3VhZ2VzLmV4dGVuZCgi''@;'; put 'put ''Y2xpa2UiLHsiY2xhc3MtbmFtZSI6W2kubGFuZ3VhZ2VzLmNsaWtlWyJjbGFzcy1uYW1lIl0se3BhdHRlcm46LyhefFteJFx3XHhBMC1cdUZGRkZdKSg/IVxzKVtfJEEtWlx4QTAtXHVGRkZGXSg/Oig/IVxzKVskXHdceEEwLVx1RkZGRl0pKig/PVwuKD86cHJvdG90eXBlfGNvbnN0cnVjdG9y''@;'; put 'put ''KSkvLGxvb2tiZWhpbmQ6ITB9XSxrZXl3b3JkOlt7cGF0dGVybjovKCg/Ol58fSlccyopKD86Y2F0Y2h8ZmluYWxseSlcYi8sbG9va2JlaGluZDohMH0se3BhdHRlcm46LyhefFteLl18XC5cLlwuXHMqKVxiKD86YXN8YXN5bmMoPz1ccyooPzpmdW5jdGlvblxifFwofFskXHdceEEwLVx1RkZG''@;'; put 'put ''Rl18JCkpfGF3YWl0fGJyZWFrfGNhc2V8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVmYXVsdHxkZWxldGV8ZG98ZWxzZXxlbnVtfGV4cG9ydHxleHRlbmRzfGZvcnxmcm9tfGZ1bmN0aW9ufCg/OmdldHxzZXQpKD89XHMqW1xbJFx3XHhBMC1cdUZGRkZdKXxpZnxpbXBsZW1lbnRz''@;'; put 'put ''fGltcG9ydHxpbnxpbnN0YW5jZW9mfGludGVyZmFjZXxsZXR8bmV3fG51bGx8b2Z8cGFja2FnZXxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmV0dXJufHN0YXRpY3xzdXBlcnxzd2l0Y2h8dGhpc3x0aHJvd3x0cnl8dHlwZW9mfHVuZGVmaW5lZHx2YXJ8dm9pZHx3aGlsZXx3aXRofHlpZWxk''@;'; put 'put ''KVxiLyxsb29rYmVoaW5kOiEwfV0sZnVuY3Rpb246LyM/KD8hXHMpW18kYS16QS1aXHhBMC1cdUZGRkZdKD86KD8hXHMpWyRcd1x4QTAtXHVGRkZGXSkqKD89XHMqKD86XC5ccyooPzphcHBseXxiaW5kfGNhbGwpXHMqKT9cKCkvLG51bWJlcjovXGIoPzooPzowW3hYXSg/OltcZEEtRmEtZl0o''@;'; put 'put ''PzpfW1xkQS1GYS1mXSk/KSt8MFtiQl0oPzpbMDFdKD86X1swMV0pPykrfDBbb09dKD86WzAtN10oPzpfWzAtN10pPykrKW4/fCg/OlxkKD86X1xkKT8pK258TmFOfEluZmluaXR5KVxifCg/OlxiKD86XGQoPzpfXGQpPykrXC4/KD86XGQoPzpfXGQpPykqfFxCXC4oPzpcZCg/Ol9cZCk/KSsp''@;'; put 'put ''KD86W0VlXVsrLV0/KD86XGQoPzpfXGQpPykrKT8vLG9wZXJhdG9yOi8tLXxcK1wrfFwqXCo9P3w9PnwmJj0/fFx8XHw9P3xbIT1dPT18PDw9P3w+Pj4/PT98Wy0rKi8lJnxeIT08Pl09P3xcLnszfXxcP1w/PT98XD9cLj98W346XS99KSxpLmxhbmd1YWdlcy5qYXZhc2NyaXB0WyJjbGFzcy1u''@;'; put 'put ''YW1lIl1bMF0ucGF0dGVybj0vKFxiKD86Y2xhc3N8aW50ZXJmYWNlfGV4dGVuZHN8aW1wbGVtZW50c3xpbnN0YW5jZW9mfG5ldylccyspW1x3LlxcXSsvLGkubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiamF2YXNjcmlwdCIsImtleXdvcmQiLHtyZWdleDp7cGF0dGVybjovKCg/Ol58W14kXHdc''@;'; put 'put ''eEEwLVx1RkZGRi4iJ1xdKVxzXXxcYig/OnJldHVybnx5aWVsZCkpXHMqKVwvKD86XFsoPzpbXlxdXFxcclxuXXxcXC4pKl18XFwufFteL1xcXFtcclxuXSkrXC9bZ2lteXVzXXswLDZ9KD89KD86XHN8XC9cKig/OlteKl18XCooPyFcLykpKlwqXC8pKig/OiR8W1xyXG4sLjs6fSlcXV18XC9c''@;'; put 'put ''LykpLyxsb29rYmVoaW5kOiEwLGdyZWVkeTohMCxpbnNpZGU6eyJyZWdleC1zb3VyY2UiOntwYXR0ZXJuOi9eKFwvKVtcc1xTXSsoPz1cL1thLXpdKiQpLyxsb29rYmVoaW5kOiEwLGFsaWFzOiJsYW5ndWFnZS1yZWdleCIsaW5zaWRlOmkubGFuZ3VhZ2VzLnJlZ2V4fSwicmVnZXgtZmxhZ3Mi''@;'; put 'put ''Oi9bYS16XSskLywicmVnZXgtZGVsaW1pdGVyIjovXlwvfFwvJC99fSwiZnVuY3Rpb24tdmFyaWFibGUiOntwYXR0ZXJuOi8jPyg/IVxzKVtfJGEtekEtWlx4QTAtXHVGRkZGXSg/Oig/IVxzKVskXHdceEEwLVx1RkZGRl0pKig/PVxzKls9Ol1ccyooPzphc3luY1xzKik/KD86XGJmdW5jdGlv''@;'; put 'put ''blxifCg/OlwoKD86W14oKV18XChbXigpXSpcKSkqXCl8KD8hXHMpW18kYS16QS1aXHhBMC1cdUZGRkZdKD86KD8hXHMpWyRcd1x4QTAtXHVGRkZGXSkqKVxzKj0+KSkvLGFsaWFzOiJmdW5jdGlvbiJ9LHBhcmFtZXRlcjpbe3BhdHRlcm46LyhmdW5jdGlvbig/OlxzKyg/IVxzKVtfJGEtekEt''@;'; put 'put ''Wlx4QTAtXHVGRkZGXSg/Oig/IVxzKVskXHdceEEwLVx1RkZGRl0pKik/XHMqXChccyopKD8hXHMpKD86W14oKVxzXXxccysoPyFbXHMpXSl8XChbXigpXSpcKSkrKD89XHMqXCkpLyxsb29rYmVoaW5kOiEwLGluc2lkZTppLmxhbmd1YWdlcy5qYXZhc2NyaXB0fSx7cGF0dGVybjovKD8hXHMp''@;'; put 'put ''W18kYS16QS1aXHhBMC1cdUZGRkZdKD86KD8hXHMpWyRcd1x4QTAtXHVGRkZGXSkqKD89XHMqPT4pL2ksaW5zaWRlOmkubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LHtwYXR0ZXJuOi8oXChccyopKD8hXHMpKD86W14oKVxzXXxccysoPyFbXHMpXSl8XChbXigpXSpcKSkrKD89XHMqXClccyo9Pikv''@;'; put 'put ''LGxvb2tiZWhpbmQ6ITAsaW5zaWRlOmkubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LHtwYXR0ZXJuOi8oKD86XGJ8XHN8XikoPyEoPzphc3xhc3luY3xhd2FpdHxicmVha3xjYXNlfGNhdGNofGNsYXNzfGNvbnN0fGNvbnRpbnVlfGRlYnVnZ2VyfGRlZmF1bHR8ZGVsZXRlfGRvfGVsc2V8ZW51bXxl''@;'; put 'put ''eHBvcnR8ZXh0ZW5kc3xmaW5hbGx5fGZvcnxmcm9tfGZ1bmN0aW9ufGdldHxpZnxpbXBsZW1lbnRzfGltcG9ydHxpbnxpbnN0YW5jZW9mfGludGVyZmFjZXxsZXR8bmV3fG51bGx8b2Z8cGFja2FnZXxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmV0dXJufHNldHxzdGF0aWN8c3VwZXJ8c3dp''@;'; put 'put ''dGNofHRoaXN8dGhyb3d8dHJ5fHR5cGVvZnx1bmRlZmluZWR8dmFyfHZvaWR8d2hpbGV8d2l0aHx5aWVsZCkoPyFbJFx3XHhBMC1cdUZGRkZdKSkoPzooPyFccylbXyRhLXpBLVpceEEwLVx1RkZGRl0oPzooPyFccylbJFx3XHhBMC1cdUZGRkZdKSpccyopXChccyp8XF1ccypcKFxzKikoPyFc''@;'; put 'put ''cykoPzpbXigpXHNdfFxzKyg/IVtccyldKXxcKFteKCldKlwpKSsoPz1ccypcKVxzKlx7KS8sbG9va2JlaGluZDohMCxpbnNpZGU6aS5sYW5ndWFnZXMuamF2YXNjcmlwdH1dLGNvbnN0YW50Oi9cYltBLVpdKD86W0EtWl9dfFxkeD8pKlxiL30pLGkubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgi''@;'; put 'put ''amF2YXNjcmlwdCIsInN0cmluZyIseyJ0ZW1wbGF0ZS1zdHJpbmciOntwYXR0ZXJuOi9gKD86XFxbXHNcU118XCR7KD86W157fV18eyg/Oltee31dfHtbXn1dKn0pKn0pK318KD8hXCR7KVteXFxgXSkqYC8sZ3JlZWR5OiEwLGluc2lkZTp7InRlbXBsYXRlLXB1bmN0dWF0aW9uIjp7cGF0dGVy''@;'; put 'put ''bjovXmB8YCQvLGFsaWFzOiJzdHJpbmcifSxpbnRlcnBvbGF0aW9uOntwYXR0ZXJuOi8oKD86XnxbXlxcXSkoPzpcXHsyfSkqKVwkeyg/Oltee31dfHsoPzpbXnt9XXx7W159XSp9KSp9KSt9Lyxsb29rYmVoaW5kOiEwLGluc2lkZTp7ImludGVycG9sYXRpb24tcHVuY3R1YXRpb24iOntwYXR0''@;'; put 'put ''ZXJuOi9eXCR7fH0kLyxhbGlhczoicHVuY3R1YXRpb24ifSxyZXN0OmkubGFuZ3VhZ2VzLmphdmFzY3JpcHR9fSxzdHJpbmc6L1tcc1xTXSsvfX19KSxpLmxhbmd1YWdlcy5tYXJrdXAmJmkubGFuZ3VhZ2VzLm1hcmt1cC50YWcuYWRkSW5saW5lZCgic2NyaXB0IiwiamF2YXNjcmlwdCIpLGku''@;'; put 'put ''bGFuZ3VhZ2VzLmpzPWkubGFuZ3VhZ2VzLmphdmFzY3JpcHQsInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLlByaXNtJiZzZWxmLmRvY3VtZW50JiYoRWxlbWVudC5wcm90b3R5cGUubWF0Y2hlc3x8KEVsZW1lbnQucHJvdG90eXBlLm1hdGNoZXM9RWxlbWVudC5wcm90b3R5cGUubXNN''@;'; put 'put ''YXRjaGVzU2VsZWN0b3J8fEVsZW1lbnQucHJvdG90eXBlLndlYmtpdE1hdGNoZXNTZWxlY3RvciksYT13aW5kb3cuUHJpc20scz17anM6ImphdmFzY3JpcHQiLHB5OiJweXRob24iLHJiOiJydWJ5IixwczE6InBvd2Vyc2hlbGwiLHBzbTE6InBvd2Vyc2hlbGwiLHNoOiJiYXNoIixiYXQ6ImJh''@;'; put 'put ''dGNoIixoOiJjIix0ZXg6ImxhdGV4In0sdT0icHJlW2RhdGEtc3JjXTpub3QoWyIrKGw9ImRhdGEtc3JjLXN0YXR1cyIpKyc9ImxvYWRlZCJdKTpub3QoWycrbCsnPSInKyhjPSJsb2FkaW5nIikrJyJdKScscj0vXGJsYW5nKD86dWFnZSk/LShbXHctXSspXGIvaSxhLmhvb2tzLmFkZCgiYmVm''@;'; put 'put ''b3JlLWhpZ2hsaWdodGFsbCIsZnVuY3Rpb24oZSl7ZS5zZWxlY3Rvcis9IiwgIit1fSksYS5ob29rcy5hZGQoImJlZm9yZS1zYW5pdHktY2hlY2siLGZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG89ZS5lbGVtZW50O28ubWF0Y2hlcyh1KSYmKGUuY29kZT0iIixvLnNldEF0dHJpYnV0ZShsLGMp''@;'; put 'put ''LCh0PW8uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiQ09ERSIpKSkudGV4dENvbnRlbnQ9IkxvYWRpbmfigKYiLG49by5nZXRBdHRyaWJ1dGUoImRhdGEtc3JjIiksIm5vbmUiPT09KGU9ZS5sYW5ndWFnZSkmJihyPSgvXC4oXHcrKSQvLmV4ZWMobil8fFssIm5vbmUiXSlb''@;'; put 'put ''MV0sZT1zW3JdfHxyKSxwKHQsZSkscChvLGUpLChyPWEucGx1Z2lucy5hdXRvbG9hZGVyKSYmci5sb2FkTGFuZ3VhZ2VzKGUpLChpPW5ldyBYTUxIdHRwUmVxdWVzdCkub3BlbigiR0VUIixuLCEwKSxpLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PWkucmVhZHlTdGF0ZSYmKGku''@;'; put 'put ''c3RhdHVzPDQwMCYmaS5yZXNwb25zZVRleHQ/KG8uc2V0QXR0cmlidXRlKGwsImxvYWRlZCIpLHQudGV4dENvbnRlbnQ9aS5yZXNwb25zZVRleHQsYS5oaWdobGlnaHRFbGVtZW50KHQpKTooby5zZXRBdHRyaWJ1dGUobCwiZmFpbGVkIiksNDAwPD1pLnN0YXR1cz90LnRleHRDb250ZW50PSLi''@;'; put 'put ''nJYgRXJyb3IgIitpLnN0YXR1cysiIHdoaWxlIGZldGNoaW5nIGZpbGU6ICIraS5zdGF0dXNUZXh0OnQudGV4dENvbnRlbnQ9IuKcliBFcnJvcjogRmlsZSBkb2VzIG5vdCBleGlzdCBvciBpcyBlbXB0eSIpKX0saS5zZW5kKG51bGwpKX0pLHQ9IShhLnBsdWdpbnMuZmlsZUhpZ2hsaWdodD17''@;'; put 'put ''aGlnaGxpZ2h0OmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPShlfHxkb2N1bWVudCkucXVlcnlTZWxlY3RvckFsbCh1KSxyPTA7dD1uW3IrK107KWEuaGlnaGxpZ2h0RWxlbWVudCh0KX19KSxhLmZpbGVIaWdobGlnaHQ9ZnVuY3Rpb24oKXt0fHwoY29uc29sZS53YXJuKCJQcmlzbS5maWxlSGln''@;'; put 'put ''aGxpZ2h0IGlzIGRlcHJlY2F0ZWQuIFVzZSBgUHJpc20ucGx1Z2lucy5maWxlSGlnaGxpZ2h0LmhpZ2hsaWdodGAgaW5zdGVhZC4iKSx0PSEwKSxhLnBsdWdpbnMuZmlsZUhpZ2hsaWdodC5oaWdobGlnaHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9KTtmdW5jdGlvbiBSbihlLHQpe3JldHVy''@;'; put 'put ''biJfX18iK2UudG9VcHBlckNhc2UoKSt0KyJfX18ifVRuPVByaXNtLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFRuLmxhbmd1YWdlc1sibWFya3VwLXRlbXBsYXRpbmciXT17fSx7YnVpbGRQbGFjZWhvbGRlcnM6e3ZhbHVlOmZ1bmN0aW9uKHIsaSxlLG8pe3ZhciBhO3IubGFuZ3VhZ2U9PT1p''@;'; put 'put ''JiYoYT1yLnRva2VuU3RhY2s9W10sci5jb2RlPXIuY29kZS5yZXBsYWNlKGUsZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG8mJiFvKGUpKXJldHVybiBlO2Zvcih2YXIgdCxuPWEubGVuZ3RoOy0xIT09ci5jb2RlLmluZGV4T2YodD1SbihpLG4pKTspKytuO3JldHVybiBhW25d''@;'; put 'put ''PWUsdH0pLHIuZ3JhbW1hcj1Ubi5sYW5ndWFnZXMubWFya3VwKX19LHRva2VuaXplUGxhY2Vob2xkZXJzOnt2YWx1ZTpmdW5jdGlvbihjLHUpe3ZhciBwLGg7Yy5sYW5ndWFnZT09PXUmJmMudG9rZW5TdGFjayYmKGMuZ3JhbW1hcj1Ubi5sYW5ndWFnZXNbdV0scD0wLGg9T2JqZWN0LmtleXMo''@;'; put 'put ''Yy50b2tlblN0YWNrKSxmdW5jdGlvbiBlKHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJiEocD49aC5sZW5ndGgpO24rKyl7dmFyIHIsaSxvLGEscyxsPXRbbl07InN0cmluZyI9PXR5cGVvZiBsfHxsLmNvbnRlbnQmJiJzdHJpbmciPT10eXBlb2YgbC5jb250ZW50PyhpPWhbcF0sbz1jLnRv''@;'; put 'put ''a2VuU3RhY2tbaV0scj0ic3RyaW5nIj09dHlwZW9mIGw/bDpsLmNvbnRlbnQscz1Sbih1LGkpLC0xPChhPXIuaW5kZXhPZihzKSkmJigrK3AsaT1yLnN1YnN0cmluZygwLGEpLG89bmV3IFRuLlRva2VuKHUsVG4udG9rZW5pemUobyxjLmdyYW1tYXIpLCJsYW5ndWFnZS0iK3UsbyksYT1yLnN1''@;'; put 'put ''YnN0cmluZyhhK3MubGVuZ3RoKSxzPVtdLGkmJnMucHVzaC5hcHBseShzLGUoW2ldKSkscy5wdXNoKG8pLGEmJnMucHVzaC5hcHBseShzLGUoW2FdKSksInN0cmluZyI9PXR5cGVvZiBsP3Quc3BsaWNlLmFwcGx5KHQsW24sMV0uY29uY2F0KHMpKTpsLmNvbnRlbnQ9cykpOmwuY29udGVudCYm''@;'; put 'put ''ZShsLmNvbnRlbnQpfXJldHVybiB0fShjLnRva2VucykpfX19KTtmdW5jdGlvbiBPbihpLGUpe3ZhciBvPXRoaXM7dGhpcy5jb25maWc9aSx0aGlzLnJvdXRlcj1lLHRoaXMuY2FjaGVUcmVlPXt9LHRoaXMudG9jPVtdLHRoaXMuY2FjaGVUT0M9e30sdGhpcy5saW5rVGFyZ2V0PWkuZXh0ZXJu''@;'; put 'put ''YWxMaW5rVGFyZ2V0fHwiX2JsYW5rIix0aGlzLmxpbmtSZWw9Il9ibGFuayI9PT10aGlzLmxpbmtUYXJnZXQ/aS5leHRlcm5hbExpbmtSZWx8fCJub29wZW5lciI6IiIsdGhpcy5jb250ZW50QmFzZT1lLmdldEJhc2VQYXRoKCk7dmFyIHQ9dGhpcy5faW5pdFJlbmRlcmVyKCk7dGhpcy5oZWFk''@;'; put 'put ''aW5nPXQuaGVhZGluZzt2YXIgYT1yKGU9aS5tYXJrZG93bnx8e30pP2UoZ24sdCk6KGduLnNldE9wdGlvbnMoeShlLHtyZW5kZXJlcjp5KHQsZS5yZW5kZXJlcil9KSksZ24pO3RoaXMuX21hcmtlZD1hLHRoaXMuY29tcGlsZT1mdW5jdGlvbihuKXt2YXIgcj0hMCxlPXMoZnVuY3Rpb24oZSl7''@;'; put 'put ''cj0hMTt2YXIgdD0iIjtyZXR1cm4gbj8odD1jKG4pP2Eobik6YS5wYXJzZXIobiksdD1pLm5vRW1vamk/dDp0LnJlcGxhY2UoLzpcKzE6L2csIjp0aHVtYnN1cDoiKS5yZXBsYWNlKC86LTE6L2csIjp0aHVtYnNkb3duOiIpLnJlcGxhY2UoLzwocHJlfHRlbXBsYXRlfGNvZGUpW14+XSo/Pltc''@;'; put 'put ''c1xTXSs/PFwvKHByZXx0ZW1wbGF0ZXxjb2RlKT4vZyxmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC86L2csIl9fY29sb25fXyIpfSkucmVwbGFjZSgvOihcdys/KTovZ2ksd2luZG93LmVtb2ppZnl8fF9uKS5yZXBsYWNlKC9fX2NvbG9uX18vZywiOiIpLHhuLmNsZWFyKCksdCk6bn0p''@;'; put 'put ''KG4pLHQ9by5yb3V0ZXIucGFyc2UoKS5maWxlO3JldHVybiByP28udG9jPW8uY2FjaGVUT0NbdF06by5jYWNoZVRPQ1t0XT1bXS5jb25jYXQoby50b2MpLGV9fXZhciAkbj17fSxGbj17bWFya2Rvd246ZnVuY3Rpb24oZSl7cmV0dXJue3VybDplfX0sbWVybWFpZDpmdW5jdGlvbihlKXtyZXR1''@;'; put 'put ''cm57dXJsOmV9fSxpZnJhbWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm57aHRtbDonPGlmcmFtZSBzcmM9IicrZSsnIiAnKyh0fHwid2lkdGg9MTAwJSBoZWlnaHQ9NDAwIikrIj48L2lmcmFtZT4ifX0sdmlkZW86ZnVuY3Rpb24oZSx0KXtyZXR1cm57aHRtbDonPHZpZGVvIHNyYz0iJytlKyciICcr''@;'; put 'put ''KHR8fCJjb250cm9scyIpKyI+Tm90IFN1cHBvcnQ8L3ZpZGVvPiJ9fSxhdWRpbzpmdW5jdGlvbihlLHQpe3JldHVybntodG1sOic8YXVkaW8gc3JjPSInK2UrJyIgJysodHx8ImNvbnRyb2xzIikrIj5Ob3QgU3VwcG9ydDwvYXVkaW8+In19LGNvZGU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLm1h''@;'; put 'put ''dGNoKC9cLihcdyspJC8pO3JldHVybiJtZCI9PT0obj10fHxuJiZuWzFdKSYmKG49Im1hcmtkb3duIikse3VybDplLGxhbmc6bn19fTtPbi5wcm90b3R5cGUuY29tcGlsZUVtYmVkPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpPVNuKHQpLG89aS5zdHIsaT1pLmNvbmZpZztpZih0PW8saS5pbmNs''@;'; put 'put ''dWRlKXJldHVybiBPKGUpfHwoZT1OKHRoaXMuY29udGVudEJhc2UsRih0aGlzLnJvdXRlci5nZXRDdXJyZW50UGF0aCgpKSxlKSksaS50eXBlJiYocj1GbltpLnR5cGVdKT8obj1yLmNhbGwodGhpcyxlLHQpKS50eXBlPWkudHlwZToocj0iY29kZSIsL1wuKG1kfG1hcmtkb3duKS8udGVzdChl''@;'; put 'put ''KT9yPSJtYXJrZG93biI6L1wubW1kLy50ZXN0KGUpP3I9Im1lcm1haWQiOi9cLmh0bWw/Ly50ZXN0KGUpP3I9ImlmcmFtZSI6L1wuKG1wNHxvZ2cpLy50ZXN0KGUpP3I9InZpZGVvIjovXC5tcDMvLnRlc3QoZSkmJihyPSJhdWRpbyIpLChuPUZuW3JdLmNhbGwodGhpcyxlLHQpKS50eXBlPXIp''@;'; put 'put ''LG4uZnJhZ21lbnQ9aS5mcmFnbWVudCxufSxPbi5wcm90b3R5cGUuX21hdGNoTm90Q29tcGlsZUxpbms9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXRoaXMuY29uZmlnLm5vQ29tcGlsZUxpbmtzfHxbXSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYoKCRuW3JdfHwoJG5bcl09bmV3''@;'; put 'put ''IFJlZ0V4cCgiXiIrcisiJCIpKSkudGVzdChlKSlyZXR1cm4gZX19LE9uLnByb3RvdHlwZS5faW5pdFJlbmRlcmVyPWZ1bmN0aW9uKCl7dmFyIGEscyxsLGMsdSxwLGU9bmV3IGduLlJlbmRlcmVyLHQ9dGhpcy5saW5rVGFyZ2V0LG49dGhpcy5saW5rUmVsLG89dGhpcy5yb3V0ZXIscj10aGlz''@;'; put 'put ''LmNvbnRlbnRCYXNlLGg9dGhpcyxpPXt9O3JldHVybiBpLmhlYWRpbmc9ZS5oZWFkaW5nPWZ1bmN0aW9uKGUsdCl7dmFyIG49U24oZSkscj1uLnN0cixpPW4uY29uZmlnLGU9e2xldmVsOnQsdGl0bGU6QW4ocil9Oy88IS0tIHtkb2NzaWZ5LWlnbm9yZX0gLS0+L2cudGVzdChyKSYmKHI9ci5y''@;'; put 'put ''ZXBsYWNlKCJceDNjIS0tIHtkb2NzaWZ5LWlnbm9yZX0gLS1ceDNlIiwiIiksZS50aXRsZT1BbihyKSxlLmlnbm9yZVN1YkhlYWRpbmc9ITApLC97ZG9jc2lmeS1pZ25vcmV9L2cudGVzdChyKSYmKHI9ci5yZXBsYWNlKCJ7ZG9jc2lmeS1pZ25vcmV9IiwiIiksZS50aXRsZT1BbihyKSxlLmln''@;'; put 'put ''bm9yZVN1YkhlYWRpbmc9ITApLC88IS0tIHtkb2NzaWZ5LWlnbm9yZS1hbGx9IC0tPi9nLnRlc3QocikmJihyPXIucmVwbGFjZSgiXHgzYyEtLSB7ZG9jc2lmeS1pZ25vcmUtYWxsfSAtLVx4M2UiLCIiKSxlLnRpdGxlPUFuKHIpLGUuaWdub3JlQWxsU3Vicz0hMCksL3tkb2NzaWZ5LWlnbm9y''@;'; put 'put ''ZS1hbGx9L2cudGVzdChyKSYmKHI9ci5yZXBsYWNlKCJ7ZG9jc2lmeS1pZ25vcmUtYWxsfSIsIiIpLGUudGl0bGU9QW4ociksZS5pZ25vcmVBbGxTdWJzPSEwKTtuPXhuKGkuaWR8fHIpLGk9by50b1VSTChvLmdldEN1cnJlbnRQYXRoKCkse2lkOm59KTtyZXR1cm4gZS5zbHVnPWksaC50b2Mu''@;'; put 'put ''cHVzaChlKSwiPGgiK3QrJyBpZD0iJytuKyciPjxhIGhyZWY9IicraSsnIiBkYXRhLWlkPSInK24rJyIgY2xhc3M9ImFuY2hvciI+PHNwYW4+JytyKyI8L3NwYW4+PC9hPjwvaCIrdCsiPiJ9LGkuY29kZT17cmVuZGVyZXI6ZX0ucmVuZGVyZXIuY29kZT1mdW5jdGlvbihlLHQpe3ZvaWQgMD09''@;'; put 'put ''PXQmJih0PSJtYXJrdXAiKTt2YXIgbj1Fbi5sYW5ndWFnZXNbdF18fEVuLmxhbmd1YWdlcy5tYXJrdXA7cmV0dXJuJzxwcmUgdi1wcmUgZGF0YS1sYW5nPSInK3QrJyI+PGNvZGUgY2xhc3M9ImxhbmctJyt0KyciPicrRW4uaGlnaGxpZ2h0KGUucmVwbGFjZSgvQERPQ1NJRllfUU1AL2csImAi''@;'; put 'put ''KSxuLHQpKyI8L2NvZGU+PC9wcmU+In0saS5saW5rPShuPSh0PXtyZW5kZXJlcjplLHJvdXRlcjpvLGxpbmtUYXJnZXQ6dCxsaW5rUmVsOm4sY29tcGlsZXJDbGFzczpofSkucmVuZGVyZXIsYT10LnJvdXRlcixzPXQubGlua1RhcmdldCxsPXQubGlua1JlbCxjPXQuY29tcGlsZXJDbGFzcyxu''@;'; put 'put ''Lmxpbms9ZnVuY3Rpb24oZSx0LG4pe3ZvaWQgMD09PXQmJih0PSIiKTt2YXIgcj1bXSxpPVNuKHQpLG89aS5zdHIsaT1pLmNvbmZpZztyZXR1cm4gcz1pLnRhcmdldHx8cyxsPSJfYmxhbmsiPT09cz9jLmNvbmZpZy5leHRlcm5hbExpbmtSZWx8fCJub29wZW5lciI6IiIsdD1vLE8oZSl8fGMu''@;'; put 'put ''X21hdGNoTm90Q29tcGlsZUxpbmsoZSl8fGkuaWdub3JlPyhPKGUpfHwiLi8iIT09ZS5zbGljZSgwLDIpfHwoZT1kb2N1bWVudC5VUkwucmVwbGFjZSgvXC8oPyEuKlwvKS4qLywiLyIpLnJlcGxhY2UoIiMvLi8iLCIiKStlKSxyLnB1c2goMD09PWUuaW5kZXhPZigibWFpbHRvOiIpPyIiOid0''@;'; put 'put ''YXJnZXQ9IicrcysnIicpLHIucHVzaCgwIT09ZS5pbmRleE9mKCJtYWlsdG86IikmJiIiIT09bD8nIHJlbD0iJytsKyciJzoiIikpOihlPT09Yy5jb25maWcuaG9tZXBhZ2UmJihlPSJSRUFETUUiKSxlPWEudG9VUkwoZSxudWxsLGEuZ2V0Q3VycmVudFBhdGgoKSkpLGkuY3Jvc3NvcmdpbiYm''@;'; put 'put ''Il9zZWxmIj09PXMmJiJoaXN0b3J5Ij09PWMuY29uZmlnLnJvdXRlck1vZGUmJi0xPT09Yy5jb25maWcuY3Jvc3NPcmlnaW5MaW5rcy5pbmRleE9mKGUpJiZjLmNvbmZpZy5jcm9zc09yaWdpbkxpbmtzLnB1c2goZSksaS5kaXNhYmxlZCYmKHIucHVzaCgiZGlzYWJsZWQiKSxlPSJqYXZhc2Ny''@;'; put 'put ''aXB0OnZvaWQoMCkiKSxpLmNsYXNzJiZyLnB1c2goJ2NsYXNzPSInK2kuY2xhc3MrJyInKSxpLmlkJiZyLnB1c2goJ2lkPSInK2kuaWQrJyInKSx0JiZyLnB1c2goJ3RpdGxlPSInK3QrJyInKSwnPGEgaHJlZj0iJytlKyciICcrci5qb2luKCIgIikrIj4iK24rIjwvYT4ifSksaS5wYXJhZ3Jh''@;'; put 'put ''cGg9e3JlbmRlcmVyOmV9LnJlbmRlcmVyLnBhcmFncmFwaD1mdW5jdGlvbihlKXtlPS9eISZndDsvLnRlc3QoZSk/dm4oInRpcCIsZSk6L15cPyZndDsvLnRlc3QoZSk/dm4oIndhcm4iLGUpOiI8cD4iK2UrIjwvcD4iO3JldHVybiBlfSxpLmltYWdlPShyPShuPXtyZW5kZXJlcjplLGNvbnRl''@;'; put 'put ''bnRCYXNlOnIscm91dGVyOm99KS5yZW5kZXJlcix1PW4uY29udGVudEJhc2UscD1uLnJvdXRlcixyLmltYWdlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLGk9W10sbz1Tbih0KSxhPW8uc3RyLG89by5jb25maWc7cmV0dXJuIHQ9YSxvWyJuby16b29tIl0mJmkucHVzaCgiZGF0YS1uby16b29t''@;'; put 'put ''IiksdCYmaS5wdXNoKCd0aXRsZT0iJyt0KyciJyksby5zaXplJiYodD0oYT1vLnNpemUuc3BsaXQoIngiKSlbMF0sKGE9YVsxXSk/aS5wdXNoKCd3aWR0aD0iJyt0KyciIGhlaWdodD0iJythKyciJyk6aS5wdXNoKCd3aWR0aD0iJyt0KyciJykpLG8uY2xhc3MmJmkucHVzaCgnY2xhc3M9Iicr''@;'; put 'put ''by5jbGFzcysnIicpLG8uaWQmJmkucHVzaCgnaWQ9Iicrby5pZCsnIicpLE8oZSl8fChyPU4odSxGKHAuZ2V0Q3VycmVudFBhdGgoKSksZSkpLDA8aS5sZW5ndGg/JzxpbWcgc3JjPSInK3IrJyIgZGF0YS1vcmlnaW49IicrZSsnIiBhbHQ9IicrbisnIiAnK2kuam9pbigiICIpKyIgLz4iOic8''@;'; put 'put ''aW1nIHNyYz0iJytyKyciIGRhdGEtb3JpZ2luPSInK2UrJyIgYWx0PSInK24rJyInK2krIj4ifSksaS5saXN0PXtyZW5kZXJlcjplfS5yZW5kZXJlci5saXN0PWZ1bmN0aW9uKGUsdCxuKXt0PXQ/Im9sIjoidWwiO3JldHVybiI8Iit0KyIgIitbLzxsaSBjbGFzcz0idGFzay1saXN0LWl0ZW0i''@;'; put 'put ''Pi8udGVzdChlLnNwbGl0KCdjbGFzcz0idGFzay1saXN0IicpWzBdKT8nY2xhc3M9InRhc2stbGlzdCInOiIiLG4mJjE8bj8nc3RhcnQ9IicrbisnIic6IiJdLmpvaW4oIiAiKS50cmltKCkrIj4iK2UrIjwvIit0KyI+In0saS5saXN0aXRlbT17cmVuZGVyZXI6ZX0ucmVuZGVyZXIubGlzdGl0''@;'; put 'put ''ZW09ZnVuY3Rpb24oZSl7cmV0dXJuL14oPGlucHV0Lip0eXBlPSJjaGVja2JveCJbXj5dKj4pLy50ZXN0KGUpPyc8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48bGFiZWw+JytlKyI8L2xhYmVsPjwvbGk+IjoiPGxpPiIrZSsiPC9saT4ifSxlLm9yaWdpbj1pLGV9LE9uLnByb3RvdHlwZS5z''@;'; put 'put ''aWRlYmFyPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy50b2Mscj10aGlzLnJvdXRlci5nZXRDdXJyZW50UGF0aCgpLGk9IiI7aWYoZSlpPXRoaXMuY29tcGlsZShlKTtlbHNle2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKWlmKG5bb10uaWdub3JlU3ViSGVhZGluZyl7dmFyIGE9bltvXS5s''@;'; put 'put ''ZXZlbDtuLnNwbGljZShvLDEpO2Zvcih2YXIgcz1vO3M8bi5sZW5ndGgmJmE8bltzXS5sZXZlbDtzKyspbi5zcGxpY2UocywxKSYmcy0tJiZvKys7by0tfXQ9dGhpcy5jYWNoZVRyZWVbcl18fHluKG4sdCksaT1tbih0LCI8dWw+e2lubmVyfTwvdWw+Iik7dGhpcy5jYWNoZVRyZWVbcl09dH1y''@;'; put 'put ''ZXR1cm4gaX0sT24ucHJvdG90eXBlLnN1YlNpZGViYXI9ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9dGhpcy5yb3V0ZXIuZ2V0Q3VycmVudFBhdGgoKSxuPXRoaXMuY2FjaGVUcmVlLHI9dGhpcy50b2M7clswXSYmclswXS5pZ25vcmVBbGxTdWJzJiZyLnNwbGljZSgwKSxyWzBdJiYxPT09clsw''@;'; put 'put ''XS5sZXZlbCYmci5zaGlmdCgpO2Zvcih2YXIgaT0wO2k8ci5sZW5ndGg7aSsrKXJbaV0uaWdub3JlU3ViSGVhZGluZyYmci5zcGxpY2UoaSwxKSYmaS0tO2U9blt0XXx8eW4ocixlKTtyZXR1cm4gblt0XT1lLHRoaXMudG9jPVtdLG1uKGUpfXRoaXMudG9jPVtdfSxPbi5wcm90b3R5cGUuaGVh''@;'; put 'put ''ZGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuaGVhZGluZyhlLHQpfSxPbi5wcm90b3R5cGUuYXJ0aWNsZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb21waWxlKGUpfSxPbi5wcm90b3R5cGUuY292ZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy50b2Muc2xpY2UoKSxlPXRoaXMuY29t''@;'; put 'put ''cGlsZShlKTtyZXR1cm4gdGhpcy50b2M9dC5zbGljZSgpLGV9O3ZhciBDbixMbj1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtlPWUubWF0Y2goL15bIFx0XSooPz1cUykvZ20pO3JldHVybiBlP2UucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIE1hdGgubWluKGUsdC5sZW5ndGgp''@;'; put 'put ''fSwxLzApOjB9KGUpO2lmKDA9PT10KXJldHVybiBlO3Q9bmV3IFJlZ0V4cCgiXlsgXFx0XXsiK3QrIn0iLCJnbSIpO3JldHVybiBlLnJlcGxhY2UodCwiIil9LHpuPXt9O2Z1bmN0aW9uIE5uKGUscil7dmFyIG89ZS5jb21waWxlcixpPWUucmF3O3ZvaWQgMD09PWkmJihpPSIiKTt2YXIgdD1l''@;'; put 'put ''LmZldGNoLGU9em5baV07aWYoZSl7dmFyIG49ZS5zbGljZSgpO3JldHVybiBuLmxpbmtzPWUubGlua3MscihuKX12YXIgbj1vLl9tYXJrZWQsYT1uLmxleGVyKGkpLHM9W10sbD1uLkxleGVyLnJ1bGVzLmlubGluZS5saW5rLGM9YS5saW5rczthLmZvckVhY2goZnVuY3Rpb24oZSxpKXsicGFy''@;'; put 'put ''YWdyYXBoIj09PWUudHlwZSYmKGUudGV4dD1lLnRleHQucmVwbGFjZShuZXcgUmVnRXhwKGwuc291cmNlLCJnIiksZnVuY3Rpb24oZSx0LG4scil7cj1vLmNvbXBpbGVFbWJlZChuLHIpO3JldHVybiByJiZzLnB1c2goe2luZGV4OmksZW1iZWQ6cn0pLGV9KSl9KTt2YXIgdT1bXTshZnVuY3Rp''@;'; put 'put ''b24oZSxvKXt2YXIgdCxuPWUuZW1iZWRUb2tlbnMsYT1lLmNvbXBpbGUscz0oZS5mZXRjaCwwKSxsPTE7aWYoIW4ubGVuZ3RoKXJldHVybiBvKHt9KTtmb3IoO3Q9bltzKytdOyl7dmFyIHI9ZnVuY3Rpb24oaSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0LG4scjtlJiYoIm1hcmtkb3duIj09''@;'; put 'put ''PWkuZW1iZWQudHlwZT8oKG49aS5lbWJlZC51cmwuc3BsaXQoIi8iKSkucG9wKCksbj1uLmpvaW4oIi8iKSxlPWUucmVwbGFjZSgvXFsoW15bXF1dKylcXVwoKFteKV0rKVwpL2csZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pbmRleE9mKCIoIik7cmV0dXJuIiguIj09PWUuc2xpY2UodCx0KzIpP2Uu''@;'; put 'put ''c3Vic3RyaW5nKDAsdCkrIigiK3dpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0K24rIi8iK2Uuc3Vic3RyaW5nKHQrMSxlLmxlbmd0aC0xKSsiKSI6ZX0pLCEwPT09KCgkZG9jc2lmeS5mcm9udE1hdHRlcnx8e30pLmluc3RhbGxlZHx8ITEpJiYoZT0k''@;'; put 'put ''ZG9jc2lmeS5mcm9udE1hdHRlci5wYXJzZU1hcmtkb3duKGUpKSx0PWEubGV4ZXIoZSkpOiJjb2RlIj09PWkuZW1iZWQudHlwZT8oaS5lbWJlZC5mcmFnbWVudCYmKHI9aS5lbWJlZC5mcmFnbWVudCxyPW5ldyBSZWdFeHAoIig/OiMjI3xcXC9cXC9cXC8pXFxzKlxcWyIrcisiXFxdKFtcXHNc''@;'; put 'put ''XFNdKikoPzojIyN8XFwvXFwvXFwvKVxccypcXFsiK3IrIlxcXSIpLGU9TG4oKGUubWF0Y2gocil8fFtdKVsxXXx8IiIpLnRyaW0oKSksdD1hLmxleGVyKCJgYGAiK2kuZW1iZWQubGFuZysiXG4iK2UucmVwbGFjZSgvYC9nLCJARE9DU0lGWV9RTUAiKSsiXG5gYGBcbiIpKToibWVybWFpZCI9''@;'; put 'put ''PT1pLmVtYmVkLnR5cGU/KHQ9W3t0eXBlOiJodG1sIix0ZXh0Oic8ZGl2IGNsYXNzPSJtZXJtYWlkIj5cbicrZSsiXG48L2Rpdj4ifV0pLmxpbmtzPXt9Oih0PVt7dHlwZToiaHRtbCIsdGV4dDplfV0pLmxpbmtzPXt9KSxvKHt0b2tlbjppLGVtYmVkVG9rZW46dH0pLCsrbD49cyYmbyh7fSl9''@;'; put 'put ''fSh0KTt0LmVtYmVkLnVybD9jZSh0LmVtYmVkLnVybCkudGhlbihyKTpyKHQuZW1iZWQuaHRtbCl9fSh7Y29tcGlsZTpuLGVtYmVkVG9rZW5zOnMsZmV0Y2g6dH0sZnVuY3Rpb24oZSl7dmFyIHQsbj1lLmVtYmVkVG9rZW4sZT1lLnRva2VuO2U/KHQ9ZS5pbmRleCx1LmZvckVhY2goZnVuY3Rp''@;'; put 'put ''b24oZSl7dD5lLnN0YXJ0JiYodCs9ZS5sZW5ndGgpfSkseShjLG4ubGlua3MpLGE9YS5zbGljZSgwLHQpLmNvbmNhdChuLGEuc2xpY2UodCsxKSksdS5wdXNoKHtzdGFydDp0LGxlbmd0aDpuLmxlbmd0aC0xfSkpOih6bltpXT1hLmNvbmNhdCgpLGEubGlua3M9em5baV0ubGlua3M9YyxyKGEp''@;'; put 'put ''KX0pfWZ1bmN0aW9uIE1uKGUsdCxuKXt2YXIgcixpLG8sYTtyZXR1cm4gdD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKHQpOiJzdHJpbmciPT10eXBlb2Ygbj8obz1bXSxhPTAsKHI9bikucmVwbGFjZShCLGZ1bmN0aW9uKHQsZSxuKXtvLnB1c2goci5zdWJzdHJpbmcoYSxuLTEpKSxhPW4rPXQu''@;'; put 'put ''bGVuZ3RoKzEsby5wdXNoKGkmJmlbdF18fGZ1bmN0aW9uKGUpe3JldHVybigiMDAiKygic3RyaW5nIj09dHlwZW9mIFpbdF0/ZVtaW3RdXSgpOlpbdF0oZSkpKS5zbGljZSgtdC5sZW5ndGgpfSl9KSxhIT09ci5sZW5ndGgmJm8ucHVzaChyLnN1YnN0cmluZyhhKSksZnVuY3Rpb24oZSl7Zm9y''@;'; put 'put ''KHZhciB0PSIiLG49MCxyPWV8fG5ldyBEYXRlO248by5sZW5ndGg7bisrKXQrPSJzdHJpbmciPT10eXBlb2Ygb1tuXT9vW25dOm9bbl0ocik7cmV0dXJuIHR9KG5ldyBEYXRlKHQpKSk6dCxlLnJlcGxhY2UoL3tkb2NzaWZ5LXVwZGF0ZWR9L2csdCl9ZnVuY3Rpb24gRG4oZSl7ZnVuY3Rpb24g''@;'; put 'put ''dChlKXt2YXIgdD1Cb29sZWFuKGUuX192dWVfXyYmZS5fX3Z1ZV9fLl9pc1Z1ZSksZT1Cb29sZWFuKGUuX3Zub2RlJiZlLl92bm9kZS5fX3Zfc2tpcCk7cmV0dXJuIHR8fGV9dmFyIG49dGhpcy5jb25maWcscj1iKCIubWFya2Rvd24tc2VjdGlvbiIpLGk9IlZ1ZSJpbiB3aW5kb3cmJndpbmRv''@;'; put 'put ''dy5WdWUudmVyc2lvbiYmTnVtYmVyKHdpbmRvdy5WdWUudmVyc2lvbi5jaGFyQXQoMCkpO2lmKGU9ZXx8IjxoMT40MDQgLSBOb3QgZm91bmQ8L2gxPiIsIlZ1ZSJpbiB3aW5kb3cpZm9yKHZhciBvPTAsYT1rKCIubWFya2Rvd24tc2VjdGlvbiA+ICoiKS5maWx0ZXIodCk7bzxhLmxlbmd0aDtv''@;'; put 'put ''Kz0xKXt2YXIgcz1hW29dOzI9PT1pP3MuX192dWVfXy4kZGVzdHJveSgpOjM9PT1pJiZzLl9fdnVlX2FwcF9fLnVubW91bnQoKX1pZih0aGlzLl9yZW5kZXJUbyhyLGUpLG4ubG9hZFNpZGViYXJ8fHRoaXMuX3JlbmRlclNpZGViYXIoKSwobi5leGVjdXRlU2NyaXB0fHwiVnVlImluIHdpbmRv''@;'; put 'put ''dyYmITEhPT1uLmV4ZWN1dGVTY3JpcHQpJiYoIShlPWsoIi5tYXJrZG93bi1zZWN0aW9uPnNjcmlwdCIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hL3RlbXBsYXRlLy50ZXN0KGUudHlwZSl9KVswXSl8fChlPWUuaW5uZXJUZXh0LnRyaW0oKSkmJm5ldyBGdW5jdGlvbihlKSgpKSwiVnVl''@;'; put 'put ''ImluIHdpbmRvdyl7dmFyIGwsYyx1PVtdLHA9T2JqZWN0LmtleXMobi52dWVDb21wb25lbnRzfHx7fSk7Mj09PWkmJnAubGVuZ3RoJiZwLmZvckVhY2goZnVuY3Rpb24oZSl7d2luZG93LlZ1ZS5vcHRpb25zLmNvbXBvbmVudHNbZV18fHdpbmRvdy5WdWUuY29tcG9uZW50KGUsbi52dWVDb21w''@;'; put 'put ''b25lbnRzW2VdKX0pLCFDbiYmbi52dWVHbG9iYWxPcHRpb25zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi52dWVHbG9iYWxPcHRpb25zLmRhdGEmJihDbj1uLnZ1ZUdsb2JhbE9wdGlvbnMuZGF0YSgpKSx1LnB1c2guYXBwbHkodSxPYmplY3Qua2V5cyhuLnZ1ZU1vdW50c3x8e30pLm1hcChmdW5j''@;'; put 'put ''dGlvbihlKXtyZXR1cm5bYihyLGUpLG4udnVlTW91bnRzW2VdXX0pLmZpbHRlcihmdW5jdGlvbihlKXt2YXIgdD1lWzBdO2VbMV07cmV0dXJuIHR9KSksKG4udnVlR2xvYmFsT3B0aW9uc3x8cC5sZW5ndGgpJiYobD0ve3syfVtee31dKn17Mn0vLGM9LzxbXj4vXStccyhbQDpdfHYtKVtcdy06''@;'; put 'put ''LltcXV0rWz0+XHNdLyx1LnB1c2guYXBwbHkodSxrKCIubWFya2Rvd24tc2VjdGlvbiA+ICoiKS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIXUuc29tZShmdW5jdGlvbihlKXt2YXIgdD1lWzBdO2VbMV07cmV0dXJuIHQ9PT1ufSl9KS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGFn''@;'; put 'put ''TmFtZS50b0xvd2VyQ2FzZSgpaW4obi52dWVDb21wb25lbnRzfHx7fSl8fGUucXVlcnlTZWxlY3RvcihwLmpvaW4oIiwiKXx8bnVsbCl8fGwudGVzdChlLm91dGVySFRNTCl8fGMudGVzdChlLm91dGVySFRNTCl9KS5tYXAoZnVuY3Rpb24oZSl7dmFyIHQ9eSh7fSxuLnZ1ZUdsb2JhbE9wdGlv''@;'; put 'put ''bnN8fHt9KTtyZXR1cm4gQ24mJih0LmRhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gQ259KSxbZSx0XX0pKSk7Zm9yKHZhciBoPTAsZD11O2g8ZC5sZW5ndGg7aCs9MSl7dmFyIGYsZz1kW2hdLG09Z1swXSx2PWdbMV0sZz0iZGF0YS1pc3Z1ZSI7bS5tYXRjaGVzKCJwcmUsIHNjcmlwdCIpfHx0KG0p''@;'; put 'put ''fHxtLnF1ZXJ5U2VsZWN0b3IoIlsiK2crIl0iKXx8KG0uc2V0QXR0cmlidXRlKGcsIiIpLDI9PT1pPyh2LmVsPXZvaWQgMCxuZXcgd2luZG93LlZ1ZSh2KS4kbW91bnQobSkpOjM9PT1pJiYoZj13aW5kb3cuVnVlLmNyZWF0ZUFwcCh2KSxwLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9bi52''@;'; put 'put ''dWVDb21wb25lbnRzW2VdO2YuY29tcG9uZW50KGUsdCl9KSxmLm1vdW50KG0pKSl9fX1mdW5jdGlvbiBQbih0LG4scixpLG8sZSl7dD1lP3Q6dC5yZXBsYWNlKC9cLyQvLCIiKSwodD1GKHQpKSYmY2Uoby5yb3V0ZXIuZ2V0RmlsZSh0K3IpK24sITEsby5jb25maWcucmVxdWVzdEhlYWRlcnMp''@;'; put 'put ''LnRoZW4oaSxmdW5jdGlvbihlKXtyZXR1cm4gUG4odCxuLHIsaSxvKX0pfXZhciBJbj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxjYWNoZWQ6cyxoeXBoZW5hdGU6byxoYXNPd246bCxtZXJnZTp5LGlzUHJpbWl0aXZlOmMsbm9vcDp1LGlzRm46cixpc0V4dGVybmFsOnAsaW5Ccm93''@;'; put 'put ''c2VyOiEwLGlzTW9iaWxlOmgsc3VwcG9ydHNQdXNoU3RhdGU6aSxwYXJzZVF1ZXJ5OkUsc3RyaW5naWZ5UXVlcnk6Uixpc0Fic29sdXRlUGF0aDpPLHJlbW92ZVBhcmFtczokLGdldFBhcmVudFBhdGg6RixjbGVhblBhdGg6QyxyZXNvbHZlUGF0aDpMLGdldFBhdGg6TixyZXBsYWNlU2x1ZzpN''@;'; put 'put ''LGVuZHNXaXRoOkR9KTt2YXIgam4sSG4scW49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2UuY2FsbCh0aGlzKSx0aGlzLmNvbmZpZz13ZSh0aGlzKSx0aGlzLmluaXRMaWZlY3ljbGUoKSx0aGlzLmluaXRQbHVnaW4oKSx0aGlzLmNhbGxIb29rKCJpbml0IiksdGhpcy5pbml0Um91dGVyKCks''@;'; put 'put ''dGhpcy5pbml0UmVuZGVyKCksdGhpcy5pbml0RXZlbnQoKSx0aGlzLmluaXRGZXRjaCgpLHRoaXMuY2FsbEhvb2soIm1vdW50ZWQiKX1yZXR1cm4gZSYmKHQuX19wcm90b19fPWUpLCgodC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSkpLmNvbnN0cnVjdG9yPXQpLnBy''@;'; put 'put ''b3RvdHlwZS5pbml0UGx1Z2luPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztbXS5jb25jYXQodGhpcy5jb25maWcucGx1Z2lucykuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gcihlKSYmZSh0Ll9saWZlY3ljbGUsdCl9KX0sdH0oKEhuPU9iamVjdCxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7''@;'; put 'put ''ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGUmJih0Ll9fcHJvdG9fXz1lKSwoKHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpKS5jb25zdHJ1Y3Rvcj10KS5wcm90b3R5cGUuX2xvYWRTaWRlQW5kTmF2PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRoaXM7''@;'; put 'put ''cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW4pcmV0dXJuIHIoKTtQbihlLHQsbixmdW5jdGlvbihlKXtpLl9yZW5kZXJTaWRlYmFyKGUpLHIoKX0saSwhMCl9fSx0LnByb3RvdHlwZS5fZmV0Y2g9ZnVuY3Rpb24obil7dmFyIHI9dGhpczt2b2lkIDA9PT1uJiYobj11KTt2YXIgaSxlLHQsbyxhLHM9''@;'; put 'put ''dGhpcy5yb3V0ZS5xdWVyeSxsPXRoaXMucm91dGUucGF0aDtwKGwpPyhoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCIiLCIjIiksdGhpcy5yb3V0ZXIubm9ybWFsaXplKCkpOihpPVIocyxbImlkIl0pLHQ9KGU9dGhpcy5jb25maWcpLmxvYWROYXZiYXIscz1lLnJlcXVlc3RIZWFkZXJzLG89''@;'; put 'put ''ZS5sb2FkU2lkZWJhcixhPXRoaXMucm91dGVyLmdldEZpbGUobCkscz1VbihhK2ksMCxzKSx0aGlzLmlzUmVtb3RlVXJsPXAoYSksdGhpcy5pc0hUTUw9L1wuaHRtbCQvZy50ZXN0KGEpLHMudGhlbihmdW5jdGlvbihlLHQpe3JldHVybiByLl9yZW5kZXJNYWluKGUsdCxyLl9sb2FkU2lkZUFu''@;'; put 'put ''ZE5hdihsLGksbyxuKSl9LGZ1bmN0aW9uKGUpe3IuX2ZldGNoRmFsbGJhY2tQYWdlKGwsaSxuKXx8ci5fZmV0Y2g0MDQoYSxpLG4pfSksdCYmUG4obCxpLHQsZnVuY3Rpb24oZSl7cmV0dXJuIHIuX3JlbmRlck5hdihlKX0sdGhpcywhMCkpfSx0LnByb3RvdHlwZS5fZmV0Y2hDb3Zlcj1mdW5j''@;'; put 'put ''dGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLmNvbmZpZyxuPWUuY292ZXJwYWdlLHI9ZS5yZXF1ZXN0SGVhZGVycyxpPXRoaXMucm91dGUucXVlcnksbz1GKHRoaXMucm91dGUucGF0aCk7aWYobil7dmFyIGE9bnVsbCxlPXRoaXMucm91dGUucGF0aDsic3RyaW5nIj09dHlwZW9mIG4/Ii8iPT09''@;'; put 'put ''ZSYmKGE9bik6YT1BcnJheS5pc0FycmF5KG4pPy0xPG4uaW5kZXhPZihlKSYmIl9jb3ZlcnBhZ2UiOiEwPT09KGU9bltlXSk/Il9jb3ZlcnBhZ2UiOmU7dmFyIHM9Qm9vbGVhbihhKSYmdGhpcy5jb25maWcub25seUNvdmVyO3JldHVybiBhPyhhPXRoaXMucm91dGVyLmdldEZpbGUobythKSx0''@;'; put 'put ''aGlzLmNvdmVySXNIVE1MPS9cLmh0bWwkL2cudGVzdChhKSxjZShhK1IoaSxbImlkIl0pLCExLHIpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIHQuX3JlbmRlckNvdmVyKGUscyl9KSk6dGhpcy5fcmVuZGVyQ292ZXIobnVsbCxzKSxzfX0sdC5wcm90b3R5cGUuJGZldGNoPWZ1bmN0aW9uKGUs''@;'; put 'put ''dCl7dmFyIG49dGhpczt2b2lkIDA9PT1lJiYoZT11KSx2b2lkIDA9PT10JiYodD10aGlzLiRyZXNldEV2ZW50cy5iaW5kKHRoaXMpKTtmdW5jdGlvbiByKCl7bi5jYWxsSG9vaygiZG9uZUVhY2giKSxlKCl9dGhpcy5fZmV0Y2hDb3ZlcigpP3IoKTp0aGlzLl9mZXRjaChmdW5jdGlvbigpe3Qo''@;'; put 'put ''KSxyKCl9KX0sdC5wcm90b3R5cGUuX2ZldGNoRmFsbGJhY2tQYWdlPWZ1bmN0aW9uKG4scixpKXt2YXIgbz10aGlzO3ZvaWQgMD09PWkmJihpPXUpO3ZhciBlPXRoaXMuY29uZmlnLHQ9ZS5yZXF1ZXN0SGVhZGVycyxhPWUuZmFsbGJhY2tMYW5ndWFnZXMscz1lLmxvYWRTaWRlYmFyO2lmKCFh''@;'; put 'put ''KXJldHVybiExO2U9bi5zcGxpdCgiLyIpWzFdO2lmKC0xPT09YS5pbmRleE9mKGUpKXJldHVybiExO2U9dGhpcy5yb3V0ZXIuZ2V0RmlsZShuLnJlcGxhY2UobmV3IFJlZ0V4cCgiXi8iK2UpLCIiKSk7cmV0dXJuIFVuKGUrciwwLHQpLnRoZW4oZnVuY3Rpb24oZSx0KXtyZXR1cm4gby5fcmVu''@;'; put 'put ''ZGVyTWFpbihlLHQsby5fbG9hZFNpZGVBbmROYXYobixyLHMsaSkpfSxmdW5jdGlvbigpe3JldHVybiBvLl9mZXRjaDQwNChuLHIsaSl9KSwhMH0sdC5wcm90b3R5cGUuX2ZldGNoNDA0PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzO3ZvaWQgMD09PW4mJihuPXUpO3ZhciBpPXRoaXMuY29u''@;'; put 'put ''ZmlnLG89aS5sb2FkU2lkZWJhcixhPWkucmVxdWVzdEhlYWRlcnMsaT1pLm5vdEZvdW5kUGFnZSxzPXRoaXMuX2xvYWRTaWRlQW5kTmF2KGUsdCxvLG4pO2lmKGkpe2U9ZnVuY3Rpb24odCxlKXt2YXIgbixyPWUubm90Rm91bmRQYWdlLGk9Il80MDQiKyhlLmV4dHx8Ii5tZCIpO3N3aXRjaCh0''@;'; put 'put ''eXBlb2Ygcil7Y2FzZSJib29sZWFuIjpuPWk7YnJlYWs7Y2FzZSJzdHJpbmciOm49cjticmVhaztjYXNlIm9iamVjdCI6bj0oZT1PYmplY3Qua2V5cyhyKS5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQubGVuZ3RoLWUubGVuZ3RofSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm1h''@;'; put 'put ''dGNoKG5ldyBSZWdFeHAoIl4iK2UpKX0pWzBdKSYmcltlXXx8aX1yZXR1cm4gbn0oZSx0aGlzLmNvbmZpZyk7cmV0dXJuIFVuKHRoaXMucm91dGVyLmdldEZpbGUoZSksMCxhKS50aGVuKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIuX3JlbmRlck1haW4oZSx0LHMpfSxmdW5jdGlvbigpe3JldHVy''@;'; put 'put ''biByLl9yZW5kZXJNYWluKG51bGwse30scyl9KSwhMH1yZXR1cm4gdGhpcy5fcmVuZGVyTWFpbihudWxsLHt9LHMpLCExfSx0LnByb3RvdHlwZS5pbml0RmV0Y2g9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMsbj10aGlzLmNvbmZpZy5sb2FkU2lkZWJhcjt0aGlzLnJlbmRlcmVkPyhlPWRlKHRo''@;'; put 'put ''aXMucm91dGVyLCIuc2lkZWJhci1uYXYiLCEwLCEwKSxuJiZlJiYoZS5wYXJlbnROb2RlLmlubmVySFRNTCs9d2luZG93Ll9fU1VCX1NJREVCQVJfXyksdGhpcy5fYmluZEV2ZW50T25SZW5kZXJlZChlKSx0aGlzLiRyZXNldEV2ZW50cygpLHRoaXMuY2FsbEhvb2soImRvbmVFYWNoIiksdGhp''@;'; put 'put ''cy5jYWxsSG9vaygicmVhZHkiKSk6dGhpcy4kZmV0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbEhvb2soInJlYWR5Iil9KX0sdH0oZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBlJiYodC5fX3Byb3RvX189ZSksKCh0LnByb3RvdHlw''@;'; put 'put ''ZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSkuY29uc3RydWN0b3I9dCkucHJvdG90eXBlLiRyZXNldEV2ZW50cz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5jb25maWcuYXV0bzJ0b3A7Imhpc3RvcnkiIT09ZSYmKHQucm91dGUucXVlcnkuaWQmJk9lKHQucm91dGUucGF0''@;'; put 'put ''aCx0LnJvdXRlLnF1ZXJ5LmlkKSwibmF2aWdhdGUiPT09ZSYmbiYmKHZvaWQgMD09PShuPW4pJiYobj0wKSwkZS5zY3JvbGxUb3A9ITA9PT1uPzA6TnVtYmVyKG4pKSksdGhpcy5jb25maWcubG9hZE5hdmJhciYmZGUodGhpcy5yb3V0ZXIsIm5hdiIpfSx0LnByb3RvdHlwZS5pbml0RXZlbnQ9''@;'; put 'put ''ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3JldHVybiBnLmNsYXNzTGlzdC50b2dnbGUoImNsb3NlIil9dmFyIGU7ZT0iYnV0dG9uLnNpZGViYXItdG9nZ2xlIix0aGlzLnJvdXRlcixudWxsIT0oZT1kKGUpKSYmKHgoZSwiY2xpY2siLGZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCks''@;'; put 'put ''dCgpfSksaCYmeChnLCJjbGljayIsZnVuY3Rpb24oZSl7cmV0dXJuIGcuY2xhc3NMaXN0LmNvbnRhaW5zKCJjbG9zZSIpJiZ0KCl9KSksZT0iLnNpZGViYXIiLHRoaXMucm91dGVyLG51bGwhPShlPWQoZSkpJiZ4KGUsImNsaWNrIixmdW5jdGlvbihlKXtlPWUudGFyZ2V0OyJBIj09PWUubm9k''@;'; put 'put ''ZU5hbWUmJmUubmV4dFNpYmxpbmcmJmUubmV4dFNpYmxpbmcuY2xhc3NMaXN0JiZlLm5leHRTaWJsaW5nLmNsYXNzTGlzdC5jb250YWlucygiYXBwLXN1Yi1zaWRlYmFyIikmJlMoZS5wYXJlbnROb2RlLCJjb2xsYXBzZSIpfSksdGhpcy5jb25maWcuY292ZXJwYWdlP2h8fHgoInNjcm9sbCIs''@;'; put 'put ''aGUpOmcuY2xhc3NMaXN0LmFkZCgic3RpY2t5Iil9LHR9KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gZSYmKHQuX19wcm90b19fPWUpLCgodC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSkpLmNvbnN0cnVjdG9y''@;'; put 'put ''PXQpLnByb3RvdHlwZS5fcmVuZGVyVG89ZnVuY3Rpb24oZSx0LG4pe2U9ZChlKTtlJiYoZVtuPyJvdXRlckhUTUwiOiJpbm5lckhUTUwiXT10KX0sdC5wcm90b3R5cGUuX3JlbmRlclNpZGViYXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5jb25maWcsbj10Lm1heExldmVsLHI9dC5zdWJNYXhM''@;'; put 'put ''ZXZlbCxpPXQubG9hZFNpZGViYXI7aWYodC5oaWRlU2lkZWJhcilyZXR1cm5bZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYXNpZGUuc2lkZWJhciIpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi5zaWRlYmFyLXRvZ2dsZSIpXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnBh''@;'; put 'put ''cmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9KSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJzZWN0aW9uLmNvbnRlbnQiKS5zdHlsZS5yaWdodD0idW5zZXQiLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInNlY3Rpb24uY29udGVudCIpLnN0eWxlLmxlZnQ9InVuc2V0Iixkb2N1bWVudC5xdWVyeVNl''@;'; put 'put ''bGVjdG9yKCJzZWN0aW9uLmNvbnRlbnQiKS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInNlY3Rpb24uY29udGVudCIpLnN0eWxlLndpZHRoPSIxMDAlIixudWxsO3RoaXMuX3JlbmRlclRvKCIuc2lkZWJhci1uYXYiLHRoaXMuY29tcGlsZXIuc2lk''@;'; put 'put ''ZWJhcihlLG4pKTtuPWRlKHRoaXMucm91dGVyLCIuc2lkZWJhci1uYXYiLCEwLCEwKTtpJiZuP24ucGFyZW50Tm9kZS5pbm5lckhUTUwrPXRoaXMuY29tcGlsZXIuc3ViU2lkZWJhcihyKXx8IiI6dGhpcy5jb21waWxlci5zdWJTaWRlYmFyKCksdGhpcy5fYmluZEV2ZW50T25SZW5kZXJlZChu''@;'; put 'put ''KX0sdC5wcm90b3R5cGUuX2JpbmRFdmVudE9uUmVuZGVyZWQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj10aGlzLmNvbmZpZy5hdXRvSGVhZGVyOyFmdW5jdGlvbihlKXt2YXIgdD1iKCIuY292ZXIuc2hvdyIpO1RlPXQ/dC5vZmZzZXRIZWlnaHQ6MDt2YXIgdD1kKCIuc2lkZWJhciIpLG49W107bnVs''@;'; put 'put ''bCE9dCYmKG49ayh0LCJsaSIpKTtmb3IodmFyIHIsaT0wLG89bi5sZW5ndGg7aTxvO2krPTEpe3ZhciBhLHMsbD1uW2ldLGM9bC5xdWVyeVNlbGVjdG9yKCJhIik7YyYmKCIvIiE9PShhPWMuZ2V0QXR0cmlidXRlKCJocmVmIikpJiYoYz0ocz1lLnBhcnNlKGEpKS5xdWVyeS5pZCxzPXMucGF0''@;'; put 'put ''aCxjJiYoYT1SZShzLGMpKSksYSYmKHhlW2RlY29kZVVSSUNvbXBvbmVudChhKV09bCkpfWh8fChyPSQoZS5nZXRDdXJyZW50UGF0aCgpKSxfKCJzY3JvbGwiLGZ1bmN0aW9uKCl7cmV0dXJuIEVlKHIpfSkseCgic2Nyb2xsIixmdW5jdGlvbigpe3JldHVybiBFZShyKX0pLHgodCwibW91c2Vv''@;'; put 'put ''dmVyIixmdW5jdGlvbigpe19lPSEwfSkseCh0LCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe19lPSExfSkpfSh0aGlzLnJvdXRlciksbiYmZSYmKChuPSh0PWQoIiNtYWluIikpLmNoaWxkcmVuWzBdKSYmIkgxIiE9PW4udGFnTmFtZSYmdyh0LHYoImRpdiIsdGhpcy5jb21waWxlci5oZWFkZXIo''@;'; put 'put ''ZS5pbm5lclRleHQsMSkpLmNoaWxkcmVuWzBdKSl9LHQucHJvdG90eXBlLl9yZW5kZXJOYXY9ZnVuY3Rpb24oZSl7ZSYmdGhpcy5fcmVuZGVyVG8oIm5hdiIsdGhpcy5jb21waWxlci5jb21waWxlKGUpKSx0aGlzLmNvbmZpZy5sb2FkTmF2YmFyJiZkZSh0aGlzLnJvdXRlciwibmF2Iil9LHQu''@;'; put 'put ''cHJvdG90eXBlLl9yZW5kZXJNYWluPWZ1bmN0aW9uKHIsaSxvKXt2YXIgYT10aGlzO2lmKHZvaWQgMD09PWkmJihpPXt9KSwhcilyZXR1cm4gRG4uY2FsbCh0aGlzLHIpO3RoaXMuY2FsbEhvb2soImJlZm9yZUVhY2giLHIsZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2kudXBkYXRlZEF0JiYo''@;'; put 'put ''bj1NbihuLGkudXBkYXRlZEF0LGEuY29uZmlnLmZvcm1hdFVwZGF0ZWQpKSxhLmNhbGxIb29rKCJhZnRlckVhY2giLG4sZnVuY3Rpb24oZSl7cmV0dXJuIERuLmNhbGwoYSxlKX0pfXZhciBuO2EuaXNIVE1MPyhuPWEucmVzdWx0PXIsdCgpLG8oKSk6Tm4oe2NvbXBpbGVyOmEuY29tcGlsZXIs''@;'; put 'put ''cmF3OmV9LGZ1bmN0aW9uKGUpe249YS5jb21waWxlci5jb21waWxlKGUpLG49YS5pc1JlbW90ZVVybD9hZS5zYW5pdGl6ZShuLHtBRERfVEFHUzpbInNjcmlwdCJdfSk6bix0KCksbygpfSl9KX0sdC5wcm90b3R5cGUuX3JlbmRlckNvdmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1kKCIuY292''@;'; put 'put ''ZXIiKTtTKGQoIm1haW4iKSx0PyJhZGQiOiJyZW1vdmUiLCJoaWRkZW4iKSxlPyhTKHIsImFkZCIsInNob3ciKSwodD0obj10aGlzLmNvdmVySXNIVE1MP2U6dGhpcy5jb21waWxlci5jb3ZlcihlKSkudHJpbSgpLm1hdGNoKCc8cD48aW1nLio/ZGF0YS1vcmlnaW49IiguKj8pIlteYV0rYWx0''@;'; put 'put ''PSIoLio/KSI+KFtePF0qPyk8L3A+JCcpKSYmKCJjb2xvciI9PT10WzJdP3Iuc3R5bGUuYmFja2dyb3VuZD10WzFdKyh0WzNdfHwiIik6KGU9dFsxXSxTKHIsImFkZCIsImhhcy1tYXNrIiksTyh0WzFdKXx8KGU9Tih0aGlzLnJvdXRlci5nZXRCYXNlUGF0aCgpLHRbMV0pKSxyLnN0eWxlLmJh''@;'; put 'put ''Y2tncm91bmRJbWFnZT0idXJsKCIrZSsiKSIsci5zdHlsZS5iYWNrZ3JvdW5kU2l6ZT0iY292ZXIiLHIuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uPSJjZW50ZXIgY2VudGVyIiksbj1uLnJlcGxhY2UodFswXSwiIikpLHRoaXMuX3JlbmRlclRvKCIuY292ZXItbWFpbiIsbiksaGUoKSk6Uyhy''@;'; put 'put ''LCJyZW1vdmUiLCJzaG93Iil9LHQucHJvdG90eXBlLl91cGRhdGVSZW5kZXI9ZnVuY3Rpb24oKXt2YXIgZSx0LG4scjtlPXRoaXMsdD1kKCIuYXBwLW5hbWUtbGluayIpLG49ZS5jb25maWcubmFtZUxpbmsscj1lLnJvdXRlLnBhdGgsdCYmKGMoZS5jb25maWcubmFtZUxpbmspP3Quc2V0QXR0''@;'; put 'put ''cmlidXRlKCJocmVmIixuKToib2JqZWN0Ij09dHlwZW9mIG4mJihlPU9iamVjdC5rZXlzKG4pLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4tMTxyLmluZGV4T2YoZSl9KVswXSx0LnNldEF0dHJpYnV0ZSgiaHJlZiIsbltlXSkpKX0sdC5wcm90b3R5cGUuaW5pdFJlbmRlcj1mdW5jdGlvbigp''@;'; put 'put ''e3ZhciBlPXRoaXMuY29uZmlnO3RoaXMuY29tcGlsZXI9bmV3IE9uKGUsdGhpcy5yb3V0ZXIpLHdpbmRvdy5fX2N1cnJlbnRfZG9jc2lmeV9jb21waWxlcl9fPXRoaXMuY29tcGlsZXI7dmFyIHQsbixyLGksbyxhPWUuZWx8fCIjYXBwIixzPWIoIm5hdiIpfHx2KCJuYXYiKSxsPWIoYSksYz0i''@;'; put 'put ''Iix1PWc7bD8oZS5yZXBvJiYoYys9KGk9ZS5yZXBvLGE9ZS5jb3JuZXJFeHRlcm5hbExpbmtUYXJnZSxpPygvXC9cLy8udGVzdChpKXx8KGk9Imh0dHBzOi8vZ2l0aHViLmNvbS8iK2kpLCc8YSBocmVmPSInKyhpPWkucmVwbGFjZSgvXmdpdFwrLywiIikpKyciIHRhcmdldD0iJysoYT1hfHwi''@;'; put 'put ''X2JsYW5rIikrJyIgY2xhc3M9ImdpdGh1Yi1jb3JuZXIiIGFyaWEtbGFiZWw9IlZpZXcgc291cmNlIG9uIEdpdGh1YiI+PHN2ZyB2aWV3Qm94PSIwIDAgMjUwIDI1MCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0wLDAgTDExNSwxMTUgTDEzMCwxMTUgTDE0MiwxNDIgTDI1MCwyNTAg''@;'; put 'put ''TDI1MCwwIFoiPjwvcGF0aD48cGF0aCBkPSJNMTI4LjMsMTA5LjAgQzExMy44LDk5LjcgMTE5LjAsODkuNiAxMTkuMCw4OS42IEMxMjIuMCw4Mi43IDEyMC41LDc4LjYgMTIwLjUsNzguNiBDMTE5LjIsNzIuMCAxMjMuNCw3Ni4zIDEyMy40LDc2LjMgQzEyNy4zLDgwLjkgMTI1LjUsODcuMyAx''@;'; put 'put ''MjUuNSw4Ny4zIEMxMjIuOSw5Ny42IDEzMC42LDEwMS45IDEzNC40LDEwMy4yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0eWxlPSJ0cmFuc2Zvcm0tb3JpZ2luOiAxMzBweCAxMDZweDsiIGNsYXNzPSJvY3RvLWFybSI+PC9wYXRoPjxwYXRoIGQ9Ik0xMTUuMCwxMTUuMCBDMTE0LjksMTE1LjEg''@;'; put 'put ''MTE4LjcsMTE2LjUgMTE5LjgsMTE1LjQgTDEzMy43LDEwMS42IEMxMzYuOSw5OS4yIDEzOS45LDk4LjQgMTQyLjIsOTguNiBDMTMzLjgsODguMCAxMjcuNSw3NC40IDE0My44LDU4LjAgQzE0OC41LDUzLjQgMTU0LjAsNTEuMiAxNTkuNyw1MS4wIEMxNjAuMyw0OS40IDE2My4yLDQzLjYgMTcx''@;'; put 'put ''LjQsNDAuMSBDMTcxLjQsNDAuMSAxNzYuMSw0Mi41IDE3OC44LDU2LjIgQzE4My4xLDU4LjYgMTg3LjIsNjEuOCAxOTAuOSw2NS40IEMxOTQuNSw2OS4wIDE5Ny43LDczLjIgMjAwLjEsNzcuNiBDMjEzLjgsODAuMiAyMTYuMyw4NC45IDIxNi4zLDg0LjkgQzIxMi43LDkzLjEgMjA2LjksOTYu''@;'; put 'put ''MCAyMDUuNCw5Ni42IEMyMDUuMSwxMDIuNCAyMDMuMCwxMDcuOCAxOTguMywxMTIuNSBDMTgxLjksMTI4LjkgMTY4LjMsMTIyLjUgMTU3LjcsMTE0LjEgQzE1Ny45LDExNi45IDE1Ni43LDEyMC45IDE1Mi43LDEyNC45IEwxNDEuMCwxMzYuNSBDMTM5LjgsMTM3LjcgMTQxLjYsMTQxLjkgMTQx''@;'; put 'put ''LjgsMTQxLjggWiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0ib2N0by1ib2R5Ij48L3BhdGg+PC9zdmc+PC9hPicpOiIiKSksZS5jb3ZlcnBhZ2UmJihjKz0ocj0iLCAxMDAlLCA4NSUiLCc8c2VjdGlvbiBjbGFzcz0iY292ZXIgc2hvdyIgc3R5bGU9ImJhY2tncm91bmQ6ICcrKCJsaW5l''@;'; put 'put ''YXItZ3JhZGllbnQodG8gbGVmdCBib3R0b20sIGhzbCgiK01hdGguZmxvb3IoMjU1Kk1hdGgucmFuZG9tKCkpK3IrIikgMCUsaHNsKCIrTWF0aC5mbG9vcigyNTUqTWF0aC5yYW5kb20oKSkrcisiKSAxMDAlKSIpKyciPjxkaXYgY2xhc3M9Im1hc2siPjwvZGl2PjxkaXYgY2xhc3M9ImNvdmVy''@;'; put 'put ''LW1haW4iPlx4M2MhLS1jb3Zlci0tXHgzZTwvZGl2Pjwvc2VjdGlvbj4nKSksZS5sb2dvJiYocj0vXmRhdGE6aW1hZ2UvLnRlc3QoZS5sb2dvKSx0PS8oPzpodHRwW3NdPzopP1wvXC8vLnRlc3QoZS5sb2dvKSxuPS9eXC4vLnRlc3QoZS5sb2dvKSxyfHx0fHxufHwoZS5sb2dvPU4odGhpcy5y''@;'; put 'put ''b3V0ZXIuZ2V0QmFzZVBhdGgoKSxlLmxvZ28pKSksYys9KG49KHQ9ZSkubmFtZT90Lm5hbWU6IiIsIjxtYWluPiIrKCc8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLXRvZ2dsZSIgYXJpYS1sYWJlbD0iTWVudSI+PGRpdiBjbGFzcz0ic2lkZWJhci10b2dnbGUtYnV0dG9uIj48c3Bhbj48L3NwYW4+''@;'; put 'put ''PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2Rpdj48L2J1dHRvbj48YXNpZGUgY2xhc3M9InNpZGViYXIiPicrKHQubmFtZT8nPGgxIGNsYXNzPSJhcHAtbmFtZSI+PGEgY2xhc3M9ImFwcC1uYW1lLWxpbmsiIGRhdGEtbm9zZWFyY2g+JysodC5sb2dvPyc8aW1nIGFsdD0iJytuKyciIHNy''@;'; put 'put ''Yz0nK3QubG9nbysiPiI6bikrIjwvYT48L2gxPiI6IiIpKyc8ZGl2IGNsYXNzPSJzaWRlYmFyLW5hdiI+XHgzYyEtLXNpZGViYXItLVx4M2U8L2Rpdj48L2FzaWRlPicpKyc8c2VjdGlvbiBjbGFzcz0iY29udGVudCI+PGFydGljbGUgY2xhc3M9Im1hcmtkb3duLXNlY3Rpb24iIGlkPSJtYWlu''@;'; put 'put ''Ij5ceDNjIS0tbWFpbi0tXHgzZTwvYXJ0aWNsZT48L3NlY3Rpb24+PC9tYWluPicpLHRoaXMuX3JlbmRlclRvKGwsYywhMCkpOnRoaXMucmVuZGVyZWQ9ITAsZS5tZXJnZU5hdmJhciYmaD91PWIoIi5zaWRlYmFyIik6KHMuY2xhc3NMaXN0LmFkZCgiYXBwLW5hdiIpLGUucmVwb3x8cy5jbGFz''@;'; put 'put ''c0xpc3QuYWRkKCJuby1iYWRnZSIpKSxlLmxvYWROYXZiYXImJncodSxzKSxlLnRoZW1lQ29sb3ImJihmLmhlYWQuYXBwZW5kQ2hpbGQodigiZGl2IiwiPHN0eWxlPjpyb290ey0tdGhlbWUtY29sb3I6ICIrZS50aGVtZUNvbG9yKyI7fTwvc3R5bGU+IikuZmlyc3RFbGVtZW50Q2hpbGQpLG89''@;'; put 'put ''ZS50aGVtZUNvbG9yLHdpbmRvdy5DU1MmJndpbmRvdy5DU1Muc3VwcG9ydHMmJndpbmRvdy5DU1Muc3VwcG9ydHMoIigtLXY6cmVkKSIpfHwoZT1rKCJzdHlsZTpub3QoLmluc2VydGVkKSxsaW5rIiksW10uZm9yRWFjaC5jYWxsKGUsZnVuY3Rpb24oZSl7aWYoIlNUWUxFIj09PWUubm9kZU5h''@;'; put 'put ''bWUpdWUoZSxvKTtlbHNlIGlmKCJMSU5LIj09PWUubm9kZU5hbWUpe2U9ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZighL1wuY3NzJC8udGVzdChlKSlyZXR1cm47Y2UoZSkudGhlbihmdW5jdGlvbihlKXtlPXYoInN0eWxlIixlKTttLmFwcGVuZENoaWxkKGUpLHVlKGUsbyl9KX19KSkpLHRo''@;'; put 'put ''aXMuX3VwZGF0ZVJlbmRlcigpLFMoZywicmVhZHkiKX0sdH0oZnVuY3Rpb24obil7ZnVuY3Rpb24gZSgpe2Zvcih2YXIgZT1bXSx0PWFyZ3VtZW50cy5sZW5ndGg7dC0tOyllW3RdPWFyZ3VtZW50c1t0XTtuLmFwcGx5KHRoaXMsZSksdGhpcy5yb3V0ZT17fX1yZXR1cm4gbiYmKGUuX19wcm90''@;'; put 'put ''b19fPW4pLCgoZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuJiZuLnByb3RvdHlwZSkpLmNvbnN0cnVjdG9yPWUpLnByb3RvdHlwZS51cGRhdGVSZW5kZXI9ZnVuY3Rpb24oKXt0aGlzLnJvdXRlci5ub3JtYWxpemUoKSx0aGlzLnJvdXRlPXRoaXMucm91dGVyLnBhcnNlKCksZy5zZXRBdHRy''@;'; put 'put ''aWJ1dGUoImRhdGEtcGFnZSIsdGhpcy5yb3V0ZS5maWxlKX0sZS5wcm90b3R5cGUuaW5pdFJvdXRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLmNvbmZpZyxlPW5ldygiaGlzdG9yeSI9PT0oZS5yb3V0ZXJNb2RlfHwiaGFzaCIpJiZpP3E6SCkoZSk7dGhpcy5yb3V0ZXI9ZSx0aGlz''@;'; put 'put ''LnVwZGF0ZVJlbmRlcigpLFU9dGhpcy5yb3V0ZSxlLm9uY2hhbmdlKGZ1bmN0aW9uKGUpe3QudXBkYXRlUmVuZGVyKCksdC5fdXBkYXRlUmVuZGVyKCksVS5wYXRoIT09dC5yb3V0ZS5wYXRoPyh0LiRmZXRjaCh1LHQuJHJlc2V0RXZlbnRzLmJpbmQodCxlLnNvdXJjZSkpLFU9dC5yb3V0ZSk6''@;'; put 'put ''dC4kcmVzZXRFdmVudHMoZS5zb3VyY2UpfSl9LGV9KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gZSYmKHQuX19wcm90b19fPWUpLCgodC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSkpLmNvbnN0cnVjdG9yPXQp''@;'; put 'put ''LnByb3RvdHlwZS5pbml0TGlmZWN5Y2xlPWZ1bmN0aW9uKCl7dmFyIG49dGhpczt0aGlzLl9ob29rcz17fSx0aGlzLl9saWZlY3ljbGU9e30sWyJpbml0IiwibW91bnRlZCIsImJlZm9yZUVhY2giLCJhZnRlckVhY2giLCJkb25lRWFjaCIsInJlYWR5Il0uZm9yRWFjaChmdW5jdGlvbihlKXt2''@;'; put 'put ''YXIgdD1uLl9ob29rc1tlXT1bXTtuLl9saWZlY3ljbGVbZV09ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHVzaChlKX19KX0sdC5wcm90b3R5cGUuY2FsbEhvb2s9ZnVuY3Rpb24oZSxuLHIpe3ZvaWQgMD09PXImJihyPXUpO3ZhciBpPXRoaXMuX2hvb2tzW2VdLG89ZnVuY3Rpb24odCl7dmFyIGU9''@;'; put 'put ''aVt0XTt0Pj1pLmxlbmd0aD9yKG4pOiJmdW5jdGlvbiI9PXR5cGVvZiBlPzI9PT1lLmxlbmd0aD9lKG4sZnVuY3Rpb24oZSl7bj1lLG8odCsxKX0pOihlPWUobiksbj12b2lkIDA9PT1lP246ZSxvKHQrMSkpOm8odCsxKX07bygwKX0sdH0oSG4pKSkpKSkpO2Z1bmN0aW9uIFVuKGUsdCxuKXty''@;'; put 'put ''ZXR1cm4gam4mJmpuLmFib3J0JiZqbi5hYm9ydCgpLGpuPWNlKGUsITAsbil9d2luZG93LkRvY3NpZnk9e3V0aWw6SW4sZG9tOnQsZ2V0OmNlLHNsdWdpZnk6eG4sdmVyc2lvbjoiNC4xMi4yIn0sd2luZG93LkRvY3NpZnlDb21waWxlcj1Pbix3aW5kb3cubWFya2VkPWduLHdpbmRvdy5Qcmlz''@;'; put 'put ''bT1FbixlKGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgcW59KX0oKTsK'';'; put 'run;'; put '%sasjsout(JS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let service=search.min-js; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IWZ1bmN0aW9uKCl7dmFyIHU9e30sbT17RVhQSVJFX0tFWToiZG9jc2lmeS5zZWFyY2guZXhwaXJlcyIsSU5ERVhfS0VZOiJkb2NzaWZ5LnNlYXJjaC5pbmRleCJ9O2Z1bmN0aW9uIHAoZSl7dmFyIG49eyImIjoiJmFtcDsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwnIic6IiZxdW90OyIsIici''@;'; put 'put ''OiImIzM5OyJ9O3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSgvWyY8PiInXS9nLGZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfSl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZS50ZXh0fHwidGFibGUiIT09ZS50eXBlfHwoZS5jZWxscy51bnNoaWZ0KGUuaGVhZGVyKSxlLnRleHQ9ZS5jZWxscy5tYXAo''@;'; put 'put ''ZnVuY3Rpb24oZSl7cmV0dXJuIGUuam9pbigiIHwgIil9KS5qb2luKCIgfFxuICIpKSxlLnRleHR9ZnVuY3Rpb24gZihlKXtyZXR1cm4gZS50ZXh0fHwibGlzdCIhPT1lLnR5cGV8fChlLnRleHQ9ZS5yYXcpLGUudGV4dH1mdW5jdGlvbiBnKGksZSxyLG8pe3ZvaWQgMD09PWUmJihlPSIiKTt2''@;'; put 'put ''YXIgcyxlPXdpbmRvdy5tYXJrZWQubGV4ZXIoZSksYz13aW5kb3cuRG9jc2lmeS5zbHVnaWZ5LGQ9e30sbD0iIjtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKGUsbil7aWYoImhlYWRpbmciPT09ZS50eXBlJiZlLmRlcHRoPD1vKXt2YXIgdD1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT0i''@;'; put 'put ''Iik7dmFyIGE9e307cmV0dXJue3N0cjplPWUmJmUucmVwbGFjZSgvXignfCIpLywiIikucmVwbGFjZSgvKCd8IikkLywiIikucmVwbGFjZSgvKD86Xnxccyk6KFtcdy1dKzo/KT0/KFtcdy0lXSspPy9nLGZ1bmN0aW9uKGUsbix0KXtyZXR1cm4tMT09PW4uaW5kZXhPZigiOiIpPyhhW25dPXQm''@;'; put 'put ''JnQucmVwbGFjZSgvJnF1b3Q7L2csIiIpfHwhMCwiIik6ZX0pLnRyaW0oKSxjb25maWc6YX19KGUudGV4dCksYT10LnN0cix0PXQuY29uZmlnO3M9dC5pZD9yLnRvVVJMKGkse2lkOmModC5pZCl9KTpyLnRvVVJMKGkse2lkOmMocChlLnRleHQpKX0pLGEmJihsPWEucmVwbGFjZSgvPCEtLSB7''@;'; put 'put ''ZG9jc2lmeS1pZ25vcmV9IC0tPi8sIiIpLnJlcGxhY2UoL3tkb2NzaWZ5LWlnbm9yZX0vLCIiKS5yZXBsYWNlKC88IS0tIHtkb2NzaWZ5LWlnbm9yZS1hbGx9IC0tPi8sIiIpLnJlcGxhY2UoL3tkb2NzaWZ5LWlnbm9yZS1hbGx9LywiIikudHJpbSgpKSxkW3NdPXtzbHVnOnMsdGl0bGU6bCxi''@;'; put 'put ''b2R5OiIifX1lbHNle2lmKDA9PT1uJiYocz1yLnRvVVJMKGkpLGRbc109e3NsdWc6cyx0aXRsZToiLyIhPT1pP2kuc2xpY2UoMSk6IkhvbWUgUGFnZSIsYm9keTplLnRleHR8fCIifSksIXMpcmV0dXJuO2Rbc10/ZFtzXS5ib2R5PyhlLnRleHQ9aChlKSxlLnRleHQ9ZihlKSxkW3NdLmJvZHkr''@;'; put 'put ''PSJcbiIrKGUudGV4dHx8IiIpKTooZS50ZXh0PWgoZSksZS50ZXh0PWYoZSksZFtzXS5ib2R5PWRbc10uYm9keT9kW3NdLmJvZHkrZS50ZXh0OmUudGV4dCk6ZFtzXT17c2x1ZzpzLHRpdGxlOiIiLGJvZHk6IiJ9fX0pLGMuY2xlYXIoKSxkfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGUmJmUubm9y''@;'; put 'put ''bWFsaXplP2Uubm9ybWFsaXplKCJORkQiKS5yZXBsYWNlKC9bXHUwMzAwLVx1MDM2Zl0vZywiIik6ZX1mdW5jdGlvbiByKGkscil7dmFyIHQsYSxuLGUsbz0iYXV0byI9PT1pLnBhdGhzLHM9bz8odD1yLnJvdXRlcixhPVtdLERvY3NpZnkuZG9tLmZpbmRBbGwoIi5zaWRlYmFyLW5hdiBhOm5v''@;'; put 'put ''dCguc2VjdGlvbi1saW5rKTpub3QoW2RhdGEtbm9zZWFyY2hdKSIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49ZS5ocmVmLGU9ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSxuPXQucGFyc2UobikucGF0aDtuJiYtMT09PWEuaW5kZXhPZihuKSYmIURvY3NpZnkudXRpbC5pc0Fic29sdXRlUGF0''@;'; put 'put ''aChlKSYmYS5wdXNoKG4pfSksYSk6aS5wYXRocyxjPSIiO3MubGVuZ3RoJiZvJiZpLnBhdGhOYW1lc3BhY2VzPyhuPXNbMF0sQXJyYXkuaXNBcnJheShpLnBhdGhOYW1lc3BhY2VzKT9jPWkucGF0aE5hbWVzcGFjZXMuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBuLnNsaWNlKDAsZS5sZW5n''@;'; put 'put ''dGgpPT09ZX0pWzBdfHxjOmkucGF0aE5hbWVzcGFjZXMgaW5zdGFuY2VvZiBSZWdFeHAmJigoZD1uLm1hdGNoKGkucGF0aE5hbWVzcGFjZXMpKSYmKGM9ZFswXSkpLGU9LTE9PT1zLmluZGV4T2YoYysiLyIpLGQ9LTE9PT1zLmluZGV4T2YoYysiL1JFQURNRSIpLGUmJmQmJnMudW5zaGlmdChj''@;'; put 'put ''KyIvIikpOi0xPT09cy5pbmRleE9mKCIvIikmJi0xPT09cy5pbmRleE9mKCIvUkVBRE1FIikmJnMudW5zaGlmdCgiLyIpO3ZhciBkLGw9KChkPWkubmFtZXNwYWNlKT9tLkVYUElSRV9LRVkrIi8iK2Q6bS5FWFBJUkVfS0VZKStjLHA9KChkPWkubmFtZXNwYWNlKT9tLklOREVYX0tFWSsiLyIr''@;'; put 'put ''ZDptLklOREVYX0tFWSkrYyxjPWxvY2FsU3RvcmFnZS5nZXRJdGVtKGwpPERhdGUubm93KCk7aWYodT1KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHApKSxjKXU9e307ZWxzZSBpZighbylyZXR1cm47dmFyIGg9cy5sZW5ndGgsZj0wO3MuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1''@;'; put 'put ''cm4gdVthXT9mKys6dm9pZCBEb2NzaWZ5LmdldChyLnJvdXRlci5nZXRGaWxlKGEpLCExLHIuY29uZmlnLnJlcXVlc3RIZWFkZXJzKS50aGVuKGZ1bmN0aW9uKGUpe3ZhciBuLHQ7dVthXT1nKGEsZSxyLnJvdXRlcixpLmRlcHRoKSxoPT09KytmJiYobj1pLm1heEFnZSx0PWwsZT1wLGxvY2Fs''@;'; put 'put ''U3RvcmFnZS5zZXRJdGVtKHQsRGF0ZS5ub3coKStuKSxsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLEpTT04uc3RyaW5naWZ5KHUpKSl9KX0pfXZhciBvLHM9IiI7ZnVuY3Rpb24gYyhlKXt2YXIgbj1Eb2NzaWZ5LmRvbS5maW5kKCJkaXYuc2VhcmNoIiksdD1Eb2NzaWZ5LmRvbS5maW5kKG4sIi5y''@;'; put 'put ''ZXN1bHRzLXBhbmVsIiksYT1Eb2NzaWZ5LmRvbS5maW5kKG4sIi5jbGVhci1idXR0b24iKSxpPURvY3NpZnkuZG9tLmZpbmQoIi5zaWRlYmFyLW5hdiIpLG49RG9jc2lmeS5kb20uZmluZCgiLmFwcC1uYW1lIik7aWYoIWUpcmV0dXJuIHQuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLGEuY2xh''@;'; put 'put ''c3NMaXN0LnJlbW92ZSgic2hvdyIpLHQuaW5uZXJIVE1MPSIiLHZvaWQoby5oaWRlT3RoZXJTaWRlYmFyQ29udGVudCYmKGkmJmkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpLG4mJm4uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpKSk7dmFyIGU9ZnVuY3Rpb24oZSl7dmFyIG49W10sdD1bXTtP''@;'; put 'put ''YmplY3Qua2V5cyh1KS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3Q9dC5jb25jYXQoT2JqZWN0LmtleXModVtuXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB1W25dW2VdfSkpfSk7dmFyIGE9KGU9ZS50cmltKCkpLnNwbGl0KC9bXHNcLe+8jFxcL10rLyk7MSE9PWEubGVuZ3RoJiYoYT1bXS5jb25j''@;'; put 'put ''YXQoZSxhKSk7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspIWZ1bmN0aW9uKGUpe3ZhciBlPXRbZV0scj0wLG89IiIscz0iIixjPSIiLGQ9ZS50aXRsZSYmZS50aXRsZS50cmltKCksbD1lLmJvZHkmJmUuYm9keS50cmltKCksZT1lLnNsdWd8fCIiO2QmJihhLmZvckVhY2goZnVuY3Rpb24o''@;'; put 'put ''ZSl7dmFyIG4sdD1uZXcgUmVnRXhwKHAoeShlKSkucmVwbGFjZSgvW3xcXHt9KClbXF1eJCsqPy5dL2csIlxcJCYiKSwiZ2kiKSxhPS0xLGk9LTE7cz1kP3AoeShkKSk6ZCxjPWw/cCh5KGwpKTpsLGE9ZD9zLnNlYXJjaCh0KTotMSxpPWw/Yy5zZWFyY2godCk6LTEsKDA8PWF8fDA8PWkpJiYo''@;'; put 'put ''cis9MDw9YT8zOjA8PWk/MjowLGk8MCYmKGk9MCksYT0oYT1uPTApPT0obj1pPDExPzA6aS0xMCk/NzA6aStlLmxlbmd0aCs2MCxsJiZhPmwubGVuZ3RoJiYoYT1sLmxlbmd0aCksdD0iLi4uIitjLnN1YnN0cmluZyhuLGEpLnJlcGxhY2UodCxmdW5jdGlvbihlKXtyZXR1cm4nPGVtIGNsYXNz''@;'; put 'put ''PSJzZWFyY2gta2V5d29yZCI+JytlKyI8L2VtPiJ9KSsiLi4uIixvKz10KX0pLDA8ciYmKGU9e3RpdGxlOnMsY29udGVudDpsP286IiIsdXJsOmUsc2NvcmU6cn0sbi5wdXNoKGUpKSl9KGkpO3JldHVybiBuLnNvcnQoZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi5zY29yZS1lLnNjb3JlfSl9KGUp''@;'; put 'put ''LHI9IiI7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IrPSc8ZGl2IGNsYXNzPSJtYXRjaGluZy1wb3N0Ij5cbjxhIGhyZWY9IicrZS51cmwrJyI+XG48aDI+JytlLnRpdGxlKyI8L2gyPlxuPHA+IitlLmNvbnRlbnQrIjwvcD5cbjwvYT5cbjwvZGl2PiJ9KSx0LmNsYXNzTGlzdC5hZGQoInNob3ci''@;'; put 'put ''KSxhLmNsYXNzTGlzdC5hZGQoInNob3ciKSx0LmlubmVySFRNTD1yfHwnPHAgY2xhc3M9ImVtcHR5Ij4nK3MrIjwvcD4iLG8uaGlkZU90aGVyU2lkZWJhckNvbnRlbnQmJihpJiZpLmNsYXNzTGlzdC5hZGQoImhpZGUiKSxuJiZuLmNsYXNzTGlzdC5hZGQoImhpZGUiKSl9ZnVuY3Rpb24gZChl''@;'; put 'put ''KXtvPWV9ZnVuY3Rpb24gbChlLG4pe3ZhciB0LGEsaT1uLnJvdXRlci5wYXJzZSgpLnF1ZXJ5LnM7ZChlKSxEb2NzaWZ5LmRvbS5zdHlsZSgiXG4uc2lkZWJhciB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uc2VhcmNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzog''@;'; put 'put ''NnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbn1cblxuLnNlYXJjaCAuaW5wdXQtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZWFyY2ggLnJlc3VsdHMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4u''@;'; put 'put ''c2VhcmNoIC5yZXN1bHRzLXBhbmVsLnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlYXJjaCBpbnB1dCB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgN3B4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAg''@;'; put 'put ''Zm9udC1zaXplOiAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnNlYXJjaCBpbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tdGhlbWUtY29sb3IsICM0MmI5ODMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10aGVtZS1j''@;'; put 'put ''b2xvciwgIzQyYjk4Myk7XG59XG5cbi5zZWFyY2ggaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4uc2VhcmNoIGlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnNlYXJjaCBpbnB1dCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1h''@;'; put 'put ''cHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnNlYXJjaCAuY2xlYXItYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMzZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWFyY2ggLmNsZWFyLWJ1''@;'; put 'put ''dHRvbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWFyY2ggLmNsZWFyLWJ1dHRvbiBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcbn1cblxuLnNlYXJjaCBoMiB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5zZWFyY2ggYSB7''@;'; put 'put ''XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5zZWFyY2ggLm1hdGNoaW5nLXBvc3Qge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbn1cblxuLnNlYXJjaCAubWF0Y2hpbmctcG9zdDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJv''@;'; put 'put ''dHRvbTogMDtcbn1cblxuLnNlYXJjaCBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3Jp''@;'; put 'put ''ZW50OiB2ZXJ0aWNhbDtcbn1cblxuLnNlYXJjaCBwLmVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYXBwLW5hbWUuaGlkZSwgLnNpZGViYXItbmF2LmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufSIpLGZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPSIiKTt2YXIgbj0n''@;'; put 'put ''PGRpdiBjbGFzcz0iaW5wdXQtd3JhcCI+XG4gICAgICA8aW5wdXQgdHlwZT0ic2VhcmNoIiB2YWx1ZT0iJytlKyciIGFyaWEtbGFiZWw9IlNlYXJjaCB0ZXh0IiAvPlxuICAgICAgPGRpdiBjbGFzcz0iY2xlYXItYnV0dG9uIj5cbiAgICAgICAgPHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjQi''@;'; put 'put ''PlxuICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIiBmaWxsPSIjY2NjIiAvPlxuICAgICAgICAgIDxwYXRoIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTguMjUsOC4yNSwxNS43NSwxNS43NSIgLz5cbiAgICAgICAgICA8cGF0aCBzdHJva2U9Indo''@;'; put 'put ''aXRlIiBzdHJva2Utd2lkdGg9IjIiZD0iTTguMjUsMTUuNzUsMTUuNzUsOC4yNSIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPSJyZXN1bHRzLXBhbmVsIj48L2Rpdj5cbiAgICA8L2Rpdj4nLGU9RG9jc2lmeS5kb20uY3JlYXRl''@;'; put 'put ''KCJkaXYiLG4pLG49RG9jc2lmeS5kb20uZmluZCgiYXNpZGUiKTtEb2NzaWZ5LmRvbS50b2dnbGVDbGFzcyhlLCJzZWFyY2giKSxEb2NzaWZ5LmRvbS5iZWZvcmUobixlKX0oaSksbj1Eb2NzaWZ5LmRvbS5maW5kKCJkaXYuc2VhcmNoIiksYT1Eb2NzaWZ5LmRvbS5maW5kKG4sImlucHV0Iiks''@;'; put 'put ''ZT1Eb2NzaWZ5LmRvbS5maW5kKG4sIi5pbnB1dC13cmFwIiksRG9jc2lmeS5kb20ub24obiwiY2xpY2siLGZ1bmN0aW9uKGUpe3JldHVybi0xPT09WyJBIiwiSDIiLCJQIiwiRU0iXS5pbmRleE9mKGUudGFyZ2V0LnRhZ05hbWUpJiZlLnN0b3BQcm9wYWdhdGlvbigpfSksRG9jc2lmeS5kb20u''@;'; put 'put ''b24oYSwiaW5wdXQiLGZ1bmN0aW9uKG4pe2NsZWFyVGltZW91dCh0KSx0PXNldFRpbWVvdXQoZnVuY3Rpb24oZSl7cmV0dXJuIGMobi50YXJnZXQudmFsdWUudHJpbSgpKX0sMTAwKX0pLERvY3NpZnkuZG9tLm9uKGUsImNsaWNrIixmdW5jdGlvbihlKXsiSU5QVVQiIT09ZS50YXJnZXQudGFn''@;'; put 'put ''TmFtZSYmKGEudmFsdWU9IiIsYygpKX0pLGkmJnNldFRpbWVvdXQoZnVuY3Rpb24oZSl7cmV0dXJuIGMoaSl9LDUwMCl9ZnVuY3Rpb24gdihlLG4pe3ZhciB0LGEsaSxyLG87ZChlKSx0PWUucGxhY2Vob2xkZXIsYT1uLnJvdXRlLnBhdGgsKHI9RG9jc2lmeS5kb20uZ2V0Tm9kZSgnLnNlYXJj''@;'; put 'put ''aCBpbnB1dFt0eXBlPSJzZWFyY2giXScpKSYmKCJzdHJpbmciPT10eXBlb2YgdD9yLnBsYWNlaG9sZGVyPXQ6KGk9T2JqZWN0LmtleXModCkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybi0xPGEuaW5kZXhPZihlKX0pWzBdLHIucGxhY2Vob2xkZXI9dFtpXSkpLGU9ZS5ub0RhdGEsbz1uLnJv''@;'; put 'put ''dXRlLnBhdGgscz0ic3RyaW5nIj09dHlwZW9mIGU/ZTplW09iamVjdC5rZXlzKGUpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4tMTxvLmluZGV4T2YoZSl9KVswXV19dmFyIGI9e3BsYWNlaG9sZGVyOiJUeXBlIHRvIHNlYXJjaCIsbm9EYXRhOiJObyBSZXN1bHRzISIscGF0aHM6ImF1dG8i''@;'; put 'put ''LGRlcHRoOjIsbWF4QWdlOjg2NGU1LGhpZGVPdGhlclNpZGViYXJDb250ZW50OiExLG5hbWVzcGFjZTp2b2lkIDAscGF0aE5hbWVzcGFjZXM6dm9pZCAwfTskZG9jc2lmeS5wbHVnaW5zPVtdLmNvbmNhdChmdW5jdGlvbihlLG4pe3ZhciB0PURvY3NpZnkudXRpbCxhPW4uY29uZmlnLnNlYXJj''@;'; put 'put ''aHx8YjtBcnJheS5pc0FycmF5KGEpP2IucGF0aHM9YToib2JqZWN0Ij09dHlwZW9mIGEmJihiLnBhdGhzPUFycmF5LmlzQXJyYXkoYS5wYXRocyk/YS5wYXRoczoiYXV0byIsYi5tYXhBZ2U9KHQuaXNQcmltaXRpdmUoYS5tYXhBZ2UpP2E6YikubWF4QWdlLGIucGxhY2Vob2xkZXI9YS5wbGFj''@;'; put 'put ''ZWhvbGRlcnx8Yi5wbGFjZWhvbGRlcixiLm5vRGF0YT1hLm5vRGF0YXx8Yi5ub0RhdGEsYi5kZXB0aD1hLmRlcHRofHxiLmRlcHRoLGIuaGlkZU90aGVyU2lkZWJhckNvbnRlbnQ9YS5oaWRlT3RoZXJTaWRlYmFyQ29udGVudHx8Yi5oaWRlT3RoZXJTaWRlYmFyQ29udGVudCxiLm5hbWVzcGFj''@;'; put 'put ''ZT1hLm5hbWVzcGFjZXx8Yi5uYW1lc3BhY2UsYi5wYXRoTmFtZXNwYWNlcz1hLnBhdGhOYW1lc3BhY2VzfHxiLnBhdGhOYW1lc3BhY2VzKTt2YXIgaT0iYXV0byI9PT1iLnBhdGhzO2UubW91bnRlZChmdW5jdGlvbihlKXtsKGIsbiksaXx8cihiLG4pfSksZS5kb25lRWFjaChmdW5jdGlvbihl''@;'; put 'put ''KXt2KGIsbiksaSYmcihiLG4pfSl9LCRkb2NzaWZ5LnBsdWdpbnMpfSgpOwo='';'; put 'run;'; put '%sasjsout(JS64)'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; %let path=services/web/docs/static/js; %let path=services/web/docs/static/sas; %let path=services/web/docs/user-guide; %let service=user-overview-md; filename sascode temp lrecl=32767; data _null_; file sascode; put 'options mprint;'; put '%macro mp_replace(infile,'; put 'findvar=,'; put 'replacevar=,'; put 'outfile=0'; put ')/*/STORE SOURCE*/;'; put '%local inref outref dttm ds1 rc;'; put '/* create filerefs */'; put '%let rc=%sysfunc(filename(inref,,temp,lrecl=200));'; put '%let rc=%sysfunc(filename(outref,,temp,lrecl=200));'; put '%if &outfile=0 %then %let outfile=&infile;'; put '/* uniquely named 32 char datasets */'; put '%let ds1=all%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,29);'; put '%let ds2=start%substr(%sysfunc(compress(%sysfunc(uuidgen()),-)),1,27);'; put '/* START */'; put '%let dttm=%sysfunc(datetime());'; put 'filename &inref &infile lrecl=1 recfm=n;'; put 'data &ds1;'; put 'infile &inref;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'run;'; put 'data &ds2;'; put '/* set find string to length in bytes to cover trailing spaces */'; put 'length string $ %length(%superq(&findvar));'; put 'string =symget("&findvar");'; put 'drop string;'; put 'firstchar=char(string,1);'; put 'findlen=lengthm(string); /* <- for trailing bytes */'; put 'do _N_=1 to nobs;'; put 'set &ds1 nobs=nobs point=_N_;'; put 'if sourcechar=firstchar then do;'; put 'pos=1;'; put 's=0;'; put 'do point=_N_ to min(_N_ + findlen -1,nobs);'; put 'set &ds1 point=point;'; put 'if sourcechar=char(string, pos) then s + 1;'; put 'else goto _leave_;'; put 'pos+1;'; put 'end;'; put '_leave_:'; put 'if s=findlen then do;'; put 'START =_N_;'; put '_N_ =_N_+ s - 1;'; put 'STOP =_N_;'; put 'output;'; put 'end;'; put 'end;'; put 'end;'; put 'stop;'; put 'keep START STOP;'; put 'run;'; put 'data &ds1;'; put 'declare hash HS(dataset:"&ds2(keep=start)");'; put 'HS.defineKey("start");'; put 'HS.defineDone();'; put 'declare hash HE(dataset:"&ds2(keep=stop)");'; put 'HE.defineKey("stop");'; put 'HE.defineDone();'; put 'do until(eof);'; put 'set &ds1 end=eof curobs =n;'; put 'start = ^HS.check(key:n);'; put 'stop = ^HE.check(key:n);'; put 'length strt $ 1;'; put 'strt =put(start,best. -L);'; put 'retain out 1;'; put 'if out then output;'; put 'if start then out=0;'; put 'if stop then out=1;'; put 'end;'; put 'stop;'; put 'keep sourcechar strt;'; put 'run;'; put 'filename &outref &outfile recfm=n;'; put 'data _null_;'; put 'length replace $ %length(%superq(&replacevar));'; put 'replace=symget("&replacevar");'; put 'file &outref;'; put 'do until(eof);'; put 'set &ds1 end=eof;'; put 'if strt ="1" then put replace char.;'; put 'else put sourcechar char1.;'; put 'end;'; put 'stop;'; put 'run;'; put '/* END */'; put '%put &sysmacroname took %sysevalf(%sysfunc(datetime())-&dttm) seconds to run;'; put '%mend mp_replace;'; put '%macro sasjsout(type,fref=sasjs);'; put '%global sysprocessmode SYS_JES_JOB_URI;'; put '%if &type=JS or &type=JS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header('; put 'Content-type,application/javascript%str(;)charset=UTF-8'; put '));'; put '%end;'; put '%else %if &type=CSS or &type=CSS64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,text/css));'; put '%end;'; put '%else %if &type=PNG or &type=GIF or &type=JPEG or &type=JPG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/%lowcase(&type)));'; put '%end;'; put '%else %if &type=SVG or &type=SVG64 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/svg+xml));'; put '%end;'; put '%else %if &type=ICO %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,image/vnd.microsoft.icon));'; put '%end;'; put '%else %if &type=JSON %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,application/json));'; put '%end;'; put '%else %if &type=MP3 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/mpeg));'; put '%end;'; put '%else %if &type=WAV %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/x-wav));'; put '%end;'; put '%else %if &type=OGG %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,audio/ogg));'; put '%end;'; put '%else %if &type=WOFF or &type=WOFF2 or &type=TTF %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,font/%lowcase(&type)));'; put '%end;'; put '%else %if &type=MP4 %then %do;'; put '%let rc=%sysfunc(stpsrv_header(Content-type,video/mp4));'; put '%end;'; put '%if &type=HTML %then %do;'; put '/*'; put 'We need to perform some substitutions -eg to get the APPLOC and SERVERTYPE.'; put 'Therefore the developer should avoid writing lines that exceed 32k'; put 'characters (eg base64 encoded images) as they will get truncated when passing'; put 'through the datastep. This could of course be re-written using LUA, removing'; put 'the length restriction. Pull requests are welcome!'; put '*/'; put 'filename _sjsout temp;'; put 'data _null_;'; put 'file _sjsout lrecl=32767 encoding=''utf-8'';'; put 'infile &fref lrecl=32767;'; put 'input;'; put 'length appLoc expanded_path $1048;'; put 'if _n_=1 then do;'; put 'retain pgm "&_program" appLoc expanded_path;'; put '/* index is deployed in the /services/ folder under the appLoc */'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'expanded_path=cats(''?_PROGRAM='',appLoc,''/services/'');'; put 'end;'; put 'if find(_infile_,'' appLoc: '') then put '' appLoc: '' apploc:$quote1048. '','';'; put 'else if find(_infile_,'' serverType: '') then do;'; put 'put '' serverType: "SAS9" ,'';'; put 'end;'; put 'else if find(_infile_,'' serverUrl: '') then do;'; put '/* nothing - we are streaming, so remove to default as hostname */'; put 'end;'; put 'else do;'; put '/* More recently, SASjs apps avoid inline JS to allow strict CSP */'; put 'length infile in1 in2 $32767;'; put 'infile=cats(_infile_);'; put 'spos1=index(upcase(infile),''APPLOC="'');'; put 'if spos1>0 then do;'; put 'in1=substr(infile,1,spos1+7);'; put 'in2=subpad(infile,spos1+8);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,appLoc,in2);'; put 'putlog "new apploc: " infile=;'; put 'end;'; put '/* find & replace serverType in HTML attributes */'; put 'spos2=index(upcase(infile),''SERVERTYPE="'');'; put 'if spos2>0 then do;'; put 'in1=substr(infile,1,spos2+11);'; put 'in2=subpad(infile,spos2+12);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,"SAS9",in2);'; put 'putlog "new servertype: " infile=;'; put 'end;'; put '/* find & replace serverUrl in HTML attributes */'; put 'spos3=index(upcase(infile),''SERVERURL="'');'; put 'if spos3>0 then do;'; put 'in1=substr(infile,1,spos3+10);'; put 'in2=subpad(infile,spos3+11);'; put 'in2=substr(in2,index(in2,''"''));'; put 'infile=cats(in1,in2);'; put 'putlog "new serverUrl: " infile=;'; put 'end;'; put 'if sum(spos1,spos2,spos3)>0 then put infile;'; put 'else do;'; put '/* during SAS9 sasjs compile, dependencies get static GUID */'; put 'infile=tranwrd(_infile_,''?_PROGRAM=pZKd6F95jECvRQlN0LCfdA=='',cats(expanded_path));'; put 'put infile;'; put 'end;'; put 'end;'; put 'run;'; put '%let fref=_sjsout;'; put '%end;'; put '%else %if &type=JS64 or &type=CSS64 %then %do;'; put 'options nobomfile;'; put '%let fvar=pZKd6F95jECvRQlN0LCfdA==;'; put '%let stgfile="%sysfunc(pathname(work))/stgfile.txt";'; put '%let newfile="%sysfunc(pathname(work))/newfile.txt";'; put '/* convert from base64 */'; put 'filename _out64 &stgfile encoding=''utf-8'';'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_out64",''A'',1,''B'');'; put 'char= ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc =fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '/* get appLoc from _program */'; put 'data _null_;'; put 'pgm="&_program";'; put 'appLoc=substr(pgm,1,find(pgm,''/services/'')-1);'; put 'call symputx(''apploc'',cats(appLoc,''/services/''));'; put 'run;'; put '%put &=fvar;'; put '%put &=apploc;'; put '/* replace the GUID with appLoc */'; put '%mp_replace(&stgfile,'; put 'findvar=fvar,'; put 'replacevar=apploc,'; put 'outfile=&newfile'; put ')'; put 'filename &fref &newfile encoding=''utf-8'';'; put '%end;'; put '/**'; put '* In SAS9, JS & CSS files are base64 encoded to avoid UTF8 issues in WLATIN1'; put '* metadata - so in this case, decode and stream byte by byte.'; put '* */'; put '%if &type=GIF or &type=PNG or &type=JPG or &type=JPEG or &type=ICO or &type=MP3'; put 'or &type=WAV or &type=OGG or &type=WOFF or &type=WOFF2 or &type=TTF or &type=MP4'; put 'or &type=SVG64'; put '%then %do;'; put 'data _null_;'; put 'length filein 8 fileout 8;'; put 'filein = fopen("&fref",''I'',4,''B'');'; put 'fileout = fopen("_webout",''A'',1,''B'');'; put 'char = ''20''x;'; put 'do while(fread(filein)=0);'; put 'length raw $4 ;'; put 'do i=1 to 4;'; put 'rc=fget(filein,char,1);'; put 'substr(raw,i,1)=char;'; put 'end;'; put 'rc = fput(fileout, input(raw,$base64X4.));'; put 'rc = fwrite(fileout);'; put 'end;'; put 'rc = fclose(filein);'; put 'rc = fclose(fileout);'; put 'run;'; put '%end;'; put '%else %do;'; put '%put streaming to _webout;'; put 'data _null_;'; put 'infile &fref lrecl=1 recfm=n;'; put 'file _webout mod lrecl=1 recfm=n;'; put 'input sourcechar $char1. @@;'; put 'format sourcechar hex2.;'; put 'put sourcechar char1. @@;'; put 'run;'; put '%end;'; put '%mend sasjsout;'; put 'filename sasjs temp lrecl=99999999;'; put 'data _null_;'; put 'file sasjs;'; put 'put ''IyBVc2VyIEd1aWRlIC0gT3ZlcnZpZXcKClRoaXMgc2VjdGlvbiBkZXNjcmliZWQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGFwcCBmcm9tIHRoZSB1c2VyIHBlcnNwZWN0aXZlLg=='';'; run; %mm_createwebservice(path=&appLoc/&path, name=&service, code=sascode, server=&serverName, replace=yes) filename sascode clear; options notes; data _null_; format url $256.; rc=METADATA_GETURI("Stored Process Web App",url); url=coalescec(url,"localhost/SASStoredProcess"); urlEscaped = tranwrd(trim(url)," ","%20"); putlog "NOTE: SASjs Streaming App Created! Check it out here:" ; putlog "NOTE- ";putlog "NOTE- ";putlog "NOTE- ";putlog "NOTE- "; putlog "NOTE- " urlEscaped +(-1) "?_program=&appLoc/services/Angular" ; putlog "NOTE- ";putlog "NOTE- ";putlog "NOTE- ";putlog "NOTE- "; run;