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`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/htlwork.com/www/dev/vendor/core/core/base/libraries/sortable/
Upload File :
Current File : /home/htlwork.com/www/dev/vendor/core/core/base/libraries/sortable/sortable.min.js
/*! Sortable 1.7.0 - MIT | git://github.com/rubaxa/Sortable.git */
!(function(a) {
    "use strict";
    "function" == typeof define && define.amd
        ? define(a)
        : "undefined" != typeof module && "undefined" != typeof module.exports
        ? (module.exports = a())
        : (window.Sortable = a());
})(function() {
    "use strict";
    function a(b, c) {
        if (!b || !b.nodeType || 1 !== b.nodeType)
            throw "Sortable: `el` must be HTMLElement, and not " +
            {}.toString.call(b);
        (this.el = b), (this.options = c = t({}, c)), (b[V] = this);
        var d = {
            group: Math.random(),
            sort: !0,
            disabled: !1,
            store: null,
            handle: null,
            scroll: !0,
            scrollSensitivity: 30,
            scrollSpeed: 10,
            draggable: /[uo]l/i.test(b.nodeName) ? "li" : ">*",
            ghostClass: "sortable-ghost",
            chosenClass: "sortable-chosen",
            dragClass: "sortable-drag",
            ignore: "a, img",
            filter: null,
            preventOnFilter: !0,
            animation: 0,
            setData: function(a, b) {
                a.setData("Text", b.textContent);
            },
            dropBubble: !1,
            dragoverBubble: !1,
            dataIdAttr: "data-id",
            delay: 0,
            forceFallback: !1,
            fallbackClass: "sortable-fallback",
            fallbackOnBody: !1,
            fallbackTolerance: 0,
            fallbackOffset: { x: 0, y: 0 },
            supportPointer: a.supportPointer !== !1
        };
        for (var e in d) !(e in c) && (c[e] = d[e]);
        ka(c);
        for (var g in this)
            "_" === g.charAt(0) &&
            "function" == typeof this[g] &&
            (this[g] = this[g].bind(this));
        (this.nativeDraggable = !c.forceFallback && ca),
            f(b, "mousedown", this._onTapStart),
            f(b, "touchstart", this._onTapStart),
        c.supportPointer && f(b, "pointerdown", this._onTapStart),
        this.nativeDraggable && (f(b, "dragover", this), f(b, "dragenter", this)),
            ia.push(this._onDragOver),
        c.store && this.sort(c.store.get(this));
    }
    function b(a, b) {
        "clone" !== a.lastPullMode && (b = !0),
        B &&
        B.state !== b &&
        (i(B, "display", b ? "none" : ""),
        b ||
        (B.state &&
            (a.options.group.revertClone
                ? (C.insertBefore(B, D), a._animate(y, B))
                : C.insertBefore(B, y))),
            (B.state = b));
    }
    function c(a, b, c) {
        if (a) {
            c = c || X;
            do if ((">*" === b && a.parentNode === c) || r(a, b)) return a;
            while ((a = d(a)));
        }
        return null;
    }
    function d(a) {
        var b = a.host;
        return b && b.nodeType ? b : a.parentNode;
    }
    function e(a) {
        a.dataTransfer && (a.dataTransfer.dropEffect = "move"), a.preventDefault();
    }
    function f(a, b, c) {
        a.addEventListener(b, c, aa);
    }
    function g(a, b, c) {
        a.removeEventListener(b, c, aa);
    }
    function h(a, b, c) {
        if (a)
            if (a.classList) a.classList[c ? "add" : "remove"](b);
            else {
                var d = (" " + a.className + " ")
                    .replace(T, " ")
                    .replace(" " + b + " ", " ");
                a.className = (d + (c ? " " + b : "")).replace(T, " ");
            }
    }
    function i(a, b, c) {
        var d = a && a.style;
        if (d) {
            if (void 0 === c)
                return (
                    X.defaultView && X.defaultView.getComputedStyle
                        ? (c = X.defaultView.getComputedStyle(a, ""))
                        : a.currentStyle && (c = a.currentStyle),
                        void 0 === b ? c : c[b]
                );
            b in d || (b = "-webkit-" + b),
                (d[b] = c + ("string" == typeof c ? "" : "px"));
        }
    }
    function j(a, b, c) {
        if (a) {
            var d = a.getElementsByTagName(b),
                e = 0,
                f = d.length;
            if (c) for (; e < f; e++) c(d[e], e);
            return d;
        }
        return [];
    }
    function k(a, b, c, d, e, f, g, h) {
        a = a || b[V];
        var i = X.createEvent("Event"),
            j = a.options,
            k = "on" + c.charAt(0).toUpperCase() + c.substr(1);
        i.initEvent(c, !0, !0),
            (i.to = e || b),
            (i.from = f || b),
            (i.item = d || b),
            (i.clone = B),
            (i.oldIndex = g),
            (i.newIndex = h),
            b.dispatchEvent(i),
        j[k] && j[k].call(a, i);
    }
    function l(a, b, c, d, e, f, g, h) {
        var i,
            j,
            k = a[V],
            l = k.options.onMove;
        return (
            (i = X.createEvent("Event")),
                i.initEvent("move", !0, !0),
                (i.to = b),
                (i.from = a),
                (i.dragged = c),
                (i.draggedRect = d),
                (i.related = e || b),
                (i.relatedRect = f || b.getBoundingClientRect()),
                (i.willInsertAfter = h),
                a.dispatchEvent(i),
            l && (j = l.call(k, i, g)),
                j
        );
    }
    function m(a) {
        a.draggable = !1;
    }
    function n() {
        ea = !1;
    }
    function o(a, b) {
        var c = a.lastElementChild,
            d = c.getBoundingClientRect();
        return (
            b.clientY - (d.top + d.height) > 5 || b.clientX - (d.left + d.width) > 5
        );
    }
    function p(a) {
        for (
            var b = a.tagName + a.className + a.src + a.href + a.textContent,
                c = b.length,
                d = 0;
            c--;

        )
            d += b.charCodeAt(c);
        return d.toString(36);
    }
    function q(a, b) {
        var c = 0;
        if (!a || !a.parentNode) return -1;
        for (; a && (a = a.previousElementSibling); )
            "TEMPLATE" === a.nodeName.toUpperCase() ||
            (">*" !== b && !r(a, b)) ||
            c++;
        return c;
    }
    function r(a, b) {
        if (a) {
            b = b.split(".");
            var c = b.shift().toUpperCase(),
                d = new RegExp("\\s(" + b.join("|") + ")(?=\\s)", "g");
            return !(
                ("" !== c && a.nodeName.toUpperCase() != c) ||
                (b.length &&
                    ((" " + a.className + " ").match(d) || []).length != b.length)
            );
        }
        return !1;
    }
    function s(a, b) {
        var c, d;
        return function() {
            void 0 === c &&
            ((c = arguments),
                (d = this),
                Z(function() {
                    1 === c.length ? a.call(d, c[0]) : a.apply(d, c), (c = void 0);
                }, b));
        };
    }
    function t(a, b) {
        if (a && b) for (var c in b) b.hasOwnProperty(c) && (a[c] = b[c]);
        return a;
    }
    function u(a) {
        return _ && _.dom
            ? _.dom(a).cloneNode(!0)
            : $ ? $(a).clone(!0)[0] : a.cloneNode(!0);
    }
    function v(a) {
        for (var b = a.getElementsByTagName("input"), c = b.length; c--; ) {
            var d = b[c];
            d.checked && ha.push(d);
        }
    }
    function w(a) {
        return Z(a, 0);
    }
    function x(a) {
        return clearTimeout(a);
    }
    if ("undefined" == typeof window || !window.document)
        return function() {
            throw new Error("Sortable.js requires a window with a document");
        };
    var y,
        z,
        A,
        B,
        C,
        D,
        E,
        F,
        G,
        H,
        I,
        J,
        K,
        L,
        M,
        N,
        O,
        P,
        Q,
        R,
        S = {},
        T = /\s+/g,
        U = /left|right|inline/,
        V = "Sortable" + new Date().getTime(),
        W = window,
        X = W.document,
        Y = W.parseInt,
        Z = W.setTimeout,
        $ = W.jQuery || W.Zepto,
        _ = W.Polymer,
        aa = !1,
        ba = !1,
        ca = "draggable" in X.createElement("div"),
        da = (function(a) {
            return (
                !navigator.userAgent.match(/(?:Trident.*rv[ :]?11\.|msie)/i) &&
                ((a = X.createElement("x")),
                    (a.style.cssText = "pointer-events:auto"),
                "auto" === a.style.pointerEvents)
            );
        })(),
        ea = !1,
        fa = Math.abs,
        ga = Math.min,
        ha = [],
        ia = [],
        ja = s(function(a, b, c) {
            if (c && b.scroll) {
                var d,
                    e,
                    f,
                    g,
                    h,
                    i,
                    j = c[V],
                    k = b.scrollSensitivity,
                    l = b.scrollSpeed,
                    m = a.clientX,
                    n = a.clientY,
                    o = window.innerWidth,
                    p = window.innerHeight;
                if (G !== c && ((F = b.scroll), (G = c), (H = b.scrollFn), F === !0)) {
                    F = c;
                    do
                        if (
                            F.offsetWidth < F.scrollWidth ||
                            F.offsetHeight < F.scrollHeight
                        )
                            break;
                    while ((F = F.parentNode));
                }
                F &&
                ((d = F),
                    (e = F.getBoundingClientRect()),
                    (f = (fa(e.right - m) <= k) - (fa(e.left - m) <= k)),
                    (g = (fa(e.bottom - n) <= k) - (fa(e.top - n) <= k))),
                f ||
                g ||
                ((f = (o - m <= k) - (m <= k)),
                    (g = (p - n <= k) - (n <= k)),
                (f || g) && (d = W)),
                (S.vx === f && S.vy === g && S.el === d) ||
                ((S.el = d),
                    (S.vx = f),
                    (S.vy = g),
                    clearInterval(S.pid),
                d &&
                (S.pid = setInterval(function() {
                    return (
                        (i = g ? g * l : 0),
                            (h = f ? f * l : 0),
                            "function" == typeof H
                                ? H.call(j, h, i, a)
                                : void (d === W
                                ? W.scrollTo(W.pageXOffset + h, W.pageYOffset + i)
                                : ((d.scrollTop += i), (d.scrollLeft += h)))
                    );
                }, 24)));
            }
        }, 30),
        ka = function(a) {
            function b(a, b) {
                return (
                    (void 0 !== a && a !== !0) || (a = c.name),
                        "function" == typeof a
                            ? a
                            : function(c, d) {
                                var e = d.options.group.name;
                                return b ? a : a && (a.join ? a.indexOf(e) > -1 : e == a);
                            }
                );
            }
            var c = {},
                d = a.group;
            (d && "object" == typeof d) || (d = { name: d }),
                (c.name = d.name),
                (c.checkPull = b(d.pull, !0)),
                (c.checkPut = b(d.put)),
                (c.revertClone = d.revertClone),
                (a.group = c);
        };
    try {
        window.addEventListener(
            "test",
            null,
            Object.defineProperty({}, "passive", {
                get: function() {
                    (ba = !1), (aa = { capture: !1, passive: ba });
                }
            })
        );
    } catch (a) {}
    return (
        (a.prototype = {
            constructor: a,
            _onTapStart: function(a) {
                var b,
                    d = this,
                    e = this.el,
                    f = this.options,
                    g = f.preventOnFilter,
                    h = a.type,
                    i = a.touches && a.touches[0],
                    j = (i || a).target,
                    l = (a.target.shadowRoot && a.path && a.path[0]) || j,
                    m = f.filter;
                if (
                    (v(e),
                    !y &&
                    !(
                        (/mousedown|pointerdown/.test(h) && 0 !== a.button) ||
                        f.disabled
                    ) &&
                    !l.isContentEditable &&
                    ((j = c(j, f.draggable, e)), j && E !== j))
                ) {
                    if (((b = q(j, f.draggable)), "function" == typeof m)) {
                        if (m.call(this, a, j, this))
                            return (
                                k(d, l, "filter", j, e, e, b), void (g && a.preventDefault())
                            );
                    } else if (
                        m &&
                        (m = m.split(",").some(function(a) {
                            if ((a = c(l, a.trim(), e)))
                                return k(d, a, "filter", j, e, e, b), !0;
                        }))
                    )
                        return void (g && a.preventDefault());
                    (f.handle && !c(l, f.handle, e)) ||
                    this._prepareDragStart(a, i, j, b);
                }
            },
            _prepareDragStart: function(a, b, c, d) {
                var e,
                    g = this,
                    i = g.el,
                    l = g.options,
                    n = i.ownerDocument;
                c &&
                !y &&
                c.parentNode === i &&
                ((P = a),
                    (C = i),
                    (y = c),
                    (z = y.parentNode),
                    (D = y.nextSibling),
                    (E = c),
                    (N = l.group),
                    (L = d),
                    (this._lastX = (b || a).clientX),
                    (this._lastY = (b || a).clientY),
                    (y.style["will-change"] = "all"),
                    (e = function() {
                        g._disableDelayedDrag(),
                            (y.draggable = g.nativeDraggable),
                            h(y, l.chosenClass, !0),
                            g._triggerDragStart(a, b),
                            k(g, C, "choose", y, C, C, L);
                    }),
                    l.ignore.split(",").forEach(function(a) {
                        j(y, a.trim(), m);
                    }),
                    f(n, "mouseup", g._onDrop),
                    f(n, "touchend", g._onDrop),
                    f(n, "touchcancel", g._onDrop),
                    f(n, "selectstart", g),
                l.supportPointer && f(n, "pointercancel", g._onDrop),
                    l.delay
                        ? (f(n, "mouseup", g._disableDelayedDrag),
                            f(n, "touchend", g._disableDelayedDrag),
                            f(n, "touchcancel", g._disableDelayedDrag),
                            f(n, "mousemove", g._disableDelayedDrag),
                            f(n, "touchmove", g._disableDelayedDrag),
                        l.supportPointer && f(n, "pointermove", g._disableDelayedDrag),
                            (g._dragStartTimer = Z(e, l.delay)))
                        : e());
            },
            _disableDelayedDrag: function() {
                var a = this.el.ownerDocument;
                clearTimeout(this._dragStartTimer),
                    g(a, "mouseup", this._disableDelayedDrag),
                    g(a, "touchend", this._disableDelayedDrag),
                    g(a, "touchcancel", this._disableDelayedDrag),
                    g(a, "mousemove", this._disableDelayedDrag),
                    g(a, "touchmove", this._disableDelayedDrag),
                    g(a, "pointermove", this._disableDelayedDrag);
            },
            _triggerDragStart: function(a, b) {
                (b = b || ("touch" == a.pointerType ? a : null)),
                    b
                        ? ((P = { target: y, clientX: b.clientX, clientY: b.clientY }),
                            this._onDragStart(P, "touch"))
                        : this.nativeDraggable
                        ? (f(y, "dragend", this), f(C, "dragstart", this._onDragStart))
                        : this._onDragStart(P, !0);
                try {
                    X.selection
                        ? w(function() {
                            X.selection.empty();
                        })
                        : window.getSelection().removeAllRanges();
                } catch (a) {}
            },
            _dragStarted: function() {
                if (C && y) {
                    var b = this.options;
                    h(y, b.ghostClass, !0),
                        h(y, b.dragClass, !1),
                        (a.active = this),
                        k(this, C, "start", y, C, C, L);
                } else this._nulling();
            },
            _emulateDragOver: function() {
                if (Q) {
                    if (this._lastX === Q.clientX && this._lastY === Q.clientY) return;
                    (this._lastX = Q.clientX),
                        (this._lastY = Q.clientY),
                    da || i(A, "display", "none");
                    var a = X.elementFromPoint(Q.clientX, Q.clientY),
                        b = a,
                        c = ia.length;
                    if (
                        (a &&
                        a.shadowRoot &&
                        ((a = a.shadowRoot.elementFromPoint(Q.clientX, Q.clientY)),
                            (b = a)),
                            b)
                    )
                        do {
                            if (b[V]) {
                                for (; c--; )
                                    ia[c]({
                                        clientX: Q.clientX,
                                        clientY: Q.clientY,
                                        target: a,
                                        rootEl: b
                                    });
                                break;
                            }
                            a = b;
                        } while ((b = b.parentNode));
                    da || i(A, "display", "");
                }
            },
            _onTouchMove: function(b) {
                if (P) {
                    var c = this.options,
                        d = c.fallbackTolerance,
                        e = c.fallbackOffset,
                        f = b.touches ? b.touches[0] : b,
                        g = f.clientX - P.clientX + e.x,
                        h = f.clientY - P.clientY + e.y,
                        j = b.touches
                            ? "translate3d(" + g + "px," + h + "px,0)"
                            : "translate(" + g + "px," + h + "px)";
                    if (!a.active) {
                        if (
                            d &&
                            ga(fa(f.clientX - this._lastX), fa(f.clientY - this._lastY)) < d
                        )
                            return;
                        this._dragStarted();
                    }
                    this._appendGhost(),
                        (R = !0),
                        (Q = f),
                        i(A, "webkitTransform", j),
                        i(A, "mozTransform", j),
                        i(A, "msTransform", j),
                        i(A, "transform", j),
                        b.preventDefault();
                }
            },
            _appendGhost: function() {
                if (!A) {
                    var a,
                        b = y.getBoundingClientRect(),
                        c = i(y),
                        d = this.options;
                    (A = y.cloneNode(!0)),
                        h(A, d.ghostClass, !1),
                        h(A, d.fallbackClass, !0),
                        h(A, d.dragClass, !0),
                        i(A, "top", b.top - Y(c.marginTop, 10)),
                        i(A, "left", b.left - Y(c.marginLeft, 10)),
                        i(A, "width", b.width),
                        i(A, "height", b.height),
                        i(A, "opacity", "0.8"),
                        i(A, "position", "fixed"),
                        i(A, "zIndex", "100000"),
                        i(A, "pointerEvents", "none"),
                    (d.fallbackOnBody && X.body.appendChild(A)) || C.appendChild(A),
                        (a = A.getBoundingClientRect()),
                        i(A, "width", 2 * b.width - a.width),
                        i(A, "height", 2 * b.height - a.height);
                }
            },
            _onDragStart: function(a, b) {
                var c = this,
                    d = a.dataTransfer,
                    e = c.options;
                c._offUpEvents(),
                N.checkPull(c, c, y, a) &&
                ((B = u(y)),
                    (B.draggable = !1),
                    (B.style["will-change"] = ""),
                    i(B, "display", "none"),
                    h(B, c.options.chosenClass, !1),
                    (c._cloneId = w(function() {
                        C.insertBefore(B, y), k(c, C, "clone", y);
                    }))),
                    h(y, e.dragClass, !0),
                    b
                        ? ("touch" === b
                        ? (f(X, "touchmove", c._onTouchMove),
                            f(X, "touchend", c._onDrop),
                            f(X, "touchcancel", c._onDrop),
                        e.supportPointer &&
                        (f(X, "pointermove", c._onTouchMove),
                            f(X, "pointerup", c._onDrop)))
                        : (f(X, "mousemove", c._onTouchMove),
                            f(X, "mouseup", c._onDrop)),
                            (c._loopId = setInterval(c._emulateDragOver, 50)))
                        : (d &&
                        ((d.effectAllowed = "move"),
                        e.setData && e.setData.call(c, d, y)),
                            f(X, "drop", c),
                            (c._dragStartId = w(c._dragStarted)));
            },
            _onDragOver: function(d) {
                var e,
                    f,
                    g,
                    h,
                    j = this.el,
                    k = this.options,
                    m = k.group,
                    p = a.active,
                    q = N === m,
                    r = !1,
                    s = k.sort;
                if (
                    (void 0 !== d.preventDefault &&
                    (d.preventDefault(), !k.dragoverBubble && d.stopPropagation()),
                    !y.animated &&
                    ((R = !0),
                    p &&
                    !k.disabled &&
                    (q
                        ? s || (h = !C.contains(y))
                        : O === this ||
                        ((p.lastPullMode = N.checkPull(this, p, y, d)) &&
                            m.checkPut(this, p, y, d))) &&
                    (void 0 === d.rootEl || d.rootEl === this.el)))
                ) {
                    if ((ja(d, k, this.el), ea)) return;
                    if (
                        ((e = c(d.target, k.draggable, j)),
                            (f = y.getBoundingClientRect()),
                        O !== this && ((O = this), (r = !0)),
                            h)
                    )
                        return (
                            b(p, !0),
                                (z = C),
                                void (B || D ? C.insertBefore(y, B || D) : s || C.appendChild(y))
                        );
                    if (
                        0 === j.children.length ||
                        j.children[0] === A ||
                        (j === d.target && o(j, d))
                    ) {
                        if (
                            (0 !== j.children.length &&
                            j.children[0] !== A &&
                            j === d.target &&
                            (e = j.lastElementChild),
                                e)
                        ) {
                            if (e.animated) return;
                            g = e.getBoundingClientRect();
                        }
                        b(p, q),
                        l(C, j, y, f, e, g, d) !== !1 &&
                        (y.contains(j) || (j.appendChild(y), (z = j)),
                            this._animate(f, y),
                        e && this._animate(g, e));
                    } else if (
                        e &&
                        !e.animated &&
                        e !== y &&
                        void 0 !== e.parentNode[V]
                    ) {
                        I !== e && ((I = e), (J = i(e)), (K = i(e.parentNode))),
                            (g = e.getBoundingClientRect());
                        var t = g.right - g.left,
                            u = g.bottom - g.top,
                            v =
                                U.test(J.cssFloat + J.display) ||
                                ("flex" == K.display &&
                                    0 === K["flex-direction"].indexOf("row")),
                            w = e.offsetWidth > y.offsetWidth,
                            x = e.offsetHeight > y.offsetHeight,
                            E =
                                (v ? (d.clientX - g.left) / t : (d.clientY - g.top) / u) > 0.5,
                            F = e.nextElementSibling,
                            G = !1;
                        if (v) {
                            var H = y.offsetTop,
                                L = e.offsetTop;
                            G =
                                H === L
                                    ? (e.previousElementSibling === y && !w) || (E && w)
                                    : e.previousElementSibling === y ||
                                    y.previousElementSibling === e
                                    ? (d.clientY - g.top) / u > 0.5
                                    : L > H;
                        } else r || (G = (F !== y && !x) || (E && x));
                        var M = l(C, j, y, f, e, g, d, G);
                        M !== !1 &&
                        ((1 !== M && M !== -1) || (G = 1 === M),
                            (ea = !0),
                            Z(n, 30),
                            b(p, q),
                        y.contains(j) ||
                        (G && !F
                            ? j.appendChild(y)
                            : e.parentNode.insertBefore(y, G ? F : e)),
                            (z = y.parentNode),
                            this._animate(f, y),
                            this._animate(g, e));
                    }
                }
            },
            _animate: function(a, b) {
                var c = this.options.animation;
                if (c) {
                    var d = b.getBoundingClientRect();
                    1 === a.nodeType && (a = a.getBoundingClientRect()),
                        i(b, "transition", "none"),
                        i(
                            b,
                            "transform",
                            "translate3d(" +
                            (a.left - d.left) +
                            "px," +
                            (a.top - d.top) +
                            "px,0)"
                        ),
                        b.offsetWidth,
                        i(b, "transition", "all " + c + "ms"),
                        i(b, "transform", "translate3d(0,0,0)"),
                        clearTimeout(b.animated),
                        (b.animated = Z(function() {
                            i(b, "transition", ""), i(b, "transform", ""), (b.animated = !1);
                        }, c));
                }
            },
            _offUpEvents: function() {
                var a = this.el.ownerDocument;
                g(X, "touchmove", this._onTouchMove),
                    g(X, "pointermove", this._onTouchMove),
                    g(a, "mouseup", this._onDrop),
                    g(a, "touchend", this._onDrop),
                    g(a, "pointerup", this._onDrop),
                    g(a, "touchcancel", this._onDrop),
                    g(a, "pointercancel", this._onDrop),
                    g(a, "selectstart", this);
            },
            _onDrop: function(b) {
                var c = this.el,
                    d = this.options;
                clearInterval(this._loopId),
                    clearInterval(S.pid),
                    clearTimeout(this._dragStartTimer),
                    x(this._cloneId),
                    x(this._dragStartId),
                    g(X, "mouseover", this),
                    g(X, "mousemove", this._onTouchMove),
                this.nativeDraggable &&
                (g(X, "drop", this), g(c, "dragstart", this._onDragStart)),
                    this._offUpEvents(),
                b &&
                (R && (b.preventDefault(), !d.dropBubble && b.stopPropagation()),
                A && A.parentNode && A.parentNode.removeChild(A),
                (C !== z && "clone" === a.active.lastPullMode) ||
                (B && B.parentNode && B.parentNode.removeChild(B)),
                y &&
                (this.nativeDraggable && g(y, "dragend", this),
                    m(y),
                    (y.style["will-change"] = ""),
                    h(y, this.options.ghostClass, !1),
                    h(y, this.options.chosenClass, !1),
                    k(this, C, "unchoose", y, z, C, L),
                    C !== z
                        ? ((M = q(y, d.draggable)),
                        M >= 0 &&
                        (k(null, z, "add", y, z, C, L, M),
                            k(this, C, "remove", y, z, C, L, M),
                            k(null, z, "sort", y, z, C, L, M),
                            k(this, C, "sort", y, z, C, L, M)))
                        : y.nextSibling !== D &&
                        ((M = q(y, d.draggable)),
                        M >= 0 &&
                        (k(this, C, "update", y, z, C, L, M),
                            k(this, C, "sort", y, z, C, L, M))),
                a.active &&
                ((null != M && M !== -1) || (M = L),
                    k(this, C, "end", y, z, C, L, M),
                    this.save()))),
                    this._nulling();
            },
            _nulling: function() {
                (C = y = z = A = D = B = E = F = G = P = Q = R = M = I = J = O = N = a.active = null),
                    ha.forEach(function(a) {
                        a.checked = !0;
                    }),
                    (ha.length = 0);
            },
            handleEvent: function(a) {
                switch (a.type) {
                    case "drop":
                    case "dragend":
                        this._onDrop(a);
                        break;
                    case "dragover":
                    case "dragenter":
                        y && (this._onDragOver(a), e(a));
                        break;
                    case "mouseover":
                        this._onDrop(a);
                        break;
                    case "selectstart":
                        a.preventDefault();
                }
            },
            toArray: function() {
                for (
                    var a,
                        b = [],
                        d = this.el.children,
                        e = 0,
                        f = d.length,
                        g = this.options;
                    e < f;
                    e++
                )
                    (a = d[e]),
                    c(a, g.draggable, this.el) &&
                    b.push(a.getAttribute(g.dataIdAttr) || p(a));
                return b;
            },
            sort: function(a) {
                var b = {},
                    d = this.el;
                this.toArray().forEach(function(a, e) {
                    var f = d.children[e];
                    c(f, this.options.draggable, d) && (b[a] = f);
                }, this),
                    a.forEach(function(a) {
                        b[a] && (d.removeChild(b[a]), d.appendChild(b[a]));
                    });
            },
            save: function() {
                var a = this.options.store;
                a && a.set(this);
            },
            closest: function(a, b) {
                return c(a, b || this.options.draggable, this.el);
            },
            option: function(a, b) {
                var c = this.options;
                return void 0 === b
                    ? c[a]
                    : ((c[a] = b), void ("group" === a && ka(c)));
            },
            destroy: function() {
                var a = this.el;
                (a[V] = null),
                    g(a, "mousedown", this._onTapStart),
                    g(a, "touchstart", this._onTapStart),
                    g(a, "pointerdown", this._onTapStart),
                this.nativeDraggable &&
                (g(a, "dragover", this), g(a, "dragenter", this)),
                    Array.prototype.forEach.call(
                        a.querySelectorAll("[draggable]"),
                        function(a) {
                            a.removeAttribute("draggable");
                        }
                    ),
                    ia.splice(ia.indexOf(this._onDragOver), 1),
                    this._onDrop(),
                    (this.el = a = null);
            }
        }),
            f(X, "touchmove", function(b) {
                a.active && b.preventDefault();
            }),
            (a.utils = {
                on: f,
                off: g,
                css: i,
                find: j,
                is: function(a, b) {
                    return !!c(a, b, a);
                },
                extend: t,
                throttle: s,
                closest: c,
                toggleClass: h,
                clone: u,
                index: q,
                nextTick: w,
                cancelNextTick: x
            }),
            (a.create = function(b, c) {
                return new a(b, c);
            }),
            (a.version = "1.7.0"),
            a
    );
});