From f99376d609d90bfed03157de0eac3396d342d783 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Wed, 14 Sep 2016 14:27:16 -0700 Subject: [PATCH 01/71] framework for new vpn topics --- windows/keep-secure/TOC.md | 11 +++++++- windows/keep-secure/vpn-authentication.md | 18 +++++++++++++ .../keep-secure/vpn-auto-trigger-profile.md | 18 +++++++++++++ windows/keep-secure/vpn-conditional-access.md | 18 +++++++++++++ windows/keep-secure/vpn-connection-type.md | 19 ++++++++++++++ windows/keep-secure/vpn-guide.md | 26 +++++++++++++++++++ windows/keep-secure/vpn-name-resolution.md | 18 +++++++++++++ windows/keep-secure/vpn-proxy-settings.md | 18 +++++++++++++ windows/keep-secure/vpn-routing.md | 18 +++++++++++++ windows/keep-secure/vpn-security-features.md | 18 +++++++++++++ 10 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 windows/keep-secure/vpn-authentication.md create mode 100644 windows/keep-secure/vpn-auto-trigger-profile.md create mode 100644 windows/keep-secure/vpn-conditional-access.md create mode 100644 windows/keep-secure/vpn-connection-type.md create mode 100644 windows/keep-secure/vpn-guide.md create mode 100644 windows/keep-secure/vpn-name-resolution.md create mode 100644 windows/keep-secure/vpn-proxy-settings.md create mode 100644 windows/keep-secure/vpn-routing.md create mode 100644 windows/keep-secure/vpn-security-features.md diff --git a/windows/keep-secure/TOC.md b/windows/keep-secure/TOC.md index 57a7d44fcf..229f23d8f6 100644 --- a/windows/keep-secure/TOC.md +++ b/windows/keep-secure/TOC.md @@ -37,7 +37,16 @@ #### [Testing scenarios for Windows Information Protection (WIP)](testing-scenarios-for-wip.md) ## [Use Windows Event Forwarding to help with intrusion detection](use-windows-event-forwarding-to-assist-in-instrusion-detection.md) ## [Override Process Mitigation Options to help enforce app-related security policies](override-mitigation-options-for-app-related-security-policies.md) -## [VPN profile options](vpn-profile-options.md) +## [Windows 10 VPN technical guide](vpn-guide.md) +### [VPN connection types](vpn-connection-type.md) +### [VPN routing decisions](vpn-routing.md) +### [VPN authentication options](vpn-authentication.md) +### [VPN and conditional access](vpn-conditional-access.md) +### [VPN proxy settings](vpn-proxy-settings.md) +### [VPN name resolution](vpn-name-resolution.md) +### [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) +### [VPN security features](vpn-security-features.md) +### [VPN profile options](vpn-profile-options.md) ## [Windows security baselines](windows-security-baselines.md) ## [Security technologies](security-technologies.md) ### [Access Control Overview](access-control.md) diff --git a/windows/keep-secure/vpn-authentication.md b/windows/keep-secure/vpn-authentication.md new file mode 100644 index 0000000000..b9c68efda2 --- /dev/null +++ b/windows/keep-secure/vpn-authentication.md @@ -0,0 +1,18 @@ +--- +title: VPN authentication options (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN authentication options + +**Applies to** +- Windows 10 +- Windows 10 Mobile + diff --git a/windows/keep-secure/vpn-auto-trigger-profile.md b/windows/keep-secure/vpn-auto-trigger-profile.md new file mode 100644 index 0000000000..5e7a723f42 --- /dev/null +++ b/windows/keep-secure/vpn-auto-trigger-profile.md @@ -0,0 +1,18 @@ +--- +title: VPN auto-triggered profile options (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN auto-triggered profile options + +**Applies to** +- Windows 10 +- Windows 10 Mobile + diff --git a/windows/keep-secure/vpn-conditional-access.md b/windows/keep-secure/vpn-conditional-access.md new file mode 100644 index 0000000000..28b3b2b71e --- /dev/null +++ b/windows/keep-secure/vpn-conditional-access.md @@ -0,0 +1,18 @@ +--- +title: VPN and conditional access (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN and conditional access + +**Applies to** +- Windows 10 +- Windows 10 Mobile + diff --git a/windows/keep-secure/vpn-connection-type.md b/windows/keep-secure/vpn-connection-type.md new file mode 100644 index 0000000000..c03a4aa46d --- /dev/null +++ b/windows/keep-secure/vpn-connection-type.md @@ -0,0 +1,19 @@ +--- +title: VPN connection types (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN connection types + +**Applies to** +- Windows 10 +- Windows 10 Mobile + + diff --git a/windows/keep-secure/vpn-guide.md b/windows/keep-secure/vpn-guide.md new file mode 100644 index 0000000000..cd1c7deedc --- /dev/null +++ b/windows/keep-secure/vpn-guide.md @@ -0,0 +1,26 @@ +--- +title: Windows 10 VPN technical guide (Windows 10) +description: tbd +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +author: jdeckerMS +localizationpriority: high +--- + +# Windows 10 VPN technical guide + + +**Applies to** + +- Windows 10 +- Windows 10 Mobile + + + + + + +## Related topics + +- [VPN profile options](vpn-profile-options.md) diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md new file mode 100644 index 0000000000..737258357b --- /dev/null +++ b/windows/keep-secure/vpn-name-resolution.md @@ -0,0 +1,18 @@ +--- +title: VPN name resolution (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN name resolution + +**Applies to** +- Windows 10 +- Windows 10 Mobile + diff --git a/windows/keep-secure/vpn-proxy-settings.md b/windows/keep-secure/vpn-proxy-settings.md new file mode 100644 index 0000000000..9d4524a21b --- /dev/null +++ b/windows/keep-secure/vpn-proxy-settings.md @@ -0,0 +1,18 @@ +--- +title: VPN proxy settings (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN proxy settings + +**Applies to** +- Windows 10 +- Windows 10 Mobile + diff --git a/windows/keep-secure/vpn-routing.md b/windows/keep-secure/vpn-routing.md new file mode 100644 index 0000000000..c77320ef8b --- /dev/null +++ b/windows/keep-secure/vpn-routing.md @@ -0,0 +1,18 @@ +--- +title: VPN routing decisions (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN routing decisions + +**Applies to** +- Windows 10 +- Windows 10 Mobile + diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md new file mode 100644 index 0000000000..3095025e3a --- /dev/null +++ b/windows/keep-secure/vpn-security-features.md @@ -0,0 +1,18 @@ +--- +title: VPN security features (Windows 10) +description: tbd +ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security, networking +author: jdeckerMS +localizationpriority: high +--- + +# VPN security features + +**Applies to** +- Windows 10 +- Windows 10 Mobile + From 9dce61aed8a6601ff34320ac24386c79c592c6f3 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Wed, 14 Sep 2016 14:39:58 -0700 Subject: [PATCH 02/71] tweak title --- windows/keep-secure/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/keep-secure/TOC.md b/windows/keep-secure/TOC.md index 229f23d8f6..e44b1117df 100644 --- a/windows/keep-secure/TOC.md +++ b/windows/keep-secure/TOC.md @@ -37,7 +37,7 @@ #### [Testing scenarios for Windows Information Protection (WIP)](testing-scenarios-for-wip.md) ## [Use Windows Event Forwarding to help with intrusion detection](use-windows-event-forwarding-to-assist-in-instrusion-detection.md) ## [Override Process Mitigation Options to help enforce app-related security policies](override-mitigation-options-for-app-related-security-policies.md) -## [Windows 10 VPN technical guide](vpn-guide.md) +## [VPN technical guide](vpn-guide.md) ### [VPN connection types](vpn-connection-type.md) ### [VPN routing decisions](vpn-routing.md) ### [VPN authentication options](vpn-authentication.md) From 81e521921afc7b95a8e689675108be4de4a16bc8 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Thu, 15 Sep 2016 11:28:30 -0700 Subject: [PATCH 03/71] sync progress so far --- .../images/vpn-connection-intune.png | Bin 0 -> 11428 bytes windows/keep-secure/images/vpn-connection.png | Bin 0 -> 93192 bytes .../images/vpn-custom-xml-intune.png | Bin 0 -> 2460 bytes .../keep-secure/images/vpn-split-route.png | Bin 0 -> 22228 bytes windows/keep-secure/images/vpn-split.png | Bin 0 -> 13133 bytes windows/keep-secure/vpn-authentication.md | 17 ++++- .../keep-secure/vpn-auto-trigger-profile.md | 15 +++- windows/keep-secure/vpn-conditional-access.md | 12 ++- windows/keep-secure/vpn-connection-type.md | 72 +++++++++++++++++- windows/keep-secure/vpn-guide.md | 22 +++++- windows/keep-secure/vpn-name-resolution.md | 12 ++- windows/keep-secure/vpn-profile-options.md | 11 +++ windows/keep-secure/vpn-proxy-settings.md | 12 ++- windows/keep-secure/vpn-routing.md | 50 +++++++++++- windows/keep-secure/vpn-security-features.md | 12 ++- 15 files changed, 224 insertions(+), 11 deletions(-) create mode 100644 windows/keep-secure/images/vpn-connection-intune.png create mode 100644 windows/keep-secure/images/vpn-connection.png create mode 100644 windows/keep-secure/images/vpn-custom-xml-intune.png create mode 100644 windows/keep-secure/images/vpn-split-route.png create mode 100644 windows/keep-secure/images/vpn-split.png diff --git a/windows/keep-secure/images/vpn-connection-intune.png b/windows/keep-secure/images/vpn-connection-intune.png new file mode 100644 index 0000000000000000000000000000000000000000..bf551eabb764e9f20275876a994e544316a9505c GIT binary patch literal 11428 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ƃsNf|1-dw@U3fR9lhy;ze0bcjB&>`U*|8cUjuS1~+3>c0 zj`9gQAzm$x!>J(5*!IgT;VAcM=8U1mqO(`VT+EBxi69{T{LgaMV;+5-mDjkM0gc&& zIezNLfgkAU*54-+(^=*rh0A68rj2;FkDjj0wy`6K>Wak!L%w(BIB?y07G)wDDhDUF zY-W56!iJE?8D+nXhF#$OS!uL8yDj=?YPkP>y0(fP;(q`C{^lMQrafiu_M9x*icp;lJw!Cn)GZ*UR^ zu40F5`T}3NFU^w3>hX3z!8+^flc!e@e8(cYOxhtpunMIshyQ8EwPq{3ZlFm>fPU0Z zF~Q3$@EIr5^Uu|ChHL95uQ!g{5)-ZL z>q85?=T7WWr1yu&5<{+egaynF?PTH{sk-O0yKZlYfR?=eAp_2Q_ZxPs9xVd6&(E12~1gm^y@$G_o67eek9TKSkV3lDVQ7KI-&@7S6hvzapU-lW7ph{O2yKk`^!H7}os|!lc{`7hhxcg|F}xyGGD0da=ul*~&C1A&df3@lQg5 zTc37llxzhMP4!IxgZ=`RNHW6k65cW}S4s%4f9gXtBxRt|>5h8Y;Bn7Rd%$L931ie% zbL5zuo4~rYEb;gZtHJAw_4O}TR1?P-23zw77weSm>8sSG*ly%pJNb@?C8pcjhpV9C z*{AR%n-nO-Idz+BzJ1-};~&*oXG3geX#jdG*ygvf{}V4;g$-Zpi^eJa(l(cYFXM80#eL-`pU*h`v2c@@ox1EBgU| z3pxs>aLIgdFU8*louS9|KUBWd_nB5HY&`R-^IBK%9`=VD8O#a2H(N(g9Xs|G@5VVOtv^78aI$@ySOT<6u2sMJ^W`t0-`ZODRDIGo$wu zVvbJ5t>TwTq?^Z^r%)2`f_aW{&f{B2TUY9Cw$8%{ie&o|uTXjMeso*+6$i;pTlY`8 z0ajGdu?+sSjpd>1o9L^pE$b`j2D6s#+B997@TbW(daX5J@7)4or)F>*c;;}H(pyiW z(!gDgT<{X{Gy#m9rBx1Q7}{K%W2K+_>T1ixQ!g`Yofoj90wcz7PYDMXnz3(CCZj|f(YgmbPu9Vh}bJFhn28DSQM5|Qm9$sI} z)_u+e+TN`Dpl2IvU}s0GwvB>kvh0q*M-~sI1P1&R6{UzQhiNigJ&^Rcq+oON0VhK? z?@Rt{IDy3(gt5(d7rgA-&WCZUilzB@r{ja*-FT~A2YoYEM&l1>AM04NpcZKI&j#Nw z6rIV=#~p1ZX`wT-1egsu$7$i#KJlD#d_4+Tx65^2bt{$Vi;R75&^W0qw->GbEaOqeD)Ts=0&C4jY^E4HLu zJ4&ITkL_MV z&1@>YG9lZewoUk>#?#ew9O=y$&%h7AUVDC(<9*H+VkZK9rWMs5z!_s*xR6)1j=2@f zy?p*rKnkUcNvYnfXGl6Nnx*l31G=qgpdnUDg>L;#7PFDrnSd^*?`^4mP3`+e795aD z`w3{%&Ay?`<6)HFJOyjBvbloZcjeshj0F?}dS>w5Rp2SSnJZJU%tWTcVaF^B8Y2;9 z#1C1^@y}(vfAp2iXNw-###Y^Ou<|z0MoYTXMJ0Jt$&;Huehf@5yf<-W|8N?=w*d)x z^$)_2lbZD_1LX%Y$0^6_T9OTs_VLH-Ee%8bv4onGalKSaW<-Zn+q6CGqb-dze^Tmr z?;~Xs{1lKjKP@J&RnSczb6xK?^PXv*f*LkF3McD`hloc2ur zahZ9e;im%MQt6P|OFei{#mPW^sjLoVcK zp(1~jE7F+bS(G3ZSFZ66AM$>y^vhbN{qx33ZHa` zF_ixIaxXe{HqdO8de83FKH>h=k%H$7mxhl}DZd-9!2H+J-|K{vnaC?dwc5OsP=5^t zLvBUOJYhC6vj@V0&A7UI6oeKRM6fk(*ykW zC3~|@W>HDWgXcG6^X+mv=AA0r6Re{9yJ715vt^e3hhqXIgCx~4KQw8KBou&}nVZ|* zFRhI7OdLDxW^gtim$;N1pU1D2xwcSW3N-UI2l@&emV)H64!3ejKi_QC*jhoaH~0T) zObV*3kICyv`p)asip}c+vf+vXs-Koxi!*Vwab;6ckngszZmr~andkPntn$fVzh!Z~ zbi)#Vy%b_YwSK6zn=GdM-Uwil%S4*qp{gAaNfbB$6oXMUC{j(%D|N(zzR9^0x1>y# z8MvoVgt!rhI0gBs$G|0z6CVd-{LP|t5!qWW+Aa%v%6AYmiqsXdW^3G#_$P4l+l>gX zcaa&eE!9AKUs>MNSC>sV+mpSk6xHYx`DF&I)QeD5kEvIGuA0`X=jOTj0bqmKtTSFp z-~6eJemjpAJ1OX$YY{8kEQLkenY+&~D&UdJuaeO5K})ORsnmee#N}ueLGTMH)-4E~ zQZ!7orL@dde;^c_WPr-hBjqI+tT%m;A_KJ;p;MOLGfVCSI>mnzWUbzQK4WL$NS?zEhV)tn(*A zs@j`)w0~yH2p=rPw#M}KLfH?4jXesT;5iB~L5nJ}S+4X8^?rc-5l(eoGoatA;Ikmb z7HJS+UT!6!pA86`HEnL^H+SgV)rkDe-|5`9(Rmqa9Tl8lM{!p#{Uc<2+c07mDhrAA zdEMu%mrlY=1+B+6aLG7+3l&0pX}o$;Z|S8*DdlcyhIvg`TVfE4cYPdvQttF~W5->_>IBNXv!aj5z#EtJj z%DRY^#ZP_Ni{qy*#BBX!1|eR44S%0N9-?c3SGlx$D2UaU&dJZZrR0ATn}J8B4}&Jpr^b+7f*2%3}>NO;5(%Mj07{{?szo-qz@mlMfFO7w{G8Aj-xRZfrKWF-!sSE3f?U2yNlRc zJwCT!RA+F$|D3kBK#jxlz$+u+YL~>c@u9cgdhEh$hNbxjXIOqs9DG|)3oWCMx1aT5 zd0GprO3<3)jZvFdSA&)oVYj@wZE$ttX-v4=iGNSSK}{wJikHW!`;_hVUSyTk&MEb*JpJR+B+*>+uW+U{=~ z%~A%h#xjMGQAt32^xN)Hkpo1FrLa#4yl;tTwMS`!J~#VDwcEJq^X$y(e=>@1&*Y`S zta!#$H;RJa%S2{*;}-9v6rqP_vX{vab)DgWG&7gB{?TE}{O)2(kmoBNd4)N1g(%#w zLk$nS^wYWrj-y8s<=MKNHdD6|!yQbTtKG|UujTZox~$J~lgZ%i{N5J`pcNZNwd63` zO*YanF$jbt6$6c**gejHa`~-&L3~v7f;?zssd(TYSPfRCgmrX-otuUVn$=A%YZ`mA z{JKmvBTnA)mId7IZWn@#CAnVjp_v>xrq7Qco@#rlTlI;LJO_HY9o-qu3~G_Au`+)9 zPS<+{wn%jqAC{kd4o~LYATgfS#GB7o2a&q5%aT(i;<`^958(n=ok0RuUzIoVWX%KT z8dxz-4V#E!2qqLIslZ9_bJ*l6p_gAOc5$(w7P&<*B)sZ6M*|nhhh!Szh39d4VqP!) z5J0?MXp$%E=x~&A$uVju6c_C*1?jM+#@qOhKXHWa%y9Q7f(j?{A}qg68zvcRqc|a z!RzUcBNP)_$%>O2Tlb~-m{WfELKXqBd-TuH%VO=!$?PAMMFo6TcB>&tWZy#|Lzw_4 zDHMFWhE%1PvopAj5u5L45nY7zhH3a>?t5^fPc0)_BU_zacKLlwdW&TFcTA@`Qj9xw z45im<_z^$nKP?OB-NW8xLxf#H`&KI*f$*9-CYEL^9fnqDtG0sRU!SZU&t!1zpWt}+ zDo)uf4N5{>eu?zYReNBMu9U~>*j|G+1ujzTA4l(Bg|0rfN1QyPoQ7PH7s*Qv$7Ja< zl7q^Tq1k6XELECjBbwF>#9jS>@0<29a|dbQa+uORJqw_j+M0`H87S0om(Km93|i#+ST=HOKNso4@c&O|P8)q2 zMt<_?sBvoIyBT+S_;_L1qk6ATG4{e>G8EKQwfdcO5`oN`$(Bjm>w5sXffCEByv8#rOKU-vfay}xc+WQ8AD9oQlm$kXkX zQ+zkJZireocY5Bew*>MeS1mN19Xq(+4rmW44_$_x?2&kPJ{ z8NBcS{0DNu)5ptnbsxq{V;F6yVs=J-p-*it0%_IRyzQhCQTE|N!INXCPmERK-NAVI z`nopqx5IdHR<(K#Hh*rO7sAj-_R`5XnC=RNZ#OzLDK9h>N$e8EqoJVB%4Rz5jL?sX zPY7EL_R}Wm;%iG2Qz?IVZV9W^&C%*^KREiN);EbW4a+l#1F??~c`q)sYXxyU&x2a{ z$thbW_9L|5{bi=4$5P65eYwRy+#9Zz0rw_t1k5#C|vj{|p zwU=fzR9*0b^iJ&fcDW4zw=oukGOL3#Pwjk$9X*qDc()0e3Kzi%l+Rp?w*8*m>S|iV818!7_gIS8gBg zfgoYAu9@7`$dv=LnK__3=-k7Tp9yuBz23PqA}MY=oT0`MKvvLUrJ`kmu9b98*pzXe z^GM6t}xxPy@ zC*vqRp4c1FhM!AW*kI3dnMYWwoS+D{9ifnl6fPJ-= zk8$TRI0uK;Z1~>2n8LWZ!yy9>U=T0EECfToGQ4dRNmw0AeylTTCKd~ z5tNtRqFAv-feR4ACfaa0oba$yr0s!)z!r@X#;Qp1rdU4dMt* zN9Iou%R(^;F|Y5(Wv}6PZSJ$l^WrNkgtU}?sdci3v*K>yGRljD*RoAsu`6mI-L1Q` z`IMk<4rz6lYL&QaLJ8t&7FUTI9|G;?Tu2G|Thq{@% zWbW7bc&sm*dazS%=GT^fi`gQ!3;za>7x<9__VAXiS}3oB%bfzi+#7Fyh1-mdh*0qq z)Kj0cId5%8$&5Q8Cv22k#lzDFGcg~FmK1b~JkjlGb`HWkg~+l90W`mbw3x8M zdOoag!lNUO-WEwYB^#ODsR37m_r59&rze3+rX**Lk?#2aB%+uhZ5X zx}5xsLEUw7(vl`}@3GKW49ts~7C%hctC{F4dc7)EMy zAvz>k{XqCaqT{mt>~3WL0++{}fbYD61TDg`2yMj-HUS?ehy8Tx+HNY@#D7a&k%WK8 z&Nq1zl!XTV?J>*5*o;b2MhUpsX~sCcqFZ|Lr>~;Cnp_-0&3q_wq(`ITB_pqGaQi(a zX*b$bhIagwQ1vD~ifnkyIgyD_TVR9r;pB{E4MFtS9}(yCYpR65rBI0T%JdRT(M<5% zs!L8klJWEui}Te-Q)QwOI0}@vV75gC)~cv@Pp;(iTZ@}-{c-dUd#~f#9An4F7!MwO z?HF^)(#LJy@F(Nl{*`E|v`!M9+s`km?$|pw>K2oBys*LaBwB@EcO?QAmPWeZTYxgi4@^H8rM~KKC^VY(6K$))xX~aPK-@lZPP*)S&sLpo)sV3@cOU)H*%!yKn5h0mROXpBT#0ek~5_lO2 zc$zlgrgY$@&W&6{!~i;rf)Y}*6@sq}t)BP*=N08Vz;c{y*jqdDI*SdRMGT6W?-C>rnC1wErU;?4qfFZe9pJ(I5F* zkK!l=mVd-K@uj59SpRVrDx4XI(tmCJ9J01EaEo)}i0QNcp0YuMq+x5w@TOm~gD{wd zZQUU%gcPcAAXd~>$r0e|Odm<#XwK*wMfdjsj8LBinR?C191o8R?H35Up!<1m*L;H^ zLr{U0jO53t#=)V^dN`Y)(3mx3oZ}VcH46*!7BYJ>v{+Id%UXM&T7BwV?K+LW3P_9!y@*s)ZSQ_8Wj!DHU6!1cy)8Tu2+CE{Y{ z4Rr?*=p9s!Ob_lMI*xa><5uV{<=;MX>?uRO3cOL)&i!e~j*r?39YWg@L4Ezsm^@xo ziuPy6z?nO=8F|cpo9A$PL?=DOm*sHV@d4<)&Sm{`EDmIP0SrE4`Kj9sEjjdc- zP<&O=I__^OUnQBXvlgIMC9jv>{e1g#L+MtkSU3-V)=HcwAt55ndq91fLm{|V-imLm zfSu6gp_B@_kxe+8WxcvNX8*IGVp7mhG_Lg@3*7#@*HRq1jwwrKs2D|1*`+~Sb_L;% zYlmyyiEGK(d4Q;j8#56zL&k0n1>hQ>?4r}7Ay<2m6pi}>bhcGq3URl9Llduw^X1r}A~r4DWE(baNPSKM*@ z+XY`|>+E15Zp+vol1)C(vyNpId!&atTW_k=Pj?2#>^B?n`chl#(61lt;IERMkJ*1P zT`lEf>@aBs$VCPWe!Eb)u$^t^8(l2t>3{kdRS@cy2-%Ae6k+|WLC3u0_x0|>n4Vrt z>083wd%J~FSc50yBKQYdCBg}b6)9=imK{bElhK5T?KiNBuW?M`-!<%g3m<`VmahP) zX<0jZdV25xNx?*mi`B)+48uzV&?Bd|CYN--r$9c#8wIl2E5&=>l>^@1rl@M-4H70gSGO;|F?a(*)y3+% z(xmT*0v_8yBxJf*spFwS8+pT`rW(W1Xcs+owbrj~2{4vBjM_CYu|ik4cNhDC?N^I` z2mKQEO2N)(Sc-$!8kpZSCGBbPC3ce+z%3Z_mj|eEF4GLSo(nYiTTSsktcAK9_0(QI zqvgIW)+*kK3Lu=*M?pLrC3h_U9>b7la0+-@bE;~rh$t@SxJNk=hvINh6Fkf_rCw&| z`D`7s6kw3HWIajKfSpJ;=Cob3F}>w)H(17Svt^&!Gqr)@Y` z5$}Uk@c0I278vxQ*hNbX043X6!-|>;cfCX1TkH{6qnD&fPIm0q9UU~3og@eM!j@5| z?^ua_G;!ZV66w0wfbnej)wfKQL~b;Y?-4_im0|wF&zW;4s32+f*s)~3?Iu{n{t5}h zp|?TEetp%)Vbs<~CG~h~b4Ms6T+}Jg#+Vwh<^k-kXOV;>>ZLt8c5b;`e$K&ZT@hwr zyNOKlT1pUfzeFf_vHwXCsZYop+_d#wgzKc^*l8NJHw^)%>EyCHl^=werTeLLNm^}; z#vis%?8s%Pk)73k$dkm@)2l5+WcODNo2?Q8Kj&C)Y$7%V?dyPLQN0g~7eR$l94dIV zJ7X`*CIBH{6<60tJ7{8O+LT?dL(AD}0g49Cay~^Xc9i9F*92FL} z;$TG3<~pj;bUfJAw38cc4_ObKw$pBeG!l+r*^n z`^;*odfuo!^{4QSmL7h9?xeKXh>NOfuro^@w(miQFlWvre6$7NecR#ln34a9_1;D>YRG`e~ z=hA<_J4v5a!#j|#YFQ})Tg4&=R+ZS%vZ)+koQy8QmHWECUhvOFJRqqv<*S^S=xQ6DK>jVc1<5L z(TACT+QWQ7RIL+6Yt1x>fh!1OLXw&ZUHE=Ck1zyUZYUEB$e&~d;$p!lbT=MHCf$_@ zuTzRJzN>+Q7OX4NvAz_FPa9#$pE}{$|jjh~|)dSarN1#cBa!5^Q4!2XU9ZLQi23w@>1&m$np)xuDRS@8>@2 ztB=m0cJ9NVIluIZb@l{1jNy0H_x)qfdy(>2t97p{L_Sd*aTT^l@VNB7<5eUsDCYIs zs-y#c?iFSu{fO9RI z9L7-s?HpSk2gPvts>(a0y;M@5(Gp^`vOlVY{Dvo~g8bl0>;A@}&&Y_7U&j73Ah80M z2?9+oE+<7BLS-iAY_Suxx%8T@gKtVI;{n-ciF9)pN$Wj*_g$4qMt}n2b_TRm7>ClG zz(>7n>qJd13HacXrUfec{xt52oxotGt@+3;UP0!ml%M^Xw}HaTkQDWwu{>i*-5{w7 z5~K);gM9HlgGrsqJ~-sa_Y$5D-%hVWV)T4qhLShx$`KuA*IOy)@PTbK9w{j)_lL6q z8{$3AEv9o~)>~d7p8cA+e(3jf$K219zypUHyP*k!U@XqL{ z(i6d~JqtqOz)sN&Hy5{JGaoWawM6H6Os5ON3mNK@I~(RrBM!;ws8X2f9{YA{MxH9v zg4(0P2yt0n=Ap`#d;jqCQB9R98=(<0vo%G<9ARD*Npj~6u?be-aZ@~A``lyB) zwttbn5UH4(@O~Na-s(ClzWVoxfiQ!pi*lo>kEDiI%5+2L(5 z!iOd_H;?T^z1g*2X1J1qyw zxCSs79ayuKlf|FC8SeEVH(XN#WAvvl0;g7uCiO*;`pk!w@q3!Nskt2Gs!%l1=Ajpv zdYQ=hippv30x%?hpa{-|JZVxe2%yGmAshI;5jPw9a|Krz(1KRNm@-iTmo56H+pKSJ z*v|iVLLb=t(_x@{yge1WQ$}7*6TJU2v?Tp+$~J;k(W2guM5{FG`!whX>ZBaXvsf$! z1>gyz;G*VHusEfb0g*5b$%M-HitEpx$kbZO_`ONxZBC+SJ{T}AWo@#xDW8+mpMl#B zBUsR4ds31lzF-k<0bdP%zfau&>j(n5|E>E&owH9dHw+BW3^9}P918%3tzMJb98<@0r- zk59P_4XCsM*@r!65rC-S3^GCrCSHyaM8C=qUX9}T?|B$+gWC+zWngRlMUMhJ05~FQ z80GR8Z#I0Azq%J*;_;pCzq%HlJPUY(iP4H6?Z2!OpzNX4Ly(jb&H&Ih@E8{K>emkN z(D4=J9By>@i=8m&6}*Dktb%{_oU9uDT7nU&gWMT#{6a5!!sxF8CrPoW>rMX@Eb3j~ zYkATR4PQ!iR(yZS8mNnwk(3djm>d~ z+eDq4LF%+S+-1|aRuM2NsoS&e$T$1hw|0^3S&k8V%H^}VmWV^^%HZf|Ke5-5KU2dz z`HSq+^jI9~ac?uWz%EC4-s*oeCC(V1t};EEcJ2u5Cmo&vpyf2qlOq@8JM40w*mQj)r;k=AXpT5LB?eq*f>o6o3TRvPmlLQUwy9sE-t7Qm^1-5 z;);$dolL)zg}sGZ%@>}>N?cVHtpfDqNod~*HSajYlxX$B=rAK;Gj(n%3r0Q>xD2ee z@>lo)YCBXkZsTFIPS%6i84BPW0(8y*TxADn_9z=zgnQKR=DuMx)>m+Vs2WU7>@)vS z_!xK_htOI5G5U?byaUV0HUKCOzzax%$fo6Sp0B2f2e|;{aYB0k=nFTeAj%`g?t>Rb z<&H7P3^JZh`3AdqXtoPzva4g_8mNK2`_Hqxb)A@M7?hYm{_l?LA2tCl0)4!uTd;1} zz37B-#^^mf`yCwHbJ#FshkHrIRoSQrXZdo3U^C+NXMZIm1u-tM4F?=@gjm;y5aVgo z2=h_6W614a$=WQ`pBmHt>0%%A8 zOL+08QvCZjH4sn=Itm%bxlsXkKTH_@3P&7Ekml=U#7AT=w`m8-<7E3hn(og~*@U>8 zC z9Jjuk+nB(r-T{}SU*KvjXovPg9hnFAn`lYXnKOCZQF}47-kU72!2)(UqB4crK`Imq z$ol~bfh5_kMQ@tO@AyLY;e4dT>@dQRg!mieM_F0#G~Gv4mAKeso5lSn!2yK@5zKJQ z^hbkTDTW94W#-4A0*CMvJN9o62@q1u_2m>We$ZCxC|@g=&2a7ZwK;yKHz^>E^ep15 z7cn!dyLxi$N@ZbK%JHC-tEdNUHgrFFbba)Y)o1}7eT(y3&LL)L`@9}j>o?+~(IN8j zH~aC?7`rweB1I)D(k@9`Qi!rKbW1q9*+b6WL?h^d9i-UvgJp{PDOxFuzbhjx1qccR z)I5TZOu~3ReC+Jq_5618ehIbs0uVVPYiCsVs7Q_C^97bVQL8_ONs19$>;x?ZEDf zNRE~VoI^cp)iVgsF$vqy*-)0G^i5IX!z-hB%I)1ZPM73l^KIelr+ffE-*P{jhA4MCwoQG|<98TKosaiJZyiSob9wJI zi`N!%mb9r|{E|yPJ)Nho8(yLQdh%V!$>$}XVMJ+AULKqksJ14)7 z3d7!d&@$5{VaN|YE!6mFJtA_jL)UF?nlpnSe?)%&?BVZWy& z)LwYf)?TQotOXffUH|^^BY$J~C1)A^3rXHHv%9!6)Vg5zQ->37_OO z5u9x^EYGf*8g?^aDp+vTq~9BqSYTmoC!jKK$v2txJ$Lwh{#=Cp5O*~8n-F}js$&qN z_iL!Cj%Ohubp1CXk^lCm8yC!@WWl#m1y&7=Yh}q+c6`+GWs)u|PIW`?4RXvh^1+Tn z2)8kn=QUHT{qa;ogzXhojN4z66BdWkY6$iBYoZc33iECn&FE0c7EU*wkAngm*0d(; zcQQR8kQdc6(a5zXOcx!+N*$EZDRb93_)2Z?&G2C2EfJ68-dJ1|5yIhddRx z48IbkJDUiX=;lqDM9V}ZJC72>NGRQ!;9JOcd428ywS^DJ|&x8O3>85d@(RXVGg^;#-#5BfIUZh0?5EQ9mNEH9Uv zu%PQaa@+~-M2Kl6Zgzk_d5N_9ZP9lNvvpH+;g8)M%k;rGXvtK&ADH*;yK8H=0<%kT zvIlbe7_qXqb7tjqc7JxmQMT2E5?f{*A}T+-6H~}{vk8J2tb)y(M&4X?OYEK$%yDNm zZ>?8??=K?bQZNz@_q4tt3~>*wE#_7<;Zr4?$Gz{^M2A{QFva|4D(Upz5)7 z?y$ytE4G%z4?|b!+RU{D6rB^3eXB~?xD>Z_$F+GwVAwmm6g#c!jv44k%a=^3;719v z_V_+D!*JVo*qhWM7I!%#z*qV~tz14t6`#WU*o8plX1c|NsAH#v3x15f$Nwz!v?F}C zl8?Jt*r)lT*Ze$vLP9%I*1WHvvYYRkw$d-Qe};xlb}SMcU^e1}?7%h(X# z$?t}8<}y?NvdpayJ>yy~jB#0!!^_=UlRDy~{>N6XVn~nfKK@%F7eO0Er0WVY=_iun zN&K2lEuC$ff@4zOk*e$$mVYXnHFc*^@FVotj~Yh2kN9l6dD>K#(Re{p&wkhDFP$=$ z*_aA3ak}fd>vTF?uq9muc?vchiF_Dale|brOL@x0(8$PNSWR#(TC8-|+t2k5c{Ob?^1EZ=g3=)MVh6w7?B||x8C&E^ksbtU_cmd7 z@6sJZY57mph2_@!-COA{u`CoAJSS^NIl>N)^u@JLP4CJW=N=+MBo_I&ZP4N25Z{e{ z$;F3+?aT|`MS|}Vh(kzGwQ7c`^H(-yixx`SYJWySp5tS;&a6 zVn22`$M@^|Wb(m>(ieJbl7u$8rg3NEOlh|w*G%bB-5eap4%>RnVgI_*)7WbdLEtbrg2Dco8MLZ)XA6dE0v~X)M z5zn(H{*GyXe5-~3-(cqvj=S;9<%i&{JI_We!Z-9Z#KmwUyRd~?pd03Ra;_qB{`}@W z$-m+FXZ$G5r=|=CPFb;1><{nDzIEIIVOr$#%8e)Ci)U`Cvz+*| zvhm%k58$=iPDd~pf;*6jx9>h5PhWaaRXup@*t_&NhD8q!GKgF_z|HyK6SH^P2bC~hx57=nCeKB{9*21h&%Sf4jUI3VE*(P~q#(o*DV&55LwOB)I-bj%=FxyHcfr2r-;2DK?T|=Xp>>KupI^O+ zpWk^x!tnKxEALR)8Ti}@>~j2-*!JMFMAY~iq=V2T$sfL(pKs%85M)%|Yw%W@f33Ro zNm}unHhdcz-vC!%nkN=XN&IgY4wkP>8Sv3UA_XnEHi?u63SJ5qzIHXQMLTrtyD8?+ z7_Y)JC2l-^Kju#xt9LOfN|&H~S&^21LJ?ZLV3vrY67=3?KSU#Z%UK+mdCjoPiC1Iy zQ*OjQXWxm!Rvq!h(>Gz-nD17+10v~SI(iJ*Uai3@_9fmbB%Sea5c8(~iO&7DKu%#x z8F)st73?}-81_EvcI!Iw=K?)!Gj>H9X zAa*zAP8s94&m`e>nf}+0XxXVJwmbA3j6C*IbRV>>-bG1g+==?v=Y}Be%|@cefTc0v zYpaV&7UF?-uEDj>oq?NQJ`Xp(c#eLPz8!{uZ&=m7QL57KQ@_Kh_w0cm#(j!|wmSva zziy!rkAH&1p89i&M^Fx zRTevGNJ5J^_YHilSy!ybb;2)ymx2Qb?!z!O-BoJi zW&Nm8w^HYmN?%F&(iN=TjIX$SNmZEChwJ#7Ymz#T)V5`1OTgD@*QRzjO|PVZ=Uyzw z=JuMT@|gLP4!9*R7P?v`m#V2(EhtPZVVT^Zpp>AG7eyLHK;L1zpx5R*Vw(d`N0*JZ z#H?|@=&fJE#-2XR{>X|+sCl!C{qx-KU zeeB#@cIqYhcMJ+doarrefr5sXE9M!$Q*r44XB9i*^$`l*kT)OY{uL|q>QY)(p=Ewm za*NHsUZYxh%V!WH($J|`mERtZAH6o)0ZZr4M5wYpk>Xy@&3E?T)=#1o$+K zhh>%nmQYzS`fatFirepAy#a4^?$cgnp{La$U_j!u=B>ocXF} zzD}BWWgph1+ULyn!Kq`_0+PRL)`!%`sbec~yOKKAx?^{2vDeWkXx&Nc9HAd}opp@Q zK>SM`V?OYBOdsoGbsD4{TCSa795P^#@{ye_!YnB=m`7~0Qv0zTV|(I+chW@*y+`sb zE3dhf2`3*JCc7XP<;6uhn97l|=AkeWp}{<6x~t-p58JnzgDke`T*o%uF9SV>;d!w9 zvTSBBFC_gnuOH8kar0bL?X9+(t0^*z0$q~7(i_%kmd|v6{a$6L93TGriuycf1*E(N zvN5N4s%|fhERo`sfKS>a`W4SuFcH}qxfs}Gb1iE>jQt!f3)*4I+~1u#R7aVn(DQo( zc;kxSu*2Xz(YbX`Jaxh6c;m|7@$>~>qF?7tP$D8$`*jIBw`dlQ+vWf8=GA}Twab6S zTk?J0fj5gFT&!Uz7CW`-ftN1*0h{$6j>EP;74Kd5Hy%FiBiwT0vp986=WTbF9(EVr zziu2ZKI~5HzQtj9`LZ9e-Nt+9`I4Aul)S8FxbE1;aq9`s!X*uHZ4u3OgQ)OM)-8(h zvdR)Xf6=#i{fbd|Q_ka#Q(lsDs1~vm=1WQ!;?Z+Imh=1#uU`HOUb^H5ymHykc71Fs`1$g$tuQZ<5C4U}2?<4eR*I$J(&y^n@D<>mQ^2!PK)>VJ#xmCz{oPWSA zc;Jk;(6)KUDpAe>$$+jy@baZUV*hQ9OA8ULKG5-{$)##muZGtmzLEmBKEoT*6rSuf zD?(9iui2=UmX@Mq$wGKCa}f-Mwc-ZjF5GkccAQ-e=r59@Gc7O8(t)=s?Y{e3VSn2fXWmERQ9*=@RE*@9X4XZjQgASFevf5oyQ zlrEl!?GF1t9iXa(nAeGQsaVAIq*3U)(bmYxFF=g@Waja&h@mBV+^`I6Gex*$WaXh~ z{w$PNtZ4b+z_k0I;UaMIF=fnmC|g!-0jDd_f}dW7D;`F-O}3S=Aw<0*@Urp|309&~ z1TqCUkJYAKd-c;^v}gfONnae{@yQ^!br)=R#6_UhbK*}QR|#4boDwD~$4`mRjC#f-myP%&H^wndElDyd`R|M*eE#9dyz zb?+s3{KEYt&2#YdWrrl|ST}qx1BjK?F^cDzQzzoKBL-pW?_c5P_nuN;GuC^hH$V#1QhVii+3mE?4#%M()Gt< z>AYFm?(og^?zhl*kss_1e7&{K$2R9%8 zj0$a9#MxIj&ufh&a)M-$IY}{n5X}W|C8!QdQ1N!i?y)Js6SB%@s`mbdjET9~B}FPSz58>yEcS_F5E5 zS&YRK$dn41rvP*%yjLklU;kHreSA z~?i#KxC|Kw#nUhz548Kp~^15Pb;rsrz2l4mUZ(_*KhhfMr zhigOr#j`h~tgK{(Mx8DunHiZPOmgtTRsTbVoX@a*j>n)K4iqsz4e#80fu2LEbC#2r z<Sc$R=TcRK*OP9T_I0~A#)DG{t%MU|y$tSwp^xtMLjQa3d89=%$)&F^)=?NSX8#LO!LDZa=lx%Zj07k2cUA{4CngE zev73nQDEk_?kwB-V!^a=s3={k*S4Z;nG8IqqI3VvwVb(F4y2W41D};!sG`Xy!g=+6AwB-@OF8ga6C3Q@qmUcnf zl7d2Z>3H_iL)3kRb!_0ad*P2SUK6qU+Dht}bowGrc+78JxmShd(7le8w&-v@|F`cx zPp;u2%{N{LZCm7cS<;U1d`g!t!ZVj1j5b~SYdf*oZbzZ_R(s-yHy*;|(cem$06GuY z0t2?$Q{wQUU9XKbOn+H!)w!3pojf)z$D2s|H+ba18t(bq|4-WU_b_%MZ%{+p6q>=9u~SPx$?vhol`mN%N5glMKIK!uav>4JROwnT0L(J^>v! z+7iFL{Q%y6a2d z3g~-JdmRs+^)Bu`{dKJiPk(k778K9byBlm{ydpgL;WFI@Mo;_+{~LJ@j@kJ<95Ui$ zX>X)HCB^GDG2$6zRkhu^yahu*Li4!CAh-1)|(x_-|s57jCgmbT>UKR>`7uV0Ft zFYYOyUKn{%cNKy|dToQkoE8#YOzNxSPDFuunZ?Eq0T*ce~(OuJR+6O=XWf2HMZ9U8|{Kt9kAVD=ZTo?DB`;rwms+!?D)S+(YE^ltrWaHnfmbd zVbw!Ea(s5M{OB>g86ql!Xw$7Pb~^5Ij5zWF?0EDg=(pwW+NhTnEzrhgIb=B@`;{## z!nTK;iJgwU9NQoMf7s#Zi?Q)``=NN@9JLzJvXpvKUMnh3i}@hwkBiu;Da=`6b-FTE zCke~Wa>4X*>f<`%@bfiYBmZ|1+HG~PG)^8FJRB+=eJA*(W2$+sycihyRhStjC|omWmXKGZ14aaeBX zxBAtKci_usZ^0MO+=4G(x)&aQCi)KB)tN1#4rsw`(`_IU!D7st@Qcu8|#?tvSFpCe! zO1<_muWMcsiO&@-cj9+e=wB{VP^aoM>l^Dh-50h$>|E?{)CKanNCv_O=q?-(b3o2I zRlAO{o_cASmP4ct<9xZWLhUdQQRXzaJ|=y|H;m+4O(Q`(Z8f|l6r)ElwuN!MVvQ?A7Br(T8KPQFeb z09`O+ybcoj4BZ)4Z60V2PQy|TAAI*l z-2cusxb4-8uwcm?TzB+iIB=WeRn+>WoKcw0TrfrJSWad>?s)4${5}0wjpL5jFOkp1 z(ymhet$1#!HQ$f@6fb}Mh|Z8vnA-wB$nvifzrlbmn<3#!s1^Fbcdiq$`4jFq=_Pfo zxbc`L(YBdfTPdq83))CiAZAU-s zS1_#a2o2Y+u&apOupHZYNc!7xAL>4Ia~U=1Yn{cUL(8rrb~7eDSRpNBn%9ge#s zj$2QB0f&w_RrjN%nwdryk6!Kj}io)s-|87dQqUO9Wkso^pGI9zLtt^&lvUad58M zzr%7|T22>*?bX3v9>&&u5pJjgk_0^mB^}}cJ>pPF3eb0?>&_xfbKu^`V z+OYf=G;4|0UHfCo@82W^un0jB>;DD|B)^rWoItVdOrX8D9Y0r;fTQtNc;0%(3ai}bH1`uv9E zS*xyn<#!Nasbj6X_R|3aU12z0dh@RHmaAjmy?US4-&A}=_D*bBWycynMKl6Em%S%G!~wnTpGE|@=kyza~EM8imjKAY(PDk$g6 zcA4iClQyTYRc8zwzL&)BLr?~PZM*eVvEF^~aCF~zD}>9X-ITCxx((0=!D&cHp5nj4 z_%nhFl1u3g%UC+i1I>EJy7K-n&*Q^iUdHF6-@+;P?xpqiuRvMqg~Z!d8bYHSJ6p}EbBjWjt?x7%21i6t>!V~NllgIuYM-LD}(%* z3n$637Gu+1Tgw0-4+BNClL>Ris1>&^;h*wp&h>EZQU??O4nT{PdIsjqO3d>51^jr#an&Yi&#^acs&c!wZcfk&W z_rjL_cGUg!V3PEJH$%_)?-{?TfKR27>ER%R7U$8^e$;ha4;(3By=q}6lji)bcMQ@2 z`al=fF;9EF1oVdZDsL9oC>sbVAldmXkl(VMxhJ&Rl zj#HwU1)dgQesiQtfy+v!mS|~oayb=>9E6QDtvBod;Uq>pHut<`N2v}A(eu0ql62-~ih!4ILXkmV zNSBD~%&ZIq0@5i}RPaDD0`*E7B@y!59WHeQj~tT?5TPHFBP3i&|JbN>U_FtQQy`-F zUbT`fT{IUzzI-QgnzhysLM2jxbaw|yXUgA`3yeDvcaG^v$e=|A18(UkIp|;U~D#&(fYP2jgT?uJ)7 zRjof#PwFan+!m~)kFS(ssh?bCJW=T@JyFg%P4@s1tURWKXWBF`1upwym1-GM>vS^z zS@$`WoBWde5Me2Tffi=gCAv;jNFC#x)}KFjtGY8ZYu5#dkkk*2ae0_$k&v`e$xF+$ zaiBnV7^bNpHz!%2lXXn4k0fxp0elLcV@1g_J)}bBzq~@53f1>fGM0)@HfNr z!@)Y;KvLIjIb>fBcu7fUsak)X0j@I#b@SX-l7_IhgZ;W}f&+&ihh-%(3_Gh8wmr8! zHatv(8VG%?nU6lHH@xyijD80p4hoWO zVB;fKEwW<$tXJwP5s-_PT-ZS1>98~7#ZQO`WI^ez3FuvdEE;* z>iU;(z=aQ?Rp;JX2^o*>!wVtb`gFV;n=^c*;$k{eow^G7S{IF-FVC5s0y`PTNoXmg zIOZ*GpENG)AT)mIz%}k<{Jf3K4ytMZAo!)hQ9&)sQK>AtUKV^JY$lKT0uP_LGafr< zH*FN?>z$FEqhff!^Y6p|Zg?3-Ui$)$x%o8=+xH~3RBPugafG5yC(gWLN6c$f)jxq|&${LFpHWl_ER3B)O&@hhCd# zo#8cOnWYt*^O*9%R?aQW+v*_^Z`}XCU_EWuYp@=l&oFS`va$-ak~DEt%2L6 zG+a@Rk|j$u96v12srtk8=m1&1oplKnS8aL>M$gT6!qnft#=L)~sT&9Vsu^wt45QJapzxctq-0xV!{I_c>8SfE-`y$6jaOQC-JwdJS72c)BwH4g}P)B!}jI zX$wTu%V2{8e@-i?86~KzhrqVc5sl9JY9#I6OlR;bZHJt!vzl#Q+_^K9m0O^O2A*@u zI6&AAP5t9r9I9Bb?&PB=VcbKcIfZA zU^*+L&m}GL+o<5?Y!xhD{QNrU8{M|crU#(E9Q&uSpJVFWaaF#~wMq4j8FclMvdXF9 z{#i6lEzX!Z*mzZjODnJQ7)=5kCFxO%drKO;>s#?Mxkm#(JgB?{dV{?DA(gK(92K#ivOYT%wJH^o zW_C0b2Q{I8E90XW{roSLULY%D2g+I8)#t`sx>{#na9 z>jd2p=$p(k(y`Y@yhq^d#Bw2`q*=SJB1jiu?04^@WyfCX-%n9P@k0M%&PXx-%U5-3 zy5{Y=RF`WxNs1Q7bz=3KDGJWrg74B7EOuaZk z?E)>xymdZn{4d(cGQVd|{8MM9;JIeWfP{m`KRNlt?9h>6xp27hcmdu<=h#T$KZ1ye4!3!;mMTq=d^Wo`5RN{ zcj!4#25VFC=a;X`8s{NzwpHVP_z-g@|ABs6?&@4uIbXSmwJ(9TkxnXWA;;qYramy% zTz?#kT`ipzX-+!L1I^hr=qmAl2j7B=54jT;9&(3#ZpStMdsqZpbM>R8>qE+AV$I;) zWak=p@6a1J9Q%YG>ykt7!s&Zo1)s#tm$&d36z_Bs*?Y_X;j+W;!9|ju>m~d~T{qKu z{BPo!u)OmjJ_^gjcQ_qa9{GU2=p`#7N9)?WqFMN9{1@17n`702{`2H7Rk*H2GhKtsL*-gLxe1bIt!A#g2pb zR{wOS|MNfJ(!16?=V|lCV^PWcl@1CTi@N4%uU9SLt9CauSiEB*z-TG@?#0{j)Wrwl z*~<^bGnXHxQ_=Co4x4Yg12Q0;i(KG=!}rGg>0|NEJ?CrKm#;n&vnTv6f`hjOC4)r( zP!u=ggW)Uz&s=&4UcB}=O#bZ)bnG)kXUd@Pps-hw zkSt8>@Cw^@mN1)O!p|S$`74iUwy#2mv@#6zwzrO!8Mt%4k zK6v;tynW|6YMETw?HZmJ8v^E)BQTtT%h?lnZYhfxQMVb1hvB?(Y;6rTFqi}Mo6q22 zqMlUHB}ZdiIlS(iYq$Tl`=|xO<}% zANK1xXc&BIJ#l7zU`=#Mxeu#_$GKxvClZ+DS6{Lqs2h{)%kUiJ@&Q;rP?(UxwU1WU zI?5d5kA^GNJ&e=eakd-Qu@|mA7GuAEA07K`CV9|F^0&@WHoPxFRJR;v-s$-tMTIX$HSdjpq*Ns zNcz~Gb8yT~o`;UR{0PUKy8(Jmm4g34KZH z<43=~f{%ZFO+`B`+;rc#?u9ed0?o8=R*8!rKZZxd4k8el7Ft+e{rXW&1K0C<)ACFB zpkPh7o(~1S_wx&Ak=I&}K?^p^9rver9Y1rlhNbWIACrHoimNVC;+k$Pw2ZTEzVqYr zxc@1*=Go4h?vE!wzFmbgt-h?&nSm_qxAiglkRU%JhwO{PMx2VX_PItMc6{l} z2laui5E*aBxf`W@Q!kdYh(p?21^7_~rQ zyUr-(+|m*!J04o~@>{l75lAQ)HX5-%29G>Uw)0_@7;^NXs=D)-ok?EvHu}^$3o7SW z=5d;}?J9?jY6nGFA$ZH2$8tI#?U}2fgFJlM$johqvmXBu`O=Zo`p1rP?=x@5PRC!7 zbW;(rDxDJ_#Bv34)B?)1ar!&H#f^TXJSIi#UZ>xJk;hzy0y!o{JDD^2FSUL#Ugjr1 ztkg5d{(_gTKhC*5&9u~l53JA!t*~`RwM_9`X@|-ep}=d!^G?Brh7UP$c7a$O7XJ+a zUcHdyz0Ol!Px5oo=;_&nIde(%4vevyf zS1WXj_C3+EL(eKY|2DrB%QgoT(v@kw%fz0i zUyqHq+gIBKwk^A!bTxKA`C17p^-=!u+!l@h29dI*PW?^RF|ug-1iX2Z)G)awgO=@z_auiOe41qJLqg2 zc==PBCt9YZL(gf^uIf%n3YH9CUK<(Ybae&|a-I0$L#XU4c&(f|!Ll9K!C-ESHdXD_ ze-TT#P?()w7Ppm=PV+$XTF|}XhjE`{_<0?x{CW9VxNNRm z7h${Pu|{0b1wW7fN<|?1Y^GLHDjr_d!&EtqlJ?hZ18~!))Y!&N0k9J{;Gn!$u z(+e@=)LcxS^EZZXygS;7_+~kO`jb1W_GfxO8TC5$y=o9{d-Xy|mq)Gg{C?u2TQwc2 zu=`y#LC~T z)P%PsX}Kj7l{Kw;wc*?NcnQOme3;0o>|967PR+E^63!>}=_~1UAl0za(^B=oT^c=qG( zppvI7$M9!JLvZD3I^7cmcVX)eRUJ`HXaS>7HP2K1p#`;Y%kgUGpXQ0=u?qJ!FWza3 z*W<D=$vic|daQnsMOOuVRPc!w~S&lK9^^<%_q&1B4Ch1+KrI+T|&yq%6|&!+Vzt8%Dkg{R|>XC0T~>pU>Rfj zNX>SKS;*<_=*~fbo=T6#Dfy*?>l(-6`8e(vf~@94l6rSA1AK^RYtol%ANdqNOuGU(*(~SjV zi1@ z@g3?T&4CEp9L_K@YT|de{q+lVMh@1~`oe*KK#uX^CEsDfKVxvlef#T_ehr^xGiG_q4* zXT-Qt`Bz&!6Rl&l(^OX-lXK$v(V7|%QA;Z_-9+BH>pHDptY>fEeLbfC`5l^d=&pAI zYSy8e@cKA)tonMgj;XM%RhO6!ZFg#|uM5VJdWNH}ddYP)#WUe~rSgX#rit;?Zg&_{ zsKUvUn(5Iv>qwubB^9rvX*uysBs}-4EuIPUXN7Vk;d$KJ?Jbv`u&Y*fDWKhI=T3jp zZ64@`AZ6vv3gqf{W59m2NBaRPo`0SAwbl{3NvusMh-rDID+Z^)JO99&MX+C~zRwiT zd~@JaAK$KTZ(JMVnQ%srgNC1|zu*1wdFhi@G8;-G#RzF4de(ccpIp;3Dy-sT* z1&{IXcs(AB88-?2nkR7FKHDVMt{KPQ^fERby0y*&zQzrK@t@Ed`P;`Y;Kw%}!eLiF zqt6Ze*Wh?{p_QAWdeleH3t%lF6e#Ag%m!6iF5E7O=OAN~wKPrDqsIZeX?trAJwF4rTA*bxtRah3CT4M^%BrKpZx$1KlC6I&>H~s>tu&Z zSBrJk!SXgZJ8*t#!rQa#_)R>o8uXEyFnJmVv;q#_WoUBknsMY6k7BD4yRNbehq30Q z%D!VUUN?f09giMI{j{s0#h8}vhN@!}(RAIRC3j_a?u=^qXuuaAzKIuabl&8a&Rp~K z&-iiTdC1A+-GB{WKoiO&&Jw};MQe0pSx6~nX?bplbm+SrYTiMSWAXLjb%bB zabL4Oz$NkIZv5@w{qK z2L&>hAM~UvF}BzBaI0D$p-|-mZ;rrg9Pvyjnj0z|d@zy^9#(zixa&eZ6P}OrKw5cyhYan$#<`dGW;(Z$ZfL&(`l)&uD3 zr&F{VMiar6h+$cF&*V}y^{NG&L)I{ih9@45NQYZ%CX_WG!MCW{AlNV(6dI9v`O}GYhoQlyD&!U9q36S1riWIb@RyhG8@aoJlz7%0M}Cl55r+w>`XR7>$lI zQ<~L9!$?b{pY&(1c!#K70y^LdBVkU^hS8wV2ilJ?G86T;SQTaR{r*;m4WqH34Jywc zMR6AEV)_${*sMuL(}H(gf@RB+OV!j%KnKf8tm`$5Mt}p?#9DZer*(LSWBxJ>qfuZV zS`zjmuXLibBF*t-jw&_B6UO}%>H%nX0>mthzUiHmayM^~IyXLSiC zqz>CC*f1Iu-pE~F=7H9E`fH?((9r`0wOWHT4qEi(RewD#PTGVHgbu9XaY> z_xzri>SwFPhS7M~JkW-b&LrT;$V&dMrd|TNFtNlQdoYX!hQc}I%}2SvRdUUm6Rr$u z=WRx4!)QEg9%#czUsyjYD^`5ws9v=o?)EzOo(#iiFerC3;w8w7E>5mlbIS62%U|mZ z4Wlu!d7up=ec?m18F?*|OV!k`=M0xiS8fw z7ne)wrwklxQ?FX!HU|#FXcRm$a`n3F@3~wVVI4LPXu~iJ!>9{aB93Bj%j8lu^%BsF zvwCU7hG8@uyz3K>MiC2#ofY*UC)20#nS?fs#)B>#-oW}X3x~}EZ8SCFE;kAjYk3~% zwxKDA*V7BcFpSkDfk>bLp{zE^J^96^_=w6U&V)P5v?r!!Qh^Htcglu@wzX^%BtG;QH~@uwiUS z(B;DCaU;X;byn1aiVDs>YaY;s(YSCH4x0zsFw&7kA_4!}evt~_4Q>w+8b-sSqv2>A z6``oJq8{YuWNLgSp$(()uz8>jBYojCcBLi7$)#%QC7@e|rrAS;hSA`N-1W(5I3qu~ zyyh$l`c*uycyr1yjE2JIfi{dZhKAz24#|aT>QxIW!f|_u&@dVpK1AqC1QCdrC)cbw z8GesMXqDJ748t($#N|PtWNLDuntBOn&LL|w4)j4YKeW}ynSN>g7K}`NG!jK5RR4LP z1Fp#Wo*fMat!`H5jCFy{18o@T3w@xo^H#j$Td&?=X_<7s>4M7zkI!Fc2j}*9;qk7o zV&4U?FOU>|4!oG<#YHGzwm7+F{enV7fL19Ix6lErfoi&A*5zp9Zg7k-}?85#92 z(;=OEHa$I{-BM@yz*6;x^`P+tY_O~tWlI+&ml_tg)PIlHukGA&XuDUPFKp-PYU?~+ zX#=Hwti3I@2fDaqEzbju+;&tY$%RHlPL6X^PX6_C zlrCAge1k9B7R(rrS>s0`zTVAU=|Vgf!MN|=M`_VKZL}yl!@+WV{ODEq@Zl>QOF*qo zF`Z%hD@vDQ!cQNevTT_yHw4T(9`~i|j>Y_GW9t+d>kGWv!I&Fmk@^db%zz9!iV8+_a^@Qi4LYYK%D;9kC;7a^m66fE5D~qo`e}=zDFz~q9M6IJB7t_rs1!z z-a;gn(A9G${h|4s%JV#H}a z;$9@{JR+pIZ(M}UtZ}0-fBHCCY`FYQ4{RRjRfYX{d9W0rh}4A|P-ImE%TO6A*WWdv z_~JgXcog~B&9L*P2cTDnfvY8=D?=41tyos|seOD3&dP9gn6k=ZM5X^;8Bq~~PB@^15z)-Uto#@fV=#1|6P%7F z4GQ_H!of{N$r60?^1WELXs%kN8VYvkf$Y5XT0A=>q%64M^VYxa6}ehSY_xx+5mN3G zv6zUhH+AsH=1$jkgwSPR z+URfa(_4?~9ih0(gE8N{i?Lt5u9jpTcgEkp;G@T`#!?ZwT(>fqrf4{Xao@g&Z(q3= z6Mp#w{)`$f33ALC6UX3}cOOS2SgBU#qIom$<#V^mz~EawR!qdkAD_K~Nk4xogNCMO zg*N^hisuX|x99A4J%;w(p-RM3WcfUP9J9;0IB@t0`a30}DV}%P{6PHQfwzdjE=RYv zeQ^5TS7Ij-(X|EW$|xycioLcx0=J+1B5peV8QgsQvvT|qC=o$QC^SRSAod=1q=b11 zH=pnbz2^kdHPCI0J=c>+D#_s6obB0X0XyHe%%8hQlw-Rfx73XHQ-&YyX5>j}@{))Sw{ z>3dy)42^eranJp|l5YnNKOXzZ{<=>7H8vbXG|Ov+(A20!#xdqw@W#$y9Rb}l#>xEPxsaWnhtW%T+-T}3N=pdqsab&tQ=>Xe0;Q={0phL7zc$L_sNntYu=({$K%V$s*020 zxgVj`$0r?jwyev@W_q3UaC^^9N1(?h+v)y+tX%!1I!wZSnSPB+*84NEb$=csL-Jp5 z2d{)woSgU2C;8^2tx!AY)G?T6ypBHUoOw>n$EtM8cSiDj^~39(6v~W`@n~9-*MI;p zLC?OOH=!tU(pjAswey%FnDM2;Fr6uw?iKcz<2gv<;PYu&s6z9lI`6f^Po5voLHDm? z?#IT4g4gYe!Lt@#WR%bM`>#)s!OM(mGG zcR38h4?Go1L;x%3Qv!*zbC%QfrC%GyMiD}iO+b_huN zX-!UDFd1f`)YA;EjC_rY>2KF_V=S3J6PX!44aGV^*ArLCT+!Sy#0RI?$C45wo5Pk@Y;iV?p{wo@*_vDlkC96 z%Xvxrlf1s##x?N3so~hL=7FXdqd=pDm)6d;WyxgqEh%4yVf}Z-K3g7%ijZ?#o&CSx z8^8hE9FKjs{vUEO^K>0450+rZf%~ItyFMZ`V;DE%H=KO;o_OZdyQJJ_srY1Co$sio znV(de!;uh1Y_b=Q+uYYtK24NjqcE*8@AhMceKoJ zE6Wk7_kOjS&ssDUk9}}6p7`iCeEZjjxb4IjaNI8EYZ{r)%!924?u0=-h9M^B>Xz$t z>YkTkkD-U*=}+&*L+@XYM8u0r54jIMi8D3Ga7bu)<{K^P$yFLJMQbWQC}=72c}}T( zBdN4AJii%+-xTs1PU5XAe^YQdRc81}S;@KHpVTXjA)bj#@^V>DujEoS^=gechwQ2$ zrCu7}r!G1WHy+pr&s}*0N|!EHF|>9NaU>nf$|`l0kDt^&3hcR4{=n0h9*PIg*a?rF zy9bJjinQRc<6Ag$5^gzcARd+VcO5enzkTw8c79ANEk5r*cp2_Lbw}KP(s2Cr+3Qr2 zPTaL%$3A<)Xxwr1W|;8P$9VOI6Y=m_yWsZ!ZH}TPMJfQ8Ub-=S_v(Fk;Itj^$l1H; zu@}soD8elplYaRO&s=f{B9Tgb@yyM*=fth?{TmNSbK&C7S;-V?T#H0+AU&)*AkCXZQ8$fw}`bP;*=rjzmQ zJ5OQEmv7^NQ+L2U$8U+xpS?vbag4us(Of)y&aRm7=O{U+&G5*%yJPAf->Tr8H+3vt zxaJr%M*M0o-@W2;6_l_W1IZhol0>H2jRef5uG*_fu;c<4-r@ zVQHM!!n9Wjm(;aW2gE4y&%hSp&l&ghYBX^_>g+6ISV{t7P zyu-u+5Jh5end2V7J4&-A{*K50Z(l7Bw;eSEA3l1OG`w-$E&=et+ppn4DNDS*?>%x2 zf|WrnD;!9DEA{SfDc3A351hFN{*k)EGNxt2?ZtPmKd5cMLuc-cFQ2Y5)F<>lJ2 zuPn=0H_DdG$Ne{4gon=D&tSk-dF&vO>DDyzGjimr<*Q^UVwCsk= zK(>mm+Jb3KU^$A2(EMTS2k6srV-)7J(E3Q>)vwba4U?Byh=Q!Rlc^Eb>{Gz0g4cm>XX^kB_5YMN^3G8z*xE^Vaz z(>#)Na4^!XO&?uHk?;3qqFdYE=-#d`+BNU2>lqjGsxYS|vNLj#m(@)3kplo;GlpXs zZ(Z0<*LRipn8uX&<~J?%om%$LczKr~E080{qo#4mAjP@U&{#D;?((8_`Gn+BHT4qE z3qus9|6M6O(((QF@$>3~S|ANMtw?`<`(CXARX?=A#p{lb9Sh-w3`(c*)eCoFz;^rN z^oPI2!IwRT`Qv|-#@vUZIn(ggUFYJE%bvig_kWI~Z+sPhefb6^{P>ZIzaQUz3`^$C z#A%Owk5eD~5}DH1g)3wPypjgp>-VeGXwt7=V5j4*z*&!djUl@pj?W&v08tSHv;xnR zPPGV~t06OO3~0`1So~RFofk>svTo(!J@fN89d6`Z$N^INpTFE8JQ1Fm@ur{421 zdTlxa3ua8j8+V+A&2~Eqr#+4j(;o6&BB$BI*4eC*3XkU->kCe&r7J3#IV#`5bXXSSJ7e`fW`3 z{(YSM@b@@P@}+I3Zm3wYKu5~C&05Mi9Eo;4HmYj8(g`nJIOKflO_U;h_39x-CI!`$ z-@cam+(CuWPj5XY4e#1@yzQ+tFk{USN&yq`@ch;m(DCA}p=ytk7WJo$mK>N!T`&qB-7x23A>er89;gWgkqCh`qLh(yd z?jIEX#3S+WH;<7m!gk)WS@?AHn>b|KQ`OyrBDN+84z2|X*l<$BQ{d)g=GPL>g!N9^ zjN~0QwmHr7TH&5kU&Yl&JgnUVPREVMJ%v5DJY3VoygFl_t8vXy zkKp|MZovt=UWm>6Y%hb8uDJh#5cz(te4Eu1&oJbe7H`n_T!0s-GZtb_mG6?nY<` z`S1g8V|t`uCFFu}u16rZd219eUW^`tw?$BHH!7Bnl;B=tHE6zRJbLJzT3syY@U@>h1Dk!lSbKv z8GrqxcYWTy?;;uWJ%En=HWh)`O)b*R+I7X|yZ=uu)Ik~OweQ>=Ejx6_;wgNH&aY*U z*65JbTXt66`fn;_dZ2m-Oc8Os$&Lq09Gx_-ErxBQWsE+;98Ayt>uYo!w6zM-lEn+8 z9PNi*o9!rNK7xF|v>nN0E{CLd=HEX{-2yfqd8n4*ijpGq9lDF8s~0B!{-w4D&3qxP zPXk6C30G!;)YT>EErUq(q=4` zbL!Yn9@`9`tWw~!a2*eF+uoHSdc4mx6r(1-R{5T?s`n#L5kC-HQ6sv=<6Mb zV1){wc5;2$1~ujbY{q}X2l>v~|JLLZ(5w9bY|?$pwRZcR;_URfH3|i!3Q!ggJ|6;H2FzMpkAPKK%97sy47D6u{lu_SN6h z=S|f5Rol40-Dm)tzw{rx@Z|&8y!UVn>OM@}LFkG>a;1H!SvR%KO+o?8urudRLZ+mJ z`)JVQVdytKb>2AqF#dC#u-k>W;_&-)uuxR8pz55K$FX!X-+0W@%4O;z5)21%+5>wd z7^x5ue1(egvmQJE=RR~O9)JH<9JJ-hnooR&f!CpH+g|u-(q}mHf&KBy*N;fs>qT+- z5)AIKCGL9Ta-1Xid;N>2i;zA^eVQx7a2AN8#kV_dwh1Za8SW z6RO=w8l4p{biD+0z$F=7t5DPhJE*}s9)tpEte4K8g%%xqp#Ro;)>ZD-7*-5+V0Cpe zv^KJ2QM9pR=(oe6`0DxF@X%SiXs1OBPf!FNA8MKT_fNR%xE=JC@O`K3pihfeRF=yp zgrOqt*eN`6&TjbSy(je+>A#J{HN)jU-7F|v+3-{BC8YAYq)@OkWv9e=9G_tN17~PB zT7q~cv;_Sdv>as?v_#9EgD`FMx4a3ezKs-=U3v`=B^=kz^y?SyzD0HutU#l(N^~ll@~LCveqddOncuQ4&uS(dhUTQpS@LndaF8n zrXegHw=?BkdO;s(KVwe62eH`M9NQg+(Ot`tmt}X6?J+ zg=>z+TX&zUWu0|xX=ynY&z^#BUb)+;6KC#>hb}xAvnPy_V><2)%NEQ*a}nc&$Dsv; zch5xOAryD4q_tsPW&2jps*_q;Q|V*<$Z6gZB_bw6(w4ZSZm|CFI0-pN>9!E|WJ#1U zU0(5e$gzCR!;4OPlRUQ6A#X;m#+T}3DVjToST0^P2a9G-)Vnr%=da7gnr9sF&z|tR zwmS=_{jGx#zusbx>bi`q9GxNOLFS2kK7aBm?0oFy=pqB+Xr%53t{CT^U%shzm3Jgq zcM3WW)R}{dWMItmW~cdFApCT$P9zt1Tec6xIQ@@uMbxhXGwT zLqSe65x<+LWp?WPu^2V!TeQq;tA4X|1L)YI8>Y=42fxP=rM!E(d|K$n;l*dazl8-$ z=b}}9TaAPC6!A|VWQymL_qZIN-!dKF+%XqN?{qG%e)d$n_ses7+?w&x9bwV3c{pMB z3o&oWKlpjlS5-c|HAz{3^Rf!@)=y6%R2IXjdtHY7?B*yBmFhO;Gh>d%oPNlc6xJ!! zV3zcq&yc#qv__;2Aj~JaN!^dsyNV!w9=D(L0x|NmYS6!~t=AI>21 zz^U)6wf~%l4wg1^v8H$PKEv_tZ=dRUF>Sw0{#v`$Zf*Oi13*}gJ$24Fd^P4hWM$+a z)9*Y(#6i#3e|?C57EMLVg0>hp<99t?|1Lw+>ONxQy*1Ci`|D%vgJ&(Ail3)`hAsPz z)N`)WsL+r|o8L9U_Bsm3-}wPriO_rIvP1CM(>EhGCs#A0`zG7r^oKsjNq2vU6Yh8q z=RElf4!h(LxT2NP0Ttr^o*j)rBD_X_`m*{oQ>3wj_*ash8!H*Do<8XWGP1I?pjJu; z_rW7q;Qmv#!-Hpx#5>Yi@RqfngM3orbY(DVTK~HC9i&1gPD}5!vB)lHj+SzM6ps{^ zBaXa4-BM1x>jS;5e8J1(u<7=Dih8KUE~NOt8^C?DD6u$7wfX{?xH}^8fb1tnt6W7b{oMN70|E6DLcZ zxbUU17`W};dMAiNx_rr^K(r8xWRO7r z=hj{Oqh<3JI!JHXp(o~vaHbV{@!T2e4&$VNu3s($WuV!5lRa?JqaWe;J3hc^4}OE* zn~zi@NL{eATP6eJDWg6|9x#ne@e9y-? z^}f$AY~Pcd&QZ=SA{{yhtvo*!4sx2iopc=zzVtC!Uxr7|*&SoPdQ;tcHZ<6VZYc9W z(~aSn+jhj#vc)>p+Jo<1hhHX8L@qD>>O;Vni7)?r8$H_fR~LaHJ+~5(TaI5QevSD{ z=4hDRh906m$h|ra#5+GeuSPbODVD7js+bU$GDvGFt5@p$Qo@)*{Gs=*#SRyA#g6hh z`1)b$nsVPMZ>zXX`SP-z;6sJCpZo&4wdsqSUp^0ES+02(CPh_WB>QHHI6M83-PJdE zxCmXkfRJV7i_Q_~EXF`0BQQ@a%k*ZY=X>wzON zd(m{cZoIR(@&Q}Jz%y8}(A293&dgYihD-`4t%RJfl;3MpJkwg5nb#72>1^jr7%hU) z87Z*v^Ek^E&eje%AVQMs*opc5894C52QhT-Rqc$Q5ESfbDdCl7~V|AJ9xt$Ls5vG+c5Jj^mJHkV@Yktdb`mSabwAOX{P^NBk ziXZ)Xo406*pyVyxR8ox%MM24;dB`bj1z%R4eitvAt+T(RMx+$<43|^TQaYegy*{<~ z&u!iY0TB=C*QsLMfr6gr*k_B8IP9utkXzUq3ucbjxETk_k-8qGAui@`t;Tds2qxtG z>MU3PMMA|6>oa}O*Q$6H610fQ`RUyci90o$1N|@6#lY*r1QE|)y>JH(IPY$p`oI@B z_U6~nwp)KKZ-m#MWxZX`jd1i$uc1Z9o+7aS5P{iVuWd=uycO$&2u03lLF+T!rnK&{ z%u2@;4hG?g2NCdaAhsebGunnM_(uncsq)Qq@J<)qxUzEdWkszFXU8q=fC#8)Xh?-8-BK3K zoQzo$MroVK!HF~QbUI%?D47*0!h$8`(oQ?|k#~Yt2HOc9BaoFXsdnMl_nySBA3lRW zK6_Q#iZ&wF$LfQMjGHbpzVI?cq(i1voOw?73|?dYnR z{7rxJK{ZY(_v^&3)FL}>*6*0NcqaOF7=m^p%t|YkV!_hcTD}PHwm5femQN4MZ;Dh> zQ+IX=mMZi(pYml-9)|(lH^G+ucXA$xQ_<*A-(FfyZ+Ph(OqexBeUs~g;R%H% z&u3BbJbXU-9UL~|G_-5cS+^DDw$e1z)mKwg@{UZ~!cNi^#84(_(mbx!IPtvc_uRU$ z1HS$HV_g62IeLBrx^1Rnxh5K?)Vq&=dmXQR`xq`h^bTy%XL~unh`M2rTVDP@Y;$f~ z?08`}?0j)A?0#84eDl`_@VcG8lI;`EsdgJ#Gk;T190wzn>P|Cl-gs0dqD3Mi^VPw>HXPYy`!?O9a(7yL3+E8#?_bqnAm@i(_moa3E(4>WK z{0|@L?dFwP&nbpEfA()5zleg?A_^AG)!9V4Z!)~9BJegE&mq;=uwflA@-XSRf5g-= z->DB}PC+aD`uS7kyPF z&!hfz&o5$-`BDFv)*_M^4sQ5xnd9C>f81s&oLIlxbnS;gjx+rv9~SiFwUu(7z=Tm> zW1$X!JX%jD{`$F;jq&Q<5h^cLe_UE&*$(vHdLMPqq8~1&;-e^^@Z-n&U@gmZyS~FP z_4lvUk2$wRYbh(QVA8LjX}zecBOozJU*D~ELr8@8?;pRQ<)3AA-1qP4^9cjC-ABrO z(vrLyFukqYw39({U;OyiV_JsU?oeEg`sg`y?7OL2>QkLP?+Uf-IRp!)jKM!+zelsK z8>!&ov0HWOsd@AJM=ywg?xYWA)^5LO52*VLS0pBafdiSAo%&$cldr{Yr(B2KPre?z zpK=3+?Q^2`54o&`4)RTp{tL{N5x2MW9+oh?0|EhCD(?ur{jjKgHQ}WbF@9O2D z(Xdd+73MTo!O4f~)~0wS6llRvC4QUq9d;bNH+r@kfYDQaL_qpST7fAPhxOYLBL?k> zUnYKoW#x_)m8c;_f3K_zIljPz!j{#FZU!~yb7pC#5v~de6pn>OIPZwVcQ_5NeDxT< z8S|meV6iGNe|VgCetcHlD>m!3tt|77QnGF)v(G2#NkP$BnB4+9Z+-yY`Sls~hgPd^ zjjU#v(u!iW2=f?f+4eedmX;UmdDI18HuJ(44`AXyV{pbkSD{6IYb;zgSGRR-(+hdB zoevZ;9Nj!9av4=964K+W>hEpb3@nZEE&(AKbDmNUk(2tw==!PpaR;}l?;Y-JA zQ!fEsm{@|Vz{cN4$?7owSR zcHc?EQMz;ic01`BtuXDn^upd}-G)z}xE>Fkxs!z1PT!iJ`&z0f$GxL{wM66=G9 zF2@c>U8Ev?Wrc-)%zT(lJ53_tcsrBs3gt1cTG&P$`F|My{rh<6)a`Nq$y;H_$U{&W zjG`jOiW`%TJp)_pc^rNcVR_#PTVniApQu%oR%)FAgs`H?xpm!mYmE8)HMN|nB~FgZ z0=mU+hog&}!%Np5tG4RL+}Bjm01#)_I_LLhKk}Pxa-($@Z1%L>%6cV@36mG zZcEXwdsP5w%ZS%K5`}Q zIdLlyx_=>CI>~*`yj9Qbz7w~>1E-F_XV2V-{m;J_Ej#woV{(x2zZ+iF*%IjP!npq# zKPu_RnSs4ezfpvGo~)PsPaAxrIEj#waE+<^2^{DT#okh6y#B-PKkNZ#BR>bmHwCXwlK@rQ0gci`R zUc6JUFUxPo{+prSR=dj}tP-2=awxhD-WIQ1e}c9ZPhE1L-Wj8xb5uH=Av^4cE*o!& zXD>Sx_a48Eiq4I<-(NaXDH~;#b=LW?4DRSdeAIO>VcZWN;(jTEY(svRLFkd!KCc#N zTE|)bv|UJAj9D0iQkRyMRUi~wv14c5_Dj4wpLiAg+1YsPygfC|PhWNjI>|Zhc=RPI zrc+RGH*dr9pamaj-bw}-(!Q~-XUo9TD+7~-GbiW+m9jFq7w;5FdnNT<1uA#^4>*{Z zGxk@^{OdctlSdZ~wo80CI9Rp}`K`O?vl(N)d`;u5kaH|4uRxY3tfyG>2+YlLY4aA8 zI<7LLpm{54&tBE`_TjU4QR_Z^;q~_Ve-G!u)97ifXK;_&-1cIs&SF!mFTt9#o%IQM`X@#M#M;GVZH*Yweig)dvtS;A_e z?jlK;GWrQmn>PXP{q&MP(8zOKTE1AnIn^HFtRak({=&`kTH~n;KF6Fz)A089&qzPz z)pMhJBKs^pD7f1ehp0OVnFx;Na~}77^VW^Ow%n{W%|Y|IS0yn#~uqghbcSzq(qSJ9ny60~iO{CjZ&@ zaDesVxA*DViw?RCvlq`$AM0H=I~W%qc89v=q}toYn0P{w>l-g|1`suI$tY)yo1%R# zc@q2Xy{C$;bb+@iYtD?p(_^Eaav9OWsJG^wf3>Bn2FAN2aocw~iwsNV!aR z0Zt3$lna-Lx{BoO#JXVz!^!_Sdq-*}2a3(yoE*eMB`B$kYdZKc1?{v13PnDE)2q?(#AA654J@RkaJ++tJ!fnX_vU=T;_Q>xHAdB|I}sm@v&3tHYq^g8)p zrh=T6mm*vJqXedt`&A7<1a_XBaU>NNecE{^fam4xpH(I3o&76if9LiW_hnu)&$y1) zhb}cvI;8`X{Lu3gQh7;>H`9<#@X7LVlO|(e3*d;|w@R*EGxopjYmD5qhfb%IR+>bv z3ClRkQgyizktYo^uZh-IhT+{Cz1|5eCoGpN|GdUr&+_1OjC9=!YyFW3bzkS@BfO(i zvre!+r?w~S47X8?N*sk5z|zu6q+Wep7c6HiJE`)|w6ct*+91YBw<-#KmU|{ABj7`R zb_Ny|OFc=3s}1X>mhWWSMN(<5S+@xDfiIY08^OVbZALFW7PYKVTZ86i$bIr~S=3Y1CPV>ZD_>goWA+$D?EGoVaYY=%M}lQj$fu=``?J? zKfe!Oj(JC|v{@qR?my#gePPMxqu)|d{_5qws4ExCACK|aN4MaaPwqm?0_SamoXdGg zFBxo0c~`4D|4FzR^C#n`m(LafJ5To~oRNf<+)EC*6Su#92`0??L(@mmo8imE#fRLE zb}hT&nrBbL%!QL>T^8;?^DX3L9P_w8tg-VBtgWU8iX| zezyx$jHc54;ujC#kq>XyebjQCgm;t~_X)dSq+bw`QV%M+w?mZJ;gqx!qrpgZ*x-M2 z-5dVyzDt?F@~`e5eIY^Rp5*UzS**))@t+3U)yk!dF#F|OOjqhIUi^9^wj6y7?yfYz zoI3(d(D#^&)<_h&c##Cr3@(1-Z@L1IoSH!rO-nAxCP^Q|AlWm18~)04d7z&&-6?pD zze&<9=@PBEB+6zm9hO_;nL#%YH)r<>@@xhPaGtz#O8O)&hDAdF6#~A`@3dr-keb1< zn&Db5&LjzDUd;KX0!?ynnJ(tjMM$n?S((B2^W}ZHsY(Rn;JXZy;jz5vDnf$JuvJ-* zaxnIwF4yPym+zWqZb`;-3vzTP5_5Sm9&VGz@OTIf!T0EDV=iOn+f(Y4FzPHz)BSIg zXTsJt4|@)bMfmJDOjit8+SLCtZ0n2z$N2@e+Zx(#odFv#El?!V>?BsyJHtye-R%@i6aZ@=Wl3%Q7~TXTqp6-*ZBq334K1y;fD!ia@8h zwuDW!sY5HyZ*VG@3#x`pdJKIgOpyVP9nDIx>JnHZbX_SeI(23CUxm917sXj?*a|Do zC1|L)Q1*eg!iozGR3-{C5>3AG#BeU*_=wV;Z{=hw6C**2Y2$Yc48~6IJdZP_JOv-iVF>8HumtzJYf1&iCPh8 zN1K{gi(6rZ75^Macez1JQAzCwF^|%8(>E)uu)+!}tgzx#l*7*XR0X$I1iGle*z(H? zE3EkUK$i;#J8oHY>cW)2io85-(P#C5w!(^Y3+q16R#;J2K^Lq1yi@sZt$IPWcRTAM zLMyEJmq813VF|Y@I(2jYzX~sR7Y*;fNTKQL&yx;$>Y?e1?*DDxclggx`Tid$GWv|u zc}X~!FYfbfM)lu+C%82u_vALO{6Aah36}p*8vjXf5uu~&nVnj9uEB$DPPbRN6;@n` zpgXIxr@!e}C2A$D0t%1Sp+$r|EX3us!jl6S56$4F|NKyk<~xKQxL~?o(}xFsaIj?f z)$g6Dz~>-Z{oSeukenub)4WAs#;StrZpXory=NO*^q`z5TJYd0+l<*mbX^@$k<1_A`89CxkBo*&T znbs`=By`uo6>#=4{XTmn7dR?;HcGZ`f@RNoVEZ(;fxiRUx%mj&wE^)Fd$oV@B);Q& zHy|Z8@{HO^PHvvQpAvJ_)b6T5(pp?tfUqq~keiWO$J)@JBk}lQoH)Eg_iSY!w)|Zk z+9&nUnyTeSVr+T1kr|X7yv}~glQmDo#Nz0-<;c&;(0gZ#lSlU;`oPxnuB>U{Dlr}6 zRM%nW!13_>D&Ic?_gUs~-Q2VIY{5fNxOX%^+%c)OHsH~}JD1EtaMSi^+@W`sQ?V$#3-hwE zebIL^kfpFR(69}U^&O++AwFUs_AH-cSU@;f3t{45%Eb~q{mQ3)Q*;@24GymP326x@ z^h7g7SvdyX^ekK)?DTlv)1w@byVewmF-m(-CJ69`F)WJ#!B~KCKvpfkhw0$46>M<1CfBzB%xmlWizR%|d z-~0kl#MAyxbHbVA+0M=Zdsh5__+y9knx}s~bRB**oZQ^CW0CCdSut1c8;{*8n122V}x1a7gnQ;6Nb}#z@-9}yupL$Jj z;?QZIXf7Kk>pey zl})0r#>ya88QN`LpVV#$mhLzvG0pH-p z=zZ}mN;LPZ{0ZykOx4EX8`4+^(v31`PC~o>;}Iu>+S%0;J;oZ>+VmVo6EcqO*&qXn zql9rQdS7xYO3O>}%d1n6k#zDD3riJ9V~;%+hU}D+=r;O#^csH)d?e0=A3TT{A$s-_ zW~r@{guhXbxMkRkgS##K^6D)@+N05+RaZ&NWb_z4Nfd;>LJ)T#uu*FxjbkUHNxL2> zlX$|muYg}jBZ=c?^ttqQB*jEv{(JXH8KmogUL7pEA{qF1E}elx`}d;r$m_L?xQ*S$ zUp^I5U>u#iYw0W;+P52>M_jA-U4=|8|M^=K6&0bE{O&IK>OT4gJ+_<{yq=OK=C!Ak zE067rkBLTRViY5^z!KP)4|5pUI+1GQub6*Xcp9cGidS%%6wLXHE@Mawp$Cd;(xA{fjVu2Uh&9igLYoVC`=>9=;D1hlUFYiQTmn z2Ug9&zO}z=-!g7UUL>3&+m@?B!C}1j&~do_<=F^m*h`FpzjFy9qvmpXOx z^noKv)Us{n&X#4O&zkCoV3^g*U&FF^hEUmQx>lu(&#>&X)V@CgPyP$`3B`c+BjM{2sK5UzvhvdK_Dw&+)!q{y|NbIY z?)ps+G5IGz;!9aDu)}DC1~k?2?`*(2A9M-4 z0z=WF$1t=TFjfUPt>>H`_780i-+GM^(!4#K<+oq`CJ1QILjE>|r+)|>ZOcW=6Cvu? z5`Og>!P74US3flk#RXZ|zIcW-yQ%`WDkN==Qq(?;1!IH*iYQ+g`)Jh1xy9_oh;4kUpb$21W z&XPt4893|$Tba@rj2mD50kMa-D!V2KY1U4U|Mv6^5rW)C($GZj z+1ZqUx>mVID7=E3Nd7~G+)qL4Uc-d=et=@FuhW%ZxlXIm>d1kM9oXGLO54>Rr4EK0 z$ZzjGqyyT>Tb|SS2?`jN3F}Wk^`xAnKAl}$k&~XRM9gxKWIM@DP0;I9n#SKlg{vXF z0_tPfH9bkRu78YaGjCas;(u<<#HblhERg&ghjjy!05Lu#>awf(cH?J2JB0ne7nDLU|dX%o@ z#ZF|PB>^QUf9<4y`h_+{QD!3SOyx$4e11lf$g*IGCqWf)=7nJ%-?tI=9{%tMZ7Wfg zO1wt6Hn#j2Ggx_IIItI-H_O^O}Kk{iOey|pUPH2QHjp% z8RdOkvPE!#4Z6T@XO|}aVUB>Vv~<+ zd*-;pxXp1g4DErCr5JBXw$D^o~(b7Z9_qOib7yQZ@zFO!K2J3{x!9kP-Cr5j1{`GSuy@RfK5N_T=sw>=yD7;K*lXRKWV(;LLZ41A} z!f8(m!N}BsfCF)S1Lda+^^3S<K-L6#o(F zIy1O9(FfINr)LZ)5VqM3b3ev+&s>99&tH$Qtt+IB*FHVfk)IMHZ7~mx8`g)bcL0v< z5#l9e%~s+fsrl)xyAif|NyRKix%9KOKYWPApFS((C=rJ@Em7C5UCU-;@n_G;^=C{o z8TKfVI$rS6qd2s2ky^S%l}4GJleQOpL><~G!O`W+8Jm{>j$hxt3tJX^haIBq zZu#vC{QmJ%LOx?_Bc z96XimYFD%X<(r$kH|n?SjF_-pC=lY#ICC>OZp5>pDm4Ox0 zU(?yA9a1h^fB#yDdJ=N-MQ%&F=>A2eY0<2Yv2Ff0*d_T~`sIsQJ?CSQoigwj6k_Sj z53qXXTUw5+%dFIR{QUOa(q4XmlgW3R?QGWblaPGk2ug&oFP-x_wn$uCe*XrW7tTaR zN`k&$J6t&XKvV8!=B26Sa(tib(I}{e$auQa{Us@LS}?3Y?|Qgn{L}bm@w-^I{RjOW z?VvqjZRHc1Xc zd>deV@9W_xV}+SSllXRS-bby}oQ*K&h3~Zr?T88eChPD1a{t!Rk0RKwfs$c9OBac& zF1j684Z0njn)gL+LAJ)r@w!`!{!%{8(Ya|qTr>C%bdmctk?4$^R1EDr0awd2<9c5! zW1nf()|3vC)V#tRT-xVGTsi1A{nYbstobJxXPX9{LRx;>ukUBkt zSV`keiHlULsh5Yx9|{9YaIs5)qpu9W1sa!wbTC>!e1jWFXZs_KoD@{FH3uIQ6&30) zPBGFYz{9VeK?q0^XzwW`ph%uG1_fFO zeF7yOyHo3m13N9kO*;0~L2Bt&|C50tLM^!*sLEuZ^$Z9>lTLlHb^e!F_9gEhskmPS zny#9`{1-WRN&XF&0p>qL23I$qK)AWMoS|?nSE57#&O!djj@8(|?l+9S<0VxRc-<1T z`nkAy=?nxvT;xRG@OJ&j$v~ZgG$~tJs!57d5>LX@F9;z`+EoZmf&+d|dWwb}9NI+c zvP3e*1ak%^q*(_|2QM&g604->Lul1|BwRgw*cj zcfW@5_r9qX*XV;=RbJTIQZY0Z;K~np*q6eoyuj#-Qq7bLZ093xdIsb8{ylFXFFPGk z`?tvZhLxJ(gl}7c7CndJ;``ph6^~8B$*|oxxN(6HL3eoB<-@kTRNEr0p>%IrGxHr> z_0;DWbH^*V_ObU-E`4?D?_X(Ks}A;)=)*g(bN*Ktdhs#1CbcBcGg|fD$DyA%`*SwQjv2*2P=U^{nG)W0}qjo*`gsz{Ub-$pv zOqGZRZF{N=rJ~{F;j3 z+{fSjI)a+C6=miS+#E{P3SN+#jg7y224BY_$>Zx7d)KSD{Lzn*9(4eFSN$XezCPM@ z?S<6%6RH%EaA&6`3UT(3Hgp8}Ql6||)|rQoKbm&xkI227kQuffRp|vX}IG>js_i$iz4Fo~@0H(QJPr zW1hbDLyYWx1#%0s(W*g5JagTLns*ZGPR)AB@2Og5^zXiH%oA{z{>DS&>l9Exr<^>7@GZ;GVen;grD}_1M`VNI$81$#SnLqx<+kuCO%l=<1UK&h zEdKI&q@Ik_#dZ|rH9^xMy`oss=TVxXg4oR`0Q*FM?_NF|y)U^%-zE8A`u+WU;ouPn zS8qRT`tbuK9zTfgBd?cdOj@aiC7n@7w}W(gb3TnU%D^Jo@j)hBNld-{G53u-grGa1 zWsjjc@SF;HLGsyq!fhCF{R7yw>UYe0_g?%y^-&b%7llGunGM{FQ{mz54RB^2^`_cuP77dMY zWF|xksrX!H5}J1EiQ;N|l9RBUJhB(lpPY!#?jMC|cMVnI!sqBl6Wp{7l4FiYxfu&k z(_@aJMfV{}y37g{^G(0a&GSB2ca)%J?JI=JxdaKXt&Na`zu_PwFZy*=?E-%aK2E|w za>3aetv@LEn^>&H1mHE>g7Vb2o5w{ zJWA5U?{u^9_V$IhUmy~X9n|(ka2BZl6?Y+|X?tCuOeKxP@Zh@n3`H&Ck{b=5ME&^g z_3##jyK#q38m_mWADVX?gcFCiX`ZWt3T*WL%?K3bA*fkLoi$;(G?jdj+$TgG()T>< z%hcVde#b#5mi|I{5gE z!@TJ1j^(vVa4@8M8E2}pL}6z;NR8SrW$q<%C`cDj#)a)txlojGQtN~6a#U8?2lLr~ zE#gyGEsmP@_yc;0e#W8;idT=;Hu8Ge-z>60ig zG+c#Z4sAtXx3QwA*s2UIEXY+$IW5#A^`6ouS*Epvq12oY__KYW3ybn_-H?Y(zo707 zU7Gb#g7$Zyq^uZi8g@o}ay;TwqjjO48MJniyq!!rf##uYgc#EozD(OtMs6xT_~kkL zy#8yv|I5=D(d{y{ZPZ1rr3KQD36jfQ5gW1Z&~7EQ@}`pPmZ2Tt?%|FNhn5)b4yJy< z=fh+7;g=2H=%L=EHFNhod!rPknPU9E&|MzR$I4y}nL}Zem6pKKkuNe7Edfe7pQT4cjaiXpPRw zOUL_n&BgABO?Ym`ZF0373%CA&u(&;%=ecXYz`RZ0B0BM?TBauqxDKB#d`a^51%BNy z9XEe49GCUG2|Zh1q|av;WNO$n8h*C$Rm@)fiTa068h(GRe7Da9RLPS5ULB|J1!n;6 zAzK%qnR9Vf>qcgJx(<#tfdhVaRyJ0C_Xe7E8-iwC257^nfHbB;Jy?PQyhJ_*L7_VZ z1%{Kvv2NLXd~(+iA!I|4k#GX{eYzeVenBdHPX}66!e_GqP%frUszrkns48f=O3`5+Jow)ncbt<4M!k09%B8!WP)KAbXwmCr1wSiWY zg|k1yr*{v<$9G&LWHk`Cy}LvQveWI|$?LR^HJ1VCi8%)`_MvIIxN*+ww;Q{bh_K-O zW-`z}@xy+Md*n03hV9fT-@J@UUt$L*C+W~OYWb;LMQ@{S6;7_Mh&URKuOFX?kEQH5 z<$cYw-|0>$)h)-CAc3G2kwQ=*b!{sG#wVbGTG@Dg>6fo-8CMyAWuU9qvJ-B6Z7y#A zUtmu1j61K>*sukjN}9io&2Qa zMDEpkp!|DKRwPQ7N$A%GB#oxA;EYi&ZLwk7?ieuf9#IH`)fI=9J@ZuH-vJWT=>1!e z5_e3=7yF;1X8=3`8{o*6<=SW1#zNZngS{wG;oFy~CHBz9g=p4wptN`Hsar0CM5)g7 zq{c=fi=>EsfMi)R?P*^KH#-ZroO0>sQor0ehG3kkTqPRsrzORqn5REhYXfB^r4_P* z?~q8UuQbEuU@OmapvuoLKw4^o?kMyAEyM8n17q<1l)>sQ;1k>gd4E?MxT{_ki|67N@l7@BY#wHq~F|C!d zQ9+Gbsa#`dj!e6hzv1d)gvl>zxR4L~BX{5_rK_7oV zmI^L8DG?b-<(o4YEE9t9QC6^iGNfMp8@5oT?8L$CT28zl(6A+3JpGV-B3wx~{nfj6 z?36);y9%0AGvv~D=?o9UN<@YwyZ|C?OA z*#0;kk$~CPu=@lFb&ilXQM)SIDrXvZ99geq+0)GjhfeI$>q_KAZaJG4aI&A$I{N#b zZ{Y6Yfq@;ysMYu4-q)!+#P@5a!P${pxK`FTNwl+R*AG``H@#27-nwBYY(2CV5ebLk z>FNy^M_24UzE$hGb;B;&COurdv3~y&95}XJt>>2HnV_=JDzp>3BbM*^4c_j45}!Rj z79wn*T+3lZ_bZT?8-)NE=M(a|3)mgLJ16 zav%05`XxI{+Sa}uD`m6}4}Es6j^mUObQLKT8A@5kol2NbZl2Jy)kVn7$-}0wm6A6f zDJxGQ=&`Ce^lmd$)9B{tjzW=t^S95GI+5R!Kay{PiVMr3CRtJ!!TQe5G86(!)QUhS z6|(W3`vRcw)B#n4HAhqioHzB>xhQ$JgI-n@#I zq>Dbz1wvT4qr+X(R*9y!1Xn)wg$}lVWI-i3C=}&qBe3%*+&6V0Zu@X4u77c+x=zrt zMGs+GvS>wXJM?-y^!Z9md2cbUd;U9lS;PPbHZvrRjE{c7wDg)m>sGN0D(p-{u73=7 zezX#IOkIlc_q>MO%w%I=`U9}cNMyNyrctw2nDF5HYW1VFj#JCVebFk@lF+b8b6kAy z+j74Ui89Er{LNr#ax1&a>1Yvl(h2i(bA>%TjQR-9H_a?B>jsItek`L;sWGmr6TIUW+lunQUtAg z4o5=dL2a)m!*`)c_u<-Z=mBuh-o9`KGKFwz+mtxi7Ah1oDFZIJlms+XN{yevh6aw3W#iyU`1Zh1&wc2eUmXdpaezb z?7P*)yg^KNuU&v;GvCLKh2Lr3qD-zWZ2h$0mfJZQb!y5R`weBGC3&cXL2CR$TSytj z=n0o}(F$$S3O3RL&_dmI?CPkxSI$f%0AGpPVRXBm*=ql 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 Oz)L|!RT_x5^8Y_fA7Qru literal 0 HcmV?d00001 diff --git a/windows/keep-secure/images/vpn-custom-xml-intune.png b/windows/keep-secure/images/vpn-custom-xml-intune.png new file mode 100644 index 0000000000000000000000000000000000000000..94cbb2c5cb9923eb1e19c39e3ca8189c6228a6af GIT binary patch literal 2460 zcmZ`*eLU0q9v_jXi_W3WP0ps<(em&rE2YFn$kaR>LJl>yIz*BiBeS6=lu;?>mWR$| zIhHfZQ^e|^opNx_hIwebH0=C5jM(hhY`Z^O$L+pew?BTr-}mYB{k%W#_viEbezX02 zJPq~D^dS(4p%>cS9|F+`0NeL;H-hiozrXzz{AgVA_dEjmsmB}uJ6e&h-mVZxZJxnu zgf`gMyNC|C1c4Z}uRR*9xXLr&7{bfl^+fXNIbJAZo2SOh52>Z8xl681_kSLjzO?j? z%Ak3>&73~>$jj^auGZ^p&XMP6?a2yXrytN3+rL4gafI2SOWzBgNX|R83>;jMmv6=s zTT4z6mFImdW$)%j8Vk4F>cm-v1|hV=i8y^b4TLr|ovMj(!D#HXpg~MF1*Gd`S-sTi zFb&uIf76_swnoMU0wW`Sb$9NT%&x2L9xwVgLl1|UcZNnbU8-|R5{6%fkEZ%v<2N02 z#500q3**kGkGkXYFFwsNdR-8-)ICKV!8IF!R)!La^rd9b19P=! z=FE7A_FNg!a%i;C8)Iy|XvYxG(Wyq;zUI7^KQVA4Y~qaPTWP@!-5gA31hn9@D}kZJ ze_RvPODaYT;9b@!Z}32K`?tsZl-d)Md1zh?Lun!c6=M&Y1}%ELckXi+7)ow;X37G=nS;Qj?uq4B8;7! zC?Go0fER4tDK<&(0FyB@Lels;rRUg|fWd)P#N44G|I26}9gC7p=s<&i zc;hQgC;^ZYlDtFTF5z!a8@P~j*z#T$Z?0sv_iX{faKu|;!?d35X`GkmEgjr(258fI zFvbR1wZtB$>dx;<%|sA z^Aew#5O?jQ^mr9j6CF>)0CGIu(LOH~dv&$GeU4C^`mh&ah$X*sOj&N^6$%Mlmc3y} zQX2_D8983Uja-!tlNjvyno%F+7^@u*Ak3V0+J(arhQs-fPqB?J9(*+-Yfn271?wuk zlzQcfk4Q)Ynt_HEIPXvD4Z-C0u-2n-em>=rMtFSW&?c_^KYw&Gb5#tF6Iy(b$o;H| z!D?muJ3kEP`Qw@DJUmh9x>w@8F)>!E9}C z%w~mk3g7-R7;8gOyj!IA;v--&j#IPy5!L9XV^vcVCHrXmGMi)C1A%BGc`&`k@H6%O zeI9^P%Eu-T!_pdFtc+uAx7@0DJK5^1XjtW@DZZlD7Z2g3%bsbcMq85hjA~Z;M)kFH zdtkG{(Sd3d>kF6GW1;(rn6Ve)#|JelgU`{y4MAVaF6Zb|d4LX1zmHKD_>3i@NKlj= z=_&UcrZaK@>9zqrC5q3j)iAD~#;3?zQLld&iaYD(k?HK9ZYU>ae`jBz#)fV88lsn} zZ3-dmeblo}tqUHlKyPe07W#11h%ZW7a5LwW>Ub&jN?GQ2SGJWE`n63Ar?{)7WXO3u_vUWh&4j|S_o zm}6otTQaAMpAJGj59q&g(hHZst=ZIExv_7cJVCc+AE~+-21fH0Q~piv-pH_`jjSx*YUBoTYc;kL$N9(t6FMkqSAh?m1Hs%^AaF3{Zm%i=1hU zHhH``rBT`vrAT5Y6CZ$?GCLi4JwsmSP4^Fcoe&KVu7t>|@&FrVyoc@@i8%e=Dv`83 zW2OORrUQqoK!5KUou-vo75xTra-?e98lfF^0>%;i*W{K1Do3RP z$SX3*4U-|gzeX{V$WMyb@?(JH!#LP%D?g@62727Po2u2vFdAn4EK$+Sx}0yt#_x5@ zPOEVEVom;n&UQbSt7OPi^hVw>3hSwyQX?Im=Vs#VkUg(pO8z1EfsC%Ni9hFvjO zb#j1M$O12f_H^*@8u(dPOd3?R{ytUH9wehN&6?&SKNf09gHW8a02?*vY%7<4OR3}; zxEkK!ETHRuCIT=S&VIvHAS8aF+T)i2={LZ`t_-vSN%%O~ackYm4Lk+?NEqYN zG^xT_1F~#E>s`-$=5BRxs|fiWb-+fr=B!U?i^1v7X0U_SP%5aWQ+9uUDKy*L!8RO04 zw#y;-`kau!alGsrgGa3ILfN|omo?G!`qR1nRF}Q>(S?OlG>~*fL&Hlxj0kUU!*+T! zP_~AQ%smgZR&MF52OtpV79J@Y2*h+(8kh(6J3J65P~7k?2=w*w|AX5q^w_v7lJoqE6Rmw<%93BUffez{Du#7d(-AVyj3Meahr@b`%tSKT5xK$L4%R!(dIHn}r&Z2=P}4_tol zNLdkERa-W)$_yrA``G=ECoHUtMbm8yv}RIz7ySqYjqE6_j!JUR{$J0vA=@N3XEu>~ zE(1w+W@|g)wKI9S@l8VJJJNpUku}J|own+sTw<_z%!l4xI1!3g+lC#+3B`4$!GCDeUI44B&S`_b=n(@!W-+x zX~&7|hz}Lkh%-W-%UJ^d48!Oj2o;pL)-h3Z(A5NAW|R9zkSa<(yspzx?q^whPR}pb zxkRgT$j94jT0zBHJZW@+AKu?asG?FLW(rf}yXOrpWP=p3=|m)mcQGC9vib5Ac;5HH z0kvAHNE^oQ5Wf>2kFbXB3}DguJ_uroz+!(GGFwOV@(g{TWKB0##KP#SAYP1stq9T@ z_c?DRpM#0=-G`xd(@Cojs$rPp)rX}pOu_Y!drbmYrq2jNYrd4|ElA@9w-Y!)`!kc1 zg{krCLKHNL&ayY6h|I;_LL{EVY{iVS(mur-H^UH6Er$*C3WRZ)QK{Q=C1X=Be@u@r z%at>KP-16yUUMJR%Cy@0YrCmI;N%P)Cn=@0w!-mS?0~L_#3=qnllRW5O?k%y+AnVq zw#uQD$ieJ4;@i_dOBTv`mIPVn@OG{=>bXrKMm8;76iRmbx7MQ&^ht7r54nQhE+#Ip zS;oJ03XZP$KKVK1LqwASl@|!~iiwVsyK`>kk?7o$ta|}WX2D!=q3p`(HmdInM_@@4 z$IM|)UM9SbhgDpKBqkxMg}K_h`NM2lSxsFVb`QfgOD(Ig$|G7s53oRi5zaahO*m)} zNgB^ld2V9duGn#&!u~x@32tIp!n)J-H|`EUP4l4CJ_u|{{KGd2;}4-5QVy=6?yK9R zz2v-h&*W_zd(ErcH!dnna(Wx(y;V;3xSq>Gx|rJN==xbQukM2aRkDjqs|{_!Iq)i? z3!{QlA}U@iP0T(K|3tLbw)>k1&naj~=p%!SbBq|FB`)dlR)r>0<&W-333fbv?Y0aT z?QGw6ds9U8G$x2_8!S=fW(=bj{ZK{|y!D#3&ZLs&XIN4)@#auFqJuSRvbn|p?o(5t zol~N~Ljv#%HjW&dPK&R7(JR*+F+XB10mdvsUCrcL`kCSdZsQjfgO)C>qJ<4_%ExWKMO_Og zTF0~0nJh@3zfJY+BVj5yF5;T9F0oS)uS%CY=EvM^)LEMOAl|iMvjI(NiNpZ~4)+3~ z%0N>yPnG??z<3wzqrV3betIW{hksw_gYqeZ5MXi;sI^?;PiO*58WP&tWz*n*Ky^{X zbU@$=ZUqANtEZem98$)L0B#VX|G&Ha(GKu@uZO?2Dhn0}lmz~(;_0AVHyI8uv zZoxRI_S7P)>L@*dwo0|Mk(RR16m-%v(AwR!On%`t@JUk=ePG!2C6(<-O-&93oF(AP z@V>zn+zQ9F!2ggxcUC8|;MPaoLu2i?iz51(Q*ggKk;PUxNrWbKK zey~=*s(Mj6VVLdq&i4kj=&+5d8tpR$ozA~wL_nE6|HWy;1iF23*S?si#Dm(0C}=&pCk z;^i;Xce+*D!B%!JZ4$q|J-6tUtiYAQFX~|n@agG3-$hvw#rG%jOu36z70<-)65t)1 z4kW>D;QV7Yr@qm`Mq^>^~<~3wdH2A>6U^N@HvR4W&1I#6IgN0J!l^ASO zGv+HBZW#eF3#I9e@y~Fd#TUl#$WRpav(Xp&veC*sr#|AqPx6WuP;)gN6`@#(eGepCd3f$KjQ}~E}Ta7^QcdmEI>-n4NI6|cu)bB~sb@%3+XSx;P1WKt$|md4xBny zVUU)b)P!8)L~Hv^sFpTSZ@)-cCH5|iYkiGlVNOk_QlC7Ai2YIeosY0ya^HEtks2_< zbmgC=b27kQ1zoU!)lK|Dd!cXXfme7W%Qy)nC|S)GJjU$&El!M3cKQc;IG>ACk9~!0 z)`S)`zX`v9+UfXl<4zf$w0d}o1Vn;t1xKAdXXB2-7`D11+QJrD=erGoU!8_O=VGTk z{6=P(u(_UEqkOw;I9@u~OehRKn|RWO;Upho`A$^EY{lPNq(Ji7N@5DJk>nt}YjF1Q zPmK)$3ct^4xtD&{jh(~a+K*_l@mQhT52f(o`==L-wC^!&Vm^@B62+=rXPH)iKD%^< z-OmR35TG_k_hSzwU3gi7>eJ)R~fOE7u&1S16M>HUt$`eONAETO`2M+ zBL>njr7_h~NaGKv?65pv-pPf!_NwWcVA&C|PU-u+YA>r0TJDjThcFf)bBv!PiRg52 z>V9}voiv#DLX%CR9uYEKSHjc0(YHUXV;qx@ek>qE6nCCpSernyZZ}pNZ$DfMc5U5! z6+OwicXtU%t<;`!=YhI`Si%0>M{)HQLOs&Q0u*>omTPujANz2;%{WD&mG3&I8(lBu zGG$dr3XlJsVtQZisU;c7Cv{p&;*_FfC0fK>Dp}zeH~#X==5ul|@?+Rrh`vJc|S}*6u-7B&9#cQe38; zg9kYqOLWd&?aZR(bP^MYonG-!=81Uo5mo#+@+0=sQ*(w{+hXLgET1w*^HpH)0nFzUubae~1sO+Y3q+;s|YGJVPZ{k;Q zf|TVhM9rsIQn-JiZ)^qH{F(acDX^1_dERZXv&0iap?;?gVSf_4s%JynI-;2yaPKi% zg1^-%>VoatSx&N=x0$BK^t$?jc;9%Lnhv36ZW+!iE4^(wn};>hDK@5Rm5(M&Cbew*{q3BM*6)JquU23d99wVd;mh7p1t~810MD|vD zQbcA7TkDI=JdB~+^WtVk4@)R6tD2a>7Cla#zIij(L_wrgSn=J$PRCbBz=UKRmKXhr zQ>Xlh+QBA8^hjb2Jbhu~ydffkv4=KMO6>bXZ_XJ#c?*$`=&HJxv`U${;9~0jn8`dZ z6l>6QHt|%4a8>orXPdoo`TY8Dx!H!2`)1rCg7ZCxh7M!-P%IIzn`% z1N})_hRi@Xd!!@z!5fwFJWMJk_EexsYFme3)i$kxZ$QP#{>1GH>8Hce!7-jX!c(Iw zZ3f+M>Sd|E?9fFr<9vOgx?G`I5&!qW)uOD*n0lzV_JC z3U>JLJsXrx@dUG|h9Re`t7}A4BZ$)w%6HcAmg|^=4)Ogl+ni_`iM72-DoO2H5w>NrvMY3S{ZrZsdAj|JT{*(x93Z&CYZqGPrbLc0tVwM4E4<@x8-8~IOF^*nB|>6EhqZU z+@_q5Lzf~S2FT239ZqG94eDK1G<1EDrlAH>uDSCGw}2VM6fGZA78(wE5yFBIC^2_G zVgzggN|k`3w=%P1NP~_4^W7~6NTr zo)$ePxOa*DV!pErq8M)6W6c*i{LbZ02Ocq+qnueJSHorkjj;dZBkGpbUYUKbeBD*F zmxDmo_t+8G7I-##jHk*oI0V3DasnR?;;f9yK+!?;Ma9H)ITpKBGlI=5T(HB=?EqW; zM^kywJ!BX7k-Xx)-mQaZ&Dt{fu;*##fr*Cs#APkVd7>mrCn;&8!o1s-$!XF0ycC9C z*AwbOcgh1(jF{cmEz0v5V}5F2K9trR`k`KtFGX>sNU-Dl4v2J*#WEtsv1_+eWG%0! zD{(+mJ2+Gba)zO>Z&1H|Pheog_LOCH*vFq_Y!Uw2$Eu{sYT%K-#Gsf%ue(itFO?F5 zl;T;ROZx;Y+W&RHsqZeDiQN)zgT`^M6#Il~hjgvsXF(5pTi<6DBDPJ4xL;6OHqq7f zYI4D2w#mWa?5tTDH4zVw`GYwTk7T?dq|De$hpBka{%%5*VTn$`+|$GPL$!|r^&gS6 zAVsGlRs{u9u03gi)Mh(BW=Jz+@nlbzqrd^_@od6jrcwcJlzh6%0p7k*Y&pA>b+G3( zCab@(X+cmJ)7p&nG2Lao z^TaBy_MY9q8=J|Jn^Z{j=WlzFv+RfZR=jfeN5$5KEOvFsG!?MP-+>vbEJk%_kY6i^ z@Z_y#Yb;;n$j&TBS{t!VuD4;x2XvOOH;auw2_Ip_nk z5V+oLBU57(xmYO!qZ74OxMW*L4RWJdj9RXc zbB^JOz9bkkJ&g3cH0{O(xCBcVaxHIVg2IEl^2#@SVF{s$DaQ?V{v*)fG{-DnnT z!UA9Bt>YH_e`hWvjRs`h_y#sVTIx9P1(Bi&@9yrpxw*0Mf%lqj4k=3O#pyvQ3Mu@z zA9|J$N(%)G?cgjqW*HfouAhq-fnlqv;dr|XAWBKVou9Hta;e^+2j0n71-$?gOQw#K zjGxgO-)}EFN=kYEIGs3U~n)}l}I$l$AIV-KaKAiPGtizim>w!^2ZJ%EeJqsMf(%NG&IQ( zq@XV49FQZnz7^2T?eC8wfJ}-`1sx&o4j|kt;L(4ng!DH5?#LmgYhFZi#03V(tNSa< z>)Q@rhvNkrMFW9Ujnw28Y^)nImTVLNt=|q1CeL;oPXDgO-d$-SkLI#m&{x|(f&fwZ z?5ELfp#CFjEhc320H^g&pTB`P3vzsTI~3;`dF#RL44(onbsLT;{{;s)v2q$qfVZy2{S@ujlmAAy z?dVROx(q2d-HgS!7_$xV+{CAQBq5vnTVC)xT7-GF5NGl(q}jK=fxv`mBPNH*MP6~k zYAXWM!5~*D1S?e6P1_slCHQ;I_69vm9YnW~j~j7GlF_)jnh0Yat>4GZiSi-Q)sPla zXUB|FU$f!gY6*T*#0VnfF1(ZNlBeW_sE1P2T9eG$6Fx|I4qYtCi#pAJo~=93-Duy$ z7+YvvyaXE_snx%Cf}BTi6kl4+i6@J->5Y1CaVs^leV^s89jkddpA85b7d_7g8 zO0Qf4fYj3#iVN^nvxc#c=`Uuxlth%I^Vb!q#GH^R1hgs)Yw^~cHHamN8oa1r3rd1rRxi=oFpU)fkPTR z4=bT6Nz6STUow+62?{tuOJwkOy+G0tD&(XCNJz0A6mIg-M=1BLnC6PZY(?LWMv910 z>S0;#?i5TWSfO*$l1^#=W4Sb(Fj<=U<>D0oAmxpy*V5hP#rI4|?$GziLM}hr`c87Q-t}ItL&6^>+UeA z$jE$R1w5ELaw+dNE_u`a-!O1JA3Yk7@_kP|n)2*_Md*Kpz5o4{@~=1N|A+YcpCRM% z@JZ=SeqZF4r{W5X`+T@yNO~Tl#Y8DzC@CdR{%PF`y9?Y2dS;RpSQ)Khimdu64MHXH za2n$*Ei*08;n7$QS_}s)-5s32SMRX8n@&ui30A}l?H3(vZCamlj63D*D`1t>PVj0* zBemVbkoJZrshBG-**&a*VIm4lpA!x@jBEl#|vNcdfa0SSAbh+>qhrs`d9+?6(t7ZyovclXJ(7&Mz3Uig0j*iB3}(UW`VUtR4nq71%GTDrWNlk>Bl%_%M2(mY=KJlrWDtyM?BtY9>1k9> zFz+pJlVRQMe+ZZD{H&dMxn^gvsJlGh-*0W;^rf>mvd7#;BFvk0h@sfa)+ej)<<_Mx z;RCY1Qyq;V%@gPH0fzkD8Dz~*Tr6a4HLhH#@-DnW(-d!MTR(rO~BhMm}P!2 zFZsbLz(Eu*r7Uc9lp79MdQ3ThY=_Tfkgr#<|T8pXKu?qmPFxLjxZtY}eM7FS*Qn`{+sV&o^)qqFP*zNI)qn%a6dl_#*I zs_b5i6)8F-%*C+-a9@cUpq>uTj#2N zFeHu4_7%f6bOjvRa9~M;+`1~;G)`;Jcjv=34G$&TwRBo!Wi&|rViu%D?DA!Uu@QZD zb#>bP!|2zP^|M}u`)h-=B5dImG1X4u-`prTFU z+CYltR?u4Q$rsxix?h*G!dQ(JXbLS%F$8QcbX75z&^qbaV zP4_RI*o4MU4FH_TTC4cEe>n`MJUn&UPJOwWN)#MgfuiCqv|vB4IkYf;r$v+c!U4gm^ERwoVvwMc zD%NfQ9`9(i&gwGzeNAYf{R0C>mZWeN@~5d-`15-8xc=G%q7HiV&l20%`h8inluN@p zpfH!K0^X~XtTPRZ`AG(?f zZT~np5cO!C{2BmJ>Rf{F%WAa9B9)D&E#uFdh3j_a1%mkUr}e#bIam@){EB`OnL3nK zooW%SwCAMB-~H~rZN*JIEEh%+yrdo%f{^kLSK=vsR)m4~O3HYKX#s1olmr=Oy)UL^RQQuMTmp-(QIBf^HInr(ZOLzN+H?QffhXGm7BqaN4DcI zsZ@We@-A(bG0a;lLi)ke^bm?0^PZ|uM>V+rtBc)lMOt?xGT9PJhNynFl!Y(Lwhv6i zi*80rXDUnP*aA$3w!X=dKSvF#sD0I|9lA#OYyqkyGg{nd#bq+SHnoEpj%sR|OV#_b z3+z99Poi6G^Lc90L%OR}_LcgrB0_^TSIo^%V0CF;@C~*o`pu!{O1} z#W&|LjJwjhe%Gj4zQKY6fqDRmHVthii|(S?XV$s1&68)^*dW^9VOdm;le0D4FB-Bi zJ23xYN_U)WW%!c~peAj6GX#uk2=~XjxouX-iGi`c9)zl zCu?P#)eX2v(DF-AD-4)8HUv(-ZpY!7++_T*7%{mqO{C7JCD zI1q_e;-f9yM4Jf|0Z)tH*Oz1nX*@c$g+M9A{Y4I@YES;{>=RF7tDG8AXoEAe10FOB zCS_-)@@!uKt>cT-j_jNCT8(#D1?ZpR;qp@KcKYr~7R;{6nNK@vm%$-L~tgHv{1$KHwM8p`@Wx%TkkdsBEGzw(MlL_3)l z#iq!Hb^LZwyBv6Bq;!XS@{=t}=Ys2*;eng0D|k>JM`&mBlDl|--lS2G&G^dQ1=tI=HGQ*aj>HNKyI z)8EAbzJEdhq=@T^nlnB^?u7s*J}b1ps|;Y|)Bv*8wppEw9#~2B!u5>;+AA+Ta$g0# zyMJ&3%G<;|m;BB@I0iFk7XE*}7u=!_UylG71QQf>i;xonkd9jPU&!baSUG%nSN?i6 zYOy~Zjg zR{&nz=|hfE2%K0*VA!3tE&94ZQwfCvBwXGql4y3?n}9u0yS3x-3TxGP7W!5eWiJ?8 zPQ%6WB_TVEjmxz_#h|LTGWM=3d!N zA^_sEl5m-i;h&c9ulGMsY5cL&-e0soTFa!t9y{@JRik*m#_r{)(NpspcT6V5bg>IF zzhE&8rztlAo1 z7yI8mES=W=yeU`3jffJig1m(&-Dj=#$kE;pyU#khkZ82q0-K%49sgiwM>-JZkzAOc))yK0fj>qxes(%;&BkISYxeQ@Ke!ZVM zPKOnwtHKVUV261xxQvj=*0)rLYOhrP>pyrtL%YB)1>KsSx6@~YO%`@Q`GY{MZOf+3 z@v19=v8+i_m!lTy5ll8a(YHS^WW`sjCnU2r(0Iw?EMBa3(`(;)#P7@o2-Eb zRrV?Q@zk#Ui`QBiPnDJ}mzu}(^!fy;ZG{-O*U(NiY zBDI1{+U5nex(f&Jk7wcuf)La@b(u2Uo3q^lnwHfWD*=NW<%3d(6=MEhNw9OFIA64IJ}|q~q*M-Oz>+7i2Xfx#UP%&- z){41@?)Mfa?e-sQ^ugbr)E=iHfuuF(;VU3%O-ARu=yvQ*Yu(5@y*ZsMWhN#K-8vgC zi8BpmJ?coDX>zM2vNKKKv$6I;*eOCBmk}QRgIF(4ewn117mFzwn)+xCJrq5+e@8@q zidj(B+TE-uZ*TaG;WCbO#s7{6&J#}jQEz$G{eAp%bUL>+vCmaCHAxmP{Jgv^~Xyb6cBzrXssL>2#-_**pRcJ8S>U|6&9Jk0BZ-84Y2dT1$qm89kkus z7^(<*$px$j7;IJqs|Hnq%EFVb1v5lbv>bPdq4eAwqL8?tGWCy#Z|9nrXIB|^;6$tC zWok`Fr+1LWI15!smups7p`fujCd33(DCV`Q&@5Z%)8}pQv};#>FLe!77vf*q>^n$R zd%DGuvVW=*9=`t!`E?zcA!_bMMj=s?ce9efN&{b4Oyc1loVo%@)2m|usJiR=RrI3c z01*q?*T5z=>F!l9bYytA;u_XJ$pFf3uL?LDfK3`~n`_Rbor?Ik!R|`GqQQ!gTLD99 z(X%tl9--CQjL$!6pdr0lY3_1(#)*C*ZV0B$Dj0 zkR#|1N5a#|badRsE_w=vf&!0(Pq)@uN$kYxUMd6F=iJeCk^Z4iK*iyF8q02eRqoq{ z%ZqKL7d{{5QjVgyoEbT-ue^#k!y|9$6{kWu0FszHI;LL~UT$}yK~2$jz3@ZqE?(~? zFP6@GDWfiT<<%1k-eW>|l<{wY-@xDYeS`WLXH)bt`}1yf$B#Zi&LCX|9Hk=2U(HIF z2q}k_MhUwD4k&{0HOTOT_pUDF{OAriG|kv!}uQ=sCpsN;6^Qk(YGVhVgjqDkuQ%*7^X1?E<`5vTQ*0QsJ`czvp z3lS2XVmsn0KuGT3i* z>I+vQwic!k4#vGlw9?vq^8Kp5?0$Ni!@fxBQ3MTS@`(XzDD6rt#bbZ5WxqvWe?e13 z-n>+7OM>E*I>~eFcd^;3e6hA&)?I*MLJKs}D^{HlKE90CCh>KjD9%gw1)D|sT0l5$ zwlXF}%2ZXAx*7&HA8-sDGYyT0JABD9Lzlth;p5di7}NKN3Vel++h?^?VUVamUggmh zRb`%zN*aP7f&=tCN0KZSM~_JkZ(2~^aoq*=h7+Y8iv?mm%RSnh$1G$f5g@}~>5$sJ z_tAq%J_Ak6x)Wvy_GzDZ>W!&rjt{-_?kwm+QgILQpUNAr;5MvU>B(g|g+POo<;9|Z+dC_s-1 zOQ5$3+N(1!DPHEWsd1DD>GEd@vGdhPzVWXXT+vV)aH6&mg=$avVN_7*|x8U@LZ{WnAco$MxG?xxR-p6L(;wZ z+-5Jpb$d)(jCY+-z>_Nv{>WwvBXQl~8<(``w180umy~-kggupywTe-MYANKh{xHty zytbJ&idM*#Cn~2Mm(OM+_Q~m@&g`7cd+nz>Rt7#x1#XiZScPD9{Wgre=CdC<&=2zN z%~xv^IP+2lJTsgspAnGj_KeJTf%L z&qC_GHXNn1N7K@*XJ1SxWV35yR;V25n(D2ph!lxxt@5>PngzzinXk=MWM+cPsF?6hf)2YbJ7q zQ5@pcCA$0tlA+%G_Of}JiwVpbXW=R1x{gCA-P-2k30*0JAsfcQRJZGsEtfI$Wd7gZ z2sn~a0oR@cc{0V6 zH4D6gKjqBjk$EHBYzBfCbKfebJ z-)PZabL5ttp~|RVn$6_K4fQ84UgO*F^DE;g0))Ha7lPqH$|_^HeOf@h-y7$$YpU!} zaRr-X_^85EHT})xw3S+(smLX4EomKApmt$v_YxIhr5%*L8@8j>a>n8C(_?5uh6hsz zkujagfGf9p@|vbAZQO}LG~{hxQi)*6RHnK@tr*iMx!;GLolyg*8L_<&V`E7fHy2{P zPEw)wsJ$5uw;A`Zg1?Bm?@YBkU^fsuPlYdw#>3(f|6NQ=PV`@tB!%(5N_n#%k5aFu z`^-zi%PPg=R#`QRnBfns((71t_1~1a%|Y^MWJGro&R5&gqs9+OI2wJ^<%o@V*XLl| z#~~AU`r4!km2JB!Q(u}{AF{K+PaXRjRx8$bO#(0E-Sayh;ED|~WN}s8XwZ!&quM48 z7^YLm`0nLdQ0eTq4d3gVm3a}0APl49as|}wGI!_&2@tKnC|}Qq++31~op%a!Y@gm7 zuh7%j`d(|c#P%@WxIp>W@=N1}4p*KtLE5tZEOF4s205=MNXdn~QN+_8C6TB0wM+hD zEx*x=vUh)AAh`xDZVvYLt+$tsN-~+;=92tWF|3OoCBdI_yjWIJ2k z=2wC%vun6^dDk}_R_Pk}s`jg$dEg-qjOW8S5(F)+4&R?!7v814XmYz=Jshv?y=t*Z zbDx~=>&F*F*-UO5sVzwKy-Y0v)MT4rj`P9WxUb;+Q-ujrq+l-(@@#H0W;sf1{ny}h z<6?5dwb%K@wx2_WZv?-E5`#>WuAgI9OvQ3#0+ge|92SaScRYy*XuA0A(BC3Q5Be$$ zY-lds{94(>E@plVDbduf4@|1h2vSF{pN;0;91Xy4PSmbc0vfR|wl4slg;?pO-^S11 zCQ9kC;}0~}w(~2NqXfNr-vxb&VyV}k2Ff`8+3#@9DNy>HWYq4<(}?YzjSjgU@FA-= zWukzy6O80h4^g=!7Cls^J%x2w1X#sWYfjn7`PKMfV zeOML~y19sh)2LXfEtK*C%uE~gJG?-&{I6Wn)joIr(#>_eXUR0&=zqz3r##l(PdDd% z4p&#}z#*;PWiZs(EvJAtFs4+slN31l<@mYkU5p%vl#0b90&ig9pCUH{3AY+qUfypVT!$nFH=_z5V!{tOhHax#M7K`&QuLdzZIT8`A%QL%N@V8i7ZA0`E>8EJnPi4c(97kOz__M#zJ@qIGr3kS>;qsdNI{~WR+9<68$DsJ0eZTD z(dTa2ab5vpcC7l4(hM4nRZBa08>gF}m?m_ebl>3xMSx!9kFl(x#2ju6_tBuFoMn>@ zMHjxJhd1CM%%tbf3O`{sSOziJ*JZCqL3b9uo?Bl~LCpZKO;pJ8y-yR(+6)mmNfC@bXU@;jDLN-dmUqCU1 z7J$X%Xfn6>8@2sdjTU@NVRcJAoiY9#VX&VKeUsnbjPI3FyQfu{(qoHTu}(TbbbDSP zA%v8fD`=b~w^p2wub_sYXtZ4i+|O>oT3+`hqUXF{Fw#8sg24u-UWQ=QCzM-=aZ%uC z%zh)>RD*T$^E6sToVjLl#j$n9?r4IkaO?r!$$ZVTr4-3RnZ5d6ZVk)5rn3lIeLFU8 zBYf6L@(3iY6X!&pIc3^4UUA5W$N~T{r%$}#{>%pB@ znx}QToyCM^V+teQ8hKMtRKL-KJM?q5&wI5c0-GdBX%OXD21`!SHvGsW+qAfm;ny+7 z2{jqs_FZ3Zp%30=9JgrvuHM@a9|Jv`&vpbjI(l=p?INPUu?NB7kA>gX>_Yi%ngieH z?9!8|d*A3cu#(@GTA?a~DGWW%8sG~*nf1-=K;)NBTXt-P@sH`KNYO5hqOdxal70@b z_riT#zyOK(W9luBTATA(9Hi6I`770p3gO#MU0tTqQr(5eU~_l zRxTG`ryIf=6wx%GA{hL9f{g#=wd=qVm^0+jUs&(9)6OPI-q&4x{JquZ<$`0*6-*zPp}R#MD+)z+eMm{OtqW zO20-D0b)V&*|YucnQyWzBx-BDKMpr%)#C7C26dR+8P8oRsj+YLo(=s@6P91x6wys* z`Qgz*CniK(iiq}o%+p}s8TLeupHDnw`Nv7)biRI{Yt|~sE%=%>QAV#C?9jWw@1$0S z2&pR{Q<34<$PDc;t3Z*Xht@5q8oR{>r)(9W>(>vDhrQ{x4)3ilcxHk(fZgHCz4h2y z)r%b67r->COPRFM*?Hw3KH7u(NoSv zRh~j?+NUiKm*0PHTF=Ci9z7zE$pB(Q#LK95={pR2*%JiUXvg8rUq4|jNSjoe#W*eZ z)iaYof#Wn1m26LED3y~W*a*}~BWeB0vx@vHI!U#^=ZEY?m{+|OND2`g_?V$XCc6z;mRud*ivvF0GFr?KpiW6T&|j0;zC#)~Lm(D!&9%4DN#ZyDAXh-Ly*)sob3mzu z3e$H6I5GF(tT3|i`cLV6tM0D6fS7bJx^a+_%nLENwv~Q6_y!Zi2!n63ewAYry#| z{yB})ivct`xjxNq1%x+2b}iSJy|5Ybt#Ly zYWtPa+~Bwn?3!%cyCs3Im0o?6()Oemjh8mbqe-4a+VKfVREm?zyADM9^ZKV(_lsjQ z;FTBU?aiy(=%bnx_s>^_58p?=USiPK9i=3Skt>JM6CJI$OCvWVKgQx!Y%bA%J>8=Z zdo-;W26|J&Xy!?AM@O8e5i8ixCWSch)7O1d_fxfZ;>39AG3&BcECz%$_6l;ule9b> z^7c+%6#a;eT~)S{r4Nr+>0HDM$g}&82`kGoJ70zu$1Ha`7WF%2x~3zMNZ{Z#l$-_9 z0!J*`XVyOobsBCfV-j}; z8Z+ufNJA%TPC(SBLG3^hqH@J>KuwEmBOYgOJ#XiR&&{>N;<*g8^_P(2hT{>!jwRDd zw{bhGkygAw_5)??QXxms(mv(RKT z>f_LSeEqvkCQ4+>5|JJfhx<+J%&qReR!?^svsmXP$f8TMEWb+tXN%b$? zInbXDXvBz~ZL}G)=~yabn|<;_z^kE3Ih7JODX&9EL~7}FVooz|VM z0xtJju23E=rT9$W-${IOXhaDNU3rbxDEO!o2R`NfWpQ?MX+0!gc0wua`X&eMA=D&V zaP9rfRuWHckt-U}p^)@l>8nb=$pwdEPiMa&RKWE2GH&!zGA&!zp*AHyt8|Bc(oQyz z#BO&C-Khw2o8!WdMgNuAWfY!V&Gqi7{h8B_5(iuYe7DZV(9at6i24}|y53WExCrXP zZ+peL#8T1cX^ccr1*9f*{D z&y77wmS zUE(4WI?IQUu)$=m-!cz4gx0I$)HUwoQZaC%>+u9W_zBb++asm?%1>LDCKwld{Yb>r z?t(+!NlBpt{8;!$g>bwuR9;5=qUROIW$2@?;tyZ2-~)k2kJncxLU}5h`pk|Sv6uen zY@FaLZ9D_j$$cY*YxZY+x&p3@j&*&&LneWFfECZi$QcEA0z> zqWf0tR;?nyv-cxdIxcD#ecYCP?wxWe5;$h4sl>FF#evw#TQN3N4JD;wOr%bd>{8C} zR0N_ZBf?yP>U#FA8;p%Xniw2kM#^&oW%{pHEk2u(`-`I$Udvyj*-xAO-LAs@VlB-sh8Wb z(CW=E#Bi5au9E2Hhh>z=7B#8t-%}gJbX#0@lj&EhH?2MQX)@MCqguMB8+`$EJLWVGcz?9>)6XWrYuR; z>|5DFmf?4%x}K-^y{_MTz3)Hgk27cP>pu5=zU%${eB;XmRa^kY0^ayhj?ckAu;)Oj zTRYJGR2Oo@1vrXt5C%@u_o`fe6^+wUSHbr_3&a_Z<@5kF2N1i1vllp_69;u%)B}(f zBXDC5Z;x0G;~VtuI~`kC#%|{IEPsC{-2>;rTs$18^VXS6ztfr95U~ny1hOqqT@yE* z{9ds-t03*1Qwhe`*OAcx^Z&SBfj?6E=^r|%k?^1G0?LVEHq~WVxdOuOo1s*9H)tH;iM*E76CHL$p3nDgMr*-O|^fVU|T!!M_~f z+nIbPkd^-U2z$}QcaCjg*%~eRzHRdtJPkI=k2$8B4A*NP7Ql+#GFV571_)ZYSyv0> z-n8S(1Hx~o4Low#xah5=4&;-uL!A4Qdpc=j=i_%p9XDI$P=ncuN)Tr72U;FrtTrYF zi-nsz^U=pmGzagMYYpjRZClj%#NThzyI$9$1y&jSFD_TJC=8Ynk!^+MEwWYV>*f@; z#^hF0iDY+HMz4U+8dn{}J_7YwskdiOXm;VQ;hD0Z%(&BGfId@?3fqqS8&zOO8vCkV4NE2r+Lq8PGA?58q%QfUOsn)Rpw}i<-c$ zx+I)&Z7>!+FFtIS({5Pd>_vW=K}U-Nq?ENiHWK*L`p#XKHeZbM%^fOBD+Hv{ zb=Ud`^j@~W^S~~TCR^xHyRrvGy7O~$;GG?|;2QH0>iDk%$SV>-KgpsWWI!a45y1c% z5gJV?1DIhN%mgT258q!YD8Rt|-IeGc{Ns1tgdM!fbo3V>0vz=G1Vlaq29dguxQw^j zgaexDJ3k@VG^5CbaWbxLf4e_31vanfHy5va2rSad?bXFl-Y?^%Z!u3#*pCqXE5Qx; zEb`4B*!|-ZF?!Sgt4{<9vf%-Rb?=89K}LcsBJ?~cbySgC(&82%uts>CWkX8B00nqvJe^FY`dGRe%fh^{|lBb5$r%Av0J+QMECEX5I)t8Vwp?9jEtp zTG^;k^1=D9tXc$&8qeRF-?)(vk^a6@f>9_wEGdGR8s@a6Hk}bPysDntDG3h2r!V_o z^`=6B6KiMG13GiS+_3@YfCaK4C&6O76kGA_T}ts!E8hl02$J5%xgjOL<^gPiWW;ao z3or*ewhNFp57;3bX9ELp%nJ$;BHLCn4AWc}puGy?Ewq{^OQjR&Y_^+G?jzNpdNdby zCX+Z@K$z@lzF8*c5od}V?WwQTG8hzv)mj?d^%S+OyJIkDyc8nl@%luAoifU&7w$X! z=c2){39p%1<+9O{dp(kOMNXfgD`30%ecJ7pLj=r*_6?r|b~c*;kX4@Vfpw*6O%0ms z^AgBJis+%Gw1NW|J?Tz?=^8Eqw`jIFWU;&k7dTU#Ul=;2_=Osd3v7Fur36mf0{{;j z!nG{)mlF~;_onU&kzrggh_yj84c5BT0>%*f$+`z?=q+p27m1#!mCIo%L!v8ZD_MNC zLKGx=1vNrju+^fZj@k@QFJchg`vnld^;AZ1U>>N*ZuJcud`p)9(mb|VaQ-T8a`a6y z>b)T`jgHyz;N@VxDFu$@l9^e#8^%c|&XzI?7#b)takX=RRO>U)PZ^;$q^-}m zNT>wN7gadS$cU|rE5b`M0_E$pW}*}+5OqzX`un5*NyUpyEI8V{z)(qt@;(lVj?VE1*DS#@xUZJmH5p)md7)Rp|$ zD%Jfj_`r$uSvNuP9c){`Tyj`Fwnrl`m80<;ag1tySc}gLT}UdXj03xML~YeAbLodpxQC=OKA_5;1_t37%)St!~@cb)OeelRQO7P7y~7b;w`2-UCDUIhe^D z;vX`Zak?ueG;j|{a~%|U$yISz0K$AYyJ=NWo!Q?J)_+bV{Y}f3#g=ogVbYBvit_gN z*}$ztRR@{vmdQ+ivlHo(pxZVsrId`?fX>d_aBVO>0K|aRHk41AF#Qg^@C9OPy8V`` zA@JeQl5Pcn8&RGlZ&A)E+_70zjV(VyY20g5M4Ih3s zPf)+N)^hZ1Jp;fRz2=SBaMJ#?LpO4owajDT`4%-C~vf zkVI?JqxlIZ!RJAlncJwM`V~=kwZh|EA%RX`qH&KLQo7PJ&z*g!Wjk1e^hE}A+(m5< z&!hYI*lnuxld)f`tKl9Wt)D_X_6O00v;FM~znB>7a$&y0gAZo^4#jYX;BS^ho`0;e zh7?l&Tfcxp@PFN+rOQB|?f=-)4yS@U0YZhfZUB!1P%db@rOC>)av;>kl*AER=wdeo zbOZ=iNA)RZ!tjH7y~-P|pKM~(0VgW&$c^dq!to(Ag=lMGrI(J^!gm}tegs$! zyS8?Lq`Vy%TsvwHo%}9o!{C9y22L&nQCNb*d75r^`E0^oSz2Q2M>EtaR^N`I9I=Xt z#)>`@BLZHGh#DdyIe>Tb_Jvq@FM?ZmoSUZW9+%I=sCg|LIoENJ=!8F&XqwM)(!8E| zML5=V!wJ3>udiNQt=j>uFQS^o`$d+b8*Jq1@5-(-|`POuW~HCCqQb=M1#3!GZgdM2UQ z(Dff8a$Pt4w99i+^&Di**|<_gn!AUDCeHqGOlK8u6~g2{#mAcfZ3yGWDrV=g9F;9N zipWA(8Q<^x_)_AQ)w_ER);o%E&(wrN}%ci_0?K zIO%hFgeBW(o*Dfkxvac!X_Lxp7AYgquGE8(bI}^Hi900 z#R*MQtu(8X(jrA53=10d`BrpOW2}#QQIVDCx!i-B%&Y=G*74C>@brqjE1f}>`f(li z#hyuUm3D1wD(2O-(uJ5)?~MXsi0KJ6PS)E)r|?aGChQLf8t9VqS|t!Cch9da$_(t3 zv*wmQwwYP85lY1A0GoT1DELQduwt4>KgdNsrkKs;#>&6{}L$LA3#2}(n}f# zGQA;UV?fup*!-U0TM<8Ct+oFMYXK_(aHfH+OrX=-N?OHV1C4X(qP=aY9b>D9;z03P ztkJ~fkA*!Tt!f>1qlqKjfWP$L3<#{pzmmh>lP-d?R|M7L2TCa=P}AnI%PHNrOrMVI zlZN{GR(v~s-Jzxo!0*7{m;uoM9JQY_`}cuR-Su|ui41`#FwLU}v6e3k^0-NoajKe* znIkE3EALKC0y%`?6?p{8w_m1CsG8_iMm3`GTV3`N5+{ir)ijZ zClc2S^Mmj`C<6^mFDJuF-`50346#AYnxrsHYfmZp%uo@r7MiJMeUhRS^mS1F^QC_0 zOUO1I4NaqiI@8=MBTG?^hPT&C)3GBlxI0AYPle>oVvd~Y&J^+67ssp!vbFX|S8Iaw z8?NNAW@*!nl)>Z+6Kqj{a0l~xcj&ab9`UKem^3LVslAI;>5hyB=CrdK5N>34=}D?g zt4qLW+sIgVfvdVzt=~Xsn)$h&!|?C~U%b3SUY9lDn_dm|@WW(|1o=z+G2<fUG|6|c=0m7&we8&C_WQf*+E%kXwu6u@Jw5C@?NANEsu;HavQG#o1ZEL zz`i4#D*P$m41M!cX9=BQH*0QrPZQ+uONj{ECQWwVl4u_-3!;muW2F7n$EZAi@|v~J zIz^x>!%ftGfWJACJ literal 0 HcmV?d00001 diff --git a/windows/keep-secure/images/vpn-split.png b/windows/keep-secure/images/vpn-split.png new file mode 100644 index 0000000000000000000000000000000000000000..b4143ab1e50e57bf8840a04cccb9b56bf9ef47ca GIT binary patch literal 13133 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 aMnJ!E=7s[!NOTE] +>This guide does not explain server deployment. It lists server dependencies, when relevant. + +## In this guide + +| Topic | Description (currently just notes, these are not final wording yet) | +| --- | --- | +| [VPN connection types](vpn-connection-type.md) | Select a VPN client and tunneling protocol | +| [VPN routing decisions](vpn-routing.md) | Choose beetween split tunnel and force tunnel configuration | +| [VPN authentication options](vpn-authentication.md) | how to authenticate VPN connection: EAP-based, (?) | +| [VPN and conditional access](vpn-conditional-access.md) | use Azure Active Directory policy evaluation to set access policies for VPN | +| [VPN proxy settings](vpn-proxy-settings.md) | | +| [VPN name resolution](vpn-name-resolution.md) | how name resolution should happen | +| [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) | auto-connect clients to VPN: app-triggered, name-based trigger, "always on", trusted network detection | +| [VPN security features](vpn-security-features.md) | lockdown, traffic filtering, WIP | +| [VPN profile options](vpn-profile-options.md) | combine settings into single profile using XML | -## Related topics -- [VPN profile options](vpn-profile-options.md) diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index 737258357b..9d73b9faa4 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -1,7 +1,6 @@ --- title: VPN name resolution (Windows 10) description: tbd -ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library @@ -16,3 +15,14 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile +## Related topics + +- [VPN technical guide](vpn-guide.md) +- [VPN connection types](vpn-connection-type.md) +- [VPN routing decisions](vpn-routing.md) +- [VPN authentication options](vpn-authentication.md) +- [VPN and conditional access](vpn-conditional-access.md) +- [VPN proxy settings](vpn-proxy-settings.md) +- [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) +- [VPN security features](vpn-security-features.md) +- [VPN profile options](vpn-profile-options.md) \ No newline at end of file diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index 90c8e2aa2d..1a19b83480 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -65,3 +65,14 @@ A VPN profile configured with LockDown secures the device to only allow network - [VPNv2 configuration service provider (CSP) reference](https://go.microsoft.com/fwlink/p/?LinkId=617588) - [How to Create VPN Profiles in Configuration Manager](https://go.microsoft.com/fwlink/p/?LinkId=618028) +## Related topics + +- [VPN technical guide](vpn-guide.md) +- [VPN connection types](vpn-connection-type.md) +- [VPN routing decisions](vpn-routing.md) +- [VPN authentication options](vpn-authentication.md) +- [VPN and conditional access](vpn-conditional-access.md) +- [VPN proxy settings](vpn-proxy-settings.md) +- [VPN name resolution](vpn-name-resolution.md) +- [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) +- [VPN security features](vpn-security-features.md) diff --git a/windows/keep-secure/vpn-proxy-settings.md b/windows/keep-secure/vpn-proxy-settings.md index 9d4524a21b..9dcad69218 100644 --- a/windows/keep-secure/vpn-proxy-settings.md +++ b/windows/keep-secure/vpn-proxy-settings.md @@ -1,7 +1,6 @@ --- title: VPN proxy settings (Windows 10) description: tbd -ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library @@ -16,3 +15,14 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile +## Related topics + +- [VPN technical guide](vpn-guide.md) +- [VPN connection types](vpn-connection-type.md) +- [VPN routing decisions](vpn-routing.md) +- [VPN authentication options](vpn-authentication.md) +- [VPN and conditional access](vpn-conditional-access.md) +- [VPN name resolution](vpn-name-resolution.md) +- [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) +- [VPN security features](vpn-security-features.md) +- [VPN profile options](vpn-profile-options.md) \ No newline at end of file diff --git a/windows/keep-secure/vpn-routing.md b/windows/keep-secure/vpn-routing.md index c77320ef8b..9995b93d37 100644 --- a/windows/keep-secure/vpn-routing.md +++ b/windows/keep-secure/vpn-routing.md @@ -1,7 +1,6 @@ --- title: VPN routing decisions (Windows 10) description: tbd -ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library @@ -16,3 +15,52 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile +Network routes are required to forward traffic across the VPN interface. One of the most important decision points for VPN configuration is whether you want to send all the data through VPN (*force tunnel*) or only some data through the VPN (*split tunnel*). This decision impacts the configuration and the capacity planning, as well as security expectations from the connection. + +## Split tunnel configuration + +In a split tunnel configuration, routes can be specified to go over VPN and all other traffic will go over the physical interface. + +Routes can be configured using the VPNv2//*ProfileName*/RouteList setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx). + +For each route item in the list the following can be specified: + +- **Address**: VPNv2//*ProfileName*/RouteList//*routeRowId*/Address +- **Prefix size**: VPNv2//*ProfileName*/RouteList//*routeRowId*/Prefix +- **Exclusion route**: VPNv2//*ProfileName*/RouteList//*routeRowId*/ExclusionRoute + + Windows VPN platform now supports the ability to specify exclusion routes that specifically should not go over the physical interface. Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + + +## Force tunnel configuration + +In a force tunnel configuration, all traffic will go over VPN. This is the default configuration and takes effect if no routes are specified. + +The only implication of this setting is the manipulation of routing entries. In the case of a force Tunnel VPN V4 and V6 default routes (for example. 0.0.0.0/0) are added to the routing table with a lower Metric than ones for other interfaces. This sends traffic through the VPN as long as there isn’t a specific route on the Physical Interface itself. + +For built-in VPN, this decision is controlled using the MDM setting **VPNv2/ProfileName/NativeProfile/RoutingPolicyType**. + +For a UWP VPN plug-in, this property is directly controlled by the app. If the VPN plug-in passes only 2 include routes (default route for both v4 and v6), the Windows VPN Platform marks the VPN as force tunnel. + +## Configure routing + +When you configure a VPN profile in Microsoft Intune, you select a checkbox to enable split tunnel configuration. + +![split tunnel](images/vpn-split.png) + +Next, in **Corporate Boundaries**, you add the routes that should use the VPN connection. + +![add route for split tunnel](images/vpn-split-route.png) + + +## Related topics + +- [VPN technical guide](vpn-guide.md) +- [VPN connection types](vpn-connection-type.md) +- [VPN authentication options](vpn-authentication.md) +- [VPN and conditional access](vpn-conditional-access.md) +- [VPN proxy settings](vpn-proxy-settings.md) +- [VPN name resolution](vpn-name-resolution.md) +- [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) +- [VPN security features](vpn-security-features.md) +- [VPN profile options](vpn-profile-options.md) \ No newline at end of file diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index 3095025e3a..ae814ae70a 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -1,7 +1,6 @@ --- title: VPN security features (Windows 10) description: tbd -ms.assetid: E3F99DF9-863D-4E28-BAED-5C1B1B913523 ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library @@ -16,3 +15,14 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile +## Related topics + +- [VPN technical guide](vpn-guide.md) +- [VPN connection types](vpn-connection-type.md) +- [VPN routing decisions](vpn-routing.md) +- [VPN authentication options](vpn-authentication.md) +- [VPN and conditional access](vpn-conditional-access.md) +- [VPN proxy settings](vpn-proxy-settings.md) +- [VPN name resolution](vpn-name-resolution.md) +- [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) +- [VPN profile options](vpn-profile-options.md) \ No newline at end of file From 7abd1737e8a6f78fcbad0480369066fba71eafa4 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Thu, 15 Sep 2016 12:20:26 -0700 Subject: [PATCH 04/71] need to swsitch forks --- .../keep-secure/images/vpn-intune-policy.png | Bin 0 -> 8722 bytes windows/keep-secure/vpn-authentication.md | 20 +++++++++++++++++- windows/keep-secure/vpn-connection-type.md | 16 +++++++------- windows/keep-secure/vpn-guide.md | 8 +++++-- windows/keep-secure/vpn-routing.md | 4 +++- 5 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 windows/keep-secure/images/vpn-intune-policy.png diff --git a/windows/keep-secure/images/vpn-intune-policy.png b/windows/keep-secure/images/vpn-intune-policy.png new file mode 100644 index 0000000000000000000000000000000000000000..4224979bbd48e3b957b09d12f3b5198640b02e34 GIT binary patch literal 8722 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 +MethodDetails + +EAP-Microsoft Challenge Handshake Authentication Protocol version 2 (EAP-MSCHAPv2)
  • User name and password authentication
  • Winlogon credentials - can specify authentication with computer sign-in credentials
+EAP-Transport Layer Security (EAP-TLS)
  • Supports the following types of certificate authentication
    • Certificate with keys in the software Key Storage Provider (KSP)
    • Certificate with keys in Trusted Platform Module (TPM) KSP
    • Smart card certficates
    • Windows Hello for Business certificate
  • Certificate filtering
    • Certificate filtering can be enabled to search for a particular certificate to use to authenticate with
    • Filtering can be Issuer-based or Enhanced Key Usage (EKU)-based
  • Server validation - with TLS, server validation can be toggled on or off
    • Server name - specify the server to validate
    • Server certificate - trusted root certificate to validate the server
    • Notification - specify if the user should get a notification asking whether to trust the server or not
+Protected Extensible Authentication Protocol (PEAP) +Tunneled Transport Layer Security (TTLS) + +
+ + +## Configure authentication + +See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. + diff --git a/windows/keep-secure/vpn-connection-type.md b/windows/keep-secure/vpn-connection-type.md index 33017b38a8..9347844294 100644 --- a/windows/keep-secure/vpn-connection-type.md +++ b/windows/keep-secure/vpn-connection-type.md @@ -25,21 +25,21 @@ There are many options for VPN clients. In Windows 10, the built-in plug-in and - Tunneling protocols - - [Internet Key Exchange version 2 (IKEv2)](https://technet.microsoft.com/en-us/library/ff687731.aspx) + - [Internet Key Exchange version 2 (IKEv2)](https://technet.microsoft.com/library/ff687731.aspx) Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). - Configure the IPsec/IKE tunnel cryptographic properties using the **Cryptography Suite** setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx). + Configure the IPsec/IKE tunnel cryptographic properties using the **Cryptography Suite** setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). - - [L2TP](https://technet.microsoft.com/en-us/library/ff687761.aspx) + - [L2TP](https://technet.microsoft.com/library/ff687761.aspx) Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). - L2TP with pre-shared key (PSK) authentication can be configured using the **L2tpPsk** setting in the [VPNv2 CSP](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx). + L2TP with pre-shared key (PSK) authentication can be configured using the **L2tpPsk** setting in the [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). - - [PPTP](https://technet.microsoft.com/en-us/library/ff687676.aspx) + - [PPTP](https://technet.microsoft.com/library/ff687676.aspx) - - [SSTP](https://technet.microsoft.com/en-us/library/ff687819.aspx) + - [SSTP](https://technet.microsoft.com/library/ff687819.aspx) SSTP is supported for Windows desktop editions only. SSTP cannot be configured using mobile device management (MDM), but it is one of the protocols attempted in the **Automatic** option. @@ -47,7 +47,7 @@ There are many options for VPN clients. In Windows 10, the built-in plug-in and The **Automatic** option means that the device will try each of the built-in tunneling protocols until one succeeds. It will attempt from most secure to least secure. - Configure **Automatic** for the **NativeProtocolType** setting in the [VPNv2 CSP](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx). + Configure **Automatic** for the **NativeProtocolType** setting in the [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). @@ -59,7 +59,7 @@ There are a number of Universal Windows Platform VPN applications, such as Pulse ## Configure connection type -See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx) for XML configuration. +See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. The following image shows connection options in a VPN Profile configuration policy using Microsoft Intune. diff --git a/windows/keep-secure/vpn-guide.md b/windows/keep-secure/vpn-guide.md index 81bb28f39e..7914168eeb 100644 --- a/windows/keep-secure/vpn-guide.md +++ b/windows/keep-secure/vpn-guide.md @@ -16,7 +16,9 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -This guide will walk you through the decisions you will make for Windows 10 clients in your enterprise VPN solution and how to configure your deployment. This guide references the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx). +This guide will walk you through the decisions you will make for Windows 10 clients in your enterprise VPN solution and how to configure your deployment. This guide references the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx) and provides mobile device management (MDM) configuration instructions using Microsoft Intune and the VPN Profile template for Windows 10. + +![Intune VPN policy template](images/vpn-intune-policy.png) >[!NOTE] >This guide does not explain server deployment. It lists server dependencies, when relevant. @@ -36,7 +38,9 @@ This guide will walk you through the decisions you will make for Windows 10 clie | [VPN profile options](vpn-profile-options.md) | combine settings into single profile using XML | - +## Learn more + +- [VPN connections in Microsoft Intune](https://docs.microsoft.com/intune/deploy-use/vpn-connections-in-microsoft-intune) diff --git a/windows/keep-secure/vpn-routing.md b/windows/keep-secure/vpn-routing.md index 9995b93d37..46e89c359e 100644 --- a/windows/keep-secure/vpn-routing.md +++ b/windows/keep-secure/vpn-routing.md @@ -21,7 +21,7 @@ Network routes are required to forward traffic across the VPN interface. One of In a split tunnel configuration, routes can be specified to go over VPN and all other traffic will go over the physical interface. -Routes can be configured using the VPNv2//*ProfileName*/RouteList setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/en-us/library/windows/hardware/dn914776.aspx). +Routes can be configured using the VPNv2//*ProfileName*/RouteList setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). For each route item in the list the following can be specified: @@ -44,6 +44,8 @@ For a UWP VPN plug-in, this property is directly controlled by the app. If the V ## Configure routing +See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. + When you configure a VPN profile in Microsoft Intune, you select a checkbox to enable split tunnel configuration. ![split tunnel](images/vpn-split.png) From 7c75dbf68d244465b191f09a475ed715b4b0ad9b Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Thu, 15 Sep 2016 12:57:50 -0700 Subject: [PATCH 05/71] stage complex table --- windows/keep-secure/vpn-authentication.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/keep-secure/vpn-authentication.md b/windows/keep-secure/vpn-authentication.md index c9f9f2b9a7..c19b4fc2e4 100644 --- a/windows/keep-secure/vpn-authentication.md +++ b/windows/keep-secure/vpn-authentication.md @@ -24,8 +24,8 @@ Windows supports a number of EAP authentication methods. EAP-Microsoft Challenge Handshake Authentication Protocol version 2 (EAP-MSCHAPv2)
  • User name and password authentication
  • Winlogon credentials - can specify authentication with computer sign-in credentials
EAP-Transport Layer Security (EAP-TLS)
  • Supports the following types of certificate authentication
    • Certificate with keys in the software Key Storage Provider (KSP)
    • Certificate with keys in Trusted Platform Module (TPM) KSP
    • Smart card certficates
    • Windows Hello for Business certificate
  • Certificate filtering
    • Certificate filtering can be enabled to search for a particular certificate to use to authenticate with
    • Filtering can be Issuer-based or Enhanced Key Usage (EKU)-based
  • Server validation - with TLS, server validation can be toggled on or off
    • Server name - specify the server to validate
    • Server certificate - trusted root certificate to validate the server
    • Notification - specify if the user should get a notification asking whether to trust the server or not
-Protected Extensible Authentication Protocol (PEAP) -Tunneled Transport Layer Security (TTLS) +
Protected Extensible Authentication Protocol (PEAP)
  • Server validation - with PEAP, server validation can be toggled on or off
    • Server name - specify the server to validate
    • Server certificate - trusted root certificate to validate the server
    • Notification - specify if the user should get a notification asking whether to trust the server or not
  • Inner method - the outer method creates a secure tunnel inside while the inner method is used to complete the authentication
    • EAP-MSCHAPv2
    • EAP-TLS
  • Fast Reconnect: reduces the delay between an authentication request by a client and the response by the Network Policy Server (NPS) or other Remote Authentication Dial-in User Service (RADIUS) server. This reduces resource requirements for both client and server, and minimizes the number of times that users are prompted for credentials.
  • Cryptobinding: By deriving and exchanging values from the PEAP phase 1 key material (Tunnel Key) and from the PEAP phase 2 inner EAP method key material (Inner Session Key), it is possible to prove that the two authentications terminate at the same two entities (PEAP peer and PEAP server). This process, termed "cryptobinding", is used to protect the PEAP negotiation against "Man in the Middle" attacks.
+Tunneled Transport Layer Security (TTLS)
  • Inner method
    • Non-EAP
      • Password Authentication Protocol (PAP)
      • CHAP
      • MSCHAP
      • MSCHAPv2
    • EAP
      • MSCHAPv2
      • TLS
  • Server validation: in TTLS, the server must be validated. The following can be configured:
    • Server name
    • Trusted root certificate for server certificate
    • Whether there should be a server validation notification

From cfb74d776ee4e55b51d542b9c718673068101f3b Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Thu, 15 Sep 2016 14:58:11 -0700 Subject: [PATCH 06/71] daily sync --- windows/keep-secure/images/vpn-eap-xml.png | Bin 0 -> 10971 bytes windows/keep-secure/vpn-authentication.md | 7 +- windows/keep-secure/vpn-conditional-access.md | 70 ++++++++++++++++++ 3 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 windows/keep-secure/images/vpn-eap-xml.png diff --git a/windows/keep-secure/images/vpn-eap-xml.png b/windows/keep-secure/images/vpn-eap-xml.png new file mode 100644 index 0000000000000000000000000000000000000000..9a90401c8856c14e443d9f7833ba0ef80b00a336 GIT binary patch literal 10971 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 B`{@7x literal 0 HcmV?d00001 diff --git a/windows/keep-secure/vpn-authentication.md b/windows/keep-secure/vpn-authentication.md index c19b4fc2e4..c26290863d 100644 --- a/windows/keep-secure/vpn-authentication.md +++ b/windows/keep-secure/vpn-authentication.md @@ -32,11 +32,14 @@ Windows supports a number of EAP authentication methods. ## Configure authentication -See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. - +See [EAP configuration](https://msdn.microsoft.com/library/windows/hardware/mt168513.aspx) for EAP XML configuration. +>[!NOTE] +>To configure Windows Hello for Business authentication, follow the steps in [EAP configuration](https://msdn.microsoft.com/library/windows/hardware/mt168513.aspx) to create a smart card certificate. +The following image shows the field for EAP XML in a Microsoft Intune VPN profile. The EAP XML field only appears when you select a built-in connection type (automatic, IKEv2, L2TP, PPTP). +![EAP XML configuration in Intune profile](images/vpn-eap-xml.png) ## Related topics diff --git a/windows/keep-secure/vpn-conditional-access.md b/windows/keep-secure/vpn-conditional-access.md index f5d304b0f3..4b6e4190d7 100644 --- a/windows/keep-secure/vpn-conditional-access.md +++ b/windows/keep-secure/vpn-conditional-access.md @@ -15,6 +15,76 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile +The built-in VPN client is now able to integrate with the cloud-based Conditional Access Platform to provide a device compliance option for remote clients. Conditional Access is a policy-based evaluation engine that lets you create access rules for any Azure Active Directory (Azure AD) connected application. + +>[!NOTE] +>Conditional Access is an Azure AD Premium feature. + +Conditional Access Platform components used for Device Compliance include the following cloud-based services: +- [Conditional Access Framework](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/12/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn/) + +- [Azure AD Connect Health](https://azure.microsoft.com/documentation/articles/active-directory-aadconnect-health/) + +- [Windows Health Attestation Service](https://technet.microsoft.com/en-us/itpro/windows/keep-secure/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices#device-health-attestation) + +- Azure AD Certificate Authority - It is a requirement that the client certificate used for the cloud-based device compliance solution be issued by an Azure Active Directory-based Certificate Authority (CA). An Azure AD CA is essentially a mini-CA cloud tenant in Azure. The Azure AD CA cannot be configured as part of an on-premises Enterprise CA. + +- Azure AD-issued short-lived certificates - When a VPN connection attempt is made, the AAD Token Broker on the local device communicates with Azure Active Directory, which then checks for health based on compliance rules. If compliant, AAD sends back a short-lived certificate that is used to authenticate the VPN. Note that certificate authentication methods such as EAP-TLS can be used. + + Additional details regarding the AAD issued short-lived certificate: + - The default lifetime is 60 minutes and is configurable + - When that certificate expires, the client will again check with Azure AD so that continued health can be validated before a new certificate is issued allowing continuation of the connection + +- [Microsoft Intune device compliance policies](https://docs.microsoft.com/intune/deploy-use/introduction-to-device-compliance-policies-in-microsoft-intune) - Cloud-based device compliance leverages Microsoft Intune Compliance Policies, which are capable of querying the device state and define compliance rules for the following, among other things. + + - Antivirus status + - Auto-update status and update compliance + - Password policy compliance + - Encryption compliance + - Device health attestation state (validated against attestation service after query) + + +The following client-side components are also required: +- [HealthAttestation Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn934876.aspx) +- [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) DeviceCompliance node settings +- Trusted Platform Module (TPM) + +## VPN device compliance + +Server-side infrastructure requirements to support VPN device compliance include: + +- The VPN server should be configured for certificate authentication. +- The VPN server should trust the tenant-specific Azure AD CA +- Either of the below should be true for Kerberos/NTLM SSO: + - Domain servers trust Azure AD CA + - A domain-trusted certificate is deployed to the client device and is configured to be used for single sign-on (SSO) + +After the server side is set up, VPN admins can add the policy settings for conditional access to the VPN profile using the VPNv2 DeviceCompliance node. + +Two client-side configuration service providers are leveraged for VPN Device Compliance. + +- VPNv2 CSP DeviceCompliance settings + - **Enabled**: enables the Device Compliance flow from the client. If marked as **true**, the VPN client will attempt to communicate with Azure AD to get a certificate to use for authentication. The VPN should be set up to use certificate authentication and the VPN server must trust the server returned by Azure AD. + - **Sso**: nodes under SSO can be used to choose a certificate different from the VPN authentication certificate for Kerberos authentication in the case of device compliance. + - **Sso/Enabled**: if this field is set to **true**, the VPN client will look for a separate certificate for Kerberos authentication. + - **Sso/IssuerHash**: hashes for the VPN client to look for the correct certificate for Kerberos authentication. + - **Sso/Eku**: comma-separated list of Enhanced Key Usage (EKU) extensions for the VPN client to look for the correct certificate for Kerberos authentication. +- HealthAttestation CSP (not a requirement) - functions performed by the HealthAttestation CSP include: + - Collects TPM data used to verify health states + - Forwards the data to the Health Attestation Service (HAS) + - Provisions the Health Attestation Certificate received from the HAS + - Upon request, forwards the Health Attestation Certificate (received from HAS) and related runtime information to the MDM server for verification + + + + +## Learn more about Conditional Access and Azure AD Health + +- [Azure Active Directory conditional access](https://azure.microsoft.com/documentation/articles/active-directory-conditional-access/) +- [Getting started with Azure Active Directory Conditional Access](https://azure.microsoft.com/documentation/articles/active-directory-conditional-access-azuread-connected-apps/) +- [Control the health of Windows 10-based devices](https://technet.microsoft.com/itpro/windows/keep-secure/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices) + + ## Related topics - [VPN technical guide](vpn-guide.md) From 4001f90897f6d2bd5e140e4ea2b0e9e15104c4f7 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 16 Sep 2016 08:37:29 -0700 Subject: [PATCH 07/71] remove proxy topic --- .../images/vpn-conditional-access-intune.png | Bin 0 -> 13283 bytes windows/keep-secure/vpn-authentication.md | 3 +-- windows/keep-secure/vpn-auto-trigger-profile.md | 1 - windows/keep-secure/vpn-conditional-access.md | 11 +++++++++-- windows/keep-secure/vpn-connection-type.md | 1 - windows/keep-secure/vpn-guide.md | 5 ++--- windows/keep-secure/vpn-name-resolution.md | 1 - windows/keep-secure/vpn-profile-options.md | 1 - windows/keep-secure/vpn-proxy-settings.md | 8 ++++++++ windows/keep-secure/vpn-routing.md | 1 - windows/keep-secure/vpn-security-features.md | 1 - 11 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 windows/keep-secure/images/vpn-conditional-access-intune.png diff --git a/windows/keep-secure/images/vpn-conditional-access-intune.png b/windows/keep-secure/images/vpn-conditional-access-intune.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4efabc3f5d8608e26132bd0b5d06fda5e7502c GIT binary patch literal 13283 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

y`2@Qy&?KC;7~aLn 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 Kh*gOg1^q9D)|`d_ literal 0 HcmV?d00001 diff --git a/windows/keep-secure/vpn-authentication.md b/windows/keep-secure/vpn-authentication.md index c26290863d..d772fd0e9b 100644 --- a/windows/keep-secure/vpn-authentication.md +++ b/windows/keep-secure/vpn-authentication.md @@ -25,7 +25,7 @@ Windows supports a number of EAP authentication methods. EAP-Microsoft Challenge Handshake Authentication Protocol version 2 (EAP-MSCHAPv2)
  • User name and password authentication
  • Winlogon credentials - can specify authentication with computer sign-in credentials
EAP-Transport Layer Security (EAP-TLS)
  • Supports the following types of certificate authentication
    • Certificate with keys in the software Key Storage Provider (KSP)
    • Certificate with keys in Trusted Platform Module (TPM) KSP
    • Smart card certficates
    • Windows Hello for Business certificate
  • Certificate filtering
    • Certificate filtering can be enabled to search for a particular certificate to use to authenticate with
    • Filtering can be Issuer-based or Enhanced Key Usage (EKU)-based
  • Server validation - with TLS, server validation can be toggled on or off
    • Server name - specify the server to validate
    • Server certificate - trusted root certificate to validate the server
    • Notification - specify if the user should get a notification asking whether to trust the server or not
Protected Extensible Authentication Protocol (PEAP)
  • Server validation - with PEAP, server validation can be toggled on or off
    • Server name - specify the server to validate
    • Server certificate - trusted root certificate to validate the server
    • Notification - specify if the user should get a notification asking whether to trust the server or not
  • Inner method - the outer method creates a secure tunnel inside while the inner method is used to complete the authentication
    • EAP-MSCHAPv2
    • EAP-TLS
  • Fast Reconnect: reduces the delay between an authentication request by a client and the response by the Network Policy Server (NPS) or other Remote Authentication Dial-in User Service (RADIUS) server. This reduces resource requirements for both client and server, and minimizes the number of times that users are prompted for credentials.
  • Cryptobinding: By deriving and exchanging values from the PEAP phase 1 key material (Tunnel Key) and from the PEAP phase 2 inner EAP method key material (Inner Session Key), it is possible to prove that the two authentications terminate at the same two entities (PEAP peer and PEAP server). This process, termed "cryptobinding", is used to protect the PEAP negotiation against "Man in the Middle" attacks.
-Tunneled Transport Layer Security (TTLS)
  • Inner method
    • Non-EAP
      • Password Authentication Protocol (PAP)
      • CHAP
      • MSCHAP
      • MSCHAPv2
    • EAP
      • MSCHAPv2
      • TLS
  • Server validation: in TTLS, the server must be validated. The following can be configured:
    • Server name
    • Trusted root certificate for server certificate
    • Whether there should be a server validation notification
+Tunneled Transport Layer Security (TTLS)
  • Inner method
    • Non-EAP
      • Password Authentication Protocol (PAP)
      • CHAP
      • MSCHAP
      • MSCHAPv2
    • EAP
      • MSCHAPv2
      • TLS
  • Server validation: in TTLS, the server must be validated. The following can be configured:
    • Server name
    • Trusted root certificate for server certificate
    • Whether there should be a server validation notification

@@ -47,7 +47,6 @@ The following image shows the field for EAP XML in a Microsoft Intune VPN profil - [VPN connection types](vpn-connection-type.md) - [VPN routing decisions](vpn-routing.md) - [VPN and conditional access](vpn-conditional-access.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN name resolution](vpn-name-resolution.md) - [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) - [VPN security features](vpn-security-features.md) diff --git a/windows/keep-secure/vpn-auto-trigger-profile.md b/windows/keep-secure/vpn-auto-trigger-profile.md index 1583d8f784..6bce6b2514 100644 --- a/windows/keep-secure/vpn-auto-trigger-profile.md +++ b/windows/keep-secure/vpn-auto-trigger-profile.md @@ -25,7 +25,6 @@ localizationpriority: high - [VPN routing decisions](vpn-routing.md) - [VPN authentication options](vpn-authentication.md) - [VPN and conditional access](vpn-conditional-access.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN name resolution](vpn-name-resolution.md) - [VPN security features](vpn-security-features.md) - [VPN profile options](vpn-profile-options.md) \ No newline at end of file diff --git a/windows/keep-secure/vpn-conditional-access.md b/windows/keep-secure/vpn-conditional-access.md index 4b6e4190d7..0e655c592d 100644 --- a/windows/keep-secure/vpn-conditional-access.md +++ b/windows/keep-secure/vpn-conditional-access.md @@ -61,7 +61,7 @@ Server-side infrastructure requirements to support VPN device compliance include After the server side is set up, VPN admins can add the policy settings for conditional access to the VPN profile using the VPNv2 DeviceCompliance node. -Two client-side configuration service providers are leveraged for VPN Device Compliance. +Two client-side configuration service providers are leveraged for VPN device compliance. - VPNv2 CSP DeviceCompliance settings - **Enabled**: enables the Device Compliance flow from the client. If marked as **true**, the VPN client will attempt to communicate with Azure AD to get a certificate to use for authentication. The VPN should be set up to use certificate authentication and the VPN server must trust the server returned by Azure AD. @@ -75,8 +75,16 @@ Two client-side configuration service providers are leveraged for VPN Device Com - Provisions the Health Attestation Certificate received from the HAS - Upon request, forwards the Health Attestation Certificate (received from HAS) and related runtime information to the MDM server for verification +## Configure conditional access +See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. +The following image shows conditional access options in a VPN Profile configuration policy using Microsoft Intune. + +![conditional access in profile](images/vpn-conditional-access-intune.png) + +>[!NOTE] +>In Intune, the certificate selected in **Select a client certificate for client authentication** does not set any VPNv2 CSP nodes. It is simply a way to tie the VPN profile’s successful provisioning to the existence of a certificate. If you are enabling conditional access and using the Azure AD short-lived certificate for both VPN server authentication and domain resource authentication, do not select a certificate since the short-lived certificate is not a certificate that would be on the user’s device yet. ## Learn more about Conditional Access and Azure AD Health @@ -91,7 +99,6 @@ Two client-side configuration service providers are leveraged for VPN Device Com - [VPN connection types](vpn-connection-type.md) - [VPN routing decisions](vpn-routing.md) - [VPN authentication options](vpn-authentication.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN name resolution](vpn-name-resolution.md) - [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) - [VPN security features](vpn-security-features.md) diff --git a/windows/keep-secure/vpn-connection-type.md b/windows/keep-secure/vpn-connection-type.md index 9347844294..ecd032bc82 100644 --- a/windows/keep-secure/vpn-connection-type.md +++ b/windows/keep-secure/vpn-connection-type.md @@ -76,7 +76,6 @@ In Intune, you can also include custom XML for third-party plug-in profiles. - [VPN routing decisions](vpn-routing.md) - [VPN authentication options](vpn-authentication.md) - [VPN and conditional access](vpn-conditional-access.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN name resolution](vpn-name-resolution.md) - [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) - [VPN security features](vpn-security-features.md) diff --git a/windows/keep-secure/vpn-guide.md b/windows/keep-secure/vpn-guide.md index 7914168eeb..cef2464051 100644 --- a/windows/keep-secure/vpn-guide.md +++ b/windows/keep-secure/vpn-guide.md @@ -29,9 +29,8 @@ This guide will walk you through the decisions you will make for Windows 10 clie | --- | --- | | [VPN connection types](vpn-connection-type.md) | Select a VPN client and tunneling protocol | | [VPN routing decisions](vpn-routing.md) | Choose beetween split tunnel and force tunnel configuration | -| [VPN authentication options](vpn-authentication.md) | how to authenticate VPN connection: EAP-based, (?) | -| [VPN and conditional access](vpn-conditional-access.md) | use Azure Active Directory policy evaluation to set access policies for VPN | -| [VPN proxy settings](vpn-proxy-settings.md) | | +| [VPN authentication options](vpn-authentication.md) | Select a method for Extensible Authentication Protocol (EAP) authentication. | +| [VPN and conditional access](vpn-conditional-access.md) | Use Azure Active Directory policy evaluation to set access policies for VPN connections. | | [VPN name resolution](vpn-name-resolution.md) | how name resolution should happen | | [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) | auto-connect clients to VPN: app-triggered, name-based trigger, "always on", trusted network detection | | [VPN security features](vpn-security-features.md) | lockdown, traffic filtering, WIP | diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index 9d73b9faa4..68db0e48c1 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -22,7 +22,6 @@ localizationpriority: high - [VPN routing decisions](vpn-routing.md) - [VPN authentication options](vpn-authentication.md) - [VPN and conditional access](vpn-conditional-access.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) - [VPN security features](vpn-security-features.md) - [VPN profile options](vpn-profile-options.md) \ No newline at end of file diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index 1a19b83480..e56cf8f0b0 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -72,7 +72,6 @@ A VPN profile configured with LockDown secures the device to only allow network - [VPN routing decisions](vpn-routing.md) - [VPN authentication options](vpn-authentication.md) - [VPN and conditional access](vpn-conditional-access.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN name resolution](vpn-name-resolution.md) - [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) - [VPN security features](vpn-security-features.md) diff --git a/windows/keep-secure/vpn-proxy-settings.md b/windows/keep-secure/vpn-proxy-settings.md index 9dcad69218..dfdc32ba3d 100644 --- a/windows/keep-secure/vpn-proxy-settings.md +++ b/windows/keep-secure/vpn-proxy-settings.md @@ -15,6 +15,14 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile + +If your organization uses a proxy, especially in the case of force tunneled VPN, you can add an Interface Specific proxy with VPN. This can be configured using the MDM/SCCM configuration where you can provide either a Proxy auto-config (PAC) or Web Proxy Autodiscovery Protocol (WPAD) file, or specify a server and port. + +**Bypass proxy settings for local addresses** is not currently supported. + + + + ## Related topics - [VPN technical guide](vpn-guide.md) diff --git a/windows/keep-secure/vpn-routing.md b/windows/keep-secure/vpn-routing.md index 46e89c359e..215bae3fe1 100644 --- a/windows/keep-secure/vpn-routing.md +++ b/windows/keep-secure/vpn-routing.md @@ -61,7 +61,6 @@ Next, in **Corporate Boundaries**, you add the routes that should use the VPN co - [VPN connection types](vpn-connection-type.md) - [VPN authentication options](vpn-authentication.md) - [VPN and conditional access](vpn-conditional-access.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN name resolution](vpn-name-resolution.md) - [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) - [VPN security features](vpn-security-features.md) diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index ae814ae70a..d6342a7305 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -22,7 +22,6 @@ localizationpriority: high - [VPN routing decisions](vpn-routing.md) - [VPN authentication options](vpn-authentication.md) - [VPN and conditional access](vpn-conditional-access.md) -- [VPN proxy settings](vpn-proxy-settings.md) - [VPN name resolution](vpn-name-resolution.md) - [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) - [VPN profile options](vpn-profile-options.md) \ No newline at end of file From e5c96e96e89cbd036b1f08a72a7cc255e7345166 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 16 Sep 2016 14:20:25 -0700 Subject: [PATCH 08/71] stage --- .../keep-secure/images/vpn-name-intune.png | Bin 0 -> 14682 bytes .../keep-secure/vpn-auto-trigger-profile.md | 45 +++++++++++++ windows/keep-secure/vpn-name-resolution.md | 63 ++++++++++++++++++ windows/keep-secure/vpn-security-features.md | 27 ++++++++ 4 files changed, 135 insertions(+) create mode 100644 windows/keep-secure/images/vpn-name-intune.png diff --git a/windows/keep-secure/images/vpn-name-intune.png b/windows/keep-secure/images/vpn-name-intune.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b3bfe3b490a7f86dd9ca9bc203a257ae84ffe8 GIT binary patch literal 14682 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

nJFa*ULRE`XW@ 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 **Network & Internet** > **VPN** > *VPN profile* by selecting the **Let apps automatically use this VPN connection** checkbox. By default, the first MDM-configured profile is marked as **Active**. + +## Trusted network detection + + + +## Configure ,,, + +See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. + +The following image shows name resolution options in a VPN Profile configuration policy using Microsoft Intune. + +![Add DNS rule](images/vpn-name-intune.png) + +The fields in **Add or edit DNS rule*- in the Intune profile correspond to the XML settings shown in the following table. + +| Field | XML | +| --- | --- | +| **Name*- | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/DomainName*- | ## Related topics diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index 68db0e48c1..b759641480 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -15,6 +15,69 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile +When the VPN client connects to the VPN server, the VPN client receives the following addresses: + +- Client IP address +- IP address of the Domain Name System (DNS) server +- IP address of the Windows Internet Name Service (WINS) server + +The VPN client can access intranet resources by using names, which can be resolved to IP addresses using DNS-based and WINS-based resolution. DNS and WINS name resolution require a server address to be provisioned on the VPN client. + +The name resolution setting in the VPN profile configures how name resolution should work on the system when VPN is connected. The networking stack first looks at the Name Resolution Policy table (NRPT) for any matches and tries a resolution in the case of a match. If no match is found, the DNS Suffix is appended to the name and a DNS query is sent out on all interfaces. + +## Name Resolution Policy table (NRPT) + +The NRPT is a table of namespaces that determines the DNS client’s behavior when issuing name resolution queries and processing responses. It is the first place that the stack will look after the DNSCache. + +There are 3 types of Name matches that can be set up for NRPT + +- Fully qualified domain name (FQDN) that can be used for direct matching to a name + +- Suffix match results in either a comparison of suffixes (for FQDN resolution) or the appending of the suffix (in case of a short name) + +- Any resolution should attempt to first resolve with the proxy server/DNS server with this entry + +Examples of the following in VPNv2 CSP can be found here. + +NRPT is set using the **VPNv2//*ProfileName*/DomainNameInformationList** node. This node also configures Web proxy server or domain name servers. + +[Learn more about NRPT](https://technet.microsoft.com/library/ee649207%28v=ws.10%29.aspx) + + +## DNS suffix + +This setting is used to configure the primary DNS suffix for the VPN interface and the suffix search list after the VPN connection is established. + +Primary DNS suffix is set using the **VPNv2//*ProfileName*/DnsSuffix** node. + +Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + +[Learn more about primaryDNS suffix](https://technet.microsoft.com/library/cc959611.aspx) + +## Persistent + +You can also configure *persistent* name resolution rules. Name resolution for specified items will only be performed over VPN. + +Persistent name resolution is set using the **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/Persistent** node. + +Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + +## Configure name resolution + +See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. + +The following image shows name resolution options in a VPN Profile configuration policy using Microsoft Intune. + +![Add DNS rule](images/vpn-name-intune.png) + +The fields in **Add or edit DNS rule** in the Intune profile correspond to the XML settings shown in the following table. + +| Field | XML | +| --- | --- | +| **Name** | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/DomainName** | +| **Servers (comma separated)** | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/DnsServers** | +| **Proxy server** | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/WebServers** | + ## Related topics - [VPN technical guide](vpn-guide.md) diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index d6342a7305..6723cbde34 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -15,6 +15,33 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile + +## Lockdown VPN + +Lockdown VPN is a setting in VPN which can enforce an Always On force tunneled VPN. The system will attempt to keep this VPN connection connected, and networking data will only be allowed to go over the VPN Interface. The only exceptions here are for getting underlying network connectivity going as well as for MDM configuration. Deploy this feature with caution as the resultant connection will not be able to send/receive any network traffic without the VPN being connected. +This can be configured using +VPNv2/ProfileName/LockDown +This is not currently supported to be configured via Intune/SCCM. This can be configured via a custom XML in the ProfileXML node. + + +## Traffic filters + +Traffic filters is a feature that enables admins to effectively add interface specific firewall rules on the VPN Interface. With this feature, admins can specify networking 5 Tuple policies (IP, Port and Protocol based) to allow through the VPN interface. In addition, these rules can be applied at a per app level or a per device level. For eg. An admin could say that the Contoso HR App must be allowed to go through the VPN and only access port 4545 additionally the Contoso finance apps is allowed to go over the VPN and only access the Remote IP ranges of 10.10.0.40 - 10.10.0.201 on port 5889, apart from this all other apps on the device should be able to access only ports 80 or 443. + +## Windows Information Protection (WIP) integration with VPN + +Windows Information Protection provides capabilities allowing the separation and protection of enterprise data against disclosure across both company and personally owned devices without requiring additional changes to the environments or the apps themselves. Additionally, when used with Rights Management Services (RMS), WIP can help to protect enterprise data locally. +In Windows 10, the Policy CSP was updated allowing administrators to enforce WIP policy. The VPNv2 CSP EdpModeId node allows a Windows 10 VPN client to integrate with WIP, extending its functionality to remote devices. Use case scenarios for WIP include: +• Core Functionality: File encryption and file access blocking +• UX Policy Enforcement: Restricting copy/paste, drag/drop, and sharing operations +• EDP Network Policy Enforcement: Protecting intranet resources over corpnet and VPN +• Network Policy Enforcement: Protecting SMB and Internet cloud resources over corpnet and VPN +The value of the EdpModeId is an Enterprise ID. The networking stack will look for this ID in the app token to determine whether VPN should be triggered for that particular app. + +This is not currently supported to be configured via Intune/SCCM. This can be configured via a custom XML in the ProfileXML node. + + + ## Related topics - [VPN technical guide](vpn-guide.md) From 31ee665d6b7c6363c96d4160b907546d3c55fbed Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Mon, 19 Sep 2016 08:56:50 -0700 Subject: [PATCH 09/71] remove proxy topic --- windows/keep-secure/TOC.md | 1 - windows/keep-secure/vpn-profile-options.md | 7 +++++ windows/keep-secure/vpn-proxy-settings.md | 36 ---------------------- 3 files changed, 7 insertions(+), 37 deletions(-) delete mode 100644 windows/keep-secure/vpn-proxy-settings.md diff --git a/windows/keep-secure/TOC.md b/windows/keep-secure/TOC.md index e44b1117df..c7d2c50b4e 100644 --- a/windows/keep-secure/TOC.md +++ b/windows/keep-secure/TOC.md @@ -42,7 +42,6 @@ ### [VPN routing decisions](vpn-routing.md) ### [VPN authentication options](vpn-authentication.md) ### [VPN and conditional access](vpn-conditional-access.md) -### [VPN proxy settings](vpn-proxy-settings.md) ### [VPN name resolution](vpn-name-resolution.md) ### [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) ### [VPN security features](vpn-security-features.md) diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index e56cf8f0b0..c45722ddb4 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -18,6 +18,13 @@ localizationpriority: high Virtual private networks (VPN) let you give your users secure remote access to your company network. Windows 10 adds useful new VPN profile options to help you manage how users connect. +The ProfileXML node was added to the VPNv2 CSP to allow users to deploy VPN profile as a single blob. This is particularly useful for deploying profiles with features that are not yet supported by MDMs. +For more information about ProfileXML including sample profiles (both native and UWP VPN plugin): https://msdn.microsoft.com/en-us/library/windows/hardware/mt755930(v=vs.85).aspx +OMA-DM Uri: /Vendor/MSFT/VPNv2/[Profile Name]/ProfileXML +The below is a sample Native VPN profile (found in the link above). This blob would fall under the ProfileXML node. Profiles can be created for UWP apps as well. An example can be found in the link above as well. + + + ## Always On Always On is a new feature in Windows 10 which enables the active VPN profile to connect automatically on the following triggers: diff --git a/windows/keep-secure/vpn-proxy-settings.md b/windows/keep-secure/vpn-proxy-settings.md deleted file mode 100644 index dfdc32ba3d..0000000000 --- a/windows/keep-secure/vpn-proxy-settings.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: VPN proxy settings (Windows 10) -description: tbd -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security, networking -author: jdeckerMS -localizationpriority: high ---- - -# VPN proxy settings - -**Applies to** -- Windows 10 -- Windows 10 Mobile - - -If your organization uses a proxy, especially in the case of force tunneled VPN, you can add an Interface Specific proxy with VPN. This can be configured using the MDM/SCCM configuration where you can provide either a Proxy auto-config (PAC) or Web Proxy Autodiscovery Protocol (WPAD) file, or specify a server and port. - -**Bypass proxy settings for local addresses** is not currently supported. - - - - -## Related topics - -- [VPN technical guide](vpn-guide.md) -- [VPN connection types](vpn-connection-type.md) -- [VPN routing decisions](vpn-routing.md) -- [VPN authentication options](vpn-authentication.md) -- [VPN and conditional access](vpn-conditional-access.md) -- [VPN name resolution](vpn-name-resolution.md) -- [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) -- [VPN security features](vpn-security-features.md) -- [VPN profile options](vpn-profile-options.md) \ No newline at end of file From bbdea92b10e2208fbc9b4a4eb00dd5ccbb1db017 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Mon, 19 Sep 2016 14:18:21 -0700 Subject: [PATCH 10/71] new art --- windows/keep-secure/images/vpn-app-rules.png | Bin 0 -> 21773 bytes .../keep-secure/images/vpn-app-trigger.PNG | Bin 0 -> 23365 bytes .../keep-secure/images/vpn-traffic-rules.png | Bin 0 -> 13764 bytes .../keep-secure/vpn-auto-trigger-profile.md | 30 ++++++--- windows/keep-secure/vpn-name-resolution.md | 6 +- windows/keep-secure/vpn-security-features.md | 60 +++++++++++++----- 6 files changed, 67 insertions(+), 29 deletions(-) create mode 100644 windows/keep-secure/images/vpn-app-rules.png create mode 100644 windows/keep-secure/images/vpn-app-trigger.PNG create mode 100644 windows/keep-secure/images/vpn-traffic-rules.png diff --git a/windows/keep-secure/images/vpn-app-rules.png b/windows/keep-secure/images/vpn-app-rules.png new file mode 100644 index 0000000000000000000000000000000000000000..edc4a2420939136f949cda382dad4c3aa872be6c GIT binary patch literal 21773 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

lHu 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 Mhg!-d_n(FS2jkBrl>h($ literal 0 HcmV?d00001 diff --git a/windows/keep-secure/images/vpn-traffic-rules.png b/windows/keep-secure/images/vpn-traffic-rules.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7b526e8014594155c0bab17c01798000fe7acb GIT binary patch literal 13764 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 aekOT276?i`7?1|=uNQKvvK7+iul^SS3`4a5 literal 0 HcmV?d00001 diff --git a/windows/keep-secure/vpn-auto-trigger-profile.md b/windows/keep-secure/vpn-auto-trigger-profile.md index e6d3fd33ea..d2559a3ceb 100644 --- a/windows/keep-secure/vpn-auto-trigger-profile.md +++ b/windows/keep-secure/vpn-auto-trigger-profile.md @@ -15,7 +15,7 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -In Windows 10, a number of “auto-triggering” features were added to VPN so users won’t have to manually connect when VPN is needed to access necessary resources. There are three different types of auto-trigger rules: +In Windows 10, a number of features were added to auto-trigger VPN so users won’t have to manually connect when VPN is needed to access necessary resources. There are three different types of auto-trigger rules: - App trigger - Name-based trigger @@ -23,7 +23,7 @@ In Windows 10, a number of “auto-triggering” features were added to VPN so u ## App trigger -You can configure apps (desktop or Universal Windows Platform) to trigger a VPN connection. You can also configure per-app VPN and specify traffic rules for each app. See [Traffic filters](vpn-security-features.md#traffic-filters) for more details. +VPN profiles in Windows 10 can be configured to connect automatically on the launch of a specified set of applications. You can configure desktop or Universal Windows Platform (UWP) apps to trigger a VPN connection. You can also configure per-app VPN and specify traffic rules for each app. See [Traffic filters](vpn-security-features.md#traffic-filters) for more details. The app identifier for a desktop app is a file path. The app identifier for a UWP app is a package family name. @@ -32,6 +32,12 @@ The app identifier for a desktop app is a file path. The app identifier for a UW ## Name-based trigger +You can configure a domain name-based rule so that a specific domain name triggers the VPN connection. + +Name-based auto-trigger can be configured using the VPNv2//*ProfileName*/DomainNameInformationList/dniRowId/AutoTrigger setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). + +Domain names can even be configured such that VPN must be used to access that resource. If VPN is not connected, that resource will be inaccessible if the persistent node is configured to be true. + ## Always On @@ -41,27 +47,31 @@ Always On is a new feature in Windows 10 which enables the active VPN profile to - Network change - Device screen on -When the trigger occurs, VPN tries to connect. If an error occurs or anyuUser input is needed, the user is shown a toast notification for additional interaction. +When the trigger occurs, VPN tries to connect. If an error occurs or any user input is needed, the user is shown a toast notification for additional interaction. + +Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). When a device has multiple profiles with Always On triggers, the user can specify the active profile in **Settings** > **Network & Internet** > **VPN** > *VPN profile* by selecting the **Let apps automatically use this VPN connection** checkbox. By default, the first MDM-configured profile is marked as **Active**. ## Trusted network detection +This feature configures the VPN such that it would not get triggered if a user is on a trusted corporate network. The value of this setting is a list of DNS suffices. The VPN stack will look at the DNS suffix on the physical interface and if it matches any in the configured list and the network is private or provisioned by MDM, then VPN will not get triggered. +Trusted network detection can be configured using the VPNv2//*ProfileName*/TrustedNetworkDetection setting in the [VPNv2 CCSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). -## Configure ,,, +Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + +## Configure app-triggered VPN See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. -The following image shows name resolution options in a VPN Profile configuration policy using Microsoft Intune. +The following image shows associating an app to a VPN connection in a VPN Profile configuration policy using Microsoft Intune. -![Add DNS rule](images/vpn-name-intune.png) +![Add an app for the VPN connection](images/vpn-app-trigger.png) -The fields in **Add or edit DNS rule*- in the Intune profile correspond to the XML settings shown in the following table. +After you add an associated app, if you select the **Only these apps can use this VPN connection (per-app VPN)** checkbox, the app becomes available in **Corporate Boundaries**, where you can configure rules for the app. See [Traffic filters](vpn-security-features.md#traffic-filters) for more details. -| Field | XML | -| --- | --- | -| **Name*- | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/DomainName*- | +![Configure rules for the app](images/vpn-app-rules.png) ## Related topics diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index b759641480..88e5b76467 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -23,13 +23,13 @@ When the VPN client connects to the VPN server, the VPN client receives the foll The VPN client can access intranet resources by using names, which can be resolved to IP addresses using DNS-based and WINS-based resolution. DNS and WINS name resolution require a server address to be provisioned on the VPN client. -The name resolution setting in the VPN profile configures how name resolution should work on the system when VPN is connected. The networking stack first looks at the Name Resolution Policy table (NRPT) for any matches and tries a resolution in the case of a match. If no match is found, the DNS Suffix is appended to the name and a DNS query is sent out on all interfaces. +The name resolution setting in the VPN profile configures how name resolution should work on the system when VPN is connected. The networking stack first looks at the Name Resolution Policy table (NRPT) for any matches and tries a resolution in the case of a match. If no match is found, the DNS suffix is appended to the name and a DNS query is sent out on all interfaces. ## Name Resolution Policy table (NRPT) The NRPT is a table of namespaces that determines the DNS client’s behavior when issuing name resolution queries and processing responses. It is the first place that the stack will look after the DNSCache. -There are 3 types of Name matches that can be set up for NRPT +There are 3 types of name matches that can be set up for NRPT: - Fully qualified domain name (FQDN) that can be used for direct matching to a name @@ -37,8 +37,6 @@ There are 3 types of Name matches that can be set up for NRPT - Any resolution should attempt to first resolve with the proxy server/DNS server with this entry -Examples of the following in VPNv2 CSP can be found here. - NRPT is set using the **VPNv2//*ProfileName*/DomainNameInformationList** node. This node also configures Web proxy server or domain name servers. [Learn more about NRPT](https://technet.microsoft.com/library/ee649207%28v=ws.10%29.aspx) diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index 6723cbde34..c5bcb7ec30 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -16,31 +16,61 @@ localizationpriority: high - Windows 10 Mobile -## Lockdown VPN +## LockDown VPN -Lockdown VPN is a setting in VPN which can enforce an Always On force tunneled VPN. The system will attempt to keep this VPN connection connected, and networking data will only be allowed to go over the VPN Interface. The only exceptions here are for getting underlying network connectivity going as well as for MDM configuration. Deploy this feature with caution as the resultant connection will not be able to send/receive any network traffic without the VPN being connected. -This can be configured using -VPNv2/ProfileName/LockDown -This is not currently supported to be configured via Intune/SCCM. This can be configured via a custom XML in the ProfileXML node. +A VPN profile configured with LockDown secures the device to only allow network traffic over the VPN interface. It has the following features: +- The system attempts to keep the VPN connected at all times. +- The user cannot disconnect the VPN connection. +- The user cannot delete or modify the VPN profile. +- The VPN LockDown profile uses forced tunnel connection. +- If the VPN connection is not available, outbound network traffic is blocked. +- Only one VPN LockDown profile is allowed on a device. -## Traffic filters +>[!NOTE] +>For inbox VPN, Lockdown VPN is only available for the Internet Key Exchange version 2 (IKEv2) tunnel type. -Traffic filters is a feature that enables admins to effectively add interface specific firewall rules on the VPN Interface. With this feature, admins can specify networking 5 Tuple policies (IP, Port and Protocol based) to allow through the VPN interface. In addition, these rules can be applied at a per app level or a per device level. For eg. An admin could say that the Contoso HR App must be allowed to go through the VPN and only access port 4545 additionally the Contoso finance apps is allowed to go over the VPN and only access the Remote IP ranges of 10.10.0.40 - 10.10.0.201 on port 5889, apart from this all other apps on the device should be able to access only ports 80 or 443. +Deploy this feature with caution as the resultant connection will not be able to send or receive any network traffic without the VPN being connected. + +Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). ## Windows Information Protection (WIP) integration with VPN -Windows Information Protection provides capabilities allowing the separation and protection of enterprise data against disclosure across both company and personally owned devices without requiring additional changes to the environments or the apps themselves. Additionally, when used with Rights Management Services (RMS), WIP can help to protect enterprise data locally. -In Windows 10, the Policy CSP was updated allowing administrators to enforce WIP policy. The VPNv2 CSP EdpModeId node allows a Windows 10 VPN client to integrate with WIP, extending its functionality to remote devices. Use case scenarios for WIP include: -• Core Functionality: File encryption and file access blocking -• UX Policy Enforcement: Restricting copy/paste, drag/drop, and sharing operations -• EDP Network Policy Enforcement: Protecting intranet resources over corpnet and VPN -• Network Policy Enforcement: Protecting SMB and Internet cloud resources over corpnet and VPN -The value of the EdpModeId is an Enterprise ID. The networking stack will look for this ID in the app token to determine whether VPN should be triggered for that particular app. +Windows Information Protection provides capabilities allowing the separation and protection of enterprise data against disclosure across both company and personally owned devices without requiring additional changes to the environments or the apps themselves. Additionally, when used with Rights Management Services (RMS), WIP can help to protect enterprise data locally. -This is not currently supported to be configured via Intune/SCCM. This can be configured via a custom XML in the ProfileXML node. +The [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) **EdpModeId** node allows a Windows 10 VPN client to integrate with WIP, extending its functionality to remote devices. Use case scenarios for WIP include: +- Core Functionality: File encryption and file access blocking +- UX Policy Enforcement: Restricting copy/paste, drag/drop, and sharing operations +- WIP Network Policy Enforcement: Protecting intranet resources over the corporate network and VPN +- Network Policy Enforcement: Protecting SMB and Internet cloud resources over the corporate network and VPN +The value of the **EdpModeId** is an Enterprise ID. The networking stack will look for this ID in the app token to determine whether VPN should be triggered for that particular app. + +Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + +## Traffic filters + +Traffic Filters give enterprises the ability to decide what traffic is allowed into the corporate network based on policy. Network admins to effectively add interface specific firewall rules on the VPN Interface.There are two types of Traffic Filter rules: + +- App-based rules. With app-based rules, a list of applications can be marked such that only traffic originating from these apps is allowed to go over the VPN interface. +- Traffic-based rules. Traffic-based rules are 5-tuple policies (ports, addresses, protocol) that can be specified such that only traffic matching these rules is allowed to go over the VPN interface. + +There can be many sets of rules which are linked by OR. Within each set, there can be app-based rules and traffic-based rules; all the properties within the set will be linked by AND. In addition, these rules can be applied at a per-app level or a per-device level. + +For example, an admin could define rules that specify: + +- The Contoso HR App must be allowed to go through the VPN and only access port 4545. +- The Contoso finance apps is allowed to go over the VPN and only access the Remote IP ranges of 10.10.0.40 - 10.10.0.201 on port 5889. +- All other apps on the device should be able to access only ports 80 or 443. + +## Configure traffic filters + +See [VPN profile options](vpn-profile-options.md) and [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) for XML configuration. + +The following image shows the interface to configure traffic rules in a VPN Profile configuration policy using Microsoft Intune. + +![Add a traffic rule](images/vpn-traffic-rules.png) ## Related topics From ed981cd9eba794c44c33af8d39799c76a41d1f26 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 20 Sep 2016 09:37:44 -0700 Subject: [PATCH 11/71] set up profile topic --- windows/keep-secure/vpn-conditional-access.md | 5 ++ windows/keep-secure/vpn-profile-options.md | 67 ++++++------------- 2 files changed, 27 insertions(+), 45 deletions(-) diff --git a/windows/keep-secure/vpn-conditional-access.md b/windows/keep-secure/vpn-conditional-access.md index 0e655c592d..0e42e98869 100644 --- a/windows/keep-secure/vpn-conditional-access.md +++ b/windows/keep-secure/vpn-conditional-access.md @@ -91,6 +91,11 @@ The following image shows conditional access options in a VPN Profile configurat - [Azure Active Directory conditional access](https://azure.microsoft.com/documentation/articles/active-directory-conditional-access/) - [Getting started with Azure Active Directory Conditional Access](https://azure.microsoft.com/documentation/articles/active-directory-conditional-access-azuread-connected-apps/) - [Control the health of Windows 10-based devices](https://technet.microsoft.com/itpro/windows/keep-secure/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices) +- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 1)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/12/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn/) +- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 2)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/14/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn-part-2/) +- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 3)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/15/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn-part-3/) +- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 4)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/16/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn-part-4/) + ## Related topics diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index c45722ddb4..4ec14191b0 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -16,55 +16,32 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -Virtual private networks (VPN) let you give your users secure remote access to your company network. Windows 10 adds useful new VPN profile options to help you manage how users connect. +Most of the VPN settings in Windows 10 can be configured in VPN profiles using Microsoft Intune or System Center Configuration Manager. All VPN settings in Windows 10 can be configued using the **ProfileXML** node in the [VPNv2 configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/mt755930.aspx) -The ProfileXML node was added to the VPNv2 CSP to allow users to deploy VPN profile as a single blob. This is particularly useful for deploying profiles with features that are not yet supported by MDMs. -For more information about ProfileXML including sample profiles (both native and UWP VPN plugin): https://msdn.microsoft.com/en-us/library/windows/hardware/mt755930(v=vs.85).aspx +The following table lists the VPN settings and whether the setting can only be configured using **ProfileXML**. + +| Profile setting | Can be configured in Intune and Configuration Manager | +| --- | --- | +| Connection type | yes | +| Routing: split-tunnel routes | yes, except exclusion routes | +| Routing: forced-tunnel | yes | +| Authentication (EAP) | yes, if connection type is built-in | +| Conditional access | yes | +| Name resolution: NRPT | yes | +| Name resolution: DNS suffix | no | +| Name resolution: persistent | no | +| Auto-trigger: app trigger | yes | +| Auto-trigger: name trigger | yes | +| Auto-trigger: Always On | no | +| Auto-trigger: trusted network detection | no | +| LockDown | no | +| Windows Information Protection (WIP) | no | +| Traffic filters | yes | + +For more information about ProfileXML including sample profiles (both native and UWP VPN plugin): OMA-DM Uri: /Vendor/MSFT/VPNv2/[Profile Name]/ProfileXML The below is a sample Native VPN profile (found in the link above). This blob would fall under the ProfileXML node. Profiles can be created for UWP apps as well. An example can be found in the link above as well. - - - -## Always On - -Always On is a new feature in Windows 10 which enables the active VPN profile to connect automatically on the following triggers: -- User sign-on -- Network change - -When a device has multiple profiles with Always On triggers, the user can specify the active profile in **Settings** > **Network & Internet** > **VPN** > *VPN profile* > **Let apps automatically use this VPN connection**. - -## App-triggered VPN - -VPN profiles in Windows 10 can be configured to connect automatically on the launch of a specified set of applications. This feature was included in Windows 8.1 as "On demand VPN". The applications can be defined using the following: -- Package family name for Universal Windows Platform (UWP) apps -- File path for Classic Windows applications - -## Traffic filters - -Traffic Filters give enterprises the ability to decide what traffic is allowed into the corporate network based on policy . With the ever-increasing landscape of remote threats on the corporate network and lesser IT controls on machines, it becomes essential to control the traffic that is allowed through. While server-side layers of firewalls and proxies help, by adding traffic filters the first layer of filtering can be moved onto the client with more advanced filtering on the server side. There are two types of Traffic Filter rules: - -- **App-based rules**. With app-based rules, a list of applications can be marked such that only traffic originating from these apps is allowed to go over the VPN interface. -- **Traffic-based rules**. Traffic-based rules are 5-tuple policies (ports, addresses, protocol) that can be specified such that only traffic matching these rules is allowed to go over the VPN interface. - -There can be many sets of rules which are linked by **OR**. Within each set, there can be app-based rules and traffic-based rules; all the properties within the set will be linked by **AND**. This gives the IT admins a lot of power to craft the perfect policy befitting their use case. - -## LockDown VPN - -A VPN profile configured with LockDown secures the device to only allow network traffic over the VPN interface. It has the following features: -- The system attempts to keep the VPN connected at all times. -- The user cannot disconnect the VPN connection. -- The user cannot delete or modify the VPN profile. -- The VPN LockDown profile uses forced tunnel connection. -- If the VPN connection is not available, outbound network traffic is blocked. -- Only one VPN LockDown profile is allowed on a device. -> **Note:**  For inbox VPN, Lockdown VPN is only available for the Internet Key Exchange version 2 (IKEv2) tunnel type.   -## Learn about VPN and the Conditional Access Framework in Azure Active Directory - -- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 1)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/12/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn/) -- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 2)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/14/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn-part-2/) -- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 3)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/15/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn-part-3/) -- [Tip of the Day: The Conditional Access Framework and Device Compliance for VPN (Part 4)](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/16/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn-part-4/) ## Learn more From 534e01cd24db619fad0dc2399ee207f428643e42 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 20 Sep 2016 12:10:51 -0700 Subject: [PATCH 12/71] stage --- windows/keep-secure/vpn-profile-options.md | 103 ++++++++++++++++++++- 1 file changed, 102 insertions(+), 1 deletion(-) diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index 4ec14191b0..1f723a767d 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -16,7 +16,10 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -Most of the VPN settings in Windows 10 can be configured in VPN profiles using Microsoft Intune or System Center Configuration Manager. All VPN settings in Windows 10 can be configued using the **ProfileXML** node in the [VPNv2 configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/mt755930.aspx) +Most of the VPN settings in Windows 10 can be configured in VPN profiles using Microsoft Intune or System Center Configuration Manager. All VPN settings in Windows 10 can be configued using the **ProfileXML** node in the [VPNv2 configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) + +>[!NOTE] +>If you're not familiar with CSPs, read [Introduction to configuration service providers (CSPs)](https://technet.microsoft.com/itpro/windows/manage/how-it-pros-can-use-configuration-service-providers) first. The following table lists the VPN settings and whether the setting can only be configured using **ProfileXML**. @@ -38,6 +41,104 @@ The following table lists the VPN settings and whether the setting can only be c | Windows Information Protection (WIP) | no | | Traffic filters | yes | +The sections in this topic provide XML examples for the VPN profile settings in this guide. You can get additional examples in the [ProfileXML XSD](https://msdn.microsoft.com/library/windows/hardware/mt755930.aspx) topic. + + + +## Connection type + +**Example:** set connection type to **Automatic** + +``` +NativeProtocolType + + + 10002 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/NativeProfile/NativeProtocolType + + Automatic + + +``` + +**Example:** set connection type for a Universal Windows Platform (UWP) VPN plug-in + +``` + + + 10002 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/PluginProfile/PluginPackageFamilyName + + TestVpnPluginApp-SL_8wekyb3d8bbwe + + +``` + +**Example:** add custom configuration for UWP VPN plug-in + +``` + + + 10003 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/PluginProfile/CustomConfiguration + + <pluginschema><ipAddress>auto</ipAddress><port>443</port><networksettings><routes><includev4><route><address>172.10.10.0</address><prefix>24</prefix></route></includev4></routes><namespaces><namespace><space>.vpnbackend.com</space><dnsservers><server>172.10.10.11</server></dnsservers></namespace></namespaces></networksettings></pluginschema> + + +``` + +## Split-tunnel routing + + +## Forced-tunnel routing + + +## EAP authentication + + +## Conditional access + + +## NRPT name resolution + + +## DNS suffix name resolution + + +## Persistent name resolution + + +## App trigger + + +## Name trigger + + +## Always On + + +## Trusted network detection + + +## LockDown + + +## Windows Information Protection + + +## Traffic filters + + + + + + For more information about ProfileXML including sample profiles (both native and UWP VPN plugin): OMA-DM Uri: /Vendor/MSFT/VPNv2/[Profile Name]/ProfileXML The below is a sample Native VPN profile (found in the link above). This blob would fall under the ProfileXML node. Profiles can be created for UWP apps as well. An example can be found in the link above as well. From 9f2410777b022608af5650db37e17a750ed0410b Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 20 Sep 2016 12:50:57 -0700 Subject: [PATCH 13/71] tweak --- windows/keep-secure/vpn-profile-options.md | 116 ++++++++++++++++++- windows/keep-secure/vpn-security-features.md | 8 +- 2 files changed, 116 insertions(+), 8 deletions(-) diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index 1f723a767d..3b88eff5d8 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -30,6 +30,7 @@ The following table lists the VPN settings and whether the setting can only be c | Routing: forced-tunnel | yes | | Authentication (EAP) | yes, if connection type is built-in | | Conditional access | yes | +| Proxy settings | yes, by PAC/WPAD file or server and port | | Name resolution: NRPT | yes | | Name resolution: DNS suffix | no | | Name resolution: persistent | no | @@ -95,53 +96,160 @@ NativeProtocolType ## Split-tunnel routing +**Example:** route list and exclusion route -## Forced-tunnel routing +``` + + 10008 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/RouteList/0/Address + + 192.168.0.0 + + + + 10009 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/RouteList/0/PrefixSize + + + int + + 24 + + + + 10010 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/RouteList/0/ExclusionRoute + + + bool + + true + + +``` + +[!NOTE] +>Forced-tunnel routing is used if no routes are specified. ## EAP authentication +You can only configure EAP-based authentication if you select a built-in connection type (IKEv2, L2TP, PPTP, or automatic). See [EAP configuration](https://msdn.microsoft.com/library/windows/hardware/mt168513.aspx) for a step-by-step guide for creating an Extensible Authentication Protocol (EAP) configuration XML for the VPN profile. + ## Conditional access +**Example:** device compliance for conditional access + +``` + + 10011 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DeviceCompliance/SSO/Enabled + + + bool + + true + + + + 10011 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DeviceCompliance/SSO/IssuerHash + + ffffffffffffffffffffffffffffffffffffffff;ffffffffffffffffffffffffffffffffffffffee + + + + 10011 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DeviceCompliance/SSO/EKU + + 1.3.6.1.5.5.7.3.2 + + + +``` + +## Proxy settings + +**Example:** domain name rule for traffic through proxy server + +``` + + 10016 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/5/DomainName + + . + + + + 10017 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/5/WebProxyServers + + 192.168.0.11 + + + ``` ## NRPT name resolution +**Example:** ## DNS suffix name resolution +**Example:** ## Persistent name resolution +**Example:** ## App trigger +**Example:** ## Name trigger +**Example:** ## Always On +**Example:** ## Trusted network detection +**Example:** ## LockDown +**Example:** ## Windows Information Protection +**Example:** ## Traffic filters +**Example:** -For more information about ProfileXML including sample profiles (both native and UWP VPN plugin): -OMA-DM Uri: /Vendor/MSFT/VPNv2/[Profile Name]/ProfileXML -The below is a sample Native VPN profile (found in the link above). This blob would fall under the ProfileXML node. Profiles can be created for UWP apps as well. An example can be found in the link above as well.   ## Learn more diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index c5bcb7ec30..059fc15c03 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -40,10 +40,10 @@ Windows Information Protection provides capabilities allowing the separation and The [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) **EdpModeId** node allows a Windows 10 VPN client to integrate with WIP, extending its functionality to remote devices. Use case scenarios for WIP include: -- Core Functionality: File encryption and file access blocking -- UX Policy Enforcement: Restricting copy/paste, drag/drop, and sharing operations -- WIP Network Policy Enforcement: Protecting intranet resources over the corporate network and VPN -- Network Policy Enforcement: Protecting SMB and Internet cloud resources over the corporate network and VPN +- Core functionality: File encryption and file access blocking +- UX policy enforcement: Restricting copy/paste, drag/drop, and sharing operations +- WIP network policy enforcement: Protecting intranet resources over the corporate network and VPN +- Network policy enforcement: Protecting SMB and Internet cloud resources over the corporate network and VPN The value of the **EdpModeId** is an Enterprise ID. The networking stack will look for this ID in the app token to determine whether VPN should be triggered for that particular app. From c3f1ca89c5d001d698f914e577d75aac1b2ee182 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 20 Sep 2016 13:16:39 -0700 Subject: [PATCH 14/71] xml examples --- windows/keep-secure/vpn-profile-options.md | 276 +++++++++++++++++-- windows/keep-secure/vpn-security-features.md | 4 +- 2 files changed, 259 insertions(+), 21 deletions(-) diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index 3b88eff5d8..f344ba44ab 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -16,7 +16,7 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -Most of the VPN settings in Windows 10 can be configured in VPN profiles using Microsoft Intune or System Center Configuration Manager. All VPN settings in Windows 10 can be configued using the **ProfileXML** node in the [VPNv2 configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) +Most of the VPN settings in Windows 10 can be configured in VPN profiles using Microsoft Intune or System Center Configuration Manager. All VPN settings in Windows 10 can be configued using the **ProfileXML** node in the [VPNv2 configuration service provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). >[!NOTE] >If you're not familiar with CSPs, read [Introduction to configuration service providers (CSPs)](https://technet.microsoft.com/itpro/windows/manage/how-it-pros-can-use-configuration-service-providers) first. @@ -134,7 +134,7 @@ NativeProtocolType ``` -[!NOTE] +>[!NOTE] >Forced-tunnel routing is used if no routes are specified. @@ -183,71 +183,307 @@ You can only configure EAP-based authentication if you select a built-in connect ## Proxy settings -**Example:** domain name rule for traffic through proxy server +**Example:** set proxy ``` - - 10016 +Manual + + $CmdID$ - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/5/DomainName + ./Vendor/MSFT/VPNv2/VPNProfileName/Proxy/Manual/Server - . + 192.168.0.100:8888 + + AutoConfigUrl - 10017 + $CmdID$ - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/5/WebProxyServers + ./Vendor/MSFT/VPNv2/VPNProfileName/Proxy/AutoConfigUrl - 192.168.0.11 + HelloWorld.com ``` ## NRPT name resolution -**Example:** +**Example:** FQDN match with DNS server + +``` + + 10016 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/2/DomainName + + finance.contoso.com + + + + 10017 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/2/DnsServers + + 192.168.0.11,192.168.0.12 + + +``` + +**Example:** FQDN match with proxy server + +``` + + 10016 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/3/DomainName + + finance.contoso.com + + + + 10017 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/3/WebProxyServers + + 192.168.0.11:8080 + + +``` ## DNS suffix name resolution -**Example:** +**Example:** DNS suffix match with DNS server + +``` + + 10013 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/0/DomainName + + .contoso.com + + + + 10014 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/0/DnsServers + + 192.168.0.11,192.168.0.12 + + +``` + +**Example:** DNS suffix match with proxy server + +``` + + 10013 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/1/DomainName + + .contoso.com + + + + 10015 + + +./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/1/WebProxyServers + + 192.168.0.100:8888 + + +``` ## Persistent name resolution -**Example:** +**Example:** persistent name resolution + +``` + + 10010 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/1/Persistent + + + bool + + true + + +``` ## App trigger -**Example:** +**Example:** set Internet Explorer and Microsoft Edge to trigger VPN + +``` + + + 10013 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/AppTriggerList/0/App/Id + + %PROGRAMFILES%\Internet Explorer\iexplore.exe + + + + 10014 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/AppTriggerList/1/App/Id + + %PROGRAMFILES% (x86)\Internet Explorer\iexplore.exe + + + + + 10015 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/AppTriggerList/2/App/Id + + Microsoft.MicrosoftEdge_8wekyb3d8bbwe + + +``` ## Name trigger -**Example:** +**Example:** set domain name rule to trigger VPN + +``` + + 10010 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/0/AutoTrigger + + + bool + + true + + +``` ## Always On -**Example:** +Always On cannot be set with force tunnel. + +**Example:** set Always On. + +``` + + $CmdID$ + + + ./Vendor/MSFT/VPNv2/VPNProfileName/AlwaysOn + + + bool + + true + + +``` ## Trusted network detection -**Example:** +**Example:** configure trusted networks + +``` + + $CmdID$ + + + ./Vendor/MSFT/VPNv2/VPNProfileName/TrustedNetworkDetection + + Adatum.com + + +``` ## LockDown -**Example:** +For built-in VPN, Lockdown VPN is only available for the Internet Key Exchange version 2 (IKEv2) connection type. + +**Example:** set a LockDown profile. + +``` + + $CmdID$ + + + ./Vendor/MSFT/VPNv2/VPNProfileName/Lockdown + + + bool + + true + + +``` ## Windows Information Protection -**Example:** +If you are using Windows Information Protection (WIP) (formerly known as Enterprise Data Protection), then you should configure VPN first before you configure WIP policies. + +**Example:** provide enterprise ID to connect VPN profile with WIP policy + +``` + + $CmdID$ + + + ./Vendor/MSFT/VPNv2/VPNProfileName/EDPModeID + + corp.contoso.com + + +``` ## Traffic filters -**Example:** +**Example:** traffic filter for desktop app +``` + + 10013 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/TrafficFilterList/0/App/Id + + %ProgramFiles%\Internet Explorer\iexplore.exe + + +``` +**Example:** traffic filter for UWP app +``` + + 10014 + + + ./Vendor/MSFT/VPNv2/VPNProfileName/TrafficFilterList/1/App/Id + + Microsoft.MicrosoftEdge_8wekyb3d8bbwe + + +```   diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index 059fc15c03..cfc2500c58 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -28,7 +28,7 @@ A VPN profile configured with LockDown secures the device to only allow network - Only one VPN LockDown profile is allowed on a device. >[!NOTE] ->For inbox VPN, Lockdown VPN is only available for the Internet Key Exchange version 2 (IKEv2) tunnel type. +>For built-in VPN, Lockdown VPN is only available for the Internet Key Exchange version 2 (IKEv2) connection type. Deploy this feature with caution as the resultant connection will not be able to send or receive any network traffic without the VPN being connected. @@ -47,6 +47,8 @@ The [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/libr The value of the **EdpModeId** is an Enterprise ID. The networking stack will look for this ID in the app token to determine whether VPN should be triggered for that particular app. +Additionally, when connecting with WIP, the admin does not have to specify AppTriggerList and TrafficFilterList rules separately in this profile (unless more advanced configuration is needed) because the WIP policies and App lists automatically take effect. + Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). ## Traffic filters From 8fdbfaae3a7fcab9e35b31f2ec79bd7e22bcfbfc Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 20 Sep 2016 13:27:07 -0700 Subject: [PATCH 15/71] typo --- windows/keep-secure/vpn-security-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index cfc2500c58..1896ec0e71 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -38,7 +38,7 @@ Currently, this can only be configured in [custom XML in the ProfileXML node](vp Windows Information Protection provides capabilities allowing the separation and protection of enterprise data against disclosure across both company and personally owned devices without requiring additional changes to the environments or the apps themselves. Additionally, when used with Rights Management Services (RMS), WIP can help to protect enterprise data locally. -The [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) **EdpModeId** node allows a Windows 10 VPN client to integrate with WIP, extending its functionality to remote devices. Use case scenarios for WIP include: +The **EdpModeId** node in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx) allows a Windows 10 VPN client to integrate with WIP, extending its functionality to remote devices. Use case scenarios for WIP include: - Core functionality: File encryption and file access blocking - UX policy enforcement: Restricting copy/paste, drag/drop, and sharing operations From e24bebeff929fdeb3e272f281a73f9a7bf02ad68 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 20 Sep 2016 13:31:51 -0700 Subject: [PATCH 16/71] update descriptions --- windows/keep-secure/vpn-guide.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/keep-secure/vpn-guide.md b/windows/keep-secure/vpn-guide.md index cef2464051..d77847b083 100644 --- a/windows/keep-secure/vpn-guide.md +++ b/windows/keep-secure/vpn-guide.md @@ -21,20 +21,20 @@ This guide will walk you through the decisions you will make for Windows 10 clie ![Intune VPN policy template](images/vpn-intune-policy.png) >[!NOTE] ->This guide does not explain server deployment. It lists server dependencies, when relevant. +>This guide does not explain server deployment. ## In this guide -| Topic | Description (currently just notes, these are not final wording yet) | +| Topic | Description | | --- | --- | | [VPN connection types](vpn-connection-type.md) | Select a VPN client and tunneling protocol | -| [VPN routing decisions](vpn-routing.md) | Choose beetween split tunnel and force tunnel configuration | +| [VPN routing decisions](vpn-routing.md) | Choose between split tunnel and force tunnel configuration | | [VPN authentication options](vpn-authentication.md) | Select a method for Extensible Authentication Protocol (EAP) authentication. | | [VPN and conditional access](vpn-conditional-access.md) | Use Azure Active Directory policy evaluation to set access policies for VPN connections. | -| [VPN name resolution](vpn-name-resolution.md) | how name resolution should happen | -| [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) | auto-connect clients to VPN: app-triggered, name-based trigger, "always on", trusted network detection | -| [VPN security features](vpn-security-features.md) | lockdown, traffic filtering, WIP | -| [VPN profile options](vpn-profile-options.md) | combine settings into single profile using XML | +| [VPN name resolution](vpn-name-resolution.md) | Decide how name resolution should work | +| [VPN auto-triggered profile options](vpn-auto-trigger-profile.md) | Set a VPN profile to connect automatically by app or by name, to be "always on", and to not trigger VPN on trusted networks | +| [VPN security features](vpn-security-features.md) | Set a LockDown VPN profile, configure traffic filtering, and connect VPN profile to Windows Information Protection (WIP) | +| [VPN profile options](vpn-profile-options.md) | Combine settings into single VPN profile using XML | ## Learn more From 7174ef3066d7b2f16e3933b8ee1347c4fe439b65 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 27 Sep 2016 10:01:55 -0700 Subject: [PATCH 17/71] Aman feedback --- windows/keep-secure/images/vpn-connection.png | Bin 93192 -> 96064 bytes .../images/vpn-profilexml-intune.png | Bin 0 -> 54667 bytes .../keep-secure/vpn-auto-trigger-profile.md | 11 +- windows/keep-secure/vpn-conditional-access.md | 2 +- windows/keep-secure/vpn-connection-type.md | 6 +- windows/keep-secure/vpn-name-resolution.md | 20 +- windows/keep-secure/vpn-profile-options.md | 605 +++++------------- windows/keep-secure/vpn-routing.md | 5 +- windows/keep-secure/vpn-security-features.md | 4 +- 9 files changed, 190 insertions(+), 463 deletions(-) create mode 100644 windows/keep-secure/images/vpn-profilexml-intune.png diff --git a/windows/keep-secure/images/vpn-connection.png b/windows/keep-secure/images/vpn-connection.png index 288c801b014e6aa20a983a68e4efcb5fe7002d79..c7d7a0d274c57b53d81aa8e7cc660f2e18fd6ae1 100644 GIT binary patch literal 96064 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%0Dk@C85ERoA&9$>)pY52A4StH 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ƃsNf|1-dw@U3fR9lhy;ze0bcjB&>`U*|8cUjuS1~+3>c0 zj`9gQAzm$x!>J(5*!IgT;VAcM=8U1mqO(`VT+EBxi69{T{LgaMV;+5-mDjkM0gc&& zIezNLfgkAU*54-+(^=*rh0A68rj2;FkDjj0wy`6K>Wak!L%w(BIB?y07G)wDDhDUF zY-W56!iJE?8D+nXhF#$OS!uL8yDj=?YPkP>y0(fP;(q`C{^lMQrafiu_M9x*icp;lJw!Cn)GZ*UR^ zu40F5`T}3NFU^w3>hX3z!8+^flc!e@e8(cYOxhtpunMIshyQ8EwPq{3ZlFm>fPU0Z zF~Q3$@EIr5^Uu|ChHL95uQ!g{5)-ZL z>q85?=T7WWr1yu&5<{+egaynF?PTH{sk-O0yKZlYfR?=eAp_2Q_ZxPs9xVd6&(E12~1gm^y@$G_o67eek9TKSkV3lDVQ7KI-&@7S6hvzapU-lW7ph{O2yKk`^!H7}os|!lc{`7hhxcg|F}xyGGD0da=ul*~&C1A&df3@lQg5 zTc37llxzhMP4!IxgZ=`RNHW6k65cW}S4s%4f9gXtBxRt|>5h8Y;Bn7Rd%$L931ie% zbL5zuo4~rYEb;gZtHJAw_4O}TR1?P-23zw77weSm>8sSG*ly%pJNb@?C8pcjhpV9C z*{AR%n-nO-Idz+BzJ1-};~&*oXG3geX#jdG*ygvf{}V4;g$-Zpi^eJa(l(cYFXM80#eL-`pU*h`v2c@@ox1EBgU| z3pxs>aLIgdFU8*louS9|KUBWd_nB5HY&`R-^IBK%9`=VD8O#a2H(N(g9Xs|G@5VVOtv^78aI$@ySOT<6u2sMJ^W`t0-`ZODRDIGo$wu zVvbJ5t>TwTq?^Z^r%)2`f_aW{&f{B2TUY9Cw$8%{ie&o|uTXjMeso*+6$i;pTlY`8 z0ajGdu?+sSjpd>1o9L^pE$b`j2D6s#+B997@TbW(daX5J@7)4or)F>*c;;}H(pyiW z(!gDgT<{X{Gy#m9rBx1Q7}{K%W2K+_>T1ixQ!g`Yofoj90wcz7PYDMXnz3(CCZj|f(YgmbPu9Vh}bJFhn28DSQM5|Qm9$sI} z)_u+e+TN`Dpl2IvU}s0GwvB>kvh0q*M-~sI1P1&R6{UzQhiNigJ&^Rcq+oON0VhK? z?@Rt{IDy3(gt5(d7rgA-&WCZUilzB@r{ja*-FT~A2YoYEM&l1>AM04NpcZKI&j#Nw z6rIV=#~p1ZX`wT-1egsu$7$i#KJlD#d_4+Tx65^2bt{$Vi;R75&^W0qw->GbEaOqeD)Ts=0&C4jY^E4HLu zJ4&ITkL_MV z&1@>YG9lZewoUk>#?#ew9O=y$&%h7AUVDC(<9*H+VkZK9rWMs5z!_s*xR6)1j=2@f zy?p*rKnkUcNvYnfXGl6Nnx*l31G=qgpdnUDg>L;#7PFDrnSd^*?`^4mP3`+e795aD z`w3{%&Ay?`<6)HFJOyjBvbloZcjeshj0F?}dS>w5Rp2SSnJZJU%tWTcVaF^B8Y2;9 z#1C1^@y}(vfAp2iXNw-###Y^Ou<|z0MoYTXMJ0Jt$&;Huehf@5yf<-W|8N?=w*d)x z^$)_2lbZD_1LX%Y$0^6_T9OTs_VLH-Ee%8bv4onGalKSaW<-Zn+q6CGqb-dze^Tmr z?;~Xs{1lKjKP@J&RnSczb6xK?^PXv*f*LkF3McD`hloc2ur zahZ9e;im%MQt6P|OFei{#mPW^sjLoVcK zp(1~jE7F+bS(G3ZSFZ66AM$>y^vhbN{qx33ZHa` zF_ixIaxXe{HqdO8de83FKH>h=k%H$7mxhl}DZd-9!2H+J-|K{vnaC?dwc5OsP=5^t zLvBUOJYhC6vj@V0&A7UI6oeKRM6fk(*ykW zC3~|@W>HDWgXcG6^X+mv=AA0r6Re{9yJ715vt^e3hhqXIgCx~4KQw8KBou&}nVZ|* zFRhI7OdLDxW^gtim$;N1pU1D2xwcSW3N-UI2l@&emV)H64!3ejKi_QC*jhoaH~0T) zObV*3kICyv`p)asip}c+vf+vXs-Koxi!*Vwab;6ckngszZmr~andkPntn$fVzh!Z~ zbi)#Vy%b_YwSK6zn=GdM-Uwil%S4*qp{gAaNfbB$6oXMUC{j(%D|N(zzR9^0x1>y# z8MvoVgt!rhI0gBs$G|0z6CVd-{LP|t5!qWW+Aa%v%6AYmiqsXdW^3G#_$P4l+l>gX zcaa&eE!9AKUs>MNSC>sV+mpSk6xHYx`DF&I)QeD5kEvIGuA0`X=jOTj0bqmKtTSFp z-~6eJemjpAJ1OX$YY{8kEQLkenY+&~D&UdJuaeO5K})ORsnmee#N}ueLGTMH)-4E~ zQZ!7orL@dde;^c_WPr-hBjqI+tT%m;A_KJ;p;MOLGfVCSI>mnzWUbzQK4WL$NS?zEhV)tn(*A zs@j`)w0~yH2p=rPw#M}KLfH?4jXesT;5iB~L5nJ}S+4X8^?rc-5l(eoGoatA;Ikmb z7HJS+UT!6!pA86`HEnL^H+SgV)rkDe-|5`9(Rmqa9Tl8lM{!p#{Uc<2+c07mDhrAA zdEMu%mrlY=1+B+6aLG7+3l&0pX}o$;Z|S8*DdlcyhIvg`TVfE4cYPdvQttF~W5->_>IBNXv!aj5z#EtJj z%DRY^#ZP_Ni{qy*#BBX!1|eR44S%0N9-?c3SGlx$D2UaU&dJZZrR0ATn}J8B4}&Jpr^b+7f*2%3}>NO;5(%Mj07{{?szo-qz@mlMfFO7w{G8Aj-xRZfrKWF-!sSE3f?U2yNlRc zJwCT!RA+F$|D3kBK#jxlz$+u+YL~>c@u9cgdhEh$hNbxjXIOqs9DG|)3oWCMx1aT5 zd0GprO3<3)jZvFdSA&)oVYj@wZE$ttX-v4=iGNSSK}{wJikHW!`;_hVUSyTk&MEb*JpJR+B+*>+uW+U{=~ z%~A%h#xjMGQAt32^xN)Hkpo1FrLa#4yl;tTwMS`!J~#VDwcEJq^X$y(e=>@1&*Y`S zta!#$H;RJa%S2{*;}-9v6rqP_vX{vab)DgWG&7gB{?TE}{O)2(kmoBNd4)N1g(%#w zLk$nS^wYWrj-y8s<=MKNHdD6|!yQbTtKG|UujTZox~$J~lgZ%i{N5J`pcNZNwd63` zO*YanF$jbt6$6c**gejHa`~-&L3~v7f;?zssd(TYSPfRCgmrX-otuUVn$=A%YZ`mA z{JKmvBTnA)mId7IZWn@#CAnVjp_v>xrq7Qco@#rlTlI;LJO_HY9o-qu3~G_Au`+)9 zPS<+{wn%jqAC{kd4o~LYATgfS#GB7o2a&q5%aT(i;<`^958(n=ok0RuUzIoVWX%KT z8dxz-4V#E!2qqLIslZ9_bJ*l6p_gAOc5$(w7P&<*B)sZ6M*|nhhh!Szh39d4VqP!) z5J0?MXp$%E=x~&A$uVju6c_C*1?jM+#@qOhKXHWa%y9Q7f(j?{A}qg68zvcRqc|a z!RzUcBNP)_$%>O2Tlb~-m{WfELKXqBd-TuH%VO=!$?PAMMFo6TcB>&tWZy#|Lzw_4 zDHMFWhE%1PvopAj5u5L45nY7zhH3a>?t5^fPc0)_BU_zacKLlwdW&TFcTA@`Qj9xw z45im<_z^$nKP?OB-NW8xLxf#H`&KI*f$*9-CYEL^9fnqDtG0sRU!SZU&t!1zpWt}+ zDo)uf4N5{>eu?zYReNBMu9U~>*j|G+1ujzTA4l(Bg|0rfN1QyPoQ7PH7s*Qv$7Ja< zl7q^Tq1k6XELECjBbwF>#9jS>@0<29a|dbQa+uORJqw_j+M0`H87S0om(Km93|i#+ST=HOKNso4@c&O|P8)q2 zMt<_?sBvoIyBT+S_;_L1qk6ATG4{e>G8EKQwfdcO5`oN`$(Bjm>w5sXffCEByv8#rOKU-vfay}xc+WQ8AD9oQlm$kXkX zQ+zkJZireocY5Bew*>MeS1mN19Xq(+4rmW44_$_x?2&kPJ{ z8NBcS{0DNu)5ptnbsxq{V;F6yVs=J-p-*it0%_IRyzQhCQTE|N!INXCPmERK-NAVI z`nopqx5IdHR<(K#Hh*rO7sAj-_R`5XnC=RNZ#OzLDK9h>N$e8EqoJVB%4Rz5jL?sX zPY7EL_R}Wm;%iG2Qz?IVZV9W^&C%*^KREiN);EbW4a+l#1F??~c`q)sYXxyU&x2a{ z$thbW_9L|5{bi=4$5P65eYwRy+#9Zz0rw_t1k5#C|vj{|p zwU=fzR9*0b^iJ&fcDW4zw=oukGOL3#Pwjk$9X*qDc()0e3Kzi%l+Rp?w*8*m>S|iV818!7_gIS8gBg zfgoYAu9@7`$dv=LnK__3=-k7Tp9yuBz23PqA}MY=oT0`MKvvLUrJ`kmu9b98*pzXe z^GM6t}xxPy@ zC*vqRp4c1FhM!AW*kI3dnMYWwoS+D{9ifnl6fPJ-= zk8$TRI0uK;Z1~>2n8LWZ!yy9>U=T0EECfToGQ4dRNmw0AeylTTCKd~ z5tNtRqFAv-feR4ACfaa0oba$yr0s!)z!r@X#;Qp1rdU4dMt* zN9Iou%R(^;F|Y5(Wv}6PZSJ$l^WrNkgtU}?sdci3v*K>yGRljD*RoAsu`6mI-L1Q` z`IMk<4rz6lYL&QaLJ8t&7FUTI9|G;?Tu2G|Thq{@% zWbW7bc&sm*dazS%=GT^fi`gQ!3;za>7x<9__VAXiS}3oB%bfzi+#7Fyh1-mdh*0qq z)Kj0cId5%8$&5Q8Cv22k#lzDFGcg~FmK1b~JkjlGb`HWkg~+l90W`mbw3x8M zdOoag!lNUO-WEwYB^#ODsR37m_r59&rze3+rX**Lk?#2aB%+uhZ5X zx}5xsLEUw7(vl`}@3GKW49ts~7C%hctC{F4dc7)EMy zAvz>k{XqCaqT{mt>~3WL0++{}fbYD61TDg`2yMj-HUS?ehy8Tx+HNY@#D7a&k%WK8 z&Nq1zl!XTV?J>*5*o;b2MhUpsX~sCcqFZ|Lr>~;Cnp_-0&3q_wq(`ITB_pqGaQi(a zX*b$bhIagwQ1vD~ifnkyIgyD_TVR9r;pB{E4MFtS9}(yCYpR65rBI0T%JdRT(M<5% zs!L8klJWEui}Te-Q)QwOI0}@vV75gC)~cv@Pp;(iTZ@}-{c-dUd#~f#9An4F7!MwO z?HF^)(#LJy@F(Nl{*`E|v`!M9+s`km?$|pw>K2oBys*LaBwB@EcO?QAmPWeZTYxgi4@^H8rM~KKC^VY(6K$))xX~aPK-@lZPP*)S&sLpo)sV3@cOU)H*%!yKn5h0mROXpBT#0ek~5_lO2 zc$zlgrgY$@&W&6{!~i;rf)Y}*6@sq}t)BP*=N08Vz;c{y*jqdDI*SdRMGT6W?-C>rnC1wErU;?4qfFZe9pJ(I5F* zkK!l=mVd-K@uj59SpRVrDx4XI(tmCJ9J01EaEo)}i0QNcp0YuMq+x5w@TOm~gD{wd zZQUU%gcPcAAXd~>$r0e|Odm<#XwK*wMfdjsj8LBinR?C191o8R?H35Up!<1m*L;H^ zLr{U0jO53t#=)V^dN`Y)(3mx3oZ}VcH46*!7BYJ>v{+Id%UXM&T7BwV?K+LW3P_9!y@*s)ZSQ_8Wj!DHU6!1cy)8Tu2+CE{Y{ z4Rr?*=p9s!Ob_lMI*xa><5uV{<=;MX>?uRO3cOL)&i!e~j*r?39YWg@L4Ezsm^@xo ziuPy6z?nO=8F|cpo9A$PL?=DOm*sHV@d4<)&Sm{`EDmIP0SrE4`Kj9sEjjdc- zP<&O=I__^OUnQBXvlgIMC9jv>{e1g#L+MtkSU3-V)=HcwAt55ndq91fLm{|V-imLm zfSu6gp_B@_kxe+8WxcvNX8*IGVp7mhG_Lg@3*7#@*HRq1jwwrKs2D|1*`+~Sb_L;% zYlmyyiEGK(d4Q;j8#56zL&k0n1>hQ>?4r}7Ay<2m6pi}>bhcGq3URl9Llduw^X1r}A~r4DWE(baNPSKM*@ z+XY`|>+E15Zp+vol1)C(vyNpId!&atTW_k=Pj?2#>^B?n`chl#(61lt;IERMkJ*1P zT`lEf>@aBs$VCPWe!Eb)u$^t^8(l2t>3{kdRS@cy2-%Ae6k+|WLC3u0_x0|>n4Vrt z>083wd%J~FSc50yBKQYdCBg}b6)9=imK{bElhK5T?KiNBuW?M`-!<%g3m<`VmahP) zX<0jZdV25xNx?*mi`B)+48uzV&?Bd|CYN--r$9c#8wIl2E5&=>l>^@1rl@M-4H70gSGO;|F?a(*)y3+% z(xmT*0v_8yBxJf*spFwS8+pT`rW(W1Xcs+owbrj~2{4vBjM_CYu|ik4cNhDC?N^I` z2mKQEO2N)(Sc-$!8kpZSCGBbPC3ce+z%3Z_mj|eEF4GLSo(nYiTTSsktcAK9_0(QI zqvgIW)+*kK3Lu=*M?pLrC3h_U9>b7la0+-@bE;~rh$t@SxJNk=hvINh6Fkf_rCw&| z`D`7s6kw3HWIajKfSpJ;=Cob3F}>w)H(17Svt^&!Gqr)@Y` z5$}Uk@c0I278vxQ*hNbX043X6!-|>;cfCX1TkH{6qnD&fPIm0q9UU~3og@eM!j@5| z?^ua_G;!ZV66w0wfbnej)wfKQL~b;Y?-4_im0|wF&zW;4s32+f*s)~3?Iu{n{t5}h zp|?TEetp%)Vbs<~CG~h~b4Ms6T+}Jg#+Vwh<^k-kXOV;>>ZLt8c5b;`e$K&ZT@hwr zyNOKlT1pUfzeFf_vHwXCsZYop+_d#wgzKc^*l8NJHw^)%>EyCHl^=werTeLLNm^}; z#vis%?8s%Pk)73k$dkm@)2l5+WcODNo2?Q8Kj&C)Y$7%V?dyPLQN0g~7eR$l94dIV zJ7X`*CIBH{6<60tJ7{8O+LT?dL(AD}0g49Cay~^Xc9i9F*92FL} z;$TG3<~pj;bUfJAw38cc4_ObKw$pBeG!l+r*^n z`^;*odfuo!^{4QSmL7h9?xeKXh>NOfuro^@w(miQFlWvre6$7NecR#ln34a9_1;D>YRG`e~ z=hA<_J4v5a!#j|#YFQ})Tg4&=R+ZS%vZ)+koQy8QmHWECUhvOFJRqqv<*S^S=xQ6DK>jVc1<5L z(TACT+QWQ7RIL+6Yt1x>fh!1OLXw&ZUHE=Ck1zyUZYUEB$e&~d;$p!lbT=MHCf$_@ zuTzRJzN>+Q7OX4NvAz_FPa9#$pE}{$|jjh~|)dSarN1#cBa!5^Q4!2XU9ZLQi23w@>1&m$np)xuDRS@8>@2 ztB=m0cJ9NVIluIZb@l{1jNy0H_x)qfdy(>2t97p{L_Sd*aTT^l@VNB7<5eUsDCYIs zs-y#c?iFSu{fO9RI z9L7-s?HpSk2gPvts>(a0y;M@5(Gp^`vOlVY{Dvo~g8bl0>;A@}&&Y_7U&j73Ah80M z2?9+oE+<7BLS-iAY_Suxx%8T@gKtVI;{n-ciF9)pN$Wj*_g$4qMt}n2b_TRm7>ClG zz(>7n>qJd13HacXrUfec{xt52oxotGt@+3;UP0!ml%M^Xw}HaTkQDWwu{>i*-5{w7 z5~K);gM9HlgGrsqJ~-sa_Y$5D-%hVWV)T4qhLShx$`KuA*IOy)@PTbK9w{j)_lL6q z8{$3AEv9o~)>~d7p8cA+e(3jf$K219zypUHyP*k!U@XqL{ z(i6d~JqtqOz)sN&Hy5{JGaoWawM6H6Os5ON3mNK@I~(RrBM!;ws8X2f9{YA{MxH9v zg4(0P2yt0n=Ap`#d;jqCQB9R98=(<0vo%G<9ARD*Npj~6u?be-aZ@~A``lyB) zwttbn5UH4(@O~Na-s(ClzWVoxfiQ!pi*lo>kEDiI%5+2L(5 z!iOd_H;?T^z1g*2X1J1qyw zxCSs79ayuKlf|FC8SeEVH(XN#WAvvl0;g7uCiO*;`pk!w@q3!Nskt2Gs!%l1=Ajpv zdYQ=hippv30x%?hpa{-|JZVxe2%yGmAshI;5jPw9a|Krz(1KRNm@-iTmo56H+pKSJ z*v|iVLLb=t(_x@{yge1WQ$}7*6TJU2v?Tp+$~J;k(W2guM5{FG`!whX>ZBaXvsf$! z1>gyz;G*VHusEfb0g*5b$%M-HitEpx$kbZO_`ONxZBC+SJ{T}AWo@#xDW8+mpMl#B zBUsR4ds31lzF-k<0bdP%zfau&>j(n5|E>E&owH9dHw+BW3^9}P918%3tzMJb98<@0r- zk59P_4XCsM*@r!65rC-S3^GCrCSHyaM8C=qUX9}T?|B$+gWC+zWngRlMUMhJ05~FQ z80GR8Z#I0Azq%J*;_;pCzq%HlJPUY(iP4H6?Z2!OpzNX4Ly(jb&H&Ih@E8{K>emkN z(D4=J9By>@i=8m&6}*Dktb%{_oU9uDT7nU&gWMT#{6a5!!sxF8CrPoW>rMX@Eb3j~ zYkATR4PQ!iR(yZS8mNnwk(3djm>d~ z+eDq4LF%+S+-1|aRuM2NsoS&e$T$1hw|0^3S&k8V%H^}VmWV^^%HZf|Ke5-5KU2dz z`HSq+^jI9~ac?uWz%EC4-s*oeCC(V1t};EEcJ2u5Cmo&vpyf2qlOq@8JM40w*mQj)r;k=AXpT5LB?eq*f>o6o3TRvPmlLQUwy9sE-t7Qm^1-5 z;);$dolL)zg}sGZ%@>}>N?cVHtpfDqNod~*HSajYlxX$B=rAK;Gj(n%3r0Q>xD2ee z@>lo)YCBXkZsTFIPS%6i84BPW0(8y*TxADn_9z=zgnQKR=DuMx)>m+Vs2WU7>@)vS z_!xK_htOI5G5U?byaUV0HUKCOzzax%$fo6Sp0B2f2e|;{aYB0k=nFTeAj%`g?t>Rb z<&H7P3^JZh`3AdqXtoPzva4g_8mNK2`_Hqxb)A@M7?hYm{_l?LA2tCl0)4!uTd;1} zz37B-#^^mf`yCwHbJ#FshkHrIRoSQrXZdo3U^C+NXMZIm1u-tM4F?=@gjm;y5aVgo z2=h_6W614a$=WQ`pBmHt>0%%A8 zOL+08QvCZjH4sn=Itm%bxlsXkKTH_@3P&7Ekml=U#7AT=w`m8-<7E3hn(og~*@U>8 zC z9Jjuk+nB(r-T{}SU*KvjXovPg9hnFAn`lYXnKOCZQF}47-kU72!2)(UqB4crK`Imq z$ol~bfh5_kMQ@tO@AyLY;e4dT>@dQRg!mieM_F0#G~Gv4mAKeso5lSn!2yK@5zKJQ z^hbkTDTW94W#-4A0*CMvJN9o62@q1u_2m>We$ZCxC|@g=&2a7ZwK;yKHz^>E^ep15 z7cn!dyLxi$N@ZbK%JHC-tEdNUHgrFFbba)Y)o1}7eT(y3&LL)L`@9}j>o?+~(IN8j zH~aC?7`rweB1I)D(k@9`Qi!rKbW1q9*+b6WL?h^d9i-UvgJp{PDOxFuzbhjx1qccR z)I5TZOu~3ReC+Jq_5618ehIbs0uVVPYiCsVs7Q_C^97bVQL8_ONs19$>;x?ZEDf zNRE~VoI^cp)iVgsF$vqy*-)0G^i5IX!z-hB%I)1ZPM73l^KIelr+ffE-*P{jhA4MCwoQG|<98TKosaiJZyiSob9wJI zi`N!%mb9r|{E|yPJ)Nho8(yLQdh%V!$>$}XVMJ+AULKqksJ14)7 z3d7!d&@$5{VaN|YE!6mFJtA_jL)UF?nlpnSe?)%&?BVZWy& z)LwYf)?TQotOXffUH|^^BY$J~C1)A^3rXHHv%9!6)Vg5zQ->37_OO z5u9x^EYGf*8g?^aDp+vTq~9BqSYTmoC!jKK$v2txJ$Lwh{#=Cp5O*~8n-F}js$&qN z_iL!Cj%Ohubp1CXk^lCm8yC!@WWl#m1y&7=Yh}q+c6`+GWs)u|PIW`?4RXvh^1+Tn z2)8kn=QUHT{qa;ogzXhojN4z66BdWkY6$iBYoZc33iECn&FE0c7EU*wkAngm*0d(; zcQQR8kQdc6(a5zXOcx!+N*$EZDRb93_)2Z?&G2C2EfJ68-dJ1|5yIhddRx z48IbkJDUiX=;lqDM9V}ZJC72>NGRQ!;9JOcd428ywS^DJ|&x8O3>85d@(RXVGg^;#-#5BfIUZh0?5EQ9mNEH9Uv zu%PQaa@+~-M2Kl6Zgzk_d5N_9ZP9lNvvpH+;g8)M%k;rGXvtK&ADH*;yK8H=0<%kT zvIlbe7_qXqb7tjqc7JxmQMT2E5?f{*A}T+-6H~}{vk8J2tb)y(M&4X?OYEK$%yDNm zZ>?8??=K?bQZNz@_q4tt3~>*wE#_7<;Zr4?$Gz{^M2A{QFva|4D(Upz5)7 z?y$ytE4G%z4?|b!+RU{D6rB^3eXB~?xD>Z_$F+GwVAwmm6g#c!jv44k%a=^3;719v z_V_+D!*JVo*qhWM7I!%#z*qV~tz14t6`#WU*o8plX1c|NsAH#v3x15f$Nwz!v?F}C zl8?Jt*r)lT*Ze$vLP9%I*1WHvvYYRkw$d-Qe};xlb}SMcU^e1}?7%h(X# z$?t}8<}y?NvdpayJ>yy~jB#0!!^_=UlRDy~{>N6XVn~nfKK@%F7eO0Er0WVY=_iun zN&K2lEuC$ff@4zOk*e$$mVYXnHFc*^@FVotj~Yh2kN9l6dD>K#(Re{p&wkhDFP$=$ z*_aA3ak}fd>vTF?uq9muc?vchiF_Dale|brOL@x0(8$PNSWR#(TC8-|+t2k5c{Ob?^1EZ=g3=)MVh6w7?B||x8C&E^ksbtU_cmd7 z@6sJZY57mph2_@!-COA{u`CoAJSS^NIl>N)^u@JLP4CJW=N=+MBo_I&ZP4N25Z{e{ z$;F3+?aT|`MS|}Vh(kzGwQ7c`^H(-yixx`SYJWySp5tS;&a6 zVn22`$M@^|Wb(m>(ieJbl7u$8rg3NEOlh|w*G%bB-5eap4%>RnVgI_*)7WbdLEtbrg2Dco8MLZ)XA6dE0v~X)M z5zn(H{*GyXe5-~3-(cqvj=S;9<%i&{JI_We!Z-9Z#KmwUyRd~?pd03Ra;_qB{`}@W z$-m+FXZ$G5r=|=CPFb;1><{nDzIEIIVOr$#%8e)Ci)U`Cvz+*| zvhm%k58$=iPDd~pf;*6jx9>h5PhWaaRXup@*t_&NhD8q!GKgF_z|HyK6SH^P2bC~hx57=nCeKB{9*21h&%Sf4jUI3VE*(P~q#(o*DV&55LwOB)I-bj%=FxyHcfr2r-;2DK?T|=Xp>>KupI^O+ zpWk^x!tnKxEALR)8Ti}@>~j2-*!JMFMAY~iq=V2T$sfL(pKs%85M)%|Yw%W@f33Ro zNm}unHhdcz-vC!%nkN=XN&IgY4wkP>8Sv3UA_XnEHi?u63SJ5qzIHXQMLTrtyD8?+ z7_Y)JC2l-^Kju#xt9LOfN|&H~S&^21LJ?ZLV3vrY67=3?KSU#Z%UK+mdCjoPiC1Iy zQ*OjQXWxm!Rvq!h(>Gz-nD17+10v~SI(iJ*Uai3@_9fmbB%Sea5c8(~iO&7DKu%#x z8F)st73?}-81_EvcI!Iw=K?)!Gj>H9X zAa*zAP8s94&m`e>nf}+0XxXVJwmbA3j6C*IbRV>>-bG1g+==?v=Y}Be%|@cefTc0v zYpaV&7UF?-uEDj>oq?NQJ`Xp(c#eLPz8!{uZ&=m7QL57KQ@_Kh_w0cm#(j!|wmSva zziy!rkAH&1p89i&M^Fx zRTevGNJ5J^_YHilSy!ybb;2)ymx2Qb?!z!O-BoJi zW&Nm8w^HYmN?%F&(iN=TjIX$SNmZEChwJ#7Ymz#T)V5`1OTgD@*QRzjO|PVZ=Uyzw z=JuMT@|gLP4!9*R7P?v`m#V2(EhtPZVVT^Zpp>AG7eyLHK;L1zpx5R*Vw(d`N0*JZ z#H?|@=&fJE#-2XR{>X|+sCl!C{qx-KU zeeB#@cIqYhcMJ+doarrefr5sXE9M!$Q*r44XB9i*^$`l*kT)OY{uL|q>QY)(p=Ewm za*NHsUZYxh%V!WH($J|`mERtZAH6o)0ZZr4M5wYpk>Xy@&3E?T)=#1o$+K zhh>%nmQYzS`fatFirepAy#a4^?$cgnp{La$U_j!u=B>ocXF} zzD}BWWgph1+ULyn!Kq`_0+PRL)`!%`sbec~yOKKAx?^{2vDeWkXx&Nc9HAd}opp@Q zK>SM`V?OYBOdsoGbsD4{TCSa795P^#@{ye_!YnB=m`7~0Qv0zTV|(I+chW@*y+`sb zE3dhf2`3*JCc7XP<;6uhn97l|=AkeWp}{<6x~t-p58JnzgDke`T*o%uF9SV>;d!w9 zvTSBBFC_gnuOH8kar0bL?X9+(t0^*z0$q~7(i_%kmd|v6{a$6L93TGriuycf1*E(N zvN5N4s%|fhERo`sfKS>a`W4SuFcH}qxfs}Gb1iE>jQt!f3)*4I+~1u#R7aVn(DQo( zc;kxSu*2Xz(YbX`Jaxh6c;m|7@$>~>qF?7tP$D8$`*jIBw`dlQ+vWf8=GA}Twab6S zTk?J0fj5gFT&!Uz7CW`-ftN1*0h{$6j>EP;74Kd5Hy%FiBiwT0vp986=WTbF9(EVr zziu2ZKI~5HzQtj9`LZ9e-Nt+9`I4Aul)S8FxbE1;aq9`s!X*uHZ4u3OgQ)OM)-8(h zvdR)Xf6=#i{fbd|Q_ka#Q(lsDs1~vm=1WQ!;?Z+Imh=1#uU`HOUb^H5ymHykc71Fs`1$g$tuQZ<5C4U}2?<4eR*I$J(&y^n@D<>mQ^2!PK)>VJ#xmCz{oPWSA zc;Jk;(6)KUDpAe>$$+jy@baZUV*hQ9OA8ULKG5-{$)##muZGtmzLEmBKEoT*6rSuf zD?(9iui2=UmX@Mq$wGKCa}f-Mwc-ZjF5GkccAQ-e=r59@Gc7O8(t)=s?Y{e3VSn2fXWmERQ9*=@RE*@9X4XZjQgASFevf5oyQ zlrEl!?GF1t9iXa(nAeGQsaVAIq*3U)(bmYxFF=g@Waja&h@mBV+^`I6Gex*$WaXh~ z{w$PNtZ4b+z_k0I;UaMIF=fnmC|g!-0jDd_f}dW7D;`F-O}3S=Aw<0*@Urp|309&~ z1TqCUkJYAKd-c;^v}gfONnae{@yQ^!br)=R#6_UhbK*}QR|#4boDwD~$4`mRjC#f-myP%&H^wndElDyd`R|M*eE#9dyz zb?+s3{KEYt&2#YdWrrl|ST}qx1BjK?F^cDzQzzoKBL-pW?_c5P_nuN;GuC^hH$V#1QhVii+3mE?4#%M()Gt< z>AYFm?(og^?zhl*kss_1e7&{K$2R9%8 zj0$a9#MxIj&ufh&a)M-$IY}{n5X}W|C8!QdQ1N!i?y)Js6SB%@s`mbdjET9~B}FPSz58>yEcS_F5E5 zS&YRK$dn41rvP*%yjLklU;kHreSA z~?i#KxC|Kw#nUhz548Kp~^15Pb;rsrz2l4mUZ(_*KhhfMr zhigOr#j`h~tgK{(Mx8DunHiZPOmgtTRsTbVoX@a*j>n)K4iqsz4e#80fu2LEbC#2r z<Sc$R=TcRK*OP9T_I0~A#)DG{t%MU|y$tSwp^xtMLjQa3d89=%$)&F^)=?NSX8#LO!LDZa=lx%Zj07k2cUA{4CngE zev73nQDEk_?kwB-V!^a=s3={k*S4Z;nG8IqqI3VvwVb(F4y2W41D};!sG`Xy!g=+6AwB-@OF8ga6C3Q@qmUcnf zl7d2Z>3H_iL)3kRb!_0ad*P2SUK6qU+Dht}bowGrc+78JxmShd(7le8w&-v@|F`cx zPp;u2%{N{LZCm7cS<;U1d`g!t!ZVj1j5b~SYdf*oZbzZ_R(s-yHy*;|(cem$06GuY z0t2?$Q{wQUU9XKbOn+H!)w!3pojf)z$D2s|H+ba18t(bq|4-WU_b_%MZ%{+p6q>=9u~SPx$?vhol`mN%N5glMKIK!uav>4JROwnT0L(J^>v! z+7iFL{Q%y6a2d z3g~-JdmRs+^)Bu`{dKJiPk(k778K9byBlm{ydpgL;WFI@Mo;_+{~LJ@j@kJ<95Ui$ zX>X)HCB^GDG2$6zRkhu^yahu*Li4!CAh-1)|(x_-|s57jCgmbT>UKR>`7uV0Ft zFYYOyUKn{%cNKy|dToQkoE8#YOzNxSPDFuunZ?Eq0T*ce~(OuJR+6O=XWf2HMZ9U8|{Kt9kAVD=ZTo?DB`;rwms+!?D)S+(YE^ltrWaHnfmbd zVbw!Ea(s5M{OB>g86ql!Xw$7Pb~^5Ij5zWF?0EDg=(pwW+NhTnEzrhgIb=B@`;{## z!nTK;iJgwU9NQoMf7s#Zi?Q)``=NN@9JLzJvXpvKUMnh3i}@hwkBiu;Da=`6b-FTE zCke~Wa>4X*>f<`%@bfiYBmZ|1+HG~PG)^8FJRB+=eJA*(W2$+sycihyRhStjC|omWmXKGZ14aaeBX zxBAtKci_usZ^0MO+=4G(x)&aQCi)KB)tN1#4rsw`(`_IU!D7st@Qcu8|#?tvSFpCe! zO1<_muWMcsiO&@-cj9+e=wB{VP^aoM>l^Dh-50h$>|E?{)CKanNCv_O=q?-(b3o2I zRlAO{o_cASmP4ct<9xZWLhUdQQRXzaJ|=y|H;m+4O(Q`(Z8f|l6r)ElwuN!MVvQ?A7Br(T8KPQFeb z09`O+ybcoj4BZ)4Z60V2PQy|TAAI*l z-2cusxb4-8uwcm?TzB+iIB=WeRn+>WoKcw0TrfrJSWad>?s)4${5}0wjpL5jFOkp1 z(ymhet$1#!HQ$f@6fb}Mh|Z8vnA-wB$nvifzrlbmn<3#!s1^Fbcdiq$`4jFq=_Pfo zxbc`L(YBdfTPdq83))CiAZAU-s zS1_#a2o2Y+u&apOupHZYNc!7xAL>4Ia~U=1Yn{cUL(8rrb~7eDSRpNBn%9ge#s zj$2QB0f&w_RrjN%nwdryk6!Kj}io)s-|87dQqUO9Wkso^pGI9zLtt^&lvUad58M zzr%7|T22>*?bX3v9>&&u5pJjgk_0^mB^}}cJ>pPF3eb0?>&_xfbKu^`V z+OYf=G;4|0UHfCo@82W^un0jB>;DD|B)^rWoItVdOrX8D9Y0r;fTQtNc;0%(3ai}bH1`uv9E zS*xyn<#!Nasbj6X_R|3aU12z0dh@RHmaAjmy?US4-&A}=_D*bBWycynMKl6Em%S%G!~wnTpGE|@=kyza~EM8imjKAY(PDk$g6 zcA4iClQyTYRc8zwzL&)BLr?~PZM*eVvEF^~aCF~zD}>9X-ITCxx((0=!D&cHp5nj4 z_%nhFl1u3g%UC+i1I>EJy7K-n&*Q^iUdHF6-@+;P?xpqiuRvMqg~Z!d8bYHSJ6p}EbBjWjt?x7%21i6t>!V~NllgIuYM-LD}(%* z3n$637Gu+1Tgw0-4+BNClL>Ris1>&^;h*wp&h>EZQU??O4nT{PdIsjqO3d>51^jr#an&Yi&#^acs&c!wZcfk&W z_rjL_cGUg!V3PEJH$%_)?-{?TfKR27>ER%R7U$8^e$;ha4;(3By=q}6lji)bcMQ@2 z`al=fF;9EF1oVdZDsL9oC>sbVAldmXkl(VMxhJ&Rl zj#HwU1)dgQesiQtfy+v!mS|~oayb=>9E6QDtvBod;Uq>pHut<`N2v}A(eu0ql62-~ih!4ILXkmV zNSBD~%&ZIq0@5i}RPaDD0`*E7B@y!59WHeQj~tT?5TPHFBP3i&|JbN>U_FtQQy`-F zUbT`fT{IUzzI-QgnzhysLM2jxbaw|yXUgA`3yeDvcaG^v$e=|A18(UkIp|;U~D#&(fYP2jgT?uJ)7 zRjof#PwFan+!m~)kFS(ssh?bCJW=T@JyFg%P4@s1tURWKXWBF`1upwym1-GM>vS^z zS@$`WoBWde5Me2Tffi=gCAv;jNFC#x)}KFjtGY8ZYu5#dkkk*2ae0_$k&v`e$xF+$ zaiBnV7^bNpHz!%2lXXn4k0fxp0elLcV@1g_J)}bBzq~@53f1>fGM0)@HfNr z!@)Y;KvLIjIb>fBcu7fUsak)X0j@I#b@SX-l7_IhgZ;W}f&+&ihh-%(3_Gh8wmr8! zHatv(8VG%?nU6lHH@xyijD80p4hoWO zVB;fKEwW<$tXJwP5s-_PT-ZS1>98~7#ZQO`WI^ez3FuvdEE;* z>iU;(z=aQ?Rp;JX2^o*>!wVtb`gFV;n=^c*;$k{eow^G7S{IF-FVC5s0y`PTNoXmg zIOZ*GpENG)AT)mIz%}k<{Jf3K4ytMZAo!)hQ9&)sQK>AtUKV^JY$lKT0uP_LGafr< zH*FN?>z$FEqhff!^Y6p|Zg?3-Ui$)$x%o8=+xH~3RBPugafG5yC(gWLN6c$f)jxq|&${LFpHWl_ER3B)O&@hhCd# zo#8cOnWYt*^O*9%R?aQW+v*_^Z`}XCU_EWuYp@=l&oFS`va$-ak~DEt%2L6 zG+a@Rk|j$u96v12srtk8=m1&1oplKnS8aL>M$gT6!qnft#=L)~sT&9Vsu^wt45QJapzxctq-0xV!{I_c>8SfE-`y$6jaOQC-JwdJS72c)BwH4g}P)B!}jI zX$wTu%V2{8e@-i?86~KzhrqVc5sl9JY9#I6OlR;bZHJt!vzl#Q+_^K9m0O^O2A*@u zI6&AAP5t9r9I9Bb?&PB=VcbKcIfZA zU^*+L&m}GL+o<5?Y!xhD{QNrU8{M|crU#(E9Q&uSpJVFWaaF#~wMq4j8FclMvdXF9 z{#i6lEzX!Z*mzZjODnJQ7)=5kCFxO%drKO;>s#?Mxkm#(JgB?{dV{?DA(gK(92K#ivOYT%wJH^o zW_C0b2Q{I8E90XW{roSLULY%D2g+I8)#t`sx>{#na9 z>jd2p=$p(k(y`Y@yhq^d#Bw2`q*=SJB1jiu?04^@WyfCX-%n9P@k0M%&PXx-%U5-3 zy5{Y=RF`WxNs1Q7bz=3KDGJWrg74B7EOuaZk z?E)>xymdZn{4d(cGQVd|{8MM9;JIeWfP{m`KRNlt?9h>6xp27hcmdu<=h#T$KZ1ye4!3!;mMTq=d^Wo`5RN{ zcj!4#25VFC=a;X`8s{NzwpHVP_z-g@|ABs6?&@4uIbXSmwJ(9TkxnXWA;;qYramy% zTz?#kT`ipzX-+!L1I^hr=qmAl2j7B=54jT;9&(3#ZpStMdsqZpbM>R8>qE+AV$I;) zWak=p@6a1J9Q%YG>ykt7!s&Zo1)s#tm$&d36z_Bs*?Y_X;j+W;!9|ju>m~d~T{qKu z{BPo!u)OmjJ_^gjcQ_qa9{GU2=p`#7N9)?WqFMN9{1@17n`702{`2H7Rk*H2GhKtsL*-gLxe1bIt!A#g2pb zR{wOS|MNfJ(!16?=V|lCV^PWcl@1CTi@N4%uU9SLt9CauSiEB*z-TG@?#0{j)Wrwl z*~<^bGnXHxQ_=Co4x4Yg12Q0;i(KG=!}rGg>0|NEJ?CrKm#;n&vnTv6f`hjOC4)r( zP!u=ggW)Uz&s=&4UcB}=O#bZ)bnG)kXUd@Pps-hw zkSt8>@Cw^@mN1)O!p|S$`74iUwy#2mv@#6zwzrO!8Mt%4k zK6v;tynW|6YMETw?HZmJ8v^E)BQTtT%h?lnZYhfxQMVb1hvB?(Y;6rTFqi}Mo6q22 zqMlUHB}ZdiIlS(iYq$Tl`=|xO<}% zANK1xXc&BIJ#l7zU`=#Mxeu#_$GKxvClZ+DS6{Lqs2h{)%kUiJ@&Q;rP?(UxwU1WU zI?5d5kA^GNJ&e=eakd-Qu@|mA7GuAEA07K`CV9|F^0&@WHoPxFRJR;v-s$-tMTIX$HSdjpq*Ns zNcz~Gb8yT~o`;UR{0PUKy8(Jmm4g34KZH z<43=~f{%ZFO+`B`+;rc#?u9ed0?o8=R*8!rKZZxd4k8el7Ft+e{rXW&1K0C<)ACFB zpkPh7o(~1S_wx&Ak=I&}K?^p^9rver9Y1rlhNbWIACrHoimNVC;+k$Pw2ZTEzVqYr zxc@1*=Go4h?vE!wzFmbgt-h?&nSm_qxAiglkRU%JhwO{PMx2VX_PItMc6{l} z2laui5E*aBxf`W@Q!kdYh(p?21^7_~rQ zyUr-(+|m*!J04o~@>{l75lAQ)HX5-%29G>Uw)0_@7;^NXs=D)-ok?EvHu}^$3o7SW z=5d;}?J9?jY6nGFA$ZH2$8tI#?U}2fgFJlM$johqvmXBu`O=Zo`p1rP?=x@5PRC!7 zbW;(rDxDJ_#Bv34)B?)1ar!&H#f^TXJSIi#UZ>xJk;hzy0y!o{JDD^2FSUL#Ugjr1 ztkg5d{(_gTKhC*5&9u~l53JA!t*~`RwM_9`X@|-ep}=d!^G?Brh7UP$c7a$O7XJ+a zUcHdyz0Ol!Px5oo=;_&nIde(%4vevyf zS1WXj_C3+EL(eKY|2DrB%QgoT(v@kw%fz0i zUyqHq+gIBKwk^A!bTxKA`C17p^-=!u+!l@h29dI*PW?^RF|ug-1iX2Z)G)awgO=@z_auiOe41qJLqg2 zc==PBCt9YZL(gf^uIf%n3YH9CUK<(Ybae&|a-I0$L#XU4c&(f|!Ll9K!C-ESHdXD_ ze-TT#P?()w7Ppm=PV+$XTF|}XhjE`{_<0?x{CW9VxNNRm z7h${Pu|{0b1wW7fN<|?1Y^GLHDjr_d!&EtqlJ?hZ18~!))Y!&N0k9J{;Gn!$u z(+e@=)LcxS^EZZXygS;7_+~kO`jb1W_GfxO8TC5$y=o9{d-Xy|mq)Gg{C?u2TQwc2 zu=`y#LC~T z)P%PsX}Kj7l{Kw;wc*?NcnQOme3;0o>|967PR+E^63!>}=_~1UAl0za(^B=oT^c=qG( zppvI7$M9!JLvZD3I^7cmcVX)eRUJ`HXaS>7HP2K1p#`;Y%kgUGpXQ0=u?qJ!FWza3 z*W<D=$vic|daQnsMOOuVRPc!w~S&lK9^^<%_q&1B4Ch1+KrI+T|&yq%6|&!+Vzt8%Dkg{R|>XC0T~>pU>Rfj zNX>SKS;*<_=*~fbo=T6#Dfy*?>l(-6`8e(vf~@94l6rSA1AK^RYtol%ANdqNOuGU(*(~SjV zi1@ z@g3?T&4CEp9L_K@YT|de{q+lVMh@1~`oe*KK#uX^CEsDfKVxvlef#T_ehr^xGiG_q4* zXT-Qt`Bz&!6Rl&l(^OX-lXK$v(V7|%QA;Z_-9+BH>pHDptY>fEeLbfC`5l^d=&pAI zYSy8e@cKA)tonMgj;XM%RhO6!ZFg#|uM5VJdWNH}ddYP)#WUe~rSgX#rit;?Zg&_{ zsKUvUn(5Iv>qwubB^9rvX*uysBs}-4EuIPUXN7Vk;d$KJ?Jbv`u&Y*fDWKhI=T3jp zZ64@`AZ6vv3gqf{W59m2NBaRPo`0SAwbl{3NvusMh-rDID+Z^)JO99&MX+C~zRwiT zd~@JaAK$KTZ(JMVnQ%srgNC1|zu*1wdFhi@G8;-G#RzF4de(ccpIp;3Dy-sT* z1&{IXcs(AB88-?2nkR7FKHDVMt{KPQ^fERby0y*&zQzrK@t@Ed`P;`Y;Kw%}!eLiF zqt6Ze*Wh?{p_QAWdeleH3t%lF6e#Ag%m!6iF5E7O=OAN~wKPrDqsIZeX?trAJwF4rTA*bxtRah3CT4M^%BrKpZx$1KlC6I&>H~s>tu&Z zSBrJk!SXgZJ8*t#!rQa#_)R>o8uXEyFnJmVv;q#_WoUBknsMY6k7BD4yRNbehq30Q z%D!VUUN?f09giMI{j{s0#h8}vhN@!}(RAIRC3j_a?u=^qXuuaAzKIuabl&8a&Rp~K z&-iiTdC1A+-GB{WKoiO&&Jw};MQe0pSx6~nX?bplbm+SrYTiMSWAXLjb%bB zabL4Oz$NkIZv5@w{qK z2L&>hAM~UvF}BzBaI0D$p-|-mZ;rrg9Pvyjnj0z|d@zy^9#(zixa&eZ6P}OrKw5cyhYan$#<`dGW;(Z$ZfL&(`l)&uD3 zr&F{VMiar6h+$cF&*V}y^{NG&L)I{ih9@45NQYZ%CX_WG!MCW{AlNV(6dI9v`O}GYhoQlyD&!U9q36S1riWIb@RyhG8@aoJlz7%0M}Cl55r+w>`XR7>$lI zQ<~L9!$?b{pY&(1c!#K70y^LdBVkU^hS8wV2ilJ?G86T;SQTaR{r*;m4WqH34Jywc zMR6AEV)_${*sMuL(}H(gf@RB+OV!j%KnKf8tm`$5Mt}p?#9DZer*(LSWBxJ>qfuZV zS`zjmuXLibBF*t-jw&_B6UO}%>H%nX0>mthzUiHmayM^~IyXLSiC zqz>CC*f1Iu-pE~F=7H9E`fH?((9r`0wOWHT4qEi(RewD#PTGVHgbu9XaY> z_xzri>SwFPhS7M~JkW-b&LrT;$V&dMrd|TNFtNlQdoYX!hQc}I%}2SvRdUUm6Rr$u z=WRx4!)QEg9%#czUsyjYD^`5ws9v=o?)EzOo(#iiFerC3;w8w7E>5mlbIS62%U|mZ z4Wlu!d7up=ec?m18F?*|OV!k`=M0xiS8fw z7ne)wrwklxQ?FX!HU|#FXcRm$a`n3F@3~wVVI4LPXu~iJ!>9{aB93Bj%j8lu^%BsF zvwCU7hG8@uyz3K>MiC2#ofY*UC)20#nS?fs#)B>#-oW}X3x~}EZ8SCFE;kAjYk3~% zwxKDA*V7BcFpSkDfk>bLp{zE^J^96^_=w6U&V)P5v?r!!Qh^Htcglu@wzX^%BtG;QH~@uwiUS z(B;DCaU;X;byn1aiVDs>YaY;s(YSCH4x0zsFw&7kA_4!}evt~_4Q>w+8b-sSqv2>A z6``oJq8{YuWNLgSp$(()uz8>jBYojCcBLi7$)#%QC7@e|rrAS;hSA`N-1W(5I3qu~ zyyh$l`c*uycyr1yjE2JIfi{dZhKAz24#|aT>QxIW!f|_u&@dVpK1AqC1QCdrC)cbw z8GesMXqDJ748t($#N|PtWNLDuntBOn&LL|w4)j4YKeW}ynSN>g7K}`NG!jK5RR4LP z1Fp#Wo*fMat!`H5jCFy{18o@T3w@xo^H#j$Td&?=X_<7s>4M7zkI!Fc2j}*9;qk7o zV&4U?FOU>|4!oG<#YHGzwm7+F{enV7fL19Ix6lErfoi&A*5zp9Zg7k-}?85#92 z(;=OEHa$I{-BM@yz*6;x^`P+tY_O~tWlI+&ml_tg)PIlHukGA&XuDUPFKp-PYU?~+ zX#=Hwti3I@2fDaqEzbju+;&tY$%RHlPL6X^PX6_C zlrCAge1k9B7R(rrS>s0`zTVAU=|Vgf!MN|=M`_VKZL}yl!@+WV{ODEq@Zl>QOF*qo zF`Z%hD@vDQ!cQNevTT_yHw4T(9`~i|j>Y_GW9t+d>kGWv!I&Fmk@^db%zz9!iV8+_a^@Qi4LYYK%D;9kC;7a^m66fE5D~qo`e}=zDFz~q9M6IJB7t_rs1!z z-a;gn(A9G${h|4s%JV#H}a z;$9@{JR+pIZ(M}UtZ}0-fBHCCY`FYQ4{RRjRfYX{d9W0rh}4A|P-ImE%TO6A*WWdv z_~JgXcog~B&9L*P2cTDnfvY8=D?=41tyos|seOD3&dP9gn6k=ZM5X^;8Bq~~PB@^15z)-Uto#@fV=#1|6P%7F z4GQ_H!of{N$r60?^1WELXs%kN8VYvkf$Y5XT0A=>q%64M^VYxa6}ehSY_xx+5mN3G zv6zUhH+AsH=1$jkgwSPR z+URfa(_4?~9ih0(gE8N{i?Lt5u9jpTcgEkp;G@T`#!?ZwT(>fqrf4{Xao@g&Z(q3= z6Mp#w{)`$f33ALC6UX3}cOOS2SgBU#qIom$<#V^mz~EawR!qdkAD_K~Nk4xogNCMO zg*N^hisuX|x99A4J%;w(p-RM3WcfUP9J9;0IB@t0`a30}DV}%P{6PHQfwzdjE=RYv zeQ^5TS7Ij-(X|EW$|xycioLcx0=J+1B5peV8QgsQvvT|qC=o$QC^SRSAod=1q=b11 zH=pnbz2^kdHPCI0J=c>+D#_s6obB0X0XyHe%%8hQlw-Rfx73XHQ-&YyX5>j}@{))Sw{ z>3dy)42^eranJp|l5YnNKOXzZ{<=>7H8vbXG|Ov+(A20!#xdqw@W#$y9Rb}l#>xEPxsaWnhtW%T+-T}3N=pdqsab&tQ=>Xe0;Q={0phL7zc$L_sNntYu=({$K%V$s*020 zxgVj`$0r?jwyev@W_q3UaC^^9N1(?h+v)y+tX%!1I!wZSnSPB+*84NEb$=csL-Jp5 z2d{)woSgU2C;8^2tx!AY)G?T6ypBHUoOw>n$EtM8cSiDj^~39(6v~W`@n~9-*MI;p zLC?OOH=!tU(pjAswey%FnDM2;Fr6uw?iKcz<2gv<;PYu&s6z9lI`6f^Po5voLHDm? z?#IT4g4gYe!Lt@#WR%bM`>#)s!OM(mGG zcR38h4?Go1L;x%3Qv!*zbC%QfrC%GyMiD}iO+b_huN zX-!UDFd1f`)YA;EjC_rY>2KF_V=S3J6PX!44aGV^*ArLCT+!Sy#0RI?$C45wo5Pk@Y;iV?p{wo@*_vDlkC96 z%Xvxrlf1s##x?N3so~hL=7FXdqd=pDm)6d;WyxgqEh%4yVf}Z-K3g7%ijZ?#o&CSx z8^8hE9FKjs{vUEO^K>0450+rZf%~ItyFMZ`V;DE%H=KO;o_OZdyQJJ_srY1Co$sio znV(de!;uh1Y_b=Q+uYYtK24NjqcE*8@AhMceKoJ zE6Wk7_kOjS&ssDUk9}}6p7`iCeEZjjxb4IjaNI8EYZ{r)%!924?u0=-h9M^B>Xz$t z>YkTkkD-U*=}+&*L+@XYM8u0r54jIMi8D3Ga7bu)<{K^P$yFLJMQbWQC}=72c}}T( zBdN4AJii%+-xTs1PU5XAe^YQdRc81}S;@KHpVTXjA)bj#@^V>DujEoS^=gechwQ2$ zrCu7}r!G1WHy+pr&s}*0N|!EHF|>9NaU>nf$|`l0kDt^&3hcR4{=n0h9*PIg*a?rF zy9bJjinQRc<6Ag$5^gzcARd+VcO5enzkTw8c79ANEk5r*cp2_Lbw}KP(s2Cr+3Qr2 zPTaL%$3A<)Xxwr1W|;8P$9VOI6Y=m_yWsZ!ZH}TPMJfQ8Ub-=S_v(Fk;Itj^$l1H; zu@}soD8elplYaRO&s=f{B9Tgb@yyM*=fth?{TmNSbK&C7S;-V?T#H0+AU&)*AkCXZQ8$fw}`bP;*=rjzmQ zJ5OQEmv7^NQ+L2U$8U+xpS?vbag4us(Of)y&aRm7=O{U+&G5*%yJPAf->Tr8H+3vt zxaJr%M*M0o-@W2;6_l_W1IZhol0>H2jRef5uG*_fu;c<4-r@ zVQHM!!n9Wjm(;aW2gE4y&%hSp&l&ghYBX^_>g+6ISV{t7P zyu-u+5Jh5end2V7J4&-A{*K50Z(l7Bw;eSEA3l1OG`w-$E&=et+ppn4DNDS*?>%x2 zf|WrnD;!9DEA{SfDc3A351hFN{*k)EGNxt2?ZtPmKd5cMLuc-cFQ2Y5)F<>lJ2 zuPn=0H_DdG$Ne{4gon=D&tSk-dF&vO>DDyzGjimr<*Q^UVwCsk= zK(>mm+Jb3KU^$A2(EMTS2k6srV-)7J(E3Q>)vwba4U?Byh=Q!Rlc^Eb>{Gz0g4cm>XX^kB_5YMN^3G8z*xE^Vaz z(>#)Na4^!XO&?uHk?;3qqFdYE=-#d`+BNU2>lqjGsxYS|vNLj#m(@)3kplo;GlpXs zZ(Z0<*LRipn8uX&<~J?%om%$LczKr~E080{qo#4mAjP@U&{#D;?((8_`Gn+BHT4qE z3qus9|6M6O(((QF@$>3~S|ANMtw?`<`(CXARX?=A#p{lb9Sh-w3`(c*)eCoFz;^rN z^oPI2!IwRT`Qv|-#@vUZIn(ggUFYJE%bvig_kWI~Z+sPhefb6^{P>ZIzaQUz3`^$C z#A%Owk5eD~5}DH1g)3wPypjgp>-VeGXwt7=V5j4*z*&!djUl@pj?W&v08tSHv;xnR zPPGV~t06OO3~0`1So~RFofk>svTo(!J@fN89d6`Z$N^INpTFE8JQ1Fm@ur{421 zdTlxa3ua8j8+V+A&2~Eqr#+4j(;o6&BB$BI*4eC*3XkU->kCe&r7J3#IV#`5bXXSSJ7e`fW`3 z{(YSM@b@@P@}+I3Zm3wYKu5~C&05Mi9Eo;4HmYj8(g`nJIOKflO_U;h_39x-CI!`$ z-@cam+(CuWPj5XY4e#1@yzQ+tFk{USN&yq`@ch;m(DCA}p=ytk7WJo$mK>N!T`&qB-7x23A>er89;gWgkqCh`qLh(yd z?jIEX#3S+WH;<7m!gk)WS@?AHn>b|KQ`OyrBDN+84z2|X*l<$BQ{d)g=GPL>g!N9^ zjN~0QwmHr7TH&5kU&Yl&JgnUVPREVMJ%v5DJY3VoygFl_t8vXy zkKp|MZovt=UWm>6Y%hb8uDJh#5cz(te4Eu1&oJbe7H`n_T!0s-GZtb_mG6?nY<` z`S1g8V|t`uCFFu}u16rZd219eUW^`tw?$BHH!7Bnl;B=tHE6zRJbLJzT3syY@U@>h1Dk!lSbKv z8GrqxcYWTy?;;uWJ%En=HWh)`O)b*R+I7X|yZ=uu)Ik~OweQ>=Ejx6_;wgNH&aY*U z*65JbTXt66`fn;_dZ2m-Oc8Os$&Lq09Gx_-ErxBQWsE+;98Ayt>uYo!w6zM-lEn+8 z9PNi*o9!rNK7xF|v>nN0E{CLd=HEX{-2yfqd8n4*ijpGq9lDF8s~0B!{-w4D&3qxP zPXk6C30G!;)YT>EErUq(q=4` zbL!Yn9@`9`tWw~!a2*eF+uoHSdc4mx6r(1-R{5T?s`n#L5kC-HQ6sv=<6Mb zV1){wc5;2$1~ujbY{q}X2l>v~|JLLZ(5w9bY|?$pwRZcR;_URfH3|i!3Q!ggJ|6;H2FzMpkAPKK%97sy47D6u{lu_SN6h z=S|f5Rol40-Dm)tzw{rx@Z|&8y!UVn>OM@}LFkG>a;1H!SvR%KO+o?8urudRLZ+mJ z`)JVQVdytKb>2AqF#dC#u-k>W;_&-)uuxR8pz55K$FX!X-+0W@%4O;z5)21%+5>wd z7^x5ue1(egvmQJE=RR~O9)JH<9JJ-hnooR&f!CpH+g|u-(q}mHf&KBy*N;fs>qT+- z5)AIKCGL9Ta-1Xid;N>2i;zA^eVQx7a2AN8#kV_dwh1Za8SW z6RO=w8l4p{biD+0z$F=7t5DPhJE*}s9)tpEte4K8g%%xqp#Ro;)>ZD-7*-5+V0Cpe zv^KJ2QM9pR=(oe6`0DxF@X%SiXs1OBPf!FNA8MKT_fNR%xE=JC@O`K3pihfeRF=yp zgrOqt*eN`6&TjbSy(je+>A#J{HN)jU-7F|v+3-{BC8YAYq)@OkWv9e=9G_tN17~PB zT7q~cv;_Sdv>as?v_#9EgD`FMx4a3ezKs-=U3v`=B^=kz^y?SyzD0HutU#l(N^~ll@~LCveqddOncuQ4&uS(dhUTQpS@LndaF8n zrXegHw=?BkdO;s(KVwe62eH`M9NQg+(Ot`tmt}X6?J+ zg=>z+TX&zUWu0|xX=ynY&z^#BUb)+;6KC#>hb}xAvnPy_V><2)%NEQ*a}nc&$Dsv; zch5xOAryD4q_tsPW&2jps*_q;Q|V*<$Z6gZB_bw6(w4ZSZm|CFI0-pN>9!E|WJ#1U zU0(5e$gzCR!;4OPlRUQ6A#X;m#+T}3DVjToST0^P2a9G-)Vnr%=da7gnr9sF&z|tR zwmS=_{jGx#zusbx>bi`q9GxNOLFS2kK7aBm?0oFy=pqB+Xr%53t{CT^U%shzm3Jgq zcM3WW)R}{dWMItmW~cdFApCT$P9zt1Tec6xIQ@@uMbxhXGwT zLqSe65x<+LWp?WPu^2V!TeQq;tA4X|1L)YI8>Y=42fxP=rM!E(d|K$n;l*dazl8-$ z=b}}9TaAPC6!A|VWQymL_qZIN-!dKF+%XqN?{qG%e)d$n_ses7+?w&x9bwV3c{pMB z3o&oWKlpjlS5-c|HAz{3^Rf!@)=y6%R2IXjdtHY7?B*yBmFhO;Gh>d%oPNlc6xJ!! zV3zcq&yc#qv__;2Aj~JaN!^dsyNV!w9=D(L0x|NmYS6!~t=AI>21 zz^U)6wf~%l4wg1^v8H$PKEv_tZ=dRUF>Sw0{#v`$Zf*Oi13*}gJ$24Fd^P4hWM$+a z)9*Y(#6i#3e|?C57EMLVg0>hp<99t?|1Lw+>ONxQy*1Ci`|D%vgJ&(Ail3)`hAsPz z)N`)WsL+r|o8L9U_Bsm3-}wPriO_rIvP1CM(>EhGCs#A0`zG7r^oKsjNq2vU6Yh8q z=RElf4!h(LxT2NP0Ttr^o*j)rBD_X_`m*{oQ>3wj_*ash8!H*Do<8XWGP1I?pjJu; z_rW7q;Qmv#!-Hpx#5>Yi@RqfngM3orbY(DVTK~HC9i&1gPD}5!vB)lHj+SzM6ps{^ zBaXa4-BM1x>jS;5e8J1(u<7=Dih8KUE~NOt8^C?DD6u$7wfX{?xH}^8fb1tnt6W7b{oMN70|E6DLcZ zxbUU17`W};dMAiNx_rr^K(r8xWRO7r z=hj{Oqh<3JI!JHXp(o~vaHbV{@!T2e4&$VNu3s($WuV!5lRa?JqaWe;J3hc^4}OE* zn~zi@NL{eATP6eJDWg6|9x#ne@e9y-? z^}f$AY~Pcd&QZ=SA{{yhtvo*!4sx2iopc=zzVtC!Uxr7|*&SoPdQ;tcHZ<6VZYc9W z(~aSn+jhj#vc)>p+Jo<1hhHX8L@qD>>O;Vni7)?r8$H_fR~LaHJ+~5(TaI5QevSD{ z=4hDRh906m$h|ra#5+GeuSPbODVD7js+bU$GDvGFt5@p$Qo@)*{Gs=*#SRyA#g6hh z`1)b$nsVPMZ>zXX`SP-z;6sJCpZo&4wdsqSUp^0ES+02(CPh_WB>QHHI6M83-PJdE zxCmXkfRJV7i_Q_~EXF`0BQQ@a%k*ZY=X>wzON zd(m{cZoIR(@&Q}Jz%y8}(A293&dgYihD-`4t%RJfl;3MpJkwg5nb#72>1^jr7%hU) z87Z*v^Ek^E&eje%AVQMs*opc5894C52QhT-Rqc$Q5ESfbDdCl7~V|AJ9xt$Ls5vG+c5Jj^mJHkV@Yktdb`mSabwAOX{P^NBk ziXZ)Xo406*pyVyxR8ox%MM24;dB`bj1z%R4eitvAt+T(RMx+$<43|^TQaYegy*{<~ z&u!iY0TB=C*QsLMfr6gr*k_B8IP9utkXzUq3ucbjxETk_k-8qGAui@`t;Tds2qxtG z>MU3PMMA|6>oa}O*Q$6H610fQ`RUyci90o$1N|@6#lY*r1QE|)y>JH(IPY$p`oI@B z_U6~nwp)KKZ-m#MWxZX`jd1i$uc1Z9o+7aS5P{iVuWd=uycO$&2u03lLF+T!rnK&{ z%u2@;4hG?g2NCdaAhsebGunnM_(uncsq)Qq@J<)qxUzEdWkszFXU8q=fC#8)Xh?-8-BK3K zoQzo$MroVK!HF~QbUI%?D47*0!h$8`(oQ?|k#~Yt2HOc9BaoFXsdnMl_nySBA3lRW zK6_Q#iZ&wF$LfQMjGHbpzVI?cq(i1voOw?73|?dYnR z{7rxJK{ZY(_v^&3)FL}>*6*0NcqaOF7=m^p%t|YkV!_hcTD}PHwm5femQN4MZ;Dh> zQ+IX=mMZi(pYml-9)|(lH^G+ucXA$xQ_<*A-(FfyZ+Ph(OqexBeUs~g;R%H% z&u3BbJbXU-9UL~|G_-5cS+^DDw$e1z)mKwg@{UZ~!cNi^#84(_(mbx!IPtvc_uRU$ z1HS$HV_g62IeLBrx^1Rnxh5K?)Vq&=dmXQR`xq`h^bTy%XL~unh`M2rTVDP@Y;$f~ z?08`}?0j)A?0#84eDl`_@VcG8lI;`EsdgJ#Gk;T190wzn>P|Cl-gs0dqD3Mi^VPw>HXPYy`!?O9a(7yL3+E8#?_bqnAm@i(_moa3E(4>WK z{0|@L?dFwP&nbpEfA()5zleg?A_^AG)!9V4Z!)~9BJegE&mq;=uwflA@-XSRf5g-= z->DB}PC+aD`uS7kyPF z&!hfz&o5$-`BDFv)*_M^4sQ5xnd9C>f81s&oLIlxbnS;gjx+rv9~SiFwUu(7z=Tm> zW1$X!JX%jD{`$F;jq&Q<5h^cLe_UE&*$(vHdLMPqq8~1&;-e^^@Z-n&U@gmZyS~FP z_4lvUk2$wRYbh(QVA8LjX}zecBOozJU*D~ELr8@8?;pRQ<)3AA-1qP4^9cjC-ABrO z(vrLyFukqYw39({U;OyiV_JsU?oeEg`sg`y?7OL2>QkLP?+Uf-IRp!)jKM!+zelsK z8>!&ov0HWOsd@AJM=ywg?xYWA)^5LO52*VLS0pBafdiSAo%&$cldr{Yr(B2KPre?z zpK=3+?Q^2`54o&`4)RTp{tL{N5x2MW9+oh?0|EhCD(?ur{jjKgHQ}WbF@9O2D z(Xdd+73MTo!O4f~)~0wS6llRvC4QUq9d;bNH+r@kfYDQaL_qpST7fAPhxOYLBL?k> zUnYKoW#x_)m8c;_f3K_zIljPz!j{#FZU!~yb7pC#5v~de6pn>OIPZwVcQ_5NeDxT< z8S|meV6iGNe|VgCetcHlD>m!3tt|77QnGF)v(G2#NkP$BnB4+9Z+-yY`Sls~hgPd^ zjjU#v(u!iW2=f?f+4eedmX;UmdDI18HuJ(44`AXyV{pbkSD{6IYb;zgSGRR-(+hdB zoevZ;9Nj!9av4=964K+W>hEpb3@nZEE&(AKbDmNUk(2tw==!PpaR;}l?;Y-JA zQ!fEsm{@|Vz{cN4$?7owSR zcHc?EQMz;ic01`BtuXDn^upd}-G)z}xE>Fkxs!z1PT!iJ`&z0f$GxL{wM66=G9 zF2@c>U8Ev?Wrc-)%zT(lJ53_tcsrBs3gt1cTG&P$`F|My{rh<6)a`Nq$y;H_$U{&W zjG`jOiW`%TJp)_pc^rNcVR_#PTVniApQu%oR%)FAgs`H?xpm!mYmE8)HMN|nB~FgZ z0=mU+hog&}!%Np5tG4RL+}Bjm01#)_I_LLhKk}Pxa-($@Z1%L>%6cV@36mG zZcEXwdsP5w%ZS%K5`}Q zIdLlyx_=>CI>~*`yj9Qbz7w~>1E-F_XV2V-{m;J_Ej#woV{(x2zZ+iF*%IjP!npq# zKPu_RnSs4ezfpvGo~)PsPaAxrIEj#waE+<^2^{DT#okh6y#B-PKkNZ#BR>bmHwCXwlK@rQ0gci`R zUc6JUFUxPo{+prSR=dj}tP-2=awxhD-WIQ1e}c9ZPhE1L-Wj8xb5uH=Av^4cE*o!& zXD>Sx_a48Eiq4I<-(NaXDH~;#b=LW?4DRSdeAIO>VcZWN;(jTEY(svRLFkd!KCc#N zTE|)bv|UJAj9D0iQkRyMRUi~wv14c5_Dj4wpLiAg+1YsPygfC|PhWNjI>|Zhc=RPI zrc+RGH*dr9pamaj-bw}-(!Q~-XUo9TD+7~-GbiW+m9jFq7w;5FdnNT<1uA#^4>*{Z zGxk@^{OdctlSdZ~wo80CI9Rp}`K`O?vl(N)d`;u5kaH|4uRxY3tfyG>2+YlLY4aA8 zI<7LLpm{54&tBE`_TjU4QR_Z^;q~_Ve-G!u)97ifXK;_&-1cIs&SF!mFTt9#o%IQM`X@#M#M;GVZH*Yweig)dvtS;A_e z?jlK;GWrQmn>PXP{q&MP(8zOKTE1AnIn^HFtRak({=&`kTH~n;KF6Fz)A089&qzPz z)pMhJBKs^pD7f1ehp0OVnFx;Na~}77^VW^Ow%n{W%|Y|IS0yn#~uqghbcSzq(qSJ9ny60~iO{CjZ&@ zaDesVxA*DViw?RCvlq`$AM0H=I~W%qc89v=q}toYn0P{w>l-g|1`suI$tY)yo1%R# zc@q2Xy{C$;bb+@iYtD?p(_^Eaav9OWsJG^wf3>Bn2FAN2aocw~iwsNV!aR z0Zt3$lna-Lx{BoO#JXVz!^!_Sdq-*}2a3(yoE*eMB`B$kYdZKc1?{v13PnDE)2q?(#AA654J@RkaJ++tJ!fnX_vU=T;_Q>xHAdB|I}sm@v&3tHYq^g8)p zrh=T6mm*vJqXedt`&A7<1a_XBaU>NNecE{^fam4xpH(I3o&76if9LiW_hnu)&$y1) zhb}cvI;8`X{Lu3gQh7;>H`9<#@X7LVlO|(e3*d;|w@R*EGxopjYmD5qhfb%IR+>bv z3ClRkQgyizktYo^uZh-IhT+{Cz1|5eCoGpN|GdUr&+_1OjC9=!YyFW3bzkS@BfO(i zvre!+r?w~S47X8?N*sk5z|zu6q+Wep7c6HiJE`)|w6ct*+91YBw<-#KmU|{ABj7`R zb_Ny|OFc=3s}1X>mhWWSMN(<5S+@xDfiIY08^OVbZALFW7PYKVTZ86i$bIr~S=3Y1CPV>ZD_>goWA+$D?EGoVaYY=%M}lQj$fu=``?J? zKfe!Oj(JC|v{@qR?my#gePPMxqu)|d{_5qws4ExCACK|aN4MaaPwqm?0_SamoXdGg zFBxo0c~`4D|4FzR^C#n`m(LafJ5To~oRNf<+)EC*6Su#92`0??L(@mmo8imE#fRLE zb}hT&nrBbL%!QL>T^8;?^DX3L9P_w8tg-VBtgWU8iX| zezyx$jHc54;ujC#kq>XyebjQCgm;t~_X)dSq+bw`QV%M+w?mZJ;gqx!qrpgZ*x-M2 z-5dVyzDt?F@~`e5eIY^Rp5*UzS**))@t+3U)yk!dF#F|OOjqhIUi^9^wj6y7?yfYz zoI3(d(D#^&)<_h&c##Cr3@(1-Z@L1IoSH!rO-nAxCP^Q|AlWm18~)04d7z&&-6?pD zze&<9=@PBEB+6zm9hO_;nL#%YH)r<>@@xhPaGtz#O8O)&hDAdF6#~A`@3dr-keb1< zn&Db5&LjzDUd;KX0!?ynnJ(tjMM$n?S((B2^W}ZHsY(Rn;JXZy;jz5vDnf$JuvJ-* zaxnIwF4yPym+zWqZb`;-3vzTP5_5Sm9&VGz@OTIf!T0EDV=iOn+f(Y4FzPHz)BSIg zXTsJt4|@)bMfmJDOjit8+SLCtZ0n2z$N2@e+Zx(#odFv#El?!V>?BsyJHtye-R%@i6aZ@=Wl3%Q7~TXTqp6-*ZBq334K1y;fD!ia@8h zwuDW!sY5HyZ*VG@3#x`pdJKIgOpyVP9nDIx>JnHZbX_SeI(23CUxm917sXj?*a|Do zC1|L)Q1*eg!iozGR3-{C5>3AG#BeU*_=wV;Z{=hw6C**2Y2$Yc48~6IJdZP_JOv-iVF>8HumtzJYf1&iCPh8 zN1K{gi(6rZ75^Macez1JQAzCwF^|%8(>E)uu)+!}tgzx#l*7*XR0X$I1iGle*z(H? zE3EkUK$i;#J8oHY>cW)2io85-(P#C5w!(^Y3+q16R#;J2K^Lq1yi@sZt$IPWcRTAM zLMyEJmq813VF|Y@I(2jYzX~sR7Y*;fNTKQL&yx;$>Y?e1?*DDxclggx`Tid$GWv|u zc}X~!FYfbfM)lu+C%82u_vALO{6Aah36}p*8vjXf5uu~&nVnj9uEB$DPPbRN6;@n` zpgXIxr@!e}C2A$D0t%1Sp+$r|EX3us!jl6S56$4F|NKyk<~xKQxL~?o(}xFsaIj?f z)$g6Dz~>-Z{oSeukenub)4WAs#;StrZpXory=NO*^q`z5TJYd0+l<*mbX^@$k<1_A`89CxkBo*&T znbs`=By`uo6>#=4{XTmn7dR?;HcGZ`f@RNoVEZ(;fxiRUx%mj&wE^)Fd$oV@B);Q& zHy|Z8@{HO^PHvvQpAvJ_)b6T5(pp?tfUqq~keiWO$J)@JBk}lQoH)Eg_iSY!w)|Zk z+9&nUnyTeSVr+T1kr|X7yv}~glQmDo#Nz0-<;c&;(0gZ#lSlU;`oPxnuB>U{Dlr}6 zRM%nW!13_>D&Ic?_gUs~-Q2VIY{5fNxOX%^+%c)OHsH~}JD1EtaMSi^+@W`sQ?V$#3-hwE zebIL^kfpFR(69}U^&O++AwFUs_AH-cSU@;f3t{45%Eb~q{mQ3)Q*;@24GymP326x@ z^h7g7SvdyX^ekK)?DTlv)1w@byVewmF-m(-CJ69`F)WJ#!B~KCKvpfkhw0$46>M<1CfBzB%xmlWizR%|d z-~0kl#MAyxbHbVA+0M=Zdsh5__+y9knx}s~bRB**oZQ^CW0CCdSut1c8;{*8n122V}x1a7gnQ;6Nb}#z@-9}yupL$Jj z;?QZIXf7Kk>pey zl})0r#>ya88QN`LpVV#$mhLzvG0pH-p z=zZ}mN;LPZ{0ZykOx4EX8`4+^(v31`PC~o>;}Iu>+S%0;J;oZ>+VmVo6EcqO*&qXn zql9rQdS7xYO3O>}%d1n6k#zDD3riJ9V~;%+hU}D+=r;O#^csH)d?e0=A3TT{A$s-_ zW~r@{guhXbxMkRkgS##K^6D)@+N05+RaZ&NWb_z4Nfd;>LJ)T#uu*FxjbkUHNxL2> zlX$|muYg}jBZ=c?^ttqQB*jEv{(JXH8KmogUL7pEA{qF1E}elx`}d;r$m_L?xQ*S$ zUp^I5U>u#iYw0W;+P52>M_jA-U4=|8|M^=K6&0bE{O&IK>OT4gJ+_<{yq=OK=C!Ak zE067rkBLTRViY5^z!KP)4|5pUI+1GQub6*Xcp9cGidS%%6wLXHE@Mawp$Cd;(xA{fjVu2Uh&9igLYoVC`=>9=;D1hlUFYiQTmn z2Ug9&zO}z=-!g7UUL>3&+m@?B!C}1j&~do_<=F^m*h`FpzjFy9qvmpXOx z^noKv)Us{n&X#4O&zkCoV3^g*U&FF^hEUmQx>lu(&#>&X)V@CgPyP$`3B`c+BjM{2sK5UzvhvdK_Dw&+)!q{y|NbIY z?)ps+G5IGz;!9aDu)}DC1~k?2?`*(2A9M-4 z0z=WF$1t=TFjfUPt>>H`_780i-+GM^(!4#K<+oq`CJ1QILjE>|r+)|>ZOcW=6Cvu? z5`Og>!P74US3flk#RXZ|zIcW-yQ%`WDkN==Qq(?;1!IH*iYQ+g`)Jh1xy9_oh;4kUpb$21W z&XPt4893|$Tba@rj2mD50kMa-D!V2KY1U4U|Mv6^5rW)C($GZj z+1ZqUx>mVID7=E3Nd7~G+)qL4Uc-d=et=@FuhW%ZxlXIm>d1kM9oXGLO54>Rr4EK0 z$ZzjGqyyT>Tb|SS2?`jN3F}Wk^`xAnKAl}$k&~XRM9gxKWIM@DP0;I9n#SKlg{vXF z0_tPfH9bkRu78YaGjCas;(u<<#HblhERg&ghjjy!05Lu#>awf(cH?J2JB0ne7nDLU|dX%o@ z#ZF|PB>^QUf9<4y`h_+{QD!3SOyx$4e11lf$g*IGCqWf)=7nJ%-?tI=9{%tMZ7Wfg zO1wt6Hn#j2Ggx_IIItI-H_O^O}Kk{iOey|pUPH2QHjp% z8RdOkvPE!#4Z6T@XO|}aVUB>Vv~<+ zd*-;pxXp1g4DErCr5JBXw$D^o~(b7Z9_qOib7yQZ@zFO!K2J3{x!9kP-Cr5j1{`GSuy@RfK5N_T=sw>=yD7;K*lXRKWV(;LLZ41A} z!f8(m!N}BsfCF)S1Lda+^^3S<K-L6#o(F zIy1O9(FfINr)LZ)5VqM3b3ev+&s>99&tH$Qtt+IB*FHVfk)IMHZ7~mx8`g)bcL0v< z5#l9e%~s+fsrl)xyAif|NyRKix%9KOKYWPApFS((C=rJ@Em7C5UCU-;@n_G;^=C{o z8TKfVI$rS6qd2s2ky^S%l}4GJleQOpL><~G!O`W+8Jm{>j$hxt3tJX^haIBq zZu#vC{QmJ%LOx?_Bc z96XimYFD%X<(r$kH|n?SjF_-pC=lY#ICC>OZp5>pDm4Ox0 zU(?yA9a1h^fB#yDdJ=N-MQ%&F=>A2eY0<2Yv2Ff0*d_T~`sIsQJ?CSQoigwj6k_Sj z53qXXTUw5+%dFIR{QUOa(q4XmlgW3R?QGWblaPGk2ug&oFP-x_wn$uCe*XrW7tTaR zN`k&$J6t&XKvV8!=B26Sa(tib(I}{e$auQa{Us@LS}?3Y?|Qgn{L}bm@w-^I{RjOW z?VvqjZRHc1Xc zd>deV@9W_xV}+SSllXRS-bby}oQ*K&h3~Zr?T88eChPD1a{t!Rk0RKwfs$c9OBac& zF1j684Z0njn)gL+LAJ)r@w!`!{!%{8(Ya|qTr>C%bdmctk?4$^R1EDr0awd2<9c5! zW1nf()|3vC)V#tRT-xVGTsi1A{nYbstobJxXPX9{LRx;>ukUBkt zSV`keiHlULsh5Yx9|{9YaIs5)qpu9W1sa!wbTC>!e1jWFXZs_KoD@{FH3uIQ6&30) zPBGFYz{9VeK?q0^XzwW`ph%uG1_fFO zeF7yOyHo3m13N9kO*;0~L2Bt&|C50tLM^!*sLEuZ^$Z9>lTLlHb^e!F_9gEhskmPS zny#9`{1-WRN&XF&0p>qL23I$qK)AWMoS|?nSE57#&O!djj@8(|?l+9S<0VxRc-<1T z`nkAy=?nxvT;xRG@OJ&j$v~ZgG$~tJs!57d5>LX@F9;z`+EoZmf&+d|dWwb}9NI+c zvP3e*1ak%^q*(_|2QM&g604->Lul1|BwRgw*cj zcfW@5_r9qX*XV;=RbJTIQZY0Z;K~np*q6eoyuj#-Qq7bLZ093xdIsb8{ylFXFFPGk z`?tvZhLxJ(gl}7c7CndJ;``ph6^~8B$*|oxxN(6HL3eoB<-@kTRNEr0p>%IrGxHr> z_0;DWbH^*V_ObU-E`4?D?_X(Ks}A;)=)*g(bN*Ktdhs#1CbcBcGg|fD$DyA%`*SwQjv2*2P=U^{nG)W0}qjo*`gsz{Ub-$pv zOqGZRZF{N=rJ~{F;j3 z+{fSjI)a+C6=miS+#E{P3SN+#jg7y224BY_$>Zx7d)KSD{Lzn*9(4eFSN$XezCPM@ z?S<6%6RH%EaA&6`3UT(3Hgp8}Ql6||)|rQoKbm&xkI227kQuffRp|vX}IG>js_i$iz4Fo~@0H(QJPr zW1hbDLyYWx1#%0s(W*g5JagTLns*ZGPR)AB@2Og5^zXiH%oA{z{>DS&>l9Exr<^>7@GZ;GVen;grD}_1M`VNI$81$#SnLqx<+kuCO%l=<1UK&h zEdKI&q@Ik_#dZ|rH9^xMy`oss=TVxXg4oR`0Q*FM?_NF|y)U^%-zE8A`u+WU;ouPn zS8qRT`tbuK9zTfgBd?cdOj@aiC7n@7w}W(gb3TnU%D^Jo@j)hBNld-{G53u-grGa1 zWsjjc@SF;HLGsyq!fhCF{R7yw>UYe0_g?%y^-&b%7llGunGM{FQ{mz54RB^2^`_cuP77dMY zWF|xksrX!H5}J1EiQ;N|l9RBUJhB(lpPY!#?jMC|cMVnI!sqBl6Wp{7l4FiYxfu&k z(_@aJMfV{}y37g{^G(0a&GSB2ca)%J?JI=JxdaKXt&Na`zu_PwFZy*=?E-%aK2E|w za>3aetv@LEn^>&H1mHE>g7Vb2o5w{ zJWA5U?{u^9_V$IhUmy~X9n|(ka2BZl6?Y+|X?tCuOeKxP@Zh@n3`H&Ck{b=5ME&^g z_3##jyK#q38m_mWADVX?gcFCiX`ZWt3T*WL%?K3bA*fkLoi$;(G?jdj+$TgG()T>< z%hcVde#b#5mi|I{5gE z!@TJ1j^(vVa4@8M8E2}pL}6z;NR8SrW$q<%C`cDj#)a)txlojGQtN~6a#U8?2lLr~ zE#gyGEsmP@_yc;0e#W8;idT=;Hu8Ge-z>60ig zG+c#Z4sAtXx3QwA*s2UIEXY+$IW5#A^`6ouS*Epvq12oY__KYW3ybn_-H?Y(zo707 zU7Gb#g7$Zyq^uZi8g@o}ay;TwqjjO48MJniyq!!rf##uYgc#EozD(OtMs6xT_~kkL zy#8yv|I5=D(d{y{ZPZ1rr3KQD36jfQ5gW1Z&~7EQ@}`pPmZ2Tt?%|FNhn5)b4yJy< z=fh+7;g=2H=%L=EHFNhod!rPknPU9E&|MzR$I4y}nL}Zem6pKKkuNe7Edfe7pQT4cjaiXpPRw zOUL_n&BgABO?Ym`ZF0373%CA&u(&;%=ecXYz`RZ0B0BM?TBauqxDKB#d`a^51%BNy z9XEe49GCUG2|Zh1q|av;WNO$n8h*C$Rm@)fiTa068h(GRe7Da9RLPS5ULB|J1!n;6 zAzK%qnR9Vf>qcgJx(<#tfdhVaRyJ0C_Xe7E8-iwC257^nfHbB;Jy?PQyhJ_*L7_VZ z1%{Kvv2NLXd~(+iA!I|4k#GX{eYzeVenBdHPX}66!e_GqP%frUszrkns48f=O3`5+Jow)ncbt<4M!k09%B8!WP)KAbXwmCr1wSiWY zg|k1yr*{v<$9G&LWHk`Cy}LvQveWI|$?LR^HJ1VCi8%)`_MvIIxN*+ww;Q{bh_K-O zW-`z}@xy+Md*n03hV9fT-@J@UUt$L*C+W~OYWb;LMQ@{S6;7_Mh&URKuOFX?kEQH5 z<$cYw-|0>$)h)-CAc3G2kwQ=*b!{sG#wVbGTG@Dg>6fo-8CMyAWuU9qvJ-B6Z7y#A zUtmu1j61K>*sukjN}9io&2Qa zMDEpkp!|DKRwPQ7N$A%GB#oxA;EYi&ZLwk7?ieuf9#IH`)fI=9J@ZuH-vJWT=>1!e z5_e3=7yF;1X8=3`8{o*6<=SW1#zNZngS{wG;oFy~CHBz9g=p4wptN`Hsar0CM5)g7 zq{c=fi=>EsfMi)R?P*^KH#-ZroO0>sQor0ehG3kkTqPRsrzORqn5REhYXfB^r4_P* z?~q8UuQbEuU@OmapvuoLKw4^o?kMyAEyM8n17q<1l)>sQ;1k>gd4E?MxT{_ki|67N@l7@BY#wHq~F|C!d zQ9+Gbsa#`dj!e6hzv1d)gvl>zxR4L~BX{5_rK_7oV zmI^L8DG?b-<(o4YEE9t9QC6^iGNfMp8@5oT?8L$CT28zl(6A+3JpGV-B3wx~{nfj6 z?36);y9%0AGvv~D=?o9UN<@YwyZ|C?OA z*#0;kk$~CPu=@lFb&ilXQM)SIDrXvZ99geq+0)GjhfeI$>q_KAZaJG4aI&A$I{N#b zZ{Y6Yfq@;ysMYu4-q)!+#P@5a!P${pxK`FTNwl+R*AG``H@#27-nwBYY(2CV5ebLk z>FNy^M_24UzE$hGb;B;&COurdv3~y&95}XJt>>2HnV_=JDzp>3BbM*^4c_j45}!Rj z79wn*T+3lZ_bZT?8-)NE=M(a|3)mgLJ16 zav%05`XxI{+Sa}uD`m6}4}Es6j^mUObQLKT8A@5kol2NbZl2Jy)kVn7$-}0wm6A6f zDJxGQ=&`Ce^lmd$)9B{tjzW=t^S95GI+5R!Kay{PiVMr3CRtJ!!TQe5G86(!)QUhS z6|(W3`vRcw)B#n4HAhqioHzB>xhQ$JgI-n@#I zq>Dbz1wvT4qr+X(R*9y!1Xn)wg$}lVWI-i3C=}&qBe3%*+&6V0Zu@X4u77c+x=zrt zMGs+GvS>wXJM?-y^!Z9md2cbUd;U9lS;PPbHZvrRjE{c7wDg)m>sGN0D(p-{u73=7 zezX#IOkIlc_q>MO%w%I=`U9}cNMyNyrctw2nDF5HYW1VFj#JCVebFk@lF+b8b6kAy z+j74Ui89Er{LNr#ax1&a>1Yvl(h2i(bA>%TjQR-9H_a?B>jsItek`L;sWGmr6TIUW+lunQUtAg z4o5=dL2a)m!*`)c_u<-Z=mBuh-o9`KGKFwz+mtxi7Ah1oDFZIJlms+XN{yevh6aw3W#iyU`1Zh1&wc2eUmXdpaezb z?7P*)yg^KNuU&v;GvCLKh2Lr3qD-zWZ2h$0mfJZQb!y5R`weBGC3&cXL2CR$TSytj z=n0o}(F$$S3O3RL&_dmI?CPkxSI$f%0AGpPVRXBm*=ql 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 Oz)L|!RT_x5^8Y_fA7Qru diff --git a/windows/keep-secure/images/vpn-profilexml-intune.png b/windows/keep-secure/images/vpn-profilexml-intune.png new file mode 100644 index 0000000000000000000000000000000000000000..7277b7a59878679cc2c2687b68fa85cf647cf0ef GIT binary patch literal 54667 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
)6uong9Ai|JwDj-?9+fh9U3WSPbO5kUnJ ztS8nsvLjzV3j}YBbB{s$=dh080|h+ru{}%Ma^bX{FONw<$|SY&+fG3mrC(BY&*tl% zwgYFyut~hH*E_pI6noK*e5v^|?>g&@|8*LSFwsQ&D~z`kb@$H|=8dbc(DTq)#?-M) zerxDuK7Atd!+D+4!(@Cs_e7=f-f+s#kM(s`L~N#^!Ffub*dt#^8D)}+w467`N0Z!- zk$ukBFS^H{+=-VGOIM2Z^`jDVTU@ z_DX}2&^p|?a+&dmD{ecz8ip0ysm&LBlaNG|k`gt(LUgkszVOiuUM%KLg1L%g_a9Iu){=hP~3z7G{n z^L15v>7(7+z+T%4tfg>9MNaU;au&oUQrMSWVt7 zX2|5pN_`MYsZc}W z5@PI3Y@s`TPB3UNN?JZM&JUo#o_HWT_Gso%;_H@~{4aL|Zn1_!&4K-*BsR*2g+Qy0 zi8aA%FtX#rVtqSf~=v60sXPEQp939Mm!VafB6p-Lj;J zU}lR)ilIY!b`Ez@!LduagRo%l;#>>~9>5oa?z5E^@MQ|#v*9!HkX~^%^1(xQKF9~C z{SHP%`Q6wKeAf9>Np~F$fqKR9&>s68%5$0A-WaDn@%R1H&}1P`2OF}ZSU8t%g%WV zuN?uILKrS5B_iiQ0Hw@i@2uVYdCc3`{SqdQL8UNlRWxQG{G$2oX}@^vj8O}6aIr=G zY;l4+-FsH^<)Ps-QrOB=Gf3ciSG%7P-Xz?|zu?Ui{(Z304=j*?J%eKAfctlaYeYgEX(oh(3i1ouen(6cA zyHn2u28mb--FIzYzBxD&7Sg1jPVE`JiAWRq=~rlUM6ps^nF!1q7ov#m?yqf%U__nr z#B!LmU+d^$j;w6p>CVp8i3tR#T0Q(fM#6`7B!!|G)Jr&Ov)?OOvPwPBKR#M>j=$Uq zdI$i-=h3VoH78X+fgZmg!B~2a+4RT()k5UaSCpNr-^AY}& z(vMJY2<^YC{{?#f{C{!K{~-xba7@pQDI#$nzcT4DVZSg4a8nPhtPq`Yy}_swaLcxc zKSWX69k+tt;$w-EnMtDievOHNfq|c& zU{UEEOxCBjhD1o=_p)DTb}OF$V{Coze;WV4xa|KX{lFsf+4*}S<)Fg&?+1R(%v5US z0(Tmg^FLQ~ov(I+@fWs`cmP^DTAMt6^fO9#CX;pq4d8yafY+Sj{k?Bfy?_)!i`z2r zlsTi$GnH!Z?IRooPzHe(&*r~{+4|jsv8X~6@@k7&cc&QqU1n=QxDoa342fG*fh#YB z*F_RHAr6Rp9OA$O`|Z!lI!65C@F-|5bBKz;fWx_WSi5HL#%}3{;@>VR0BYw>*WAB< z{UN#@fiN@DULhT>S*lm50-D4v;PJXz*nO^9@Z&N&dYsRCwcB4QPHujR#PU|Uo5@|` zwn;Xui&v;bNxJ@EbdnYh@xm0wiv3kgQ8;==WYD}DyRvu7n0b6?(BfDMD7Hf0a^m5! z!^QO>6S}8Xx-AWx&!_U2cz(vY0qm z3he|V5a5n=e<}hE1$~uD0M5SL>C6KI!^6V^Be|^dx&5n6R}RlytyF;I^>E6vRd+1v z(CyH5P*O%T0e6L*NV*vREDJg9lm?U5ic?3A;}&)NcB?__)B8nIX_-)n7pduaBp8LB z4=U88-P)aevDMeSb>JP%!jJW*@}HnTL^n$-;?cE}2UIT6t0@{|W-4mjGl_I5ag1&YUqhx^;aAC$>Ma(n-sXwKh&-zIL3OW9fs49ky_nvr^B?Jae65&=-J3?^0cNS`gI%Z z3J0pVS-)6*BI?VNYtSg_UTDs1j`<7Z!X~(p9c3LuZg<_l3uUu2x(1WObV^egPx%(#(%>7CmUAD2_m7A;2A|QDTdj=7&vyLnw{T1wa zy?+sB!JSaIJ%EJ>(d)cc8$Z;hvgMy6HD0| z-7Qk4Ro-W?78}M=$QTh4{{(W-vD5P-$ysxx`4*RmeRMNoYRLh{%u5R^9QQ=2@0|r} z^YJBz1<|C6^8L%;h-_TAB4BkN-Vl44DB-28>)=KVRfZnxPT3A$s$0yWeL=h@R!=FE zp_Q}dulfPJV&`m7Qbzs8Iv2jtSQUDfeT*0&hOP^&$ zM0t?W<2nWw-HgnqW-?8yc{Ygy7tDN0PiXo;nSkb)$_~96jc$EpNGiF6GR=|du>*2= zFT?OKTMe6B5)QRV=$#>Oi#$r)csv zChVJ@r}`#-`CCpk2_Sjf!#_pFQxsO;lzOHx>9$o%B>Cls^BbiM2i5Fy;X``oWWC(h z>S+{M{p|^Cty+4U{c0`&y4V1BOP;d)Omf7k=0wIGJvuKwuwa|BjFExca27xjVAEFV zg1_1doja|2Q*{g$G4bia0WBut!eyV`Y6~7de%D(vj_nOo$#sbj3X%wkA_9RxD4f5Q z{HH7BibC0_A3S~dzB!B=1m)|q;z(H&c1zc7s$bJ%6>pt`*Mn-75;W*X_937(MndU4xXfi}a z;b4B`Y+9pRNtzeL#9V|V*}b_bIKsXJC-7!mAU+|XN?UBZMk!}}C-=ss2Qzu*&dzS* zH-fiy2PTnWoYE9KTaU3xfhRo7Id+Jr_+#|yn1PgX6IvW~R4LZwE5-Eh-{A?$qCrow zerQb59>l~{13|feVPKTvMMUA&`5hbt*oBz5sE8%x>kpTdIZiZ&C!mFqrz`Km$0*fM zAEyF@+s@#JP~TLsx6ZSe;=ecgIgIJjAWsRVzQ&X$I*ifR~3yUcKrG(2)-`K^)z|T)d zw9B3sC`Ox5%)zG;lbOb3RO-h_N6BRHGyr(7U}0*W^YA@F7%hLwJg=3s-MUbjd@LLk zp&Dm%aW@H6D?SMBOLzz4_i6B_&(HOmFpL@6od>7<-R|GvO`MO5hUhAedWGt{dqWd? z2eouz;*YP~*$zB`B1P1nKle1V{J45}PnuCN1SQhKj=mH z%NqCjITbO;M+gnYNGrJLevNylo#?u~^#xuwDK#!PmvrN=={|fK{Q!4OZIR~ckkn&S zB-zY4U8yuqH+u3kQqU-x#b}RE-wr;y;p+(+>BTK$?97ksR!GhmxW)x!yugRHg~7k!EE)oY@kTd_5+3H54Mt~UUuDu7mE?(5S?rH4 zl&XIB&A#Q|FxP~d>}Gp&B{#=1_0P#Y1Xi!43eCsXB%NT#NQenoTqN66BIqQ@b|+>t zMVxbDDKq(8_V*{qLlo0wMiL`nErlH00B(ZklL7ra?_ParC_b%r>*A0IDrPx~Wpq4< zj?6eGO*-Xeq7>^zMtV5V)2W+(DyB&=?-fKsiH0Kh`2i+_-YlDh-)p;nqoY~z6R{!f z2*hpU`aqT1PSEG&8#)xEpir5~@3H+UrCp44gVhkRn5-(3nQrc^> z#w6lgPj&S*$-l$BlU0;Pr5!LXy@QW;H95FVSIof6e&?#A(Un?zzwJ^kFFCk9a3If0 z%gN3vD3!=87JwH#*S~YPkMmwtHT;Ey-|Dv#Qe{v%HJ=*+vCqS09YMpQnyZm@JHx5x z}%Z*g^^wL-m-r zH#&E=G>O**lx4dDwk+%r6v_!lg17<4^FGH-U@(MDaCdznl}p3ievGdNB=732!PIg^ z*0(ykI5~N^`QRM9=iU00_h=b_1pAAz6i1wT59!`Vk6y6RQB^!KaI8}tb@eK#{Dvdp zh{l|?jX+M=v9}q&U=3dGqYqpfm5h9;xdHyJg!Qz53Px;-yBImZh4D$t5+^M_;dg?! zTxSIHZa}z&p&T3^=d+u~brZLs4O1I<$Sk^+7)7OPICzLqx-@>{yy5| zK;h%ozM2`}vX=Hk(~|~!{hwtgIu71#@v#Bx!`b2+fjb%grwWSTmBm)fy-TYGpvFv* zBU7+KCi|6IKN9kkLJIqqiq_=GhoO|(B8#~!N=e#6)KeQHD;39afo^Y7Q%RSp#g|=k zDqFAU0e^Qr{<|2*bi3RpPRaI?oj!02E`i4ndTb=#``-_RN?)F5JwzR^M_P$+PNbkK z&cPdmX@;eHlQAc5dJ&?WA+rkmt(!cDEL!|k?*?UV7VnZKw9eZgJW+0o7c(KmSq8a2 z&5Q;@?^=~pFODqLZ}TqLC0(s~&7Z5_Ly~Z~xm;;CT*+uYc3cvXO+;&|7dt#-8bD^1vUFvAR^bqFoHDw2wm z?&?9H-HQ>UnpNhq)r}ZMF43*!QpF!NM4)T7!mQ0N?Nq@=EUt)gDiuHM9+lGfESQqc zIj$GkE+at5S#r4O+ejTQS5v-n1Q(Haq+vNpK$Z7|w5nu`Kn()7*D^%8<2KtYEpO}xplLh6pd>!B)yjav>j6xqXlp$zuKW=n zbE)pW`Ql_m`CJ_zZ!#*TYSylKaf!dy!~FGhz$~;A_L*$;P8yQB-SD}k<~ManXUi2gN7EfE85E zqCL(%eAL2%<;VKB&&L;Wwj4b3WP>FEatc#Mde_`i=E5M*FFFr?udmpFTm;Y zKl^DM#!wx1QtDv=xwPxa(jsZRuK7cuj$gQ$P50=8;?5mV4QV!=*Wi(v6u)BbM;|!z z)Q?gg&RQ$Ao9+4OzwaUz=3wJw)~t^#uL&{KR*W^(2qyfMN_4S3y~T}W9#tOk(RSY9 zurb>yNc2@Ef7n=FVQMn)M^;S@8;LM7NX~~bhW4sjB}34QFz%XVr#Vp zmt85I3DsCgATcoS8S9&mS_%5_m>X$}^Po!Hl? zwkc`0bE@SU)MF zmMY#yJ=h48V!2ZsIs@66AK+cHZn6dVwU1{x1kaD#9=cC=v}~6kQ{;#HDRJ_A;*IqN z@NSiQ_1^&o8q0Cg@y*xcDR(W#>&w-`h$RC_6uj56Qu@gA@Ha(I}HE9SvXsT)M5-- zY1e!eExPqV76+?Mn*e9gbUxNILSxu&j~}>M#!COT#fR0v$@(skQ)*X%q|n3VSA;TO zIx1u5a7&V{q)py|Cc$o54%S5X?y6GJ^xfE*s>3!#ew!1mM@KaQP=?j7B6wE+bowFU zDbn!#av?aMT#5s)RU&u74qwH4rn(#xF!<2YH>Qg3eROvW8e||ccG`49#P)s(nqxS< zQkW1IgQ&!LnH-hv&|~3W%Ye&2EN)3<;yKn426AvIzJ?`OU<_6Cvs((VRawBI}iCr5B|HY zseDjUFBX!to0oy=OTPJq<_Rj;(&VsFP1JmAv)ahc!|-trU9ascJFofdwanA)nQpVy zPP#?qJqgjDUO2ML^~4dmB*uky`>`gdGpYeHY2&Y+B5D&!)RjiFy(-nc8na_a$>?%K8qRw#+T^_ z`UhTc2->k9c52ild&;NGzIJ?sfWep6DsKt1!+)ds32K22~9xgpuM&IYpW{ZTm# zK_f|7YR+cFkcq|2XYWykEw_P9gf8>gYml_$e?@pNWi3od-Dqlexd^>#I9_RRzbnbN zMx~(y7e*5gt4?x{l0Y1u7FMirVy~`FGlcwZtsMMx#4{_z@~Eh2H@Kfr@El!UGoGK& zIZ9iIP&~B34M(kH3F>bXiD%6YBj6_ zjb?W2M{QTbgZBk(okEn!M}|j!Rl;p{&dH^I&f9(N7)An>PGs57ut1rA2I@%jdNeHy zI6QR^IXO8b`Rg=D5(zX+vU;kNOX`+;-h|)!@B*z37bRtl9@v5?6n_~}B=z~;&{Yhb zM-5x18H4oGCS0V`M4tZaH$VyLvw_(V+j2fmW&bdF^~Gk`!RmCWQCrmjV6g;QfFi?U zOW)$6q@`WP-DwGV`C^kJvnIy0#5LMiyN{B0nX^md7D|dqg`^09e$jYAYClCBc7}sw z@8k4CsSEbXDDGxjQTO40z2DgUnbV(v9R%X7&{V)!x*PX12x zlys9}yW2msv&kGR@Hq>K!KCTKwZYvt*NRSNZip2Xah~5bV z<706i;hI%dR%SKh_RT-C-Y=}$J1p$vW9>A_aJ{|SGM26N zM^K7sBDz*Pa46ZP0DGc;2N4oEOJmbwU0baBaVEYtO61S{rg+rbf7(Klcux#4Nv;Z$;my2zV$tSZ*cnR9mr=NS zVSnPf7)=7ZpY|Ukd*JC7t5laX*x-2H_s8PlBu1U2QETRw6BSRX-!g1iQpK7N$$DzK zOp+AS9~~#)C&}Wb!q*-JhC}t_ghP$gDo~&z6Yb-aG9dkcI7Q!b``OEuP>b&%!qhh-w;2MuvSbn)FH2bOU zEu>61;&!|Qe)o$*i1QxGbK!FWdx+B&=KG&YxytVQ+~%7_-%!nc!nNNyMot$K%$^Xm z*i0=i)V!soJnqhO0vS#q9|+FTK^hETe(zC2e|x#~7fff&2vDFvSMlE>|0frvG8QrOZ=Mf4F_H-Zl>TDVS7B-jej-N0@MSLf4jZKoa`uEhg-5duV6s19JlP%4D zsl%NeZ@pLLsf|}$Ona4BR=isP=I~ZAPu$*oX)Pa2%mLyDan)hxy5J|MfMyBvBtdTC ztdX&MLqiFbwP%}<+Uw!aCyQIDcF{UNkIR|vIn}L9_!Zxd4F_ou;)!7HoulJrFJOFUh1!w#1u4TV?jZi;x7m8js_=RcB=Q=FBx-#apyrv^R+*_rJOBxa)G)SB!hAi49JsW{cRI5ILaA8XDV z*ACI#x?vslpBlFDDx@YF1AHp^vstbLgQu26Nf<=U@c_&a#8Pzd&GobrMa*7uW%pyeZuBnJjSj z8{+5}R5GGTGZ;_j|JVGxjml*NJkG6P6oun(*J!@)S+;&@0uP=`DxPe6y?XI9k6~G4 zJGa?DJ%h~d#>tT$Ln}l;k2J0d^wA62BDb`?ymTY0Hq@Ej2=?i$rma+Et0WTESs58v z?9w2`S#Es29DqLWWo+tQL*kvT9oH^sRWBw>d+N(|IExI&Ru=JZ5)Rl~Q?gwy?X2=! z-InIdn-~p)>b>z9AD?OB5kc7OtXPs#a3m0yJ=f!inu(2DmO2AwaVnTw4m*= z9L&+o*!;YFIgDu(^qh*83uS5U1_o`37AliagF^32C5XUj4ZM-7Zaq83I&Z9x=9yDM zImnQ1n*T@oBYrHpZ-Vzx))b#XM-6PydA!Zg9&Yy^)UzsvD_ zw*HX zd2IX#i!;`9A1VdCGQLw#DDfzGTx^^9;48k;OYy2C#=Y!o=Lvn?^dWt?_oG>i^~Y72 zh~{8s=cOXWf>Y&ap`fJV;*|<5CC?OUA;!hT^q|))Ri&Lg{ixrLaXI{%W8%B%=~0LE zT!nsHij*I|3RphUiREy7Pv;tF_E4EA;=COit{{0! zcQXDqss!Ctl12!-H;_taiYRxD1Y&?UDRrVY19MJR%g|qQ0u_rOj zGe{B*Q`eu_Zu0}S47jyxw_f04L zo?33-GySDBOV{cHpO=F9(i1i7pgYj=LlnK2^9M=N-OuPP4&S0rM;_(194zaIf<4tP z7!S;CH?~)b(vWsl&W3w~KYY+}&uBsh>GUQhskX={z;_4Ya_U4K>Ce`A&y8Ls*(>2D zdAS)4MSdIkkb(@pSBT3{%@#5m{WqJMBO8JF5YT1i7OYR8V-Nfk8t1VQ( z`?#okZ6EHJx{^9Kg=W2+tF4c`r+!;$ZbElnqSv<+1iqT|bB)lx@EU2m-`}2`EjOQ^ ztu!*~{ODLN+GM);r~ZV`t2RSzs-df{gZHY*-FB(s4M@WYG2Smm!m&)%lv@V3j&g&YtPwkylyb3baM}COsbbY<4)==4*AA66L6_4RL$*`Kve=r>B9e6FR+YkLNDWjlQ`$ z%Ng_2O9fo>Nh_rver~XgA3tVss_uQWX0``=&@$v|KjR0h!@@|QA{Ho`u=SRqMJfzE zpO?wDiFmv&=M!enY}F8O*)LRkkD>fj!v4FC(7Tc2lc&$$(*ah=^uqeoB0JmWnL>wCV+=zE^23{+-po4kL%#US?( zRUeJOq1CE$qGa*?J!APta%9n5YQ^U-S(pQzLFa1lG`G3~0@(|+hC${f;mV@kX3^o; zJTSlN`n=7Wr~H81ai=O*DmtA7h$H?>lO3;UzPXZ; zfnl_BJ%PS>sprrf*fTmtDnR|8Y9CyetLafe%Z}9=^TARMwPYPf5NHj}##l5t*~oBW zzhB^{_N|2R;Z;Z#@q~-EI=23lPpw_q(O;sSwh zdoY`vbfI)F@@=n>{%#E~Ju3IG0 zf>6K7w~5>zz82s~tlXGMn{b;o+w-Bpz0x#7n2dhjX1%xtBVvBD;VnU?V;q*^?42v} zkXlzc=`(+jdvh!-(DcG?8pMs;&giiBbd=aOcHSw-k7}s5)EC3}0mcth=~)mjo55{6 z_KfuN!c0z=kw|5&b5cB?bYizBP^vy7&S{Fi`1H*KD((y?V$jC|-3Gs%=#0=A$-k5=m72{!1IYKCO{4ZJwcBk1lu z(XBO-;B{}7dMj+=d$Kyo0Rt<4&7JWJ`!2eue%U*5L*&MClDxG&n{;~Yv8z)WZ*kbv zDhHfIj}l^)Fx2~WinB9uwdt-9Ce6wfpn|;qyml-MgKH!U+7Y$eZtioSNF%VdqGpx> z9SX4byKq~X6Zz&*M4L7PV=~^Y4woz$ukBYKxpLSIT%O#!`e*h^8`ndUK&XQ(_7k<9 zHGEhkdTYMC@$7y!nIGgrN>@Gv-&x99$^7b5__WMz=CG_WSj`>qUZ} z*-p?YCmFYUl3WKljn(V1T4yJXctx=G%w=%9Sd3A@v(hdzqith2H~@ZHag<2_ug>pRV38(cFpfN9CmDYFS`r$X`czQf+_148tXtZrCtt7AYFfgJ~_g~WG>{U zbeAZG!+CS}+oDaI&syiA!r5!aMJ}R|)1xc#2IqEXMS#~%ZhT>-^fKPcXz~Q$9A!IS zb<=yO{8L+_6kD-j-6+m$ddvkinceQkmpk~a4#S`8P8i0cdjw)I4jhxmNR_1>NF7wHbl?4yz8TXzK<{C9}&r7~m5|5WzOVz3P z3(fCk(%!Uh2&Dh*g&<++x?kRvD-}CI+r%VW8$G|O2ZV`ZM&}R*wSM`;gDzw47B$?p z_!0DV-N^m@8P_2f2Pc($&SMc?!gsr+p;5}toue_t4qj3AwQw`tx}wYk%rT55p5`VG z?iGMar83-PV6Se2Kg2{ zp&%Q*m9%>vXRJKgjLg*3p>6A5S#`r&P7wJ5rR*F)>FCHnqV%Q9@aaxw=&+^sm|@3W zGgsyx&r!_!OZW`|UDaETNqaVkR9(QtL!6(rKx>3%Y6|1qF?sO^p*6$Z>*##3O1oD5hpUC+nFikmIVK* zmKGndd}1au{pr?_LIf!Ox9To4ptYe=zxlQlHI2cLy(2kGX3=G^K&L@sM@)%PWKFw~v=<=@Uu2FFHM<;X)Ng%)CtYMXQab14!j8$Ct?@uG#8H0r zZz5{PqFl%0YO7TXxJz%z(FJ-rWHP1myW+zygNVxN3 zG{S3zdJ-zRR34(Wh?E13za4I}qUOy6?>nGCVIsQRWrDaA}Yrf#B%&iq5Sl06eXi^Ucq_$Z5(7Iy0szba|} zpR`fVG?zWIp6PtqkRujb#rqB4QV`~3;_K)gC*WWTViIzDq9{0Y;mAo&TOw8ZvGlF> zsCM(me3Mo#_B$L+PzsB8z+!)Y*D@v}Z`wLI6`y^tWP$^_0S4oj?x-bIMfiZG-ik{? zcgyAXHhQf%O{eSwoE>74O-wIO^V!+zb{*+jJ#%>e2-)w+3TwBJfECgfn3igKPk>q6 zOymj-LWCJ6HsNgqZdQi3?Mq4%iW1~Qe7?8FD^#|}W%A?PjOgg_+)T^_EY~v$b)uEM zlV#KOwyAGveXmOj+91qGf^qf4JFlx%0uy-G`Q|f+y592e1#NV_VHW0%yZ0pdm)`Z| z`Q26hr6FYdY^{fj%sQ>jIw1VZG@HTsVu_PU>L|jC>(afQL-9kG_oR+acLjQrMaFer ze);K?5D005y}5LPr|0A$ijLHp;JpCrSgx_Jx9#xCxj20T;>ppHVPhQopP;?p5N~S@ znlDeAGCNUI1YSsYc1zOX!xFfjXX>}T&^Sesl`AR*J1g6@uUYB&B6ln8qh#a3Z!ZQ| z7jCOYaeZ8U(zK^?WQ~%|r9Uy@ZMGlTyxrwXA;(6-a)LHbUH>22-ZCnVuH6^i8jNPD#UX>CSY_aYJS+XOCaCY z3=0%lMhU=r_31^LAFpXBxq;Il4_%J%fOhB;Zur@&ZGi;xeVRW|Rk}*?rPki}GNGX{ zryfzlezswuFQsa=CD^Ke3g4)~$iigW=>l49M{p3j!op&@BNyT*C$eND)4)7QhYDqv|W=V9|g z^()&5_O0=a@D=nes4pLdWC(W)r+?*u=?F(q%pU7GRs3(%79Z8noL5cIwFsBr-Ex#J zxM`CxtD904PX2MNmJ^x|ygl(BaW{-lpe=V6R?Lp|qfUS%<~5Tb3DIhl5=ivjw`Zk_ z@j^~JT*#cMe`cfRXvVpJ?VB}{hAes{_HWn^lg8`&Zj+asMS%U|IrqgJZdg-IGjHi| zXRFO7tQ63iPOF*sFpi+SEARIzkIxw<>LmzM z(6L{?H1*w_bYiT#O#G1FRgT0pYCwMKZ|!$`wKrc7oKlMkRmi2LAko{6j%1CZC{EV04&}9V>Zuc6$2F9uZp}Q`010 zR8bQ8@#%>sl}s}%WGAdMst0Y3f}NQCmih#gK`WKW{7GbUYim!Q=VOwh=6eW%c?=zn zn>;%fRLo2x4c<(O7Lwsb+Mz5;YI|`M>?Sqi5|YkMW3);uJVwDLbgS_ZTZL`{1dHC3 zUg}cz&mEDtv*8z0Q1IY;;0G%3>6QlKNfN;oGQ%JWte$$8kYQfNL^LM{XlQVr4C9?- zq;sD_;SYuo;IXzgWCkuWivk_noD8Bd-09j5CUTRXP{N zstfT$^Z&f^K=aMDr%;lzG+5a;*i_kH=zH0atb@v|oM*6oQDnM$-tsHFqhFC(E2!qT z2g{cCdht_=!U%I)_jI>Po=039)%qIzi%;eb#f#sj`2aZ!kVZ(uyycM|KSkyFncZqu zg9y9$?w&vOC#0?Z6!(M42Y2VAgm|rr-O=Ku=J$;`DWRgP`=KD9f4@PjQZvj6dt@mB z5nBbSSg4wU0`U_bK?f@NYhJoj!O0ci5X|Oj*RlvC>HKlS83@aAuGDRK!sqn5^#61) zLP`P6asb`x6eRq-rMYx@JxdNs{E}$T@?GJxVvK0w(ROF@AlX}FS8d<7Kkp(^4)amd z*t{i$7wfeE)etziv>-$7v}I9oslcK?$wfl*Lzi%3C@9Er!Ul)a-gOQ;qZv>B#t&3g zMH-rh(~)pbZ+bP*JCZ#JxCGPui2F8)p2F49k-}U)=$LFOk2HA+z-}L`d%QgtVwJSX zxOl9eTFAX75-h%xA}$ror%N~V9`ZrtPj;%(*_o{meJdZRU=_*|MSQrd6(-FY(Gb3i zeWM;C{){-;BsH7y{W4?iP3SxBpeU1rrMiJSO=2xG^Wo_D#w=K>1@vy8Sy>bSfa*?xH(>yr}c}*})zCmr2#)y7)koV6rIl`*L^I~1;EHxg;c{Le@ zL^$zP{(OxwZ4!A9x~7ZT6=Oz&z20awbgqK<3NLieFNZ(LZF?s4k#Wj;aYel{k>PA0 zwhOt>MBe4{xG`!~OoG2?Hs8}uq7TD4pb4310|_X+q}dhAhCuM-JRUbwFhu-3A09YP z|48y3={81o8x_Ggl0j01<8`A(3?>)Q9etZ37IscwvVdje&<>f8pUhMXl}Zlgm+4oy z^(Zz=x7fXfKu!}VuO65@Jr8M~)G1Z``>10ypz>L($V6;ac7+O~n4WpXhGbzW9+ooQ z+uK~ay4Jn-fBeU_@u-t3LbWAKOweKEHKO+O;BaVRLqNA}1$=;xs6~28(wr^LYZDqWrlJmyfN@(tFEfEd%Ciz}{=Vro2ca0Abi98vRGrp{pqDxT)lL}0S zt44kWT1g=srgP^z>~L^P{+z6=y+cFQRaK9v{+cQ)L@b0!1+Q2=~q5%@!hyLJ#8Xx)g zhTbEtClv$4vvxVS<{|j!b@({)!EtWlgr2F%CADt^i=PD2maANKWRor=rb_V-S(-_N z9+*e#_Hy$W&WH5x%6-(QR?UCXu-$LJp~;C^#Uy%o;aN3h6J$V_ChZ?!avAT)Pl|qp za2yR(KLbV3`2l}C7EB(4mxtM3K&-fo+(B427*}15y+?e&P~4cbFyO9VJTDC#NSE4L zLQcc^pyMae3kXf<$#}DEO`1Ian<1joU0-3C{@x3?r8m#*U_QdTo#iz~^+!34iXV2y zkN4wRLvqcOBoZ`^kt#27-dtNU!Yu>(QV%IHuK3jG2Leu9p#Uxc=dvfJw0YWaMWI1J zBLDQ|URZ`y-mDR`(Ze!&Q&qaG5_m*7P>U=WDP=!EYV; zBM;P>w~1zRb|YDh~{wK3#dJ#C0e zVdZll)1!lkTC(dsg`ZYF)9e!wRccgBxBnNGDoMDCRQThwkHQbKQ4`=1!3Nbj5GXF zOt-OzA>_C^o=96sX#B-pm3GT0{vTj4_Qg@<5xT+6(4&Yv8M+A;XjC?B)Z_|3!QK4N zwywtUHxq=nnUIg|?CV}wN(nCJ+%-bElFCm*#a|_3&u3@W=9uU8``~D=uTu3mfdIp>T2{tg;(84>)^$AqSyX7dNZu$9&j^imI;X;@v(>cM7eCpih z%h~RVs;n{bR_ctzl=%oWqw9X=r{*JD>zF8ub5C8u&n}MEBqu@6xac^OgZ<$uM?xk( z0iYvnAF-Gpyr+g0aW{bXd54W6T2}GHMuvbJ$)3F3NJ>e~J%(7N;? zqT8=Z?w!&gbhhg2A(U9^$=Gx5S|)`%%dzQ15VrvT3^J%$>7_#6XFMh{J7t^oTK6`Z zzC6O;MwdG-g$7s?HD@xcuHqVs*zMQ8wW7Ow88N}WS#jg|30SecJPu|GRpR(~FCw}w zACtEtF?DrywHLQ+V5C?c#ZnWy`G)hIKkP8S!Ie1h{RDA_4DF$$N)kEDb0KmrYY zTa^dQb=7=>g6ZWt{Ua~;EF`#+UJLS?CZs_MM|KtXIjc*A72{z>BXqS&rWE2j=9M8` zc=ooIOLeZRWw5ykT8nq^K0<(L#|b~h)7`Lev}YZ0o>5zxsK(qe(E2kne9A1Za(wW0 zsWt-A5bWMzPZ^?-m8@MFRa_bTgP#5J;%v&SuAbi=RKjsREW_siZamp zV#~wM%cU;jVR%Q2El-=+N~@<=A3#oMjX#y^B^L1{luE`cwFCmXC$Wj~NlBI@76R#? zUzz(2mk@pY-V|m%*{e8`+KbhdNTaxeDgWe|TS@+bn$mjX16d} z%*dO4;FGtcuoiOZ?6yX`80#uiUbWWYseb6rL7g>yEQ<~ENUrWDt$esg`2MlxPA0t` zxj}z=*_Ocj?XBr$r}BG3O`RXh%nOcCT{AY>-Lpf#P71TIEhde{n%@@vZRIA#*{BKp zpN|>uP~kjCO+}tP-?nH&kDOfWZut&ZyK=4$_7n$nt?7~$oGxzfsvpZf{ElE!Fx8()O{0zPZa_qji^>ZSb> zUSU(IF6XwQL39|cnbSRn@l-;F?SXA<>ejj}e`ZPu`0zjWK(3l z#Zs7Y@yr(2(6(li%A8mPfY3E;9kZbJ*>HGC7PFL3hVD5!+~s;OQc1eHUWw;l3gzv> zE5QA2)xLhP7LsgcL64SiYOD>YB@yT340R62`i*}i51_u#dhS4mx=o~!XP(Uj(4@aa8+U_{&G!Vc7NQl zD1wm59h&`ZXdA?^%{oPwzQ+VH%OP7l>&epG$(&vD9KKOAOT+G*DKR2v?e-0~==>VE z5ZC(V2*C)B2JUa&pRph?xqDJV}IiKy?eOxZ9we--aIVareA|MSMjI$ z)7|o;`f4Ii{JL&A>jpkyu(Xq|o5h?*e`dR{q-?Kd67p-0+rTw4uN#z${u-CyUkt8Y zys`A$_7I{PD{EunbVkk~dfX3IIovH9qnf%u z64AHuRo0@qa{ZXlA?@I6-@4BCNESIm_D&XD7L(OgBH`u^mR9=*Us_@hD>3-Yp>and z!PJM_n}hVP+`SlHZ)$)N(fd03oYT{6TIf!|O|UoIeUE8>Z*S}5=Gd00j~>Og*?hba zgoaW|O0RO#kU&9lc0|_2k@C!^;pjM4U5atuyKQcw$Z9|-@U}I`&303pHOPH$zfS7F z_|jA<0EU?U+V?KwQKpG0Baq*t;1})wz9r4>&nuA|+W4QwcK7N{Z{WmU-~Lo6m@uQo zXM`sxQC-HHb2?lJ(YbPchi5V<`mm%R47ejY)qQ6<%ON$-tYVq`8~a%3$W{<7kpra4 z$~%s{^elh4-qWxO-6sA4UR zMT8mu$(l;3_YhcF2s?SAmXg30pUzxCOS<;ldPr?z1sW((Q0J`*y8m%}RXX>UfMB-5 zOc{`C7$%pTHe*&$%E8TQvJ%n|iQEuCF(4%YavC7cnmf6JB8&U z8{$>+ve-41-Y~o1Kq2CHFz-B}mxCfeuyD?=;;vAAPA96W)=M-MYb$eF@1%;0vKQcD3nG8?A^gpjF&g||ktw>4JM1s&W zJ|zD7l|Et$LJ?C@QIV197kauc_qeeKiNAt>QGm~8j7snuXn!~DH8wWhPXf}K>kgU_ zapo$ZC0Q7Ed137N-ZTc`?^sr6D=pZJ`#*LdV^gI!heYLQ!bm=R{rLIwkMi!Ta50~>DonrgD%b<^ycCjh$=sMYeKE9WryJ7a-^(m5Eg1;j;0W;Z19LzL{Ih_d z)(76F6^af|N0SJsl>7VHlD?hm6g@OEigSeiXNph z9|28%j2-1S(2OkB(Fb9kf+{1S1>UL^s33>U{c$}@6>#S?8x_qONe7+>4g^OmtN5xW z0cn|5P@-D z9HU;H8gSoc`8;x3#`y~jkSt10;=%33vgRYH65P~j`Nk0kcvD7CZz+yZt8C-xM@UE_ zr`7C8mITo64Og_mZ0kKyc^}c1#YX8WYkpH|1Q!x+*5}kuI0a$6x3pz^S_)`ec_)W) zjTIpLV(JtD?&J3i#m+$boR1^^PUtg5dKg&dD;?hMCi$c+;LU!3_A3h*f_^DoZSg|_ zTCzVz3_T%xdjfBNP)4b*biQrOQ_%fr*8RzeBrdM8tuhuI%DZqjj1>x7A|T?8Z`!4K zYAb;x)J7RQ7L+}YMe-*Xb0YT-U@XTn(6pT?N|mT_7QD4`O1O`ouu-m$Qf*&&RW{LO z2)=fYOh}pfLqegVa4z$u!mcOVd!}^=5&6R877!KyGH4QSJ>gjPV)Zaa1O*a41Q>9$%TYX)i>Ur2tj4Ydi0WSfzxS+9ZrrImw}RyJQ%A z`f-+7a@)>GmDvP}pyj|2;?(Jr%wJHc>p>M5;jxA-qY!XoAoUvm|In)WKXJ%>rPAh; zMdWmM>z7b<(+ru2bi7GAlAg zs?B%FAW2|%_GQ@5U4&rLhTRFDz;^0zp?Zk;9k=CvVao?)5ldcuqz%86>wpI9;z))48i`;FGw6=3$d%9-P)TaG z!Mb8)pw(%`ZA_#PI202l8i;E|c0C#==9qiHch#^VOOyB@aSV6O@lOV>0lSs{z&+Q^ z%8af%sUuVw!alg``Pv7EY&GaNUQ@(Q z${Gw(A+Zjw?~uJ%rZ8HNX7bMvqU2mt%^&y@{Cw@GVIxso$Z~3G1Tb-?=&UkvG5jR6 zh=C<^i5mc1${P*8ueRCav`XZ%@!FLGX5s8e5ZLcIphg@VNpf#!2CvXJN-TpRXU7R!TKmUA`U9+F3TM5SQ)}qBEhM zc3^3WL1sH2zTxA$p4(bquOO}e1fA?$5P&{4z9J+M?G*PP|E=M;XRw+1C&-uuRkS+{FAO_h8=7Ob4pr0vP z2?V7))1_lS(V2_Ca*r5v8~{%Y2onX=z$RH)y&1P^*@&W7;Firakj zR2_lX&2t1LP{K8$QH%?vNihu!e7^uPI}p}t2Vtj{q!PMi>QuI7R@V0+5bcn<w2M|=uek?LZw$%u&VOxl}1@YGYtl5 z)5uyUvtHBLcu^(4%zNd6_`(+-WT@0>a02BJ!&W*wq*-)`n9_zI>pk~`s=|~B!jdCL z%s-S0zgaU?<%=*WZ+{?a8yyhqppw!1;CkB2hbaN*C1PKl<2r#U!y%23I2%JUhwAc= z2=y@xEy~aZoe=z7{rFTl2{#v)%<$F2s%%z~_mF}Zlw2f)yb^}gIx>_38Yf6u*wAOl zN(~bDMSw6P*6W1#p~Q$7Rzrq}aLaQ*N^^#vFc%-P{Ovv9szIh^x4&8hxGZPvHs^2n zSQ12%)bO}#X!VSU>cK}F4~0l_+A(IbH)I=w3tTxMBdd0yI&TvLHxk&G`RAzd{Id)7 zGII`dkZuaSYCVwy|FPz9K;ah0`rTf>_8+=De(ze7rx8zTzg0&9RPec(9MMuE$Ej<3 z5yF=5;O~UemC$lMKSkK@ay?1L`liIV%^^*^v;ES@~Q=)tZ67G z>xz?wc4`;pbb(DwWTd{45uhFEb@XttHwC)c}9V}(+~?u2w~jpJRM)d>pDp9MfTZAMdzm$x1Qc3wvA zs6y`usdsZI*0}FYG1;+;aJ9aGH;?1^6VTm0+ZO7*ru)P7M$?mE($3y7U$401tiGBY zTMzOZZ@9qgAb&VLC?XYNy_hFm9->+}*&X3|`+=-Z^~jqZ1h#d$qBS-NFdmzq?Ch%k zww>UYQM^Iq`)JaCoJhG(EbX>7!%UhRb+D_-A#%2={aX#@llMtIOEoiPPaHFTu(NYy zsR{J`%o4Wm(eM*|ZJ>3hG*NKvv32$Gk!ogUMqFH6`2E;z_;O3jdmN7kNyb@a_@&T3 z%2Ww|N&E5z;PbBz;8Ny)Ws2$@?-Dy{63gt~rfN+pGh7cMbg!(eq^71GRRyHg{0AhR z7S6~eIn>%{-ctcjjjGF~9NT_FpM26jn^P-2^t4s5;8sPww;vf9sj8|vn!N)Uo?m(p z1wEjj_?lZLi_)$N9!}w-DeBrujgb`O{M5muu$lQUYxkcpnq$2M8_z@n35gG2wrD=` zh5!MZ+fN@vOZ4G~O?63d2vMvk%2&gu_Kq4$jkG z>s#N58a8hH32RS#D!j3?CD|Q%35YKWVNs03U#e4%x38a%hwhJ3YD*GZx_(k@rTmeU zF{H_vKN#oD`8i(*8xT@_{0#X0X}wqly^f|xx|mpxcqEP&3Kjd@PEebm-2aga1Wqn7 z_%gyNWT!v0!6Q6p4{$Wx?6P|(_Iw!4Ln2DAoV$ttD+374b@-+5DKeY#P0`JNrvh#_%!MKRZaZZGP0%oBR}1gu33-i-(M-PYtz08p$nm_!B+WCcJK;>@7aLs7|CrT5Aa{3bI-xD%S zQG(X)(@jTlmcchC%get|8XvQ(mKRUuTQ{(V$Xh9DXATb!0j9?CVCe1baY6&E^5;)% zEkrobKRHswAP4GnSA;55uTnMTs}9l4lbe@XkKQBf*r%36{#$Vupf@g-2V5u^7+2@# zAd~>h8$;)#MVMk1qSp0Ht8OQM_>Ur`mLUJTOFy!gT`n)Lw1*e$5b8@ggtQzSDqt{J zZEbDFYvhZdXK}2Em&lbqK=PzoII-vnN=;7fY003(0pSN`-3{!ia&fUtIzM^AM>*(zd>fDe_`O{5%1g!-hL{{Lk2g z@D`bW$u(AZB-?{7Mz`BveZKB;+c#yu2D{CGhr^TB&`8|oo%*e zn`t!>OTpv5FsgrXjSXz11dPv%M8cgVSG(H5Ic(CCm$Rr2yk^faw}wD;zdW%2JDH!C z({$)hM*Y#ZucuttouT`4c}E2cd5TYb&ZMsvgjh_cd1-UMlz-I(nyEIK^q8O0i7#6_ z{1W>K8}NR+W4c)_#OGzT)!O)Uet5+%=4W2MmKILJX}X@RVYj2C z;^BI=-^f;d-iDx%|L@Rp{rA3CPZS9Hi4*g9)2@v6f}IVfNl3dP-`JioXN%%_%pW5C z;v>OFk0N;kBq>gA1GUTjtb)3Nl=P1K^WCqptM^CUdt)Rwp~ah4u1mAK$^~T!Iy;94 ziM+LLx^vTbVk7f;>T>P9jO;d@&ejIH79Pa%S-IGo2HD>p0}&3~9_Q-Rpni8(nV6)> zGj+Cob}9OFa3H|uy`fEf0L+^YStm^Qr+>}9*Fdknc6qyYo#z0SWyDaXBYR-hQ&HlV zxuvF^)#y+7n)3?_9c`5=ZJLxk@eW5ZpDG^;!gU)Zay*s@_B7|arpsK&kFau`ia4ZI z>uosJwXDcmdbFNB;yD0+V4r{Mv)@vtT z^5MgwFatR_j_iqxb`>F4cw5 zCMxLwFdUnkos*BKJw0YuA|$ji=1w{Ya5Nv-2e6Ml>0=oc=VM_nn!Xf5?+nP!uJ4P@ zXS2*gGim=qqyioARGpqd|5Aer-El%rSBDD(9OfkfdSCVD%$4N=G_?|qgNZP#rx$Zn zRT((O|9lf^?a{qCohSeYFZ6vIFPd8ylM9=w)v8y8dL5}&h2?*NeTsG-+U=C{RZ;<0 zzrnp}Z1i57@g1wMj2@h;x`HbC%Ai&;Es1`#W#yinDoU|YShSe(MQ)3;&NaGWL}cdu z}sXa=o6dB(U?$V}buIfS~3mX_Oj>RiSp2G|G~%r+2S|kEFf=_|cCh&ka&v(YI_Gb*u&3l2n0?rdy-31H|;KRfe{!ioXp${+- z4he)O5=WkKAlUjz6CDS^VUW35SK8EoMDv=$I2S2=mz_3M^hAN`&!MeyRnohOE0KY| zzCxuO6o8n(gn1f>p+T6nwhtI|OH6N$^|NqjGahnnxSd?&#iyf}$CKrBv#rWs;WOKi zq|W)7*3y{kV-)L4@ZDOtqo!2bu0$DdcJBMbUF!olwUGUK_u)c)Lqo$%0S0LOLE(MI z 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 literal 0 HcmV?d00001 diff --git a/windows/keep-secure/vpn-auto-trigger-profile.md b/windows/keep-secure/vpn-auto-trigger-profile.md index d2559a3ceb..676c33cd40 100644 --- a/windows/keep-secure/vpn-auto-trigger-profile.md +++ b/windows/keep-secure/vpn-auto-trigger-profile.md @@ -36,12 +36,17 @@ You can configure a domain name-based rule so that a specific domain name trigge Name-based auto-trigger can be configured using the VPNv2//*ProfileName*/DomainNameInformationList/dniRowId/AutoTrigger setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). -Domain names can even be configured such that VPN must be used to access that resource. If VPN is not connected, that resource will be inaccessible if the persistent node is configured to be true. +There are four types of name-based triggers: + +- Short name: for example, if **HRweb** is configured as a trigger and the stack sees a DNS resolution request for **HRweb**, the VPN will be triggered. +- Fully-qualified domain name (FQDN): for example, if **HRweb.corp.contoso.com** is configured as a trigger and the stack sees a DNS resolution request for **HRweb.corp.contoso.com**, the VPN will be triggered. +- Suffix: for example, if **.corp.contoso.com** is configured as a trigger and the stack sees a DNS resolution request with a matching suffix (such as **HRweb.corp.contoso.com**), the VPN will be triggered. For any short name resolution, VPN will be triggered and the DNS server will be queried for the *ShortName*.**corp.contoso.com**. +- All: if used, all DNS resolution should trigger VPN. ## Always On -Always On is a new feature in Windows 10 which enables the active VPN profile to connect automatically on the following triggers: +Always On is a feature in Windows 10 which enables the active VPN profile to connect automatically on the following triggers: - User sign-in - Network change @@ -49,7 +54,6 @@ Always On is a new feature in Windows 10 which enables the active VPN profile to When the trigger occurs, VPN tries to connect. If an error occurs or any user input is needed, the user is shown a toast notification for additional interaction. -Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). When a device has multiple profiles with Always On triggers, the user can specify the active profile in **Settings** > **Network & Internet** > **VPN** > *VPN profile* by selecting the **Let apps automatically use this VPN connection** checkbox. By default, the first MDM-configured profile is marked as **Active**. @@ -59,7 +63,6 @@ This feature configures the VPN such that it would not get triggered if a user i Trusted network detection can be configured using the VPNv2//*ProfileName*/TrustedNetworkDetection setting in the [VPNv2 CCSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). -Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). ## Configure app-triggered VPN diff --git a/windows/keep-secure/vpn-conditional-access.md b/windows/keep-secure/vpn-conditional-access.md index 0e42e98869..d1b31b2fe5 100644 --- a/windows/keep-secure/vpn-conditional-access.md +++ b/windows/keep-secure/vpn-conditional-access.md @@ -15,7 +15,7 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -The built-in VPN client is now able to integrate with the cloud-based Conditional Access Platform to provide a device compliance option for remote clients. Conditional Access is a policy-based evaluation engine that lets you create access rules for any Azure Active Directory (Azure AD) connected application. +The VPN client is now able to integrate with the cloud-based Conditional Access Platform to provide a device compliance option for remote clients. Conditional Access is a policy-based evaluation engine that lets you create access rules for any Azure Active Directory (Azure AD) connected application. >[!NOTE] >Conditional Access is an Azure AD Premium feature. diff --git a/windows/keep-secure/vpn-connection-type.md b/windows/keep-secure/vpn-connection-type.md index ecd032bc82..88218c2ae2 100644 --- a/windows/keep-secure/vpn-connection-type.md +++ b/windows/keep-secure/vpn-connection-type.md @@ -15,7 +15,7 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -Virtual private networks (VPNs) are point-to-point connections across a private or public network, such as the Internet. A VPN client uses special TCP/IP-based protocols, called *tunneling protocols*, to make a virtual call to a virtual port on a VPN server. In a typical VPN deployment, a client initiates a virtual point-to-point connection to a remote access server over the Internet. The remote access server answers the call, authenticates the caller, and transfers data between the VPN client and the organization’s private network. +Virtual private networks (VPNs) are point-to-point connections across a private or public network, such as the Internet. A VPN client uses special TCP/IP and UDP-based protocols, called *tunneling protocols*, to make a virtual call to a virtual port on a VPN server. In a typical VPN deployment, a client initiates a virtual point-to-point connection to a remote access server over the Internet. The remote access server answers the call, authenticates the caller, and transfers data between the VPN client and the organization’s private network. There are many options for VPN clients. In Windows 10, the built-in plug-in and the Universal Windows Platform (UWP) VPN plug-in platform are built on top of the Windows VPN platform. This guide focuses on the Windows VPN platform clients and the features that can be configured. @@ -27,13 +27,13 @@ There are many options for VPN clients. In Windows 10, the built-in plug-in and - [Internet Key Exchange version 2 (IKEv2)](https://technet.microsoft.com/library/ff687731.aspx) - Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + Configure the IPsec/IKE tunnel cryptographic properties using the **Cryptography Suite** setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). - [L2TP](https://technet.microsoft.com/library/ff687761.aspx) - Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + L2TP with pre-shared key (PSK) authentication can be configured using the **L2tpPsk** setting in the [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index 88e5b76467..b0d5e30d57 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -15,23 +15,17 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -When the VPN client connects to the VPN server, the VPN client receives the following addresses: - -- Client IP address -- IP address of the Domain Name System (DNS) server -- IP address of the Windows Internet Name Service (WINS) server - -The VPN client can access intranet resources by using names, which can be resolved to IP addresses using DNS-based and WINS-based resolution. DNS and WINS name resolution require a server address to be provisioned on the VPN client. +When the VPN client connects to the VPN server, the VPN client receives the client IP address. The client may also receive the IP address of the Domain Name System (DNS) server and the IP address of the Windows Internet Name Service (WINS) server. The name resolution setting in the VPN profile configures how name resolution should work on the system when VPN is connected. The networking stack first looks at the Name Resolution Policy table (NRPT) for any matches and tries a resolution in the case of a match. If no match is found, the DNS suffix is appended to the name and a DNS query is sent out on all interfaces. ## Name Resolution Policy table (NRPT) -The NRPT is a table of namespaces that determines the DNS client’s behavior when issuing name resolution queries and processing responses. It is the first place that the stack will look after the DNSCache. +The NRPT is a table of namespaces that determines the DNS client’s havior when issuing name resolution queries and processing responses. It is the first place that the stack will look after the DNSCache. -There are 3 types of name matches that can be set up for NRPT: +There are 3 types of name matches that can set up for NRPT: -- Fully qualified domain name (FQDN) that can be used for direct matching to a name +- Fully qualified domain name (FQDN) that can used for direct matching to a name - Suffix match results in either a comparison of suffixes (for FQDN resolution) or the appending of the suffix (in case of a short name) @@ -48,17 +42,17 @@ This setting is used to configure the primary DNS suffix for the VPN interface a Primary DNS suffix is set using the **VPNv2//*ProfileName*/DnsSuffix** node. -Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + [Learn more about primaryDNS suffix](https://technet.microsoft.com/library/cc959611.aspx) ## Persistent -You can also configure *persistent* name resolution rules. Name resolution for specified items will only be performed over VPN. +You can also configure *persistent* name resolution rules. Name resolution for specified items will only performed over VPN. Persistent name resolution is set using the **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/Persistent** node. -Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + ## Configure name resolution diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index f344ba44ab..973dd202fb 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -21,7 +21,7 @@ Most of the VPN settings in Windows 10 can be configured in VPN profiles using M >[!NOTE] >If you're not familiar with CSPs, read [Introduction to configuration service providers (CSPs)](https://technet.microsoft.com/itpro/windows/manage/how-it-pros-can-use-configuration-service-providers) first. -The following table lists the VPN settings and whether the setting can only be configured using **ProfileXML**. +The following table lists the VPN settings and whether the setting can be configured in Intune and Configuration Manager, or can only be configured using **ProfileXML**. | Profile setting | Can be configured in Intune and Configuration Manager | | --- | --- | @@ -42,451 +42,180 @@ The following table lists the VPN settings and whether the setting can only be c | Windows Information Protection (WIP) | no | | Traffic filters | yes | -The sections in this topic provide XML examples for the VPN profile settings in this guide. You can get additional examples in the [ProfileXML XSD](https://msdn.microsoft.com/library/windows/hardware/mt755930.aspx) topic. +The ProfileXML node was added to the VPNv2 CSP to allow users to deploy VPN profile as a single blob. This is particularly useful for deploying profiles with features that are not yet supported by MDMs. You can get additional examples in the [ProfileXML XSD](https://msdn.microsoft.com/library/windows/hardware/mt755930.aspx) topic. +## Sample VPN profile - -## Connection type - -**Example:** set connection type to **Automatic** +The following is a sample Native VPN profile. This blob would fall under the ProfileXML node. Profiles can be created for UWP apps as well. An example can be found in the link above as well. ``` -NativeProtocolType - - - 10002 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/NativeProfile/NativeProtocolType - - Automatic - - + + TestVpnProfile + + testServer.VPN.com + IKEv2 + + + + Eap + Eap + + + + + 25 + 0 + 0 + 0 + + + + 25 + + + true + + d2 d3 8e ba 60 ca a1 c1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 + d1 76 97 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 6d 61 0b 74 + + true + false + + 13 + + + + true + + + + true + + d2 d3 8e ba 60 ca a1 c1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 + d1 76 97 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 6d 61 0b 74 + + false + true + false + + + + + AAD Conditional Access + 1.3.6.1.4.1.311.87 + + + + + AAD Conditional Access + + + + + + + false + true + + true + false + + + + + + + + + + + SplitTunnel + true + + +
192.168.0.0
+ 24 +
+ +
10.10.0.0
+ 16 +
+ + + + + Microsoft.MicrosoftEdge_8wekyb3d8bbwe + + + + + C:\windows\system32\ping.exe + + + + + + + %ProgramFiles%\Internet Explorer\iexplore.exe + + 6 + 10,20-50,100-200 + 20-50,100-200,300 + 30.30.0.0/16,10.10.10.10-20.20.20.20 + ForceTunnel + + + + Microsoft.MicrosoftEdge_8wekyb3d8bbwe + + 3.3.3.3/32,1.1.1.1-2.2.2.2 + + + + + hrsite.corporate.contoso.com + 1.2.3.4,5.6.7.8 + 5.5.5.5 + true + + + .corp.contoso.com + 10.10.10.10,20.20.20.20 + 100.100.100.100 + + + + corp.contoso.com + true + + + false + corp.contoso.com + contoso.com + + + HelloServer + + Helloworld.Com + + + + + true + + true + This is my Eku + This is my issuer hash + + +
``` -**Example:** set connection type for a Universal Windows Platform (UWP) VPN plug-in +## Apply ProfileXML using Intune -``` - - - 10002 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/PluginProfile/PluginPackageFamilyName - - TestVpnPluginApp-SL_8wekyb3d8bbwe - - -``` +After you configure the settings that you want using ProfileXML, you can apply it using Intune and a **Custom Configuration (Windows 10 Desktop and Mobile and later)** policy. -**Example:** add custom configuration for UWP VPN plug-in - -``` - - - 10003 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/PluginProfile/CustomConfiguration - - <pluginschema><ipAddress>auto</ipAddress><port>443</port><networksettings><routes><includev4><route><address>172.10.10.0</address><prefix>24</prefix></route></includev4></routes><namespaces><namespace><space>.vpnbackend.com</space><dnsservers><server>172.10.10.11</server></dnsservers></namespace></namespaces></networksettings></pluginschema> - - -``` - -## Split-tunnel routing - -**Example:** route list and exclusion route - -``` - - 10008 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/RouteList/0/Address - - 192.168.0.0 - - - - 10009 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/RouteList/0/PrefixSize - - - int - - 24 - - - - 10010 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/RouteList/0/ExclusionRoute - - - bool - - true - - -``` - ->[!NOTE] ->Forced-tunnel routing is used if no routes are specified. - - -## EAP authentication - -You can only configure EAP-based authentication if you select a built-in connection type (IKEv2, L2TP, PPTP, or automatic). See [EAP configuration](https://msdn.microsoft.com/library/windows/hardware/mt168513.aspx) for a step-by-step guide for creating an Extensible Authentication Protocol (EAP) configuration XML for the VPN profile. - - -## Conditional access - -**Example:** device compliance for conditional access - -``` - - 10011 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DeviceCompliance/SSO/Enabled - - - bool - - true - - - - 10011 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DeviceCompliance/SSO/IssuerHash - - ffffffffffffffffffffffffffffffffffffffff;ffffffffffffffffffffffffffffffffffffffee - - - - 10011 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DeviceCompliance/SSO/EKU - - 1.3.6.1.5.5.7.3.2 - - - -``` - -## Proxy settings - -**Example:** set proxy - -``` -Manual - - $CmdID$ - - - ./Vendor/MSFT/VPNv2/VPNProfileName/Proxy/Manual/Server - - 192.168.0.100:8888 - - - - AutoConfigUrl - - $CmdID$ - - - ./Vendor/MSFT/VPNv2/VPNProfileName/Proxy/AutoConfigUrl - - HelloWorld.com - - - ``` - -## NRPT name resolution - -**Example:** FQDN match with DNS server - -``` - - 10016 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/2/DomainName - - finance.contoso.com - - - - 10017 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/2/DnsServers - - 192.168.0.11,192.168.0.12 - - -``` - -**Example:** FQDN match with proxy server - -``` - - 10016 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/3/DomainName - - finance.contoso.com - - - - 10017 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/3/WebProxyServers - - 192.168.0.11:8080 - - -``` - -## DNS suffix name resolution - -**Example:** DNS suffix match with DNS server - -``` - - 10013 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/0/DomainName - - .contoso.com - - - - 10014 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/0/DnsServers - - 192.168.0.11,192.168.0.12 - - -``` - -**Example:** DNS suffix match with proxy server - -``` - - 10013 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/1/DomainName - - .contoso.com - - - - 10015 - - -./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/1/WebProxyServers - - 192.168.0.100:8888 - - -``` - -## Persistent name resolution - -**Example:** persistent name resolution - -``` - - 10010 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/1/Persistent - - - bool - - true - - -``` - -## App trigger - -**Example:** set Internet Explorer and Microsoft Edge to trigger VPN - -``` - - - 10013 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/AppTriggerList/0/App/Id - - %PROGRAMFILES%\Internet Explorer\iexplore.exe - - - - 10014 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/AppTriggerList/1/App/Id - - %PROGRAMFILES% (x86)\Internet Explorer\iexplore.exe - - - - - 10015 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/AppTriggerList/2/App/Id - - Microsoft.MicrosoftEdge_8wekyb3d8bbwe - - -``` - -## Name trigger - -**Example:** set domain name rule to trigger VPN - -``` - - 10010 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/DomainNameInformationList/0/AutoTrigger - - - bool - - true - - -``` - -## Always On - -Always On cannot be set with force tunnel. - -**Example:** set Always On. - -``` - - $CmdID$ - - - ./Vendor/MSFT/VPNv2/VPNProfileName/AlwaysOn - - - bool - - true - - -``` - -## Trusted network detection - -**Example:** configure trusted networks - -``` - - $CmdID$ - - - ./Vendor/MSFT/VPNv2/VPNProfileName/TrustedNetworkDetection - - Adatum.com - - -``` - -## LockDown - -For built-in VPN, Lockdown VPN is only available for the Internet Key Exchange version 2 (IKEv2) connection type. - -**Example:** set a LockDown profile. - -``` - - $CmdID$ - - - ./Vendor/MSFT/VPNv2/VPNProfileName/Lockdown - - - bool - - true - - -``` - -## Windows Information Protection - -If you are using Windows Information Protection (WIP) (formerly known as Enterprise Data Protection), then you should configure VPN first before you configure WIP policies. - -**Example:** provide enterprise ID to connect VPN profile with WIP policy - -``` - - $CmdID$ - - - ./Vendor/MSFT/VPNv2/VPNProfileName/EDPModeID - - corp.contoso.com - - -``` - -## Traffic filters - -**Example:** traffic filter for desktop app - -``` - - 10013 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/TrafficFilterList/0/App/Id - - %ProgramFiles%\Internet Explorer\iexplore.exe - - -``` - -**Example:** traffic filter for UWP app - -``` - - 10014 - - - ./Vendor/MSFT/VPNv2/VPNProfileName/TrafficFilterList/1/App/Id - - Microsoft.MicrosoftEdge_8wekyb3d8bbwe - - -``` - - -  +![Paste your ProfileXML in OMA-URI Setting value field](images/vpn-profilexml-intune.png) ## Learn more diff --git a/windows/keep-secure/vpn-routing.md b/windows/keep-secure/vpn-routing.md index 215bae3fe1..046edf1720 100644 --- a/windows/keep-secure/vpn-routing.md +++ b/windows/keep-secure/vpn-routing.md @@ -15,7 +15,7 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -Network routes are required to forward traffic across the VPN interface. One of the most important decision points for VPN configuration is whether you want to send all the data through VPN (*force tunnel*) or only some data through the VPN (*split tunnel*). This decision impacts the configuration and the capacity planning, as well as security expectations from the connection. +Network routes are required for the stack to understand which interface to use for outbound traffic. One of the most important decision points for VPN configuration is whether you want to send all the data through VPN (*force tunnel*) or only some data through the VPN (*split tunnel*). This decision impacts the configuration and the capacity planning, as well as security expectations from the connection. ## Split tunnel configuration @@ -29,8 +29,9 @@ For each route item in the list the following can be specified: - **Prefix size**: VPNv2//*ProfileName*/RouteList//*routeRowId*/Prefix - **Exclusion route**: VPNv2//*ProfileName*/RouteList//*routeRowId*/ExclusionRoute - Windows VPN platform now supports the ability to specify exclusion routes that specifically should not go over the physical interface. Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + Windows VPN platform now supports the ability to specify exclusion routes that specifically should not go over the physical interface. +Routes can also be added at connect time through the server for UWP VPN apps. ## Force tunnel configuration diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index 1896ec0e71..591b829433 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -32,7 +32,7 @@ A VPN profile configured with LockDown secures the device to only allow network Deploy this feature with caution as the resultant connection will not be able to send or receive any network traffic without the VPN being connected. -Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + ## Windows Information Protection (WIP) integration with VPN @@ -49,7 +49,7 @@ The value of the **EdpModeId** is an Enterprise ID. The networking stack will lo Additionally, when connecting with WIP, the admin does not have to specify AppTriggerList and TrafficFilterList rules separately in this profile (unless more advanced configuration is needed) because the WIP policies and App lists automatically take effect. -Currently, this can only be configured in [custom XML in the ProfileXML node](vpn-profile-options.md). + ## Traffic filters From 5f3b36e99c8cdc6af3eb9408f7ae150285fd1c40 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 27 Sep 2016 10:32:10 -0700 Subject: [PATCH 18/71] update index for new section --- windows/keep-secure/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/keep-secure/index.md b/windows/keep-secure/index.md index bae0757612..3e1ed57822 100644 --- a/windows/keep-secure/index.md +++ b/windows/keep-secure/index.md @@ -26,7 +26,7 @@ Learn about keeping Windows 10 and Windows 10 Mobile secure. | [Protect your enterprise data using Windows Information Protection (WIP)](protect-enterprise-data-using-wip.md) | With the increase of employee-owned devices in the enterprise, there’s also an increasing risk of accidental data leak through apps and services, like email, social media, and the public cloud, which are outside of the enterprise’s control. For example, when an employee sends the latest engineering pictures from their personal email account, copies and pastes product info into a tweet, or saves an in-progress sales report to their public cloud storage. | | [Use Windows Event Forwarding to help with intrusion detection](use-windows-event-forwarding-to-assist-in-instrusion-detection.md) | Learn about an approach to collect events from devices in your organization. This article talks about events in both normal operations and when an intrusion is suspected. | |[Override Process Mitigation Options to help enforce app-related security policies](override-mitigation-options-for-app-related-security-policies.md) |Use Group Policy to override individual **Process Mitigation Options** settings and help to enforce specific app-related security policies. | -| [VPN profile options](vpn-profile-options.md) | Virtual private networks (VPN) let you give your users secure remote access to your company network. Windows 10 adds useful new VPN profile options to help you manage how users connect. | +| [VPN technical guide](vpn-guide.md) | Virtual private networks (VPN) let you give your users secure remote access to your company network. Windows 10 adds useful new VPN profile options to help you manage how users connect. | | [Windows security baselines](windows-security-baselines.md) | Learn why you should use security baselines in your organization. | | [Security technologies](security-technologies.md) | Learn more about the different security technologies that are available in Windows 10 and Windows 10 Mobile. | | [Enterprise security guides](windows-10-enterprise-security-guides.md) | Get proven guidance to help you better secure and protect your enterprise by using technologies such as Credential Guard, Device Guard, Microsoft Passport, and Windows Hello. This section offers technology overviews and step-by-step guides. | From e6e962b51d8196d8cb68797ebc172bc288b527be Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 27 Sep 2016 12:27:04 -0700 Subject: [PATCH 19/71] Aman feedback --- .../images/vpn-device-compliance.png | Bin 0 -> 81582 bytes windows/keep-secure/vpn-authentication.md | 8 ++ windows/keep-secure/vpn-conditional-access.md | 23 ++++- windows/keep-secure/vpn-connection-type.md | 10 +- windows/keep-secure/vpn-name-resolution.md | 2 +- windows/keep-secure/vpn-profile-options.md | 86 +++++++++++++++++- 6 files changed, 116 insertions(+), 13 deletions(-) create mode 100644 windows/keep-secure/images/vpn-device-compliance.png diff --git a/windows/keep-secure/images/vpn-device-compliance.png b/windows/keep-secure/images/vpn-device-compliance.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea0b6d3c815e94a5becd9afbc53386d09dc8825 GIT binary patch literal 81582 zcmeEtRa9Kf_ho`R!QI^aF^gtfZ*=#?!nz%8h2@?^ZjJa%=*8~`#kjO zTisQCZ&jVzXPEUHqDSE$f4navBlT(@H+`GTnJz!h-}&#ga^Fi~9yT#l>8WSEt3L}9ccubH zKYZ%jzX<;zC;!bXNZ{svvEItr{y631e38yd!VboU8zWvYW5I?i7xe|#V*zyWuQtOE z%=Q0%1)mSu{I6ay;&Xu(y_J6l{O#93tnFa^-yz}uf5?9p^Z$9p2!2FH!X>4oKnYl` zqW*VLT|NnXyg6riot6eDWHgCN#(eRp{`cBj7NcWg8qXEUVRJi~5=+df{|VIjXCpz6 zU@6of6Y>8y>>nfjzwDKPwgrnpJ2)u`UDststfZvm$I{tg4CiL}{JiSh+wF9K@_(&< z_CwJHLA)cwZxyj4jNtvv( zvbuWc^X-wz$!uW&{=bbOrpOhx6b0-O4|4GCmrziRG5bSVM6{)ew&gg73j; zX=&dgQUVqMGX)Z40s@53&(8t6|9#ebiv$^1$ou(H6(eTst3G(9bJ8Z*L5|YO1Fgja zr&3!NUeCQ4PB5JxlbM`!be^`&Nm7ZFkWIqR-mI55<4nVGg1{CT?zZB1|Bu%#X`95r zK(NLbFhNdEjRVX7AVsB6BE;i*tMiTnSJE#zd3mJ$3%tmSfdSEb0X{z6&e_X0`>n3A z>DQ|Ei#`!#{$Tx1ubr~;s=o7;dNrKP$s+w?+4Ou$LxI}~R<6BhR#ieszW06wUO)qZ zCuS669RCA$j@K!TsJM6;-+$-DZjrEEBuQyj?-}M`N8j)*QA6KTOsng%^@xxnp2+7) z=sP==`=)2H7h(!vqn#7@cB`=N_X_a18Kp{2E4ni1^5K4Yyo}4V@6t-HUjwu}ZhBug zcfZ?)X)gT-G_`{$VePczBc_j3&?p|mEa!?!m%@nrJi;Knjx#DqIKFBsQvK5F$ zL^9_){z7ySq=jSZv6@`YN2ef>ISWd zW}{WIHdmP6^0dHf#pg(sDZ*iP$JRv@YFf58bc<88vRFBsP2c9L_!R7@Pv=r;;u zaR1YKb=M26EM;QGAIZqb$fT?9`FL=!cDxVECduD3(TJH^_fZkBnZL=!ns!p<`qa^i z$nd}}iag=oUAysQpC%vmK)S+AAGGYnu3dYm{cm^cxRU!4sXsJxXd z-Nq`?KhGrxZQS$YGuLTJL4);Q2hu=tC!P3rc<LAGfWkkwv;F6{|6a~mXnz4H z|24LMTL1GTo=(fF4eM8GT+bH2#r`t}@81(qQd0U{JXcC7Z}r#GY=8YjGhB!RXQW&- zzx|yU?|;Zfkx1V+n=UH_Vo&haSL8Fq#mb;gOWZ&t_`eHC5RNSP_61AdgM`C=GrCHz z9mtXE9z=VY3SNf z@Tg(P%7|&$Bral9hZURa%s=jw=Zk&kJ!VzciHp-K1V3=8!@MWt(^^@Ig=E7@RzMqTs`xZR9yqUT%E?? z=R+;PAhJm6nFVW^#D7`QgJ_XUp0)TFd729-DJv6pbK?LRS?C`{0DB2H*VS{!$VfJL zal5i;wUSHC$Lf|ZBe+=eM`K%&cEr&@$%SO(MPbuokv4?4+chq_hF#(d0%?hs`8TU2 zR*62QVoiVcjs?PjV0U3F*=}DrugTtk{}8oR2DK_<8zx=E)MmI)MHAv?BSkRJ@{Mr# z%jkjQ9A?}J+N~YN;if(ehgLe%ZCbFdpNa8WOpu)m=#<7?RDHJB0Sp;I82@bMUu%IQ ztOln@UMZ=1=%op4T|Fv_(R|hj3(YW0UXs+=C4{t3ZbwLejxznQ3cl(Vhcgkz5iM`n zKn=MY_~}H5F*2d^yJEf}iL+21wIcPkco11U7;^)f{jX(ayoY9IyBTnC8Kx>JD*m8| z!ZNW|$Nb7+C+Z;zvAeg&V%YP^<#GmGDk36a7I(7hPxUGZDR;L^!A(Tf1LPVKMe0fU z4imMo8n?yBy}I5W#tuQmagC|yN}>@txwvo;NjR9FB)*(``Jbc27C|ACV%YokJTf{eWM)R$*Wa(E8f~}HzIR*@ zC$5>+tul|V*<`a4nClP3!P0dQs{erMetV%4cs?eZFsS(yCFYcNe$fZcBQwo9(f_F#>y@^PA!_eN0qr{t5O!X9#!j0kGzHucl%2 z{&GJuJsqYanlfXd8W=SxrK*a)ySsZe?GHr5((`dNWSR`v4MG;^5yR38mdoTI;pgX% zZ~s_#TeE%A9B|Xp!lB262jTQfXOQAA=4&s*$nfxuUaQ%{T=!k(;GqP)=;nXfHT5pmWYVE%46P77?Dw z?Mx{xEp5n=nT(OV8x^5$SG`m&`aGDb8#qHIVLW-d5YWjEop6Xs^2R`g?+Bsq`TYHU z?dI`tyR5EGnIP!mlPqH@{K3J&*zV+4!Z>JTzN=62g6}R#V~zQixy+jl<0^T(TD%)T z4ZnvcU0#UG%@Mkda76BUQJd7U`#wpc(DycuRwjl$fSe7Q_AX8pbFqgWv4k^o9s?*G zDiT`v-}3bUJ|7u1YA1_js>?=}A0JzQhz2P;yILy_v*7WxoDwD;UeusW3Na<6_<^N% z%Ax+#;U5v?!CkSadHacrz(oM?{dF(RBMCh(B)n0F7+^19L$S^ixDYs;O^G#}nL*%Mw9>K@Vy~pu`$f9V$Tm(@ zW2uLbFjm8kn_P`F$meaEG zc~=nrC-qR%()Rg&HT2%@g$6HVvqg#AU*Bz{c1Q2ik%Q+LbfxCca7UT&TluzxG=!G- zgRR7ZG}@fNEJp2n6DGZwr&@r&KSPuIuP#=cjsZ~@acSAyZ&ine-{9@!>SrELmza&; zu1g-gz_>FWL`!CZLsGB~T@_n%g3{P<(J53wn-PK1Sh1aj*<2zmVYkObcxC~8K+ zclwk6z^9Pe7)#5@T>F2#Q4x9_=Y6XxD)czYc6V6$o=QSSCW085G1gG3qQ?LB&NV`c zzMd8RJW>#6JgZ~B17c#rLVg0q#wOPTDhfvH%e7_e`C?HH59#Ll`3X_+*hzG7&^knZ zZ!EF#XJT_rhUoEuv$FdsRcO~Xs+gME^?0O7L8u_7V0DetPND3Es8mH&Arl4I$m5MB zng4M&FvFaAXO#pE5AxJ=Hk#2;*uQsDF4T%2()OG8>@`!T1wM4OsI7I1Y4VS0uX;ft zLtA)NXD?Ff;-BiSH&jng&j4LHnHdm`%<|Zcu$nbi$@>P}?nhooj9T3xJdwW{Ch|AD zD^aq#62;25U28T0zCE`b6lJQmeEVuT@`b#(s4M_y=f3arS`vtw0=F`n!1ctN_8Elz zR>ZMI7_4^EhBOPcVnIhWaR#h;>2q@!{GT*j-Qivd7(M~cvFtW}zO;W3^Ze&nB;3Ty z852d@sap=Z68bD=IeUD)IrXAOrFLP(K}Jdl$#d8HgAN8(d+Gk+;cj(0YjRK3d;2YC zaY<2OrXA(o+~FL8K6FS(2(6&z6z0_qWkrzd%!Vj(+bWV>HCm<Q$O3BQp(@g=*Z( zHNHiWww3P{$b4^I&kbQwAN$F6eUTHnwUrKq+MX(NEdMZxa}+q5w%B=0dASf$1|~tl zE2+5@txm7TI(<$EI6Jsoc&0X(haO>GBHt&HCNr}O%C|~Pc=gER#RkS`o&=Q!byb6s zo25nLcGoMNw(p! zNXt+cUag5p?17_ z=c9vl{DUMZ&Qi?)`}oTNRmFqn!rB)c61)jrCoSI!tZMvndmEUkGxMNQLZZo{ulsGB z%%&3%+^HK>{!eA^eaTU#%aiSbeF%1(p`kria3SM5;Kk+|Kh0S}d(0l(QQuzIyR6hg zjk*B|_9Yk}nW?U=bI|oHs(@yuYek}peumwr8xiFiV{gb5Q}q%P_QEP+MwDes7EJsN zPH{hHLt8tHLwj14qm|WQTv<(?M|XN(fPDadiRPFDk!zB+TAhHuK3qBL6c>16v8+<= z89Y38aNg(3t|P*A|Bv?od^s6r+f_DcF44``%tOEUq@- z%h`3c|A)>&=fi2a$9e5=5=^y%4VpeUz5iKd^IxxuDnC2UG#T$MXN|@V9f^B_R*qs8 zA-oj4V`W4m_bLH@p}wCPZJfnX`iVrxtnZXA)gWkmGZOotlOjJ2exye3Zu;q=`-n_C z)S~=4yyQESzW|Cb%_xmi&aQHd6Do0ei;_CY=y_Z(*-HE1A(BW_^YXKMJnwEknMr;2)6%0C&N0x~KP%dX)4yh_ViRlDjYLGxB@^QM;!;@AUu6D*aA-}6E0 z7^Il9p%Hp?^m;2TezqHh=fe%{*k(0z%7BnuJBTGLRasWt^aOH+H=C;PE$)r z3%eB(#d&@^3$BGzjW%n?;@Gx>zgj$6ly8`iNmYI2?>qI z?m6LD6%qPL17@6L+<=%#A{XUPs4)YkGuc=+vLQQF#3f+9t{|==BJ#n*v%}C8glxMj zj2G2PVNd~YFua|38$OG}J+2`)3gj+bk|80-RK8F-FS~gc``u)D|IBrOTLy^ZHPks%0Ii zIfwJt(Zjx)L`#dogwd2@p}s_my2Ry$pK?Gf%KLuV@TJx@qN(FYU14OkGDh8rkWEga zES+NT(n7nv>A$q@+ZP&iR{GY~rm0o-O1>t_{2GFtm&RXbk1&?4Z;H|W zEr_`}k&ddmmz`9aDYF4erYXh5BNfIaVh@P_{yI)SUDi|kZZg9@MN0szD&x{DVnjd0 zkk3WE;qxo)k4m6r8rx5Hy+q96+%V7-NV971R&DX2uDU}ueHsHG#UW!{WCvxctUg))`j7FkfFHuI)2@Z5z8^`<2g>7+gm&K=zakAB&0wpap>(^1?RY$Zcuc^>n7+A8#A7Sl%t;1mYi z6^=(i%U{IOA>9jtb$lebbhx|vyV|)EOz2D6(T!;i;XHlhv605sh6&lW5Drv*PM1`suDby{s;F`3e$-m+}3xagFW z(6KdAJ+=dur_#8% z9Fi^0c!^Lb_kDee?8DMWgYcvBfmbmSVTjW;Ar!O*bQ& z8u;tD2s@Y4UqD{qS~Sb!?HUw`Z?Uu{>}KU({>@yX3<}TPT)j?>j9AQgES z&MbQG6-t=X%flKt`E)FmSUK`XqbdLV_CusQW0LDI$ywE0Y`K)?qq3*mYg*%3*Bg&Y z?dxfXjgqHb9Nw8&{4G{;9B*);@TQ7EW(<_i!>9x`J;U&WiNQeMu)@IA{=1GC^T=j? z(wCgG_y&h{cPE}rARXQo1B0UR{Rd?c8UJFSzfTIut}>92d%7H1rdP?=*ek`tu^~7Cb#1t2OHy&y;*5zQtIf|9;%b##se-#Vm zq13aN$H$I3qx?;?<(|Ue=&{h{QaeiRu)8H_GqgxbRmGc+CQp>|W4L=Ox=@F1eoHC! zg;H+u`%GWR-#P*dV3-I653PW51hRXH_-^lj_$TRkD4typzj9a8(`*CLlgyqZG7@48DfXnmO>Yf3#hmq|A2?0PhZurxz{uBFKDog@OWbg7CS)*)ehHec;sz z0>*V&F#%ZXG5UIQ+m5%6w*ds!O5}EQjx@Dib>ZfrfPzAAMJwzSQ?-0yQI{G)7$op% zw4a_2Bcc>df?Dy#lz6in1#aEFBP8e<_K}7M`{T9zq{-~Q28zyhv<^GPYJ)XVhH*96 z*K4cB+=84h#i8Z5mHhYzB$l>7(O|A=-&I?Ys}oo7>kGB_1-GbhdpL(k>qs+HyZiQm zW!cb;o9Fbtv;#{#_|T({MZH`7#hs$=+JEqoyg)wOFVe=zwCTGRk-Yma^LcV9vmDTrsJUBA3|C=r2uX-9jtWoHr1+2LsQ4f2s6Jer8qcitIc>~!qjzdz zBeZV28T~2?5M!a=lmN&|BPK79>>=e_q=eMyKdP`PY3|;hJFf<`_>;=vVN(iXZKKn^ zYrz@DrLt&P4qj=9&UA@Eft_~lv$zkJj%2P1T%1;_4qyQpDgrTm`mheKyWde(Tx(Zt ztbVi@55lRw`e=5VA#VD9_{wJUs6|wamC+t7t+hHI^$=z}ATX?sr!w@{4igkpPR*Xm zS#$P_E~W;`^xdxhax|RD7o+8gIPBT0bSvmnB1RmX>TNCZ?cIvm`OKe_jh4m^Km#bx zMk08#!-o)U#P;TCd7Sk#{Y=V2U!G-dN^N6#8TDLNKP-|4=Og`;t>1mKC#Y(mjwVX+ zvXIRQQLWGONs!-z5UAM!7DCk>5E7T|(4#Bu0jFCLibj6PRRzD9nH`kIoEWL-w0TCS znkJ|wKf8q_qxNjx*@myaSCtKU<|t+E*Y~MgW;DdULOC6M+&2N>ad&q?I(6#+OcVVc zvzaI}>OXZ6TY-vv@xcTB6BFD=St5EPxOn;`KrB7kV<%M>rN4)h^I1=N^Ub6k_2z@S zm`dHQd;pMJfmKTw`38sV*Xc~XXvS-rTRFz$z59zxmt6qE-LLMm&i5~d2#6a8Ss%~O z;%dW{!)`-Ho%#FDP+z06thT>JarVP1&v(;pp={_>aj}VMz1Y87bY>t(DNXebJAxaV z{+NMn_U#~Cp|E?tu=>Nl8R|dYr69i%2&pr+fW;%;b;}!f8EEc5HE@pjeN3X05z&#x z5^=0t_vxwmfZE;RzWK#0&Q4 zjj%+t2)h&>E*s8lG8^J6>L3$9u*&mmeVzrmBeKBb_xFdRWU+8WR+1sJfupFKWQ=wW z1S5$Dw@~y7a_Y$BaxqE7E`8-+5Ns??W;=x28s8pK;65(xaRN)5kp{29jgvgTLyJC0@cb|N9k{`rKtp0S(1QW=|2a- zM=0c)Rc`v;0g0W;#{Dd1?r@=xvUVDls$24>rScMiN|J3ZCxOsJewtbx2LA7^$t|<{ za-3Tgl&Ys5XSU#B?Xs(X-Z{-Iw2{02EOs0HjaWE-2$J3ddmUW#@+&J4a_OfA!=jvK z1V@qZ^yDmdkT%N^)JVf_*XAETTI2%k(CRr;j8`LtJMJ}_obq5QT`6u(mMWj3}X3D#sgduKkH`~a>A{K%i#WDdq3Tv?p-DB1Z8;dK{Xb!j}htoZe%idRZpT>>V&Mb)(G zT}wjcHj4BU7`^=8-I`F7T_GU^afOA|S~{CWpKjt{Q+CQ1&;y?{$5|}RI6%cBRpACZ zf?#g-L?JPGPk(tv%8z6;O+?l&p-Kr_0~b21%_e#C!(JX26PZo=0XLrunOA_Zu3OZlrmx54iZ8fO=WdR5azMS98`jDR0n&@{q23rUKFCoUD)JPclFn+I3~{R3wzd2q4{e{ zf_RYds0H~9Ipup9U1ZQJUP<&wC?E* z=5m*ZTK1_`*)^uU(iM8GC=2?GJWXL7!Nxi-m|-kn<0f%Ek-;Lh+;zxPEqAc=6&J9% z-0Sw&i);zFmdy;aQxebu)~j^d4$WV!YKPw!x|N}WMtrZ1IQZzmUIi0!fNlj|?|w>* z<}c6VG}vL!+c`gafq`hKCufteDUBOiY#9$osj5eH=QK1lpmeK5Xo?LSV4`D?x_T@% zph*nsRUPNI&V!5%bZME>cHg+X#P{zQWsjzX>c;K3kc;w~SS+}N1(52N=36Znxb!c( zz8#Na=%%8`sY4o5N5mK28DK{>pwfQELGyeA;|rFJ?Y`NKM6-o9+5YXQpYB-Js2y1T zL;^i8+N~RzX>so>aWE!s_co)d%;em0yF_^mNb0cFUcflQ>TzZ0^RQxmyw+?F68I60 z(!1pUwn8rVg!+X&K4B2~6=l_h02Yy*ql3Yun~bJm2wtSoJavHY0E~3>z-1>mk*bHL zns9n*aMX?1728^Oq|r?zr4zXw3njcK&R({U$-X;)r8p-dvAPozgI&CF<5S$nat2gi ztH{gfw|_D=Lt91Hx!=Ue4A+ktN8NrGiy7)xTik`$8-0^b6C`}hi64rOY4D%j?}g{3 zXbbsMDH;WMKpu1!6%E#w?{X_c25#!w`P?2(ZjVI}pmesGznber;F))~fiVFS3J>+? zLr6Y2ju=D>%fE;Rl{x~_?g(5yN|0En^Ez0JsX0QBg+j?Acfn+E@k1Rv5Y$^b*^f8s z(S``WLd4QmY3iJDl@V$;wG*>;w67YcG9FJWboHKb0ueR%Z%K3BUYrMt$VpV&3Q1+Y zj>%qI5y|y$e=F-K`=nMi`z^MpGaswVQY^Hy4bk&*BN|AOc|B#mMMlBRT~laeiplG^ zKQ3d$>U5(=O=<(x=rPuGF8x72rWc>PLJ;_&&y77t#0T$BuN{&w*LpQM0N!*3Qm@RZ zV|8hz{0zD@tLg!m$NZExf3%L;bsA4$@Br;13NCJBNeOl1Zx1y!41I4v}(l+a41_}8NrW5>t-7Kl^GF5MOz^YTMS|~NWoPfMor)3 z8gH2zkJDysc47=EsoE>rB~gEVj3R85GZC?lus#bg>D$QbeQv6~j#r|=kqC)inhg}A zY?nM)CsWcwt4^O30ckwmhlnl623(dM8p#L%5h#r<0iqUS)Gf|i-LSsCnb$K*DnHYf zTaqc^Y5CKhW>IZYHB=1ii1=ks>uqQ9^#F*yd*%;A67D$x=}{Wt+kP?-j}aho2RcB_ zLB&Q@Rn>4bfx_y(Uxuj@J&{TwbkJCdj&K$5KtM;TtXYpR-gPrZ_g9YhGb5vn61NWN zqW?ySdcBo_gM%Y}k1DO3=@e}p?-u`QX?~L0`N`1Yb1w?&*a(|A`=8?y%(tM=`nbKG z)8~aa0_=TOqSe2d-`-2e_c4Ja-*GKhD3x)jwCwBe`-r0InIDc>sH<;?3OIV>d=S~e z4pz9s!(l`&TfT^*@Asf;2P+rDbHcXr_R z`+k>XGAPp304)%9lBEyn4F7lfi6QY|^Z5oEZB>V2K4v^_JZaOGO(A}bvGuh3^&RX~ zkOIa6zh8eVG>eAQD9I9@(Cb#GgQFRrV~Wl4Q!)l2pM#fztd9N3ia|jD`cFnqFObU ztwk+GC4MJ`sq?Ri@;p)ui*-i*P#teK;~v+8SdNqIOVr~}YxdnSxqdIOsRn-B>vqlB znD3w~p=P@cW{2%>6ca~N+2vy(8AR^!Y9k$APN%`yJ?zDVFqVGy&jaLxQbri>#sh*M*ip)Dq~b5iWIoVY`4Acv;>vg)MKL zG}LIdgrp%JG~VlsngU~IL1(f!@NDYIorMolm=VX{JH)Ac8dil>! zLNx1ID@5Qg#E|0#YZ}78iSPZ|-V}HimxWmirOSB*quOkS2*5=CmmYoLV&hNd{6o*Bj7E3J<%v~HB4r{_XtU+ zDBb(s0#aKEg0_TCS6?3%O?rURD_x1^d1ODN#nF91PPgvfB1p4 z6j%342IUy2AW17*me0*7HosQ`>RN-@9O~Ny>vYMImFPY@>REzCL*qgH-sIUnwgz@l9Va$nLh zwkkrgfgC9(b=8NiL8ONNRuQHm?gj&D*kkMv34i`}Ipgrq`QS}k>K9+{fWWoyv3;D@ zR?KIK?$>j8)w|*FjJ@~OorO&*ahKo9IOl$~Rbs0cB)=XvrpBvi9&b^0yiGnH`;Cbv zL9dHHgy_C7&wI?2yL_f!P%Bvp+inV5*(Xd6a4A#~ld(j;f>rVGz^2DUla?7<5S?oi z6_e;ur7GecuYJq;r4un~C^kJW@>kpuN~qsN8jX>!%l{j?>5ni0K{$QiQqO5TTHI;i z+0;cy4Y}ogpBxY%%YwNq_Cvx+OjMjQ0tV(@7`lqTo~me_8_f50P&wqOS>gq4PfjE1 zhxv@zC4fCcyf2vzevJRgP`*mLHnH4>153O>NvqBK?)Y>4N=3!uFupUwS60@A*}W~_ z$86M%zo?z;kS8;Gb1-zJlohB`ZyxS=+?&z4*4MDG#Z1*)B#c)R*P58rn^$^2?OHP)%@G`ZO#i%Ii;B_(^ zR-2x6NaL zEL9W1!NDo2s{XzhFI6cn^QCE{S*EGeV!BORCAA?9@9JFRlz5Elg~z%Rz9fH*4XN{Z z=Uy)?gS9`sAMWJKGxNxrWtWsbTSH5Ie>GaaS{)ymo)9mAIZ|xBKa>N0_P<;N=ge{B zla`Kr=Up<=apTZ$2l7>XSn{jWQwv+>m9L04OF>OA3EXnP!AD*XkW~{`5Wv_W-Ef+l z?%c+8ODGw^>U-|!EuXjNG|$)!%-j2m=*#E5RlU^-8#ZcP^>cQQ8FoaS^I~AaO9-^1 z+Bnk^h=KU3Hwd-V%{a-@6$WZa&>socFqS&n;fB{az}Ln%N*rEKiB{@nDjoLTL=vw1 zaQGc1U#jx{052y9U4W|x-+;}~O}y$X#)y>J+T0;*e~uCnc{R%Rzdq_7)D@z}2{H8U zU9(npA&3l7d~hCe0#UvWI!H-HppM^F3+#rI%^&?0E@0`o{H&ABb?AdVb$xvRjJ@xJ zG>=2yQ}v1EwJl*bmS+jTwG!W zSZnBa*!9pfXADz-tz!j=82}@enA*|f3>;AxZKtkM*Whol7`?ACsplqyq>Yj-DX*)6dP;GcD-D4owwmII=sC7(<(!S&w1_e zc72AAvN<>#dY+`+TYXe^Ha)!SI>&6k(5%^V2;ISPuyve}6S`*a0daf8xKVKY;6VqL z%LYIM^mhuL7b8DjEj5#!Rh}_#ri5hbKSN3Ix8jDUWOlYeu`>~b=s!;Pg*FaSXF2gj zmUm!3F5~adVNVSS4~(4q6GehF3NaWmw@P;x*Wr1&?gUSY&(zNZz-3KR;mvRjCcN;= zO93=iOa_r>oJ8bsWX?f1HLcHM&K%EF=N8(KFQ2qcct~hl>8wuEB_)Ii?{*H!8RUlw z+tKizQ+}j67PjLinwgQ2bxX^kM!|FL%sSFwZ_!CJBrD*a_RB42RqA(YYn3I3bEe0q zriQ7NtCs@6p%4@=ND2!JLA5H4MY~96yCVVgjk}Mc!OYh=f{;WqEvoU^BVH;h30Uu{ z{bPTgM)T9#9Xm^qOob_$NRY6)8`yTkyX1o3A;8(R&lEVWLh-0D_pOs9g>>-(NN z@_Mw6eYfZZD-Pd0xEOQgDyv^+5OTKqG*y-h1n_-*gPN&avCr+LA^mB3uezTO z+lfp1rN{Uxs4;WT}?5Ae`qR=<02wAE|iKQTOR&(FBa14q>T z$l&+vNU5K5hfNvHhxOoqm*amggn&Jd$ANORr2C>kpVq0mz;7XG;PX6*w_L|B(-?LC zGYvbeUm`cCAeI{qaYoCbYV*iSBoy=L4S76MJ_-A{-MUGf1VDKO;7gtOm3Vr zRjQay3M4a79r>o+iqjd4BJ)7eqyzu*%YL;%>iL&753XNcvmk&Id_s#amH^XilU6=V zcj+4Q?$o*mmP&r0IM*jX=jA+R20YR6xfC2M_eVP;4`Ng0xFIw2^el2FUX)&}(n${$ zh$BkiMSEOaYkWb$A*8OQ6EFCTgOmPrIhW|rUztiu!LG!>@NojYWnyi{fl!xyKX+== zn6cnpKNuX1n6BAQDY7waI$lJ75Q~ai!^rCY+Js-B+oX;-;hD9&`}OVV9pO%vM|MGG zM;_kY&JN|pRRDFa>s<~C*6ce?G2Tc?9#uKjfDpW=Ef>s_^AKN!ZW|_=0zazntD8i% zz{d4Kv0zyMWaWi-(5}~0$!D&!w}_{M;%+z1Rd*pj`sQX|S;B>L`8h9kxq4JopOGG{ zRvJ$e{l{w_1nIZ|N3_{^Y%|o)eKaZeJ-#LtEf@XlT)QVBT-V)Ejy}wtHP}?$9T3UU z%EYg)2*)L_7?mB4^&{x;RK~DME7DfA>JFSF3L3fVDkg2E1#b4)Q zBSkkMZoV+|$^(5tQ%Ordvisxx5}Vyh^;gfux;p^7<91`LhYDq0A6dTx;FUHestc8Y z6KQL%1zFT309(E3fB}5jRmpPiU+~yn`4CCpUkV$w89EolDtnZ`=f)HhqiETlotvM% ziNc}})2gzMTMHuTf89&vCNdHma_In0p)qGfx9p_IB%eX&9{yad!XKc{UnB2J10b=a zzvn-sp$(gO4oyFq^cI(Gesn%ntqXEgtiQo?RAdI-TOaL);anO%&$2(=K6;)?Y3d#4 z-1H_@oBo+a^{V&&uB(?ZVlmu0`m?8$jG_IIGOA~*vWTQ#QkCsngjj` zY)>vt3C+v!TkD02k174Vf)?1CInGR1 zfB=H$x#)We>b+p8`t{>pOzj5^`@#feD zmbPq#j+8j)`fUP6rWtygyE|ecZ_4xrPP;04-`Xt?4pqtt{8n!I zs5H^{+W8=zz5f*3a~@a&I1>QD7v$Z*CoJj6afb_R+-xu8{>bk#N#3XhZxHE?F1+&X&v-UtwD9}qQ-akU_}^ugdW>(Q z?4}AHrHwgas<=d2wdm8D zWm`iW(w{B2-eb90v36&QFO;toJaIxow>ys5CXu;rUtL6Ac`bGa+pwi z4Xpl2MAJ+-$6jMV<#_RPY?SgJ|20<5tAHEofU;0%M}!2x3Ho{R6PxNljzt-Fn=PzctnP%_L>fzYWMo1tr!d2T{0u=Bgcyk&9fuM0#PGiC z`qUdFJZ6a+Mf&i~1eMQ0*97v5VO>zAj=2sg85wx0t`n@;R2I(2j0<^13NW@pm`azpk1Rq8qjm^hRR=ROU>ZsF{7#1&o5%B!bY0B*sg0k2b8DJu0GNRXvts zjkdZX9z+8Em=`plZeig8ByzRi<%fpZ8=2yA`*ab|v@czbWA~R&%7oY0%1} znwguIQ*0G0!5!b9Et#w}*`BhVz3;^ds%i}Z%m_uG7OPmPr`R*V1N0zL z2k|LvpQ`K-5h+w3%9)3tDkl6ao_2T&JG~`H875<4!zlVJ>w6b`f5Y^la}gk|I}Q^_ zN=m|lQJ+k*DFHB3@b)X%lo4<^6yXht+B~17ED%438+5 zRrI`@VPq;-t-?jX@K{kZHyNyJOnY7e!}wZLHX8u_afy>A(nd!5o5@%%=xVsy`M{4O z@=Ldh7~@I054H^n|Mdv}^iKZx)Hg??6QoBJ?XphN8te9ORq5>LSf{>Gv@8GSH~67= zmxD!NPL$&C?KU))6}La`nHTiK3VdLYo?@q2>BrClP7}l!iLa#+2E8whnF|AQH*bmd zW1f%8N}L+S_}<43vcP?Aa`K@?UY1O+URv-^a<2nd@n1Z)&N~F?@VF@$xupTMF3^1k z{f!buBot0dQWS^>_hJXs`d5hg>yRzGV|0%5BUN1HlK71H>Cv}gRJ-eWus7VFv0~+V zpG}k<^qFJihq%Lvj75(m7Ze|4>vsO+%wW&3qneN-N+b5C-BCvaP(pSrQE2T|r>Ub) zP=d(3ME8yqHpSKL2>HOL1{x(Eg{7aSW?q0-tL{SM0oWr|8ks zWq?b>ydf2p*#r-}S2fok=5w{KaqPV$NHdy{I0IWe%zG^|7xpU{L$I%qz z*Is+AvgXl$^}hS=Q}uF%O0GJ|(1L5%uH8{5eLu&J9jiLR`mjpJ|H&U~aQ;z)134`Z z2L>E)&<%hg5;YwU`f(SPZ;`gu?=I0`9ErxKx2F$j}EXh=yma`OvR$V}ch4Q1J~E>Nx^C!KyYtXAtT_mxlXH7-uWc-mdNbwb~MJrEretpx4paYN;G2o67T zv=XiKsUALR5c&=5iIkK?jGr(H|9R~F!y(Sy|SSba*TM72NNS(E`xl127E z^{itN85xfL1AAl4A;U0uXkWbe=3~k-?F~$}B&;WUTb`QKIp&a|@~7-7$XS->OW*H) z1A3|`B$3hK>OJe_v4@Quh^ue708hPe59punu4lago>z6X7pZXr8uy!P+6?V;;hW$o z*FN)L%W)vt--U19$i~K3u0Su>I(+}jUr0(x32bQ?T!C`J6Z4T*>VlCICDj+Qr|+N! zmF`g7eP%DrdgM&}v1kPx=e&!Bk56p*g>OX2m2KaE;%fPxtdVktEq2Li_Cj@t5%z*b zNa}mYZod(!z3@$2VqXj21g+8(*iNTYts;5$*=OUUk3Leu`_@};Rl>Scr%t%xh8xhc zXHVRI`|YX&qkk$Fis6cqTeogiV&cF5{jYLQ`S|0H@!4mesYLF)^G>zzph1Ih-F4R~ z0nWv5xQNc4XpMz$Xmw{S?swjKN4b`0Iwn~K%TZF9ttL`7RDgwwU@NvHBSQqYL7HLi z#RoJ+BC@xxDMEa_6`MDeNefNCWS^?nXfff0@O9X{b_Mzl7>Lh5{~WKp@`}I02JrmL zub|fr*Q26hXBW*LpjzH1J2H_{wLu+^8)@Zc%xkA(XGqT4aL~-~dvp_F9V}b>Pp9R& z_P*Rs7ZXYb=F>pM6&&fV!TX=S;0!a!$R>5;>ho`>`^gTAw$xEsS+&DDUK`fQa$MY| zK1s!ecqr(D=f;qOhB|8v&_BIizwH1Fc3?Kz&@*LRAV<^QXl5nc!tg@&%1uFE3VF*( zg%*l=-f&*YV17L}LtDk)PWU6Ddh5AK_XQ0D74r9%%C3d-S}1Kyp}QJ|4lfF;B*}N8 z@&ntPL93>euhm9rH0>U`hA?I@T|L;L(OS)iceIjmWl4&1F7du`<3=U2ximYWb(*V4 z(%<`q7hX_eJv!R&|H(SP_~Hxo7@c{OCr?%ua@Nf{>Bmi%ljfw-wY$h@EJ3jmoIs}O zn9$N0VT+Y+k#lnz(0@o7Z>SmD?R^khrw^dGtP+9ka(NLMWyYwHaemj52}$VRFA~|E zMxkfFewg{k44i!O$?8eZz8EX_Tb{#qTNjj?t{@fVe%Fm)s=F@*Ec028_XF#v8%pr|V&oCOhz|6PwO|>R-BG{P zQJ>f*E*SuDahpB;4m{u5=f)^4JL(Ojy@_qsOY3%AM3+F0rajVr1UD~q5tB*LR$Mi{ z6W+L>4?er1Kfb(jAl|>EKkl8Fj)9%SRimPWcY8rjm#a-S1=VQrAC=@E`HuLxPof>i z4~RvWMSfmZ&251){ExJwZ%CtQFu@Lw0-1uD1Q)8I_#QfRD1Q0n7q!wP7nhhld$zI$ z(@IT&{@{ZT;kKDST86jz`5r#&aXq&xu?#xDdd&8@$vjTOrDh! z$Z0wpAe?vJdFa)vS0G2z5#iGAo#F<IcSR z&fTN%!;Qm`6ln!YWz@XO0E7?KW)6DF^`@=7J7i;9Yr;O1(Q zbPJ)|NO*X-TDJXx2OdzunwIL#n>Q;#9T^#^mbE_Rlv9*wjfsg-<&%?>RWuWd?O>hF z!N>D+ao<-N_;6k>3M>7Cg#DpMj~>dMX8ic^fgDXo#b~giYr-(ZM|ESPzE{!BEv6c` z65e%7(I(^e)WG31BE)FLH*da!k|GDTZ+D`&*o93QC77{B2C{ueq1x?KPkJUzniSZ3 zC*wwrz@#aYFzSwfAv?A^atq{omfOT)2h8;Z2Vt*QYKrpre!5TE1GH{eBhr>AqI>tS zhMM+6+xFq+sd;M<6J^4ZJ4T`lm#=Cd$Gy4?Kd&tGPuNsu;1*y%eYi)wk&X5Ly%gP@ zYw^SHvym!dp)qVPbz}6C^RP|M12Vq2?x;?9`P|+pcX$yhfA?RT%JAl_Y^=<#z?$4D z5%!^YT(zKlW;gn2AiyUx9_Cm-&D3O7DqSb(2a6{^_8R%s*I zN*d+9jSVxYyr!ZaXvshP8?=V$m{hoYxc}s?=$_ygU>>g%Tl1H|<*kz6e$V}_q1uhi z@PWv)rotGwHt54Gmpzuw&cWgzzrvDlUc~wLKZEepp|F@ZP_0(ilhGIgui1vvA~#|7 zufM<+9*O_`?|)dlcrn85Ry_OM3+OriSS)kLqNdu18X1sUtQP$F%@0WHI|OcDI1V{6 zO^&x~f9#QugNkO$V8Fr7B9N;ILZh6~XhC}7aF`5QaJOgLuHfcbNw1R_BctuB2B=6I zjlu1$##wK##COXI{Gyw^P;=7^f_t3^?jA~T&k@0$8rae>>I&`~j!whvM|H+B5!h!8 zO2CAdmSRIzIj%f14X^#Y1^LpRJ#uy*{Q1DC_;c|pIM3ID`(UCY3+}eco&@*LD~mAc zuWTipBCG}#2bnMmOQmZ+)VAiJpw!{T>zDLF|I{!U^!czcXO0rxq0-jw6%lWYPO?1a z2xV1fvW5Z6|6GA@pZgEyeEANpdj4aad;Pgsx+ou=JKJSo>A&Y4jHjX5-c)(s1&t%W(RT zcr4ATz)Lf>%CBw0BWF@@pMn`8xZM=okDnxhyLlGx(1N>dqXqYYXKztT@}*t+bxjFA znwP6S)4H7&ZNZtt-GO)HNLsx3>m|^@>K6-H7c)t5IB@1%uqb z4Z%?DL9Q(wTf=%G%np3>?8}&R*Uh5EtMTv`KOnmM;po-FiWMu0(4`BX!R_|p zxIyvw@w)wsUpr}D4z7A*IS^)+zc!HBTr`8=Uh~4m=;2s{sejDhKf&z-E*hJRS1;&| z2(y3r*dF)IMn<_4#*k2W`RKdafJe^igFo&&1%FU*U#KnI2NPOwA9xxX7Vw?f+4x<= zcjs6u9zLyGAh&7cZQqJxk3AMQ-gFcGcHQ3txtfkhX;luk7p{_bA=;f8oJn$K$x0U%-$PuRvu<0m8!#GGOz`;4Ks$j}H+M=71|m4aST~L`k_9 z@sT#vI6_e1bD=oD0-aLB;Bi;WAkPDfB}57JXc<7}q--?|h<9#9Qt<}#7<~xtojMOkoO>R|3^yS;*@k}oqE$@p?%gAhk`e~H-6-PO zA8Wdxz=3tE3Xxq>gTP|R_=ntNHY%ay>mimQ(*^9w-Qbm)pT53?n+cT3+4B2LN_kg2<_bQjxFft zS&80*2f<)6!)7zUVhKfJqFud@kGCK;)}q8W<8oVVRxJN(HcHF9a679}RLDuk6xt3o zsj_qDa10+FFXe6M-6s+Wag2j+Lqxa%Zbv0Csou8p#Eha$?EgRaH%k+-!7bLQrwpwNXitBTc1lVxQdC8)h##fQD ziv6w8v=cb6w3v*rhFK8ZOerSHisd;TJpEfCzFb~`m>65V<@PrjES9#{>}Wa!m99c? z@tgfZiEaaYA_Zv4PEU_eb{bB~4~UEi#mEtns{D{4 zv51bc;K(DBwqdR;1mrVDyc@kYP0-} z_5G;QhT^1wz*UEj!;HDh;k#HzDLI&EuahQMZ^^@Xk9>qK36aX8*Bpe%pwkrFMN(%} zJImn8TBgFKH8*Ttqr>g^@PYFKIW5n+b?eZlPaoWU_ucr{zy1}-)pRtLZszn6gvtFoXF0uQh7PKRY*#(WBrCwbnYC6{E`}+(_cind0%UU!TkJkCuS{N4ui#xinAtZ!M&ew!mHCG;>{QWlOa^aQKof>*Db@m zwI$lC;BG0Vt|-RKzi!2d^e8-hYS%z+`-dxFZrip^E%3udd|HtyBZHcd+AeO* z4BJMNDI8(ZX@Q)MO||^SE4ThE?auy3_MqU-Dz#wR`V^#ei9~6!8~yr4DKXu>d${yB z9vID5lx$s!yN(`<$A9<>QE7uwQC@}Bt4m~X7mcbak6IQ!H`k#iPWI>#iIP$e664LN ztnw*q_}UB?&PrPZqqL3enGQyj+>$@NU)qs@oQAP=>sG8;vj#JM{~ft`c}fp(<=k;& z$71-15o*=kq@<)kX-!+DZ3=FlQl%GP-!c@Z4vY_EHl2{$X81*Xb2s?SAh_4Qa1j#o z7NFE?RDN7M!%%}^hsfq@?f0Arm7SffZnmbvV?@Nnq3nz|+lAovF9za+O$JPL2VmS* z;q)QQVt_$@U%$(Ye;WrFT*1#KiQgT?F&7%~%4-uCtAkH&)(fTupQ0c2%N)mRL&yLXBZ^QPX|SZ#>vvl#i>bNA5AXzw@@vN1u^bz+kla3v^&S zJ}1^>&5%L<{{O8M+}q16_+ViYDxD#)NtK-B$aXX(#RiwF8i^?p`0dR{@bS}6;p6S4 z@*P{TVSR~+z)}&{5$NAPN`(-lpErHF*>MUl zWh6DWUm$1ia23yYrcA+?Uw)|u(OmVm_GD<6%cUkr_w3md*IsuWF1X-=T~^Z7v@IH` zgbxr@N^Np zaA~|mIN9wudBxeZR=1__e-(kn;QpXSeFR6L=*?% zwocJz{CL|Cj7X1w)o8#^w++RNe+Xu-&ELP z(Ncb%od1+7`>KJ2M$_Kl65qD4I3#u+0%ujB2r?IZUM}Iyt-P0;p1fYCN^Vy<;yVq3 z)fTOc76${(*_|<-Kzx`RmyFECp*_o_O{+$35l~cGjWz2kkeOA5Rm<~{TkMaRk(LsP z$Owu)fBQ!9Y_*zTdKmYIlaKiD&WBIaW zff}05?YG~KE?v6d$Rm$LPEJlBw|#N#wb$b8v(FBEY8$jo!A(RQeX*OH$%E z__sOS)wpC_3hW|!*XB5sH9JKF`2AmHV9}k2@z=7hQ+pAg!fed{b2EPbZXH(4 zSPu85m547}iDToI;_^Pr@c6MSrQh*i4+keTFq=d$o5KU2>xV7;)mL4G`yY5f_4O3g z>=U?ZEc<^x?Pek+B_%to+*YdZzv!InB%R<;$^o^X9;(`f0m@oA;y$ zm3zM5gmw8%YwYg)dLy!<7M634p?c3EOsi0emWc%;xc7U9&as&Bgb+LN%-zmmI_kLwvjubIU zOZChRrN}RHtFnXwoH31a%UpP2dKLzD3R8L9hedu{Q;e>0792ky7S3ISGsV36xC{Iq z%SA9VM)ISlcgG{Ab;DUB5|lu$4S%98QtzXucMF^+1$8wB$$39;YC0Y|wHwZq{aB92 zN{lq&??-k*VuTsj9FdC0r0(-ZCW^2Y0WRs<2`QM+CmI$*DE@O!58QZE8X~N8J!&UE zo~Bh`$NbSpA7RCc6@i>qMBS8JvCx3>l1x;UY(}qPry;4!AcRLHA|g7a(J4GC3CUdt zV&EYcqa<$~$_qD%U}TfV`=a4p+JFE1Uu6+I=IEpG?Kj`3b~h<85y?qO%92Pi{^%o* z;K&IRl%?#~Uw;kk+4^vjUGqkp3W2XC1TL@qPA(%tLuxRtYbh=snT-pE=ir2X1sIZ; z17qn%WUk6Y{<;iwHD`+`FU6R|?dWY-kMRkca7N!uTzA+uoIk1%NA)SgsIFCr38#BW zC@S1^U2MaBaSIack0UIx>bKh)|M!o7;Nwp|K~h4361^1J-MV$d)mLAQXP$WmufFyg zUU~IZy!`UZxc~n9am+Ets4|42J1#aBmtS_7^7q~smtJ})ZoTzZ^%Ok_wZaJ}oPdms z49uA`2SY@_w@2uH!xUuHs8Pyt&+n@x7&~?>Zn@=_z^D3Y!-89GOk)T(l`Vgv)Du)rg120&hyf z{erKx6Uzoi#%jCzS7-;ijpuKc0n^mwMaq4H;+bwGv?>oy3sb`S#}$RjSGw-6EW7To zM4OfGcMVKZZsqn$e7U#)w;$J8Jx-;7-xK`qDSl5MmY_uM)a3>EZdsuS-LbQvL^F37{3 zCv?H36{5e1p+|AgCJj+#)fY;`p_A;b-DwG-Pn&Xcy?gXHeR;dU0mU=C4F2piI*@oC~E z7hjBf{`pTOD)^|LRzz9}+1}8&!Nm7;<>R(L|NIjdU3ej$fA-lxEv*mzx7j|m1hhoE zeW7rBLl9~8VQ^{%j_+H96MAQ3d~zlZ@0^Xp(hG5Dw-OAJZQT=GNQm^xIRQ>@s3e2h z-&0NZl7rW0yEcYUBO=50zIyiOpM8ecL`>V{9tjEb*R(Rz68-!OFW~YkuE6Q1pN=!m zI0I*&a}Msg_g;J|``mHI9Vjj?R^@}1>6>o43FYPGDsN95d+f2wnoSqgAWo+fJ$m#A zeCjy#?%i7rScVTD9>{54Qd3jWsngy=I<{TGO{gqHbZ^P4Li9Z|@!vnPP*Az&$%3>R z{k~&tO1^s}j}DO2AzueTW0q@;SuokoQi>+nI0hI^n7) zQH^YDwMNAB-ckrV4+{3cXX?vp4?8b)8f_kmx$OZHWl#oqr5nKj`ypHyd&4&;)ENb|J6KtvY0Oq6TTm{yRMjB~@NLc1CyU80xod z6S|!AO0?m@Q`7OEA2TsyT`87qt-vAwUWg5HUDllx8T9`STDKoQts9<`WBqT&c6>B1 z7f*b@1y>%H0*fhRhgkpLpE-E$=dD<aUN%@oIA_STwjW1SrzIU z=ii{w>tRCI& zC|Kg+(iRA}#mV>DoL27okO7DYW{-$xHf=UjwX~}=T*!AN z`9V?b+eKLG_Ngvh)F#rN2)kwP6B=o8t~)W3hB7|2`c4MW=bd*R1`iyFA%h3wZW%BV zUY``+6v@FS;JmKauV1fRQ})IK4?M8r`v39AAJuyfLTNqc`w0^!sBLwj>jW*|EE7Cl z?I&tkSy?-_1=F-?(*j%la4`G)^UveaM<3l$h64$eQ(! zZ^MQScvS{V!7}{*>(aIbH<1%(IKOIdHE#KM9S-~N65RX!CVaD^5VJOwV9u5@OkY>5 z#P|uXFUK*jF2zztMhR=4$Qv!mQC)m+4Y?YXNkiZbPl78V74C>maEGVDX-|PGT$1Fu z!cyUok+IXBEUzg*Y**C8rSCb#){|E&g+!&Is^`h*A|t*|?O^3tUcB^=e)ae57$heg zA8ta7-GD=TM&a$5+hL@ujQkhW7Z;65Qf?j3p4$^~;YQs5^(I8pk3WD>-qIc9zrSq5 z$%Et6WK4?m`e2>mRto$YEEmDcC?<@Q!pW69?w+8FO01OO;NYk}F?i~n9{A5WJ#qFZ z|AZN{oJ3F#6;^oU7zX9@T_)#67ZO_JjWSrIPdUeo{LHX}{4O+_eGzmYYZFiu*2qA= z+9UUq2m&R*dB5>#9VfKcO8mSdkB`aS@VbgnmcI^po91HkvLCT_-WS-uc`3GTScvsY zenwI5X5?;J3YV)wMMT;gmrBQ(v2mlCClh?)7la)!-AY~(vGMumpJSQ`5Q=UJ074N& zcasl3_y8}x^peVJO`@bfppZLo11rCv4kmuq>>K_*yxtR|dIoap=apApQG%IIT53b< z^NTOOh%?VR3)4j0ZQH(G3B@O#d=hi#&JC0TMvobz_9wje8DxP2OIo}41VwL<0Rsjo z0ZcJDSOon&_uR8b7m4oOyCXk89}hnGpc1;AC-%Y%FQ{!4terb|R@U>!AAekJA3uIP zPCW6%U7orzvdTjbJ*33_Bab|y+_t{@>MM0@PI%L~xD6XN z4A)$94W5+m;fN!Sz`Zi)pex;;;Glp6t@(T+!1LsBDf)Sg(@r}L=bwK*R;^m4$`Jmo z@4fe)dSdWT8RYPL;cs;K;fJg3oJUvtd*dL6mUIpZ>e4pD0tVrbnu(S`-rIBwP*%Yj zm_-CxjQ)`X!=^bIae|_W$6{F#=x|G-1(L&YoHaM&?lYHk&`y#&jqoo=Lw>J+GVZKdSgDF_)l2KU6N1Y)`(0*{u0DQfq0I&X*rQA~H z-7^AnHkD&`Mk#JSDh(ICxf%uK?j4qEx^N8d8iAKD=!J7$Uy1D{E+u>kEzk7B{^YuW zc=(&m_~adg%97~ItcI1&cR?cxhcOE<;$haY~32}d?Ao^o^I^|`PqZ-IZc zLcM58n}pYuPX?KZQ9V@J8^?=4oi~5J^24qRU7UggM8ANS>s18r58r=}6DLko`Bz+i zIllPfi(TA9IDniqX%a5F_~Jm$u22}>dFP#~z994$KkBHX@YY*z1#)(UqL$$Y7cN}5 z!##uIm9DGF$;mkGxZ{*tTkQ#poDV@C=ZJ_173z>sFmtjdC>m<=%bHT ze=~(O2O2>*xTY|FDKm4#7EO63laL}@^?~Sz0yOck^ zM+CGqrd<UwK-Lov#|^dHkYGJt_2Rv>cS3}KH-;7 zUV|h1Mq^y}Nab2m7w+ky-?SW~bF4*)Y~HA}h;VtbW{!p$NegY&WKLa|NjHAQJzS(yxET^JyP>Y&)B;Qi#2Pj(aQ3?2C4UaY?L z!2#vo+73oQp+&p4FEsBfify`8P|#8o*M@`Ki$(M=s}-`4_Z%(M6x)PuTfKVq!kK5D zxyvFx41dh_EO?ExedB!}6x)RL)Agjb$ln)i2k3Xr2yT4OL_yE`Yu`^i_9>^FvO{c> z;6zex3$m~8jkG<%O?Ba}Mz`cJynk_DEVyGhKDeYG9yzhAd>L}Of$za)H6k&_g4ifC z5~JDZa+_>q5^+7TUn~ZtgyVnb^}&oAhvLfdsWh6%wmpj^P1}WCq>KLA>q?LoW5pRG z;xTJ|shUh1(Aztpb($_1OccI#JJ=w!dS{oqR0zK#`^G4XcU`zY7qFqFoD&`kD?P|9 z^WelmaTt&qt}NDjf)@5!BDAkOGzH0WofcJil$HAWBU05OJNqPr;RdT!WD-8bpu^tf z6~%U+K7Ev>`r$_&!L!dlj~Rdbp|;JPGY4mhNTpb;>n6p|C4tG5&BeNP>vnnKQyU(S z=Mi+nstxbGy7ymQcNhMhoU~aR=GFaP>KkD4n2i~D(k+K8bS_x1K)J8bttIF}Q@5Vl z!kPqKcN$CE65O;fda7~Dv0X6h=3%&SL=xh|{6B1r&4g~TGJ2!n5b@D1&Wd0DJ_Jkd z9Ep!F8-Q55G`Q3-{GJ#tE`6tO(#S3mc1ei%*bqeh=1kmqKU$t6&O zaEnn*V5E0P@Ma8Jy6HMnAB>a`7iL75#lM}8r#b2J!@vSdj4(oxTpNC@bo+4AhwG6f z+gCh18jBwsiR&k%Vnex z2t!rIzmJtJPXX*^17hS_4h|YVnxBVa5&7#LAA?sf>4V6CKel! z)j}=+)EKd$X*u{is0EnhQtKQ)R6U8<7sW+IyNSBmaNBXmAFr;@yY9M6g#>1F9Zq!Q zB;Ma-@E7z^t_`nuw}?YNk!dbCIg^9e`h3G_QKv66W7pS(E-3Z6%QOXw`nu3HW#q__ zflvEp_Uzf}2^G(au6GQvNMCFkEO>7>7K-rteuLW7uS{A4ifs|npIL&c|MSY?-9$IVI2V^0^3Z%d^W#=E z`H_7u1v9PJtdEQ3FcM18f19wuqUbKI@?!jxi!ti4g%~aA*k_hVqgo^7-54PIezP=R z#RXrowNll!BCApaw?SFJZx*pW;DLD<_pe15_wPmcVR?}%yJ&N{I^S<)Uz><-itTr1 z=U||erTYxejjk()$#DnEx!v&YS~aOMIIz&{AHlD&BYvHApbbU4By?0ZNyghk0~q@-}0vTmEqTuC<+W_eW#r=BLgu&_`) zYOdQ!vr~0BoysSbkFvl2{(IbU`|Ya3Z3q+>Uwrvx;8W|t$QP+`{iQn#PDa(V78Kk3 z4Q!T3^iDkj7Sm3DYEIN=3NC!s7&us5Duc#%-+fml4j@ZQOO-pshK(EX@=Gr%QB8M< zmWINVE-XAY{i12{W^@t82~SB$!R41O493h2Jw>cIp%K`+_buJO{?>r*C+D?j>zQ zaMNNZz239u^ud{f69SoakS}*|s(e8~F(iWOz8^N>=e0$cGA~DMSBT&~d4LG&JrH9z z;qxo{V@yvG<(z1#X;)AT(=8(*!n{Ll2jMm@BC{t8H-#$WV^eGg;bp^mSRd=HEw+R3 z#%6w8m`Ux=#3&`KPo0nKOTkQnbp_9jWw=@->*ju(*tx?RE@gPW!F>ruH_NeJo?Gyo znJCh=*xrA(7rT%p1N6cQuX>`viLtq5Zmiy387QG?UZj0jLV!ZU|LSs-qa=R|9OYc( z%P2_(2=ZI-UQ@4iQm9b|q$0+x5mwlu?XZXdH_Cm(4wBYpx|ML^bbZi@MT=bR$L$nG z>=3WH_F5Hcjgzv~}U2rarKifu`cw1-kWulmf_!i`wiFp?Qgj1$}4f$ zp@-t66HnZ+?D`ENIL|%z+}*6sJSVeU&p~ln7Yf(9aDYnDxhEK1g!2~|o1P+*t}cu& za_Xt4s_l2*eYbMa`1im6jlO;Rs`3n-$AJPxdJu~C+Lm{oD+duwwc*4>rr=X{?*Xenu(jXtZRM63zajqm=mhYeNZM z`gNNc__#dPI|feO<88SAl=MI;O>^LOIZ&BD9aftI+qUGOYu}zqh*XtHXC!TQLs|kh z^|n|$*8VUbTmIStYqS;p&l-u?^b}MUl%X)U5Hax)D9o=xx51agVBFO@wS2`23>h>? zxr_v@{uJSy_%!{OUsMM>YUD^2SC`!(!-T#6!3V0`pn(Hb%whU$*B0!AWpky2ZNV2aQS5eGn6o$~^9yi-G( z&UA2L9Y*S?yI2lgHF(ePd#Z0cqlYj&XYIvecrN_gDAI!j<5^Q!6RsBd`s=T&!2&JG z6u*4h#K=sw;eK@U2igM`Om{ft5qgkqkS{ShNZ z?BbWsV^W-R0%+|?mO+}RG@B9W@DA@6yHBxA1|)|e&Mp@tE#i`5OmNgV&@$r zsRlz+!;ffC*NK?Zs*MS z_6)5v6q5{r*LI*)N`#5W30Gy24DLdd-?fS`vey)fu*4|*c+aPp_woi99bHiLM>)PZ z;|*;5c`3q0Xj5FM1#d)S)Yp_VUVd%sVbDVM$De;HvHimH&nrt6Lz0aeJ$e^m!0(Z< zbt!^^7PcVVr&DTb;8WYc@5*o(x+jlBba<*<=QfxE$!3m1Tx4hTOFIhbi6fDoFiZrX zwLuo~jtu{Pn>hkq5{9CG=VOo<*+Z@;Gi9_A;uOHKPa&56qc$}cv4ifyHD5iOw zx?-DfpW68p&11%l+0EJ?JWq;k!gC0UZNfTgi*3Sz!f0tL>P`aXG3iHMpV%g?YvJah ztGt+h-xxKqu^}Aw@)G>Esz{0Jn~(2`7tZL32d8erBR_0bd6$k)!Q>12?ik_i4KBTX zP`6h|7Ky}_z_4H!IHOXHI~j>3}3tfSI>G3TUKm9Y+NMr za=hp|@G|AwU7O9DHmOA__$ZkjBp)qP05IlpL*QfY!$gd4-MV!b>m%!-Fj*Lg``Z>_ z_wEW!{(yH6hc_@j^11jyQAk5FuL zV91!#bS()E{z~LN=Q8luUU!`;M}OvHk2z+Cg_~vA7H|M=-p6FV_5?!-GER02O4k;n zbp^M}hp~NPF#DEafsB1~$JZP2?6(;}xEXV99gZ>S5m>sd0^^=v3`d0ruUy<0*B{z& ztHY~*ZO09ttn+Kt10=YA`|WpJbK{M$%ZO{=8d>D&j$df!PZivaIU#}UU4BRwP#HUO zciA2&z(+2_1`o!E@4h2hjr{xTpapl^MhotpRJgo&=AuX6_=mDa5%d-5YPd8OUj$R5%K-wP2aD+|rezIgCK<1zM`ZtTE^;f_qN` z4!=d4lO27vgf&+IZkVrskbMbm5*-x_*n8jBVzKy+*@ z&O7&9+;sEJfl|OJC!ehRs%goktfR}xjeq~U3L)5$;Cu_Z!q6(+-e|ocE!{%Q20VRg z<5qY(b8x)u7mBloCWz4WFWfSuQ#h^|lZ4bH8^(8U*bMU^NA-$U6W7%F93VDJ!(CkB zcfzk>>_`zm6hPHpNg{xK9=AWaU6LH~-k-c~r$0$2<_aW_(*dWeN+p+5URA1uv&x?w zjw(1RnJOg7=L&zSswhL1e6Fl;V)NEal-DzPLZj)ZFs$SSWBtCCqq|3U7_r?p5y9f~ z$$-uPgOL+|4Ja-w5usd+qJljn*;XQDC>$bEV&Tro!?q<$F>m_M=q#czDb$RZ*l<{* z!<6ZOZX$Z5ZX+v1fQ zN`x&ziOPc|(g}aV5E0pNkzMv`-RCx=ffM0v>M4OgHBM|dl=t6%A0D|^YP**3DKz6n zb7}W?-gyTrR;|L!nKO5YZBEYP1j1?4rtJ{h3?oQ)sD~eYRF&yS&<&+Mifz(57H%HW zTZ7{U#Nx;6{VVn~hDBNB=ox2IQ5%Br&)8bxMwghzKROxv>_Qdad5@O(J<&u9_xm4y zgxl}D1BqSwz!92^nrd1bGdKP7SkT{)mi-K+j&i)L<`r z`*tO^xtu$%QBKt3fRSRGlN3My@=FYFr^2+O(t3hh{y(-~49**x2v0Trr~=#e0Vf<- zjiG9yQ|;qKfi9p%54=ilLWRjkR}W64{_Taw;-bDNw9Z0 z9QIHbs&|M`E_clLA%3x}^7zItvV+>$|FcP6FhiB$|NM_z{AJW8e&ROn!?%2q#sKbuRw^Y>@SzUGDt)09++fRy?f2C%Kr76teEt$8^4@t+W$ zz$K~=tYwXD2|K3p@-nq#e_Ns^#DLPRE3k3$4S}47!$--q>N4CNV@$UuewUJ;V78PX zJF@^5s~KrM(-0zq30l7QiQG#tMq~Y#)A7Z*&%zuX4x`J9s9wpq@XsfZm9bIH-AV48 zfb6YRdlcN{?6b~N;mP(EXPbhXtM*NrJXw7nIbsAhZQ8Vp;HGaZqcc4DQR`p47WKQ4md=h&z(CL z!(_0iXu3X2q7Myybt8H2E5tKGLmns*e3fUxNpA&*7Ot6cjWO%jtr5nVQ1&V zK88OFzZMlFUwuV2YRw<@xKC8JKaMIt2O6=!dv2E(c@2S2>SSX=fvM_I+x_orU_fDU z2`W~7h+bV{L~#FbPzY{*7mR=Xzsq{7ILz0)v$k19H^nw%W`B15Ksen#9P-4XHY2** zqTt?;m5Vch4WEkWM@eSwIWFjPCds7jAUkLS)tx8B{P z8>xZK7=r99TDUJ2!M$f8#K+NerQ6ercMKiISi$tmrieLY+&J}J)^;bMPdFF(c;(es z134X&3K84|Wt*fOD_7QFCA|4xBkmW~kEuSXM!Hy&vM47;^_1&DuJ5u86qIc8*Lwi( zLDh%K@wz3Bgw-s4QX}BpkAHrafuu+i?muPM$QApdF@l@C`_4Of^wCFEtZiP4yaxF_ z1tnYXJEQofAZHmy1bO%U_mP~`F(NK?G@76?n+aYl6ygl?M?unBiN|k>*lreT;FbYL zmD>x4+{jf<4=UN2INXvvJ62*p--TqHcwepS2Oh)al-!MzpsaQnVf7+=F+ zvYJrlleSIjbI8EVDJd#04qlH3o+<|{kzu@q_Q|K8eyS|o!No7?LVxYQ{`w1}M~zaC z;~5!(LWWT2&|PQvh!GuLY?E+nEYcH4pi|rc#DsN%)g*(R8lQ-7kMteEP{?Gt5=m{(cLqSM3wr?yrxQ zUDgrIXBpMRvCZgUdfP2uM1HvpM%+FT)*cjAcu*jTi=5QgtOv{UHAscihoVZ4`abzv zabMQKx>%M=z!yv1wVzB7hLv-;tMTe@+wkVhY_+_5u>NwV7sXO1>tN!(2dbmdXj%g$ z$~;x@RF)zx+9V>b2C*?_L`4`89oc{sB`Mm7aGOztwigv%56U^YT<)8=7%Rf0zUXiR zd{rgzxy$8vfdlV>Lk>9vAAat%8hyHJ--8q{jNC*kHdAmL^C)f@UXZKm9ZYaC zWoleMbV(S7p2_17FJjehjaIR}DVE({hf3aRm-_w~+nXWw(&7f9d-7OxjvI`m=w7f} zq5?JUBvk}Bg)gIkv}{}GZ^u18mzpFQ7tuA4-#8}E%2qC|7GntBmG>=8YHBL(yz4If zFm)=Xiuw-kwvN}I~ZVwT^KHU7_Ivmw6MwP$joi$jVRVj7U;NFwE;^_V{xbXE=C=ij% zC>DGaNXvM%-EZ+?NVx~U-h}nJRq9b8sq3YpS6{KP?Vh_o8OCB@HweWhCQ zl)D~?N2+bnrDS7P9?pFF4@7n9EsaqtxRkU}YC?_3Uo#u4o8VH?mSEddS-K6y`FY66 zFF?77T#v`Cj0~KlqM9U@Q|+1%>?(reSSe$Q3`hQq*(iMKbwnn_!sl?on;eg>|NcL4 zff9ySjf;s!N?IDC;v4>$|D3bW#_TzBP%J{4mTgX^Wa7Q33?Y(&ezS~?e8UYl;Ep@* z4D79GPB!N)gu~^J+(j3Y=0$oy`3?CjEh(xOVk6T6`Hkb3)kS#j=PcF!(-32kcK+^( zUC}4GVf|)fT}m_^j}EGY+X2!5P@J)&QPyhdU}~yGiU!`xi)tkN{?}|WA>2a{4g>P6F1>6^ktUXvcR87Hm@x)%AJ4PuTyKv_oo||9HU1 z$%`7V0VHA0>GBo~;gZPmW+w0cMf2AOY* zl5YBf5G&%XwQXAQT=b;E@4o%mFxV++_NBvx+eg^cY8C<26jkC;> zXP?p%Fx5iMxD`^~8{}hOUwaDsd&8qLx^B%mmj9{e%T$4@XrK`j&qw!+xjnXWqWR@D zSqz0_+#bIv7maAvS$U_RoB}Hv)orUKwpCPVjr3%iRz^(W`rn=JfH`35Aby!_i>J37 zfHks?aW|^4q^L=jzm| z<5wPp`w24y%>=?Hbw-k1M-%`9KkBY}W~%~I8(A*n!a>84_im!<$An(e0 z`;q%Tx06jPzD|b>Ec}s{TeYFl5@UEs>j@G^ZTVz4l~lk+DSgXOF7;z6wZsC}<>E+R z4MsbG*mqNa$IAKu37< zZp`lWjL*|wXMwp-b^m37FJ0L+?i%E`q&81AZzboRIMTHDVOL?=s~n~QB&KTBbPj1H zn|bNk72nMftdoP7bV^jPHOaKS^_&Og{GRL6`uciqO2mWGK$+?Xucc_lM)kEsYK-;Ov}VW1@23+0GYBU-v2VvZ~mQ20(J4C zho4e}T~Pv{kOifSqtFEj2}o35h;O~vMtmB4f} zFfC*ULBTd*wjne2KZ0(smC(m`6xNfDa*A0d2{%!ld!*GX-NwiDCx(5bdF{ntDoP+= z6BeBEsXe2JL|Z#W^7v=C%fLmrs0bX%g9tKBV1jZjwR-*&$d<*6#C)oKBG4QLleVLx z7lVt|{m}z8v7jy2R;`SqDev?#3axkZg1zPV&YW`#^sv}WI#cc3hb0mySMc!|bdz&d`Y*BtL~hgenH(v{;xzqq;P4`k&J znVKk~v>~6k74SxCI3*)$$=FkR5pS}K<$rp~;i$LlnI#3_?v;H~F~VsGy-Y>R2bCJ_ zX*c|(7;oQ&PtFnRZV`2EOu>IPA7s(ue7eML(srK3?zQ$kqbh zU4>qJ;V#fh=;oUwi$-;p4th78;u`26_uSR~-7ps78nIFv@W1IR;NjKw=tSNC^TmgP zv2SN)Sd(YJM$K^@M@Mm!uQ{H5jl5Db`NkeTX0+;9YdXaX%Q0c>BTcpAE=kf!Nl22R zjw555*qj4Nz`0Sy*j1Wrj%mF2_V%n^t&%S6|A=K>rk98sb7-d+xTgi@pXBn1lZW2J zHjWHf)Q!90k_;v$_x(CdxEd==$mQC+uEd`sSBw&0aO1iO%(9xN1_>hxD<_wTW`ka7 z=D2(Ld2Uu&0LCtH`lWK$>HXqc;pv6u?P6vKEDe3_!P42dyzR_DBCjeQR7$O)AZxC& zga0Hr+I8(Ii2YIhc^oU-_h0h+Y?A|@s~ch$CnaVUY_`=t>@cT!#=@|PoIJXpu70?L z{CQ}C9(GI-W@4eNw4(EFqRv018Y)KpRaD089n@OAdC2oGb_`4AU$2)|hOA*E16HbI z4A=;R?HVIl(S?EfECTaEjL~G_EM1N!mIo z5JYPiMS+}^Y#9Dk>KehsLhmS~I3+Xo%$D(h%PUZk=YR#TUH`Pl(IQ%i-2z8ydeRQD z3|fuGSOqLx@I zRPSHA*rEX^S4GrTwV?}>9dnZ2%^+t9@_oStmfH)3jI-J!jqk^OkdG!{M0lU6@n@V* zt5}FHkFN(GhPnD~m4^E6gxIUY-|GYd^ZsQL%xQ01^bx^&tU>~V-*G@g`J>D`jWvgV zC($Ap-VoUN@lzKIXUXKauy~JXgdNP6+6Jv!y3kw7N=utH+dJ%MF=P873J{4a5MMaw z0@p==>C`$2SbjTQZP`o1klEm@`#N<{#{i41n!6B$ly``#fNR99f2m0*Lki&c)JNDh zNRN8WIARGdmPTIMM+P4UfJ>_l0g@PonGLi`?ArN>H$vTGg|5MnH-*K>YJt`wtSo|~ zoiu7q%s6zaM$)+JjHwkvtsaPpE5raEuEkxHU0vJ6THU@-os%bF_b?`7DXxlL1cc%JjZ5modynGX20Yq-@eF!nbW4BW7MI_j*Cj2n& z__$#6bkMU9)$BJ)!KMm{EkyH;uwA2dopl{dxIG@LD8l4SVzuW}J zLdAu4U>4+xMJ9BIW!KZXb=z4*B?vc;+~{wR)x!x{Ty)x=v9#HdH6P*Niad=_$e z99f@L&=yOG_X&;Q)js2P6Uz24ggSGm{5ks9{GW~(UHumpvics2reXUuoaPLTb!8RB zpMs!Z)xqPVLy0k{TgDC~uRav|&Fo}qe+kG1Z(&S?MrJU#sGY5#)PK9AmOaWAtl;@4 zNA@!f(R?CGlNzb79{K`a<9(Nb^$}RhyZ8;R2~>lL0-)sZu6n(R6rkyw8!{N3Tf#GVj* z(kVG|URZFk(fWjMSe6s>`-g{SHY1_wf``?sQ)tP65WfpCP)Prm#?|C%T|@}1O4~Ov zVjmDZU5L8i__&Iu%fo`rn7agf%dGB_@UWx?>Uf-BiM7U!R|+3FXrA^w+CGTlu#|4< zL%)&y*qMOeK|}xE?IX{q%fyF_87HgkN;aZ-^I*yEupIBfEl!fl)!uo>dF5ryoz3_QqgI6 zJR<0TiHjZ%(I+Kf#c#(?F*sPery4}zJ3V692WLsrPfsNpXvi8)6)`6&wH@F_)pg6; zBU~a4-p&bH)JBIo-vwdl=eQV zz9CdCw4?w&o*E_N;>EF}qNC9KRag@IEvZlA1eL4)Vqltfiao<9VkL}&ZXQ;%K{?d+ zgn(w$Sg$FG_|Vj(Tyfi1HG11iidlMVFdN= zvl)7xXAo_jrxjj>Lg`f^(QgbjJmP~{j~0N!zfj;YE?Z#qIWAWtoK%e^wmVK+==?s;{q*9j6{equ{Z7O z8f{t*Ti3zx`8<<^@9vVKi^;drY0eU+OXI~fvLKxpCxa?BC?5|uFj9h$N+Dp1Cwm<8Xbb%X6 z4CPfyV_I6#IC;3`{IM8&xuNhfJ;5sn$pS16LNO&7TtaDRCfM&tmhdjC&AeouS!hQ6 zan^vp^C6<+A3gPGTPD>F%m8Q`^AwFE*42*(*WurC!Ld`n<5CYv$>)`ING~F(#ygg2 z{M3~f)M9Ll?R?y>E#NM3E2mGJ0vywQ&mGX@1Q5iovwy$GokzYf6{5gjGmif}^qr;Y z-MQi2Z4W0ht=PFNJVFtPE=#~DCKb4>GF)}=>Bqk zIhxK-_r8Xj?6n7@(3{ivWPnHBLL1;mu?eroP3a?;=LVrAz>e9L;&?)L*%XjN>@gf?3tytD;6MlSW83_ zW7FjWZ4Z*cVsnDLv)JH(($XE+7R9}N3v}zvI$33bE^H*7I*c7)18K!hf^S@&vIm-%4ul(9@E(V1-+j0 zGqmj7e>giOgvJZ%fR*!nYE)3K;$DIfS&7hNi~aSpBP;O?=3-qcg&AiluTiw}Bvg!4 z(ZRXlSi9YT8jm|J5I9u1I1mjA%bK7(6Z;e^@I!7jnhNntpjiGj8}-Dptj7RSNQBI6 z3Eysf;QTBE{PeY|jEkK0At;-ai56%Se#-xx{K-RE%);0>8!{??9qPzmpxRz#OqrY5 z(O@<^B^Jw-X6&gBK2RL9_sY-Bt`g#H%3l@qj;7)Hk(7Cqn{Q#>Eo)=$5$l%pQz2(T z6v8xm=IU7w@oK`Use+J-!+tyZ;^Lx@GNz=E2wpr!979jyhZQU_g83 zYNhn?=MZDY%jp|2(`=&NKFBz~q+E-M-7oHG+|(06Tn+Xsff8B{w0ZnKLJ>LQoHS-O zG!=#u$V2shq+dgF2fTZYA)bCe8Syt5{`#@9O5aYF^CJ=3gBA&B&l>P|QVM8ihfOVc(BN`BBl4rS+U5b&}#vg0axnt@T2W#!G`Qm^9Wx%eTOXkgPbCKoC<*!ZC=4S0& zEFK~sK1UBL0WR&H`X?|S?G(N48+y{YsMI6m(N*;46MPGbV|&^xY!Z2Z(tz%M>jhGi zD^$o~qtj*SkGd`>Y8DHHn3ggN7VCz}WY{^06*xupYw+h70CpTX$;&OP_im!2RJ!vu zl-bl3&E*db*w4Mx{xXL*;4GobkLP_lpwHE$(ZqAyN$IBM`&RY<)lO**pz?P7OvtHw z$X9y#`qv*G$5gO+G|YUrHTiMuFxl%)#z2r2t&IG^Xs`(>#p3Y&&=K%*Jj6h9rf0P? zj2N5jL^>-t?ANDW!I~lK1uiZJ8IqIA24gkm9_Mp6aGvm$^STK8NP&!rb}}E=N#ms0 z=E~es^M#I!;TsntQ)+xazN4s>8FnETrKsKpuXY4pRzYQvE+$lHNklxKe_1$T%`=#* zA5NY%@nMHmG#@ngX?(ke4vJ)E=D`kn_2LDp|K^7(&rgP)#Bc%HxQWE+TmMtVZ$^X> zc?jM+jl{Sf;@V&nQA~{>+S892SVFnK1p996oR13BxL&x+K#Np1`BZtm zL7C|pt3utwFJSkGKtH6!#fr{w;R+b2|AsZtui#m)j5`n1m^q7~LFB!(D%$1-Esc>9 z7EeH(Xk`gDs%DnXz>Ojxh%&N74u}qAKH7437>sEhx8Ow%ebFy_>R2j>>l`e01X*0K z*&d%6X)(0#&GpavQ0a`f55gBE^ytK!+fpt{3Ew!l+YmYNji6z}9v}iwL6`H+o7(f#DijOl zfLxOF%Wf1{w&4i$Lvl5lyBNw0?*4vR0Qcnb6QToxhJXa9cZt>XlrYx3FHof%uL=IT zPOPJaGR1ad0s&I|b7y>y%ht>B=CHa`C#g=R*9yP%#(c0=pQfM3(Xy%&*LgP|%05n) zKd=p#ce6D#{tWF6DzqYuP{Q8dUR~fd_suzDJ`4y7Z2ewZL*N6J3U>)IV)|Fn_j{To zI-Jj0V!hXfv|Sg~aQPYHK?t%b3_F`AXP#C@I&7Db{U;WOL47@a1a-Vl!>zCW8?$06 zvO2p3q^d(b~^loKx10Lwd7-W&~gQs$=FAn`k&{OIM?AMh$gL19}|IqK*FxoL%VcvgV7DLX2MK96Aq$u3t2jxjgw=~{pH$1CG3 zs(eC_ch_Db?K5@*QsWI8PO{I&qOYINQ>o4`;Fvu`-?0;gKM=XH06{74hRFAD&PkNH{&BQKVm7+s2ua&V%GS8U( z_ub0F%a;q-lE-j3vK|eoSag#~G3ipxJ|**1gODfdabot5@y)ct=aET zk^Sy!fQrjmgMZFTteFll`@Dw`QRQczw<`i@?IwG9==<>WJz2{>OS?xcMVEE?4YGx73#5($d1JEGjg{iHXH|>;sonLT0DxZFnJdz`F%6V~<#+&*Q8|hRb5iY1$9h45aLq<`O@^ie4CQY8y zkrV}^2dWqwY`A_J%LQK0z9zJJYU4On%Il-BjPi}9tndWNGc4xq6yGVHJ5p6%#Hb;6 zt}|JzoAlru0FQqoo>s_+^K&xZg_pa)~F-znWeQ;8U42FYdIS zSl7sB2#Ajc4dLTNs0>I87R?(Evx=g%#+?KkyMT!q6JC=oOh65L_@7&&srBX? zukHZWMGLoLdnc@pIrhqg2dS1y-)G3_Bh3`O5K(VH!JmObpPG#EY<>2OM3Gd#6_qs1 z{Ww>0s|HFvBaaEE1d{E6;H11Q5;uMq;SJ0NM0m3Y#N$omv{LO$ndi)ip#4Rn!x`7& z@tqty$^bnypUjc5HMEy=pq9{2D<6jbwUyes&c-?7T>2~;`V85mbPN@j&(CngQST@_ z+`YO5utY?RII;kJ@1WSTAT^IICES(*=xd2L1gtnW0}ry3nxr{UA#S|C4nkw<)-D`6 zbni-oiI|DSzW{{FNhphmiAaRtQPEALgO}mae>BU5jeVNf$OMYWnA9zx_6taiTD4U{ z6Nn0(Ya&z72n+R5kCtp$NGNDP_Bd#()cvtLs>#TuGOTLxWX=+T)Kpa~#wc+)e*G!v zx^+xt&rA)z$8Y=ia+iUvE1wNHb%z`NBX5M2h!IPz@dRY0klxO9@ntj92}2u;6BTqq zgfLf63p-AHNRRPWxuc1@MkxlSCy{V}0gsEj9{*%PKJWGDF6YTS71r;s= z{j+D)VpXa|#O6`t^DZB_Dl5WX`Bn}fhlt77g9!l^gzKaX zpHCbAt=C9}C1kYQUeA#GF9JF%(5A;xR8!E2-0xXzcItjiM=H0sa-Zt(@W}fe#xRT# zhPs<8vq*Ae(EVD=@>xQX+WB4spdXZ9i#Qqlr^2r{_VYPA?JhGA7k_RAyiF5pKZtVviv6+XBn)vpD zdrXXsuo1De^aO}`*<2GomelW&s$Mz$!u`BF9yWqf_^8p*`}-xb@if1&flaw1E^k0! zW|3!jxGu~N;_;EOs9g%qqB7C9xm8IdmXqoZmRZV|p*(|h1=lUii~iXdjZ^t2%N?GF zxjI6@ z-0T*yOYea{T-khF`VnuSb0MY0#l+0a%>T80qO$&qP2p^|a{bSN4Juz;c%^JU%Xon~ z8$=b5%w?;Z3SIj|?*y|LmbQ{>4tND|*1{l1W*&b4WAQ0_=C1-VO1YYZ>DVO1rHW8| zB)7gG6|*_ONfVyZSWBAVUiAdX(CLFlt0#`WHytVvHJWA3BVNE(J%cxOk|SP`+L|qwWpmr zYL%z!$e65FB5vlNDJg2wrmIyLHdE8W9-3rT6r}pzuVT?S>@*G~F%k-yHXCea^QJP5 zwNgpVMk>P|+x=K8zfRdsz4bWr3YIBeo17N3ry`_-QFC+&{-b5nMSik?nfdxn6d0^T7x450pz58w*A<_wOP} z(B-O~VB(-R<3cEFn6rusnwKKs@JN_ZH)@5s9=kz`2cT_FYoh@f6}MDZ9S?z$rLl#S zk52@r5{B<>*SGDYAPU5M-2*69-Dq;}-^x|g;QC%`ZK=sqM7;wz)Oz0cePZCq>5MYA z`6s=PN6i-iA#O{c1m@_v(=f<$@T@*ce`G+z&GIG(LJ3)uS0r`wEbzQm0O{2jXf}-T zUkk7}ZMJixR{hnM9NLS;fJWYXOgbSCO)RSl>%&k4F-IwGr+b)swczH_b1@}HZ0QM_ zU6+n{1I1vg(|T4hvV|2o-d-fTG}NP5D~}EXxbwffN;ZU5Rd!k%&dCav!bZsBwD@IC zJPBC_Rd-INf>BEp`@9N6KFyi3DQS#HG!=$ySjEwZcD1;;tQ_Fe%7t@m=)J25N=i~W zS7#;UYiq+l4&MzGo)T+&-e7t^DFy(*7yVZ#Rig(el+0_DZkNG%NwzeQdebfBMvE%> z2$AbeA#R=!Dk682n5*S}xy)5K@~a3Pn-tqCvZ2yjYf^|Pd7Z_$0)?U^&-Hua{yRRc z#M!fQFtQuqTldQrf~T0Gf6pPmp#tVqkH_ff?D1rwlb40VoS26OMGAV(fop3X$srjH zMq}{@mxu|{o@SWhsGFsaDHp@Wa?M8Y&rk2j-!ma&7OJS!8r3s^a5jP^0Yc?OVcCA>bg4p;L2rE!hBRD>XhF239WPdgmKcfuvJck>d=2B78Dxp|vzI;DdBRcxqcqu< zXQwPvv!OVQ6fu#vy}$IWc2R#K18IrVigEKnE|=?S!+W_ru2w`6g_hq`uzg zTPJW;(bB+97#V}@-9U%ST@jWQdD3kr)trP4g=;6wu|dKEF|I-wj9P&*wH?~q%mV?4 zDdNJyQWI9!FBzSXM(Vv)X3o)fv$C|>X4M5d5foIK9B8EeqC`d=$9sW8>REC}e&RSm zoYmR<-?UY6j_<#V_Gdf&duqJ1l%?6dfsDAFK<1Tf5OZfrSq#!iqf){Y2lqA~58Fns z$+Jzuqh?3%xV5!}kMf6%0~60|kiElv|6k+}QGo*@ZQkA~zi}3~8nO3~k(sE+>epOP5K3b96{qI29Kj zLaKSiXiY3TSj>&bXPIKdrJHw(Zs+X!a{t6qbBsghrj>sbPnuZuisVjrAk&Xo9sk;u z-@hAwn00Ooi@u6qXg#AzI~j=HK7Hf;dq9zPHsE(ye}!CZ0x)ydtRM<*oFN-;N6y z3P#0kCm|Gd`*(F%^P@ZsBvzh!%r!WKIz!#53b1BZIyOCzN7GpDnt17O_D`W(^Atq1 zoCNA+c71*b*@>nQ4LvL6Y~k!rL~M+rvV!xOXTMExfRAi8rkxTd_J7|R9XW#+!Id>M zIHf1Z;&iaKU7p|OPT%f6P6~s(SfK~b?L>XfEFRxjNEpn}<|U>@{-vuV2%IJR$zd0o zld@Y^c)dQ85S!5j_7H%z*X|agf(mmn8^Zom2r8c=bGMc`kS!u3p}w4;O!B&pAxMa3 zPLl&@X;Gi?Xz!^y=`AeAUSwgAn9rfHX)F&OC|xg{v3oDp(zy0GQw|do4-DjSp)PhJ zrwoV4XpfDBLOnAVR92#PKL2xOYq!Thr1zf##1Ndu3dlw(3xi`zG5O%tWPH6;47QS$MNsLJ78kOg3OhZMw5J*AW(m@X;6TgHr)%^H71-kC ztm7~Rdo93n+Z^fQ#HH;0*dE(HyW$o^Kb@>=@wMH`BfxT=^5YUZm;AP@1kaS?4Gau~ zW_OQQ^!8%im(C}G789a&FDfMTh7p?B(F&S-epJI7u*?a(`As!<&K1TgjO+KUBqZj1 zt0)V#&g8`mDGk-OawdK9Lb`$nbHas}(_;~b*2sDiWwqbdzhnqs zDM?EVs2|LXkjiVy`vr47L+>-3B=mZF*yQe$iifPGcAssWHyQWbZ&MnQCq-zW*d< zsmUjRAeF%Jm3%^bHpRd_9yqDV8=0w_ZSb1I%Ifj=DcORy<-ZD+vk_0~P2ZI%SmnCz z3f%HJ4g%M^3us5_o**jwQ?**D$1eN_W71c4h;A+u0HRakpr)US__U(&Yzcef6pQLze8sPq$gxIJL{_}+i0Mr)ujWcx@Kj+qS6*7k&UUVS1fD<{4?9@zYdVX$moTg>u2 zF~m`us1z%EWEnrWxHvm(N(mz0g;feuna-Rz8fqF#y1D!A?o+xYJ&MASb6ZUP(_H`W z2Q^YG{eyDr2Aw3np!+IkW)Wx0DidsOw;A16M-_yvJfqj4(3TDYZq71E~ z;` zb-C~dRr6;z5W-E(`TqT2uB!4&KDI+NP8lBJ0~R>`M;e@tHU@$zj2)S|{Rm{#v2mn^&iJ%&Q8gp?z317+?wsLP@T8j< zd^;6!Pna=KK)M~S`1dKV54Cg~z8f3*^4Z`_%F|-{RfmiQ_{RMc$fsAk$+ay3I1AZ4y}TC>gJ%|CTPslo^5X23+gHHkVdtNU2ZqUy2n=zK`Z1^V;F;iGUn#WjfgrX+Rbf; z=p0wt9Shiju^%xbx+*F`si~>HF+r!UVw`0~Y?;dz*J-{x?5EvxXc(akuBe-@yVrZu zk|F(jKR9f~F6{lIhB8yoY5+W9x&{nG;dwRs$LJEb0b+DL9wr=5mP4dF}?&YGC1b2!+KLa!`5Ej$Ys4~=fsWVDs7@^%X%nLK$+rB@79(N5TsRl>~G#Pk! zJCKnr!x~3JnHzh`gS~t4==8hNk7?DbcH4>IC{Gr)udeJ|TwU`U8&U1t8C&%VoX%(* zdR;0tln96S`cj4ix6f!6{hLrs{BQKG7+OE_W{7RC$|ZC7VG#JcB70|sCq-l>p=an{1YM7*0|R}gL==6 zYOh9hfIl{*v#?y4f9ltZkDW`)GU;yVm)~P@f+*CJz=Ir{Me3B@5tO@x3}t~ao;1%S z7W+XK(-gf01$=c$afTz}v-oMUP>+Bf=YqfEn9=K_0D%TkS`? zIvDobtLfVxlWvnqc8DWHjG7AVXmFaId#Z>q&9ZY^-R=ExrjzGo0`=0o-9lcpb010BFEh#??lo4^w8P{)}9=nWYq8 z+^P|-P73!|uSWy~>u})!+Q5am?BERc-1acdlTB{PvQVz9qOo{!Fgo$|H7GZ07#>Gz zw%4fxpU5=~WYW>~OJOh7s_Vp8kuoq4dsh$*Y9Xf{tHWdBgsfrXSsyWw?S!#R$1}Yh z-@lJ&_YjPS5zSAE106hkp6(Tek-+w-pohmFvYT zv8-Ct4A*9M2G_$l_X-Jn!j=$wf_`s6HcnND^|X(YuIubm1Tw8E>cmG_?xhz|2y-d_ zcl}5Z;Bvw6(k;GM1YjR_=~Wn5a^mSdhAf$Ibv$%X5Z#*JtKyn5r&#Pxa1F-Fa}UDY zEqss60|zF_>DH$d56G|mc`6*7ocCl<1AW4zi(mg5@c2BAB)b7f2!z1tdQI=b)BcP~HG`{`J7% z)7@RST4tm{rR_)5-rmj!9mwRMxb0rFHJL<&M@_OB=zs+lC`@ny5NO9lzzoW?_=E6P zy7$v&F^zOGpw0mjFOM~(pwDXA0n_UwCR|7qa((YYwQU{4!l zJfNt!_?8SRkO&UGXs(FJ2l|qMk>IloqJ2rvV>dD(J)P#&8+7=_mTfKSU7m5E;8w^} zjkQ6-yuXSpQ+y<7{YxxfNP>K{u)PVwUhf8NegSnhxfk=)4fhO}cNaG=P^aY^o*mp9 znGiE(9S5_4Vr%pIXC;_Xo8r!TkinNX_OrbLP{R}iBChVumD_cW(hcAu2zP)TNE6bl z`?NKK7uZ|~OEU>W@lE8p=f24?H`#?BwEt0ACC-kZG`XHS{^K+S3qahQp zUKjB9u={!YKnh8og35Kmj-$`&X7E=sHJjFwX{!aO7xXA1u+?zE0cUzrhRwiK21d7) z2Vf_-d5wq6N=9nsXdO6s`cqK^p*EaSMpwZTU5=v`a#TiND;B&I3#dfD#enr;;FNww z>$^s*@Y-0EI-$#^moMEMjq`gT%>@It$NT`ORw6uzdLs;3U}|eEV>okoDATZ*$we@nsp*i>$iNsDrx_W=B-Z26!b1WUyCdFwqsr{n41*M1PxbuwldQDA11fd)c%Dyz3xiTm*2J+0DZ}R2TpD*(+W#{5`P{@r}6@61gJ~ zKBQE*dwwOXpot~^af-;41w5aElF-(sVPREH-X&aRtb@B`$c}~^Js%T7Qe6ov`FLD? zzo-VzJbdv;;Y4^pH6~>bUv)MzJs9xlrTHv(F$$%o!bSnTuyO>NMs=${vq0;33>BS| zhCv#K;i59D)M4q=nX4$~gwBa&csypk5f;p){E=TV6CZm+sM#PlZfPvG5So z1at0*bQv%e0*RmoW`+J61i(~V9`?66rDv}m_FwH~0n*88J0uTbf#c%Y{@)wn(Q2G5 ze3Fw6fyQe;V{JCztO7AHf()dZ2q_*rl?D67MdJ^)Tn_rFiQbOVrGcl1etvIIO|5Q3 zuT9`kZqI*A-VutXbAr-eJb))hq`Gos|Jb^`4X(PM^>YP3ZU*@T%il2a1w9t;wbWNY&bI7U3rxANp!%+#`;Q+9m=GP> z^I8|2BwJ%33YA?!#f!-MESmevp6b^x>$vg$c(hDeg^ZcLZSvVxM8)&j?U{-Mzt4vM z|NqizXvChWsS&k`M)z-XVk^MQ`;;_5LO^tVRZH6yA}UL5vf$K<=Qge$7rnLDK2Eqt zh%|)_tRqCe5+xnrXN$iHBf=wAVI_%2G7{ElMf7x?r)+g#iwEEuv1J&tWGrn~O~p|7 zW{f{dw)|}YK5*!$|GExwhND~2@cP`rt%K({R|t- zPy2CsdCAvwBZjG0l=kEG_4PmXGGmw%EI$EaiEKt75SM!66^?7y_S3%S^<=(g8?S)Tkud&{S8o%QB3xu9o7 zn{u67u@R`0cV6N1^U6)l&5liUVEoTOprxpbOOt-VQoHxF-Pb#uYR<#voU_->L6dg% z-@ku%ACchU;ZIIaxrv?^kMD`;>EVF}2w-?+X>D$dqxY8 z62TM8FD`689&7!N9+43FACQ)-wC=IF1=^+y3P`g3zg{7m7AdiDfoR)QI<0|oV#$K? z=tE{OsSg>(?%@BN#*9BBqoN%5LNEz#xCCpbVHw(f5c=E%^t9x)ZhOH3odF>|5Eutz zNtEZ-@5J22xCuSFPGjUgCXP&yEA3_zsi3)0NMw4DaV(s+>ueXB?J5Qvh+AL}=wH=3 zt;Rr1+}pZeY{_*0%T`>`G;M7c3a{G**Y0=Hkk`?8N;;cmBJi<${>w0LU<><$8xF*X z-oL&(9hs$-34V$Ch^{`|not?MbF6pfhMGV&#`qoIwc*34z?S zn4209{JKSq#^Y9I72n)03g6yGA{Z0Q(WOv*RX?Cj}8stIS}yV)@X!v z5JyKxFUqi;a9deg_CKx|%p9WuN00y48L^On8@sR|Qft-AezT!H@qY-9bqLLbOA_`2 zkZB8V{Yp}aAYRTF-hMm+G&E;F#-O|F@jti_)hHuiy4#=lzvskF5jn>46kSNGqMC@D0xo+#0Z#XYWc|gO39`N-;b3q#!AhgQAEn01Nc>)^%3o9#7qEcRK zX=-M6dwyWJTx$>qG-aPz2dNw%Z?(0m=J$%)+0_8s9Z+sc=uqfI<~lD&fWMaKb)#72eOr=o_5;GXX+(J_K*qfgxUpXd*a`Sk<;MYM(EnG6g~} zOlE9&K78sT+Mka>6j5V;AKf0`_LN*VrXW@)*Wb%uxm-ud{u>MRrNQ#^l3P3+pZ)Ll zpmFLSI^PS|10lAm;=!I{f)|cLhZ5}w-j#K9-ZQd{I>yK>ue=M{uv`;2d%oVz!=f_{ zd~S!mA|QO(0S`medwf)+eKVmNgIJHoSX$K=MuJ^$Kgd;1bHijzXvi6eOyWNdWchAX84G;Nr?)$4G1=w*@NM5ojdL5g~ro`f2Lxx7M{;t~a%#CkqBu<$}39@*I=)!NzhnZ;d;q)&m>uJ<;NhGlYa!agZ% zQ~i4zOlEukfLxYKaLwe=6JW5ux@)*m0q~KJM4lg$Ih%H^;BxJ1deIR)a*_Y?+9&#N zF$&|R=6wuTSYJYOCX96dDbI z2}_bRS(&~WMx6dcnRA10cY$#o?}YaWmAb|XT+$@GE`Q)QhMJJk)2ld&241?Bo>pqCmX zWoblr6z8iOf)0-V^1L!a%&{4$PQDuFqZ$KWjQ?_Sb^38?)r9hz_0^6!3@@)K`@X?~ z5A)w*g$%d@kmxrhUzJkgaN+U&t9JLlMXMea3qI;4zQ^N7p4r)teFPx~&-VHjB-26n6^-&U+OUdEh}xO#1OV_PqS^U^h?qxeE{owz%m z_3_8|{=Mij?#&K`lUMp@5l|lcBlRApTI3X8#;8}mg~1C74JpBbtt|*+f|^n1x!XZH z7$wH`ww!*S`rKB@CkkIj6h3XG;NPkw-%;PGB%isinjfW?FZb+)TC=C_D4_zMD0Wt_ z3iRigbeetq+E4?EK{zdHY8uY=j6u+P73QX54p%$5>jYnA%Kxp9GZkSZI~O41I@CwQ zbhtu-|Aey_2P!UR;)n=%-*YYUH~bLf5rj>eA3#1}a;}gt3PP<1#>HqYDaT?PvXFjl z)G9AdK#Nsb>d2;pb40bo$cr9un2u;vlMnK$Z;MI$yewN&gvj4w5u(HZ6rm{)UoeQ zxh6xrVs$SQ>L#*q?|`_fkl|wfBhd7Hvm1oP`U~#+5(O1CAthsMYkltR!}I4c8cXhDa&Sdc1y<86YI(O_Zs1q zmXK{VW9<00#}DV8m6}YR-6~l{$!rm=PC{&cS}~7&`jGzm_yy~C187j&PplhU|TNtesn4 zk4!#1oRMY2n(h|-AjZh^r1<(eOuF&n^MaQ^)I%Dj2q}+ZuCr07{NEB3P7Du&bbEC^ z_)Hx!x7`!(s+SD6x0?^Ll}=JDYa$AGFng1BE`DIY64$?Dj~8aGAf*n1cWA*b#Tnty znz*04{lm{u35aCJn1QBLLa3%hjs&PAYnP*l9!J$>?cTlJ-h`=n+>9r@6!RRTaz+OX zS`EF;BgjsK?}`EKMam^y>2Bm@H29U2j(oUDx7-^p+nGXvAHbW5(`E zcCZceGM{J^N=2f~E1t03z`(Z&filka5wR)bi}gs^S+u$1&>iXQykYp=CFR{Xl8JwR zJ@@Xp@U$~(MT+PHHR?XP;mOHp1hYYBCCFDIqw|ABJ-_n&zdYql+Rtk`Z}!3n_knZo zQGj$A;U+Ndc3|-RhWYH=2@KYgk(1vFu+_;KSWrC!@hF+^SH(Tff^R3J+hO8bA5X2l zQwiS2L*dALP6ROzoUUi845*<9i;TBZK)IRGXNPOJs=r{zYoV}L57fGRo^iJSwx`Ey ziUz{T`-_EUPb++!pYAZBn6mzsKL`76NjtS<+?HT?3~+0}>!cW;=bN%4(?1!p6=y~-7p;?ziQvElwHDB1){`85Mek3x`i&EzQ zDErEwD%-GI5fl*VQc@`i0qO4U4oQ*j?ozrD*mQSyN=ivdgLHRy*SWXv_syIi=g*n( zhqDYpu&cHHDBooNj1IHn_@;xmg2|nWcl9<%8s;otZ&XDlF{}qj^N) zVf_Ub{PBfZETL(;#+AfB+(nGHbrY^lQ#&j{Je<9OzccPeMuMkaX-S3$=tuV z+8yfpE%5f%?fyKUubZv)1bJ~Q^zprki{q^94mFk`g=?06+wElesne`zmadXgr%-#0 zi_!x#KO7=fc!wyX+}*)!ZD?es!jAawJIOaZt?5tqTOKIUw37Ilp4$`|M+n{>BSzJY zRGfyF7OfH?3T!gxPl9an=iXvM)!vH+N_Qh)$fSUPnS_~c+i?EWw62eh>%F)@5Ls;=}0O*ki+dja3EGCGe($a;NfnFJ0-RA4ss-O+NMdX zq)j#}5-wYoPN9)+Cn=EG+E!SKMkqCIRV(cgrHLpM2!nYjpYy{nzpya)MMA(&3Xmyq zOx;;~-{D6>M74mf#K#e=g}evvv*aZkS1BnZB&P6Y(XZ$IH08%5e}yR*d;>P}R+UsM5=YDYvldl3Su)K|u6|6wqZLMyU=VV}bPypum!#5TNMGi4eaiu)i>( zwdeH2bLjnR&zJKE(B4*@)oRVS>>7szodhF#G(H{*hp>?KK8-hgR8Ya1dN28}?WfE% zQcBu)WI|+fWL*<`a2pO+{&v-!sL5Y8`0;prUC|BNABsx}_pJa{ko^}>+g<1oP8NQz_z#5+2#L;#a%4i5b5m-xoMX zf!6}lkAB(vWJOHeiBl5hw)u4>H%5?d6HH7q!in%w4f<{4W20__Aql}sip@qP52UAf z%nYJg=09v(ix+-?@Cxpb!H04lh;3N6o&@NOc~g#g9^HISh$d>KAC?1a0s?{7ibC73 zf#X-X=}zNLv+2B}=LI+9-EW|@}3(xEF1iZ;q3g_7LbZ;S9=GpyO`jf$Xq?48-&&Vx^nc!UENsi5Z=I`2x zZA?K?NIYRSSZ~WHa7btmdx-bL7 zY?P*coL^AaA*tJR_G@(?t5@E(PY<`VqnLWc36Cw% zM65Hrv>Lv=toR!bbsBsThnBcoUrc#gs^5H(6$m%Fin5&87c}6K{n#gbB_gS_t?s{e zessAHs8o-e@=0=HlkE!@tmzD^uVX#y?S#7^=@2|XtoWrgi#REyGFsJxyIzJ+7)UcK ztBtOx=Dnny62a8dv)p}woKhyv2CGVbeZDA?EgwA*=qAhY@wF&>aPb2N4vOMvi}u zhUp`36l~$f7L$|ivm$kL5CnxsEIX8Z3MBkZ->VCJ8vAFC=I-v z7p>m1FL{T|d%Ww}^dv>$%90X;@_7sOBwDwcrJLjDI(B@S)sb^!n{&DvG6#Im)wza} z(0omr-lBTS2a|JYUMDmS4|d3$MNhN}c-(ahS`=^prbSXxuW8F(ciSmbJ=~isT5l{G z1keIr#lA)u@^INh=j7)LZEBIB!cT|xOrx9UD;wd+6$E(>1HagWeD%{hX%QZ}_3EoF zh>LpgL$s7&=Rlz;(gjpSY%DSsI z_9{5);ZCSNixV?oL~O$~+#9XOv#gFIbDgZ@C!e&3I9?kZs9MZcA-P}TWal(v$PCf~ zbb+8;WXv5I--JE1Ipu+aF*DkyH^1D{P>E}8ZTUM^vPz%ODB@#eQ2p5*qQ8O3dQXlx zQtO3Q>+F<2P5ONJlDB+2`WF5c#af>6)oN2Y*2+}8X?oGqy3fatU`E9`aam`*E_Ii^ zZu++z6U&Sm_o0D~68JhGNeX$#((fa&v*Kba1goQ^TTa&e!kD`mmcFF82b&2aDrTEs zUi+_UqG(0VMrVW#lF)N>s};ZYLz{OD3@7%6(K*SDNI6uzylLZMkGJt{`{o&3R`cv+ zd$3FA{(qU6m@aDdkwn&<_h&;dG%qu1s@^7YWHUJJn>aFD6k2NUI$v}ad6nnnzyUNr z1_!Aa2@MUrLglXOC$5p{-Ssu6Lt3>go!*O*nIEBYe=Ry1W#%gNjd?F|u(GR)a0pZH z@LwSTzlH~?VsKU_qsR$Z$;UNZSv5U*6Tix@2#GaJ$s5^9uPJGDb#V+4REkvAQ^iC@ zefnERF;UkvI=|sRw_=&ir@07j$Zje-3)d^<6#xMGqB=%k$aaQy zysP)CY`0Rg_PeDC+?tOYZU~-MLK1oe!2j43x!D)HT_Wd@rm%xn-iOy@V>28a>A~{e zL}bg5riI1DviN5lGc)PvR=ZI~kI>p!WoC6T(jKct=WaL`j6J)e64Q^g#JsxemE8lC zNCk6p;$!%UqrJen1CjE9U?TEuIu=xF^!fyupooao0&istf-HS~^taeZVg|4O)FCuH zP}Fd=6qp~j|JClkK8oI$?E|(2E}*O$BIVgP;nG~uN?A2gKDfHkuw&QC(eg?}qFn~&^|+K}{@9WPTM*e$hkI&eWjmNlub@V%|6CxD3j>N$fAG-#$72nYtZw3}WWyv7J6BICU5p$F#oEbJ*SmxO zejqc0$XHQHkr#7=!j$(e#lArd1B}Rqllb}o!ejhI$;M!9F6XSw%9Cd+d25u7JbJ6b zEe6Y(htx=+{S{VcvJe%v_q^n(fl2w4@FFD=DH8X-{W&{E-)j=AKNNf{h(D>SL)G3l zr4R9fFJKAxdKRz5ELw^m{_=vrb#!4eIIYa;BE{vJ^542(QBll1?ukuSP{L3oBG)HY z7M36lIMsJ-AT383swAWkeSZ^($miAqr&4NF!{vE>7N{Z~TB!$G!*$9IdLmw2#7hf% zJ$!0Yc8^zkn)oM8SJXBOg?$7Mtp_*Hhn5!QXM-b8XVqs*cboSlIVWyr*+n*3$k)>g z8pSK99CH^odWLqbEa;Auk8ojHTai8xjY$RDbO?CX@?AGA+44GX)3w#sViS8^zsLEg z)w}R?(Wn&^6eg^yievqu?B}hS2hcj5?Z=szT-1CF1>+agx&uVENjyRV&MzV zXkdfu(naRJ=8E!C)Hv4ABpz)nMeSComlTwi{4Zo%iwkn!gF}2|AdK^5&Gi(oz%;vyAbm^S7c;nuWCzr_Zr6QZf?mg zeGiKRWr1FCBFT*^^RXr-CdTy_{;p_bfNTEyg|)R+7xn8O7UQ;LJ76Zu6})mC)ly?! zD@^f}Rl7TJsfdH%D+<{(pY3gv2t{`{9svH3{4SAH_@t6FQPud%Oo?B6+f+OD%<1+) znPaAgGi|f|8;q!mw3Y1Lk07Pa{$BCGXjgi(UA&RMe+M0-EUG)kQJ+>eT7lI~kseuQ z@ia`%c&su#|AJuw42O{!fkc&*>-0IVV9!Vb67z>0iWv&Z=Q4L=l{M)?v|>dMlsse; z-k0rL`%SVv<2T#)W@=<28lw|C?T5QWRs~ck3F6?gyf?Kl>u{XX@}! zw>#Nh4#6FX}&hYq*9J?iTKx zIant!3yCYhP5wJ3I(Q>h8Z95FFXK=3~Fw=yuve`$ar^32?>ei@2I=Gc=DQa8Ny3QOrAA` zx{*8GgI?ucBb8)3z*TkxztEnd5?myn!3jVCNGn7nmn^_8}H=Ioi1qDT-UII}`ujG|Je~*YWg7a+ogindw)k{0GvnFIYcKQIZtFDRp zWB%Mq-ba=v{(3Up_ibOFZBS4}F@6X&R;+SX&kPdm7MfWn0{mq0Y{u*4izG~>pNfkV z&_uSQQcO|OPfx(plSj2g{d=wX-;CyF0?@FXe_};;5EA-1%yFSCoydtDuj|E8qFU^w z{4`U`MI273(>3yAFADwG&5a{6$#2FWFY@7!MGIEJWdqMV`Iq|fKDHOUk%1eD9~12E zKjJVEn=>bUsV(fu>o-Y!J~nYYHn}I@l0c{c$u1>pE^B?Ot<9s6qcyovq3Nni8Jut9 z#P9hQk~5CP)oZAczMk7Ha=l2%R;&okZhLHGs5mspat%zN*fuUsF0K_tyFFD#$)9s% z$rC2F?`B%+5f(sCz!G=Yd=HHfzo(Ff*_1@4-H`O75vliU@hH=dz1;TK&D(~ES7y&; zA55ySE9zCwaCmm>Rd*P%oFPARd|}0y#6IYowFKc5Y>8=D@QO2u zc1oV~K~eEmR%VtQF#l4Q@Uz>^*u4qE8N>R`zBoXIfd-Q63L@BRmme zgNwbs0`KhQOVkRzZ2)}y4*@|IsEKwff<|$1n)y4yh`gG~Xt?8oZ9a^{ev6cjH}0&q z-g4IOYS9zly6y2*Tt;_N@3?VeA`#N~s<~GaT_GWTwWmT%I<3}M_bzOV)_T-Mb9h3{rOsa_gKHF36|`-%ohu?Y_nWV3K}}y;pCRAG$}lE z5f=7*^H@JsHzvjrbCXP>tRD2DjLt$7Bh(c z&0uHtPBU_AkqspwXQ7f&@oHhGyBh4C0$m>>f6Z)Z2jD+0m0tfnSnAGI)AFx@FgGNp zUaz+e93L5{b^RU0N8dyUoGPYPdTz};ngO3A5o4g#j~Fg5flO!m>bm84b-{tY{Y#D+(jO@) ze!T@Yvv2QI0q*47~LYtl#cA3UeygdYISZ+#inqt%lr zZ!P5MbEo~t!qS-uakaf@Tiw>Cj$`-AdP&^*F)LXIA ztsdUY0cVs||2pmyzD3<9mBcFJg$QJW{#PifG?ZC`reyQOtd2MN{oC*&m6KTSKIeB% zro5a$RQ&l@1~GnTa(^w-`<@hZFbvCRx|HO2{MB?lvBSf|uRDn!zkykm#LyD^@fz`y z`V#E*HQ+phF=YVv!#g7Njm7-$GC;hHOhNZjU_102nu@<`%Yf4+!ffQ?IzCs5Tc7t+TRYZ)|RDlww@$V#*Cgyei@tYGNXhRegVU{Y2TSY3lltBt%Z$kqtEkig;2 zx;e}z6I`iFXw5HS8p~)#zlw<|ub>bfFiQ={$ud=wI#{3U3*CBT5&&6s)o#oT@B7%7 zjC(6bnqL@1>!U2rTbrwCO_x`lZlfZ&dH}XVNkbzfDEK_`Z(>qXKMAj4KbDqF`-|H& zJm_HPf$Ih5rSP`<4SE12`nA~Nj*gE09g4-c-k|q({niY^CjzOEB0QTuVl`3<`{yE* z=ZY|*On7Iindd*}EPGYQaB7II8WD)YaH*Yj(8n3gnQP-g_7va{EThP$<^9vtd z`bg%_syg8s{aaZ%+S~g_HH&Z^ou;o8U7k<8ZU^*#FHTYLGIy(~Ru*l) z*(fRBf?{_kXjuBwlr=mDg0+T-`BEKVID0r0;6qDG8x$Ih;dJlpdS+C1y*^+gq%^J1on&cV&}Oerr%D=(%rJv|UZpua1ZNwlrX| zl|D;%c66$r??>1qgo)x<3XtUKaN0NGiwT)Zc8QkVl8srh_ z5gSEX^dNC6R4agg!GOLIJ6TXzw7jT5nU#_N$?;6$anwfwPIyy*}Xqg&0so4)_ix^l)`%oVz0PJS1>x+=3-K9EqUpl;&(WH zkD?5Q^z%n>Y0!v0&(Wbp^)!>@rzrfcs7!MIx%+>^7$;it7 z9!lk!l#xX}5{kOt+%&qsTYCCE)q2UYCM%)T% zZ1MZPR%k=KcNWc8i|);`j8f?4K4eK`H=rcj4G_iy91Ec9xoJtZ$Q(rmP*}?VYO|L7 z%+15|GY}#fj;GZOC@Z7W0ocQ2+d0en6a6QEoEzMsg5U{7nR2F)?9J6#u5nUz=T=oI zE>Nylc_{g%Dr$(=)mts}k2>X#_qlF4#H?MoeLkitl0|oinx;3@pwuJCw`@`+u*WpF zuqWcC`m!;a%VuCuw>#B&KA_t;?R!bdM=WfdjG`(Za*vxH;;#q!=@~9ZRuC1O_ic2j z7iDheFWvN*-?EboA%E)AjAh1`PNGpdB4Ze3NZ>YPjE)(f_*oc;!H2~0lQp+Uo>an@ z(K60TrFXz=h~B2ik9yK)0p4a(MeXE%*!z*`Z<%%|6jRwO`vXgf8vdb-S;5O00mI5? zOvnqgX7m7Tis1Vpl1Ou5t9f|~j($(X1_ZSz5YJ3Dl`}Sb8^p;stymb6s6Rnx%7xeb z??+jIn=QVlV9-9sV=^A<0&~U#K{{r$p!{J2vbDZ$L+46~y#ear5C;sfAbP#;p&*ms z88cBOeavX-K1!N$;mB%ulqT$K(TJ~6%@=!5s7trMr)-91w%)lbvr4~YI(1rq?|r0W zp;eDltm+lk*ytwQ-DN8z7Vsib`ZJ>Qvx?%|k2o~VM5xwlv^Al#fm03Ao}(|R*Me~* z8Xezng~Qtc2;tZJ>k|S?igt2_Ln$F4-&O~cs_N>`e!AWdjj}Q*7_={!Q|yOUPH)b(&QeG=mL3kBPrxxr zwZ;?dAxsgXgF1L2n12|dUcDB{qP1A@m-7>1buhWuER@uALIMK36tW3HJnm<);!RO; zNj_1ZNo{wtl;jU7JJrhXUk&kGX@%jl;pkxz{`F)R&ywbw;M}VRv}aSLB*eC_g+DeD zvsNHYGQ}DOS}|61@>MeE){Y1wL$SS0^Xah)(FP$nO8xL6sZ_PT87U?{V>~DUc=U>m zVhH_5c@q)78}~7CyzQu7$FSU&)A}i>t)Sy!Fq2nFN z7F=#1=zyKo?UlEs4N$81*;RX=gzDOuz1r|rGDu6K??=ynfR+&T3f_lPyvQWRii2bh z7z)cd!>75OBBr=5-V`vYt=w{`z2l*U?asxvX`FZ2J9w%hV`Z)@xF9;eWG@V)sBvIk z8>=1`vCzWebbmhGVvNcbqE&IsOy1)ax3!zZ>B7?z6d9@3b4fkLdii#Q0)fx9c2PLm zKx;0GEE!+n6ho|zM~8m4DTT6kE_~^JmFRy{KOrcz4OJS_HYh3e72mJZqI>(7i^YsW z&=sGCKafMqsA_zvw}N7j*QGb=^ESbGm+B1%BmB1A^fmUGS-DR#NY z6y&p5d7JVq!!=)6yGu>K8)&rgsTzug7!=diq_e8cO?E~07i{=lHS(C4S#7-Z$J)X9 zpD^?27r@u`+JA0>g-Nh5+J9x$X=&BHd%`S|-Oj}m@S zyj1vMLldg{e2{uj&m#9~;w(sG!e=tc1e0uO`wtqLc(KY&Xhx1- zCj1CWsGs0sdSrdt_xaU~aU0#;#LN3q`m$Ljw9KyyM4H}`k0g2QH5C#=IKMLDuPBZ! zj!gJ$=BbWs$1sbdEWP!kfSO>m2&8`)N9Kb`lKBa9G3!XAG#%Wkv6xSc#&C9`n;FeT z7*V5@1*ZG_+A=(5duA0M=!p{x-&SZKC-4|DQ^=$R<#Y)jKFLX;XL9c^^IlQ3ZQ6Mb z-Ii`bVk}t_SCFnprzZk#18~?=Tjt@}SmF$NRDFhg*W|M$Bb@$w`;vco;IBhTDgsFh zPaS&2Xr(U)RoOplVL@@fr*2-0$Z^c<(|ZQi=VwN8>)*|*s_j2fxMO8`+D_MT5nI!L z4h~Od&918x4Yu3fDA+Y*qqzCIc^{KKry)FNF(%qjVrnAjYDml3)aXi|?I!*B&CYqu zf_x^)VtkoH%m2TW3u=;p9_eqG^teTU<^Nf}z1?6Eh9BcwjWgI&BN6ih5*6eo#dCV4 z`sLvF!E_}lZY>LoiDT_oXF0kdE=!mpUVE6|5pR7H64Yg3Gb<@Rm#egBFl$a(GTM-j zGtW0J9SPY>!55kBjxHRmi?dzv3-UllV9tHpb^@!csn-m3pj!dA^5(xp6pzZu!Lf7i zqIyDuR@J4Ms6?X)`$_Yb0d#CS7uG~nT_|Mv4zN;qtyx7QiGq)VKAqP!MZNvgewXg$ zGgigekV1ED!Y=Vjm&TTY7DYai++dchkL+UC!-)KnE?+a)3HFMARq0MXjn&kZ|3EBT zcIa|`poDj0{-iWtv-xidYcZ2&9xPTtqc>A)ZzSeFc1v}9T&7fB_+R~Ag z#oEGbb5YC$!9k^;UMD0ZM%q52F4{?FlaY3V>=(M#Y}p`mEd#$s^8>Z-Iu*f?rUxsvPf}3uOq9J+AlDxYhP=Y$9$0G zmz2aCV91R!F}azANC=veO}wkhEyWbAmZ-K1F)I!x)QHqE=aq@FvZTR2X0*(ILCf%; zRnQNE(l)SP!g=rlO}>mSWxr95L!|hUyjxh_uAbi=<0~RULNu%vi{BSqUlbIV3rQ+siyLN_O-#FsDp!p$@5a32n|T`*U^`8rupODQI>HQN!#o9;~5d7aW2la zXc;e}jWO&O)t*-MYkMS**HqyHg`1A5{=?ivLYD>JZR1BewFH<|yuG{YGk(yqpBQ6v z;u`wNYF~WXl69JPMZM0BHm+PJ^7d9#7F|M0N<>eOcQc(6Ru4VO#L{x@Wo%0IU@R;} zHR1uGw$0D^k1LIwfmI^cJ&%sHITVM&@}A~YWHsW?%Wx)S=kE@o&A;e5<6C9k9Aq{#PFfV} z=hbT1_~w_z{hf;0Fq0y)jz1L~)1OlU5dz;PzI`h$B_|dUeMI<^OF{K>U@o!sud)UA z22Fmoa$G`fo{EG)?u_uMHI)xpl(iId27Tuu=oXiHJQjnw`#sERNX@z?NC!fH%Ou6u zFFXY?Es8b7SHZhZpB&uB5hDonN|5*UrS6!uHW4 zeG2}BEzhhG^YzuYGo9Nt#BFrj+2M@KQ4B>BTozQ3rVH-F5v{orOQiQvfIJIwiZ_5& zmYFVJlW=@<53*?ib0H*9(H))r8<4fC2#Je-PeJzzv&U#9`V1H71iTfOmi7VUDP@P( zI&N#)C0exryicrJ3?|Og^jRKkuM!C}PpR;^eBa#V$_Qqaxks2_<&$6vW-hGdTr9ZE zWVuBd!L?K}^r|h7V-z$czxzPFH>WQlUQ<}P`RLUSy+H!o^#4`|5@a__A}L+?-oV}- zDGUd*V;|>F0xKeBPo#jN2MH(x1tRgj1((14;Wqk#K6yH6Tt3UbiHFp6e zefKKU=6f2_&~Z_%mKMoosZW->4&*bb2@IyMDdduZwiDD#pDdzvRrnkc#q~_1^{D0X zN-f7_B{@qkUs;ZiiC%L}5F#E(F_z)P>YwqREA3?`?`Afd`b1mM?#ejMS+KT#N1K5L zfqvgXV;6XtJ(`)KQ?;1(pt3_EWi_?s^P6g$Zt^V>E~eB#_jGPUygG{+6fo4VA%U{1 zr$_%!fx@)rkI0TO>gM~)yWWML_zMf#MMP#31-rT8)pCfR(u4n`y}C+Q!e0*<6WYF? z<)pQLnuTCwm7i73vOtOiqikq9N|AlCgX|E|-s@BsXEPHJB^rRBOh@ciK?4ZRBKouei5^wSF@J6O5!feRvx6(LJ)pQ(C z6qTYsI}~#9#kq)xm)($=jnyeAN~9lfk2+D03LU}?a=?{a=DXEsGfSX~)Ke8%GA72F z1h#*zJkI=gm0olIJ1pu}rde866&0!~s$X`yPQ)c7_?_k0sHuz4FtPo^AnYmiCPWl6 z3EzM)>!C3hFE9Gh$IsvA7hEeeN-E|KQnF>TrKxE*x0zI=b+IlsV@BB0RW+BpFf@$n z^B8$1g(ruj2T^2uiajT*M)?(w0;l%YG8ZIjIy*aoLhH`!|DFWnUt~D#9*c}G!#rjH zkAZ=qps5>K5QJc0l%wAjBrPl~qCfaM6^fRir2G>&u(7(baCUjv-u$x~jafrpOT#BG z&xj}0H*17ht9elhQ6@=rZx6!w{O~q1dr<>DKMbyrA$PVH6lTdZWkhSEZZDiT+($=e zx;f^ZnvjEogKgLeqKp5l3O|EJXdfWa0;YIg>8K2qwkc&RC%2XQYA~-trPv*FYH|>a z>9}818_S9~I1q62((ghba*2#8ef5}1JsSlZR6%kMu(7W~Q3Sx{|)Rhg^>`sUr;Tj_;F#viZHWvM>>XXfyswuM;UAOWAG z$S`^;ZWE`buI}r8!AC8dA=5W(Mpz$>kc@^>{ADzqD1RObD=ULBX!<{*qkZ~|%=TwB zeaMMRe=pv9oI7yo<=Dwsp%DdjCN2 zO2u4Ma&qXOKOdD<>oY1U;2e=1=Z)(JEjqflQUgMVwEc2&goi3o5FPnF6(&+>)NEkI zc!_gEOa?M_Bq$%qCb$s&Td3eu?5fO*%;g*EpRsAXBYIuN5Eu0PC{+0`JY*1qUR+p_ z*x2_rl`|NvvZrHcZT|t*i*j@_hYiy9FwAY_R4)mB0a>8E)G5%0sVocn3 zM*cni!tRtDZb%5p5>!!YF<64I3I3cmOB@rcu|GvAS(n&u$=AjvA~lN=O?q@qYeE5RQxtA~4txnq7!TASo#mX6eB} zL4oP-d=NIuEfP66I=|;+O%h8YU^2qmO>TlX#Ajz`3$@^dCyBx%1L!o9@U?}T7pn{b zA{%Aj-+s#4t}l$gjHhj+wWVbmmXXXWUNX8i#~U&+rqxsL@y^;JE zn7pfWY63!pQyDoW1R~wJ2zVb6-joD|ORZZyz7BXN8G@ux!G>BZSz!7japL@S7!ePS z_Co6Q?NbwqEd%=X^*HTxD=F>-yWQ-0;;|c5hxRZ}dRLd|FQdxL+)_fL>?qP%W*b>e zcX&xDN!!``#D?|z>Zl)(0zSrnc02$NSg%jdTo#BX{!-o0QH#jvGwtGQKs+>m#6@+( zu3p3P#vQG8JZEN}crV@O?Bc>qA(!a4kIn&9c!i9Oar0zTVbZ6YRZLGG*UY22dJhh(ghF-T7(uRCr4YJqe)7LjpW2thAbOKE|Qj#1xyJwF1NJocotb ze^O3581yLgjMjTIvts$rszqcivWT_eFSxmk$&94a3v*@%e=Z+bT1qyM>N!sX`AH0_F>F=-5%t&(AY{79viv)KXGX3Ro&3y%weEAk9W2#Egu~dpYq} z`8_Eu`c|svOA48k3}UK(H#s-}`T)jSbRRS{G!(QHeLzmJedyGAbftIshf1B@o34X2 zNB5t1W{-l_3f{kDNjSfQ6(8;$k@~kb|33crKcJq{RWSTQ;LYmwy`A+(==Xmh0SCe6 z`Egf>nby@gkwy9L-~ah71!!i2`RxM8S=_>c0ul!h-`mOkXX#TApsS7e%U5mvi*Pe6 zo!m22Z*~93tGXS{|8`@SKsCGX{@&wHB2!>|xai>M|BIzhL4Xpd^Sq|Meht*uJO3m0 ztEi}44>`BO`hI_T_sJ&l|ChJFn>OhG{~+$~T-`*(k>$2f4go%7#C66m?$VH;go7>q1FYIX2XR-S+vKFQq8 z@fNs!Kq-s4jg1{Z&euDl+0v}Hf;N;cY9D?OME|)moUJjP z{%M~NSk=CJ+|fO*4Q+Q(-05OxY$OWlyq=utZS4sA!iF5h$Qf^z^GYiu3~G zAaA{H&g$+Da_@Ad{>gDC>K-{BAcSKT6&K$;(ZMZzoVOna^KoP*rM@*ba^Bwzdy5LE z^H%J5r&;M(wLLhs2(Q`f<=}s~CA(+$ygU7 zeNa@~~@&2ND(S ze*x6`7MPfC1X{9tuy1+DQB<~8L|r4v?4%hb1g{N8x7&kkh$YA#ZL;sMv9UkKpEm{U z=4|PI;`Ps1+KLh*TDd?A#i8v0?gXVE=CKttER6+FEA@L&{vVSF|nYeWMYaL zaDA?Sawf>&vn@lEww8Z7I=Z-PGJQ0{{EFS@d2^VkknRWc=)7L&67UoaDOb#1qQTD z8y$J1`QgEP+{-};-v`k8?`>^u-TJncnhC*Ga=wPL)qlx6)5hI?dGsG!oid2Oe7KcO zMmM0u=(|z{f_l&>uhP~olm}uj>dqpknaEF8w9?BoA-g)5;l($~W8rk8%MEbq8DC8k5TIqZ3Awp7>SQSZ@}PHHtK--i zGaykIhu4t(qKaL&=I?l6;z;c(6W)C_ zEGw30U~-P{ro=Ztfs66G)p{4MlsHA!o{WmqH|o;9;GB#z%}Nm563%%@{#s&^BN>%J zU~(Mm8#Ze(#jP*%CWOPuS?vvd`$tPbk4xK1pUpHy(?gItP6R>lD{FJQmjbkFKr`GU z2&H89zgG4KYAq^m{DKV%0}H4wLi7AO(n2L=Ht1?6U_-!C)~-R*4Eyx z@J0j41JSFyJ1V%;_%!_4{G&B=KmBmv4qwA=8+vRF_!k@7i77ADe&hE4|*cz1<3+%<4ApB`qEL%M;g-w7-%s9?FCU3I~DEM^WOP zUhn}L1ld!VzY56UTfLoLGJd^6m4@7~Ei{n$@cE?_t`3f*hJGMge?GlP-;@L^h^sHM(wUj8Cyh<9~I^op_t^ zUPb0rEJ9ABKW~VlB+>jZee=~Ompd0qkFR~$EiGOHavH3THyZJgWj6=r8k$k;qBPW< z>%D{i?vKLE_qtOhpM75-;T)f?90QytbVzjqn>A5c^QmNu!#02CXk2{!S_nA>*}cTb=H(;#W5l$&wuVkbgi?Ib z>&ET!^l){O&-Z{>-h3LO!&u`2(AfWEdqDLRDrLi0mXH`^of`Klbmp5S_JX?hMEgcM zR?W$OMdI(-x*eXBW@cs;dYvzI4i65xHwTje1y6Nia?(@{i) zh4<&I+kIZN119ofBqbFU$8x3r<<9QzD^^z4mxL%iFmonu_a{9U*)Q~5PTCLSma*mb zU+Y|~mn~n&9ic29|4CaWkKA~vwpqX94n4{~pU_^b`*ATcMsKyR6lQU_n?eU^~4q)Gal;3Bm9(r z#Kqmw)|%JT-O?E^WDx@&e_%lJ78>DXHa6lF78a^EInky8GWw!ulq2~C!GqUMZag~% z^sgmcW%eW{B=n*mLFuiJyT4($oDaK@+2()k0R(+Q3Qm9~PR>^|Blg);UKUq$gqM{L z#-Xi&P}hwB+x`vFIY`s$=L_$f0U&dk*k>n=g@aRdY-C_y!vW&NUv|l{vE6&`0e~eC z;DTfi*q`pt6ciOZIu=1>M?z#)B5}GfItr6*`&7;^_yi?afQj1NA5_b<`p!Vq6RD&Q z9C-lX&8HeZ`XJHq+u1QfHInW|ehRUnaBy%WFdDx4`qkhYnx0EEk$DgKI0jUUPyO`4 z)aCxx_WIU``ORy7ol>Qx|B{Dn!(aYf5KI~QPRXpoLPWaw(0ET?;$b0$eczuazwxgC zH~0#`^7(Ks0Nzl4y*H`>NXWS2i_{?-y!6~owoZjWy3XVyTujoElLyB5+|ErtYSbVA zAhQ+`2^zxj{NBZ>7Md(hfpavCG5Km{d6=MV*10mtzqRWAhUBa(s3@bb?YnUe^r|M7 z8R1yIHs7BPa74>!BP!+qYVoO|-;m5#SqCSl)0DuGsx~(1@USR81L71?0AtZ1!ixcYK^pO2KVIt$SYJhIM zp6KnAjyr9Bp0bL{N>Opy>TN-rW&cjz1zKji6=k$6@&~FHB2cRd{@qFeLTiANwW;Zf z$ASDS1QrJ}!3PV>OiI=biE#$F4U?E-cz{f&-$>b*PM|GlBli0&;*P1C=(1)l^4)`VgF_mF-9|E#+mk^4S_>{8Mv zz2^Xca)nHd?K9Rg#C;~60<@Sw17}j|dnE5|&>XkCCQ=g0p_2Fhbfp%Xz+B;=Xb=ee z^>owkyP!~}tvpW34JkBU)Hc3vj!iVncPV9tz)1xBO9i8aJSUXY68!*zYuM|u8g~5} z#HZ~a(mi~zX;k;kl?3FuB7g#yo#rdEd1*%3mb>Ps$Ghg1f`TA?D$I#)<81=C+R_Yk zJ;dk(zK0#TdG{ZaW*bDoa4TomU!)jXAFi-nE@F6~VRXj`v_>XtSMU~Iq~YptVE_|7 zTCaX?Fls-L$PEDqt*>vOQN#pqk^OCQI`~>hq2sngo`#v}bsRjb39@ClKCTP#^S_$b zCvLh0ddxfl>5u36cX%4(`q}ufX3rh~K-7022*k}H)~`*Tp!iU4fDWxNo1|V84KD%I zpB2ySfmU#V=3SC@bL}zDoBVb&O!&fK-@V56aanCieZzL4%zbAIdx3Pz!>M4>K3p;kct-QE3SZg$pX4xpfZ-?1_? zA9GfkjFOc3W?1sw^vPY)dLNkUt{JY%dEa8jqg%H}_NYj_AQ4vyVVoBNxGCr^UrbNXZ-wtFT%myIVMKM_uz}io>KArUSpVw5Ii&Ex|Y!=GWX z|JPY*^DrwBFT{d)*#f_5*UBmY%dbFm3DoO+03Z}HaC@mKM@B($ngSPV*OD)t*s&)p zULvu1c6R2PnBjFO^n)LBLhdmD8Q&#wXbv}8KYBHh$#^v@ly3Fj_A3yMy9ONeFsK)U z|4s7z`!8No3LILEuAeKA53NoI8u#lT_*U$qT_kZc8)>MiubuM)vLP|D(-y30NImI8 zM7WFUx+v}r7_S9dDh)n;+n$E|IHM35plUe}u9shC2w3ry^&ejpg%e4dp>*G$`#__M zzC0#q?3sM#{UO(3gKu|2hB&hT`j=>n5P3`>wZ=9a{G)jhq{QmgM#x(sLd*42&ValhP;aSIWr*KWk3Z@Xu-Cf&9j z$NCEV19#R(mZ3iYLrWg7)v=)r4;n2WQb<_j2bIkJHNa*?g7O#O3T{`1p4= z0gBMKgaMS?r<Wi!Mak(Dn*0WSk?I%y* z)QuH#3z&2D|0J=5Dv3}^%7R9QaPlsRc!`kq3q@E_3};SwkvQ-3Y~mG==&f5$RM?(x zkA7@Z{*W6!f=~fQeRR0wsGG4%M1IHPRJ5j^(AG1N?HTEMm;xA2PUd*epG(%k}rfOJVW64D{vQi60! zH%Ln(ol-*#Al;2aw{#=jC`d?%-aYuc?|T1%ds(anYt~sXXV2cxdEygsRKCN9r?>sW zz4S%ST6h1={58;05^0>jJ)N|yn5+bwN=;fe^Fg(P&WK&$`=2{*x6t^|*+TyU7bZUm zTBVAx>yZj88fK68!U^!JB_5tdu#e_Lts=b0W+r@gMrr|+mS%XOsYt)yDd!kJoGVa$ zfT$h*^u;UNv*R+dP#H!){*-N#V2Mz|Ijsow0bLR$@ra;t6!WaeXJH?E*kD zL4zNTo`<0$#y(q|SqV?9wQXJzTd=oW_-rZ7BvH4_hKB3<46r0oXua0S%KH$K)GPKO zZ!x4uN=9ON-v1$%Rn2U9e|-h%HsOYNP2jZOB)KM};z80t4fYf$%z;kj&x;E|btBCW znc@8O)5N`u49|eko?{g%Wfe(>D0{PEhiz8Ss__1=^OeA7N(_i_Nr0#P^m{sjPd%ie zW+(jQF?3t7kL#W9*?ZR3fD?>I13%}xSB~%g8|rlVeHn*2gS|lVYX=O`IMd;G%xQkc zoUzvI&Irsc zqaC3*TG&S4;r1UV>E!HGpuuk6#?R^E{V=dC1}H(x7%!ZNZiubogo&wCjb=V5Qj?+9 zx^1;XvCtn4MZPvgr<}RlRanuW#37);Ud@$7SNwJFeSq?2jAFNvB_S3=2!V40M`X)V z6QqtXEKDYy&zp#NG;8b*(^3)4pMcndff^6I!hX1 zVT{#JMv9@L&qs;67!;$cOMLdPSq-YUafw-7KolfEBkh4p9@Ulf~OCHOXe$N3Lj_kuukf@W_o?9*JE?a zL~}Tw%oeb|gHqiUWxKT8pL+RolE%o#L~pFg9|BJ8*RNQ*?>LlZ{Ga`rsEFI3tv|n3 zSPzq6tZK)}C9bEXVUhLSj7OIMwmom{8ZgPPv}|SIM+D7=ml+L~_j2-Jd>mljwIH>P zPw*2Gs#(u2n^!qA|9f#6NkKgBZ^Sl#AxJfrR*s^y=+NbU-;r zqNQ*unHHepONR<2JE5wTkFTyRq9+X@(e9M1bsVDhHS*cu!p!+0<#nhT%=m)$^*3(B zrg*P^C;ffKWi_04q4?9{Is`>)``tjRxRKmnX&*R^cOCwagauB|0Th_;t92J&Jd)gq zi+ZB*Uz094r9^1tCEr;3N{qlJ{sT%~z6A#ufL>c0Dew-}_Bd`m zvH_Rh=!Il5RfHntXlTSR&=PDxywZO~9r^%R8*7WsvZy1a=~rv5JJfn6K?UPLC4&}Y zwI-*!vMMQbPyM$@#JM$rR|F_QCt_2QrBH^Y~* zKOAua#<^4;R(yZlMkML_Wq~^TGqjKpc+^D1LHBgm6i^y=$i2DSB7I>>qpzQZr-k59 zqo0tR9&9%_DhLG=MV#koi)C+C8Nn8j8+x1RXq!*?s33kD0+G}H-NvLqSpfA;5WdrQx6 z{3e~#8A0D5Q%(0wz`0Qe+b%g{UITpOSvv;j~4xoff@~+WMuTq{t{g>aVd1cCX*p z`?UjW$|H(v3eC$e+7bw?1{R}bI#Dt!9T_XHdkE;PRP!euUrcSOswsFHy%x)9@fVY| z7_9yQ_ATYV-CLyCY?thmrG!Gi62CE8H!h*yk4C@Z0Cxq{!UOW*S6BsgbrfUD*i0O( zGMZ+P#8dw34zXU@fgXIyxX;=6PSATZvrT+L63l3V@1qye_TLgvbLXSC3-#(fgw=J8 z`d05Jkz+aRviS%AP=m(abYlfo5Zxp2ys;FY-kl9vlB^bLfbRMBGsRvGJxuiDS69Cg zs=t`J$4Gj!*b8bsR@L2lU4#=W{#>xx*le)iCeQq7fCGj6$I(QSCxR5Abn`ohGVbo! zSGy!{m*YMy046#1m_xN-0jI;RU-tVm?dI?00$XL}RRh(G z(MfrHcr~Uq@SaGhTTw0PFR5v3hZJnSB_bk*KnpP>ve5tj87B0)An)o)G+676=v(CU zf*P}FOaFK$t?A=p-k^y6?EVqeo};GOE5*kf?nVX79n!vnOOwx+THhoEPybYtXQNc% zZSdUOaZjn1>Bn7V)V)WPk?z~*SYb$>Z+OU!5Fb(z#CUE40@LBOYJGcXX~h@U36ZeB z9hYPnKRv(fIa6~{6B9DV^d}Dya+w~J78bLh$H%Cxkq1^W27c2OiG1^d>dQff6)hVp zp)8{3U`3_AVoQqFbfCa+*HG${E*9E@tAl$tO+6t(ZfAq4L%mdgwYoz`Se z4F#M`UtTYE>Gt5Iz*gCDEcSOtD0Ac5{+vZV6am!_aSBb1D5ID7)N7TLi-z1P*ORhV z);zzZg)(cdqJPTs8|?izzsIa;UGcx$4X;;J=zvS-O8Qf}5(b*JkAdDN(M|>jxF6TD zkafFEQ8GkLx+0MXvL!Oct9yYJ3klcQ5ou~*EJdyUF{Ei|lFD_QEqHVq5V){(4 zmK}G;h&c3vT+V+Jc6d7F*qzmMBESAvb|``BZ5>_(n0_?bv4rrY$3&w`0oU!*IvbZwci-`ap`iH&&-#nmNHsO zSbmDdQflV0_zSTGPvtE}!{(jIk_QJ6w+ci?a z?}Ikvv^0#62=Nq!SKF7LNQld{hGbKz#KX+F?PwhGh=`)VBZ_~@4s7FS@&CZUp zC`9`)F*{~|pULsR#l^+2!(rRw@sWY6lNOOGJ8PM_1+Kxrx9rCq{*0}ab~62iZuJ8E z=cnIA1mkX}$fRr~O9rOAW6iU|BXBWYO)mD;LFn4JAYiMlUvyp>d>zyiSpp35JYc=-9+RNBepST zhY1!s&5UF-ER{*4^Q8ESiWw`bstzo0nRz3&?i|nc+V~fKd|)ciqAZee{7>2bZjes?c3+C1 zf9<&>m^t|-cDXx)7gc~N7$xT4k44FyBa43lCYr6*faoYYEJ}T_Yi6w>e!wEXJS$ST z)e{?kuAiVg52?bY6#sokpr_e?UP8jieX$RzW!RXLTbslH<$GKr;awRM8th{@O6r*g z)yj~96Jv|>B>moo!JDop(IlUO@L$ua8R&*Y{lwUI{1(SoF5Xuhd!(kX6%l?*M#Q_F zKbREH@(S6HLA)eMEsmd=3;b}?H`rkImF9PmjoTP(nBUqkd`n>0I#{FUdW*))XJxOM zzocuh_sES2V>|_0{O4iz^^HN%^?9u#5uf1YRFH+XBQr~@11PDXC1=v_DMPAXk6L3( zn-2Lzxq(K)QwnZ)^B7UZ-GM@}eA%Sw_35txs)1xsrx5?>hR)c>P-euAS5mrPa&6^K z+>?9yZCNhBXn>7#Wbv--OsSdglA+V>ClR-{F-Ivab0T1i!rpQ5_BvT51=axus^Cq~ z!QrJTkjMiDGRniMFP}3YHfnq1*A|gcK&mT4FaP+(T!8&Q7 zywi2#^yL*KwNZO>@kdVBKAJl%H5%Z;J+uUz%F2(_jLSop9s3~f{gFUmePq3oxiBb5 zs%**2&)@w+mm9(^ZYF0z`+`;3p(#JV^s$cK=>?<_quE8#t0114 z;eW0cPpyh4-g6}|UZHSqpe(2<^puPaZOcu0H&L?(z&=aScngsIO=1UI6xx%t&R=gWj zc%fM+1-hbLkff)A{`OeJ@$oXviDwW~PaBHPyDDY*i6>P#%Y=m!C$!ypf2wR*6wgLj zWw&Au%pUp)v~Y+j2n7XwMYCgy%_m;RHC-m(SHk3@U&)nJkrUUcM>e2>j^skU1&?Ff z4oYE3Q9(@+sy5xGg9AVz>MolJN`A-nnp{2D-q_&i*e1BXrzHLks?rO=Px5pd-`!o2 zGEv&8p;_XIM<#)Eug8Qsq}j-T$OeWxTvnvGrHFz(4b|Zj1!>l&f>7W0is%#sQJJ}U zPv|iaDUFQ7=v&w#(0R7T`<|qKqKM=?n#65V!Pb6%+DkC=S`MbT+K;8#e)yNEwv9A? z#fP|n2KI1QJ#u8q7{Q#U)xHU{Wf_Skii-=|`tdfJ1Di0{iT-A1v*r@~!`2_u?#pN2 zibiVOm-)5kXS*${O*Mb`D1G9^*vs)2E>_KmwDC0?HFJt%jk2m{M3inZa_S7ye8>njN8K%v_@^K3e#2c?P}9BGIaf?#BryagM? zCTQcF;zqHs&>mzR{7~0Mjvg7g(Bey?@`(?*&QeLvP!i!YF)PdANX=jkX_4(W(VMo( z#o2Jjw7DXR%a^e4%_fT3o&21~71rI1VHAKFqoc~}Z_gQ{?&+0~fUl=H6>{0edI4|C z^uR|)p%Q^)^ejPqWL^=M*UfrfGrC@0NbO>XhvWw8T3QiY5LrlJy;9^mfkeVBd~(9* zNHYc#-6O~J=ls_Q{4+Crz;`oannVvcQo2X#@EFf_)vw8EQRf;)Hg}GFF8ubnx3z5` zthJTFt=`k_@=S_;kzt28F7#VxJ@GD+t&_J)d#oD9dvi%)$^h3Sc-rT5{cw6uKcXE) z6KOlz+DI9_W5adgvGLDJSIjMT#0GuQr|5Axa~n?aCu9_Cn;=e9L9$ zg0nlC6Q?c&xf0OV;#O{1s_)+_{~9c2bH~)Dv!fr^7^x`QWll*t!{vj zn0^EPiT(<_9_c<1nMk0Q)tAhc<+t(EqZQJJc2qzPEH| zS3aWEp$1%LOVZhOUXO}ZG9vZ|Nt?NS657iD%dK3Dh&5=;14JpVIqT0?e!(_La$7U6 zc@jRR7Z!@>%$5!DO7N8FrkoP7lteW3z1{3=B`3>LFK0M}7%a3!|WvQ#b9)P^o;58)gG)j^Ia?>;T`o--IQEsjb zk(tv%p&Yy7Bc5-i8mLV1)ooAA{b9jQp<$5vk*Jby%LVX^&yVY2?L-vg`~#?#gnjf{ zdnin;ZEX6E50ad2+cP3!G31nu*ks8DOjc7V7Frmo9(9r6Zsxi z7+l~&X~DgY>qM)RX!U1^xRP1ml6Uj+I@w+zA5tDYtzi8|$0gO~R>F4*H&bw~f;h#i z+~N5;?<6~n`oQ^eb1@z>;bUU4qel3*{{-Zuzs4_w61CUnlQk%xJf!w}aP}@NuRCPo z<37uo!;!s|iyt?O?V(VKFgFXvmRx*~&o5hZI!0C@#u|1h3-`xY-^T`^3AFg+6tU=L zbT=@^Ux49)*Fp?mG`5ewd_=6ALmmn-eNRQj z$sh+)Z)HcDv*PAcLD*-&=^`Q?7uSxwvNkWY$}4U~A#dE-OcD4tz*s(?UsIDqk%3Y< z$!?HopERn;LA#UE;N&Y}o8rTX4o$L^YSQGOlW0(}p(~tkA6?c$|M3zxApmOO|3U&r znTfQXvh$)EviRu3YVq8*5V~nydcr(K82D5_!z=KoWblqJ3gwQuNOr4!-pb(>a3%k& zLr2$ZIu|pP&gaj` zT>57~ZM3J99m(2+!%K5}1o3y0R5R!J5J!fzJw8Z#r3`$Ab^ZL`sZACi6Pi43ln}JX z>Gj&IvGb%}^M8-rX#cHPAXveq+BUxx^lfkJfw)8Upt#*MQ zY)_V2Fpl+U$uG=|v7}vEYHPM4Ak*e{6EprAV9mo;U(u=1dQhUH()JTWTsG4tEYrts z`Il(Gr;xO}N?bXz<<`?*xL41(912?*6aEx;eGH^>9y;)Hkm4J*rEieN3!V7a&W6~r zV!rF9l9o0{Vo~Y?9B&Cf!>3Ea!fJYkfoF5*r>Gt2{LVzX6EBc~7KVI;>PuBsTz>n- zFoCsuGy{+Af{uz5$m}O0;2gw&}+rOrcE-o0cJ z0xPj_%R^LA7yZe-d?s(`^U&0OZoivvnIeJ}=$z97=&-c6ShpLPuVCcmR}Try-9wN* zRjZWkDQ#+Opk5+D1ror$y`)OOLl+_!7hJv^G8Lr{Xh<%ff4gBH9@=`l4L4p9KNmY8 zG7Oj$l2?&mzrY`EbF{aSl55hO-3lw8ADeoGPWgP|qG)`;*>_AIHgYz#YY8U4r6u$iPto5f;cX;LdUbV2 z{+io6vH%eX&cAtvg;3aqLEkGz51mw3M?3!jDQZ9@=l{_=M*)PRr-D;c8M3+kY1oDS zK35_YAjXj+Jv=;W@$GJhX%G=VrWIpH8B!SHRA-62wf%7jRIPTj2+DFHvxnwxvcz^6 z1|L$r6+)tC$%ObRAo(XHJ6T6}KccPemK*%7U)xzLR1Y4F^dt{FDmL9zu*6Dcmvs3&ZncgQ--=a7 zmndDwQpYpxm;1t2M*qo})Lr=#DoB7@Q|L;!#^c(U>CW39J@HbJVzG`wPp1`gyzJOo zM4F*Oi+pd6|S| zXFJGDU1peMt_*9@CD6AD(jlxW*X}T^N?~1hBVf@S(I+wxmsO^_4efgy^!i?`*NN~u zU)ykXEfllnEb_M>`u)rMbNI|kv*OW@iX=Y}&Uqh#(o;Q?hL$hp(h3UbmP#2BH?Ee{ zG^62BWh`Lr$T})1V+NIA7tDkJn;4c3Wzu8Q`Mg$5@vglN>jt@RB_eSr^-xROr$a19 zvo|AIH(Dd<*|eBHnPOR$zrRy?6`p_7c~hdja8whrl+cpm9O9j8BO5V~JwN$gI|};wrpTBOgncdS$4>sG+H; zZu~mr>I&z3X=u39FQ%dL%6DJN8VqVo&p|aj^Gt*W0c3^g?}xRrx$RmBjJtPSn3;7X zD>@}<6>8;^Of*%Q>cbFf^{IbA+!3J;dmKw?du8%t4euOYNQf)6-`|-pm&i3>qv7IO zEmFoY(@`56*IaIV9{|T759~Gl=5IE=Bqo=*$)?iI3SUW-)=4_v?R2qiKcqn(P-d zTj{yQMWD34QiE@r{=$yMQY8!4@->M;xvy~r;dp#`#NQ$5D3**5gWjU(^hRW%r38t* z5$MVoQ6OhZrSu$~pJk8th$|G%e!0_7y0`}!SWM=x0;*eCVRj;l5)QJ)Y?mgZN@Er3 z`~hNea?B4s5`5TpOi_Q=-_JcWn~_GkPgLao`1L#^QIt5oz2nI$JKSp(HWcx1KGo)| zW@j#szg2z83AmWFUG*40{HqCC+RpJRhds6(<#c2-Yh7Ms8VCb9pWxv`#qX3KeYkIi z>8(uX>W6@4JizDKS$bQl<5Yi5l6PfhgA&&1x#mwf@J*I=qNYt|$8D`CCA%%3-~jI5 z+h3IwAos+A_0Z@w9>{K(uXkK}LtSKGma}BR7>Ln*=F;Swr{kFqC_zTre^195`Kcp_ z2oAPt6*+(d!ag$-Ivs@VnQTWW&CJZ2jt;7y-mL%;32aTqcsW~J;kN~5cvQK87OZm{ zMFMLw%KnI0D71U3c0WJoMer8|?3bhHmvFE^A{rBIqU@5=lTI~-c2Yu9ZQcOE^jI2K zS5Fw}ao;zpdkPgH3u3vp53ZFSZ!lN@ZG-W#Q?Gm#T}Zf(F~uahmxnuBtAR>2M+iG5hbS~*{R zw-J0k5j5%LQW$@+b06!g{?!tI6W;zMWWpkl(6jg8MSgqs`!4GOkWp0_{^e;v6T(g` zE{kPywM_t*zx*+F?8)gZw!DI}oT3X$qNc{#K`R^JsBx?~GFtHgx@CSr0l`=WgGORd7`qYO$} zf@HdeF2u!3nP}yS?s1lyJBO&)CzbBF@{F|K7$%FAFM9Hf7A_o!W<7*`)in%*FAA+! zJb!#jfALFeX{#_ar|G?aGp33hM$Dswlx@AYXxAIquVCk_SKrB7wD3Zc5T~n%Zh;I8 zEb!&MPSv$n7{NaK0*sc^f47uWz!af?7NV}L9u5l@A==ra72%G$f{W#7Bu(R?Sv#NI z7NhX;H$X~@kns<_5`X#7Zvt8?Z_Sl2NI!1C&q^tM*;9@4Qxhe0S}Cws}E6HYF<$hqPF{3^%5*0Ju^Ic+x(){SN*kmT>EMZP)Q1zAd&XC z0)z1q8Xle`U!0bM+j6|pP`}k;2dK6?A0NNTm*8n&Pq=Y;Q2?#RGsS63ydN(>_X1-r{v@bvbY~IZU01|%^Qf$h8`hrx>`aP z;*UR@Z+m6Kj*389X7#WowS-?RsT&!EEG_wH%`rJU9!Yyi^A;3r;o;*KnJ>ro_xlhX zk4f3R!h~ZU5)-)`kM%}hSPQ#2xYmBEq)cYcz;zY;n3Ec#LBHaW zg=|?T<8UNnpt3J)Wbgx3yUQvYmA(>D6E7-aJQPQBsG>9xBHd zZ#W2%Oa&h*Xs)2!b`N1AC=?1*W`$T-$~Rn4O*sux{03yU^+G+y3%rk1MS>pH@2{4TH1hj&)pN7W|QwopeGW#0f)1q4ImTj{rrhR zL_z{7t)ZY-%#0-_*U;ce_A3DjU3rbg2yHH|E#=)2gYt&1tFeaPwO~d%`em^u85wcy z2-&saA%GW*AuU#K`)Z{j3ueONZl-g<8jt@?TtR5V~u zZs@GI^=OldJ7yb4e@z>{C0_Y?%~H6nq($M#ngwrL;ut9amMFlM1>vnZa zPh(%!T&ev+k-Ly9udR*(lRLQi*P*v<%7FD_BvaCdtREfOs1~SVe&)|Irg<6_bxZ8` zH01B`U33mKn-;nd^ze^ds{KbCzF0v!hOwaTg zncqo=%06o7E8b|?LEb+;n0*B{%p^P;lOSbiZ?WWPoJZYo5}e5_Ow5L=v8dUkJ)Yng znFa4pa54cnHv`<|BcfHYzkmKxn{I27VjtGB>s}F(Al~0#S+k7vV0yAi`bgGyf<83i zV|bG$)U=!M-MikURg3B@AgmlZaDr+XGt`Y+WdsGc;{;{{4=OF7P6>(FegOS~Ut!Pw z@0a0c3A_lF2F}9x_d93A!(zc-|NrRXo*X!f95BsGI)QA7ll{XI;h}_?a7Mt5Q&B=5 zfz}LA(A?Vrl#ieM;7*f}Lt6KTwBgoqq(tm3+XPBk{IRs7(lRp0fJYqyw3;d4(%a2& zq(L(+d~uLW)c`$eGA$4|Kdit1dq)MxVDG8L#oursS9V9GrsOp7E-VS1h2;)P5u;E^Fow`BpkH@?(l`iI_~>x#DLQfs?(o< zNaFHv}teBNuc z{sId0OcMf}^DdVs6+@4%k~oLq>s32apH4)iD7!k4|A+1BvY>Ul7I@9qsKyM|P%~f;Ghf?$7&X-Q&Jqg_)MxTC{$GHeLjl;7o8) zT+E=NeACXG(0Li2s_-4G!Tj_8cved&fPVTp%v3t*x!alwPI{{Eaw)hjRhYo(X2QNH=ZY?&CB?~)&Z5E7jC-R+uvU+q6#FvA=A=UR*XQ1$}1x;0&eTFXZm4IYMHs!$k1?f z@;sWoHNscg2GGA8z?a`siAlF%DqIPC=cw9W%0_SuzI-7Sd>6yNNu}X7*Z)pu$V1`u g|KpLh{_ihUA&(}rqS|`!f8a|&Mn$?((j@r*0kGE|82|tP literal 0 HcmV?d00001 diff --git a/windows/keep-secure/vpn-authentication.md b/windows/keep-secure/vpn-authentication.md index d772fd0e9b..c08cfd93b8 100644 --- a/windows/keep-secure/vpn-authentication.md +++ b/windows/keep-secure/vpn-authentication.md @@ -29,6 +29,14 @@ Windows supports a number of EAP authentication methods.
+For a UWP VPN plug-in, the app vendor controls the authentication method to be used. The following credential types can be used: + +- Smart card +- Certificate +- Windows Hello for Business +- User name and password +- One-time password +- Custom credential type ## Configure authentication diff --git a/windows/keep-secure/vpn-conditional-access.md b/windows/keep-secure/vpn-conditional-access.md index d1b31b2fe5..64091fb88b 100644 --- a/windows/keep-secure/vpn-conditional-access.md +++ b/windows/keep-secure/vpn-conditional-access.md @@ -23,15 +23,15 @@ The VPN client is now able to integrate with the cloud-based Conditional Access Conditional Access Platform components used for Device Compliance include the following cloud-based services: - [Conditional Access Framework](https://blogs.technet.microsoft.com/tip_of_the_day/2016/03/12/tip-of-the-day-the-conditional-access-framework-and-device-compliance-for-vpn/) -- [Azure AD Connect Health](https://azure.microsoft.com/documentation/articles/active-directory-aadconnect-health/) +- [Azure AD Connect Health](https://azure.microsoft.com/documentation/articles/active-directory-Azure ADconnect-health/) - [Windows Health Attestation Service](https://technet.microsoft.com/en-us/itpro/windows/keep-secure/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices#device-health-attestation) - Azure AD Certificate Authority - It is a requirement that the client certificate used for the cloud-based device compliance solution be issued by an Azure Active Directory-based Certificate Authority (CA). An Azure AD CA is essentially a mini-CA cloud tenant in Azure. The Azure AD CA cannot be configured as part of an on-premises Enterprise CA. -- Azure AD-issued short-lived certificates - When a VPN connection attempt is made, the AAD Token Broker on the local device communicates with Azure Active Directory, which then checks for health based on compliance rules. If compliant, AAD sends back a short-lived certificate that is used to authenticate the VPN. Note that certificate authentication methods such as EAP-TLS can be used. +- Azure AD-issued short-lived certificates - When a VPN connection attempt is made, the Azure AD Token Broker on the local device communicates with Azure Active Directory, which then checks for health based on compliance rules. If compliant, Azure AD sends back a short-lived certificate that is used to authenticate the VPN. Note that certificate authentication methods such as EAP-TLS can be used. - Additional details regarding the AAD issued short-lived certificate: + Additional details regarding the Azure AD issued short-lived certificate: - The default lifetime is 60 minutes and is configurable - When that certificate expires, the client will again check with Azure AD so that continued health can be validated before a new certificate is issued allowing continuation of the connection @@ -74,6 +74,23 @@ Two client-side configuration service providers are leveraged for VPN device com - Forwards the data to the Health Attestation Service (HAS) - Provisions the Health Attestation Certificate received from the HAS - Upon request, forwards the Health Attestation Certificate (received from HAS) and related runtime information to the MDM server for verification + +## Client connection flow + + +The VPN client side connection flow works as follows: + +![Device compliance workflow when VPN client attempts to connect](images/vpn-device-compliance.png) + +When a Device Compliance-enabled VPN connection profile is triggered (either manually or automatically): + +1. The VPN client calls into Windows 10’s AAD Token Broker, identifying itself as a VPN client. +2. The Azure AD Token Broker authenticates to Azure AD and provides it with information about the device trying to connect. The Azure AD Server checks if the device is in compliance with the policies. +3. If compliant, Azure AD requests a short-lived certificate +4. Azure AD pushes down a short-lived certificate to the Certificate Store via the Token Broker. The Token Broker then returns control back over to the VPN client for further connection processing. +5. The VPN client uses the Azure AD-issued certificate to authenticate with the VPN server. + + ## Configure conditional access diff --git a/windows/keep-secure/vpn-connection-type.md b/windows/keep-secure/vpn-connection-type.md index 88218c2ae2..bbf5c689d1 100644 --- a/windows/keep-secure/vpn-connection-type.md +++ b/windows/keep-secure/vpn-connection-type.md @@ -15,7 +15,7 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -Virtual private networks (VPNs) are point-to-point connections across a private or public network, such as the Internet. A VPN client uses special TCP/IP and UDP-based protocols, called *tunneling protocols*, to make a virtual call to a virtual port on a VPN server. In a typical VPN deployment, a client initiates a virtual point-to-point connection to a remote access server over the Internet. The remote access server answers the call, authenticates the caller, and transfers data between the VPN client and the organization’s private network. +Virtual private networks (VPNs) are point-to-point connections across a private or public network, such as the Internet. A VPN client uses special TCP/IP or UDP-based protocols, called *tunneling protocols*, to make a virtual call to a virtual port on a VPN server. In a typical VPN deployment, a client initiates a virtual point-to-point connection to a remote access server over the Internet. The remote access server answers the call, authenticates the caller, and transfers data between the VPN client and the organization’s private network. There are many options for VPN clients. In Windows 10, the built-in plug-in and the Universal Windows Platform (UWP) VPN plug-in platform are built on top of the Windows VPN platform. This guide focuses on the Windows VPN platform clients and the features that can be configured. @@ -27,15 +27,11 @@ There are many options for VPN clients. In Windows 10, the built-in plug-in and - [Internet Key Exchange version 2 (IKEv2)](https://technet.microsoft.com/library/ff687731.aspx) - - - Configure the IPsec/IKE tunnel cryptographic properties using the **Cryptography Suite** setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). + Configure the IPsec/IKE tunnel cryptographic properties using the **Cryptography Suite** setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). - [L2TP](https://technet.microsoft.com/library/ff687761.aspx) - - - L2TP with pre-shared key (PSK) authentication can be configured using the **L2tpPsk** setting in the [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). + L2TP with pre-shared key (PSK) authentication can be configured using the **L2tpPsk** setting in the [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). - [PPTP](https://technet.microsoft.com/library/ff687676.aspx) diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index b0d5e30d57..c8404c3965 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -17,7 +17,7 @@ localizationpriority: high When the VPN client connects to the VPN server, the VPN client receives the client IP address. The client may also receive the IP address of the Domain Name System (DNS) server and the IP address of the Windows Internet Name Service (WINS) server. -The name resolution setting in the VPN profile configures how name resolution should work on the system when VPN is connected. The networking stack first looks at the Name Resolution Policy table (NRPT) for any matches and tries a resolution in the case of a match. If no match is found, the DNS suffix is appended to the name and a DNS query is sent out on all interfaces. +The name resolution setting in the VPN profile configures how name resolution should work on the system when VPN is connected. The networking stack first looks at the Name Resolution Policy table (NRPT) for any matches and tries a resolution in the case of a match. If no match is found, the DNS suffix on the most preferred interface based on the interface metric is appended to the name (in the case of a short name) and a DNS query is sent out on the preferred interface. If the query times out, the DNS suffix search list is used in order and DNS queries are sent on all interfaces. ## Name Resolution Policy table (NRPT) diff --git a/windows/keep-secure/vpn-profile-options.md b/windows/keep-secure/vpn-profile-options.md index 973dd202fb..77af3754f6 100644 --- a/windows/keep-secure/vpn-profile-options.md +++ b/windows/keep-secure/vpn-profile-options.md @@ -44,9 +44,10 @@ The following table lists the VPN settings and whether the setting can be config The ProfileXML node was added to the VPNv2 CSP to allow users to deploy VPN profile as a single blob. This is particularly useful for deploying profiles with features that are not yet supported by MDMs. You can get additional examples in the [ProfileXML XSD](https://msdn.microsoft.com/library/windows/hardware/mt755930.aspx) topic. -## Sample VPN profile -The following is a sample Native VPN profile. This blob would fall under the ProfileXML node. Profiles can be created for UWP apps as well. An example can be found in the link above as well. +## Sample Native VPN profile + +The following is a sample Native VPN profile. This blob would fall under the ProfileXML node. ``` @@ -211,10 +212,91 @@ The following is a sample Native VPN profile. This blob would fall under the Pro ``` +## Sample plug-in VPN profile + +The following is a sample plug-in VPN profile. This blob would fall under the ProfileXML node. + +``` + + TestVpnProfile + + testserver1.contoso.com;testserver2.contoso..com + JuniperNetworks.JunosPulseVpn_cw5n1h2txyewy + <pulse-schema><isSingleSignOnCredential>true</isSingleSignOnCredential></pulse-schema> + + +
192.168.0.0
+ 24 +
+ +
10.10.0.0
+ 16 +
+ + + Microsoft.MicrosoftEdge_8wekyb3d8bbwe + + + + + %ProgramFiles%\Internet Explorer\iexplore.exe + + + + + %ProgramFiles%\Internet Explorer\iexplore.exe + + 6 + 10,20-50,100-200 + 20-50,100-200,300 + 30.30.0.0/16,10.10.10.10-20.20.20.20 + + + + + Microsoft.MicrosoftEdge_8wekyb3d8bbwe + + 3.3.3.3/32,1.1.1.1-2.2.2.2 + + + + Microsoft.MicrosoftEdge_8wekyb3d8bbwe + + O:SYG:SYD:(A;;CC;;;AU) + + + + corp.contoso.com + 1.2.3.4,5.6.7.8 + 5.5.5.5 + false + + + corp.contoso.com + 10.10.10.10,20.20.20.20 + 100.100.100.100 + + + true + false + corp.contoso.com + contoso.com,test.corp.contoso.com + + + HelloServer + + Helloworld.Com + +
+ +``` + ## Apply ProfileXML using Intune After you configure the settings that you want using ProfileXML, you can apply it using Intune and a **Custom Configuration (Windows 10 Desktop and Mobile and later)** policy. +The OMS-URI setting to apply ProfileXML is **./user/vendor/MSFT/*VPN profile name*/ProfileXML**. + ![Paste your ProfileXML in OMA-URI Setting value field](images/vpn-profilexml-intune.png) ## Learn more From 7853f217aee0810db38096756613a0cfbb538c1c Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Tue, 27 Sep 2016 13:00:19 -0700 Subject: [PATCH 20/71] update image --- .../images/vpn-device-compliance.png | Bin 81582 -> 83666 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/keep-secure/images/vpn-device-compliance.png b/windows/keep-secure/images/vpn-device-compliance.png index 7ea0b6d3c815e94a5becd9afbc53386d09dc8825..d33ccba50829a677325cffe818ce7e97e7504b20 100644 GIT binary patch literal 83666 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 From 9a6899ea1c5a60db180463c3b6aa6a720877ecde Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 30 Sep 2016 13:49:01 -0700 Subject: [PATCH 21/71] add for Oct release --- .../change-history-for-keep-windows-10-secure.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/windows/keep-secure/change-history-for-keep-windows-10-secure.md b/windows/keep-secure/change-history-for-keep-windows-10-secure.md index db02131f0c..ee3f4325ff 100644 --- a/windows/keep-secure/change-history-for-keep-windows-10-secure.md +++ b/windows/keep-secure/change-history-for-keep-windows-10-secure.md @@ -12,6 +12,12 @@ author: brianlic-msft # Change history for Keep Windows 10 secure This topic lists new and updated topics in the [Keep Windows 10 secure](index.md) documentation for [Windows 10 and Windows 10 Mobile](../index.md). +## October 2016 + +| New or changed topic | Description | +| --- | --- | +| [VPN technical guide](vpn-guide.md) | Multiple new topics, replacing previous **VPN profile options** topic | + ## September 2016 | New or changed topic | Description | From 5c0fd59550f82868105ea863b0ba0ceed534d3bc Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Wed, 5 Oct 2016 13:27:08 -0700 Subject: [PATCH 22/71] update VPN path --- windows/keep-secure/vpn-auto-trigger-profile.md | 4 ++-- windows/keep-secure/vpn-name-resolution.md | 12 ++++++------ windows/keep-secure/vpn-routing.md | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/windows/keep-secure/vpn-auto-trigger-profile.md b/windows/keep-secure/vpn-auto-trigger-profile.md index 676c33cd40..1252f41319 100644 --- a/windows/keep-secure/vpn-auto-trigger-profile.md +++ b/windows/keep-secure/vpn-auto-trigger-profile.md @@ -34,7 +34,7 @@ The app identifier for a desktop app is a file path. The app identifier for a UW You can configure a domain name-based rule so that a specific domain name triggers the VPN connection. -Name-based auto-trigger can be configured using the VPNv2//*ProfileName*/DomainNameInformationList/dniRowId/AutoTrigger setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). +Name-based auto-trigger can be configured using the VPNv2/*ProfileName*/DomainNameInformationList/dniRowId/AutoTrigger setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). There are four types of name-based triggers: @@ -61,7 +61,7 @@ When a device has multiple profiles with Always On triggers, the user can specif This feature configures the VPN such that it would not get triggered if a user is on a trusted corporate network. The value of this setting is a list of DNS suffices. The VPN stack will look at the DNS suffix on the physical interface and if it matches any in the configured list and the network is private or provisioned by MDM, then VPN will not get triggered. -Trusted network detection can be configured using the VPNv2//*ProfileName*/TrustedNetworkDetection setting in the [VPNv2 CCSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). +Trusted network detection can be configured using the VPNv2/*ProfileName*/TrustedNetworkDetection setting in the [VPNv2 CCSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). ## Configure app-triggered VPN diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index c8404c3965..6f9ce95d5b 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -31,7 +31,7 @@ There are 3 types of name matches that can set up for NRPT: - Any resolution should attempt to first resolve with the proxy server/DNS server with this entry -NRPT is set using the **VPNv2//*ProfileName*/DomainNameInformationList** node. This node also configures Web proxy server or domain name servers. +NRPT is set using the **VPNv2/*ProfileName*/DomainNameInformationList** node. This node also configures Web proxy server or domain name servers. [Learn more about NRPT](https://technet.microsoft.com/library/ee649207%28v=ws.10%29.aspx) @@ -40,7 +40,7 @@ NRPT is set using the **VPNv2//*ProfileName*/DomainNameInformationList** node. T This setting is used to configure the primary DNS suffix for the VPN interface and the suffix search list after the VPN connection is established. -Primary DNS suffix is set using the **VPNv2//*ProfileName*/DnsSuffix** node. +Primary DNS suffix is set using the **VPNv2/*ProfileName*/DnsSuffix** node. @@ -50,7 +50,7 @@ Primary DNS suffix is set using the **VPNv2//*ProfileName*/DnsSuffix** node. You can also configure *persistent* name resolution rules. Name resolution for specified items will only performed over VPN. -Persistent name resolution is set using the **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/Persistent** node. +Persistent name resolution is set using the **VPNv2/*ProfileName*/DomainNameInformationList//*dniRowId*/Persistent** node. @@ -66,9 +66,9 @@ The fields in **Add or edit DNS rule** in the Intune profile correspond to the X | Field | XML | | --- | --- | -| **Name** | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/DomainName** | -| **Servers (comma separated)** | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/DnsServers** | -| **Proxy server** | **VPNv2//*ProfileName*/DomainNameInformationList//*dniRowId*/WebServers** | +| **Name** | **VPNv2/*ProfileName*/DomainNameInformationList//*dniRowId*/DomainName** | +| **Servers (comma separated)** | **VPNv2/*ProfileName*/DomainNameInformationList//*dniRowId*/DnsServers** | +| **Proxy server** | **VPNv2/*ProfileName*/DomainNameInformationList//*dniRowId*/WebServers** | ## Related topics diff --git a/windows/keep-secure/vpn-routing.md b/windows/keep-secure/vpn-routing.md index 046edf1720..55782e2167 100644 --- a/windows/keep-secure/vpn-routing.md +++ b/windows/keep-secure/vpn-routing.md @@ -21,13 +21,13 @@ Network routes are required for the stack to understand which interface to use f In a split tunnel configuration, routes can be specified to go over VPN and all other traffic will go over the physical interface. -Routes can be configured using the VPNv2//*ProfileName*/RouteList setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). +Routes can be configured using the VPNv2/*ProfileName*/RouteList setting in the [VPNv2 Configuration Service Provider (CSP)](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). For each route item in the list the following can be specified: -- **Address**: VPNv2//*ProfileName*/RouteList//*routeRowId*/Address -- **Prefix size**: VPNv2//*ProfileName*/RouteList//*routeRowId*/Prefix -- **Exclusion route**: VPNv2//*ProfileName*/RouteList//*routeRowId*/ExclusionRoute +- **Address**: VPNv2/*ProfileName*/RouteList//*routeRowId*/Address +- **Prefix size**: VPNv2/*ProfileName*/RouteList//*routeRowId*/Prefix +- **Exclusion route**: VPNv2/*ProfileName*/RouteList//*routeRowId*/ExclusionRoute Windows VPN platform now supports the ability to specify exclusion routes that specifically should not go over the physical interface. From 882cf979e3c872ab0a20167cc7e4fb53afed4e68 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Wed, 5 Oct 2016 13:37:34 -0700 Subject: [PATCH 23/71] Lily's feedback --- windows/keep-secure/vpn-authentication.md | 2 +- windows/keep-secure/vpn-auto-trigger-profile.md | 2 +- windows/keep-secure/vpn-conditional-access.md | 2 +- windows/keep-secure/vpn-name-resolution.md | 8 ++++---- windows/keep-secure/vpn-security-features.md | 1 + 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/windows/keep-secure/vpn-authentication.md b/windows/keep-secure/vpn-authentication.md index c08cfd93b8..e248b304f6 100644 --- a/windows/keep-secure/vpn-authentication.md +++ b/windows/keep-secure/vpn-authentication.md @@ -43,7 +43,7 @@ For a UWP VPN plug-in, the app vendor controls the authentication method to be u See [EAP configuration](https://msdn.microsoft.com/library/windows/hardware/mt168513.aspx) for EAP XML configuration. >[!NOTE] ->To configure Windows Hello for Business authentication, follow the steps in [EAP configuration](https://msdn.microsoft.com/library/windows/hardware/mt168513.aspx) to create a smart card certificate. +>To configure Windows Hello for Business authentication, follow the steps in [EAP configuration](https://msdn.microsoft.com/library/windows/hardware/mt168513.aspx) to create a smart card certificate. [Learn more about Windows Hello for Business.](https://technet.microsoft.com/itpro/windows/keep-secure/manage-identity-verification-using-microsoft-passport) The following image shows the field for EAP XML in a Microsoft Intune VPN profile. The EAP XML field only appears when you select a built-in connection type (automatic, IKEv2, L2TP, PPTP). diff --git a/windows/keep-secure/vpn-auto-trigger-profile.md b/windows/keep-secure/vpn-auto-trigger-profile.md index 1252f41319..3b63ffa494 100644 --- a/windows/keep-secure/vpn-auto-trigger-profile.md +++ b/windows/keep-secure/vpn-auto-trigger-profile.md @@ -61,7 +61,7 @@ When a device has multiple profiles with Always On triggers, the user can specif This feature configures the VPN such that it would not get triggered if a user is on a trusted corporate network. The value of this setting is a list of DNS suffices. The VPN stack will look at the DNS suffix on the physical interface and if it matches any in the configured list and the network is private or provisioned by MDM, then VPN will not get triggered. -Trusted network detection can be configured using the VPNv2/*ProfileName*/TrustedNetworkDetection setting in the [VPNv2 CCSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). +Trusted network detection can be configured using the VPNv2/*ProfileName*/TrustedNetworkDetection setting in the [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). ## Configure app-triggered VPN diff --git a/windows/keep-secure/vpn-conditional-access.md b/windows/keep-secure/vpn-conditional-access.md index 64091fb88b..4a4f96248d 100644 --- a/windows/keep-secure/vpn-conditional-access.md +++ b/windows/keep-secure/vpn-conditional-access.md @@ -25,7 +25,7 @@ Conditional Access Platform components used for Device Compliance include the fo - [Azure AD Connect Health](https://azure.microsoft.com/documentation/articles/active-directory-Azure ADconnect-health/) -- [Windows Health Attestation Service](https://technet.microsoft.com/en-us/itpro/windows/keep-secure/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices#device-health-attestation) +- [Windows Health Attestation Service](https://technet.microsoft.com/en-us/itpro/windows/keep-secure/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices#device-health-attestation) (optional) - Azure AD Certificate Authority - It is a requirement that the client certificate used for the cloud-based device compliance solution be issued by an Azure Active Directory-based Certificate Authority (CA). An Azure AD CA is essentially a mini-CA cloud tenant in Azure. The Azure AD CA cannot be configured as part of an on-premises Enterprise CA. diff --git a/windows/keep-secure/vpn-name-resolution.md b/windows/keep-secure/vpn-name-resolution.md index 6f9ce95d5b..d9a7d32a58 100644 --- a/windows/keep-secure/vpn-name-resolution.md +++ b/windows/keep-secure/vpn-name-resolution.md @@ -31,7 +31,7 @@ There are 3 types of name matches that can set up for NRPT: - Any resolution should attempt to first resolve with the proxy server/DNS server with this entry -NRPT is set using the **VPNv2/*ProfileName*/DomainNameInformationList** node. This node also configures Web proxy server or domain name servers. +NRPT is set using the **VPNv2/*ProfileName*/DomainNameInformationList** node of the [VPNv2 CSP](https://msdn.microsoft.com/library/windows/hardware/dn914776.aspx). This node also configures Web proxy server or domain name servers. [Learn more about NRPT](https://technet.microsoft.com/library/ee649207%28v=ws.10%29.aspx) @@ -66,9 +66,9 @@ The fields in **Add or edit DNS rule** in the Intune profile correspond to the X | Field | XML | | --- | --- | -| **Name** | **VPNv2/*ProfileName*/DomainNameInformationList//*dniRowId*/DomainName** | -| **Servers (comma separated)** | **VPNv2/*ProfileName*/DomainNameInformationList//*dniRowId*/DnsServers** | -| **Proxy server** | **VPNv2/*ProfileName*/DomainNameInformationList//*dniRowId*/WebServers** | +| **Name** | **VPNv2/*ProfileName*/DomainNameInformationList/*dniRowId*/DomainName** | +| **Servers (comma separated)** | **VPNv2/*ProfileName*/DomainNameInformationList/*dniRowId*/DnsServers** | +| **Proxy server** | **VPNv2/*ProfileName*/DomainNameInformationList/*dniRowId*/WebServers** | ## Related topics diff --git a/windows/keep-secure/vpn-security-features.md b/windows/keep-secure/vpn-security-features.md index 591b829433..93238fc9ca 100644 --- a/windows/keep-secure/vpn-security-features.md +++ b/windows/keep-secure/vpn-security-features.md @@ -49,6 +49,7 @@ The value of the **EdpModeId** is an Enterprise ID. The networking stack will lo Additionally, when connecting with WIP, the admin does not have to specify AppTriggerList and TrafficFilterList rules separately in this profile (unless more advanced configuration is needed) because the WIP policies and App lists automatically take effect. +[Learn more about Windows Information Protection](protect-enterprise-data-using-wip.md) ## Traffic filters From fc41c372261cb1923f883188cc9a695023517a34 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Wed, 5 Oct 2016 13:43:13 -0700 Subject: [PATCH 24/71] remove // --- windows/keep-secure/vpn-routing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/keep-secure/vpn-routing.md b/windows/keep-secure/vpn-routing.md index 55782e2167..5065c6aaa5 100644 --- a/windows/keep-secure/vpn-routing.md +++ b/windows/keep-secure/vpn-routing.md @@ -25,9 +25,9 @@ Routes can be configured using the VPNv2/*ProfileName*/RouteList setting in the For each route item in the list the following can be specified: -- **Address**: VPNv2/*ProfileName*/RouteList//*routeRowId*/Address -- **Prefix size**: VPNv2/*ProfileName*/RouteList//*routeRowId*/Prefix -- **Exclusion route**: VPNv2/*ProfileName*/RouteList//*routeRowId*/ExclusionRoute +- **Address**: VPNv2/*ProfileName*/RouteList/*routeRowId*/Address +- **Prefix size**: VPNv2/*ProfileName*/RouteList/*routeRowId*/Prefix +- **Exclusion route**: VPNv2/*ProfileName*/RouteList/*routeRowId*/ExclusionRoute Windows VPN platform now supports the ability to specify exclusion routes that specifically should not go over the physical interface. From dab2d72d120e365547eee8dab6c8af134932fa3e Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 15:09:17 -0700 Subject: [PATCH 25/71] update --- .../resolve-windows-10-upgrade-errors.md | 877 ++++++++++++++++++ 1 file changed, 877 insertions(+) create mode 100644 windows/deploy/resolve-windows-10-upgrade-errors.md diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md new file mode 100644 index 0000000000..2d522d6af7 --- /dev/null +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -0,0 +1,877 @@ +--- +title: Resolve common Windows 10 upgrade errors +description: Resolve common Windows 10 upgrade errors +ms.assetid: DFEFE22C-4FEF-4FD9-BFC4-9B419C339502 +keywords: deploy, error, troubleshoot, windows, 10 +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +localizationpriority: high +--- + +# Resolve common Windows 10 upgrade errors + +**Applies to** +- Windows 10 + +This topic provides a brief introduction to Windows 10 installation processes and provides resolution procedures you can use to resolve common problems. + +## In this topic + +The following topics and procedures are provided in this guide: + +- [The Windows 10 upgrade process](#the-windows-10-upgrade-process): An explanation of phases used during the upgrade process.
+- [Quick fixes](#quick-fixes): Steps you can take to eliminate common Windows upgrade errors.
+- [Upgrade error codes](#upgrade-error-codes): The composition of an error code is explained. + - [Result codes](#result-codes): Information about result codes. + - [Extend codes](#extend-codes): Information about extend codes. +- [Log files](#log-files): A list and description of log files useful for troubleshooting. + - [Analyzing log files](#analyzing-log-files): General procedures for log file analysis with an example. +- [Common error codes](#common-error-codes): Causes and mitigation procedures associated with some common error codes. + - [0xC1900101](#0xC1900101): Information about the 0xC1900101 result code. + - [0x800xxxxx](#0x800xxxxx): Information about result codes that start with 0x800. +- [Other error codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other error codes. + +## The Windows 10 upgrade process + +The Windows Setup application is used to upgrade a computer to Windows 10, or to perform a clean installation. Windows Setup starts and restarts the computer, gathers information, copies files, and creates or adjusts configuration settings. When performing an operating system upgrade, Windows Setup uses the following phases: + +1. **Downlevel phase**: The downlevel phase is run within the previous operating system. Installation components are gathered. +2. **Safe OS phase**: A recovery partition is configured and updates are installed. An OS rollback is prepared if needed. + - Example error codes: 0x2000C, 0x20017 +3. **First boot phase**: Initial settings are applied. + - Example error codes: 0x30018, 0x3000D +4. **Second boot phase**: Final settings are applied. This is also called the **OOBE boot phase**. + - Example error: 0x4000D, 0x40017 +5. **Uninstall phase**: This phase occurs if upgrade is unsuccessful. + - Example error: 0x50011, 0x50012 + +**Figure 1**: Phases of a successful Windows 10 upgrade (uninstall is not shown): + +![Upgrade process](images/upgrade-process.png) + +DU = Driver/device updates.
+OOBE = Out of box experience.
+WIM = Windows image (Microsoft) + +## Quick fixes + +The following steps can resolve many common Windows upgrade problems. + +
    +
  1. Attept to repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed.
  2. + +``` +DISM.exe /Online /Cleanup-image /Restorehealth +sfc /scannow +``` + +
  3. Update Windows so that all available recommended updates are installed.
  4. +
  5. Uninstall non-Microsoft antivirus software. +
      +
    • Use Windows Defender for protection during the upgrade. +
    • Verify compatibility information and re-install antivirus applications after the upgrade.
    • +
    +
  6. Uninstall all nonessential software.
  7. +
  8. Remove nonessential external hardware.
  9. +
  10. Update firmware and drivers.
  11. +
  12. Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
  13. +
+ +## Upgrade error codes + +If the upgrade process is not successful, Windows Setup will return two codes: + +1. **A result code**: The result code corresponds to a specific Win32 error. +2. **An extend code**: The extend code contains information about both the *phase* in which an error occurred, and the *operation* that was being performed when the error occurred. + +>For example, a result code of **0xC1900101** with an extend code of **0x4000D** will be returned as: **0xC1900101 - 0x4000D**. + +Note: If only a result code is returned, this can be because a tool is being used that was not able to capture the extend code. For example, if you are using the [Windows 10 Upgrade Assistant](https://support.microsoft.com/en-us/kb/3159635) then only a result code might be returned. + +### Result codes + +>A result code of **0xC1900101** is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the [Common error codes](#common-error-codes) section later in this topic. + +Result codes can be matched to the type of error encountered. To match a result code to an error: + +1. Identify the error code type, either Win32 or NTSTATUS, using the first hexidecimal digit: +
8 = Win32 error code (ex: 0x**8**0070070) +
C = NTSTATUS value (ex: 0x**C**1900107) +2. Write down the last 4 digits of the error code (ex: 0x8007**0070** = 0070). These digits correspond to the last 16 bits of the [HRESULT](https://msdn.microsoft.com/en-us/library/cc231198.aspx) or the [NTSTATUS](https://msdn.microsoft.com/en-us/library/cc231200.aspx) structure. +3. Based on the type of error code determined in the first step, match the 4 digits derived from the second step to either a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx), or an [NTSTATUS value](https://msdn.microsoft.com/en-us/library/cc704588.aspx). + +For example: +- 0x80070070 = Win32 = 0070 = 0x00000070 = ERROR_DISK_FULL +- 0xC1900107 = NTSTATUS = 0107 = 0x00000107 = STATUS_SOME_NOT_MAPPED + +Some result codes are self-explanatory, whereas others are more generic and require further analysis. In the examples shown above, ERROR_DISK_FULL indicates that the hard drive is full and additional room is needed to complete Windows upgrade. The message STATUS_SOME_NOT_MAPPED is more abiguous, and means that an action is pending. In this case, the action pending is often the cleanup operation from a previous installation attempt, which can be resolved with a system reboot. + +### Extend codes + +Extend codes can be matched to the phase and operation when an error occurred. To match an extend code to the phase and operation: + +1. Use the first digit to identify the phase (ex: 0x4000D = 4). +2. Use the last two digits to identify the operation (ex: 0x4000D = 0D). +3. Match the phase and operation to values in the tables provided below. + +The following tables provide the corresponding phase and operation for values of an extend code: + + + +
Extend code: phase
HexPhase +
0SP_EXECUTION_UNKNOWN +
1SP_EXECUTION_DOWNLEVEL +
2SP_EXECUTION_SAFE_OS +
3SP_EXECUTION_FIRST_BOOT +
4SP_EXECUTION_OOBE_BOOT +
5SP_EXECUTION_UNINSTALL +
+ + + + + + +
Extend code: operation
+ +
HexOperation +
0SP_EXECUTION_OP_UNKNOWN +
1SP_EXECUTION_OP_COPY_PAYLOAD +
2SP_EXECUTION_OP_DOWNLOAD_UPDATES +
3SP_EXECUTION_OP_INSTALL_UPDATES +
4SP_EXECUTION_OP_INSTALL_RECOVERY_ENVIRONMENT +
5SP_EXECUTION_OP_INSTALL_RECOVERY_IMAGE +
6SP_EXECUTION_OP_REPLICATE_OC +
7SP_EXECUTION_OP_INSTALL_DRVIERS +
8SP_EXECUTION_OP_PREPARE_SAFE_OS +
9SP_EXECUTION_OP_PREPARE_ROLLBACK +
ASP_EXECUTION_OP_PREPARE_FIRST_BOOT +
BSP_EXECUTION_OP_PREPARE_OOBE_BOOT +
CSP_EXECUTION_OP_APPLY_IMAGE +
DSP_EXECUTION_OP_MIGRATE_DATA +
ESP_EXECUTION_OP_SET_PRODUCT_KEY +
FSP_EXECUTION_OP_ADD_UNATTEND +
+
+ +
HexOperation +
10SP_EXECUTION_OP_ADD_DRIVER +
11SP_EXECUTION_OP_ENABLE_FEATURE +
12SP_EXECUTION_OP_DISABLE_FEATURE +
13SP_EXECUTION_OP_REGISTER_ASYNC_PROCESS +
14SP_EXECUTION_OP_REGISTER_SYNC_PROCESS +
15SP_EXECUTION_OP_CREATE_FILE +
16SP_EXECUTION_OP_CREATE_REGISTRY +
17SP_EXECUTION_OP_BOOT +
18SP_EXECUTION_OP_SYSPREP +
19SP_EXECUTION_OP_OOBE +
1ASP_EXECUTION_OP_BEGIN_FIRST_BOOT +
1BSP_EXECUTION_OP_END_FIRST_BOOT +
1CSP_EXECUTION_OP_BEGIN_OOBE_BOOT +
1DSP_EXECUTION_OP_END_OOBE_BOOT +
1ESP_EXECUTION_OP_PRE_OOBE +
1FSP_EXECUTION_OP_POST_OOBE +
20SP_EXECUTION_OP_ADD_PROVISIONING_PACKAGE +
+
+ +For example: An extend code of **0x4000D**, represents a problem during phase 4 (**0x4**) with data migration (**000D**). + +## Log files + +Several log files are created during each phase of the upgrade process. These log files are essential for troubleshooting upgrade problems. By default, the folders that contain these log files are hidden on the upgrade target computer. To view the log files, configure Windows Explorer to view hidden items, or use a tool to automatically gather these logs. The most useful log is **setupact.log**. The log files are located in a different folder depending on the Windows Setup phase. Recall that you can determine the phase from the extend code. + +

The following table describes some log files and how to use them for troubleshooting purposes: + + + +
Log filePhase: LocationDescriptionWhen to use + +
setupact.logDown-Level:
$Windows.~BT\Sources\Panther
Contains information about setup actions during the downlevel phase. All down-level failures and starting point for rollback investigations.
This is the most important log for diagnosing setup issues. +
OOBE:
$Windows.~BT\Sources\Panther
Contains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F. +
Rollback:
$Windows.~BT\Sources\Panther
Contains information about actions during rollback.Investigating generic rollbacks - 0xC1900101. +
Pre-initialization (prior to downlevel):
$Windows.~BT\Sources\Panther
Contains information about initializing setup.If setup fails to launch. +
Post-upgrade (after OOBE):
$Windows.~BT\Sources\Panther
Contains information about setup actions during the installation.Investigate post-upgrade related issues. + +
setuperr.logSame as setupact.logContains information about setup errors during the installation.Review all errors encountered during the installation phase. + +
miglog.xmlPost-upgrade (after OOBE):
Windows\Panther
Contains information about what was migrated during the installation.Identify post upgrade data migration issues. + +
BlueBox.logDown-Level:
Windows\Logs\Mosetup
Contains information communication between setup.exe and Windows Update.Use during WSUS and WU down-level failures or for 0xC1900107. + +
Supplemental rollback logs:
+Setupmem.dmp
+setupapi.dev.log
+Event logs (*.evtx) + + +
$Windows.~BT\Sources\RollbackAdditional logs collected during rollback. + +Setupmem.dmp: If OS bugchecks during upgrade, setup will attempt to extract a mini-dump.
+Setupapi: Device install issues – 0x30018
+Event logs: Generic rollbacks (0xC1900101) or unexpected reboots. + +
+ +### Log entry structure + +A setupact.log or setuperr.log entry includes the following elements: + +

    +
  1. The date and time. For example: 2016-09-08 09:20:05. +
  2. The log level: Info, Warning, Error, Fatal Error. +
  3. The logging component: CONX, MOUPG, PANTHR, SP, IBSLIB, MIG, DISM, CSI, CBS. +
      +
    • The logging components SP (setup platform) and MIG (migration engine) are particularly useful for troubleshooting Windows Setup errors. +
    +
  4. The message. For example: Operation completed successfully. +
+ +### Analyzing log files + +To analyze Windows Setup log files: + +
    +
  1. Determine the Windows Setup error code. +
  2. Based on the [extend code](#extend-codes) portion of the error code, determine the type and location of a [log files](#log-files) to investigate. +
  3. Open the log file in a text editor, such as notepad. +
  4. Using the result code portion of the Windows Setup error code, search for the result code in the file and find the last occurrence of the code. +
  5. To find the last occurrence of the result code: +
      +
    1. Scroll to the bottom of the file and click after the last character. +
    2. Click **Edit**. +
    3. Click **Find**. +
    4. Type the result code. +
    5. Under **Direction** select **Up**. +
    6. Click **Find Next**. +
    +
  6. When you have located the last occurrence of the result code, scroll up a few lines from this location in the file and review the processes that failed just prior to generating the result code. +
  7. Search for the following important text strings: +
      +
    • Shell application requested abort +
    • Abandoning apply due to error for object +
    +
  8. Decode other Win32 errors that appear in this section. +
  9. Search other log files for additional information related to your findings. +
+ +For example, assume that searching for the result code "8007042B" reveals the following content from the setuperr.log file: + +>Some lines in the text below are shortened for readability. In addition, the date and time at the start of each line (ex: 2016-09-08 09:20:05) is shortened to minutes and seconds. + +

setuperr.log content: + +

+20:05, Error            SP     Error READ, 0x00000002 while gathering/applying object: 
+23:33, Error            MIG    COnlineWinNTPlatform::AddPathToSearchIndexer - Failed to create CSearchManager instance, error: 0x80070422[gle=0x000003f0]
+23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1\Cookies. Will return 0
+23:50, Error            MIG    Error 1175 while applying object C:\Users\user1\Cookies. Shell application requested abort
+23:50, Error [0x08097b] MIG    Abandoning apply due to error for object: C:\Users\user1\Cookies
+23:51, Error                   Apply failed. Last error: 0x00000000
+23:51, Error            SP     pSPDoOnlineApply: Apply operation failed. Error: 0x0000002C
+23:52, Error            SP     Apply: Migration phase failed. Result: 44
+23:52, Error            SP     Operation failed: OOBE boot apply. Error: 0x8007042B[gle=0x000000b7]
+23:52, Error            SP     Operation execution failed: 13. hr = 0x8007042B[gle=0x000000b7]
+23:52, Error            SP     Operation execution failed.[gle=0x000000b7]
+23:52, Error            SP     CSetupPlatformPrivate::Execute: Failed to deserialize/execute pre-OOBEBoot operations. Error: 0x8007042B[gle=0x000000b7]
+
+ + +In the previous text, the third line indicates there was an error **0x00000497** with the folder **C:\Users\user1\Cookies**: + +
+23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1\Cookies. Will return 0
+
+ +
The error 0x00000497 is a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) corresponding to: + +

ERROR_UNABLE_TO_REMOVE_REPLACED: Unable to remove the file to be replaced. + +Therefore, Windows Setup failed because it was not able to migrate the **C:\Users\user1\Cookies** folder. Searching the setupact.log file for additional details, the following text is found: + +

setupact.log content: + +

+23:50, Warning                 RECAPPLY: Error while moving \\?\C:\Windows.old\Users\user1\Cookies to \\?\C:\Users\user1\Cookies. Error: 0x000000B7
+23:50, Info             MIG    Cannot apply recursively object: C:\Users\user1\Cookies: Win32Exception: Cannot create a file when that file already exists.
+23:50, Warning          MIG    Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
+23:50, Info             MIG    Error 1175 during apply of object C:\Users\user1\Cookies. Will ask shell application for resolution.
+23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1b\Cookies. Will return 0
+23:50, Error            MIG    Error 1175 while applying object C:\Users\user1\Cookies. Shell application requested abort
+23:50, Error [0x08097b] MIG    Abandoning apply due to error for object: C:\Users\user1\Cookies
+
+ +The setupact.log file also contains information detailing the configuration of files and folders. By searching for "C:\Users\user1\Cookies" we are able to determine that this folder is not installed in the default location: + +
+49:12, Info             MIG    Known folder CSIDL_COOKIES: C:\Users\user1\Cookies, default location: No
+
+ +This error can be resolved by configuring the folder to use its default location. + +## Common error codes + +### 0xC1900101 + +A common result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the Downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
+ +- The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp, +- Event logs: $Windows.~bt\Sources\Rollback\*.evtx +- The device install log: $Windows.~bt\Sources\Rollback\setupapi\setupapi.dev.log + +The device install log is particularly helpful if rollback occurs during the sysprep operation (extend code 0x30018). To resolve a rollback due to driver conflicts, run setup in the absence of drivers by performing a [clean boot](https://support.microsoft.com/en-us/kb/929135) before initiating the upgrade process. + +

See the following general troubleshooting procedures associated with a result code of 0xC1900101: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
Code +
0xC1900101 - 0x20004 +
+ +

+
Cause +
Windows Setup encountered an error during the SAFE_OS with the INSTALL_RECOVERY_ENVIRONMENT operation +
This is generally caused by out-of-date drivers. +
+

+ + +
Mitigation +
Uninstall antivirus applications. +
Remove all unused SATA devices. +
Remove all unused devices and drivers. +
Update drivers and BIOS. +
+
+ + +
Code +
0xC1900101 - 0x2000c +
+ +

+
Cause +
Windows Setup encountered an unspecified error during the WinPE phase. +
This is generally caused by out-of-date drivers. +
+

+ + +
Mitigation +
Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. +
Contact your hardware vendor to obtain updated device drivers. +
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process. +
+
+ + +
Code +
0xC1900101 - 0x20017 + +
+ +

+
Cause +
A driver has caused an illegal operation. +
Windows was not able to migrate the driver, resulting in a rollback of the operating system. + +
+

+ + +
Mitigation +
+Ensure that all that drivers are updated.
+Open the Setuperr.log and Setupact.log files in the %windir%\Panther directory, and then locate the problem drivers. +
For more information, see [Understanding Failures and Log Files](https://technet.microsoft.com/en-us/library/ee851579.aspx). +
Update or uninstall the problem drivers. +
+
+ + +
Code +
0xC1900101 - 0x30018 +
+ +

+
Cause +
A device driver has stopped responding to setup.exe during the upgrade process. +
+

+ + +
Mitigation +
+Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. +
Contact your hardware vendor to obtain updated device drivers. +
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process. +
+
+ + +
Code +
0xC1900101 - 0x3000D +
+ +

+
Cause +
Installation failed during the FIRST_BOOT phase while attempting the MIGRATE_DATA operation. +
This can occur due to a problem with a display driver. + +
+

+ + +
Mitigation +
+Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display. +
Update or uninstall the display driver. +
+
+ + +
Code +
0xC1900101 - 0x4000D +
+ +

+
Cause +
A rollback occurred due to a driver configuration issue. +
+

+ + +
Mitigation +

Review the rollback log and determine the stop code. +
The rollback log is located in the **C:\$Windows.~BT\Sources\Panther** folder. Look for text similar to the following: +

Info SP Crash 0x0000007E detected +
Info SP Module name : +
Info SP Bugcheck parameter 1 : 0xFFFFFFFFC0000005 +
Info SP Bugcheck parameter 2 : 0xFFFFF8015BC0036A +
Info SP Bugcheck parameter 3 : 0xFFFFD000E5D23728 +
Info SP Bugcheck parameter 4 : 0xFFFFD000E5D22F40 +
Info SP Cannot recover the system. +
Info SP Rollback: Showing splash window with restoring text: Restoring your previous version of Windows. + + +

Typically there is a a dump file for the crash to analyze. If you are not equipped to debug the dump, then attempt the following basic troubleshooting procedures:
+ +1. Make sure you have enough disk space.
+2. If a driver is identified in the bug check message, disable the driver or check with the manufacturer for driver updates.
+3. Try changing video adapters.
+4. Check with your hardware vendor for any BIOS updates.
+5. Disable BIOS memory options such as caching or shadowing. +

+
+
+ + +
Code +
0xC1900101 - 0x40017 +
+ +

+
Cause +
Windows 10 upgrade failed after the second reboot. +
This is usually caused by a faulty driver. For example: antivirus filter drivers or encryption drivers. +
+

+ + +
Mitigation +
Clean boot into Windows, and then attempt the upgrade to Windows 10.
+ +For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135). + +

Ensure you select the option to "Download and install updates (recommended)." +

+
+ +### 0x800xxxxx + +Result codes starting with the digits 0x800 are also relatively common. These error codes indicate general operating system errors, and are not unique to the Windows upgrade process. Examples include timeouts, devices not functioning, and a process stopping unexpectedly. + +

See the following general troubleshooting procedures associated with a result code of 0x800xxxxx: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
Code +
+ +8000405 - 0x20007 + +
+ +

+
Cause +
+ +An unspecified error occurred with a driver during the SafeOS phase. + +
+

+ + +
Mitigation +
+ +Analyze logs. + +
+
+ + +
Code +
+ +800704B8 - 0x3001A + +
+ +

+
Cause +
+ +Here is a cause. + +
+

+ + +
Mitigation +
+ +Disable AV, disconnect devices, clean boot. + +
+
+ + +
Code +
+ +8007042B - 0x4000D + +
+ +

+
Cause +
+ +The installation failed during the second boot phase while attempting the MIGRATE_DATA operation. +
This issue can occur due to an application or driver incompatibility. + +
+

+ + +
Mitigation +
+ +Clean boot into Windows, and then attempt the upgrade to Windows 10. For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135). + +

Ensure you select the option to "Download and install updates (recommended)." + +

+
+ + +
Code +
+ +8007001F - 0x4000D + +
+ +

+
Cause +
+ +Need cause here. + +
+

+ + +
Mitigation +
+ +Need mitigation here. + +
+
+ + +
Code +
+ +8007042B - 0x4001E + +
+ +

+
Cause +
+ +Here is a cause. + +
+

+ + +
Mitigation +
+ +Here is a mitigation procedure. + +
+
+ + +## Other result codes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Error code +Cause +Mitigation +
0xC1900200Setup.exe has detected that the machine does not meet the minimum system requirements.Ensure the system you are trying to upgrade meets the minimum system requirements.

See [Windows 10 specifications](https://www.microsoft.com/en-us/windows/windows-10-specifications) for information.

0x80090011A device driver error occurred during user data migration.Contact your hardware vendor and get all the device drivers updated. It is recommended to have an active internet connection during upgrade process. +

Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.

0xC7700112Failure to complete writing data to the system drive, possibly due to write access failure on the hard disk.This issue is resolved in the latest version of Upgrade Assistant. +

Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.

0x80190001An unexpected error was encountered while attempting to download files required for upgrade.To resolve this issue, download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/en-us/software-download/windows10). +
0x80246007The update was not downloaded successfully.Attempt other methods of upgrading the operatign system.
+Download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/en-us/software-download/windows10). +
Attempt to upgrade using .ISO or USB.
+**Note**: Windows 10 Enterprise isn’t available in the media creation tool. For more information, go to the [Volume Licensing Service Center](https://www.microsoft.com/licensing/servicecenter/default.aspx). +
0xC1900201The system did not pass the minimum requirements to install the update.Contact the hardware vendor to get the latest updates.
0x80240017The upgrade is unavailable for this edition of Windows.Administrative policies enforced by your organization might be preventing the upgrade. Contact your IT administrator.
0x80070020The existing process cannot access the file because it is being used by another process.Use the MSCONFIG tool to perform a clean boot on the machine and then try to perform the update again. For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135).
0x80070522The user doesn’t have required privilege or credentials to upgrade.Ensure that you have signed in as a local administrator or have local administrator privileges.
0xC1900107A cleanup operation from a previous installation attempt is still pending and a system reboot is required in order to continue the upgrade. +Reboot the device and run setup again. If restarting device does not resolve the issue, then use the Disk Cleanup utility and cleanup the temporary as well as the System files. For more information, see [Disk cleanup in Windows 10](https://support.microsoft.com/en-us/instantanswers/8fef4121-711b-4be1-996f-99e02c7301c2/disk-cleanup-in-windows-10).
0xC1900209The user has chosen to cancel because the system does not pass the compatibility scan to install the update. Setup.exe will report this error when it can upgrade the machine with user data but cannot migrate installed applications.Incompatible software is blocking the upgrade process. Uninstall the application and try the upgrade again. See [Windows 10 Pre-Upgrade Validation using SETUP.EXE](https://blogs.technet.microsoft.com/mniehaus/2015/08/23/windows-10-pre-upgrade-validation-using-setup-exe/) for more information. + +

You can also download the [Windows Assessment and Deployment Kit (ADK) for Windows 10](http://go.microsoft.com/fwlink/p/?LinkId=526740) and install Application Compatibility Tools. +

0x8007002 This error is specific to upgrades using System Center Configuration Manager 2012 R2 SP1 CU3 (5.00.8238.1403)Analyze the SMSTS.log and verify that the upgrade is failing on "Apply Operating system" Phase: Error 80072efe DownloadFileWithRanges() failed. 80072efe. ApplyOperatingSystem (0x0760) + +

The error 80072efe means that the connection with the server was terminated abnormally. + +

To resolve this issue, try the OS Deployment test on a client in same VLAN as the Configuration Manager server. Check the network configuration for random client-server connection issues happening on the remote VLAN. +

+ +## Other error codes + + + + + + + + + + + + + + + + + + + + + +
Error CodesCauseMitigation
0x80070003- 0x20007This error occurs when there is problem with the Internet connection during the Windows 10 upgrade."Since this error indicates that the internet connection ran into a problem, you may attempt to fix the connectivity issues and reattempt the download of the files. +Alternatively, you may re-create installation media using ""Media Creation Tool"" from a different connected system. Refer: https://www.microsoft.com/en-us/software-download/windows10 + +You can either create a USB drive or an ISO. +"
0x8007025D - 0x2000CThis error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. + +You may alternatively, re-create installation media using ""Media Creation Tool"" Refer: https://www.microsoft.com/en-us/software-download/windows10 + +You can either create a USB drive or an ISO using the Media Creation Tool. +"
0x80070490 - 0x20007The error comes up during driver installation phase and it means that some of the device driver is incompatible."Please ensure that all the devices are working correctly. Please review the Device Manager for any errors and troubleshoot accordingly. +Refer: https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations + +Additionally, you can review the following logs to verify which I/O device is causing the problem. + ""%systemroot%\$Windows.~BT\Sources\Panther\setupact.log"" + +If unable to review the logs, post on Windows 10 TechNet Forum (https://social.technet.microsoft.com/Forums/en-us/home?forum=win10itprogeneral&filter=alltypes&sort=lastpostdesc) +"
0xC1900101 - 0x2000BThis error occurs when the device drivers of the hardware connected to the computer prevent the Windows 10 upgrade from building the migration file list.We recommended you disconnect the devices that aren't in use when you upgrade the computer.
0xC1900101 - 0x2000cThe Setup Platform has encountered an unspecified error during the WINPE Phase. This is generally caused by drivers which are not updated at the time when the upgrade was started.It is recommended to select "Download and install updates (recommended)" during the upgrade process. Additionally, you can contact the Hardware Vendor and get the updates for the device drivers that are connected to the system. Ensure all the devices other than the Mouse; Keyboard and Display are disconnected during upgrade process. Then start setup again.
0xC1900200 - 0x20008This error occurs when the computer doesn’t meet the minimum requirements to download or upgrade to Windows 10."Refer http://www.microsoft.com/en-us/windows/windows-10-specifications?OCID=win10_null_vanity_win10specs and make sure that the machine, on which the upgrade is being initiated, meets the minimum requirement. + +Secondly use the Windows 10 Compatibility Reports to understand upgrade issues (https://blogs.technet.microsoft.com/askcore/2016/01/21/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues/) +"
0x80070004 - 0x3000DSYSTEM, LOCAL, SELF, System, and Network are reserved names that can’t be used for Computer Name."Ensure that you do not use the reserved names as the Computer names. Rename the system to a valid Computer name. +See KB 3086101 for more details. +"
0xC1900101 - 0x40001"This error indicates that we saw an error in the OOBE Phase - Stop 9F. This behavior occurs when device drivers do not handle power state transition requests properly. The error message most often occurs during one of the following actions: 1. Shutting down +2. Suspending or resuming from Standby mode +3. Suspending or resuming from Hibernate mode""The most common causes for this error would be the connected devices on the machine / device as below and it would have suggested that we disable / disconnect them from the device /machine before performing the upgrade: +1. Internal WIFI Modem +2. Any External connected USB devices such as WEBCAMS; Printers; USB Hard Drives +3. Check to be sure your computer and all devices are on the Hardware Compatibility List (HCL) and have WHQL signed and certified drivers. + +The setup.exe will perform a rollback of the OS and would return to the older OS. Once the rollback is complete if we find the problem causing driver than we need to check for %SystemDrive%\$Windows.~bt\sources\Rollback\setupmem.dmp file and have a Microsoft Support Professional look into the same. +"
0xC1900101 - 0x4001EThis error indicates that the installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation.This is a generic error that occurs during the OOBE phase of Setup. We recommend you to review the FAQ for Upgrade to Windows 10 (https://support.microsoft.com/en-us/help/12435/windows-10-upgrade-faq)
0x80070005 - 0x4000DThis error code means The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation.This issue may occur if we have any application / driver that is causing an issue while the upgrade to Windows 10 is going on. Preform a clean boot on the system. Refer https://support.microsoft.com/en-us/kb/929135 for steps to perform a Clean boot.
0x80070004 - 0x50012The Computer account for the system has an invalid name. Please ensure that the machine name does not have any invalid characters (See https://technet.microsoft.com/en-us/library/cc749460(v=ws.10).aspx). Additionally, the names should not be any of the reserved names for systems. Rename the system to a valid computer name and try the Setup again. See KB 3086101 for more details.
"0xC190020e 0x80070070 - 0x50011 +0x80070070 - 0x50012 +0x80070070 - 0x60000"These errors would occur if your computer doesn’t have enough free space available to install the upgrade."Typically to upgrade to Windows 10, you need free space of 16 GB for 32-bit OS and 20 GB for 64-bit OS. If there is not enough space refer the following article: +https://support.microsoft.com/en-us/help/17421/windows-free-up-drive-space + +Note: Once the deletion is complete, initiate the upgrade and this time you should not receive the error if sufficient space has been made. If that is not enough +then, you can implement solution as mentioned below. + +Using External Drive +If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will backup the previous version of Windows to a USB external drive. The external drive must be at least 8GB – but having 16GB is recommended. +Some important points to remember if you choose to use an external storage drive for installing Windows 10: + - We recommend that the external drive is formatted in NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. To learn how to format in NTFS, click here. +- USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby. +"
+ + + + +## Related topics + +• Windows 10 FAQ for IT professionals +• Windows 10 Enterprise system requirements +• Windows 10 IT pro forums From 812ece27f95ee60052499beba6b391747d8c411b Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:03:49 -0700 Subject: [PATCH 26/71] update --- .../resolve-windows-10-upgrade-errors.md | 142 +++++++++--------- 1 file changed, 70 insertions(+), 72 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 2d522d6af7..a44acae79c 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -28,7 +28,8 @@ The following topics and procedures are provided in this guide: - [Result codes](#result-codes): Information about result codes. - [Extend codes](#extend-codes): Information about extend codes. - [Log files](#log-files): A list and description of log files useful for troubleshooting. - - [Analyzing log files](#analyzing-log-files): General procedures for log file analysis with an example. + - [Log entry structure](#log-entry-structure): The format of a log entry is described. + - [Analyze log files](#analyze-log-files): General procedures for log file analysis, and an example. - [Common error codes](#common-error-codes): Causes and mitigation procedures associated with some common error codes. - [0xC1900101](#0xC1900101): Information about the 0xC1900101 result code. - [0x800xxxxx](#0x800xxxxx): Information about result codes that start with 0x800. @@ -63,6 +64,7 @@ The following steps can resolve many common Windows upgrade problems.

  1. Attept to repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed.
  2. + ``` DISM.exe /Online /Cleanup-image /Restorehealth sfc /scannow @@ -225,12 +227,12 @@ A setupact.log or setuperr.log entry includes the following elements:
  3. The log level: Info, Warning, Error, Fatal Error.
  4. The logging component: CONX, MOUPG, PANTHR, SP, IBSLIB, MIG, DISM, CSI, CBS.
      -
    • The logging components SP (setup platform) and MIG (migration engine) are particularly useful for troubleshooting Windows Setup errors. +
    • The logging components SP (setup platform), MIG (migration engine), and CONX (compatibility information) are particularly useful for troubleshooting Windows Setup errors.
  5. The message. For example: Operation completed successfully.
-### Analyzing log files +### Analyze log files To analyze Windows Setup log files: @@ -254,13 +256,14 @@ To analyze Windows Setup log files:
  • Shell application requested abort
  • Abandoning apply due to error for object -
  • Decode other Win32 errors that appear in this section. -
  • Search other log files for additional information related to your findings. +
  • Decode Win32 errors that appear in this section. +
  • Write down the timestamp for the observed errors in this section. +
  • Search other log files for additional information matching these timestamps or errors. For example, assume that searching for the result code "8007042B" reveals the following content from the setuperr.log file: ->Some lines in the text below are shortened for readability. In addition, the date and time at the start of each line (ex: 2016-09-08 09:20:05) is shortened to minutes and seconds. +>Some lines in the text below are shortened to enhance readability. The date and time at the start of each line (ex: 2016-09-08 09:20:05) is shortened to minutes and seconds.

    setuperr.log content: @@ -296,7 +299,7 @@ Therefore, Windows Setup failed because it was not able to migrate the **C:\User

     23:50, Warning                 RECAPPLY: Error while moving \\?\C:\Windows.old\Users\user1\Cookies to \\?\C:\Users\user1\Cookies. Error: 0x000000B7
    -23:50, Info             MIG    Cannot apply recursively object: C:\Users\user1\Cookies: Win32Exception: Cannot create a file when that file already exists.
    +23:50, Info             MIG    Cannot apply recursively object: C:\Users\user1\Cookies:Win32Exception:Cannot create a file when that file already exists.
     23:50, Warning          MIG    Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
     23:50, Info             MIG    Error 1175 during apply of object C:\Users\user1\Cookies. Will ask shell application for resolution.
     23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1b\Cookies. Will return 0
    @@ -565,7 +568,7 @@ An unspecified error occurred with a driver during the SafeOS phase.
     Mitigation
     
     
    -Analyze logs.
    +This error has more than one possible cause. Attempt [quick fixes](#quick-fixes), and if not successful, [analyze log files](#analyze-log-files) in order to determine the problem and solution.
     
     
     
    @@ -585,7 +588,7 @@ Analyze logs.
     Cause
     
     
    -Here is a cause.
    +An extended error has occurred during the first boot phase.
     
     
     
    @@ -596,7 +599,7 @@ Here is a cause.
     Mitigation
     
     
    -Disable AV, disconnect devices, clean boot.
    +Disable or uninstall non-Microsoft antivirus applications, disconnect all unnecessary devices, and perform a [clean boot](https://support.microsoft.com/en-us/kb/929135).
     
     
     
    @@ -628,7 +631,7 @@ The installation failed during the second boot phase while attempting the MIGRAT
     Mitigation
     
     
    -Clean boot into Windows, and then attempt the upgrade to Windows 10. For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/en-us/kb/929135).
    +Perform a [clean boot](https://support.microsoft.com/en-us/kb/929135), and reattempt the upgrade.
     
     

    Ensure you select the option to "Download and install updates (recommended)." @@ -650,7 +653,7 @@ Clean boot into Windows, and then attempt the upgrade to Windows 10. For more in Cause -Need cause here. +General failure, a device attached to the system is not functioning. @@ -661,7 +664,7 @@ Need cause here. Mitigation -Need mitigation here. +[Analyze log files](#analyze-log-files) in order to determine the device that is not functioning properly. Disconnect, update, or replace the device. @@ -681,7 +684,7 @@ Need mitigation here. Cause -Here is a cause. +The installation failed during the second boot phase while attempting the PRE_OOBE operation. @@ -692,17 +695,12 @@ Here is a cause. Mitigation -Here is a mitigation procedure. +This error has more than one possible cause. Attempt [quick fixes](#quick-fixes), and if not successful, [analyze log files](#analyze-log-files) in order to determine the problem and solution. - - - - - @@ -806,64 +804,63 @@ Download and run the media creation tool. See [Download windows 10](https://www. - + - + - - - + - - + + - - - - + + + + + + - - - - +

    Note: If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will back up the previous version of Windows to a USB external drive. The external drive must be at least 8GB (16GB is recommended). The external drive should be formatted using NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby. +

    Error CodesCauseMitigation
    0x80070003- 0x20007This error occurs when there is problem with the Internet connection during the Windows 10 upgrade."Since this error indicates that the internet connection ran into a problem, you may attempt to fix the connectivity issues and reattempt the download of the files. -Alternatively, you may re-create installation media using ""Media Creation Tool"" from a different connected system. Refer: https://www.microsoft.com/en-us/software-download/windows10 +
    0x80070003- 0x20007This error occurs when there is problem with the Internet connection during the Windows 10 upgrade. -You can either create a USB drive or an ISO. -"
    Repair network connectivity issues and reattempt the upgrade process. +
    Alternatively, create installation media for an offline upgrade using the [Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows10). Download the Windows 10 image using a computer that is connected to the Internet. +
    0x8007025D - 0x2000CThis error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. -You may alternatively, re-create installation media using ""Media Creation Tool"" Refer: https://www.microsoft.com/en-us/software-download/windows10 +Alternatively, re-create installation media the [Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows10). -You can either create a USB drive or an ISO using the Media Creation Tool. -"
    0x80070490 - 0x20007The error comes up during driver installation phase and it means that some of the device driver is incompatible."Please ensure that all the devices are working correctly. Please review the Device Manager for any errors and troubleshoot accordingly. -Refer: https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations +
    0x80070490 - 0x20007An incompatible device driver is present. -Additionally, you can review the following logs to verify which I/O device is causing the problem. - ""%systemroot%\$Windows.~BT\Sources\Panther\setupact.log"" +[Verify device drivers](https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](#analyze-log-files) to determine the problem driver. -If unable to review the logs, post on Windows 10 TechNet Forum (https://social.technet.microsoft.com/Forums/en-us/home?forum=win10itprogeneral&filter=alltypes&sort=lastpostdesc) -"
    0xC1900101 - 0x2000BThis error occurs when the device drivers of the hardware connected to the computer prevent the Windows 10 upgrade from building the migration file list.We recommended you disconnect the devices that aren't in use when you upgrade the computer.
    0xC1900101 - 0x2000cThe Setup Platform has encountered an unspecified error during the WINPE Phase. This is generally caused by drivers which are not updated at the time when the upgrade was started.It is recommended to select "Download and install updates (recommended)" during the upgrade process. Additionally, you can contact the Hardware Vendor and get the updates for the device drivers that are connected to the system. Ensure all the devices other than the Mouse; Keyboard and Display are disconnected during upgrade process. Then start setup again.
    0xC1900200 - 0x20008This error occurs when the computer doesn’t meet the minimum requirements to download or upgrade to Windows 10."Refer http://www.microsoft.com/en-us/windows/windows-10-specifications?OCID=win10_null_vanity_win10specs and make sure that the machine, on which the upgrade is being initiated, meets the minimum requirement. +
    0xC1900101 - 0x2000BOne or more device drivers are blocking creating of the migration file list. -Secondly use the Windows 10 Compatibility Reports to understand upgrade issues (https://blogs.technet.microsoft.com/askcore/2016/01/21/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues/) -"
    0x80070004 - 0x3000DSYSTEM, LOCAL, SELF, System, and Network are reserved names that can’t be used for Computer Name."Ensure that you do not use the reserved names as the Computer names. Rename the system to a valid Computer name. -See KB 3086101 for more details. -"
    0xC1900101 - 0x40001"This error indicates that we saw an error in the OOBE Phase - Stop 9F. This behavior occurs when device drivers do not handle power state transition requests properly. The error message most often occurs during one of the following actions: 1. Shutting down -2. Suspending or resuming from Standby mode -3. Suspending or resuming from Hibernate mode""The most common causes for this error would be the connected devices on the machine / device as below and it would have suggested that we disable / disconnect them from the device /machine before performing the upgrade: -1. Internal WIFI Modem -2. Any External connected USB devices such as WEBCAMS; Printers; USB Hard Drives -3. Check to be sure your computer and all devices are on the Hardware Compatibility List (HCL) and have WHQL signed and certified drivers. +Disconnect unnecessary devices and upgrade device drivers.
    0xC1900101 - 0x2000c +An unspecified error occurred during the WINPE Phase. This is due to an outdated driver. +Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.
    0xC1900200 - 0x20008 -The setup.exe will perform a rollback of the OS and would return to the older OS. Once the rollback is complete if we find the problem causing driver than we need to check for %SystemDrive%\$Windows.~bt\sources\Rollback\setupmem.dmp file and have a Microsoft Support Professional look into the same. -"
    0xC1900101 - 0x4001EThis error indicates that the installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation.This is a generic error that occurs during the OOBE phase of Setup. We recommend you to review the FAQ for Upgrade to Windows 10 (https://support.microsoft.com/en-us/help/12435/windows-10-upgrade-faq)
    0x80070005 - 0x4000DThis error code means The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation.This issue may occur if we have any application / driver that is causing an issue while the upgrade to Windows 10 is going on. Preform a clean boot on the system. Refer https://support.microsoft.com/en-us/kb/929135 for steps to perform a Clean boot.
    0x80070004 - 0x50012The Computer account for the system has an invalid name. Please ensure that the machine name does not have any invalid characters (See https://technet.microsoft.com/en-us/library/cc749460(v=ws.10).aspx). Additionally, the names should not be any of the reserved names for systems. Rename the system to a valid computer name and try the Setup again. See KB 3086101 for more details.
    "0xC190020e 0x80070070 - 0x50011 -0x80070070 - 0x50012 -0x80070070 - 0x60000"These errors would occur if your computer doesn’t have enough free space available to install the upgrade."Typically to upgrade to Windows 10, you need free space of 16 GB for 32-bit OS and 20 GB for 64-bit OS. If there is not enough space refer the following article: -https://support.microsoft.com/en-us/help/17421/windows-free-up-drive-space +The computer doesn’t meet the minimum requirements to download or upgrade to Windows 10. + +See [Windows 10 Specifications](https://www.microsoft.com/en-us/windows/windows-10-specifications) and verify the computer meets minimum requirements. + +
    Review logs for [compatibility information](https://blogs.technet.microsoft.com/askcore/2016/01/21/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues/).
    0x80070004 - 0x3000DA reserved name is used as the computer name. + +Ensure that you do not use a [reserved name](https://support.microsoft.com/en-us/kb/3086101) as the computer name. System, Local, Self, and Network are reserved names that can’t be used as the computer name.
    0xC1900101 - 0x40001 +A device driver did not handle power state transition requests properly while shutting down, suspending or resuming from standby, or suspending or resuming from hibernation. + +Update, remove, or disable the following devices which frequently cause power state transition errors: +
    1. Internal WIFI Modems. +
    2. Externally connected USB devices such as webcams, printers, and USB hard drives.
    +
    Also, verify all devices are on the [Hardware Compatibility List](http://sysdev.microsoft.com/EN-US/HARDWARE/LPL/DEFAULT.ASPX) (HCL) and have WHQL signed and certified drivers. Analyze [log files](#log-files) if needed to determine the problem device or driver. +
    0xC1900101 - 0x4001E +Installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation. +This is a generic error that occurs during the OOBE phase of setup. See the [0xC1900101](#0xC1900101) section of this guide and review general troubleshooting procedures described in that section.
    0x80070005 - 0x4000D +The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This can be caused by an incompatible application or driver. +Perform a [clean boot](https://support.microsoft.com/en-us/kb/929135) and then attempt the upgrade.
    0x80070004 - 0x50012 +The computer account for the system has an invalid name. +Ensure that the [computer name](https://technet.microsoft.com/en-us/library/cc749460.aspx) does not contain invalid characters, and is not a [reserved name](https://support.microsoft.com/en-us/kb/3086101).
    0xC190020e +
    0x80070070 - 0x50011 +
    0x80070070 - 0x50012 +
    0x80070070 - 0x60000 +
    These errors indicate the computer does not have enough free space available to install the upgrade. +To upgrade a computer to Windows 10, it requires 16 GB of free hard drive space for a 32-bit OS, and 20 GB for a 64-bit OS. If there is not enough space, attempt to [free up drive space](https://support.microsoft.com/en-us/help/17421/windows-free-up-drive-space) before proceeding with the upgrade. -Note: Once the deletion is complete, initiate the upgrade and this time you should not receive the error if sufficient space has been made. If that is not enough -then, you can implement solution as mentioned below. - -Using External Drive -If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will backup the previous version of Windows to a USB external drive. The external drive must be at least 8GB – but having 16GB is recommended. -Some important points to remember if you choose to use an external storage drive for installing Windows 10: - - We recommend that the external drive is formatted in NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. To learn how to format in NTFS, click here. -- USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby. -"
    @@ -872,6 +869,7 @@ Some important points to remember if you choose to use an external storage drive ## Related topics -• Windows 10 FAQ for IT professionals -• Windows 10 Enterprise system requirements -• Windows 10 IT pro forums +[Windows 10 FAQ for IT professionals](https://technet.microsoft.com/en-us/windows/dn798755.aspx) +
    [Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx) +
    [Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications) +
    [Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) From c58e7ad0f238ea7810052b187326d5da21a76e2f Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:13:36 -0700 Subject: [PATCH 27/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index a44acae79c..ac4cb550b8 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -223,15 +223,20 @@ Event logs: Generic rollbacks (0xC1900101) or unexpected reboots. A setupact.log or setuperr.log entry includes the following elements:

      -
    1. The date and time. For example: 2016-09-08 09:20:05. -
    2. The log level: Info, Warning, Error, Fatal Error. -
    3. The logging component: CONX, MOUPG, PANTHR, SP, IBSLIB, MIG, DISM, CSI, CBS. +
    4. The date and time - 2016-09-08 09:20:05. +
    5. The log level - Info, Warning, Error, Fatal Error. +
    6. The logging component - CONX, MOUPG, PANTHR, SP, IBSLIB, MIG, DISM, CSI, CBS.
      • The logging components SP (setup platform), MIG (migration engine), and CONX (compatibility information) are particularly useful for troubleshooting Windows Setup errors.
      -
    7. The message. For example: Operation completed successfully. +
    8. The message - Operation completed successfully.
    +An example log entry is shown below: +
    +2016-09-08 09:23:50, Warning          MIG    Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
    +
    + ### Analyze log files To analyze Windows Setup log files: From ea69a7b0f584aeaa24061af27a68f6c45e54a8a9 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:16:54 -0700 Subject: [PATCH 28/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index ac4cb550b8..970b55dbca 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -65,10 +65,10 @@ The following steps can resolve many common Windows upgrade problems.
  • Attept to repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed.
  • -``` + DISM.exe /Online /Cleanup-image /Restorehealth sfc /scannow -``` +
  • Update Windows so that all available recommended updates are installed.
  • Uninstall non-Microsoft antivirus software. From 56c9e56f72945b7d1ced9d2329f6998fe2c622cf Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:31:57 -0700 Subject: [PATCH 29/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 970b55dbca..04f7011a14 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -245,7 +245,7 @@ To analyze Windows Setup log files:
  • Determine the Windows Setup error code.
  • Based on the [extend code](#extend-codes) portion of the error code, determine the type and location of a [log files](#log-files) to investigate.
  • Open the log file in a text editor, such as notepad. -
  • Using the result code portion of the Windows Setup error code, search for the result code in the file and find the last occurrence of the code. +
  • Using the result code portion of the Windows Setup error code, search for the result code in the file and find the last occurrence of the code. Alternatively search for the "abort" and abandoning" text strings described in step 7 below.
  • To find the last occurrence of the result code:
    1. Scroll to the bottom of the file and click after the last character. @@ -287,18 +287,15 @@ For example, assume that searching for the result code "8007042B" reveals the fo 23:52, Error SP CSetupPlatformPrivate::Execute: Failed to deserialize/execute pre-OOBEBoot operations. Error: 0x8007042B[gle=0x000000b7]
  • - -In the previous text, the third line indicates there was an error **0x00000497** with the folder **C:\Users\user1\Cookies**: +The third line indicates there was an error **0x00000497** with the folder **C:\Users\user1\Cookies** (shown below):
     23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1\Cookies. Will return 0
     
    -
    The error 0x00000497 is a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) corresponding to: +
    The error 0x00000497 is a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) corresponding to: ERROR_UNABLE_TO_REMOVE_REPLACED: Unable to remove the file to be replaced. -

    ERROR_UNABLE_TO_REMOVE_REPLACED: Unable to remove the file to be replaced. - -Therefore, Windows Setup failed because it was not able to migrate the **C:\Users\user1\Cookies** folder. Searching the setupact.log file for additional details, the following text is found: +Therefore, Windows Setup failed because it was not able to migrate the **C:\Users\user1\Cookies** folder. Searching the setupact.log file for additional details, the following text is found confirming our suspicion that this file is the cause of the upgrade failure:

    setupact.log content: @@ -318,7 +315,7 @@ The setupact.log file also contains information detailing the configuration of f 49:12, Info MIG Known folder CSIDL_COOKIES: C:\Users\user1\Cookies, default location: No -This error can be resolved by configuring the folder to use its default location. +This analysis indicates that the Windows upgrade error can be resolved by configuring the C:\Users\user1\Cookies folder to use its default location. ## Common error codes From 455364fb837f2b707e421001e15ecdc30975f51e Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:49:21 -0700 Subject: [PATCH 30/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 04f7011a14..f5de3ed1aa 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -62,13 +62,14 @@ WIM = Windows image (Microsoft) The following steps can resolve many common Windows upgrade problems.

      -
    1. Attept to repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed.
    2. +
    3. Check all internal hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repairs is also the system drive. +

      chkdsk /F - -DISM.exe /Online /Cleanup-image /Restorehealth -sfc /scannow - +

    4. Attept to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. + +

      DISM.exe /Online /Cleanup-image /Restorehealth +
      sfc /scannow

    5. Update Windows so that all available recommended updates are installed.
    6. Uninstall non-Microsoft antivirus software. @@ -82,6 +83,8 @@ sfc /scannow
    7. Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
    + + ## Upgrade error codes If the upgrade process is not successful, Windows Setup will return two codes: From 3f79785fc700d7d7ce9e0f81e62754fa432e486f Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:51:56 -0700 Subject: [PATCH 31/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index f5de3ed1aa..e0a6e3b0b9 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -62,7 +62,7 @@ WIM = Windows image (Microsoft) The following steps can resolve many common Windows upgrade problems.
      -
    1. Check all internal hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repairs is also the system drive. +
    2. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repairs is also the system drive.

      chkdsk /F @@ -78,7 +78,7 @@ The following steps can resolve many common Windows upgrade problems.

    3. Verify compatibility information and re-install antivirus applications after the upgrade.
    4. Uninstall all nonessential software.
    5. -
    6. Remove nonessential external hardware.
    7. +
    8. Remove nonessential external hardware, such as docks and USB devices.
    9. Update firmware and drivers.
    10. Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
    From 698ce200f78c96ba25c82ebec421c99023137954 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:56:38 -0700 Subject: [PATCH 32/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index e0a6e3b0b9..a41f967b9a 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -81,6 +81,7 @@ The following steps can resolve many common Windows upgrade problems.
  • Remove nonessential external hardware, such as docks and USB devices.
  • Update firmware and drivers.
  • Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
  • +
  • Verify at least 16 GB of free space is available to upgrade a 32-bit OS, or 20 GB for a 64-bit OS. From f0f7079f4a882f6b5827201dbecb4aabf6d0ee05 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 17:59:33 -0700 Subject: [PATCH 33/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index a41f967b9a..7a5dfe460b 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -237,9 +237,9 @@ A setupact.log or setuperr.log entry includes the following elements: An example log entry is shown below: -
    -2016-09-08 09:23:50, Warning          MIG    Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
    -
    + +

    2016-09-08 09:23:50, Warning MIG Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. + ### Analyze log files From 0b4f2622cbfc72b327c146c4e6ce41e285fc40db Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 18:01:42 -0700 Subject: [PATCH 34/71] update --- windows/deploy/resolve-windows-10-upgrade-errors.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 7a5dfe460b..6245c90894 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -62,12 +62,12 @@ WIM = Windows image (Microsoft) The following steps can resolve many common Windows upgrade problems.

      -
    1. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repairs is also the system drive. - +
    2. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repaired is also the system drive. +

      chkdsk /F

    3. Attept to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. - +

      DISM.exe /Online /Cleanup-image /Restorehealth
      sfc /scannow From 7551d0acabd5552f8a478dc52378de5906f2a023 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 5 Oct 2016 18:07:36 -0700 Subject: [PATCH 35/71] update --- .../resolve-windows-10-upgrade-errors.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 6245c90894..fa2595faa2 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -63,14 +63,16 @@ The following steps can resolve many common Windows upgrade problems.

      1. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repaired is also the system drive. -
        -

        chkdsk /F - +

          +
        • chkdsk /F
        • +
        +
      2. Attept to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. -
        -

        DISM.exe /Online /Cleanup-image /Restorehealth -
        sfc /scannow - +

          +
        • DISM.exe /Online /Cleanup-image /Restorehealth
        • +
        • sfc /scannow
        • +
        +
      3. Update Windows so that all available recommended updates are installed.
      4. Uninstall non-Microsoft antivirus software.
          @@ -236,7 +238,7 @@ A setupact.log or setuperr.log entry includes the following elements:
        • The message - Operation completed successfully.
      -An example log entry is shown below: +See the following example:

      2016-09-08 09:23:50, Warning MIG Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. From 5efbc9a277a9529c4aa54ad46a8c6231d56b7297 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 6 Oct 2016 13:26:08 -0700 Subject: [PATCH 36/71] possible final draft --- .../resolve-windows-10-upgrade-errors.md | 141 +++++++++--------- 1 file changed, 71 insertions(+), 70 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index fa2595faa2..8606f45468 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -47,7 +47,7 @@ The Windows Setup application is used to upgrade a computer to Windows 10, or to 4. **Second boot phase**: Final settings are applied. This is also called the **OOBE boot phase**. - Example error: 0x4000D, 0x40017 5. **Uninstall phase**: This phase occurs if upgrade is unsuccessful. - - Example error: 0x50011, 0x50012 + - Example error: 0x50000 **Figure 1**: Phases of a successful Windows 10 upgrade (uninstall is not shown): @@ -198,11 +198,13 @@ Several log files are created during each phase of the upgrade process. These lo Log filePhase: LocationDescriptionWhen to use -setupact.logDown-Level:
      $Windows.~BT\Sources\PantherContains information about setup actions during the downlevel phase. All down-level failures and starting point for rollback investigations.
      This is the most important log for diagnosing setup issues. -OOBE:
      $Windows.~BT\Sources\PantherContains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F. -Rollback:
      $Windows.~BT\Sources\PantherContains information about actions during rollback.Investigating generic rollbacks - 0xC1900101. -Pre-initialization (prior to downlevel):
      $Windows.~BT\Sources\PantherContains information about initializing setup.If setup fails to launch. -Post-upgrade (after OOBE):
      $Windows.~BT\Sources\PantherContains information about setup actions during the installation.Investigate post-upgrade related issues. +setupact.logDown-Level:
      $Windows.~BT\Sources\PantherContains information about setup actions during the downlevel phase. +All down-level failures and starting point for rollback investigations.
      This is the most important log for diagnosing setup issues. +OOBE:
      $Windows.~BT\Sources\Panther\UnattendGC +Contains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F. +Rollback:
      $Windows.~BT\Sources\RollbackContains information about actions during rollback.Investigating generic rollbacks - 0xC1900101. +Pre-initialization (prior to downlevel):
      Windows\Contains information about initializing setup.If setup fails to launch. +Post-upgrade (after OOBE):
      Windows\PantherContains information about setup actions during the installation.Investigate post-upgrade related issues. setuperr.logSame as setupact.logContains information about setup errors during the installation.Review all errors encountered during the installation phase. @@ -272,56 +274,59 @@ To analyze Windows Setup log files:

    4. Search other log files for additional information matching these timestamps or errors.
    -For example, assume that searching for the result code "8007042B" reveals the following content from the setuperr.log file: +For example, assume that the error code for an error is 0x8007042B - 0x2000D. Searching for "8007042B" reveals the following content from the setuperr.log file: ->Some lines in the text below are shortened to enhance readability. The date and time at the start of each line (ex: 2016-09-08 09:20:05) is shortened to minutes and seconds. +>Some lines in the text below are shortened to enhance readability. The date and time at the start of each line (ex: 2016-10-05 15:27:08) is shortened to minutes and seconds, and the certificate file name which is a long text string is shortened to just "CN."

    setuperr.log content:

    -20:05, Error            SP     Error READ, 0x00000002 while gathering/applying object: 
    -23:33, Error            MIG    COnlineWinNTPlatform::AddPathToSearchIndexer - Failed to create CSearchManager instance, error: 0x80070422[gle=0x000003f0]
    -23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1\Cookies. Will return 0
    -23:50, Error            MIG    Error 1175 while applying object C:\Users\user1\Cookies. Shell application requested abort
    -23:50, Error [0x08097b] MIG    Abandoning apply due to error for object: C:\Users\user1\Cookies
    -23:51, Error                   Apply failed. Last error: 0x00000000
    -23:51, Error            SP     pSPDoOnlineApply: Apply operation failed. Error: 0x0000002C
    -23:52, Error            SP     Apply: Migration phase failed. Result: 44
    -23:52, Error            SP     Operation failed: OOBE boot apply. Error: 0x8007042B[gle=0x000000b7]
    -23:52, Error            SP     Operation execution failed: 13. hr = 0x8007042B[gle=0x000000b7]
    -23:52, Error            SP     Operation execution failed.[gle=0x000000b7]
    -23:52, Error            SP     CSetupPlatformPrivate::Execute: Failed to deserialize/execute pre-OOBEBoot operations. Error: 0x8007042B[gle=0x000000b7]
    +27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
    +27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
    +27:08, Error                  Gather failed. Last error: 0x00000000
    +27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
    +27:09, Error           SP     CMigrateFramework: Gather framework failed. Status: 44
    +27:09, Error           SP     Operation failed: Migrate framework (Full). Error: 0x8007042B[gle=0x000000b7]
    +27:09, Error           SP     Operation execution failed: 13. hr = 0x8007042B[gle=0x000000b7]
    +27:09, Error           SP     CSetupPlatformPrivate::Execute: Execution of operations queue failed, abandoning. Error: 0x8007042B[gle=0x000000b7]
     
    -The third line indicates there was an error **0x00000497** with the folder **C:\Users\user1\Cookies** (shown below): +The first line indicates there was an error **0x00000570** with the file **C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]** (shown below):
    -23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1\Cookies. Will return 0
    +27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
     
    -
    The error 0x00000497 is a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) corresponding to: ERROR_UNABLE_TO_REMOVE_REPLACED: Unable to remove the file to be replaced. +
    The error 0x00000570 is a [Win32 error code](https://msdn.microsoft.com/en-us/library/cc231199.aspx) corresponding to: ERROR_FILE_CORRUPT: The file or directory is corrupted and unreadable. -Therefore, Windows Setup failed because it was not able to migrate the **C:\Users\user1\Cookies** folder. Searching the setupact.log file for additional details, the following text is found confirming our suspicion that this file is the cause of the upgrade failure: +Therefore, Windows Setup failed because it was not able to migrate the corrupt file **C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN]**. This file is a local system certificate and can be safely deleted. Searching the setupact.log file for additional details, the phrase "Shell application requested abort" is found in a location with the same timestamp as the lines in setuperr.log. This confirms our suspicion that this file is the cause of the upgrade failure:

    setupact.log content:

    -23:50, Warning                 RECAPPLY: Error while moving \\?\C:\Windows.old\Users\user1\Cookies to \\?\C:\Users\user1\Cookies. Error: 0x000000B7
    -23:50, Info             MIG    Cannot apply recursively object: C:\Users\user1\Cookies:Win32Exception:Cannot create a file when that file already exists.
    -23:50, Warning          MIG    Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
    -23:50, Info             MIG    Error 1175 during apply of object C:\Users\user1\Cookies. Will ask shell application for resolution.
    -23:50, Error            SP     Error WRITE, 0x00000497 while gathering/applying object: File, C:\Users\user1b\Cookies. Will return 0
    -23:50, Error            MIG    Error 1175 while applying object C:\Users\user1\Cookies. Shell application requested abort
    -23:50, Error [0x08097b] MIG    Abandoning apply due to error for object: C:\Users\user1\Cookies
    +27:00, Info                   Gather started at 10/5/2016 23:27:00
    +27:00, Info [0x080489] MIG    Setting system object filter context (System)
    +27:00, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
    +27:00, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
    +27:00, Info            SP     ExecuteProgress: Elapsed events:1 of 4, Percent: 12
    +27:00, Info [0x0802c6] MIG    Processing GATHER for migration unit: \UpgradeFramework (CMXEAgent)
    +27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
    +27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
    +27:08, Info            SP     ExecuteProgress: Elapsed events:2 of 4, Percent: 25
    +27:08, Info            SP     ExecuteProgress: Elapsed events:3 of 4, Percent: 37
    +27:08, Info [0x080489] MIG    Setting system object filter context (System)
    +27:08, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
    +27:08, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
    +27:08, Info            MIG    COutOfProcPluginFactory::FreeSurrogateHost: Shutdown in progress.
    +27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost::CommandLine: -shortened-
    +27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost: Successfully launched host and got control object.
    +27:08, Error                  Gather failed. Last error: 0x00000000
    +27:08, Info                   Gather ended at 10/5/2016 23:27:08 with result 44
    +27:08, Info                   Leaving MigGather method
    +27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
     
    -The setupact.log file also contains information detailing the configuration of files and folders. By searching for "C:\Users\user1\Cookies" we are able to determine that this folder is not installed in the default location: - -
    -49:12, Info             MIG    Known folder CSIDL_COOKIES: C:\Users\user1\Cookies, default location: No
    -
    - -This analysis indicates that the Windows upgrade error can be resolved by configuring the C:\Users\user1\Cookies folder to use its default location. +This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. ## Common error codes @@ -333,7 +338,7 @@ A common result code is 0xC1900101. This result code can be thrown at any stage - Event logs: $Windows.~bt\Sources\Rollback\*.evtx - The device install log: $Windows.~bt\Sources\Rollback\setupapi\setupapi.dev.log -The device install log is particularly helpful if rollback occurs during the sysprep operation (extend code 0x30018). To resolve a rollback due to driver conflicts, run setup in the absence of drivers by performing a [clean boot](https://support.microsoft.com/en-us/kb/929135) before initiating the upgrade process. +The device install log is particularly helpful if rollback occurs during the sysprep operation (extend code 0x30018). To resolve a rollback due to driver conflicts, try running setup using a minimal set of drivers and startup programs by performing a [clean boot](https://support.microsoft.com/en-us/kb/929135) before initiating the upgrade process.

    See the following general troubleshooting procedures associated with a result code of 0xC1900101: @@ -375,7 +380,7 @@ The device install log is particularly helpful if rollback occurs during the sys

    Cause -
    Windows Setup encountered an unspecified error during the WinPE phase. +
    Windows Setup encountered an unspecified error during Wim apply in the WinPE phase.
    This is generally caused by out-of-date drivers.
    @@ -404,7 +409,7 @@ The device install log is particularly helpful if rollback occurs during the sys Cause A driver has caused an illegal operation.
    Windows was not able to migrate the driver, resulting in a rollback of the operating system. - +

    This is a safeOS boot failure, typically caused by drivers or non-Microsoft disk encryption software. @@ -482,6 +487,10 @@ Disconnect all peripheral devices that are connected to the system, except for t

    Cause
    A rollback occurred due to a driver configuration issue. +

    Installation failed during the second boot phase while attempting the MIGRATE_DATA operation. + +

    This can occur due to incompatible drivers. +

    @@ -489,8 +498,10 @@ Disconnect all peripheral devices that are connected to the system, except for t
    Mitigation -

    Review the rollback log and determine the stop code. -
    The rollback log is located in the **C:\$Windows.~BT\Sources\Panther** folder. Look for text similar to the following: +

    +

    Check supplemental rollback logs for a setupmem.dmp file, or event logs for any unexpected reboots or errors. +

    Review the rollback log and determine the stop code. +
    The rollback log is located in the **C:\$Windows.~BT\Sources\Panther** folder. An example analysis is shown below. This example is not representative of all cases:

    Info SP Crash 0x0000007E detected
    Info SP Module name :
    Info SP Bugcheck parameter 1 : 0xFFFFFFFFC0000005 @@ -628,7 +639,7 @@ Disable or uninstall non-Microsoft antivirus applications, disconnect all unnece

    The installation failed during the second boot phase while attempting the MIGRATE_DATA operation. -
    This issue can occur due to an application or driver incompatibility. +
    This issue can occur due to file system, application, or driver issues.
    @@ -639,9 +650,7 @@ The installation failed during the second boot phase while attempting the MIGRAT Mitigation -Perform a [clean boot](https://support.microsoft.com/en-us/kb/929135), and reattempt the upgrade. - -

    Ensure you select the option to "Download and install updates (recommended)." +[Analyze log files](#analyze-log-files) in order to determine the file, application, or driver that is not able to be migrated. Disconnect, update, remove, or replace the device or object. @@ -812,12 +821,13 @@ Download and run the media creation tool. See [Download windows 10](https://www. - - - + - - + + + - @@ -321,11 +320,6 @@ You’ll need this software to set Windows Hello for Business policies in your e - - - @@ -312,8 +311,6 @@ Table 1. Deployment requirements for Microsoft Passport
  • A management solution, such as Configuration Manager, Group Policy, or MDM
  • Active Directory Certificate Services (AD CS) without Network Device Enrollment Service (NDES)
  • - @@ -326,9 +323,6 @@ Table 1. Deployment requirements for Microsoft Passport
  • AD CS with NDES
  • Configuration Manager (current branch) or Configuration Manager 2016 Technical Preview for domain-joined certificate enrollment, or InTune for non-domain-joined devices, or a non-Microsoft MDM service that supports Passport for Work
  • -
    Error CodesCauseMitigation
    0x80070003- 0x20007This error occurs when there is problem with the Internet connection during the Windows 10 upgrade. +
    0x80070003- 0x20007 +This is a failure during SafeOS phase driver installation. -Repair network connectivity issues and reattempt the upgrade process. -
    Alternatively, create installation media for an offline upgrade using the [Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows10). Download the Windows 10 image using a computer that is connected to the Internet. +
    [Verify device drivers](https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](#analyze-log-files) to determine the problem driver.
    0x8007025D - 0x2000CThis error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. +
    0x8007025D - 0x2000C +This error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. Alternatively, re-create installation media the [Media Creation Tool](https://www.microsoft.com/en-us/software-download/windows10). @@ -827,12 +837,10 @@ Alternatively, re-create installation media the [Media Creation Tool](https://ww [Verify device drivers](https://msdn.microsoft.com/windows/hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](#analyze-log-files) to determine the problem driver.
    0xC1900101 - 0x2000BOne or more device drivers are blocking creating of the migration file list. - -Disconnect unnecessary devices and upgrade device drivers.
    0xC1900101 - 0x2000c -An unspecified error occurred during the WINPE Phase. This is due to an outdated driver. -Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.
    An unspecified error occurred in the SafeOS phase during WIM apply. This can be caused by an outdated driver or disk corruption. +Run checkdisk to repair the file system. For more information, see the [quick fixes](#quick-fixes) section in this guide. +

    Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.

    0xC1900200 - 0x20008 The computer doesn’t meet the minimum requirements to download or upgrade to Windows 10. @@ -840,26 +848,19 @@ Alternatively, re-create installation media the [Media Creation Tool](https://ww See [Windows 10 Specifications](https://www.microsoft.com/en-us/windows/windows-10-specifications) and verify the computer meets minimum requirements.
    Review logs for [compatibility information](https://blogs.technet.microsoft.com/askcore/2016/01/21/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues/).
    0x80070004 - 0x3000DA reserved name is used as the computer name. +
    0x80070004 - 0x3000D +This is a problem with data migration during the first boot phase. There are multiple possible causes. -Ensure that you do not use a [reserved name](https://support.microsoft.com/en-us/kb/3086101) as the computer name. System, Local, Self, and Network are reserved names that can’t be used as the computer name.
    0xC1900101 - 0x40001 -A device driver did not handle power state transition requests properly while shutting down, suspending or resuming from standby, or suspending or resuming from hibernation. - -Update, remove, or disable the following devices which frequently cause power state transition errors: -
    1. Internal WIFI Modems. -
    2. Externally connected USB devices such as webcams, printers, and USB hard drives.
    -
    Also, verify all devices are on the [Hardware Compatibility List](http://sysdev.microsoft.com/EN-US/HARDWARE/LPL/DEFAULT.ASPX) (HCL) and have WHQL signed and certified drivers. Analyze [log files](#log-files) if needed to determine the problem device or driver. -
    [Analyze log files](#analyze-log-files) to determine the issue.
    0xC1900101 - 0x4001E Installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation. This is a generic error that occurs during the OOBE phase of setup. See the [0xC1900101](#0xC1900101) section of this guide and review general troubleshooting procedures described in that section.
    0x80070005 - 0x4000D -The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This can be caused by an incompatible application or driver. -Perform a [clean boot](https://support.microsoft.com/en-us/kb/929135) and then attempt the upgrade.
    The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This error indicates that access was denied while attempting to migrate data. +[Analyze log files](#analyze-log-files) to determine the data point that is reporting access denied.
    0x80070004 - 0x50012 -The computer account for the system has an invalid name. -Ensure that the [computer name](https://technet.microsoft.com/en-us/library/cc749460.aspx) does not contain invalid characters, and is not a [reserved name](https://support.microsoft.com/en-us/kb/3086101).
    Windows Setup failed to open a file. +[Analyze log files](#analyze-log-files) to determine the data point that is reporting access problems.
    0xC190020e
    0x80070070 - 0x50011
    0x80070070 - 0x50012 From 9bec5ce0f64db09375141b2fe3b8b80a96947912 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 6 Oct 2016 13:37:10 -0700 Subject: [PATCH 37/71] possible final draft --- windows/deploy/resolve-windows-10-upgrade-errors.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 8606f45468..cb9f0941ba 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -33,6 +33,7 @@ The following topics and procedures are provided in this guide: - [Common error codes](#common-error-codes): Causes and mitigation procedures associated with some common error codes. - [0xC1900101](#0xC1900101): Information about the 0xC1900101 result code. - [0x800xxxxx](#0x800xxxxx): Information about result codes that start with 0x800. +- [Other result codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other result codess. - [Other error codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other error codes. ## The Windows 10 upgrade process From 130157b4345f361518a8cbcfd5ea95b91fde32e1 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 6 Oct 2016 13:43:16 -0700 Subject: [PATCH 38/71] possible final draft --- windows/deploy/resolve-windows-10-upgrade-errors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index cb9f0941ba..015eb26504 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -20,7 +20,7 @@ This topic provides a brief introduction to Windows 10 installation processes an ## In this topic -The following topics and procedures are provided in this guide: +The following sections and procedures are provided in this guide: - [The Windows 10 upgrade process](#the-windows-10-upgrade-process): An explanation of phases used during the upgrade process.
    - [Quick fixes](#quick-fixes): Steps you can take to eliminate common Windows upgrade errors.
    From 4519e353d82619803b6996d25b9cd6c1701e2ad3 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 6 Oct 2016 13:54:41 -0700 Subject: [PATCH 39/71] possible final draft --- windows/deploy/resolve-windows-10-upgrade-errors.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 015eb26504..82d34887b8 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -2,7 +2,7 @@ title: Resolve common Windows 10 upgrade errors description: Resolve common Windows 10 upgrade errors ms.assetid: DFEFE22C-4FEF-4FD9-BFC4-9B419C339502 -keywords: deploy, error, troubleshoot, windows, 10 +keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library @@ -33,7 +33,7 @@ The following sections and procedures are provided in this guide: - [Common error codes](#common-error-codes): Causes and mitigation procedures associated with some common error codes. - [0xC1900101](#0xC1900101): Information about the 0xC1900101 result code. - [0x800xxxxx](#0x800xxxxx): Information about result codes that start with 0x800. -- [Other result codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other result codess. +- [Other result codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other result codes. - [Other error codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other error codes. ## The Windows 10 upgrade process From 7c9ec566c93edfa267ce560572b1f4779cd5a2ce Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 6 Oct 2016 14:09:31 -0700 Subject: [PATCH 40/71] possible final draft --- windows/deploy/resolve-windows-10-upgrade-errors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 82d34887b8..c5cd96294b 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -116,7 +116,7 @@ For example: - 0x80070070 = Win32 = 0070 = 0x00000070 = ERROR_DISK_FULL - 0xC1900107 = NTSTATUS = 0107 = 0x00000107 = STATUS_SOME_NOT_MAPPED -Some result codes are self-explanatory, whereas others are more generic and require further analysis. In the examples shown above, ERROR_DISK_FULL indicates that the hard drive is full and additional room is needed to complete Windows upgrade. The message STATUS_SOME_NOT_MAPPED is more abiguous, and means that an action is pending. In this case, the action pending is often the cleanup operation from a previous installation attempt, which can be resolved with a system reboot. +Some result codes are self-explanatory, whereas others are more generic and require further analysis. In the examples shown above, ERROR_DISK_FULL indicates that the hard drive is full and additional room is needed to complete Windows upgrade. The message STATUS_SOME_NOT_MAPPED is more ambiguous, and means that an action is pending. In this case, the action pending is often the cleanup operation from a previous installation attempt, which can be resolved with a system reboot. ### Extend codes From 72f7ae44a1756a36fb7ddd8a64d64470dd0db5bf Mon Sep 17 00:00:00 2001 From: hafah Date: Thu, 6 Oct 2016 23:30:40 +0200 Subject: [PATCH 41/71] misspelled updates --- windows/whats-new/whats-new-windows-10-version-1607.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/whats-new-windows-10-version-1607.md b/windows/whats-new/whats-new-windows-10-version-1607.md index 7eb664abab..06d0618b0c 100644 --- a/windows/whats-new/whats-new-windows-10-version-1607.md +++ b/windows/whats-new/whats-new-windows-10-version-1607.md @@ -57,7 +57,7 @@ Windows 10, version 1607, provides administrators with increased control over up - Quality Updates can be deferred up to 30 days and paused for 35 days - Feature Updates can be deferred up to 180 days and paused for 60 days - Update deferrals can be applied to both Current Branch (CB) and Current Branch for Business (CBB) -- Drivers can be excluded from udpates +- Drivers can be excluded from updates ## Security From 98845657737d83897ef75affa779aafc66fa8fb3 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 7 Oct 2016 07:34:29 -0700 Subject: [PATCH 42/71] kick the tires --- windows/manage/lockdown-xml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/manage/lockdown-xml.md b/windows/manage/lockdown-xml.md index 282c9805d9..46fae92d3a 100644 --- a/windows/manage/lockdown-xml.md +++ b/windows/manage/lockdown-xml.md @@ -88,7 +88,7 @@ The following example is a complete lockdown XML file that disables Action Cente ![XML for Apps](images/AppsXML.png) -The Apps setting serves as an allow list and specifies the applications that will be available in the All apps list. Apps that are not included in this setting are hidden from the user and blocked from running. +The Apps setting serves as an allow list and specifies the applications that will be available in the All apps list. Apps that are not included in this setting are hidden from the user and blocked from running. test You provide the product ID for each app in your file. The product ID identifies an app package, and an app package can contain multiple apps, so you should also provide the App User Model ID (AUMID) to differentiate the app. Optionally, you can set an app to run automatically. [Get product ID and AUMID for apps in Windows 10 Mobile.](product-ids-in-windows-10-mobile.md) From 0ada90f06037ddb4ccb9596244ed1ea0e4e907f1 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 7 Oct 2016 07:35:06 -0700 Subject: [PATCH 43/71] reset --- windows/manage/lockdown-xml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/manage/lockdown-xml.md b/windows/manage/lockdown-xml.md index 46fae92d3a..282c9805d9 100644 --- a/windows/manage/lockdown-xml.md +++ b/windows/manage/lockdown-xml.md @@ -88,7 +88,7 @@ The following example is a complete lockdown XML file that disables Action Cente ![XML for Apps](images/AppsXML.png) -The Apps setting serves as an allow list and specifies the applications that will be available in the All apps list. Apps that are not included in this setting are hidden from the user and blocked from running. test +The Apps setting serves as an allow list and specifies the applications that will be available in the All apps list. Apps that are not included in this setting are hidden from the user and blocked from running. You provide the product ID for each app in your file. The product ID identifies an app package, and an app package can contain multiple apps, so you should also provide the App User Model ID (AUMID) to differentiate the app. Optionally, you can set an app to run automatically. [Get product ID and AUMID for apps in Windows 10 Mobile.](product-ids-in-windows-10-mobile.md) From aa19785662a734a3ed3f57f39deb59b92cd6ad12 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 7 Oct 2016 08:37:25 -0700 Subject: [PATCH 44/71] remove AD onprem for passport --- ...lement-microsoft-passport-in-your-organization.md | 12 ------------ windows/keep-secure/microsoft-passport-guide.md | 6 ------ 2 files changed, 18 deletions(-) diff --git a/windows/keep-secure/implement-microsoft-passport-in-your-organization.md b/windows/keep-secure/implement-microsoft-passport-in-your-organization.md index b9e72308cc..d56e60b02a 100644 --- a/windows/keep-secure/implement-microsoft-passport-in-your-organization.md +++ b/windows/keep-secure/implement-microsoft-passport-in-your-organization.md @@ -312,7 +312,6 @@ You’ll need this software to set Windows Hello for Business policies in your e
    Windows Hello for Business mode Azure ADActive Directory (AD) on-premises (available with production release of Windows Server 2016) Azure AD/AD hybrid (available with production release of Windows Server 2016)
    Key-based authentication Azure AD subscription
      -
    • Active Directory Federation Service (AD FS) (Windows Server 2016)
    • -
    • A few Windows Server 2016 domain controllers on-site
    • -
    • Microsoft System Center 2012 R2 Configuration Manager SP2
    • -
    • Azure AD subscription
    • [Azure AD Connect](https://go.microsoft.com/fwlink/p/?LinkId=616792)
    • A few Windows Server 2016 domain controllers on-site
    • @@ -341,12 +335,6 @@ You’ll need this software to set Windows Hello for Business policies in your e
    • PKI infrastructure
      -
    • ADFS (Windows Server 2016)
    • -
    • Active Directory Domain Services (AD DS) Windows Server 2016 schema
    • -
    • PKI infrastructure
    • -
    • Configuration Manager SP2, Intune, or non-Microsoft MDM solution
    • -
    • Azure AD subscription
    • [Azure AD Connect](https://go.microsoft.com/fwlink/p/?LinkId=616792)
    • AD CS with NDES
    • diff --git a/windows/keep-secure/microsoft-passport-guide.md b/windows/keep-secure/microsoft-passport-guide.md index d4bd6e4d33..d2737b9630 100644 --- a/windows/keep-secure/microsoft-passport-guide.md +++ b/windows/keep-secure/microsoft-passport-guide.md @@ -298,7 +298,6 @@ Table 1. Deployment requirements for Microsoft Passport
    Microsoft Passport method Azure AD Hybrid Active DirectoryOn-premises Active Directory only

    One or more Windows Server 2016 Technical Preview domain controllers

    -

    AD FS of Windows Server 2016 Technical Preview

    Certificate-based

    AD DS Windows Server 2016 Technical Preview schema


    -

    AD FS of Windows Server 2016 Technical Preview

    -

    PKI infrastructure
 System Center 2012 R2 Configuration Manager with SP2 or later

    From e3c5114e11412577036ab1921b22cc4ffca45bff Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 10:49:01 -0700 Subject: [PATCH 45/71] removed common --- .../resolve-windows-10-upgrade-errors.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index c5cd96294b..4c7ae20b03 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -1,6 +1,6 @@ --- -title: Resolve common Windows 10 upgrade errors -description: Resolve common Windows 10 upgrade errors +title: Resolve Windows 10 upgrade errors +description: Resolve Windows 10 upgrade errors ms.assetid: DFEFE22C-4FEF-4FD9-BFC4-9B419C339502 keywords: deploy, error, troubleshoot, windows, 10, upgrade, code, rollback ms.prod: w10 @@ -11,30 +11,30 @@ author: greg-lindsay localizationpriority: high --- -# Resolve common Windows 10 upgrade errors +# Resolve Windows 10 upgrade errors **Applies to** - Windows 10 -This topic provides a brief introduction to Windows 10 installation processes and provides resolution procedures you can use to resolve common problems. +This topic provides a brief introduction to Windows 10 installation processes and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. ## In this topic The following sections and procedures are provided in this guide: - [The Windows 10 upgrade process](#the-windows-10-upgrade-process): An explanation of phases used during the upgrade process.
    -- [Quick fixes](#quick-fixes): Steps you can take to eliminate common Windows upgrade errors.
    +- [Quick fixes](#quick-fixes): Steps you can take to eliminate many Windows upgrade errors.
    - [Upgrade error codes](#upgrade-error-codes): The composition of an error code is explained. - [Result codes](#result-codes): Information about result codes. - [Extend codes](#extend-codes): Information about extend codes. - [Log files](#log-files): A list and description of log files useful for troubleshooting. - [Log entry structure](#log-entry-structure): The format of a log entry is described. - [Analyze log files](#analyze-log-files): General procedures for log file analysis, and an example. -- [Common error codes](#common-error-codes): Causes and mitigation procedures associated with some common error codes. +- [Resolution procedures](#resolution-procedures): Causes and mitigation procedures associated with specific error codes. - [0xC1900101](#0xC1900101): Information about the 0xC1900101 result code. - [0x800xxxxx](#0x800xxxxx): Information about result codes that start with 0x800. -- [Other result codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other result codes. -- [Other error codes](#less-common-error-codes): Some causes and mitigation procedures are provided for other error codes. + - [Other result codes](#other-result-codes): Additional causes and mitigation procedures are provided for some result codes. + - [Other error codes](#other-error-codes): Additional causes and mitigation procedures are provided for some error codes. ## The Windows 10 upgrade process @@ -60,7 +60,7 @@ WIM = Windows image (Microsoft) ## Quick fixes -The following steps can resolve many common Windows upgrade problems. +The following steps can resolve many Windows upgrade problems.

    1. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repaired is also the system drive. @@ -102,7 +102,7 @@ Note: If only a result code is returned, this can be because a tool is being use ### Result codes ->A result code of **0xC1900101** is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
      To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the [Common error codes](#common-error-codes) section later in this topic. +>A result code of **0xC1900101** is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
      To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the [Other error codes](#other-error-codes) section later in this topic. Result codes can be matched to the type of error encountered. To match a result code to an error: @@ -329,11 +329,11 @@ Therefore, Windows Setup failed because it was not able to migrate the corrupt f This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. -## Common error codes +## Resolution procedures ### 0xC1900101 -A common result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the Downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
      +A frequently observed result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
      - The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp, - Event logs: $Windows.~bt\Sources\Rollback\*.evtx @@ -557,7 +557,7 @@ For more information, see [How to perform a clean boot in Windows](https://suppo ### 0x800xxxxx -Result codes starting with the digits 0x800 are also relatively common. These error codes indicate general operating system errors, and are not unique to the Windows upgrade process. Examples include timeouts, devices not functioning, and a process stopping unexpectedly. +Result codes starting with the digits 0x800 are also important to understand. These error codes indicate general operating system errors, and are not unique to the Windows upgrade process. Examples include timeouts, devices not functioning, and a process stopping unexpectedly.

      See the following general troubleshooting procedures associated with a result code of 0x800xxxxx: @@ -722,7 +722,7 @@ This error has more than one possible cause. Attempt [quick fixes](#quick-fixes) -## Other result codes +### Other result codes @@ -817,7 +817,7 @@ Download and run the media creation tool. See [Download windows 10](https://www.
      -## Other error codes +### Other error codes From 35dc35c95ed010230342883fe1fd8d0ad07f8124 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 10:50:48 -0700 Subject: [PATCH 46/71] minor tweaks --- windows/deploy/resolve-windows-10-upgrade-errors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 4c7ae20b03..024ce62a66 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -16,7 +16,7 @@ localizationpriority: high **Applies to** - Windows 10 -This topic provides a brief introduction to Windows 10 installation processes and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. +This topic provides a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. ## In this topic From fdf7293ccbe1c6c961a66f137537b45faae9ee10 Mon Sep 17 00:00:00 2001 From: Justinha Date: Fri, 7 Oct 2016 10:59:47 -0700 Subject: [PATCH 47/71] copyedits --- windows/deploy/upgrade-analytics-get-started.md | 2 +- windows/deploy/upgrade-analytics-review-site-discovery.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deploy/upgrade-analytics-get-started.md b/windows/deploy/upgrade-analytics-get-started.md index 070a9e137c..8307a9bfbf 100644 --- a/windows/deploy/upgrade-analytics-get-started.md +++ b/windows/deploy/upgrade-analytics-get-started.md @@ -101,7 +101,7 @@ IMPORTANT: Restart user computers after you install the compatibility update KBs | **Site discovery** | **KB** | |----------------------|-----------------------------------------------------------------------------| -| [Review site discovery](upgrade-analytics-review-site-discovery.md) | [KB 3170106](https://support.microsoft.com/en-us/kb/3170106)
      Site discovery requires July 2016 security update for Internet Explorer. | +| [Review site discovery](upgrade-analytics-review-site-discovery.md) | Site discovery requires the [July 2016 security update for Internet Explorer](https://support.microsoft.com/en-us/kb/3170106) (KB3170106) or later. | ### Automate data collection diff --git a/windows/deploy/upgrade-analytics-review-site-discovery.md b/windows/deploy/upgrade-analytics-review-site-discovery.md index 33b5bdac0e..f236d85945 100644 --- a/windows/deploy/upgrade-analytics-review-site-discovery.md +++ b/windows/deploy/upgrade-analytics-review-site-discovery.md @@ -15,7 +15,7 @@ This section of the Upgrade Analytics workflow provides an inventory of web site Ensure the following prerequisites are met before using site discovery: -1. Install the latest Internet Explorer 11 Cumulative Update. This update provides the capability for site discovery and is available in the [July 2016 cumulative update (KB3170106)](https://support.microsoft.com/kb/3170106) and later. +1. Install the latest Internet Explorer 11 Cumulative Update. This update provides the capability for site discovery and is available in the [July 2016 cumulative update](https://support.microsoft.com/kb/3170106) and later. 2. Install the update for customer experience and diagnostic telemetery ([KB3080149](https://support.microsoft.com/kb/3080149)). 3. Enable Internet Explorer data collection, which is disabled by default. The best way to enable it is to modify the [Upgrade Analytics deployment script](upgrade-analytics-get-started.md#run-the-upgrade-analytics-deployment-script) to allow Internet Explorer data collection before you run it. From 23f32636a5609f88e71adaee579c22bb0bbc7755 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 11:07:58 -0700 Subject: [PATCH 48/71] tweaks --- windows/deploy/resolve-windows-10-upgrade-errors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 024ce62a66..67be1740c5 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -204,7 +204,7 @@ Several log files are created during each phase of the upgrade process. These lo
      OOBE:
      $Windows.~BT\Sources\Panther\UnattendGC
      Contains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F.
      Rollback:
      $Windows.~BT\Sources\Rollback
      Contains information about actions during rollback.Investigating generic rollbacks - 0xC1900101. -
      Pre-initialization (prior to downlevel):
      Windows\
      Contains information about initializing setup.If setup fails to launch. +
      Pre-initialization (prior to downlevel):
      Windows
      Contains information about initializing setup.If setup fails to launch.
      Post-upgrade (after OOBE):
      Windows\Panther
      Contains information about setup actions during the installation.Investigate post-upgrade related issues.
      setuperr.logSame as setupact.logContains information about setup errors during the installation.Review all errors encountered during the installation phase. From 6feb218cf70cbdcfc7d3ef18738ba189c70e9348 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 11:40:59 -0700 Subject: [PATCH 49/71] disclaimer --- windows/deploy/resolve-windows-10-upgrade-errors.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 67be1740c5..70c798f66a 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -68,7 +68,7 @@ The following steps can resolve many Windows upgrade problems.
    2. chkdsk /F
    3. -
    4. Attept to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. +
    5. Attept to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. For more information, see [Repair a Windows Image](https://msdn.microsoft.com/windows/hardware/commercialize/manufacture/desktop/repair-a-windows-image).
      • DISM.exe /Online /Cleanup-image /Restorehealth
      • sfc /scannow
      • @@ -120,6 +120,8 @@ Some result codes are self-explanatory, whereas others are more generic and requ ### Extend codes +>Important: Extend codes reflect the current Windows 10 upgrade process, and might change in future releases of Windows 10. The codes discussed in this section apply to Windows 10 version 1607, also known as the Anniversary Update. + Extend codes can be matched to the phase and operation when an error occurred. To match an extend code to the phase and operation: 1. Use the first digit to identify the phase (ex: 0x4000D = 4). @@ -243,8 +245,9 @@ A setupact.log or setuperr.log entry includes the following elements: See the following example: -

        2016-09-08 09:23:50, Warning MIG Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. - +

        + +
        2016-09-08 09:23:50WarningMIGCould not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
        ### Analyze log files From 4c389a59ca40cffb331b9fe88500de53e071094e Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 11:49:49 -0700 Subject: [PATCH 50/71] tweak --- windows/deploy/resolve-windows-10-upgrade-errors.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 70c798f66a..17d873b6b8 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -245,7 +245,7 @@ A setupact.log or setuperr.log entry includes the following elements: See the following example: -

        +

        2016-09-08 09:23:50WarningMIGCould not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
        @@ -886,3 +886,4 @@ Alternatively, re-create installation media the [Media Creation Tool](https://ww
        [Windows 10 Enterprise system requirements](https://technet.microsoft.com/en-us/windows/dn798752.aspx)
        [Windows 10 Specifications](https://www.microsoft.com/en-us/windows/Windows-10-specifications)
        [Windows 10 IT pro forums](https://social.technet.microsoft.com/Forums/en-US/home?category=Windows10ITPro) +
        [Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) From f71cba8096e1c097dfe204f3e96947ed2d89daf0 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 11:56:46 -0700 Subject: [PATCH 51/71] tweak --- windows/deploy/resolve-windows-10-upgrade-errors.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 17d873b6b8..265d78e0fa 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -24,7 +24,7 @@ The following sections and procedures are provided in this guide: - [The Windows 10 upgrade process](#the-windows-10-upgrade-process): An explanation of phases used during the upgrade process.
        - [Quick fixes](#quick-fixes): Steps you can take to eliminate many Windows upgrade errors.
        -- [Upgrade error codes](#upgrade-error-codes): The composition of an error code is explained. +- [Upgrade error codes](#upgrade-error-codes): The components of an error code are explained. - [Result codes](#result-codes): Information about result codes. - [Extend codes](#extend-codes): Information about extend codes. - [Log files](#log-files): A list and description of log files useful for troubleshooting. @@ -246,7 +246,10 @@ A setupact.log or setuperr.log entry includes the following elements: See the following example:

        - + + + +
        2016-09-08 09:23:50WarningMIGCould not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
        2016-09-08 09:23:50WarningMIGCould not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
        ### Analyze log files From 2b8ad8accf38b149798d1d6ab95aaf12cd598306 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 12:16:35 -0700 Subject: [PATCH 52/71] I hate this publishing system --- windows/deploy/resolve-windows-10-upgrade-errors.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 265d78e0fa..805430103a 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -252,6 +252,9 @@ See the following example:

    6. Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
      + + + ### Analyze log files To analyze Windows Setup log files: From 0882c9174848d715a61d6f0ed61f1adcdfea6b13 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 12:35:46 -0700 Subject: [PATCH 53/71] fix vso-9026075a --- windows/deploy/resolve-windows-10-upgrade-errors.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 805430103a..b2b777b702 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -253,11 +253,10 @@ See the following example: - - ### Analyze log files -To analyze Windows Setup log files: + +

      To analyze Windows Setup log files:

      1. Determine the Windows Setup error code. From 6c33e4296d4f6e2d00e43d1c5e85aedfa8c4e2eb Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 12:37:39 -0700 Subject: [PATCH 54/71] fix vso-9026075a --- windows/deploy/resolve-windows-10-upgrade-errors.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 805430103a..b2b777b702 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -253,11 +253,10 @@ See the following example: - - ### Analyze log files -To analyze Windows Setup log files: + +

        To analyze Windows Setup log files:

        1. Determine the Windows Setup error code. From 11baa12effacc6eef40d8458b2a00100303b5b45 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 12:47:40 -0700 Subject: [PATCH 55/71] index, toc, change history --- windows/deploy/TOC.md | 1 + windows/deploy/change-history-for-deploy-windows-10.md | 5 +++++ windows/deploy/index.md | 1 + 3 files changed, 7 insertions(+) diff --git a/windows/deploy/TOC.md b/windows/deploy/TOC.md index 893c06b098..4fed1981ec 100644 --- a/windows/deploy/TOC.md +++ b/windows/deploy/TOC.md @@ -45,6 +45,7 @@ ### [Replace a Windows 7 SP1 client with Windows 10 using Configuration Manager](replace-a-windows-7-client-with-windows-10-using-configuration-manager.md) ## [Upgrade to Windows 10 with the Microsoft Deployment Toolkit](upgrade-to-windows-10-with-the-microsoft-deployment-toolkit.md) ## [Upgrade to Windows 10 with System Center Configuration Manager](upgrade-to-windows-10-with-system-center-configuraton-manager.md) +## [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) ## [Configure a PXE server to load Windows PE](configure-a-pxe-server-to-load-windows-pe.md) ## [Windows 10 upgrade paths](windows-10-upgrade-paths.md) ## [Windows 10 edition upgrade](windows-10-edition-upgrades.md) diff --git a/windows/deploy/change-history-for-deploy-windows-10.md b/windows/deploy/change-history-for-deploy-windows-10.md index d09519574f..d5ebe4beb3 100644 --- a/windows/deploy/change-history-for-deploy-windows-10.md +++ b/windows/deploy/change-history-for-deploy-windows-10.md @@ -29,6 +29,11 @@ The topics in this library have been updated for Windows 10, version 1607 (also ======= +## October 2016 +| New or changed topic | Description | +|----------------------|-------------| +| [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) | New | + ## August 2016 | New or changed topic | Description | |----------------------|-------------| diff --git a/windows/deploy/index.md b/windows/deploy/index.md index 504b8b4dc8..38c64b3abc 100644 --- a/windows/deploy/index.md +++ b/windows/deploy/index.md @@ -21,6 +21,7 @@ Learn about deploying Windows 10 for IT professionals. |[Deploy Windows 10 with System Center 2012 R2 Configuration Manager](deploy-windows-10-with-system-center-2012-r2-configuration-manager.md) |If you have Microsoft System Center 2012 R2 Configuration Manager in your environment, you will most likely want to use it to deploy Windows 10. This topic will show you how to set up Configuration Manager for operating system deployment and how to integrate Configuration Manager with the Microsoft Deployment Toolkit (MDT) or, more specifically, MDT 2013 Update 2. | |[Upgrade to Windows 10 with the Microsoft Deployment Toolkit](upgrade-to-windows-10-with-the-microsoft-deployment-toolkit.md) |The simplest path to upgrade PCs that are currently running Windows 7, Windows 8, or Windows 8.1 to Windows 10 is through an in-place upgrade. You can use a Microsoft Deployment Toolkit (MDT) 2013 Update 2 task sequence to completely automate the process. | |[Upgrade to Windows 10 with System Center Configuration Manager](upgrade-to-windows-10-with-system-center-configuraton-manager.md) |The simplest path to upgrade PCs currently running Windows 7, Windows 8, or Windows 8.1 to Windows 10 is through an in-place upgrade. You can use a System Center Configuration Manager task sequence to completely automate the process. | +|[Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) |This topic provides a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. | |[Configure a PXE server to load Windows PE](configure-a-pxe-server-to-load-windows-pe.md) |This guide describes how to configure a PXE server to load Windows PE by booting a client computer from the network. | |[Windows 10 edition upgrade](windows-10-edition-upgrades.md) |With Windows 10, you can quickly upgrade from one edition of Windows 10 to another, provided the upgrade path is supported. | | [Provision PCs with common settings for initial deployment](provision-pcs-for-initial-deployment.md) | Create a provisioning package to apply commonly used settings to a PC running Windows 10. | From e48881041e31281f909121dd07269d4a15221199 Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 7 Oct 2016 12:50:11 -0700 Subject: [PATCH 56/71] add silicon support note --- windows/manage/waas-overview.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/manage/waas-overview.md b/windows/manage/waas-overview.md index 22c34f8e05..9858e3953e 100644 --- a/windows/manage/waas-overview.md +++ b/windows/manage/waas-overview.md @@ -81,7 +81,7 @@ To align with the new method of delivering feature updates and quality updates i The concept of servicing branches is new, but organizations can use the same management tools they used to manage updates and upgrades in previous versions of Windows. For more information about the servicing tool options for Windows 10 and their capabilities, see [Servicing tools](#servicing-tools). >[!NOTE] ->Servicing branches are not the only way to separate groups of machines when consuming updates. Each branch can contain subsets of devices, which staggers servicing even further. For information about the servicing strategy and ongoing deployment process for Windows 10, including the role of servicing branches, see [Plan servicing strategy for Windows 10 updates](waas-servicing-strategy-windows-10-updates.md). +>Servicing branches are not the only way to separate groups of devices when consuming updates. Each branch can contain subsets of devices, which staggers servicing even further. For information about the servicing strategy and ongoing deployment process for Windows 10, including the role of servicing branches, see [Plan servicing strategy for Windows 10 updates](waas-servicing-strategy-windows-10-updates.md). ### Current Branch @@ -110,6 +110,9 @@ Specialized systems—such as PCs that control medical equipment, point-of-sale Microsoft never publishes feature updates through Windows Update on devices that run Windows 10 Enterprise LTSB. Instead, it typically offers new LTSB releases every 2–3 years, and organizations can choose to install them as in-place upgrades or even skip releases over a 10-year life cycle. +>[!NOTE] +>Windows 10 Long Term Servicing Branches, also known as LTSBs, will support the currently released silicon at the time of release of the LTSB. As future silicon generations are released, support will be created through future Windows 10 LTSB releases that customers can deploy for those systems. For more information, see **Supporting the latest processor and chipsets on Windows** in [Lifecycle support policy FAQ - Windows Products](https://support.microsoft.com/help/18581/lifecycle-support-policy-faq-windows-products). + LTSB is available only in the Windows 10 Enterprise LTSB edition. This build of Windows doesn’t contain many in-box applications, such as Microsoft Edge, Windows Store client, Cortana (limited search capabilities remain available), Microsoft Mail, Calendar, OneNote, Weather, News, Sports, Money, Photos, Camera, Music, and Clock. Therefore, it’s important to remember that Microsoft has positioned the LTSB model primarily for specialized devices. >[!NOTE] From a5520ae4c422a1bd43ee0bab0b70d350f3ef0e71 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 12:50:58 -0700 Subject: [PATCH 57/71] analyze log files section problem --- windows/deploy/resolve-windows-10-upgrade-errors.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index b2b777b702..0abeb94d30 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -252,10 +252,8 @@ See the following example: Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. - ### Analyze log files -

          To analyze Windows Setup log files:

            From 793dfe116617ac497ce85eb37f040019c09b8b72 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 13:13:47 -0700 Subject: [PATCH 58/71] analyze log files section problem --- windows/deploy/resolve-windows-10-upgrade-errors.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 0abeb94d30..3cae9c19eb 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -250,10 +250,21 @@ See the following example: Warning MIG Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. - +
            ### Analyze log files + + + + + + + + + + +

            To analyze Windows Setup log files:

              From bd5aaa369f6302d7d526c35b3d4d5825877f86be Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 13:24:51 -0700 Subject: [PATCH 59/71] publishing bug --- windows/deploy/resolve-windows-10-upgrade-errors.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 3cae9c19eb..ddc95c5a9c 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -346,10 +346,22 @@ Therefore, Windows Setup failed because it was not able to migrate the corrupt f This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. + + + + ## Resolution procedures + + + + ### 0xC1900101 + + + + A frequently observed result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
              - The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp, From f0b553791102ca0184e93a739ced948d24ddcfba Mon Sep 17 00:00:00 2001 From: jdeckerMS Date: Fri, 7 Oct 2016 13:29:56 -0700 Subject: [PATCH 60/71] change wording --- windows/manage/waas-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/manage/waas-overview.md b/windows/manage/waas-overview.md index 9858e3953e..03729bd0a4 100644 --- a/windows/manage/waas-overview.md +++ b/windows/manage/waas-overview.md @@ -111,7 +111,7 @@ Specialized systems—such as PCs that control medical equipment, point-of-sale Microsoft never publishes feature updates through Windows Update on devices that run Windows 10 Enterprise LTSB. Instead, it typically offers new LTSB releases every 2–3 years, and organizations can choose to install them as in-place upgrades or even skip releases over a 10-year life cycle. >[!NOTE] ->Windows 10 Long Term Servicing Branches, also known as LTSBs, will support the currently released silicon at the time of release of the LTSB. As future silicon generations are released, support will be created through future Windows 10 LTSB releases that customers can deploy for those systems. For more information, see **Supporting the latest processor and chipsets on Windows** in [Lifecycle support policy FAQ - Windows Products](https://support.microsoft.com/help/18581/lifecycle-support-policy-faq-windows-products). +>Windows 10 LTSB will support the currently released silicon at the time of release of the LTSB. As future silicon generations are released, support will be created through future Windows 10 LTSB releases that customers can deploy for those systems. For more information, see **Supporting the latest processor and chipsets on Windows** in [Lifecycle support policy FAQ - Windows Products](https://support.microsoft.com/help/18581/lifecycle-support-policy-faq-windows-products). LTSB is available only in the Windows 10 Enterprise LTSB edition. This build of Windows doesn’t contain many in-box applications, such as Microsoft Edge, Windows Store client, Cortana (limited search capabilities remain available), Microsoft Mail, Calendar, OneNote, Weather, News, Sports, Money, Photos, Camera, Music, and Clock. Therefore, it’s important to remember that Microsoft has positioned the LTSB model primarily for specialized devices. From fc6a8c238cff4fde43de374100e3220b0ec36968 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 13:30:11 -0700 Subject: [PATCH 61/71] publishing bug --- .../resolve-windows-10-upgrade-errors.md | 25 +++---------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index ddc95c5a9c..bf0d615201 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -224,7 +224,7 @@ Event logs (*.evtx) $Windows.~BT\Sources\RollbackAdditional logs collected during rollback. Setupmem.dmp: If OS bugchecks during upgrade, setup will attempt to extract a mini-dump.
              -Setupapi: Device install issues – 0x30018
              +Setupapi: Device install issues - 0x30018
              Event logs: Generic rollbacks (0xC1900101) or unexpected reboots. @@ -250,21 +250,11 @@ See the following example: Warning MIG Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. -
              + ### Analyze log files - - - - - - - - - -

              To analyze Windows Setup log files:

                @@ -344,24 +334,15 @@ Therefore, Windows Setup failed because it was not able to migrate the corrupt f 27:08, Error SP SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C -This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. - - - +

                This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. ## Resolution procedures - - - ### 0xC1900101 - - - A frequently observed result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
                - The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp, From 9a1a1a1e2dd8281c7ab48829247b79a8b98d7bc1 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 13:42:55 -0700 Subject: [PATCH 62/71] another fix attempt --- windows/deploy/resolve-windows-10-upgrade-errors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index bf0d615201..ac5d5cb4c9 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -246,7 +246,7 @@ A setupact.log or setuperr.log entry includes the following elements: See the following example:

                - + From a63f738895a31e4c692d659fd8563bd4aeb9df0a Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 14:36:33 -0700 Subject: [PATCH 63/71] trying another fix --- windows/deploy/resolve-windows-10-upgrade-errors.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index ac5d5cb4c9..a4cfb8cebe 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -245,16 +245,10 @@ A setupact.log or setuperr.log entry includes the following elements: See the following example: -

                2016-09-08 09:23:50
                2016-09-08 09:23:50 Warning MIG Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
                - - - - -
                2016-09-08 09:23:50WarningMIGCould not replace object C:\Users\user1\Cookies. Target Object cannot be removed.
                +2016-09-08 09:23:50 | Warning | MIG | Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. ### Analyze log files -

                To analyze Windows Setup log files:

                  @@ -336,13 +330,10 @@ Therefore, Windows Setup failed because it was not able to migrate the corrupt f

                  This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f. - ## Resolution procedures - ### 0xC1900101 - A frequently observed result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:
                  - The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp, From 7e4d4a2ff4ba1e339fa231563686eeebd957f808 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 14:56:37 -0700 Subject: [PATCH 64/71] trying another fix --- windows/deploy/resolve-windows-10-upgrade-errors.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index a4cfb8cebe..39bb4cd654 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -245,7 +245,9 @@ A setupact.log or setuperr.log entry includes the following elements: See the following example: -2016-09-08 09:23:50 | Warning | MIG | Could not replace object C:\Users\user1\Cookies. Target Object cannot be removed. +``` +2016-09-08 09:23:50, Warning MIG Could not replace object C:\Users\name\Cookies. Target Object cannot be removed. +``` ### Analyze log files From 3ab37ee60dc10291931ffae45247d5553707177f Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Fri, 7 Oct 2016 15:38:57 -0700 Subject: [PATCH 65/71] trying another fix --- windows/deploy/resolve-windows-10-upgrade-errors.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 39bb4cd654..9fa10e9da9 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -245,9 +245,10 @@ A setupact.log or setuperr.log entry includes the following elements: See the following example: -``` -2016-09-08 09:23:50, Warning MIG Could not replace object C:\Users\name\Cookies. Target Object cannot be removed. -``` +| Date/Time | Log level | Component | Message | +|------|------------|------------|------------| +|2016-09-08 09:23:50,| Warning | MIG | Could not replace object C:\Users\name\Cookies. Target Object cannot be removed.| + ### Analyze log files From 9d26981cdf3bd63439305873dce20455e554bc0f Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 10 Oct 2016 09:39:20 -0700 Subject: [PATCH 66/71] added link to the Windows Restricted Traffic Limited Functionality Baseline --- .../change-history-for-manage-and-update-windows-10.md | 6 ++++++ ...ows-operating-system-components-to-microsoft-services.md | 2 ++ 2 files changed, 8 insertions(+) diff --git a/windows/manage/change-history-for-manage-and-update-windows-10.md b/windows/manage/change-history-for-manage-and-update-windows-10.md index cb46f438f0..033f598b89 100644 --- a/windows/manage/change-history-for-manage-and-update-windows-10.md +++ b/windows/manage/change-history-for-manage-and-update-windows-10.md @@ -12,6 +12,12 @@ author: jdeckerMS This topic lists new and updated topics in the [Manage and update Windows 10](index.md) documentation for [Windows 10 and Windows 10 Mobile](../index.md). +## October 2016 + +| New or changed topic | Description | +| --- | --- | +| [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) | Added link to the Windows Restricted Traffic Limited Functionality Baseline. | + ## September 2016 | New or changed topic | Description | diff --git a/windows/manage/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/manage/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index 42d9d21bc2..e992a6f40f 100644 --- a/windows/manage/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/manage/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -1353,3 +1353,5 @@ You can turn off automatic updates by doing one of the following. This is not re - **5**. Turn off automatic updates. To learn more, see [Device update management](http://msdn.microsoft.com/library/windows/hardware/dn957432.aspx) and [Configure Automatic Updates by using Group Policy](http://technet.microsoft.com/library/cc720539.aspx). + +To help make it easier to deploy settings to restrict connections from Windows 10 to Microsoft, you can apply the [Windows Restricted Traffic Limited Functionality Baseline](https://go.microsoft.com/fwlink/?linkid=828887). This baseline was created in the same way as the [Windows security baselines](../keep-secure/windows-security-baselines.md) that are often used to efficiently configure Windows to a known secure state. Running the Windows Restricted Traffic Limited Functionality Baseline on devices in your organization will allow you to quickly configure all of the settings covered in this document. However, some of the settings reduce the functionality and security configuration of your device and are therefore not recommended. Make sure should you've chosen the right settings configuration for your environment before applying. \ No newline at end of file From 8f571c62e972a214b6764e74d5318f8c142dfbc2 Mon Sep 17 00:00:00 2001 From: LizRoss Date: Mon, 10 Oct 2016 12:08:13 -0700 Subject: [PATCH 67/71] Updated with important note about cortana and office 365 --- windows/manage/manage-cortana-in-enterprise.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/windows/manage/manage-cortana-in-enterprise.md b/windows/manage/manage-cortana-in-enterprise.md index ff1aec9da2..c3f51a6190 100644 --- a/windows/manage/manage-cortana-in-enterprise.md +++ b/windows/manage/manage-cortana-in-enterprise.md @@ -15,7 +15,8 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile ->Learn more about what features and functionality are supported in each Windows edition at [Compare Windows 10 Editions](https://www.microsoft.com/en-us/WindowsForBusiness/Compare). +> [!NOTE] +> Learn more about what features and functionality are supported in each Windows edition at [Compare Windows 10 Editions](https://www.microsoft.com/en-us/WindowsForBusiness/Compare). The world’s first personal digital assistant helps users get things done, even at work. Cortana includes powerful configuration options specifically to optimize for unique small to medium-sized business and enterprise environments. @@ -24,6 +25,10 @@ Cortana in Windows 10 is already great at letting your employees quickly see wh But Cortana works even harder when she connects to Office 365, helping employees prepare for meetings, learn about co-workers, and receive reminders about where they need to be so they won’t be late. +> [!IMPORTANT] +> Before your employees can use Cortana with Office 365, they must sign into Cortana using a Microsoft account (such as, @outlook.com), and then they must go to the **Connected Accounts** section of Cortana’s notebook to turn on and connect to Office 365. + + **More info:** - For specific info about what you need to know as a company administrator, including how to turn off Cortana with Office 365, see the [Cortana integration with Office 365](https://go.microsoft.com/fwlink/p/?LinkId=717378) support topic. From 77afada52089ef4c9ef67ca632974e7768f8da79 Mon Sep 17 00:00:00 2001 From: LizRoss Date: Mon, 10 Oct 2016 12:18:04 -0700 Subject: [PATCH 68/71] Fixing formatting --- windows/manage/manage-cortana-in-enterprise.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/windows/manage/manage-cortana-in-enterprise.md b/windows/manage/manage-cortana-in-enterprise.md index c3f51a6190..5fb13a4fac 100644 --- a/windows/manage/manage-cortana-in-enterprise.md +++ b/windows/manage/manage-cortana-in-enterprise.md @@ -15,8 +15,7 @@ localizationpriority: high - Windows 10 - Windows 10 Mobile -> [!NOTE] -> Learn more about what features and functionality are supported in each Windows edition at [Compare Windows 10 Editions](https://www.microsoft.com/en-us/WindowsForBusiness/Compare). +>Learn more about what features and functionality are supported in each Windows edition at [Compare Windows 10 Editions](https://www.microsoft.com/en-us/WindowsForBusiness/Compare). The world’s first personal digital assistant helps users get things done, even at work. Cortana includes powerful configuration options specifically to optimize for unique small to medium-sized business and enterprise environments. @@ -25,8 +24,8 @@ Cortana in Windows 10 is already great at letting your employees quickly see wh But Cortana works even harder when she connects to Office 365, helping employees prepare for meetings, learn about co-workers, and receive reminders about where they need to be so they won’t be late. -> [!IMPORTANT] -> Before your employees can use Cortana with Office 365, they must sign into Cortana using a Microsoft account (such as, @outlook.com), and then they must go to the **Connected Accounts** section of Cortana’s notebook to turn on and connect to Office 365. +>**Important**
                  +>Before your employees can use Cortana with Office 365, they must sign into Cortana using a Microsoft account (such as, @outlook.com), and then they must go to the **Connected Accounts** section of Cortana’s notebook to turn on and connect to Office 365. **More info:** From e939beb6f1fd986cc8d2b0e74a1f05029e2d22ea Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 10 Oct 2016 12:18:55 -0700 Subject: [PATCH 69/71] minor fix to change history --- windows/deploy/change-history-for-deploy-windows-10.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/deploy/change-history-for-deploy-windows-10.md b/windows/deploy/change-history-for-deploy-windows-10.md index d5ebe4beb3..f7e67993e5 100644 --- a/windows/deploy/change-history-for-deploy-windows-10.md +++ b/windows/deploy/change-history-for-deploy-windows-10.md @@ -11,6 +11,11 @@ author: greg-lindsay # Change history for Deploy Windows 10 This topic lists new and updated topics in the [Deploy Windows 10](index.md) documentation for [Windows 10 and Windows 10 Mobile](../index.md). +## October 2016 +| New or changed topic | Description | +|----------------------|-------------| +| [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) | New | + ## September 2016 | New or changed topic | Description | |----------------------|-------------| @@ -29,11 +34,6 @@ The topics in this library have been updated for Windows 10, version 1607 (also ======= -## October 2016 -| New or changed topic | Description | -|----------------------|-------------| -| [Resolve Windows 10 upgrade errors](resolve-windows-10-upgrade-errors.md) | New | - ## August 2016 | New or changed topic | Description | |----------------------|-------------| From 4e3fcaff4ce53ffb72c5d22bc86b14b8a429796b Mon Sep 17 00:00:00 2001 From: LizRoss Date: Mon, 10 Oct 2016 12:38:40 -0700 Subject: [PATCH 70/71] Added info about cortana topic update --- .../manage/change-history-for-manage-and-update-windows-10.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/manage/change-history-for-manage-and-update-windows-10.md b/windows/manage/change-history-for-manage-and-update-windows-10.md index 033f598b89..dd5ab0c00c 100644 --- a/windows/manage/change-history-for-manage-and-update-windows-10.md +++ b/windows/manage/change-history-for-manage-and-update-windows-10.md @@ -16,6 +16,7 @@ This topic lists new and updated topics in the [Manage and update Windows 10](in | New or changed topic | Description | | --- | --- | +| [Cortana integration in your business or enterprise](manage-cortana-in-enterprise.md) |Added an important note about Cortana and Office 365 integration. | | [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) | Added link to the Windows Restricted Traffic Limited Functionality Baseline. | ## September 2016 From 438db4e0aad0bcc54f979b740a45b141272e03ba Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 10 Oct 2016 17:00:00 -0700 Subject: [PATCH 71/71] minor fix of link --- windows/deploy/resolve-windows-10-upgrade-errors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deploy/resolve-windows-10-upgrade-errors.md b/windows/deploy/resolve-windows-10-upgrade-errors.md index 9fa10e9da9..8ce1abe2e0 100644 --- a/windows/deploy/resolve-windows-10-upgrade-errors.md +++ b/windows/deploy/resolve-windows-10-upgrade-errors.md @@ -102,7 +102,7 @@ Note: If only a result code is returned, this can be because a tool is being use ### Result codes ->A result code of **0xC1900101** is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
                  To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the [Other error codes](#other-error-codes) section later in this topic. +>A result code of **0xC1900101** is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
                  To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the [Resolution procedures](#resolution-procedures) section later in this topic. Result codes can be matched to the type of error encountered. To match a result code to an error: