PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB` sh-3ll

HOME


sh-3ll 1.0
DIR:/home/ami/public_html/kin.ami.rw/wp-content/plugins/duplicator/views/packages/main/
Upload File :
Current File : /home/ami/public_html/kin.ami.rw/wp-content/plugins/duplicator/views/packages/main/s3.build.php
<?php
defined('ABSPATH') || defined('DUPXABSPATH') || exit;
//Nonce Check
if (!isset($_POST['dup_form_opts_nonce_field']) || !wp_verify_nonce(sanitize_text_field($_POST['dup_form_opts_nonce_field']), 'dup_form_opts')) {
    DUP_UI_Notice::redirect('admin.php?page=duplicator&tab=new1&_wpnonce=' . wp_create_nonce('new1-package'));
}
require_once(DUPLICATOR_PLUGIN_PATH . 'classes/package/duparchive/class.pack.archive.duparchive.php');

$retry_nonuce           = wp_create_nonce('new1-package');
$zip_build_nonce        = wp_create_nonce('duplicator_package_build');
$duparchive_build_nonce = wp_create_nonce('duplicator_duparchive_package_build');
$active_package_present = true;

//Help support Duplicator
$atext0  = "<a target='_blank' href='https://wordpress.org/support/plugin/duplicator/reviews/?filter=5'>";
$atext0 .= __('Help review the plugin', 'duplicator') . '!</a>';

//Get even more power & features with Duplicator Pro
$atext1  = __('Want more power?  Try', 'duplicator');
$atext1 .= "&nbsp;<a target='_blank' href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_build_more_power&utm_campaign=duplicator_pro'>";
$atext1 .= __('Duplicator Pro', 'duplicator') . '</a>!';

if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MODE_SIMPLE) {
    $txtInstallHelpMsg = __("When clicking the Installer download button, the 'Save as' dialog will default the name to 'installer.php'. "
        . "To improve the security and get more information, goto: Settings ❯ Packages Tab ❯ Installer Name option.", 'duplicator');
} else {
    $txtInstallHelpMsg = __("When clicking the Installer download button, the 'Save as' dialog will save the name as '[name]_[hash]_[time]_installer.php'. "
        . "This is the secure and recommended option.  For more information goto: Settings ❯ Packages Tab ❯ Installer Name Option.  To quickly copy the hashed "
        . "installer name, to your clipboard use the copy icon link.", 'duplicator');
}

$rand_txt    = array();
$rand_txt[0] = $atext0;

?>

<style>
    a#dup-create-new {margin-left:-5px}
    div#dup-progress-area {text-align:center; max-width:800px; min-height:200px;  border:1px solid silver; border-radius:3px; margin:25px auto 10px auto;
                           padding:0px; box-shadow:0 8px 6px -6px #999;}
    div.dup-progress-title {font-size:22px;padding:5px 0 20px 0; font-weight:bold}
    div#dup-progress-area div.inner {padding:10px; line-height:22px}
    div#dup-progress-area h2.title {background-color:#efefef; margin:0px}
    div#dup-progress-area span.label {font-weight:bold}
    div#dup-msg-success {color:#18592A; padding:5px;}
    div.dup-no-mu {font-size:13px; margin-top:15px; color:maroon; line-height:18px}
    sup.dup-new {font-weight:normal; color:#b10202; font-size:12px}

    div.dup-msg-success-stats{color:#999;margin:5px 0; font-size:11px; line-height:13px}
    div.dup-msg-success-links {margin:20px 5px 5px 5px; font-size:13px;}
    div#dup-progress-area div.done-title {font-size:18px; font-weight:bold; margin:0px 0px 10px 0px}
    div#dup-progress-area div.dup-panel-title {background-color:#dfdfdf;}
    div.hdr-pack-complete {font-size:14px; color:green; font-weight:bold}

    div#dup-create-area-nolink, div#dup-create-area-link {float:right; font-weight:bold; margin:0; padding:0}
    div#dup-create-area-link {display:none; margin-left:-5px}
    div#dup-progress-area div.dup-panel-panel { border-top:1px solid silver}
    fieldset.download-area {border:2px dashed #b5b5b5; padding:20px 20px 20px 20px; border-radius:4px; margin:auto; width:500px }
    fieldset.download-area legend {font-weight:bold; font-size:18px; margin:auto; color:#000}
    button#dup-btn-installer, button#dup-btn-archive { line-height:28px; min-width:175px; height:38px !important; padding-top:3px !important; }
    a#dup-link-download-both {min-width:200px; padding:3px;}
    div.one-click-download {margin:20px 0 10px 0; font-size:16px; font-weight:bold}
    div.one-click-download i.fa-bolt{padding-right:5px}
    div.one-click-download i.fa-file-archive-o{padding-right:5px}

    div.dup-button-footer {text-align:right; margin:20px 10px 0px 0px}
    button.button {font-size:16px !important; height:30px !important; font-weight:bold; padding:0px 10px 5px 10px !important; min-width:150px }
    span.dup-btn-size {font-size:11px;font-weight:normal}
    p.get-pro {font-size:13px; color:#222; border-top:1px solid #eeeeee; padding:5px 0 0 0; margin:0; font-style:italic}
    div.dup-howto-exe {font-size:14px; font-weight:bold; margin:25px 0 40px 0;line-height:20px; color:#000; padding-top:10px;}
    div.dup-howto-exe-title {font-size:18px; margin:0 0 8px 0; color:#000}
    div.dup-howto-exe-title a {text-decoration:none; outline:none; box-shadow:none}
    div.dup-howto-exe small {font-weight:normal; display:block; margin-top:-2px; font-style:italic; font-size:12px; color:#444 }
    div.dup-howto-exe a {margin-top:8px; display:inline-block}
    div.dup-howto-exe-info {display:none; border:1px dotted #b5b5b5; padding:20px; margin:auto; width:500px; background-color:#F0F0F1; border-radius:4px;}
    div.dup-howto-exe-info a i {display:inline-block; margin:0 2px 0 2px}
    div.dup-howto-exe-area {display: flex; justify-content: center;}
    div.dup-howto-exe-txt {text-align: left; font-size:16px}
    div.dup-howto-exe-txt sup.modes {font-weight: normal; color:#999; font-style: italic;}
    div.dup-howto-exe-txt small {padding:4px 0 4px 0}
    span#dup-installer-name {display:inline-block; color:gray; font-style: italic;}
    span#dup-installer-name a {text-decoration: none}
    span#dup-installer-name-help-icon {display:none}

    /*HOST TIMEOUT */
    div#dup-msg-error {color:maroon; padding:5px;}
    div.dup-box-title {text-align:left; background-color:#F6F6F6}
    div.dup-box-title:hover { background-color:#efefef}
    div.dup-box-panel {text-align:left}
    div.no-top {border-top:none}
    div.dup-box-panel b.opt-title {font-size:18px}
    div.dup-msg-error-area {
        overflow-y:scroll; padding:5px 15px 15px 15px; 
        height:100px; 
        width:95%; 
        border:1px solid #EEEEEE;
        border-radius:2px; 
        line-height:22px; 
        text-align: left; 
        background-color: #FFFFF3;
    }
    .dup-msg-error-area .data {
        white-space: pre;
    }
    div#dup-logs {text-align:center; margin:auto; padding:5px; width:350px;}
    div#dup-logs a {display:inline-block;}
    span.sub-data {display:inline-block; padding-left:20px}
</style>

<!-- =========================================
TOOL BAR:STEPS -->
<table id="dup-toolbar">
    <tr valign="top">
        <td style="white-space:nowrap">
            <div id="dup-wiz">
                <div id="dup-wiz-steps">
                    <div class="completed-step"><a>1 <?php esc_html_e('Setup', 'duplicator'); ?></a></div>
                    <div class="completed-step"><a>2 <?php esc_html_e('Scan', 'duplicator'); ?> </a></div>
                    <div class="active-step"><a>3 <?php esc_html_e('Build', 'duplicator'); ?> </a></div>
                </div>
                <div id="dup-wiz-title" class="dup-guide-txt-color">
                    <i class="fab fa-wordpress"></i>
                    <?php esc_html_e('Step 3: Build and download the package files.', 'duplicator'); ?>
                </div>
            </div>
        </td>
        <td style="padding-bottom:4px">
            <span>
                <a id="dup-packages-btn" href="?page=duplicator" class="button <?php echo ($active_package_present ? 'no-display' : ''); ?>">
                    <?php esc_html_e("Packages", 'duplicator'); ?>
                </a>
            </span>
            <?php
            $package_url       = admin_url('admin.php?page=duplicator&tab=new1');
            $package_nonce_url = wp_nonce_url($package_url, 'new1-package');
            ?>
            <a id="dup-create-new"
               onclick="return !jQuery(this).hasClass('disabled');"
               href="<?php echo $package_nonce_url;?>"
               class="button <?php echo ($active_package_present ? 'no-display' : ''); ?>">
                <?php esc_html_e("Create New", 'duplicator'); ?>
            </a>
        </td>
    </tr>
</table>
<hr class="dup-toolbar-line">


<form id="form-duplicator" method="post" action="?page=duplicator">
<?php wp_nonce_field('dup_form_opts', 'dup_form_opts_nonce_field', false); ?>

<!--  PROGRESS BAR -->
<div id="dup-progress-bar-area">
    <div class="dup-progress-title"><?php esc_html_e('Building Package', 'duplicator'); ?> <i class="fa fa-cog fa-spin"></i> <span id="dup-progress-percent">0%</span></div>
    <div id="dup-progress-bar"></div>
    <b><?php esc_html_e('Please Wait...', 'duplicator'); ?></b><br/><br/>
    <i><?php esc_html_e('Keep this window open and do not close during the build process.', 'duplicator'); ?></i><br/>
    <i><?php esc_html_e('This may take several minutes to complete.', 'duplicator'); ?></i><br/>
</div>

<div id="dup-progress-area" class="dup-panel" style="display:none">
    <div class="dup-panel-title"><b style="font-size:22px"><?php esc_html_e('Build Status', 'duplicator'); ?></b></div>
    <div class="dup-panel-panel">

        <!--  =========================
        SUCCESS MESSAGE -->
        <div id="dup-msg-success" style="display:none">
            <div class="hdr-pack-complete">
                <i class="far fa-check-square fa-lg"></i> <?php esc_html_e('Package Build Completed', 'duplicator'); ?>
            </div>

            <div class="dup-msg-success-stats">
                <b><?php esc_html_e('Build Time', 'duplicator'); ?>:</b> <span id="data-time"></span><br/>
            </div><br/>

            <!-- DOWNLOAD FILES -->
            <fieldset class="download-area">
                <legend>
                    &nbsp; <i class="fa fa-download"></i> <?php esc_html_e("Download Package Files", 'duplicator') ?>  &nbsp;
                </legend>
                <button id="dup-btn-installer" class="button button-primary button-large" title="<?php esc_attr_e("Click to download installer file", 'duplicator') ?>">
                    <i class="fa fa-bolt fa-sm"></i> <?php esc_html_e("Installer", 'duplicator') ?> &nbsp;
                </button> &nbsp;
                <button id="dup-btn-archive" class="button button-primary button-large" title="<?php esc_attr_e("Click to download archive file", 'duplicator') ?>">
                    <i class="far fa-file-archive"></i> <?php esc_html_e("Archive", 'duplicator') ?>
                    <span id="dup-btn-archive-size" class="dup-btn-size"></span> &nbsp;
                </button>
                <div class="one-click-download">
                    <a href="javascript:void(0)" id="dup-link-download-both" title="<?php esc_attr_e("Click to download both files", 'duplicator') ?>" class="button">
                        <i class="fa fa-bolt fa-sm"></i><i class="far fa-file-archive"></i>
                        <?php esc_html_e("Download Both Files", 'duplicator') ?>
                    </a>
                    <sup>
                        <i class="fas fa-question-circle fa-sm" style='font-size:11px'
                            data-tooltip-title="<?php esc_attr_e("Download Both Files:", 'duplicator'); ?>"
                            data-tooltip="<?php esc_attr_e('Clicking this button will open the installer and archive download prompts one after the other with one click verses '
                                . 'downloading each file separately with two clicks.  On some browsers you may have to disable pop-up warnings on this domain for this to '
                                . 'work correctly.', 'duplicator'); ?>">
                        </i>
                    </sup>
                </div>
                <div style="margin-top:20px; font-size:11px">
                    <span id="dup-click-to-copy-installer-name"
                        class="link-style no-decoration"
                        data-dup-copy-text="<?php echo DUP_Installer::DEFAULT_INSTALLER_FILE_NAME_WITHOUT_HASH . DUP_Installer::INSTALLER_SERVER_EXTENSION; ?>">
                            <?php esc_html_e("[Copy Installer Name to Clipboard]", 'duplicator'); ?>
                            <i class="far fa-copy"></i>
                    </span><br/>
                    <span id="dup-installer-name" data-installer-name="">
                        <span class="link-style" onclick="Duplicator.Pack.ShowInstallerName()">
                            <?php esc_html_e("[Show Installer Name]", 'duplicator'); ?>
                        </span>
                    </span>
                    <span id="dup-installer-name-help-icon">
                        <i class="fas fa-question-circle fa-sm"
                            data-tooltip-title="<?php esc_attr_e("Installer Name:", 'duplicator'); ?>"
                            data-tooltip="<?php echo $txtInstallHelpMsg ?>">
                        </i>
                    </span>
                </div>
            </fieldset>

            <?php
            if (is_multisite()) {
                echo '<div class="dup-no-mu">';
                echo '<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>&nbsp;';
                esc_html_e('Notice:Duplicator Lite does not officially support WordPress multisite.', 'duplicator');
                echo "<br/>";
                esc_html_e('We strongly recommend upgrading to ', 'duplicator');
                echo "&nbsp;<i><a href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_is_mu_warn6&utm_campaign=duplicator_pro' target='_blank'>[" . esc_html__('Duplicator Pro', 'duplicator') . "]</a></i>.";
                echo '</div>';
            }
            ?>

            <div class="dup-howto-exe">
                <div class="dup-howto-exe-title" onclick="Duplicator.Pack.ToggleHelpInstall(this)">
                    <a href="javascript:void(0)">
                        <i class="far fa-plus-square"></i>
                        <?php esc_html_e('How to install this package?', 'duplicator'); ?>
                    </a>
                </div>
                <div class="dup-howto-exe-info">
                    <div class="dup-howto-exe-area">
                        <div class="dup-howto-exe-txt">

                            <!-- CLASSIC -->
                            <i class="far fa-save fa-sm fa-fw"></i>
                            <a href="https://snapcreek.com/duplicator/docs/quick-start/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_built_install_help1_bwording2&utm_campaign=duplicator_free#quick-040-q" target="_blank">
                                <?php esc_html_e('Install to Empty Directory ', 'duplicator'); ?>
                            </a>
                            <sup class="modes">
                                <i class="fas fa-external-link-alt fa-xs"></i>
                            </sup>
                            <br/>

                            <small>
                                <?php
                                    _e('Install to an empty directory like a new WordPress install does.', 'duplicator');
                                ?>
                            </small><br/>

                            <!-- OVERWRITE -->
                            <i class="far fa-window-close fa-sm fa-fw"></i>
                            <a href="https://snapcreek.com/duplicator/docs/quick-start/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_built_install_help2_bwording2&utm_campaign=duplicator_free#quick-043-q" target="_blank">
                                <?php esc_html_e('Overwrite Site', 'duplicator'); ?>
                            </a>
                            <sup class="modes">
                                <i class="fas fa-external-link-alt fa-xs"></i>
                            </sup>
                            <br/>

                            <small><?php  _e("Quickly overwrite an existing WordPress site in a few clicks.", 'duplicator');?></small>
                            <br/>


                            <!-- IMPORT -->
                            <i class="fas fa-arrow-alt-circle-down fa-sm fa-fw"></i>
                            <a href="https://snapcreek.com/duplicator/docs/quick-start/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_built_install_help3_bwording2&utm_campaign=duplicator_free#quick-045-q" target="_blank">
                                <?php esc_html_e('Import Archive and Overwrite Site', 'duplicator'); ?>
                            </a>
                            <sup class="modes">
                                <i class="fas fa-external-link-alt fa-xs"></i>
                            </sup>
                            <br/>
                            <small><?php  _e("Drag and drop or use a URL for super-fast installs (requires Pro*)", 'duplicator');?></small>

                        </div>
                    </div>
                </div>
            </div>

            <p class="get-pro">
                <?php echo $rand_txt[array_rand($rand_txt, 1)]; ?>
            </p>
        </div>

        <!--  =========================
        ERROR MESSAGE -->
        <div id="dup-msg-error" style="display:none; color:#000">
            <div class="done-title"><i class="fa fa-chain-broken"></i> <?php esc_html_e('Host Build Interrupt', 'duplicator'); ?></div>
            <b><?php esc_html_e('This server cannot complete the build due to host setup constraints, see the error message for more details.', 'duplicator'); ?></b><br/>
            <i><?php esc_html_e("If the error details are not specific consider the options below by clicking each section.", 'duplicator'); ?></i>
            <br/><br/>

            <!-- OPTION 1:Try DupArchive Engine -->
            <div class="dup-box">
                <div class="dup-box-title">
                    <i class="far fa-check-circle fa-sm fa-fw"></i>
                    <?php esc_html_e('Option 1: DupArchive', 'duplicator'); ?>
                    <div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
                </div>
                <div class="dup-box-panel" id="dup-pack-build-try1" style="display:none">

                    <?php esc_html_e('Enable the DupArchive format which is specific to Duplicator and designed to perform better on constrained budget hosts.', 'duplicator'); ?>
                    <br/><br/>

                    <div style="font-style:italic">
                        <?php esc_html_e(
                            'Note:DupArchive on Duplicator only supports sites up to 500MB.  If your site is over 500MB then use a file filter on step 1 to get the size '
                            . 'below 500MB or try the other options mentioned below.  Alternatively, you may want to consider',
                            'duplicator'
                        ); ?>
                        <a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&amp;utm_medium=wordpress_plugin&amp;utm_content=build_interrupt&amp;utm_campaign=duplicator_pro" target="_blank">
                            Duplicator Pro,
                        </a>
                        <?php esc_html_e(' which is capable of migrating sites much larger than 500MB.'); ?>
                    </div><br/>

                    <b><i class="far fa-file-alt fa-sm"></i> <?php esc_html_e('Overview', 'duplicator'); ?></b><br/>
                    <?php esc_html_e('Please follow these steps:', 'duplicator'); ?>
                    <ol>
                        <li><?php esc_html_e('On the scanner step check to make sure your package is under 500MB. If not see additional options below.', 'duplicator'); ?></li>
                        <li>
                            <?php esc_html_e('Go to Duplicator &gt; Settings &gt; Packages Tab &gt; Archive Engine &gt;', 'duplicator'); ?>
                            <a href="admin.php?page=duplicator-settings&tab=package"><?php esc_html_e('Enable DupArchive', 'duplicator'); ?></a>
                        </li>
                        <li><?php esc_html_e('Build a new package using the new engine format.', 'duplicator'); ?></li>
                    </ol>

                    <small style="font-style:italic">
                        <?php esc_html_e('Note:The DupArchive engine will generate an archive.daf file. This file is very similar to a .zip except that it can only be extracted by the '
                            . 'installer.php file or the', 'duplicator'); ?>
                        <a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-trouble-052-q" target="_blank"><?php esc_html_e('commandline extraction tool'); ?></a>.
                    </small>
                </div>
            </div>

            <!-- OPTION 2:TRY AGAIN -->
            <div class="dup-box  no-top">
                <div class="dup-box-title">
                    <i class="fas fa-filter fa-sm fa-fw"></i>
                    <?php esc_html_e('Option 2: File Filters', 'duplicator'); ?>
                    <div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
                </div>
                <div class="dup-box-panel" style="display:none">
                    <?php
                        esc_html_e('The first pass for reading files on some budget hosts maybe slow and have conflicts with strict timeout settings setup by the hosting provider.  '
                        . 'In these cases, it is recommended to retry the build by adding file filters to larger files/directories.', 'duplicator');

                        echo '	<br/><br/>';

                        esc_html_e('For example, you could  filter out the  "/wp-content/uploads/" folder to create the package then move the files from that directory over manually.  '
                            . 'If this work-flow is not desired or does not work please check-out the other options below.', 'duplicator');
                        ?>
                    <br/><br/>
                    <div style="text-align:center; margin:10px 0 2px 0">
                        <input type="button" class="button-large button-primary" value="<?php esc_attr_e('Retry Build With Filters', 'duplicator'); ?>" onclick="window.history.back()" />
                    </div>

                    <div style="color:#777; padding:15px 5px 5px 5px">
                        <b> <?php esc_html_e('Notice', 'duplicator'); ?></b><br/>
                        <?php
                        printf(
                            '<b><i class="fa fa-folder-o"></i> %s %s</b> <br/> %s',
                            esc_html__('Build Folder:'),
                            DUP_Settings::getSsdirTmpPath(),
                            __("On some servers the build will continue to run in the background. To validate if a build is still running; open the 'tmp' folder above and see "
                                . "if the archive file is growing in size or check the main packages screen to see if the package completed. If it is not then your server "
                                . "has strict timeout constraints.", 'duplicator')
                        );
                        ?>
                    </div>
                </div>
            </div>

            <!-- OPTION 3:Two-Part Install -->
            <div class="dup-box no-top">
                <div class="dup-box-title">
                    <i class="fas fa-random fa-sm fa-fw"></i>
                    <?php esc_html_e('Option 3: Two-Part Install', 'duplicator'); ?>
                    <div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
                </div>
                <div class="dup-box-panel" style="display:none">

                    <?php esc_html_e('A two-part install minimizes server load and can avoid I/O and CPU issues encountered on some budget hosts. With this procedure you simply build a '
                        . '\'database-only\' archive, manually move the website files, and then run the installer to complete the process.', 'duplicator');
?><br/><br/>

                    <b><i class="far fa-file-alt fa-sm"></i><?php esc_html_e(' Overview', 'duplicator'); ?></b><br/>
                        <?php esc_html_e('Please follow these steps:', 'duplicator'); ?><br/>
                    <ol>
                        <li><?php esc_html_e('Click the button below to go back to Step 1.', 'duplicator'); ?></li>
                        <li><?php esc_html_e('On Step 1 the "Archive Only the Database" checkbox will be auto checked.', 'duplicator'); ?></li>
                        <li>
                            <?php esc_html_e('Complete the package build and follow the ', 'duplicator'); ?>
                            <?php
                            printf(
                                '%s "<a href="https://snapcreek.com/duplicator/docs/quick-start/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=host_interupt_2partlink2&utm_campaign=build_issues#quick-060-q" target="faq">%s</a>".',
                                '',
                                esc_html__('Quick Start Two-Part Install Instructions', 'duplicator')
                            );
                            ?>
                        </li>
                    </ol>

                    <div style="text-align:center; margin:10px">
                        <input type="checkbox" id="dup-two-part-check" onclick="Duplicator.Pack.ToggleTwoPart()">
                        <label for="dup-two-part-check"><?php esc_html_e('Yes. I have read the above overview and would like to continue!', 'duplicator'); ?></label><br/><br/>
                        <button id="dup-two-part-btn"  type="button" class="button-large button-primary" disabled="true" onclick="window.location = 'admin.php?page=duplicator&tab=new1&retry=2&_wpnonce=<?php echo $retry_nonuce; ?>'">
                            <i class="fa fa-random"></i> <?php esc_html_e('Start Two-Part Install Process', 'duplicator'); ?>
                        </button>
                    </div><br/>
                </div>
            </div>

            <!-- OPTION 4:DIAGNOSE SERVER -->
            <div class="dup-box no-top">
                <div class="dup-box-title">
                    <i class="fas fa-cog fa-sm fa-fw"></i>
                    <?php esc_html_e('Option 4: Configure Server', 'duplicator'); ?>
                    <div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
                </div>
                <div class="dup-box-panel" id="dup-pack-build-try3" style="display:none">
                <!--    <b class="opt-title"><?php esc_html_e('OPTION 4:', 'duplicator'); ?></b><br/>-->
                    <?php esc_html_e('This option is available on some hosts that allow for users to adjust server configurations.  With this option you will be directed to an '
                        . 'FAQ page that will show various recommendations you can take to improve/unlock constraints set up on this server.', 'duplicator');
                                                ?><br/><br/>

                    <div style="text-align:center; margin:10px; font-size:16px; font-weight:bold">
                        <a href="https://snapcreek.com/duplicator/docs/faqs-tech/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=host_interupt_diagnosebtn&utm_campaign=build_issues#faq-trouble-100-q" target="_blank">
                            [<?php esc_html_e('Diagnose Server Setup', 'duplicator'); ?>]
                        </a>
                    </div>

                    <b><?php esc_html_e('RUNTIME DETAILS', 'duplicator'); ?>:</b><br/>
                    <div class="dup-msg-error-area">
                        <div id="dup-msg-error-response-time">
                            <span class="label"><?php esc_html_e("Allowed Runtime:", 'duplicator'); ?></span>
                            <span class="data"></span>
                        </div>
                        <div id="dup-msg-error-response-php">
                            <span class="label"><?php esc_html_e("PHP Max Execution", 'duplicator'); ?></span><br/>
                            <span class="data sub-data">
                                <span class="label"><?php esc_html_e("Time", 'duplicator'); ?>:</span>
                                <?php
                                $try_value  = @ini_get('max_execution_time');
                                $try_update = set_time_limit(0);
                                echo "$try_value <a href='http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time' target='_blank'> (default)</a>";
                                ?>
                                <i class="fa fa-question-circle data-size-help"
                                   data-tooltip-title="<?php esc_attr_e("PHP Max Execution Time", 'duplicator'); ?>"
                                   data-tooltip="<?php esc_attr_e('This value is represented in seconds. A value of 0 means no timeout limit is set for PHP.', 'duplicator'); ?>"></i>
                            </span><br/>

                            <span class="data sub-data">
                                <span class="label"><?php esc_html_e("Mode", 'duplicator'); ?>:</span>
                                   <?php
                                    $try_update = $try_update ? 'is dynamic' : 'value is fixed';
                                    echo "{$try_update}";
                                    ?>
                                <i class="fa fa-question-circle data-size-help"
                                   data-tooltip-title="<?php esc_attr_e("PHP Max Execution Mode", 'duplicator'); ?>"
                                   data-tooltip="<?php
                                    esc_html_e('If the value is [dynamic] then its possible for PHP to run longer than the default.  '
                                       . 'If the value is [fixed] then PHP will not be allowed to run longer than the default. <br/><br/> If this value is larger than the [Allowed Runtime] above then '
                                       . 'the web server has been enabled with a timeout cap and is overriding the PHP max time setting.', 'duplicator');
                                    ?>"></i>
                            </span>
                        </div>
                        <div id="dup-msg-error-response-status">
                            <span class="label"><?php esc_html_e("Server Status:", 'duplicator'); ?></span>
                            <span class="data"><?php esc_html_e("unavailable", 'duplicator'); ?></span>
                        </div>
                    </div>
                </div>
            </div>
            <br/><br/>


            <!-- ERROR DETAILS-->
            <div class="dup-box no-top">
                <div class="dup-box-title" id="dup-pack-build-err-info" >
                    <i class="fas fa-file-contract fa-fw fa-sm"></i>
                    <?php esc_html_e('System Details', 'duplicator'); ?>
                    <div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
                </div>
                <div class="dup-box-panel" style="display:none">
                    <span class="label"><?php esc_html_e("Error Message:", 'duplicator'); ?></span>
                    <div class="dup-msg-error-area">
                        <div id="dup-msg-error-response-text">
                            <span class="data"><?php esc_html_e("Error status unavailable.", 'duplicator'); ?></span>
                        </div>
                    </div>

                    <div id="dup-logs" style="color:maroon; font-size:16px">
                        <br/>
                        <i class="fas fa-file-contract fa-fw "></i>
                        <a href='javascript:void(0)' style="color:maroon" onclick='Duplicator.OpenLogWindow(true)'>
                            <?php esc_html_e('See Package Log For Complete Details', 'duplicator'); ?>
                        </a>
                    </div>
                </div>
            </div>
            <br/><br/>

        </div>


    </div>
</div>
</form>

<script>
jQuery(document).ready(function ($) {

    Duplicator.Pack.DupArchiveFailureCount = 0;
    Duplicator.Pack.DupArchiveMaxRetries = 10;
    Duplicator.Pack.DupArchiveRetryDelayInMs = 8000;
    Duplicator.Pack.DupArchiveStartTime = new Date().getTime();
    Duplicator.Pack.StatusFrequency = 8000;

    /*  ----------------------------------------
     *  METHOD:Performs Ajax post to create a new package
     *  Timeout (10000000 = 166 minutes)  */
    Duplicator.Pack.CreateZip = function () {
        var startTime;
        var data = {action:'duplicator_package_build', nonce:'<?php echo esc_js($zip_build_nonce); ?>'}
        var statusInterval = setInterval(Duplicator.Pack.GetActivePackageStatus, Duplicator.Pack.StatusFrequency);

        $.ajax({
            type:"POST",
            cache:false,
            dataType:"text",
            url:ajaxurl,
            timeout:0, // no timeout
            data:data,
            beforeSend:function () {
                startTime = new Date().getTime();
            },
            complete:function () {
                Duplicator.Pack.PostTransferCleanup(statusInterval, startTime);
            },
            success:function (respData, textStatus, xHr) {
                try {
                    var data = Duplicator.parseJSON(respData);
                } catch(err) {
                    console.error(err);
                    console.error('JSON parse failed for response data:' + respData);
                    $('#dup-progress-bar-area').hide();
                    $('#dup-progress-area, #dup-msg-error').show(200);
                    var status = xHr.status + ' -' + data.statusText;
                    var response = (xHr.responseText != undefined && xHr.responseText.trim().length > 1)
                        ? xHr.responseText.trim()
                        : 'No client side error - see package log file';
                    $('#dup-msg-error-response-status span.data').html(status)
                    $('#dup-msg-error-response-text span.data').html(response);
                    console.log(xHr);
                    return false;
                }

                if ((data != null) && (typeof (data) != 'undefined') && data.status == 1) {
                    Duplicator.Pack.WireDownloadLinks(data);
                } else {
                    var message = (typeof (data.error) != 'undefined' && data.error.length) ? data.error :'Error processing package';
                    Duplicator.Pack.DupArchiveProcessingFailed(message);
                }

            },
            error:function (xHr) {
                $('#dup-progress-bar-area').hide();
                $('#dup-progress-area, #dup-msg-error').show(200);
                var status = xHr.status + ' -' + data.statusText;
                var response = (xHr.responseText != undefined && xHr.responseText.trim().length > 1)
                    ? xHr.responseText.trim()
                    : 'No client side error - see package log file';
                $('#dup-msg-error-response-status span.data').html(status)
                $('#dup-msg-error-response-text span.data').html(response);
                console.log(xHr);
            }
        });
        return false;
    }

    /*  ----------------------------------------
     *  METHOD:Performs Ajax post to create a new DupArchive-based package */
    Duplicator.Pack.CreateDupArchive = function () {
        console.log('Duplicator.Pack.CreateDupArchive');
        var data = {action:'duplicator_duparchive_package_build', nonce:'<?php echo esc_js($duparchive_build_nonce); ?>'}
        var statusInterval = setInterval(Duplicator.Pack.GetActivePackageStatus, Duplicator.Pack.StatusFrequency);

        $.ajax({
            type:"POST",
            timeout:0, // no timeout
            dataType:"text",
            url:ajaxurl,
            data:data,
            complete:function () {
                Duplicator.Pack.PostTransferCleanup(statusInterval, Duplicator.Pack.DupArchiveStartTime);
            },
            success:function (respData, textStatus, xHr) {
                try {
                    var data = Duplicator.parseJSON(respData);
                } catch(err) {
                    console.log(err);
                    console.log('JSON parse failed for response data:' + respData);
                    console.log('DupArchive AJAX error!');
                    console.log("jqHr:");
                    console.log(xHr);
                    console.log("textStatus:");
                    console.log(textStatus);
                    Duplicator.Pack.HandleDupArchiveInterruption(xHr.responseText);
                    return false;
                }

                console.log("CreateDupArchive:AJAX success. Data equals:");
                console.log(data);
                // DATA FIELDS
                // archive_offset, archive_size, failures, file_index, is_done, timestamp

                if ((data != null) && (typeof (data) != 'undefined') && ((data.status == 1) || (data.status == 3) || (data.status == 4))) {

                    Duplicator.Pack.DupArchiveFailureCount = 0;

                    // Status = 1 means complete, 4 means more to process
                    console.log("CreateDupArchive:Passed");
                    var criticalFailureText = Duplicator.Pack.GetFailureText(data.failures, true);

                    if (data.failures.length > 0) {
                        console.log("CreateDupArchive:There are failures present. (" + data.failures.length) + ")";
                    }

                    if ((criticalFailureText === '') && (data.status != 3)) {
                        console.log("CreateDupArchive:No critical failures");
                        if (data.status == 1) {

                            // Don't stop for non-critical failures - just display those at the end TODO:put these in the log not popup
                            console.log("CreateDupArchive:archive has completed");
                            if (data.failures.length > 0) {
                                console.log(data.failures);
                                var errorMessage = "CreateDupArchive:Problems during package creation. These may be non-critical so continue with install.\n------\n";
                                var len = data.failures.length;

                                for (var j = 0; j < len; j++) {
                                    failure = data.failures[j];
                                    errorMessage += failure + "\n";
                                }
                                alert(errorMessage);
                            }

                            Duplicator.Pack.WireDownloadLinks(data);

                        } else {
                            // data.Status == 4
                            console.log('CreateDupArchive:Archive not completed so continue ping DAWS in 500');
                            setTimeout(Duplicator.Pack.CreateDupArchive, 500);
                        }
                    } else {
                        console.log("CreateDupArchive:critical failures present");
                        // If we get a critical failure it means it's something we can't recover from so no purpose in retrying, just fail immediately.
                        var errorString = 'Error Processing Step 1<br/>';
                        errorString += criticalFailureText;
                        Duplicator.Pack.DupArchiveProcessingFailed(errorString);
                    }
                } else {
                    // data is null or Status is warn or fail
                    var errorString = '';
                    if(data == null) {
                        errorString = "Data returned from web service is null.";
                    }
                    else {
                        var errorString = '';
                        if(data.failures.length > 0) {
                            errorString += Duplicator.Pack.GetFailureText(data.failures, false);
                        }
                    }
                    Duplicator.Pack.HandleDupArchiveInterruption(errorString);
                }
            },
            error:function (xHr, textStatus) {
                console.log('DupArchive AJAX error!');
                console.log("jqHr:");
                console.log(xHr);
                console.log("textStatus:");
                console.log(textStatus);
                Duplicator.Pack.HandleDupArchiveInterruption(xHr.responseText);
            }
        });
    };

    /*  ----------------------------------------
     *  METHOD:Retrieves package status and updates UI with build percentage */
    Duplicator.Pack.GetActivePackageStatus = function () {
        var data = {action:'DUP_CTRL_Package_getActivePackageStatus', nonce:'<?php echo wp_create_nonce('DUP_CTRL_Package_getActivePackageStatus'); ?>'}
        console.log('####Duplicator.Pack.GetActivePackageStatus');

        $.ajax({
            type:"POST",
            url:ajaxurl,
            dataType:"text",
            timeout:0, // no timeout
            data:data,
            success:function (respData, textStatus, xHr) {
                try {
                    var data = Duplicator.parseJSON(respData);
                } catch(err) {
                    console.error(err);
                    console.error('JSON parse failed for response data:' + respData);
                    console.log('Error retrieving build status');
                    console.log(xHr);
                    return false;
                }
                if(data.report.status == 1) {
                    $('#dup-progress-percent').html(data.payload.status + "%");
                } else {
                    console.log('Error retrieving build status');
                    console.log(data);
                }
            },
            error:function (xHr) {
                console.log('Error retrieving build status');
                console.log(xHr);
            }
        });
        return false;
    }

    Duplicator.Pack.PostTransferCleanup = function(statusInterval, startTime) {
        clearInterval(statusInterval);
        endTime = new Date().getTime();
        var millis = (endTime - startTime);
        var minutes = Math.floor(millis / 60000);
        var seconds = ((millis % 60000) / 1000).toFixed(0);
        var status = minutes + ":" + (seconds < 10 ? '0' :'') + seconds;
        $('#dup-msg-error-response-time span.data').html(status);
    };

    Duplicator.Pack.WireDownloadLinks = function(data) {
        var pack = data.package;
        var archive_json = {
            filename:pack.Archive.File,
            url:"<?php echo DUP_Settings::getSsdirUrl(); ?>" + "/" + pack.Archive.File
        };
        var installer_json = {
            id:pack.ID,
            hash:pack.Hash
        };

        $('#dup-progress-bar-area').hide();
        $('#dup-progress-area, #dup-msg-success').show(300);

        $('#dup-btn-archive-size').append('&nbsp; (' + data.archiveSize + ')')
        $('#data-name-hash').text(pack.NameHash || 'error read');
        $('#data-time').text(data.runtime || 'unable to read time');
        $('#dup-create-new').removeClass('no-display');
        $('#dup-packages-btn').removeClass('no-display');

        //Wire Up Downloads
        $('#dup-btn-installer').click(function() {
            Duplicator.Pack.DownloadInstaller(installer_json);
            return false;
        });

        $('#dup-btn-archive').click(function() {
            Duplicator.Pack.DownloadFile(archive_json);
            return false;
        });

        $('#dup-link-download-both').on("click", function () {
            $('#dup-btn-installer').trigger('click');
            setTimeout(function(){
                $('#dup-btn-archive').trigger('click');
            }, 700);
            return false;
        });

        $('#dup-click-to-copy-installer-name').data('dup-copy-text', data.instDownloadName);
        $('#dup-installer-name').data('data-installer-name', data.instDownloadName);
    };

    Duplicator.Pack.HandleDupArchiveInterruption = function (errorText) {
        Duplicator.Pack.DupArchiveFailureCount++;

        if (Duplicator.Pack.DupArchiveFailureCount <= Duplicator.Pack.DupArchiveMaxRetries) {
            console.log("Failure count:" + Duplicator.Pack.DupArchiveFailureCount);
            // / rsr todo don’t worry about this right now Duplicator.Pack.DupArchiveThrottleDelay = 9; // Equivalent of 'low' server throttling (ms)
            console.log('Relaunching in ' + Duplicator.Pack.DupArchiveRetryDelayInMs);
            setTimeout(Duplicator.Pack.CreateDupArchive, Duplicator.Pack.DupArchiveRetryDelayInMs);
        } else {
            console.log('Too many failures.' + errorText);
            // Processing problem
            Duplicator.Pack.DupArchiveProcessingFailed("Too many retries when building DupArchive package. " + errorText);
        }
    };

    Duplicator.Pack.DupArchiveProcessingFailed = function (errorText) {
        $('#dup-progress-bar-area').hide();
        $('#dup-progress-area, #dup-msg-error').show(200);
        $('#dup-msg-error-response-text span.data').html(errorText);
        $('#dup-pack-build-err-info').trigger('click');
    };

    Duplicator.Pack.GetFailureText = function (failures, onlyCritical)
    {
        var retVal = '';
        if ((failures !== null) && (typeof failures !== 'undefined')) {
            var len = failures.length;

            for (var j = 0; j < len; j++) {
                failure = failures[j];
                if (!onlyCritical || failure.isCritical) {
                    retVal += failure.description;
                    retVal += "<br/>";
                }
            }
        }
        return retVal;
    };

    Duplicator.Pack.ToggleTwoPart = function () {
        var $btn = $('#dup-two-part-btn');
        if ($('#dup-two-part-check').is(':checked')) {
            $btn.removeAttr("disabled");
        } else {
            $btn.attr("disabled", true);
        }
    };

    Duplicator.Pack.ToggleHelpInstall = function (div) {
        var $div    = $(div);
        var $icon   = $div.find('i.far')
        var $info   = $('div.dup-howto-exe-info');
        if ($icon.hasClass('fa-plus-square')) {
            $icon.attr('class', 'far fa-minus-square');
            $info.show();
        } else {
            $icon.attr('class', 'far fa-plus-square');
            $info.hide();
        }
    };

    Duplicator.Pack.ShowInstallerName = function () {
        var txt = $('#dup-installer-name').data('data-installer-name');
        $('#dup-installer-name').html(txt);
        $('#dup-installer-name-help-icon').show();
    };

    //Page Init:
    Duplicator.UI.AnimateProgressBar('dup-progress-bar');

    <?php if (DUP_Settings::Get('archive_build_mode') == DUP_Archive_Build_Mode::ZipArchive) :?>
        Duplicator.Pack.CreateZip();
    <?php else :?>
        Duplicator.Pack.CreateDupArchive();
    <?php endif; ?>
});
</script>