fj~* dZddlZddlZddlZddlZddlmZddlmZddl m Z m Z m Z m Z mZmZmZddlmZddlmZejdZd Zd Zd ezd zezd zezdzZdezdzZdezdzZdezezezdzZejdezdzezdzejZdZ de!de"fdZ#de!de"fdZ$de!de!fdZ%e de e!d d!"e d#ee e!e d$dd%e e!d&d'"e d(e e!d)d*"e d+e ee%e ed,"e d-e e!e e d."e d/e e!e$d0"e d1e e&d2d3"e d4e e&d5d6"e d7e e&d8d9"e d:ee"de d;ee"de d<ee"di Z'e de e!d=d>"e d#ee e!e d$de d(e e!d?d*"e d+e ee%e ed,"e d/e e!e$d0"e d1e e&d@d3"e d4e e&dAd6"e d7e e&dBd9"iZ(e ie dCee!de d#ee e!e d$dde e!dDd!"e dEee e!dFdG"de dHe"e dIe"e dJee!de dKee!de dLe"e dMe"e dNee!de dOee!de dPe!e dQe!e dRe!e dSe"e dTee!de dUee!de dVee!de dWee!de dXee!de dYee!de dZe!e d[e!e d\e!iZ)d]e*d^e defd_Z+d]e*defd`Z,d]e*defdaZ-d]e*defdbZ.dS)czE This module contains functions for performing necessary validations N) Namespace)urlparse)SchemaAndOptionalRegex SchemaErrorUseOr)safe_id_pattern read_sys_id validationsu¡-￿zI(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)(?:\.(?:25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}z[a-zz 0-9](?:[a-zz0-9-]{0,61}[a-zz0-9])?z(?:\.(?!-)[a-zz0-9-]{1,63}(?r5fs!(C#Cr&zInvalid command)errorlangz0^[a-zA-Z]{1,5}(_[a-zA-Z]{2})?(\.[a-zA-Z0-9-]+)?$ system_idc&|tkSNr )ss rr5r5xsA$6r&zsystem_id is invalidtracing_task_idcDttj|Sr:boolr matchvs rr5r5zD9Nq9Q9Q4R4Rr&z$tracing_task_id must be alphanumericurlzURL is invalidemailzEMAIL is invalid client_ipz IP is invalidtimec"d|cxkodkncSNri@ r2ts rr5r5Q$r&zAminimum time count is 1 minute, maximum - 48 hours (2880 minutes) request_qtyc"d|cxkodkncSNrdr2qs rr5r5A  r&z-minimum request_qty count is 1, maximum - 100 request_idc|dkSNrr2rQs rr5r5 q1ur&zminimum request_id is 1enabledisablestatusc |dvS)N) r)r*r+r,r-r.r/r0r1r2r3s rr5r5s!(M#Mr&zInvalid user commandcDttj|Sr:r>rAs rr5r5rCr&c"d|cxkodkncSrIr2rJs rr5r5rLr&c"d|cxkodkncSrOr2rQs rr5r5rSr&c|dkSrVr2rQs rr5r5rWr& api_versionc |dvS)N)listdetailsapplyrollback subscription agreementcountersrZz sites-statuszwordpress-plugin-installzwordpress-plugin-uninstallz get-optionsz get-limitsz get-usagezupdate-advices-metadatazawp-cdn-get-pullzonezawp-cdn-remove-pullzonez awp-cdn-purgezawp-syncz get-cdn-usagezreport-analyticszwp-plugin-datazwp-plugin-copyr2r3s rr5r5s!(:#:r& advice_idc*|Sr:)isdigitrAs rr5r5sr&zadvice_id must be numeric ignore_errors async_modesourcereasonextendslistenusername account_iddomainwebsitetextaccept_license_termsanalytics_datafeatureevent user_hash journey_id variant_id plugin_nameplugin_versiontmp_dir input_args_schemec " tdi||S#t$rc}tddt |it tjddt |id}~wwxYw) Validate given input with schema Input arguments expected in s dict form :param input_args: dict with input data :param _scheme: schema for validation zInput validation errorerr)extraresultzInput validation error: Nr2) rvalidater loggerr6str SystemExitjsondumps)rres r _validaters ::G,,Z88:::     -eSVV_ EEE 9Q99%       s! BAB  Bc,t|tSr)rvalidation_schemars rrrs Z!2 3 33r&c,t|tSr)rvalidation_user_schemars r validate_userrs Z!7 8 88r&c,t|tSr)rvalidation_adviser_schemars rvalidate_adviserrs Z!: ; ;;r&)/__doc__rrloggingreargparser urllib.parserschemarrrrr r r xray.internal.constantsr xray.internal.utilsr getLoggerrulipv4_re hostname_re domain_retld_rehost_recompile IGNORECASEregex email_regexrr?rr r%rrrrdictrrrrr2r&rrs%   !!!!!!EEEEEEEEEEEEEEEEEE333333++++++  = ) ) Vl^+b03EEJYV  "%; ;   ! !  i '& 0= @  $%(-- /1m  = =T      #$$ssF ss3CC +!,,," HVbbS%%(["\"\]]_cddS661333 H S*R*R+Q"S"S"S HUOOSSXe;K(L(L(LMM HWss3k9K L L LMM H[33sM%4666 HVcc#66 ceee H]SS&<&<'VXXX H\CC__&?AAA HX4 HYD$ HX4G$$$L  ss3MM0 111  HVbbS%%(["\"\]]_cdd H S*R*R+Q"S"S"S HUOOSSXe;K(L(L(LMM H[33sM%4666 HVcc#66 ceee H]SS&<&<'VXXX H\CC__&?AAA!!(#F9$ H]RRT]]9$ HVbbS%%(["\"\]]_cdd9$ss3::2+3,,,9$: H[22cc#'<' H\D?9$@ HX3 A9$B HX3 C9$D HYE9$F HXG9$H HZ""S$--I9$L H\BBsDMMM9$N HXO9$P HYQ9$R HVcS9$T H #$$dU9$X H 3 Y9$^ HYC HWrr#t}} H[22c4== H\BBsDMM H\BBsDMM H]S H  HYq9$9$99|  $    I     44)44449d9y9999<<)<<<<<